JPWO2020184126A1 - データ置換装置、データ置換方法、プログラム - Google Patents

データ置換装置、データ置換方法、プログラム Download PDF

Info

Publication number
JPWO2020184126A1
JPWO2020184126A1 JP2021504879A JP2021504879A JPWO2020184126A1 JP WO2020184126 A1 JPWO2020184126 A1 JP WO2020184126A1 JP 2021504879 A JP2021504879 A JP 2021504879A JP 2021504879 A JP2021504879 A JP 2021504879A JP WO2020184126 A1 JPWO2020184126 A1 JP WO2020184126A1
Authority
JP
Japan
Prior art keywords
storage device
attribute
attribute value
value set
grouped
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.)
Granted
Application number
JP2021504879A
Other languages
English (en)
Other versions
JP7173282B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020184126A1 publication Critical patent/JPWO2020184126A1/ja
Application granted granted Critical
Publication of JP7173282B2 publication Critical patent/JP7173282B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

小容量の主記憶装置のみを用いて、大規模データを高速にミクロアグリゲーションできるデータ置換装置を提供する。属性値をグループごとに代表値に置き換えるデータ置換装置であって、グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された属性値集合を取得し、グループ化された属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された属性値集合を取得する属性値集合取得部と、主記憶装置上、または補助記憶装置上でグループ化された属性値集合の中央値を算出する中央値算出部と、中央値に基づいてグループ化された属性値集合を二分割した場合に、分割後の属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの属性値集合それぞれを新たなグループとする分割判定部を含む。

Description

本発明は、データベース上の個別データを秘匿する技術に関し、データ置換装置、データ置換方法、プログラムに関する。
データベースの個別データを確定的手法により秘匿する技術として、非特許文献1がある。非特許文献1の秘匿処理では、データベースの各値をグループ化し、代表値に置き換えることで、データベースの秘匿処理を行う。この秘匿処理をミクロアグリゲーションと言う。
Kristen LeFevre, David J DeWitt, and Raghu Ramakrishnan, "Mondrian multidimensional k-anonymity" In Proceedings of the 22nd International Conference on Data Engineering, pp. 25-25, 2006.
しかしながらこの秘匿処理をパーソナルコンピュータ等の計算機で実現する場合、主記憶装置上に全データを保持した上で処理を行うことが前提となる。すなわち、主記憶装置上に収まりきらない大規模なデータに対してミクロアグリゲーションを実行することができない。
そこで本発明では、小容量の主記憶装置のみを用いて、大規模データを高速にミクロアグリゲーションできるデータ置換装置を提供することを目的とする。
本発明のデータ置換装置は、属性値をグループごとに代表値に置き換えるデータ置換装置であって、属性値集合取得部と、中央値算出部と、分割判定部を含む。
属性値集合取得部は、グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された属性値集合を取得し、グループ化された属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された属性値集合を取得する。中央値算出部は、主記憶装置上、または補助記憶装置上でグループ化された属性値集合の中央値を算出する。分割判定部は、中央値に基づいてグループ化された属性値集合を二分割した場合に、分割後の属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの属性値集合それぞれを新たなグループとする。
本発明のデータ置換装置によれば、小容量の主記憶装置のみを用いて、大規模データを高速にミクロアグリゲーションできる。
実施例1のデータ置換装置の構成を示すブロック図。 実施例1のデータ置換装置のグループ生成動作を示すフローチャート。 実施例1のデータ置換装置のデータ置換動作を示すフローチャート。 実施例1のデータ置換装置の並び替え部の動作を例示して説明する図。 先読み処理を例示する図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<処理の概要>
以下の実施例では、大規模データを小容量の主記憶装置で高速にミクロアグリゲーショするデータ置換装置、データ置換方法、プログラムを開示する。実施例1のデータ置換装置、データ置換方法、プログラムは、補助記憶装置(例えばHDD)のランダムアクセスと比較してシーケンシャルアクセス(連続アクセス)のほうが速いという特徴、補助記憶装置(例えばHDD)が主記憶装置(例えばメモリ)と比較して遅いという特徴、補助記憶装置(例えばHDD)が主記憶装置(例えばメモリ)と比べて記憶容量が大きいという特徴を考慮して、アルゴリズムとデータ構造を工夫することで、高速な処理を実現した。
以下の実施例では、ミクロアグリゲーションのためのグループを作成する手法としてMondrianアルゴリズム(非特許文献1)をベースとして用いる。Mondrianアルゴリズムは、各属性ごとにデータの分割を行うことでグループ化を行い、そのグループのサイズが指定したしきい値になるまで繰り返しデータを分割して、グループを作成する。グループ化後、グループ内の属性値を対応する代表値に置き換えることで、秘匿処理を完了する。
小容量の主記憶装置のみを用いて、Mondrianアルゴリズムを実行するにあたり、2つのアプローチを用いる。1つは、データの分割を繰り返す際に、補助記憶装置上に配置するデータが局所参照されることを想定し、LRUアルゴリズムによる主記憶装置へのデータ配置を行うアプローチである。もう1つは、グループ化後に代表値への置き換えの際にランダムアクセスにならないように、ソート処理を行い属性値をシーケンシャルに読み出すための処理を施すアプローチである。
なお、各値をスカラとして表記することとしaのように小文字もしくは大文字のアルファベットで表記する。属性をベクトルとして表記することとしa^のように文字の後ろに「^」を付与する。なお、これは文書作成ソフトの都合による表現であり、例えばa^と表現する場合、ボールド体にサーカムフレックスを付した
Figure 2020184126
を意味する。なおベクトルのi番目の要素はaiと表記することとする。加えてベクトルa^の要素数を|a^|と表記することとする。加えて、ベクトルr^=(r1,r2,...,r|r|)の各値が正の整数の場合に限り、
Figure 2020184126
とする。行列を大文字かつ、文字の後ろに「^」を付与して表現する。なお、これは文書作成ソフトの都合による表現であり、例えばX^と表現する場合、ボールド体にサーカムフレックスを付した
Figure 2020184126
を意味する。データは行列で表現できるものとし、属性を列、レコードを行とする。例えばデータをX^とし、l番目の属性をx^l、ある属性lのi番目のレコードの値をx(l) iと表記することとする。
以下、図1を参照して実施例1のデータ置換装置の構成を説明する。同図に示すように、本実施例のデータ置換装置1は、主記憶装置10Aと、補助記憶装置10Bと、属性値集合取得部11と、中央値算出部12と、分割判定部13と、結合集合生成部14と、並び替え部15と、代表値置換部16と、再並び替え部17を含む。以下、図2、図3を参照して、各構成要件の動作を説明する。
<属性値集合取得部11>
この手順において、属性値集合取得部11は、グループ化された属性値集合を取得する。ここでグループ化された属性値集合とは、後述する分割判定部13の動作により分割されてグループ化された属性値集合であるものとする。また、分割判定部13の動作が未実行(すなわち初期状態)である場合には、属性値集合のデータ全体を一つのグループとみなし、属性値集合のデータ全体をグループ化された属性値集合として取り扱うものとする。
属性値集合取得部11は、グループ化された属性値集合のサイズが予め定めたサイズ以下である場合(図2、条件分岐:サイズ?→小)には、主記憶装置10A上にグループ化された属性値集合を取得し(S11a)、グループ化された属性値集合のサイズが予め定めたサイズよりも大きい場合(図2、条件分岐:サイズ?→大)には、補助記憶装置10B上にグループ化された属性値集合を取得する(S11b)。
なお、前述したように、属性値集合取得部11は、主記憶装置10A上に取得したグループ化された属性値集合をLRUアルゴリズムに基づいて更新すれば好適である。
<中央値算出部12>
中央値算出部12は、主記憶装置10A上、または補助記憶装置10B上でグループ化された属性値集合の中央値を算出する(S12a,S12b)。
<分割判定部13>
分割判定部13は、中央値に基づいてグループ化された属性値集合を二分割した場合に、分割後の属性値集合のそれぞれのサイズが所定のしきい値以上となる場合(図2、条件分岐:しきい値?→しきい値以上)に、分割後の二つの属性値集合それぞれを新たなグループとする(S13a,S13b)。なお、分割後の属性値集合のいずれかのサイズが所定のしきい値未満となる場合(図2、条件分岐:しきい値?→しきい値未満)は、ステップS11〜S13のループ処理から外れ、分割前の属性値集合に対してステップS14以降の処理が続行される。
グループが収束するまで、属性値集合取得部11と、中央値算出部12と、分割判定部13の処理(S11〜S13)は繰り返し実行される。
<結合集合生成部14>
図3に示すように、結合集合生成部14は、属性値集合取得部11と、中央値算出部12と、分割判定部13の処理(S11〜S13)を繰り返し実行することにより収束したグループ内の属性値が連続するように属性値に紐つけられたレコード番号を配列してなる結合集合を生成する(S14)。例えばグループPに属性値p1,p2,…,p|P|があり、グループQに属性値q1,q2,…,q|Q|がある場合、「グループ内の属性値が連続するように」とは、p1,p2,…,p|P|,q1,q2,…,q|Q|、あるいは、q1,q2,…,q|Q|,p1,p2,…,p|P|のように、あるグループ内の属性値が他のグループ内の属性値と混ざらない並びにすることを意味し、結合集合生成部14は、上述した「グループ内の属性値が連続するような」並びが再現できるように、属性値に紐つけられたレコード番号を配列して結合集合を生成する。
<並び替え部15>
並び替え部15は、結合集合に基づいて補助記憶装置10B上の属性値を並び替える(S15)。
<代表値置換部16>
代表値置換部16は、並び替えた属性値の一部を補助記憶装置10Bから主記憶装置10A上に取得する処理をシーケンシャルに実行し、主記憶装置10A上に取得された属性値を代表値に置き換える(S16)。
上述したように、補助記憶装置10B上の属性値集合は、グループ内の属性値が連続するように並び替えが行われているため、代表値に置き換える際に、補助記憶装置10Bから属性値をシーケンシャルに読み込むことができ、処理速度が向上する。
<再並び替え部17>
再並び替え部17は、代表値を補助記憶装置10Bに移動して、元の順序に並び替える(S17)。
以下、具体的なアルゴリズムの例を開示して、上述のステップについて更に説明する。
≪アルゴリズム1:大規模データグループ化アルゴリズムGROUP≫
Input:レコード数N、属性数M、補助記憶装置10B上に格納されたデータD^、しきい値k、レコード番号集合r^、主記憶装置10A上で用いるM個の属性ベクトル集合A^=a^1,...,a^M(M種類の属性にそれぞれ対応)
Output:グループごとのレコード番号集合R^'=(r^1,...,r^|R^'|)
[1]:分割対象の属性lを決定する。
[2]:if |r^|≦|a^l| then(図2、条件分岐:サイズ?→小に相当)
[3]:分割対象の属性lのうち、レコード番号集合r^に該当する属性値集合d^(l) rを、アルゴリズム4(後述)により、主記憶装置10A上のベクトルa^lに取得する(S11aに相当)。
[4]:d^(l) rの中央値mを算出する(a^lから算出する、S12aに相当)。
[5]:d^(l) rのm未満のレコード番号集合をlr^、m以上のレコード番号集合をrr^とする(S13aに相当)。
[6]:else(図2、条件分岐:サイズ?→大に相当)
[7]:分割対象の属性lのうち、レコード番号集合r^に該当する属性値集合d^(l) rを、補助記憶装置10Bに連続に配置する(S11bに相当)。ここで、「連続に配置」とは他のデータを挟まないようにデータを連続に配置することを意味する。
[8]:d^(l) rの中央値mを算出する(S12bに相当)。その際、各値へのアクセスは、アルゴリズム5(後述)より行う。なお、中央値の計算は、ベクトルを外部ソート(例えばマージソート)し、ベクトルの中間の値を中央値として計算するようにする。
[9]:d^(l) rのm未満のレコード番号集合をlr^、m以上のレコード番号集合をrr^とする(S13bに相当)。
[10]:end if
[11]:if |lr^| < k OR |rr^| < k then(図2、条件分岐:しきい値?→しきい値未満に相当)
[12]:return r(図2、しきい値未満→*に相当)
[13]:else(図2、条件分岐:しきい値?→しきい値以上に相当)
[14]:return GROUP(D^,k,lr^,A^)∪GROUP(D^,k,rr^,A^)(図2、スタートに戻り、ループする処理に相当)
[15]:end if
≪アルゴリズム2:代表値置換アルゴリズム≫
Input:グループごとのレコード集合R^'、補助記憶装置10Bに格納されたデータD^
Output:代表値に置き換わったD^'
[1]:グループごとのレコード番号集合R^'={r^'1,r^'2,...}を順番に並べて結合した集合
(結合集合)をs^とする(S14に相当)。
[2]:アルゴリズム3(後述)に従い結合集合s^の順にデータD^を並び替える(S15に相当)。
[3]:j=1
[4]:for r^'i in R^' do
[5]:j番目からj + |r^'i| - 1番目のレコードを補助記憶装置10Bに格納されているD^から主記憶装置10A上に格納し、代表値(例えば平均値、中央値、利用者の指定した値など)に置き換え、D^'に順次格納する(S16に相当)。
[6]:j = j + |r^'i|
[7]:end for
[8]:D^'を元の順序に並び替える(S17に相当)。
[9]:return D^'
≪アルゴリズム3:並び順を変えるアルゴリズム≫
Input:補助記憶装置10B上に配置されたベクトルa^、並べ替えたい順番s^
Output:並び替えられたa^'
[1]:b^=1,2,...,|a^|を用意する(図4C参照)。
[2]:b^をs^をキーにしてソートを行う(図4D参照)。
[3]:a^をb^をキーにしてソートを行う(図4E参照)。
[4]:return a^' = a^
≪アルゴリズム4:LRUアルゴリズムによる値取得≫
Input:補助記憶装置10B上に配置されたデータD^、参照する属性l、レコード番号ri、主記憶装置10A上のベクトルt^
Output:
Figure 2020184126
[1]:if t^に空きがある場合 then
[2]:補助記憶装置10Bから該当する値
Figure 2020184126
をt^に格納する。
[3]:else
[4]:if
Figure 2020184126
がd^に存在しない場合 then
[5]:d^の中から最も利用されていない要素と
Figure 2020184126
を入れ替える。
[6]:end if
[7]:end if
[8]:return t^内の
Figure 2020184126
≪アルゴリズム5:先読みアルゴリズムによる値取得≫
Input:補助記憶装置10B上に配置されたベクトルa^、参照したい要素の位置i、主記憶装置10A上のベクトルc^
Output:値ai
[1]:if i番目の要素がc^に存在しない場合 then
[2]:i番目からi+|c^|番目の要素を補助記憶装置10Bから取得し、c^に格納する。
[3]:end if
[4]:return c^内のai
図5に、アルゴリズム5で実行される先読み処理の例を示す。同図に示すように、年齢=18,23,34,13という属性値が補助記憶装置10Bに格納されている場合、それらを順次主記憶装置10A上に読み出すことを想定する。同図の例では、主記憶装置10Aは2個の要素までを保持できるものとする。まず図5Aに示すように、0番目のindexの値にアクセスした際、0及び1番目のindexの値を主記憶装置10Aに転送し、主記憶装置10Aの0番目のindexの値を取得する。次に1番目のindexの値にアクセスした場合は、主記憶装置10Aからデータを読み取る。その後2番目のindexの値にアクセスした場合は、主記憶装置10Aに該当データが存在しないため、図5Bに示すように、補助記憶装置10Bから2及び3番目のindexの値を主記憶装置10Aに転送し、主記憶装置10A中の0番目のindexの値(補助記憶装置10B中の2番目に該当)を読み出す。このように連続アクセスを想定し、補助記憶装置10Bからデータを読み出す際は、先読み処理を実行する。
<効果>
本実施例のデータ置換装置、データ置換方法、プログラムによれば、大規模なデータのミクロアグリゲーションを効率良く実行することができる。主記憶装置は、ランダムアクセス前提でアルゴリズムが設計されているため、主記憶装置のアルゴリズムをそのまま補助記憶装置の動作に移植すると途端に実行速度が低下する。そこで本実施例では、補助記憶装置10B上にデータベースが配置されていることを考慮し、可能な限り補助記憶装置10Bにシーケンシャルにアクセスがなされるように、かつ可能な限り補助記憶装置10Bへのアクセスを減らすように、アルゴリズムを設計したことである。例えばアルゴリズム1では、主記憶装置10Aの指定領域にデータ(属性値集合)が収まるか収まらないかにより、処理を変え、収まらない場合は、補助記憶装置10Bにシーケンシャルアクセスできるようにし、高速化を図っている。アルゴリズム2では、ソートを予め実施しておくことにより、補助記憶装置10Bへシーケンシャルにアクセスできるようにしている。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (7)

  1. 属性値をグループごとに代表値に置き換えるデータ置換装置であって、
    グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された前記属性値集合を取得し、グループ化された前記属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された前記属性値集合を取得する属性値集合取得部と、
    主記憶装置上、または補助記憶装置上でグループ化された前記属性値集合の中央値を算出する中央値算出部と、
    前記中央値に基づいてグループ化された前記属性値集合を二分割した場合に、分割後の前記属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの前記属性値集合それぞれを新たな前記グループとする分割判定部を含む
    データ置換装置。
  2. 請求項1に記載のデータ置換装置であって、
    前記属性値集合取得部と、前記中央値算出部と、前記分割判定部の処理を繰り返し実行することにより収束した前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成部と、
    前記結合集合に基づいて前記補助記憶装置上の前記属性値を並び替える並び替え部と、
    並び替えた前記属性値の一部を前記補助記憶装置から前記主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換部と、
    前記代表値を前記補助記憶装置に移動して、元の順序に並び替える再並び替え部を含む
    データ置換装置。
  3. 請求項1または2に記載のデータ置換装置であって、
    前記属性値集合取得部は、
    前記主記憶装置上に取得したグループ化された前記属性値集合をLRUアルゴリズムに基づいて更新する
    データ置換装置。
  4. 属性値をグループごとに代表値に置き換えるデータ置換装置であって、
    前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成部と、
    前記結合集合に基づいて補助記憶装置上の前記属性値を並び替える並び替え部と、
    並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換部を含む
    データ置換装置。
  5. 属性値をグループごとに代表値に置き換えるデータ置換方法であって、
    グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された前記属性値集合を取得し、グループ化された前記属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された前記属性値集合を取得する属性値集合取得ステップと、
    主記憶装置上、または補助記憶装置上でグループ化された前記属性値集合の中央値を算出する中央値算出ステップと、
    前記中央値に基づいてグループ化された前記属性値集合を二分割した場合に、分割後の前記属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの前記属性値集合それぞれを新たな前記グループとする分割判定ステップを含む
    データ置換方法。
  6. 属性値をグループごとに代表値に置き換えるデータ置換方法であって、
    前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成ステップと、
    前記結合集合に基づいて補助記憶装置上の前記属性値を並び替える並び替えステップと、
    並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換ステップを含む
    データ置換方法。
  7. コンピュータを請求項1から4の何れかに記載のデータ置換装置として機能させるプログラム。
JP2021504879A 2019-03-11 2020-02-20 データ置換装置、データ置換方法、プログラム Active JP7173282B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019043663 2019-03-11
JP2019043663 2019-03-11
PCT/JP2020/006710 WO2020184126A1 (ja) 2019-03-11 2020-02-20 データ置換装置、データ置換方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2020184126A1 true JPWO2020184126A1 (ja) 2021-12-16
JP7173282B2 JP7173282B2 (ja) 2022-11-16

Family

ID=72427951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021504879A Active JP7173282B2 (ja) 2019-03-11 2020-02-20 データ置換装置、データ置換方法、プログラム

Country Status (5)

Country Link
US (1) US20220138338A1 (ja)
EP (1) EP3940571A4 (ja)
JP (1) JP7173282B2 (ja)
CN (1) CN113544684A (ja)
WO (1) WO2020184126A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189858A1 (en) * 2012-12-27 2014-07-03 Industrial Technology Research Institute Generation Method and Device for generating anonymous dataset, and method and device for risk evaluation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5684165B2 (ja) * 2012-02-08 2015-03-11 株式会社日立製作所 個人情報匿名化装置および方法
WO2014006851A1 (ja) * 2012-07-02 2014-01-09 日本電気株式会社 匿名化装置、匿名化システム、匿名化方法、及び、プログラム記録媒体
JP5962472B2 (ja) * 2012-12-03 2016-08-03 富士通株式会社 匿名化データ生成方法、装置及びプログラム
JP5957095B2 (ja) * 2013-01-17 2016-07-27 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム
JP6040320B2 (ja) * 2013-10-10 2016-12-07 日本電信電話株式会社 秘密並列処理装置、秘密並列処理方法、プログラム
JP6174002B2 (ja) * 2014-12-05 2017-08-02 株式会社東芝 匿名化装置、及びプログラム
JP2016115112A (ja) * 2014-12-15 2016-06-23 富士通株式会社 データ匿名化装置、プログラム、及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189858A1 (en) * 2012-12-27 2014-07-03 Industrial Technology Research Institute Generation Method and Device for generating anonymous dataset, and method and device for risk evaluation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
新井 淳也: "クラスタリングと空間分割の併用による効率的なk−匿名化", 日本データベース学会和文論文誌, vol. 13, no. 1, JPN6022027974, 31 October 2014 (2014-10-31), JP, pages 72 - 77, ISSN: 0004819990 *
長谷川 聡: "大規模データを実用的な速度で処理可能な匿名化ライブラリの設計と実装評価", CSS2017 コンピュータセキュリティシンポジウム2017 論文集, vol. 2017, no. 2, JPN6022027973, 16 October 2017 (2017-10-16), JP, pages 1342 - 1349, ISSN: 0004819989 *

Also Published As

Publication number Publication date
WO2020184126A1 (ja) 2020-09-17
US20220138338A1 (en) 2022-05-05
EP3940571A4 (en) 2022-12-07
EP3940571A1 (en) 2022-01-19
JP7173282B2 (ja) 2022-11-16
CN113544684A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
Grossman et al. On the varieties of clouds for data intensive computing.
Silva et al. Integrating big data into the computing curricula
Gladyshev et al. Finite state machine analysis of a blackmail investigation
Naeem et al. Big data velocity management–from stream to warehouse via high performance memory optimized index join
Abdel Azez et al. Optimizing join in HIVE star schema using key/facts indexing
Liu et al. A tool for moving blockchain computations off-chain
CN103150145A (zh) 数据仓库环境中的语义分组数据的并行处理
CN100501737C (zh) 用于内容受管制的数据的数据库方案及其创建方法和系统
JP7120439B2 (ja) データ一般化装置、データ一般化方法、プログラム
Lytvyn et al. Development of Intellectual System for Data De-Duplication and Distribution in Cloud Storage.
WO2020184126A1 (ja) データ置換装置、データ置換方法、プログラム
Reeves et al. Propositional proof skeletons
CN111444197B (zh) 一种块链式账本中数据记录的验证方法、装置及设备
Chaffai et al. E-learning real time analysis using large scale infrastructure
Crema et al. Spectral projected subgradient with a momentum term for the Lagrangean dual approach
US20180285428A1 (en) Reduced fixed length sort of variable length columns
US11972021B2 (en) Anonymization apparatus, anonymization method, and program
US11849020B2 (en) Fully homomorphic encryption transpiler for high-level languages
JP5875535B2 (ja) 匿名化装置、匿名化方法、プログラム
Khatiwada Architectural issues in real-time business intelligence
JP5875536B2 (ja) 匿名化装置、匿名化方法、プログラム
US10353675B2 (en) Discovering high-level language data structures from assembler code
KR20210114818A (ko) 하이브리드 블록체인 생성 방법 및 장치
Sachdev et al. Khanan: Performance Comparison and Programming α-Miner Algorithm in Column-Oriented and Relational Database Query Languages
CN115544096A (zh) 数据查询方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220901

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7173282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150