JP2016139903A - 通信装置、及びそのデータ中継方法 - Google Patents
通信装置、及びそのデータ中継方法 Download PDFInfo
- Publication number
- JP2016139903A JP2016139903A JP2015013238A JP2015013238A JP2016139903A JP 2016139903 A JP2016139903 A JP 2016139903A JP 2015013238 A JP2015013238 A JP 2015013238A JP 2015013238 A JP2015013238 A JP 2015013238A JP 2016139903 A JP2016139903 A JP 2016139903A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication device
- sctp
- communication
- transmission
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/155—Ground-based stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】メモリに滞留する転送対象のデータの量を抑える。
【解決手段】通信装置は、送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、メモリに記憶されたデータを転送先へ転送する転送部と、転送先へのデータ転送に係る値が所定範囲となった場合に送信元への応答の送信を禁止する制御部とを含む。
【選択図】図11
【解決手段】通信装置は、送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、メモリに記憶されたデータを転送先へ転送する転送部と、転送先へのデータ転送に係る値が所定範囲となった場合に送信元への応答の送信を禁止する制御部とを含む。
【選択図】図11
Description
本開示は、通信装置、及びそのデータ中継方法に関する。
Third Generation Partnership Project(3GPP)で標準化された第3世代移動体通信システム(3G)では、無線ネットワークは、基地局と、基地局の上位装置として基地局を制御する無線ネットワーク制御装置(Radio Network Control:RNC) とを備える
。基地局とRNCとの通信を制御するプロトコルの一つとして、Stream Control Transmission Protocol(SCTP)が用いられている。3Gの次世代の移動体通信規格には、Long Term Evolution(LTE)やその改良版であるLTE−A(LTE-Advanced)がある。
LTEやLTE−Aにおいても、基地局と、基地局の上位装置であるMobility Management Entity(MME)との間でSCTPを用いた通信が行われている。
。基地局とRNCとの通信を制御するプロトコルの一つとして、Stream Control Transmission Protocol(SCTP)が用いられている。3Gの次世代の移動体通信規格には、Long Term Evolution(LTE)やその改良版であるLTE−A(LTE-Advanced)がある。
LTEやLTE−Aにおいても、基地局と、基地局の上位装置であるMobility Management Entity(MME)との間でSCTPを用いた通信が行われている。
例えば、或る基地局が、上位装置との間でSCTPに基づく通信路(コネクション、セッションともいう)を確立し、当該通信路を用いて上位装置からデータを受信する。一方、基地局は、他の基地局とSCTPに基づく通信路を確立し、当該通信路を用いて上位装置から受信されたデータを転送する。SCTPにおいて、通信路は、「アソシエーション」と呼ばれる。
SCTPでは、「チャンク」と呼ばれる交換単位で通信が行われ、送受信間において、送信対象のデータを含んだチャンク(データチャンクと呼ばれる)の到達順を保証する。このため、例えば、データの受信側は、データの送信側に対し、受信に成功したデータを示すSelective Acknowledge(SACK:選択的確認応答)チャンクと呼ばれるチャンク
を送信する。送信側は、SACKチャンクの内容を参照して、受信側に届いていないデータの再送を行う。
を送信する。送信側は、SACKチャンクの内容を参照して、受信側に届いていないデータの再送を行う。
上記のような、基地局が上位装置と他の基地局との間の中継装置として動作することによってデータの中継が行われる場合に、基地局と他の基地局との間の通信環境が基地局と上位装置との間の通信環境よりも低度であることがある。例えば、上位装置と基地局との間のアソシエーションを用いた通信に利用可能な帯域より基地局と他の基地局との間のアソシエーションを用いた通信に利用可能な帯域が狭い場合がある。
この場合、単位時間当たりの上位装置から受信されるデータ量と単位時間当たりの他の基地局へ送信可能なデータ量との差を吸収するため、基地局が上位装置からの転送対象のデータを記憶するメモリの容量が大きくなる問題があった。さらに、メモリに記憶されたデータは、他の基地局からの再送要求に備えて、他の基地局からデータの受信がSACKにて承認されない限り、メモリから削除することができない。このため、基地局と他の基地局との間の通信品質が悪く、データの再送が頻発するような状況下では、基地局は、データ再送に備えてデータをメモリに記憶し続ける。このような場合も考慮に入れると、基地局が備えるメモリ容量がさらに増大していた。
本発明の一態様は、メモリに滞留する転送対象のデータの量を抑えることができる技術を提供することを目的とする。
本発明の一態様は、通信装置である。この通信装置は、送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、メモリに記憶されたデータを転送先へ転送する転送部と、転送先へのデータ転送に係る値が所定範囲となった場合に送信元への応答の送信を禁止する制御部とを含む。
本発明の一態様によれば、メモリに滞留する転送対象のデータの量を抑えることができる。
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。
〔参考例〕
最初に、参考例について説明する。図1および図2は、参考例に係る通信システムを示す図である。図1では、通信システムの例として、通信装置#2が中継装置として動作し、SCTPを用いて通信装置#1からのデータを通信装置#3に中継する通信システムが図示されている。SCTPは、「送信元がデータの受信状況を示す応答(SACK)を受けてデータの送信又は再送を行うプロトコル」の一例である。
最初に、参考例について説明する。図1および図2は、参考例に係る通信システムを示す図である。図1では、通信システムの例として、通信装置#2が中継装置として動作し、SCTPを用いて通信装置#1からのデータを通信装置#3に中継する通信システムが図示されている。SCTPは、「送信元がデータの受信状況を示す応答(SACK)を受けてデータの送信又は再送を行うプロトコル」の一例である。
図1には、SCTP終端装置10を有する通信装置#1と、SCTP終端装置20を有する通信装置#2とがインターネット30を介して接続されている。通信装置#2は、SCTP終端装置40を有する通信装置#3と、インターネット50を介して接続されている。通信装置#1は、例えば、RNC又はMMEのような上位装置であり、通信装置#2および通信装置#3は、例えば基地局のような無線通信装置である。
SCTP終端装置10は、通信装置#2との通信を制御するためのアプリケーションインタフェース(API)11と、通信装置#2との通信を行うためのSCTP処理部12とを含む。また、SCTP終端装置10は、SCTP処理部12と外部との間のメッセージおよび信号の送信および受信の管理を行う通信制御部(C−CONT.)13と、ネットワークとの送信処理および受信処理を行うネットワークインタフェースカード(NIC)14とを含む。
SCTP終端装置20は、API11,SCTP処理部12,通信制御部13,NIC1
4と同様の機能をそれぞれ有するAPI21と、SCTP処理部22と、通信制御部23と、NIC24とを備える。SCTP終端装置40も、API11,SCTP処理部12,通信制御部13,NIC14と同様の機能をそれぞれ有するAPI31と、SCTP処理
部32と、通信制御部33と、NIC34とを備える。
4と同様の機能をそれぞれ有するAPI21と、SCTP処理部22と、通信制御部23と、NIC24とを備える。SCTP終端装置40も、API11,SCTP処理部12,通信制御部13,NIC14と同様の機能をそれぞれ有するAPI31と、SCTP処理
部32と、通信制御部33と、NIC34とを備える。
通信装置#1が通信装置#2と通信を行う場合には、SCTP終端装置10とSCTP終端装置20との間で「アソシエーション」と呼ばれるコネクション(セッション)を背設定する。アソシエーションはSCTPリンクとも呼ばれる。アソシエーション中には、複数の「ストリーム」と呼ばれる論理チャネルを設定することができる。アソシエーションで転送されるデータは、アソシエーション内で生成されたストリームのいずれかを用いて転送される。アソシエーションは「コネクション」の一例であり、ストリームは「チャネル」の一例である。
アソシエーションの確立は、SCTPイニシャライズ(初期化)と呼ばれる手順により行われる。SCTPイニシャライズ(以下単にイニシャライズともいう)は、送受信間で、INITチャンク,INIT ACKチャンク,SCTP COOKIE ECHOチャンク,SCTP COOKIE ACKチャンクを送受信することで行われる。SCTPイニシャライズは、「4ウェイ
ハンドシェイク」と呼ばれることもある。イニシャライズの完了後、アソシエーションを用いてデータを送信可能な状態となる。
ハンドシェイク」と呼ばれることもある。イニシャライズの完了後、アソシエーションを用いてデータを送信可能な状態となる。
通信装置#1は通信装置#2とイニシャライズを実行し、SCTP終端装置10とSCTP終端装置20との間(インターネット30)でSCTPでの接続(アソシエーション1(アソシエーションA1))を確立する。通信装置#1は、アソシエーションA1内に生成されたストリーム1(ストリームA1S1)を用いて、通信装置#2へデータを送信する。
通信装置#2は、SCTPにしたがって受信されたデータを通信装置#3に転送する。この場合、SCTP終端装置20とSCTP終端装置40とがSCTPイニシャライズを行い、SCTP終端装置20とSCTP終端装置40との間(インターネット50上)でアソシエーション2(アソシエーションA2))を確立する。通信装置#2は、アソシエーションA2内に設けられたストリーム1(ストリームA2S1)を用いてデータを通信装置#3へ送信する。通信装置#2では、アソシエーションA1(ストリームA1S1)とアソシエーションA2(ストリームA2S1)とが関連づけられ、転送制御が行われる。
図2に示すように、通信装置#1(SCTP終端装置10)と通信装置#2(SCTP終端装置20)との間のSCTP通信に係る環境が高速,広帯域,高品質であると仮定する。これは、通信装置#2(SCTP終端装置20)と通信装置#3(SCTP終端装置40)とのSCTP通信に係る環境との比較における評価である。すなわち、通信装置#2と通信装置#3との通信環境は、通信装置#1と通信装置#2との通信環境に比べて低速,狭帯域,低品質であると仮定する。
上記のような仮定において、SCTP終端装置10からのデータをSCTP終端装置20が受信し、SCTP終端装置40にデータを転送する場合には、以下のような動作が行われる。
SCTP終端装置10から送信されるデータは、SCTP終端装置20のSCTP処理部22における通信装置#1と通信装置#2との間の通信に係る処理25にて処理され、メモリ(バッファともいう)26に記憶される。メモリ26に記憶されたデータは、SCTP処理部22における通信装置#2と通信装置#3との間の通信に係る処理61にて処理され、通信装置#3(SCTP終端装置40)へ送信される。
図2において、通信装置#1から通信装置#2へSCTPを用いて送信可能な単位時間当たりのデータをe11として示す。データe11は、メモリ26に記憶される。一方、通信装置#2と通信装置#3の間の通信環境は、通信装置#1と通信装置#2との間の通信環境に比べて低速,狭帯域,低品質である。このため、通信装置#2が単位時間当たりに通信装置#3へSCTPで送信可能なデータ量はe21であり、データe11よりも少ない。データe11からデータe21を減じた残りのデータは、メモリ26における滞留データe22となる。換言すれば、メモリ26の容量は、滞留データe22を記憶可能な容量とされる。
図3は、SCTPによるアソシエーションの確立およびデータ転送の一例を示す図である。図3は、SCTP終端装置20がSCTPサーバとしてSCTP終端装置10と接続する例について説明する。
図3において、SCTP終端装置20のAPI21は、SCTP処理部22に対してSCTP接続待ちの設定を行う(s01)。次に、SCTP終端装置10での送信制御が行われる(s02)。すなわち、SCTP処理部12によって、SCTP接続要求(INITチャンク)がSCTP終端装置10からSCTP終端装置20(SCTP処理部22)へ送信される(s03)。通信装置#2では、NIC24および通信制御部(C−CONT.)23を通じてSCTP接続要求がSCTP処理部22に受信される。これによって
、SCTPイニシャライズが開始される。
、SCTPイニシャライズが開始される。
SCTP処理部22は、SCTPイニシャライズを通じて、送信制御情報の設定を行う(s04)。アソシエーションA1が確立されると、SCTP処理部22は、SCTP終
端装置10(SCTP処理部12)へSCTP接続応答(INIT ACKチャンク)を送信する(s05)。なお、実際のイニシャライズでは、上述したように、さらにSCTP COOKIE ECHOチャンクとSCTP COOKIE ACKチャンクとの送受信が行われるが、図3では説明
を省略する。
端装置10(SCTP処理部12)へSCTP接続応答(INIT ACKチャンク)を送信する(s05)。なお、実際のイニシャライズでは、上述したように、さらにSCTP COOKIE ECHOチャンクとSCTP COOKIE ACKチャンクとの送受信が行われるが、図3では説明
を省略する。
アソシエーションA1のイニシャライズが完了すると、SCTP処理部22は、API21へアソシエーションA1が確立されたことを通知する(s06)。次に、SCTP処理部22は、アソシエーションA2の確立手順を行う。すなわち、SCTP処理部22は、通信装置#3(SCTP終端装置40のSCTP処理部42)へSCTP接続要求(INTチャンク)を送信する(s07)。
SCTP処理部42は、SCTP接続要求を受信すると、SCTPイニシャライズを開始し、送信制御情報の設定を行う(s08)。アソシエーションA2が確立されると、SCTP処理部42は、SCTP終端装置20(SCTP処理部22)へSCTP接続応答(INIT ACKチャンク)を送信する(s09)。SCTP処理部22は、SCTP接続応答を受信すると、API21へアソシエーションA2が確立されたことを通知する(s10)。API21は、アソシエーションA1(ストリームA1S1)とアソシエーションA2(ストリームA2S1)とをデータ転送のために関連づけて記憶する。
その後、SCTP処理部12は、アソシエーションA1のストリームA1S1を用いた送信を決定し(s11)、ストリームA1S1を用いてデータを送信する(s12)。SCTP処理部22は、データを受信すると、データの受信をSACKの送信により通信装置#1(SCTP処理部12)に通知する(s13)。データはメモリ26に記憶される。また、SCTP処理部22は、データの受信をAPI21に通知する(s13a)SACKは、「応答」の一例である。
API21は、アソシエーション(ストリーム)の関連づけ情報に基づき、データがストリームA1S1への転送対象であると判定すると(s14)、SCTP処理部22に転送を指示する(s15)。SCTP処理部22は、アソシエーションA2のストリームA2S1を用いてデータを通信装置#3へ転送する(s16)。SCTP処理部22は、データが通信装置#3(SCTP終端装置40)で正常に受信された場合には、正常受信を示すSACKを受信する(s17)。
図4は、図3に示したようなデータ転送におけるデータ再送に係る問題を示す図である。図4のs11にて、通信装置#1でデータ送信処理が行われ、データがストリームA1S1を用いて送信される(s12)。このとき、データが通信装置#2で受信されることなく欠落したと仮定する(s12A)。通信装置#1のSCTP処理部12は、データを送信すると、データ受信を示すSACKを待機する状態となる。所定時間の待機によってもSACKが受信されない場合、SCTP処理部12は、リトライ時間をまって、データの再送を行う(s12B)。再送によって送信されたデータが通信装置#2で正常に受信されると、SCTP処理部22は、データの受信をSACKによりSCTP処理部12へ通知する(s13)。また、SCTP処理部22は、API21にデータ受信を通知する(s13a)。
図4におけるs14,s15,s16は、図3のs14,s15,s16と同じである。但し、図4では、s16にて送信されたデータが、通信装置#3で受信されることなく欠落した場合を想定する(s16A)。理由としては、図2を用いて説明したように、通信装置#2と通信装置#3との間の通信環境が通信装置#1と通信装置#2との間の通信環境より悪いことが考えられる。
この場合、SCTP処理部22は、通信装置#3からのデータ受信を示すSACKを待機する(s17)。しかし、SACKが所定時間受信されない場合には、SCTP処理部22は、データの再送を行う(s18)。再送されたデータに対するSACKが受信できない場合には、再送が繰り返される(s18A,s19,s19A,s20,s20A,s2
1,s22)。
1,s22)。
s22で再送されたデータが通信装置#3で正常に受信された場合には、データの受信を示すSACKをSCTP処理部22は受信する(s23)。この間、メモリ26に空き容量がある限り、通信装置#1からはデータが送信され続ける。一方で、SCTP処理部22は、SCTPに従い、厳密なデータ送信順序でのデータ転送を通信装置#3に対して実行する。このため、データ再送が繰り返されている間は、メモリ26(バッファ)にてデータが保持され続ける。
従って、参考例では、転送先へのデータ再送に備えてメモリ26の容量が大きくなっていた。以下に説明する実施形態では、メモリ26に滞留するデータの量を抑えることができ、これによってメモリ26の容量を削減することのできる通信システムについて説明する。
〔実施形態〕
図5は、実施形態に係る通信システムの構成例を示す図である。図5に示す通信システムは、通信装置#1と、インターネット30を介して通信装置#1に接続された通信装置#2と、インターネット50を介して通信装置#2に接続された通信装置#3を備える点で、参考例(図1)の通信システムと同じである。
図5は、実施形態に係る通信システムの構成例を示す図である。図5に示す通信システムは、通信装置#1と、インターネット30を介して通信装置#1に接続された通信装置#2と、インターネット50を介して通信装置#2に接続された通信装置#3を備える点で、参考例(図1)の通信システムと同じである。
但し、実施形態では、中継装置として動作する通信装置#2としてSCTP終端装置20Aを有する通信装置が適用されている点において、実施形態は参考例と異なる。以下、通信装置#2(SCTP終端装置20A)の構成について説明する。
<通信装置#2の構成>
図6は、実施形態に係る通信装置#2(SCTP終端装置20A)に適用可能な通信装置(基地局)のハードウェア構成例を示す図である。図6において、通信装置100は、バスBを介して相互に接続されたCentral Processing Unit(CPU)101,Digital Signal Processor(DSP)102,NIC103,記憶装置104,および無線送受信
回路105を含む。無線送受信回路105は送受信アンテナ106と接続されている。
図6は、実施形態に係る通信装置#2(SCTP終端装置20A)に適用可能な通信装置(基地局)のハードウェア構成例を示す図である。図6において、通信装置100は、バスBを介して相互に接続されたCentral Processing Unit(CPU)101,Digital Signal Processor(DSP)102,NIC103,記憶装置104,および無線送受信
回路105を含む。無線送受信回路105は送受信アンテナ106と接続されている。
記憶装置104は、主記憶装置と補助記憶装置とを含む。主記憶装置は、例えば、Random Access Memory(RAM)、或いは、RAMとRead Only Memory(ROM)との組み合わせを含む。主記憶装置は、CPU101の作業領域として使用される。また、主記憶装置に含まれるROMは、例えば、プログラム(ファームウェア)やファームウェアの実行に際して使用されるデータを記憶する。
補助記憶装置は、CPU101によって使用されるプログラム(オペレーティングシステム(OS),アプリケーションプログラム)や、プログラムの実行に際して使用されるデータを記憶する。補助記憶装置は、例えば、ハードディスクドライブ(HDD),Solid State Drive(SSD),フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory(EEPROM)などから少なくとも1つ選択することができる。補助記憶装置は、ディスク記憶媒体(CD,DVD,ブルーレイディスクなど)を含み得る。
CPU101は、記憶装置104に記憶されたプログラムを主記憶装置の作業領域にロードして実行することにより、所定の処理を実行する。例えば、CPU101は、プログ
ラムの実行によってAPI及びSCTP処理部として動作することができる。
ラムの実行によってAPI及びSCTP処理部として動作することができる。
DSP102は、通信装置#1および通信装置#3との通信で送受信される信号の送受信に係る処理を行う。また、DSP102は、基地局が無線端末と無線通信を行うためのディジタルベースバンド処理(BB処理)を行うベースバンド部(BB部)として動作する。BB処理は、データに対する符号化および変調を行ってBB信号を生成する処理と、BB信号に対する復調および復号を行ってデータを得る処理を含む。
NIC103は、ネットワークとの信号の送受信処理を司るインタフェース回路である。無線送受信回路105は、DSP102からのBB信号に対する変調処理(アナログ信号への変換),アナログ信号の無線周波数へのアップコンバート,およびアップコンバートされた信号の増幅を行う。増幅された信号(無線信号)は、送受信アンテナ106から放射され、図示しない無線端末にて受信される。送受信アンテナ106で受信される無線端末からの無線信号は、無線送受信回路105にて低雑音増幅され、ダウンコンバートされ、復調処理によってディジタル信号(BB信号)に変換され、DSP102へ送られる。
記憶装置104の夫々は、「記憶装置」,「メモリ」,「コンピュータ読み取り可能な記憶媒体」の一例である。CPU101およびDSP102の夫々は、「プロセッサ」,「マイクロプロセッサ」,「制御装置」,「コントローラ」,「制御部」の一例である。NICは、「転送部」の一例である。
なお、通信装置100のハードウェア構成は、通信装置#1および通信装置#2にも夫々適用可能である。なお、CPU101およびDSP102で実行される処理は、電気・電子回路、集積回路,半導体デバイスのうちの少なくとも1つを用いて実行されるようにしても良い。集積回路は、Integrated Circuit(IC),Large Scale Integrated circuit(LSI),Application Specific Integrated Circuit(ASIC)のうちの少なく
とも一つを含む。半導体デバイスは、Field Programmable Gate Array(FPGA)のよ
うなプログラマブルロジックデバイス(PLD)を含む。
とも一つを含む。半導体デバイスは、Field Programmable Gate Array(FPGA)のよ
うなプログラマブルロジックデバイス(PLD)を含む。
図7は、通信装置100を適用した通信装置#2の構成を模式的に示す図である。図7に示すように、CPU101は、プログラムの実行によって、API21およびSCTP処理部22として動作する。API21は、通信データ処理部211と、管理部212とを含む。通信データ処理部211は、データ転送に係る情報の収集部213と、SACK制御部214とを含む。
SCTP処理部22は、通信アソシエーション制御部221を含む。通信アソシエーション制御部221は、アソシエーションの確立、切断、ストリームの生成、シーケンス番号に基づく転送制御および再送制御など、SCTPに基づく処理を行う。記憶装置104の少なくとも一方には、品質データ(品質情報ともいう)の記憶領域261が設けられている。通信アソシエーション制御部221は、SCTPの制御を通じて得られたSCTP通信の品質に係る情報を、記憶領域261に品質データとして記憶する。
API21の収集部213は、所定のタイミング(リアルタイム,ランダム,一定周期のいずれでも良い)で、記憶領域261から品質データを読み出し、通信状況の管理テーブル262に記憶する。管理テーブル262は、通信装置#2から通信装置#3へのSCTP通信に関する通信状況を示す値と、各情報に関する閾値とを記憶している。管理テーブル262は、記憶装置104の少なくとも一方に記憶されている。SACK制御部214は、管理テーブル262に記憶された通信状況を示す値が閾値を超過する場合に、通信装置#1から通信装置#2へのデータ送信を抑止するための制御を行う。
DSP102は、通信制御部(C−CONT.)23として動作する。DSP102は
、フィルタ217と、タイマ218とを含む。フィルタ217は、SACK制御部214からの指示に従って、通信装置#1へ送信されるSACKや、通信装置#3から送信されたSACKをフィルタリング(廃棄)する。タイマ28は、所定時間を計時する。なお、フィルタ217が行うフィルタリングは、CPU101によって実行されるようにしても良い。
、フィルタ217と、タイマ218とを含む。フィルタ217は、SACK制御部214からの指示に従って、通信装置#1へ送信されるSACKや、通信装置#3から送信されたSACKをフィルタリング(廃棄)する。タイマ28は、所定時間を計時する。なお、フィルタ217が行うフィルタリングは、CPU101によって実行されるようにしても良い。
なお、通信装置#1および通信装置#3として動作する通信装置100では、CPU101がAPI11(41)およびSCTP処理部12(42)として動作する。また、DSP102が、通信制御部13(43)として動作する。NIC103は、NIC24(44)として動作する。但し、通信装置#1および通信装置#3は、管理部212,管理
テーブル262,フィルタ231を備えていなくても良い。
テーブル262,フィルタ231を備えていなくても良い。
図5に示す通信装置#2(SCTP終端装置20A)には、図7に示した構成要素に対応する構成要素が図示されている。図5におけるSCTP終端装置20Aでは、API21に関して管理部212および管理テーブル262が図示されている。また、通信アソシエーション制御部221によって実行される処理として、通信装置#1と通信装置#2との間のSCTP通信に係る処理25と、通信装置#2と通信装置#3とのSCTP通信に係る処理61とが図示されている。また、通信制御部23によって行われる処理として、通信装置#1と通信装置#2との間で送受信される信号のフィルタリング処理F1と、通信装置#2と通信装置#3との間で送受信される信号のフィルタリング処理F2とが図示されている。
<データ転送に係る値>
管理テーブル262に記憶される、転送先へのデータ転送に係る値について説明する。転送先へのデータ転送に係る値は、転送先との通信状況を示す値を含むことができる。通信状況を示す値(パラメータ)としては、転送先へのデータの再送に係る値(例えば、SCTP再送回数,SCTP再送確率,再送間隔の少なくとも1つ)を含む。また、転送先へのデータ転送に係る値は、送信元からのデータ受信量,バッファ量,信号の廃棄量,Round-Trip Time(RTT:往復遅延時間),スループットなどを含み、これらのパラメー
タから少なくとも1つを選択することができる。
管理テーブル262に記憶される、転送先へのデータ転送に係る値について説明する。転送先へのデータ転送に係る値は、転送先との通信状況を示す値を含むことができる。通信状況を示す値(パラメータ)としては、転送先へのデータの再送に係る値(例えば、SCTP再送回数,SCTP再送確率,再送間隔の少なくとも1つ)を含む。また、転送先へのデータ転送に係る値は、送信元からのデータ受信量,バッファ量,信号の廃棄量,Round-Trip Time(RTT:往復遅延時間),スループットなどを含み、これらのパラメー
タから少なくとも1つを選択することができる。
SCTP再送回数は、通信装置#3(転送先)へ転送したデータの再送回数を示す。再送回数が所定の閾値を超える範囲になった場合に、SACK制御が実行される。SCTP再送確率は、通信装置#3へのデータ転送における単位時間当たりのデータの再送確率を示す。SCTP再送確率が所定の閾値を超える範囲になった場合に、SACK制御が実行される。
再送間隔は、通信装置#3へのデータの再送が発生する時間間隔(例えば単位時間当たりの平均値)を示す。再送間隔が所定の閾値よりも短くなる範囲になった場合に、SACK制御が実行される。データ受信量は、通信装置#1(送信元)からの単位時間当たりの送信元からのデータ受信量(データの受信サイズ)を示す。データ受信量が所定の閾値を超える範囲になった場合に、SACK制御が実行される。データ受信量は、データサイズであっても、DATAチャンクの数であっても良い。
バッファ量は、例えば、通信装置#1からのデータ記憶に利用可能なメモリ(バッファ)26の残りサイズを示す。残りサイズとして、a_rwnd値(Advertised Receiver Window Credit:受信ウィンドウ保証量)を用いることができる。バッファ量(残りサイ
ズ)が所定の閾値より少ない範囲になった場合に、SACK制御が実行される。バッファ
量として、バッファ滞留量を用いることもできる。バッファ滞留量とは、メモリ(バッファ)26に滞留しているデータサイズを示す。データサイズが所定の閾値を超える範囲になった場合に、SACK制御が実行される。
ズ)が所定の閾値より少ない範囲になった場合に、SACK制御が実行される。バッファ
量として、バッファ滞留量を用いることもできる。バッファ滞留量とは、メモリ(バッファ)26に滞留しているデータサイズを示す。データサイズが所定の閾値を超える範囲になった場合に、SACK制御が実行される。
信号の廃棄量は、通信装置#1からの信号ないし要求の廃棄量を示す。廃棄量が所定の閾値を超える範囲になった場合に、SACK制御が実行される。スループットは、通信装置#2(転送元)から通信装置#3(転送先)への単位時間当たりの送信データ量を示す。スループットが所定の閾値より低い範囲になったときに、SACK制御を実行することができる。スループットの測定手法は既存のあらゆる手法を適用可能である。
RTTは、通信装置#3へ信号を送ってから応答が戻ってくるまでの時間を示す。SCTPでは、アソシエーションが確立されている経路に対して生存確認が実施される。生存確認は、送信元がSCTP HEART BEAT チャンクを送信先へ送り、送信先からSCTP HEART BEAT ACKチャンクを受信することで行われる。このような、SCTP HEART BEAT チャンクの送
信からSCTP HEART BEAT ACKチャンクの受信までの時間をRTTとして計測することがで
きる。但し、RTTを測定するための信号種別及び測定方法は、SCTP HEART BEAT チャンクに限定されない。RTTが所定の閾値を超える範囲になった場合に、SACK制御が実行される。
信からSCTP HEART BEAT ACKチャンクの受信までの時間をRTTとして計測することがで
きる。但し、RTTを測定するための信号種別及び測定方法は、SCTP HEART BEAT チャンクに限定されない。RTTが所定の閾値を超える範囲になった場合に、SACK制御が実行される。
上記した転送先へのデータ転送に係る値のそれぞれは、通信環境の変化に応じて変動するパラメータであるが、SACK制御の実施・不実施は、固定パラメータに従って実行されるようにすることもできる。固定パラメータとしては、転送先との通信プロトコル種別,通信レートがある。
転送先との通信プロトコル種別は、通信装置#2が通信装置#3へデータを転送するのに使用するプロトコル種別を示す。例えば、プロトコル種別がPPPoE(Point-to-Point Protocol over Ethernet(登録商標))のような、通常、低速回線に用いられるプロ
トコルである場合に、SACK制御が実行される。通信レートは、通信装置#2が通信装置#3へ送信を行うためのネットワークの通信速度を示す。通信速度が閾値を超える場合に、SACK制御が実行される。もちろん、通信中に通信レートが変動する場合には、通信レートが所定の閾値より低い範囲になったときにSACK制御が実行されるようにすることができる。
トコルである場合に、SACK制御が実行される。通信レートは、通信装置#2が通信装置#3へ送信を行うためのネットワークの通信速度を示す。通信速度が閾値を超える場合に、SACK制御が実行される。もちろん、通信中に通信レートが変動する場合には、通信レートが所定の閾値より低い範囲になったときにSACK制御が実行されるようにすることができる。
以下に示す実施形態では、SCTP再送回数,データ受信量,及びバッファ残量(残りバッファサイズ)が通信状況を示す値として使用される例について説明する。但し、通信状況を示す値がこれらに限定されず、さらに上記例示した値以外の値も含み得ることは当然のことである。以下、SCTP再送回数,データ受信量,及びバッファ残量を纏めて品質データと称する。但し、このことは、SCTP再送回数,データ受信量,及びバッファ残量以外のパラメータが「品質データ」から除外されることを意味しない。
<管理テーブルのデータ構造例>
図8は管理テーブル262のデータ構造例を示す。管理テーブル262は、SCTPのアソシエーション毎に、品質データと、品質データの閾値と、制御モードを示す情報とを記憶している。図8に示す例では、品質データの一例として、SCTP再送回数と、データ受信量と、滞留バッファ量の測定値が記憶される。また、SCTP再送回数と、データ受信量と、バッファ残量に対応する閾値が記憶される。
図8は管理テーブル262のデータ構造例を示す。管理テーブル262は、SCTPのアソシエーション毎に、品質データと、品質データの閾値と、制御モードを示す情報とを記憶している。図8に示す例では、品質データの一例として、SCTP再送回数と、データ受信量と、滞留バッファ量の測定値が記憶される。また、SCTP再送回数と、データ受信量と、バッファ残量に対応する閾値が記憶される。
図9は、管理テーブル262に記憶される制御モードの一例を示す説明図である。図9に示す例では、制御モードとして、モード1からモード5が示されている。モード1では、制御対象が指定される。モード1に対応する値として、制御対象のアソシエーション番
号が記憶される。
号が記憶される。
モード2では、SACK制御における制御方法が指定される。モード2に対応する値として、例えば、SACKの破棄を示す値、SACKの送信破棄を示す値、SACKの指定時間内の破棄を示す値、データ破棄を示す値が記憶される。指定時間は、通信装置#1へのSACK送信が禁止される時間を示す。
モード3では、SACK制御における制御方法が指定される。モード3に対応する値として、Transmission Sequence Number(TSN:送信シーケンス番号)の更新の停止を示す値が記憶される。モード4では、独立通信路の構築を示す値が記憶される。例えば、SCTPアソシエーションの新規作成を示す値や、SCTPストリームの新規作成を示す値が記憶される。モード5は、能力情報の通知、統計情報、限界情報を示す値が記憶される。例えば、測定値情報の通知を指定する値や、SCTPアソシエーションの割当可能な滞留数(バッファサイズ)の通知を指定する値が記憶される。
<通信システムにおける動作例>
図10および図11は、実施形態に係る通信システム(図5)の動作例を示すシーケンス図である。図10において、通信装置#2(SCTP終端装置20A)は、SCTPに従って、通信装置#1から受信したデータを通信装置#3へ転送する処理を行っている(図10<1>)。これに伴い、通信アソシエーション制御部221は、記憶装置104の記憶領域261に通信装置#3へのデータ転送に係る品質データを記憶する。
図10および図11は、実施形態に係る通信システム(図5)の動作例を示すシーケンス図である。図10において、通信装置#2(SCTP終端装置20A)は、SCTPに従って、通信装置#1から受信したデータを通信装置#3へ転送する処理を行っている(図10<1>)。これに伴い、通信アソシエーション制御部221は、記憶装置104の記憶領域261に通信装置#3へのデータ転送に係る品質データを記憶する。
通信装置#2のAPI21における収集部213(CPU101)は、周期的に起動し(図10<2>)、記憶領域261に記憶された品質データを収集し(図10<3>,<4>)、管理テーブル262に記憶する(図10<5>)。
すると、SACK制御部214(CPU101)は、管理テーブル262(図8)を参照し、通信装置#2と通信装置#3との間のアソシエーションA2(図5)に関して、品質データの各項目と閾値とを比較し、閾値を超過する項目があるか否かを判定する(図10<6>)。
この場合、SACK制御部214は、モード情報(図9)に従ったSACK制御の設定を行う。例えば、SACK制御部214は、通信装置#1から受信されたデータに対するSACKを破棄するように、フィルタ231に対する設定を行う(図10<7>)。フィルタ231は、SACK制御部214からの指示に従ってSACKを破棄する状態になる(図10<8>)。
その後、図11に示すように、フィルタ設定変更の後に、通信装置#1がデータ送信処理を行う(図11<1>)。これによって、データ(データチャンク)がストリームA1S1を介して通信装置#2のSCTP処理部22にて受信される(図11<2>)。
SCTP処理部22は、受信したデータチャンク中のデータをメモリ26に記憶(バッファリング)するとともに、SACK(SACKチャンク)を生成し、通信装置#1へ向けて送信する(図11<3>)。但し、当該SACKは、通信制御部23(DSP102)のフィルタ231によって破棄される(図11<4>)。
通信装置#1では、SACKの待機時間が満了してもSACKを受信できないので、リトライ時間の満了後に、データの再送を行う(再送1、図11<5>)。通信装置#2では、フィルタリング設定に従い、データに対するSACKを破棄する(図11<6>,<7>)。通信装置#1では、SACKを受信できないので、データの再送をさらに行う(
再送2、図11<8>)。このように、フィルタリング設定(SACK制御)がなされている間は、通信装置#1からのデータ送信が実質的に停止する。
再送2、図11<8>)。このように、フィルタリング設定(SACK制御)がなされている間は、通信装置#1からのデータ送信が実質的に停止する。
なお、図11の<2>及び<5>で受信されるデータは、SACKが破棄される場合には、通信装置#3へ送信しないようにすることができる。例えば、メモリ(バッファ)26に記憶する前に破棄する。或いは、一端メモリ26に記憶しておき、通信装置#3への送信時に、フィルタ231(図5のF2)にて破棄しても良い。
図11に示していないが、品質データの収集及び閾値判定は、例えば周期的に実施される。品質データの収集により、管理テーブル262に記憶される測定値は更新される。更新の結果、各測定値がいずれの閾値も超過しない状態になることがある。この場合、上記したようなフィルタリング設定は解除される。
図11の再送2のデータが送信された時点では、フィルタリング設定が解除されていると仮定する。この場合、SCTP処理部22から送信されるSACKは、フィルタ231で破棄されることなく通信装置#1へ送信される(図11<9>)。一方、SCTP処理部22は、API21にデータ受信を通知し(図11<10>)、API21からの転送指示を得て(図11<11>,<12>)、データを通信装置#3へ転送する(図11<13>)。その後、通信装置#2は、通信装置#3からデータ受信を示すSACKを受信する(図11<14>)。SACKがデータ受信の承認を示す場合には、データがメモリ26から削除される。
以上のように、動作例によれば、通信装置#3へのデータ転送に係る値(動作例ではデータ転送に関して測定された測定値)が閾値を超過する範囲(所定範囲)になった場合には、通信装置#1へのSACKが破棄(SACK送信が禁止)される。これによって、通信装置#1からのデータ送信を実質的に停止することができる。このため、通信装置#1と通信装置#2との間の通信環境を通信装置#2と通信装置#3との間の通信環境に近づけることができる。これによって、メモリ(バッファ)26の滞留データ量を抑えることができる。したがって、メモリ(バッファ)26の容量を削減することが可能となる。
なお、上記した動作例では、SACKが破棄される場合には、データが通信装置#3に転送されないようにしている。但し、SACKが破棄される場合であっても、データが通信装置#3へ送信されるようにしても良い。この場合、通信装置#1からのデータ送信が実質的に停止している間に、メモリ26に滞留しているデータを通信装置#3に転送して、滞留データ量を抑えることができる。
また、上記した動作例では、管理テーブル262の更新に応じて測定値が閾値を超過するか否かの判定がなされ、閾値を超過する測定値があるときに、フィルタリング設定のような、SACKを破棄(SACKの送信を禁止)する設定がなされる。但し、測定値と閾値との比較(SACKの破棄設定)は、管理テーブル262の更新に合わせて実施されなくても良い。すなわち、測定値と閾値との比較は、周期的に、或いは指示に応じた適宜のタイミングでなされるようにしても良い。
<SCTPヘッダ及びチャンク>
次に、実施形態で使用されるSCTPヘッダ及び主なチャンクについて説明する。図12は、SCTPヘッダのデータ構造を示す図である。SCTPヘッダは、共通ヘッダ(Common Header)と、共通ヘッダに後続するn個(nは自然数)のチャンクとからなる。図
12の最上段の数字は、ビットを示す。チャンクの最大数は、Maximum Transmission Unit (MTU)のサイズに依存する。但し、SCTP INITチャンク,INIT ACKチャンクなどの所定のチャンクは、他のチャンクと相乗りできない。
次に、実施形態で使用されるSCTPヘッダ及び主なチャンクについて説明する。図12は、SCTPヘッダのデータ構造を示す図である。SCTPヘッダは、共通ヘッダ(Common Header)と、共通ヘッダに後続するn個(nは自然数)のチャンクとからなる。図
12の最上段の数字は、ビットを示す。チャンクの最大数は、Maximum Transmission Unit (MTU)のサイズに依存する。但し、SCTP INITチャンク,INIT ACKチャンクなどの所定のチャンクは、他のチャンクと相乗りできない。
図13は、SCTP INITチャンクのデータ構造を示す図である。アソシエーションの確立手順は、SCTP INITチャンクの送信から始まる。SCTP INITチャンクを有するSCTPパケットが、図3で説明した「SCTP接続要求」に相当する。
主なフィールドについて説明する。“Type”は、チャンクのタイプを示し、“Type=1”はチャンクがINITチャンクであることを示す。“Advertised Receiver Window Credit (a_rwnd):受信ウィンドウ保証量広告”は、INITチャンクの送信元が確立されるアソシエーションで割り当てる受信バッファの最小量を示す。a_rwndの受信側は、SACKチャンクでa_rwndを送信元へ送ることで、a_rwndを変更することもできる。
“Number of Outbound Streams(送出ストリーム数)”は、データの送信側から出て行くストリームの最大数を示す。“Number of Inbound Streams(流入ストリーム数)”は
、データの受信側で生成が許可される流入方向のストリーム数を示す。“Initial TSN(
初期TSN)”は、データの送信に使用する伝送シーケンスナンバー(Transfer Sequence Number:TSN)の初期値を示す。
、データの受信側で生成が許可される流入方向のストリーム数を示す。“Initial TSN(
初期TSN)”は、データの送信に使用する伝送シーケンスナンバー(Transfer Sequence Number:TSN)の初期値を示す。
SCTP INIT ACKチャンクのデータ構造は、INITチャンクと同じであるので図示を省略する。但し、パラメータは、INITチャンクの受信側の値が設定される。さらに、INITチャンクが含まないパラメータとしてはクッキーがある。
図14は、SCTP DATAチャンク(データチャンク)のデータ構造を示す図である。主なパラメータとしては次のものがある。すなわち、“TSN”は、DATAチャンクのシーケンス番号であり、DATAチャンクの受信側は、DATAチャンクを受信した場合には、当該DATAチャンクのTSNの受信を認め(acknowledge)、引き替えにS
ACKチャンクを送る。
ACKチャンクを送る。
“Stream Identifier(ストリーム識別子)”は、DATAチャンクと関連づけられた
(DATAチャンクの送信に用いた)ストリームの識別子である。“Stream Sequence Number(ストリームシーケンス番号)”は、ストリーム識別子で特定される1つのストリーム中のシーケンス番号を示す。“User Data(ユーザデータ)”は、DATAチャンクに
よって運ばれるデータそのものであり、可変長である。
(DATAチャンクの送信に用いた)ストリームの識別子である。“Stream Sequence Number(ストリームシーケンス番号)”は、ストリーム識別子で特定される1つのストリーム中のシーケンス番号を示す。“User Data(ユーザデータ)”は、DATAチャンクに
よって運ばれるデータそのものであり、可変長である。
図15は、SCTP SACKチャンクのデータ構造を示す。SACKチャンクの主なパラメータは次の通りである。“Cumulative TSN Ack(累積TSN ACK)”は、初期TSNから順序通りに届いている最後のTSNを示す。データの送信側は、累積TSN ACKの値(TSN)を参照して、送信側がどのTSNまで順序通りに受信を完了したかを知ることができる。
“a_rwnd”は、INITチャンクに格納される“a_rwnd”と同じである。但し、この値を“a_rwnd”の初期値と異なる値に設定することで、受信バッファのサイズ(送信側が一度に送信するデータ量)を変更することができる。
ギャップACKブロック情報は、欠落したTSNを送信側で認識するために使用SR得る。“Gap Ack Brock #1 Start (ギャップACKブロック#1開始点)”及び“Gap Ack Brock #1 End (ギャップACKブロック#1終了点)”は、DATAチャンクの欠落や到着順の乱れによってギャップ(TSNの欠落)が生じた場合に使用される。送信側がこれまでに送信した全てのTSNを受信側が受信している場合には、累積TSN ACKの値に最後のTSNが設定され、当該フィールドは無しとなる。
“Gap Ack Brock #1 Start”と“Gap Ack Brock #1 End”と間にあるTSNは受信済の扱いになる。或るTSNが受信されていない状態で、当該TSNに後続するTSNが存在する場合がある。この場合には、当該TSNが“Gap Ack Brock #2 Start”と“Gap Ack Brock #2 End”で示される。これによって、送信側では、ギャップACKブロックに係る値を参照することで、欠落しているTSNを割り出すことができる。データの再送は、ギャップACKブロック情報で特定されたTSNを含むDATAチャンクを再送することによってなされる。
<通信装置#2における処理>
次に、通信装置#2における処理について説明する。
<<品質データの収集処理>>
図16は、API21の収集部213(CPU101)によってなされる品質データの収集処理の例を示すフローチャートである。図16の処理は、一定時間毎に周期的に事項される。但し、開始タイミングは適宜設定可能である。
次に、通信装置#2における処理について説明する。
<<品質データの収集処理>>
図16は、API21の収集部213(CPU101)によってなされる品質データの収集処理の例を示すフローチャートである。図16の処理は、一定時間毎に周期的に事項される。但し、開始タイミングは適宜設定可能である。
最初に、収集部213は、記憶領域261(図7)からSCTP再送回数を取得する(01)。次に、収集部213は、記憶領域261(図7)からデータ受信量を取得する(02)。次に、収集部213は、記憶領域261(図7)からバッファ滞留量を取得する(03)。なお、01〜03の処理の順序はどのような順であっても良い。
次に、収集部213は、SCTP再送回数,データ受信量,バッファ滞留量で管理テーブルを更新する(04)。その後、収集部213は、一定時間待機する(05)。一定時間が経過すると、再び収集処理が開始される。
<<通信装置#1への送信時における処理>>
図17は、通信装置#1へ信号を送信する場合におけるSACK制御に関する処理例を示すフローチャートである。図17に示す処理は、SACK制御部214(CPU101)及びフィルタ231(DSP102)によってなされる。図17に示す処理の前提として、既に閾値を超過する測定値がある旨の判定がなされ、当該判定に従ってモード2又はモード3で指定された処理の設定がなされている。
図17は、通信装置#1へ信号を送信する場合におけるSACK制御に関する処理例を示すフローチャートである。図17に示す処理は、SACK制御部214(CPU101)及びフィルタ231(DSP102)によってなされる。図17に示す処理の前提として、既に閾値を超過する測定値がある旨の判定がなされ、当該判定に従ってモード2又はモード3で指定された処理の設定がなされている。
最初の11において、通信装置#1へ信号の送信処理が開始されると、SACK制御部214は、管理テーブル262(図8)を参照し、閾値を超過する品質データの測定値があるか否かを判定する(12)。このとき、閾値を超過する測定値があれば、処理が13に進み、なければ処理が14に進む。なお、この例では、複数の測定値の少なくとも1つが閾値を超過しているかの判定であるが、所定の複数の測定値が閾値を超過しているが判定条件とされても良い。
13に処理が進んだ場合には、SACK制御部214は、閾値超過時の処理内容としてモード3が指定されているか否かを判定する。モード3が指定されていない場合には、処理が15に進み、モード3が指定されている場合には処理が14に進む。
14では、SACK制御部214は、送信対象の信号がシーケンス番号更新信号であるか否かを判定する。このとき、信号がシーケンス番号更新信号である場合には、処理が18に進み、SACK制御部214は、フィルタ231にシーケンス番号更新信号を破棄させる。これに対し、信号がシーケンス番号更新信号でない場合には、処理が15に進む。
シーケンス番号更新信号とは、SACK制御部が現在管理しているTSN(累積TSN
ACK)の値より大きい累積TSN ACKの値を有するSACKチャンク(図15)
を意味する。更新された累積TSN ACKの値を有するSACKチャンクを受信した通信装置#1は、未送信のデータの送信を開始する。シーケンス番号更新信号が破棄(送信禁止)されることで、通信装置#1はデータの再送を繰り返すだけの状態になる。再送されたデータが既にメモリ26に記憶されている場合には、当該データは破棄可能である。これによって、メモリ26におけるデータの滞留量(蓄積量)の増加が抑止される。また、シーケンス番号更新信号の破棄により、通信装置#1からDATAチャンクの再送タイミングを遅らせる効果もある。このように、SACKが未送信のデータ送信を促す場合に、当該SACKが破棄される。
ACK)の値より大きい累積TSN ACKの値を有するSACKチャンク(図15)
を意味する。更新された累積TSN ACKの値を有するSACKチャンクを受信した通信装置#1は、未送信のデータの送信を開始する。シーケンス番号更新信号が破棄(送信禁止)されることで、通信装置#1はデータの再送を繰り返すだけの状態になる。再送されたデータが既にメモリ26に記憶されている場合には、当該データは破棄可能である。これによって、メモリ26におけるデータの滞留量(蓄積量)の増加が抑止される。また、シーケンス番号更新信号の破棄により、通信装置#1からDATAチャンクの再送タイミングを遅らせる効果もある。このように、SACKが未送信のデータ送信を促す場合に、当該SACKが破棄される。
処理が15へ進んだ場合には、SACK制御部214は、閾値超過時の処理内容としてとしてモード2が指定されているか否かを判定する。このとき、モード2が指定されていなければ、通常処理によって、送信対象の信号が通信装置#1へ送信される(17)。これに対し、モード2が指定されている場合には、処理が16へ進む。
16では、SACK制御部214は、送信対象の信号が再送要求信号であるか否かを判定する。このとき、信号が再送要求信号である場合には、18の処理にてフィルタ231により再送要求信号が破棄される。これに対し、信号が再送要求信号でなければ、当該信号は通信装置#1へ送信される。
再送要求信号は、累積TSN ACKの値が、SACK制御部214にて管理されているTSN(受信承認した最後のTSN)と一致するSACKチャンクを意味する。或いは、ギャップACKブロック情報を含むSACKチャンクを再送要求信号と考えることもできる。再送要求信号が破棄されることで、通信装置#1からのDATAチャンクの再送タイミングを遅らせることができる。このように、SACKがデータの再送要求を示す場合に当該SACKが破棄される。
<<通信装置#1からの受信時における処理>>
図18は、通信装置#1から信号(DATAチャンク)が受信された場合におけるSACK制御に関する処理例を示すフローチャートである。図18に示す処理は、SACK制御部214(CPU101)及びフィルタ231(DSP102)によってなされる。
図18は、通信装置#1から信号(DATAチャンク)が受信された場合におけるSACK制御に関する処理例を示すフローチャートである。図18に示す処理は、SACK制御部214(CPU101)及びフィルタ231(DSP102)によってなされる。
図18の21において、信号の受信処理が開始されたことを検知すると、SACK制御部214は、管理テーブル262(図8)を参照し、閾値を超過する品質データの測定値があるか否かを判定する(22)。このとき、閾値を超過する測定値があれば、処理が23に進み、なければ信号を受信する(29)。
23では、SACK制御部214は、閾値超過時の処理内容(SACK制御内容)としてモード2が指定されているか否かを判定する。モード2が指定されていない場合には、処理が終了する。これに対し、モード2が指定されている場合には、処理が24に進む。
24では、SACK制御部214は、モード2で指定された制御内容としてTSNの一致時にSACKチャンクを破棄する設定がなされているか否かを判定する。そのような設定になっていれば、処理が25に進み、そうでなければ処理が26に進む。
25では、SACK制御部214は、受信されたDATAチャンクに対するSACKチャンクの累積TSN ACKがSACK制御部214で管理しているTSNと一致するか否かを判定する。TSNが一致する場合には、SACKチャンクは破棄される(28)。これによって、SACKチャンクが通信装置#1に送信されないため、通信装置#1からのデータ送信タイミングが遅れる。
26では、SACK制御部214は、モード2で指定された制御内容として指定時間満了前のSACK破棄が設定されているか否かを判定する。そのような設定であれば、処理が27に進み、そうでなければ処理が終了する。
27では、タイマ232により計時されている指定時間が満了前か否かが判定される。このとき、指定時間の満了前であれば、SACKチャンクが破棄される。破棄は、SCTP処理部22でなされても良く、フィルタ231により破棄されても良い。これに対し、指定時間が満了していれば、処理が終了する。この場合、SACKチャンクは通信装置#1へ送信される。タイマ232のスタートは、例えば、品質データの収集に伴う閾値判定の結果、SACK制御を実施することが決定されることを契機に行うことができる。以上のように、送信元へのSACKの送信が禁止される時間内に生じたSACKが破棄されることで、送信元のデータ送信又は再送を遅らせることができるので、メモリ26におけるデータの滞留量を抑えることができる。
なお、図18の処理では、SACKチャンクが破棄されるようにしているが、DATAチャンクのTSNと管理されているTSNとが一致するときにDATAチャンクが破棄さされるようにしても良い。或いは、指定時間満了前であれば、DATAチャンクが破棄されるようにしても良い。このようにしても、結果としてDATAチャンクに対するSACKの送信が禁止される。
なお、図17及び図18の処理では、モード及びSACK制御の内容が確認されているが、このような確認は行わず、事前になされたモード及びSACK制御の内容に応じた処理(TSNの比較、指定時間満了か否か)が実行されるようにしても良い。
<新規アソシエーションの確立>
実施形態では、上記したようなSACK制御によって、通信装置#1へのSACKチャンクの送信が禁止されることで、通信装置#1からのDATAチャンクの送信タイミングを遅延させる。これによって、メモリ26に滞留するデータ量の増加が抑えられる。但し、SACK制御が長時間に亘って継続する場合には、通信装置#1から通信装置#2へのデータ送信の終了時期が遅れる。通信時間の長期化は、例えば、通信装置#1のリソース(CPUやメモリ)が通信のために長時間占有されることを意味するため、リソースの有効利用の観点からは好ましいことではない。実施形態では、オプションとして、以下のような処理を行うことで、通信装置#1から通信装置#2へのデータ送信の終了時期を早めるようにする。
実施形態では、上記したようなSACK制御によって、通信装置#1へのSACKチャンクの送信が禁止されることで、通信装置#1からのDATAチャンクの送信タイミングを遅延させる。これによって、メモリ26に滞留するデータ量の増加が抑えられる。但し、SACK制御が長時間に亘って継続する場合には、通信装置#1から通信装置#2へのデータ送信の終了時期が遅れる。通信時間の長期化は、例えば、通信装置#1のリソース(CPUやメモリ)が通信のために長時間占有されることを意味するため、リソースの有効利用の観点からは好ましいことではない。実施形態では、オプションとして、以下のような処理を行うことで、通信装置#1から通信装置#2へのデータ送信の終了時期を早めるようにする。
例えば、図19に示すように、通信装置#1と通信装置#2との間に新規のアソシエーションA3を確立し、アソシエーションA3内に生成されたストリームA3S1で、未送信のデータが送信されるようにする。
図20は、新規アソシエーションの作成処理例を示すフローチャートである。図20に示す処理は、例えば、API21(CPU101)によって実行される。図22に示す処理は、SACK制御の実施中であることを前提とする。また、SACK制御が開始される場合に、図示しないタイマの計時が開始されていることが前提とされる。当該タイマは、SACK制御が終了した場合にリセットされ、再びSACK制御が開始される場合にスタートする。
図20の31では、CPU101は、タイマの計時時間(SACK制御継続時間)を参照し、SACK制御継続時間が閾値を超過しているか否かを判定する。閾値を超過していない場合には、図20の処理が終了する。これに対し、SACK制御継続時間が閾値を超過している場合には、処理が32へ進む。
32では、CPU101は、閾値超過時の制御内容として、モード4が指定されているか否かを判定する。モード4が指定されていない場合には、図20の処理が終了する。これに対し、モード4が指定されている場合には、処理が33へ進む。
33では、CPU101は、モード4の内容として、新規アソシエーション確立が指定されているか否かを判定する。このとき、新規アソシエーション確立が指定されていない場合には、図20の処理が終了する。これに対し、新規アソシエーション確立が指定されている場合には、処理が34へ進む。
34では、CPU101は、通信装置#1からのデータ受信に用いているアソシエーションA1以外のアソシエーションが既に確立されているか否かを判定する。このとき、アソシエーションが既に確立がされている場合には、図20の処理が終了する。これに対し、アソシエーションが確立されていない場合には、処理が35へ進む。
35では、CPU101(API)は、SCTP処理部22に対し、新規アソシエーションの確立を指示する。SCTP処理部22は、通信装置#1との間でイニシャライズを実行し、新規アソシエーション(アソシエーションA3)を確立する。このとき、通信装置#2のCPU101は、アソシエーションA1を用いて送信予定のDATAチャンクのうち、未送信のDATAチャンクの一部又は全部がアソシエーションA3を用いて受信されるように、通信装置#1とネゴシエーションを行う。
なお、新規に作成するアソシエーションA3について、通信品質に伴う幾つかの条件を用いて確立することができる。例えば、モード5として図9に示した情報の通知をアソシエーションA3の確立後に行うことができる。
図21に示すように、新規アソシエーションを確立する代わりに、既存のアソシエーションA1内に、ストリームA1S1から独立した新規のストリームA1S2を作成し、このストリームA1S2を用いて、未送信のデータを受信することもできる。
図22は、新規ストリームの作成処理例を示すフローチャートである。図22に示す処理は、例えば、API21(CPU101)によって実行される。図22に示す処理は、SACK制御の実施中であることを前提とする。また、SACK制御が開始される場合に、図示しないタイマの計時が開始されていることが前提とされる。当該タイマは、SACK制御が終了した場合にリセットされ、再びSACK制御が開始される場合にスタートする。
図22の41では、CPU101は、タイマの計時時間(SACK制御継続時間)を参照し、SACK制御継続時間が閾値を超過しているか否かを判定する。閾値を超過していない場合には、図22の処理が終了する。これに対し、SACK制御継続時間が閾値を超過している場合には、処理が42へ進む。
42では、CPU101は、閾値超過時の制御内容として、モード4が指定されているか否かを判定する。モード4が指定されていない場合には、図22の処理が終了する。これに対し、モード4が指定されている場合には、処理が44へ進む。
43では、CPU101は、モード4の内容として、新規ストリーム生成が指定されているか否かを判定する。このとき、新規ストリーム生成が指定されていない場合には、図22の処理が終了する。これに対し、新規ストリーム生成が指定されている場合には、処理が44へ進む。
44では、CPU101は、通信装置#1からのデータ受信に用いているストリームA1S1以外のストリームが既に生成されているか否かを判定する。このとき、ストリームが既に確立がされている場合には、図22の処理が終了する。これに対し、ストリームが確立されていない場合には、処理が45へ進む。
45では、CPU101(API)は、SCTP処理部22に対し、新規ストリームの確立を指示する。SCTP処理部22は、アソシエーションA1に係るパラメータを用いて、通信装置#1との間でストリームA1S2を確立する。このとき、ストリームA1S1を用いて受信予定であったデータの一部がストリームA1S2を用いて受信されるようにする。
アソシエーション内に生成された複数のストリームの夫々は相互に独立しているので、ストリームA1S1における通信状況は、ストリームA1S2における通信に影響を与えない。なお、ストリームA1S2は、アソシエーションA1の確立時に予め作成しておき、SACK制御時間が閾値を超過した場合に、使用開始されるようにしても良い。
アソシエーションA3やストリームA1S2が生成された場合には、これらを通じて受信されるデータは、メモリ26(記憶装置104)に記憶しておくことができる。そして、アソシエーションA1或いはストリームA1S1を用いて受信されたデータの転送(通信装置#3向け)が終了した後に、アソシエーションA2を用いて転送することができる。但し、上記方法以外の方法を適用することもできる。
なお、実施形態では、通信装置#1が基地局の上位装置(RNC又はMME)であり、通信装置#2及び通信装置#3が基地局である例について説明したが、これら以外の通信装置(情報処理装置)に実施形態で説明したSACK制御が適用されても良い。また、通信装置#2と通信装置#3との間でもSCTPでデータ転送が行われる例について説明したが、データ転送の通信が必ずしもSCTPでなされなくても良い。例えば、Transmission Control Protocol(TCP)が適用される場合もあり得る。以上説明した実施形態の構
成は、適宜組み合わせることができる。
成は、適宜組み合わせることができる。
20A・・・SCTP終端装置(通信装置#2)
26・・・メモリ
100・・・通信装置
101・・・CPU
102・・・DSP
24,103・・・NIC
104・・・記憶装置
26・・・メモリ
100・・・通信装置
101・・・CPU
102・・・DSP
24,103・・・NIC
104・・・記憶装置
Claims (11)
- 送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、
前記メモリに記憶されたデータを転送先へ転送する転送部と、
前記転送先へのデータ転送に係る値が所定範囲となった場合に前記送信元への前記応答の送信を禁止する制御部と
を含む通信装置。 - 前記転送先へのデータ転送に係る値は、前記転送先との通信状況を示す値を含む
請求項1に記載の通信装置。 - 前記転送先との通信状況を示す値は、前記転送先へのデータの再送に係る値を含む
請求項2に記載の通信装置。 - 前記転送先へのデータ転送に係る値は、前記送信元からのデータ受信量を含む
請求項1から3のいずれか1項に記載の通信装置。 - 前記転送先へのデータ転送に係る値は、前記メモリに記憶されたデータ量と、前記メモリがデータを記憶可能な残量との少なくとも一方を含む
請求項1から4のいずれか1項に記載の通信装置。 - 前記制御部は、前記送信元に送信される前記応答がデータの再送要求を示す場合に当該応答を破棄する
請求項1から5のいずれか1項に記載の通信装置。 - 前記制御部は、前記送信元に転送する前記応答が未送信のデータ送信を促す場合に当該応答を破棄する
請求項1から6のいずれか1項に記載の通信装置。 - 前記制御部は、前記送信元への前記応答の送信が禁止される時間内に生じた前記応答を破棄する
請求項1から7のいずれか1項に記載の通信装置。 - 前記制御部は、前記応答の送信が禁止される時間が閾値を超えて継続した場合に、前記転送先へ転送するデータの受信のために前記通信装置と前記送信元との間で確立したコネクションから独立した他のコネクションを用いて前記転送先へ転送するデータを前記送信元から受信するための処理を行う
請求項1から8のいずれか1項に記載の通信装置。 - 前記制御部は、前記応答の送信が禁止される時間が閾値を超えて継続した場合に、前記転送先へ転送するデータを前記送信元から受信するために用いているチャネルから独立した他のチャネルを用いて前記転送先へ転送するデータを前記送信元から受信するための処理を行う
請求項1から8のいずれか1項に記載の通信装置。 - 通信装置のデータ中継方法であって、
前記通信装置が、
送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶し、
前記記憶したデータを転送先へ転送し、
前記転送先へのデータ転送に係る値が所定範囲となった場合に前記送信元への前記応答の送信を禁止する
ことを含む通信装置のデータ中継方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015013238A JP2016139903A (ja) | 2015-01-27 | 2015-01-27 | 通信装置、及びそのデータ中継方法 |
US15/005,207 US10153827B2 (en) | 2015-01-27 | 2016-01-25 | Communication apparatus and data relay method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015013238A JP2016139903A (ja) | 2015-01-27 | 2015-01-27 | 通信装置、及びそのデータ中継方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016139903A true JP2016139903A (ja) | 2016-08-04 |
Family
ID=56434314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015013238A Pending JP2016139903A (ja) | 2015-01-27 | 2015-01-27 | 通信装置、及びそのデータ中継方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10153827B2 (ja) |
JP (1) | JP2016139903A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123871A (ja) * | 2019-01-31 | 2020-08-13 | 富士通株式会社 | 検査方法および検査システム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11271985B2 (en) * | 2016-06-02 | 2022-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for handling SCTP packets |
US11251988B2 (en) * | 2019-01-30 | 2022-02-15 | Cisco Technology, Inc. | Aggregating bandwidth across a wireless link and a wireline link |
US11489769B2 (en) | 2019-03-20 | 2022-11-01 | Cisco Technology, Inc. | Virtualized radio access network architecture for applications requiring a time sensitive network |
CN113726657B (zh) | 2020-05-25 | 2024-12-03 | 中兴通讯股份有限公司 | 报文转发方法、装置、系统、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001156877A (ja) * | 1999-11-29 | 2001-06-08 | Mitsubishi Electric Corp | 無線通信装置およびパケット再送制御方法 |
JP2003124984A (ja) * | 2001-10-18 | 2003-04-25 | Mitsubishi Electric Corp | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734654A (en) * | 1993-08-05 | 1998-03-31 | Fujitsu Limited | Frame relay switching apparatus and router |
JP2001060956A (ja) | 1999-08-23 | 2001-03-06 | Nippon Telegr & Teleph Corp <Ntt> | トランスポート層マルチリンク通信方法 |
WO2003079616A1 (en) | 2002-03-11 | 2003-09-25 | Oscar Somerlock | Multi-stream wireless router, gateway, communication system, and method therefor |
CN100546301C (zh) * | 2003-02-25 | 2009-09-30 | 株式会社日立制作所 | 流量整形方法及流量整形装置 |
JP2006287331A (ja) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | 輻輳制御ネットワーク中継装置、および輻輳制御ネットワーク中継方法 |
US7706255B1 (en) * | 2007-01-29 | 2010-04-27 | Solace Systems, Inc. | Communications apparatus with redundant switching or backpressure mechanism |
JP5104508B2 (ja) * | 2008-04-16 | 2012-12-19 | 富士通株式会社 | 中継装置およびパケット中継方法 |
EP2456135A1 (fr) | 2010-11-17 | 2012-05-23 | Thomson Licensing | Procédé et dispositif de détermination de chemin(s) de communication entre des équipements de communication à interfaces de communication multiples |
JP5924096B2 (ja) | 2012-04-18 | 2016-05-25 | 富士通株式会社 | 通信システムの制御方法、通信装置、通信システム及びプログラム |
US9629025B2 (en) * | 2013-05-03 | 2017-04-18 | Blackberry Limited | Controlling data offload in response to feedback information |
JP6236933B2 (ja) * | 2013-07-02 | 2017-11-29 | 富士通株式会社 | 中継装置 |
EP3078174B1 (en) * | 2013-12-06 | 2017-11-22 | Telefonaktiebolaget LM Ericsson (publ) | Sctp bundling |
US9674102B2 (en) * | 2013-12-18 | 2017-06-06 | Marvell Israel (M.I.S.L.) Ltd. | Methods and network device for oversubscription handling |
-
2015
- 2015-01-27 JP JP2015013238A patent/JP2016139903A/ja active Pending
-
2016
- 2016-01-25 US US15/005,207 patent/US10153827B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001156877A (ja) * | 1999-11-29 | 2001-06-08 | Mitsubishi Electric Corp | 無線通信装置およびパケット再送制御方法 |
JP2003124984A (ja) * | 2001-10-18 | 2003-04-25 | Mitsubishi Electric Corp | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123871A (ja) * | 2019-01-31 | 2020-08-13 | 富士通株式会社 | 検査方法および検査システム |
JP7147601B2 (ja) | 2019-01-31 | 2022-10-05 | 富士通株式会社 | 検査方法および検査システム |
Also Published As
Publication number | Publication date |
---|---|
US10153827B2 (en) | 2018-12-11 |
US20160218794A1 (en) | 2016-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11129081B2 (en) | Providing communication for a mobile communication device using a central unit node and distributed unit nodes | |
EP3020155B1 (en) | Method and system for protocol layer enhancements in data offload over small cells | |
US10531336B2 (en) | Link control in centralized deployments | |
ES2758445T3 (es) | Protocolo de control de trasmisión en una red de acceso de radio de evolución a largo plazo | |
US10064111B2 (en) | Configuring a discard timer | |
US9979653B2 (en) | System and method of providing improved throughput control under delay-based congestion situation in a network | |
US10021663B2 (en) | Method and device for realizing data transmission | |
US20140301188A1 (en) | Delivery of protocol data units | |
KR20170108006A (ko) | 무선 링크 제어 스위칭을 위한 방법들 및 장치 | |
CN111148163B (zh) | 通信方法及装置 | |
EP3713299A1 (en) | Method and device for data transmission | |
WO2016068308A1 (ja) | ゲートウェイ装置及びゲートウェイ装置の制御方法 | |
EP3629505A1 (en) | User equipment and base station involved in transmission of data | |
JP2016139903A (ja) | 通信装置、及びそのデータ中継方法 | |
CN107534890B (zh) | 适应性tti调整的方法以及用户设备 | |
CN104168214A (zh) | 一种丢弃分组数据的方法及装置 | |
US20220225163A1 (en) | Communications device, infrastructure equipment and methods | |
JP2015517251A (ja) | リンクアグリゲーション装置 | |
CN107959554B (zh) | 一种数据的重传方法及装置 | |
US11677669B2 (en) | Communication device, relay device, and communication system for controlling generation of a TCP acknowledgement (ACK) | |
EP2890179B1 (en) | Method, apparatus and computer program for data transfer | |
WO2017200435A1 (en) | Radio base station with tcp ack awareness | |
KR20200026565A (ko) | Tcp 전송 최적화 방법 및 그 시스템 | |
JPWO2019146563A1 (ja) | 通信装置、通信システム、通信方法及びプログラム | |
WO2015178812A1 (en) | Method in a radio network node for reducing uplink overhead by aggregating tcp segments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190326 |