(57)【要約】  冗長なデータ転送のための、コンピュータ・プログラム製品を含む方法および装置である。本方法には、相互接続されたコンピュータ・システムのノードから成る２つ以上のネットワークにおいて、データを格納するための要求を第１のネットワーク内のソース・システムから受信し、そのデータを第１のネットワーク内の第１のコンピュータ・メモリに送信し、そのデータの第１のコピーを第２のネットワーク内の第２のコンピュータ・メモリに送信し、第１のネットワーク内のどの物理記憶装置上にも格納せずに継続的にそのデータを第１のコンピュータ・メモリから第１のネットワーク内の他のコンピュータ・メモリに転送し、第２のネットワーク内のどの物理記憶装置上にも格納せずに継続的にそのデータの第１のコピーを第２のコンピュータ・メモリから第２のネットワーク内の他のコンピュータ・メモリに転送することを含む。
2011519442.tif 000002
【特許請求の範囲】
【請求項１】
電子データをコンピュータ・システムのネットワーク内に格納するコンピュータ化された方法であって、
データを格納するための要求をソース・システムから受け取るステップであって、前記ソース・システムは前記データを格納するように構成された相互接続されたコンピュータ・システムの第１のネットワーク外部にあり、前記ソース・システムは前記データを格納するように構成された相互接続されたコンピュータ・システムの第２のネットワーク外部にあり、前記コンピュータ・システムの各々はメモリを備える前記第１のネットワークおよび前記第２のネットワーク内にある、ステップと、
前記データを前記第１のネットワーク内のコンピュータ・システムの第１のメモリに送信するステップと、
前記データの第１のコピーを前記第２のネットワーク内のコンピュータ・システムの第２のメモリに送信するステップと、
前記第１のネットワーク内の前記コンピュータ・システムのどの物理記憶装置にも前記データを格納することなく、前記データを前記第１のネットワーク内の第１のコンピュータ・システムのメモリと他のコンユータ・メモリの間で断続的に転送するステップと、
前記第２のネットワーク内の前記コンピュータ・システムのどの物理記憶装置にも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の第２のコンピュータ・メモリと他のコンユータ・システムのメモリの間で断続的に転送するステップと
を含み、
物理記憶装置は、ハードディスク、磁気ディスク、磁気テープ、光磁気ディスク、および光ディスクを含むことを特徴とする方法。
【請求項２】
前記データの第２のコピーを、相互接続されたコンピュータ・システムの第３のネットワーク内のコンピュータ・システムの第３のメモリに送信するステップと、
前記第３のネットワーク内の前記コンピュータ・システムのどの物理記憶装置にも前記データの前記第２のコピーを格納することなく、前記データの前記第２のコピーを前記第３のネットワーク内の第３のコンピュータ・メモリと他のコンユータ・システムのメモリの間で断続的に転送するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ネットワークの各々が、１つまたは複数のプライベート・ネットワークとパブリック・ネットワークを備えることを特徴とする請求項１に記載の方法。
【請求項４】
断続的に転送するステップが、
前記第１のネットワークの特定のコンピュータ・システムのコンピュータ・メモリ内に前記データが存在するかどうかを検出するステップと、
前記第１のネットワークの前記コンピュータ・システムのどの物理記憶装置にも前記データを格納することなく、前記データを前記第１のネットワーク内のコンピュータ・システムの別のコンピュータ・メモリに転送するステップと、
前記第２のネットワークの特定のコンピュータ・システムのコンピュータ・メモリ内に前記データの前記第１のコピーが存在するかどうかを検出するステップと、
前記第２のネットワークの前記コンピュータ・システムのどの物理記憶装置にも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内のコンピュータ・システムの別のコンピュータ・メモリに転送するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
断続的に転送するステップが、
１つまたは複数の因子に基づいて前記データを受け取るために前記第１のネットワーク内で利用可能なコンピュータ・システムのアドレスを決定するステップと、
１つまたは複数の因子に基づいて前記データの前記第１のコピーを受け取るために前記第２のネットワーク内で利用可能なコンピュータ・システムのアドレスを決定するステップと、
前記第１のネットワーク内で利用可能な前記決定されたコンピュータ・システムの前記アドレスと前記データを転送するための要求とを含むメッセージを、前記データを含む前記コンピュータ・メモリに関連付けられた前記第１のネットワークの特定のコンピュータ・システムに送信するステップと、
前記第２のネットワーク内で利用可能な前記決定されたコンピュータ・システムの前記アドレスと前記データの前記第１のコピーを転送するための要求とを含むメッセージを、前記データの前記第１のコピーを含む前記コンピュータ・メモリに関連付けられた前記第２のネットワークの特定のコンピュータ・システムに送信するステップと
をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記１つまたは複数の因子がネットワーク・トラフィック分析と利用可能なメモリとを含むことを特徴とする請求項５に記載の方法。
【請求項７】
１人または複数人の特定のユーザを前記データに関連付けるステップと、
前記特定のユーザのうちの１人からの前記データに対する要求を受け取ったことに応じて前記データを取出すステップと
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
１つまたは複数のプロセッサを有するコンピューティング・システムによって読み取り可能なソフトウェア・コードを格納するように構成されたコンピュータ読取可能媒体であって、前記ソフトウェア・コードは、
相互接続されたコンピュータ・システム・ノードから成る第１のネットワークの一部でもなく相互接続されたコンピュータ・システムのノードから成る第２のネットワークの一部でもないソース・システムからデータを格納するための要求を受け取るステップと、
前記第１のネットワーク内の前記コンピュータ・システム・ノードのどの物理記憶装置にも前記データを格納することなく、前記データを前記第１のネットワーク内の前記コンピュータ・システム・ノードのコンピュータ・メモリの間で断続的に転送するステップと、
前記第２のネットワーク内の前記コンピュータ・システム・ノードのどの物理記憶装置にも前記データの第２のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の前記コンピュータ・システム・ノードのコンピュータ・メモリの間で断続的に転送するステップと
を含む方法を前記コンピューティング・システムに実施させるために前記コンピューティング・システム上で実行可能であることを特徴とするコンピュータ読取可能媒体。
【請求項９】
前記方法が、
第３のネットワーク内の前記コンピュータ・システム・ノードのどの物理記憶装置にも前記データの第２のコピーを格納することなく、前記データの第２のコピーを、相互接続されたコンピュータ・システムのノードから成る前記第３のネットワーク内の前記コンピュータ・システム・ノードのコンピュータ・メモリの間で断続的に転送するステップ
をさらに含むことを特徴とする請求項８に記載のコンピュータ読取可能媒体。
【請求項１０】
断続的に転送するステップが、
１つまたは複数の因子に基づいて前記データを受け取るために利用可能な前記第１のネットワーク内のコンピュータ・システムのノードのアドレスを決定するステップと、
前記利用可能なコンピュータ・システムのノードの前記アドレスと前記データを前記利用可能なコンピュータ・システムに転送するための要求とを含むメッセージを、前記データを含む前記コンピュータ・メモリに関連付けられた特定のコンピュータ・システムに送信するステップと
をさらに含むことを特徴とする請求項８に記載のコンピュータ読取可能媒体。
【請求項１１】
前記１つまたは複数の因子はネットワーク・トラフィック分析と利用可能なメモリとを含むことを特徴とする請求項１０に記載のコンピュータ読取可能媒体。
【請求項１２】
前記データを断続的に転送するステップが、
前記第１のネットワークの前記特定のコンピュータ・システム・ノードのコンピュータ・メモリ内に前記データが存在するかどうかを検出するステップと、
前記第１のネットワークの前記コンピュータ・システム・ノードのどの物理記憶装置にも前記データを格納することなく、前記データを前記特定のコンピュータ・システム・ノードの前記コンピュータ・メモリから前記第１のネットワーク内の前記利用可能なコンピュータ・システム・ノードのコンピュータ・メモリに転送するステップと
をさらに含むことを特徴とする請求項１０に記載のコンピュータ読取可能媒体。
【請求項１３】
前記データの前記第１のコピーが、ユーザまたはユーザ・アプリケーションによって選択されたプライベート・ネットワークに送信されることを特徴とする請求項１０に記載のコンピュータ読取可能媒体。
【請求項１４】
相互接続されたコンピュータ・システムから成る少なくとも２つのネットワークであって、各コンピュータ・システムがコンピュータ・メモリを備え、各コンピュータ・システムが、前記各ネットワーク内のコンピューティング・システムの他のコンピュータ・メモリからデータまたは前記データのコピーを受け取るように構成され、前記コンピュータ・システムの各々はさらに、前記コンピュータ・システムに関連付けられたどの物理記憶装置にも前記データまたは前記データの前記コピーを格納することなく、前記データまたは前記データのコピーを前記各ネットワークの前記コンピュータ・システムの前記コンピュータ・メモリの間で断続的に転送するように構成された、少なくとも２つのネットワーク
を備えたことを特徴とする電子データを格納するためのシステム。
【請求項１５】
各コンピュータ・システムが、前記データまたは前記データの前記コピーを暗号化するように適合されたことを特徴とする請求項１４に記載のシステム。
【請求項１６】
相互接続されたコンピュータ・システムの２つ以上のネットワークにデータを格納するための中央コンピュータ・システムであって、
コンピュータ・メモリと、
前記中央コンピュータ・システムが、相互接続されたコンピュータ・システムの２つ以上のネットワークと通信できるように構成された少なくとも１つのネットワーク・インタフェースであって、前記２つ以上のネットワーク内の前記コンピュータ・システムの各々がコンピュータ・メモリを備えた、少なくとも１つのネットワーク・インタフェースと、
コンピュータ・システムに、
前記１つまたは複数のネットワーク内にないソース・コンピュータ・システムから、データを第１のネットワーク内のコンピュータ・システムの第１のコンピュータ・メモリに送信させ、
前記第１のネットワーク内の前記コンピュータ・システムのどの物理記憶装置にも前記データを格納することなく、前記データを前記第１のネットワーク内の前記コンピュータ・システムの前記第１のコンピュータ・メモリと他のコンピュータ・メモリの間で断続的に転送することを開始させる
ように構成されたプロセッサと
を備えたことを特徴とする中央コンピュータ・システム。
【請求項１７】
前記中央コンピュータ・システムの前記プロセッサがさらに、
前記第１のネットワーク内の特定のコンピュータ・システムのコンピュータ・メモリ内に前記データが存在するかどうかを検出し、
１つまたは複数の因子に基づいて、前記データを受け取るために第１の利用可能なコンピュータ・メモリが利用可能である、前記第１のネットワーク内のコンピュータ・システムの前記第１の利用可能なコンピュータ・メモリのアドレスを決定し、
前記第１の利用可能なコンピュータ・メモリのアドレスと前記データを前記第１の利用可能なコンピュータ・メモリへ転送するための要求とを含むメッセージを、前記第１のネットワーク内の前記特定のコンピュータ・システムに送信する
ように構成されたことを特徴とする請求項１６に記載のシステム。
【請求項１８】
スケーラブルなコンピュータ・システム・ネットワークにデータを格納するコンピュータ化された方法であって、
相互接続されたコンピュータ・システムの第１のネットワーク外にあるソース・システムからデータを受け取るステップと、
前記第１のネットワークの前記コンピュータ・システムのどの物理記憶装置にも前記データを格納することなく、前記データを前記第１のネットワークの前記コンピュータ・システムの前記コンピュータ・メモリの間で断続的に転送するステップと、
前記第１のネットワークに新たなコンピュータ・システムが追加されたことを検出するステップと、
前記第１のネットワークの前記コンピュータ・システムのどの物理記憶装置にも前記データを格納することなく、前記新たなコンピュータ・システムの前記コンピュータ・メモリを含めて、前記データを前記第１のネットワークの前記コンピュータ・システムの前記コンピュータ・メモリの間で断続的に転送するステップと
を含むことを特徴とする方法。
【請求項１９】
前記新たなコンピュータ・システムをデータ転送シーケンスに追加するステップと、
前記データ転送シーケンスに従って、前記データを前記第１のネットワークの前記コンピュータ・システムの前記コンピュータ・メモリの間で断続的に転送するステップと
をさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
相互接続されたコンピュータ・システムから成る１つまたは複数のネットワークに電子データを格納するためのシステムであって、
コンピュータ・システムの第１のネットワーク外にあるソース・システムから電子データを受け取るように構成されたネットワーク・インタフェースと、
前記第１のネットワーク内の前記コンピュータ・システムのコンピュータ・メモリの間で断続的にデータを転送するための手段と、
第２のコンピュータ・ネットワークのコンピュータ・システムのコンピュータ・メモリの間で断続的に前記データのコピーを転送するための手段と
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長なデータを転送する記憶装置に関する。
【背景技術】
【０００２】
本明細書で開示された少なくとも幾つかの実施形態はデータ記憶装置に関し、具体的には、冗長なデータの転送に関する。
【０００３】
個人、組織、企業および政府によって記憶されるべきデータの量は毎年増加している。需要に追いつくだけでなく、組織は記憶に関する他の難題に直面している。オンラインでリアルタイムな企業および政府への移行に伴い、ソフトウェアまたはハードウエアの障害に起因する紛失またはアクセス不能から重要なデータを保護しなければならない。今日では、多くの記憶装置製品は完全な障害保護を提供せず、ユーザは、データの紛失または利用不可のリスクに晒されている。例えば、今日の市場における多数の記憶ソリューションは、プロセッサ障害のような幾つかの障害モードに対する保護を提供しているが、ディスク・ドライブ障害のような他の障害モードに対する保護は提供していない。多数の組織は、そのデータ記憶システムにおける構成要素の障害に起因するデータ紛失のリスクまたはデータ利用不可のリスクに晒されている。
【０００４】
データ記憶装置の市場は一般に２つの主なセグメント、すなわち、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）およびネットワーク記憶装置に分けられる。ＤＡＳは、サーバに直接接続されたディスクを含む。
【０００５】
ネットワーク記憶装置は、特定のサーバではなくネットワークに取り付けられ、そのネットワーク上の他の装置およびアプリケーションがアクセスでき共有できる、ディスクを備える。ネットワーク記憶装置は一般に２つのセグメント、すなわち、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）およびＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）に分けられる。
【０００６】
ＳＡＮは、大規模ネットワークのユーザのために異種のデータ記憶装置を関連するデータ・サーバと相互接続する高速な特殊目的のネットワーク（またはサブネットワーク）である。一般に、ＳＡＮは企業向けの計算資源からなるネットワーク全体の一部である。ＳＡＮは、通常、他の計算資源に対して密接にクラスタ化されているが、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）キャリア技術を用いて、バックアップ記憶およびアーカイブ記憶向けにリモート・ロケーションへ拡張することもできる。
【０００７】
ＮＡＳは、ネットワークのワークステーションのユーザにアプリケーションを提供するローカル・コンピュータに取り付けられているのではなくそれ自体のネットワーク・アドレスで構成されるハードディスク記憶装置である。記憶装置へのアクセスとその管理をローカル・サーバから切り離すことにより、アプリケーション・プログラミングとアプリケーション・ファイルの双方をより迅速に提供することができる。なぜならば、両者が同じプロセッサ・リソースに対して競合しないからである。ＮＡＳはローカル・エリア・ネットワーク（一般には、イーサネット（登録商標）・ネットワーク）に取り付けられ、ＮＡＳにはＩＰアドレスが割り当てられる。ファイル要求はメイン・サーバによってＮＡＳファイル・サーバにマップされる。
【０００８】
上述したことの全ては、様々な意味でアキレス腱となりうる１つの共通点、すなわち、データがディスク・ドライブ、ＣＤドライブ等の物理的な媒体に格納されるという共通点を共有する。
【発明の概要】
【０００９】
本発明は、冗長なデータ転送のための、コンピュータ・プログラム製品を含めた、方法および装置を提供する。
【００１０】
一般に、一態様では、本発明は、相互接続されたコンピュータ・システムのノードから成る複数のネットワークにおいて、データを格納するための要求を第１のネットワーク内のソース・システムから受信し、そのデータを第１のネットワーク内の第１のコンピュータ・メモリに送信し、そのデータの第１のコピーを第２のネットワーク内の第２のコンピュータ・メモリに送信し、第１のネットワーク内のどの物理記憶装置上にも格納せずに継続的にそのデータを第１のコンピュータ・メモリから第１のネットワーク内の他のコンピュータ・メモリに転送し、第２のネットワーク内のどの物理記憶装置上にも格納せずに継続的にそのデータの第１のコピーを第２のコンピュータ・メモリから第２のネットワーク内の他のコンピュータ・メモリに転送することを含む方法を特徴とする。
【００１１】
別の態様では、本発明は、コンピュータ・システムの各ノードが、データおよびデータのコピーを受信し、要求側のシステムからのデータを格納するための要求に応じて、どの物理記憶装置上にも格納せずに継続的にデータおよびデータのコピーを、コンビュータ・メモリからコンピュータ・メモリへ転送するように適合された、少なくとも２つのネットワークを備えたシステムを特徴とする。
【００１２】
本発明の１つまたは複数の実装形態の詳細は添付図面と以下の発明を実施するための形態で詳しく説明する。本発明のさらなる特徴、側面および利点は発明を実施するための形態、図面、および特許請求の範囲から明らかになろう。
【００１３】
添付図面の図において本実施形態は限定ではなく例として示されており、図面においては、同一の参照番号は同一の要素を示す。
【図面の簡単な説明】
【００１４】
【図１】例示的なシステムのブロック図である。
【図２】例示的なユーザ・システムのブロック図である。
【図３】例示的なネットワーク・システムのブロック図である。
【図４】プロセスのフロー図である。
【図５】プロセスのフロー図である。
【発明を実施するための形態】
【００１５】
最終的にデータをディスク・ドライブのような物理的な媒体に格納するためにデータ転送を一時的に使用するピアツーピア・ネットワークと異なり、本発明は連続的な冗長データ転送システムである。すなわち、データおよびデータのコピーが、１つのノード・メモリから別のノード・メモリへ継続的に転送されることによって格納される。データのコピーを、１つまたは複数のネットワーク内で継続的に転送してもよい。
【００１６】
図１に示すように、例示的なシステム１０が、ユーザ・システム１２および幾つかのネットワーク・システム１４、１６、１８、２０、２２を備える。ネットワーク・システム１４、１６、１８、２０、２２の各々をシステム１０内のノードとみなすことができ、かかる１つのネットワーク・システムをネットワーク・システム１４のような中央サーバと指定してもよい。中央サーバを、システム１０内の制御位置と仮定してもよい。ノード１４、１６、１８、２０、２２の各々は、中央サーバ１４の直接の制御下にある、プライベートに制御されるピアのネットワークとして確立することができる。また、ピア型ノードはプライベート・ノードおよびパブリック・ノードの混合であってもよく、したがって、中央サーバ１４の直接の物理的な制御下になくともよい。また、システム１０は、（複数の）中央サーバ１４がいずれのピア型ノードも直接に所有しない、または直接の物理的制御下に置かない、完全なパブリックであってもよい。
【００１７】
一例では、ノード１４、１６、１８、２０および２２をプライベート・ネットワークとみなすことができる。プライベート・ネットワークでは、管理者がノードを制御し、どのノードが中央サーバであるかを指定することができる。システム１０はまた、１つまたは複数の追加ノードを備えることができる。例えば、ノード２４、２６、および２８である。これらのノード２４、２６および２８を、管理者がほとんどまたは全く制御できない、１つまたは複数のパブリック・ネットワークの一部とみなすことができる。
【００１８】
図２に示すように、ユーザ・システム１２は、プロセッサ３０、メモリ３２および入出力（Ｉ／Ｏ）装置３４を備えることができる。メモリ３２は、Ｌｉｎｕｘ、Ａｐｐｌｅ（登録商標）ＯＳ、またはＷｉｎｄｏｗｓ（登録商標）のようなオペレーティング・システム（ＯＳ）３６、１つまたは複数のアプリケーション・プロセス３８、および格納プロセス１００を含むことができ、これらは後に詳細に説明する。アプリケーション・プロセス３８は、ＯｐｅｎＯｆｆｉｃｅまたはＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅのようなユーザ生産性ソフトウェア（ｕｓｅｒ  ｐｒｏｄｕｃｔｉｖｉｔｙ  ｓｏｆｔｗａｒｅ）を備えることができる。Ｉ／Ｏ装置３４は、ユーザ４２に対して表示するためのグラフィカル・ユーザ・インターフェース（ＧＵＩ）４０を備えることができる。
【００１９】
図３に示すように、ネットワーク・システム１４のようなネットワーク・システムの各々は、プロセッサ５０およびメモリ５２を備えることができる。メモリ５２は、Ｌｉｎｕｘ、Ａｐｐｌｅ ＯＳ、またはＷｉｎｄｏｗｓ（登録商標）のようなＯＳ ５４およびデータ転送プロセス２００を備えることができ、これらは後に詳細に説明する。
【００２０】
従来の方法では、アプリケーション・プロセス３８がデータを格納し、検索する必要があった。これらの従来の方法では、データがローカルまたはリモートの物理装置に格納され、データのコピーが、冗長性を提供するために使用され、ローカルに格納されるか、またはディスク・ドライブのようなリモートの物理記憶装置に格納される。そして、幾つかのシステムでは、このデータを異なる断片またはパケットに分割して、物理記憶媒体にローカルまたはリモートに格納することができる。固定的な物理データ記憶装置を使用すると、ユーザ４２が望むと望まないとに関わらず、費用、維持、管理が追加的に必要となり、固定的なデータの物理レコードが生ずることになる。
【００２１】
本発明は、データを格納するために固定的な物理データ記憶を使用することはなく、データの冗長性を提供するために物理的データ記憶装置を使用することもない。データを格納するための要求を中央サーバ１４が格納プロセス１００から受信したとき、データはシステム１０内のノードに送信され、そのノードにおいて、データは、ディスク・ドライブのようなどの物理記憶装置上にも格納されずに、ネットワーク・ノードの各々におけるデータ転送プロセス２００によってシステム１０内のノード・メモリからノード・メモリへ継続的に転送される。データを格納するための要求によって、データの少なくとも１つのコピーが作成され、そのコピーは、セカンダリ・プライベート・ネットワークまたはセカンダリ・パブリック・ネットワーク内のノードに送信され、または、複数のネットワーク上のノードに送信され、そのノードにおいて、セカンダリ・プライベート・ネットワークまたはセカンダリ・パブリック・ネットワーク内のノード・メモリからノード・メモリへそのコピーが継続的に転送される。転送されたデータは、システム１０内の任意の１つのノードのメモリ内において非常に短時間しか存在しない。データおよびデータのコピーはどのネットワーク・ノード内のどの物理記憶媒体にも格納されない。
【００２２】
データを取り出すための要求を中央サーバ１４が格納プロセス１００から受信したとき、システム１０内でノード・メモリからノード・メモリへ転送されている要求されたデータが取り出される。
【００２３】
このように転送されたデータをセグメント化することができ、セグメントを上述のように転送することができる。依然として、セグメント化したデータはどのネットワーク・ノードのどの物理記憶媒体にも格納されず、あるノードのメモリから別のノードのメモリに転送されるだけである。
【００２４】
図４に示すように、格納プロセス１００は、データを格納または取り出すための要求を中央サーバ１４に送信すること（１０２）を含む。要求がデータ取出し要求の場合、格納プロセス１００は中央サーバ１４またはネットワークのノードから要求データを受け取る。
【００２５】
中央サーバ１４への要求がデータ格納要求の場合、格納プロセス１００は、中央サーバ１４からノードの第１の宛先とノードの第２の宛先を受け取り（１０４）、受け取った第１の宛先が表すノードのメモリへデータを転送し、受け取った第２の宛先が表すノードのメモリへそのデータのコピーを転送する（１０６）。
【００２６】
図５に示すように、データ転送プロセス２００は、データを格納するための要求を、第１のネットワーク内のソース・システムからを受け取ること（２０２）を含む。
【００２７】
プロセス２００は、データを第１のネットワーク内の第１のコンピュータのメモリへ送信し（２０４）、データの第１のコピーを第２のネットワーク内の第２のコンピュータのメモリに送信する（２０６）。送信（２０６）を、１つまたは複数のネットワーク内のノードのメモリに対して行ってもよく、それらのネットワークはプライベートであってもパブリックであってもよい。
【００２８】
プロセス２００は、第１のネットワーク内のどの物理記憶装置上にも格納せずに、データを第１のコンピュータ・メモリから第１のネットワーク内の他のコンピュータのメモリへ継続的に転送する（２０８）。
【００２９】
継続的な転送（２０８）には、データが第１のネットワークの特定のノードのメモリ内に存在するかどうかを検出すること、および、どの物理的記憶媒体へもデータを格納せずに、相互接続されたコンピュータ・システムのノードから成る第１のネットワーク内にあるノードの別のコンピュータ・メモリにデータを転送することが含まれる。
【００３０】
プロセス２００は、第２のネットワーク内のどの物理記憶装置上にも格納せずに、データの第１のコピーを第２のコンピュータ・メモリから第２のネットワーク内の他のコンピュータ・メモリへ継続的に転送する（２１０）。
【００３１】
継続的な転送（２１０）には、データの第１のコピーが第２のネットワークの特定のノードのメモリ内に存在するかどうかを検出すること、および、どの物理的記憶装置へもデータを格納せずに、相互接続されたコンピュータ・システムのノードから成る第２のネットワーク内にあるノードの別のコンピュータ・メモリにノードにデータを転送することが含まれる。
【００３２】
１つの具体的な例として、ノードへのエントリ・ポイントにおいて、データは、ノードまたは中央サーバ１４またはユーザとの暗号化された「ハンドシェーク」を受ける。これはカシミヤ・システム（Ｃａｓｈｍｅｒｅ  ｓｙｓｔｅｍ）のようなパブリックまたはプライベートな暗号化システムであることができ、このシステムは、公開鍵および秘密鍵を使用することができる。カシミヤ（Ｃａｓｈｍｅｒｅ）は、暗号化された転送経路とメッセージ・ペイロードを切り離し、これにより、ソースは宛先の一意な公開鍵を使用する単一の公開鍵暗号化を各メッセージに対して実施するだけでよいので、性能が向上する。これは、真の宛先ノードのみがメッセージ・ペイロードを復号化でき、対応する中継グループ内の全てのノードがメッセージ・ペイロードを復号化できるわけではないという利点を有する。カシミヤは、宛先がソースを識別せずに匿名の応答メッセージを送信できるという機能を提供する。これを同様に行うことができ、この場合、ソースが応答経路を作成しそれを転送経路と同様に暗号化する。
【００３３】
別の例では、他のルーティング方式が利用される。
【００３４】
新しいノードおよびノード状態を、性能に基づいてシステム１０に追加し、および／またはシステム１０から削除することができる。ユーザは全てのノードへアクセスすることができ、または、ユーザを、中央サーバ（複数可）によって、またはプライベート、パブリック、もしくはプライベートーパブリック・ネットワークから成る特定のアーキテクチャを介して、特定のノード群または「ノード状態」に分割することができる。
【００３５】
個々のノード、ノード状態、および上位ノードはまた、パブリック・ネットワークまたはプライベート・ネットワーク内における、エクストラネット・ピア、ワイヤレス・ネットワーク・ピア、サテライト・ピア型ノード（ｓａｔｅｌｌｉｔｅ  ｐｅｅｒｅｄ  ｎｏｄｅ）、Ｗｉ−Ｆｉ（登録商標）ピア型ノード（Ｗｉ−Ｆｉ  ｐｅｅｒｅｄ  ｎｏｄｅ）、ブロードバンド・ネットワーク等であってもよい。ピア型ノードまたはユーザを、同一のセキュリティ・システムを使用した任意の有効なピア・ポイントからのシステム１０のルーティング参加者、およびワイヤレス・ピア向けのワイヤレス暗号化方式のような特定のデプロイメントの難題に適したカスタム・ソリューション、等として使用してもよい。
【００３６】
プロセス２００では、リモート・サーバ、ハード・ドライブまたは他の固定的な記憶装置媒体にデータをキャッシュまたは保持するのではなく、データおよびデータのコピーを、ノード・メモリからノード・メモリへ渡し、送達し、転送する。データおよびデータのコピーは、許可されたユーザがそのデータを求めるまで決してダウンロードされない。システム上のユーザは、２人以上のユーザがそのデータにアクセスすることを許可することができる。
【００３７】
プロセス２００における主な目標は、冗長なデータが決して物理記憶装置内に固定されず、実際にはそのデータがノード・メモリからノード・メモリへ継続的に送達または転送されている、冗長なデータの格納および管理システムを生成することである。また、冗長なデータの転送先であるノードの経路を、中央サーバ１４によって変更して、システムの容量に関して調整し、この機能を有さないデータ経路の割合を増加させるためにネットワーク・セキュリティを脆弱にしうる冗長なデータ経路を削除することができる。
【００３８】
本発明を実装して以下の利点のうち１つまたは複数を実現することができる。１つまたは複数のネットワークが、キャッシングまたはダウンロードなしの冗長なデータ記憶装置を作成する。冗長なデータの記憶および管理は、冗長なデータを絶えず送達することにより達成される。
【００３９】
本発明の実施形態を、デジタル電子回路で、またはコンピュータ・ハードウェア、ファームウェア、ソフトウェアで、またはこれらの組合せで、実装することができる。本発明の実施形態を、コンピュータ・プログラム製品、すなわち、情報媒体で明確に具現化されたコンピュータ・プログラムとして実装することができる。情報媒体の例として、例えばプログラム可能プロセッサ、コンピュータ、または複数のコンピュータといったデータ処理機器によって実行するための、またはそのデータ処理機器の動作を制御するための、機械読取可能な記憶装置または伝播信号がある。コンピュータ・プログラムを、コンパイル型言語またはインタプリタ式言語を含めた任意の形式のプログラミング言語で書くことができ、スタンド・アロン・プログラム、モジュール、コンポーネント、サブルーチン、またはコンピュータ環境での使用に適した他のユニットを含む任意の形式で展開することができる。コンピュータ・プログラムを、１つのサイトにある１台のコンピュータまたは複数のコンピュータ、または複数のサイトに渡って分散し通信ネットワークによって相互接続された１台のコンピュータまたは複数のコンピュータ上に展開して実行することができる。
【００４０】
本発明の実施形態の方法ステップを、１つまたは複数のプログラム可能なプロセッサによって実行して、入力データに対して動作して出力を生成することによって本発明の機能を実行することができる。また、方法ステップを、特殊目的論理回路、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）またはＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）により実行することができ、本発明の機器をかかる特殊目的論理回路として実装することができる。
【００４１】
コンピュータ・プログラムの実行に適したプロセッサには、例として、汎用目的のマイクロプロセッサおよび特殊目的のマイクロプロセッサの両方、および任意の種類のデジタル・コンピュータの任意の１つまたは複数のプロセッサが含まれる。一般に、プロセッサは読取専用メモリ、またはランダム・アクセス・メモリ、またはその両方から、命令およびデータを受け取る。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための１つまたは複数のメモリ装置である。一般に、コンピュータもまた、データを格納するための１つまたは複数の大容量記憶装置、例えば磁気ディスク、光磁気ディスク、または光ディスクを含み、またはそれらと動作可能に結合して、それらからデータを受け取り、それらにデータを転送する。コンピュータ・プログラム命令およびデータを具現化するのに適した情報媒体には、例として、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリ装置のような半導体メモリ装置、例えば内部ハードディスクまたは取外し可能ディスクのような磁気ディスク、光磁気ディスク、ＣＤ  ＲＯＭおよびＤＶＤーＲＯＭディスクを含む、全ての形態の不揮発性メモリが含まれる。プロセッサおよびメモリを、特殊目的論理回路によって補完し、または特殊目的論理回路に組み込むことができる。
【００４２】
以上の説明は、本発明の範囲を例示するためのものであり、本発明の範囲を限定するものではないことは理解されよう。本発明の範囲は、添付の特許請求の範囲によって定義される。他の実施形態は添付の特許請求の範囲内にある。
【図１】
2011519442.tif 000003
【図２】
2011519442.tif 000004
【図３】
2011519442.tif 000005
【図４】
2011519442.tif 000006
【図５】
2011519442.tif 000007
【手続補正書】
【提出日】平成22年11月17日(2010.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
相互接続されたコンピューティング装置から成る２つ以上のネットワークにおいて、データを格納するための要求をソース・コンピューティング・システムから受け取るステップと、
前記データを第１のネットワーク内の第１のコンピューティング装置に関連付けられた第１のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記データの第１のコピーを第２のネットワーク内の第２のコンピューティング装置に関連付けられた第２のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記第１のネットワーク内のどのハード・ドライブにも前記データを格納することなく、前記データを前記第１のネットワーク内の各コンピューティング装置のランダム・アクセス・メモリの間で継続的に転送するステップと、
前記第２のネットワーク内のどのハード・ドライブにも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の各コンピューティング装置のランダム・アクセス・メモリの間で継続的に転送するステップと、
前記データを前記第１のネットワーク内の１つまたは複数のランダム・アクセス・メモリから要求するか、または、前記データの前記第１のコピーを前記第２のネットワーク内の１つまたは複数のランダム・アクセス・メモリから要求するステップと
を含むことを特徴とする方法。
【請求項２】
前記データの第２のコピーを、相互接続されたコンピューティング装置から成る第３のネットワーク内の第３のコンピューティング装置に関連付けられた第３のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記第３のネットワーク内のどのハード・ドライブにも前記データの前記第２のコピーを格納することなく、前記データの前記第２のコピーを前記第３のネットワーク内の各コンピューティング装置のランダム・アクセス・メモリの間で継続的に転送するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ネットワークの各々が、１つまたは複数のプライベート・ネットワークとパブリック・ネットワークを備えることを特徴とする請求項１に記載の方法。
【請求項４】
継続的に転送するステップが、
１つまたは複数の因子に基づいて、前記データを受け取るために前記第１のネットワーク内で利用可能なコンピューティング装置のアドレスを決定するステップと、
１つまたは複数の因子に基づいて、前記データの前記第１のコピーを受け取るために前記第２のネットワーク内で利用可能なコンピューティング装置のアドレスを決定するステップと、
前記第１のネットワーク内の前記利用可能なコンピューティング装置の前記アドレスと、前記第２のネットワーク内の前記利用可能なコンピューティング装置の前記アドレスとを中央サーバ装置に送信するステップと、
前記第１のネットワーク内の前記利用可能なコンピューティング装置のコンピュータ・ランダム・アクセス・メモリ内の前記データと、前記第２のネットワーク内の前記利用可能なコンピューティング装置のコンピュータ・ランダム・アクセス・メモリ内の前記データの第１のコピーとにタイムスタンプを適用するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記１つまたは複数の因子はネットワーク・トラフィック分析と利用可能なメモリとを含むことを特徴とする請求項４に記載の方法。
【請求項６】
継続的に転送するステップが、
前記第１のネットワークの特定のコンピューティング装置のコンピュータ・ランダム・アクセス・メモリ内に前記データが存在するかを検出するステップと、
前記第１のネットワーク内のどのハード・ドライブにも前記データを格納することなく、前記データを前記第１のネットワーク内の前記利用可能なコンピューティング装置の前記コンピュータ・ランダム・アクセス・メモリに転送するステップと、
前記第２のネットワークの特定のコンピューティング装置のコンピュータ・ランダム・アクセス・メモリ内に前記データの前記第１のコピーが存在するかを検出するステップと、
前記第２のネットワーク内のどのハード・ドライブにも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の前記利用可能なコンピューティング装置の前記コンピュータ・ランダム・アクセス・メモリに転送するステップと
をさらに含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記データの前記第１のコピーが、ユーザまたはユーザ・アプリケーションによって選択されたプライベート・ネットワークに送信されることを特徴とする請求項３に記載の方法。
【請求項８】
１つまたは複数のコンピューティング装置を備えるコンピューティング・システムによって読取可能なコンピュータ実行可能命令を記憶させた有形の機械読取可能記憶装置であって、前記コンピュータ実行可能命令は、前記コンピューティング・システムに、
データを格納するための要求をソース・コンピューティング・システムから受け取るステップと、
前記データを前記第１のネットワーク内の第１のコンピュータ・システム・ノードに関連付けられた第１のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記データの第１のコピーを第２のネットワーク内の第２のコンピュータ・システム・ノードに関連付けられた第２のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記第１のネットワーク内のどのハード・ドライブにも前記データを格納することなく、前記データを前記第１のネットワーク内の各コンピューティング装置のランダム・アクセス・メモリの間で継続的に転送することを開始するステップと、
前記第２のネットワーク内のどのハード・ドライブにも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の各コンピューティング装置のランダム・アクセス・メモリの間で継続的に転送することを開始するステップと、
前記データを前記第１のネットワーク内の１つまたは複数のランダム・アクセス・メモリから要求するか、または、前記データの前記第１のコピーを前記第２のネットワーク内の１つまたは複数のランダム・アクセス・メモリから要求するステップと
を含む方法を実行させるために前記コンピューティング・システム上で実行可能であることを特徴とする有形の機械読取可能記憶装置。
【請求項９】
前記方法が、
前記データの第２のコピーを、相互接続されたコンピューティング装置から成る第３のネットワーク内の第３のコンピューティング装置内の第３のコンピュータ・ランダム・アクセス・メモリに送信するステップと、
前記第３のネットワーク内のどのハード・ドライブにも前記データの前記第２のコピーを格納することなく、前記データの前記第２のコピーを前記第３のネットワーク内の各コンピュータ・システム・ノードのコンピュータ・ランダム・アクセス・メモリの間で継続的に転送するステップと
をさらに含むことを特徴とする請求項８に記載の有形の機械読取可能記憶装置。
【請求項１０】
前記ネットワークの各々が、１つまたは複数のプライベート・ネットワークおよびパブリック・ネットワークを備えることを特徴とする請求項８に記載の有形の機械読取可能記憶装置。
【請求項１１】
継続的に転送するステップが、
１つまたは複数の因子に基づいて、前記データを受け取るために前記第１のネットワーク内で利用可能な第３のコンピュータ・システム・ノードのアドレスを決定するステップと、
１つまたは複数の因子に基づいて、前記データの前記第１のコピーを受け取るために前記第２のネットワーク内で利用可能な第４のコンピュータ・システム・ノードのアドレスを決定するステップと
を含むことを特徴とする請求項８に記載の有形の機械読取可能記憶装置。
【請求項１２】
前記１つまたは複数の因子はネットワーク・トラフィック分析と利用可能なメモリとを含むことを特徴とする請求項１１に記載の有形の機械読取可能記憶装置。
【請求項１３】
継続的に転送するステップが、
前記第１のネットワークの特定のコンピュータ・システム・ノードに関連付けられたコンピュータ・ランダム・アクセス・メモリ内に前記データが存在するかを検出するステップと、
前記第１のネットワーク内のどのハード・ドライブにも前記データを格納することなく、前記データを前記第１のネットワーク内の前記利用可能なコンピューティング装置に関連付けられたコンピュータ・ランダム・アクセス・メモリに転送するステップと、
前記第２のネットワークの特定のコンピュータ・システム・ノードに関連付けられたコンピュータ・ランダム・アクセス・メモリ内に前記データの前記第１のコピーが存在するかを検出するステップと、
前記第２のネットワーク内のどのハード・ドライブにも前記データの前記第１のコピーを格納することなく、前記データの前記第１のコピーを前記第２のネットワーク内の前記利用可能なコンピュータ・システム・ノードに関連付けられたコンピュータ・ランダム・アクセス・メモリに転送するステップと
をさらに含むことを特徴とする請求項１１に記載の有形の機械読取可能記憶装置。
【請求項１４】
前記データの前記第１のコピーが、ユーザまたはユーザ・アプリケーションによって選択されたプライベート・ネットワークに送信されることを特徴とする請求項１０に記載の有形の機械読取可能記憶装置。
【請求項１５】
各コンピュータ・システム・ノードが、
ランダム・アクセス・メモリ内のデータを受け取り、
要求コンピューティング装置へ前記データを送信するための要求がまだ受け取られていない場合は、前記データを別のコンピュータ・システム・ノードから受け取った後、前記コンピュータ・システム・ノードに関連付けられたどのハード・ドライブにも前記データを格納することなく、前記データを、別のコンピュータ・システム・ノードに関連付けられた少なくとも１つの他のコンピュータ・ランダム・アクセス・メモリに転送し、または、
前記データに対する要求を受け取ったことに応答して、前記データを前記コンピュータ・システム・ノードの前記ランダム・アクセス・メモリから要求コンピューティング装置に送信する
ように適合されたコンピュータ・システム・ノードを備える第１のネットワークと、
各コンピュータ・システム・ノードが、
ランダム・アクセス・メモリ内の前記データのコピーを受け取り、
前記データの前記コピーを別のコンピュータ・システム・ノードから受け取った後、前記コンピュータ・システム・ノードに関連付けられたどのハード・ドライブにも前記データの前記コピーを格納することなく、前記データの前記コピーを、別のコンピュータ・システム・ノードに関連付けられた少なくとも１つの他のコンピュータ・ランダム・アクセス・メモリに転送し、または、
前記データの前記コピーに対する要求を受け取ったことに応答して、前記データの前記コピーを前記コンピュータ・システム・ノードの前記ランダム・アクセス・メモリから要求コンピューティング装置に送信する
ように適合されたコンピュータ・システム・ノードを備える第２のネットワークと
を備えたことを特徴とするシステム。
【請求項１６】
各コンピュータ・システム・ノードがさらに、
そのランダム・アクセス・メモリ内に前記データまたは前記データのコピーが存在するかを検出し、
前記データまたは前記データの前記コピーにタイムスタンプを適用し、
前記別のコンピュータ・システム・ノードの利用可能性に従って、前記各ネットワーク内の別のコンピュータ・システム・ノードのランダム・アクセス・メモリに前記データまたは前記データの前記コピーを転送する
ように適合されたことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記別のコンピュータ・システム・ノードの利用可能性はそのネットワーク・トラフィック量に従って決定されることを特徴とする請求項１６に記載のシステム。
【請求項１８】
各コンピュータ・システム・ノードが前記データまたは前記データの前記コピーを暗号化することを特徴とする請求項１７に記載のシステム。
【国際調査報告】
2011519442.tif 000008
2011519442.tif 000009
2011519442.tif 000010