(57)【特許請求の範囲】
【請求項１】
暗号化されたデータを受信する受信部と、
前記受信部が受信したデータを送信する送信部と、
前記送信部がデータを送信する速度を制御する制御部と
を備え、
前記制御部は、
前記受信部が受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させ、
前記送信部のデータ送信速度を制限する速度制限モードから、前記送信部のデータ送信速度の制限を行わない非制限モードへ遷移した場合、前記送信部が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させる、
データ伝送装置。
【請求項２】
前記制御部は、前記受信部が受信するデータの量が所定の条件を満たすと、前記速度制限モードから、前記非制限モードへ変更する、
請求項１に記載のデータ伝送装置。
【請求項３】
暗号化されたデータを受信する受信部と、
前記受信部が受信したデータを送信する送信部と、
前記送信部がデータを送信する速度を制御する制御部と
を備え、
前記制御部は、
前記受信部が受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させ、
前記受信部が受信するデータの量が所定の条件を満たすと、前記送信部のデータ送信速度を制限する速度制限モードから、前記送信部のデータ送信速度の制限を行わない非制限モードへ変更し、
前記速度制限モードから前記非制限モードへ遷移した場合、前記送信部が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させる、
データ伝送装置。
【請求項４】
暗号化されたデータを受信する受信ステップと、
前記受信ステップにて受信したデータを送信する送信ステップと、
前記受信ステップで受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信ステップにて送信するステップと、
前記送信ステップでのデータ送信速度を制限する速度制限モードから、前記送信ステップでのデータ送信速度の制限を行わない非制限モードへ変更した場合、前記送信ステップで送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信ステップで送信するステップと、
を有するデータ伝送方法。
【請求項５】
データ伝送装置を制御するコンピュータに、
暗号化されたデータを受信する受信ステップと、
前記受信ステップにて受信したデータを送信する送信ステップと、
前記受信ステップで受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信ステップにて送信するステップと、
前記送信ステップでのデータ送信速度を制限する速度制限モードから、前記送信ステップでのデータ送信速度の制限を行わない非制限モードへ変更した場合、前記送信ステップで送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信ステップで送信するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置、データ伝送方法およびプログラムに関する。
【背景技術】
【０００２】
データ通信を効率的に行うための幾つかの技術が提案されている。
例えば、特許文献１に記載の方法では、マルチメディア通信セッション中、複数の受信ステーションの各々は、交渉による設定時間間隔にて送信ステーションへマルチメディア・ペーシング要求を伝送する。ここで、マルチメディア・ペーシング要求には、受信ステーションにおけるマルチメディア・データのための現在の記憶場所の可用性と受信ステーションの記憶場所に残る最小データ時間に関する情報、及びマルチメディア・データの相互交換に関する他の情報が含まれる。その後送信ステーションは、データ形式すなわちマルチメディア・データか非マルチメディア・データかということと、受信ステーションの残存最小データ時間に関するマルチメディア・ペーシング要求内の情報とを反映する順序にて複数の受信ステーションへのデータ伝送に対して色々な優先度を割当てる。
特許文献１では、これにより、分散データ処理システムにおける、マルチメディア・ペーシングを利用する効率的なマルチメディア・データの相互交換を行う、とされている。
【０００３】
また、特許文献２に記載のストリーミング方法では、端末は、自身のバッファ容量とネットワークの伝送能力とに関連して、自身のバッファに蓄積すべきストリームの目標量（Ｓ＿ｔａｒｇｅｔ）を決定し、また、バッファ容量を伝送能力で除して得られる値を超えない範囲内で任意に、自身のバッファにストリームの先頭データを書き込んでからそのデータを読み出して再生開始するまでの遅延時間（Ｔ＿ｄｅｌａｙ）を決定して、それら目標量および遅延時間をサーバに通知する。サーバは、通知に基づき、端末のバッファ占有量（Ｓｕｍ）が目標量の近傍で目標量を超えずに遷移するように、送信速度を制御する。
特許文献２では、これにより、端末のバッファ容量が機種によって異なっていても、ネットワークの伝送能力が変動しても、ストリーミング再生の破綻を回避することが可能であり、しかも、ストリーミング再生の破綻回避と、頭出し時の待ち時間短縮とを互いに両立させることができる、とされている。
【０００４】
また、特許文献３に記載のデータ伝送方法では、複数の入力ポートを持つ入力ポート部と、複数のバッファを持つ出力窓口部との間の接続するスイッチ部を、前記複数のバッファそれぞれのデータ格納状況に応じて選択制御し、複数の入力ポートからのデータを前記複数のバッファのうち空きのあるバッファに格納し、複数のバッファから読み出されるデータを時分割多重して送信する。
特許文献３では、これにより、入力されたデータがバッファでの処理の停滞やオーバーフローにより破棄されるおそれを低減でき、複数の系統のデータの伝送順序が入れ替わるおそれを低減でき、データは入力ポートから空きのあるバッファに入るのでデータの先頭部を識別する必要がなくなり、出力ポートに無駄なバッファ領域が発生せず、複雑な処理を必要とせず遅延を低減できる、とされている。
【０００５】
また、特許文献４に記載の技術では、携帯電話機は、無線によりデータ送信する通信部と、ネットワークの輻輳を検出したときに、当該輻輳を回避するため、送信ウィンドウサイズを当該輻輳の検出前より縮小した後、徐々に拡大するよう制御するＥＣＮ制御部と、輻輳回避中であれば制御方法を輻輳回避モードとし、輻輳回避中でなければ制御方法を通常モードとするトークン制御部と、輻輳を検出した時点での送信ウィンドウサイズを第１の値として記憶する記憶部と、を有し、ＥＣＮ制御部は、輻輳を検出すると、当該輻輳の回避を開始したことをトークン制御部へ通知し、当該輻輳を検出した後、送信ウィンドウサイズが第１の値に基づいて特定される第２の値になると、当該輻輳の回避が終了したことをトークン制御部へ通知する。
特許文献４では、これにより、輻輳回避中の処理から輻輳回避解除中の処理へ適切なタイミングで移行できる、とされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１７５７６３号公報
【特許文献２】特開２００２−８４３３９号公報
【特許文献３】特開２００２−２２３２０２号公報
【特許文献４】特開２０１１−１８８４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通信品質の評価基準の１つにＱｏＥ（Quality Of Experience）がある。ＱｏＥでは、例えば、音が途切れる、あるいは、動画像が滑らかに表示されるなど、ユーザが体感する品質を評価する。ＱｏＥを向上させるために、例えば、音声データ、動画像データ、あるいはテキストデータといったデータ内容の種類（データによって表現される内容（コンテンツ）の種類）に応じて、通信の優先度を設定することが考えられる。
これに対して、データが暗号化されている場合、当該データを受信した伝送装置がデータ内容の種類を把握することができず、ＱｏＥの向上に対する障害となることが考えられる。
また、特許文献１〜４のいずれにも、暗号化されたデータの送信に際してＱｏＥの向上を図るための技術は示されていない。
【０００８】
本発明は、上述の課題を解決することのできるデータ伝送装置、データ伝送方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の第１の態様によれば、データ伝送装置は、暗号化されたデータを受信する受信部と、前記受信部が受信したデータを送信する送信部と、前記送信部がデータを送信する速度を制御する制御部とを備え、前記制御部は、前記受信部が受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させ、前記送信部のデータ送信速度を制限する速度制限モードから、前記送信部のデータ送信速度の制限を行わない非制限モードへ遷移した場合、前記送信部が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させる。
本発明の第２の態様によれば、データ伝送装置は、暗号化されたデータを受信する受信部と、前記受信部が受信したデータを送信する送信部と、前記送信部がデータを送信する速度を制御する制御部とを備え、前記制御部は、前記受信部が受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させ、前記送信部のデータ送信速度を制限する速度制限モードから、前記送信部のデータ送信速度の制限を行わない非制限モードへ遷移した場合、前記送信部が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信部に送信させる。
【００１０】
本発明の第３の態様によれば、データ伝送方法は、暗号化されたデータを受信する受信ステップと、前記受信ステップにて受信したデータを送信する送信ステップと、前記受信ステップで受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信ステップにて送信するステップと、前記送信ステップでのデータ送信速度を制限する速度制限モードから、前記送信ステップでのデータ送信速度の制限を行わない非制限モードへ変更した場合、前記送信ステップで送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信ステップで送信するステップと、を有する。
【００１１】
本発明の第４の態様によれば、プログラムは、データ伝送装置を制御するコンピュータに、暗号化されたデータを受信する受信ステップと、前記受信ステップにて受信したデータを送信する送信ステップと、前記受信ステップで受信した一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して前記送信ステップにて送信するステップと、前記送信ステップでのデータ送信速度を制限する速度制限モードから、前記送信ステップでのデータ送信速度の制限を行わない非制限モードへ変更した場合、前記送信ステップで送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して前記送信ステップで送信するステップと、を実行させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、データが暗号化されている場合でも、ＱｏＥの向上を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における通信システムの機能構成を示す概略ブロック図である。
【図２】同実施形態におけるデータ伝送装置が、データ提供サーバ装置からのデータを端末装置へ伝送する処理手順の例を示すフローチャートである。
【図３】同実施形態におけるデータ伝送装置が、ペーシング送信を行う処理手順の例を示すフローチャートである。
【図４】同実施形態におけるデータ伝送装置がペーシング送信対象判定を行う処理手順の例を示すフローチャートである。
【図５】本発明に係るデータ伝送装置の最小構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の一実施形態における通信システムの機能構成を示す概略ブロック図である。同図において、通信システム１は、端末装置１００と、データ伝送装置２００と、データ提供サーバ装置３００とを備える。
データ伝送装置２００は、プロキシ(Proxy)モジュール２１０と、ペーシング制御モジュール２２０とを備える。ペーシング制御モジュール２２０は、データ送受信制御部２２１と、流速指示部２２２とを備える。
【００１５】
なお、通信システム１が備える端末装置１００の数は１つ以上であればよい。また、通信システム１が備えるデータ提供サーバ装置３００の数は１つ以上であればよい。
端末装置１００、データ伝送装置２００、データ提供サーバ装置３００の各々は、例えばコンピュータを用いて構成される。
また、プロキシモジュール２１０とペーシング制御モジュール２２０とは、１つの装置として構成されていてもよいし、別々の装置として構成されていてもよい。
【００１６】
通信システム１は、データ提供サーバ装置３００から端末装置１００へデータの送信を行う通信システムである。データ提供サーバ装置３００は、例えば、動画像または音声、あるいはこれらの組み合わせなど、時間的に連続して再生されるコンテンツのデータを送信する場合がある。ここでいうコンテンツとは、動画像、静止画像、音声または文章、あるいはこれらの組み合わせである。例えば、映画、アニメーションまたは音楽などがコンテンツの例に該当する。
ここで、データ提供サーバ装置３００は、少なくとも一部のデータを暗号化して送信する。以下では、データ提供サーバ装置３００がＳＳＬ（Secure Sockets Layer）にてデータを暗号化して送信する場合を例に説明する。但し、データ提供サーバ装置３００が用いる暗号化の方式はＳＳＬに限らず、いろいろな方式とすることができる。
【００１７】
端末装置１００は、通信システム１の制御対象となるＳＳＬ通信のクライアントとして機能する。端末装置１００は、データ伝送装置２００を介してデータ提供サーバ装置３００へ、コンテンツリクエスト（コンテンツの送信を要求する信号）を送信し、当該コンテンツリクエストへの応答（レスポンス）としてのコンテンツデータを、データ伝送装置２００を介してデータ提供サーバ装置３００から受信する。
データ提供サーバ装置３００は、通信システム１の制御対象となるＳＳＬ通信のサーバとして機能する。データ提供サーバ装置３００は、データ伝送装置２００を介して端末装置１００から送信されるコンテンツリクエストに応じて、要求されたコンテンツのデータを、データ伝送装置２００を介して端末装置１００へ送信する。その際、データ提供サーバ装置３００は、ＳＳＬにて暗号化されたコンテンツデータを送信する。
【００１８】
データ伝送装置２００は、端末装置１００とデータ提供サーバ装置３００との通信を仲介する。特に、データ伝送装置２００は、データ提供サーバ装置３００から受信したデータを端末装置１００へ伝送する際、データ伝送装置２００自らが端末装置１００へ当該データを送信するタイミング（特に、送信速度）を調整する。
データ伝送装置２００は、例えば、ＬＴＥ（Long Term Evolution。ＬＴＥは登録商標）におけるＥＰＣ（Evolved Packet Core。ＥＰＣは登録商標）およびｅＵＴＲＡＮを経由して端末装置１００と通信を行うなど、モバイルネットワーク（通信事業者が、スマートフォンや携帯電話機の通信用に提供する通信ネットワーク）を介して端末装置１００と通信を行う。
但し、データ伝送装置２００が接続される通信ネットワークはモバイルネットワークに限らずいろいろな通信ネットワークとすることができる。データ伝送装置２００が、端末装置１００とデータ提供サーバ装置３００との通信経路に配置され、データ提供サーバ装置３００から受信したデータを端末装置１００へ伝送するタイミングを制御可能であればよい。
【００１９】
プロキシモジュール２１０は、端末装置１００のプロキシとして機能する。さらに、プロキシモジュール２１０は、データ提供サーバ装置３００が送信したコンテンツデータをペーシング制御モジュール２２０へ転送する。プロキシモジュール２１０は、データ提供サーバ装置３００からのコンテンツデータを受信する点で、受信部の例に該当する。またプロキシモジュール２１０は、受診したコンテンツデータを端末装置１００へ送信（伝送）する点で、送信部の例に該当する。
なお、以下では、プロキシモジュール２１０が透過型プロキシとして機能する場合を例に説明するが、これに限らない。ここでいう透過型プロキシとは、端末装置１００側でブラウザ等にプロキシの設定を行う必要無しに、プロキシを用いて通信を行える、プロキシの種類である。
【００２０】
ペーシング制御モジュール２２０は、データの送受信状況に応じて、プロキシモジュール２１０によるデータ伝送速度（データ送信速度、または送信速度ともいう）をリアルタイムに制御する。特に、ペーシング制御モジュール２２０は、データ伝送装置２００から端末装置１００へのデータ伝送速度をリアルタイムに制御する。
ペーシング制御モジュール２２０は、制御部の例に該当し、プロキシモジュール２１０がデータ提供サーバ装置３００から受信した一連のデータ毎に、当該一連のデータの初回の送信か否かを判定する。ここでいう一連のデータか否かの判定方法として、いろいろな方法を用いることができる。例えば、ペーシング制御モジュール２２０が、同一のデータ提供サーバ装置３００から同一の端末装置１００へ所定の時間間隔以内の時間間隔で送信されるデータを、一連のデータと判定するようにしてもよい。さらに、ペーシング制御モジュール２２０が、同一のデータ提供サーバ装置３００から同一の端末装置１００への所定の時間間隔以内でのデータ送信がどの程度の時間維持継続されるかも加味して、一連のデータか否かを判定するようにしてもよい。例えば、上記の送信が一定時間以上継続している場合に一連のデータであると判定するようにしてもよい。
あるいは、ペーシング制御モジュール２２０が、ＶＰＮ（Virtual Private Network）の設定など通信経路の設定に従って、同一の通信経路で通信されるデータを、一連のデータと判定するようにしてもよい。
【００２１】
一連のデータと他のデータとを区別する目的は、例えば、動画像または音声、あるいはこれらの組み合わせなど、時間的に連続して再生されるコンテンツのデータの送信において、端末装置１００での再生が途切れないように、初回送信時にある程度のデータ量の送信を確保することである。従って、データ提供サーバ装置３００が同一のコンテンツをストリーム送信したデータが、同じ一連のデータに含まれることが好ましい。
【００２２】
ペーシング制御モジュール２２０は、一連のデータの初回の送信であると判定した場合、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して、プロキシモジュール２１０に端末装置１００へ最大送信速度で送信させる。
なお、データ送受信制御部２２１がプロキシモジュール２１０に対して送信速度制限を行うことで、プロキシモジュール２１０が送信するデータの輻輳を回避する。また、ここでいう最大送信速度は、プロキシモジュール２１０がデータを送信可能な最大速度である。最大送信速度は、例えば、流速指示部２２２が設定する。
【００２３】
また、ペーシング制御モジュール２２０は、プロキシモジュール２１０が受信するデータの量が所定の条件を満たすと、プロキシモジュール２１０のデータ送信速度をペーシングにて制限するペーシングモードから、プロキシモジュール２１０のデータ送信に対するペーシングを行わない非ペーシングモードへ遷移する。ここでいうペーシングは、データ送信に空き時間を設けることで送信速度を制限することである。例えば、パケット通信におけるペーシングでは、パケットを送信してから次のパケットを送信するまでの間の空き時間の長さを調整することで、パケット送信速度を調整する。ペーシングモードは速度制限モードの例に該当し、非ペーシングモードは非制限モードの例に該当する。
【００２４】
このように、プロキシモジュール２１０が受信するデータの量に基づいてペーシング制御モジュール２２０がモードを切り替えることで、プロキシモジュール２１０のデータ受信量が比較的少なく、最大送信速度で全てのデータを送信可能な場合に、プロキシモジュール２１０に最大送信速度でデータ送信を行なわせる。
但し、データ伝送装置２００データ送信速度を制限する方法は、ペーシングによる方法に限らない。例えば、データ送受信制御部２２１が、プロキシモジュール２１０がデータを送信する間隔の時間調整に加えて、あるいは代えて、プロキシモジュール２１０がデータを送信する速度自体を調整するようにしてもよい。
【００２５】
また、ペーシング制御モジュール２２０は、ペーシングモードから非ペーシングモードへ遷移した場合、プロキシモジュール２１０が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して、プロキシモジュール２１０に送信させる。
これにより、一連のデータの初回送信時と同様、プロキシモジュール２１０の送信速度の制限が解除された場合も、例えば、動画像または音声、あるいはこれらの組み合わせなど、時間的に連続して再生されるコンテンツのデータの送信において、端末装置１００での再生が途切れないように、ある程度のデータ量の送信を確保する。
なお、以下では、制限解除後送信分のデータ量が初期送信分のデータ量と同じに設定される場合を例に説明するが、制限解除後送信分のデータ量が初期送信分のデータ量と異なっていてもよい。
【００２６】
データ送受信制御部２２１は、プロキシモジュール２１０によるデータの送受信を、流速指示部２２２から指定されたデータ伝送速度に応じて制御する。また、データ送受信制御部２２１は、プロキシモジュール２１０による受信データ量および送信遅延状況を、流速指示部２２２へリアルタイムに通知する。
【００２７】
流速指示部２２２は、データ送受信制御部２２１から通知された、プロキシモジュール２１０による受信データ量および送信遅延状況等の情報を基に、プロキシモジュール２１０によるデータ伝送速度を決定する。特に、流速指示部２２２は、プロキシモジュール２１０によるデータ送受信状況に応じて、データ伝送モードの切替を動的に行うことで、プロキシモジュール２１０によるデータ伝送速度を該当モードでの速度に決定する。流速指示部２２２が切り替えるデータ伝送モードには、非ペーシングモード、ペーシングモード、および、制限復帰後モードがある。
非ペーシングモードは、データ伝送速度の制限なしに、プロキシモジュール２１０が最大送信速度でデータを送信するモードである。
【００２８】
ペーシングモードは、データ伝送速度が制限されるモードである。ペーシングモードでは、プロキシモジュール２１０は、ペーシング送信速度でデータを送信する。ここで、データ送受信制御部２２１がペーシング送信速度を設定するようにしてもよい。あるいは、ペーシング送信速度が、予め定められていてもよい。
【００２９】
制限復帰後モードは、ペーシングモードから非ペーシングモードへ遷移した場合に流速指示部２２２が遷移するモードである。制限復帰後モードでは、上述したように、プロキシモジュール２１０が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータを送信速度制限対象から除外して、プロキシモジュール２１０に送信させる。
【００３０】
また、図１における経路Ｗ１１〜Ｗ１８は、各部の間のデータの流れを示す経路であり、ハードウェアにおけるデータ送信経路と一対一に対応している必要はない。
図１におけるデータの流れの順序は、以下のとおりである。
（１）端末装置１００が、経路Ｗ１１にて、コンテンツリクエストをプロキシモジュール２１０へ送信する。
（２）プロキシモジュール２１０が、経路Ｗ１２にて、端末装置１００からのコンテンツリクエストをデータ提供サーバ装置３００へ伝送する。
（３）データ提供サーバ装置３００が、経路Ｗ１３にて、端末装置１００からのコンテンツリクエストに応じたコンテンツデータをプロキシモジュール２１０へ送信する。
【００３１】
（４）プロキシモジュール２１０が、経路Ｗ１４にて、プロキシモジュール２１０自らにおける受信データ量および送信遅延状況の情報をデータ送受信制御部２２１へ通知する。
（５）データ送受信制御部２２１が、経路Ｗ１５にて、プロキシモジュール２１０における受信データ量および送信遅延状況等の情報を流速指示部２２２へ伝送する。
（６）流速指示部２２２が、経路Ｗ１６にて、プロキシモジュール２１０における受信データ量および送信遅延状況等に基づいて決定した送信速度指示をデータ送受信制御部２２１へ通知する。
【００３２】
（７）データ送受信制御部２２１が、経路Ｗ１７にて、流速指示部２２２からの送信速度指示に基づいて、プロキシモジュール２１０によるコンテンツデータ送信タイミング（特に、送信速度）の制御指令を出力する。
（８）プロキシモジュール２１０が、経路Ｗ１８にて、データ送受信制御部２２１の制御に従って、データ提供サーバ装置３００からのコンテンツデータを端末装置１００へ伝送する。
【００３３】
次に、図２〜図４を参照してデータ伝送装置２００の動作について説明する。
図２は、データ伝送装置２００が、データ提供サーバ装置３００からのデータを端末装置１００へ伝送する処理手順の例を示すフローチャートである。
同図の処理において、データ伝送装置２００は、一定区間（セグメント、ＳＧ）毎に処理を行うループＬ１１を開始する（ステップＳ１０１）。ここでいう一定区間は、プロキシモジュール２１０における通信データ量の測定時間として設定されている所定の時間である。データ伝送装置２００は、データ提供サーバ装置３００からのデータを端末装置１００へ伝送可能な状態にある間、ループＬ１１の処理を繰り返す。
【００３４】
ループＬ１１の処理において、プロキシモジュール２１０は、データの送受信状況（特に、受信データ量および送信遅延状況）を示す情報を、データ送受信制御部２２１を介して流速指示部２２２へ通知し、流速指示部２２２が、プロキシモジュール２１０からの情報に基づいてペーシング送信対象判定処理を行う（ステップＳ１１１）。ここでのペーシング送信対象判定処理は、プロキシモジュール２１０のデータ送信速度制限を行うか否かの判定を行う処理である。
【００３５】
次に、流速指示部２２２は、ステップＳ１１１における判定結果に基づいて、プロキシモジュール２１０に、ペーシング送信を行わせるか、最大送信速度で送信を行わせるかを判定する（ステップＳ１１２）。
具体的には、流速指示部２２２が、一定区間における送信対象データをペーシング送信対象と判定した場合（ステップＳ１１２：ＹＥＳ）、データ送受信制御部２２１が、プロキシモジュール２１０を制御して、データ提供サーバ装置３００からのデータをペーシング送信にて端末装置１００へ送信させる（ステップＳ１２１）。ここでいうペーシング送信は、送信速度を制限されたペーシング送信速度での送信である。
その後、データ伝送装置２００は、ループＬ１１の終端処理を行う（ステップＳ１４１）。具体的には、データ伝送装置２００は、ステップＳ１０１へ戻り、ループＬ１１の処理を繰り返す。
【００３６】
一方、流速指示部２２２が、一定区間における送信対象データをペーシング送信対象外と判定した場合（ステップＳ１１２：ＮＯ）、データ送受信制御部２２１が、プロキシモジュール２１０を制御して、データ提供サーバ装置３００からのデータを最大送信速度にて端末装置１００へ送信させる（ステップＳ１３１）。
ステップＳ１３１の後、ステップＳ１４１へ遷移する。
【００３７】
図３は、データ伝送装置２００が、ペーシング送信を行う処理手順の例を示すフローチャートである。データ伝送装置２００は、図２のステップＳ１２１において、図３の処理を行う。
図３の処理において、データ送受信制御部２２１は、次の一定区間にてプロキシモジュール２１０が送信する一連のデータについて、初期バッファデータを送信済みか否かを判定する（ステップＳ２０１）。ここでの初期バッファデータは、上述したように、一連のデータの初回送信時に、ある程度のデータ量の送信を確保する目的で最大送信速度で送信されるデータである。
初期バッファデータ送信済みか否かの判定は、一連のデータと初期送信済みのフラグとを対応付けておき、データ送信時に、当該フラグを送信済みを示す値にすることで行われる。
【００３８】
初期バッファデータを送信済みでないと判定した場合（ステップＳ２０１：ＮＯ）、データ送受信制御部２２１は、プロキシモジュール２１０に最大送信速度にて初期バッファデータを送信させる（ステップＳ２０２）。なお、ペーシングモードからの復帰時にも、初期送信済みのフラグをクリアしてステップＳ２０２を実行するようにすることで、上述したように、程度のデータ量の送信を確保する。この場合のデータ送信は、制限復帰後モードでの処理の例に該当する。
【００３９】
次に、データ伝送装置２００は、送出データ量の送信毎の処理を行うループＬ２１を開始する（ステップＳ２０３）。ここでいう送出データ量は、ペーシングモードにおいて送信データの単位となるデータ量である。
ループＬ２１の処理において、データ送受信制御部２２１は、緊急モードか否かを判定する（ステップＳ２０４）。例えば、データ送受信制御部２２１は、流速指示部２２２がデータ送受信制御部２２１を介してプロキシモジュール２１０に指示した流速（通信速度）で現在（判定時）までの所定時間に送信されるべきデータ量と、実際にプロキシモジュール２１０が送信したデータ量とを比較する。そして、データ送受信制御部２２１は、実際にプロキシモジュール２１０が送信したデータ量が、送信されるべきデータ量よりも所定量以上小さいと判定すると、緊急モードであると判定する。
緊急モードではないと判定した場合（ステップＳ２０４：ＮＯ）、データ送受信制御部２２１は、プロキシモジュール２１０を制御して、ペーシング速度にてデータを送信させる（ステップＳ２１１）。ここで、ペーシング速度は、送出データ量を、プロキシモジュール２１０が送出データ量のデータの送信にかける時間で除算して得られる速度である。データ送受信制御部２２１は、例えば、プロキシモジュール２１０に対して、送出データ量のデータの送信にかける時間を指示することで、プロキシモジュール２１０のデータ送信速度を制御する。
ステップＳ２１１においてプロキシモジュール２１０が行う送信は、ペーシングモードでの送信の例に該当する。
次に、データ伝送装置２００は、一定区間を経過したか否かを判定する（ステップＳ２３１）。一定区間を経過したと判定した場合（ステップＳ２３１：ＹＥＳ）、ループＬ２１の処理を終了して、図３の処理を終了する。
【００４０】
一方、一定区間を経過していないと判定した場合（ステップＳ２３１：ＮＯ）、ループＬ２１の終端処理を行う（ステップＳ２３２）。具体的には、ステップＳ２０３へ戻り、ループＬ２１の処理を繰り返す。
一方、ステップＳ２０１において、初期バッファデータを送信済みであると判定した場合（ステップＳ２０２：ＮＯ）、ステップＳ２０３へ進む。
一方、ステップＳ２０４において、緊急モードであると判定した場合（ステップＳ２０４：ＮＯ）、データ送受信制御部２２１は、プロキシモジュール２１０を制御して、例外的に最大送信速度にてデータを送信させる（ステップＳ２２１）。この送信は、緊急モードでの送信の例に該当する。ステップＳ２２１の後、ステップＳ２３１へ進む。
【００４１】
図４は、データ伝送装置２００がペーシング送信対象判定を行う処理手順の例を示すフローチャートである。データ伝送装置２００は、図２のステップＳ１１１において、図４の処理を行う。
図４の処理において、流速指示部２２２は、初回の送信データか否かを判定する（ステップＳ３０１）。
初回の送信データではない判定した場合（ステップＳ３０１：ＮＯ）、流速指示部２２２は、プロキシモジュール２１０の受信データ量が、所定の閾値であるペーシング送信対象データ量閾値未満か否かを判定する（ステップＳ３０２）。
【００４２】
プロキシモジュール２１０の受信データ量が、送信対象データ量閾値未満であると判定した場合（ステップＳ３０２：ＹＥＳ）、流速指示部２２２は、プロキシモジュール２１０が最大送信速度で送信中か否かを判定する（ステップＳ３１１）。ここでの判定は、プロキシモジュール２１０が、ペーシングモードで送信を行っているか（図２のステップＳ１２１）、あるいは、非ペーシングモードで送信を行っているか（図２のステップＳ１３１）の判定の例に該当する。
ステップＳ３１１において、プロキシモジュール２１０が最大送信速度で送信中であると判定した場合（ステップＳ３１１：ＹＥＳ）、流速指示部２２２は、ペーシング処理対象外に決定する（ステップＳ３３１）。
その後、図４の処理を終了する。
【００４３】
一方、ステップＳ３０１において初回の送信データであると判定した場合（ステップＳ３０１：ＹＥＳ）、ステップＳ３３１へ進む。
一方、ステップＳ３１１において、プロキシモジュール２１０が最大送信速度で送信中であると判定した場合（ステップＳ３１１：ＹＥＳ）、流速指示部２２２は、ペーシング処理対象に決定する（ステップＳ３４１）。
その後、図４の処理を終了する。
【００４４】
一方、ステップＳ３１１において、プロキシモジュール２１０が最大送信速度で送信中でないと判定した場合（ステップＳ３１１：ＹＥＳ）、流速指示部２２２は最大送信移行条件を満たすか否かを判定する（ステップＳ３１２）。例えば、流速指示部２２２は、プロキシモジュール２１０における単位時間あたりの受信データ量と、最大送信速度で送信可能な受信データ量との差を求める。そして、受信データ量が、最大送信速度で送信可能な受信データ量を、所定期間連続して所定量以上、下回ったと判定した場合、流速指示部２２２は、最大送信移行条件を満たすと判定する。
最大送信移行条件を満たすと判定した場合（ステップＳ３１２：ＹＥＳ）、ステップＳ３３１へ遷移する。一方、最大送信移行条件を満たさないと判定した場合（ステップＳ３１２：ＮＯ）、ステップＳ３４１へ遷移する。
【００４５】
一方、ステップＳ３０２において、プロキシモジュール２１０の受信データ量が、送信対象データ量閾値以上であると判定した場合（ステップＳ３０２：ＮＯ）、流速指示部２２２は、プロキシモジュール２１０が最大送信速度で送信中か否かを判定する（ステップＳ３２１）。ここでの判定は、プロキシモジュール２１０が、ペーシングモードで送信を行っているか（図２のステップＳ１２１）、あるいは、非ペーシングモードで送信を行っているか（図２のステップＳ１３１）の判定の例に該当する。
ステップＳ３２１において、プロキシモジュール２１０が最大送信速度で送信中であると判定した場合（ステップＳ３２１：ＹＥＳ）、流速指示部２２２は、ペーシング送信移行条件を満たすか否かを判定する（ステップＳ３２２）。例えば、流速指示部２２２は、プロキシモジュール２１０における単位時間あたりの受信データ量と、最大送信速度で送信可能な受信データ量との差を求める。そして、受信データ量が、最大送信速度で送信可能な受信データ量を、所定期間連続して所定量以上、上回ったと判定した場合、流速指示部２２２は、ペーシング送信移行条件を満たすと判定する。
ペーシング送信移行条件を満たすと判定した場合（ステップＳ３２２：ＹＥＳ）、ステップＳ３４１へ遷移する。一方、ペーシング送信移行条件を満たさないと判定した場合（ステップＳ３２２：ＮＯ）、ステップＳ３３１へ遷移する。
【００４６】
以上のように、プロキシモジュール２１０は、暗号化されたデータの受信、および、受信したデータの送信を行う。また、ペーシング制御モジュール２２０は、プロキシモジュール２１０がデータを送信する速度を制御する。特に、ペーシング制御モジュール２２０は、プロキシモジュール２１０が受信した一連のデータ毎に、当該一連のデータの初回の送信か否かを判定し、初回の送信であると判定すると、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外してプロキシモジュール２１０に送信させる。
これにより、データ伝送装置２００では、プロキシモジュール２１０が受信したデータが暗号化されている場合でも、一連のデータの送信開始時に、一定量の端末装置１００への送信を確保することができ、これによってＱｏＥの向上を図ることができる。
【００４７】
また、ペーシング制御モジュール２２０は、前記プロキシモジュール２１０が受信するデータの量が所定の条件を満たすと、プロキシモジュール２１０のデータ送信速度をペーシングにて制限するペーシングモードから、プロキシモジュール２１０のデータ送信に対するペーシングを行わない非ペーシングモードへ遷移する。
これにより、データ伝送装置２００では、プロキシモジュール２１０の受信データ量が比較的少ない場合には、プロキシモジュール２１０に最大送信速度でデータを送信させることができ、この点において効率的にデータの送信を行うことができる。
【００４８】
また、ペーシング制御モジュール２２０は、ペーシングモードから非ペーシングモードへ遷移した場合、プロキシモジュール２１０が送信すべき一連のデータの少なくとも一部について、当該一連のデータのうち制限解除後送信分とされるデータ（例えば、図３における初期バッファデータ）を送信速度制限対象から除外して前記送信部に送信させる。
これにより、データ伝送装置２００では、一連のデータの送信開始時と同様、送信速度が解除されたときにも、プロキシモジュール２１０が受信したデータが暗号化されている場合でも、一連のデータについて一定量の端末装置１００への送信を確保することができ、これによってＱｏＥの向上を図ることができる。
【００４９】
次に、図５を参照して本発明の最小構成について説明する。
図５は、本発明に係るデータ伝送装置の最小構成を示す概略ブロック図である。同図において、データ伝送装置２１は、受信部２２と、送信部２３と、制御部２４とを備える。
かかる構成において、受信部２２は、暗号化されたデータを受信する。また、送信部２３は、受信部２２が受信したデータを送信する。また、制御部２４は、送信部２３がデータを送信する速度を制御する。
さらに制御部２４は、受信部２２が受信した一連のデータ毎に、当該一連のデータの初回の送信か否かを判定し、初回の送信であると判定すると、当該一連のデータのうち初期送信分とされるデータを送信速度制限対象から除外して送信部２３に送信させる。
これにより、データ伝送装置２１では、受信部２２が受信したデータが暗号化されている場合でも、一連のデータの送信開始時に、一定量のデータの送信（伝送）を確保することができ、これによってＱｏＥの向上を図ることができる。
【００５０】
なお、データ伝送装置２００全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５１】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００５２】
１  通信システム
１００  端末装置
２００  データ伝送装置
２１０  プロキシモジュール
２２０  ペーシング制御モジュール
２２１  データ送受信制御部
２２２  流速指示部
３００  データ提供サーバ装置
【図１】
0006432976.tif 000002
【図２】
0006432976.tif 000003
【図３】
0006432976.tif 000004
【図４】
0006432976.tif 000005
【図５】
0006432976.tif 000006