(57)【特許請求の範囲】
【請求項１】
送信装置から順次反復的に中継サーバに送信されるｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータの一方または両方が含まれる中継ダミーデータを当該中継サーバから受信する中継ダミーデータ受信部と、
前記中継ダミーデータ受信部で１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定を検出するバッファ設定検出部と、
を備える、受信装置。
【請求項２】
前記バッファ設定検出部は、前記第１サイズ値及び前記第２サイズ値が共にｎバイトであった場合、前記中継サーバがデータをバッファリングしないバッファ特性を有するものであることを検出する、請求項１に記載の受信装置。
【請求項３】
前記バッファ設定検出部は、前記第１サイズ値がｎバイトでなく、かつ、前記第２サイズ値がｎバイトであった場合、前記中継サーバが１度だけ所定量のデータをバッファリングするバッファ特性を有するものであることを検出し、
前記第１サイズ値及び前記第２サイズ値がいずれもｎバイトでなかった場合、前記中継サーバが毎回所定量のデータをバッファリングするバッファ特性を有するものであることを検出する、請求項２に記載の受信装置。
【請求項４】
前記バッファ設定検出部は、前記第１サイズ値がｎバイトでなく、かつ、前記第２サイズ値がｎバイトであった場合、前記第１サイズ値を前記中継サーバのバッファサイズとして検出し、
前記第１サイズ値及び前記第２サイズ値がいずれもｎバイトでなかった場合、前記第１サイズ値または前記第２サイズ値を前記中継サーバのバッファサイズとして検出する、請求項１に記載の受信装置。
【請求項５】
前記バッファ設定検出部により検出された前記中継サーバのバッファ設定を前記送信装置に送信するバッファ設定情報送信部をさらに備える、請求項１に記載の受信装置。
【請求項６】
前記送信装置と前記受信装置はＨＴＴＰまたはＨＴＴＰＳで通信し、
前記中継サーバは、ＨＴＴＰプロキシサーバであり、
前記中継ダミーデータは、ＧＥＴレスポンスまたはＰＯＳＴリクエストで送信され、
前記バッファ設定の情報は、前記中継ダミーデータがＰＯＳＴリクエストで送信された場合に、当該ＰＯＳＴリクエストに対するレスポンス情報として前記送信装置に送信される、請求項１に記載の受信装置。
【請求項７】
ｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータを順次反復的に中継サーバに送信するダミーデータ送信部を備え、
前記ダミーデータ送信部は、前記ｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータを順次反復的に送信する度に当該Ｎを動的に変化させる、
送信装置。
【請求項８】
受信装置から通知された前記中継サーバのバッファ設定に応じて、送信データに付加される補償ダミーデータのサイズｄ（ｄ≧０）を決定する補償データサイズ決定部と、
前記補償データサイズ決定部により決定されたサイズｄの補償ダミーデータを送信データに付加して送信するデータ送信部と、
をさらに備える、請求項７に記載の送信装置。
【請求項９】
前記補償データサイズ決定部は、前記中継サーバがバッファリングしないバッファ設定である場合に、前記補償ダミーデータのサイズｄを０に決定する、請求項８に記載の送信装置。
【請求項１０】
前記データ送信部は、前記中継サーバが１度だけバッファリングするバッファ設定である場合に、１度だけ、送信データに補償ダミーデータを付加して送信する、請求項８に記載の送信装置。
【請求項１１】
前記データ送信部は、前記中継サーバが毎回バッファリングするバッファ設定である場合に、毎回、送信データに補償ダミーデータを付加して送信する、請求項８に記載の送信装置。
【請求項１２】
前記受信装置から受信した前記中継サーバのバッファ設定が格納される記憶部をさらに備え、前記記憶部に格納されたバッファ設定に基づいて、前記補償データサイズ決定部での補償ダミーデータのサイズの決定、及び前記データ送信部での送信データへの補償ダミーデータの付加を行う、請求項８に記載の送信装置。
【請求項１３】
前記送信装置と受信装置との通信を中継する中継サーバが変更されたことを検出する検出部をさらに備え、前記検出部での検出結果に基づいて前記ｎバイト及びＮバイトのダミーデータを送信する、請求項７に記載の送信装置。
【請求項１４】
前記検出部は、前記送信装置、前記受信装置又は前記中継サーバのネットワークインターフェースのＵＰ／ＤＯＷＮ若しくはＩＰアドレスの変化をトリガーとして、前記中継サーバが変更されたことを検出する、請求項１３に記載の送信装置。
【請求項１５】
送信装置は、順次反復的にｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータを中継サーバに送信するダミーデータ送信部を備え、
前記中継サーバは、前記送信装置から受信した前記ｎバイト及びＮバイトのダミーデータを、バッファ設定に基づいて中継した中継ダミーデータを受信装置に送信し、
前記受信装置は、前記中継ダミーデータを当該中継サーバから受信する中継ダミーデータ受信部と、前記中継ダミーデータ受信部で１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定を検出するバッファ設定検出部と、を備える、通信システム。
【請求項１６】
送信装置と受信装置との通信を中継する中継サーバのバッファ設定を検出する方法であって、
前記送信装置によって、順次反復的にｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータが前記中継サーバに送信されるダミーデータ送信ステップと、
当該中継サーバによって、前記送信装置から受信された前記ｎバイト及びＮバイトのダミーデータがバッファ設定に基づいて中継されて、中継ダミーデータが送信される中継ダミーデータ送信ステップと、
前記受信装置によって当該中継サーバから前記中継ダミーデータが受信される中継ダミーデータ受信ステップと、
前記受信装置によって、１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定が検出されるバッファ設定検出ステップと、
から構成される、中継サーバのバッファ設定検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置、送信装置、通信システム、および中継サーバのバッファ設定検出方法に関する。
【背景技術】
【０００２】
近年では、ネットワークに接続されたコンピュータ同士が、中継サーバを介して通信を行うことは一般的である。このような通信の多くは、ＨＴＴＰプロトコル等の通信プロトコルを利用して行われ、通信を行うコンピュータは、プロキシサーバを介してデータを送受信する。プロキシサーバは、その設定に基づいて、プロキシサーバ上でデータをバッファリングし、送信装置から送信されたデータを受信装置に中継する。特に、ＨＴＴＰトンネリング等のように送信されるデータ全体のデータサイズが明確でないデータが送信される場合に、バッファリングが発生することがある。
【０００３】
このようなプロキシサーバを介した通信で、音声や映像等の即時性を必要とするデータの送受信が行われる場合もある。その場合、即時性が必要なデータにプロキシサーバのバッファリング容量を充当するデータサイズを有するデータを付加してデータを送信することによって、送信装置から送信された即時性が必要なデータを受信装置で即時に受信することが可能となる。
【０００４】
特許文献１には、送信装置や受信装置等のコンピュータ上でコンピュータが使用するプロキシサーバを自動検出する方法に関する技術が開示されている。
【０００５】
【特許文献１】特表２００５−５２５６５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、プロキシサーバのバッファ設定は、それぞれのプロキシサーバ毎に異なっており、送信装置上でプロキシサーバのバッファ設定を予測することは困難である。したがって、即時性が必要なデータの送信時にデータが受信装置で即時に受信されることを確実とするために、送信装置で付加すべきバッファリング容量を充当するデータサイズを送信装置で予測することも困難である。また、送信装置でプロキシサーバのバッファ設定を予測せず、不要にデータサイズが大きいデータを付加して、即時性が必要なデータを送信すると、ネットワークに不要な負荷をかけ、ネットワーク上で行われる通信に悪影響を及ぼす可能性がある。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ネットワークの負荷を抑えながら即時性の必要なデータを送信することが可能な、新規かつ改良された受信装置、送信装置、通信システム、および中継サーバのバッファ設定検出方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、送信装置から順次反復的に中継サーバに送信されるｎバイト（ｎ≧１）およびＮバイト（Ｎ≧ｎ）のダミーデータの一方または両方が含まれる中継ダミーデータを当該中継サーバから受信する中継ダミーデータ受信部と、前記中継ダミーデータ受信部で１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定を検出するバッファ設定検出部と、を備える、受信装置が提供される。
【０００９】
前記バッファ設定検出部は、前記第１サイズ値および前記第２サイズ値が共にｎバイトであった場合、前記中継サーバがデータをバッファリングしないバッファ特性を有するものであることを検出してもよい。
【００１０】
前記バッファ設定検出部は、前記第１サイズ値がｎバイトでなく、かつ、前記第２サイズ値がｎバイトであった場合、前記中継サーバが１度だけ所定量のデータをバッファリングするバッファ特性を有するものであることを検出し、前記第１サイズ値および前記第２サイズ値がいずれもｎバイトでなかった場合、前記中継サーバが毎回所定量のデータをバッファリングするバッファ特性を有するものであることを検出してもよい。
【００１１】
前記バッファ設定検出部は、前記第１サイズ値がｎバイトでなく、かつ、前記第２サイズ値がｎバイトであった場合、前記第１サイズ値を前記中継サーバのバッファサイズとして検出し、前記第１サイズ値および前記第２サイズ値がいずれもｎバイトでなかった場合、前記第１サイズ値または前記第２サイズ値を前記中継サーバのバッファサイズとして検出してもよい。
【００１２】
受信装置は、前記バッファ設定検出部により検出された前記中継サーバのバッファ設定を前記送信装置に送信するバッファ設定情報送信部をさらに備えてもよい。
【００１３】
前記送信装置と前記受信装置はＨＴＴＰまたはＨＴＴＰＳで通信し、前記中継サーバは、ＨＴＴＰプロキシサーバであり、前記中継ダミーデータは、ＧＥＴレスポンスまたはＰＯＳＴリクエストで送信され、前記バッファ設定の情報は、前記中継ダミーデータがＰＯＳＴリクエストで送信された場合に、当該ＰＯＳＴリクエストに対するレスポンス情報として前記送信装置に送信されてもよい。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、ｎバイト（ｎ≧１）およびＮバイト（Ｎ≧ｎ）のダミーデータを順次反復的に前記中継サーバに送信するダミーデータ送信部を備え、前記ｎバイトおよびＮバイトのダミーデータの一方または両方を含む中継ダミーデータが受信装置に受信され、前記中継ダミーデータのサイズに基づいて前記中継サーバのバッファ設定が検出される、送信装置が提供される。
【００１５】
送信装置は、前記受信装置から通知された前記中継サーバのバッファ設定に応じて、送信データに付加される補償ダミーデータのサイズｄ（ｄ≧０）を決定する補償データサイズ決定部と、前記補償データサイズ決定部により決定されたサイズｄの補償ダミーデータを送信データに付加して送信するデータ送信部と、をさらに備えてもよい。
【００１６】
前記補償データサイズ決定部は、前記中継サーバがバッファリングしないバッファ設定である場合に、前記補償ダミーデータのサイズｄを０に決定してもよい。
【００１７】
前記データ送信部は、前記中継サーバが１度だけバッファリングするバッファ設定である場合に、１度だけ、送信データに補償ダミーデータを付加して送信してもよい。
【００１８】
前記データ送信部は、前記中継サーバが毎回バッファリングするバッファ設定である場合に、毎回、送信データに補償ダミーデータを付加して送信してもよい。
【００１９】
前記ダミーデータ送信部は、前記ｎバイト（ｎ≧１）及びＮバイト（Ｎ≧ｎ）のダミーデータを順次反復的に送信する度に当該Ｎを動的に変化させてもよい。
【００２０】
送信装置は、前記受信装置から受信した前記中継サーバのバッファ設定が格納される記憶部をさらに備え、前記記憶部に格納されたバッファ設定に基づいて、前記補償データサイズ決定部での補償ダミーデータのサイズの決定、および前記データ送信部での送信データへの補償ダミーデータの付加を行ってもよい。
【００２１】
送信装置は、前記送信装置と前記受信装置との通信を中継する中継サーバが変更されたことを検出する検出部をさらに備え、前記検出部での検出結果に基づいて前記ｎバイトおよびＮバイトのダミーデータを送信してもよい。
【００２２】
前記検出部は、前記送信装置のネットワークインターフェースのＵＰ／ＤＯＷＮ、または前記送信装置のＩＰアドレスの変化をトリガーとして、前記中継サーバが変更されたことを検出してもよい。
【００２３】
また、上記課題を解決するために、本発明のさらなる別の観点によれば、送信装置は、順次反復的にｎバイト（ｎ≧１）およびＮバイト（Ｎ≧ｎ）のダミーデータを中継サーバに送信するダミーデータ送信部を備え、前記中継サーバは、前記送信装置から受信した前記ｎバイトおよびＮバイトのダミーデータを、バッファ設定に基づいて中継した中継ダミーデータを受信装置に送信し、前記受信装置は、前記中継ダミーデータを当該中継サーバから受信する中継ダミーデータ受信部と、前記中継ダミーデータ受信部で１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定を検出するバッファ設定検出部と、を備える、通信システムが提供される。
【００２４】
また、上記課題を解決するために、本発明のさらなる別の観点によれば、送信装置と受信装置との通信を中継する中継サーバのバッファ設定を検出する方法であって、前記送信装置によって、順次反復的にｎバイト（ｎ≧１）およびＮバイト（Ｎ≧ｎ）のダミーデータが前記中継サーバに送信されるダミーデータ送信ステップと、当該中継サーバによって、前記送信装置から受信された前記ｎバイトおよびＮバイトのダミーデータがバッファ設定に基づいて中継されて、中継ダミーデータが送信される中継ダミーデータ送信ステップと、前記受信装置によって当該中継サーバから前記中継ダミーデータが受信される中継ダミーデータ受信ステップと、前記受信装置によって、１度目に受信された中継ダミーデータのデータサイズを示す第１サイズ値と、２度目または３度目に受信された中継ダミーデータのうち大きくない方の中継ダミーデータサイズを示す第２サイズ値と、に基づいて前記中継サーバのバッファ設定が検出されるバッファ設定検出ステップと、から構成される、中継サーバのバッファ設定検出方法が提供される。
【発明の効果】
【００２５】
以上説明したように本発明によれば、ネットワークの負荷を抑えながら即時性の必要なデータを送信することが可能な、新規かつ改良された受信装置、送信装置、通信システム、および中継サーバのバッファ設定検出方法が提供される。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２７】
（第１の実施形態）
（ネットワーク構成の説明）
まず、本発明の第１実施形態にかかるネットワーク構成について説明する。図１には、本発明の第１実施形態にかかるネットワーク構成図が示されている。本実施形態にかかる送信装置１００は、中継サーバのバッファ設定を検出するために、ｎバイト（ｎ≧１）のダミーデータおよびＮバイト（Ｎ≧ｎ）のダミーデータを順次反復的に中継サーバの一例であるプロキシサーバ２０に送信する。送信装置１００は、プロキシサーバ２０を介して、コンピュータネットワークの一例であるインターネット１０に接続されている。
【００２８】
（バッファ設定の定義）
ここで、バッファ設定は、バッファ特性とバッファサイズを含む。バッファ特性とは、中継サーバがデータを中継する時のバッファリング動作の特性のことであり、バッファサイズとは、中継サーバ上でバッファリングされるデータサイズのことである。
【００２９】
本実施形態にかかる受信装置２００は、中継ダミーデータをプロキシサーバ２０から受信し、そのプロキシサーバ２０のバッファ設定を検出する。中継ダミーデータは、送信装置から順次反復的に送信されたｎバイトのダミーデータおよびＮバイトのダミーデータがプロキシサーバ２０で中継された結果、受信装置に送信されるダミーデータのことである。受信装置２００は、インターネット１０を介してプロキシサーバ２０と接続されている。
【００３０】
プロキシサーバ２０は、中継サーバの一例であり、送信装置１００と受信装置２００との通信を中継する。すなわち、送信装置１００から送信されたデータは、プロキシサーバ２０を介して受信装置２００で受信される。送信装置１００から送信されたｎバイトのダミーデータおよびＮバイトのダミーデータは、プロキシサーバ２０で中継され、中継された結果の中継ダミーデータが受信装置２００で受信される。プロキシサーバ２０は、送信装置１００とコンピュータネットワークの一例であるインターネット１０とに接続されている。
【００３１】
図１では、送信装置１００はホームネットワーク３０内に存在し、受信装置２００はホームネットワーク４０内に存在している。しかし、送信装置１００および受信装置２００は、同じホームネットワーク（例えば、ホームネットワーク３０）内に存在してもよい。また、本実施形態では、送信装置１００と受信装置２００とを２つの装置として説明しているが、送信装置１００および受信装置２００は、１つの通信装置内に含まれていてもよい。
【００３２】
送信装置１００および受信装置２００は、パーソナルコンピュータ、携帯電話、ＰＤＡ、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）に対応した情報家電やＡＶ機器等のＨＴＴＰ通信可能なあらゆるコンピュータでありうる。プロキシサーバ２０は、ＨＴＴＰプロトコルを用いた通信を中継するＨＴＴＰプロキシサーバであってもよい。
【００３３】
（プロキシのバッファ特性の説明）
プロキシサーバ２０は、そのバッファ特性に基づいて、複数のタイプに分類される。前述の複数のタイプは、データをバッファリングしないバッファ特性を有するプロキシサーバ、１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバ、および、毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバを含む。それぞれのタイプのプロキシサーバがデータを中継する動作について、図２〜図４を参照して以下で説明する。
【００３４】
（バッファリングしないバッファ特性）
図２は、データをバッファリングしないバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。まず、送信装置１００から３バイトのデータ３０２ａが送信される（Ｓ３５０）と、プロキシサーバ２０は即時にデータを中継し、中継されたデータ３０２ｂを受信装置２００に送信する（Ｓ３５１）。次に、７バイトのデータ３０４ａが送信された（Ｓ３５２）場合も、同様に、プロキシサーバ２０は即時にデータを中継し、中継されたデータ３０４ｂを受信装置２００に送信する（Ｓ３５３）。同様に、後続の２バイトのデータ３０６ａ、１バイトのデータ３０８ａが送信装置１００から送信される（Ｓ３５４およびＳ３５６）と、これらのデータはプロキシサーバ２０によって即座に中継され（Ｓ３５５およびＳ３５７）、中継されたデータ３０６ｂおよび３０８ｂが受信装置２００で受信される。
【００３５】
（１度だけバッファリングするバッファ特性）
図３は、１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。図３には、例として、バッファサイズが１０バイトであるプロキシサーバ２０が示されている。まず、送信装置１００から３バイトのデータ３０２ａが送信される（Ｓ３６０）と、データ３０２ａはプロキシサーバ２０で受信され、バッファリングされる（Ｓ３６１）。次に、７バイトのデータ３０４ａが送信装置１００から送信される（Ｓ３６２）と、データ３０４ａはプロキシサーバ２０で受信されてバッファリングされる（Ｓ３６３）。このとき、プロキシサーバ２０上でバッファリングされたデータは合計１０バイトとなり、バッファリングされていたデータ３０２ａおよびデータ３０４ａは１０バイトのデータ３１０としてプロキシサーバ２０から受信装置２００に送信される（Ｓ３６４）。
【００３６】
次に、２バイトのデータ３０６ａが送信装置１００から送信される（Ｓ３６５）と、プロキシサーバ２０は即時にデータを中継し、中継されたデータ３０６ｂを受信装置２００に送信する（Ｓ３６６）。同様に、その後、１バイトのデータ３０８ａが送信装置１００から送信される（Ｓ３６７）と、プロキシサーバ２０は即時にデータを中継し、中継されたデータ３０８ｂを受信装置２００に送信する（Ｓ３６８）。このように、１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバは、１度バッファサイズ以上のデータがバッファリングされると、その後はバッファサイズより小さいデータサイズを有するデータを中継する場合も、バッファリングせずに即時にデータを中継する。
【００３７】
（毎回バッファリングするバッファ特性）
図４は、毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。図４には、例として、バッファサイズが１０バイトであるプロキシサーバ２０が示されている。まず、送信装置１００から３バイトのデータ３０２ａが送信される（Ｓ３７０）と、データ３０２ａはプロキシサーバ２０で受信され、バッファリングされる（Ｓ３７１）。次に、７バイトのデータ３０４ａが送信装置１００から送信される（Ｓ３７２）と、データ３０４ａはプロキシサーバ２０で受信されてバッファリングされる（Ｓ３７３）。このとき、プロキシサーバ２０上でバッファリングされたデータは合計１０バイトとなり、バッファリングされていたデータ３０２ａおよびデータ３０４ａは１０バイトのデータ３２０としてプロキシサーバ２０から受信装置２００に送信される（Ｓ３７４）。
【００３８】
次に、２バイトのデータ３０６ａ、１バイトのデータ３０８ａ、７バイトのデータ３１０ａが順次送信装置１００から送信される（Ｓ３７５、Ｓ３７７、およびＳ３７９）と、前述と同様、データ３０６ａ、データ３０８ａ、およびデータ３１０ａはプロキシサーバ２０で受信されてバッファリングされる（Ｓ３７６、Ｓ３７８、およびＳ３８０）。このとき、プロキシサーバ２０上でバッファリングされたデータは合計１０バイトとなり、バッファリングされていたデータ３０６ａ、データ３０８ａ、およびデータ３１０ａは１０バイトのデータ３２２としてプロキシサーバから受信装置２００に送信される（Ｓ３８１）。
【００３９】
（送信装置の説明）
次に、図２〜図４を参照して説明されたプロキシサーバ２０のバッファ設定を検出するための送信装置１００について説明する。図５は、本実施形態にかかる送信装置の機能ブロック図である。送信装置１００は、プロキシサーバ存在判定部１０２、ダミーデータ送信部１１０、バッファ設定受信部１２０、データ送信部１３０、送信装置記憶部１４０、検出部１５０、および補償データサイズ決定部１６０から構成される。
【００４０】
（プロキシサーバ存在判定部１０２）
プロキシサーバ存在判定部１０２は、本実施形態のバッファ設定検出を行うために必要な前処理を行う。より詳細には、プロキシサーバ存在判定部１０２は、送信装置１００から受信装置２００へのデータの送信時に利用するプロキシサーバ２０を決定し、決定されたプロキシサーバ２０を介して受信装置２００とコネクションを確立する。
【００４１】
まず、プロキシサーバ存在判定部１０２は、送信装置１００に設定されているプロキシサーバの情報を取得する。本実施形態では、送信装置１００には、プロキシサーバ２０が設定されている。次に、プロキシサーバ２０を利用して受信装置２００とのコネクションを確立する処理と、プロキシサーバ２０を利用せずに受信装置２００とのコネクションを確立する処理とを同時に試行する。また、送信装置１００に複数のプロキシサーバが設定されている場合は、設定されている各プロキシサーバを利用して受信装置２００とのコネクションを確立する処理を同時に試行する。その後、試行の結果確立されたコネクションを利用して、後述されるダミーデータ送信部１１０での処理を行う。試行の結果、使用可能なコネクションが複数確立された場合は、直接接続のコネクションを優先して利用する。また、直接接続でない複数の使用可能なコネクションが確立された場合は、最も応答が早かったプロキシサーバを介して確立されたコネクションを優先して利用する。前述のように、設定された複数のプロキシサーバに対して、または、設定されたプロキシサーバを利用する場合と利用しない場合とで、同時にコネクションの確立を試行することによって、使用できるコネクションの確立に要する時間を短縮することができる。
【００４２】
また、プロキシサーバ存在判定部１０２は、プロキシサーバ２０のバッファ設定以外の性質の調査も行う。プロキシサーバのバッファ設定以外の性質は、チャンク形式のデータの中継可否、および、中継可能な最大データ長等を含む。チャンク形式のデータの中継可否を調査することにより、ＨＴＴＰトンネリング等、データ送信量の合計値が不明なデータを送信することが可能となる。チャンク形式のデータの中継が可能であれば、データ送信量の合計値が不明なデータはチャンク形式で送信装置１００から送信される。チャンク形式のデータの中継が不可能な場合、データ送信量の合計値が不明なデータは、プロキシサーバ存在判定部１０２で決定された中継可能な最大データ長に区切られて、送信装置１００から送信される。
【００４３】
（ダミーデータ送信部１１０）
次に、ダミーデータ送信部１１０の説明を行う。ダミーデータ送信部１１０は、プロキシサーバ２０のバッファ設定を検出するために、ｎバイトのダミーデータ（ｎ≧１）とＮバイトのダミーデータ（Ｎ≧ｎ）とを、所定の時間間隔Ｘ秒ごとに、順次反復的にプロキシサーバ２０を介して受信装置２００に送信する機能部である。また、ダミーデータ送信部１１０は、プロキシサーバ存在判定部１０２で確立されたコネクションを使用して、ｎバイトおよびＮバイトのダミーデータを送信する。ここで、ｎおよびＮは整数であり、本実施形態では、ｎは１バイトであり、Ｎは１キロバイト〜１０キロバイトの範囲の固定値である。したがって、本実施形態では、ダミーデータ送信部１１０から、１バイトのダミーデータ、Ｎバイトのダミーデータ、１バイトのダミーデータ、Ｎバイトのダミーデータ、・・・・という順でＸ秒ごとにダミーデータが送信される。
【００４４】
（ｎおよびＮの値）
本実施形態では、ダミーデータのデータサイズＮは、１キロバイト〜１０キロバイトとしたが、Ｎは、Ｎ≧ｎの任意の値でありうる。例えば、ダミーデータのデータサイズｎが１バイトの場合、ダミーデータのデータサイズＮは１バイトであってもよいし、１０メガバイトであってもよい。Ｎの値が小さければ小さいほど正確なバッファサイズが検出されるが、バッファ設定の検出には時間を要する。逆に、Ｎの値が大きければ大きいほどバッファ設定の検出に要する時間は短縮されるが、検出されるバッファサイズは正確でなくなる。
【００４５】
（Ｎが可変の場合）
また、ダミーデータのデータサイズＮは、ｎバイトおよびＮバイトのダミーデータが順次反復的に送信される間に動的に変化されてもよい。例えば、ダミーデータのデータサイズｎが１バイトの場合、ダミーデータのデータサイズＮは、１度目に送信されるときに１バイトであり、２度目に送信されるときには２バイトであり、３度目に送信されるときには４バイトであり、以降、送信ごとにＮが２倍となってもよい。この場合、１バイトのダミーデータ、１バイトのダミーデータ、１バイトのダミーデータ、２バイトのダミーデータ、１バイトのダミーデータ、４バイトのダミーデータ、・・・、という順でダミーデータ送信部１１０からデータが送信される。この場合、Ｎを１バイトに固定したときよりもバッファ設定の検出に要する時間は短縮され、Ｎを非常に大きな値（例えば、１０メガバイト）に固定したときよりも検出されるバッファサイズは正確になる。
【００４６】
前述では、Ｎの値を送信ごとに２倍に増加しながらダミーデータの送信を行う例を示したが、Ｎの変化のさせ方は、これに限定されるものではない。例えば、Ｎは１度目の送信時には１０バイトであって、前回送信されたＮの値に１０バイトが加えられても良い。また、Ｎは１度目の送信時には５キロバイトであり、送信ごとにＮの値が１／２倍されてもよい。前述されたように、ダミーデータのデータサイズＮを、動的に変化させながら送信し、その変化のさせ方を調整することによって、バッファ設定の検出時間と正確さを調整することが可能となる。
【００４７】
（所定の時間間隔Ｘ）
また、ダミーデータ送信部からデータが送信される送信間隔Ｘは、送信装置１００とプロキシサーバ２０との間の往復遅延時間（ＲＴＴ：Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）と、受信装置２００とプロキシサーバ２０との間の往復遅延時間との合計より大きい値である必要がある。送信間隔Ｘは、送信装置１００とプロキシサーバ２０との間の往復遅延時間と、受信装置２００とプロキシサーバ２０との間の往復遅延時間との合計より十分に大きい値であることが、より好ましい。このことは、プロキシサーバ２０のバッファリング以外の原因で、ダミーデータ送信部１１０から送信されたｎバイトおよびＮバイトのダミーデータがネットワーク上で結合されることを避けるために必要である。
【００４８】
最適な送信間隔Ｘは、例えば、プロキシサーバ２０を介して送信装置１００から受信装置２００にデータを送信したときの受信装置２００からの応答時間を測定することによって決定されてもよい。この場合、送信されるデータは、プロキシサーバによってバッファリングされないことが分かっているデータである必要がある。前述のようなデータは、ヘッダに「ｃｏｎｔｅｎｔ  ｌｅｎｇｔｈ」の情報が書き込まれたＰＯＳＴリクエストであってもよい。受信装置２００は、このＰＯＳＴリクエストを受信すると、受信されたＰＯＳＴリクエストに対するレスポンスを送信装置１００に送信する。送信装置１００は、前述のＰＯＳＴリクエストを送信してから、そのＰＯＳＴリクエストに対するレスポンスを受信するまでの時間を測定し、ダミーデータ送信部１１０での送信間隔Ｘを決定することができる。
【００４９】
（バッファ設定受信部１２０）
バッファ設定受信部１２０は、受信装置２００で検出されたバッファ設定の情報を受信装置２００からプロキシサーバ２０を介して受信する。バッファ設定受信部１２０は、バッファ設定識別部１２２を備える。バッファ設定識別部１２２は、受信されたバッファ設定の情報が、データをバッファリングしないバッファ特性、１度だけ所定量のデータをバッファリングするバッファ特性、および、毎回所定量のデータをバッファリングするバッファ特性のうちいずれを示すものであるかを識別する。また、バッファ設定識別部１２２は、バッファサイズも識別する。
【００５０】
バッファ設定受信部１２０で受信されたバッファ設定の情報は、補償データサイズ決定部１６０での補償ダミーデータのデータサイズの決定に用いられる。前述のバッファ設定の情報は、データ送信部１３０での補償ダミーデータを付加するタイミングの決定にも用いられる。また、バッファ設定受信部１２０で受信されたバッファ設定は、送信装置記憶部１４０に格納され、格納されたバッファ設定が、補償データサイズ決定部１６０およびデータ送信部１３０での処理に用いられてもよい。
【００５１】
（補償データサイズ決定部１６０）
補償データサイズ決定部１６０は、バッファ設定受信部１２０で受信されたバッファサイズに基づいて、補償ダミーデータのデータサイズｄを決定する。補償ダミーデータは、即時性が必要なデータの送信時にデータが受信装置２００で即時に受信されることを確実にするためにデータに付加される、バッファリング容量を充当するデータサイズを有するデータのことである。補償データサイズ決定部１６０で決定された補償ダミーデータのデータサイズｄに基づいて、補償ダミーデータはデータ送信部１３０で送信データに付加される。
【００５２】
バッファ設定受信部１２０で受信されたバッファ特性が、データをバッファリングしないバッファ特性である場合、補償データサイズ決定部１６０は、補償ダミーデータのデータサイズｄを０に決定する。バッファ設定受信部１２０で受信されたバッファ特性が、データを１度だけバッファリングするバッファ特性、またはデータを毎回バッファリングするバッファ特性である場合、補償データサイズ決定部１６０は、バッファ設定受信部１２０で受信されたバッファサイズに基づいて補償ダミーデータのデータサイズｄを決定する。
【００５３】
前述では、バッファ設定受信部１２０で受信されたバッファ設定の情報に基づいて補償データサイズ決定部１６０での処理を行う場合について説明したが、補償データサイズ決定部１６０で用いられるバッファ設定の情報は、送信装置記憶部１４０に格納されたものであってもよい。
【００５４】
（データ送信部１３０）
データ送信部１３０は、即時性が必要なデータを送信する場合、バッファ設定受信部１２０で受信されたバッファ設定の情報に含まれるバッファ特性に基づいて、補償ダミーデータを付加してデータを送信する。バッファ設定受信部１２０で受信されたバッファ特性が、データをバッファリングしないバッファ特性である場合、データ送信部１３０は、補償ダミーデータを付加せずに、即時性が必要なデータを送信する。
【００５５】
一方、バッファ設定受信部１２０で受信されたバッファ特性が、１度だけ所定量のデータをバッファリングするバッファ特性であった場合、データ送信部１３０は、補償データサイズ決定部１６０で決定されたデータサイズを有する補償ダミーデータを、送信データに１度だけ付加して、即時性が必要なデータを送信する。バッファ設定受信部１２０で受信されたバッファ特性が、毎回所定量のデータをバッファリングするバッファ特性であった場合、データ送信部１３０は、補償データサイズ決定部１６０で決定されたデータサイズを有する補償ダミーデータを、即時性が必要なデータの送信ごとに付加して、データを送信する。
【００５６】
このように、バッファ特性に基づいて補償ダミーデータを付加することによって、補償ダミーデータが付加されることによるネットワーク負荷を低下させることができる。前述では、バッファ設定受信部１２０で受信されたバッファ設定の情報に基づいてデータ送信部１３０での処理を行う場合について説明したが、データ送信部１３０で用いられるバッファ設定の情報は、送信装置記憶部１４０に格納されたものであってもよい。
【００５７】
（送信装置記憶部１４０）
送信装置記憶部１４０は、バッファ設定受信部１２０で受信されたバッファ設定を格納する。送信装置記憶部１４０に格納されたバッファ設定の情報は、補償データサイズ決定部１６０で補償ダミーデータのデータサイズｄを決定するために用いられる。また、送信装置記憶部１４０に格納されたバッファ設定の情報は、データ送信部１３０での、即時性が必要なデータへの補償ダミーデータの付加にも用いられる。
【００５８】
（検出部１５０）
検出部１５０は、送信装置１００と受信装置２００との通信を中継するプロキシサーバ２０が変更されたことを検出する。プロキシサーバ２０の変更は、例えば、送信装置１００、プロキシサーバ２０、および受信装置２００のうち少なくともいずれかのネットワークインターフェースのＵＰ／ＤＯＷＮ、またはＩＰアドレスの変化をトリガーとして検出されてもよい。検出部１５０で変化が検出されると、プロキシサーバ存在判定部１０２でコネクションが確立され、ダミーデータ送信部１１０からｎバイトおよびＮバイトのダミーデータが送信される。
【００５９】
（受信装置の説明）
次に、プロキシサーバのバッファ設定を検出するための受信装置２００について説明する。図６は、本実施形態にかかる受信装置の機能ブロック図である。受信装置２００は、中継ダミーデータ受信部２１０、バッファ設定検出部２２０、受信装置記憶部２３０、およびバッファ設定情報送信部２４０から構成される。
【００６０】
（中継ダミーデータ受信部２１０）
中継ダミーデータ受信部２１０は、中継ダミーデータを、プロキシサーバ２０から受信する機能部である。中継ダミーデータは、プロキシサーバ２０のバッファ設定を検出するために送信装置１００から送信されたｎバイトおよびＮバイトのダミーデータがプロキシサーバ２０で中継された結果、受信装置２００に送信されるダミーデータである。中継ダミーデータ受信部２１０で受信された中継ダミーデータは、バッファ設定検出部２２０でのバッファ設定の検出に用いられる。
【００６１】
（バッファ設定検出部２２０）
バッファ設定検出部２２０は、中継ダミーデータ受信部２１０で受信された中継ダミーデータに基づいて、プロキシサーバ２０のバッファ設定を検出する。中継ダミーデータは、中継ダミーデータ受信部２１０で受信され、受信装置記憶部２３０に格納された中継ダミーデータであってもよい。バッファ設定検出部２２０は、バッファ特性検出部２２２およびバッファサイズ検出部２２４を備える。バッファ特性検出部２２２は、プロキシサーバ２０のバッファ特性を検出する。バッファサイズ検出部２２４は、プロキシサーバ２０のバッファサイズを検出する。バッファ設定検出部２２０で検出されたバッファ設定の情報は、バッファ設定情報送信部２４０から送信装置に送信される。また、バッファ設定検出部２２０で検出されたバッファ設定の情報は、受信装置記憶部２３０に格納され、格納されたバッファ設定の情報がバッファ設定情報送信部２４０から送信されてもよい。
【００６２】
（バッファ設定検出部処理詳細：第１サイズ値および第２サイズ値の検出）
バッファ設定検出部２２０に関して、以下でさらに詳細に説明する。まず、バッファ設定検出部２２０は、中継ダミーデータ受信部２１０で１度目に受信された中継ダミーデータ（以下、第１中継ダミーデータと称す）のデータサイズである第１サイズ値を検出する。次いで、バッファ設定検出部は、中継ダミーデータ受信部２１０で２度目に受信された中継ダミーデータ（以下、第２中継ダミーデータと称す）のデータサイズと３度目に受信された中継ダミーデータ（以下、第３中継ダミーデータと称す）のデータサイズとを比較する。比較の結果、第２中継ダミーデータと第３中継ダミーデータのデータサイズが異なれば、双方のデータサイズのうちで小さいほうのデータサイズを第２サイズ値として検出する。比較の結果、第２中継ダミーデータと第３中継ダミーデータのデータサイズが等しければ、そのデータサイズを第２サイズ値として検出する。
【００６３】
（バッファ設定検出部処理詳細：バッファ特性の検出）
その後、バッファ特性検出部で第１サイズ値と第２サイズ値とを比較し、バッファ特性を検出する。より詳細には、第１サイズ値および第２サイズ値が共に１バイトであった場合、データをバッファリングしないバッファ特性を検出する。また、第１サイズ値が１バイトでなく第２サイズ値が１バイトであった場合、１度だけ所定量のデータをバッファリングするバッファ特性を検出する。さらに、第１サイズ値および第２サイズ値がいずれも１バイトでなかった場合、毎回所定量のデータをバッファリングするバッファ特性を検出する。
【００６４】
（バッファ設定検出部処理詳細：バッファサイズの検出）
一方、バッファサイズ検出部では、第１サイズ値と第２サイズ値とを比較し、バッファサイズを検出する。より詳細には、第１サイズ値および第２サイズ値が共に１バイトであった場合、バッファサイズを検出しないか、または、バッファサイズを０と検出する。また、第１サイズ値が１バイトでなく第２サイズ値が１バイトであった場合、第１サイズ値をバッファサイズとして検出する。さらに、第１サイズ値および第２サイズ値がいずれも１バイトでなかった場合、第１サイズ値または第２サイズ値をバッファサイズとして検出する。このとき、第１サイズ値と第２サイズ値は等しくなる。
【００６５】
（シーケンスの説明１：バッファリングしない場合）
以下では、図１１〜図１３を参照しながら、バッファ設定検出部２２０での処理に関してより詳細に説明する。図１１には、データをバッファリングしないバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図が示されている。図１１では、ＨＴＴＰ  ＰＯＳＴリクエストを利用してｎバイトおよびＮバイトのダミーデータを送信している。まず、送信装置１００から送信された（Ｓ８４０）ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ａが、プロキシサーバで中継されて（Ｓ８４１）、ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ｂが受信装置２００で受信される。次に、１バイトのダミーデータ８０４ａ、Ｎバイトのダミーデータ８０６ａ、および１バイトのダミーデータ８０８ａが所定の時間間Ｘ秒ごとに送信装置１００から送信される（Ｓ８４２、Ｓ８４５、およびＳ８４８）。この場合、プロキシサーバは、データをバッファリングしないバッファ特性を有するので、ダミーデータ８０４ａは、即時にプロキシサーバ２０で中継され（Ｓ８４３）、中継ダミーデータ８０４ｂが受信装置２００で受信される（Ｓ８４４）。ダミーデータ８０６ａおよびダミーデータ８０８ａに関しても同様に、即時にプロキシサーバ２０で中継された（Ｓ８４６およびＳ８４９）中継ダミーデータ８０６ｂおよび中継ダミーデータ８０８ｂが受信装置２００で受信される（Ｓ８４７およびＳ８５０）。
【００６６】
したがって、バッファ設定検出部２２０で検出される第１サイズ値は、中継ダミーデータ８０４ｂのデータサイズであり、１バイトである。一方、中継ダミーデータ８０６ｂのデータサイズ（Ｎバイト）が中継ダミーデータ８０８ｂのデータサイズ（１バイト）より大きいので、バッファ設定検出部２２０で検出される第２サイズ値は、中継ダミーデータ８０８ｂのデータサイズであり、１バイトである。このように、第１サイズ値および第２サイズ値が共に１バイトであれば、プロキシサーバ２０は、データをバッファリングしないバッファ特性を有する。
【００６７】
（シーケンスの説明２：１度だけバッファリングするバッファ特性）
次に、図１２には、１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図が示されている。図１２に例示されたプロキシサーバ２０は、Ｎ＋５バイトのバッファサイズを有する。図１２では、ＨＴＴＰ  ＰＯＳＴリクエストを利用してｎバイトおよびＮバイトのダミーデータを送信している。まず、図１１で説明されたのと同様、送信装置１００から送信された（Ｓ８５１）ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ａが、プロキシサーバ２０で中継されて（Ｓ８５２）、ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ｂが受信装置２００で受信される。次に、１バイトのダミーデータ８０４ａ、Ｎバイトのダミーデータ８０６ａ、１バイトのダミーデータ８０８ａ、Ｎバイトのダミーデータ８１０ａ、１バイトのダミーデータ８１２ａ、およびＮバイトのダミーデータ８１４ａが所定の時間間Ｘ秒ごとに送信装置１００から送信される（Ｓ８５３、Ｓ８５５、Ｓ８５７、Ｓ８５９、Ｓ８６３、およびＳ８６５）。
【００６８】
図１２に示されたプロキシサーバ２０は、１度だけ所定量のデータをバッファリングするバッファ特性を有し、バッファサイズはＮ＋５バイトであるので、送信装置１００から送信されたｎバイトおよびＮバイトのダミーデータは、それらのデータサイズの合計がＮ＋５バイト以上になるまでプロキシサーバ２０上でバッファリングされる。したがって、ダミーデータ８０４ａからダミーデータ８０８ａまでのデータは、プロキシサーバ２０で受信された後、プロキシサーバ２０上でバッファリングされる（Ｓ８５４、Ｓ８５６、およびＳ８５８）。このとき、プロキシサーバ２０上でバッファリングされているデータサイズはＮ＋２バイトである。プロキシサーバ２０がダミーデータ８１０ａを受信すると、ダミーデータ８１０ａはプロキシサーバ２０上でバッファリングされる（Ｓ８６０）。このとき、プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計が２Ｎ＋２バイトとなる。本実施形態では、Ｎは１キロバイト〜１０キロバイトの範囲であるので、プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計は、プロキシサーバ２０のバッファサイズ以上（２Ｎ＋２＞Ｎ＋５）となる。したがって、プロキシサーバ２０から２Ｎ＋２バイトのデータサイズを有する中継ダミーデータ８２０が送信され（Ｓ８６１）、受信装置２００で受信される（Ｓ８６２）。
【００６９】
次いで、プロキシサーバ２０は、バッファリングしたデータを受信装置２００に送信した後に、送信装置１００から送信された（Ｓ８６３）ダミーデータ８１２ａを受信する。プロキシサーバ２０は、１度だけ所定量のデータをバッファリングするバッファ特性を有するので、ダミーデータ８１２ａは、プロキシサーバ２０で即時に中継され（Ｓ８６４）、中継ダミーデータ８１２ｂが受信装置２００で受信される（Ｓ８６５）。同様に、送信装置１００から送信された（Ｓ８６６）ダミーデータ８１４ａも、プロキシサーバ２０で即時に中継され（Ｓ８６７）、中継ダミーデータ８１４ｂが受信装置２００で受信される（Ｓ８６８）。
【００７０】
したがって、バッファ設定検出部２２０で検出される第１サイズ値は、中継ダミーデータ８２０のデータサイズであり、２Ｎ＋２バイトである。一方、中継ダミーデータ８１２ｂのデータサイズ（１バイト）が中継ダミーデータ８１４ｂのデータサイズ（Ｎバイト）より小さいので、バッファ設定検出部２２０で検出される第２サイズ値は、中継ダミーデータ８１２ｂのデータサイズであり、１バイトである。このように、第１サイズ値が１バイトでなく第２サイズ値が１バイトであれば、プロキシサーバ２０は、１度だけ所定量のデータをバッファリングするバッファ特性を有する。
【００７１】
ここで、前述された１度だけ所定量のデータをバッファリングするバッファ特性の検出に関して、さらに一般化して説明する。プロキシサーバ２０のバッファサイズを（ａ＊Ｎ）＋ｂとし、ａ≧０、ｂ≧０とする。また、送信装置１００からのダミーデータの送信回数をｚ、ｚ≧０とする。以下では、送信装置１００からｚ回目に送信されたＮバイトのダミーデータをプロキシサーバ２０で受信した時点でプロキシサーバ２０のバッファサイズを超える場合と、送信装置１００からｚ回目に送信された１バイトのダミーデータをプロキシサーバ２０で受信した時点でプロキシサーバ２０のバッファサイズを超える場合とについて説明する。
【００７２】
まず、送信装置１００からｚ回目に送信されたＮバイトのダミーデータをプロキシサーバ２０で受信した時点でプロキシサーバ２０のバッファサイズを超える場合について説明する。ｚ回目に送信されたＮバイトのダミーデータがプロキシサーバ２０で受信されたた時点では、１バイトのダミーデータはｚ回、Ｎバイトのダミーデータはｚ回プロキシサーバ２０で受信されている。したがって、プロキシサーバ２０上でバッファリングされているデータサイズは、以下の式（１）に示されるデータサイズとなる。
【００７３】
【数１】
0004525780.tif 000002
【００７４】
そのため、受信装置２００で１度目に受信される中継ダミーデータのデータサイズも式（１）に示されたデータサイズとなる。その後、送信装置１００からは、続けて１バイトのダミーデータが送信される。プロキシサーバ２０は、１度だけ所定量のデータをバッファリングするバッファ特性を有するので、このダミーデータはプロキシサーバ２０で即時に中継され、１バイトの中継ダミーデータが受信装置２００で受信される。続けて、送信装置１００からは、Ｎバイトのダミーデータが送信される。このダミーデータも、前述と同様、プロキシサーバ２０で即時に中継され、Ｎバイトの中継ダミーデータが受信装置２００で受信される。したがって、受信装置２００では、ｚ＋（ｚ＊Ｎ）バイト、１バイト、Ｎバイトの順に中継ダミーデータを受信する。これより、バッファ設定検出部２２０で検出される第１サイズ値はｚ＋（ｚ＊Ｎ）バイトとなり、第２サイズ値は１バイトとなる。すなわち、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトとなる。
【００７５】
次に、送信装置１００からｚ回目に送信された１バイトのダミーデータをプロキシサーバ２０で受信した時点でプロキシサーバ２０のバッファサイズを超える場合について説明する。ｚ回目に送信された１バイトのダミーデータがプロキシサーバ２０で受信されたた時点では、１バイトのダミーデータはｚ回、Ｎバイトのダミーデータは（ｚ−１）回プロキシサーバ２０で受信されている。したがって、プロキシサーバ２０上でバッファリングされているデータサイズは、以下の式（２）に示されるデータサイズとなる。
【００７６】
【数２】
0004525780.tif 000003
【００７７】
そのため、受信装置２００で１度目に受信される中継ダミーデータのデータサイズも式（２）に示されたデータサイズとなる。その後、送信装置１００からは、続けてＮバイトのダミーデータが送信される。プロキシサーバ２０は、１度だけ所定量のデータをバッファリングするバッファ特性を有するので、このダミーデータはプロキシサーバ２０で即時に中継され、Ｎバイトの中継ダミーデータが受信装置２００で受信される。続けて、送信装置１００からは、１バイトのダミーデータが送信される。このダミーデータも、前述と同様、プロキシサーバ２０で即時に中継され、１バイトの中継ダミーデータが受信装置２００で受信される。したがって、受信装置２００では、ｚ＋（ｚ−１）＊Ｎバイト、Ｎバイト、１バイトの順に中継ダミーデータを受信する。これより、バッファ設定検出部２２０で検出される第１サイズ値はｚ＋（ｚ−１）＊Ｎバイトとなり、第２サイズ値は１バイトとなる。すなわち、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトとなる。
【００７８】
以上より、第１サイズ値が１でなく、かつ、第２サイズ値が１であれば、プロキシサーバ２０のバッファサイズおよびダミーデータの送信回数に依存せず、１度だけ所定量のデータをバッファリングするバッファ特性を検出できることがわかる。また、第１サイズ値は、実際のプロキシサーバ２０のバッファサイズより大きくなることも分かる。したがって、第１サイズ値をバッファサイズとして検出し、これに基づいて送信装置１００での補償ダミーデータが付加されてデータが送信されることによって、データがプロキシサーバ２０で即時に中継されることが確実となる。ここで、第１サイズ値はＮの値に依存しており、プロキシサーバ２０の実際のバッファサイズ（ａ＊Ｎ）＋ｂとは正確には一致しない。しかし、前述で説明されたように、Ｎの値は必要なバッファサイズの精度に応じて調整可能である。また、１度だけ所定量のデータをバッファリングするバッファ特性では、検出されたバッファサイズに基づく補償ダミーデータを付加したデータの送信は、１度しか行われない。したがって、検出されたバッファサイズに基づく補償ダミーデータを付加したデータの送信が、ネットワークの負荷の原因となる可能性は極めて低い。
【００７９】
（シーケンスの説明３：毎回バッファリングするバッファ特性）
次に、図１３には、毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図が示されている。図１３に例示されたプロキシサーバ２０は、Ｎ＋５バイトのバッファサイズを有する。図１３では、ＨＴＴＰ  ＰＯＳＴリクエストを利用してｎバイトおよびＮバイトのダミーデータを送信している。
【００８０】
まず、図１１および図１２で説明されたのと同様、送信装置１００から送信された（Ｓ８６９）ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ａがプロキシサーバ２０で中継されて（Ｓ８７０）、ＨＴＴＰ  ＰＯＳＴのリクエストヘッダ８０２ｂが受信装置２００で受信される。次に、１バイトのダミーデータ８０４ａ、Ｎバイトのダミーデータ８０６ａ、１バイトのダミーデータ８０８ａ、Ｎバイトのダミーデータ８１０ａ、１バイトのダミーデータ８１２ａ、Ｎバイトのダミーデータ８１４ａ、１バイトのダミーデータ８１６ａ、およびＮバイトのダミーデータ８１８ａが所定の時間間Ｘ秒ごとに送信装置１００から送信される（Ｓ８７１、Ｓ８７３、Ｓ８７５、Ｓ８７７、Ｓ８８１、Ｓ８８３、Ｓ８８７、およびＳ８８９）。
【００８１】
図１３に示されたプロキシサーバ２０は、毎回所定量のデータをバッファリングするバッファ特性を有し、バッファサイズはＮ＋５バイトであるので、送信装置１００から送信されたｎバイトおよびＮバイトのダミーデータは、それらのデータサイズの合計がＮ＋５バイト以上になるまでプロキシサーバ２０上でバッファリングされる。したがって、ダミーデータ８０４ａからダミーデータ８０８ａまでのデータは、プロキシサーバで受信された後、プロキシサーバ２０上でバッファリングされる（Ｓ８７２、Ｓ８７４、およびＳ８７６）。このとき、プロキシサーバ２０上でバッファリングされているデータサイズはＮ＋２バイトである。
【００８２】
プロキシサーバ２０がダミーデータ８１０ａを受信すると、ダミーデータ８１０ａはプロキシサーバ２０上でバッファリングされる（Ｓ８７８）。プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計が２Ｎ＋２バイトとなる。本実施形態では、Ｎは１キロバイト〜１０キロバイトの範囲であるので、プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計は、プロキシサーバ２０のバッファサイズ以上（２Ｎ＋２＞Ｎ＋５）となる。したがって、プロキシサーバ２０から中継ダミーデータ８３０が送信され（Ｓ８７９）、受信装置２００で受信される（Ｓ８８０）。このとき送信される中継ダミーデータのデータサイズは、Ｎ＋５バイトであり、プロキシサーバ２０上には、以下の式（３）で示されるサイズのデータがバッファリングされている。
【００８３】
【数３】
0004525780.tif 000004
【００８４】
次いで、プロキシサーバ２０は、バッファリングしたデータを受信装置２００に送信した後に、送信装置１００から送信された（Ｓ８８１）ダミーデータ８１２ａを受信し、バッファリングする（Ｓ８８２）。この時点で、プロキシサーバ２０上でバッファリングされているデータサイズは、Ｎ−２バイトとなる。続けて、プロキシサーバ２０は、送信装置１００から送信された（Ｓ８８３）ダミーデータ８１４ａを受信し、バッファリングする（Ｓ８８４）。この時点で、プロキシサーバ２０上でバッファリングされているデータサイズは、２Ｎ−２バイトとなる。本実施形態では、Ｎは１キロバイト〜１０キロバイトの範囲であるので、プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計は、プロキシサーバ２０のバッファサイズ以上（２Ｎ−２＞Ｎ＋５）となる。したがって、プロキシサーバ２０から中継ダミーデータ８３２が送信され（Ｓ８８５）、受信装置２００で受信される（Ｓ８８６）。このとき送信される中継ダミーデータのデータサイズは、Ｎ＋５バイトであり、プロキシサーバ２０上には、以下の式（４）で示されるサイズのデータがバッファリングされている。
【００８５】
【数４】
0004525780.tif 000005
【００８６】
さらに、プロキシサーバ２０は、送信装置１００から送信された（Ｓ８８７）ダミーデータ８１６ａを受信し、バッファリングする（Ｓ８８８）。この時点で、プロキシサーバ２０上でバッファリングされているデータサイズは、Ｎ−６バイトとなる。続けて、プロキシサーバ２０は、送信装置１００から送信された（Ｓ８８９）ダミーデータ８１８ａを受信し、バッファリングする（Ｓ８９０）。この時点で、プロキシサーバ２０上でバッファリングされているデータサイズは、２Ｎ−６バイトとなる。したがって、前述と同様、プロキシサーバ２０上でバッファリングされたダミーデータのデータサイズの合計はプロキシサーバ２０のバッファサイズ以上（２Ｎ−６＞Ｎ＋５）となり、プロキシサーバ２０から中継ダミーデータ８３４が送信され（Ｓ８９１）、受信装置２００で受信される（Ｓ８９２）。このとき送信される中継ダミーデータのデータサイズは、Ｎ＋５バイトであり、プロキシサーバ２０上には、以下の式（５）で示されるサイズのデータがバッファリングされている。
【００８７】
【数５】
0004525780.tif 000006
【００８８】
したがって、バッファ設定検出部２２０で検出される第１サイズ値は、中継ダミーデータ８３０のデータサイズであり、Ｎ＋５バイトである。一方、中継ダミーデータ８３２および中継ダミーデータ８３４のデータサイズは等しく、Ｎ＋５バイトであるので、バッファ設定検出部２２０で検出される第２サイズ値も、Ｎ＋５バイトである。このように、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトでなければ、プロキシサーバ２０は、毎回所定量のデータをバッファリングするバッファ特性を有する。
【００８９】
ここで、プロキシサーバ２０のバッファサイズを（ａ＊Ｎ）＋ｂとし、ａ≧０、ｂ≧０として、一般化して説明する。毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバ２０は、プロキシサーバ２０上でバッファリングされたデータのデータサイズがバッファサイズを超えると、バッファサイズと等しいデータサイズのデータを中継ダミーデータとして送信する。従って、受信装置２００では、毎回（ａ＊Ｎ）＋ｂのデータサイズを有する中継ダミーデータを受信することとなる。これより、バッファ設定検出部２２０で検出される第１サイズ値および第２サイズ値は等しく、実際のプロキシサーバ２０のバッファサイズ（ａ＊Ｎ）＋ｂバイトとなる。すなわち、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトでない。
【００９０】
以上より、第１サイズ値が１でなく、かつ、第２サイズ値が１でなければ、毎回所定量のデータをバッファリングするバッファ特性を検出できることがわかる。また、第１サイズ値および第２サイズ値は、実際のプロキシサーバ２０のバッファサイズと等しくなる。したがって、第１サイズ値または第２サイズ値をバッファサイズとして検出し、これに基づいて送信装置１００での補償ダミーデータのデータサイズｄが決定され、決定されたデータサイズを有する補償ダミーデータが送信データに付加される。このようにしてデータが送信されることによって、データがプロキシサーバ２０で即時に中継されることが確実となる。
【００９１】
（受信装置記憶部２３０）
図６に戻り、受信装置記憶部２３０は、中継ダミーデータ受信部２１０で受信した中継ダミーデータを格納する。格納された中継ダミーデータは、バッファ設定検出部２２０でのバッファ設定の検出に用いられる。また、受信装置記憶部２３０は、バッファ設定検出部２２０で検出されたバッファ設定を格納する。格納されたバッファ設定は、バッファ設定情報送信部２４０で送信装置１００に送信される。
【００９２】
（バッファ設定情報送信部２４０）
バッファ設定情報送信部２４０は、バッファ設定検出部２２０で検出されたバッファ設定の情報を、プロキシサーバ２０を介して送信装置１００に送信する。バッファ設定情報送信部２４０から送信されるバッファ設定の情報は、バッファ設定検出部２２０で検出されて受信装置記憶部２３０に格納されたバッファ設定の情報であってもよい。ＨＴＴＰ  ＰＯＳＴコネクションを利用して送信装置１００からｎバイトおよびＮバイトのダミーデータが送信された場合、検出されたバッファ設定の情報は、ＨＴＴＰ  ＰＯＳＴリクエストに対するレスポンスヘッダに書き込まれて送信装置１００に送信されてもよいし、別のコネクションを確立して送信装置１００に送信されてもよい。
【００９３】
（データ受信部２５０）
データ受信部２５０は、送信装置１００から送信されたデータを受信する。例えば、送信装置１００のデータ送信部１３０から送信される、補償ダミーデータが付加された送信データは、プロキシサーバ２０を介してデータ受信部２５０で受信される。
【００９４】
（処理の流れ：プロキシサーバ存在判定処理）
次に、図７〜図９を参照しながら、本実施形態にかかる送信装置１００および受信装置２００での処理の流れを説明する。まず、送信装置１００のプロキシサーバ存在判定部１０２で行われるプロキシサーバ存在判定処理に関して説明する。図７には、本実施形態にかかるプロキシサーバ存在判定処理の一例を示したフローチャートが示されている。
【００９５】
まず、ステップＳ４０２では、使用するプロキシサーバ２０が設定されているかどうかを判定し、プロキシサーバ２０が設定されている場合は、プロキシサーバ２０の設定情報を取得する。例えば、送信装置１００のＯＳ上のブラウザに設定されたプロキシ設定をレジストリから取得することによって、プロキシサーバ２０の設定情報が取得されてもよい。ステップＳ４０２でプロキシサーバが設定されている場合は、ステップＳ４０４に続く。ステップＳ４０２でプロキシサーバが設定されていない場合は、ステップＳ４１４に続く。
【００９６】
次いで、ステップＳ４０４では、ステップＳ４０２で取得したプロキシサーバ設定に示されたプロキシサーバ２０を利用して、受信装置２００とコネクションが確立できるか試行する。ステップＳ４０４でプロキシサーバ２０を利用したコネクションの確立の試行が成功した場合は、ステップＳ４０６に続き、プロキシサーバ２０を利用したコネクションが確立される。ステップＳ４０４でプロキシサーバを利用したコネクションの確立の試行が失敗した場合、ステップＳ４１４に続く。
【００９７】
さらに、ステップＳ４０６でプロキシサーバ２０を利用してコネクションが確立されると、ステップＳ４０８に続く。ステップＳ４０８では、利用されるプロキシサーバ２０がチャンク形式のデータを中継可能かが判定される。プロキシサーバ２０がチャンク形式のデータを中継可能であるかどうかの判定は、受信装置２００にＨＴＴＰヘッダを送信して行われる。ＨＴＴＰヘッダの送信の結果、「５０１  Ｎｏｔ  Ｉｍｐｌｅｍｅｎｔｅｄ」または「４１１  Ｌｅｎｇｔｈ  Ｒｅｑｕｉｒｅｄ」のＨＴＴＰエラーコードを受信した場合、プロキシサーバ２０はチャンク形式のデータを中継できず、処理はステップＳ４１２に続く。それ以外の場合は、プロキシサーバ２０はチャンク形式のデータを中継することが可能であり、処理はステップＳ４１０に続く。その後、ステップＳ４１０では、チャンク形式のデータを利用して、ダミーデータ送信部１１０で後続処理が行われる。
【００９８】
一方、プロキシサーバがチャンク形式のデータを中継できない場合、ステップＳ４１２で、使用可能なデータ長の最大値（以下、最大データ長と称す）が決定される。最大データ長は、データ長の大きなデータを送信し、「４１３  Ｒｅｑｕｅｓｔ  Ｅｎｔｉｔｙ  Ｔｏｏ  Ｌａｒｇｅ」のＨＴＴＰエラーコードを受信した場合、データ長を減少させる方法で決定される。前述の方法で最大データ長が決定されると、決定された最大データ長に基づいて、ダミーデータ送信部１１０で後続処理が行われる。
【００９９】
ステップＳ４０２でプロキシサーバ２０が設定されていなかった場合、または、ステップＳ４０４でプロキシサーバ２０を利用したコネクションの確立の試行が失敗した場合、ステップＳ４１４では、プロキシサーバ２０を利用せずに受信装置２００とコネクションを確立する。ステップＳ４１４で受信装置２００とのコネクションが確立されると、ステップＳ４１６に続く。
【０１００】
ステップＳ４１６では、ステップＳ４０８と同様の判定処理が行われる。ステップＳ４１６で判定処理が行われる理由は、プロキシサーバ２０が設定されていない、または、プロキシサーバ２０を利用したコネクションの確立が失敗した場合でも、透過的なプロキシサーバが存在する可能性があるためである。ステップＳ４１６の判定の結果、透過的なプロキシサーバがチャンク形式のデータを中継できない場合、処理はステップＳ４２０に続く。それ以外の場合は、透過的なプロキシサーバはチャンク形式のデータを中継することが可能であり、処理はステップＳ４１８に続く。その後、ステップＳ４１８では、チャンク形式のデータを利用して、ダミーデータ送信部１１０で後続処理が行われる。
【０１０１】
一方、透過的なプロキシサーバがチャンク形式のデータを中継できない場合、ステップＳ４１２と同様、ステップＳ４２０で最大データ長が決定され、決定された最大データ長に基づいて、ダミーデータ送信部１１０で後続処理が行われる。
【０１０２】
以上、図７を参照して説明された処理は、本実施形態のプロキシサーバ存在判定処理の一例である。プロキシサーバ存在判定部１０２では、前述された処理に限定されず、必要に応じて情報の収集および処理等が行われる。
【０１０３】
（処理の流れ：ダミーデータ送信処理）
次に、送信装置１００のダミーデータ送信部１１０で行われるｎバイトおよびＮバイトのダミーデータの送信処理に関して説明する。図８には、本実施形態にかかるｎバイトおよびＮバイトのダミーデータ送信処理を示したフローチャートが示されている。
【０１０４】
まず、ステップＳ５０２では、プロキシサーバ存在判定部１０２で確立されたコネクションを使用して、ＨＴＴＰヘッダを受信装置２００に送信する。次いで、ステップＳ５０４では、１バイトのダミーデータがプロキシサーバ２０を介して受信装置２００に送信される。さらに、ステップＳ５０６では、送信間隔Ｘ秒間待機する。その後、ステップＳ５０８では、コネクションが切断されたかどうかを判定する。コネクションが切断されている場合、処理を終了する。コネクションが継続されている場合は、ステップＳ５１０に続く。次いで、ステップＳ５１０では、Ｎバイトのダミーデータがプロキシサーバ２０を介して受信装置２００に送信される。さらに、ステップＳ５１２では、所定の時間間隔Ｘ秒間待機する。その後、ステップＳ５１４ではコネクションが切断されたかどうかを判定する。コネクションが切断されている場合、処理を終了する。コネクションが継続中である場合は、ステップＳ５０４に戻り、１バイトのダミーデータが送信される。以上説明されたように、送信装置１００のダミーデータ送信部１１０から送信されたダミーデータは、プロキシサーバ２０で中継され、中継された結果の中継ダミーデータが受信装置２００で受信される。
【０１０５】
（処理の流れ：バッファ設定検出処理）
続けて、プロキシサーバ２０で中継された中継ダミーデータを受信装置２００で受信し、バッファ設定を検出する処理に関して説明する。図９には、本実施形態にかかるバッファ設定検出処理を示したフローチャートが示されている。
【０１０６】
まず、ステップＳ６０２では、図８のステップＳ５０２で送信装置１００から送信されたＨＴＴＰヘッダが、受信装置２００の中継ダミーデータ受信部２１０で受信される。次いで、ステップＳ６０４では、送信装置１００から送信されてプロキシサーバ２０で中継された結果の中継ダミーデータが、中継ダミーデータ受信部２１０で１度目に受信される。さらに、ステップＳ６０６では、バッファ設定検出部２２０で、ステップＳ６０４で受信された中継ダミーデータのデータサイズである第１サイズ値が検出される。その後、ステップＳ６０８では、中継ダミーデータが、中継ダミーデータ受信部２１０で２度目に受信される。次いで、ステップＳ６１０では、中継ダミーデータが、中継ダミーデータ受信部２１０で３度目に受信される。
【０１０７】
さらに、ステップＳ６１２では、バッファ設定検出部２２０で、ステップＳ６０８およびステップＳ６１０で受信された中継ダミーデータのデータサイズが比較され、第２サイズ値が検出される。ステップＳ６０８で受信された中継ダミーデータのデータサイズが、ステップＳ６１０で受信された中継ダミーデータのデータサイズと等しいか、またはステップＳ６１０で受信された中継ダミーデータのデータサイズより小さい場合、ステップＳ６１４で、バッファ設定検出部２２０は、ステップＳ６０８で受信された中継ダミーデータのデータサイズを第２サイズ値として検出する。逆に、ステップＳ６０８で受信された中継ダミーデータのデータサイズが、ステップＳ６１０で受信された中継ダミーデータのデータサイズより大きい場合、ステップＳ６１６で、バッファ設定検出部２２０は、ステップＳ６１０で受信された中継ダミーデータのデータサイズを第２サイズ値として検出する。
【０１０８】
その後、ステップＳ６１８では、バッファ設定検出部２２０で、ステップＳ６０６で検出された第１サイズ値とステップＳ６１４またはステップＳ６１６でで検出された第２サイズ値と、を比較する。本実施形態では、ｎ＝１バイトであるので、第１サイズ値が１バイトであり、かつ、第２サイズ値が１バイトである場合、ステップＳ６２０に続き、バッファ特性検出部２２２でデータをバッファリングしないバッファ特性を検出する。
【０１０９】
一方、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトである場合、ステップＳ６２２に続き、バッファ特性検出部２２２で１度だけ所定量のデータをバッファリングするバッファ特性を検出する。また、ステップＳ６２２では、バッファサイズ検出部２２４で第１サイズ値をバッファサイズとして検出する。
【０１１０】
さらに、第１サイズ値が１バイトでなく、かつ、第２サイズ値が１バイトでない場合、ステップＳ６２４に続き、バッファ特性検出部２２２で毎回所定量のデータをバッファリングするバッファ特性を検出する。また、ステップＳ６２４では、バッファサイズ検出部２２４でバッファサイズを検出する。第１サイズ値と第２サイズ値は等しく、そのサイズ値がバッファサイズとして検出される。
【０１１１】
その後、ステップＳ６２６では、バッファ特性およびバッファサイズを含むバッファ設定が、バッファ設定情報送信部２４０から、プロキシサーバ２０を介して送信装置１００に送信される。
【０１１２】
（処理の流れ：補償ダミーデータ送信処理）
さらに、受信装置２００から送信されたバッファ設定を受信装置で受信し、補償ダミーデータを送信する処理に関して説明する。図１０は、本実施形態にかかるバッファ設定情報受信および補償ダミーデータ送信処理を示したフローチャートである。
【０１１３】
まず、ステップＳ７０２では、受信装置２００からプロキシサーバ２０を介して送信されたバッファ設定を送信装置１００のバッファ設定受信部１２０で受信する。次いで、ステップＳ７０４では、バッファ設定識別部１２２で受信されたバッファ設定が、データをバッファリングしないバッファ特性、１度だけ所定量のデータをバッファリングするバッファ特性、および、毎回所定量のデータをバッファリングするバッファ特性のうちいずれを示すバッファ設定であるかを識別する。また、ステップＳ７０４で行われるバッファ設定の識別では、バッファサイズも識別される。
【０１１４】
ステップＳ７０４での識別の結果、ステップＳ７０２で受信されたバッファ設定がデータをバッファリングしないバッファ特性であった場合、ステップＳ７０６で補償データサイズ決定部１６０は補償ダミーデータのデータサイズｄを０と決定する。さらに、データ送信部１３０は、即時性の必要なデータに補償ダミーデータを付加せずに送信する。
【０１１５】
一方、ステップＳ７０４での識別の結果、ステップＳ７０２で受信されたバッファ設定が１度だけ所定量のデータをバッファリングするバッファ特性であった場合、ステップＳ７０８で、補償データサイズ決定部１６０はステップＳ７０４で識別されたバッファサイズに基づいて補償ダミーデータのデータサイズｄを決定する。さらに、データ送信部１３０は、補償データサイズ決定部１６０で決定されたデータサイズｄを有する補償ダミーデータを１度だけ付加して、即時性が必要なデータを送信する。
【０１１６】
ステップＳ７０４での識別の結果、ステップＳ７０２で受信されたバッファ設定が毎回所定量のデータをバッファリングするバッファ特性であった場合、ステップＳ７１０で、補償データサイズ決定部１６０はステップＳ７０４で識別されたバッファサイズに基づいて補償ダミーデータのデータサイズｄを決定する。さらに、データ送信部１３０は、補償データサイズ決定部１６０で決定されたデータサイズｄを有する補償ダミーデータを、即時性が必要なデータの送信ごとに付加して、データを送信する。
【０１１７】
（ＨＴＴＰ  ＰＯＳＴ  リクエストの一例）
次に、本実施形態にかかる送信装置１００と受信装置２００との間で送受信されるデータの一例を示す。図１４には、ＨＴＴＰ  ＰＯＳＴリクエストの一例が示されている。ＨＴＴＰ  ＰＯＳＴリクエスト９００は、リクエストヘッダ９０２とリクエストボディ９０４とから構成されている。本実施形態で、ｎバイトおよびＮバイトのダミーデータが送信装置１００から順次反復的に送信されることは、ＨＴＴＰ  ＰＯＳＴリクエスト９００のリクエストボディ９０４へのデータが追加されることに等しい。
【０１１８】
（検出結果の送信の一例）
また、図１５には、受信装置２００から送信装置１００に送信されるバッファ設定情報の一例が示されている。バッファ設定は、送信装置１００から受信装置２００にｎバイトおよびＮバイトのダミーデータを送信したＨＴＴＰ  ＰＯＳＴリクエストに対するレスポンスヘッダ９５０に書き込まれて、送信装置１００に送信されてもよい。図１５に示された一例では、受信装置２００で検出された第１サイズ値はＸ−ＦＩＲＳＴ−ＤＵＭＭＹ−ＳＩＺＥフィールド９５２に書き込まれており、１０２４バイトである。第２サイズ値は、Ｘ−ＳＥＣＯＮＤ−ＤＵＭＭＹ−ＳＩＺＥフィールド９５２に書き込まれており、１０２４バイトである。図１５に示されたレスポンスヘッダ９５０は受信装置２００から送信装置１００に送信されるレスポンスヘッダの一例であり、レスポンスヘッダに書き込まれるバッファ設定は、バッファ特性およびバッファサイズであってもよい。
【０１１９】
以上、本実施形態は、送信装置１００からＨＴＴＰ  ＰＯＳＴリクエストを使用してｎバイトおよびＮバイトのダミーデータを送信し、バッファ設定を検出する場合について説明したが、前述されたダミーデータの送信には、ＨＴＴＰ  ＧＥＴレスポンスが用いられてもよい。ＨＴＴＰ  ＰＯＳＴリクエストを使用してｎバイトおよびＮバイトのダミーデータを送信する場合、送信装置１００はＨＴＴＰクライアントであり、受信装置２００はＨＴＴＰサーバである。ＨＴＴＰ  ＧＥＴレスポンスを使用してｎバイトおよびＮバイトのダミーデータを送信する場合、送信装置１００はＨＴＴＰサーバであり、受信装置２００はＨＴＴＰクライアントである。
【０１２０】
また、ＨＴＴＰ  ＰＯＳＴを使用してｎバイトおよびＮバイトのダミーデータを送信した場合、受信装置２００で検出されたバッファ設定は、ＨＴＴＰ  ＰＯＳＴに対するレスポンスヘッダに書き込まれて、送信装置１００に送信されてもよいし、別のコネクションを使用して送信装置１００に送信されてもよい。一方、ＨＴＴＰ  ＧＥＴリクエストを使用してｎバイトおよびＮバイトのダミーデータを送信した場合、受信装置２００で検出されたバッファ設定は、当該ダミーデータが送信されたＨＴＴＰコネクションとは別のコネクションで送信装置１００に送信される。
【０１２１】
また、本実施形態では、受信装置２００のバッファ設定検出部２２０で第１サイズ値と第２サイズ値とを比較し、バッファ設定の検出を行っているが、バッファ設定検出部２２０では、第１サイズ値と第２サイズ値とが検出され、バッファ特性およびバッファサイズの検出は送信装置１００のバッファ設定識別部１２２で行われてもよい。この場合、受信装置２００から送信装置１００に送信されるバッファ設定は、第１サイズ値および第２サイズ値である。
【０１２２】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１２３】
【図１】本発明の第１実施形態にかかるネットワーク構成図である。
【図２】データをバッファリングしないバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。
【図３】１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。
【図４】毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバのバッファリング動作の一例を示したシーケンス図である。
【図５】本発明の第１実施形態にかかる送信装置の機能ブロック図である。
【図６】本発明の第１実施形態にかかる受信装置の機能ブロック図である。
【図７】本発明の第１実施形態にかかるプロキシサーバ存在判定処理の一例を示したフローチャートである。
【図８】本発明の第１実施形態にかかるｎバイトおよびＮバイトのダミーデータ送信処理を示したフローチャートである。
【図９】本発明の第１実施形態にかかるバッファ設定検出処理を示したフローチャートである。
【図１０】本発明の第１実施形態にかかるバッファ設定情報受信および補償ダミーデータ送信処理を示したフローチャートである。
【図１１】データをバッファリングしないバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図である。
【図１２】１度だけ所定量のデータをバッファリングするバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図である。
【図１３】毎回所定量のデータをバッファリングするバッファ特性を有するプロキシサーバを介してダミーデータを送信した場合のシーケンス図である。
【図１４】ＨＴＴＰ  ＰＯＳＴリクエストの一例を示した説明図である。
【図１５】受信装置から送信装置に送信されるバッファ設定情報の一例を示した説明図である。
【符号の説明】
【０１２４】
２０      プロキシサーバ
１００    送信装置
１０２    プロキシサーバ存在判定部
１１０    ダミーデータ送信部
１２０    バッファ設定受信部
１２２    バッファ設定識別部
１３０    データ送信部
１４０    送信装置記憶部
１５０    検出部
１６０    補償データサイズ決定部
２００    受信装置
２１０    中継ダミーデータ受信部
２２０    バッファ設定検出部
２２２    バッファ特性検出部
２２４    バッファサイズ検出部
２３０    受信装置記憶部
２４０    バッファ設定情報送信部
２５０    データ受信部
【図１】
0004525780.tif 000007
【図２】
0004525780.tif 000008
【図３】
0004525780.tif 000009
【図５】
0004525780.tif 000010
【図６】
0004525780.tif 000011
【図７】
0004525780.tif 000012
【図８】
0004525780.tif 000013
【図９】
0004525780.tif 000014
【図１０】
0004525780.tif 000015
【図１１】
0004525780.tif 000016
【図１２】
0004525780.tif 000017
【図１３】
0004525780.tif 000018
【図１４】
0004525780.tif 000019
【図１５】
0004525780.tif 000020
【図４】
0004525780.tif 000021