(57)【要約】【課題】トランスポート層の通信プロトコルに準拠した通信を行う通信システムにおいて、クライアント装置と基地局との間の無線区間の状態に基づいてサーバ装置からクライアント装置へ宛てて送信されたパケットの通信速度を制御する技術を提供する【解決手段】宛先を内包したデータブロックをトランスポート層の通信プロトコルに従って通信するサーバ装置と無線回線を介してクライアント装置へデータブロックを送信する基地局とに接続された中継装置に、サーバ装置から受信したデータブロックを記憶させ、このデータブロックを、上記無線区間の状態を示す状態データと予め定めらた閾値とに基づいて決定される通信速度で上記基地局装置を介して上記クライアント装置へ送信させる。【選択図】        図１
2004194104.tif 000002
【特許請求の範囲】
【請求項１】
宛先の通信アドレスを内包したデータブロックを該宛先へトランスポート層の通信プロトコルにしたがって送信するサーバ装置と、
前記サーバ装置から送信された前記データブロックを前記トランスポート層の通信プロトコルにしたがって受信し、該データブロックをその宛先へ送信するゲートウェイ装置と、
前記ゲートウェイ装置から受信した前記データブロックを無線区間へ送信するとともに、該無線区間を介して送信されてきた前記データブロックを前記ゲートウェイ装置へ送信する基地局と、
前記基地局から前記無線区間へ送信された前記データブロックを受信するクライアント装置と、を有し、
前記ゲートウェイ装置は、
前記サーバ装置から受信した前記データブロックを記憶し、
前記無線区間の状態を示す状態データを前記基地局から取得し、該状態データと予め定められた閾値とに基づいて決定される通信速度で自装置に記憶している前記データブロックを前記クライアント装置へ送信する
ことを特徴とする通信システム。
【請求項２】
前記ゲートウェイ装置は、前記サーバ装置から送信されてくる前記データブロックを受信すると、該データブロックの内容に基づいて該データブロックを正しく受信したか否かを判定し、その判定結果を内包した通知を前記サーバ装置へ送信し、
前記サーバ装置は、前記データブロックを正しく受信できなかった旨の通知を前記ゲートウェイ装置から受信した場合には、再度、該データブロックを前記ゲートウェイ装置へ送信する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ゲートウェイ装置は、前記判定結果に加えて受信可能な前記データブロックの個数を内包した通知を前記サーバ装置へ送信し、
前記サーバ装置は、前記ゲートウェイ装置から受信した前記通知に基づいて前記ゲートウェイ装置へ送信する前記データブロックの個数を変更することに加えて、受信可能な前記データブロックの個数を所定の時間間隔で前記ゲートウェイ装置へ問い合わせる
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記サーバ装置は、前記データブロックを前記ゲートウェイ装置へ送信した後に、該データブロックが正しく受信されたか否かを確認することなく、更に前記データブロックを前記ゲートウェイ装置へ送信する
ことを特徴とする請求項１に記載の通信システム。
【請求項５】
宛先の通信アドレスを内包したデータブロックを該宛先へ送信するサーバ装置とトランスポート層の通信プロトコルにしたがって通信する第１の通信手段と、
前記第１の通信手段により受信した前記データブロックを記憶する記憶手段と、
無線区間へ前記データブロックを送信する基地局と通信する第２の通信手段と、
前記基地局により前記無線区間へ送信された前記データブロックを受信するクライアント装置と該基地局との間の前記無線区間の状態を示す状態データを前記第２の通信手段により該基地局から取得する取得手段と、
前記取得手段により取得された前記状態データと予め定めらた閾値とに基づいて決定される通信速度で前記記憶手段に記憶している前記データブロックを前記第２の通信手段により前記基地局を介して前記クライアント装置へ送信する送信手段と
を有するゲートウェイ装置。
【請求項６】
コンピュータ装置に、
宛先の通信アドレスを内包したデータブロックを該宛先へ送信するサーバ装置とトランスポート層の通信プロトコルにしたがって通信する第１の通信手段と、
前記第１の通信手段により受信した前記データブロックを記憶する記憶手段と、
無線区間へ前記データブロックを送信する基地局と通信する第２の通信手段と、
前記基地局により前記無線区間へ送信された前記データブロックを受信するクライアント装置と該基地局との間の前記無線区間の状態を示す状態データを前記第２の通信手段により該基地局から取得する取得手段と、
前記取得手段により取得された前記状態データと予め定めらた閾値とに基づいて決定される通信速度で前記記憶手段に記憶している前記データブロックを前記第２の通信手段により前記基地局を介して前記クライアント装置へ送信する送信手段と
を実現させるためのプログラム。
【請求項７】
コンピュータ装置読み取り可能な記録媒体であって、請求項６に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
クライアント装置とサーバ装置との間の通信速度を制御する技術に関する。
【０００２】
【従来の技術】
近年、インターネットを利用した通信サービスが急速に普及している。ユーザは、例えばブラウザ機能を有する携帯電話機などのクライアント装置を用いて、インターネット上のサーバ装置から所望の画像データや楽曲データなどのコンテンツを取得し利用することができる。このようなクライアント装置とサーバ装置との間の通信は所定の通信プロトコルにしたがって行われる。一般に、通信プロトコルは、ＯＳＩ参照モデルに示されるように、複数の階層に分割されており、各階層毎に固有の役割が定められている。例えば、インターネットにおいて一般的に使用されているＴＣＰ／ＩＰ（Transmission Control Protocol / InternetProtocol）では、トランスポート層と呼ばれる階層（ＴＣＰ／ＩＰではＴＣＰが属する階層）でクライアント装置とサーバ装置との間の通信の通信速度の制御が行われている。
【０００３】
トランスポート層の通信プロトコルにしたがって、サーバ装置からクライアント装置へコンテンツを送信する場合、このコンテンツは複数個のデータブロック（以下、「パケット」と称する）に分割されて送信される。これら複数個のパケットの各々には通信単位のデータサイズに分割されたコンテンツ（以下、「分割データ」と称する）と、当該パケットの宛先を示す通信アドレス（例えば、ＩＰアドレス：以下、「宛先アドレス」と称する）と、分割位置を示すデータ（以下、「オフセット」と称する）が内包されている。一方、これら複数個のパケットを受信するとクライアント装置は、これら複数のパケットの各々に内包されている分割データを組み立てることにより、コンテンツを復元することができる。このように、サーバ装置から送信されるコンテンツは複数個のパケットに分割されてクライアント装置へ送信される。一般に、クライアント装置とサーバ装置とを結ぶ通信網に過剰な負荷がかかり、輻輳が発生すると、パケットがクライアント装置へ到達しないこと（以下、「パケットロス」と称する）が生じる場合がある。輻輳が発生している状況下で、更に、パケットを送信し続けると、輻輳を更に悪化させてしまうことになる。このため、上述したトランスポート層の通信プロトコルでは、パケットロスが発生しているか否かにより輻輳が発生しているか否かを判断し、輻輳が発生していると判断した場合には、この通信網を流れるパケットの通信速度を低下させるようにしている。
【０００４】
しかしながら、トランスポート層のような上位層の通信プロトコルでパケットロスの発生を検出し、検出結果に応じて通信速度を制御するだけでは、パケットロス発生前の通信速度に回復するまでに多くの時間を要してしまう。このような問題の解決に関する技術として、非特許文献１や非特許文献２がある。
【０００５】
非特許文献１に開示されている技術では、クライアント装置へパケットを送信するサーバ装置に、ＴＣＰＶｅｇａｓと呼ばれる特別なアルゴリズムに従った動作を行わせている。具体的には、このアルゴリズムにしたがって作動するサーバ装置はパケットをクライアント装置へ送信する際に、その時点でのスループットとその時点までの平均のスループットとを比較する。なお、スループットとは、このサーバ装置が単位時間内に送信したパケットの量のことである。そして、前者が後者よりも低い場合には、クライアント装置へパケットを送信する通信速度を遅くし、逆に、前者が後者よりも高い場合には、通信速度を早くすることにより、輻輳の発生自体を回避している。
【０００６】
また、非特許文献２に開示されている技術では、クライアント装置とサーバ装置との通信を中継する中継装置（例えば、ルータ）を設け、この中継装置にＥＣＮと呼ばれる特別なアルゴリズムに従った動作を行わせている、具体的には、この中継装置は、サーバ装置から送信されてくるパケットの量が自身の処理能力を超えているか否かを判定し、自身の処理能力を超えている場合には、サーバ装置に対して送信してくるパケットの量を減少させるように要求することにより、クライアント装置とサーバ装置との間の通信速度を制御し、輻輳の発生自体を回避している。
【０００７】
また、近年、携帯電話機などの移動通信端末の高性能化に伴い、移動通信網などの無線網経由でのインターネットへのアクセスが急増している。無線網と有線網との両者を含んだ通信システムでは、両者の通信速度の差に起因した問題が発生する。具体的には、無線網は有線網に比較して通信速度が遅いため、無線網と有線網とを接続する中継装置が有線網から送信されてくるパケットを無線網へ通信しきれずにパケットロスが発生するという問題である。このような問題を解決するための技術として、特許文献１に開示されている技術がある。特許文献１に開示されている技術では、ＩＰにしたがって通信を行う有線網（以下、「ＩＰ網」と称する）と無線網とを接続するパケット中継装置に、パケットを格納するためのバッファを設けることに加え、無線網内の移動通信端末と基地局との間の無線区間の伝送レートに応じてＩＰ網内の通信速度を変更させるている。つまり、特許文献１に開示されている技術では、無線網の無線状態が良好ではなく無線網において充分な通信速度が確保できな場合には、ＩＰ網における通信速度を遅くし、ＩＰ網から無線網へ流入してくるパケットの量を削減することにより、無線網とＩＰ網との境界でパケットロスが発生することを回避している。
【０００８】
【非特許文献１】
Ir.Brakmo, S.O'Malley, and L.Peterson、
“TCP Vegas:New techniques for congestion detection and
avoidance.”、
In Proceeding of the SIGCOMM '94 Symposium(Aug.1994)
pages24-35、
インターネット＜URL:ftp://ftp.cs.arizona.edu
/xkernel/Paper/vegas.ps＞
【０００９】
【非特許文献２】
K.Ramakrishnan, S.Floyd, and D.Black、
"The Addition of Explicit Congestion Notification(ECN) to IP"、
RFC3168、September 2001、
インターネット＜URL:http://www.iet.org/rfc/rfc3168.txt＞
【００１０】
【特許文献１】
特開２００２−１７１５７２号公報
【００１１】
【発明が解決しようとする課題】
ところで、音声通話に比較し広い帯域を要するビデオ電話などの、各種の通信アプリケーションを実現する次世代移動通信方式の一つとしてＩＭＴ−２０００が提案されている。このＩＭＴ−２０００では、基地局とクライアント装置との間の通信区間（以下、「無線区間」と称する）の状態の変化に応じて基地局からクライアント装置への通信の通信速度を変化させること、すなわち、無線区間の状態が良好なほど、基地局とクライアント装置との間の通信速度を高速にするＨＳＤＰＡ（High Speed Download Packet Access）の採用が予定されている。
【００１２】
このＨＳＤＰＡを採用すれば、無線区間の状態の変化に応じて無線区間における通信速度を変化させることができる。しかしながら、前述したように、無線網と有線網との境界においては、両者の通信速度の差に起因してパケットロスが発生し易い。このようなパケットロスの発生を回避するために、無線区間の状態の変化に応じて無線区間の通信速度のみならず、有線区間の通信速度も変更させたいというニーズがある。
【００１３】
確かに、上述した特許文献１に開示されている技術によれば、上記ニーズに応えることができるかに見える。しかしながら、特許文献１に開示されている技術では、有線網としてＩＰ網を使用しているため、きめ細やかな通信サービスを提供することができないといった問題点がある。具体的には、ＩＰはＴＣＰよりも下位の階層であるネットワーク層の通信プロトコルであり、伝送データの誤りを訂正する機能や、宛先に正しくデータが送信されたかをチェックする機能を有しておらず、信頼性に乏しいといった問題点がある。また、無線区間における通信速度の低下によりパケット中継装置のバッファにパケットが蓄積されると、ＴＣＰにしたがって動作するアプリケーションでは、パケットを正しく受信したか否かを示す通知をクライアント装置からサーバ装置が得るまでに時間がかかり、タイムアウトが発生する虞がある。なお、タイムアウトとは、サーバ装置がパケットを送信した後に所定の時間以内にその宛先からパケットを正しく受信したか否かを示す通知を受信しない場合に、再度、そのパケットを送信することである。更に、パケットロス防止による通信品質維持よりも遅延時間短縮が求められるストリーミングやＶｏＩＰ（Voice Over IP）などに対して、その要求仕様を満たすことも困難である。
【００１４】
一方、非特許文献１や非特許文献２に開示されている技術は、トラスポート層の通信プロトコルを前提としているので、きめ細やかな通信サービスを提供することができる。しかしながら、上述したＴＣＰＶｅｇａｓアルゴリズムにしたがって動作するサーバ装置やＥＣＮアルゴリズムにしたがって動作する中継装置を用いたとしても、クライアント装置と基地局との間の無線区間の状態に基づいてサーバ装置からクライアント装置へ宛てて送信されたパケットの通信速度を制御することは実現できない。
【００１５】
本発明は、上記課題に鑑みてなされたものであり、トランスポート層の通信プロトコルに準拠した通信を行う通信システムにおいて、クライアント装置と基地局との間の無線区間の状態に基づいてサーバ装置からクライアント装置へ宛てて送信されたパケットの通信速度を制御する技術を提供することを目的としている。
【００１６】
【課題を解決するための手段】
上記課題を解決するために、本発明は、宛先の通信アドレスを内包したデータブロックを該宛先へトランスポート層の通信プロトコルにしたがって送信するサーバ装置と、前記サーバ装置から送信された前記データブロックを前記トランスポート層の通信プロトコルにしたがって受信し、該データブロックをその宛先へ送信するゲートウェイ装置と、前記ゲートウェイ装置から受信した前記データブロックを無線区間へ送信するとともに、該無線区間を介して送信されてきた前記データブロックを前記ゲートウェイ装置へ送信する基地局と、前記基地局から前記無線区間へ送信された前記データブロックを受信するクライアント装置と、を有し、前記ゲートウェイ装置は、前記サーバ装置から受信した前記データブロックを記憶し、前記無線区間の状態を示す状態データを前記基地局から取得し、該状態データと予め定められた閾値とに基づいて決定される通信速度で自装置に記憶している前記データブロックを前記クライアント装置へ送信することを特徴とする通信システムを提供する。
【００１７】
また、上記課題を解決するために、本発明は、宛先の通信アドレスを内包したデータブロックを該宛先へ送信するサーバ装置とトランスポート層の通信プロトコルにしたがって通信する第１の通信手段と、前記第１の通信手段により受信した前記データブロックを記憶する記憶手段と、無線区間へ前記データブロックを送信する基地局と通信する第２の通信手段と、前記基地局により前記無線区間へ送信された前記データブロックを受信するクライアント装置と該基地局との間の前記無線区間の状態を示す状態データを前記第２の通信手段により該基地局から取得する取得手段と、前記取得手段により取得された前記状態データと予め定めらた閾値とに基づいて決定される通信速度で前記記憶手段に記憶している前記データブロックを前記第２の通信手段により前記基地局を介して前記クライアント装置へ送信する送信手段とを有するゲートウェイ装置を提供する。
【００１８】
また、上記課題を解決するために、本発明は、コンピュータ装置に、宛先の通信アドレスを内包したデータブロックを該宛先へ送信するサーバ装置とトランスポート層の通信プロトコルにしたがって通信する第１の通信手段と、前記第１の通信手段により受信した前記データブロックを記憶する記憶手段と、無線区間へ前記データブロックを送信する基地局と通信する第２の通信手段と、前記基地局により前記無線区間へ送信された前記データブロックを受信するクライアント装置と該基地局との間の前記無線区間の状態を示す状態データを前記第２の通信手段により該基地局から取得する取得手段と、前記取得手段により取得された前記状態データと予め定めらた閾値とに基づいて決定される通信速度で前記記憶手段に記憶している前記データブロックを前記第２の通信手段により前記基地局を介して前記クライアント装置へ送信する送信手段とを実現させるためのプログラムと、コンピュータ装置読み取り可能な記録媒体であって、当該プログラムを記録した記録媒体と、を提供する。
【００１９】
このような、通信システム、ゲートウェイ装置、プログラムおよび記録媒体によれば、無線区間の状態を示す状態データがゲートウェイ装置により取得され、この状態データと、ゲートウェイ装置に記憶されている閾値とに基づいて、サーバ装置からクライアント装置へデータブロックを送信する際の通信速度が決定される。
【００２０】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施形態について説明する。
【００２１】
［Ａ．構成］
（１：通信システムの構成）
図１は、本発明の実施形態に係る通信システムの全体構成の一例を示す図である。クライアント装置２０は、例えばパケット通信機能を備えた携帯電話機であり、上述したＨＳＰＤＡを実現する機能を備えている。具体的には、クライアント装置２０は、自装置と基地局１１との間の無線区間の状態を検出し、検出した状態に基づいた状態データを基地局１１へ送信する機能を有している。本実施形態では、この状態データとして、符号誤り率を用いる。符号誤り率とは、クライアント装置２０が無線区間を介して受信したパケットを構成するビットのうち、何個のビットで符号誤り（符号が反転していること）が発生していたかを示す値である。なお、係る状態データは符号誤り率に限定されるものではなく、上記無線区間において割り当てられている帯域幅であっても良い。また、このクライアント装置２０には、移動通信網１０を運営する通信事業者により割り当てられた固有の端末識別子（例えば、電話番号）が記憶されている。本実施形態では、端末識別子「０９０ＸＸＸＸＸＸＸＸ」がクライアント装置２０に記憶されているものとする。
【００２２】
移動通信網１０は、当該移動通信網１０に収容されるクライアント装置２０に対して通信サービスを提供する通信網である。この移動通信網１０は、基地局１１とパケット交換装置１２とを有している。基地局１１は所定の広さの無線エリア（例えば、基地局１１を中心とした半径５００メートルの範囲）を形成し、この無線エリアに在圏するクライアント装置２０と無線通信するためのものである。この基地局１１は、移動通信網１０の通信サービスエリア内に多数設置されている。更に、この基地局１１は、上述したＨＳＰＤＡを実現する機能を備えている。すなわち、この基地局１１は、自装置の形成する無線エリアに在圏するクライアント装置２０と自装置との間の無線区間の状態を管理するために、図２に示される状態管理テーブルを記憶している。図２に示されるように、状態管理テーブルには、基地局１１の形成する無線エリアに在圏するクライアント装置２０の端末識別子に対応付けて、そのクライアント装置２０から送信されてくる状態データが格納されている。そして、基地局１１は、クライアント装置２０から上記状態データを受信する度毎に、クライアント装置２０の端末識別子と、受信した状態データとで上記状態管理テーブルの格納内容を更新する。また、この基地局１１には、移動通信網１０内でこの基地局１１を一意に特定する基地局アドレス（例えば、通信アドレス）が上記通信事業者により割り当てられている。本実施形態においては、基地局１１には、基地局アドレス「１９２．２．２．２」が割り当てられているものとする。なお、本実施形態では、基地局アドレスとして通信アドレスを用いる場合について説明するが、係る基地局アドレスは通信事業者によって割り振られた一連番号であっても良いことは勿論である。要は、移動通信網１０内で、基地局１１を一意に特定できるものであれば、いずれであっても良い。
【００２３】
パケット交換装置１２は、サーバ装置３０に対して通信コネクションを接続する旨の通信メッセージを内包したパケット（以下、単に「通信メッセージ」と称する）を送信してきたクライアント装置２０に対して、このクライアント装置２０を移動通信網１０内で一意に特定する通信アドレス（例えば、ＩＰアドレス：以下、「クライアントアドレス」と称する）を割り当る。そして、パケット交換装置１２は、上記クライアントアドレスをパケットの送信元を示す送信元アドレスとして、このパケットに書き込んでゲートウェイ装置５０へ送信するものである。また、このパケット交換装置１２は、図３に示される対応管理テーブルを記憶している。この対応管理テーブルには、図３に示されるように、クライアント装置２０の端末識別子と、このクライアント装置２０に対して割り当てたクライアントアドレスと、クライアント装置２０を収容している基地局１１の基地局アドレスとを対応付けて格納するテーブルである。そして、パケット交換装置１２は、ゲートウェイ装置５０から送信されてきたパケットを、そのパケットの宛先であるクライアント装置２０へ送信する機能を有している。具体的には、パケット交換装置１２は、受信したパケットに内包されているクライアントアドレスと、上記対応管理テーブルの格納内容に基づいて、そのクライアントアドレスを割り当てられているクライアント装置２０と、このクライアント装置２０を収容している基地局１１とを特定し、そのパケットをその基地局１１へ送信する。
【００２４】
サーバ装置３０は、一般的なコンピュータ装置と同一の構成を有するものであり、インターネット４０に接続されている。このサーバ装置３０には、インターネット４０上でこのサーバ装置３０を一意に特定するための通信アドレス（以下：「サーバアドレス」と称する）が割り当てられている。本実施形態においては、サーバ装置３０には、サーバアドレス「１９２．３．３．３」が割り当てられているものとする。このサーバ装置３０は、クライアント装置２０へ送信するためのコンテンツを記憶しており、このコンテンツをゲートウェイ装置５０を介してクライアント装置２０へ送信することができる。具体的には、このサーバ装置３０はゲートウェイ装置５０とトランスポート層の通信プロトコル（例えば、ＴＣＰ）にしたがって通信し、上記コンテンツを複数個のパケットに分割して一つづつ順番に送信する。そして、パケットを送信した後、サーバ装置３０は、上記パケットを正しく受信しなかった旨の通知をゲートウェイ装置５０から受信した場合や、所定の時間内にこの通知を受信しなかった場合に、そのパケットを再度送信するものである。なお、本実施形態では、サーバ装置３０に一つづつパケットを送信させる場合について説明するが、複数個のパケットを同時に送信させても良いことは勿論である。
【００２５】
ゲートウェイ装置５０は、移動通信網１０とインターネット４０とに接続されており、移動通信網１０に収容されているクライアント装置２０とインターネットに接続されているサーバ装置３０との間のパケット通信を中継するものである。より詳細に説明すると、ゲートウェイ装置５０は、サーバ装置３０から送信されてきたパケットをＴＣＰにしたがって受信し、受信したパケットの内容に基づいてそのパケットを正しく受信したか否かを判定し、その旨サーバ装置３０へ通知する。例えば、ゲートウェイ装置５０は、サーバ装置３０から受信したパケットで符号誤りが発生している場合には、そのパケットを正しく受信しなかったと判定する。そして、ゲートウェイ装置５０は、サーバ装置３０から送信されてきたパケットを正しく受信した場合にのみ、そのパケットを移動通信網１０を介してクライアント装置２０へ送信する。
【００２６】
加えて、このゲートウェイ装置５０は、自装置を介してサーバ装置３０から送信されてくるパケットを受信しているクライアント装置２０について、このクライアント装置２０と基地局１１との間の無線区間の状態を示す状態データを基地局１１から取得し、取得した状態データに基づいて上記パケット通信の通信速度を制御するものである。
【００２７】
（２：ゲートウェイ装置５０の構成）
次に、ゲートウェイ装置５０のハードウェア構成を、図４を参照しつつ説明する。図４に示されるように、ゲートウェイ装置５０は、第１通信インターフェイス（以下、「ＩＦ」と称する）部２１０と、第２通信ＩＦ部２２０と、記憶部２３０と、バッファ制御部２４０と、ルーティング制御部２５０と、を有している。
【００２８】
第１通信ＩＦ部２１０は、インターネット４０を介してサーバ装置３０とＴＣＰに準拠した通信を行う機能を備えている。具体的には、第１通信ＩＦ部２１０は、インターネット４０を介してサーバ装置３０から送信されてきたパケットを受信すると、そのパケットの内容に基づいて、そのパケットを正しく受信したか否かを判定しその判定結果をサーバ装置３０へ通知する。そして、第１通信ＩＦ部２１０は、サーバ装置３０から送信されてくるパケットを正しく受信した場合にのみ、そのパケットをルーティング制御部２５０へ渡すものである。加えて、第１通信ＩＦ部２１０は、ルーティング制御部２５０から渡されたパケットをインターネット４０へ送出する機能も備えている。
【００２９】
第２通信ＩＦ部２２０はパケット交換装置１２から送信されてきたパケットを受信し、受信したパケットをルーティング制御部２５０へ渡す機能を備えている。また、この第２通信ＩＦ部２２０はバッファを備えており、ルーティング制御部２５０より引渡されたパケットをこのバッファへ格納する。そして、この第２通信ＩＦ部２２０は、バッファに格納しているパケットを後述するバッファ制御部２４０による制御に基づいてパケット交換装置１２へ送出する機能を備えている。
【００３０】
記憶部２３０は、例えばハードディスクなどのデータを不揮発に記憶する記憶装置であり、予め定められた閾値と、予め定められた初期通信速度と、図５に示す通信速度管理テーブルを格納している。図５に示されるように、通信速度管理テーブルは、サーバ装置３０のサーバアドレスと、このサーバ装置３０と通信しているクライアント装置２０のクライアントアドレスと、サーバ装置３０からクライアント装置２０へ宛てて送信されているパケットの通信速度とを対応づけて格納するテーブルである。なお、以下では、互いに対応付けられているサーバアドレスとクライアントアドレスと通信速度とを「通信速度管理データ」と称する。
【００３１】
バッファ制御部２４０は、クライアント装置２０宛てのパケットを、このクライアント装置２０のクライアントアドレスに対応付けて通信速度管理テーブル（図５参照）に記憶されている通信速度で送出するように第２通信ＩＦ部２２０を制御する機能を有している。
【００３２】
ルーティング制御部２５０は、以下に述べる２つの機能を備えている。第１の機能は、第１通信ＩＦ部２１０や第２通信ＩＦ部２２０から渡されたパケットをその宛先に基づいてパケット交換装置１２へ送信するかインターネット４０へ送信するかを判定する機能である。この第１の機能により、ルーティング制御部２５０は、受信したパケットをパケット交換装置１２へ送信すると判定した場合には、このパケットを第２通信ＩＦ部２２０へ渡し、逆に、インターネット４０へ送信すると判定した場合には、このパケットを第１通信ＩＦ部２１０へ渡すことができる。
【００３３】
ルーティング制御部２５０が備える第２の機能は、所定のタイミングで基地局１１から状態データを取得し、この状態データと上記閾値とに基づいて通信速度管理テーブルの格納内容を更新する機能である。このルーティング制御部２５０は、現在時刻を取得する計時機能を有しており、定期的に上記更新を行う機能を備えている。また、このルーティング制御部２５０は、サーバ装置３０とコネクションを確立する旨の通信メッセージを第２通信ＩＦ部２２０を介して受信した場合に、この通信メッセージに基づいて通信速度管理データを生成し、通信速度管理テーブルへ書き込み、サーバ装置３０との間のコネクションを切断する旨の通信メッセージを第２通信ＩＦ部２２０を介して受信した場合に、この通信メッセージの内包されている送信元アドレスと宛先アドレスとを内包した通信速度管理データを通信速度管理テーブルから削除するものとする。
【００３４】
［Ｂ．動作］
次に、本実施形態に係る通信システムの特徴を顕著に示す動作について、図６を参照しつつ説明する。図６は、クライアント装置２０がサーバ装置３０からコンテンツをダウンロードする際の通信シーケンスの一例を示す図である。
【００３５】
（１：コネクション確立動作）
まず、クライアント装置２０からの要求に基づいて、ゲートウェイ装置５０がクライアント装置２０、サーバ装置３０および基地局１１との間のコネクションを確立する動作について図７に示すフローチャートを参照しつつ説明する。
【００３６】
例えば、サーバ装置３０に記憶されているコンテンツのＵＲＬ（Uniform Resource Locator）を入力され、このコンテンツをダウンロードすることをユーザに指示されると、クライアント装置２０は、図６に示されるように、コネクションの確立を要求する旨の通信メッセージＳ０１０をサーバ装置３０へ宛てて送信する。この通信メッセージＳ０１０は、基地局１１とパケット交換装置１２とを順に介してゲートウェイ装置５０へ到達する。図７に示されるように、ゲートウェイ装置５０のルーティング制御部２５０は、この通信メッセージＳ０１０を第２通信ＩＦ部２２０を介して受信すると（ステップＳＡ１）、受信した通信メッセージＳ０１０に内包されているクライアントアドレス、サーバアドレスおよび記憶部２３０に格納されている初期通信速度とを対応付けて通信速度管理テーブルへ書き込む（ステップＳＡ２）。
【００３７】
次に、ルーティング制御部２５０は、ステップＳＡ１にて受信した通信メッセージＳ０１０を、ＴＣＰに準拠した通信メッセージＳ０２０へ変換し、この通信メッセージＳ０２０を第１通信ＩＦ部２１０を介してサーバ装置３０へ宛てて送信する（ステップＳＡ３）。
【００３８】
このようにして、ゲートウェイ装置５０から送信された通信メッセージＳ０２０は、インターネット４０を介してサーバ装置３０へ到達する（図６参照）。この通信メッセージＳ０２０を受信したサーバ装置３０は、ゲートウェイ装置５０との間でコネクション（以下、「サーバコネクション」と称する）を確立し、サーバコネクションの確立が完了した旨の通信メッセージＳ０３０をゲートウェイ装置５０へ宛てて送信する（図６参照）。
【００３９】
ルーティング制御部２５０は、第１通信ＩＦ部２１０を介して上記通信メッセージＳ０３０を受信すると（ステップＳＡ４）、ステップＳＡ１にて通信メッセージＳ０１０を送信してきたクライアント装置２０を収容する基地局１１を特定する（ステップＳＡ５）。具体的には、ルーティング制御部２５０は、ステップＳＢ２にて通信速度管理テーブルへ書き込んだクライアントアドレスに対応付けられている基地局アドレスをパケット交換装置１２から取得する。そして、ルーティング制御部２５０は、状態データを取得するためのコネクション（以下、「基地局コネクション」と称する）の確立を要求する旨の通信メッセージＳ０４０を生成し、この通信メッセージＳ０４０を第２通信ＩＦ部２２０を介してステップＳＡ５にて特定した基地局１１へ送信する（ステップＳＡ６）。
【００４０】
この通信メッセージＳ０４０を受信した基地局１１は基地局コネクションを確立し、基地局コネクションが確立した旨の通信メッセージＳ０５０をゲートウェイ装置５０へ送信する。第２通信ＩＦ部２２０を介して通信メッセージＳ０５０を受信すると（ステップＳＡ７）、ルーティング制御部２５０は、コネクション（以下、「クライアントコネクション」と称する）が確立した旨の通信メッセージＳ０６０を生成し、この通信メッセージＳ０６０を第２通信ＩＦ部２２０を介して、通信メッセージＳ０１０を送信してきたクライアント装置２０へ送信する（ステップＳＡ８）。
【００４１】
以上に説明したように、クライアント装置２０とゲートウェイ装置５０との間にクライアントコネクションが確立され、ゲートウェイ装置５０とサーバ装置３０との間にサーバコネクションが確立される。以降、このサーバコネクションとクライアントコネクションとを介してサーバ装置３０からクライアント装置２０へコンテンツの部分データを内包したパケットが送信される。このサーバコネクションはＴＣＰに準拠したものであるから、ゲートウェイ装置５０は、サーバ装置３０から送信されてきたパケットを正しく受信したか否かをサーバ装置３０へ通知することができる。これにより、ＴＣＰよりも下位の階層の通信プロトコルでパケットの送受信が行われる場合に比較して、タイムアウトによるパケットの再送信が削減されるといった効果を奏する。加えて、ゲートウェイ装置５０は、クライアント装置２０を収容している基地局１１との間で基地局コネクションを確立し、基地局１１から無線区間の状態を示すデータを取得することができる。なお、本実施形態では、サーバコネクションを確立した後に、基地局コネクションを確立する場合について説明したが、基地局コネクションをサーバコネクションより先に確立しても良く、また、両者の確立を同時に行うとしても勿論良い。
【００４２】
また、本実施形態においては、クライアント装置２０から、クライアントコネクションを切断する旨の通信メッセージＳ０９０を受信した場合には、図６のＳ０９０からＳ１４０に示されるように、ゲートウェイ装置５０は、クライアントコネクション、サーバコネクションおよび基地局コネクションをその確立した順に切断する。なお、これらコネクションを確立する順と切断する順とが異なっても良いことは勿論である。
【００４３】
（２：通信速度制御動作）
次いで、ゲートウェイ装置５０が基地局１１から無線区間の状態を示す状態データを取得し、この状態データに基づいて、サーバ装置３０からクライアント装置２０へ送信されるパケットの通信速度を制御する通信速度制御動作について図８を参照しつつ説明する。なお、以下に説明する動作例の前提として、上述したコネクション確立動作が行われ、クライアントコネクション、サーバコネクションおよび基地局コネクションが確立されているものとする。そして、クライアント装置２０は、ゲートウェイ装置５０を介してサーバ装置３０から送信されてくるパケットを受信している状態であるとする。
【００４４】
ルーティング制御部２５０は、まず、現在時刻を取得し（ステップＳＢ１）、取得した現在時刻が所定の時刻であるか否かを判定する（ステップＳＢ２）。そして、ルーティング制御部２５０は、ステップＳＢ２の判定結果が“Ｎｏ”である場合には、上記ステップＳＢ１およびステップＳＢ２を繰り返し実行する。逆に、ステップＳＢ２の判定結果が“Ｙｅｓ”である場合には、ルーティング制御部２５０は、通信速度管理テーブル（図５参照）からクライアントアドレスを読み出す（ステップＳＢ３）。
【００４５】
ステップＳＢ３に後続するステップＳＢ４では、ルーティング制御部２５０は、ステップＳＢ３で取得したクライアントアドレスに対応付けられている基地局アドレスと端末識別子とをパケット交換装置１２から取得する。そして、ルーティング制御部２５０は、ステップＳＢ４にて取得した基地局アドレスで特定される基地局１１へ、ステップＳＢ４で取得した端末識別子で特定されるクライアント装置２０とこの基地局１１との間の無線区間の状態を示す状態データの送信を要求する旨の通信メッセージＳ０７０を第２通信ＩＦ部を介して送信する（ステップＳＢ５）。
【００４６】
この通信メッセージＳ０７０を受信した基地局１１は、自装置に記憶している状態管理テーブル（図２参照）から該当する状態データを読み出し、この状態データを内包した通信メッセージＳ０８０をゲートウェイ装置５０へ宛てて送信する。ルーティング制御部２５０は、この通信メッセージＳ０８０を第２通信ＩＦ部２２０を介して受信し、この通信メッセージＳ０８０に内包されている状態データを取得する（ステップＳＢ６）。
【００４７】
次に、ルーティング制御部２５０は、ステップＳＢ７にて取得した状態データと、記憶部２３０に格納されている閾値とに基づいて、ステップＳＢ４にて取得したクライアントアドレスで特定されるクライアント装置２０へ宛ててサーバ装置３０から送信されているパケットの通信速度を決定する（ステップＳＢ７）。ルーティング制御部２５０が、状態データと閾値とに基づいて通信速度を決定する態様としては、例えば、状態データが閾値よりも大きい場合には、通信速度を初期通信速度の半分の値とし、逆に、状態データが閾値以下の場合には、通信速度を初期通信速度の２倍の値にすることが挙げられる。
【００４８】
そして、ルーティング制御部２５０は、ステップＳＢ７にて決定した通信速度で通信速度管理テーブル（図５参照）の格納内容を更新する（ステップＳＢ８）。以降、ゲートウェイ装置５０のバッファ制御部２４０は、ステップＳＢ８にて更新された通信速度でパケットを送信するように第２通信ＩＦ部を制御する。なお、通信速度制御テーブル（図４参照）に複数のクライアント装置２０についてのデータが格納されている場合には、上記ステップＳＢ３〜ステップＳＢ８までの処理を各クライアント装置２０毎に行う。
【００４９】
このようにして、クライアント装置２０と基地局１１との間の無線区間の状態に基づいて、ゲートウェイ装置５０は、このクライアント装置２０宛てにサーバ装置３０から送信されるパケットの通信速度を制御することが可能になる。
【００５０】
［Ｃ．変形例］
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【００５１】
（変形例１）上述した実施形態では、ゲートウェイ装置５０にサーバ装置３０から送信されてきたパケットを正しく受信したか否かを判定させ、その判定結果をサーバ装置３０へ通知させる場合について説明した。しかしながら、上記判定結果の他に、受信可能なパケット数をゲートウェイ装置５０からサーバ装置３０へ通知させるとしても良い。具体的には、第１通信ＩＦ部２１０を介してサーバ装置３０から送信されてきたパケットを受信した際に、図９に示されるフローチャートに従った動作をルーティング制御部２５０に行わせることにより実現される。図９に示されるように、ルーティング制御部２５０は、第１通信ＩＦ部２１０を介してパケットを受信すると（ステップＳＣ１）、そのパケットを第２通信ＩＦ部へ引渡すとともに、バッファへ格納可能なパケットの個数を示すデータ（以下、「受信可能パケット数」と称する）を第２通信ＩＦ部２２０から取得する（ステップＳＣ２）。そして、ルーティング制御部２５０はステップＳＣ２にて取得した受信可能パケット数を内包した通知を第１通信ＩＦ部２１０を介してサーバ装置３０へ送信する（ステップＳＣ３）。
【００５２】
このような通知を受信すると、サーバ装置３０は、パケットの送信を一時中断したり、同時に送信するパケットの個数を減少させることができる。これにより、例えば、基地局１１とクライアント装置２０との間の無線区間の状態の劣化に応じて、この無線区間における通信速度が低下する場合であっても、ゲートウェイ装置５０で輻輳が発生することが回避されるといった効果を奏する。そして、サーバ装置３０に、例えば定期的に受信可能パケット数をゲートウェイ装置５０へ問い合わせるようにすれば、無線区間の状態の変化に応じてゲートウェイ装置５０へ送信するパケットの個数を適切に変更することができるといった効果も奏する。
【００５３】
（変形例２）上述した実施形態では、ゲートウェイ装置５０は、クライアント装置２０からのクライアントコネクションの確立を要求される度毎に、基地局１１との間で状態データを受信するための基地局コネクションを確立し、この基地局コネクションを、クライアント装置２０からのクライアントコネクションの切断要求に基づいて切断する場合について説明した。しかしながら、上記基地局コネクションは、クライアントコネクションの接続要求とは無関係に常時確立されているとしても勿論良い。このようにすると、基地局コネクションの確立に要する通信シーケンス（図６：Ｓ０４０およびＳ０５０）や、基地局コネクションの切断に要する通信シーケンス（図６：Ｓ１２０およびＳ１３０）が不要になり、ゲートウェイ装置５０と基地局１１との間だの通信トラヒックが削減されるといった効果を奏する。
【００５４】
（変形例３）上述した実施形態では、定期にゲートウェイ装置５０が状態データの送信を要求する旨の通信メッセージを基地局１１へ送信することにより、状態データを取得する場合について説明した。しかしながら、ゲートウェイ装置５０が状態データを取得する態様は係る態様に限定されるものではない。例えば、基地局１１が定期的に状態データをゲートウェイ装置５０へ送信する態様であっても良く、また、状態管理テーブル（図２参照）の格納内容を更新する度毎に、係る更新により更新された状態データをゲートウェイ装置５０へ送信するとしても良い。
【００５５】
（変形例４）上述した実施形態では、上位層の通信プロトコルの一例として、ＴＣＰについて説明した。しかしながら、本発明を適用可能なトランスポート層の通信プロトコルは、ＴＣＰに限定されるものではない。例えば、サーバ装置３０とクライアント装置２０との間の通信のリアルタイム性を追求するために、ＵＤＰ（User Datagram Protocol）に準拠した通信を行う通信システムに含まれるゲートウェイ装置５０にＲＥＤ（Random Early Detection）機能を設けても良い。このようにすると、ストリーミングや、ＶｏＩＰ（VoiceIP）を実現するために好適な通信システムを構成することができる。
【００５６】
（変形例５）上述した実施形態では、本発明に係るゲートウェイ装置の一例として、図３に示される構成を有するゲートウェイ装置５０について説明した。しかしながら、一般的なコンピュータ装置に本発明に係るゲートウェイ装置の機能を実現させるためのプログラムを実行させることにより、これらコンピュータ装置に上述したゲートウェイ装置５０とと同一の機能を追加しても良い。
【００５７】
具体的には、本発明に係るゲートウェイ装置の機能を実現させるためのプログラムを例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＦＤ（Floppy Disk）等のコンピュータ装置読み取り可能な記録媒体に記録させておき、このような記録媒体に記録されている情報を読み取ることが可能な装置（例えばＣＤ−ＲＯＭドライブやＦＤドライブ等）を備えたコンピュータ装置に、この記録媒体に記録されているプログラムを読み取らせ、読み取ったプログラムを当該コンピュータ装置のＣＰＵ（Central Processing Unit）に実行させることで実現される。
【００５８】
【発明の効果】
以上に説明したように、本発明によれば、トランスポート層の通信プロトコルにしたがって通信する通信システムにおいて、クライアント装置と基地局との間の無線区間の状態に基づいてサーバ装置からクライアント装置へ宛てて送信されたパケットの通信速度を制御することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る通信システムの全体構成の一例を示す図である。
【図２】同基地局１１に記憶されている状態管理テーブル一例を示す図である。
【図３】同パケット交換装置１２に記憶されている対応管理テーブル一例を示す図である。
【図４】同ゲートウェイ装置５０のハードウェア構成の一例を示す図である。
【図５】同ゲートウェイ装置５０の記憶部２３０に記憶されている通信速度管理テーブル一例を示す図である。
【図６】同通信システムにおける通信シーケンスの一例を示す図である。
【図７】同ゲートウェイ装置５０が行うコネクション確立動作の流れを示すフローチャートである。
【図８】同ゲートウェイ装置５０が行う通信速度制御動作の流れを示すフローチャートである。
【図９】変形例１に係るゲートウェイ装置５０の動作の流れを示すフローチャートである。
【符号の説明】
１０…移動通信網、１１…基地局、１２…パケット交換装置、２０…クライアント装置、３０…サーバ装置、４０…インターネット、５０…ゲートウェイ装置、２１０…第１通信ＩＦ部、２２０…第２通信ＩＦ部、２３０…記憶部、２４０…バッファ制御部、２５０…ルーティング制御部。
【図１】
2004194104.tif 000003
【図２】
2004194104.tif 000004
【図３】
2004194104.tif 000005
【図４】
2004194104.tif 000006
【図５】
2004194104.tif 000007
【図６】
2004194104.tif 000008
【図７】
2004194104.tif 000009
【図８】
2004194104.tif 000010
【図９】
2004194104.tif 000011