JP6232427B2 - メッセージ配信における添付ファイルの重複排除および添付ファイルの自動修復 - Google Patents

メッセージ配信における添付ファイルの重複排除および添付ファイルの自動修復 Download PDF

Info

Publication number
JP6232427B2
JP6232427B2 JP2015526613A JP2015526613A JP6232427B2 JP 6232427 B2 JP6232427 B2 JP 6232427B2 JP 2015526613 A JP2015526613 A JP 2015526613A JP 2015526613 A JP2015526613 A JP 2015526613A JP 6232427 B2 JP6232427 B2 JP 6232427B2
Authority
JP
Japan
Prior art keywords
file
attachment
email
data set
state
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.)
Active
Application number
JP2015526613A
Other languages
English (en)
Other versions
JP2015525936A5 (ja
JP2015525936A (ja
Inventor
ルーンプ,クリストフ
ダリワル,アロック
ディミトロブ,イヴァイロ
ホー,チェン
リウ,リンカーン
パイ,ブランドン
パスマーシー,クマー
ピティゴイ−アロン,グルイア
ロドリゲス,ジョン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015525936A publication Critical patent/JP2015525936A/ja
Publication of JP2015525936A5 publication Critical patent/JP2015525936A5/ja
Application granted granted Critical
Publication of JP6232427B2 publication Critical patent/JP6232427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments

Landscapes

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

Description

[0001] データベースおよびメモリ管理の領域では、所与のコンピュータ内、いくつかのコンピュータ内、またはコンピューティングおよびネットワーク化された環境にわたって、重複ファイル(「BLOB」と呼ばれる)の数を削減することが望ましいことがある。このようなプロセスを自動化するために、コンピュータまたは環境は、これらのBLOBを識別し、その後適当な処置をする必要がある。
[0002] 重複ファイルを避けるための努力は、付随するディスク空き容量の節約、I/Oおよびネットワーク帯域幅の節約で報われる。したがって、重複ファイルを正確におよび効率的に処理し管理することが望ましいことがある。
[0003] 以下に、本明細書に説明するいくつかの態様の基本的な理解を得るようにするために本発明の簡略化された概要を提示する。この概要は、特許請求される主題の広範な概説ではない。この概要は、特許請求される主題の主要なまたは重要な要素を識別することも、本発明の範囲を画定することも意図していない。その唯一の目的は、特許請求される主題のいくつかの概念を後に提示されるより詳細な説明の前置きとして簡略化された形で提示することにある。
[0004] ファイルシステム内のファイルおよび/またはBLOBを重複排除するシステムおよび技法が提示される。一実施形態において、Eメールシステムが開示され、Eメールシステムは、関連する添付ファイルの組を含むEメールメッセージを受け取る。システムは、関連する添付ファイルが前にEメールシステムに格納されていたかどうかと、格納された添付ファイルの状態と、添付ファイルの状態が添付ファイルのコピーを共有するのに適当である場合、添付ファイルを共有する要求のあったときに添付ファイルへの参照を提供することとを決定する。別の一実施形態では、システムは、格納された添付ファイルが破損しているかどうかを検知し、そうであるならば、場合によっては、添付ファイルへの参照を共有する前に、添付ファイルを修復することを試みることができる。
[0005] 一実施形態において、ファイルシステムにおけるデータを重複排除するための方法が開示され、その場合、ファイルシステムは、1つまたは複数のファイルを含み、各ファイルは、データの組を含み、データの組は、2人以上のユーザによって共有することができる。方法は以下のステップを含むことができる。すなわち、ファイルシステム内に格納されるファイルを受け取ること、前記ファイル内のデータの組が前に前記ファイルシステムに格納されていたかどうかをチェックすること、前記データの組が前記ファイルシステムに格納されていた場合、格納されたデータの組の状態をチェックすること、および、格納されたデータの組の前記状態が前記ファイルのコピーを共有するのに適当である場合、前記データの組を共有するコマンドのあったときに前記ファイルへの参照を提供することである。
[0006] 別の一実施形態において、Eメールシステムにおけるデータを重複排除するためのシステムが開示され、その場合、システムは、Eメールクライアントの組と通信するEメールサーバと、Eメールおよび関連する添付ファイルを格納するためのデータベースであって、群のうちの少なくとも1つを格納し、前記群が、Eメールメッセージ、関連する添付ファイル、Eメールメッセージに関するメタデータおよび前記関連する添付ファイルに関するメタデータを含むデータベースと、前記Eメールクライアントの組の間の添付ファイルの共有を管理するためのモジュールとを含み、さらに、前記Eメールクライアントの組の間の添付ファイルの共有を管理する前記モジュールが、添付ファイルの状態を検知し、前記添付ファイルの状態に応じて前記添付ファイルへの参照ポインタを共有することができる。
[0007] 本システムの他の特徴および態様は、本出願内に提示される図面に関連して読むとき以下に発明を実施するため形態において提示される。
[0008] 例示的な実施形態が図面の参照される図に示される。本明細書に開示する実施形態および図は制限的ではなく例示的とあるとみなすことが意図されている。
[0009]本出願の原理により、本出願の様々な実施形態が動作し持続し得る1つの例示的なコンピューティングおよび/またはネットワーク化された環境を示す図である。 [00010]本出願の原理により製作されたときのBLOB管理システムの状態表/流れ図の一実施形態を示す図である。 [00011]本出願の原理により製作されたときのEメール配信システムおよび関連するBLOB管理システムの高レベル流れ図の一実施形態を示す図である。
[00012] 本明細書に利用するように、「構成要素」、「システム」、「インターフェース」などの用語は、ハードウェア、ソフトウェア(例えば、実行時)、および/またはファームウェアのいずれかであるコンピュータ関係の実体を表すことを意図している。例えば、構成要素は、プロセッサ上で稼働するプロセス、プロセッサ、オブジェクト、実行ファイル、プログラム、および/またはコンピュータであり得る。例示として、サーバ上で稼働するアプリケーションおよびサーバの両方は、構成要素であり得る。1つまたは複数の構成要素は、プロセス内に常駐することができ、1つの構成要素は、1つのコンピュータ上に局在させ、および/または2つ以上のコンピュータ間に分散させることができる。
[00013] 特許請求される主題は、図面を参照して説明し、同じ参照番号を全体にわたって同じ要素を表すために使用する。以下の説明では、説明のために、数多くの具体的な詳細を本発明の完全な理解が得られるようにするために記載する。しかし、特許請求される主題がこれらの具体的な詳細なしで実施できることは明らかであり得る。他の事例では、本発明の説明を容易にするためによく知られている構造およびデバイスをブロック図に示す。
序論
[00014] ファイルシステム、データベース、Eメールシステムなどのスペース、処理時間および全費用の節約のために、システム全体にわたってファイル(BLOB)の重複排除を効果的に管理することができるシステムを実施することが望ましいことがある。このようなシステムは、とりわけデータセキュリティ、データ回復、およびデータの完全性などの考えに関係することもある。
[00015] 図1は、本出願の実施形態が動作し常駐することができるコンピューティング/ネットワークキング環境(100)の一例である。図1はEメールシステムの形で示されるが、本出願の原理は、データベース管理またはファイルシステム管理の用途においても同程度の能力があり得る。
[00016] 環境100において、複数のEメールクライアント102a、102b、および102cがあり得る。この例では、クライアント102aは、添付ファイルを付けてEメール104を書き、別のクライアント102bに向かうことになっている、ネットワーク化されたシステム106にそれを送る。クライアント102bは、今度は、添付ファイルの付いたEメールを第3のクライアント102cに転送することを決定することができる。
[00017] ネットワーク化されたシステム106内では、場合によってはいくつかの他のサーバ、ルータおよび当技術分野で知られている他のネットワーク構成要素と共に、Eメールサーバ108が存在し得る。例えば、Microsoft Outlook(登録商標)Eメールシステムの設計において、システムはデータのコピーが独立したハードドライブ、コントローラ、およびマシン上に常駐することを確実にする。この種のシステムは、「単純ディスク束」を表す「JBOD」というニックネームが付いている。JBODシステムでは、ハードライブコントローラが邪魔にならないようにすることを試みる、すなわち、ソフトウェアはコントローラが以前に処理した障害に関してより関心がある。これらの障害は、ハードドライブ自体のファームウェアのバグから、以前にはコントローラによって自動的に修理された「回復不能読込みエラー」などの問題までの範囲にわたることがある。さらに、ソフトウェアは、次に、「ビット腐敗」(すなわち、何らかの理由で読み込み不能または破損になったデータ)がないかデータをチェックするために定期的にドライブをスクラブすることがある。この場合、分散型「RAID」コントローラを完全にソフトウェアで構築することが可能であり、それは業界標準のファームウェアのものに取って代わるものである。
[00018] このようなJBODシステムのソフトウェアは、ハードドライブを監視することができ、修復措置をスケジュールし、障害を検知し、修復を診断する。このソフトウェアは、ある一定の種類の障害がないか絶えず監視する、いくつかの「監視機構」を含むこともできる。監視機構は、探している障害を検知した場合、警報を発し、それにより自動的に修復プロセスを作動することができる。この修復プロセスは、マシンの再起動またはプロセスの再始動から、データ破損の修理または進展がなされ得ない場合の人員の関与にまでの範囲にわたることがある。
[00019] 全システムのうちの一部(110)として、メタデータ112および冗長メタデータ114を使用することができ、したがって、ソフトウェアは、システムがアクセスできるEメールメッセージ(例えば、116における)の良好なコピーが正確にいくつあるのか(例えば、118aおよび118b)を知ることもできる。コピーが少なすぎることが分かった場合、ソフトウェアは潜在的に危険な状況を避けるため修復処置を優先順位付けすることができる。修復に時間がかかり過ぎる状況では、データをそっくり別の場所に移動させることが可能である。
[00020] システムは、オリジナルのEメールメッセージを配信されたときと正確に同じままで格納することにより、複製されたEメールメッセージを効果的に管理し格納することができる。変化するEメールメッセージに関するデータ(既読/未読、フォルダー内の場所など)は、例えば、メタデータストア112などに、別個に格納される。
[00021] システムは、マシンの組を含むことができ、マシンの各々は、到着し到着日付別に整理されたEメールメッセージとジャーナルレコーディングメッセージとを有することができる。マシンは時々互いに対話することができ、それらのジャーナルを比較し、全マシンに対してコピーされていないとマシンが認識する任意のメッセージをコピーすることができる。これは、様々な理由で、ほとんどがマシン、ネットワーク、またはハードドライブの障害により、起きることがある。場合によっては、ジャーナルは極端に同期がずれていることがあり、その場合、システムは完全な比較/コピーを行う。
[00022] ハードドライブは、より大型化し、より安価になったが、ハードドライブがデータを読み出すことができる速度はあまり変わっていない。すなわち、ハードドライブは、より大きなハードドライブにより多くのデータを詰め込むことができるが、結局のところ要求率を処理することができない。この領域で有望な1つの技術は、フラッシュストレージ(SSDまたは半導体ドライブとも呼ばれる)である。SSDは、SDカードやUSBスティックで見られる技術と類似の技術を使用するが、より速い内部チップセットとずっと長い寿命を有する。通常のハードドライブが、毎秒100回を少し超える読み取り/書き込み動作を実施することができるのに対して、最速SSDの中には、毎秒10万回を超える動作を行うことができるものもある。しかし、これらのデバイスはストレージの1ギガバイト当たりに支払う金額をみると、ハードドライブより10倍から100倍高価なことがあるので、これは高価なものとなる。
[00023] Eメールメッセージを格納する際、システムは、フォルダ内のメッセージのリスト、メッセージの既読/未読状態、会話のスレッド、携帯電話の同期など、これらのメッセージに関する軌跡情報(メタデータ112)の記録も付けることがある。このメタデータは、全記憶スペースの非常に小さな部分を占める傾向があるが、その絶えず変化する性質により、ハードドライブ上の負荷の大半を消費することがある。
[00024] この小さなおよび急速に変化するデータの組にSSDを使用することにより、ならびにメッセージの格納に利用可能な最大のハードドライブを使用することにより、システムは、システムの性能に何ら犠牲を払うことなく、より大きなおよびより安価なハードドライブの傾向を利用することができ得る。
[00025] 一実施形態において、システムは、ファイルおよび/またはメッセージを配信すると、ファイルおよび/またはメッセージが所与の閾値サイズ(例えば、Y)より大きいかどうか、またはファイルおよび/またはメッセージが、所与の閾値サイズ(例えば、Y)より大きい、添付ファイル(例えば、X)を有するかどうかを検知することができる。そうであるならば、システムは、正確なファイル、メッセージまたは添付ファイルXがすでに配信されたのか、システム上のユーザによって共有されたのか(または格納されたのか)をチェックすることができる。ファイル、メッセージおよび/または添付ファイルが配信され、および/またはシステム上のユーザと共有されたのかどうかを確認するために、システムは、ファイル、メッセージおよび/または添付ファイルに対してハッシュ関数を実施し、前のハッシュ結果と一致するか比較することができる。さらに、システムは、状態メタデータ、すなわち、どのようにおよび/または誰と共有および/または重複が起きたかもしれないことに関するメタデータを含む、ファイル、Eメールメッセージおよび/または添付ファイルに関するメタデータを格納および/または保持することができる。
[00026] ファイル、メッセージおよび/または添付ファイルが配信され、共有され、「BLOB」が良好な状態にあり、わずかに別の閾値参照数(例えば、Z)しかなく、および/またはすでにXへのリンクしかない場合、ファイルシステムで再度Xをセーブするのではなく、新たなメッセージ配信のためにそのBLOBへの参照カウントおよびそのBLOBへの「ポイント」を増加させる。このプロセスの間、システムは、ディスク上の「BLOB」が破損しているかどうかも検知し、そうであるならば、修復するかまたは良好なXに置き換えるかのいずれかをすることもできる。例えば、図1の文脈において、クライアント102bがEメール104を同じ添付ファイルを付けて別の対象クライアントおよび/または実体に転送したとき、システムは別の添付ファイルの重複を作成せずに添付ファイルへのポインタ参照を転送することができる。
[00027] データベース、Eメールシステムおよび/または他のファイルシステムなど、他のシステムは、図1を参照して説明するアーキテクチャとは異なるアーキテクチャを有することができるが、本出願の技法はそのようなほかのアーキテクチャにも利益になることができることを理解されよう。
重複排除の実施形態
[00028] Eメールシステムの文脈において(単に例示のため)、システムの一実施形態は、メール配信すると重複する添付ファイルを識別するように設計することができ、ファイル保存するとそれらを重複排除することができ、それによって場合によっては34%以上のディスクの節約およびI/Oおよびネットワークの帯域幅の節約を達成することができる。添付ファイルを一意的に識別することに加えて、システムは、「BLOB」が消失または破損した場合、「BLOB」のライフサイクル、他のソースマシンまたはディスクドライブから「BLOB」の再複製をどのように実施するかを理解することも組み込むことができ、ファイルシステムのストレージおよびI/Oの効率を確実にするためのホットスポット「BLOB」管理を実施することができる。
[00029] 多くのEメールシステムでは、コンテンツの大部分が、多くのEメールアカウントにわたって格納される大きな添付ファイルの小さな組を含むことが留意される。この観察から、本出願の他の実施形態は、これらの添付ファイルがいったん(または限定された数の回数)格納され、複数のアカウント内でまたは複数のアカウントにわたって共有されることを可能にすることによって利用することを望む。一実施形態において、システムは、メッセージファイルから添付ファイルを抽出することおよび別個に格納された添付ファイルを抽出することができ、したがって、添付ファイルは、発生したアカウントとは独立して参照し、追跡することができる。
[00030] 本出願の他の諸実施形態は、以下に影響するモジュールを含むことができる。
(1)重複を探し出す工程:新たに配信されたコンテンツが重複排除の候補として識別され、既存の重複が位置を突き止められ利用されることを可能にするインデックス機構に影響するモジュール。
(2)重複を維持する工程:ハードドライブ障害およびデータ破損に直面して、および他の諸実施形態において、単一の重複排除されたBLOBの消失は多くのアカウントに影響し得るので特に注意深く、重複排除されたデータを修復し維持するモジュール。
(3)ガーベジコレクション:もはや参照されない添付ファイルを安全に除去するモジュール。
[00031] いくつかの実施形態では、単一のSQLデータベースの範囲と一致するように重複排除の範囲を選択することが可能である。このような場合、同じSQLデータベース内に格納される、アカウントによって参照される重複BLOBが発見されることがある。このような実施形態では、このような範囲により、システムがスペースの節約を達成することが可能になり、同時に重複の発見およびガーベジコレクションを単純化することが可能になる。いくつかの実施形態では、単一の添付ファイルの消失によって生じ得る損傷の量を制限するために同じ重複の複数のコピーが異なるディスクグルーピングに格納できることが可能になり得る。
Eメール部分/添付ファイルの識別および管理
[00032] いくつかの実施形態では、様々なEメール部分を識別するためのモジュールが、場合によっては重複排除を受けるので、それらの部分(例えば、添付ファイルなど)を検知および/または識別することが望ましいことがある。識別モジュールの別の一態様では、このモジュールは、同じまたは別の個人のためにすでに破棄され得た、およびプライバシーまたはデータ破損の懸念なしで同じ破棄された添付ファイルへの複数のアカウントポイントを有する添付ファイルを判別および/またはうまく識別することもできる。例えば、添付ファイル間に一意性をなすために暗号学的ハッシュを使用することができる。
[00033] さらに、重複排除された添付ファイルがディスク上にすでに存在する場合、添付ファイルをディスクに書き込むことはもはや望ましくないことがあるが、システムは、単純に参照カウントを増加させ、それを再書き込みしないことによって、ディスクスペース、IO、およびネットワーク帯域幅を節約することができる。モジュールがBLOBのライフサイクルに注意を払い、追跡することが望ましいことがある。より詳しくは、モジュールは、いつそれを削除するか、それへの参照を減少/増加させるか、またはそれを置換するかなど、破棄された添付ファイルが取り得る様々な状態を通じてBLOBを追跡することができる。BLOBが消失しおよび/または破損した場合、他のソースマシン/ディスクからの自動再複製が望ましいことがある。さらに、自動的に、消失したメタデータを回復しストアに一貫性を取り戻すこと、参照カウントを増加させるために添付ファイルを優先順位付けすること(本明細書に説明するように)、および参照に需要があるときホットスポットを減少させる波及機構を有することなど、もっと多くの技法が望ましいことがある。
[00034] BLOBを含むことがある添付ファイルおよび他のオブジェクトの識別に向けて、ある実施形態は、MIME部分の境界でこの識別を行うことができる。この実施形態では、システムによって使用/認識される複数のメッセージの表現があり得る。
(1)「リテラルMIME」:これはSMTPを介して受け取ったときのMIMEメッセージそのものであり得る。添付ファイルは、base64または2進コード化ストリームとして含むことができる。
(2)「圧縮MIME」または「V1」:これはXpressを介して圧縮されたリテラルMIMEフォーマットであり得る。
(3)「AttachStore」メッセージフォーマット:これは添付ファイルを抽出し、それらをファイルの終わりに別個に置いたコンテナであり得る。
[00035] 一実施形態において、「AttachStore」フォーマットを強化してディスク上に別々のファイルとして格納されたBLOBへのポインタを支持することが望ましいことがある。このような実施形態では、以下のようにAttachStoreにおける変更をすることが可能であり得る。
(1)blobldおよびハッシュをATTACHMENT_LIST_NODEに格納することができる。
(2)完全なファイルCRCをファイルの終わりに格納してCRC妥当性確認を簡略化することができる。
[00036] さらに、BLOBは、メッセージを以下のように格納することができる場所と並行して、ファイルシステム上の別個のディレクトリ構造に格納することができる:msg、index、ptf、blob(ハッシュの最初の2文字;添付ファイルのハッシュ)。
[00037] 一実施形態において、BLOBファイルは単一の大きなディレクトリとしてではなく、結果として、大きな数の入力にいったん達すると大幅に断片化されたディレクトリファイルになり得るものとして格納することが望ましいことがある。したがって、一実施形態において、ハッシュの最初の2文字をディレクトリ名として使用し、次いで1ディレクトリ当たりのファイルの数を所望の数に、例えば、数千に制限することが望ましいことがある。
[00038] この実施形態は、さらに、マシン/dbレベルで重複排除を実施することができる。この方式は、直接大規模に、例えば、マシンの群またはデータセンタ(DC)全体にさえ適用可能であり得る。破損されたことが見つけられた個々の重複排除されたBLOBは、次いで、ローカル内にまたは遠隔DCにさえ存在する他のコピーから回復することができる。例外的な処理は、破滅的なデータ障害の後に回復に対して行うことができる。
状態図の一実施形態
[00039] BLOBは、それらのライフタイムの間、作成され、破損され、修理され、削除されたとき、様々な状態に遷移する傾向がある。この観察により、BLOBのライフサイクルを説明する状態遷移方式を採用する一実施形態をもたらすことができる。状態は、どのAPIをBLOBに適用する(に対して使用する)ことができるかを決定することができ、様々なタスクが確実に互いに侵害しないようにするために使用することができる。あるいは、別の一実施形態は、BLOBを管理するために参照カウントを利用することがある。しかし、状態は、0の参照カウントに異なる解釈があり得るので使用することが望ましいことがあり、異なるように処理され得る。
[00040] 別の一実施形態において、システムは、図2に示すような状態図(200)に影響することがある。システム200は、本明細書に説明するように、複数の状態、例えば、全部破損202、暫定204、削除中206、回復済み208、孤立210、一部破損212、良好214およびTbl_blob行削除済み216を含むことがある。記載したように、システムは、BLOB(場合によってはメタデータストアで)へのポインタの数のカウンタ(すなわち「参照カウント」)を維持することができる。すべてのBLOBが「破損」と指定された場合、状態データは、2つの状態のうちの1つを反映することができる。(1)参照カウント=0の場合、暫定,または(2)参照カウント>0の場合、全部破損。システムは、暫定204への格納および/またはアクセスの要求を送ることができる。
[00041] 所望する場合、システムは、暫定状態204においてBlob作成することができ、その場合、BLOBはストアに「コミットされ」(例えば「HBM」)、システムは、良好状態214に移動することができる。一実施形態において、BLOBが写しのすべてに物理的に書き込まれて初めてBLOBをストアにコミットすることが望ましいことがある。以下は、採用された様々な状態の説明である。
良好状態
[00042] これはBLOBには通常の状態である。新しいメッセージの配信中にAddRefすることができるが、ガーベジコレクションはしない。一実施形態において、AddRefは、BLOBを再使用できることを指示することができる。BLOBがすでに配信されており、この状態にある場合、BLOBは「すでに存在する」し、BLOBへの追加の参照によりBLOBの参照カウントを増加させることをもたらし(すなわち、BLOBを再度格納することなく)、BLOBの適正な再使用のためにポインタを更新することができる。
[00043] 良好なBLOBは、参照の数に対してソフト制限を有することができ、それによって、BLOBの追加のコピーを作成させることができる。
孤立状態
[00044] これは、もはやアクティブな参照を有することができない、メッセージリムーバによる除去の候補であり得るBLOBである。実際にBLOBが削除中状態になるまで、BLOBはAddRefされ、良好状態に戻ることができる。
[00045] 暫定状態と同様に、所望の時間の後、メッセージリムーバがこれらのBLOBを削除する。
回復済み状態
[00046] データベースの破損または最近のトランザクションログの消失の場合、「tbl_blob」をディスクから再構築することが望ましいことがある。一実施形態において、tbl_blobは、各BLOBの場所および状態に関する情報を保持するデータ構造であり得る。この表および/またはデータ構造が消失した場合、データ回復の当技術分野で知られている任意のやり方でデータを回復することが望ましいことがある。これを容易にするために、孤立に類似している「回復済み」と呼ばれる状態がある。回復済みBLOBはまだ妥当性確認されていない可能性があるので、システムは、回復済みBLOBを監視してから配信を介してまたは回復済みメッセージのためのいずれかにより、それらを再使用するはずである。任意のAddRefには、BLOBが回復済み状態で見つかった場合、メール配信はBLOBを再書き込みしてすべてのコピーが確実に破損していないようにすることができる。
[00047] データベース回復は、検証せずにBLOBを一部破損状態で再使用するか、または完全性を検証しそれを良好としてコミットするかのいずれかの選択肢を有することができる。場合によって、データベース回復は、共有がダウンしているときなど、BLOBのすべてのコピーの完全性を検証することができない可能性がある。いったん回復が完了すると、BLOBをまず妥当性確認/再書き込みすることなくBLOBを再使用することが望ましくない可能性があるので、任意の残りのBLOBは暫定状態に移動させることができる。ガーベジコレクションは、回復済みBLOBには実施することができない。クリーンアップへのデータベース回復プロセスの責任は、いったん完了したとすることができる。AddRefは妥当性を確認して初めてOKになる。
暫定状態
[00048] 「暫定」状態は、新たなBLOBをディスクに書き込むプロセスによって使用することができる。BLOB書き込みはネットワークエラー、一時的エラーなどにより失敗することがあるので、BLOBが後に残された場合および/または決して使用されなかった場合、これらのBLOBが書き込まれた場所を記憶し、したがってそれらをクリーンアップできることが望ましいことがある。安全のために、BLOBは、すべてのコピーがうまく書き込まれた場合、重複排除によって使用されるのに適切であり得る。これらの場合、完全冗長性を有する暫定BLOBが書き込まれることに失敗した場合、完全なフォーマットでメッセージを書き込むことに戻ることが可能であり得る。発信者がまずBLOBを暫定状態で作成し、次いでTorresを呼び出してファイルをすべての共有に書き込みさせ、次いでCommitHeaderBlobMapping(コミット_HBM)を介してまたは状態を孤立に設定することによりBLOBを遷移することが期待される。一実施形態において、コミット_HBMは、メタデータストアのBLOB状態を暫定状態から適当な新たな状態(その場合、BLOBは使用され、再使用される用意ができている)に移動させる内部関数呼び出しであり得る。さらに、コミット_HBMは、BLOBの参照カウントを増加させることができ、例えば、暫定状態のBLOBに対するコミット_HBMの呼び出しは、その状態を変更するだけでなく、参照カウントを1に増加させることもできる。
[00049] BLOBがすでに暫定状態で存在する場合、別のBLOBが同時に配信されると、競合状態の可能性がある。この状態はTorresによって扱われ、それによって、BLOBの書き込みが決して既存のデータを破壊しないことを確実にする。(完全な説明についてはTorresに関する項目参照)
削除中状態
[00050] メッセージリムーバは、ディスク上のファイルを実際に削除することを決定すると、BLOBに「削除中」とマークを付けてから削除操作を開始する。これにより、確実に誰も半分削除されたBLOBを使用することを試みない。すべてのコピーがディスクから削除されたという確認を受け取ると、tbl_blobから行が除去される。エラーが起きた場合、削除が確認されるまでこの状態のままでいることが望ましいことがある(ファイルがもう存在しないか削除されたかのいずれかのため)。
[00051] BLOBが削除中状態にあり、発信者が同じハッシュを用いて新たなBLOBを作成することを試みた場合、異なるデータベース群が新たなBLOBに選ばれる。AddRefはNOT OKである。
一部破損状態
[00052] BLOBの任意のコピーが破損しているまたは読めないとして検知された場合、システムはBLOBに「一部破損」として、または他の何らかの名称の「破損」状態としてマークを付けることができる。システムがどの写しが破損しているのかに関する情報を格納しないことが望ましい。これは、破損したBLOBを検知するための、および/または破損したBLOBを修復するためのモジュール(別名「ターボFSS」)への両方の信号である。このモジュールは、破損したBLOBについて定期的に問い合わせを行うことができる。このモジュールは、このBLOBを任意の新たな配信に利用できないようにすることに加えて、修復を試みることもできる。システムがBLOBの正確な状態(何かが悪いということだけしか)を知らない可能性があるので、システムは、BLOBを重複排除に使用しなくてよい。この用途のために、ターボFSSとは、ファイルおよびBLOBがシステム内の複数の冗長コピーの間で同期状態に保持されることを確実にするモジュールを表す。
[00053] ターボFSSは、修復を実施するとき、あまりにも多くの回数修復することを試みることを避けるためにBLOBの最後の書き込み時間を考慮することもできる。BLOBは、参照カウント0に達すると、BLOBが再使用される前にBLOBを再書き込みさせることが望ましいことがあるので、暫定状態になることができる。新たなBLOBが一部破損の既存のBLOBとして同じハッシュと共に到着した場合、システムは新たな配信でそれを上書きする。すべての書き込みがうまくいくと、BLOBには修復済みのマークを付けることができる。すべてのBLOBが全冗長性で書き込み得ない場合、システムは重複排除されない可能性があるので、配信の間共有がダウンしていたためまたはユーザ移動が一部破損状態にされていないため、部分的に冗長であるBLOB。AddRefはNOT OKである。
全破損状態
[00054] この状態は、所与のBLOBにデータ消失が起きたことおよびすべての修復の試みが失敗したことを指示する。さらなる修復の試みは、試みない可能性がある。BLOBは、手動で修復されるかまたはすべての参照カウントが0に達しBLOBが削除されるまで、この状態にずっととどまることができる。
[00055] ユーザ移動は、アカウント全体(欠落BLOBを含む)を移動させることができるので、全部破損BLOBは、BLOBがソースシステム上で完全に欠落していた場合、ユーザ移動によって宛先システム上で作成することができる。BLOBがこの状態にあり、0の参照カウントに達した場合、BLOBを妥当性確認および/または再書き込みさせてから再使用することが望ましいことがあるので、BLOBは暫定となることができる。この用途のために、ユーザ移動は、ファイルシステムまたはEメールシステムなどとの最適なバランスをとるためにEメールアカウントを、イントラおよびインターデータセンタのあちこちに移動させるモジュールである。
[00056] 一実施形態において、この状態のBLOBは、データベース内にとどまり、一部のユーザおよび/または実体はそれらを参照する。いくつかの実施形態では、このようなBLOBを修復するために以下を含む複数の技法があり得る。
(1)メール配信またはユーザ移動は、同じハッシュを有する新たなBLOBが配信された場合、既存のBLOBを修復することができる。
(2)添付ファイルがそこに存在するかどうか確認するために他のサーバまたはデータベース群を見る。
(3)ActiveSynを使用するユーザには、システムは添付ファイルをそこから引っ張ることができる。
[00057] 新たなBLOBが全部破損の既存のBLOBとして同じハッシュと共に到着した場合、一実施形態は、永続性ストレージが書き込みを有するべき等であることを保証することができるので、新たな配信でそれを上書きすることができる。すべての書き込みがうまくいくと、BLOBは良好というマークが付けられ、AddRefされる。AddrefはNOT OKである。
参照カウンティング
[00058] BLOBはユーザ間で共有することができるので、BLOBが有する参照の数を追跡し、したがって参照の数がゼロの参照に達するとシステムが参照の数をクリーンアップできることが望ましいことがある。あるいは、システムは、所望の閾値のアカウントの数に影響することがあるデータ消失を軽減することが望ましい場合、BLOBがあまりに多くの参照を有することを潜在的に妨げることができる。
[00059] BLOBの状態は、ある状態が参照カウントを0にし、他の状態が参照カウントを0より大きくすることを望むので、参照カウントへの影響を有することもあり得る。例えば、以下の表は、一実施形態の実施を反映する。
Figure 0006232427
[00060] 参照カウントは、行がtbl_HeaderBlobMapping(すなわち、tbl_HBM)に追加されると、増加させることができ、行が除去されると減少させることができる。行は、メッセージがtbl_deletedmessageから除去されると、tbl_HeaderBlobMappingから除去することができる。システムはtbl_headerからの削除により除去しないことが望ましいことがある。これにより、メッセージがメッセージリムーバによって削除される前に、BLOBがガーベジコレクションする。一実施形態において、システムがメッセージリムーバを何らかの理由で元に戻すことを望む場合、添付ファイルを確実にまだ読むことができるようにすることが望ましいことがある。
[00061] 参照カウントが0に達すると、トリガが以下のようにtbl_blobの表の状態を変更することができる。
Figure 0006232427
[00062] 部分的にまたは完全に破損しているBLOBは、暫定状態に遷移することができ、したがってシステムはそれらを修復することを試みない可能性がある。
[00063] 一実施形態において、システムは、ソフト制限を参照カウントに実施して、BLOBのコピーの消失が受けることがある損傷の量を制限することができる。この制限は構成ファイルから読むことができ、BLOB作成が呼び出されたとき実施することができる。BLOBが構成された制限を超えていることにシステムが気付いた場合、システムは、既存のBLOBを返すのではなく、新たな場所の新たな暫定BLOBを返すことができる。この用途のために、BLOB作成は、新たなBLOBの場所を作成するかまたは既存の場所を再使用するかのいずれかができる関数呼び出しである。
[00064] いくつかの実施形態では、制限は対数的に実施することができ、したがって、各々の追加のコピーは、BLOBの数に制限を乗じることができる。例えば、制限が1つのBLOB当たり100のコピーである場合、2つのコピーでは100*100=10000のコピーが可能になり、3つのコピーでは100のコピーが可能になる。
[00065] 以下の表は、いくつかの異なる条件の下での可能なBLOB修復状態の一実施形態である。
Figure 0006232427
Figure 0006232427
Eメールシステムの一実施形態
[00066] 図3は、本出願の原理により製作されたときのEメールシステムの一実施形態を示す。具体的には、システム300は、重複排除操作のためのEメール配信の流れ図を示す。Eメールシステム300は、着信Eメールおよび/またはそれらの添付ファイルを受け取り、メッセージ構文解析302において、Eメールの様々な部分を構文解析することができる。メッセージ構文解析302は、様々な部分に対してハッシュを計算することができる。ハッシュの結果は、メッセージおよび/または添付ファイルを重複排除するのかどうかを決定する助けにするためにシステムによって使用することができる。
[00067] システムは、図示するように、「良好」状態にある間、各BLOB作成304をすることを決定し継続する。BLOBの状態が「書き込み」することを望む場合、BLOBは306において永続性ストア306に書き込むことができる。システムがBLOBを終えると、システムは308においてコミットHBMを従事させることができ、システムは、その後、310において「コンパクトな」メッセージを書き込むことができる。しかし、システムが「エラー」を検知すると、システムは、312において「完全な」メッセージを書き込むことができる。
[00068] 上に説明してきたことは、本発明の例を含む。もちろん、特許請求される主題を説明するために構成要素または方法論の考えられる限りのあらゆる組合せを説明することは可能でないが、本発明の他の多くの組合せおよび順列が可能であることを当業者は認識することができる。したがって、特許請求される主題は、添付の特許請求の範囲の精神および範囲に含まれるそのような改変、修正、および変形をすべて包含することを意図している。
[00069] 具体的にはおよび上記の構成要素、デバイス、回路、システムなどによって実施される様々な機能に関して、そのような構成要素を説明するのに使用された用語(「手段」への参照を含む)は、他に指示のない限り、特許請求される主題の本明細書に図示される例示的な態様において機能を実施する、開示された構造に構造的に同等ではなくても、説明された構成要素の指定された機能(例えば、機能的な同等物)を実施する任意の構成要素に対応することを意図している。この点において、本発明が特許請求される主題の様々な方法の動作および/または事象を実施するためのシステムならびにコンピュータ実行可能命令を有するコンピュータ可読媒体を含むことも認識されよう。
[00070] さらに、本発明の特定の特徴はいくつかの実施のうちの1つのみに関して開示されたかもしれないが、そのような特徴は、いずれかの所与のまたは特定の用途に所望され有利であり得るとき、他の実施の1つまたは複数の他の特徴に組み合わせることができる。さらに、「含む(includes)」および「含む(including)」という用語およびそれらの変形が、詳細な説明または特許請求の範囲のいずれかに使用される程度まで、これらの用語は「含む(comprising)」という用語と類似の仕方で包含的であることを意図している。

Claims (11)

  1. ファイルシステムにおけるデータを重複削除するための方法であって、前記ファイルシステムが1つまたは複数のファイルを含み、各々の前記ファイルがデータの組を含み、前記データの組が2人以上のユーザによって共有することができる、方法において、
    ファイルシステム内に格納されるファイルを受け取ること、
    前記ファイル内のデータの組が前に前記ファイルシステムに格納されていたかどうかをチェックすること、
    前記データの組が前記ファイルシステムに格納されていた場合、前記格納されたデータの組の状態をチェックすること、
    前記格納されたデータの組の状態が前記ファィルのコピーを共有するのに適当である場合、前記データの組を共有するコマンドのあったときに前記ファイルへの参照を提供し、前記格納されたデータの組に関連した参照カウントを増加すること、
    前記参照カウントをチェックすること、および、
    前記参照カウントがゼロである場合、前記格納されたデータの組の状態を、暫定と、削除中と、孤立と、回復済みからなる群のうちの1つに遷移することを含み、
    前記遷移することが、前記参照カウントがゼロである場合、前記格納されたデータの組の状態が全部破損または一部破損であるとき暫定に遷移することを含む、方法。
  2. 前記ファイルシステムが、Eメールシステムであり、前記ファイルが、Eメールを含み、前記データの組が、前記Eメールへの添付ファイルを含み、
    前記ファイルシステム内に格納されるファイルを受け取ることが、さらに、
    Eメールを受け取ることであって、前記Eメールが添付ファイルをさらに含むことを含む、請求項1に記載の方法。
  3. 前記ファイルシステム内に格納されるファイルを受け取ることが、
    前記Eメールに関するメタデータを格納することをさらに含み、前記メタデータが、前記Eメールに関するメタデータと、前記Eメールへの添付ファイルに関するメタデータと、前記Eメールに関する状態メタデータと、前記添付ファイルに関する状態メタデータと、前記添付ファイルをどのように共有するかに関するメタデータと、前記添付ファイルの重複に関するメタデータとを含む群のうちの1つを含む、請求項2に記載の方法。
  4. 前記格納されたデータの組の状態を前記チェックすることが、
    前記添付ファイルに関連した状態を割り当てることをさらに含む、請求項に記載の方法。
  5. 前記添付ファイルに関連した前記状態が、良好と、一部破損と、全部破損と、暫定と、削除中と、孤立と、回復済みとを含む群のうちの1つを含む、請求項4に記載の方法。
  6. 前記格納されたデータの組の状態が前記ファイルのコピーを共有するのに適当である場合、前記データの組を共有するコマンドのあったときに前記ファイルへの参照を提供することが、
    前記格納されたデータの組のための参照カウントを増加させること、および、
    前記格納されたデータの組へのポインタ参照を目標実体に送ることをさらに含む、請求項1に記載の方法。
  7. データの組が破損しているかどうかを検知すること、
    破損していた場合、前記データの組に関連した前記状態を良好から破損に遷移させること、
    前記破損したデータの組を修復すること、および、
    前記データの組に関連した前記状態を破損から良好に遷移させることをさらに含む、請求項1に記載の方法。
  8. Eメールシステムにおけるデータを重複排除するためのシステムであって、前記Eメールシステムが、
    Eメールクライアントの組と通信するEメールサーバと、
    Eメールおよび関連する添付ファイルを格納するためのデータベースであって、群のうちの少なくとも1つを格納し、前記群が、Eメールメッセージ、関連する添付ファイル、前記Eメールメッセージに関するメタデータおよび前記関連する添付ファイルに関するメタデータを含むデータベースと、
    前記Eメールクライアントの組の間で添付ファイルの共有を管理するためのモジュールとを含み、
    前記Eメールクライアントの組の間で前記添付ファイルの共有を管理する前記モジュールが、添付ファイルの状態を検知することができ、前記添付ファイルの状態に応じて前記添付ファイルへの参照ポインタを共有することができ、
    さらに、前記Eメールクライアントの組の間で前記添付ファイルの共有を管理する前記モジュールが、前記添付ファイルに関連した参照カウントをチェックすることができ、前記添付ファイルが共有された場合前記参照カウントを増加することができ、前記参照カウントがゼロである場合前記添付ファイルの前記状態を、暫定と、削除中と、孤立と、回復済みからなる群のうちの1つに遷移することができ、前記参照カウントがゼロである場合前記格納されたデータの組の状態が全部破損または一部破損であるとき暫定に遷移することができる、システム。
  9. 前記添付ファイルの共有を管理するための前記モジュールが、添付ファイルが破損しているかどうかを検知するためのモジュールをさらに含む、請求項8に記載のシステム。
  10. 前記添付ファイルの共有を管理するための前記モジュールが、添付ファイルの状態を維持するためのモジュールをさらに含む、請求項9に記載のシステム。
  11. ファイルシステムにおけるデータを重複削除することをコンピュータに実行させるためのプログラムであって、前記ファイルシステムが1つまたは複数のファイルを含み、各々の前記ファイルがデータの組を含み、前記データの組が2人以上のユーザによって共有することができ、
    ファイルシステム内に格納されるファイルを受け取ること、
    前記ファイル内のデータの組が前に前記ファイルシステムに格納されていたかどうかをチェックすること、
    前記データの組が前記ファイルシステムに格納されていた場合、前記格納されたデータ
    の組の状態をチェックすること、
    前記格納されたデータの組の状態が前記ファィルのコピーを共有するのに適当である場合、前記データの組を共有するコマンドのあったときに前記ファイルへの参照を提供し、前記格納されたデータの組に関連した参照カウントを増加すること、
    前記参照カウントをチェックすること、および、
    前記参照カウントがゼロである場合、前記格納されたデータの組の状態を、暫定と、削除中と、孤立と、回復済みからなる群のうちの1つに遷移すること
    を実行させるためのプログラムであって
    前記遷移することが、前記参照カウントがゼロである場合、前記格納されたデータの組の状態が全部破損または一部破損であるとき暫定に遷移することを含む、プログラム。
JP2015526613A 2012-08-13 2013-08-06 メッセージ配信における添付ファイルの重複排除および添付ファイルの自動修復 Active JP6232427B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/572,900 US9262429B2 (en) 2012-08-13 2012-08-13 De-duplicating attachments on message delivery and automated repair of attachments
US13/572,900 2012-08-13
PCT/US2013/053678 WO2014028261A1 (en) 2012-08-13 2013-08-06 De-duplicating attachments on message delivery and automated repair of attachments

Publications (3)

Publication Number Publication Date
JP2015525936A JP2015525936A (ja) 2015-09-07
JP2015525936A5 JP2015525936A5 (ja) 2016-09-01
JP6232427B2 true JP6232427B2 (ja) 2017-11-15

Family

ID=49083737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015526613A Active JP6232427B2 (ja) 2012-08-13 2013-08-06 メッセージ配信における添付ファイルの重複排除および添付ファイルの自動修復

Country Status (6)

Country Link
US (2) US9262429B2 (ja)
EP (1) EP2883163A1 (ja)
JP (1) JP6232427B2 (ja)
KR (1) KR20150043331A (ja)
CN (1) CN104584006B (ja)
WO (1) WO2014028261A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105007216A (zh) * 2015-07-16 2015-10-28 魅族科技(中国)有限公司 一种邮件回复处理方法及装置
CN104994012A (zh) * 2015-07-16 2015-10-21 魅族科技(中国)有限公司 一种邮件发送方法及装置
CN105024921B (zh) * 2015-07-16 2018-12-07 魅族科技(中国)有限公司 一种邮件保存方法及终端
CN104994010B (zh) * 2015-07-16 2018-09-14 魅族科技(中国)有限公司 一种邮件展示方法及终端
CN104994011B (zh) * 2015-07-16 2018-09-14 魅族科技(中国)有限公司 一种邮件保存方法及终端
US10250543B2 (en) 2015-10-23 2019-04-02 International Business Machines Corporation Deduplication of e-mail content by an e-mail server
US10104021B2 (en) * 2015-11-18 2018-10-16 Oracle International Corporation Electronic mail data modeling for efficient indexing
JP7057541B2 (ja) * 2017-03-31 2022-04-20 日本電気株式会社 ネットワークストレージシステム
US10691643B2 (en) * 2017-11-20 2020-06-23 International Business Machines Corporation Deduplication for files in cloud computing storage and communication tools
US10721198B1 (en) * 2019-04-15 2020-07-21 Microsoft Technology Licensing, Llc Reducing avoidable transmission of an attachment to a message by comparing the fingerprint of a received attachment to that of a previously received attachment and indicating to the transmitting user when a match occurs that the attachment does not need to be transmitted
US10721193B1 (en) * 2019-04-15 2020-07-21 Microsoft Technology Licensing, Llc Reducing avoidable transmission of an attachment to a message by comparing the fingerprint of the attachment to be sent to that of an attachment that was previously sent or received by the user and indicating to the user when a match occurs that the attachment is redundant
US20200329000A1 (en) * 2019-04-15 2020-10-15 Microsoft Technology Licensing, Llc Reducing avoidable transmissions of electronic message content
US20200328996A1 (en) * 2019-04-15 2020-10-15 Microsoft Technology Licensing, Llc Reducing avoidable transmissions of electronic message content
US11237893B2 (en) 2019-06-26 2022-02-01 Western Digital Technologies, Inc. Use of error correction-based metric for identifying poorly performing data storage devices
US10969969B2 (en) 2019-06-26 2021-04-06 Western Digital Technologies, Inc. Use of recovery behavior for prognosticating and in-situ repair of data storage devices
US11567921B2 (en) * 2021-03-31 2023-01-31 Microsoft Technology Licensing, Llc Rowgroup consolidation with global delta accumulation and versioning in distributed systems

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732111B2 (en) * 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6735770B1 (en) * 1998-04-27 2004-05-11 Sun Microsystems, Inc. Method and apparatus for high performance access to data in a message store
US6636853B1 (en) * 1999-08-30 2003-10-21 Morphism, Llc Method and apparatus for representing and navigating search results
GB2358263A (en) * 2000-01-13 2001-07-18 Applied Psychology Res Ltd Generating user profile data
DE10064627B4 (de) 2000-02-02 2004-02-12 International Business Machines Corp. Verfahren und System für die Verarbeitung von E-Mail-Nachrichten in einem Datenübertragungssystem
US6625595B1 (en) * 2000-07-05 2003-09-23 Bellsouth Intellectual Property Corporation Method and system for selectively presenting database results in an information retrieval system
US7003551B2 (en) 2000-11-30 2006-02-21 Bellsouth Intellectual Property Corp. Method and apparatus for minimizing storage of common attachment files in an e-mail communications server
US20020152224A1 (en) * 2001-03-06 2002-10-17 Cliff Roth System and method for generating a recommendation guide for use with an EPG
US20030004922A1 (en) * 2001-06-27 2003-01-02 Ontrack Data International, Inc. System and method for data management
US7496604B2 (en) * 2001-12-03 2009-02-24 Aol Llc Reducing duplication of files on a network
US7870089B1 (en) * 2001-12-03 2011-01-11 Aol Inc. Reducing duplication of embedded resources on a network
JP2003223404A (ja) * 2002-01-29 2003-08-08 Toshiba Corp 電子メールシステム
US7788699B2 (en) * 2002-03-06 2010-08-31 Vir2Us, Inc. Computer and method for safe usage of documents, email attachments and other content that may contain virus, spy-ware, or malicious code
US7305430B2 (en) 2002-08-01 2007-12-04 International Business Machines Corporation Reducing data storage requirements on mail servers
US7251680B2 (en) * 2003-10-31 2007-07-31 Veritas Operating Corporation Single instance backup of email message attachments
DE502004001164D1 (de) 2004-06-02 2006-09-21 Ixos Software Ag Verfahren und Vorrichtung zum Verwalten von elektronischen Nachrichten
US8233594B2 (en) * 2005-02-07 2012-07-31 Avaya Inc. Caching message information in an integrated communication system
JP2006268329A (ja) * 2005-03-23 2006-10-05 Canon Inc 電子メイルシステム及び電子メイル処理方法
WO2006123328A1 (en) * 2005-05-16 2006-11-23 Ron Zigelman A System and a Method for Transferring Email File Attachments over a Telecommunication Network Using a Peer-to-Peer connection
US8732087B2 (en) * 2005-07-01 2014-05-20 The Invention Science Fund I, Llc Authorization for media content alteration
US20080086640A1 (en) * 2005-07-28 2008-04-10 Jmj Software, Llc Systems, methods and apparatus of an email client
US7472242B1 (en) 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
EP2039089B1 (en) 2006-06-29 2009-07-29 International Business Machines Corporation Method and system for low-redundancy e-mail handling
US20080052284A1 (en) * 2006-08-05 2008-02-28 Terry Stokes System and Method for the Capture and Archival of Electronic Communications
WO2008070688A1 (en) * 2006-12-04 2008-06-12 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7831676B1 (en) * 2007-02-21 2010-11-09 Nagar Ajay R Method and system for handling email
US8239479B2 (en) * 2007-06-22 2012-08-07 Microsoft Corporation Server-assisted and peer-to-peer synchronization
US8209506B2 (en) * 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US20090204636A1 (en) * 2008-02-11 2009-08-13 Microsoft Corporation Multimodal object de-duplication
US8650228B2 (en) * 2008-04-14 2014-02-11 Roderick B. Wideman Methods and systems for space management in data de-duplication
US7930306B2 (en) * 2008-04-30 2011-04-19 Msc Intellectual Properties B.V. System and method for near and exact de-duplication of documents
US7996371B1 (en) * 2008-06-10 2011-08-09 Netapp, Inc. Combining context-aware and context-independent data deduplication for optimal space savings
US8631079B2 (en) * 2008-06-20 2014-01-14 Microsoft Corporation Displaying a list of file attachments associated with a message thread
US8484162B2 (en) * 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8219524B2 (en) * 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US7913114B2 (en) 2008-07-31 2011-03-22 Quantum Corporation Repair of a corrupt data segment used by a de-duplication engine
US9020993B2 (en) * 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
AU2009335697A1 (en) 2008-12-18 2011-08-04 Copiun, Inc. Methods and apparatus for content-aware data partitioning and data de-duplication
US8459245B1 (en) * 2009-01-09 2013-06-11 Budster Enterprises, LLC Induction drive mechanism for a paintball loader
US8645334B2 (en) * 2009-02-27 2014-02-04 Andrew LEPPARD Minimize damage caused by corruption of de-duplicated data
US8346736B2 (en) * 2009-03-16 2013-01-01 International Business Machines Corporation Apparatus and method to deduplicate data
US8234468B1 (en) * 2009-04-29 2012-07-31 Netapp, Inc. System and method for providing variable length deduplication on a fixed block file system
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8458144B2 (en) * 2009-10-22 2013-06-04 Oracle America, Inc. Data deduplication method using file system constructs
US8121993B2 (en) * 2009-10-28 2012-02-21 Oracle America, Inc. Data sharing and recovery within a network of untrusted storage devices using data object fingerprinting
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US8495028B2 (en) * 2010-01-25 2013-07-23 Sepaton, Inc. System and method for data driven de-duplication
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
US8744997B2 (en) * 2010-02-09 2014-06-03 Google Inc. Pruning of blob replicas
US20110218973A1 (en) * 2010-03-02 2011-09-08 Renew Data Corp. System and method for creating a de-duplicated data set and preserving metadata for processing the de-duplicated data set
US8732133B2 (en) * 2010-03-16 2014-05-20 Commvault Systems, Inc. Extensible data deduplication system and method
KR101035302B1 (ko) 2010-10-11 2011-05-19 (주)이스트소프트 클라우드 시스템 및 클라우드 시스템에서 파일 압축 및 전송 방법
JP5650982B2 (ja) * 2010-10-25 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルの重複を排除する装置及び方法
US9491127B2 (en) * 2010-11-22 2016-11-08 Avaya Inc. Apparatus and method for automatically determining a version of a file
US10162553B2 (en) * 2010-11-24 2018-12-25 Western Digital Technologies, Inc. Methods and systems for object level de-duplication for solid state devices
US8380681B2 (en) * 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
US9110936B2 (en) * 2010-12-28 2015-08-18 Microsoft Technology Licensing, Llc Using index partitioning and reconciliation for data deduplication
US8898240B2 (en) * 2011-08-16 2014-11-25 Roderick B. Wideman Messaging policy controlled email de-duplication

Also Published As

Publication number Publication date
WO2014028261A1 (en) 2014-02-20
US20140046911A1 (en) 2014-02-13
CN104584006A (zh) 2015-04-29
KR20150043331A (ko) 2015-04-22
US20160140138A1 (en) 2016-05-19
EP2883163A1 (en) 2015-06-17
US9262429B2 (en) 2016-02-16
JP2015525936A (ja) 2015-09-07
US10671568B2 (en) 2020-06-02
CN104584006B (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
JP6232427B2 (ja) メッセージ配信における添付ファイルの重複排除および添付ファイルの自動修復
CN109725822B (zh) 用于管理存储系统的方法、设备和计算机程序产品
KR101044849B1 (ko) 자동 데이터베이스 또는 파일 시스템 정비 및 수리를 위한시스템 및 방법
US8260747B2 (en) System, method, and computer program product for allowing access to backup data
US8707098B2 (en) Recovery procedure for a data storage system
US10831741B2 (en) Log-shipping data replication with early log record fetching
US20090327361A1 (en) Data replication feedback for transport input/output
US11914554B2 (en) Adaptable multi-layered storage for deduplicating electronic messages
US11194669B2 (en) Adaptable multi-layered storage for generating search indexes
US11392460B2 (en) Adaptable multi-layer storage with controlled restoration of protected data
CN105302667A (zh) 基于集群架构的高可靠性数据备份与恢复方法
US11080142B2 (en) Preservation of electronic messages between snapshots
US11681586B2 (en) Data management system with limited control of external compute and storage resources
WO2021208400A1 (zh) 现代应用的备份恢复系统及方法
CN104166605A (zh) 基于增量数据文件的数据备份方法及系统
CN104407940A (zh) 一种快速恢复cdp系统的方法
CN104794119A (zh) 用于中间件消息的存储与传输方法及系统
CN110278222B (zh) 分布式文件存储系统中数据管理的方法、系统以及相关设备
WO2014075586A1 (zh) 一种jbod阵列自动恢复存储的方法和装置
CN113946471A (zh) 基于对象存储的分布式文件级备份方法及系统
CN107402841B (zh) 大规模分布式文件系统数据修复方法及设备
US20170344282A1 (en) Methods for improving journal performance in storage networks and devices thereof
CN103197992A (zh) GlusterFS脑裂的自动化恢复方法
US11645333B1 (en) Garbage collection integrated with physical file verification
JP2010039988A (ja) ファイル管理方法、装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171023

R150 Certificate of patent or registration of utility model

Ref document number: 6232427

Country of ref document: JP

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