JP7529673B2 - コンテンツ不可知ファイルインデキシングの方法及びシステム - Google Patents

コンテンツ不可知ファイルインデキシングの方法及びシステム Download PDF

Info

Publication number
JP7529673B2
JP7529673B2 JP2021540318A JP2021540318A JP7529673B2 JP 7529673 B2 JP7529673 B2 JP 7529673B2 JP 2021540318 A JP2021540318 A JP 2021540318A JP 2021540318 A JP2021540318 A JP 2021540318A JP 7529673 B2 JP7529673 B2 JP 7529673B2
Authority
JP
Japan
Prior art keywords
chunks
binary data
data file
chunk
data
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
JP2021540318A
Other languages
English (en)
Other versions
JP2022518194A (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.)
Mcelveen Christopher
Lognovations Holdings LLC
Original Assignee
Mcelveen Christopher
Lognovations Holdings LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/244,332 external-priority patent/US11138152B2/en
Application filed by Mcelveen Christopher, Lognovations Holdings LLC filed Critical Mcelveen Christopher
Publication of JP2022518194A publication Critical patent/JP2022518194A/ja
Application granted granted Critical
Publication of JP7529673B2 publication Critical patent/JP7529673B2/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/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/174Redundancy elimination 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/22Indexing; Data structures therefor; Storage structures
    • 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
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6052Synchronisation of encoder and decoder

Landscapes

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

Description

(関連出願の相互参照)
本出願は、2017年10月11日に出願された、「コンテンツ不可知ファイルインデキシングの方法及びシステム(Method and System for Content Agnostic File Indexing)」という名称の特許出願第15/730,043号の一部継続出願であり、同出願の内容はあらゆる目的の為に本明細書に参照により完全に援用される。
(コンピュータプログラムリスト-シーケンスリスト)
以下のコンピュータプログラムリストを本明細書に添付して提出し、参照により援用する。夫々のファイルは参照により援用される。以下のコンピュータプログラムリストは、以下の形式である。<バイト単位のサイズ> <作成日> <ファイル名>。
3864 May 16 2018 squeeze-master-README-md.txt*
83675 May 16 2018 squeeze-master-SqueezeReport-ipynb.txt*
4293 May 16 2018 squeeze-master-demo_app-py.txt*
98 May 16 2018 squeeze-master-gitignore.txt*
1383 May 16 2018 squeeze-master-requirements.txt*
2490 May 16 2018 squeeze-master-rpc_server-py.txt*
239 May 16 2018 squeeze-master-scripts-buildprotos.txt*
942 May 16 2018 squeeze-master-scripts-file_test-py.txt*
1391 May 16 2018 squeeze-master-scripts-generate_key-py.txt*
711 May 16 2018 squeeze-master-scripts-generate_keyset-py.txt*
629 May 16 2018 squeeze-master-scripts-keys_from_folder-py.txt*
377 May 16 2018 squeeze-master-scripts-lzw_test-py.txt*
107 May 16 2018 squeeze-master-scripts-runserver.txt*
3928 May 16 2018 squeeze-master-scripts-squeeze-bytes-report-py.txt*
63 May 16 2018 squeeze-master-scripts-squeeze_file-py.txt*
1060 May 16 2018 squeeze-master-scripts-squeeze_test-py.txt*
947 May 16 2018 squeeze-master-scripts-string_test-py.txt*
222 May 16 2018 squeeze-master-scripts-test_binary-py.txt*
1799 May 16 2018 squeeze-master-scripts-test_rpc-py.txt*
2736 May 16 2018 squeeze-master-scripts-time-squeeze-string-py.txt*
211 May 16 2018 squeeze-master-scripts-time_keygen-py.txt*
65 May 16 2018 squeeze-master-scripts-unsqueeze_file-py.txt*
80 May 16 2018 squeeze-master-setup-py.txt*
10657 May 16 2018 squeeze-master-squeeze- _ init _ -py.txt*
2783 May 16 2018 squeeze-master-squeeze-bitstring-py.txt*
9191 May 16 2018 squeeze-master-squeeze-keys-py.txt*
613 May 16 2018 squeeze-master-squeeze-performance-csv.txt*
22445 May 16 2018 squeeze-master-squeeze-squeeze_pb2-py.txt*
2232 May 16 2018 squeeze-master-squeeze-squeeze_pb2_grpc-py.txt*
3366 May 16 2018 squeeze-master-squeeze-proto.txt*
875 May 16 2018 squeeze-master-templates-layout-html.txt*
816 May 16 2018 squeeze-master-templates-upload_form-html.txt*
1513 May 16 2018 squeeze-master-templates-uploaded_file-html.txt*
200 May 16 2018 squeezerpc-master-Makefile.txt*
1131 May 16 2018 squeezerpc-master-README-md.txt*
7 May 16 2018 squeezerpc-master-gitignore.txt*
8995 May 16 2018 squeezerpc-master-main-go.txt*
21292 May 16 2018 squeezerpc-master-squeeze-squeeze-pb-go.txt*
3366 May 16 2018 squeezerpc-master-squeeze-proto.txt*
本開示は、コンテンツ不可知ファイル参照の為の方法に関するものである。本方法は、更に、コンテンツ不可知データ圧縮の為の方法に関するものである。
ファイル参照技術は、一般に、ファイル参照システムにおいてデータを効率的にインデキシングする為に、保存されているデータの種類に関する知識を必要とする。同様に、問題となっているデータに関する知識は、一般的に、送信、保存等の為にデータサイズを縮小する為の改良された圧縮アプローチを作成する際にも使用される。
業界では、保存及び/又は送信しなければならないデータ量を減らす為に、ファイル参照及びデータ圧縮技術を改善する必要性が存在する。
一実施形態によれば、本開示は、強化されたコンテンツ不可知ファイル参照システムを用いてコンピューティング技術を改善する方法を提供する。この方法は、コンピュータ自体の動作を改善するものである。
開示された方法は幾つかの重要な利点を有する。例えば、開示された方法は、任意のコンテンツタイプのファイル参照を可能にする。
開示された方法は、更に、データが永続化されるのとは対照的に、アクセス時に生成され得るので、永続化又は送信されなければならない情報又はデータの量を大幅に減少させることができる。
本開示の様々な実施形態は、これらの利点の何れも有していなくても、又はその一部或いは全てを有していてもよい。当業者には、本開示の他の技術的利点も容易に明らかになり得る。
本開示及びその利点をより完全に理解する為に、ここで、添付の図面と併せて以下の説明を参照する。
同じ参照符号は、図面の幾つかの図を通して同じ部品又はステップを参照する。
本開示の一実施形態のステップを概説するフローチャートである。 本開示の別の実施形態のステップを概説する別のフローチャートである。 本開示の代替実施形態のステップを概説するフローチャートである。
本開示は、データのコンテンツ不可知インデキシングの為の方法に関するものである。本方法は、例えば、ファイル参照システムや圧縮システムとして等、コンピュータ特有の様々なニーズに使用され得る。
以下の開示では、例示としてバイナリデータの圧縮に関連して本発明を説明しているが、本教示は、「n-ary」データと呼ぶ方が相応しい、あらゆるタイプのデータで同様に機能する。例えば、本方法及びシステムは、量子ビット及びビットでも動作する。
本発明の一実施形態は、図1に描かれたフローチャートに記載されているような方法を含む。永続化又は送信されるバイナリデータ(n)(例えば、データファイル)が分析され、ビット単位の長さ(l(n))が決定される。この情報を用いて、ステップ106で、本方法は、識別された長さのデータの全ての順列を計算する。例えば、入力データが次のような場合、
01
入力データは2ビットの長さとなる。ステップ106で、2ビットの全ての順列が生成され、即ち次のようになる。
{00}{01}{10}{11}
ステップ108で、本方法は、生成された順列における入力バイナリデータファイルのインデックス(n)を決定する。上記の例では、返されるインデックス(n)は「1」となる。最後に、入力されたバイナリデータ(即ち「01」)を保存又は送信するのではなく、システムは代わりに長さ(2)とインデックス(1)を保存する。
元の入力データをデコードする必要が生じた場合(例えば、元のバイナリデータをディスクから取得する要求や、ネットワークを介して送信されたデータの受信)、この方法は、入力として長さ(l(n))とインデックス(n)のみを必要とする。上記の例では、長さ(2)とインデックス(1)が入力となる。図2に示すように、システムは、入力された長さの全ての順列を計算する。上記の例では、次のような順列が生成される。
{00}{01}{10}{11}
システムは指定されたインデックス(上記の例では1)に移動し、順列を返す。再び上記の例を用いて、元のバイナリデータの「01」が返される。
上記の方法は、例示の目的で、バイナリシステム(即ち、入力データがバイナリデータである)の観点から説明されている。本方法及びシステムは、n-aryシステムについても同様に動作する。上記のバイナリシステムは基本的にユークリッド平面で動作するが、n-aryデータではヒルベルト空間が概念的に同じ利点を提供する。この方法とプロセスは、以下のようにn-aryデータに対して一般化され得る。
d^n=p(i)
(d^n)n=p(f)
d=システムの次数
n=システムの次数に応じた適切なn-ary単位での長さ
p(i)=初期インデックス
p(f)=最終インデックス
Figure 0007529673000001
同じ入力ファイルで2つの代替的な順序付けされたシステムが与えられた場合、より高い順序を持つシステムが、より低い順序を持つ代替的なシステムと比較して、より高いn-ary密度を有することに留意すべきである。
本方法の一例は、以下のRubyコードスニペットに開示されている。以下のスニペットは、図1に開示されているような方法を示している。
Figure 0007529673000002
以下のスニペットは、入力長(l(n))が16、インデックス(n)が72,629の場合の、図2に開示されている方法を示している。
Figure 0007529673000003
好ましい実施形態では、入力バイトストリングは、入力バイトストリングの表現に対応するビットストリングに変換される。このビットストリングは、次に本明細書に記載された方法によって処理されるものである。
代替的な実施形態では、データの長さに基づいて表を生成するのではなく、特定の長さのデータの全ての順列で表を事前生成してもよい。この事前生成された表は、不揮発性メモリ又は揮発性メモリの何れかのメモリに永続化されてもよい。上記の例では、所定の長さが2ビットの場合、事前生成された表には、次のような2ビットデータの全ての順列が含まれる。
{00}{01}{10}{11}
一実施形態では、この表は、以下のように対応するインデックスを付けた配列で格納されてもよい。
Figure 0007529673000004
この事前生成された表は、ディスクやRAM等に保存されてもよい。好ましくは、この事前生成された表は、ファイルサイズを縮小する(又はファイルをスクイーズする)計算機システムと、縮小されたファイルを拡張する(又はデータをスクイーズ解除する)計算機システムとで保存される。
入力データを受け取ると、本方法はデータをより小さなサブセットに「チャンク」する。本明細書では、「チャンク」とは、データストリングを取得して大きなデータストリングのサブセットを構成する小さなデータストリングを作成することを意味する。全てのチャンクを合わせると元のデータストリングになる。例えば、入力データが
011001110001
であれば、
以下の4ビットチャンクにチャンクされることになる。
0010 0111 0001
次に、個々のチャンクは、事前生成された表と比較され、一致するものがあるかどうかを確認する。上記の例では、チャンクのサイズが4ビットの場合、表には全2ビットチャンクの順列を有する為、各チャンクは表に見つからないことになる。従って、各チャンクは再度チャンクされ、以下のようになる。
01 10 01 11 00 01
この方法は、特定のチャンクが事前生成された表の中に配置される時点まで、各チャンクに対して続けられる。その時点で、チャンクは夫々のインデックスと関連付けられ、好ましくは、チャンクレベル及び対応するインデックスを示す一連のタプルが生成される。上記の例では、システムが2回チャンクしたので、インデックスの関連付けは以下のようになる。
{2,1}{2,2}{2,1}{2,3}{2,0}{2,1}
この例では、元の入力データ「011001110001」は、最終的に2ビット長の6つのチャンクに分割された。図示のように、各チャンクはチャンクレベル(2)と、事前生成された表への対応するインデックスで表されている。
データは、任意の数の方法でチャンクされ得る。例えば、データは、上記の例のように、事前に決定されたサイズに基づいてチャンクされてもよい(ここで、事前に決定されたサイズは、例の目的の為に4ビットであった)。或いは、各データチャンクが事前生成された表の中で見つかるまで入力データを2つの別々のデータチャンクに再帰的にチャンクしてもよい。上記と同じ入力データを使用して、データを分割してチャンク化する方法では、次のような第1レベルのチャンクになる。
011001 110001
ここで、データセットが事前生成された表に見つからないので、再度チャンクされる。
011 001 110 001
ここでも、チャンクされたデータは事前生成された表では見つからないので、再度チャンクされなければならない。
00 1 00 1 11 0 00 1
注目すべきは、幾つかのセグメントが、事前生成された表のサイズよりも小さいデータにチャンクされていることである(即ち、セグメント「1」、「1」、「0」、「1」)。これらのセグメントは、事前生成された表と比較する為にパディングされることがある。一貫性が保たれていれば、数字はビッグエンディアン又はリトルエンディアンバイトオーダーで保存され得る。例えば、ビッグエンディアンバイトオーダーを使った場合、上記のチャンクデータは次のように表される。
00 10 00 10 11 00 00 10
その後、この方法は上記と同じように続く。
データの全てのチャンクが、同じデータチャンクレベルで事前生成された表の中で見つかることは必要ではない。例えば、2ビットの組み合わせに関する上記の事前生成された表を使用して、もし入力データが以下であれば、
0110011100
このデータは本来、上記のように4ビットのシーケンスに分割してチャンクされ得る。
0110 0111 00
上記と同様に、最初の2つの4ビットシーケンス(即ち「0110」と「0111」)は、事前生成された表に配置される為に、より小さなチャンクに再度チャンクされなければならず、その結果、以下のチャンクになる。
01 10 01 11 00
また、上記のように、チャンクは以下のように自らのチャンクレベル及び対応するインデックスに関連付けられる。
{2,1}{2,2}{2,1}{2,3}{1,0}
上記の最後のタプルは、そのチャンクが2回目のチャンキングを必要としなかったので、チャンクレベルが1であることを示していることに留意されたい。
入力データが一連のチャンクレベルとインデックスに還元されると、その一連のチャンクレベルとインデックスを使用して、元のデータを識別する。関連付けは、一連のタプルとして、個別のビットストリングとして、及びその他の方法で保存され得る。
一連のチャンクレベルとインデックスに基づいてデータを再作成(又はスクイーズ解除)するには、プロセスは逆に動作する。この場合も、システムには同じ事前生成された表が必要である。チャンクレベルとインデックスの各タプルに対して、システムは事前生成された表を参照して、スクイーズされたチャンクをアンパックし、元のデータに戻す。
この代替実施形態は、図3のフローチャートに示されている。まず、以下のような特定の長さのデータの全ての順列を含む事前生成された表がステップ302で作成される。上述したように、好ましくは、その表は何らかの方法で永続化される。次に、システムは、ステップ304で、スクイーズ対象入力データを受け取る。次にプロセスは、ステップ306及び308で、データの長さが「事前生成された表」に配置される長さになるまで、データをより小さなセグメントにチャンクする。上述したように、このプロセスは、入力データセットが何回チャンクされたかをシステムが知ることができるように、チャンクレベルを維持する。その後、各チャンクはステップ310で事前生成された表に配置される。最後に、チャンク、そのチャンクレベル、及び事前生成された表内の夫々のインデックスが関連付けられ、その結果、ステップ312で、スクイーズされたデータが得られる。
本開示を、特定の実施形態及び一般的に関連する方法の観点から説明してきたが、これらの実施形態及び方法の変更及び順列は、当業者には明らかであろう。従って、例示的な実施形態に関する上記の説明は、本開示を制約するものではない。本開示の精神及び範囲から逸脱することなく、他の変更、置換、及び改変も可能である。
〔付記1〕
バイナリデータファイルのコンテンツ不可知参照の為のコンピュータ実装方法であって、
入力シードを用いて表を事前生成するステップであって、表は所定の長さのビットの全ての順列を含むステップと、
前記バイナリデータファイルの長さを決定するステップであって、前記長さは、前記バイナリデータファイルのビット数を含むステップと、
前記バイナリデータファイルを部分ストリングにチャンクするステップであって、各部分ストリングは前記バイナリデータファイルの長さよりも小さい長さであるステップと、
前記バイナリデータファイルの各チャンクについて、そのチャンクが前記事前生成された表内にあるかどうかを判断し、そのチャンクが事前生成された表内にある場合には、そのチャンクに前記事前生成された表内のチャンクの位置のインデックスを関連付け、そのチャンクが前記事前生成された表内にない場合には、チャンクされたバイナリデータを更に小さなチャンクに分割するステップと、
チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップと、を含む方法。
〔付記2〕
前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップが、
前記バイナリデータファイルの代わりに、前記チャンクの数及び全ての関連するインデックスを記憶装置に永続化するステップを含む、付記1に記載の方法。
〔付記3〕
前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップが、
前記データファイルの代わりに前記チャンクの数及び全チャンクの関連するインデックスを送信するステップを含む、付記1に記載の方法。
〔付記4〕
前記送信するステップは、前記チャンクの数及び全チャンクの関連するインデックスをネットワーク上で送信する、付記3に記載の方法。
〔付記5〕
前記送信するステップは、前記チャンク数及び全チャンクの関連するインデックスをバス上で送信する、付記3に記載の方法。
〔付記6〕
前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップは、
各順序付けられたペアがチャンクレベル及び関連するインデックスを示す、順序付けられたペアのタプルを作成するステップを含む、付記1に記載の方法。
〔付記7〕
前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップは、前記チャンクの数及び全チャンクの関連するインデックスを記憶装置上に永続化することを含む、付記1に記載の方法。
〔付記8〕
前記記憶装置はディスクである、付記7に記載の方法。
〔付記9〕
前記事前生成された表がハッシュ表である、付記1に記載の方法。
〔付記10〕
前記事前生成された表が行列である、付記1に記載の方法。
〔付記11〕
前記事前生成された表が揮発性メモリに永続化される、付記1に記載の方法。
〔付記12〕
前記事前生成された表が不揮発性メモリに永続化される、付記1に記載の方法。
〔付記13〕
前記バイナリデータファイルを部分ストリングにチャンクすることは、更に、
前記バイナリデータを所定の長さのチャンクにチャンクすることを含む、付記1に記載の方法。
〔付記14〕
前記所定の長さが2メガバイトである、付記13に記載の方法。
〔付記15〕
前記所定の長さが2メガバイトよりも小さい、付記13に記載の方法。
〔付記16〕
前記所定の長さが2メガバイトよりも大きい、付記13に記載の方法。
〔付記17〕
前記バイナリデータファイルを部分ストリングにチャンクすることは、更に、
前記バイナリデータファイルを、同じサイズの2つのチャンクに再帰的に分割することを含む付記1に記載の方法。
〔付記18〕
チャンクの数及び全チャンクの関連するインデックスに基づいてデータを取得する方法であって、
入力シードを使用して表を事前生成するステップであって、前記表は、所定の長さのビットの全ての順列を含み、前記事前生成された表を使用してチャンクの数及び関連するインデックスを生成するステップと、
各チャンクについて、そのチャンクに関連付けられたインデックスで表内にデータを配置するステップと、各チャンクに関連付けられたデータを返すステップと、を含む方法。
〔付記19〕
各チャンクに関連するデータを返すステップは、
各チャンクに関連するデータを単一のビットストリームに連結することを含む、付記18に記載の方法。

Claims (17)

  1. 計算機システム上で実行されるバイナリデータファイルのコンテンツ不可知参照の為の情報処理方法であって、
    前記計算機システムを使用して、入力シードを用いて表を事前生成するステップであって、表は所定の長さのビットの全ての順列を含むステップと、
    前記計算機システムを使用して、前記バイナリデータファイルの長さを決定するステップであって、前記長さは、前記バイナリデータファイルのビット数を含むステップと、
    前記計算機システムを使用して、前記バイナリデータファイルを部分ストリングにチャンクするステップであって、各部分ストリングは前記バイナリデータファイルの長さよりも小さい長さであるステップと、
    前記計算機システムを使用して、前記バイナリデータファイルの各チャンクについて、そのチャンクが前記事前生成された表内にあるかどうかを判断し、そのチャンクが事前生成された表内にある場合には、そのチャンクに前記事前生成された表内のチャンクの位置のインデックスを関連付け、そのチャンクが前記事前生成された表内にない場合には、チャンクされたバイナリデータを更に小さなチャンクに分割するステップと、
    前記計算機システムを使用して、チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップと、を含む方法。
  2. 前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップが、
    前記バイナリデータファイルの代わりに、前記チャンクの数及び全ての関連するインデックスを記憶装置に永続化するステップを含む、請求項1に記載の方法。
  3. 前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップが、
    前記バイナリデータファイルの代わりにチャンクの数及び全チャンクの関連するインデックスを送信するステップを含む、請求項1に記載の方法。
  4. 前記送信するステップは、前記チャンクの数及び全チャンクの関連するインデックスをネットワーク上で送信する、請求項3に記載の方法。
  5. 前記送信するステップは、前記チャンクの数及び全チャンクの関連するインデックスをバス上で送信する、請求項3に記載の方法。
  6. 前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップは、
    各順序付けられたペアがチャンクレベル及び関連するインデックスを示す、順序付けられたペアのタプルを作成するステップを含む、請求項1に記載の方法。
  7. 前記チャンクの数及び全チャンクの関連するインデックスを使用して前記バイナリデータファイルを示すステップは、前記チャンクの数及び全チャンクの関連するインデックスを記憶装置上に永続化することを含む、請求項1に記載の方法。
  8. 前記記憶装置はディスクである、請求項7に記載の方法。
  9. 前記事前生成された表がハッシュ表である、請求項1に記載の方法。
  10. 前記事前生成された表が行列である、請求項1に記載の方法。
  11. 前記事前生成された表が揮発性メモリに永続化される、請求項1に記載の方法。
  12. 前記事前生成された表が不揮発性メモリに永続化される、請求項1に記載の方法。
  13. 前記バイナリデータファイルを部分ストリングにチャンクすることは、更に、
    前記バイナリデータを所定の長さのチャンクにチャンクすることを含む、請求項1に記載の方法。
  14. 前記所定の長さが2メガバイトである、請求項13に記載の方法。
  15. 前記所定の長さが2メガバイトよりも小さい、請求項13に記載の方法。
  16. 前記所定の長さが2メガバイトよりも大きい、請求項13に記載の方法。
  17. 前記バイナリデータファイルを部分ストリングにチャンクすることは、更に、
    前記バイナリデータファイルを、同じサイズの2つのチャンクに再帰的に分割することを含む請求項1に記載の方法。
JP2021540318A 2019-01-10 2020-01-08 コンテンツ不可知ファイルインデキシングの方法及びシステム Active JP7529673B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/244,332 2019-01-10
US16/244,332 US11138152B2 (en) 2017-10-11 2019-01-10 Method and system for content agnostic file indexing
PCT/US2020/012661 WO2020146448A1 (en) 2019-01-10 2020-01-08 Method and system for content agnostic file indexing

Publications (2)

Publication Number Publication Date
JP2022518194A JP2022518194A (ja) 2022-03-14
JP7529673B2 true JP7529673B2 (ja) 2024-08-06

Family

ID=71520909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540318A Active JP7529673B2 (ja) 2019-01-10 2020-01-08 コンテンツ不可知ファイルインデキシングの方法及びシステム

Country Status (6)

Country Link
EP (1) EP3908937A4 (ja)
JP (1) JP7529673B2 (ja)
KR (1) KR20210110875A (ja)
AU (1) AU2020205970A1 (ja)
CA (1) CA3126012A1 (ja)
WO (1) WO2020146448A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007508753A (ja) 2003-10-17 2007-04-05 パクバイト ソフトウエア プロプライアタリー リミティド データ圧縮システム及び方法
US20120166448A1 (en) 2010-12-28 2012-06-28 Microsoft Corporation Adaptive Index for Data Deduplication
US20150201043A1 (en) 2010-08-20 2015-07-16 Abdulrahman Ahmed Sulieman Methods and systems for encoding/decoding files and transmissions thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594435A (en) * 1995-09-13 1997-01-14 Philosophers' Stone Llc Permutation-based data compression
US7882139B2 (en) * 2003-09-29 2011-02-01 Xunlei Networking Technologies, Ltd Content oriented index and search method and system
US20050071151A1 (en) * 2003-09-30 2005-03-31 Ali-Reza Adl-Tabatabai Compression-decompression mechanism
CN101523732A (zh) * 2006-09-01 2009-09-02 帕克比特软件股份有限公司 用于通过数据网络传输数据文件的方法和系统
US11138152B2 (en) * 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007508753A (ja) 2003-10-17 2007-04-05 パクバイト ソフトウエア プロプライアタリー リミティド データ圧縮システム及び方法
US20150201043A1 (en) 2010-08-20 2015-07-16 Abdulrahman Ahmed Sulieman Methods and systems for encoding/decoding files and transmissions thereof
US20120166448A1 (en) 2010-12-28 2012-06-28 Microsoft Corporation Adaptive Index for Data Deduplication

Also Published As

Publication number Publication date
JP2022518194A (ja) 2022-03-14
KR20210110875A (ko) 2021-09-09
CA3126012A1 (en) 2020-07-16
WO2020146448A1 (en) 2020-07-16
EP3908937A4 (en) 2022-09-28
EP3908937A1 (en) 2021-11-17
AU2020205970A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
US8244530B2 (en) Efficient indexing of documents with similar content
US20220093210A1 (en) System and method for characterizing biological sequence data through a probabilistic data structure
US20220255014A1 (en) Trie-Based Indices for Databases
US9805079B2 (en) Executing constant time relational queries against structured and semi-structured data
US10680645B2 (en) System and method for data storage, transfer, synchronization, and security using codeword probability estimation
US7478113B1 (en) Boundaries
US20120089579A1 (en) Compression pipeline for storing data in a storage cloud
CN109299086B (zh) 最优排序键压缩和索引重建
US11138152B2 (en) Method and system for content agnostic file indexing
US10691644B2 (en) System and method for data storage, transfer, synchronization, and security using recursive encoding
US11366790B2 (en) System and method for random-access manipulation of compacted data files
US11880368B2 (en) Compressing data sets for storage in a database system
US10601442B2 (en) Memory compression method and apparatus
JP7529673B2 (ja) コンテンツ不可知ファイルインデキシングの方法及びシステム
CN112416879B (zh) 一种基于ntfs文件系统的块级数据去重方法
JP7047110B2 (ja) コンテンツ非依存のファイルインデックス化の方法及びシステム
US8595195B2 (en) Creating a self-contained portable output file
US11748307B2 (en) Selective data compression based on data similarity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240725

R150 Certificate of patent or registration of utility model

Ref document number: 7529673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150