JP7010365B2 - パラメータ設定装置、演算装置、それらの方法、およびプログラム - Google Patents
パラメータ設定装置、演算装置、それらの方法、およびプログラム Download PDFInfo
- Publication number
- JP7010365B2 JP7010365B2 JP2020508217A JP2020508217A JP7010365B2 JP 7010365 B2 JP7010365 B2 JP 7010365B2 JP 2020508217 A JP2020508217 A JP 2020508217A JP 2020508217 A JP2020508217 A JP 2020508217A JP 7010365 B2 JP7010365 B2 JP 7010365B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- unit
- size
- processing
- thread
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/36—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with means for detecting characters not meant for transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
[概要]
まず概要を説明する。
<テキストファイル>
各実施形態ではテキストファイルの文字列に対する演算処理を行う。このテキストファイルはW個のレコードを含み、レコードのそれぞれは任意長のG個のセルを含み、セルのそれぞれは任意個の文字を含む。ただし、各セルの長さには各セルの属性に応じた上限がある。WおよびGが1以上の整数である。例えば、WおよびGの少なくとも一方は2以上の整数である。Wが2以上の整数であってもよいし、Gが2以上の整数であってもよいし、WおよびGの両方が2以上の整数であってもよい。Wが2以上の整数である場合、互いに隣接するレコードの間にはレコードの区切りを特定するための情報が存在する。例えば、互いに隣接するレコードの間に改行が存在し、複数のレコードは改行によって互いに区切られている。また、Gが2以上の整数である場合、互いに隣接するセルの間にはセル間の区切りを特定するための情報が存在する。例えば、互いに隣接するセルの間に区切り文字または改行が存在し、複数のセルは区切り文字または改行によって互いに区切られている。区切り文字の例はカンマ「,」である。その他の例として、互いに隣接するセルの間にタブまたは改行が存在してもよいし、互いに隣接するセルの間に半角スペースまたは改行が存在してもよい。Wが2以上の整数である場合、各レコードに含まれるセルの個数Gは互いに同一である。各レコードのG個のセルは属性情報(「スキーマ」とも呼ぶ)に対応している。属性情報は各セルがどのような属性の情報であるかを表しており、少なくとも各セルで表される文字列のサイズ(データ量)の最大値と最小値とを特定または推定するための情報を含んでいる。例えば、属性情報はセルがどのような有限集合の元を表しているのか示す情報を含んでいる。例えば、属性情報は「セルがpを法とした剰余(mod p)を表していること(pは正整数)」を表していてもよいし、「セルが所定個(例えば10個)の所定の有限体(例えば拡大体GF(28))の要素で表現される文字列であること」を表していてもよいし、「セルが所定の整数型の整数(例えば、符号付き32ビット整数)を表す文字列であること」を表していてもよい。G個の属性情報のそれぞれが各レコードのG個のセルのそれぞれに一対一で対応していてもよいし(すなわち、1個の属性情報が1個のセルの属性を表していてもよい)、1個の属性情報が各レコードの複数個(例えばG個)のセルに対応していてもよい(すなわち、1個の属性情報が複数個のセルの属性を表していてもよい)。前者の場合、1つのレコードに属する複数のセルの属性が互いに異なっていてもよいし、互いに同一であってもよい。また、Wが2以上の整数である場合、すべてのレコードのG個のセルに対応する「G個の属性の組」は互いに同一である。すなわち、すべてのレコードが有するg番目(ただし、g=1,…,G)のセルの属性att(g)は互いに同一である。その他、属性情報がセルが表す情報の種別を表現していてもよい。また属性情報はテキストファイルに含まれていてもよいし(例えば、テキストファイルのヘッダが属性情報あってもよい)、含まれていなくてもよい。テキストファイルの例は、CSV(Comma-Separated Values)ファイル、TSV(tab-separated values)ファイル、SSV(space-separated values)ファイルなどである。これらはCSV(character-separated values)ファイルやDSV(delimiter-separated values)ファイルとして総称される。
パラメータ設定装置は、テキストファイルの文字列に対する「演算処理」のためのパラメータを設定して出力する。この「演算処理」はどのようなものであってもよい。「演算処理」の例は秘密分散処理、秘密計算処理(例えば、非特許文献1,2等参照)、暗号化処理、署名生成処理などである。パラメータ設定装置が設定するパラメータは、1つの単位処理で扱われるレコード数および演算処理における並列数である。好ましくは、パラメータ設定装置は、さらにテキストファイルからまとめて読み込まれるデータのファイルバッファサイズも設定する。以下では、テキストファイルの文字列に対する演算処理を行う演算装置のキャッシュメモリのキャッシュメモリサイズ(キャッシュメモリの記憶容量)をCと表記し、メインメモリのメインメモリサイズ(メインメモリの記憶容量)をMと表記する。
演算装置は入力されたテキストファイルの文字列に対する演算処理を行う。演算装置はこの演算処理でパラメータ設定装置で得られたレコード数rおよび並列数npを用いる。パラメータ設定装置でさらにファイルバッファサイズfが得られる場合には、演算装置はこの演算処理でさらにパラメータ設定装置で得られたファイルバッファサイズfを用いる。パラメータ設定装置でファイルバッファサイズfが得られない場合、演算装置はファイルバッファサイズfとして予め定められた値を用いてもよいし、属性情報に対応するその他のファイルバッファサイズfが用いられてもよい。
テキストファイルの各セルが、単独で「演算」の対象を表すか否かを判別可能な文字のみを含む場合、テキストファイルの各セルの位置および長さを特定する処理を並列に行うことができ、さらに高速な演算が可能となる。例えば、エスケープ文字を使用していないテキストファイルの場合にはこのような並列処理が可能になる。このようなテキストファイルに対応可能な演算装置はメインメモリとキャッシュメモリと複数の処理部とを有する。各処理部は、読み込み部とファイル読み込みロック解除部とパース部とセル特定部とバッファ境界ロック解除部とエンコード部と演算部と並列性ロック解除部とを有する。これら複数の処理部は何れかのスレッドの処理に割り当てられる。スレッドiの処理を行う処理部は以下の処理を行う。初期状態でスレッド0のファイル読み込みロックならびにバッファ境界ロックおよびスレッド0,…,np-1の並列性ロックが解除されているものとする。
図面を用いて第1実施形態を説明する。第1実施形態では、パラメータ設定装置が1つの単位処理で扱われるレコード数r、並列数np、ファイルバッファサイズfを設定し、演算装置(一般版)がエスケープ文字の使用が可能なCSV(Comma-Separated Values)ファイル(テキストファイル)の秘密分散(演算)を行う例を説明する。以下では、これまで説明した事項との相違点を中心に説明し、既に説明した事項については説明を省略する場合がある。
図1に例示するように、本実施形態の演算システム1は、パラメータ設定装置11、演算装置12、およびN個のサーバ装置13-1~13-Nを有する。ただし、Nは2以上の正整数である。パラメータ設定装置11から演算装置12への情報の伝達が可能であり、演算装置12からサーバ装置13-1~13-Nへの情報の伝達が可能である。なお、情報の伝達はネットワークを介して行われてもよいし、その他の通信手段を用いて行われてもよいし、可搬型の記録媒体を介して行われてもよい。
図5を用いて、パラメータ設定装置11のパラメータ設定処理を説明する。
演算処理対象のテキストデータの属性情報がパラメータ設定装置11(図2)の入力部111aに入力され、記憶部112に格納される。属性情報はテキストデータから読み込まれたものであってもよいし、テキストデータ以外から与えられたものであってもよい(ステップS111a)。
図6から図12を用い、演算装置12の演算処理を説明する。
図6に例示するように、パラメータ設定装置11から出力されたr,np,fとが演算装置12(図3)の入力部121aに入力され、補助記憶部122に格納される(ステップS111aa)。また演算処理対象のテキストデータが入力部121aに入力され、補助記憶部122に格納される。図9から図12にテキストデータを例示する。図9に例示するテキストデータは、各セルがダブルクォーテーションで囲まれたCSVファイルである。セルの値としてダブルクォーテーション「“」を用いる場合にはその前にエスケープ文字として「“」が付加される。例えば、“4selddks““k304kdkk400-03d”は、「4selddks“k304kdkk400-03d」という秘密分散対象の値を表している。図10に例示するように、このテキストファイルはW個のレコードrec(1),…,rec(W)を含み、レコードrec(w)(ただし、w=1,…,W)のそれぞれは任意長のG個のセルcell(w,g)を含み(ただし、g=1,…,G)、セルcell(w,g)のそれぞれは任意個の文字を含む。セルcell(w,g)はレコードrec(w)の最初からg番目の属性att(g)に対応する(ステップS111ab)。
図7および図8に例示するように、スレッドiの処理を行う処理部126-qの読み込み部1261-qは、スレッドiのファイル読み込みロックおよび並列性ロックの両方が解除されたかを判定する。スレッド0のファイル読み込みロックおよび並列性ロックは初期状態で解除されている(ステップS1261a-q)。スレッドiのファイル読み込みロックおよび並列性ロックの両方が解除されていない場合にはステップS1261a-qの判定が繰り返される。
“石田”,“太郎”,“1990/2/8”,“100-0002”,“sjeifdfgjrrf”,“45dkfjkejdf5”
“石田”,“次郎”,“1985/5/2”,“111-0112”,“25df4d4ed”,“1s4dlccclseed”
“石田”,“花子”,“2001/4/8”,“111-2222”,“5d4e4d4ffg”,“skekdjjfaae”
“佐藤”,“太郎”,“1992/7/11”,“111-0345”,“dlekd4f3e”,“4selddks“
図12の例では、文字列S1として以下が読み込まれる。
“k304kdkk400-03d”
“佐藤”,“次郎”,“1989/8/21”,“123-0434”,“dkesopd445e”,“4ssjdejdoseae3230dds”
“佐藤”,“花子”,“1995/2/3”,“145-0234”,“skdeofl4s3d3”,“skek94kdskd4dc”
“田中”,“太郎”,“1992/3/23”,“134-0134”,“dj394949495kf”,“47s52\n5412485d”
“田中”,“次郎”,“1979/4/21”,“11
読み込み部1261-qは、メインメモリ123に確保したファイルバッファサイズfの領域に文字列Siを格納する(図7のステップS1261b-q、図8のRi)。
“4selddks““k304kdkk400-03d”
“佐藤”,“次郎”,“1989/8/21”,“123-0434”,“dkesopd445e”,“4ssjdejdoseae3230dds”
“佐藤”,“花子”,“1995/2/3”,“145-0234”,“skdeofl4s3d3”,“skek94kdskd4dc”
“田中”,“太郎”,“1992/3/23”,“134-0134”,“dj394949495kf”,“47s52\n5412485d”
“田中”,“次郎”,“1979/4/21”,“11
をパースし、この文字列に含まれる各セル「4selddks““k304kdkk400-03d」「佐藤」「次郎」「1989/8/21」「123-0434」「dkesopd445e」「4ssjdejdoseae3230dds」「佐藤」「花子」「1995/2/3」「145-0234」「skdeofl4s3d3」「skek94kdskd4dc」「田中」「太郎」「1992/3/23」「134-0134」「dj394949495kf」「47s52\n5412485d」「田中」「次郎」「1979/4/21」の位置および長さを表す参照情報を計算してメインメモリ123に格納する。最後の“11の終端はセルの終端ではないため、スレッド1では“11の参照情報は計算されない。パース部1262-qは、メインメモリ123に参照情報を格納する領域が足りなくなったときに、メインメモリ123からrを読み込み、rレコード分の参照情報を格納するためのバッファ領域をメインメモリ123にまとめて確保する。その後、処理がステップS1268-qに進む(図7のステップS1262e-q、図8のPi)。
第2実施形態では、パラメータ設定装置が1つの単位処理で扱われるレコード数r、並列数np、ファイルバッファサイズfを設定し、演算装置(高速版)がエスケープ文字の使用が禁止されたCSV(Comma-Separated Values)ファイル(テキストファイル)の秘密分散(演算)を行う例を説明する。
図1に例示するように、本実施形態の演算システム2は、パラメータ設定装置11、演算装置22、およびN個のサーバ装置13-1~13-Nを有する。パラメータ設定装置11から演算装置22への情報の伝達が可能であり、演算装置22からサーバ装置13-1~13-Nへの情報の伝達が可能である。
第1実施形態と同一である。
図6および図13から図18を用い、演算装置22の演算処理を説明する。
図6に例示するように、パラメータ設定装置11から出力されたr,np,fとが演算装置22(図3)の入力部121aに入力され、補助記憶部122に格納される(ステップS111aa)。また演算処理対象のテキストデータが入力部121aに入力され、補助記憶部122に格納される。図15から図18にテキストデータを例示する。図15に例示するテキストデータは、各セルがダブルクォーテーションで囲まれていないCSVファイルである。本実施形態のテキストデータでのエスケープ文字の使用は許可されておらず、各セルは単独で秘密分散(演算)の対象を表すか否かを判別可能な文字のみを含む。図16に例示するように、このテキストファイルはW個のレコードrec(1),…,rec(W)を含み、レコードrec(w)(ただし、w=1,…,W)のそれぞれは任意長のG個のセルcell(w,g)を含み(ただし、g=1,…,G)、セルcell(w,g)のそれぞれは任意個の文字を含む。セルcell(w,g)はレコードrec(w)の最初からg番目の属性att(g)に対応する(ステップS211ab)。
図13および図14に例示するように、スレッドiの処理を行う処理部226-qの読み込み部1261-qは、スレッドiのファイル読み込みロックおよび並列性ロックの両方が解除されたかを判定する。スレッド0のファイル読み込みロックおよび並列性ロックは初期状態で解除されている(ステップS1261a-q)。スレッドiのファイル読み込みロックおよび並列性ロックの両方が解除されていない場合にはステップS1261a-qの判定が繰り返される。
石田,太郎,1990/2/8,100-0002,東京都渋谷区〇〇〇,03-3234-5678
石田,次郎,2000/4/2,274-16,神奈川県藤沢市江の島〇〇〇,03-9999-9999
石田,花子,1985/6/2,352-725,東京都港区〇〇〇,03-1111-9999
佐藤,太郎,2001/5/1,100-0002,東京都千代田区〇〇〇,03-3234-5678
佐藤,次
図18の例では、文字列S1として以下が読み込まれる。
郎,2001/6/2,274-16,神奈川県藤沢市江の島〇〇〇,03-9999-9999
佐藤,花子,2002/7/2,352-725,東京都新宿区新宿〇〇〇,03-1111-9999
田中,太郎,2001/1/1,100-0002,東京都千代田区〇〇〇,03-1234-5678
田中,次郎,2001/1/2,251-0036,神奈川県藤沢市江の島〇〇〇
読み込み部1261-qは、メインメモリ123に確保したファイルバッファサイズfの領域に文字列Siを格納する(図13のステップS1261b-q、図14のRi)。
11 パラメータ設定装置
12,22 演算装置
13-1~13-N サーバ装置
Claims (12)
- テキストファイルの文字列に対する演算処理のためのパラメータ設定装置であって、
前記テキストファイルはW個のレコードを含み、前記レコードのそれぞれは任意長のG個のセルを含み、前記セルのそれぞれは任意個の文字を含み、WおよびGが1以上の整数であり、前記G個のセルは属性情報に対応しており、
Cがキャッシュメモリサイズ、Mがメインメモリサイズであり、
前記属性情報を入力として前記テキストファイルの1レコード分の文字列のサイズの最大値Scsvを設定する最大サイズ設定部と、
前記属性情報を入力として前記1レコード分の文字列のサイズの最小値scsvを設定する最小サイズ設定部と、
前記1レコード分の文字列を所定の有限集合の元にエンコードして得られるエンコード情報の合計サイズの最大値Sencを設定するエンコードサイズ設定部と、
前記1レコード分の前記エンコード情報に特定の演算を行って得られる演算値の合計サイズの最大値Sssを設定する演算サイズ設定部と、
前記1レコード分の前記セルそれぞれの位置および長さを表す参照情報の合計サイズSrefを設定する参照サイズ設定部と、
前記エンコードおよび前記演算は前記テキストファイルのrレコード分の文字列である処理単位文字列ごとに実行される処理であり、レコード数rとしてC/(Scsv+Senc+Sref)の関数値を得る処理単位算出部と、
Iが前記処理単位文字列ごとに実行される前記エンコードおよび前記演算の繰り返し回数の最大値であり、Sref≧Sssのときmax(Sref,Sss)=Srefであり、Sref<Sssのときmax(Sref,Sss)=Sssであり、f0がscsv・M/(scsv+Senc+max(Sref,Sss))の関数値であり、前記演算処理における並列数npとしてf0/I・r・Scsvの関数値を得る並列数算出部と、
を有するパラメータ設定装置。 - 請求項1のパラメータ設定装置であって、
前記演算処理の際に前記テキストファイルの文字列からまとめて読み込まれるデータのファイルバッファサイズfとしてf0/npの関数値を得るバッファサイズ算出部をさらに有するパラメータ設定装置。 - 請求項1または2のパラメータ設定装置であって、
前記繰り返し回数の最大値Iは、前記処理単位文字列の前記エンコードおよび前記演算を行うための合計処理量に対する前処理の合計処理量の比率が所定値以下となるように定められている、パラメータ設定装置。 - テキストファイルの文字列に対する演算処理を行う演算装置であって、
前記テキストファイルはW個のレコードを含み、前記レコードのそれぞれは任意長のG個のセルを含み、前記セルのそれぞれは任意個の文字を含み、WおよびGが1以上の整数であり、fが定められたファイルバッファサイズであり、npが並列数であり、rがレコード数を表す正整数であり、iが各スレッドを表し、i∈{0,…,T-1}であり、Tが前記テキストファイルの文字列のサイズに対応するスレッド数を表す正整数であり、1≦np≦Tであり、初期状態でスレッド0のファイル読み込みロックおよびバッファ境界ロックならびにスレッド0,…,np-1の並列性ロックが解除されており、
メインメモリとキャッシュメモリと複数の処理部とを有し、
前記複数の処理部のうちスレッドiの処理を行う処理部は、
前記スレッドiのファイル読み込みロックおよび並列性ロックが解除された後、前記テキストファイルの文字列から前記ファイルバッファサイズfの領域に格納可能な文字列Siを読み込んで前記メインメモリに格納する読み込み部と、
前記文字列Siが前記メインメモリに格納された後にスレッドi+1のファイル読み込みロックを解除するファイル読み込みロック解除部と、
スレッドiのバッファ境界ロックが解除された後、前記文字列Siに含まれる各セルの位置および長さを表す参照情報を計算して前記メインメモリに格納するパース部と、
前記文字列Siに含まれる各セルの位置および長さを表す参照情報が計算された後にスレッドi+1のバッファ境界ロックを解除するバッファ境界ロック解除部と、
i=0の場合の結合文字列CS0がS0であり、i≧1の場合の結合文字列CSiが結合文字列CSi‐1の直後に前記文字列Siを結合したものであり、Jが正整数であり、j=0,…,J-1であり、前記参照情報によって特定される情報に基づいて前記結合文字列CSiに含まれる処理対象のrレコード分の文字列である処理単位文字列PSi,jを選択し、前記処理単位文字列PSi,jを所定の有限集合の元であるエンコード情報Ei,jにエンコードする処理を、前記キャッシュメモリを利用して行うエンコード部と、
前記エンコード情報Ei,jに特定の演算を行って演算値SSi,jを得て前記メインメモリに格納する処理を、前記キャッシュメモリを利用して行う演算部と、
前記演算値SSi,jが得られた後にスレッドi+npの並列性ロックを解除する並列性ロック解除部と、
を有する演算装置。 - テキストファイルの文字列に対する演算処理を行う演算装置であって、
前記テキストファイルはW個のレコードを含み、前記レコードのそれぞれは任意長のG個のセルを含み、前記セルのそれぞれは任意個の文字を含み、WおよびGが1以上の整数であり、fが定められたファイルバッファサイズであり、npが並列数であり、rがレコード数を表す正整数であり、iが各スレッドを表し、i∈{0,…,T-1}であり、Tが前記テキストファイルの文字列のサイズに対応するスレッド数を表す正整数であり、1≦np≦Tであり、初期状態でスレッド0のファイル読み込みロックおよびスレッド0,…,np-1の並列性ロックが解除されており、
メインメモリとキャッシュメモリと複数の処理部とを有し、
前記複数の処理部のうちスレッドiの処理を行う処理部は、
前記スレッドiのファイル読み込みロックおよび並列性ロックが解除された後、前記テキストファイルの文字列から前記ファイルバッファサイズfの領域に格納可能な文字列Siを読み込んで前記メインメモリに格納する読み込み部と、
前記文字列Siが前記メインメモリに格納された後にスレッドi+1のファイル読み込みロックを解除するファイル読み込みロック解除部と、
前記文字列Siに含まれる各セルの位置および長さを表す参照情報を計算して前記メインメモリに格納するパース部と、
i≧1の場合、前記文字列Siは文字列Si‐1の直後に続く文字列であり、スレッドiのバッファ境界ロックが解除された後、前記参照情報と前記文字列Si‐1と前記文字列Siとを用い、前記文字列Si‐1に含まれる最後のセルの直後に続くセルの位置に対応する情報Aiを得るセル特定部と、
前記情報Aiが得られた後にスレッドi+1のバッファ境界ロックを解除するバッファ境界ロック解除部と、
i=0の場合の結合文字列CS0がS0であり、i≧1の場合の結合文字列CSiが結合文字列CSi‐1の直後に前記文字列Siを結合したものであり、Jが正整数であり、j=0,…,J-1であり、前記参照情報および前記情報Aiによって特定される情報に基づいて、前記結合文字列CSiに含まれる処理対象のrレコード分の文字列である処理単位文字列PSi,jを選択し、前記処理単位文字列PSi,jを所定の有限集合の元であるエンコード情報Ei,jにエンコードする処理を、前記キャッシュメモリを利用して行うエンコード部と、
前記エンコード情報Ei,jに特定の演算を行って演算値SSi,jを得て前記メインメモリに格納する処理を、前記キャッシュメモリを利用して行う演算部と、
前記演算値SSi,jが得られた後にスレッドi+npの並列性ロックを解除する並列性ロック解除部と、
を有する演算装置。 - 請求項5の演算装置であって、
前記セルは単独で前記演算の対象を表すか否かを判別可能な文字のみを含み、
前記パース部は、i≧1において、前記文字列Si-1に含まれる各セルの位置および長さを表す参照情報の計算が終わる前に、前記文字列Siに含まれる各セルの位置および長さを表す参照情報の計算を開始する、演算装置。 - 請求項4から6の何れかの演算装置であって、
Cが前記キャッシュメモリのキャッシュメモリサイズ、Mが前記メインメモリのメインメモリサイズであり、
Scsvが前記テキストファイルの1レコード分の文字列のサイズの最大値であり、
scsvが前記1レコード分の文字列のサイズの最小値であり、
Sencが前記1レコード分の文字列を前記有限集合の元にエンコードして得られるエンコード情報の合計サイズの最大値であり、
Sssが前記1レコード分の前記エンコード情報に前記演算を行って得られる演算値の合計サイズの最大値であり、
Srefが前記1レコード分の前記セルそれぞれの位置および長さを表す参照情報の合計サイズであり、
前記レコード数rがC/(Scsv+Senc+Sref)の関数値であり、
Iが前記処理単位文字列PSi,jごとに実行される前記エンコードおよび前記演算の繰り返し回数の最大値であり、Sref≧Sssのときmax(Sref,Sss)=Srefであり、Sref<Sssのときmax(Sref,Sss)=Sssであり、f0がscsv・M/(scsv+Senc+max(Sref,Sss))の関数値であり、前記並列数npがf0/I・r・Scsvの関数値であり、
前記ファイルバッファサイズfがf0/npの関数値である、演算装置。 - 請求項4から7の何れかの演算装置であって、
前記パース部は、前記メインメモリに前記参照情報を格納する領域が足りなくなったときに、前記rレコード分の前記参照情報を格納するためのバッファ領域を前記メインメモリにまとめて確保する、演算装置。 - 請求項1から3の何れかのパラメータ設定装置の各部の処理を実行する方法。
- 請求項4から8の何れかの演算装置の各部の処理を実行する方法。
- 請求項1から3の何れかのパラメータ設定装置としてコンピュータを機能させるためのプログラム。
- 請求項4から8の何れかの演算装置としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018051009 | 2018-03-19 | ||
JP2018051009 | 2018-03-19 | ||
PCT/JP2019/009597 WO2019181594A1 (ja) | 2018-03-19 | 2019-03-11 | パラメータ設定装置、演算装置、それらの方法、プログラム、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019181594A1 JPWO2019181594A1 (ja) | 2021-03-11 |
JP7010365B2 true JP7010365B2 (ja) | 2022-01-26 |
Family
ID=67986173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020508217A Active JP7010365B2 (ja) | 2018-03-19 | 2019-03-11 | パラメータ設定装置、演算装置、それらの方法、およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11907641B2 (ja) |
EP (1) | EP3770889B1 (ja) |
JP (1) | JP7010365B2 (ja) |
CN (1) | CN111868805B (ja) |
AU (1) | AU2019238219B2 (ja) |
WO (1) | WO2019181594A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7351343B2 (ja) * | 2019-10-10 | 2023-09-27 | 日本電信電話株式会社 | 秘密多重反復計算装置、方法及びプログラム |
JP7464555B2 (ja) | 2021-03-12 | 2024-04-09 | Kddi株式会社 | データ提供装置、集計システム及びデータ提供プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001076014A (ja) | 1999-09-03 | 2001-03-23 | Kyowa Exeo Corp | Cadデータファイル変換方法およびcadデータファイル変換プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2013101324A (ja) | 2011-10-11 | 2013-05-23 | Nippon Telegr & Teleph Corp <Ntt> | データベース撹乱パラメータ設定装置、方法及びプログラム並びにデータベース撹乱システム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199537A1 (en) * | 2003-04-03 | 2004-10-07 | Duff Robert Cory | System for storing and retrieving database information |
CN101271472B (zh) * | 2003-09-15 | 2011-04-13 | 起元科技有限公司 | 数据处理方法和数据处理系统 |
CN101375284B (zh) * | 2004-10-25 | 2012-02-22 | 安全第一公司 | 安全数据分析方法和系统 |
US20080049930A1 (en) * | 2006-08-25 | 2008-02-28 | Samsung Electronics Co., Ltd. | Method and apparatus for encrypting data |
US10515141B2 (en) * | 2012-07-18 | 2019-12-24 | Software Ag Usa, Inc. | Systems and/or methods for delayed encoding of XML information sets |
KR101553986B1 (ko) * | 2012-10-30 | 2015-09-18 | 동국대학교 산학협력단 | 분산 데이터 저장, 복원 시스템 및 방법 |
CN104615585B (zh) * | 2014-01-06 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 处理文本信息的方法及装置 |
EP3206200B1 (en) * | 2014-10-08 | 2020-12-09 | Nippon Telegraph and Telephone Corporation | Device, method and program for detecting positions of partial character strings |
US9959069B2 (en) * | 2015-02-12 | 2018-05-01 | Microsoft Technology Licensing, Llc | Externalized execution of input method editor |
JP6753401B2 (ja) * | 2015-07-24 | 2020-09-09 | 富士通株式会社 | 符号化プログラム、符号化装置、及び符号化方法 |
JP2017059132A (ja) * | 2015-09-18 | 2017-03-23 | 株式会社デンソーウェーブ | 端末装置及び端末装置のためのコンピュータプログラム |
US10928992B2 (en) * | 2019-03-11 | 2021-02-23 | International Business Machines Corporation | HTML editing operations |
-
2019
- 2019-03-11 EP EP19771212.8A patent/EP3770889B1/en active Active
- 2019-03-11 JP JP2020508217A patent/JP7010365B2/ja active Active
- 2019-03-11 AU AU2019238219A patent/AU2019238219B2/en active Active
- 2019-03-11 US US16/981,064 patent/US11907641B2/en active Active
- 2019-03-11 CN CN201980019927.0A patent/CN111868805B/zh active Active
- 2019-03-11 WO PCT/JP2019/009597 patent/WO2019181594A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001076014A (ja) | 1999-09-03 | 2001-03-23 | Kyowa Exeo Corp | Cadデータファイル変換方法およびcadデータファイル変換プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2013101324A (ja) | 2011-10-11 | 2013-05-23 | Nippon Telegr & Teleph Corp <Ntt> | データベース撹乱パラメータ設定装置、方法及びプログラム並びにデータベース撹乱システム |
Non-Patent Citations (1)
Title |
---|
與那嶺 裕 ほか,閾値秘密分散法に基づく広域ネットワークストレージに関する研究,電子情報通信学会技術研究報告,日本,電子情報通信学会,2005年09月09日,Vol.105,No.290,p.37-44 |
Also Published As
Publication number | Publication date |
---|---|
EP3770889A4 (en) | 2021-12-15 |
WO2019181594A1 (ja) | 2019-09-26 |
US11907641B2 (en) | 2024-02-20 |
CN111868805A (zh) | 2020-10-30 |
EP3770889A1 (en) | 2021-01-27 |
US20210027009A1 (en) | 2021-01-28 |
JPWO2019181594A1 (ja) | 2021-03-11 |
EP3770889B1 (en) | 2023-08-23 |
CN111868805B (zh) | 2023-08-29 |
AU2019238219B2 (en) | 2021-06-24 |
AU2019238219A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348231B (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
US8074068B2 (en) | Secret sharing device, method, and program | |
Li et al. | OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices | |
JP5826934B2 (ja) | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム | |
JP7010365B2 (ja) | パラメータ設定装置、演算装置、それらの方法、およびプログラム | |
JP2017028617A (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
KR101825838B1 (ko) | 데이터의 부분 암호화 방법, 데이터의 부분 복호화 방법 및 부분 암호화된 데이터를 복호화하는 프로그램을 저장하는 저장매체 | |
CN114143311B (zh) | 一种基于区块链的隐私保护方案聚合方法及装置 | |
JP6273226B2 (ja) | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 | |
Cheon et al. | High-Throughput Deep Convolutional Neural Networks on Fully Homomorphic Encryption Using Channel-By-Channel Packing | |
Balmany et al. | Dynamic proof of retrievability based on public auditing for coded secure cloud storage | |
KR102306676B1 (ko) | 스토리지 디바이스용 호스트 키 생성 방법 및 시스템 | |
US20130254545A1 (en) | Method, system and apparatus for transmitting digital contents | |
JP5530025B2 (ja) | データ分割装置およびデータ分割プログラム | |
JP6273224B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法 | |
EP3232319B1 (en) | Random number generation apparatus, random number generation method and program | |
Lentini et al. | A comparison of data fragmentation techniques in cloud servers | |
US20240184760A1 (en) | Method of storing blockchain transaction data using fountain codes and apparatus for the same | |
CN116484443B (zh) | 一种基于鸿蒙系统的可信安全存储方法及装置 | |
JP6927332B2 (ja) | 検索装置、検索方法、プログラム、および記録媒体 | |
WO2023281693A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
Gorke et al. | Cloud storage file recoverability | |
CN106059770A (zh) | 用于模幂运算的高效平稳编码 | |
JP6273223B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム | |
Corena et al. | Pollution-free regenerating codes with fast reconstruction verification for verifiable cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200904 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211129 |
|
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: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7010365 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |