(57)【要約】【課題】利用者の人数が増大しても利用者への大容量データの配信を効率的に提供することを可能とするコンテンツ蓄積配信システムを提供する。【解決手段】本発明に係るコンテンツ蓄積配信サーバ１０は、利用者装置３および他のコンテンツ蓄積配信サーバとの間でメッセージを送受信する送受信部１２と、利用者装置から配信をリクエストされたコンテンツを利用者装置に配信するコンテンツ管理部１４と、コンテンツが利用者装置からリクエストされるリクエスト確率を計算し、リクエスト確率が一定値以上であれば他のコンテンツ蓄積配信サーバにコンテンツのコピーを送信させるコンテンツプッシュリクエストを送信する確率計算部１３とを有することを特徴とする。【選択図】図１
2009070153.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいて使用されるコンテンツ蓄積配信サーバであって、
前記利用者装置および他の前記コンテンツ蓄積配信サーバとの間でメッセージを送受信する送受信部と、
前記利用者装置から配信をリクエストされたコンテンツを前記利用者装置に配信するコンテンツ管理部と、
前記コンテンツが前記利用者装置からリクエストされるリクエスト確率を計算し、前記リクエスト確率が一定値以上であれば他の前記コンテンツ蓄積配信サーバに前記コンテンツのコピーを送信させるコンテンツプッシュリクエストを送信する確率計算部と
を有することを特徴とするコンテンツ蓄積配信サーバ。
【請求項２】
前記コンテンツ管理部は、前記コンテンツ蓄積配信システムが管理する区域を複数に分割したブロックの中から前記利用者装置が選択した任意の前記ブロックに対応するコンテンツを前記利用者装置に配信し、
前記確率計算部は、前記ブロックごとに前記リクエスト確率を計算することを特徴とする、請求項１に記載のコンテンツ蓄積配信サーバ。
【請求項３】
前記ブロックごとに前記ブロックに対応するコンテンツを蓄積するコンテンツデータベースと、
前記ブロックごとに前記リクエスト確率を格納するプッシュリクエストリストデータベースと、
を有することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項４】
前記コンテンツ管理部は、前記利用者装置からコンテンツのアップロードを受け付けることが可能であり、前記利用者装置からアップロードされたコンテンツを、前記コンテンツに対応するブロックの情報とともに前記コンテンツデータベースに保存することを特徴とする、請求項３に記載のコンテンツ蓄積配信サーバ。
【請求項５】
前記コンテンツ管理部は、前記利用者装置から前記リクエストを受信したことに反応して、前記配信をリクエストされたコンテンツを前記コンテンツデータベースから検索し、前記コンテンツデータベースに前記配信をリクエストされたコンテンツが存在しない場合に、前記他のコンテンツ蓄積配信サーバに対して前記配信をリクエストされたコンテンツのコピーを送信させるコンテンツ転送リクエストを送信することを特徴とする、請求項３に記載のコンテンツ蓄積配信サーバ。
【請求項６】
一定の間隔で前記確率計算部にリクエスト確率を計算させる割り込みを発生する確率計算タイマを有することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項７】
各々の前記ブロックについて該ブロックが属する前記コンテンツ蓄積配信サーバのリストを格納するサーバ情報データベースを有し、
前記確率計算部は前記ブロックが属する前記コンテンツ蓄積配信サーバを前記サーバ情報データベースによって検索して、前記コンテンツプッシュリクエストを送信することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項８】
前記ブロックごとに、前記ブロックに対応するコンテンツに更新があった場合に前記コンテンツのコピーを転送するコンテンツ蓄積配信サーバのリストを格納するコピー先リストデータベースを有し、
前記コンテンツ管理部は、前記コンテンツプッシュリクエストを受信したことに反応して、前記コピー先リストデータベースに前記コンテンツプッシュリクエストに含まれる前記ブロックおよび前記コンテンツ蓄積配信サーバを追加することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項９】
前記コンテンツ管理部は、前記利用者装置からコンテンツのアップロードを受け付けることが可能であり、前記利用者装置からアップロードされたコンテンツに対応するブロックが前記コピー先リストデータベースに含まれていれば、前記ブロックに対応する前記コンテンツ蓄積配信サーバに前記コンテンツを含むコンテンツプッシュレスポンスを送信することを特徴とする、請求項８に記載のコンテンツ蓄積配信サーバ。
【請求項１０】
前記確率計算部は、前記コンテンツ蓄積配信サーバが一定時間内に受けた前記ブロックに対応するコンテンツのリクエスト数を、前記コンテンツ蓄積配信サーバが前記一定時間内に受けたすべてのリクエスト数で除算することによって前記リクエスト確率を計算することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項１１】
前記確率計算部は、前記コンテンツ蓄積配信サーバが一定時間内に受けたリクエストの総数をＡｌ、前記一定時間の１年前の同時刻中に受けたリクエストの総数をＡｌ（−１）、前記一定時間内に受けた前記ブロックに対応するコンテンツのリクエスト数をｃｍ／ｎ、前記１年前の同時刻中に受けた前記ブロックに対応するコンテンツのリクエスト数をｃｍ／ｎ（−１）とした場合、前記リクエスト確率Ｐｌｍｎを
Ｐｌｍｎ＝（ｃｍ/ｎ＋ｃｍ/ｎ（−１））／（Ａｌ＋Ａｌ（−１））
の数式で計算することを特徴とする、請求項２に記載のコンテンツ蓄積配信サーバ。
【請求項１２】
複数のコンテンツ蓄積配信サーバと複数の利用者装置とがネットワークによって互いに接続されて構成されるコンテンツ蓄積配信システムであって、
前記複数のコンテンツ蓄積配信サーバが請求項１ないし１１のうちいずれか１項に記載のコンテンツ蓄積配信サーバであることを特徴とするコンテンツ蓄積配信システム。
【請求項１３】
ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいてコンテンツを配信する方法であって、
前記利用者装置が前記コンテンツ蓄積配信サーバにコンテンツの配信をリクエストするリクエスト工程と、
続いて前記コンテンツ蓄積配信サーバが前記コンテンツがリクエストされたリクエスト数をカウントするカウント工程と、
続いて前記コンテンツ蓄積配信サーバが前記リクエストされたコンテンツを前記利用者装置に配信する配信工程と、
続いて前記コンテンツ蓄積配信サーバが、前記カウント工程でカウントされた前記リクエスト数に基づいて、前記コンテンツがリクエストされるリクエスト確率を計算する確率計算工程と、
前記リクエスト確率が一定値以上であれば、前記コンテンツ蓄積配信サーバが他のコンテンツ蓄積配信サーバに前記コンテンツのコピーを送信させるコンテンツプッシュリクエストを送信するコンテンツプッシュリクエスト工程と
を有することを特徴とするコンテンツ配信方法。
【請求項１４】
前記リクエスト工程は、コンテンツ蓄積配信システムが管理する区域を複数に分割したブロックの中から前記利用者装置が任意の前記ブロックに対応するコンテンツを選択してリクエストし、
前記確率計算工程は、前記ブロックごとに前記リクエスト確率を計算することを特徴とする、請求項１３に記載のコンテンツ配信方法。
【請求項１５】
前記確率計算工程が確率計算タイマ割り込みによる一定の間隔で行われることを特徴とする、請求項１４に記載のコンテンツ配信方法。
【請求項１６】
前記コンテンツ蓄積配信サーバが他のコンテンツ蓄積配信サーバから前記コンテンツプッシュリクエストを受信するコンテンツプッシュリクエスト受信工程と、
続いて前記コンテンツ蓄積配信サーバが、前記コンテンツプッシュリクエスト受信工程で受信したコンテンツプッシュリクエストに含まれるブロックに対応するコンテンツのアップロードを前記利用者装置から受け付けるアップロード工程と、
前記アップロード工程で受け付けた前記ブロックに対応するコンテンツを含むコンテンツプッシュレスポンスを、前記コンテンツプッシュリクエストの送信元のコンテンツ蓄積配信サーバに送信するコンテンツプッシュレスポンス工程と
を有することを特徴とする、請求項１４に記載のコンテンツ配信方法。
【請求項１７】
前記確率計算工程は、前記コンテンツ蓄積配信サーバが一定時間内に受けた前記ブロックに対応するコンテンツのリクエスト数を、前記コンテンツ蓄積配信サーバが前記一定時間内に受けたすべてのリクエスト数で除算することによって前記リクエスト確率を計算することを特徴とする、請求項１４に記載のコンテンツ配信方法。
【請求項１８】
前記確率計算工程は、前記コンテンツ蓄積配信サーバが一定時間内に受けたリクエストの総数をＡｌ、前記一定時間の１年前の同時刻中に受けたリクエストの総数をＡｌ（−１）、前記一定時間内に受けた前記ブロックに対応するコンテンツのリクエスト数をｃｍ／ｎ、前記１年前の同時刻中に受けた前記ブロックに対応するコンテンツのリクエスト数をｃｍ／ｎ（−１）とした場合、前記リクエスト確率Ｐｌｍｎを
Ｐｌｍｎ＝（ｃｍ/ｎ＋ｃｍ/ｎ（−１））／（Ａｌ＋Ａｌ（−１））
の数式で計算することを特徴とする、請求項１４に記載のコンテンツ配信方法。
【請求項１９】
ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいて、前記コンテンツ蓄積配信サーバが備えるコンピュータに、
前記利用者装置からコンテンツの配信のリクエストを受け付ける処理と、
続いて前記コンテンツがリクエストされたリクエスト数をカウントする処理と、
続いて前記リクエストされたコンテンツを前記利用者装置に配信する処理と、
続いて前記リクエスト数に基づいて、前記コンテンツがリクエストされるリクエスト確率を計算する処理と、
前記リクエスト確率が一定値以上であれば他のコンテンツ蓄積配信サーバに前記コンテンツのコピーを送信させるコンテンツプッシュリクエストを送信する処理と
を実行させることを特徴とする配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバに蓄積された情報を端末に配信するコンテンツ蓄積配信システムに関し、特に多数の移動端末から発信される情報をサーバに蓄積して端末に配信するコンテンツ蓄積配信システムに関する。
【背景技術】
【０００２】
近年、携帯電話やＰＤＡ、カーナビゲーション車載機などの移動端末においても、移動しながら音声や映像などの大容量コンテンツをネットワークよりダウンロードして利用したいという要望が、ユーザの間で高まっており、そのような要望に対応する技術が検討されている。特に、このような技術を用いて、他地点での交通状況や天気などの情報を共有するサービスが検討されている。
【０００３】
各地の状況を観察するための方法として、特定の地点にカメラやマイクなどのような観察用の機器（以後、定点観察機器という）を常置し、そこで観察された映像などの情報をサーバにアップロードして、そこから改めて移動端末に配信する方法が考えられる。
【０００４】
一方、特に音声や映像などの大容量コンテンツをネットワークを経由して配信するにあたっては、データのリアルタイム性が求められているので、ネットワークの輻輳などに起因する通信の遅延や停止などがあるようでは望ましくない。そのため、特に移動端末に対して大容量コンテンツを配信するにあたっては、ネットワークの輻輳などを少なくするため、ネットワーク上においてなるべく該端末の位置に近い位置に存在するサーバから該端末に該コンテンツを配信するようにすることが望ましい。
【０００５】
該端末の位置に近いサーバから該コンテンツを配信することに関連する技術として、たとえば次のような文献がある。特許文献１には、移動端末へ情報を提供する方法として、移動端末から通知される位置情報、目的地情報、所望のコンテンツの識別情報に基づいて、予測された移動端末の経路に適するコンテンツ蓄積サーバが端末にコンテンツを配信するという技術が開示されている。特許文献２には、コンテンツを提供する時間を短縮するため、利用者の移動を検出した場合に、利用者がリクエストする可能性のあるコンテンツを予め利用者に近いサーバにコピーしておくという技術が開示されている。
【０００６】
【特許文献１】特開２００３−１３４５４５号公報
【特許文献２】特開２００７−１３３５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、定点観察機器を利用して各地の状況を観察できるようにするには、観察可能な地点を増やすごとにそのような定点観察機器を設置することが必要である。従って、広い地域にわたって状況を観察可能にするには、膨大な数の定点観察機器が必要となるので、そのために必要となるコストも膨大かつ非現実的なものとなる。
【０００８】
また、前述の特許文献１および２のコンテンツ配信技術は、利用者の移動経路や利用するコンテンツの種類などを予測し、対応するコンテンツを利用者に近い位置にあるサーバに準備するという技術である。しかし、これらの技術は、各々の利用者に対してそのような予測の処理を行うので、利用者の人数がたとえば数千万〜数億程度にまで増加すると、利用者全員に対して予測を行うための計算量が膨大なものとなる。この膨大な処理に対応する設備を準備するために、やはり膨大かつ非現実的なコストを要することになる。
【０００９】
本発明の目的は、膨大な数の定点観察機器を必要とせずに広い地域にわたって状況を観察可能にし、かつ利用者の人数が増大しても利用者への大容量データの配信を効率的に提供することを可能とする、コンテンツ蓄積配信サーバ、コンテンツ蓄積配信システム、コンテンツ配信方法および配信プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係るコンテンツ蓄積配信サーバは、ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいて使用されるコンテンツ蓄積配信サーバであって、利用者装置および他のコンテンツ蓄積配信サーバとの間でメッセージを送受信する送受信部と、利用者装置から配信をリクエストされたコンテンツを利用者装置に配信するコンテンツ管理部と、コンテンツが利用者装置からリクエストされるリクエスト確率を計算し、リクエスト確率が一定値以上であれば他のコンテンツ蓄積配信サーバにコンテンツのコピーを送信させるコンテンツプッシュリクエストを送信する確率計算部とを有することを特徴とする。
【００１１】
上記目的を達成するため、本発明に係るコンテンツ蓄積配信システムは、複数のコンテンツ蓄積配信サーバと複数の利用者装置とがネットワークによって互いに接続されて構成されるコンテンツ蓄積配信システムであって、複数のコンテンツ蓄積配信サーバが請求項１ないし１１のうちいずれか１項に記載のコンテンツ蓄積配信サーバであることを特徴とする。
【００１２】
上記目的を達成するため、本発明に係るコンテンツ配信方法は、ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいてコンテンツを配信する方法であって、利用者装置がコンテンツ蓄積配信サーバにコンテンツの配信をリクエストするリクエスト工程と、続いてコンテンツ蓄積配信サーバがコンテンツがリクエストされたリクエスト数をカウントするカウント工程と、続いてコンテンツ蓄積配信サーバがリクエストされたコンテンツを利用者装置に配信する配信工程と、続いてコンテンツ蓄積配信サーバが、カウント工程でカウントされたリクエスト数に基づいて、コンテンツがリクエストされるリクエスト確率を計算する確率計算工程と、リクエスト確率が一定値以上であれば、コンテンツ蓄積配信サーバが他のコンテンツ蓄積配信サーバにコンテンツのコピーを送信させるコンテンツプッシュリクエストを送信するコンテンツプッシュリクエスト工程とを有することを特徴とする。
【００１３】
上記目的を達成するため、本発明に係る配信プログラムは、ネットワークによって互いに接続された複数のコンテンツ蓄積配信サーバおよび複数の利用者装置で構成されたコンテンツ蓄積配信システムにおいて、コンテンツ蓄積配信サーバが備えるコンピュータに、利用者装置からコンテンツの配信のリクエストを受け付ける処理と、続いてコンテンツがリクエストされたリクエスト数をカウントする処理と、続いてリクエストされたコンテンツを利用者装置に配信する処理と、続いてリクエスト数に基づいて、コンテンツがリクエストされるリクエスト確率を計算する処理と、リクエスト確率が一定値以上であれば他のコンテンツ蓄積配信サーバにコンテンツのコピーを送信させるコンテンツプッシュリクエストを送信する処理とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明は、上記したようにコンテンツが利用者装置からリクエストされるリクエスト確率を計算し、リクエスト確率が一定値以上であれば他のコンテンツ蓄積配信サーバにコンテンツのコピーを送信させるように構成したので、個々の利用者に対して移動経路や嗜好などを予測するための膨大な計算量を要する処理を行わなくてもよい。これによって、膨大な数の定点観察機器を必要とせずに広い地域にわたって状況を観察可能にし、かつ利用者の人数が増大しても利用者への大容量データの配信を効率的に提供することを可能とする、従来にない優れたコンテンツ蓄積配信サーバ、コンテンツ蓄積配信システム、コンテンツ配信方法および配信プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
図１は本発明に係るコンテンツ蓄積配信システム１のネットワーク構成を示す概念図で ある。コンテンツ蓄積配信システム１はｍ台のコンテンツ蓄積配信サーバ１０（Ｓ１〜Ｓｍ）と、複数の利用者装置３とで構成されている。なお、ｍは２以上の整数である。各々のコンテンツ蓄積配信サーバ１０は、ネットワークを介して相互に接続されている。
【００１６】
図１はコンテンツ蓄積配信システム１がサービスを提供することが可能なエリアを示す。各々のコンテンツ蓄積配信サーバ１０は、システム管理者により決定されたサービス提供エリアに対して、サービスを提供する。そして各々のコンテンツ蓄積配信サーバ１０は、自らのサービス提供エリアをさらに複数のブロックに分けている。図１では、コンテンツ蓄積配信サーバ１０ごとのサービス提供エリアの境界を太線で表し、サービス提供エリア内のブロックを細線で表している。
【００１７】
たとえば、コンテンツ蓄積配信サーバ１０のうちの１台であるＳ１は、自らのサービス 提供エリアをさらにａ１／１〜ａ１／ｎというｎ個のブロックに分けている。ｎは２以上の整数である。なお、図１においてはＳ１、Ｓ２、Ｓｍ以外のコンテンツ蓄積配信サーバ１０の記載を、既に記載しているものの単純な繰り返しになるので省略している。また、ａ１／１、ａ１／２、ａ１／３、ａ１／４、ａ１／ｎ、ａ２／１以外のブロックの記載も、既に記載しているものの単純な繰り返しになるので省略している。ブロックを表す記号は、コンテンツ蓄積配信システム１全体において一意になるように付けられている。
【００１８】
利用者装置３は、図１のエリア内にいれば、どのコンテンツ蓄積配信サーバ１０のサービス提供エリアにいても、またサービス提供エリアのどのブロックにいても、通信手段を介してコンテンツ蓄積配信サーバ１０にアクセスして、コンテンツ蓄積配信システム１のサービスを利用することができる。
【００１９】
ここでいうブロックは、該ブロック内に存在する利用者装置３を操作する利用者の平均人数が、ブロック間でおよそ同等であるように決定することが望ましい。例えば都心部では利用者の人数が多く、また各々の利用者の移動する速度が遅いと考えられるので、ブロックの物理的面積を狭くすることが望ましい。逆に、郊外や山間部などでは利用者の人数が少なく、各々の利用者の移動する速度が速いので、ブロックの物理的面積を広くすることが望ましい。このようなブロック構成にするために、携帯電話、ＰＨＳなどのような既存の無線通信網の基地局１局がサービスを提供する範囲を１ブロックとしてもよい。
【００２０】
また、１台のコンテンツ蓄積配信サーバ１０が管理するブロック数およびサービス提供エリアは、コンテンツ蓄積配信サーバ１０がサービスを提供できる能力に従って決定することができる。図１においては、本実施の形態の概念を理解しやすくするために、格子状のブロックを幾何学的に並べたものをサービス提供エリアとして描いているが、もちろんサービス提供エリアおよびブロックはそのような形状に限定されるものではない。
【００２１】
利用者装置３は図１においては自動車のアイコンで表されているが、実際には利用者装置３は自動車に搭載されたカーナビゲーション車載機などに限定されず、たとえば歩行者が携行する携帯電話やＰＤＡ、あるいは通信モジュールを有するノートブック型ＰＣなどであってもよい。
【００２２】
利用者装置３は、通信手段を介してコンテンツ蓄積配信サーバ１０にアクセスする。ここでいう通信手段は、コンテンツ蓄積配信サーバ１０にアクセスできる手段であれば特に限定されない。利用者装置３の機動性を確保するために、通信手段は携帯電話、ＰＨＳ、公衆無線ＬＡＮ、無線ＷＡＮなどのような無線通信である方が望ましいが、公衆電話や加入電話などを利用した有線通信を通信手段としてもよい。
【００２３】
利用者装置３は、コンテンツ蓄積配信サーバ１０が提供するサービスを利用する一方で、自身がいる場所についての情報を含むコンテンツを定期的もしくは不定期的にコンテンツ蓄積配信サーバ１０にアップロードする。ここでいうコンテンツは、写真、動画、音声、利用者自身が記入した文字情報、ＧＰＳなど場所を特定するデバイスによる場所情報などがある。
【００２４】
また利用者装置３は、任意のタイミングで任意のブロックについてコンテンツ蓄積配信システム１にリクエストして、該ブロックについてのコンテンツを得ることができる。たとえば利用者装置３が移動中であるときに、利用者装置３は該移動の目的地をコンテンツ蓄積配信システム１にリクエストして、該目的地についての情報、例えば目的地の天候、交通状況などについての情報を、動画や音声などを利用したマルチメディア情報を含むコンテンツによって得ることができる。
【００２５】
コンテンツ蓄積配信システム１は、様々な場所に存在する多くの利用者装置３が発信したコンテンツを、コンテンツ蓄積配信サーバ１０に蓄積して利用者装置３に提供することによって成立する。利用者装置３からリクエストが送信されるコンテンツ蓄積配信サーバ１０は、利用者装置３が現在いるブロックを管理するコンテンツ蓄積配信サーバ１０である。ブロックが携帯電話、ＰＨＳなどのような既存の無線通信網の基地局と関連がある場合は、コンテンツ蓄積配信サーバ１０はリクエストがどのブロックから送信されてきたかを容易に判別することができる。
【００２６】
図２は図１で開示したコンテンツ蓄積配信サーバ１０の構成を示すブロック図である。コンテンツ蓄積配信サーバ１０は、主制御部１１と、プッシュリクエストリストデータベース１５と、コピー先リストデータベース１６と、コンテンツデータベース１７と、サーバ情報データベース１８と、ネットワークインターフェイス１９とを有する。主制御部１１は、ＣＰＵ、ＲＡＭ、およびＯＳなどで構成されたコンピュータの主要部であり、その上で動作するプログラムとして構成された送受信部１２、確率計算部１３、コンテンツ管理部１４、確率計算タイマ２０、およびカウント記憶部２１を実行することができる。
【００２７】
送受信部１２は、ネットワークインターフェイス１９を介して、利用者装置３または他のコンテンツ蓄積配信サーバ１０からのメッセージを受信し、コンテンツ管理部１４へメッセージを転送する。またコンテンツ管理部１４または確率計算部１３からのメッセージを利用者装置３または他のコンテンツ蓄積配信サーバ１０へ送信する。
【００２８】
コンテンツ管理部１４は、送受信部１２から受け取ったメッセージを処理する。コンテンツ管理部１４は利用者装置３との間でコンテンツリクエスト、コンテンツレスポンス、コンテンツアップロードメッセージを送受信する。またコンテンツ管理部１４は他のコンテンツ蓄積配信サーバ１０との間でコンテンツ転送リクエスト、コンテンツ転送レスポンス、コンテンツプッシュリクエスト、コンテンツプッシュレスポンスを送受信する。
【００２９】
ここで、コンテンツ管理部１４が送受信する各種のリクエスト、レスポンスおよびメッセージの種類について説明する。
【００３０】
コンテンツリクエストは、利用者装置３からコンテンツ蓄積配信サーバ１０に送られるものであり、利用者の情報及び利用者がコンテンツを得ようとしているブロックのブロック情報が含まれる。また該ブロックの特定の日時における情報を得たい場合、該日時をコンテンツリクエストに含めることもできる。なお、特定のブロックについてのコンテンツの配信をリクエストすることを、以後ブロックをリクエストするという。
【００３１】
コンテンツレスポンスは、コンテンツリクエストに反応してコンテンツ蓄積配信サーバ１０が利用者装置３に返送するものであり、該コンテンツリクエストを送信した利用者の情報と、該コンテンツリクエストによって要求されたコンテンツが含まれる。
【００３２】
コンテンツアップロードは、利用者装置３からコンテンツ蓄積配信サーバ１０にコンテンツをアップロードするものであり、コンテンツをアップロードしようとする利用者の情報と、該利用者がアップロードする該コンテンツが含まれる。
【００３３】
コンテンツ転送リクエストは、コンテンツ蓄積配信サーバ１０が他のコンテンツ蓄積配信サーバ１０に送信するものであり、送信元のコンテンツ蓄積配信サーバ１０の情報、送信先のコンテンツ蓄積配信サーバ１０の情報、転送を要求するコンテンツのブロック情報が含まれる。また該ブロックの特定の日時における情報を得たい場合、該日時をコンテンツ転送リクエストに含めることもできる。
【００３４】
コンテンツ転送レスポンスは、他のコンテンツ蓄積配信サーバ１０からコンテンツ転送リクエストを受けたコンテンツ蓄積配信サーバ１０が、該コンテンツ転送リクエストに反応して返送するものであり、送信元のコンテンツ蓄積配信サーバ１０の情報、送信先のコンテンツ蓄積配信サーバ１０の情報、該コンテンツ転送リクエストにおいて要求されたコンテンツが含まれる。
【００３５】
コンテンツプッシュリクエストは、コンテンツ蓄積配信サーバ１０が他のコンテンツ蓄積配信サーバ１０に送信するものであり、送信元のコンテンツ蓄積配信サーバ１０の情報、送信先のコンテンツ蓄積配信サーバ１０の情報、および送信元のコンテンツ蓄積配信サーバ１０が管理するブロックのコンテンツの中で、変化があった場合にそのコンテンツのコピーを送信してもらいたいブロック情報が含まれる。
【００３６】
コンテンツプッシュレスポンスには、他のコンテンツ蓄積配信サーバ１０からコンテンツプッシュリクエストを受けたコンテンツ蓄積配信サーバ１０が、該コンテンツプッシュリクエストに反応して返送するものであり、送信元のコンテンツ蓄積配信サーバ１０の情報、送信先のコンテンツ蓄積配信サーバ１０の情報、および該コンテンツプッシュリクエストで指定されたブロックのコンテンツが含まれる。
【００３７】
コンテンツ管理部１４は、利用者装置３からコンテンツリクエストを受信し、コンテンツデータベース１７内にリクエストされたコンテンツがあるかを検索し、リクエストされたコンテンツが存在していた場合、利用者装置３へコンテンツレスポンスを返信してコンテンツを配信する。
【００３８】
コンテンツデータベース内にクエストされたコンテンツが存在していなかった場合、コンテンツ管理部１４はサーバ情報データベース１８を参照してリクエストされたコンテンツのブロックを管理するコンテンツ蓄積配信サーバ１０の情報を取得し、リクエストされたコンテンツのブロックに関するコンテンツを転送するよう依頼するコンテンツ転送リクエストを作成し、コンテンツ転送リクエストを送受信部１２へ送信する。さらにブロックごとのリクエストされた数をカウント記憶部２１に記憶する。
【００３９】
コンテンツ管理部１４は、利用者からコンテンツアップロードを受信した場合、コンテンツデータベース１７にアップロードされたコンテンツを登録する。さらにコピー先リストデータベース１６を参照し、コンテンツがアップロードされたブロックがコピー先リストデータベース１６に含まれていた場合、アップロードされたコンテンツをコピー先リストに存在するコンテンツ蓄積配信サーバ１０へコンテンツを転送するため、コンテンツプッシュレスポンスを作成し、コンテンツプッシュリクエストを送受信部１２へ送信する。
【００４０】
コンテンツ管理部１４は、他のコンテンツ蓄積配信サーバ１０からコンテンツ転送リクエストを受信した場合、コンテンツデータベース１７内を検索し、リクエストされたブロックのコンテンツを含むコンテンツ転送レスポンスを作成し、コンテンツ転送レスポンスを送受信部１２へ送信する。
【００４１】
コンテンツ管理部１４は、他のコンテンツ蓄積配信サーバ１０からコンテンツ転送レスポンスを受信した場合、コンテンツデータベース１７にコンテンツ転送レスポンスに含まれていたコンテンツを登録する。さらにコンテンツ転送レスポンスに含まれていたコンテンツを含むコンテンツレスポンスを作成し、コンテンツリクエストを送信した利用者装置３にコンテンツを配信するため、コンテンツレスポンスを送受信部１２へ送信する。
【００４２】
コンテンツ管理部１４は、他のコンテンツ蓄積配信サーバからコンテンツプッシュリクエストを受信した場合、コンテンツプッシュリクエストに含まれるブロック情報及びメッセージ送信元のコンテンツ蓄積配信サーバ１０の情報をリストにして、コピー先リストデータベース１６を登録する。
【００４３】
コンテンツ管理部１４は、他のコンテンツ蓄積配信サーバからコンテンツプッシュレスポンスを受信した場合、コンテンツデータベース１７にコンテンツを登録する。確率計算部１３の動作については後述する。確率計算タイマ２０は、一定の周期で確率計算部１３に対して割り込みを発生させる。
【００４４】
図３は、図２に開示したコピー先リストデータベース１６のデータ構成を示す概念図である。コピー先リストデータベース１６は、自らのコンテンツ蓄積配信サーバ１０が管理するブロック１０１毎に、該ブロックでコンテンツに更新があった場合にコンテンツ蓄積配信サーバ１０へコピーを転送するコピー先１０２が記載されている。図３の例では、「ブロックａ１／１のコンテンツが更新されたら、該コンテンツをＳ２に転送する」「ブロックａ１／２のコンテンツが更新されたら、該コンテンツをＳ２およびＳ３に転送する」などのような内容がコピー先リストデータベース１６に記録されている。コピー先１０２には、コピーの転送先となるコンテンツ蓄積配信サーバ１０のサーバ名、サーバのＩＰアドレス、ポート番号なども含まれる。
【００４５】
図４は、図２に開示したプッシュリクエストリストデータベース１５のデータ構成を示す概念図である。プッシュリクエストリストデータベース１５はリクエストされたブロック１１１、ブロック１１１を管理するコンテンツ蓄積配信サーバ１０を表すサーバ１１２、および該コンテンツが単位時間内にリクエストされる確率であるリクエスト確率１１３が記載されている。図４の例では、「サーバＳ２から転送されたブロックａ２／１がリクエストされる確率がＰ１２１である」などのような内容がプッシュリクエストリストデータベース１５に記録されている。
【００４６】
また、プッシュリクエストリストデータベース１５において、リクエスト確率１１３は直近の期間における数値だけではなく、過去にさかのぼって確率の数値を参照することや、特定の時間帯、日付、曜日などの条件を指定して確率の数値を参照することも可能である。さらに、条件を指定して得られたリクエスト確率１１３に基づいて、レコードをソートすることも可能である。サーバ１１２には、ブロック１１１を管理するコンテンツ蓄積配信サーバ１０のサーバ名、サーバのＩＰアドレス、ポート番号なども含まれる。
【００４７】
図５は、図２に開示したコンテンツデータベース１７のデータ構成を示す概念図である。コンテンツデータベース１７は、自らのコンテンツ蓄積配信サーバ１０が管理するブロック１２１毎に、コンテンツが作成された場所情報１２２、向き１２３、日時１２４、コンテンツ種類１２５などの情報と、該コンテンツ１２６（コンテンツ蓄積配信サーバ１０内部でのファイル名、ディレクトリ名など）を保持する。
【００４８】
図６は、図２に開示したサーバ情報データベース１８のデータ構成を示す概念図である。サーバ情報データベース１８は、各々のコンテンツ蓄積配信サーバ１０を表すサーバ１３１と、各々のサーバ１１２に属するブロック１３２、および各々のサーバ１１２のＩＰアドレス・ポート番号１３３などの情報を保持する。
【００４９】
確率計算部１３は、確率計算タイマ２０が定期的に発生する割り込みを受けると、ブロック１１１ごとのリクエストされた数をカウント記憶部２１から読み込み、ブロック１１１ごとに単位時間あたりのリクエスト確率を計算し、その計算結果をプッシュリクエストリストデータベース１５にリクエスト確率１１３として登録する。
【００５０】
例えばコンテンツ蓄積配信サーバ１０の一つであるＳｌにおいて、ある時間中にリクエ ストされた総数をＡｌとし、Ｓｍが管理するブロックの一つであるａｍ／ｎがリクエストされた回数をｃｍ／ｎとした場合、ブロックａｍ／ｎがＳｌにおいてリクエストされる確率Ｐｌｍｎは数１で表すことができる。
【００５１】
【数１】
2009070153.tif 000003
【００５２】
また、プッシュリクエストリストデータベース１５が確率Ｐｌｍｎの過去１年以上の計算履歴を保存している場合、確率計算部１３は時間、曜日、日付、祝日などでプッシュリクエストリストデータベース１５をソートし、確率Ｐｌｍｎの計算時に利用することもできる。例えばＳｌにおいて、ある時間中にリクエストされた総数をＡｌ、１年前の同時刻中にリクエストされた総数をＡｌ（−１）、ブロックａｍ／ｎがリクエストされた回数をｃｍ／ｎ、１年前にブロックａｍ／ｎがリクエストされた回数をｃｍ／ｎ（−１）とした場合、ブロックａｍ／ｎがＳｌにおいてリクエストされる確率Ｐｌｍｎは数２で表すことができる。
【００５３】
【数２】
2009070153.tif 000004
【００５４】
確率計算部１３は、確率計算タイマ２０から定期的に発生される割り込みを受けると、プッシュリクエストリストデータベース１５をチェックし、リクエスト確率１１３（Ｐｌｍｎ）が特定の閾値Ｔ１を越えているブロック１１１があれば、該ブロックを管理するサーバ１１２宛てにコンテンツプッシュリクエストのメッセージを作成し、送受信部１２を介して送信する。ここでＴ１はサーバＳｌおよびＳｌの接続されるネットワークの能力で決定される閾値である。Ｓｌおよびネットワークの能力が、多数のコンテンツを配信することに対して余裕があれば、Ｔ１の値を小さくして、多くのコンテンツを予めコンテンツデータベース１７に準備しておくようにできる。
【００５５】
利用者からのリクエストの傾向を考慮すると、利用者個々人の背景に関係なく、リクエストが送信される場所とリクエストされるブロックの間に一定の相関があることが考えられる。たとえば利用者自身のすぐ近くの情報や、多少離れた場所であっても人気のある観光地などについての情報について、リクエストが多いことが容易に予想される。さらに、リクエストの多いブロックには、既にそこに行っている利用者も多くいて、多くのコンテンツが利用者装置３から頻繁にアップロードされることが期待できる。
【００５６】
コンテンツ蓄積配信サーバ１０は、確率計算部１３を利用して、確率によって利用者の傾向を予測し、予め利用者がリクエストしそうなコンテンツを自らの中に用意しておくことができる。これによって、利用者からのリクエストに対し、該コンテンツを即時に配信できるようにすることができる。
【００５７】
その際、たとえば夏期における海水浴場、冬期におけるスキー場、年始における神社仏閣など、特定の季節や時期において特にリクエストの多いブロックがあることも容易に予想される。数２のように、前年の同時期のリクエスト回数を利用して確率を算出すれば、そのような場合にリクエストの多くなるブロックのコンテンツを容易に準備することができる。
【００５８】
図７は、利用者装置３からコンテンツリクエストを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。動作を開始すると、まず送受信部１２が利用者装置３もしくは他のコンテンツ蓄積配信サーバ１０からの通信を待つ状態（以後アイドル状態という）となる（Ｓ２００）。
【００５９】
利用者装置３からコンテンツリクエストを受信すると（Ｓ２０１）、送受信部１２から通知を受けたコンテンツ管理部１４が該リクエストのあったコンテンツをコンテンツデータベース１７から検索する（Ｓ２０２）。コンテンツデータベース１７に該コンテンツが存在すれば（Ｓ２０３：ＹＥＳ）、コンテンツレスポンスで該コンテンツを配信し（Ｓ２０４）、再びアイドル状態に戻る（Ｓ２０８）。
【００６０】
コンテンツデータベース１７に該コンテンツが存在しなければ（Ｓ２０３：ＮＯ）、該コンテンツがリクエストされたブロックについて、コンテンツ管理部１４がリクエスト数をカウントアップして、カウント記憶部２１に記憶する（Ｓ２０５）。そしてコンテンツ管理部１４がサーバ情報データベース１８を検索して該コンテンツを管理するコンテンツ蓄積配信サーバ１０の情報を得たら（Ｓ２０６）、該サーバにコンテンツ転送リクエストを送信し（Ｓ２０７）、再びアイドル状態に戻る（Ｓ２０８）。
【００６１】
図８は、利用者装置３からコンテンツアップロードを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。アイドル状態の送受信部１２（Ｓ２１０）がコンテンツアップロードを受信すると（Ｓ２１１）、コンテンツ管理部１４は受信したコンテンツアップロードに含まれるコンテンツ及びコンテンツ情報を、コンテンツデータベース１７に登録する（Ｓ２１２）。次にコンテンツ管理部１４は、該コンテンツアップロードの送信元ブロック１０１が、コピー先リストデータベース１６に含まれているか否かを検索する（Ｓ２１３）。
【００６２】
送信元ブロックがコピー先リストデータベース１６に含まれていれば（Ｓ２１４：ＹＥＳ）、コピー先リストデータベース１６に記載されているコピー先１０２に該当するコンテンツ蓄積配信サーバ１０に、該コンテンツのコンテンツプッシュレスポンスを送信して（Ｓ２１５）、アイドル状態に戻る（Ｓ２１６）。送信元ブロックがコピー先リストデータベース１６に含まれていなければ（Ｓ２１４：ＮＯ）、そのままアイドル状態に戻る（Ｓ２１６）。
【００６３】
図９は、他のコンテンツ蓄積配信サーバ１０からコンテンツ転送リクエストを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。アイドル状態の送受信部１２（Ｓ２２０）がコンテンツ転送リクエストを受信すると（Ｓ２２１）、コンテンツ管理部１４はリクエストされたブロックのコンテンツについてコンテンツデータベース１７を検索し（Ｓ２２２）、検索して発見したコンテンツを含むコンテンツ転送レスポンスを該コンテンツ転送リクエストの送信元のコンテンツ蓄積配信サーバ１０に対して送信し（Ｓ２２３）、アイドル状態に戻る（Ｓ２２４）。
【００６４】
図１０は、他のコンテンツ蓄積配信サーバ１０からコンテンツ転送レスポンスを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。アイドル状態の送受信部１２（Ｓ２３０）がコンテンツ転送レスポンスを受信すると（Ｓ２３１）、コンテンツ管理部１４は転送されてきたコンテンツ１２６および該コンテンツに付属する場所情報１２２、向き１２３、日時１２４、コンテンツ種類１２５などのコンテンツ情報を、コンテンツデータベース１７に登録する（Ｓ２３２）。
【００６５】
そして図７のＳ２０１で該コンテンツをリクエストした利用者装置３に、該コンテンツを含むコンテンツレスポンスを送信し（Ｓ２３３）、アイドル状態に戻る（Ｓ２３４）。これで、Ｓ２０３でコンテンツデータベース１７に該コンテンツが存在しない（ＮＯ）場合についても、他サーバとのコンテンツ転送リクエストおよびコンテンツ転送レスポンスのやりとりを経て、利用者装置３に該コンテンツが配信されたことになる。
【００６６】
図１１は、他のコンテンツ蓄積配信サーバ１０からコンテンツプッシュリクエストを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。アイドル状態の送受信部１２（Ｓ２４０）がコンテンツプッシュリクエストを受信すると（Ｓ２４１）、コンテンツ管理部１４は該コンテンツプッシュリクエストに含まれるブロック１０１とコピー先１０２をコピー先リストデータベース１６に登録し（Ｓ２４２）、アイドル状態に戻る（Ｓ２４３）。
【００６７】
図１２は、他のコンテンツ蓄積配信サーバ１０からコンテンツプッシュレスポンスを受信した場合の、図２に開示したコンテンツ管理部１４の動作を示すフローチャートである。アイドル状態の送受信部１２（Ｓ２５０）がコンテンツプッシュレスポンスを受信すると（Ｓ２５１）、コンテンツ管理部１４は該コンテンツプッシュレスポンスに含まれるコンテンツ１２６および該コンテンツに付属する場所情報１２２、向き１２３、日時１２４、コンテンツ種類１２５などのコンテンツ情報を、コンテンツデータベース１７に登録し（Ｓ２５２）、アイドル状態に戻る（Ｓ２５３）。
【００６８】
図１３は、確率計算タイマ２０から割り込みを受けた場合の、図２に開示した確率計算部１３の動作を示すフローチャートである。アイドル状態の確率計算部１３（Ｓ３００）が割り込みを受けると（Ｓ３０１）、Ｓ２０５でカウント記憶部２１に記憶されたリクエスト数によって、ブロック毎のリクエスト確率Ｐｌｍｎを計算し（Ｓ３０２）、計算された確率でプッシュリクエストリストデータベース１５のリクエスト確率１１３を更新する（Ｓ３０３）。
【００６９】
次に確率計算部１３は、プッシュリクエストリストデータベース１５で更新されたリクエスト確率１１３について、各々が閾値Ｔ１を越えるか否かを判定し、閾値Ｔ１を越えたブロックについては、そのブロックを管理するサーバに対してコンテンツプッシュリクエストを送信する（Ｓ３０４）。以上の処理が終わったら、確率計算部１３は確率計算タイマ２０を次回起動させる日時をセットし、カウント記憶部２１をリセットし（Ｓ３０５）、アイドル状態に戻る（Ｓ３０６）。
【００７０】
図１３に示した処理によって、閾値Ｔ１を越えたコンテンツについてコンテンツプッシュリクエストが送信され、これによってコンテンツ蓄積配信サーバ１０は、リクエストの多いコンテンツを自らの中に用意しておくことができる。このとき、従来閾値Ｔ１を越えていたのが、今回の更新（Ｓ３０３）によって閾値Ｔ１を越えなくなったブロックがあれば、Ｓ３０４で送信されるコンテンツプッシュリクエストに該ブロックのコンテンツのコピー送信を解除させるリクエストを含めてもよい。
【００７１】
なお、図７〜１３で説明したフローチャートに係る各ステップの動作内容は、コンテンツ蓄積配信サーバ１０があらかじめ備えるコンピュータ（主制御部１１）で動作するプログラムとして実行させるように構成することができる。
【００７２】
本実施の形態は、以上で説明したように、コンテンツが発信されたブロックおよびコンテンツがリクエストされるブロックのみによって、コンテンツ蓄積配信サーバ１０はリクエスト確率１１３の多いコンテンツをあらかじめコンテンツデータベース１７に準備するようにしている。このため、利用者の人数がたとえば数千万〜数億程度にまで増加したとしても、個々の利用者に対して移動経路や嗜好などを予測するための膨大な計算量を要する処理を行わなくてもよいので、現実的な設備容量で利用者への大容量データの配信を効率的に提供することが可能なコンテンツ蓄積配信システムを提供することができる。
【００７３】
さらに、ブロックごとのコンテンツは、利用者装置から位置情報と共にコンテンツ蓄積配信サーバ１０にアップロードされるので、膨大な数の定点観察機器を必要とせずに、広い地域にわたって状況を観察可能とすることができる。利用者の人数が増大すればするほど、より観察可能な地点が増加するので、より有用なコンテンツ蓄積配信システムを提供することができる。
【００７４】
なお、コンテンツ蓄積配信サーバ１０は、１台のコンピュータ装置で構成されるものに限定されず、たとえば分散ディレクトリシステムなどによって複数のコンピュータ装置で仮想的に１台のサーバを構成するものであってもよい。
【００７５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【００７６】
コンテンツを配信するデータ通信システムにおいて使用可能である。
【図面の簡単な説明】
【００７７】
【図１】本発明に係るコンテンツ蓄積配信システムのネットワーク構成を示す概念図である。
【図２】図１で開示したコンテンツ蓄積配信サーバの構成を示すブロック図である。
【図３】図２に開示したコピー先リストデータベースのデータ構成を示す概念図である。
【図４】図２に開示したプッシュリクエストリストデータベースのデータ構成を示す概念図である。
【図５】図２に開示したコンテンツデータベースのデータ構成を示す概念図である。
【図６】図２に開示したサーバ情報データベースのデータ構成を示す概念図である。
【図７】利用者装置からコンテンツリクエストを受信した場合の、コンテンツ管理部の動作を示すフローチャートである。
【図８】利用者装置からコンテンツアップロードを受信した場合の、コンテンツ管理部の動作を示すフローチャートである。
【図９】他のコンテンツ蓄積配信サーバからコンテンツ転送リクエストを受信した場合の、図２に開示したコンテンツ管理部の動作を示すフローチャートである。
【図１０】他のコンテンツ蓄積配信サーバからコンテンツ転送レスポンスを受信した場合の、図２に開示したコンテンツ管理部の動作を示すフローチャートである。
【図１１】他のコンテンツ蓄積配信サーバからコンテンツプッシュリクエストを受信した場合の、図２に開示したコンテンツ管理部の動作を示すフローチャートである。
【図１２】他のコンテンツ蓄積配信サーバからコンテンツプッシュレスポンスを受信した場合の、図２に開示したコンテンツ管理部の動作を示すフローチャートである。
【図１３】確率計算タイマから割り込みを受けた場合の、図２に開示した確率計算部の動作を示すフローチャートである。
【符号の説明】
【００７８】
１  コンテンツ蓄積配信システム
３  利用者装置
１０  コンテンツ蓄積配信サーバ
１１  主制御部
１２  送受信部
１３  確率計算部
１４  コンテンツ管理部
１５  プッシュリクエストリストデータベース
１６  コピー先リストデータベース
１７  コンテンツデータベース
１８  サーバ情報データベース
１９  ネットワークインターフェイス
２０  確率計算タイマ
２１  カウント記憶部
【図１】
2009070153.tif 000005
【図２】
2009070153.tif 000006
【図３】
2009070153.tif 000007
【図４】
2009070153.tif 000008
【図５】
2009070153.tif 000009
【図６】
2009070153.tif 000010
【図７】
2009070153.tif 000011
【図８】
2009070153.tif 000012
【図９】
2009070153.tif 000013
【図１０】
2009070153.tif 000014
【図１１】
2009070153.tif 000015
【図１２】
2009070153.tif 000016
【図１３】
2009070153.tif 000017