説明

通信ネットワークによる情報の安全な記憶及び速度を増した送信

ディジタル情報を安全に記憶及び送信するシステム及び方法は、ネットワークデバイス又は記憶デバイスのうちの少なくとも一方、或いは両者に接続されたコンピューティングデバイスを含む。更に、システム及び方法は、前記少なくとも一方のネットワークデバイス又は前記少なくとも一方の記憶デバイス、或いは両者に接続された通信ネットワークを含む。システム及び方法は、コンピューティングデバイスを含み、コンピューティングデバイスは、入力デバイスから、1つ以上の第1のビットストリームの少なくとも一部分を受信するように構成されていて、1つ以上の第1のビットストリームの少なくとも一部分を構文解析して、1つ以上の第1のデータセットを形成するように構成されていて、1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成するように構成されていて、1つ以上の第2のデータセットを暗号で変更して、1つ以上の第3のデータセットを形成するように構成されていて、1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成するように構成されていて、少なくとも1つの第2のビットストリームを複数の部分に分配して、分配された部分の全てのうちの任意の最小数が、完全な第2のビットストリームを含むように構成されていて、分配された部分の全てを、1つ以上のローカル及びリモートデータ記憶デバイスに出力するように構成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2009年5月29日に出願された米国仮出願61/213,336に基づいており、この出願日の恩恵を得ている。米国仮出願61/213,336の全ての内容は、参照によってここに取り込まれている。
【0002】
本開示は、通信ネットワークによる情報の記憶及び送信の分野に関し、より具体的には、通信ネットワークによる情報の安全な記憶及び送信と、情報の送信速度を増すことに関する。
【図面の簡単な説明】
【0003】
【図1】開示された実施形態に従って、情報を安全に送信及び記憶するシステム100の概略図である。
【図2】開示された実施形態に従って、情報を安全に送信及び記憶するクラウドコンピューティングシステム200の概略図である。
【図3】開示された実施形態に従って、ディジタル情報を安全に送信及び記憶する方法300のフローチャートである。
【図4】開示された実施形態に従って、複数のネットワーク接続されたデバイス間におけるデータの送信期間にわたって帯域幅を節約する方法400のフローチャートである。
【発明を実施するための形態】
【0004】
一般に、この開示は、ディジタル情報を安全に送信して、記憶して、ディジタル情報の送信レートを上げる、システム及び方法に関する。ディジタル情報は、任意の通信ネットワークを渡って送信される情報を含み得る。通信ネットワークは、例えば、データネットワークを含み得る。データネットワークは、例えば、ローカルエリアネットワーク(Local Area Network, LAN)、都市圏ネットワーク(Metropolitan Area Network, MAN)、広域ネットワーク(Wide Area Network, WAN)、セルラネットワーク、電力線ネットワーク、衛星回線ネットワーク、又はこれらの任意の組み合わせである。更に、このようなネットワークに対する送信媒体は、有線又は無線であり得る。情報は、それ自体で、音声情報、データ情報、マルチメディア情報、又は通信ネットワークを渡って送信できる任意の他のこのような情報を表し得る。以下で説明するように、本開示は、ソフトウェアプログラム、ハードウェアデバイス、又はこれらの任意の組み合わせとして実施され得る。
【0005】
高いレベルにおいて、この開示は、1つ以上のコンピューティングデバイスで実行される少なくとも1つのソフトウェアプログラムに関する。ソフトウェアプログラムは、エンドツーエンドの情報の記憶及び送信の解決策を提供するアルゴリズムを実施する。この解決策は、情報を複数のデータセットに構文解析(parse)して、データセットを圧縮して、無許可の使用に対してデータセットを判読不能にすることによって、ディジタル情報に作用する。更に、プログラムは、データセットをデータブロックに分割して、データブロックを決定論的又は非決定論的なやり方で分配して、1つ以上の変更されたデータストリーム又はデータセットを生成し得る。これらのデータセットは、揮発性又は不揮発性の記憶媒体における複数のローカル及び/又はリモートの記憶位置に記憶されるか、或いは有線又は無線ネットワークによって送信される。1つ以上の変更されたデータストリーム又はデータセットは、無許可の使用に対して判読不能な高圧縮状態に常に維持される。
【0006】
この中で使用されている「決定論的(deterministic)」という用語は、データを逆アセンブル及び/又は分配する特性を計画的に予め決定することを意味し得る。例えば、データのタイプ、例としてASCIIテキスト又はビデオストリーム、或いはデバイスの制御情報、或いはプログラム又はプログラムセグメント、例としてコードブロックに応じて、情報は、ビット、ニブル、バイト、又はより大きなサイズのデータブロックに逆アセンブルされ得る。更に、この開示中のどこかに記載されているように、逆アセンブリは、圧縮技術又は暗号化技術向上させる、等のために行なわれ得る。その代わりに、ネットワーク送信の様式を向上させる、即ち送信レートを高めるか、又は異なる記憶条件に適応させるようなやり方で、情報は逆アセンブル及び分配され得る。例えば、スマートフォンのような独立型デバイスにデータを記憶することとは対照的に、データは、ストレージ接続型ネットワーク(Storage Attached network, SAN)又はネットワーク接続型ストレージ(Network Attached Storage, NAS)の構成に記憶され得る。別の実施形態では、技術的な問題又は様々な制約を克服するように、例えば、電力線ブロードバンドネットワークにおける電気的干渉又は無線ネットワークにおける大気の乱れを弱めたり、或いは全ての通信デバイスが同時にオンラインであるとは考えられない場合に、軍隊及び警察のアドホック無線(ad hoc radio)と他のこのようなデータ送信とに影響を及ぼすものを弱めたりするように、情報は逆アセンブル及び分配され得る。代わりの実施形態では、他のこのような不測の事態が時々発生する場合があり、データブロックを決定論的に分配することが必要であり得る。
【0007】
この中で使用されている「非決定論的(non-deterministic)」という用語は、擬似乱数のやり方で、例えば、乱数を生成して、逆アセンブルされたデータを、その乱数の英数字列に関連付けることによって、ビット、ニブル、バイト、又は様々なサイズのデータブロックのようなデータを、逆アセンブル及び/又は分配する手順に該当し得る。更に、非決定論的な逆アセンブリ及び分配は、乱数を使用することなくデータの逆アセンブリ及び/又は分配のタスクを達成し得る何らかのメカニズム又はアルゴリズムの当然の結果として、決定論的に適用される場合もある。プロセス又は手順を使用する決定は、真に非決定論的(ランダム)であり得る。一方で、これらの手順が指定されると、元のデータの構造的完全性が失われないので、プロセス又は手順によって元のデータを変更する全ての操作は、本質的に決定論的であり得る。
【0008】
この中で使用されている「ブロック」という用語は、ビット、ニブル、及び/又はバイトのグループを意味し得る。これらのグループは、例えばそれぞれ16バイトのような、一様なサイズを有している場合もあり、又は一様なサイズを有していない場合もある。
【0009】
開示されている技術によって処理される情報は、圧縮状態で維持され得るので、この圧縮情報は、無許可の使用に対して常に判読不能なままでありながら、所定のネットワーク又はネットワークセグメントに対する、最大データ送信レートよりもかなり高いデータ送信レートで双方向に送信できる。一般に、最大データ送信レートは、例えばシャノン−ハートレーの定理のような定理によって予測される。
【0010】
本開示は、ソフトウェア、ハードウェア、又は両者で実施され得る。1つの実施形態では、本開示と一致するアルゴリズムを具現するソフトウェアの形式で、本開示が実施され得る。更に、アルゴリズムは、例えば、同軸ケーブル、光ファイバケーブル、及び電力線のような異なる送信媒体を使用する全てのタイプの有線ネットワークと、使用される送信標準のタイプに基づいて異なる周波数で動作する全てのタイプの無線ネットワークとにおいて機能するように構成され得る。上述のように、送信媒体を知ることができない(agnostic)のに加えて、アルゴリズムは、通信プロトコルも知ることができない。即ち、このアルゴリズムは、任意の通信プロトコル又は標準を使用する通信ネットワークにおいて実施できることを意味する。任意の通信プロトコル又は標準は、データネットワークにおけるIP、ディーセント(Decent)、アップルトーク(AppleTalk)、イーサネット(登録商標)、セルラネットワークにおけるGSM(登録商標)又はCDMA、或いは他の何らかのこのようなプロトコル又は標準である。
【0011】
図1は、開示されている実施形態に従って、情報を安全に送信及び記憶するシステム100の概略図を提供している。システム100は、入力デバイス110と、ディスプレイデバイス120と、コンピューティングデバイス130と、ローカルデータコンピューティングデバイス140、142、144、146と、ローカルネットワーク150と、通信ネットワーク160と、リモートデータコンピューティングデバイス172、174、176、178とを含んでいる。
【0012】
一般に、コンピューティングデバイス130は、入力デバイス110又はローカルネットワーク150から、データを受信するように構成されている。このデータは、1つ以上のビットストリームの形式で受信され得る。更に、コンピューティングデバイス130は、受信信号を1つ以上の第1のデータセットに構文解析して、1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成するよう構成され得る。更に、コンピューティングデバイス130は、1つ以上の第2のデータセットを暗号化して、1つ以上の第3のデータセットを形成し得る。更に、コンピューティングデバイス130は、1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成し得る。この第2のビットストリームは、ローカルネットワーク150及び/又は通信ネットワーク160を介して、ローカルコンピューティングデバイス140、142、144、146の1つ以上及び/又はリモートコンピューティングデバイス172、174、176、178の1つ以上に出力され得る。更に又はその代わりに、コンピューティングデバイス130は、1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、「t」個のボリュームを形成し得る。特に、1つ以上のブロックは、1つのボリュームの一部であり得る。
【0013】
更に、「m」<「t」である場合に、「t」個のボリュームのうちの「m」個が、完全なデータセットを含むようなやり方で、「t」個のボリュームを形成する。更に、ローカルコンピューティングデバイス140、142、144、146の任意の組み合わせ及び/又はリモートコンピューティングデバイス172、174、176、178の1つ以上に、「t」個のボリュームが記憶され、最終的に、1つのコンピューティングデバイスが完全なデータセットを記憶しないように、コンピューティングデバイス130は、ローカルネットワーク150及び/又は通信ネットワーク160を通して、「t」個のボリュームを分配するように構成され得る。「t」と「m」という用語は、単に、開示の特徴を説明するために使用されているだけであって、何らかのやり方における制限と見なされるべきではない。
【0014】
入力デバイス110は、ユーザがデータをコンピューティングデバイス130に入力することを可能にする任意のデバイスであり得る。これは、例えば、ワークステーションのキーボード、ラップトップのキーボード、スマートフォンのキーボード、マウス、又はソフトウェア、即ち、音声コマンドを認識して、音声コマンドを、コンピューティングデバイス130によって読み出し可能なフォーマットに変換するソフトウェアを含み得る。ディスプレイ120は、例えば、ワークステーションのモニタ、ラップトップのモニタ、或いは、キーボードと物理的に統合されているモニタ、例えばスマートフォン又はラップトップのモニタを含み得る。入力デバイス110は、複数のやり方でディスプレイデバイス120に接続され得る。例えば、1つの実施形態では、このようなワークステーションの入力デバイス110は、コンピューティングデバイス130を介して、有線又は無線接続によって通信し得る。他方で、入力デバイス110と、ディスプレイデバイス120と、コンピューティングデバイス130とを、1つのシャーシ上に物理的に統合して、ラップトップ、スマートフォン、又は他の何らかのこのようなデバイスを形成してもよい。
【0015】
コンピューティングデバイス130は、データを処理して、データを記憶及び/又は送信する任意のデバイスを含み得る。例えば、コンピューティングデバイスは、ワークステーション、ラップトップ、サーバ、スマートフォン、又は他の何らかのこのようなデバイスであって、開示されている実施形態に従って、情報を処理、記憶、及び/又は送信するソフトウェアプログラムを実行できるものを含み得る。コンピューティングデバイス130は、入力デバイス110から処理データを受信するポートと、ローカルネットワーク150から処理データを受信するポートとを含み得る。これらのポートは、USBポート、cat5ポート、同軸ポート、ファイバポート、又はディジタルデータを受信できる他の何らかのポートであり得る。
【0016】
コンピューティングデバイス130は、ローカルネットワーク150を介して、1つ以上のローカルコンピューティングデバイス140、142、144、146に接続し得る。ローカルコンピューティングデバイス140、142、144、146がデータを処理、記憶、及び送信する能力を有している点で、ローカルコンピューティングデバイス140、142、144、146はコンピューティングデバイス130に似ているかもしれない。最低でも、ローカルコンピューティングデバイス140、142、144、146は、データを安全に記憶するように構成可能である。ローカルネットワーク150は、有線又は無線のローカルエリアネットワーク(LAN)であり得る。この有線又は無線のLANは、ネットワークデバイスを含んでいる。ネットワークデバイスは、例えば、ハブと、スイッチと、ルータと、他の機器であって、LANを操作するのに使用され得るものである。1つの実施形態では、ローカルネットワークは、ホームネットワーク、オフィスネットワーク、ホームオフィスネットワーク、又は他の何らかのネットワークであって、コンピューティングデバイスをローカルに接続するネットワークであり得る。
【0017】
更に、ローカルネットワーク150を通して情報を送信する物理媒体は、光ファイバケーブル、同軸ケーブル、cat5ケーブル、電力線ブロードバンド技術を使用する電力線、又はデータを送信できる他の何らかの有線媒体であり得る。代わりの実施形態では、ローカルネットワーク150は、データを送信できるセルラネットワーク又は無線データネットワークであり得る。ローカルネットワーク150はローカルエリアネットワークであり得るが、代わりの実施形態では、ローカルネットワーク150は、更に都市圏ネットワーク(「MAN」)であってもよく、この開示の範囲に一致することが、当業者に分かるであろう。
【0018】
リモートコンピューティングデバイス172、174、176、178も、データを記憶及び送信する能力を有しており、最低でも、データを安全に記憶するように構成可能である点で、リモートコンピューティングデバイス172、174、176、178は、コンピューティングデバイス130と、ローカルコンピューティングデバイス140、142、144、146とに似ているかもしれない。上述の各コンピューティングデバイスは、中央処理ユニット(central processing unit, CPU)(示されていない)と、ランダムアクセスメモリ(Random Access Memory, RAM)(示されていない)と、読み出し専用メモリ(Read Only Memory, ROM)(示されていない)と、不揮発性メモリ(示されていない)と、揮発性メモリ(示されていない)とを含み得る。更に、これらのコンポーネントの各々は、この開示の範囲から逸脱することなく、同じ物理的シャーシ上にマウントされる場合もあり、又は複数のシャーシに分散される場合もある。
【0019】
ローカルネットワーク150は、有線又は無線接続によって、通信ネットワーク160に接続し得る。1つの実施形態では、通信ネットワーク160は、インターネット又は他の何らかの広域ネットワーク、例えば、プライベートイントラネット、例として国防情報システム局(Defense Information Systems Agency, DISA)が所有しているもの、スマートリンク(Smartlink)と呼ばれる米国海軍のWAN、又は他の何らかのこのようなネットワークであり得る。
【0020】
1つの実施形態では、コンピューティングデバイス130は、データの圧縮と、暗号化と、分配とを行なうように構成可能な制御装置を含み得る。制御装置は、上述の特徴を実現するのに必要なコンポーネントを含み得る。これらは、例えば、これらの特徴を実現し得るソフトウェア命令を実行するように構成された制御処理ユニットの少なくとも一部分と、これらのソフトウェア命令を記憶する1つ以上のメモリユニットの少なくとも一部分と、上述の特徴を実現するのに必要な他の何らかのコンポーネントとを含み得る。開示されている実施形態は、データの圧縮と、暗号化と、分配の特徴がソフトウェアのみで達成されることを記載しているが、代わりの実施形態では、この開示の範囲を逸脱することなく、専用のハードウェアを使用することによって、上述の特徴をハードウェアのみで達成できることが、当業者に分かるであろう。専用のハードウェアは、例えば、1つ以上の特定用途向け集積回路(application specific integrated circuit, ASIC)又は市販のハードウェアである。更に別の実施形態では、ハードウェアとソフトウェアとの組み合わせによって、上述の特徴が実現され得る。
【0021】
1つの実施形態では、コンピューティングデバイス130上の制御装置は、入力デバイス110からデータを受信するように構成されている。このデータは、1つ以上のビットストリームの形式をとり得る。更に、制御装置は、受信信号をバッファに入れるように構成され得る。更に、制御装置は、受信されてバッファに入れられた1つ以上のビットストリームを、1つ以上の第1のデータセットに構文解析するように構成され得る。1つの実施形態では、この構文解析機能を行なう制御装置の一部分は、構文解析モジュールであり得る。構文解析モジュールは、既に記載したように、構文解析を行なうソフトウェア命令、構文解析を行なう1つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。この開示で使用されているデータセットは、固定サイズを有し、即ち固定数のビットを含む場合もあり、又は可変サイズを有し、即ち最大数のビットまでの可変数のビットを含む場合もある。1つの実施形態では、構文解析モジュールは、ソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであって、データが移動する場合に、ディジタル情報をビットストリームとして受信し、又はその代わりに、データが静止している場合に、ディジタル情報をビットストリームに変換するものであり得る。構文解析モジュールによって行なわれる構文解析のタイプは、コンピューティングデバイス130による考えられるディジタル情報のダウンストリーム処理によって決まり得る。例えば、分配する必要のあるデータを、分配する必要のないデータと対照的に、異なるように構文解析してもよい。その代わりに、決定論的に分配されるデータを、非決定論的に分配されるデータと異なるように構文解析してもよい。1つの実施形態では、数式に従って、ビットストリームを、一様な又は可変のサイズのビット、ニブル、バイト、又はバイトブロックに分割してもよい。様々な情報分配アルゴリズムによってブロックを構築するときに、これらの結果として得られたデータセットが使用され得る。様々な情報分配アルゴリズムは、例えば、アディシャミア(Adi Shamir)の秘密共有方式のマイケルラビン(Michael O'Rabin)アルゴリズムの実施である。更に、ビットストリームを1つ以上の第1のデータセットに構文解析した後で、これらのデータセットは、メモリのバッファに書き込まれるか、又は必要であれば、仮想メモリがアクティブである場合は、ディスクスワップファイルに書き込まれ得る。
【0022】
更に、構文解析に加えて、コンピューティングデバイス130における制御装置は、1つ以上の元のビットストリームを保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きし得る。この上書きを行なうと、元のデータビットに誰もアクセスできず、その結果、システム100におけるデータのセキュリティを高めることを確実にし得る。1つの実施形態では、構文解析モジュールがビットストリームを1つ以上の第1のデータセットに処理した後で、別のスレッドで実行される補完的な方法により、ビットストリームによって占められている任意のファイル空間に、スクラブアルゴリズムを使用して上書きしてもよい。スクラブアルゴリズムは、ランダム又は非ランダムなデータパターンを、各メモリ位置に繰り返し書き込んで、ビットストリームによって占められているメモリ空間又はスワップファイル空間を非常にきれいにする。
【0023】
更に、コンピューティングデバイス130における制御装置は、1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成するように構成され得る。1つの実施形態では、この圧縮機能を行なう制御装置の一部分は、圧縮モジュールであり得る。圧縮モジュールは、既に記載したように、圧縮を行なうソフトウェア命令、圧縮を行なう1つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。1つの実施形態では、圧縮モジュールは、ソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであって、例えばデータ圧縮ユーティリティのプールを含み得る。圧縮モジュールは、個々のデータの要求に対処するために、複数のアルゴリズムか、又は1つのアルゴリズム内に含まれている様々な特徴を選択し得る。圧縮モジュールによって使用され得る圧縮アルゴリズムのうちの幾つかは、LZ77と、PAQ8PXと、LZMA(1)とを含む。更に、異なるタイプのデータに圧縮の特徴を与えるために、異なる圧縮アルゴリズムを選択してもよい。例えば、処理されるデータが、テキスト及び/又はPDFファイルの形式である場合は、このようなデータを圧縮するために、圧縮モジュールはLZ77アルゴリズムを選択し得る。他方で、ワード文書、エクセルファイル、又はビットマップファイルの形式でデータを圧縮するために、圧縮モジュールはPAQ8PXアルゴリズムを選択し得る。更に、画像ファイル又はxlsファイルの形式でデータを圧縮するために、LZMA(1)アルゴリズムが選択され得る。
【0024】
1つの実施形態では、ファイルのような情報を処理する場合に、ファイル名からファイルのタイプを抽出することによって、又はファイルを開いて、ファイルに含まれているデータのタイプを記載しているファイルヘッダ中のメタデータを抽出することによって、選択することができる。次に、圧縮モジュールは、このようなデータを圧縮するユーティリティを有することが分かっている適切なアルゴリズムを適用し得る。更に、コンピューティングデバイス130における制御装置は、ファイルのタイプ又はヘッダのメタデータを抽出することによって、ファイルが既に圧縮されているか、又は圧縮できないと考えられるので圧縮ステップを省いてもよいかを決定し得る。
【0025】
1つの実施形態では、構文解析されたデータセットが十分に小さい場合は、構文解析されたデータセットを、1つのデータセットとして圧縮し得る。その代わりに、構文解析されたデータセットがより大きい場合は、構文解析されたデータセットを、より小さなデータのサブセットに分割して、より小さなデータのサブセットを個々に圧縮してもよい。
【0026】
更に、コンピューティングデバイス130における制御装置は、1つ以上の第2のデータセットを暗号で変更して、1つ以上の第3のデータセットを形成するように構成され得る。1つの実施形態では、この暗号化機能を行なう制御装置の一部分は、暗号化モジュールであり得る。暗号化モジュールは、既に記載したように、暗号化を行なうソフトウェア命令、暗号化を行なう1つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。1つの実施形態では、暗号化モジュールは、既知の暗号化アルゴリズムのうちの任意の1つ又は組み合わせを使用して、データを暗号化し得る。既知の暗号化アルゴリズムは、例えば、AES−256、3DES、又はトゥーフィッシュ(Two Fish)である。更に、毎回異なる暗号化アルゴリズムを使用して、データを2回以上暗号化してもよい。例えば、最初にAES−256を使って、データを暗号化して、次に3DES又は他の何らかの暗号化アルゴリズムを使って、データを暗号化してもよい。暗号化モジュールによって使用される暗号化アルゴリズムの各々は、データセットに含まれている情報を、無許可の使用に対して判読不能にするやり方で、1つ以上のデータセットを変更し得る。1つの実施形態では、構文解析と、圧縮と、暗号化と、分配のモジュールは、これらの機能を全て組み込んだ単一のアルゴリズムの一部であり得ることが、当業者に分かるであろう。
【0027】
更に、本開示と一致する実施形態では、コンピューティングデバイス130における制御装置は、1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成し得る。第2のビットストリームは、入力デバイス110から受信した元の第1のビットストリームの情報と本質的に同じ情報を含んでいるが、第2のビットストリームは、構文解析されて、圧縮されて、暗号化されており、従って、無許可の使用に対して情報を判読不能にしている。コンピューティングデバイス130における制御装置は、この第2のビットストリームを、ローカルネットワーク150及び/又は通信ネットワーク160を介して、ローカルデバイス140、142、144、146及びリモートコンピューティングデバイス172、174、176、178の任意の組み合わせに出力するように構成され得る。
【0028】
第2のビットストリームを出力するためにコンピューティングデバイス130によって使用される転送機構は、コンピューティングデバイス130と、ローカルデバイス140、142、144、146と、リモートコンピューティングデバイス172、174、176、178との間における接続のタイプによって決まり得る。例えば、1つの実施形態では、コンピューティングデバイス130が、イーサネット(登録商標)のネットワークであるローカルネットワーク150を介して、ローカルコンピューティングデバイス140、142、144、146に接続するならば、コンピューティングデバイス130は、第2のビットストリームを、データリンク層においてイーサネット(登録商標)のフレームとして出力し得る。更に、1つの実施形態では、通信ネットワーク160がTCP/IPネットワークである場合に、コンピューティングデバイス130が、ローカルネットワーク150に加えて、通信ネットワーク160を介して、リモートコンピューティングデバイス172、174、176、178に接続するならば、コンピューティングデバイス130は、第2のビットストリームを、ネットワーク及びトランスポート層においてTCP/IPフレームとして出力し得る。更に、ローカルコンピューティングデバイス140、142、144、146及び/又はリモートコンピューティングデバイス172、174、176、178は、このようなデータを保持するように構成可能な任意のメモリユニットに、第2のビットストリームを記憶し得る。更に、コンピューティングデバイス130と、ローカルコンピューティングデバイス140、142、144、146と、リモートコンピューティングデバイス172、174、176、178は、各々、ネットワーク接続コンポーネント(示されていない)を含み得る。ネットワーク接続コンポーネントは、コンピューティングデバイスを、ローカルネットワーク150又は通信ネットワーク160に接続するものであって、例えばイーサネット(登録商標)カードである。
【0029】
代わりの実施形態では、コンピューティングデバイス130における制御装置は、1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、少なくとも1つの第2のビットストリームの一部として、「t」個のボリューム又は「t」個のデータストリームを形成し得る。特に、1つ以上のブロックは、1つのボリュームの一部であり得る。データセットと同様に、データブロックは、固定サイズを有する、即ち固定数のビットを保持していてもよく、又は可変サイズを有していてもよい。従って、本開示の範囲から逸脱することなく、当業者に適した任意のやり方で、データブロックを構成することができる。更に、1つのボリュームが、1つ以上のデータブロックを保持するように構成され得る。従って、ボリュームのサイズは、本開示の範囲から逸脱することなく、当業者によって構成可能である。更に、「m」<「t」である場合に、「t」個のボリュームのうちの「m」個が、完全なデータセットを含むようなやり方で、「t」個のボリュームを形成する。「t」と「m」の値は、本開示と一致する技術のユーザによって選択可能である。
【0030】
従って、例えば、ユーザは、本開示と一致する技術を使用して、元のビットストリームを、8個のボリュームを有する少なくとも1つの第2のビットストリームに変更して、これらの8個のボリュームのうちの2個が、完全なデータセットを含むように決定してもよい。他方で、ユーザは、本開示と一致する技術を使用して、元のビットストリームを、4個のボリュームを有する少なくとも1つの第2のビットストリームに変更して、これらの4個のボリュームのうちの2個が、完全なデータセットを含むように決定してもよい。
【0031】
更に、ローカルコンピューティングデバイス140、142、144、146の任意の組み合わせ及び/又はリモートコンピューティングデバイス172、174、176、178の1つ以上に、「t」個のボリュームが記憶され、最終的に、1つのコンピューティングデバイスが完全なデータセットを記憶しないように、コンピューティングデバイス130における制御装置は、ローカルネットワーク150及び/又は通信ネットワーク160を通して、「t」個のボリュームを分配するように構成され得る。従って、例えば、元のビットストリームを、8個のボリューム(「t」=8)を有する少なくとも1つの第2のビットストリームに変更して、これらの8個のボリュームのうちの2個(「m=2」)が、完全なデータセットを含むようにすることを、ユーザが決定すると、ローカルコンピューティングデバイス140、142、144、146及びリモートコンピューティングデバイス172、174、176、178の全体に、ランダム又は擬似ランダムなやり方で、8個のボリュームが分配され得る。更に、システム100では、t=8、m=2であるので、任意の6個のボリューム(6個の第2のデータストリームとも見なされ得る)を破棄でき、残りの2個のボリューム(又は、2個の残りのデータストリーム)が完全なデータセットを含むであろう。6個の残りのボリュームは、情報の完全性を全く損なうことなく、別の位置において、後で再構築できる。完全なデータセットが1つのコンピューティングデバイスに記憶されることは決してないので、これは情報の安全性を一層高める。このようなやり方でデータが送信されて記憶されると、任意のサイズのネットワークの全体で、高可用性状態が持続し得る。既に説明したように、上述で使用されている8と2という数は、単に例示することを目的とするものであって、本開示の範囲を制限していない。
【0032】
1つの実施形態では、上述のやり方で第3のデータセットを複数のデータブロックに逆アセンブルして、データブロックを分配する特徴は、コンピューティングデバイス130における分配モジュールによって行なわれ得る。分配モジュールは、コンピューティングデバイス130におけるソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであり得る。1つの実施形態では、分配モジュールは、例えばアディシャミアの秘密共有方式のような既知のプロセスに従って、情報分配アルゴリズムを使用し得る。
【0033】
図1に記載されている、記憶位置として使用されるローカルコンピューティングデバイス及びリモートコンピューティングデバイスの数は、単に例示を目的とするものであることが、当業者に分かるであろう。即ち、本開示と一致する技術を利用するシステムには、記憶位置として使用される任意の数のコンピューティングデバイスが存在し、ボリュームが送られる位置は、変化し続け得る。例えば、1000台のコンピューティングデバイスが、例えば連邦郵便局に配置されていて、8である「t」個のボリュームを記憶するように構成可能であって、8個のボリュームのうちのm=4が、コンピューティングデバイス130によって生成された完全なデータセットを保持する場合に、1000台のコンピューティングデバイスのうちのどれが8個のボリュームを記憶しているかが、誰にも、即ち、システム100の許可されたユーザでさえも分からないように、制御装置は、ランダム又は擬似ランダムなやり方で、8個のボリュームを記憶するために、1000台のコンピューティングデバイスのうちの任意の8台を選び得る。
【0034】
更に、1つの実施形態では、ユーザがデータセットを保存するたびに、例えばデータセットを編集した後で、個々のボリュームが、データセットを取った記憶位置と同じ記憶位置に決して戻されないことを確実にするように、コンピューティングデバイスは、記憶位置の割り当てをランダム化する。更に、コンピューティングデバイスは、保存する前に、新たなファイル名をデータセットに再割り当てし得る。データセットが保存されるたびに、8個のボリュームの各々に固有の且つ非常に長い英数字ストリングをランダムに生成して、更に、データセットを再アセンブルできるようにするのに必要な「m」個のボリュームの位置を敵が特定でき難くすることによって、新たなファイル名を導き出す。更に、ボリュームのグローバルに分配された記憶ネットワークにおいて、ランダム又は決定論的に決定され得る間隔で、8個のボリュームを他のボリュームの全てと共に再配置及び/又は名前の変更をするように、1つ以上のコンピューティングデバイスがプログラムされ得る。従って、開示された技術は、データの配置に関して、時間の経過と共に、変化し続ける幾つかの記憶デバイスにおいて、グローバルなシェルゲームを行ない続けることによって、データのセキュリティを高め得る。
【0035】
例えば、コンピューティングデバイス130は、8個のボリュームのうちの何れもコンピューティングデバイス130上に決して存在しないように、8である「t」個のボリュームを分配してもよい。更に、コンピューティングデバイスは、1000台のコンピューティングデバイスのうちの8台に、8個のボリュームを記憶させた後で、8個のボリュームのうちの何れも以前に記憶していない、1000台のコンピューティングデバイスのうちの他のコンピューティングデバイス間で、8個のボリュームを再配置するように構成され得る。乱数を生成して、この乱数の英数字シーケンスに時間間隔を関連付けることによって、この再配置を行なう間隔が、擬似ランダムに決定され得る。その代わりに、t個のボリュームの基となるデータに関する特性に従って、この再配置に対する間隔を決定してもよい。基となるデータに付されたメタデータが、基となるデータの機密性が極めて高いことを示している場合に、この再配置に対する間隔を、機密でないデータの再配置に対する間隔よりも短く設定してもよい。従って、基となるデータの機密性のレベルは、t個のボリュームの再配置の頻度に影響を及ぼし得る。
【0036】
本開示と一致する代わりの実施形態では、コンピューティングデバイス130における制御装置は、幾つかの要素に従って、分散したデータ記憶位置を選択するように構成され得る。幾つかの要素は、記憶空間の割り振りの検討、トラフィックフローの検討、ネットワークの輻輳の検討、ネットワークルーティングの検討、ファイル特性の検討、パケットタイプの検討、通信プロトコルの検討、又はこれらの任意の組み合わせを含み得る。例えば、コンピューティングデバイス130における制御装置は、本開示に従って処理されるデータを、リモートコンピューティングデバイス174に記憶しないことを選択してもよい。その理由は、リモートコンピューティングデバイスが十分な記憶容量を有していない、又はローカルコンピューティングデバイス130とリモートコンピューティングデバイス174との間のネットワーク経路が輻輳していると、制御装置が判断したからであり得る。その代わりに、リモートコンピューティングデバイス174は、コンピューティングデバイス130によって生成されたタイプのデータパケットを処理できず、従って、コンピューティングデバイス130上の制御装置によって処理されたデータを記憶できないかもしれない。更に別の実施形態では、通信プロトコルの不一致が原因で、リモートコンピューティングデバイス174がコンピューティングデバイス130と通信できないかもしれない。例えば、コンピューティングデバイス130は、TCP/IPを使用してデータを送信するように構成されているが、リモートコンピューティングデバイス174は、アップルトークパケットのみを受信するように構成されているかもしれない。その代わりに、コンピューティングデバイス130は、イーサネット(登録商標)のネットワークを介して通信するように構成されているが、リモートコンピューティングデバイスは、トークンリング専用に構成されていて、両者の間にプロトコル変換デバイスがないかもしれない。このような条件の下では、リモートコンピューティングデバイス174は、本開示に従ってコンピューティングデバイス130によって処理されたデータを記憶できないかもしれない。従って、コンピューティングデバイス130における制御装置は、処理したデータの受信機として、リモートコンピューティングデバイス174を含まないことを選び得る。その代わりに、制御装置は、ボリューム176に、又は互換性があって利用可能であり得るこのような他のデバイスに、データを記憶し得る。
【0037】
コンピューティングデバイス130は、上述の特徴を実現し得る制御装置以外のコンポーネントを含み得ることが、当業者に分かるであろう。即ち、任意のハードウェアコンポネント、ソフトウェアコンポネント、又はこれらの任意の組み合わせであって、本開示の範囲から逸脱することなく、ここに記載されている特徴をコンピューティングデバイス130に備えさせ得るものが使用され得る。
【0038】
更に、別の実施形態では、コンピューティングデバイス130は、最初に、「t」個のボリューム又は「t」個のデータストリームを形成するように、1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、次に、t個のボリューム又はt個のデータストリームを暗号で変更し得る。上述のように、暗号化は、暗号化モジュールを使用して行なわれ得る。更に、異なる鍵を使って、各ボリューム又はデータストリームを暗号化することによって、更なるセキュリティが提供され得る。更に別の実施形態では、可能性のある暗号化アルゴリズムのプールからランダム又は決定論的に選択され得る異なるアルゴリズムを使用して、各ボリューム又はデータストリームを暗号化してもよい。データの所有者が小さなグループのアルゴリズムのみを使用したいという、所有者によって課された制約の結果として、決定論的な選択を使用してもよい。小さなグループのアルゴリズムは、例えば、ASE−256(政府が使用するNIST標準)、スーパーネット(Supernet)、又はトゥーフィッシュである。一部の他のデータの所有者は、RSA又はPSquaredのような所有権下にある暗号化アルゴリズムのみを使用することを望み得る。一方で、更に他の者は、オープンソースのアルゴリズムのみを使用することを望み得る。その理由は、オープンソースのアルゴリズムは、使用料がかからないからである。次に、個々に暗号化されたボリュームを複数のネットワークノードに送信するか、又は複数のローカルな、グローバルに分散した位置に記憶し得る。
【0039】
更に、代わりの実施形態では、開示されている技術は、無線送信のための複数のチャネル、周波数、又はサブ周波数を用いて、並びに/或いは電力線ブロードバンド送信のための複数の中電圧の電力線を介して、並びに/或いはローカルネットワーク150及び/又は通信ネットワーク160中の複数のネットワークノードで、複数のコンジット、チャネル、周波数、又はサブ周波数により、決定論的又は非決定論的なやり方で、分配されたデータを並列に送信することによって、データ送信速度を増し得る。既に記載したように、ローカルネットワーク150と通信ネットワーク160は、有線又は無線ネットワークであり得る。1つの実施形態では、電力線ネットワークを渡って情報が送信される場合に、信号を安定させるソフトウェア/機器を使用して、使用できる空の周波数の数を増やしてもよい。これらのネットワークが無線ネットワークである場合は、これらのネットワークは無線ネットワークノードを含み得る。無線ネットワークノードは、例えば、無線アクセスポイント又は無線ルータであり得る。同様に、これらのネットワークが有線ネットワークである場合は、有線ネットワークは有線ネットワークノードを含み得る。有線ネットワークノードは、例えば、遠距離通信のハブである。遠距離通信のハブは、様々なインターネットサービスプロバイダ(Internet Service Provider, IPS)のインターネットワーキング機器を同じ場所に配置する。
【0040】
1つの実施形態では、通信ネットワーク160は、光ファイバネットワークを含み得る。この場合に、コンピューティングデバイス130における制御装置は、ファイバの1本のストランドにおける複数のラムダ(lambda)にわたって、ファイバの複数のストランドにわたって、又は両者の方法により「t」個のボリュームを分配することによって、元のストリームから生成される「t」個のボリュームを分配するように構成され得る。上述の分配されたデータボリュームの光ファイバケーブルにおける送信は、決定論的又は非決定論的なやり方で、開示されている実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。
【0041】
別の実施形態では、通信ネットワーク160は、無線ネットワークであり得る。これは、例えば、セルラネットワーク、衛星ネットワーク、無線データネットワーク、例えば、ワイファイ、ワイマックス、又はマイクロ波ネットワーク、或いはこれらの任意の組み合わせを含み得る。この場合に、コンピューティングデバイス130における制御装置は、無線又は電力線アクセスポイントに含まれている少なくとも1つの無線機において或いは異なるチャネル又は周波数に同調させられた複数の無線機によって、サービス可能な複数の周波数の全体に、元のストリームから生成された「t」個のボリュームを分配するように構成され得る。上述の分配されたデータボリュームの無線ネットワークによる送信は、決定論的又は非決定論的なやり方で、開示されている実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。本開示のこの技術を実行することにより、従来の知識に従って用いられていた直列送信技術の代わりに、並列送信技術を使用してデータを送信することによって、データ送信レートは上昇し得る。
【0042】
本開示と一致する別の実施形態では、ローカルネットワーク150及び/又は通信ネットワーク160は、電力線ブロードバンド(Broadband over Powerline, BPL)の機器を備えた電力線であり得る。このようなネットワークは、BPLアクセスポイントを更に含み得る。この場合に、コンピューティングデバイス130における制御装置は、個々の電力線における複数のチャネル(周波数)にわたって、複数の電力線の各々における1本のチャネルにわたって、又は両者により「t」個のボリュームを分配することによって、元のストリームから生成された「t」個のボリュームを分配するように構成され得る。1つの電力線ブロードバンドの相互変換カード(cross-conversion card)に対して信号を多重化して、多重化信号を送ることによって、又は各々が単一信号又は多重化信号を送信し得る複数の相互変換カードを使用することによって、これが達成され得る。更に、複数の相互変換カードへの/からの送信は、1つの相互変換カードにおける1つのデータ送信を含むことができる。又は、利用可能な全てのチャネルと相互変換カードとを通して、サブボリュームを含んでいるパケットを混ぜ合わせたものを分配することによって、分配情報が送信され得る。電力線における上述の分配されたデータボリュームの送信は、決定論的又は非決定論的なやり方で、開示された実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。
【0043】
代わりの実施形態では、ローカルネットワーク150と通信ネットワーク160は、BPLと無線の技術の組み合わせを含み得る。本開示と一致するソフトウェア及び/又はハードウェアを、BPL相互変換機器又は無線アクセス機器のファームウェアに統合することによって、この機器を通ったデータは、無許可の使用に対して判読不能になり得る一方で、データ送信レートはかなり上昇し得る。このようなネットワークは、詐欺及び個人情報の盗難からユーザを一層保護し、更に、クラウドコンピューティング環境とより効率的に接続し得る。
【0044】
更に、本開示に従ってデータを処理する無線アクセス機器は、少なくとも1つのチップセットを具備する少なくとも1つの回路基板を含み得る。このチップセットは、変調信号に対して搬送波信号の1つ以上の特性を変えることによって、BPLと無線変調との間でデータを相互変換することができる。更に、無線アクセス機器は、データを相互変換するオペレーティングシステムのソフトウェア又はファームウェアも含み得る。このオペレーティングシステムのソフトウェア又はファームウェアは、ディジタル情報を送信及び受信する方法を含むチップセット主制御ソフトウェアと、「直交周波数分割多重化」(「Orthogonal Frequency-Division Multiplexing, OFDM」)からイーサネット(登録商標)へのデータ変換アルゴリズムと、イーサネット(登録商標)からOFDMへのデータ変換アルゴリズムと、暗号化アルゴリズムと、暗号解読アルゴリズムと、データ分割アルゴリズムと、データ逆アセンブリアルゴリズムと、符号化又は圧縮アルゴリズムと、復号又は逆圧縮アルゴリズムと、のうちの1つ以上を含む。無線機器は、RAM又はフラッシュメモリと、有線及び無線ネットワークと通信するためのインターフェイスと、BPLネットワークと通信するためのインターフェイスとを更に含み得る。
【0045】
本開示に従ってデータ処理を行なう各BPLデバイスは、様々な特徴を提供し得る。これらの機能は、例えば、高解像度で高忠実度のオーディオ及び/又はビデオ提示システムをユーザに提供することと;データ暗号化/解読方式に対するセキュリティ、コンテンツの使用の追跡、様々な監査及び報告機能、等を提供することを含み得る、コンテンツの所有者のディジタル権を管理することと;ユーザのサイコグラフックプロファイルを作成して、精度を高めて、維持する目的で、ユーザの動作環境内におけるユーザの動き及び応答を追跡することと;銀行取引、電子商取引、及び他の金融活動を容易にすることと;を含み得る。
【0046】
サーバベースのデータ処理システムと、ユーザのデータ処理システムとにおいて実行されるソフトウェアエージェントに、このシステムが埋め込まれるならば、特別のハードウェア又はハードウェアのアップグレードは、BPLデバイスにほぼ不要であり得る。しかしながら、BPLのチップセットにおけるプロセッサが、本開示と一致するデータ処理の結果として生じる追加の負荷に対処できない場合は、相互変換カードを設計し直して、追加の演算プロセッサ回路をASICに追加するか、又はインテル(登録商標)EP80579集積プロセッサのようなシステムオンチップ(system-on-a-chip, SOC)を追加することが望ましいかもしれない。SOCを追加すると、デバイスのヘッドルームが増え得る。これにより、システム上で効率的に動作するのに十分な知能を備えたモバイルネットワークのオブジェクトを提供することが必要になるかもしれない。更に、BPLのバスに接続された異なるカード上に埋め込みシステムを追加するか、又はSOCを相互変換カードに追加すると、軍事及び他の高効率の応用のための追加のヘッドルームを提供し得る。
【0047】
本開示と一致する幾つかの実施形態では、BPLと無線機器は、ASICで制御され得る。ASICは、例えば、OFDMのASICである。多くの場合に、既存のASICは、本開示と一致するやり方でデータを処理するのに十分に効果的であり得る。しかしながら、場合によっては、埋め込みシステムの機能、システムオンチップ(SOC)の機能、或いは他のハードウェアに依存する又はソフトウェアに依存する機能に適応させるために、開示されたデータ処理のための追加の資源、例えば、フラッシュメモリ、ASICの拡張機能、追加のASIC、或いはより多くの回路又は回路基板を、BPLと無線機器とにおけるハードウェアに追加する必要があるかもしれない。
【0048】
既に記載したように、本開示と一致する技術を使用することによって、送信媒体に関係なく、複数の並列送信ルートに沿ってデータを送信することにより、通信ネットワーク160による総合的な有効データレートが上昇し得る。更に、このシステムは、データのセキュリティも高め得る。具体的には、開示された技術に従って、圧縮されて、無許可の使用に対して判読不能にされたデータは、決定論的又は非決定論的に分割されて、分配されて、複数のデータ経路を渡って複数の記憶デバイスへ及び複数の記憶デバイスから送信され得る。複数の記憶デバイスは、ローカルに存在している場合もあり、又は地理的に分散している場合もある。完全なデータセット又はフォレンジックに識別可能なデータが、1本のネットワーク経路を渡って送られるか又は1つの記憶デバイスに記憶されることは決してないので、これはデータのセキュリティを更に高める効果があり得る。大抵の場合に、逆アセンブルされて、複数のボリュームに分割されたデータセットを、本開示の実行に従って分配して、複数の地理的に分散した記憶位置に送る結果として、これは当然に達成され得る。地理的に分かれた記憶位置の多様性は、異なるネットワークノードにわたって、特に、多数の潜在的な記憶位置が存在するグローバルなWANにわたって、大抵のボリュームが送信される可能性を保証し得る。これらの位置は、例えば、金融機関と、郵便局と、政府の設備と、軍事基地及び作戦本部と、病院と、診療所と、医療センタとを含み得る。例えば、ニューヨーク市の街角のニュースブースは安全性の高いデータセンタであるので、これに記憶されているときに、シェルゲームを行なうと、データがほぼ安全になり得る。
【0049】
代わりの実施形態では、本開示と一致する技術は、クラウドコンピューティング環境において使用され得る。クラウドコンピューティングは、コンピューティングの1つのスタイルである。このコンピューティングでは、動的にスケーラブルで且つしばしば仮想化される資源を、インターネットによって、サービスとして提供する。ユーザは、ユーザをサポートする「クラウド」の技術的インフラストラクチャの知識又は専門知識を有する必要がなく、或いはこのインフラストラクチャを制御する必要もない。この概念は、サービスとしてのインフラストラクチャ(infrastructure as a service, IaaS)と、サービスとしてのプラットフォーム(platform as a service, PaaS)と、サービスとしてのソフトウェア(software as a service, SaaS)と、他の最近(だいたい2007−2010年)の技術的傾向を取り入れている。最近の技術的傾向は、ユーザのコンピューティングのニーズを満足させるための、インターネットに対する信頼性についての共通のテーマを有する。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされるオンラインのビジネスアプリケーションを提供でき、一方でソフトウェアとデータは、クラウドサーバに記憶される。本開示と一致する実施形態では、クラウドという用語は、コンピュータのネットワークの図においてインターネットがどのように表されるかに基づく、インターネットに対する比喩として使用でき、それが隠している複雑なインフラストラクチャについての抽象的な概念である。
【0050】
一般に、クラウドコンピューティングシステムのユーザは、グローバルに分散していてもよく、従来のワークステーションとラップトップを使用しない。その理由は、ユーザが必要とするデータ処理機能の殆どが、クラウド中のシステムによって提供されるからである。このため、リモートユーザのデータ処理システムは、リモートユーザのデータ処理システムとクラウドシステムのデータ処理システムとの間におけるデータ処理機能を助けるようなやり方で、クラウドコンピューティングシステムにリンクする任意のデバイスであり得る。本開示と一致する技術を実行することによって、ユーザとクラウドとの間におけるデータ送信レートを上昇させることができる。その理由は、既に記載したように、少なくとも、データを圧縮状態で送信して、更に、複数の物理媒体及び/又は複数の周波数にわたってデータを分配できるからである。更に、本開示と一致する暗号化及び情報分配技術は、ユーザのデータ処理システムとクラウドのデータ処理システムとに記憶されている情報を、無許可の使用に対して判読不能な状態に常に維持することを確実にし得る。
【0051】
例示的な実施形態では、信頼できるクラウドコンピューティングサービスを助けるクラウドコンピューティングネットワークには、複数の「クラウドコンピューティングサービスゾーン」が存在し得る。クラウドコンピューティングサービスゾーンは、仮想コンピューティング環境をひとまとめにして提供し得る。仮想コンピューティング環境は、クラウドコンピューティングサービスゾーン内に冗長的に割り振られている有線及び無線ネットワーク情報のユビキタスな分配を含む。セキュリティを高めるために、1つのクラウドコンピューティングサービスゾーンは、任意の情報ファイルの完全なデータセットを含まないかもしれない。その代わりに、データセットを含むデータは、本開示と一致するやり方で、複数のクラウドコンピューティングサービスゾーンにわたって、決定論的又は非決定論的なやり方で分配される。
【0052】
図2は、開示された実施形態に従って、情報を安全に送信及び記憶するクラウドコンピューティングシステム200の概略図を提供している。システム200は、WAN/インターネット202と、衛星ネットワークゾーン204と、衛星206と、衛星ディッシュ208と、衛星記憶ゾーン210と、サーバ212と、第1の記憶ゾーン214と、サーバ216と、第2の記憶ゾーン218と、サーバ220と、無線/BPLゾーン222と、電力網224と、BPL/OFDMアクセスポイント226と、無線/BPL記憶ゾーン228と、サーバ230と、パーソナルコンピューティング及び通信ゾーン232と、ラップトップ/ノートブック234と、USBドライブ236と、スマートフォン238と、セルラネットワークゾーン240と、セルタワー242と、ホーム又はオフィスゾーン244と、ワークステーション246と、ISPゾーン248と、モデム/ルータ250とを含む。
【0053】
1つの実施形態では、システム200は、幾つかのクラウドコンピューティングサービスゾーンに分けられ得る。クラウドコンピューティングサービスゾーンは、WAN/インターネット202に直接又は間接的に接続している。これらのクラウドコンピューティングサービスゾーンは、通信及び/又はデータの保存のために使用される。例えば、衛星ネットワークゾーン204は、衛星記憶ゾーン210をWAN/インターネット202に接続し得る。この目的のために、衛星ネットワークゾーン204は、衛星206と衛星ディッシュ208とを含み得る。衛星ディッシュ208は、衛星記憶ゾーン210に配置されているサーバ212にデータを送信し、サーバ212からデータを受信し得る。更に、衛星206は、この衛星記憶ゾーンのデータをWAN/インターネット202に/から双方向に転送し得る。サーバ212は、本開示と一致するデータ圧縮と、暗号化と、分配の技術を実行できるソフトウェア又はハードウェア、或いはこれらの任意の組み合わせを含み得る。特に、サーバ212は、本開示と一致する技術に従って処理されたデータを記憶できる安全な記憶ボリュームV−1を含み得る。
【0054】
更に、システム200は、第1の記憶ゾーン214を含み得る。第1の記憶ゾーン214は、例えば1本以上の光ファイバケーブルのような物理媒体を介して、WAN/インターネット202に接続し得る。更に、第1の記憶ゾーン214は、サーバ216を含み得る。サーバ216は、本開示と一致するデータ圧縮と、暗号化と、分配の技術を実行できるという点で、サーバ212に似ているかもしれない。特に、サーバ216は、安全な記憶ボリュームV−2を含み得る。安全な記憶ボリュームV−2は、本開示と一致する技術に従って処理されたデータを記憶できる。同様に、システム200は、第2の記憶ゾーン220を含み得る。第2の記憶ゾーン218は、サーバ220を含んでいる。サーバ220は、安全な記憶ボリュームV−3を含み得る。安全な記憶ボリュームV−3は、記憶ボリュームV−1とV−2とに似ている。
【0055】
更に、システム200は、無線/BPLゾーン222を含んでいる。無線/BPLゾーン222は、データを、1つ以上の電力網224を介して、WAN/インターネット202に双方向で転送する。この目的のために、各電力網224は、1つ以上のBPL/OFDMアクセスポイント226を含み得る。これらのアクセスポイントの詳細については、既に記載したので、簡潔にするために繰り返さない。無線/BPL記憶ゾーン228は、ケーブル、例えば光ファイバケーブルを介して、無線/BPLゾーン222に接続し得る。これは、ハイブリッド マルチテクノロジー ネットワークに更に接続し得る。ハイブリッド マルチテクノロジー ネットワークは、例えば、ファイバと、電力線ブロードバンドと、無線と、同軸の技術から構成される。無線/BPL記憶ゾーン228は、サーバ230を含み得る。サーバ230は、サーバ212と、216と、220とに似ている。無線/BPL記憶ゾーン228は、安全な記憶ボリュームV−4を含み得る。
【0056】
システム200は各記憶ゾーンに1つのサーバを示しているが、本開示はそのように制限されないことが、当業者に分かるであろう。むしろ、各記憶ゾーン210、214、218、228は、複数のサーバ又は他の記憶デバイスを含み得る。この複数のサーバ又は他の記憶デバイスは、本開示の範囲から逸脱することなく、本開示と一致する技術を使用して、データを記憶して処理し得る。更に、記載されている各サービスゾーンは、複数のサービスゾーンを象徴しており、複数のサービスゾーンのうちの各サービスゾーンは、その機能又は類似の機能を行ない得る。更に、各サービスゾーンがWAN/インターネット202にどのように接続し得るかについて、本開示は詳しく記載していないが、本開示がこのような接続について既知の任意の技術の使用を考慮していることが、当業者に分かるであろう。例えば、衛星206は、静止衛星、低地球軌道衛星、又は任意の他のタイプの衛星であって、WAN/インターネット202と衛星記憶ゾーン210との間において双方向通信を提供できる衛星であり得る。更に、衛星206は、次のような通信技術を使用し得る。即ち、例えば、時分割多重アクセス(Time Division Multiple Access, TDMA)、単チャネル単キャリア(single channel per carrier, SCPC)、又は他のこのような技術であって、WAN/インターネット202と衛星記憶ゾーン210との間に双方向通信を提供する技術である。同様に、無線/BPLゾーン222は、電力線によってデータを送信する技術を提供するBPLアクセスポイントのようなデバイスを含み得る。更に又はその代わりに、無線/BPLゾーン222は、例えば、無線/BPL記憶ゾーン228と無線/BPLゾーン222との間における無線通信のために、例えばOFDMのような周波数変調技術を使用する無線アダプタを使い得る。
【0057】
システム200は、更なるクラウドコンピューティングサービスゾーンを含み得る。更なるクラウドコンピューティングサービスゾーンは、パーソナルコンピューティング及び通信ゾーン232、セルラネットワークゾーン240、ホーム又はオフィスゾーン244、ISPゾーン248、或いはこれらの任意の組み合わせを含み得る。1つの実施形態では、パーソナルコンピューティング及び通信ゾーン232は、PC、ラップトップ、PDA、他のコンピューティングデバイス、又はこれらの任意の組み合わせを含み得る。例えば、図2に示されているように、パーソナルコンピューティング及び通信ゾーン232は、ラップトップ/ノートブック234を含んでいる。ラップトップ/ノートブック234は、安全な記憶ボリュームV−6を含み得る。安全な記憶ボリュームV−6の特性は、本開示と一致する技術に従って処理されたデータを記憶できるという点で、安全な記憶ボリュームV−1乃至V−4の特性に似ているかもしれない。更に、パーソナルコンピューティング及び通信ゾーン232は、USBドライブ236も含み得る。USBドライブ236は、ラップトップ/ノートブック234に挿入可能である。USBドライブ236は、更に別の安全な記憶ボリュームV−7を含み得る。更に別の安全な記憶ボリュームV−7は、システム200における他の記憶ボリュームに似ている。更に、スマートフォン238も、パーソナルコンピューティング及び通信ゾーン232の一部であり得る。スマートフォン238は、更に別の記憶ボリュームV−8を含み得る。更に別の記憶ボリュームV−8は、システム200における他の記憶ボリュームに似ている。スマートフォン238は、セルラネットワークを介して、セルラネットワークゾーン240におけるセルタワー242に接続し得る。セルラネットワークは、例えば、3G、ロングタームエボリューション(Long Term Evolution, LTE)、又は任意の他のこのようなネットワークである。セルタワー242は、WAN/インターネット202とインターフェイスして、WAN/インターネット202とスマートフォン238との間において双方向通信を提供し得る。
【0058】
図2は、1つのラップトップ/ノートブック234と、1つのスマートフォン238とを記載しているが、他の種類のパーソナルコンピューティングデバイスと、高機能デバイスと、幾つかのこのようなデバイスであって、各々が安全な記憶ボリュームを含むデバイスが、本開示の範囲を逸脱することなく使用され得ることが、当業者に分かるであろう。
【0059】
1つの実施形態では、パーソナルコンピューティング及び通信ゾーン232は、ホーム又はオフィスゾーン244に更に接続し得る。パーソナルコンピューティング及び通信ゾーン232と、ホーム又はオフィスゾーン244は、任意の通信ネットワークを介して接続され得る。任意の通信ネットワークは、例えば、図2に記載されている仮想プライベートネットワーク(「Virtual Private Network, VPN」)である。更に、ホーム又はオフィスゾーン244は、1台以上のワークステーション246を含み得る。ワークステーション246は、安全な記憶ボリュームV−5を含み得る。安全な記憶ボリュームV−は、システム200における他の記憶ボリュームに似ているかもしれない。
【0060】
パーソナルコンピューティング及び通信ゾーン232と、ホーム又はオフィスゾーン244は、ISPゾーン248に接続し得る。これらのゾーンと、ISPゾーン248は、ネットワーク接続機器を介して、有線又は無線で接続され得る。ネットワーク接続機器は、例えば、モデム/ルータ250、又は他のこのような機器である。ISPゾーン248は、WAN/インターネット202と、パーソナルコンピューティング及び通信ゾーン232と、ホーム又はオフィスゾーン244との間に、双方向通信を提供し得る。
【0061】
クラウドコンピューティングシステム200の記載は、単に例示を目的としており、クラウドコンピューティングシステム200の多くのバリエーションが、この開示の範囲内に含まれることが、当業者に分かるであろう。例えば、代わりの実施形態は、追加の又はより少ないクラウドコンピューティングサービスゾーン、並びに/或いは異なるタイプのクラウドコンピューティングサービスゾーンを含み得る。更に、各クラウドコンピューティングサービスゾーンは、複数の安全な記憶ボリュームを有することができるであろう。クラウドコンピューティングサービスゾーにおける各デバイスは、複数の安全な記憶ボリュームを有するかもしれない。
【0062】
ユーザのデータ処理システムとクラウドのデータ処理システムとに記憶された情報を、無許可の使用に対して判読不能な状態に常に維持することと、クラウドコンピューティングサービスゾーンにおける1つのデバイスが、任意の情報ファイルの完全なデータセットを含むことができないこととを保証するために、システム200のユーザは、上述の情報の圧縮と、暗号化と、分配と、送信と、記憶の技術を具現するソフトウェア、ハードウェア、又はこれらの任意の組み合わせを含み得る。例えば、ユーザは、ラップトップ/ノートブック234においてデータファイルを作成又は変更し得る。更に、ユーザは、図2に記載されている他の全てのクラウドコンピューティングサービスゾーンにアクセスし得る。例えば図1に関連して記載されている本開示と一致する技術を使用することによって、ラップトップ/ノートブック234におけるソフトウェア、ハードウェア、又はこれらの任意の組み合わせは、データファイルを圧縮及び暗号化し得る。更に、システム200が、本開示と一致する技術に従って、データファイルを8個のボリューム(t=8)に分配するように構成されていて、8個のボリューム(m=8)のうちの2個が、完全なデータセットを含む場合に、図2に示されているシステム200における安全な記憶ボリュームV−1乃至V−8の全体に拡散された8個の別々のボリュームに、このデータファイルを分配することによって、ユーザはこのデータファイルのバックアップをとり得る。本開示と一致する技術に従って技術が実行される場合に、従来の知識によって実行される定期的なバックアップは、最早必要ないかもしれない。その理由は、各ファイルが保存されると直ぐに、8箇所のローカルなリモートの位置に、情報が記憶されるからである。従って、時間と共にデータが発展していく履歴をとっておくために、アーカイブのスナップショットを作成する場合にのみ、バックアップをとるのが望ましい。従って、ラップトップ/ノートブック234と、スマートフォン238と、USB236と、ワークステーション246と、サーバ212、216、220、230とに、データファイルの一部分が記憶されて、データファイルの完全なコピーを含んだデバイスがないようにする。システム200が上述のやり方で動作する場合に、システム200における全デバイスが、本開示に記載された技術を使用してデータを処理して記憶できるソフトウェア、ハードウェア、又はこれらの任意の組み合わせを含むことが、当業者に分かるであろう。ユーザが自分のデータファイルを検索することを決定すると、8個のボリュームのうちの任意の2個からのデータファイルを復元することによって、データファイルを検索することができる。従って、ユーザのデータファイルの完全性に影響を及ぼすことなく、8個のボリュームのうちの任意の6個を破棄できる。
【0063】
代わりの実施形態では、コンピューティングデバイスが、リモートに記憶されたボリュームにアクセスする前に、ローカルに記憶されたボリュームを最初に検索することを試みるように、ボリュームの検索に優先順位を付けてもよい。本開示と一致するこの技術は、帯域幅を節約し、検索プロセスを速め得る。また、制御装置が、リモート記憶位置にボリュームを送信する前に、ローカル記憶デバイスにボリュームを最初に送信することを試みるように、ボリュームの送信に優先的順位を付けてもよい。ローカルデバイスは、リモートの位置よりも、データを完全により素早く受信する可能性が高いので、本開示と一致するこの技術は、「m」個のデータが記憶プロセスを切り抜けて生き残る確実性を高め得る。
【0064】
更に別の実施形態では、データの完全性を保つために、「m」個のボリュームを保存することが必要であり得る。このような場合に、コンピューティングデバイスは、保存プロセス後又は将来に、m個のボリュームを使用して、所望数のt個のボリュームを生成することを試みてもよい。保存サイクルが開始されたときに、複数の受信ユニットがオフライン又は圏外であり得ることが考えられるので、モバイルアドホック無線において、この特徴が使用され得る。
【0065】
圧縮され、暗号化され、ビット、ニブル、バイト、及び/又はブロックのような一次データの単位に分割され、クラウドにリンクされる可変サイズの8個の安全な記憶ボリュームに分配されるデータの1つのライブラリを、ユーザのコンピューティング及び通信デバイスの全てが共有することを、システム200は可能にし得る。既に記載したように、「t」と「m」の値は、システム200のユーザによって選択可能であって、上述の開示において使用されている値に制限されない。
【0066】
システム200は、ユーザの実際の位置に関係なく、ユーザが、ユーザのコンピューティング及び通信環境を維持することを可能にし得る。本開示によって記載されている技術では、送信媒体と送信プロトコルとを知ることができないので、当該システムの、位置を知ることができないというこの特徴が可能である。従って、ユーザは、空中、地上、又は海上のどんな位置にいても、移動中であっても、又は静止していてもよいが、ユーザがクラウドコンピューティングシステム200にアクセスできる限り、クラウドコンピューティングシステム200上でバックアップされたデータに常にアクセスできる。
【0067】
上述の本開示によると、クラウドコンピューティングシステム200は、幾つかの特徴を含んでいる。データは、暗号化アルゴリズムのうちの任意の1つ又は組み合わせを使用して暗号化され得る。暗号化アルゴリズムは、例えば、PSquared、AES−256、3DES、又はトゥーフィッシュである。更に、データは圧縮状態で記憶又は転送され得るので、クラウドへの及びクラウドからのデータ転送は、一般に速まる。更に、圧縮及び暗号化されたデータセットは、ビット、ニブル、バイト、及び/又はブロックのような、一次データの要素に分割されて、次に、部分的なデータセットとして、決定論的又は非決定論的なやり方で、複数のローカルなグローバルな位置に分配されるので、完全なデータセットは、1つのボリューム又は1つの記憶位置に決して存在せず、或いは、所望であれば、1つのネットワークノード又はルートから動かない。更に、ファイルがどの種類のデータを含んでいるかについて、ファイル又はボリューム名から誰にも分からないように、データが保存されるたびに、ボリューム名及びファイル名をランダムな英数字のストリングとして生成及び再生成してもよい。
【0068】
更に、上述で開示されたシステムで使用されている送信技術は、どのデータ記憶位置がデータセットのどの部分を保持しているかを判断し難くし得る。具体的には、データセットが保存又は送信されるたびに、ファイルとボリュームとを、新たな異なるネットワークルートによって、新たな異なる記憶位置に、決定論的又は非決定論的に分配して、グローバルな「シェルゲーム」を生成して、どの記憶位置がどのボリューム又はどの部分的なデータセットを保持しているかについて、データの所有者を含めて誰にも分からないようにする。
【0069】
図1に関連して記載された特徴に類似して、本開示によるシステムは、安全な記憶ボリュームに問い合わせをして、利用可能な記憶空間量を決定して、決定論的又は非決定論的に、部分的なデータセットを生成して、問い合わせたボリュームに記憶してもよい。
【0070】
代わりのクラウドコンピューティングの実施形態では、最初に、ビットストリームを複数のデータストリーム又はボリュームに逆アセンブルして、次に、各データストリーム又はボリュームをそれぞれ別々に暗号化してもよい。更に、各ボリューム又はデータストリームを異なる鍵で暗号化することによって、更なるセキュリティが提供され得る。更に別の実施形態では、可能性のある暗号化アルゴリズムのプールから決定論的又は非決定論的に選択され得る異なるアルゴリズムを使用して、各ボリューム又はデータストリームを暗号化してもよい。
【0071】
更に別の実施形態では、上述のシステム100、200は、厳しい帯域幅の節約(「extreme bandwidth conservation, XBC」)を実行し得る。例えばクラウドコンピューティングシステムのような多くのシステムは、例えば、文書処理プログラム、表計算プログラム、グラフィック画像処理プログラム、等のようなアプリケーションを使用して、ユーザのデータを作成及び操作し、又は無線及びBPSアクセスポイントにおいて、自動構成データのような情報を送信及び受信する。これらの動作は、ユーザとクラウドコンピューティング資源との間において、かなりのデータ転送を必要とし得る。本開示によって考慮されている更なる実施形態は、このようなアプリケーションによって一般に使用されるデータを送信する必要を低減し得るシステムである。
【0072】
この実施形態の基本的なアーキテクチャは、図1のシステム100と同じであり得る。従って、簡潔化のために、各コンポーネントの詳しい説明を繰り返さず、むしろ、代わりの実施形態に関連する態様のみを以下に記載する。
【0073】
コンピューティングデバイス130、174は、本開示と一致する技術を行なうソフトウェア、ハードウェア、又は両者の組み合わせで構成され得る。高いレベルにおいて、コンピューティングデバイス130と、ポイントコンピューティングデバイス174は、データを1つ以上の配列の形式で記憶し得る。この配列は、XBC配列と呼ばれている。XBC配列で記憶されている情報を転送するために、コンピューティングデバイス130は、1つ以上のデータ配列中のデータを指し示すポインタを形成し得る。ポインタは、対応するデータ配列中のデータを参照する。ポインタは、二次元のポインタであり得る。更に、XBC配列中に記憶されているそのデータを送信した後ではなく、最初の送信後に、コンピューティングデバイス130は、1つ以上のデータ配列中の任意のデータ項目に対するポインタのみを、コンピューティングデバイス174に、ローカルネットワーク150と通信ネットワーク160とを渡って転送し得る。リモートコンピューティングデバイス174は、ポインタを受信すると、ローカルXBC配列に記憶されているデータを参照し得る。従って、このシステムは、コンピューティングデバイス130と174との間において送られる実際のデータ量を減らす。
【0074】
1つの実施形態では、コンピューティングデバイス130、174は、上述の特徴を実現するように構成可能な制御装置(示されていない)を含み得る。これらは、例えば、これらの特徴を実現し得るソフトウェア命令を実行するように構成された制御処理ユニットの少なくとも一部分と、これらのソフトウェア命令を記憶する1つ以上のメモリユニットの少なくとも一部分と、上述の特徴を実現するのに必要な任意の他のコンポーネントとを含み得る。
【0075】
具体的には、コンピューティングデバイス130における制御装置は、固定長又は可変長のXBC配列を作成して、その配列をデータで埋めるように構成され得る。このデータは、ユーザデータ、メタデータ、又は任意の他の種類のデータであって、コンピューティングデバイス130に記憶する必要のあるデータであり得る。XBC配列データは、例えば、固定長のストリング、整数、実数、内部ポインタ、別のXBC配列に対する外部ポインタ、ソフトウェアプログラム又はユーティリィティに対する外部ポインタ、コードブロック又はコードブロックの要素、実行可能命令又は実行可能命令の要素、コードブロック又は実行可能命令を初期設定する1つ以上のパラメータ及び/又は引数、或いはこれらの任意の組み合わせを含み得る。その代わりに、XBC配列が既に存在する場合は、欠落した又は変更する必要があるデータのみで、XBC配列を埋めてもよい。1つの実施形態では、コンピューティングデバイス130の少なくとも1つのメモリコンポーネントと、コンピューティングデバイス174の少なくとも1つ以上のコンポーネントとに、XBC配列が記憶される。例えば、コンピューティングデバイス130がOFDMデバイスである場合は、メモリに存在するように、配列を予めロードしてもよい。その代わりに、揮発性又は不揮発性メモリに存在するように、XBC配列を予めロードしてもよい。更に別の代わりの実施形態では、XBC配列が予めロードされていない場合は、初期設定プロセス中に、XBC配列を作成して、情報で埋める。
【0076】
例えば、1つの実施形態では、XBC制御配列をデバイスのファームウェア内に予めパッケージングして、その後に、デバイスがアップデートを受信するまで、そのまま変更しなくてもよい。その代わりに、制御配列は、予めパッケージングされていなくてもよい。むしろ、制御配列は、デバイスにメモリの割り振りを有しているだけでもよい。ポインタを送信することを試みるデバイスは、最初に、配列が存在するかどうかをテストして確かめて、配列が存在する場合は、配列が現在のバージョンであるかどうかを決定し得る。配列が存在し最新版である場合は、デバイスは、1つ以上のポインタのパッケージを送り得る。しかしながら、配列が存在せず最新版でない場合は、デバイスは、最初に配列を送って、次に1つ以上のポインタのパッケージで付け加え得る。
【0077】
更に、コンピューティングデバイス130における制御装置は、1つ以上のXBC配列中の任意のデータ項目のためのポインタを形成するように構成され得る。従って、各二次元のポインタは、対応するXBC配列中のデータを参照し得る。1つの実施形態では、コンピューティングデバイス130における制御装置は、1バイトを2ニブルに分割して、XBC配列に対するxyポインタを作成することによって、このようなポインタを作成し得る。
【0078】
次に、コンピューティングデバイス130における制御装置は、対応するXBC配列に記憶されている実際のデータを転送する代わりに、ポインタをリモートコンピューティングデバイス174に、ローカルネットワーク150及び通信ネットワーク160を渡って送るように更に構成され得る。ポインタを受信すると、リモートコンピューティングデバイス174は、受信したポインタを使用して、コンピューティングデバイス174に記憶されているXBC配列の対応するデータを参照し得る。このような技術を使用すると、ネットワークにおける帯域幅を節約し得る。その理由は、ネットワークを渡ってポインタを転送する場合に使用する帯域幅は、ポインタが参照したデータを転送する場合に使用されたであろう帯域幅のほんの一部であり得るからである。
【0079】
コンピューティングデバイス130が、上述の特徴を実現し得る制御装置以外のコンポーネントを含み得ることが、当業者に分かるであろう。即ち、任意のハードウェアコンポネント、ソフトウェアコンポネント、又はこれらの任意の組み合わせであって、この開示の範囲から逸脱することなく、ここに記載されている特徴をコンピューティングデバイス130に備えさせ得るものが、使用され得る。
【0080】
図1のコンピューティングデバイス130と174は例示のためにのみ使用されていることが、当業者に分かるであろう。即ち、上述で開示された帯域幅節約技術を使用して、適切なソフトウェア、ハードウェア、又はその組み合わせで構成された任意の2つのデバイス間でデータを転送して、本開示と一致する技術を行なうことができる。更に、システム100に関して帯域幅を節約する実施形態を記載したが、図2に関して記載されているシステム200のようなクラウドコンピューティングシステムにおいて、この開示の範囲から逸脱することなく、上述の技術が使用され得ることが、当業者に分かるであろう。更に、上述の帯域幅節約技術は、帯域幅節約技術だけで使用してもよく、又は本開示と一致するデータの構文解析と、圧縮と、暗号化と、逆アセンブリと、分配の技術と共に使用してもよい。
【0081】
本開示と一致する技術は、ワイマックスネットワークのスループットレートを高めるのを助け得る。例えば、1つの実施形態では、上述で開示した圧縮の特徴は、転送されるデータのタイプと、他の要因とに応じて、約10キロメートルで約10Mbpsから、約10キロメートルで約20Mbps乃至約40Mbpsに、ワイマックスデバイスのスループットレートを高め得る。他の要因は、例えば、太陽黒点、大気の考慮すべき事項、例として湿度と稲妻、等である。これにより、ハイブリッドのBPL及び無線ネットワークにおける迂回中継デバイスとして、本開示と一致する無線アクセスポイントをより多く使用して、その結果、迂回中継動作のための光ファイバケーブルに対する依存度を下げ得る。
【0082】
更に、本開示と一致する技術を使用してデータストリームを分割及び分配して、分割されたデータを、複数のチャネル、周波数、又はサブ周波数によって送信すると、このシステムを実行する無線デバイスの有効帯域幅を、これらの無線デバイスの標準データ送信レートの約2乃至約18倍以上に増し得る。
【0083】
更に、このシステムは、ユニキャスト マルチメディア プレゼンテーション サービスにおいて使用され得る。一般に、ユニキャスト プレゼンテーション サービスは、マルチキャスト プレゼンテーション サービスよりも好ましいかもしれない。マルチキャスト プレゼンテーション サービスの知覚制限のうちの幾つかは、マルチキャスト プレゼンテーション サービスでは、ホスト ブロードキャスト サービスとそのユーザとの間で直接的なインタラクションができないということと、マルチキャスト サービスでは、真のビデオオンデマンド サービスを提供できないということである。ユニキャスト プレゼンテーション サービスは、これらの制限を克服しているが、帯域幅をたくさん使う。このシステムを実行すると、ユニキャスト マルチメディア プレゼンテーション サービスの効率を高め得る。例えば、本開示に従って、ストリーミングビデオのファイルと、他のリッチコンテンツのマルチメディアのファイルとを圧縮して、無許可の使用に対して判読不能にして、多数の記憶位置に地理的に分配すると、コンテンツオンデマンドと、ビデオオンデマンドと、TVオンデマンドと、他のこのようなリッチマルチメディア コンテンツ サービスとを、加入者のグローバルに分散したコミュニティに配信することに関する幾つかの制限が改善され得る。例えば、既存のユニキャスト プレゼンテーション サービスが直面する帯域幅の制限は、本開示と一致する圧縮及び情報分配技術を使用することによって克服され得る。
【0084】
更に、このシステムを使用して、コンテンツプロバイダのニーズを満たすことができる。例えば、ミラマックス(Miramax)、パラマウント(Paramount)、及びソニーフィルムズ(Sony Films)のようなコンテンツプロバイダが表明した問題のうちの幾つかは、a)コンテンツ管理権のセキュリティと、b)コンテンツプロバイダに適したコンテンツの品質標準を維持する必要性とである。このシステムを実行すると、ディジタルマルチメディアファイルが盗聴及び盗用に対して判読不能になるように、MPEG−2、MPEG−4、又はこのような他のビデオコーデック、等の従来のディジタルマルチメディアファイルを変更することによって、コンテンツプロバイダの品質とセキュリティの問題に応える又は更に克服することができる。更に、このシステムを実行すると、他の手段によって達成されないほどコンパクトに、ビデオストリームを圧縮することによって、ネットワークプロバイダのニーズを満たし得る。更に、本開示の帯域幅節約方法は、ユニキャスト ストリーミング サービスをサポートするのに必要なネットワーク制御情報量を減らし得る。
【0085】
更に、このシステムは、衛星によって配信されるサービスを向上させ得る。具体的には、このシステムの実行は、衛星の双方向の送信を速めるように、データを圧縮して、暗号化して、分割することによって、衛星システムを安全にし得る。更に、このシステムは、分割されたデータのサブセットを複数の周波数にわたって分配することによって、セキュリティを一層高め得る。更に、本開示と一致する帯域幅節約技術を実行することによって、衛星システムに対する全ての制御命令の送信を一層速めて、衛星のXBC配列のセットに予めロードされている抽象データの基本命令から制御命令を構築することによって、安全にすることができる。抽象データの基本命令をランダムな間隔で変えることができるので、これは、衛星システムの有害なハッキングを非常に困難にし得る。ランダムな間隔又は決定論的に設定された間隔で、XBC情報配列を新たなバージョンに度々替えて、それによって、配列要素において参照されるデータを変更して、又は配列内の位置を変えて、このデータを参照するポインタをアップデートして、これらの変化を反映して、情報へのアクセスを一層不明瞭にすることによって、セキュリティを向上させることができる。
【0086】
図3は、本開示と一致する実施形態に従って、ディジタル情報を安全に送信及び記憶する方法300のフローチャートを提供している。1つの実施形態では、開示されている方法は、1つ以上のコンピューティングデバイスで実行可能なコンピュータソフトウェアにコード化されたアルゴリズムであり得る。
【0087】
ステップ302では、図1のコンピューティングデバイス130又は図2のデバイス234は、入力デバイス、例えば図1の入力デバイス110又はローカルネットワーク150から、或いは図2の任意のデバイス又はネットワークから、1つ以上のビットストリームの形でデータを受信する。ステップ304では、コンピューティングデバイス内の、図1に関連して既に記載された構文解析モジュールが、1つ以上のビットストリームを構文解析して、1つ以上の第1のデータセットを形成する。ステップ305では、図1に関連して既に記載されたコンピューティングデバイスが、1つ以上の第1のデータセットを圧縮する必要があるかどうかを決定する。1つ以上の第1のデータセット中のデータは圧縮に強いと、コンピューティングデバイスによって見なされた場合は、このステップを飛ばして、プログラムの実行は、ステップ306に進む。さもなければ、プログラムの実行は、ステップ308に進み、ここでは、複数の圧縮アルゴリズムのうちの1つ以上をデータセットに適用する。ステップ306では、コンピューティングデバイス中の、図1に関連して既に記載された圧縮モジュールは、1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成する。ステップ308では、コンピューティングデバイス内の、図1を参照して既に記載された暗号化モジュールは、1つ以上の第2のデータセットを暗号で変更して、1つ以上の第3のデータセットを形成する。ステップ310では、1つ以上の第3のデータセット中のデータを分配する必要があるかどうかについて、コンピューティングデバイス内で決定する。データを分配する必要がない場合は、ステップ312において、コンピューティングデバイスにおけるアセンブリモジュールは、1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成する。ステップ314では、少なくとも1つの第2のビットストリームを、1つ以上のデータ記憶デバイスに出力する。これらは、例えば、図1のローカルデータコンピューティングデバイス140、142、144、146及び/又はリモートコンピューティングデバイス172、174、176、178を含み得る。代わりの実施形態では、データ記憶デバイスは、サーバ212、216、220、230のような、図2に記載されているデバイスのうちの何れかを含み得る。
【0088】
他方で、ステップ310において、コンピューティングデバイス130が1つ以上の第3のデータセット中のデータを分配することを決定すると、テップ318において、コンピューティングデバイスにおける、図1に関連して既に記載された分配モジュールは、1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、少なくとも1つの第2のビットストリームの一部として、「t」個のボリュームを形成して、m<tである場合に、「m」個のボリュームが、完全なデータセットを含むようにする。ステップ320では、コンピューティングデバイス中の分配モジュールは、t個のボリュームを1本以上の送信経路の全体に分配して、t個のボリュームを複数の分散した記憶位置の全体に記憶して、完全なデータセットが1つの記憶位置に記憶されないようにする。これらの記憶デバイスは、図1のローカルデータコンピューティングデバイス140、142、144、146及びリモートコンピューティングデバイス172、174、176、178の任意の組み合わせであり得る。代わりの実施形態では、データ記憶デバイスは、図2に記載されているデバイスのうちの何かを含み得る。図2に記載されているデバイスは、例えば、サーバ212、216、220、230と、オフィス及びホームオフィスの記憶デバイス234、236、246とを含むが、これらに制限されない。更に、図2のセルタワー242によって、図1のローカルデータコンピューティングデバイス140、142、144、146及びリモートコンピューティングデバイス172、174、176、178、のうちの何れか又は全てと通信する記憶デバイスとして、パーソナルスマートフォンが使用され得る。
【0089】
図4は、本開示と一致する実施形態に従って、複数のネットワーク接続されたデバイス間におけるデータの送信期間にわたって帯域幅を節約する方法400のフローチャートを提供している。1つの実施形態では、開示されている方法は、1つ以上のコンピューティングデバイスで実行可能なコンピュータのソフトウェアにコード化されたアルゴリズムであり得る。ステップ402では、第1のネットワーク接続されたデバイスは、1つ以上のデータ配列を、少なくとも1つのメモリコンポーネントに記憶し得る。第1のネットワーク接続されたデバイスは、例えば、図1の通信ネットワーク160(又は、図2のWAN/インターネット202)のような通信ネットワークに接続されている、図1のコンピューティングデバイス130(又は、図2のデバイス234)である。同様に、第2のネットワーク接続されたデバイスは、1つ以上のデータ配列を、少なくとも1つのメモリコンポーネントに記憶し得る。第2のネットワーク接続されたデバイスは、例えば、図1のリモートデータコンピューティングデバイス174(又は、図2のサーバ230)である。ステップ404では、第1のネットワーク接続されたデバイスは、1つ以上のデータ配列中の各データ項目に対するポインタを形成し得る。各ポインタは、対応するデータ配列中のデータを参照する。ステップ406では、第1のネットワーク接続されたデバイスは、1つ以上のデータ配列の各々に対するポインタを、第2のネットワーク接続されたデバイスに、通信ネットワークを渡って転送し得る。ステップ408では、第2のネットワーク接続されたデバイス174は、転送された対応するポインタを介して、1つ以上のデータ配列に記憶されているデータを参照し得る。1つの実施形態では、ポインタは、二次元であり得る。
【0090】
システム及び方法が、上述のように、高圧縮され、無許可の使用に対して判読不能にされる、等をされた情報を提供することに加えて、このようなシステム及び方法は、プロセスを逆にして、このように変更又は修正された任意及び全てのデータを、その元の特徴に復元する特徴を含むことが、当業者に分かるであろう。
【0091】
本開示のプロセスは真にランダムではないことが、当業者に分かるであろう。従って、上述で用いられている擬似ランダム又は非決定論的なプロセスは、任意の決定と基準とを使用して、データを変更する方法を選択しているように思われる。一方で、全ての場合において、データを変更するために用いられるプロセスは、特定の目的のためにデータを変更する動作をする段階的な手続きである。構文解析と、圧縮と、暗号化と、分配とに用いられる各プロセスは、ランダムではない(決定論的である)。従って、プロセスのシーケンスを正確に逆にすることによって、データを元の形式に段階的に逆に復元できる。情報を逆アセンブルして、乱数列を生成して、データセットを乱数列に関連付けることによって、情報を分配しても、データの元の状態への復帰は、同じ乱数列を使用して、単に、プロセスを逆に実行して、情報を再びアセンブルするということである。このような全てのプロセスには、ロスがない。本開示によって用いられているデータ変更技術は全て、ランダムではないので、このような技術は全て元へ戻せる。
【0092】
本開示の様々な実施形態を上述に記載したが、これらの実施形態は、制限的ではなく、例示的に記載されていると、理解すべきである。この開示の意図と範囲とから逸脱することなく、形式と細部に様々な変更を行なってもよいことが、当業者に分かるであろう。従って、開示の広さと範囲は、上述の例示的な実施形態のうちの何れかによって制限されるべきではない。
【符号の説明】
【0093】
100・・・システム、200・・・クラウドコンピューティングシステム、300・・・ディジタル情報を安全に送信及び記憶する方法、400・・・帯域幅を節約する方法。

【特許請求の範囲】
【請求項1】
ディジタル情報を安全に記憶及び送信するシステムであって、
ネットワークデバイス又は記憶デバイスのうちの少なくとも一方、或いは両者に接続されたコンピューティングデバイスと、
前記少なくとも一方のネットワークデバイス又は前記少なくとも一方の記憶デバイス、或いは両者に接続された通信ネットワークと、
を含み、
前記コンピューティングデバイスは、
入力デバイスから、1つ以上の第1のビットストリームの少なくとも一部分を受信して、
前記1つ以上の第1のビットストリームの前記少なくとも一部分を構文解析して、1つ以上の第1のデータセットを形成して、
前記1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成して、
前記1つ以上の第2のデータセットを暗号で変更して、1つ以上の第3のデータセットを形成して、
次の(a)、(b)、又は(c)のうちの何れか、即ち、
(a)前記1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成して、前記少なくとも1つの第2のビットストリームを1つ以上のデータ記憶デバイスに出力することか、又は、
(b)前記1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成して、前記少なくとも1つの第2のビットストリームを1つ以上のネットワークデータ送信デバイスに出力することか、又は、
(c)前記1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、少なくとも1つの第2のビットストリームの一部として、t個のボリュームを形成して、m<tである場合に、m個のボリュームが完全なデータセットを含むようにして、
完全なデータセットが1つの記憶位置に記憶されないように、前記t個のボリュームを1本以上の送信経路の全体に分配して、複数の分散した記憶位置の全体に前記t個のボリュームを記憶すること、
のうちの何れかを行なうか、或いは、
前記(a)、(b)、又は(c)の任意の組み合わせを行なう、
ように構成されている、システム。
【請求項2】
前記コンピューティングデバイスは、
前記構文解析した後で、前記1つ以上の第1のビットストリームの少なくとも一部分を保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きして、
前記圧縮した後で、前記1つ以上の第1のデータセットを保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きして、
前記暗号で変更した後で、前記1つ以上の第2のデータセットを保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きする、
ように更に構成されている、請求項1のシステム。
【請求項3】
前記コンピューティングデバイスは、
前記少なくとも1つの第2のビットストリームを出力するか、或いは、
有線ネットワーク、無線ネットワーク、有線ネットワークノード、無線ネットワークノード、又はこれらの任意の組み合わせ、のうちの少なくとも1つに、前記t個のボリュームを分配する、
ように構成されている、請求項1のシステム。
【請求項4】
前記少なくとも1つの第2のビットストリームと、前記少なくとも1つの第1と、第2と、第3のデータセットを形成することは、
前記1つ以上の第1のビットストリームと、前記少なくとも1つの第1と、第2のデータセットとにおける元の情報の完全性がそのまま損なわれないように、前記元の情報を変更して、前記変更された情報が、前記元の情報の特性と異なる特性を備えるようにすること、を含む、請求項1のシステム。
【請求項5】
前記コンピューティングデバイスは、前記t個のボリュームを擬似ランダムなやり方で分配するように構成されている、請求項1のシステム。
【請求項6】
前記複数の分散した記憶位置は、
複数のローカル記憶位置、
複数のリモート記憶位置、又は、
これらの任意の組み合わせ、
を含む、請求項1のシステム。
【請求項7】
前記コンピューティングデバイスは、前記複数の分散したデータ記憶位置をランダム又は擬似ランダムなやり方で選択するように更に構成されている、請求項1のシステム。
【請求項8】
前記コンピューティングデバイスは、
記憶空間の割り振りの検討、
トラフィックフローの検討、
ネットワークの輻輳の検討、
ネットワークルーティングの検討、
ファイル特性の検討、
パケットタイプの検討、
通信プロトコルの検討、
ネットワーク管理の検討、又は、
これらの任意の組み合わせ、
のうちの少なくとも1つに従って、前記分散したデータ記憶位置を選択するように構成されている、請求項1のシステム。
【請求項9】
1つ以上の有線又は無線ノードによる送信は、
複数の光ファイバストランド、
少なくとも1本の光ファイバストランド内の複数のラムダ、
少なくとも1つの無線アクセスポイントにおける複数の周波数、
電力線ブロードバンド(BPL)の送信機器を備えた複数の電力線、
1つ以上のBPLアクセスポイントにおける複数の周波数、又は、
これらの任意の組み合わせ、
のうちの少なくとも1つによって行われる、請求項3のシステム。
【請求項10】
送信及び/又は記憶される情報は、マルチメディア情報を含む、請求項1のシステム。
【請求項11】
送信及び/又は記憶される情報は、
(a)指導プログラム及び教材と、通信教育学習コースと、教育カリキュラム、
(b)診療記録及び記録文書、処方箋及び処方箋の記録、リサーチデータ、且つ/或いは診断画像及び情報、
(c)金融取引処理活動についてのデータと、金融取引処理記録と、資金の預金高と、資金の記録文書、
(d)グローバルに分散したユーザ及びデバイス間における、双方向オーディオ及び/又はビジュアル通信についてのデータ、
(e)リモートデバイス及びソフトウェアの双方向通信と、制御と、監視とについてのデータ、若しくは、
(a)、(b)、(c)、(d)、又は(e)の任意の組み合わせ、
のうちの何れかを含む、請求項1のシステム。
【請求項12】
前記コンピューティングデバイスは、前記t個のボリュームを形成した後で、前記t個のボリュームを暗号で変更するように構成されている、請求項1のシステム。
【請求項13】
前記t個のボリュームのうちの個々のボリュームの元の記憶位置に、前記個々のボリュームが記憶されないように、前記コンピューティングデバイスは、前記t個のボリュームに対する記憶位置の割り当てをランダム化するように構成されている、請求項1のシステム。
【請求項14】
前記コンピューティングデバイスは、ランダム又は決定論的に決定された間隔で、複数の記憶位置間で前記t個のボリュームを再配置するように構成されている、請求項1のシステム。
【請求項15】
第1のネットワーク接続されたデバイスを含む、複数のネットワーク接続されたデバイス間で、データの送信期間にわたって帯域幅を節約するシステムであって、
前記第1のネットワーク接続されたデバイスは、
1つ以上のデータ配列にデータを記憶するように構成された少なくとも1つのメモリコンポーネントを含んでおり、
前記第1のネットワーク接続されたデバイスは、
対応するデータ配列中のデータを参照するポインタを形成して、
前記ポインタを第2のネットワーク接続されたデバイスに、通信ネットワークを渡って転送するように構成されており、
前記第2のネットワーク接続されたデバイスは、
前記第2のネットワーク接続されたデバイスに記憶されている1つ以上のデータ配列に記憶されているデータを、前記転送されたポインタを使用して参照するように構成されている、
システム。
【請求項16】
前記1つ以上のデータ配列は、
固定長のストリング、
可変長のストリングに対するポインタ、
整数、
実数、
内部ポインタ、
別のデータ配列に対する外部ポインタ、
ソフトウェアプログラムに対する外部ポインタ、
コードブロック、
コードブロックの要素、
実行可能命令、
実行可能命令の要素、
コードブロック又は実行可能命令を初期設定する、1つ以上のパラメータ及び/又は引き数、或いは、
これらの任意の組み合わせ、
のうちの少なくとも1つを含む、請求項15のシステム。
【請求項17】
形成された前記ポインタは、二次元のポインタである、請求項15のシステム。
【請求項18】
形成されて送信された前記ポインタは、リモートデバイス及び/又はソフトウェアを制御及び/又は監視する少なくとも1つの命令を伝える、請求項15のシステム。
【請求項19】
ディジタル情報を安全に記憶及び送信する方法であって、
入力デバイスから、1つ以上の第1のビットストリームの少なくとも一部分を受信するステップと、
構文解析モジュールを使って、前記1つ以上の第1のビットストリームの前記少なくとも一部分を構文解析して、1つ以上の第1のデータセットを形成するステップと、
圧縮モジュールを使って、前記1つ以上の第1のデータセットを圧縮して、1つ以上の第2のデータセットを形成するステップと、
暗号化モジュールを使って、前記1つ以上の第2のデータセットを暗号で変更して、1つ以上の第3のデータセットを形成して、次の(a)、(b)、又は(c)のうちの何れか、即ち、
(a)アセンブリモジュールを使用して、前記1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成して、前記少なくとも1つの第2のビットストリームを1つ以上のデータ記憶デバイスに出力することか、又は、
(b)アセンブリモジュールを使用して、前記1つ以上の第3のデータセットをアセンブルして、少なくとも1つの第2のビットストリームを形成して、前記少なくとも1つの第2のビットストリームを1つ以上のネットワークデータ送信デバイスに出力することか、又は、
(c)逆アセンブリモジュールを使用して、前記1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、少なくとも1つの第2のビットストリームの一部として、t個のボリュームを形成して、m<tである場合に、m個のボリュームが完全なデータセットを含むようにして、
分配モジュールを使って、完全なデータセットが1つの記憶位置に記憶されないように、前記t個のボリュームを1本以上の送信経路の全体に分配して、複数の分散した記憶位置の全体に前記t個ボリュームを記憶すること、
のうちの何れかを行なうか、或いは、
両者を行なうステップ、
を含む、方法。
【請求項20】
前記圧縮して、暗号で変更して、逆アセンブルして、分配するルーチンは、1つのルーチン又はモジュールによって達成される、請求項19の方法。
【請求項21】
前記構文解析した後で、前記1つ以上の第1のビットストリームの少なくとも一部分を保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
前記圧縮した後で、前記1つ以上の第1のデータセットを保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
前記暗号で変更した後で、前記1つ以上の第2のデータセットを保持している1つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
を更に含む、請求項19の方法。
【請求項22】
前記少なくとも1つの第2のビットストリームを出力するか、或いは、
有線ネットワーク、無線ネットワーク、有線ネットワークノード、無線ネットワークノード、又はこれらの任意の組み合わせ、のうちの少なくとも1つに、前記t個のボリュームを分配するステップ、
を更に含む、請求項19の方法。
【請求項23】
前記少なくとも1つの第2のビットストリームと、前記少なくとも1つの第1と、第2と、第3のデータセットを形成することは、
前記1つ以上の第1のビットストリームと、前記少なくとも1つの第1と、第2のデータセットとにおける元の情報の完全性がそのまま損なわれないように、前記元の情報を変更して、前記変更された情報が、前記元の情報の特性と異なる特性を備えるようにすること、を含む、請求項19の方法。
【請求項24】
前記t個のボリュームを分配する前記ステップは、擬似ランダムなやり方で行なわれる、請求項19の方法。
【請求項25】
前記複数の分散した記憶位置は、
複数のローカル記憶位置、
複数のリモート記憶位置、又は、
これらの任意の組み合わせ、
を含む、請求項19の方法。
【請求項26】
選択モジュールを使用して、
記憶空間の割り振りの検討、
トラフィックフローの検討、
ネットワークの輻輳の検討、
ネットワークルーティングの検討、
ファイル特性の検討、
パケットタイプの検討、
通信プロトコルの検討、
ネットワーク管理の検討、又は、
これらの任意の組み合わせ、
のうちの少なくとも1つに従って、前記分散したデータ記憶位置を選択するステップ、を更に含む、請求項19の方法。
【請求項27】
前記1つ以上の第3のデータセットを複数のデータブロックに逆アセンブルして、t個のボリュームを形成した後で、暗号で変更する、請求項19の方法。
【請求項28】
複数のネットワーク接続されたデバイス間で、データの送信期間にわたって帯域幅を節約する方法であって、
通信ネットワークに接続された、第1のネットワーク接続されたデバイスの少なくとも1つのメモリコンポーネントに、1つ以上のデータ配列を記憶するステップと、
対応するデータ配列中のデータを参照するポインタを形成するステップと、
前記ポインタを第2のネットワーク接続されたデバイスに、前記通信ネットワークを渡って転送するステップと、
を含み、
前記第2のネットワーク接続されたデバイスは、
前記第2のネットワーク接続されたデバイスに記憶されている1つ以上のデータ配列に記憶されているデータを、前記転送されたポインタを使用して参照するように構成されている、
方法。
【請求項29】
形成されて送信された前記ポインタは、リモートデバイス及び/又はソフトウェアを制御及び/又は監視する少なくとも1つの命令を伝える、請求項28の方法。
【請求項30】
前記1つ以上のデータ配列は、
固定長のストリング、
可変長のストリングに対するポインタ、
整数、
実数、
内部ポインタ、
別のデータ配列に対する外部ポインタ、
ソフトウェアプログラムに対する外部ポインタ、
コードブロック、
コードブロックの要素、
実行可能命令、
実行可能命令の要素、
コードブロック又は実行可能命令を初期設定する、1つ以上のパラメータ及び/又は引き数、或いは、
これらの任意の組み合わせ、
のうちの少なくとも1つを含む、請求項28の方法。
【請求項31】
生成された前記ポインタは、二次元のポインタである、請求項28の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2012−529086(P2012−529086A)
【公表日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2012−513325(P2012−513325)
【出願日】平成22年5月28日(2010.5.28)
【国際出願番号】PCT/US2010/036703
【国際公開番号】WO2010/138898
【国際公開日】平成22年12月2日(2010.12.2)
【出願人】(511289426)ビッツプレイ・コーポレーション (1)
【氏名又は名称原語表記】BITSPRAY CORPORATION
【住所又は居所原語表記】P.O.Box 1313, Clinton, Mississippi 39060, United States of America
【Fターム(参考)】