(57)【要約】  ディジタル情報を安全に記憶及び送信するシステム及び方法は、ネットワークデバイス又は記憶デバイスのうちの少なくとも一方、或いは両者に接続されたコンピューティングデバイスを含む。更に、システム及び方法は、前記少なくとも一方のネットワークデバイス又は前記少なくとも一方の記憶デバイス、或いは両者に接続された通信ネットワークを含む。システム及び方法は、コンピューティングデバイスを含み、コンピューティングデバイスは、入力デバイスから、１つ以上の第１のビットストリームの少なくとも一部分を受信するように構成されていて、１つ以上の第１のビットストリームの少なくとも一部分を構文解析して、１つ以上の第１のデータセットを形成するように構成されていて、１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成するように構成されていて、１つ以上の第２のデータセットを暗号で変更して、１つ以上の第３のデータセットを形成するように構成されていて、１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成するように構成されていて、少なくとも１つの第２のビットストリームを複数の部分に分配して、分配された部分の全てのうちの任意の最小数が、完全な第２のビットストリームを含むように構成されていて、分配された部分の全てを、１つ以上のローカル及びリモートデータ記憶デバイスに出力するように構成されている。【選択図】    図１
2012529086.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル情報を安全に記憶及び送信するシステムであって、
ネットワークデバイス又は記憶デバイスのうちの少なくとも一方、或いは両者に接続されたコンピューティングデバイスと、
前記少なくとも一方のネットワークデバイス又は前記少なくとも一方の記憶デバイス、或いは両者に接続された通信ネットワークと、
を含み、
前記コンピューティングデバイスは、
入力デバイスから、１つ以上の第１のビットストリームの少なくとも一部分を受信して、
前記１つ以上の第１のビットストリームの前記少なくとも一部分を構文解析して、１つ以上の第１のデータセットを形成して、
前記１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成して、
前記１つ以上の第２のデータセットを暗号で変更して、１つ以上の第３のデータセットを形成して、
次の（ａ）、（ｂ）、又は（ｃ）のうちの何れか、即ち、
（ａ）前記１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成して、前記少なくとも１つの第２のビットストリームを１つ以上のデータ記憶デバイスに出力することか、又は、
(ｂ)前記１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成して、前記少なくとも１つの第２のビットストリームを１つ以上のネットワークデータ送信デバイスに出力することか、又は、
(ｃ)前記１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、少なくとも１つの第２のビットストリームの一部として、ｔ個のボリュームを形成して、ｍ＜ｔである場合に、ｍ個のボリュームが完全なデータセットを含むようにして、
完全なデータセットが１つの記憶位置に記憶されないように、前記ｔ個のボリュームを１本以上の送信経路の全体に分配して、複数の分散した記憶位置の全体に前記ｔ個のボリュームを記憶すること、
のうちの何れかを行なうか、或いは、
前記（ａ）、（ｂ）、又は（ｃ）の任意の組み合わせを行なう、
ように構成されている、システム。
【請求項２】
前記コンピューティングデバイスは、
前記構文解析した後で、前記１つ以上の第１のビットストリームの少なくとも一部分を保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きして、
前記圧縮した後で、前記１つ以上の第１のデータセットを保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きして、
前記暗号で変更した後で、前記１つ以上の第２のデータセットを保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きする、
ように更に構成されている、請求項１のシステム。
【請求項３】
前記コンピューティングデバイスは、
前記少なくとも１つの第２のビットストリームを出力するか、或いは、
有線ネットワーク、無線ネットワーク、有線ネットワークノード、無線ネットワークノード、又はこれらの任意の組み合わせ、のうちの少なくとも１つに、前記ｔ個のボリュームを分配する、
ように構成されている、請求項１のシステム。
【請求項４】
前記少なくとも１つの第２のビットストリームと、前記少なくとも１つの第１と、第２と、第３のデータセットを形成することは、
前記１つ以上の第１のビットストリームと、前記少なくとも１つの第１と、第２のデータセットとにおける元の情報の完全性がそのまま損なわれないように、前記元の情報を変更して、前記変更された情報が、前記元の情報の特性と異なる特性を備えるようにすること、を含む、請求項１のシステム。
【請求項５】
前記コンピューティングデバイスは、前記ｔ個のボリュームを擬似ランダムなやり方で分配するように構成されている、請求項１のシステム。
【請求項６】
前記複数の分散した記憶位置は、
複数のローカル記憶位置、
複数のリモート記憶位置、又は、
これらの任意の組み合わせ、
を含む、請求項１のシステム。
【請求項７】
前記コンピューティングデバイスは、前記複数の分散したデータ記憶位置をランダム又は擬似ランダムなやり方で選択するように更に構成されている、請求項１のシステム。
【請求項８】
前記コンピューティングデバイスは、
記憶空間の割り振りの検討、
トラフィックフローの検討、
ネットワークの輻輳の検討、
ネットワークルーティングの検討、
ファイル特性の検討、
パケットタイプの検討、
通信プロトコルの検討、
ネットワーク管理の検討、又は、
これらの任意の組み合わせ、
のうちの少なくとも１つに従って、前記分散したデータ記憶位置を選択するように構成されている、請求項１のシステム。
【請求項９】
１つ以上の有線又は無線ノードによる送信は、
複数の光ファイバストランド、
少なくとも１本の光ファイバストランド内の複数のラムダ、
少なくとも１つの無線アクセスポイントにおける複数の周波数、
電力線ブロードバンド（ＢＰＬ）の送信機器を備えた複数の電力線、
１つ以上のＢＰＬアクセスポイントにおける複数の周波数、又は、
これらの任意の組み合わせ、
のうちの少なくとも１つによって行われる、請求項３のシステム。
【請求項１０】
送信及び／又は記憶される情報は、マルチメディア情報を含む、請求項１のシステム。
【請求項１１】
送信及び／又は記憶される情報は、
（ａ）指導プログラム及び教材と、通信教育学習コースと、教育カリキュラム、
（ｂ）診療記録及び記録文書、処方箋及び処方箋の記録、リサーチデータ、且つ／或いは診断画像及び情報、
（ｃ）金融取引処理活動についてのデータと、金融取引処理記録と、資金の預金高と、資金の記録文書、
（ｄ）グローバルに分散したユーザ及びデバイス間における、双方向オーディオ及び／又はビジュアル通信についてのデータ、
（ｅ）リモートデバイス及びソフトウェアの双方向通信と、制御と、監視とについてのデータ、若しくは、
（ａ）、（ｂ）、（ｃ）、（ｄ）、又は（ｅ）の任意の組み合わせ、
のうちの何れかを含む、請求項１のシステム。
【請求項１２】
前記コンピューティングデバイスは、前記ｔ個のボリュームを形成した後で、前記ｔ個のボリュームを暗号で変更するように構成されている、請求項１のシステム。
【請求項１３】
前記ｔ個のボリュームのうちの個々のボリュームの元の記憶位置に、前記個々のボリュームが記憶されないように、前記コンピューティングデバイスは、前記ｔ個のボリュームに対する記憶位置の割り当てをランダム化するように構成されている、請求項１のシステム。
【請求項１４】
前記コンピューティングデバイスは、ランダム又は決定論的に決定された間隔で、複数の記憶位置間で前記ｔ個のボリュームを再配置するように構成されている、請求項１のシステム。
【請求項１５】
第１のネットワーク接続されたデバイスを含む、複数のネットワーク接続されたデバイス間で、データの送信期間にわたって帯域幅を節約するシステムであって、
前記第１のネットワーク接続されたデバイスは、
１つ以上のデータ配列にデータを記憶するように構成された少なくとも１つのメモリコンポーネントを含んでおり、
前記第１のネットワーク接続されたデバイスは、
対応するデータ配列中のデータを参照するポインタを形成して、
前記ポインタを第２のネットワーク接続されたデバイスに、通信ネットワークを渡って転送するように構成されており、
前記第２のネットワーク接続されたデバイスは、
前記第２のネットワーク接続されたデバイスに記憶されている１つ以上のデータ配列に記憶されているデータを、前記転送されたポインタを使用して参照するように構成されている、
システム。
【請求項１６】
前記１つ以上のデータ配列は、
固定長のストリング、
可変長のストリングに対するポインタ、
整数、
実数、
内部ポインタ、
別のデータ配列に対する外部ポインタ、
ソフトウェアプログラムに対する外部ポインタ、
コードブロック、
コードブロックの要素、
実行可能命令、
実行可能命令の要素、
コードブロック又は実行可能命令を初期設定する、１つ以上のパラメータ及び／又は引き数、或いは、
これらの任意の組み合わせ、
のうちの少なくとも１つを含む、請求項１５のシステム。
【請求項１７】
形成された前記ポインタは、二次元のポインタである、請求項１５のシステム。
【請求項１８】
形成されて送信された前記ポインタは、リモートデバイス及び／又はソフトウェアを制御及び／又は監視する少なくとも１つの命令を伝える、請求項１５のシステム。
【請求項１９】
ディジタル情報を安全に記憶及び送信する方法であって、
入力デバイスから、１つ以上の第１のビットストリームの少なくとも一部分を受信するステップと、
構文解析モジュールを使って、前記１つ以上の第１のビットストリームの前記少なくとも一部分を構文解析して、１つ以上の第１のデータセットを形成するステップと、
圧縮モジュールを使って、前記１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成するステップと、
暗号化モジュールを使って、前記１つ以上の第２のデータセットを暗号で変更して、１つ以上の第３のデータセットを形成して、次の（ａ）、（ｂ）、又は（ｃ）のうちの何れか、即ち、
（ａ）アセンブリモジュールを使用して、前記１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成して、前記少なくとも１つの第２のビットストリームを１つ以上のデータ記憶デバイスに出力することか、又は、
(ｂ)アセンブリモジュールを使用して、前記１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成して、前記少なくとも１つの第２のビットストリームを１つ以上のネットワークデータ送信デバイスに出力することか、又は、
(ｃ)逆アセンブリモジュールを使用して、前記１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、少なくとも１つの第２のビットストリームの一部として、ｔ個のボリュームを形成して、ｍ＜ｔである場合に、ｍ個のボリュームが完全なデータセットを含むようにして、
分配モジュールを使って、完全なデータセットが１つの記憶位置に記憶されないように、前記ｔ個のボリュームを１本以上の送信経路の全体に分配して、複数の分散した記憶位置の全体に前記ｔ個ボリュームを記憶すること、
のうちの何れかを行なうか、或いは、
両者を行なうステップ、
を含む、方法。
【請求項２０】
前記圧縮して、暗号で変更して、逆アセンブルして、分配するルーチンは、１つのルーチン又はモジュールによって達成される、請求項１９の方法。
【請求項２１】
前記構文解析した後で、前記１つ以上の第１のビットストリームの少なくとも一部分を保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
前記圧縮した後で、前記１つ以上の第１のデータセットを保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
前記暗号で変更した後で、前記１つ以上の第２のデータセットを保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きするステップと、
を更に含む、請求項１９の方法。
【請求項２２】
前記少なくとも１つの第２のビットストリームを出力するか、或いは、
有線ネットワーク、無線ネットワーク、有線ネットワークノード、無線ネットワークノード、又はこれらの任意の組み合わせ、のうちの少なくとも１つに、前記ｔ個のボリュームを分配するステップ、
を更に含む、請求項１９の方法。
【請求項２３】
前記少なくとも１つの第２のビットストリームと、前記少なくとも１つの第１と、第２と、第３のデータセットを形成することは、
前記１つ以上の第１のビットストリームと、前記少なくとも１つの第１と、第２のデータセットとにおける元の情報の完全性がそのまま損なわれないように、前記元の情報を変更して、前記変更された情報が、前記元の情報の特性と異なる特性を備えるようにすること、を含む、請求項１９の方法。
【請求項２４】
前記ｔ個のボリュームを分配する前記ステップは、擬似ランダムなやり方で行なわれる、請求項１９の方法。
【請求項２５】
前記複数の分散した記憶位置は、
複数のローカル記憶位置、
複数のリモート記憶位置、又は、
これらの任意の組み合わせ、
を含む、請求項１９の方法。
【請求項２６】
選択モジュールを使用して、
記憶空間の割り振りの検討、
トラフィックフローの検討、
ネットワークの輻輳の検討、
ネットワークルーティングの検討、
ファイル特性の検討、
パケットタイプの検討、
通信プロトコルの検討、
ネットワーク管理の検討、又は、
これらの任意の組み合わせ、
のうちの少なくとも１つに従って、前記分散したデータ記憶位置を選択するステップ、を更に含む、請求項１９の方法。
【請求項２７】
前記１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、ｔ個のボリュームを形成した後で、暗号で変更する、請求項１９の方法。
【請求項２８】
複数のネットワーク接続されたデバイス間で、データの送信期間にわたって帯域幅を節約する方法であって、
通信ネットワークに接続された、第１のネットワーク接続されたデバイスの少なくとも１つのメモリコンポーネントに、１つ以上のデータ配列を記憶するステップと、
対応するデータ配列中のデータを参照するポインタを形成するステップと、
前記ポインタを第２のネットワーク接続されたデバイスに、前記通信ネットワークを渡って転送するステップと、
を含み、
前記第２のネットワーク接続されたデバイスは、
前記第２のネットワーク接続されたデバイスに記憶されている１つ以上のデータ配列に記憶されているデータを、前記転送されたポインタを使用して参照するように構成されている、
方法。
【請求項２９】
形成されて送信された前記ポインタは、リモートデバイス及び／又はソフトウェアを制御及び／又は監視する少なくとも１つの命令を伝える、請求項２８の方法。
【請求項３０】
前記１つ以上のデータ配列は、
固定長のストリング、
可変長のストリングに対するポインタ、
整数、
実数、
内部ポインタ、
別のデータ配列に対する外部ポインタ、
ソフトウェアプログラムに対する外部ポインタ、
コードブロック、
コードブロックの要素、
実行可能命令、
実行可能命令の要素、
コードブロック又は実行可能命令を初期設定する、１つ以上のパラメータ及び／又は引き数、或いは、
これらの任意の組み合わせ、
のうちの少なくとも１つを含む、請求項２８の方法。
【請求項３１】
生成された前記ポインタは、二次元のポインタである、請求項２８の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２００９年５月２９日に出願された米国仮出願６１／２１３，３３６に基づいており、この出願日の恩恵を得ている。米国仮出願６１／２１３，３３６の全ての内容は、参照によってここに取り込まれている。
【０００２】
本開示は、通信ネットワークによる情報の記憶及び送信の分野に関し、より具体的には、通信ネットワークによる情報の安全な記憶及び送信と、情報の送信速度を増すことに関する。
【図面の簡単な説明】
【０００３】
【図１】開示された実施形態に従って、情報を安全に送信及び記憶するシステム１００の概略図である。
【図２】開示された実施形態に従って、情報を安全に送信及び記憶するクラウドコンピューティングシステム２００の概略図である。
【図３】開示された実施形態に従って、ディジタル情報を安全に送信及び記憶する方法３００のフローチャートである。
【図４】開示された実施形態に従って、複数のネットワーク接続されたデバイス間におけるデータの送信期間にわたって帯域幅を節約する方法４００のフローチャートである。
【発明を実施するための形態】
【０００４】
一般に、この開示は、ディジタル情報を安全に送信して、記憶して、ディジタル情報の送信レートを上げる、システム及び方法に関する。ディジタル情報は、任意の通信ネットワークを渡って送信される情報を含み得る。通信ネットワークは、例えば、データネットワークを含み得る。データネットワークは、例えば、ローカルエリアネットワーク（Local Area Network, LAN）、都市圏ネットワーク（Metropolitan Area Network, MAN）、広域ネットワーク（Wide Area Network, WAN）、セルラネットワーク、電力線ネットワーク、衛星回線ネットワーク、又はこれらの任意の組み合わせである。更に、このようなネットワークに対する送信媒体は、有線又は無線であり得る。情報は、それ自体で、音声情報、データ情報、マルチメディア情報、又は通信ネットワークを渡って送信できる任意の他のこのような情報を表し得る。以下で説明するように、本開示は、ソフトウェアプログラム、ハードウェアデバイス、又はこれらの任意の組み合わせとして実施され得る。
【０００５】
高いレベルにおいて、この開示は、１つ以上のコンピューティングデバイスで実行される少なくとも１つのソフトウェアプログラムに関する。ソフトウェアプログラムは、エンドツーエンドの情報の記憶及び送信の解決策を提供するアルゴリズムを実施する。この解決策は、情報を複数のデータセットに構文解析（parse）して、データセットを圧縮して、無許可の使用に対してデータセットを判読不能にすることによって、ディジタル情報に作用する。更に、プログラムは、データセットをデータブロックに分割して、データブロックを決定論的又は非決定論的なやり方で分配して、１つ以上の変更されたデータストリーム又はデータセットを生成し得る。これらのデータセットは、揮発性又は不揮発性の記憶媒体における複数のローカル及び／又はリモートの記憶位置に記憶されるか、或いは有線又は無線ネットワークによって送信される。１つ以上の変更されたデータストリーム又はデータセットは、無許可の使用に対して判読不能な高圧縮状態に常に維持される。
【０００６】
この中で使用されている「決定論的（deterministic）」という用語は、データを逆アセンブル及び／又は分配する特性を計画的に予め決定することを意味し得る。例えば、データのタイプ、例としてＡＳＣＩＩテキスト又はビデオストリーム、或いはデバイスの制御情報、或いはプログラム又はプログラムセグメント、例としてコードブロックに応じて、情報は、ビット、ニブル、バイト、又はより大きなサイズのデータブロックに逆アセンブルされ得る。更に、この開示中のどこかに記載されているように、逆アセンブリは、圧縮技術又は暗号化技術向上させる、等のために行なわれ得る。その代わりに、ネットワーク送信の様式を向上させる、即ち送信レートを高めるか、又は異なる記憶条件に適応させるようなやり方で、情報は逆アセンブル及び分配され得る。例えば、スマートフォンのような独立型デバイスにデータを記憶することとは対照的に、データは、ストレージ接続型ネットワーク（Storage Attached network, SAN）又はネットワーク接続型ストレージ（Network Attached Storage, NAS）の構成に記憶され得る。別の実施形態では、技術的な問題又は様々な制約を克服するように、例えば、電力線ブロードバンドネットワークにおける電気的干渉又は無線ネットワークにおける大気の乱れを弱めたり、或いは全ての通信デバイスが同時にオンラインであるとは考えられない場合に、軍隊及び警察のアドホック無線（ad hoc radio）と他のこのようなデータ送信とに影響を及ぼすものを弱めたりするように、情報は逆アセンブル及び分配され得る。代わりの実施形態では、他のこのような不測の事態が時々発生する場合があり、データブロックを決定論的に分配することが必要であり得る。
【０００７】
この中で使用されている「非決定論的（non-deterministic）」という用語は、擬似乱数のやり方で、例えば、乱数を生成して、逆アセンブルされたデータを、その乱数の英数字列に関連付けることによって、ビット、ニブル、バイト、又は様々なサイズのデータブロックのようなデータを、逆アセンブル及び／又は分配する手順に該当し得る。更に、非決定論的な逆アセンブリ及び分配は、乱数を使用することなくデータの逆アセンブリ及び／又は分配のタスクを達成し得る何らかのメカニズム又はアルゴリズムの当然の結果として、決定論的に適用される場合もある。プロセス又は手順を使用する決定は、真に非決定論的（ランダム）であり得る。一方で、これらの手順が指定されると、元のデータの構造的完全性が失われないので、プロセス又は手順によって元のデータを変更する全ての操作は、本質的に決定論的であり得る。
【０００８】
この中で使用されている「ブロック」という用語は、ビット、ニブル、及び／又はバイトのグループを意味し得る。これらのグループは、例えばそれぞれ１６バイトのような、一様なサイズを有している場合もあり、又は一様なサイズを有していない場合もある。
【０００９】
開示されている技術によって処理される情報は、圧縮状態で維持され得るので、この圧縮情報は、無許可の使用に対して常に判読不能なままでありながら、所定のネットワーク又はネットワークセグメントに対する、最大データ送信レートよりもかなり高いデータ送信レートで双方向に送信できる。一般に、最大データ送信レートは、例えばシャノン−ハートレーの定理のような定理によって予測される。
【００１０】
本開示は、ソフトウェア、ハードウェア、又は両者で実施され得る。１つの実施形態では、本開示と一致するアルゴリズムを具現するソフトウェアの形式で、本開示が実施され得る。更に、アルゴリズムは、例えば、同軸ケーブル、光ファイバケーブル、及び電力線のような異なる送信媒体を使用する全てのタイプの有線ネットワークと、使用される送信標準のタイプに基づいて異なる周波数で動作する全てのタイプの無線ネットワークとにおいて機能するように構成され得る。上述のように、送信媒体を知ることができない（agnostic）のに加えて、アルゴリズムは、通信プロトコルも知ることができない。即ち、このアルゴリズムは、任意の通信プロトコル又は標準を使用する通信ネットワークにおいて実施できることを意味する。任意の通信プロトコル又は標準は、データネットワークにおけるＩＰ、ディーセント（Decent)、アップルトーク（AppleTalk）、イーサネット（登録商標）、セルラネットワークにおけるＧＳＭ（登録商標）又はＣＤＭＡ、或いは他の何らかのこのようなプロトコル又は標準である。
【００１１】
図１は、開示されている実施形態に従って、情報を安全に送信及び記憶するシステム１００の概略図を提供している。システム１００は、入力デバイス１１０と、ディスプレイデバイス１２０と、コンピューティングデバイス１３０と、ローカルデータコンピューティングデバイス１４０、１４２、１４４、１４６と、ローカルネットワーク１５０と、通信ネットワーク１６０と、リモートデータコンピューティングデバイス１７２、１７４、１７６、１７８とを含んでいる。
【００１２】
一般に、コンピューティングデバイス１３０は、入力デバイス１１０又はローカルネットワーク１５０から、データを受信するように構成されている。このデータは、１つ以上のビットストリームの形式で受信され得る。更に、コンピューティングデバイス１３０は、受信信号を１つ以上の第１のデータセットに構文解析して、１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成するよう構成され得る。更に、コンピューティングデバイス１３０は、１つ以上の第２のデータセットを暗号化して、１つ以上の第３のデータセットを形成し得る。更に、コンピューティングデバイス１３０は、１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成し得る。この第２のビットストリームは、ローカルネットワーク１５０及び／又は通信ネットワーク１６０を介して、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６の１つ以上及び／又はリモートコンピューティングデバイス１７２、１７４、１７６、１７８の１つ以上に出力され得る。更に又はその代わりに、コンピューティングデバイス１３０は、１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、「ｔ」個のボリュームを形成し得る。特に、１つ以上のブロックは、１つのボリュームの一部であり得る。
【００１３】
更に、「ｍ」＜「ｔ」である場合に、「ｔ」個のボリュームのうちの「ｍ」個が、完全なデータセットを含むようなやり方で、「ｔ」個のボリュームを形成する。更に、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６の任意の組み合わせ及び／又はリモートコンピューティングデバイス１７２、１７４、１７６、１７８の１つ以上に、「ｔ」個のボリュームが記憶され、最終的に、１つのコンピューティングデバイスが完全なデータセットを記憶しないように、コンピューティングデバイス１３０は、ローカルネットワーク１５０及び／又は通信ネットワーク１６０を通して、「ｔ」個のボリュームを分配するように構成され得る。「ｔ」と「ｍ」という用語は、単に、開示の特徴を説明するために使用されているだけであって、何らかのやり方における制限と見なされるべきではない。
【００１４】
入力デバイス１１０は、ユーザがデータをコンピューティングデバイス１３０に入力することを可能にする任意のデバイスであり得る。これは、例えば、ワークステーションのキーボード、ラップトップのキーボード、スマートフォンのキーボード、マウス、又はソフトウェア、即ち、音声コマンドを認識して、音声コマンドを、コンピューティングデバイス１３０によって読み出し可能なフォーマットに変換するソフトウェアを含み得る。ディスプレイ１２０は、例えば、ワークステーションのモニタ、ラップトップのモニタ、或いは、キーボードと物理的に統合されているモニタ、例えばスマートフォン又はラップトップのモニタを含み得る。入力デバイス１１０は、複数のやり方でディスプレイデバイス１２０に接続され得る。例えば、１つの実施形態では、このようなワークステーションの入力デバイス１１０は、コンピューティングデバイス１３０を介して、有線又は無線接続によって通信し得る。他方で、入力デバイス１１０と、ディスプレイデバイス１２０と、コンピューティングデバイス１３０とを、１つのシャーシ上に物理的に統合して、ラップトップ、スマートフォン、又は他の何らかのこのようなデバイスを形成してもよい。
【００１５】
コンピューティングデバイス１３０は、データを処理して、データを記憶及び／又は送信する任意のデバイスを含み得る。例えば、コンピューティングデバイスは、ワークステーション、ラップトップ、サーバ、スマートフォン、又は他の何らかのこのようなデバイスであって、開示されている実施形態に従って、情報を処理、記憶、及び／又は送信するソフトウェアプログラムを実行できるものを含み得る。コンピューティングデバイス１３０は、入力デバイス１１０から処理データを受信するポートと、ローカルネットワーク１５０から処理データを受信するポートとを含み得る。これらのポートは、ＵＳＢポート、ｃａｔ５ポート、同軸ポート、ファイバポート、又はディジタルデータを受信できる他の何らかのポートであり得る。
【００１６】
コンピューティングデバイス１３０は、ローカルネットワーク１５０を介して、１つ以上のローカルコンピューティングデバイス１４０、１４２、１４４、１４６に接続し得る。ローカルコンピューティングデバイス１４０、１４２、１４４、１４６がデータを処理、記憶、及び送信する能力を有している点で、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６はコンピューティングデバイス１３０に似ているかもしれない。最低でも、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６は、データを安全に記憶するように構成可能である。ローカルネットワーク１５０は、有線又は無線のローカルエリアネットワーク（ＬＡＮ）であり得る。この有線又は無線のＬＡＮは、ネットワークデバイスを含んでいる。ネットワークデバイスは、例えば、ハブと、スイッチと、ルータと、他の機器であって、ＬＡＮを操作するのに使用され得るものである。１つの実施形態では、ローカルネットワークは、ホームネットワーク、オフィスネットワーク、ホームオフィスネットワーク、又は他の何らかのネットワークであって、コンピューティングデバイスをローカルに接続するネットワークであり得る。
【００１７】
更に、ローカルネットワーク１５０を通して情報を送信する物理媒体は、光ファイバケーブル、同軸ケーブル、ｃａｔ５ケーブル、電力線ブロードバンド技術を使用する電力線、又はデータを送信できる他の何らかの有線媒体であり得る。代わりの実施形態では、ローカルネットワーク１５０は、データを送信できるセルラネットワーク又は無線データネットワークであり得る。ローカルネットワーク１５０はローカルエリアネットワークであり得るが、代わりの実施形態では、ローカルネットワーク１５０は、更に都市圏ネットワーク（「ＭＡＮ」）であってもよく、この開示の範囲に一致することが、当業者に分かるであろう。
【００１８】
リモートコンピューティングデバイス１７２、１７４、１７６、１７８も、データを記憶及び送信する能力を有しており、最低でも、データを安全に記憶するように構成可能である点で、リモートコンピューティングデバイス１７２、１７４、１７６、１７８は、コンピューティングデバイス１３０と、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６とに似ているかもしれない。上述の各コンピューティングデバイスは、中央処理ユニット（central processing unit, CPU）（示されていない）と、ランダムアクセスメモリ（Random Access Memory, RAM）（示されていない）と、読み出し専用メモリ（Read Only Memory, ROM）（示されていない）と、不揮発性メモリ（示されていない）と、揮発性メモリ（示されていない）とを含み得る。更に、これらのコンポーネントの各々は、この開示の範囲から逸脱することなく、同じ物理的シャーシ上にマウントされる場合もあり、又は複数のシャーシに分散される場合もある。
【００１９】
ローカルネットワーク１５０は、有線又は無線接続によって、通信ネットワーク１６０に接続し得る。１つの実施形態では、通信ネットワーク１６０は、インターネット又は他の何らかの広域ネットワーク、例えば、プライベートイントラネット、例として国防情報システム局（Defense Information Systems Agency, DISA）が所有しているもの、スマートリンク（Smartlink）と呼ばれる米国海軍のＷＡＮ、又は他の何らかのこのようなネットワークであり得る。
【００２０】
１つの実施形態では、コンピューティングデバイス１３０は、データの圧縮と、暗号化と、分配とを行なうように構成可能な制御装置を含み得る。制御装置は、上述の特徴を実現するのに必要なコンポーネントを含み得る。これらは、例えば、これらの特徴を実現し得るソフトウェア命令を実行するように構成された制御処理ユニットの少なくとも一部分と、これらのソフトウェア命令を記憶する１つ以上のメモリユニットの少なくとも一部分と、上述の特徴を実現するのに必要な他の何らかのコンポーネントとを含み得る。開示されている実施形態は、データの圧縮と、暗号化と、分配の特徴がソフトウェアのみで達成されることを記載しているが、代わりの実施形態では、この開示の範囲を逸脱することなく、専用のハードウェアを使用することによって、上述の特徴をハードウェアのみで達成できることが、当業者に分かるであろう。専用のハードウェアは、例えば、１つ以上の特定用途向け集積回路（application specific integrated circuit, ASIC）又は市販のハードウェアである。更に別の実施形態では、ハードウェアとソフトウェアとの組み合わせによって、上述の特徴が実現され得る。
【００２１】
１つの実施形態では、コンピューティングデバイス１３０上の制御装置は、入力デバイス１１０からデータを受信するように構成されている。このデータは、１つ以上のビットストリームの形式をとり得る。更に、制御装置は、受信信号をバッファに入れるように構成され得る。更に、制御装置は、受信されてバッファに入れられた１つ以上のビットストリームを、１つ以上の第１のデータセットに構文解析するように構成され得る。１つの実施形態では、この構文解析機能を行なう制御装置の一部分は、構文解析モジュールであり得る。構文解析モジュールは、既に記載したように、構文解析を行なうソフトウェア命令、構文解析を行なう１つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。この開示で使用されているデータセットは、固定サイズを有し、即ち固定数のビットを含む場合もあり、又は可変サイズを有し、即ち最大数のビットまでの可変数のビットを含む場合もある。１つの実施形態では、構文解析モジュールは、ソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであって、データが移動する場合に、ディジタル情報をビットストリームとして受信し、又はその代わりに、データが静止している場合に、ディジタル情報をビットストリームに変換するものであり得る。構文解析モジュールによって行なわれる構文解析のタイプは、コンピューティングデバイス１３０による考えられるディジタル情報のダウンストリーム処理によって決まり得る。例えば、分配する必要のあるデータを、分配する必要のないデータと対照的に、異なるように構文解析してもよい。その代わりに、決定論的に分配されるデータを、非決定論的に分配されるデータと異なるように構文解析してもよい。１つの実施形態では、数式に従って、ビットストリームを、一様な又は可変のサイズのビット、ニブル、バイト、又はバイトブロックに分割してもよい。様々な情報分配アルゴリズムによってブロックを構築するときに、これらの結果として得られたデータセットが使用され得る。様々な情報分配アルゴリズムは、例えば、アディシャミア（Adi Shamir）の秘密共有方式のマイケルラビン（Michael O'Rabin）アルゴリズムの実施である。更に、ビットストリームを１つ以上の第１のデータセットに構文解析した後で、これらのデータセットは、メモリのバッファに書き込まれるか、又は必要であれば、仮想メモリがアクティブである場合は、ディスクスワップファイルに書き込まれ得る。
【００２２】
更に、構文解析に加えて、コンピューティングデバイス１３０における制御装置は、１つ以上の元のビットストリームを保持している１つ以上のメモリ位置に、ランダム又は非ランダムなデータパターンで上書きし得る。この上書きを行なうと、元のデータビットに誰もアクセスできず、その結果、システム１００におけるデータのセキュリティを高めることを確実にし得る。１つの実施形態では、構文解析モジュールがビットストリームを１つ以上の第１のデータセットに処理した後で、別のスレッドで実行される補完的な方法により、ビットストリームによって占められている任意のファイル空間に、スクラブアルゴリズムを使用して上書きしてもよい。スクラブアルゴリズムは、ランダム又は非ランダムなデータパターンを、各メモリ位置に繰り返し書き込んで、ビットストリームによって占められているメモリ空間又はスワップファイル空間を非常にきれいにする。
【００２３】
更に、コンピューティングデバイス１３０における制御装置は、１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成するように構成され得る。１つの実施形態では、この圧縮機能を行なう制御装置の一部分は、圧縮モジュールであり得る。圧縮モジュールは、既に記載したように、圧縮を行なうソフトウェア命令、圧縮を行なう１つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。１つの実施形態では、圧縮モジュールは、ソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであって、例えばデータ圧縮ユーティリティのプールを含み得る。圧縮モジュールは、個々のデータの要求に対処するために、複数のアルゴリズムか、又は１つのアルゴリズム内に含まれている様々な特徴を選択し得る。圧縮モジュールによって使用され得る圧縮アルゴリズムのうちの幾つかは、ＬＺ７７と、ＰＡＱ８ＰＸと、ＬＺＭＡ（１）とを含む。更に、異なるタイプのデータに圧縮の特徴を与えるために、異なる圧縮アルゴリズムを選択してもよい。例えば、処理されるデータが、テキスト及び／又はＰＤＦファイルの形式である場合は、このようなデータを圧縮するために、圧縮モジュールはＬＺ７７アルゴリズムを選択し得る。他方で、ワード文書、エクセルファイル、又はビットマップファイルの形式でデータを圧縮するために、圧縮モジュールはＰＡＱ８ＰＸアルゴリズムを選択し得る。更に、画像ファイル又はｘｌｓファイルの形式でデータを圧縮するために、ＬＺＭＡ（１）アルゴリズムが選択され得る。
【００２４】
１つの実施形態では、ファイルのような情報を処理する場合に、ファイル名からファイルのタイプを抽出することによって、又はファイルを開いて、ファイルに含まれているデータのタイプを記載しているファイルヘッダ中のメタデータを抽出することによって、選択することができる。次に、圧縮モジュールは、このようなデータを圧縮するユーティリティを有することが分かっている適切なアルゴリズムを適用し得る。更に、コンピューティングデバイス１３０における制御装置は、ファイルのタイプ又はヘッダのメタデータを抽出することによって、ファイルが既に圧縮されているか、又は圧縮できないと考えられるので圧縮ステップを省いてもよいかを決定し得る。
【００２５】
１つの実施形態では、構文解析されたデータセットが十分に小さい場合は、構文解析されたデータセットを、１つのデータセットとして圧縮し得る。その代わりに、構文解析されたデータセットがより大きい場合は、構文解析されたデータセットを、より小さなデータのサブセットに分割して、より小さなデータのサブセットを個々に圧縮してもよい。
【００２６】
更に、コンピューティングデバイス１３０における制御装置は、１つ以上の第２のデータセットを暗号で変更して、１つ以上の第３のデータセットを形成するように構成され得る。１つの実施形態では、この暗号化機能を行なう制御装置の一部分は、暗号化モジュールであり得る。暗号化モジュールは、既に記載したように、暗号化を行なうソフトウェア命令、暗号化を行なう１つ以上のハードウェアコンポネント、又は両者の組み合わせであり得る。１つの実施形態では、暗号化モジュールは、既知の暗号化アルゴリズムのうちの任意の１つ又は組み合わせを使用して、データを暗号化し得る。既知の暗号化アルゴリズムは、例えば、ＡＥＳ−２５６、３ＤＥＳ、又はトゥーフィッシュ（Two Fish）である。更に、毎回異なる暗号化アルゴリズムを使用して、データを２回以上暗号化してもよい。例えば、最初にＡＥＳ−２５６を使って、データを暗号化して、次に３ＤＥＳ又は他の何らかの暗号化アルゴリズムを使って、データを暗号化してもよい。暗号化モジュールによって使用される暗号化アルゴリズムの各々は、データセットに含まれている情報を、無許可の使用に対して判読不能にするやり方で、１つ以上のデータセットを変更し得る。１つの実施形態では、構文解析と、圧縮と、暗号化と、分配のモジュールは、これらの機能を全て組み込んだ単一のアルゴリズムの一部であり得ることが、当業者に分かるであろう。
【００２７】
更に、本開示と一致する実施形態では、コンピューティングデバイス１３０における制御装置は、１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成し得る。第２のビットストリームは、入力デバイス１１０から受信した元の第１のビットストリームの情報と本質的に同じ情報を含んでいるが、第２のビットストリームは、構文解析されて、圧縮されて、暗号化されており、従って、無許可の使用に対して情報を判読不能にしている。コンピューティングデバイス１３０における制御装置は、この第２のビットストリームを、ローカルネットワーク１５０及び／又は通信ネットワーク１６０を介して、ローカルデバイス１４０、１４２、１４４、１４６及びリモートコンピューティングデバイス１７２、１７４、１７６、１７８の任意の組み合わせに出力するように構成され得る。
【００２８】
第２のビットストリームを出力するためにコンピューティングデバイス１３０によって使用される転送機構は、コンピューティングデバイス１３０と、ローカルデバイス１４０、１４２、１４４、１４６と、リモートコンピューティングデバイス１７２、１７４、１７６、１７８との間における接続のタイプによって決まり得る。例えば、１つの実施形態では、コンピューティングデバイス１３０が、イーサネット（登録商標）のネットワークであるローカルネットワーク１５０を介して、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６に接続するならば、コンピューティングデバイス１３０は、第２のビットストリームを、データリンク層においてイーサネット（登録商標）のフレームとして出力し得る。更に、１つの実施形態では、通信ネットワーク１６０がＴＣＰ／ＩＰネットワークである場合に、コンピューティングデバイス１３０が、ローカルネットワーク１５０に加えて、通信ネットワーク１６０を介して、リモートコンピューティングデバイス１７２、１７４、１７６、１７８に接続するならば、コンピューティングデバイス１３０は、第２のビットストリームを、ネットワーク及びトランスポート層においてＴＣＰ／ＩＰフレームとして出力し得る。更に、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６及び／又はリモートコンピューティングデバイス１７２、１７４、１７６、１７８は、このようなデータを保持するように構成可能な任意のメモリユニットに、第２のビットストリームを記憶し得る。更に、コンピューティングデバイス１３０と、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６と、リモートコンピューティングデバイス１７２、１７４、１７６、１７８は、各々、ネットワーク接続コンポーネント（示されていない）を含み得る。ネットワーク接続コンポーネントは、コンピューティングデバイスを、ローカルネットワーク１５０又は通信ネットワーク１６０に接続するものであって、例えばイーサネット（登録商標）カードである。
【００２９】
代わりの実施形態では、コンピューティングデバイス１３０における制御装置は、１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、少なくとも１つの第２のビットストリームの一部として、「ｔ」個のボリューム又は「ｔ」個のデータストリームを形成し得る。特に、１つ以上のブロックは、１つのボリュームの一部であり得る。データセットと同様に、データブロックは、固定サイズを有する、即ち固定数のビットを保持していてもよく、又は可変サイズを有していてもよい。従って、本開示の範囲から逸脱することなく、当業者に適した任意のやり方で、データブロックを構成することができる。更に、１つのボリュームが、１つ以上のデータブロックを保持するように構成され得る。従って、ボリュームのサイズは、本開示の範囲から逸脱することなく、当業者によって構成可能である。更に、「ｍ」＜「ｔ」である場合に、「ｔ」個のボリュームのうちの「ｍ」個が、完全なデータセットを含むようなやり方で、「ｔ」個のボリュームを形成する。「ｔ」と「ｍ」の値は、本開示と一致する技術のユーザによって選択可能である。
【００３０】
従って、例えば、ユーザは、本開示と一致する技術を使用して、元のビットストリームを、８個のボリュームを有する少なくとも１つの第２のビットストリームに変更して、これらの８個のボリュームのうちの２個が、完全なデータセットを含むように決定してもよい。他方で、ユーザは、本開示と一致する技術を使用して、元のビットストリームを、４個のボリュームを有する少なくとも１つの第２のビットストリームに変更して、これらの４個のボリュームのうちの２個が、完全なデータセットを含むように決定してもよい。
【００３１】
更に、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６の任意の組み合わせ及び／又はリモートコンピューティングデバイス１７２、１７４、１７６、１７８の１つ以上に、「ｔ」個のボリュームが記憶され、最終的に、１つのコンピューティングデバイスが完全なデータセットを記憶しないように、コンピューティングデバイス１３０における制御装置は、ローカルネットワーク１５０及び／又は通信ネットワーク１６０を通して、「ｔ」個のボリュームを分配するように構成され得る。従って、例えば、元のビットストリームを、８個のボリューム（「ｔ」＝８）を有する少なくとも１つの第２のビットストリームに変更して、これらの８個のボリュームのうちの２個（「ｍ＝２」）が、完全なデータセットを含むようにすることを、ユーザが決定すると、ローカルコンピューティングデバイス１４０、１４２、１４４、１４６及びリモートコンピューティングデバイス１７２、１７４、１７６、１７８の全体に、ランダム又は擬似ランダムなやり方で、８個のボリュームが分配され得る。更に、システム１００では、ｔ＝８、ｍ＝２であるので、任意の６個のボリューム（６個の第２のデータストリームとも見なされ得る）を破棄でき、残りの２個のボリューム（又は、２個の残りのデータストリーム）が完全なデータセットを含むであろう。６個の残りのボリュームは、情報の完全性を全く損なうことなく、別の位置において、後で再構築できる。完全なデータセットが１つのコンピューティングデバイスに記憶されることは決してないので、これは情報の安全性を一層高める。このようなやり方でデータが送信されて記憶されると、任意のサイズのネットワークの全体で、高可用性状態が持続し得る。既に説明したように、上述で使用されている８と２という数は、単に例示することを目的とするものであって、本開示の範囲を制限していない。
【００３２】
１つの実施形態では、上述のやり方で第３のデータセットを複数のデータブロックに逆アセンブルして、データブロックを分配する特徴は、コンピューティングデバイス１３０における分配モジュールによって行なわれ得る。分配モジュールは、コンピューティングデバイス１３０におけるソフトウェアコンポネント、ハードウェアコンポネント、又はこれらの任意の組み合わせであり得る。１つの実施形態では、分配モジュールは、例えばアディシャミアの秘密共有方式のような既知のプロセスに従って、情報分配アルゴリズムを使用し得る。
【００３３】
図１に記載されている、記憶位置として使用されるローカルコンピューティングデバイス及びリモートコンピューティングデバイスの数は、単に例示を目的とするものであることが、当業者に分かるであろう。即ち、本開示と一致する技術を利用するシステムには、記憶位置として使用される任意の数のコンピューティングデバイスが存在し、ボリュームが送られる位置は、変化し続け得る。例えば、１０００台のコンピューティングデバイスが、例えば連邦郵便局に配置されていて、８である「ｔ」個のボリュームを記憶するように構成可能であって、８個のボリュームのうちのｍ＝４が、コンピューティングデバイス１３０によって生成された完全なデータセットを保持する場合に、１０００台のコンピューティングデバイスのうちのどれが８個のボリュームを記憶しているかが、誰にも、即ち、システム１００の許可されたユーザでさえも分からないように、制御装置は、ランダム又は擬似ランダムなやり方で、８個のボリュームを記憶するために、１０００台のコンピューティングデバイスのうちの任意の８台を選び得る。
【００３４】
更に、１つの実施形態では、ユーザがデータセットを保存するたびに、例えばデータセットを編集した後で、個々のボリュームが、データセットを取った記憶位置と同じ記憶位置に決して戻されないことを確実にするように、コンピューティングデバイスは、記憶位置の割り当てをランダム化する。更に、コンピューティングデバイスは、保存する前に、新たなファイル名をデータセットに再割り当てし得る。データセットが保存されるたびに、８個のボリュームの各々に固有の且つ非常に長い英数字ストリングをランダムに生成して、更に、データセットを再アセンブルできるようにするのに必要な「ｍ」個のボリュームの位置を敵が特定でき難くすることによって、新たなファイル名を導き出す。更に、ボリュームのグローバルに分配された記憶ネットワークにおいて、ランダム又は決定論的に決定され得る間隔で、８個のボリュームを他のボリュームの全てと共に再配置及び／又は名前の変更をするように、１つ以上のコンピューティングデバイスがプログラムされ得る。従って、開示された技術は、データの配置に関して、時間の経過と共に、変化し続ける幾つかの記憶デバイスにおいて、グローバルなシェルゲームを行ない続けることによって、データのセキュリティを高め得る。
【００３５】
例えば、コンピューティングデバイス１３０は、８個のボリュームのうちの何れもコンピューティングデバイス１３０上に決して存在しないように、８である「ｔ」個のボリュームを分配してもよい。更に、コンピューティングデバイスは、１０００台のコンピューティングデバイスのうちの８台に、８個のボリュームを記憶させた後で、８個のボリュームのうちの何れも以前に記憶していない、１０００台のコンピューティングデバイスのうちの他のコンピューティングデバイス間で、８個のボリュームを再配置するように構成され得る。乱数を生成して、この乱数の英数字シーケンスに時間間隔を関連付けることによって、この再配置を行なう間隔が、擬似ランダムに決定され得る。その代わりに、ｔ個のボリュームの基となるデータに関する特性に従って、この再配置に対する間隔を決定してもよい。基となるデータに付されたメタデータが、基となるデータの機密性が極めて高いことを示している場合に、この再配置に対する間隔を、機密でないデータの再配置に対する間隔よりも短く設定してもよい。従って、基となるデータの機密性のレベルは、ｔ個のボリュームの再配置の頻度に影響を及ぼし得る。
【００３６】
本開示と一致する代わりの実施形態では、コンピューティングデバイス１３０における制御装置は、幾つかの要素に従って、分散したデータ記憶位置を選択するように構成され得る。幾つかの要素は、記憶空間の割り振りの検討、トラフィックフローの検討、ネットワークの輻輳の検討、ネットワークルーティングの検討、ファイル特性の検討、パケットタイプの検討、通信プロトコルの検討、又はこれらの任意の組み合わせを含み得る。例えば、コンピューティングデバイス１３０における制御装置は、本開示に従って処理されるデータを、リモートコンピューティングデバイス１７４に記憶しないことを選択してもよい。その理由は、リモートコンピューティングデバイスが十分な記憶容量を有していない、又はローカルコンピューティングデバイス１３０とリモートコンピューティングデバイス１７４との間のネットワーク経路が輻輳していると、制御装置が判断したからであり得る。その代わりに、リモートコンピューティングデバイス１７４は、コンピューティングデバイス１３０によって生成されたタイプのデータパケットを処理できず、従って、コンピューティングデバイス１３０上の制御装置によって処理されたデータを記憶できないかもしれない。更に別の実施形態では、通信プロトコルの不一致が原因で、リモートコンピューティングデバイス１７４がコンピューティングデバイス１３０と通信できないかもしれない。例えば、コンピューティングデバイス１３０は、ＴＣＰ／ＩＰを使用してデータを送信するように構成されているが、リモートコンピューティングデバイス１７４は、アップルトークパケットのみを受信するように構成されているかもしれない。その代わりに、コンピューティングデバイス１３０は、イーサネット（登録商標）のネットワークを介して通信するように構成されているが、リモートコンピューティングデバイスは、トークンリング専用に構成されていて、両者の間にプロトコル変換デバイスがないかもしれない。このような条件の下では、リモートコンピューティングデバイス１７４は、本開示に従ってコンピューティングデバイス１３０によって処理されたデータを記憶できないかもしれない。従って、コンピューティングデバイス１３０における制御装置は、処理したデータの受信機として、リモートコンピューティングデバイス１７４を含まないことを選び得る。その代わりに、制御装置は、ボリューム１７６に、又は互換性があって利用可能であり得るこのような他のデバイスに、データを記憶し得る。
【００３７】
コンピューティングデバイス１３０は、上述の特徴を実現し得る制御装置以外のコンポーネントを含み得ることが、当業者に分かるであろう。即ち、任意のハードウェアコンポネント、ソフトウェアコンポネント、又はこれらの任意の組み合わせであって、本開示の範囲から逸脱することなく、ここに記載されている特徴をコンピューティングデバイス１３０に備えさせ得るものが使用され得る。
【００３８】
更に、別の実施形態では、コンピューティングデバイス１３０は、最初に、「ｔ」個のボリューム又は「ｔ」個のデータストリームを形成するように、１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、次に、ｔ個のボリューム又はｔ個のデータストリームを暗号で変更し得る。上述のように、暗号化は、暗号化モジュールを使用して行なわれ得る。更に、異なる鍵を使って、各ボリューム又はデータストリームを暗号化することによって、更なるセキュリティが提供され得る。更に別の実施形態では、可能性のある暗号化アルゴリズムのプールからランダム又は決定論的に選択され得る異なるアルゴリズムを使用して、各ボリューム又はデータストリームを暗号化してもよい。データの所有者が小さなグループのアルゴリズムのみを使用したいという、所有者によって課された制約の結果として、決定論的な選択を使用してもよい。小さなグループのアルゴリズムは、例えば、ＡＳＥ−２５６（政府が使用するＮＩＳＴ標準）、スーパーネット（Supernet）、又はトゥーフィッシュである。一部の他のデータの所有者は、ＲＳＡ又はＰＳｑｕａｒｅｄのような所有権下にある暗号化アルゴリズムのみを使用することを望み得る。一方で、更に他の者は、オープンソースのアルゴリズムのみを使用することを望み得る。その理由は、オープンソースのアルゴリズムは、使用料がかからないからである。次に、個々に暗号化されたボリュームを複数のネットワークノードに送信するか、又は複数のローカルな、グローバルに分散した位置に記憶し得る。
【００３９】
更に、代わりの実施形態では、開示されている技術は、無線送信のための複数のチャネル、周波数、又はサブ周波数を用いて、並びに／或いは電力線ブロードバンド送信のための複数の中電圧の電力線を介して、並びに／或いはローカルネットワーク１５０及び／又は通信ネットワーク１６０中の複数のネットワークノードで、複数のコンジット、チャネル、周波数、又はサブ周波数により、決定論的又は非決定論的なやり方で、分配されたデータを並列に送信することによって、データ送信速度を増し得る。既に記載したように、ローカルネットワーク１５０と通信ネットワーク１６０は、有線又は無線ネットワークであり得る。１つの実施形態では、電力線ネットワークを渡って情報が送信される場合に、信号を安定させるソフトウェア／機器を使用して、使用できる空の周波数の数を増やしてもよい。これらのネットワークが無線ネットワークである場合は、これらのネットワークは無線ネットワークノードを含み得る。無線ネットワークノードは、例えば、無線アクセスポイント又は無線ルータであり得る。同様に、これらのネットワークが有線ネットワークである場合は、有線ネットワークは有線ネットワークノードを含み得る。有線ネットワークノードは、例えば、遠距離通信のハブである。遠距離通信のハブは、様々なインターネットサービスプロバイダ（Internet Service Provider, IPS）のインターネットワーキング機器を同じ場所に配置する。
【００４０】
１つの実施形態では、通信ネットワーク１６０は、光ファイバネットワークを含み得る。この場合に、コンピューティングデバイス１３０における制御装置は、ファイバの１本のストランドにおける複数のラムダ（lambda）にわたって、ファイバの複数のストランドにわたって、又は両者の方法により「ｔ」個のボリュームを分配することによって、元のストリームから生成される「ｔ」個のボリュームを分配するように構成され得る。上述の分配されたデータボリュームの光ファイバケーブルにおける送信は、決定論的又は非決定論的なやり方で、開示されている実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。
【００４１】
別の実施形態では、通信ネットワーク１６０は、無線ネットワークであり得る。これは、例えば、セルラネットワーク、衛星ネットワーク、無線データネットワーク、例えば、ワイファイ、ワイマックス、又はマイクロ波ネットワーク、或いはこれらの任意の組み合わせを含み得る。この場合に、コンピューティングデバイス１３０における制御装置は、無線又は電力線アクセスポイントに含まれている少なくとも１つの無線機において或いは異なるチャネル又は周波数に同調させられた複数の無線機によって、サービス可能な複数の周波数の全体に、元のストリームから生成された「ｔ」個のボリュームを分配するように構成され得る。上述の分配されたデータボリュームの無線ネットワークによる送信は、決定論的又は非決定論的なやり方で、開示されている実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。本開示のこの技術を実行することにより、従来の知識に従って用いられていた直列送信技術の代わりに、並列送信技術を使用してデータを送信することによって、データ送信レートは上昇し得る。
【００４２】
本開示と一致する別の実施形態では、ローカルネットワーク１５０及び／又は通信ネットワーク１６０は、電力線ブロードバンド(Broadband over Powerline, BPL)の機器を備えた電力線であり得る。このようなネットワークは、ＢＰＬアクセスポイントを更に含み得る。この場合に、コンピューティングデバイス１３０における制御装置は、個々の電力線における複数のチャネル(周波数)にわたって、複数の電力線の各々における１本のチャネルにわたって、又は両者により「ｔ」個のボリュームを分配することによって、元のストリームから生成された「ｔ」個のボリュームを分配するように構成され得る。１つの電力線ブロードバンドの相互変換カード（cross-conversion card）に対して信号を多重化して、多重化信号を送ることによって、又は各々が単一信号又は多重化信号を送信し得る複数の相互変換カードを使用することによって、これが達成され得る。更に、複数の相互変換カードへの／からの送信は、１つの相互変換カードにおける１つのデータ送信を含むことができる。又は、利用可能な全てのチャネルと相互変換カードとを通して、サブボリュームを含んでいるパケットを混ぜ合わせたものを分配することによって、分配情報が送信され得る。電力線における上述の分配されたデータボリュームの送信は、決定論的又は非決定論的なやり方で、開示された実施形態に従って行われ得る。これは総合的なデータ送信レートの上昇につながり得る。
【００４３】
代わりの実施形態では、ローカルネットワーク１５０と通信ネットワーク１６０は、ＢＰＬと無線の技術の組み合わせを含み得る。本開示と一致するソフトウェア及び／又はハードウェアを、ＢＰＬ相互変換機器又は無線アクセス機器のファームウェアに統合することによって、この機器を通ったデータは、無許可の使用に対して判読不能になり得る一方で、データ送信レートはかなり上昇し得る。このようなネットワークは、詐欺及び個人情報の盗難からユーザを一層保護し、更に、クラウドコンピューティング環境とより効率的に接続し得る。
【００４４】
更に、本開示に従ってデータを処理する無線アクセス機器は、少なくとも１つのチップセットを具備する少なくとも１つの回路基板を含み得る。このチップセットは、変調信号に対して搬送波信号の１つ以上の特性を変えることによって、ＢＰＬと無線変調との間でデータを相互変換することができる。更に、無線アクセス機器は、データを相互変換するオペレーティングシステムのソフトウェア又はファームウェアも含み得る。このオペレーティングシステムのソフトウェア又はファームウェアは、ディジタル情報を送信及び受信する方法を含むチップセット主制御ソフトウェアと、「直交周波数分割多重化」(「Orthogonal Frequency-Division Multiplexing, OFDM」)からイーサネット（登録商標）へのデータ変換アルゴリズムと、イーサネット（登録商標）からＯＦＤＭへのデータ変換アルゴリズムと、暗号化アルゴリズムと、暗号解読アルゴリズムと、データ分割アルゴリズムと、データ逆アセンブリアルゴリズムと、符号化又は圧縮アルゴリズムと、復号又は逆圧縮アルゴリズムと、のうちの１つ以上を含む。無線機器は、ＲＡＭ又はフラッシュメモリと、有線及び無線ネットワークと通信するためのインターフェイスと、ＢＰＬネットワークと通信するためのインターフェイスとを更に含み得る。
【００４５】
本開示に従ってデータ処理を行なう各ＢＰＬデバイスは、様々な特徴を提供し得る。これらの機能は、例えば、高解像度で高忠実度のオーディオ及び／又はビデオ提示システムをユーザに提供することと；データ暗号化／解読方式に対するセキュリティ、コンテンツの使用の追跡、様々な監査及び報告機能、等を提供することを含み得る、コンテンツの所有者のディジタル権を管理することと；ユーザのサイコグラフックプロファイルを作成して、精度を高めて、維持する目的で、ユーザの動作環境内におけるユーザの動き及び応答を追跡することと；銀行取引、電子商取引、及び他の金融活動を容易にすることと；を含み得る。
【００４６】
サーバベースのデータ処理システムと、ユーザのデータ処理システムとにおいて実行されるソフトウェアエージェントに、このシステムが埋め込まれるならば、特別のハードウェア又はハードウェアのアップグレードは、ＢＰＬデバイスにほぼ不要であり得る。しかしながら、ＢＰＬのチップセットにおけるプロセッサが、本開示と一致するデータ処理の結果として生じる追加の負荷に対処できない場合は、相互変換カードを設計し直して、追加の演算プロセッサ回路をＡＳＩＣに追加するか、又はインテル（登録商標）ＥＰ８０５７９集積プロセッサのようなシステムオンチップ（system-on-a-chip, SOC）を追加することが望ましいかもしれない。ＳＯＣを追加すると、デバイスのヘッドルームが増え得る。これにより、システム上で効率的に動作するのに十分な知能を備えたモバイルネットワークのオブジェクトを提供することが必要になるかもしれない。更に、ＢＰＬのバスに接続された異なるカード上に埋め込みシステムを追加するか、又はＳＯＣを相互変換カードに追加すると、軍事及び他の高効率の応用のための追加のヘッドルームを提供し得る。
【００４７】
本開示と一致する幾つかの実施形態では、ＢＰＬと無線機器は、ＡＳＩＣで制御され得る。ＡＳＩＣは、例えば、ＯＦＤＭのＡＳＩＣである。多くの場合に、既存のＡＳＩＣは、本開示と一致するやり方でデータを処理するのに十分に効果的であり得る。しかしながら、場合によっては、埋め込みシステムの機能、システムオンチップ（ＳＯＣ）の機能、或いは他のハードウェアに依存する又はソフトウェアに依存する機能に適応させるために、開示されたデータ処理のための追加の資源、例えば、フラッシュメモリ、ＡＳＩＣの拡張機能、追加のＡＳＩＣ、或いはより多くの回路又は回路基板を、ＢＰＬと無線機器とにおけるハードウェアに追加する必要があるかもしれない。
【００４８】
既に記載したように、本開示と一致する技術を使用することによって、送信媒体に関係なく、複数の並列送信ルートに沿ってデータを送信することにより、通信ネットワーク１６０による総合的な有効データレートが上昇し得る。更に、このシステムは、データのセキュリティも高め得る。具体的には、開示された技術に従って、圧縮されて、無許可の使用に対して判読不能にされたデータは、決定論的又は非決定論的に分割されて、分配されて、複数のデータ経路を渡って複数の記憶デバイスへ及び複数の記憶デバイスから送信され得る。複数の記憶デバイスは、ローカルに存在している場合もあり、又は地理的に分散している場合もある。完全なデータセット又はフォレンジックに識別可能なデータが、１本のネットワーク経路を渡って送られるか又は１つの記憶デバイスに記憶されることは決してないので、これはデータのセキュリティを更に高める効果があり得る。大抵の場合に、逆アセンブルされて、複数のボリュームに分割されたデータセットを、本開示の実行に従って分配して、複数の地理的に分散した記憶位置に送る結果として、これは当然に達成され得る。地理的に分かれた記憶位置の多様性は、異なるネットワークノードにわたって、特に、多数の潜在的な記憶位置が存在するグローバルなＷＡＮにわたって、大抵のボリュームが送信される可能性を保証し得る。これらの位置は、例えば、金融機関と、郵便局と、政府の設備と、軍事基地及び作戦本部と、病院と、診療所と、医療センタとを含み得る。例えば、ニューヨーク市の街角のニュースブースは安全性の高いデータセンタであるので、これに記憶されているときに、シェルゲームを行なうと、データがほぼ安全になり得る。
【００４９】
代わりの実施形態では、本開示と一致する技術は、クラウドコンピューティング環境において使用され得る。クラウドコンピューティングは、コンピューティングの１つのスタイルである。このコンピューティングでは、動的にスケーラブルで且つしばしば仮想化される資源を、インターネットによって、サービスとして提供する。ユーザは、ユーザをサポートする「クラウド」の技術的インフラストラクチャの知識又は専門知識を有する必要がなく、或いはこのインフラストラクチャを制御する必要もない。この概念は、サービスとしてのインフラストラクチャ（infrastructure as a service, IaaS）と、サービスとしてのプラットフォーム（platform as a service, PaaS）と、サービスとしてのソフトウェア（software as a service, SaaS）と、他の最近（だいたい２００７−２０１０年）の技術的傾向を取り入れている。最近の技術的傾向は、ユーザのコンピューティングのニーズを満足させるための、インターネットに対する信頼性についての共通のテーマを有する。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされるオンラインのビジネスアプリケーションを提供でき、一方でソフトウェアとデータは、クラウドサーバに記憶される。本開示と一致する実施形態では、クラウドという用語は、コンピュータのネットワークの図においてインターネットがどのように表されるかに基づく、インターネットに対する比喩として使用でき、それが隠している複雑なインフラストラクチャについての抽象的な概念である。
【００５０】
一般に、クラウドコンピューティングシステムのユーザは、グローバルに分散していてもよく、従来のワークステーションとラップトップを使用しない。その理由は、ユーザが必要とするデータ処理機能の殆どが、クラウド中のシステムによって提供されるからである。このため、リモートユーザのデータ処理システムは、リモートユーザのデータ処理システムとクラウドシステムのデータ処理システムとの間におけるデータ処理機能を助けるようなやり方で、クラウドコンピューティングシステムにリンクする任意のデバイスであり得る。本開示と一致する技術を実行することによって、ユーザとクラウドとの間におけるデータ送信レートを上昇させることができる。その理由は、既に記載したように、少なくとも、データを圧縮状態で送信して、更に、複数の物理媒体及び／又は複数の周波数にわたってデータを分配できるからである。更に、本開示と一致する暗号化及び情報分配技術は、ユーザのデータ処理システムとクラウドのデータ処理システムとに記憶されている情報を、無許可の使用に対して判読不能な状態に常に維持することを確実にし得る。
【００５１】
例示的な実施形態では、信頼できるクラウドコンピューティングサービスを助けるクラウドコンピューティングネットワークには、複数の「クラウドコンピューティングサービスゾーン」が存在し得る。クラウドコンピューティングサービスゾーンは、仮想コンピューティング環境をひとまとめにして提供し得る。仮想コンピューティング環境は、クラウドコンピューティングサービスゾーン内に冗長的に割り振られている有線及び無線ネットワーク情報のユビキタスな分配を含む。セキュリティを高めるために、１つのクラウドコンピューティングサービスゾーンは、任意の情報ファイルの完全なデータセットを含まないかもしれない。その代わりに、データセットを含むデータは、本開示と一致するやり方で、複数のクラウドコンピューティングサービスゾーンにわたって、決定論的又は非決定論的なやり方で分配される。
【００５２】
図２は、開示された実施形態に従って、情報を安全に送信及び記憶するクラウドコンピューティングシステム２００の概略図を提供している。システム２００は、ＷＡＮ／インターネット２０２と、衛星ネットワークゾーン２０４と、衛星２０６と、衛星ディッシュ２０８と、衛星記憶ゾーン２１０と、サーバ２１２と、第１の記憶ゾーン２１４と、サーバ２１６と、第２の記憶ゾーン２１８と、サーバ２２０と、無線／ＢＰＬゾーン２２２と、電力網２２４と、ＢＰＬ／ＯＦＤＭアクセスポイント２２６と、無線／ＢＰＬ記憶ゾーン２２８と、サーバ２３０と、パーソナルコンピューティング及び通信ゾーン２３２と、ラップトップ／ノートブック２３４と、ＵＳＢドライブ２３６と、スマートフォン２３８と、セルラネットワークゾーン２４０と、セルタワー２４２と、ホーム又はオフィスゾーン２４４と、ワークステーション２４６と、ＩＳＰゾーン２４８と、モデム／ルータ２５０とを含む。
【００５３】
１つの実施形態では、システム２００は、幾つかのクラウドコンピューティングサービスゾーンに分けられ得る。クラウドコンピューティングサービスゾーンは、ＷＡＮ／インターネット２０２に直接又は間接的に接続している。これらのクラウドコンピューティングサービスゾーンは、通信及び／又はデータの保存のために使用される。例えば、衛星ネットワークゾーン２０４は、衛星記憶ゾーン２１０をＷＡＮ／インターネット２０２に接続し得る。この目的のために、衛星ネットワークゾーン２０４は、衛星２０６と衛星ディッシュ２０８とを含み得る。衛星ディッシュ２０８は、衛星記憶ゾーン２１０に配置されているサーバ２１２にデータを送信し、サーバ２１２からデータを受信し得る。更に、衛星２０６は、この衛星記憶ゾーンのデータをＷＡＮ／インターネット２０２に／から双方向に転送し得る。サーバ２１２は、本開示と一致するデータ圧縮と、暗号化と、分配の技術を実行できるソフトウェア又はハードウェア、或いはこれらの任意の組み合わせを含み得る。特に、サーバ２１２は、本開示と一致する技術に従って処理されたデータを記憶できる安全な記憶ボリュームＶ−１を含み得る。
【００５４】
更に、システム２００は、第１の記憶ゾーン２１４を含み得る。第１の記憶ゾーン２１４は、例えば１本以上の光ファイバケーブルのような物理媒体を介して、ＷＡＮ／インターネット２０２に接続し得る。更に、第１の記憶ゾーン２１４は、サーバ２１６を含み得る。サーバ２１６は、本開示と一致するデータ圧縮と、暗号化と、分配の技術を実行できるという点で、サーバ２１２に似ているかもしれない。特に、サーバ２１６は、安全な記憶ボリュームＶ−２を含み得る。安全な記憶ボリュームＶ−２は、本開示と一致する技術に従って処理されたデータを記憶できる。同様に、システム２００は、第２の記憶ゾーン２２０を含み得る。第２の記憶ゾーン２１８は、サーバ２２０を含んでいる。サーバ２２０は、安全な記憶ボリュームＶ−３を含み得る。安全な記憶ボリュームＶ−３は、記憶ボリュームＶ−１とＶ−２とに似ている。
【００５５】
更に、システム２００は、無線／ＢＰＬゾーン２２２を含んでいる。無線／ＢＰＬゾーン２２２は、データを、１つ以上の電力網２２４を介して、ＷＡＮ／インターネット２０２に双方向で転送する。この目的のために、各電力網２２４は、１つ以上のＢＰＬ／ＯＦＤＭアクセスポイント２２６を含み得る。これらのアクセスポイントの詳細については、既に記載したので、簡潔にするために繰り返さない。無線／ＢＰＬ記憶ゾーン２２８は、ケーブル、例えば光ファイバケーブルを介して、無線／ＢＰＬゾーン２２２に接続し得る。これは、ハイブリッド マルチテクノロジー ネットワークに更に接続し得る。ハイブリッド マルチテクノロジー ネットワークは、例えば、ファイバと、電力線ブロードバンドと、無線と、同軸の技術から構成される。無線／ＢＰＬ記憶ゾーン２２８は、サーバ２３０を含み得る。サーバ２３０は、サーバ２１２と、２１６と、２２０とに似ている。無線／ＢＰＬ記憶ゾーン２２８は、安全な記憶ボリュームＶ−４を含み得る。
【００５６】
システム２００は各記憶ゾーンに１つのサーバを示しているが、本開示はそのように制限されないことが、当業者に分かるであろう。むしろ、各記憶ゾーン２１０、２１４、２１８、２２８は、複数のサーバ又は他の記憶デバイスを含み得る。この複数のサーバ又は他の記憶デバイスは、本開示の範囲から逸脱することなく、本開示と一致する技術を使用して、データを記憶して処理し得る。更に、記載されている各サービスゾーンは、複数のサービスゾーンを象徴しており、複数のサービスゾーンのうちの各サービスゾーンは、その機能又は類似の機能を行ない得る。更に、各サービスゾーンがＷＡＮ／インターネット２０２にどのように接続し得るかについて、本開示は詳しく記載していないが、本開示がこのような接続について既知の任意の技術の使用を考慮していることが、当業者に分かるであろう。例えば、衛星２０６は、静止衛星、低地球軌道衛星、又は任意の他のタイプの衛星であって、ＷＡＮ／インターネット２０２と衛星記憶ゾーン２１０との間において双方向通信を提供できる衛星であり得る。更に、衛星２０６は、次のような通信技術を使用し得る。即ち、例えば、時分割多重アクセス（Time Division Multiple Access, TDMA）、単チャネル単キャリア（single channel per carrier, SCPC）、又は他のこのような技術であって、ＷＡＮ／インターネット２０２と衛星記憶ゾーン２１０との間に双方向通信を提供する技術である。同様に、無線／ＢＰＬゾーン２２２は、電力線によってデータを送信する技術を提供するＢＰＬアクセスポイントのようなデバイスを含み得る。更に又はその代わりに、無線／ＢＰＬゾーン２２２は、例えば、無線／ＢＰＬ記憶ゾーン２２８と無線／ＢＰＬゾーン２２２との間における無線通信のために、例えばＯＦＤＭのような周波数変調技術を使用する無線アダプタを使い得る。
【００５７】
システム２００は、更なるクラウドコンピューティングサービスゾーンを含み得る。更なるクラウドコンピューティングサービスゾーンは、パーソナルコンピューティング及び通信ゾーン２３２、セルラネットワークゾーン２４０、ホーム又はオフィスゾーン２４４、ＩＳＰゾーン２４８、或いはこれらの任意の組み合わせを含み得る。１つの実施形態では、パーソナルコンピューティング及び通信ゾーン２３２は、ＰＣ、ラップトップ、ＰＤＡ、他のコンピューティングデバイス、又はこれらの任意の組み合わせを含み得る。例えば、図２に示されているように、パーソナルコンピューティング及び通信ゾーン２３２は、ラップトップ／ノートブック２３４を含んでいる。ラップトップ／ノートブック２３４は、安全な記憶ボリュームＶ−６を含み得る。安全な記憶ボリュームＶ−６の特性は、本開示と一致する技術に従って処理されたデータを記憶できるという点で、安全な記憶ボリュームＶ−１乃至Ｖ−４の特性に似ているかもしれない。更に、パーソナルコンピューティング及び通信ゾーン２３２は、ＵＳＢドライブ２３６も含み得る。ＵＳＢドライブ２３６は、ラップトップ／ノートブック２３４に挿入可能である。ＵＳＢドライブ２３６は、更に別の安全な記憶ボリュームＶ−７を含み得る。更に別の安全な記憶ボリュームＶ−７は、システム２００における他の記憶ボリュームに似ている。更に、スマートフォン２３８も、パーソナルコンピューティング及び通信ゾーン２３２の一部であり得る。スマートフォン２３８は、更に別の記憶ボリュームＶ−８を含み得る。更に別の記憶ボリュームＶ−８は、システム２００における他の記憶ボリュームに似ている。スマートフォン２３８は、セルラネットワークを介して、セルラネットワークゾーン２４０におけるセルタワー２４２に接続し得る。セルラネットワークは、例えば、３Ｇ、ロングタームエボリューション(Long Term Evolution, LTE)、又は任意の他のこのようなネットワークである。セルタワー２４２は、ＷＡＮ／インターネット２０２とインターフェイスして、ＷＡＮ／インターネット２０２とスマートフォン２３８との間において双方向通信を提供し得る。
【００５８】
図２は、１つのラップトップ／ノートブック２３４と、１つのスマートフォン２３８とを記載しているが、他の種類のパーソナルコンピューティングデバイスと、高機能デバイスと、幾つかのこのようなデバイスであって、各々が安全な記憶ボリュームを含むデバイスが、本開示の範囲を逸脱することなく使用され得ることが、当業者に分かるであろう。
【００５９】
１つの実施形態では、パーソナルコンピューティング及び通信ゾーン２３２は、ホーム又はオフィスゾーン２４４に更に接続し得る。パーソナルコンピューティング及び通信ゾーン２３２と、ホーム又はオフィスゾーン２４４は、任意の通信ネットワークを介して接続され得る。任意の通信ネットワークは、例えば、図２に記載されている仮想プライベートネットワーク(「Virtual Private Network, VPN」)である。更に、ホーム又はオフィスゾーン２４４は、１台以上のワークステーション２４６を含み得る。ワークステーション２４６は、安全な記憶ボリュームＶ−５を含み得る。安全な記憶ボリュームＶ−は、システム２００における他の記憶ボリュームに似ているかもしれない。
【００６０】
パーソナルコンピューティング及び通信ゾーン２３２と、ホーム又はオフィスゾーン２４４は、ＩＳＰゾーン２４８に接続し得る。これらのゾーンと、ＩＳＰゾーン２４８は、ネットワーク接続機器を介して、有線又は無線で接続され得る。ネットワーク接続機器は、例えば、モデム／ルータ２５０、又は他のこのような機器である。ＩＳＰゾーン２４８は、ＷＡＮ／インターネット２０２と、パーソナルコンピューティング及び通信ゾーン２３２と、ホーム又はオフィスゾーン２４４との間に、双方向通信を提供し得る。
【００６１】
クラウドコンピューティングシステム２００の記載は、単に例示を目的としており、クラウドコンピューティングシステム２００の多くのバリエーションが、この開示の範囲内に含まれることが、当業者に分かるであろう。例えば、代わりの実施形態は、追加の又はより少ないクラウドコンピューティングサービスゾーン、並びに／或いは異なるタイプのクラウドコンピューティングサービスゾーンを含み得る。更に、各クラウドコンピューティングサービスゾーンは、複数の安全な記憶ボリュームを有することができるであろう。クラウドコンピューティングサービスゾーにおける各デバイスは、複数の安全な記憶ボリュームを有するかもしれない。
【００６２】
ユーザのデータ処理システムとクラウドのデータ処理システムとに記憶された情報を、無許可の使用に対して判読不能な状態に常に維持することと、クラウドコンピューティングサービスゾーンにおける１つのデバイスが、任意の情報ファイルの完全なデータセットを含むことができないこととを保証するために、システム２００のユーザは、上述の情報の圧縮と、暗号化と、分配と、送信と、記憶の技術を具現するソフトウェア、ハードウェア、又はこれらの任意の組み合わせを含み得る。例えば、ユーザは、ラップトップ／ノートブック２３４においてデータファイルを作成又は変更し得る。更に、ユーザは、図２に記載されている他の全てのクラウドコンピューティングサービスゾーンにアクセスし得る。例えば図１に関連して記載されている本開示と一致する技術を使用することによって、ラップトップ／ノートブック２３４におけるソフトウェア、ハードウェア、又はこれらの任意の組み合わせは、データファイルを圧縮及び暗号化し得る。更に、システム２００が、本開示と一致する技術に従って、データファイルを８個のボリューム（ｔ＝８）に分配するように構成されていて、８個のボリューム（ｍ＝８）のうちの２個が、完全なデータセットを含む場合に、図２に示されているシステム２００における安全な記憶ボリュームＶ−１乃至Ｖ−８の全体に拡散された８個の別々のボリュームに、このデータファイルを分配することによって、ユーザはこのデータファイルのバックアップをとり得る。本開示と一致する技術に従って技術が実行される場合に、従来の知識によって実行される定期的なバックアップは、最早必要ないかもしれない。その理由は、各ファイルが保存されると直ぐに、８箇所のローカルなリモートの位置に、情報が記憶されるからである。従って、時間と共にデータが発展していく履歴をとっておくために、アーカイブのスナップショットを作成する場合にのみ、バックアップをとるのが望ましい。従って、ラップトップ／ノートブック２３４と、スマートフォン２３８と、ＵＳＢ２３６と、ワークステーション２４６と、サーバ２１２、２１６、２２０、２３０とに、データファイルの一部分が記憶されて、データファイルの完全なコピーを含んだデバイスがないようにする。システム２００が上述のやり方で動作する場合に、システム２００における全デバイスが、本開示に記載された技術を使用してデータを処理して記憶できるソフトウェア、ハードウェア、又はこれらの任意の組み合わせを含むことが、当業者に分かるであろう。ユーザが自分のデータファイルを検索することを決定すると、８個のボリュームのうちの任意の２個からのデータファイルを復元することによって、データファイルを検索することができる。従って、ユーザのデータファイルの完全性に影響を及ぼすことなく、８個のボリュームのうちの任意の６個を破棄できる。
【００６３】
代わりの実施形態では、コンピューティングデバイスが、リモートに記憶されたボリュームにアクセスする前に、ローカルに記憶されたボリュームを最初に検索することを試みるように、ボリュームの検索に優先順位を付けてもよい。本開示と一致するこの技術は、帯域幅を節約し、検索プロセスを速め得る。また、制御装置が、リモート記憶位置にボリュームを送信する前に、ローカル記憶デバイスにボリュームを最初に送信することを試みるように、ボリュームの送信に優先的順位を付けてもよい。ローカルデバイスは、リモートの位置よりも、データを完全により素早く受信する可能性が高いので、本開示と一致するこの技術は、「ｍ」個のデータが記憶プロセスを切り抜けて生き残る確実性を高め得る。
【００６４】
更に別の実施形態では、データの完全性を保つために、「ｍ」個のボリュームを保存することが必要であり得る。このような場合に、コンピューティングデバイスは、保存プロセス後又は将来に、ｍ個のボリュームを使用して、所望数のｔ個のボリュームを生成することを試みてもよい。保存サイクルが開始されたときに、複数の受信ユニットがオフライン又は圏外であり得ることが考えられるので、モバイルアドホック無線において、この特徴が使用され得る。
【００６５】
圧縮され、暗号化され、ビット、ニブル、バイト、及び／又はブロックのような一次データの単位に分割され、クラウドにリンクされる可変サイズの８個の安全な記憶ボリュームに分配されるデータの１つのライブラリを、ユーザのコンピューティング及び通信デバイスの全てが共有することを、システム２００は可能にし得る。既に記載したように、「ｔ」と「ｍ」の値は、システム２００のユーザによって選択可能であって、上述の開示において使用されている値に制限されない。
【００６６】
システム２００は、ユーザの実際の位置に関係なく、ユーザが、ユーザのコンピューティング及び通信環境を維持することを可能にし得る。本開示によって記載されている技術では、送信媒体と送信プロトコルとを知ることができないので、当該システムの、位置を知ることができないというこの特徴が可能である。従って、ユーザは、空中、地上、又は海上のどんな位置にいても、移動中であっても、又は静止していてもよいが、ユーザがクラウドコンピューティングシステム２００にアクセスできる限り、クラウドコンピューティングシステム２００上でバックアップされたデータに常にアクセスできる。
【００６７】
上述の本開示によると、クラウドコンピューティングシステム２００は、幾つかの特徴を含んでいる。データは、暗号化アルゴリズムのうちの任意の１つ又は組み合わせを使用して暗号化され得る。暗号化アルゴリズムは、例えば、ＰＳｑｕａｒｅｄ、ＡＥＳ−２５６、３ＤＥＳ、又はトゥーフィッシュである。更に、データは圧縮状態で記憶又は転送され得るので、クラウドへの及びクラウドからのデータ転送は、一般に速まる。更に、圧縮及び暗号化されたデータセットは、ビット、ニブル、バイト、及び／又はブロックのような、一次データの要素に分割されて、次に、部分的なデータセットとして、決定論的又は非決定論的なやり方で、複数のローカルなグローバルな位置に分配されるので、完全なデータセットは、１つのボリューム又は１つの記憶位置に決して存在せず、或いは、所望であれば、１つのネットワークノード又はルートから動かない。更に、ファイルがどの種類のデータを含んでいるかについて、ファイル又はボリューム名から誰にも分からないように、データが保存されるたびに、ボリューム名及びファイル名をランダムな英数字のストリングとして生成及び再生成してもよい。
【００６８】
更に、上述で開示されたシステムで使用されている送信技術は、どのデータ記憶位置がデータセットのどの部分を保持しているかを判断し難くし得る。具体的には、データセットが保存又は送信されるたびに、ファイルとボリュームとを、新たな異なるネットワークルートによって、新たな異なる記憶位置に、決定論的又は非決定論的に分配して、グローバルな「シェルゲーム」を生成して、どの記憶位置がどのボリューム又はどの部分的なデータセットを保持しているかについて、データの所有者を含めて誰にも分からないようにする。
【００６９】
図１に関連して記載された特徴に類似して、本開示によるシステムは、安全な記憶ボリュームに問い合わせをして、利用可能な記憶空間量を決定して、決定論的又は非決定論的に、部分的なデータセットを生成して、問い合わせたボリュームに記憶してもよい。
【００７０】
代わりのクラウドコンピューティングの実施形態では、最初に、ビットストリームを複数のデータストリーム又はボリュームに逆アセンブルして、次に、各データストリーム又はボリュームをそれぞれ別々に暗号化してもよい。更に、各ボリューム又はデータストリームを異なる鍵で暗号化することによって、更なるセキュリティが提供され得る。更に別の実施形態では、可能性のある暗号化アルゴリズムのプールから決定論的又は非決定論的に選択され得る異なるアルゴリズムを使用して、各ボリューム又はデータストリームを暗号化してもよい。
【００７１】
更に別の実施形態では、上述のシステム１００、２００は、厳しい帯域幅の節約(「extreme bandwidth conservation, XBC」)を実行し得る。例えばクラウドコンピューティングシステムのような多くのシステムは、例えば、文書処理プログラム、表計算プログラム、グラフィック画像処理プログラム、等のようなアプリケーションを使用して、ユーザのデータを作成及び操作し、又は無線及びＢＰＳアクセスポイントにおいて、自動構成データのような情報を送信及び受信する。これらの動作は、ユーザとクラウドコンピューティング資源との間において、かなりのデータ転送を必要とし得る。本開示によって考慮されている更なる実施形態は、このようなアプリケーションによって一般に使用されるデータを送信する必要を低減し得るシステムである。
【００７２】
この実施形態の基本的なアーキテクチャは、図１のシステム１００と同じであり得る。従って、簡潔化のために、各コンポーネントの詳しい説明を繰り返さず、むしろ、代わりの実施形態に関連する態様のみを以下に記載する。
【００７３】
コンピューティングデバイス１３０、１７４は、本開示と一致する技術を行なうソフトウェア、ハードウェア、又は両者の組み合わせで構成され得る。高いレベルにおいて、コンピューティングデバイス１３０と、ポイントコンピューティングデバイス１７４は、データを１つ以上の配列の形式で記憶し得る。この配列は、ＸＢＣ配列と呼ばれている。ＸＢＣ配列で記憶されている情報を転送するために、コンピューティングデバイス１３０は、１つ以上のデータ配列中のデータを指し示すポインタを形成し得る。ポインタは、対応するデータ配列中のデータを参照する。ポインタは、二次元のポインタであり得る。更に、ＸＢＣ配列中に記憶されているそのデータを送信した後ではなく、最初の送信後に、コンピューティングデバイス１３０は、１つ以上のデータ配列中の任意のデータ項目に対するポインタのみを、コンピューティングデバイス１７４に、ローカルネットワーク１５０と通信ネットワーク１６０とを渡って転送し得る。リモートコンピューティングデバイス１７４は、ポインタを受信すると、ローカルＸＢＣ配列に記憶されているデータを参照し得る。従って、このシステムは、コンピューティングデバイス１３０と１７４との間において送られる実際のデータ量を減らす。
【００７４】
１つの実施形態では、コンピューティングデバイス１３０、１７４は、上述の特徴を実現するように構成可能な制御装置(示されていない)を含み得る。これらは、例えば、これらの特徴を実現し得るソフトウェア命令を実行するように構成された制御処理ユニットの少なくとも一部分と、これらのソフトウェア命令を記憶する１つ以上のメモリユニットの少なくとも一部分と、上述の特徴を実現するのに必要な任意の他のコンポーネントとを含み得る。
【００７５】
具体的には、コンピューティングデバイス１３０における制御装置は、固定長又は可変長のＸＢＣ配列を作成して、その配列をデータで埋めるように構成され得る。このデータは、ユーザデータ、メタデータ、又は任意の他の種類のデータであって、コンピューティングデバイス１３０に記憶する必要のあるデータであり得る。ＸＢＣ配列データは、例えば、固定長のストリング、整数、実数、内部ポインタ、別のＸＢＣ配列に対する外部ポインタ、ソフトウェアプログラム又はユーティリィティに対する外部ポインタ、コードブロック又はコードブロックの要素、実行可能命令又は実行可能命令の要素、コードブロック又は実行可能命令を初期設定する１つ以上のパラメータ及び／又は引数、或いはこれらの任意の組み合わせを含み得る。その代わりに、ＸＢＣ配列が既に存在する場合は、欠落した又は変更する必要があるデータのみで、ＸＢＣ配列を埋めてもよい。１つの実施形態では、コンピューティングデバイス１３０の少なくとも１つのメモリコンポーネントと、コンピューティングデバイス１７４の少なくとも１つ以上のコンポーネントとに、ＸＢＣ配列が記憶される。例えば、コンピューティングデバイス１３０がＯＦＤＭデバイスである場合は、メモリに存在するように、配列を予めロードしてもよい。その代わりに、揮発性又は不揮発性メモリに存在するように、ＸＢＣ配列を予めロードしてもよい。更に別の代わりの実施形態では、ＸＢＣ配列が予めロードされていない場合は、初期設定プロセス中に、ＸＢＣ配列を作成して、情報で埋める。
【００７６】
例えば、１つの実施形態では、ＸＢＣ制御配列をデバイスのファームウェア内に予めパッケージングして、その後に、デバイスがアップデートを受信するまで、そのまま変更しなくてもよい。その代わりに、制御配列は、予めパッケージングされていなくてもよい。むしろ、制御配列は、デバイスにメモリの割り振りを有しているだけでもよい。ポインタを送信することを試みるデバイスは、最初に、配列が存在するかどうかをテストして確かめて、配列が存在する場合は、配列が現在のバージョンであるかどうかを決定し得る。配列が存在し最新版である場合は、デバイスは、１つ以上のポインタのパッケージを送り得る。しかしながら、配列が存在せず最新版でない場合は、デバイスは、最初に配列を送って、次に１つ以上のポインタのパッケージで付け加え得る。
【００７７】
更に、コンピューティングデバイス１３０における制御装置は、１つ以上のＸＢＣ配列中の任意のデータ項目のためのポインタを形成するように構成され得る。従って、各二次元のポインタは、対応するＸＢＣ配列中のデータを参照し得る。１つの実施形態では、コンピューティングデバイス１３０における制御装置は、１バイトを２ニブルに分割して、ＸＢＣ配列に対するｘｙポインタを作成することによって、このようなポインタを作成し得る。
【００７８】
次に、コンピューティングデバイス１３０における制御装置は、対応するＸＢＣ配列に記憶されている実際のデータを転送する代わりに、ポインタをリモートコンピューティングデバイス１７４に、ローカルネットワーク１５０及び通信ネットワーク１６０を渡って送るように更に構成され得る。ポインタを受信すると、リモートコンピューティングデバイス１７４は、受信したポインタを使用して、コンピューティングデバイス１７４に記憶されているＸＢＣ配列の対応するデータを参照し得る。このような技術を使用すると、ネットワークにおける帯域幅を節約し得る。その理由は、ネットワークを渡ってポインタを転送する場合に使用する帯域幅は、ポインタが参照したデータを転送する場合に使用されたであろう帯域幅のほんの一部であり得るからである。
【００７９】
コンピューティングデバイス１３０が、上述の特徴を実現し得る制御装置以外のコンポーネントを含み得ることが、当業者に分かるであろう。即ち、任意のハードウェアコンポネント、ソフトウェアコンポネント、又はこれらの任意の組み合わせであって、この開示の範囲から逸脱することなく、ここに記載されている特徴をコンピューティングデバイス１３０に備えさせ得るものが、使用され得る。
【００８０】
図１のコンピューティングデバイス１３０と１７４は例示のためにのみ使用されていることが、当業者に分かるであろう。即ち、上述で開示された帯域幅節約技術を使用して、適切なソフトウェア、ハードウェア、又はその組み合わせで構成された任意の２つのデバイス間でデータを転送して、本開示と一致する技術を行なうことができる。更に、システム１００に関して帯域幅を節約する実施形態を記載したが、図２に関して記載されているシステム２００のようなクラウドコンピューティングシステムにおいて、この開示の範囲から逸脱することなく、上述の技術が使用され得ることが、当業者に分かるであろう。更に、上述の帯域幅節約技術は、帯域幅節約技術だけで使用してもよく、又は本開示と一致するデータの構文解析と、圧縮と、暗号化と、逆アセンブリと、分配の技術と共に使用してもよい。
【００８１】
本開示と一致する技術は、ワイマックスネットワークのスループットレートを高めるのを助け得る。例えば、１つの実施形態では、上述で開示した圧縮の特徴は、転送されるデータのタイプと、他の要因とに応じて、約１０キロメートルで約１０Ｍｂｐｓから、約１０キロメートルで約２０Ｍｂｐｓ乃至約４０Ｍｂｐｓに、ワイマックスデバイスのスループットレートを高め得る。他の要因は、例えば、太陽黒点、大気の考慮すべき事項、例として湿度と稲妻、等である。これにより、ハイブリッドのＢＰＬ及び無線ネットワークにおける迂回中継デバイスとして、本開示と一致する無線アクセスポイントをより多く使用して、その結果、迂回中継動作のための光ファイバケーブルに対する依存度を下げ得る。
【００８２】
更に、本開示と一致する技術を使用してデータストリームを分割及び分配して、分割されたデータを、複数のチャネル、周波数、又はサブ周波数によって送信すると、このシステムを実行する無線デバイスの有効帯域幅を、これらの無線デバイスの標準データ送信レートの約２乃至約１８倍以上に増し得る。
【００８３】
更に、このシステムは、ユニキャスト マルチメディア プレゼンテーション サービスにおいて使用され得る。一般に、ユニキャスト プレゼンテーション サービスは、マルチキャスト プレゼンテーション サービスよりも好ましいかもしれない。マルチキャスト プレゼンテーション サービスの知覚制限のうちの幾つかは、マルチキャスト プレゼンテーション サービスでは、ホスト ブロードキャスト サービスとそのユーザとの間で直接的なインタラクションができないということと、マルチキャスト サービスでは、真のビデオオンデマンド サービスを提供できないということである。ユニキャスト プレゼンテーション サービスは、これらの制限を克服しているが、帯域幅をたくさん使う。このシステムを実行すると、ユニキャスト マルチメディア プレゼンテーション サービスの効率を高め得る。例えば、本開示に従って、ストリーミングビデオのファイルと、他のリッチコンテンツのマルチメディアのファイルとを圧縮して、無許可の使用に対して判読不能にして、多数の記憶位置に地理的に分配すると、コンテンツオンデマンドと、ビデオオンデマンドと、ＴＶオンデマンドと、他のこのようなリッチマルチメディア コンテンツ サービスとを、加入者のグローバルに分散したコミュニティに配信することに関する幾つかの制限が改善され得る。例えば、既存のユニキャスト プレゼンテーション サービスが直面する帯域幅の制限は、本開示と一致する圧縮及び情報分配技術を使用することによって克服され得る。
【００８４】
更に、このシステムを使用して、コンテンツプロバイダのニーズを満たすことができる。例えば、ミラマックス（Miramax）、パラマウント(Paramount)、及びソニーフィルムズ（Sony Films）のようなコンテンツプロバイダが表明した問題のうちの幾つかは、ａ）コンテンツ管理権のセキュリティと、ｂ）コンテンツプロバイダに適したコンテンツの品質標準を維持する必要性とである。このシステムを実行すると、ディジタルマルチメディアファイルが盗聴及び盗用に対して判読不能になるように、ＭＰＥＧ−２、ＭＰＥＧ−４、又はこのような他のビデオコーデック、等の従来のディジタルマルチメディアファイルを変更することによって、コンテンツプロバイダの品質とセキュリティの問題に応える又は更に克服することができる。更に、このシステムを実行すると、他の手段によって達成されないほどコンパクトに、ビデオストリームを圧縮することによって、ネットワークプロバイダのニーズを満たし得る。更に、本開示の帯域幅節約方法は、ユニキャスト ストリーミング サービスをサポートするのに必要なネットワーク制御情報量を減らし得る。
【００８５】
更に、このシステムは、衛星によって配信されるサービスを向上させ得る。具体的には、このシステムの実行は、衛星の双方向の送信を速めるように、データを圧縮して、暗号化して、分割することによって、衛星システムを安全にし得る。更に、このシステムは、分割されたデータのサブセットを複数の周波数にわたって分配することによって、セキュリティを一層高め得る。更に、本開示と一致する帯域幅節約技術を実行することによって、衛星システムに対する全ての制御命令の送信を一層速めて、衛星のＸＢＣ配列のセットに予めロードされている抽象データの基本命令から制御命令を構築することによって、安全にすることができる。抽象データの基本命令をランダムな間隔で変えることができるので、これは、衛星システムの有害なハッキングを非常に困難にし得る。ランダムな間隔又は決定論的に設定された間隔で、ＸＢＣ情報配列を新たなバージョンに度々替えて、それによって、配列要素において参照されるデータを変更して、又は配列内の位置を変えて、このデータを参照するポインタをアップデートして、これらの変化を反映して、情報へのアクセスを一層不明瞭にすることによって、セキュリティを向上させることができる。
【００８６】
図３は、本開示と一致する実施形態に従って、ディジタル情報を安全に送信及び記憶する方法３００のフローチャートを提供している。１つの実施形態では、開示されている方法は、１つ以上のコンピューティングデバイスで実行可能なコンピュータソフトウェアにコード化されたアルゴリズムであり得る。
【００８７】
ステップ３０２では、図１のコンピューティングデバイス１３０又は図２のデバイス２３４は、入力デバイス、例えば図１の入力デバイス１１０又はローカルネットワーク１５０から、或いは図２の任意のデバイス又はネットワークから、１つ以上のビットストリームの形でデータを受信する。ステップ３０４では、コンピューティングデバイス内の、図１に関連して既に記載された構文解析モジュールが、１つ以上のビットストリームを構文解析して、１つ以上の第１のデータセットを形成する。ステップ３０５では、図１に関連して既に記載されたコンピューティングデバイスが、１つ以上の第１のデータセットを圧縮する必要があるかどうかを決定する。１つ以上の第１のデータセット中のデータは圧縮に強いと、コンピューティングデバイスによって見なされた場合は、このステップを飛ばして、プログラムの実行は、ステップ３０６に進む。さもなければ、プログラムの実行は、ステップ３０８に進み、ここでは、複数の圧縮アルゴリズムのうちの１つ以上をデータセットに適用する。ステップ３０６では、コンピューティングデバイス中の、図１に関連して既に記載された圧縮モジュールは、１つ以上の第１のデータセットを圧縮して、１つ以上の第２のデータセットを形成する。ステップ３０８では、コンピューティングデバイス内の、図１を参照して既に記載された暗号化モジュールは、１つ以上の第２のデータセットを暗号で変更して、１つ以上の第３のデータセットを形成する。ステップ３１０では、１つ以上の第３のデータセット中のデータを分配する必要があるかどうかについて、コンピューティングデバイス内で決定する。データを分配する必要がない場合は、ステップ３１２において、コンピューティングデバイスにおけるアセンブリモジュールは、１つ以上の第３のデータセットをアセンブルして、少なくとも１つの第２のビットストリームを形成する。ステップ３１４では、少なくとも１つの第２のビットストリームを、１つ以上のデータ記憶デバイスに出力する。これらは、例えば、図１のローカルデータコンピューティングデバイス１４０、１４２、１４４、１４６及び/又はリモートコンピューティングデバイス１７２、１７４、１７６、１７８を含み得る。代わりの実施形態では、データ記憶デバイスは、サーバ２１２、２１６、２２０、２３０のような、図２に記載されているデバイスのうちの何れかを含み得る。
【００８８】
他方で、ステップ３１０において、コンピューティングデバイス１３０が１つ以上の第３のデータセット中のデータを分配することを決定すると、テップ３１８において、コンピューティングデバイスにおける、図１に関連して既に記載された分配モジュールは、１つ以上の第３のデータセットを複数のデータブロックに逆アセンブルして、少なくとも１つの第２のビットストリームの一部として、「ｔ」個のボリュームを形成して、ｍ＜ｔである場合に、「ｍ」個のボリュームが、完全なデータセットを含むようにする。ステップ３２０では、コンピューティングデバイス中の分配モジュールは、ｔ個のボリュームを１本以上の送信経路の全体に分配して、ｔ個のボリュームを複数の分散した記憶位置の全体に記憶して、完全なデータセットが１つの記憶位置に記憶されないようにする。これらの記憶デバイスは、図１のローカルデータコンピューティングデバイス１４０、１４２、１４４、１４６及びリモートコンピューティングデバイス１７２、１７４、１７６、１７８の任意の組み合わせであり得る。代わりの実施形態では、データ記憶デバイスは、図２に記載されているデバイスのうちの何かを含み得る。図２に記載されているデバイスは、例えば、サーバ２１２、２１６、２２０、２３０と、オフィス及びホームオフィスの記憶デバイス２３４、２３６、２４６とを含むが、これらに制限されない。更に、図２のセルタワー２４２によって、図１のローカルデータコンピューティングデバイス１４０、１４２、１４４、１４６及びリモートコンピューティングデバイス１７２、１７４、１７６、１７８、のうちの何れか又は全てと通信する記憶デバイスとして、パーソナルスマートフォンが使用され得る。
【００８９】
図４は、本開示と一致する実施形態に従って、複数のネットワーク接続されたデバイス間におけるデータの送信期間にわたって帯域幅を節約する方法４００のフローチャートを提供している。１つの実施形態では、開示されている方法は、１つ以上のコンピューティングデバイスで実行可能なコンピュータのソフトウェアにコード化されたアルゴリズムであり得る。ステップ４０２では、第１のネットワーク接続されたデバイスは、１つ以上のデータ配列を、少なくとも１つのメモリコンポーネントに記憶し得る。第１のネットワーク接続されたデバイスは、例えば、図１の通信ネットワーク１６０(又は、図２のＷＡＮ／インターネット２０２)のような通信ネットワークに接続されている、図１のコンピューティングデバイス１３０(又は、図２のデバイス２３４)である。同様に、第２のネットワーク接続されたデバイスは、１つ以上のデータ配列を、少なくとも１つのメモリコンポーネントに記憶し得る。第２のネットワーク接続されたデバイスは、例えば、図１のリモートデータコンピューティングデバイス１７４(又は、図２のサーバ２３０)である。ステップ４０４では、第１のネットワーク接続されたデバイスは、１つ以上のデータ配列中の各データ項目に対するポインタを形成し得る。各ポインタは、対応するデータ配列中のデータを参照する。ステップ４０６では、第１のネットワーク接続されたデバイスは、１つ以上のデータ配列の各々に対するポインタを、第２のネットワーク接続されたデバイスに、通信ネットワークを渡って転送し得る。ステップ４０８では、第２のネットワーク接続されたデバイス１７４は、転送された対応するポインタを介して、１つ以上のデータ配列に記憶されているデータを参照し得る。１つの実施形態では、ポインタは、二次元であり得る。
【００９０】
システム及び方法が、上述のように、高圧縮され、無許可の使用に対して判読不能にされる、等をされた情報を提供することに加えて、このようなシステム及び方法は、プロセスを逆にして、このように変更又は修正された任意及び全てのデータを、その元の特徴に復元する特徴を含むことが、当業者に分かるであろう。
【００９１】
本開示のプロセスは真にランダムではないことが、当業者に分かるであろう。従って、上述で用いられている擬似ランダム又は非決定論的なプロセスは、任意の決定と基準とを使用して、データを変更する方法を選択しているように思われる。一方で、全ての場合において、データを変更するために用いられるプロセスは、特定の目的のためにデータを変更する動作をする段階的な手続きである。構文解析と、圧縮と、暗号化と、分配とに用いられる各プロセスは、ランダムではない(決定論的である)。従って、プロセスのシーケンスを正確に逆にすることによって、データを元の形式に段階的に逆に復元できる。情報を逆アセンブルして、乱数列を生成して、データセットを乱数列に関連付けることによって、情報を分配しても、データの元の状態への復帰は、同じ乱数列を使用して、単に、プロセスを逆に実行して、情報を再びアセンブルするということである。このような全てのプロセスには、ロスがない。本開示によって用いられているデータ変更技術は全て、ランダムではないので、このような技術は全て元へ戻せる。
【００９２】
本開示の様々な実施形態を上述に記載したが、これらの実施形態は、制限的ではなく、例示的に記載されていると、理解すべきである。この開示の意図と範囲とから逸脱することなく、形式と細部に様々な変更を行なってもよいことが、当業者に分かるであろう。従って、開示の広さと範囲は、上述の例示的な実施形態のうちの何れかによって制限されるべきではない。
【符号の説明】
【００９３】
１００・・・システム、２００・・・クラウドコンピューティングシステム、３００・・・ディジタル情報を安全に送信及び記憶する方法、４００・・・帯域幅を節約する方法。
【図１】
2012529086.tif 000003
【図２】
2012529086.tif 000004
【図３】
2012529086.tif 000005
【図４】
2012529086.tif 000006
【国際調査報告】
2012529086.tif 000007
2012529086.tif 000008
2012529086.tif 000009