以下図面について、本発明の一実施の形態を詳述する。
(1)データ配信システムの全体構成
図1において、1は全体として本発明によるデータ配信システムを示し、クライアント端末2はユーザにより、インターネット等のネットワーク3上で実施されている音楽配信を利用して1又は複数の楽曲を購入するように要求されると、ポータルサイトを運営しているコンピュータ構成のサーバ(以下、これをポータルサーバと呼ぶ)4を介してコンピュータ構成の取得使用情報提供サーバ5にアクセスする。そしてクライアント端末2は、かかる取得使用情報提供サーバ5から、購入対象の楽曲に相当するコンテンツデータと、当該コンテンツデータの再生等に関する属性を変更するためのコンテンツ属性情報との取得に使用する取得使用ファイルを取得する。
これによりクライアント端末2は、取得使用ファイルの内容に従って、コンピュータ構成でなり、同一のコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nからそれぞれコンテンツデータの異なる分割部分を取り込んで結合することで、そのコンテンツデータを復元して取得する。またクライアント端末2は、取得使用ファイルの内容に従って、コンピュータ構成の属性情報提供サーバ7からコンテンツデータに対応するコンテンツ属性情報を格納したコンテンツ属性ファイルを取得する。
このようにしてクライアント端末2は、楽曲の購入要求に応じてコンテンツデータ及びコンテンツ属性ファイルを揃えて取得した後、ユーザにより楽曲の再生が要求されると、そのコンテンツ属性ファイル内のコンテンツ属性情報に従って、対応するコンテンツデータを再生する。これによりクライアント端末2は、ユーザに対し、再生要求された楽曲を聴かせることができる。
(1−1)ポータルサーバ4の構成
図2に示すように、ポータルサーバ4は、CPU(Central Processing Unit)でなる制御部10がROM(Read Only Memory)11及びRAM(Random Access Memory)12を介して起動したOS(Operating System)等の基本プログラムや、課金状況通知プログラム、コンテンツ配信サービスプログラム等の各種アプリケーションプログラムに従って全体を統括的に制御して各種処理を実行する。
制御部10は、ユーザデータベース13に対し、データ配信システム1の利用が許可されたユーザ毎の識別情報(以下、これをユーザID(Identification)と呼ぶ)及びパスワード等の個人情報を記憶している。そして制御部10は、クライアント端末2からユーザによる1又は複数の楽曲の購入要求に応じて楽曲購入要求データが送信されると、かかる楽曲購入要求データをデータ通信処理部14を介して受信する。これに応じて制御部10は、楽曲購入要求データに格納されているユーザID及びパスワードと、ユーザデータベース13内の個人情報とに基づいてユーザに対する認証処理を実行する。
その結果、制御部10は、楽曲の購入を要求したユーザを個人認証すると、例えばそのユーザによる楽曲の購入に応じて実行される課金処理を識別可能な識別情報のように、クライアント端末2でその楽曲の購入要求に応じて実行される、コンテンツデータ及びコンテンツ属性ファイルの取得処理(以下、これを単に取得処理と呼ぶ)を特定可能な取得処理特定情報を格納した取得処理特定情報通知データを生成する。これにより制御部10は、かかる取得処理特定情報通知データをデータ通信処理部14を介してクライアント端末2に送信する。また制御部10は、クライアント端末2において、ユーザに対し楽曲を本当に購入するか否かを確認させる。
そして制御部10は、クライアント端末2から、ユーザによる楽曲購入の確認に応じて取得使用情報要求データが送信されると、その取得使用情報要求データをデータ通信処理部14を介して受信する。その受信に応じて制御部10は、先の楽曲購入要求データに格納されていた、購入対象の楽曲のコンテンツデータを識別可能な識別情報(以下、これをコンテンツIDと呼ぶ)と、取得使用情報要求データに格納されている取得処理特定情報とを格納したファイル要求データを生成する。そして制御部10は、かかるファイル要求データをデータ通信処理部14を介して取得使用情報提供サーバ5に送信する。その結果制御部10は、取得使用情報提供サーバ5から送信された取得使用ファイルをデータ通信処理部14を介して一旦受信する。これにより制御部10は、かかる取得使用ファイルをデータ通信処理部14を介してクライアント端末2に送信する。
また制御部10は、取得使用ファイルをクライアント端末2に送信すると、ユーザデータベース13において、楽曲を購入要求したユーザの個人情報に、取得処理特定情報と取得使用ファイルのファイル名とを関連付けて記憶する。
一方、制御部10は、クライアント端末2から、取得処理の途中でネットワーク3との通信接続が遮断された後、当該ネットワーク3に対して通信接続が可能な状態に復帰したことで、取得使用情報再要求データが送信されると、これをデータ通信処理部14を介して受信する。このとき制御部10は、取得使用情報再要求データに格納されている取得処理特定情報に基づいてユーザデータベース13の中から、クライアント端末2において通信接続の遮断により中断された取得処理で使用されていた取得使用ファイルのファイル名を探し出す。
そして制御部10は、クライアント端末2から取得使用情報再要求データとして送信された取得処理特定情報と、その取得処理特定情報を用いてユーザデータベース13の中から探し出したファイル名とを格納したファイル再要求データを生成する。これにより制御部10は、かかるファイル再要求データをデータ通信処理部14を介して取得使用情報提供サーバ5に送信する。その結果、制御部10は、取得使用情報提供サーバ5から送信された取得使用ファイルを受信すると、その取得使用ファイルを再びデータ通信処理部14を介してクライアント端末2に送信する。かくして制御部10は、クライアント端末2に対し、ネットワーク3との通信接続が遮断されたことで中断されていた取得処理を再開させることができる。
(1−2)取得使用情報提供サーバ5の構成
図3に示すように、取得使用情報提供サーバ5は、CPUでなる制御部20がROM21及びRAM22を介して起動したOS等の基本プログラムや、取得使用情報提供プログラム等の各種アプリケーションプログラムに従って全体を統括的に制御して各種処理を実行する。
ここで制御部20は、取得使用情報データベース23に対し、コンテンツデータ毎に、コンテンツIDと、コンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Nがそれぞれコンテンツデータ提供用に開設しているホームページ(以下、これをコンテンツ提供用ホームページと呼ぶ)のアドレス(URL:Uniform Resource Locator)と、1つの属性情報提供サーバ7がそのコンテンツデータに対応するコンテンツ属性ファイルの提供用に開設しているホームページ(以下、これを属性ファイル提供用ホームページと呼ぶ)のアドレス(URL)と、当該コンテンツデータのデータサイズを示すデータサイズ情報とを関連付けて記憶している。
従って制御部20は、ポータルサーバ4から送信されたファイル要求データをデータ通信処理部24を介して受信すると、当該ファイル要求データに格納されたコンテンツIDに基づいて取得使用情報データベース23の中から、そのコンテンツIDに関連付けている全てのコンテンツ提供用ホームページのアドレス(以下、これをコンテンツ提供アドレスと呼ぶ)及び1つの属性ファイル提供用ホームページのアドレス(以下、これを属性ファイル提供アドレスと呼ぶ)並びにデータサイズ情報をそれぞれ探し出す。
そして制御部20は、図4に示すように、購入要求された楽曲毎に、ファイル要求データに格納されたコンテンツIDと、これに基づいて取得使用情報データベース23の中から探し出した当該コンテンツIDに対応する全ての第1乃至第Nのコンテンツ提供アドレスと、1つの属性ファイル提供アドレスと、データサイズ情報とを関連付けて取得使用情報とする。また制御部20は、その取得使用情報を格納した取得使用ファイル25を生成する。これにより制御部20は、かかる取得使用ファイル25をデータ通信処理部24を介してポータルサーバ4経由でクライアント端末2に送信する。
また制御部20は、取得使用ファイル25をポータルサーバ4経由でクライアント端末2に送信すると、取得使用情報データベース23に対し、当該送信した取得使用ファイル25及びそのファイル名と、ファイル要求データに格納されていた取得処理特定情報とを関連付けて記憶して保管する。
一方、制御部20は、クライアント端末2がネットワーク3への通信接続の遮断から復帰したことでポータルサーバ4からファイル再要求データが送信されると、当該ファイル再要求データをデータ通信処理部24を介して受信する。このとき制御部20は、ファイル再要求データに格納された取得処理特定情報及びファイル名に基づいて、取得使用情報データベース23の中からそのファイル名の取得使用ファイル25(すなわち、クライアント端末2に対し、通信接続の遮断により中断された取得処理で使用させていた取得使用ファイル25)を探し出す。
そして制御部20は、その探し出した取得使用ファイル25の内容を取得使用情報データベース23の中の情報と比較する。その比較結果に応じて制御部20は、取得使用ファイル25においてコンテンツ提供アドレス及び属性ファイル提供アドレスに変更があるか否かを判別する。その判別結果に応じて制御部20は、コンテンツ提供アドレス及び属性ファイル提供アドレスに変更がなければ、取得使用ファイル25をその内容を変更せずにデータ通信処理部24からポータルサーバ4経由でクライアント端末2に送信する。
これに対して制御部20は、その判別結果に応じて、コンテンツ提供アドレス及び属性ファイル提供アドレスが変更されていれば、取得使用情報データベース23の中から探し出した取得使用ファイル25の内容を変更する。そして制御部20は、最新の内容の取得使用ファイル25をデータ通信処理部24からポータルサーバ4経由でクライアント端末2に送信する。
これにより制御部20は、クライアント端末2において一時的に中断されていた取得処理が再開された際、再び取得使用ファイル25の内容に従って、ユーザにより購入要求された楽曲に対応するコンテンツデータ及びコンテンツ属性ファイルを的確に取得させることができる。
(1−3)コンテンツ提供サーバ6A乃至6Nの構成
図5に示すように、コンテンツ提供サーバ6A乃至6Nは、それぞれ同様構成でなり、CPUでなる制御部30がROM31及びRAM32を介して起動したOS等の基本プログラムや、コンテンツ提供プログラム等の各種アプリケーションプログラムに従って全体を統括的に制御して各種処理を実行する。
制御部30は、コンテンツデータベース33に対し、多数のコンテンツデータ及びコンテンツIDを互いに関連付けて記憶している。そして制御部30は、クライアント端末2から取得使用ファイル25内のコンテンツ提供アドレスに従ってコンテンツ提供用ホームページにアクセスされた状態で、当該取得使用ファイル25内のコンテンツIDが格納され、かつ当該コンテンツIDに対応するコンテンツデータの分割開始位置及び分割終了位置からなる分割部分指定情報が格納された分割部分要求データが送信されると、これをデータ通信処理部34を介して受信する。
この際、制御部30は、分割部分要求データに格納されているコンテンツIDに基づいてコンテンツデータベース33の中から対応するコンテンツデータを探し出す。また制御部30は、分割部分要求データに格納されている分割部分指定情報に基づいて、その探し出したコンテンツデータから、クライアント端末2によって指定された分割開始位置及び分割終了位置間の分割部分データを分割する。これにより制御部30は、かかる分割部分データをデータ通信処理部34を介してクライアント端末2に送信する。
(1−4)属性情報提供サーバ7の構成
図6に示すように、属性情報提供サーバ7は、CPUでなる制御部40がROM41及びRAM42を介して起動したOS等の基本プログラムや、属性情報提供プログラム、課金状況管理プログラム等の各種アプリケーションプログラムに従って全体を統括的に制御して各種処理を実行する。
制御部40は、属性ファイルデータベース43に対し、コンテンツ属性ファイルと、当該コンテンツ属性ファイルを提供する属性ファイル提供用ホームページの属性ファイル提供アドレスとをコンテンツ属性ファイル毎に関連付けて記憶している。そして制御部40は、クライアント端末2から取得使用ファイル25内の属性ファイル提供アドレスに従って属性ファイル提供用ホームページにアクセスされると、これに応じて属性ファイルデータベース43の中から当該アクセスされた属性ファイル提供用ホームページで提供するコンテンツ属性ファイルを探し出す。これにより制御部40は、そのコンテンツ属性ファイルをデータ通信処理部44を介してクライアント端末2に送信する。
ここで図7に示すように、コンテンツ属性ファイル47には、対応するコンテンツデータの属性を変更するためのコンテンツ属性情報として、クライアント端末2でそのコンテンツデータの暗号化を解く際に用いるコンテンツキー、当該暗号化を解いたコンテンツデータに対して送信側で施した圧縮符号化を復号する際に参照するコーデック識別値及びコーデック属性、コンテンツデータに対する利用権利として規定した再生可能な回数を示す再生制限情報、当該コンテンツデータの正当性をチェックするための正当性チェックフラグ、クライアント端末2からコンテンツデータを外部の記録媒体に複写して記録する回数を規定した、いわゆるチェックアウト回数、コーデック依存情報、対応するコンテンツデータのコンテンツID、当該コンテンツデータに対する利用権利として規定した再生可能な期間を示す再生許可開始日時及び再生許可終了日時の情報が格納されている。
このため図7からも明らかなように、クライアント端末2は、コンテンツデータを受信しても、そのコンテンツデータとこれに対応するコンテンツ属性ファイル47とが揃わなければ、当該コンテンツデータに対する暗号化を解いたり、デコードしたりして再生し得ないようになっている。従って制御部40は、このようにコンテンツデータに対応するコンテンツ属性ファイル47を用意しておくことで、コンテンツデータのみが第三者に入手されても不正に利用されることを防止している。
(1−5)クライアント端末2の構成
図8に示すようにクライアント端末2のCPU100は、バス101を介して接続されたROM102から読み出してRAM103に展開したOS等の基本プログラム及び各種アプリケーションプログラムに基づき全体の制御や所定の演算処理等を行う。これによりCPU100は、例えばネットワーク3を介した楽曲購入用の通信動作、ユーザからの入出力操作の受け付け、メディアからのコンテンツデータ再生、ラジオ局からダウンロードしたコンテンツデータや楽曲の購入によって取得したコンテンツデータ及びコンテンツ属性ファイル47のハードディスクドライブ(HDD)104への書き込み及びその管理等を実行する。
操作入力部105は、本体部の筐体表面やリモートコントローラ(図示せず)の各種操作子に対するユーザの操作に応じた入力情報を入力処理部106へ送出する。入力処理部106は、その入力情報に対し所定の処理を施した後に操作コマンドとしてCPU100へ送出する。これによりCPU100は、操作コマンドに応じた処理を実行する。
ディスプレイ107は、液晶ディスプレイ等の表示デバイスであり、例えば本体部の筐体表面に直接取り付けられている場合や、外付けであってもよい。そしてディスプレイ107は、CPU100による処理結果や各種情報を表示する。
メディアドライブ108は、例えばCD(Compact Disc)やフラッシュメモリでなるメモリスティック(登録商標)等のメディアからデータを再生するドライブである。そしてメディアドライブ108は、メディアからの再生結果をオーディオデータ処理部109を介してディジタルアナログ変換処理した後に2chのスピーカ110から出力する。
因みにCPU100は、メディアドライブ108を介してメディアから再生したデータが楽曲のコンテンツデータである場合、オーディオデータファイルとしてハードディスクドライブ104に記憶することも可能である。
またCPU100は、メディアドライブ108によってメモリスティック(登録商標)に記憶された複数枚の静止画を読み出し、これらを表示処理部111を介してディスプレイ107にスライドショーとして表示することもできる。
さらにCPU100は、ハードディスクドライブ104に記憶した複数の楽曲をランダムアクセスで読み出し、あたかもジュークボックスのようにユーザ所望の順番で再生して出力することも可能である。
チューナ部112は、例えばAM、FMラジオチューナである。そしてチューナ部112は、CPU100の制御に基づいて、アンテナ113で受信した放送信号を復調し、その結果を放送音声としてオーディオデータ処理部109を介してスピーカ110から出力する。
通信処理部114は、CPU100の制御に基づいて送信データをエンコード処理し、ネットワークインターフェース115を介してネットワーク3経由で外部のネットワーク対応機器(すなわち、各種サーバ)へ送信する。また通信処理部114は、外部のネットワーク対応機器(すなわち、各種サーバ)からネットワークインターフェース115を介して受信したコンテンツデータ等の受信データをデコード処理し、CPU100へ転送する。
(1−6)コンテンツデータのディレクトリ管理
クライアント端末2のCPU100は、ハードディスクドライブ104に記憶するコンテンツデータを、図9に示すディレクトリ構成で管理するようになされている。まず「root」ディレクトリの下層に対しては、規定範囲内での任意の数の「folder」ディレクトリが作成される。この「folder」ディレクトリは、例えばコンテンツデータが属するジャンル、又は所有ユーザ等に対応して作成される。
この「folder」ディレクトリの下層には、規定範囲内での任意の数の「album」ディレクトリが作成される。「album」ディレクトリは、例えば1つのアルバムタイトル毎に対応するようになされている。この「album」ディレクトリの下層には、その「album」ディレクトリに属するとされる1以上の「track」ファイルが格納される。この「track」ファイルは、1つの楽曲、すなわちコンテンツデータとなる。
このようなコンテンツデータについてのディレクトリ管理は、ハードディスクドライブ104に記憶されているデータベースファイルによって行われる。
(1−7)クライアント端末2のプログラムモジュール構成
図10に示すようにクライアント端末2のプログラムモジュールとしては、OS上で動作するようになされており、具体的にはCDの物販を行うCD販売業者サーバ120、インターネットラジオサーバ121、上述した取得使用情報提供サーバ5、コンテンツ提供サーバ6A乃至6N及び属性情報提供サーバ7からなる音楽配信運営サーバ122、上述したポータルサーバ4からなる総合サービスサーバ123、ラジオ局の放送した楽曲に関する楽曲情報を関連情報としてネットワーク3を介してクライアント端末2に提供する関連情報提供サーバ124他の各種サーバとの間でやりとりを行う。
HTTP(Hyper Text Transfer Protocol)メッセージプログラム130は、CD販売業者サーバ120、インターネットラジオサーバ121、音楽配信運営サーバ122、各種総合サービスを行う総合サービスサーバ123及び関連情報提供サーバ124等の各種サーバとの間のやりとりをHTTP通信で行うものである。コミュニケータプログラム131は、HTTPメッセージプログラム130とデータのやりとりを行うプログラムモジュールである。
コミュニケータプログラム131の上位には、コンテンツデータのコーデックを解釈して再生するコンテンツ再生モジュール132、利用権利等の著作権保護に関する情報を取り扱う著作権保護管理モジュール133が位置する。そのコンテンツ再生モジュール132、著作権保護管理モジュール133の上位には、インターネットラジオの選局及び再生を行うインターネットラジオ選局再生モジュール134、コンテンツ属性ファイル47の内容に従って楽曲購入及び試聴曲の再生を司る楽曲購入再生モジュール135がそれぞれ位置している。
それらインターネットラジオ選局再生モジュール134、楽曲購入再生モジュール135の上位にはXML(eXtensible Markup Language)ブラウザ136が位置する。XMLブラウザ136は、各種サーバからのXMLファイルを解釈し、ディスプレイ107に対して画面表示を行う。
例えば、XMLブラウザ136を介してユーザにより購入用に選択された楽曲は、楽曲購入再生モジュール135で取得使用ファイル25が取得された後、当該楽曲購入再生モジュール135及び著作権保護管理モジュール133でコンテンツデータ及びコンテンツ属性ファイル47として取得され、ハードディスクコンテンツコントローラ137を介してハードディスクドライブ104に書き込まれる。
因みにコミュニケータプログラム131には、ライブラリ138の認証ライブラリ138Aが接続されている。認証ライブラリ138Aは、総合サービスサーバ123やその他の各種サーバの認証処理を行う。
さらにコミュニケータプログラム131の上位には、データベースアクセスモジュール139、コンテンツデータアクセスモジュール140及びハードディスクコンテンツコントローラ137が位置する。
このデータベースアクセスモジュール139は、ハードディスクドライブ104に構築された各種データベースにアクセスする。コンテンツデータアクセスモジュール140は、ハードディスクドライブ104に格納されたコンテンツデータ及びコンテンツ属性ファイル47にアクセスする。ハードディスクコンテンツコントローラ137は、ハードディスクドライブ104に格納されたコンテンツデータ及びコンテンツ属性ファイル47を管理する。
ハードディスクコンテンツコントローラ137の上位には、ラジオ局が放送した楽曲のタイトル及びアーティスト名を表示するための関連情報表示モジュール141、及びラジオ局を選局したり、当該ラジオ局から受信した楽曲のコンテンツデータをハードディスクドライブ104に録音するチューナ選局再生/録音モジュール142が位置している。
例えば、オーディオユーザインターフェース(UI)143を介して選局されたラジオ局から受信した楽曲は、コンテンツデータアクセスモジュール140を介してハードディスクドライブ104へ書き込まれる。
関連情報表示モジュール141は、チューナ選局再生/録音モジュール142によって現在ラジオ局が放送している楽曲のタイトルやアーティスト名を関連情報として関連情報提供サーバ124からHTTPメッセージ130経由で受信し、これをオーディオユーザインターフェース143を介してディスプレイ107に表示する。
因みにオーディオユーザインターフェース143を介してディスプレイ107に表示した関連情報は、ライブラリ138のクリップライブラリ138Bに一時的に記憶することもでき、ユーザからの指示に従って最終的にはデータベースアクセスモジュール139を介してハードディスクドライブ104へ記憶される。
さらにクライアント端末2のプログラムモジュールとしては、CDを再生するためのCD再生モジュール144と、ハードディスクドライブ104を再生するためのHDD再生モジュール145とが含まれており、再生結果をオーディオデータ処理部109及びスピーカ110を介して出力する。
(2)楽曲購入処理手順
次に、ユーザによる楽曲の購入要求に応じてクライアント端末2及び各種サーバによって実行する楽曲購入処理手順について説明する。
以下に説明する楽曲購入処理手順としては、クライアント端末2が正常動作しているときの楽曲購入処理手順(以下、これを正常楽曲購入処理手順と呼ぶ)と、クライアント端末2が取得処理の中断から復帰したときの復帰処理に伴う楽曲購入処理手順(以下、これを復帰楽曲購入処理手順と呼ぶ)とがある。従って、以下には、かかる正常楽曲購入処理手順と、復帰楽曲購入処理手順とを順番に説明する。
(2−1)正常楽曲購入処理手順
複数のコンテンツ提供サーバ6A乃至6Nは、それぞれ自己の開設しているコンテンツ提供用ホームページを介してクライアント端末2に対し、同一のコンテンツデータを提供可能な場合がある。このような場合、クライアント端末2は、これら複数のコンテンツ提供用ホームページにそれぞれアクセスして複数のコンテンツ提供サーバ6A乃至6Nに対し、取得対象の1つのコンテンツデータを分割して要求する。
そしてクライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが複数存在する場合、以下に説明する第1乃至第3の分割部分要求手法のうち、ユーザに対し何れかの手法を任意に選択させて取得処理を実行する。ここで第1の分割部分要求手法は、取得使用ファイル25により通知された、1つのコンテンツデータを提供可能な複数のコンテンツ提供アドレスのアドレス数(以下、これを通知アドレス数と呼ぶ)を当該1つのコンテンツデータのコンテンツ分割数として複数のコンテンツ提供サーバ6A乃至6Nに対しそれぞれ1つのコンテンツデータの異なる分割部分データを要求するものである。また第2の分割部分要求手法は、ユーザに対し1つのコンテンツデータの取得に使用するアドレス数を任意に選択させ、通知アドレス数にかかわらずに、その選択されたアドレス数(以下、これを選択アドレス数と呼ぶ)をコンテンツ分割数として複数のコンテンツ提供サーバ6A乃至6Nに対しそれぞれコンテンツデータの異なる分割部分データを要求するものである。さらに第3の分割部分要求手法は、複数のコンテンツ提供サーバ6A乃至6Nに対してそれぞれ分割部分データを要求するものの、処理能力の低いコンテンツ提供サーバ6A乃至6Nについては分割部分データの受信を中断して他のコンテンツ提供サーバ6A乃至6Nに対し、当該中断した分割部分データの残り部分を要求するものである。
(2−1−1)第1の分割部分要求手法が選択された場合の正常楽曲購入処理手順
まず、クライアント端末2において、ユーザにより第1の分割部分要求手法が選択された場合の正常楽曲購入処理手順について、図11乃至図13に示すシーケンスチャートを用いて以下に説明する。
図11乃至図13に示すように、クライアント端末2は、ユーザにより第1の分割部分要求手法が選択された状態で1又は複数の楽曲の購入が要求されると、ステップSP1においてユーザのユーザID、パスワード及び購入対象の楽曲に対応するコンテンツIDを格納した楽曲購入要求データを生成する。そしてクライアント端末2は、かかる楽曲購入要求データをポータルサーバ4に送信して、次のステップSP2に移る。
このときステップSP31においてポータルサーバ4は、クライアント端末2から送信された楽曲購入要求データに基づいてユーザを個人認証する。この後、ポータルサーバ4は、クライアント端末2において、今回実行される取得処理を特定するための取得処理特定情報を取得処理特定情報通知データとして当該クライアント端末2に通知し、次のステップSP32に移る。
これによりステップSP2においてクライアント端末2は、ポータルサーバ4から通知された取得処理特定情報を、今回の取得処理の経過状況を示す処理経過情報としてハードディスクドライブ104のハードディスクに一時記憶し、次のステップSP3に移る。
ステップSP3においてクライアント端末2は、所定の画面上でユーザに対し、楽曲の購入の有無を確認する。その結果、クライアント端末2は、ユーザに楽曲を本当に購入する意思があることを確認すると、当該楽曲の購入要求に応じた取得処理の開始を示す取得開始情報を処理経過情報としてハードディスクに一時記憶した後、次のステップSP4に移る。
ステップSP4においてクライアント端末2は、ユーザID及び取得処理特定情報を格納した取得使用情報要求データを生成する。そしてクライアント端末2は、かかる取得使用情報要求データをポータルサーバ4に送信して、次のステップSP5に移る。
このときステップSP32においてポータルサーバ4は、クライアント端末2から送信された取得使用情報要求データに応じて、取得処理特定情報と、購入対象の楽曲に対応するコンテンツIDとを格納したファイル要求データを生成する。そしてポータルサーバ4は、かかるファイル要求データを取得使用情報提供サーバ5に送信する。
ステップSP41において取得使用情報提供サーバ5は、ポータルサーバ4から送信されたファイル要求データに基づいて、図4について上述した取得使用ファイル25を生成する。そして取得使用情報提供サーバ5は、かかる取得使用ファイル25をポータルサーバ4経由でクライアント端末2に送信する。また取得使用情報提供サーバ5は、そのファイル要求データに格納されている取得処理特定情報と、クライアント端末2に送信した取得使用ファイル25とを関連付けて取得使用情報データベース23に記憶する。
これによりステップSP5においてクライアント端末2は、取得使用情報提供サーバ5からポータルサーバ4経由で送信された取得使用ファイル25を受信してハードディスクに一時記憶する。そしてクライアント端末2は、その取得使用ファイル25の中から1つのコンテンツID(以下、これをコンテンツデータの要求用に選択されたことを示す要求コンテンツIDと呼ぶ)を選択する。またクライアント端末2は、その選択した要求コンテンツIDを処理経過情報としてハードディスクに一時記憶し、次のステップSP6に移る。
ここでクライアント端末2は、楽曲の購入要求に応じて取得するコンテンツデータ及びコンテンツ属性ファイル47の記憶管理用に、図9について上述した「album」ディレクトリを作成している。
またクライアント端末2は、購入対象の楽曲としてコンテンツデータ及びコンテンツ属性ファイル47を取得する毎に、楽曲の曲名やコンテンツID、「album」ディレクトリの名称、コンテンツデータ及び対応するコンテンツ属性ファイル47に対するハードディスク上の記憶アドレス等を互いに関連付けてデータベース化して記憶することにより取得情報データベースを構築している。
従ってステップSP6においてクライアント端末2は、ステップSP5で選択した1つの要求コンテンツIDと取得情報データベース内のコンテンツIDとを比較する。そしてクライアント端末2は、その比較結果に応じて、要求コンテンツIDが取得情報データベースに未登録であるか否かを判別する。
このステップSP6において肯定結果が得られると、このことはハードディスク内の取得情報データベースに対して、ステップSP5で選択した1つの要求コンテンツIDを未だ登録してはいないことを表している。すなわちかかる肯定結果は、クライアント端末2において、その要求コンテンツIDに対応するコンテンツデータを今回の取得処理によって始めて取得することを表している。従ってクライアント端末2は、このときステップSP7に移る。
ステップSP7においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応するコンテンツ提供アドレスの通知アドレス数を検出する。またクライアント端末2は、取得使用ファイル25の中から、要求コンテンツIDに対応するコンテンツデータのデータサイズ情報も選択する。
そしてクライアント端末2は、通知アドレス数及びデータサイズ情報に基づいて、要求コンテンツIDに対応するコンテンツデータを、当該通知アドレス数でなるコンテンツ分割数でそれぞれほぼ同じ分割データサイズの分割部分データに分割するための分割開始位置及び分割終了位置を決定する。またクライアント端末2は、このように決定した分割部分データ毎の分割開始位置及び分割終了位置からなる分割部分指定情報をそれぞれ処理経過情報とする。そしてクライアント端末2は、ハードディスクにおいて、ステップSP5ですでに処理経過情報として一時記憶していた要求コンテンツIDに対し、新たに処理経過情報とした分割部分指定情報を関連付けて一時記憶した後、ステップSP8に移る。
ステップSP8においてクライアント端末2は、ステップSP5で選択した要求コンテンツIDと共に分割部分指定情報を格納した、全ての分割部分データ分の分割部分要求データを生成して、次のステップSP9に移る。
ここでクライアント端末2は、同一のコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対し、それぞれ以下に示すステップSP9−SP10−SP11−SP12の処理(すなわち、図12中に破線Aで示す区間の処理)を同時並行的に実行している。しかしながら以下には、説明の便宜上、そのステップSP9−SP10−SP11−SP12において、1つのコンテンツ提供サーバ6Aに対する処理を説明する。
まずステップSP9においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応する全てのコンテンツ提供アドレスのうち1つのコンテンツ提供アドレスを選択する。そしてクライアント端末2は、そのコンテンツ提供アドレスに従ってコンテンツ提供用ホームページにアクセスする。この状態でクライアント端末2は、コンテンツ提供サーバ6Aに対し、ステップSP8で生成した全ての分割部分要求データのうち1つの分割部分要求データを送信して、次のステップSP10に移る。
このときステップSP51においてコンテンツ提供サーバ6Aは、クライアント端末2からの要求に応じて、要求コンテンツIDで指定されたコンテンツデータから分割開始位置及び分割終了位置間の分割部分データを分割する。そしてコンテンツ提供サーバ6Aは、コンテンツデータから分割した分割部分データをクライアント端末2に送信する。
これによりステップSP10においてクライアント端末2は、コンテンツ提供サーバ6Aから送信された分割部分データの受信を開始すると共に、ハードディスクに対し、当該受信した分割部分データを一時記憶し始めて、次のステップSP11に移る。
ステップSP11においてクライアント端末2は、ステップSP10で受信を開始した分割部分データの受信終端位置の情報(以下、これを受信終端位置情報と呼ぶ)を、その分割部分データの受信状況(すなわち、取得処理の経過状況でもある)を示す処理経過情報とする。そしてクライアント端末2は、ハードディスクにおいて、ステップSP5ですでに処理経過情報として一時記憶していた要求コンテンツID、及びステップSP7ですでに処理経過情報として一時記憶していた分割部分指定情報(すなわち、このステップSP10で受信を開始した分割部分データの分割部分指定情報)に対し、新たに処理経過情報とした受信終端位置情報を関連付けて一時記憶した後、ステップSP12に移る。
ステップSP12においてクライアント端末2は、ステップSP10で受信を開始した分割部分データの受信終端位置情報と、これに関連付けた分割部分指定情報の分割終了位置とに基づいて当該分割部分データの受信が完了したか否かを判別する。
このステップSP12において否定結果が得られると、このことはステップSP10で受信を開始した分割部分データの受信終端位置が未だ分割終了位置に到達してはいないことを表している。すなわちかかる否定結果は、クライアント端末2において、その分割部分データの受信が未だ完了してはいないことを表している。従ってクライアント端末2は、このときステップSP11に戻る。
そしてクライアント端末2は、この後、ステップSP12において肯定結果を得るまでの間、ステップSP11−SP12の処理を循環的に繰り返す。これによりクライアント端末2は、ステップSP10で受信を開始した分割部分データに対する受信終端位置の変化を受信状況の変化として時々刻々と更新する。
この後、ステップSP12において肯定結果が得られると、このことはステップSP10で受信を開始した分割部分データの受信終端位置が分割終了位置に到達したことを表している。すなわちかかる肯定結果は、クライアント端末2において、その分割部分データの受信が完了したことを表している。従ってクライアント端末2は、このとき受信の完了した分割部分データに対応する分割部分指定情報及び受信終端位置情報を消去して、次のステップSP13に移る。
ここでクライアント端末2は、上述したように各コンテンツ提供サーバ6A乃至6Nに対してそれぞれステップSP9−SP10−SP11−SP12の処理を実行している。しかしながら、これら各コンテンツ提供サーバ6A乃至6Nは、クライアント端末2から分割部分データが要求されても、通信回線の混雑具合や当該コンテンツ提供サーバ6A乃至6N自体の処理負荷の違い等に起因して、それぞれ分割部分データの要求を受けてからその分割部分データを送信するまでの時間が大幅に異なる場合がある。
このためステップSP13においてクライアント端末2は、各コンテンツ提供サーバ6A乃至6Nにそれぞれ要求した分割部分データの受信を全て完了したか否かを判別する。
このステップSP13において否定結果が得られると、このことは例えば分割部分データを要求した複数のコンテンツ提供サーバ6A乃至6Nのうち何れかのコンテンツ提供サーバ6A乃至6Nから送信された分割部分データを受信している途中であることを表している。従ってクライアント端末2は、このときステップSP13において全てのコンテンツ提供サーバ6A乃至6Nから送信された分割部分データの受信が完了することを待ち受ける。
そしてステップSP13において肯定結果が得られると、このことはコンテンツ提供サーバ6A乃至6Nに要求した、1つのコンテンツデータ分の全ての分割部分データに対する受信が完了したことを表している。従ってクライアント端末2は、このとき全ての分割部分データに対応する分割部分指定情報及び受信終端位置情報を消去して、次のステップSP14に移る。
ここでクライアント端末2は、上述のように各コンテンツ提供サーバ6A乃至6Nとの間の通信回線の混雑具合や当該コンテンツ提供サーバ6A乃至6N自体の処理負荷の違い等に起因して分割部分データの要求から受信までの時間が大幅に異なる場合がある。このためクライアント端末2は、各コンテンツ提供サーバ6A乃至6Nから、それぞれ分割部分データを元のコンテンツデータを構成する並びで順番に受信し得るとは限らない。
従ってクライアント端末2では、各コンテンツ提供サーバ6A乃至6Nから送信された分割部分データを受信してハードディスクに一時記憶するものの、その一時記憶した分割部分データの一時記憶アドレスも元のコンテンツデータを構成する並び通りに連続しているとは限らない。
このためステップSP14においてクライアント端末2は、ハードディスクに一時記憶していた全ての分割部分データに対する一時記憶アドレスを、元のコンテンツデータを構成する並びで順番に再生可能なように変更する。これによりクライアント端末2は、ハードディスク上でこれら各分割部分データを統合して分割前の元のコンテンツデータを復元する。そしてクライアント端末2は、その変更した一時記憶アドレスを、復元したコンテンツデータに対する保存用(すなわち、各分割部分データの一時記憶を解除して本記憶とする)の記憶アドレスとして、次のステップSP15に移る。
ところで上述のステップSP6において否定結果が得られると、このことはハードディスク内の取得情報データベースに対し、ステップSP5で選択した要求コンテンツIDをすでに登録していることを表している。すなわちかかる否定結果は、クライアント端末2において、要求コンテンツIDに対応するコンテンツデータを今回の取得処理以前にすでに取得していることを表している。従ってクライアント端末2は、このとき、すでに取得しているコンテンツデータを今回の取得処理で作成した「album」ディレクトリで管理する「track」ファイルとして複写して、ステップSP15に移る。
従ってステップSP15においてクライアント端末2は、ハードディスク上で復元したコンテンツデータ、又は「track」ファイルに複写したすでに取得しているコンテンツデータのコンテンツID(すなわち、ステップSP5で取得使用ファイル25の中から選択した要求コンテンツID)を当該コンテンツデータの記憶済を示す記憶済コンテンツIDとする。そしてクライアント端末2は、その記憶済コンテンツIDも処理経過情報としてハードディスクに一時記憶して、次のステップSP16に移る。
ステップSP16においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応する属性ファイル提供アドレスを選択する。そしてクライアント端末2は、その属性ファイル提供アドレスに従って属性ファイル提供用ホームページにアクセスして、次のステップSP17に移る。
このときステップSP61において属性情報提供サーバ7は、クライアント端末2のアクセスした属性ファイル提供用ホームページに対応するコンテンツ属性ファイル47を当該クライアント端末2に送信する。
これによりステップSP17においてクライアント端末2は、属性情報提供サーバ7から送信されたコンテンツ属性ファイル47を受信する。またクライアント端末2は、コンテンツ属性ファイル47の受信が完了すると、当該コンテンツ属性ファイル47のコンテンツ属性識別情報でなるファイル名を処理経過情報としてハードディスクに一時記憶し、次のステップSP18に移る。
ステップSP18においてクライアント端末2は、ステップSP5で選択した要求コンテンツIDと、複数の分割部分データとして取得したコンテンツデータ、及びコンテンツ属性ファイル47に対するハードディスク上の記憶アドレスとを関連付けて登録情報とする。そしてクライアント端末2は、ハードディスク内の取得情報データベースに対して、その登録情報を登録した後、次のステップSP19に移る。因みに、コンテンツデータの記憶アドレスは、ステップSP14において複数の分割部分データからコンテンツデータを復元したときに一時記憶アドレスから変更した記憶アドレスである。
ステップSP19においてクライアント端末2は、取得情報データベースに対する登録情報の登録完了を示す登録完了情報を処理経過情報としてハードディスクに一時記憶して、次のステップSP20に移る。
ステップSP20においてクライアント端末2は、今回購入要求された楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を全て取得したか否か(すなわち、購入要求された楽曲を全て購入したか否か)を判別する。
このステップSP20において否定結果が得られると、このことは今回ユーザによりアルバム内の複数の楽曲をまとめて購入するように要求されているために、当該複数の楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を未だ全て取得し終えてはいないことを表している。従ってクライアント端末2は、このときステップSP5に戻る。そしてクライアント端末2は、この後ステップSP20において肯定結果を得るまでの間、ステップSP5−SP6−SP7−SP8−SP9−SP10−SP11−SP12−SP13−SP14−SP15−SP16−SP17−SP18−SP19−SP20(特に、ステップSP9−SP10−SP11−SP12の処理は、同一のコンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Nに対して同時並行的に実行する)の処理を循環的に繰り返す。これによりクライアント端末2は、ユーザによって購入が要求された楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を順次コンテンツ提供サーバ6A乃至6N及び属性情報提供サーバ7から取得する。
これに対してステップSP20において肯定結果が得られると、このことは今回ユーザにより購入要求された1曲のみの楽曲、又はアルバム内の全ての楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を全て取得し終えたことを表している。従ってクライアント端末2は、このときステップSP21に移る。
ステップSP21においてクライアント端末2は、今回、取得処理を実行していた際にハードディスクに対し例えばログファイルとして順次一時記憶していた処理経過情報を全て消去してその取得処理を終了する。
このようにして図14に示すように、クライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Cが複数存在し、第1の分割部分要求手法が選択されたことで通知アドレス数をコンテンツ分割数とした場合、当該コンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Cに対してそれぞれ1回だけ、1つのコンテンツデータの異なる分割部分データを振り分けて要求する。その結果、クライアント端末2は、各コンテンツ提供サーバ6A乃至6Cから送信された分割部分データの受信が完了すると、これら分割部分データを統合する。これによりクライアント端末2は、これら分割部分データから取得対象のコンテンツデータを復元して取得することができる。
(2−1−2)第2の分割部分要求手法が選択された場合の正常楽曲購入処理手順
次いで、クライアント端末2において、ユーザにより第2の分割部分要求手法が選択された場合の正常楽曲購入処理手順について、図15乃至図18に示すシーケンスチャートを用いて以下に説明する。
図11乃至図13との対応部分に同一符号を付した図15乃至図18に示すように、クライアント端末2は、ユーザにより第2の分割部分要求手法が選択された状態で1又は複数の楽曲の購入が要求されると、上述した第1の分割部分要求手法が選択された場合と同様にステップSP1乃至ステップSP6の処理を順次実行する。そしてクライアント端末2は、ステップSP6において肯定結果を得ると、次のステップSP71に移る。
ステップSP71においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応するコンテンツ提供アドレスの通知アドレス数を検出する。またクライアント端末2は、取得使用ファイル25の中から、要求コンテンツIDに対応するコンテンツデータのデータサイズ情報を選択する。そしてクライアント端末2は、通知アドレス数と選択アドレス数とを比較する。これによりクライアント端末2は、その比較結果に応じて選択アドレス数と通知アドレス数とが同数であるか否かを判別する。
このステップSP71において肯定結果が得られると、このことはユーザにより予め選択されていた選択アドレス数と通知アドレス数とが同数であることを表している。従ってクライアント端末2は、このとき図11乃至図13について上述したステップSP7に移る。これによりクライアント端末2は、この後、図11乃至図13について上述した第1の分割部分要求手法が選択された場合と同様に、ステップSP7からステップSP21までの処理を順次実行する。
これに対してステップSP71において否定結果が得られると、このことはユーザにより予め選択されていた選択アドレス数と、取得使用ファイル25により通知された、要求コンテンツIDに対応するコンテンツ提供アドレスの通知アドレス数とが異なることを表している。従ってクライアント端末2は、このときステップSP72に移る。
ステップSP72においてクライアント端末2は、選択アドレス数が通知アドレス数よりも少ないか否かを判別する。
このステップSP72において肯定結果が得られると、選択アドレス数が通知アドレス数よりも少ないことを表している。すなわちかかる肯定結果は、クライアント端末2において、要求コンテンツIDに対応するコンテンツデータを、当該コンテンツデータを提供可能なコンテンツ提供用サーバ6A乃至6Nの数よりも少ないコンテンツ分割数(すなわち、選択アドレス数と同数であるコンテンツ分割数)で分割して、これらコンテンツ提供サーバ6A乃至6Nの何れかに振り分けて要求することを表している。従ってクライアント端末2は、このとき次のステップSP73に移る。
ステップSP73においてクライアント端末2は、通知アドレス数よりも少ない選択アドレス数とデータサイズ情報とに基づいて、要求コンテンツIDに対応するコンテンツデータを、当該選択アドレス数でなるコンテンツ分割数でそれぞれほぼ同じ分割データサイズとなる分割部分データに分割するための分割開始位置及び分割終了位置を決定する。またクライアント端末2は、このように決定した分割部分データ毎の分割開始位置及び分割終了位置からなる分割部分指定情報をそれぞれ処理経過情報とする。そしてクライアント端末2は、ハードディスクにおいて、ステップSP5ですでに処理経過情報として一時記憶していた要求コンテンツIDに対し、新たに処理経過情報とした分割部分指定情報を関連付けて一時記憶した後、ステップSP8の処理を経てステップSP74に移る。
ステップSP74においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応する全てのコンテンツ提供アドレスを取り出す。
ここで今回、実際に分割部分データを要求すべきコンテンツ提供サーバ6A乃至6Nの数は、要求コンテンツIDに対応するコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nの数よりも少ない。このためクライアント端末2は、取得使用ファイル25の中から取り出した全てのコンテンツ提供アドレスから、例えばユーザにより予め指定された、比較的処理負荷が大きく又は通信回線が混雑し易いコンテンツ提供サーバ6A乃至6Nに対応するコンテンツ提供アドレスや、そのときにユーザによって任意に指定されたコンテンツ提供アドレスを除く。このようにしてクライアント端末2は、取得使用ファイル25の中から取り出した全てのコンテンツ提供アドレスのうち、コンテンツ分割数(すなわち、選択アドレス数)と同数のコンテンツ提供アドレスを選定して、次のステップSP9に移る。
そしてクライアント端末2は、この後、上述した第1の分割部分要求手法が選択された場合と同様に、ステップSP9乃至ステップSP21までの処理を順次実行する。
一方、ステップSP72において否定結果が得られると、このことは選択アドレス数が通知アドレス数よりも多いことを表している。すなわちかかる否定結果は、クライアント端末2において、要求コンテンツIDに対応するコンテンツデータを、当該コンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nの数よりも多いコンテンツ分割数(すなわち、選択アドレス数と同数であるコンテンツ分割数)で分割して、これらコンテンツ提供サーバ6A乃至6Nに振り分けて要求することを表している。従ってクライアント端末2は、このとき次のステップSP75に移る。
ステップSP75においてクライアント端末2は、通知アドレス数よりも多い選択アドレス数とデータサイズ情報とに基づいて、要求コンテンツIDに対応するコンテンツデータを、その選択アドレス数でなるコンテンツ分割数でそれぞれほぼ同じ分割データサイズとなる分割部分データに分割するための分割開始位置及び分割終了位置を決定する。またクライアント端末2は、このように決定した分割部分データ毎の分割開始位置及び分割終了位置からなる分割部分指定情報をそれぞれ処理経過情報とする。そしてクライアント端末2は、ハードディスクにおいて、ステップSP5ですでに処理経過情報として一時記憶していた要求コンテンツIDに対し、新たに処理経過情報とした分割部分指定情報を関連付けて一時記憶した後、ステップSP8乃至ステップSP12の処理を順次実行してステップSP76に移る。
このとき要求コンテンツIDに対応するコンテンツデータのコンテンツ分割数(すなわち、分割部分データの数)は、通知アドレス数よりも多い。このためステップSP76においてクライアント端末2は、コンテンツ提供サーバ6A乃至6Nに対してコンテンツデータに対する分割部分データを全て要求したか否かを判別する。
このステップSP76において否定結果が得られると、このことは要求コンテンツIDに対応するコンテンツデータを分割する全ての分割部分データのうち、未だコンテンツ提供サーバ6A乃至6Nに要求してはいない分割部分データが存在することを表している。従ってクライアント端末2は、このときステップSP9に戻る。
このときステップSP9においてクライアント端末2は、要求コンテンツIDに対応するコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nのうち、分割部分データの受信が完了した順で当該受信の完了した分割部分データを送信していたコンテンツ提供サーバ6A乃至6Nに対し、引き続き新たな分割部分データを要求する。そしてクライアント端末2は、再びステップSP10乃至ステップSP12の処理を順次実行してステップSP76に移る。
ステップSP76において肯定結果が得られると、このことは要求コンテンツIDに対応するコンテンツデータの全ての分割部分データをコンテンツ提供サーバ6A乃至6Nに要求したことを表している。従ってクライアント端末2は、このときステップSP13に移る。そしてクライアント端末2は、この後、そのステップSP13乃至ステップSP21の処理を順次実行する。
このようにしてクライアント端末2は、要求コンテンツIDを選択する毎に、その要求コンテンツIDに対応するコンテンツ提供アドレスの通知アドレス数と、ユーザによって選択されていた選択アドレス数とに応じて上述した図12、図16及び図17について上述した一連の処理を選択的に実行する。その結果、クライアント端末2は、購入要求された全ての楽曲のコンテンツデータを取得すると共に、これに合わせて当該コンテンツデータに対応するコンテンツ属性ファイル47も全て取得すると、取得処理を終了する。
すなわち図19に示すように、クライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Dが複数存在し、第2の分割部分要求手法が選択されている場合に、コンテンツ分割数が通知アドレス数よりも少ないと、当該コンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Dのうち、例えば比較的処理負荷の大きいコンテンツ提供サーバ6Dを除く他のコンテンツ提供サーバ6A乃至6Cに対してそれぞれ1回だけ1つのコンテンツデータの異なる分割部分データを振り分けて要求する。これによりクライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Dを減らしても、取得対象のコンテンツデータを効率良く取得することができる。
また図20に示すように、クライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Cが複数存在し、第2の分割部分要求手法が選択されている場合に、コンテンツ分割数が通知アドレス数よりも多いと、当該コンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Cに対してそれぞれ1つのコンテンツデータの異なる分割部分データを振り分けて要求する。そしてクライアント端末2は、各コンテンツ提供サーバ6A乃至6Cに対する1回目の要求で残った分割部分データについては、これら各コンテンツ提供サーバ6A乃至6Cのうち、比較的処理負荷の小さいコンテンツ提供サーバ6A乃至6B、又は元々処理能力が比較的高いことで分割部分データの要求に迅速に対応可能なコンテンツ提供サーバ6A乃至6Bに対して優先的に要求する。これによりクライアント端末2は、コンテンツ分割数が通知アドレス数より多い場合でも、取得対象のコンテンツデータを効率良く取得することができる。
(2−1−3)第3の分割部分要求手法が選択された場合の正常楽曲購入処理手順
続いて、クライアント端末2において、ユーザにより第3の分割部分要求手法が選択された場合の正常楽曲購入処理手順について、図21乃至図23に示すシーケンスチャートを用いて以下に説明する。
図11乃至図13との対応部分に同一符号を付した図21乃至図23に示すように、クライアント端末2は、ユーザにより第3の分割部分要求手法が選択された状態で1又は複数の楽曲の購入が要求されると、上述した第1の分割部分要求手法が選択された場合と同様に、ステップSP1乃至ステップSP8の処理を順次実行して、次のステップSP81に移る。
ここでクライアント端末2は、同一のコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対してそれぞれ図22のステップSP81−SP10−SP11−SP82−SP12−SP83−SP84−SP85−SP86の処理(すなわち、図22中に破線Bで示す区間の処理)を同時並行的に実行している。しかしながら、以下には、説明の便宜上、かかるステップSP81−SP10−SP11−SP82−SP12−SP83−SP84−SP85−SP86において、1つのコンテンツ提供サーバ6Aに対する処理を説明する。
まずステップSP81においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5で選択した要求コンテンツIDに対応する全てのコンテンツ提供アドレスのうち1つのコンテンツ提供アドレスを選択する。そしてクライアント端末2は、その選択したコンテンツ提供アドレスに従ってコンテンツ提供用ホームページにアクセスする。この状態でクライアント端末2は、そのコンテンツ提供用ホームページを開設している1つのコンテンツ提供サーバ6Aに対し、ステップSP8で生成した全ての分割部分要求データのうち1つの分割部分要求データを送信する。
またクライアント端末2は、このときコンテンツ提供サーバ6Aに対し分割部分要求データを送信した時点から、その要求に応じて送信される分割部分データの受信が完了する時点までの受信完了時間の計測を開始して、次のステップSP10に移る。そしてクライアント端末2は、引き続き上述した第1の分割部分要求手法が選択された場合と同様にそのステップSP10及びステップSP11の処理を順次実行した後、次のステップSP82に移る。
ステップSP82においてクライアント端末2は、ステップSP81で計測を開始し現時点で計測が終了した、又は計測中の受信完了時間が、コンテンツデータの取得効率を著しく損なわないようにするために予め選定された所定時間以内であるか否かを判別する。
このステップSP82において肯定結果が得られると、このことはステップSP81でコンテンツ提供サーバ6Aに要求した分割部分データの受信に対して、計測の終了した又は計測中の受信完了時間が所定時間に達してはいないことを表している。すなわちかかる肯定結果は、クライアント端末2において、この時点ではコンテンツデータの取得効率が著しく損なわれる可能性が低いことを表している。従ってクライアント端末2は、このとき次のステップSP12に移る。
これに対してステップSP82において否定結果が得られると、このことはステップSP81でコンテンツ提供サーバ6Aに要求した分割部分データを受信している途中であるものの、その分割部分データに対する受信完了時間が所定時間に達したことを表している。すなわちかかる否定結果は、クライアント端末2において、このまま分割部分データの受信を継続したのでは、コンテンツデータの取得効率が著しく損なわれる可能性が高いことを表している。従ってクライアント端末2は、このときステップSP83に移る。
ステップSP83においてクライアント端末2は、受信が完了する前に受信完了時間が所定時間に達した分割部分データの受信を中断して、次のステップSP84に移る。
ステップSP84においてクライアント端末2は、受信を中断した分割部分データの送信元であるコンテンツ提供サーバ6Aを、今回の分割部分データの要求先から除外して、次のステップSP85に移る。
ステップSP85においてクライアント端末2は、分割部分データに対する受信の中断により当該分割部分データにおいて受信せずに残った受信残部分のデータ(以下、これを受信残部分データと呼ぶ)を要求可能なコンテンツ提供サーバ6B乃至6Nがあるか否かを判別する。
このステップSP85において否定結果が得られると、このことは現時点では分割部分データの要求先から除外したコンテンツ提供サーバ6Aとは異なる他のコンテンツ提供サーバ6B乃至6Nから送信された分割部分データをそれぞれ受信している途中である(すなわち、他のコンテンツ提供サーバ6B乃至6Nが分割部分データを送信している可能性が高い)ことを表している。すなわちかかる否定結果は、クライアント端末2において、分割部分データの要求先から除外したコンテンツ提供サーバ6Aとは異なる他のコンテンツ提供サーバ6B乃至6Nに対し、まだ受信残部分データを要求することができないことを表している。従ってクライアント端末2は、このときステップSP85において、当該他のコンテンツ提供サーバ6B乃至6Nに対して受信残部分データが要求可能になるまで待ち受ける。
これに対してステップSP85において肯定結果が得られると、このことは分割部分データの要求先から除外したコンテンツ提供サーバ6Aとは異なる他のコンテンツ提供サーバ6B乃至6Nのうち少なくとも1つのコンテンツ提供サーバ6B乃至6Nから送信された分割部分データの受信が完了したことを表している。すなわちかかる肯定結果は、クライアント端末2において、他のコンテンツ提供サーバ6B乃至6Nに対し、受信残部分データの要求が可能になったことを表している。従ってクライアント端末2は、このとき次のステップSP86に移る。
ステップSP86においてクライアント端末2は、受信を中断した分割部分データに対応する分割部分指定情報及び受信終端位置情報に基づいて、受信終端位置を受信残部分開始位置とし、かつ分割終了位置をそのまま受信残部分終了位置として、対応する要求コンテンツIDと共に格納した受信残部分要求データを生成して、ステップSP81に戻る。
クライアント端末2は、分割部分データの受信の中断によりステップSP81に戻ったときには、分割部分データの要求先から除外したコンテンツ提供サーバ6Aとは異なる他のコンテンツ提供サーバ6B乃至6Nのうち、最も速い時点に受信の完了した分割部分データの送信元であるコンテンツ提供サーバ6B乃至6Nを選択する。
そしてクライアント端末2は、その選択したコンテンツ提供サーバ6B乃至6Nに対してステップSP81において受信残部分要求データを送信する。
その結果、クライアント端末2は、コンテンツ提供サーバ6B乃至6Nから受信残部分要求データに基づいて、コンテンツデータから分割された受信残部分データが送信されると、ステップSP10においてその受信残部分データの受信を開始する。そしてクライアント端末2は、以下、ステップSP11−SP82−SP12−SP83−SP84−SP85−SP86において分割部分データの代わりに受信残部分データの受信について同様の処理を順次実行する。
クライアント端末2は、分割部分データ及び受信残部分データの受信が完了すると、次のステップSP13に移る。そしてクライアント端末2は、この後、上述した第1の分割部分要求手法が選択された場合と同様にステップSP13乃至ステップSP21の処理を順次実行する。これによりクライアント端末2は、購入要求された楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を全て取得して取得処理を終了する。
このようにして図24に示すように、クライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Cが複数存在し、第3の分割部分要求手法が選択された場合、当該コンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Cに対してそれぞれ1つのコンテンツデータの異なる分割部分データを1つずつ振り分けて要求する。しかしながらクライアント端末2は、分割部分データの要求から受信の完了までの受信完了時間が比較的長くかかるコンテンツ提供サーバ6Cについては、処理負荷が著しく高い又は処理能力が著しく低いために分割部分データの受信を中断する。
そしてクライアント端末2は、分割部分データの受信を中断した際に、最も速い時点で受信の完了した分割部分データの提供元であるコンテンツ提供サーバ6Aについては比較的処理負荷が低い又は元々処理能力が比較的高いことにより、そのコンテンツ提供サーバ6Aに対し、受信の中断で生じた受信残部分データを要求する。これによりクライアント端末2は、取得対象のコンテンツデータを効率良く取得することができる。
(2−2)復帰楽曲購入処理手順
続いて、クライアント端末2では、例えばユーザの不注意でコンセントが抜けて電源供給が停止し、又はネットワークケーブルが抜けてネットワーク3への通信接続が一時的に遮断されたときに上述の取得処理が中断される場合がある。このためクライアント端末2が通信接続の遮断から復帰したときの復帰楽曲購入処理手順について、図25乃至図27に示すシーケンスチャートを用いて以下に説明する。
図11乃至図13との対応部分に同一符号を付した図25乃至図27に示すように、ステップSP101においてクライアント端末2は、ハードディスクドライブ104のハードディスクに対し処理経過情報として一時記憶していた取得開始情報が残っているか否かを判別する。
このステップSP101において否定結果が得られると、このことはクライアント端末2が楽曲の購入要求に応じた取得処理を何ら実行してはいないときにネットワーク3への通信接続が遮断されたことを表している。すなわちかかる否定結果は、クライアント端末2において、ハードディスクに対し処理経過情報としての取得開始情報が残ってはいないことを表している。従ってクライアント端末2は、この後、ユーザにより楽曲の購入が要求されることを待ち受ける。
これに対してステップSP101において肯定結果が得られると、このことはクライアント端末2が楽曲の購入要求に応じた取得処理を実行していた際にコンセントが抜け、又はネットワークケーブルが抜けたことでネットワーク3への通信接続が遮断されたことに伴い、その取得処理が中断されたことを表している。すなわちかかる肯定結果は、クライアント端末2において、ハードディスクに対し処理経過情報として一時記憶していた取得開始情報が残っていることを表している。従ってクライアント端末2は、このとき取得処理を再開して次のステップSP102に移る。
ここでクライアント端末2は、今回再開した取得処理が前回中断されるまでの間は、取得使用情報提供サーバ5から取得した取得使用ファイル25をハードディスクに一時記憶して使用していた。しかしながら取得使用ファイル25の内容としてのコンテンツ提供アドレスや属性ファイル提供アドレスは、取得処理が中断されていた間に、コンテンツ提供サーバ6A乃至6Nや属性情報提供サーバ7等を管理運営している会社側の都合で変更されている場合がある。
このためステップSP102においてクライアント端末2は、前回中断された取得処理で使用していた取得使用ファイル25を消去して、次のステップSP103に移る。
ステップSP103においてクライアント端末2は、前回中断された取得処理でハードディスクに対し処理経過情報として一時記憶していた取得処理特定情報をユーザのユーザID、パスワードと共に格納した取得使用情報再要求データを生成する。そしてクライアント端末2は、かかる取得使用情報再要求データをポータルサーバ4に送信して、次のステップSP104に移る。
このときステップSP121においてポータルサーバ4は、クライアント端末2から送信された取得使用情報再要求データに格納されているユーザID及びパスワードに基づいてユーザを個人認証する。この後、ポータルサーバ4は、取得使用情報再要求データに格納された取得処理特定情報に基づいてユーザデータベース13の中から、クライアント端末2に対し前回中断された取得処理の実行の際に提供していた取得使用ファイル25のファイル名を探し出す。そしてポータルサーバ4は、そのファイル名と取得処理特定情報とを格納したファイル再要求データを生成する。これによりポータルサーバ4は、かかるファイル再要求データを取得使用情報提供サーバ5に送信する。
ステップSP131において取得使用情報提供サーバ5は、ポータルサーバ4から送信されたファイル再要求データに基づいて取得使用情報データベース23の中から、前回中断された取得処理でクライアント端末2に提供していた取得使用ファイル25を特定する。そして取得使用情報提供サーバ5は、特定した取得使用ファイル25を、その内容を適宜変更してポータルサーバ4経由でクライアント端末2に送信する。
これによりステップSP104においてクライアント端末2は、取得使用情報提供サーバ5から受信し直した取得使用ファイル25をハードディスクに一時記憶する。そしてクライアント端末2は、受信し直した新たな取得使用ファイル25の中から要求コンテンツIDを1つ選択して、次のステップSP105に移る。
ステップSP105においてクライアント端末2は、ハードディスクに対し、ステップSP104で取得使用ファイル25の中から選択した要求コンテンツIDを記憶済コンテンツIDとして未記憶か否かを判別する。
このステップSP105において肯定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDを記憶済コンテンツIDとして一時記憶してはいないことを表している。すなわちかかる肯定結果は、クライアント端末2において、前回中断された取得処理では、その要求コンテンツIDに対応するコンテンツデータの分割部分データを全て受信完了してはいないことを表している。従ってクライアント端末2は、このとき次のステップSP6に移る。そしてクライアント端末2は、かかるステップSP6の処理を実行し、その結果、肯定結果を得ると、次のステップSP106に移る。
ステップSP106においてクライアント端末2は、ステップSP104で選択した要求コンテンツIDに対応する分割部分指定情報及び受信終端位置情報が処理経過情報としてハードディスクに未記憶か否かを判別する。
このステップSP106において肯定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応する分割部分指定情報及び受信終端位置情報を処理経過情報として一時記憶してはいないことを表している。すなわちかかる肯定結果は、クライアント端末2において、前回中断された取得処理の実行の際に、ステップSP104で選択した要求コンテンツIDに対応するコンテンツデータに対して分割開始位置及び分割終了位置を何ら決定してはいないことを表している。従ってクライアント端末2は、このとき次のステップSP107に移る。
ステップSP107においてクライアント端末2は、ユーザにより選択されている第1乃至第3の分割部分要求手法に応じて、図12及び図22について上述したステップSP7−SP8の処理、図15及び図16並びに図17について上述したステップSP71−SP72−SP73−SP8の処理、ステップSP71−SP72−SP75−SP8の処理の何れかを実行して分割部分要求データを生成して、次のステップSP108に移る。
因みにクライアント端末2は、この際に第2の分割部分要求手法が選択され、かつ選択アドレス数が通知アドレス数よりも少ないときには、分割部分要求データを生成した後、引き続き図16について上述したステップSP74の処理を実行して、ステップSP108に移る。
ステップSP108においてクライアント端末2は、ステップSP104で選択した要求コンテンツIDに対応するコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対し、それぞれ当該コンテンツデータの異なる分割部分データを要求するように分割部分要求データを振り分けて送信して、次のステップSP109に移る。
因みに図25乃至図27には、コンテンツ提供サーバ6A乃至6Nの処理を1本の線で示しているが、実際には複数のコンテンツ提供サーバ6A乃至6Nがそれぞれ自己の処理負荷や処理能力に応じて独自のタイミングで処理を実行している。
またクライアント端末2は、この際に第3の分割部分要求手法が選択されている場合、コンテンツ提供サーバ6A乃至6Nに分割部分要求データを送信したとき、受信完了時間の計測を開始して、ステップSP109に移る。
一方、ステップSP106において否定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応する分割部分指定情報及び受信終端位置情報が処理経過情報として一時記憶されたたまま残っていることを表している。すなわちかかる否定結果は、クライアント端末2において、前回、要求コンテンツIDに対応するコンテンツデータの分割部分データを要求する際に取得処理が中断されたことを表している。従ってクライアント端末2は、このときステップSP110に移る。
ステップSP110においてクライアント端末2は、ハードディスクに一時記憶したまま残っていた分割部分指定情報に基づいて、前回、取得処理が中断されたことでコンテンツ提供サーバ6A乃至6Nに対し要求し損ねていた分割部部データを改めて要求するための分割部分要求データを生成する。またクライアント端末2は、ハードディスクに対し分割部分指定情報と共に一時記憶したまま残っていた受信終端位置情報に基づいて、前回、取得処理が中断された時点に分割部分データの受信も中断されたことで生じた受信残部分データを要求するための受信残部分要求データも生成する。そしてクライアント端末2は、かかる分割部分要求データ及び受信残部分要求データを生成すると、次のステップSP111に移る。
ただしクライアント端末2は、この際に第2の分割部分要求手法が選択され、かつ選択アドレス数が通知アドレス数よりも少ないときには、分割部分要求データ及び受信残部分要求データを生成した後、要求すべき分割部分データ及び受信残部分データの総数が、選択アドレス数よりも少ない場合のみ、図16について上述したステップSP74の処理を実行して、ステップSP111に移る。
ステップSP111においてクライアント端末2は、ステップSP104で選択した要求コンテンツIDに対応するコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対し、それぞれ当該コンテンツデータの異なる分割部分データ及び受信残部分データを要求するように分割部分要求データ及び受信残部分要求データを振り分けて送信して、次のステップSP109に移る。
因みにクライアント端末2は、この際に第3の分割部分要求手法が選択されている場合、コンテンツ提供サーバ6A乃至6Nに対し分割部分要求データ及び受信残部分要求データを送信したとき、受信完了時間の計測を開始して、ステップSP109に移る。
これによりステップSP109においてクライアント端末2は、複数のコンテンツ提供サーバ6A乃至6Nに対しそれぞれ分割部分データ又は受信残部分データを要求した結果、ステップSP141において各コンテンツ提供サーバ6A乃至6Nから送信された分割部分データ又は受信残部分データの受信を開始する。そしてクライアント端末2は、ユーザにより選択されている第1乃至第3の分割部分要求手法に応じて、図12及び図16について上述したステップSP10−SP11−SP12−SP13−SP14の処理、図17について上述したステップSP10−SP11−SP12−SP76−SP13−SP14の処理、図22について上述したステップSP10−SP11−SP82−SP83−SP84−SP85−SP86−SP12−SP13−SP14の処理の何れかを実行する。このようにしてクライアント端末2は、これらの処理に従って取得した分割部分要求データからコンテンツデータを復元した後、次のステップSP15に移る。
クライアント端末2は、この後、上述した中断前の取得処理と同様にステップSP15−SP16−SP17−SP18−SP19−SP20−SP21の処理を順次実行する。これによりクライアント端末2は、ユーザにより購入要求された楽曲としてコンテンツデータと、ステップSP151において属性情報提供サーバ7から送信されるコンテンツ属性ファイル47とを順次交互に取得する。
これに対してステップSP105において否定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDを記憶済コンテンツIDとして一時記憶していることを表している。すなわちかかる否定結果は、クライアント端末2において、前回、取得処理が中断されるまでの間に、その要求コンテンツIDに対応するコンテンツデータを複数のコンテンツ提供サーバ6A乃至6Nを利用してすでに取得していたことを表している。従ってクライアント端末2は、このとき次のステップSP112に移る。
ステップSP112においてクライアント端末2は、ハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応するコンテンツ属性ファイル47のファイル名が処理経過情報としては未記憶か否かを判別する。
このステップSP112において肯定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応するコンテンツ属性ファイル47のファイル名を処理経過情報として一時記憶してはいないことを表している。すなわちかかる肯定結果は、クライアント端末2において、前回、取得処理が中断されるまでの間に、その要求コンテンツIDに対応するコンテンツ属性ファイル47を属性情報提供サーバ7から取得してはいなかったことを表している。従ってクライアント端末2は、このときステップSP16に移る。これによりクライアント端末2は、要求コンテンツIDに対応するコンテンツデータの取得は省いて、属性情報提供サーバ7から当該要求コンテンツIDに対応するコンテンツ属性ファイル47のみを取得する。
これに対してステップSP112において否定結果が得られると、このことはハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応するコンテンツ属性ファイル47のファイル名を処理経過情報として一時記憶していることを表している。すなわちかかる否定結果は、クライアント端末2において、前回、取得処理が中断されるまでの間に、要求コンテンツIDに対応するコンテンツデータと共にコンテンツ属性ファイル47もすでに取得していたことを表している。従ってクライアント端末2は、このときステップSP113に移る。
ステップSP113においてクライアント端末2は、ハードディスク内の取得情報データベースに対し、ステップSP104で選択した要求コンテンツIDに対応する登録情報が未登録か否かを判別する。
このステップSP113において肯定結果が得られると、このことは前回の取得処理において、ステップSP104で選択した要求コンテンツIDに対応するコンテンツデータ及びコンテンツ属性ファイル47を順次取得していたものの、取得情報データベースに対して、ステップSP104で選択した要求コンテンツIDに対応する登録情報を登録する直前に当該取得処理が中断されたことを表している。従ってクライアント端末2は、このときステップSP18に移る。これによりクライアント端末2は、取得情報データベースに対しその登録情報を登録する。
これに対してステップSP113において否定結果が得られると、このことは前回の取得処理が中断されるまでの間に、取得情報データベースに対し、ステップSP104で選択した要求コンテンツIDに対応する登録情報をすでに登録していたことを表している。従ってクライアント端末2は、このときステップSP114に移る。
ステップSP114においてクライアン端末2は、ハードディスクに対し、ステップSP104で選択した要求コンテンツIDに対応する登録情報の登録完了を示す登録完了情報が処理経過情報としては未記憶か否かを判別する。
このステップSP114において肯定結果が得られると、このことは前回、ステップSP104で選択した要求コンテンツIDに対応する登録情報の登録完了を示す登録完了情報を処理経過情報としてハードディスクに一時記憶する直前に取得処理が中断されたことを表している。従ってクライアント端末2は、このときステップSP19に移る。そしてクライアント端末2は、ハードディスクに対し登録完了情報を処理経過情報として一時記憶する。
これに対してステップSP114において否定結果が得られると、このことは前回、取得処理が中断されるまでの間に、ステップSP104で選択した要求コンテンツIDに対応する登録情報の登録が完了して、ハードディスクに対し登録完了情報をすでに処理経過情報としてハードディスクに一時記憶していたことを表している。従ってクライアント端末2は、このときステップSP20に移る。これによりクライアント端末2は、取得使用情報提供サーバ5から取得し直した取得使用ファイル25の内容に従って、まだ取得すべきコンテンツデータ及びコンテンツ属性ファイル47があるか否かを判別する。
このようにしてクライアント端末2は、取得処理を一時的な中断の後に再開した場合、当該取得処理の中断前と再開後の両方で購入対象の楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を重複して取得することを避ける。従ってクライアント端末2は、購入対象の楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を効率良く取得することができる。
なお、この実施の形態の場合、図11乃至図27について上述した正常楽曲購入処理手順及び復帰楽曲購入処理手順では、クライアント端末2が、説明の便宜上、コンテンツデータを複数の分割部分データとして複数のコンテンツ提供サーバ6A乃至6Nに対し要求した。しかしながらクライアント端末2は、実際に、取得対象のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが1台しか存在しない場合、そのコンテンツデータを分割せずにそのまま1台のコンテンツ提供サーバ6A乃至6Nに要求している。
この場合、図28に示すように、クライアント端末2は、上述した正常楽曲購入処理手順及び復帰楽曲購入処理手順における取得処理を実行しステップSP6において肯定結果を得ると、ステップSP201に移る。
そしてステップSP201においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5及びステップSP104で選択した要求コンテンツIDに対応するコンテンツ提供アドレスを探し出す。そしてクライアント端末2は、その探し出したコンテンツ提供アドレスが1つか否かを判別する。
ステップSP201において否定結果が得られると、このことはステップSP5及びステップSP104で選択した要求コンテンツIDに対応するコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが複数存在することを表している。従ってクライアント端末2は、このとき上述した取得処理のステップSP7、ステップSP71、ステップSP106に移る。
これに対してステップSP201において肯定結果が得られると、このことはステップSP5及びステップSP104で選択した要求コンテンツIDに対応するコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが1台しか存在しないことを表している。従ってクライアント端末2は、このとき次のステップSP202に移る。
ステップSP202においてクライアント端末2は、取得使用ファイル25の中から、ステップSP5及びステップSP104で選択した要求コンテンツIDに対応する1つだけのコンテンツ提供アドレスを選択する。そしてクライアント端末2は、その選択したコンテンツ提供アドレスに従ってコンテンツ提供用ホームページにアクセスする。この状態でクライアント端末2は、1台のコンテンツ提供サーバ6A乃至6Nに対し、要求コンテンツIDを格納したコンテンツ要求データを送信して、次のステップSP203に移る。
このときステップSP211において例えばコンテンツ提供サーバ6Aは、クライアント端末2からの要求に応じて、要求コンテンツIDで指定されたコンテンツデータを当該クライアント端末2に送信する。
これによりステップSP203においてクライアント端末2は、コンテンツ提供サーバ6Aから送信されたコンテンツデータの受信を開始して、次のステップSP204に移る。
ステップSP204においてクライアント端末2は、ステップSP203で受信を開始したコンテンツデータの受信終端位置の情報を当該コンテンツデータの受信状況を示す処理経過情報とする。そしてクライアント端末2は、ハードディスクにおいて、ステップSP5及びステップSP104ですでに処理経過情報として一時記憶していた要求コンテンツIDに対し、新たに処理経過情報とした受信終端位置情報を関連付けて一時記憶した後、次のステップSP205に移る。
ステップSP205においてクライアント端末2は、ステップSP203で受信を開始したコンテンツデータの受信終端位置情報と、取得使用ファイル25で通知されている対応するデータサイズ情報とに基づいて当該コンテンツデータの受信が完了したか否かを判別する。
このステップSP205において否定結果が得られると、このことはステップSP203で受信を開始したコンテンツデータの受信終端位置が未だデータサイズ情報の示すデータ終端位置には到達していないことを表している。すなわちかかる否定結果は、クライアント端末2において、そのコンテンツデータの受信が完了してはいないことを表している。従ってクライアント端末2は、このときステップSP204に戻る。
そしてクライアント端末2は、この後、ステップSP205において肯定結果を得るまでの間、ステップSP204−SP205の処理を循環的に繰り返す。これによりクライアント端末2は、ステップSP203で受信を開始したコンテンツデータの受信終端位置の変化を受信状況の変化として時々刻々と更新する。
そしてステップSP205において肯定結果が得られると、このことはステップSP203で受信を開始したコンテンツデータの受信終端位置がデータ終端位置に到達したことを表している。すなわちかかる肯定結果は、クライアント端末2において、そのコンテンツデータの受信が完了したことを表している。従ってクライアント端末2は、このときステップSP204で更新していた受信終端位置の情報を消去して、上述した取得処理のステップSP15に移る。
このようにしてクライアント端末2は、複数のコンテンツ提供サーバ6A乃至6Nに対し、取得対象のコンテンツデータを分割部分データとして振り分けて要求するのみではなく、1台のコンテンツ提供サーバ6A乃至6Nにのみ当該コンテンツデータを分割せずに要求することもできる。
ところでクライアント端末2は、1台のコンテンツ提供サーバ6A乃至6Nからのコンテンツデータの受信中でも、受信終端位置を受信の進行に合わせて時々刻々と更新しながら一時記憶している。このためクライアント端末2は、コンテンツデータの受信途中に取得処理が中断されると、その取得処理を再開した際に処理経過情報として消去せずに残っている受信終端位置からデータ終端位置までの残り部分のデータのみを再び1台のコンテンツ提供サーバ6A乃至6Nに要求して受信する。そしてクライアント端末2は、残り部分のデータの受信が完了した時点で、取得処理の中断前にすでに受信していた先頭部分と、取得処理を再開して受信した後尾部分とから元のコンテンツデータを復元する。
このようにしてクライアント端末2は、コンテンツデータを分割せずに要求し、その受信が中断された場合でも、取得処理を再開した際に当該コンテンツデータの無駄な受信を回避する。かくしてクライアント端末2は、コンテンツデータの取得に1台のコンテンツ提供サーバ6A乃至6Nのみを利用する場合でも、コンテンツデータを効率良く取得することができる。
(3)他の楽曲購入処理手順
次に、図29乃至図32に示すシーケンスチャートを用いて、上述した楽曲購入処理手順とは異なる手法の他の楽曲購入処理手順について説明する。
他の楽曲購入処理手順としては、クライアント端末2が正常動作しているときの正常楽曲購入処理手順と、クライアント端末2が取得処理の中断から復帰したときに、データ取得を再試行(リトライ)する場合の楽曲購入処理手順(以下、これを再試行楽曲購入処理手順と呼ぶ)とがある。従って、以下には、かかる正常楽曲購入処理手順と、再試行楽曲購入処理手順とを順番に説明する。
ただし正常楽曲購入処理手順及び再試行楽曲購入処理手順においてクライアント端末2のCPU100は、図10について上述したプログラムモジュールとしてのXMLブラウザ136に相当するユーザインターフェース310と、HTTPメッセージプログラム130、コミュニケータプログラム131、著作権保護管理モジュール133、楽曲購入再生モジュール135、認証ライブラリ138A、ハードディスクコンテンツコントローラ137、コンテンツデータアクセスモジュール140及びデータベースアクセスモジュール139に相当するミドルウェア311に従って正常楽曲購入処理手順における取得処理及び再試行楽曲購入処理手順における再取得処理を実行している。
しかしながらかかる正常楽曲購入処理手順及び再試行楽曲購入処理手順については、ユーザインターフェース310及びミドルウェア311をそれぞれ説明の便宜上あたかもハードウェアとして設けられた回路ブロックのように扱って以下に説明する。
またかかる正常楽曲購入処理手順及び再試行楽曲購入処理手順については、説明の便宜上、取得対象のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが1台のみ存在し、当該1台のコンテンツ提供サーバ6Aからコンテンツデータを分割せずに取得する場合を例にとって以下に説明する。
これに加えて取得使用情報提供サーバ5の制御部20は、取得使用情報を予め用意していなくても、ユーザにより楽曲が購入要求される毎に生成することも可能である。
またコンテンツ提供サーバ6Aの制御部30は、コンテンツデータの提供用にコンテンツ提供用ホームページを開設しなくても、クライアント端末2に対しコンテンツデータの取得用にアクセスさせるアドレス(以下、これをコンテンツ取得用アドレスと呼ぶ)を用意するだけで、コンテンツデータを提供可能である。すなわち制御部30は、コンテンツ取得用アドレスに対して、取得可能なコンテンツデータを対応付けておくことで、クライアント端末2に対しコンテンツIDを送信させなくても、かかるコンテンツデータを提供可能である。
さらに属性情報提供サーバ7の制御部40も、コンテンツ属性ファイル47の提供用に属性ファイル提供用ホームページを開設せずに、クライアント端末2に対しコンテンツ属性ファイル47の取得用にアクセスさせるアドレス(以下、これを属性ファイル取得用アドレスと呼ぶ)を用意するだけで、コンテンツ属性ファイル47を提供可能である。
従って、以下の正常楽曲購入処理手順及び再試行楽曲購入処理手順については、取得使用情報提供サーバ5の制御部20が、ユーザによる楽曲の購入要求毎に取得使用情報を生成すると共に、コンテンツ提供サーバ6A及び属性情報提供サーバ7がコンテンツ提供用ホームページ及び属性ファイル提供用ホームページを用いずにコンテンツデータ及びコンテンツ属性ファイル47を提供する場合を例にとって説明する。
因みに取得使用情報提供サーバ5の制御部20は、コンテンツ提供サーバ6Aがクライアント端末2に対してコンテンツIDを送信させなくても、コンテンツデータを提供可能であるため、図33に示すように、コンテンツIDを除き、購入要求された楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47の取得用のコンテンツ取得用アドレス及び属性ファイル取得用アドレスを楽曲毎に対応付けて格納した取得使用ファイル315を生成する。
またコンテンツ提供サーバ6Aの制御部30は、ダウンロード可能な複数のコンテンツデータをアルバム単位とシングル曲単位との2種類の配信形態で配信する。従ってコンテンツ提供サーバ6Aの制御部30は、ユーザに対し1又は複数の楽曲をアルバム単位や、シングル曲単位で任意に選択させコンテンツデータとして購入可能にしている。
さらに正常楽曲購入処理手順及び再試行楽曲購入処理手順については、楽曲の購入により、ユーザに対し課金が発生する。このため正常楽曲購入処理手順及び再試行楽曲購入処理手順については、クライアント端末2や、ポータルサーバ4、取得使用情報提供サーバ5、コンテンツ提供サーバ6A及び属性情報提供サーバ7と共に、新たに課金サーバ320を用いて以下に説明する。
(3−1)正常楽曲購入処理手順
図29乃至図31に示すように、クライアント端末2のユーザインターフェース310は、正常楽曲購入処理手順における取得処理を開始すると、ステップSP301においてユーザにより購入希望の楽曲がアルバム単位又はシングル曲単位で選択された後、その購入希望の楽曲が確認されることを待ち受ける。そしてユーザインターフェース310は、ユーザにより購入希望の楽曲が確認されると、ミドルウェア311に対し、その購入希望の楽曲が確認されたことを通知する。
ステップSP302においてクライアント端末2のミドルウェア311は、ユーザによって購入要求された楽曲に対応するコンテンツデータのコンテンツIDと、ユーザID及びパスワードとを格納した購入楽曲通知データを生成する。そしてミドルウェア311は、かかる購入楽曲通知データを通信処理部114及びネットワークインターフェース115を順次介してポータルサーバ4に送信する。
ステップSP321においてポータルサーバ4の制御部10は、クライアント端末2から送信された購入楽曲通知データをデータ通信処理部14を介して受信する。そして制御部10は、その購入楽曲通知データの受信に応じて、楽曲を購入要求したユーザに対する楽曲購入処理を特定可能な例えば通し番号でなる購入識別情報を発行して、次のステップSP322に移る。
ステップSP322において制御部10は、購入楽曲通知データに格納されたユーザID及びパスワードに基づいて、ユーザデータベース13の中から楽曲を購入要求したユーザの個人情報を特定する。そして制御部10は、その特定した個人情報に対し、購入識別情報と、購入楽曲通知データに格納されている、購入要求された楽曲に対応するコンテンツIDとを対応付けて登録して、次のステップSP323に移る。
ステップSP323において制御部10は、クライアント端末2に対し、ユーザによる楽曲の購入要求に応じた取得処理で使用する取得処理使用情報を生成し、これをデータ通信処理部14を介してクライアント端末2に送信する。
ここで取得処理使用情報には、取得使用ファイル315の取得に使用させる取得使用ファイル要求情報や、クライアント端末2で取得処理が中断された後の復帰時、ユーザに対する課金状況の通知を要求するために使用させる課金状況通知要求情報等が含まれている。
かかる取得使用ファイル要求情報には、クライアント端末2に対し、取得使用ファイル315を取得するためにアクセスさせるネットワーク3上のアドレス(以下、これをファイル取得アドレスと呼ぶ)等が含まれている。
また課金状況通知要求情報には、クライアント端末2に対し取得処理の中断から復帰してコンテンツデータ及びコンテンツ属性ファイル47に対するデータ取得を再試行(リトライ)する際に、まずユーザに対する課金状況の通知要求用としてアクセスさせるアドレス(以下、これをリトライアドレスと呼ぶ)と、かかるリトライアドレスへのアクセスの際に通信相手(すなわち、ポータルサーバ4)に提示させる、ステップSP321で発行された購入識別情報や、ポストデータ及びリクエストコード(要求の種類を示すコードである)等を含んでいる。
ステップSP303においてクライアント端末2のミドルウェア311は、ポータルサーバ4から送信された取得処理使用情報をネットワークインターフェース115及び通信処理部114を順次介して受信する。そしてミドルウェア311は、図34に示すように、かかる取得処理使用情報に基づいて得られた課金状況通知要求情報を、今回の取得処理の経過状況を示す(すなわち、かかる取得処理の開始を示す)第1の処理経過情報(以下、これを第1のログと呼ぶ)として例えばハードディスクドライブ104のハードディスクに一時記憶し、次のステップSP304に移る。
ステップSP304においてミドルウェア311は、取得処理使用情報に基づいて得られた取得使用ファイル要求情報に含まれるファイル取得アドレスにアクセスし、ポータルサーバ4に対して取得使用ファイル315を要求する。
ステップSP324においてポータルサーバ4の制御部10は、クライアント端末2からの取得使用ファイル315の要求に応じて、楽曲を購入要求したユーザに対する課金処理を識別可能な課金IDを発行要求する課金ID発行要求データを、データ通信処理部14を介して課金サーバ320に送信する。
ステップSP331において課金サーバ320の制御部は、ポータルサーバ4から送信された課金ID発行要求データをデータ通信処理部を介して受信する。そして制御部は、その課金ID発行要求データに応じて課金IDを発行して、次のステップSP332に移る。
ステップSP332において課金サーバ320の制御部は、かかる課金IDを課金ID通知データとしてデータ通信処理部を介してポータルサーバ4に送信する。
ステップSP325においてポータルサーバ4の制御部10は、課金サーバ320から送信された課金ID通知データをデータ通信処理部14を介して受信する。そして制御部10は、ユーザデータベース13に対し、かかる課金ID通知データに基づいて得られた課金IDを、ステップSP322ですでに登録している購入識別情報に対応付けてユーザデータベース13に追加登録する。また制御部10は、このとき、楽曲を購入要求しているユーザに対し現時点ではその楽曲の購入に応じた課金が未課金であることを示す課金状況通知情報も、ステップSP322ですでに登録している購入識別情報に対応付けてユーザデータベース13に登録して、次のステップSP326に移る。
ステップSP326において制御部10は、ユーザによって購入要求された楽曲に対応するコンテンツIDを格納し、当該ユーザのクライアント端末2に対して、コンテンツデータ及びコンテンツ属性ファイル47の取得に使用させる取得使用ファイル315を要求するためのファイル要求データを生成する。そして制御部10は、かかるファイル要求データをデータ通信処理部14を介して取得使用情報提供サーバ5に送信する。
ステップSP341において取得使用情報提供サーバ5の制御部20は、ポータルサーバ4から送信されたファイル要求データをデータ通信処理部24を介して受信する。そして制御部20は、かかるファイル要求データに応じて、例えばコンテンツ取得用アドレス及び属性ファイル取得用アドレスを発行する。制御部20は、その発行したコンテンツ取得用アドレス及び属性ファイル取得用アドレスを楽曲毎に対応付けて順番に並べるようにして格納した取得使用ファイル315を生成する。
なおステップSP341では、取得使用情報提供サーバ5の制御部20がコンテンツ取得用アドレス及び属性ファイル取得用アドレスを発行するようにしたが、これに限らず、コンテンツ提供サーバ6Aがコンテンツ取得用アドレスを発行すると共に、属性情報提供サーバ7が属性ファイル取得用アドレスを発行し、これを用いて取得使用情報提供サーバ5の制御部20が取得使用ファイル315を生成するようにしてもよい。
これにより制御部20は、その取得使用ファイル315をデータ通信処理部24からポータルサーバ4経由でクライアント端末2に送信する。因みに取得使用情報提供サーバ5の制御部20は、例えば、このとき生成した取得使用ファイル315の内容と、ポータルサーバ4から与えられた、ユーザによって購入要求された楽曲に対応するコンテンツID、及び当該ユーザに対する購入識別情報等とをデータ提供使用情報としてコンテンツ提供サーバ6Aや属性情報提供サーバ7と共有している。
ステップSP305においてクライアント端末2のミドルウェア311は、取得使用情報提供サーバ5からポータルサーバ4経由で送信された取得使用ファイル315をネットワークインターフェース115及び通信処理部114を順次介して受信し、当該受信した取得使用ファイル315を例えばRAM103に一時記憶する。
そしてミドルウェア311は、取得使用ファイル315に格納されている例えば1又は複数のコンテンツ取得用アドレスの中からその並びの順番に従って1つのコンテンツ取得用アドレスを選択して、次のステップSP306に移る。
ステップSP306においてミドルウェア311は、その選択したコンテンツ取得用アドレスにアクセスしてダウンロードするコンテンツデータを、ハードディスクに「track」ファイルとして記憶する際の当該「track」ファイルを識別可能なトラックファイル名を生成し、次のステップSP307に移る。
ステップSP307においてミドルウェア311は、ステップSP306で選択したコンテンツ取得用アドレスに対応するコンテンツデータと共にダウンロードするコンテンツ属性ファイル47に格納されたコンテンツ属性情報を、ハードディスクにファイル(以下、これを属性情報ファイルと呼ぶ)として記憶する際の当該属性情報ファイルを識別可能な属性情報ファイル名を生成して、次のステップSP308に移る。
ステップSP308においてミドルウェア311は、図34に示すように、ステップSP306及びステップSP307で生成したトラックファイル名及び属性情報ファイル名を、取得処理の経過状況を示す第2の処理経過情報(以下、これを第2のログと呼ぶ)として例えばハードディスクドライブ104のハードディスクに一時記憶して、次のステップSP309に移る。
ステップSP309においてミドルウェア311は、取得使用ファイル315の中からステップSP305で選択したコンテンツ取得用アドレスにアクセスし、コンテンツ提供サーバ6Aに対してコンテンツデータのダウンロードを要求する。
ここでコンテンツ提供サーバ6Aの制御部30は、取得使用情報提供サーバ5とデータ提供使用情報を共有した際に、ユーザにより購入要求された楽曲に対応するコンテンツIDと、当該ユーザの利用するクライアント端末2に対しすでに提供された取得使用ファイル315に記述されているコンテンツ取得用アドレスとを対応付けている。
従ってステップSP351においてコンテンツ提供サーバ6Aの制御部30は、クライアント端末2からのコンテンツデータに対するダウンロード要求に応じて、コンテンツデータベース33に記憶している複数のコンテンツデータの中から、当該クライアント端末2がこのときアクセスしたコンテンツ取得用アドレスに対しすでに対応付けていたコンテンツIDのコンテンツデータを検索する。そして制御部30は、その検索したコンテンツデータをデータ通信処理部34を介してクライアント端末2に送信する。
ステップSP310においてクライアント端末2のミドルウェア311は、コンテンツ提供サーバ6Aから送信されたコンテンツデータをネットワークインターフェース115及び通信処理部114を順次介して受信しながら、上述のステップSP306で生成したトラックファイル名の「track」ファイルとしてハードディスクに一時記憶し、次のステップSP311に移る。
ところでコンテンツ提供サーバ6Aから提供されるコンテンツデータには、例えばヘッダ部分にかかるコンテンツデータの属性情報として、アルバム単位で購入するように用意されたデータであるか、またシングル曲単位で購入するように用意されたデータであるかを示す購入形態通知情報が格納されている。
従ってステップSP311においてミドルウェア311は、ハードディスクに一時記憶したコンテンツデータが今回の取得処理でコンテンツ提供サーバ6Aから最初にダウンロードしたコンテンツデータであるか否かを判別する。
このステップSP311において肯定結果が得られると、このことはユーザにより楽曲がアルバム単位及びシングル曲単位の何れで購入要求されたかにかかわらず、ハードディスクに一時記憶したコンテンツデータがコンテンツ提供サーバ6Aから最初にダウンロードしたコンテンツデータであることを表している。従ってミドルウェア311は、このときステップSP312に移る。
ステップSP312においてミドルウェア311は、ハードディスクに一時記憶したコンテンツデータに格納されている購入形態通知情報に基づいて、当該コンテンツデータがアルバム単位で購入されるデータであるか否かを判別する。
このステップSP312において肯定結果が得られると、このことは今回ユーザにより複数の楽曲がアルバム単位で購入要求された(すなわちアルバムに収録されている複数の楽曲がまとめて購入要求された)ことを表している。従ってミドルウェア311は、このときステップSP313に移る。
ステップSP313においてミドルウェア311は、楽曲に対するアルバム単位の購入要求に応じて現在取得中のコンテンツデータに対する「track」ファイルと、当該コンテンツデータを利用可能にするコンテンツ属性ファイル47の属性情報ファイルとを特定可能(例えばパス)で、かつ当該「track」ファイル及び属性情報ファイル管理用の「album」ディレクトリを識別可能なアルバム識別情報を生成する。
因みに、かかるアルバム識別情報は、今回クライアント端末2で取得するコンテンツデータ及びコンテンツ属性ファイル47のみを特定可能なように生成される識別情報である。すなわち、かかるアルバム識別情報は、例えばクライアント端末2内で、今回コンテンツ提供サーバ6Aから取得されるコンテンツデータと同じコンテンツデータがすでにCD等からハードディスクにリッピングされている場合でも、そのリッピングしたコンテンツデータではなく、コンテンツ提供サーバ6Aから取得されるコンテンツデータのみを特定し得るものである。
そしてミドルウェア311は、図34に示すように、かかるアルバム識別情報を、取得処理の経過状況を示す第3の処理経過情報(以下、これを第3のログと呼ぶ)として例えばハードディスクドライブ104のハードディスクに一時記憶し、次のステップSP314に移る。
ステップSP314においてミドルウェア311は、ハードディスクに対し、ステップSP313で生成したアルバム識別情報の示す「album」ディレクトリを新規に作成して、次のステップSP315に移る。
ところで上述のステップSP311において否定結果が得られると、このことはユーザにより楽曲がアルバム単位及びシングル曲単位の何れで購入要求されたかにかかわらず、ハードディスクに一時記憶したコンテンツデータが、コンテンツ提供サーバ6Aから最初のダウンロード以降にさらにダウンロードされたコンテンツデータであることを表している。従ってミドルウェア311は、このときステップSP315に移る。
また上述のステップSP312において否定結果が得られると、このことは今回ユーザにより1又は複数の楽曲がシングル曲単位で購入要求されたことを表している。
ところでミドルウェア311は、複数の楽曲がアルバム単位で購入要求される毎に、ステップSP313及びステップSP314で上述したように、ハードディスクに対し「album」ディレクトリを新規に作成する。しかしながらハードディスクには、シングル曲単位の楽曲のコンテンツデータと、当該コンテンツデータを利用可能にするコンテンツ属性ファイル47とを管理するためのディレクトリが予め作成され用意されている。
因みにミドルウェア311は、図9について上述した階層的なディレクトリ構成の複数の「album」ディレクトリのうち、予めいずれかの「album」ディレクトリをシングル曲単位の楽曲の複数のコンテンツデータ及びコンテンツ属性ファイル47を一括して管理するためのディレクトリとして使用する。
このためミドルウェア311は、ユーザにより1又は複数の楽曲がシングル曲単位で購入要求されたことで、ステップSP312において否定結果が得られると、これらシングル曲に対応するコンテンツデータ及びコンテンツ属性ファイル47を管理するためのディレクトリを特には作成せずに、ステップSP315に移る。
ステップSP315においてミドルウェア311は、取得使用ファイル315の中から、上述のステップSP305で選択したコンテンツ取得用アドレスに対応する属性ファイル取得用アドレスを選択する。そしてミドルウェア311は、その選択した属性ファイル取得用アドレスにアクセスし、属性情報提供サーバ7に対してコンテンツ属性ファイル47のダウンロードを要求する。
ここで属性情報提供サーバ7は、取得使用情報提供サーバ5及びコンテンツ提供サーバ6Aとデータ提供使用情報を共有することで、クライアント端末2に対して提供するコンテンツデータのコンテンツIDや、そのコンテンツデータを利用可能にするコンテンツ属性ファイル47を取得させるための属性ファイル取得用アドレス等のリストを保持している。
そしてかかるリストには、現在、コンテンツデータと共にコンテンツ属性ファイル47を取得しようとしているユーザに対する楽曲購入処理を特定可能な購入識別情報が付加されている。またかかるリストには、コンテンツIDや属性ファイル取得用アドレス等が楽曲毎に対応付けられ、クライアント端末2に対するコンテンツデータのダウンロードの順番に合わせて記述されている。
さらにそのリストには、1又は複数の属性ファイル取得用アドレスのうち、先頭の属性ファイル取得用アドレス(すなわち、クライアント端末2が取得処理を実行した際に、コンテンツ属性ファイル47の取得のため最初にアクセスする属性ファイル取得用アドレスである)に対してのみ、その属性ファイル取得用アドレスにクライアント端末2がアクセスしたときだけユーザに対する課金を要求することを示すフラグが付されている。
すなわち、かかる正常楽曲購入処理手順では、ユーザによりアルバム単位及びシングル曲単位の何れの形態で楽曲が購入要求されても、当該ユーザの使用するクライアント端末2により1つ目のコンテンツ属性ファイル47がダウンロード要求されたとき、かかるユーザに対し、購入要求された全ての楽曲分の課金処理を一括して行うようにしている。
従ってステップSP361において属性情報提供サーバ7の制御部40は、クライアント端末2からのコンテンツ属性ファイル47に対するダウンロード要求に応じて、まず、かかるリストにより、当該クライアント端末2のユーザに対する課金を要求するか否かを判別する。
このステップSP361において肯定結果が得られると、このことは現在クライアント端末2がアクセスしている属性ファイル取得用アドレスが、そのクライアント端末2により今回の正常楽曲購入処理手順で1つ目のコンテンツ属性ファイル47を取得するために最初にアクセスされた属性ファイル取得用アドレスであることを表している。従って制御部40は、このときステップSP362に移る。
ステップSP362において制御部40は、リストに付加されていた購入識別情報を格納し、かつ現在、コンテンツ属性ファイル47をダウンロード要求しているクライアント端末2のユーザに対し、楽曲購入に応じた課金を要求する課金要求データをデータ通信処理部44を介してポータルサーバ4に送信する。
ステップSP327においてポータルサーバ4の制御部10は、属性情報提供サーバ7から送信された課金要求データをデータ通信処理部14を介して受信する。制御部10は、その課金要求データに格納されている購入識別情報に基づいて、ユーザデータベース13の中から、現在、楽曲を購入要求しているユーザの個人情報を特定する。
そして制御部10は、その特定した個人情報に含まれる、現在、楽曲を購入要求したユーザに対する課金IDと、当該購入要求された全ての楽曲に対応するコンテンツIDとを格納し、かつ課金サーバ320に対し課金処理の実行を依頼する課金処理実行依頼データを生成する。これにより制御部10は、その課金処理実行依頼データをデータ通信処理部14を介して課金サーバ320に送信する。
ステップSP333において課金サーバ320の制御部は、ポータルサーバ4から送信された課金処理実行依頼データをデータ通信処理部を介して受信する。そして制御部は、課金処理実行依頼データに格納されている課金ID及びコンテンツIDに基づいて、今回、楽曲を購入要求したユーザの課金処理に使用する課金情報等の各種情報を特定すると共に、当該特定した課金情報等の各種情報を用いて、そのユーザに対する課金処理を実行する。その結果、制御部は、かかる課金処理が完了すると、次のステップSP334において課金IDを格納し、かつ課金処理の完了を通知する課金完了通知データをデータ通信処理部を介してポータルサーバ4に返信する。
ステップSP328においてポータルサーバ4の制御部10は、課金サーバ320から送信された課金完了通知データをデータ通信処理部14を介して受信する。制御部10は、課金完了通知データに格納された課金IDに基づいて、ユーザデータベース13の中から、ユーザに対する購入識別情報を特定すると共に、その購入識別情報に対応付けて登録していた未課金を示す課金状況通知情報を、当該課金完了通知データにより通知された課金処理の完了を示す課金状況通知情報に更新する。そして制御部10は、ユーザに対する課金処理が完了したことを示す課金完了データをデータ通信処理部14を介して属性情報提供サーバ7に送信する。
ステップSP363において属性情報提供サーバ7の制御部40は、ポータルサーバ4から送信された課金完了データをデータ通信処理部44を介して受信すると、これに応じて、ユーザに対する課金処理が完了したことを認識する。そして制御部40は、ステップSP315でクライアント端末2によってアクセスされた属性ファイル取得用アドレスとすでに対応付けているコンテンツID等に基づいてコンテンツ属性ファイル47を生成する。これにより制御部40は、そのコンテンツ属性ファイル47をデータ通信処理部44を介してクライアント端末2に送信する。
因みに、上述のステップSP361において否定結果が得られると、このことは現在クライアント端末2がアクセスしている属性ファイル取得用アドレスが、そのクライアント端末2により今回の正常楽曲購入処理手順で2つ目以降のコンテンツ属性ファイル47を取得するためにアクセスされた属性ファイル取得用アドレスであることを表している。すなわちかかる否定結果は、ユーザに対する課金処理がすでに完了していることを表している。従って制御部40は、このときステップSP363に移る。
ステップSP316においてクライアント端末2のミドルウェア311は、属性情報提供サーバ7から送信されたコンテンツ属性ファイル47をネットワークインターフェース115及び通信処理部114を順次介して受信しながら、そのコンテンツ属性ファイル47に格納されたコンテンツ属性情報を、上述のステップSP307で生成した属性情報ファイル名の属性情報ファイルとしてハードディスクに一時記憶して、次のステップSP317に移る。
ステップSP317においてミドルウェア311は、ユーザによりアルバム単位で楽曲が購入要求されているとき、ハードディスク内に予め構築している取得情報データベースに対して、上述のステップSP313で生成したアルバム識別情報を登録する。
またミドルウェア311は、取得情報データベースに登録したアルバム識別情報に対し、当該アルバム識別情報の下位階層として、上述のステップSP310でダウンロードしたコンテンツデータに対するトラックファイル名と、上述のステップSP316でダウンロードしたコンテンツ属性ファイル47の属性情報ファイル名とを対応付けて当該取得情報データベースに登録する。
因みにミドルウェア311は、取得情報データベースに対しアルバム識別情報を一度登録すると、その後は、コンテンツデータ及びコンテンツ属性ファイル47のダウンロード毎に当該ダウンロードしたコンテンツデータ及びコンテンツ属性ファイル47のトラックファイル名及び属性情報ファイル名のみを、そのアルバム識別情報に対応付けるようにして取得情報データベースに追加登録する。
これに対してステップSP317においてミドルウェア311は、ユーザによりシングル曲単位で楽曲が購入要求されているとき、取得情報データベースに対してすでに登録されているシングル曲管理用のディレクトリ固有の識別情報(以下、これを特にシングル識別情報と呼ぶ)に対し、当該シングル識別情報の下位階層として、上述のステップSP310でダウンロードしたコンテンツデータに対するトラックファイル名と、上述のステップSP316でダウンロードしたコンテンツ属性ファイル47の属性情報ファイル名とを対応付けてかかる取得情報データベースに登録する。
これによりミドルウェア311は、コンテンツ提供サーバ6A及び属性情報提供サーバ7からダウンロードしたコンテンツデータ及びコンテンツ属性ファイル47の「track」ファイル及び属性情報ファイルを、図9について上述したディレクトリ構造と同様に「album」ディレクトリ、又はシングル曲管理用のディレクトリで管理可能な状態にし、当該コンテンツデータ及びコンテンツ属性ファイル47を一時記憶から永続的な記憶状態に切り換える。
その結果、ミドルウェア311は、コンテンツ提供サーバ6A及び属性情報提供サーバ7からダウンロードしたコンテンツデータ及びこれに対応するコンテンツ属性ファイル47を、アルバム識別情報、又はシングル識別情報によって特定したうえで、そのコンテンツデータをこれに対応するコンテンツ属性ファイル47の内容に従い利用可能な状態に変更して、次のステップSP318に移る。
ステップSP318においてミドルウェア311は、今回購入要求された楽曲のコンテンツデータ及びこれに対応するコンテンツ属性ファイル47を全てダウンロードしたか否か(すなわち、購入要求された楽曲を全て購入したか否か)を判別する。
このステップSP318において否定結果が得られると、このことは今回ユーザにより購入要求された楽曲が複数有り、これら楽曲のコンテンツデータ及びこれに対応するコンテンツ属性ファイル47を未だ全てダウンロードし終えてはいないことを表している。従ってミドルウェア311は、このときステップSP305に戻る。そしてミドルウェア311は、この後ステップSP318において肯定結果を得るまでの間、ステップSP305乃至ステップSP318の処理を循環的に繰り返す。これによりミドルウェア311は、ユーザによって購入要求された楽曲のコンテンツデータ及びこれに対応するコンテンツ属性ファイル47を、順次取得使用ファイル315の記述内容に従いコンテンツ提供サーバ6A及び属性情報提供サーバ7からダウンロードする。
これに対してステップSP318において肯定結果が得られると、このことは今回ユーザにより購入要求された楽曲のコンテンツデータ及びこれに対応するコンテンツ属性ファイル47を全てダウンロードして取得情報データベースに対する登録が完了したことを表している。従ってミドルウェア311は、このときステップSP319に移る。
ステップSP319においてミドルウェア311は、取得処理の実行の間、例えばハードディスクに一時記憶していた第1乃至第3のログを全て消去した後、かかる楽曲の購入要求に応じた取得処理を終了する。
(3−2)再試行楽曲購入処理手順
次いで、クライアント端末2では、上述の取得処理中に、例えばユーザの不注意でコンセントが抜けて電源供給が停止し、又はネットワークケーブルが抜けてネットワーク3への通信接続が一時的に遮断されると、かかる取得処理が中断される。
従って以下には、図29乃至図31との対応部分に同一符号を付した図32に示すシーケンスチャートを用いて、クライアント端末2が取得処理の中断から、再び起動し、又はネットワーク3へ再び通信接続してかかる取得処理を復帰させたときの再試行楽曲購入処理手順を説明する。
クライアント端末2は、電源供給の停止から再び起動したとき、又はネットワーク3への通信接続の不慮の切断からその通信接続が復帰したとき、再試行楽曲購入処理手順における再取得処理を開始する。
そしてクライアント端末2で再取得処理を開始すると、ステップSP401においてユーザインターフェース310は、ミドルウェア311に対し、クライアント端末2がネットワーク3を利用可能な状態に復帰したことを通知して、次のステップSP402に移る。
ステップSP402においてクライアント端末2のミドルウェア311は、クライアント端末2がネットワーク3を利用可能な状態に復帰する前の取得処理で、例えばハードディスクに一時記憶していた第1、第2及び又は第3のログが未消去のまま残っているか否かを判別する。
このステップSP402において否定結果が得られると、このことはクライアント端末2が、楽曲の購入要求に応じた取得処理を実行してはいないときに電源供給が停止され、又はネットワーク3への通信接続が遮断されたことで、ハードディスクに第1乃至第3のログが全く残ってはいないことを表している。従ってミドルウェア311は、このとき、ネットワーク3を利用可能な状態に復帰する前に取得処理を実行してはいなかったことをユーザインターフェース310に通知することにより、再試行楽曲購入処理手順における再取得処理を終了する。
これに対してステップSP402において肯定結果が得られると、このことはクライアント端末2が楽曲の購入要求に応じた取得処理を実行していた際にコンセントが抜け、又はネットワークケーブルが抜けたことでネットワーク3への通信接続が遮断されたことに伴い、その取得処理が中断されたことを表している。すなわちかかる肯定結果は、ハードディスクに対し第1乃至第3のログのうち少なくとも第1のログが一時記憶されたまま残っていることを表している。従ってミドルウェア311は、このときステップSP403に移る。
ステップSP403においてミドルウェア311は、未消去のまま残っている第2のログとしてのトラックファイル名及び属性情報ファイル名と、未消去のまま残っている第3のログとしてのアルバム識別情報とに基づいて、中断された取得処理ですでにハードディスクに記憶していたコンテンツデータ及びコンテンツ属性ファイル47を全て特定する。そしてミドルウェア311は、ハードディスクから、その特定した全てのコンテンツデータ及びコンテンツ属性ファイル47を消去して、次のステップSP404に移る。
ステップSP404においてミドルウェア311は、ユーザインターフェース310からの通知に応じ、第1のログとしてハードディスクに一時記憶していた課金状況通知要求情報に含まれるリトライアドレスにアクセスする。この状態でミドルウェア311は、かかる課金状況通知要求情報に含まれる購入識別情報を、ポストデータ及びリクエストコード等と共に通信処理部114及びネットワークインターフェース115を順次介してポータルサーバ4に送信する。
ステップSP411においてポータルサーバ4の制御部10は、クライアント端末2から送信された購入識別情報等をデータ通信処理部14を介して受信する。そして制御部10は、その購入識別情報に基づいて、ユーザデータベース13から、ユーザの課金状況通知情報を検索し、当該検索した課金状況通知情報によりユーザに対する課金状況を確認して、次のステップSP412に移る。
ステップSP412において制御部10は、ユーザに対して確認した課金状況に応じた課金状況通知用のページ情報をデータ通信処理部14を介してクライアント端末2に送信する。
ステップSP405においてクライアント端末2のミドルウェア311は、ポータルサーバ4から送信されたページ情報をネットワークインターフェース115及び通信処理部114を順次介して受信する。そしてミドルウェア311は、かかるページ情報の受信に応じて、ハードディスクに未消去のまま残っていた全ての第1乃至第3のログ(すなわち、前回の取得処理で一時記憶していた全ての第1乃至第3のログ)を消去する。またミドルウェア311は、ポータルサーバ4から受信したページ情報をユーザインターフェース310に与える。
これによりステップSP406においてユーザインターフェース310は、ポータルサーバ4から受信されたページ情報を表示処理部111を介してディスプレイ107に送出することにより、当該ディスプレイ107にそのページ情報に基づく映像としてのページを表示させ、次のステップSP407に移る。
ステップSP407においてユーザインターフェース310は、ディスプレイ107に表示させたページに対して、例えばポータルサーバ4により埋め込まれた課金状況通知情報に従い、ユーザに対する課金処理がすでに完了しているか否かを判別する。
このステップSP407においてユーザインターフェース310は、ディスプレイ107に、ユーザに対する課金が未課金のときに応じたページ(図示せず)を表示させていたことにより、かかるページに基づきユーザに対し未課金であることを検出すると、かかる再試行楽曲購入処理手順における再取得処理を終了する。
これに対しステップSP407においてユーザインターフェース310は、ディスプレイ107に、ユーザに対する課金処理がすでに完了しているときに応じたページ(図示せず)を表示させていたことにより、かかるページに基づきその課金処理が完了していることを検出すると、次のステップSP408に移る。
ステップSP408においてユーザインターフェース310は、ミドルウェア311に対し、前回中断された取得処理で取得するはずだったコンテンツデータ及びコンテンツ属性ファイル47に対するデータ取得をリトライするように要求する。
これによりステップSP409においてミドルウェア311は、中断された取得処理におけるデータ取得のリトライを通知するためのリトライ通知データを生成する。そしてミドルウェア311は、前回中断された取得処理ですでに取得していた取得処理使用情報に含まれるリトライアドレスにアクセスする。この状態でミドルウェア311は、かかるリトライ通知データを通信処理部114及びネットワークインターフェース115を順次介してポータルサーバ4に送信する。
ステップSP413においてポータルサーバ4の制御部10は、クライアント端末2から送信されたリトライ通知データをデータ通信処理部14を介して受信する。そして制御部10は、上述したステップSP323の場合とほぼ同様ではあるが、前回中断された取得処理の際に発行していた購入識別情報を含む取得処理使用情報を生成する。これにより制御部10は、かかる取得処理使用情報をデータ通信処理部14を介してクライアント端末2に送信する。因みに制御部10は、この際、取得使用ファイル315を取得するためのファイル取得アドレスや、各種ページ情報取得用のアドレスが変更されていると、これらを最新のものとした取得処理使用情報を生成してクライアント端末2に提供している。
そしてクライアント端末2や、ポータルサーバ4及びその他のサーバ5乃至320は、この後、上述した正常楽曲購入処理手順におけるステップSP303乃至ステップSP319までの一連の処理を順次実行する。これによりクライアント端末2は、ポータルサーバ4経由で取得使用ファイル315を再取得するようにして、かかるポータルサーバ4や、他のサーバ5乃至320と連携し、前回中断された取得処理で取得するはずであったコンテンツデータ及びコンテンツ属性ファイル47を全て取得し直す。ただし課金サーバ320のみは、前回中断された取得処理において、すでにユーザに対する課金処理を完了させていることにより、かかるデータ取得のリトライでは、何ら処理しない。
これによりクライアント端末2のユーザインターフェース310は、データ取得のリトライに応じた再取得処理を終了する。
ところでかかる正常楽曲購入処理手順及び再試行楽曲購入処理手順については、コンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Nが1台のみ存在する場合を例にとって説明した。しかしながら、かかる正常楽曲購入処理手順及び再試行楽曲購入処理手順についても、図11乃至図27について上述した正常楽曲購入処理手順及び復帰楽曲購入処理手順と同様に、コンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nから当該コンテンツデータを分割して取得する場合に適用することができる。
(4)動作及び効果
以上の構成において、データ配信システム1のクライアント端末2は、ユーザによる楽曲の購入要求に応じて取得処理を開始すると、取得使用情報提供サーバ5から取得対象のコンテンツデータに対応するデータサイズ情報と、そのコンテンツデータ提供用のコンテンツ提供アドレスとを格納した取得使用ファイル25を取得する。
そしてクライアント端末2は、取得使用ファイル25により通知されたコンテンツ提供アドレスの通知アドレス数と、データサイズ情報とに基づいて、取得対象のコンテンツデータに対する分割部分データの分割開始位置及び分割終了位置を決定する。またクライアント端末2は、その分割開始位置及び分割終了位置と取得対象のコンテンツデータのコンテンツIDとを格納した分割部分要求データを生成する。これによりクライアント端末2は、コンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対しそれぞれ異なる分割部分データを指定して要求するように分割部分要求データを振り分けて送信する。
その結果、クライアント端末2は、複数のコンテンツ提供サーバ6A乃至6Nからそれぞれ送信された分割部分データを受信しハードディスクに一時記憶する。そしてクライアント端末2は、コンテンツデータを構成する全ての分割部分データの受信が完了すると、ハードディスク上で各分割部分データの一時記憶アドレスを変更してコンテンツデータを復元する。
以上の構成によれば、クライアント端末2は、コンテンツデータの要求に応じて取得使用情報提供サーバ5から取得した当該コンテンツデータに対応するデータサイズ情報と、そのコンテンツデータ提供用のコンテンツ提供アドレスの通知アドレス数とに基づいて、当該要求されたコンテンツデータに対する分割部分データの分割開始位置及び分割終了位置を決定する。そしてクライアント端末2は、そのコンテンツデータを提供可能な複数のコンテンツ提供サーバ6A乃至6Nに対しそれぞれ取得対象のコンテンツデータのコンテンツIDと分割開始位置及び分割終了位置とを指定して分割部分データを要求する。その結果、クライアント端末2は、複数のコンテンツ提供サーバ76A乃至6Nからそれぞれ送信された分割部分データを受信してコンテンツデータを復元するようにした。これによりクライアント端末2は、コンテンツ提供サーバ6A乃至6Nに対しコンテンツデータと分割開始位置及び分割終了位置とを指定して要求することで、当該コンテンツ提供サーバ6A乃至6Nに対してコンテンツデータを複数の分割部分データに分割して管理することを回避させると共に、コンテンツデータの要求に応じて送信すべき分割部分データを検索するような手間をかけさせることも回避させたうえで、コンテンツデータよりも格段的にデータサイズの小さい分割部分データを送信させることができる。かくするにつきコンテンツ提供サーバ6A乃至6Nに対し、コンテンツデータ提供用の処理負荷を格段的に低減し得るデータ配信システム1を実現することができる。
またクライアント端末2は、このようなコンテンツデータの取得処理の際に、第1の分割部分要求手法が選択されている場合、取得使用ファイル25で通知されたコンテンツ提供アドレスの通知アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定する。そしてクライアント端末2は、そのコンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Nにそれぞれ異なる分割部分データを要求するようにした。従ってクライアント端末2は、同一のコンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Cを有効に活用してコンテンツデータを取得することができる。またクライアント端末2は、全てのコンテンツ提供サーバ6A乃至6Nに対してそれぞれ1つの分割部分データを要求することで、何れかのコンテンツ提供サーバ6A乃至6Nのみ分割部分データ提供時の処理負荷が極端に増大することを防止することができる。
さらにクライアント端末2は、コンテンツデータの取得処理の際に、第2の分割部分要求手法が選択されている場合、選択アドレス数が通知アドレス数よりも少ないと、その選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定する。これによりクライアント端末2は、そのコンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Dの数よりも、コンテンツデータに対する分割部分データの数を少なくするようにした。従ってクライアント端末2は、比較的処理負荷の大きい又は処理能力の低いコンテンツ提供サーバ6Dを分割部分データの要求先から除いて、他のコンテンツ提供サーバ6A乃至6Cに対してのみそれぞれ1つの分割部分データを要求できる。その結果、クライアント端末2は、同一のコンテンツデータを提供可能なコンテンツ提供サーバ6A乃至6Dを減らしても、取得対象のコンテンツデータを極力効率良く取得することができる。
さらにクライアント端末2は、コンテンツデータの取得処理の際に、第2の分割部分要求手法が選択されている場合、選択アドレス数が通知アドレス数よりも多いと、選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定する。そしてクライアント端末2は、まずコンテンツデータを提供可能な全てのコンテンツ提供サーバ6A乃至6Cに対してそれぞれ1つの分割部分データを要求する。その後、クライアント端末2は、複数のコンテンツ提供サーバ6A乃至6Cに対する1回目の要求で残った分割部分データを、分割部分データの受信が完了した順番に応じて、より早く要求の受付可能となったコンテンツ提供サーバ6A乃至6Nに対して優先的に要求するようにした。従ってクライアント端末2は、比較的処理負荷の大きい又は元々処理能力の低いコンテンツ提供サーバ6A乃至6Nに対しては分割部分データの要求回数を極力減らして処理負荷がさらに大きくなることを防止することができる。またクライアント端末2は、比較的処理負荷の小さい又は元々処理能力が比較的高いことで分割部分データの要求に迅速に対応し得るコンテンツ提供サーバ6A乃至6Bに対しては分割部分データを積極的に要求することができる。その結果、クライアント端末2は、コンテンツ提供サーバ6A乃至6Nを、その能力に応じて的確に使い分けてコンテンツデータを効率良く取得することができる。
これに加えてクライアント端末2は、取得処理を実行する場合、当該取得処理がどの段階まで進んでいるかを示す処理経過情報を適宜残す。そしてクライアント端末2は、取得処理を一度中断された後に再開したときには一時記憶していた処理経過情報に従って、コンテンツデータに対応する複数の分割部分データのうち取得処理の中断前にすでに取得していた分割部分データについては再度要求せずに、当該取得処理の中断により要求できずに残っていた分割部分データや、分割部分データの受信途中に取得処理が中断したことで残った受信残部分データのみから要求を再開する。またクライアント端末2は、コンテンツデータ全体をすでに取得しているときには、そのコンテンツデータを再度要求はせずにコンテンツ属性ファイル47の取得から再開するようにした。従ってクライアント端末2は、取得処理の中断前と再開後で処理が重複することを的確に回避することができる。
またクライアント端末2は、取得処理を再開したときに、分割部分データの受信途中に取得処理が中断したことでその分割部分データの終端側の部分が受信し残っていると、その受信残部分データをコンテンツ提供サーバ6A乃至6Nに要求する。従ってクライアント端末2は、受信残部分データが分割部分データよりもデータサイズが小さいことにより、当該受信残部分データを要求するコンテンツ提供サーバ6A乃至6Nに対し、分割部分データの要求に応じて送信処理する場合よりも、処理負荷を低減させることができる。
ここでコンテンツ提供サーバ6A乃至6Nは、コンテンツデータ全体が要求された場合、当該コンテンツデータを所定単位毎にパケット化して所定間隔でクライアント端末2に送信する。このためクライアント端末2では、コンテンツデータを受信する際に、パケット間の何も受信しない期間が周期的に生じることになる。
これに対して本実施の形態によるクライアント端末2は、複数のコンテンツ提供サーバ6A乃至6Nに対してコンテンツデータよりも格段的にデータサイズの小さい分割部分データをほぼ一斉に要求する。その結果、クライアント端末2は、これらコンテンツ提供サーバ6A乃至6Nからそれぞれ送信された分割部分データを受信する。従ってクライアント端末2では、コンテンツデータを分割せずに要求して受信する場合に比べて、分割部分データの受信の間に生じる何も受信しない期間を極力小さくすることができる。かくしてクライアント端末2は、コンテンツデータの取得速度を格段的に高速化することができる。
これに加えてクライアント端末2は、上述の他の楽曲購入処理手順において取得処理を中断の後に復帰したとき、第1及び第2のログが未消去のまま残っているか否かを確認する。その結果、クライアント端末2は、第1及び第2のログが残っているときは、その第2のログに従って、中断された取得処理ですでにハードディスクに対して記憶していたコンテンツデータ及びコンテンツ属性ファイル47を全て消去した後、当該中断された取得処理で取得するはずのコンテンツデータ及びコンテンツ属性ファイル47に対するデータ取得をリトライするようにした。従ってクライアント端末2は、上述した復帰楽曲購入処理手順を実行する場合と同様に、データ取得のリトライの際、すでにダウンロードしてハードディスクに記憶していたコンテンツデータ及びコンテンツ属性ファイル47を重複して記憶し、ハートディスクの空領域が無駄に減少することを確実に回避することができる。かくしてクライアント端末2は、データ取得をリトライした際に途中でハードディスクの空領域が不足してコンテンツデータ及びコンテンツ属性ファイル47を記憶し難くなることを防止し、当該コンテンツデータ及びコンテンツ属性ファイル47を確実に取得することができる。
またクライアント端末2は、楽曲がアルバム単位で購入要求されたとき、取得処理中に、ダウンロードするコンテンツデータ及びコンテンツ属性ファイル47を特定可能なアルバム識別情報を生成して第3のログとして一時記憶する。そしてクライアント端末2は、コンテンツデータ及びコンテンツ属性ファイル47をダウンロードする毎に取得情報データベースに対し、かかるアルバム識別情報に当該アルバム識別情報の下位階層としてトラックファイル名及び属性情報ファイル名を対応付けて登録する。このようにしてクライアント端末2は、取得対象の全てのコンテンツデータ及びコンテンツ属性ファイル47をダウンロードして取得情報データベースに対するアルバム識別情報に対応付けたトラックファイル名及び属性情報ファイル名の登録が完了すると、全てのログを消去する。従ってクライアント端末2は、データ取得をリトライする際、第3のログとしてのアルバム識別情報が未消去のまま残っているときには、取得情報データベースからそのアルバム識別情報を消去することで、当該アルバム識別情報と共にこれによって特定可能なコンテンツデータ及びコンテンツ属性ファイル47を一括して容易に消去することができる。かくしてクライアント端末2は、ハードディスクの空領域を、コンテンツデータ及びコンテンツ属性ファイル47の取得開始時点の状態に迅速に戻すことができる。その結果、クライアント端末2は、コンテンツデータ及びコンテンツ属性ファイル47を効率良く再取得することができる。
(5)他の実施の形態
なお上述した実施の形態においては、クライアント端末2がコンテンツデータの要求に応じて取得使用情報提供サーバ5からそのコンテンツデータのデータサイズ情報及び当該コンテンツデータ提供用のコンテンツ提供アドレスが格納された取得使用ファイル25を取得するようにした場合について述べたが、本発明はこれに限らず、クライアント端末2が予め複数のコンテンツ提供サーバ6A乃至6Nを登録しておき、コンテンツデータの要求に応じてこれら各コンテンツ提供サーバ6A乃至6Nにそれぞれ、要求されたコンテンツデータを提供可能か否かを問い合わせ、その結果、コンテンツデータを提供可能であれば、そのコンテンツ提供サーバ6A乃至6N又は他の管理サーバ等からデータサイズ情報及びコンテンツ提供アドレスの通知を受けるようにしても良い。
また上述の実施の形態においては、クライアント端末2において通知アドレス数又は選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するようにした場合について述べたが、本発明はこれに限らず、クライアント端末2において、コンテンツデータが要求されたとき、コンテンツ提供アドレスに従ってコンテンツ提供用ホームページにアクセスし、その際の回線の込み具合に応じて分割部分データを要求すべきコンテンツ提供サーバ6A乃至6Nを選択し、その選択したコンテンツ提供サーバ6A乃至6Nの数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するようにしても良い。これによりクライアント端末2では、コンテンツデータが要求されたときに、あまりアクセスの殺到してはいないコンテンツ提供サーバ6A乃至6Nに対してのみ分割部分データを要求することができ、かくしてコンテンツデータの取得効率を向上させることができる。
さらに上述の実施の形態においては、クライアント端末2において取得処理の際に第3の分割部分要求手法が選択されていると、通知アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するようにした場合について述べたが、本発明はこれに限らず、クライアント端末2において取得処理の際に第3の分割部分要求手法が選択されているとき、選択アドレス数をコンテンツ分割数とし、又は予め選択された最大選択アドレス数よりも通知アドレス数が少ないときにはその通知アドレス数をコンテンツ分割数とし、これに対して通知アドレス数が最大選択アドレス数以上のときにはその最大選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するようにしても良い。
さらに上述の実施の形態においては、クライアント端末2においてコンテンツデータをほぼ均等な分割データサイズで分割するための分割開始位置及び分割終了位置を決定するようにした場合について述べたが、本発明はこれに限らず、クライアント端末2においてコンテンツデータを、予め選定された、又はその都度選定された種々の分割データサイズで分割するように分割開始位置及び分割終了位置を決定し、処理負荷が大きい又は処理能力の低いコンテンツ提供サーバ6A乃至6Nに対しては分割データサイズの極力小さい分割部分データを要求し、処理負荷が小さい又は処理能力が高いコンテンツ提供サーバ6A乃至6Nに対しては分割データサイズが極力大きい(すなわち、処理負荷の大きい又は処理能力の低いコンテンツ提供サーバ6A乃至6Nに要求した分割部分データの分割データサイズよりも大きい)分割部分データを要求するようにしても良い。このようにすれば、処理負荷の小さい又は処理能力の大きいコンテンツ提供サーバ6A乃至6Nのみを優先的に使用せずに、処理負荷の大きい又は処理能力の低いコンテンツ提供サーバ6A乃至6Nも合わせて有効に利用することができる。その結果、クライアント端末2は、より多くのコンテンツ提供サーバ6A乃至6Nをその能力に応じて分割部分データの要求に利用して、コンテンツデータの取得効率をさらに格段に向上させることができる。
さらに上述の実施の形態においては、取得処理で、トラックファイル名を生成した後、属性情報ファイル名を生成するようにした場合について述べたが、本発明はこれに限らず、種々のタイミングで属性情報ファイル名を生成した後、トラックファイル名を生成するようにしても良い。
さらに上述の実施の形態においては、楽曲をアルバム単位及びシングル曲単位の何れか一方を任意に選択させて購入要求させるようにした場合について述べたが、本発明はこれに限らず、アルバム単位の楽曲とシングル曲単位の楽曲とを混在させて購入要求させるようにしても良い。そしてアルバム単位及びシングル曲単位を混在させて楽曲を購入要求させるときには、取得処理において、例えばコンテンツデータをダウンロードする毎に、アルバム単位及びシングル曲単位の何れのコンテンツデータであるかを確認して、取得情報データベースへのトラックファイル名及び属性情報ファイル名の登録に反映させれば良い。
さらに上述の実施の形態においては、クライアント端末2がシングル曲単位のコンテンツデータ及びコンテンツ属性ファイル47をダウンロードしたとき、予め用意していたシングル識別情報にトラックファイル名及び属性情報ファイル名を対応付けて登録するようにした場合について述べたが、本説明はこれに限らず、クライアント端末2がシングル曲単位のコンテンツデータ及びコンテンツ属性ファイル47をダウンロードするとき、ログとして消去可能なシングル識別情報を生成するようにしても良い。
このようにすれば、上述したアルバム識別情報を用いる場合と同様に、データ取得をリトライするときに取得情報データベースから、かかるシングル識別情報を消去するようにして、シングル曲単位の楽曲に対応するコンテンツデータ及びコンテンツ属性ファイル47も一括して容易に消去することができる。なおコンテンツ提供サーバ6A乃至6Nからダウンロードするコンテンツデータ、及び属性情報提供サーバ7からダウンロードするコンテンツ属性ファイル47を特定可能な識別情報としては、アルバム識別情報やシングル識別情報に限らず、楽曲が購入要求される毎の購入要求単位や、曲数単位等のように任意の単位のデータに対して、同様の機能を有する識別情報を生成するようにしても良い。
さらに上述の実施の形態においては、本発明によるコンテンツ取得装置を図1乃至図34について上述したクライアント端末2に適用するようにした場合について述べたが、本発明はこれに限らず、パーソナルコンピュータや携帯電話機、PDA(Personal Digital Assistance)等の情報処理装置、CDプレーヤやDVD(Digital Versatile Disc)プレーヤ、ゲーム機器等のように、コンテンツデータを取得することができれば、この他種々のコンテンツ取得装置に広く適用することができる。
なお上述の実施の形態においては、ハードウェア回路ブロック及びプログラムモジュールをクライアント端末2に実装したが、これらを携帯電話機やパーソナルコンピュータ等、クライアント端末2以外の種々の端末に実装することで、これらハードウェア回路ブロック及びプログラムモジュールを実装した端末であれば、上述したクライアント端末2と同様の処理を実現することができる。
さらに上述の実施の形態においては、本発明によるコンテンツ取得システムを図1乃至図34について上述したデータ配信システム1に適用するようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置と、コンテンツ取得装置とを無線又は有線のLAN(Local Area Network)を介して接続して構築されたコンテンツ取得システム等のように、この他種々の構成のコンテンツ取得システムに広く適用することができる。
さらに上述の実施の形態においては、本発明によるコンテンツ提供装置を図1乃至図34について上述したコンピュータ構成のコンテンツ提供サーバ6A乃至6Nに適用するようにした場合について述べたが、本発明はこれに限らず、パーソナルコンピュータや携帯電話機、PDA等の情報処理装置のように、コンテンツデータを提供することができれば、この他種々のコンテンツ提供装置に広く適用することができる。
なお上述の実施の形態においては、ハードウェア回路ブロック及びコンテンツ提供プログラムをコンテンツ提供サーバ6A乃至6Nに実装したが、これらを携帯電話機等、コンテンツ提供サーバ6A乃至6N以外の種々の装置に実装することで、これらハードウェア回路ブロック及びコンテンツ提供プログラムを実装した装置であれば、上述したコンテンツ提供サーバ6A乃至6Nと同様の処理を実現することができる。
さらに上述の実施の形態においては、本発明によるコンテンツ取得プログラムを、クライアント端末2のROM102に予め格納しているHTTPメッセージプログラム130、コミュニケータプログラム131、著作権保護管理モジュール133、楽曲購入再生モジュール135、XMLブラウザ136、ハードディスクコンテンツコントローラ137、データベースアクセスモジュール139、コンテンツデータアクセスモジュール140からなるプログラムモジュール群に適用し、当該クライアント端末2のCPU100がそのコンテンツ取得プログラムに従って図11乃至図13、図15乃至図18、図21乃至図23、図25乃至図32について上述した楽曲購入処理手順の取得処理を実行するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のコンテンツ取得プログラムを適用し、当該コンテンツ取得プログラムが格納されたプログラム格納媒体をクライアント端末2にインストールすることにより取得処理を実行するようにしても良い。
さらに上述の実施の形態においては、コンテンツ取得装置で取得するコンテンツデータとして、図1乃至図34について上述した楽曲のコンテンツデータを適用するようにした場合について述べたが、本発明はこれに限らず、写真や映画等の映像データや、ゲーム用のプログラムデータ、衛星ラジオ放送で放送されるコンテンツデータ等のように、この他種々のコンテンツデータを広く適用することができる。
さらに上述の実施の形態においては、コンテンツデータに対する要求に応じて、当該要求されたコンテンツデータを提供可能な複数のコンテンツ提供装置のアドレス情報と、当該コンテンツデータのデータサイズ情報とを要求する要求情報を外部に送信する要求情報送信手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、要求情報を外部に送信するハードウェア回路構成の要求情報送信回路や、無線通信インターフェース等のように、この他種々の要求情報送信手段を広く適用することができる。
さらに上述の実施の形態においては、要求情報送信手段による要求情報の送信に応じて外部で送信された、コンテンツデータを提供可能な複数のコンテンツ提供装置のアドレス情報と当該コンテンツデータのデータサイズ情報とを受信する情報受信手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、コンテンツデータを提供可能な複数のコンテンツ提供装置のアドレス情報と当該コンテンツデータのデータサイズ情報とを受信するハードウェア回路構成の情報受信回路や、無線通信インターフェース等のように、この他種々の情報受信手段を広く適用することができる。
さらに上述の実施の形態においては、情報受信手段により受信されたアドレス情報の数及びデータサイズ情報とに基づいて、複数のコンテンツ提供装置に対してコンテンツデータを分割して要求するための当該コンテンツデータに対する分割部分の分割開始位置及び分割終了位置を決定する分割位置決定手段とて、図1乃至図34について上述したクライアント端末2において、通知アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定し、又は通知アドレス数と選択アドレス数とが同一なら、その通知アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するものの、当該通知アドレス数と選択アドレス数とが異なるときには、選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するCPU100を適用するようにした場合について述べたが、本発明はこれに限らず、予め任意に選択された最大選択アドレス数と通知アドレス数とを比較し、当該通知アドレス数が最大選択アドレス数よりも小さいときには、その通知アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定し、当該通知アドレス数が最大選択アドレス数よりも大きいときには、その最大選択アドレス数をコンテンツ分割数としてコンテンツデータに対する分割開始位置及び分割終了位置を決定するハードウェア回路構成の分割位置決定回路等のように、この他種々の手法でコンテンツデータに対する分割開始位置及び分割終了位置を決定する分割位置決定手段を広く適用することができる。
さらに上述の実施の形態においては、コンテンツデータのコンテンツ識別情報と、当該コンテンツデータに対する分割部分の分割開始位置及び分割終了位置とからなる分割部分要求情報を、複数のコンテンツ提供装置にそれぞれ異なる分割部分を要求するように振り分けて送信する分割部分要求情報送信手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、分割部分要求情報を、複数のコンテンツ提供装置にそれぞれ異なる分割部分を要求するように振り分けて送信するハードウェア回路構成の分割部分要求情報送信回路や、無線通信インターフェース等のように、この他種々の分割部分要求情報送信手段を広く適用することができる。
さらに上述の実施の形態においては、分割部分要求情報送信手段による分割部分要求情報の送信に応じて複数のコンテンツ提供装置からそれぞれ送信された分割部分を受信する分割部分受信手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、複数のコンテンツ提供装置からそれぞれ送信された分割部分を受信するハードウェア回路構成の分割部分受信回路や、無線通信インターフェース等のように、この他種々の分割部分受信手段を広く適用することができる。
さらに上述の実施の形態においては、分割部分受信手段により受信された分割部分を一時記憶する一時記憶手段として、図1乃至図34について上述したクライアント端末2のCPU100及びハードディスクドライブ104を適用するようにした場合について述べたが、本発明はこれに限らず、光磁気ディスクや半導体メモリ等の記憶媒体に対してデータ書込可能なドライバ回路のように当該記憶媒体に対し分割部分を一時記憶するハードウェア回路構成の一時記憶回路等、この他種々の一時記憶手段を広く適用することができる。
さらに上述の実施の形態においては、一時記憶手段により一時記憶された分割部分を結合してコンテンツデータを復元するデータ復元手段として、図1乃至図34について上述したクライアント端末2においてハードディスクに分割部分データを一時記憶しているハードディスクドライブ104と、分割部分データの一時記憶アドレスを変更することによりハードディスク上で分割部分データからコンテンツデータを復元するCPU100とを適用するようにした場合について述べたが、本発明はこれに限らず、分割部分データを一時記憶したハードディスク等の記憶媒体から、その分割部分データを他の記憶媒体に記憶し直しながらコンテンツデータを復元するハードウェア回路構成のデータ復元回路等のように、この他種々のデータ復元手段を広く適用することができる。
さらに上述の実施の形態においては、コンテンツ提供装置毎に、分割部分要求情報を送信した時点から、当該コンテンツ提供装置からそれぞれ送信された分割部分の受信が完了するまでの受信完了時間を計測する計測手段として、図1乃至図34について上述したクライアント端末2のCPU100を適用するようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置毎に、分割部分要求情報を送信した時点から、当該コンテンツ提供装置からそれぞれ送信された分割部分の受信が完了するまでの受信完了時間を計測するハードウェア回路構成の計測回路等のように、この他種々の計測手段を広く適用することができる。
さらに上述の実施の形態においては、受信完了時間の計測が開始され所定時間に達しても分割部分の受信が完了しないとき、当該所定時間に受信の完了しない分割部分を送信していたコンテンツ提供装置からの当該分割部分の受信を中断する受信中断手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、受信完了時間の計測が開始され所定時間に達しても分割部分の受信が完了しないとき、当該所定時間に受信の完了しない分割部分を送信していたコンテンツ提供装置からの当該分割部分の受信を中断するハードウェア回路構成の受信中断回路や、CPU100及び無線通信インターフェース等のように、この他種々の受信中断手段を広く適用することができる。
さらに上述の実施の形態においては、受信の中断された分割部分の要求先を、当該分割部分の受信が中断されたコンテンツ提供装置とは異なる他のコンテンツ提供装置に変更する分割部分要求装置変更手段として、図1乃至図34について上述したクライアント端末2のCPU100を適用するようにした場合について述べたが、本発明はこれに限らず、受信の中断された分割部分の要求先を、当該分割部分の受信が中断されたコンテンツ提供装置とは異なる他のコンテンツ提供装置に変更するハードウェア回路構成の分割部分要求装置変更回路等のように、この他種々の分割部分要求装置変更手段を広く適用することができる。
さらに上述の実施の形態においては、複数のコンテンツ提供装置からそれぞれ送信された分割部分を受信している間、当該分割部分の受信終端位置を受信状況として時々刻々と更新する受信状況更新手段として、図1乃至図34について上述したクライアント端末2のハードディスクドライブ104及びCPU100を適用するようにした場合について述べたが、本発明はこれに限らず、分割部分の受信終端位置を受信状況として時々刻々と更新するハードウェア回路構成の受信状況更新回路や、半導体メモリ等の記憶媒体及びCPU100等のように、この他種々の受信状況変更手段を広く適用することができる。
さらに上述の実施の形態においては、受信の中断された分割部分に対して受信せずに残った受信残部分を要求するために、当該受信の中断された分割部分の受信終端位置及び分割終了位置の情報とコンテンツ識別情報とからなる受信残部分要求情報を、分割部分の受信が中断されたコンテンツ提供装置とは異なる他のコンテンツ提供装置に送信する受信残部分要求情報送信手段として、図1乃至図34について上述したクライアント端末2のCPU100、通信処理部114及びネットワークインターフェース115を適用するようにした場合について述べたが、本発明はこれに限らず、受信の中断された分割部分に対して受信せずに残った受信残部分を要求するために、当該受信の中断された分割部分の受信終端位置及び分割終了位置の情報とコンテンツ識別情報とからなる受信残部分要求情報を、分割部分の受信が中断されたコンテンツ提供装置とは異なる他のコンテンツ提供装置に送信するハードウェア回路構成の受信残部分要求情報送信回路や、CPU100及び無線通信インターフェース等のように、この他種々の受信残部分要求情報送信手段を広く適用することができる。
さらに上述の実施の形態においては、コンテンツ取得装置から送信された分割部分要求情報を受信する分割部分要求情報受信手段として、図1乃至図34について上述したコンテンツ提供サーバ6A乃至6Nの制御部30及びデータ通信処理部34を適用するようにした場合について述べたが、本発明はこれに限らず、分割部分要求情報を受信するハードウェア回路構成の分割部分要求情報受信回路や、制御部及び無線通信インターフェース等のように、この他種々の分割部分要求情報受信手段を広く適用することができる。
さらに上述の実施の形態においては、分割部分要求情報受信手段により受信された分割部分要求情報に応じて、当該分割部分要求情報に含まれるコンテンツ識別情報に対応するコンテンツデータから、分割部分要求情報に含まれる分割開始位置及び分割終了位置間の分割部分を分割する分割手段として、図1乃至図34について上述したコンテンツ提供サーバ6A乃至6Nの制御部30を適用するようにした場合について述べたが、本発明はこれに限らず、コンテンツデータから、分割部分要求情報に含まれる分割開始位置及び分割終了位置間の分割部分を分割するハードウェア回路構成の分割回路や、コンテンツデータを記憶している記憶媒体及びその記憶媒体から当該コンテンツデータの分割部分のみを切り出すように再生する再生回路等のように、この他種々の分割手段を広く適用することができる。
さらに上述の実施の形態においては、分割手段によりコンテンツデータから分割された分割部分をコンテンツ取得装置に送信する分割部分送信手段として、図1乃至図34について上述したコンテンツ提供サーバ6A乃至6Nの制御部30及びデータ通信処理部34を適用するようにした場合について述べたが、本発明はこれに限らず、コンテンツデータから分割された分割部分をコンテンツ取得装置に送信するハードウェア回路構成の分割部分送信回路や、制御部及び無線通信インターフェース等のように、この他種々の分割部分送信手段を広く適用することができる。