JP6227007B2 - データ圧縮領域へのデータの実時間分類 - Google Patents

データ圧縮領域へのデータの実時間分類 Download PDF

Info

Publication number
JP6227007B2
JP6227007B2 JP2015552168A JP2015552168A JP6227007B2 JP 6227007 B2 JP6227007 B2 JP 6227007B2 JP 2015552168 A JP2015552168 A JP 2015552168A JP 2015552168 A JP2015552168 A JP 2015552168A JP 6227007 B2 JP6227007 B2 JP 6227007B2
Authority
JP
Japan
Prior art keywords
data
write operation
randomly selected
fingerprint
data compression
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.)
Expired - Fee Related
Application number
JP2015552168A
Other languages
English (en)
Other versions
JP2016512625A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2016512625A publication Critical patent/JP2016512625A/ja
Application granted granted Critical
Publication of JP6227007B2 publication Critical patent/JP6227007B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)

Description

本発明は一般にコンピュータに関し、より具体的には、コンピューティング環境におけるデータ圧縮領域へのデータの実時間分類に関する。
今日の社会では、コンピュータ・システムが広く行き渡っている。コンピュータ・システムは、職場、家庭、又は学校で見いだすことができる。コンピュータ・システムは、データを処理及び格納するための、データ・ストレージ・システム又はディスク・ストレージ・システムを含むことができる。データ・ストレージ・システム又はディスク・ストレージ・システムは、データを処理及び格納するために利用される。ストレージ・システムは、1つ又は複数のディスク・ドライブを含むことができる。これらのデータ処理システムは、典型的には大容量データ・ストレージを必要とする。データ処理システム内の顧客データ又はユーザによって生成されたデータは、このデータ・ストレージのかなりの部分を占める。これらのコンピュータ・システムの多くは、仮想ストレージ・コンポーネントを含む。
データ圧縮は、所与の量の情報を処理し、伝達し、又は格納するのに必要なデータの量を減らすために広く用いられている。データ圧縮は、データの表現を最小化するためのデータのコード化である。圧縮を用いて、例えば、ファイルに対するストレージの要件を低減すること、チャネル上の通信速度を高めること、又はより高度なセキュリティのための暗号化に先立って冗長性を減らすことができる。
本発明の目的は、データ圧縮領域へのデータの実時間分類のための方法、システム及びコンピュータ・プログラムを提供することである。
一実施形態において、プロセッサ装置を使用したデータ圧縮領域へのデータの実時間分類のための方法が提供される。データ圧縮領域へのデータの実時間分類のために、書込み動作のランダムに選択されたデータを読み出し、分類ヒューリスティックのセットを計算して書込み動作の各々に関するフィンガープリントを作成することにより、データ圧縮領域のうちのどれに書込み動作を送るかの決定がなされる。類似のフィンガープリントを有する書込み動作は、一緒に類似圧縮ストリームに圧縮される。
別の実施形態において、データ圧縮領域へのデータの実時間分類のためのコンピュータ・システムが提供される。コンピュータ・システムは、コンピュータ可読媒体と、コンピュータ可読媒体と動作可能に通信するプロセッサとを含む。データ圧縮領域へのデータの実時間分類のために、プロセッサは、書込み動作のランダムに選択されたデータを読み出し、分類ヒューリスティックのセットを計算して書込み動作の各々に関するフィンガープリントを作成することにより、データ圧縮領域のうちのどれに書込み動作を送るかを決定する。類似のフィンガープリントを有する書込み動作は、一緒に同じ圧縮ストリーム内に圧縮される。
さらに別の実施形態において、データ圧縮領域へのデータの実時間分類のためのコンピュータ・プログラム製品が提供される。コンピュータ可読記憶媒体は、その上に格納されたコンピュータ可読プログラム・コード部分を有する。コンピュータ可読プログラム・コード部分は、書込み動作のランダムに選択されたデータを読み出し、書込み動作の各々に関する分類ヒューリスティックのセットを計算してフィンガープリントを作成することによりデータ圧縮領域のうちのどれに書込み動作を送るかを決定する、第1の実行可能部分を含む。類似のフィンガープリントを有する書込み動作は、一緒に同じ圧縮ストリーム内に圧縮される。
前述の例示的な方法の実施形態に加えて、他の例示的なシステム及びコンピュータ・プログラム製品の実施形態が提供され、関連する利益を与える。上述の要旨は、以下の詳細な説明においてさらに説明される概念の抜粋を簡単な形で紹介するために提示したものである。この要旨は、特許請求される主題の重要な特徴又は必須の特徴を特定することを意図するものではなく、特許請求される主題の範囲を定める補助として用いられることを意図するものでもない。特許請求される主題は、背景技術に記したいずれかの又は全ての不利益を解決する実施に限定されない。
次に、本発明の実施形態を、添付の図面を参照しながら例示の目的で説明する。
本発明の態様を実現することができる、例示的な記憶装置を有するコンピュータ・ストレージ環境を示すブロック図である。 本発明の態様を実現することができる、コンピュータ・システム内の例示的なデータ・ストレージ・システムのハードウェア構造を示すブロック図である。 本発明の態様を実現することができる、データ圧縮領域へのデータの実時間分類の例示的な方法を示すフローチャート図である。 本発明の態様を実現することができる、データ圧縮領域へのデータの実時間分類の付加的な例示的方法を示すフローチャート図である。
前述のように、コンピュータ・システムを用いて、様々な型式のデータが格納及び管理される。類似のデータを同じ圧縮ストリームを用いて圧縮することにより、圧縮比が改善され、必要なストレージが削減される。しかし、データが書き込まれるとき、1つのファイル内の連続的なブロック内であっても、コンテンツは必ずしも類似しているわけではない。例えば、画像及びテキストを有する文書を考える。画像及びテキストを有する文書に関して2つの別々の圧縮ストリームが作成され、次いで各型式のデータが別々の圧縮ストリームに送られるならば、データ圧縮の効率がより高められ、データ全体の圧縮比が改善される。
ブロック・ストレージ・システムでは、データ・ブロックは、どんな型式のデータが書き込まれるかという指標無しでストレージに書き込まれ、書込み間の関係の指標(例えば、同じファイルの書込み、及び、同じ型式のデータの書込み)も何ら与えられない。それゆえ、データの書込み動作を圧縮するとき、共通の属性(及び繰返し)を有さず、圧縮率の低下をもたらすことになるデータを一緒に圧縮する可能性がある。ブロック・ストレージ・システムは、書き込まれるデータの型式(又はクラス)の情報を何ら有さず、それを利用することができない。この課題を解決する試みとして、論理ブロック・アドレス(LBA)空間の空間的局在性を用いることによる、ブロックシステム用の手法が挙げられる。所与のLBA範囲へのあらゆる書込みが一緒に圧縮され、これは、ファイル又は関連ファイルを連続して割り当てる、ファイル・システム/データベース割当てストラテジーにある程度従う。このような手法は、単一ファイル内のデータは類似しており、単一圧縮ストリームに圧縮されるべきであるという一般的なヒューリスティックに従うが、このヒューリスティックは必ずしも真実であるとは限らないことが見いだされており、それゆえデータ圧縮効率が低下する。従って、どの圧縮ストリームを使用するかの決定を実時間で行うことが必要とされており、これができなければ別々の圧縮ストリームを使用することは実用的ではない。それゆえ、どの圧縮ストリームを使用するかを選択する決定アルゴリズムは高速でなければならない(高速は相対的な用語であり、現在の技術状況で利用可能なハードウェアを使用してデータを圧縮するのに必要な時間の何分の一かとなるべきである)。
従って、一実施形態において、本発明は、プロセッサ装置を用いたデータ圧縮領域へのデータの実時間分類に関する解決策を提供する。データ圧縮領域へのデータの実時間分類のために、書込み動作のランダムに選択されたデータを読み出し、分類ヒューリスティックのセットを計算して書込み動作の各々に関するフィンガープリントを作成することにより、どのデータ圧縮領域に書込み動作を送るべきかの決定が行われる。類似のフィンガープリントを有する書込み動作は、一緒に類似圧縮ストリームに圧縮される。
後述するように、1つの実施形態において、本発明は、事前情報無しで、データの「クラス」(又は特性)を「検出」する(例えば、圧縮領域又は圧縮ストリームが分類される)。本発明は、データの領域に基づいて複数の圧縮ストリームに書き込むことを可能にする。本発明は、どの圧縮領域に書込み動作を送るかを識別及び決定し、どの圧縮ストリームを使用するかを決定する。圧縮領域は、1つ又は複数のアクティブ圧縮ストリームを有するものとすることができる。検出方法は、ランダムに選択された、入力データの小さい断片を読み出し、分類ヒューリスティックのセットを計算してデータのフィンガープリントを作成する。類似のフィンガープリントを有するデータは一緒に単一の圧縮ストリームに圧縮され、一方、異なるフィンガープリント及び特性を有するデータ(例えば、画像対テキスト)を含む書込み動作は、異なる圧縮ストリームに分割されることになる。このようなデータの分類及び分割は、類似データを単一ストリーム内に保持する一方で、複数のマシンを利用することにより、より多くのノードがデータの圧縮を補助することを可能にすることによって、効率を高め、分散システム(即ち、複数の圧縮ノード)のより良い利用を提供する。識別及び検出アルゴリズムは高速であり、どの圧縮領域及びストリームを使用するべきかを決定するためにデータを圧縮することを必要としない。
次に図1を見ると、コンピューティング環境におけるデータ・ストレージ・システムの例示的なアーキテクチャ10が描かれている。コンピュータ・システム10は、中央処理ユニット(CPU)12を含み、これが大容量記憶装置14及びメモリ装置16に接続される。大容量記憶装置は、ハードディスク・ドライブ(HDD)装置、固体装置(SSD)等を含むことができ、これらは独立ディスクの冗長アレイ(RAID)に構成することができる。さらに説明されるバックアップ動作は、システム10又は他の場所に位置する装置14上で実行することができる。メモリ装置16は、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)のようなメモリ、又は関連装置のホストを含むことができる。メモリ装置16及び大容量記憶装置14は、信号搬送媒体を介してCPU12に接続される。さらに、CPU12は、複数の付加的なコンピュータ・システム22及び24が取付けられた通信ネットワーク20に通信ポート18を通して接続される。
図2は、本発明による、コンピュータ・システム内のデータ・ストレージ・システムのハードウェア構造を示す例示的なブロック図200である。図2を参照すると、データ・ストレージ・システム200の一部の、データ処理を実行するための中央処理ユニットとして各々が動作するホスト・コンピュータ210、220、225が示されている。ホスト(物理又は仮想装置)210、220、及び225は、データ・ストレージ・システム200内で本発明の目的を達成するための1つ又は複数の新たな物理装置又は論理装置とすることができる。1つの実施形態において、一例として、データ・ストレージ・システム200は、IBM(登録商標)System Storage(商標)DS8000(商標)として実装することができる。ネットワーク接続260は、ファイバ・チャネル・ファブリック、ファイバ・チャネル2地点間リンク、イーサネット・ファブリック又は2地点間リンク上のファイバ・チャネル、FICON又はESCON I/Oインタフェース、その他の任意のI/Oインタフェース型式、無線ネットワーク、有線ネットワーク、LAN、WAN、異種、同種、公衆(即ちインターネット)、私設、又はこれらの任意の組合せとすることができる。ホスト210、220、及び225は、ローカルとすることも又は1つ若しくは複数の位置間に分散させることもでき、ストレージ制御装置240に対する任意の型式のファブリック(又はファブリック・チャネル)(図2には示さず)又はネットワーク・アダプタ260、例えば、ファイバ・チャネル、FICON、ESCON、イーサネット、光ファイバ、無線、又は同軸アダプタなどを装備することができる。データ・ストレージ・システム200には、従って、通信用の適切なファブリック(図2には示さず)又はネットワーク・アダプタ260が装備される。ストレージ制御装置240及びストレージ230を含むデータ・ストレージ・システム200が図2に示される。
本明細書で説明する方法のより明確な理解を促進するために、ストレージ制御装置240は、図2において、マイクロプロセッサ242、システム・メモリ243及び不揮発性ストレージ(NVS)216を含む単一の処理ユニットとして示されており、これらはより詳細に後述する。幾つかの実施形態において、ストレージ制御装置240は複数の処理ユニットで構成され、処理ユニットの各々がそれ自体のプロセッサ複合体及びシステム・メモリを有し、データ・ストレージ・システム200内の専用ネットワークによって相互接続されることに留意されたい。ストレージ230は、ストレージ・ネットワークによってストレージ制御装置240に接続される、ストレージ・アレイのような1つ又は複数の記憶装置を含むことができる。
幾つかの実施形態において、ストレージ230に含まれる装置はループ・アーキテクチャで接続することができる。ストレージ制御装置240は、ストレージ230を管理し、ストレージ230を対象とする書込み及び読出し要求の処理を促進する。ストレージ制御装置240のシステム・メモリ243は、プログラム命令及びデータを格納し、これにプロセッサ242がアクセスして、ストレージ230の管理に関連する機能及び方法ステップを実行し、コンピュータ・ストレージ環境における本発明のステップ及び方法を実行することができる。1つの実施形態において、システム・メモリ243は、コンピュータ・ストレージ環境内で、本明細書で説明する方法及び動作を含むオペレーション・ソフトウェア250を含み、これに関係付けられ、又はこれと通信する。図2に示すように、システム・メモリ243はまた、それぞれ書込み/読出し要求及びそれらの関連データを指す「書込みデータ」及び「読出しデータ」をバッファリングするための、本明細書では「キャッシュ・メモリ」とも呼ばれる、ストレージ230のためのキャッシュ245を含み又はこれと通信する。1つの実施形態において、キャッシュ245は、システム・メモリ243の外部の装置内に割り付けられるが、それでもなおマイクロプロセッサ242がアクセスできる状態にあり、本明細書で説明する動作を実行することに加えて、データ損失に対する付加的なセキュリティを提供するように機能することができる。
幾つかの実施形態において、キャッシュ245は、揮発性メモリ及び不揮発性メモリで実装され、データ・ストレージ・システム200の性能を向上させるためにローカル・バス(図2には示さず)を介してマイクロプロセッサ242に結合される。データ・ストレージ制御装置に含まれるNVS216は、マイクロプロセッサ242によってアクセス可能であり、他の図に示す本発明の動作及び実行に対する付加的なサポートを提供するように機能する。NVS216は、「永続的」キャッシュ又は「キャッシュ・メモリ」と呼ぶこともでき、格納されたデータを保持するために外部電源を使用するものであってもよく、使用しないものであってもよい不揮発性メモリで実装される。NVSは、本発明の目的を達成するのに適したいずれかの目的で、キャッシュ245内に及びそれと共に格納することができる。幾つかの実施形態において、電池のようなバックアップ電源(図2には示さず)が、データ・ストレージ・システム200の電力が失われた場合に格納されたデータを保持するのに十分な電力をNVS216に供給する。特定の実施形態において、NVS216の容量は、キャッシュ245の全容量より小さいか又はそれに等しい。
ストレージ230は、ストレージ・アレイのような1つ又は複数の記憶装置で物理的に構成することができる。ストレージ・アレイは、ハードディスクのような個々の記憶装置の論理的なグルーピングである。特定の実施形態において、ストレージ230は、JBOD(単純ディスク束:Just a Bunch of Disks)アレイ又はRAID(独立ディスクの冗長アレイ:Redundant Array of Independent Disks)アレイで構成される。物理的ストレージ・アレイの集まりをさらに組み合せてランクを形成することができ、これが物理ストレージを論理構成から切り離す。ランク内のストレージ空間を論理ボリュームに割当てることがで、これが書込み/読出し要求内で指定されるストレージ位置を定める。
1つの実施形態において、単なる一例として、図2に示すストレージ・システムは、論理ボリューム又は単に「ボリューム」を含むことができ、様々な種類の割当てを有することができる。ストレージ230a、230b及び230nは、データ・ストレージ・システム200内のランクとして示され、ここではランク230a、230b及び230nと呼ばれる。ランクは、データ・ストレージ・システム200に対してローカルとすることもでき、又は物理的に遠隔位置に配置することもできる。換言すれば、ローカルストレージ制御装置は、遠隔ストレージ制御装置と接続して、遠隔位置にあるストレージを管理することができる。ランク230aは、2つの完全ボリューム234及び236並びに1つの部分ボリュール232aで構成されるように示されている。ランク230bは、別の部分ボリューム232bを有するように示されている。このように、ボリューム232は、ランク230a及び230bにわたって割り当てられている。ランク230nは、ボリューム238に完全に割当てられるように示されており、即ち、ランク230nは、ボリューム238に関する完全に物理的なストレージを指す。上記の例から、ランクは、1つ又は複数の部分的な及び/又は完全なボリュームを含むように構成することができることが理解されるであろう。ボリューム及びランクは、ストレージの固定ブロックを表す、いわゆる「トラック」にさらに分割することができる。従って、トラックには、所与のボリュームが関連付けられ、所与のランクを与えることができる。
ストレージ制御装置240は、コンピュータ・ストレージ環境内に、圧縮ストリーム・モジュール255、データ圧縮領域モジュール257、及びデータ分類モジュール259を含むことができる。圧縮ストリーム・モジュール255、データ圧縮領域モジュール257、及びデータ分類モジュール259は、ストレージ制御装置240、ホスト210、220、225、及びストレージ230の、各々の及びあらゆるコンポーネントと連携して働くことができる。圧縮ストリーム・モジュール255、データ圧縮領域モジュール257、及びデータ分類モジュール259は、以下で説明する機能を実行するために共に相互に連携して働く構造的に1つの完結モジュールとすることもでき、又は個々のモジュールとすることもできる。圧縮ストリーム・モジュール255、データ圧縮領域モジュール257、及びデータ分類モジュール259をストレージ制御装置240のキャッシュ245又はその他のコンポーネント内に配置して、本発明の目的を達成することもできる。
ストレージ制御装置240は、ホスト・コンピュータ210、220、225へのファイバ・チャネル・プロトコルを制御するための制御スイッチ241と、ストレージ制御装置240全体を制御するためのマイクロプロセッサ242と、ストレージ制御装置240の動作、制御のためのデータ及び後述する各テーブルを制御するためのマイクロプログラム(オペレーション・ソフトウェア)250を格納するための不揮発性制御メモリ243と、データを一時的に格納(バッファリング)するためのキャッシュ245と、キャッシュ245がデータを読み出す及び書き込むのを支援するためのバッファ244と、ストレージ230へのデータ転送又はストレージ230からのデータ転送を制御するプロトコルを制御するための制御スイッチ241と、圧縮ストリーム・モジュール255と、データ圧縮領域モジュール257と、情報をその上に設定することができるデータ分類モジュール259とによって構築することができる。複数のバッファ244を本発明によりコンピューティング環境内で実装することができ、又は例証した実施形態の機構に従って他の機能を実行することができる。
1つの実施形態においては、単なる一例として、ホスト・コンピュータ又は1つ若しくは複数の物理若しくは仮想デバイス210、220、225と、ストレージ制御装置240とが、インタフェースとしてのネットワーク・アダプタ(これはファイバ・チャネルとすることができる)260を通して、即ち「ファブリック」と呼ばれることもあるスイッチを介して、接続される。1つの実施形態において、単なる一例として、図2に示すシステムの動作を説明する。マイクロプロセッサ242は、メモリ243を制御して、ホスト装置(物理又は仮想)210からのコマンド情報及びホスト装置(物理又は仮想)210を識別するための情報を格納することができる。制御スイッチ241、バッファ244、キャッシュ245、オペレーティング・ソフトウェア250、マイクロプロセッサ242、メモリ243、NVS216、圧縮ストリーム・モジュール255、データ圧縮領域モジュール257、及びデータ分類モジュール259は、相互に通信し、別々のコンポーネント又は1つの単体のコンポーネントとすることができる。また、全てではなくても幾つかのコンポーネント、例えばオペレーティング・ソフトウェア250は、コンピュータ・ストレージ環境内にメモリ243と共に含めることができる。記憶装置内のコンポーネントの各々は、相互にリンクすることができ、本発明に適した目的のために相互に通信することができる。
次に図3を見ると、データ圧縮領域へのデータの実時間分類のための例示的な方法300が示されている。方法300は、書込み動作のランダムに選択されたデータを読み出し、分類ヒューリスティックのセットを計算して書込み動作の各々に関するフィンガープリントを作成することにより、どのデータ圧縮領域に書込み動作を送るかを決定すること(ステップ304)によって開始する(ステップ302)。方法300は、書込み動作のうち類似のフィンガープリントを有するものを一緒に圧縮ストリームに圧縮する(ステップ306)。方法300は終了する(ステップ308)。
前述のことに基づいて、次に図4を見ると、データ圧縮領域へのデータの実時間分類のための付加的な例示的方法400が示されている。図3に示すように、どのデータ圧縮領域に書込み動作を送るかを識別し決定するため、及び、どの圧縮ストリームを使用するかを決定するために、方法400は、入力データ・バッファのデータ・サンプル(例えば、ユーザが定義することができる所定サイズとすることができる小さいデータ・サンプル)を選択する(ステップ404)によって開始する(ステップ402)。1つの実施形態において、入力データ・バッファは、アプリケーション・ファイル又はデータ・ブロックとすることができる。また、選択されるデータ・サンプルは、入力バッファ全体、又は所定サイズ若しくは適応サイズ(例えば、今までにサンプリングされたデータに適応する)とすることができる、バッファからランダムに選択された(若しくは所定の)バイト列とすることができる。
方法400は、データ・サンプルに対するヒューリスティックのセットを用いて、データのフィンガープリントを計算する(ステップ406)。ヒューリスティックは、非常に高速に(高速とは、圧縮に必要な時間と比較した相対的な用語である)計算することができ、ヒューリスティックは、どのデータを一緒に圧縮すべきか、及びどのデータを一緒に圧縮すべきではないか、を指示することができる。計算されたフィンガープリントは、アクティブ/オープン圧縮ストリームの各々に既に送られた以前のデータのフィンガープリントと比較される(ステップ408)。比較に基づいて、データは、類似のデータ(データのフィンガープリントからの距離に従う)を圧縮した最適の圧縮領域/ストリームに送られる(ステップ410)。距離という用語は、フィンガープリント間の類似性の程度を指す。例えば、現在のフィンガープリントと、各々の圧縮領域/ストリームによって圧縮されたデータのフィンガープリントとの間のハミング距離を計算し、最小距離を有するストリームを選択する。フィンガープリント間の距離は、距離ベクトルとして、又はその他の任意の数学的ベクトル距離関数として計算することができる。代替的に、方法400は、最適圧縮領域がアクティブ/オープンでない場合、データを新しい圧縮領域に送ることができる(例えば、新しい圧縮ストリームが作成される)(ステップ412)。方法400は終了する(ステップ414)。
1つの実施形態において、フィンガープリント・ヒューリスティックは、以下の例のうちのいずれか1つ及び/又はその組合せとすることができる。(1)サンプリングされたデータのエントロピー;(2)コア・キャラクタ・セット(コアセット)、即ち、サンプル中のバイトの大多数(事前定義パーセンテージで定められる)を構成するキャラクタのセット(及びサイズ)、例えばサンプルの90%を構成するキャラクタのセット;(3)サンプル・データ又はコアセットの完全な又は部分的ヒストグラム、これはヒストグラム度数のコンパクト形(計数のためのより少数のビット)を含む;(4)サンプルからの支配的又は非支配的キャラクタの群;(5)ヒストグラム又はコアセットの平均、分散、及び/又は異なるモーメント;並びに(6)データ内に見いだされるデータ構造の指標、例えば、ヘッダ(joint phtographic experts group(JPEG)/graphics interchange format(GIF)ヘッダ)の存在、データの構造、又は区切り記号の存在。
1つの実施形態において、フィンガープリント用のヒューリスティックの付加的な選択肢は、ある種の類似性保持ハッシュ(Similarity Preserving Hash(SPH))方法を使用することである。SPHは、データセット又はデータセットの部分に対する関数であり、この関数において、共通ストリングを有するデータセットは、類似の値も有する。例えば、コアセットの計算において、本発明は、コアセットを256ビット長ベクトルとして扱うことができ(コアセットがキャラクタであると仮定する)、コアセットに対してある種の誤り訂正符号(ECC)を付与することができる。従って、例えば、1つのファイル内でコアセットがA−Zであり、別のファイル内でJを除くA−Zである場合、このようなECCはそれらが類似していることを見つけることになる。また、圧縮領域は単一のマシン上にあってもよく、又は一緒に機能してデータを圧縮する複数のマシン上にあってもよいことにも留意されたい。
当業者であれば理解するように、本発明の態様は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェア態様とハードウェア態様とを組合せた実施形態の形を取ることができ、これらを本明細書では全て一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の態様は、その上に具体化されたコンピュータ可読プログラム・コードを有する1つ又は複数のコンピュータ可読媒体に具体化されたコンピュータ・プログラム製品の形をとることができる。
1つ又は複数のコンピュータ可読媒体の任意の組合せを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線若しくは半導体のシステム、装置、若しくはデバイス、又は上記のもののいずれかの適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)として、以下のもの:即ち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組合せが挙げられる。本明細書の文脈においては、コンピュータ可読記憶媒体は、命令実行システム、装置若しくはデバイスによって、又はこれらと関連して用いるためのプログラムを収容又は格納することができる任意の有形媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限定されるものではないが、無線、有線、光ファイバ・ケーブル、RF等、又は上記のもののいずれかの適切な組合せを含む任意の適切な媒体を用いて伝送することができる。本発明の態様の操作を実行するためのコンピュータ・プログラム・コードは、Java、SmallTalk、C++等のようなオブジェクト指向型プログラミング言語、及び、「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組合せで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。一番最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が為される場合もある(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)。
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組合せは、コンピュータ・プログラム命令によって実装できることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するための手段を作り出すようにすることができる。
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令を含む製品を製造するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
上記図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、上記で論じられた機能は、開示された順序とは異なる順序で生じることがあることにも留意されたい。例えば、連続して示された2つの機能は、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらの機能はときとして逆順で実行されることもある。ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャート内のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用のハードウェアとコンピュータ命令との組合せによって実装することができることにも留意されたい。
本発明の1つ又は複数の実施形態を詳細に説明したが、これらの実施形態に対する変更又は調節を以下の特許請求の範囲で示す範囲から逸脱することなく行うことができることが当業者には理解されよう。
10:コンピュータ・システム
200:データ・ストレージ・システム

Claims (18)

  1. コンピューティング環境におけるプロセッサ装置によるデータ圧縮領域へのデータの実時間分類の方法であって、
    書込み動作のランダムに選択されたデータを入力データ・バッファより読み出し、分類ヒューリスティックのセットを計算して前記入力データ・バッファのデータについてフィンガープリントを作成することにより、前記データ圧縮領域のうちのどれに前記書込み動作を送るかを決定することと、
    前記書込み動作のうち類似のフィンガープリントを有するデータを含むものを一緒に圧縮ストリームであってそれぞれが前記データ圧縮領域の各々に対応する圧縮ストリームに圧縮することと、
    を含み、
    前記分類ヒューリスティックのセットを計算するために、ヒューリスティック、即ち、前記ランダムに選択されたデータのエントロピー、前記ランダムに選択されたデータ内のバイトの大多数を構成するキャラクタのコア・キャラクタ・セット及びサイズ、前記ランダムに選択されたデータ又は前記コア・キャラクタ・セットの完全な又は部分的ヒストグラム、前記ランダムに選択されたデータの支配的キャラクタの群又は非支配的キャラクタの群、前記完全な又は部分的ヒストグラム又は前記コア・キャラクタ・セットの平均、分散、及び代替モーメントのうちの1つ、並びに前記データのデータ構造の指標、の組合せ又は少なくとも1つを使用することをさらに含む、
    方法。
  2. 異なるフィンガープリントを有するデータを含む前記書込み動作を、異なる圧縮ストリームに分割することをさらに含む、請求項1に記載の方法。
  3. 前記書込み動作の各々に関する前記フィンガープリントの各々を、前記データ圧縮領域の各々に以前に送られた書込み動作のフィンガープリントと比較することをさらに含む、請求項2に記載の方法。
  4. 前記類似のフィンガープリントを有するデータを含む前記書込み動作を、前記書込み動作の類似のデータを圧縮する前記データ圧縮領域に送ることをさらに含む、請求項3に記載の方法。
  5. 前記書込み動作を新しいデータ圧縮領域に送り、そこで新しい圧縮ストリームが作成されることをさらに含む請求項4に記載の方法。
  6. 前記分類ヒューリスティックのセットを計算するために類似性保持ハッシュ(SPH)を使用することをさらに含む、請求項1に記載の方法。
  7. コンピューティング環境におけるデータ圧縮領域へのデータの実時間分類のためのシステムであって、前記システムが、
    コンピューティングストレージ環境において動作可能なプロセッサ装置を含み、前記プロセッサ装置が、
    書込み動作のランダムに選択されたデータを入力データ・バッファより読み出し、分類ヒューリスティックのセットを計算して前記入力データ・バッファのデータについてフィンガープリントを作成することにより、前記データ圧縮領域のうちのどれに前記書込み動作を送るかを決定し、
    前記書込み動作のうち類似のフィンガープリントを有するデータを含むものを一緒に圧縮ストリームであってそれぞれが前記データ圧縮領域の各々に対応する圧縮ストリームに圧縮
    前記プロセッサ装置が、前記分類ヒューリスティックのセットを計算するために、ヒューリスティック、即ち、前記ランダムに選択されたデータのエントロピー、前記ランダムに選択されたデータ内のバイトの大多数を構成するキャラクタのコア・キャラクタ・セット及びサイズ、前記ランダムに選択されたデータ又は前記コア・キャラクタ・セットの完全な又は部分的ヒストグラム、前記ランダムに選択されたデータの支配的キャラクタの群又は非支配的キャラクタの群、前記完全な又は部分的ヒストグラム又は前記コア・キャラクタ・セットの平均、分散、及び代替モーメントのうちの1つ、並びに前記データのデータ構造の指標、の組合せ又は少なくとも1つを使用する、
    システム。
  8. 前記プロセッサ装置が、異なるフィンガープリントを有するデータを含む前記書込み動作を異なる圧縮ストリームに分割する、請求項に記載のシステム。
  9. 前記プロセッサ装置が、前記書込み動作の各々に関する前記フィンガープリントの各々を、前記データ圧縮領域の各々に以前に送られた前記書込み動作のフィンガープリントと比較する、請求項に記載のシステム。
  10. 前記プロセッサ装置が、前記類似のフィンガープリントを有するデータを含む前記書込み動作を、前記書込み動作の類似のデータを圧縮する前記データ圧縮領域に送る、請求項に記載のシステム。
  11. 前記プロセッサ装置が、前記書込み動作を新しいデータ圧縮領域に送り、そこで新しい圧縮ストリームが作成される、請求項1に記載のシステム。
  12. 前記プロセッサ装置が、前記分類ヒューリスティックのセットを計算するために類似性保持ハッシュ(SPH)を使用する、請求項に記載のシステム。
  13. プロセッサ装置によるデータ圧縮領域へのデータの実時間分類のためのコンピュータ・プログラムであって、コンピュータ可読プログラム・コード部分を有し、前記コンピュータ可読プログラム・コード部分は、
    書込み動作のランダムに選択されたデータを入力データ・バッファより読み出し、分類ヒューリスティックのセットを計算して前記入力データ・バッファのデータについてフィンガープリントを作成することにより前記データ圧縮領域のうちのどれに前記書込み動作を送るかを決定する、第1の実行可能部分と、
    前記書込み動作のうち類似のフィンガープリントを有するデータを含むものを一緒に圧縮ストリームであってそれぞれが前記データ圧縮領域の各々に対応する圧縮ストリームに圧縮する第2の実行可能部分と、
    を含
    前記分類ヒューリスティックのセットを計算することは、ヒューリスティック、即ち、前記ランダムに選択されたデータのエントロピー、前記ランダムに選択されたデータ内のバイトの大多数を構成するキャラクタのコア・キャラクタ・セット及びサイズ、前記ランダムに選択されたデータ又は前記コア・キャラクタ・セットの完全な又は部分的ヒストグラム、前記ランダムに選択されたデータの支配的キャラクタの群又は非支配的キャラクタの群、前記完全な又は部分的ヒストグラム又は前記コア・キャラクタ・セットの平均、分散、及び代替モーメントのうちの1つ、並びに前記データのデータ構造の指標、の組合せ又は少なくとも1つを使用することを含む、
    コンピュータ・プログラム。
  14. 異なるフィンガープリントを有するデータを含む前記書込み動作を、異なる圧縮ストリームに分割する第3の実行可能部分をさらに含む、請求項1に記載のコンピュータ・プログラム。
  15. 前記書込み動作の各々に関する前記フィンガープリントの各々を、前記データ圧縮領域の各々に以前に送られた前記書込み動作のフィンガープリントと比較する、第4の実行可能部分をさらに含む、請求項1に記載のコンピュータ・プログラム。
  16. 前記類似のフィンガープリントを有するデータを含む前記書込み動作を、前記書込み動作の類似のデータを圧縮する前記データ圧縮領域に送る第5の実行可能部分をさらに含む、請求項1に記載のコンピュータ・プログラム。
  17. 前記書込み動作を新しいデータ圧縮領域に送り、そこで新しい圧縮ストリームが作成される、第6の実行可能部分をさらに含む、請求項1に記載のコンピュータ・プログラム。
  18. 記分類ヒューリスティックのセットを計算することは、類似性保持ハッシュ(SPH)を使用することを含む、請求項1に記載のコンピュータ・プログラム。
JP2015552168A 2013-01-10 2014-01-03 データ圧縮領域へのデータの実時間分類 Expired - Fee Related JP6227007B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/738,333 2013-01-10
US13/738,333 US9792350B2 (en) 2013-01-10 2013-01-10 Real-time classification of data into data compression domains
PCT/IB2014/058037 WO2014108818A1 (en) 2013-01-10 2014-01-03 Real-time classification of data into data compression domains

Publications (2)

Publication Number Publication Date
JP2016512625A JP2016512625A (ja) 2016-04-28
JP6227007B2 true JP6227007B2 (ja) 2017-11-08

Family

ID=51061791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015552168A Expired - Fee Related JP6227007B2 (ja) 2013-01-10 2014-01-03 データ圧縮領域へのデータの実時間分類

Country Status (6)

Country Link
US (1) US9792350B2 (ja)
JP (1) JP6227007B2 (ja)
CN (1) CN104919430B (ja)
DE (1) DE112014000251T5 (ja)
GB (1) GB2523943B (ja)
WO (1) WO2014108818A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990603B (zh) * 2012-08-21 2024-02-27 Emc 公司 用于分段图像数据的格式识别的方法和系统
US9792350B2 (en) 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9798731B2 (en) * 2013-03-06 2017-10-24 Dell Products, Lp Delta compression of probabilistically clustered chunks of data
US9213715B2 (en) * 2013-06-03 2015-12-15 International Business Machines Corporation De-duplication with partitioning advice and automation
US9600420B2 (en) 2014-10-29 2017-03-21 Qualcomm Incorporated Reducing decompression time without impacting compression ratio
US9652152B2 (en) 2014-10-29 2017-05-16 Qualcomm Incorporated Efficient decompression locality system for demand paging
CN109716660B (zh) * 2017-01-24 2021-08-13 华为技术有限公司 数据压缩装置和方法
US10628058B1 (en) 2017-02-15 2020-04-21 Bank Of America Corporation System for electronic data verification, storage, and transfer
US11288010B2 (en) 2017-09-25 2022-03-29 Intel Corporation Efficiently storing computer processor data structures in computer memory
CN109451866B (zh) * 2018-02-13 2023-06-16 北京小米移动软件有限公司 信息配置方法及装置、基站和用户设备
US10965786B2 (en) 2018-10-31 2021-03-30 At&T Intellectual Property I, L.P. Adaptive fixed point mapping for uplink and downlink fronthaul
CN109597572B (zh) * 2018-11-22 2022-05-03 上海新储集成电路有限公司 一种存储管理方法
CN109886862B (zh) * 2019-01-25 2023-01-17 上海赜睿信息科技有限公司 一种数据处理的方法及装置
US11209984B2 (en) * 2019-02-18 2021-12-28 Silicon Motion, Inc. Method and apparatus for performing data-compression management in a storage server

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0587115B1 (en) 1992-09-07 1999-02-10 Denso Corporation Communication system
GB2270811B (en) 1992-09-17 1996-02-07 Sony Broadcast & Communication Video data compression
CA2108833A1 (en) 1992-10-22 1994-04-23 Masanori Ishii File compression processor
US5546477A (en) 1993-03-30 1996-08-13 Klics, Inc. Data compression and decompression
US5486826A (en) 1994-05-19 1996-01-23 Ps Venture 1 Llc Method and apparatus for iterative compression of digital data
US5701463A (en) * 1994-09-09 1997-12-23 Cheyenne Advanced Technology Limited Method of replacing the identity of a file with another as part of a file open request in a computer system
US5768445A (en) 1996-09-13 1998-06-16 Silicon Graphics, Inc. Compression and decompression scheme performed on shared workstation memory by media coprocessor
US6253264B1 (en) * 1997-03-07 2001-06-26 Intelligent Compression Technologies Coding network grouping data of same data type into blocks using file data structure and selecting compression for individual block base on block data type
US6339616B1 (en) 1997-05-30 2002-01-15 Alaris, Inc. Method and apparatus for compression and decompression of still and motion video data based on adaptive pixel-by-pixel processing and adaptive variable length coding
US6049797A (en) 1998-04-07 2000-04-11 Lucent Technologies, Inc. Method, apparatus and programmed medium for clustering databases with categorical attributes
US6195024B1 (en) 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US20010054131A1 (en) 1999-01-29 2001-12-20 Alvarez Manuel J. System and method for perfoming scalable embedded parallel data compression
US6751354B2 (en) * 1999-03-11 2004-06-15 Fuji Xerox Co., Ltd Methods and apparatuses for video segmentation, classification, and retrieval using image class statistical models
US7069264B2 (en) * 1999-12-08 2006-06-27 Ncr Corp. Stratified sampling of data in a database system
CN1437738A (zh) 2000-01-03 2003-08-20 埃菲克塔技术股份有限公司 数据发送和存储的有效且无损耗转换
US6731814B2 (en) 2000-05-01 2004-05-04 Xerox Corporation Method for compressing digital documents with control of image quality and compression rate
US6947483B2 (en) 2000-08-18 2005-09-20 Nortel Networks Limited Method, apparatus, and system for managing data compression in a wireless network
US20030030575A1 (en) 2001-05-07 2003-02-13 Harmonic Data Systems Ltd. Lossless data compression
US7461392B2 (en) 2002-07-01 2008-12-02 Microsoft Corporation System and method for identifying and segmenting repeating media objects embedded in a stream
WO2004004351A1 (en) * 2002-07-01 2004-01-08 Microsoft Corporation A system and method for providing user control over repeating objects embedded in a stream
US7551787B2 (en) 2003-01-28 2009-06-23 International Business Machines Corporation Adaptive compression quality
US7197189B2 (en) 2003-05-15 2007-03-27 Hewlett-Packard Development Company, L.P. System and method having removable storage medium with data compression
US7565024B2 (en) 2003-12-19 2009-07-21 Intel Corporation Run length coding and decoding
US7774456B1 (en) * 2004-02-27 2010-08-10 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
US7281004B2 (en) 2004-02-27 2007-10-09 International Business Machines Corporation Method, system and program for optimizing compression of a workload processed by a database management system
US7574451B2 (en) 2004-11-02 2009-08-11 Microsoft Corporation System and method for speeding up database lookups for multiple synchronized data streams
US7653643B2 (en) 2005-03-24 2010-01-26 Microsoft Corporation Method and apparatus for compressing a data set
US7382376B2 (en) 2005-04-01 2008-06-03 Seiko Epson Corporation System and method for effectively utilizing a memory device in a compressed domain
CN100517979C (zh) 2005-10-10 2009-07-22 中兴通讯股份有限公司 一种数据压缩及解压缩方法
CN100546196C (zh) 2005-12-01 2009-09-30 武汉大学 一种二维矢量数据的压缩方法
US7773731B2 (en) 2005-12-14 2010-08-10 At&T Intellectual Property I, L. P. Methods, systems, and products for dynamically-changing IVR architectures
JP5187532B2 (ja) 2007-02-27 2013-04-24 日本電気株式会社 データ収集システム、データ収集方法、およびデータ収集プログラム
US8295615B2 (en) 2007-05-10 2012-10-23 International Business Machines Corporation Selective compression of synchronized content based on a calculated compression ratio
CN100493197C (zh) 2007-05-24 2009-05-27 北京航空航天大学 一种面向图像压缩的小波基分类构造方法
US8238669B2 (en) 2007-08-22 2012-08-07 Google Inc. Detection and classification of matches between time-based media
KR101503829B1 (ko) 2007-09-07 2015-03-18 삼성전자주식회사 데이터 압축 장치 및 방법
US7719443B1 (en) 2008-06-27 2010-05-18 Emc Corporation Compressing data in a continuous data protection environment
US8108442B2 (en) 2008-07-22 2012-01-31 Computer Associates Think, Inc. System for compression and storage of data
JP4303312B1 (ja) 2008-07-31 2009-07-29 国立大学法人広島大学 圧縮処理装置および圧縮処理方法
US8135762B2 (en) * 2008-09-15 2012-03-13 Bruce R. Backa System and method for determining true computer file type identity
US10430415B2 (en) 2008-12-23 2019-10-01 International Business Machines Corporation Performing predicate-based data compression
US7930436B1 (en) 2009-03-09 2011-04-19 Znosko Dmitry Y System and method for dynamically adjusting data compression parameters
IL197882A (en) 2009-03-24 2015-03-31 Oleg Litvak A method and device for compression of communication signals
US8676725B1 (en) * 2009-06-05 2014-03-18 Google Inc. Method and system for entropy-based semantic hashing
US8706727B2 (en) 2009-06-19 2014-04-22 Sybase, Inc. Data compression for reducing storage requirements in a database system
US20120207216A1 (en) 2009-10-22 2012-08-16 Zhejiang Uiniversity Video and image encoding/decoding system based on spatial domain prediction
KR101643273B1 (ko) 2010-04-09 2016-08-01 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
US8396905B2 (en) 2010-11-16 2013-03-12 Actifio, Inc. System and method for improved garbage collection operations in a deduplicated store by tracking temporal relationships among copies
US8516580B2 (en) * 2011-04-27 2013-08-20 Owl Computing Technologies, Inc. Method and system for processing a file to identify unexpected file types
KR101862341B1 (ko) 2012-01-09 2018-05-30 삼성전자주식회사 데이터 압축 기능을 갖는 데이터 저장 장치
US9246511B2 (en) 2012-03-20 2016-01-26 Sandisk Technologies Inc. Method and apparatus to process data based upon estimated compressibility of the data
US9048862B2 (en) 2012-04-11 2015-06-02 Netapp, Inc. Systems and methods for selecting data compression for storage data in a storage system
US8712978B1 (en) 2012-06-13 2014-04-29 Emc Corporation Preferential selection of candidates for delta compression
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9792350B2 (en) 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains

Also Published As

Publication number Publication date
DE112014000251T5 (de) 2015-10-01
CN104919430A (zh) 2015-09-16
GB201511837D0 (en) 2015-08-19
GB2523943A (en) 2015-09-09
JP2016512625A (ja) 2016-04-28
GB2523943B (en) 2015-12-23
US9792350B2 (en) 2017-10-17
US20140195499A1 (en) 2014-07-10
WO2014108818A1 (en) 2014-07-17
CN104919430B (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
JP6227007B2 (ja) データ圧縮領域へのデータの実時間分類
US9471620B2 (en) Sub-block partitioning for hash-based deduplication
US10169365B2 (en) Multiple deduplication domains in network storage system
US9128855B1 (en) Flash cache partitioning
US9600515B2 (en) Efficient calculation of similarity search values and digest block boundaries for data deduplication
JP6568212B2 (ja) 重複排除システムのハッシュ・ベース・マルチテナンシ
US9053122B2 (en) Real-time identification of data candidates for classification based compression
JP6320432B2 (ja) データ重複排除における、類似性探索に基づくダイジェスト検索
US10261946B2 (en) Rebalancing distributed metadata
US8538933B1 (en) Deduplicating range of data blocks
US10242021B2 (en) Storing data deduplication metadata in a grid of processors
US10255288B2 (en) Distributed data deduplication in a grid of processors
US8935304B2 (en) Efficient garbage collection in a compressed journal file
US11360682B1 (en) Identifying duplicative write data in a storage system
US9697223B2 (en) Providing identifiers to data files in a data deduplication system
US8909886B1 (en) System and method for improving cache performance upon detecting a migration event
US9767029B2 (en) Data decompression using a construction area
US9836475B2 (en) Streamlined padding of deduplication repository file systems
US9098204B1 (en) System and method for improving cache performance
US8966190B1 (en) System and method for assigning control of a logical unit number

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171010

R150 Certificate of patent or registration of utility model

Ref document number: 6227007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees