JP2011034361A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2011034361A JP2011034361A JP2009180179A JP2009180179A JP2011034361A JP 2011034361 A JP2011034361 A JP 2011034361A JP 2009180179 A JP2009180179 A JP 2009180179A JP 2009180179 A JP2009180179 A JP 2009180179A JP 2011034361 A JP2011034361 A JP 2011034361A
- Authority
- JP
- Japan
- Prior art keywords
- content data
- divided
- information processing
- processing apparatus
- division processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】情報処理装置からノード装置へのコンテンツデータの投入処理を短縮する。
【解決手段】情報処理装置は、配信指示が受け付けられたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。また、情報処理装置は、生成された分割コンテンツデータそれぞれを識別するための識別情報を生成する。情報処理装置は、まず、配信指示が受け付けられたコンテンツデータの最初の分割コンテンツデータと最初の分割コンテンツデータの識別情報とをノード装置へ送信する。
【選択図】図2
【解決手段】情報処理装置は、配信指示が受け付けられたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。また、情報処理装置は、生成された分割コンテンツデータそれぞれを識別するための識別情報を生成する。情報処理装置は、まず、配信指示が受け付けられたコンテンツデータの最初の分割コンテンツデータと最初の分割コンテンツデータの識別情報とをノード装置へ送信する。
【選択図】図2
Description
本発明は、ネットワークを介してノード装置にコンテンツデータを送信する情報処理装置及び情報処理方法に関する。
近年、インターネットなどのネットワークの普及により、ネットワークを介して、端末装置などのノード装置へ、音楽、映画、トーク番組などコンテンツのデータ(以下、「コンテンツデータ」という)を配信するコンテンツ配信サービスが人気となっている。
コンテンツデータの配信形態として、クライアント−サーバ方式が主流形態である。しかし、クライアント−サーバ方式では、アクセスが集中するとサーバやネットワーク回線が負荷に耐えられなくなるという問題がある。
そこで、クライアント−サーバ方式に代わる新しい配信形態としてP2P(Peer to Peer)を用いた配信方式が注目されている(例えば、特許文献1参照)。
この種の配信方式では、複数のノード装置がネットワークを介して接続される。そして、ノード装置間で双方向での通信が可能なオーバーレイネットワークが構築される。各ノード装置内のストレージに、それぞれ様々なコンテンツデータを記憶させておくことにより、複数のノード装置のストレージ群からなる巨大なストレージが仮想的に構築される。これにより、各ノード装置は、ノード装置間での通信により所望のコンテンツデータを、コンテンツデータを保持している他のノード装置から取得することが可能となる。
ノード装置間で送受信を行うコンテンツデータは、サービス管理者側の情報処理装置からストレージ群を形成するいずれかのノード装置に対して配信される。そして、配信されたコンテンツデータがノード装置に記憶される。なお、以下、コンテンツデータを送信することを、「コンテンツデータを投入する」という場合がある。
情報処理装置からコンテンツデータが投入されると、そのコンテンツデータがノード装置間での通信により送受信可能となる。
一般に、音楽や映画などの動画を含むコンテンツデータは、データ容量が大きい。そのため、このようなコンテンツデータを情報処理装置からノード装置へ投入する場合、その投入処理に時間がかかる。
コンテンツデータの投入時期が決まっているような場合に、同時期に投入しなければならないコンテンツデータが多いと、その投入時期までにコンテンツデータをノード装置へ投入できない恐れがある。
そこで、本発明は、ノード装置へのコンテンツデータの投入処理を短縮することができる情報処理装置及び情報処理方法を提供することを目的とする。
上記目的を達成するために、請求項1に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付手段と、前記指示受付手段により配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段と、前記分割処理手段により生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成手段と、前記複数のコンテンツデータの夫々において、前記分割処理手段により最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信手段と、を備えることを特徴とする情報処理装置とした。
また、請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記分割処理手段は、分割すべき前記コンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成することを特徴とする。
また、請求項3に記載の発明は、請求項2に記載の情報処理装置において、前記分割処理手段により分割すべき前記コンテンツデータが複数ある場合に、前記分割処理手段による分割処理を優先させるコンテンツデータを決定する決定手段を備え、前記分割処理手段は、前記決定手段による決定に基づいて、前記コンテンツデータの分割処理を行うことを特徴とする。
また、請求項4に記載の発明は、請求項3に記載の情報処理装置において、前記ノード装置により前記コンテンツデータの要求を取得する要求受付手段を備え、前記決定手段は、前記複数のコンテンツデータのうち、前記要求受付手段により受け付けた要求のタイミングが早いコンテンツデータを、前記優先させるコンテンツデータとして決定することを特徴とする。
また、請求項5に記載の発明は、請求項3に記載の情報処理装置において、前記決定手段は、前記分割処理を優先させるコンテンツデータの決定を、前記分割コンテンツデータ単位で行うことを特徴とする。
また、請求項6に記載の発明は、請求項5に記載の情報処理装置において、前記複数のノード装置のいずれかのノード装置により要求された前記分割コンテンツデータの要求を取得する要求受付手段を備え、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、次に前記分割処理手段により分割されるセグメント位置と前記ノード装置が要求する分割コンテンツデータのセグメント位置とが近いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
また、請求項7に記載の発明は、請求項6に記載の情報処理装置において、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、セグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
また、請求項8に記載の発明は、請求項6に記載の情報処理装置において、前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、前記最初の分割コンテンツデータを前記ノード装置に送信した日時が古いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする。
また、請求項9に記載の発明は、請求項1〜8のいずれか1項に記載の情報処理装置において、前記分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段と、前記分割コンテンツデータのハッシュ値を前記ノード装置へ送信するハッシュ値送信手段と、を備え、前記ハッシュ値演算手段は、前記分割処理手段によって一つのセグメントの分割コンテンツデータが生成されるごとに順次、当該生成した分割コンテンツデータのハッシュ値を演算し、前記ハッシュ値送信手段は、前記ハッシュ値演算手段によって一つのセグメントの分割コンテンツデータのハッシュ値を演算するごとに順次、当該演算したハッシュ値を前記ノード装置へ送信することを特徴とする。
また、請求項10に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信処理ステップと、を有することを特徴とする情報処理装置の情報処理方法とした。
また、請求項11に記載の発明は、コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信処理ステップと、をコンピュータに実現させるためのプログラムとした。
本発明によれば、配信指示を受け付けたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成し、各分割コンテンツデータそれぞれを識別するための識別情報を生成する。そして、最初の分割コンテンツデータとこの分割コンテンツデータの識別情報とをノード装置へ送信するので、ノード装置へのコンテンツデータの投入処理を短縮することができる。
[1.第1実施形態]
[1.1.コンテンツ配信システムSの構成等]
まず始めに、図1を参照して、本発明の一実施形態におけるコンテンツ配信システムの概要について説明する。本実施形態のコンテンツ配信システムSは、音楽、映画、トーク番組、文書などのコンテンツのデータ(以下、「コンテンツデータ」という)を配信するためのシステムである。
[1.1.コンテンツ配信システムSの構成等]
まず始めに、図1を参照して、本発明の一実施形態におけるコンテンツ配信システムの概要について説明する。本実施形態のコンテンツ配信システムSは、音楽、映画、トーク番組、文書などのコンテンツのデータ(以下、「コンテンツデータ」という)を配信するためのシステムである。
図1に示すように、本実施形態のコンテンツ配信システムSは、情報処理装置1と、複数の配信サーバ2(ノード装置の一例)とを含む。これらの装置は、インターネットなどのネットワークを介して互いに通信可能となっている。複数の配信サーバ2は互いにデータを送受信するオーバーレイネットワークであるP2PネットワークNを構成する。配信サーバ2には固有の識別情報(以下、「サーバID」とする)がそれぞれ割り当てられている。このサーバIDは、例えば、装置のMACアドレス又はIPアドレスを所定のハッシュ関数でハッシュ化して生成される。サーバIDは、例えば、32桁の2進数で表現される。
コンテンツ配信システムSでは、情報処理装置1から投入されたコンテンツデータが各配信サーバ2において記憶される。各配信サーバ2は、図示しない端末装置から要求に応じてコンテンツデータを送信する。
情報処理装置1は、コンテンツデータを配信サーバ2へ投入するとき、このコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する。なお、以下においては、投入されるコンテンツデータを「投入コンテンツデータ」という。
情報処理装置1は、投入コンテンツデータにおいて最初に分割すべきセグメントの分割処理が完了すると、この分割処理により生成した分割コンテンツデータ(以下、「最初の分割コンテンツデータ」という)を所定のハッシュ関数でハッシュ化する。また、情報処理装置1は、投入するコンテンツデータ固有の識別情報であるコンテンツIDと、このコンテンツデータを分割した複数の分割コンテンツデータそれぞれに固有の識別情報であるキャッシュIDを生成する。なお、情報処理装置1は、コンテンツIDや全てのキャッシュIDを最初の分割コンテンツデータの生成を行う前に生成することもできる。また、コンテンツIDやキャッシュIDは、例えば、32桁の2進数で表現される。
情報処理装置1は、投入コンテンツデータのコンテンツIDを各配信サーバ2へ送信する。これにより、各配信サーバ2は、新たなに投入されたコンテンツデータがあることを把握することができる。また、情報処理装置1は、最初の分割コンテンツデータのハッシュ値とキャッシュIDとを各配信サーバ2へ送信する。
投入コンテンツデータを取得しようとする配信サーバ2は、コンテンツIDに基づき、投入コンテンツデータのコンテンツ構成情報を記憶している配信サーバ2(以下、「第1ホルダノード」ともいう)を検索する。コンテンツ構成情報とは、投入コンテンツデータのコンテンツIDと全てのキャッシュIDとを含む情報である。なお、このように投入コンテンツデータのコンテンツ構成情報を取得しようとする配信サーバ2を「第1リクエスタ」ともいう。
本実施形態では、コンテンツIDに最も近いサーバIDがそのコンテンツIDのコンテンツ構成情報を記憶する第1ホルダノードの所在情報(例えば、IPアドレス)を記憶している配信サーバ2(以下、「第1ルートノード」ともいう)とする。
情報処理装置1からいずれの配信サーバ2もコンテンツ構成情報を取得していないときには、コンテンツ構成情報を記憶する第1ホルダノードは存在せず、コンテンツ構成情報の第1ルートノードも第1ホルダノードの所在情報を記憶していない。従って、投入コンテンツデータのコンテンツ構成情報を最初に検索した配信サーバ2は、他の配信サーバ2からコンテンツ構成情報を取得できず、情報処理装置1へ投入コンテンツデータのコンテンツ構成情報の送信要求を行う。
情報処理装置1は、第1リクエスタである配信サーバ2から、投入コンテンツデータのコンテンツ構成情報の送信要求があると、要求された投入コンテンツデータのコンテンツ構成情報を、その投入先の第1リクエスタである配信サーバ2へ送信する。
配信サーバ2は、投入コンテンツデータのコンテンツ構成情報を取得すると、第1ルートノードに対して登録メッセージを送信する。この登録メッセージは、コンテンツ構成情報を取得した投入コンテンツデータのコンテンツIDと第1リクエスタである配信サーバ2の所在情報を含む情報である。これにより、投入コンテンツデータの第1ルートノードは、第1ホルダノードの所在情報を取得することができ、以後、第1リクエスタから要求があると第1ホルダノードの所在情報を第1リクエスタへ送信する。従って、情報処理装置1から配信サーバ2が投入コンテンツデータのコンテンツ構成情報を取得した後は、配信サーバ2同士で投入コンテンツデータのコンテンツ構成情報の送受信が行われる。但し、第1リクエスタが第1ホルダノードから投入コンテンツデータのコンテンツ構成情報を取得できないようなときには、第1リクエスタが情報処理装置1へこのコンテンツ構成情報の送信要求を行う。
さらに、配信サーバ2は、投入コンテンツデータのコンテンツ構成情報を取得すると、このコンテンツ構成情報に含まれる複数のキャッシュIDのうち最初の分割コンテンツデータのキャッシュIDを読み出す。そして、この配信サーバ2は、読み出したキャッシュIDに基づき、分割コンテンツデータを記憶している配信サーバ2(以下、「第2ホルダノード」という)を検索する。以下、このように投入コンテンツデータの分割コンテンツデータを取得しようとする配信サーバ2を、以下「第2リクエスタ」ともいう。
本実施形態では、キャッシュIDに最も近いサーバIDがそのキャッシュIDの分割コンテンツデータを記憶する第2ホルダノードの所在情報(例えば、IPアドレス)を記憶している配信サーバ2(以下、「第2ルートノード」ともいう)とする。
情報処理装置1からいずれの配信サーバ2も最初の分割コンテンツデータを取得していないときには、最初の分割コンテンツデータを記憶する第2ホルダノードは存在せず、最初の分割コンテンツデータの第2ルートノードも第2ホルダノードの所在情報を記憶していない。従って、最初の分割コンテンツデータを最初に検索した第2リクエスタである配信サーバ2は、他の配信サーバ2から最初の分割コンテンツデータを取得できず、情報処理装置1へ投入コンテンツデータの最初の分割コンテンツデータの送信要求を行う。
情報処理装置1は、第2リクエスタである配信サーバ2から、投入コンテンツデータの最初の分割コンテンツデータの送信要求があると、要求された投入コンテンツデータの最初の分割コンテンツデータを、その投入先の配信サーバ2である第2リクエスタへ送信する。
配信サーバ2は、投入コンテンツデータの最初の分割コンテンツデータを取得すると、第2ルートノードに対して登録メッセージを送信する。この登録メッセージは、コンテンツ構成情報を取得した投入コンテンツデータのコンテンツIDと第2リクエスタである配信サーバ2の所在情報を含む情報である。これにより、最初の分割コンテンツデータの第2ルートノードは、第2ホルダノードの所在情報を取得することができ、以後、第2リクエスタから要求があると第2ホルダノードの所在情報を第2リクエスタへ送信する。従って、情報処理装置1から配信サーバ2が最初の分割コンテンツデータを取得した後は、配信サーバ2同士で最初の分割コンテンツデータの送受信が行われる。但し、第2リクエスタが第2ホルダノードから最初の分割コンテンツデータを取得できないようなときには、第2リクエスタが情報処理装置1へこの最初の分割コンテンツデータの送信要求を行う。
なお、第2リクエスタである配信サーバ2は、最初の分割コンテンツデータを取得すると、この分割コンテンツデータを情報処理装置1と同じハッシュ関数でハッシュ化する。そして、配信サーバ2は、このように演算したハッシュ値と、情報処理装置1から取得した最初の分割コンテンツデータのハッシュ値とが一致するか否かを確認する。ハッシュ値が一致すると、最初の分割コンテンツデータを正常に受信したと判定して、登録メッセージを送信する。一方、ハッシュ値が一致しないとき、最初の分割コンテンツデータが正常に受信できていないと判定して、再度最初の分割コンテンツデータを記憶する第2ホルダノードを検索する。
最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータも同様に、情報処理装置1からいずれかの配信サーバ2が取得した後は、配信サーバ2同士で送受信される。また、最初の分割コンテンツデータ以降の次のセグメントの分割コンテンツデータのハッシュ値も同様に、キャッシュIDと共に各配信サーバ2へ送信され、各配信サーバ2において分割コンテンツデータが正常に受信できたか否かが判断される。
ここで、情報処理装置1が、コンテンツデータAを分割して、3つの分割コンテンツデータA1,A2,A3を順次生成したとする。このとき、情報処理装置1は、コンテンツデータAのコンテンツIDや各分割コンテンツデータA1,A2,A3のキャッシュIDも生成する。コンテンツデータAのコンテンツIDは、情報処理装置1から各配信サーバ2へ送信される。各配信サーバ2は、コンテンツIDに基づき、分割コンテンツデータA1,A2,A3のキャッシュIDを取得し、このキャッシュIDに基づき、各分割コンテンツデータA1,A2,A3を取得する。なお、コンテンツ構成情報の情報量は少ないため、コンテンツ構成情報の送信処理時間は分割コンテンツデータの送信処理時間に比べてかなり少ない。従って、ここでは考慮しなくて良い。そのため、本実施形態では、コンテンツ構成情報の送信処理時間を無視することとする。
情報処理装置1は、図2に示す「配信方法1」のように、分割コンテンツデータA1の生成が完了すると、配信処理A1として、投入先の配信サーバ2からの要求に応じて分割コンテンツデータA1を送信する。また、情報処理装置1は、コンテンツデータの分割処理を継続して行い、分割コンテンツデータA2,A3を生成する。そして、情報処理装置1は、配信処理A2,A3として、投入先の配信サーバ2からの要求に応じて、分割コンテンツデータA2,A3を送信する。
また、投入先の配信サーバ2以外の配信サーバ2は、コンテンツ構成情報に基づき、分割コンテンツデータA1,A2,A3の送信を他の配信サーバ2へ要求することになる。配信サーバ2は、他の配信サーバ2から順次要求される分割コンテンツデータA1,A2,A3を順次送信する。
一方、図2に示す従来の「配信方法2」では、分割コンテンツデータA1,A2,A3が生成された後に、コンテンツID及びキャッシュIDを送信する。従って、分割コンテンツデータA1,A2,A3が生成された後にしか、配信処理A1,A2,A3、すなわち各分割コンテンツデータA1,A2,A3の配信が可能とならない。本実施形態の「配信方法1」は、図2に示すように、この「配信方法2」に比べ、分割コンテンツデータA1,A2,A3の投入処理を短縮することができる。
また、情報処理装置1は、分割コンテンツデータA1,A2,A3を生成する毎に、この生成した分割コンテンツデータを所定のハッシュ関数で演算してハッシュ値を生成する。情報処理装置1は、このように生成したハッシュ値の情報を、配信サーバ2へ送信する。配信サーバ2は、取得した各分割コンテンツデータA1,A2,A3を所定のハッシュ関数で演算してハッシュ値を求める。配信サーバ2は、演算して求めたハッシュ値と情報処理装置1から取得したハッシュ値とを比較し、同じであれば分割コンテンツデータを正常に取得したと判定する。一方、これらのハッシュ値が同じでなければ、分割コンテンツデータを正常に取得していないと判定して、再度分割コンテンツデータを取得する処理を行う。
このように、本実施形態の情報処理装置1では、最初の分割コンテンツデータを生成したときに、この分割コンテンツデータのキャッシュIDを配信サーバ2へ送信することができる。その結果、配信サーバ2は、最初の分割コンテンツデータが生成された後に、迅速にこの最初の分割コンテンツデータを取得することができ、これにより投入処理を短縮することができる。また、情報処理装置1は、分割コンテンツデータを生成する毎に、そのハッシュ値を配信サーバ2に送信することで、配信サーバ2においてコンテンツデータを正常に取得することができる。
その後、各配信サーバ2は、同様に、分割コンテンツデータA2,A3のキャッシュIDに基づいて、投入された分割コンテンツデータA2,A3を取得する。本実施形態では、コンテンツデータAの投入処理が短縮されているため、配信サーバ2間で、コンテンツデータAの送受信の開始を早めることができる。
ところで、情報処理装置1が行うコンテンツデータの分割処理は、同時に一つのコンテンツデータのみが行えるものである。すなわち、情報処理装置1は、複数のコンテンツデータの分割処理を行うことができない。そこで、情報処理装置1は、複数のコンテンツデータを同時期に投入する場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成する。
例えば、情報処理装置1は、図3に示す「配信方法1」のように、分割コンテンツデータA1の生成が完了すると、すぐに、分割コンテンツデータA1のハッシュ値を演算する。そして、情報処理装置1は、分割コンテンツデータA1のキャッシュID及びハッシュ値と、コンテンツデータAのコンテンツIDとを各配信サーバ2へ送信する。また、投入先の配信サーバ2の要求に応じて、分割コンテンツデータA1,A2,A3のキャッシュIDを含むコンテンツ構成情報や分割コンテンツデータA1を送信する。次に、情報処理装置1は、分割コンテンツデータB1の生成が完了すると、すぐに、分割コンテンツデータB1のハッシュ値を演算する。そして、情報処理装置1は、投入先の配信サーバ2の要求に応じて、分割コンテンツデータB1のキャッシュID及びハッシュ値と、コンテンツデータBのコンテンツIDとを配信サーバ2へ送信する。その後、分割コンテンツデータA2,B2,A3,B3を生成していき、投入先の配信サーバ2の要求に応じて送信する。
一方、図3に示す従来の「配信方法2」では、分割コンテンツデータA1,A2,A3が生成された後にしか、各分割コンテンツデータA1,A2,A3の配信が可能とならない。さらに、分割コンテンツデータB1,B2,B3が生成された後にしか、各分割コンテンツデータB1,B2,B3の配信が可能とならない。このように、本実施形態の「配信方法1」は、図3に示すように、この「配信方法2」に比べ、複数の分割コンテンツデータの投入処理を短縮することができる。
また、分割すべきコンテンツデータが複数ある場合に、情報処理装置1は、分割処理を優先させるコンテンツデータを決定する。そして、情報処理装置1は、決定した結果に基づいて、コンテンツデータの分割処理を行う。
情報処理装置1は、配信を優先させるコンテンツデータとして、配信状況に応じたコンテンツデータを選択する。そして、情報処理装置1は、このように選択したコンテンツデータを優先して、分割処理を行う。例えば、情報処理装置1は、以下の(条件1),(条件2)のうちいずれかを満たすコンテンツデータを優先すべきコンテンツデータとして判定する。なお、(条件1),(条件2)は、その優先度合いを(条件1)>(条件2)とする。
(条件1)複数のコンテンツデータのうち、次に分割するセグメント位置と配信サーバ2が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータ。但し、送信要求があった分割コンテンツデータと次に分割すべき分割コンテンツデータのセグメント位置が所定以上離れているときは対象としない。
(条件2)複数のコンテンツデータのうち、そのセグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータ。
(条件1)複数のコンテンツデータのうち、次に分割するセグメント位置と配信サーバ2が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータ。但し、送信要求があった分割コンテンツデータと次に分割すべき分割コンテンツデータのセグメント位置が所定以上離れているときは対象としない。
(条件2)複数のコンテンツデータのうち、そのセグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータ。
例えば、情報処理装置1が、3つのコンテンツデータA,B,Cについて同時に投入処理を行う場合を考える。このとき、情報処理装置1は、図4に示すように、各コンテンツデータA,B,Cの最初の分割コンテンツデータA1,B1,C1を生成する。また、各コンテンツデータA,B,Cのコンテンツ構成情報を生成して、配信サーバ2の送信要求に応じて送信する。
ここで、コンテンツデータBのコンテンツ構成情報を受信した配信サーバ2が、すぐに、分割コンテンツデータB1の送信を情報処理装置1へ要求したとする。このとき、情報処理装置1は、図4に示すように、配信サーバ2への分割コンテンツデータB1の送信を開始する。なお、コンテンツデータA,Cのコンテンツ構成情報を受信した配信サーバ2は、分割コンテンツデータA1,C1の送信要求を行っていないものとする。
分割コンテンツデータC1の生成が完了すると、情報処理装置1は、(条件1)を満たすコンテンツデータがあるか否かを判定する。このとき、分割コンテンツデータの送信要求は、コンテンツデータBだけに行われている。従って、情報処理装置1は、(条件1)を満たすコンテンツデータがコンテンツデータBであると判定し、分割コンテンツデータB2を生成する。
その後、コンテンツデータCのコンテンツ構成情報を受信した配信サーバ2から分割コンテンツデータC1の送信要求が情報処理装置1にあったとする。このとき、情報処理装置1は、(条件1)を満たすコンテンツデータがあるか否かを判定する。分割コンテンツデータの送信要求は、コンテンツデータB、Cに行われている。コンテンツデータBについての送信要求は、分割コンテンツデータB1であり、次に分割すべきセグメント位置は、分割コンテンツデータB3である。一方、コンテンツデータCについての送信要求は、分割コンテンツデータC1であり、次に分割すべきセグメント位置は、分割コンテンツデータC2である。従って、次に分割するセグメント位置と配信サーバ2が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータは、コンテンツデータCとなる。情報処理装置1は、分割コンテンツデータC2を生成する。
分割コンテンツデータC2の生成が終了するまでに、分割コンテンツデータB1の配信が終了し、分割コンテンツデータB2の配信要求があったとする。分割コンテンツデータC2の生成が終了したとき、情報処理装置1は、(条件1)を満たすコンテンツデータがあるか否かを判定する。分割コンテンツデータの送信要求は、コンテンツデータB、Cに行われている。コンテンツデータBについての送信要求は、分割コンテンツデータB2であり、次に分割すべきセグメント位置は、分割コンテンツデータB3である。一方、コンテンツデータCについての送信要求は、分割コンテンツデータC1であり、次に分割すべきセグメント位置は、分割コンテンツデータC3である。従って、次に分割するセグメント位置と配信サーバ2が要求する分割コンテンツデータのセグメント位置とがより近いコンテンツデータは、コンテンツデータBとなる。情報処理装置1は、分割コンテンツデータB3を生成する。
分割コンテンツデータB3の生成が終了すると、情報処理装置1は、(条件1)を満たすコンテンツデータがあるか否かを判定する。このとき、コンテンツデータBの分割処理を終了している。また、コンテンツデータCについての送信要求は、分割コンテンツデータC1であり、次に分割すべきセグメント位置は、分割コンテンツデータC3である。ここで、(条件1)の例外である「所定以上」を「2つ以上」とする。このとき、コンテンツデータCにおいて、送信要求があった分割コンテンツデータと次に分割すべき分割コンテンツデータのセグメント位置が2つ以上離れている。従って、情報処理装置1は、(条件2)を満たすコンテンツデータがあるか否かを判定する。コンテンツデータAにおいて分割されたセグメント数の割合は、1/3であり、コンテンツデータCにおいて分割されたセグメント数の割合は、2/3である。従って、情報処理装置1は、(条件2)を満たすコンテンツデータをコンテンツデータAと判定する。そして、情報処理装置1は、分割コンテンツデータA2を生成する。
分割コンテンツデータB3の生成が終了すると、情報処理装置1は、(条件1)を満たすコンテンツデータがあるか否かを判定する。このとき、図4に示すように、分割コンテンツデータC1の送信が完了しており、分割コンテンツデータC2の送信要求が行われているとする。また、コンテンツデータAについての送信要求は行われていない。一方、コンテンツデータCについて送信要求が行われた分割コンテンツデータは分割コンテンツデータC2であり、次に分割すべきセグメント位置は、分割コンテンツデータC3である。従って、情報処理装置1は、(条件1)を満たすコンテンツデータはコンテンツデータCであると判定し、分割コンテンツデータC3を生成する。この時点でコンテンツデータB,Cの分割処理が終了しているため、情報処理装置1は、図4に示すように、コンテンツデータAの分割処理を行って分割コンテンツデータA3を生成する。
なお、上記(条件2)に代えて、下記(条件3)を適用することもできる。
(条件3)複数のコンテンツデータのうち、最初の分割コンテンツデータを配信サーバ2に送信した日時がより古いコンテンツデータ。
(条件3)複数のコンテンツデータのうち、最初の分割コンテンツデータを配信サーバ2に送信した日時がより古いコンテンツデータ。
このように、情報処理装置1では、分割コンテンツデータを生成する毎に優先すべきコンテンツデータを決定するようにしている。従って、分割すべきコンテンツデータが複数ある場合に、分割コンテンツデータをその配信状況に応じて効率的に生成することができる。
[1.2.情報処理装置1の構成及び動作の具体例]
次に、上述した情報処理装置1の構成及び動作について、さらに具体的に図面を参照して説明する。
次に、上述した情報処理装置1の構成及び動作について、さらに具体的に図面を参照して説明する。
(情報処理装置1の具体的構成)
情報処理装置1は、専用のコンピュータの他、一般のコンピュータを適用可能である。図5に示すように、情報処理装置1は、制御部11、記憶部12、通信部13、操作部14などから構成されている。制御部11、記憶部12、通信部13及び操作部14は、システムバス15を介して相互に接続されている。
情報処理装置1は、専用のコンピュータの他、一般のコンピュータを適用可能である。図5に示すように、情報処理装置1は、制御部11、記憶部12、通信部13、操作部14などから構成されている。制御部11、記憶部12、通信部13及び操作部14は、システムバス15を介して相互に接続されている。
制御部11は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されている。CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、指示受付手段、分割処理手段、生成手段、送信手段、決定手段、要求受付手段、ハッシュ値演算手段、ハッシュ値送信手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワークに接続された他のサーバから、通信部13を介して、制御部11の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部11の内部メモリに読み込まれるようにしてもよい。
記憶部12には、コンテンツデータが記憶されている。制御部11は、記憶部12に記憶したコンテンツデータを読み出して、配信サーバ2へ通信部13を介して送信することができるようになっている。また、制御部11は、通信部13を介して受信したコンテンツデータを、記憶部12に記憶する。
(情報処理装置1の具体的動作について)
以上のように構成された情報処理装置1の動作を、図面を参照して具体的に説明する。図6は情報処理装置1のメイン処理フローチャートである。なお、以下の各処理は、情報処理装置1の制御部11が上述した各手段等として機能することによって実行されるものである。情報処理装置1において、例えば、メイン電源スイッチ(図示せず)がONされたとき、制御部11のCPUは、内部メモリに記憶した情報処理プログラムを実行状態とする。
以上のように構成された情報処理装置1の動作を、図面を参照して具体的に説明する。図6は情報処理装置1のメイン処理フローチャートである。なお、以下の各処理は、情報処理装置1の制御部11が上述した各手段等として機能することによって実行されるものである。情報処理装置1において、例えば、メイン電源スイッチ(図示せず)がONされたとき、制御部11のCPUは、内部メモリに記憶した情報処理プログラムを実行状態とする。
情報処理装置1の制御部11は、図6に示すように、まず、コンテンツ配信指示があったか否かを判定する(ステップS1)。この処理において、制御部11は、操作部14への操作により記憶部12に記憶しているコンテンツデータの配信指示操作があったとき、コンテンツ配信指示があったと判定する。また、制御部11は、図示しないコンテンツデータ供給装置からコンテンツデータを受信したときに、コンテンツ配信指示があったと判定する。このように、制御部11は、コンテンツデータの配信指示を受け付ける指示受付手段として機能する。
コンテンツ配信指示があったと判定すると(ステップS1:Yes)、制御部11は、
コンテンツ配信指示に応じたコンテンツデータ(以下、「新規投入コンテンツデータ」という)の分割処理を開始する(ステップS2)。すなわち、制御部11は、新規投入コンテンツデータの最初の分割コンテンツデータを生成する。さらに、制御部11は、最初の分割コンテンツデータを所定のハッシュ関数で演算して、最初の分割コンテンツデータのハッシュ値を求める。制御部11は、新規投入コンテンデータのコンテンツ構成情報を生成する。コンテンツ構成情報は、新規投入コンテンツデータのコンテンツID及び全ての分割コンテンツデータのキャッシュIDを含む。そして、制御部11は、新規投入コンテンツデータのコンテンツIDと、最初の分割コンテンツデータのハッシュ値を、各配信サーバ2へ通信部13を介して送信する(ステップS3)。
コンテンツ配信指示に応じたコンテンツデータ(以下、「新規投入コンテンツデータ」という)の分割処理を開始する(ステップS2)。すなわち、制御部11は、新規投入コンテンツデータの最初の分割コンテンツデータを生成する。さらに、制御部11は、最初の分割コンテンツデータを所定のハッシュ関数で演算して、最初の分割コンテンツデータのハッシュ値を求める。制御部11は、新規投入コンテンデータのコンテンツ構成情報を生成する。コンテンツ構成情報は、新規投入コンテンツデータのコンテンツID及び全ての分割コンテンツデータのキャッシュIDを含む。そして、制御部11は、新規投入コンテンツデータのコンテンツIDと、最初の分割コンテンツデータのハッシュ値を、各配信サーバ2へ通信部13を介して送信する(ステップS3)。
一方、コンテンツ配信指示がないと判定すると(ステップS1:No)、制御部11は、配信サーバ2から分割コンテンツデータの送信要求があるか否かを判定する(ステップS4)。この処理において、分割コンテンツデータの送信要求があると判定すると(ステップS4:Yes)、制御部11は、送信要求があった分割コンテンツデータがあるか否かを判定する(ステップS5)。送信要求があった分割コンテンツデータが生成されていたとき、制御部11は、送信要求があった分割コンテンツデータが有ると判定し(ステップS5:YES)、送信要求に応じた分割コンテンツデータを通信部13を介して送信要求元の配信サーバ2へ送信する(ステップS6)。一方、送信要求があった分割コンテンツデータがないと判定すると(ステップS5:No)、制御部11は、送信要求があった分割コンテンツデータが未分割である旨を送信要求元の配信サーバ2へ送信する(ステップS7)。
また、分割コンテンツデータの送信要求がないと判定すると(ステップS6:No)、制御部11は、投入コンテンツデータのコンテンツ構成情報の送信要求があるか否かを判定する(ステップS8)。この処理において、コンテンツ構成情報の送信要求があると判定すると(ステップS8:Yes)、制御部11は、コンテンツ構成情報を、通信部13を介して送信要求元の配信サーバ2へ送信する(ステップS9)。
ステップS8において、コンテンツ構成情報の送信要求がないと判定すると(ステップS8:No)、制御部11は、分割処理が終わっていないコンテンツデータ(以下、「分割中コンテンツデータ」という)があるか否かを判定する(ステップS10)。
分割中コンテンツデータがあると判定すると(ステップS10:Yes)、制御部11は、コンテンツデータの分割処理を行って分割コンテンツデータを生成する(ステップS11)。このステップS11の処理は、図7に示すステップS20〜S28の処理であり、後で詳述する。このように、制御部11は、配信指示が受け付けられたコンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段として機能する。
ステップS3,S6,S7,S9,S11の処理が終了したとき、又は、分割中コンテンツデータがないと判定すると(ステップS10:No)、制御部11は、処理の終了指示を検出したか否かを判定する(ステップS12)。例えば、情報処理装置1のメイン電源スイッチがOFF状態へ移行したとき、制御部11は、終了指示を検知する。制御部11は、終了指示を検知したと判定すると(ステップS12:Yes)、処理を終了し、一方、終了指示を検知していないと判定すると(ステップS12:No)、ステップS1からの処理を繰り返す。
次に、ステップS11で実行されるコンテンツデータの分割処理について図7のフローチャートを参照して具体的に説明する。
コンテンツデータの分割処理を開始すると、制御部11は、図7に示すように、分割中コンテンツデータが複数あるか否かを判定する(ステップS20)。この処理において、分割中コンテンツデータが複数あると判定すると(ステップS20:Yes)、制御部11は、上記(条件1)を満たす分割中コンテンツデータがあるか否かを判定する(ステップS21)。
上記(条件1)を満たす分割中コンテンツデータがあると判定すると(ステップS21:Yes)、制御部11は、(条件1)を満たす分割中コンテンツデータにおいて、まだ分割が終了していないセグメント位置のうち、最後に分割したセグメント位置の次に分割すべきセグメント位置(以下、「次に分割すべきセグメント位置」とする。)の分割コンテンツデータを1つ生成する(ステップS22)。例えば、分割コンテンツデータA1,A2,・・・,A7が生成されるコンテンツデータにおいて、分割コンテンツデータA3までが生成されているとき、制御部11は、次に分割すべきセグメント位置の分割コンテンツデータA4を生成する。
一方、上記(条件1)を満たす分割中コンテンツデータがないと判定すると(ステップS21:No)、制御部11は、(条件2)を満たす分割中コンテンツデータにおいて次に分割すべきセグメント位置の分割コンテンツデータを1つ生成する(ステップS23)。
このように、制御部11は、分割すべきコンテンツデータが複数ある場合に、分割処理を優先させるコンテンツデータを決定する決定手段として機能する。また、制御部11は、分割すべきコンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成する分割処理手段として機能する。さらに、制御部11は、分割処理手段として決定手段による決定に基づいて、コンテンツデータの分割処理を分割コンテンツデータ単位で行う。
ステップS20において、分割中コンテンツデータが複数ないと判定すると(ステップS20:No)、制御部11は、分割中コンテンツデータにおいて次に分割すべきセグメント位置の分割コンテンツデータを1つ生成する(ステップS24)。
次に、制御部11は、ステップS22〜S24の処理で分割コンテンツデータの生成に失敗したか否かを判定する(ステップS25)。分割コンテンツデータの生成に失敗したと判定すると(ステップS25:Yes)、制御部11は、配信エラーを各配信サーバ2へ送信する(ステップS26)。このステップS26の処理が終了すると、コンテンツデータの分割処理を終了する。なお、分割コンテンツデータの生成の失敗は、例えば、コンテンツデータを記憶部12から読み出せない場合などに発生する。
一方、分割コンテンツデータの生成に失敗していないと判定したとき(ステップS25:No)、制御部11は、ステップS22〜S24の処理で生成した分割コンテンツデータのハッシュ値を所定のハッシュ関数により演算する(ステップS27)。そして、制御部11は、このように生成したハッシュ値を配信サーバ2へ配信する(ステップS28)。ここで、ハッシュ値の送信先となる配信サーバ2は、このハッシュ値に対応するコンテンツデータに関するコンテンツ構成情報が送信された配信サーバ2である。ステップS28の処理が終了すると、コンテンツデータの分割処理を終了する。
このように、制御部11は、分割コンテンツデータが生成されるごとに順次、その分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段として機能する。また、制御部11は、分割コンテンツデータのハッシュ値が演算されるごとに順次、そのハッシュ値をノード装置へ送信するハッシュ値送信手段として機能する。
[1.3.配信サーバ2の構成及び動作の具体例]
次に、上述した配信サーバ2の構成及び動作について、さらに具体的に図面を参照して説明する。
次に、上述した配信サーバ2の構成及び動作について、さらに具体的に図面を参照して説明する。
(配信サーバ2の具体的構成)
配信サーバ2は、専用のコンピュータの他、一般のサーバコンピュータを適用可能である。図8に示すように、配信サーバ2は、制御部21、記憶部22、通信部23などから構成されている。制御部21、記憶部22及び通信部23は、システムバス25を介して相互に接続されている。
配信サーバ2は、専用のコンピュータの他、一般のサーバコンピュータを適用可能である。図8に示すように、配信サーバ2は、制御部21、記憶部22、通信部23などから構成されている。制御部21、記憶部22及び通信部23は、システムバス25を介して相互に接続されている。
制御部21は、CPU(Central Processing Unit)、内部メモリから構成される。この内部メモリには、情報処理プログラムが格納されている。CPUは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、各種の処理手段等として機能する。なお、この情報処理プログラムは、例えば、ネットワークに接続された他のサーバから、通信部23を介して、制御部21の内部メモリにダウンロードされるようにしてもよい。また、この情報処理プログラムは、CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部21の内部メモリに読み込まれるようにしてもよい。
(配信サーバ2の具体的動作について)
以上のように構成された配信サーバ2の動作を、図面を参照して具体的に説明する。図9は配信サーバ2のコンテンツデータ取得処理フローチャートである。なお、以下の各処理は、配信サーバ2の制御部21が各種の処理手段等として機能することによって実行されるものである。
以上のように構成された配信サーバ2の動作を、図面を参照して具体的に説明する。図9は配信サーバ2のコンテンツデータ取得処理フローチャートである。なお、以下の各処理は、配信サーバ2の制御部21が各種の処理手段等として機能することによって実行されるものである。
このコンテンツデータ取得処理は、例えば、図示しない端末装置からコンテンツデータの送信要求があったときに開始するものである。なお、端末装置は、情報処理装置1が分割処理を開始ときに、新規投入コンテンツデータのコンテンツIDを情報処理装置1から取得することができ、このコンテンツIDに基づいて、配信サーバ2に対してコンテンツデータの送信要求を行う。また、このコンテンツデータ取得処理は、配信サーバ2が情報処理装置1からコンテンツIDを取得したときに開始するようにしてもよい。
配信サーバ2の制御部21は、コンテンツデータ取得処理を開始すると、まず、取得しようとする新規投入コンテンツデータのコンテンツIDに基づき、コンテンツ構成情報を検索する(ステップS30)。すなわち、制御部21は、新規投入コンテンツデータのコンテンツIDに最も近い第1ルートノードから第1ホルダノードの所在情報を取得し、第1ホルダノードにコンテンツ構成情報の送信要求を行う。第1ホルダノードが存在せず、第1ルートノードが第1ホルダノードの所在情報を有していないときや第1ホルダノードが存在しないときには、制御部21は、情報処理装置1に対してコンテンツ構成情報の送信要求を行う。
次に、制御部21は、情報処理装置1又は他の配信サーバ2から通信部23を介してコンテンツ構成情報を受信したか否かを判定する(ステップS31)。この処理において、コンテンツ構成情報を受信したと判定すると(ステップS31:Yes)、制御部21は、最初の分割コンテンツデータの取得処理を行う(ステップS32)。すなわち、制御部21は、最初の分割コンテンツデータのキャッシュIDをコンテンツ構成情報から抽出し、このキャッシュIDに基づき、コンテンツ構成情報を記憶する第2ホルダノードの所在情報を第2ルートノードから通信部23を介して取得する。そして、制御部21は、所在情報を取得した第2ホルダノードに対して、最初の分割コンテンツデータを通信部23を介して取得し記憶部22に記憶する。第2ホルダノードが存在せず、第2ルートノードが第2ホルダノードの所在情報を有していないときや第2ホルダノードが存在しないときには、制御部21は、情報処理装置1から最初の分割コンテンツデータを取得し記憶部22に記憶する。この分割コンテンツデータの取得は、コンテンツ構成情報に含まれるコンテンツデータのコンテンツIDと最初の分割コンテンツデータのキャッシュIDとを含む送信要求を行うことによって、取得したい分割コンテンツデータを指定する。
一方、コンテンツ構成情報を受信していないと判定すると(ステップS31:No)、制御部21は、情報処理装置1から通信部23を介して分割コンテンツデータのハッシュ値を受信したか否かを判定する(ステップS33)。分割コンテンツデータのハッシュ値を受信したと判定すると(ステップS33:Yes)、制御部21は、受信したハッシュ値を記憶部22に記憶する(ステップS34)。
ステップS33において、分割コンテンツデータのハッシュ値を受信していないと判定すると(ステップS33:No)、制御部21は、次に取得すべき分割コンテンツデータがあるか否かを判定する(ステップS35)。この処理において、制御部21は、コンテンツ構成情報に含まれるキャッシュIDの分割コンテンツデータのうち取得していない分割コンテンツデータがあるときに、次に取得すべき分割コンテンツデータがあると判定する。なお、後述するステップS38で取得処理が中止となったコンテンツデータに対してはこの判定処理を行わない
次に取得すべき分割コンテンツデータがあると判定すると(ステップS35:Yes)、制御部21は、情報処理装置1から通信部23を介して配信エラーを受信したか否かを判定する(ステップS36)。この処理において、配信エラーを受信したと判定すると(ステップS36:Yes)、制御部21は、配信エラーとなったコンテンツデータに関してその分割コンテンツデータの取得処理を中止する(ステップS38)。
配信エラーを受信していないと判定すると(ステップS36:No)、制御部21は、最初の分割コンテンツデータの取得処理と同様に、次に取得すべき分割コンテンツデータを情報処理装置1又は他の配信サーバ2から取得し、記憶部22に記憶する(ステップS37)。
ステップS32,S37の処理が終了したとき、制御部21は、ステップS32,S76の処理において取得した分割コンテンツデータが正常受信できたか否かを判定する(ステップS39)。この処理において、制御部21は、取得した分割コンテンツデータを記憶部22から読み出して、所定のハッシュ関数で演算してハッシュ値を求める。また、制御部21は、情報処理装置1から受信して記憶部22に記憶しているハッシュ値のうち、取得した分割コンテンツデータに対応するハッシュ値を読み出す。そして、制御部21は、演算したハッシュ値と情報処理装置1から受信してハッシュ値と比較する。これらのハッシュ値が同じであるとき、制御部21は、取得した分割コンテンツデータが正常受信できたと判定する。
取得した分割コンテンツデータが正常受信できていないと判定すると(ステップS39:No)、制御部21は、正常に受信できていないと判定した分割コンテンツデータを記憶部22から削除する(ステップS40)。このように正常に受信できていないと判定した分割コンテンツデータは、ステップS32又はステップS37において、次に取得すべき分割コンテンツデータとなる。
取得した分割コンテンツデータが正常受信できたと判定すると(ステップS39:Yes)、制御部21は、ステップS32,S37の処理において取得した分割コンテンツデータに対応するコンテンツデータについて、全ての分割コンテンツデータを取得したか否かを判定する(ステップS41)。例えば、コンテンツデータAの分割コンテンツデータを取得しているときに、ステップS32,S37の処理において取得した分割コンテンツデータがコンテンツデータAの分割コンテンツデータであるとする。このとき、コンテンツデータAの分割コンテンツデータA1,A2,・・・,A12であり、ステップS32,S37の処理において取得した分割コンテンツデータが分割コンテンツデータA12であれば、制御部21は、全ての分割コンテンツデータを取得したと判定する。
全ての分割コンテンツデータを受信したと判定すると(ステップS41:Yes)、制御部21は、記憶部22に記憶した分割コンテンツデータを読み出して統合し、コンテンツデータを復元する(ステップS42)。そして、制御部21は、復元したコンテンツデータを記憶部22に記憶する。例えば、コンテンツデータAの分割コンテンツデータA1,A2,・・・,A12であり、これらの分割コンテンツデータを全て受信したとき、分割コンテンツデータA1に分割コンテンツデータA2から順次分割コンテンツデータA12まで結合することで統合する。
ステップS38,S40,S42の処理が終了したとき、制御部21は、コンテンツデータ取得処理を終了する。一方、ステップS34の処理が終了したとき、ステップS35において次に取得すべき分割コンテンツデータがないと判定したとき(ステップS35:No)、及びステップS41において全ての分割コンテンツデータを受信していないと判定したとき(ステップS41:No)、制御部21は、ステップS31の処理に戻り処理を継続する。
[2.第2実施形態]
上述した第1実施形態では、分割コンテンツデータを生成する毎に優先すべきコンテンツデータを決定するようにしたが、第2実施形態では、コンテンツデータ単位で優先すべきコンテンツデータを決定する。なお、第2実施形態の情報処理装置を情報処理装置1’とし、第2実施形態の配信サーバを配信サーバ2’として説明する。なお、第2実施形態の情報処理装置1’は、第1実施形態の情報処理装置1と情報処理プログラムが異なるのみであり、ここでは各構成要素に同一符号を付して説明する。また、コンテンツデータAは分割処理により分割コンテンツデータA1,A2,A3が生成され、コンテンツデータBは分割処理により分割コンテンツデータB1,B2,B3が生成されるものとする。
上述した第1実施形態では、分割コンテンツデータを生成する毎に優先すべきコンテンツデータを決定するようにしたが、第2実施形態では、コンテンツデータ単位で優先すべきコンテンツデータを決定する。なお、第2実施形態の情報処理装置を情報処理装置1’とし、第2実施形態の配信サーバを配信サーバ2’として説明する。なお、第2実施形態の情報処理装置1’は、第1実施形態の情報処理装置1と情報処理プログラムが異なるのみであり、ここでは各構成要素に同一符号を付して説明する。また、コンテンツデータAは分割処理により分割コンテンツデータA1,A2,A3が生成され、コンテンツデータBは分割処理により分割コンテンツデータB1,B2,B3が生成されるものとする。
コンテンツデータの配信指示がコンテンツデータA,Bの順であるとする。このとき、情報処理装置1’の制御部11は、図10に示すように、分割コンテンツデータA1を生成した後、分割コンテンツデータB1を生成する。また、コンテンツデータAのコンテンツ構成情報と、コンテンツデータBのコンテンツ構成情報を生成して、各配信サーバ2’へ送信する。
その後、コンテンツデータBのコンテンツ構成情報を受信した配信サーバ2’から、最初の分割コンテンツデータB1の送信要求があったとする。情報処理装置1’の制御部11は、最初に分割コンテンツデータの送信要求が行われたコンテンツデータBを、分割処理を優先するコンテンツデータ(以下、「優先コンテンツデータ」という)とする。すなわち、情報処理装置1’の制御部11は、図10に示すように、分割コンテンツデータB1の生成が終了すると、分割コンテンツデータA2,A3を生成する前に、分割コンテンツデータB2,B3を生成する。
より具体的な処理としては、情報処理装置1’の制御部11は、図6に示すステップS5の処理を行った後、次の処理を行う。まず、情報処理装置1’の制御部11は、ステップS50(図示せず)として、分割コンテンツデータの送信要求が、優先コンテンツデータであるか否かを判定する。そして、情報処理装置1’の制御部11は、ステップS50の送信要求が優先コンテンツデータに対するものではないと判定すると、ステップS51(図示せず)として、他の分割中コンテンツデータが優先コンテンツデータに設定されているか否かを判定する。ステップS51において、他の分割中コンテンツデータが優先コンテンツデータに設定されていないと判定すると、情報処理装置1’の制御部11は、ステップS5で送信要求があったと判定した分割コンテンツデータのコンテンツデータを優先コンテンツデータとして、ステップS6に移行する。ステップS51において、他の分割中コンテンツデータが優先コンテンツデータに設定されていると判定すると、情報処理装置1’の制御部11は、処理をステップS6に移行する。また、ステップS50において、ステップS50の送信要求が優先コンテンツデータに対するものであると判定すると、処理をステップS6に移行する。また、情報処理装置1’の制御部11は、図7に示すステップS20の処理を行った後、次の処理を行う。まず、情報処理装置1’の制御部11は、分割中コンテンツデータが複数あると判定すると(ステップS20:Yes)、これらの分割中コンテンツデータのうち優先コンテンツデータに対して、分割処理を行う。そして、分割処理による分割コンテンツデータについて、ステップS25〜S28と同様の処理を行う。その後、情報処理装置1’の制御部11は、分割処理を行った分割コンテンツデータが最後の分割コンテンツデータであるかを判定する。
このように、第2実施形態における情報処理装置1’の制御部11は、複数のコンテンツデータのうち、分割コンテンツデータの要求のタイミングが早いコンテンツデータを、優先させるコンテンツデータとして決定する決定手段として機能する。
分割中コンテンツデータが複数あるとき、情報処理装置1’の制御部11は、例えば、最も古く処理待ちコンテンツデータとなった分割中コンテンツデータを優先コンテンツデータとすることもできる。
なお、上述した実施形態においては、情報処理装置1,1’は、最初の分割コンテンツデータのハッシュ値をコンテンツ構成情報に含ませて配信サーバ2、2’へ送信するようにしたがこれに限られない。例えば、情報処理装置1,1’は、最初の分割コンテンツデータの送信要求があったときに、最初の分割コンテンツデータと共にそのハッシュ値を送信要求元の配信サーバ2へ送信するようにしてもよい。
また、上述した実施形態においては、最初の分割コンテンツデータを生成した後に、コンテンツIDと複数のキャッシュIDとを含むコンテンツ構成情報を配信サーバ2、2’に送信するようにしたがこれに限られない。例えば、最初の分割コンテンツデータを生成する前や生成を開始するときに、コンテンツ構成情報を配信サーバ2、2’に送信するようにしてもよい。
また、分割コンテンツデータを所定のハッシュ関数でハッシュ化するとき、分割コンテンツデータの全部をハッシュ化してもよく、また、分割コンテンツデータの一部をハッシュ化してもよい。
また、情報処理装置1,1’は、新規投入コンテンツデータのコンテンツIDやキャッシュIDの送信を、各配信サーバ2,2’や端末装置(図示せず)から要求があったときに行うようにしてもよい。また、多数のコンテンツデータのコンテンツIDやキャッシュIDをカタログ情報として、各配信サーバ2,2’や端末装置(図示せず)へ提供するようにしてもよい。この場合、情報処理装置1,1’は、新規投入コンテンツデータがあるときにこのコンテンツデータのコンテンツIDやキャッシュIDをカタログ情報に含ませて更新する。情報処理装置1,1’は、カタログ情報を更新したときに各配信サーバ2や端末装置(図示せず)に送信するものであるが、各配信サーバ2,2’や端末装置(図示せず)から要求があったときに更新したカタログ情報を送信するようにしてもよい。
1 情報処理装置
2 配信サーバ
11 情報処理装置の制御部
12 情報処理装置の記憶部
2 配信サーバ
11 情報処理装置の制御部
12 情報処理装置の記憶部
Claims (11)
- コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付手段と、
前記指示受付手段により配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理手段と、
前記分割処理手段により生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成手段と、
前記複数のコンテンツデータの夫々において、前記分割処理手段により最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信手段と、
を備えることを特徴とする情報処理装置。 - 前記分割処理手段は、分割すべき前記コンテンツデータが複数ある場合、各コンテンツデータの分割処理が互いに重ならないようにそれぞれ順番に分割コンテンツデータを生成することを特徴とする請求項1に記載の情報処理装置。
- 前記分割処理手段により分割すべき前記コンテンツデータが複数ある場合に、前記分割処理手段による分割処理を優先させるコンテンツデータを決定する決定手段を備え、
前記分割処理手段は、前記決定手段による決定に基づいて、前記コンテンツデータの分割処理を行うことを特徴とする請求項2に記載の情報処理装置。 - 前記ノード装置により前記コンテンツデータの要求を取得する要求受付手段を備え、
前記決定手段は、前記複数のコンテンツデータのうち、前記要求受付手段により受け付けた要求のタイミングが早いコンテンツデータを、前記優先させるコンテンツデータとして決定することを特徴とする請求項3に記載の情報処理装置。 - 前記決定手段は、前記分割処理を優先させるコンテンツデータの決定を、前記分割コンテンツデータ単位で行うことを特徴とする請求項3に記載の情報処理装置。
- 前記複数のノード装置のいずれかのノード装置により要求された前記分割コンテンツデータの要求を取得する要求受付手段を備え、
前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、次に前記分割処理手段により分割されるセグメント位置と前記ノード装置が要求する分割コンテンツデータのセグメント位置とが近いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項5に記載の情報処理装置。 - 前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、セグメント総数に対して分割されたセグメント数の割合がより少ないコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項6に記載の情報処理装置。
- 前記決定手段は、前記分割処理手段により分割すべき複数の前記コンテンツデータの中で、前記最初の分割コンテンツデータを前記ノード装置に送信した日時が古いコンテンツデータを、前記分割処理を優先させるコンテンツデータとして決定することを特徴とする請求項6に記載の情報処理装置。
- 前記分割コンテンツデータのハッシュ値を演算するハッシュ値演算手段と、
前記分割コンテンツデータのハッシュ値を前記ノード装置へ送信するハッシュ値送信手段と、を備え、
前記ハッシュ値演算手段は、前記分割処理手段によって一つのセグメントの分割コンテンツデータが生成されるごとに順次、当該生成した分割コンテンツデータのハッシュ値を演算し、
前記ハッシュ値送信手段は、前記ハッシュ値演算手段によって一つのセグメントの分割コンテンツデータのハッシュ値を演算するごとに順次、当該演算したハッシュ値を前記ノード装置へ送信することを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。 - コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、
前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、
前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、
前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信ステップと、
を有することを特徴とする情報処理装置の情報処理方法。 - コンテンツデータを送受信可能な複数のノード装置のうち少なくとも1以上のノード装置に送信するための、1以上の前記コンテンツデータの配信指示を受け付ける指示受付ステップと、
前記指示受付ステップにより配信指示が受け付けられた前記コンテンツデータを所定のデータ量のセグメントに順次分割して複数の分割コンテンツデータを生成する分割処理ステップと、
前記分割処理ステップにより生成された前記分割コンテンツデータそれぞれを識別するための識別情報を生成する生成ステップと、
前記複数のコンテンツデータの夫々において、前記生成ステップにより最初に生成された最初の分割コンテンツデータと、前記最初の分割コンテンツデータの前記識別情報とを前記ノード装置へ送信する送信ステップと、
をコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180179A JP2011034361A (ja) | 2009-07-31 | 2009-07-31 | 情報処理装置及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180179A JP2011034361A (ja) | 2009-07-31 | 2009-07-31 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011034361A true JP2011034361A (ja) | 2011-02-17 |
Family
ID=43763365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009180179A Pending JP2011034361A (ja) | 2009-07-31 | 2009-07-31 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011034361A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020031627A1 (ja) * | 2018-08-08 | 2020-02-13 | Kddi株式会社 | コンテンツ配信ネットワークの転送装置 |
-
2009
- 2009-07-31 JP JP2009180179A patent/JP2011034361A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020031627A1 (ja) * | 2018-08-08 | 2020-02-13 | Kddi株式会社 | コンテンツ配信ネットワークの転送装置 |
US11212359B2 (en) | 2018-08-08 | 2021-12-28 | Kddi Corporation | Transfer apparatus for content distribution network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099988B (zh) | 用于支持灰度发布的方法、访问方法以及装置和系统 | |
CN108924223B (zh) | 一种区块链的节点同步方法及装置 | |
US20140280604A1 (en) | Adaptive distributed application streaming | |
KR101424362B1 (ko) | 컨텐츠 전송 네트워크를 통한 청크식 다운로드 | |
JP5826287B2 (ja) | データ同期化 | |
US20120166403A1 (en) | Distributed storage system having content-based deduplication function and object storing method | |
JP2016508253A (ja) | コンテンツ取得ソース選択及び管理 | |
CN111190714A (zh) | 一种基于区块链的云计算任务调度系统及方法 | |
CN110198330B (zh) | 镜像下载方法和装置 | |
JP2006172472A5 (ja) | ||
JP6574914B2 (ja) | 共有コンテンツアイテムのランダム化ピアツーピア同期 | |
US9438666B2 (en) | Method and system for resource download | |
CN101848188A (zh) | 对数据块校验信息进行更新的方法和装置 | |
JP4877107B2 (ja) | 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法 | |
JP2011034361A (ja) | 情報処理装置及び情報処理方法 | |
CN112532754B (zh) | 校网文件快速服务方法和系统 | |
CN111125580B (zh) | 网络资源获取方法、装置、电子设备及存储介质 | |
JP2013171483A (ja) | 差分レプリケーションシステム、マスターデータベース装置、及びスレーブデータベース装置 | |
JP5658621B2 (ja) | 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム | |
US8315979B2 (en) | Node device, information communication system, method for retrieving content data, and computer readable medium | |
JP2008090564A (ja) | コンテンツ配信システム及び同システムにおける識別情報割当方法及び同システムにおける識別情報割当装置及び同装置のプログラム | |
US20090319612A1 (en) | Information distribution system, terminal apparatus, distribution server and introduction server in the information distribution system, and recording medium on which program thereof is recorded | |
US20240119064A1 (en) | Apparatus and method for synchronizing block in blockchain network | |
CN115185972B (zh) | 一种数字对象的存证副本的管理方法与装置 | |
US20230044756A1 (en) | Resource download in peer-to-peer networks |