(57)【要約】  ネットワーク上でコンテンツデータを保存及び配信する方法並びにシステムは、コンテンツデータを求める要求を請求者（２０）から受け取ることを含み、前記要求は、一つ以上の保存場所からの前記コンテンツデータの取り出しを可能にする使用可能化情報を含む。使用可能化情報を処理して、一つ以上の保存場所内のデータ割り当てを特定する。特定したデータ割り当てに従って、一つ以上の保存場所から個別データ構成要素（９０）の形式のコンテンツデータを受信する。請求者（２０）に個別データ構成要素（９０）を送信する。
2015511742.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上でコンテンツデータを配信する方法であって、
請求者からのコンテンツデータを求める要求をネットワーク上で受信するステップであって、前記要求は、一つ以上の保存場所からの前記コンテンツデータの取り出しを可能にする使用可能化情報を含む、ステップと、
前記使用可能化情報を処理して、前記一つ以上の保存場所の中のデータ割り当てを特定するステップと、
前記特定したデータ割り当てに従って、前記一つ以上の保存場所から個別データ構成要素の形式でコンテンツデータを取り出すステップと、
前記請求者に前記個別データ構成要素を送信するステップと、を含む方法。
【請求項２】
前記使用可能化情報は、データ割り当て情報、暗号化データ割り当て情報、及び復号化データ割り当て情報の復号鍵のうちの一つ以上を含む、請求項１に記載の方法。
【請求項３】
前記使用可能化情報を処理するステップは、復号鍵を用いて、暗号化データ割り当て情報を復号するステップを含む、請求項１又は２に記載の方法。
【請求項４】
前記要求はインターネット上で受信され、個別データ構成要素はインターネット上で送信される、請求項１に記載の方法。
【請求項５】
前記保存場所は、個別保存場所である、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記個別保存場所は、物理的に分離された個別保存場所、リモートに位置する個別保存場所、又は物理的に分離されてリモートに位置する個別保存場所である、請求項５に記載の方法。
【請求項７】
前記使用可能化情報を処理してデータ割り当てを特定するステップは、ファイル割り当てテーブルを生成することを含む、請求項５又は６に記載の方法。
【請求項８】
前記個別データ構成要素は、データ構成要素識別子と共に送信される、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
前記個別データ構成要素はパリティデータを含み、前記個別データ構成要素のうちのいずれか一つ以上は、残りの個別データ構成要素及び前記パリティデータから再生成可能である、請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記コンテンツデータは、ページレイアウト、設計要素、ビデオ、図形、音声、及びウェブページコンテンツのうちの一つ以上を含む、請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
ネットワークを通じてコンテンツデータを取り出す方法であって、
サーバからコンテンツデータを求める要求を行うステップであって、前記要求は、一つ以上の保存場所からの前記コンテンツデータの取り出しを可能にする使用可能化情報を含む、ステップと、
前記要求への応答において、前記個別データ構成要素を受信するステップと、
前記個別データ構成要素から前記コンテンツデータを生成するステップと、を含む方法。
【請求項１２】
前記コンテンツを生成するステップは、前記個別データ構成要素が前記コンテンツデータを形成する方式の識別情報を提供するデータマップから前記コンテンツデータを再構築することを含む、請求項１１に記載の方法。
【請求項１３】
前記個別データ構成要素はパリティデータを含み、
前記コンテンツデータを生成するステップは、
何らかの欠損したデータ構成要素を前記パリティデータ及び残りのデータ構成要素から再生成するステップと、
前記受信したデータ構成要素及び再生成された欠損したデータ構成要素を再構築して、前記コンテンツデータを形成するステップと、を含む、請求項１１又は１２に記載の方法。
【請求項１４】
データマップに、パリティデータとデータ構成要素との対応関係が記述される、請求項１３に記載の方法。
【請求項１５】
ネットワークインタフェースと、
論理回路と、を含むサーバであって、
前記論理回路は、
請求者からのコンテンツデータを求める要求であって、一つ以上の保存場所からの前記コンテンツデータの取り出しを可能にする使用可能化情報を含む要求をネットワーク上で受信し、
前記使用可能化情報を処理して、前記一つ以上の保存場所の中のデータ割り当てを特定し、
前記特定したデータ割り当てに従って、前記一つ以上の保存場所から個別データ構成要素の形式でコンテンツデータを取り出し、
前記請求者に前記個別データ構成要素を送信するように構成される、サーバ。
【請求項１６】
前記使用可能化情報を処理する前記論理回路は、更に、復号鍵を用いて、暗号化データ割り当て情報を復号するように構成される、請求項１５に記載のサーバ。
【請求項１７】
論理回路を含み、ネットワークを通じてコンテンツデータを取り出すクライアントであって、
前記論理回路は、
サーバからコンテンツデータを求める要求であって、一つ以上の保存場所からの前記コンテンツデータの取り出しを可能にする使用可能化情報を含む要求を行い、
前記要求への応答において、前記個別データ構成要素を受信し、
前記個別データ構成要素から前記コンテンツデータを生成するように構成される、クライアント。
【請求項１８】
前記個別データ構成要素から前記コンテンツを生成するように構成される前記論理回路は、
前記個別データ構成要素が前記コンテンツデータを形成する方式の識別情報を提供するデータマップから前記コンテンツデータを再構築するように構成される、請求項１７に記載のクライアント。
【請求項１９】
前記データ構成要素は、前記データマップ内の識別子に対応する識別子を含む、請求項１８に記載のクライアント。
【請求項２０】
前記個別データ構成要素はパリティデータを含み、前記コンテンツデータを生成するように構成された前記論理回路は、更に、
いずれかの欠損したデータ構成要素を前記パリティデータ及び他の残りのデータ構成要素から再生成し、
前記受信したデータ構成要素及び前記再生成された欠損したデータ構成要素を再構築して前記コンテンツデータを形成するように構成される、請求項１７乃至１９のいずれか１項に記載のクライアント。
【請求項２１】
前記コンテンツデータからウェブページを生成するように構成された論理回路を更に含む、請求項１７乃至２０のいずれか１項に記載のクライアント。
【請求項２２】
コンテンツデータを保存する方法であって、
前記コンテンツデータを複数の個別データ構成要素に分割するステップと、
前記個別データ構成要素を一つ以上の保存場所に保存するステップと、
前記個別データ構成要素が前記一つ以上の保存場所内に割り当てられる方式を記述したデータ割り当て情報を生成するステップと、
前記個別データ構成要素が前記コンテンツデータを形成する方式の識別情報を提供するデータマップを生成するステップと、を含む方法。
【請求項２３】
各個別データ構成要素にそれぞれ識別子を生成するステップを更に含み、前記データマップは、その識別情報の中に、前記個別データ構成要素の前記識別子を含む、請求項２２に記載の方法。
【請求項２４】
前記データ割り当て情報及び前記データマップの少なくとも一方を暗号化するステップを更に含む、請求項２２又は２３に記載の方法。
【請求項２５】
前記コンテンツデータはウェブコンテンツである、請求項２２乃至２４のいずれか１項に記載の方法。
【請求項２６】
複数のメッセージ構成要素の各データ構成要素と、一つの他のデータ構成要素とに対応するパリティデータを生成するステップを更に含む、請求項２２乃至２５のいずれか一つに記載の方法。
【請求項２７】
複数のデータサブセットの各データ構成要素と、第２の他のデータ構成要素とに対応するパリティデータを生成するステップを更に含む、請求項２６に記載の方法。
【請求項２８】
前記生成されたパリティデータを前記一つ以上の保存場所に保存するステップを更に含む、請求項２６又は２７に記載の方法。
【請求項２９】
請求項１５又は１６に記載の一つ以上のサーバと、
請求項１７乃至２１のいずれか１項に記載の一つ以上のクライアントと、を含むシステム。
【請求項３０】
コンピュータ上で実行されたときに、前記コンピュータに、請求項１乃至１４又は請求項２２乃至２８のいずれか１項に記載の方法を実行させるプログラム命令を含むコンピュータプログラム。
【請求項３１】
請求項３０に記載のコンピュータプログラムを保持する、コンピュータ可読媒体。
【請求項３２】
請求項１乃至１４又は請求項２２乃至２８のいずれか１項に記載の方法を実行するようにプログラムされたコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じてコンテンツデータを送受信するシステム及び方法に関し、特に、インターネットを通じてウェブページを送受信するシステム方法に関する。
【背景技術】
【０００２】
インターネット等のネットワークを通じてウェブサーバからブラウザにコンテンツデータを提供する技術は周知である。簡単な静的ウェブページについては、ＨＴＭＬデータをウェブサーバに保存することができ、そのＨＴＭＬは、要求に応じて一つ以上のブラウザに提供することができる。例えば、要求されたコンテンツの場所を指定するＵＲＬをブラウザにタイプ入力することができる。その後、該当する場所のウェブサーバが、要求されたコンテンツデータ又はＨＴＭＬウェブページを提供することによって応答を行う。
【０００３】
より複雑なコンテンツの場合、特に、ブラウザを操作しているユーザとウェブサーバとの間で対話操作を必要とする場合は、サーバ側又はクライアント側の処理が発生し得る。このような状況において、ブラウザからの要求はウェブサーバに送信されるデータを含む可能性があり、双方向通信を形成し得る。
【０００４】
この双方向通信では、機密扱いを要する情報又は価値の高い情報を含む場合があるため、対称鍵、公開鍵、及び秘密鍵を伴う様々な種類の暗号処理並びにデジタル署名を利用することができる。データ（インターネット上で送受信されたデータ）は、容易に傍受され得るが、復号処理にはかなりの大きさのオーバヘッドが必要になり得る。このような事情にも関わらず、ウェブサーバ自体は、処理中のある時点において、ブラウザの要求を満たすために非暗号化データにアクセスしなければならない。したがって、ウェブサーバ又はコンテンツを保存しているデータベースは、価値の高い、又は機密扱いを要する情報を大量に含むときに、攻撃に対して脆弱になる可能性がある。
【０００５】
また、ウェブサーバ又はウェブサーバ群は、当該ウェブサーバ又はウェブサーバ群のリソースを圧倒できるほど大量の要求が開始されるサービス妨害攻撃に対して脆弱になり得る。このような攻撃下において、又は通信容量が極めて大きい場合に、ブラウザからの要求が満たされなくなり得る。
【０００６】
一部には、受信するウェブトラフィックをブロックする、又はフィルタリングすることによってインターネット領域へのアクセスを規制することを望む国もある。ウェブトラフィックは、ニュースや暗号化されていない公共情報を含み得るため、規制しようとするような政治体制にとって、合法的アクセスを制限することは容易である。個々のブラウザ又は一群のブラウザを監視して、ブラウザがこのような素材へのアクセスを試みているかどうかを判定することができるため、著しい検閲が行われることになる。したがって、ブラウザのユーザ、及びユーザにコンテンツデータを提供するウェブサーバは、アクティビティに対するこのような監視を回避したいと考えるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、このような問題を克服する、コンテンツデータの提供システムが求められている。
【課題を解決するための手段】
【０００８】
第１の態様によれば、ネットワーク上でコンテンツデータを配信する方法が提供され、この方法は、コンテンツデータを求める請求者からの要求をネットワーク上で受信するステップであって、前記要求が、一つ以上の保存場所からのコンテンツデータの取り出しを可能にする使用可能化情報を含む、ステップと、使用可能化情報を処理して、一つ以上の保存場所の中のデータ割り当てを特定するステップと、特定したデータ割り当てに従って、一つ以上の保存場所から個別データ構成要素の形式でコンテンツデータを取り出すステップと、請求者に個別のデータ構成要素を送信するステップと、を含む。したがって、例えば、ウェブページの描画に利用できるコンテンツデータをより安全に、若しくは信頼できる方式で、又はより安全で且つ信頼できる方式で送信することができる。使用可能化情報は、例えば、アクセス情報、位置データ、これらの項目の識別子、又はこれらの情報を復号する、若しくは可読にする鍵であると表現することもできる。
【０００９】
省略可能であるが、使用可能化情報は、データ割り当て情報、暗号化データ割り当て情報、及び復号化データ割り当て情報の復号鍵のうちの一つ以上を含んでよい。すなわち、要求は、サーバ又はプロセッサが一つ以上の保存場所から個別データ構成要素を検索して取り出すことを可能にする情報を含むことができる。鍵が送信される場合、データ割り当て情報は、プロセッサ（又はサーバ）又は他の場所においてローカルに保存されてよいが、そのプロセッサには、有効な鍵の受信時にのみアクセスすることができる。個別データ構成要素の取り出しを可能にする処理は、多数の選択肢のうちのどのセットの割り当てデータ（例えば、ＦＡＴテーブル）を利用して特定の要求に応答するのかを示す識別情報を提供することも含んでよい。
【００１０】
省略可能であるが、使用可能化情報の処理は、復号鍵を用いて、暗号化データ割り当て情報を復号するステップを更に含んでもよい。
【００１１】
省略可能であるが、要求はインターネット上で受信されてよく、個別データ構成要素はインターネット上で送信されてよい。要求とデータの少なくとも一方は、例えば、ＨＴＴＰを使用して送信されてよい。ネットワークは、例えば、インターネットプロトコルを使用できる。
【００１２】
好ましい構成として、保存場所は、個別保存場所であってよい。これらの保存場所は、例えば、物理的に、若しくは論理的に、又は物理的且つ論理的に独立した場所であってよい。保存場所には、アドレス、例えば、ＩＰアドレス等の一意のアドレスを設けてもよい。
【００１３】
省略可能であるが、個別保存場所は、物理的に独立した保存場所、リモートの個別保存場所、又は物理的に独立したリモートの保存場所であってよい。
【００１４】
省略可能であるが、使用可能化情報を処理してデータ割り当てを特定する処理は、ファイル割り当てテーブルを生成することを更に含む。この処理は、供給された情報を読み込む、復号する、又は利用することによって、例えば、他の供給元からの情報の識別と復号化の少なくともいずれかを行うことを含んでよい。
【００１５】
個別データ構成要素は、データ構成要素識別子と一緒に送信できると好ましい。これにより、データ又はペイロード（要求に応答して送信された再構築済みのコンテンツデータ）の復元がより簡便になる。
【００１６】
省略可能であるが、個別データ構成要素は、パリティデータを含むことができ、これにより、一つ以上の個別データ構成要素を、他の残りの個別データ構成要素及びパリティデータから再生成することができる。パリティデータには、保存、請求者への送信、データ割り当て情報による参照、又は、個別データ構成要素と同様の方式での他の処理を行ってもよい。
【００１７】
有利な点として、コンテンツデータは、ページレイアウト、設計要素、ビデオ、図形、音声、及びウェブページコンテンツの一つ以上を含んでもよい。
【００１８】
第２の態様によれば、ネットワークを通じてコンテンツデータを取り出す方法が提供され、この方法は、サーバからコンテンツデータを求める要求を行うステップであって、前記要求が、一つ以上の保存場所からのコンテンツデータの取り出しを可能にする使用可能化情報を含む、ステップと、要求への応答において、個別データ構成要素を受信するステップと、個別データ構成要素からコンテンツデータを生成するステップと、を含む。
【００１９】
コンテンツを生成する処理は、個別データ構成要素がどのようにコンテンツデータを形成するのかを表す識別情報を提供するデータマップからコンテンツデータを再構築することを更に含むことができると好ましい。このデータマップも、前記要求に応じて受信されてよい。
【００２０】
省略可能であるが、個別データ構成要素はパリティデータを含むことができ、コンテンツデータを生成する処理は、更に、パリティデータ及び他の残りのデータ構成要素から、全ての欠損したデータ構成要素を再生成するステップと、受信したデータ構成要素及び再生成された全ての欠損したデータ構成要素を再構築してコンテンツデータを形成するステップと、を含む。この向上した信頼性は、データ構成要素が、経路上において損失することによって利用不能になり得る場合、又は保存されている場所からデータ構成要素を取り出せない（例えば、保存場所がネットワークから除去された）場合に特に明らかであろう。
【００２１】
省略可能であるが、データマップに、パリティデータとデータ構成要素との対応関係が記述される。
【００２２】
第３の態様によれば、ネットワークインタフェースと、論理回路とを含むサーバが提供され、この論理回路は、ネットワーク上で、コンテンツデータを求める要求であって、一つ以上の保存場所からのコンテンツデータの取り出しを可能にする使用可能化情報を含む要求を請求者から受け取り、使用可能化情報を処理して、一つ以上の保存場所におけるデータ割り当てを特定し、特定したデータ割り当てに従って、一つ以上の保存場所から個別データ構成要素の形式でコンテンツデータを取り出し、個別データ構成要素を請求者に送信するように構成される。この観点において、サーバは、ネットワークから受信した要求に応答する。サーバは、例えば、ウェブサーバであってよい。
【００２３】
省略可能であるが、使用可能化情報を処理する論理回路は、更に、復号鍵を用いて暗号化データ割り当て情報を復号するように構成されてよい。
【００２４】
第４の態様によれば、ネットワークを通じてコンテンツデータを取り出すクライアントが提供され、このクライアントは、論理回路を含み、前記論理回路は、サーバからコンテンツデータを求める要求であって、一つ以上の保存場所からのコンテンツデータの取り出しを可能にする使用可能化情報を含む要求を行い、要求に応答して、個別データ構成要素を受け取り、個別データ構成要素からコンテンツデータを生成するように構成される。クライアントは、ブラウザ、端末、携帯端末、又は、ネットワークを通じてデータを要求する任意のプロセッサであってよい。
【００２５】
好ましくは、個別データ構成要素からコンテンツデータを生成するように構成された論理回路は、個別データ構成要素がどのようにコンテンツデータを形成するのかを示す識別情報を提供するデータマップからコンテンツデータを再生成するように構成された論理回路を更に含むことができる。
【００２６】
好ましい構成として、データ構成要素は、データマップ内の識別子に対応する識別子を含むことができる。
【００２７】
有利な構成として、個別データ構成要素はパリティデータを含んでもよく、コンテンツデータを生成するように構成された論理回路は、更に、パリティデータ及び他の残りのデータ構成要素から、全ての欠損したデータ構成要素を再生成し、受信したデータ構成要素及び再生成された全ての欠損したデータ構成要素を再構築して、コンテンツデータを形成するように構成された論理回路を含む。
【００２８】
好ましい構成として、クライアントは、コンテンツデータからウェブページを生成するように構成された論理回路を更に含んでよい。
【００２９】
第５の態様によれば、コンテンツデータを保存する方法が提供され、本方法は、コンテンツデータを複数の個別データ構成要素に分割するステップと、一つ以上の保存場所に個別データ構成要素を保存するステップと、一つ以上の保存場所に個別データ構成要素がどのように割り当てられるのかを記述するデータ割り当て情報を生成するステップと、個別データ構成要素がどのようにコンテンツデータを形成するのかを示す識別情報を提供するデータマップを生成するステップと、を含む。これにより、コンテンツデータをより安全に保存することができる。
【００３０】
好ましい構成として、本方法は、各個別データ構成要素に識別子を生成するステップを更に含んでもよく、データマップは、その識別情報内に、個別データ構成要素の識別子を含む。
【００３１】
省略可能であるが、本方法は、データ割り当て情報とデータマップの少なくともいずれかを暗号化するステップを更に含んでもよい。
【００３２】
好ましい構成として、コンテンツデータは、ウェブコンテンツであってよい。
【００３３】
省略可能であるが、本方法は、複数のメッセージ構成要素の各データ構成要素と他の一つのデータ構成要素とに対応するパリティデータを生成するステップを更に含んでよい。
【００３４】
省略可能であるが、本方法は、複数のデータサブセットの各データ構成要素と第２の他のデータ構成要素とに対応するパリティデータを生成するステップを更に含んでよい。
【００３５】
好ましい構成として、本方法は、生成されたパリティデータを一つ以上の保存場所に保存するステップを更に含んでもよい。パリティデータ（又は冗長データ）は、後に、データ構成要素と同様の方式で処理及び加工してもよい。
【００３６】
前述した方法は、コンピュータを動作させるプログラム命令を含むコンピュータプログラムとして実施されてよい。このコンピュータプログラムは、コンピュータ可読媒体に保存されても、又は信号として送信されてもよい。論理回路は、例えば、ソフトウェアとして、ファームウェアとして、若しくはインストールされた命令として提供されても、又は、スクリプトとして受信されてもよい。
【００３７】
本発明は、多くの方式で実施することができる。次に、実施形態について、例示することのみを目的として、下記の付属の図面を参照しながら説明する。
【図面の簡単な説明】
【００３８】
【図１】例示としてのみ提示される、ウェブサーバからブラウザにコンテンツデータを送信するシステムの模式図である。
【図２】図１のウェブサーバからブラウザにコンテンツデータを提供するシステムの模式図である。
【図３】分割ステップを含む、コンテンツデータの保存方法を示すフローチャートである。
【図４】保存された図３のコンテンツデータをブラウザに送信する方法を示すフローチャートである。
【図５】データ再生成ステップを含む、コンテンツデータの要求方法を示すフローチャートである。
【図６】例示としてのみ提示される、図３の分割ステップの一部としてパリティデータを生成する方法を示す模式図である。
【図７】図６に示した方法に従って生成されたパリティデータを利用して、図５のデータ再生成ステップの例示的方法を示す模式図である。
【図８】図６の方法を用いて生成されたパリティデータを利用して、図５の結合ステップの一部として欠損データを再構築する更に他の例示的方法を示す模式図である。
【発明を実施するための形態】
【００３９】
図面は、単純にするために模式的に描画されており、必ずしも原寸に比例したものではないことに留意されたい。
【００４０】
図１に、端末、クライアント、又はブラウザ２０に、コンテンツデータ１５を提供するシステム１０を大幅に模式化した図を示す。
【００４１】
コンテンツデータ１５そのものは、分散ストレージシステム８０内に、コンテンツデータ１５を構成する個別データ構成要素９０として常駐できる。コンテンツデータ１５の個別データ構成要素９０への分割については、図３を参照しながら後で説明する。
【００４２】
コンテンツデータ１５を取り出すために、ブラウザ２０は要求７０を発行する。この要求７０は、分散ストレージシステム８０が特定のデータ構成要素９０を取り出すことを可能にする、若しくは許可する使用可能化情報、又は鍵を含む。この使用可能化情報がないと、サーバは、安全性要件によって、又は、単に、具体的にどのデータを取り出すべきなのか、若しくはどこからデータを取り出すのかを特定する十分な情報がサーバに存在しないために、コンテンツデータを取り出せない場合がある。これらのデータ構成要素９０は別々に保存できるため、使用可能化情報は、ストレージシステム８０内のデータ構成要素９０の割り当て及び場所を特定するのに必要な情報をシステムに提供できるか、又はこの割り当て情報へのアクセス権をシステムに提供できる。
【００４３】
例えば、使用可能化情報は、復号鍵を含むことができ、この復号鍵を使用して、ストレージシステム８０内のデータの割り当てが記述されているファイル割り当てテーブル（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ，ＦＡＴ）を復号することができる。これに代えて、要求７０は、安全性要件に応じて、暗号化されたファイルそのもの、又は平文としてのファイルそのものを含んでもよい。ストレージシステムは、複数の独立した、リモートの記憶装置を含むことができ、個別データ構成要素９０は、これらの異なる保存場所、リモートの保存場所、又はリモートの異なる保存場所に分散されてよい。
【００４４】
個別データ構成要素９０を結合して、正常且つ適切に読み込んで描画できるコンテンツデータを提供する処理は、クライアント又はブラウザ２０内で実行できることが好ましい。
【００４５】
この処理のために、論理回路５５は、単独のデータセット５０を生成する最初の結合ステップを提供できる。このデータセット５０は、例えば、ペイロードであると考えることができる。
【００４６】
分散ストレージシステム８０は、個別データ構成要素９０と共に、追加の情報又はオーバヘッド４０を要求元のブラウザ２０に提供することができる。これらのオーバヘッド４０は、例えば、各個別データ構成要素９０の識別子、個別データ構成要素９０が結果的に得られるコンテンツデータ（例えば、ウェブページ）をどのように形成し得るのかを表す識別情報を記述するデータマップを含むことができる。ペイロード５０は、例えば、テキスト、フィーチャ、及び他の媒体を含むことができる。いずれのオーバヘッド４０も、ペイロードがどのような方式で再構築されて描画されるべきであるのかを示す識別情報又は情報を提供できる。これは、ペイロード５０及びオーバヘッドに加え、好ましくは復号鍵（要求７０に提供された形式と同じ形式であっても、又は異なる形式であってもよい）も受け取るポストプロセッサ３０内で実行される。この復号鍵を利用して、オーバヘッド４０の一部又は全セットを復号し、データマップ６０を生成することができ、このデータマップ６０は、ポストプロセッサ３０によって、ユーザ側で表示又は再生される適切な形式に、コンテンツデータ１５をコンパイルする、若しくは描画する、又はコンパイルして描画するために利用される。
【００４７】
図２に、ブラウザ２０からの要求７０が分散ストレージシステム８０によってどのように満たされるのかについてのより詳細な説明を提供する模式図を示す。分散ストレージシステム８０は、個別のウェブサーバとしても機能できる複数の記憶装置１９０を含むことができる。本実施形態において、ブラウザ２０からの要求７０は、鍵７５を含み、この鍵７５は、ＦＡＴ１００の復号を可能にする論理を実行するプロセッサ１３０内で利用することができる。プロセッサ１３０は、ウェブサーバ又は他のサーバタイプの機能を含んでもよい。プロセッサ１３０は、復号されたＦＡＴ１００を利用して、分散ストレージシステム８０内の個別保存場所１９０から個別データ構成要素９０を特定して取り出す。個別保存場所１９０は、広い領域を超えて分離されてよいため、個別記憶装置１９０を妨害又は破壊するローカルイベントが、分散ストレージシステム８０内の残りの記憶装置１９０に影響することはない。
【００４８】
個別データ構成要素９０が各記憶装置から取り出された後、プロセッサ１３０は、オーバヘッド４０も取り出す（独立した場所から、又は、同じ個別保存場所１９０から取り出す）。このデータスタック１１０は、ブラウザに送信されて処理される。
【００４９】
図３に、分散ストレージシステム８０の個別保存場所１９０の中にコンテンツデータを保存する方法２００のフローチャートを示す。コンテンツデータ１５は、ステップ２２０において、データ構成要素９０に分離又は分割される。ステップ２３０において、個別データ構成要素にパリティデータが生成される。パリティデータの生成については、図６〜図８を参照しながら説明する。ステップ２４０において、データ割り当て情報が生成される。このデータ割り当て情報は、図２を参照しながら説明したＦＡＴ１００の形式であってよい。データ割り当て情報には、各データ構成要素が個別保存場所１９０のどこにどのように保存されるのかが記載されており、このデータ割り当て情報を利用して、前述の個別データ構成要素９０を取り出すことができる。データ割り当て情報は、保存時に生成することも、又は予め生成しておくこともできる。特に、データ割り当て情報は、保存されているウェブコンテンツデータ１５にとって固有のものになり得るため、該当する特定の項目のコンテンツデータは、分散ストレージシステム８０内に保存されたときに復元することができる。
【００５０】
個別データ構成要素９０からオリジナルのウェブコンテンツデータ１５を再構築するために、ステップ２５０においてデータマップが生成される。このデータマップ６０は、必要に応じてコンテンツデータ１５を再構築して描画するために、ブラウザ２０で利用することができる。個別データ構成要素９０には、その一つ以上又はそれぞれに、データマップ６０において参照される識別子を割り当てることができる。したがって、本ステップにおいて、又は、好ましくは、本ステップの前に、このようなオーバヘッドが生成されてもよい。識別子は、ＦＡＴ１００及びデータマップ６０の両方において参照されてよい。
【００５１】
データ割り当て情報、又はＦＡＴ１００は、安全性を向上させるために、ステップ２６０において暗号化することができる。また、データマップとオーバヘッドの少なくともいずれかを、ステップ２７０において暗号化しても、同様に安全性を改善できる。
【００５２】
前述したステップの合間に、又は前述のステップの実行中に、割り当てデータ割り当て情報又はＦＡＴ１００に従って、割り当てられた記憶装置１９０内に個別データ構成要素９０を保存することができる。
【００５３】
図４に、ブラウザ２０によって発行された、データコンテンツ１５に対するブラウザ要求に応答するフローチャートを示す。この方法３００は、例えば、プロセッサ１３０によって実行されてよい。
【００５４】
ＦＡＴ鍵７５を含むブラウザ要求は、ステップ３１０において受信することができる。ステップ３２０において、好ましくは復号処理中に、ＦＡＴ鍵７５を用いてＦＡＴ１００を取得することができる。ＦＡＴ１００は、方法２００のステップ２４０において生成されたデータ割り当て情報を提供することができる。このＦＡＴ１００は、プロセッサ１３０内でローカルに保存されてよいが、例えば、要求７０に付随することによって鍵７５が受信されたときにのみ復号可能になる。すなわち、要求は、一つ以上の保存場所からのコンテンツデータの取り出しを可能にする使用可能化情報を含み、この使用可能化情報は、この特定の例において、復号鍵７５の形式である。
【００５５】
ステップ３３０において、データ構成要素及び付随するパリティデータを、ＦＡＴ１００に従って個別記憶装置１９０から取り出すことができる。これらの取り出されたデータ構成要素及びパリティデータは、ステップ３４０において、要求元のブラウザ２０に送信される。これと同時に、又はこれとは別に、ステップ３５０において、データ構成要素識別子を含むオーバヘッドも要求元のブラウザに送信される。
【００５６】
図５に、ブラウザ２０において実行されて、コンテンツデータを要求し、その後、そのコンテンツデータを描画する方法４００のフローチャートを示す。ブラウザは、ステップ４１０において要求を送信する。この要求はＦＡＴ鍵７５を含む。この要求に応じて、データ構成要素及びパリティデータがステップ４２０において受信される。更に、ステップ４３０において、オーバヘッド４０及びデータマップ情報が受信される。ステップ４４０において、何らかの欠損したデータ構成要素が再生成又は再形成される。再生成処理の例について、図５，図６，図７，図８を参照しながら更に詳しく説明する。この再生成処理には、受信したパリティデータに加え、いずれかの残りのデータ構成要素又は利用可能なデータ構成要素が利用される。
【００５７】
データマップ６０は暗号化された形式であるため、ステップ４５０において、データマップを復号できる。受信したデータ構成要素９０及び再生成されたデータ構成要素を利用して、オリジナルの情報を構成するペイロード５０を復元する。復号されたデータマップ６０と共にオーバヘッド４０（データ構成要素識別子）を利用して、ステップ４６０において、ユーザに表示する又はユーザが再生する、最終的なウェブページの描画及び作成を行う。
【００５８】
コンテンツデータを単純に分割することで、サイズ又は長さが完全に又は実質的に等しいメッセージ構成要素を生成することができる。ただし、安全性とデータ復元性の少なくともいずれかを向上させるために、本処理では、より複雑な誤り訂正アルゴリズム又はセキュア・アルゴリズムを利用できる。コンテンツデータの受信時に、対応する再生成アルゴリズム、結合アルゴリズム、又は照合ステップを利用することができる。信頼性を高めるために、構成要素は、図６，図７，図８を参照しながら説明するように生成されたパリティデータを包含することができる。一例として、この処理は、中核処理論理回路５５において、又はその一部として行うことができる。
【００５９】
例えば、パリティデータは、排他的論理和関数（ＸＯＲ）を利用して、例えば、次のように生成することができる。
（Ａ）０１００＾（Ｂ）００１０＝（Ｐ）０１１０                          式１
上式において、＾は、ＸＯＲ関数である。
データセットＡ又はＢ（すなわち、データ構成要素）のいずれかが失われた場合、欠損したデータは、残りのデータ及びパリティデータ（Ｐ）から、同一のＸＯＲ関数を用いて、例えば、次のように再構築することができる。
（Ａ）０１００＾（Ｐ）０１１０＝（Ｂ）００１０                          式２
【００６０】
特定のメッセージ又はデータセットを保護する冗長データを生成するために、ここではこの元データ（Ｆ）を同等のブロック又はサブセットに分割することができる。このことは次のように記述できる。
Ｆ｛１，２，３，．．．ｎ｝                                              式３
パリティデータは、次のように生成できる。
１＾２，３＾４，．．．（ｎ−１）＾ｎ                                    式４
【００６１】
図６に、より堅牢なパリティデータのセットを生成する方法１０００を示す。この方法１０００は、データが復元不可能になる前に、より多数のデータサブセット（及び／又はパリティデータ）の喪失に対処する。実線円の数字１，２，３，．．．ｎは、元データを分割することによって形成されたデータサブセットを表す。各データサブセットに、それぞれ２セットのパリティデータが生成される。各データサブセットが他の一つのデータサブセットと組み合わされて、パリティデータが生成される。データサブセットは、次に、別のデータサブセットに組み合わされて、パリティデータのセットが更に生成される。すなわち、各データサブセットは、異なる２つの他のデータサブセットに対応付けられ、パリティデータは、その各ペアに生成される。この様子は、例えば、図６において、両隣のデータサブセットと組み合わされたデータサブセット（例えば、２は１と組み合わされると共に３とも組み合わされる）として示されている。最初（１）と最後（ｎ）のデータサブセットだけは隣のサブセットが一つ（それぞれ２又はｎ−１）である。したがって、最初のデータサブセットは最後のデータサブセットと組み合わされ、これにより、末端のデータサブセットに、２セット以上のパリティデータを対応付けることができる。ただし、いずれか他の組み合わせ及び順列を利用して、各データサブセットが、対応付けられた少なくとも２つのパリティデータセットを有するようにしてもよい。このことは、記号式の形式で次のように記述できる。
Ｃ｛１＾２，３＾４，．．．（ｎ−１）＾ｎ，ｎ＾１｝                        式５
【００６２】
元データが５つのデータサブセットに分割される例において、４つのデータサブセットが失われても、パリティデータのセットを全て取り出すことができれば、全ての元データの復元が可能である。このような状況が図７に示されている。図には、欠損したデータサブセットを再構築又は再生成する方法１００の例が示されている。
【００６３】
この例では、３番目のデータサブセットに加え、５つのパリティデータセット（１＾２と、２＾３と、３＾４と、４＾５と、５＾１）を入手することができる。図７のボックスに、代替可能な２つの方式を示す。この方式では、ＸＯＲ関数を用いて、欠損した各データサブセット１、２、４、及び５を再構築することができる。
【００６４】
図８に、更に他の例示的状況を示す。ここでは、５つのデータサブセットが元データから生成されたが、そのうちの２つのデータサブセットと２つのパリティデータセット（２＾３と３＾４）が失われたか、又は欠けている。この特定の再構築方法２０００において、２つの欠損したデータサブセット２及び４は、横のボックスに示したＸＯＲ演算を用いて復元される。
【００６５】
汎用的な表現を用いると、最大で（ｎ−１）個の任意の組み合わせのデータサブセットが喪失したとしても、全てのデータサブセットを復元することができる。
【００６６】
また、図７及び図８に示した特定の例は、多数の代替可能な組み合わせ及びデータの復元方式のうちの２つに過ぎない。また、図６に示した、データサブセット毎に２つのパリティデータセットを生成する循環手法は、多数の代替手法のうちの一つである。例えば、各データサブセットを隣接しないサブセットと組み合わせてパリティデータを形成することもできる。
【００６７】
データをデータサブセットに分割する際には、予め設定した数のデータサブセットを選択することができる。この選択は、利用される入手可能な保存場所若しくは必要な保存場所（各データサブセット及び各パリティデータセットの保存場所）の個数、又は、一つの位置から他の位置にデータサブセットを送信する独立したデータチャンネル若しくは他の手段に応じたものであってよい。
【００６８】
データマップ６０を利用して、コンテンツデータ１５を復元し、そのコンテンツデータ１５を所望の形式で描画することができる。ウェブページは、ＨＴＭＬ（ハイパーテキストマークアップ言語）として提供され得る。この規格において、ページの構成要素は、山括弧「＜」及び「＞」で囲まれたタグを用いてラベル付け（マークアップ）される。例えば、ページ全体は、＜ｈｔｍｌ＞のタグから始まり、＜／ｈｔｍｌ＞のタグで終了し、主要なコンテンツページ（ページボディ）は、＜ｂｏｄｙ＞のタグで開き、＜／ｂｏｄｙ＞のタグで閉じる。サービス情報は、＜ｍｅｔａ＞のタグで指定でき、クライアントのブラウザにおいてページ上で実行されるスクリプト（実行可能スクリプト）は、＜ｓｃｒｉｐｔ＞と＜／ｓｃｒｉｐｔ＞のタグで囲むこと等ができる。
【００６９】
既に説明したように、ペイロード５０は、ウェブページを構成する媒体（例えば、テキスト、画像、及び他の要素）を含むことができる。ペイロード５０は、個別データ構成要素９０として保存及び送信される。オーバヘッド４０を構成する他の情報は、完全なデータ（非分割データ）として保存及び送信することができる。データマップ６０は、ペイロード４０内の個別データ構成要素９０を復元するために必要な情報をクライアント又はブラウザ２０に提供する。オーバヘッド４０とデータマップ６０の少なくともいずれかは、コンテンツデータ１５の描画に必要な情報も含むことができる。
【００７０】
データマップ６０は、ＨＴＭＬタグの形式で、データ構成要素９０の識別子のセットを収容できる。データマップ６０には、データ構成要素９０を再び組み立ててペイロード４０を形成する方式が記述される。
【００７１】
ＦＡＴ１００には、元データからの個別データ構成要素９０が分散データストレージシステム８０全体にどのように分配されるのかが記述される。個別データ構成要素には、それぞれ識別子を割り当てることができる（この識別子は、例えば、個別データ構成要素に添付されても、個別データ要素のヘッダとして提供されても、又は個別データ構成要素内に埋め込まれてもよい）。ＦＡＴ１００は、識別子と場所（この場所も、例えば、アドレス、ＩＰアドレス等の識別子であってよい）の相互参照を含むことができる。したがって、ＦＡＴ１００は、各個別データ構成要素の取り出しに必要な情報をプロセッサ１３０に提供する。
【００７２】
ＦＡＴ１００とデータマップ６０の一方、又は両方を暗号化することができる。これらのファイルは、いずれも特定のフォーマット又は文法で形成することができる。具体的な要件に応じて任意のフォーマット又は文法を利用できるが、下記のフォーマット例を提示しておく。
【００７３】
初期設定ファイルＭｉｃｒｏｓｏｆｔ（ｉｎｉ−ｆｉｌｅｓ）。これらのファイルは、角括弧内のセクション及び一連のパラメータで構成され、例えば、次のように構成される。
［セクション名］
パラメータ＝値
．．．
【００７４】
インターネットを通じてデータを提供する一般的なフォーマットはＸＭＬであり、このＸＭＬもＨＴＭＬと同様のタグを含む。これらのタグの中には、例えば、次のようなパラメータが存在する。
＜セクション名＞
＜パラメータオプション＝“オプションの値”＞
名前＝値
．．．
＜／パラメータ＞
＜／セクション名＞
【００７５】
更に他の適切なフォーマットはＪＳＯＮで、この場合、データは、名前と値のペアとして、且つ、値の配列として次のように記述できる。
“パラメータ”：“値”
“パラメータ”｛
“名前１”：“値１”，
“名前２”：“値２”，
“名前３”：“値３”，
【００７６】
当業者であれば理解されるように、前述した実施形態の詳細内容は、付属の請求項によって定義される本発明の範囲から外れることなく変更することができる。
【００７７】
例えば、一つ以上を含む任意の数のプロセッサ１３０（例えば、サーバ又はウェブサーバ）が存在してよい。一つ以上を含む任意の数のブラウザ又はクライアント２０が存在できる。データの分割及び／又はパリティデータの生成を行う他の方式としては、単純なデータ分割を含め、他の方式が利用されてもよい。
【００７８】
構成要素の分割及び組み合わせによりメッセージを形成する方式は、前述したもの以外にも多数の方式があり、前述の方式は例示としてのみ提供される。このような方式は、データを単純に等分割し、省略可能であるが、必要に応じて埋め込みを行うことを含む。また、生成されたパリティデータ（存在する場合）に対する多数の異なる方式も存在する。これらの方法は、ＸＯＲ論理関数を異なる方式で適用すること、及びソロモンリード関数を用いることを含む。パリティデータは、冗長データであると考えることもできる。この文脈において、冗長データは、全てのデータ構成要素が利用可能であるか、又は安全に受信される場合には必要のないデータであるが、何らかの欠損した構成要素、又は何らかの理由（例えば、破損）により利用できない構成要素を再生成又は複製する際の補助として利用できる。したがって、パリティデータ及び冗長データの用語は交換可能に用いることができる。
【００７９】
前述した実施形態の特徴の多数の組み合わせ、変更物、又は代替物は、当業者には容易に理解されるであろう。また、これらは、本発明の一部を構成することが意図される。一実施形態又は一例に関して具体的に説明した全ての特徴は、適切な変更を加えることによって、他の実施形態において利用することができる。
【図１】
2015511742.tif 000003
【図２】
2015511742.tif 000004
【図３】
2015511742.tif 000005
【図４】
2015511742.tif 000006
【図５】
2015511742.tif 000007
【図６】
2015511742.tif 000008
【図７】
2015511742.tif 000009
【図８】
2015511742.tif 000010
【国際調査報告】
2015511742.tif 000011
2015511742.tif 000012
2015511742.tif 000013