(57)【要約】【課題】通信初期においても高いスループットを実現できる新規な送信機および中継装置並びに通信システム、通信プログラム、通信方法の提供。【解決手段】送信機４０からの送信データを中継装置２０を介して受信機１０に送信するに際し、受信機１０からの最初の受信確認応答が受信されるまでの間、送信機４０が中継装置２０からの転送通知メッセージである前記送信データの識別情報を取得し、その情報に基づいてデータ送信量を調節する。これによって、ネットワーク輻輳に対処しつつ輻輳ウィンドウサイズを的確に増加させて通信初期においても高いスループットを実現できる。【選択図】        図３
2007159052.tif 000002
【特許請求の範囲】
【請求項１】
中継装置を介して受信機にデータユニットを送信する送信機であって、
前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、
当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、
当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段とを具備することを特徴とする送信機。
【請求項２】
請求項１に記載の送信機において、
前記送信量制御手段は、前記データユニットの受信に対する前記受信機からの最初の確認応答が受信される前に、前記ロス判定手段による判定結果に応じて前記データユニットの送信量を制御するようになっていることを特徴とする送信機。
【請求項３】
請求項１に記載の送信機において、
前記受信機によって前記データユニットに対して送信された確認応答を受信する確認応答受信手段をさらに備え、
前記送信量制御手段は、当該確認応答受信手段によって前記データユニットに対する最初の前記確認応答が受信されたときは、当該確認応答に応じて前記データユニットの送信量を制御するようになっていることを特徴とする送信機。
【請求項４】
請求項３に記載の送信機において、
前記送信量制御手段は、前記データユニットのデータ量を制限するウィンドウサイズを制御するウィンドウ制御部を備え、
当該ウィンドウ制御部は、前記データユニットに対する前記受信機からの最初の確認応答が受信されたときは、それまでに受け取った前記識別情報に対応する前記データユニットのサイズの合計値に基づいて前記ウィンドウサイズを制御するようになっていることを特徴とする送信機。
【請求項５】
請求項１〜４のいずれか１項に記載の送信機において、
前記中継装置に対して前記データユニットの識別情報を送信するか否かを指示する情報を制御する指示情報制御手段をさらに備えていることを特徴とする送信機。
【請求項６】
請求項５に記載の送信機において、
前記指示情報制御手段は、前記データユニットに対する前記受信機からの最初の確認応答が受信されるときは、前記中継装置に対して前記データユニットの識別情報を送信しないことを指示するようになっていることを特徴とする送信機。
【請求項７】
送信機から受信機宛に送信されたデータユニットを転送する中継装置であって、
前記データユニットの識別情報を取得する識別情報取得手段と、
前記送信機によって前記データユニットに記載された指示情報を取得する指示情報取得手段と、
当該指示情報取得手段で取得された前記指示情報を判定する指示情報判定手段と、
当該指示情報判定手段の判定結果に応じて前記識別情報取得手段によって取得された前記データユニットの前記識別情報を前記送信機に対して通知する識別情報通知手段とを具備することを特徴とする中継装置。
【請求項８】
請求項７に記載の中継装置であって、
前記識別情報通知手段は、前記データユニットが前記受信機に対して転送されたときは、前記識別情報を前記送信機に対して通知するようになっていることを特徴とする中継装置。
【請求項９】
データユニットを送信する送信機と、当該データユニットを受信して受信機に中継する中継装置とを備えた通信システムであって、
前記送信機は、
前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、
当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、
当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段とを具備することを特徴とする通信システム。
【請求項１０】
請求項９に記載の通信システムにおいて、
前記中継装置は、
前記データユニットの識別情報を取得する識別情報取得手段と、
前記送信機によって前記データユニットに記載された指示情報を取得する指示情報取得手段と、
当該指示情報取得手段で取得された前記指示情報を判定する指示情報判定手段と、
当該指示情報判定手段の判定結果に応じて前記識別情報取得手段によって取得された前記データユニットの前記識別情報を前記送信機に対して通知する識別情報通知手段とを具備することを特徴とする通信システム。
【請求項１１】
中継装置を介して受信機にデータユニットを送信する送信機で用いられる通信プログラムであって、
前記送信機のコンピュータを、
前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、
当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、
当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段として機能させることを特徴とする通信プログラム。
【請求項１２】
送信機からのデータユニットを中継装置を介して受信機に送信するようにした通信方法であって、
前記中継装置によって中継された前記データユニットの識別情報を取得すると共に、当該識別情報に基づいて前記データユニットのロスを判定し、そのロス判定結果に応じて前記送信機からの前記データユニットの送信量を制御するようにしたことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどで使われるトランスポート層（レイヤー４）のプロトコルであるＴＣＰ（Transmission Control Protcol）による輻輳制御技術に係り、特にその輻輳制御技術を実現するための送信機および中継装置並びに通信システム、通信プログラム、通信方法に関するものである。
【背景技術】
【０００２】
近年、ネットワークが広帯域化する中、ＴＣＰによる輻輳制御が通信速度を制限する要因となりつつあるとの報告がなされている。
ＴＣＰでは、ネットワークの伝送速度を直接的に把握できないため、低レートで通信を開始し、徐々に送信レートを増加させていく輻輳制御方法が採られている。
そのため、ネットワークが広帯域化すると、送信レートがネットワークの伝送速度に達するまでに時間がかかり、その間、十分な通信効率が得られないという問題が生じる。
【０００３】
ＴＣＰでは輻輳制御に、ネットワークに滞留するデータ量を制御するウィンドウ制御方式が採用されている。
ネットワークに滞留するデータ量は、輻輳状況に応じて動的に加減される輻輳ウィンドウ（ｃｗｎｄ）によって定められた量に調節される。
この輻輳ウィンドウ（ｃｗｎｄ）は、通信開始時に１セグメントに初期化され、受信確認応答（以下、これを適宜「ＡＣＫ（ACKnowledgement）」という）を受信するごとに１セグメントづつ増加される。この輻輳ウィンドウ（ｃｗｎｄ）の増加方法は、スロースタート（slow start）と呼ばれ、このスロースタート（slow start）では、輻輳ウィンドウ（ｃｗｎｄ）は指数的に増加される。
【０００４】
ところが、このスロースタート（slow start）では、送信レートは指数的に加速されるが、ネットワークの伝送速度が大きい場合には、伝送速度に達するまでに時間がかかり、十分な通信効率が得られない。そのため、サイズの小さなデータ通信においては、伝送速度が生かされないまま通信が終了する場合もあり、広帯域化のメリットを享受できない懸念がある。
【０００５】
このようなスロースタート（slow start）の問題を解決する方法には、輻輳ウィンドウ（ｃｗｎｄ）の増加速度を速める方法の他に、輻輳ウィンドウ（ｃｗｎｄ）の初期ウィンドウサイズ自体を適宜増加させる方法が提案されている。
例えば、以下の非特許文献１などでは、輻輳ウィンドウ（ｃｗｎｄ）の初期ウィンドウサイズＩＷ（バイト：ｂｙｔｅ）を次の式（１）のように増加させる方法が提案されている。
ＩＷ＝ｍｉｎ（４ｍｓｓ、ｍａｘ（２ｍｓｓ、４３８０）…（１）
【０００６】
ここで、「ｍｓｓ」はＴＣＰの最大セグメントサイズ（ＭＳＳ：Maxmum Segment Size）（バイト）を表す。
この方法では、最大セグメントサイズ（ＭＳＳ）が「１０９５バイト」以下のとき、初期ウィンドウサイズは４セグメントに増加される。初期ウィンドウサイズが１セグメントの場合に比べ、データの転送時間は、２回から３回の往復伝播遅延時間（ＲＴＴ：Round-trip Time）短縮される。
【０００７】
また、以下に示す非特許文献２などでは、ＴＣＰおよびＩＰオプションを用いて、初期ウィンドウサイズを増加させる方法が提案されている。
この方法では、送信ノードは、所望の送信レートをＳＹＮ（またはＳＹＮ／ＡＣＫ）パケットのＩＰヘッダオプションフィールドに記載して送信する。オプションフィールドに記載された送信レートは、経路上のルータによって更新されながら受信ノードまで転送される。受信ノードは、受け取った送信レートをＳＹＮ／ＡＣＫ（またはＡＣＫ）パケットのＴＣＰヘッダオプションフィールドに記載して、送信ノードに返送する。送信ノードは、受け取った送信レートとＲＴＴの測定値からウィンドウサイズを算出し、初期ウィンドウサイズに設定するようにしている。
【０００８】
【非特許文献１】Ｍ．Ａｌｌｍａｎ，Ｓ．Ｆｌｏｙｄ，ａｎｄ  Ｃ．Ｐａｒｔｒｉｄｇｅ，”Ｉｎｃｒｅａｓｉｎｇ  ＴＣＰ’ｓ  Ｉｎｉｔｉａｌ  Ｗｉｎｄｏｗ，”ＩＥＴＦ  ＲＦＣ３３９０，  Ｏｃｔ，２００２．
【非特許文献２】Ａ．Ｋ．Ｊａｉｎ  ａｎｄ  Ｓ．Ｆｌｏｙｄ，”Ｑｕｉｃｋ−Ｓｔａｒｔ  ｆｏｒ  ＴＣＰ  ａｎｄ  ＩＰ、”ｗｏｒｋ  ｉｎ  ｐｒｏｇｒｅｓｓ，ｄｒａｆｔ−ａｍｉｔ−ｑｕｉｃｋ−ｓｔａｒｔ−０１．ｔｘｔ，Ａｕｇ．２００２．
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、前記非特許文献１のような方法によって初期ウィンドウサイズを増加させると、バースト的に送信されるセグメント数が増加するため、パケットロスが発生する可能性が高まる。パケットロスが発生すると、ＴＣＰは、輻輳ウィンドウの増減方法をスロースタート（slow start）からコンジェスションアボイダンス（congestion avoidance）に切り替えるため、輻輳ウィンドウの増加速度は鈍化する。従って、前記（１）式を超えて、初期ウィンドウサイズを設定する場合、ネットワーク輻輳に十分、配慮しなければならない。
【００１０】
一方、前記非特許文献２のような方法は、ルータに新たに機能を追加する必要があり、経路上に１つでも未対応のルータがあれば機能しない。
また、隣接するルータ間に複数のリンクが存在する場合、ルータは直結されないリンクの利用状況を把握できないため、要求された送信レートを受け入れてよいか判断できない問題もある。
【００１１】
そこで、本発明はこのような課題を有効に解決するために案出されたものであり、その目的は、伝送帯域の大きい移動通信において、ネットワークの輻輳状況を加味してＴＣＰの初期ウィンドウサイズを拡大し、通信初期においても高いスループットを実現できる新規な送信機および中継装置並びに通信システム、通信プログラム、通信方法を提供するものである。
【課題を解決するための手段】
【００１２】
前記課題を解決するために発明１の送信機は、  
中継装置を介して受信機にデータユニットを送信する送信機であって、前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段とを具備することを特徴とするものである。
【００１３】
また、発明２の送信機は、
発明１に記載の送信機において、前記送信量制御手段は、前記データユニットの受信に対する前記受信機からの最初の確認応答が受信される前に、前記ロス判定手段による判定結果に応じて前記データユニットの送信量を制御するようになっていることを特徴とするものである。
【００１４】
また、発明３の送信機は、
発明１に記載の送信機において、前記受信機によって前記データユニットに対して送信された確認応答を受信する確認応答受信手段をさらに備え、前記送信量制御手段は、当該確認応答受信手段によって前記データユニットに対する最初の前記確認応答が受信されたときは、当該確認応答に応じて前記データユニットの送信量を制御するようになっていることを特徴とするものである。
【００１５】
また、発明４の送信機は、
発明３に記載の送信機において、前記送信量制御手段は、前記データユニットのデータ量を制限するウィンドウサイズを制御するウィンドウ制御部を備え、当該ウィンドウ制御部は、前記データユニットに対する前記受信機からの最初の確認応答が受信されたときは、それまでに受け取った前記識別情報に対応する前記データユニットのサイズの合計値に基づいて前記ウィンドウサイズを制御するようになっていることを特徴とするものである。
【００１６】
また、発明５の送信機は、
発明１〜４のいずれかに記載の送信機において、前記中継装置に対して前記データユニットの識別情報を送信するか否かを指示する指示情報制御手段をさらに備えていることを特徴とするものである。
また、発明６の送信機は、
発明５に記載の送信機において、前記指示情報制御手段は、前記データユニットに対する前記受信機からの最初の確認応答が受信されるときは、前記中継装置に対して前記データユニットの識別情報を送信しないことを指示するようになっていることを特徴とするものである。
【００１７】
一方、発明７の中継装置は、
送信機から受信機宛に送信されたデータユニットを転送する中継装置であって、前記データユニットの識別情報を取得する識別情報取得手段と、前記送信機によって前記データユニットに記載された指示情報を取得する指示情報取得手段と、当該指示情報取得手段で取得された前記指示情報を判定する指示情報判定手段と、当該指示情報判定手段の判定結果に応じて前記識別情報取得手段によって取得された前記データユニットの前記識別情報を前記送信機に対して通知する識別情報通知手段とを具備することを特徴とする中継装置。
また、発明８の中継装置は、
発明７に記載の中継装置であって、前記識別情報通知手段は、前記データユニットが前記受信機に対して転送されたときは、前記識別情報を前記送信機に対して通知するようになっていることを特徴とするものである。
【００１８】
また、発明９の通信システムは、  
データユニットを送信する送信機と、当該データユニットを受信して受信機に中継する中継装置とを備えた通信システムであって、前記送信機は、前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段とを具備することを特徴とするものである。
【００１９】
また、発明１０の通信システムは、
発明９に記載の通信システムにおいて、前記中継装置は、前記データユニットの識別情報を取得する識別情報取得手段と、前記送信機によって前記データユニットに記載された指示情報を取得する指示情報取得手段と、当該指示情報取得手段で取得された前記指示情報を判定する指示情報判定手段と、当該指示情報判定手段の判定結果に応じて前記識別情報取得手段によって取得された前記データユニットの前記識別情報を前記送信機に対して通知する識別情報通知手段とを具備することを特徴とするものである。
【００２０】
他方、発明１１の通信プログラムは、
中継装置を介して受信機にデータユニットを送信する送信機で用いられる通信プログラムであって、前記送信機のコンピュータを、前記中継装置によって中継された前記データユニットの識別情報を取得する識別情報取得手段と、当該識別情報取得手段で取得された前記識別情報に基づいて前記データユニットのロスを判定するロス判定手段と、当該ロス判定手段による判定結果に応じて前記データユニットの送信量を制御する送信量制御手段として機能させることを特徴とするものである。
【００２１】
また、発明１２の通信方法は、
送信機からのデータユニットを中継装置を介して受信機に送信するようにした通信方法であって、前記中継装置によって中継された前記データユニットの識別情報を取得すると共に、当該識別情報に基づいて前記データユニットのロスを判定し、そのロス判定結果に応じて前記送信機からの前記データユニットの送信量を制御するようにしたことを特徴とするものである。
【発明の効果】
【００２２】
前記発明１の送信機によれば、受信機にデータユニットを送信するに際して受信機からの確認応答がなくとも中継装置からの前記データユニットに関する識別情報（以下、適宜、「転送通知メッセージ」または「フィードバック情報」という）を利用してデータ送信量を調節することが可能となる。
これによって、受信機から確認応答が受信されるまでにネットワーク輻輳に対処しつつ、初期データの送信量を的確に調節することが可能となるため、従来法のように初期データの送信量を一律に設定する場合に比べて、通信初期のスループットを大幅に向上させることができる。
【００２３】
また、前記発明２の送信機によれば、受信機から確認応答が受信される前に、初期データの送信量を的確に設定（増加させる）することで、通信初期のスループットを大幅に向上させることができる。
また、前記発明３の送信機によれば、前記発明２と同様に、受信機から確認応答が受信されるまでの通信初期のスループットを大幅に向上させることができると共に、確認応答が受信された後のデータ量を的確に設定（増加させる）することが可能となるため、ネットワーク輻輳に対処しつつ、効率的なデータユニットの送信を行うことができる。
【００２４】
また、前記発明４の送信機によれば、前記発明２などと同様に、受信機から確認応答が受信されるまでの通信初期のスループットを大幅に向上させることができると共に、確認応答が受信された後のウィンドウサイズを的確に設定（増加させる）することが可能となるため、ネットワーク輻輳に対処しつつ、効率的なデータユニットの送信を行うことができる。
【００２５】
また、前記発明５の送信機によれば、指示情報制御手段をさらに備えることにより、中継装置からのフードバック情報の送信を自由にコントロールすることが可能となるため、フィードバック情報が不要なときにいたずらにそれが送られてくるのを回避することができる。
また、前記発明６の送信機によれば、前記指示情報制御手段は、前記データユニットに対する前記受信機からの最初の確認応答が受信されるときは、前記中継装置に対して前記データユニットの識別情報を送信しないことを指示することにより、もはやフィードバック情報が不要になった後にいたずらにそれが送られてくるのを回避することができる。
【００２６】
一方、前記発明７の中継装置によれば、受信機にデータユニットを送信するに際して受信機からの確認応答がなくとも送信機に対して前記データユニットの識別情報を取得して通知することができる。
これによって、送信機はそのフィードバック情報を取得して利用してデータ送信量を調節することが可能となるため、受信機から確認応答が受信されるまでにネットワーク輻輳に対処しつつ、初期データの送信量を的確に調節することが可能となるため、従来法のように初期データの送信量を一律に設定する場合に比べて、通信初期のスループットを大幅に向上させることができる。
【００２７】
また、送信機から前記データユニットに記載された指示情報を取得してその指示情報を判定し、その判定結果に応じて前記識別情報を前記送信機に対して通知するようになっているため、識別情報の通知が不要になった後に、いたずらにその識別情報を送信機側に通知することがなくなる。
また、前記発明８の中継装置によれば、前記データユニットが前記受信機に対して転送したときは、その識別情報を前記送信機に対して通知するようになっているため、送信機は、転送されたデータユニットの確認応答がある前に、その識別情報に基づいて最適な初期ウィンドウサイズを設定することができる。
【００２８】
また、前記発明９の通信システムによれば、発明１と同様に、受信機から確認応答が受信されるまでにネットワーク輻輳に対処しつつ、初期データの送信量を的確に調節することが可能となるため、従来法のように初期データの送信量を一律に設定する場合に比べて、通信初期のスループットを大幅に向上させることができる。これによって、通信システム全体の信頼性や利用率向上に貢献することができる。
【００２９】
また、前記発明１０の通信システムによれば、発明７と同様に、送信機はそのフィードバック情報を取得して利用してデータ送信量を調節することが可能となるため、受信機から確認応答が受信されるまでにネットワーク輻輳に対処しつつ、初期データの送信量を的確に調節することが可能となるため、従来法のように初期データの送信量を一律に設定する場合に比べて、通信初期のスループットを大幅に向上させることができる。
【００３０】
また、送信機から前記データユニットに記載された指示情報を取得してその指示情報を判定し、その判定結果に応じて前記識別情報を前記送信機に対して通知するようになっているため、識別情報の通知が不要になった後に、いたずらにその識別情報を送信機側に通知することがなくなる。これによって、通信システム全体の信頼性や利用率向上に貢献することができる。
【００３１】
他方、前記発明１１の通信プログラムによれば、既存の殆どの送信機に標準的に備えられている送信機のコンピュータによって各手段をソフトウェア上で実現することが可能となる。これによって、既存の殆どの送信機をそのまま活用することが可能となるため、専用のハードウェアなどによって各手段を実現する場合に比べて経済的且つ容易に実現することが可能となる。
【００３２】
また、前記発明１２の通信方法によれば、前記発明１などと同様に、受信機から送信機へ最初の確認応答が受信されるまでにネットワーク輻輳に対処しつつ、初期データの送信量を的確に調節することが可能となるため、従来法のように初期データの送信量を一律に設定する場合に比べて、通信初期のスループットを大幅に向上させることができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態を添付図面を参照しながら詳述する。
図１〜図３は、本発明に係る通信システム１００の実施の一形態を示したものである。
図１に示すように、この通信システム１００は、ユーザに携帯される移動機（受信機）１０と、管轄する無線エリア内の移動機１０と無線通信可能な基地局（中継装置）２０と、この基地局２０が接続されるコアネットワーク３０に接続されるサーバ装置（送信機）４０とから主に構成されており、移動機１０は、基地局２０およびコアネットワーク３０を介してサーバ装置４０と通信可能となっている。
【００３４】
この通信システム１００は、ＩＭＴ−２０００（Intenational Mobile Telecommunications-2000）に準拠している。
移動機１０、基地局２０およびサーバ装置４０の数は、それぞれ１以上の任意の数である。
なお、本実施の形態では、サーバ装置４０はコアネットワーク３０に直接接続されているが、サーバ装置４０はインターネットに接続され、インターネットとコアネットワーク３０を接続するゲートウェイ装置を介してコアネットワーク３０に接続されてもよい。また、ゲートウェイ装置がＴＣＰを終端する機能を有する場合には、サーバ装置４０の代わりにゲートウェイ装置が本発明の送信機として適用される。
【００３５】
図２は、この通信システム１００の通信プロトコル構成を示す図である。
図示するように、トランスポート層（ＴＣＰ）以上の層での通信は移動機１０およびサーバ装置４０のみで終端され、ネットワーク層以下の層での通信は通信システム１００を構成するすべての装置で終端される。ただし、基地局２０は、後述のようにトランスポート層のデータユニットを操作することができる。
また、この通信システム１００は、無線区間（無線ネットワーク）にてビット誤りに対処するための通信処理を行うため、無線区間の伝送遅延は有線区間（有線ネットワーク）よりも大きいという通信特性を有する。
【００３６】
図３は、この通信システム１００を構成する移動機１０、基地局２０、サーバ装置４０のそれぞれの機能を示す機能ブロック図である。
図示するように、まず、サーバ装置４０は、データユニット送信手段４０Ａと、識別情報取得（受信）手段４０Ｂと、ロス判定手段４０Ｃと、送信量制御手段４０Ｄと、確認応答受信手段４０Ｅと、指示情報制御手段４０Ｆとを少なくとも備えた構成となっている。
ここで、データユニット送信手段４０Ａは、送信データにＴＣＰおよびＩＰヘッダを有するＴＣＰセグメントを付加したデータユニットを生成して所定の基地局２０に対して送信する機能を提供するものである。
【００３７】
また、識別情報受信手段４０Ｂは、基地局２０からコアネットワーク３０を介して送られてくる送信済みのデータユニットの識別情報を、いわゆるフィードバック情報として取得する機能を提供するものであり、ロス判定手段４０Ｃは、この識別情報受信手段４０Ｂで取得された前記識別情報に基づいて前記データユニットのロスを判定する機能を提供するものである。
【００３８】
送信量制御手段４０Ｄは、このロス判定手段４０Ｃによる判定結果に応じて前記データユニットの送信量を制御する提供するものであり、具体的には、データユニットのデータ量を制限するウィンドウサイズを制御するウィンドウ制御部を備え、このウィンドウ制御部によって、前記データユニットに対する移動機１０からの最初の確認応答が受信されたときは、それまでに受け取った前記識別情報に対応するデータユニットのサイズの合計値に基づいて前記ウィンドウサイズを制御することで送信初期における実質的なデータの送信量を制御するようになっている。
【００３９】
また、確認応答受信手段４０Ｅは、前記データユニットに対して送信された移動機１０からの確認応答（ＡＣＫ）を受信する機能を提供するものである。
また、指示情報制御手段４０Ｆは、基地局２０に対して前記データユニットの識別情報をサーバ装置４０側に送信するか否かを指示する情報を制御する機能を提供するものである。具体的には後述するが、例えば前記データユニットのＴＣＰセグメントに転送通知要求フラグを設定するなどによってそのデータユニットの識別情報の送信を指示することになる。
【００４０】
また、同図に示すように、基地局２０にあっては、データユニット転送手段２０Ａと、識別情報取得手段２０Ｂと、識別情報通知手段２０Ｃと、指示情報取得手段２０Ｄと、指示情報判定手段２０Ｅとを少なくとも備えた構成となっている。
ここで、データユニット転送手段２０Ａは、サーバ装置４０から送られてきたデータユニットを受信し、そのデータユニットに付加されているＴＣＰセグメントなどから転送先の移動機１０を特定してそのデータユニットを転送する機能を提供するものである。
【００４１】
また、識別情報取得手段２０Ｂは、前記データユニット転送手段２０Ａによって移動機１０側へ転送するデータユニットごとの識別情報をそのＴＣＰセグメントなどから取得する機能を提供するものであり、識別情報通知手段２０Ｃは、この識別情報取得手段２０Ｂで取得したデータユニットごとの識別情報を、いわゆるフィードバック情報として前記コアネットワーク３０を介して通知する機能を提供するものである。
【００４２】
また、指示情報取得手段２０Ｄは、前記データユニットとは別に、あるいはデータユニットと共にサーバ装置４０から送られてきた指示情報などを取得する機能を提供するものである。
そして、指示情報判定手段２０Ｅは、この指示情報取得手段２０Ｄで取得された具体的な指示情報を判定（解釈）してその指示通りに基地局２０の動作を制御する機能を提供するものである。
【００４３】
また、同図に示すように、移動機１０にあっては、データユニット受信手段１０Ａと、確認応答送信手段１０Ｂとを少なくとも備えた構成となっている。
ここで、データユニット受信手段１０Ａは、基地局２０から自己宛に転送されてきたデータユニットを受信して図示しないデータ処理手段に配信する機能を提供するものであり、また、確認応答送信手段１０Ｂは、前記データユニットを受信したときは、その確認応答（ＡＣＫ）を所定の基地局２０経由でサーバ装置４０側に送信する機能を提供するものである。
【００４４】
図４は、本発明の通信システム１００を構成する基地局２０のハードウェア構成を示すブロック図である。
この図から明らかなように、この基地局２０は、実際には一般的なコンピュータと同様に、ＣＰＵ（中央処理装置）２１、ＲＡＭ（主記憶装置）２３、ＲＯＭ（不揮発性メモリ）２２、無線部２４、通信インタフェース２５などがバス２６を介して互いに情報通信可能に接続された構成となっている。そして、ＣＰＵ２１は、図示しない電源が投入されると、ＲＯＭ２２などに記憶されている各種プログラム２２１を適宜読み出してきてＲＡＭ２３にロードし、このＲＡＭ２３をワークエリアとしてそれらのプログラムを実行することにより所定の各種処理を実行する構成となっている。
【００４５】
また、このＲＯＭ２２などに記憶されているプログラム２２１は、具体的には、後述する転送通知プログラムや、トランスポート層よりも下位の通信処理を行わせるプログラム、これらのプログラムの実行制御を行わせるシステムプログラムの他、これら各種プログラムおよび無線部２４、通信インタフェース２５などの機能を適宜利用して、前記データユニット転送手段２０Ａや、識別情報取得手段２０Ｂ、識別情報通知手段２０Ｃ、指示情報取得手段２０Ｄ、指示情報判定手段２０Ｅの各機能をソフトウェア上で実現するためのそれぞれの制御プログラムが含まれる。
【００４６】
無線部２４は、移動機１０との間で無線信号を送受信するための入出力装置の１つであり、ＣＰＵ２１から送信すべきデータが供給されると、この送信データにより変調された搬送波を無線区間へ送出し、無線区間を伝播してきた搬送波からデータを復調すると、この受信データをＣＰＵ２１に供給する（データユニット転送手段２０Ａ）。この無線部２４およびＣＰＵ２１により、移動機１０との間でのデータの送受信が行われる。
【００４７】
通信インタフェース２５は、コアネットワーク３０との間で信号を送受信するための同じ入出力装置の１つであり、ＣＰＵ２１から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク３０へ送出し、コアネットワーク３０から供給された信号からデータを復調すると、この受信データをＣＰＵ２１に供給する。この通信インタフェース２５およびＣＰＵ２１により、サーバ装置４０との間でのデータの送受信がコアネットワーク３０を介して実現される。
移動機１０との通信処理では、ＣＰＵ２１は、データリンク層にてＲＬＣ(Ｒadio Ｌink  Ｃontrol)に従う処理を行う。
【００４８】
図５は、ＲＬＣのＡＭ(Ａcknowlegement Ｍode)モードでの送信データの流れを表したものである。
図示するように、上位層から供給されたデータ（ＳＤＵ：Service Data Unit）は、まず、ＳＤＵバッファ２３１に格納され、送信用キュー２３２に十分な空きがあれば、ＳＤＵは、ＳＤＵバッファ２３１から取り出され、より小さなデータ単位（ＰＤＵ：Protocol Data Unit）に分割された後、送信用キュー２３２に格納される。
【００４９】
そして、下位層が送信可能ならば、送信用キュー２３２に格納されたＰＤＵは、その送信用キュー２３２から取り出され、下位層に送出されるとともに、その複製が再送信用キュー２３３に格納される。なお、これらの処理は、管理する移動機１０ごとに行われる。
転送通知処理（識別情報通知処理）では、ＣＰＵ２１は、ＳＤＵバッファ２３１からＳＤＵが取り出されたとき、そのＳＤＵにＴＣＰセグメントが格納されているか、またＴＣＰセグメントが格納されている場合には、そのＴＣＰセグメントに転送通知要求フラグが設定されているかを確認し、それらの条件がともに満たされた場合、そのＴＣＰセグメントの最初と最後のシーケンス番号を取得してサーバ装置４０に通知する。
【００５０】
通知方法には、ＳＡＣＫオプションと同様の方法を用いる。すなわち、ＣＰＵ２１（識別情報通知手段２０Ｃ）は、新たに生成したＴＣＰセグメントのオプションフィールドに取得されたシーケンス番号を格納し、サーバ装置４０に送信する。なお、ＴＣＰセグメントの送信に必要なポート番号やＩＰアドレスなどの情報は、取り出されたＳＤＵに格納されるＴＣＰおよびＩＰヘッダから取得される。
通知を受けたサーバ装置４０（識別情報受信手段４０Ｂ）は、ＴＣＰオプションフィールドに記載されたシーケンス番号の範囲のデータが有線区間から抜けたことを知る。
【００５１】
次に、図６は、サーバ装置４０のハードウェア構成を示すブロック図である。
この図から明らかなように、サーバ装置４０は、一般的なコンピュータと同様に、ＣＰＵ（中央処理装置）４１、ＲＡＭ（主記憶装置）４３、ＲＯＭ（不揮発性メモリ）４２、通信インタフェース４４などがバス４５を介して互いに情報通信可能に接続された構成となっている。そして、ＣＰＵ４１は、図示しない電源が投入されると、ＲＯＭ４２などに記憶されているプログラム４２１を適宜読み出してきてＲＡＭ４３にロードし、このＲＡＭ４３をワークエリアとしてそれらのプログラムを実行することにより各種処理を行う構成となっている。
【００５２】
また、このＲＯＭ４２などに記憶されている各種プログラム４２１は、具体的には、後述する輻輳制御処理プログラムや、トランスポート層にて一般的なＴＣＰに従う通信処理を行わせるプログラム、これらのプログラムの実行制御を行わせるシステムプログラムの他、これら各種プログラムおよび通信インタフェース４４などの機能を適宜利用して、前記データユニット送信手段４０Ａや、識別情報受信手段４０Ｂ、ロス判定手段４０Ｃ、送信量制御手段４０Ｄ、確認応答受信手段４０Ｅと、指示情報制御手段４０Ｆの各機能をソフトウェア上で実現するためのそれぞれの制御プログラムが含まれる。
【００５３】
通信インタフェース４４は、コアネットワーク３０との間で信号を送受信するための入出力装置の１つであり、ＣＰＵ４１から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク３０へ送出し（データユニット送信手段４０Ａ）、コアネットワーク３０から供給された信号からデータを復調すると、この受信データをＣＰＵ４１に供給する（識別情報受信手段４０Ｂ、確認応答受信手段４０Ｅ）。
【００５４】
通信インタフェース４４およびＣＰＵ４１により、移動機１０との間でのデータの送受信がコアネットワーク３０を介して行われる。
輻輳制御処理では、ＣＰＵ４１は、移動機１０から返送されるＡＣＫを最初に受信するまで基地局２０からの転送通知メッセージ（識別情報）に基づいて、輻輳ウィンドウ（ｃｗｎｄ）を調節する。
【００５５】
ＣＰＵ４１（データユニット送信手段４０Ａ）は、最初に送信されたデータに対するＡＣＫを受信するまで、データを含む、すなわちデータ長が「０」でないＴＣＰセグメントの転送通知要求（識別情報取得要求）フラグを設定して送信を行う。なお、この転送通知要求フラグには、例えば、ＴＣヘッダ内で使用されていない６ビットのうちの１ビットを用いることができる。
【００５６】
転送通知要求フラグの設定されたＴＣＰセグメントを受信した基地局２０は、前述の方法にて転送通知（識別情報通知）を行う。
ＣＰＵ４１は、基地局２０から返送される転送通知メッセージを受信した（識別情報受信手段４０Ｂ）ならば、その転送通知メッセージに基づいて、以下のように輻輳ウィンドウ（ｃｗｎｄ）を変更する（送信量制御手段４０Ｄ）。
【００５７】
サーバ装置４０のＣＰＵ４１（送信量制御手段４０Ｄ）は、基地局２０から返送される転送通知メッセージを受信するとロス判定を行い（ロス判定手段４０Ｃ）、最初にロス判定が肯定的となるまで、輻輳ウィンドウ（ｃｗｎｄ）をスロースタート（slow start）と同様の方法で増加させる。すなわち、
ｃｗｎｄ＋＝Ｌ＋ｍｓｓ…（２）
ここで、「Ｌ」は、通知されたデータサイズ、「ｍｓｓ」は、ＭＳＳを表す。
【００５８】
通常のスロースタート（slow start）では、輻輳ウィンドウ（ｃｗｎｄ）は、「ｍｓｓ」ずつ増加されるのに対し、前記（２）式では、「Ｌ」だけ余分に増加されている。
通常のスロースタート（slow start）では、ＡＣＫが受信されると、ＡＣＫによって受信確認されたデータサイズと、輻輳ウィンドウ（ｃｗｎｄ）の増加分、すなわち「ｍｓｓ」とを合わせたサイズのデータ送信が可能となる。
【００５９】
本実施の形態の輻輳制御処理では、転送通知メッセージはＡＣＫとして利用されないため、通常のスロースタート（slow start）と同量のデータを送信するためには、輻輳ウィンドウ（ｃｗｎｄ）を通知されたデータサイズ（Ｌ）だけ余分に増加させる必要がある。
ところで、上述のロス判定手段４０Ｃによるロス判定は、ＳＡＣＫオプションと同様の方法で行われる。
【００６０】
すなわち、シーケンス番号「Ｓ１」から「Ｓ２（Ｓ１＜Ｓ２）」までのデータが通知されていない状態で「Ｓ２」よりもシーケンス番号の大きいデータに対する通知メッセージが３つ以上受信されるか、あるいは「Ｓ２」よりもシーケンス番号の大きいデータが「３ＭＳＳ」サイズ以上通知されたとき、「Ｓ１」から「Ｓ２」までのデータはロスしたと判定される。
【００６１】
最初のロス判定が肯定的となった後、ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、輻輳ウィンドウ（ｃｗｎｄ）をコンジェスションアボイダンス（congestion avoidance）と同様の方法で変更する。すなわち、ロス判定が否定的であった場合、輻輳ウィンドウ（ｃｗｎｄ）は、次のように増加される。
ｃｗｎｄ＋＝Ｌ＋ｍｓｓ／ｃｗｎｄ…（３）
【００６２】
ここで、輻輳ウィンドウ（ｃｗｎｄ）が通常のコンジェスションアボイダンス（congestion avoidance）に比べ、通知されたデータサイズ「Ｌ」だけ余分に増加される理由は、上述した通りである。また、ロス判定が肯定的であった場合、輻輳ウィンドウ（ｃｗｎｄ）は、次のように減少される。
ｃｗｎｄ−＝Ｆ／２…（４）
ここで、「Ｆ」はサーバ装置４０と基地局２０との間に滞留するデータ量を表す。
サーバ装置４０と基地局２０との間に滞留するデータ量は、サーバ装置４０によって送信されたデータ量から基地局２０によって通知されたデータ量と、ロス判定が肯定的となったデータ量を引いて算出される。
【００６３】
前記（４）式にて、輻輳ウィンドウ（ｃｗｎｄ）から「Ｆ／２」を減じているのは、サーバ装置４０から基地局２０までの間に滞留するデータ量を１／２に減少させるためである。ただし、サーバ装置４０と基地局２０との往復伝播遅延の間に複数回、ロス判定が肯定的となった場合、輻輳ウィンドウ（ｃｗｎｄ）は１度だけ減少されるものとする。
ＣＰＵ４１（送信量制御手段４０Ｄ）は、前記（４）式によって輻輳ウィンドウ（ｃｗｎｄ）を減少させた後、その直後に送信したデータ、あるいはそれよりもシーケンス番号の大きいデータに対する通知メッセージが受信されるまでは、ロス判定が肯定的であっても、輻輳ウィンドウ（ｃｗｎｄ）を減少させない。なお、ＣＰＵ４１（データユニット送信手段４０Ａ）は、ロス判定が肯定的であっても、当該データの再送は行わない。
【００６４】
ところで、ロス判定が肯定的となったとき、サーバ装置４０から基地局２０までの間に滞留するデータ量は、通知されたデータサイズ（Ｌ）に加えてロス判定が肯定的となったデータサイズ（Ｌｌｏｓｓ）だけ減少したことになる。
この減少量（Ｌ＋Ｌｌｏｓｓ）に相当するデータを新たに送信するために、ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、輻輳ウィンドウ（ｃｗｎｄ）を次のように増加させる。
ｃｗｎｄ＋＝（Ｌ＋Ｌｌｏｓｓ）…（５）
ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、移動機１０からのＡＣＫを最初に受信するまで輻輳ウィンドウ（ｃｗｎｄ）を上述の方法で更新し、確認応答受信手段４０ＥによってＡＣＫを受信すると、輻輳ウィンドウ（ｃｗｎｄ）をそれまで通知されたデータサイズに設定する。
【００６５】
このデータサイズは、サーバ装置４０と移動機１０の間の往復伝播遅延の間に、ネットワークが送信可能なデータ量に等しいか、それよりも小さい値である。
このように本発明は、有線区間の輻輳に従来と同様の方法で対処しつつ、実質的に輻輳ウィンドウ（ｃｗｎｄ）の初期値を増加させることが可能である。
輻輳制御処理では、ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、移動機１０からのＡＣＫを最初に受信した後、ＡＣＫに基づいて輻輳ウィンドウ（ｃｗｎｄ）を調節する。
【００６６】
ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）が、最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との間のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）に等しくなるまで、輻輳ウィンドウ（ｃｗｎｄ）を次のように増加させる。
ｃｗｎｄ＋＝ｍｉｎ（α・ｍｓｓ、ｍｓｓ／２）…（６）
ここで、「α」は、輻輳ウィンドウ（ｃｗｎｄ）の増加速度を決定するパラメータである。
【００６７】
例えば、「α＝１」としたとき、輻輳ウィンドウ（ｃｗｎｄ）は、スロースタート（slow start）と同速度で増加され、「α＝１／ｃｗｎｄ」としたとき、コンジェスションアボイダンス（congestion avoidance）と同速度で増加される。
「α」を大きく設定するほど、送信レートがネットワークの伝送速度に達するまでの時間は短縮されるが、伝送速度に達した後に発生するパケットロス数は増加する。また、「ｍｓｓ」は、これまでと同様に「ＭＳＳ」を表す。
【００６８】
ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）が、最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との間のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）に等しくなるまで輻輳ウィンドウ（ｃｗｎｄ）の増加量は、高々「ｍｓｓ／２」に抑えられる。
これは、最初にＡＣＫを受信してから、サーバ装置４０と基地局２０との往復伝播遅延時間が経過するまでの間、サーバ装置４０と基地局２０との間に滞留するデータ量を１／２に減少させるためである。
【００６９】
ところで、ロスの有無にかかわらず、最初にＡＣＫを受信してから、サーバ装置４０と基地局２０との往復伝播遅延時間が経過するまでの間、サーバ装置４０と基地局２０との間のデータ滞留量を１／２に減少させるのは、最初にＡＣＫを受信する前に送信されたすべてのデータに対してロス判定ができるとは限らないためである。
例えば、最後に転送通知フラグが設定されたデータ、すなわち、最初にＡＣＫを受信する直前に送信されたデータがロスした場合、そのデータのロス判定はできない。そのデータよりも大きなシーケンス番号をもつデータに対して通知がなされないためである。
【００７０】
そこで、本実施の形態ではロスが発生していない場合でもサーバ装置４０と基地局２０との間に滞留するデータ量を１／２に減少させる安全側の制御を採っている。
ＣＰＵ４１（送信量制御手段４０Ｄのウィンドウサイズ制御部）は、ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）が最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との問のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）に等しくなった後、後述する時点まで次のように輻輳ウィンドウ（ｃｗｎｄ）を増加させる。
ｃｗｎｄ＋＝α・ｍｓｓ …（７）
ここで、「α」は、前記（６）式と同じパラメータである。
【００７１】
なお、ＣＰＵ４１（データユニット送信手段４０Ａ）は、ＴＣＰと同様の方法でロスを検出して、そのデータを再送する。ただし、最初にＡＣＫを受信するまでに送信されたデータに対しては、ロスが検出されても輻輳ウィンドウ（ｃｗｎｄ）を減少させない。それらのデータに対しては、前記（４）式、または（６）式によって既に対処がなされているためである。
【００７２】
ＣＰＵ４１は、次の２つの条件のうち、いずれかが満されるとき前記（７）式による輻輳ウィンドウ（ｃｗｎｄ）の変更を終了し、通常のＴＣＰの動作に移る。
第一の条件は、最初にＡＣＫを受信する前に送信されたデータ以外のデータに対してロスが検出されたときである。ＣＰＵ４１は、そのデータのロスを検出すると、そのデータの再送後、スロースタート（slow start）またはコンジェスションアボイダンス（congestion avoidance）による処理に移る。
【００７３】
第二の条件は、前記（７）式のパラメータ「α」に関係する。
「α」が「１」よりも小さい場合、本発明を用いたときの輻輳ウィンドウ（ｃｗｎｄ）の値が一定時問後に従来法を用いたときの値を下回り、期待する効果が得られない可能性がある。そこで、本発明では輻輳ウィンドウ（ｃｗｎｄ）の値が従来法を用いたときの値を下回る直前で前記（７）式による輻輳ウィンドウ（ｃｗｎｄ）の変更を終え、スロースタート（slow start）による処理に移る。すなわち、従来法と同じ速度で輻輳ウィンドウ（ｃｗｎｄ）を増加させる。
【００７４】
「α」が定数の場合、次の条件が満たされている間、本発明は従来法よりも大きな輻輳ウィンドウ（ｃｗｎｄ）の値を保持する。
ＩＷｐｒｏｐ・（α＋１）ｎ−１≧ＩＷｌｅｇａｃｙ・２ｎ−１  …（８）
ここで、「ＩＷｐｒｏｐ」および「ＩＷｌｅｇａｃｙ」は、それぞれ本発明と従来法の初期ウィンドウサイズを表す。また、「ｎ」は、最初のデータの送信後、経過したＲＴＴの回数を表す。前記（８）式を満たす「ｎ」の最大値をＮ１とすると、「α」が定数の場合、ＣＰＵ４１は、Ｎ１番目のＲＴＴまで、前記（８）式によって輻輳ウィンドウ（ｃｗｎｄ）を更新し、Ｎ１＋１番目のＲＴＴからスロースタート（slow start）による処理に移る。
【００７５】
「α」の値が輻輳ウィンドウ（ｃｗｎｄ）に反比例する場合（すなわち、α＝ｋ／ｃｗｎｄ、ｋ：定数）、次の条件が満たされている間、本発明は従来法よりも大きな輻輳ウィンドウ（ｃｗｎｄ）の値を保持する。
ＩＷｐｒｏｐ＋ｋ（ｎ−１）≧ＩＷｌｅｇａｃｙ・２ｎ−１  …（９）      
ここで、「ｎ」は、前記（８）式と同様に、最初のデータの送信後、経過したＲＴＴの回数を表す。この（９）式を満たす「ｎ」の最大値をＮ２とすると、「α」が定数の場合、ＣＰＵ４１は、Ｎ２番目のＲＴＴまで、この（９）式によって輻輳ウィンドウ（ｃｗｎｄ）を更新し、Ｎ２＋１番目のＲＴＴから、スロースタート（slow start）による処理に移る。
【００７６】
次に、上述した構成の通信システム１００の動作について説明する。
ただし、移動機１０とサーバ装置４０の間には、基地局２０を中継装置としてＴＣＰコネクションが確立されているものとする。
よって、以降の説明において、基地局２０のＣＰＵ２１は、既にＲＯＭ２２から制御プログラムおよび転送通知プログラムは勿論、前記データ転送手段２０Ａや識別情報取得手段２０Ｂなどの各手段を実現するためのプログラム２２１などを読み出して実行しており、また、サーバ装置４０のＣＰＵ４１も同じくＲＯＭ４２から制御プログラムおよび通信プログラムは勿論、識別情報受信手段４０Ｂやロス判定手段４０Ｃなどの各手段を実現するためのプログラム４２１を読み出して実行しているものとする。
【００７７】
また、以降の動作例では通信システム１００のサーバ装置４０と移動機１０の間のＲＴＴ、およびサーバ装置４０と基地局２０の間のＲＴＴをそれぞれ「１００ｍｓｅｃ」および「１０ｍｓｅｃ」に、有線ネットワークおよび無線ネットワークの帯域をそれぞれ「１０Ｍｂｐｓ」および「２．５Ｍｂｐｓ」に設定した。なお、これらの値は、説明の容易さから選んだものでＩＭＴ−２０００に準拠した移動通信システムとは異なる。
【００７８】
また、基地局２０のＳＤＵバッファサイズを「６Ｋバイト」に設定し、バッファに空きがない場合、バッファの先頭からＳＤＵが廃棄されるフロントドロップ（Front Drop）方式を用いた。
さらに、ＴＣＰの初期シーケンス番号を「０」、ＭＳＳを「１Ｋバイト」、初期輻輳ウィンドウサイズを「４Ｋバイト」とし、ＴＣＰコネクションの送受信バッファは十分に大きく、ＴＣＰセグメントの送信は、標準的なＴＣＰに実装されるフロー制御によっては制限されないものとした。
また、ＴＣＰのＳＡＣＫオプションが使用されるものとし、また、前記（６）式および（７）式で用いられるパラメータ「α」をそれぞれ「３」に設定した。
【００７９】
まず、以降の説明において参照する新たな図面について説明する。
図７は、基地局２０における転送通知プログラムを実行中のＣＰＵ２１により行われる転送通知処理の流れを示すフローチャートであり、図８〜図１０は、サーバ装置４０における各種プログラムを実行中のＣＰＵ４１により行われる輻輳制御処理の流れを示すフローチャートである。
また、図１１および図１２は、通信システム１００により行われる通信の一例を示すシーケンス図である。
【００８０】
図１１および図１２には、サーバ装置４０側に、送信データのシーケンス番号（括弧外に表記）、データ送信後のサーバ装置４０と基地局２０との間のデータ滞留量（括弧内、左に表記）および、転送通知メッセージまたは確認応答受信後の輻輳ウィンドウサイズ（括弧内、右に表記〕が示されている。また、移動機側に確認応答のシーケンス番号（括弧外に表記）および、ＳＡＣＫオプションによって通知されるシーケンス番号（括弧内に表記）が示され、基地局に、転送データのシーケンス番号が示されている。
【００８１】
さて、サーバ装置４０のＣＰＵ４１（データユニット送信手段４０Ａ）は、移動機１０からの要求によりＴＣＰコネクションを確立すると、転送通知要求フラグを設定して所定のＴＣＰセグメントを送信する。
本実施の形態では、初期ウィンドウサイズが「４０００バイト」に設定されているため、図１１に示すように、シーケンス番号「０−９９９」、「１００００−１９９９」、「２０００−２９９９」および「３０００−３９９９」の４つのＴＣＰセグメントが連続して送信される。
【００８２】
基地局２０のＣＰＵ２１（データユニット転送手段２０Ａ）は、シーケンス番号「０」のＴＣＰセグメントがＳＤＵとして供給されると、それをＳＤＵバッファ２３１に格納する。
ＳＤＵバッファ２３１には、先に格納された送信待ちのＳＤＵがないため、ＣＰＵ２１は、直ちにＳＤＵを取り出し（図７のステップＳＡ１）、ＳＤＵに格納されるデータユニットがＴＣＰセグメントか否かを判定する（ステップＳＡ２）。
この判定の結果、ＳＤＵに格納されるデータユニットがＴＣＰセグメントでないとき（Ｎｏ）は、最初のステップＳＡ１に戻るが、ＳＤＵに格納されるデータユニットがＴＣＰセグメントであるとき（Ｙｅｓ）は、次のステップＳＡ３に移行してＴＣＰセグメントの転送通知フラグが設定されているか否かを判定する。
【００８３】
この判定の結果、ＴＣＰセグメントの転送通知フラグが設定されていないと判定したとき（Ｎｏ）は、最初のステップＳＡ１に戻るが、ＴＣＰセグメントの転送通知フラグが設定されていると判定したとき（Ｙｅｓ）は、識別情報取得手段２０Ｂによって、ＴＣＰセグメントに格納されるデータの最初と最後のシーケンス番号（０および９９９）を取得し、識別情報通知手段２０Ｃによって、新しく生成した転送通知メッセージに、それらを格納してサーバ装置４０に送信する（ステップＳＡ４）。その後、最後のステップＳＡ５に移行して前記ＳＤＵバッファ２３１にＳＤＵが残っているかを判定し、残っていないと判定したとき（Ｎｏ）はその送信処理を終了することになるが、残っていると判定したとき（Ｙｅｓ）は、最初のステップＳＡ１に戻って同様の処理を繰り返すことになる。
【００８４】
なお、ＣＰＵ２１（データユニット転送手段２０Ａ）は、ＳＤＵバッファ２３１から取り出されたＳＤＵをＰＤＵに分割し、送信用キュー２３２に格納する。さらに、送信キュー２３２に格納されたＰＤＵを順に下位層に送出する。ＣＰＵ２１がＰＤＵを下位層に送出するとは、ＰＤＵを無線リンクに送出することに等しい。このように実際は、ＴＣＰセグメントはＰＤＵに分割されて無線リンクに送出されるが、図１１では、ＴＣＰセグメントの流れのみを示している。
【００８５】
次にサーバ装置４０のＣＰＵ４１（識別情報受信手段４０Ｂ）は、ＴＣＰセグメントを受信すると（図８のステップＳＢ１）、それがＡＣＫか否かを判定する（ステップＳＢ２）。受信されたＴＣＰセグメントがＡＣＫであると判定したとき（Ｙｅｓ）は、図９のステップＳＣ３へ移行することになるが、受信されたＴＣＰセグメントがＡＣＫでないと判定したとき（Ｎｏ）は、ロス判定手段４０Ｃによってロス判定を行う（ステップＳＢ３）。
【００８６】
この結果、ロス判定が肯定的であるとき（Ｙｅｓ）は、図９のステップＳＣ５へ移行することになるが、ロス判定が否定的であるとき（Ｎｏ）は、前記（２）式に従って、転送通知されたデータサイズ（Ｌ＝１０００バイト）およびＭＳＳ（ｍｓｓ＝１０００バイト）だけ輻輳ウィンドウ（ｃｗｎｄ）を増加させ（ステップＳＢ４）、新たにデータの送信が可能か否かを判定する（ステップＳＢ５）。
【００８７】
輻輳ウィンドウ（ｃｗｎｄ）は、６０００バイトでサーバ装置４０と移動機１０との間のデータ滞留量は「０」から「３９９９」までの４０００バイトであり、また、本実施の形態では、データ送信はフロー制御による制約を受けないため、ＣＰＵ４１（データユニット送信手段４０Ａ）は、新たにシーケンス番号「４０００−４９９９」のＴＣＰセグメントを送信する（ステップＳＢ６）。
【００８８】
続いて、ＣＰＵ４１は、さらにデータの送信が可能か否かを判定する（ステップＳＢ５）。輻輳ウィンドウ（ｃｗｎｄ）は、６０００バイトでサーバ装置４０と移動機１０との間のデータ滞留量は「０」から「４９９９」までの５０００バイトであり、フロー制御による制約を受けないため、ＣＰＵ４１は、新たにシーケンス番号「５０００−５９９９」のＴＣＰセグメントを送信する（ステップＳＢ６）。
【００８９】
さらに、ＣＰＵ４１は、データの送信が可能か否かを判定するが（ステップＳＢ５）、サーバ装置４０と移動機１０との間のデータ滞留量が既に６０００バイト（＝ｃｗｎｄ）に達しているため、今回はデータの送信を見送る。
以上のようにして、サーバ装置４０のＣＰＵ４１は、シーケンス番号「１４０００−１４９９９」のＴＣＰセグメントに対する通知メッセージが受信されるまで、前記（２）式に従って輻輳ウィンドウ（ｃｗｎｄ）を更新しながら、データを送信する。
【００９０】
さて、シーケンス番号「１５０００−１５９９９」のＴＣＰセグメントが基地局２０に到着したとき、基地局２０のＳＤＵバッファ２３１は、先に到着したＴＣＰセグメントで既に一杯であり、ＳＤＵバッファ２３１の先頭に位置するＳＤＵが廃棄される。
廃棄されたＳＤＵは、シーケンス番号「９０００−９９９９」のＴＣＰセグメントに相当する。このＴＣＰセグメントのロスは、シーケンス番号「１４０００−１４９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）がサーバ装置４０に到着したとき、検出される。
【００９１】
同様に、シーケンス番号「１７０００−１７９９９」、「１９０００−１９９９９」、「２１０００−２１９９９」、「２３０００−２３９９９」および「２５０００−２５９９９」のＴＣＰセグメントが基地局２０に到着したとき、ＳＤＵバッファ２３１の先頭のＳＤＵが廃棄される。
それらのＳＤＵは、シーケンス番号「１１０００−１１９９９」、「１３０００−１３９９９」、「１５０００−１５９９９」、「１７０００−１７９９９」および「１９０００−１９９９９」のＴＣＰセグメントに相当し、シーケンス番号「１６０００−１６９９９」、「１８０００−１８９９９」、「２００００−２０９９９」、「２１０００−２１９９９」および「２２０００−２２９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）がサーバ装置に到着したとき検出される。
【００９２】
以下では、シーケンス番号「１４０００−１４９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）がサーバ装置に到着した後の提案法の動作について説明する。
サーバ装置４０のＣＰＵ４１（識別情報受信手段４０Ｂ、ロス判定手段４０Ｃ）は、シーケンス番号「１４０００−１４９９９」のＴＣＰセグメントに対する転送通知メッセージを受信すると（図８のステップＳＢ１、ステップＳＢ２：Ｎｏ）、それまで送信されたデータにロスがないか判定を行う（ステップＳＢ３）。
【００９３】
シーケンス番号「９０００−９９９９」のＴＣＰセグメントが通知されておらず、そのセグメントよりもシーケンス番号の大きいＴＣＰセグメント（１００００−１０９９９、１２０００−１２９９９、１４０００−１４９９９）に対して通知メッセージが３つ受信されたため、ロス判定は肯定的となる。ここで、図９のステップＳＣ５の処理に移る。
まず、サーバ装置４０のＣＰＵ４１（送信量制御手段４０Ｄ）は、前に輻輳ウィンドウ（ｃｗｎｄ）が減少されてからサーバ装置４０と基地局２０との間の往復伝播遅延時間が経過したか否かを判定する（図９のステップＳＣ５）。輻輳ウィンドウ（ｃｗｎｄ）を減少させるのは、今回が初めてであるため、ＣＰＵ４１は前記（４）式に従って輻輳ウィンドウ（ｃｗｎｄ）を減少させる（ステップＳＣ６）。
【００９４】
このメッセージが到着したとき、サーバ装置４０と基地局２０との間に滞留するデータ量は、サーバ装置４０によって送信されたデータ量「２６０００バイト」から基地局２０によって通知されたデータ量「１１０００バイト」を引いたデータ量「１５０００バイト」である。従って、輻輳ウィンドウ（ｃｗｎｄ）は、「１８０００バイト（＝２６０００−８０００）」に減じられる。
【００９５】
次に、ＣＰＵ４１（送信量制御手段４０Ｄ）は、前記（５）式に従って、輻輳ウィンドウ（ｃｗｎｄ）を増加させる。
輻輳ウィンドウ（ｃｗｎｄ）は、ロス判定が肯定的となったデータ量「１０００バイト」と、通知されたデータ量「１０００バイト」を合わせたデータ量「２０００バイト」だけ増加される（ステップＳＣ７）。
【００９６】
続いて、ＣＰＵ４１（データユニット送信手段４０Ａ）は、新たにデータの送信が可能か否かを判定する（ステップＳＣ９）。
輻輳ウィンドウ（ｃｗｎｄ）は、「２００００バイト」であり、サーバ装置４０と移動機１０との問のデータ滞留量は「２６０００バイト（＞ｃｗｎｄ＝２００００）」のため、ＣＰＵ４１は、データの送信を行わない。
【００９７】
サーバ装置４０のＣＰＵ４１（識別情報受信手段４０Ｂ、ロス判定手段４０Ｃ）は、シーケンス番号「１６０００−１６９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）を受信すると（図９のステップＳＣ１、ステップＳＣ２：Ｎｏ）、シーケンス番号「１１０００−１１９９９」のＴＣＰセグメントのロスを検出する（ステップＳＣ４：Ｙｅｓ）。
【００９８】
次に、ＣＰＵ４１は、前回輻輳ウィンドウ（ｃｗｎｄ）を減少させてから、サーバ装置４０と基地局２０との間の往復伝播遅延時間が経過したか否かを判定する（ステップＳＣ５）。
往復伝播遅延時間は経過していないため、ＣＰＵ４１は、ロス判定が肯定的となったデータ量「１０００バイト」と、通知されたデータ量「１０００バイト」を合わせたデータ量「２０００バイト」だけ輻輳ウィンドウ（ｃｗｎｄ）を増加させる（ステップＳＣ７）。
【００９９】
次に、ＣＰＵ４１は、新たにデータの送信が可能か否かを判定する（ステップＳＣ９）。
輻輳ウィンドウ（ｃｗｎｄ）は、「２２０００バイト（ｂｙｔｅ）」であり、サーバ装置４０と移動機１０との問のデータ滞留量は「２６０００バイト（＞ｃｗｎｄ＝２２０００）のため、ＣＰＵ４１は、データの送信を行わない。
【０１００】
サーバ装置４０のＣＰＵ４１は、シーケンス番号「１８０００−１８９９９」および「２００００−２０９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）に対しても同様の処理を行う。
サーバ装置４０のＣＰＵ４１は、シーケンス番号「２１０００−２１９９９」のＴＣＰセグメントに対する転送通知メッセージを受信すると（図９のステップＳＣ１、ステップＳＣ２：Ｎｏ）、シーケンス番号「１７０００−１７９９９の」ＴＣＰセグメントのロスを検出する（ステップＳＣ４：Ｙｅｓ）。
【０１０１】
前回輻輳ウィンドウ（ｃｗｎｄ）を減少させてから、往復伝播遅延時問は経過していないため（ステヅプＳＣ５：Ｎｏ）、ＣＰＵ４１は、ロス判定が肯定的となったデータ量「１０００バイト」と、通知されたデータ量「１０００バイト」を合わせたデータ量「２０００バイト」だけ輻輳ウィンドウ（ｃｗｎｄ）を増加させ（ステップＳＣ７）、新たにデータの送信が可能か否かを判定する（ステップＳＣ９）。
【０１０２】
輻輳ウィンドウ（ｃｗｎｄ）は、「２８０００バイト」であり、サーバ装置４０と移動機１０との問のデータ滞留量は、「２６０００バイト（＜ｃｗｎｄ＝２８０００）」のため、ＣＰＵ４１（データユニット送信手段４０Ａ）は、シーケンス番号「２６０００−２６９９９」のＴＣＰセグメントを送信する（ステップＳＣ１Ｏ）。
さらに続けて、ＣＰＵ４１は、さらにデータの送信が可能か否かを判定する（ステップＳＣ９）。
【０１０３】
輻輳ウィンドウ（ｃｗｎｄ）は「２８０００バイト」で、サーバ装置４０と移動機１０との間のデータ滞留量は「２７０００バイト（＜ｃｗｎｄ＝２８０００）」のため、ＣＰＵ４１は、新たにシーケンス番号「２７０００−２７９９９」のＴＣＰセグメントを送信する（ステップＳＣ１Ｏ）。
さらに、ＣＰＵ４１は、データの送信が可能か否かを判定するが（ステップＳＣ９）、サーバ装置４０と移動機１０との間のデータ滞留量が既に「２８０００ｂバイト（＝ｃｗｎｄ）」に達しているため、今回はデータの送信を見送る。
【０１０４】
サーバ装置４０のＣＰＵ４１は、シーケンス番号「２２０００−２２９９９」のＴＣＰセグメントに対する転送通知メッセージに対しても同様の処理を行い、シーケンス番号「２８０００−２８９９９」および「２９０００−２９９９９」のＴＣＰセグメントを新たに送信する。
サーバ装置４０のＣＰＵ４１は、シーケンス番号「２３０００−２３９９９」のＴＣＰセグメントに対する転送通知メッセージ（識別情報）を受信すると（図９のステップＳＣ１、ステップＳＣ２：Ｎｏ）、それまで送信されたデータにロスがないか判定を行う（ステップＳＣ４）。
【０１０５】
ロス判定は否定的であるため、ＣＰＵ４１は前記（３）式に従って輻輳ウィンドウ（ｃｗｎｄ）を増加させる（ステップＳＣ８）。
次にＣＰＵ４１は、新たにデータの送信が可能か否かを判定する（ステップＳＣ９）。
輻輳ウィンドウ（ｃｗｎｄ）は「３１０００バイト」であり、サーバ装置４０と移動機１０との間のデータ滞留量は「３００００バイト（＜ｃｗｎｄ＝３１０００）」のため、ＣＰＵ４１は、新たにシーケンス番号「３００００−３１９９９」のＴＣＰセグメントを送信する（ステップＳＣ１Ｏ）。
【０１０６】
さらに、ＣＰＵ４１は、データの送信が可能か否かを判定するが（ステップＳＣ９）、サーバ装置４０と移動機１０との間のデータ滞留量が既に「３１０００バイト（＝ｃｗｎｄ）」に達しているため、今回はデータの送信を見送る。
以上のようにして、サーバ装置４０のＣＰＵ４１は、移動機１０からのＡＣＫが最初に受信されるまで前記（３）式に従って輻輳ウィンドウ（ｃｗｎｄ）を更新しながら、データを送信する。
【０１０７】
サーバ装置４０のＣＰＵ４１（確認応答受信手段４０Ｅ、送信量制御手段４０Ｄ）は、シーケンス番号「０−９９９」に対するＡＣＫを受信すると（図９のステップＳＣ１、ステップＳＣ２：Ｙｅｓ）、輻輳ウィンドウ（ｃｗｎｄ）をこれまでに通知されたデータ量に設定する（ステップＳＣ３）。
シーケンス番号「０−９９９」に対するＡＣＫが受信されるまで、「２９０００バイト」のデータが通知されているため、輻輳ウィンドウ（ｃｗｎｄ）は、「２９０００バイト」に設定される。
以上のように、本発明は、移動機からのＡＣＫが最初に受信されるまで、ネットワーク輻輳に対処しながら、輻輳ウィンドウ（ｃｗｎｄ）を増加させることで、実質的に初期ウィンドウを拡大することができる。
【０１０８】
次に、ＡＣＫが受信された後の本発明の動作について説明する（図１０）。
サーバ装置４０のＣＰＵ４１（確認応答受信手段４０Ｅ）は、シーケンス番号「０−９９９」に対するＡＣＫを受信すると（図１０のステップＳＤ１）、第一の条件が満たされるか否かを判定する（ステップＳＤ２）。
【０１０９】
第一の条件は、最初にＡＣＫが受信されてから送信されたデータに対してロスが検出されることである。第一の条件は満たされていると判断したとき（Ｙｅｓ）は、そのまま処理を終了することになるが、第一の条件は満たされていないと判断したとき（Ｎｏ）は、次にＣＰＵ４１は、第二の条件が満たされるか否かを判定する（ステップＳＤ３）。
第二の条件は、最初にＡＣＫが受信されてから、前記（９）式を満たす「ｎ」の最大値Ｎ２に等しい回数のＲＴＴが経過することである。
【０１１０】
このステップＳＤ３における判定の結果、第二の条件は満たされていると判定したとき（Ｙｅｓ）は、そのまま処理を終了することになるが、第二の条件は満たされていないと判定したとき（Ｎｏ）は、次にＣＰＵ４１は、ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）が、最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との間のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）よりも大きいか否かを判定する（ステップＳＤ４）。
【０１１１】
ＡＣＫによって受信確認されたデータ量は「１０００バイト」で、最初にＡＣＫが受信された時点のサーバ装置４０と基地局２０との間のデータ滞留量は、それまでに送信されたデータ量「４３０００バイト」から通知されたデータ量「２９０００バイト」とロス判定が肯定的となったデータ量「６０００バイト」とを引いた「８０００バイト」であるから、ＣＰＵ４１は、前記（６）式に従って輻輳ウィンドウ（ｃｗｎｄ）を増加させる（ステップＳＤ５）。
【０１１２】
次に、ＣＰＵ４１は、新たにデータの送信が可能か否かを判定する（ステップＳＤ７）。
輻輳ウィンドウ（ｃｗｎｄ）は、「２９０００バイト」であり、サーバ装置４０と移動機１０との間のデータ滞留量は「４２０００バイト（＞ｃｗｎｄ＝２９０００）」のため、ＣＰＵ４１は、データの送信を行わない。
【０１１３】
サーバ装置４０のＣＰＵ４１は、シーケンス番号「１０００−１９９９」から「７０００−７９９９」までのＴＣＰセグメントに対するＡＣＫに対しても同様の処理を行う。
サーバ装置４０のＣＰＵ４１は、シーケンス番号「８０００−８９９９」のＴＣＰセグメントに対するＡＣＫを受信すると（図１０のステップＳＤ１）、第一および第二の条件が満たされないと判定する（ステップＳＤ２：Ｎｏ、ステップＳＤ３：Ｎｏ）。
【０１１４】
次に、ＣＰＵ４１は、ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）が、最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との間のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）よりも大きいか否かを判定する（ステップＳＤ４）。
ＡＣＫによって受信確認されたデータ量（Ｌａｃｋｅｄ）は「９０００バイト」であり、最初にＡＣＫを受信した時点のサーバ装置４０と基地局２０との間のデータ滞留量（Ｌｆｉｒｓｔａｃｋ）は「８０００バイト」であるから、ＣＰＵ４１は、（７）式に従って輻輳ウィンドウ（ｃｗｎｄ）を増加させる（ステップＳＤ６）。
【０１１５】
次に、ＣＰＵ４１は、新たにデータの送信が可能か否かを判定する（ステップＳＤ７）。
輻輳ウィンドウ（ｃｗｎｄ）は「２９０００バイト」であり、サーバ装置４０と移動機１０との間のデータ滞留量は「４２０００バイト（＞ｃｗｎｄ＝２９０００）」のため、ＣＰＵ４１は、データの送信を行わない。
以上のようにして、サーバ装置４０のＣＰＵ４１は、第一あるいは第二の条件が満たされるまで前記（７）式に従って輻輳ウィンドウ（ｃｗｎｄ）を更新しながらデータを送信する。
【０１１６】
本実施の形態では、シーケンス番号「６２０００−６２９９９」のＴＣＰセグメントが基地局２０に到着したときバッファ溢れによって廃棄されたシーケンス番号「５６０００−５６９９９」のＴＣＰセグメントのロスが検出され、本発明は、前記（７）式に従って輻輳ウィンドウ（ｃｗｎｄ）を更新するのを止め、コンジェスションアボイダンス（c ongestion avoidance）に移る。
以上のように、本発明はさらにスロースタート（slow start）よりも緩やかに輻輳ウィンドウ（ｃｗｎｄ）を増加させることで、ネットワーク輻輳に伴うパケットロスを低減することもできる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施形態にかかわる通信システム１００の構成を示す図である。
【図２】通信システム１００の通信プロトコル構成を示す図である。
【図３】通信システム１００を構成する移動機１０、基地局２０、サーバ装置４０のそれぞれの機能を示す機能ブロック図である。
【図４】通信システム１００を構成する基地局２０の構成を示すブロック図である。
【図５】基地局２０にてＲＬＣにより処理される送信データの流れを示す図である。
【図６】通信システム１００を構成するサーバ装置４０の構成を示すブロック図である。
【図７】基地局２０にて転送通知プログラム２２１を実行中のＣＰＵ２１により行われる転送通知処理の流れを示すフローチャートである。
【図８】サーバ装置４０にて通信プログラム４２１を実行中のＣＰＵ４１により行われる通信処理の流れを示すフローチャートである。
【図９】サーバ装置４０にて通信プログラム４２１を実行中のＣＰＵ４１により行われる通信処理の流れを示すフローチャートである。
【図１０】サーバ装置４０にて通信プログラム４２１を実行中のＣＰＵ４１により行われる通信処理の流れを示すフローチャートである。
【図１１】通信システム１ＯＯにより行われる通信の一例を示すシーケンス図である。
【図１２】通信システム１ＯＯにより行われる通信の一例を示すシーケンス図である。
【符号の説明】
【０１１８】
１０…移動機（受信機）
１０Ａ…データユニット受信手段
１０Ｂ…確認応答送信手段
２０…基地局（中継装置）
２０Ａ…データユニット転送手段
２０Ｂ…識別情報取得手段
２０Ｃ…識別情報通知手段
２０Ｄ…指示情報取得手段
２０Ｅ…指示情報判定手段
４０…サーバ装置（送信機）
４０Ａ…データユニット送信手段
４０Ｂ…識別情報受信手段
４０Ｃ…ロス判定手段
４０Ｄ…送信量制御手段
４０Ｅ…確認応答受信手段
４０Ｆ…指示情報制御手段
１００…通信システム
【図１】
2007159052.tif 000003
【図２】
2007159052.tif 000004
【図３】
2007159052.tif 000005
【図４】
2007159052.tif 000006
【図５】
2007159052.tif 000007
【図６】
2007159052.tif 000008
【図７】
2007159052.tif 000009
【図８】
2007159052.tif 000010
【図９】
2007159052.tif 000011
【図１０】
2007159052.tif 000012
【図１１】
2007159052.tif 000013
【図１２】
2007159052.tif 000014