(57)【要約】【課題】モバイル環境におけるコンテンツの出力をさらに高速化する。【解決手段】コンテンツのソースが格納されるキャッシュと、上記キャッシュに格納された上記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信するキャッシュ情報送信部と、上記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを上記グループ内の他のクライアント装置から取得する外部キャッシュ取得部と、上記出力が要求されたコンテンツのソースの少なくとも一部が上記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから上記外部ネットワークを介して取得するソース取得部とを備えるクライアント装置が提供される。【選択図】図１
2015166680.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツのソースが格納されるキャッシュと、
前記キャッシュに格納された前記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信するキャッシュ情報送信部と、
前記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得する外部キャッシュ取得部と、
前記出力が要求されたコンテンツのソースの少なくとも一部が前記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから前記外部ネットワークを介して取得するソース取得部と
を備えるクライアント装置。
【請求項２】
前記サーバから提供される情報は、前記他のクライアント装置のＩＤを含む、請求項１に記載のクライアント装置。
【請求項３】
前記サーバから提供される情報は、前記出力の要求に先立って提供される、前記グループ内のクライアント装置によってキャッシュされた前記ソースのリストを含む、請求項２に記載のクライアント装置。
【請求項４】
前記出力の要求時に、該出力が要求されたコンテンツのソースのＩＤを含む要求を前記サーバに送信し、該要求に応じて前記サーバが送信する前記他のクライアント装置のＩＤを含む情報を取得するＩＤ取得部をさらに備える、請求項２に記載のクライアント装置。
【請求項５】
前記キャッシュ情報送信部は、前記クライアント装置が前記グループに参加したときに、前記キャッシュに格納された前記ソースを示す情報を前記サーバに送信する、請求項１に記載のクライアント装置。
【請求項６】
前記キャッシュ情報送信部は、前記クライアント装置が前記グループに参加しているか否かにかかわらず前記キャッシュに格納された前記ソースを示す情報を前記サーバに送信し、
前記クライアント装置は、前記クライアント装置が前記グループに参加したときに前記サーバに送信された情報を有効化するグループ参加処理部をさらに備える、請求項１に記載のクライアント装置。
【請求項７】
外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するグループ管理部と、
前記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信するキャッシュ情報受信部と、
前記クライアント装置が出力を要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得するための情報を前記クライアント装置に提供するキャッシュ情報提供部と
を備えるサーバ。
【請求項８】
前記キャッシュ情報提供部は、前記他のクライアント装置のＩＤを含む情報を提供する、請求項７に記載のサーバ。
【請求項９】
前記キャッシュ情報提供部は、前記出力の要求に先立って、前記グループ内のクライアント装置によってキャッシュされた前記ソースのリストを提供する、請求項８に記載のサーバ。
【請求項１０】
前記キャッシュ情報提供部は、前記出力が要求されたコンテンツのソースのＩＤを含む要求に応じて、前記他のクライアント装置のＩＤを含む情報を提供する、請求項８に記載のサーバ。
【請求項１１】
前記キャッシュ情報受信部は、前記クライアント装置が前記グループに参加したときに、該クライアント装置がキャッシュしているコンテンツのソースを示す情報を受信する、請求項７に記載のサーバ。
【請求項１２】
前記キャッシュ情報受信部は、前記クライアント装置が前記グループに参加しているか否かにかかわらず、該クライアント装置がキャッシュしているコンテンツのソースを示す情報を受信し、
前記グループ管理部は、前記クライアント装置が前記グループに参加したときに前記受信された情報を有効化する、請求項７に記載のサーバ。
【請求項１３】
前記グループ管理部は、前記グループに参加している前記クライアント装置の情報と、該クライアント装置がキャッシュしているコンテンツのソースの情報とを、前記グループを管理する別のサーバとの間で共有する、請求項７に記載のサーバ。
【請求項１４】
コンテンツのソースが格納されるキャッシュを備えるクライアント装置のプロセッサに、
前記キャッシュに格納された前記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信する機能と、
前記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得する機能と、
前記出力が要求されたコンテンツのソースの少なくとも一部が前記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから前記外部ネットワークを介して取得する機能と
を実現させるためのプログラムが格納された記録媒体。
【請求項１５】
プロセッサが、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理することと、
前記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信することと、
前記クライアント装置が出力を要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得するための情報を前記クライアント装置に提供することと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、クライアント装置、サーバ、記録媒体および情報処理方法に関する。
【背景技術】
【０００２】
通信ネットワークの整備や端末装置の性能の向上によって、ウェブページなどのコンテンツをモバイル環境で閲覧する機会が増加している。しかしながら、通信ネットワークが整備されたとはいえ、モバイル環境を提供する通信ネットワークにおけるデータの伝送量は、固定環境におけるものに比べると小さい。従って、モバイル環境からコンテンツにアクセスする際のラウンドトリップタイムは、固定環境に比べて長くなりがちである。【０００３】
例えば、特許文献１では、ウェブページを構成している比較的大きなコンテンツデータを、ページ情報と独立したオブジェクトとして記憶手段に登録して、効率よく利用する技術が提案されている。これによって、ウェブページのコンテンツデータ（画像および音声）を毎回ダウンロードしなくても再生可能になり、迅速にウェブページの再生を開始できる。このような技術を利用すれば、固定環境と同様にモバイル環境でも、ラウンドトリップタイムを短縮して迅速にコンテンツを出力することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００５／０３３９５２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１に記載されたような技術では、端末装置にコンテンツデータが記憶されていなければ、ネットワークを介してサーバからコンテンツデータを取得しなければならない。従って、上記の技術は、端末装置が同じコンテンツ（例えばウェブページ）に何度も繰り返してアクセスする場合にはコンテンツの出力を十分に高速化できるものの、そうではない場合には十分な効果を発揮できるとは必ずしもいえなかった。【０００６】
そこで、本開示では、モバイル環境におけるコンテンツの出力をさらに高速化することが可能な、新規かつ改良されたクライアント装置、サーバ、記録媒体および情報処理方法を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、コンテンツのソースが格納されるキャッシュと、上記キャッシュに格納された上記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信するキャッシュ情報送信部と、上記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを上記グループ内の他のクライアント装置から取得する外部キャッシュ取得部と、上記出力が要求されたコンテンツのソースの少なくとも一部が上記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから上記外部ネットワークを介して取得するソース取得部とを備えるクライアント装置が提供される。【０００８】
また、本開示によれば、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するグループ管理部と、上記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信するキャッシュ情報受信部と、上記クライアント装置が出力を要求されたコンテンツのソースを上記グループ内の他のクライアント装置から取得するための情報を上記クライアント装置に提供するキャッシュ情報提供部とを備えるサーバが提供される。【０００９】
また、本開示によれば、コンテンツのソースが格納されるキャッシュを備えるクライアント装置のプロセッサに、上記キャッシュに格納された上記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信する機能と、上記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを上記グループ内の他のクライアント装置から取得する機能と、上記出力が要求されたコンテンツのソースの少なくとも一部が上記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから上記外部ネットワークを介して取得する機能とを実現させるためのプログラムが格納された記録媒体が提供される。【００１０】
また、本開示によれば、プロセッサが、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理することと、上記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信することと、上記クライアント装置が出力を要求されたコンテンツのソースを上記グループ内の他のクライアント装置から取得するための情報を上記クライアント装置に提供することとを含む情報処理方法が提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、モバイル環境におけるコンテンツの出力をさらに高速化することができる。【００１２】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１３】
【図１】本開示の第１の実施形態に係るシステムの概略的な構成を示す図である。
【図２】図１に示すシステムに複数の管理サーバが含まれる例を示す図である。
【図３】本開示の第１の実施形態に係るクライアント装置の概略的な機能構成を示すブロック図である。
【図４】本開示の第１の実施形態に係る管理サーバの概略的な機能構成を示すブロック図である。
【図５】本開示の第１の実施形態において管理サーバが保持するグループ内キャッシュＤＢの例を示す図である。
【図６】本開示の第１の実施形態においてグループに新たに参加するクライアント装置における処理の例を示すフローチャートである。
【図７】図６に示したグループの探索処理をより詳細に示すフローチャートである。
【図８】本開示の第１の実施形態においてクライアント装置のグループへの参加を受け付ける管理サーバの処理を示すフローチャートである。
【図９】本開示の第１の実施形態においてコンテンツを出力するクライアント装置の処理の例を示すフローチャートである。
【図１０】本開示の第２の実施形態に係るクライアント装置の概略的な機能構成を示すブロック図である。
【図１１】本開示の第２の実施形態に係る管理サーバの概略的な機能構成を示すブロック図である。
【図１２】本開示の第３の実施形態に係るシステムの概略的な構成を示す図である。
【図１３】本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態
１−１．システム構成
１−２．クライアント装置の機能構成
１−３．管理サーバの機能構成
１−４．グループ内キャッシュＤＢの例
１−５．グループ管理の処理フローの例
１−６．コンテンツ出力の処理フロー
２．第２の実施形態
３．第３の実施形態
４．ハードウェア構成
５．補足
【００１６】
（１．第１の実施形態）
（１−１．システム構成）
図１は、本開示の第１の実施形態に係るシステムの概略的な構成を示す図である。図１を参照すると、システム１０は、クライアント装置１００と、管理サーバ２００と、コンテンツサーバ３００とを含む。
【００１７】
クライアント装置１００は、スマートフォン１００ａ〜１００ｃとして図示されているが、通信機能とコンテンツの出力機能とを有する各種の端末装置、例えばスマートフォン、タブレット、ＰＣ（Personal  Computer）、ウェアラブル装置、デジタルカメラ、メディアプレーヤ、ゲーム機などでありうる。後述するように、本実施形態では、外部ネットワークを介さずに通信可能な複数のクライアント装置１００によってグループ１５０が形成されている。グループ１５０内のクライアント装置１００は、例えばＷｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）などによって相互に通信可能である。あるいは、グループ１５０内のクライアント装置１００は、管理サーバ２００を介して相互に通信可能であってもよい。
【００１８】
管理サーバ２００は、グループ１５０を管理する。管理サーバ２００は、ネットワーク上の単独のサーバ装置、または直列的もしくは並列的に協働する複数のサーバ装置によって実装される。管理サーバ２００は、グループ１５０内のクライアント装置１００のそれぞれと、例えば携帯電話網を介した無線通信などによって通信可能である。あるいは、管理サーバ２００は、グループ内の他のクライアント装置１００と、Ｗｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）などによって通信可能であってもよい。
【００１９】
コンテンツサーバ３００は、クライアント装置１００にコンテンツを提供する。コンテンツサーバ３００も、管理サーバ２００と同様に、ネットワーク上の単独のサーバ装置、または直列的もしくは並列的に協働する複数のサーバ装置によって実装される。コンテンツサーバ３００は、クライアント装置１００のそれぞれと、例えば携帯電話網を介した無線通信などによって通信可能である。管理サーバ２００の場合と異なり、クライアント装置１００とコンテンツサーバ３００との通信は、外部ネットワークを経由する。なお、外部ネットワークについては後述する。コンテンツサーバ３００は、コンテンツのソースをクライアント装置１００に送信する。
【００２０】
なお、図示されたシステム１０の、後述する第３の実施形態におけるシステム３０との相違は、クライアント装置１００とコンテンツサーバ３００との主な通信経路が、必ずしも管理サーバ２００を経由しなくてよい点である。例えば、図１に示されているように、クライアント装置１００は、管理サーバ２００を経由しない通信経路によってコンテンツサーバ３００からコンテンツのソースを取得してもよい。もちろん、クライアント装置１００は、コンテンツのソースの少なくとも一部を、管理サーバ２００を経由する通信経路によって取得してもよい。
【００２１】
より具体的には、例えば、グループ１５０は、不特定多数のユーザが集散する駅や広場、ビルなどの場所で形成される。管理サーバ２００は、例えば、対象の場所でサービスを提供する携帯電話網やＷｉ−Ｆｉの基地局に接続される。この場合、Ｗｉ−Ｆｉの基地局は、必ずしもクライアント装置１００に、コンテンツサーバ３００を含む外部ネットワークとの通信を提供しなくてもよい。つまり、クライアント装置１００は、Ｗｉ−Ｆｉを介して管理サーバ２００と通信しつつ、他の携帯電話網の基地局を介してコンテンツサーバ３００と通信してもよい。
【００２２】
一方、図では、コンテンツのソースの例として、ドキュメントファイルＳＲＣ１、画像ファイルＳＲＣ２、および音声ファイルＳＲＣ３が示されているが、この他にもさまざまな種類のソースが、コンテンツサーバ３００からクライアント装置１００に送信されうる。これらのソースによってクライアント装置１００で出力されるコンテンツは、例えばウェブページや、ウェブページに含まれる映像または音声、独立した映像または音楽などを含む。
【００２３】
なお、上記の通り、本明細書では、クライアント装置１００とコンテンツサーバ３００との間の通信ネットワークの一部を、外部ネットワークともいう。これは、グループ１５０内のクライアント装置の間の通信ネットワークの外部に位置する通信ネットワークを意味する。クライアント装置１００が外部ネットワークを構成する携帯電話網などの無線通信ネットワークを介してコンテンツサーバ３００からソースを取得する場合、通信速度が（有線通信ネットワークなどと比べて）小さいのに加えて、端末が集中した地域では基地局の混雑が発生し、通信速度がさらに低下してしまう場合がある。コンテンツサーバ３００からソースを取得するための通信に要する時間が長くなると、コンテンツの出力までにかかる時間も長くなってしまう。
【００２４】
一方、本実施形態におけるグループ１５０は、外部ネットワークを介さずに通信可能なクライアント装置１００によって形成される。従って、クライアント装置１００がＷｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）などを介してグループ１５０内の他のクライアント装置１００からソースを取得する場合、通信速度は携帯電話網などに比べると大きくなる。装置間通信であれば基地局を経由せずに通信が可能であり、また基地局を経由する通信の場合でも通信経路が短縮されるために、混雑などによる通信速度の低下も生じにくい。それゆえ、コンテンツサーバ３００からソースを取得する場合に比べて、コンテンツの出力を高速化することができる。
【００２５】
なお、個々のクライアント装置１００の内部で、一度コンテンツサーバ３００から取得したソースをキャッシュして再利用する技術は、国際公開第２００５／０３３９５２号などにも記載されているように既に知られている。本実施形態では、このようなキャッシュの再利用を、個々のクライアント装置１００の内部に限らず、例えば位置的に近接しているために外部ネットワークを介さずに通信することが可能なクライアント装置１００の間に拡大することで、再利用可能なキャッシュを増やし、コンテンツの出力を高速化するものである。
【００２６】
とはいえ、相互に通信可能なクライアント装置１００同士が個別に互いのキャッシュの内容を確認していたのでは、そのための通信や処理のために、必ずしもコンテンツの出力の高速化にはつながらない。そこで、本実施形態では、管理サーバ２００の機能によって、グループ１５０内のクライアント装置１００のそれぞれのキャッシュの内容を共有することを可能にしている。
【００２７】
より具体的には、本実施形態において、管理サーバ２００は、グループ内キャッシュＤＢ２１０を有する。グループ１５０に新たに参加するクライアント装置（図示された例ではスマートフォン１００ａ）は、その時点でキャッシュしているソースを管理サーバ２００に通知する。このとき、管理サーバ２００は、通知されたソースのＩＤ（例えばＵＲＬ：Uniform  Resource  Locator）を、当該ソースをキャッシュしているクライアント装置（この例ではスマートフォン１００ａ）のＩＤに関連付けて、グループ内キャッシュＤＢ２１０に追加する。
【００２８】
さらに、管理サーバ２００は、グループ内キャッシュＤＢ２１０に格納されている情報に基づいて、グループ１５０内の他のクライアント装置（図示された例ではスマートフォン１００ｂ，１００ｃ）のＩＤと、各クライアント装置がキャッシュしているソースのＩＤとを関連付けたキャッシュリストを、グループ１５０に新たに参加するクライアント装置（この例ではスマートフォン１００ａ）に提供する。
【００２９】
このように、本実施形態では、グループ１５０内のクライアント装置１００に対して、管理サーバ２００から前もって上記のようなキャッシュリストが提供されている。従って、コンテンツ出力の要求を受け付けたクライアント装置１００は、管理サーバ２００から既に提供されているキャッシュリストを参照することによって、必要なソースがグループ１５０内のクライアント装置１００によってキャッシュされているか、および当該ソースはどのクライアント装置１００にキャッシュされているかを特定することができる。これによって、クライアント装置１００は、ソースをキャッシュしている他のクライアント装置１００に、Ｗｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）などを介して直接的に要求を送信し、要求に応じて提供されたソースを受信することができる。
【００３０】
ここで、コンテンツを出力するために必要なソースが、クライアント装置１００自身によってはキャッシュされておらず、またグループ１５０内の他のクライアント装置１００にもキャッシュされていなかった場合には、クライアント装置１００はコンテンツ差コンテンツサーバ３００からソースを取得する。このとき、新たに取得されたソースは、クライアント装置１００によってキャッシュされうる。クライアント装置１００は、この新たにキャッシュされたソースのＩＤを、管理サーバ２００に送信してもよい。管理サーバ２００は、通知されたソースのＩＤを、当該ソースをキャッシュしているクライアント装置１００のＩＤに関連付けて、グループ内キャッシュＤＢ２１０に追加する。さらに、管理サーバ２００は、追加されたソースのＩＤと、該ソースをキャッシュしているクライアント装置１００のＩＤとを関連付けた情報（既に提供されているキャッシュリストとの差分）を、グループ１５０内の他のクライアント装置１００に配信する。
【００３１】
また、グループ１５０から離脱するクライアント装置（図示された例ではスマートフォン１００ｃ）は、グループ１５０からの離脱を管理サーバ２００に通知する。あるいは、管理サーバ２００が、クライアント装置のグループ１５０からの脱退を自動的に検出する。このとき、管理サーバ２００は、グループ１５０から離脱したクライアント装置（図示された例ではスマートフォン１００ｃ）がキャッシュしていたソースの情報をグループ内キャッシュＤＢ２１０から削除する。さらに、管理サーバ２００は、クライアント装置１００内に保持されている情報についても同様の更新を実施するよう、グループ１５０内に残っているクライアント装置１００に通知を送信する。なお、当該ソースがグループ１５０内の他のクライアント装置（例えばスマートフォン１００ｂ）によってもキャッシュされている場合、当該他のクライアント装置のＩＤに関連付けられた情報は残される。
【００３２】
（複数の管理サーバが含まれる例）
図２は、図１に示すシステムに複数の管理サーバが含まれる例を示す図である。図２を参照すると、システム２０は、クライアント装置１００（スマートフォン１００ａ〜１００ｃ）と、管理サーバ２００ａ〜２００ｃと、コンテンツサーバ３００ａ〜３００ｃとを含む。なお、図示された例において、管理サーバ２００ａ〜２００ｃは、それぞれ、スマートフォン１００ａ〜１００ｃとコンテンツサーバ３００ａ〜３００ｃとの通信経路上にある中間サーバである。
【００３３】
例えば、ＣＤＮ（Contents  Delivery  Network）を利用してコンテンツが配信されるような場合、グループ１５０内のクライアント装置（スマートフォン１００ａ〜１００ｃ）が、それぞれ異なる中間サーバ（管理サーバ２００ａ〜２００ｃ）を介して、それぞれ異なるコンテンツサーバ３００ａ〜３００ｃからコンテンツのソースを取得することがありうる。同様に、例えば、グループ１５０内のクライアント装置が、互いに異なるサービスプロバイダを利用しているような場合にも、同じグループ１５０に対して複数の管理サーバ２００が存在しうる。
【００３４】
この場合、管理サーバ２００ａ〜２００ｃは、ネットワークを介して互いに通信し、それぞれのグループ内キャッシュＤＢ２１０ａ〜２１０ｃの内容を同期させる。同期のための通信は、定期的に実施されてもよいし、管理サーバ２００ａ〜２００ｃのうちのいずれかでグループ内キャッシュＤＢ２１０の更新が発生した場合に実施されてもよい。
【００３５】
なお、本実施形態において、クライアント装置１００、管理サーバ２００、およびコンテンツサーバ３００が複数存在する場合のそれらの数については、上記で図１および図２を参照して説明された例のように３つとは限らず、２つであってもよいし、４以上であってもよい。また、図２に示す例ではクライアント装置１００、管理サーバ２００、およびコンテンツサーバ３００がそれぞれ１：１で対応しているが、これらの対応関係は１：Ｎであってもよいし、Ｎ：１であってもよい（Ｎ≧２）。より具体的には、例えば、複数の管理サーバ２００のうちの１つが、複数のクライアント装置１００にサービスを提供してもよい。また、例えば、１つのクライアント装置１００が、複数の管理サーバ２００または複数のコンテンツ提供コンテンツサーバ３００によってサービスを提供されてもよい。
【００３６】
（１−２．クライアント装置の機能構成）
図３は、本開示の第１の実施形態に係るクライアント装置の概略的な機能構成を示すブロック図である。図３を参照すると、クライアント装置１００は、通信部１０２と、ソース取得部１０４と、外部キャッシュ取得部１０６と、内部キャッシュ取得部１０８と、外部キャッシュＤＢ１１０と、キャッシュ１１２と、コンテンツ出力部１１４と、グループ参加処理部１１６と、キャッシュリスト送信部１１８と、外部キャッシュリスト受信部１２０とを含みうる。
【００３７】
なお、以下で説明する各構成要素のうち、外部キャッシュＤＢ１１０およびキャッシュ１１２は、クライアント装置１００のメモリまたはストレージに格納されるデータベースでありうる。それ以外の構成要素は、別途の記載がない限り、クライアント装置１００が備えるプロセッサが、メモリまたはストレージに格納されたプログラムに従って動作することによって実現される機能でありうる。
【００３８】
通信部１０２は、例えば、携帯電話網の通信装置と、Ｗｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）の通信装置との両方を含む。例えば、通信部１０２は、コンテンツサーバ３００とは携帯電話網を介して通信する一方で、管理サーバ２００およびグループ１５０内の他のクライアント装置１００とはＷｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）で通信してもよい。あるいは、通信部１０２は、例えばＷｉ−Ｆｉの通信装置だけを含んでもよい。この場合、通信部１０２は、グループ１５０内の他のクライアント装置１００および管理サーバ２００とＷｉ−Ｆｉを介して通信するとともに、Ｗｉ−Ｆｉの基地局（管理サーバ２００であってもよい）を介したネットワーク通信によってコンテンツサーバ３００と通信する。
【００３９】
ソース取得部１０４は、例えば入力装置（図示せず）が取得するユーザ操作などによってコンテンツの出力が要求されたときに、通信部１０２を介してコンテンツサーバ３００にソースを要求し、要求に応じてコンテンツサーバ３００が提供したソースを受信する。なお、ここで、ソース取得部１０４は、内部キャッシュ取得部１０８、および外部キャッシュ取得部１０６によって取得されなかったソースをコンテンツサーバ３００から取得する。つまり、ソース取得部１０４は、出力が要求されたコンテンツのソースの少なくとも一部が外部キャッシュ取得部１０６によって取得されなかった場合に、該取得されなかったソースをコンテンツサーバ３００から取得する。上述の通り、クライアント装置１００とコンテンツサーバ３００との通信は外部ネットワークを介して実行されるため、ソース取得部１０４によるソースの取得には、外部キャッシュ取得部１０６によるグループ１５０内の他のクライアント装置１００からのソースの取得よりも時間がかかりうる。
【００４０】
外部キャッシュ取得部１０６は、コンテンツの出力が要求されたときに、通信部１０２を介してグループ１５０内の他のクライアント装置１００からソースを取得する。なお、外部キャッシュ取得部１０６が取得するソースは、内部キャッシュ取得部１０８がキャッシュ１１２から取得しなかったソースでありうる。外部キャッシュ取得部１０６は、外部キャッシュＤＢ１１０から、グループ１５０内の他のクライアント装置１００によってキャッシュされているソースのリストを取得し、このリストに基づいて、他のクライアント装置１００にソースを要求する。後述するように、外部キャッシュＤＢ１１０は、外部キャッシュリスト受信部１２０によって管理サーバ２００から受信された情報を含む。なお、グループ１５０内の他のクライアント装置１００にキャッシュされたソースを、以下の説明では簡単のために外部キャッシュともいう。
【００４１】
内部キャッシュ取得部１０８は、コンテンツの出力が要求されたときに、キャッシュ１１２に格納されたソースを取得する。キャッシュ１１２に格納されたソースは、最も短い時間で取得されるため、コンテンツの出力に際して優先的に利用される。なお、キャッシュ１１２に格納されたソースを、以下の説明では簡単のために内部キャッシュともいう。なお、上記のソース取得部１０４および外部キャッシュ取得部１０６が取得したソースは、コンテンツ出力部１１４に提供されるとともにキャッシュ１１２に格納され、次回のコンテンツ出力のときには内部キャッシュとして利用されうる。
【００４２】
コンテンツ出力部１１４は、ソース取得部１０４、外部キャッシュ取得部１０６、および内部キャッシュ取得部１０８がそれぞれ取得したソースに基づいてコンテンツを出力する。例えば、コンテンツ出力部１１４は、ディスプレイやスピーカのような出力装置、または出力装置のドライバソフトウェアを含む。
【００４３】
グループ参加処理部１１６は、クライアント装置１００をグループ１５０に参加させるための要求を送信する。例えば、グループ参加処理部１１６は、ＧＰＳやビーコンとの通信などを利用して取得される位置情報に基づいて、クライアント装置１００の位置がグループ１５０に対応する領域（予め設定された領域であってもよいし、グループ１５０内のクライアント装置１００の位置によって動的に設定される領域であってもよい）に入った場合に、管理サーバ２００に要求を送信する。グループ参加処理部１１６は、さらに、グループ１５０内の他のクライアント装置１００との通信を試行し、通信が可能であった場合に管理サーバ２００にグループ参加の要求を送信してもよい。なお、グループ１５０に対応する領域の情報や、グループ１５０内の他のクライアント装置１００の情報は、例えば管理サーバ２００によって提供されうる。また、グループ参加処理部１１６は、グループ参加の要求の送信にあたり、画像または音声などの通知によってユーザの許可を求めてもよい。
【００４４】
キャッシュリスト送信部１１８は、グループ参加処理部１１６によってクライアント装置１００をグループ１５０に参加させるための要求が送信され、該要求が管理サーバ２００によって承認された場合に、キャッシュ１１２に格納されているソースのＩＤを含むキャッシュリストを、通信部１０２を介して管理サーバ２００に送信する。ここで、キャッシュリストは、キャッシュ１１２に格納されたソースを示す情報の一例である。また、キャッシュリスト送信部１１８は、キャッシュ１１２に新たなソースが追加された場合や、キャッシュ１１２から古くなったソースが削除された場合に、追加または削除されたソースのＩＤを含む通知を、通信部１０２を介して管理サーバ２００に送信する。
【００４５】
外部キャッシュリスト受信部１２０は、クライアント装置１００がグループ１５０に参加した場合に管理サーバ２００から送信されるキャッシュリストを通信部１０２を介して受信し、外部キャッシュＤＢ１１０に格納する。ここで受信されるキャッシュリストには、グループ１５０内の他のクライアント装置１００のＩＤと、各クライアント装置１００によってキャッシュされているソースのＩＤとが含まれる。また、外部キャッシュリスト受信部１２０は、クライアント装置１００がグループ１５０に参加した後、他のクライアント装置１００が新たなキャッシュを取得した場合や、他のクライアント装置１００がグループ１５０から離脱した場合などに管理サーバ２００から送信される通知を通信部１０２を介して受信し、該通知に基づいて外部キャッシュＤＢ１１０を更新する。
【００４６】
（１−３．管理サーバの機能構成）
図４は、本開示の第１の実施形態に係る管理サーバの概略的な機能構成を示すブロック図である。図４を参照すると、管理サーバ２００は、通信部２０２と、キャッシュリスト受信部２０４と、グループ管理部２０６と、キャッシュリスト更新部２０８と、グループ内キャッシュＤＢ２１０と、キャッシュリスト送信部２１２とを含みうる。
【００４７】
なお、以下で説明する各構成要素のうち、グループ内キャッシュＤＢ２１０は、管理サーバ２００を構成する１または複数のサーバ装置のメモリまたはストレージに格納されるデータベースでありうる。それ以外の構成要素は、別途の記載がない限り、管理サーバ２００を構成する１または複数のサーバ装置が備えるプロセッサが、メモリまたはストレージに格納されたプログラムに従って動作することによって実現される機能でありうる。
【００４８】
通信部２０２は、クライアント装置１００と、例えば携帯電話網や、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのネットワークを介して通信する通信装置を含む。ここで、通信部２０２は、グループ１５０内のクライアント装置１００だけでなく、まだグループ１５０に参加していないクライアント装置１００や、グループから離脱したクライアント装置１００とも通信可能でありうる。このようなクライアント装置１００との通信によって、例えば、クライアント装置１００がグループに参加することが可能であるか否かを判定し、当該クライアント装置１００に参加可能なグループ１５０があることを通知するグループ管理部２０６の処理や、クライアント装置１００がグループ１５０から離脱したことを検出し、キャッシュリスト更新部２０８が離脱したクライアント装置１００がキャッシュしたソースの情報をグループ内キャッシュＤＢ２１０から削除するグループ管理部２０６の処理が可能になる。さらに、管理サーバ２００が中間サーバとしても機能する場合、通信部２０２は、コンテンツサーバ３００、またはコンテンツサーバ３００との間に介在する別の中間サーバと通信し、クライアント装置１００とコンテンツサーバ３００との通信を中継してもよい。
【００４９】
キャッシュリスト受信部２０４は、クライアント装置１００から送信されたキャッシュリストを、通信部２０２を介して受信する。本実施形態において、キャッシュリスト受信部２０４は、クライアント装置１００がグループ１５０に参加したときに、該クライアント装置１００がキャッシュしているコンテンツのソースを示すキャッシュリストを受信する。上記の通り、キャッシュリストには、例えば当該クライアント装置１００のキャッシュ１１２に格納されているソースのＩＤが含まれる。キャッシュリスト受信部２０４は、受信したキャッシュリストを、グループ内キャッシュＤＢ２１０に格納する。より具体的には、例えば、キャッシュリスト受信部２０４は、受信されたソースのＩＤを、キャッシュリストを送信したクライアント装置のＩＤと関連付けて、グループ内キャッシュＤＢ２１０に追加する。
【００５０】
グループ管理部２０６は、グループ１５０を管理する。上述のように、グループ１５０は、外部ネットワークを介さずに通信可能なクライアント装置１００によって形成される。例えば、グループ管理部２０６は、グループ１５０に参加可能なクライアント装置１００を、例えばクライアント装置１００から提供される位置情報などに基づいて検出し、当該クライアント装置１００に、参加可能なグループ１５０があることを通知する。また、グループ管理部２０６は、クライアント装置１００からグループ１５０への参加要求が受信された場合、当該クライアント装置１００をグループに参加させるか否かを決定する。例えば、グループ管理部２０６は、クライアント装置１００自体、またはクライアント装置１００のユーザが、グループ１５０に参加する権限を与えられているかに基づいて、グループ１５０への参加の可否を決定する。あるいは、グループ管理部２０６は、クライアント装置１００の位置情報を再確認し、クライアント装置１００の位置がグループ１５０に対応する領域内にあり、またクライアント装置１００が引き続き当該領域に留まると予測される場合に、当該クライアント装置１００のグループ１５０への参加を許可してもよい。
【００５１】
また、グループ管理部２０６は、例えば定期的に、またはクライアント装置１００から何らかの要求もしくは情報が送信されたときに、クライアント装置１００の位置情報を確認し、クライアント装置１００の位置がグループ１５０に対応する領域から既に出ている、または出ることが予測される場合に、当該クライアント装置１００をグループ１５０から離脱させることを決定してもよい。さらに、グループ管理部２０６は、上記の図２の例のように、グループ１５０が複数の管理サーバ２００によって管理される場合、グループ１５０に参加しているクライアント装置１００の情報と、各クライアント装置がキャッシュしているソースの情報とを、グループ１５０を管理する他の管理サーバ２００との間で共有する。
【００５２】
キャッシュリスト更新部２０８は、通信部２０２を介してクライアント装置１００から受信されたキャッシュリストに基づいて、グループ内キャッシュＤＢ２１０を更新する。より具体的には、キャッシュリスト更新部２０８は、新たにグループ１５０に参加したクライアント装置１００のＩＤに、当該クライアント装置１００がキャッシュしているソースのＩＤを関連付けた情報を、グループ内キャッシュＤＢ２１０に追加する。また、キャッシュリスト更新部２０８は、クライアント装置１００のキャッシュ１１２に新たなソースが追加された場合や、キャッシュ１１２から古くなったソースが削除された場合に送信される通知を通信部２０２を介して受信し、通知に基づいてグループ内キャッシュＤＢ２１０を更新する。さらに、キャッシュリスト更新部２０８は、グループ管理部２０６によってグループ１５０からクライアント装置１００が離脱したことが検出された場合に、当該クライアント装置１００のＩＤに関連付けられたソースの情報をグループ内キャッシュＤＢ２１０から削除する。
【００５３】
キャッシュリスト送信部２１２は、通信部２０２を介して、グループ１５０に新たに参加したクライアント装置１００にキャッシュリストを送信する。本実施形態におけるキャッシュリストは、クライアント装置１００が、出力を要求されたコンテンツのソースをグループ１５０内の他のクライアント装置１００から取得するための情報の一例である。より具体的には、例えば、キャッシュリストは、グループ１５０内のクライアント装置１００のＩＤに各クライアント装置１００にキャッシュされたソースのＩＤを関連付ける情報をグループ内キャッシュＤＢ２１０から抽出することによって生成される。なお、このとき送信されるキャッシュリストには、送信先のクライアント装置１００にキャッシュされているソースの情報、つまり送信先のクライアント装置１００が内部キャッシュとして利用可能なソースの情報は含まれなくてもよい。従って、キャッシュリスト送信部２１２は、クライアント装置１００がグループ１５０に新たに参加する場合、キャッシュリスト受信部２０４がキャッシュリストを受信するよりも前に、当該クライアント装置１００にグループ内キャッシュＤＢ２１０から抽出したキャッシュリストを送信してもよい。
【００５４】
（１−４．グループ内キャッシュＤＢの例）
図５は、本開示の第１の実施形態において管理サーバが保持するグループ内キャッシュＤＢの例を示す図である。図５を参照すると、グループ内キャッシュＤＢ２１０は、装置ＩＤ２１０１と、ソースＵＲＬ２１０３と、タイムスタンプ２１０５を項目として含む。また、図示された例では、グループ内キャッシュＤＢ２１０にはレコード２１００ａ〜２１００ｇが含まれる。
【００５５】
装置ＩＤ２１０１は、グループ１５０内のクライアント装置１００のＩＤである。図示された例において、装置ＩＤ２１０１はＭＡＣアドレスに類似した形式で表現されているが、他の例では、異なる階層のアドレス、システム１０内で割り当てられたＩＤ、またはユーザが与えた任意の名称など、いかなる種類のＩＤが用いられてもよい。
【００５６】
ソースＵＲＬ２１０３は、各クライアント装置１００においてキャッシュされているソースのＩＤである。図示された例において、ソースＵＲＬ２１０３は、例えば、それぞれのソースがコンテンツサーバ３００から取得されるときのＵＲＬ（Uniform  Resource  Locator）である。他の例では、例えば、ソースＵＲＬ２１０３を所定のプロトコルに従ってハッシュ化した短縮ＵＲＬなど、いかなる種類のＩＤが用いられてもよい。短縮ＵＲＬを使用する場合、キャッシュリストのサイズを縮小できるのに加えて、各クライアント装置１００がキャッシュしているソースのＵＲＬが非可読な形式で記述されるため、ユーザのプライバシーも保護することができる。
【００５７】
グループ内キャッシュＤＢ２１０から抽出されたキャッシュリストを取得されたクライアント装置１００は、キャッシュリストに含まれるソースＩＤ２１０３および装置ＩＤ２１０１に基づいて、必要なソースがグループ１５０内の他のクライアント装置１００にキャッシュされているか否かを判定し、さらに、ソースがどのクライアント装置１００にキャッシュされているかを特定することができる。
【００５８】
なお、同じソースがグループ１５０内の複数のクライアント装置１００によってキャッシュされている場合、グループ内キャッシュＤＢ２１０では、それぞれのクライアント装置１００のＩＤに関連付けられた複数のレコード２１００が生成される（図示された例では、レコード２１００ａとレコード２１００ｄ、およびレコード２１００ｂとレコード２１００ｅによって、異なるクライアント装置１００にキャッシュされた同じソースの存在が示されている）。
【００５９】
タイムスタンプ２１０５は、それぞれのソースのキャッシュに関連する時刻を示す。例えば、タイムスタンプ２１０５は、クライアント装置１００がソースをコンテンツサーバ３００から取得した時刻、またはソースがクライアント装置１００のキャッシュ１４０に格納された時刻を示してもよい。この場合、クライアント装置１００は、内部キャッシュのリストを管理サーバ２００に送信するときに、タイムスタンプ２１０５の情報も送信する。この場合、タイムスタンプ２１０５は、同じソースがグループ１５０内の複数のクライアント装置１００にキャッシュされている場合（図示された例では、レコード２１００ａとレコード２１００ｄ、およびレコード２１００ｂとレコード２１００ｅによって、異なるクライアント装置１００にキャッシュされた同じソースの存在が示されている）に、どのソースがより新しいかを判定するために利用することができる。
【００６０】
あるいは、タイムスタンプ２１０５は、内部キャッシュのリスト、または内部キャッシュにソースが追加されたことの通知がクライアント装置１００から管理サーバ２００に送信された時刻を示してもよい。この場合、クライアント装置１００から管理サーバ２００に送信される情報には、タイムスタンプ２１０５が含まれていなくてもよい。例えば、各クライアント装置１００がグループ１５０に継続的に参加しており、グループ１５０に参加した状態でクライアント装置１００がコンテンツサーバ３００から取得したソースが多い場合や、後述する変形例のようにクライアント装置１００がグループ１５０に参加していない間も継続的に取得したソースの情報を管理サーバ２００に提供しているような場合、上記のような構成でも、タイムスタンプ２１０５に基づいてどのソースがより新しいかを判定することができる。
【００６１】
（１−５．グループ管理の処理フローの例）
（クライアント装置の処理）
図６は、本開示の第１の実施形態においてグループに新たに参加するクライアント装置における処理の例を示すフローチャートである。図６を参照すると、クライアント装置１００では、まず、グループ参加処理部１１６が、参加可能なグループの探索処理を実行する（Ｓ１０１）。なお、グループの探索処理の詳細については図７を参照して後述する。グループ参加処理部１１６は、参加可能なグループが発見されるまで（Ｓ１０３）、継続的にグループの探索処理を実行する。
【００６２】
参加可能なグループが発見された場合、グループ参加処理部１１６は、グループへの参加をユーザに確認する（Ｓ１０５）。例えば、グループ参加処理部１１６は、クライアント装置１００が備えるディスプレイに、グループへの参加を確認するダイアログを表示させる。同様にして、グループ参加処理部１１６は、音声や、バイブレーションの所定のパターンなどによって、グループへの参加をユーザに確認してもよい。なお、ユーザが、参加可能なグループが発見された場合にはそのグループに参加することを予め許可しているような場合には、確認および承認に関するＳ１０５およびＳ１０７の処理は省略されてもよい。
【００６３】
Ｓ１０５の確認において、グループへの参加がユーザによって承認された場合（Ｓ１０７のＹＥＳ）、キャッシュリスト送信部１１８が、グループへの参加の要求とともに、内部キャッシュリストを、通信部１０２を介して管理サーバ２００に送信する（Ｓ１０９）。ここで、内部キャッシュリストは、クライアント装置１００のキャッシュ１１２に格納されたソースのＩＤを含むリストである。さらに、外部キャッシュリスト受信部１２０が、外部キャッシュリストを、通信部１０２を介して管理サーバ２００から受信する（Ｓ１１１）。受信された外部キャッシュリストに含まれる、グループ１５０内の他のクライアント装置１００のＩＤと各クライアント装置１００にキャッシュされたソースのＩＤとを関連付ける情報は、外部キャッシュＤＢ１１０に格納される。
【００６４】
以上のような処理によって、クライアント装置１００がグループ１５０に参加し、グループ１５０内の他のクライアント装置１００がキャッシュしているソースを外部キャッシュとして利用することが可能になる。
【００６５】
図７は、図６に示したグループの探索処理をより詳細に示すフローチャートである。図７を参照すると、クライアント装置１００のグループ参加処理部１１６は、ＧＰＳやビーコンとの通信などを利用して取得されるクライアント装置１００の位置情報を、通信部１０２を介して管理サーバ２００に通知する（Ｓ１２１）。管理サーバ２００では、グループ管理部２０６が位置情報を受信し、クライアント装置１００がグループ１５０に参加可能であるか否かを判定する。より具体的には、グループ管理部２０６は、グループ１５０について予め定義された領域、またはグループ１５０を構成する他のクライアント装置１００の位置情報などに基づいて、クライアント装置１００がグループ１５０に接近したか否かを判定する。判定の結果はクライアント装置１００に通知され、参加処理部１１６は、管理サーバ２００からの応答に基づいて、クライアント装置１００のグループ１５０への接近が検出されたか否かを判定する（Ｓ１２３）。
【００６６】
なお、ここで、グループ１５０は、既に形成されていてもよいし、まだ形成されていなくてもよい。例えば、グループ１５０は、予め定義された領域内に所定数以上のクライアント装置１００が存在する場合に生成されてもよい。あるいは、領域は予め定義されておらず、所定数以上のクライアント装置１００が互いに接近した場合に、これらのクライアント装置１００の近傍を領域としてグループ１５０が生成されてもよい。このような場合、上記のＳ１２３では、既に存在するグループ１５０への接近だけではなく、まだ存在しないグループ１５０の候補となる他のクライアント装置１００への接近が検出されたか否かが判定されてもよい。
【００６７】
上記のＳ１２３において、クライアント装置１００がグループ１５０（またはその候補になる他のクライアント装置１００）に接近していることが検出された場合、グループ参加処理部１１６は、グループ１５０内の他のクライアント装置１００、またはグループ１５０の候補になる他のクライアント装置１００との通信を試行する。通信は、例えば、後にソースがやりとりされるのと同じ通信方式、例えばＷｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）などによって実行されうる。通信を試行する相手のクライアント装置１００のＩＤは、例えば管理サーバ２００によって提供される。
【００６８】
さらに、グループ参加処理部１１６は、上記のＳ１２５の通信の試行が成功か否かを判定する（Ｓ１２７）。通信が成功した場合、グループ参加処理部１１６は参加可能なグループ１５０（またはその候補になる他のクライアント装置１００）が発見されたと判定し（Ｓ１２９）、上記で図６を参照して説明したような処理を続行する。一方、Ｓ１２３でグループ１５０またはその候補への接近が検出されなかったり、Ｓ１２７でグループ１５０内またはその候補のクライアント装置１００との通信が成功しなかったりした場合、グループ参加処理部１１６は、まだグループ１５０またはその候補が発見されていないものと判断し、図６に示したように再度グループの探索処理を実行する。
【００６９】
（管理サーバの処理）
図８は、本開示の第１の実施形態においてクライアント装置のグループへの参加を受け付ける管理サーバの処理を示すフローチャートである。図８を参照すると、管理サーバ２００では、グループ管理部２０６が、通信部２０２を介してクライアント装置１００の位置情報を収集している（Ｓ１５１）。ここで、位置情報を収集する対象は、グループ１５０内のクライアント装置１００だけではなく、グループ１５０に参加していないクライアント装置１００をも含む。より具体的には、例えば、グループ管理部２０６は、グループ１５０に対応する領域よりも広い領域をカバーする１または複数の基地局を介して通信しているクライアント装置１００から位置情報を収集してもよい。あるいは、グループ管理部２０６は、管理サーバ２００によって提供されているサービスを利用するクライアント装置１００全体から位置情報を収集してもよい。
【００７０】
上記のＳ１５１で収集した位置情報などに基づいて、グループ管理部２０６は、グループ１５０に新たに参加するクライアント装置１００の有無を判定する（Ｓ１５３）。グループ１５０に参加するクライアント装置１００がある場合、キャッシュリスト受信部２０４が、当該クライアント装置１００が送信した内部キャッシュリストを通信部２０２を介して受信する（Ｓ１５５）。さらに、キャッシュリスト受信部２０４は、受信された内部キャッシュリストに基づいてグループ内キャッシュＤＢ２１０を更新する（Ｓ１５７）。
【００７１】
さらに、上記のＳ１５１で収集した位置情報などに基づいて、グループ管理部２０６は、グループ１５０から離脱するクライアント装置１００の有無を判定する（Ｓ１５９）。より具体的には、例えば、位置情報によって、クライアント装置１００がグループ１５０に対応する領域から出ている、または出ようとしていることが示される場合、クライアント装置１００はグループ１５０から離脱させられる。グループ１５０から離脱するクライアント装置１００がある場合、グループ管理部２０６から提供される情報に基づいて、キャッシュリスト更新部２０８がグループ内キャッシュＤＢ２１０を更新する（Ｓ１６１）。より具体的には、キャッシュリスト更新部２０８は、当該クライアント装置１００にキャッシュされたソースの情報を削除する。
【００７２】
なお、上記のＳ１５７やＳ１６１においてグループ内キャッシュＤＢ２１０が更新された場合、キャッシュリスト送信部２１２は、更新によって発生した差分にあたる情報を、グループ１５０内のクライアント装置１００に配信する。
【００７３】
以上のような処理によって、クライアント装置１００のグループ１５０への新たな参加を受け付け、グループ１５０に参加しているクライアント装置１００の変動に応じて適切にグループ内キャッシュＤＢ２１０を管理することができる。
【００７４】
（１−６．コンテンツ出力の処理フロー）
図９は、本開示の第１の実施形態においてコンテンツを出力するクライアント装置の処理の例を示すフローチャートである。図９を参照すると、クライアント装置１００は、まず、入力装置が取得するユーザ操作などによって、コンテンツ出力の要求を受け付ける（Ｓ２０１）。出力するコンテンツは、例えばＵＲＬなどによって特定される。このとき、クライアント装置１００では、まず、内部キャッシュ取得部１０８が内部キャッシュからソースを取得する（Ｓ２０３）。より具体的には、内部キャッシュ取得部１０８は、キャッシュ１１２に格納されたソースの中から必要なソースを取得する。
【００７５】
次に、外部キャッシュ取得部１０６が、未取得のソース、つまり必要なソースの中でキャッシュ１１２には格納されていなかったソースがあるか否かを判定し（Ｓ２０５）、未取得のソースがある場合には外部キャッシュからソースを取得する（Ｓ２０７）。より具体的には、外部キャッシュ取得部１０６は、外部キャッシュＤＢ１１０を参照して、必要なソースがグループ１５０内の他のクライアント装置１００にキャッシュされているか否かを判定し、必要なソースをキャッシュしている他のクライアント装置１００があれば、通信部１０２を介して当該クライアント装置１００にソースを要求する。
【００７６】
さらに、ソース取得部１０４が、未取得のソース、つまり必要なソースの中で、キャッシュ１１２に格納されておらずグループ１５０内の他のクライアント装置１００にもキャッシュされていなかったソースがあるか否かを判定し（Ｓ２０９）、未取得のソースがある場合にはコンテンツサーバ３００からソースを取得する（Ｓ２１１）。このとき、新たにコンテンツサーバ３００から取得されたソースは、キャッシュ１１２に格納される。キャッシュリスト送信部１１８は、通信部１０２を介して、管理サーバ２００に上記ソースの追加を示す更新情報を送信する（Ｓ２１３）。続いて、上記のＳ２０３，Ｓ２０７，Ｓ２１１で取得されたソースに基づいて、コンテンツ出力部１１４がコンテンツを出力する（Ｓ２１５）。なお、Ｓ２１３の処理とＳ２１５の処理との間に相関性はないため、どちらの処理が先に実行されてもよい。
【００７７】
以上のような処理によって、クライアント装置１００が既にソースをキャッシュしているコンテンツ（内部キャッシュを利用可能）に加えて、グループ１５０内の他のクライアント装置１００がソースをキャッシュしているコンテンツについても、それらの装置のキャッシュを外部キャッシュとして利用することによって、コンテンツの出力を高速化することができる。
【００７８】
以上、本開示の第１の実施形態について説明した。本実施形態では、管理サーバ２００からクライアント装置１００に、グループ１５０内の他のクライアント装置１００がキャッシュしているソースの情報が、例えばリストとして提供される。クライアント装置１００は、コンテンツの出力時に、管理サーバ２００から予め提供されている上記の情報に従って、必要なソースをキャッシュしているグループ１５０内の他のクライアント装置１００を特定し、当該クライアント装置１００にソースを要求することができる。本実施形態では、このようなクライアント装置１００における外部キャッシュの利用にあたって、管理サーバ２００との通信は発生しない。従って、例えば管理サーバ２００との通信が不安定であったり、管理サーバ２００との通信がボトルネックになるような状況であっても、外部キャッシュを利用してコンテンツの出力を高速化することができる。
【００７９】
（変形例）
なお、上記の例では、クライアント装置１００において、クライアント装置１００がグループ１５０に参加したときにキャッシュリスト送信部１１８がキャッシュリストを管理サーバ２００に送信したが、本開示の実施形態はこのような例には限られない。
【００８０】
例えば、キャッシュリスト送信部１１８は、クライアント装置１００がグループ１５０に参加していなくても、キャッシュリストや更新の通知を管理サーバ２００に送信してもよい。この場合、管理サーバ２００のグループ内キャッシュＤＢ２１０には、グループ１５０に参加しているクライアント装置１００と、グループ１５０に参加していないクライアント装置１００とのキャッシュの情報が含まれる。
【００８１】
この場合、クライアント装置１００が新たにグループに参加するときには、グループ参加処理部１１６が通信部１０２を介して管理サーバ２００に送信する要求に基づいて、グループ管理部２０６が、キャッシュリスト更新部２０８を介してグループ内キャッシュＤＢ２１０を更新し、グループに参加したクライアント装置１００にキャッシュされたソースの情報を有効化する。一方、クライアント装置１００がグループを離脱した場合や、グループに参加していないクライアント装置１００からキャッシュの情報が提供された場合、キャッシュリスト受信部２０４、またはグループ管理部２０６は、グループ内キャッシュＤＢ２１０において、当該クライアント装置１００にキャッシュされたソースの情報を無効化する。
【００８２】
上記のような変形例の場合、管理サーバ２００に蓄積されるデータの量は増大するものの、クライアント装置１００がグループ１５０に参加するときのキャッシュリストのやりとりが不要になるため、グループ１５０への参加の処理を迅速化することができる。また、管理サーバ２００が複数のグループ１５０を管理しており、ユーザがそれらのグループの間を行き来するような場合、それぞれのグループ１５０に出入りするときの処理を簡略化することができる。
【００８３】
（２．第２の実施形態）
次に、本開示の第２の実施形態について説明する。なお、本実施形態は、以下で図１０および図１１を参照して説明する点について上記の第１の実施形態と相違するが、それ以外の点については第１の実施形態と同様であるため、重複した説明は省略する。
【００８４】
図１０は、本開示の第２の実施形態に係るクライアント装置の概略的な機能構成を示すブロック図である。図１０を参照すると、クライアント装置１００は、通信部１０２と、ソース取得部１０４と、外部キャッシュ取得部１０６と、内部キャッシュ取得部１０８と、キャッシュ１１２と、コンテンツ出力部１１４と、グループ参加処理部１１６と、キャッシュリスト送信部１１８と、装置ＩＤ取得部１２２とを含みうる。なお、このうち、装置ＩＤ取得部１２２以外については、上記の第１の実施形態と同様の構成要素であるため、重複した説明は省略する。
【００８５】
装置ＩＤ取得部１２２は、例えば、クライアント装置１００が備えるプロセッサが、メモリまたはストレージに格納されたプログラムに従って動作することによって実現される機能でありうる。装置ＩＤ取得部１２２は、コンテンツの出力が要求されたときに、通信部１０２を介して、管理サーバ２００から、当該コンテンツのソースをキャッシュしているグループ１５０内の他のクライアント装置１００のＩＤを取得する。より具体的には、装置ＩＤ取得部１２２は、コンテンツの出力時に、必要なソースの少なくとも一部が内部キャッシュ取得部１０８によって取得されなかった場合、取得されなかったソースのＩＤを含む要求を管理サーバ２００に送信する。管理サーバ２００は、要求に含まれるＩＤによって示されるソースをキャッシュしているクライアント装置１００がグループ１５０内にあれば、そのクライアント装置１００のＩＤを返信する。装置ＩＤ取得部１２２は、管理サーバ２００から受信したクライアント装置１００のＩＤを外部キャッシュ取得部１０６に提供し、外部キャッシュ取得部１０６は、そのＩＤに基づいて、グループ１５０内の他のクライアント装置１００にソースを要求する。
【００８６】
図１１は、本開示の第２の実施形態に係る管理サーバの概略的な機能構成を示すブロック図である。図１１を参照すると、管理サーバ２００は、通信部２０２と、キャッシュリスト受信部２０４と、グループ管理部２０６と、キャッシュリスト更新部２０８と、グループ内キャッシュＤＢ２１０と、装置ＩＤ送信部２１４とを含みうる。なお、このうち、装置ＩＤ送信部２１４以外については、上記の第１の実施形態と同様の構成要素であるため、重複した説明は省略する。
【００８７】
装置ＩＤ送信部２１４は、例えば、管理サーバ２００を構成する１または複数のサーバ装置が備えるプロセッサが、メモリまたはストレージに格納されたプログラムに従って動作することによって実現される機能でありうる。装置ＩＤ送信部２１４は、通信部２０２を介して、クライアント装置１００からソースのＩＤを含む要求が受信されたときに、グループ内キャッシュＤＢ２１０を検索し、ＩＤによって示されるソースが発見された場合には、そのソースをキャッシュしているグループ１５０内の他のクライアント装置１００のＩＤを、通信部２０２を介してクライアント装置１００に送信する。
【００８８】
以上で説明した本開示の第２の実施形態では、クライアント装置１００がコンテンツを出力するときに、必要とされるソースのＩＤを含む要求を管理サーバ２００に送信する。これに応じて、管理サーバ２００は、要求されているソースをキャッシュしているグループ１５０内の他のクライアント装置１００のＩＤをクライアント装置１００に提供する。
【００８９】
本実施形態において、クライアント装置１００は、グループ１５０内の他のクライアント装置１００がキャッシュしているソースのリストを予め管理サーバ２００から取得するわけではなく、コンテンツの出力時に、必要なソースのＩＤを含む要求を管理サーバ２００に送信し、要求に応じて管理サーバ２００が提供する他のクライアント装置１００のＩＤに基づいて、グループ１５０内の他のクライアント装置１００にソースを要求する。
【００９０】
これによって、コンテンツ出力時の管理サーバ２００への問い合わせの時間はかかるものの、クライアント装置１００がグループ１５０に参加するときにやりとりする情報は少なくて済む。また、管理サーバ２００でグループ内キャッシュＤＢ２１０が更新される度に、グループ１５０内のクライアント装置１００に外部キャッシュＤＢの更新のための通知を送信する必要もない。つまり、本実施形態では、管理サーバ２００のグループ内キャッシュＤＢ２１０を最新の状態に保っておくだけで、適切にグループ１５０の内のクライアント装置１００の間で互いにキャッシュされたソースを利用することができる。
【００９１】
以上で説明したような第２の実施形態は、例えば、グループ１５０に参加しているクライアント装置１００の数や、それぞれのクライアント装置１００にキャッシュされているソースの量が多い場合に適する。このような場合、クライアント装置１００がグループ１５０に参加するときにすべてのソースの情報を送信するよりも、クライアント装置１００において必要が生じた場合にソース単位で要求された情報を送信する方が合理的でありうる。また、グループ１５０内のクライアント装置１００におけるキャッシュ１１２の更新が頻繁に発生するような場合にも、それらの更新を管理サーバ２００のグループ内キャッシュＤＢ２１０にだけ反映させればよいため、本実施形態が有利でありうる。
【００９２】
（３．第３の実施形態）
次に、本開示の第３の実施形態について説明する。なお、本実施形態は、以下で図１２を参照して説明する点について上記の第１の実施形態および第２の実施形態と相違するが、それ以外の点については第１または第２の実施形態と同様であるため、重複した説明は省略する。
【００９３】
図１２は、本開示の第３の実施形態に係るシステムの概略的な構成を示す図である。図１２を参照すると、システム３０は、クライアント装置１００と、管理サーバ２００と、コンテンツサーバ３００とを含む。
【００９４】
上記で図１および図２を参照して説明した第１の実施形態に係るシステム１０，２０との相違点として、システム３０では、クライアント装置１００（ここではスマートフォン１００ａ〜１００ｃ）が、主に中間サーバでもある管理サーバ２００を介してコンテンツサーバ３００と通信する。つまり、本実施形態において、グループ１５０内のクライアント装置１００と中間サーバ（管理サーバ２００）とは、閉じた通信ネットワークを形成しており、中間サーバ（管理サーバ２００）を介してコンテンツサーバ３００を含む外部のネットワークへのアクセスが可能になる。このようなネットワークは、例えば、飛行機の機内や、高速鉄道の車内などのような、通常の携帯電話網などを介したネットワークへのアクセスが困難な環境においてみられる。
【００９５】
本実施形態の効果を理解しやすくするためにより具体的に説明すると、例えば飛行機の機内では、クライアント装置１００がＷｉ−Ｆｉによって中間サーバ（管理サーバ２００）に接続され、中間サーバ（管理サーバ２００）が衛星通信などを介してコンテンツサーバ３００などの外部ネットワークにアクセスする。また、高速鉄道の車内でも、クライアント装置１００がＷｉ−Ｆｉによって管理サーバ２００に接続され、中間サーバ（管理サーバ２００）が鉄道設備に付帯する通信設備などを介してコンテンツサーバ３００などの外部ネットワークにアクセスする。
【００９６】
このような環境下では、中間サーバ（管理サーバ２００）と外部ネットワークとの間の衛星通信などの通信量が限られているために、個々のクライアント装置１００では十分な通信速度が得られないことがありうる。そこで、本実施形態では、機内や車内などに相当するグループ１５０内のクライアント装置１００に接続される中間サーバを管理サーバ２００とし、各クライアント装置１００がコンテンツの出力にあたって外部キャッシュ（グループ１５０内の他のクライアント装置１００のキャッシュ）を利用可能である場合には外部ネットワークとの通信をしないことによって、ボトルネックになりうる衛星通信などの部分での通信量を可能な限り削減する。
【００９７】
なお、例えば高速鉄道が駅に停車している間のように、クライアント装置１００は、一時的に、中間サーバ（管理サーバ２００）を介さずに携帯電話網などを介してコンテンツサーバ３００にアクセス可能であってもよい。そのような時間が短く、または全くなく、クライアント装置１００とコンテンツサーバ３００との通信のほぼすべてが中間サーバ（管理サーバ２００）を介して実行される場合、管理サーバ２００はクライアント装置１００が新たに取得したソースを、クライアント装置１００がコンテンツサーバ３００に送信する要求の解析によって把握することが可能である。従って、このような場合、クライアント装置１００がコンテンツサーバ３００から新たなソースを取得した場合の管理サーバ２００への通知は、省略されてもよい。
【００９８】
また、図示された例では、システム３０における中間サーバと管理サーバ２００とが同一の装置であるように示されているが、本実施形態はこのような例には限られない。例えば、クライアント装置１００とコンテンツサーバ３００とを接続するネットワーク上に、管理サーバ２００と中間サーバとが直列的に連続して配置されていてもよい。
【００９９】
（４．ハードウェア構成）
次に、図１３を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図１３は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。図示された情報処理装置９００は、例えば、上記の実施形態におけるクライアント装置１００、管理サーバ２００、またはコンテンツサーバ３００を実現しうる。
【０１００】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）またはＡＳＩＣ（Application  Specific  Integrated  Circuit）と呼ばれるような処理回路を有してもよい。
【０１０１】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【０１０２】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部装置９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１０３】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１０４】
ストレージ９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１０５】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１０６】
接続ポート９２３は、外部装置を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部装置９２９を接続することで、情報処理装置９００と外部装置９２９との間で各種のデータが交換されうる。
【０１０７】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信装置との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１０８】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１０９】
（５．補足）
本開示の実施形態は、例えば、上記で説明したような情報処理装置（クライアント装置またはサーバ）、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【０１１０】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１１】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１１２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）コンテンツのソースが格納されるキャッシュと、
前記キャッシュに格納された前記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信するキャッシュ情報送信部と、
前記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得する外部キャッシュ取得部と、
前記出力が要求されたコンテンツのソースの少なくとも一部が前記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから前記外部ネットワークを介して取得するソース取得部と
を備えるクライアント装置。
（２）前記サーバから提供される情報は、前記他のクライアント装置のＩＤを含む、前記（１）に記載のクライアント装置。
（３）前記サーバから提供される情報は、前記出力の要求に先立って提供される、前記グループ内のクライアント装置によってキャッシュされた前記ソースのリストを含む、前記（２）に記載のクライアント装置。
（４）前記出力の要求時に、該出力が要求されたコンテンツのソースのＩＤを含む要求を前記サーバに送信し、該要求に応じて前記サーバが送信する前記他のクライアント装置のＩＤを含む情報を取得するＩＤ取得部をさらに備える、前記（２）に記載のクライアント装置。
（５）前記キャッシュ情報送信部は、前記クライアント装置が前記グループに参加したときに、前記キャッシュに格納された前記ソースを示す情報を前記サーバに送信する、前記（１）〜（４）のいずれか１項に記載のクライアント装置。
（６）前記キャッシュ情報送信部は、前記クライアント装置が前記グループに参加しているか否かにかかわらず前記キャッシュに格納された前記ソースを示す情報を前記サーバに送信し、
前記クライアント装置は、前記クライアント装置が前記グループに参加したときに前記サーバに送信された情報を有効化するグループ参加処理部をさらに備える、前記（１）〜（４）のいずれか１項に記載のクライアント装置。
（７）外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するグループ管理部と、
前記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信するキャッシュ情報受信部と、
前記クライアント装置が出力を要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得するための情報を前記クライアント装置に提供するキャッシュ情報提供部と
を備えるサーバ。
（８）前記キャッシュ情報提供部は、前記他のクライアント装置のＩＤを含む情報を提供する、前記（７）に記載のサーバ。
（９）前記キャッシュ情報提供部は、前記出力の要求に先立って、前記グループ内のクライアント装置によってキャッシュされた前記ソースのリストを提供する、前記（８）に記載のサーバ。
（１０）前記キャッシュ情報提供部は、前記出力が要求されたコンテンツのソースのＩＤを含む要求に応じて、前記他のクライアント装置のＩＤを含む情報を提供する、前記（８）に記載のサーバ。
（１１）前記キャッシュ情報受信部は、前記クライアント装置が前記グループに参加したときに、該クライアント装置がキャッシュしているコンテンツのソースを示す情報を受信する、前記（７）〜（１０）のいずれか１項に記載のサーバ。
（１２）前記キャッシュ情報受信部は、前記クライアント装置が前記グループに参加しているか否かにかかわらず、該クライアント装置がキャッシュしているコンテンツのソースを示す情報を受信し、
前記グループ管理部は、前記クライアント装置が前記グループに参加したときに前記受信された情報を有効化する、前記（７）〜（１０）のいずれか１項に記載のサーバ。
（１３）前記グループ管理部は、前記グループに参加している前記クライアント装置の情報と、該クライアント装置がキャッシュしているコンテンツのソースの情報とを、前記グループを管理する別のサーバとの間で共有する、前記（７）〜（１２）のいずれか１項に記載のサーバ。
（１４）コンテンツのソースが格納されるキャッシュを備えるクライアント装置のプロセッサに、
前記キャッシュに格納された前記ソースを示す情報を、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理するサーバに送信する機能と、
前記サーバから提供される情報に基づいて、出力が要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得する機能と、
前記出力が要求されたコンテンツのソースの少なくとも一部が前記他のクライアント装置から取得されなかった場合に、該取得されなかったソースをコンテンツサーバから前記外部ネットワークを介して取得する機能と
を実現させるためのプログラムが格納された記録媒体。
（１５）プロセッサが、外部ネットワークを介さずに通信可能なクライアント装置のグループを管理することと、
前記グループに参加しているクライアント装置がキャッシュしているコンテンツのソースを示す情報を受信することと、
前記クライアント装置が出力を要求されたコンテンツのソースを前記グループ内の他のクライアント装置から取得するための情報を前記クライアント装置に提供することと
を含む情報処理方法。
【符号の説明】
【０１１３】
１０，２０，３０    システム
１００    クライアント装置
１０２    通信部
１０４    ソース取得部
１０６    外部キャッシュ取得部
１０８    内部キャッシュ取得部
１１０    外部キャッシュＤＢ
１１２    キャッシュ
１１４    コンテンツ出力部
１１６    グループ参加処理部
１１８    キャッシュリスト送信部
１２０    外部キャッシュリスト受信部
１２２    装置ＩＤ取得部
１５０    グループ
２００    管理サーバ
２０２    通信部
２０４    キャッシュリスト受信部
２０６    グループ管理部
２０８    キャッシュリスト更新部
２１０    グループ内キャッシュＤＢ
２１２    キャッシュリスト送信部
２１４    装置ＩＤ送信部
３００    コンテンツサーバ
【図１】
2015166680.tif 000003
【図２】
2015166680.tif 000004
【図３】
2015166680.tif 000005
【図４】
2015166680.tif 000006
【図５】
2015166680.tif 000007
【図６】
2015166680.tif 000008
【図７】
2015166680.tif 000009
【図８】
2015166680.tif 000010
【図９】
2015166680.tif 000011
【図１０】
2015166680.tif 000012
【図１１】
2015166680.tif 000013
【図１２】
2015166680.tif 000014
【図１３】
2015166680.tif 000015
【国際調査報告】
2015166680.tif 000016
2015166680.tif 000017
2015166680.tif 000018
2015166680.tif 000019