(57)【特許請求の範囲】
【請求項１】
中央サーバが、ユーザシステムから複数のデータ項目を記憶するリクエストを受信すると、前記ユーザシステムが、ネットワーク構成内で相互接続される各コンピュータシステムノードのうち、前記中央サーバから受信したアドレスにより示されるコンピュータシステムノードに複数のデータ項目のそれぞれを送ることと、
前記中央サーバが、前記コンピュータシステムノードに、互いに独立した前記データ項目を、前記ネットワーク内のコンピュータシステムノードに接続されるいずれの二次記憶装置上に記憶することなく、前記ネットワーク内の前記コンピュータシステムノード間で連続的に転送するように命令することと、
前記中央サーバが、前記ユーザシステムからの各データ項目を取り出すというリクエストに応えて、１つ以上の前記ノードに、前記リクエストされた各データ項目を戻すよう命令すると、前記１つ以上の前記ノードが、前記リクエストされた各データ項目を前記ユーザシステムに転送することと、
前記コンピュータシステムノードが、１つ以上の要因に基づき、ノードメモリ内で検出されたデータ項目を次に受信することが可能なノードのアドレスを決定することとを含み、
前記要因が、１つ以上のネットワークトラフィック解析又は利用可能なメモリを含む、方法。
【請求項２】
前記コンピュータシステムノードが、
前記データ項目のいずれか１つの存在をノードメモリ内で検出することと、
前記検出されたデータ項目をいずれの二次記憶装置上に記憶することなく、他のコンピュータシステムノードに転送することと、
を含む、請求項１に記載の方法。
【請求項３】
前記中央サーバが、
前記相互接続されるコンピュータシステムノードにネットワークを介して接続される前記ユーザシステムから、前記相互接続されるコンピュータシステムノードのネットワーク内で連続的に転送されている特定のデータ項目を取り出すためのリクエストを受信することと、
前記リクエストに応えて、前記特定のデータ項目を前記ユーザシステムに戻すことを前記１つ以上の前記ノードに要求することと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記中央サーバが、前記データ項目が、前記リクエストしているユーザシステムに転送されたという確認メッセージを、前記データ項目を転送したコンピュータシステムノードから受信することを更に含む、請求項３に記載の方法。
【請求項５】
前記中央サーバが、前記リクエストしているユーザシステムから前記特定のデータ項目が受信されたという確認を受信することを更に含む、請求項３に記載の方法。
【請求項６】
前記複数のデータ項目の少なくともいくつかが固有の数値である、請求項１に記載の方法。
【請求項７】
前記複数のデータ項目の少なくともいくつかが固有の数値及び前記固有の数値に関連するテキストを含む、請求項１に記載の方法。
【請求項８】
前記複数のデータ項目の少なくともいくつかが、テキスト、音響、映像、音響映像、又はこれらのあらゆる組み合わせのいずれかを含む、請求項１に記載の方法。
【請求項９】
前記複数のデータ項目の少なくともいくつかが、プログラムイントロダクション、グラフィックパッケージ、イントロダクション音楽、テーマ音楽、過去の映像、又は、よく使用される参考映像を含む群から選択された音響映像の一部分を含む、請求項１に記載の方法。
【請求項１０】
中央サーバとコンピュータシステムノードとを含むコンピュータシステムであって、
前記中央サーバは、
１つ以上のプロセッサと、
ユーザシステムから複数のデータ項目を記憶するリクエストを受信すると、ネットワーク構成内で相互接続する各コンピュータシステムノード内の所定のコンピュータシステムノードのアドレスを前記ユーザシステムに送るための手段と、を含み、
前記コンピュータシステムノードは、
前記ユーザシステムから送信された互いに独立する前記データ項目を、前記ネットワーク内のコンピュータシステムノードに接続されるいずれの二次記憶装置上に記憶することなく、前記ネットワーク内の前記コンピュータシステムノード間で連続的に転送するように命令するための手段と、を含み、
前記中央サーバは、
前記ユーザシステムからの各データ項目を取り出すというリクエストに応えて、１つ以上の前記ノードに、前記リクエストされた各データ項目を前記ユーザシステムに転送するよう命令するための手段と、
を含み、
前記連続的に転送するよう命令するための手段が、１つ以上の要因に基づき、ノードメモリ内で検出されたデータ項目を次に受信することが可能なノードのアドレスを決定することを含み、
前記要因が、ネットワークトラフィック解析または利用可能なメモリの１つ以上を含む、コンピュータシステム。
【請求項１１】
前記コンピュータシステムノードは、
前記データ項目のいずれか１つの存在をノードメモリ内で検出するための手段と、
前記検出されたデータ項目をいずれの二次記憶装置上に記憶することなく、他のコンピュータシステムノードに転送するための手段と、
を含む、請求項１０に記載のコンピュータシステム。
【請求項１２】
ソフトウェアコードを実行するように構成された１つ以上のプロセッサと、
動作を実行するために前記１つ以上のプロセッサにより実行するために構成されたソフトウェアコードを記憶するコンピュータ可読媒体と、
を含むコンピュータシステムであって、
前記動作は、
中央サーバが、ユーザシステムから複数のデータ項目を記憶するリクエストを受信すると、前記ユーザシステムが、ネットワーク構成内で相互接続する各コンピュータシステムノードのうち、前記中央サーバから受信したアドレスにより示されるコンピュータシステムノードに複数のデータ項目それぞれを送ることと、
前記中央サーバが、前記コンピュータシステムノードに、互いに独立する前記データ項目を、前記ネットワーク内のコンピュータシステムノードに接続されるいずれの二次記憶装置上に記憶することなく、前記ネットワーク内の前記コンピュータシステムノード間で連続的に転送するように命令することと、
前記中央サーバが、前記ユーザシステムからの各データ項目を取り出すというリクエストに応えて、１つ以上の前記ノードに、前記リクエストされた各データ項目を戻すよう命令すると、前記１つ以上の前記ノードが、前記リクエストされた各データ項目を前記ユーザシステムに転送することと、
を含み、
前記命令することが、１つ以上の要因に基づき、ノードメモリ内で検出されたデータ項目を次に受信することが可能なノードのアドレスを決定することを含み、
前記要因が、ネットワークトラフィック解析または利用可能なメモリの１つ以上を含む、
コンピュータシステム。
【請求項１３】
前記動作は、
前記中央サーバが、前記相互接続するコンピュータシステムノードにネットワークを介して接続されるユーザシステムから、前記相互接続するコンピュータシステムノードのネットワーク内で連続的に転送されている特定のデータ項目を取り出すというリクエストを受信することと、
前記中央サーバが、前記１つ以上の前記ノードに、前記リクエストされた各データ項目を戻すよう命令すると、前記１つ以上の前記ノードが、前記命令に応えて、前記特定のデータ項目を前記リクエストしているユーザシステムに提供することと、
を更に含む、請求項１２に記載のコンピュータシステム。
【請求項１４】
前記動作が、
前記中央サーバにより、前記特定のデータ項目が、前記リクエストしているユーザシステムに転送されたという確認メッセージを、前記データ項目を転送したコンピュータシステムノードから受信することを更に含む、請求項１３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景技術
[0001]  本明細書内で開示される少なくともいくつかの実施形態はデータストレージに関し、より具体的には、データ転送ストレージネットワークにおける媒体配信に関する。
【０００２】
[0002]  個人、組織、企業及び政府により記憶されるべきデータの量は毎年増加している。単に需要に追いつくことに加えて、組織はストレージに関する他の問題にも直面している。オンラインでリアルタイムのビジネス及び行政へ移行するにつれて、重要なデータはソフトウェア又はやハードウェアの障害による損失又はアクセス不能状態から保護されなければならない。今日、多くのストレージ製品は完全な障害保護を提供しておらず、ユーザをデータ損失又はデータ利用不能の危険性に晒している。例えば、今日販売されている多くストレージソリューションは、例えばプロセッサ障害といったいくつかの障害モードに対する保護は提供するが、例えばディスクドライブ障害といった他の障害に対しては保護を提供しない。多くの組織は、データストレージシステム内のコンポーネント障害によるデータ損失又は利用不能状態の危険性にさらされている。
【０００３】
[0003]  データストレージ市場は通常２つの主要なセグメント、即ち、直接接続型ストレージ（ＤＡＳ）及びネットワークストレージに分けられる。ＤＡＳはサーバに直接接続したディスクを含む。
【０００４】
[0004]  ネットワークストレージは特定のサーバではなくネットワークに取り付けられ、ネットワーク上のほかのデバイス及びアプリケーションによりアクセス及び共有され得るディスクを含む。ネットワークストレージは、通常２つのセグメント、即ち、ストレージエリアネットワーク（ＳＡＮ）及びネットワーク接続ストレージ（ＮＡＳ）に分けられる。
【０００５】
[0005]  ＳＡＮは、より大きなユーザネットワークの代わりに、様々な種類のデータストレージデバイスを関連するデータサーバへ相互連結させる高速特殊用途ネットワーク（又はサブネットワーク）である。通常、ＳＡＮは企業のコンピュータリソースのネットワーク全体の一部である。ストレージエリアネットワークは、大抵他のコンピューティングリソースに近接してクラスタリングするが、ワイドエリア（ＷＡＮ）ネットワークキャリア技術を使用して、バックアップ及びアーカイブストレージを目的として遠隔地まで拡張されてもよい。
【０００６】
[0006]  ＮＡＳは、ネットワークのワークステーションユーザにアプリケーションを提供するローカルコンピュータに接続されるのではなく、自らのネットワークアドレスを用いてセットアップされるハードディスクストレージである。ローカルサーバからストレージアクセス及びその管理を移すことにより、アプリケーションプログラミング及びファイルの両方は、同一のプロセッサリソースを競合して使用しないので、より速く提供することができる。ＮＡＳはローカルエリアネットワーク（通常イーサネット（登録商標）ネットワーク）に接続され、ＩＰアドレスが割り当てられる。ファイルリクエストはメインサーバによりＮＡＳファイルサーバにマッピングされる。
【０００７】
[0007]  上記した全てが、様々な意味でアキレス腱になり得る１つの共通する特徴、つまり、データがディスクドライブやＣＤドライブ等といった物理的な媒体上に記憶されるという特徴を有する。
【発明の概要】
【課題を解決するための手段】
【０００８】
説明の概要
[0008]  本発明は、コンピュータプログラム製品を含むデータ転送ストレージのための方法及び装置を提供する。
【０００９】
[0009]  概して、一態様において、本発明は、相互接続するコンピュータシステムノードのネットワークにおいて、固有のデータ項目をコンピュータメモリに送ることと、互いに独立した固有のデータ項目の各々を、ネットワーク内のいずれかの物理的なストレージデバイス上にも記憶することなく、相互接続するコンピュータシステムノードのネットワーク内の１つのコンピュータメモリから別のコンピュータメモリへと連続的に転送することと、を含む方法を特徴とする。
【００１０】
[0010]  別の態様では、本発明は、相互接続するコンピュータシステムノードの群であって、各ノードは、データ項目を記憶するというリクエストしているシステムからのリクエストに応えて、データ項目をいずれの物理的なストレージデバイス上にも記憶することなく、データ項目を受信し、データ項目を互いに独立してコンピュータメモリからコンピュータメモリへと連続的に転送し、そして、特定のデータ項目を取り出すというリクエストしているシステムからのリクエストに応えて、コンピュータメモリからコンピュータメモリへと連続的に転送されている特定のデータ項目を取り出すように適用される、相互接続するコンピュータシステムノードの群を含む、ネットワークを特徴とする。
【００１１】
[0011]  本発明の１つ以上の実施の詳細を添付の図面及び以下の説明において記載する。本発明の更なる特徴、態様、及び利点は、説明、図面、及び請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１２】
図面の簡単な説明
[0012]  本実施形態は、限定ではなく例示を目的として添付する図面の図に示し、図面中、参照符号は同様の要素を示す。
【図１】[0013]  図１は、例示的なネットワークのブロック図である。
【図２】[0014]  図２は、例示的なユーザシステムのブロック図である。
【図３】[0015]  図３は、例示的なネットワークシステムのブロック図である。
【図４】[0016]  図４は、プロセスのフロー図である。
【図５】[0017]  図５は、プロセスのフロー図である。
【発明を実施するための形態】
【００１３】
詳細な説明
[0018]  データがディスクドライブといった物理的な媒体上に最終的に記憶されるようにデータ転送を一時的な形態で使用するピアツーピアネットワークとは異なり、本発明は連続的なデータ転送システムである。即ち、データをあるノードメモリから別のノードメモリへと連続して転送することによりデータが記憶される。
【００１４】
[0019]  図１で示すように、例示的なネットワーク１０は、ユーザシステム１２及び多数のネットワークシステム１４、１６、１８、２０、２２を含む。各ネットワークシステム１４、１６、１８、２０、２２がネットワーク１０内のノードであるとみなされ、このような１つのネットワークシステムは、例えばネットワークシステム１４といった中央サーバに指定されネットワーク１０内の制御位置を請け負い得る。各ノード１４、１６、１８、２０、２２は、中央サーバ１４の直接制御下でプライベートに制御されるピアのネットワークとして構築され得る。ピアノードは、プライベートノードとパブリックノードの混合であってもよく、従って、中央サーバ１４の直接的な物理的制御下になくてもよい。ネットワーク１０は、中央サーバ１４（又は複数の中央サーバ）がピアノードの直接の所有権又は直接的な物理的制御を有さない完全なパブリックであってもよい。
【００１５】
[0020]  図２で示すように、ユーザシステム１２は、プロセッサ３０、メモリ３２及び入力／出力（Ｉ／Ｏ）デバイス３４を含み得る。メモリ３２は、例えばＬｉｎｕｘ、Ａｐｐｌｅ（登録商標）ＯＳ又はＷｉｎｄｏｗｓ（登録商標）といったオペレーティングシステム（ＯＳ）３６、１つ以上のアプリケーションプロセス３８、及びストレージプロセス１００を含むことができ、これらは以下で詳細に説明する。アプリケーションプロセス３８は、例えばＯｐｅｎＯｆｆｉｃｅ又はＭｉｃｒｏｓｏｆｔ（登録商標）Ｏｆｆｉｃｅといったユーザプロダクティビティソフトウェアを含み得る。Ｉ／Ｏデバイス３４は、ユーザ４２への表示用にグラフィカルユーザインターフェース（ＧＵＩ）を含むことができる。
【００１６】
[0021]  図３で示すように、ネットワークシステム１４等の各ネットワークシステムはプロセッサ５０及びメモリ５２を含み得る。メモリ５２は、例えばＬｉｎｕｘ、Ａｐｐｌｅ（登録商標）ＯＳ又はＷｉｎｄｏｗｓ（登録商標）といったＯＳ５４及びデータ転送プロセス２００を含むことができ、これらは以下で詳細に説明する。
【００１７】
[0022]  従来のシステムでは、アプリケーションプロセス３８はデータを記憶し、取り出す必要がある。このような従来のシステムでは、データはローカル又はリモートの物理的なデバイス上に記憶される。そして、いくつかのシステムでは、このデータは様々なピース又はパケットへとセグメント化され、ストレージの物理的な媒体上にローカルに又はリモートに記憶され得る。固定された物理的なデータストレージデバイスを使用することで、費用、メンテナンス、管理が増し、ユーザ４２の要望に関らずデータの固定された物理的な記録が生成される。
【００１８】
[0023]  本発明は、データを記憶するために固定された物理的なデータストレージを使用しない。中央サーバ１４がストレージプロセス１００からデータを記憶するためのリクエストを受信すると、データはネットワーク１０内のあるノードに向けられ、そこではデータはディスクドライブといったいずれの物理的なストレージ媒体上にも記憶されることなく、各ネットワークノード内でデータ転送プロセス２００によりネットワーク１０内のノードメモリからノードメモリへと連続的に転送される。転送されたデータはネットワーク１０内のいずれか１つのノードのメモリ内に非常に短い時間しか存在しない。データは、いずれのネットワークノード内のいずれの物理的なストレージ媒体上にも記憶されない。
【００１９】
[0024]  同様の方法で、中央サーバ１４がストレージプロセス１００からデータを取り出すリクエストを受信すると、ネットワーク１０内のノードメモリからノードメモリへと転送されているリクエストされたデータが取り出される。
【００２０】
[0025]  この様な方法で転送されたデータはセグメント化され、セグメントは上述したように転送される。セグメント化されたデータは、やはりいずれのネットワークノード内のいずれの物理的なストレージ媒体上にも記憶されず、１つのノードのメモリから別のノードのメモリへと転送されるだけである。
【００２１】
[0026]  図４で示すように、ストレージプロセス１００は、中央サーバ１４にデータを記憶又は取り出すリクエストを送信すること（１０２）を含む。リクエストがデータ取り出しリクエストである場合、ストレージプロセス１００はネットワーク内の中央サーバ１４又はノードからリクエストされたデータを受信する。
【００２２】
[0027]  中央サーバ１４へのリクエストがデータ記憶リクエストである場合、ストレージプロセス１００は中央サーバ１４からノードのアドレスを受信し（１０４）、受信したアドレスにより示されるノードメモリにデータを転送する（１０６）。データを受信するのに利用可能であるノードのアドレスは、例えばネットワークトラフィック解析、利用可能なメモリ、といった１つ以上の要因、及び要因の組み合わせ等に基づいて決定することができる。タイムスタンプは特定のノードのコンピュータメモリ内のデータに適用され得る。
【００２３】
[0028]  図５で示すように、データ転送プロセス２００はデータを記憶又は取り出すリクエストを受信する（２０２）ことを含む。受信したリクエストがデータを記憶するリクエストである場合、データ転送プロセス２００はメモリ内のデータを受信するのに利用可能なノードのアドレスを決定する（２０４）。この決定（２０４）は、ネットワークをピングすること、及び、ネットワーク内のどのノードが利用可能かを決定すること、又はネットワーク内のどのノードが最少トラフィックを有するかを決定すること、又はネットワーク内のどのノードが最大の利用可能メモリを有するかを決定すること、又はこれらの要因のあらゆる組み合わせを含み得る。
【００２４】
[0029]  プロセス２００は、リクエスタがデータを転送するための特定のノードのアドレスを伴うメッセージをユーザシステムに送信する（２０６）。
【００２５】
[0030]  プロセス２００は、ノードメモリ内のデータの存在を検出する（２０８）。プロセス２００はメモリ内のデータをノードのネットワーク内の別のノードへ転送し（２１０）、繰り返しデータを検出し（２０８）ノードメモリからノードメモリへと転送し（２１０）続ける。データがいずれかのノードメモリに届くと、プロセス２００はデータにタイムスタンプを押す（２１２）。
【００２６】
[0031]  転送（２１０）は、ネットワーク内のノードをピングしネットワーク内のどのノードが利用可能かを決定すること、又はネットワーク内のどのノードが最少トラフィックを有するかを決定すること、又はネットワーク内のどのノードが最大の利用可能メモリを有するかを決定すること、又はこれらの要因のあらゆる組み合わせを含み得る。
【００２７】
[0032]  １つの具体例では、ノードに入る時点で、データはノード又は中央サーバ１４又はユーザとの暗号化された「ハンドシェイク」が行われる。これは、例えばカシミア（Cashmere）システムといったパブリック又はプライベート暗号化システムであってよく、パブリック―プライベートキーを使用し得る。カシミアは、暗号化された転送経路及びメッセージペイロードを切り離し、これにより、発信源は宛先の固有のパブリックキーを使用する単一のパブリックキー暗号を各メッセージに行うだけでよくなるため、パフォーマンスが向上する。これにより、正しい宛先ノードのみがメッセージペイロードを解読することができ、対応するリレーグループ内の全てのノードが解読できるわけではないという利点を有する。カシミアは、宛先が発信源の識別情報を知ることなく、匿名の返信メッセージを送信することができるという機能を提供する。これは、発信源が返信経路を生成し、これを転送経路と同様に暗号化する場合において、同様に行われる。
【００２８】
[0033]  別の例では、他のルーティングスキームが利用される。
【００２９】
[0034]  受信したリクエストがノードメモリからノードメモリへと連続的に転送されているデータを取り出すリクエストである場合、データ転送プロセス２００は、暗号化ハンドシェイクを介してデータがノードに入る際にノードにより「検知（sniffed）」され得るハッシュマーク又は他の固有コードを使用して中央サーバ１４においてマッチングする（２１４）。これは、ネットワーク内のノードをピングすることにより起こり得る。プロセス２００は、データが現れそうであると中央サーバ１４が考えるノード又はノード状態に対して、ユーザにデータを戻すようメッセージを直接送信する（２１６）。中央サーバ１４がピングするノード状態を狭めることができるほど、データの取り出しはより効率的になり、中央サーバ１４とデータの転送が可能なノードとの間のトランザクションに必要でないノードへの不必要なメッセージングトラフィックによる負担が少なくなる。
【００３０】
[0035]  正しいノードが、ノードメモリ内のデータをリクエスタに転送するメッセージを受信すると、プロセス２００はノードメモリ内のデータをリクエスタに転送し（２１８）、データがユーザに送信されたという確認メッセージを転送する（２２０）。このルーティングメッセージは、中央サーバ１４に直接送信されてもよく、又は、ネットワーク１０内の他のノードもしくはスーパーノードを介して中央サーバ１４もしくはサーバへ送られてもよい。ユーザがリクエストしたデータを受信すると、ユーザのアプリケーションが機能し、リクエストされたデータが受信されたことを中央サーバ１４に自動的にピングする。従って、ネットワーク１０はいずれの物理的なストレージ媒体上にもデータをキャッシュ、ダウンロード、及び／又は記憶することなく、データストレージを生成する。データストレージ及び管理は、ノードメモリからノードメモリへのデータの連続的なルーティングによって成し遂げられ、転送されたデータは、ユーザがネットワーク１０からユーザにデータを戻すリクエストをした時にダウンロードされるだけである。
【００３１】
[0036]  新しいノード及びノード状態が、パフォーマンスに基づいてネットワーク１０へ追加及び／又はネットワーク１０から削除され得る。ユーザは全てのノードにアクセスしてもよく、又は、中央サーバにより、もしくはプライベート、パブリック、又はプライベート−パブリックネットワークの特定のアーキテクチャを介して特定のノード又は「ノード状態」へセグメント化されてもよい。
【００３２】
[0037]  個別のノード、ノード状態及びスーパーノードは、パブリック又はプライベートネットワーク内のエクストラネットピア、無線ネットワークピア、衛星ピアノード、Ｗｉ―Ｆｉピアノード、ブロードバンドネットワーク等であってもよい。ピアノード又はピアユーザは、使用した同一のセキュリティシステムでの、また、例えば無線ピア用の無線暗号化スキームといった特定の配備の厳密さに適したカスタムソリューションでの任意の有効なピアポイントからのネットワーク１０におけるルーティング参加者として用いられ得る。
【００３３】
[0038]  プロセス２００では、データをリモートサーバ、ハードディスクドライブ又は他の固定ストレージ媒体内にキャッシュ又は保持するのではなく、データはノードメモリからノードメモリへと渡され、ルーティングされ、転送される。データは、認可されたユーザがデータを要求するまでダウンロードされることはない。システム上のユーザは、２人以上のユーザがデータにアクセスすることを認可し得る。
【００３４】
[0039]  プロセス２００における主要目的は、データが物理的なストレージ内に決して固定されることなく、実際にはネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されているデータストレージ及び管理システムを生成することである。データが転送されるノードの経路は、システム容量に合わせて調節され、かつこの機能がないデータ経路の可能性の増加によりネットワークのセキュリティを弱め得るデータの冗長経路を除去するべく中央サーバ１４により変更されもよい。
【００３５】
[0040]  データが物理的なストレージ内に決して固定されることなく、実際にはネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されているデータストレージ及び管理システムは、現在固定媒体ストレージを使用する多くのアプリケーションにおけるバックエンドシステムとして使用することができる。一例では、データがネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されているこのデータストレージ及び管理システムは、媒体配信システムにおいて使用される。ここでは、媒体はあらゆる予測可能なコンテンツ、アーカイブコンテンツ、音響コンテンツ、視覚コンテンツ、及びテキストベースのコンテンツ等を広義に含むものとみなす。予測可能コンテンツは、データ転送ストレージネットワーク内に導入され、例えば特定のユーザシステムのＩＰアドレスに送る場合など必要な時に再表示され得る／取り出され得る。
【００３６】
[0041]  コンテンツは、テキスト、音響、映像、音響映像、又はこれらのあらゆる組み合わせを含み得る。例えば、ネットワークは、プログラムイントロダクション、グラフィックパッケージ、イントロダクション及びテーマ音楽、過去の重要な映像、よく使用される参考映像、といった毎日使用される特定の音響映像の重要部分を連続的に転送することができる。
【００３７】
[0042]  ネットワーク内で連続的に転送されているこのコンテンツは、後に必要とされるかも知れないし、されないかも知れない。より具体的には、最も必要とされそうなコンテンツは、ファイルを記憶するというユーザの個別のニーズに基づくのではなく、使用の可能性に従ってネットワーク内に行き渡っている。記憶する優先順位として必要とされる可能性を利用することに加えて、ネットワークは、「通常のファイルストレージ」に対するユーザによって利用される転送ストレージシステムよりも、記憶されるコンテンツに対して更なる多様な分配リストを使用することができる。これは、ネットワーク自体からファイルを呼び出す／リクエストすることによってではなく、受け手（audience）に対する分配ツールとしてネットワークを使用するコンテンツプロバイダによってマテリアルがユーザに配信されるためである。
【００３８】
[0043]  このような例の１つのが、ストッククォート（株価情報）システムである。ワールドワイドウェブ（「Ｗｅｂ」）上で使用される従来のストッククォートシステムでは、ユーザは、例えばＦｉｒｅｆｏｘ（登録商標）、Ｏｐｅｒａ（登録商標）又はＦｌｏｃｋ（登録商標）といったウェブブラウジング用に使用されるグラフィカルユーザインターフェース（ＧＵＩ）を介してストッククォートウェブサイトへアクセスする。ストッククォートウェブサイトの一例が、Ｙａｈｏｏ！（登録商標）ファイナンシャルである。ユーザは、照会したい株式の取引シンボルを入力する。ストッククォートウェブサイトはこの株式シンボルを受信し、現在値を得るために株式シンボルをストッククォートバックエンドに送信し、ストッククォートバックエンドから現在値を受信し、そしてユーザが閲覧するためにユーザのＧＵＩへ現在値を送信する。現在値は、この例では、例えば１７と１／２のような数値である。
【００３９】
[0044]  数値はデータストレージ及び管理システム内へ配置され、ネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送され得る。記憶すべきメッセージを受信した時にデータファイルが導入されるのと同様に、数値範囲が適切な増加量でデータストレージ及び管理システム内に配置され得る。各数値は、上述したように、データ転送プロセス２００を使用してユーザシステムから中央サーバ１４へと送信される。これにより、多数の異なる固有の数値がネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されることになる。
【００４０】
[0045]  ユーザがＹａｈｏｏ！（登録商標）ファイナンシャル等のウェブアプリケーションから現在の株価をリクエストすると、Ｙａｈｏｏ！（登録商標）ファイナンシャルは、バックエンドストッククォートサーバに現在値をリクエストし、中央サーバ１４はバックエンドストッククォートサーバから直接この価格を通知される。中央サーバ１４は、受信した価格を示す数値をネットワークにリクエストし、数値が判明すると、クォートをリクエストするユーザのインターネットプロトコル（ＩＰ）アドレスにこの数値を送る。
【００４１】
[0046]  別のストッククォートの例では、テキスト内に組み込まれた数値の範囲は、数値がネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されるデータストレージ及び管理システム内へ配置され得る。例えば、「ＩＢＭは２５で売っている」、「ＩＢＭは２５と１／８で売っている」等が配置され得る。ＩＢＭの現在値の結果を受信すると、ファイナンシャルウェブサイトはバックエンドクォートサーバに現在値をリクエストし、中央サーバ１４はバックエンドストッククォートサーバから直接この価格を通知される。中央サーバ１４は、ネットワークに、受信した価格を示す数値を関連するテキストと共にリクエストし、これらが判明すると、この価格をリクエストするユーザのインターネットプロトコル（ＩＰ）アドレスに関連するテキストと共に数値を送る。例えば、ＩＢＭ株価の現在値が２５である時、中央サーバ１４は「ＩＢＭが２５で売っている」というクォートを、当該クォートをリクエストするユーザに配信するようにリクエストする。
【００４２】
[0047]  上記の具体例では、このデータストレージ及び管理システム内に配置される適切な増加量の固有の数値の範囲が使用された。しかし、あらゆる予測可能なコンテンツ、アーカイブデータ及び／又は媒体データがこのデータストレージ及び管理システム内に配置され得る。例えば、選挙結果がこのデータストレージ及び管理システム内に配置されてもよい。より具体的には、「オバマ上院議員が総選挙で勝利した」、「マケイン上院議員が総選挙で勝利した」ことを伝えるニュース項目を、物理的なストレージに決して固定されることなく、実際にはネットワーク内のノードメモリからノードメモリへと連続的にルーティング／転送されているネットワークに配置することができる。
【００４３】
[0048]  ２００８年１１月に選挙結果がわかると、ユーザは選挙結果をリクエストすることができる。ウェブアプリケーションは、このデータストレージ及び管理システムによりサポートされるバックエンドを有するウェブアプリケーションに選挙結果をリクエストするニュースサービスにリクエストを出す。中央サーバ１４は、ニュースサーバにより選挙結果を通知される。中央サーバ１４はネットワーク内のニュース項目を探し出し、ニュース情報をリクエストするユーザのインターネットプロトコル（ＩＰ）アドレスにニュース記事を送る。
【００４４】
[0049]  上記各例では、ネットワークは相互接続するコンピュータシステムノードの群を含み、各ノードは、データ項目を記憶するというリクエストしているシステムからのリクエストに応えて、データ項目をいずれの物理的なストレージデバイス上にも記憶することなく、データ項目を受信し、かつデータ項目を互いに独立して、コンピュータメモリからコンピュータメモリへと連続的に転送し、そして、データ項目を取り出すというリクエストしているシステムからのリクエストに応えて、コンピュータメモリからコンピュータメモリへと連続的に転送されている特定のデータ項目を取り出すように適応される。ネットワーク内の各ノードは、メモリ内のデータ項目の存在を検出し、ノードの利用可能性に従って、相互接続するコンピュータシステムノードの別のノードのコンピュータメモリにデータ項目を転送するように適応される。ノードの利用可能性はネットワークトラフィックの量により決定され得る。各ノードはデータ項目を暗号化することができる。
【００４５】
[0050]  中央ノードは、ノードに入るデータ項目を示すハッシュマークを使用して中央サーバでデータ取り出しリクエストをマッチングし、メモリ内にデータ項目を有すると予測されるノードに、メモリ内のデータ項目をリクエスタに転送するように命令するメッセージを送信し、メモリ内のデータ項目がリクエスタに転送されたという確認メッセージを中央サーバへ送信するように適応され得る。
【００４６】
[0051]  本発明は、以下の１つ以上の利点を実現するために実施され得る。ネットワークは、データをキャッシュ又はダウンロードすることなくデータストレージを生成する。データストレージ及び管理は、データの持続的なルーティングにより達成される。
【００４７】
[0052]  本発明の実施形態は、デジタル電気回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせにおいて実施することができる。本発明の実施形態は、コンピュータプログラム製品、つまり、例えばプログラマブルプロセッサ、コンピュータ、また複数のコンピュータといったデータ処理装置による実行又はその動作の制御のために、例えば機械可読ストレージデバイス又は伝播信号といった情報キャリア内で有形に具現化されたコンピュータプログラムとして実施されてよい。コンピュータプログラムは、コンパイラ言語又はインタープリタ言語を含むあらゆる形式のプログラミング言語で書かれてよく、また、スタンドアロンプログラム、又はモジュール、コンポーネント、サブルーチン、又はコンピュータ環境における使用に適した好適なユニットといったあらゆる形式に導入されてよい。コンピュータプログラムは、１つのコンピュータ、又は、１つのサイトにおける、もしくは複数のサイトにわたり分散されて通信ネットワークにより相互接続する複数のコンピュータで実行されるように導入され得る。
【００４８】
[0053]  本発明の実施形態の方法ステップは、入力データに動作し、かつ出力を生成することによって、本発明の機能を達成するようにコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって行われ得る。方法ステップは、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特殊用途向け集積回路）といった専用論理回路によって行われてもよく、また、本発明の装置がこのような専用論理回路として実施されてもよい。
【００４９】
[0054]  コンピュータプログラムの実行に適したプロセッサは、例えば、汎用マイクロプロセッサ及び特殊用途向けマイクロプロセッサ、ならびに、あらゆる種類のデジタルコンピュータのいずれか１つ以上のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリもしくはそれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための１つ以上のメモリデバイスである。一般に、コンピュータは、例えば磁気、光磁気ディスク、又は光ディスクといったデータを記憶するための１つ以上のマスストレージデバイスを含むか、あるいは、これらのマスストレージデバイスからデータを受信する、もしくはマスデータデバイスにデータを転送する、又はその両方のために動作可能に結合される。コンピュータプログラム命令及びデータを具現化するのに適した情報キャリアには、例として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスである半導体メモリデバイス、例えば内部のハードディスク又は取り外し可能なディスクである磁気ディスク、光磁気ディスク、及びＣＤＲＯＭならびにＤＶＤ−ＲＯＭディスクを含むあらゆる形態の不揮発性メモリが含まれる。プロセッサ及びメモリは、専用ロジック回路によって補完されるか又はその中に組み込まれてよい。
【００５０】
[0055]  上述の記載は、説明を意図したものであり、発明の範囲を限定することを意図したものでないことが理解されるべきであり、発明の範囲は、添付の特許請求の範囲によって定義される。他の実施形態も以下の特許請求の範囲内である。
【図１】
0005900880.tif 000002
【図２】
0005900880.tif 000003
【図３】
0005900880.tif 000004
【図４】
0005900880.tif 000005
【図５】
0005900880.tif 000006