(57)【要約】【課題】送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することを可能にする。【解決手段】送信装置が、中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成し、前記パケットを送信する。また、中継装置が、パケットに対して行う処理を示す処理情報を含む前記パケットを受信し、前記処理情報に従って前記パケットを処理する。【選択図】      図１
2018098674.tif 000002
【特許請求の範囲】
【請求項１】
中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成するパケット生成部と、
前記パケットを送信する送信部と
を備えることを特徴とする送信装置。
【請求項２】
前記処理情報は、前記パケットに対するバッファリングに関する情報を含む
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
前記処理情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含む
ことを特徴とする請求項２に記載の送信装置。
【請求項４】
パケットに対して行う処理を示す処理情報を含む前記パケットを受信する受信部と、
前記処理情報に従って前記パケットを処理する処理部と
を備えることを特徴とする中継装置。
【請求項５】
前記処理情報は、前記パケットに対するバッファリングに関する情報を含み、
前記処理部は、前記処理情報に従って前記パケットを前記バッファリングする
ことを特徴とする請求項４に記載の中継装置。
【請求項６】
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理部は、前記要求バッファサイズに従って前記パケットを前記バッファリングし、前記バッファリングした前記パケットの量が前記要求バッファサイズを超えたとき、前記バッファリングした前記パケットを送信する
ことを特徴とする請求項５に記載の中継装置。
【請求項７】
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理部は、前記要求バッファサイズに到達するまで、前記パケットを仮想ネットワークへ転送する
ことを特徴とする請求項５に記載の中継装置。
【請求項８】
請求項１に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、請求項４に記載の中継装置である
ことを特徴とする通信システム。
【請求項９】
中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成し、
前記パケットを送信する
ことを特徴とする送信方法。
【請求項１０】
パケットに対して行う処理を示す処理情報を含む前記パケットを受信し、
前記処理情報に従って前記パケットを処理する
ことを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットをクライアントに向けて送信する、送信装置、中継装置、通信システム、送信方法、中継方法、およびプログラムに関する。
【背景技術】
【０００２】
アクセス回線の高速化やインタフェース規格の高速化により、現状のインターネットの通信高速化における主なボトルネックは、コンテンツサーバ（送信装置）の処理性能となっている。
【０００３】
一度に多くのクライアントがコンテンツサーバへコンテンツを要求すると、各クライアントに対するコンテンツサーバの応答速度は低下する。また、コンテンツが大容量化すると、コンテンツサーバの処理性能に対する要求も上がる。処理性能に対する要求に都度コンテンツサーバのリプレースで対応すると、ハードウェアそのものやリプレースに伴う作業にかかるコストが大きくなる。
【０００４】
そのため、他の装置でコンテンツサーバの機能を補助することが求められる。
【０００５】
図２１および図２２にコンテンツサーバの機能を補助する方法の例を示す。
【０００６】
図２１は、アプリケーション最適化装置を利用する場合の例である。この例では、コンテンツサーバを設置した拠点（サービスサイト）に、アプリケーション最適化装置が配置されている。アプリケーション最適化装置では、ＷＡＮ（Wide Area Network）帯域を有効に活用するために、たとえば、キャッシュ機能や送信データの圧縮／伸長機能などを提供することで、コンテンツサーバとクライアントの間の通信を最適化（高速化）する。なお、プロトコルやアプリケーションにより、最適化の方法は様々である。拠点内のルータ（中継装置）はコンテンツサーバとクライアントとの間の通信を監視し、必要なパケットをアプリケーション最適化装置へ転送する。そして、アプリケーション最適化装置から戻ってきたパケットを元の宛先へと転送する。
【０００７】
また、図２２は、ルータがアプリケーション最適化装置と同等の機能を実現する場合の例である。この例では、ルータがパケット解析機能や最適化機能を備えている。なお、パケット解析機能は、Deep Packet Inspectionのように、上位レイヤの内容を解析する機能である。
【０００８】
図２１や図２２のような方法では、ルータがコンテンツサーバとクライアントとの間のパケットを監視して上位レイヤの内容を解析する。
【０００９】
しかし、一般的に、暗号化されたレイヤより上位レイヤの内容は、経路上では解読することができない。また、インターネット上では、ＳＳＬ（Secure Sockets Layer）やＴＬＳ（Transport Layer Security）等を使用してコンテンツサーバとクライアントの間の通信データを暗号化するＨＴＴＰＳ（Hypertext Transfer Protocol Secure）通信等が一般的となっている。そのため、ルータが通信内容を監視することは難しい。
【００１０】
一方、特許文献１に記載の方法では、通信制御装置が入口ルータに対してマーキング要求を送信し、入口ルータはマーキング要求に従ってパケットフローに含まれるパケットにマーキング情報を付与している。そして、制御ルータはマーキング情報に基づいてパケットフローを制御している。これにより、ネットワークのコア部分にある制御ルータがフロー制御を行うことを可能としている。
【００１１】
また、特許文献２に記載の方法は、中継装置が通信経路のゆらぎ量情報をパケットに付加して転送し、通信端末ではゆらぎ量情報を用いて遅延バッファ手段に遅延ゆらぎ吸収量を設定している。これにより、通信開始時やゆらぎ量が変わったときでも、通信端末が適切な遅延ゆらぎ吸収量を遅延バッファ手段に設定することを可能にしている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−１５０９５５号公報
【特許文献２】特開２０１０−１１４６８０号公報
【特許文献３】特開２０１４−１３５７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、特許文献１に記載の方法では、通信制御装置がルータに対してマーキング要求を送信するため、通信制御装置がコンテンツサーバとクライアント間の通信を監視する。そのため、コンテンツサーバが送信するコンテンツデータが暗号化されていると、コンテンツデータに応じた制御をルータに行わせることができない。また、通信制御装置がコンテンツサーバとクライアント間のすべてのパケットを監視することになるため、監視に伴う負荷も大きい。
【００１４】
また、特許文献２に記載の方法についても、中継装置が通信端末への制御情報を付与するため、中継装置に入力されるコンテンツデータが暗号化されていると、コンテンツデータに応じた制御を通信端末に行わせることができない。また、中継装置がコンテンツサーバとクライアント間のすべてのパケットを監視することになるため、監視に伴う負荷も大きい。
【００１５】
本発明の目的は、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することを可能にする、送信装置、中継装置、通信システム、送信方法、中継方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上述の問題を解決するために、本発明の送信装置は、中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成するパケット生成部と、前記パケットを送信する送信部とを備えることを特徴とする。
【００１７】
また、本発明の中継装置は、パケットに対して行う処理を示す処理情報を含む前記パケットを受信する受信部と、前記処理情報に従って前記パケットを処理する処理部とを備えることを特徴とする。
【００１８】
また、本発明の送信方法は、中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成し、前記パケットを送信することを特徴とする。
【００１９】
また、本発明の中継方法は、パケットに対して行う処理を示す処理情報を含む前記パケットを受信し、前記処理情報に従って前記パケットを処理することを特徴とする。
【発明の効果】
【００２０】
本発明の送信装置、中継装置、通信システム、送信方法、中継方法、およびプログラムにより、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第一から第五の実施形態の送信装置および中継装置の構成例を示す図である。
【図２】本発明の第一の実施形態の送信装置の動作例を示す図である。
【図３】本発明の第一の実施形態の中継装置の動作例を示す図である。
【図４】本発明の第二から第五の実施形態の通信システムの構成例を示す図である。
【図５】本発明の第二の実施形態の送信装置が送信するパケットの構成例を示す図である。
【図６】本発明の第二の実施形態における、転送データ量と再生データ量の関係の例を示す図である。
【図７】転送データ量と再生データ量の関係の例を示す図である。
【図８】本発明の第二の実施形態の通信システムの構成例を示す図である。
【図９】本発明の第二の実施形態の仮想ネットワークの構成例を示す図である。
【図１０】本発明の第二の実施形態における、転送データ量と再生データ量の関係の例を示す図である。
【図１１】本発明の第二の実施形態の中継装置が送信するパケットの構成例を示す図である。
【図１２】本発明の第二の実施形態の送信装置の動作例を示す図である。
【図１３】本発明の第二の実施形態の中継装置の動作例を示す図である。
【図１４】本発明の第二の実施形態の中継装置の動作例を示す図である。
【図１５】本発明の第二の実施形態の中継装置の動作例を示す図である。
【図１６】本発明の第三の実施形態の中継装置の動作例を示す図である。
【図１７】本発明の第四の実施形態の中継装置の動作例を示す図である。
【図１８】本発明の第五の実施形態の送信装置の動作例を示す図である。
【図１９】本発明の第五の実施形態の中継装置の動作例を示す図である。
【図２０】本発明の各実施形態のハードウェア構成例を示す図である。
【図２１】コンテンツサーバの機能を補助する方法の例を示す図である。
【図２２】コンテンツサーバの機能を補助する方法の例を示す図である。
【発明を実施するための形態】
【００２２】
［第一の実施形態］
本発明の第一の実施の形態について説明する。
【００２３】
図１に本実施形態の送信装置１０および中継装置２０の構成例を示す。
【００２４】
本実施形態の送信装置１０は、パケット生成部１１および送信部１２により構成される。
【００２５】
パケット生成部１１は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成する部分である。送信部１２は、パケットを送信する部分である。
【００２６】
また、本実施形態の中継装置２０は、受信部２１および処理部２２により構成される。
【００２７】
受信部２１は、パケットに対して行う処理を示す処理情報を含むパケットを受信する部分である。処理部２２は、処理情報に従ってパケットを処理する部分である。
【００２８】
このように送信装置１０および中継装置２０を構成することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００２９】
次に、図２に本実施形態の送信装置１０の動作の例を示す。
【００３０】
パケット生成部１１は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成する（ステップＳ１０１）。そして、送信部１２は、パケットを送信する（ステップＳ１０２）。
【００３１】
また、図３に本実施形態の中継装置２０の動作の例を示す。
【００３２】
受信部２１は、処理情報を含むパケットを受信する（ステップＳ１０３）。処理部２２は、処理情報に従ってパケットを処理する（ステップＳ１０４）。
【００３３】
このように動作することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００３４】
以上で説明したように、本発明の第一の実施形態では、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００３５】
［第二の実施形態］
次に、本発明の第二の実施の形態について説明する。本実施形態は、第一の実施形態の送信装置１０および中継装置２０について、より具体的に説明する。本実施形態では、送信装置１０から中継装置２０への転送レートがコンテンツ（動画等）の再生レートより低い場合に、クライアントにおけるコンテンツ再生の品質劣化を低減する方法について説明する。
【００３６】
まず、図４に本実施形態の通信システムの構成例を示す。本実施形態の通信システムは、送信装置１０、中継装置２０、ルータ８１、クライアント８２により構成される。
【００３７】
本実施形態では、送信装置１０はクライアント８２からのコンテンツ要求を受け、コンテンツを応答するコンテンツサーバである。送信装置１０は、中継装置２０を介してインターネット８０に接続する。また、本実施形態では、中継装置２０は送信装置１０をインターネット８０に接続するルータである。クライアント８２は送信装置１０へコンテンツを要求し、送信装置１０から受け取ったコンテンツを再生する装置である。クライアント８２はルータ８１を介してインターネット８０に接続する。ルータ８１はクライアント８２をインターネット８０へ接続する。なお、クライアント８２と送信装置１０の間は、ＨＴＴＰＳで通信しているものとする。
【００３８】
ここで、クライアント８２が送信装置１０へ動画データを要求したとする。このとき、動画データの再生レートよりも送信装置１０からクライアント８２への転送レートが高ければ、クライアント８２が充分なバッファを確保することで、クライアント８２では動画データを正常に再生することができる。
【００３９】
しかし、送信装置１０にアクセスするクライアントが多く、送信装置１０のリソースが限界近くまで使用されている場合、送信装置１０からクライアント８２への転送レートが低くなる、あるいは、転送処理が滞る場合がある。このような場合、クライアント８２が再生する動画にコマ落ちや一時停止等の品質低下が発生する可能性がある。
【００４０】
そこで、本実施形態では、送信装置１０が送信するコンテンツデータを中継装置２０等にバッファリングする（溜める）ことで、クライアント８２が再生するコンテンツの品質低下を低減する。
【００４１】
次に、図１を用いて、本実施形態の送信装置１０および中継装置２０の構成例について説明する。
【００４２】
送信装置１０のパケット生成部１１は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成する部分である。送信部１２は、パケット生成部１１が生成したパケットを送信する部分である。
【００４３】
図５に、送信装置１０が送信するパケットの例を示す。図５の（ａ）は、処理情報を含まない、通常のパケットの例である。このとき、パケット生成部１１は、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）ヘッダの宛先にはクライアント８２の情報を、データには動画データを格納する。また、ＨＴＴＰＳで通信を行うため、データ部分を暗号化する。
【００４４】
図５の（ｂ）は、送信装置１０が送信する、処理情報を含むパケットの例である。送信装置１０では、元のパケットをカプセル化したものに、新たなヘッダを付与する。新たなヘッダは、宛先を中継装置２０としたＴＣＰ／ＩＰヘッダと、処理情報を含む。処理情報は、データストリーム番号とバッファ処理の要求バッファサイズを含む。なお、データストリーム番号は、連続したコンテンツデータに対して一意となる番号である。
【００４５】
また、ＩＰｖ６（Internet Protocol version 6）のＩＰヘッダのネクストヘッダに処理情報を示す任意の拡張ヘッダタイプを格納し、拡張ヘッダに処理情報を格納することでも、図５の（ｂ）の構成のパケットを生成することが可能である。
【００４６】
パケット生成部１１は、中継装置２０での処理が必要なパケットには処理情報を付与し、中継装置２０での処理が不要なパケットには処理情報を付与しない。そのため、パケット生成部１１は、中継装置２０での処理が必要なパケットについては図５の（ｂ）の構成、中継装置２０での処理が不要なパケットについては図５の（ａ）の構成のパケットを生成する。
【００４７】
中継装置２０の受信部２１は、送信装置１０からパケットを受信する部分である。処理部２２は、パケットに含まれる処理情報に従ってパケットを処理する部分である。
【００４８】
本実施形態では、受信部２１は図５の（ａ）あるいは図５の（ｂ）の構成のパケットを受信する。そして、受信部２１が図５の（ａ）の構成、つまり、処理情報を含まないパケットを受信すると、処理部２２は受信したパケットをそのままクライアント８２へ向けて出力する。また、受信部２１が図５（ｂ）の構成、つまり処理情報を含むパケットを受信すると、そのパケットを処理情報に従って処理する。
【００４９】
処理部２２は、受信部２１が受信したパケットが図５のようにデータストリーム番号と要求バッファサイズを含む処理情報を含むとき、同一データストリーム番号のパケットに対し、要求バッファサイズとなるまでパケットをバッファリングする。そして、要求バッファサイズまでパケットを溜めると、溜めたパケットをクライアント８２に向けて出力する。
【００５０】
図６に、送信装置１０から中継装置２０への転送データ量、中継装置２０からルータ８１への転送データ量およびコンテンツ（動画等）の再生データ量の関係を示す。なお、ルータ８１からクライアント８２へは瞬時にデータ転送が可能であると仮定する。
【００５１】
送信装置１０から中継装置２０への転送レートが動画の再生レートより低いとき、そのまま中継装置２０からルータ８１へ動画データを転送すると、クライアント８２では動画データの枯渇が発生し、コマ落ちや音切れが発生する。
【００５２】
これに対し、本実施形態では、要求バッファサイズになるまで中継装置２０がパケットをバッファリングする。そして、要求バッファサイズまでパケットをバッファリングすると、クライアント８２に向けてパケットを転送する。このとき、中継装置２０からルータ８１への転送レートをコンテンツの再生レートより高くすることで、クライアント８２でのコンテンツの枯渇を低減することが可能になる。
【００５３】
中継装置２０が溜めたパケットのクライアント８２へ向けての転送を開始すると、中継装置２０からルータ８１へ転送するデータ量は、送信装置１０から受信して溜めたパケットの量と溜めずに転送するパケットの量の合計となる。そして、中継装置２０が溜めたパケットをルータ８１へ転送し終わると、中継装置２０からルータ８１への転送データ量は、送信装置１０から受信して溜めずに転送するパケットの量のみとなる。そのため、中継装置２０からルータ８１への転送データ量は図６の太線のようになる。
【００５４】
なお、図７のように、中継装置２０でバッファリングするデータ量が少ないと、中継装置２０からルータ８１への転送データ量にコンテンツの再生データ量が追いつき、クライアント８２でのコンテンツ再生の品質劣化につながる。そのため、送信装置１０から中継装置２０へ通知する要求バッファサイズは、コンテンツ再生の品質劣化が許容範囲となる、充分な量に決定することが望ましい。
【００５５】
送信装置１０での要求バッファサイズの決定方法には、たとえば、以下のような方法が考えられる。ここでは、三つの例を挙げるが、要求バッファサイズの決定方法は、これらの方法に限られない。
【００５６】
まず、第一の方法は、コンテンツの再生ビットレートに基づいて要求バッファサイズを決定する方法である。たとえば、あらかじめ、コンテンツの再生ビットレートに応じて、バッファリングするコンテンツの時間を決定しておく。そして、コンテンツの再生ビットレートに所定の時間を乗じることで、再生バッファサイズを決定する。
【００５７】
第二の方法は、コンテンツのデータサイズに基づいて要求バッファサイズを決定する方法である。たとえば、あらかじめ、コンテンツのデータサイズに応じて、要求バッファサイズの割合を決定しておく。そして、コンテンツのデータサイズに所定の割合を乗じることで、再生バッファサイズを決定する。
【００５８】
第三の方法は、送信装置１０から中継装置２０への転送レート（ａ）、コンテンツの再生レート（ｂ）、コンテンツのデータサイズ（Ａ）に基づいて、要求バッファサイズ（Ｘ）を決定する方法である。たとえば、これらの関係を図６のように、送信装置１０から中継装置２０へのデータ転送完了とコンテンツのデータ再生完了を同時にすることを考えると、要求バッファサイズＸは次の式１で計算することができる。
2018098674.tif 000003
【００５９】
式１で計算した要求バッファサイズは、コンテンツの再生データ量が送信装置１０から中継装置２０への転送データ量を追い越さないための最低限の値である。そのため、式１で計算した要求バッファサイズに余裕を持たせた値を、処理情報で指定する要求バッファサイズとして決定する。また、中継装置２０がパケットを用意に処理できるよう、送信装置１０は要求バッファサイズをパケットの量で指定すると良い。
【００６０】
上述のいずれの方法においても、転送データ量の変動等により、クライアント８２におけるコンテンツ再生の品質劣化が発生する可能性がある。しかし、バッファリングを行わない場合にはコンテンツの転送開始から終了まで常に品質劣化が発生する可能性がある。これに対し、本実施形態では、中継装置２０がバッファリングを行うことで、中継装置２０からルータ８１への転送速度を上げ、コンテンツ再生の品質劣化を低減することが可能になる。
【００６１】
次に、パケットのバッファリング方法について説明する。パケットのバッファリング方法には、次の二つの方法が考えられる。
【００６２】
まず、第一の方法は、中継装置２０に搭載したＣＰＵ（Central Processing Unit）、メモリ、ＳＳＤ（Solid State Drive）、ＨＤＤ（Hard Disk Drive）等のバッファにパケットをバッファリングする方法である。中継装置２０では、中継装置２０のバッファに要求バッファサイズ以上のデータを溜め、溜めたデータをコンテンツの再生レート以上の速度でクライアント８２に向けて出力する。これにより、クライアント８２で再生するコンテンツの品質劣化を低減することが可能になる。
【００６３】
第二の方法は、転送遅延が発生するような経路を設定した仮想ネットワーク上へ中継装置２０からパケットを転送することで、仮想ネットワーク上にパケットを溜める方法である。この方法では、中継装置２０上のバッファにパケットをバッファリングする場合に比べて、中継装置２０の資源の節約を行うことができる。なお、仮想ネットワークは、たとえば、特許文献３に記載の方法で構築することが可能である。
【００６４】
図８に、この場合の通信システムの構成例を示す。この例では、中継装置２０とルータ８１の間に、仮想ネットワーク８３を構築している。
【００６５】
次に、図９を用いて、仮想ネットワーク８３上にパケットを溜める方法について説明する。
【００６６】
ＩＣルータ８４（８４ａ、８４ｂ、８４ｃ、８４ｄ）は、実ネットワーク（インターネット８０）と仮想ネットワーク８３との間のパケット転送を行うルータである。（なお、「ＩＣ」は、Inter Connectの略で、本明細書独自の略称である。）ＭＰルータ８５（８５ａ、８５ｂ）は、仮想ネットワーク８３内での転送を行うルータである。（なお、「ＭＰ」は、Mid-Pointの略で、本明細書独自の略称である。）
仮想ネットワーク８３内の各ルータには、あらかじめ、転送レートを低速に設定する、滞留時間を長くする、実ネットワーク上で充分遠いノード間で仮想リンクを設定する、等の方法で、仮想ネットワーク８３を経由するパケットが遅延するようにする。
【００６７】
たとえば、中継装置２０がＩＣルータ８４ａ、図８のルータ８１がＩＣルータ８４ｂであるとする。このとき、ＩＣルータ８４ａからＩＣルータ８４ｂへの経路は、ＭＰルータ８５ａおよびＭＰルータ８５ｂを経由する経路と、ＭＰルータ８５ｂを経由する経路の２つがある。
【００６８】
ここで、ＩＣルータ８４ａ（中継装置２０）からＭＰルータ８５ｂへ、要求バッファサイズ分のパケットをすべて転送したとする。また、ＭＰルータ８５ｂでは、要求バッファサイズ分のデータを受信してからＩＣルータ８４ｂ（ルータ８１）へ出力する。そのため、ＭＰルータ８５ｂ経由の経路の遅延量が、要求バッファサイズ分のバッファリングに必要な時間Ｔ以上になるようにする。なお、この時間Ｔは、送信装置１０から中継装置２０への転送レートと要求バッファサイズから計算することができる。また、中継装置２０は、時間Ｔ以上の遅延量の経路へパケットを転送する。
【００６９】
図１０に、この場合の、送信装置１０から中継装置２０への転送データ量、中継装置２０からルータ８１への転送データ量、クライアント８２でのコンテンツの再生データ量の関係を示す。なお、この例では、ＭＰルータ８５ｂでの遅延量は、要求バッファサイズ分のバッファリングに必要な時間Ｔであると仮定する。また、ルータ８１からクライアント８２へのデータ転送、および、中継装置２０からルータ８１への仮想ネットワークを経由しないデータ転送は瞬時に行われると仮定する。
【００７０】
このとき、ＭＰルータ８５ｂでは、時間Ｔだけパケットを遅延させるため、時間０から時間Ｔまでに送信装置１０から中継装置２０へ転送されたパケットは、ＭＰルータ８５ｂを経由して、時間Ｔから時間２Ｔの間にルータ８１へ到着する。また、時間Ｔ以降に送信装置１０から中継装置２０へ転送されたパケットは、ＭＰルータ８５ｂを経由せずに、時間Ｔ以降にルータ８１へ到着する。そのため、中継装置２０からルータ８１への転送データ量は図１０の太実線のようになり、中継装置２０からルータ８１への転送レートは送信装置１０から中継装置２０への転送レートの２倍となる。
【００７１】
しかし、時間０から時間Ｔまでに送信装置１０から中継装置２０へ転送されたパケットは、時間Ｔから時間２Ｔの間は、送信装置１０と中継装置２０の間の転送レートと同じ転送レートでＭＰルータ８５ｂからルータ８１へ転送される。また、時間２Ｔの時点では、時間Ｔから時間２Ｔの間に送信装置１０から中継装置２０へ転送されたパケットがルータ８１に到着している。そのため、クライアント８２から見た再生可能なデータ量は図１０の太点線のようになる。
【００７２】
したがって、時間２Ｔ以降はコンテンツの再生レートでのコンテンツ再生が可能だが、時間Ｔから時間２Ｔの間は、コンテンツの再生レートより低いレートでパケットがクライアント８２に到着するため、コンテンツの再生品質に劣化が生じる。
【００７３】
しかし、バッファリングを行わない場合は、送信装置１０から中継装置２０への転送レートがコンテンツの再生レートより低い場合、コンテンツの再生中、常に品質劣化が生じ得る。そのため、バッファリングを行うと、品質劣化期間を生じる場合であっても、バッファリングを行わない場合に比べると、品質劣化を低減することが可能である。
【００７４】
また、ＩＣルータ８４ａ（中継装置２０）からＭＰルータ８５ａとＭＰルータ８５ｂの両方にパケットを転送したとする。そして、ＭＰルータ８５ａ経由の経路の遅延量が時間Ｔ、ＭＰルータ８５ｂ経由の経路の遅延量がＴ／２であるとする。
【００７５】
このように、経路が複数あるとき、中継装置２０は、要求バッファサイズを経路数で割ったサイズずつ、遅延量の大きい経路から遅延量の小さい経路へパケットを転送すると良い。
【００７６】
この例の場合、まず、ＩＣルータ８４ａからＭＰルータ８５ａへ要求バッファサイズの半分のパケットを転送し、次に、ＩＣルータ８４ａからＭＰルータ８５ｂへ残り半分のパケットを転送する。このようにすると、時間Ｔ／２から時間Ｔまでに送信装置１０から中継装置２０へ転送されたパケットが、時間Ｔから時間３Ｔ／２の間にルータ８１に到着するようになる。そのため、品質劣化期間が時間Ｔから時間３Ｔ／２までとなり、転送経路が一つの場合より、品質劣化期間を短くすることが可能になる。
【００７７】
このように、転送経路をより多く用意し、遅延量の大きい経路から遅延量の小さい経路へパケットを転送すると、品質劣化期間をより短くすることが可能になる。
【００７８】
なお、クライアント８２へのコンテンツデータへの到着順は、転送経路の違いにより前後する可能性がある。到着順が前後することでクライアント８２でのコンテンツ再生に支障がある場合には、中継装置２０が出力するパケットにたとえば図１１のようにシーケンス番号を付与する。そして、ルータ８１あるいはクライアント８２でシーケンス番号を参照してパケットの順を元に戻すことで、クライアント８２では正常にコンテンツを再生することが可能になる。
【００７９】
このように送信装置１０および中継装置２０を構成することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００８０】
また、本実施形態では、送信装置１０が中継装置２０へ要求バッファサイズを送信し、中継装置２０が要求バッファサイズ分のパケットをバッファリングする。これにより、クライアント８２でのコンテンツ再生の品質劣化を低減することが可能になる。
【００８１】
また、本実施形態では、中継装置２０は、仮想ネットワークへパケットをバッファリングすることが可能である。この場合、中継装置２０上のバッファにパケットをバッファリングする場合に比べて、中継装置２０の資源の節約を行うことができる。また、仮想ネットワークへ転送することにより、実ネットワークへ転送する場合に比べて、実ネットワーク内での他の通常の通信や経路制御情報に影響を与えることなく、パケットの転送処理を行うことができる。
【００８２】
次に、図１２に本実施形態の送信装置１０の動作例を、図１３から図１５に本実施形態の中継装置２０の動作例を示す。
【００８３】
送信装置１０は、クライアント８２からコンテンツ（動画など）の要求を受け取ると、コンテンツの送信を開始する。コンテンツの送信を開始すると、送信装置１０のパケット生成部１１は、中継装置２０に対してバッファリングを要求するパケットの量（要求バッファサイズ）を決定する（図１２のステップＳ２０１）。
【００８４】
次に、パケット生成部１１は、中継装置２０へ送信したパケット量が要求バッファサイズに到達していなければ（ステップＳ２０２でＮＯ）、コンテンツデータおよび処理情報を含むパケットを生成する（ステップＳ２０３）。処理情報を含むパケットは、たとえば、図５の（ｂ）の構成のパケットである。なお、このパケットの宛先は、中継装置２０である。また、本実施形態では、処理情報はデータストリーム番号と要求バッファサイズを含む。
【００８５】
また、中継装置２０へ送信したパケット量が要求バッファサイズに到達していれば（ステップＳ２０２でＹＥＳ）、パケット生成部１１は、処理情報を含まないパケットを生成する（ステップＳ２０４）。処理情報を含まないパケットは、たとえば、図５の（ａ）の構成のパケットである。なお、このパケットの宛先は、クライアント８２である。
【００８６】
次に、送信部１２は、ステップＳ２０３あるいはステップＳ２０４で生成したパケットを中継装置２０へ送信する（ステップＳ２０５）。そして、送信装置１０は、送信すべきコンテンツデータが残っている場合には、ステップＳ２０２に戻り、送信すべきコンテンツデータが残っていなければ、コンテンツの送信を終了する（ステップＳ２０６）。
【００８７】
中継装置２０の処理部２２は、受信部２１が受信したパケットが自装置宛でなければ（図１３のステップＳ３０１でＮＯ）、通常のルーティング処理により、受信したパケットをネクストホップへ転送する（ステップＳ３０２）。受信したパケットが自装置宛だった場合は（ステップＳ３０１でＹＥＳ）、パケットに処理情報が含まれるかどうか確認し、処理情報がなければ（ステップＳ３０３でＮＯ）、本来の自装置宛のパケットとしてＣＰＵ処理を行う（ステップＳ３０４）。
【００８８】
受信部２１が受信したパケットに処理情報があれば（ステップＳ３０３でＹＥＳ）、処理部２２は処理情報に従ってバッファリングを実行する。処理部２２は、バッファリングしたパケットの量が要求バッファサイズを超えていなければ（ステップＳ３０５でＮＯ）、受信したパケットをバッファリングする（ステップＳ３０６）。このとき、処理部２２は、パケットから元のパケットを取り出して、取り出したパケットをルータのバッファに記憶させる、あるいは、仮想ネットワークへ転送する。
【００８９】
また、バッファリングしたパケットデータの量が要求バッファサイズを超えていれば（ステップＳ３０５でＹＥＳ）、処理部２２は通常のルーティング処理を行う（ステップＳ３０２）。このとき、受信したパケットは処理情報を含むパケットのため、処理部２２は受信したパケットから処理情報を含まない元のパケットを取り出して、取り出した元のパケットをネクストホップへ転送する。
【００９０】
図１４および図１５は、バッファリングしたパケットをルータ８１へ出力する際の動作例である。図１４は、中継装置２０のバッファにパケットをバッファリングするときの例、図１５は、仮想ネットワークへパケットを転送するときの例である。
【００９１】
まず、図１４を用いて、中継装置２０のルータにパケットをバッファリングするときの動作例について説明する。図１４の動作例は、各データストリーム番号に対して、図１３のステップＳ３０６、つまり、バッファリングを初めて実行した際に開始する。
【００９２】
バッファリングを開始すると、送信部１２は、バッファリングしたパケットの量が要求バッファサイズを超えるのを待つ。そしてバッファリングしたパケットの量が要求バッファサイズを超えると（ステップＳ４０１でＹＥＳ）、バッファリングしたパケットのルータ８１への送信を開始する（ステップＳ４０２）。そして、バッファリングしたパケットがある間は送信を続け、送信すべきパケットがなくなると（ステップＳ４０３でＮＯ）、バッファデータの送信を終了する。
【００９３】
次に、図１５を用いて、仮想ネットワークへパケットを転送するときの動作例について説明する。図１５は、図１３のステップＳ３０６（バッファリング）のより具体的な動作例である。バッファリングしたパケットの量が要求バッファサイズを超えていなければ（ステップＳ３０５でＮＯ）、処理部２２はパケットの転送先のＭＰルータを決定する（ステップＳ５０１）。そして、処理部２２は、決定したＭＰルータへパケットを転送する（ステップＳ５０２）。仮想ネットワークへ転送されたパケットは、各経路を経由して、ルータ８１へ転送される。
【００９４】
このように動作することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００９５】
以上で説明したように、本発明の第二の実施形態では、第一の実施形態と同様に、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【００９６】
また、本実施形態では、送信装置１０が中継装置２０へ要求バッファサイズを送信し、中継装置２０が要求バッファサイズ分のパケットをバッファリングする。これにより、クライアント８２でのコンテンツ再生の品質劣化を低減することが可能になる。
【００９７】
また、本実施形態では、中継装置２０は、仮想ネットワークへパケットをバッファリングすることが可能である。この場合、中継装置２０上のバッファにパケットをバッファリングする場合に比べて、中継装置２０の資源の節約を行うことができる。また、仮想ネットワークへ転送することにより、実ネットワークへ転送する場合に比べて、実ネットワーク内での他の通常の通信や経路制御情報に影響を与えることなく、パケットの転送処理を行うことができる。
【００９８】
［第三の実施形態］
次に、本発明の第三の実施の形態について説明する。本実施形態は、送信装置１０の代わりに中継装置２０がデータの暗号化を行う場合の具体例について説明する。
【００９９】
本実施形態の通信システムの構成例は図４と同様である。また、本実施形態の送信装置１０および中継装置２０の構成例は図１と同様である。
【０１００】
本実施形態では、送信装置１０のパケット生成部１１は、暗号化が必要なデータに対して、暗号化に必要な情報を処理情報として含むパケットを生成する。送信部１２は、パケット生成部１１が生成したパケットを中継装置２０へ送信する。
【０１０１】
また、中継装置２０の受信部２１は、送信装置１０からパケットを受信する。処理部２２は、受信したパケットに含まれる処理情報に従って、受信したパケットのデータ部分を暗号化する。
【０１０２】
このように送信装置１０および中継装置２０を構成することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１０３】
また、本実施形態では、送信装置１０が処理情報として暗号化に必要な情報を含むパケットを送信することによって、中継装置２０が送信装置１０の代わりにデータの暗号化を行うことが可能になる。
【０１０４】
次に、図２および図１６を用いて、本実施形態の送信装置１０および中継装置２０の動作例について説明する。
【０１０５】
まず、送信装置１０は、パケットを生成する際に、暗号化が必要なデータに対して、暗号化に必要な情報を含む処理情報を含むパケットを生成する（図２のステップＳ１０１）。このとき、パケットの宛先は中継装置２０とする。また、暗号化が不要なデータについては、処理情報を含まないパケットを生成する。このとき、パケットの宛先はクライアント８２のままである。そして、送信部１２は生成したパケットを中継装置２０へ送信する（ステップＳ１０２）。
【０１０６】
パケットを受信した中継装置２０は、パケットが自装置宛でない場合は（図１６のステップＳ６０１でＮＯ）、通常のルーティングを行う（ステップＳ６０２）。パケットが自装置宛で（ステップＳ６０１でＹＥＳ）、処理情報を含まない場合は（ステップＳ６０３でＮＯ）、ＣＰＵ処理を行う（ステップＳ６０４）。パケットが自装置宛で（ステップＳ６０１でＹＥＳ）、処理情報を含む場合は（ステップＳ６０３でＹＥＳ）、処理情報に従ってパケットのデータ部分を暗号化する（ステップＳ６０５）。
【０１０７】
このように動作することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１０８】
以上で説明したように、本発明の第三の実施形態では、第一および第二の実施形態と同様に、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１０９】
また、本実施形態では、送信装置１０が処理情報として暗号化に必要な情報を含むパケットを送信することによって、中継装置２０が送信装置１０の代わりにデータの暗号化を行うことが可能になる。
【０１１０】
［第四の実施形態］
次に、本発明の第四の実施の形態について説明する。本実施形態では、仮想ネットワーク上でパケットの暗号化を行う場合の具体例について説明する。
【０１１１】
本実施形態の通信システムの構成例は図８と同様である。また、本実施形態の送信装置１０および中継装置２０の構成例は図１と同様である。
【０１１２】
本実施形態では、送信装置１０のパケット生成部１１は、仮想ネットワークでの暗号化が必要なデータに対して、処理情報を含むパケットを生成する。本実施形態の場合、処理情報は、転送経路情報（転送先のＭＰルータの情報）と暗号化に必要な情報を含む。そして、送信部１２は、パケット生成部１１が生成したパケットを中継装置２０へ送信する。
【０１１３】
また、中継装置２０の受信部２１は、送信装置１０からパケットを受信する。そして、処理部２２は、暗号化に必要な情報を含むパケットを生成して、処理情報で指定されたＭＰルータへパケットを転送する。このとき、処理部２２は、元のパケットをカプセル化し、宛先を処理情報で指定されたＭＰルータとし、暗号化に必要な情報を付与して、パケットを送信する。そして、パケットを受信したＭＰルータは、自装置宛のパケットを暗号化して転送する。
【０１１４】
このように送信装置１０および中継装置２０を構成することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１１５】
また、本実施形態では、送信装置１０が暗号化を行う仮想ネットワーク上のルータを指定することにより、送信経路の一部での盗聴を防止することが可能になる。
【０１１６】
次に、図２および図１７を用いて、本実施形態の送信装置１０および中継装置２０の動作例について説明する。
【０１１７】
まず、送信装置１０のパケット生成部１１は、暗号化が必要なデータに対して、処理情報を含むパケットを生成する（図２のステップＳ１０１）。このとき、処理情報は、暗号化を行う仮想ネットワーク上のＭＰルータの情報と、暗号化に必要な情報を含む。そして、送信部１２は生成したパケットを中継装置２０へ送信する（ステップＳ１０２）。
【０１１８】
パケットを受信した中継装置２０は、パケットが自装置宛でない場合は（図１７のステップＳ７０１でＮＯ）、通常のルーティングを行う（ステップＳ７０２）。パケットが自装置宛で（ステップＳ７０１でＹＥＳ）、処理情報を含まない場合は（ステップＳ７０３でＮＯ）、ＣＰＵ処理を行う（ステップＳ７０４）。
【０１１９】
パケットが自装置宛で（ステップＳ７０１でＹＥＳ）、処理情報を含む場合は（ステップＳ７０３でＹＥＳ）、処理部２２は、処理情報で指定されたＭＰルータへパケットを転送する（ステップＳ７０５）。このとき、中継装置２０は、たとえば、図１１のように、元のパケットをカプセル化し、シーケンス番号の代わりに暗号化に関する情報を格納したパケットを送信する。そして、パケットを受信したＭＰルータは、受信したパケットのカプセル化を解除し、元のパケットを暗号化して転送する。
【０１２０】
このように動作することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１２１】
以上で説明したように、本発明の第四の実施形態では、第一から第三の実施形態と同様に、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１２２】
また、本実施形態では、送信装置１０が暗号化を行う仮想ネットワーク上のルータを指定することにより、送信経路の一部での盗聴を防止することが可能になる。
【０１２３】
［第五の実施形態］
次に、本発明の第四の実施の形態について説明する。本実施形態では、中継装置２０がキャッシュ応答機能を持つ場合の具体例について説明する。
【０１２４】
本実施形態の通信システムの構成例は図４と同様である。また、本実施形態の送信装置１０および中継装置２０の構成例は図１と同様である。
【０１２５】
本実施形態では、送信装置１０のパケット生成部１１は、クライアント８２へ応答するコンテンツデータについて、処理情報を含むパケットを生成する。このとき、処理情報は、キャッシュの記憶であることを示す情報と、キャッシュ用のタグ値の情報を含む。
【０１２６】
また、パケット生成部１１は、クライアント８２からコンテンツの要求を受信したとき、要求されたコンテンツがキャッシュ済みのコンテンツであった場合、コンテンツデータを含まず、処理情報を含むパケットを生成する。このとき、処理情報は、キャッシュの参照であることを示す情報と、タグ値の情報を含む。
【０１２７】
送信部１２は、パケット生成部１１が生成したパケットを中継装置２０へ送信する。
【０１２８】
中継装置２０の処理部２２は、受信部２１が受信したパケットの処理情報がキャッシュ記憶を示すとき、受信したパケットのコンテンツデータを、中継装置２０、あるいは、仮想ネットワーク上のキャッシュに記憶させる。また、パケットから元のパケットを取り出し、クライアント８２へ向けて転送する。
【０１２９】
仮想ネットワーク上のキャッシュとしては、たとえば、仮想ネットワーク上のＨＤＤやＳＳＤ、あるいは、仮想ネットワーク上のフラッシュメモリなどを使用することが可能である。
【０１３０】
また、処理部２２は、受信したパケットの処理情報がキャッシュ参照を示すとき、処理情報に含まれるタグ値に対応するコンテンツデータをキャッシュから取得し、コンテンツデータを含むパケットをクライアント８２へ向けて送信する。
【０１３１】
このように送信装置１０および中継装置２０を構成することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１３２】
また、本実施形態では、送信装置１０がキャッシュ記憶あるいはキャッシュ参照を処理情報として含むパケットを中継装置２０へ送信する。これにより、中継装置２０は自装置のキャッシュあるいは仮想ネットワーク上のキャッシュへデータをキャッシュし、キャッシュしたデータをクライアント８２へ応答することが可能になる。
【０１３３】
次に、図１８に本実施形態の送信装置１０の動作例を、また、図１９に本実施形態の中継装置２０の動作例を示す。
【０１３４】
送信装置１０のパケット生成部１１は、クライアント８２からコンテンツ要求を受信すると、要求されたコンテンツがキャッシュ済みかどうかを確認する（図１８のステップＳ８０１）。そして、キャッシュ済みのコンテンツでない場合（ステップＳ８０１でＮＯ）、処理情報とコンテンツデータを含むパケットを生成する（ステップＳ８０２）。このとき、処理情報は、キャッシュ記憶であることを示す情報、および、タグ値を含む。
【０１３５】
また、要求されたコンテンツがキャッシュ済みのコンテンツの場合（ステップＳ８０１でＹＥＳ）、処理情報を含むパケットを生成する（ステップＳ８０３）。このとき、処理情報は、キャッシュ参照であることを示す情報、および、タグ値を含む。また、ここで生成するパケットは、コンテンツデータを含まないパケットである。たとえば、図５の（ｂ）で、元のパケットのデータ部分がパディングになっているデータである。
【０１３６】
次に、送信部１２は、ステップＳ８０２あるいはステップＳ８０３で生成されたパケットを中継装置２０へ送信する（ステップＳ８０４）。そして、クライアント８２へ送信すべきコンテンツデータが残っている場合には（ステップＳ８０５でＹＥＳ）、送信装置１０はステップＳ８０１の動作を行う。
【０１３７】
中継装置２０の処理部２２は、受信したパケットが自装置宛でない場合（図１９のステップＳ９０１でＮＯ）、受信したパケットに対して通常のルーティングを行う（ステップＳ９０２）。
【０１３８】
受信したパケットが自装置宛で（ステップＳ９０１でＹＥＳ）、処理情報がキャッシュ記憶を示すとき（ステップＳ９０３でＹＥＳ）、処理部２２は、受信した部分のコンテンツデータ部分とタグ値をキャッシュへ記憶させる。また、処理部２２は、カプセル化されたパケットを元のパケットに戻して、クライアント８２へ向けて転送する（ステップＳ９０４）。
【０１３９】
受信したパケットが自装置宛で（ステップＳ９０１でＹＥＳ）、処理情報がキャッシュ参照を示すとき（ステップＳ９０５でＹＥＳ）、処理部２２は、キャッシュからタグ値に対応するコンテンツデータを取得する。そして、処理部２２は、カプセル化されたパケットを元のパケットに戻し、データ部分にコンテンツデータを格納して、クライアント８２へ向けて送信する（ステップＳ９０６）。
【０１４０】
受信したパケットが自装置宛で（ステップＳ９０１でＹＥＳ）、処理情報を含まないとき（ステップＳ９０５でＮＯ）、処理部２２はパケットに対してＣＰＵ処理を行う（ステップＳ９０７）。（なお、本実施形態では、処理情報がパケットに含まれる場合、処理情報はキャッシュ記憶、あるいは、キャッシュ参照のいずれかを示すものとする。）
このように動作することによって、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１４１】
以上で説明したように、本発明の第五の実施形態では、第一から第四の実施形態と同様に、送信装置１０は、中継装置２０がパケットに対して行う処理を示す処理情報を含むパケットを生成して送信する。また、中継装置２０は、処理情報を含むパケットを受信して、処理情報に従ってパケットを処理する。これにより、暗号化前の上位レイヤの内容を把握している送信装置１０が中継装置２０の処理を指定し、中継装置２０は上位レイヤの内容を把握することなく、必要な処理を送信装置１０から受信したパケットに対して実施することが可能になる。そのため、送信装置が送信するパケットデータの内容を中継装置が監視することなく、中継装置が送信装置の機能を補助することが可能になる。
【０１４２】
また、本実施形態では、送信装置１０がキャッシュ記憶あるいはキャッシュ参照を処理情報として含むパケットを中継装置２０へ送信する。これにより、中継装置２０は自装置のキャッシュあるいは仮想ネットワーク上のキャッシュへデータをキャッシュし、キャッシュしたデータをクライアント８２へ応答することが可能になる。
【０１４３】
なお、第二から第五の実施形態で説明した具体例以外に、送信装置１０および中継装置２０は、ＷＡＮの高速化等、一般的なアプリケーション最適化装置が行う処理を実現することも可能である。
【０１４４】
［ハードウェア構成例］
上述した本発明の各実施形態における送信装置１０あるいは中継装置２０を、一つの情報処理装置（コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。なお、送信装置１０あるいは中継装置２０は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、送信装置１０あるいは中継装置２０は、専用の装置として実現してもよい。また、送信装置１０あるいは中継装置２０の一部の機能のみを情報処理装置を用いて実現しても良い。
【０１４５】
図２０は、本発明の各実施形態の送信装置１０あるいは中継装置２０を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置９０は、通信インタフェース９１、入出力インタフェース９２、演算装置９３、記憶装置９４および不揮発性記憶装置９５およびドライブ装置９６を備える。
【０１４６】
通信インタフェース９１は、各実施形態の送信装置１０あるいは中継装置２０が、有線あるいは／および無線で外部装置と通信するための通信手段である。なお、送信装置１０あるいは中継装置２０を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース９１経由で相互に通信可能なように接続しても良い。
【０１４７】
入出力インタフェース９２は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
【０１４８】
演算装置９３は、汎用のＣＰＵ（Central Processing Unit）やマイクロプロセッサ等の演算処理装置である。演算装置９３は、たとえば、不揮発性記憶装置９５に記憶された各種プログラムを記憶装置９４に読み出し、読み出したプログラムに従って処理を実行することが可能である。
【０１４９】
記憶装置９４は、演算装置９３から参照可能な、ＲＡＭ（Random Access Memory）等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置９４は、揮発性のメモリ装置であっても良い。
【０１５０】
不揮発性記憶装置９５は、たとえば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。
【０１５１】
ドライブ装置９６は、たとえば、後述する記録媒体９７に対するデータの読み込みや書き込みを処理する装置である。
【０１５２】
記録媒体９７は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０１５３】
本発明の各実施形態は、たとえば、図２０に例示した情報処理装置９０により送信装置１０あるいは中継装置２０を構成し、この送信装置１０あるいは中継装置２０に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
【０１５４】
この場合、送信装置１０あるいは中継装置２０に対して供給したプログラムを、演算装置９３が実行することによって、実施形態を実現することが可能である。また、送信装置１０あるいは中継装置２０のすべてではなく、一部の機能を情報処理装置９０で構成することも可能である。
【０１５５】
さらに、上記プログラムを記録媒体９７に記録しておき、送信装置１０あるいは中継装置２０の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置９５に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用して送信装置１０あるいは中継装置２０内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
【０１５６】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【０１５７】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５８】
（付記１）
中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成するパケット生成部と、
前記パケットを送信する送信部と
を備えることを特徴とする送信装置。
【０１５９】
（付記２）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含む
ことを特徴とする付記１に記載の送信装置。
【０１６０】
（付記３）
前記処理情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含む
ことを特徴とする付記２に記載の送信装置。
【０１６１】
（付記４）
前記パケット生成部は、前記要求バッファサイズを、前記パケットで送信するコンテンツのサイズ、前記コンテンツの再生レート、前記中継装置との間の転送レート、のいずれか一つ以上に基づいて決定する
ことを特徴とする付記３に記載の送信装置。
【０１６２】
（付記５）
前記処理情報は、前記パケットに対する暗号化に関する情報を含む
ことを特徴とする付記１に記載の送信装置。
【０１６３】
（付記６）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含む
ことを特徴とする付記１に記載の送信装置。
【０１６４】
（付記７）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含む
ことを特徴とする付記１に記載の送信装置。
【０１６５】
（付記８）
前記処理情報は、ＷＡＮ（Wide Area Network）の最適化に関する情報を含む
ことを特徴とする付記１に記載の送信装置。
【０１６６】
（付記９）
パケットに対して行う処理を示す処理情報を含む前記パケットを受信する受信部と、
前記処理情報に従って前記パケットを処理する処理部と
を備えることを特徴とする中継装置。
【０１６７】
（付記１０）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含み、
前記処理部は、前記処理情報に従って前記パケットを前記バッファリングする
ことを特徴とする付記９に記載の中継装置。
【０１６８】
（付記１１）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理部は、前記要求バッファサイズに従って前記パケットを前記バッファリングし、前記バッファリングした前記パケットの量が前記要求バッファサイズを超えたとき、前記バッファリングした前記パケットを送信する
ことを特徴とする付記１０に記載の中継装置。
【０１６９】
（付記１２）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理部は、前記要求バッファサイズに到達するまで、前記パケットを仮想ネットワークへ転送する
ことを特徴とする付記１０に記載の中継装置。
【０１７０】
（付記１３）
前記処理情報は、前記パケットに対する暗号化に関する情報を含み、
前記処理部は、前記処理情報に従って前記パケットを暗号化する
ことを特徴とする付記９に記載の中継装置。
【０１７１】
（付記１４）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含み、
前記処理部は、前記処理情報に従って前記パケットを前記仮想ネットワークへ転送する
ことを特徴とする付記９に記載の中継装置。
【０１７２】
（付記１５）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含み、
前記処理部は、前記処理情報が前記キャッシュへの前記記憶に関する情報を含むとき、前記パケットを前記キャッシュに記憶させるとともに転送し、また、前記処理情報が前記キャッシュへの前記参照を示すとき、前記キャッシュから取得した前記パケットを送信する
ことを特徴とする付記９に記載の中継装置。
【０１７３】
（付記１６）
前記処理情報は、ＷＡＮの最適化に関する情報である
ことを特徴とする付記９に記載の中継装置。
【０１７４】
（付記１７）
付記１に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記９に記載の中継装置である
ことを特徴とする通信システム。
【０１７５】
（付記１８）
付記２から付記４のいずれかに記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記１０から付記１２のいずれかに記載の中継装置である
ことを特徴とする通信システム。
【０１７６】
（付記１９）
付記５に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記１３に記載の中継装置である
ことを特徴とする通信システム。
【０１７７】
（付記２０）
付記６に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記１４に記載の中継装置である
ことを特徴とする通信システム。
【０１７８】
（付記２１）
付記７に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記１５に記載の中継装置である
ことを特徴とする通信システム。
【０１７９】
（付記２２）
付記８に記載の送信装置と、
前記中継装置と
を備え、
前記中継装置は、付記１６に記載の中継装置である
ことを特徴とする通信システム。
【０１８０】
（付記２３）
中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成し、
前記パケットを送信する
ことを特徴とする送信方法。
【０１８１】
（付記２４）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含む
ことを特徴とする付記２３に記載の送信方法。
【０１８２】
（付記２５）
前記処理情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含む
ことを特徴とする付記２４に記載の送信方法。
【０１８３】
（付記２６）
前記要求バッファサイズを、前記パケットで送信するコンテンツのサイズ、前記コンテンツの再生レート、前記中継装置との間の転送レート、のいずれか一つ以上に基づいて決定する
ことを特徴とする付記２５に記載の送信方法。
【０１８４】
（付記２７）
前記処理情報は、前記パケットに対する暗号化に関する情報を含む
ことを特徴とする付記２３に記載の送信方法。
【０１８５】
（付記２８）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含む
ことを特徴とする付記２３に記載の送信方法。
【０１８６】
（付記２９）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含む
ことを特徴とする付記２３に記載の送信方法。
【０１８７】
（付記３０）
前記処理情報は、ＷＡＮ（Wide Area Network）の最適化に関する情報を含む
ことを特徴とする付記２３に記載の送信方法。
【０１８８】
（付記３１）
パケットに対して行う処理を示す処理情報を含む前記パケットを受信し、
前記処理情報に従って前記パケットを処理する
ことを特徴とする中継方法。
【０１８９】
（付記３２）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含み、
前記処理情報に従って前記パケットを前記バッファリングする
ことを特徴とする付記３１に記載の中継方法。
【０１９０】
（付記３３）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記要求バッファサイズに従って前記パケットを前記バッファリングし、前記バッファリングした前記パケットの量が前記要求バッファサイズを超えたとき、前記バッファリングした前記パケットを送信する
ことを特徴とする付記３２に記載の中継方法。
【０１９１】
（付記３４）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記要求バッファサイズに到達するまで、前記パケットを仮想ネットワークへ転送する
ことを特徴とする付記３２に記載の中継方法。
【０１９２】
（付記３５）
前記処理情報は、前記パケットに対する暗号化に関する情報を含み、
前記処理情報に従って前記パケットを暗号化する
ことを特徴とする付記３１に記載の中継方法。
【０１９３】
（付記３６）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含み、
前記処理情報に従って前記パケットを前記仮想ネットワークへ転送する
ことを特徴とする付記３１に記載の中継方法。
【０１９４】
（付記３７）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含み、
前記処理情報が前記キャッシュへの前記記憶に関する情報を含むとき、前記パケットを前記キャッシュに記憶させるとともに転送し、また、前記処理情報が前記キャッシュへの前記参照を示すとき、前記キャッシュから取得した前記パケットを送信する
ことを特徴とする付記３１に記載の中継方法。
【０１９５】
（付記３８）
前記処理情報は、ＷＡＮの最適化に関する情報である
ことを特徴とする付記３１に記載の中継方法。
【０１９６】
（付記３９）
コンピュータに、
中継装置がパケットに対して行う処理を示す処理情報を含む前記パケットを生成するパケット生成機能と、
前記パケットを送信する送信機能と
を実現させることを特徴とする送信プログラム。
【０１９７】
（付記４０）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含む
ことを特徴とする付記３９に記載の送信プログラム。
【０１９８】
（付記４１）
前記処理情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含む
ことを特徴とする付記４０に記載の送信プログラム。
【０１９９】
（付記４２）
前記パケット生成機能は、前記要求バッファサイズを、前記パケットで送信するコンテンツのサイズ、前記コンテンツの再生レート、前記中継装置との間の転送レート、のいずれか一つ以上に基づいて決定する
ことを特徴とする付記４１に記載の送信プログラム。
【０２００】
（付記４３）
前記処理情報は、前記パケットに対する暗号化に関する情報を含む
ことを特徴とする付記３９に記載の送信プログラム。
【０２０１】
（付記４４）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含む
ことを特徴とする付記３９に記載の送信プログラム。
【０２０２】
（付記４５）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含む
ことを特徴とする付記３９に記載の送信プログラム。
【０２０３】
（付記４６）
前記処理情報は、ＷＡＮ（Wide Area Network）の最適化に関する情報を含む
ことを特徴とする付記３９に記載の送信プログラム。
【０２０４】
（付記４７）
コンピュータに、
パケットに対して行う処理を示す処理情報を含む前記パケットを受信する受信機能と、
前記処理情報に従って前記パケットを処理する処理機能と
を実現させることを特徴とする中継プログラム。
【０２０５】
（付記４８）
前記処理情報は、前記パケットに対するバッファリングに関する情報を含み、
前記処理機能は、前記処理情報に従って前記パケットを前記バッファリングする
ことを特徴とする付記４７に記載の中継プログラム。
【０２０６】
（付記４９）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理機能は、前記要求バッファサイズに従って前記パケットを前記バッファリングし、前記バッファリングした前記パケットの量が前記要求バッファサイズを超えたとき、前記バッファリングした前記パケットを送信する
ことを特徴とする付記４８に記載の中継プログラム。
【０２０７】
（付記５０）
前記バッファリングに関する情報は、前記バッファリングを行う前記パケットの量を示す情報である、要求バッファサイズを含み、
前記処理機能は、前記要求バッファサイズに到達するまで、前記パケットを仮想ネットワークへ転送する
ことを特徴とする付記４８に記載の中継プログラム。
【０２０８】
（付記５１）
前記処理情報は、前記パケットに対する暗号化に関する情報を含み、
前記処理機能は、前記処理情報に従って前記パケットを暗号化する
ことを特徴とする付記４７に記載の中継プログラム。
【０２０９】
（付記５２）
前記処理情報は、前記パケットに対する、仮想ネットワーク上での暗号化に関する情報を含み、
前記処理機能は、前記処理情報に従って前記パケットを前記仮想ネットワークへ転送する
ことを特徴とする付記４７に記載の中継プログラム。
【０２１０】
（付記５３）
前記処理情報は、前記パケットに対する、キャッシュへの記憶、あるいは、前記キャッシュの参照に関する情報を含み、
前記処理機能は、前記処理情報が前記キャッシュへの前記記憶に関する情報を含むとき、前記パケットを前記キャッシュに記憶させるとともに転送し、また、前記処理情報が前記キャッシュへの前記参照を示すとき、前記キャッシュから取得した前記パケットを送信する
ことを特徴とする付記４７に記載の中継プログラム。
【０２１１】
（付記５４）
前記処理情報は、ＷＡＮの最適化に関する情報である
ことを特徴とする付記４７に記載の中継プログラム。
【符号の説明】
【０２１２】
１０    送信装置
１１    パケット生成部
１２    送信部
２０    中継装置
２１    受信部
２２    処理部
９０    情報処理装置
９１    通信インタフェース
９２    入出力インタフェース
９３    演算装置
９４    記憶装置
９５    不揮発性記憶装置
９６    ドライブ装置
９７    記録媒体
【図１】
2018098674.tif 000004
【図２】
2018098674.tif 000005
【図３】
2018098674.tif 000006
【図４】
2018098674.tif 000007
【図５】
2018098674.tif 000008
【図６】
2018098674.tif 000009
【図７】
2018098674.tif 000010
【図８】
2018098674.tif 000011
【図９】
2018098674.tif 000012
【図１０】
2018098674.tif 000013
【図１１】
2018098674.tif 000014
【図１２】
2018098674.tif 000015
【図１３】
2018098674.tif 000016
【図１４】
2018098674.tif 000017
【図１５】
2018098674.tif 000018
【図１６】
2018098674.tif 000019
【図１７】
2018098674.tif 000020
【図１８】
2018098674.tif 000021
【図１９】
2018098674.tif 000022
【図２０】
2018098674.tif 000023
【図２１】
2018098674.tif 000024
【図２２】
2018098674.tif 000025