(57)【要約】【課題】情報処理装置からノード装置へのコンテンツデータの投入処理を短縮する。【解決手段】情報処理装置は、配信指示が受け付けられたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。また、情報処理装置は、生成された分割コンテンツデータそれぞれを識別するための識別情報を生成する。情報処理装置は、まず、配信指示が受け付けられたコンテンツデータの最初の分割コンテンツデータと最初の分割コンテンツデータの識別情報とをノード装置へ送信する。【選択図】図２
2011034361.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付手段と、
前記指示受付手段により配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段と、
前記分割処理手段により生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成手段と、
前記複数のコンテンツデータの夫々において、前記分割処理手段により最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記分割処理手段は、分割すべき前記コンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割処理手段により分割すべき前記コンテンツデータが複数ある場合に、前記分割処理手段による分割処理を優先させるコンテンツデータを決定する決定手段を備え、
前記分割処理手段は、前記決定手段による決定に基づいて、前記コンテンツデータの分割処理を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ノード装置により前記コンテンツデータの要求を取得する要求受付手段を備え、
前記決定手段は、前記複数のコンテンツデータのうち、前記要求受付手段により受け付けた要求のタイミングが早いコンテンツデータを、前記優先させるコンテンツデータとして決定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記決定手段は、前記分割処理を優先させるコンテンツデータの決定を、前記分割コンテンツデータ単位で行うことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記複数のノード装置のいずれかのノード装置により要求された前記分割コンテンツデータの要求を取得する要求受付手段を備え、
前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、次に前記分割処理手段により分割されるセグメント位置と前記ノード装置が要求する分割コンテンツデータのセグメント位置とが近いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、セグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、前記最初の分割コンテンツデータを前記ノード装置に送信した日時が古いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段と、
前記分割コンテンツデータのハッシュ値を前記ノード装置へ送信するハッシュ値送信手段と、を備え、
前記ハッシュ値演算手段は、前記分割処理手段によって一つのセグメントの分割コンテンツデータが生成されるごとに順次、当該生成した分割コンテンツデータのハッシュ値を演算し、
前記ハッシュ値送信手段は、前記ハッシュ値演算手段によって一つのセグメントの分割コンテンツデータのハッシュ値を演算するごとに順次、当該演算したハッシュ値を前記ノード装置へ送信することを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、
前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、
前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、
前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信ステップと、
を有することを特徴とする情報処理装置の情報処理方法。
【請求項１１】
コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、
前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、
前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、
前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信ステップと、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してノード装置にコンテンツデータを送信する情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークの普及により、ネットワークを介して、端末装置などのノード装置へ、音楽、映画、トーク番組などコンテンツのデータ（以下、「コンテンツデータ」という）を配信するコンテンツ配信サービスが人気となっている。
【０００３】
コンテンツデータの配信形態として、クライアント−サーバ方式が主流形態である。しかし、クライアント−サーバ方式では、アクセスが集中するとサーバやネットワーク回線が負荷に耐えられなくなるという問題がある。
【０００４】
そこで、クライアント−サーバ方式に代わる新しい配信形態としてＰ２Ｐ（Peer to Peer）を用いた配信方式が注目されている（例えば、特許文献１参照）。
【０００５】
この種の配信方式では、複数のノード装置がネットワークを介して接続される。そして、ノード装置間で双方向での通信が可能なオーバーレイネットワークが構築される。各ノード装置内のストレージに、それぞれ様々なコンテンツデータを記憶させておくことにより、複数のノード装置のストレージ群からなる巨大なストレージが仮想的に構築される。これにより、各ノード装置は、ノード装置間での通信により所望のコンテンツデータを、コンテンツデータを保持している他のノード装置から取得することが可能となる。
【０００６】
ノード装置間で送受信を行うコンテンツデータは、サービス管理者側の情報処理装置からストレージ群を形成するいずれかのノード装置に対して配信される。そして、配信されたコンテンツデータがノード装置に記憶される。なお、以下、コンテンツデータを送信することを、「コンテンツデータを投入する」という場合がある。
【０００７】
情報処理装置からコンテンツデータが投入されると、そのコンテンツデータがノード装置間での通信により送受信可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３３５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一般に、音楽や映画などの動画を含むコンテンツデータは、データ容量が大きい。そのため、このようなコンテンツデータを情報処理装置からノード装置へ投入する場合、その投入処理に時間がかかる。
【００１０】
コンテンツデータの投入時期が決まっているような場合に、同時期に投入しなければならないコンテンツデータが多いと、その投入時期までにコンテンツデータをノード装置へ投入できない恐れがある。
【００１１】
そこで、本発明は、ノード装置へのコンテンツデータの投入処理を短縮することができる情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付手段と、前記指示受付手段により配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段と、前記分割処理手段により生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成手段と、前記複数のコンテンツデータの夫々において、前記分割処理手段により最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信手段と、を備えることを特徴とする情報処理装置とした。
【００１３】
また、請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記分割処理手段は、分割すべき前記コンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成することを特徴とする。
【００１４】
また、請求項３に記載の発明は、請求項２に記載の情報処理装置において、前記分割処理手段により分割すべき前記コンテンツデータが複数ある場合に、前記分割処理手段による分割処理を優先させるコンテンツデータを決定する決定手段を備え、前記分割処理手段は、前記決定手段による決定に基づいて、前記コンテンツデータの分割処理を行うことを特徴とする。
【００１５】
また、請求項４に記載の発明は、請求項３に記載の情報処理装置において、前記ノード装置により前記コンテンツデータの要求を取得する要求受付手段を備え、前記決定手段は、前記複数のコンテンツデータのうち、前記要求受付手段により受け付けた要求のタイミングが早いコンテンツデータを、前記優先させるコンテンツデータとして決定することを特徴とする。
【００１６】
また、請求項５に記載の発明は、請求項３に記載の情報処理装置において、前記決定手段は、前記分割処理を優先させるコンテンツデータの決定を、前記分割コンテンツデータ単位で行うことを特徴とする。
【００１７】
また、請求項６に記載の発明は、請求項５に記載の情報処理装置において、前記複数のノード装置のいずれかのノード装置により要求された前記分割コンテンツデータの要求を取得する要求受付手段を備え、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、次に前記分割処理手段により分割されるセグメント位置と前記ノード装置が要求する分割コンテンツデータのセグメント位置とが近いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
【００１８】
また、請求項７に記載の発明は、請求項６に記載の情報処理装置において、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、セグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
【００１９】
また、請求項８に記載の発明は、請求項６に記載の情報処理装置において、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、前記最初の分割コンテンツデータを前記ノード装置に送信した日時が古いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
【００２０】
また、請求項９に記載の発明は、請求項１〜８のいずれか１項に記載の情報処理装置において、前記分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段と、前記分割コンテンツデータのハッシュ値を前記ノード装置へ送信するハッシュ値送信手段と、を備え、前記ハッシュ値演算手段は、前記分割処理手段によって一つのセグメントの分割コンテンツデータが生成されるごとに順次、当該生成した分割コンテンツデータのハッシュ値を演算し、前記ハッシュ値送信手段は、前記ハッシュ値演算手段によって一つのセグメントの分割コンテンツデータのハッシュ値を演算するごとに順次、当該演算したハッシュ値を前記ノード装置へ送信することを特徴とする。
【００２１】
また、請求項１０に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信処理ステップと、を有することを特徴とする情報処理装置の情報処理方法とした。
【００２２】
また、請求項１１に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも１以上のノード装置に送信するための、１以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信処理ステップと、をコンピュータに実現させるためのプログラムとした。
【発明の効果】
【００２３】
本発明によれば、配信指示を受け付けたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成し、各分割コンテンツデータそれぞれを識別するための識別情報を生成する。そして、最初の分割コンテンツデータとこの分割コンテンツデータの識別情報とをノード装置へ送信するので、ノード装置へのコンテンツデータの投入処理を短縮することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係るコンテンツ配信システムの全体的な構成を示す図である。
【図２】第１実施形態のコンテンツデータ分割処理のタイミングを説明する図である。
【図３】第１実施形態のコンテンツデータ分割処理のタイミングを説明する図である。
【図４】第１実施形態のコンテンツデータ分割処理のタイミングを説明する図である。
【図５】情報処理装置の構成を示す図である。
【図６】情報処理装置の処理の流れを示すフローチャートである。
【図７】情報処理装置の処理の流れを示すフローチャートである。
【図８】配信サーバの構成を示す図である。
【図９】配信サーバの処理の流れを示すフローチャートである。
【図１０】第２実施形態のコンテンツデータ分割処理のタイミングを説明する図である。
【発明を実施するための形態】
【００２５】
［１．第１実施形態］
［１．１．コンテンツ配信システムＳの構成等］
まず始めに、図１を参照して、本発明の一実施形態におけるコンテンツ配信システムの概要について説明する。本実施形態のコンテンツ配信システムＳは、音楽、映画、トーク番組、文書などのコンテンツのデータ（以下、「コンテンツデータ」という）を配信するためのシステムである。
【００２６】
図１に示すように、本実施形態のコンテンツ配信システムＳは、情報処理装置１と、複数の配信サーバ２（ノード装置の一例）とを含む。これらの装置は、インターネットなどのネットワークを介して互いに通信可能となっている。複数の配信サーバ２は互いにデータを送受信するオーバーレイネットワークであるＰ２ＰネットワークＮを構成する。配信サーバ２には固有の識別情報（以下、「サーバＩＤ」とする）がそれぞれ割り当てられている。このサーバＩＤは、例えば、装置のＭＡＣアドレス又はＩＰアドレスを所定のハッシュ関数でハッシュ化して生成される。サーバＩＤは、例えば、３２桁の２進数で表現される。
【００２７】
コンテンツ配信システムＳでは、情報処理装置１から投入されたコンテンツデータが各配信サーバ２において記憶される。各配信サーバ２は、図示しない端末装置から要求に応じてコンテンツデータを送信する。
【００２８】
情報処理装置１は、コンテンツデータを配信サーバ２へ投入するとき、このコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。なお、以下においては、投入されるコンテンツデータを「投入コンテンツデータ」という。
【００２９】
情報処理装置１は、投入コンテンツデータにおいて最初に分割すべきセグメントの分割処理が完了すると、この分割処理により生成した分割コンテンツデータ（以下、「最初の分割コンテンツデータ」という）を所定のハッシュ関数でハッシュ化する。また、情報処理装置１は、投入するコンテンツデータ固有の識別情報であるコンテンツＩＤと、このコンテンツデータを分割した複数の分割コンテンツデータそれぞれに固有の識別情報であるキャッシュＩＤを生成する。なお、情報処理装置１は、コンテンツＩＤや全てのキャッシュＩＤを最初の分割コンテンツデータの生成を行う前に生成することもできる。また、コンテンツＩＤやキャッシュＩＤは、例えば、３２桁の２進数で表現される。
【００３０】
情報処理装置１は、投入コンテンツデータのコンテンツＩＤを各配信サーバ２へ送信する。これにより、各配信サーバ２は、新たなに投入されたコンテンツデータがあることを把握することができる。また、情報処理装置１は、最初の分割コンテンツデータのハッシュ値とキャッシュＩＤとを各配信サーバ２へ送信する。
【００３１】
投入コンテンツデータを取得しようとする配信サーバ２は、コンテンツＩＤに基づき、投入コンテンツデータのコンテンツ構成情報を記憶している配信サーバ２（以下、「第１ホルダノード」ともいう）を検索する。コンテンツ構成情報とは、投入コンテンツデータのコンテンツＩＤと全てのキャッシュＩＤとを含む情報である。なお、このように投入コンテンツデータのコンテンツ構成情報を取得しようとする配信サーバ２を「第１リクエスタ」ともいう。
【００３２】
本実施形態では、コンテンツＩＤに最も近いサーバＩＤがそのコンテンツＩＤのコンテンツ構成情報を記憶する第１ホルダノードの所在情報（例えば、ＩＰアドレス）を記憶している配信サーバ２（以下、「第１ルートノード」ともいう）とする。
【００３３】
情報処理装置１からいずれの配信サーバ２もコンテンツ構成情報を取得していないときには、コンテンツ構成情報を記憶する第１ホルダノードは存在せず、コンテンツ構成情報の第１ルートノードも第１ホルダノードの所在情報を記憶していない。従って、投入コンテンツデータのコンテンツ構成情報を最初に検索した配信サーバ２は、他の配信サーバ２からコンテンツ構成情報を取得できず、情報処理装置１へ投入コンテンツデータのコンテンツ構成情報の送信要求を行う。
【００３４】
情報処理装置１は、第１リクエスタである配信サーバ２から、投入コンテンツデータのコンテンツ構成情報の送信要求があると、要求された投入コンテンツデータのコンテンツ構成情報を、その投入先の第１リクエスタである配信サーバ２へ送信する。
【００３５】
配信サーバ２は、投入コンテンツデータのコンテンツ構成情報を取得すると、第１ルートノードに対して登録メッセージを送信する。この登録メッセージは、コンテンツ構成情報を取得した投入コンテンツデータのコンテンツＩＤと第１リクエスタである配信サーバ２の所在情報を含む情報である。これにより、投入コンテンツデータの第１ルートノードは、第１ホルダノードの所在情報を取得することができ、以後、第１リクエスタから要求があると第１ホルダノードの所在情報を第１リクエスタへ送信する。従って、情報処理装置１から配信サーバ２が投入コンテンツデータのコンテンツ構成情報を取得した後は、配信サーバ２同士で投入コンテンツデータのコンテンツ構成情報の送受信が行われる。但し、第１リクエスタが第１ホルダノードから投入コンテンツデータのコンテンツ構成情報を取得できないようなときには、第１リクエスタが情報処理装置１へこのコンテンツ構成情報の送信要求を行う。
【００３６】
さらに、配信サーバ２は、投入コンテンツデータのコンテンツ構成情報を取得すると、このコンテンツ構成情報に含まれる複数のキャッシュＩＤのうち最初の分割コンテンツデータのキャッシュＩＤを読み出す。そして、この配信サーバ２は、読み出したキャッシュＩＤに基づき、分割コンテンツデータを記憶している配信サーバ２（以下、「第２ホルダノード」という）を検索する。以下、このように投入コンテンツデータの分割コンテンツデータを取得しようとする配信サーバ２を、以下「第２リクエスタ」ともいう。
【００３７】
本実施形態では、キャッシュＩＤに最も近いサーバＩＤがそのキャッシュＩＤの分割コンテンツデータを記憶する第２ホルダノードの所在情報（例えば、ＩＰアドレス）を記憶している配信サーバ２（以下、「第２ルートノード」ともいう）とする。
【００３８】
情報処理装置１からいずれの配信サーバ２も最初の分割コンテンツデータを取得していないときには、最初の分割コンテンツデータを記憶する第２ホルダノードは存在せず、最初の分割コンテンツデータの第２ルートノードも第２ホルダノードの所在情報を記憶していない。従って、最初の分割コンテンツデータを最初に検索した第２リクエスタである配信サーバ２は、他の配信サーバ２から最初の分割コンテンツデータを取得できず、情報処理装置１へ投入コンテンツデータの最初の分割コンテンツデータの送信要求を行う。
【００３９】
情報処理装置１は、第２リクエスタである配信サーバ２から、投入コンテンツデータの最初の分割コンテンツデータの送信要求があると、要求された投入コンテンツデータの最初の分割コンテンツデータを、その投入先の配信サーバ２である第２リクエスタへ送信する。
【００４０】
配信サーバ２は、投入コンテンツデータの最初の分割コンテンツデータを取得すると、第２ルートノードに対して登録メッセージを送信する。この登録メッセージは、コンテンツ構成情報を取得した投入コンテンツデータのコンテンツＩＤと第２リクエスタである配信サーバ２の所在情報を含む情報である。これにより、最初の分割コンテンツデータの第２ルートノードは、第２ホルダノードの所在情報を取得することができ、以後、第２リクエスタから要求があると第２ホルダノードの所在情報を第２リクエスタへ送信する。従って、情報処理装置１から配信サーバ２が最初の分割コンテンツデータを取得した後は、配信サーバ２同士で最初の分割コンテンツデータの送受信が行われる。但し、第２リクエスタが第２ホルダノードから最初の分割コンテンツデータを取得できないようなときには、第２リクエスタが情報処理装置１へこの最初の分割コンテンツデータの送信要求を行う。
【００４１】
なお、第２リクエスタである配信サーバ２は、最初の分割コンテンツデータを取得すると、この分割コンテンツデータを情報処理装置１と同じハッシュ関数でハッシュ化する。そして、配信サーバ２は、このように演算したハッシュ値と、情報処理装置１から取得した最初の分割コンテンツデータのハッシュ値とが一致するか否かを確認する。ハッシュ値が一致すると、最初の分割コンテンツデータを正常に受信したと判定して、登録メッセージを送信する。一方、ハッシュ値が一致しないとき、最初の分割コンテンツデータが正常に受信できていないと判定して、再度最初の分割コンテンツデータを記憶する第２ホルダノードを検索する。
【００４２】
最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータも同様に、情報処理装置１からいずれかの配信サーバ２が取得した後は、配信サーバ２同士で送受信される。また、最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータのハッシュ値も同様に、キャッシュＩＤと共に各配信サーバ２へ送信され、各配信サーバ２において分割コンテンツデータが正常に受信できたか否かが判断される。
【００４３】
ここで、情報処理装置１が、コンテンツデータＡを分割して、３つの分割コンテンツデータＡ１，Ａ２，Ａ３を順次生成したとする。このとき、情報処理装置１は、コンテンツデータＡのコンテンツＩＤや各分割コンテンツデータＡ１，Ａ２，Ａ３のキャッシュＩＤも生成する。コンテンツデータＡのコンテンツＩＤは、情報処理装置１から各配信サーバ２へ送信される。各配信サーバ２は、コンテンツＩＤに基づき、分割コンテンツデータＡ１，Ａ２，Ａ３のキャッシュＩＤを取得し、このキャッシュＩＤに基づき、各分割コンテンツデータＡ１，Ａ２，Ａ３を取得する。なお、コンテンツ構成情報の情報量は少ないため、コンテンツ構成情報の送信処理時間は分割コンテンツデータの送信処理時間に比べてかなり少ない。従って、ここでは考慮しなくて良い。そのため、本実施形態では、コンテンツ構成情報の送信処理時間を無視することとする。
【００４４】
情報処理装置１は、図２に示す「配信方法１」のように、分割コンテンツデータＡ１の生成が完了すると、配信処理Ａ１として、投入先の配信サーバ２からの要求に応じて分割コンテンツデータＡ１を送信する。また、情報処理装置１は、コンテンツデータの分割処理を継続して行い、分割コンテンツデータＡ２，Ａ３を生成する。そして、情報処理装置１は、配信処理Ａ２，Ａ３として、投入先の配信サーバ２からの要求に応じて、分割コンテンツデータＡ２，Ａ３を送信する。
【００４５】
また、投入先の配信サーバ２以外の配信サーバ２は、コンテンツ構成情報に基づき、分割コンテンツデータＡ１，Ａ２，Ａ３の送信を他の配信サーバ２へ要求することになる。配信サーバ２は、他の配信サーバ２から順次要求される分割コンテンツデータＡ１，Ａ２，Ａ３を順次送信する。
【００４６】
一方、図２に示す従来の「配信方法２」では、分割コンテンツデータＡ１，Ａ２，Ａ３が生成された後に、コンテンツＩＤ及びキャッシュＩＤを送信する。従って、分割コンテンツデータＡ１，Ａ２，Ａ３が生成された後にしか、配信処理Ａ１，Ａ２，Ａ３、すなわち各分割コンテンツデータＡ１，Ａ２，Ａ３の配信が可能とならない。本実施形態の「配信方法１」は、図２に示すように、この「配信方法２」に比べ、分割コンテンツデータＡ１，Ａ２，Ａ３の投入処理を短縮することができる。
【００４７】
また、情報処理装置１は、分割コンテンツデータＡ１，Ａ２，Ａ３を生成する毎に、この生成した分割コンテンツデータを所定のハッシュ関数で演算してハッシュ値を生成する。情報処理装置１は、このように生成したハッシュ値の情報を、配信サーバ２へ送信する。配信サーバ２は、取得した各分割コンテンツデータＡ１，Ａ２，Ａ３を所定のハッシュ関数で演算してハッシュ値を求める。配信サーバ２は、演算して求めたハッシュ値と情報処理装置１から取得したハッシュ値とを比較し、同じであれば分割コンテンツデータを正常に取得したと判定する。一方、これらのハッシュ値が同じでなければ、分割コンテンツデータを正常に取得していないと判定して、再度分割コンテンツデータを取得する処理を行う。
【００４８】
このように、本実施形態の情報処理装置１では、最初の分割コンテンツデータを生成したときに、この分割コンテンツデータのキャッシュＩＤを配信サーバ２へ送信することができる。その結果、配信サーバ２は、最初の分割コンテンツデータが生成された後に、迅速にこの最初の分割コンテンツデータを取得することができ、これにより投入処理を短縮することができる。また、情報処理装置１は、分割コンテンツデータを生成する毎に、そのハッシュ値を配信サーバ２に送信することで、配信サーバ２においてコンテンツデータを正常に取得することができる。
【００４９】
その後、各配信サーバ２は、同様に、分割コンテンツデータＡ２，Ａ３のキャッシュＩＤに基づいて、投入された分割コンテンツデータＡ２，Ａ３を取得する。本実施形態では、コンテンツデータＡの投入処理が短縮されているため、配信サーバ２間で、コンテンツデータＡの送受信の開始を早めることができる。
【００５０】
ところで、情報処理装置１が行うコンテンツデータの分割処理は、同時に一つのコンテンツデータのみが行えるものである。すなわち、情報処理装置１は、複数のコンテンツデータの分割処理を行うことができない。そこで、情報処理装置１は、複数のコンテンツデータを同時期に投入する場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成する。
【００５１】
例えば、情報処理装置１は、図３に示す「配信方法１」のように、分割コンテンツデータＡ１の生成が完了すると、すぐに、分割コンテンツデータＡ１のハッシュ値を演算する。そして、情報処理装置１は、分割コンテンツデータＡ１のキャッシュＩＤ及びハッシュ値と、コンテンツデータＡのコンテンツＩＤとを各配信サーバ２へ送信する。また、投入先の配信サーバ２の要求に応じて、分割コンテンツデータＡ１，Ａ２，Ａ３のキャッシュＩＤを含むコンテンツ構成情報や分割コンテンツデータＡ１を送信する。次に、情報処理装置１は、分割コンテンツデータＢ１の生成が完了すると、すぐに、分割コンテンツデータＢ１のハッシュ値を演算する。そして、情報処理装置１は、投入先の配信サーバ２の要求に応じて、分割コンテンツデータＢ１のキャッシュＩＤ及びハッシュ値と、コンテンツデータＢのコンテンツＩＤとを配信サーバ２へ送信する。その後、分割コンテンツデータＡ２，Ｂ２，Ａ３，Ｂ３を生成していき、投入先の配信サーバ２の要求に応じて送信する。
【００５２】
一方、図３に示す従来の「配信方法２」では、分割コンテンツデータＡ１，Ａ２，Ａ３が生成された後にしか、各分割コンテンツデータＡ１，Ａ２，Ａ３の配信が可能とならない。さらに、分割コンテンツデータＢ１，Ｂ２，Ｂ３が生成された後にしか、各分割コンテンツデータＢ１，Ｂ２，Ｂ３の配信が可能とならない。このように、本実施形態の「配信方法１」は、図３に示すように、この「配信方法２」に比べ、複数の分割コンテンツデータの投入処理を短縮することができる。
【００５３】
また、分割すべきコンテンツデータが複数ある場合に、情報処理装置１は、分割処理を優先させるコンテンツデータを決定する。そして、情報処理装置１は、決定した結果に基づいて、コンテンツデータの分割処理を行う。
【００５４】
情報処理装置１は、配信を優先させるコンテンツデータとして、配信状況に応じたコンテンツデータを選択する。そして、情報処理装置１は、このように選択したコンテンツデータを優先して、分割処理を行う。例えば、情報処理装置１は、以下の（条件１），（条件２）のうちいずれかを満たすコンテンツデータを優先すべきコンテンツデータとして判定する。なお、（条件１），（条件２）は、その優先度合いを（条件１）＞（条件２）とする。
（条件１）複数のコンテンツデータのうち、次に分割するセグメント位置と配信サーバ２が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータ。但し、送信要求があった分割コンテンツデータと次に分割すべき分割コンテンツデータのセグメント位置が所定以上離れているときは対象としない。
（条件２）複数のコンテンツデータのうち、そのセグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータ。
【００５５】
例えば、情報処理装置１が、３つのコンテンツデータＡ，Ｂ，Ｃについて同時に投入処理を行う場合を考える。このとき、情報処理装置１は、図４に示すように、各コンテンツデータＡ，Ｂ，Ｃの最初の分割コンテンツデータＡ１，Ｂ１，Ｃ１を生成する。また、各コンテンツデータＡ，Ｂ，Ｃのコンテンツ構成情報を生成して、配信サーバ２の送信要求に応じて送信する。
【００５６】
ここで、コンテンツデータＢのコンテンツ構成情報を受信した配信サーバ２が、すぐに、分割コンテンツデータＢ１の送信を情報処理装置１へ要求したとする。このとき、情報処理装置１は、図４に示すように、配信サーバ２への分割コンテンツデータＢ１の送信を開始する。なお、コンテンツデータＡ，Ｃのコンテンツ構成情報を受信した配信サーバ２は、分割コンテンツデータＡ１，Ｃ１の送信要求を行っていないものとする。
【００５７】
分割コンテンツデータＣ１の生成が完了すると、情報処理装置１は、（条件１）を満たすコンテンツデータがあるか否かを判定する。このとき、分割コンテンツデータの送信要求は、コンテンツデータＢだけに行われている。従って、情報処理装置１は、（条件１）を満たすコンテンツデータがコンテンツデータＢであると判定し、分割コンテンツデータＢ２を生成する。
【００５８】
その後、コンテンツデータＣのコンテンツ構成情報を受信した配信サーバ２から分割コンテンツデータＣ１の送信要求が情報処理装置１にあったとする。このとき、情報処理装置１は、（条件１）を満たすコンテンツデータがあるか否かを判定する。分割コンテンツデータの送信要求は、コンテンツデータＢ、Ｃに行われている。コンテンツデータＢについての送信要求は、分割コンテンツデータＢ１であり、次に分割すべきセグメント位置は、分割コンテンツデータＢ３である。一方、コンテンツデータＣについての送信要求は、分割コンテンツデータＣ１であり、次に分割すべきセグメント位置は、分割コンテンツデータＣ２である。従って、次に分割するセグメント位置と配信サーバ２が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータは、コンテンツデータＣとなる。情報処理装置１は、分割コンテンツデータＣ２を生成する。
【００５９】
分割コンテンツデータＣ２の生成が終了するまでに、分割コンテンツデータＢ１の配信が終了し、分割コンテンツデータＢ２の配信要求があったとする。分割コンテンツデータＣ２の生成が終了したとき、情報処理装置１は、（条件１）を満たすコンテンツデータがあるか否かを判定する。分割コンテンツデータの送信要求は、コンテンツデータＢ、Ｃに行われている。コンテンツデータＢについての送信要求は、分割コンテンツデータＢ２であり、次に分割すべきセグメント位置は、分割コンテンツデータＢ３である。一方、コンテンツデータＣについての送信要求は、分割コンテンツデータＣ１であり、次に分割すべきセグメント位置は、分割コンテンツデータＣ３である。従って、次に分割するセグメント位置と配信サーバ２が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータは、コンテンツデータＢとなる。情報処理装置１は、分割コンテンツデータＢ３を生成する。
【００６０】
分割コンテンツデータＢ３の生成が終了すると、情報処理装置１は、（条件１）を満たすコンテンツデータがあるか否かを判定する。このとき、コンテンツデータＢの分割処理を終了している。また、コンテンツデータＣについての送信要求は、分割コンテンツデータＣ１であり、次に分割すべきセグメント位置は、分割コンテンツデータＣ３である。ここで、（条件１）の例外である「所定以上」を「２つ以上」とする。このとき、コンテンツデータＣにおいて、送信要求があった分割コンテンツデータと次に分割すべき分割コンテンツデータのセグメント位置が２つ以上離れている。従って、情報処理装置１は、（条件２）を満たすコンテンツデータがあるか否かを判定する。コンテンツデータＡにおいて分割されたセグメント数の割合は、１／３であり、コンテンツデータＣにおいて分割されたセグメント数の割合は、２／３である。従って、情報処理装置１は、（条件２）を満たすコンテンツデータをコンテンツデータＡと判定する。そして、情報処理装置１は、分割コンテンツデータＡ２を生成する。
【００６１】
分割コンテンツデータＢ３の生成が終了すると、情報処理装置１は、（条件１）を満たすコンテンツデータがあるか否かを判定する。このとき、図４に示すように、分割コンテンツデータＣ１の送信が完了しており、分割コンテンツデータＣ２の送信要求が行われているとする。また、コンテンツデータＡについての送信要求は行われていない。一方、コンテンツデータＣについて送信要求が行われた分割コンテンツデータは分割コンテンツデータＣ２であり、次に分割すべきセグメント位置は、分割コンテンツデータＣ３である。従って、情報処理装置１は、（条件１）を満たすコンテンツデータはコンテンツデータＣであると判定し、分割コンテンツデータＣ３を生成する。この時点でコンテンツデータＢ，Ｃの分割処理が終了しているため、情報処理装置１は、図４に示すように、コンテンツデータＡの分割処理を行って分割コンテンツデータＡ３を生成する。
【００６２】
なお、上記（条件２）に代えて、下記（条件３）を適用することもできる。
（条件３）複数のコンテンツデータのうち、最初の分割コンテンツデータを配信サーバ２に送信した日時がより古いコンテンツデータ。
【００６３】
このように、情報処理装置１では、分割コンテンツデータを生成する毎に優先すべきコンテンツデータを決定するようにしている。従って、分割すべきコンテンツデータが複数ある場合に、分割コンテンツデータをその配信状況に応じて効率的に生成することができる。
【００６４】
［１．２．情報処理装置１の構成及び動作の具体例］
次に、上述した情報処理装置１の構成及び動作について、さらに具体的に図面を参照して説明する。
【００６５】
（情報処理装置１の具体的構成）
情報処理装置１は、専用のコンピュータの他、一般のコンピュータを適用可能である。図５に示すように、情報処理装置１は、制御部１１、記憶部１２、通信部１３、操作部１４などから構成されている。制御部１１、記憶部１２、通信部１３及び操作部１４は、システムバス１５を介して相互に接続されている。
【００６６】
制御部１１は、ＣＰＵ（Central Processing Unit）、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されている。ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、指示受付手段、分割処理手段、生成手段、送信手段、決定手段、要求受付手段、ハッシュ値演算手段、ハッシュ値送信手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワークに接続された他のサーバから、通信部１３を介して、制御部１１の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部１１の内部メモリに読み込まれるようにしてもよい。
【００６７】
記憶部１２には、コンテンツデータが記憶されている。制御部１１は、記憶部１２に記憶したコンテンツデータを読み出して、配信サーバ２へ通信部１３を介して送信することができるようになっている。また、制御部１１は、通信部１３を介して受信したコンテンツデータを、記憶部１２に記憶する。
【００６８】
（情報処理装置１の具体的動作について）
以上のように構成された情報処理装置１の動作を、図面を参照して具体的に説明する。図６は情報処理装置１のメイン処理フローチャートである。なお、以下の各処理は、情報処理装置１の制御部１１が上述した各手段等として機能することによって実行されるものである。情報処理装置１において、例えば、メイン電源スイッチ（図示せず）がＯＮされたとき、制御部１１のＣＰＵは、内部メモリに記憶した情報処理プログラムを実行状態とする。
【００６９】
情報処理装置１の制御部１１は、図６に示すように、まず、コンテンツ配信指示があったか否かを判定する（ステップＳ１）。この処理において、制御部１１は、操作部１４への操作により記憶部１２に記憶しているコンテンツデータの配信指示操作があったとき、コンテンツ配信指示があったと判定する。また、制御部１１は、図示しないコンテンツデータ供給装置からコンテンツデータを受信したときに、コンテンツ配信指示があったと判定する。このように、制御部１１は、コンテンツデータの配信指示を受け付ける指示受付手段として機能する。
【００７０】
コンテンツ配信指示があったと判定すると（ステップＳ１：Ｙｅｓ）、制御部１１は、
コンテンツ配信指示に応じたコンテンツデータ（以下、「新規投入コンテンツデータ」という）の分割処理を開始する（ステップＳ２）。すなわち、制御部１１は、新規投入コンテンツデータの最初の分割コンテンツデータを生成する。さらに、制御部１１は、最初の分割コンテンツデータを所定のハッシュ関数で演算して、最初の分割コンテンツデータのハッシュ値を求める。制御部１１は、新規投入コンテンデータのコンテンツ構成情報を生成する。コンテンツ構成情報は、新規投入コンテンツデータのコンテンツＩＤ及び全ての分割コンテンツデータのキャッシュＩＤを含む。そして、制御部１１は、新規投入コンテンツデータのコンテンツＩＤと、最初の分割コンテンツデータのハッシュ値を、各配信サーバ２へ通信部１３を介して送信する（ステップＳ３）。
【００７１】
一方、コンテンツ配信指示がないと判定すると（ステップＳ１：Ｎｏ）、制御部１１は、配信サーバ２から分割コンテンツデータの送信要求があるか否かを判定する（ステップＳ４）。この処理において、分割コンテンツデータの送信要求があると判定すると（ステップＳ４：Ｙｅｓ）、制御部１１は、送信要求があった分割コンテンツデータがあるか否かを判定する（ステップＳ５）。送信要求があった分割コンテンツデータが生成されていたとき、制御部１１は、送信要求があった分割コンテンツデータが有ると判定し（ステップＳ５：ＹＥＳ）、送信要求に応じた分割コンテンツデータを通信部１３を介して送信要求元の配信サーバ２へ送信する（ステップＳ６）。一方、送信要求があった分割コンテンツデータがないと判定すると（ステップＳ５：Ｎｏ）、制御部１１は、送信要求があった分割コンテンツデータが未分割である旨を送信要求元の配信サーバ２へ送信する（ステップＳ７）。
【００７２】
また、分割コンテンツデータの送信要求がないと判定すると（ステップＳ６：Ｎｏ）、制御部１１は、投入コンテンツデータのコンテンツ構成情報の送信要求があるか否かを判定する（ステップＳ８）。この処理において、コンテンツ構成情報の送信要求があると判定すると（ステップＳ８：Ｙｅｓ）、制御部１１は、コンテンツ構成情報を、通信部１３を介して送信要求元の配信サーバ２へ送信する（ステップＳ９）。
【００７３】
ステップＳ８において、コンテンツ構成情報の送信要求がないと判定すると（ステップＳ８：Ｎｏ）、制御部１１は、分割処理が終わっていないコンテンツデータ（以下、「分割中コンテンツデータ」という）があるか否かを判定する（ステップＳ１０）。
【００７４】
分割中コンテンツデータがあると判定すると（ステップＳ１０：Ｙｅｓ）、制御部１１は、コンテンツデータの分割処理を行って分割コンテンツデータを生成する（ステップＳ１１）。このステップＳ１１の処理は、図７に示すステップＳ２０〜Ｓ２８の処理であり、後で詳述する。このように、制御部１１は、配信指示が受け付けられたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段として機能する。
【００７５】
ステップＳ３，Ｓ６，Ｓ７，Ｓ９，Ｓ１１の処理が終了したとき、又は、分割中コンテンツデータがないと判定すると（ステップＳ１０：Ｎｏ）、制御部１１は、処理の終了指示を検出したか否かを判定する（ステップＳ１２）。例えば、情報処理装置１のメイン電源スイッチがＯＦＦ状態へ移行したとき、制御部１１は、終了指示を検知する。制御部１１は、終了指示を検知したと判定すると（ステップＳ１２：Ｙｅｓ）、処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ１２：Ｎｏ）、ステップＳ１からの処理を繰り返す。
【００７６】
次に、ステップＳ１１で実行されるコンテンツデータの分割処理について図７のフローチャートを参照して具体的に説明する。
【００７７】
コンテンツデータの分割処理を開始すると、制御部１１は、図７に示すように、分割中コンテンツデータが複数あるか否かを判定する（ステップＳ２０）。この処理において、分割中コンテンツデータが複数あると判定すると（ステップＳ２０：Ｙｅｓ）、制御部１１は、上記（条件１）を満たす分割中コンテンツデータがあるか否かを判定する（ステップＳ２１）。
【００７８】
上記（条件１）を満たす分割中コンテンツデータがあると判定すると（ステップＳ２１：Ｙｅｓ）、制御部１１は、（条件１）を満たす分割中コンテンツデータにおいて、まだ分割が終了していないセグメント位置のうち、最後に分割したセグメント位置の次に分割すべきセグメント位置（以下、「次に分割すべきセグメント位置」とする。）の分割コンテンツデータを１つ生成する（ステップＳ２２）。例えば、分割コンテンツデータＡ１，Ａ２，・・・，Ａ７が生成されるコンテンツデータにおいて、分割コンテンツデータＡ３までが生成されているとき、制御部１１は、次に分割すべきセグメント位置の分割コンテンツデータＡ４を生成する。
【００７９】
一方、上記（条件１）を満たす分割中コンテンツデータがないと判定すると（ステップＳ２１：Ｎｏ）、制御部１１は、（条件２）を満たす分割中コンテンツデータにおいて次に分割すべきセグメント位置の分割コンテンツデータを１つ生成する（ステップＳ２３）。
【００８０】
このように、制御部１１は、分割すべきコンテンツデータが複数ある場合に、分割処理を優先させるコンテンツデータを決定する決定手段として機能する。また、制御部１１は、分割すべきコンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成する分割処理手段として機能する。さらに、制御部１１は、分割処理手段として決定手段による決定に基づいて、コンテンツデータの分割処理を分割コンテンツデータ単位で行う。
【００８１】
ステップＳ２０において、分割中コンテンツデータが複数ないと判定すると（ステップＳ２０：Ｎｏ）、制御部１１は、分割中コンテンツデータにおいて次に分割すべきセグメント位置の分割コンテンツデータを１つ生成する（ステップＳ２４）。
【００８２】
次に、制御部１１は、ステップＳ２２〜Ｓ２４の処理で分割コンテンツデータの生成に失敗したか否かを判定する（ステップＳ２５）。分割コンテンツデータの生成に失敗したと判定すると（ステップＳ２５：Ｙｅｓ）、制御部１１は、配信エラーを各配信サーバ２へ送信する（ステップＳ２６）。このステップＳ２６の処理が終了すると、コンテンツデータの分割処理を終了する。なお、分割コンテンツデータの生成の失敗は、例えば、コンテンツデータを記憶部１２から読み出せない場合などに発生する。
【００８３】
一方、分割コンテンツデータの生成に失敗していないと判定したとき（ステップＳ２５：Ｎｏ）、制御部１１は、ステップＳ２２〜Ｓ２４の処理で生成した分割コンテンツデータのハッシュ値を所定のハッシュ関数により演算する（ステップＳ２７）。そして、制御部１１は、このように生成したハッシュ値を配信サーバ２へ配信する（ステップＳ２８）。ここで、ハッシュ値の送信先となる配信サーバ２は、このハッシュ値に対応するコンテンツデータに関するコンテンツ構成情報が送信された配信サーバ２である。ステップＳ２８の処理が終了すると、コンテンツデータの分割処理を終了する。
【００８４】
このように、制御部１１は、分割コンテンツデータが生成されるごとに順次、その分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段として機能する。また、制御部１１は、分割コンテンツデータのハッシュ値が演算されるごとに順次、そのハッシュ値をノード装置へ送信するハッシュ値送信手段として機能する。
【００８５】
［１．３．配信サーバ２の構成及び動作の具体例］
次に、上述した配信サーバ２の構成及び動作について、さらに具体的に図面を参照して説明する。
【００８６】
（配信サーバ２の具体的構成）
配信サーバ２は、専用のコンピュータの他、一般のサーバコンピュータを適用可能である。図８に示すように、配信サーバ２は、制御部２１、記憶部２２、通信部２３などから構成されている。制御部２１、記憶部２２及び通信部２３は、システムバス２５を介して相互に接続されている。
【００８７】
制御部２１は、ＣＰＵ（Central Processing Unit）、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されている。ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、各種の処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワークに接続された他のサーバから、通信部２３を介して、制御部２１の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部２１の内部メモリに読み込まれるようにしてもよい。
【００８８】
（配信サーバ２の具体的動作について）
以上のように構成された配信サーバ２の動作を、図面を参照して具体的に説明する。図９は配信サーバ２のコンテンツデータ取得処理フローチャートである。なお、以下の各処理は、配信サーバ２の制御部２１が各種の処理手段等として機能することによって実行されるものである。
【００８９】
このコンテンツデータ取得処理は、例えば、図示しない端末装置からコンテンツデータの送信要求があったときに開始するものである。なお、端末装置は、情報処理装置１が分割処理を開始ときに、新規投入コンテンツデータのコンテンツＩＤを情報処理装置１から取得することができ、このコンテンツＩＤに基づいて、配信サーバ２に対してコンテンツデータの送信要求を行う。また、このコンテンツデータ取得処理は、配信サーバ２が情報処理装置１からコンテンツＩＤを取得したときに開始するようにしてもよい。
【００９０】
配信サーバ２の制御部２１は、コンテンツデータ取得処理を開始すると、まず、取得しようとする新規投入コンテンツデータのコンテンツＩＤに基づき、コンテンツ構成情報を検索する（ステップＳ３０）。すなわち、制御部２１は、新規投入コンテンツデータのコンテンツＩＤに最も近い第１ルートノードから第１ホルダノードの所在情報を取得し、第１ホルダノードにコンテンツ構成情報の送信要求を行う。第１ホルダノードが存在せず、第１ルートノードが第１ホルダノードの所在情報を有していないときや第１ホルダノードが存在しないときには、制御部２１は、情報処理装置１に対してコンテンツ構成情報の送信要求を行う。
【００９１】
次に、制御部２１は、情報処理装置１又は他の配信サーバ２から通信部２３を介してコンテンツ構成情報を受信したか否かを判定する（ステップＳ３１）。この処理において、コンテンツ構成情報を受信したと判定すると（ステップＳ３１：Ｙｅｓ）、制御部２１は、最初の分割コンテンツデータの取得処理を行う（ステップＳ３２）。すなわち、制御部２１は、最初の分割コンテンツデータのキャッシュＩＤをコンテンツ構成情報から抽出し、このキャッシュＩＤに基づき、コンテンツ構成情報を記憶する第２ホルダノードの所在情報を第２ルートノードから通信部２３を介して取得する。そして、制御部２１は、所在情報を取得した第２ホルダノードに対して、最初の分割コンテンツデータを通信部２３を介して取得し記憶部２２に記憶する。第２ホルダノードが存在せず、第２ルートノードが第２ホルダノードの所在情報を有していないときや第２ホルダノードが存在しないときには、制御部２１は、情報処理装置１から最初の分割コンテンツデータを取得し記憶部２２に記憶する。この分割コンテンツデータの取得は、コンテンツ構成情報に含まれるコンテンツデータのコンテンツＩＤと最初の分割コンテンツデータのキャッシュＩＤとを含む送信要求を行うことによって、取得したい分割コンテンツデータを指定する。
【００９２】
一方、コンテンツ構成情報を受信していないと判定すると（ステップＳ３１：Ｎｏ）、制御部２１は、情報処理装置１から通信部２３を介して分割コンテンツデータのハッシュ値を受信したか否かを判定する（ステップＳ３３）。分割コンテンツデータのハッシュ値を受信したと判定すると（ステップＳ３３：Ｙｅｓ）、制御部２１は、受信したハッシュ値を記憶部２２に記憶する（ステップＳ３４）。
【００９３】
ステップＳ３３において、分割コンテンツデータのハッシュ値を受信していないと判定すると（ステップＳ３３：Ｎｏ）、制御部２１は、次に取得すべき分割コンテンツデータがあるか否かを判定する（ステップＳ３５）。この処理において、制御部２１は、コンテンツ構成情報に含まれるキャッシュＩＤの分割コンテンツデータのうち取得していない分割コンテンツデータがあるときに、次に取得すべき分割コンテンツデータがあると判定する。なお、後述するステップＳ３８で取得処理が中止となったコンテンツデータに対してはこの判定処理を行わない
【００９４】
次に取得すべき分割コンテンツデータがあると判定すると（ステップＳ３５：Ｙｅｓ）、制御部２１は、情報処理装置１から通信部２３を介して配信エラーを受信したか否かを判定する（ステップＳ３６）。この処理において、配信エラーを受信したと判定すると（ステップＳ３６：Ｙｅｓ）、制御部２１は、配信エラーとなったコンテンツデータに関してその分割コンテンツデータの取得処理を中止する（ステップＳ３８）。
【００９５】
配信エラーを受信していないと判定すると（ステップＳ３６：Ｎｏ）、制御部２１は、最初の分割コンテンツデータの取得処理と同様に、次に取得すべき分割コンテンツデータを情報処理装置１又は他の配信サーバ２から取得し、記憶部２２に記憶する（ステップＳ３７）。
【００９６】
ステップＳ３２，Ｓ３７の処理が終了したとき、制御部２１は、ステップＳ３２，Ｓ７６の処理において取得した分割コンテンツデータが正常受信できたか否かを判定する（ステップＳ３９）。この処理において、制御部２１は、取得した分割コンテンツデータを記憶部２２から読み出して、所定のハッシュ関数で演算してハッシュ値を求める。また、制御部２１は、情報処理装置１から受信して記憶部２２に記憶しているハッシュ値のうち、取得した分割コンテンツデータに対応するハッシュ値を読み出す。そして、制御部２１は、演算したハッシュ値と情報処理装置１から受信してハッシュ値と比較する。これらのハッシュ値が同じであるとき、制御部２１は、取得した分割コンテンツデータが正常受信できたと判定する。
【００９７】
取得した分割コンテンツデータが正常受信できていないと判定すると（ステップＳ３９：Ｎｏ）、制御部２１は、正常に受信できていないと判定した分割コンテンツデータを記憶部２２から削除する（ステップＳ４０）。このように正常に受信できていないと判定した分割コンテンツデータは、ステップＳ３２又はステップＳ３７において、次に取得すべき分割コンテンツデータとなる。
【００９８】
取得した分割コンテンツデータが正常受信できたと判定すると（ステップＳ３９：Ｙｅｓ）、制御部２１は、ステップＳ３２，Ｓ３７の処理において取得した分割コンテンツデータに対応するコンテンツデータについて、全ての分割コンテンツデータを取得したか否かを判定する（ステップＳ４１）。例えば、コンテンツデータＡの分割コンテンツデータを取得しているときに、ステップＳ３２，Ｓ３７の処理において取得した分割コンテンツデータがコンテンツデータＡの分割コンテンツデータであるとする。このとき、コンテンツデータＡの分割コンテンツデータＡ１，Ａ２，・・・，Ａ１２であり、ステップＳ３２，Ｓ３７の処理において取得した分割コンテンツデータが分割コンテンツデータＡ１２であれば、制御部２１は、全ての分割コンテンツデータを取得したと判定する。
【００９９】
全ての分割コンテンツデータを受信したと判定すると（ステップＳ４１：Ｙｅｓ）、制御部２１は、記憶部２２に記憶した分割コンテンツデータを読み出して統合し、コンテンツデータを復元する（ステップＳ４２）。そして、制御部２１は、復元したコンテンツデータを記憶部２２に記憶する。例えば、コンテンツデータＡの分割コンテンツデータＡ１，Ａ２，・・・，Ａ１２であり、これらの分割コンテンツデータを全て受信したとき、分割コンテンツデータＡ１に分割コンテンツデータＡ２から順次分割コンテンツデータＡ１２まで結合することで統合する。
【０１００】
ステップＳ３８，Ｓ４０，Ｓ４２の処理が終了したとき、制御部２１は、コンテンツデータ取得処理を終了する。一方、ステップＳ３４の処理が終了したとき、ステップＳ３５において次に取得すべき分割コンテンツデータがないと判定したとき（ステップＳ３５：Ｎｏ）、及びステップＳ４１において全ての分割コンテンツデータを受信していないと判定したとき（ステップＳ４１：Ｎｏ）、制御部２１は、ステップＳ３１の処理に戻り処理を継続する。
【０１０１】
［２．第２実施形態］
上述した第１実施形態では、分割コンテンツデータを生成する毎に優先すべきコンテンツデータを決定するようにしたが、第２実施形態では、コンテンツデータ単位で優先すべきコンテンツデータを決定する。なお、第２実施形態の情報処理装置を情報処理装置１’とし、第２実施形態の配信サーバを配信サーバ２’として説明する。なお、第２実施形態の情報処理装置１’は、第１実施形態の情報処理装置１と情報処理プログラムが異なるのみであり、ここでは各構成要素に同一符号を付して説明する。また、コンテンツデータＡは分割処理により分割コンテンツデータＡ１，Ａ２，Ａ３が生成され、コンテンツデータＢは分割処理により分割コンテンツデータＢ１，Ｂ２，Ｂ３が生成されるものとする。
【０１０２】
コンテンツデータの配信指示がコンテンツデータＡ，Ｂの順であるとする。このとき、情報処理装置１’の制御部１１は、図１０に示すように、分割コンテンツデータＡ１を生成した後、分割コンテンツデータＢ１を生成する。また、コンテンツデータＡのコンテンツ構成情報と、コンテンツデータＢのコンテンツ構成情報を生成して、各配信サーバ２’へ送信する。
【０１０３】
その後、コンテンツデータＢのコンテンツ構成情報を受信した配信サーバ２’から、最初の分割コンテンツデータＢ１の送信要求があったとする。情報処理装置１’の制御部１１は、最初に分割コンテンツデータの送信要求が行われたコンテンツデータＢを、分割処理を優先するコンテンツデータ（以下、「優先コンテンツデータ」という）とする。すなわち、情報処理装置１’の制御部１１は、図１０に示すように、分割コンテンツデータＢ１の生成が終了すると、分割コンテンツデータＡ２，Ａ３を生成する前に、分割コンテンツデータＢ２，Ｂ３を生成する。
【０１０４】
より具体的な処理としては、情報処理装置１’の制御部１１は、図６に示すステップＳ５の処理を行った後、次の処理を行う。まず、情報処理装置１’の制御部１１は、ステップＳ５０（図示せず）として、分割コンテンツデータの送信要求が、優先コンテンツデータであるか否かを判定する。そして、情報処理装置１’の制御部１１は、ステップＳ５０の送信要求が優先コンテンツデータに対するものではないと判定すると、ステップＳ５１（図示せず）として、他の分割中コンテンツデータが優先コンテンツデータに設定されているか否かを判定する。ステップＳ５１において、他の分割中コンテンツデータが優先コンテンツデータに設定されていないと判定すると、情報処理装置１’の制御部１１は、ステップＳ５で送信要求があったと判定した分割コンテンツデータのコンテンツデータを優先コンテンツデータとして、ステップＳ６に移行する。ステップＳ５１において、他の分割中コンテンツデータが優先コンテンツデータに設定されていると判定すると、情報処理装置１’の制御部１１は、処理をステップＳ６に移行する。また、ステップＳ５０において、ステップＳ５０の送信要求が優先コンテンツデータに対するものであると判定すると、処理をステップＳ６に移行する。また、情報処理装置１’の制御部１１は、図７に示すステップＳ２０の処理を行った後、次の処理を行う。まず、情報処理装置１’の制御部１１は、分割中コンテンツデータが複数あると判定すると（ステップＳ２０：Ｙｅｓ）、これらの分割中コンテンツデータのうち優先コンテンツデータに対して、分割処理を行う。そして、分割処理による分割コンテンツデータについて、ステップＳ２５〜Ｓ２８と同様の処理を行う。その後、情報処理装置１’の制御部１１は、分割処理を行った分割コンテンツデータが最後の分割コンテンツデータであるかを判定する。
【０１０５】
このように、第２実施形態における情報処理装置１’の制御部１１は、複数のコンテンツデータのうち、分割コンテンツデータの要求のタイミングが早いコンテンツデータを、優先させるコンテンツデータとして決定する決定手段として機能する。
【０１０６】
分割中コンテンツデータが複数あるとき、情報処理装置１’の制御部１１は、例えば、最も古く処理待ちコンテンツデータとなった分割中コンテンツデータを優先コンテンツデータとすることもできる。
【０１０７】
なお、上述した実施形態においては、情報処理装置１，１’は、最初の分割コンテンツデータのハッシュ値をコンテンツ構成情報に含ませて配信サーバ２、２’へ送信するようにしたがこれに限られない。例えば、情報処理装置１，１’は、最初の分割コンテンツデータの送信要求があったときに、最初の分割コンテンツデータと共にそのハッシュ値を送信要求元の配信サーバ２へ送信するようにしてもよい。
【０１０８】
また、上述した実施形態においては、最初の分割コンテンツデータを生成した後に、コンテンツＩＤと複数のキャッシュＩＤとを含むコンテンツ構成情報を配信サーバ２、２’に送信するようにしたがこれに限られない。例えば、最初の分割コンテンツデータを生成する前や生成を開始するときに、コンテンツ構成情報を配信サーバ２、２’に送信するようにしてもよい。
【０１０９】
また、分割コンテンツデータを所定のハッシュ関数でハッシュ化するとき、分割コンテンツデータの全部をハッシュ化してもよく、また、分割コンテンツデータの一部をハッシュ化してもよい。
【０１１０】
また、情報処理装置１，１’は、新規投入コンテンツデータのコンテンツＩＤやキャッシュＩＤの送信を、各配信サーバ２，２’や端末装置（図示せず）から要求があったときに行うようにしてもよい。また、多数のコンテンツデータのコンテンツＩＤやキャッシュＩＤをカタログ情報として、各配信サーバ２，２’や端末装置（図示せず）へ提供するようにしてもよい。この場合、情報処理装置１，１’は、新規投入コンテンツデータがあるときにこのコンテンツデータのコンテンツＩＤやキャッシュＩＤをカタログ情報に含ませて更新する。情報処理装置１，１’は、カタログ情報を更新したときに各配信サーバ２や端末装置（図示せず）に送信するものであるが、各配信サーバ２，２’や端末装置（図示せず）から要求があったときに更新したカタログ情報を送信するようにしてもよい。
【符号の説明】
【０１１１】
１  情報処理装置
２  配信サーバ
１１  情報処理装置の制御部
１２  情報処理装置の記憶部
【図１】
2011034361.tif 000003
【図２】
2011034361.tif 000004
【図３】
2011034361.tif 000005
【図４】
2011034361.tif 000006
【図５】
2011034361.tif 000007
【図６】
2011034361.tif 000008
【図７】
2011034361.tif 000009
【図８】
2011034361.tif 000010
【図９】
2011034361.tif 000011
【図１０】
2011034361.tif 000012