(57)【要約】【課題】メモリに滞留する転送対象のデータの量を抑える。【解決手段】通信装置は、送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、メモリに記憶されたデータを転送先へ転送する転送部と、転送先へのデータ転送に係る値が所定範囲となった場合に送信元への応答の送信を禁止する制御部とを含む。【選択図】図１１
2016139903.tif 000002
【特許請求の範囲】
【請求項１】
送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、
前記メモリに記憶されたデータを転送先へ転送する転送部と、
前記転送先へのデータ転送に係る値が所定範囲となった場合に前記送信元への前記応答の送信を禁止する制御部と
を含む通信装置。
【請求項２】
前記転送先へのデータ転送に係る値は、前記転送先との通信状況を示す値を含む
請求項１に記載の通信装置。
【請求項３】
前記転送先との通信状況を示す値は、前記転送先へのデータの再送に係る値を含む
請求項２に記載の通信装置。
【請求項４】
前記転送先へのデータ転送に係る値は、前記送信元からのデータ受信量を含む
請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記転送先へのデータ転送に係る値は、前記メモリに記憶されたデータ量と、前記メモリがデータを記憶可能な残量との少なくとも一方を含む
請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記制御部は、前記送信元に送信される前記応答がデータの再送要求を示す場合に当該応答を破棄する
請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記制御部は、前記送信元に転送する前記応答が未送信のデータ送信を促す場合に当該応答を破棄する
請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記制御部は、前記送信元への前記応答の送信が禁止される時間内に生じた前記応答を破棄する
請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記制御部は、前記応答の送信が禁止される時間が閾値を超えて継続した場合に、前記転送先へ転送するデータの受信のために前記通信装置と前記送信元との間で確立したコネクションから独立した他のコネクションを用いて前記転送先へ転送するデータを前記送信元から受信するための処理を行う
請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記制御部は、前記応答の送信が禁止される時間が閾値を超えて継続した場合に、前記転送先へ転送するデータを前記送信元から受信するために用いているチャネルから独立した他のチャネルを用いて前記転送先へ転送するデータを前記送信元から受信するための処理を行う
請求項１から８のいずれか１項に記載の通信装置。
【請求項１１】
通信装置のデータ中継方法であって、
前記通信装置が、
送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶し、
前記記憶したデータを転送先へ転送し、
前記転送先へのデータ転送に係る値が所定範囲となった場合に前記送信元への前記応答の送信を禁止する
ことを含む通信装置のデータ中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置、及びそのデータ中継方法に関する。
【背景技術】
【０００２】
Third Generation Partnership Project（３ＧＰＰ）で標準化された第３世代移動体通信システム（３Ｇ）では、無線ネットワークは、基地局と、基地局の上位装置として基地局を制御する無線ネットワーク制御装置（Radio Network Control：ＲＮＣ) とを備える
。基地局とＲＮＣとの通信を制御するプロトコルの一つとして、Stream Control Transmission Protocol（ＳＣＴＰ）が用いられている。３Ｇの次世代の移動体通信規格には、Long Term Evolution（ＬＴＥ）やその改良版であるＬＴＥ−Ａ（LTE-Advanced）がある。
ＬＴＥやＬＴＥ−Ａにおいても、基地局と、基地局の上位装置であるMobility Management Entity（ＭＭＥ）との間でＳＣＴＰを用いた通信が行われている。
【０００３】
例えば、或る基地局が、上位装置との間でＳＣＴＰに基づく通信路（コネクション、セッションともいう）を確立し、当該通信路を用いて上位装置からデータを受信する。一方、基地局は、他の基地局とＳＣＴＰに基づく通信路を確立し、当該通信路を用いて上位装置から受信されたデータを転送する。ＳＣＴＰにおいて、通信路は、「アソシエーション」と呼ばれる。
【０００４】
ＳＣＴＰでは、「チャンク」と呼ばれる交換単位で通信が行われ、送受信間において、送信対象のデータを含んだチャンク（データチャンクと呼ばれる）の到達順を保証する。このため、例えば、データの受信側は、データの送信側に対し、受信に成功したデータを示すSelective Acknowledge（ＳＡＣＫ：選択的確認応答）チャンクと呼ばれるチャンク
を送信する。送信側は、ＳＡＣＫチャンクの内容を参照して、受信側に届いていないデータの再送を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１０９９７５号公報
【特許文献２】特表２００５−５２０４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のような、基地局が上位装置と他の基地局との間の中継装置として動作することによってデータの中継が行われる場合に、基地局と他の基地局との間の通信環境が基地局と上位装置との間の通信環境よりも低度であることがある。例えば、上位装置と基地局との間のアソシエーションを用いた通信に利用可能な帯域より基地局と他の基地局との間のアソシエーションを用いた通信に利用可能な帯域が狭い場合がある。
【０００７】
この場合、単位時間当たりの上位装置から受信されるデータ量と単位時間当たりの他の基地局へ送信可能なデータ量との差を吸収するため、基地局が上位装置からの転送対象のデータを記憶するメモリの容量が大きくなる問題があった。さらに、メモリに記憶されたデータは、他の基地局からの再送要求に備えて、他の基地局からデータの受信がＳＡＣＫにて承認されない限り、メモリから削除することができない。このため、基地局と他の基地局との間の通信品質が悪く、データの再送が頻発するような状況下では、基地局は、データ再送に備えてデータをメモリに記憶し続ける。このような場合も考慮に入れると、基地局が備えるメモリ容量がさらに増大していた。
【０００８】
本発明の一態様は、メモリに滞留する転送対象のデータの量を抑えることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様は、通信装置である。この通信装置は、送信元がデータの受信状況を示す応答を受けてデータの送信又は再送を行うプロトコルを用いて送信するデータを記憶するメモリと、メモリに記憶されたデータを転送先へ転送する転送部と、転送先へのデータ転送に係る値が所定範囲となった場合に送信元への応答の送信を禁止する制御部とを含む。
【発明の効果】
【００１０】
本発明の一態様によれば、メモリに滞留する転送対象のデータの量を抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、参考例に係る通信システムを示す図である。
【図２】図２は、参考例に係る通信システムを示す図である。
【図３】図３は、ＳＣＴＰによるアソシエーションの確立およびデータ転送の一例を示す図である。
【図４】図４は、図３に示したようなデータ転送におけるデータ再送に係る問題を示す図である。
【図５】図５は、実施形態に係る通信システムの構成例を示す図である。
【図６】図６は、実施形態に係る通信装置＃２（ＳＣＴＰ終端装置２０Ａ）に適用可能な通信装置（基地局）のハードウェア構成例を示す図である。
【図７】図７は、図６に示した通信装置を適用した通信装置＃２の構成を模式的に示す図である。
【図８】図８は、図８は管理テーブルのデータ構造例を示す。
【図９】図９は、管理テーブルに記憶される制御モードの説明図である。
【図１０】図１０は、実施形態に係る通信システム（図５）の動作例を示すシーケンス図である。
【図１１】図１１は、実施形態に係る通信システム（図５）の動作例を示すシーケンス図である。
【図１２】図１２は、ＳＣＴＰヘッダのデータ構造を示す図である。
【図１３】図１３は、ＳＣＴＰ  ＩＮＩＴチャンクのデータ構造を示す図である。
【図１４】図１４は、ＳＣＴＰ  ＤＡＴＡチャンクのデータ構造を示す図である。
【図１５】図１５は、ＳＣＴＰ  ＳＡＣＫチャンクのデータ構造を示す図である。
【図１６】図１６は、品質データの収集処理の例を示すフローチャートである。
【図１７】図１７は、通信装置＃１へ信号を送信する場合におけるＳＡＣＫ制御に関する処理例を示すフローチャートである。
【図１８】図１８は、通信装置＃１から信号（ＤＡＴＡチャンク）が受信された場合におけるＳＡＣＫ制御に関する処理例を示すフローチャートである。
【図１９】図１９は、通信装置＃１と通信装置＃２との間に新規アソシエーションを確立した場合を示す図である。
【図２０】図２０は、新規アソシエーションの作成処理例を示すフローチャートである。
【図２１】図２１は、通信装置＃１と通信装置＃２との間に新規ストリームを生成した場合を示す図である。
【図２２】図２２は、新規ストリームの作成処理例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。  
【００１３】
〔参考例〕
最初に、参考例について説明する。図１および図２は、参考例に係る通信システムを示す図である。図１では、通信システムの例として、通信装置＃２が中継装置として動作し、ＳＣＴＰを用いて通信装置＃１からのデータを通信装置＃３に中継する通信システムが図示されている。ＳＣＴＰは、「送信元がデータの受信状況を示す応答（ＳＡＣＫ）を受けてデータの送信又は再送を行うプロトコル」の一例である。
【００１４】
図１には、ＳＣＴＰ終端装置１０を有する通信装置＃１と、ＳＣＴＰ終端装置２０を有する通信装置＃２とがインターネット３０を介して接続されている。通信装置＃２は、ＳＣＴＰ終端装置４０を有する通信装置＃３と、インターネット５０を介して接続されている。通信装置＃１は、例えば、ＲＮＣ又はＭＭＥのような上位装置であり、通信装置＃２および通信装置＃３は、例えば基地局のような無線通信装置である。
【００１５】
ＳＣＴＰ終端装置１０は、通信装置＃２との通信を制御するためのアプリケーションインタフェース（ＡＰＩ）１１と、通信装置＃２との通信を行うためのＳＣＴＰ処理部１２とを含む。また、ＳＣＴＰ終端装置１０は、ＳＣＴＰ処理部１２と外部との間のメッセージおよび信号の送信および受信の管理を行う通信制御部（Ｃ−ＣＯＮＴ．）１３と、ネットワークとの送信処理および受信処理を行うネットワークインタフェースカード（ＮＩＣ）１４とを含む。
【００１６】
ＳＣＴＰ終端装置２０は、ＡＰＩ１１,ＳＣＴＰ処理部１２,通信制御部１３,ＮＩＣ１
４と同様の機能をそれぞれ有するＡＰＩ２１と、ＳＣＴＰ処理部２２と、通信制御部２３と、ＮＩＣ２４とを備える。ＳＣＴＰ終端装置４０も、ＡＰＩ１１,ＳＣＴＰ処理部１２,通信制御部１３,ＮＩＣ１４と同様の機能をそれぞれ有するＡＰＩ３１と、ＳＣＴＰ処理
部３２と、通信制御部３３と、ＮＩＣ３４とを備える。
【００１７】
通信装置＃１が通信装置＃２と通信を行う場合には、ＳＣＴＰ終端装置１０とＳＣＴＰ終端装置２０との間で「アソシエーション」と呼ばれるコネクション（セッション）を背設定する。アソシエーションはＳＣＴＰリンクとも呼ばれる。アソシエーション中には、複数の「ストリーム」と呼ばれる論理チャネルを設定することができる。アソシエーションで転送されるデータは、アソシエーション内で生成されたストリームのいずれかを用いて転送される。アソシエーションは「コネクション」の一例であり、ストリームは「チャネル」の一例である。
【００１８】
アソシエーションの確立は、ＳＣＴＰイニシャライズ（初期化）と呼ばれる手順により行われる。ＳＣＴＰイニシャライズ（以下単にイニシャライズともいう）は、送受信間で、ＩＮＩＴチャンク，ＩＮＩＴ  ＡＣＫチャンク，SCTP COOKIE ECHOチャンク，SCTP COOKIE ACKチャンクを送受信することで行われる。ＳＣＴＰイニシャライズは、「４ウェイ
ハンドシェイク」と呼ばれることもある。イニシャライズの完了後、アソシエーションを用いてデータを送信可能な状態となる。
【００１９】
通信装置＃１は通信装置＃２とイニシャライズを実行し、ＳＣＴＰ終端装置１０とＳＣＴＰ終端装置２０との間（インターネット３０）でＳＣＴＰでの接続（アソシエーション１（アソシエーションＡ１））を確立する。通信装置＃１は、アソシエーションＡ１内に生成されたストリーム１（ストリームＡ１Ｓ１）を用いて、通信装置＃２へデータを送信する。
【００２０】
通信装置＃２は、ＳＣＴＰにしたがって受信されたデータを通信装置＃３に転送する。この場合、ＳＣＴＰ終端装置２０とＳＣＴＰ終端装置４０とがＳＣＴＰイニシャライズを行い、ＳＣＴＰ終端装置２０とＳＣＴＰ終端装置４０との間（インターネット５０上）でアソシエーション２（アソシエーションＡ２））を確立する。通信装置＃２は、アソシエーションＡ２内に設けられたストリーム１（ストリームＡ２Ｓ１）を用いてデータを通信装置＃３へ送信する。通信装置＃２では、アソシエーションＡ１（ストリームＡ１Ｓ１）とアソシエーションＡ２（ストリームＡ２Ｓ１）とが関連づけられ、転送制御が行われる。
【００２１】
図２に示すように、通信装置＃１（ＳＣＴＰ終端装置１０）と通信装置＃２（ＳＣＴＰ終端装置２０）との間のＳＣＴＰ通信に係る環境が高速,広帯域,高品質であると仮定する。これは、通信装置＃２（ＳＣＴＰ終端装置２０）と通信装置＃３（ＳＣＴＰ終端装置４０）とのＳＣＴＰ通信に係る環境との比較における評価である。すなわち、通信装置＃２と通信装置＃３との通信環境は、通信装置＃１と通信装置＃２との通信環境に比べて低速,狭帯域,低品質であると仮定する。
【００２２】
上記のような仮定において、ＳＣＴＰ終端装置１０からのデータをＳＣＴＰ終端装置２０が受信し、ＳＣＴＰ終端装置４０にデータを転送する場合には、以下のような動作が行われる。
【００２３】
ＳＣＴＰ終端装置１０から送信されるデータは、ＳＣＴＰ終端装置２０のＳＣＴＰ処理部２２における通信装置＃１と通信装置＃２との間の通信に係る処理２５にて処理され、メモリ（バッファともいう）２６に記憶される。メモリ２６に記憶されたデータは、ＳＣＴＰ処理部２２における通信装置＃２と通信装置＃３との間の通信に係る処理６１にて処理され、通信装置＃３（ＳＣＴＰ終端装置４０）へ送信される。
【００２４】
図２において、通信装置＃１から通信装置＃２へＳＣＴＰを用いて送信可能な単位時間当たりのデータをｅ１１として示す。データｅ１１は、メモリ２６に記憶される。一方、通信装置＃２と通信装置＃３の間の通信環境は、通信装置＃１と通信装置＃２との間の通信環境に比べて低速,狭帯域,低品質である。このため、通信装置＃２が単位時間当たりに通信装置＃３へＳＣＴＰで送信可能なデータ量はｅ２１であり、データｅ１１よりも少ない。データｅ１１からデータｅ２１を減じた残りのデータは、メモリ２６における滞留データｅ２２となる。換言すれば、メモリ２６の容量は、滞留データｅ２２を記憶可能な容量とされる。
【００２５】
図３は、ＳＣＴＰによるアソシエーションの確立およびデータ転送の一例を示す図である。図３は、ＳＣＴＰ終端装置２０がＳＣＴＰサーバとしてＳＣＴＰ終端装置１０と接続する例について説明する。
【００２６】
図３において、ＳＣＴＰ終端装置２０のＡＰＩ２１は、ＳＣＴＰ処理部２２に対してＳＣＴＰ接続待ちの設定を行う（ｓ０１）。次に、ＳＣＴＰ終端装置１０での送信制御が行われる（ｓ０２）。すなわち、ＳＣＴＰ処理部１２によって、ＳＣＴＰ接続要求（ＩＮＩＴチャンク）がＳＣＴＰ終端装置１０からＳＣＴＰ終端装置２０（ＳＣＴＰ処理部２２）へ送信される（ｓ０３）。通信装置＃２では、ＮＩＣ２４および通信制御部（Ｃ−ＣＯＮＴ.）２３を通じてＳＣＴＰ接続要求がＳＣＴＰ処理部２２に受信される。これによって
、ＳＣＴＰイニシャライズが開始される。
【００２７】
ＳＣＴＰ処理部２２は、ＳＣＴＰイニシャライズを通じて、送信制御情報の設定を行う（ｓ０４）。アソシエーションＡ１が確立されると、ＳＣＴＰ処理部２２は、ＳＣＴＰ終
端装置１０（ＳＣＴＰ処理部１２）へＳＣＴＰ接続応答（ＩＮＩＴ  ＡＣＫチャンク）を送信する（ｓ０５）。なお、実際のイニシャライズでは、上述したように、さらにSCTP COOKIE ECHOチャンクとSCTP COOKIE ACKチャンクとの送受信が行われるが、図３では説明
を省略する。
【００２８】
アソシエーションＡ１のイニシャライズが完了すると、ＳＣＴＰ処理部２２は、ＡＰＩ２１へアソシエーションＡ１が確立されたことを通知する（ｓ０６）。次に、ＳＣＴＰ処理部２２は、アソシエーションＡ２の確立手順を行う。すなわち、ＳＣＴＰ処理部２２は、通信装置＃３（ＳＣＴＰ終端装置４０のＳＣＴＰ処理部４２）へＳＣＴＰ接続要求（ＩＮＴチャンク）を送信する（ｓ０７）。
【００２９】
ＳＣＴＰ処理部４２は、ＳＣＴＰ接続要求を受信すると、ＳＣＴＰイニシャライズを開始し、送信制御情報の設定を行う（ｓ０８）。アソシエーションＡ２が確立されると、ＳＣＴＰ処理部４２は、ＳＣＴＰ終端装置２０（ＳＣＴＰ処理部２２）へＳＣＴＰ接続応答（ＩＮＩＴ  ＡＣＫチャンク）を送信する（ｓ０９）。ＳＣＴＰ処理部２２は、ＳＣＴＰ接続応答を受信すると、ＡＰＩ２１へアソシエーションＡ２が確立されたことを通知する（ｓ１０）。ＡＰＩ２１は、アソシエーションＡ１（ストリームＡ１Ｓ１）とアソシエーションＡ２（ストリームＡ２Ｓ１）とをデータ転送のために関連づけて記憶する。
【００３０】
その後、ＳＣＴＰ処理部１２は、アソシエーションＡ１のストリームＡ１Ｓ１を用いた送信を決定し（ｓ１１）、ストリームＡ１Ｓ１を用いてデータを送信する（ｓ１２）。ＳＣＴＰ処理部２２は、データを受信すると、データの受信をＳＡＣＫの送信により通信装置＃１（ＳＣＴＰ処理部１２）に通知する（ｓ１３）。データはメモリ２６に記憶される。また、ＳＣＴＰ処理部２２は、データの受信をＡＰＩ２１に通知する（ｓ１３ａ）ＳＡＣＫは、「応答」の一例である。
【００３１】
ＡＰＩ２１は、アソシエーション（ストリーム）の関連づけ情報に基づき、データがストリームＡ１Ｓ１への転送対象であると判定すると（ｓ１４）、ＳＣＴＰ処理部２２に転送を指示する（ｓ１５）。ＳＣＴＰ処理部２２は、アソシエーションＡ２のストリームＡ２Ｓ１を用いてデータを通信装置＃３へ転送する（ｓ１６）。ＳＣＴＰ処理部２２は、データが通信装置＃３（ＳＣＴＰ終端装置４０）で正常に受信された場合には、正常受信を示すＳＡＣＫを受信する（ｓ１７）。
【００３２】
図４は、図３に示したようなデータ転送におけるデータ再送に係る問題を示す図である。図４のｓ１１にて、通信装置＃１でデータ送信処理が行われ、データがストリームＡ１Ｓ１を用いて送信される（ｓ１２）。このとき、データが通信装置＃２で受信されることなく欠落したと仮定する（ｓ１２Ａ）。通信装置＃１のＳＣＴＰ処理部１２は、データを送信すると、データ受信を示すＳＡＣＫを待機する状態となる。所定時間の待機によってもＳＡＣＫが受信されない場合、ＳＣＴＰ処理部１２は、リトライ時間をまって、データの再送を行う（ｓ１２Ｂ）。再送によって送信されたデータが通信装置＃２で正常に受信されると、ＳＣＴＰ処理部２２は、データの受信をＳＡＣＫによりＳＣＴＰ処理部１２へ通知する（ｓ１３）。また、ＳＣＴＰ処理部２２は、ＡＰＩ２１にデータ受信を通知する（ｓ１３ａ）。
【００３３】
図４におけるｓ１４,ｓ１５,ｓ１６は、図３のｓ１４,ｓ１５,ｓ１６と同じである。但し、図４では、ｓ１６にて送信されたデータが、通信装置＃３で受信されることなく欠落した場合を想定する（ｓ１６Ａ）。理由としては、図２を用いて説明したように、通信装置＃２と通信装置＃３との間の通信環境が通信装置＃１と通信装置＃２との間の通信環境より悪いことが考えられる。
【００３４】
この場合、ＳＣＴＰ処理部２２は、通信装置＃３からのデータ受信を示すＳＡＣＫを待機する（ｓ１７）。しかし、ＳＡＣＫが所定時間受信されない場合には、ＳＣＴＰ処理部２２は、データの再送を行う（ｓ１８）。再送されたデータに対するＳＡＣＫが受信できない場合には、再送が繰り返される（ｓ１８Ａ,ｓ１９,ｓ１９Ａ,ｓ２０,ｓ２０Ａ,ｓ２
１,ｓ２２）。
【００３５】
ｓ２２で再送されたデータが通信装置＃３で正常に受信された場合には、データの受信を示すＳＡＣＫをＳＣＴＰ処理部２２は受信する（ｓ２３）。この間、メモリ２６に空き容量がある限り、通信装置＃１からはデータが送信され続ける。一方で、ＳＣＴＰ処理部２２は、ＳＣＴＰに従い、厳密なデータ送信順序でのデータ転送を通信装置＃３に対して実行する。このため、データ再送が繰り返されている間は、メモリ２６（バッファ）にてデータが保持され続ける。
【００３６】
従って、参考例では、転送先へのデータ再送に備えてメモリ２６の容量が大きくなっていた。以下に説明する実施形態では、メモリ２６に滞留するデータの量を抑えることができ、これによってメモリ２６の容量を削減することのできる通信システムについて説明する。
【００３７】
〔実施形態〕
図５は、実施形態に係る通信システムの構成例を示す図である。図５に示す通信システムは、通信装置＃１と、インターネット３０を介して通信装置＃１に接続された通信装置＃２と、インターネット５０を介して通信装置＃２に接続された通信装置＃３を備える点で、参考例（図１）の通信システムと同じである。
【００３８】
但し、実施形態では、中継装置として動作する通信装置＃２としてＳＣＴＰ終端装置２０Ａを有する通信装置が適用されている点において、実施形態は参考例と異なる。以下、通信装置＃２（ＳＣＴＰ終端装置２０Ａ）の構成について説明する。
【００３９】
＜通信装置＃２の構成＞
図６は、実施形態に係る通信装置＃２（ＳＣＴＰ終端装置２０Ａ）に適用可能な通信装置（基地局）のハードウェア構成例を示す図である。図６において、通信装置１００は、バスＢを介して相互に接続されたCentral Processing Unit（ＣＰＵ）１０１，Digital Signal Processor（ＤＳＰ）１０２，ＮＩＣ１０３，記憶装置１０４，および無線送受信
回路１０５を含む。無線送受信回路１０５は送受信アンテナ１０６と接続されている。
【００４０】
記憶装置１０４は、主記憶装置と補助記憶装置とを含む。主記憶装置は、例えば、Random Access Memory（ＲＡＭ）、或いは、ＲＡＭとRead Only Memory（ＲＯＭ）との組み合わせを含む。主記憶装置は、ＣＰＵ１０１の作業領域として使用される。また、主記憶装置に含まれるＲＯＭは、例えば、プログラム（ファームウェア）やファームウェアの実行に際して使用されるデータを記憶する。
【００４１】
補助記憶装置は、ＣＰＵ１０１によって使用されるプログラム（オペレーティングシステム（ＯＳ），アプリケーションプログラム）や、プログラムの実行に際して使用されるデータを記憶する。補助記憶装置は、例えば、ハードディスクドライブ（ＨＤＤ），Solid State Drive（ＳＳＤ），フラッシュメモリ，Electrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）などから少なくとも１つ選択することができる。補助記憶装置は、ディスク記憶媒体（ＣＤ，ＤＶＤ，ブルーレイディスクなど）を含み得る。
【００４２】
ＣＰＵ１０１は、記憶装置１０４に記憶されたプログラムを主記憶装置の作業領域にロードして実行することにより、所定の処理を実行する。例えば、ＣＰＵ１０１は、プログ
ラムの実行によってＡＰＩ及びＳＣＴＰ処理部として動作することができる。
【００４３】
ＤＳＰ１０２は、通信装置＃１および通信装置＃３との通信で送受信される信号の送受信に係る処理を行う。また、ＤＳＰ１０２は、基地局が無線端末と無線通信を行うためのディジタルベースバンド処理（ＢＢ処理）を行うベースバンド部（ＢＢ部）として動作する。ＢＢ処理は、データに対する符号化および変調を行ってＢＢ信号を生成する処理と、ＢＢ信号に対する復調および復号を行ってデータを得る処理を含む。
【００４４】
ＮＩＣ１０３は、ネットワークとの信号の送受信処理を司るインタフェース回路である。無線送受信回路１０５は、ＤＳＰ１０２からのＢＢ信号に対する変調処理（アナログ信号への変換），アナログ信号の無線周波数へのアップコンバート，およびアップコンバートされた信号の増幅を行う。増幅された信号（無線信号）は、送受信アンテナ１０６から放射され、図示しない無線端末にて受信される。送受信アンテナ１０６で受信される無線端末からの無線信号は、無線送受信回路１０５にて低雑音増幅され、ダウンコンバートされ、復調処理によってディジタル信号（ＢＢ信号）に変換され、ＤＳＰ１０２へ送られる。
【００４５】
記憶装置１０４の夫々は、「記憶装置」，「メモリ」，「コンピュータ読み取り可能な記憶媒体」の一例である。ＣＰＵ１０１およびＤＳＰ１０２の夫々は、「プロセッサ」，「マイクロプロセッサ」，「制御装置」，「コントローラ」，「制御部」の一例である。ＮＩＣは、「転送部」の一例である。
【００４６】
なお、通信装置１００のハードウェア構成は、通信装置＃１および通信装置＃２にも夫々適用可能である。なお、ＣＰＵ１０１およびＤＳＰ１０２で実行される処理は、電気・電子回路、集積回路，半導体デバイスのうちの少なくとも１つを用いて実行されるようにしても良い。集積回路は、Integrated Circuit（ＩＣ），Large Scale Integrated circuit（ＬＳＩ），Application Specific Integrated Circuit（ＡＳＩＣ）のうちの少なく
とも一つを含む。半導体デバイスは、Field Programmable Gate Array（ＦＰＧＡ）のよ
うなプログラマブルロジックデバイス（ＰＬＤ）を含む。
【００４７】
図７は、通信装置１００を適用した通信装置＃２の構成を模式的に示す図である。図７に示すように、ＣＰＵ１０１は、プログラムの実行によって、ＡＰＩ２１およびＳＣＴＰ処理部２２として動作する。ＡＰＩ２１は、通信データ処理部２１１と、管理部２１２とを含む。通信データ処理部２１１は、データ転送に係る情報の収集部２１３と、ＳＡＣＫ制御部２１４とを含む。
【００４８】
ＳＣＴＰ処理部２２は、通信アソシエーション制御部２２１を含む。通信アソシエーション制御部２２１は、アソシエーションの確立、切断、ストリームの生成、シーケンス番号に基づく転送制御および再送制御など、ＳＣＴＰに基づく処理を行う。記憶装置１０４の少なくとも一方には、品質データ（品質情報ともいう）の記憶領域２６１が設けられている。通信アソシエーション制御部２２１は、ＳＣＴＰの制御を通じて得られたＳＣＴＰ通信の品質に係る情報を、記憶領域２６１に品質データとして記憶する。
【００４９】
ＡＰＩ２１の収集部２１３は、所定のタイミング（リアルタイム,ランダム,一定周期のいずれでも良い）で、記憶領域２６１から品質データを読み出し、通信状況の管理テーブル２６２に記憶する。管理テーブル２６２は、通信装置＃２から通信装置＃３へのＳＣＴＰ通信に関する通信状況を示す値と、各情報に関する閾値とを記憶している。管理テーブル２６２は、記憶装置１０４の少なくとも一方に記憶されている。ＳＡＣＫ制御部２１４は、管理テーブル２６２に記憶された通信状況を示す値が閾値を超過する場合に、通信装置＃１から通信装置＃２へのデータ送信を抑止するための制御を行う。
【００５０】
ＤＳＰ１０２は、通信制御部（Ｃ−ＣＯＮＴ.）２３として動作する。ＤＳＰ１０２は
、フィルタ２１７と、タイマ２１８とを含む。フィルタ２１７は、ＳＡＣＫ制御部２１４からの指示に従って、通信装置＃１へ送信されるＳＡＣＫや、通信装置＃３から送信されたＳＡＣＫをフィルタリング（廃棄）する。タイマ２８は、所定時間を計時する。なお、フィルタ２１７が行うフィルタリングは、ＣＰＵ１０１によって実行されるようにしても良い。
【００５１】
なお、通信装置＃１および通信装置＃３として動作する通信装置１００では、ＣＰＵ１０１がＡＰＩ１１（４１）およびＳＣＴＰ処理部１２（４２）として動作する。また、ＤＳＰ１０２が、通信制御部１３（４３）として動作する。ＮＩＣ１０３は、ＮＩＣ２４（４４）として動作する。但し、通信装置＃１および通信装置＃３は、管理部２１２,管理
テーブル２６２,フィルタ２３１を備えていなくても良い。
【００５２】
図５に示す通信装置＃２（ＳＣＴＰ終端装置２０Ａ）には、図７に示した構成要素に対応する構成要素が図示されている。図５におけるＳＣＴＰ終端装置２０Ａでは、ＡＰＩ２１に関して管理部２１２および管理テーブル２６２が図示されている。また、通信アソシエーション制御部２２１によって実行される処理として、通信装置＃１と通信装置＃２との間のＳＣＴＰ通信に係る処理２５と、通信装置＃２と通信装置＃３とのＳＣＴＰ通信に係る処理６１とが図示されている。また、通信制御部２３によって行われる処理として、通信装置＃１と通信装置＃２との間で送受信される信号のフィルタリング処理Ｆ１と、通信装置＃２と通信装置＃３との間で送受信される信号のフィルタリング処理Ｆ２とが図示されている。
【００５３】
＜データ転送に係る値＞
管理テーブル２６２に記憶される、転送先へのデータ転送に係る値について説明する。転送先へのデータ転送に係る値は、転送先との通信状況を示す値を含むことができる。通信状況を示す値（パラメータ）としては、転送先へのデータの再送に係る値（例えば、ＳＣＴＰ再送回数，ＳＣＴＰ再送確率，再送間隔の少なくとも１つ）を含む。また、転送先へのデータ転送に係る値は、送信元からのデータ受信量，バッファ量，信号の廃棄量，Round-Trip Time（ＲＴＴ：往復遅延時間），スループットなどを含み、これらのパラメー
タから少なくとも１つを選択することができる。
【００５４】
ＳＣＴＰ再送回数は、通信装置＃３（転送先）へ転送したデータの再送回数を示す。再送回数が所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。ＳＣＴＰ再送確率は、通信装置＃３へのデータ転送における単位時間当たりのデータの再送確率を示す。ＳＣＴＰ再送確率が所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。
【００５５】
再送間隔は、通信装置＃３へのデータの再送が発生する時間間隔（例えば単位時間当たりの平均値）を示す。再送間隔が所定の閾値よりも短くなる範囲になった場合に、ＳＡＣＫ制御が実行される。データ受信量は、通信装置＃１（送信元）からの単位時間当たりの送信元からのデータ受信量（データの受信サイズ）を示す。データ受信量が所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。データ受信量は、データサイズであっても、ＤＡＴＡチャンクの数であっても良い。
【００５６】
バッファ量は、例えば、通信装置＃１からのデータ記憶に利用可能なメモリ（バッファ）２６の残りサイズを示す。残りサイズとして、ａ＿ｒｗｎｄ値（Advertised Receiver Window Credit：受信ウィンドウ保証量）を用いることができる。バッファ量（残りサイ
ズ）が所定の閾値より少ない範囲になった場合に、ＳＡＣＫ制御が実行される。バッファ
量として、バッファ滞留量を用いることもできる。バッファ滞留量とは、メモリ（バッファ）２６に滞留しているデータサイズを示す。データサイズが所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。
【００５７】
信号の廃棄量は、通信装置＃１からの信号ないし要求の廃棄量を示す。廃棄量が所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。スループットは、通信装置＃２（転送元）から通信装置＃３（転送先）への単位時間当たりの送信データ量を示す。スループットが所定の閾値より低い範囲になったときに、ＳＡＣＫ制御を実行することができる。スループットの測定手法は既存のあらゆる手法を適用可能である。
【００５８】
ＲＴＴは、通信装置＃３へ信号を送ってから応答が戻ってくるまでの時間を示す。ＳＣＴＰでは、アソシエーションが確立されている経路に対して生存確認が実施される。生存確認は、送信元がSCTP HEART BEAT チャンクを送信先へ送り、送信先からSCTP HEART BEAT ACKチャンクを受信することで行われる。このような、SCTP HEART BEAT チャンクの送
信からSCTP HEART BEAT ACKチャンクの受信までの時間をＲＴＴとして計測することがで
きる。但し、ＲＴＴを測定するための信号種別及び測定方法は、SCTP HEART BEAT チャンクに限定されない。ＲＴＴが所定の閾値を超える範囲になった場合に、ＳＡＣＫ制御が実行される。
【００５９】
上記した転送先へのデータ転送に係る値のそれぞれは、通信環境の変化に応じて変動するパラメータであるが、ＳＡＣＫ制御の実施・不実施は、固定パラメータに従って実行されるようにすることもできる。固定パラメータとしては、転送先との通信プロトコル種別，通信レートがある。
【００６０】
転送先との通信プロトコル種別は、通信装置＃２が通信装置＃３へデータを転送するのに使用するプロトコル種別を示す。例えば、プロトコル種別がＰＰＰｏＥ（Point-to-Point Protocol over Ethernet（登録商標））のような、通常、低速回線に用いられるプロ
トコルである場合に、ＳＡＣＫ制御が実行される。通信レートは、通信装置＃２が通信装置＃３へ送信を行うためのネットワークの通信速度を示す。通信速度が閾値を超える場合に、ＳＡＣＫ制御が実行される。もちろん、通信中に通信レートが変動する場合には、通信レートが所定の閾値より低い範囲になったときにＳＡＣＫ制御が実行されるようにすることができる。
【００６１】
以下に示す実施形態では、ＳＣＴＰ再送回数，データ受信量，及びバッファ残量（残りバッファサイズ）が通信状況を示す値として使用される例について説明する。但し、通信状況を示す値がこれらに限定されず、さらに上記例示した値以外の値も含み得ることは当然のことである。以下、ＳＣＴＰ再送回数，データ受信量，及びバッファ残量を纏めて品質データと称する。但し、このことは、ＳＣＴＰ再送回数，データ受信量，及びバッファ残量以外のパラメータが「品質データ」から除外されることを意味しない。  
【００６２】
＜管理テーブルのデータ構造例＞
図８は管理テーブル２６２のデータ構造例を示す。管理テーブル２６２は、ＳＣＴＰのアソシエーション毎に、品質データと、品質データの閾値と、制御モードを示す情報とを記憶している。図８に示す例では、品質データの一例として、ＳＣＴＰ再送回数と、データ受信量と、滞留バッファ量の測定値が記憶される。また、ＳＣＴＰ再送回数と、データ受信量と、バッファ残量に対応する閾値が記憶される。
【００６３】
図９は、管理テーブル２６２に記憶される制御モードの一例を示す説明図である。図９に示す例では、制御モードとして、モード１からモード５が示されている。モード１では、制御対象が指定される。モード１に対応する値として、制御対象のアソシエーション番
号が記憶される。
【００６４】
モード２では、ＳＡＣＫ制御における制御方法が指定される。モード２に対応する値として、例えば、ＳＡＣＫの破棄を示す値、ＳＡＣＫの送信破棄を示す値、ＳＡＣＫの指定時間内の破棄を示す値、データ破棄を示す値が記憶される。指定時間は、通信装置＃１へのＳＡＣＫ送信が禁止される時間を示す。
【００６５】
モード３では、ＳＡＣＫ制御における制御方法が指定される。モード３に対応する値として、Transmission Sequence Number（ＴＳＮ：送信シーケンス番号）の更新の停止を示す値が記憶される。モード４では、独立通信路の構築を示す値が記憶される。例えば、ＳＣＴＰアソシエーションの新規作成を示す値や、ＳＣＴＰストリームの新規作成を示す値が記憶される。モード５は、能力情報の通知、統計情報、限界情報を示す値が記憶される。例えば、測定値情報の通知を指定する値や、ＳＣＴＰアソシエーションの割当可能な滞留数（バッファサイズ）の通知を指定する値が記憶される。
【００６６】
＜通信システムにおける動作例＞
図１０および図１１は、実施形態に係る通信システム（図５）の動作例を示すシーケンス図である。図１０において、通信装置＃２（ＳＣＴＰ終端装置２０Ａ）は、ＳＣＴＰに従って、通信装置＃１から受信したデータを通信装置＃３へ転送する処理を行っている（図１０＜１＞）。これに伴い、通信アソシエーション制御部２２１は、記憶装置１０４の記憶領域２６１に通信装置＃３へのデータ転送に係る品質データを記憶する。
【００６７】
通信装置＃２のＡＰＩ２１における収集部２１３（ＣＰＵ１０１）は、周期的に起動し（図１０＜２＞）、記憶領域２６１に記憶された品質データを収集し（図１０＜３＞，＜４＞）、管理テーブル２６２に記憶する（図１０＜５＞）。
【００６８】
すると、ＳＡＣＫ制御部２１４（ＣＰＵ１０１）は、管理テーブル２６２（図８）を参照し、通信装置＃２と通信装置＃３との間のアソシエーションＡ２（図５）に関して、品質データの各項目と閾値とを比較し、閾値を超過する項目があるか否かを判定する（図１０＜６＞）。
【００６９】
この場合、ＳＡＣＫ制御部２１４は、モード情報（図９）に従ったＳＡＣＫ制御の設定を行う。例えば、ＳＡＣＫ制御部２１４は、通信装置＃１から受信されたデータに対するＳＡＣＫを破棄するように、フィルタ２３１に対する設定を行う（図１０＜７＞）。フィルタ２３１は、ＳＡＣＫ制御部２１４からの指示に従ってＳＡＣＫを破棄する状態になる（図１０＜８＞）。
【００７０】
その後、図１１に示すように、フィルタ設定変更の後に、通信装置＃１がデータ送信処理を行う（図１１＜１＞）。これによって、データ（データチャンク）がストリームＡ１Ｓ１を介して通信装置＃２のＳＣＴＰ処理部２２にて受信される（図１１＜２＞）。
【００７１】
ＳＣＴＰ処理部２２は、受信したデータチャンク中のデータをメモリ２６に記憶（バッファリング）するとともに、ＳＡＣＫ（ＳＡＣＫチャンク）を生成し、通信装置＃１へ向けて送信する（図１１＜３＞）。但し、当該ＳＡＣＫは、通信制御部２３（ＤＳＰ１０２）のフィルタ２３１によって破棄される（図１１＜４＞）。
【００７２】
通信装置＃１では、ＳＡＣＫの待機時間が満了してもＳＡＣＫを受信できないので、リトライ時間の満了後に、データの再送を行う（再送１、図１１＜５＞）。通信装置＃２では、フィルタリング設定に従い、データに対するＳＡＣＫを破棄する（図１１＜６＞，＜７＞）。通信装置＃１では、ＳＡＣＫを受信できないので、データの再送をさらに行う（
再送２、図１１＜８＞）。このように、フィルタリング設定（ＳＡＣＫ制御）がなされている間は、通信装置＃１からのデータ送信が実質的に停止する。
【００７３】
なお、図１１の＜２＞及び＜５＞で受信されるデータは、ＳＡＣＫが破棄される場合には、通信装置＃３へ送信しないようにすることができる。例えば、メモリ（バッファ）２６に記憶する前に破棄する。或いは、一端メモリ２６に記憶しておき、通信装置＃３への送信時に、フィルタ２３１（図５のＦ２）にて破棄しても良い。
【００７４】
図１１に示していないが、品質データの収集及び閾値判定は、例えば周期的に実施される。品質データの収集により、管理テーブル２６２に記憶される測定値は更新される。更新の結果、各測定値がいずれの閾値も超過しない状態になることがある。この場合、上記したようなフィルタリング設定は解除される。
【００７５】
図１１の再送２のデータが送信された時点では、フィルタリング設定が解除されていると仮定する。この場合、ＳＣＴＰ処理部２２から送信されるＳＡＣＫは、フィルタ２３１で破棄されることなく通信装置＃１へ送信される（図１１＜９＞）。一方、ＳＣＴＰ処理部２２は、ＡＰＩ２１にデータ受信を通知し（図１１＜１０＞）、ＡＰＩ２１からの転送指示を得て（図１１＜１１＞，＜１２＞）、データを通信装置＃３へ転送する（図１１＜１３＞）。その後、通信装置＃２は、通信装置＃３からデータ受信を示すＳＡＣＫを受信する（図１１＜１４＞）。ＳＡＣＫがデータ受信の承認を示す場合には、データがメモリ２６から削除される。
【００７６】
以上のように、動作例によれば、通信装置＃３へのデータ転送に係る値（動作例ではデータ転送に関して測定された測定値）が閾値を超過する範囲（所定範囲）になった場合には、通信装置＃１へのＳＡＣＫが破棄（ＳＡＣＫ送信が禁止）される。これによって、通信装置＃１からのデータ送信を実質的に停止することができる。このため、通信装置＃１と通信装置＃２との間の通信環境を通信装置＃２と通信装置＃３との間の通信環境に近づけることができる。これによって、メモリ（バッファ）２６の滞留データ量を抑えることができる。したがって、メモリ（バッファ）２６の容量を削減することが可能となる。
【００７７】
なお、上記した動作例では、ＳＡＣＫが破棄される場合には、データが通信装置＃３に転送されないようにしている。但し、ＳＡＣＫが破棄される場合であっても、データが通信装置＃３へ送信されるようにしても良い。この場合、通信装置＃１からのデータ送信が実質的に停止している間に、メモリ２６に滞留しているデータを通信装置＃３に転送して、滞留データ量を抑えることができる。
【００７８】
また、上記した動作例では、管理テーブル２６２の更新に応じて測定値が閾値を超過するか否かの判定がなされ、閾値を超過する測定値があるときに、フィルタリング設定のような、ＳＡＣＫを破棄（ＳＡＣＫの送信を禁止）する設定がなされる。但し、測定値と閾値との比較（ＳＡＣＫの破棄設定）は、管理テーブル２６２の更新に合わせて実施されなくても良い。すなわち、測定値と閾値との比較は、周期的に、或いは指示に応じた適宜のタイミングでなされるようにしても良い。
【００７９】
＜ＳＣＴＰヘッダ及びチャンク＞
次に、実施形態で使用されるＳＣＴＰヘッダ及び主なチャンクについて説明する。図１２は、ＳＣＴＰヘッダのデータ構造を示す図である。ＳＣＴＰヘッダは、共通ヘッダ（Common Header）と、共通ヘッダに後続するｎ個（ｎは自然数）のチャンクとからなる。図
１２の最上段の数字は、ビットを示す。チャンクの最大数は、Maximum Transmission Unit (ＭＴＵ)のサイズに依存する。但し、ＳＣＴＰ  ＩＮＩＴチャンク，ＩＮＩＴ  ＡＣＫチャンクなどの所定のチャンクは、他のチャンクと相乗りできない。
【００８０】
図１３は、ＳＣＴＰ  ＩＮＩＴチャンクのデータ構造を示す図である。アソシエーションの確立手順は、ＳＣＴＰ  ＩＮＩＴチャンクの送信から始まる。ＳＣＴＰ  ＩＮＩＴチャンクを有するＳＣＴＰパケットが、図３で説明した「ＳＣＴＰ接続要求」に相当する。
【００８１】
主なフィールドについて説明する。“Type”は、チャンクのタイプを示し、“Type=1”はチャンクがＩＮＩＴチャンクであることを示す。“Advertised Receiver Window Credit (ａ＿ｒｗｎｄ)：受信ウィンドウ保証量広告”は、ＩＮＩＴチャンクの送信元が確立されるアソシエーションで割り当てる受信バッファの最小量を示す。ａ＿ｒｗｎｄの受信側は、ＳＡＣＫチャンクでａ＿ｒｗｎｄを送信元へ送ることで、ａ＿ｒｗｎｄを変更することもできる。
【００８２】
“Number of Outbound Streams（送出ストリーム数）”は、データの送信側から出て行くストリームの最大数を示す。“Number of Inbound Streams（流入ストリーム数）”は
、データの受信側で生成が許可される流入方向のストリーム数を示す。“Initial TSN（
初期ＴＳＮ）”は、データの送信に使用する伝送シーケンスナンバー（Transfer Sequence Number：ＴＳＮ）の初期値を示す。
【００８３】
ＳＣＴＰ  ＩＮＩＴ  ＡＣＫチャンクのデータ構造は、ＩＮＩＴチャンクと同じであるので図示を省略する。但し、パラメータは、ＩＮＩＴチャンクの受信側の値が設定される。さらに、ＩＮＩＴチャンクが含まないパラメータとしてはクッキーがある。
【００８４】
図１４は、ＳＣＴＰ  ＤＡＴＡチャンク（データチャンク）のデータ構造を示す図である。主なパラメータとしては次のものがある。すなわち、“ＴＳＮ”は、ＤＡＴＡチャンクのシーケンス番号であり、ＤＡＴＡチャンクの受信側は、ＤＡＴＡチャンクを受信した場合には、当該ＤＡＴＡチャンクのＴＳＮの受信を認め（acknowledge）、引き替えにＳ
ＡＣＫチャンクを送る。  
【００８５】
“Stream Identifier（ストリーム識別子）”は、ＤＡＴＡチャンクと関連づけられた
（ＤＡＴＡチャンクの送信に用いた）ストリームの識別子である。“Stream Sequence Number（ストリームシーケンス番号）”は、ストリーム識別子で特定される１つのストリーム中のシーケンス番号を示す。“User Data（ユーザデータ）”は、ＤＡＴＡチャンクに
よって運ばれるデータそのものであり、可変長である。
【００８６】
図１５は、ＳＣＴＰ  ＳＡＣＫチャンクのデータ構造を示す。ＳＡＣＫチャンクの主なパラメータは次の通りである。“Cumulative TSN Ack（累積ＴＳＮ  ＡＣＫ）”は、初期ＴＳＮから順序通りに届いている最後のＴＳＮを示す。データの送信側は、累積ＴＳＮ  ＡＣＫの値（ＴＳＮ）を参照して、送信側がどのＴＳＮまで順序通りに受信を完了したかを知ることができる。
【００８７】
“ａ＿ｒｗｎｄ”は、ＩＮＩＴチャンクに格納される“ａ＿ｒｗｎｄ”と同じである。但し、この値を“ａ＿ｒｗｎｄ”の初期値と異なる値に設定することで、受信バッファのサイズ（送信側が一度に送信するデータ量）を変更することができる。
【００８８】
ギャップＡＣＫブロック情報は、欠落したＴＳＮを送信側で認識するために使用ＳＲ得る。“Gap Ack Brock #1 Start (ギャップＡＣＫブロック＃１開始点)”及び“Gap Ack Brock #1 End (ギャップＡＣＫブロック＃１終了点)”は、ＤＡＴＡチャンクの欠落や到着順の乱れによってギャップ（ＴＳＮの欠落）が生じた場合に使用される。送信側がこれまでに送信した全てのＴＳＮを受信側が受信している場合には、累積ＴＳＮ  ＡＣＫの値に最後のＴＳＮが設定され、当該フィールドは無しとなる。
【００８９】
“Gap Ack Brock #1 Start”と“Gap Ack Brock #1 End”と間にあるＴＳＮは受信済の扱いになる。或るＴＳＮが受信されていない状態で、当該ＴＳＮに後続するＴＳＮが存在する場合がある。この場合には、当該ＴＳＮが“Gap Ack Brock #2 Start”と“Gap Ack Brock #2 End”で示される。これによって、送信側では、ギャップＡＣＫブロックに係る値を参照することで、欠落しているＴＳＮを割り出すことができる。データの再送は、ギャップＡＣＫブロック情報で特定されたＴＳＮを含むＤＡＴＡチャンクを再送することによってなされる。
【００９０】
＜通信装置＃２における処理＞
次に、通信装置＃２における処理について説明する。
＜＜品質データの収集処理＞＞
図１６は、ＡＰＩ２１の収集部２１３（ＣＰＵ１０１）によってなされる品質データの収集処理の例を示すフローチャートである。図１６の処理は、一定時間毎に周期的に事項される。但し、開始タイミングは適宜設定可能である。
【００９１】
最初に、収集部２１３は、記憶領域２６１（図７）からＳＣＴＰ再送回数を取得する（０１）。次に、収集部２１３は、記憶領域２６１（図７）からデータ受信量を取得する（０２）。次に、収集部２１３は、記憶領域２６１（図７）からバッファ滞留量を取得する（０３）。なお、０１〜０３の処理の順序はどのような順であっても良い。
【００９２】
次に、収集部２１３は、ＳＣＴＰ再送回数，データ受信量，バッファ滞留量で管理テーブルを更新する（０４）。その後、収集部２１３は、一定時間待機する（０５）。一定時間が経過すると、再び収集処理が開始される。
【００９３】
＜＜通信装置＃１への送信時における処理＞＞
図１７は、通信装置＃１へ信号を送信する場合におけるＳＡＣＫ制御に関する処理例を示すフローチャートである。図１７に示す処理は、ＳＡＣＫ制御部２１４（ＣＰＵ１０１）及びフィルタ２３１（ＤＳＰ１０２）によってなされる。図１７に示す処理の前提として、既に閾値を超過する測定値がある旨の判定がなされ、当該判定に従ってモード２又はモード３で指定された処理の設定がなされている。
【００９４】
最初の１１において、通信装置＃１へ信号の送信処理が開始されると、ＳＡＣＫ制御部２１４は、管理テーブル２６２（図８）を参照し、閾値を超過する品質データの測定値があるか否かを判定する（１２）。このとき、閾値を超過する測定値があれば、処理が１３に進み、なければ処理が１４に進む。なお、この例では、複数の測定値の少なくとも１つが閾値を超過しているかの判定であるが、所定の複数の測定値が閾値を超過しているが判定条件とされても良い。
【００９５】
１３に処理が進んだ場合には、ＳＡＣＫ制御部２１４は、閾値超過時の処理内容としてモード３が指定されているか否かを判定する。モード３が指定されていない場合には、処理が１５に進み、モード３が指定されている場合には処理が１４に進む。
【００９６】
１４では、ＳＡＣＫ制御部２１４は、送信対象の信号がシーケンス番号更新信号であるか否かを判定する。このとき、信号がシーケンス番号更新信号である場合には、処理が１８に進み、ＳＡＣＫ制御部２１４は、フィルタ２３１にシーケンス番号更新信号を破棄させる。これに対し、信号がシーケンス番号更新信号でない場合には、処理が１５に進む。
【００９７】
シーケンス番号更新信号とは、ＳＡＣＫ制御部が現在管理しているＴＳＮ（累積ＴＳＮ
ＡＣＫ）の値より大きい累積ＴＳＮ  ＡＣＫの値を有するＳＡＣＫチャンク（図１５）
を意味する。更新された累積ＴＳＮ  ＡＣＫの値を有するＳＡＣＫチャンクを受信した通信装置＃１は、未送信のデータの送信を開始する。シーケンス番号更新信号が破棄（送信禁止）されることで、通信装置＃１はデータの再送を繰り返すだけの状態になる。再送されたデータが既にメモリ２６に記憶されている場合には、当該データは破棄可能である。これによって、メモリ２６におけるデータの滞留量（蓄積量）の増加が抑止される。また、シーケンス番号更新信号の破棄により、通信装置＃１からＤＡＴＡチャンクの再送タイミングを遅らせる効果もある。このように、ＳＡＣＫが未送信のデータ送信を促す場合に、当該ＳＡＣＫが破棄される。
【００９８】
処理が１５へ進んだ場合には、ＳＡＣＫ制御部２１４は、閾値超過時の処理内容としてとしてモード２が指定されているか否かを判定する。このとき、モード２が指定されていなければ、通常処理によって、送信対象の信号が通信装置＃１へ送信される（１７）。これに対し、モード２が指定されている場合には、処理が１６へ進む。
【００９９】
１６では、ＳＡＣＫ制御部２１４は、送信対象の信号が再送要求信号であるか否かを判定する。このとき、信号が再送要求信号である場合には、１８の処理にてフィルタ２３１により再送要求信号が破棄される。これに対し、信号が再送要求信号でなければ、当該信号は通信装置＃１へ送信される。
【０１００】
再送要求信号は、累積ＴＳＮ  ＡＣＫの値が、ＳＡＣＫ制御部２１４にて管理されているＴＳＮ（受信承認した最後のＴＳＮ）と一致するＳＡＣＫチャンクを意味する。或いは、ギャップＡＣＫブロック情報を含むＳＡＣＫチャンクを再送要求信号と考えることもできる。再送要求信号が破棄されることで、通信装置＃１からのＤＡＴＡチャンクの再送タイミングを遅らせることができる。このように、ＳＡＣＫがデータの再送要求を示す場合に当該ＳＡＣＫが破棄される。
【０１０１】
＜＜通信装置＃１からの受信時における処理＞＞
図１８は、通信装置＃１から信号（ＤＡＴＡチャンク）が受信された場合におけるＳＡＣＫ制御に関する処理例を示すフローチャートである。図１８に示す処理は、ＳＡＣＫ制御部２１４（ＣＰＵ１０１）及びフィルタ２３１（ＤＳＰ１０２）によってなされる。
【０１０２】
図１８の２１において、信号の受信処理が開始されたことを検知すると、ＳＡＣＫ制御部２１４は、管理テーブル２６２（図８）を参照し、閾値を超過する品質データの測定値があるか否かを判定する（２２）。このとき、閾値を超過する測定値があれば、処理が２３に進み、なければ信号を受信する（２９）。
【０１０３】
２３では、ＳＡＣＫ制御部２１４は、閾値超過時の処理内容（ＳＡＣＫ制御内容）としてモード２が指定されているか否かを判定する。モード２が指定されていない場合には、処理が終了する。これに対し、モード２が指定されている場合には、処理が２４に進む。
【０１０４】
２４では、ＳＡＣＫ制御部２１４は、モード２で指定された制御内容としてＴＳＮの一致時にＳＡＣＫチャンクを破棄する設定がなされているか否かを判定する。そのような設定になっていれば、処理が２５に進み、そうでなければ処理が２６に進む。
【０１０５】
２５では、ＳＡＣＫ制御部２１４は、受信されたＤＡＴＡチャンクに対するＳＡＣＫチャンクの累積ＴＳＮ  ＡＣＫがＳＡＣＫ制御部２１４で管理しているＴＳＮと一致するか否かを判定する。ＴＳＮが一致する場合には、ＳＡＣＫチャンクは破棄される（２８）。これによって、ＳＡＣＫチャンクが通信装置＃１に送信されないため、通信装置＃１からのデータ送信タイミングが遅れる。
【０１０６】
２６では、ＳＡＣＫ制御部２１４は、モード２で指定された制御内容として指定時間満了前のＳＡＣＫ破棄が設定されているか否かを判定する。そのような設定であれば、処理が２７に進み、そうでなければ処理が終了する。
【０１０７】
２７では、タイマ２３２により計時されている指定時間が満了前か否かが判定される。このとき、指定時間の満了前であれば、ＳＡＣＫチャンクが破棄される。破棄は、ＳＣＴＰ処理部２２でなされても良く、フィルタ２３１により破棄されても良い。これに対し、指定時間が満了していれば、処理が終了する。この場合、ＳＡＣＫチャンクは通信装置＃１へ送信される。タイマ２３２のスタートは、例えば、品質データの収集に伴う閾値判定の結果、ＳＡＣＫ制御を実施することが決定されることを契機に行うことができる。以上のように、送信元へのＳＡＣＫの送信が禁止される時間内に生じたＳＡＣＫが破棄されることで、送信元のデータ送信又は再送を遅らせることができるので、メモリ２６におけるデータの滞留量を抑えることができる。
【０１０８】
なお、図１８の処理では、ＳＡＣＫチャンクが破棄されるようにしているが、ＤＡＴＡチャンクのＴＳＮと管理されているＴＳＮとが一致するときにＤＡＴＡチャンクが破棄さされるようにしても良い。或いは、指定時間満了前であれば、ＤＡＴＡチャンクが破棄されるようにしても良い。このようにしても、結果としてＤＡＴＡチャンクに対するＳＡＣＫの送信が禁止される。
【０１０９】
なお、図１７及び図１８の処理では、モード及びＳＡＣＫ制御の内容が確認されているが、このような確認は行わず、事前になされたモード及びＳＡＣＫ制御の内容に応じた処理（ＴＳＮの比較、指定時間満了か否か）が実行されるようにしても良い。
【０１１０】
＜新規アソシエーションの確立＞
実施形態では、上記したようなＳＡＣＫ制御によって、通信装置＃１へのＳＡＣＫチャンクの送信が禁止されることで、通信装置＃１からのＤＡＴＡチャンクの送信タイミングを遅延させる。これによって、メモリ２６に滞留するデータ量の増加が抑えられる。但し、ＳＡＣＫ制御が長時間に亘って継続する場合には、通信装置＃１から通信装置＃２へのデータ送信の終了時期が遅れる。通信時間の長期化は、例えば、通信装置＃１のリソース（ＣＰＵやメモリ）が通信のために長時間占有されることを意味するため、リソースの有効利用の観点からは好ましいことではない。実施形態では、オプションとして、以下のような処理を行うことで、通信装置＃１から通信装置＃２へのデータ送信の終了時期を早めるようにする。
【０１１１】
例えば、図１９に示すように、通信装置＃１と通信装置＃２との間に新規のアソシエーションＡ３を確立し、アソシエーションＡ３内に生成されたストリームＡ３Ｓ１で、未送信のデータが送信されるようにする。
【０１１２】
図２０は、新規アソシエーションの作成処理例を示すフローチャートである。図２０に示す処理は、例えば、ＡＰＩ２１（ＣＰＵ１０１）によって実行される。図２２に示す処理は、ＳＡＣＫ制御の実施中であることを前提とする。また、ＳＡＣＫ制御が開始される場合に、図示しないタイマの計時が開始されていることが前提とされる。当該タイマは、ＳＡＣＫ制御が終了した場合にリセットされ、再びＳＡＣＫ制御が開始される場合にスタートする。
【０１１３】
図２０の３１では、ＣＰＵ１０１は、タイマの計時時間（ＳＡＣＫ制御継続時間）を参照し、ＳＡＣＫ制御継続時間が閾値を超過しているか否かを判定する。閾値を超過していない場合には、図２０の処理が終了する。これに対し、ＳＡＣＫ制御継続時間が閾値を超過している場合には、処理が３２へ進む。
【０１１４】
３２では、ＣＰＵ１０１は、閾値超過時の制御内容として、モード４が指定されているか否かを判定する。モード４が指定されていない場合には、図２０の処理が終了する。これに対し、モード４が指定されている場合には、処理が３３へ進む。
【０１１５】
３３では、ＣＰＵ１０１は、モード４の内容として、新規アソシエーション確立が指定されているか否かを判定する。このとき、新規アソシエーション確立が指定されていない場合には、図２０の処理が終了する。これに対し、新規アソシエーション確立が指定されている場合には、処理が３４へ進む。
【０１１６】
３４では、ＣＰＵ１０１は、通信装置＃１からのデータ受信に用いているアソシエーションＡ１以外のアソシエーションが既に確立されているか否かを判定する。このとき、アソシエーションが既に確立がされている場合には、図２０の処理が終了する。これに対し、アソシエーションが確立されていない場合には、処理が３５へ進む。
【０１１７】
３５では、ＣＰＵ１０１（ＡＰＩ）は、ＳＣＴＰ処理部２２に対し、新規アソシエーションの確立を指示する。ＳＣＴＰ処理部２２は、通信装置＃１との間でイニシャライズを実行し、新規アソシエーション（アソシエーションＡ３）を確立する。このとき、通信装置＃２のＣＰＵ１０１は、アソシエーションＡ１を用いて送信予定のＤＡＴＡチャンクのうち、未送信のＤＡＴＡチャンクの一部又は全部がアソシエーションＡ３を用いて受信されるように、通信装置＃１とネゴシエーションを行う。
【０１１８】
なお、新規に作成するアソシエーションＡ３について、通信品質に伴う幾つかの条件を用いて確立することができる。例えば、モード５として図９に示した情報の通知をアソシエーションＡ３の確立後に行うことができる。
【０１１９】
図２１に示すように、新規アソシエーションを確立する代わりに、既存のアソシエーションＡ１内に、ストリームＡ１Ｓ１から独立した新規のストリームＡ１Ｓ２を作成し、このストリームＡ１Ｓ２を用いて、未送信のデータを受信することもできる。
【０１２０】
図２２は、新規ストリームの作成処理例を示すフローチャートである。図２２に示す処理は、例えば、ＡＰＩ２１（ＣＰＵ１０１）によって実行される。図２２に示す処理は、ＳＡＣＫ制御の実施中であることを前提とする。また、ＳＡＣＫ制御が開始される場合に、図示しないタイマの計時が開始されていることが前提とされる。当該タイマは、ＳＡＣＫ制御が終了した場合にリセットされ、再びＳＡＣＫ制御が開始される場合にスタートする。
【０１２１】
図２２の４１では、ＣＰＵ１０１は、タイマの計時時間（ＳＡＣＫ制御継続時間）を参照し、ＳＡＣＫ制御継続時間が閾値を超過しているか否かを判定する。閾値を超過していない場合には、図２２の処理が終了する。これに対し、ＳＡＣＫ制御継続時間が閾値を超過している場合には、処理が４２へ進む。
【０１２２】
４２では、ＣＰＵ１０１は、閾値超過時の制御内容として、モード４が指定されているか否かを判定する。モード４が指定されていない場合には、図２２の処理が終了する。これに対し、モード４が指定されている場合には、処理が４４へ進む。
【０１２３】
４３では、ＣＰＵ１０１は、モード４の内容として、新規ストリーム生成が指定されているか否かを判定する。このとき、新規ストリーム生成が指定されていない場合には、図２２の処理が終了する。これに対し、新規ストリーム生成が指定されている場合には、処理が４４へ進む。
【０１２４】
４４では、ＣＰＵ１０１は、通信装置＃１からのデータ受信に用いているストリームＡ１Ｓ１以外のストリームが既に生成されているか否かを判定する。このとき、ストリームが既に確立がされている場合には、図２２の処理が終了する。これに対し、ストリームが確立されていない場合には、処理が４５へ進む。
【０１２５】
４５では、ＣＰＵ１０１（ＡＰＩ）は、ＳＣＴＰ処理部２２に対し、新規ストリームの確立を指示する。ＳＣＴＰ処理部２２は、アソシエーションＡ１に係るパラメータを用いて、通信装置＃１との間でストリームＡ１Ｓ２を確立する。このとき、ストリームＡ１Ｓ１を用いて受信予定であったデータの一部がストリームＡ１Ｓ２を用いて受信されるようにする。
【０１２６】
アソシエーション内に生成された複数のストリームの夫々は相互に独立しているので、ストリームＡ１Ｓ１における通信状況は、ストリームＡ１Ｓ２における通信に影響を与えない。なお、ストリームＡ１Ｓ２は、アソシエーションＡ１の確立時に予め作成しておき、ＳＡＣＫ制御時間が閾値を超過した場合に、使用開始されるようにしても良い。
【０１２７】
アソシエーションＡ３やストリームＡ１Ｓ２が生成された場合には、これらを通じて受信されるデータは、メモリ２６（記憶装置１０４）に記憶しておくことができる。そして、アソシエーションＡ１或いはストリームＡ１Ｓ１を用いて受信されたデータの転送（通信装置＃３向け）が終了した後に、アソシエーションＡ２を用いて転送することができる。但し、上記方法以外の方法を適用することもできる。
【０１２８】
なお、実施形態では、通信装置＃１が基地局の上位装置（ＲＮＣ又はＭＭＥ）であり、通信装置＃２及び通信装置＃３が基地局である例について説明したが、これら以外の通信装置（情報処理装置）に実施形態で説明したＳＡＣＫ制御が適用されても良い。また、通信装置＃２と通信装置＃３との間でもＳＣＴＰでデータ転送が行われる例について説明したが、データ転送の通信が必ずしもＳＣＴＰでなされなくても良い。例えば、Transmission Control Protocol(ＴＣＰ)が適用される場合もあり得る。以上説明した実施形態の構
成は、適宜組み合わせることができる。
【符号の説明】
【０１２９】
２０Ａ・・・ＳＣＴＰ終端装置（通信装置＃２）
２６・・・メモリ
１００・・・通信装置
１０１・・・ＣＰＵ
１０２・・・ＤＳＰ
２４，１０３・・・ＮＩＣ
１０４・・・記憶装置
【図１】
2016139903.tif 000003
【図２】
2016139903.tif 000004
【図３】
2016139903.tif 000005
【図４】
2016139903.tif 000006
【図５】
2016139903.tif 000007
【図６】
2016139903.tif 000008
【図７】
2016139903.tif 000009
【図８】
2016139903.tif 000010
【図９】
2016139903.tif 000011
【図１０】
2016139903.tif 000012
【図１１】
2016139903.tif 000013
【図１２】
2016139903.tif 000014
【図１３】
2016139903.tif 000015
【図１４】
2016139903.tif 000016
【図１５】
2016139903.tif 000017
【図１６】
2016139903.tif 000018
【図１７】
2016139903.tif 000019
【図１８】
2016139903.tif 000020
【図１９】
2016139903.tif 000021
【図２０】
2016139903.tif 000022
【図２１】
2016139903.tif 000023
【図２２】
2016139903.tif 000024