JP2012253765A - データの並列受信のためのストリーム制御方法及び装置 - Google Patents

データの並列受信のためのストリーム制御方法及び装置 Download PDF

Info

Publication number
JP2012253765A
JP2012253765A JP2012123469A JP2012123469A JP2012253765A JP 2012253765 A JP2012253765 A JP 2012253765A JP 2012123469 A JP2012123469 A JP 2012123469A JP 2012123469 A JP2012123469 A JP 2012123469A JP 2012253765 A JP2012253765 A JP 2012253765A
Authority
JP
Japan
Prior art keywords
streams
data
network congestion
unit
parallel
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
JP2012123469A
Other languages
English (en)
Other versions
JP5405625B2 (ja
Inventor
Sun-Hak Song
ソン、スンハク
Kyun-Woon Woo
ウー、キュンウン
Chang-Hoon Yi
イ、チャン、フーン
Kyu-Sam Oh
オー、キュ、サム
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.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS 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 Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of JP2012253765A publication Critical patent/JP2012253765A/ja
Application granted granted Critical
Publication of JP5405625B2 publication Critical patent/JP5405625B2/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】データの並列受信のためのストリーム制御方法及び装置を提供すること。
【解決手段】データの並列受信のためのストリーム制御方法は、複数の接続したストリームを利用して、データを並列受信し、複数のストリーム別に受信されるデータの送信速度の変化を利用して、ネットワーク混雑率を算出し、算出されたネットワーク混雑率に基づいて、複数のストリームの接続個数を調節し、調節された個数のストリームを利用して、データを並列受信することができる。
【選択図】図2

Description

本発明は、データの並列受信のためのストリーム制御方法及び装置に関し、さらに詳細には、ネットワーク混雑率と臨界値に基づいて並列ストリームの接続個数を制御できるデータの並列受信のためのストリーム制御方法及び装置に関する。
高性能のモバイルデバイスの使用が速く広がるにつれて、大容量ファイルの送信速度が遅くなる現象が頻繁に発生している。これは、限定されたネットワーク帯域幅内でモバイルデバイスの需要をそのまま受け入れ、多くのモバイルデバイスがネットワーク帯域幅を使用するようになるから、結果的にネットワーク応答の低下をもたらすからである。このような問題を解決するために、従来では、ハードウェア装備をアップグレードしてデータ加速送信方式を使用しているが、これは、投資費用がかなり必要である。
一方、ファイルを送信するファイル送信プログラムの一例として、一つのTCP(Transmission Control Protocol)ストリームを使用する方式が挙げられる。一つのTCPストリームを使用する方式は、例えば、クラウド基盤のシステムにおいてサーバとクライアントとの間に一つのTCPで接続して、一つのチャネルを介してデータを送信することである。しかしながら、既存のファイル送信プログラムは、一つのチャネルを介してデータを送信するので、データの送信時にパケットの損失が多く発生したり、RTT(Round Trip Time)の長いネットワークでは、送信効率が急激に落ちるようになる。
かかる問題を解決するために、従来では、並列ストリーム送信方式を使用しているが、並列ストリームの接続個数もやはりパケット損失とRTTに依存して算出されるので、並列ストリームの接続個数を求めるアルゴリズムが複雑である。また、パケットの損失とRTTに依存する場合、前記アルゴリズムは、システムコールに依存してパケットの損失とRTTが分かるので、各システム別にオペレーティング・システム(OS:Operating System)のカーネルを変えなければならないので、開発に難しさがある。
そこで、本発明は上記問題を解決するためになされたものであって、その目的は、並列ストリームを利用してデータを送信するものの、ネットワーク状況に応じてストリームの接続個数を適応的に調節することによって、改善された速度でデータを送受信できるデータの並列受信のためのストリーム制御方法及び装置を提供することにある。
また、本発明の他の目的は、パケット損失やRTTを別途に算出せずにストリームの接続個数を調節できるデータの並列受信のためのストリーム制御方法及び装置を提供することにある。
本発明の一実施の形態によれば、複数の接続したストリームを利用して、データを並列受信するステップと、前記複数のストリーム別に受信されるデータの送信速度の変化を利用して、ネットワーク混雑率を算出するステップと、前記算出されたネットワーク混雑率に基づいて、前記複数のストリームの接続個数を調節するステップと、前記調節された個数のストリームを利用して、前記データを並列受信するステップとを含むことを特徴とするデータの並列受信のためのストリーム制御方法が提供される。
一方、本発明の他の実施の形態によれば、複数のストリームを利用してデータを並列受信する通信部と、前記複数のストリーム別に受信されるデータの送信速度の変化を利用してネットワーク混雑率を算出し、該算出されたネットワーク混雑率に基づいて前記複数のストリームの接続個数を調節する並列接続管理部とを備え、前記通信部は、前記並列接続管理部により調節された接続個数のストリームを利用して前記データを並列受信する。
本発明の実施の形態によれば、システムコールに依存して獲得されるパケット損失率とRTTを使用せずに二重移動平均アルゴリズムを利用して、より簡単にネットワーク混雑率を算出することができる。
また、本発明の実施の形態によれば、ネットワーク混雑率と少なくとも一つの臨界値とを比較してストリーム接続個数を増減するので、ネットワーク状況に応じて適応的にストリーム接続個数を調節することができる。
また、本発明の実施の形態によれば、ネットワーク状態に影響を与えない範囲内で現在のネットワーク状態を考慮して最も速い速度でデータを並列送信できるストリーム個数を設定できる。
また、本発明の実施の形態によれば、複数のストリームを利用して受信されたデータの送信速度に基づいてストリーム接続個数を制御するので、ネットワークの応用階層に基づいたロジック処理によってOSのカーネルを変えたり、RTTやパケット損失率のようなシステムコールを必要としない。したがって、OSの種類に関係なくデータを高速で送信しようとするサーバ、デバイスと受信するサーバ、又はデバイスに簡単なソフトウェアをインストールするだけでデータの高速並列送信を具現化できる。
本実施の形態に係るデータの並列送信のための送受信システムを示す図である。 本発明の一実施の形態に係るデータの並列送信のための第1データ送信装置及び第1データ受信装置を示すブロック図である。 上述した単位ウィンドウを説明するための例示図である。 本実施の形態に係る二重移動平均アルゴリズムを利用してネットワーク混雑率を算出する一例を説明するための例示図である。 図4Aの第1ないし第3単位ウィンドウをそれぞれ示す図である。 本発明の他の実施の形態に係るデータの並列送信のための第2データ送信装置及び第2データ受信装置を示すブロック図である。 一実施の形態に係るファイルブロックの構造を示す図である。 本発明の実施の形態に係るデータの並列受信のためのストリーム制御方法を説明するためのフローチャートである。 図7のステップS770に記載されたストリーム接続個数を計算する方法を説明するためのフローチャートである。 本発明の他の実施の形態に係るデータの並列受信のためのストリーム制御方法を説明するためのフローチャートである。
以上の本発明の目的、他の目的、特徴及び利点は、添付された図面と関連した以下の好ましい実施形態により容易に理解されるはずである。しかしながら、本発明は、ここで説明される実施形態に限定されず、他の形態で具体化されてもよい。むしろ、ここで紹介される実施形態は、開示された内容が徹底かつ完全になるように、そして当業者に、本発明の思想を十分に理解してもらうために提供されるものである。本明細書において、ある構成要素が他の構成要素上にあると言及される場合には、それは、他の構成要素上に直接形成される場合もあり、それらの間に第3の構成要素が介在される場合もあることを意味する。
本明細書で使用された用語は、実施形態を説明するためのものであって、本発明を限定するものではない。本明細書において、単数形は、特に言及しない限り、複数形も含む。明細書で使用される「含む」と言及された構成要素は、一つ以上の他の構成要素の存在又は追加を排除しない。
以下、図面を参照して本発明を詳細に説明する。以下の特定の実施形態を述べるにおいて、様々に特定された内容は、発明をさらに具体的に説明し、理解を助けるために作成された。しかしながら、本発明を理解することができる程度のこの分野における知識を有した読者は、このような様々に特定された内容がなくても、本発明が実施可能であることを認知できる。ある場合には、周知で発明と大きく関連のない技術的内容は、本発明を説明するにあたって、特別な理由なしでも、読者の混乱を引き起こさないようにあえて述べないこともあることを予め言及しておく。
図1は、本実施の形態に係るデータの並列送信のための送受信システムを示す図である。
図1に示すように、データの並列送信のための送受信システムは、データ送信装置10とデータ受信装置20とを備える。データ送信装置10は、後述する第1データ送信装置100又は第2データ送信装置300で、データ受信装置20は、第1データ受信装置200又は第2データ受信装置400でありうる。
データ送信装置10とデータ受信装置20との間には、データの並列送信のための複数のストリーム(S1、S2、…、SN;ここで、Nは、整数)が設けられる。複数のストリームS1、S2、…、SNは、少なくとも一つのポートに設けられるが、互いに異なる帯域幅を有するマルチチャネルにより具現化されうる。一例として、データ送信装置10とデータ受信装置20とは、TCP(Transmission Control Protocol)チャネルを介して、ファイルを並列ストリーミング送信方式で送受信でき、これに限定されない。
本実施の形態によれば、データ送信のために接続するストリームS1、S2、…、SNの数は、データが送信されるネットワークの混雑率(congestion rate)に応じてリアルタイムで増加又は減少できる。すなわち、データ送信装置10とデータ受信装置20との間のデータ送信のために接続するストリームS1、S2、…、SNの個数は、ネットワーク混雑率に基づいて指数的に増加したり、線形的に減少できる。
図2は、本発明の一実施の形態に係るデータの並列送信のための第1データ送信装置及び第1データ受信装置を示すブロック図である。
図2に示すように、第1データ送信装置100は、第1ソケット管理部110、第1制御情報管理部120、第1通信部130及び第1ディスク制御部140を備える。
第1ソケット管理部110は、ターゲットデータの送信要請が受信されると、ターゲットデータの属性情報を含む基本制御情報を第1データ受信装置200に送信するためのソケットを生成する。「ソケット」とは、ターゲットデータの送信のために第1データ送信装置100と第1データ受信装置200とを接続するソフトウェア的装置であって、一つのソケットは、一つのストリームを構成できる。複数のストリームが構成される場合に、マルチチャネルが形成されてターゲットデータは、並列送信が可能である。
第1ソケット管理部110は、初期に使用されるストリームの接続個数を、第1通信部130と第2通信部210とで使用可能な帯域幅を最大限使用することができる最大接続個数として設定し、該設定された最大接続個数分だけのソケットを生成できる。「初期」とは、ターゲットデータを初めて第1データ受信装置200に送信する時を意味する。
第1制御情報管理部120は、第1ソケット管理部110でソケットの生成が完了すると、基本制御情報を構成する。基本制御情報は、ターゲットデータの送信のために、初期に第1データ送信装置100と第1データ受信装置200とが共有する情報である。
基本制御情報は、送信するターゲットデータのファイル名、ファイルサイズ、ストリームの個数、ディスクバッファサイズ、全体ブロック個数、ソケットバッファサイズ、IPアドレス、ポート情報及びセッションID(identification)などの情報を含む。ストリームの個数は、第1ソケット管理部110で初期生成された最大接続個数で、ディスクバッファサイズは、ディスクにデータを書き込むためにバッファに割り当てられたブロックのサイズ、ソケットバッファサイズは、送信プロトコルのカーネル端で使用するバッファのサイズ、IPアドレスは、データの送信に用いられるIPのアドレス、ポート情報は、データの送信に用いられるポートの情報、セッションIDは、各ストリームのIDである。
第1通信部130は、第1ソケット管理部110で生成された使用可能な最大接続個数分だけのソケットを利用して複数のストリームを構成し、該構成されたストリームと決まったプロトコルを利用して第1データ受信装置200と通信できる。第1通信部130は、第1制御情報管理部120で構成された基本制御情報をソケットのストリームを利用して第1データ受信装置200に送信する。第1通信部130は、基本制御情報を複数のストリームを利用して並列送信することもできる。
基本制御情報が送信された後、第1通信部130は、ターゲットデータを複数のストリームを利用して第1データ受信装置200に並列送信する。
第1ディスク制御部140は、HDD(Hard Disk Drive)のような格納媒体に記録されたターゲットデータを読み込んで、第1通信部130に提供する。第1ディスク制御部140は、ターゲットデータをディスクバッファサイズに該当するサイズに分割して読み出すことができる。
第1通信部130は、初期に設定された最大接続個数のストリームを利用してターゲットデータを第1データ受信装置200に並列送信できる。
ターゲットデータを送信する間に、変更されたストリームの接続個数が第1データ受信装置200から通知されると、第1ソケット管理部110は、以前に使用するように接続したストリームの個数を調節する。例えば、基本制御情報に含まれた最大接続個数が5個であるが、第1データ受信装置200から使用可能なストリームの個数として3が通知されると、第1ソケット管理部110は、使用可能なストリームの個数を3に調節する。したがって、第1通信部130は、3個のストリームを利用してターゲットデータを並列送信する。
一方、第1データ受信装置200は、第2通信部210、第2制御情報管理部220、第2ソケット管理部230、第2ディスク制御部240、送信速度算出部250、メモリ260及び並列接続管理部270を備える。
第2通信部210は、第1データ送信装置100から基本制御情報を受信して第2制御情報管理部220に提供する。
第2制御情報管理部220は、第2通信部210から提供された基本制御情報をパッシングして、基本制御情報に含まれた情報を確認する。第2制御情報管理部220は、確認された情報に基づいてターゲットデータの受信に必要な環境を設定する。例えば、第2制御情報管理部220は、基本制御情報に含まれた最大接続個数とソケットバッファサイズとを第2ソケット管理部230に通知する。また、第2制御情報管理部220は、ファイル名、ファイルサイズ、ディスクバッファサイズ及び全体ブロック個数を第2ディスク制御部240に通知し、IPアドレス、ポート情報及びセッションIDを第2通信部210に通知する。
第2ソケット管理部230は、第2制御情報管理部220から提供された最大接続個数とソケットバッファサイズとに基づいて、初期接続するストリーム個数を設定し、該設定された個数分だけのソケットを生成できる。第2ソケット管理部230は、ソケットバッファサイズに該当するサイズを有するソケットを生成できる。したがって、第2通信部210は、生成されたソケットの個数に該当するストリームを構成し、複数のストリームと決められたプロトコルを利用して第1データ送信装置100からターゲットデータを並列受信し、該受信されたターゲットデータを第2ディスク制御部240に提供できる。
第2ディスク制御部240は、第2制御情報管理部220から提供されたファイル名、ファイルサイズ、ディスクバッファサイズ及び全体ブロック個数に基づいて、受信されたターゲットデータをHDDのような格納媒体に格納することができる。特に、第2ディスク制御部240は、ディスクバッファサイズと全体ブロック個数とを参照して、ターゲットデータをバッファに一時格納した後、ディスクに格納することができる。
送信速度算出部250は、複数のストリームを利用して並列受信されるターゲットデータの送信速度を各ストリーム別に算出できる。送信速度は、ネットワークトラフィックのようなネットワーク混雑率の影響を受ける。すなわち、ネットワーク混雑率が大きいほど、データの送信速度は減少し、ネットワーク混雑率が小さいほど、データの送信速度は増加できる。したがって、算出された送信速度からネットワーク混雑率を予測し、該予測されたネットワーク混雑率に基づいてストリームの接続個数を調節できる。
このために、送信速度算出部250は、事前に決まったモニターリング時点ごとに又はモニターリング周期ごとに各ストリーム別にターゲットデータの送信速度を算出できる。後述する図3の場合に、t、t−1、t−2などがモニターリング時点であり、隣接するモニターリング時点間の間隔がモニターリング周期に該当する。モニターリング周期が経過すると、送信速度を算出しなければならないモニターリング時点になるので、モニターリング周期又はモニターリング時点は、結果的に同じ意味として使用されうる。したがって、以下では、説明の便宜のためにモニターリング周期とモニターリング時点とを混用する。
メモリ260は、揮発性メモリ又は不揮発性メモリであって、送信速度算出部250から算出された各ストリーム別ターゲットデータの送信速度をモニターリング時点ごとに格納することができる。表1は、メモリ260に各ストリーム別に格納されるターゲットデータの送信速度の一例を示す。
Figure 2012253765
[表1]を参照すれば、「bps」は、データの送信速度の単位であって、「ビット/秒」を意味する。すなわち、「bps」は、単位時間当りの受信ビット数に該当する。直近のモニターリング時点tにおいて第1ストリームS1に受信されたターゲットデータの送信速度は620kbps、第2ストリームS2に受信されたターゲットデータの送信速度は610kbps、第3ストリームS3に受信されたターゲットデータの送信速度は620kbpsであることが分かる。
並列接続管理部270は、複数のストリーム別に受信されるターゲットデータの送信速度の変化を利用してネットワーク混雑率を算出する。そして、並列接続管理部270は、算出されたネットワーク混雑率に基づいて、以前に設定された複数のストリームの接続個数を調節できる。
このために、並列接続管理部270は、ネットワーク混雑率算出部271及び接続個数計算部273を備える。
ネットワーク混雑率算出部271は、複数のストリーム別に受信されるデータの送信速度をメモリ260からモニターリング時点ごとに確認し、確認結果から送信速度の減少したストリームの個数を単位ウィンドウごとに確認する。ネットワーク混雑率算出部271は、単位ウィンドウごとに確認された送信速度の減少したストリームの個数を利用して、ネットワーク混雑率を算出できる。
詳細に説明すれば、ネットワーク混雑率算出部271は、減少ストリーム比率(すなわち、送信速度の減少したストリームの比率)を各単位ウィンドウ別に算出し、該算出した減少ストリーム比率を各単位ウィンドウのネットワーク混雑率のサブネットワーク混雑率として決める。「減少ストリーム比率」は、次の式1のように表すことができる。
Figure 2012253765
式中、減少ストリーム比率は、一つの単位ウィンドウに対する比率であって、単位ウィンドウで使用された全体ストリーム個数のうち、以前に比べてターゲットデータの送信速度の減少したストリームの個数を表す。ネットワーク混雑率算出部271は、式1を利用して単位ウィンドウ別に減少ストリーム比率を算出し、該算出した各減少ストリーム比率を各単位ウィンドウのサブネットワーク混雑率として決める。仮に、現在モニターリング時点において形成される単位ウィンドウでターゲットデータの送信に使用されたストリームの全体個数が15個で、送信速度の減少したストリームの個数が5個であると、単位ウィンドウのサブネットワーク混雑率は、
Figure 2012253765
になる。
そして、ネットワーク混雑率算出部271は、単位ウィンドウごとに算出されたサブネットワーク混雑率の平均をネットワーク混雑率として決めることができる。ネットワーク混雑率算出部271は、単位ウィンドウごとに算出されたサブネットワーク混雑率の合計を単位ウィンドウの個数で割り算をした前記平均(すなわち、ネットワーク混雑率)を求めることができる。ネットワーク混雑率算出部271は、式1を利用してネットワーク混雑率を算出できる。
Figure 2012253765
式中、Cは、現在モニターリング時点でのネットワーク混雑率、lは、ネットワーク混雑率に用いられる単位ウィンドウの個数、kは、各単位ウィンドウに用いられるモニターリング時点の個数である。aは、現在モニターリング時点で各単位ウィンドウ別にターゲットデータの送信に利用される全体ストリームの個数、nは、現在モニターリング時点に該当する単位ウィンドウ内で速度低下が発生したストリームの個数である。lは、ネットワーク混雑率に用いられる単位ウィンドウの個数であるから、サブネットワーク混雑率の平均を算出するのに用いられる。
式中、
Figure 2012253765
は、ネットワーク混雑率に利用された単位ウィンドウ別に送信速度の減少したストリームの個数を単位ウィンドウで使用されたストリームの個数で割り算をした結果をすべて加算した値であって、後述する図4Aの場合、
Figure 2012253765
でありうる。
各単位ウィンドウにおいてターゲットデータの送信に利用される全体ストリームの個数が単位ウィンドウごとに同じ場合、式2は、式3のように簡単に定義できる。
Figure 2012253765
式中、
Figure 2012253765
は、ネットワーク混雑率に利用された単位ウィンドウごとに送信速度の減少したストリームの個数を加算した結果であって、後述する図4Aの場合に、「9+9+8=26」でありうる。
式1〜式3を参照して説明したネットワーク混雑率算出部271の動作は、本実施の形態で提案する二重移動平均アルゴリズムに該当できる。二重移動平均アルゴリズムは、図4A及び図4Bを参照して後述する。
一方、ネットワーク混雑率算出部271は、ネットワーク混雑率の算出に用いられる単位ウィンドウの個数とモニターリング周期とを有線ネットワーク又は無線ネットワークの状況に応じて変更できる。ネットワークの状況は、例えば、パケット損失率とパケット往復時間(RTT:Round Trip Time)を含む。
例えば、パケット損失率が大きくなったりRTTが大きくなってネットワーク状況が悪くなると、ネットワーク混雑率算出部271は、モニターリング周期を増加させたり、単位ウィンドウの個数、又は単位ウィンドウに属するモニターリング時点の個数を増加させたりすることができる。これと反対に、ネットワークの状況が良くなると、ネットワーク混雑率算出部271は、ネットワーク混雑率算出に用いられるモニターリング周期を減少させたり、単位ウィンドウの個数又は単位ウィンドウに属するモニターリング時点の個数を減少させたりすることができる。また、ネットワークの状態が変わり続ける状況では、ネットワーク混雑率算出部271は、モニターリング周期を速くし、ネットワーク状態が変わる周期が相対的に長くなる状況では、モニターリング周期を遅くすることができる。
上述した「単位ウィンドウ」とは、複数のモニターリング時点の間に利用されたストリームからなり、各単位ウィンドウは、モニターリング時点を基準に移動平均アルゴリズムにより変更されうる。単位ウィンドウに対しては、図3を参照してより詳細に後述し、ネットワーク混雑率を二重移動平均と式2を利用して算出する方式については、図4A及び図4Bを参照してさらに詳細に後述する。
一方、接続個数計算部273は、ネットワーク混雑率算出部271から算出されたネットワーク混雑率に基づいて、以前に接続した複数のストリームの接続個数を指数的に増加させるか、又は線形的に減少させることができる。このために、接続個数計算部273は、算出されたネットワーク混雑率と設定された少なくとも一つの臨界値とを比較し、比較結果に応じてストリームの接続個数を増減させることができる。
詳細に説明すれば、接続個数計算部273は、算出されたネットワーク混雑率が第1臨界値TH1以下であると、接続している複数のストリームの接続個数を以前より指数的に増加させうる。
また、接続個数計算部273は、算出されたネットワーク混雑率が第1臨界値TH1より大きく第2臨界値TH2以下であると、複数のストリームの接続個数を以前より1個減少させることができる。「1」は、一例に過ぎず、変更可能である。
また、接続個数計算部273は、算出されたネットワーク混雑率が第2臨界値TH2より大きく第3臨界値TH3以下であると、複数のストリームの接続個数を以前よりm%(ここで、前記複数のストリームの接続個数×m%は、前記1より大きい)減少させることができる。「m」は、(複数のストリームの接続個数×m%)≧1になるようにする定数である。一実施の形態において、mは、10、20及び30のうちの何れか一つでありうる。
仮に、(複数のストリームの接続個数×m%)の結果が小数点で表現されると、接続個数計算部273は、結果を切り上げ又は切り捨てして接続個数を調節できる。例えば、(複数のストリームの接続個数×m%)の結果が3.1で、複数のストリームの接続個数が10であると、接続個数計算部273は、10−3=7により、ストリームの接続個数を10個から7個に減少させうる。
一実施の形態において、接続個数計算部273は、第1臨界値TH1=0.2、第2臨界値TH2=0.5、第3臨界値TH3=1を使用することができるが、これに限定されない。また、接続個数計算部273で使用する臨界値の個数もやはり3個に限定されず、3個以上又は3個以下になりうることはもちろんである。ネットワーク混雑率の最大値は1であるから、第3臨界値TH3の最大値も1である。
並列接続管理部270は、接続したストリームの個数が調節されると、該調節されたストリームの個数を第2ソケット管理部230に提供する。第2ソケット管理部230は、調節されたストリームの個数を参照して使用を一時停止するストリームのIDを第2通信部210に提供する。第2通信部210は、提供されたストリームのIDを第1通信部130に送信する。以後、第1通信部130と第2通信部210は、一時停止されたストリームを除いた残りのストリームを利用して、ターゲットデータを並列に送受信できる。
図3は、上述した単位ウィンドウを説明するための例示図である。
図3に示すように、tは、現在モニターリング時点、t−1は、以前モニターリング時点、t−2は、t−1以前のモニターリング時点である。したがって、tとt−1との時間差は、モニターリング周期に該当する。図3の実施の形態において、第1単位ウィンドウW1は、3個のモニターリング時点からなるか、又は3個のモニターリング時点の間に利用された15個のストリームからなる。S1〜S5は、モニターリング時点ごとにデータの送信に利用されたストリームのIDである。
●は、以前モニターリング時点に比べて送信速度が増加、同一又は10%未満に減少したストリーム、×は、以前モニターリング時点に比べて送信速度が10%以上減少したストリームのことを示す。現在モニターリング時点tと以前モニターリング時点t−1とを比較すると、第1ストリームS1に受信されたターゲットデータの送信速度は、現在モニターリング時点tにおいて以前モニターリング時点t−1に比べて減少したことが分かる。10%と単位ウィンドウをなすモニターリング時点の個数である3は、一例に過ぎず、これに限定されない。
第1単位ウィンドウW1で利用された全体ストリームの個数は15個で、ターゲットデータの送信速度の減少したストリームの個数(すなわち、×の個数)は9個である。したがって、第1単位ウィンドウW1の減少ストリーム比率、すなわち、サブネットワーク混雑率を、式1を参照して算出すれば、次の通りである。
Figure 2012253765
このような減少ストリーム比率は、第1単位ウィンドウW1で送信速度の減少したストリームの個数に対した単位ウィンドウ内の全体ストリームの個数であって、所定時間(すなわち、単位ウィンドウ)内で送信速度の減少したストリーム個数の平均を意味する。
図4Aは、本実施の形態に係る二重移動平均アルゴリズムを利用してネットワーク混雑率を算出する一例を説明するための例示図、図4Bは、図4Aの第1ないし第3単位ウィンドウをそれぞれ示す図である。
図4A及び図4Bに示すように、W1、W2及びW3は、それぞれネットワーク混雑率を算出するために用いられる第1ないし第3単位ウィンドウである。第1単位ウィンドウW1は、図3を参照して説明した単位ウィンドウと同一である。すなわち、第1単位ウィンドウW1は、3個のモニターリング時点t、t−1、t−2からなる。第2単位ウィンドウW2は、第1単位ウィンドウW1以前のウィンドウであって、3個のモニターリング時点であるt−1、t−2、t−3からなる。第3単位ウィンドウW3は、第2単位ウィンドウW2以前のウィンドウであって、3個のモニターリング時点であるt−2、t−3、t−4からなる。
ネットワーク混雑率算出部271は、第1ないし第3単位ウィンドウW1、W2、W3のそれぞれのサブネットワーク混雑率を算出する。このために、ネットワーク混雑率算出部271は、二重移動平均アルゴリズムを利用する。移動平均とは、趨勢の変動が分かるように区間を移しつつ求める平均である。図4Aの場合に、第1単位ウィンドウW1での移動平均は、第1単位ウィンドウW1で送信速度の減少したストリームの個数に対した単位ウィンドウ内の全体ストリームの個数であって、減少ストリームの比率又はサブネットワーク混雑率と同じ意味を有する。「二重移動平均」は、各単位ウィンドウ別に算出されたサブネットワーク混雑率の平均をさらに算出するという意味で定義された用語である。
以下、図4Bを参照して、第1ないし第3単位ウィンドウW1、W2、W3のそれぞれのサブネットワーク混雑率を算出する。
まず、第1単位ウィンドウW1の場合、ターゲットデータの送信に利用された全体ストリームの個数aは15個、現在モニターリング時点tに該当する第1単位ウィンドウW1内で速度低下が発生したストリームの個数nは9個である。したがって、第1単位ウィンドウW1のサブネットワーク混雑率は
Figure 2012253765
である。
第2単位ウィンドウW2の場合に、ターゲットデータの送信に利用された全体ストリームの個数at−1は15個、以前モニターリング時点t−1に該当する第2単位ウィンドウW2内で速度低下が発生したストリームの個数nt−1は9個である。したがって、第2単位ウィンドウW2のサブネットワーク混雑率は
Figure 2012253765
である。これは、第1単位ウィンドウW1を、モニターリング周期を基準に以前モニターリング時点t−1へ移動して第2単位ウィンドウW2を論理的に生成し、第2単位ウィンドウW2のサブネットワーク混雑率を算出したことであるので、第1単位ウィンドウW1を基準に第2単位ウィンドウW2に対して算出された移動平均である。
第3単位ウィンドウW3の場合に、ターゲットデータの送信に利用された全体ストリームの個数at−2は15個、以前モニターリング時点t−2に該当する第3単位ウィンドウW3内で速度低下が発生したストリームの個数nt−2は8個である。したがって、第3単位ウィンドウW3のサブネットワーク混雑率は
Figure 2012253765
である。
ネットワーク混雑率算出部271は、第1ないし第3単位ウィンドウW1、W2、W3のそれぞれに対するサブネットワーク混雑率を加算し、該加算した値を第1ないし第3単位ウィンドウW1、W2、W3の個数である3で割り算をしてネットワーク混雑率を算出する。これを、簡単に示す図が図4Aである。
また、図4Aに示すように、第1ないし第3単位ウィンドウW1、W2、W3のそれぞれに用いられるモニターリング時点の個数kは3個、ネットワーク混雑率に用いられる単位ウィンドウの個数lは3個、nは9個、nt−1は9個、nt−2は8個である。また、a、at−1及びat−2はそれぞれ15個である。
ネットワーク混雑率算出部271は、式1に前記定数を代入して現在モニターリング時点tでのネットワーク混雑率を算出できる。
Figure 2012253765
上記式のように現在モニターリング時点tでのネットワーク混雑率は、0.577であることが分かる。第2臨界値TH2が0.5で、第3臨界値TH3が1の場合、0.577は、第2臨界値TH2と第3臨界値TH3との間に位置する。したがって、接続個数計算部273は、St=St−1×(1−m%)を利用してネットワーク状態に適したストリーム個数を計算できる。例えば、これまで利用されたストリーム接続個数が10個で、m%のmが30である場合に、St=St−1×(1−0.3)=10×0.7=7であるから、接続個数計算部273は、計算されたストリーム接続個数を第2ソケット管理部230に提供する。これにより、ストリーム接続個数は、10個から7個に調節される。
以上のように、本発明の一実施の形態によってデータを受信する装置は、通信ユニット、接続管理ユニット、及びメモリを備えることによって具現化されることができる。
このとき、前記通信ユニットは、現在の複数接続した並列ストリームを介してデータを受信し、該受信されたデータを前記メモリに少なくとも一時的に格納することができる。前記接続管理ユニットは、現在の複数の接続に基づいてネットワーク混雑率を動的に算出でき、該算出されたネットワーク混雑率を利用して、現在複数の接続の個数を調節するかどうかを判断できる。そして、仮に前記接続個数を調節すると判断した場合、前記通信ユニットは、これから使用する複数の接続の個数を通知する変更通知を生成することができる。
前記実施の形態において、前記接続管理ユニットは、予め設定された数のモニターリング時点を有する現在のウィンドウに対して計算することによってネットワーク混雑率を算出でき、このとき、ネットワーク混雑率は、現在のウィンドウの前記予め設定された数のモニターリング時点の各々に対して複数の現在の接続ストリームのうち、減少された速度のストリームの個数に基づいて算出されうる。
前記実施の形態において、前記ネットワーク混雑率は、現在ウィンドウに直に連続する複数の先行ウィンドウに対して計算することによって算出されうる。
前記実施の形態において、この際のネットワーク混雑率は、現在のウィンドウの前記予め設定された数のモニターリング時点の各々に対して複数の現在の接続ストリームのうち、減少された速度のストリームの個数だけでなく現在ウィンドウに直に連続する複数の先行ウィンドウに対して計算することによって算出されうる。
前記実施の形態において、前記接続管理ユニットが複数の接続の個数を調節する場合、これから使用する複数の接続の個数が前記ネットワーク混雑率と一つ以上の臨界値との比較に基づいて設定されることができる。
このとき、これから使用する接続の新しい個数は、現在の接続個数と関連あり、前記新しい個数は、現在個数から指数的に増加するか、現在個数から線形的に減少するか、又は現在個数から漸進的に増減できる。
また、前記実施の形態において前記データを受信する装置は、受信されたデータが記録される格納手段をさらに備えることができる。
図5は、本発明の他の実施の形態に係るデータの並列送信のための第2データ送信装置及び第2データ受信装置を示すブロック図である。
図5に示すように、第2データ送信装置300は、第3ソケット管理部310、第3制御情報管理部320、第3ディスク制御部330及び第1バッファ管理部340を備える。図5に示す第3ソケット管理部310、第3制御情報管理部320及び第3ディスク制御部330は、図2を参照して説明した第1ソケット管理部110、第1制御情報管理部120、第1通信部130及び第1ディスク制御部140と類似の動作を行うので、詳細な説明は省略する。
第3ソケット管理部310は、ターゲットデータの送信要請が受信されると、ターゲットデータの属性情報を含む基本制御情報を第2データ受信装置400に送信するためのソケットを生成する。「ターゲットデータ」は、第2データ受信装置400に送信するデータであって、ファイル形態を有することができる。したがって、ターゲットデータとファイルとは、実質的に同じ意味を有することができ、図2では、ターゲットデータを例に挙げて説明したので、以下では、ファイルを例に挙げて説明する。
第3ソケット管理部310は、初期にストリームの接続個数を第2データ送信装置300と第2データ受信装置400で使用可能な帯域幅を最大限使用することができる最大接続個数として設定し、該設定された最大接続個数分だけのソケットを生成できる。第3ソケット管理部310は、最大接続個数分だけのソケットを利用して複数のストリームを構成し、該構成されたストリームと決まったプロトコルとを利用して第2データ受信装置400にファイルを並列送信できる。
ファイルを送信する間に第2データ受信装置400でストリーム接続個数が調節されると、第3ソケット管理部310は、以前に使用したストリームの接続個数を調節し、該調節された個数に対応するストリームを利用してファイルを第2データ受信装置400に並列送信する。
第3制御情報管理部320は、第3ソケット管理部310で複数のストリームが生成されると、基本制御情報を構成する。基本制御情報は、ファイルの送信のために初期に第2データ送信装置300と第2データ受信装置400とが共有する情報である。
第3ディスク制御部330は、HDDのような格納媒体に記録されたファイルを分割ファイル形態で読み込んでディスクバッファ(図示せず)に分割ファイル単位で格納し、ディスクバッファ(図示せず)に格納された分割ファイルを第1バッファ管理部340に伝達できる。これは、第3ディスク制御部330は、ディスクバッファサイズ(すなわち、ファイルブロックのサイズ)に該当するサイズにファイルを分割して読むためである。
第1バッファ管理部340は、第3ディスク制御部330によりディスクバッファ(図示せず)から入力される分割ファイルをバッファに一時格納する。
このために、第1バッファ管理部340は、第1未使用バッファキュー341及び第1バッファキュー343に分離されるバッファを備えることができる。第1バッファ管理部340のバッファを第1未使用バッファキュー341と第1バッファキュー343とに分離する理由は、第1バッファ管理部340のすべての領域を再使用するためである。これは、JAVA(登録商標)のようにOSに独立的な言語を利用して本実施の形態を具現する場合に、バッファを再度使用しないことによって発生できる ガベージコレクション(Garbage Collecting)によるオーバーヘッドを防止するためである。
第1未使用バッファキュー341は、ディスクバッファ(図示せず)から入力される分割ファイルを一時格納するための複数のファイルブロックを備えることができる。一つのファイルブロックには、一つの分割ファイルが格納されることができる。または、ファイルブロックは、分割ファイルをファイルブロックに割り当てられたサイズに再度分割して格納することもでき、このような場合、一つの分割ファイルは、複数のファイルブロックに分散格納されることができる。本実施の形態においては、後者を例に挙げて説明する。
第1未使用バッファキュー341のファイルブロックに分割ファイルが格納されると、第1バッファ管理部340は、ファイルブロックを第1バッファキュー343に格納することができる。
第1バッファキュー343は、第1未使用バッファキュー341から入力されるファイルブロックを一時格納する。第1バッファキュー343に格納されたファイルブロックは、ネットワークを介して第2データ受信装置400に伝達され、以後に用いられたファイルブロックは、再使用のために第1未使用バッファキュー341に再度返納される。第1未使用バッファキュー341と第1バッファキュー343とは、先入れ先出し方式に基づいて少なくとも一つのファイルブロックを一時格納する。
図6は、一実施の形態に係るファイルブロックの構造を示す図である。
図6に示すように、ファイルブロックは、ヘッダ及びペイロード(payload)に区分される。ヘッダには、ファイルブロックがデータであることを知らせるタグ情報、ファイルを識別するためのファイル固有のID情報、第3ソケット管理部310が読み込んだ分割ファイルがファイルのどの位置に属するかを知らせるデータアドレス情報、及び読み込んだ分割ファイルのサイズ情報(すなわち、ペイロードのサイズ情報)が記録されうる。ペイロードには、分割ファイルに含まれた実際データがペイロードに該当するサイズ分だけ記録されることができる。
図6のようなファイルブロックは、第2データ送信装置300だけでなく第2データ受信装置400の第2バッファ管理部430でも同様に用いられることができる。したがって、第2データ受信装置400は、ファイルブロックのデータアドレス情報から現在受信された分割ファイルがファイルのどの位置に属するかを把握できる。
また、図5を参照すれば、第3ソケット管理部310は、第1バッファキュー343にファイルブロックがあるかどうかを確認し、ファイルブロックがあると、格納されたファイルブロックを読み込んで送信ソケットバッファ(図示せず)に格納する。第3ソケット管理部310は、送信ソケットバッファ(図示せず)に格納されたファイルブロックを複数のストリームを利用して第2データ受信装置400に並列送信できる。第3ソケット管理部310は、並列送信のために上述したように複数のソケットを生成し、一つのソケットが一つのストリームを結ぶようにすることによって、分割ファイルを、並列ストリームを利用して並列送信できる。
このとき、第3ソケット管理部310は、複数のファイルブロックを各々のストリームを利用して並列送信するか、又は一つのファイルブロックを複数のストリームを利用して送信できる。以下、前者の場合を例に挙げて説明する。ただし、後者の場合、第3ソケット管理部310は、一つのファイルブロックをストリームの個数分だけ分割して複数のストリームを利用して送信できる。例えば、第3ソケット管理部310は、ファイルブロックをヘッダとペイロードとに分割し、ヘッダも情報別に分割した後、該分割された各々のデータを複数のストリームを利用して送信できる。
一方、第2データ受信装置400は、第4ソケット管理部410、第4制御情報管理部420、第2バッファ管理部430、第4ディスク制御部440及び並列ストリーム管理部450を備える。図5に示す第4ソケット管理部410、第4制御情報管理部420、第4ディスク制御部440及び並列ストリーム管理部450は、図2を参照して説明した第2通信部210、第2ソケット管理部230、第2制御情報管理部220、第2ディスク制御部240、送信速度算出部250及び並列接続管理部270と類似の動作を行うので、詳細な説明は省略する。
第4ソケット管理部410は、第2データ送信装置300から基本制御情報を受信して、第4制御情報管理部420に提供する。
第4制御情報管理部420は、第4ソケット管理部410から提供された基本制御情報をパッシングして、基本制御情報に含まれた情報を確認する。
また、第4ソケット管理部410は、基本制御情報のうち、最大接続個数とソケットバッファサイズとに基づいて接続するストリーム個数を設定し、該設定された個数分だけのソケットを生成できる。そして、第4ソケット管理部410は、生成されたソケットの個数に該当するストリームを構成して、第3ソケット管理部310とストリームとが接続されるようにする。第4ソケット管理部410は、接続した複数のストリームを利用して第2データ送信装置300からファイルブロックを並列受信し、該受信されたファイルブロックを第2バッファ管理部430に提供できる。受信された各ファイルブロックは、図6と同じ構造を有する。
第2バッファ管理部430は、第2未使用バッファキュー431及び第2バッファキュー433に分離されるバッファを備えることができる。
第4ソケット管理部410から受信されるファイルブロックがある場合に、第2未使用バッファキュー431から空いているファイルブロックを読み込んで第2バッファキュー433に受信されるファイルブロックを一時格納する。
第2バッファキュー433は、第2未使用バッファキュー431から入力されるファイルブロックを一時格納する。第2未使用バッファキュー431と第2バッファキュー433とは、先入れ先出し方式に基づいて少なくとも一つのファイルブロックを一時格納する。
第4ディスク制御部440は、基本制御情報のうち、ファイル名、ファイルサイズ、ディスクバッファサイズ及び全体ブロック個数に基づいて、受信されたファイルブロックをHDDのような格納媒体に格納することができる。特に、第4ディスク制御部440は、ディスクバッファサイズと全体ブロック個数とを参照して、第2バッファキュー433からファイルブロックを読み込んで格納媒体に格納する。
並列ストリーム管理部450は、第2データ送信装置300からファイルブロックらが並列受信されて第2データ受信装置400に格納される間に、モニターリング周期ごとにネットワーク混雑率を算出し、該算出されたネットワーク混雑率に基づいてストリーム接続個数を調節できる。
このために、並列ストリーム管理部450は、複数のストリームを利用して並列受信されるファイルブロックの送信速度をモニターリング時点ごとに各ストリーム別に算出して、メモリ(図示せず)に格納することができる。そして、並列ストリーム管理部450は、図4A及び図4Bを参照して、上述した二重移動平均アルゴリズムを利用してネットワーク混雑率を算出できる。簡略に説明すれば、並列ストリーム管理部450は、複数のストリーム別に受信されるファイルブロックの送信速度をモニターリング時点ごとに確認し、確認結果から送信速度の減少したストリームの個数を単位ウィンドウごとに確認する。並列ストリーム管理部450は、単位ウィンドウごとに確認された送信速度の減少したストリームの個数を利用して、ネットワーク混雑率を算出できる。並列ストリーム管理部450は、算出されたネットワーク混雑率と設定された臨界値とを比較して、以前に設定された複数のストリームの接続個数を指数的に増加させたり線形的に減少させたりすることができる。
並列ストリーム管理部450は、調節されたストリームの接続個数に対する情報を第4ソケット管理部410に提供する。
第4ソケット管理部410は、並列ストリーム管理部450から提供された接続個数に合せて、実際に使用するストリームを変更できる。例えば、ストリームの接続個数が5個から3個に減少した場合、第4ソケット管理部410は、5個のストリームのうち、使用する3個のストリームを決め、該決められたストリームを利用してファイルブロックを受信することができる。
図7は、本発明の実施の形態に係るデータの並列受信のためのストリーム制御方法を説明するためのフローチャートである。
図7のストリーム制御方法のためのデータ受信装置は、図2の第1データ受信装置200又は図5の第2データ受信装置400でありうる。
データ受信装置は、データ送信装置から複数のストリームを構成するソケットを介してターゲットデータを並列受信することができる(S710)。データ送信装置は、図2の第1データ送信装置100又は図5の第2データ送信装置300でありうる。
データ受信装置は、並列受信されたターゲットデータを格納媒体に格納する(S720)。
データ受信装置は、ステップS710にて受信されたターゲットデータの送信速度を各ストリーム別に算出してメモリに格納する(S730)。データ受信装置は、モニターリング周期ごとに、すなわち、ネットワーク混雑率を算出するように決められたモニターリング時点ごとに、各ストリーム別に送信速度を算出できる。
データ受信装置は、ステップS730にて算出された現在モニターリング時点でのストリーム別送信速度と、以前モニターリング時点で算出されたストリーム別送信速度とを比較して、送信速度の減少したストリームの個数を確認する(S740)。このとき、データ受信装置は、各単位ウィンドウ別に送信速度の減少したストリームの個数を確認することができる。
データ受信装置は、単位ウィンドウごとに確認された送信速度の減少したストリームの個数を利用して、各単位ウィンドウのネットワーク混雑率であるサブネットワーク混雑率を算出できる(S750)。データ受信装置は、単位ウィンドウで利用された全体ストリーム個数のうち、以前に比べて送信速度の減少したストリームの個数を表す減少ストリーム比率を式1を利用して算出し、該算出された減少ストリーム比率を単位ウィンドウのサブネットワーク混雑率として決めることができる。データ受信装置は、単位ウィンドウ別にサブネットワーク混雑率を算出する。
データ受信装置は、ステップS750にて算出された各単位ウィンドウのサブネットワーク混雑率の平均を求め、該求めた結果を現在モニターリング時点でのネットワーク混雑率として決めることができる(S760)。サブネットワーク混雑率の平均は、サブネットワーク混雑率を加算した結果を各単位ウィンドウの個数で割り算をして求めることができる。
データ受信装置は、ステップS760にて算出されたネットワーク混雑率と少なくとも一つの臨界値とを比較して、現在ネットワーク状況に適したストリーム接続個数を計算できる(S770)。データ受信装置は、算出されたネットワーク混雑率に基づいて、以前に接続したストリームの接続個数を指数的に増加させたり線形的に減少させたりすることができる。ステップS770は、図8を参照してさらに詳細に説明する。
データ受信装置は、ステップS770にて計算されたストリーム接続個数に合せて、ターゲットデータの並列受信に使用するストリームの個数を調節し、該調節されたストリームを利用してターゲットデータをデータ送信装置から並列受信できる(S780)。データ送信装置もやはり、データ受信装置から調節されたストリームの接続個数が通知されて、ストリームの接続個数を調節できることはもちろんである。
図8は、図7のステップS770に記載されたストリーム接続個数を計算する方法を説明するためのフローチャートである。
図8に示すように、データ受信装置は、ステップS760にて算出されたネットワーク混雑率Cと第1臨界値TH1とを比較する(S810)。ネットワーク混雑率Cのtは、現在モニターリング時点を意味する。
比較結果、ネットワーク混雑率Cが第1臨界値TH1以下であると(S810−Y)、データ受信装置は、接続しているストリームの接続個数St−1を指数的に増加させることができる(S820)。図8において「St−1」は、ステップS710にてターゲットデータを受信する時に使用したストリームの個数、すなわち、以前に使用したストリームの個数であり、「S」は、増減されたストリーム接続個数、「n」は、自然数として1を例に挙げることができるが、1だけでなくネットワーク状況に応じて適応的に変更されうる。
これに対し、ネットワーク混雑率Cが第1臨界値TH1以下でないと(S810−N)、データ受信装置は、ネットワーク混雑率Cと第2臨界値TH2とを比較する(S830)。
比較結果、ネットワーク混雑率Cが第1臨界値TH1より大きく第2臨界値TH2以下であると(S830−Y)、データ受信装置は、接続しているストリームの接続個数St−1を1個減少させることができる(S840)。
これに対し、ネットワーク混雑率Cが第2臨界値TH2より大きく第3臨界値TH3以下であると(S850−Y)、データ受信装置は、接続しているストリームの接続個数St−1をm%減少させることができる。「m」は、(複数のストリームの接続個数×m%)≧1になるようにする定数である。例えば、n=30で、ストリームの接続個数St−1が10であると、10×30%=3であるから、データ受信装置は、10個のストリーム接続個数を3個減少させて、結果的に7個のストリームを使用することができる。
図9は、本発明の他の実施の形態に係るデータの並列受信のためのストリーム制御方法を説明するためのフローチャートである。
図9のストリーム制御方法のためのデータ送信装置とデータ受信装置は、図2の第1データ送信装置100と第1データ受信装置200であるか、又は図5の第2データ送信装置300と第2データ受信装置400でありうる。
データ送信装置は、ファイル送信要請が受信されると、割り当てられた帯域幅をすべて使用することができるストリーム接続個数を決め、ストリーム接続個数分だけのソケットを生成する(S905)。
データ送信装置は、一つ以上のソケットを利用してファイルの属性情報を含む基本制御情報をデータ受信装置に送信する(S910)。
データ受信装置は、ステップS910により受信した基本制御情報を利用して、ファイル受信のための環境を設定する(S915)。一例として、データ受信装置は、基本制御情報のうち、最大接続個数とソケットバッファサイズとに基づいて、接続するストリーム個数を設定し、設定された個数に該当するソケットを生成できる。
データ送信装置は、HDDのような格納媒体に記録されたファイルを分割ファイルの形態で読み込んで、バッファキューにファイルブロック単位で格納することができる(S920)。バッファキューは、図5の第1未使用バッファキュー341と第1バッファキュー343でありうる。
データ送信装置は、ステップS920にてバッファキューに格納された少なくとも一つのファイルブロックを読み込んで、送信ソケットバッファに格納する(S925)。
データ送信装置は、送信ソケットバッファに格納された少なくとも一つのファイルブロックをステップS905にて構成された複数のストリームを利用してデータ受信装置に並列送信できる(S930)。
データ受信装置は、ステップS930により並列受信されるファイルブロックを受信ソケットバッファに格納する(S935)。
データ受信装置は、受信ソケットバッファに格納された少なくとも一つのファイルブロックをバッファキューに一時格納する(S940)。バッファキューは、図5の第2未使用バッファキュー431と第2バッファキュー433でありうる。
データ受信装置は、バッファキューに格納された少なくとも一つのファイルブロックをHDDのような格納媒体に格納する(S945)。
データ受信装置は、データ送信装置からファイルブロックが並列受信されて格納媒体に格納される間に、すなわち、ステップS935〜S945が行われる間に、モニターリング周期又はモニターリング時点を確認する(S950)。
モニターリング時点になると(S950−Y)、データ受信装置は、二重移動平均アルゴリズムを利用してネットワーク混雑率を算出できる(S955)。データ受信装置は、図7のステップS730〜S760において説明した方式又は図4Aと図4Bを参照して説明した方式を利用して、ネットワーク混雑率を算出できる。
データ受信装置は、ステップS955にて算出されたネットワーク混雑率と少なくとも一つの臨界値とを比較して、現在ネットワーク状況に適したストリーム接続個数Sを計算できる(S960)。データ受信装置は、図8を参照して説明した方式を利用して、ストリーム接続個数Sを計算できる。
データ受信装置は、ステップS960にて計算されたストリーム接続個数Sを利用して、実際に使用するストリームを調節できる(S965)。
データ受信装置は、調節されたストリームの接続個数Stをデータ送信装置に通知する(S970)。
データ送信装置は、通知されたストリーム接続個数Sに合せてターゲットデータの並列送信に使用するストリーム個数を調節する(S975)。
データ送信装置は、ステップS975にて調節された接続個数Sのストリームを利用してファイルを並列送信する(S980)。
本発明は、WANネットワーク区間において既存のFTPなどの送信方式でファイルを送信した時に使用可能なネットワーク帯域幅を効率的に使用できないことによる送信速度の低下をソフトウェア的なアルゴリズムである並列TCPでいくつかのチャネルを介してファイルを多重送信することで、帯域幅の使用効率を増加させ、結果的にファイルの送信速度を向上させることができる。
また、本発明は、並列TCPを介したファイルの高速送信の際に、ネットワーク混雑に応じる送信速度の制御のために、二重移動平均基盤ストリーム接続術制御アルゴリズムを提案し、これを通じて既存のソフトウェア基盤の高速送信方式において問題となる帯域幅占有現象を解決できる。
上述した実施の形態は、データを高速送信するためのあらゆる分野で活用が可能である。例えば、本実施の形態は、メディアファイル(動画、写真、音楽等)をやりとりしたウェブサイトやプログラム、容量の大きな3D映画ファイルを遠距離にある機器同士で送受信する状況でも用いられることができる。また、本実施の形態は、遠距離にあるデータセンター間のバックアップやファイル送信にも活用できる。
また、本発明の実施の形態によれば、WAN(Wireless Area Network)区間で既存のFTP(File Transfer Protocol)のような送信方式でファイルを送信する場合、使用可能なネットワーク帯域幅を効率的に使用できないことによる送信速度の低下をソフトウェア的なアルゴリズムである並列TCPでいくつかのチャネルを介してファイルを多重送信することによって帯域幅の使用効率を増加させ、結果的にファイルの送信速度を向上させることができる。
また、本発明は、並列TCPを介したファイルの高速送信の際にネットワーク混雑に応じる送信速度を制御するために、二重移動平均基盤ストリーム接続術制御アルゴリズムを提案し、これを通じて既存のソフトウェア基盤の高速送信方式において問題となった帯域幅占有現象を解決できる。
以上、本発明は、限定された実施形態と図面により説明されたが、本発明は、上記の実施形態に限定されるものではなく、本発明が属する分野における通常の知識を有した者であればこのような記載から多様な修正及び変形が可能である。したがって、本発明の範囲は、説明された実施形態に限定されてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって定められねばならない。
100 第1データ送信装置
110 第1ソケット管理部
120 第1制御情報管理部
130 第1通信部
140 第1ディスク制御部
200 第1データ受信装置
210 第2通信部
220 第2制御情報管理部
230 第2ソケット管理部
240 第2ディスク制御部
250 送信速度算出部
260 メモリ
270 並列接続管理部
300 第2データ送信装置
310 第3ソケット管理部
320 第3制御情報管理部
330 第3ディスク制御部
340 第1バッファ管理部
400 第2データ受信装置
410 第4ソケット管理部
420 第4制御情報管理部
430 第2バッファ管理部
440 第4ディスク制御部
450 並列ストリーム管理部

Claims (20)

  1. 複数の接続したストリームを利用して、データを並列受信するステップと、
    前記複数のストリーム別に受信されるデータの送信速度の変化を利用して、ネットワーク混雑率を算出するステップと、
    前記算出されたネットワーク混雑率に基づいて、前記複数のストリームの接続個数を調節するステップと、
    前記調節された個数のストリームを利用して、前記データを並列受信するステップと
    を含むことを特徴とするデータの並列受信のためのストリーム制御方法。
  2. 前記ネットワーク混雑率を算出するステップは、
    前記複数のストリーム別に受信されるデータの送信速度をモニターリング時点ごとに確認するステップと、
    前記データの送信速度の減少したストリームの個数を単位ウィンドウ(複数のモニターリング時点からなる)ごとに確認するステップと、
    前記単位ウィンドウごとに確認された前記データの送信速度の減少したストリームの個数を利用して、前記ネットワーク混雑率を算出するステップと
    を含むことを特徴とする請求項1に記載のデータの並列受信のためのストリーム制御方法。
  3. 前記データの送信速度の減少したストリームの個数を利用して、前記ネットワーク混雑率を算出するステップは、
    前記各単位ウィンドウで利用された全体ストリーム個数のうち、以前に比べて前記データの送信速度の減少したストリームの個数を表す減少ストリーム比率を前記各単位ウィンドウ別に算出して、前記各単位ウィンドウのサブネットワーク混雑率として決めるステップと、
    前記単位ウィンドウごとに算出された前記サブネットワーク混雑率の合計を前記各単位ウィンドウの個数で割り算をした結果を前記ネットワーク混雑率として決めるステップと
    を含むことを特徴とする請求項2に記載のデータの並列受信のためのストリーム制御方法。
  4. 前記ネットワーク混雑率を算出するステップは、
    前記複数のストリームを利用して受信されるデータの送信速度を前記モニターリング時点ごとに算出して格納するステップをさらに含むことを特徴とする請求項2に記載のデータの並列受信のためのストリーム制御方法。
  5. 前記ネットワーク混雑率を算出するステップは、
    複数のモニターリング時点(前記複数のストリーム別に受信されるデータの送信速度を確認する周期)からなる単位ウィンドウごとに前記データの送信速度の変化を考慮してサブネットワーク混雑率を算出するステップと、
    前記単位ウィンドウごとに算出されたサブネットワーク混雑率の平均を算出して、前記ネットワーク混雑率として決めるステップと
    を含むことを特徴とする請求項1に記載のデータの並列受信のためのストリーム制御方法。
  6. 前記複数のストリームの接続個数を調節するステップは、
    前記算出されたネットワーク混雑率に基づいて前記複数のストリームの接続個数を指数的に増加させたり線形的に減少させたりすることを特徴とする請求項1に記載のデータの並列受信のためのストリーム制御方法。
  7. 前記複数のストリームの接続個数を調節するステップは、
    前記算出されたネットワーク混雑率と設定された少なくとも一つの臨界値とを比較するステップと、
    前記少なくとも一つの臨界値との比較結果に応じて、前記ストリームの接続個数を増減させるステップと
    を含むことを特徴とする請求項1に記載のデータの並列受信のためのストリーム制御方法。
  8. 前記増減させるステップは、
    前記算出されたネットワーク混雑率が第1臨界値以下であると、前記複数のストリームの接続個数を以前より指数的に増加させることを特徴とする請求項7に記載のデータの並列受信のためのストリーム制御方法。
  9. 前記増減させるステップは、
    前記算出されたネットワーク混雑率が前記第1臨界値より大きく第2臨界値以下であると、前記複数のストリームの接続個数を以前より1個減少させ、前記算出されたネットワーク混雑率が前記第2臨界値より大きく第3臨界値以下であると、前記複数のストリームの接続個数を以前よりm%(ここで、前記複数のストリームの接続個数×m%は、前記1より大きい)減少させることを特徴とする請求項8に記載のデータの並列受信のためのストリーム制御方法。
  10. 前記データの並列受信のために許容される初期ストリームの接続個数は、使用可能な帯域幅を最大限使用するようにする最大接続個数として設定されることを特徴とする請求項1に記載のデータの並列受信のためのストリーム制御方法。
  11. 複数のストリーム別に並列受信されるデータの送信速度の変化を利用してネットワーク混雑率を算出し、該算出されたネットワーク混雑率に基づいて前記複数のストリームの接続個数を調節する並列接続管理部と、
    前記並列接続管理部により調節された接続個数のストリームを利用して前記データを並列受信する通信部と
    を備えることを特徴とするデータの並列受信のための装置。
  12. 前記並列接続管理部は、
    前記複数のストリーム別に受信されるデータの送信速度をモニターリング時点ごとに確認し、前記確認結果、単位ウィンドウ(複数のモニターリング時点からなる)ごとに前記データの送信速度の減少したストリームの個数を利用して、前記ネットワーク混雑率を算出するネットワーク混雑率算出部を備えることを特徴とする請求項11に記載のデータの並列受信のための装置。
  13. 前記ネットワーク混雑率算出部は、
    前記各単位ウィンドウで利用された全体ストリーム個数のうち、以前に比べて前記データの送信速度の減少したストリームの個数を表す減少ストリーム比率を前記各単位ウィンドウ別に算出して前記各単位ウィンドウのサブネットワーク混雑率として決め、前記単位ウィンドウごとに算出された前記サブネットワーク混雑率の合計を前記各単位ウィンドウの個数で割り算をして前記ネットワーク混雑率として決めることを特徴とする請求項12に記載のデータの並列受信のための装置。
  14. 前記複数のストリームを利用して受信されるデータの送信速度を前記モニターリング時点ごとに算出する送信速度算出部と、
    前記モニターリング時点ごとに算出されたデータの送信速度を格納するメモリと
    をさらに備えることを特徴とする請求項12に記載のデータの並列受信のための装置。
  15. 前記ネットワーク混雑率算出部は、
    複数のモニターリング時点(前記複数のストリーム別に受信されるデータの送信速度を確認する周期)からなる単位ウィンドウごとに前記データの送信速度の変化を考慮してサブネットワーク混雑率を算出し、前記単位ウィンドウごとに算出されたサブネットワーク混雑率の平均を算出して前記ネットワーク混雑率として決めることを特徴とする請求項11に記載のデータの並列受信のための装置。
  16. 前記並列接続管理部は、
    前記算出されたネットワーク混雑率に基づいて前記複数のストリームの接続個数を指数的に増加させたり線形的に減少させたりする接続個数計算部を備えることを特徴とする請求項11に記載のデータの並列受信のための装置。
  17. 前記並列接続管理部は、
    前記算出されたネットワーク混雑率と設定された少なくとも一つの臨界値とを比較し、前記少なくとも一つの臨界値との比較結果に応じて前記ストリームの接続個数を増減させる接続個数計算部を備えることを特徴とする請求項11に記載のデータの並列受信のための装置。
  18. 前記接続個数計算部は、
    前記算出されたネットワーク混雑率が第1臨界値以下であると、前記複数のストリームの接続個数を以前より指数的に増加させることを特徴とする請求項17に記載のデータの並列受信のための装置。
  19. 前記接続個数計算部は、
    前記算出されたネットワーク混雑率が前記第1臨界値より大きく第2臨界値以下であると、前記複数のストリームの接続個数を以前より1個減少させ、前記算出されたネットワーク混雑率が前記第2臨界値より大きく第3臨界値以下であると、前記複数のストリームの接続個数を以前よりm%(ここで、前記複数のストリームの接続個数×m%は、前記1より大きい)減少させることを特徴とする請求項17に記載のデータの並列受信のための装置。
  20. 前記データの並列受信のために許容される初期ストリームの接続個数を前記通信部で使用可能な帯域幅を最大限使用するようにする最大接続個数として設定するソケット管理部をさらに備えることを特徴とする請求項11に記載のデータの並列受信のための装置。
JP2012123469A 2011-05-31 2012-05-30 データの並列受信のためのストリーム制御方法及び装置 Active JP5405625B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0052405 2011-05-31
KR1020110052405A KR101231294B1 (ko) 2011-05-31 2011-05-31 데이터의 병렬 수신을 위한 스트림 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2012253765A true JP2012253765A (ja) 2012-12-20
JP5405625B2 JP5405625B2 (ja) 2014-02-05

Family

ID=46275694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012123469A Active JP5405625B2 (ja) 2011-05-31 2012-05-30 データの並列受信のためのストリーム制御方法及び装置

Country Status (5)

Country Link
US (1) US9059936B2 (ja)
EP (1) EP2530889B1 (ja)
JP (1) JP5405625B2 (ja)
KR (1) KR101231294B1 (ja)
CN (1) CN102811166B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6002953B2 (ja) * 2013-08-30 2016-10-05 ニューロネット株式会社 通信品質測定制御装置、通信装置、およびプログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104969534B (zh) * 2012-10-18 2018-07-24 吉拉飞克科技股份有限公司 可动态扩大通信链接吞吐量的拥塞控制方法
US9900408B2 (en) * 2012-11-08 2018-02-20 At&T Intellectual Property I, L.P. Delivery of media content to a media device via multiple data packet streams
US9007924B2 (en) * 2013-01-29 2015-04-14 Hewlett-Packard Development Company, L.P. Balancing load distributions of loopback ports
US9203777B2 (en) * 2013-02-12 2015-12-01 Time Warner Cable Enterprises Llc Adaptive bit rate admission control of a shared resource
KR102127672B1 (ko) * 2013-04-18 2020-06-29 삼성전자주식회사 멀티미디어 전송 네트워크에서 미디어 전송의 제어 방법 및 장치
US10776325B2 (en) * 2013-11-26 2020-09-15 Ab Initio Technology Llc Parallel access to data in a distributed file system
US9565590B2 (en) * 2014-01-10 2017-02-07 Qualcomm Incorporated Systems and methods for modem control based on feedback
KR101591061B1 (ko) * 2014-12-30 2016-02-02 주식회사 코난테크놀로지 실시간 처리를 위한 전송 라이브러리 시스템 및 그 시스템에서의 송/수신 방법
CA3010007C (en) * 2015-12-31 2020-07-14 DISH Technologies L.L.C. Systems and methods for bandwidth estimation in oscillating networks
CN105933230A (zh) * 2016-04-01 2016-09-07 浪潮电子信息产业股份有限公司 一种多节点的数据传输方法、节点及计算机系统
CN106656840B (zh) * 2016-11-25 2019-11-08 杭州安恒信息技术股份有限公司 一种应用于网络爬虫的动态流量控制方法
KR102622268B1 (ko) * 2017-02-03 2024-01-05 삼성에스디에스 주식회사 병렬 tcp 가속을 이용한 실시간 멀티미디어의 전송 방법 및 시스템
US10587668B2 (en) * 2017-10-18 2020-03-10 Citrix Systems, Inc. Method to determine optimal number of HTTP2.0 streams and connections for better QoE
CN108924205B (zh) * 2018-06-25 2022-09-06 北京旷视科技有限公司 数据传输方法、装置、电子设备、网闸适配器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JP2004260668A (ja) * 2003-02-27 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 動画像伝送システム、動画像送信装置、動画像中継装置、動画像受信装置、プログラム、および記録媒体
JP2010067015A (ja) * 2008-09-11 2010-03-25 National Institute Of Information & Communication Technology ファイル送信装置、ファイル受信装置、ファイル送受信システム及びそのプログラム
JP2010198187A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> iSCSIセッションのTCPコネクション数制御方法、iSCSIホスト装置、およびiSCSIイニシエータの構成プログラム。

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021804A1 (en) 2001-05-08 2005-01-27 Heino Hameleers Method and system for controlling the transmission of media streams
US7073118B2 (en) 2001-09-17 2006-07-04 Digeo, Inc. Apparatus and method for saturating decoder values
KR100408525B1 (ko) 2001-10-31 2003-12-06 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
US7796517B2 (en) * 2004-06-28 2010-09-14 Minghua Chen Optimization of streaming data throughput in unreliable networks
US7487206B2 (en) 2005-07-15 2009-02-03 International Business Machines Corporation Method for providing load diffusion in data stream correlations
US7734810B2 (en) * 2007-06-12 2010-06-08 Cisco Technology, Inc. Optimizations for TCP connection setup and teardown
US7659208B2 (en) * 2007-12-06 2010-02-09 Micron Technology, Inc Method for forming high density patterns
ATE492967T1 (de) 2008-10-30 2011-01-15 Alcatel Lucent Verfahren zum aufteilen eines multiplexpaketstroms und entsprechendes aufteilungssystem
EP2237496A1 (en) * 2009-03-31 2010-10-06 BRITISH TELECOMMUNICATIONS public limited company Pre-congestion notification (PCN) as a base for admission control and flow termination

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JP2004260668A (ja) * 2003-02-27 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 動画像伝送システム、動画像送信装置、動画像中継装置、動画像受信装置、プログラム、および記録媒体
JP2010067015A (ja) * 2008-09-11 2010-03-25 National Institute Of Information & Communication Technology ファイル送信装置、ファイル受信装置、ファイル送受信システム及びそのプログラム
JP2010198187A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> iSCSIセッションのTCPコネクション数制御方法、iSCSIホスト装置、およびiSCSIイニシエータの構成プログラム。

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6002953B2 (ja) * 2013-08-30 2016-10-05 ニューロネット株式会社 通信品質測定制御装置、通信装置、およびプログラム

Also Published As

Publication number Publication date
KR20120133658A (ko) 2012-12-11
US9059936B2 (en) 2015-06-16
CN102811166A (zh) 2012-12-05
JP5405625B2 (ja) 2014-02-05
KR101231294B1 (ko) 2013-02-07
CN102811166B (zh) 2015-05-20
US20120307636A1 (en) 2012-12-06
EP2530889B1 (en) 2014-07-23
EP2530889A1 (en) 2012-12-05

Similar Documents

Publication Publication Date Title
JP5405625B2 (ja) データの並列受信のためのストリーム制御方法及び装置
JP7496022B2 (ja) クライアント、サーバ、受信方法及び送信方法
JP2014517571A (ja) 階層型スケジューリングおよびシェーピング
EP2802170A1 (en) Method, system and device for service rate control
WO2013025409A1 (en) Method and apparatus for controlling wireless uplink sessions
WO2017185951A1 (zh) 一种视频传输方法、基站及系统
US9537930B2 (en) Information system, file server, and file server control method
US20160117148A1 (en) Data transmitter apparatus and method for data communication using the same
GB2523568A (en) Method for processing requests and server device processing requests
JPWO2013042758A1 (ja) コンテンツ配信システム、キャッシュサーバおよびコンテンツ配信方法
US20140082144A1 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
CN113032410A (zh) 数据处理方法、装置、电子设备及计算机存储介质
US20160267037A1 (en) Buffer management method and apparatus for universal serial bus communication in wireless environment
JP2009027303A (ja) 通信装置および通信方法
WO2018180394A1 (ja) 通信装置、メディア配信システム、メディア配信方法および非一時的なコンピュータ可読媒体
JP2008067102A (ja) コンテンツ配信サーバ
JP6886874B2 (ja) エッジ装置、データ処理システム、データ送信方法、及びプログラム
CN103166872A (zh) 网络中流量转发的方法和网络设备
JP2021039802A (ja) データ処理システム、及びデータ処理方法
CN111385223B (zh) 流控方法、设备、系统及存储介质
KR101017352B1 (ko) 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
JP2009212632A (ja) 通信装置および通信方法
US10772010B2 (en) Transmission apparatus, method for controlling transmission, and recording medium
JPWO2019070020A1 (ja) データ通信装置、通信システム、データ通信方法及びプログラム
US20230066060A1 (en) Routing of bursty data flows

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

R150 Certificate of patent or registration of utility model

Ref document number: 5405625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250