JP2017513252A - 最適化されたデータ凝縮器及び方法 - Google Patents

最適化されたデータ凝縮器及び方法 Download PDF

Info

Publication number
JP2017513252A
JP2017513252A JP2016545827A JP2016545827A JP2017513252A JP 2017513252 A JP2017513252 A JP 2017513252A JP 2016545827 A JP2016545827 A JP 2016545827A JP 2016545827 A JP2016545827 A JP 2016545827A JP 2017513252 A JP2017513252 A JP 2017513252A
Authority
JP
Japan
Prior art keywords
data
data objects
file
condensed
objects
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.)
Withdrawn
Application number
JP2016545827A
Other languages
English (en)
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.)
Relican Analytics inc
Original Assignee
Relican Analytics inc
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 Relican Analytics inc filed Critical Relican Analytics inc
Publication of JP2017513252A publication Critical patent/JP2017513252A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

データ凝縮器及び方法は、データオブジェクト値に、数、文字、語、語句、及び他の印の無損失凝縮を提供し、これは、ファイルサイズの減少に繋がる。本データ凝縮器及び方法は、データを個々のデータオブジェクトまたはデータオブジェクト群として分類し、繰り返す(例えば、再帰する)期間を区別する。参照ライブラリは、記憶要件を最小限に抑えるために分類されたデータの量に従って最適化される。分類されたデータには、参照ファイルをポピュレートする固有の値が割り当てられる。出力ファイルは、最適な無損失凝縮を達成するために参照ライブラリを使用してデータ凝縮器によって作成される。本データ復元器及び方法は、データオブジェクト損失のない効率的で正確な使用のために、数、文字、語、語句、及び他の印などの凝縮されたデータオブジェクトの凝縮されていないデータオブジェクトへの復元を提供する。【選択図】 図3

Description

データ記憶は、テラバイト、ペタバイト域、及びそれを超える巨大なゲノム及び他のデータセットを解釈するという大変な課題に直面している研究者及び他の者にとって、重要問題である。研究施設と臨床施設との間(現地及び遠隔地の両方)などでの協力及びデータの重要な共有は、データセットの膨大な流入の処理を必要とし、監査及び報告目的で連邦政府によって必要とされるログファイルまたは参照ゲノムなど、効率的で正確な比較を可能にするための無損失データ圧縮に対する戦略を必要とする。データ記憶及びその安全な転送は、物理的なハードドライブを現地または離れた場所に送ることによって達成されてきたが、これは、面倒であり、費用がかかり、ますます持続不可能になっている。
自由に利用可能な研究基盤ツールが存在し、反復シーケンスコレクション、テキスト、2進テキスト画像、及びデータベースを含むがこれらに限定されない、大型データファイルの選択的圧縮、コーディング、インデックス化、注釈、マッピング、及びアラインメントのためのアルゴリズム及び方法に関する分野における他の適用及び文献も存在する。
ハイスループット次世代シークエンシング技術の急速な向上は、指数関数的な割合で蓄積するゲノムデータセット(全ゲノム及び集団型の両方)をもたらす。公表されているゲノムデータセットは、典型的には、デジタル記憶、分析、及び安全な伝送へのますますの負担を伴って、フラットテキストファイルとして記憶される。ゲノム情報または他のビッグデータなどの大型データファイルの遠隔での記憶、共有、分析、またはダウンロードは、骨の折れるものであり、多くの機関、特に、高速インターネットアクセスを欠く地域にある機関にとっては不可能に近い。今日、大型の記憶サイトは、記憶のために何百万ドルも費やしているが、それでも、大量のデータ転送は、サーバ及びインターネットネットワークに負担をかけ続けている。データの損失または劣化なく、大型データセットの記憶、共有、伝送などを可能にするための解決策に対する緊急の技術的ニーズが存在する。現在の技術では、これは、良くても骨が折れ、多くの場合には、機関などの多くの実体、特に研究センター、病院、及び他のものにとってほぼ不可能である。
最適化データ凝縮器及び方法は、例えば、ディスク、半導体、または任意の形態の記憶媒体(固定型または携帯型)であるがこれらに限定されない記憶媒体への負担、ならびに、次世代全ゲノムシークエンシングから導かれたものなどのデータの記憶と関連付けられるデータ転送オーバーヘッドを低減する。入力ファイルとしては、BLAST形式、ログ/エラーファイル、データベース、及び他の共通ファイル形式を挙げることができるが、これらに限定されない。
この最適化データ凝縮器及び方法は、データオブジェクトとしても知られる、数、文字、語、語句、及び他の印などのデータを、凝縮し、手動で定義された及び/または自動で最適化された、16進、256進(Duocentosexapentagesimal)(ベース256)、または他のNBase値(複数可)によって定義される1つ以上の値に凝縮する。NBase(Nb)は、2つのベース単位(2進)の最小測定単位を有し、数値ベース上限のない、可変数値ベースシステムとして定義される。必要に応じて、この新たな凝縮された16進、ベース256、または他のNBaseファイルの完全な復元は、復号されて、データを、いかなるデータの損失もなく元の形式に戻すことができる。明確化のために、凝縮プロセスは、一部のZIPアーカイブで見られるような圧縮ではなく、凝縮ファイルサイズをもたらす凝縮である。
ライブラリは、1つ以上の参照ファイルを含む。各参照ファイルは、識別されたデータオブジェクトと相互に関連付けるために、関連する割り当てられた固有の16進、ベース256、または他のNBaseコードを持つ、データ及び/またはデータ群を含む。かかる識別されたデータオブジェクトならびにライブラリでは見られない重複(即ち、反復)及び他のデータオブジェクト(関連する固有のコードが割り当てられたもの)は、ライブラリに含まれる元の参照ファイルの最適化バージョンに追加される。
割り当てられたコードと関連付けられる作成された16進、ベース256、または他のNBase値は、形式化された参照ファイル(複数可)に記憶され、ここで、データオブジェクトは、単純なリクエスト(例えば、X、Y軸)によって探し出すことができる固有の16進、ベース256、または他のNBase値と関連付けられる。凝縮されたファイルは、拡張するために追加ページを必要とする規定され限定されたカラムを有するテキストドキュメントまたはデータベースとは異なり、水平方向及び垂直方向の両方に拡張する能力を有する。凝縮されたファイルは、無損失形式で記憶される。これは、データオブジェクトに、凝縮されたファイル(複数可)内で、16進、ベース256、または他のNBase値を割り当てることを可能にする。特定使用及び一般使用バージョンは、コアエンジンを変えずに、参照ファイル(複数可)を修正することによって設計することができる。ファイルサイズに基づく構築化形式の選択は、ファイル記憶及び処理を更に最適化し得る。
ファイル(複数可)中のデータオブジェクトを表すために使用される様々な16進、ベース256、または他のNBase値は、容易に見分けることができず、それにより自然状態の暗号化を提供するため、凝縮されたファイル(複数可)は、埋め込まれたデータオブジェクトの本質を効果的に隠す。16進、ベース256、または他のNBase値が、コンピュータ分析の使用によって区別されたとしても、それらがどのデータオブジェクトを表すのか、あるいはアラインメントの交互順序が適用されているのかを判断する方法はない。凝縮されたファイル(複数可)が、X、Y軸上に作成され得、デフォルトで、左から右へ、上から下へポピュレートされる一方で、データ凝縮器及び方法が、真ん中で開始し、反時計回り、または任意の他の開始場所及び/もしくはポピュレート方法でポピュレートすることを制限するものは存在しない。
本適用の一態様では、データ記憶を低減し、要件を処理するための無損失データ凝縮器は、データメモリであって、凝縮されるデータオブジェクトを有するソースファイルと、所定のデータオブジェクト及び所定のデータオブジェクト群を有する所定の参照ファイルと、ソースファイル及び所定の参照ファイルのうちの少なくとも1つから取得されたアルゴリズムで選択されたデータオブジェクト及びアルゴリズムで選択されたデータオブジェクト群を有する先進参照ファイルと、凝縮されたデータオブジェクト及び凝縮されたデータオブジェクト群を含む凝縮ファイルと、凝縮されたデータオブジェクト及び凝縮されたデータオブジェクト群の配列を含む配列ファイルと、を含む、データメモリと、凝縮プロセッサであって、データオブジェクトの計数に少なくとも部分的に基づいて、少なくとも1つの数値ベースコーディングシステムを選択し、データオブジェクトの計数に少なくとも部分的に基づいて、配列ファイルのパック深度を選択し、データオブジェクトの計数に少なくとも部分的に基づいて、少なくとも1つの数値ベースコーディングシステムを制限し、ソースファイル内のデータオブジェクトを分析して、1つ以上の再帰データオブジェクト及び再帰データオブジェクト群を探し出し、第1の固有のコードを所定の参照ファイル内のデータオブジェクト及びデータオブジェクト群に割り当て、第2の固有のコードを先進参照ファイル内の選択された再帰データオブジェクト及び選択された非再帰データオブジェクト第2の固有のコードを先進参照ファイル内の選択された再帰データオブジェクト及びデータオブジェクト群ならびに選択された非再帰データオブジェクト及びデータオブジェクト群に割り当て、コーディングされたデータオブジェクト及びコーディングされたデータオブジェクト群を凝縮ファイル内に配置し、かつ配列ファイル内に凝縮されたデータオブジェクトの配列を構築するように動作可能である、凝縮プロセッサと、を備え、無損失データ凝縮器は、効率的で正確な無損失データ記憶及び転送を可能にし、凝縮プロセッサは、所定のデータオブジェクト及びデータオブジェクト群に割り当てられたベース256コーディングシステムと、所定でないデータオブジェクト及びデータオブジェクト群に割り当てられたベース16コーディングシステムと、を有し、メモリ配列は、必要に応じて整数に切り上げられたコーディングされたデータオブジェクト及びデータオブジェクト群の総数の平方根によって定義され、ヌルデータオブジェクトが必要に応じて配列を満たす。
本出願の別の態様では、無損失凝縮動作を行うための装置は、データオブジェクトの入力データを含む少なくとも1つのデータファイルを有するデータソースメモリと、データオブジェクト群を単一のデータオブジェクトと区別し、かつ選択された閾値を超えて反復する反復データオブジェクト群を区別するように構成された凝縮プロセッサと、規定のデータオブジェクト及び所定のデータオブジェクト群を含むカスタマイズされたファイルを含む参照ライブラリと、を含み、凝縮プロセッサは、固有のコードを繰り返す反復データオブジェクト及びデータオブジェクト群ならびに非反復データオブジェクト及びデータオブジェクト群に割り当てて、凝縮されたファイルを提供するように更に構成される。
本出願の別の態様では、データ記憶を低減し、要件を処理するための無損失データ凝縮器は、データオブジェクトの入力データを含む少なくとも1つのデータファイルを有するデータソースメモリと、各々がデータソースメモリ中のデータオブジェクトの繰り返しパターンに従って1つ以上のデータオブジェクトを含むデータオブジェクト群を有する凝縮メモリと、データソースメモリ中のデータオブジェクト及びデータオブジェクト群の数に基づいて、複数の数値ベースコーディングシステムのうちの少なくとも1つを選択するように動作可能な凝縮プロセッサと、選択された数値ベースコーディングシステムのうちの少なくとも1つからの固有のコードが割り当てられた規定のデータオブジェクト及び規定のデータオブジェクト群を有するカスタマイズされた参照ライブラリメモリと、選択されたコーディングされた規定のデータオブジェクト群と共に、数値ベースコーディングシステムのうちの少なくとも1つからの固有のコードが割り当てられた再帰データオブジェクト及びデータオブジェクト群ならびに非再帰データオブジェクト及びデータオブジェクト群を有する定式化された参照ライブラリメモリと、を備え、定式化された参照ライブラリメモリは、メモリ配列であって、必要に応じて整数に切り上げられたコーディングされたデータオブジェクト及びデータオブジェクト群の総数の平方根によって定義され、ヌルデータオブジェクトが必要に応じて配列を満たし、メモリ配列パック深度が、定式化された参照ライブラリ内のコーディングされたデータオブジェクト及びデータオブジェクト群の総数の計数に基づく、メモリ配列を有する。
本出願の別の態様では、データ記憶を低減し、要件を処理するための無損失データ凝縮器は、凝縮される複数の再帰データオブジェクト及び非再帰データオブジェクトを含む入力データを記憶する少なくとも1つのソースファイルを有するデータメモリと、入力データからデータオブジェクトを受信し読み取るように動作可能なインターフェースメモリと、対応するデータオブジェクトに関するコーディングされた値を記憶する参照ライブラリと、入力データを最適化するために参照ライブラリに接続される凝縮プロセッサと、最適化された入力データを受信し、かつ凝縮された出力データを提供するために接続される凝縮メモリと、を備える。
本出願の別の態様では、無損失データ凝縮システムは、データオブジェクト群の繰り返しパターンの数に基づいて複数の数値ベースコーディングシステムから少なくとも1つの数値ベースコーディングシステムを選択し、かつ選択された数値ベースコーディングシステムのうちの少なくとも1つからの固有のコードを各データオブジェクト群に割り当てるように構成された凝縮プロセッサと、凝縮されたデータ記憶及びデータ転送を提供するためにコーディングされたデータオブジェクト群を有する凝縮メモリと、を備える。
本出願の別の態様では、無損失データ凝縮システムは、固有のコードをデータオブジェクトの繰り返しパターンを含むデータオブジェクト群に割り当てるように構成された凝縮プロセッサと、メモリ配列の記憶要件を低減するように選択されたパック深度を有するコーディングされたデータオブジェクト群を記憶するメモリ配列と、を備える。
本出願の別の態様では、凝縮されたデータオブジェクトを凝縮されていない形態に復元するための装置は、凝縮されたデータオブジェクトを有する凝縮ファイルと、凝縮されていないデータオブジェクトのための少なくとも1つの宛先モードと、コーディングされた凝縮された再帰データオブジェクト及び凝縮された非再帰データオブジェクト、ならびに凝縮ファイルと関連付けられた少なくとも1つ以上の数値コーディングシステム及び該当する場合にはパック深度を識別する情報を有する参照ファイルと、を含む、データメモリと、復元する凝縮されたデータオブジェクトの少なくとも一部を選択し、凝縮されていないデータオブジェクトの使用のための宛先モードを選択し、かつデータオブジェクト損失のない効率的で正確な使用のために、凝縮ファイルを参照ファイルとリンクさせて、凝縮されたデータオブジェクトを凝縮されていないデータオブジェクトに復元するように動作可能な復元プロセッサと、を備える。
本出願の別の態様では、数、文字、語、語句、及び他の印などのデータオブジェクトを無損失データ凝縮して、効率的で正確な安全なデータ評価、データ記憶、及びデータ転送を可能にするための方法は、凝縮されるデータオブジェクトコレクションを取得することと、データオブジェクトコレクションをソースファイル内に配置することと、データオブジェクトの総数を計数することを含むソースファイルの分析を実施することと、ソースファイルを読み取り、ソースファイル内のデータオブジェクトの繰り返しパターンに応答して、各々が1つ以上のデータオブジェクトを含むデータオブジェクト群を作成することと、データオブジェクト群の総数を計数することと、データオブジェクト群の選択された量に基づいて、1つ以上の数値ベースコーディングシステムを選択することと、規定のデータオブジェクト群の1つ以上のライブラリ参照ファイルを確立することと、選択されたコーディングシステムからの第1の固有のコードを各規定のデータオブジェクト群に割り当てることと、個々の再帰データオブジェクト群を非再帰データオブジェクト群と区別して識別することと、選択されたコーディングシステムからの第2の固有のコードを規定のデータオブジェクト群ではない各再帰データオブジェクト群及び非再帰データオブジェクト群に割り当てることと、コーディングされたデータオブジェクト群を1つ以上のライブラリ参照ファイル内に配置することと、ソースファイルを読み取り、コーディングされたデータオブジェクト群の総数を計数することと、メモリ配列のパック深度を選択することと、選択されたコーディングされたデータオブジェクト群の総数の平方根によって定義されるメモリ配列を形成し、整数を確立するために必要に応じて切り上げることと、ヌルのコーディングされたデータオブジェクトを追加して、配列を満たすことと、配列を記憶媒体に配置することと、を含む。
本出願の別の態様では、データを凝縮して、低減したデータ記憶及び処理を提供する方法は、複数のデータオブジェクトを含むデータファイルを読み取ることと、各々が1つ以上のデータオブジェクトを含む再帰データオブジェクト群を非再帰データオブジェクト群と区別して識別することと、コードを各再帰データオブジェクト群及び非再帰データオブジェクト群に割り当てることと、最適なサイズの参照ライブラリを定式化することと、コーディングされたデータオブジェクト群を、データ記憶及び処理のために参照ライブラリに配置することと、を含む。
本出願の別の態様では、数、文字、語、語句、及び他の印などの凝縮されたデータオブジェクトの無損失データ復元のための方法は、凝縮されたデータオブジェクトの凝縮ファイルを取得することと、復元する凝縮されたデータオブジェクトの少なくとも一部を選択することと、復元されたデータオブジェクトのための宛先モードを選択することと、凝縮された再帰データオブジェクト及び凝縮された非再帰データオブジェクトに割り当てられたコードを有する参照ファイルであって、凝縮ファイルと関連付けられた少なくとも1つ以上の数値コーディングシステム及び該当する場合にはパック深度を識別する情報を有する、参照ファイルを取得することと、データオブジェクト損失のない効率的で正確な使用のために、凝縮ファイルを参照ファイルとのリンクに基づいて読み取って、凝縮されたデータオブジェクトを凝縮されていないデータオブジェクトに復元することと、を含む。
本出願のデータファイルの凝縮の方法の実施形態を示す流れ図である。 本出願のその元の未凝縮状態への凝縮されたファイルの復元の方法の実施形態を示す流れ図である。 本出願の最適化データ凝縮器システムの例示的実施形態の系統図である。
本説明では、ある特定の用語が、簡潔性、明確性、及び理解のために使用されている。かかる用語は、説明目的のみで使用され、広く解釈されることを意図しているため、不要な制限が、そこから先行技術の要件を越えて適用されるべきではない。本明細書に記載の異なるシステム及び方法を、単独で、または他のシステム及び方法と組み合わせて、使用してもよい。様々な等価物、代替物、及び修正が、添付の特許請求の範囲の範囲内で可能である。添付の特許請求の範囲における各制限は、「〜するための手段」または「〜するためのステップ」という用語が、それぞれの制限においてはっきりと記載される場合にのみ、35 U.S.C.§112、段落6を受けて解釈を喚起するように意図される。
以下の詳細な説明では、その一部を成し、実施され得る特定の実施形態を例として示す、添付の図面を参照する。これらの実施形態は、当業者が本実施形態を実施することを可能にするのに十分に詳細に記載され、他の実施形態が利用され得ること、ならびに論理的、機械的、電気的、及び他の変更が、本実施形態の範囲から逸脱することなく成され得ることが理解される。以下の詳細な説明は、したがって、本発明の範囲を限定するものとして理解されるべきではない。
本出願のシステム及び方法は、1つ以上の凝縮されたファイルを形成するためにシークエンシング技法にとらわれない、単数、文字、語、語句、及び他の印を、16進、ベース256、または他のNBase値に凝縮する、データの無損失凝縮(ファイルサイズの低減をもたらす)を利用する。本出願のシステム及び方法は、無損失の凝縮されたファイルを利用して、それらの読み取られ書き込まれる能力を保持する。本出願のシステム及び方法は、凝縮ファイル(複数可)(または配列ファイル(複数可))と相互作用できない用途における使用のために、それらの以前の元の未凝縮状態に復元される、無損失の凝縮されたファイルを利用する。故に、本出願のシステム及び方法は、装置及びシステムであって、(a)特に大型データファイルについて記憶要件を大幅に低減し、(b)特に大型のテキストまたはデータベースファイルのより速いデータ伝送を可能にし、(c)ファイルサイズの増加を最小限に抑えながら他のデータ(例えば、電子医療記録、臨床メタデータ、関連監査ログなど)の包含を可能にし、(d)凝縮されたファイルの迅速な分析及び修正を可能にし、(e)自然状態の暗号化を提供し、かつ/あるいは(f)GPUベースの処理及び数学的/科学的分析を実践する能力をもたらす更なる開発のためのプラットフォームとして働く、装置及びシステムを利用する。凝縮されたデータのより小型のファイルサイズは、特化システム上に記憶されることの多い大型ファイルが、より広く、より小型の容量のシステム上に記憶されることを可能にし、また、ネットワークトラフィックまたは求められる通信の帯域幅を低減する。
「データオブジェクト」という用語は、その最も広い意味で使用され、電気信号によって運ばれる英数字(即ち、デジタル)値で表される最小の単一の構成要素を含み得る。各データオブジェクトには、1つ以上の16進、ベース256、または他のNBase(即ち、デジタル)値が割り当てられる。
「パック深度」という用語は、配列ファイル内にパック(記憶)される、ベース16、ベース256、または他のNBaseデータオブジェクトの数を定義するために使用される。パック深度は、値が正の整数+iである必要があり、システムによって1以上(≧1)のデフォルトに設定され得るか、または凝縮された形態への変換時に1以上(≧1)の値に手動で設定され得る。
本明細書に記載の最適化された凝縮器の技術的利点または技術的効果は、凝縮されたファイルサイズが、全く異なって動作する現在の圧縮システムにおいて達成されるものよりも極めて小さい、元のファイルの一部分であることである。これが有用であるだけでなく実際に必要である一部の明らかな例としては、遺伝学が挙げられるが、これらに限定されない。
最新のコンピュータは、「base−2」としても知られる2進数(即ち、「ビット」)を採用している。一部のコンピュータは、各々が256の値を有する8ビットの集合(即ち、「バイト」)を使用して動作する。ASCII(ユニコード)形式を使用するとき、値0〜127は、概して、特定の記号に関し、値128〜255は、概して、外国語からのアクセント記号などの特殊項目に関する。Windowsのノートパッドは、記号またはスペース1つ当たり1バイトのメモリを使用する。本明細書に開示の最適化データ凝縮器及び方法は、最適化のために手動または自動で選択される、16進、ベース256、または他のNBaseなどの様々な数値ベースシステムを使用し得、含まれる例で提供される、16進として上に記載した、base−16に制限されない。
2進base−2システムが採用される場合、各データオブジェクトは、ビット、または8ビットの集合の場合はバイトによって測定して、1ビットまたは複数のビット含んで、値を定義し得る。16進は、base−16システムであり、1つの16進値の各々は、2進コードの4ビットに等しい。例えば、限定的ではなく、
16進値1=16の可能性のあるデータオブジェクトまたは4ビット
16進値2=256の可能性のあるデータオブジェクトまたは8ビット/1バイト
16進値3=4096の可能性のあるデータオブジェクトまたは12ビット
16進値4=65536の可能性のあるデータオブジェクトまたは16ビット/2バイト
16進値5=1048576の可能性のあるデータオブジェクトまたは20ビット
16進値6=16777218の可能性のあるデータオブジェクトまたは24ビット/3バイト
16進値7=268435456の可能性のあるデータオブジェクトまたは28ビット
16進値8=4294967296の可能性のあるデータオブジェクトまたは32ビット/4バイト
2進における同じ数のデータオブジェクトを表すのに、16進ではスペースの4分の1(1/4)が必要となる。
別の実施形態では、2進base−2システムが採用される場合、各データオブジェクトは、ビット、または8ビットの集合の場合はバイトによって測定して、1ビットまたは複数のビット含んで、値を定義し得る。256進は、base−256システムであり、1つの値の各々は、2進コードの8ビットに等しい。例えば、限定的ではなく、
256進値1=256の可能性のあるデータオブジェクトまたは8ビット/1バイト
256進値2=65536の可能性のあるデータオブジェクトまたは16ビット/2バイト
256進値3=16777216の可能性のあるデータオブジェクトまたは24ビット/3バイト
256進値4=4294967296の可能性のあるデータオブジェクトまたは32ビット/4バイト
別の実施形態では、2進base−2システムが採用される場合、各データオブジェクトは、ビット、または8ビットの集合の場合はバイトによって測定して、1ビットまたは複数のビット含んで、値を定義し得る。NBaseは、可変ベースシステムbase−Nであり、Nは1以上(≧1)の任意の正の整数(+i)として定義され、1つの値の各々は、2進コードの1以上(≧1)の正の整数(+i)である。データオブジェクトは、パック深度によって凝縮され得、パック深度は、1以上(≧1)の正の整数(+i)である。
1NBase値≧+iデータオブジェクト(単数または複数)及び≧+iパック深度における+iビット(単数または複数)
図1及び2は、データファイルをかなり小型のサイズに凝縮するための方法100と、その小型のサイズのファイルを、データの損失無しに(即ち、無損失)元のデータファイル(複数可)サイズに復元する方法200との例示的実施形態をそれぞれ示す流れ図である。図3に示される最適化データ凝縮器システム300は、概して、デスクトップコンピュータ、携帯型デバイス、マルチプロセッサシステム、パーソナルデジタルアシスタント(PDA)、ノートパソコン、ネットワークコンピュータ、クラウドサーバ、ミニコンピュータ、メインフレームコンピュータなどを挙げることができるが、これらに限定されない、コンピューティングシステムである。凝縮器システム300は、インターフェース(複数可)301、1つ以上のプロセッサ(複数可)302、及びプロセッサ(複数可)302に結合されたメモリ303を含む。プロセッサ(複数可)302は、メモリ303からソフトウェアを読み込んで実行する。凝縮器システム300による実行時、モジュール304は、プロセス(複数可)302に、本明細書に記載の凝縮方法100または復元方法200に関して記載したように動作するように指示する。
インターフェース301は、マウス、キーボード、音声入力デバイス、ユーザからの表示動作を受信するためのタッチ入力デバイス、ユーザによるタッチによらない表示動作及び他の動作を検出するための動作入力デバイス、ならびに他の同様の入力デバイス及びユーザからのユーザ入力を受信することができる関連する処理要素を含み得る。ビデオディスプレーまたはグラフィックディスプレーなどの出力デバイスは、本明細書に開示のシステム及び方法の実施形態と更に関連付けられるインターフェースを表示し得る。スピーカー、プリンター、力覚デバイス、及び他の種類の出力デバイスも、ユーザインターフェース301中に含まれ得る。更に、インターフェース(複数可)301は、システム300が、ウェブサーバ及び外部データベースなどの他のデバイスと通信するのを可能にしてもよい。インターフェース(複数可)301は、有線ネットワーク、例えば、ローカルエリアネットワーク(LAN)、ケーブルなど、及び無線LAN(WLAN)、セルラー、または衛星などの無線ネットワークを含む、多種多様なネットワーク及びプロトコルタイプ内の複数の通信を促進し得る。この目的で、インターフェース(複数可)301は、ある数のコンピューティングシステムを、互いに、または別のサーバコンピュータに接続するための1つ以上のポートを含んでもよい。
プロセッサ(複数可)302は、単一の処理ユニットまたはある数のユニットであり得、これらの全ては、複数のコンピューティングユニットを含み得る。プロセッサ302は、1つ以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、ステートマシン、論理回路、及び/または動作命令に基づいて信号を操作する任意のデバイスとして実装され得る。他の機能の中でも、プロセッサ(複数可)302は、メモリ303に記憶されたコンピュータ可読命令及びデータをフェッチし実行するように構成される。
メモリ303は、例えば、スタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、ならびに/または読み取り専用メモリ(ROM)、消去・プログラム可能ROM、フラッシュメモリ、ハードディスク、光学ディスク、及び磁気テープなどの不揮発性メモリを含む、当該技術分野で既知の任意のコンピュータ可読媒体であり得る。メモリ303はまた、モジュール(複数可)304及びデータ305を含む。
他のものの中でも、モジュール304は、特定のタスクを行うか、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。モジュール304は、インターフェースモジュール306、凝縮モジュール307、ライブラリカスタマイゼーションモジュール308、ビジュアルビューワモジュール309、復元モジュール310、及び必要に応じて場合により他のモジュールを更に含む。他のモジュールは、システム300上でアプリケーションを補完するプログラム、例えば、オペレーティングシステム中のプログラムを含んでもよい。一方で、データメモリ305は、他のものの中でも、モジュール304のうちの1つ以上によって処理、受信、及び生成されたデータを保管するための収納場所として働く。データメモリ305は、ソースファイル、所定の参照ファイル及び/または先進参照ファイルなどの参照ファイル314から成るライブラリデータ312、ならびに凝縮ファイル及び/または配列ファイル内などの出力データ313を含み得る、入力データ311を含む。出力データ313は、上記のモジュールのうちの1つ以上の実行の結果として生成されるデータを含む。
凝縮のために、システム300は入力データ311と関連付けられる。ソースファイルなどの入力データ311は、テキスト、画像、スプレッドシート、またはデータベース形式を含み得るがこれらに限定されず、インターフェースモジュール306によって選択され、モジュール307を介した凝縮のためにシステム300に提供される。モジュール307は、任意選択で、ライブラリカスタマイゼーションモジュール308を起動して、入力データ311を分析し、ライブラリ312を最適化する。凝縮モジュール307は、次に、ライブラリ312を使用して、入力データ311を出力データ313へと凝縮することになる。インターフェースモジュール306は、出力データ313を、データ305の凝縮ファイル(複数可)(または配列ファイル(複数可))として戻し、これは、メモリ303中の固定型または携帯型記憶媒体からアクセスされ得る。
復元のため、システム300は、凝縮ファイルなどの入力データ311と関連付けられる。この場合の入力データは、上で詳述したプロセスにおいて作成された凝縮ファイル(複数可)(または配列ファイル(複数可))である。入力データ311は、インターフェースモジュール306によって選択され、モジュール310を介した復元のためにシステム300に提供される。インターフェースモジュール306は、行き先モードオプションを与えて、ファイルまたはスクリーンのいずれかを復元する。ファイルが選択される場合、インターフェースモジュール306は、復元モジュール310を起動することになる。復元モジュール310は、ライブラリ312からの参照ファイル(複数可)を使用して、入力データ311を出力データ313へと復元することになる。インターフェースモジュール306は、テキスト、画像、スプレッドシート、またはデータベース形式を含み得るがこれらに限定されない、データ305のファイルとして、出力データ313を戻し、これは、メモリ303中の固定型または携帯型記憶媒体からアクセスされ得る。スクリーンが選択される場合、インターフェースモジュール306は、復元モジュール310を起動することになる。復元モジュール310は、ライブラリ312からの参照ファイル(複数可)を使用して、入力データ311を出力データ313へと復元することになる。インターフェースモジュール306は、出力データ313をビジュアルビューワモジュール309に戻し、これが、インターフェースモジュール301を使用して、出力データ313を、コンピュータモニター、または視覚的に凝縮されてない可視の形式での表示が可能な他のデバイス上に表示する。
凝縮モジュール307と連動して、プロセッサ(複数可)302は、ソースファイル内の、文字、数字、スペースなどの全ての形式のデータを読み取り、スペースを他の種類のデータ(例えば、文字、数字など)と区別する。凝縮モジュール307と連動して、プロセッサ(複数可)302は、次に、データオブジェクト(複数可)がソースファイル全体において繰り返される(例えば、再帰する)回数を決定する。
このデータに基づいて、プロセッサ(複数可)302は、ソースファイルを編集するか、または先進参照ファイル(複数可)を作成し、かかる参照ファイル(複数可)をライブラリに追加する。2回以上再帰するデータオブジェクト(複数可)は、先進参照ファイル(複数可)に追加されることになる。追加されるためにデータオブジェクト(複数可)が出現しなければならない回数(閾値)は、ユーザによって手動で定義されてもよく、または凝縮モジュール307によって自動で決定されてもよい。
例えば、データ凝縮器は、ASCII(ユニコード)形式使用時に特定の記号に使用される共通の128の値を越えて、20個のタームは、20回繰り返す5個の記号を有し、15個のタームは、15回繰り返す10個の記号を有し、5個のタームは、5回繰り返す50個の記号を有すると決定し得る。このプロセス中、データ凝縮器は、ASCII形式内の128の共通の特定の記号を超える閾値要件を満たす内部構造が合計で40個あることを決定する。
以下は、16進法の実施形態を利用するデータファイルで見られる、5、10、及び50個の記号の最適化の例を提供する。

各タームは、タームデータオブジェクトの1:1としてライブラリ312に一度書き込まれ、閾値を超えて計数された再帰的タームを表すことになる。各タームデータオブジェクトは、識別16進データオブジェクトに加えてポインタ16進データオブジェクトを必要とすることになる。これは、(20×5)+20の16進データオブジェクト、または120の全16進データオブジェクトを必要とすることになる。

各タームは、タームの1:1としてライブラリ312に一度書き込まれ、閾値を超えて計数された再帰的タームを表すことになる。各タームは、識別16進データオブジェクトに加えてポインタ16進データオブジェクトを必要とすることになる。これは、(15×10)+15の16進データオブジェクト、または165の全16進データオブジェクトを必要とすることになる。

各タームは、タームの1:1としてライブラリ312に一度書き込まれ、閾値を超えて計数された再帰的タームを表すことになる。各タームは、識別16進データオブジェクトに加えてポインタ16進データオブジェクトを必要とすることになる。これは、(5×50)+5(ビット)の16進データオブジェクト、または255の全16進データオブジェクトを必要とすることになる。
上に示した5、10、及び50個の記号のタームに限った再帰最適化のために、ライブラリ312に書き込まれた全内容は、仮想メモリプレフィックスファイルに供給されることになる総計540の16進データオブジェクトに対して120+165+255である。かかる例示の再帰プロセスは、故に、52,500個の記号を、凝縮されたデータにおいて540個の16進データオブジェクトで代置する。
5、10、及び50個の記号のタームに再帰プロセスを制限することなどによる閾値最適化を使用する代わりに、本データ凝縮器及び方法は、2つ以上の記号の再帰全てを感知し得、これが、使用が必要な16進(または他のNBase)データオブジェクトの総数の著しい減少をもたらしながらも、全ファイルの無損失凝縮を提供し得る。
識別された繰り返されない単一の記号または記号群の各々は、単一の16進(または他のNBase)データオブジェクトと関連付けられる。誤字の場合には、システムは、継続できなくなるまで意味された語の文字をチェックし、次に、完全な語の代わりに単一の文字を16進(または他のNBase)データオブジェクトに凝縮する。これにより、ソフトウェア障害または誤った出力なく、内部データオブジェクトのエラー及び不完全性の補償が可能となる。
再帰プロセスの完了時、本データ凝縮器及び方法は、概して、再帰に起因して最初の計数から著しく減少する数である、ライブラリ312中に含まれる凝縮されたデータの第2の計数を行う。
最適化されたライブラリは、再帰を通して識別された実体の記憶に使用される凝縮ファイル(複数可)を使用してもよく、凝縮されたデータを記憶するための容量要件を低減するために最適化される。例えば凝縮された正方配列ファイルを使用する場合、本データ凝縮器及び方法は、凝縮されたデータの総数の平方根を決定する。平方根が小数値を含む場合、平方根の数は、データの損失を防止するために、次に大きい整数に調整される。例えば、456,840の平方根は、675.8×675.8である。しかしながら、本データ凝縮器及び方法は、676×676(切り上げた次の最も近い整数)に切り上げる。配列ファイルは、その後、凝縮ファイル(複数可)から、16進、ベース256、または他のNBaseデータオブジェクトの全てをポピュレートされ、残りのスペースは、ファイル末まで無価値(例えば、ヌル)のデータオブジェクトによって満たされる。
16進の実施形態では、本データ凝縮器及び方法は、個々の16進値の数によって指定されたある数の所定の16進データオブジェクトを提供するが、これに限定されない。簡潔性のために「オブジェクト当たりの16進(Hex Per Object)」(HPO)として記載するかかる形式は、凝縮されたデータに基づいて自動的に及び/または手動で選択されて、データ処理及び記憶を更に最適化し得る。

本データ凝縮器及び方法は、故に、更なる最適化のために、構造化形式を選択することによって、記憶要件を凝縮する。例えば、6hpo形式によって提供される16,777,216個の値の利用は、効率的に最適化されるには多すぎるであろう。英語が変化形(進行形、過去形、最上級など)を含む約130,000個の共通語を有すると仮定される場合、4hpo形式(65,536個の値)の使用は少なすぎる。それよりも、本データ凝縮器及び方法は、最適化された形式として5hpo形式の1,048,576個の値を選択し得る。別の例として、エクソン/イントロンゲノムシークエンスは、1,000,000記号当たり約1,000,000ビットのデータ質量収支で、長さにして約45,000,000〜260,000,000個の記号にわたる。ゲノムシークエンスでは、8個のみの可能性のある記号、加えてヌル/非読(N)、及びファイル末が存在する。2hpo、4hpo、または6hpo形式を使用する必要はない。むしろ、16個の値を提供する1hpo形式で十分すぎるほどである。ゲノムシークエンス中の全部で8個のみの記号により、重パターンの再帰が生じ、したがって、最適化が決定され、所定の参照ファイル314またはライブラリ312に直接提供される。例えば染色体16は、約88,827,255個の遺伝子塩基対を含む。テキストファイルに配置されると、関連するファイル情報を含めて約88,830,625ビットが必要とされる。本データ凝縮器及び方法によって凝縮されると、ファイルサイズは、塩基対が損失することなく9425×9424に自動的に調整される。1hpo形式の選択により、元のサイズの約3%である2,683,293ビットへのファイルの減少が得られる。
本データ凝縮器及び方法は、規定のデータオブジェクトを含む1つ以上の所定の参照ファイルを提供し得る。本データ凝縮器及び方法は、各ソースファイル内の識別された反復データオブジェクトを、所定の参照ファイル内の所定のデータオブジェクトと相互に関連付けることによって、先進参照ファイルを形成する。先進参照ファイル内に位置する新たなデータオブジェクトには、固有の16進(または他のNBase)値が割り当てられ、かかる新たなデータオブジェクトは、新たな凝縮ファイルに追加される。どちらの事象においても、本データ凝縮器及び方法を使用することで、デジタルポインタが凝縮ファイル内の各データオブジェクトに追加される。例えば、1つの所定の参照ファイルは、1,048,576個の値を提供する5hpo形式で130,000個の共通の英語の語を含み得る。別の所定の参照ファイルは、16個の値を提供する1hpo形式で、全染色体についてのエクソン/イントロンゲノムシークエンスを含み得る。別の所定の参照ファイルは、4096個の値を提供する3hpo形式で、FastQ多変数形式を含み得る。別の所定の参照ファイルは、世界の各共通言語に対する変動と共に共通言語を含み得る。最適化は、5hpo形式以上で所定の参照ファイルに提供され得る。キャリッジリターン、ファイル末または行末などのヌル領域、セル表記、列、行、タブなどは、共通及び/またはFastQライブラリに組み込まれ得る。
所定の参照ファイルは、複数のデータオブジェクトがマージして単一の16進(またはNBase)データオブジェクトによって指定されるようにするのを可能にするように構造化され得る。故に、2個(以上)の関係しているが同一ではないスライディングスケールからの値は、マージすることができない。例えばゲノムデータを扱う場合、塩基対「A」(アデニン)は、特定のリンク及び場所の許容範囲内の「#」のフレッドスコアと組み合わされて、単一の16進(またはNBase)データオブジェクトによって識別される1つの値を作成し得る。
本データ凝縮器及び方法は、固有の16進(またはNBase)オブジェクトコードを各凝縮ファイル(例えば、所定の及び/または先進参照ファイル)に割り当てる。例として、データ「O say can you see by the dawn's early light,」には、以下のように16進データオブジェクトコード値が割り当てられ得る。
本データ凝縮器及び方法は、固有の16進、ベース256、または他のNBase値の割り当てによる特有の暗号化を、ライブラリに記憶された凝縮されたデータ(例えば、凝縮ファイル、配列ファイルなど)に提供する。受信者は、凝縮データファイル(複数可)を使用するために、かかる16進、ベース256、または他のNBase値を知っている必要がある。
本データ凝縮器及び方法は、凝縮されたデータファイル(複数可)中に含まれるデータについての代替開始点、位置シフト、フォールスデータオブジェクト、ブランク、及び非線形書き込みパターンを作成することによって強化され得る。
更に、本データ凝縮器及び方法は、現在の日付、現在時刻、キーワード、または他の一般的な英数字入力の選択を可能にする従来の暗号化技法を利用して、1回限りのキーを作成し、データの記録を暗号化し得る。言うまでもなく、データの受信者も、データをロック解除して利用するためのキーへのアクセスを有する。本データ凝縮器及び方法はまた、ユーザが、自身のアルゴリズムを作成すること、または更なるセキュリティを提供することを可能にする。例えば、1つの凝縮されたデータファイルは、別の凝縮されたデータファイルまたは標準のデータファイルで暗号化され得る。
本データ凝縮器及び方法は、従来のコンピュータ処理ユニット(CPU)上で機能するが、例えば、グラフィック処理ユニット(GPU)などの他の処理ユニット上でも動作する。
本データ凝縮器及び方法によって提供される特有または特殊暗号化は、標準の先入れ先出し(FIFO)法をサポートするが、その方式で動作することは求められない。ファイルの無作為の領域で開始し、その後、非線形の様式で座標から座標へと飛ぶことが可能である。
別の実施形態では、凝縮されたデータファイル(複数可)(例えば、凝縮ファイル、配列ファイルなど)は、FastQテキストファイルの内容から直接ポピュレートされ得る。各FastQデータパケットについては、行1中の各単一記号(例えば、数字または文字)は、コーディングされ、その後、行末マーカが続く。各FastQデータパケットの行2及び4は、組み合わされて、16進(またはNBase)データオブジェクトに凝縮された二重文字コードを作り、その後、行末(EoL)マーカが続くが、行3は無視される。全てのFastQデータパケットの凝縮が完了すると、行末マーカが追加される。次に、プロセッサ(複数可)302は、各単一文字または二重文字コードを16進(またはNBase)データオブジェクトに翻訳して、凝縮されたデータファイル要素の各々が、単一の16進(またはNBase)データオブジェクトを構成するようにする。凝縮されたデータファイルの残りは、ファイル末(EoF)マーカまで、無価値(例えば、ヌル)の16進(またはNBase)データオブジェクトで満たされる。
復元プロセスにおいて、凝縮ファイル(または配列ファイル)中の16進(またはNBase)データオブジェクトは、ソースファイル内の元のデータに復元される。上記の代替的な実施形態では、プロセッサ(複数可)302を使用して、各16進(またはNBase)データオブジェクトを、単一文字または二重文字の凝縮されていないデータオブジェクトに翻訳する。復元されたFastQデータパケットの各々は、ここでは2行である。各FastQデータパケットについて、(a)全ての16進(またはNBase)データオブジェクトは、行末まで読み込まれ、(b)各16進(またはNBase)データオブジェクトは、単一文字に翻訳され、データファイルにテキストがポピュレートされ、(c)テキストのFastQパケット行1は、凝縮されていないデータオブジェクトに書き込まれ、(d)全ての16進(またはNBase)データオブジェクトは、行末(EoL)まで読まれ、(e)FastQパケット行2は、凝縮されていないデータファイルへと読み込まれ(各要素は、2つのテキスト記号を有することになる)、(f)テキストの行(FastQパケット行2)への凝縮されていないデータファイル要素の各々の第1の記号が書き込まれ、(g)+記号を有するテキストの行(FastQパケット行3)が書き込まれ、かつ(h)テキストの行(FastQパケット行4)への凝縮されたデータファイル要素の各々の第2の記号が書き込まれる。行末マーカ(EoF)及び全ての無価値の16進データオブジェクトは無視される。結果として得られるテキストファイルは、もはや凝縮されておらず、保存され得る。
本データ凝縮器及び方法は、8進(ベース8)、10進(ベース10)、14進(tetradecimal)(ベース14)、15進(pentadecimal)(ベース15)、16進(hexadecimal)(ベース16)、24進(tetravigesimal)(ベース24)、32進(duotrigesimal)(ベース32)、36進(hexatrigesimal)(ベース36)、64進(tetrasexagesimal)(ベース64)、及び256進(Duocentosexapentagesimal)(ベース256)などであるがこれらに限定されない、異なる数値システムを有するコンピュータを採用し得る。
一部のベース2コンピュータは、ベース16(16進)コードを使用して、コンピュータメモリアドレスを表す。かかる16進表記は、2進コード化値を人に分かりやすく表示する。これは、16個の区域シンボル、ほとんどの場合、0〜9のシンボルを使用して、零から九の値を表し、A、B、C、D、E、及びF(または代替的にa〜f)を使用して、十から十五の値を表す。16進数の1桁は、1バイトの半分(8ビット)であるニブルを表す。バイト値は、0〜255(10進法)の範囲であり得るが、より簡便に、00〜FFの範囲の16進数の2桁として表されてもよい。
ベース256の実施形態では、256個の値の所定の(例えば、規定の)参照ファイルを利用して、データオブジェクトを変換し凝縮し、これは、元のデータソースファイルにおいて生じ得る。この実施形態では、全ての共通記号、英数字及びシンボルが、キャリッジリターン、タブ、ファイル末、及びヌルなどであるが、これらに限定されない、アクション記号と併せて含まれる。次に、ロングタームが追加され、英語において最も一般的に使用される複数記号語によって定義される。所定の(例えば、規定の)参照ファイルは、任意の言語(単数または複数)及び/またはトピック(単数または複数)に対して構築され得、英語に限定されない。
以下の例は、ベース256の所定の参照ファイルの使用を示す。
変換用の元のファイル:
−− The big brown rabbit likes green leafy carrots; he eats them all in the garden.−−
以下の語は、所定の参照ファイルにおいてベース256値を既に割り当てられた共通語である。

所定の参照ファイルはまた、全ての共通の英語のアルファベット記号及びシンボル、ならびにアクション記号を含む。
データ凝縮器は、次に、元のソースファイルを凝縮されたデータオブジェクトに変換する。元のソースファイルは、81個のデータオブジェクト(アルファベット記号、シンボル、アクション記号)を含む。元のデータオブジェクトの凝縮は、以下の方法によってその数を減少させる。
「the」の2回の使用=合計6個から減少した2個のデータオブジェクト
「big」=3個から減少した1個
「brown」=5個から減少した1個
「likes」=5個から減少した1個
「green」=5個から減少した1個
「he」=2個から減少した1個
「them」=4個から減少した1個
「all」=3個から減少した1個
減少したデータオブジェクト(6+3+5+5+5+2+4+3)の合計は33個であり、結果、9個の凝縮されたデータオブジェクトをもたらす。
(行末及びファイル末を含む元のデータオブジェクト81個−33)+結果として得られる凝縮されたデータオブジェクト9個
凝縮されたデータオブジェクトの合計=合計57個のデータオブジェクト。
配列ファイルは、次に、81個ではなく合計57個のデータオブジェクト数で定義され、平方根が決定され、最も近い整数に切り上げられ、配列ファイルは、段落[0045]において定義したようにポピュレートされる。
NBaseの実施形態での凝縮は、変数法によって行われ、単一のデータオブジェクトまたは多数のデータオブジェクトの再帰(ロングリード(long read))による最適化の選択が、単一の元のソースファイルまたは多数の元のファイルのために、最適化方法論と併せて選択され得る。
ショートリード(short read)のNBaseは、最適化されたライブラリの作成時に、単一のアルファベット記号、シンボル、及びアクション記号のみを利用する。
以下の例では、ショートリードのNBaseを使用して、単一の元のソースファイルを最適化する。
変換用の元のソースファイル:
−− AACCTGGTccccTTTCCGGAAAANNNNNCCccttggaaaa −−
ショートリード最適化は、ファイル内のデータオブジェクトを精査し、行末及びファイル末変数を含めて合計42個あることを決定する。NBaseは、次に、使用されたデータオブジェクトが、A、C、T、G、a、c、t、g、N、行末、及びファイル末であることを決定する。合計11個の固有のデータオブジェクトが元のソースファイル内に存在し、よって、NBase凝縮ファイルは、11個の固有のデータオブジェクトのみを使用することを必要として、ベース11セットとして定義されることになる。配列ファイルは、段落[0045]に記載のように作成される。
ロングリードのNBaseも、使用される全ての単一使用アルファベット記号、シンボル、及びアクション記号を読み込み、その後、凝縮ファイル内の残りのスペースを満たすために、最も再帰的なものを探して、全ての語及び/または語句を読み取る。完了したら、新たな凝縮ファイルを使用して、段落[0045]に記載の配列ファイルの作成のための正式なデータオブジェクト総数を決定する。
NBase複数ファイル最適化は、段落[0061]及び[0062]に記載したものと同じであるが、単一の元のソースファイルを読み込んで最適化した凝縮ファイルを定義する代わりに、これは、1つ超のファイルを読み込んで最適化された凝縮ファイルを決定するということにだけ注意されたい。
ベース256(またはNBase)の実施形態では、パック深度は、段落[0045]の方法によって書き込まれる1つの凝縮された配列ファイルにパックされた、ベース256(及び/またはNBase)が割り当てられた値の数である。パック深度は、1以上(≧1)の正の整数+iである必要がある。
以下の例では、[DO]中の項目は、所定の参照ファイルからの値と関連付けられたベース256(またはNBase)データオブジェクトの例として指定されることになる。()内の項目は、パック深度によって定義される単一の凝縮されたデータオブジェクト中に保持されると見なされることになる。EoLは、行末のためのデータオブジェクト参照を保持することになり、EoFは、ファイル末のためのデータオブジェクト参照を保持することになる。
1のパック深度:
([DO])([DO])([DO])([DO])([DO])([DO])([DO])([DO])([DO])([DO])([DO])([EoL])([EoF])
上の例では、EoL及びEoFを含む凝縮のためのデータオブジェクトは13個ある。故に、配列ファイルは、配列ファイルが段落[0045]に記載の様式で作成されるように、13の平方根によって定義されることになる。
2のパック深度:
([DO][DO])([DO][DO])([DO][DO])([DO][DO])([DO][DO])([DO][EoL])([EoF][NULL])
上の例では、EoL及びEoFを含む凝縮のためのデータオブジェクトは7個ある。故に、配列ファイルは、配列ファイルが段落[0045]に記載の様式で作成されるように、7の平方根として定義されることになる。
3のパック深度:
([DO][DO][DO])([DO][DO][DO])([DO][DO][DO])([DO][DO][EoL])([EoF][NULL][NULL])
上の例では、EoL及びEoFを含む凝縮のためのデータオブジェクトは5個ある。故に、その配列ファイルは、配列ファイルが段落[0045]に記載の様式で作成されるように、5の平方根として定義されることになる。
4のパック深度:
([DO][DO][DO][DO])([DO][DO][DO][DO])([DO][DO][DO][EoL])([EoF][NULL][NULL][NULL])
上の例では、EoL及びEoFを含む凝縮のためのデータオブジェクトは4個ある。故に、その配列ファイルは、配列ファイルが段落[0045]に記載の様式で作成されるように、4の平方根として定義されることになる。
パック深度は、上記の2つの実施形態において、プリセットされ得るか、または手動で定義され得る。全ての趣旨及び目的のために、上記の例のパック深度は、13に設定され得、配列ファイルは、13個のベース256(またはNBase)値がその単一の配列ファイルの内部に記憶された、サイズにして1個の凝縮されたデータオブジェクトである。
図1は、データファイルの1つの凝縮方法100を示す。本出願の様々な場所に示すように、本システム及び方法は、プロセッサが記憶媒体に記憶されたコンピュータコードを実行することによって達成され得る。
本プロセッサは、記憶システムからソフトウェアを読み出して実行するマイクロプロセッサ及び他の回路を備え得る。本プロセッサは、単一の処理デバイス内に実装され得るが、プログラム命令の実行において協働する複数の処理デバイスまたはサブシステムにわたって分配されてもよい。プロセッサの例としては、汎用中央処理ユニット、アプリケーション特有プロセッサ、及び論理デバイスだけでなく、任意の他の種類の処理デバイス、処理デバイスの組み合わせ、またはこれらの変形が挙げられる。
記憶デバイスは、プロセッサによる読み取りが可能であり、ソフトウェアを記憶する能力がある、任意の記憶媒体を備え得る。記憶システムは、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術中に実装される、揮発性及び不揮発性の取り外し可能及び不可能な媒体を含み得る。記憶システムは、単一の記憶デバイスとして実装され得るが、複数の記憶デバイスまたはサブシステムにわたって実装されてもよい。記憶システムは、プロセッサと通信する能力のあるコントローラなどの追加の要素を更に含み得る。
記憶媒体の例としては、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光学ディスク、フラッシュメモリ、仮想メモリ及び非仮想メモリ、磁気セット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、命令実行システムによってアクセス可能であり得る任意の他の媒体、ならびにこれらの任意の組み合わせもしくは変形、または任意の他の種類の記憶媒体が挙げられる。
ステップ1.0は、凝縮ソフトウェアの立ち上げを伴う。ソースファイル(複数可)の凝縮のためのコードは、それが存在するオペレーティングシステムプラットフォームに基づいて、実行、起動、及び/または開始される。この動作の際、凝縮ソフトウェアは、凝縮プロセスの経過中に必要に応じて使用するために、適切な構成要素をアクティブメモリ(RAM)に、補助的な構成要素を固定型または携帯型記憶媒体に読み込む。
ステップ1.1は、以降はソースファイル(複数可)とする、凝縮されるソースファイル(複数可)の選択を伴う。ソースファイル(複数可)の選択は、凝縮ソフトウェアメニューを通して成される。これは、メニューダイアログボックスを閲覧すること、ファイル(複数可)を凝縮ソフトウェア中にドラッグ・アンド・ドロップすること、及び/またはファイル(複数可)オプションを開いて選択することを含み得るが、これらに限定されない。これは、凝縮用のファイル(複数可)を読み込み、凝縮のプロセスのためにソースファイル(複数可)への連係を作成する。
ステップ1.2は、ソースファイル(複数可)の分析を伴う。ソースファイル(複数可)分析は、以下のうちの1つ以上を含んでもよいが、列挙する例に限定されない。
・ソースファイル(複数可)中に存在する全データオブジェクトの計数
・内部フォーマット化(例えば、スプレッドシート、FastQファイルなど)の評定
・再帰的データオブジェクトの識別(例えば、群の定義)
・所定の/特有のデータオブジェクトの識別(例えば、所定の参照ファイルから)
・所定の/手動で入力されたアルゴリズム(例えば、数値ベースコーディングシステム)
全ての基準が、デフォルトで、または手動で決定された方法によって、満たされると、これらのデータオブジェクト(例えば、1つ以上のASCIIテキスト記号)の合計が定まって既知となり、それにより、プロセスが凝縮における次のステップに移動することが可能となる。
ステップ1.3は、所定の参照ファイル(複数可)及び凝縮ファイル(複数可)の任意選択の最適化を開始する。ソースファイル分析に基づいて、16進、ベース256、または他のNBase値をデータオブジェクト(複数可)と関連付けること、及び配列ファイルのための3のデフォルト値以外のパック深度の選択によって、所定の参照ファイル(複数可)(及び凝縮ファイル(複数可))をカスタマイズするために、オプションが存在する。凝縮の最適化のカスタマイズされた方法は、手動で特定されるか、または自動で選択される。
ステップ1.4は、凝縮されたデータを保持するための配列ファイル(複数可)の確立に関する。既知のデータオブジェクト(複数可)の全ては、整数である。データオブジェクトの平方根が導かれる。これを使用して、配列ファイル(複数可)のX軸及びY軸のためのパラメータを決定する。平方根の大部分が小数位の使用を伴うため、導かれた凝縮されたデータオブジェクトの合計の平方根は、最も近い整数に切り上げられて、配列ファイル(複数可)が、常にソースファイル(複数可)の凝縮を処理するのに十分に大きいが、決してデータオブジェクトの1つ未満の更なる列に対する更なる必要性を上回ってスペースを無駄にしないようにする。データオブジェクトの平方根が最も近い整数に切り上げられるとすると、凝縮された配列ファイル(複数可)は、X軸及びY軸の両方に対して、整数として定義されることになる。これは、仮想メモリを配列形成プロセスに対して準備する。
ステップ1.5は、凝縮プロセスを開始する。ソースファイル(複数可)への凝縮の開始は、進めるという承認から始まる。
ステップ1.6は、評定されたデータオブジェクトを、処理のためにソースファイルに読み込むことに関する。凝縮のためのデータオブジェクトの読み込みは、1つ以上の方法として行われるが、列挙する例に限定されない。
・一度に1つのデータオブジェクト
・ステップ1.3で行われる最適化分析に基づく
・所定の/特有の構造
データオブジェクトは、凝縮処理のためにアクティブメモリに読み込まれる。
ステップ1.7は、評定されたデータオブジェクト及び/またはデータオブジェクト群のために定義された16進、ベース256、または他のNBase値を取得するためのソースファイルのアドレッシングに関する。アクティブメモリ中のデータオブジェクトは、元のソースファイル(複数可)に含まれるデータオブジェクト(複数可)に対する指定された16進、ベース256、または他のNBase値割り当てを保持する、所定の参照ファイル(複数可)と比較される。
ステップ1.8は、凝縮ファイル(複数可)にコーディングされたデータをポピュレートすることに関する。16進、ベース256、または他のNBase値の書き込みは、種々の方法で凝縮ファイル(複数可)に書き込まれ得るが、列挙する例に限定されない。
・左から右、上から下(デフォルト)
・中心から反時計回り
・カスタム設計及び割り当てられたパターン、ならびに/または
・フラクタル方法論
・ストリーム
・ステップ1.3で行われる最適化分析に基づく
ステップ1.9は、変換周期に言及する。凝縮ファイル(複数可)のポピュレートは、ソースファイル(複数可)から読み取る更なるデータオブジェクトがなくなるまで継続することになる。凝縮ファイル(複数可)は、更なるデータオブジェクトに遭遇し(ステップ1.6を参照されたい)、ステップ1.7及び1.8を再び通る場合に、ポピュレートし続けることになる。更なるデータオブジェクトが遭遇されない場合、本プロセスは、ステップ1.10に進むことになり、これが、周期的プロセスを終結させる。これが発生するときに、本プロセスはファイル完了プロトコルに進む。
ステップ1.10は、凝縮ファイル(複数可)末をマーキングすることに関する。16進、ベース256、または他のNBase値が、ファイルターミネータ末に割り当てられる。この16進、ベース256、または他のNBase値は、いずれの他の16進、ベース256、または他のNBase値の割り当てとも決して共有されないが、実際に指定された、多様な理由に対して割り当てられた16進、ベース256、または他のNBase値において異なり得る。この16進、ベース256、または他のNBase値は、データファイルにおいて一度だけ使用される。
ステップ1.11は、凝縮ファイル(複数可)中の残りのファイルスペースに、ヌルに対する16進、ベース256、または他のNBase値をポピュレートすることに関する。ヌルは、空きスペースとしても知られ、ファイル末と似ているが、ファイル末はターミネータとして一度だけ使用され得るため、仮想メモリ中に存在する凝縮ファイル(複数可)におけるいずれの残りのスペースも、凝縮されたファイル(複数可)の構造的要件につき、ポピュレートされる必要がある。16進、ベース256、または他のNBase値が、ヌルに割り当てられる。この値は、いずれの他の16進、ベース256、または他のNBase値の割り当てとも決して共有されないが、実際に指定された、多様な理由に対して割り当てられた16進、ベース256、または他のNBase値において異なり得る。
ステップ1.12は、凝縮ファイル(複数可)のネーミングに関する。凝縮出力ファイル(複数可)は、凝縮されたファイル(複数可)に必要とされる十分な書き込みスペースを有する任意の固定型または携帯型記憶媒体に記憶され得る。名称は、このときに、凝縮されたファイル(複数可)に対して決定され得る。このネーミングは、特定の要件は有さず、その場で、または外部で決定された基準によって決定され得る。
ステップ1.13は、凝縮ファイル(複数可)を、記憶のためにディスクに書き込む。アクティブメモリ中の凝縮ファイル(複数可)は、固定型または携帯型記憶媒体の記憶域に書き込まれ、今後は凝縮されたデータ出力ファイルと称される。凝縮ファイル(複数可)は、その新たな凝縮された状態における修正なく、固定型または携帯型記憶媒体から必要に応じてアクセスされ得る。
ステップ1.14は、ソースファイル(複数可)及び凝縮ファイル(複数可)を閉じる。ソースファイル(複数可)及び凝縮ファイル(複数可)は、アクティブメモリからリリースされる。
ステップ1.15は、凝縮ソフトウェアを閉じる。凝縮ソフトウェアは、アクティブメモリからリリースされる。ソフトウェアの実行において使用されたいずれの一時データファイルも削除される。
図2は、凝縮されたデータのその元の凝縮されていない状態への1つの復元方法200を示す。
ステップ2.0は、復元プログラムの立ち上げに関する。凝縮されたファイル(複数可)の復元のためのコードは、それが存在するオペレーティングシステムプラットフォームに基づいて、実行、起動、及び/または開始される。この動作の際、復元ソフトウェアは、復元プロセスの経過中に必要に応じて使用するために、適切な構成要素をアクティブメモリ(RAM)に、補助的な構成要素を固定型または携帯型記憶媒体に読み込む。復元使用は、仮想環境中で凝縮されたファイル(複数可)の一部を手早く見る必要性、及び利用可能な曖昧な凝縮されたデータファイル技術を有さないシステムまたは実体への転送のための完全なソースファイル(複数可)への復元が中心となる。
ステップ2.1は、復元ソフトウェアメニューを通した凝縮ファイル(例えば、凝縮されたファイルまたは復元ファイル)(複数可)の選択に関する。凝縮ファイル(複数可)の選択は、復元ソフトウェアメニューを通して成される。これは、メニューダイアログボックスを閲覧すること、凝縮ファイル(複数可)を復元ソフトウェア中にドラッグ・アンド・ドロップすること、及び/または凝縮ファイル(複数可)オプションを開いて選択することを含み得るが、これらに限定されない。これは、凝縮ファイル(複数可)を読み込み、凝縮のプロセスのために凝縮ファイル(複数可)への連係を作成する。
ステップ2.2は、復元する凝縮されたデータファイル(複数可)の量に関する。ユーザは、復元する凝縮ファイル(複数可)の100%未満のある特定の量を指定し得る。この量は、選択されたパーセンテージ、行番号、または他の列挙しない方法であってもよい。
ステップ2.3は、出力方法の選択に関する。ユーザは、出力データファイル(複数可)(例えば、行き先また仮想ファイル)または視覚媒体上の表示ウィンドウへの出力を指定し得る。出力データファイル(複数可)は、出力データファイル(複数可)に必要とされる十分な書き込みスペースを有する任意の固定型または携帯型記憶媒体に記憶され得る。名称は、このときに、出力データファイル(複数可)に対して決定され得る。このネーミングは、特定の要件は有さず、その場で、または外部で決定された基準によって決定され得る。
ステップ2.4は、凝縮ファイル(複数可)の読み込みに関する。凝縮ファイル(複数可)は、以下の方法のうちの1つを使用して読み込まれるが、列挙する例に限定されない。
・左から右、上から下(デフォルト)
・中心から反時計回り
・アルゴリズムで割り当てられたパターン
・フラクタル方法論
・ライブラリによる決定
・ストリーム
ステップ2.5は、凝縮ファイルから16進、ベース256、または他のNBase値を読み込むことに関する。16進、ベース256、または他のNBase値は、凝縮ファイル(複数可)から読み込まれる。
ステップ2.6は、凝縮ファイルにおける指定された先進参照ファイル及びパック深度のコンサルテーションに関する。16進、ベース256、または他のNBase値は、ライブラリに対して適格性評価される。ライブラリは、16進、ベース256、または他のNBase値を、元のソースファイル(複数可)と関連付けられた割り当てられたデータオブジェクトとリンクさせる。
ステップ2.7は、復元されたデータオブジェクトをメモリ中の行き先データファイル(複数可)に書き込むことに関する。復元されたデータオブジェクトは、次に、以下の方法のうちの1つ以上において行き先ファイル(複数可)中にポピュレートされるが、リスト中の例に限定されない。
・所定の/手動で入力されたアルゴリズムの復元
・識別された再帰的構造実体
・形式特有
・ライブラリによる決定
・ストリーム
行き先ファイル(複数可)は、アクティブメモリ(RAM)中に存在する。行き先ファイル(複数可)のポピュレートは、凝縮ファイル(複数可)中でファイル末(EoF)16進、ベース256、または他のNBase値(1.11)に遭遇するまで継続することになる。行き先ファイル(複数可)は、凝縮前の元のソースファイル(複数可)と同じ様式で形式化され、この元のソースファイル(複数可)は、以下の種類の内の1つのファイルであり得るが、列挙する例に限定されない。
・ワード、エクセル、テキストファイル
・データベースファイル
・電子医療記録
・ログファイル
・FASTQ/ゲノムファイル
・2進ファイル
ステップ2.8は、復元周期に言及する。書き込み周期は、復元ソフトウェアがアクティブメモリまたは固定型もしくは携帯型記憶媒体に情報を書き込む必要がある単一インスタンスとして定義される。システム限界が、2.2でユーザによって指定された量または全ての行き先ファイルのアクティブメモリ(RAM)への書き込みに対応する場合、復元ソフトウェアは、1回の書き込み周期のみが必要であり、行き先ファイル(複数可)のポピュレートが、凝縮ファイル(複数可)から読み取る更なる16進、ベース256、または他のNBase値がなくなるまで継続することを認識する。システム限界が、2.2でユーザによって指定された量または全ての行き先ファイルのアクティブメモリ(RAM)への書き込みに対応しない場合、復元プログラムは、1回超の書き込み周期の量を計算し、これにより、行き先ファイル(複数可)の分割したポピュレートが可能となる。書き込み周期のサイズがどのように計算されるべきかの決定は、以下の方法のうちの1つであり得るが、これらに限定されない。
・凝縮されたデータファイル内の行末により
・凝縮されたファイルの割合またはパーセンテージにより
・利用可能なRAMの割合またはパーセンテージを使用して
ステップ2.9は、復元ソフトウェアがその最後の書き込み周期に達したことの決定に言及する。最後の書き込み周期の最後に達した場合、復元ソフトウェアはステップ2.10に進む。最後の書き込み周期の最後に達していない場合、復元ソフトウェアはステップ2.9.5に進む。
ステップ2.9.5は、行き先ファイルを固定型または携帯型記憶媒体の一時データファイルに書き込ことに言及する。一時データファイルの特徴は、ステップ2.7に記載の行き先ファイルと同じ仕様及び制限に従う。
ステップ2.10は、データファイル(複数可)出力またはビューワ出力の先の選択に言及する。(ステップ2.3)プロセスは、データファイル(複数可)またはビューワへの出力の間でこの時点で分化する。
ステップ2.11は、行き先ファイル(複数可)の固定型または携帯型記憶媒体への書き込みの確定に関する。復元プロセスに関与する一時データファイル(複数可)及びアクティブメモリ中の行き先ファイル(複数可)は、組み合わされて、固定型または携帯型記憶媒体に書き込まれる。行き先ファイル(複数可)は、ここでは、固定型または携帯型記憶媒体から必要に応じてアクセスされ得るデータファイルとして存在する。
ステップ2.12は、ソースファイル及び出力データファイルを閉じる。ソースファイル及び出力データファイルは、アクティブメモリからリリースされる。復元プロセスに関与する一時データファイルは、固定型または携帯型記憶媒体から削除される。
ステップ2.13は、視覚表示が選択された場合(ステップ2.3)の表示ウィンドウの作成に言及する。行き先ファイルを閲覧することができるアクティブメモリにおけるプロセスを作成する。
ステップ2.14は、復元された行き先ファイル(複数可)をステップ2.13で作成されたビューワウィンドウに出力することに言及する。復元プロセスに関与する一時データファイル(複数可)及びアクティブメモリ中の行き先ファイル(複数可)は、組み合わされ、ビューワウィンドウにおける閲覧に備えられる。これは、検査、内容の診断/審査のための視覚媒体のディスプレーへの伝送である。
ステップ2.15は、ソース行き先ファイル(複数可)及びビューアウィンドウを閉じる。行き先ファイル(複数可)及び表示ウィンドウは、アクティブメモリからリリースされる。復元プロセスに関与する一時データファイルは、固定型または携帯型記憶媒体から削除される。
ステップ2.16は、復元ソフトウェアを閉じる。復元ソフトウェアは、アクティブメモリからリリースされる。ソフトウェアの実行において使用されたいずれの一時ファイルも削除される。
前述の説明では、ある特定の用語が、簡潔性、明確性、及び理解のために使用されてきた。かかる用語は、説明目的で使用され、広く解釈されることを意図しているため、不要な制限が、そこから先行技術の要件を越えて推測されるべきではない。本明細書に記載の異なる構成、システム、及び方法ステップを、単独で、または他の構成、システム、及び方法ステップと組み合わせて、使用してもよい。様々な等価物、代替物、及び修正が、添付の特許請求の範囲の範囲内で可能であることが予期される。

Claims (18)

  1. データ記憶を低減し、かつ要件を処理するための無損失データ凝縮器であって、
    データメモリであって、
    凝縮されるデータオブジェクトを有するソースファイルと、
    所定のデータオブジェクト及び所定のデータオブジェクト群を有する所定の参照ファイルと、
    前記ソースファイル及び前記所定の参照ファイルのうちの少なくとも1つから取得されたアルゴリズムで選択されたデータオブジェクト及びアルゴリズムで選択されたデータオブジェクト群を有する先進参照ファイルと、
    凝縮されたデータオブジェクト及び凝縮されたデータオブジェクト群を含む凝縮ファイルと、
    前記凝縮されたデータオブジェクト及び前記凝縮されたデータオブジェクト群の配列を含む配列ファイルと、を含む、データメモリと、
    凝縮プロセッサであって、
    前記データオブジェクトの計数に少なくとも部分的に基づいて、少なくとも1つの数値ベースコーディングシステムを選択し、
    前記データオブジェクトの前記計数に少なくとも部分的に基づいて、前記配列ファイルのパック深度を選択し、
    前記データオブジェクトの前記計数に少なくとも部分的に基づいて、少なくとも1つの数値ベースコーディングシステムを制限し、
    前記ソースファイル内の前記データオブジェクトを分析して、1つ以上の再帰データオブジェクト及び再帰データオブジェクト群を探し出し、
    第1の固有のコードを前記所定の参照ファイル内の前記データオブジェクト及びデータオブジェクト群に割り当て、
    第2の固有のコードを前記先進参照ファイル内の選択された再帰データオブジェクト及びデータオブジェクト群ならびに選択された非再帰データオブジェクト及びデータオブジェクト群に割り当て、
    前記コーディングされたデータオブジェクト及び前記コーディングされたデータオブジェクト群を前記凝縮ファイル内に配置し、かつ
    前記配列ファイル内に前記凝縮されたデータオブジェクトの配列を構築するように動作可能な凝縮プロセッサと、を備え、
    前記無損失データ凝縮器が、効率的で正確な無損失データ記憶及び転送を可能にする、無損失データ凝縮器。
  2. 前記凝縮プロセッサが、所定のデータオブジェクト及びデータオブジェクト群に割り当てられたベース256コーディングシステムと、所定でないデータオブジェクト及びデータオブジェクト群に割り当てられたベース16コーディングシステムと、を有する、請求項1に記載の無損失データ凝縮器。
  3. 前記メモリ配列が、必要に応じて整数に切り上げられたコーディングされたデータオブジェクト及びデータオブジェクト群の総数の平方根によって定義され、ヌルデータオブジェクトが必要に応じて前記配列を満たす、請求項1に記載の無損失データ凝縮器。
  4. 無損失凝縮動作を行うための装置であって、
    データオブジェクトの入力データを含む少なくとも1つのデータファイルを有するデータソースメモリと、
    データオブジェクト群を単一のデータオブジェクトと区別し、かつ選択された閾値を超えて反復する反復データオブジェクト群を区別するように構成された凝縮プロセッサと、
    規定のデータオブジェクト及び所定のデータオブジェクト群を含むカスタマイズされたファイルを含む参照ライブラリと、を備え、
    前記凝縮プロセッサが、固有のコードを前記反復データオブジェクト及びデータオブジェクト群ならびに非反復データオブジェクト及びデータオブジェクト群に割り当てて、凝縮ファイルを提供するように更に構成される、装置。
  5. 前記凝縮プロセッサが、ベース256コーディングシステムを、規定のデータオブジェクト及びデータオブジェクト群に割り当て、ベース16コーディングシステムを、規定されていないデータオブジェクト及びデータオブジェクト群に割り当てる、請求項4に記載の装置。
  6. 前記メモリ配列が、必要に応じて整数に切り上げられたコーディングされたデータオブジェクト及びコーディングされたデータオブジェクト群の総数の平方根によって定義され、ヌルデータオブジェクトが必要に応じて前記配列を満たす、請求項4に記載の無損失データ凝縮器。
  7. データ記憶を低減し、かつ要件を処理するための無損失データ凝縮器であって、
    データオブジェクトの入力データを含む少なくとも1つのデータファイルを有するデータソースメモリと、
    各々が前記データソースメモリ中のデータオブジェクトの繰り返しパターンに従って1つ以上のデータオブジェクトを含むデータオブジェクト群を有する凝縮メモリと、
    前記データソースメモリ中のデータオブジェクト及びデータオブジェクト群の数に基づいて、複数の数値ベースコーディングシステムのうちの少なくとも1つを選択するように動作可能な凝縮プロセッサと、
    前記選択された数値ベースコーディングシステムのうちの少なくとも1つからの固有のコードが割り当てられた規定のデータオブジェクト及び規定のデータオブジェクト群を有するカスタマイズされた参照ライブラリメモリと、
    選択されたコーディングされた規定のデータオブジェクト群と共に、前記数値ベースコーディングシステムのうちの少なくとも1つからの固有のコードが割り当てられた再帰データオブジェクト及びデータオブジェクト群ならびに非再帰データオブジェクト及びデータオブジェクト群を有する定式化された参照ライブラリメモリと、を備え、
    前記定式化された参照ライブラリメモリが、メモリ配列であって、必要に応じて整数に切り上げられたコーディングされたデータオブジェクト及びデータオブジェクト群の総数の平方根によって定義され、ヌルデータオブジェクトが必要に応じて前記配列を満たし、前記メモリ配列パック深度が、前記定式化された参照ライブラリ内のコーディングされたデータオブジェクト及びデータオブジェクト群の総数の計数に基づく、メモリ配列を有する、無損失データ凝縮器。
  8. データ記憶を低減し、かつ要件を処理するための無損失データ凝縮器であって、
    凝縮される複数の再帰データオブジェクト及び非再帰データオブジェクトを含む入力データを記憶する少なくとも1つのソースファイルを有するデータメモリと、
    入力データからデータオブジェクトを受信し読み取るように動作可能なインターフェースメモリと、
    対応するデータオブジェクトに関するコーディングされた値を記憶する参照ライブラリと、
    前記入力データを最適化するために前記参照ライブラリに接続される凝縮プロセッサと、
    最適化された入力データを受信し、かつ凝縮された出力データを提供するために接続される凝縮メモリと、を備える、無損失データ凝縮器。
  9. 前記凝縮プロセッサが、最適な凝縮されたファイルサイズに基づいて数値ベースコーディングシステムを割り当てる、請求項8に記載の無損失データ凝縮器。
  10. 前記凝縮プロセッサが、ベース256コーディングシステムを前記参照ライブラリデータオブジェクトに割り当て、ベース16コーディングシステムをデータメモリデータオブジェクトに割り当てる、請求項9に記載の無損失データ凝縮器。
  11. 前記凝縮プロセッサが、データオブジェクト群の繰り返しパターンの数に少なくとも部分的に基づいて、数値ベースコーディングシステムを割り当てる、請求項9に記載の無損失データ凝縮器。
  12. 前記凝縮メモリが、記憶要件を低減するように選択されたパック深度を有する、請求項8に記載の無損失データ凝縮器。
  13. 無損失データ凝縮システムであって、
    データオブジェクト群の繰り返しパターンの数に基づいて複数の数値ベースコーディングシステムから少なくとも1つの数値ベースコーディングシステムを選択し、かつ前記選択された数値ベースコーディングシステムのうちの前記少なくとも1つからの固有のコードを各データオブジェクト群に割り当てるように構成された凝縮プロセッサと、
    凝縮されたデータ記憶及びデータ転送を提供するためにコーディングされたデータオブジェクト群を有する凝縮メモリと、を備える、無損失データ凝縮システム。
  14. 無損失データ凝縮システムであって、
    固有のコードをデータオブジェクトの繰り返しパターンを含むデータオブジェクト群に割り当てるように構成された凝縮プロセッサと、
    前記メモリ配列の記憶要件を低減するように選択されたパック深度を有するコーディングされたデータオブジェクト群を記憶するメモリ配列と、を備える、無損失データ凝縮システム。
  15. 凝縮されたデータオブジェクトを凝縮されていない形態に復元するための装置であって、
    データメモリであって、
    凝縮されたデータオブジェクトを有する凝縮ファイルと、
    凝縮されていないデータオブジェクトのための少なくとも1つの宛先モードと、
    コーディングされた凝縮された再帰データオブジェクト及び凝縮された非再帰データオブジェクト、ならびに前記凝縮ファイルと関連付けられた少なくとも1つ以上の数値コーディングシステム及び該当する場合には前記パック深度を識別する情報を有する参照ファイルと、を含む、データメモリと、
    復元プロセッサであって、
    復元する前記凝縮されたデータオブジェクトの少なくとも一部を選択し、
    凝縮されていないデータオブジェクトの使用のための前記宛先モードを選択し、
    前記データオブジェクト損失のない効率的で正確な使用のために、前記凝縮ファイルを前記参照ファイルとリンクさせて、前記凝縮されたデータオブジェクトを凝縮されていないデータオブジェクトに復元するように動作可能である、復元プロセッサと、を備える、装置。
  16. 数字、文字、語、語句、及び他の印などのデータオブジェクトを無損失データ凝縮して、効率的で正確な安全なデータ評価、データ記憶、及びデータ転送を可能にするための方法であって、
    凝縮されるデータオブジェクトコレクションを取得することと、
    前記データオブジェクトコレクションをソースファイル内に配置することと、
    データオブジェクトの総数を計数することを含む前記ソースファイルの分析を実施することと、
    前記ソースファイルを読み取り、前記ソースファイル内のデータオブジェクトの繰り返しパターンに応答して、各々が1つ以上のデータオブジェクトを含むデータオブジェクト群を作成することと、
    データオブジェクト群の総数を計数することと、
    データオブジェクト群の選択された量に基づいて、1つ以上の数値ベースコーディングシステムを選択することと、
    規定のデータオブジェクト群の1つ以上のライブラリ参照ファイルを確立することと、
    前記選択されたコーディングシステムからの第1の固有のコードを各規定のデータオブジェクト群に割り当てることと、
    個々の再帰データオブジェクト群を非再帰データオブジェクト群と区別して識別することと、
    前記選択されたコーディングシステムからの第2の固有のコードを規定のデータオブジェクト群ではない各再帰データオブジェクト群及び非再帰データオブジェクト群に割り当てることと、
    コーディングされたデータオブジェクト群を1つ以上のライブラリ参照ファイル内に配置することと、
    前記ソースファイルを読み取り、コーディングされたデータオブジェクト群の総数を計数することと、
    メモリ配列の前記パック深度を選択することと、
    選択されたコーディングされたデータオブジェクト群の総数の平方根によって定義される前記メモリ配列を形成し、整数を確立するために必要に応じて切り上げることと、
    ヌルのコーディングされたデータオブジェクトを追加して、前記配列を満たすことと、
    前記配列を記憶媒体に配置することと、を含む、方法。
  17. データを凝縮して、低減されたデータ記憶及び処理を提供する方法であって、
    複数のデータオブジェクトを含むデータファイルを読み取ることと、
    各々が1つ以上のデータオブジェクトを含む再帰データオブジェクト群を非再帰データオブジェクト群と区別して識別することと、
    コードを各再帰データオブジェクト群及び非再帰データオブジェクト群に割り当てることと、
    最適なサイズの参照ライブラリを定式化することと、
    前記コーディングされたデータオブジェクト群をデータ記憶及び処理のために前記参照ライブラリに配置することと、を含む、方法。
  18. 数、文字、語、語句、及び他の印などの凝縮されたデータオブジェクトの無損失データ復元のための方法であって、
    凝縮されたデータオブジェクトの凝縮ファイルを取得することと、
    復元する前記凝縮されたデータオブジェクトの少なくとも一部を選択することと、
    復元されたデータオブジェクトのための宛先モードを選択することと、
    凝縮された再帰データオブジェクト及び凝縮された非再帰データオブジェクトに割り当てられたコードを有する参照ファイルであって、前記凝縮ファイルと関連付けられた少なくとも1つ以上の数値コーディングシステム及び該当する場合には前記パック深度を識別する情報を有する、参照ファイルを取得することと、
    前記データオブジェクト損失のない効率的で正確な使用のために、前記凝縮ファイルを前記参照ファイルとのリンクに基づいて読み取って、前記凝縮されたデータオブジェクトを凝縮されていないデータオブジェクトに復元することと、を含む、方法。

JP2016545827A 2014-01-29 2015-01-29 最適化されたデータ凝縮器及び方法 Withdrawn JP2017513252A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461933104P 2014-01-29 2014-01-29
US61/933,104 2014-01-29
PCT/US2015/013424 WO2015116762A1 (en) 2014-01-29 2015-01-29 Optimized data condenser and method

Publications (1)

Publication Number Publication Date
JP2017513252A true JP2017513252A (ja) 2017-05-25

Family

ID=52472607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545827A Withdrawn JP2017513252A (ja) 2014-01-29 2015-01-29 最適化されたデータ凝縮器及び方法

Country Status (9)

Country Link
US (1) US10437825B2 (ja)
EP (1) EP3097644A1 (ja)
JP (1) JP2017513252A (ja)
KR (1) KR102227912B1 (ja)
CN (1) CN105940611B (ja)
AU (1) AU2015211043A1 (ja)
CA (1) CA2936485C (ja)
TW (1) TW201535984A (ja)
WO (1) WO2015116762A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867134B2 (en) * 2016-09-02 2020-12-15 Hitachi High-Tech Corporation Method for generating text string dictionary, method for searching text string dictionary, and system for processing text string dictionary
WO2020247243A1 (en) * 2019-06-04 2020-12-10 Delahoussaye Kevin Neuroscience based learning-computing
CN111580800B (zh) * 2020-04-14 2024-08-09 新浪技术(中国)有限公司 Golang语言下静态资源打包方法及装置
CN112054805B (zh) * 2020-09-14 2023-03-31 哈尔滨工业大学(深圳) 一种模型数据压缩方法、系统及相关设备
US11487467B1 (en) * 2021-05-28 2022-11-01 Microsoft Technology Licensing, Llc Layered memory mapped file technology

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
IL91221A (en) 1989-08-04 1995-03-30 Ibm Israel Binary text compression method
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
WO1996031007A1 (en) * 1995-03-24 1996-10-03 Motorola Inc. Data compression encoder/decoder and method for efficient duplicate string handling
US5742707A (en) 1995-06-27 1998-04-21 Motorola, Inc. Method and system for compressing a pixel map signal using a hybrid polynomial coefficient signal
WO1997031327A1 (en) 1996-02-26 1997-08-28 Motorola Inc. Personal human genome card and methods and systems for producing same
US5854857A (en) 1996-09-26 1998-12-29 Xerox Corporation Using encoding cost data for segmentation and background suppression in JPEG-compressed images
CN1238602A (zh) 1999-03-22 1999-12-15 刘杰 一种以颜色为编码的信息存储方法
MY130357A (en) 1999-05-24 2007-06-29 Tani Electronics Corp Method of expression, recording, reproduction, and communication of computer object using color, apparatus for recording and/or reproduction, recording medium, and method of preparation of code
AU2002259081A1 (en) 2001-05-01 2002-11-11 Amicas, Inc. System and method for repository storage of private data on a network for direct client access
US7188310B2 (en) * 2003-10-09 2007-03-06 Hewlett-Packard Development Company, L.P. Automatic layout generation for photobooks
US20100299531A1 (en) 2004-03-17 2010-11-25 Fidelitygenetic Ltd. Methods for Processing Genomic Information and Uses Thereof
US7657383B2 (en) 2004-05-28 2010-02-02 International Business Machines Corporation Method, system, and apparatus for compactly storing a subject genome
US8340914B2 (en) 2004-11-08 2012-12-25 Gatewood Joe M Methods and systems for compressing and comparing genomic data
US8270716B2 (en) 2007-12-04 2012-09-18 Ricoh Company, Limited Selectively compressing picture and text areas of an image to maintain highest quality and effective compaction
WO2009138938A2 (en) 2008-05-15 2009-11-19 Koninklijke Philips Electronics N.V. Method, apparatus, and computer program product for compression and decompression of an image dataset
US9213979B2 (en) * 2008-12-17 2015-12-15 Oracle International Corporation Array attribute configurator
US10090857B2 (en) 2010-04-26 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for compressing genetic data
US9177100B2 (en) 2010-08-31 2015-11-03 Annai Systems Inc. Method and systems for processing polymeric sequence data and related information
US9027122B2 (en) 2010-12-22 2015-05-05 Yahoo! Inc. Isolation tool for user assistance in solving a captcha test
US9215162B2 (en) 2011-03-09 2015-12-15 Annai Systems Inc. Biological data networks and methods therefor
WO2012175245A2 (en) 2011-06-21 2012-12-27 Illumina Cambridge Limited Methods and systems for data analysis
US8838510B2 (en) 2011-09-16 2014-09-16 International Business Machines Corporation Choosing pattern recognition algorithms and data features using a genetic algorithm
EP2595076B1 (en) 2011-11-18 2019-05-15 Tata Consultancy Services Limited Compression of genomic data
EP2608096B1 (en) 2011-12-24 2020-08-05 Tata Consultancy Services Ltd. Compression of genomic data file

Also Published As

Publication number Publication date
CA2936485A1 (en) 2015-08-06
EP3097644A1 (en) 2016-11-30
KR102227912B1 (ko) 2021-03-15
AU2015211043A1 (en) 2016-08-18
CN105940611A (zh) 2016-09-14
CA2936485C (en) 2020-09-01
US10437825B2 (en) 2019-10-08
KR20160113167A (ko) 2016-09-28
US20150213092A1 (en) 2015-07-30
WO2015116762A1 (en) 2015-08-06
CN105940611B (zh) 2020-09-04
TW201535984A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
US9858282B2 (en) Information searching apparatus, information managing apparatus, information searching method, information managing method, and computer product
Bonfield et al. Compression of FASTQ and SAM format sequencing data
JP4848317B2 (ja) データベースのインデックス作成システム、方法及びプログラム
US11734364B2 (en) Method and system for document similarity analysis
US20140344195A1 (en) System and method for machine learning and classifying data
US10437825B2 (en) Optimized data condenser and method
CN111258966A (zh) 一种数据去重方法、装置、设备及存储介质
CN111639473A (zh) 基于java的excel文件解析方法、装置、计算机设备及存储介质
CN112052138A (zh) 业务数据质量检测方法、装置、计算机设备及存储介质
US20130290836A1 (en) Methods and apparatus for copying text format pattern
JP2020533666A (ja) ゲノム・ファイルのためのコンテキスト・アウェア差分アルゴリズム
CN113760894A (zh) 数据调取方法、装置、电子设备及存储介质
Cheng et al. FMtree: a fast locating algorithm of FM-indexes for genomic data
US20220350652A1 (en) Service design device, service design method, and non-transitory computer-readable storage medium for storing service design program
JP6931442B2 (ja) 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法
CN115795187A (zh) 资源访问方法、装置及设备
CA3144129A1 (en) User access data processing method, device and computer system
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
CN110046158B (zh) 不利用字典管理的通用唯一资源
JP2018181196A (ja) 情報処理装置、プログラム、情報処理方法及びデータ構造
JP7229887B2 (ja) 文書情報抽出装置、および文書情報抽出方法
CN110134691B (zh) 数据校验方法、装置、设备和介质
Hernández-Hernández et al. A Byte Pattern Based Method for File Compression
CN116910017A (zh) 数据库迁移方法、装置、电子设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180105

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20181220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227