JP2012504284A - データ転送記憶における分解/再構築 - Google Patents

データ転送記憶における分解/再構築 Download PDF

Info

Publication number
JP2012504284A
JP2012504284A JP2011529255A JP2011529255A JP2012504284A JP 2012504284 A JP2012504284 A JP 2012504284A JP 2011529255 A JP2011529255 A JP 2011529255A JP 2011529255 A JP2011529255 A JP 2011529255A JP 2012504284 A JP2012504284 A JP 2012504284A
Authority
JP
Japan
Prior art keywords
data
node
memory
network
decomposed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011529255A
Other languages
English (en)
Other versions
JP5298200B2 (ja
Inventor
フェイン,ジーン
メリット,エドワード
Original Assignee
タジツ トランスファー リミテッド ライアビリティ カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by タジツ トランスファー リミテッド ライアビリティ カンパニー filed Critical タジツ トランスファー リミテッド ライアビリティ カンパニー
Publication of JP2012504284A publication Critical patent/JP2012504284A/ja
Application granted granted Critical
Publication of JP5298200B2 publication Critical patent/JP5298200B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

データ転送記憶における分解/再構築のための方法および装置である。方法には、データを記憶する要求を送信元システムから受信するステップと、データを分解するステップと、分解データをコンピュータメモリに送るステップと、分解データを、ネットワークにおけるどんな物理的記憶装置にも記憶せず、相互接続されたコンピュータシステムノードのネットワークにおける一コンピュータメモリから別のコンピュータメモリに継続的に転送するステップと、が含まれる。継続的に転送するステップには、1つまたは複数の要因に基づいて、分解データを受信するために利用可能なノードのアドレスを決定するステップと、分解データを転送するために前記要求をした者用の特定のノードのアドレスを備えたメッセージを送信元システムに送信するステップと、特定のノードのメモリにおける分解データの存在を検出するステップと、分解データを、どんな物理的記憶装置も記憶せずに、相互接続されたコンピュータシステムノードのネットワークにおけるノードの別のコンピュータメモリに転送するステップと、が含まれる。

Description

本明細書に開示される少なくともいくつかの実施形態は、データ記憶に関し、特に、データ転送記憶における分解/再構築に関する。
個人、組織、企業および政府が記憶しなければならないデータ量は、毎年増えている。単に要求に遅れずについていくことに加えて、組織は、他の記憶問題に直面する。オンライン上でのリアルタイムビジネスおよび政府への移行と共に、重要なデータを、ソフトウェアまたはハードウェア障害による損失またはアクセス不可能性から保護しなければならない。今日、多くのストレージ製品は、完全な障害保護を提供せず、データ損失または利用不可能性の危険にユーザをさらしている。例えば、今日市販されている多くのストレージソリューションは、プロセッサ障害などのいくつかの障害モードに対して保護を提供するが、しかしディスクドライブ障害などの他の障害に対しては提供しない。多くの組織が、そのデータ記憶システムにおけるコンポーネント障害ゆえのデータ損失またはデータ利用不可能性の危険にさらされている。
データ記憶市場は、典型的には、2つの主要な区分、すなわち直接接続ストレージ(DAS)およびネットワークストレージに分割される。DASには、サーバに直接接続されたディスクが含まれる。
ネットワークストレージにはディスクが含まれるが、これらのディスクは、特定のサーバではなくネットワークに接続され、さらに、そのネットワーク上の他の装置およびアプリケーションによってアクセスおよび共有することができる。ネットワークストレージは、典型的には、2つの区分、すなわちストレージエリアネットワーク(SAN)およびネットワーク接続ストレージ(NAS)に分割される。
SANは、より大きなユーザネットワークのために、様々な種類のデータ記憶装置を関連データサーバと相互接続する高速な専用ネットワーク(またはサブネットワーク)である。典型的には、SANは、企業用計算資源の全体的なネットワークの一部である。ストレージエリアネットワークは、通常、他の計算資源のすぐ近くに集められるが、しかしまた、ワイドエリア(WAN)ネットワークキャリヤ技術を用いて、バックアップおよび保管記憶用に遠隔地に拡張してもよい。
NASは、ネットワークのワークステーションユーザにアプリケーションを提供するローカルコンピュータに接続されるのではなく、それ自身のネットワークアドレスで設定されるハードディスクストレージである。記憶アクセスおよびその管理をローカルサーバから取り除くことによって、アプリケーションプログラミングおよびファイルの両方とも、より速くサービスすることができる。なぜなら、それらは、同じプロセッサ資源を求めて競合しないからである。NASは、ローカルエリアネットワーク(典型的にはイーサネット(登録商標)ネットワーク)に接続され、かつIPアドレスを割り当てられる。ファイル要求は、メインサーバによってNASファイルサーバにマッピングされる。
上記の全ては、1を超える点でアキレス腱になり得る1つの共通の特徴を共有する。すなわち、データが、ディスクドライブ、CDドライブなどの物理的媒体に記憶されることである。
本発明は、データ転送記憶における分解/再構築のための、コンピュータプログラム製品を含む方法および装置を提供する。
一般に、一態様において、本発明は、データを記憶する要求を送信元システムから受信するステップと、データを分解するステップと、分解データをコンピュータメモリに送るステップと、分解データを、ネットワークにおけるどんな物理的記憶装置にも記憶せず、相互接続されたコンピュータシステムノードのネットワークにおける一コンピュータメモリから別のコンピュータメモリへ継続的に転送するステップと、を含む方法を特徴とする。継続的に転送するステップには、1つまたは複数の要因に基づいて、分解データを受信するために利用可能なノードのアドレスを決定するステップと、分解データを転送するために要求者用の特定のノードのアドレスを備えたメッセージを送信元システムに送信するステップと、特定のノードのメモリにおいて分解データの存在を検出するステップと、分解データを、どんな物理的記憶装置にも記憶せず、相互接続されたコンピュータシステムノードのネットワークにおけるノードの別のコンピュータメモリに転送するステップと、が含まれる。
別の態様において、本発明は、相互接続されたコンピュータシステムノードのグループを含むネットワークであって、各ノードが、要求しているシステムからの、データを記憶する要求に応じて、分解データを受信し、分解データを、どんな物理的記憶装置にも記憶せず、コンピュータメモリからコンピュータメモリに継続的に転送し、かつ要求しているシステムからの、データを検出する要求に応じて、コンピュータメモリからコンピュータメモリに継続的に転送されている分解データを検索し、各ノードが、さらに、そのメモリにおいて分解データの存在を検出し、タイムスタンプを施し、分解データを、ノードの利用可能性に従って、相互接続されたコンピュータシステムノードにおける別のノードのコンピュータメモリに転送するように構成されているネットワークを特徴とする。
本発明の1つまたは複数の実施の詳細は、添付の図面および以下の説明で述べる。本発明のさらなる特徴、態様および利点は、説明、図面および特許請求の範囲から明白になるであろう。
実施形態は、添付の図面の図において限定ではなく例として示され、図面における同様の参照符号は、同様の要素を示す。
例示的なシステムのブロック図である。 例示的なユーザシステムのブロック図である。 例示的なネットワークシステムのブロック図である。 プロセスの流れ図である。 プロセスの流れ図である。
データが結局はディスクドライブなどの物理的媒体に記憶される、過渡的な方法で(in a transient fashion)データ転送を用いるピアツーピアネットワークとは異なり、本発明は、継続的で冗長なデータ転送システムである。すなわち、データは、一ノードメモリから別のノードメモリにデータを継続的に転送することによって、記憶される。
図1に示すように、例示的なシステム10には、ユーザシステム12および多数のネットワークシステム14、16、18、20、22が含まれる。ネットワークシステム14、16、18、20、22のそれぞれは、システム10におけるノードと見なすことができ、かつネットワークシステム14など、1つのかかるネットワークシステムは、システム10において制御位置を占めることができる中央サーバとして指定してもよい。ノード14、16、18、20、22のそれぞれは、中央サーバ14の直接制御下でプライベート制御ピアネットワークとして確立してもよい。ピアノードはまた、プライベートノードおよびパブリックノードの混合であってもよく、したがって、中央サーバ14の直接的な物理的制御下になくてもよい。システム10はまた、完全にパブリックであってもよく、この場合には、中央サーバ14(または複数サーバ)は、ピアノードのいずれの直接的な所有権も直接的な物理的制御も有しない。
プライベート制御ネットワークとして、ユーザは、ピアノードへのフリーアクセスを有してもよく、または加入サービスもしくは他の取り決めを介して有料アクセスを有してもよい。混合環境、すなわちプライベートおよびパブリックノードの組み合わせを有するネットワークにおいて、中央サーバ14は、データをプライベートネットワークまたはパブリックネットワークに転送すべきかどうかを命令することができる。一例において、中央サーバ14は、データのタイプを識別し、識別されたタイプに従って、データをプライベートネットワークまたはパブリックネットワークに転送する。例えば、動画または音声ファイルを表すデータはパブリックネットワークに送信してもよく、一方で文書(例えば、Microsoft(登録商標)ワード文書)を表すデータは、プライベートネットワークに送信してもよい。
別の例において、中央サーバ14は、ユーザが、ユーザ所有データをどこに転送すべきか、すなわちプライベートネットワークまたはパブリックネットワークに転送すべきかを選択できるようにする。
一例において、ノード14、16、18、20および22は、プライベートネットワークと見なすことができる。プライベートネットワークにおいて、管理者は、ノードを制御し、どのノードが中央サーバであるかを指定してもよい。システム10にはまた、1つまたは複数の追加ノードを含むことができる。例えばノード24、26および28である。これらのノード24、26および28は、管理者がほとんどまたは全く制御権を有しない1つまたは複数のパブリックネットワークの一部と見なしてもよい。
図2に示すように、ユーザシステム12には、プロセッサ30、メモリ32、および入力/出力(I/O)装置34を含むことができる。メモリ32には、以下で詳細に説明するように、Linux、Apple(登録商標)OSまたはWindows(登録商標)などのオペレーティングシステム(OS)36、1つまたは複数のアプリケーションプロセス38、および記憶プロセス100を含むことができる。アプリケーションプロセス38には、OpenOfficeまたはMicrosoft(登録商標)Officeなどのユーザ生産性ソフトウェアを含むことができる。I/O装置34には、ユーザ42に表示するためのグラフィカルユーザインタフェース(GUI)40を含むことができる。
図3に示すように、ネットワークシステム14など、ネットワークシステムのそれぞれには、プロセッサ50およびメモリ52を含むことができる。メモリ52には、以下で詳細に説明するように、Linux、Apple(登録商標)OSまたはWindows(登録商標)などのOS54、およびデータ転送プロセス200を含むことができる。
従来のシステムでは、アプリケーションプロセス38は、データを記憶および検索する必要がある。これらの従来のシステムでは、データは、ローカルまたはリモートの物理的装置に記憶され、データのコピー(これらは、冗長性を提供するために用いられる)が、ローカルに、またはディスクドライブなどのリモートの物理的記憶装置に記憶される。いくつかのシステムでは、このデータは、異なる断片(pieces)またはパケットにセグメント化し、ローカルまたはリモートの物理的記憶媒体に記憶することができる。固定した物理的データ記憶装置の使用は、それがユーザ42の要望であろうとなかろうと、コスト、メンテナンス、管理を追加し、データの、固定した物理的記録を生成する。
本発明は、データを記憶するための固定した物理的データ記憶装置を用いず、データ冗長性を提供するための物理的データ記憶装置を用いない。データを記憶する要求が、記憶プロセス100から中央サーバ14によって受信されると、データは、分解され、中央サーバ14によってシステム10におけるノードに送られ、次にそれは、ディスクドライブなどのどんな物理的記憶媒体にも記憶されることなく、ネットワークノードのそれぞれにおけるデータ転送プロセス200によって、システム10のノードメモリからノードメモリに継続的に転送される。転送された分解データは、システム10における任意の一ノードのメモリに、非常に短い期間のみ常駐する。分解データ(および再構築データ)は、どんなネットワークノードのどんな物理的記憶媒体にも記憶されない。
上記のように、中央サーバ14は、分解データを、プライベートネットワークおよびパブリックネットワーク、またはプライベートおよびパブリックネットワークの組み合わせに送ることができる。上記のように、要求者は、特定の一タイプのデータをプライベートネットワークに送り、一方で、別の特定のタイプのデータをパブリックネットワークに送るように中央サーバ14に指示してもよい。パブリックネットワークに転送するために、要求者に加入料を支払うことを要求してもよい。中央サーバ14はまた、転送されるデータを分解の前に解析し、例えば要求者のタイプまたは設定に依存して、データをプライベートまたはパブリックネットワークに送信することができる。
データを検索する要求が、記憶プロセス100から中央サーバ14によって受信されると、要求されたデータまたはデータのフラグメントまたはパケットが、システム10においてノードメモリからノードメモリに転送されているが、検索され、必要に応じて再構築される。
このようにして転送されるデータは、上記のようにファイルフラグメントまたはパケットにセグメント化することができ、セグメントを転送することができる。セグメント化されたデータは、やはり、どんなネットワークノードのどんな物理的記憶媒体にも記憶されず、単に、一ノードのメモリから別のノードのメモリに転送されるだけである。
図4に示すように、記憶プロセス100には、データを記憶または検索する要求を中央サーバ14に送信すること(102)が含まれる。要求がデータ検索要求である場合には、記憶プロセス100は、要求されたデータを構成するパケットまたはファイルフラグメントの再構築後に、ネットワークにおける中央サーバ14またはノードから要求したデータを受信する。
中央サーバ14への要求が、データ記憶要求である場合には、記憶プロセス100は、ノードのアドレスを中央サーバ14から受信する(104)。記憶プロセス100は、データをパケットまたはファイルセグメントにフラグメント化し(105)、フラグメントまたはファイルセグメント(すなわち分解データ)を、受信されたアドレスが表すノードメモリに転送する(106)。
図5に示すように、データ転送プロセス200には、データを記憶または検索する要求を受信すること(202)が含まれる。受信された要求がデータを記憶する要求である場合には、データ転送プロセス200は、データをパケットまたはファイルセグメントに分解し(203)、メモリにデータを受信するために利用可能なノードのアドレスを決定する(204)。この決定(204)には、ネットワークをピングしてネットワークにおけるどのノードが利用可能であるかを決定すること、またはネットワークにおけるどのノードが最小トラフィックを有するかを決定すること、またはネットワークにおけるどのノードが最大の利用可能なメモリを有するかを決定すること、またはこれらもしくは他の要因の任意の組み合わせを含むことができる。
プロセス200は、分解データを転送するために要求者用の特定のノードのアドレスを備えたメッセージをユーザシステムに送信する(206)。
プロセス200は、ノードメモリにおける分解データの存在を検出する(208)。プロセス200は、メモリにおける分解データをノードネットワークにおける別のノードに転送し(210)、引き続き分解データの検出(208)およびノードメモリからノードメモリへの分解データの転送(210)を繰り返す。分解データがいずれかのノードメモリに到達すると、プロセス200は、タイムスタンプを分解データに添付する(212)。
転送すること(210)には、ネットワークにおけるノードをピングして、ネットワークにおけるどのノードが利用可能であるかを決定すること、またはネットワークにおけるどのノードが最小トラフィックを有するかを決定すること、またはネットワークにおけるどのノードが最大の利用可能なメモリを有するかを決定すること、またはこれらもしくは他の要因の任意の組み合わせを含むことができる。
1つの特定の例では、ノードへのエントリポイントにおいて、分解データは、ノードまたは中央サーバ14またはユーザとの暗号化された「ハンドシェイク」を受ける。これは、公開−秘密鍵を用いることができる、カシミヤシステムなどの公開または秘密暗号システムとすることができる。カシミヤは、暗号化された転送経路およびメッセージペイロードを分離するが、これは、送信元が、宛先の一意の公開鍵を用いる単一公開鍵暗号化を各メッセージに対して実行する必要があるだけなので、性能を改善する。これには、対応する中継グループの全てのノードではなく、真の宛先ノードだけが、メッセージペイロードを復号化できるという利点がある。カシミヤは、宛先が、送信元の識別情報を知らずに匿名の応答メッセージを送信できる能力を提供する。これは、送信元が、転送経路と同じように応答経路を作り、かつそれを暗号化する場合と同じように行われる。
別の例では、他のルーティング方式が利用される。
受信された要求が、ノードメモリからノードメモリに継続的に転送されている分解データを検索する要求である場合には、データ転送プロセス200は、暗号化ハンドシェイクを介して分解データがノードに入るとノードが「感づく」ことができるハッシュマークまたは他の一意の符号を用いて、中央サーバ14においてマッチングする(214)。これは、ネットワークにおけるノードをピングすることによって行うことができる。プロセス200は、分解データが恐らく現れるだろうと中央サーバ14が信じるノードまたはノード状態へ、分解データを再構築(217)後にユーザに返すためのメッセージを、直接送信する(216)。中央サーバ14が、それがピングするノード状態を絞ることができればできるほど、検索は、それだけ効率的になり、かつ中央サーバ14と、分解データを転送できるノードとの間のトランザクションには必要でないノードへの不必要なメッセージトラフィックによる負荷がそれだけ少なくなる。
ひとたび正しいノードが、ノードメモリにおける分解データを転送するメッセージを受信すると、プロセス200は、分解データを再構築し(217)、ノードメモリの再構築データを要求者に転送し(218)、かつ再構築データがユーザに送信されたという確認メッセージを転送する(220)。このルーティングメッセージは、中央サーバ14に直接送信してもよく、またはネットワーク10における他のノード(単複)またはスーパーノード(単複)を介して中央サーバ14または複数サーバに伝達してもよい。要求した再構築データをユーザが受信すると、ユーザのアプリケーションは、要求した再構築データが受信されたことを中央サーバ14に自動的にピングするように機能する。したがって、ネットワーク10は、どんな物理的記憶媒体にデータをキャッシング、ダウンロードおよび/または記憶することもなく、データ記憶を行う。データ記憶および管理は、ノードメモリからノードメモリへのデータの絶え間ないルーティングを介して達成され、転送されるデータは、ネットワーク10からユーザにデータが返されることをユーザが要求する場合にのみダウンロードされる。
性能に基づいて新しいノードおよびノード状態をネットワーク10に追加するか、かつ/またはそこから削除してもよい。ユーザは、全てのノードへのアクセスを有してもよく、または中央サーバ(単複)によって、もしくはプライベート、パブリック、もしくはプライベート−パブリックネットワークの特定のアーキテクチャを介して、あるノードもしくは「ノード状態」にセグメント化してもよい。
個別ノード、ノード状態およびスーパーノードはまた、パブリックまたはプライベートネットワークにおけるエクストラネットピア、無線ネットワークピア、サテライトピアノード、Wi−Fiピアノード、広帯域ネットワークなどであってもよい。ピアノードまたはユーザは、同じセキュリティシステムを用いる任意の有効なピアポイントからの、ネットワーク10におけるルーティング参加者としてと同様に、無線ピアのための無線暗号化方式など、特定の正確な配備に適したカスタムソリューションなどとして用いてもよい。
プロセス200において、リモートサーバ、ハードドライブまたは他の固定記憶媒体にデータをキャッシュまたは保持するのではなく、データは、ノードメモリからノードメモリに伝達され、ルーティングされ、転送される。データは、認可されたユーザがデータを要求するまでは決してダウンロードされない。システム上のユーザは、1人を超えるユーザがデータへのアクセス権を有するのを認可してもよい。
プロセス200における主な目標は、データ記憶および管理システムであって、データが物理的記憶装置には決して固定されず、実際には、ネットワークにおけるノードメモリからノードメモリに継続的にルーティング/転送されているデータ記憶および管理システムを生成することである。また、データが転送されるノードの経路を中央サーバ14によって変更して、システム容量を調整し、この特徴なしではデータ経路の可能性の増加によりネットワークのセキュリティを弱める可能性があるデータの冗長な経路を除去してもよい。
本発明は、次の利点の1つまたは複数を実現するように実施することができる。ネットワークは、キャッシングもダウンロードもなしに、データ記憶を行う。データ記憶および管理は、データの絶え間ないルーティングを介して達成される。
本発明の実施形態は、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実施することができる。本発明の実施形態は、例えばプログラム可能プロセッサ、1つのコンピュータもしくは多数のコンピュータなどのデータ処理装置によって実行するための、またはこれらの動作を制御するためのコンピュータプログラム製品として、すなわち、例えば機械可読記憶装置または伝播信号などの情報キャリアにおいて実体的に具体化されるコンピュータプログラムとして、実施することができる。コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で書くことができ、かつそれは、スタンドアローンプログラム、またはモジュール、コンポーネント、サブルーチンもしくはコンピュータ環境で使用するのに適した他の単位を含む任意の形態で配置することができる。コンピュータプログラムは、1つのサイトにおける1つのコンピュータもしくは多数のコンピュータ上で実行するように配置するか、または多数のサイトにわたって分散し通信ネットワークによって相互接続するように配置することができる。
本発明の実施形態の方法ステップは、入力データに作用して出力を生成することによって本発明の機能を実行するためにコンピュータプログラムを実行する1つまたは複数のプログラム可能プロセッサによって、実行することができる。方法ステップはまた、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することができ、かつ本発明の装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実現することができる。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータにおける任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリ装置と、である。一般に、コンピュータはまた、データを記憶するための1つもしくは複数の大容量記憶装置、例えば磁気ディスク、光磁気ディスクもしくは光ディスクを含むか、またはこれらの大容量記憶装置からデータを受信するか、もしくはこれらにデータを転送するか、もしくは両方のために動作可能に結合される。コンピュータプログラム命令およびデータを具体化するのに適した情報キャリアには、例として半導体メモリ装置、例えばEPROM、EEPROM、およびフラッシュメモリ素子と、磁気ディスク、例えば内部ハードディスクまたは取り外し可能ディスクと、光磁気ディスクと、CD ROMおよびDVD−ROMディスクと、を含む不揮発性メモリの全ての形態が含まれる。プロセッサおよびメモリは、専用論理回路によって補足するか、または専用論理回路に組み込むことができる。
前述の説明が、本発明の範囲を限定するのではなく、例示するように意図され、本発明が、添付の特許請求の範囲によって定義されることを理解されたい。他の実施形態は、添付の特許請求の範囲の範囲内にある。
本発明の実施形態は、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実施することができる。本発明の実施形態は、例えばプログラム可能プロセッサ、1つのコンピュータもしくは多数のコンピュータなどのデータ処理装置によって実行するための、またはこれらの動作を制御するためのコンピュータプログラム製品として、すなわち、例えば機械可読記憶装置などの情報キャリアにおいて実体的に具体化されるコンピュータプログラムとして、実施することができる。コンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で書くことができ、かつそれは、スタンドアローンプログラム、またはモジュール、コンポーネント、サブルーチンもしくはコンピュータ環境で使用するのに適した他の単位を含む任意の形態で配置することができる。コンピュータプログラムは、1つのサイトにおける1つのコンピュータもしくは多数のコンピュータ上で実行するように配置するか、または多数のサイトにわたって分散し通信ネットワークによって相互接続するように配置することができる。

Claims (19)

  1. 相互接続されたコンピュータシステムノードのネットワークにおいて、データを記憶する要求を送信元システムから受信するステップと、
    前記データを分解するステップと、
    前記分解データをコンピュータメモリに送るステップと、
    前記分解データを、前記ネットワークにおけるどんな物理的記憶装置にも記憶せず、前記相互接続されたコンピュータシステムノードのネットワークにおける一コンピュータメモリから別のコンピュータメモリに継続的に転送するステップと、
    を含む方法であって、前記継続的に転送するステップが、
    1つまたは複数の要因に基づいて、前記分解データを受信するために利用可能なノードのアドレスを決定するステップと、
    前記分解データを転送するために前記要求をした者用の特定のノードのアドレスを備えたメッセージを前記送信元システムに送信するステップと、
    前記特定のノードのメモリにおいて前記分解データの存在を検出するステップと、
    前記分解データを、どんな物理的記憶装置にも記憶せずに、前記相互接続されたコンピュータシステムノードのネットワークにおけるノードの別のコンピュータメモリに転送するステップと、
    を含む方法。
  2. 継続的に転送するステップが、前記特定のノードの前記コンピュータメモリにおいて前記分解データにタイムスタンプを施すことをさらに含む、請求項1に記載の方法。
  3. 前記1つまたは複数の要因が、ネットワークトラフィック解析および利用可能なメモリを含む、請求項2に記載の方法。
  4. 前記相互接続されたコンピュータシステムノードのネットワークにおいて継続的に転送されている分解データを検索する要求を前記送信元システムから受信するステップと、
    データを検索する前記要求に応じて、ノードメモリから前記分解データを検索するステップと、
    前記検索された分解データから前記データを再構築するステップと、
    をさらに含む、請求項1に記載の方法。
  5. 検索するステップが、
    ノードメモリに入る前記分解データを表すハッシュマークを用いて、前記データ要求を中央サーバにおいてマッチングするステップと、
    前記分解データをメモリに有すると予想されるノードにメッセージ送信することであって、前記メッセージが、前記分解データを再構築して前記再構築データを前記要求をした者へ転送するように前記ノードに命令するステップと、
    前記再構築データが前記要求をした者に転送されたという確認メッセージを前記中央サーバに送信するステップと、
    を含む、請求項4に記載の方法。
  6. 前記要求したデータが受信されたという確認応答を前記要求をした者から受信することをさらに含む、請求項5に記載の方法。
  7. 前記分解データがパケットである、請求項1に記載の方法。
  8. 前記分解データがファイルセグメントである、請求項1に記載の方法。
  9. 相互接続されたコンピュータシステムノードのネットワークのコンピュータメモリにおいてデータを記憶および検索するための、コンピュータ可読媒体に実体的に具体化されたコンピュータプログラム製品であって、前記コンピュータプログラム製品が、データ処理装置に、
    ネットワークにおいて、データを記憶する要求を送信元システムから受信させ、
    前記データを分解させ、
    前記分解データをコンピュータメモリへ送らせ、
    前記分解データを、前記ネットワークにおけるどんな物理的記憶装置にも記憶せず、前記相互接続されたコンピュータシステムノードのネットワークにおける一コンピュータメモリから別のコンピュータメモリに継続的に転送させ、前記継続的に転送するステップが、
    1つまたは複数の要因に基づいて、前記分解データを受信するために利用可能なノードのアドレスを決定するステップと、
    前記分解データを転送するために前記要求をした者用の特定のノードのアドレスを備えたメッセージを前記送信元システムに送信するステップと、
    前記特定のノードのメモリにおいて前記分解データの存在を検出するステップと、
    前記分解データを、どんな物理的記憶装置にも記憶せず、前記相互接続されたコンピュータシステムノードのネットワークにおけるノードの別のコンピュータメモリに転送するステップと、
    を含むコンピュータプログラム製品。
  10. 継続的に転送するステップが、前記特定のノードの前記コンピュータメモリにおいて前記分解データにタイムスタンプを施すことをさらに含む、請求項9に記載のコンピュータプログラム製品。
  11. 前記1つまたは複数の要因が、ネットワークトラフィック解析および利用可能なメモリを含む、請求項10に記載のコンピュータプログラム製品。
  12. 前記相互接続されたコンピュータシステムノードのネットワークにおいて継続的に転送されている分解データを検索する要求を前記送信元システムから受信するステップと、
    データを検索する前記要求に応じて、ノードメモリから前記分解データを検索するステップと、
    前記検索された分解データから前記データを再構築するステップと、
    をさらに含む、請求項9に記載のコンピュータプログラム製品。
  13. 検索するステップが、
    ノードメモリに入る前記分解データを表すハッシュマークを用いて、前記データ要求を中央サーバにおいてマッチングするステップと、
    前記分解データをメモリに有すると予想されるノードにメッセージ送信することであって、前記メッセージが、前記分解データを再構築して前記再構築データを前記要求をした者へ転送するように前記ノードに命令するステップと、
    前記再構築データが前記要求をした者に転送されたという確認メッセージを前記中央サーバに送信するステップと、
    を含む、請求項12に記載のコンピュータプログラム製品。
  14. 前記要求したデータが受信されたという確認応答を前記要求をした者から受信することをさらに含む、請求項13に記載のコンピュータプログラム製品。
  15. 前記分解データがパケットである、請求項9に記載のコンピュータプログラム製品。
  16. 前記分解データがファイルセグメントである、請求項9に記載のコンピュータプログラム製品。
  17. 相互接続されたコンピュータシステムノードのグループを含むネットワークであって、
    各ノードが、要求しているシステムからの、データを記憶する要求に応じて、分解データを受信し、前記分解データを、どんな物理的記憶装置にも記憶せず、コンピュータメモリからコンピュータメモリに継続的に転送し、かつ前記要求しているシステムからの、データを検出する要求に応じて、コンピュータメモリからコンピュータメモリに継続的に転送されている分解データを検索し、各ノードが、さらに、そのメモリにおける分解データの存在を検出し、タイムスタンプを施し、ノードの利用可能性に従って、前記相互接続されたコンピュータシステムノードにおける別のノードのコンピュータメモリに前記分解データを転送するように構成されている、ネットワーク。
  18. 前記ノードの利用可能性が、そのネットワークトラフィック量に従って決定される、請求項17に記載のネットワーク。
  19. 中央ノードが、ノードに入る前記分解データを表すハッシュマークを用いて、前記データ検索要求を中央サーバにおいてマッチングし、前記分解データをメモリに有すると予想されるノードにメッセージであって、前記分解データを再構築して前記要求をした者へ転送するように前記ノードに命令するメッセージを送信し、メモリにおける前記再構築データが前記要求をした者に転送されたという確認メッセージを前記中央サーバに送信する、請求項17に記載のネットワーク。
JP2011529255A 2008-09-29 2009-09-25 データ転送記憶における分解/再構築 Expired - Fee Related JP5298200B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/241,003 US7636762B1 (en) 2008-09-29 2008-09-29 Disassembly/reassembly in data forwarding storage
US12/241,003 2008-09-29
PCT/US2009/058367 WO2010036886A1 (en) 2008-09-29 2009-09-25 Disassembly/reassembly in data forwarding storage

Publications (2)

Publication Number Publication Date
JP2012504284A true JP2012504284A (ja) 2012-02-16
JP5298200B2 JP5298200B2 (ja) 2013-09-25

Family

ID=41427984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011529255A Expired - Fee Related JP5298200B2 (ja) 2008-09-29 2009-09-25 データ転送記憶における分解/再構築

Country Status (8)

Country Link
US (1) US7636762B1 (ja)
EP (1) EP2332058A4 (ja)
JP (1) JP5298200B2 (ja)
KR (1) KR101252528B1 (ja)
CN (1) CN102203763B (ja)
AU (1) AU2009296495B2 (ja)
CA (1) CA2738642A1 (ja)
WO (1) WO2010036886A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636761B1 (en) 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US7636759B1 (en) 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US8386585B2 (en) 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8478823B2 (en) 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
EP2827547A1 (en) * 2013-07-15 2015-01-21 Alcatel Lucent Secure data storage in a network cloud

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61165889A (ja) * 1985-01-17 1986-07-26 Fujitsu Ltd 多重空間メモリ方式
JPH0668047A (ja) * 1992-08-13 1994-03-11 Nippon Telegr & Teleph Corp <Ntt> 分散システムのネットワーク利用共有記憶方法
JP2005070987A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
JP2007304665A (ja) * 2006-05-08 2007-11-22 Canon Inc ピア・ツー・ピア型のネットワークに接続される装置および分散システム
JP2008192129A (ja) * 2007-01-09 2008-08-21 Docomo Technology Inc ネットワークデータ分散共有システム
JP2008537258A (ja) * 2005-04-20 2008-09-11 マイクロソフト コーポレーション 分散型で非集中型のデータ格納および検索を行うシステムおよび方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787258A (en) * 1996-05-10 1998-07-28 General Signal Corporation Life safety system having a panel network with message priority
US6151395A (en) * 1997-12-04 2000-11-21 Cisco Technology, Inc. System and method for regenerating secret keys in diffie-hellman communication sessions
US7065050B1 (en) 1998-07-08 2006-06-20 Broadcom Corporation Apparatus and method for controlling data flow in a network switch
US6650640B1 (en) 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
GB2357658B (en) * 1999-12-23 2002-09-25 3Com Corp Stackable network unit including burst trasmission of packets
JP3541819B2 (ja) * 2001-06-05 2004-07-14 日本電気株式会社 ループ型ネットワークおよびその運用方法
US7376713B2 (en) 2002-06-27 2008-05-20 International Business Machines Corporation Apparatus, system and method of distributing block data on a private network without using TCP/IP
US7404002B1 (en) * 2003-03-06 2008-07-22 Nvidia Corporation Method and system for broadcasting live data over a network
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US7355965B2 (en) * 2003-05-06 2008-04-08 Overture Networks, Inc. Apparatus and method for rapid detection of unidirectional breaks in a network ring
US6928050B2 (en) * 2003-05-06 2005-08-09 Overture Networks, Inc. Protected switching ring
US7339887B2 (en) * 2003-05-06 2008-03-04 Overture Networks, Inc. Multipoint protected switching ring
US7634582B2 (en) 2003-12-19 2009-12-15 Intel Corporation Method and architecture for optical networking between server and storage area networks
US20070195772A1 (en) * 2004-06-14 2007-08-23 Alloptic, Inc. Distributed igmp processing
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US20070147364A1 (en) 2005-12-22 2007-06-28 Mcdata Corporation Local and remote switching in a communications network
CN101001184A (zh) * 2006-01-09 2007-07-18 华为技术有限公司 一种接入分组数据网络的方法
US7965758B2 (en) 2006-09-15 2011-06-21 Itron, Inc. Cell isolation through quasi-orthogonal sequences in a frequency hopping network
US9350639B2 (en) * 2007-09-06 2016-05-24 Cisco Technology, Inc. Forwarding data in a data communications network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61165889A (ja) * 1985-01-17 1986-07-26 Fujitsu Ltd 多重空間メモリ方式
JPH0668047A (ja) * 1992-08-13 1994-03-11 Nippon Telegr & Teleph Corp <Ntt> 分散システムのネットワーク利用共有記憶方法
JP2005070987A (ja) * 2003-08-22 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
JP2008537258A (ja) * 2005-04-20 2008-09-11 マイクロソフト コーポレーション 分散型で非集中型のデータ格納および検索を行うシステムおよび方法
JP2007304665A (ja) * 2006-05-08 2007-11-22 Canon Inc ピア・ツー・ピア型のネットワークに接続される装置および分散システム
JP2008192129A (ja) * 2007-01-09 2008-08-21 Docomo Technology Inc ネットワークデータ分散共有システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012022732; Wojciech PURCZYNSKI, Michal ZALEWSKI: 'Juggling with packets: floating data storage' Internet Archive , 20031017 *

Also Published As

Publication number Publication date
WO2010036886A1 (en) 2010-04-01
EP2332058A4 (en) 2015-01-21
JP5298200B2 (ja) 2013-09-25
US7636762B1 (en) 2009-12-22
CN102203763B (zh) 2014-05-14
AU2009296495A1 (en) 2010-04-01
CA2738642A1 (en) 2010-04-01
AU2009296495B2 (en) 2012-10-25
CN102203763A (zh) 2011-09-28
EP2332058A1 (en) 2011-06-15
KR101252528B1 (ko) 2013-04-10
KR20110059658A (ko) 2011-06-02

Similar Documents

Publication Publication Date Title
JP5298200B2 (ja) データ転送記憶における分解/再構築
JP5526137B2 (ja) 選択的データ転送ストレージ
US7636763B1 (en) Mixed network architecture in data forwarding storage
JP5291181B2 (ja) データファイル転送の記憶および検索
JP5900880B2 (ja) データ転送ストレージネットワークにおける媒体配信
JP5140765B2 (ja) データ転送記憶における測定
US8458285B2 (en) Redundant data forwarding storage
US7430584B1 (en) Data forwarding storage
JP5834294B2 (ja) データ転送ストレージにおける暗号化スキームの使用
JP5337240B2 (ja) 広告転送用記憶および検索ネットワーク
KR20110034669A (ko) 멀티홈 데이터 전달 저장 방법 및 장치
US8478823B2 (en) Selective data forwarding storage

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130313

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Ref document number: 5298200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees