JP5623561B2 - ストレージ用論理データオブジェクトの変換方法およびシステム - Google Patents

ストレージ用論理データオブジェクトの変換方法およびシステム Download PDF

Info

Publication number
JP5623561B2
JP5623561B2 JP2013010628A JP2013010628A JP5623561B2 JP 5623561 B2 JP5623561 B2 JP 5623561B2 JP 2013010628 A JP2013010628 A JP 2013010628A JP 2013010628 A JP2013010628 A JP 2013010628A JP 5623561 B2 JP5623561 B2 JP 5623561B2
Authority
JP
Japan
Prior art keywords
data
encrypted
section
chunks
logical
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
JP2013010628A
Other languages
English (en)
Other versions
JP2013127802A (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 JP2013127802A publication Critical patent/JP2013127802A/ja
Application granted granted Critical
Publication of JP5623561B2 publication Critical patent/JP5623561B2/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/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/1727Details of free space management performed by the 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、演算システムに関し、特に、演算システムおよびそのネットワークに保存されるべき論理データオブジェクトを変換しうる方法およびシステムに関する。
現在のビジネス環境では、ビジネスの成功には全種類のビジネスデータがより一層重要なものとなっている。ビジネスで生成されたデータの圧倒的な成長や複雑さが情報ストレージの要求となり、これが情報資産のシェアリング、管理、および保護の方法を規定する。
通常、単一の技術または設計では、様々な組織の要求のすべてに対処できない。主ストレージが、例えば、EMCによるWhite Paper "Leveraging Networked storage for your business"、2003年3月、米国、に開示されており、これは基本的にデータがアクセスされる位置、接続タイプ(イントラ−コンピュータストレージ、ダイレクトアタッチドストレージ(DAS)、IP、チャネルネットワーク等)、および方法により規定される。ストレージ設計にはデータアクセス方法に関して考慮すべき3つの基本タイプがある:ブロックアクセス、ファイルアクセス、オブジェクトアクセスである。
ブロックモードアクセス構造では、サーバ/クライアントとストレージ媒体間の通信はブロック毎に行われる:情報はディスクからブロックごとに直接抽出される。管理システムがディスク状の情報の各ピースがどこにあるかのトラックを保持し、一方でストレージ媒体は通常、デバイス上のデータを管理するのに用いられるファイルシステムを自覚しない。データの読み込みや更新が必要になったら、データは、データの各ブロックがディスク上のどこにあるかとアクセス方法を知るプロセッサにより、ディスクから直接アクセスされる。ブロックモードアクセスストレージ技術の例はDAS(ダイレクトアタッチドストレージ)、SAN(ストレージエリアネットワーク)、ブロックストレージオーバーIP(例えばFCIP、iFCP、iSCSI等)、イントラメモリストレージ等である。
ファイルアクセスには、サーバかクライアントが物理的な位置ではなく名前でファイルを要求する必要がある。結果として、ストレージ媒体(外部ストレージ装置またはコンピュータ内のストレージユニット)は通常、ファイルシステムの作成、維持、更新のためにデータブロックごとにファイルをマッピングする機能を有し、このブロックアクセスは「舞台裏」で行われる。ファイルアクセスストレージ技術の例は、NAS(NFS、CIFS、HTTP等のプロトコルを有するネットワークアタッチドストレージ)、MPFS(マルチパスファイル管理)、イントラコンピュータファイルストレージ等である。このファイルアクセスストレージは、例えば、汎用ファイル、ウェブアプリケーション、エンジニアリングアプリケーション(例えばCAD、CAM、ソフトウェア開発等)、イメージングと3Dデータ処理、マルチメディアストリーミング等のために実装される。
オブジェクトアクセスは、ブロック、ファイル、およびアプリケーションからのストレージトポロジの詳細のすべてを隠すことによりデータアクセスをさらに単純化する。このオブジェクトアクセスは、コンテンツ管理アプリケーションにおいてAPI統合により生じる。オブジェクトアクセスストレージ技術の例は、CAS(コンテンツアドレスドストレージ)である。
論理データオブジェクト(データファイル、イメージファイル、データブロック等)は、送信および/または保存のために変換される。この変換は、圧縮、暗号化、符号化、転換等、および/またはこれらの組み合わせを含む。例えば、データ圧縮技術を用いて保存や送信されるデータの量を減らして、ストレージ容量や転送時間をそれぞれ低減したりできる。圧縮は異なる圧縮アルゴリズムを用いて実現でき、例えば、J. ZivとA. Lempelによる「A Universal Algorithm For Sequential Data Compression」IEEE Transactions on Information Theory, IT-23, pp 337-343 (1997)に記載のような標準的な圧縮アルゴリズムがある。
データ保存用の圧縮や保存データへのアクセスのさまざまな実装が、例えば以下の特許文献に開示されている:
米国特許番号5,813,011(Yoshida et al.)「Storage of a compressed file containing its own compression omanagement table」;
米国特許番号5,813,017(Morris et al.)「System and method for reducing storage requirement in backup subsystems utilizing segmented compression and diffrencing」;
米国特許番号5,956,504(Jagadish et al.)「Method and system for compressing a data stream in a database log so as to permit recovery of only selected portions of the data stream」;
米国特許番号6,092,071(Bolan et al.)「Dedicated input/output processor method and apparatus for access and storage of compressed data」;
米国特許番号6,115,787(Obara et al.)「Disc storage system having cache memory which stores compressed data」;
米国特許番号6,349,375(Faulkner et al.)「Compression of data in read only storage and embedded systems」;
米国特許番号6,449,689(Corcoran et al.)「System and method for efficiently storing compressed data on a hard disk drive」;
米国特許番号6,532,121(Rust et al.)「Compression algorithm with embedded meta-data for partial record operation augmented with expansion joints」;
米国特許出願番号2002/078241(Vidal et al.)「Method of accelerating media transfer」;
米国特許出願番号2004/030,813(Benveniste et al.)「Method and system for storing memory compressed data onto memory compressed disks」;
米国特許出願番号2004/054,858(Sashikanth et al.)「Method and mechanism for on-line data compression and in-place updates」;
米国特許出願番号2006/230,014(Amit et al.)「Method and system for compression of files for storage and operation on compressed files」;
米国特許出願番号2006/190,643(Amit et al.)「Method and system for compression of data for block mode access storage」
平文で保存されたデータは潜在的に不正利用(例えば不正アクセス、不正使用、盗用等)可能であり、この分野で知られる境界および/またはアクセス管理の解決策(例えばファイアウォール、仮想プライベートネットワーク、LUN、マスキング制御、およびSANストレージネットワークにおけるゾーニング)は未だセキュリティの脆弱性を有する。保存されるデータを符号化するとセキュリティの驚異を低減すると考えられるが、このような符号化はこの分野で知られる異なるアルゴリズムを用いて提供される。データのアクセス性と管理性への影響を最小限とする保存データの符号化を用いる場合の問題は従来技術で認識されており、例えば以下の多様なシステムが解決策を提供すべく開発されている:
米国特許番号5,235,641(Kakuse et al.)「File encryption method and file cryptographic system」;
米国特許出願番号2004/153,642(Avida et al.)「Encryption based security system for network storage」;
米国特許出願番号2005/204,154(Osaki et al.)「Method and apparatus for cryptographic conversion in a data storage system」;
論理データオブジェクトの圧縮とその符号化を組み合わせた問題もまた従来技術で認識されており、以下の多様なシステムが解決策として提供されている:
米国特許番号5,285,497(Thatcher)「Methods and apparatus for scrambling and unscrambling compressed data streams」;
米国特許番号6,122,378(Yoshiura et al.)「Method and device for compressing and ciphering data」;
米国特許番号6,154,542(Crandall)「Method and apparatus for simultaneously encrypting and compressing data」;
米国特許番号6,157,720(Yoshiura et al.)「Method and apparatus for encrypting data」;
米国特許出願番号2004/218,760(Chaudhuri)「System and method for data encryption and compression」;
米国特許出願番号2004/264,698(Oda)「Data encrypting device, data decoding device, image data storing device and image forming apparatus」;
ドイツ特許出願2,315,575(Mansour et al.)「Encryption circuit in I/O subsystem」
本発明の特定の態様によると、1以上のストレージプロトコルおよびそのシステムを備えるストレージ装置に保存される未処理の論理データオブジェクトを圧縮する方法が提供される。この方法は:
−各リクエストに応じて、ヘッダと1以上の予め規定されたサイズに割り当てられた圧縮セクションとを具える圧縮された論理データオブジェクトをストレージ装置内に作成するステップと;
−1またはそれ以上の連続的に取得される、前記未処理の圧縮論理データオブジェクトに対応する未処理データのチャンク(chunks)を処理して処理済みデータチャンクを生成するステップであって、前記処理済みデータチャンクは前記処理の結果物である圧縮データを含むステップと;
−前記処理済みデータチャンクを、前記チャンクが受け取られた順番に従って前記圧縮セクションに連続的に収容するステップと;
−前記未処理の論理データオブジェクトと前記圧縮セクションに収容されたデータ間のマッピングを促進するステップとを具える。
本発明のさらなる態様によると、前記マッピングは、前記圧縮論理データオブジェクトの一部を構成する1以上のインデックスセクションの補助で提供され、前記インデックスセクションは、1以上の圧縮セクションに収容された処理済みデータチャンクと、前記圧縮セクションに関する物理ストレージの位置の指示とに関する情報を少なくとも有する1以上のエントリを具える。
本発明のさらなる態様によると、前記圧縮は、適応性の辞書の補助で提供され、同じ圧縮セクションに収容されたデータチャンクは同じ辞書の補助で圧縮される。異なる圧縮セクションに収容されたデータチャンクは、異なる辞書の補助で圧縮される。
本発明のさらなる態様によると、処理済みデータチャンクはすべて、各圧縮動作をリセットすることなく各ストレージバッファに流される(flush)べき各処理のペンディングの出力をすべて実行(enabling)するように、前記ストレージの位置へ移動される。
本発明のさらなる態様によると、前記処理済みデータチャンクはログ形式で収容され、ここで処理済みデータチャンクのログは、未処理論理データオブジェクト内の未処理データチャンクのオフセット(offset)に関する情報を含むログヘッダと、前記未処理チャンクのサイズと、前記ログとこのログを収容する圧縮セクションの関係を示す識別子とを具える。
本発明のさらなる態様によると、前記インデックスセクションは、1以上の圧縮セクションに関連する1以上のエントリを具え、前記エントリは、前記圧縮セクションの物理的なストレージ位置へのインジケータ(indicator)と、前記圧縮セクションに収容された各ログに関する1またはそれ以上のログレコードとを具え、さらに前記未処理論理データオブジェクトと前記圧縮セクションに収容されたデータ間のマッピングを促進する情報を具える。
本発明のさらなる態様によると、各圧縮セクションは、前記圧縮セクションのそれぞれの物理的な位置の使用/再使用状態を示すフラグを伴い、各処理済みデータチャンクは、当該チャンクを収容する圧縮セクションについて同じフラグを伴う。
本発明の他の態様によると、圧縮論理データオブジェクトにデータ範囲を書き込む方法が提供され、この方法は:
−各リクエストに応じて、前記データ範囲に対応する未処理データの1またはそれ以上の連続的に取得されるチャンクを処理するステップであって、ここで処理されるデータチャンクの1以上が前記処理により得られる圧縮データを含むステップと、
−前記処理済みデータチャンクを、これらとその前に受け取ったチャンクの順番に従って連続的に収容するステップと、
−前記マッピングを、前記範囲内のデータと前記圧縮論理オブジェクトに収容された前記データチャンクから読み出されるデータとの一対一の関係を促進する方法で更新するステップとを具える。
本発明のさらなる態様によると、前記インデックスセクションを更新する方法が:
−すべての新規なデータチャンクに関する情報を追加するステップであって、前記情報は未処理の各データチャンクのオフセットとサイズに関するステップと、
−前に取得された生存に関する情報および/または前記範囲に対応する古いデータを更新するステップとを具える。
本発明のさらなる態様によると、圧縮論理オブジェクトからのデータ範囲を読み出す方法が提供され、この方法は:
−各リクエストに応じて、作成されおよび/または前記範囲内のデータに関するインデックスセクション内で最後に更新されたすべてのエントリを検出するステップと;
−前記検出されたエントリに対応する前記圧縮セクションの1つを解凍し、前記エントリから提供されるマッピングに応じて読み出すべきデータを抽出するステップと;
−前記範囲からすべてのデータを抽出するまで、前記検出されたエントリに対応する1またはそれ以上の圧縮セクションについて上記ステップを繰り返すステップと;
−前記抽出したデータを前記範囲における順番にしたがって配列するステップとを具える。
本発明のさらなる態様によると、圧縮論理データオブジェクトの最適化方法が提供され、この方法は:
−所定のパーセント以上の古いデータを含む1またはそれ以上の圧縮セクションを特定し、古い圧縮セクションとするステップと;
−前記特定された古いセクションを解凍しライブデータを抽出するステップと;
−前記抽出したライブデータを圧縮して1またはそれ以上の新たな処理済みチャンクとしてアクティブセクションに連続的に収容するステップと;
−前記古い圧縮セクションを前記圧縮論理データオブジェクトから解放するステップとを具える。
本発明の別の態様によると、圧縮論理データオブジェクトのリカバリ方法が提供され、この方法は:
−論理データオブジェクトを開くときにリカバリステータスを認識したらリカバリ処理を開始するステップと;
−変換された論理オブジェクトを1またはそれ以上のマッピングされていない圧縮セクションを検出すべく検証するステップであって、前記マッピングされていない圧縮セクションは1以上のマッピングされていない処理済みデータチャンクを具えるステップと;
−最後に処理されたデータチャンクから開始して反対のフラグのデータチャンクが見つかるまで、前記マッピングされていない圧縮セクションに含まれる前記処理済みデータチャンクを逆の順序で連続的に解凍するステップと;
−前記解凍されたチャンクを再処理するステップと;
−前記処理済み解凍データチャンクに対応する1またはそれ以上のエントリでインデックスセクションを作成するステップと;
−リカバリ成功の表示を提供するステップとを具える。
本発明の別の態様によると、少なくとも1のストレージプロトコルで動作するストレージ装置内に未処理論理データオブジェクトを保存すべく圧縮する方法が提供され、この方法は:
−各リクエストに応じて、ヘッダと1以上の予め規定されたサイズに割り当てられた圧縮セクションとを具える圧縮された論理データオブジェクトを前記ストレージ装置内に作成するステップと;
−1またはそれ以上の連続的に取得される、前記未処理の圧縮論理データオブジェクトに対応する未処理データのチャンク(chunks)を圧縮して処理済みデータチャンクを生成するステップと;
−この処理済みデータチャンクを、前記チャンクが受け取られた順番に従って前記圧縮セクションに連続的に収容するステップであって、前記圧縮セクションは前記論理データオブジェクトの入出力トランザクションにおける圧縮/解凍動作の原子要素であるステップとを具える。
前記方法はさらに、各圧縮セクションが、解凍されたら前記圧縮により得られるデータと、前記圧縮で得られる前記セクションに収容された各未処理データチャンク内のデータとの実質的な同一となるようにするステップを具える。
本発明の別の態様によると、ストレージネットワークで運用可能であり上記方法を実行するよう構成されたシステムが提供される。このシステムは、通信装置、ストレージ装置、および、保存用に未処理論理データオブジェクトを圧縮でき直列方法で前記ストレージ装置に機能的に連結されたスタンドアロン型システムであって保存データに関して透過型ブリッジとして動作するシステム、等の一部であってよい。
本発明の別の態様によると、少なくとも1のストレージプロトコルで動作するストレージ装置内に未処理論理データオブジェクトを保存すべく圧縮しうるシステムが提供され、このシステムは、
−ヘッダと1以上の予め規定されたサイズに割り当てられた圧縮セクションとを具える圧縮された論理データオブジェクトを前記ストレージ装置内に作成する手段と;
−1またはそれ以上の連続的に取得される、前記未処理の圧縮論理データオブジェクトに対応する未処理データのチャンク(chunks)を処理して処理済みデータチャンクを生成する手段であって、前記処理済みデータチャンクの少なくとも1は前記処理の結果物である圧縮データを含む手段と;
−前記処理済みデータチャンクを、前記チャンクが受け取られた順番に従って前記圧縮セクションに連続的に収容するステップと;
−前記未処理の論理データオブジェクトと前記圧縮セクションに収容されたデータ間のマッピングを促進する手段とを具える。
本発明を理解し、どのように実施されるかを見るために、非限定的な例としてのみ、いくつかの実施例について添付の図面を参照しながら以下に説明する。
図1は、従来技術としての典型的なストレージネットワーク構造の概略ブロック図である。 図2a、2bは、本発明の特定の実施例にかかる未処理かつ圧縮された論理データオブジェクトの概略図である。 図3a、3bは、本発明の特定の実施例にかかる平文と暗号化された論理データオブジェクトの概略図である。 図4a−4dは、本発明の特定の実施例にかかる、オリジナルと圧縮/暗号化された論理データオブジェクトを示す概略図である。 図5は、本発明の特定の実施例にかかる論理データオブジェクト変換を示す概略図である。 図6a、6bは、本発明の特定の実施例にかかる論理データオブジェクトの更新と変換を示す概略図である。 図7は、本発明の特定の実施例にかかる、変換された論理データオブジェクトを作成する汎用フローチャートである。 図8は、本発明の特定の実施例にかかる処理済み論理データオブジェクトが変換されていない形態と変換された形態で収容された概略図である。 図9は、本発明の特定の実施例にかかる変換済み論理データオブジェクトの書き込み動作の汎用フローチャートである。 図10は、本発明の特定の実施例にかかる変換済み論理データオブジェクトの読み出し動作の汎用フローチャートである。 図11aは、本発明の特定の実施例にかかる特定の時間における読み出し動作を一般化したフローチャートである。図11bは、本発明の特定の実施例にかかる、他無スタンプを有するインデックスセクションの概略図である。 図12a、12bは、本発明の特定の実施例にかかる符号化変換の非限定的な例の概略図である。 図13は、本発明の特定の実施例にかかる変換システムの機能的ブロック概略図である。
以下の詳細な説明において、多くの具体的な詳細が本発明の完全な理解を得るために記載される。しかしながら、当業者であれば本発明はこれらの特定の詳細なしに実施しうることを理解するであろう。別の例では、公知の方法、処理、要素、および回路は、本発明を不明瞭にしないように詳述されていない。図面と説明では、同一の参照番号は異なる実施例や構成でも共通であることを示す。
他に明記しない限り、以下の説明から明らかなように、本明細書中で例えば「処理する」「演算する」「算出する」「決定する」「生成する」「作成する」等の語は、コンピュータまたはコンピュータシステムや、演算システムのレジスタおよび/またはメモリ内の電子的などの物理的な量に表されるデータを、同様に演算システムのメモリやレジスタまたはこのような他の情報の保存、転送、または表示装置内の物理量に表される他のデータにマニピュレートおよび/または変換するプロセッサまたは類似の電子演算装置の動作および/またはプロセスをいう。
本発明の実施例では、本書における動作を実行するのにプロセッサ、コンピュータ、装置、システム、サブシステム、モジュール、ユニット、デバイス等の語を用いる(単数または複数で)。これは特に所望の目的用に構成されたものであってもよいし、またはコンピュータ内に保存されたコンピュータプログラムにより選択的にアクティベートまたは再構成される汎用コンピュータを具えてもよい。このようなコンピュータプログラムは、例えば、限定しないが光ディスク、CD−ROM、磁気光ディスクを含む様々な種類のディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的プログラム可能なリードオンリーメモリ(EPROM)、電気的に消去とプログラム可能なリードオンリーメモリ(EEPROM)、磁気または光学カード、または電子的な命令を保存するのに適しコンピュータのシステムバスに接続可能な様々な媒体などのコンピュータ可読媒体に保存される。
本書に記載のプロセス/デバイス(または上記の類似物)およびディスプレイは、特に他に明記しない限り、特定のコンピュータまたは他の装置に本来的に関連するものではない。様々な汎用システムを、本書の示唆にしたがったプログラムとともに用いることができるし、所望の方法を実行するのにより特化した装置を構成した方が便利かもしれない。これらのシステムの多様性に即した所望の構成は、以下に説明される。さらに、本発明の実施例は特に具体的なプログラム言語で記載されていない。多様なプログラム言語を用いて本書に記載した本発明の教示を実現することができる。
背景技術で引用した文献は、本発明に適用可能な多くの符号化・圧縮理論を教示する。このため、これらの出願の内容全体が、適切な追加の教唆または大体構成、構造、および/または技術的背景に適した状態で、参照により組み込まれる。
この特許明細書において「基準」の語は、様々な複合的な基準をカバーすると広く解釈されるべきであり、例えば、いくつかの基準および/またはその組み合わせを含む。
この特許明細書において「論理データオブジェクト(LO)」の語は、演算システムで用いられ1のユニットとして扱われる複数のデータユニットの様々な種類およびグラニュール数(granularities)を含むべく広く解釈されるべきである(例えばデータファイル、アーカイブファイル、イメージファイル、データベースファイル、メモリデータブロック、ストリームデータブロック等)。
これを念頭に、図1に注目すると、従来の典型的なストレージネットワーク構造の概略図が示されている。クライアント11および/またはサーバ12からの論理データオブジェクト(LO)は、ネットワーク13を介してストレージ装置14(例えば、特化したNASファイルサーバ、汎用ファイルサーバ、SANストレージ、ストリームストレージ装置等)に転送される。このネットワークは、データ転送を実現するための1またはそれ以上の通信装置15(例えばスイッチ、ルータ、ブリッジ等)を具える。図示するネットワークのストレージは全体または部分的に、ブロックモードアクセスおよび/またはファイルモードアクセスストレージプロトコルを用いるよう実装されている。ファイルモードアクセスでは、論理データオブジェクト(LO)は複数ファイルで構成され、ネットワークはIPネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはその組み合わせ等)である。ブロックモードアクセスの実施例では、論理データオブジェクトはデータブロックから構成され、ネットワークは、例えばファイバチャネルまたはiSCSIプロトコルを実装するストレージエリアネットワーク(SAN)である。特定の実施例では、ストレージ装置14aはサーバ12にブロックモードアクセスストレージプロトコル(例えばSCSI、ファイバチャネル等)を介して直接接続される。このようなダイレクトアクセスストレージは、例えば、内部取り付け型ローカルディスクドライブや、外部取り付け型RAID(redundant array of independent disks)またはJBOD(just a bunch of disks)等を含む。
論理データオブジェクトの少なくとも一部は、変換された形式で保存される(例えば、圧縮形式および/または符号化形式)。したがって、これらはクライアント/サーバとストレージ間の場所にある物理的または論理的な通信ルート上で変換(圧縮/解凍、および/または、符号化/復号化)される。この変換またはその一部は、例えば、サーバ12,通信装置15、クライアント/サーバとストレージ装置に機能的に連結された変換システム16、またはストレージ装置14により提供される。通常、符号化に用いられる安全鍵は符号化および/または保存を行う装置とは別に保持され、これらは転送プラットフォーム16に機能的に接続された鍵保持プラットフォーム17で保管される。同様に、符号化テーブルや変換プロセスに含まれる外部データは、処理および/またはストレージ装置とは別に保管される。
本発明は、図1に記載の具体的な構造に限定されないことに留意されたい。当業者は、本発明を同様に、コンピュータが送る論理データオブジェクトへのアクセス要求と適切な変換データの保存場所の間の物理的および/または論理的な経路で1以上の論理データオブジェクトを変換する様々な演算システムや様々なストレージネットワーク構造に適用可能であることを理解し、この場合に変換(例えば圧縮および/または符号化)と保存が同じ物理的位置で提供される実施例を含む。
図2a−2b、3a−3b、4a−4dは、本発明の特定の実施例にかかるオリジナルと変換済みの論理データオブジェクトを示す概略図である。この変換は、圧縮、符号化、暗号化、コンバージョン等、および/またはこれらの組み合わせを含む。図2a−2bに記載の変換は論理データオブジェクトの圧縮であり、図3a−3bは論理データオブジェクトの符号化であり、図4a−4dに記載の変換は圧縮と符号化の組み合わせを含む。説明目的のためだけに、以下の記載は変換システム16により論理データオブジェクトを処理し、処理済みデータをストレージ装置14へ書き込み、逆変換(例えば復号化や解凍等)すべきデータをストレージ装置から読み出し、変換システム16によりこれらを逆変換することに関する。しかしながら、本発明は同様の方法で、コンピュータが送るLOへのアクセスに関するリクエスト(例えば、開く、読み出す、書き込む等)と適切な変換済みデータの保管場所の間の物理的および/または論理的なルート(当該ルートの終点を含む)に機能的に配置された様々な目的の装置により提供される変換/逆変換に適用してもよい。この変換システムの開示された機能は、異なる方法で提供されてもよい。例えば、変換システム16は、「とりわけ」前記装置の1またはそれ以上に組み込まれてもよく、変換システムの機能は1またはそれ以上の専用の基盤に実装されてもよく、1以上の装置の別のモジュール間に(完全または部分的に)配分等されてもよい。この統合は異なる方法で提供されてもよいし、ソフトウェアおよび/またはファームウェアおよび/またはハードウェアで実装されてもよい。この統合は、様々なストレージネットワーク要素(例えば、ファイルサーバ、エンタープライズおよびネットワークスイッチ、ルータ、ストレージ装置等)等で提供されてもよい。
また、本発明は同様に、前記ルート上の様々な装置のメモリに処理済みデータを書き込み、変換されたLO全体またはその部分を保存すべく保存場所に送信可能であり、同様に読み出されるべき変換済みデータを保存場所から前記ルート上の様々な装置に送って逆変換させることができる。
単に説明目的のため、以下の記述は、適用型辞書ベースのデータ圧縮アルゴリズム(例えばLempel−Ziv)に関する。本発明はこのアルゴリズムに限定するものではないが、同様に、様々な他の連続データ圧縮アルゴリズムに適用可能である。この適用型辞書ベースの圧縮アルゴリズムを用いる実施例の利点は、圧縮/解凍パフォーマンスを稼げることにある。
また単に説明目的におため、以下の説明は秘密鍵対称アルゴリズムを用いるブロック暗号に関する(例えば、IDEA−国際データ符号化アルゴリズム)。ただし本発明はこのアルゴリズムに限定されるものではなく、同様に、平文データのブロックを複数セグメントに崩して、このブロックの各平文セグメントを暗号テキストのセグメントに変換する他の様々な対称または非対称の符号化アルゴリズムに適用可能である。
図2a、3a、4a、4bは、ファイルモードアクセスに関する本発明の特定の実施例にかかる論理データオブジェクトのオリジナルと変換済みを示す概略図である。変換システム16は、ファイル呼び出し動作(ファイルアクセスに関するリクエスト)と同様にいくつかの制御トランザクション(例えばファイル終了設定)を傍受し、特定のトランザクションのプロキシとして動作する(例えば、大部分の制御トランザクションのスループットを維持し、データトランザクションと特定の制御トランザクションを代理する)。この変換システムは、傍受されたファイルアクセスに関するリクエストに対応する処理データの配信、処理済みデータをストレージ媒体に1以上の変換済みファイルとして保存するファイルシステムと、および/またはそのなかで通信を実現し、および/または傍受したファイルリクエストに対応する処理済みデータの少なくとも一部の逆変換を実現可能である。保存処理されるファイルへの「書き込み」動作では、変換システム16はネットワーク13を通してクライアント11および/またはサーバ12から前記ファイルに対応するデータを受け取り、このデータを変換してファイルストレージ装置14で書き込みを実現する。「読み出し」動作は、逆方向に処理され、要求されたファイルは変換システムにより取得され、逆変換され(要求されたデータ範囲に応じて部分的または全体的に)、適切なクライアント/サーバに送られる。適切であれば、変換システムは、変換プロセスに含まれる外部データ(例えば、変換に用いられる安全鍵および/または安全値または他のメタデータ)を取得するための外部プラットフォーム(例えば鍵保持プラットフォーム17)と通信可能である。
図2b、3b、4c、4dは、ブロックモードアクセスに関する本発明の特定の実施例にかかる論理データオブジェクトのオリジナルと変換済みを示す概略図である。この分野で周知のように、通常のストレージシステムとネットワークは、ストレージの分割管理を認識可能である。1のストレージディスクまたはディスクセットを、観念的に論理ユニットに分割できる。このストレージ論理ユニット(LU)は、直接的にボリュームドライブ、ホストアプリケーション、ストレージ装置等に対応し、物理ストレージの論理的表現(representative)を構成する。各論理ユニットは、論理ユニット番号として知られるアドレスを有し、これによりユニークに特定できるようになる。ユーザはLUNがディスクドライブか、複数のディスクドライブか、1のディスクドライブのパーティションか、これらの組み合わせかを指定することができる。本発明の特定の実施例では1以上のLUが変換データを収容し、一方で変換システムは、ストレージ論理ユニットに関して、ストレージ論理ユニットに保存されたデータの非変換形式(すなわちオリジナルデータ)を仮想的に表すよう構成された対応する仮想論理ユニット(VLU)を作成し、ストレージ論理ユニットに向けたデータアクセスに関するリクエストを傍受して前記リクエストを前記仮想論理ユニットにアドレスし、仮想論理ユニットにおいて変換済みデータとその非変換仮想表現の間のマッピングを実行する。したがって、本発明の特定の態様によると、コンピュータのオペレーティングシステム(OS)は、非変換データ(オリジナルLO)の仮想表現としてVLUに関することとなる。
VLUとLUのサイズ比は予め定められてもよいし、および/または変換プロセス中に調整されてもよい。例えば、圧縮変換に関する図2bを参照して詳述するように、LUとVLUのサイズ比は所望の圧縮レートに応じて定められ(例えば、仮想論理ユニットのサイズは、圧縮される未処理データの見積もりサイズに対応し、実質的にストレージ論理ユニットのサイズの量である)、現実の圧縮比に対応して調節されてもよい。
単に説明目的のため、以下の記載は、オリジナルデータの各チャンクが到着時に変換され、実質的にキャッシュにデータを保持することなく他の受信されたチャンクの処理とは独立して、変換形式で保存場所に書き込まれる特定の実施例に関する。同様に本発明は、例えば、受け取られたチャンクが処理の前および/またはストレージ装置への書き込み前に組み合わされ(例えばサイズ基準に応じて)分割される場合にも適用可能である。変換されるべきデータのサイズと、1のポーションとして書き込まれるべき変換済みデータのサイズ(および/または1のポーションとして書き込まれるオリジナルデータのサイズ)は、特定の基準によって構成可能である(例えば、変換システムおよび/またはストレージ装置のI/Oバッファのサイズ、変換エンジンの特性、設定可能なランタイム、ストレージネットワークの特性、入出力トラフィックの種類等)。変換システムは、保存場所への書き込みデータの確認を異なるモードで行ってもよく、例えば各書き込みポーション毎、所定/設定可能なポーション数毎、所定/設定可能なランタイム毎等であり、例えばストレージネットワークのプロトコルやそのトラフィックに依存する。また、本発明の特定の実施例では(例えば図7を参照してさらに詳述する)、特定の基準に合致するデータチャンクが、変換の失敗または変換処理の省略により非変換形式で保存される。
これを念頭に、図2aに注目すると、ファイルモードアクセスに関する本発明の特定の実施例にかかる未処理かつ圧縮された論理データオブジェクトの概略図が示されている。非圧縮LO(図示の実施例における未処理ファイル201)に含まれるデータのチャンク(202−1〜202−6)が、連続的に処理された圧縮データチャンク(207−1〜207−6)となり所定サイズのブロック205−1〜205−2に収容される(以降に圧縮セクション(CS)と称す)。図7に詳細を示すように、処理済みデータのいくつかのチャンクは、特定の基準に合致しない場合に非圧縮形式で収容される(例えば、得られる圧縮比が所定の値以下である場合等)。
前記圧縮セクションは、ファイルの入出力トランザクション中に圧縮/解凍の原子要素として作用する。圧縮処理は、圧縮セクションの解凍と、圧縮の結果として前記セクションに収容されたオリジナルデータとの間の実質的な同一性を可能とするように提供される(例えば、図示の実施例では圧縮セクション205−1の解凍で得られるデータは、チャンク202−1、201−2、および201−3に含まれるオリジナルデータと実質同一である)。
圧縮セクションのサイズは設定可能である;圧縮セクションが大きいと処理オーバーヘッドが低く圧縮比が高くなり、圧縮セクションが小さいと効率的なアクセスが可能となるが処理オーバーヘッドが高くなる。圧縮セクションのサイズは、特定の時間に関する基準に応じて予め規定されてもよい(例えば、圧縮すべきデータを圧縮するのにかかる予定時間が、実質的に圧縮セクションのサイズの大きさとなる等)。
本発明の特定の実施例では、予め定められるセクションのサイズは、すべての圧縮セクションで等しい(例えば、非限定的な実施例では、圧縮セクションは1MBに等しいサイズをもつ)。代替的に、本発明の特定の実施例では、予め規定されるサイズは異なる圧縮セクションで異なる。例えば、データ(例えばテキスト、画像、音声、組み合わせ等)または論理データオブジェクトの種類毎に圧縮セクションの予め規定されたサイズに対応し、変換システムは圧縮時に圧縮セクションの適切なサイズを圧縮される未処理ファイルのそれぞれの部分を占めるデータ種類(またはLOの種類)に応じて選択してもよい。任意で、圧縮プロセスは、例えば異なる圧縮セクションに収容された圧縮データチャンクに最適化した圧縮アルゴリズムを提供する適応能力を具えてもよい(例えば、音声、テキスト、画像等のセクションに最も適した異なる圧縮アルゴリズム)。
圧縮セクションに収容される圧縮データの現実の合計サイズは、図9を参照して後述するように、圧縮セクションに予め定めたサイズより小さい。
本発明の特定の実施例によると、処理済みのチャンク(207−1〜207−6)は、各入力チャンク(202−1〜202−6)の受け取り順に圧縮セクションに収容され、この収容はログ形式、ジャーナル形式、または連続収容の他の形式で提供されてもよい。圧縮されたLO(図の実施例では圧縮ファイル203)は、ヘッド204と、1以上のインデックスセクション(IS)206とを具える。圧縮ファイルのヘッダ204は、ユニークなファイル記述子と、このファイルが現在開かれているか(またはリカバリ状態か)を示すフラグと、未処理ファイル201のサイズに関する情報と、任意で、このファイルが変換システム16により処理されたかを示すサイン(例えば得られる圧縮比が所定の値以下であるため、特定の基準に合わず変換システムにより圧縮されていないファイルも)等を具える。本発明の特定の実施例では、ヘッダは固定の長さを有する。このヘッダとインデックスセクションは、図5−10を参照して詳述される。
本発明の別の実施例では(圧縮/解凍機能がストレージ装置等と一体化している特定の実施例)、ヘッダ204またはそのいかなる部分や組み合わせが、ファイルシステムの一部を構成する。例えば、特定のファイルシステムに用いられるファイル識別子(例えばノードID)が、圧縮ファイルのユニークなファイル記述子として用いることができ、ファイルシステム内のファイルレコードは、例えば未処理ファイルのサイズに関する情報や前記サイン等の更なるフィールドを具えるように変更されている。そのインデックスセクションまたは部分もまた、ファイルシステムの一部を構成する。
図2bは、ブロックモードアクセスの本発明の特定の実施例にかかる未処理かつ圧縮された論理データオブジェクトの概略図である。未圧縮(未処理)のLOに含まれるデータのチャンクは連続的に圧縮データチャンクへと処理され(217−1〜217−6)、予め規定されたサイズかつ図2aで説明した圧縮セクションと同様に、ブロック215−1〜215−2(以降は圧縮セクションと称す。)に収容される。処理済みデータチャンク(217−1〜217−6)に対応する前記未圧縮のチャンクは、データチャンク(212−1〜212−6)としてVLU211に仮想的に表現される。圧縮セクションは、データブロックの入出力トランザクション(データアクセスに関するリクエスト)中に圧縮/解凍動作の原子要素として作用する。VLUとLUのサイズ比は、特定の基準(例えば、圧縮データブロックを占めるデータ種別、前記データに得られる最大または最小圧縮比)に応じて予め規定してもよいし、圧縮プロセス中に調整されてもよい。非限定的な実施例では、本発明の特定の実施例において見積もられるVLUとLUのサイズ比は電子メールで約3、テキスト形式データでは8等になる。具体的なケースでは、圧縮データと未処理データの実際の比は見積もられた比よりも低くなりうる(および/または、なる)。この差は、ストレージ論理ユニットのオーバーフローの原因となり、コンピュータのオペレーティングシステム(OS)が、LUが実際に一杯となったときにVLUにまだ空いたスペースがあることを示すこととなる。したがって、変換システム16は、オーバーフローイベントの発生を検出するよう構成され(例えば、現実の圧縮レートとLUの空きスペースを検出することにより)、LUの空き容量が特定の基準に合わない(例えば、予め規定されたサイズより小さい)場合にストレージ論理ユニットを拡大する。変換システムはさらに、前記LUの拡大の失敗を検出するよう構成され(例えば、追加のディスクスペースが取得できなかったり、ストレージ装置がダイナミックLU変更をサポートしていないため)、LUのアクセス状態を「リードオンリー」に変更し、LUの空き容量が上記基準に合致するまでこの状態を保持する。同様に、この変換システムは、圧縮データと未処理データの現実の比が見積もられる比より高い場合に、LUの空きスペースを解放するよう構成されてもよい。
図2aを参照して説明したのと同様に、圧縮されたチャンクは、各入力チャンクの受け取り順に従って圧縮セクション内に収容され、この収容はログ形式、ジャーナル形式、または他の連続収容形式で提供される。圧縮されたLO(LU213)は、ヘッダ214と、1以上の圧縮セクション215と、インデックスセクション216と、空きスペース218とを有する。ヘッダ214は、論理ユニット番号(LUN)を含むユニークな記述子と、仮想論理ユニット(VLU)のサイズと、LUのサイズと(任意)、オープン/リカバリフラッグと、保存データの少なくとも一部が変換システム16により処理されたかを示すサイン等を含む。このヘッダの長さは一定である(例えば非限定的な例では24バイトであり、4バイトが前記サイン、16バイトが前記ユニークな識別子、4バイトが対応する仮想論理ユニットのサイズに関する情報)。
本発明の他の実施例では(例えば、圧縮/解凍機能はストレージ装置と一体化される等の特定の実施例)、ヘッダ214またはそのいずれかの部分およびその組み合わせはディスク属性の一部を構成し、インデックスセクション216がディスク属性の一部を構成してもよい。
したがって、オリジナルの論理データオブジェクト(LO)に含まれる様々な種類のデータのチャンクは、連続的に圧縮され、予め規定されたサイズの1またはそれ以上の圧縮セクションに受け取り順に収容される。この圧縮処理は、解凍されたときの圧縮セクションと、圧縮で得られる前記セクションに収容されたオリジナルデータが実質同一となるように構成される。同じ圧縮セクションに収容されたチャンクは、同じ辞書を用いて圧縮される。図6でさらに詳述するように、インデックスセクションの情報は、オリジナルのデータ範囲と解凍後にログから読み出されるデータが一対一の関係となるようにする。圧縮されたデータチャンクは、圧縮動作をリセットすることなく出力(ストレージ)バッファに流されるべきすべてのペンディングの出力を実現する「同期フラッシュ(sync-flush)」モードで保存場所に移動される。したがって、この圧縮バッファの同期フラッシュにより、データの完全性を実現しつつ圧縮セクション内で同じ辞書の使用を可能となる。同期フラッシュは様々な方法で実施されてもよく、これらのいくつかがこの分野で知られている(例えば、ZLIB圧縮ライブラリで提供されるデフレート/インフレート機能にZ_SYNC_FLUSHパラメータを適用することによる、ZLIB.H−「zlib」汎用圧縮ライブラリのインタフェース、バージョン1.2.3、2005年7月18日、著作権(C)1995−2005Jean-Loup Gailly and Mark Adler)。
本発明の特定の実施例では、圧縮されるデータの最初のkバイトは辞書として使用される。同じ辞書がさらに、処理/圧縮される連続データの最初と以降のチャンク全部の圧縮に用いられ、この辞書は例えばLempel−Zivアルゴリズムで処理されたデータにしたがって調整される。プロセスは、圧縮データの合計サイズが圧縮セクションの予め規定されたサイズとなるまで継続される。圧縮データの次のチャンクは、次の圧縮セクションに収容される。次のチャンクの最初のkバイトは、次の圧縮セクションに収容されるデータを圧縮するのに用いられる辞書を更新するのに用いられる。本発明の特定の実施例では、新たな圧縮セクションにおいて開始される新たな圧縮シーケンスは、直前のシーケンスと同じ初期圧縮辞書を用いてもよい。
本発明の特定の実施例では、異なる圧縮セクションのデータに対応する複数の辞書は、適切な圧縮セクションへの一定のポインタを含む全体の辞書として保持されてもよい。この全体辞書は、1以上のインデックスセクションに収容されてもよいし、異なるインデックスセクションおよび/または圧縮セクション間に分配されてもよい。代替的に、辞書はそれぞれ1以上の圧縮セクションに対応するいくつかの個別に管理される辞書に分割されてもよい。インデックスセクションの特定の実施例では、当該インデックスセクションに付随する圧縮セクションのデータのみに対応する1以上の辞書を収容する。いくつかの実施例では、各圧縮セクションが当該セクションに保存されるデータに関連する1の辞書を含む。
本発明の特定の実施例では、未処理データの受け取られた部分がそれぞれ、受け取られ、処理され、所定の基準に合致する場合に圧縮され、殆どキャッシュ内にデータを保持することなく、かつ他の受信部分の処理とは独立して保存場所に書き込まれる。本発明の別の実施例では、いくつかの受け取られた部分が一緒に処理され、1つの圧縮部分としてストレージに書き込まれる。
本発明の特定の実施例の利点は、比較的小さなデータチャンクを処理し書き込めるなかで、比較的大きなデータ量(圧縮セクション)に対する圧縮機能を得られることであり、同時に同じ適応性辞書を用いるデータチャンクの連続圧縮により実現する向上した圧縮比を得られることである。
図3aは、ファイルモードアクセスの本発明の特定の実施例にかかるオリジナルと暗号化した論理データオブジェクトの概略図である。平文LO(図の実施例では平文ファイル301)に含まれるデータのチャンク(302−1〜302−4)は、連続的に処理されて暗号化データチャンク(307−1〜307−4)となり、ブロック305−1、305−2に収容される(以降は予め規定されたサイズの暗号化セクション(ES)と称す)。図7を参照して詳述するが、処理済みデータのいくつかのチャンクは、所定の基準に合わない場合には非暗号化形式で収容される。
図2a、2bを参照して記載した圧縮セクションと同様に、この暗号化セクションは、ファイルの入出力トランザクションにおいて暗号化/復号化動作の原子要素として作用する。暗号化セクションのサイズは調整可能であり、暗号化セクションが小さいと効率的にアクセスできるが処理オーバーヘッドが高くなる。本発明の特定の実施例では、予め規定されるサイズは、すべての暗号化セクションで同じであってもよい(例えば非限定的な実施例では、暗号化セクションは1MBである)。代替的に、本発明の特定の実施例では、暗号化セクションの所定サイズは変化してもよい。例えば、それぞれの種類のデータが暗号化セクションの所定サイズに対応し、変換システムは暗号化中に、暗号化される平文ファイルの各チャンク(またはチャンク群)を占めるデータ種類に応じて暗号化セクションの適切なサイズを選択する。
本発明の特定の実施例によると、処理/暗号化されたチャンク(307−1〜307−4)は、平文データの各チャンクの受け取り順に従って暗号化セクションに収容され、この収容はログ形式、ジャーナル形式等で行われる。暗号化されたLO(図の実施例では暗号化ファイル303)は、ヘッダ304と、1またはそれ以上の暗号化セクション305と、1またはそれ以上のインデックスセクション(IS)306とを具える。暗号化ファイルのヘッダ304は、ユニークなファイル識別子と、このファイルが現在開いているか(またはリカバリ状態か)を示すフラグと、平文ファイル301に関する情報と、任意で、このファイルが変換システム16により処理されたかを示すサインとを具える(例えば所定の許可マーク、所定のファイル種別等の所定の基準に合わないとして変換システムにより暗号化されなかったファイルについても)。本発明の特定の実施例では、ヘッダの長さは固定である。このヘッダとインデックスセクションは、図5−10を参照して詳述される。
本発明の他の実施例(暗号化/復号化機能がストレージ装置に組み込まれている等の特定の実施例)では、ヘッダ304またはその一部およびその組み合わせは、ファイルシステムの一部を構成してもよい。例えば、特定のファイルシステムに用いられるファイル識別子(例えばノードID)は、暗号化ファイルのユニークなファイル識別子として用いられてもよく、ファイルシステム内のファイルレコードは変更されて例えば平文テキストのサイズに関する情報や前記サイン等の新たなフィールドを具えてもよい。
図3bは、ブロックモードアクセスの本発明の特定の実施例にかかる平文と暗号化された論理データオブジェクトの概略図である。平文LOに含まれるデータのチャンクは連続的に暗号化データチャンクへと処理され(317−1〜317−6)、予め規定されたサイズかつ図2aで説明した圧縮セクションと同様に、受け取り順にブロック315−1、315−2(以降は暗号化セクションと称す)に収容される。処理済みデータチャンク(317−1〜317−4)に対応する前記平文チャンクは、データチャンク(312−1〜212−4)としてVLU311に仮想的に表現される。
暗号化されたLO(LU313)は、ヘッダ314と、1またはそれ以上の暗号化セクション315と、インデックスセクション316と、空きスペース318とを有する。ヘッダ314は、論理ユニット番号(LUN)を含むユニークな記述子と、仮想論理ユニット(VLU)のサイズと、LUのサイズと(任意)、オープン/リカバリフラッグと、保存データの少なくとも一部が変換システム16により処理されたかを示すサイン等を含む。このヘッダとインデックスセクションは、図5−10を参照して詳述される。
本発明の他の実施例では(例えば、暗号化/復号化機能はストレージ装置と一体化される等の特定の実施例)、ヘッダ314またはそのいずれかの部分およびその組み合わせはディスク属性の一部を構成し、および/または、インデックスセクション316がディスク属性の一部を構成する。
したがって、オリジナルの論理データオブジェクト(LO)に含まれる様々な種類のデータのチャンクは、連続的に暗号化され、予め規定されたサイズの1またはそれ以上の圧縮セクションに受け取り順に収容される。
この暗号化処理は、復号化されたときの暗号化セクションと、暗号化で得られる前記セクションに収容された平文データが実質同一となるように構成される。
ブロック暗号化アルゴリズムが、受信チャンクの平文データを固定サイズのセグメント(例えば16バイト)に崩し、このチャンクの各平文セグメントを固定サイズBの暗号化セグメントへと暗号化する。図の実施例では、変換システムは、暗号化セグメントが前記固定サイズBに必要な場合に(例えばパディングデータを入れることにより)ラウンド可能である。連続データの最初と次のチャンクは同じ安全鍵を用いて暗号化され、1の暗号化セクションに収容される。このプロセスは、暗号化データの合計サイズが実質的に暗号化セクションの予め規定されたサイズとなるまで継続される。暗号化データの次のチャンクは、次の暗号化セクションに収容される。異なる暗号化セクションのデータは、同じか異なる安全鍵を用いて暗号化されてもよい。また、図6を参照して詳述するように、インデックスセクションの情報は、オリジナルのデータ範囲の各地点と復号化後にログから読み出されるデータが一対一の関係となるようにする。
この暗号化プロセスは、図12a、12bを参照してさらに詳述される。
図4a−4bは、ファイルモードアクセスの本発明の特定の実施例にかかる論理データオブジェクトのオリジナルと変換済みを示す概略図であり、この変換は圧縮と暗号化を含んでいる。
オリジナルのLO(図の実施例のオリジナルファイル401)に含まれるデータのチャンク(図4aの402−1〜402−4)は、連続的にデータチャンク(図4bの408−1〜408−4)に変換され、予め規定されたサイズのブロック406−1、406−2に収容される。図2a−2bで説明した圧縮セクションや、図3a−3bで説明した暗号化セクションと同様に、これらのブロックはファイルの入出力トランザクション中に圧縮/解凍および暗号化/復号化の原子要素として作用する。以下の説明において、「収容セクション(AS)」の語は、変換されたデータチャンク(上述した圧縮セクションや暗号化セクションを含む)を収容すべく構成された様々な保存ブロックであって、本発明の特定の実施例にかかる変換/逆変換の動作の原子要素として動作するものを含む。この収容セクションの予め規定されるサイズは等しくてもよいし、代替的に、変換処理中に変換システムが予め規定される基準に従って特定の収容セクションの規定サイズを選択してもよい。
オリジナルのデータチャンク(401−1〜402−4)を保存データチャンク(408−1〜408−4)に変換するには2つの処理を含む。1)オリジナルのチャンクを圧縮データチャンク(403−1〜403−4)へと圧縮するステップと、2)圧縮データチャンク(403−1〜403−4)を暗号化して、収容される暗号化チャンク(404−1〜404−4)とするステップである。このプロセスは同期され並行に行われ、すなわち圧縮と暗号化のプロセスが時間に関して同格であり(同期プロセス)、それぞれ圧縮と暗号化に関する命令の自律セットを同時に実行し(並列プロセス)、圧縮の間、暗号化と収容はオリジナルのチャンクの連続性を維持するように行われる。
図4aに示す実施例では、プロセスの同期は、圧縮プロセスで処理される各出力チャンクは、暗号化プロセスの入力チャンクとなることを特徴とする。したがって、圧縮され暗号化されたデータチャンクは、オリジナルのデータチャンクの連続性に対応する。例えば、オリジナルのチャンク402−1〜402−3から圧縮チャンク403−1〜403−3への圧縮、およびこれで得られるチャンクの暗号化チャンク204−1〜204−3への暗号化は、それぞれts1−ts3の時点で開始される。図の実施例では、オリジナルのチャンク402−4から圧縮チャンク403−4への圧縮は、ts4で終了し、圧縮チャンク403−3から暗号化チャンク404−3への暗号化はこの時点では終了していない。連続的な圧縮チャンク403−4から暗号化チャンク404−4への暗号化は、チャンク404−3が暗号化された後に開始される(チャンク403−4の圧縮が終了したts3からΔtの遅延を伴う)。
本発明の特定の実施例では、オリジナルデータの受信チャンクはそれぞれ圧縮され、殆どキャッシュにデータを保持することなく、他の受信チャンクの処理とは自律して暗号化のために送られる。本発明の別の実施例では、受信チャンクはセグメント化され、あるいはいくつかの受信チャンクがまとめて圧縮され、1の圧縮チャンクとしてさらに暗号化される。
図7を参照して後述するように、所定の基準に合うチャンクの処理は圧縮のみ、または暗号化のみ、あるいはそのいずれでなくてもよく、処理と収容の期間中のチャンクのシーケンスが、受信チャンクのシーケンスに対応して保持されることに注意されたい。
本発明は図示の同期方法に限定されるものではなく、同様に、同時に圧縮し暗号化するプロセスの他の様々な形式に適用可能であり、この同時性によりデータチャンクの連続性が保存される。
図4bに示すように、処理済みのチャンク(404−1〜404−4)は、オリジナルデータの各チャンクの受け取り順に収容セクション(保存チャンク408−1〜408−4)に書き込まれる。変換されたLO(図の実施例では圧縮され暗号化されたファイル409)は、ヘッダ405と、1またはそれ以上の収容セクション406と、1またはそれ以上のインデックスセクション(IS)とを具える。変換ファイルのヘッダ405は、ユニークなファイル識別子と、このファイルが現在開いているか(またはリカバリ状態か)を示すフラグと、オリジナルのファイル401のサイズに関する情報と、任意で、このファイルが変換システム16により処理されたかを示すサインとを具える(例えば所定の許可マーク、所定のファイル種別、所定の圧縮比等の所定の基準に合わないとして変換システムにより暗号化および/または圧縮されなかったファイルについても)。本発明の特定の実施例では、ヘッダの長さは固定である。このヘッダとインデックスセクションは、図5−10を参照して詳述される。
本発明の他の実施例(暗号化/復号化、および/または、圧縮/解凍機能がストレージ装置に組み込まれている等の特定の実施例)では、ヘッダ405またはその一部およびその組み合わせは、ファイルシステムの一部を構成してもよい。例えば、特定のファイルシステムに用いられるファイル識別子(例えばノードID)は、暗号化ファイルのユニークなファイル識別子として用いられてもよく、ファイルシステム内のファイルレコードは変更されて例えばオリジナルのサイズに関する情報や前記サイン等の新たなフィールドを具えてもよい。インデックスセクションやその部分もまた、ファイルシステムの一部を構成してもよい。
図4c−4dは、ブロックモードアクセスの本発明の特定の実施例にかかるオリジナルと圧縮と暗号化された論理データオブジェクトの概略図である。オリジナルのLOに含まれるデータのチャンクは連続的に暗号化データチャンクへと処理され(図4dの418−1〜418−4)、受け取り順に収容セクション416−1、416−2に収容される。変換済みデータチャンク(418−1〜418−4)に対応するオリジナルデータチャンクは、図4cに示すデータチャンク(412−1〜412−4)としてVLU411に仮想的に表現される。
図4a、4bを参照して説明した実施例と同様に、オリジナルのデータチャンク(412−1〜412−4)を保存データチャンク(418−1〜418−4)に変換するには2つの同時並行処理を含む。1)オリジナルのチャンクを圧縮データチャンク(413−1〜413−4)へと圧縮するステップと、2)圧縮データチャンク(413−1〜413−4)を暗号化して、収容される暗号化チャンク(414−1〜414−4)とするステップである。したがって、圧縮と暗号化のプロセスが時間に関して同格であり、それぞれ圧縮と暗号化に関する命令の自律セットを実行し、ここで圧縮と暗号化は、オリジナルのチャンクの連続性を維持するように行われる。これらプロセスの同期は、圧縮プロセスで処理される各出力チャンクが暗号化プロセスの入力チャンクとなることを特徴とする。したがって、圧縮され暗号化されたデータチャンクの連続性は、オリジナルのデータチャンクの連続性に対応する。
図4dに示すように、処理済みのチャンク(414−1〜414−4)は、オリジナルデータの各チャンクの受け取り順に収容セクション(保存チャンク418−1〜418−4)に書き込まれる。変換されたLO(圧縮され暗号化されたデータを含むLU419)は、ヘッダ415と、1またはそれ以上の収容セクション416と、1またはそれ以上のインデックスセクション(IS)417と、空きスペース420とを具える。ヘッダ415は、論理ユニット番号(LUN)を含むユニークなファイル識別子と、ストレージ論理ユニットのサイズと(任意)、オープン/リカバリフラグと、この保存データの少なくとも一部が変換システム16により処理されたかを示すサイン等を含む。
本発明の他の実施例では(例えば、暗号化/復号化、および/または、圧縮/解凍機能がストレージ装置と一体化される等の特定の実施例)、ヘッダ415またはそのいずれかの部分およびその組み合わせはディスク属性の一部を構成し、インデックスセクション417がディスク属性の一部を構成してもよい。
したがって、オリジナルの論理データオブジェクト(LO)に含まれる様々な種類のデータのチャンクは、連続的に変換され、1またはそれ以上の収容セクションに受け取り順に収容され、この変換は圧縮と暗号化プロセスを含む。チャンクの圧縮は、図2a−2bに記載の圧縮変換と同様に行われる。圧縮されるデータの最初のkバイトは辞書として使用される。同じ辞書が、圧縮される連続データの最初と次のチャンクの圧縮に用いられ、この辞書は例えばLempel−Zivアルゴリズムで処理されたデータにしたがって調整される。プロセスは、(暗号化後に)特定の収容セクションに収容されるすべてのチャンクについて継続される(収容セクションの選択は図9を参照してさらに詳述される)。次の収容セクションに収容されるオリジナルデータの次のチャンクの最初のkバイトは、次の収容セクションに収容されるデータを圧縮するのに用いられる辞書を更新するのに用いられる。本発明の特定の実施例では、新たな圧縮セクションにおいて開始される新たな圧縮シーケンスは、直前のシーケンスと同じ初期圧縮辞書を用いてもよい。
所定の基準に合う圧縮チャンクはそれぞれ、図3a−3bを参照して説明したのと同様の方法で、各収容セクションに保存される前にさらに暗号化される。ブロック暗号化アルゴリズムが、圧縮済みチャンクの平文データを固定サイズのセグメントに崩す。最初と次の圧縮済みチャンクは同じ安全鍵を用いて暗号化され、1の適切な収容セクションに収容される。このプロセスは、暗号化データの合計サイズが実質的に収容セクションの予め規定されたサイズとなるまで継続される。次の暗号化チャンクは、次の収容セクションに収容される。異なる収容セクションに収容されるデータは、同じか異なる安全鍵を用いて暗号化される。この暗号化プロセスはさらに図12a−12bを参照して詳述される。本発明の特定の実施例では、システムは1またはそれ以上の圧縮済みデータチャンクでパディングデータ(例えばランダムキャラクタ、ブランク、ゼロ等)を入れて、ブロック暗号の入力がセグメントサイズの丁度倍数となるようにする。復号化時に、変換システムは解凍前にこのパディングデータを除去する。
図5は、本発明の特定の実施例にかかる変換済みの論理データオブジェクトを示す概略図である。非限定的な実施例として、図2a−b、3a−b、4a−dに詳述されているが、オリジナルの論理データオブジェクト(LO)に含まれる様々な種類のデータのチャンクは変換され、受け取り順に予め規定されたサイズの1またはそれ以上の収容セクション(505A−505F)に連続的に収容される。この収容セクションは、論理データオブジェクトの入出力トランザクション(データアクセスに関するリクエスト)中に変換/逆変換動作の原子要素として作用する。この変換プロセスは、逆変換されたときの収容セクションと、変換で得られる前記セクションに収容されたオリジナルデータが実質同一となるように構成される。
変換済みのLO503は、ヘッダ504と、1またはそれ以上の収容セクション(505A〜505F)と、1またはそれ以上のインデックスセクション(506A、506B)とを具える。このインデックスセクションは、変換済みLOが1の収容セクションのみをもつ場合に不要である。
連続的に収容される変換済みデータチャンクに加え、この収容セクションは、ユニークな識別子を有する(通常は収容セクションのヘッダ内に有する)。この収容セクションに属する物理ストレージの場所の表示が、収容セクション自体(例えばヘッダ内)および/またはインデックスセクションに保存される。変換に含まれる外部データに関する情報(例えば、鍵のID、鍵の物理位置へのポインタ、鍵に関するメタデータ等の、収容セクションに含まれるデータチャンクの暗号化に用いた安全鍵に関する情報)が、収容セクション自体(このセクションのヘッダ内)および/またはインデックスセクションおよび/またはヘッダ504に保存される。
本発明の特定の実施例では、各収容セクションに、この収容セクション内(例えばヘッダ内)および/またはインデックスセクションに保存されこのセクションの使用/再使用を示すフラグ(ビットフラグ1または0)が割り当てられている。したがって、1のセクション内の各変換済みチャンクはセクションと同じフラグを有する。新たな物理的な位置に収容されたとき、この収容セクションはフラグ0となる。別の収容セクションにより以前用いられた物理的位置に収容されたら、この収容セクションのフラグは、上書きされる前記別の収容セクションのフラグと逆となる。したがって、ある物理位置に書き込まれる新たな変換済みデータチャンクは、当該物理位置に収容されている直前の古いデータチャンクと異なり、古い(上書きされる)収容セクションが異なるフラグとなるようにする。この処理はさらに、図9を参照して詳述される。
単に説明目的のために、以下の説明はログ形式で収容される変換済みデータチャンクで説明する(以降はログという)。ただし本発明はログ形式に限定されるものではなく、同様に、処理済みデータチャンクを連続的に収容する他の様々な形式に適用可能である。
変換済みデータに加え、各ログは、論理データオブジェクト内のオリジナルのチャンクデータのオフセットに関する情報(通常はログのヘッダに保持される)と、前記オリジナルチャンクのサイズと、このログを収容する収容セクションとこのログを関連付ける識別子(例えば、対応する収容セクションIDに加え、上述したように当該セクションの物理位置の使用/再使用を示すフラグ等)とを有する。この情報またはその一部は、変換されおよび/または変換されない形式で保存される。図12a−12bを参照して暗号化の場合を詳述するように、このログはまた、変換に関する情報(すなわち初期ベクトル、鍵ID等)を具える。
本発明の特定の実施例において、傍受された制御トランザクション(例えば「ファイル端部を設定」/切り捨て(truncate))が、各変換済みデータチャンクに連続するとともにデータサイズ領域にゼロの値を有するログとして、収容セクションに書き込まれる。
インデックスセクション506は、1以上の収容セクションに付随する1以上のエントリを具え、このエントリは収容セクションの物理的な保存場所へのポインタ(または他のインジケータ)と、収容セクションに収容される各ログに関するレコード(例えば、オリジナル/更新されたLOのオフセットとサイズ、収容セクションとの関連、ログに割り当てられた1またはそれ以上のフラグ等)を具え、前記レコードは以降に「ログレコード」と称される。任意で、このエントリは、例えば収容セクションに収容されたログの少なくとも一部が暗号化されていない、圧縮されていない、あるいはそれ以外でも変換されていない形式のデータを含むか否かのサイン、収容セクションに割り当てられた1またはそれ以上のフラグ、セクションの圧縮に用いられる辞書、セクション内で用いられる安全鍵に関する情報、前記収容セクションの収容のフリーサイズ、暗号化、圧縮、および/または変換時に用いられる他のアルゴリズム(可変の場合)等を含む。本発明の特定の実施例では、インデックスセクションは等しく予め規定されたサイズである。
本発明の特定の実施例では、エントリは、唯一の、各ログに対して最も更新されたログレコードを有する。別の実施例では、図11a−11bで詳述するように、エントリは同じログについて更新されたレコードと古いレコードを有する。
インデックスセクション506を作成および/または更新するにはいくつかの方法がある。例えば、最初のインデックスセクションは、変換された論理データオブジェクトの作成時に実質的に作成され、以降のインデックスセクションは(もしあれば)、現在の(アクティブな)インデックスセクションに新たなエントリを収容する空きスペースがない場合に作成される。代替的に、最初および/または以降のインデックスセクションは、対応する収容セクションをその情報に基づいて保存した一定時間後であるが、論理データオブジェクトが閉じる前に作成される。対応するエントリは、保存された論理オブジェクトのすべての更新と同時に、あるいは収容セクションに含まれるデータに基づいて所定の送らせた時間に(例えば新たな収容セクションの開始時)、ただし論理データオブジェクトが閉じる前に、書き込まれ/更新される。失敗した場合、インデックスセクションは収容セクションに含まれる情報に基づいて復元され、これは図10を参照して後述される。
本発明の特定の実施例では、ヘッダ504が最初のインデックスセクションの物理位置へのインジケータ(例えばポインタ)を具え、各インデックスセクションは次の連続するインデックスセクションへのインジケータを有する。このインジケータは、連続するインデックスセクションを接続する1またはそれ以上のリンク507から構成される。任意で、ヘッダ504はまた、最初の収容セクションへのインジケータを含み、各収容セクションが次の連続する収容セクションへのインジケータを有する。このインジケータは、連続する収容セクションを接続する1またはそれ以上のリンクから構成される。
本発明の特定の実施例の利点は、様々なサイズのデータチャンクを変換し書き込む能力であり、予め規定された収容セクションを用いて逆変換と読み出しが行われる。
図6a−bを参照すると、更新プロセスにおける論理データオブジェクトのオリジナルと変換済みの概略図がシメされている。
図6aに示す例では、オリジナルのLOを構成するデータ601−1、601−2、601−3が、対応する連続ログ608−1、608−2、608−3に変換され、収容セクション605−1に収容される。インデックスセクション606−1は、前記収容セクションとそのログに関する情報を含む。非限定的な例では、図のインデックスセクションは、物理位置へのポインタ(QWORD)を有する収容セクションIDと、このセクションに収容された変換済みチャンクに対応するオリジナルデータの各チャンクのオフセット(QWORD)と長さ(WORD)を有する各レコードのリストとを具える。通常、インデックスセクションはまた、次のインデックスセクションのインジケータ(例えばID)を具える。
インデックスセクションの情報の例は、ログ608−1へと変換されたデータが範囲ABに対応し(オフセットA、長さL1);ログ608−2に変換されたデータが範囲BCに対応し(オフセットB、長さL2);ログ608−3に変換されたデータが範囲CDに対応する(オフセットC、長さL3)ことを意味する。
図6bは、長さL4の新規データチャンク601−4がオフセットCから始まるオリジナルのLOに置換する場合であって、(C+L4)=E<Dである場合の例を示す。新たなデータチャンクは、セクションにこの新たなログを収容するのに十分な空きスペースがある場合に、前の変換ログ(以降にアクティブな収容セクションと称す)を収容する収容セクションに収容される。そうでない場合、実施例に示すように、新たな収容セクション605−2が開かれて新たなログ608−4が収容される。以前に収容されていたログは変更せずに保持され、一方でインデックスセクション606−1が、オリジナルデータ範囲の各地点と逆変換後のログから読み出されるデータとの間の一対一の関係が実現するように更新される。特定の実施例ではインデックスセクションは最後に更新されたログレコードのみを含み、他の実施例ではインデックスセクションは古いレコードと、新旧レコード間の差異の特別なマーキングとを含む。更新されたレコードに加え古いレコードを保持すると、例えば図11で後述する継続的なデータ保護などの特定のアプリケーションに有用である。
図6bに示す実施例では、インデックスセクションは最後に更新されたレコードのみを有する。インデックスセクションの更新情報は、更新された範囲ADは以下の変換ログのデータに対応することを意味する:範囲ABは収容セクション#1の物理位置Xのログ608−1から逆変換されるデータに対応し、範囲BCは収容セクション#1の物理位置Xのログ608−2から逆変換されるデータの一部(すなわちオフセットB、長さL2)に対応し、更新された範囲CEは収容セクション#2の物理位置Yの新たなログ608−4に対応し、範囲EDは収容セクション#1の物理位置Xのログ608−3のデータの一部(すなわちオフセットE、長さL3)に対応する。図の実施例では、ログ608−1と608−4に含まれるデータは生きており、これに対しログ608−2(すなわち範囲CC)と608−3(すなわち範囲CE)は古い。インデックスセクションの更新は、図9を参照してさらに説明される。
図7を参照すると、本発明の特定の実施例にかかる変換済み論理データオブジェクトを作成する一般化されたフローチャートである。710でLOを保存するリクエストを受けると、変換システムは変換済みLOのヘッダを適切な収容場所に書き込み(例えば、前に保存した論理データオブジェクトの隣に)、処理済みデータを収容するために最初の収容セクションを割り当てる。最初のヘッダのレコードは、変換ステータスの表示を含む(例えば、変換が「処理中」であることを意味するフラグ「ON」や、任意で、変換プロセスに含まれる別のプロセス余の別のフラグ等)。この変換システムはまた、712で変換されるデータチャンクに関する情報を用意する(例えば、オフセット、データサイズ等)。
本発明の特定の実施例によると、変換システムは、変換中に合致すべき所定の基準を保持するよう構成される。この基準は論理データオブジェクト、データチャンクおよび/または収容セクション、および/またはその変換動作またはその一部の特性に関する。この基準は、例えば、1のログとして変換されるデータの最大長Lmax;および/または1のログとして変換される受信オリジナルデータの最大時間Tmax;オリジナルと変換済みデータおよび/またはLOの特定の関係(例えば、最小見積もり比または現実の圧縮比;データおよび/またはLOの予め規定された種別および/または形式)等を含む。
本発明の特定の実施例では、所定の基準は、見積りまたは実際のデータチャンクおよび/または論理データオブジェクト全体の変換時間(例えば最大、見積もり、または実際の、データチャンクの変換(またはそのステップ))に関する。この基準に関する変換時間は、オペレーショナルシステムのタイムアウト、ストレージネットワークおよび/またはストレージ装置の特性、求められる信頼性等により制限される。いくつかの実施例では、この基準は例えば、データチャンクの実際の変換時間であり、別の実施例ではこの基準は例えば、チャンクサイズおよび/またはデータ種別および/または圧縮アルゴリズムおよび/または他の特性やデータチャンクの予想される変換時間の見積もりが可能なこれらの組み合わせでもよい。したがって、この基準と比較するために取得されるチャンクの特性により、予想される変換時間または実際に測定された変換時間の見積もりが可能となる。1より多いプロセス(例えば圧縮と暗号化)を含む変換について、変換時間の基準は、それぞれ個別のプロセス、および/または変換プロセス全体に関する。
変換システムはさらに、変換されるデータチャンクが所定の基準に合致する場合に713を検証する。この検証は、チャンクおよび/または収容セクションおよび/または変換動作の特定の特性を取得し、これらを前記基準と比較する。この特性は、例えば、チャンクの特定のパラメータを特定し(例えば、論理オブジェクトの種類、認証マーク、サイズ等)、および/または観察できる特性(例えばサイズ、データ種別等)に基づいて予想される変換結果を見積もり、および/または実際の変換(またはその一部)を実行し結果を確認することにより得られる。
基準に合致したら、変換システムはデータチャンクに714を処理し、変換済み形式のデータを含むログとして収容セクションに収容する。前に準備したログ関連情報(オフセット、サイズ等)は、変換済みおよび/または未変換形式でログ内に書き込まれる。前記情報はまた、ログ内に含まれるデータの形式の表示(例えばフラグ)を含んでもよい(例えば、変換済み、未変換、部分的に変換済み)。
基準が合わなかったら(例えば、未処理データチャンクが、例えば30ミリ秒を越える期間で変換されたり変換されうる場合、および/またはオリジナルサイズのX%(例えば95%)以下に圧縮できない場合等)、変換システムは715で、非変換形式のデータを含むログとして収容セクションにデータチャンクを収容する。1より多いプロセスを含む変換では、データチャンクは部分的に変換された形式で収容される。例えば、図4の実施例に戻ると、オリジナルのチャンク402−4を圧縮チャンク403−4へ圧縮するのはts4で終了し、一方で圧縮チャンク403−3を暗号化チャンク404−3へと暗号化する暗号化はこの時間では終わらない。特定の実施例では、変換システムは、各データチャンクの圧縮の終了と暗号化の開始の間の遅延がゼロとなるよう変換時間に関する基準をサポートするよう構成される(および/または変換プロセス全体に制限時間を設ける)。このケースでは、変換システムは、圧縮済みチャンク403−3の暗号化を停止し(または開始せず)、各チャンク408−3を部分的に変換された形式で収容する。代替的に、変換システムはチャンクの圧縮を省略し(例えば、すべてのデータの暗号化が殊更に求められる場合)、チャンク402−3に含まれる非圧縮データを暗号化し、各チャンクを部分的に変換された形式で収容してもよい。
変換時間に関する基準にしたがって処理することの利点は、論理データオブジェクトを所定期間内に変換できることであり、したがって、例えばデータの一体性、アクセス性、および利用可能性等を保持しつつオンライン変換を促進することができる。
例えば1のログとして変換されるデータの最大長Lmax、および/または1のログとして変換される受信オリジナルデータの最大時間Tmaxの所定基準に合致するには、変換システムは受信データ範囲を区分化し、各セグメントを個別のチャンクとして処理するよう構成される。
当業者は、本発明の特定の実施例において、所定基準に合致するかを検証する動作713を省略し(および/または基準を「すべてのチャンク」と設定する)、したがってすべてのデータチャンクが変換システムにより変換されるよう構成されてもよいことをすぐに理解する。
与えられたデータチャンクの処理が完了した後(714または715)、圧縮システムは、インデックスセクションに記録するログ関連情報を用意する。
この変換システムはさらに、未処理論理データオブジェクトが処理されていないデータを含む場合に716をチェックし、717を繰り返して以下の1以上が達成されるまで次のデータチャンクを処理する:a)LO内の全データが処理済みとなる;b)アクティブな収容セクションに次の変換済みデータチャンクを収容するのに十分な空きスペースがない。変換システムは718でインデックスセクションを更新し、クライアント11および/またはサーバ12に確認を送り、新たなASを開始したら、保護がASレベルに提供される場合に前の収容セクションのデータへのアクセス保護を解除する。このインデックスセクションの更新は、新たなASの配置および/またはLOの閉鎖および/または他の予め定められたルールに従って、確認とほぼ並行に行われる。
図9で後述するように、アクティブな収容セクションの空きスペースが次のデータチャンクを収容するのに不十分である場合(例えば、ターゲットバッファのオーバフローで書き込み動作が失敗したり、前記空きスペースより予想されるログサイズの見積もりが大きかったり、空きスペースが処理されるデータチャンクまたはその一部のサイズより小さかったりする等)であって、LOの全データが未だ処理されていない場合、変換システムは新たな収容セクションを割り当て、新たなデータチャンクの動作719を繰り返す。すべてのデータが処理されたら、変換システムはLOのアクセス保護を解除する(この保護がLO全体にかけられている場合)。
インデックスセクションのエントリは、各収容セクションに収容されたデータの変換済み/未変換/部分的に変換済みの形式の表示を含む。この表示は、収容セクション全体および/または収容された各ログについて提供される。このヘッダは、変換済みLOの状態に対応する表示を設けてなる。本発明の特定の実施例では、この表示は、収容セクションに収容されたデータの形式に関わらず、処理が「完了」したことを示す「OFF」フラグ(または類似の表示)である。本発明の別の実施例では、「OFF」フラグは、圧縮済みLOに含まれる収容セクションのすべてが変換済み形式のデータを収容する場合にのみ;この時点でヘッダ内のフラグ(または他の表示)が「ON」に維持されるか処理が完了した特別の表示を得るまで、提供されるが、未だいくつかのデータは変換されず、あるいは部分的に変換される。
本発明の特定の実施例はさらに、1以上の収容セクションに収容された変換されていないか部分的に変換されたデータの繰り延べされた変換を具えてもよい。このような繰り延べ変換は、予め規定された/設定可能なタイムスケジュール(例えば、非ワーキング時間に)、予め規定されたイベント毎(例えば、アドミニストレータのリクエスト、予め定められ/設定可能な期間所定のLOにアクセス関連リクエストがない場合、利用可能なネットワーク帯域幅が予め規定され/設定可能な基準に合致する等)に従って提供されてもよい。
図7を参照して説明されるプロセスは、同様に既存の論理データオブジェクトの更新にも適用可能である。
本発明の特定の実施例では、基準はネガティブでもよく、例えばデータチャンクはデフォルトで所定基準(例えばデータ種別および/またはアプリケーション)に合致するまで、変換されていないか部分的に変換された形式で収容されてもよい。このような実施例の実装が、圧縮変換に関する非限定的な例として図8に示されている。
810でLOを保存するリクエストを受信したら、変換システムは811で変換済みLOのヘッダを適切な保存場所に書き込み、最初の収容セクションが処理済みデータを収容するよう割り当てる。最初のヘッダのレコードは、変換ステータスの表示を含む(例えば、変換が「処理中」であることを意味するフラグ「ON」や、任意で、変換プロセスに含まれる別のプロセス余の別のフラグ等)。この変換システムはまた、812で収容されるデータチャンクに関する情報を用意する(例えば、オフセット、データサイズ等)。変換システムはさらに、813でデータチャンクを非圧縮形式のデータを含むログとして収容セクションに書き込む。任意で、動作813の前に、変換システムは、データチャンクが書き込み前に圧縮を必要とする予め規定された基準に合致するかを検証してもよい(義務またはさらなる基準に応じて)。変換システムはさらに、収容済みデータチャンクの全体サイズがASのサイズに合致するようデータパディングを行ってもよい。
変換システムはさらに、814で未処理論理データオブジェクトが未処理データを含むかを確認し、815でインデックスセクションを更新し、クライアント11および/またはサーバ12に確認を送る。このプロセスは816で、LO内の全データが処理され1またはそれ以上の収容セクションに収容され(817、816)、これにより本発明の特定の実施例にかかる変換済み論理データオブジェクトとなるまで、次のデータに繰り返される。
インデックスセクションのログレコードは、収容されたログ内のデータの圧縮/非圧縮形式の表示を含み、同様に、この表示は収容セクション全体に提供されてもよい。変換システムは、非圧縮データを含む1またはそれ以上のASを見つけるべく収容セクションを走査し、収容データの圧縮を行い、818で圧縮データを新たに割り当てたASに収容する。古い収容セクションは818で解放され、これは図5を参照して前述されている。
図9を参照すると、本発明の特定の実施例にかかる変換済み論理データオブジェクト(LO)の書き込み動作を一般化したフローチャートが示されている。「書き込み」リクエスト90がLO内のオフセットと書き込みデータの範囲Lを特定する。変換システムは、割り当てられた収容セクションがあるかを確認し、見つからなければ、91でアクティブな収容セクションを割り当てる(最後のログを収容するAS)。さらに、変換システムは、データ幅が1のログとして変換されるオリジナルデータの予め規定された最大長Lmaxを越えないかを確認し、オフセット、長さ、および変換されるデータを含むレコードを作成し、このレコードに割り当てられたASのフラグに対応するフラグを付与し、29で前記レコードを変換する(例えば、圧縮、暗号化、圧縮&暗号化等)。特定の変換に適用可能であれば、圧縮は同じ辞書を用いて行われ、および/または暗号化は以前のデータチャンクと同じ暗号化鍵を用いて行われる。
得られるログは、最後がこのログを収容するのに十分の空きスペースを有する場合に、93でアクティブな収容セクションに書き込まれる。安全鍵に関する情報(もしあれば)(またはこの変換に伴う他の外部データ)はそれぞれログ内および/または収容セクション(例えばセクションのヘッダ)および/またはインデックスセクションに暗号化されない形式で保存される。
空きスペースが不十分である場合(例えば、目標バッファのオーバーフローで書き込み動作失敗、予想されるログサイズの見積もりが空きスペースより大きい等)、変換システムは94で新たな収容セクションを割り当てる。この新たなASの割り当ては、図5で説明したように物理位置を付与してフラグを付与することを含む。新たなASを割り当てる本発明の特定の実施例はまた、現在アクティブなAS内の前記セクションへのポインタの書き込みを含む。
アクティブなASの空きスペースがログ全体を収容するのに不十分であるが、所定の基準には合致する場合(例えば、所定サイズ以上であったり、必要なスペース全体の所定割合以上である場合等)、変換システムは95でオリジナルのチャンクを2つの部分に分割し、2つのログとして処理し、一方をアクティブなASに書き込んで他方を新たなASに書き込む。本発明の特定の実施例では、変換システムは、逆変換し(例えばアクティブなASを復号化および/または解凍する)、そうでなくてもアクティブなASに収容されるオリジナルデータの全体サイズを算出または見積もり、追加されるべきオリジナルデータのサイズを見積もり、これによりデータ全体の変換されたサイズが予め規定されたASのサイズと実質的に合致し、したがってアクティブなASを最大限埋めた分割が可能となる。
アクティブなASの空きスペースが前記基準に合致しない場合、ログ全体が96で新たな収容セクションに書き込まれる。本発明の特定の実施例では、新たなASの最初のログへの書き込みの後に、収容されるログの全体サイズがASの予め規定されたサイズと等しくなるように、前のアクティブなASが全体的および/または仮想的に最後のログの長さを「修正」したものとしてマークされる。
このログが保管場所に書き込まれた後に、変換システムは97でクライアント11および/またはサーバ12に確認を送る。98でインデクスセクションの更新が、新たなASの割り当ておよび/またはLOの閉鎖および/または他の所定のルールに従って、確認と実質的に並行して行われる。
書き込まれるデータ範囲Lが1のログとして変換されるオリジナルデータの予め規定された最大長Lmaxを越える場合、変換システムはLmaxにしたがってオリジナルデータをセグメント化し、書き込まれるデータ全部が処理され収容セクションに収容されるまで、セグメント化された各データチャンクについてプロセスを繰り返す。同様に、書き込まれるデータ範囲を受信した時間が1のログとして変換されるオリジナルデータの予め規定された受信時間Tmaxを越える場合、変換システムはデータ範囲LをTmaxにしたがってセグメント化し、セグメント化されたチャンクそれぞれについてプロセスを繰り返す。
インデックスセクションの更新は、新たなログに関するログレコードの追加と、したがって、対応する範囲に含まれるライブおよび/または古いデータに関する前のログレコードの更新を含む。この新たなログレコードは、前記ログに変換されるオリジナルのチャンクのオフセット(Pos)とサイズ(Size)に関する情報と、同様に、同定(identification)と、任意で、対応する収容セクションのフラグを含む。適切なログレコードの更新は、以下の手続にしたがって行われる:
1)インデックスセクションのすべてのログレコード(POS、Size)を見て、Pos≦Pos<Pos+Sizeの位置(Pos)を含むログレコードを探し:
a.見つかった場合に、そのログレコードを(Pos,Pos−Pos)に更新し、2)へ進む;
b.見つからない場合に、更新を終了する
2)SizeをSize−Pos−Posと比較し:
a.大きい場合に、Pos≦Pos<Pos+Sizeのすべてのログレコード(Pos,Size)を探す。これらのログレコードのなかから、最大位置をもつログレコードを探し、これを(Pos+Size,Size−(Size−Pos))に更新し、前記ログレコードの他のログを削除して更新を終了する。
b.小さい場合に、(Pos+Size,Size−(Pos+Size−Pos))のログレコードを追加して更新を終了する。
c.等しい場合、更新を終了する。
当業者は、本発明を同様に他の様々なインデックスセクション更新処理に適用してオリジナル範囲のデータとログから逆変換されるデータ間の一対一の関係を実現することを直ちに理解するであろう。例えば、この更新は以下の帰納的な処置にしたがって行われてもよい:
1)位置(Pos)とサイズ(Size)を有する新たなログレコードを用意する。
2)インデックスセクションのすべてのログレコード(Pos、Size)を見て、Pos≦Pos<Pos+Sizeの位置(Pos)を含むログレコードを探し:
a.見つかった場合に、そのログレコードを(Pos,Pos−Pos)に更新し、3)へ進む;
b.見つからない場合に、インデックステーブルに(Pos,Size)を追加し、更新を終了する
2)SizeをSize−Pos−Posと比較し:
a.大きい場合に、(Pos,Size−Pos−Pos)のログレコードを追加する。Posを新たなPos =Pos+Sizeに変更し、Sizeを新たなSize =Size−(Pos −Pos)に変更し、2)に戻る。
b.小さい場合に、ログレコード(Pos,Size)と(Pos+Size,Size−(Pos+Size−Pos)を追加し、更新を終了する。
c.等しい場合、ログレコード(Pos,Size)を追加し、更新を終了する。
本発明の特定の実施例の利点は、既に書き込まれたデータを復号化および/または解凍またはそうでなくとも逆変換することなく新たなデータを書き込むこと、および/またはそうでなくても書き込まれたデータを再書き込みすることができることにある。新たなデータのみが変換され収容され、これに伴いインデックスセクションが更新されて、変換された論理データオブジェクトを読み出す補助となるよう構成される。
図10を参照すると、本発明の特定の実施例にかかる変換済み論理データオブジェクト(LO)の読み出し動作を一般化したフローチャートが示されている。
この読み出し動作は、LO内のデータのオフセットと読み出すデータの範囲を指定した読み出しリクエスト100で開始される。変換システム16は、すべてのインデックスセクションをアドレスし(例えば、最後のセクションや現在開いているセクションから開始したり、すべてを一緒に開いたりする等)、101でこの範囲内にあるデータに関連する最後に更新されたエントリをすべて検索する。図5で詳述したように、インデックスセクション内で最後に更新されたエントリは、この範囲のデータと変換済みデータチャンク(ログ)から抽出されるライブデータ(通常更新済み)との一対一の関係を実現する。したがって、変換システムは、見つかったエントリに対応する収容セクションの一つを102で連続的に逆変換し(例えば、復号化、解凍等)、83で必要なデータを見つける。本発明の特定の実施例では、102は、読み出される範囲の一番最後にあるデータを含む収容セクションから開始される。104で、この範囲からのすべてのデータが見つかるまで次の収容セクションに動作102−103が繰り返される。見つかったデータは105でこの範囲内での順番にしたがって整列される。データが整ったら、これらは106でアプリケーションに送られる。
本発明の特定の実施例では、保存された変換済み論理オブジェクトが最適化されてもよい。この最適化は、収容セクションを走査して(例えば、インデックスセクション内を分析する等により)、古いデータが予め規定されたパーセント(例えば90%)以上の1またはそれ以上のASを検索することにより行われる。このようなASは逆変換され、ライブデータが抽出されて変換されアクティブな収容セクションに新たなログとして保存され、そして古い収容セクションが解放される。変換システムは解放された収容セクションのリストを保持し、対応する物理的な位置を新たな収容セクションを割り当てるときに使用する。図5で述べたように、新たに割り当てられたASとそのログは、古い収容セクションとは反対のフラグを有する。前記最適化は、論理オブジェクトを閉じる際、予め規定されたスケジュール毎、予め規定されたイベント等で行われる。
本発明の特定の実施例の利点は、収容セクションに含まれる情報に応じてインデックスセクションをリカバリ(および/または作成)できることである。例えば、開く論理データオブジェクトのリカバリフラグが「ON」である場合、変換システムはリカバリプロセスを開始する。このリカバリプロセスは、変換済み論理オブジェクトが1またはそれ以上のインデックスされていない収容セクション(すなわち、収容セクションが1以上のインデックスセクションに対応するレコードを有する1以上のログを有さない)を含むかを確認することから開始される。
リカバリの間、このようなインデックスされていないASのログは、最後のログから逆の順番で、反対のフラグ(すなわち、古く、解放されたASに属し古いデータを含むログ)が見つかるまで連続的に逆変換される。変換システムは、逆変換されたログに対応するエントリを作成し、これらをメモリに保存し、および/またはインデックスセクションに書き込む。これらのログは再び変換(transformed back)され(および/または、リカバリされた収容セクションが読み出しデータを含む場合は、一次的に逆変換、例えば復号化、解凍等されたまま保持される)、リカバリフラグは「OFF」に切り換えられる。
例えば、新たなログが対応するインデックスセクションのログレコードとともに作成されたが、他の適切なエントリがまだ更新されないような場合に、エラーが生じうる。このような変換済み論理オブジェクトを読み出すとき、変換システムはデータ間の不整合を検出し(この範囲の同じ地点に1より多いエントリ)、直近に更新されたエントリ(同じ範囲に関する一番最近のログに対応する)にしたがってインデックスセクションを修正する。
図11aを参照すると、具体的な読み出し時点におけるデータリクエストに応答する読み出し動作を一般化した図面である。図2−9で説明したように、新たなデータチャンクが変換され、逆変換および/またはそれ以外の既に書き込まれたデータの再書き込みを行うことなくストレージに書き込まれ、これにしたがってインデックスセクションが更新される。インデックスセクションの各エントリは、主要セクションの物理的な保存場所へのポインタ(または他のインジケータ)と、1以上のログレコードを含む。また前述したように、最後に更新されたレコードと同時に、このエントリは同じログに関する前に更新された(および/またはオリジナルの)レコードと、古いレコードと更新されたレコード間の差異の特別なマーキングとを含む。本発明の特定の実施例によると、各ログレコードは、当該ログレコードの更新時を示すタイムスタンプと、当該ログレコードに関して読み出されるデータのオフセットと長さを有するか添付されており、このエントリは同じログに関し異なるタイムスタンプを有する1またはそれ以上のログレコードを含む。このような技術の利点は、データに対して行われた変更とその時間のすべてを保有できる機能にあり、これによりユーザまたはアドミニストレータは所望の時点または時間範囲を特定ことにより履歴データにアクセスすることができる。
読み出し動作は、アクセスする時点を示し読み出されるデータのオフセットと長さをそれぞれ指定した読み出しリクエスト110から開始される。変換システム16は、すべてのインデックスセクションをアドレスし(例えば、最後のセクションや現在開いているセクションから開始したり、すべてを一緒に開いたりする等)、111で対応するエントリ、すなわちこの範囲内にあるデータに関連し指定された時間T以前のタイムスタンプを有するログレコードを具えるエントリを検索する。変換システムはさらに、112で前記対応するエントリ/ログから最後に更新されたエントリ/ログを選択し、113で選択されたエントリに対応する収容セクションの一つ連続的に逆変換し(例えば、復号化、解凍等)、114で必要なデータを見つけて、キャッシュに保存する。115で、この範囲から所望の時点に対応するデータデータのすべてが見つかるまで次の収容セクションについて113−114の動作が繰り返される。見つかったデータは116でこの範囲内での順番にしたがって整列される。データが整ったら、これらは117でアプリケーションに送られる。
同様に読み出し動作はいくつかの所望時点から同時に行われてもよい。上述した実施例はオリジナルデータの異なるバージョンの読み出しが可能であるが、オリジナルデータ範囲の各時点と逆変換後のログから読み出されるデータとの一対一の関係が保持されていることに注意されたい。
変換システムはさらに、図10で述べたものと同様の方法で、保存された変換済み論理オブジェクトを最適化してもよい。この最適化は、インデックスセクション内のエントリを分析して、1またはそれ以上の古いAS、すなわち所定基準に合致するタイムスタンプを有するデータが予め規定されたパーセント(例えば90%)以上のものを検索することにより行われる。この基準は時間に関連するもの(例えば、予め規定され、および/または予め設定された時間以前のタイムスタンプ)、オリジナルデータの同じ時間に関連するタイムスタンプの数(すなわち、タイムスタンプが3つ以上、したがって過去に変更保存がないこと)、および/または所定のイベント(例えば、保存データの完全バックアップを行う)等がある。このような古いASは逆変換され、ライブデータが抽出されて変換され、付随するタイムスタンプを保持しつつアクティブな収容セクションに新たなログとして保存され、そして古い収容セクションが解放される。前記最適化は、論理オブジェクトを閉じる際、予め規定されたスケジュール毎、予め規定されたイベント等で行われる。
図11bを参照すると、本発明の特定の実施例にかかる、タイムスタンプを有する図6bに示すインデックスセクションの概略図が示されている。
図6a−bに示されているように、オリジナルのLOを構成するデータ601−1、601−2、601−3は、連続ログ608−1、608−2、608−3に変換され、収容セクション#1に収容される。長さL4の新たなデータチャンク601−4が、オフセットCから始まるオリジナルのLOに置換し、ここで(C+L4)=E<Dである。図1bに示すインデックスセクションは、タイムスタンプを有するログレコードを有し、範囲AB(オフセットA、長さL1)を示すログレコードが11:00に収容されたログ608−1に変換され、範囲BC(オフセットB、長さL2)が11:01に収容されたログ608−2に、範囲CD(オフセットC、長さL3)が11:16に収容されたログ608−3に変換される。12:03に更新範囲CE(オフセットC、長さL4)に対応するログ608−4が収容され、その後関連するログレコードの更新が続く。したがって、ログ608−2と608−3のログレコードは12:03に更新される。この更新されたログレコードは、ログ608−2がオフセットB、長さL2に対応するライブデータを含み、ログ608−3がオフセット#、長さL3に対応するライブデータを含むことを意味する。読み出し要求が、例えば、所望時間12:30を含む場合、変換システムは12:30以下のタイムスタンプのすべてのログレコードを検索し、どのデータが所望の時点に関連するかを示す最後に更新されたレコード(608−1−1、608−2−2、608−3−2、608−42)を選択する。読み出し要求の所望時間が例えば11:10である場合、変換システムは11:10以下のタイムスタンプのログレコードを検索し、したがって最後に更新されたもの(608−1−1、608−2−1)を選択する。
図12aを参照すると、本発明の特定の実施例にかかる平文チャンク(例えば、オリジナルのチャンク、圧縮済みチャンク、それ以外の変換済みチャンク)の暗号化の非限定的な実施例を示す概略図である。図の実施例では、変換システムは、平文チャンクを固定サイズAの複数セグメントに崩し(必要な場合に、セグメントは前記固定サイズに丸められる)、チャンクの各平文セグメントを暗号化して固定サイズBの暗号化セグメントとし、必要に応じて、この暗号化セグメントを丸めて固定サイズBとする。図の実施例では、A=B=16バイトである。丸める際に、変換システムはデータセグメントのサイズ要求を満たすようパディングデータを入れる(例えば、ランダムキャラクタ、ブランク、ゼロ、ヌル)。このような実施例では、収容セクションのサイズは固定サイズBの倍数となる。
図3−6に詳細に示すように、同じ収容セクションに収容されたログは、同じ安全鍵を用いて暗号化される。このセキュリティは、例えば初期化ベクトル(initialization vector:IV)など異なるログで追加の暗号変化を導入するとさらに向上する。この初期化ベクトルは、平文ブロックシーケンスの暗号化の初期化アルゴリズムとして用いられる秘密でない連続変数である。したがって、本発明の特定の実施例では、変換システムは圧縮済みチャンクを暗号化したログへと暗号化するための安全鍵とともに用いる初期化ベクトルを取得する(例えば、ランダムナンバーとして生成する)よう構成されている。このIVは、各ログのヘッダに収容されている。
非限定的な実施例では、変換システムは、合衆国全国科学技術情報システム(NIST)によりこの分野で知られる改良暗号化基準(Advanced Encryption Standard:AES)を実装してもよい。このAESアルゴリズムは、128、192、256ビットの暗号化キーを用いて、128ビットのブロックデータを暗号化/復号化することができる。この分野で知られるように、AESアルゴリズムの特定のモードは、暗号化キーでの暗号化の前に、最初のチャンクに線形に追加(XOR)されるか平文の前に含まれる初期化ベクトル(IV)を用いることができる。したがって、変換システムは、各収容セクションの最初のログ用に初期化ベクトルを生成(例えばランダムに)し、さらにXOR動作を適用することにより連続ログにIVを生成可能に構成される。
収容セクションは暗号化/復号化動作の原子要素として作用するため、最初のIVと安全鍵に関する情報は、特定の実施例では、収容セクションのヘッダに保持され、ログのヘッダに収容される必要がない。
図12aの非限定的な例に示すように、平文チャンク(例えばオリジナルのチャンク、圧縮済みチャンク、それ以外の変換チャンク等)1201−1(サイズ33バイト)、1201−2(サイズ50バイト)、および1201−3(サイズ17バイト)は、同じ鍵を用いて各連続ログ1207−1(サイズ48バイト、15バイトのパディングデータ+ヘッダを含む)、1207−2(サイズ64バイト、14バイトのパディングデータ+ヘッダを含む)、および1207−3(サイズ32バイト、15バイトのパディングデータ+ヘッダを含む)へと暗号化され、収容セクション1205−1に収容される。図示するように、ログ内の暗号化データのサイズは、16の倍数となるように丸められる。各ログは、各ログに暗号化されたオリジナルデータの実際のサイズに関する情報と、任意で、各初期化ベクトルと暗号化する前のチャンクのサイズ(オリジナルのチャンクと異なる場合)とを(例えばログヘッダ内に)有する。この暗号鍵と最初の初期化ベクトルに関する情報は収容セクション(例えばASヘッダ)、および/またはインデックスセクションおよび/または変換済み論理データオブジェクトのヘッダ1204に保存される。
図12bに示す本発明の特定の実施例によると、平文チャンク1201−1(サイズ33バイト)、1201−2(サイズ50バイト)、および1201−3(サイズ17バイト)は、図12aと同じ暗号化エンジンにより暗号化されるが、暗号化ログ内のパディングデータを実質的に排除しうる方法でなされる。最初の平文チャンクは2つの部分に分割され、第1の部分を以降に「プライマリデータ」と称し、これはオフセットから開始しデータセグメントサイズ要求(例えば16バイトの倍数)を満たす連続データを含み、第2の部分は前記セグメントサイズ以下の残りのデータであって、以降は「テイルデータ」と称する(図の実施例では16バイト以下)。第1の部分は、図3−6に記載した方法で暗号化され収容セクションに収容され、各ログを以降に「プライマリログ」と称する。テイルデータの第2の部分は別の連続チャンクとして処理され、1つのログ(以降は「テイルログ」と称す)として暗号化形式で(または暗号化せずに)収容セクションに収容される。この収容セクションのログ1221は、分割チャンク1211に対応しており、太字イタリック体の数字はそれぞれのデータサイズを示す。
次のチャンクを処理するとき、暗号化システムは、テイルログから平文のテイルデータを取得し、このテイルデータを前記次のチャンクの最初に追加し、生成した組み合わせを上述の方法でプライマリデータとテイルデータに分割し、その後プライマリログ内のプライマリデータとテイルログ内のテイルデータを同じ安全鍵を用いて暗号化する。新たなプライマリログは、前のプライマリログの後の位置に収容される。ログに収容される平文データの合計の実際のサイズは、それぞれ更新される(この実施例では83バイト)。各平文データの合計の実際のサイズは、収容セクションおよび/または暗号化した論理データオブジェクトのヘッダに保存され維持される。プライマリログの暗号化データのサイズが平文プライマリデータのサイズと等しいため、各平文データの実際のサイズに関する情報をログ内に保持する必要がない。安全鍵と最初の初期化ベクトルに関する情報は、暗号化セクション(例えばASヘッダ)および/またはインデックスセクションおよび/または暗号化論理データオブジェクトのヘッダ1204に保存される。
このプロセスは、収容セクションに十分な収容スペースがあるまでそれぞれ次のチャンクに繰り返され、例えば収容セクションのログ1222はチャンク1211および分割チャンク1212に対応し、一方でプライマリログ1232は前のプライマリログ1231の続きとして位置づけられる。収容セクションのログ1223は、チャンク1211、チャンク1212、および分割チャンク1213に対応し、一方でプライマリログ1233は前のプライマリログ1232の続きとして位置づけられる。したがって、収容セクションは、1(またはゼロ)のテイルログが続くプライマリログのシーケンスを具える。
保存される平文チャンクを暗号化ログとして処理する方法は、同様の方法で暗号化チャンクを連続的な収容を含むストレージの論理データオブジェクトの暗号化方法およびシステムにも適用可能であることに留意されたい。
図13は、本発明の特定の実施例にかかる変換システム16の概略機能ブロック図である。この変換システムは、セッションマネージャ132に接続されたクライアント入出力(I/O)ブロック131を具える。このI/Oブロックは、データアクセス関連リクエスト(例えば、読み出し、書き込み、ファイル端部設定/トランケート等)を受け、これをセッションマネージャに送る。
あるセッションは、論理データオブジェクトへのアクセス要求(例えば、SCSI LUN容量リクエストコマンドのようなLUN容量リクエスト、オープンファイルリクエスト等)により開始し、同じIPアドレス(ユーザ)から遮断リクエストを受けると終了する(例えば、「LUNディスコネクト」、「ファイルクローズ」等)。セッションマネージャ132は、このセッションのプライベートデータのすべて、例えばソースセッションアドレス、セッションカウンタ、セッションステータス、使用バッファのすべて等を保持する。セッションマネージャはまた、論理データオブジェクトが開かれたときにすべての関連リソースをブロックし、前記リソースを分離すべく遮断する。セッションマネージャは、当該セッションマネージャに機能的に接続されたディスパッチャ133にすべてのリクエストを転送する。このディスパッチャ133は論理データオブジェクトマネージャ134と、バッファマネージャ135と、変換ユニット136とに機能的に接続している。本発明の特定の実施例によると、ディスパッチャ133は、データ関連トランザクション(例えば読み出し、書き込み、ファイル端部設定等)について論理データオブジェクトマネージャ134と通信し、変換動作について変換ユニット136と通信する。
変換ユニットは、データを圧縮、暗号化、および/またはそれ以外の変換し、これらをストレージI/O138を通して物理ディスクに送り、同様にストレージI/Oを通して物理ディスクからデータを読み出し、各バッファを逆変換(復号化および/または解凍)し、任意で、オリジナルおよび/または部分的に変換されたデータチャンクをさらに処理するためにセグメント化し、および/または組み合わせることができる。この変換ユニットは、所定の変換動作について1またはそれ以上の変換ブロックを具えてもよく(例えば、暗号化/復号化ブロック136−2に機能的に接続された圧縮−解凍ブロック136−1)、前記ブロック間でデータ転送および必要な同期を実現すべく構成されている。この変換ユニットはまた、「容量ステータス」に応答して、オリジナルの論理データオブジェクトのサイズ(およびストレージの空き容量)を報告するよう構成されている。
変換ユニット136はまた、変換プロセスに含まれるデータに関する外部情報を保存する1またはそれ以上の外部プラットフォームと通信し(例えば、鍵および/またはそのメタデータを受け取るための安全鍵等)、これらの情報を受信し、必要なデータ(例えば鍵IDを抽出あるいは生成してこれらを管理するよう構成されている。受信した情報は一次的に、変換システム内の信頼されたメモリに収容され、変換ユニットのブロックは前記情報の管理を実行してもよい(例えば、特定のポリシーにしたがって特定期間前記メモリに所定の鍵を収容する管理)。本発明の特定の実施例では、暗号化/復号化ブロック136−2はさらに、暗号化に用いる1またはそれ以上の暗号初期化ベクトルを生成してもよい(例えば安全鍵と一緒に)。
論理データオブジェクトマネージャ134は、異なる論理データオブジェクトおよびその部分による命令とメモリシェアリングを担う。
バッファマネージャ135は、メモリバッファリソースを管理し、他のブロックの動作用のメモリバッファの割り当ておよび解放を担当する。変換システムはさらに、前記セッションマネージャに結合された保全マネージャ137と、バッファマネージャと、データブロックマネージャとを具える。この保全マネージャは、例えば論理データオブジェクトの完全性を維持等するように、変換システムの全プロセスの同期と通常管理を担当する。これはまた、メモリバッファからストレージ物理I/Oインタフェース138を通した物理ディスクへのフラッシングと、必要な場合にディスクからの読み出しを担当する。
当業者であれば、本発明は図13の構成に限定されるものではなく、他の方法で同等および/または変更した機能を併合するか分割し、ソフトウェア、ファームウェア、ハードウェア、またはその様々な組み合わせで実現しうることを直ちに理解するであろう。
本発明は、本明細書の説明および図面に記載された応用例に限定されるものではない。本発明は、他の実施例に適用可能であり、様々な方法で実践され実現されうるものである。したがって、本書における語句および用語は説明目的であって、限定として認識されるべきではないことに注意すべきである。これにより、当業者はこの開示の基になる理念を、本発明の様々な目的を実現するための他の構造、方法、およびシステムの設計の礎とすることができる。
また、本発明のシステムは適切にプログラムされたコンピュータであってもよい。同様に、本発明は、本発明の方法を実行するコンピュータ読み取り可能なコンピュータプログラムをも企図している。本発明はさらに、本発明の方法を実行する機械実行型の命令のプログラムを具現的に有する機械読み取り可能なメモリを企図している。
当業者は、添付のクレームに規定された範囲を逸脱することなく、上述した本発明の実施例に様々な変更や変化を施すことができることを理解するであろう。

Claims (26)

  1. 1以上のストレージプロトコルで動作するストレージ装置に保存すべく平文の論理データオブジェクトを暗号化する方法であって、
    a)各リクエストに応じて、ヘッダと1以上の予め規定されたサイズに割り当てられた暗号化セクションとを具える暗号化された論理データオブジェクトを前記ストレージ装置内に作成するステップと
    b)1またはそれ以上の連続的に取得される、前記平文の暗号化された論理データオブジェクトに対応する平文データのチャンクを処理して処理済みデータチャンクを生成するステップであって、前記処理済みデータチャンクは前記処理の結果である暗号化データを含むステップと、
    c)前記処理済みデータチャンクを、前記チャンクが受け取られた順番に従って前記暗号化セクションに連続的に収容するステップと、
    d)前記平文の論理データオブジェクトと前記暗号化セクションに収容されたデータ間のマッピングを行うステップとを具え、
    同じ暗号化セクションに収容されたデータチャンクは同じ安全鍵の補助で暗号化され、異なる暗号化セクションに収容されたデータチャンクは、異なる安全鍵の補助で暗号化されることを特徴とする方法。
  2. 請求項1記載の方法において、前記マッピングは、前記暗号化された論理データオブジェクトの一部を構成する1以上のインデックスセクションの補助で提供され、
    前記インデックスセクションは、1以上の暗号化セクションに収容された処理済みデータチャンクと、前記暗号化セクションに関する物理的な保存場所のインジケーションとに関する情報を少なくとも有する1以上のエントリを具えることを特徴とする方法。
  3. 請求項1記載の方法において、前記予め規定されたサイズは、すべての暗号化セクションで等しいことを特徴とする方法。
  4. 請求項1記載の方法において、前記暗号化セクションのサイズは、所定基準にしたがって予め定められたサイズのリストから選択されることを特徴とする方法。
  5. 請求項1記載の方法において、前記暗号化は
    a)平文のデータチャンク内のデータを、平文の固定サイズのセグメントに分解するステップと、
    b)前記平文のデータチャンクのセグメントの各々を、固定サイズの暗号化セグメントに暗号化するステップであって、当該暗号化セグメントは対応する暗号化データチャンクを構成しているステップと、を含むことを特徴とする方法。
  6. 請求項1記載の方法において、前記暗号化は
    a)1以上の初期の初期化ベクトルを取得するステップと、
    b)前記平文のチャンクを、初期の初期化ベクトルおよび/またはその派生物と組み合わせた安全鍵の補助で暗号化するステップと、を含むことを特徴とする方法。
  7. 請求項1記載の方法において、暗号化された論理データオブジェクトのヘッダが、当該暗号化された論理データオブジェクトのユニークな記述子と、前記平文の論理データオブジェクトのサイズに関する情報を含むことを特徴とする方法。
  8. 請求項1記載の方法において、前記暗号化セクションがさらに、当該セクションのユニークな識別子を含むヘッダを具えることを特徴とする方法。
  9. 請求項1記載の方法において、前記処理済みデータチャンクはログ形式で収容されることを特徴とする方法。
  10. 請求項記載の方法において、処理済みデータチャンクのログは、平文の論理データオブジェクト内の平文のデータチャンクのオフセットに関する情報を含むログヘッダと、前記平文のチャンクのサイズと、前記ログとこのログを収容する暗号化セクションを結びつける識別子とを具えることを特徴とする方法。
  11. 請求項記載の方法において、前記暗号化された論理データオブジェクトは1以上のインデックスセクションを具え、当該セクションは1以上の暗号化されたセクションに関連する1以上のエントリを具え、前記エントリは前記暗号化されたセクションの物理的な保存場所への1以上のインジケータと前記暗号化されたセクションに収容される各ログに関する1以上のログレコードとを具え、さらに前記平文の論理データオブジェクトと前記暗号化されたセクションに収容されたデータ間のマッピングを実現する情報を具えることを特徴とする方法。
  12. 請求項1記載の方法において、各暗号化されたセクションは、前記暗号化されたセクションのそれぞれの物理的な位置の使用/再使用状態を示すフラグを伴い、各処理済みデータチャンクは、当該チャンクを収容する暗号化されたセクションと同じフラグを伴うことを特徴とする方法。
  13. 請求項2記載の方法において、1以上のインデックスセクションが、実質的に前記暗号化された論理データオブジェクトの作成時に作成されることを特徴とする方法。
  14. 請求項2記載の方法において、1以上のインデックスセクションが、1以上の暗号化されたセクションを割り当てた所定時間後であるが前記論理データオブジェクトを閉じる前に作成されることを特徴とする方法。
  15. 請求項2記載の方法において、前記暗号化された論理データオブジェクトのヘッダが、最初のインデックスセクションへのインジケータを具え、各インデックスセクションが次に続くインデックスセクションがある場合にそれへのインジケータを具えることを特徴とする方法。
  16. 請求項1の方法の各ステップを実行するよう構成されたことを特徴とする、ストレージネットワークで動作する通信機器。
  17. 請求項1の方法の各ステップを実行するよう構成されたことを特徴とする、ストレージネットワークで動作するストレージ装置。
  18. システムに直列形式で機能的に接続されたストレージ装置に平文の論理データオブジェクトを保存すべく暗号化しうるシステムであって、前記保存データに対し透過ブリッジとして動作するとともに、請求項1の方法の各ステップを実行するよう構成されたことを特徴とするシステム。
  19. 請求項1の方法に従って作成される暗号化された論理データオブジェクトにデータ範囲を書き込む方法であって
    a)各リクエストに応じて、前記データ範囲に対応する平文データの1またはそれ以上の連続的に取得されるチャンクを処理するステップであって、ここで処理されるデータチャンクの1以上が前記処理により得られる暗号化されたデータを含むステップと、
    b)前記処理済みデータチャンクを、これらとその前に受け取ったチャンクの順番に従って連続的に収容するステップと、
    c)前記マッピングを、前記データ範囲内のデータと前記暗号化された論理オブジェクトに収容された前記データチャンクから読み出されるデータとの一対一の関係を実現する方法で更新するステップとを具えることを特徴とする方法。
  20. 請求項19記載の方法において、アクティブな暗号化されたセクションに含まれる空きスペースに依存して、新たなデータチャンクがアクティブな暗号化されたセクションおよび/または新たな暗号化されたセクションに収容されることを特徴とする方法。
  21. 請求項19記載の方法において、前記マッピングを更新するステップが
    a)すべての新規なデータチャンクに関する情報を追加するステップであって、前記情報は平文の各データチャンクのオフセットとサイズに関するステップと、
    b)前記データ範囲に対応するデータのライブおよび/または古いかに関する前に取得された情報を更新するステップとを具えることを特徴とする方法。
  22. 請求項2記載の方法に従って作成される暗号化された論理オブジェクトからデータ範囲を読み出す方法であって、
    a)各リクエストに応じて、前記範囲内のデータに関するインデックスセクション内で作成されおよび/または最後に更新されたすべてのエントリを検出するステップと
    b)前記検出されたエントリに対応する前記暗号化されたセクションの1つを復号し、前記エントリから提供されるマッピングに応じて読み出すべきデータを抽出するステップと
    c)前記範囲からすべてのデータを抽出するまで、前記検出されたエントリに対応する1またはそれ以上の暗号化されたセクションについてステップb)を繰り返すステップと
    d)前記抽出したデータを前記範囲における順番にしたがって配列するステップとを具えることを特徴とする方法。
  23. 請求項2記載の方法において、1またはそれ以上のインデックスセクションが、1またはそれ以上の暗号化されたセクションに含まれる情報を用いて作成されることを特徴とする方法。
  24. 請求項1記載の方法がさらに、暗号化された論理データオブジェクトを最適化するステップを具え、当該最適化するステップは、
    a)所定のパーセント以上の古いデータを含む1またはそれ以上の暗号化されたセクションを特定し、古い暗号化されたセクションとするステップと
    b)前記特定された古いセクションを復号化してライブデータを抽出するステップと
    c)前記抽出したライブデータを暗号化して1またはそれ以上の新たな処理済みチャンクとしてアクティブな暗号化されたセクションに連続的に収容するステップと
    d)前記古い暗号化されたセクションを前記暗号化された論理データオブジェクトから解放するステップとを具えることを特徴とする方法。
  25. 請求項11記載の方法に従って作成される暗号化された論理データオブジェクトをリカバリする方法であって
    a)論理データオブジェクトを開くときにリカバリステータスを認識したらリカバリ処理を開始するステップと
    b)暗号化された論理オブジェクトを1またはそれ以上のマッピングされていない暗号化されたセクションを検出すべく検証するステップであって、前記マッピングされていない暗号化されたセクションは1以上のマッピングされていない処理済みデータチャンクを具えるステップと
    c)最後に処理されたデータチャンクから開始して反対のフラグのデータチャンクが見つかるまで、前記マッピングされていない暗号化されたセクションに含まれる前記処理済みデータチャンクを逆の順序で連続的に解読するステップと
    d)解凍された前記処理済みデータチャンクに対応する1またはそれ以上のエントリでインデックスセクションを作成するステップと
    e)前記解凍されたチャンクを再び処理してリカバリ成功の表示を提供するステップとを具えることを特徴とする方法。
  26. 少なくとも1のストレージプロトコルで動作するストレージ装置内に平文の論理データオブジェクトを保存すべく暗号化しうるシステムであって
    a)ヘッダと1以上の予め規定されたサイズに割り当てられた暗号化されたセクションとを具える暗号化された論理データオブジェクトを前記ストレージ装置内に作成する手段と
    b)暗号化された圧縮論理データオブジェクトに対応する1またはそれ以上の取得される多様なサイズの平文データのチャンクを暗号化して暗号化されたデータチャンクを連続的に処理する手段であって、前記処理済みデータチャンクの1以上は前記処理で得られる暗号化されたデータを含む手段と
    c)前記処理済みデータチャンクを、前記チャンクが収容のために受け取られた順番に従って前記暗号化されたセクションに連続的に収容する手段と、
    d)前記平文の論理データオブジェクトと前記暗号化されたセクションに収容されたデータ間のマッピングを行う手段とを具え
    同じ暗号化セクションに収容されたデータチャンクは同じ安全鍵の補助で暗号化され、異なる暗号化セクションに収容されたデータチャンクは、異なる安全鍵の補助で暗号化されることを特徴とするシステム。
JP2013010628A 2006-05-31 2013-01-23 ストレージ用論理データオブジェクトの変換方法およびシステム Active JP5623561B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US80938206P 2006-05-31 2006-05-31
US60/809,382 2006-05-31
US81936906P 2006-07-10 2006-07-10
US60/819,369 2006-07-10
US83416506P 2006-07-31 2006-07-31
US60/834,165 2006-07-31
US90478207P 2007-03-05 2007-03-05
US60/904,782 2007-03-05

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009512773A Division JP5431148B2 (ja) 2006-05-31 2007-05-31 ストレージ用論理データオブジェクトの変換方法およびシステム

Publications (2)

Publication Number Publication Date
JP2013127802A JP2013127802A (ja) 2013-06-27
JP5623561B2 true JP5623561B2 (ja) 2014-11-12

Family

ID=38779096

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2009512773A Active JP5431148B2 (ja) 2006-05-31 2007-05-31 ストレージ用論理データオブジェクトの変換方法およびシステム
JP2013010629A Active JP5623562B2 (ja) 2006-05-31 2013-01-23 ストレージ用論理データオブジェクトの変換方法およびシステム
JP2013010628A Active JP5623561B2 (ja) 2006-05-31 2013-01-23 ストレージ用論理データオブジェクトの変換方法およびシステム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2009512773A Active JP5431148B2 (ja) 2006-05-31 2007-05-31 ストレージ用論理データオブジェクトの変換方法およびシステム
JP2013010629A Active JP5623562B2 (ja) 2006-05-31 2013-01-23 ストレージ用論理データオブジェクトの変換方法およびシステム

Country Status (5)

Country Link
US (26) US9176975B2 (ja)
EP (3) EP2033128A4 (ja)
JP (3) JP5431148B2 (ja)
CA (1) CA2654395C (ja)
WO (5) WO2007138601A2 (ja)

Families Citing this family (269)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
EP1825412A1 (en) 2004-10-25 2007-08-29 Rick L. Orsini Secure data parser method and system
US7783896B2 (en) * 2005-09-06 2010-08-24 Research In Motion Limited System and method for management of plaintext data in a mobile data processing device
BRPI0618725A2 (pt) 2005-11-18 2011-09-06 Rick L Orsini método analisador de dados seguro e sistema
US9176975B2 (en) 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US8200959B2 (en) 2007-06-28 2012-06-12 Cisco Technology, Inc. Verifying cryptographic identity during media session initialization
US8170989B2 (en) * 2007-07-16 2012-05-01 International Business Machines Corporation Method and system for document management and exchange
FR2919739B1 (fr) * 2007-08-03 2009-12-04 Oberthur Card Syst Sa Procede de traitement de donnees protege contre les attaques par generation de fautes et dispositif associe
US8417942B2 (en) * 2007-08-31 2013-04-09 Cisco Technology, Inc. System and method for identifying encrypted conference media traffic
US8837598B2 (en) * 2007-12-28 2014-09-16 Cisco Technology, Inc. System and method for securely transmitting video over a network
US20090169001A1 (en) * 2007-12-28 2009-07-02 Cisco Technology, Inc. System and Method for Encryption and Secure Transmission of Compressed Media
US7793001B2 (en) * 2008-05-09 2010-09-07 Microsoft Corporation Packet compression for network packet traffic analysis
JP5346933B2 (ja) * 2008-06-04 2013-11-20 パナソニック株式会社 暗号化装置及び暗号化システム
WO2010038019A2 (en) * 2008-09-30 2010-04-08 Clearpace Software Limited System and method for data storage
EP2349363B1 (en) * 2008-10-09 2018-12-05 MiMedx Group, Inc. Methods of making biocomposite medical constructs and related constructs including artificial tissues, vessels and patches
KR101174057B1 (ko) * 2008-12-19 2012-08-16 한국전자통신연구원 인덱스 분석장치와 인덱스 검색장치 및 그 방법
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
US7987162B2 (en) * 2009-03-06 2011-07-26 Bluearc Uk Limited Data compression in a file storage system
US8179291B2 (en) 2009-05-04 2012-05-15 International Business Machines Corporation Method and system for compression of logical data objects for storage
WO2011013125A1 (en) 2009-07-27 2011-02-03 Storwize Ltd. Method and system for transformation of logical data objects for storage
CN102004745B (zh) * 2009-09-02 2013-06-12 中国银联股份有限公司 数据转移系统及方法
US8346787B1 (en) * 2009-09-15 2013-01-01 Symantec Corporation Method and apparatus for continuous data protection
US8510275B2 (en) * 2009-09-21 2013-08-13 Dell Products L.P. File aware block level deduplication
US9439633B2 (en) 2009-10-09 2016-09-13 Flip Technologies Limited Device and a method for facilitating monitoring the cross-section of a gastric sleeve during formation thereof
US8849966B2 (en) * 2009-10-13 2014-09-30 Hitachi, Ltd. Server image capacity optimization
US8538027B2 (en) * 2009-10-16 2013-09-17 Brocade Communications Systems, Inc. Storage of keyID in customer data area
JP5222823B2 (ja) * 2009-10-20 2013-06-26 株式会社日立製作所 アクセスログ管理方法
ES2620962T3 (es) 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US8484256B2 (en) 2010-01-13 2013-07-09 International Business Machines Corporation Transformation of logical data objects for storage
US8868575B2 (en) 2010-01-13 2014-10-21 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US9003110B2 (en) 2010-01-13 2015-04-07 International Business Machines Corporation Dividing incoming data into multiple data streams and transforming the data for storage in a logical data object
AU2011235075B2 (en) 2010-03-31 2015-10-01 Security First Corp. Systems and methods for securing data in motion
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8700842B2 (en) * 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
US8595493B2 (en) * 2010-04-13 2013-11-26 Microsoft Corporation Multi-phase storage volume transformation
CN103238305A (zh) 2010-05-28 2013-08-07 安全第一公司 用于安全数据储存的加速器系统
US8666939B2 (en) 2010-06-28 2014-03-04 Sandisk Enterprise Ip Llc Approaches for the replication of write sets
EP2612443A1 (en) * 2010-09-03 2013-07-10 Loglogic, Inc. Random access data compression
EP2651072A3 (en) 2010-09-20 2013-10-23 Security First Corp. Systems and methods for secure data sharing
US8595268B2 (en) * 2010-09-28 2013-11-26 Garantia Data Ltd. System, methods, and media for compressing non-relational database objects
DE102011010613B4 (de) 2011-02-08 2020-09-10 Fujitsu Ltd. Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US8862537B1 (en) * 2011-06-30 2014-10-14 Sumo Logic Selective structure preserving obfuscation
US9158940B1 (en) * 2011-07-19 2015-10-13 Open Invention Network, Llc Dynamic virtual storage creation and provisioning of virtual machine resources
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
US8898244B2 (en) * 2011-10-20 2014-11-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
US20130100334A1 (en) * 2011-10-20 2013-04-25 Broadcom Corporation Method and System for an Adaptive Auto-Focus Algorithm
US9183212B2 (en) 2012-01-26 2015-11-10 Upthere, Inc. Representing directory structure in content-addressable storage systems
US9052824B2 (en) 2012-01-26 2015-06-09 Upthere, Inc. Content addressable stores based on sibling groups
US9075834B2 (en) 2012-01-26 2015-07-07 Upthere, Inc. Detecting deviation between replicas using bloom filters
US9020912B1 (en) * 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US9152811B2 (en) 2012-03-12 2015-10-06 International Business Machines Corporation Transparent real-time access to encrypted non-relational data
US10311513B2 (en) * 2012-03-14 2019-06-04 Nasdaq Technology Ab Method and system for facilitating access to recorded data
US20130246376A1 (en) * 2012-03-16 2013-09-19 Infosys Limited Methods for managing data intake and devices thereof
US9092530B1 (en) * 2012-04-05 2015-07-28 Netapp, Inc. Systems and methods for rapidly provisioning virtual storage objects
US8744078B2 (en) * 2012-06-05 2014-06-03 Secure Channels Sa System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
US9436815B2 (en) * 2012-07-12 2016-09-06 Xsette Technology, Inc. Block management unification system and method
US9779027B2 (en) * 2012-10-18 2017-10-03 Oracle International Corporation Apparatus, system and method for managing a level-two cache of a storage appliance
US9772949B2 (en) * 2012-10-18 2017-09-26 Oracle International Corporation Apparatus, system and method for providing a persistent level-two cache
US8959301B2 (en) 2012-11-09 2015-02-17 International Business Machines Corporation Accessing data in a storage system
WO2014075050A1 (en) * 2012-11-12 2014-05-15 CRAM Worldwide, Inc. Systems and methods of transmitting data
US20140181438A1 (en) * 2012-12-21 2014-06-26 Commvault Systems, Inc. Filtered reference copy of secondary storage data in a data storage system
US9703794B2 (en) * 2013-01-02 2017-07-11 International Business Machines Corporation Reducing fragmentation in compressed journal storage
US9424267B2 (en) * 2013-01-02 2016-08-23 Oracle International Corporation Compression and deduplication layered driver
KR101992274B1 (ko) 2013-01-02 2019-09-30 삼성전자주식회사 데이터 압축 방법과 상기 방법을 수행할 수 있는 장치들
EP2956887A1 (en) 2013-02-13 2015-12-23 Security First Corp. Systems and methods for a cryptographic file system layer
US9959070B2 (en) * 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units
US9805046B2 (en) 2013-03-14 2017-10-31 International Business Machines Corporation Data compression using compression blocks and partitions
US9411983B2 (en) * 2013-03-15 2016-08-09 Intel Corporation Apparatus and method to protect digital content
US9697372B2 (en) * 2013-03-19 2017-07-04 Raytheon Company Methods and apparatuses for securing tethered data
US9712324B2 (en) 2013-03-19 2017-07-18 Forcepoint Federal Llc Methods and apparatuses for reducing or eliminating unauthorized access to tethered data
JP6211818B2 (ja) * 2013-06-11 2017-10-11 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム
US10262000B1 (en) * 2013-06-19 2019-04-16 Emc Corporation Global distributed file append using log-structured file system
US9053112B2 (en) 2013-07-17 2015-06-09 Bank Of America Corporation Automated data validation
JP2015072629A (ja) * 2013-10-03 2015-04-16 富士通株式会社 データ処理プログラム及びデータ処理方法
US9729327B2 (en) 2013-10-29 2017-08-08 International Business Machines Corporation Computer-based optimization of digital signature generation for records based on eventual selection criteria for products and services
US10187358B2 (en) * 2013-12-03 2019-01-22 Amazon Technologies, Inc. Data transfer optimizations
US9679160B1 (en) * 2014-01-13 2017-06-13 Symantec Corporation Systems and methods for maintaining encrypted search indexes on third-party storage systems
CN105046162B (zh) * 2014-03-12 2018-07-27 西部数据技术公司 在内容可寻址存储系统中维护并使用子对父映射的缓存
US20150347966A1 (en) * 2014-05-31 2015-12-03 Hartford Fire Insurance Company Meeting management and project management element reconciliation
US9779101B2 (en) 2014-07-14 2017-10-03 Secured2 Corporation Data conversion device
US9779148B2 (en) 2014-07-14 2017-10-03 Secured2 Corporation Data conversion system
US9779100B2 (en) 2014-07-14 2017-10-03 Secured2 Corporation Data conversion method
US9917894B2 (en) 2014-08-06 2018-03-13 Quest Software Inc. Accelerating transfer protocols
US9984093B2 (en) 2014-08-06 2018-05-29 Quest Software Inc. Technique selection in a deduplication aware client environment
US10459886B2 (en) 2014-08-06 2019-10-29 Quest Software Inc. Client-side deduplication with local chunk caching
US9990352B2 (en) * 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US9397833B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
US9397832B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
US10223379B2 (en) * 2014-09-04 2019-03-05 International Business Machines Corporation Parallel processing of a keyed index file system
WO2016068829A1 (en) * 2014-10-26 2016-05-06 Hewlett Packard Enterprise Development Lp Processing a query using transformed raw data
EP3215927A4 (en) 2014-11-03 2018-07-04 Secured2 Corporation Secured data storage on a hard drive
US10031679B2 (en) 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
US20160239531A1 (en) * 2015-02-13 2016-08-18 Meenakshi Sundaram P Integrated framework for data management and provisioning
US20160378352A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Efficient solid state drive data compression scheme and layout
US10003669B2 (en) * 2015-07-28 2018-06-19 DISH Technologies L.L.C. Methods and apparatus to create and transmit a condensed logging data file
US20170068458A1 (en) * 2015-09-03 2017-03-09 Qualcomm Incorporated Hardware-accelerated storage compression
CN105302853A (zh) * 2015-09-17 2016-02-03 浪潮(北京)电子信息产业有限公司 一种实现数据重构的方法和装置
JP6679874B2 (ja) 2015-10-09 2020-04-15 富士通株式会社 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法
US10936225B1 (en) * 2015-11-06 2021-03-02 Amazon Technologies, Inc. Version history of files inside a backup
US11048424B1 (en) * 2015-11-06 2021-06-29 Amazon Technologies, Inc. File extraction out of a backup
US10120915B2 (en) * 2015-11-26 2018-11-06 Sap Se Integrated framework for secured data provisioning and management
US10803018B2 (en) * 2015-12-16 2020-10-13 International Business Machines Corporation Compressed data rearrangement to optimize file compression
US11121867B2 (en) * 2016-02-19 2021-09-14 Micro Focus Llc Encryption methods based on plaintext length
JP2019509091A (ja) * 2016-03-04 2019-04-04 カリフォルニア インスティチュート オブ テクノロジー 動脈内の阻害と閉塞とを貫通する静的ワイヤ機構
US10546138B1 (en) 2016-04-01 2020-01-28 Wells Fargo Bank, N.A. Distributed data security
US11336294B2 (en) * 2016-06-10 2022-05-17 Apple Inc. Hybrid, adaptive virtual memory compression
CN106168919A (zh) * 2016-07-06 2016-11-30 浪潮电子信息产业股份有限公司 一种数据库备份方法、装置及系统
US10523244B2 (en) * 2016-08-11 2019-12-31 Zebware Ab Device and associated methodoloy for encoding and decoding of data for an erasure code
CN107818118B (zh) * 2016-09-14 2019-04-30 北京百度网讯科技有限公司 数据存储方法和装置
US10133505B1 (en) * 2016-09-29 2018-11-20 EMC IP Holding Company LLC Cooperative host and data storage system services for compression and encryption
CN107885612B (zh) * 2016-09-30 2020-02-21 华为技术有限公司 数据处理方法和系统及装置
US10180891B2 (en) 2016-11-02 2019-01-15 Sap Se Monitoring processes running on a platform as a service architecture
US10268566B2 (en) 2016-11-04 2019-04-23 Sap Se Debugging in a private cloud environment
US10410014B2 (en) 2017-03-23 2019-09-10 Microsoft Technology Licensing, Llc Configurable annotations for privacy-sensitive user content
US10380355B2 (en) 2017-03-23 2019-08-13 Microsoft Technology Licensing, Llc Obfuscation of user content in structured user data files
US10671753B2 (en) 2017-03-23 2020-06-02 Microsoft Technology Licensing, Llc Sensitive data loss protection for structured user content viewed in user applications
KR101987025B1 (ko) * 2017-05-31 2019-06-10 삼성에스디에스 주식회사 암호화 처리 방법 및 그 장치
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
FR3070775B1 (fr) * 2017-09-04 2019-08-23 Vsora Allocation dynamique utilisant plusieurs piles
US11947489B2 (en) 2017-09-05 2024-04-02 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
CN107818594A (zh) * 2017-09-06 2018-03-20 北京矩阵空间科技有限公司 三维模型文件格式系统及读取方法
US10579276B2 (en) 2017-09-13 2020-03-03 Robin Systems, Inc. Storage scheme for a distributed storage system
US10452267B2 (en) 2017-09-13 2019-10-22 Robin Systems, Inc. Storage scheme for a distributed storage system
US10430105B2 (en) 2017-09-13 2019-10-01 Robin Systems, Inc. Storage scheme for a distributed storage system
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10423344B2 (en) 2017-09-19 2019-09-24 Robin Systems, Inc. Storage scheme for a distributed storage system
US10534549B2 (en) 2017-09-19 2020-01-14 Robin Systems, Inc. Maintaining consistency among copies of a logical storage volume in a distributed storage system
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
WO2019080015A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 一种数据读写方法、装置和存储服务器
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US11119981B2 (en) * 2017-10-27 2021-09-14 Hewlett Packard Enterprise Development Lp Selectively redirect-on-write data chunks in write-in-place file systems
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10782887B2 (en) 2017-11-08 2020-09-22 Robin Systems, Inc. Window-based prority tagging of IOPs in a distributed storage system
US10846001B2 (en) 2017-11-08 2020-11-24 Robin Systems, Inc. Allocating storage requirements in a distributed storage system
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10452308B2 (en) * 2017-12-19 2019-10-22 Robin Systems, Inc. Encoding tags for metadata entries in a storage system
US10430110B2 (en) 2017-12-19 2019-10-01 Robin Systems, Inc. Implementing a hybrid storage node in a distributed storage system
US10430292B2 (en) 2017-12-19 2019-10-01 Robin Systems, Inc. Snapshot deletion in a distributed storage system
JP7159557B2 (ja) * 2017-12-28 2022-10-25 富士通株式会社 動的辞書の生成プログラム、動的辞書の生成方法および復号化装置
US11392363B2 (en) 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
US10628235B2 (en) 2018-01-11 2020-04-21 Robin Systems, Inc. Accessing log files of a distributed computing system using a simulated file system
US10642697B2 (en) 2018-01-11 2020-05-05 Robin Systems, Inc. Implementing containers for a stateful application in a distributed computing system
US11099937B2 (en) 2018-01-11 2021-08-24 Robin Systems, Inc. Implementing clone snapshots in a distributed storage system
US10896102B2 (en) 2018-01-11 2021-01-19 Robin Systems, Inc. Implementing secure communication in a distributed computing system
US11748203B2 (en) 2018-01-11 2023-09-05 Robin Systems, Inc. Multi-role application orchestration in a distributed storage system
US10845997B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Job manager for deploying a bundled application
US10846137B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Dynamic adjustment of application resources in a distributed computing system
US10642694B2 (en) 2018-01-12 2020-05-05 Robin Systems, Inc. Monitoring containers in a distributed computing system
US10579364B2 (en) 2018-01-12 2020-03-03 Robin Systems, Inc. Upgrading bundled applications in a distributed computing system
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) * 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
CN108777611B (zh) * 2018-05-11 2021-06-18 吉林大学 基于双密钥流密码的双向链表顺序加密解密方法
US10572683B2 (en) 2018-05-13 2020-02-25 Richard Jay Langley Individual data unit and methods and systems for enhancing the security of user data
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
CN108897808B (zh) * 2018-06-16 2023-11-24 王梅 一种在云存储系统中进行数据存储的方法及系统
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US20190042456A1 (en) * 2018-06-28 2019-02-07 Intel Corporation Multibank cache with dynamic cache virtualization
CN109189327B (zh) * 2018-07-27 2020-05-05 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10976938B2 (en) 2018-07-30 2021-04-13 Robin Systems, Inc. Block map cache
US11023328B2 (en) 2018-07-30 2021-06-01 Robin Systems, Inc. Redo log for append only storage scheme
US10817380B2 (en) 2018-07-31 2020-10-27 Robin Systems, Inc. Implementing affinity and anti-affinity constraints in a bundled application
US10599622B2 (en) 2018-07-31 2020-03-24 Robin Systems, Inc. Implementing storage volumes over multiple tiers
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
JP7155727B2 (ja) * 2018-08-07 2022-10-19 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
WO2020112209A2 (en) * 2018-09-14 2020-06-04 SeaPort, Inc. Methods and systems for efficient encoding and decoding communications
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10756887B2 (en) * 2018-10-12 2020-08-25 EMC IP Holding Company LLC Method and system for securely replicating encrypted deduplicated storages
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10908848B2 (en) 2018-10-22 2021-02-02 Robin Systems, Inc. Automated management of bundled applications
US11036439B2 (en) 2018-10-22 2021-06-15 Robin Systems, Inc. Automated management of bundled applications
US10620871B1 (en) 2018-11-15 2020-04-14 Robin Systems, Inc. Storage scheme for a distributed storage system
US11429566B2 (en) * 2018-11-16 2022-08-30 Citrix Systems, Inc. Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10958416B2 (en) * 2018-11-26 2021-03-23 International Business Machines Corporation Encrypted and compressed data transmission with padding
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10877668B2 (en) 2018-12-05 2020-12-29 Intel Corporation Storage node offload of residual part of a portion of compressed and distributed data to a second storage node for decompression
CN109669640B (zh) * 2018-12-24 2023-05-23 浙江大华技术股份有限公司 一种数据存储方法、装置、电子设备及介质
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10783035B1 (en) 2019-02-28 2020-09-22 Alibaba Group Holding Limited Method and system for improving throughput and reliability of storage media with high raw-error-rate
US20190196907A1 (en) * 2019-03-05 2019-06-27 Intel Corporation Compression techniques for distributed data
US11086725B2 (en) 2019-03-25 2021-08-10 Robin Systems, Inc. Orchestration of heterogeneous multi-role applications
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11256434B2 (en) 2019-04-17 2022-02-22 Robin Systems, Inc. Data de-duplication
JP7261317B2 (ja) * 2019-04-29 2023-04-19 ヒタチ ヴァンタラ エルエルシー 圧縮データの記憶及び取得の最適化
US10831387B1 (en) 2019-05-02 2020-11-10 Robin Systems, Inc. Snapshot reservations in a distributed storage system
US10877684B2 (en) 2019-05-15 2020-12-29 Robin Systems, Inc. Changing a distributed storage volume from non-replicated to replicated
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
CN113994626B (zh) * 2019-05-22 2023-01-17 妙泰公司 具有增强的安全性、弹性和控制的分布式数据存储方法及系统
US11442627B2 (en) * 2019-06-13 2022-09-13 International Business Machines Corporation Data compression utilizing low-ratio compression and delayed high-ratio compression
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11533063B2 (en) * 2019-08-01 2022-12-20 EMC IP Holding Company LLC Techniques for determining compression tiers and using collected compression hints
US11372984B2 (en) 2019-08-14 2022-06-28 International Business Machines Corporation Key-compressible encryption
US11487908B2 (en) * 2019-08-16 2022-11-01 Macronix International Co., Ltd. Secure memory
US11226847B2 (en) 2019-08-29 2022-01-18 Robin Systems, Inc. Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US11520650B2 (en) 2019-09-05 2022-12-06 Robin Systems, Inc. Performing root cause analysis in a multi-role application
US11249851B2 (en) 2019-09-05 2022-02-15 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11113158B2 (en) 2019-10-04 2021-09-07 Robin Systems, Inc. Rolling back kubernetes applications
US11347684B2 (en) 2019-10-04 2022-05-31 Robin Systems, Inc. Rolling back KUBERNETES applications including custom resources
US11567925B2 (en) * 2019-11-07 2023-01-31 International Business Machines Corporation Concurrent update management
US11403188B2 (en) 2019-12-04 2022-08-02 Robin Systems, Inc. Operation-level consistency points and rollback
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
WO2021156676A2 (en) * 2020-02-03 2021-08-12 Samsung Electronics Co., Ltd. Data management system and method of controlling
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
WO2021174074A1 (en) * 2020-02-28 2021-09-02 Nebulon, Inc. Metadata store in multiple reusable append logs
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11108638B1 (en) * 2020-06-08 2021-08-31 Robin Systems, Inc. Health monitoring of automatically deployed and managed network pipelines
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11528186B2 (en) 2020-06-16 2022-12-13 Robin Systems, Inc. Automated initialization of bare metal servers
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11740980B2 (en) 2020-09-22 2023-08-29 Robin Systems, Inc. Managing snapshot metadata following backup
CN114328373A (zh) * 2020-09-29 2022-04-12 伊姆西Ip控股有限责任公司 管理文件系统的方法、电子设备和计算机程序产品
US11743188B2 (en) 2020-10-01 2023-08-29 Robin Systems, Inc. Check-in monitoring for workflows
US11271895B1 (en) 2020-10-07 2022-03-08 Robin Systems, Inc. Implementing advanced networking capabilities using helm charts
US11456914B2 (en) 2020-10-07 2022-09-27 Robin Systems, Inc. Implementing affinity and anti-affinity with KUBERNETES
US11750451B2 (en) 2020-11-04 2023-09-05 Robin Systems, Inc. Batch manager for complex workflows
US11917072B2 (en) 2020-12-03 2024-02-27 International Business Machines Corporation Implementing opportunistic authentication of encrypted data
US11556361B2 (en) 2020-12-09 2023-01-17 Robin Systems, Inc. Monitoring and managing of complex multi-role applications
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11681659B2 (en) * 2021-05-21 2023-06-20 Red Hat, Inc. Hybrid file compression model
US11601136B2 (en) 2021-06-30 2023-03-07 Bank Of America Corporation System for electronic data compression by automated time-dependent compression algorithm
US11971857B2 (en) * 2021-12-08 2024-04-30 Cohesity, Inc. Adaptively providing uncompressed and compressed data chunks
CN115203758B (zh) * 2022-07-21 2023-11-07 北京国联视讯信息技术股份有限公司 一种数据安全存储方法、系统及云平台

Family Cites Families (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2602363B1 (fr) 1986-07-31 1989-04-28 Picard Michel Procede pour definir et modifier une partition sur l'espace de memorisation d'un support non effacable
US4870415A (en) 1987-10-19 1989-09-26 Hewlett-Packard Company Data compression system with expansion protection
US5146221A (en) 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
JP3143108B2 (ja) * 1990-03-13 2001-03-07 株式会社日立製作所 ファイル暗号化方法およびファイル暗号システム
DE69031031T2 (de) 1990-05-29 1997-10-30 Hewlett Packard Ltd Bandspeicherung
US5831011A (en) * 1990-07-27 1998-11-03 Mycogen Corporation Bacillus thuringiensis genes encoding nematode-active toxins
US5146324A (en) 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
US5142282A (en) * 1990-11-07 1992-08-25 Hewlett-Packard Company Data compression dictionary access minimization
US5473326A (en) 1990-12-14 1995-12-05 Ceram Incorporated High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
CA2065578C (en) * 1991-04-22 1999-02-23 David W. Carr Packet-based data compression method
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
JP2863370B2 (ja) 1992-05-20 1999-03-03 富士通エフ・アイ・ピー株式会社 ファイル圧縮暗号処理装置
US5305295A (en) * 1992-06-29 1994-04-19 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data
US5734892A (en) * 1992-06-29 1998-03-31 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data
US5649151A (en) * 1992-06-29 1997-07-15 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data
JP3302086B2 (ja) 1993-03-31 2002-07-15 富士通エフ・アイ・ピー株式会社 圧縮暗号化装置
US5285497A (en) * 1993-04-01 1994-02-08 Scientific Atlanta Methods and apparatus for scrambling and unscrambling compressed data streams
US5389922A (en) 1993-04-13 1995-02-14 Hewlett-Packard Company Compression using small dictionaries with applications to network packets
US5577125A (en) 1993-06-14 1996-11-19 International Business Machines Corporation Graphical manipulation of encryption
US5987622A (en) 1993-12-10 1999-11-16 Tm Patents, Lp Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem
US6349375B1 (en) 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
JP3517940B2 (ja) 1994-03-24 2004-04-12 エー・アイ・ソフト株式会社 圧縮データの読出・書込方法および装置
US5729710A (en) 1994-06-22 1998-03-17 International Business Machines Corporation Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system
US5767898A (en) 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5561421A (en) * 1994-07-28 1996-10-01 International Business Machines Corporation Access method data compression with system-built generic dictionaries
US5812817A (en) * 1994-10-17 1998-09-22 International Business Machines Corporation Compression architecture for system memory application
US5812882A (en) 1994-10-18 1998-09-22 Lanier Worldwide, Inc. Digital dictation system having a central station that includes component cards for interfacing to dictation stations and transcription stations and for processing and storing digitized dictation segments
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US6002411A (en) 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
US5870036A (en) 1995-02-24 1999-02-09 International Business Machines Corporation Adaptive multiple dictionary data compression
US5708793A (en) 1995-03-31 1998-01-13 International Business Machines Corporation Method and apparatus using address and read head location information to provide optimal operation of a disk system
US5559960A (en) 1995-04-21 1996-09-24 Lettvin; Jonathan D. Software anti-virus facility
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
JP3509285B2 (ja) 1995-05-12 2004-03-22 富士通株式会社 圧縮データ管理方式
US5778411A (en) * 1995-05-16 1998-07-07 Symbios, Inc. Method for virtual to physical mapping in a mapped compressed virtual storage subsystem
US5694596A (en) 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5623701A (en) * 1995-06-06 1997-04-22 International Business Machines Corporation Data compression method and structure for a direct access storage device
US5684986A (en) 1995-06-07 1997-11-04 International Business Machines Corporation Embedded directory method and record for direct access storage device (DASD) data compression
US6512853B2 (en) 1995-08-14 2003-01-28 Barkfort Limited Method and apparatus for compressing digital image data
JPH0969058A (ja) * 1995-08-31 1997-03-11 Toshiba Corp 計算機システムおよびそのシステムで使用されるファイル管理方法
US6122378A (en) * 1995-09-13 2000-09-19 Hitachi, Ltd. Data compression/encryption method and system
US5706489A (en) 1995-10-18 1998-01-06 International Business Machines Corporation Method for a CPU to utilize a parallel instruction execution processing facility for assisting in the processing of the accessed data
US5802344A (en) * 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
US5847762A (en) * 1995-12-27 1998-12-08 Thomson Consumer Electronics, Inc. MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
US5956504A (en) 1996-03-04 1999-09-21 Lucent Technologies Inc. Method and system for compressing a data stream in a database log so as to permit recovery of only selected portions of the data stream
US6012062A (en) 1996-03-04 2000-01-04 Lucent Technologies Inc. System for compression and buffering of a data stream with data extraction requirements
US5774715A (en) 1996-03-27 1998-06-30 Sun Microsystems, Inc. File system level compression using holes
GB9609833D0 (en) * 1996-05-10 1996-07-17 Memory Corp Plc Memory device
US5765157A (en) * 1996-06-05 1998-06-09 Sun Microsystems, Inc. Computer system and method for executing threads of execution with reduced run-time memory space requirements
GB2315575A (en) 1996-07-19 1998-02-04 Ibm Encryption circuit in I/O subsystem
US5933501A (en) * 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
US5951623A (en) * 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US6115787A (en) * 1996-11-05 2000-09-05 Hitachi, Ltd. Disc storage system having cache memory which stores compressed data
US6370477B1 (en) 1996-11-22 2002-04-09 Schlumberger Technology Corporation Compression method and apparatus for seismic data
US6021198A (en) * 1996-12-23 2000-02-01 Schlumberger Technology Corporation Apparatus, system and method for secure, recoverable, adaptably compressed file transfer
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6414610B1 (en) * 1997-02-24 2002-07-02 Rodney J Smith Data compression
FI972040A (fi) 1997-05-13 1998-11-14 Nokia Telecommunications Oy Menetelmä pakettivälitteiseen tiedonsiirtoon
JPH1131935A (ja) 1997-07-11 1999-02-02 Nec Corp 遅延素子
JPH1131926A (ja) 1997-07-14 1999-02-02 Nec Corp 電力増幅器の温度補正装置
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US5961617A (en) * 1997-08-18 1999-10-05 Vadem System and technique for reducing power consumed by a data transfer operations during periods of update inactivity
JPH11110267A (ja) 1997-10-02 1999-04-23 Oki Electric Ind Co Ltd データ保存装置、データ保存方法及び記録媒体
US6092071A (en) * 1997-11-04 2000-07-18 International Business Machines Corporation Dedicated input/output processor method and apparatus for access and storage of compressed data
US5960401A (en) 1997-11-14 1999-09-28 Crystal Semiconductor Corporation Method for exponent processing in an audio decoding system
JP3302919B2 (ja) * 1997-11-27 2002-07-15 株式会社リコー 光記録媒体の初期化方法及び初期化装置
US6154542A (en) 1997-12-17 2000-11-28 Apple Computer, Inc. Method and apparatus for simultaneously encrypting and compressing data
US7095852B2 (en) 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US7277941B2 (en) * 1998-03-11 2007-10-02 Commvault Systems, Inc. System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device
US6148336A (en) * 1998-03-13 2000-11-14 Deterministic Networks, Inc. Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering
US6081211A (en) 1998-04-08 2000-06-27 Xerox Corporation Minimal buffering method and system for optimized encoding tables in JPEG compression
US6052799A (en) 1998-05-15 2000-04-18 International Business Machines Corporation System and method for recovering a directory for a log structured array
US6157743A (en) 1998-07-31 2000-12-05 Hewlett Packard Company Method for retrieving compressed texture data from a memory system
US6771597B2 (en) 1998-07-31 2004-08-03 International Business Machines Corporation Method and apparatus for transmitting messages
US6275588B1 (en) 1998-11-12 2001-08-14 I-Data International A/S Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
JP3715533B2 (ja) 1999-02-05 2005-11-09 株式会社東芝 ストリーム情報の情報記憶媒体、その記録方法、再生方法、記録装置および再生装置
US6742176B1 (en) * 1999-06-14 2004-05-25 Lycos, Inc. Secure flexible plugin software architecture
US6449689B1 (en) 1999-08-31 2002-09-10 International Business Machines Corporation System and method for efficiently storing compressed data on a hard disk drive
US6360300B1 (en) 1999-08-31 2002-03-19 International Business Machines Corporation System and method for storing compressed and uncompressed data on a hard disk drive
US6532121B1 (en) * 1999-10-25 2003-03-11 Hewlett-Packard Company Compression algorithm with embedded meta-data for partial record operation augmented with expansion joints
JP4329258B2 (ja) * 1999-10-25 2009-09-09 ソニー株式会社 コンテンツデータの制御装置及び方法、並びに、記憶媒体
US6985589B2 (en) * 1999-12-02 2006-01-10 Qualcomm Incorporated Apparatus and method for encoding and storage of digital image and audio signals
FR2802669B1 (fr) * 1999-12-15 2002-02-08 St Microelectronics Sa Procede non deterministe de transfert securise de donnees
US6956667B2 (en) 1999-12-24 2005-10-18 Agfa Gevaert N. V. Page composing method using stored page elements and apparatus for using the same
US6567887B2 (en) 2000-01-03 2003-05-20 Texas Instruments Incorporated Buffering of partition tables, file system directory structures and individual file cluster chains in a mass storage device
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US6636941B1 (en) 2000-01-18 2003-10-21 International Business Machines Corporation Enhanced stable disk storage
US6883032B1 (en) 2000-02-02 2005-04-19 Lucent Technologies Inc. Method and system for collecting data on the internet
US20040217760A1 (en) * 2000-02-11 2004-11-04 Madarasz Frank L. Bayesian methods for flow parameter estimates in magnetic resonance imaging
JP2001255449A (ja) 2000-03-13 2001-09-21 Fuji Photo Optical Co Ltd レンズ駆動装置
JP2001268856A (ja) * 2000-03-22 2001-09-28 Asmo Co Ltd モータ
US7089391B2 (en) 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
US7444381B2 (en) 2000-05-04 2008-10-28 At&T Intellectual Property I, L.P. Data compression in electronic communications
JP2004502379A (ja) 2000-06-29 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多重レベルアクセス特権を付与する単一文書の多重暗号化
US6728722B1 (en) 2000-08-28 2004-04-27 Sun Microsystems, Inc. General data structure for describing logical data spaces
US20020062303A1 (en) 2000-10-31 2002-05-23 Kabushiki Kaisha Toshiba Data management method and storage medium storing data management program
US20020101932A1 (en) * 2000-11-29 2002-08-01 Montgomery Dennis L. Method and apparatus for encoding information using multiple passes and decoding in a single pass
US20020078241A1 (en) 2000-12-15 2002-06-20 Alfy, Inc. Method of accelerating media transfer
JP2002196954A (ja) 2000-12-27 2002-07-12 Toshiba Corp 記憶資源自動管理方法及びネットワークコンピュータシステム
US7016497B2 (en) * 2001-02-02 2006-03-21 Asier Technology Corporation Data decryption system
US7069342B1 (en) 2001-03-01 2006-06-27 Cisco Technology, Inc. Communication system with content-based data compression
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
GB0115404D0 (en) 2001-06-23 2001-08-15 Ibm Method and apparatus for message routing in a computer system
US20030086620A1 (en) 2001-06-27 2003-05-08 Lucco Steven E. System and method for split-stream dictionary program compression and just-in-time translation
US20030051005A1 (en) * 2001-09-13 2003-03-13 Burch Charles Carroll Apparatus for encapsulating data within a self-defining file and method thereof
JP2003115830A (ja) 2001-10-03 2003-04-18 Victor Co Of Japan Ltd 情報記録装置及び情報記録再生装置
US6892176B2 (en) 2001-12-18 2005-05-10 Matsushita Electric Industrial Co., Ltd. Hash function based transcription database
US7106909B2 (en) * 2001-12-25 2006-09-12 Canon Kabushiki Kaisha Method and apparatus for encoding image data in accordance with a target data size
JP4047183B2 (ja) * 2002-03-07 2008-02-13 キヤノン株式会社 画像圧縮符号化装置及びその制御方法
GB0210325D0 (en) 2002-05-04 2002-06-12 Gaffney Philip M Secure data delivery
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7606891B1 (en) * 2002-06-24 2009-10-20 Cisco Technology, Inc. Approach for determining compression intervals and performing event compression
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US7958289B2 (en) * 2002-08-08 2011-06-07 International Business Machines Corporation Method and system for storing memory compressed data onto memory compressed disks
JP3707456B2 (ja) * 2002-08-12 2005-10-19 ヤマハ株式会社 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム
US7058783B2 (en) * 2002-09-18 2006-06-06 Oracle International Corporation Method and mechanism for on-line data compression and in-place updates
JP3821086B2 (ja) 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
US7720818B1 (en) 2002-12-30 2010-05-18 Sprint Communications Company L.P. On-line account management system having a tiered account information storage system
US20040218760A1 (en) * 2003-01-03 2004-11-04 Chaudhuri Parimal Pal System and method for data encryption and compression (encompression)
US7536418B2 (en) 2003-01-10 2009-05-19 At&T Intellectual Property Ii, Lp Preload library for transparent file transformation
US20040199669A1 (en) * 2003-04-04 2004-10-07 Riggs Nicholas Dale Apparatus and method for efficiently and securely transferring files over a communications network
WO2004092960A2 (en) 2003-04-16 2004-10-28 Koninklijke Philips Electronics N.V. Selectable procession / decompression for data stored in memory
US6847315B2 (en) * 2003-04-17 2005-01-25 International Business Machines Corporation Nonuniform compression span
JP4131514B2 (ja) * 2003-04-21 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、サーバ、データ処理方法及びプログラム
US7428341B2 (en) * 2003-05-27 2008-09-23 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20040249793A1 (en) 2003-06-03 2004-12-09 Hans-Joachim Both Efficient document storage and retrieval for content servers
JP2005020346A (ja) 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc データ秘密化装置、データ復元装置、画像データ保存装置及び画像形成装置
JP2005044450A (ja) 2003-07-24 2005-02-17 Tdk Corp 光記録媒体及びその製造方法、並びに、光記録媒体に対するデータ記録方法及びデータ再生方法
US20050027731A1 (en) 2003-07-30 2005-02-03 Daniel Revel Compression dictionaries
US7251708B1 (en) 2003-08-07 2007-07-31 Crossroads Systems, Inc. System and method for maintaining and reporting a log of multi-threaded backups
US7188227B2 (en) * 2003-09-30 2007-03-06 International Business Machines Corporation Adaptive memory compression
US7343435B2 (en) * 2003-11-10 2008-03-11 Digital Networks North America, Inc. Stream based compressed file download with interruption recovery
US6903668B1 (en) 2003-11-18 2005-06-07 M-Systems Flash Disk Pioneers Ltd. Decompression accelerator for flash memory
JP2005222404A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd 仮想記憶ユニットを備えた記憶制御サブシステム
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US20050207569A1 (en) * 2004-03-16 2005-09-22 Exavio, Inc Methods and apparatus for preparing data for encrypted transmission
US7398486B2 (en) * 2004-03-17 2008-07-08 Lsi Corporation Method and apparatus for performing logical transformations for global routing
US20060230014A1 (en) 2004-04-26 2006-10-12 Storewiz Inc. Method and system for compression of files for storage and operation on compressed files
US7424482B2 (en) 2004-04-26 2008-09-09 Storwize Inc. Method and system for compression of data for block mode access storage
US20060190643A1 (en) * 2004-04-26 2006-08-24 Storewiz, Inc. Method and system for compression of data for block mode access storage
CA2564844C (en) * 2004-04-26 2014-12-09 Storewiz, Inc. Method and system for compression of files for storage and operation on compressed files
US7814056B2 (en) 2004-05-21 2010-10-12 Computer Associates Think, Inc. Method and apparatus for data backup using data blocks
JP2005341316A (ja) 2004-05-27 2005-12-08 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
US7293035B2 (en) * 2004-06-30 2007-11-06 International Business Machines Corporation System and method for performing compression/encryption on data such that the number of duplicate blocks in the transformed data is increased
US7684076B2 (en) 2004-07-23 2010-03-23 Kabushiki Kaisha Toshiba Method and apparatus for raster image processing
US7742199B2 (en) 2004-10-06 2010-06-22 Kabushiki Kaisha Toshiba System and method for compressing and rotating image data
US8954751B2 (en) 2004-10-08 2015-02-10 International Business Machines Corporation Secure memory control parameters in table look aside buffer data fields and support memory array
US7581118B2 (en) 2004-12-14 2009-08-25 Netapp, Inc. Disk sanitization using encryption
US7363444B2 (en) 2005-01-10 2008-04-22 Hewlett-Packard Development Company, L.P. Method for taking snapshots of data
US7966495B2 (en) 2005-03-21 2011-06-21 Revinetix, Inc. Conserving file system with backup and validation
US7873683B2 (en) * 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US20070025344A1 (en) 2005-07-12 2007-02-01 Intel Corporation Connectivity enhancement
US7460032B2 (en) 2005-10-27 2008-12-02 Evault, Inc. Methods and apparatus for performing adaptive compression
US7681050B2 (en) 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
US7512767B2 (en) * 2006-01-04 2009-03-31 Sony Ericsson Mobile Communications Ab Data compression method for supporting virtual memory management in a demand paging system
EP2421265B1 (en) 2006-01-05 2013-10-02 Telefonaktiebolaget LM Ericsson (PUBL) Generation of media container files
US20070174362A1 (en) 2006-01-18 2007-07-26 Duc Pham System and methods for secure digital data archiving and access auditing
US20070208893A1 (en) * 2006-02-23 2007-09-06 Microsoft Corporation File-based compression on a fat volume
US7467268B2 (en) * 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US20070250673A1 (en) 2006-04-25 2007-10-25 Eidswick Max L Computer backup system
US9176975B2 (en) * 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US20080022079A1 (en) 2006-07-24 2008-01-24 Archer Charles J Executing an allgather operation with an alltoallv operation in a parallel computer
JP4696052B2 (ja) 2006-11-30 2011-06-08 富士通株式会社 記憶装置、記憶媒体、制御装置、メモリ、サーバ装置、サーバクライアントシステム
US9009649B2 (en) 2007-05-16 2015-04-14 Accenture Global Services Limited Application search tool for rapid prototyping and development of new applications
US8156241B1 (en) 2007-05-17 2012-04-10 Netapp, Inc. System and method for compressing data transferred over a network for storage purposes
US7987161B2 (en) * 2007-08-23 2011-07-26 Thomson Reuters (Markets) Llc System and method for data compression using compression hardware
US8300823B2 (en) 2008-01-28 2012-10-30 Netapp, Inc. Encryption and compression of data for storage
US8935223B2 (en) 2009-04-30 2015-01-13 Oracle International Corporation Structure of hierarchical compressed data structure for tabular data
WO2011013125A1 (en) * 2009-07-27 2011-02-03 Storwize Ltd. Method and system for transformation of logical data objects for storage

Also Published As

Publication number Publication date
US20110264634A1 (en) 2011-10-27
US20090307249A1 (en) 2009-12-10
WO2007138602A3 (en) 2010-04-22
WO2007138602A2 (en) 2007-12-06
US9104688B2 (en) 2015-08-11
US9251158B2 (en) 2016-02-02
WO2007138600A2 (en) 2007-12-06
US9323773B2 (en) 2016-04-26
EP2033128A2 (en) 2009-03-11
US20130339324A1 (en) 2013-12-19
US8819454B2 (en) 2014-08-26
US9110913B2 (en) 2015-08-18
US20120144207A1 (en) 2012-06-07
US8626726B2 (en) 2014-01-07
EP2033066A2 (en) 2009-03-11
US9262427B2 (en) 2016-02-16
EP2030115A4 (en) 2012-08-22
WO2007138599A3 (en) 2009-04-09
EP2033128A4 (en) 2012-08-15
WO2007138601A3 (en) 2009-04-09
US9367555B2 (en) 2016-06-14
US20160147784A1 (en) 2016-05-26
CA2654395C (en) 2017-09-19
US20110276548A1 (en) 2011-11-10
US20160132268A1 (en) 2016-05-12
US20110264871A1 (en) 2011-10-27
US10372680B2 (en) 2019-08-06
JP2009539169A (ja) 2009-11-12
US9176975B2 (en) 2015-11-03
US20110264633A1 (en) 2011-10-27
US9311320B2 (en) 2016-04-12
US20120198275A1 (en) 2012-08-02
US20110276547A1 (en) 2011-11-10
US20090307250A1 (en) 2009-12-10
US8788467B2 (en) 2014-07-22
US9218355B2 (en) 2015-12-22
JP5623562B2 (ja) 2014-11-12
US20100017423A1 (en) 2010-01-21
US20120191739A1 (en) 2012-07-26
US8958482B2 (en) 2015-02-17
US20110264632A1 (en) 2011-10-27
JP2013101672A (ja) 2013-05-23
CA2654395A1 (en) 2007-12-06
US20110276546A1 (en) 2011-11-10
JP2013127802A (ja) 2013-06-27
WO2007138601A2 (en) 2007-12-06
US8924367B2 (en) 2014-12-30
US20120197917A1 (en) 2012-08-02
JP5431148B2 (ja) 2014-03-05
US8954756B2 (en) 2015-02-10
US20160231942A1 (en) 2016-08-11
US20110276545A1 (en) 2011-11-10
WO2007138603A3 (en) 2009-04-23
US8930329B2 (en) 2015-01-06
WO2007138599A2 (en) 2007-12-06
US9176976B2 (en) 2015-11-03
US8793510B2 (en) 2014-07-29
US8832043B2 (en) 2014-09-09
WO2007138600A4 (en) 2008-12-31
US10268696B2 (en) 2019-04-23
EP2033066A4 (en) 2012-08-15
US10380071B2 (en) 2019-08-13
US20110283021A1 (en) 2011-11-17
EP2030115A2 (en) 2009-03-04
US20120151221A1 (en) 2012-06-14
US8782436B2 (en) 2014-07-15
US20110264872A1 (en) 2011-10-27
US8954403B2 (en) 2015-02-10
US20120191738A1 (en) 2012-07-26
US20090327751A1 (en) 2009-12-31
US8959064B2 (en) 2015-02-17
WO2007138603A2 (en) 2007-12-06
US20100036863A1 (en) 2010-02-11
US20110264924A1 (en) 2011-10-27
US9317516B2 (en) 2016-04-19
WO2007138600A3 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
JP5623561B2 (ja) ストレージ用論理データオブジェクトの変換方法およびシステム
US9218297B2 (en) Systems and methods for transformation of logical data objects for storage
IL195556A (en) A method and system for changing logical data items for storage

Legal Events

Date Code Title Description
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130620

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20130928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140315

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140924

R150 Certificate of patent or registration of utility model

Ref document number: 5623561

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150