(57)【要約】【課題】同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能にする。【解決手段】  中継装置は、配信サーバから配信される複数のコンテンツを含むデータを受信し、前記データをクライアントに送信する。中継装置は、記憶部、抽出部、処理部、通信部を備える。記憶部は、クライアントで記憶されるデータに含まれるコンテンツと前記コンテンツを識別する識別情報の関係を保持する。抽出部は、前記配信サーバからデータを受信すると、前記データからコンテンツを抽出する。処理部は、抽出したコンテンツと一致するコンテンツが前記記憶部に記憶されている場合、前記記憶部のコンテンツと識別情報の関係に基づいて前記抽出したコンテンツを対応する識別情報に変換する。通信部は、前記識別情報を前記クライアント宛に送信する。【選択図】図２
2017134539.tif 000002
【特許請求の範囲】
【請求項１】
配信サーバから配信される複数のコンテンツを含むデータを受信し、前記データをクライアントに送信する中継装置において、
クライアントで記憶されるデータに含まれるコンテンツと前記コンテンツを識別する識別情報の関係を記憶する記憶部と、
前記配信サーバからデータを受信すると、前記データからコンテンツを抽出する抽出部と、
抽出したコンテンツと一致するコンテンツが前記記憶部に記憶されている場合、前記記憶部のコンテンツと識別情報の関係に基づいて前記抽出したコンテンツを対応する識別情報に変換する処理部と、
前記識別情報を前記クライアント宛に送信する通信部と、を有する
ことを特徴とする中継装置。
【請求項２】
前記処理部は、前記抽出したコンテンツと一致するコンテンツが記憶されているか否かの判定に、コンテンツのデータサイズとハッシュ値を用いる
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記処理部は、前記データに含まれるＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）ヘッダをヘッダ識別情報に変換し、
前記通信部は、前記ヘッダ識別情報と前記識別情報とを前記クライアント宛に送信する
ことを特徴とする請求項２に記載の中継装置。
【請求項４】
配信サーバから配信される複数のコンテンツを含むデータをキャッシュとして保持するクライアントで記憶されるキャッシュデータを、コンテンツと前記コンテンツを識別する識別情報とを対応づけて記憶する記憶部と、
前記識別情報を受信すると、前記識別情報から元のコンテンツを復元する処理部と、
を備えることを特徴とするルータ。
【請求項５】
複数のコンテンツを含むデータを配信する配信サーバと、
前記配信サーバから前記複数のコンテンツを含むデータを受信すると、前記データから各コンテンツを抽出し、抽出したコンテンツと対応して記憶している前記抽出したコンテンツに対応する識別情報に変換し、前記識別情報を中継する中継装置と、
前記識別情報を前記中継装置から受信すると、前記識別情報に対応したコンテンツを、キャッシュデータから復元するルータと、
前記ルータから、復元したデータを受信するクライアントと、を含む
ことを特徴とする配信システム
【請求項６】
配信サーバから配信される複数のコンテンツを含むデータを受信し、前記データをクライアントに送信する中継装置における中継方法であって、
クライアントで記憶されるデータに含まれるコンテンツと前記コンテンツを識別する識別情報の関係を記憶し、
前記配信サーバからデータを受信すると、前記データからコンテンツを抽出し、
抽出したコンテンツと一致するコンテンツが前記記憶部に記憶されている場合、前記記憶部のコンテンツと識別情報の関係に基づいて前記抽出したコンテンツを対応する識別情報に変換し、
前記識別情報を前記クライアント宛に送信する、
ことを特徴とする中継方法。
【請求項７】
前記抽出したコンテンツと一致するコンテンツが記憶されているか否かの判定に、コンテンツのデータサイズとハッシュ値を用いる
ことを特徴とする請求項６に記載の中継方法。
【請求項８】
前記データに含まれるＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）ヘッダをヘッダ識別情報に変換し、
前記ヘッダ識別情報と前記識別情報とを前記クライアント宛に送信する
ことを特徴とする請求項７に記載の中継方法。
【請求項９】
配信サーバから配信される複数のコンテンツを含むデータを受信し、前記データをクライアントに送信する中継装置で動作する中継プログラムであって、
クライアントで記憶されるデータに含まれるコンテンツと前記コンテンツを識別する識別情報の関係を記憶し、
前記配信サーバからデータを受信すると、前記データからコンテンツを抽出し、
抽出したコンテンツと一致するコンテンツが前記記憶部に記憶されている場合、前記記憶部のコンテンツと識別情報の関係に基づいて前記抽出したコンテンツを対応する識別情報に変換し、
前記識別情報を前記クライアント宛に送信する、処理を中継装置で実行させる
ことを特徴とする中継プログラム。
【請求項１０】
前記抽出したコンテンツと一致するコンテンツが記憶されているか否かの判定に、コンテンツのデータサイズとハッシュ値を用いる
ことを特徴とする請求項９に記載の中継プログラム。
【請求項１１】
前記データに含まれるＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）ヘッダをヘッダ識別情報に変換し、
前記ヘッダ識別情報と前記識別情報とを前記クライアント宛に送信する
ことを特徴とする請求項１０に記載の中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける通信技術に関する。
【背景技術】
【０００２】
モバイル端末を使用し、インターネット上でサーバからコンテンツをダウンロードする場合、帯域が狭くコストの高い無線区間を経由する。そのため、無線区間がボトルネックとなり、通信コストが高くなることにつながる。
【０００３】
図１は、Ｗｅｂブラウザのキャッシュ技術の一例を示す図である。モバイル端末においてＷｅｂブラウザは、一度アクセスしたサイトのデータ（ファイル）をブラウザ内でキャッシュに一時的に保管しておき、次回から同じサイトにアクセスした際の表示を早くする。Ｗｅｂブラウザが利用するキャッシュの単位は、例えば、ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）ファイルやＦｌａｓｈファイルなどのファイル単位である。ＨＴＭＬとは、Ｗｅｂ上の文書を記述するためのマークアップ言語である。ＨＴＭＬでマークアップされた文書は、他の文書へのハイパーリンクを設定できるハイパーテキストであり、画像、リスト、表などを表現する機能を持つ。この言語で記述された文書は、コンテンツと呼ばれる。
【０００４】
ＨＴＭＬファイル１００１には、テキストデータ１００２、画像データ１００３などのコンテンツが埋め込まれている。ＨＴＭＬファイル１０１１には、テキストデータ１００４と画像データ１００３などのコンテンツが埋め込まれている。ＨＴＭＬファイル１００１とＨＴＭＬファイル１０１１は、画像データ１００３が共通であるものの、テキストデータ１００２とテキストデータ１００４が異なるものであるため、別のファイルとしてＷｅｂブラウザのキャッシュに保管される。なお、画像データ１００３は、ＢＡＳＥ６４でエンコードされた画像データの例である。
【０００５】
Ｆｌａｓｈファイル１０２１には、画像データ１０２２、画像データ１０２３、音声データ１０２４などのコンテンツが埋め込まれている。Ｆｌａｓｈファイル１０３１には、画像データ１０２２、画像データ１０２５、音声データ１０２４などのコンテンツが埋め込まれている。Ｆｌａｓｈファイル１０２１とＦｌａｓｈファイル１０３１は、画像データ１０２２、音声データ１０２４が共通であるものの、画像データ１０２３と画像データ１０２５が異なるものであるため、別のファイルとしてＷｅｂブラウザのキャッシュに保管される。
【０００６】
このように、一度アクセスしたＷｅｂサイトのデータ（ファイル）をＷｅｂブラウザのキャッシュに保管しておくことで、次回から同じサイトにアクセスした際の表示を早くすることができる。
【０００７】
端末と中継装置間の通信データ量を削減する技術が知られている。例えば、端末がキャッシュを保持している場合、端末は、リクエストを送信する際に該当するキャッシュのファイル情報をネットワーク側に配置された中継装置に通知する。中継装置は、サーバから取得したデータと端末から通知されたファイル情報が一致する場合、該ファイル情報のＩＤを端末側に通知する。端末は、ＩＤからファイル情報を復元することができる（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２５１１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ブラウザのキャッシュは、ファイル単位での制御となる。ファイルの各々は、複数のコンテンツを有する。ファイル内にＢＡＳＥ６４などで埋め込まれた画像や音声コンテンツなどメディアデータ部分が同一でも、ファイル内のテキストなど他の部分が一部でも異なるとキャッシュを利用することができない。また、ファイル内において動的にＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）が代わるコンテンツがある場合、ファイルが同一でもキャッシュを利用することができない。
【００１０】
本発明は１つの側面において、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能にすることを目的とする。
【課題を解決するための手段】
【００１１】
中継装置は、配信サーバから配信される複数のコンテンツを含むデータを受信し、前記データをクライアントに送信する。中継装置は、記憶部、抽出部、処理部、通信部を備える。記憶部は、クライアントで記憶されるデータに含まれるコンテンツと前記コンテンツを識別する識別情報の関係を保持する。抽出部は、前記配信サーバからデータを受信すると、前記データからコンテンツを抽出する。処理部は、抽出したコンテンツと一致するコンテンツが前記記憶部に記憶されている場合、前記記憶部のコンテンツと識別情報の関係に基づいて前記抽出したコンテンツを対応する識別情報に変換する。通信部は、前記識別情報を前記クライアント宛に送信する。
【発明の効果】
【００１２】
本発明によれば、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能にすることができる。
【図面の簡単な説明】
【００１３】
【図１】Ｗｅｂブラウザのキャッシュ技術の一例を示す図である。
【図２】本実施形態に係るシステムの構成の例である。
【図３】中継装置のトラフィック削減部の構成を説明するブロック図の例である。
【図４】トラフィック削減部を実装するクライアントの構成を説明するブロック図の例である。
【図５】トラフィック削減部を実装するモバイルルータの構成を説明するブロック図の例である。
【図６】中継装置のハードウェア構成の例を説明する図である。
【図７Ａ】トラフィック削減部間におけるデータ処理の例を説明する図である。
【図７Ｂ】トラフィック削減部間におけるデータ処理の例を説明する図である。
【図８】ＨＴＴＰヘッダの削減方法の例を説明する図である。
【図９】トラフィック削減部間におけるＨＴＴＰヘッダの削減処理の例を説明するシーケンス図である。
【図１０】中継装置の抽出部における埋め込みコンテンツの抽出処理の方法の例を説明する図である。
【図１１】中継装置が管理する管理データの例を説明する図である。
【図１２】モバイルルータ又はクライアントで管理される管理データの例を説明する図である。
【図１３】ＨＴＴＰリクエスト送信時のトラフィック削減部（クライアント側）の処理の例を説明するフローチャートである。
【図１４】ＨＴＴＰリクエストを送信時のトラフィック削減部（サーバ側）の処理の例を説明するフローチャートである。
【図１５】配信サーバからのレスポンスを受信した場合のトラフィック削減部（サーバ側）の処理の例を説明するフローチャートである。
【図１６】レスポンスを受信したトラフィック削減部（クライアント側）の処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
本発明は、サーバとクライアント（又はモバイル端末）間のモバイルネットワーク区間（無線区間）の通信データ量を削減するために用いられる。本発明では、モバイルネットワーク区間のサーバ側に、トラフィックを削減するプログラム（ソフトウェア）を実装する中継装置を配置する。
【００１５】
クライアントは、トラフィックを削減するプログラムを実装する。すると、サーバは、中継装置と無線区間を経由してクライアントと通信をする。中継装置とクライアントとにトラフィックを削減するプログラムがあり、本発明では、中継装置とクライアントとの間の無線区間のトラフィックを削減することができる。
【００１６】
クライアントにプログラムが実装されない場合、代替にモバイルルータがプログラムを実装してもよい。その場合、サーバは、中継装置、無線区間、モバイルルータを経由してクライアントと通信をする。中継装置とモバイルルータとにトラフィックを削減するプログラムがあるため、中継装置とモバイルルータとの間の無線区間のトラフィックを削減することもできる。
【００１７】
トラフィックを削減するプログラムを実装する装置は、例えば、送受信するデータの一部分が過去に送受信したデータと一致する場合、その部分のデータをＩＤｅｎｔｉｆｉｃａｔｉｏｎ（ＩＤ）に変換する。トラフィックを削減するプログラムを実装する装置間の通信は、ＩＤを用いて行われる。該ＩＤを受信した装置は、ＩＤからデータを復元することが可能である。このように、トラフィックを削減するプログラムを実装する装置間で過去に送受信したデータをＩＤにより送受信することで、通信データ量を削減することができる。
【００１８】
また、トラフィックを削減するプログラムでは、レイヤ７レベルの透過性を維持することで、クライアントアプリおよびサーバアプリは既存のものをそのまま利用することができる。なお、ＩＤに変換する対象データは、ＨＴＭＬファイル中に埋め込まれた画像や音声、Ｆｌａｓｈファイル中に埋め込まれたコンテンツ、動的ＵＲＬのコンテンツ、ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）ヘッダなどである。
【００１９】
本発明は１つの側面において、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能にすることを目的とする。
【００２０】
図２は、本実施形態に係るシステムの構成の例である。システム１０００は、配信サーバ１００１（１００１ａ〜１００１ｎの何れか）から無線区間１０１０を介してクライアント１０２０やクライアント１０４０にデータを配信するシステムである。無線区間１０１０は、例えば、３Ｇｅｎｅｒａｔｉｏｎ（３Ｇ）やＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）などの通信規格で実現される。無線区間１０１０の通信規格は、３ＧやＬＴＥに限定されない。
【００２１】
配信サーバ１００１は、中継装置１００２、無線区間１０１０を経由してデータをクライアント１０２０に配信する。ここで、中継装置１００２は、トラフィック削減部１００３を備える。クライアント１０２０は、トラフィック削減部１０２１を備える。トラフィック削減部１００３は、クライアント１０２０の保持しているキャッシュをキャッシュメタ情報として管理し、更に、クライアント１０２０との送受信に用いられるヘッダデータを管理する。なお、トラフィック削減部１００３は、キャッシュデータそのものは保持しない。トラフィック削減部１０２１は、クライアント１０２０で動作するアプリケーション１０２２で使用されるキャッシュデータを管理する。
【００２２】
トラフィック削減部１００３とトラフィック削減部１０２１とは、過去に送受信したＨＴＴＰヘッダの同一部分をＩＤ（ＨＴＴＰヘッダＩＤ）に変換し、互いの通信をする。これにより、無線区間１０１０におけるデータ通信量を削減することができる。
【００２３】
配信サーバ１００１からクライアント１０２０にデータを配信する場合、トラフィック削減部１００３は、まず、データから埋め込まれたコンテンツを抽出する。次に、トラフィック削減部１００３は、抽出したコンテンツを、過去に送受信したコンテンツか否かを判定する。具体的には、トラフィック削減部１００３は、自身が管理しているクライアント１０２０に対応するキャッシュメタ情報に、抽出したコンテンツと一致する情報があるか否かを判定する。トラフィック削減部１００３は、キャッシュメタ情報と一致するコンテンツを、該コンテンツに識別する識別情報（コンテンツＩＤ）に変換する。中継装置１００２は、コンテンツＩＤ及びＨＴＴＰヘッダＩＤをクライアント１０２０に送信する。コンテンツＩＤ及びＨＴＴＰヘッダＩＤを受信すると、クライアント１０２０内のトラフィック削減部１０２１は、コンテンツＩＤ及びＨＴＴＰヘッダＩＤから元のデータを復元する。これにより、クライアント１０２０内のアプリケーション１０２２は、復元されたデータを使用可能となる。
【００２４】
このように、無線区間１０１０のデータ送信をＩＤにより行うことで、無線区間１０１０におけるデータ通信量を削減することができる。更に、トラフィック削減部１００３がファイル単位ではなく、ファイルの一部分（コンテンツ）単位でＩＤ化することで、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能になる。
【００２５】
なお、トラフィック削減部１００３は、自身が管理しているクライアント１０２０に対応するキャッシュメタ情報に、抽出したコンテンツと一致する情報がない場合、該コンテンツのメタデータを記憶する。また、トラフィック削減部１００３は、クライアント１０２０のトラフィック削減部１０２１に該コンテンツのキャッシュデータを記憶するよう命令を送信する。これにより、２度目以降の通信において、同じコンテンツの無線区間１０１０における通信をＩＤにより行うことができる。
【００２６】
配信サーバ１００１は、中継装置１００２、無線区間１０１０、モバイルルータ１０３０を経由してデータをクライアント１０４０に配信してもよい。この実施例では、クライアント１０４０がトラフィック削減部を持たず、モバイルルータ１０３０がトラフィック削減部１０３１を備える。トラフィック削減部１０３１は、クライアント１０４０で動作するアプリケーション１０４１で使用されるキャッシュデータを管理する。トラフィック削減部１００３は、クライアント１０４０で使用されるキャッシュデータをキャッシュメタ情報として管理し、更に、クライアント１０４０との送受信に用いられるヘッダデータを管理する。
【００２７】
トラフィック削減部１００３とトラフィック削減部１０３１とは、過去に送受信したＨＴＴＰヘッダの同一部分をＩＤ（ＨＴＴＰヘッダＩＤ）に変換し、互いの通信をする。これにより、無線区間１０１０におけるデータ通信量を削減することができる。
【００２８】
配信サーバ１００１からクライアント１０４０にデータを配信する場合、トラフィック削減部１００３は、まず、データから埋め込まれたコンテンツを抽出する。次に、トラフィック削減部１００３は、抽出したコンテンツを、過去に送受信したコンテンツか否かを判定する。具体的には、トラフィック削減部１００３は、自身が管理しているクライアント１０４０に対応するキャッシュメタ情報に、抽出したコンテンツと一致する情報があるか否かを判定する。トラフィック削減部１００３は、キャッシュメタ情報と一致するコンテンツを、該コンテンツに識別する識別情報（コンテンツＩＤ）に変換する。中継装置１００２は、コンテンツＩＤ及びＨＴＴＰヘッダＩＤをモバイルルータ１０３０に送信する。コンテンツＩＤ及びＨＴＴＰヘッダＩＤを受信すると、モバイルルータ１０３０内のトラフィック削減部１０３１は、コンテンツＩＤ及びＨＴＴＰヘッダＩＤから元のデータを復元する。モバイルルータ１０３０内のトラフィック削減部１０３１は、復元したデータをクライアント１０４０に送信する。これにより、クライアント１０４０内のアプリケーション１０４１は、復元されたデータを使用可能となる。
【００２９】
このように、無線区間１０１０のデータ送信をＩＤにより行うことで、無線区間１０１０におけるデータ通信量を削減することができる。更に、トラフィック削減部１００３がファイル単位ではなく、ファイルの一部分（コンテンツ）単位でＩＤ化することで、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能になる。
【００３０】
なお、トラフィック削減部１００３は、自身が管理しているクライアント１０４０に対応するキャッシュメタ情報に、抽出したコンテンツと一致する情報がない場合、該コンテンツのメタデータを記憶する。また、トラフィック削減部１００３は、モバイルルータ１０３０のトラフィック削減部１０３１に該コンテンツのキャッシュデータを記憶するよう命令を送信する。これにより、２度目以降の通信において、同じコンテンツの無線区間１０１０における通信をＩＤにより行うことができる。
【００３１】
図３は、中継装置のトラフィック削減部の構成を説明するブロック図の例である。図３の中継装置１００２は、図２の中継装置１００２と同一のものである。中継装置１００２のトラフィック削減部１００３は、管理部１１０１、抽出部１１０２、処理部１１０３、通信部１１０４、記憶部１１１０を備える。
【００３２】
管理部１１０１は、クライアント１０２０やクライアント１０４０などに使用されるキャッシュデータをキャッシュメタ情報として管理する。更に、管理部１１０１は、クライアント１０２０やクライアント１０４０との通信に使用されるヘッダデータを管理する。なお、キャッシュメタ情報は、記憶部１１１０のキャッシュメタデータ１１１１に記憶される。ヘッダデータは、記憶部１１１０のヘッダキャッシュ１１１２に記憶される。
【００３３】
抽出部１１０２は、配信サーバ１００１からクライアントにデータが配信される場合、中継するデータから埋め込まれたコンテンツを抽出する。併せて、抽出部１１０２は、中継するデータからＨＴＴＰヘッダを抽出する。中継するデータ、抽出したコンテンツ、ＨＴＴＰヘッダは、記憶部１１１０の一時領域１１１３に記憶される。
【００３４】
処理部１１０３は、抽出したＨＴＴＰヘッダと一致するヘッダデータがヘッダキャッシュ１１１２に記憶されているか否かを判定する。更に、抽出したＨＴＴＰヘッダと一致するヘッダデータがヘッダキャッシュ１１１２に記憶されている場合、処理部１１０３は、該ＨＴＴＰヘッダをＨＴＴＰヘッダＩＤに変換する。ＨＴＴＰヘッダＩＤは、ヘッダキャッシュ１１１２に記憶されており、ＨＴＴＰヘッダ毎に設定される識別情報である。
【００３５】
処理部１１０３は、抽出したコンテンツと一致する情報がキャッシュメタデータ１１１１に記憶されているか否かを判定する。更に、抽出したコンテンツと一致する情報がキャッシュメタデータ１１１１に記憶されている場合、処理部１１０３は、該コンテンツをコンテンツＩＤに変換する。コンテンツＩＤは、キャッシュメタデータ１１１１に記憶されており、コンテンツ毎に設定される識別情報である。なお、本実施形態において、処理部１１０３は、ハッシュ値とコンテンツのサイズの情報からコンテンツが一致するか否かを判定する。
【００３６】
なお、処理部１１０３は、コンテンツ又はＨＴＴＰヘッダの一致する情報がない場合、コンテンツ及びＨＴＴＰヘッダを一時的に記憶部１１１０の一時領域１１１３に記憶させる。その後、処理部１１０３は、コンテンツに関連するキャッシュメタ情報を記憶部１１１０のキャッシュメタデータ１１１１に記憶させる。処理部１１０３は、ＨＴＴＰヘッダの情報を記憶部１１１０のヘッダキャッシュ１１１２に記憶させる。その後、処理部１１０３は、一時領域１１１３に記憶させたコンテンツ及びＨＴＴＰヘッダのデータ自体を削除する。
【００３７】
通信部１１０４は、コンテンツＩＤ及びＨＴＴＰヘッダＩＤをクライアント宛に送信する。コンテンツ及びＨＴＴＰヘッダの一致した情報を中継装置１００２が保持していない場合、通信部１１０４は、コンテンツ及びＨＴＴＰヘッダのキャッシュを記憶する命令を送信するデータに付加して送信する。
【００３８】
このように、無線区間１０１０のデータ送信をＩＤにより行うことで、無線区間１０１０におけるデータ通信量を削減することができる。更に、トラフィック削減部１００３がファイル単位ではなく、ファイルの一部分（コンテンツ）単位でＩＤ化することで、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能になる。
【００３９】
図４は、トラフィック削減部を実装するクライアントの構成を説明するブロック図の例である。図４のクライアント１０２０は、図２のクライアント１０２０と同一ものである。トラフィック削減部１０２１は、通信部１２０１、処理部１２０２、記憶部１２０３を備える。
【００４０】
配信サーバ１００１から初めてデータを受信する場合や中継装置１００２が管理していないデータである場合、通信部１２０１は、中継装置１００２からそのままコンテンツやＨＴＴＰヘッダを受信する。この場合、通信部１２０１は、中継装置１００２からコンテンツ及びＨＴＴＰヘッダを記憶部１２０３に記憶する命令も受信する。処理部１２０２は、コンテンツをキャッシュデータ１２１１に記憶させる。処理部１２０２は、ＨＴＴＰヘッダをヘッダキャッシュ１２１２に記憶させる。これにより、次から同じデータを配信サーバ１００１から受信する場合、中継装置１００２からコンテンツＩＤ及びＨＴＴＰヘッダＩＤが送信されてくる。アプリケーション１０２２は、通信部１２０１が受信したコンテンツをそのまま使用する。
【００４１】
通信部１２０１は、中継装置１００２からコンテンツＩＤ及びＨＴＴＰヘッダＩＤを受信する。処理部１２０２は、コンテンツＩＤに対応する元のデータをキャッシュデータ１２１１から読み出し復元する。更に、処理部１２０２は、ＨＴＴＰヘッダＩＤに対応する元のヘッダデータをヘッダキャッシュ１２１２から読み出し復元する。アプリケーション１０２２は、復元されたコンテンツを使用する。
【００４２】
図５は、トラフィック削減部を実装するモバイルルータの構成を説明するブロック図の例である。図５のモバイルルータ１０３０は、図２のモバイルルータ１０３０と同一のものである。トラフィック削減部１０３１は、通信部１３０１、処理部１３０２、記憶部１３０３を備える。
【００４３】
配信サーバ１００１から初めてデータを受信する場合や中継装置１００２が管理していないデータである場合、通信部１３０１は、中継装置１００２からそのままコンテンツやＨＴＴＰヘッダを受信する。この場合、通信部１３０１は、中継装置１００２からコンテンツ及びＨＴＴＰヘッダを記憶部１３０３に記憶する命令も受信する。処理部１３０２は、コンテンツをキャッシュデータ１３１１に記憶させる。処理部１３０２は、ＨＴＴＰヘッダをヘッダキャッシュ１３１２に記憶させる。これにより、次から同じデータを配信サーバ１００１から受信する場合、中継装置１００２からコンテンツＩＤ及びＨＴＴＰヘッダＩＤが送信されてくる。通信部１３０１は、受信したコンテンツ及びＨＴＴＰヘッダをそのままクライアント１０４０に送信する。アプリケーション１０４１は、モバイルルータ１０３０から受信したコンテンツを使用する。
【００４４】
通信部１３０１は、中継装置１００２からコンテンツＩＤ及びＨＴＴＰヘッダＩＤを受信する。処理部１３０２は、コンテンツＩＤに対応する元のデータをキャッシュデータ１３１１から読み出し復元する。更に、処理部１３０２は、ＨＴＴＰヘッダＩＤに対応する元のヘッダデータをヘッダキャッシュ１３１２から読み出し復元する。通信部１３０１は、復元したコンテンツ及びＨＴＴＰヘッダをクライアント１０４０に送信する。アプリケーション１０４１は、モバイルルータ１０３０から受信したコンテンツを使用する。
【００４５】
図６は、中継装置のハードウェア構成の例を説明する図である。中継装置１００２は、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、ネットワーク接続装置１９を備える。さらにオプションとして、中継装置１００２は、入力装置１３、出力装置１４、媒体駆動装置１７を備えても良い。中継装置１００２は、例えば、コンピュータなどで実現されることがある。
【００４６】
プロセッサ１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）を含む任意の処理回路とすることができる。プロセッサ１１は、管理部１１０１、抽出部１１０２、処理部１１０３として動作する。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、記憶部１１１０として動作し、キャッシュメタデータ１１１１、ヘッダキャッシュ１１１２、一時領域１１１３を含む。さらに、メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置１９は、他の装置との通信に使用され、通信部１１０４として動作する。
【００４７】
入力装置１３は、例えば、ボタン、キーボード、マウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、ネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フロッピイディスク、Ｍａｇｎｅｔ-Ｏｐｔｉｃａｌ（ＭＯ）ディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＣＤ−Ｒ）やＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００４８】
図７Ａ及び図７Ｂは、トラフィック削減部間におけるデータ処理の例を説明する図である。図７Ａは、配信サーバ１００１、トラフィック削減部（サーバ側）１００３、トラフィック削減部（クライアント側）１０２１又は１０３１、アプリケーション１０２２又は１０４１の夫々の間で配信されるデータの構造例を示す。
【００４９】
一例として配信サーバ１００１は、データＡ、データＢ、データＣを含むファイルを配信する。データＡは、ファイル内の０バイト目〜３９バイト目に配置されている。データＢは、ファイル内の４０バイト目〜１１９バイト目に配置されている。データＣは、ファイル内の１２０バイト目〜１４９バイト目に配置されている。
【００５０】
配信サーバ１００１は、トラフィック削減部１００３に対してデータＡ、データＢ、データＣを含むファイルを配信する。ここで、図７Ａは、クライアントがデータＡ、データＢ、データＣを含むファイルをキャッシュに保存していない場合の例である。トラフィック削減部１００３（処理部１１０３）は、データＢ（コンテンツ）のメタデータをキャッシュメタデータ１１１１に記憶する。
【００５１】
処理部１１０３は、トラフィック削減部１０２１又は１０３１に、データＢをキャッシュデータ１３１１又は１２１１に記憶する命令を生成する。命令は、例えば、「ｃａｃｈｅ―ｉｎｆо＝［ｔｙｐｅ：ｍｉｓｓ、ｐоｓ：４０、ｌｅｎ：８０］」などで記載される。具体的には、４０バイト目（ｐоｓ）から８０バイトの長さ（ｌｅｎ）のデータ（データＢ）をキャッシュに記憶させる命令である。通信部１１０４は、命令をデータＡ、データＢ、データＣを含むファイルのヘッダに付与して、トラフィック削減部１０２１又は１０３１に送信する。
【００５２】
トラフィック削減部１０２１又は１０３１の処理部は、命令に従いデータＢをキャッシュデータ１２１１又はキャッシュデータ１３１１に記憶させる。トラフィック削減部１０２１又は１０３１の処理部は、ヘッダを削除し、データＡ、データＢ、データＣを含むファイルをアプリケーション側に送信する。
【００５３】
図７Ｂは、配信サーバ１００１、トラフィック削減部（サーバ側）１００３、トラフィック削減部（クライアント側）１０２１又は１０３１、アプリケーション１０２２又は１０４１の夫々の間で配信されるデータの構造例を示す。
【００５４】
配信サーバ１００１は、データＡ、データＢ、データＣを含むファイルを配信する。データＡは、ファイル内の０バイト目〜３９バイト目に配置されている。データＢは、ファイル内の４０バイト目〜１１９バイト目に配置されている。データＣは、ファイル内の１２０バイト目〜１４９バイト目に配置されている。
【００５５】
配信サーバ１００１は、トラフィック削減部１００３に対してデータＡ、データＢ、データＣを含むファイルを配信する。ここで、図７Ｂは、クライアントがデータＡ、データＢ、データＣを含むファイルをキャッシュに保存している場合の例である。トラフィック削減部１００３（処理部１１０３）は、データＢと一致するキャッシュメタデータを記憶部１１１０に記憶していると判定する。処理部１１０３は、データＢをキャッシュメタデータ１１１１に基づいてコンテンツＩＤに変換する。
【００５６】
処理部１１０３は、トラフィック削減部１０２１又は１０３１に、データＢを復元する命令を生成する。処理部１１０３は、「ｃａｃｈｅ―ｉｎｆо＝［ｔｙｐｅ：ｈｉｔ、ｐоｓ：４０］」のようなヘッダを生成する。具体的には、４０バイト目（ｐоｓ）にデータＢを挿入する命令である。通信部１１０４は、命令をデータＡとデータＣを含むファイルのヘッダに付与して、トラフィック削減部１０２１又は１０３１に送信する。
【００５７】
トラフィック削減部１０２１又は１０３１の処理部は、命令に従いデータＢを復元する。トラフィック削減部１０２１又は１０３１の処理部は、ヘッダを削除し、データＡ、復元したデータＢ、データＣを含むファイルをアプリケーション側に送信する。
【００５８】
このように、データＢをＩＤに変換してファイルを送信することで、トラフィック削減部間での通信データ量を削減することができる。更に、トラフィック削減部１００３がファイル単位ではなく、ファイルの一部分（コンテンツ）単位でＩＤ化することで、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能になる。
【００５９】
図８は、ＨＴＴＰヘッダの削減方法の例を説明する図である。ＨＴＴＰヘッダ２０００の各行には、ヘッダ項目：ヘッダ値で情報が記載される。ヘッダ項目は、例えば、「Ａｃｃｅｐｔ、Ａｃｃｐｅｔ−Ｌｎｇｕａｇｅ、Ｕｓｅｒ−Ａｇｅｎｔ、Ａｃｃｅｐｔ−Ｅｎｃｏｄｉｎｇ、Ｈｏｓｔ、Ｃｏｎｎｅｃｔｉｏｎ・・・」などである。ＨＴＴＰヘッダ２０００における、Ａｃｃｅｐｔ、Ａｃｃｃｅｐｔ−Ｌａｎｇｕａｇｅ、Ａｃｃｅｐｔ−Ｅｎｃｏｄｉｎｇは、データの種類、画像の種類、言語、文字コードなど、どのような情報を受信したいかの要求情報である。Ｕｓｅｒ−Ａｇｅｎｔは、クライアントでアクセスに使用されたブラウザの種類やOS（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）の情報である。Ｈｏｓｔは、クライアントがリクエストするサーバの識別情報である。Ｃｏｎｎｅｃｔｉｏｎは、Ｈｏｓｔサーバに対してどのような接続要求をするかの情報である。
【００６０】
このようなＨＴＴＰヘッダ２０００は、クライアントと配信サーバ１００１間で通信毎に付与されている。そのため、同じＨＴＴＰヘッダ２０００が繰り返し無線区間１０１０でやり取りされている。本実施形態では、この繰り返し送受信されるＨＴＴＰヘッダ部分をＩＤ化することで、無線区間１０１０の通信データ量を削減できる。
【００６１】
そこで、ＨＴＴＰヘッダ２０００は、Ａｃｃｅｐｔ、Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ、Ｕｓｅｒ−Ａｇｅｎｔ、Ａｃｃｅｐｔ−Ｅｎｃｏｄｉｎｇなどを、ＨＴＴＰヘッダＩＤ２００１に示す「Ｘ−ｈｉｄ：１１１１、２２２２、・・・」のＩＤに変換される。ＨＴＴＰヘッダ２０００は、Ｃｏｎｎｅｃｔｉｏｎを、ＨＴＴＰヘッダＩＤ２００１に示す「Ｘ−ｈｉｄ：５５５５」のＩＤに変換される。
【００６２】
このように、ＨＴＴＰヘッダ２０００の情報をＩＤ化することで、データ量を削減することができる。
【００６３】
図９は、トラフィック削減部間におけるＨＴＴＰヘッダの削減処理の例を説明するシーケンス図である。図９は、クライアント１０４０、トラフィック削減部（クライアント側）１０３１、トラフィック削減部（サーバ側）１００３、配信サーバ１００１の夫々におけるＨＴＴＰのヘッダの処理の例を示す。
【００６４】
クライアント１０４０は、1回目のＨＴＴＰリクエストを配信サーバ１００１向けに送信する（ステップＳ１０１）。トラフィック削減部１０３１の処理部１３０２は、ＨＴＴＰリクエストに含まれるＨＴＴＰヘッダをヘッダキャッシュ１３１２に記憶させる（ステップＳ１０２）。併せて処理部１３０２は、該ＨＴＴＰヘッダの各種情報にＩＤを割り当て、ヘッダキャッシュ１３１２に記憶させる。トラフィック削減部１０３１の通信部１１０４は、ＨＴＴＰリクエストにＩＤを付与してトラフィック削減部１００３に送信する（ステップＳ１０３）。
【００６５】
トラフィック削減部１００３の処理部１１０３は、ＨＴＴＰヘッダ及びＩＤを記憶部１１１０のヘッダキャッシュ１１１２に記憶する（ステップＳ１０４）。通信部１１０４は、ＨＴＴＰリクエスト（ＩＤが付加されていない）を配信サーバ１００１に送信する（ステップＳ１０５）。
【００６６】
このように、初めてＨＴＴＰリクエストを送受信する際に、トラフィック削減部１０３１、トラフィック削減部１００３は、ＨＴＴＰヘッダと対応するＩＤを記憶部に記憶する。これにより、トラフィック削減部１０３１、トラフィック削減部１００３は、ＨＴＴＰヘッダをＩＤに変換し、互いに該ＩＤからＨＴＴＰヘッダを復元可能となる。
【００６７】
クライアント１０４０は、ヘッダ情報が同一のＨＴＴＰリクエストを送信する（ステップＳ２０１）。トラフィック削減部１０３１の処理部１３０２は、ステップＳ２０１のヘッダ情報と同一のヘッダ情報がヘッダキャッシュ１３１２に記憶されているか否かを判定し、一致する場合、該ヘッダ情報をＩＤに変換する（ステップＳ２０２）。通信部１１０４は、ＨＴＴＰヘッダの情報がＩＤに置き換えられたＨＴＴＰリクエストをトラフィック削減部１００３に送信する（ステップＳ２０３）。
【００６８】
トラフィック削減部１００３の処理部１１０３は、ヘッダキャッシュ１１１２に基づいて受信したＩＤから元のＨＴＴＰヘッダを復元する（ステップＳ２０４）。通信部１１０４は、復元されたＨＴＴＰヘッダを含むＨＴＴＰリクエストを配信サーバ１００１に送信する（ステップＳ２０５）。
【００６９】
なお、クライアント１０２０のようにトラフィック削減部１０２１を備えるクライアントである場合は、図９のクライアント１０４０の処理をアプリケーション１０２２が代替で実行する。
【００７０】
図１０は、中継装置の抽出部における埋め込みコンテンツの抽出処理の方法の例を説明する図である。ＨＴＭＬファイルのソースコードの例は、＜ｈ１＞タグの後にテキストデータ、＜ｉｍｇ＞タグで囲まれた画像データ、＜ｉｍｇ＞タグの後にテキストデータを含む。
【００７１】
抽出部１１０２は、ＨＴＭＬファイルのフォーマットに従って埋め込まれた画像データを抽出できる。画像データは、＜ｉｍｇ＞タグに囲まれた箇所に該画像を示す情報（例えば、アドレスなど）で表される。そのため、抽出部１１０２は、ＨＴＭＬファイルから＜ｉｍｇ＞タグ内の「ＢＡＳＥ６４・・・」を画像データとして抽出する。音声ファイルやＦｌａｓｈファイル内のデータも、所定のフォーマットに従ったデータであれば抽出できる。
【００７２】
図１１は、中継装置が管理する管理データの例を説明する図である。中継装置１００２の記憶部１１１０には、キャッシュメタデータ１１１１、ヘッダキャッシュ１１１２、一時領域１１１３の３種類のデータが記憶される。
【００７３】
キャッシュメタデータ１１１１は、管理するコンテンツ単位に、クライアントＩＤ、キャッシュＩＤ、サイズ、ハッシュ値を備える。クライアントＩＤは、コンテンツをキャッシュに記憶するクライアントを識別するＩＤである。キャッシュＩＤは、コンテンツを識別するＩＤである。キャッシュＩＤは、処理部１１０３が割り当てる。サイズは、クライアント側でキャッシュに記憶するコンテンツのサイズである。ハッシュ値は、クライアント側でキャッシュに記憶するコンテンツのハッシュ値である。
【００７４】
ヘッダキャッシュ１１１２は、管理するＨＴＴＰヘッダ単位に、ヘッダキャッシュＩＤ、Ｕｓｅｒ−Ａｇｅｎｔ、ヘッダ項目、ヘッダ値、状態を備える。ヘッダキャッシュＩＤは、ヘッダを一意に識別するＩＤである。Ｕｓｅｒ−Ａｇｅｎｔは、ヘッダ情報内のＵｓｅｒ−Ａｇｅｎｔの値である。Ｕｓｅｒ−Ａｇｅｎｔの値が異なるヘッダは、異なるヘッダとして扱う。ヘッダ項目は、ヘッダ内の「Ａｃｃｅｐｔ、Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ、Ｕｓｅｒ−Ａｇｅｎｔ・・・」などの各種項目である。ヘッダ値は、ヘッダ項目に対応する値である。状態は、ヘッダをＩＤ変換するか否かを示す情報である。状態に有効が設定されているヘッダは、ＩＤに変換されて送信される。一方、状態が保留であるヘッダは、ＩＤに変換されずにそのまま送信される。
【００７５】
一時領域１１１３は、コンテンツ単位に、クライアントＩＤ、キャッシュＩＤ、サイズ、ハッシュ値、コンテンツデータ、生成時刻を備える。クライアントＩＤは、コンテンツをキャッシュに記憶するクライアントを識別するＩＤである。キャッシュＩＤは、コンテンツを識別するＩＤである。サイズは、クライアント側でキャッシュに記憶するコンテンツのサイズである。ハッシュ値は、クライアント側でキャッシュに記憶するコンテンツのハッシュ値である。コンテンツデータは、配信サーバ１００１から配信されるコンテンツ自体である。生成時刻は、一時領域１１１３にコンテンツが記憶された時刻である。一時領域１１１３は、一時領域であるため、一定時間経過後に記憶したコンテンツを削除する。削除する時刻は、生成時刻に基づいて算出される。
【００７６】
図１２は、モバイルルータ又はクライアントで管理される管理データの例を説明する図である。モバイルルータ１０３０の記憶部１３０３には、キャッシュデータ１３１１、ヘッダキャッシュ１３１２の２種類のデータが記憶される。クライアント１０２０の記憶部１２０３には、キャッシュデータ１２１１、ヘッダキャッシュ１２１２の２種類のデータが記憶される。
【００７７】
キャッシュデータ１３１１とキャッシュデータ１２１１は、管理するコンテンツ単位に、キャッシュＩＤ、サイズ、ハッシュ値、コンテンツデータ、最終参照時刻を備える。キャッシュＩＤは、コンテンツを識別するＩＤである。キャッシュＩＤは、中継装置側で割り当てられる。サイズは、クライアント側でキャッシュに記憶するコンテンツのサイズである。ハッシュ値は、クライアント側でキャッシュに記憶するコンテンツのハッシュ値である。コンテンツデータは、配信サーバ１００１から配信されるコンテンツ自体である。最終参照時刻は、最後にキャッシュに記憶されている該コンテンツにアクセスのあった時刻である。キャッシュに記憶されているコンテンツは、一定時間経過後に削除される。削除される時刻は、最終参照時刻に基づいて算出される。
【００７８】
ヘッダキャッシュ１３１２とヘッダキャッシュ１２１２は、管理するＨＴＴＰヘッダ単位に、クライアントＩＤ、ヘッダキャッシュＩＤ、ヘッダ項目、ヘッダ値を備える。クライアントＩＤは、コンテンツをキャッシュに記憶するクライアントを識別するＩＤである。ヘッダキャッシュＩＤは、ヘッダを一意に識別するＩＤである。ヘッダ項目は、ヘッダ内の「Ａｃｃｅｐｔ、Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ、Ｕｓｅｒ−Ａｇｅｎｔ・・・」などの各種項目である。ヘッダ値は、ヘッダ項目に対応する値である。
【００７９】
図１３は、ＨＴＴＰリクエスト送信時のトラフィック削減部（クライアント側）の処理の例を説明するフローチャートである。モバイルルータ１０３０における通信部１３０１は、アプリケーション１０４１からＨＴＴＰリクエストを受信する（ステップＳ３０１）。処理部１３０２は、ヘッダキャッシュ１３１２にヘッダ項目が記憶されているか否かを判定する（ステップＳ３０２）。ヘッダキャッシュ１３１２にヘッダ項目が記憶されている場合（ステップＳ３０２でＹＥＳ）、処理部１３０２は、受信したＨＴＴＰリクエストに含まれるＨＴＴＰヘッダと、ヘッダキャッシュ１３１２に記憶されているヘッダ値とが一致するか否かを判定する（ステップＳ３０３）。ＨＴＴＰヘッダとヘッダ値とが一致した場合（ステップＳ３０３でＹＥＳ）、処理部１３０２は、ヘッダキャッシュ１３１２に記憶されているＨＴＴＰヘッダの状態が有効に設定されているか否かを判定する（ステップＳ３０４）。状態が有効に設定されている場合（ステップＳ３０４でＹＥＳ）、処理部１３０２は、ＨＴＴＰヘッダをＩＤに変換する（ステップＳ３０５）。通信部１３０１は、ＩＤ変換されたヘッダを持つＨＴＴＰリクエストを中継装置１００２に送信する（ステップＳ３０６）。
【００８０】
ヘッダキャッシュ１３１２にヘッダ項目が記憶されていない場合（ステップＳ３０２でＮＯ）、処理部１３０２は、受信したＨＴＴＰヘッダに対応する状態を保留とし、ＨＴＴＰヘッダの情報及び状態をヘッダキャッシュ１３１２に記憶させる（ステップＳ３０７）。ステップＳ３０７が終了すると、トラフィック削減部１０３１は、ステップＳ３０６を実行する。
【００８１】
ＨＴＴＰヘッダとヘッダ値とが一致しない場合（ステップＳ３０３でＮＯ）、処理部１３０２は、ヘッダキャッシュの状態を保留に変更し、各種ヘッダ項目のヘッダ値を受信したＨＴＴＰヘッダの値に更新する（ステップＳ３０８）。ステップＳ３０８が終了すると、トラフィック削減部１０３１は、ステップＳ３０６を実行する。
【００８２】
受信したＨＴＴＰヘッダの状態が無効に設定されている場合（ステップＳ３０４でＮＯ）、処理部１３０２は、状態を有効に変更する（ステップＳ３０９）。処理部１３０２は、ヘッダキャッシュ１３１２にＨＴＴＰヘッダに対応するＩＤを記憶させる（ステップＳ３１０）。ステップＳ３１０が終了すると、トラフィック削減部１０３１は、ステップＳ３０６を実行する。
【００８３】
以下に、クライアント１０２０内のトラフィック削減部の処理を説明する。クライアント１０２０の処理部１２０２は、アプリケーション１０２２からＨＴＴＰリクエストを取得する（ステップＳ３０１）。処理部１２０２は、ヘッダキャッシュ１２１２にヘッダ項目が記憶されているか否かを判定する（ステップＳ３０２）。ヘッダキャッシュ１２１２にヘッダ項目が記憶されている場合（ステップＳ３０２でＹＥＳ）、処理部１２０２は、受信したＨＴＴＰリクエストに含まれるＨＴＴＰヘッダと、ヘッダキャッシュ１２１２に記憶されているヘッダ値とが一致するか否かを判定する（ステップＳ３０３）。ＨＴＴＰヘッダとヘッダ値とが一致した場合（ステップＳ３０３でＹＥＳ）、処理部１２０２は、ヘッダキャッシュ１２１２に記憶されているＨＴＴＰヘッダの状態が有効に設定されているか否かを判定する（ステップＳ３０４）。状態が有効に設定されている場合（ステップＳ３０４でＹＥＳ）、処理部１２０２は、ＨＴＴＰヘッダをＩＤに変換する（ステップＳ３０５）。通信部１２０１は、ＩＤ変換されたヘッダを持つＨＴＴＰリクエストを中継装置１００２に送信する（ステップＳ３０６）。
【００８４】
ヘッダキャッシュ１２１２にヘッダ項目が記憶されていない場合（ステップＳ３０２でＮＯ）、処理部１２０２は、受信したＨＴＴＰヘッダに対応する状態を保留とし、ＨＴＴＰヘッダの情報及び状態をヘッダキャッシュ１２１２に記憶させる（ステップＳ３０７）。ステップＳ３０７が終了すると、トラフィック削減部１０２１は、ステップＳ３０６を実行する。
【００８５】
ＨＴＴＰヘッダとヘッダ値とが一致しない場合（ステップＳ３０３でＮＯ）、処理部１２０２は、ヘッダキャッシュの状態を保留に変更し、各種ヘッダ項目のヘッダ値を受信したＨＴＴＰヘッダの値に更新する（ステップＳ３０８）。ステップＳ３０８が終了すると、トラフィック削減部１０２１は、ステップＳ３０６を実行する。
【００８６】
受信したＨＴＴＰヘッダの状態が無効に設定されている場合（ステップＳ３０４でＮＯ）、処理部１２０２は、状態を有効に変更する（ステップＳ３０９）。処理部１２０２は、ヘッダキャッシュ１２１２にＨＴＴＰヘッダに対応するＩＤを記憶させる（ステップＳ３１０）。ステップＳ３１０が終了すると、トラフィック削減部１０２１は、ステップＳ３０６を実行する。
【００８７】
図１４は、ＨＴＴＰリクエストを送信時のトラフィック削減部（サーバ側）の処理の例を説明するフローチャートである。通信部１１０４は、クライアント側からのＨＴＴＰリクエストを受信する（ステップＳ４０１）。処理部１１０３は、ヘッダがＩＤに変換されているか否かを判定する（ステップＳ４０２）。ヘッダがＩＤに変換されている場合（ステップＳ４０２でＹＥＳ）、処理部１１０３は、ヘッダキャッシュ１１１２に基づいてＩＤから元のＨＴＴＰヘッダを復元する（ステップＳ４０３）。通信部１１０４は、配信サーバ１００１に復元したＨＴＴＰヘッダを含むＨＴＴＰリクエストを送信する（ステップＳ４０４）。
【００８８】
ヘッダがＩＤに変換されていない場合（ステップＳ４０２でＮＯ）、処理部１１０３は、ＨＴＴＰリクエストにＩＤが付与されているか否かを判定する（ステップＳ４０５）。ＨＴＴＰリクエストにＩＤが付与されている場合（ステップＳ４０５でＹＥＳ）、処理部１１０３は、ＩＤをＨＴＴＰヘッダに対応付けてヘッダキャッシュ１１１２に記憶する（ステップＳ４０６）。処理部１１０３は、ＨＴＴＰリクエストに付与されているＩＤを除去する（ステップＳ４０７）。ステップＳ４０７が終了すると、通信部１１０４は、ＨＴＴＰリクエストを配信サーバ１００１に送信する（ステップＳ４０４）。ＨＴＴＰリクエストにＩＤが付与されていない場合（ステップＳ４０５でＮＯ）、通信部１１０４は、ＨＴＴＰリクエストを配信サーバ１００１に送信する（ステップＳ４０４）。
【００８９】
図１５は、配信サーバからのレスポンスを受信した場合のトラフィック削減部（サーバ側）の処理の例を説明するフローチャートである。通信部１１０４は、配信サーバ１００１からＨＴＴＰリクエストに対応するレスポンスを受信する（ステップＳ５０１）。抽出部１１０２は、レスポンス（配信データ）からコンテンツデータを抽出する（ステップＳ５０２）。処理部１１０３は、抽出したコンテンツデータと一致するメタデータがキャッシュメタデータ１１１１に記憶されているか否かを判定する（ステップＳ５０３）。抽出したコンテンツデータと一致するメタデータがキャッシュメタデータ１１１１に記憶されている場合（ステップＳ５０３でＹＥＳ）、処理部１１０３は、ヒット（一致）したコンテンツデータを一時領域１１１３に記憶する（ステップＳ５０４）。処理部１１０３は、レスポンスにおけるヒットしたコンテンツをＩＤに変換し、ＩＤを含むヘッダをレスポンスに追加する（ステップＳ５０５）。通信部１１０４は、ヘッダが追加されたレスポンスをクライアント側に送信する（ステップＳ５０６）。
【００９０】
抽出したコンテンツデータと一致するメタデータがキャッシュメタデータ１１１１にない場合（ステップＳ５０３でＮＯ）、処理部１１０３は、抽出したコンテンツデータと対応づけてＩＤをキャッシュメタデータ１１１１に記憶させる（ステップＳ５０７）。処理部１１０３は、クライアント側のトラフィック削減部のキャッシュに記憶する命令をヘッダに付与したレスポンスを生成する（ステップＳ５０８）。通信部１１０４は、命令が付与されたレスポンスをクライアント側に送信する（ステップＳ５０６）。
【００９１】
図１６は、レスポンスを受信したトラフィック削減部（クライアント側）の処理の例を説明するフローチャートである。クライアント１０２０内の通信部１２０１は、中継装置１００３が中継したレスポンスを受信する（ステップＳ６０１）。処理部１２０２は、レスポンスのヘッダにＩＤ情報が含まれるか否かを判定する（ステップＳ６０２）。ヘッダにＩＤ情報が含まれる場合（ステップＳ６０２でＹＥＳ）、処理部１２０２は、ＩＤと一致するデータがキャッシュデータ１２１１にあるか否かを判定する（ステップＳ６０３）。
【００９２】
ＩＤと一致するデータがキャッシュデータ１２１１にある場合（ステップＳ６０３でＹＥＳ）、処理部１２０２は、ＩＤからコンテンツを復元する（ステップＳ６０４）。ステップＳ６０４が終了すると、処理部１２０２は、アプリケーション１０２２に復元したコンテンツを含むレスポンスを送信する（ステップＳ６０５）。
【００９３】
ヘッダにＩＤ情報が含まれない場合（ステップＳ６０２でＮＯ）、処理部１２０２は、キャッシュデータ１２１１にコンテンツを記憶させる（ステップＳ６０６）。処理部１２０２は、ヘッダに付加された命令（コンテンツを記憶する命令）をレスポンスから除去する（ステップＳ６０７）。ステップＳ６０７の処理が終了すると、処理部１２０２は、命令を除去した後のレスポンスをアプリケーション１０２２に送信する（ステップＳ６０５）。
【００９４】
ＩＤと一致するデータがキャッシュデータ１２１１にない場合（ステップＳ６０３でＮＯ）、通信部１２０１は、中継装置１００３からＩＤに対応するコンテンツデータを取得する（ステップＳ６０８）。処理部１２０２は、取得したコンテンツをキャッシュデータ１２１１に記憶させる（ステップＳ６０９）。ステップＳ６０９が終了すると、処理部１２０２は、ステップＳ６０４を実行する。
【００９５】
モバイルルータ１０３０における図１６のフローチャートの処理を以下に説明する。モバイルルータ１０３０内の通信部１３０１は、中継装置１００３が中継したレスポンスを受信する（ステップＳ６０１）。処理部１３０２は、レスポンスのヘッダにＩＤ情報が含まれるか否かを判定する（ステップＳ６０２）。ヘッダにＩＤ情報が含まれる場合（ステップＳ６０２でＹＥＳ）、処理部１３０２は、ＩＤと一致するデータがキャッシュデータ１３１１にあるか否かを判定する（ステップＳ６０３）。
【００９６】
ＩＤと一致するデータがキャッシュデータ１３１１にある場合（ステップＳ６０３でＹＥＳ）、処理部１３０２は、ＩＤからコンテンツを復元する（ステップＳ６０４）。ステップＳ６０４が終了すると、通信部１３０１は、クライアント１０４０に復元したコンテンツを含むレスポンスを送信する（ステップＳ６０５）。
【００９７】
ヘッダにＩＤ情報が含まれない場合（ステップＳ６０２でＮＯ）、処理部１３０２は、キャッシュデータ１３１１にコンテンツを記憶させる（ステップＳ６０６）。処理部１３０２は、ヘッダに付加された命令（コンテンツを記憶する命令）をレスポンスから除去する（ステップＳ６０７）。ステップＳ６０７の処理が終了すると、通信部１３０１は、命令を除去した後のレスポンスをクライアント１０４０に送信する（ステップＳ６０５）。
【００９８】
ＩＤと一致するデータがキャッシュデータ１３１１にない場合（ステップＳ６０３でＮＯ）、通信部１３０１は、中継装置１００３からＩＤに対応するコンテンツデータを取得する（ステップＳ６０８）。処理部１３０２は、取得したコンテンツをキャッシュデータ１３１１に記憶させる（ステップＳ６０９）。ステップＳ６０９が終了すると、処理部１３０２は、ステップＳ６０４を実行する。
【００９９】
このように、無線区間１０１０のデータ送信をＩＤにより行うことで、無線区間１０１０におけるデータ通信量を削減することができる。更に、トラフィック削減部１００３がファイル単位ではなく、ファイルの一部分（コンテンツ）単位でＩＤ化することで、同一のファイル内で一部コンテンツが異なる場合でも、ファイルにおける共通のコンテンツにおいてキャッシュを利用可能になる。
【符号の説明】
【０１００】
１００１、１００１ａ〜１００１ｎ  配信サーバ
１００２  中継装置
１００３、１０２１、１０３１  トラフィック削減部
１０２０、１０４０  クライアント、モバイル端末
１０２２、１０４１  アプリケーション
１１０１  管理部
１１０２  抽出部
１１０３、１２０２、１３０２  処理部
１１０４、１２０１、１３０１  通信部
１１１０、１２０３、１３０３  記憶部
１１１１  キャッシュメタデータ
１１１２、１２１２、１３１２  ヘッダキャッシュ
１１１３  一時領域
１２１１、１３１１  キャッシュデータ
【図１】
2017134539.tif 000003
【図２】
2017134539.tif 000004
【図３】
2017134539.tif 000005
【図４】
2017134539.tif 000006
【図５】
2017134539.tif 000007
【図６】
2017134539.tif 000008
【図７Ａ】
2017134539.tif 000009
【図７Ｂ】
2017134539.tif 000010
【図８】
2017134539.tif 000011
【図９】
2017134539.tif 000012
【図１０】
2017134539.tif 000013
【図１１】
2017134539.tif 000014
【図１２】
2017134539.tif 000015
【図１３】
2017134539.tif 000016
【図１４】
2017134539.tif 000017
【図１５】
2017134539.tif 000018
【図１６】
2017134539.tif 000019