JP2014139824A - 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除 - Google Patents

複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除 Download PDF

Info

Publication number
JP2014139824A
JP2014139824A JP2014061617A JP2014061617A JP2014139824A JP 2014139824 A JP2014139824 A JP 2014139824A JP 2014061617 A JP2014061617 A JP 2014061617A JP 2014061617 A JP2014061617 A JP 2014061617A JP 2014139824 A JP2014139824 A JP 2014139824A
Authority
JP
Japan
Prior art keywords
storage cluster
index
storage
data
cluster
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
JP2014061617A
Other languages
English (en)
Other versions
JP5902222B2 (ja
Inventor
Datuashvili Gia
ダツアシビリ,ギア
Kesselman Alexander
ケッセルマン,アレクサンダー
Drobychev Alexandre
ドロビチェフ,アレクサンドル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2014139824A publication Critical patent/JP2014139824A/ja
Application granted granted Critical
Publication of JP5902222B2 publication Critical patent/JP5902222B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散型データ複製システムにおいて、冗長な複製の状態を反映する。
【解決手段】分散型データ複製システムにおける装置群のうちの1つの装置によって、方法が実行される。方法は、分散型データ複製システムにおけるオブジェクトのインデックスを記憶することを含み、そのインデックスは、オブジェクトが、分散型データ複製システム内の複数の装置によって局部的に記憶される間に複製される。方法は、また、インデックスの少なくとも一部のスキャンを実行すること、およびそのインデックスのスキャンに基づいて、オブジェクトの少なくとも1つのの冗長な複製を識別することを含む。方法は、さらに、冗長な複製を重複排除すること、および冗長な複製の状態を反映するためにインデックスを更新することを含む。
【選択図】図1

Description

背景
企業コンピューティングランドスケープは、中央サービスアーキテクチャが分散型ストレージクラスタへ移行したという点で、ストレージアーキテクチャにおいて抜本的な変化をもたらした。ビジネスは記憶効率を増加するための手法を模索しているので、汎用コンピュータから構築されるストレージクラスタは、新しいデータ量の多いアプリケーションのための高い性能、利用可能性、およびスケーラビリティを、モノリシックディスクアレイと比較して、わずかなコストで供給し得る。ストレージクラスタの全潜在能力を解き放つために、データは複数の地理的位置にわたって複製され、それによって、利用可能性を増大させるとともに、クライエントからのネットワーク距離を低減する。
データの重複排除は、重複オブジェクトを識別し、重複を除去することによって必要とされる記憶空間を低減し得る。結果として、データ重複排除は、ストレージ産業について非常に重要となりつつあり、多くの重複を含み得る大規模システムの必要性によって促進されつつある。
要約
1つの実行例によれば、方法は、分散型データ複製システムにおける、装置群のうちの1つの装置によって実行され得る。方法は、分散型データ複製システムにおいて、オブジェクトのインデックスを記憶することを含み、オブジェクトの複製が分散型データ複製システムにおける複数の装置によって局部的に記憶される間に、そのインデックスが複製される。方法は、そのインデックスの少なくとも一部のスキャンを実行すること、および、インデックのスキャンに基づいて、オブジェクトの少なくとも1つの冗長な複製を識別することも含み得る。方法は、さらに、インデックスの一部に重複排除レコードを書き込むことによって、冗長な複製の重複排除を行なうことを含み得る。
他の実行例によれば、分散型データ複製システムにおける装置群のうちの1つの装置は、分散型データ複製システムにおけるオブジェクトのインデックスを記憶するための手段と、インデックスの変化を書き込んでオブジェクトのうちの1つの複製の状態を指定するための手段と、そのインデックスへの変化を分散型データ複製システムにおける複数の装置に複製するための手段と、インデックスの少なくとも一部のスキャンを実行するための手段と、インデックスのスキャンに基づいてオブジェクトのうちの1つの冗長な複製を識別するための手段と、冗長な複製を重複排除するための手段とを含み得る。
さらに他の実行例によれば、システムは、指令、オブジェクトのデータストア、およびオブジェクトのインデックスを記憶するためのメモリと、プロセッサとを含み得る。プロセッサは、メモリ内の指令を実行して、データストア内のオブジェクトの状態を識別し、その状態は、オブジェクトが複製を有しているか否か、および削除リクエストがそのオブジェクトに関連しているか否かに関連し、プロセッサは、オブジェクトの状態に基づいて重複排除指示レコードをそのインデックスに書き込み、その重複排除指示レコードを伴うインデックスを1つまたはより多くの装置に複製し、その1つまたはより多くの装置から、そのオブジェクトに関連する他の重複排除指示レコードを受信し、重複排除指示レコードおよび他の重複排除指示レコードは、そのオブジェクトの1つまたはより多くの複製の
削除のための基準を提供する。
さらに他の実行例によれば、1つまたより多くの装置によって実行される方法は、分散型データ複製システムにおける複数の装置内のオブジェクトのインデックスを記憶すること、およびそのオブジェクトを局部的に記憶する間に、分散型データ複製システムを通してそのインデックスを複製することを含み、各装置はそのインデックスの特定のサブセットにおけるオブジェクトの重複排除に関与し、方法は、そのインデックスのサブセットの各々のスキャンを実行してそのスキャンに基づいて冗長な複製を識別すること、その冗長を重複排除すること、および進行中の削除リクエストを有する複製を伴う装置からのオブジェクトを、以前に重複排除された複製を伴う装置に自動的にコピーすることをさらに含み得る。
さらなる実行例によれば、コンピュータ読取可能メモリは、コンピュータ実行可能指令を含み得る。コンピュータ読取可能メモリは、分散型データ複製システムにおけるオブジェクトのインデックスの一部のスキャンを実行するための1つまたはより多くの指令と、そのインデックスの一部のスキャンに基づいてオブジェクトのうちの1つの複製の冗長な複製を識別するための1つまたはより多くの指令と、その冗長な複製を重複排除するための1つまたはより多くの指令とを含み得る。
図面の簡単な説明
添付の図面は、この明細書に含まれるとともにこの明細書の一部を成し、明細書に記載される1つまたはより多くの実施形態を例示し、その記述とともに、これらの実施形態を説明する。
本明細書に記載される方法およびシステムが実現され得る例示的なネットワークの図である。 図1のファイルシステムの例示的な構成を示す図である。 図1のストレージクラスタの例示的な要素を示す図である。 図1の例示的なストレージクラスタの機能ブロック図である。 分散型マルチマスタデータ複製システムのインデックスにおいて用いられ得る、例示的なレコード構造を示す図である。 クライエント起動されるアップロード/削除動作を管理するための例示的なプロセスのフローチャートである。 クライエント起動されるアップロード/削除動作を管理するための例示的なプロセスのフローチャートである。 分散型マルチマスタデータ複製システムにおける重複排除を実行するための例示的なプロセスのフローチャートである。 削除リクエストを管理するための例示的なプロセスのフローチャートである。 重複した複製を除去するための例示的なプロセスのフローチャートである。 分散型マルチマスタデータ複製システムにおいて、バンド幅消費を最適化するとともに時間遅れを低減するための例示的なプロセスのフローチャートである。 本明細書に記載された実行例に従う、例示的なグローバルインデックスの一部を示す図である。
詳細な説明
以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照番号は、同じまたは類似の要素を特定し得る。また、以下の詳細な説明は、本発明を限定するものではない。
本明細書に記載されるシステムおよび/または方法は、不変オブジェクト(immutable object)についての利用可能性、活性(liveness)および一貫性保証を提供する複製されたストレージクラスタのための、非同期分散型重複排除アルゴリズムを提供し得る。本明細書に記載される実行例は、分散型マルチマスタデータ複製システムの下部複製層を用いて、異なるストレージクラスタ間のコンテンツアドレス可能インデックス(本明細書においては、「グローバルインデックス」とも称する。)を複製し得る。グローバルインデックスの各オブジェクトは、固有のコンテンツ処理(たとえば、ハッシュ値またはデジタル署名)を有し得る。本明細書に記載される実行例においては、冗長な複製の除去プロセスが、少なくとも1つの活性中の複製を保持し得る。
例示的なネットワーク構成
図1は、本明細書において説明されるシステムおよび方法が実行され得る例示的なシステム100の図である。システム100は、ネットワーク130を介して接続される、クライエント110−1〜110−N(総称してクライエント110、および個々にクライエント110とも称する。)およびストレージクラスタ120−1〜120−M(総称してストレージクラスタ120、および個々にストレージクラスタ120とも称する。)を含む。ストレージクラスタ120は、(図1の点線によって示されるような)ファイルシステム140を形成する。
ネットワーク130は、ローカルエリアネットワーク(local area network:LAN)、広域ネットワーク(wide area network:WAN)、電話回線ネットワーク(たとえば、公衆交換電話網(Public Switched Telephone Network:PSTN))、イントラネット、インターネット、類似または非類似ネットワーク、あるいはネットワークの組み合わせのような、1つまたはより多くのネットワークを含み得る。クライエント110およびストレージクラスタ120は、有線または無線接続を介してネットワーク130と接続し得る。
クライエント110は、パーソナルコンピュータ、無線電話、携帯情報端末(personal digital assistant:PDA)、ラップトップ、または他のタイプの通信装置、および/または、これらの装置のうちの1つにおいて実行されるスレッドまたはプロセスのような、1つまたはより多くのタイプの装置を含み得る。一実行例においては、クライエント110は、そのクライエント110に代わってファイルデータを読出しまたは修正する(たとえば、書き込む)ためにストレージクラスタ120と通信するアプリケーションを含み、あるいはアプリケーションにリンクされる。
ストレージクラスタ120は、本明細書で説明される態様で情報を記憶し、処理し、検索し、およびまたは提供し得る1つまたはより多くのサーバ装置、あるいは、他のタイプのコンピュータまたは通信装置を含み得る。一実行例においては、ストレージクラスタ120は、ファイルに対して、大規模でランダムな読出し/書込みアクセスデータストアを維持することが可能な、1つまたはより多くのサーバ(たとえば、コンピュータシステムおよび/またはアプリケーション)を含み得る。ストレージクラスタ120のデータストアは、変化が生じた場合に、インデキシングシステムが迅速にインデックスの一部を更新することを許可し得る。ストレージクラスタ120のデータストアは、1つまたはより多くのテーブル(たとえば、ユニフォームリソースロケータ(uniform resource locator:URL)ごとに1つの列を含む文書テーブル、URL以外の値によって検索される補助テーブルなど)を含み得る。一例においては、ストレージクラスタ120は、非常に大規模(たとえば、数千のサーバにわたるペタバイトのデータ)に設計され得る構造データ(たとえば、文書のランダムアクセスストレージクラスタ)を管理するための、分散型記憶システム(たとえば、チャン(Chang)らによって書かれた「ビッグテーブル:構造データ用の分散型記憶システム(Bigtable: A Distributed Storage System for Structured Data)」、第7回OSDI会報、205〜218ページ(2006年11月)における「ビッグテーブル(Bigtable)」)に含まれ得る。
図1には示されていないが、システム100は、1つまたはより多くの専用の民生サーバまたはハブのような、多数の他の要素を含み得る。民生サーバは、たとえば、クライエント110によるアクセスのために、1つまたはより多くのストレージクラスタ120からのデータストアの読出し専用コピーを記憶し得る。ハブは、たとえば、1つまたはより多くの民生サーバへ分配するために、1つまたはより多くのストレージクラスタ120からのデータストアの読出し専用コピーを記憶し得る。
例示的なストレージクラスタ構造
図2は、ファイルシステム140の例示的構成の図である。図2に示されるように、ファイルシステム140は、ストレージクラスタ120−1、120−2、120−3、および120−4を含み得る。一実行例においては、ファイルシステム140は、分散型マルチマスタデータ複製システムであり、ストレージクラスタ120−1、120−2、120−3、および120−4の各々は、他のストレージクラスタについてのマスタサーバとして動作し得る。ファイルシステム140においては、データは、(たとえば、複数の地理的場所において)ストレージクラスタ120−1、120−2、120−3、および120−4にわたって複製され、データ利用可能性を増加するとともにクライエント(たとえば、クライエント110)からのネットワーク距離を低減し得る。一般的に、分散型オブジェクトおよび参照は、異なるストレージクラスタ120において、動的に生成され、変化され、模造され、そして削除され得、下部データ複製層(図示せず)は、書込み順の忠実性を維持して、すべてのストレージクラスタ120が同じデータのバージョンに至ることを保証する。したがって、データ複製層は、単一のオブジェクトについての同じ複製についての書込み順を遵守する。
分散型マルチマスタデータ複製システムにおけるすべてのオブジェクトのグローバルインデックスは、各ストレージクラスタ120に関連し得る。各記憶されたオブジェクトは、グローバルインデックスにおいて、(ハッシュ値、デジタル署名などのような)固有のコンテンツ処理によってリスト化され得る。選択されたストレージクラスタは、各々、グローバルインデックスにおけるコンテンツ処理の個別の領域に関与するように割り当てられ得る。たとえば、単一のストレージクラスタ120は、特定のコンテンツ処理に関連するオブジェクトの重複排除に関与し得る。1つのストレージクラスタによってなされたグローバルインデックスへの変更は、他のストレージクラスタに複製され得る。
図2は、ファイルシステム140の例示的な機能要素を示すが、他の実行例においては、ファイルシステム140は、図2に記載されているよりも、より少ない要素、追加的な要素、異なる要素、または異なった配置の要素を含み得る。さらの他の実行例においては、ファイルシステム140の1つまたはより多くの要素は、ファイルシステム140の1つまたはより多くの要素によって実行されるものとして記述された1つまたはより多くのタスクを実行し得る。
図3は、ストレージクラスタ120の例示的な要素の図である。ストレージクラスタ120は、バス310と、プロセッサ320と、メインメモリ330と、読み取り専用メモリ(ROM)340と、記憶装置350と、入力装置360と、出力装置370と、通信インターフェース380とを含み得る。バス310は、ストレージクラスタ120の要素間の通信を許可する、1つまたはより多くの導体を含み得る。
プロセッサ320は、指令を解釈して実行し得る、任意のプロセッサまたはマイクロプロセッサを含み得る。メインメモリ330は、プロセッサ320によって実行される情報および指令を記憶し得る、ランダムアクセスメモリ(RAM)または他のタイプのダイナミック記憶装置を含み得る。ROM340は、プロセッサ320による使用のための、静的情報および指令を記憶し得る、ROM装置または他のタイプのスタティック記憶装置を含み得る。記憶装置350は、磁気およびまたは光記録媒体、ならびにそれに対応するドライブを含み得る。たとえば記憶装置350は、持続性記憶を提供する1つまたはより多くのローカルディスクを含み得る。一実行例においては、ストレージクラスタ120は、ファイルシステム140に記憶されたオブジェクトのためのメタデータを、メインメモリ330および/または記憶装置350のような1つまたはより多くのコンピュータ読取可能媒体内に維持し得る。たとえば、ストレージクラスタ120は、分散型マルチマスタデータ複製システムにおいて記憶されたすべてのオブジェクトのために、記憶装置350内にグローバルインデックスを記憶し得る。
入力装置360は、キーボード、キーパッド、ボタン、マウス、ペンなどのような、操作者がストレージクラスタ120に情報を入力することを許可する1つまたはより多くの機構を含み得る。出力装置370は、ディスプレイ、発光ダイオード(light emitting diode:LED)などを含む、操作者に情報を出力する1つまたはより多くの機構を含み得る。通信インターフェース380は、ストレージクラスタ120が、他の装置および/またはシステムと通信できるようにする、任意の送受信機のような機構を含み得る。たとえば、通信インターフェース380は、他のストレージクラスタ120および/またはクライエント110と通信するための機構を含み得る。
図4は、ストレージクラスタ120の機能ブロック図を示す。図4に示されるように、ストレージクラスタ120は、データストア410および重複排除論理420を含み得る。一実行例においては、図4に示されるように、データストア410が、ストレージクラスタ120内に設けられる。他の実行例においては、データストア410のいくつかまたはすべては、ストレージクラスタ120との通信により、インデックスシステムに関連する外部メモリ装置(図示せず)のような、システム100の1つまたはより多くの装置内に記憶され得る。
データストア410は、複製インデックスストア412およびローカルオブジェクトストア414を含み得る。複製インデックスストア412は、分散化マルチマスタデータ複製システムの複製層の一部として含まれ得る。複製インデックスストア412は、グローバルインデックスに関連する情報を記憶し得る。複製インデックスストア412の少なくとも一部は、複数のストレージクラスタ120において複製され得る。各複製インデックスストア412についての複製の数は、ユーザ設定可能であり得る。ローカルオブジェクトストア414は、ストレージクラスタ120において局部的にオブジェクトを記憶し得る。ローカルオブジェクトストア414は、クライエント(たとえば、クライエント110)によってアップロードされた画像またはビデオのような、ファイルを含み得る。
複製削除論理420は、分散化マルチマスタデータ複製システム内のストレージクラスタ(たとえば、ストレージクラスタ120−1、120−2、120−3、および120−4)から冗長な複製を除去するための論理を含み得る。各参加ストレージクラスタについての複製削除論理420は、グローバルインデックスの特定のセクションに関与するように割り当てられ得る。たとえば、複製削除論理420は、グローバルインデックスについてのコンテンツ処理の特定の範囲に割り当てられ得る。したがって、分散化マルチマスタデータ複製システム内の1つのストレージクラスタだけが、システム内の複製オブジェクトについての破壊的操作(destructive operation)(たとえば、複製の削除)を実行することができる。
重複排除を容易にするために、レコードが重複排除論理420によって生成され、特定のコンテンツ処理に関連するグローバルインデックスの一部に追加され得る。レコードは、たとえば、活性中の複製を示すための「データ(Data)」指示子、実行中の削除リクエストを示す「削除リクエスト(DeleteRequest)」指示子、および重複排除のために選択された複製を示す「重複排除(Deduped)」指示子を含み得る。レコードフォーマットおよびその使用は、以下でより詳細に説明される。
図4は、ストレージクラスタ120の例示的な機能要素を示すが、他の実行例においては、ストレージクラスタ120は、図4に示されたものよりも、より少ない機能要素、追加の機能要素、異なる機能要素、または、異なる配列の機能要素を含み得る。さらに他の実行例においては、ストレージクラスタ120の1つまたはより多くの機能要素は、1つまたはより多くの他の機能要素によって実行されるものとして記述される1つまたはより多くの他のタスクを実行し得る。
例示的なレコード構造
図5は、例示的な実行例においてグローバルインデックスに書き込まれ得る、重複排除指示子レコードについての例示的なレコード構造500の図を提供する。重複排除指示子レコードは、オブジェクト複製の特定のコンテンツ処理を有するグローバルインデックスに関連し得る。図5に示されるように、レコード構造500は、ストレージクラスタ識別子(ID)セクション510と、記憶位置セクション520と、指示セクション530とを含み得る。ストレージクラスタ識別セクション510は、レコードが書き込まれるオブジェクト複製を記憶しているストレージクラスタ120についての固有の識別(たとえば、「クラスタID」)を含み得る。位置セクション520は、ストレージクラスタ識別セクション510によって識別されたストレージクラスタ120における複製の位置についてのアドレスを含み得る。指示セクション530は、たとえば、「データ」指示子、「削除リクエスト」指示子、または「重複排除」指示子を含み得る。
レコード構造500は、「クラスタID:位置:指示」の形式でリスト化され得る。たとえば、複製のためのレコードは、ストレージクラスタ120−1によって、レコード「01:234523/2000:削除リクエスト」でグローバルインデックスに追加され得、ここで、「01」はストレージクラスタ120−1のクラスタIDであり、「234523/2000」はストレージクラスタ120−1内の複製が記憶される位置であり、「削除リクエスト」は指示子である。ストレージクラスタ120−2における同じオブジェクトの他の複製のレコードは、「02:234544/1000:データ」であり得、ここで、「02」はストレージクラスタ120−2のクラスタIDであり、「234544/1000」はストレージクラスタ120−2における位置であり、「データ」は指示子である。
例示的なプロセスフロー
図6Aおよび図6Bは、クライエント起動アップロード/削除動作を管理するための例示的なプロセスのフローチャートである。図6Aは、クライエントからオブジェクトをアップロードする例示的なプロセス600についてのフローチャートを示す。図6Bは、クライエントによって削除されるオブジェクトを除去する例示的なプロセス650についてのフローチャートを示す。一実行例においては、プロセス600および650は、ストレージクラスタ120の1つによって実行され得る。プロセス600および650は、クライエント(たとえば、クライエント110)の動作に応答して実行され得る。以下に説明されるプロセス600および650の特有の例については、参照は、ファイルシステム140のストレージクラスタ120−1に対してなされ、ストレージクラスタ120は、クラスタID「01」を含む。
図6Aを参照して、プロセス600は、アップロードファイルが、クライエントから受信されたると開始し得る(ブロック610)。たとえば、ストレージクラスタ120−1は、クライエント110のうちの1つから新しいファイルを受信し得る。アップロードファイルは記憶され(ブロック620)、アップロードファイルについての「データ」指示子がグローバルインデックスに書き込まれ得る(ブロック630)。たとえば、ストレージクラスタ120−1は、メモリ(たとえば、記憶装置350)にアップロードファイルを記憶し、オブジェクトについてのコンテンツ処理をグローバルインデックスに追加し得る。ストレージクラスタ120−1は、また、データレコード(たとえば、「01:位置:データ」)を、オブジェクトのコンテンツ処理によってアドレス指定された、複製されたグローバルインデックスに書き込み得る。
図6Bを参照して、プロセス650は、削除ファイルの通知が受信されると開始し得る(ブロック660)。たとえば、ストレージクラスタ120−1は、クライエント110のうちの1つがファイルを削除した指示を受信し得る。削除リクエストが起動され(ブロック670)、削除ファイルについての「削除リクエスト」指示子がグローバルインデックスに書き込まれ得る(ブロック680)。たとえば、ストレージクラスタ120−1は、削除リクエストを起動して、ファイルシステム140から削除ファイルを非同期に除去する。ストレージ装置120−1は、また、オブジェクトのコンテンツ処理によってアドレス指定された、複製グローバルインデックスに、「削除リクエスト」レコード(たとえば、「01:位置:削除リクエスト」)を書き込み得る。
図7は、分散型マルチマスタデータ複製システム(たとえば、ファイルシステム140)における重複排除を実行するための例示的なプロセス700のフローチャートである。一実行例においては、プロセス700は、ストレージクラスタ120のうちの1つによって実行され得る。他の実行例においては、プロセス700のいくつかまたはすべてが、ストレージクラスタ120を含むまたは含まない、他の装置または装置群によって実行され得る。プロセス700は、各ストレージクラスタ120において周期的に実行され、ストレージクラスタ120内のオブジェクトのすべてまたは一部のスキャンを含み得る。以下に説明されるプロセス700の特定の例について、参照はファイルシステム140のストレージクラスタ120−1および120−2に対してなされ、ここでストレージクラスタ120−1は「01」のクラスタIDを含み、ストレージクラスタ120−2は「02」のクラスタIDを含む。
図7に示されるように、プロセス700は、グローバルインデックスのスキャンの実行で始まり得る(ブロック710)。たとえば、(たとえば、重複排除論理420を用いた)ストレージクラスタ120−2は、グローバルインデックスに列挙されたすべてまたは一部のオブジェクトのスキャンを実行し得る。スキャンは、たとえば、削除のマークが付けられた複数の複製および/またはオブジェクトを識別し得る。
削除リクエストに遭遇したか否かが判定され得る(ブロック720)。たとえば、ストレージクラスタ120−1は、グローバルインデックスにおいて、他のストレージクラスタから(たとえば、ストレージクラスタ120−2から)の削除リクエスト指示子(たとえば、「02:位置:削除リクエスト」)を含むオブジェクトに遭遇し得る。削除リクエストに遭遇したと判定された場合(ブロック720−YES)は、削除リクエストが処理され得る(ブロック730)。たとえば、ストレージクラスタ120−1は、図8を参照してより詳細に説明されるように、削除リクエストを処理し得る。
削除リクエストに遭遇しなかったと判定された場合(ブロック720−NO)は、冗長な複製が存在するか否かが判定され得る(ブロック740)。冗長な複製は、オブジェクトについての実行中の削除リクエストを有していない、異なる位置における複製されたオブジェクトであり得る。たとえば、ストレージクラスタ120−1は、ストレージクラスタ120−1が関与するコンテンツ処理に対応する、同じオブジェクトについての複数の複製を識別し得る。複数の複製は、たとえば、異なるストレージクラスタ(たとえば、ストレージクラスタ120−1およびストレージクラスタ120−2)または同じストレージクラスタ内の異なる位置に記憶され得る。
冗長な複製が存在すると判定された場合(ブロック740−YES)は、冗長な複製は除去され得る(ブロック750)。たとえば、ストレージクラスタ120−1は、図9を参照してより詳細に説明されるように、冗長な複製を除去し得る。冗長な複製が存在しないと判定された場合(ブロック740−NO)は、プロセスはブロック710に戻り、グローバルインデックスの他のスキャンが実行され得る(ブロック710)。
図8は、図6のブロック660の削除リクエストの処理に関連した例示的な動作を示す。削除リクエストは、オブジェクトについて見つけられ得る(ブロック810)。たとえば、ストレージクラスタ120−1によって実行されるスキャンは、グローバルインデックス内において、特定のストレージクラスタにおける複製を削除するための、ストレージクラスタ120−1によって事前に書き込まれた削除リクエスト指示子(たとえば、「02:位置:削除リクエスト」)を有するコンテンツ処理を識別し得る。ストレージクラスタ120−1がそのコンテンツ処理に関与すると想定すると、ストレージクラスタ120−1は、動作を適用して、その複製がまさに重複排除され得るか否かを判定する。
重複排除指示子が存在するか否かが判定され得る(ブロック820)。たとえば、ストレージクラスタ120−1は、グローバルインデックスにおいてそのコンテンツ処理に関連する他のレコードを調べ、重複排除指示子(たとえば、「02:位置:重複排除」)が存在するか否かを判定する。重複排除指示子が存在すると判定された場合(ブロック820−YES)は、グローバルインデックスにおける複製および関連するレコードが、重複排除され得る(ブロック830)。たとえば、ストレージクラスタ120−1は、削除リクエストを起動して、(もし、あれば)ストレージクラスタ120−2における複製を削除し、その削除された複製についてのコンテンツ処理に関連するすべてのレコード(たとえば、「02:位置:*」、ここで「*」は任意の指示子)をグローバルインデックスから削除する。
重複排除指示子が存在しないと判定された場合(ブロック820−NO)は、他の活性中の複製が存在するか否かが判定され得る(ブロック840)。たとえば、ストレージクラスタ120−2は、グローバルインデックスについてのコンテンツ処理を調べて、そのオブジェクトについての他の活性中の複製が存在するか否かを判定する。グローバルインデックスは、たとえば、他のストレージクラスタからのコンテンツ処理についてのデータレコード(たとえば、「03:位置:データ」)を含み得る。
他の活性中の複製が存在する場合(ブロック840−YES)は、ブロック830を参照して上記で説明されたように、その複製は重複排除され得る。他の活性中の複製が存在しない場合(ブロック840−NO)は、すべての複製が削除リクエストを有しているか否かが判定され得る(ブロック850)。たとえば、ストレージクラスタ120−1は、グローバルインデックスについてのコンテンツ処理を調べ、そのコンテンツ処理に関連するすべての複製が実行中の削除リクエストを有しているか否かを判定し得る(たとえば、「*:*:削除リクエスト」、ここで、「*」は、それぞれ任意のクラスタIDおよび任意の位置であり得る)。
すべての複製が削除リクエストを有していると判定された場合(ブロック850−YES)は、複製は、ブロック830を参照して上記で説明されたように、重複排除され得る。すべての複製が削除リクエストを有してはいないと判定された場合(ブロック850−NO)は、オブジェクトは、削除リクエストを起動したストレージクラスタから異なるストレージクラスタへコピーされ、グローバルインデックスが更新され得る(ブロック860)。たとえば、レコード「02:位置:削除リクエスト」に応答して、ストレージクラスタ120−1は、ストレージクラスタ120−2から、重複排除レコード(たとえば、「03:位置:重複排除」)がありかつ実行中の削除リクエストがない他のストレージクラスタ120−3へオブジェクトをコピーし得る。ストレージクラスタ120−1は、その複製に関連する以前の重複排除レコード(たとえば、「03:位置:重複排除」)を削除し、グローバルインデックスにおいてそのオブジェクトの対応するコンテンツ処理に、データ指示子(たとえば、「03:位置:データ」)を書き込む。
図9は、図7のブロック750の、重複参照(duplicate reference)の除去に関連する例示的な動作を示す。削除リクエストを有しない複数の複製が、識別され得る(ブロック910)。たとえば、ストレージクラスタ120−1は、グローバルインデックスを調べて、ストレージクラスタ120−01が関与するコンテンツ処理に対応する実行中の削除リクエストを有しない、2つまたはより多くの複製を識別する。
重複排除されるべき複製を決定する基準が、適用され得る(ブロック920)。たとえば、ストレージクラスタ120−1は、ストレージクラスタ120−1内に記憶され得る冗長な複製の重複排除を行なうための基準を適用し得る。冗長な複製を重複排除する基準は、複製の地理的近接性、ストレージクラスタにおける利用可能な記憶容量、または他の要因のような、様々な要因に基づき得る。(たとえば、重複排除論理420を用いる)ストレージクラスタ120−1は、上記識別された、実行中の削除リクエストを有しない2つまたはより多くの複製に、その基準を適用し得る。いくつかの実行例においては、複数の複製が、重複排除されるべきであると識別され得る。他の実行例においては、ストレージクラスタ120−1は、(たとえば、重複排除のマークが付けられていない)1つより多くの活性中の複製を残し得る。
グローバルインデックスは、更新されて、重複排除された複製を「重複排除」と指定し得る(ブロック930)。たとえば、重複排除された各複製について、ストレージクラスタ120−1は、その複製に関連する以前のデータレコード(たとえば、「02:位置:データ」)を削除し、グローバルインデックスの対応するコンテンツ処理に、重複排除指示子(たとえば、「02:位置:重複排除」)を書き込み得る。
冗長な複製の重複排除は、グローバルインデックスの一部として複製された重複排除メッセージを用いて達成され得る。重複排除のマークが付けられた複製は、ストレージクラスタ120−1または他のストレージクラスタ(たとえば、ストレージクラスタ120−2,120−3,120−4など)に記憶され得る。一実行例においては、ストレージクラスタ120−1は、局部的に記憶された複製および対応する「01:位置:データ」のレコードをグローバルインデックスから削除し、「01:位置:重複排除」をグローバルインデックスに追加し得る。ストレージクラスタ120−1は、また、複製されたグローバルインデックスを用いて、削除メッセージを起動し、他のクラスタに記憶された複製を削除する。
図10は、分散化マルチマスタデータ複製システム(たとえば、ファイルシステム140)における、バンド幅消費の最適化および時間遅れの低減のための例示的なプロセス1000のフローチャートを与える。一実行例においては、プロセス1000は、ストレージクラスタ120のうちの1つによって実行され得る。他の実行例においては、プロセス1000のいくつかまたはすべてが、ストレージクラスタ120を含むまたは含まない、他の装置または装置群によって実行され得る。以下に説明されるプロセス1000の特定の例について、参照はファイルシステム140のストレージクラスタ120−1でなされ、ここでストレージクラスタ120−1は「01」のクラスタIDを含む。
図10に示されるように、プロセス1000は、オブジェクトについてのリクエストの受信で開始され得る(ブロック1010)。たとえば、ストレージクラスタ120−1は、クライエント(たとえば、クライエント110)から、オブジェクトを取得するリクエストを受信し得る。
オブジェクト位置は、グローバルインデックスにおいて検索され得る(ブロック1020)。たとえば、ストレージクラスタ120−1は、オブジェクトのコンテンツ処理を用いて、複製されたグローバルインデックス内のオブジェクトについての複製位置を検索し得る。
「最良の」複製位置が識別され得る(ブロック1030)。たとえば、1つより多くの複製が利用可能であると想定すると、ストレージクラスタ120−1は、ネットワークリソースを最小化するように読み出すための「最良の」複製を決定し得る。たとえば、「最良の」複製は、ストレージクラスタ120−1に最も近い地理的位置を有する複製であり得る。他の実行例においては、「最良の」複製は、利用可能なネットワーク接続性、地理的位置、および/または他の基準の組み合わせに基づき得る。したがって、いくつかの実行例においては、オブジェクトについての「最良の」複製は、ストレージクラスタ120−1内に局部的に記憶され得る。
オブジェクトは、識別された位置から読み出され得る(ブロック1040)。たとえば、ストレージクラスタ120−1は、最も近い利用可能なストレージクラスタから「最良の」複製を要求し、クライアントの要求を満たす複製を受信し得る。そして、ストレージクラスタ120−1は、クライエントにその複製を送信し得る。
事例
図11は、本明細書で説明される実行例に従う、例示的なグローバルインデックス部1100を与える。インデックスは、他の情報の中で、コンテンツ処理列1110および重複排除指示子レコード列1120を含み得る。例示的なインデックス部1100において、分散型マルチマスタデータ複製システムが、3つのストレージクラスタXX、YY、およびZZを含むものと仮定する。重複排除アルゴリズムは、ストレージクラスタXX、YY、およびZZの各々において周期的に実行され、グローバルインデックスのすべてまたは一部をスキャンし得る。また、レコード(たとえば、データ、削除リクエスト、および重複排除)は、ストレージクラスタXX、YY、およびZZのうちの1つによって、特定のオブジェクトコンテンツ処理に関連するグローバルインデックスに書き込まれ得る。グローバルインデックスへの修正は、他のすべての参加クラスタ(たとえば、残余のストレージクラスタXX、YY、およびZZ)へ複製され得る。
図11に示されるように、インデックス部1100は、コンテンツ処理と、4つのオブジェクトについての関連する削除指示子レコードを含む。「処理11」は、複製が、ストレージクラスタXX(「XX:位置01:データ」)およびストレージクラスタYY(「YY:位置01:データ」)に記憶されていることをそれぞれ示すレコードを有する。「処理21」は、1つの複製がストレージクラスタXX(「XX:位置02:データ」)に記憶され、ストレージクラスタYYの他の複製が実行中の削除リクエスト(「YY:位置02:削除リクエスト」)を有することを示すレコードを有する。「処理31」は、複製がストレージクラスタYY(「YY:位置03:データ」)およびストレージクラスタZZ(「ZZ:位置01:データ」)にそれぞれ記憶されていることを示すレコードを有する。「処理31」は、さらに、複製が、ストレージクラスタYY(「YY:位置03:削除リクエスト」)およびストレージクラスタZZ(「ZZ:位置01:削除リクエスト」)における実行中の削除リクエストを有する2つのレコードを有する。「処理41」は、複製がストレージクラスタYYに記憶されていることを示すレコード(「YY:位置04:データ」)、およびストレージクラスタYYにおける実行中の削除リクエストを有する複製を示すレコード(「YY:位置04:削除リクエスト」)を有する。処理41は、さらに、複製の重複排除が生じたことを示す1つのレコード(「ZZ:位置02:重複排除」)を有する。ストレージクラスタによって用いられる重複排除アルゴリズムは、本明細書で説明される原理に一致するガイドラインを用いて動作し得る。ストレージクラスタXXは、「処理11」、「処理21」、「処理31」、および「処理41」を含むグローバルインデックスの部分への関与に割り当てられるものと仮定する。
オブジェクトが、ストレージクラスタに完全にアップロードされると、ストレージクラスタは、オブジェクトのコンテンツ処理によってアドレス指定された複製グローバルインデックスへ、データレコード(たとえば、「クラスタID:位置:データ」)を書き込み得る。たとえば、「XX:位置01:データ」および「YY:位置01:データ」は、「処理11」の複製についてのデータレコードを示す。また、「XX:位置02:データ」は、「処理21」の複製についてのデータレコードを示す。類似のデータレコードが、「処理31」および「処理41」について見ることができる。
オブジェクトがストレージクラスタ内で要求されると、ストレージクラスタは、オブジェクトのコンテンツ処理を用いて、複製グローバルインデックスにおける複製位置を検索し、「最良の」(たとえば、最も近い)クラスタから複製を取得する。たとえば、「処理11」に対応するオブジェクトがストレージクラスタZZで要求され、ストレージクラスタYYがストレージクラスタXXよりもストレージクラスタZZに近いと仮定すると、ストレージクラスタZZは、ストレージクラスタYYからの「処理11」に対応するオブジェクト複製を要求し得る。
オブジェクトがストレージクラスタにおいて削除されると、ストレージクラスタは、そのオブジェクトのコンテンツ処理によってアドレス指定された複製グローバルインデックスへ、「クラスタID:位置:削除リクエスト」を書き込み得る。たとえば、「YY:位置02:削除リクエスト」は、ストレージクラスタYYにおける「処理21」の削除された複製についてのレコードを示す。同様に、「YY:位置03:削除リクエスト」および「ZZ:位置01:削除リクエスト」は、それぞれ、ストレージクラスタYYおよびZZについての「処理31」の削除された複製についてのレコードを示す。
ストレージクラスタにおけるスキャンが、そのストレージクラスタが関与するコンテンツ処理に対応する実行中の削除リクエストを有しない複数の複製に遭遇した場合、ストレージクラスタはそのオブジェクトの冗長な複製を削除し得る(あるいは、1つより多くの活性中の複製を残す)。他のストレージクラスタにおける削除された各複製について、ストレージクラスタは、データレコードを削除するとともに、重複排除レコードを書き込み得る。たとえば、ストレージクラスタXXにおけるスキャンは、複製がストレージクラスタXX(「XX:位置01:データ」)およびストレージクラスタYY(「YY:位置01:データ」)にそれぞれ記憶されていることを示すレコードを「処理11」が有していると識別し得る。冗長な参照を除去するために与えられた基準に基づいて、ストレージクラスタXXは、ストレージクラスタYYにおける複製の削除を起動し得る。ストレージクラスタXXは、図11に示されるレコード「YY:位置01:データ」を削除するとともに、その代わりに「YY:位置01:重複排除」を書き込み得る。
ストレージクラスタXXにおけるスキャンが、ストレージクラスタXXが関与するコンテンツ処理に対応する、他のストレージクラスタ(たとえば、ストレージクラスタYYまたはZZ)における複製についての削除リクエスト(たとえば、「クラスタID:位置:削除リクエスト」)に遭遇した場合、ストレージクラスタXXは、以下のような解析を適用し得る。削除リクエストと同じストレージクラスタおよび同じ位置についての「重複排除」レコードがある場合、そのオブジェクトの他の活性中の複製が存在する場合、または、すべての複製が実行中の削除リクエストを有している場合は、ストレージクラスタXXは、(もしあれば)ストレージクラスタYYまたはZZにおけるオブジェクトの複製を削除し、レコード「YY:位置:*」または「ZZ:位置:*」を削除し得る。たとえば、(レコード「XX:位置02:データ」によって示される)他の活性中のオブジェクトが存在しているので、ストレージクラスタYYにおける「処理21」についての複製およびレコード「YY:位置02:削除リクエスト」が、ストレージクラスタXXによって削除され得る。同様に、ストレージクラスタYYおよびストレージクラスタZZにおける両方の複製が実行中の削除リクエストを有しているので、ストレージクラスタYYにおける「処理31」についての複製およびレコード「YY:位置03:削除リクエスト」が、ストレージクラスタXXによって削除され得る。
ストレージクラスタXXが、ストレージクラスタYYまたはZZにおけるオブジェクトの複製を削除できない(たとえば、「重複排除」レコードまたはオブジェクトの他の活性中の複製がなく、かつ、すべての複製が実行中の削除リクエストを有していない)場合、ストレージクラスタXXは、YYまたはZZから、重複排除レコードがありかつ実行中の削除リクエストのない他のストレージクラスタへオブジェクトをコピーし、重複排除レコードを削除するとともにデータレコードを書き込み得る。たとえば、ストレージクラスタYYにおける「処理41」の複製(「YY:位置04:削除リクエスト」)は、ストレージクラスタXXを起動して、ストレージクラスタZZに「処理41」に関連するオブジェクトをコピーさせ得る。ストレージクラスタXXは、グローバルインデックスを更新し、「ZZ:位置02:重複排除」を「ZZ:位置02:データ」に変化させる。
オブジェクトについてのすべての削除動作が、そのコンテンツ処理に関与するストレージクラスタにおける、スキャンプロセスによってのみ実行され得るので、アルゴリズムの正確さは直接的である。アルゴリズムは、また、異なる位置(たとえば、XX:位置1およびXX:位置2)を有する同じクラスタにおける複数のオブジェクト複製を透過的に処理する。
結論
本明細書に記載されたシステムおよび/または方法は、分散型データ複製システムにおけるオブジェクトのグローバルインデックスを記憶するとともに、分散型データ複製システムを通して、グローバルインデックスおよびいくつかのオブジェクトを複製し得る。ストレージクラスタは、グローバルインデックスの特定のサブセットにおける重複排除のための、重要なエンティティとして割り当てられる。ストレージクラスタは、グローバルインデックスのサブセットのスキャンを実行し、そのスキャンに基づいて冗長な複製を識別し得る。ストレージクラスタは、局部的に記憶された冗長な複製、または遠隔ストレージクラスタ内の冗長な複製を重複排除し得る。
上記の実行例の記載は、例示および説明を提供するが、包括的であること、または、開示されたそのままの形式に本発明を限定することを意図したものではない。修正および変更が、上記の教示に照らして可能であり、または本発明の実施から得られる。
たとえば、他の実行例においては、重複排除アルゴリズムの同期バージョンが用いられ、それにおいては、分散型データ複製システムにおける複製層を用いるよりはむしろ、異なるストレージクラスタが直接的に通信する。
また、図6A〜10に関連して一連のブロックが説明されたが、他の実行例においては、ブロックの順序は修正され得る。さらに、非従属ブロックが並行して実行され得る。
本明細書に記載される実施形態は、図中の示された実行例において、ソフトウェア、ファームウェア、およびハードウェアの多くの異なる形式で実現され得ることが明らかであろう。本明細書に記載される実施形態を実行するために用いられる実際のソフトウェアコードまたは特別の制御ハードウェアは、本発明を限定するものではない。したがって、実施形態に動作および振る舞いは、特定のソフトウェアコードを考慮せずに説明されたが、ソフトウェアおよび制御ハードウェアは、本明細書における記述に基づく実施形態を実現するために設計され得ることが理解される。さらに、本明細書において記載された特定の実行例は、1つまたはより多くの機能を実行する「論理」または「要素」として実現され得る。この論理または要素は、プロセッサ、マイクロプロセッサ、特定用途向け集積回路、またはフィールドプログラマブルゲートアレイのようなハードウェア、あるいは、ハードウェおよびソフトウェアの組み合わせ(たとえば、プロセッサによって実行されるソフトウェア)を含み得る。語句「備える(comprises)」および/または「備えている(comprising)」は、本明細書において用いられるときは、言及された特徴、整数、ステップ、または要素の存在を特定するために採用されるが、1つまたはより多くの他の特徴、整数、ステップ、要素、またはそのグループの存在または追加を除外するものではないことが強調されるべきである。
たとえ、特徴の特定の組み合わせが特許請求の範囲に記載され、および/または明細書中に開示されているとしても、これらの組み合わせは、本発明の開示を制限することが意図されたものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されておらず、および/または、明細書中に具体的に開示されていない手法で組み合わされ得る。
本願の記載において用いられる要素、動作、または指令のいずれも、そのように明示的に記載されていなければ、本発明に必須または必要不可欠なものとして解釈されるべきではない。また、本明細書で用いられる、冠詞「a」は、1つまたはより多くの事項含むことが意図される。1つの事項のみが意図される場合は、語句「one」または同様の言語が用いられる。さらに、本明細書において用いられる、句「基づいて」は、そうでないものと明示的に言及されていなければ、「少なくとも一部に基づいて」を意味することが意図される。

Claims (3)

  1. コンピュータ実行可能指令を含むコンピュータ読取可能メモリであって、
    前記コンピュータ読取可能メモリは、
    分散化データ複製システムに含まれるオブジェクトに関連付けられたインデックスの一部のスキャンを実行するための1つまたはより多くの指令と、
    前記インデックスの一部の前記スキャンに基づいて、前記オブジェクトの1つの冗長な複製を識別するための1つまたはより多くの指令と、
    前記冗長な複製に関連付けられた前記インデックスの前記一部に記録を書き込むための1つまたはより多くの指令とを含む、コンピュータ読取可能メモリ。
  2. 前記冗長な複製に関連した前記インデックスの一部へ変化を書き込むための1つまたはより多くの指令をさらに含み、
    前記変化は、前記冗長な複製についての重複排除レコードを含み、
    前記重複排除レコードは、前記冗長な複製が重複を排除されることを示す、請求項1に記載のコンピュータ読取可能メモリ。
  3. 前記インデックスに含まれる前記オブジェクトの中の他の1つについてのリクエストを受信するための1つまたはより多くの指令と、
    前記インデックスに基づいて、前記オブジェクトの中の前記他の1つの複製をそれから読み出すためのストレージクラスタを選択するための1つまたはより多くの指令と、
    前記選択されたストレージクラスタから、前記オブジェクトの中の前記他の1つの前記複製を読み出すための1つまたはより多くの指令と、
    前記リクエストを開始する装置についての前記オブジェクトの前記他の1つの前記複製を提供するための1つまたはより多くの指示とをさらに含む、請求項1に記載のコンピュータ読取可能メモリ。
JP2014061617A 2008-12-22 2014-03-25 コンピュータによって実行される方法、分散型記憶システム、および、コンピュータ読取可能な記録媒体 Active JP5902222B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13985708P 2008-12-22 2008-12-22
US61/139,857 2008-12-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011542576A Division JP5579195B2 (ja) 2008-12-22 2009-12-22 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除

Publications (2)

Publication Number Publication Date
JP2014139824A true JP2014139824A (ja) 2014-07-31
JP5902222B2 JP5902222B2 (ja) 2016-04-13

Family

ID=41719028

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011542576A Active JP5579195B2 (ja) 2008-12-22 2009-12-22 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除
JP2014061617A Active JP5902222B2 (ja) 2008-12-22 2014-03-25 コンピュータによって実行される方法、分散型記憶システム、および、コンピュータ読取可能な記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011542576A Active JP5579195B2 (ja) 2008-12-22 2009-12-22 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除

Country Status (9)

Country Link
US (5) US8712974B2 (ja)
EP (1) EP2368199B1 (ja)
JP (2) JP5579195B2 (ja)
CN (2) CN104166673B (ja)
AU (1) AU2009330073B2 (ja)
BR (1) BRPI0922990B1 (ja)
CA (1) CA2747746C (ja)
DE (1) DE202009019139U1 (ja)
WO (1) WO2010075407A1 (ja)

Families Citing this family (239)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8190742B2 (en) * 2006-04-25 2012-05-29 Hewlett-Packard Development Company, L.P. Distributed differential store with non-distributed objects and compression-enhancing data-object routing
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CA2705379C (en) * 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8103628B2 (en) * 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8219524B2 (en) * 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8166263B2 (en) 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
WO2010036754A1 (en) 2008-09-26 2010-04-01 Commvault Systems, Inc. Systems and methods for managing single instancing data
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8412677B2 (en) * 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
JP5579195B2 (ja) * 2008-12-22 2014-08-27 グーグル インコーポレイテッド 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US9141621B2 (en) 2009-04-30 2015-09-22 Hewlett-Packard Development Company, L.P. Copying a differential data store into temporary storage media in response to a request
US20100281077A1 (en) * 2009-04-30 2010-11-04 Mark David Lillibridge Batching requests for accessing differential data stores
US8578120B2 (en) 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8572137B2 (en) * 2009-09-08 2013-10-29 International Business Machines Corporation Data de-duplication in a distributed network
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9135016B1 (en) * 2010-05-14 2015-09-15 Emc Corporation Methods and apparatus for managing replication of objects in a storage environment
WO2012045023A2 (en) 2010-09-30 2012-04-05 Commvault Systems, Inc. Archiving data objects using secondary copies
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8433681B2 (en) 2011-05-12 2013-04-30 Dell Products L.P. System and method for managing replication in an object storage system
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9286052B1 (en) * 2011-09-15 2016-03-15 Emc Corporation Upgrading software on a pair of nodes in a clustered environment
US20130073286A1 (en) * 2011-09-20 2013-03-21 Apple Inc. Consolidating Speech Recognition Results
US8468138B1 (en) 2011-12-02 2013-06-18 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
US8682868B2 (en) * 2011-12-02 2014-03-25 International Business Machines Corporation Removal of data remanence in deduplicated storage clouds
US20130151483A1 (en) * 2011-12-07 2013-06-13 Quantum Corporation Adaptive experience based De-duplication
US8504595B2 (en) * 2011-12-07 2013-08-06 Jeffrey Tofano De-duplication for a global coherent de-duplication repository
KR101583748B1 (ko) * 2011-12-08 2016-01-19 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 사용자 간의 중복제거를 허용하기 위한 저장소 할인
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US8732124B1 (en) * 2012-03-26 2014-05-20 Emc Corporation Multisite replication with coordinated cycle switching
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8984028B2 (en) 2012-05-29 2015-03-17 Recommind, Inc. Systems and methods for storing data and eliminating redundancy
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
CN103491124B (zh) * 2012-06-14 2018-08-14 南京中兴软件有限责任公司 一种对彩信数据进行处理的方法及分布式缓存系统
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9086819B2 (en) * 2012-07-25 2015-07-21 Anoosmar Technologies Private Limited System and method for combining deduplication and encryption of data
US20140067775A1 (en) * 2012-09-05 2014-03-06 salesforce.com,inc System, method and computer program product for conditionally performing de-duping on data
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
KR20240132105A (ko) 2013-02-07 2024-09-02 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
EP3008964B1 (en) 2013-06-13 2019-09-25 Apple Inc. System and method for emergency calls initiated by voice command
EP3028157A1 (en) * 2013-07-29 2016-06-08 Hewlett Packard Enterprise Development LP Integrity of frequently used de-duplication objects
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
US9430490B1 (en) * 2014-03-28 2016-08-30 Formation Data Systems, Inc. Multi-tenant secure data deduplication using data association tables
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
GB2529859A (en) 2014-09-04 2016-03-09 Ibm Device and method for storing data in a distributed file system
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US11095715B2 (en) 2014-09-24 2021-08-17 Ebay Inc. Assigning storage responsibility in a distributed data storage system with replication
US9800575B1 (en) * 2014-09-24 2017-10-24 Ebay Inc. Assigning storage responsibility in a distributed data storage system with replication
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
CN104462396B (zh) * 2014-12-10 2017-12-19 北京国双科技有限公司 字符串处理方法和装置
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
CN105187517A (zh) * 2015-08-20 2015-12-23 浪潮(北京)电子信息产业有限公司 一种实现元数据集群的方法及元数据集群
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10089358B2 (en) * 2015-09-21 2018-10-02 The Nielsen Company (Us), Llc Methods and apparatus to partition data
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10042885B2 (en) * 2015-10-29 2018-08-07 International Business Machines Corporation Index table based routing for query resource optimization
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10489087B2 (en) 2017-05-24 2019-11-26 International Business Machines Corporation Using a space release data structure to indicate tracks to release for a space release command to release space of tracks in a consistency group being formed
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
US10896097B1 (en) * 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US20190034475A1 (en) * 2017-07-28 2019-01-31 Enigma Technologies, Inc. System and method for detecting duplicate data records
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10789002B1 (en) * 2017-10-23 2020-09-29 EMC IP Holding Company LLC Hybrid data deduplication for elastic cloud storage devices
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US11086823B2 (en) 2017-12-28 2021-08-10 Dropbox, Inc. File deduplication using signature information
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US10649676B1 (en) 2018-12-28 2020-05-12 Microsoft Technology Licensing, Llc Memory compression for immutable data structures
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN111814003B (zh) * 2019-04-12 2024-04-23 伊姆西Ip控股有限责任公司 用于建立元数据索引的方法、电子设备和计算机程序产品
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11429573B2 (en) 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
CN114610227B (zh) * 2020-12-09 2024-03-19 戴尔产品有限公司 将存储系统集群化以共享用于去重的数据模式
US11360867B1 (en) 2021-03-31 2022-06-14 Netapp, Inc. Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
US11709743B2 (en) 2021-03-31 2023-07-25 Netapp, Inc. Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11550679B2 (en) 2021-03-31 2023-01-10 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11934670B2 (en) 2021-03-31 2024-03-19 Netapp, Inc. Performing various operations at the granularity of a consistency group within a cross-site storage solution
US11481139B1 (en) 2021-03-31 2022-10-25 Netapp, Inc. Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US11740811B2 (en) 2021-03-31 2023-08-29 Netapp, Inc. Reseeding a mediator of a cross-site storage solution
US11409622B1 (en) 2021-04-23 2022-08-09 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
US11893261B2 (en) 2021-05-05 2024-02-06 Netapp, Inc. Usage of OP logs to synchronize across primary and secondary storage clusters of a cross-site distributed storage system and lightweight OP logging
US11537314B1 (en) 2021-10-07 2022-12-27 Netapp, Inc. Resynchronization of individual volumes of a consistency group (CG) within a cross-site storage solution while maintaining synchronization of other volumes of the CG
US11892982B2 (en) 2021-10-20 2024-02-06 Netapp, Inc. Facilitating immediate performance of volume resynchronization with the use of passive cache entries
US11907562B2 (en) 2022-07-11 2024-02-20 Netapp, Inc. Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185041A (ja) * 2004-12-27 2006-07-13 Matsushita Electric Ind Co Ltd コンテンツ分散配置システム、端末及びコンテンツ分散配置システムの動作方法
JP2007199920A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージ装置及びその制御方法
US20080144079A1 (en) * 2006-10-19 2008-06-19 Oracle International Corporation System and method for data compression
JP5579195B2 (ja) * 2008-12-22 2014-08-27 グーグル インコーポレイテッド 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US6192365B1 (en) * 1995-07-20 2001-02-20 Novell, Inc. Transaction log management in a disconnectable computer and network
US5897664A (en) * 1996-07-01 1999-04-27 Sun Microsystems, Inc. Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5812773A (en) * 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
US6438562B1 (en) * 1999-08-24 2002-08-20 Oracle Corporation Parallel index maintenance
CN1232914C (zh) * 2000-04-26 2005-12-21 计算机合作者思维公司 在分布计算机系统中保持数据完整性的方法与设备
JP4096147B2 (ja) * 2000-10-25 2008-06-04 株式会社日立製作所 分散型計算機システムにおける重複配置複製データの複製方式
US7231391B2 (en) * 2001-02-06 2007-06-12 Quest Software, Inc. Loosely coupled database clusters with client connection fail-over
US20020161907A1 (en) * 2001-04-25 2002-10-31 Avery Moon Adaptive multi-protocol communications system
US6988124B2 (en) * 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US7451217B2 (en) 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
US7573500B2 (en) * 2003-03-24 2009-08-11 Sensormatic Electronics Corporation System and method for communicating data in a video system
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7685384B2 (en) * 2004-02-06 2010-03-23 Globalscape, Inc. System and method for replicating files in a computer network
US7200604B2 (en) * 2004-02-17 2007-04-03 Hewlett-Packard Development Company, L.P. Data de-duplication
US8688634B2 (en) 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
US7206790B2 (en) * 2004-07-13 2007-04-17 Hitachi, Ltd. Data management system
US7778984B2 (en) * 2004-11-19 2010-08-17 Microsoft Corporation System and method for a distributed object store
US7571168B2 (en) * 2005-07-25 2009-08-04 Parascale, Inc. Asynchronous file replication and migration in a storage network
US7584338B1 (en) * 2005-09-27 2009-09-01 Data Domain, Inc. Replication of deduplicated storage system
US7788223B2 (en) * 2005-12-05 2010-08-31 Microsoft Corporation Resource freshness and replication
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US7747584B1 (en) * 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
JP4945232B2 (ja) * 2006-12-21 2012-06-06 株式会社日立製作所 アクセス制御方法、計算機システム、及びオブジェクト複製プログラム
US7840537B2 (en) * 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
JP4951331B2 (ja) * 2006-12-26 2012-06-13 株式会社日立製作所 ストレージシステム
US8719375B2 (en) * 2007-03-22 2014-05-06 Microsoft Corporation Remote data access techniques for portable devices
US7873809B2 (en) * 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
US8768895B2 (en) * 2007-04-11 2014-07-01 Emc Corporation Subsegmenting for efficient storage, resemblance determination, and transmission
US8204866B2 (en) * 2007-05-18 2012-06-19 Microsoft Corporation Leveraging constraints for deduplication
US8315984B2 (en) * 2007-05-22 2012-11-20 Netapp, Inc. System and method for on-the-fly elimination of redundant data
US7827168B2 (en) * 2007-05-30 2010-11-02 Red Hat, Inc. Index clustering for full text search engines
US7669023B2 (en) * 2007-07-10 2010-02-23 Hitachi, Ltd. Power efficient storage with data de-duplication
US8793226B1 (en) * 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
WO2009032710A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US7822939B1 (en) * 2007-09-25 2010-10-26 Emc Corporation Data de-duplication using thin provisioning
US7870409B2 (en) * 2007-09-26 2011-01-11 Hitachi, Ltd. Power efficient data storage with data de-duplication
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US7870105B2 (en) * 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US7949622B2 (en) * 2007-12-13 2011-05-24 Yahoo! Inc. System and method for generating a classifier model for classifying web content
US8135918B1 (en) * 2007-12-31 2012-03-13 Emc Corporation Data de-duplication for iSCSI
US8190835B1 (en) * 2007-12-31 2012-05-29 Emc Corporation Global de-duplication in shared architectures
US7783604B1 (en) * 2007-12-31 2010-08-24 Emc Corporation Data de-duplication and offsite SaaS backup and archiving
US20090204636A1 (en) * 2008-02-11 2009-08-13 Microsoft Corporation Multimodal object de-duplication
US7962706B2 (en) * 2008-02-14 2011-06-14 Quantum Corporation Methods and systems for improving read performance in data de-duplication storage
US7814074B2 (en) * 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
US7984022B2 (en) * 2008-04-18 2011-07-19 International Business Machines Corporation Space recovery with storage management coupled with a deduplicating storage system
US7908436B1 (en) * 2008-04-25 2011-03-15 Netapp, Inc. Deduplication of data on disk devices using low-latency random read memory
US8346730B2 (en) * 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks
US7930306B2 (en) * 2008-04-30 2011-04-19 Msc Intellectual Properties B.V. System and method for near and exact de-duplication of documents
US8645333B2 (en) * 2008-05-29 2014-02-04 International Business Machines Corporation Method and apparatus to minimize metadata in de-duplication
US7996371B1 (en) * 2008-06-10 2011-08-09 Netapp, Inc. Combining context-aware and context-independent data deduplication for optimal space savings
US8108353B2 (en) * 2008-06-11 2012-01-31 International Business Machines Corporation Method and apparatus for block size optimization in de-duplication
US8682850B2 (en) * 2008-06-11 2014-03-25 International Business Machines Corporation Method of enhancing de-duplication impact by preferential selection of master copy to be retained
US8484162B2 (en) * 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8335776B2 (en) * 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8788466B2 (en) * 2008-08-05 2014-07-22 International Business Machines Corporation Efficient transfer of deduplicated data
US7814149B1 (en) * 2008-09-29 2010-10-12 Symantec Operating Corporation Client side data deduplication
US8495032B2 (en) * 2008-10-01 2013-07-23 International Business Machines Corporation Policy based sharing of redundant data across storage pools in a deduplicating system
US8356017B2 (en) * 2009-08-11 2013-01-15 International Business Machines Corporation Replication of deduplicated data
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
CA2912394A1 (en) * 2013-05-14 2014-11-20 Actifio, Inc. Efficient data replication and garbage collection predictions
US9928248B2 (en) * 2013-07-08 2018-03-27 International Business Machines Corporation Self-healing by hash-based deduplication
US9817865B2 (en) * 2015-12-07 2017-11-14 International Business Machines Corporation Direct lookup for identifying duplicate data in a data deduplication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185041A (ja) * 2004-12-27 2006-07-13 Matsushita Electric Ind Co Ltd コンテンツ分散配置システム、端末及びコンテンツ分散配置システムの動作方法
JP2007199920A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージ装置及びその制御方法
US20080144079A1 (en) * 2006-10-19 2008-06-19 Oracle International Corporation System and method for data compression
JP5579195B2 (ja) * 2008-12-22 2014-08-27 グーグル インコーポレイテッド 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除

Also Published As

Publication number Publication date
EP2368199B1 (en) 2018-10-31
CA2747746C (en) 2015-08-11
US8712974B2 (en) 2014-04-29
DE202009019139U1 (de) 2017-01-20
US11943290B2 (en) 2024-03-26
US20140236888A1 (en) 2014-08-21
BRPI0922990B1 (pt) 2020-11-10
AU2009330073B2 (en) 2012-11-15
CN102317938B (zh) 2014-07-30
CN104166673B (zh) 2017-09-19
WO2010075407A1 (en) 2010-07-01
JP2012513640A (ja) 2012-06-14
US10291699B2 (en) 2019-05-14
EP2368199A1 (en) 2011-09-28
CN104166673A (zh) 2014-11-26
US20100161554A1 (en) 2010-06-24
US20240251012A1 (en) 2024-07-25
JP5902222B2 (ja) 2016-04-13
CN102317938A (zh) 2012-01-11
AU2009330073A1 (en) 2011-07-07
CA2747746A1 (en) 2010-07-01
JP5579195B2 (ja) 2014-08-27
US20160134696A1 (en) 2016-05-12
BRPI0922990A2 (pt) 2016-01-26
US20190268411A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
JP5902222B2 (ja) コンピュータによって実行される方法、分散型記憶システム、および、コンピュータ読取可能な記録媒体
CA2758518C (en) Asynchronous distributed object uploading for replicated content addressable storage clusters
JP5479490B2 (ja) 複製ストレージクラスタのための非同期式分散ガーベッジコレクション
US20220197944A1 (en) File metadata service
AU2013209349B2 (en) Asynchronous distributed object uploading for replicated content addressable storage clusters
Pandey et al. A review on google file system
KR20170116354A (ko) 인-메모리 db 환경에서 데이터 접근 빈도에 따른 가변 복제 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151207

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: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160309

R150 Certificate of patent or registration of utility model

Ref document number: 5902222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250