(57)【要約】【課題】ユーザーがコンテンツの取得を効率的に行うことを可能にする。【解決手段】本発明の実施形態としての通信装置は、サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にキャッシュされているコンテンツに関する第１情報を取得する第１取得部と、前記サーバーに保持されているコンテンツの識別子を含む第１コンテンツリストを取得する第２取得部と、前記第１コンテンツリストにおいて、前記複数の中継装置の少なくとも１つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも１つにキャッシュされていることを示す第２情報とを含む第２コンテンツリストを生成するコンテンツリスト生成部と、前記第２コンテンツリストを送信する通信部と、を備える。【選択図】図２
2018036889.tif 000002
【特許請求の範囲】
【請求項１】
サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第１情報を取得する第１取得部と、
前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第１コンテンツリストを取得する第２取得部と、
前記第１情報に基づき、前記第１コンテンツリストにおいて前記複数の中継装置の少なくとも１つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも１つにキャッシュされていることを示す第２情報とを含む第２コンテンツリストを生成するコンテンツリスト生成部と、
前記第２コンテンツリストを送信する通信部と、
を備えた通信装置。
【請求項２】
前記第２コンテンツリストは、前記第１コンテンツリストに含まれる前記識別子のうち、前記複数の中継装置のいずれにもキャッシュされていないコンテンツの識別子と、前記コンテンツが前記複数の中継装置のいずれにもキャッシュされていないことを示す第３情報とをさらに含む
請求項１に記載の通信装置。
【請求項３】
前記第２情報は、ユーザー端末から前記特定した識別子のコンテンツの取得要求を受けた前記中継装置が、前記コンテンツを前記ユーザー端末に提供するのに要する推定時間の情報を含む
請求項１または２に記載の通信装置。
【請求項４】
前記第２情報は、前記特定した識別子のコンテンツがキャッシュされている１つまたは複数の前記中継装置の識別子を含む
請求項１ないし３のいずれか一項に記載の通信装置。
【請求項５】
前記第２情報は、前記特定した識別子のコンテンツの価格情報を含む
請求項１ないし４のいずれか一項に記載の通信装置。
【請求項６】
前記第２情報は、前記特定した識別子のコンテンツをユーザーに提供した場合に付与されるポイントの情報を含む
請求項１ないし５のいずれか一項に記載の通信装置。
【請求項７】
前記第２情報は、前記特定した識別子のコンテンツをユーザー端末にダウンロードして再生することの可否を識別する情報を含む
請求項１ないし６のいずれか一項に記載の通信装置。
【請求項８】
前記第１情報は、前記中継装置ごとに、前記中継装置にキャッシュされているコンテンツの識別子を集約したブルームフィルタを含み、
前記コンテンツリスト生成部は、前記第１コンテンツリストに含まれる前記識別子を各ブルームフィルタに対して検証することで、前記識別子の前記コンテンツが、各中継装置にキャッシュされているかを判断する
請求項１ないし７のいずれか一項に記載の通信装置。
【請求項９】
コンテンツ提供部を備え、
前記通信装置は、前記複数の中継装置のうちのいずれか１つであり、
前記通信部は、前記第２コンテンツリストをユーザー端末に送信し、
前記コンテンツ提供部は、
前記ユーザー端末から前記第２コンテンツリストに含まれる前記識別子のうちの１つを指定する取得要求を受け、
前記取得要求に指定される前記識別子のコンテンツが自装置にキャッシュされている場合は、前記キャッシュされている前記コンテンツを前記ユーザー端末に提供し、
前記コンテンツが自装置にキャッシュされておらず他の中継装置にキャッシュされている場合は、前記他の中継装置から前記コンテンツを取得して、取得したコンテンツを前記ユーザー端末に提供し、
前記コンテンツが前記複数の中継装置のいずれにもキャッシュされていない場合は、前記コンテンツを前記サーバーから取得して、取得したコンテンツを前記ユーザー端末に提供する
請求項１ないし７のいずれか一項に記載の通信装置。
【請求項１０】
前記通信部は、前記第２コンテンツリストを前記複数の中継装置に送信する
請求項１ないし９のいずれか一項に記載の通信装置。
【請求項１１】
サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第１情報を取得するステップと、
前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第１コンテンツリストを取得するステップと、
前記第１情報に基づき、前記第１コンテンツリストにおいて前記複数の中継装置の少なくとも１つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも１つにキャッシュされていることを示す第２情報とを含む第２コンテンツリストを生成するステップと、
前記第２コンテンツリストを送信するステップと、
を備えた通信方法。
【請求項１２】
サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第１情報を取得するステップと、
前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第１コンテンツリストを取得するステップと、
前記第１情報に基づき、前記第１コンテンツリストにおいて前記複数の中継装置の少なくとも１つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも１つにキャッシュされていることを示す第２情報とを含む第２コンテンツリストを生成するステップと、
前記第２コンテンツリストを送信するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）における複数のアクセスポイントが設置されている状況において、コンテンツキャッシュ機能をそれらのアクセスポイントに搭載することにより、上位回線の使用量の削減、ユーザーへのレスポンスタイムの向上が実現できる。
【０００３】
近隣に複数のキャッシュ付のアクセスポイントが存在する環境においては、互いの保持しているキャッシュコンテンツを融通することで、コンテンツを効率的に利用できる。この場合、アクセスポイントポイント間で、近隣のアクセスポイントの情報と、当該近隣のアクセスポイントが保持しているキャッシュコンテンツの情報とを共有する必要がある。ＩＣＰ（Ｉｎｔｅｒｎｅｔ  Ｃａｃｈｅ  Ｐｒｏｔｏｃｏｌ）では、コンテンツのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｅｒ）を指定する必要があるため、膨大な確認コストが必要となる。
【０００４】
また、ユーザーから要求されたコンテンツがアクセスポイントにキャッシュされていない場合には、アクセスポイントがサーバーからコンテンツを取得する必要があり、ユーザーの待ち時間が長くなる。コンテンツがキャッシュされていても、コンテンツサイズが非常に大きい場合には、ダウンロードの時間が長くなり、それだけユーザーの待ち時間も長くなる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Internet Cache Protocol (ICP)
【非特許文献２】Cache Digests (Squid)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、ユーザーがコンテンツの取得を効率的に行うことを可能にする通信装置、通信方法及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の実施形態としての通信装置は、サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第１情報を取得する第１取得部と、前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第１コンテンツリストを取得する第２取得部と、前記第１情報に基づき、前記第１コンテンツリストにおいて前記複数の中継装置の少なくとも１つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも１つにキャッシュされていることを示す第２情報とを含む第２コンテンツリストを生成するコンテンツリスト生成部と、前記第２コンテンツリストを送信する通信部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る通信システムの一例を示す図。
【図２】第１実施形態に係るアクセスポイントの概略を示すブロック図。
【図３】第１実施形態に係るキャッシュ情報の例を示す図。
【図４】第１実施形態に係る共有キャッシュ情報の例を示す図。
【図５】第１実施形態に係る共有キャッシュ情報生成のフローチャート。
【図６】第１実施形態に係るコンテンツリストの例を示す図。
【図７】第１実施形態に係る付加情報付コンテンツリストの例を示す図。
【図８】第１実施形態に係る付加情報付コンテンツリスト作成のフローチャート。
【図９】第１実施形態に係るキャッシュコンテンツ応答のフローチャート。
【図１０】第１変形例を説明するための図。
【図１１】第２変形例を説明するための図。
【図１２】第２実施形態に係るアクセスポイントの概略を示すブロック図。
【図１３】第２実施形態に係るキャッシュ情報の例を示す図。
【図１４】第２実施形態に係るキャッシュフィルタリストの例を示す図。
【図１５】第２実施形態に係るキャッシュフィルタ生成のフローチャート。
【図１６】第２実施形態に係る共有キャッシュフィルタリストの例を示す図。
【図１７】第２実施形態に係る共有キャッシュフィルタリスト生成のフローチャート。
【図１８】第２実施形態に係るコンテンツリストの例を示す図。
【図１９】第２実施形態に係る付加情報付コンテンツリストの例を示す図。
【図２０】第２実施形態に係る付加情報付コンテンツリスト生成のフローチャート。
【図２１】第２実施形態に係るコンテンツ提供のフローチャート。
【図２２】第３実施形態に係る通信システムの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一名称の構成要素には、同じ番号を付し、説明は、適宜省略する。
【００１０】
（第１実施形態）
図１は、本実施形態に係る通信システムの一例を示す図である。図１の通信システムは、第１アクセスポイント１Ａと、第２アクセスポイント１Ｂと、ユーザー端末２と、コントローラ３と、サーバー４を備えている。
【００１１】
第１アクセスポイント１Ａ及び第２アクセスポイント１Ｂは、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のアクセスポイントである。アクセスポイント１Ａおよびアクセスポイント１Ｂは、ユーザー端末とコントローラ３間で通信の中継を行う中継装置である。
【００１２】
ユーザー端末２は、例えば、スマートホン、タブレット端末またはフィーチャーホンといった、無線通信可能な通信端末である。図の例では、ユーザー端末２は、第１アクセスポイント１Ａと無線で接続している。
【００１３】
コントローラ３は、第１アクセスポイント１Ａおよび第２アクセスポイント１Ｂを、ネットワーク５へ接続する装置であり、第１アクセスポイント１Ａおよび第２アクセスポイント１Ｂはコントローラ３を介して相互に接続される。さらに、第１アクセスポイント１Ａおよび第２アクセスポイント１Ｂは、コントローラ３を介してネットワーク５に接続される。コントローラ３が存在しない構成も可能である。この場合、アクセスポイント１Ａおよびアクセスポイント１Ｂは、上位側の他のルータまたは交換機等と接続される。本実施形態ではネットワーク５はインターネットである。ただし、ネットワーク５は、インターネット以外の広域ネットワークでもよいし、ローカルエリアネットワークでもよい。
【００１４】
サーバー４は、ネットワーク５上に存在する装置であり、種々のコンテンツやサービスの提供を行う。サーバー４は、ユーザー端末２、第１アクセスポイント１Ａ、または第２アクセスポイント１Ｂ、またはコントローラ３から要求を受信し、要求に応じたデータ（例えばコンテンツリスト、コンテンツ等）を提供する。
【００１５】
図２は、本実施形態に係る通信装置を搭載したアクセスポイントの機能ブロック図である。アクセスポイントは、図１に示す第１アクセスポイント１Ａ及び第２アクセスポイント１Ｂのいずれでもよい。図１に示す第１アクセスポイント１Ａ及び第２アクセスポイント１Ｂは、いずれも図２に示すブロックの機能を有する。以下の説明で、アクセスポイントというときは、第１アクセスポイント１Ａ及び第２アクセスポイント１Ｂの任意の一方を指すものとする。なお、図には本実施形態の説明に必要な要素のみ記述しており、他の要素を排除するものではない。
【００１６】
なお、本実施形態に係る通信装置は、アクセスポイント１Ａ、１Ｂに搭載される構成の他、コントローラ３またはサーバー４に搭載する構成も可能である。または、本実施形態に係る通信装置を、独立した単独の装置として実現し、各アクセスポイントまたはコントローラ３またはサーバー４またはこれらの任意の組合せと通信可能に構成してもよい。
【００１７】
図２に示すように、アクセスポイントは、キャッシュ情報交換部（第１取得部）１０と、共有キャッシュ情報生成部１１と、コンテンツ取得要求応答部（第２取得部、コンテンツ提供部）１２と、付加情報付コンテンツリスト生成部（コンテンツリスト生成部）１３と、記憶部１４と、通信部１５と、を備える。アクセスポイントは、ユーザー端末２、コントローラ３および他のアクセスポイントなど、他の通信ノードと通信することが可能である。アクセスポイントは、他のアクセスポイントと通信する場合は、コントローラ３を介してもよいし、直接通信してもよい。
【００１８】
キャッシュ情報交換部１０は、他のアクセスポイントのキャッシュ情報を取得するとともに、他のアクセスポイントへ自装置のキャッシュ情報の配信を行う。キャッシュ情報は、記憶部１４にキャッシュされているコンテンツ（キャッシュコンテンツ）の識別子、コンテンツサイズおよびオフライン再生可能フラグを含む情報である。キャッシュ情報は、本実施形態に係るキャッシュコンテンツに関する第１情報に対応する。キャッシュ情報の詳細は後述する。
【００１９】
共有キャッシュ情報生成部１１は、自アクセスポイント１及び他のアクセスポイントの記憶部１４に記憶されているキャッシュ情報に基づいて、共有キャッシュ情報を生成する。共有キャッシュ情報は、各アクセスポイントポイントのキャッシュ情報を統合した情報であり、詳細は後述する。
【００２０】
コンテンツ取得要求応答部１２は、サーバー４にコンテンツリストの取得要求を送信し、要求したコンテンツリストを取得する。コンテンツリストは、サーバー４が保持するコンテンツの識別子のリストである。このコンテンツリストは、本実施形態に係る第１コンテンツリストに相当し、コンテンツ取得要求応答部１２は、第１コンテンツリストを取得する第２取得部を備える。
【００２１】
付加情報付コンテンツリスト生成部１３は、共有キャッシュ情報と、コンテンツ取得要求応答部１２により取得されたコンテンツリストから、付加情報付コンテンツリストを生成する。
【００２２】
付加情報付コンテンツリストは、コンテンツリストに含まれる複数のコンテンツの識別子のうち、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツの識別子に対して、当該コンテンツがいずれかのアクセスポイントにキャッシュされていること等を示す付加情報（第２情報）を設定したものである。付加情報の設定されていない識別子のコンテンツは、いずれのアクセスポイントにもキャッシュされていない（サーバー４にのみ保持されている）ことを意味する。
【００２３】
つまり、付加情報コンテンツリストは、コンテンツリストにおいて少なくともいずれかのアクセスポイントにキャッシュされているコンテンツの識別子と、当該コンテンツが少なくともいずれかのアクセスポイントにキャッシュされていること等を示す付加情報（第２情報）とを含む。さらに付加情報コンテンツリストは、いずれのアクセスポイントにもキャッシュされていない（サーバー４にのみ保持されている）コンテンツの識別子と、当該コンテンツがいずれのアクセスポイントにもキャッシュされていなことを示す情報（第３情報）とを含む。本実施形態では第３情報は、識別子に何も値を設定しないことで表現するが、明示的にキャッシュされていないことを示す値を定義し、当該値を識別子に設定することも可能である。なお、付加情報付コンテンツリストに、キャッシュされていないコンテンツの識別子および第３情報を含めない構成も可能である。付加情報付コンテンツリストは、本実施形態に係る第２コンテンツリストに相当し、付加情報付コンテンツリスト生成部１３は、第２コンテンツリストを生成するコンテンツリスト生成部を備える。
【００２４】
記憶部１４は、自アクセスポイントのキャッシュ情報、および、他アクセスポイントから取得したキャッシュ情報を記憶する。また、記憶部１４は、コンテンツを内部に記憶（キャッシュ）する。記憶部１４に記憶されているコンテンツを、キャッシュされたコンテンツと呼ぶ場合もある。記憶部１４にコンテンツを格納することを、コンテンツをキャッシュすると呼ぶ場合もある。コンテンツは、予め記憶部１４に設定されている場合、サーバー４からコンテンツを取得した場合にキャッシュする場合、他のアクセスポイントからコンテンツを取得したときにキャッシュする場合などがある。なお、キャッシュ情報とコンテンツとが同じ記憶部１４に保持されているが、別々の記憶部に保持されるようにしてもよい。また記憶部１４は、共有キャッシュ情報、コンテンツリスト、および付加情報付コンテンツリストも記憶してよい。
【００２５】
通信部１５は、他の通信ノードに情報または要求を送信したり、他の通信ノードから情報を受信したりする。他の通信ノードは、例えば、他のアクセスポイント、サーバー４、ユーザー端末２、コントローラ３である。以下、特に明示しない限り、他の通信ノードとの送受信は、この通信部１５を介して行われる。なお、アクセスポイントは、他のアクセスポイント１、コントローラ３、サーバー４と無線で接続されても、有線で接続されてもよい。また、コントローラ３側の通信インタフェースと、ユーザー端末２側の通信インタフェースとが異なってもよい。
【００２６】
なお、図２においては、各部（各ブロック）は独立した要素として構成されているが、複数の要素をまとめて１つの部を定義してもよい。
【００２７】
次に、キャッシュ情報の交換に係る動作と、付加情報付コンテンツリストの提供に係る動作について説明する。
【００２８】
まず、第１アクセスポイント１Ａと、この第１アクセスポイント１Ａの周辺の他のアクセスポイントである第２アクセスポイント１Ｂとの間で接続が確立されているとする。これらのアクセスポイントは、有線又は無線のネットワークを介して接続され双方向に通信が確立されており、その接続方式および通信方式はどのような方式であってもよいものとする。
【００２９】
第１アクセスポイント１Ａのキャッシュ情報交換部１０は、第２アクセスポイント１Ｂに対してキャッシュ情報の取得要求を送信する。本実施形態において、キャッシュ情報は、キャッシュされたコンテンツを指し示すコンテンツＩＤ（コンテンツの識別子）と、データサイズと、オフライン再生可能フラグとの情報を備えた１以上のエントリを含むリストにより構成される。
【００３０】
図３（ａ）及び図３（ｂ）は、キャッシュ情報の一例を示す図である。例えば、図３（ａ）は、第１アクセスポイント１Ａのキャッシュ情報であり、コンテンツＩＤであるＵＲＬと、コンテンツサイズと、当該コンテンツがオフラインにおいて再生可能であるか否かを示すフラグとを紐付けた情報である。この場合、第１アクセスポイント１Ａには、１００，０００，０００Ｂｙｔｅのオフライン再生可能なｅｘａｍｐｌｅ１というコンテンツと、１，０００，０００，０００Ｂｙｔｅのオフライン再生可能なｅｘａｍｐｌｅ２というコンテンツがキャッシュされている。同様に、図３（ｂ）は、第２アクセスポイント１Ｂのキャッシュ情報を示す図である。図３（ｂ）に示すように、第２アクセスポイント１Ｂには、第１アクセスポイント１Ａと同様にｅｘａｍｐｌｅ２というコンテンツと、それとは別に１０，０００，０００，０００Ｂｙｔｅでオフライン再生可能なｅｘａｍｐｌｅ３というコンテンツがキャッシュされている。
【００３１】
ここで、オフライン再生可能とは、該当するコンテンツの全体をダウンロードして、ユーザー端末でローカルに再生できることを意味する。コンテンツをネットワークから所定のレートでダウンロードしながら、再生する方式は、ストリーミング再生と呼ばれる。本実施形態ではアクセスポイントにキャッシュされているコンテンツは、オフライン再生可能であるが、それ以外のコンテンツ、すなわちサーバー４にのみ存在するコンテンツは、ストリーミング再生のみ可能なコンテンツであるとする。ただし、アクセスポイントにキャッシュされているコンテンツであっても、オフライン再生可能なコンテンツと、ストリーミング再生可能（オフライン再生不可）なコンテンツが区別されてもよい。この場合、ストリーミング再生可能なコンテンツにはオフライン再生不可フラグを設定してもよい。
【００３２】
第２アクセスポイント１Ｂのキャッシュ情報交換部１０は、第１アクセスポイント１Ａのキャッシュ情報交換部１０から、キャッシュ情報の取得要求を受信すると、応答として、第２アクセスポイント１Ｂのキャッシュ情報を第１アクセスポイント１Ａへ送信する。第２アクセスポイント１Ｂのキャッシュ情報を受信した第１アクセスポイント１Ａは、第２アクセスポイント１Ｂのキャッシュ情報を記憶部１４へ格納および保持する。同様に、第２アクセスポイント１Ｂから第１アクセスポイント１Ａへキャッシュ情報の取得要求を送信すると、第１アクセスポイント１Ａは、保持しているキャッシュ情報を、第２アクセスポイント１Ｂへ送信する。第２アクセスポイント１Ｂは、第１アクセスポイント１Ａから受信したキャッシュ情報を、記憶部１４に格納および保持する。これらの動作の結果、アクセスポイント間でのキャッシュ情報の交換が実現する。
【００３３】
キャッシュ情報を交換した各アクセスポイント（１Ａ、１Ｂ）は、自アクセスポイント及び他アクセスポイントのキャッシュ情報から共有キャッシュ情報を生成し、生成した共有キャッシュ情報を記憶部１４に格納および保持する。
【００３４】
図４は、この共有キャッシュ情報の一例を示す図である。図４に示す共有キャッシュ情報は、図３（ａ）及び図３（ｂ）に示されるようなキャッシュ情報を１つにまとめたものであり、ｅｘａｍｐｌｅ１乃至ｅｘａｍｐｌｅ３のキャッシュ情報を含む。また、共有キャッシュ情報は、さらに、コンテンツ（ｅｘａｍｐｌｅ１乃至ｅｘａｍｐｌｅ３）がキャッシュされているアクセスポイントポイントの識別子であるＡＰＩＤを含む。したがって、共有キャッシュ情報は、コンテンツＩＤと、コンテンツサイズと、オフライン再生可能フラグと、ＡＰＩＤとを含む複数のエントリを有する。例えば、図４のｅｘａｍｐｌｅ２のコンテンツは、アクセスポイント１Ａと１Ｂの両方でキャッシュされている。ＡＰＩＤの例として、ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）を用いることができる。
【００３５】
図５は、アクセスポイント１に備えられている共有キャッシュ情報生成部１１が共有キャッシュ情報を生成する処理についての動作を示すフローチャートである。
【００３６】
まず、記憶部１４に記憶されているキャッシュ情報のうち１つを取り出す（ステップＳ１００）。例えば、図３（ａ）のキャッシュ情報と図３（ｂ）のキャッシュ情報とが記憶部１４に記憶されている場合に、図３（ａ）に示すキャッシュ情報を取得する。
【００３７】
次に、キャッシュ情報から１エントリを抽出する（ステップＳ１０１）。例えば、コンテンツＩＤがｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｃｏｎｔｅｎｔ／ｅｘａｍｐｌｅ１、コンテンツサイズが１００，０００，０００、オフライン再生可能フラグが○（可能）のエントリを抽出する。
【００３８】
次に、抽出したエントリのコンテンツＩＤが、共有キャッシュ情報に含まれているか否かを判断する（ステップＳ１０２）。共有キャッシュ情報に、当該コンテンツＩＤを含むエントリがある場合（ステップＳ１０２：Ｙｅｓ）、このエントリに、このコンテンツＩＤのコンテンツがキャッシュされているアクセスポイントのＡＰＩＤを追記する（ステップＳ１０３）。なお、この際、既に同一のＡＰＩＤがエントリに含まれている場合においては、追記しなくてよい。
【００３９】
一方で、共有キャッシュ情報に、上記コンテンツＩＤを含むエントリがない場合（ステップＳ１０２：Ｎｏ）、共有キャッシュ情報に新たなエントリ、すなわち、コンテンツＩＤと、コンテンツサイズと、オフライン再生可能フラグと、当該コンテンツがキャッシュされているアクセスポイントのＡＰＩＤを含むエントリを追加する（ステップＳ１０４）。例えば、図３（ａ）に示す第１アクセスポイント１Ａのキャッシュ情報からｅｘａｍｐｌｅ２のエントリが抽出された場合を考える。共有キャッシュ情報において既にｅｘａｍｐｌｅ２のエントリが存在し、ＡＰＩＤとして「ＡＰ２」のみが記載されていた場合は、このエントリに「ＡＰ１」を追記する。
【００４０】
次に、キャッシュ情報中の全てのエントリが抽出されたか否かを判断する（ステップＳ１０５）。全てのエントリの抽出が終了していない場合（ステップＳ１０５：Ｎｏ）、キャッシュ情報中の次のエントリを抽出し、ステップＳ１０２乃至ステップＳ１０４の処理を行う。一方で全てのエントリの抽出が終了している場合（ステップＳ１０５：Ｙｅｓ）、全てのキャッシュ情報が取得されたか否かを判断する（ステップＳ１０６）。
【００４１】
例えば、図３（ａ）及び図３（ｂ）に示すキャッシュ情報が参照可能である場合において、図３（ａ）に示すキャッシュ情報内のエントリは全て抽出し終わったが、図３（ｂ）に示すキャッシュ情報を取得していない場合（ステップＳ１０６：Ｎｏ）、新たなキャッシュ情報として図３（ｂ）に示すキャッシュ情報を取得し、処理を継続する（ステップＳ１０１乃至ステップＳ１０５）。一方で、全てのキャッシュ情報の取得が完了した場合（ステップＳ１０６：Ｙｅｓ）、共有キャッシュ情報生成処理は、終了する。
【００４２】
上記においては、アクセスポイントが２つ存在する場合について説明したが、３以上のアクセスポイントが存在する場合においても、各アクセスポイントが自装置以外のアクセスポイントとキャッシュ情報の交換をすることで、各アクセスポイントは、３つ以上のアクセスポイントのキャッシュ情報を反映した共有キャッシュ情報を生成できる。また、各アクセスポイントは、キャッシュ情報を送信する際には、自装置のキャッシュ情報とともに、取得済みの他のアクセスポイントのキャッシュ情報を送信するようにしてもよい。
【００４３】
また、他の方法として、各アクセスポイントが、他のアクセスポイントにキャッシュ情報をブロードキャストすることにより、キャッシュ情報を交換してもよい。なお、ブロードキャストを行うタイミングは、他のアクセスポイントが新たに加わったタイミングでもよいし、周期的なタイミングで行ってもよいし、キャッシュ情報に変更があったタイミングでもよい。また、前述した方法と組み合わせて、キャッシュ情報の交換を行ってもよい。
【００４４】
次に、付加情報付コンテンツリストの提供処理について説明する。ユーザー端末２と第１アクセスポイント１Ａとの間で接続が確立されており、第１アクセスポイント１Ａおよび第２アクセスポイント１Ｂ間でキャッシュ情報の交換が完了し、各々の記憶部１４に共有キャッシュ情報が保存されているとする。なお、第１アクセスポイント１Ａとユーザー端末２間にて、ユーザー端末２が使用可能な空き帯域があらかじめ設定されているとする。
【００４５】
第１アクセスポイント１Ａにおけるコンテンツ取得要求応答部１２の第２取得部は、ユーザー端末２から付加情報付コンテンツリストの取得要求を受信すると、サーバー４に対して、コンテンツリストの取得要求を送信する。コンテンツリストの一例を図６に示す。コンテンツリストは、１つ以上のエントリから構成され、各エントリは、コンテンツのページ、例えば、ＵＲＬを示すページＩＤを含む。
【００４６】
サーバー４は、第１アクセスポイント１Ａからコンテンツリストの取得要求を受信すると、要求にしたがいコンテンツリストを第１アクセスポイント１Ａへ送信する。コンテンツリストは、例えば、ユーザーへのお薦めコンテンツのリストである。第１アクセスポイント１Ａのコンテンツ取得要求応答部１２は、コンテンツリストを受信すると、受信したコンテンツリストを付加情報付コンテンツリスト生成部１３へ渡す。第１アクセスポイント１Ａは、コンテンツリストの取得要求を送信する際、ユーザーの識別情報（ユーザーＩＤ等）をサーバー４に送信してもよい。サーバー４はユーザーＩＤに応じて、コンテンツリストを生成してもよい。
【００４７】
付加情報付コンテンツリスト生成部１３は、コンテンツ取得要求応答部１２からコンテンツリストを受け取ると、記憶部１４から共有キャッシュ情報を読み出し、コンテンツリストと共有キャッシュ情報とから、付加情報付コンテンツリストを生成する。以下、付加情報付コンテンツリストの生成方法の一例を、図７及び図８を参照して説明する。
【００４８】
図７は、付加情報付コンテンツリストの一例を示す図である。この図７に示すように、付加情報付コンテンツリストは、キャッシュコンテンツについては、ページＩＤと、コンテンツの推定ダウンロード時間（推定ＤＬ時間）と、オフライン再生可能フラグと、ＡＰＩＤとを含むエントリを含み、キャッシュコンテンツ以外のコンテンツについては、ページＩＤのみを含むエントリを含む。ユーザー端末が属するＡＰのＡＰＩＤについては、そのことが分かるような表示（例えば色を変える）を行ってもよい。推定ＤＬ時間、オフライン再生可能フラグ、ＡＰＩＤは、本実施形態に係る第２情報の一例である。第２情報が設定されているコンテンツＩＤのコンテンツは、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツであるといえる。
【００４９】
推定ダウンロード時間は、コンテンツＩＤが示すキャッシュコンテンツを、ユーザー端末２が接続しているアクセスポイントからダウンロードするのに要する推定時間である。したがって、同一のコンテンツであっても、ユーザー端末２は、接続するアクセスポイントに応じて、付加情報付コンテンツリストの推定時間が異なる可能性がある。キャッシュコンテンツが、ユーザー端末２が接続しているアクセスポイント以外の他のアクセスポイントに存在する場合は、推定時間は、当該接続しているアクセスポイントが他のアクセスポイントから当該コンテンツを受信するために要する時間と、当該接続しているアクセスポイントがユーザー端末２にコンテンツを送信するのに要する時間とを含む。そのような他のアクセスポイントが２つ以上存在する場合は、最も短い時間でもよいし、これらの時間の平均等の統計値でもよい。
【００５０】
後に説明するように、端末２のユーザーは、この推定時間を参照することで、コンテンツをダウンロードするのに要する時間を予測できる。例えばユーザーがＷｉｆｉスポットに滞在しているときに、Ｗｉｆｉスポットに滞在する残り予定時間に応じて、コンテンツのダウンロードを実行するか否かを決定することができる。
【００５１】
図８は、付加情報付コンテンツリスト生成部１３が付加情報付コンテンツリストを生成する処理を示すフローチャートである。まず、付加情報付コンテンツリスト生成部１３は、サーバー４から受信したコンテンツリスト（図６参照）から、１つのエントリを抽出する（ステップＳ１１０）。例えば、図６に示すコンテンツリストから、ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｐａｇｅ／ｅｘａｍｐｌｅ１というページＩＤを有するエントリを抽出する。
【００５２】
次に、このページＩＤから、コンテンツＩＤを生成する（ステップＳ１１１）。本実施形態においては、ページＩＤに含まれる“ｐａｇｅ”を、“ｃｏｎｔｅｎｔ”に置換することで、コンテンツＩＤを生成する。ただし、コンテンツＩＤの生成方法はこれには限られず、ページＩＤと同じ値を、コンテンツＩＤとして用いてもよい。ページＩＤとコンテンツＩＤを一意的に対応づけられるかぎり、どのような変換方法でコンテンツＩＤを生成してもよい。
【００５３】
次に、生成したコンテンツＩＤを、共有キャッシュ情報の各エントリのコンテンツＩＤと比較し、生成したコンテンツＩＤが共有キャッシュ情報に含まれるか否かを判断する（ステップＳ１１２）。生成したコンテンツＩＤと同じコンテンツＩＤをもつエントリが、共有キャッシュ情報に含まれている場合（ステップＳ１１２：Ｙｅｓ）、当該コンテンツＩＤに対応するページＩＤ（コンテンツＩＤを生成する元になったページＩＤ）に、当該エントリに応じた付加情報を設定し、ページＩＤと付加情報とを含むエントリを、付加情報付コンテンツリストに追加する（ステップＳ１１３）。付加情報は、本実施形態に係る第２情報に対応する。
【００５４】
より詳細には、付加情報（第２情報）は、コンテンツのデータサイズに基づいて算出される推定ダウンロード時間、オフライン再生可能フラグ、ＡＰＩＤ等である。例えば、これらのコンテンツＩＤと、推定ダウンロード時間（推定ＤＬ時間）と、オフライン再生可能フラグと、ＡＰＩＤとを含むエントリを、付加情報付コンテンツリストに追加する。推定ダウンロード時間は、例えば、データサイズを、帯域の伝送レートで割った値を用いることにより算出される。付加情報を含むエントリは、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツに対応するエントリである。
【００５５】
一方で、生成したコンテンツＩＤと同じコンテンツＩＤが、共有キャッシュ情報に含まれない場合（ステップＳ１１２：Ｎｏ）、当該コンテンツＩＤのコンテンツに対して、ページＩＤのみを含むエントリを、付加情報付コンテンツリストへ追加する（ステップＳ１１４）。例えば、図７の一番下段に記載されているエントリのように、ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｐａｇｅ／ｅｘａｍｐｌｅ４を、付加情報付コンテンツリストへ追加する。なお、このエントリには、付加情報（第２情報）、すなわち、推定ダウンロード時間、オフライン再生可能フラグ、ＡＰＩＤは含まれない。ただし、当該エントリに対応するコンテンツ（サーバー４にのみ存在するコンテンツ）に対しても、推定ダウンロード時間、オフライン再生不能フラグ（あるいは、オフライン再生可能な場合は、オフライン再生可能フラグ）等の情報を付加する構成も可能である。
【００５６】
次に、コンテンツリストに含まれる全てのエントリが抽出されたか否かを判断する（ステップＳ１１５）。コンテンツリストに含まれる全てのエントリが抽出された場合（ステップＳ１１５：Ｙｅｓ）、付加情報付コンテンツリストの生成を終了する。一方で、コンテンツリストに含まれる全てのエントリの抽出がされていない場合（ステップＳ１１５：Ｎｏ）、次のエントリを抽出し、上述した処理を繰り返す（ステップＳ１１０乃至ステップＳ１１４）。
【００５７】
付加情報付コンテンツリストの生成が完了すると、付加情報付コンテンツリストを応答としてユーザー端末２へと送信する。付加情報付コンテンツリストを受信したユーザー端末２は、受信した付加情報付コンテンツリストを、その画面に表示する。ユーザーは、画面に表示された付加情報付コンテンツリストを参照することで、コンテンツ毎に、オフライン再生可能か否か（キャッシュされているか否か）の判断や、ダウンロードに要する時間の予測等を行うことができる。
【００５８】
次に、コンテンツ提供動作について説明する。第１アクセスポイント１Ａにおけるコンテンツ取得要求応答部１２のコンテンツ提供部は、ユーザー端末２からページＩＤを含むコンテンツ取得要求を受信すると、ページＩＤに対応するコンテンツＩＤをもつコンテンツのキャッシュ状況を調べ、その結果に応じて、記憶部１４、他のアクセスポイント、またはサーバー４からコンテンツを取得して、ユーザー端末２へコンテンツを送信する。これにより、ユーザー端末２からの取得要求に応答する。
【００５９】
図９は、コンテンツ提供動作の処理を示すフローチャートである。まず、第１アクセスポイント１Ａは、ユーザー端末２からページＩＤを含むコンテンツ取得要求を受信する（ステップＳ１２０）。
【００６０】
次に、コンテンツ取得要求応答部１２は、記憶部１４に記憶されている共有キャッシュ情報を読み出し、コンテンツ取得要求されたページＩＤに対応するコンテンツＩＤと、共有キャッシュ情報とを比較し、当該コンテンツＩＤが共有キャッシュ情報に含まれるか否かを判断する（ステップＳ１２１）。
【００６１】
取得要求されたコンテンツＩＤが共有キャッシュ情報に含まれていない場合（ステップＳ１２１：Ｎｏ）、ページＩＤを元に、コンテンツの配信元となるサーバー４に対して取得要求を行い、コンテンツをサーバー４から取得する（ステップＳ１２２）。この際、取得したコンテンツを記憶部１４にキャッシュし、キャッシュ情報を更新してもよい。
【００６２】
一方で、取得要求されたコンテンツＩＤが共有キャッシュ情報に含まれている場合（ステップＳ１２１：Ｙｅｓ）、共有キャッシュ情報の当該コンテンツＩＤを含むエントリを抽出し、抽出したエントリに、自アクセスポイントのＡＰＩＤが含まれるか否かを判断する（ステップＳ１２３）。すなわち、抽出したエントリのＡＰＩＤ項目に、第１アクセスポイント１ＡのＡＰＩＤである「ＡＰ１」が含まれるか否かを判断する。
【００６３】
抽出したエントリのＡＰＩＤ項目に、自アクセスポイントのＡＰＩＤが含まれている場合（ステップＳ１２３：Ｙｅｓ）、取得要求されたコンテンツＩＤに関連づけられたコンテンツを、自アクセスポイントの記憶部１４から検索する（ステップＳ１２４）。
【００６４】
一方で、抽出したエントリのＡＰＩＤ項目に自アクセスポイントのＡＰＩＤが含まれていない場合（ステップＳ１２３：Ｎｏ）、ＡＰＩＤ項目に含まれているＡＰＩＤのうち、１つのＡＰＩＤを読み出す。そして、読み出したＡＰＩＤのアクセスポイントに対して、キャッシュコンテンツの取得要求を送信して、当該アクセスポイントからキャッシュコンテンツを取得する（ステップＳ１２５）。この際、抽出したエントリのＡＰＩＤ項目に複数のＡＰＩＤが含まれる場合、最もコンテンツ取得に要する時間が短いＡＰＩＤを選択してもよい。または、なるべく上位の回線の帯域を使わないようなアクセスポイントのＡＰＩＤを選択するようにしてもよい。また、取得したコンテンツを自アクセスポイントの記憶部１４にキャッシュ（保持）し、キャッシュ情報を更新してもよい。あるいは、ある一定回数同じコンテンツの取得要求を受信した場合に、コンテンツをキャッシュするようにしてもよい。
【００６５】
コンテンツの提供準備が終了すると、コンテンツ取得要求応答部１２は、コンテンツ取得要求に対する応答として、ユーザー端末２へコンテンツを送信する（ステップＳ１２６）。
【００６６】
このように、第１アクセスポイント１Ａは、ユーザー端末２からコンテンツの取得要求を受信した場合、自アクセスポイントまたは他のいずれかのアクセスポイントにキャッシュされている場合は、キャッシュされているコンテンツを提供し、どのアクセスポイントにもキャッシュされていない場合には、サーバー４からコンテンツを取得して、ユーザー端末２へ提供する。
【００６７】
以上のように、本実施形態によれば、付加情報付コンテンツリストを提供することにより、ユーザーは、キャッシュされているコンテンツと、キャッシュされていないコンテンツを識別できるとともに、オフライン再生可否（ダウンロード可否）や、ダウンロードに必要な推定時間を判断できる。これらを考慮して、ユーザーは、ダウンロードの実行を行うか否かを決定したり、ダウンロードするコンテンツを決めたりすることができる。例えばダウンロードに要する推定時間が短いコンテンツが存在すれば、コンテンツをダウンロードしてから、Ｗｉｆｉスポットを立ち去ろうなどといった判断が可能となる。許容できるダウンロード推定時間のコンテンツがなければ、ダウンロードをしないで、Ｗｉｆｉスポットを立ち去ろうといった決定もできる。
【００６８】
また、本実施形態によれば、アクセスポイント間でキャッシュコンテンツに関する情報（キャッシュ情報）を事前に共有しておくことで、ユーザーから要求されたキャッシュコンテンツが他のアクセスポイントポイントにキャッシュされているかの確認のためのコストを削減できる。これにより、サーバー４とアクセスポイントとの間の上位回線の帯域を確保しつつ、ユーザーに高速にコンテンツを提供することが可能となる。
【００６９】
なお、１つのコンテンツに対して複数のビットレートのバージョンが存在していてもよい。この場合、ビットレートが異なる同一のコンテンツごとに、異なるコンテンツＩＤと異なるコンテンツサイズとをもつエントリを生成して、キャッシュ情報に追加する。これに応じて、付加情報付コンテンツリストでは、ビットレートが異なる同一コンテンツごとに、異なる推定ダウンロード時間を含むエントリが追加される。これにより、付加情報付コンテンツリストを参照したユーザーは、同一コンテンツであっても、ダウンロードに必要な推定時間を考慮して、ダウンロードするコンテンツの品質を決めることができる（同一のコンテンツでは、ダウンロードに必要な推定時間が長いほど、品質が高いといえる）。
【００７０】
また、共有キャッシュ情報には、必ずしも他のアクセスポイントのキャッシュ情報を反映させる必要は無く、共有キャッシュ情報の内容を、自アクセスポイントのキャッシュ情報にのみ基づく内容としてもよい。この場合、共有キャッシュ情報のＡＰＩＤ項目には、自アクセスポイントのＡＰＩＤのみが含まれることとなるための、ＡＰＩＤ項目を削除してもよい。
【００７１】
キャッシュ情報に変更が生じた場合に行うアクセスポイントの処理、例えば、新しいキャッシュコンテンツが追加された、又は、古いキャッシュコンテンツが削除された等の理由によりキャッシュ情報が更新された場合における処理について説明する。この場合、アクセスポイントは、更新後のキャッシュ情報を、周辺にある他のアクセスポイントへとブロードキャストにより送信する。他の例としては、キャッシュ情報を更新したタイミングではなく、所定の時間ごとに、最新のキャッシュ情報をブロードキャスト送信するようにしてもよい。
【００７２】
なお、上記のようなタイミングではなく、ユーザー端末２からコンテンツの取得要求がされたタイミングで、キャッシュ情報を送信してもよい。さらに別の例としては、他のアクセスポイントからキャッシュ情報の取得要求があったタイミングで、キャッシュ情報を送信するようにしてもよい。
【００７３】
（第１変形例）
付加情報付コンテンツリストに、コンテンツの料金情報を追加してもよい。料金情報を含む付加情報付コンテンツリストの例を図１０に示す。コンテンツ毎に料金情報が追加されている。例えば、一番上のコンテンツの価格は１０円、上から２番目のコンテンツは無料である。
【００７４】
アクセスポイントは、キャッシュ情報および共有キャッシュ情報を作成する際、キャッシュ情報および共有キャッシュ情報にコンテンツの料金情報も含める。サーバー４はコンテンツリストを提供する際は、コンテンツリストに、コンテンツの料金情報も含める。アクセスポイントでは、同一コンテンツに対して、サーバー４とは異なる料金、例えばサーバー４より易い価格（無料の場合を含む）を設定してもよい。アクセスポイントは、付加情報付コンテンツリストを作成する際、キャッシュコンテンツについては、サーバー４が提供するコンテンツリストの料金情報ではなく、自アクセスポイントの料金情報を採用し、どのアクセスポイントにもキャッシュされていないコンテンツについては、コンテンツリストの料金情報を採用する。なお、コンテンツの料金情報が、複数のアクセスポイント間で異なる場合も可能である。この場合、共有キャッシュ情報および付加情報付コンテンツリストを作成する際、同一コンテンツであっても、アクセスポイントごとにエントリを分けてもよい。
【００７５】
各アクセスポイントおよびサーバー４と通信可能な課金システムを設け、当該課金システムで、ユーザーの情報と、ユーザーへ提供されたコンテンツの情報をアクセスポイントから取得し、ユーザーに対する課金処理を行ってもよい。課金システムで、各アクセスポイントにキャッシュされているコンテンツの価格を管理してもよい。課金システムは、少なくともいずれか１つのアクセスポイントまたはサーバー４内に搭載されていてもよい。
【００７６】
（第２変形例）
付加情報付コンテンツリストに、コンテンツの提供に応じて付与するポイントの情報を追加してもよい。ポイント情報を含む付加情報付コンテンツリストの例を図１１に示す。コンテンツ毎に、ポイント情報が追加されている。例えば、一番上のコンテンツのポイントは５ポイントであり、ユーザー端末に当該コンテンツを提供する際、ユーザーに５ポイントが付与される。サーバー４からダウンロードするコンテンツの場合は、ポイントは付与されない。ただし、サーバー４からダウンロードするコンテンツにも、ポイントを付与するようにしてもよい。
【００７７】
アクセスポイントは、キャッシュ情報および共有キャッシュ情報を作成する際、キャッシュ情報および共有キャッシュ情報にコンテンツのポイント情報も含める。また、付加情報付コンテンツリストを作成する際、付加情報付コンテンツリストにコンテンツのポイント情報も含める。なお、コンテンツのポイント情報が、複数のアクセスポイント間で異なる場合も可能である。この場合、共有キャッシュ情報および付加情報付コンテンツを作成する際、同一コンテンツであっても、アクセスポイントごとにエントリを分けてもよい。
【００７８】
各アクセスポイントと通信可能なポイント管理システムを設け、当該ポイント管理システムで、ユーザー毎のポイント管理を行ってもよい。ポイント管理システムは、少なくともいずれか１つのアクセスポイント内に搭載されていてもよい。ポイント管理システムでは、ユーザーの情報（ユーザーＩＤ等）と、ユーザーに提供されたコンテンツの情報をアクセスポイントから取得し、ユーザーに提供されたコンテンツに応じて、ユーザーにポイントを付与する。たまったポイント量に応じて、特定のサービス、または特定の商品をユーザーに提供してもよい。例えばたまったポイントの量に応じて、特定のボーナスコンテンツを提供してもよい。また、コンテンツが有料の場合に、コンテンツの代金の支払いの一部または全部を、ポイントで行ってもよい。この場合、本第２変形例を、第１変形例と組み合わせて、コンテンツ毎の価格の管理も行うようにしてもよい。
【００７９】
（第２実施形態）
本実施形態においては、キャッシュコンテンツのコンテンツＩＤの集合を、ブルームフィルタに集約し、ブルームフィルタの交換を行うことで、保持する情報および他のアクセスポイントとのやりとりする情報のサイズの削減を図るとともに、コンテンツがキャッシュされているか否かの判定を高速化する。以下、上述した第１実施形態と異なる部分を中心に、本実施形態について詳しく説明する。
【００８０】
図１２は、本実施形態に係る通信装置を搭載したアクセスポイントの一例を示す機能ブロック図である。なお、図には、本実施形態の説明に必要な要素のみを示しており、他の要素を排除するものではない。
【００８１】
図１２のアクセスポイントは、キャッシュフィルタリスト交換部（第１取得部）１６と、キャッシュフィルタリスト生成部１７と、共有キャッシュフィルタリスト生成部１８と、コンテンツ取得要求応答部（第２取得部、コンテンツ提供部）１２と、付加情報付コンテンツリスト生成部１３と、記憶部１４と、通信部１５とを備えている。図２に示す第１実施形態に係るアクセスポイントとは、キャッシュ情報交換部１０及び共有キャッシュ情報生成部１１の代わりに、キャッシュフィルタリスト交換部１６、キャッシュフィルタリスト生成部１７及び共有キャッシュフィルタリスト生成部１８とを備える点において相違する。図１２においては、上記の各部は、独立した要素として構成されているが、これには限られず、複数の要素をまとめて１つの部を定義してもよい。
【００８２】
キャッシュフィルタリスト生成部１７は、自装置のキャッシュ情報に基づいて、コンテンツサイズ範囲ごとに、ブルームフィルタであるキャッシュフィルタを生成する。各キャッシュフィルタに、対応するコンテンツサイズ範囲の情報等を関連づけたエントリを生成し、生成したエントリのリストであるキャッシュフィルタリストを生成する。キャッシュフィルタリストまたはキャッシュフィルタは、本実施形態に係る第１情報の一例に相当する。
【００８３】
キャッシュフィルタリスト交換部１６は、他のアクセスポイントのキャッシュフィルタリストを取得するとともに、他のアクセスポイントへ自装置のキャッシュフィルタリストを送信する。
【００８４】
共有キャッシュフィルタリスト生成部１８は、自アクセスポイント及び他のアクセスポイントのキャッシュフィルタリストに基づいて、共有キャッシュフィルタリストを生成する。
【００８５】
ブルームフィルタ、キャッシュフィルタリストおよび共有キャッシュフィルタリストの詳細は後述する。
【００８６】
図１３（ａ）及び図１３（ｂ）は、本実施形態に係るキャッシュ情報の例を示す図である。例えば、図１３（ａ）は、第１アクセスポイント１Ａに保持されているキャッシュ情報であり、図１３（ｂ）は、第２アクセスポイント１Ｂに保持されているキャッシュ情報である。キャッシュ情報の説明に関しては、第１実施形態と同様であるので、詳しい説明は省略する。
【００８７】
図１４（ａ）及び図１４（ｂ）は、キャッシュフィルタリストの例を示す図である。キャッシュフィルタリストの各エントリは、キャッシュフィルタと、コンテンツサイズ範囲の情報とを備えている。図１４（ａ）は、第１アクセスポイント１Ａのキャッシュフィルタリストを示し、図１３（ａ）のキャッシュ情報から生成されたものである。図１４（ｂ）は、第２アクセスポイント１Ｂのキャッシュフィルタリストを示し、図１３（ｂ）のキャッシュ情報から生成されたものである。
【００８８】
キャッシュフィルタは、ブルームフィルタアルゴリズムにより生成されたブルームフィルタである。ブルームフィルタは一定のビット長を有し、初期値はすべてのビットが０になっている。ブルームフィルタには、該当するコンテンツサイズ範囲に含まれるサイズをもつコンテンツのコンテンツＩＤを登録する。登録は、コンテンツのコンテンツＩＤを１つまたは複数のハッシュ関数により１つまたは複数のハッシュ値に変換し、１つまたは複数のハッシュ値に対応する１つまたは複数のビットを１にする（既に１の場合は、１を維持する）ことで行う。これにより、当該コンテンツＩＤをキャッシュフィルタに登録する。このように、キャッシュフィルタは、コンテンツサイズ範囲ごとに用意され、各キャッシュフィルタに、対応するコンテンツ範囲に属するコンテンツのコンテンツＩＤを集約する。
【００８９】
例えば、図１４（ａ）に示すキャッシュフィルタリストにおいて、フィルタ１は、コンテンツサイズが１０，０００，０００Ｂｙｔｅ以下となるコンテンツのコンテンツＩＤ（図１３（ａ）のキャッシュ情報における上側２つのコンテンツＩＤ）を登録したブルームフィルタである。同様に、フィルタ２は、コンテンツサイズが１０，０００，０００Ｂｙｔｅより大きく２００，０００，０００Ｂｙｔｅ以下となるコンテンツ（図１３（ａ）のキャッシュ情報における下側２つのコンテンツＩＤ）のコンテンツＩＤを登録したブルームフィルタである。すなわち、図１４（ａ）に示すキャッシュフィルタは、図１３（ａ）に示すキャッシュ情報をコンテンツサイズ範囲により分類し、分類ごとに、複数のコンテンツＩＤをブルームフィルタにより圧縮したものであるといえる。
【００９０】
図１５は、アクセスポイントにおいてキャッシュ情報からキャッシュフィルタリストを生成する処理の動作を示すフローチャートである。この図１５に示す処理は、特に断りの無い限り、各アクセスポイントにおいてキャッシュフィルタリスト生成部１７が行う。ここでは、キャッシュフィルタリストの生成は、例えば他のアクセスポイントからキャッシュフィルタリストの取得要求を受けた場合に行う場合を想定する。以下、第１アクセスポイント１Ａのキャッシュフィルタリスト交換部１６が、第２アクセスポイント１Ｂのキャッシュフィルタリスト交換部１６に対してキャッシュフィルタリストの取得要求を行った場合について説明する。なお、一定時間内に複数のアクセスポイントから取得要求があった場合には、既に生成されているキャッシュフィルタリストを再利用するようにしてもよい。
【００９１】
まず、第２アクセスポイント１Ｂのキャッシュフィルタリスト生成部１７は、第２アクセスポイント１Ｂのキャッシュフィルタリストを初期化する（ステップＳ２００）。例えば、キャッシュフィルタリストの各キャッシュフィルタ（ブルームフィルタ）の全ビットを「０」とすることにより初期化が行われる。
【００９２】
次に、キャッシュフィルタリスト生成部１７は、記憶部１４から第２アクセスポイント１Ｂのキャッシュ情報を取得する（ステップＳ２０１）。さらに、取得したキャッシュ情報から、エントリを１つ抽出する（ステップＳ２０２）。
【００９３】
次に、抽出したエントリのコンテンツＩＤを引数として、１又は複数のハッシュ関数を計算し、１又は複数のハッシュ値を算出する（ステップＳ２０３）。ここで、ハッシュ関数は、一般的に用いられるものであってもよいし、独自のものであってもよい。ハッシュ関数の例としては、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２、ＳＨＡ−３等があるがこれらには限られない。ハッシュ値は、できる限り衝突が起こらないことが好ましい。アクセスポイントの性能や、ハッシュ値の計算の速度などを考慮して、いずれのハッシュ関数を使用するかを選択してもよい。なお、使用する１又は複数のハッシュ関数は、各アクセスポイントにおいて同一であるとする。
【００９４】
次に、各キャッシュフィルタのコンテンツサイズ範囲と、抽出したエントリのコンテンツサイズとを比較し、コンテンツサイズが属するコンテンツサイズ範囲のキャッシュフィルタを特定する（ステップＳ２０４）。
【００９５】
次に、抽出したエントリのコンテンツＩＤを、特定したキャッシュフィルタに登録する（ステップＳ２０５）。具体的には、コンテンツＩＤから１つまたは複数のハッシュ関数により１つまたは複数のハッシュ値を計算し、特定したキャッシュフィルタのビット列において、計算した１つまたは複数のハッシュ値に対応するビットを１にする。
【００９６】
次に、キャッシュ情報中の全てのエントリが抽出されたか否かを判断する（ステップＳ２０６）。全てのエントリが抽出された場合（ステップＳ２０６：Ｙｅｓ）、キャッシュフィルタリストの生成を終了する。一方で、全てのエントリの抽出が終了していない場合（ステップＳ２０６：Ｎｏ）、ステップＳ２０２乃至ステップＳ２０５の処理を繰り返し行うことにより、全てのエントリのコンテンツＩＤを、それぞれ該当するキャッシュフィルタに登録する。
【００９７】
第２アクセスポイント１Ｂのキャッシュフィルタリスト交換部１６は、上述のように生成したキャッシュフィルタリストを、第１アクセスポイント１Ａへ送信する。また、この場合、第１アクセスポイント１Ａのキャッシュフィルタリスト生成部１７も同様に第１アクセスポイント１Ａのキャッシュフィルタリストを生成し、第２アクセスポイント１Ｂのキャッシュフィルタリスト交換部１６へ、第１アクセスポイント１Ａのキャッシュフィルタリストを送信するようにしてもよい。これらの動作の結果、アクセスポイント１Ａおよびアクセスポイント１Ｂ間において、キャッシュフィルタリストの交換が行われる。それぞれのアクセスポイントにおいて受信したキャッシュフィルタリストは、それぞれのアクセスポイントの記憶部１４に格納および保持される。また、この際、各キャッシュフィルタリストがいずれのアクセスポイントに対応するかを示すＡＰＩＤも紐付けて記憶する。
【００９８】
各々のキャッシュフィルタリストを交換した後、各アクセスポイントの共有キャッシュフィルタリスト生成部１８は、自アクセスポイントの生成したキャッシュフィルタリスト及び受信した他アクセスポイントの生成したキャッシュフィルタリストに基づいて共有キャッシュフィルタリストを生成する。生成した共有キャッシュフィルタリストは、各アクセスポイントの記憶部１４に格納および保持される。
【００９９】
図１６は、共有キャッシュフィルタリストの一例を示す図である。例えば図１６に示すように、共有キャッシュフィルタリストの各エントリは、ＡＰＩＤと、キャッシュフィルタと、コンテンツサイズ範囲の情報とを含む。ＡＰＩＤは、各キャッシュフィルタがどのアクセスポイントのキャッシュフィルタであるかを示す。すなわち、ＡＰＩＤは、キャッシュフィルタに登録されているコンテンツＩＤが示すコンテンツがキャッシュされているアクセスポイントを示す識別子である。キャッシュフィルタは、上述したように各アクセスポイントのキャッシュフィルタリスト生成部１７により生成されたキャッシュフィルタ（ブルームフィルタ）である。
【０１００】
例えば、フィルタ１は、第１アクセスポイント１Ａが保持しているキャッシュコンテンツのうち、コンテンツサイズが１０，０００，０００Ｂｙｔｅ以下のコンテンツのコンテンツＩＤを登録しているブルームフィルタである。フィルタ４は、第２アクセスポイント１Ｂが保持しているキャッシュコンテンツのうち、コンテンツサイズが４００，０００，０００Ｂｙｔｅ以下のコンテンツのコンテンツＩＤを保持するフィルタである。あるコンテンツＩＤが、ブルームフィルタに登録されているか否かの検証は、当該コンテンツＩＤの１又は複数のハッシュ値に対応するビットがブルームフィルタですべて１になっているかを調べることで行う。すべて１になっている場合は、当該コンテンツＩＤはブルームフィルタに登録されており、１つでも０になっているビットがある場合は、ブルームフィルタに登録されていないと判断する。
【０１０１】
図１７は、アクセスポイントにおける共有キャッシュフィルタリストの生成処理の一例を示すフローチャートである。各アクセスポイントの共有キャッシュフィルタリスト生成部１８は、下記に説明する処理フローにより、共有キャッシュフィルタリストを生成する。以下の説明では、キャッシュフィルタリスト内のキャッシュフィルタをフィルタＹ、共有キャッシュフィルタリスト内のキャッシュフィルタをフィルタＸと記述する場合がある。
【０１０２】
まず、共有キャッシュフィルタリスト生成部１８は、記憶部１４に記憶されているキャッシュフィルタリストのうち１つを取得する（ステップＳ２１０）。例えば、図１４（ａ）及び図１４（ｂ）に示すキャッシュフィルタリストが記憶部１４に記憶されている場合に、図１４（ａ）に示すキャッシュフィルタリストを取得する。
【０１０３】
次に、取得したキャッシュフィルタリストから、１つのエントリを抽出する（ステップＳ２１１）。例えば、取得した図１４（ａ）に示すキャッシュフィルタリストから、フィルタ１のエントリ、すなわち、ＡＰＩＤが「ＡＰ１」であり、なおかつコンテンツサイズが１０，０００，０００Ｂｙｔｅ以下のコンテンツに係るキャッシュフィルタのエントリを抽出する。
【０１０４】
次に、抽出したエントリのコンテンツサイズを、１つまたは複数のコンテンツサイズ範囲のそれぞれと比較し、当該コンテンツサイズが属するコンテンツ範囲を特定する（ステップＳ２１２）。当該１つまたは複数のコンテンツサイズ範囲は、アクセスポイントごとに定義されてもよい。また、本例では、共有キャッシュフィルタリストにおけるコンテンツサイズ範囲（図１６参照）と、キャッシュフィルタリストのコンテンツサイズ範囲（図１４参照）とは、各アクセスポイントで同じであるとする。ただし、共有キャッシュフィルタリストにおけるコンテンツサイズ範囲は、キャッシュフィルタリストのコンテンツサイズ範囲を包含するより広い範囲でもよい。たとえば共有キャッシュフィルタリストにおけるアクセスポイント１Ａのコンテンツサイズ範囲が、０より大きく３００，０００，０００Ｂｙｔｅ以下の１つの範囲のみでもよい。
【０１０５】
次に、ステップＳ２１２で特定したコンテンツサイズ範囲に対応するキャッシュフィルタ（フィルタＸ）を、上記抽出したエントリのキャッシュフィルタ（フィルタＹ）と論理和をとることで、更新する（ステップＳ２１３）。例えば、共有キャッシュフィルタリストにおいてコンテンツサイズが１０，０００，０００Ｂｙｔｅ以下というフィルタ１（フィルタＸ）が準備されている場合、図１４（ａ）に示すフィルタ１（フィルタＹ）は、コンテンツサイズが１０，０００，０００Ｂｙｔｅ以下のフィルタであるので、当該フィルタＸに適合する。そこで、図１４（ａ）に示すフィルタ１（フィルタＹ）と、当該フィルタ（フィルタＸ）の論理和を演算することにより、当該フィルタ１（フィルタＸ）に図１４（ａ）に示すフィルタ１（フィルタＹ）の情報を書き込む。書き込まれたフィルタ１（フィルタＸ）は、例えば、図１６に示すフィルタ１である。また、図１４（ａ）に示すフィルタ１は、第１アクセスポイント１Ａに係るフィルタであるので、ＡＰＩＤ項目（図１６参照）にはＡＰ１を記載する。
【０１０６】
次に、キャッシュフィルタリストから全てのエントリが抽出されたか否かを判断する（ステップＳ２１４）。全てのエントリが抽出されていない場合（ステップＳ２１４：Ｎｏ）、当該キャッシュフィルタリストから新たにエントリを抽出する。そして、共有キャッシュフィルタリストにおいて、当該エントリが満足するコンテンツサイズ範囲に対応するキャッシュフィルタ（フィルタＸ）を特定し、特定したフィルタＸへ、抽出したエントリのキャッシュフィルタ（フィルタＹ）を書き込む（ステップＳ２１１乃至ステップＳ２１３）。
【０１０７】
全てのエントリが抽出されている場合（ステップＳ２１４：Ｙｅｓ）、次に、全てのキャッシュフィルタリストが取得されたか否かを判断する（ステップＳ２１５）。全てのキャッシュフィルタリストが取得されていない場合（ステップＳ２１５：Ｎｏ）、取得されていないアクセスポイントのキャッシュフィルタリストを記憶部１４から取得し、取得したキャッシュフィルタリストの各エントリのキャッシュフィルタ（フィルタＹ）を、共有キャッシュフィルタリストの該当するエントリのキャッシュフィルタ（フィルタＸ）へと書き込む（ステップＳ２１０乃至ステップＳ２１４）。全てのアクセスポイントのキャッシュフィルタリストが取得された場合（ステップＳ２１５：Ｙｅｓ）、共有キャッシュフィルタリストの生成を終了する。
【０１０８】
上述した処理は、２つのアクセスポイントの場合についての処理であるが、アクセスポイントの数は２つに限られず、３以上のアクセスポイントが存在する場合においても同様に処理を行うことが可能である。すなわち、各アクセスポイントが自アクセスポイント以外のアクセスポイントとキャッシュフィルタの情報を交換することにより、全てのアクセスポイントとキャッシュフィルタリストを交換することが可能となる。また、キャッシュフィルタリストを交換する際には、各アクセスポイントが自アクセスポイントのキャッシュフィルタリストを送信するだけではなく、他のアクセスポイントのキャッシュフィルタストについても送信するようにしてもよい。
【０１０９】
また、他の方法として、各アクセスポイントが他のアクセスポイントに対してキャッシュフィルタリストをブロードキャストすることにより、キャッシュフィルタリストを交換してもよい。なお、ブロードキャストを行うタイミングは、他のアクセスポイントが新たに加わったときでもよいし、周期的に行ってもよいし、キャッシュフィルタリストに変更があったとき、すなわち、保持しているキャッシュコンテンツの削除、又は、追加があったときでもよい。また、前述した方法と組み合わせて、キャッシュフィルタリストの交換を行ってもよい。
【０１１０】
図１７のフローチャートで説明した具体例では、共有キャッシュフィルタリストで使用する各アクセスポイントのコンテンスサイズ範囲が、各アクセスポイントのキャッシュフィルタリストで使用するコンテンツサイズ範囲と一致する。このような場合は、これらのアクセスポイントのキャッシュフィルタリストの集合を、共有キャッシュフィルタリストとして扱うことも可能である。
【０１１１】
次に、付加情報付コンテンツリストの提供処理について説明する。ユーザー端末２と第１アクセスポイント１Ａとの間で接続が確立されており、第１アクセスポイント１Ａおよび第２アクセスポイント１Ｂ間でキャッシュフィルタリストの交換が完了し、各々の記憶部１４に共有キャッシュフィルタリストが保存されているとする。なお、第１アクセスポイント１Ａとユーザー端末２間にて、ユーザー端末２が使用可能な空き帯域があらかじめ設定されているとする。
【０１１２】
第１アクセスポイント１Ａにおけるコンテンツ取得要求応答部１２の第２取得部は、端末から付加情報付コンテンツリストの取得要求を受信すると、サーバー４に対して、コンテンツリストの取得要求を送信する。コンテンツリストの一例を図１８に示す。コンテンツリストは、１つ以上のエントリから構成され、各エントリは、コンテンツのページ、例えば、ＵＲＬを示すページＩＤを含む。
【０１１３】
サーバー４は、第１アクセスポイント１Ａからコンテンツリストの取得要求を受信すると、要求にしたがいコンテンツリストを生成して、第１アクセスポイント１Ａへ送信する。第１アクセスポイント１Ａのコンテンツ取得要求応答部１２は、コンテンツリストを受信すると、受信したコンテンツリストを付加情報付コンテンツリスト生成部１３へ渡す。
【０１１４】
付加情報付コンテンツリスト生成部１３は、コンテンツリストを受け取ると、記憶部１４から共有キャッシュフィルタリストを読み出し、コンテンツリストと共有キャッシュフィルタリストとから、付加情報付コンテンツリストを生成する。以下に、図１９及び図２０を参照して、付加情報付コンテンツリストの生成方法の一例を説明する。
【０１１５】
図１９は、付加情報付コンテンツリストの一例を示す図である。この図１９に示すように、付加情報付コンテンツリストは、キャッシュコンテンツに対しては、例えば、ページＩＤと、コンテンツの推定ダウンロード時間と、オフライン再生可能フラグと、ＡＰＩＤとを含む１つ以上のエントリを有する。キャッシュコンテンツ以外のコンテンツに対しては、ページＩＤを含むエントリを有する。コンテンツの推定ダウンロード時間と、オフライン再生可能フラグと、ＡＰＩＤは、本実施形態に係る第２情報の一例に相当する。
【０１１６】
図２０は、付加情報付コンテンツリスト生成部１３が付加情報付コンテンツリストを生成する際の処理を示すフローチャートである。まず、付加情報付コンテンツリスト生成部１３は、コンテンツリストから１つのエントリを抽出する（ステップＳ２２０）。例えば、図１８に示す、ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｐａｇｅ／ｅｘａｍｐｌｅ１というページＩＤを有するエントリを抽出する。
【０１１７】
次に、このページＩＤから、コンテンツＩＤを生成する（ステップＳ２２１）。本実施形態においては、ページＩＤに含まれる“ｐａｇｅ”を、“ｃｏｎｔｅｎｔ”に置換することで、コンテンツＩＤを生成する。ただし、コンテンツＩＤの生成方法はこれには限られず、ページＩＤそのものを、コンテンツＩＤとしてもよい。ページＩＤとコンテンツＩＤを一意的に対応づけられるかぎり、どのような変換方法でコンテンツＩＤを生成してもよい。
【０１１８】
次に、生成したコンテンツＩＤから１つまたは複数のハッシュ関数により、１つまたは複数のハッシュ値を生成する（ステップＳ２２２）。ここで、ハッシュ関数は、一般的に用いられるものであってもよいし、独自のものであってもよい。使用するハッシュ関数は、上記で説明したように、各アクセスポイントにおいて同一のハッシュ関数又は同一のハッシュ関数のセットを使用する。
【０１１９】
次に、生成した１つまたは複数のハッシュ値に基づき、上記コンテンツＩＤが各キャッシュフィルタに登録されているかを検証する。つまり、生成した１つまたは複数のハッシュ値に対応するビットがすべて１になっているキャッシュフィルタが、共有キャッシュフィルタリスト内に存在するか否かを判断する（ステップＳ２２３）。
【０１２０】
そのようなキャッシュフィルタが存在する場合（ステップＳ２２３：Ｙｅｓ）、当該コンテンツＩＤに対応するページＩＤと、当該キャッシュフィルタに対応するコンテンツサイズ範囲から推定したダウンロード時間と、オフライン再生可能フラグと、当該キャッシュフィルタに対応するＡＰＩＤ（当該コンテンツＩＤのコンテンツをキャッシュしているアクセスポイントのＡＰＩＤ）とを含むエントリを、付加情報付コンテンツリストに追加する（ステップＳ２２４）。
【０１２１】
ダウンロード時間の推定方法は、第１実施形態と同様の方法を用いればよい。ダウンロード時間を推定する際、コンテンツサイズ範囲の上限値をコンテンツサイズとみなしてもよいし、当該上限値の８０％など特定の割合の値をコンテンツサイズとみなしてもよいし、ダウンロード時間をコンテンツサイズ範囲に合わせて、時間の範囲によって表現してもよい。
【０１２２】
一方で、そのようなキャッシュフィルタが共有キャッシュフィルタリスト内に含まれない場合（ステップＳ２２３：Ｎｏ）、生成したコンテンツＩＤに対応するページＩＤ（コンテンツＩＤを生成するもとになったページＩＤ）を含むエントリを、付加情報付コンテンツリストへ追加する（ステップＳ２２５）。例えば、図１９の一番下段に記載されているエントリのように、ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｐａｇｅ／ｅｘａｍｐｌｅ８を、付加情報付コンテンツリストへ追加する。なお、推定ダウンロード時間、オフライン再生可能フラグ、ＡＰＩＤは、当該エントリに含まれない。ただし、推定ダウンロード時間や、オフライン再生不可フラグ（あるいは、オフライン再生可能な場合は、オフライン再生不可フラグ）をエントリに追加してもよい。
【０１２３】
次に、コンテンツリストに含まれる全てのエントリが抽出されたか否かを判断する（ステップＳ２２６）。コンテンツリストに含まれる全てのエントリが抽出された場合（ステップＳ２２６：Ｙｅｓ）、付加情報付コンテンツリストの生成を終了する。一方で、コンテンツリストに含まれる全てのエントリの抽出がされていない場合（ステップＳ２２６：Ｎｏ）、次のエントリを抽出し、上述した処理を繰り返す（ステップＳ２２０乃至ステップＳ２２５）。
【０１２４】
付加情報付コンテンツリストの生成が完了すると、付加情報付コンテンツリストを応答としてユーザー端末２へと送信する。付加情報付コンテンツリストを受信したユーザー端末２は、受信した付加情報付コンテンツリストを、その画面に表示する。ユーザーは、画面に表示された付加情報付コンテンツリストを参照することで、コンテンツ毎に、オフライン再生可能か否か（ダウンロード可能か否か）の判断や、ダウンロードに要する時間の予測等を行うことができる。なお、ユーザーは、ページＩＤ以外の項目がなにも存在しないコンテンツはサーバーからダウンロードする必要があるコンテンツであり、ページＩＤ以外の項目も存在するコンテンツは、アクセスポイントにキャッシュされていると判断できる。
【０１２５】
次に、コンテンツ提供動作について説明する。第１アクセスポイント１Ａは、ユーザー端末２からページＩＤを含むコンテンツ取得要求を受信すると、ページＩＤに対応するコンテンツＩＤを算出し、当該コンテンツＩＤから、コンテンツのキャッシュ状況を調べる。その結果に応じて、コンテンツを記憶部１４、他のアクセスポイント、またはサーバー４から取得して、ユーザー端末２へコンテンツを送信する。これにより、ユーザー端末２からの取得要求に応答する。
【０１２６】
図２１は、コンテンツ提供動作の処理を示すフローチャートである。まず、第１アクセスポイント１Ａは、ユーザー端末２からページＩＤを含むコンテンツ取得要求を受信する（ステップＳ２３０）。
【０１２７】
次に、コンテンツ取得要求応答部１２のコンテンツ提供部は、受信したページＩＤからコンテンツＩＤを算出し、コンテンツＩＤから１つまたは複数のハッシュ値を算出する（ステップＳ２３１）。ハッシュ値の算出には、上述したものと同一のハッシュ関数又は同一のハッシュ関数の組を使用する。
【０１２８】
次に、記憶部１４に記憶されている共有キャッシュフィルタリスト内の各キャッシュフィルタを読み出し、ハッシュ値と各キャッシュフィルタとを比較し、当該ハッシュ値に対応するビットがすべて１になっているキャッシュフィルタが存在するかを判断する（ステップＳ２３２）。すなわち、各キャッシュフィルタに対して当該コンテンツＩＤが登録されているかを検証する。
【０１２９】
そのようなキャッシュフィルタが存在しない場合（ステップＳ２３２：Ｎｏ）、ページＩＤを元に、コンテンツの配信元となるサーバーに対して取得要求を行い、コンテンツをサーバー４から取得する（ステップＳ２３３）。この際、第１アクセスポイント１Ａは、当該コンテンツを記憶部１４にキャッシュし、キャッシュフィルタリストを更新してもよい。
【０１３０】
一方で、そのようなキャッシュフィルタが１つ以上存在する場合、すなわち、上記ハッシュ値に対応するビットがすべて１になっているキャッシュフィルタが、共有キャッシュフィルタリストに１つ以上含まれている場合（ステップＳ２３２：Ｙｅｓ）、当該１つ以上のキャッシュフィルタに対応するＡＰＩＤの中に、自アクセスポイントのＡＰＩＤに一致するものがあるか否かを判断する（ステップＳ２３４）。本例では、ＡＰＩＤの中に、第１アクセスポイント１ＡのＡＰＩＤである「ＡＰ１」が含まれているか否かを判断する。
【０１３１】
自アクセスポイントのＡＰＩＤが含まれている場合（ステップＳ２３４：Ｙｅｓ）、コンテンツＩＤに対応するキャッシュコンテンツを自アクセスポイントの記憶部１４から検索する（ステップＳ２３５）。
【０１３２】
一方で、自アクセスポイントのＡＰＩＤが含まれていない場合（ステップＳ２３４：Ｎｏ）、当該１つ以上のキャッシュフィルタに対応するＡＰＩＤのうち、１つのＡＰＩＤを読み出し、読み出したＡＰＩＤのアクセスポイントに対して、キャッシュコンテンツの取得要求を送信して、当該アクセスポイントからキャッシュコンテンツを取得する（ステップＳ２３６）。この際、読み出し対象となるＡＰＩＤが複数存在する場合、最もコンテンツ取得に要する時間が短いＡＰＩＤを選択してもよい。または、なるべく上位の回線の帯域を使わないようなアクセスポイントのＡＰＩＤを選択するようにしてもよい。また、取得したコンテンツを自アクセスポイントの記憶部１４にキャッシュしてもよい。この際、キャッシュフィルタリストを更新してもよい。あるいは、ある一定回数同じコンテンツの取得要求を受信した場合に、コンテンツをキャッシュするようにしてもよい。
【０１３３】
コンテンツの提供準備が終了すると、第１アクセスポイント１Ａは、コンテンツ取得要求に対する応答として、ユーザー端末２へコンテンツを送信する（ステップＳ２３７）。
【０１３４】
以上のように、本実施形態によれば、ブルームフィルタを用いることにより、ユーザー端末２からコンテンツの取得要求があった場合に、要求されたコンテンツがどのアクセスポイントにキャッシュされているかを、高速に判定することが可能となる。また、アクセスポイント間で送受信する情報量を低減できる。
【０１３５】
なお、上述した第１実施形態と同様に、１つのコンテンツに対して複数のビットレートのバージョンが存在していてもよい。この場合、第１実施形態と同様に、キャッシュフィルタリストのエントリの構成を変更してもよい。また、共有キャッシュフィルタリスト（図１６参照）は、必ずしも他のアクセスポイントに関する情報を保持しておく必要は無く、自アクセスポイントの情報のみを保持するようにしてもよい。この場合、共有キャッシュフィルタリストのＡＰＩＤ項目に含まれるＡＰＩＤは、自アクセスポイントのＡＰＩＤのみとなるため、省略してもよい。
【０１３６】
キャッシュ情報に変更があった場合のアクセスポイントの処理、例えば、新しいキャッシュコンテンツが追加された、又は、古いキャッシュコンテンツが削除された等の理由によりキャッシュ情報が更新された場合における処理について説明する。この場合、更新されたキャッシュ情報に基づき、キャッシュフィルタリストを更新する。そして、更新後のキャッシュフィルタリストを、他のアクセスポイントへとブロードキャストにより送信する。キャッシュフィルタリストを更新したタイミングではなく、所定の時間ごとに、最新のキャッシュフィルタリストをブロードキャスト送信するようにしてもよい。
【０１３７】
なお、上記のようなタイミングではなく、ユーザー端末２からコンテンツの取得要求がされたタイミングで、キャッシュフィルタリストを送信してもよい。さらに別の例としては、他のアクセスポイントからキャッシュフィルタリストの取得要求があったタイミングで、キャッシュフィルタリストを送信するようにしてもよい。
【０１３８】
（第３実施形態）
前述した第１および第２実施形態では、本発明の実施形態に係る通信装置をアクセスポイントに搭載したが、当該通信装置の機能の一部または全部を、コントローラ３またはサーバー４に搭載することも可能である。または、当該通信装置の機能の一部または全部を備えた単独の装置を実現することも可能である。
【０１３９】
第１の例として、当該通信装置の機能の一部または全部を、コントローラ３に集約する例を示す。コントローラ３が、共有キャッシュ情報生成部１１を備え、共有キャッシュ情報を生成する例を示す。この場合、各アクセスポイントは、サーバー４からのプッシュ通知や、コントローラ３からのキャッシュ情報の取得要求により、コントローラ３へキャッシュ情報を送信する。
【０１４０】
コントローラ３は、自ノードに属する全てのアクセスポイントからキャッシュ情報を受信し、これらのキャッシュ情報から共有キャッシュ情報を生成する。そして、コントローラ３は、全てのアクセスポイントへ、作成した共有キャッシュ情報を送信する。この共有キャッシュ情報は、コントローラ３から各アクセスポイントへユニキャストで送信してもよいし、ブロードキャストにより全てのアクセスポイントへと一括して送信してもよい。
【０１４１】
同様にして、第２実施形態の共有キャッシュフィルタリストをコントローラ３で生成してもよい。各アクセスポイントは、キャッシュ情報の代わりにキャッシュフィルタリストを送信し、コントローラ３は、各アクセスポイントから受信したキャッシュフィルタリストから、共有キャッシュフィルタリストを生成して、各アクセスポイントに送信してもよい。
【０１４２】
または、コントローラ３が、各アクセスポイントのキャッシュ情報から、キャッシュフィルタリストを作成して、各アクセスポイントにキャッシュフィルタリストを送信するようにしてもよい。この場合、全てのアクセスポイントのキャッシュフィルタリストを受信した各アクセスポイントは、これらのキャッシュフィルタリストを元に、共有キャッシュフィルタリストを生成する。また、共有キャッシュフィルタリストの生成は、コントローラ３が行ってもよい。
【０１４３】
以上のように、第１および第２実施形態におけるアクセスポイントの機能の一部を、コントローラ３に集約することにより、処理を一元化することが可能となり、各アクセスポイントにおける負荷を軽減することが可能となる。
【０１４４】
第２の例として、当該通信装置の機能の一部または全部を、サーバー４に集約する例を示す。サーバー４は、コントローラ３に、必要な情報（キャッシュ情報またはキャッシュフィルタリスト等）の取得要求を送信して、コントローラ３は、各アクセスポイントから当該情報を取得して、サーバー４に送信する。あるいは、サーバー４からの要求を受けることなく、コントローラ３が自発的に情報を収集して、サーバー４に送信してもよい。サーバー４は、上述した第１の例におけるコントローラ３と同様に、共有キャッシュ情報の生成、または、共有キャッシュフィルタリストの生成等を行い、生成した共有キャッシュ情報または共有キャッシュフィルタリストを、コントローラ３を介して各アクセスポイントに配布する。
【０１４５】
第３の例として、当該通信装置の機能の一部または全部を備えた単独の装置を実現する例を示す。
【０１４６】
図２１は、第３実施形態に係る通信システムの一例を示す図である。アクセスポイント１Ａ、１Ｂに通信装置６が、有線または無線で接続されている。通信装置６は、第１または第２実施形態のアクセスポイントが搭載していた通信装置と同じ機能を有する。通信装置６は、アクセスポイント１Ａ、１Ｂと通信可能である。この場合、アクセスポイント１Ａ、１Ｂは、一般的な無線ＬＡＮのアクセスポイントの機能を有すればよい。第１および第２実施形態でアクセスポイントが搭載していた機能を通信装置６に集約することで、処理を一元化することが可能となり、各アクセスポイントにおける負荷を軽減することが可能となる。または、通信装置６には、前述した第１の例または第２の例でコントローラ３またはサーバー４に集約するとしていた機能を搭載し、残りの機能はアクセスポイントに搭載してもよい。
【０１４７】
尚、各実施形態の通信装置（アクセスポイント、コントローラまたはサーバー）は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現可能である。すなわち、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより、通信装置が備える各機能を実現出来る。このとき、通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現することや、各種の記憶媒体に記憶、あるいはネットワークを介して上記のプログラムを配布、このプログラムをコンピュータ装置に適宜インストールすることで実現が出来る。また、通信装置が備える記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【０１４８】
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、ＤＳＰおよびマイクロプロセッサの組み合わせ、ＤＳＰコアと協働する１つ以上のマイクロプロセッサを指してもよい。  
【０１４９】
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
【０１５０】
また、用語“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、ＨＤＤ、光学ディスク、ＳＳＤ等でもよい。
【０１５１】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５２】
１Ａ：第１アクセスポイント
１Ｂ：第２アクセスポイント
２：ユーザー端末
３：コントローラ
４：サーバー
１０：キャッシュ情報交換部（第１取得部）
１１：共有キャッシュ情報生成部
１２：コンテンツ取得要求応答部（第２取得部、コンテンツ提供部）
１３：付加情報付コンテンツリスト生成部（コンテンツリスト生成部）
１４：記憶部
１５：通信部
１６：キャッシュフィルタリスト交換部（第１取得部）
１７：キャッシュフィルタリスト生成部
１８：共有キャッシュフィルタリスト生成部
【図１】
2018036889.tif 000003
【図２】
2018036889.tif 000004
【図３】
2018036889.tif 000005
【図４】
2018036889.tif 000006
【図５】
2018036889.tif 000007
【図６】
2018036889.tif 000008
【図７】
2018036889.tif 000009
【図８】
2018036889.tif 000010
【図９】
2018036889.tif 000011
【図１０】
2018036889.tif 000012
【図１１】
2018036889.tif 000013
【図１２】
2018036889.tif 000014
【図１３】
2018036889.tif 000015
【図１４】
2018036889.tif 000016
【図１５】
2018036889.tif 000017
【図１６】
2018036889.tif 000018
【図１７】
2018036889.tif 000019
【図１８】
2018036889.tif 000020
【図１９】
2018036889.tif 000021
【図２０】
2018036889.tif 000022
【図２１】
2018036889.tif 000023
【図２２】
2018036889.tif 000024