JPWO2007015428A1 - 送信装置および送信方法 - Google Patents

送信装置および送信方法 Download PDF

Info

Publication number
JPWO2007015428A1
JPWO2007015428A1 JP2007529237A JP2007529237A JPWO2007015428A1 JP WO2007015428 A1 JPWO2007015428 A1 JP WO2007015428A1 JP 2007529237 A JP2007529237 A JP 2007529237A JP 2007529237 A JP2007529237 A JP 2007529237A JP WO2007015428 A1 JPWO2007015428 A1 JP WO2007015428A1
Authority
JP
Japan
Prior art keywords
transmission
packet
receiving
unit
recipient list
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
JP2007529237A
Other languages
English (en)
Other versions
JP4598073B2 (ja
Inventor
衛一 村本
衛一 村本
孝弘 米田
孝弘 米田
一暢 小西
一暢 小西
志彰 許
志彰 許
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2007015428A1 publication Critical patent/JPWO2007015428A1/ja
Application granted granted Critical
Publication of JP4598073B2 publication Critical patent/JP4598073B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/30Resource management for broadcast services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections

Abstract

本発明は、受信装置の伝送能力や、ネットワークの輻輳状態に適応してマルチメディアデータを伝送することを課題とする。送信装置(100)は、受信者能力推定部(102)が、受信装置(200)からのフィードバック情報に基づいて利用可能な帯域を推定し、受信者クラス分類部(103)が、その利用可能な帯域に基づき受信装置をクラス分類し、受信者リスト並び替え部(105)が分類された受信装置をクラス毎に記載した受信者リストを伝送能力順に並び替え、パケット構成部(106)がその受信者リストを有するパケットを生成し、適切な伝送レートで送信する。

Description

本発明は映像や音声といったマルチメディアデータを高品質に伝送する送信装置および送信方法に関する。
近年、ネットワークの急速な発展に伴って、テレビ会議やネットワークゲームなど、同一のグループに属する複数の受信装置に対してマルチメディアデータを伝送する機会が増大している。その際に、すべての受信装置に対して同一のパケットを効率的に伝送するための通信方法として、マルチキャスト通信が知られている。
送信装置は、マルチメディアデータを配信する受信装置を10人程度のスモールグループに分け、スモールグループごとにマルチキャスト通信を行う。そのマルチキャスト通信方式として、明示的マルチキャスト方式がある。これは、送信装置がグループに属する全受信装置の宛先アドレスを、パケット内のオプションヘッダまたはペイロードに受信者リストとして格納し、パケットを配信する全受信装置を明示的に指定するものである。以降、本発明において単に「パケット」と記述した場合、明示的マルチキャスト方式におけるパケットをいう。
代表的な、明示的マルチキャスト方式として、Explict Multicast(以降、「XCAST」という。)がある(非特許文献1)。
具体的に、明示的マルチキャスト方式によるパケット配信方法を以下に説明する。
明示的マルチキャスト方式に対応したルータは、パケットを受信すると、パケットのオプションヘッダまたはペイロードに格納されたすべての宛先アドレスに対して、自身の持つユニキャスト経路表を検索し、各宛先アドレスに対応した送出インターフェースを調べる。そして、複数の出力インターフェースに対してパケットを送出しなければならない場合、ルータは送出インターフェースの数だけパケットを複製する。その際、ルータは送出インターフェースに含まれる受信装置以外の宛先アドレスをパケットのオプションヘッダ等から削除するか、配送済みのマークを付加する。また、ルータは、IPヘッダに記載された宛先アドレスを未配送の受信装置のアドレスへと書き換える。
一方、明示的マルチキャスト方式に対応していないルータは、パケットに格納された宛先アドレスを参照せずに、IPヘッダに記載された宛先アドレスからユニキャスト経路表を検索する。そして、通常のユニキャスト通信と同様にパケットを送出する。すなわち、明示的マルチキャスト方式に対応していないルータは、マルチキャスト通信を行わない。しかし、明示的マルチキャスト方式に対応している受信装置がこのパケットを受信すると、オプションヘッダに格納された受信者リストを参照する。そして、受信者リストに未配送の宛先アドレスがあった場合、受信装置はパケットを複製し、IPヘッダの宛先アドレスを未配送の宛先アドレスに書き換えて送出する。
以上の方法により、明示的マルチキャスト方式では、経路上のすべてのルータが明示的マルチキャスト方式に対応していなくても、すべての受信装置に対してパケットを配信できた。
図9(a)はこのときの動作を説明する図である。
図9(a)において、送信装置901は受信装置902乃至904へパケットを送信するとき、受信者リストに受信装置902乃至904をこの順序で記載しオプションヘッダに格納する。
ここで、受信装置902、904が日本国にあり、受信装置903が米国にあるとすると、パケットは日本国にある受信装置902から米国の受信装置903へ送付され、さらに、米国にある受信装置903から日本国の受信装置904へ送付されることになる。
このように、受信者リストの宛先アドレスの順番によっては、不効率な配送が行われるという課題があった。
この課題を解決する通信方式として、特許文献1に示すようなものがあった。すなわち、明示的マルチキャスト方式において、パケットを送信する受信者リストを受信装置のアドレスの昇順、降順に並べ替えるというものである。これにより、アドレスの近い受信装置同士が受信者リストで隣接することになり、地理的位置の離れた区間をパケットが往復することを回避することできるとされていた。たとえば、図9(b)において、受信装置902、904は、同一のアドレスの領域からアドレスが割り当てれ、米国にある受信装置は、別のアドレスの領域からアドレスが割り当てられる。このため、送信装置901がアドレス順に受信装置のアドレスを受信者リストに記載すれば、受信装置902の次には受信装置904が記載されることになり、日本国と米国とをパケットが往復するようなことを回避できると考えられた。
しかし、マルチメディアデータを明示的マルチキャスト方式で伝送する場合、ネットワーク上で輻輳が発生すると、受信装置は安定してマルチメディアデータを受信できなくなり、映像や音声の品質が著しく低下してしまう。そのため、輻輳を回避することが重要となる。しかし、明示的マルチキャスト方式では、伝送レート制御が定義されていないため、例え輻輳が発生しても、伝送レートを制御することによって、輻輳を回避することができなかった。
伝送レート制御方法としては、フィードバック情報を用いたTFRC(TCP Friendly RateControl)が知られている(非特許文献2)。このTFRCは、パケットロスが発生するまで伝送レートを上昇させ、パケットロスが発生した場合に伝送レートを下げる処理を行う。これにより、受信装置は適した伝送レートで伝送を行うことができる。
そこで、明示的マルチキャスト方式を用いた通信に、TFRCを利用した伝送レート制御を行うことが検討され、SICC(Sender Initiated Congestion Control)が提案された(非特許文献3)。
図11は、SICCの動作を示すパケット配送図である。
図11において、あらかじめ送信装置は異なる送信レートを割当てたクラスを複数設定する。SICCでは、送信速度の上限B(bps)を設定し、それに対して1/2ずつ減速した1/2クラスと1/4クラスを含む3クラスが設定されている。送信装置は、受信装置をクラスごとに分類し、各クラスに属する受信装置の宛先アドレスをヘッダに格納したパケットをクラスごとに送信する。
受信装置がどのクラスに属するかは、各受信装置の利用可能な帯域によって決定される。すなわち、送信装置は、TFRCの規定による、受信装置から送信装置へフィードバックされる損失イベント率、受信したパケットが送信装置において送信された時間、受信装置が受信できた帯域などの情報を受信し、それらフィードバック情報に基づいて受信装置の利用可能な帯域を推定する。そして、送信装置は、推定した受信装置の利用可能な帯域に基づいて、その帯域を最大限利用できる伝送レートを設定したクラスに受信装置を分類する。
また、送信装置が各受信装置のクラスを分類する処理は、TFRCと同様に受信装置からのフィードバック情報を受信するごとに実施されるので、受信装置をネットワークの状態に合わせて受信装置を利用可能な帯域に適したクラスに動的に分類することができる。このように、受信装置はどこか1つのクラスに分類され、送信装置はクラスごとにパケットを送信するので、受信装置のネットワーク状態に合わせた伝送レート制御が実現できた。
特開2004−120222号公報 Y.Imai,M.Shin and Y.Kim,"XCAST6:eXplict Multicast on IPv6",IEEE/IPSJ SAINT2003 Workshop 4,IPv6 and Applications,Orland,Jan.2003. M.Handley et al.,"TCP Friendly Rate Control(TFRC):Protocol Specification",RFC 3448、インターネット<URL:http://www.faqs.org/rfcs/rfc3448.html> 村本 衛一、米田 孝弘、鈴木 史章、鈴木良宏、中村 敦司、"送信者起動マルチキャストにおける輻輳制御方法の提案"、インターネットコンファレンス 2003論文集pp5−10,2003/10
(発明が解決しようとする課題)
しかしながら、従来の方式では、伝送能力の低い受信装置が受信者リストの上位に位置する場合、それ以降にある、伝送能力が高い受信装置に悪影響を与えるという課題を有していた。
図10(a)は、このときの動作を説明する図である。
図10(a)において、送信装置901は受信装置902乃至904へパケットを送信するとき、受信者リストに受信装置902、受信装置904、そして、受信装置903の順序で記載しオプションヘッダに格納する。このとき、受信装置902のアクセスラインが低速、たとえば64kbpsであり、受信装置904のアクセスラインが高速、たとえば100Mbpsであった場合、送信装置901から送出された1Mbpsのストリームが送出されると、受信装置902のアクセスラインでパケットロスが発生する。そして、受信装置902以降に配送されるデータは、受信装置902が受信できたデータに限られるので、受信装置904は伝送能力があってもパケットの欠落したデータしか受信することができなかった。
また、パケットの欠落した受信装置902の伝送能力に合わせてTRFCに基づく伝送制御が行われるので、受信者リストにおいて受信装置902より下位に位置する受信装置は、たとえ伝送能力が高くても低い伝送帯域で通信していた。
さらに、図10(b)に示すように、受信装置902が下位クラスに属し、受信装置903、904が上位クラスに分類されていても、伝送能力の高い受信装置904が一時的なネットワークの輻輳によって、伝送能力の低いクラスに分類されることがある。この場合、伝送能力の本来高い受信装置904が下位クラスに属する伝送能力の自己よりも低い受信装置902の後に位置づけられると、受信装置904は、ネットワークの輻輳状態が回復しても、伝送能力の低い受信装置902の影響を受けて、上位のクラスに上がることができないという課題を有していた。
本発明は、受信者リスト上にある伝送能力の低い受信装置が、伝送能力の自己よりも高い受信装置に悪影響を与えることがない、明示的マルチキャスト方式の通信を可能にする送信装置を提供することを目的とする。
(課題を解決するための手段)
本発明に係る送信装置は、SICCによる通信を行い、受信者リストを用いてパケットを配送する前に、この受信者リストを受信装置の伝送能力にしたがって並べ替える機能を有するものである。
具体的には、受信装置からのフィードバック情報に基づき利用可能な帯域を推定し、この利用可能な帯域に基づき受信者リストを並べなおすことにより、伝送能力の高い受信装置はネットワークの輻輳状態が回復しても、伝送能力の低い受信装置の影響を受けないという課題を解決する。
本発明に係る送信装置は、ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、受信装置から受信した伝送能力に基づき、前記受信者リストに記載された前記配送順序を並び替える受信者リスト並び替え部を備えている。
また、本発明に係る送信装置は、ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、受信装置から受信した伝送能力に関する情報から、当該受信装置の利用可能な帯域を推定する受信者能力推定部と、利用可能な帯域に基づき、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替える受信者リスト並び替え部とを備えている。
この場合、本発明に係る送信装置は、受信者リストを用いてネットワークに接続された複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えたものであって、受信装置から受信した伝送能力に関する情報から当該受信装置の利用可能な帯域を推定する受信者能力推定部と、利用可能な帯域に基づき受信装置を伝送能力別にクラス分類する受信者クラス分類部と、利用可能な帯域の高い順にクラスごとに受信者リストに記載された配送順序を並び替える受信者リスト並び替え部とを備えてもよい。
これにより、送信されたパケットは、伝送能力の高い受信装置から低い受信装置へ順番に転送されるので、次に伝送される受信装置が自己よりも低い伝送能力の受信装置の影響を受けて、自己の伝送能力より低い送信レートでパケットを受信しなくてはならないことを防止できる。
また、本発明に係る送信装置は、受信者リスト並び替え部が、受信部で受信した伝送能力に関する情報に基づいて配列順序を並び替えるものである。
これにより、受信装置が計測した情報をそのまま使用するので、推定の働かない伝送能力判定が可能になる。
また、本発明に係る送信装置は、受信装置の伝送速度を計測するための計測用パケットを受信装置へピアツーピアで送信する計測部をさらに有し、受信者能力推定部が、計測用パケットに対する応答パケットに記載された伝送能力に関する情報に基づいて、当該受信装置の利用可能な帯域を推定し、受信者クラス分類部が利用可能な帯域に基づき受信装置を伝送能力別にクラス分類し、受信者リスト並び替え部が利用可能な帯域の高い順にクラスごとに受信者リストに記載された配送順序を並び替える。
これにより、送信装置は、配送順位による伝送速度の影響を受けない、受信装置本来の伝送能力を知ることができるので、配送順序を正確に決定することが可能になる。
また、本発明に係る送信装置が受信装置から取得する伝送能力に関する情報は、受信装置の測定した損失イベント率と、当該送信装置からパケットが送信された時刻と、受信装置の受信できた実効レートとの少なくともいずれか一つである。
これにより、送信装置はこれらの情報に基づいて配送順序を並べ替えることが可能になる。
また、本発明に係る送信装置の受信者能力推定部は、当該送信装置からパケットが送信された時刻と受信装置からのパケットを受信した時刻から求めたラウンドトリップタイムをさらに用いて利用可能な帯域を推定するものである。
これにより、送信装置は、パケット間隔が帯域の逆数に比例することを利用する方式に基づいた最大送信速度の推定技術を利用することが可能になり、その推定帯域を用いて配送順序を並べ替えることができる。なお、パケット間隔が帯域の逆数に比例することを利用する方式は、文献、
B. Carter, ”Bprobe and cprobe,” http://cs-people.bu.edu/carter/tools/Tools.html, 1996.で規定されるPacket paier 計測手法、あるいはPacket train 計測手法などがある。
また、本発明に係る送信装置の取得する伝送能力に関する情報は、受信装置が測定した損失イベント率と、当該送信装置からパケットが送信された時刻と、受信装置が受信できた実効レートとを有するものであって、受信者リスト並び替え部が、当該送信装置からパケットが送信された時刻と受信装置からのパケットを受信した時刻から求めたラウンドトリップタイムを利用して配列順序を並び替えるものである。
これにより、送信装置はTFRCの規定に基づいた伝送制御用パケットを利用することが可能であり、TFRCの帯域推定式に基づいて帯域を推定し、この帯域順に配送順序を並べ替えることができる。
また、本発明に係る送信装置の受信者リスト並び替え部は、受信者クラス分類部が受信装置をクラス分類した時点から所定時間経過した場合、当該受信装置が記載された受信者リストの最後尾に配送順位を移動させるものである。
これにより、受信者リストの下位の受信装置が上位にシフトするので、下位にあった受信装置は、上位に位置する他の受信装置による速度制限を受けることなしにクラス変更が可能になる。
本発明に係る送信方法は、ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、送信装置が、受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、伝送能力に関する情報に基づき、複数の受信装置の配送順序を並び替えるステップと、受信者リストを付加したパケットを前記受信者リストに従ってユニキャスト経由で送信するステップとを有する。
また、本発明に係る送信方法は、ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、伝送能力に関する情報から受信装置の利用可能な帯域を推定するステップと、利用可能な帯域に基づき、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替えるステップと、受信者リストを付加したパケットを送信するステップとを有する。
この場合、本発明に係る送信方法は、ネットワークに接続された複数の受信装置に同一パケットをユニキャスト経路で配送するものであって、受信装置からパケットを受信する伝送能力に関する情報を受信し、その情報から受信装置の利用可能な帯域を推定する。そして、利用可能な帯域に基づき受信装置をクラス分類し、クラス毎の受信者リストに登録する。その後、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替えて、受信者リストを付加してパケットを送信してもよい。
これにより、送信装置から送信されたパケットは、伝送能力の高い受信装置から低い受信装置へ順番に転送されるので、次に伝送される受信装置が自己よりも低い伝送能力の受信装置の影響を受けて、自己の伝送能力より低い伝送レートでパケットを受信するようになることを防止できる。
(発明の効果)
本発明の送信装置は、受信者リスト上にある伝送能力の低い受信装置が、伝送能力の自己よりも高い受信装置に悪影響を与えない、明示的マルチキャスト方式の通信を可能にする。
本発明の実施の形態1における送信装置の構成を示すブロック図 本発明の実施の形態1における受信者レポートパケットのデータフォーマットを示す図 本発明の実施の形態1における受信者リストのデータ構造を示す図 本発明の実施の形態2における受信者リストのデータ構造を示す図 本発明の実施の形態1における送信装置の初期計測動作を示すフロー図 本発明の実施の形態1における送信装置の伝送制御処理を示すフロー図 本発明の実施の形態1における送信装置の送信レート計測処理を示すフロー図 本発明の実施の形態2における送信装置の送信レート計測処理を示すフロー図 従来の明示的マルチキャスト方式のパケット配送を示す図 従来の明示的マルチキャスト方式のパケット配送を示す図 従来のSICCの動作を示すパケット配送図
符号の説明
101 受信部
102 受信者能力推定部
103 受信者クラス分類部
104 クラス別受信者記憶部
105 受信者リスト並び替え部
106 パケット構成部
107 送信レート制御部
108 送信部
109 配送管理部
110 アプリケーション部
901 送信装置
902,903,904 受信装置
以下、本発明の実施の形態について、図面を参照しつつ説明する。
(実施の形態1)
図1は、本発明の実施の形態におけるSICCを用いた通信を行う送信装置の構成を示す図である。
図1において、アプリケーション部110は送信装置100の有するアプリケーションを実施するものであり、受信部101はパケットを受信し、ペイロードをアプリケーション部110へ送出する。また、受信部101は、例えば、受信装置200から受信者レポートパケットを受信し、フィードバック情報を抽出する。図2はこの受信者レポートパケットのデータフォーマットを示す図である。
図2において、送信装置からパケットが送信された時刻(以下、「送信元送信時刻」という。)201と、受信装置が受信できた実効レート202と、受信装置が測定した損失イベント率203とがフィードバック情報である。
受信者能力推定部102は、受信部101から受け取ったフィードバック情報に、TFRCで定義されている帯域推定方式を用いて受信装置の伝送能力を推定するものである。
受信者クラス分類部103は、受信能力推定部102が推定した受信装置の伝送能力とあらかじめ規定している伝送速度とを比較して、受信装置の属するクラスを決定し、クラス別受信者記憶部104に記録する。本実施の形態においては、送信装置100の最大送信速度B(bps)を設定し、B/2(bps)とB/4(bps)を閾値とするクラス1乃至クラス3の3つに分ける。そして、それぞれのクラスごとに受信者リストを作成する。
図3は受信者リストのデータ構造を示す図である。図3において、受信装置の宛先アドレス301と、その受信装置の最大送信レート302とが、送信順に記録される。
受信者リスト並び替え部105は、指定されたクラスの受信者リストを受信装置の能力の高い順に並べ替えるものである。具体的には、受信者リスト並べ替え部105は、クラス別受信者記憶部104に記憶されている受信者リストを読み出し、最大送信レート302の大きいものから順に受信装置のアドレス301を並べ替える。そして、受信者リスト並べ替え部105は、クラス別受信者記憶部104に更新された受信者リストを書き込む。
パケット構成部106は、明示的マルチキャスト方式のパケットヘッダを構成するものであり、受信者リストをこのヘッダのオプションヘッダまたはペイロードに格納する。この送信パケットのフォーマットは特開平6−326713号公報や特開2000−354063号公報で定義される形式や、特開平10−98464号公報で定義される形式、あるいは特開2001−7835号公報や文献L. Aguilar, "Datagram Routing for Internet Multicasting", Sigcomm84, March 1984で示される形式のように、オプションヘッダにIPアドレスを併記するものを利用する。また、アプリケーション部110から受け取った受信装置へ送信すべきコンテンツをペイロードに記録する。
送信レート制御部107は、パケットを送出するタイミングを制御するものであり、受信者リストのクラスに応じて、パケットを送出する時間間隔を制御する。
送信部108は、送信レート制御部107から指定されたタイミングでパケットを送信するものである。送信部108は、パケットの配送する機能を有する。
配送管理部109は、明示的マルチキャストを行うための受信者リストを初期化したり、定期的に更新するために、受信者クラス分類部103やパケット構成部106や送信レート制御部107に指示するものである。
なお、パケット構成部106と配送管理部109とは本発明にかかる計測部1001に相当する。計測部1001は、受信装置の伝送速度を計測するための計測用パケットを受信装置へピアツーピアで送信する。なお、計測用パケットは、例えば、独立のパケットとしてもよし、あるいは、アプリケーションのパケットのヘッダにフラグ(計測用パケットに関するもの)を付して適用してもよい。つまり、アプリケーションのパケットが、計測用パケットを兼ねるようにしてもよい。アプリケーションのパケットは、アプリケーション部110からパケット構成部106を経由して送付される。
次に、本実施の形態にかかる送信装置の動作・作用について図面を用いて説明する。図5は、本発明にかかる送信装置の初期計測動作を示すフロー図である。
図5において、まず、配送管理部109は、受信者クラス分類部103に初期計測処理の開始を指示し、受信者クラス分類部103が送信先として登録済みのすべての受信装置を最下位のクラス1に登録する(ステップS501)。このとき作成される受信者リストには、受信装置の宛先アドレスが昇順あるいは降順に並べてられる。また、配送管理部109は、受信者能力推定部102に初期計測を開始することを通知する。また、配送管理部109は、送信レート制御部107に初期の送信レートとして、例えば、8s/GRTT(bit/秒)を設定し、スロースタートの開始を指示する。なお、GRTT(秒)は、最大ラウンドトリップタイムを示し、sはパケットサイズ(byte)を示す。さらに、配送管理部109は、パケット構成部106に初期計測用パケットの生成を指示し、生成された初期計測用パケットが送信部108へ送出される。この初期計測用パケットは、上記した文献B. Carter, ”Bprobe and cprobe,” で規定されるPacket paier 計測手法あるいはPacket train 計測手法のようにパケット間隔が帯域の逆数に比例することを利用する方式を用いる。また、文献S. M. Bellovin, ”A Best-Case Network Performance Model,” http://www.research.att.com/smb/papers/netmeas.pdf, February 1992.で規定される時刻同期したホスト間でのパケット転送により帯域を推定する方式や文献RFC3448で規定されるTFRCによる帯域推定で用いられるものと同等のものを使用する。送信部108は、送信制御部107からの送信タイミングの通知を受けて受信装置へ初期計測用パケットを送信する。
次に、送信レート制御部107は、GRTT秒が経過する毎に、送信レートを8s/GRTT(bit/秒)ずつ増加させて、送信部108へ送信のタイミングを通知する(ステップS502)。
次に、受信部101は、NAKパケットを受信すると、受信者能力推定部402に通知する(ステップS503)。受信者能力推定部402は、初期計測中であるので、そのときの送信レートを送信レート制御部107へ問い合わせる。そして、受信者能力推定部402は、このときの送信レートを、NAKパケットの送信元である受信装置の最大送信レートと決定する。また、受信者能力推定部402は、送信元受信装置のアドレスと最大送信レートを受信者クラス分類部103へ通知する。受信者クラス分類部403はこれを受けて、クラス別受信者記憶部104の該当クラスの受信者リストに通知されたアドレスを登録する(ステップS504)。また、分類先クラスが最下位のクラス1でない場合は、クラス1の受信者リストから該当のアドレスを削除する。
次に、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。受信者リスト並べ替え部105はこれを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS505)。
一方、ステップS503において、受信部101がNAKパケットを受信しない間は、送信レート制御部107が送信レートを更新し続ける(ステップS503、S504)。
次に、受信者クラス分類部103は、クラス1の受信者リストに初期設定した受信装置の内で、最大送信レート302が未登録の受信装置があるか否かをチェックする(ステップS506)。最大送信レート302が未登録の受信装置がある場合は、ステップS502へ戻り、なくなった場合は、配送管理部109にこの初期計測処理の終了を通知する。配送管理部109は、これを受けて、パケット構成部106、送信レート制御部107、および受信者能力推定部102に初期計測処理の終了を通知する。
このように、送信装置は、受信装置の初期のクラス分類において、受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消できる。
次に、送信装置が通常のコンテンツをパケット送信したときに行う、TFRCの規定に基づく伝送制御処理を以下に説明する。
図6は、本実施の形態における送信装置が行う伝送制御処理を示すフロー図である。
図6において、受信部101はパケットを受信すると、受信者レポートが含まれているか否かをチェックする(ステップS601)。
受信者レポートが含まれていない場合、受信部101はペイロードを取り出し、アプリケーション部110へ引き渡して待機状態に戻る。
一方、受信レポートが含まれていた場合、受信部101は、フィードバック情報を送信元受信装置のアドレスとともに受信者能力推定部102へ通知する。受信者能力推定部102はこれを受けて、TFRCで規定される算出式である(式1)に基づいて最大送信速度を求める(ステップS602)。そして、受信者能力推定部102は求めた最大送信速度(すなわち、利用可能な帯域)と送信元受信装置のアドレスとを受信者クラス分類部103に通知する。
Figure 2007015428
ただし、R:ラウンドトリップタイム(秒)、p:損失イベント率、s:パケットサイズ(byte)、b:TCPの肯定応答単位、T_RTO:TCPのタイムアウト値(=4×R)を示す。
なお、(式1)で用いるラウンドトリップタイムは、フィードバック情報に含まれる送信元送信時刻201と受信レポートパケットを受信した時刻から求められる。
次に、受信者クラス分類部103はクラス別受信者記憶部104から該当する宛先アドレス301の最大送信レート302を読み出し、受信者能力推定部102から通知された最大送信速度と比較する。そして、登録されていた最大送信レートが通知された最大送信速度より大きい場合、受信者クラス分類部103は最大送信レートをそのまま維持する。これは、今回の最大送信速度が自己のアクセスライン等が原因で遅くなったのではなく、自己よりも前に配送された受信装置のアクセスライン等により遅くなっている可能性があるからである。
一方、通知された最大送信速度が、登録されていた最大送信レートより大きい場合、最大送信レートを通知された最大送信速度に置き換える(ステップS603)。
さらに、受信者クラス分類部103は新たな最大送信レートと、クラス分けの閾値とを比較し、該当するクラスに登録変更する(ステップS604)。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS605)。
このように、送信装置は通常の通信において、受信装置の所属クラスを変更したときに受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消することができる。
次に、送信装置が定期的に行う送信レートの計測処理について以下に説明する。
図7は、本実施の形態に係る送信装置の送信レート計測処理を示すフロー図である。なお、この送信レート計測処理は、クラス毎に行われる。
図7において、まず、配送管理部109は、初期計測処理が終了した後、所定時間毎に(ステップS701)、パケット構成部106と受信者クラス分類部103に送信レート計測処理の開始を指示する。パケット構成部106は、これを受けて、帯域計測用パケットを生成する。このとき、パケット構成部106は、クラス別受信者記憶部104からクラス単位で受信者リストを読み出し、登録されている宛先アドレスを宛先にした帯域計測用パケットを複製し、送信部108へ順次送出する。また、パケット構成部106は、送信レート制御部107へ送信先のクラスを通知する。送信レート制御部107は、これを受けて、通知されたクラスの送信レートで、送信部108にタイミングを通知する。送信部108は、通知されたタイミングで帯域計測用パケットを受信装置へ送信する。このときの送信方法は、送信装置から各受信装置へのピアツーピアの通信となる(ステップS702)。
次に、受信部101は、パケットを受信すると、受信者レポートが含まれているか否かをチェックする(ステップS703)。
受信者レポートが含まれていない場合、受信部101はペイロードを取り出し、アプリケーション部110へ引き渡して待機状態に戻る。
一方、受信レポートが含まれていた場合、受信部101は、フィードバック情報を送信元受信装置のアドレスとともに受信者能力推定部102へ通知する。受信者能力推定部102はこれを受けて、(式1)に基づいて最大送信速度を求める(ステップS704)。そして、受信者能力推定部102は求めた最大送信速度と送信元受信装置のアドレスとを受信者クラス分類部103に通知する。
次に、受信者クラス分類部103は、現在、送信レート計測処理中であることを認識しているので、クラス別受信者記憶部104の受信者リストに登録されている該当する宛先アドレス301の最大送信レート302を、通知された最大送信速度に置き換える(ステップS705)。
さらに、受信者クラス分類部103は、新たな最大送信レートとクラス分けの閾値とを比較し、該当するクラスに登録変更する(ステップS706)。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。逆に、受信装置の能力が定められた閾値より下がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、下位のクラスの受信者リストに追加する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS707)。
次に、受信者クラス分類部103は、登録されているすべての受信装置から帯域計測用パケットに応答した受信者レポートを受信したか否かをチェックし(ステップS708)、受信していなければステップS703に戻り、受信レポートの受信を待つ。
一方、すべての受信装置から受信者レポートを受信した場合は処理を終了する。
このようにして、送信装置は定期的に受信装置の最大送信レートを、それぞれ独立して計測して受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消することができる。
なお、本実施の形態の常時行う伝送制御処理や、定期的に行う送信レート計測処理において、受信者リスト並び替え部105は、受信者能力推定部102が(式1)により求めた最大送信速度に基づいて並べ替えたが、これに限らず、フィードバック情報の実効レートや損出イベント率やラウンドトリップタイムのいずれか一つのみを基準に並べ替えることも可能である。あるいは、(式1)以外の算出式による、これらフィードバック情報を組み合わせて算出する数値を用いることもできる。
また、受信者リスト並び替え部105は、受信者能力推定部102において(式1)により求められた最大送信速度およびそれ以外の情報(伝送能力に関する情報)に基づき、受信者リスト中の配送順序を並べ替えてもよい。それ以外の情報としては、例えば、フィードバック情報の実効レート、損出イベント率、ラウンドトリップタイム、受信端末の機種に固有の情報またはこれらの任意の2つ以上を組み合わせたものがある。
受信端末の機種に固有の情報(受信端末の機種固有情報)としては、例えば、受信端末のメーカ名、受信端末の機種、受信端末の画面サイズ、受信端末のネットワークインターフェイス種別があげられる。
受信者リスト並び替え部105は、受信端末の機種に固有の情報が一致する場合、受信者能力推定部102において(式1)により求められた最大送信速度に基づいて受信者リストを並べる。つまり、受信者リスト並び替え部105は、まず、受信端末の機種に固有の情報に基づき受信端末(受信者)をクラス分類する。例えば、同じ機種の受信端末同士が、同じクラス分類となる。
そして、受信者リスト並び替え部105は、同クラスに属する受信端末の中で、受信者能力推定部102において(式1)により求められた最大送信速度に基づき、それらの受信端末の配送順序を並べ替える。受信者リスト並び替え部105は、例えば、最大送信速度が最大値となる受信端末を、第1番目の配送順序にする。
あるいは、受信者リスト並び替え部105は、上記最大送信速度に基づき、受信者リストの配列順序を並べた後、受信端末の機種固有の情報に基づいて、さらに、受信者リストの配送順序を並び替えてもよい。例えば、受信者リスト並び替え部105は、受信者リスト(図3参照)中で隣接(上下)する2台の受信端末に関して、最大送信速度の差分が一定値(あらかじめ設定)以下であれば、受信端末の画面サイズの大きさ順(例えば大きい順)に並べ替えてもよい。あるいは、受信者リスト並び替え部105は、受信端末のメーカ名または受信端末の機種の情報に基づき、例えば、あらかじめ指定されたメーカ名または機種をもつ受信端末を上位にしてもよい。
なお、送信端末は、セッション開始時、セッションの途中における受信端末と送信端末との直接通信時、あるいは、特定のサーバ(例えばセッションの呼制御を行うサーバ)経由で、受信端末の機種に固有の情報を取得することができる。
また、本実施の形態の初期計測処理においては、スロースタートにより求めた最大送信レートに基づいて、受信者リストの受信装置を並べ替えたが、これに限らず、送信装置とそれぞれの受信装置との間のラウンドトリップタイムや実効レートや経路上のホップ数(ルータの数)を測定し、この測定値を用いて受信装置を並び替えることも可能である。あるいは、予め定められた順序を受信装置の能力順として静的に定義し、この予め定められた順序を用いて受信者リストを並び変えてもよい。
以上のように本発明によれば、パケットの配信順序が伝送能力の低い受信装置が伝送能力の高い受信装置より先に位置づけられることによって、伝送能力の低い受信装置のところでパケットが欠落し、結果として、伝送能力の高い受信装置にパケットが配送されないことを防止できる。また、伝送能力の高い受信装置が、一時的なネットワークの輻輳によって低いクラスに分類されてしまった場合においても、定期的に行う送信レート計測処理により受信装置の最大送信速度が更新できるので、ネットワークの輻輳が回復した場合は、伝送能力の高い受信装置が上位のクラスに上がることができるので、適正な伝送レート制御を実現することができる。
なお、実施の形態1における送信装置は、受信者クラス分類部103により、受信装置の属するクラスを決定する場合について説明したが、クラスの決定をせずに、受信者リストの配送順序を並び替えてもよい。この場合、受信者リスト並び替え部105(送信装置)は、受信者能力推定部102で推定された受信装置の利用可能な帯域に基づき受信者リスト中の配送順序を、その帯域の高い順に並び替えてもよい。このようにしても、伝送能力の高い受信装置順にパケットが配送されることとなるので、適正な伝送レート制御を実現することができる。
また、実施の形態1における送信装置は、受信装置の最大伝送速度またはこれと受信装置の伝送能力の組み合わせに基づき、受信者リストの配送順序を並び替える場合について説明したが、受信装置から受信した伝送能力のみに基づき、受信者リストの配送順序を並び替えてもよい。この場合、受信者リスト並び替え部105は、受信部101で受信装置から受信された伝送能力(フィードバック情報の実効レート、損出イベント率、ラウンドトリップタイムなど)のみに基づき、受信者リスト中の配送順序(例えば、実効レートの高い順、損出イベント率の小さい順、ラウンドトリップタイムの長い順)を並び替えてもよい。
(実施の形態2)
本実施の形態における送信装置は、受信装置が所属するクラスを更新してから現時点までの経過時間に基づいて、その受信装置の属する受信者リストの並び替えをさらに行う点が、実施の形態1と異なる。
本実施の形態における送信装置の構成は、図1に示したブロック図と同一であるが、クラス別受信者記憶部104内の受信者リストのデータ構造、および受信者クラス分類部103と受信者リスト並び替え部105の機能が実施の形態1のものと異なる。これらの異なる点について、以下に説明する。
図4はクラス別受信者記憶部104に記憶される受信者リストのデータ構造を示す図である。
図4において、受信者リストは受信装置の宛先アドレス301と、その受信装置の送信レート302と、受信装置が所属するクラスを更新した時刻を示すクラス更新時刻401とからなり、最大送信レートの大きい順に記録される。
また、受信者クラス分類部103は、受信者レポートに基づき受信装置を3クラスに分類し受信者リストに登録するが、さらに、上位のクラスに登録を変更したとき、その時点の時刻を受信者リストのクラス更新時刻401に記録する。
また、受信者リスト並び替え部105は、実施の形態1で示した機能に加え、さらに、前回の上位クラスへの登録変更から現時点までの経過時間に基づいて、受信者リストの並び換えを行う。
以上のように構成された送信装置について、以下に受信者リストの更新動作と、その作用を説明する。なお、初期計測動作と定期的に行う送信レート計測動作については、受信者クラス分類部103が受信者リストのクラス更新時刻401に登録時の時刻を記録する以外は実施の形態1と同一である。
図8は、本実施の形態における送信装置の定期的に行う送信レート計測処理を示す。
図8において、ステップS801乃至ステップS803は、実施の形態1の図6に示したステップS601乃至ステップS603と同一である。
その後、受信者クラス分類部103は、新たな最大送信レートと、クラス分けの閾値とを比較し(ステップS804)、該当するクラスに登録変更する。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。このとき、受信者クラス分類部103は、受信者リストのクラス更新時刻401に現在の時刻を記録する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS805)。
一方、ステップS804において、受信者クラス分類部103がクラスの変更を不要と判断した場合、その判断結果を受信者リスト並び替え部105に通知する。
次に、受信者リスト並び替え部105は、クラス別受信者記憶部104に記憶されている受信者リストを参照し、送信元受信装置のクラス更新時刻401を読み出す。そして、そのクラス更新時刻と現在の時間とから経過時間を算出し、あらかじめ規定した時間を超えているか否かを判断する(ステップS806)。規定の時間を超えている場合は、その受信装置を該当の受信者リストの最後尾に登録変更し(ステップS807)、超えていない場合はステップS805へ処理を移行する。
このように、送信装置は通常の通信において規定時間以上クラス変更を行っていない受信装置を受信者リストの最後尾に移動させるので、下位の受信装置が上位にシフトする。そのため、下位にあった受信装置は、明示的マルチキャストを行ったときに生じる、上位に位置する他の受信装置による速度制限を受けなくなり、伝送能力の高い受信装置の順にパケットを配送することが可能になる。
本発明は、明示的マルチキャスト方式によるデータ送信を行う送信装置等に有用であり、パケットの配送順による受信装置の速度制限を解消するのに適している。
本発明は映像や音声といったマルチメディアデータを高品質に伝送する送信装置、および送信方法に関する。
近年、ネットワークの急速な発展に伴って、テレビ会議やネットワークゲームなど、同一のグループに属する複数の受信装置に対してマルチメディアデータを伝送する機会が増大している。その際に、すべての受信装置に対して同一のパケットを効率的に伝送するための通信方法として、マルチキャスト通信が知られている。
送信装置は、マルチメディアデータを配信する受信装置を10人程度のスモールグループに分け、スモールグループごとにマルチキャスト通信を行う。そのマルチキャスト通信方式として、明示的マルチキャスト方式がある。これは、送信装置がグループに属する全受信装置の宛先アドレスを、パケット内のオプションヘッダまたはペイロードに受信者リストとして格納し、パケットを配信する全受信装置を明示的に指定するものである。以降、本発明において単に「パケット」と記述した場合、明示的マルチキャスト方式におけるパケットをいう。
代表的な、明示的マルチキャスト方式として、Explicit Multicast(以降、「XCAST」という。)がある(非特許文献1)。
具体的に、明示的マルチキャスト方式によるパケット配信方法を以下に説明する。
明示的マルチキャスト方式に対応したルータは、パケットを受信すると、パケットのオプションヘッダまたはペイロードに格納されたすべての宛先アドレスに対して、自身の持つユニキャスト経路表を検索し、各宛先アドレスに対応した送出インターフェースを調べる。そして、複数の出力インターフェースに対してパケットを送出しなければならない場合、ルータは送出インターフェースの数だけパケットを複製する。その際、ルータは送出インターフェースに含まれる受信装置以外の宛先アドレスをパケットのオプションヘッダ等から削除するか、配送済みのマークを付加する。また、ルータは、IPヘッダに記載された宛先アドレスを未配送の受信装置のアドレスへと書き換える。
一方、明示的マルチキャスト方式に対応していないルータは、パケットに格納された宛先アドレスを参照せずに、IPヘッダに記載された宛先アドレスからユニキャスト経路表を検索する。そして、通常のユニキャスト通信と同様にパケットを送出する。すなわち、明示的マルチキャスト方式に対応していないルータは、マルチキャスト通信を行わない。しかし、明示的マルチキャスト方式に対応している受信装置がこのパケットを受信すると、オプションヘッダに格納された受信者リストを参照する。そして、受信者リストに未配送の宛先アドレスがあった場合、受信装置はパケットを複製し、IPヘッダの宛先アドレスを未配送の宛先アドレスに書き換えて送出する。
以上の方法により、明示的マルチキャスト方式では、経路上のすべてのルータが明示的マルチキャスト方式に対応していなくても、すべての受信装置に対してパケットを配信できた。
図9(a)はこのときの動作を説明する図である。
図9(a)において、送信装置901は受信装置902乃至904へパケットを送信するとき、受信者リストに受信装置902乃至904をこの順序で記載しオプションヘッダに格納する。
ここで、受信装置902、904が日本国にあり、受信装置903が米国にあるとすると、パケットは日本国にある受信装置902から米国の受信装置903へ送付され、さらに、米国にある受信装置903から日本国の受信装置904へ送付されることになる。
このように、受信者リストの宛先アドレスの順番によっては、不効率な配送が行われるという課題があった。
この課題を解決する通信方式として、特許文献1に示すようなものがあった。すなわち、明示的マルチキャスト方式において、パケットを送信する受信者リストを受信装置のアドレスの昇順、降順に並べ替えるというものである。これにより、アドレスの近い受信装置同士が受信者リストで隣接することになり、地理的位置の離れた区間をパケットが往復することを回避することできるとされていた。たとえば、図9(b)において、受信装置902、904は、同一のアドレスの領域からアドレスが割り当てれ、米国にある受信装置は、別のアドレスの領域からアドレスが割り当てられる。このため、送信装置901がアドレス順に受信装置のアドレスを受信者リストに記載すれば、受信装置902の次には受信装置904が記載されることになり、日本国と米国とをパケットが往復するようなことを回避できると考えられた。
しかし、マルチメディアデータを明示的マルチキャスト方式で伝送する場合、ネットワーク上で輻輳が発生すると、受信装置は安定してマルチメディアデータを受信できなくなり、映像や音声の品質が著しく低下してしまう。そのため、輻輳を回避することが重要となる。しかし、明示的マルチキャスト方式では、伝送レート制御が定義されていないため、例え輻輳が発生しても、伝送レートを制御することによって、輻輳を回避することができなかった。
伝送レート制御方法としては、フィードバック情報を用いたTFRC(TCP Friendly Rate Control)が知られている(非特許文献2)。このTFRCは、パケットロスが発生するまで伝送レートを上昇させ、パケットロスが発生した場合に伝送レートを下げる処理を行う。これにより、受信装置は適した伝送レートで伝送を行うことができる。
そこで、明示的マルチキャスト方式を用いた通信に、TFRCを利用した伝送レート制御を行うことが検討され、SICC(Sender Initiated Congestion Control)が提案された(非特許文献3)。
図11は、SICCの動作を示すパケット配送図である。
図11において、あらかじめ送信装置は異なる送信レートを割当てたクラスを複数設定する。SICCでは、送信速度の上限B(bps)を設定し、それに対して1/2ずつ減速した1/2クラスと1/4クラスを含む3クラスが設定されている。送信装置は、受信装置をクラスごとに分類し、各クラスに属する受信装置の宛先アドレスをヘッダに格納したパケットをクラスごとに送信する。
受信装置がどのクラスに属するかは、各受信装置の利用可能な帯域によって決定される。すなわち、送信装置は、TFRCの規定による、受信装置から送信装置へフィードバックされる損失イベント率、受信したパケットが送信装置において送信された時間、受信装置が受信できた帯域などの情報を受信し、それらフィードバック情報に基づいて受信装置の利用可能な帯域を推定する。そして、送信装置は、推定した受信装置の利用可能な帯域に基づいて、その帯域を最大限利用できる伝送レートを設定したクラスに受信装置を分類する。
また、送信装置が各受信装置のクラスを分類する処理は、TFRCと同様に受信装置からのフィードバック情報を受信するごとに実施されるので、受信装置をネットワークの状態に合わせて受信装置を利用可能な帯域に適したクラスに動的に分類することができる。このように、受信装置はどこか1つのクラスに分類され、送信装置はクラスごとにパケットを送信するので、受信装置のネットワーク状態に合わせた伝送レート制御が実現できた。
特開2004−120222号公報 Y.Imai,M.Shin and Y.Kim,"XCAST6:eXplict Multicast on IPv6",IEEE/IPSJ SAINT2003 Workshop 4,IPv6 and Applications,Orland,Jan.2003. M.Handley et al.,"TCP Friendly Rate Control(TFRC):Protocol Specification",RFC 3448、インターネット<URL:http://www.faqs.org/rfcs/rfc3448.html> 村本 衛一、米田 孝弘、鈴木 史章、鈴木良宏、中村 敦司、"送信者起動マルチキャストにおける輻輳制御方法の提案"、インターネットコンファレンス 2003論文集pp5−10,2003/10
しかしながら、従来の方式では、伝送能力の低い受信装置が受信者リストの上位に位置する場合、それ以降にある、伝送能力が高い受信装置に悪影響を与えるという課題を有していた。
図10(a)は、このときの動作を説明する図である。
図10(a)において、送信装置901は受信装置902乃至904へパケットを送信するとき、受信者リストに受信装置902、受信装置904、そして、受信装置903の順序で記載しオプションヘッダに格納する。このとき、受信装置902のアクセスラインが低速、たとえば64kbpsであり、受信装置904のアクセスラインが高速、たとえば100Mbpsであった場合、送信装置901から送出された1Mbpsのストリームが送出されると、受信装置902のアクセスラインでパケットロスが発生する。そして、受信装置902以降に配送されるデータは、受信装置902が受信できたデータに限られるので、受信装置904は伝送能力があってもパケットの欠落したデータしか受信することができなかった。
また、パケットの欠落した受信装置902の伝送能力に合わせてTRFCに基づく伝送制御が行われるので、受信者リストにおいて受信装置902より下位に位置する受信装置は、たとえ伝送能力が高くても低い伝送帯域で通信していた。
さらに、図10(b)に示すように、受信装置902が下位クラスに属し、受信装置903、904が上位クラスに分類されていても、伝送能力の高い受信装置904が一時的なネットワークの輻輳によって、伝送能力の低いクラスに分類されることがある。この場合、伝送能力の本来高い受信装置904が下位クラスに属する伝送能力の自己よりも低い受信装置902の後に位置づけられると、受信装置904は、ネットワークの輻輳状態が回復しても、伝送能力の低い受信装置902の影響を受けて、上位のクラスに上がることができないという課題を有していた。
本発明は、受信者リスト上にある伝送能力の低い受信装置が、伝送能力の自己よりも高い受信装置に悪影響を与えることがない、明示的マルチキャスト方式の通信を可能にする送信装置を提供することを目的とする。
本発明に係る送信装置は、SICCによる通信を行い、受信者リストを用いてパケットを配送する前に、この受信者リストを受信装置の伝送能力にしたがって並べ替える機能を有するものである。
具体的には、受信装置からのフィードバック情報に基づき利用可能な帯域を推定し、この利用可能な帯域に基づき受信者リストを並べなおすことにより、伝送能力の高い受信装置はネットワークの輻輳状態が回復しても、伝送能力の低い受信装置の影響を受けないという課題を解決する。
本発明に係る送信装置は、ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、受信装置から受信した伝送能力に基づき、前記受信者リストに記載された前記配送順序を並び替える受信者リスト並び替え部を備えている。
また、本発明に係る送信装置は、ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、受信装置から受信した伝送能力に関する情報から、当該受信装置の利用可能な帯域を推定する受信者能力推定部と、利用可能な帯域に基づき、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替える受信者リスト並び替え部とを備えている。
この場合、本発明に係る送信装置は、受信者リストを用いてネットワークに接続された複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えたものであって、受信装置から受信した伝送能力に関する情報から当該受信装置の利用可能な帯域を推定する受信者能力推定部と、利用可能な帯域に基づき受信装置を伝送能力別にクラス分類する受信者クラス分類部と、利用可能な帯域の高い順にクラスごとに受信者リストに記載された配送順序を並び替える受信者リスト並び替え部とを備えてもよい。
これにより、送信されたパケットは、伝送能力の高い受信装置から低い受信装置へ順番に転送されるので、次に伝送される受信装置が自己よりも低い伝送能力の受信装置の影響を受けて、自己の伝送能力より低い送信レートでパケットを受信しなくてはならないことを防止できる。
また、本発明に係る送信装置は、受信者リスト並び替え部が、受信部で受信した伝送能力に関する情報に基づいて配列順序を並び替えるものである。
これにより、受信装置が計測した情報をそのまま使用するので、推定の働かない伝送能力判定が可能になる。
また、本発明に係る送信装置は、受信装置の伝送速度を計測するための計測用パケットを受信装置へピアツーピアで送信する計測部をさらに有し、受信者能力推定部が、計測用パケットに対する応答パケットに記載された伝送能力に関する情報に基づいて、当該受信装置の利用可能な帯域を推定し、受信者クラス分類部が利用可能な帯域に基づき受信装置を伝送能力別にクラス分類し、受信者リスト並び替え部が利用可能な帯域の高い順にクラスごとに受信者リストに記載された配送順序を並び替える。
これにより、送信装置は、配送順位による伝送速度の影響を受けない、受信装置本来の伝送能力を知ることができるので、配送順序を正確に決定することが可能になる。
また、本発明に係る送信装置が受信装置から取得する伝送能力に関する情報は、受信装置の測定した損失イベント率と、当該送信装置からパケットが送信された時刻と、受信装置の受信できた実効レートとの少なくともいずれか一つである。
これにより、送信装置はこれらの情報に基づいて配送順序を並べ替えることが可能になる。
また、本発明に係る送信装置の受信者能力推定部は、当該送信装置からパケットが送信された時刻と受信装置からのパケットを受信した時刻から求めたラウンドトリップタイムをさらに用いて利用可能な帯域を推定するものである。
これにより、送信装置は、パケット間隔が帯域の逆数に比例することを利用する方式に基づいた最大送信速度の推定技術を利用することが可能になり、その推定帯域を用いて配送順序を並べ替えることができる。なお、パケット間隔が帯域の逆数に比例することを利用する方式は、文献、
B. Carter, ”Bprobe and cprobe,”http://cs-people.bu.edu/carter/tools/Tools.html, 1996.で規定されるPacket paier 計測手法、あるいはPacket train 計測手法などがある。
また、本発明に係る送信装置の取得する伝送能力に関する情報は、受信装置が測定した損失イベント率と、当該送信装置からパケットが送信された時刻と、受信装置が受信できた実効レートとを有するものであって、受信者リスト並び替え部が、当該送信装置からパケットが送信された時刻と受信装置からのパケットを受信した時刻から求めたラウンドトリップタイムを利用して配列順序を並び替えるものである。
これにより、送信装置はTFRCの規定に基づいた伝送制御用パケットを利用することが可能であり、TFRCの帯域推定式に基づいて帯域を推定し、この帯域順に配送順序を並べ替えることができる。
また、本発明に係る送信装置の受信者リスト並び替え部は、受信者クラス分類部が受信装置をクラス分類した時点から所定時間経過した場合、当該受信装置が記載された受信者リストの最後尾に配送順位を移動させるものである。
これにより、受信者リストの下位の受信装置が上位にシフトするので、下位にあった受信装置は、上位に位置する他の受信装置による速度制限を受けることなしにクラス変更が可能になる。
本発明に係る送信方法は、ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、送信装置が、受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、伝送能力に関する情報に基づき、複数の受信装置の配送順序を並び替えるステップと、受信者リストを付加したパケットを前記受信者リストに従ってユニキャスト経由で送信するステップとを有する。
また、本発明に係る送信方法は、ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、伝送能力に関する情報から受信装置の利用可能な帯域を推定するステップと、利用可能な帯域に基づき、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替えるステップと、受信者リストを付加したパケットを送信するステップとを有する。
この場合、本発明に係る送信方法は、ネットワークに接続された複数の受信装置に同一パケットをユニキャスト経路で配送するものであって、受信装置からパケットを受信する伝送能力に関する情報を受信し、その情報から受信装置の利用可能な帯域を推定する。そして、利用可能な帯域に基づき受信装置をクラス分類し、クラス毎の受信者リストに登録する。その後、受信者リストに記載された配送順序を利用可能な帯域の高い順に並び替えて、受信者リストを付加してパケットを送信してもよい。
これにより、送信装置から送信されたパケットは、伝送能力の高い受信装置から低い受信装置へ順番に転送されるので、次に伝送される受信装置が自己よりも低い伝送能力の受信装置の影響を受けて、自己の伝送能力より低い伝送レートでパケットを受信するようになることを防止できる。
本発明の送信装置は、受信者リスト上にある伝送能力の低い受信装置が、伝送能力の自己よりも高い受信装置に悪影響を与えない、明示的マルチキャスト方式の通信を可能にする。
以下、本発明の実施の形態について、図面を参照しつつ説明する。
(実施の形態1)
図1は、本発明の実施の形態におけるSICCを用いた通信を行う送信装置の構成を示す図である。
図1において、アプリケーション部110は送信装置100の有するアプリケーションを実施するものであり、受信部101はパケットを受信し、ペイロードをアプリケーション部110へ送出する。また、受信部101は、例えば、受信装置200から受信者レポートパケットを受信し、フィードバック情報を抽出する。図2はこの受信者レポートパケットのデータフォーマットを示す図である。
図2において、送信装置からパケットが送信された時刻(以下、「送信元送信時刻」という。)201と、受信装置が受信できた実効レート202と、受信装置が測定した損失イベント率203とがフィードバック情報である。
受信者能力推定部102は、受信部101から受け取ったフィードバック情報に、TFRCで定義されている帯域推定方式を用いて受信装置の伝送能力を推定するものである。
受信者クラス分類部103は、受信能力推定部102が推定した受信装置の伝送能力とあらかじめ規定している伝送速度とを比較して、受信装置の属するクラスを決定し、クラス別受信者記憶部104に記録する。本実施の形態においては、送信装置100の最大送信速度B(bps)を設定し、B/2(bps)とB/4(bps)を閾値とするクラス1乃至クラス3の3つに分ける。そして、それぞれのクラスごとに受信者リストを作成する。
図3は受信者リストのデータ構造を示す図である。図3において、受信装置の宛先アドレス301と、その受信装置の最大送信レート302とが、送信順に記録される。
受信者リスト並び替え部105は、指定されたクラスの受信者リストを受信装置の能力の高い順に並べ替えるものである。具体的には、受信者リスト並べ替え部105は、クラス別受信者記憶部104に記憶されている受信者リストを読み出し、最大送信レート302の大きいものから順に受信装置のアドレス301を並べ替える。そして、受信者リスト並べ替え部105は、クラス別受信者記憶部104に更新された受信者リストを書き込む。
パケット構成部106は、明示的マルチキャスト方式のパケットヘッダを構成するものであり、受信者リストをこのヘッダのオプションヘッダまたはペイロードに格納する。この送信パケットのフォーマットは特開平6−326713号公報や特開2000−354063号公報で定義される形式や、特開平10−98464号公報で定義される形式、あるいは特開2001−7835号公報や文献L. Aguilar, "Datagram Routing for Internet Multicasting", Sigcomm84, March 1984で示される形式のように、オプションヘッダにIPアドレスを併記するものを利用する。また、アプリケーション部110から受け取った受信装置へ送信すべきコンテンツをペイロードに記録する。
送信レート制御部107は、パケットを送出するタイミングを制御するものであり、受信者リストのクラスに応じて、パケットを送出する時間間隔を制御する。
送信部108は、送信レート制御部107から指定されたタイミングでパケットを送信するものである。送信部108は、パケットの配送する機能を有する。
配送管理部109は、明示的マルチキャストを行うための受信者リストを初期化したり、定期的に更新するために、受信者クラス分類部103やパケット構成部106や送信レート制御部107に指示するものである。
なお、パケット構成部106と配送管理部109とは本発明にかかる計測部1001に相当する。計測部1001は、受信装置の伝送速度を計測するための計測用パケットを受信装置へピアツーピアで送信する。なお、計測用パケットは、例えば、独立のパケットとしてもよし、あるいは、アプリケーションのパケットのヘッダにフラグ(計測用パケットに関するもの)を付して適用してもよい。つまり、アプリケーションのパケットが、計測用パケットを兼ねるようにしてもよい。アプリケーションのパケットは、アプリケーション部110からパケット構成部106を経由して送付される。
次に、本実施の形態にかかる送信装置の動作・作用について図面を用いて説明する。図5は、本発明にかかる送信装置の初期計測動作を示すフロー図である。
図5において、まず、配送管理部109は、受信者クラス分類部103に初期計測処理の開始を指示し、受信者クラス分類部103が送信先として登録済みのすべての受信装置を最下位のクラス1に登録する(ステップS501)。このとき作成される受信者リストには、受信装置の宛先アドレスが昇順あるいは降順に並べてられる。また、配送管理部109は、受信者能力推定部102に初期計測を開始することを通知する。また、配送管理部109は、送信レート制御部107に初期の送信レートとして、例えば、8s/GRTT(bit/秒)を設定し、スロースタートの開始を指示する。なお、GRTT(秒)は、最大ラウンドトリップタイムを示し、sはパケットサイズ(byte)を示す。さらに、配送管理部109は、パケット構成部106に初期計測用パケットの生成を指示し、生成された初期計測用パケットが送信部108へ送出される。この初期計測用パケットは、上記した文献B. Carter, ”Bprobe and cprobe,” で規定されるPacket paier 計測手法あるいはPacket train 計測手法のようにパケット間隔が帯域の逆数に比例することを利用する方式を用いる。また、文献S. M. Bellovin, ”A Best-Case Network Performance Model,”http://www.research.att.com/smb/papers/netmeas.pdf, February 1992.で規定される時刻同期したホスト間でのパケット転送により帯域を推定する方式や文献RFC3448で規定されるTFRCによる帯域推定で用いられるものと同等のものを使用する。送信部108は、送信制御部107からの送信タイミングの通知を受けて受信装置へ初期計測用パケットを送信する。
次に、送信レート制御部107は、GRTT秒が経過する毎に、送信レートを8s/GRTT(bit/秒)ずつ増加させて、送信部108へ送信のタイミングを通知する(ステップS502)。
次に、受信部101は、NAKパケットを受信すると、受信者能力推定部402に通知する(ステップS503)。受信者能力推定部402は、初期計測中であるので、そのときの送信レートを送信レート制御部107へ問い合わせる。そして、受信者能力推定部402は、このときの送信レートを、NAKパケットの送信元である受信装置の最大送信レートと決定する。また、受信者能力推定部402は、送信元受信装置のアドレスと最大送信レートを受信者クラス分類部103へ通知する。受信者クラス分類部403はこれを受けて、クラス別受信者記憶部104の該当クラスの受信者リストに通知されたアドレスを登録する(ステップS504)。また、分類先クラスが最下位のクラス1でない場合は、クラス1の受信者リストから該当のアドレスを削除する。
次に、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。受信者リスト並べ替え部105はこれを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS505)。
一方、ステップS503において、受信部101がNAKパケットを受信しない間は、送信レート制御部107が送信レートを更新し続ける(ステップS503、S504)。
次に、受信者クラス分類部103は、クラス1の受信者リストに初期設定した受信装置の内で、最大送信レート302が未登録の受信装置があるか否かをチェックする(ステップS506)。最大送信レート302が未登録の受信装置がある場合は、ステップS502へ戻り、なくなった場合は、配送管理部109にこの初期計測処理の終了を通知する。配送管理部109は、これを受けて、パケット構成部106、送信レート制御部107、および受信者能力推定部102に初期計測処理の終了を通知する。
このように、送信装置は、受信装置の初期のクラス分類において、受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消できる。
次に、送信装置が通常のコンテンツをパケット送信したときに行う、TFRCの規定に基づく伝送制御処理を以下に説明する。
図6は、本実施の形態における送信装置が行う伝送制御処理を示すフロー図である。
図6において、受信部101はパケットを受信すると、受信者レポートが含まれているか否かをチェックする(ステップS601)。
受信者レポートが含まれていない場合、受信部101はペイロードを取り出し、アプリケーション部110へ引き渡して待機状態に戻る。
一方、受信レポートが含まれていた場合、受信部101は、フィードバック情報を送信元受信装置のアドレスとともに受信者能力推定部102へ通知する。受信者能力推定部102はこれを受けて、TFRCで規定される算出式である(式1)に基づいて最大送信速度を求める(ステップS602)。そして、受信者能力推定部102は求めた最大送信速度(すなわち、利用可能な帯域)と送信元受信装置のアドレスとを受信者クラス分類部103に通知する。
Figure 2007015428
ただし、R:ラウンドトリップタイム(秒)、p:損失イベント率、s:パケットサイズ(byte)、b:TCPの肯定応答単位、T_RTO:TCPのタイムアウト値(=4×R)を示す。
なお、(式1)で用いるラウンドトリップタイムは、フィードバック情報に含まれる送信元送信時刻201と受信レポートパケットを受信した時刻から求められる。
次に、受信者クラス分類部103はクラス別受信者記憶部104から該当する宛先アドレス301の最大送信レート302を読み出し、受信者能力推定部102から通知された最大送信速度と比較する。そして、登録されていた最大送信レートが通知された最大送信速度より大きい場合、受信者クラス分類部103は最大送信レートをそのまま維持する。これは、今回の最大送信速度が自己のアクセスライン等が原因で遅くなったのではなく、自己よりも前に配送された受信装置のアクセスライン等により遅くなっている可能性があるからである。
一方、通知された最大送信速度が、登録されていた最大送信レートより大きい場合、最大送信レートを通知された最大送信速度に置き換える(ステップS603)。
さらに、受信者クラス分類部103は新たな最大送信レートと、クラス分けの閾値とを比較し、該当するクラスに登録変更する(ステップS604)。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS605)。
このように、送信装置は通常の通信において、受信装置の所属クラスを変更したときに受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消することができる。
次に、送信装置が定期的に行う送信レートの計測処理について以下に説明する。
図7は、本実施の形態に係る送信装置の送信レート計測処理を示すフロー図である。なお、この送信レート計測処理は、クラス毎に行われる。
図7において、まず、配送管理部109は、初期計測処理が終了した後、所定時間毎に(ステップS701)、パケット構成部106と受信者クラス分類部103に送信レート計測処理の開始を指示する。パケット構成部106は、これを受けて、帯域計測用パケットを生成する。このとき、パケット構成部106は、クラス別受信者記憶部104からクラス単位で受信者リストを読み出し、登録されている宛先アドレスを宛先にした帯域計測用パケットを複製し、送信部108へ順次送出する。また、パケット構成部106は、送信レート制御部107へ送信先のクラスを通知する。送信レート制御部107は、これを受けて、通知されたクラスの送信レートで、送信部108にタイミングを通知する。送信部108は、通知されたタイミングで帯域計測用パケットを受信装置へ送信する。このときの送信方法は、送信装置から各受信装置へのピアツーピアの通信となる(ステップS702)。
次に、受信部101は、パケットを受信すると、受信者レポートが含まれているか否かをチェックする(ステップS703)。
受信者レポートが含まれていない場合、受信部101はペイロードを取り出し、アプリケーション部110へ引き渡して待機状態に戻る。
一方、受信レポートが含まれていた場合、受信部101は、フィードバック情報を送信元受信装置のアドレスとともに受信者能力推定部102へ通知する。受信者能力推定部102はこれを受けて、(式1)に基づいて最大送信速度を求める(ステップS704)。そして、受信者能力推定部102は求めた最大送信速度と送信元受信装置のアドレスとを受信者クラス分類部103に通知する。
次に、受信者クラス分類部103は、現在、送信レート計測処理中であることを認識しているので、クラス別受信者記憶部104の受信者リストに登録されている該当する宛先アドレス301の最大送信レート302を、通知された最大送信速度に置き換える(ステップS705)。
さらに、受信者クラス分類部103は、新たな最大送信レートとクラス分けの閾値とを比較し、該当するクラスに登録変更する(ステップS706)。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。逆に、受信装置の能力が定められた閾値より下がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、下位のクラスの受信者リストに追加する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS707)。
次に、受信者クラス分類部103は、登録されているすべての受信装置から帯域計測用パケットに応答した受信者レポートを受信したか否かをチェックし(ステップS708)、受信していなければステップS703に戻り、受信レポートの受信を待つ。
一方、すべての受信装置から受信者レポートを受信した場合は処理を終了する。
このようにして、送信装置は定期的に受信装置の最大送信レートを、それぞれ独立して計測して受信者リストを伝送能力の高い順位に並べ替えるので、明示的マルチキャストを行ったときに生じる、受信者リストの上位に位置する他の受信装置による速度制限を解消することができる。
なお、本実施の形態の常時行う伝送制御処理や、定期的に行う送信レート計測処理において、受信者リスト並び替え部105は、受信者能力推定部102が(式1)により求めた最大送信速度に基づいて並べ替えたが、これに限らず、フィードバック情報の実効レートや損出イベント率やラウンドトリップタイムのいずれか一つのみを基準に並べ替えることも可能である。あるいは、(式1)以外の算出式による、これらフィードバック情報を組み合わせて算出する数値を用いることもできる。
また、受信者リスト並び替え部105は、受信者能力推定部102において(式1)により求められた最大送信速度およびそれ以外の情報(伝送能力に関する情報)に基づき、受信者リスト中の配送順序を並べ替えてもよい。それ以外の情報としては、例えば、フィードバック情報の実効レート、損出イベント率、ラウンドトリップタイム、受信端末の機種に固有の情報またはこれらの任意の2つ以上を組み合わせたものがある。
受信端末の機種に固有の情報(受信端末の機種固有情報)としては、例えば、受信端末のメーカ名、受信端末の機種、受信端末の画面サイズ、受信端末のネットワークインターフェイス種別があげられる。
受信者リスト並び替え部105は、受信端末の機種に固有の情報が一致する場合、受信者能力推定部102において(式1)により求められた最大送信速度に基づいて受信者リストを並べる。つまり、受信者リスト並び替え部105は、まず、受信端末の機種に固有の情報に基づき受信端末(受信者)をクラス分類する。例えば、同じ機種の受信端末同士が、同じクラス分類となる。
そして、受信者リスト並び替え部105は、同クラスに属する受信端末の中で、受信者能力推定部102において(式1)により求められた最大送信速度に基づき、それらの受信端末の配送順序を並べ替える。受信者リスト並び替え部105は、例えば、最大送信速度が最大値となる受信端末を、第1番目の配送順序にする。
あるいは、受信者リスト並び替え部105は、上記最大送信速度に基づき、受信者リストの配列順序を並べた後、受信端末の機種固有の情報に基づいて、さらに、受信者リストの配送順序を並び替えてもよい。例えば、受信者リスト並び替え部105は、受信者リスト(図3参照)中で隣接(上下)する2台の受信端末に関して、最大送信速度の差分が一定値(あらかじめ設定)以下であれば、受信端末の画面サイズの大きさ順(例えば大きい順)に並べ替えてもよい。あるいは、受信者リスト並び替え部105は、受信端末のメーカ名または受信端末の機種の情報に基づき、例えば、あらかじめ指定されたメーカ名または機種をもつ受信端末を上位にしてもよい。
なお、送信端末は、セッション開始時、セッションの途中における受信端末と送信端末との直接通信時、あるいは、特定のサーバ(例えばセッションの呼制御を行うサーバ)経由で、受信端末の機種に固有の情報を取得することができる。
また、本実施の形態の初期計測処理においては、スロースタートにより求めた最大送信レートに基づいて、受信者リストの受信装置を並べ替えたが、これに限らず、送信装置とそれぞれの受信装置との間のラウンドトリップタイムや実効レートや経路上のホップ数(ルータの数)を測定し、この測定値を用いて受信装置を並び替えることも可能である。あるいは、予め定められた順序を受信装置の能力順として静的に定義し、この予め定められた順序を用いて受信者リストを並び変えてもよい。
以上のように本発明によれば、パケットの配信順序が伝送能力の低い受信装置が伝送能力の高い受信装置より先に位置づけられることによって、伝送能力の低い受信装置のところでパケットが欠落し、結果として、伝送能力の高い受信装置にパケットが配送されないことを防止できる。また、伝送能力の高い受信装置が、一時的なネットワークの輻輳によって低いクラスに分類されてしまった場合においても、定期的に行う送信レート計測処理により受信装置の最大送信速度が更新できるので、ネットワークの輻輳が回復した場合は、伝送能力の高い受信装置が上位のクラスに上がることができるので、適正な伝送レート制御を実現することができる。
なお、実施の形態1における送信装置は、受信者クラス分類部103により、受信装置の属するクラスを決定する場合について説明したが、クラスの決定をせずに、受信者リストの配送順序を並び替えてもよい。この場合、受信者リスト並び替え部105(送信装置)は、受信者能力推定部102で推定された受信装置の利用可能な帯域に基づき受信者リスト中の配送順序を、その帯域の高い順に並び替えてもよい。このようにしても、伝送能力の高い受信装置順にパケットが配送されることとなるので、適正な伝送レート制御を実現することができる。
また、実施の形態1における送信装置は、受信装置の最大伝送速度またはこれと受信装置の伝送能力の組み合わせに基づき、受信者リストの配送順序を並び替える場合について説明したが、受信装置から受信した伝送能力のみに基づき、受信者リストの配送順序を並び替えてもよい。この場合、受信者リスト並び替え部105は、受信部101で受信装置から受信された伝送能力(フィードバック情報の実効レート、損出イベント率、ラウンドトリップタイムなど)のみに基づき、受信者リスト中の配送順序(例えば、実効レートの高い順、損出イベント率の小さい順、ラウンドトリップタイムの長い順)を並び替えてもよい。
(実施の形態2)
本実施の形態における送信装置は、受信装置が所属するクラスを更新してから現時点までの経過時間に基づいて、その受信装置の属する受信者リストの並び替えをさらに行う点が、実施の形態1と異なる。
本実施の形態における送信装置の構成は、図1に示したブロック図と同一であるが、クラス別受信者記憶部104内の受信者リストのデータ構造、および受信者クラス分類部103と受信者リスト並び替え部105の機能が実施の形態1のものと異なる。これらの異なる点について、以下に説明する。
図4はクラス別受信者記憶部104に記憶される受信者リストのデータ構造を示す図である。
図4において、受信者リストは受信装置の宛先アドレス301と、その受信装置の送信レート302と、受信装置が所属するクラスを更新した時刻を示すクラス更新時刻401とからなり、最大送信レートの大きい順に記録される。
また、受信者クラス分類部103は、受信者レポートに基づき受信装置を3クラスに分類し受信者リストに登録するが、さらに、上位のクラスに登録を変更したとき、その時点の時刻を受信者リストのクラス更新時刻401に記録する。
また、受信者リスト並び替え部105は、実施の形態1で示した機能に加え、さらに、前回の上位クラスへの登録変更から現時点までの経過時間に基づいて、受信者リストの並び換えを行う。
以上のように構成された送信装置について、以下に受信者リストの更新動作と、その作用を説明する。なお、初期計測動作と定期的に行う送信レート計測動作については、受信者クラス分類部103が受信者リストのクラス更新時刻401に登録時の時刻を記録する以外は実施の形態1と同一である。
図8は、本実施の形態における送信装置の定期的に行う送信レート計測処理を示す。
図8において、ステップS801乃至ステップS803は、実施の形態1の図6に示したステップS601乃至ステップS603と同一である。
その後、受信者クラス分類部103は、新たな最大送信レートと、クラス分けの閾値とを比較し(ステップS804)、該当するクラスに登録変更する。具体的には、受信装置の最大送信レートが定められた閾値より上がった場合には、その受信装置がそれまで属していたクラスの受信者リストから、その受信装置のアドレスを削除し、上位のクラスの受信者リストに追加する。このとき、受信者クラス分類部103は、受信者リストのクラス更新時刻401に現在の時刻を記録する。そして、受信者クラス分類部103は、受信者リスト並べ替え部105に受信者リストに変更が生じたクラスを通知する。
次に、受信者リスト並べ替え部105は、これを受けて、該当するクラスの受信者リストを最大送信レートの大きい順に並べ替える(ステップS805)。
一方、ステップS804において、受信者クラス分類部103がクラスの変更を不要と判断した場合、その判断結果を受信者リスト並び替え部105に通知する。
次に、受信者リスト並び替え部105は、クラス別受信者記憶部104に記憶されている受信者リストを参照し、送信元受信装置のクラス更新時刻401を読み出す。そして、そのクラス更新時刻と現在の時間とから経過時間を算出し、あらかじめ規定した時間を超えているか否かを判断する(ステップS806)。規定の時間を超えている場合は、その受信装置を該当の受信者リストの最後尾に登録変更し(ステップS807)、超えていない場合はステップS805へ処理を移行する。
このように、送信装置は通常の通信において規定時間以上クラス変更を行っていない受信装置を受信者リストの最後尾に移動させるので、下位の受信装置が上位にシフトする。そのため、下位にあった受信装置は、明示的マルチキャストを行ったときに生じる、上位に位置する他の受信装置による速度制限を受けなくなり、伝送能力の高い受信装置の順にパケットを配送することが可能になる。
本発明は、明示的マルチキャスト方式によるデータ送信を行う送信装置等に有用であり、パケットの配送順による受信装置の速度制限を解消するのに適している。
本発明の実施の形態1における送信装置の構成を示すブロック図 本発明の実施の形態1における受信者レポートパケットのデータフォーマットを示す図 本発明の実施の形態1における受信者リストのデータ構造を示す図 本発明の実施の形態2における受信者リストのデータ構造を示す図 本発明の実施の形態1における送信装置の初期計測動作を示すフロー図 本発明の実施の形態1における送信装置の伝送制御処理を示すフロー図 本発明の実施の形態1における送信装置の送信レート計測処理を示すフロー図 本発明の実施の形態2における送信装置の送信レート計測処理を示すフロー図 従来の明示的マルチキャスト方式のパケット配送を示す図 従来の明示的マルチキャスト方式のパケット配送を示す図 従来のSICCの動作を示すパケット配送図
符号の説明
101 受信部
102 受信者能力推定部
103 受信者クラス分類部
104 クラス別受信者記憶部
105 受信者リスト並び替え部
106 パケット構成部
107 送信レート制御部
108 送信部
109 配送管理部
110 アプリケーション部
901 送信装置
902,903,904 受信装置

Claims (12)

  1. ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、
    前記受信装置から、伝送能力に関する情報を受信する受信部と、
    前記受信された伝送能力に関する情報に基づき、前記受信者リストに記載された前記配送順序を並び替える受信者リスト並び替え部と、
    を備えた送信装置。
  2. ネットワークに接続された複数の受信装置の配送順序を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する機能を備えた送信装置であって、
    前記受信装置から受信した伝送能力に関する情報から、当該受信装置の利用可能な帯域を推定する受信者能力推定部と、
    前記利用可能な帯域に基づき、前記受信者リストに記載された前記配送順序を前記利用可能な帯域の高い順に並び替える受信者リスト並び替え部と、
    を備えた送信装置。
  3. 前記利用可能な帯域に基づき前記受信装置をクラス分類し、クラス毎の前記受信者リストを登録する受信者クラス分類部をさらに備え、
    前記受信リスト並び替え部が、指定された前記クラスの前記受信者リスト中の前記配送順序を前記利用可能な帯域の高い順に並び替える、
    請求項2に記載の送信装置。
  4. 前記受信された伝送能力に関する情報から、当該受信装置の利用可能な帯域を推定する受信者能力推定部をさらに備え、
    前記受信者リスト並び替え部は、
    前記伝送能力に関する情報および前記利用可能な帯域に基づき、前記受信者リストに記載された前記配送順序を並び替える、
    をさらに備えた請求項1に記載の送信装置。
  5. 前記受信装置の伝送速度を計測するための計測用パケットを受信装置へピアツーピアで送信する計測部をさらに有し、
    前記受信者能力推定部が、前記計測用パケットに対する応答パケットに記載された前記伝送能力に関する情報に基づいて、当該受信装置の利用可能な帯域を推定し、
    前記受信者クラス分類部が、前記利用可能な帯域に基づき受信装置をクラス分類し、
    前記受信者リスト並び替え部が、前記利用可能な帯域の高い順に前記受信者リストに記載された配送順序を並び替える、
    請求項3に記載の送信装置。
  6. 前記伝送能力に関する情報は、受信装置が測定した損失イベント率、当該送信装置からパケットが送信された時刻または受信装置が受信できた実効レートの少なくともいずれか一つである、
    請求項1乃至5のいずれかに記載の送信装置。
  7. 前記伝送能力に関する情報が、当該送信装置からパケットが送信された時刻を含む場合、
    前記受信者能力推定部は、当該送信装置からパケットが送信された時刻と受信装置からの前記パケットに対する応答のパケットを受信した時刻から求めたラウンドトリップタイムをさらに用いて、前記利用可能な帯域を推定する、
    請求項5に記載の送信装置。
  8. 前記伝送能力に関する情報は、前記受信装置が測定した損失イベント率、当該送信装置からパケットが送信された時刻または受信装置が受信できた実効レートの少なくともいずれか一つである、
    請求項1に記載の送信装置。
  9. 前記受信者リスト並び替え部は、前記受信者クラス分類部が前記受信装置をクラス分類した時点から所定時間経過した場合、当該受信装置が記載された受信者リストの最後尾に当該受信装置の前記配送順位を移動させる、
    請求項5に記載の送信装置。
  10. ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、
    前記受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、
    前記前記伝送能力に関する情報に基づき、前記複数の受信装置の配送順序を並び替えるステップと、
    前記並び替えた前記受信者リストを付加した前記パケットを前記受信者リストに従って前記ユニキャスト経路で配送するステップと、
    を有する送信方法。
  11. ネットワークに接続された複数の受信装置を記載した受信者リストを用いて、前記複数の受信装置に同一パケットをユニキャスト経路で配送する送信方法であって、
    前記受信装置からのパケットに含まれる、伝送能力に関する情報を受信するステップと、
    前記伝送能力に関する情報から前記受信装置の利用可能な帯域を推定するステップと、
    前記利用可能な帯域に基づき、前記受信者リストに記載された前記配送順序を前記利用可能な帯域の高い順に並び替えるステップと、
    前記並び替えた前記受信者リストを付加した前記パケットを前記受信者リストに従って前記ユニキャスト経路で配送するステップと、
    を有する送信方法。
  12. 前記推定した利用可能な帯域に基づき前記受信装置をクラス分類し、クラス毎の前記受信者リストを登録するステップをさらに含み、
    前記並び替えるステップでは、指定された前記クラスの前記受信者リスト中の前記配送順序を前記利用可能な帯域の高い順に並び替える、
    請求項11に記載の送信方法。

JP2007529237A 2005-08-01 2006-07-28 送信装置および送信方法 Active JP4598073B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005222378 2005-08-01
JP2005222378 2005-08-01
PCT/JP2006/314979 WO2007015428A1 (ja) 2005-08-01 2006-07-28 送信装置および送信方法

Publications (2)

Publication Number Publication Date
JPWO2007015428A1 true JPWO2007015428A1 (ja) 2009-02-19
JP4598073B2 JP4598073B2 (ja) 2010-12-15

Family

ID=37708709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007529237A Active JP4598073B2 (ja) 2005-08-01 2006-07-28 送信装置および送信方法

Country Status (3)

Country Link
US (1) US8098660B2 (ja)
JP (1) JP4598073B2 (ja)
WO (1) WO2007015428A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070097970A1 (en) * 2005-11-01 2007-05-03 Georgios Margaritis Packet retransmitter
US9319225B2 (en) * 2007-01-16 2016-04-19 Microsoft Technology Licensing, Llc Remote device waking using a multicast packet
JP4930308B2 (ja) * 2007-09-27 2012-05-16 サクサ株式会社 リアルタイムメディア分配システム、方法、送信端末、および分配ルート決定方法
JP2009093461A (ja) * 2007-10-10 2009-04-30 Nippon Telegr & Teleph Corp <Ntt> データ配信スケジューラ、データ配信システム、データ配信スケジュール方法およびデータ配信スケジュールプログラム
JP5358496B2 (ja) * 2010-03-24 2013-12-04 富士通フロンテック株式会社 資源配付方法、資源配付装置および資源配付プログラム
JP5371111B2 (ja) * 2010-06-03 2013-12-18 Necシステムテクノロジー株式会社 ファイル配信装置、ファイル配信方法およびファイル配信プログラム
JP5567959B2 (ja) * 2010-09-22 2014-08-06 パナソニック株式会社 マルチキャスト配信システム、並びにそれに用いる送信機及び受信機
WO2012162882A1 (en) * 2011-05-31 2012-12-06 Technicolor (China) Technology Co., Ltd. Method and apparatus for streaming multimedia contents
JP5899897B2 (ja) * 2011-12-20 2016-04-06 富士通株式会社 情報処理装置、情報処理方法及びプログラム
JP5724154B2 (ja) 2013-05-16 2015-05-27 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
KR20170070639A (ko) * 2015-12-14 2017-06-22 삼성전자주식회사 통신 시스템에서 데이터 송수신 방법 및 장치
CN108370521B (zh) * 2016-01-05 2023-03-24 富士通株式会社 信息传输方法、装置和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH066350A (ja) * 1992-06-22 1994-01-14 Nec Software Ltd 送信相手先順序決定方式
JPH10224348A (ja) * 1997-01-31 1998-08-21 Nec Corp 同報通信制御システム
JPH11225166A (ja) * 1998-02-09 1999-08-17 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロー制御方法
JP2000201175A (ja) * 1999-01-05 2000-07-18 Ntt Data Corp 情報伝達システム及び方法
WO2002025878A1 (fr) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission/reception de donnees, dispositif de transmission, dispositif de reception, systeme de transmission/reception et programme
JP2002325095A (ja) * 2001-04-24 2002-11-08 Mitsubishi Electric Corp データ通信システム、データ送信装置及びデータ通信方法
JP2004120222A (ja) * 2002-09-25 2004-04-15 Toshiba Corp 通信装置及び通信システム
JP2004254025A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> 帯域推定方法及びシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2806466B2 (ja) 1993-05-17 1998-09-30 株式会社日立製作所 データ伝送制御方法
JPH1098464A (ja) 1996-09-20 1998-04-14 Nec Corp 同報の転送方式
US5875175A (en) * 1997-05-01 1999-02-23 3Com Corporation Method and apparatus for time-based download control
US5875176A (en) * 1996-12-05 1999-02-23 3Com Corporation Network adaptor driver with destination based ordering
US6647011B1 (en) * 1999-02-22 2003-11-11 Marconi Communications, Inc. Method and system for switching using an arbitrator
JP3792940B2 (ja) 1999-06-10 2006-07-05 富士通株式会社 パケットのマルチキャスト配送システム
JP2001007835A (ja) 1999-06-23 2001-01-12 Sony Corp データ送信装置及び方法、データ中継装置及び方法、データ受信装置及び方法、並びにデータ通信システム、データ通信方法
KR100915730B1 (ko) * 2004-08-16 2009-09-04 콸콤 인코포레이티드 그룹 통신 신호 방법 및 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH066350A (ja) * 1992-06-22 1994-01-14 Nec Software Ltd 送信相手先順序決定方式
JPH10224348A (ja) * 1997-01-31 1998-08-21 Nec Corp 同報通信制御システム
JPH11225166A (ja) * 1998-02-09 1999-08-17 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロー制御方法
JP2000201175A (ja) * 1999-01-05 2000-07-18 Ntt Data Corp 情報伝達システム及び方法
WO2002025878A1 (fr) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission/reception de donnees, dispositif de transmission, dispositif de reception, systeme de transmission/reception et programme
JP2002325095A (ja) * 2001-04-24 2002-11-08 Mitsubishi Electric Corp データ通信システム、データ送信装置及びデータ通信方法
JP2004120222A (ja) * 2002-09-25 2004-04-15 Toshiba Corp 通信装置及び通信システム
JP2004254025A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> 帯域推定方法及びシステム

Also Published As

Publication number Publication date
JP4598073B2 (ja) 2010-12-15
US20100158000A1 (en) 2010-06-24
US8098660B2 (en) 2012-01-17
WO2007015428A1 (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4598073B2 (ja) 送信装置および送信方法
JP5025655B2 (ja) 流量制御方法、ならびにそれに使用する送信端末およびパケット転送システム
JP4798285B2 (ja) パケットの伝送品質計測方法、およびパケット受信計測装置
US7336613B2 (en) Method and apparatus for the assessment and optimization of network traffic
JP4430597B2 (ja) ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
KR100811890B1 (ko) 인터넷 시스템에서 서비스 플로우를 보장하는 애니캐스트라우팅 방법 및 장치
US8023509B2 (en) Communication terminal and retransmission request method
US20050175009A1 (en) Enhanced multicast forwarding cache (eMFC)
CN111771359B (zh) 用于连接通信网络的方法和系统
WO2002079899A2 (en) Method and system for multicast to unicast bridging
JPWO2005006664A1 (ja) トランスポート層中継方法及びトランスポート層中継装置並びにプログラム
JP2007527160A (ja) 拡張eMFCを用いたアドホックメッシュネットワークのための高信頼メッセージ配信方法
CN101632273A (zh) 用于媒体网关处的源识别ip路由的方法、系统和计算机程序产品
JP2004274703A (ja) ルータ装置及びパケット転送制御方法
JP4772053B2 (ja) 送信装置および送信レート制御方法
JP4687538B2 (ja) 受信装置、送信装置およびその通信方法
JP2006222659A (ja) 無線通信装置、無線通信システム及び方法
JP2004274702A (ja) ルータ装置及びパケット転送制御方法
US20080137678A1 (en) Communication Device, Routing Method, and Program
JP6886857B2 (ja) 通信方法、サーバ及び無線配信システム
Sahu et al. Comparative performance analysis of ZRP routing protocol for multicasting in MANETs using Droptail and RED queue management
JP6599263B2 (ja) 通信制御装置及び通信制御方法
JP7279388B2 (ja) ルータシステムおよびパケット送信判定方法
Chellaprabha et al. Performance of TCP, UDP and SCTP on Sensor Network with Different Data Reporting Intervals
JP2005167675A (ja) データ通信装置及び端末装置及びデータ通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100804

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100922

R150 Certificate of patent or registration of utility model

Ref document number: 4598073

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

Year of fee payment: 3