JP2012174147A - Information providing program, information providing apparatus, and information providing method - Google Patents

Information providing program, information providing apparatus, and information providing method Download PDF

Info

Publication number
JP2012174147A
JP2012174147A JP2011037686A JP2011037686A JP2012174147A JP 2012174147 A JP2012174147 A JP 2012174147A JP 2011037686 A JP2011037686 A JP 2011037686A JP 2011037686 A JP2011037686 A JP 2011037686A JP 2012174147 A JP2012174147 A JP 2012174147A
Authority
JP
Japan
Prior art keywords
information
data
file
index
items
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.)
Pending
Application number
JP2011037686A
Other languages
Japanese (ja)
Inventor
Falkenhagen Matthew
マシュー・フォルケンハーゲン
Terunobu Kume
照宣 粂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011037686A priority Critical patent/JP2012174147A/en
Publication of JP2012174147A publication Critical patent/JP2012174147A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a memory capacity to be used.SOLUTION: An information providing apparatus 100 acquires request information 101 that indicates a user and an item of which the user requests data among a plurality of items in a file 110. The information providing apparatus 100 retrieves index information corresponding to a combination of items of which the user indicated by the acquired request information 101 has the right to acquire data, from among index information 121, 122, ... associating items included in the combination with a storage location of data on the items, for each of the combinations of the items in the file 110. The information providing apparatus 100 reads data on the items indicated by the request information 101, based on the index information obtained by the retrieval, and outputs the read data.

Description

本発明は、情報提供プログラム、情報提供装置および情報提供方法に関する。   The present invention relates to an information providing program, an information providing apparatus, and an information providing method.

たとえばdata.govのように、様々なデータが通信ネットワークを通じて一般の利用者に公開されるようになっている(たとえば、下記特許文献1参照。)。しかし、データをそのまま公開してしまうと、データに含まれている個人情報を公開することになってしまう。そこで、データの提供元では利用者の権限に応じて、提供データに含まれる項目を取捨選択したり、データから個人が特定されないように個人情報を秘匿化したりすることで個人情報の流出を防いでいる。   For example, data. As in gov, various data are disclosed to general users through a communication network (see, for example, Patent Document 1 below). However, if the data is disclosed as it is, personal information included in the data will be disclosed. Therefore, according to the authority of the user, the data provider prevents the leakage of personal information by selecting items included in the provided data or concealing personal information so that individuals are not identified from the data. It is out.

利用者に提供されるデータは、たとえばフラットファイルなどによって管理される。フラットファイルは、たとえば、プレーンテキストまたはテキストとバイナリの混合であり、通常1行が1レコードになっている。フラットファイルのレコード内はフィールドを区切り文字(デリミタ)で区切った構造になっている。フラットファイルには、たとえばCSV(Comma−Separated Values)ファイルがある。   Data provided to the user is managed by, for example, a flat file. The flat file is, for example, plain text or a mixture of text and binary, and usually one line is one record. A flat file record has a structure in which fields are separated by delimiters. An example of the flat file is a CSV (Comma-Separated Values) file.

複数の利用者にフラットファイルのデータを提供するにあたり、複数の利用者のそれぞれの権限に応じて、提供するデータの項目を制限したり、提供するデータを秘匿化したりする。たとえば、フラットファイルから、利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに作成し、利用者からの要求に対して対応する利用者ファイルからデータを取得することで、利用者の権限に応じたデータ提供を行う。   When providing flat file data to a plurality of users, the items of data to be provided are restricted or the data to be provided is concealed according to the respective authorities of the plurality of users. For example, by creating a user file that contains data for each item that can be provided to the user from a flat file for each user, and obtaining the data from the user file corresponding to the request from the user, Provide data according to the user's authority.

特開2006−285490号公報JP 2006-285490 A

しかしながら、上述した従来技術では、データを提供するアプリケーションは利用者ごとにデータのファイルを作成して保持することになるため、メモリの使用量が多くなるという問題がある。たとえば、複数の利用者が同時にアクセスすると、アプリケーションは、データの提供処理が終了するまで大量のデータのファイルを保持することになるため、データを提供するためには巨大なディスクシステムを設けることになってしまう。   However, the above-described conventional technique has a problem in that the amount of memory used increases because an application that provides data creates and holds a data file for each user. For example, if a plurality of users access the application at the same time, the application will hold a large amount of data files until the data providing process is completed, so a huge disk system is provided to provide the data. turn into.

本発明は、上述した従来技術による問題点を解消するため、メモリの使用量を低減することができる情報提供プログラム、情報提供装置および情報提供方法を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide an information providing program, an information providing apparatus, and an information providing method capable of reducing the amount of memory used in order to solve the above-described problems caused by the prior art.

上述した課題を解決し、目的を達成するため、本発明の一観点によれば、記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、前記記憶部に記憶されたファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、読み出した前記データを出力する報提供プログラム、情報提供装置および情報提供方法が提供される。   In order to solve the above-described problems and achieve the object, according to one aspect of the present invention, the request information of a file including a plurality of items stored in a storage unit and user information for specifying a user are acquired, For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and The index information corresponding to the user information is searched, the data in the storage location of the item data corresponding to the index information obtained by the search is read from the file stored in the storage unit, and the read data is output An information providing program, an information providing apparatus, and an information providing method are provided.

本発明の一観点によれば、メモリの使用量を低減することができるという効果を奏する。   According to one aspect of the present invention, the memory usage can be reduced.

図1は、実施の形態1にかかる情報提供装置による情報提供の一例を示す図である。FIG. 1 is a diagram illustrating an example of information provision by the information provision apparatus according to the first embodiment. 図2は、実施の形態1にかかる情報提供装置の通信システムへの適用の例を示す図である。FIG. 2 is a diagram illustrating an example of application of the information providing apparatus according to the first embodiment to a communication system. 図3は、実施の形態1にかかる情報提供装置のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram of a hardware configuration example of the information providing apparatus according to the first embodiment. 図4は、実施の形態1にかかるフラットファイルの内容の一例を示す説明図である。FIG. 4 is an explanatory diagram of an example of the contents of the flat file according to the first embodiment. 図5は、実施の形態1にかかる利用者テーブルの内容の一例を示す説明図である。FIG. 5 is an explanatory diagram of an example of the contents of the user table according to the first embodiment. 図6は、実施の形態1にかかる情報提供装置の機能的構成を示すブロック図である。FIG. 6 is a block diagram of a functional configuration of the information providing apparatus according to the first embodiment. 図7は、実施の形態1にかかるインデックス管理テーブルの内容の一例を示す説明図である。FIG. 7 is an explanatory diagram of an example of the contents of the index management table according to the first embodiment. 図8は、実施の形態1にかかるインデックスの内容の一例を示す説明図である。FIG. 8 is an explanatory diagram of an example of index contents according to the first embodiment. 図9は、実施の形態1にかかる情報提供装置による処理の一例を示すフローチャートである。FIG. 9 is a flowchart of an example of processing performed by the information providing apparatus according to the first embodiment. 図10は、実施の形態1にかかるインデックスの作成処理の一例を示すフローチャートである。FIG. 10 is a flowchart of an example of index creation processing according to the first embodiment. 図11は、実施の形態1にかかるデータの提供処理の一例を示すフローチャートである。FIG. 11 is a flowchart of an example of data provision processing according to the first embodiment. 図12は、実施の形態2にかかるインデックスの内容の一例を示す説明図である。FIG. 12 is an explanatory diagram of an example of the contents of the index according to the second embodiment. 図13は、実施の形態2にかかる情報提供装置による処理の一例を示すフローチャートである。FIG. 13 is a flowchart of an example of processing performed by the information providing apparatus according to the second embodiment. 図14は、実施の形態2にかかるインデックスの圧縮処理の一例を示すフローチャートである。FIG. 14 is a flowchart of an example of index compression processing according to the second embodiment. 図15は、実施の形態3にかかる情報提供装置による情報提供の一例を示す図である。FIG. 15 is a diagram illustrating an example of information provision by the information provision apparatus according to the third embodiment. 図16は、実施の形態3にかかる情報提供装置の機能的構成を示すブロック図である。FIG. 16 is a block diagram of a functional configuration of the information providing apparatus according to the third embodiment. 図17は、実施の形態3にかかる抽出ファイルの内容の一例を示す説明図である。FIG. 17 is an explanatory diagram of an example of the contents of the extracted file according to the third embodiment. 図18は、実施の形態3にかかる情報提供装置による処理の一例を示すフローチャートである。FIG. 18 is a flowchart of an example of processing performed by the information providing apparatus according to the third embodiment. 図19は、実施の形態3にかかるインデックスの作成処理の一例を示すフローチャートである。FIG. 19 is a flowchart of an example of index creation processing according to the third embodiment. 図20は、実施の形態3にかかるデータの提供処理の一例を示すフローチャートである。FIG. 20 is a flowchart of an example of data provision processing according to the third embodiment. 図21は、実施の形態4にかかる情報提供装置による情報提供の一例を示す図である。FIG. 21 is a diagram illustrating an example of information provision by the information provision apparatus according to the fourth embodiment. 図22は、実施の形態4にかかる情報提供装置の機能的構成を示すブロック図である。FIG. 22 is a block diagram of a functional configuration of the information providing apparatus according to the fourth embodiment. 図23は、実施の形態4にかかる秘匿化ファイルの内容の一例を示す説明図である。FIG. 23 is an explanatory diagram of an example of the contents of the anonymized file according to the fourth embodiment. 図24は、実施の形態4にかかるインデックス管理テーブルの内容の一例を示す説明図である。FIG. 24 is an explanatory diagram of an example of the contents of the index management table according to the fourth embodiment. 図25は、実施の形態4にかかる情報提供装置による処理の一例を示すフローチャートである。FIG. 25 is a flowchart of an example of processing performed by the information providing apparatus according to the fourth embodiment. 図26は、実施の形態4にかかるインデックスの作成処理の一例を示すフローチャートである。FIG. 26 is a flowchart of an example of index creation processing according to the fourth embodiment. 図27は、実施の形態4にかかるデータの提供処理の一例を示すフローチャートである。FIG. 27 is a flowchart of an example of data provision processing according to the fourth embodiment.

以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。   Hereinafter, preferred embodiments of the disclosed technology will be described in detail with reference to the accompanying drawings.

(実施の形態1)
(情報提供装置による情報提供)
図1は、実施の形態1にかかる情報提供装置による情報提供の一例を示す図である。図1に示す情報提供装置100は、利用者からの要求情報101に対して、索引情報121,122,…のうちの利用者のポリシ(権限)に対応する索引情報を用いてファイル110のデータを読み出し、読み出したデータを提供データ102として出力する。
(Embodiment 1)
(Information provision by information provision device)
FIG. 1 is a diagram illustrating an example of information provision by the information provision apparatus according to the first embodiment. The information providing apparatus 100 shown in FIG. 1 uses the index information corresponding to the user's policy (authority) among the index information 121, 122,... And the read data is output as provided data 102.

具体的には、情報提供装置100は、ファイル110をたとえば内部の記憶部に記憶している。または、ファイル110は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。また、内容の異なる複数のファイル110が記憶されていてもよい。ファイル110には複数の項目のデータが含まれている。図1に示す例では、ファイル110には、項目1〜n(nは自然数)のデータとしてそれぞれデータ1〜nが含まれている。   Specifically, the information providing apparatus 100 stores the file 110 in, for example, an internal storage unit. Alternatively, the file 110 may be stored in an external storage unit accessible from the information providing apparatus 100. A plurality of files 110 having different contents may be stored. The file 110 includes a plurality of items of data. In the example illustrated in FIG. 1, the file 110 includes data 1 to n as items 1 to n (n is a natural number).

ファイル110は、たとえば、プレーンテキストまたはテキストとバイナリの混合であり、1行が1レコードになっており、レコード内はフィールドを区切り文字(デリミタ)で区切った構造のフラットファイルである。フラットファイルの例としてはCSVファイルが挙げられる。   The file 110 is, for example, plain text or a mixture of text and binary, one line is one record, and the record is a flat file having a structure in which fields are separated by delimiters (delimiters). An example of a flat file is a CSV file.

また、情報提供装置100は、ファイル110のデータを要求する利用者と、利用者がデータを取得する権限を有するファイル110の項目の組合せ(ポリシ)と、を対応付ける権限情報をたとえば内部の記憶部に記憶している。または、権限情報は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。   In addition, the information providing apparatus 100 stores authority information that associates a user who requests data of the file 110 with a combination (policy) of items of the file 110 for which the user has the authority to acquire data, for example, an internal storage unit I remember it. Alternatively, the authority information may be stored in an external storage unit accessible from the information providing apparatus 100.

また、情報提供装置100は、索引情報121,122,…をたとえば内部の記憶部に記憶している。または、索引情報121,122,…は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。索引情報121,122,…は、ファイル110の項目と、ファイル110の項目のデータの格納場所(アドレス)と、を対応付けるファイル110の項目の組合せごとの索引情報である。索引情報121,122,…が示す格納場所は、ファイル110が記憶された記憶部における格納場所である。   Moreover, the information provision apparatus 100 has memorize | stored the index information 121,122, ... in the internal memory | storage part, for example. Alternatively, the index information 121, 122,... May be stored in an external storage unit accessible from the information providing apparatus 100. The index information 121, 122,... Is index information for each combination of items of the file 110 that associates the items of the file 110 with the storage locations (addresses) of the data of the items of the file 110. The storage location indicated by the index information 121, 122,... Is a storage location in the storage unit in which the file 110 is stored.

たとえば、索引情報121は、項目1および項目2の組合せに対応する索引情報である。索引情報121においては、項目1および項目2に対してそれぞれ格納場所1および格納場所2が対応付けられている。すなわち、索引情報121は、項目1のデータ(データ1)は格納場所1に格納されていることを示している。また、索引情報121は、項目2のデータ(データ2)は格納場所2に格納されていることを示している。   For example, the index information 121 is index information corresponding to a combination of item 1 and item 2. In the index information 121, storage location 1 and storage location 2 are associated with item 1 and item 2, respectively. That is, the index information 121 indicates that the item 1 data (data 1) is stored in the storage location 1. Further, the index information 121 indicates that the data of item 2 (data 2) is stored in the storage location 2.

索引情報122は、項目1および項目3の組合せに対応する索引情報である。索引情報122においては、項目1および項目3に対してそれぞれ格納場所1および格納場所3が対応付けられている。すなわち、索引情報122は、項目1のデータ(データ1)は格納場所1に格納されていることを示している。また、索引情報122は、項目3のデータ(データ3)は格納場所3に格納されていることを示している。   The index information 122 is index information corresponding to the combination of item 1 and item 3. In the index information 122, storage location 1 and storage location 3 are associated with item 1 and item 3, respectively. That is, the index information 122 indicates that the item 1 data (data 1) is stored in the storage location 1. The index information 122 indicates that the data of item 3 (data 3) is stored in the storage location 3.

情報提供装置100は、要求情報101を利用者から取得する。要求情報101は、ファイル110のデータを要求する情報である。たとえば、要求情報101は、要求元の利用者と、ファイル110の項目1〜nのうちの利用者がデータを要求する項目と、を示す情報である。図1に示す例では、要求情報101は、要求元としての利用者1と、利用者1が要求する項目としての項目2と、を示している。なお、複数のファイル110が記憶されている場合は、要求情報101には、複数のファイル110のうちの利用者が要求するデータが含まれるファイルを示す情報を含んでいてもよい。   The information providing apparatus 100 acquires the request information 101 from the user. The request information 101 is information for requesting data of the file 110. For example, the request information 101 is information indicating a requesting user and an item for which the user requests data from among items 1 to n of the file 110. In the example illustrated in FIG. 1, the request information 101 indicates a user 1 as a request source and an item 2 as an item requested by the user 1. When a plurality of files 110 are stored, the request information 101 may include information indicating a file including data requested by the user among the plurality of files 110.

情報提供装置100は、索引情報121,122,…の中から、要求情報101が示す利用者がデータを取得する権限を有する項目の組合せに対応する索引情報を取得する。具体的には、情報提供装置100は、記憶された権限情報に基づいて、要求情報101が示す利用者に対応する項目の組合せを特定する。図1に示す例では、要求情報101が示す利用者1に対応する項目の組合せは、項目1,2の組合せであるとする。そして、情報提供装置100は、索引情報121,122,…の中から、特定した組合せに対応する索引情報を検索する。図1に示す例では、情報提供装置100は、特定した項目1,2の組合せに対応する索引情報121が検索により得られる。   The information providing apparatus 100 acquires index information corresponding to a combination of items for which the user indicated by the request information 101 has the authority to acquire data, from the index information 121, 122,. Specifically, the information providing apparatus 100 specifies a combination of items corresponding to the user indicated by the request information 101 based on the stored authority information. In the example illustrated in FIG. 1, the combination of items corresponding to the user 1 indicated by the request information 101 is a combination of items 1 and 2. Then, the information providing apparatus 100 searches the index information 121, 122, ... for index information corresponding to the identified combination. In the example illustrated in FIG. 1, the information providing apparatus 100 can obtain index information 121 corresponding to the identified combination of items 1 and 2 by searching.

また、情報提供装置100は、特定した組合せに対応する索引情報が索引情報121,122,…の中にない場合は、特定した組合せに対応する索引情報を作成してもよい。情報提供装置100は、作成した索引情報を、情報提供装置100の内部または外部の記憶部に記憶することで、作成した索引情報を索引情報121,122,…に追加する。   Moreover, the information provision apparatus 100 may create the index information corresponding to the specified combination when there is no index information corresponding to the specified combination in the index information 121, 122,. The information providing apparatus 100 adds the created index information to the index information 121, 122,... By storing the created index information in an internal or external storage unit of the information providing apparatus 100.

情報提供装置100が索引情報を作成する場合は、索引情報をあらかじめ情報提供装置100の内部または外部の記憶部に記憶しておかなくてもよい。または、ファイル110の項目の一部の組合せに対応する索引情報のみを情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、取得された要求情報101に基づく項目の組合せに対応する索引情報のみが記憶されるため、索引情報121,122,…が記憶される記憶部(メモリ)の使用量を低減することができる。   When the information providing apparatus 100 creates index information, the index information may not be stored in advance in the internal or external storage unit of the information providing apparatus 100. Alternatively, only index information corresponding to some combinations of items of the file 110 may be stored in an internal or external storage unit of the information providing apparatus 100. In this case, since only the index information corresponding to the combination of items based on the acquired request information 101 is stored, the usage of the storage unit (memory) in which the index information 121, 122,. Can do.

または、ファイル110の項目のすべての組合せに対応する索引情報121,122,…を情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、情報提供装置100が特定した組合せに対応する索引情報は常に索引情報121,122,…に含まれているため、情報提供装置100は新たな索引情報を作成する処理を行わなくてもよい。このため、要求情報101の取得時の情報提供装置100の処理量を低減することができる。   Alternatively, index information 121, 122,... Corresponding to all combinations of items in the file 110 may be stored in an internal or external storage unit of the information providing apparatus 100. In this case, since the index information corresponding to the combination specified by the information providing apparatus 100 is always included in the index information 121, 122,..., The information providing apparatus 100 does not perform a process of creating new index information. Also good. For this reason, the processing amount of the information provision apparatus 100 at the time of acquisition of the request information 101 can be reduced.

情報提供装置100は、取得した索引情報に基づいて、ファイル110が記憶された記憶部から、要求情報101が示す項目のデータを読み出す。図1に示す例では、情報提供装置100は、取得した索引情報121に基づいて、要求情報101が示す項目2の格納場所2を特定する。そして、情報提供装置100は、特定した格納場所2のデータを読み出すことでデータ2を読み出す。   Based on the acquired index information, the information providing apparatus 100 reads the data of the item indicated by the request information 101 from the storage unit in which the file 110 is stored. In the example illustrated in FIG. 1, the information providing apparatus 100 identifies the storage location 2 of the item 2 indicated by the request information 101 based on the acquired index information 121. And the information provision apparatus 100 reads the data 2 by reading the data of the specified storage location 2. FIG.

情報提供装置100は、読み出したデータを提供データ102として出力する。図1に示す例では、要求情報101が示す項目2のデータ(データ2)が提供データ102として出力される。なお、情報提供装置100は、提供データ102を利用者に応じて秘匿化して出力してもよい。情報提供装置100から出力された提供データ102は、たとえばネットワークを介して要求情報101の送信元の端末装置へ送信される。   The information providing apparatus 100 outputs the read data as provided data 102. In the example illustrated in FIG. 1, the item 2 data (data 2) indicated by the request information 101 is output as the provision data 102. Note that the information providing apparatus 100 may output the provided data 102 in a concealed manner according to the user. The provision data 102 output from the information provision apparatus 100 is transmitted to the terminal apparatus that is the transmission source of the request information 101 via a network, for example.

なお、情報提供装置100が取得した索引情報に要求情報101が示す項目が含まれていない場合は、要求情報101が示す項目のデータが読み出されず、要求情報101が示す項目のデータが出力されない。たとえば、図1に示す例において、要求情報101に含まれる項目が項目3であった場合は、利用者のポリシに対応する索引情報121には項目3が含まれていないため、項目3のデータは出力されない。これにより、利用者が取得する権限を有していないデータを出力しないようにすることができる。   When the index information acquired by the information providing apparatus 100 does not include the item indicated by the request information 101, the data of the item indicated by the request information 101 is not read, and the data of the item indicated by the request information 101 is not output. For example, in the example shown in FIG. 1, if the item included in the request information 101 is item 3, the item 3 is not included in the index information 121 corresponding to the user policy. Is not output. Thereby, it is possible to prevent output of data that the user does not have the authority to acquire.

ここでは、要求情報101がファイル110の項目1〜nのうちの利用者がデータを要求する項目を示す情報である場合について説明したが、要求情報101はファイル110の項目1〜nのうちの特定の項目を示していなくてもよい。この場合は、たとえば、情報提供装置100は、利用者のポリシに対応する全項目のデータを読み出して出力する。   Here, a case has been described in which the request information 101 is information indicating an item for which a user requests data among items 1 to n of the file 110, but the request information 101 is one of items 1 to n of the file 110. A specific item may not be shown. In this case, for example, the information providing apparatus 100 reads and outputs data of all items corresponding to the user policy.

(通信システムへの適用例)
図2は、実施の形態1にかかる情報提供装置の通信システムへの適用の例を示す図である。図1に示した情報提供装置100は、たとえば図2に示す通信システム200に適用することができる。通信システム200は、情報提供装置100と、端末装置221〜22nと、ネットワーク230と、を含んでいる。情報提供装置100と端末装置221〜22nは、ネットワーク230を介して互いに接続されている。
(Application examples for communication systems)
FIG. 2 is a diagram illustrating an example of application of the information providing apparatus according to the first embodiment to a communication system. The information providing apparatus 100 shown in FIG. 1 can be applied to the communication system 200 shown in FIG. 2, for example. The communication system 200 includes the information providing apparatus 100, terminal apparatuses 221 to 22n, and a network 230. The information providing apparatus 100 and the terminal apparatuses 221 to 22n are connected to each other via the network 230.

ネットワーク230は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークである。また、ネットワーク230は、有線のネットワークであってもよいし、無線のネットワークであってもよいし、有線および無線が混在したネットワークであってもよい。   The network 230 is a network such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet. The network 230 may be a wired network, a wireless network, or a network in which wired and wireless are mixed.

端末装置221は、たとえば端末装置221の利用者の操作にしたがって情報提供装置100へ要求情報(たとえば図1に示した要求情報101)送信する。情報提供装置100は、端末装置221から送信された要求情報に対して、端末装置221の利用者のポリシに応じてファイル110のデータを取得する。そして、情報提供装置100は、取得したデータを提供データ102として端末装置221へ送信する。   The terminal device 221 transmits request information (for example, the request information 101 shown in FIG. 1) to the information providing device 100 according to the operation of the user of the terminal device 221, for example. In response to the request information transmitted from the terminal device 221, the information providing device 100 acquires the data of the file 110 according to the policy of the user of the terminal device 221. Then, the information providing apparatus 100 transmits the acquired data to the terminal apparatus 221 as the provided data 102.

同様に、端末装置222〜22nは、たとえばそれぞれ端末装置222〜22nの利用者の操作にしたがって情報提供装置100へ要求情報を送信する。これに対して、情報提供装置100は、端末装置222〜22nのそれぞれの利用者のポリシに応じてファイル110のデータを取得する。そして、情報提供装置100は、取得したデータをそれぞれ提供データ102として端末装置222〜22nへ送信する。   Similarly, the terminal devices 222 to 22n transmit request information to the information providing device 100, for example, according to the operation of the user of each of the terminal devices 222 to 22n. On the other hand, the information provision apparatus 100 acquires the data of the file 110 according to each user's policy of the terminal devices 222-22n. And the information provision apparatus 100 transmits the acquired data to the terminal devices 222-22n as the provision data 102, respectively.

(情報提供装置100のハードウェア構成例)
図3は、実施の形態1にかかる情報提供装置のハードウェア構成例を示すブロック図である。図1,図2に示した情報提供装置100は、たとえば図3に示すコンピュータ300によって実現することができる。コンピュータ300は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、通信I/F(Interface)308と、ユーザI/F(Interface)309と、を備えている。また、各構成部はバス320によってそれぞれ接続されている。
(Example of hardware configuration of information providing apparatus 100)
FIG. 3 is a block diagram of a hardware configuration example of the information providing apparatus according to the first embodiment. The information providing apparatus 100 shown in FIGS. 1 and 2 can be realized by a computer 300 shown in FIG. 3, for example. The computer 300 includes a CPU (Central Processing Unit) 301, a ROM (Read-Only Memory) 302, a RAM (Random Access Memory) 303, a magnetic disk drive 304, a magnetic disk 305, an optical disk drive 306, and an optical disk 307. And a communication I / F (Interface) 308 and a user I / F (Interface) 309. Each component is connected by a bus 320.

ここで、CPU301は、コンピュータ300の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。   Here, the CPU 301 governs overall control of the computer 300. The ROM 302 stores a program such as a boot program. The RAM 303 is used as a work area for the CPU 301. The magnetic disk drive 304 controls the reading / writing of the data with respect to the magnetic disk 305 according to control of CPU301. The magnetic disk 305 stores data written under the control of the magnetic disk drive 304.

光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。   The optical disk drive 306 controls the reading / writing of the data with respect to the optical disk 307 according to control of CPU301. The optical disk 307 stores data written under the control of the optical disk drive 306, and causes the computer to read data stored on the optical disk 307.

通信I/F308は、通信回線を通じてネットワーク230(図2参照)に接続され、ネットワーク230を介して端末装置222〜22n(図2参照)に接続される。そして、通信I/F308は、ネットワーク230とコンピュータ300のインターフェースを司り、端末装置222〜22nとの間のデータの入出力を制御する。通信I/F308には、たとえばモデムやLANアダプタなどを採用することができる。   The communication I / F 308 is connected to the network 230 (see FIG. 2) through a communication line, and is connected to the terminal devices 222 to 22n (see FIG. 2) via the network 230. The communication I / F 308 controls an interface between the network 230 and the computer 300 and controls data input / output between the terminal devices 222 to 22n. For example, a modem or a LAN adapter may be employed as the communication I / F 308.

ユーザI/F309は、コンピュータ300とコンピュータ300の管理者との間のインターフェースを司る。たとえば、ユーザI/F309には、ディスプレイ、マウス、キーボードなどを用いることができる。また、コンピュータ300を管理者が操作したりモニタしたりしない場合は、ユーザI/F309を省いた構成にしてもよい。   A user I / F 309 manages an interface between the computer 300 and an administrator of the computer 300. For example, a display, a mouse, a keyboard, or the like can be used as the user I / F 309. If the administrator does not operate or monitor the computer 300, the user I / F 309 may be omitted.

また、図2に示した端末装置222〜22nのそれぞれも、たとえばコンピュータ300によって実現することができる。この場合は、通信I/F308は、ネットワーク230を介して情報提供装置100に接続される。そして、通信I/F308は、情報提供装置100との間のデータの入出力を制御する。また、ユーザI/F309には、利用者から要求情報101が入力される入力インターフェースと、利用者へ提供データ102を出力する出力インターフェースと、が含まれる。   Each of the terminal devices 222 to 22n illustrated in FIG. 2 can also be realized by the computer 300, for example. In this case, the communication I / F 308 is connected to the information providing apparatus 100 via the network 230. The communication I / F 308 controls data input / output with the information providing apparatus 100. In addition, the user I / F 309 includes an input interface through which request information 101 is input from the user and an output interface through which the provided data 102 is output to the user.

(フラットファイルの内容)
図4は、実施の形態1にかかるフラットファイルの内容の一例を示す説明図である。図4に示すフラットファイル400は、図1に示したファイル110の一例である。フラットファイル400は、たとえば、プレーンテキストまたはテキストとバイナリが混在したデータである。フラットファイル400は、Name1(氏)、Name2(名)、Salary(給料)およびCode(識別コード)のフィールドを有する。各フィールドにデータを設定することで、人物データ400−1〜400−4がレコードとして記憶されている。
(Flat file contents)
FIG. 4 is an explanatory diagram of an example of the contents of the flat file according to the first embodiment. A flat file 400 shown in FIG. 4 is an example of the file 110 shown in FIG. The flat file 400 is, for example, plain text or data in which text and binary are mixed. The flat file 400 has fields of Name1 (name), Name2 (name), Salary (salary), and Code (identification code). By setting data in each field, person data 400-1 to 400-4 are stored as records.

フラットファイル400の各レコードは、それぞれ特定の人物に関するName1、Name2、SalaryおよびCodeを示している。また、フラットファイル400の各レコードは、Name1、Name2、SalaryおよびCodeが区切り文字で区切られた構造になっている。区切り文字はたとえばカンマなどである。   Each record of the flat file 400 indicates Name1, Name2, Salary, and Code for a specific person. Each record of the flat file 400 has a structure in which Name1, Name2, Salary, and Code are separated by a delimiter. The delimiter is a comma, for example.

一例として、人物データ400−1を例に挙げると、Name1「SALAZAR」、Name2「KATE」、Salary「439476」およびCode「DX2XS2」が記憶されている。フラットファイル400は、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。   For example, in the case of the person data 400-1, Name1 “SALAZAR”, Name2 “KATE”, Salary “439476”, and Code “DX2XS2” are stored. The flat file 400 is stored in a storage device such as the ROM 302, RAM 303, magnetic disk 305, and optical disk 307 shown in FIG.

(利用者テーブル500の内容)
図5は、実施の形態1にかかる利用者テーブルの内容の一例を示す説明図である。図5に示す利用者テーブル500は、フラットファイル400のデータを要求する利用者と、利用者がデータを取得する権限を有するファイル110の項目の組合せ(ポリシ)と、を対応付ける権限情報の一例である。利用者テーブル500は、利用者、ポリシおよびシードのフィールドを有する。各フィールドに情報を設定することで、利用者データ500−1,500−2,…がレコードとして記憶されている。ここで、利用者は、情報提供装置100に対してフラットファイル400のデータの提供を要求する利用者である。利用者には、たとえば「Alice」、「Bob」、「Eve」などがある。
(Contents of user table 500)
FIG. 5 is an explanatory diagram of an example of the contents of the user table according to the first embodiment. A user table 500 shown in FIG. 5 is an example of authority information that associates a user who requests data of the flat file 400 with a combination (policy) of items of the file 110 for which the user has the authority to acquire data. is there. The user table 500 has fields for user, policy, and seed. By setting information in each field, user data 500-1, 500-2,... Are stored as records. Here, the user is a user who requests the information providing apparatus 100 to provide data of the flat file 400. Examples of the user include “Alice”, “Bob”, “Eve”, and the like.

ポリシは、フラットファイル400の項目の組合せのうちの、利用者が取得する権限を有する項目の組合せである。フラットファイル400の項目は、たとえば、フラットファイル400の列(フィールド)と行(レコード)によって表される。ポリシには、たとえば「p1」、「p2」、「p3」などがある。「p1」、「p2」、「p3」のそれぞれは、フラットファイル400の項目(列と行)の異なる組合せを示している。   The policy is a combination of items that the user has authority to acquire from among the combinations of items of the flat file 400. The items of the flat file 400 are represented by, for example, columns (fields) and rows (records) of the flat file 400. Examples of policies include “p1”, “p2”, “p3”, and the like. Each of “p1”, “p2”, and “p3” indicates different combinations of items (columns and rows) of the flat file 400.

シードは、フラットファイル400のデータを利用者へ提供する際に、提供するデータを秘匿化するためのパラメータである。情報提供装置100は、利用者へ提供データ102を出力する際に、提供データ102を利用者のシードに基づいて完全にまたは部分的に秘匿化して提供する。シードには、たとえば「s1」、「s2」、「s3」などがある。「s1」、「s2」、「s3」はそれぞれ異なるパラメータを示している。   The seed is a parameter for concealing provided data when providing data of the flat file 400 to a user. When outputting the provision data 102 to the user, the information provision apparatus 100 provides the provision data 102 in a completely or partially concealed manner based on the seed of the user. Examples of seeds include “s1”, “s2”, and “s3”. “S1”, “s2”, and “s3” indicate different parameters.

一例として、利用者データ500−1を例に挙げると、利用者「Alice」、ポリシ「p1」およびシード「s1」が記憶されている。利用者テーブル500は、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。   As an example, taking user data 500-1 as an example, a user “Alice”, a policy “p1”, and a seed “s1” are stored. The user table 500 is stored in a storage device such as the ROM 302, the RAM 303, the magnetic disk 305, and the optical disk 307 shown in FIG.

(情報提供装置100の機能的構成例)
図6は、実施の形態1にかかる情報提供装置の機能的構成を示すブロック図である。図6に示すように、情報提供装置100は、取得部601と、特定部602と、検索部603と、作成部604と、読出部605と、秘匿化部606と、出力部607と、を含む構成である。この制御部となる機能(取得部601〜出力部607)は、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F308により、その機能を実現する。
(Functional configuration example of information providing apparatus 100)
FIG. 6 is a block diagram of a functional configuration of the information providing apparatus according to the first embodiment. As illustrated in FIG. 6, the information providing apparatus 100 includes an acquisition unit 601, a specification unit 602, a search unit 603, a creation unit 604, a reading unit 605, a concealment unit 606, and an output unit 607. It is the composition which includes. The functions (acquisition unit 601 to output unit 607) serving as the control unit are executed by causing the CPU 301 to execute a program stored in a storage device such as the ROM 302, the RAM 303, the magnetic disk 305, and the optical disk 307 illustrated in FIG. Alternatively, the function is realized by the communication I / F 308.

取得部601は、たとえば通信I/F308により、利用者からの要求情報101を取得する。要求情報101は、少なくとも、フラットファイル400に含まれる複数の項目のうちの利用者がデータを要求する項目と、要求元の利用者とを示す。なお、取得部601によって取得された要求情報101は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   The acquisition unit 601 acquires the request information 101 from the user, for example, through the communication I / F 308. The request information 101 indicates at least an item for which a user requests data from among a plurality of items included in the flat file 400 and a requesting user. The request information 101 acquired by the acquisition unit 601 is stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

特定部602は、取得部601によって取得された要求情報101が示す要求元の利用者に対応するポリシおよびシードを利用者テーブル500に基づいて特定する。なお、特定部602によって特定されたポリシおよびシードは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   The identifying unit 602 identifies the policy and seed corresponding to the requesting user indicated by the request information 101 acquired by the acquiring unit 601 based on the user table 500. The policy and seed specified by the specifying unit 602 are stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

インデックス情報記憶部610には、インデックス管理テーブル611が記憶されている。また、インデックス情報記憶部610には、インデックス612a,612b,…が記憶される。インデックス情報記憶部610は、RAM303、磁気ディスク305、光ディスク307などの情報提供装置100の記憶装置によって実現してもよいし、通信I/F308を介して情報提供装置100が接続可能な外部の記憶装置によって実現してもよい。   The index information storage unit 610 stores an index management table 611. The index information storage unit 610 stores indexes 612a, 612b,. The index information storage unit 610 may be realized by a storage device of the information providing apparatus 100 such as the RAM 303, the magnetic disk 305, and the optical disk 307, or an external storage to which the information providing apparatus 100 can be connected via the communication I / F 308. It may be realized by a device.

インデックス管理テーブル611は、ポリシと、インデックス情報記憶部610に記憶されているインデックス612a,612b,…の識別情報「index1」,「index2」,…と、を対応付ける情報である。   The index management table 611 is information that associates the policy with the identification information “index1”, “index2”,... Of the indexes 612a, 612b,.

インデックス612a,612b,…は、フラットファイル400の項目の組合せに含まれる項目と、項目のデータのアドレス(格納場所)と、を対応付ける索引情報の一例である。インデックス612a,612b,…は、フラットファイル400の項目の組合せ(ポリシ)ごとに存在する。インデックス612a,612b,…は、インデックス情報記憶部610にあらかじめ記憶されていてもよいし、作成部604によって作成されてインデックス情報記憶部610に記憶されてもよい。   The indexes 612a, 612b,... Are an example of index information that associates items included in the combination of items of the flat file 400 with data addresses (storage locations) of the items. The indexes 612a, 612b,... Exist for each combination (policy) of items of the flat file 400. The indexes 612a, 612b,... May be stored in advance in the index information storage unit 610, or may be created by the creation unit 604 and stored in the index information storage unit 610.

検索部603は、インデックス612a,612b,…のうちの特定部602によって特定されたポリシに対応するインデックスをインデックス情報記憶部610から検索する。具体的には、検索部603は、インデックス管理テーブル611に基づいて、インデックス612a,612b,…の中からポリシに対応するインデックスを検索する。検索の結果、対応するインデックスがインデックス情報記憶部610に存在する場合には、検索部603は、対応するインデックスをインデックス情報記憶部610から取得する。   The search unit 603 searches the index information storage unit 610 for an index corresponding to the policy specified by the specifying unit 602 among the indexes 612a, 612b,. Specifically, the search unit 603 searches the index 612a, 612b,... For an index corresponding to the policy based on the index management table 611. If the corresponding index exists in the index information storage unit 610 as a result of the search, the search unit 603 acquires the corresponding index from the index information storage unit 610.

検索の結果、対応するインデックスが存在しない場合には、検索部603は、特定部602によって特定されたポリシを作成部604へ通知する。そして、検索部603は、作成部604によって作成され、インデックス情報記憶部610に追加されたインデックスを取得する。なお、検索部603によって取得されたインデックスは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   As a result of the search, when there is no corresponding index, the search unit 603 notifies the creating unit 604 of the policy specified by the specifying unit 602. The search unit 603 acquires the index created by the creation unit 604 and added to the index information storage unit 610. The index acquired by the search unit 603 is stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

作成部604は、フラットファイル400に基づいて、検索部603から通知されたポリシに対応するインデックスを作成する。具体的には、作成部604は、通知されたポリシに含まれる項目のそれぞれのアドレス(格納場所)を取得し、取得したアドレスと項目とを対応付けることによってインデックスを作成する。作成部604は、作成したインデックスをインデックス情報記憶部610のインデックス612a,612b,…に追加する。また、作成部604は、作成したインデックスを、検索部603から通知されたポリシと対応付けてインデックス管理テーブル611に登録する。   The creation unit 604 creates an index corresponding to the policy notified from the search unit 603 based on the flat file 400. Specifically, the creation unit 604 obtains each address (storage location) of an item included in the notified policy, and creates an index by associating the obtained address with the item. The creation unit 604 adds the created index to the indexes 612a, 612b,... Of the index information storage unit 610. Also, the creation unit 604 registers the created index in the index management table 611 in association with the policy notified from the search unit 603.

読出部605は、取得部601によって取得された要求情報101が示す項目のデータを、検索部603によって取得されたインデックスに基づいて、フラットファイル400が記憶された記憶部から読み出す。具体的には、読出部605は、要求情報101が示す項目のデータに対応するアドレスをインデックスから検索する。そして、読出部605は、フラットファイル400が記憶された記憶部における、検索により得られたアドレスのデータを読み出す。なお、読出部605によって読み出されたデータは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   The reading unit 605 reads the data of the item indicated by the request information 101 acquired by the acquisition unit 601 from the storage unit in which the flat file 400 is stored based on the index acquired by the search unit 603. Specifically, the reading unit 605 searches the index for an address corresponding to the item data indicated by the request information 101. Then, the reading unit 605 reads data at the address obtained by the search in the storage unit in which the flat file 400 is stored. The data read by the reading unit 605 is stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

また、検索の結果、要求情報101が示す項目のデータに対応するアドレスがインデックスに存在しなかった場合は、要求元の利用者は、要求情報101が示す項目のデータを取得する権限を有していない。この場合は、読出部605は、エラーメッセージを生成してもよい。これにより、要求元の利用者に対して、データの取得ができなかったことを通知することができる。なお、読出部605によって生成されたエラーメッセージは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   As a result of the search, if the address corresponding to the item data indicated by the request information 101 does not exist in the index, the requesting user has the authority to acquire the item data indicated by the request information 101. Not. In this case, the reading unit 605 may generate an error message. Thereby, it is possible to notify the requesting user that the data could not be acquired. The error message generated by the reading unit 605 is stored in a storage device such as the RAM 303, the magnetic disk 305, or the optical disk 307.

秘匿化部606は、読出部605によって読み出されたデータを、特定部602によって特定されたシードに基づいて秘匿化する。秘匿化部606によるデータの秘匿化としては、たとえば、シードに基づく乱数化や、文字列を頭文字のみに変換する処理などを用いることができる。   The concealing unit 606 conceals the data read by the reading unit 605 based on the seed specified by the specifying unit 602. As the data concealment by the concealment unit 606, for example, randomization based on a seed, processing for converting a character string into only an initial character, or the like can be used.

秘匿化として乱数化を行う場合は、情報提供装置100のメモリに複数の乱数テーブルを記憶しておく。そして、秘匿化部606は、メモリに記憶された乱数テーブルの中から、特定されたシードに基づいて乱数テーブルを選択し、選択した乱数テーブルに基づいてデータを乱数化する。したがって、同一のシードが特定された場合は、選択される乱数テーブルも同一となる。なお、秘匿化部606によって秘匿化されたデータは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。   When randomization is performed as concealment, a plurality of random number tables are stored in the memory of the information providing apparatus 100. Then, the concealment unit 606 selects a random number table based on the identified seed from the random number table stored in the memory, and randomizes the data based on the selected random number table. Therefore, when the same seed is specified, the selected random number table is also the same. The data concealed by the concealment unit 606 is stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

出力部607は、たとえば通信I/F308により、秘匿化部606によって秘匿化されたデータ、または読出部605によって生成されたエラーメッセージを利用者の端末装置へ出力する。または、出力部607は、データまたはエラーメッセージをRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶してもよい。   The output unit 607 outputs, for example, the data concealed by the concealment unit 606 or the error message generated by the reading unit 605 to the user terminal device by the communication I / F 308. Alternatively, the output unit 607 may store data or an error message in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307.

(インデックス管理テーブル611の内容)
図7は、実施の形態1にかかるインデックス管理テーブルの内容の一例を示す説明図である。図7に示すインデックス管理テーブル611は、図6に示したインデックス管理テーブル611の一例である。インデックス管理テーブル611は、ポリシおよびインデックスのフィールドを有する。各フィールドに情報を設定することで、管理データ700−1〜700−3がレコードとして記憶されている。
(Contents of index management table 611)
FIG. 7 is an explanatory diagram of an example of the contents of the index management table according to the first embodiment. The index management table 611 illustrated in FIG. 7 is an example of the index management table 611 illustrated in FIG. The index management table 611 has policy and index fields. By setting information in each field, management data 700-1 to 700-3 are stored as records.

ここで、ポリシは、利用者テーブル500に含まれるポリシに対応する情報である。インデックスは、インデックス情報記憶部610に記憶されたインデックス612a,612b,…のそれぞれを示す識別情報である。インデックスの値には、たとえば「index1」、「index2」および「index3」がある。一例として、管理データ700−1を例に挙げると、ポリシ「p1」およびインデックス「index1」が記憶されている。   Here, the policy is information corresponding to the policy included in the user table 500. The index is identification information indicating each of the indexes 612a, 612b,... Stored in the index information storage unit 610. Examples of index values include “index1”, “index2”, and “index3”. As an example, taking the management data 700-1 as an example, the policy “p1” and the index “index1” are stored.

(インデックス612a,612b,…の内容)
図8は、実施の形態1にかかるインデックスの内容の一例を示す説明図である。図8に示すインデックス612a,612b,…は、図7に示したインデックス管理テーブル611のインデックス「index1」、「index2」…に対応するそれぞれのインデックスを示している。インデックス612a,612b,…のそれぞれは、列、行およびアドレスのフィールドを有する。インデックス612aの各フィールドに情報を設定することで、インデックスデータ801−1〜801−3がレコードとして記憶されている。また、インデックス612bの各フィールドに情報を設定することで、インデックスデータ802−1〜802−3がレコードとして記憶されている。
(Contents of indexes 612a, 612b, ...)
FIG. 8 is an explanatory diagram of an example of index contents according to the first embodiment. 8, indexes 612a, 612b,... Respectively correspond to the indexes “index1”, “index2”,... In the index management table 611 shown in FIG. Each of the indexes 612a, 612b,... Has columns, rows, and address fields. By setting information in each field of the index 612a, index data 801-1 to 801-3 are stored as records. Also, by setting information in each field of the index 612b, index data 802-1 to 802-3 are stored as records.

ここで、列は、フラットファイル400の列を示す情報である。行は、フラットファイル400の行を示す情報である。したがって、列および行の組合せは、フラットファイル400の項目を示す。列および行には、たとえば「1」および「2」などがある。アドレスは、列および行の組合せが示すフラットファイル400の項目の、フラットファイル400が記憶された記憶部における格納場所を示す情報である。アドレスには、たとえば「0」、「100」、「200」および「300」などがある。   Here, the column is information indicating a column of the flat file 400. The line is information indicating a line of the flat file 400. Thus, the column and row combinations indicate items in the flat file 400. Examples of columns and rows include “1” and “2”. The address is information indicating a storage location of the item of the flat file 400 indicated by the combination of the column and the row in the storage unit in which the flat file 400 is stored. Examples of the address include “0”, “100”, “200”, and “300”.

一例として、インデックス612aのインデックスデータ801−1を例に挙げると、列「1」、行「1」およびアドレス「0」が記憶されている。したがって、インデックスデータ801−1は、列「1」および行「1」の組合せが示すフラットファイル400の項目のデータがアドレス「0」に格納されていることを示している。   As an example, taking index data 801-1 of index 612a as an example, column “1”, row “1”, and address “0” are stored. Therefore, the index data 801-1 indicates that the data of the item of the flat file 400 indicated by the combination of the column “1” and the row “1” is stored at the address “0”.

(情報提供装置100による処理)
図9は、実施の形態1にかかる情報提供装置による処理の一例を示すフローチャートである。実施の形態1にかかる情報提供装置100は、たとえば図9に示す各ステップを実行する。まず、取得部601が、利用者からの要求情報101を取得する(ステップS901)。つぎに、特定部602が、ステップS901によって取得された要求情報101の要求元の利用者のポリシを特定する(ステップS902)。
(Processing by the information providing apparatus 100)
FIG. 9 is a flowchart of an example of processing performed by the information providing apparatus according to the first embodiment. The information providing apparatus 100 according to the first embodiment executes, for example, each step illustrated in FIG. First, the acquisition unit 601 acquires request information 101 from a user (step S901). Next, the specifying unit 602 specifies the policy of the requesting user of the request information 101 acquired in step S901 (step S902).

つぎに、検索部603が、ステップS902によって特定されたポリシに一致するインデックスがインデックス情報記憶部610にあるか否かを判断する(ステップS903)。ポリシに一致するインデックスがある場合(ステップS903:Yes)は、情報提供装置100は、ステップS906へ移行する。   Next, the search unit 603 determines whether or not there is an index in the index information storage unit 610 that matches the policy specified in step S902 (step S903). If there is an index that matches the policy (step S903: Yes), the information providing apparatus 100 proceeds to step S906.

ステップS903において、ポリシに一致するインデックスがない場合(ステップS903:No)は、情報提供装置100は、ステップS904へ移行する。すなわち、作成部604が、フラットファイル400における、ステップS902によって特定されたポリシが示す各項目のデータのアドレスを示すインデックスを作成する(ステップS904)。つぎに、作成部604が、ステップS904によって作成されたインデックスをインデックス情報記憶部610に登録する(ステップS905)。   In step S903, when there is no index that matches the policy (step S903: No), the information providing apparatus 100 proceeds to step S904. In other words, the creation unit 604 creates an index indicating the address of the data of each item indicated by the policy specified in step S902 in the flat file 400 (step S904). Next, the creation unit 604 registers the index created in step S904 in the index information storage unit 610 (step S905).

つぎに、情報提供装置100は、要求情報101が示す項目のデータを利用者に提供する提供処理を行い(ステップS906)、一連の処理を終了する。以上の各ステップにより、利用者のポリシに対応するインデックスに基づいて、利用者からの要求情報101が示す項目のデータを利用者に提供することができる。   Next, the information providing apparatus 100 performs a providing process for providing the user with the data of the item indicated by the request information 101 (step S906), and ends the series of processes. Through the above steps, the data of the item indicated by the request information 101 from the user can be provided to the user based on the index corresponding to the user policy.

(インデックスの作成処理)
図10は、実施の形態1にかかるインデックスの作成処理の一例を示すフローチャートである。作成部604は、図9に示したステップS904において、たとえば図10に示す各ステップを実行する。図10に示す各ステップにおいて、COL、ROWは、それぞれフラットファイル400の列、行を示す変数である。また、ADDRESSは、フラットファイル400におけるアドレスを示す変数である。
(Index creation process)
FIG. 10 is a flowchart of an example of index creation processing according to the first embodiment. The creation unit 604 executes, for example, each step shown in FIG. 10 in step S904 shown in FIG. In each step shown in FIG. 10, COL and ROW are variables indicating columns and rows of the flat file 400, respectively. ADDRESS is a variable indicating an address in the flat file 400.

まず、作成部604は、フラットファイル400を開く(ステップS1001)。つぎに、作成部604は、COLに1を設定する(ステップS1002)。つぎに、作成部604は、ROWに1を設定する(ステップS1003)。つぎに、作成部604は、ADDRESSに0を設定する(ステップS1004)。   First, the creation unit 604 opens the flat file 400 (step S1001). Next, the creation unit 604 sets COL to 1 (step S1002). Next, the creation unit 604 sets 1 to ROW (step S1003). Next, the creation unit 604 sets 0 to ADDRESS (step S1004).

つぎに、作成部604は、現在のCOLとROWが示す項目は、利用者が取得する権限を有する項目か否かを、図9に示したステップS902によって特定されたポリシに基づいて判断する(ステップS1005)。権限を有する項目でない場合(ステップS1005:No)は、作成部604は、ステップS1007へ移行する。権限を有する項目である場合(ステップS1005:Yes)は、作成部604は、現在のCOL、ROWおよびADDRESSが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS1006)。   Next, the creation unit 604 determines whether or not the items indicated by the current COL and ROW are items that the user has the authority to acquire based on the policy specified in step S902 illustrated in FIG. 9 ( Step S1005). If the item is not an authorized item (step S1005: No), the creating unit 604 proceeds to step S1007. If the item is an authorized item (step S1005: Yes), the creation unit 604 adds the combination of columns, rows, and addresses indicated by the current COL, ROW, and ADDRESS to the newly created index (step S1006). .

つぎに、作成部604は、フラットファイル400における現在のADDRESSが示すアドレスに格納された文字が区切り文字であるか否かを判断する(ステップS1007)。区切り文字には、たとえば、ファイルの終端(End Of File)、列の区切り、行の区切りがある。区切り文字でない場合(ステップS1007:No)は、作成部604は、ADDRESSをインクリメントし(ステップS1008)、ステップS1007へ戻る。   Next, the creating unit 604 determines whether or not the character stored at the address indicated by the current ADDRESS in the flat file 400 is a delimiter (step S1007). Examples of the delimiter include an end of file (End Of File), a column delimiter, and a line delimiter. When it is not a delimiter (step S1007: No), the creation unit 604 increments ADDRESS (step S1008) and returns to step S1007.

ステップS1007において、区切り文字である場合(ステップS1007:Yes)は、作成部604は、フラットファイル400における現在のADDRESSが示すアドレスに格納された文字がファイルの終端であるか否かを判断する(ステップS1009)。ファイルの終端である場合(ステップS1009:Yes)は、作成部604は、一連の処理を終了する。ファイルの終端でない場合(ステップS1009:No)は、作成部604は、フラットファイル400における現在のADDRESSが示すアドレスに格納された文字が列の区切りであるか否かを判断する(ステップS1010)。   In step S1007, if the character is a delimiter (step S1007: Yes), the creation unit 604 determines whether or not the character stored at the address indicated by the current ADDRESS in the flat file 400 is the end of the file ( Step S1009). When it is the end of the file (step S1009: Yes), the creation unit 604 ends a series of processes. If it is not the end of the file (step S1009: No), the creation unit 604 determines whether or not the character stored at the address indicated by the current ADDRESS in the flat file 400 is a column delimiter (step S1010).

ステップS1010において、格納された文字が列の区切りである場合(ステップS1010:Yes)は、作成部604は、COLをインクリメントし(ステップS1011)、ステップS1014へ移行する。格納された文字が列の区切りでなく行の区切りである場合(ステップS1010:No)は、作成部604は、ROWをインクリメントする(ステップS1012)。つぎに、作成部604は、COLを1に設定し(ステップS1013)、ステップS1014へ移行する。   In step S1010, when the stored character is a column delimiter (step S1010: Yes), the creation unit 604 increments COL (step S1011), and proceeds to step S1014. When the stored character is not a column delimiter but a line delimiter (step S1010: No), the creation unit 604 increments ROW (step S1012). Next, the creation unit 604 sets COL to 1 (step S1013), and proceeds to step S1014.

ステップS1014においては、作成部604は、現在のCOLとROWが示す項目は、利用者が取得する権限を有する項目か否かを、図9に示したステップS902によって特定されたポリシに基づいて判断する(ステップS1014)。権限を有する項目でない場合(ステップS1014:No)は、作成部604は、ステップS1016へ移行する。権限を有する項目である場合(ステップS1014:Yes)は、作成部604は、現在のCOL、ROWおよびADDRESSが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS1015)。   In step S1014, the creation unit 604 determines whether the items indicated by the current COL and ROW are items that the user has authority to acquire based on the policy specified in step S902 illustrated in FIG. (Step S1014). If the item is not an authorized item (step S1014: NO), the creating unit 604 proceeds to step S1016. If the item is an authorized item (step S1014: Yes), the creation unit 604 adds the combination of the column, row, and address indicated by the current COL, ROW, and ADDRESS to the newly created index (step S1015). .

つぎに、作成部604は、ADDRESSをインクリメントし(ステップS1016)、ステップS1007へ戻る。以上の各ステップにより、図9に示したステップS902によって特定されたポリシが示す各項目のデータのアドレスを示すインデックスを作成することができる。   Next, the creation unit 604 increments ADDRESS (step S1016) and returns to step S1007. Through the above steps, an index indicating the data address of each item indicated by the policy specified in step S902 shown in FIG. 9 can be created.

(データの提供処理)
図11は、実施の形態1にかかるデータの提供処理の一例を示すフローチャートである。情報提供装置100は、図9に示したステップS906において、たとえば図11に示す各ステップを実行する。まず、検索部603が、図9に示したステップS902によって特定されたポリシに一致するインデックスをインデックス情報記憶部610から取得する(ステップS1101)。つぎに、読出部605が、要求情報101に利用者が要求する項目が含まれているか否かを判断する(ステップS1102)。要求情報101に項目が含まれていない場合(ステップS1102:No)は、情報提供装置100は、ステップS1104へ移行する。
(Data provision process)
FIG. 11 is a flowchart of an example of data provision processing according to the first embodiment. The information providing apparatus 100 executes, for example, each step shown in FIG. 11 in step S906 shown in FIG. First, the search unit 603 acquires from the index information storage unit 610 an index that matches the policy specified in step S902 shown in FIG. 9 (step S1101). Next, the reading unit 605 determines whether or not the request information 101 includes an item requested by the user (step S1102). When the item is not included in the request information 101 (step S1102: No), the information providing apparatus 100 proceeds to step S1104.

要求情報101に項目が含まれている場合(ステップS1102:Yes)は、読出部605が、要求情報101が示す項目(列および行)が、ステップS1101によって取得されたインデックスにあるか否かを判断する(ステップS1103)。項目がインデックスにある場合(ステップS1103:Yes)は、読出部605が、ステップS1101によって取得されたインデックスに基づいてデータをフラットファイル400から読み出す(ステップS1104)。   When the request information 101 includes an item (step S1102: Yes), the reading unit 605 determines whether the item (column and row) indicated by the request information 101 is in the index acquired in step S1101. Judgment is made (step S1103). When the item is in the index (step S1103: Yes), the reading unit 605 reads data from the flat file 400 based on the index acquired in step S1101 (step S1104).

具体的には、要求情報101に項目が含まれている場合は、読出部605は、要求情報101が示す列および行に対応するアドレスをインデックスに基づいて特定し、特定したアドレスのデータを読み出す。また、要求情報101に項目が含まれていない場合は、読出部605は、インデックスが示す各アドレスのデータを読み出す。   Specifically, when the request information 101 includes an item, the reading unit 605 specifies an address corresponding to the column and row indicated by the request information 101 based on the index, and reads data at the specified address. . If the request information 101 does not include an item, the reading unit 605 reads data at each address indicated by the index.

つぎに、特定部602が、要求情報101が示す利用者のシードを特定する(ステップS1105)。つぎに、秘匿化部606が、ステップS1105によって特定されたシードに基づいて、ステップS1104によって読み出されたデータを秘匿化する(ステップS1106)。つぎに、出力部607が、ステップS1106によって秘匿化されたデータを出力し(ステップS1107)、一連の処理を終了する。   Next, the specifying unit 602 specifies the user seed indicated by the request information 101 (step S1105). Next, the concealment unit 606 conceals the data read out in step S1104 based on the seed specified in step S1105 (step S1106). Next, the output unit 607 outputs the data concealed in step S1106 (step S1107), and the series of processing ends.

ステップS1103において、項目がインデックスにない場合(ステップS1103:No)は、読出部605が、データを取得できなかった旨のエラーメッセージを生成する(ステップS1108)。つぎに、出力部607が、ステップS1108によって生成されたエラーメッセージを出力し(ステップS1109)、一連の処理を終了する。以上の各ステップにより、要求情報101が示す項目のデータを利用者に提供することができる。また、利用者が取得する権限を有していない項目のデータについては利用者へ提供せず、エラーメッセージを出力することができる。   In step S1103, if the item is not in the index (step S1103: No), the reading unit 605 generates an error message indicating that data could not be acquired (step S1108). Next, the output unit 607 outputs the error message generated in step S1108 (step S1109), and the series of processing ends. Through the above steps, data of items indicated by the request information 101 can be provided to the user. In addition, the data of items that the user does not have the authority to obtain is not provided to the user, and an error message can be output.

このように、実施の形態1にかかる情報提供装置100は、ポリシ(利用者がデータを取得する権限を有する項目の組合せ)ごとにデータのアドレスを示すインデックスを作成し、利用者が要求する項目のデータをインデックスに基づいて取得する。これにより、利用者の権限に応じて利用者にデータを提供することができる。   As described above, the information providing apparatus 100 according to the first embodiment creates an index indicating the address of data for each policy (a combination of items for which the user has the authority to acquire data), and items requested by the user. Get the data of based on the index. Thereby, data can be provided to the user according to the user's authority.

また、ポリシの数は利用者の数より少ない。したがって、ポリシごとのインデックスを作成することで、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに作成する場合に比べて、作成するファイル数を低減することができる。このため、メモリの使用量を低減することができる。   Also, the number of policies is less than the number of users. Therefore, by creating an index for each policy, for example, it is possible to reduce the number of files to be created as compared to a case where a user file including data of each item that can be provided to a user is created for each user. . For this reason, the amount of memory used can be reduced.

また、データのアドレスを示すインデックスは、データ自体を含む利用者ファイルよりも情報量が少ない。したがって、ポリシごとのインデックスを作成することで、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに作成する場合に比べて、作成するファイルのサイズを低減することができる。このため、メモリの使用量をさらに低減することができる。   Further, the index indicating the data address has less information than the user file including the data itself. Therefore, by creating an index for each policy, for example, it is possible to reduce the size of the file to be created compared to creating a user file including data of each item that can be provided to the user for each user. it can. For this reason, the amount of memory used can be further reduced.

(実施の形態2)
実施の形態2にかかる情報提供装置100について、実施の形態1にかかる情報提供装置100と異なる部分について説明する。
(Embodiment 2)
The information providing apparatus 100 according to the second embodiment will be described with respect to differences from the information providing apparatus 100 according to the first embodiment.

(インデックス612a,612b,…の内容)
図12は、実施の形態2にかかるインデックスの内容の一例を示す説明図である。図12において、図8に示した部分と同様の部分については同一の符号を付して説明を省略する。図8に示したインデックス612bのインデックスデータ802−1は、インデックス612aのインデックスデータ801−2と同一の項目(列「2」および行「1」の組合せ)を示している。この場合は、図12に示すように、インデックスデータ802−1を、列「2」および行「1」の組合せと、インデックス612aの識別情報「index1」と、を対応付ける情報としてもよい。
(Contents of indexes 612a, 612b, ...)
FIG. 12 is an explanatory diagram of an example of the contents of the index according to the second embodiment. In FIG. 12, the same parts as those shown in FIG. The index data 802-1 of the index 612b illustrated in FIG. 8 indicates the same items (combination of column “2” and row “1”) as the index data 801-2 of the index 612a. In this case, as shown in FIG. 12, the index data 802-1 may be information that associates the combination of the column “2” and the row “1” with the identification information “index1” of the index 612a.

ポリシごとのインデックスを示す識別情報は、記憶部の格納場所を示すアドレスよりもデータ量が小さいため、インデックス612bにおいてアドレスに代えてインデックスの識別情報を格納することで、インデックス612bのサイズを圧縮することができる。検索部603は、取得したインデックスのアドレスに他のインデックスの識別情報が含まれている場合は、含まれている識別情報が示すインデックスも取得する。   Since the identification information indicating the index for each policy has a smaller data amount than the address indicating the storage location of the storage unit, the size of the index 612b is compressed by storing the index identification information instead of the address in the index 612b. be able to. When the acquired index address includes identification information of another index, the search unit 603 also acquires an index indicated by the included identification information.

読出部605は、検索部603によって取得された各インデックスに基づいて、要求情報101が示す項目のデータを読み出す。たとえば、読出部605は、検索部603によって取得された各インデックスのいずれかを取得する。そして、読出部605は、取得したインデックスにおいて、要求情報101が示す項目にアドレスが対応付けられている場合は対応付けられているアドレスを取得する。   The reading unit 605 reads the data of the item indicated by the request information 101 based on each index acquired by the search unit 603. For example, the reading unit 605 acquires one of the indexes acquired by the search unit 603. If the address is associated with the item indicated by the request information 101 in the obtained index, the reading unit 605 obtains the associated address.

また、読出部605は、取得したインデックスにおいて、要求情報101が示す項目に他のインデックスの識別情報が対応付けられている場合は、検索部603によって取得された各インデックスのうちの識別情報が示すインデックスを取得する。そして、読出部605は、取得したインデックスに基づいて、要求情報101が示す項目に対応付けられているアドレスを取得する。   In addition, in the acquired index, when the identification information of another index is associated with the item indicated by the request information 101 in the acquired index, the reading unit 605 indicates the identification information of each index acquired by the search unit 603. Get the index. Then, the reading unit 605 acquires an address associated with the item indicated by the request information 101 based on the acquired index.

図12に示す例では、検索部603は、検索によりインデックス612bを取得した場合に、インデックス612bに識別情報「index1」が含まれているため、識別情報「index1」が示すインデックス612aも取得する。読出部605は、検索部603によって取得された各インデックスのうちのたとえばインデックス612bを取得する。ここで、要求情報101が示す項目が列「2」および行「1」の組合せであるとする。   In the example illustrated in FIG. 12, when the index 612b is acquired by the search, the search unit 603 also acquires the index 612a indicated by the identification information “index1” because the index 612b includes the identification information “index1”. The reading unit 605 acquires, for example, the index 612b among the indexes acquired by the search unit 603. Here, it is assumed that the item indicated by the request information 101 is a combination of column “2” and row “1”.

インデックス612bにおいて、列「2」および行「1」の組合せには識別情報「index1」が対応付けられているため、読出部605は、識別情報「index1」が示すインデックス612aを取得する。そして、読出部605は、取得したインデックス612aにおいて、列「2」および行「1」の組合せにはアドレス「100」が対応付けられているため、アドレス「100」のデータを読み出す。   In the index 612b, since the identification information “index1” is associated with the combination of the column “2” and the row “1”, the reading unit 605 acquires the index 612a indicated by the identification information “index1”. Then, since the address “100” is associated with the combination of the column “2” and the row “1” in the acquired index 612a, the reading unit 605 reads the data at the address “100”.

(情報提供装置100による処理)
図13は、実施の形態2にかかる情報提供装置による処理の一例を示すフローチャートである。実施の形態2にかかる情報提供装置100は、たとえば図13に示す各ステップを実行する。図13に示すステップS1301〜S1304は、図9に示したステップS901〜S904と同様である。ステップS1304の後に、作成部604が、ステップS1304によって作成されたインデックスの圧縮処理を行う(ステップS1305)。
(Processing by the information providing apparatus 100)
FIG. 13 is a flowchart of an example of processing performed by the information providing apparatus according to the second embodiment. The information providing apparatus 100 according to the second embodiment executes, for example, each step illustrated in FIG. Steps S1301 to S1304 shown in FIG. 13 are the same as steps S901 to S904 shown in FIG. After step S1304, the creation unit 604 performs compression processing on the index created in step S1304 (step S1305).

図13に示すステップS1306,S1307は、図9に示したステップS905,S906と同様である。以上の各ステップにより、利用者のポリシに対応するインデックスに基づいて、利用者からの要求情報101が示す項目のデータを利用者に提供することができる。また、インデックスを作成する場合に、作成したインデックスの圧縮処理を行うことで、インデックス情報記憶部610(メモリ)の使用量を低減することができる。   Steps S1306 and S1307 shown in FIG. 13 are the same as steps S905 and S906 shown in FIG. Through the above steps, the data of the item indicated by the request information 101 from the user can be provided to the user based on the index corresponding to the user policy. Further, when an index is created, the used amount of the index information storage unit 610 (memory) can be reduced by compressing the created index.

(インデックスの圧縮処理)
図14は、実施の形態2にかかるインデックスの圧縮処理の一例を示すフローチャートである。作成部604は、図13に示したステップS1305において、たとえば図14に示す各ステップを実行する。まず、作成部604は、インデックス情報記憶部610に記憶されたすべてのインデックスがステップS1402によって選択されたか否かを判断する(ステップS1401)。すべてのインデックスが選択されていない場合(ステップS1401:No)は、作成部604は、インデックス情報記憶部610に記憶されたインデックスのうちの未選択のインデックスを選択する(ステップS1402)。
(Index compression processing)
FIG. 14 is a flowchart of an example of index compression processing according to the second embodiment. The creation unit 604 executes, for example, each step illustrated in FIG. 14 in step S1305 illustrated in FIG. First, the creation unit 604 determines whether all indexes stored in the index information storage unit 610 have been selected in step S1402 (step S1401). When all the indexes are not selected (step S1401: No), the creation unit 604 selects an unselected index among the indexes stored in the index information storage unit 610 (step S1402).

つぎに、作成部604は、ステップS1402によって選択されたインデックスのすべてのレコードがステップS1404によって選択されたか否かを判断する(ステップS1403)。すべてのレコードが選択されていない場合(ステップS1403:No)は、作成部604は、図13のステップS1304によって作成されたインデックスのレコードのうちの未選択のレコードを選択する(ステップS1404)。   Next, the creating unit 604 determines whether or not all records of the index selected in step S1402 have been selected in step S1404 (step S1403). If all the records have not been selected (step S1403: No), the creation unit 604 selects an unselected record from the index records created in step S1304 in FIG. 13 (step S1404).

つぎに、作成部604は、ステップS1404によって選択されたレコードと一致するレコードが、ステップS1402によって選択されたインデックスにあるか否かを判断する(ステップS1405)。一致するレコードがない場合(ステップS1405:No)は、作成部604は、ステップS1403へ戻る。一致するレコードがある場合(ステップS1405:Yes)は、作成部604は、ステップS1404によって選択されたレコードのアドレスを、ステップS1402によって選択されたインデックスの識別情報に書き換え(ステップS1406)、ステップS1403へ戻る。   Next, the creating unit 604 determines whether there is a record that matches the record selected in step S1404 in the index selected in step S1402 (step S1405). If there is no matching record (step S1405: No), the creation unit 604 returns to step S1403. If there is a matching record (step S1405: Yes), the creation unit 604 rewrites the address of the record selected in step S1404 with the identification information of the index selected in step S1402 (step S1406), and the process proceeds to step S1403. Return.

ステップS1403において、すべてのレコードが選択された場合(ステップS1403:Yes)は、作成部604は、ステップS1401へ戻る。ステップS1401において、すべてのインデックスが選択された場合(ステップS1401:Yes)は、作成部604は、一連の処理を終了する。以上の各ステップにより、図13のステップS1304によって作成されたインデックスに既存のインデックスと共通のレコードがあった場合に、作成されたインデックスを圧縮することができる。   In step S1403, when all the records are selected (step S1403: Yes), the creation unit 604 returns to step S1401. If all the indexes have been selected in step S1401 (step S1401: Yes), the creation unit 604 ends a series of processes. Through the above steps, the created index can be compressed when the index created in step S1304 in FIG. 13 has a record in common with the existing index.

このように、実施の形態2にかかる情報提供装置100によれば、記憶されるインデックスのサイズを圧縮することができる。具体的には、実施の形態2にかかる情報提供装置100において、他のインデックスと共通の項目を含むインデックスは、他のインデックスと共通の項目と、他のインデックスを示す識別情報と、を対応付ける。   As described above, the information providing apparatus 100 according to the second embodiment can compress the size of the stored index. Specifically, in the information providing apparatus 100 according to the second embodiment, an index including an item common to another index associates an item common to the other index with identification information indicating the other index.

これにより、記憶されるインデックスのデータ量を少なくし、メモリの使用量をさらに低減することができる。この場合は、情報提供装置100は、他のインデックスを示す識別情報を含むインデックスが検索により得られた場合に、識別情報に基づいて他のインデックスを取得し、取得した他のインデックスに基づいてデータを読み出すことができる。   As a result, the amount of stored index data can be reduced, and the amount of memory used can be further reduced. In this case, when an index including identification information indicating another index is obtained by the search, the information providing apparatus 100 acquires another index based on the identification information, and data based on the acquired other index. Can be read out.

(実施の形態3)
実施の形態3にかかる情報提供装置100について、実施の形態1または2にかかる情報提供装置100と異なる部分について説明する。
(Embodiment 3)
The information providing apparatus 100 according to the third embodiment will be described with respect to differences from the information providing apparatus 100 according to the first or second embodiment.

(情報提供装置100による情報提供)
図15は、実施の形態3にかかる情報提供装置による情報提供の一例を示す図である。図15において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。情報提供装置100は、抽出ファイル1511,1512,…を内部の記憶部に記憶している。または、抽出ファイル1511,1512,…は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。
(Information provision by the information provision apparatus 100)
FIG. 15 is a diagram illustrating an example of information provision by the information provision apparatus according to the third embodiment. In FIG. 15, the same parts as those shown in FIG. The information providing apparatus 100 stores extracted files 1511, 1512,... In an internal storage unit. Alternatively, the extracted files 1511, 1512,... May be stored in an external storage unit accessible from the information providing apparatus 100.

抽出ファイル1511,1512,…は、ファイル110の項目の組合せごとの、項目に含まれるデータをファイル110から抽出した抽出ファイルである。実施の形態3においては、索引情報121,122,…が示す格納場所は、抽出ファイル1511,1512,…が記憶された記憶部における格納場所である。   Extracted files 1511, 1512,... Are extracted files obtained by extracting data included in items for each combination of items in the file 110 from the file 110. In the third embodiment, the storage location indicated by the index information 121, 122,... Is the storage location in the storage unit in which the extracted files 1511, 1512,.

情報提供装置100は、特定したポリシに対応する索引情報が索引情報121,122,…の中にない場合は、特定したポリシに対応する抽出ファイルおよび索引情報を作成してもよい。情報提供装置100は、作成した抽出ファイルを、情報提供装置100の内部または外部の記憶部に記憶することで、作成した抽出ファイルを抽出ファイル1511,1512,…に追加する。   When the index information corresponding to the specified policy is not included in the index information 121, 122,..., The information providing apparatus 100 may create an extraction file and index information corresponding to the specified policy. The information providing apparatus 100 adds the created extracted file to the extracted files 1511, 1512,... By storing the created extracted file in an internal or external storage unit of the information providing apparatus 100.

情報提供装置100が抽出ファイルを作成する場合は、抽出ファイル1511,1512,…をあらかじめ情報提供装置100の内部または外部の記憶部に記憶しておかなくてもよい。または、ファイル110の項目の一部の組合せに対応する抽出ファイルのみを情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、取得された要求情報101に基づく項目の組合せに対応する抽出ファイルのみが記憶されるため、抽出ファイル1511,1512,…が記憶される記憶部(メモリ)の使用量を低減することができる。   When the information providing apparatus 100 creates an extracted file, the extracted files 1511, 1512,... Need not be stored in advance in an internal or external storage unit of the information providing apparatus 100. Alternatively, only extracted files corresponding to some combinations of items of the file 110 may be stored in an internal or external storage unit of the information providing apparatus 100. In this case, since only the extracted files corresponding to the combination of items based on the acquired request information 101 are stored, the usage of the storage unit (memory) in which the extracted files 1511, 1512,. Can do.

または、ファイル110の項目のすべての組合せに対応する抽出ファイルおよび索引情報を情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、情報提供装置100が特定した組合せに対応する抽出ファイルおよび索引情報は常に抽出ファイル1511,1512,…および索引情報121,122,…に含まれている。したがって、情報提供装置100は新たな抽出ファイルおよび索引情報を作成する処理を行わなくてもよい。このため、要求情報101の取得時の情報提供装置100の処理量を低減することができる。   Alternatively, extracted files and index information corresponding to all combinations of items of the file 110 may be stored in an internal or external storage unit of the information providing apparatus 100. In this case, the extracted file and the index information corresponding to the combination specified by the information providing apparatus 100 are always included in the extracted files 1511, 1512,... And the index information 121, 122,. Therefore, the information providing apparatus 100 does not have to perform a process of creating a new extracted file and index information. For this reason, the processing amount of the information provision apparatus 100 at the time of acquisition of the request information 101 can be reduced.

情報提供装置100は、取得した索引情報に基づいて、抽出ファイル1511,1512,…が記憶された記憶部から、要求情報101が示す項目のデータを読み出す。図1に示す例では、情報提供装置100は、取得した索引情報121に基づいて、要求情報101が示す項目2の格納場所2を特定する。そして、情報提供装置100は、特定した格納場所2のデータを読み出すことでデータ2を読み出す。   The information providing apparatus 100 reads the data of the item indicated by the request information 101 from the storage unit in which the extracted files 1511, 1512,... Are stored based on the acquired index information. In the example illustrated in FIG. 1, the information providing apparatus 100 identifies the storage location 2 of the item 2 indicated by the request information 101 based on the acquired index information 121. And the information provision apparatus 100 reads the data 2 by reading the data of the specified storage location 2. FIG.

ここでは、要求情報101がファイル110の項目1〜nのうちの利用者がデータを要求する項目を示す情報である場合について説明したが、要求情報101はファイル110の項目1〜nのうちの特定の項目を示していなくてもよい。この場合は、たとえば、情報提供装置100は、利用者のポリシに対応する全項目のデータを読み出して出力する。   Here, a case has been described in which the request information 101 is information indicating an item for which a user requests data among items 1 to n of the file 110, but the request information 101 is one of items 1 to n of the file 110. A specific item may not be shown. In this case, for example, the information providing apparatus 100 reads and outputs data of all items corresponding to the user policy.

(情報提供装置100の機能的構成例)
図16は、実施の形態3にかかる情報提供装置の機能的構成を示すブロック図である。図16において、図6に示した部分と同様の部分については同一の符号を付して説明を省略する。図16に示すように、実施の形態3にかかる情報提供装置100は、図6に示した構成に加えて抽出ファイル記憶部1610を備えている。
(Functional configuration example of information providing apparatus 100)
FIG. 16 is a block diagram of a functional configuration of the information providing apparatus according to the third embodiment. In FIG. 16, the same parts as those shown in FIG. As illustrated in FIG. 16, the information providing apparatus 100 according to the third embodiment includes an extracted file storage unit 1610 in addition to the configuration illustrated in FIG. 6.

抽出ファイル記憶部1610には、抽出ファイル1611,1612…が記憶される。抽出ファイル1611,1612…は、抽出ファイル記憶部1610にあらかじめ記憶されていてもよいし、作成部604によって作成されて抽出ファイル記憶部1610に記憶されてもよい。抽出ファイル記憶部1610は、RAM303、磁気ディスク305、光ディスク307などの情報提供装置100の記憶装置によって実現してもよいし、たとえば通信I/F308を介して情報提供装置100が接続可能な外部の記憶装置によって実現してもよい。   The extracted file storage unit 1610 stores extracted files 1611, 1612. The extracted files 1611, 1612,... May be stored in advance in the extracted file storage unit 1610, or may be created by the creating unit 604 and stored in the extracted file storage unit 1610. The extracted file storage unit 1610 may be realized by a storage device of the information providing apparatus 100 such as the RAM 303, the magnetic disk 305, or the optical disk 307, or may be an external device to which the information providing apparatus 100 can be connected via the communication I / F 308, for example. It may be realized by a storage device.

抽出ファイル1611,1612…は、フラットファイル400の項目の組合せ(ポリシ)ごとに作成される情報であって、項目の組合せに含まれる項目のデータをフラットファイル400から抽出した抽出ファイルである。上述したように、検索部603は、検索の結果、対応するインデックスが存在しない場合には、特定部602によって特定されたポリシを作成部604へ通知する。   The extracted files 1611, 1612,... Are information created for each combination (policy) of items of the flat file 400, and are extracted files obtained by extracting data of items included in the combination of items from the flat file 400. As described above, the search unit 603 notifies the creating unit 604 of the policy specified by the specifying unit 602 when the corresponding index does not exist as a result of the search.

作成部604は、検索部603から通知されたポリシに基づいてフラットファイル400から抽出ファイル1611,1612…を作成する。具体的には、作成部604は、フラットファイル400の各データのうちの、通知されたポリシに含まれる項目のデータを抽出する。そして、作成部604は、抽出結果を抽出ファイルとして抽出ファイル記憶部1610に記憶する。   The creation unit 604 creates extracted files 1611, 1612,... From the flat file 400 based on the policy notified from the search unit 603. Specifically, the creation unit 604 extracts data of items included in the notified policy from each data of the flat file 400. Then, the creation unit 604 stores the extraction result in the extraction file storage unit 1610 as an extraction file.

また、作成部604は、検索部603から通知されたポリシに対応するインデックスを作成する。具体的には、作成部604は、通知されたポリシに含まれる項目のデータの抽出ファイル記憶部1610におけるアドレス(格納場所)を取得し、取得したアドレスと項目とを対応付けることによってインデックスを作成する。   The creation unit 604 creates an index corresponding to the policy notified from the search unit 603. Specifically, the creation unit 604 obtains an address (storage location) in the extracted file storage unit 1610 of the data of the item included in the notified policy, and creates an index by associating the obtained address with the item. .

なお、作成部604によって作成されたインデックスは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。また、作成部604は、作成したインデックスをインデックス情報記憶部610のインデックス612a,612b,…に追加する。また、作成部604は、作成したインデックスを、検索部603から通知されたポリシと対応付けてインデックス管理テーブル611に登録する。   The index created by the creation unit 604 is stored in a storage device such as the RAM 303, the magnetic disk 305, and the optical disk 307. Further, the creation unit 604 adds the created index to the indexes 612a, 612b,... Of the index information storage unit 610. Also, the creation unit 604 registers the created index in the index management table 611 in association with the policy notified from the search unit 603.

読出部605は、取得部601によって取得された要求情報101が示す項目のデータを、検索部603によって取得されたインデックスに基づいて、抽出ファイル記憶部1610から読み出す。具体的には、読出部605は、要求情報101が示す項目のデータに対応するアドレスをインデックスから検索する。そして、読出部605は、抽出ファイル記憶部1610における、検索により得られたアドレスのデータを読み出す。   The reading unit 605 reads the data of the item indicated by the request information 101 acquired by the acquisition unit 601 from the extracted file storage unit 1610 based on the index acquired by the search unit 603. Specifically, the reading unit 605 searches the index for an address corresponding to the item data indicated by the request information 101. Then, the reading unit 605 reads the data at the address obtained by the search in the extracted file storage unit 1610.

(抽出ファイルの内容)
図17は、実施の形態3にかかる抽出ファイルの内容の一例を示す説明図である。図17において、抽出ファイル1611は、フラットファイル400の項目のうちの、ポリシp1(Name1、Name2、SalaryおよびCodeの組合せ、すなわち全項目)に対応する抽出ファイルである。したがって、抽出ファイル1611は、Name1、Name2、SalaryおよびCodeのフィールドを有する。各フィールドに情報を設定することで、人物データ1701−1〜1701−4がレコードとして記憶されている。人物データ1701−1〜1701−4のそれぞれは、図4に示した人物データ400−1〜400−4の全項目を抽出したデータ(全データ)である。
(Extract file contents)
FIG. 17 is an explanatory diagram of an example of the contents of the extracted file according to the third embodiment. In FIG. 17, an extraction file 1611 is an extraction file corresponding to policy p1 (a combination of Name1, Name2, Salary, and Code, that is, all items) among the items of the flat file 400. Therefore, the extraction file 1611 has fields of Name1, Name2, Salary, and Code. By setting information in each field, person data 1701-1 to 1701-4 are stored as records. Each of the person data 1701-1 to 1701-4 is data (all data) obtained by extracting all items of the person data 400-1 to 400-4 shown in FIG.

抽出ファイル1612は、フラットファイル400の項目のうちの、ポリシp2(Name1、SalaryおよびCodeの組合せ)に対応する抽出ファイルである。したがって、抽出ファイル1612は、Name1、SalaryおよびCodeのフィールドを有する。各フィールドに情報を設定することで、人物データ1702−1〜1702−4がレコードとして記憶されている。人物データ1702−1〜1702−4のそれぞれは、図4に示した人物データ400−1〜400−4のName1、SalaryおよびCodeを抽出したデータである。   The extraction file 1612 is an extraction file corresponding to the policy p2 (combination of Name1, Salary, and Code) among the items of the flat file 400. Accordingly, the extraction file 1612 has fields of Name1, Salary, and Code. By setting information in each field, person data 1702-1 to 1702-4 are stored as records. Each of the person data 1702-1 to 1702-4 is data obtained by extracting Name1, Salary, and Code of the person data 400-1 to 400-4 shown in FIG.

一例として、人物データ1701−1を例に挙げると、Name1「SALAZAR」、Name2「KATE」、Salary「439476」およびCode「DX2XS2」が記憶されている。抽出ファイル1611,1612,…は、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。   As an example, in the case of the person data 1701-1, Name1 “SALAZAR”, Name2 “KATE”, Salary “439476”, and Code “DX2XS2” are stored. The extracted files 1611, 1612,... Are stored in a storage device such as the ROM 302, RAM 303, magnetic disk 305, and optical disk 307 shown in FIG.

図17に示す例では、フラットファイル400の各データを、セル(データ)単位でなく項目(行または列)単位でデータを削除することで抽出ファイル1611,1612,…を作成している。これにより、抽出ファイル1611,1612,…のデータ量を削減することができる。   In the example shown in FIG. 17, the extracted files 1611, 1612,... Are created by deleting the data of the flat file 400 not in units of cells (data) but in items (rows or columns). Thereby, the data amount of the extraction files 1611, 1612,... Can be reduced.

(情報提供装置100による処理)
図18は、実施の形態3にかかる情報提供装置による処理の一例を示すフローチャートである。実施の形態3にかかる情報提供装置100は、たとえば図18に示す各ステップを実行する。図18に示すステップS1801〜S1803は、図9に示したステップS901〜S903と同様である。
(Processing by the information providing apparatus 100)
FIG. 18 is a flowchart of an example of processing performed by the information providing apparatus according to the third embodiment. The information providing apparatus 100 according to the third embodiment executes the steps shown in FIG. 18, for example. Steps S1801 to S1803 shown in FIG. 18 are the same as steps S901 to S903 shown in FIG.

ステップS1803において、ポリシに一致するインデックスがある場合(ステップS1803:Yes)は、情報提供装置100は、ステップS1808へ移行する。ポリシに一致するインデックスがない場合(ステップS1803:No)は、作成部604が、ステップS1802によって特定されたポリシに基づいてフラットファイル400からデータを抽出する(ステップS1804)。   In step S1803, when there is an index that matches the policy (step S1803: Yes), the information providing apparatus 100 proceeds to step S1808. If there is no index that matches the policy (step S1803: No), the creation unit 604 extracts data from the flat file 400 based on the policy specified in step S1802 (step S1804).

つぎに、作成部604が、ステップS1804による抽出結果を抽出ファイルとして抽出ファイル記憶部1610に記憶する(ステップS1805)。つぎに、作成部604が、ステップS1805によって記憶された抽出ファイルにおける、ステップS1802によって特定されたポリシが示す各項目のデータのアドレスを示すインデックスを作成する(ステップS1806)。   Next, the creation unit 604 stores the extraction result obtained in step S1804 as an extraction file in the extraction file storage unit 1610 (step S1805). Next, the creation unit 604 creates an index indicating the data address of each item indicated by the policy specified in step S1802 in the extracted file stored in step S1805 (step S1806).

図18に示すステップS1807,S1808は、図9に示したステップS905,S906と同様である。以上の各ステップにより、利用者のポリシごとに抽出ファイルを作成するとともに、利用者のポリシに対応するインデックスに基づいて、利用者からの要求情報101が示す項目のデータを利用者に提供することができる。   Steps S1807 and S1808 shown in FIG. 18 are the same as steps S905 and S906 shown in FIG. According to each of the above steps, an extraction file is created for each user policy, and data of items indicated by the request information 101 from the user is provided to the user based on an index corresponding to the user policy. Can do.

(インデックスの作成処理)
図19は、実施の形態3にかかるインデックスの作成処理の一例を示すフローチャートである。作成部604は、図18に示したステップS1806において、たとえば図19に示す各ステップを実行する。図19に示す各ステップにおいて、COLab、ROWabは、図18のステップS1805によって記憶された抽出ファイルの列、行を示す変数である。また、ADDRESSabは、図18のステップS1805によって記憶された抽出ファイルにおけるアドレスを示す変数である。
(Index creation process)
FIG. 19 is a flowchart of an example of index creation processing according to the third embodiment. The creating unit 604 executes, for example, each step shown in FIG. 19 in step S1806 shown in FIG. In each step shown in FIG. 19, COLab and ROWab are variables indicating columns and rows of the extracted file stored in step S1805 of FIG. ADDRESSab is a variable indicating an address in the extracted file stored in step S1805 of FIG.

まず、作成部604は、図18のステップS1805によって記憶された抽出ファイルを開く(ステップS1901)。図19の説明において、ステップS1901によって開かれた抽出ファイルを単に抽出ファイルと称する。つぎに、作成部604は、COLabに1を設定する(ステップS1902)。つぎに、作成部604は、ROWabに1を設定する(ステップS1903)。つぎに、作成部604は、ADDRESSabに0を設定する(ステップS1904)。   First, the creation unit 604 opens the extracted file stored in step S1805 of FIG. 18 (step S1901). In the description of FIG. 19, the extracted file opened in step S1901 is simply referred to as an extracted file. Next, the creation unit 604 sets 1 to COLab (step S1902). Next, the creation unit 604 sets ROWab to 1 (step S1903). Next, the creation unit 604 sets ADDRESSab to 0 (step S1904).

つぎに、作成部604は、現在のCOLab、ROWabおよびADDRESSabが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS1905)。ステップS1905において、作成部604は、COLabおよびROWabが示す項目(列および行)を、抽出ファイルにおける項目から、フラットファイル400における項目に変換して追加する。   Next, the creation unit 604 adds the combination of columns, rows, and addresses indicated by the current COLab, ROWab, and ADDRESSab to the newly created index (step S1905). In step S1905, the creation unit 604 converts the items (columns and rows) indicated by COLab and ROWab from items in the extracted file to items in the flat file 400 and adds them.

たとえば、作成部604は、抽出ファイルの作成時に、フラットファイル400における項目と、抽出ファイルにおける項目と、の対応情報を生成して記憶部に記憶しておく。そして、作成部604は、記憶部に記憶された対応情報に基づいて、抽出ファイルにおける項目からフラットファイル400における項目への変換を行う。   For example, the creation unit 604 generates correspondence information between items in the flat file 400 and items in the extraction file and stores them in the storage unit when the extraction file is created. Then, the creating unit 604 converts items in the extracted file into items in the flat file 400 based on the correspondence information stored in the storage unit.

つぎに、作成部604は、抽出ファイルにおける現在のADDRESSabが示すアドレスに格納された文字が区切り文字であるか否かを判断する(ステップS1906)。区切り文字には、たとえば、ファイルの終端(End Of File)、列の区切り、行の区切りがある。区切り文字でない場合(ステップS1906:No)は、作成部604は、ADDRESSabをインクリメントし(ステップS1907)、ステップS1906へ戻る。   Next, the creating unit 604 determines whether or not the character stored at the address indicated by the current ADDRESSab in the extracted file is a delimiter (step S1906). Examples of the delimiter include an end of file (End Of File), a column delimiter, and a line delimiter. When it is not a delimiter (step S1906: No), the creation unit 604 increments ADDRESSab (step S1907) and returns to step S1906.

ステップS1906において、区切り文字である場合(ステップS1906:Yes)は、作成部604は、抽出ファイルにおける現在のADDRESSabが示すアドレスに格納された文字がファイルの終端であるか否かを判断する(ステップS1908)。ファイルの終端である場合(ステップS1908:Yes)は、作成部604は、一連の処理を終了する。ファイルの終端でない場合(ステップS1908:No)は、作成部604は、抽出ファイルにおける現在のADDRESSabが示すアドレスに格納された文字が列の区切りであるか否かを判断する(ステップS1909)。   If it is determined in step S1906 that the character is a delimiter (step S1906: YES), the creation unit 604 determines whether the character stored at the address indicated by the current ADDRESSab in the extracted file is the end of the file (step S1906). S1908). If it is the end of the file (step S1908: Yes), the creation unit 604 ends the series of processing. If it is not the end of the file (step S1908: No), the creating unit 604 determines whether or not the character stored at the address indicated by the current ADDRESSab in the extracted file is a column delimiter (step S1909).

ステップS1909において、格納された文字が列の区切りである場合(ステップS1909:Yes)は、作成部604は、COLabをインクリメントし(ステップS1910)、ステップS1913へ移行する。格納された文字が列の区切りでなく行の区切りである場合(ステップS1909:No)は、作成部604は、ROWabをインクリメントする(ステップS1911)。つぎに、作成部604は、COLabを1に設定し(ステップS1912)、ステップS1913へ移行する。   In step S1909, when the stored character is a column delimiter (step S1909: Yes), the creation unit 604 increments COLab (step S1910), and proceeds to step S1913. When the stored character is not a column delimiter but a line delimiter (step S1909: No), the creation unit 604 increments ROWab (step S1911). Next, the creating unit 604 sets COLab to 1 (step S1912), and proceeds to step S1913.

つぎに、作成部604は、現在のCOLab、ROWabおよびADDRESSabが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS1913)。ステップS1913において、作成部604は、COLabおよびROWabが示す列および行を、抽出ファイルにおける列および行から、フラットファイル400における列および行に変換して追加する。   Next, the creating unit 604 adds the combination of columns, rows, and addresses indicated by the current COLab, ROWab, and ADDRESSab to the newly created index (step S1913). In step S1913, the creation unit 604 converts the columns and rows indicated by COLab and ROWab from the columns and rows in the extraction file to the columns and rows in the flat file 400 and adds them.

つぎに、作成部604は、ADDRESSabをインクリメントし(ステップS1914)、ステップS1906へ戻る。以上の各ステップにより、図18に示したステップS1802によって特定されたポリシに対応するインデックスを作成することができる。   Next, the creating unit 604 increments ADDRESSab (step S1914) and returns to step S1906. Through the above steps, an index corresponding to the policy specified in step S1802 shown in FIG. 18 can be created.

(データの提供処理)
図20は、実施の形態3にかかるデータの提供処理の一例を示すフローチャートである。情報提供装置100は、図18に示したステップS1808において、たとえば図20に示す各ステップを実行する。図20に示す各ステップは、図11に示した各ステップと同様である。ただし、ステップS2004においては、読出部605が、ステップS2001によって取得されたインデックスに基づいてデータを抽出ファイル記憶部1610から読み出す(ステップS2004)。
(Data provision process)
FIG. 20 is a flowchart of an example of data provision processing according to the third embodiment. The information providing apparatus 100 executes, for example, each step shown in FIG. 20 in step S1808 shown in FIG. Each step shown in FIG. 20 is the same as each step shown in FIG. However, in step S2004, the reading unit 605 reads data from the extracted file storage unit 1610 based on the index acquired in step S2001 (step S2004).

具体的には、要求情報101に項目が含まれている場合は、読出部605は、要求情報101が示す列および行に対応する抽出ファイル記憶部1610のアドレスをインデックスに基づいて特定し、特定したアドレスのデータを読み出す。また、要求情報101に項目が含まれていない場合は、読出部605は、インデックスが示す抽出ファイル記憶部1610の各アドレスのデータを読み出す。   Specifically, when the request information 101 includes an item, the reading unit 605 specifies the address of the extracted file storage unit 1610 corresponding to the column and row indicated by the request information 101 based on the index, and specifies Read the data at the specified address. If the request information 101 does not include an item, the reading unit 605 reads data at each address in the extracted file storage unit 1610 indicated by the index.

以上の各ステップにより、要求情報101が示す項目のデータを利用者に提供することができる。また、利用者が取得する権限を有していない項目のデータについては利用者へ提供せず、エラーメッセージを出力することができる。   Through the above steps, data of items indicated by the request information 101 can be provided to the user. In addition, the data of items that the user does not have the authority to obtain is not provided to the user, and an error message can be output.

このように、実施の形態3にかかる情報提供装置100は、ポリシごとにインデックスおよび抽出ファイルを作成し、利用者が要求する項目のデータをインデックスに基づいて抽出ファイルから取得する。これにより、利用者の権限に応じて利用者にデータを提供することができる。   As described above, the information providing apparatus 100 according to the third embodiment creates an index and an extracted file for each policy, and acquires data of items requested by the user from the extracted file based on the index. Thereby, data can be provided to the user according to the user's authority.

また、ポリシの数は利用者の数より少ない。したがって、ポリシごとの抽出ファイルを作成することで、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに作成する場合に比べて、作成するデータのファイル数を低減することができる。したがって、メモリの使用量を低減することができる。   Also, the number of policies is less than the number of users. Therefore, by creating an extraction file for each policy, for example, the number of data files to be created is reduced compared to the case of creating a user file including data of each item that can be provided to the user for each user. be able to. Therefore, the memory usage can be reduced.

また、実施の形態3にかかる情報提供装置100において、実施の形態2にかかる情報提供装置100のようにインデックスの圧出処理を行ってもよい。これにより、メモリの使用量をさらに低減することができる。   Further, in the information providing apparatus 100 according to the third embodiment, the index press-out process may be performed like the information providing apparatus 100 according to the second embodiment. As a result, the amount of memory used can be further reduced.

また、図19に示したインデックスの作成処理において、抽出ファイルの項目をフラットファイル400の項目に変換してインデックスに追加する処理について説明したが、抽出ファイルの項目をそのままインデックスに追加する処理としてもよい。この場合は、インデックスは、抽出ファイルにおける項目と、抽出ファイルにおけるデータのアドレスと、を対応付けることになる。   In the index creation process shown in FIG. 19, the process of converting the item of the extracted file into the item of the flat file 400 and adding it to the index has been described. Good. In this case, the index associates items in the extracted file with data addresses in the extracted file.

これに対して、読出部605は、要求情報101が示す項目(フラットファイル400における項目)を抽出ファイルにおける項目に変換する。たとえば、作成部604が、抽出ファイルの作成時に、フラットファイル400における項目と、抽出ファイルにおける項目と、の対応情報を生成して記憶部に記憶しておく。読出部605は、記憶部に記憶された対応情報に基づいて、フラットファイル400における項目から抽出ファイルにおける項目への変換を行う。読出部605は、変換した項目およびインデックスに基づいてデータを読み出す。   In response to this, the reading unit 605 converts the item indicated by the request information 101 (the item in the flat file 400) into the item in the extracted file. For example, when the extraction file is created, the creation unit 604 generates correspondence information between items in the flat file 400 and items in the extraction file and stores them in the storage unit. Based on the correspondence information stored in the storage unit, the reading unit 605 converts items in the flat file 400 into items in the extracted file. The reading unit 605 reads data based on the converted item and index.

(実施の形態4)
実施の形態4にかかる情報提供装置100について、実施の形態1または2にかかる情報提供装置100と異なる部分について説明する。
(Embodiment 4)
The information providing apparatus 100 according to the fourth embodiment will be described with respect to differences from the information providing apparatus 100 according to the first or second embodiment.

(情報提供装置100による情報提供)
図21は、実施の形態4にかかる情報提供装置による情報提供の一例を示す図である。図21において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。情報提供装置100は、秘匿化ファイル2111〜2113,…を内部の記憶部に記憶している。または、秘匿化ファイル2111〜2113,…は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。
(Information provision by the information provision apparatus 100)
FIG. 21 is a diagram illustrating an example of information provision by the information provision apparatus according to the fourth embodiment. In FIG. 21, the same parts as those shown in FIG. The information providing apparatus 100 stores the concealment files 2111 to 2113... In the internal storage unit. Alternatively, the concealment files 2111 to 2113,... May be stored in an external storage unit accessible from the information providing apparatus 100.

秘匿化ファイル2111〜2113,…は、ファイル110の項目に含まれるデータをファイル110から抽出し、抽出結果をシード(秘匿方法)に基づいて秘匿化したファイルである。秘匿化ファイル2111〜2113,…は、ポリシおよびシードの組合せごとに記憶される。また、索引情報121〜123,…は、ポリシおよびシードの組合せごとに記憶される。また、索引情報121〜123,…が示す格納場所は、秘匿化ファイル2111〜2113,…が記憶された記憶部における格納場所である。   The concealment files 2111-1213,... Are files in which data included in the items of the file 110 is extracted from the file 110 and the extraction result is concealed based on a seed (confidential method). The concealment files 2111 to 2113 are stored for each combination of policy and seed. Moreover, index information 121-123, ... is memorize | stored for every combination of a policy and a seed. Further, the storage location indicated by the index information 121 to 123,... Is a storage location in the storage unit in which the concealment files 2111 to 2113,.

また、情報提供装置100は、ファイル110のデータを要求する利用者と、ポリシおよびシード(秘匿方法)の組合せと、を対応付ける権限情報をたとえば内部の記憶部に記憶している。または、権限情報は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。   Further, the information providing apparatus 100 stores authority information that associates a user who requests data of the file 110 with a combination of a policy and a seed (confidential method), for example, in an internal storage unit. Alternatively, the authority information may be stored in an external storage unit accessible from the information providing apparatus 100.

また、情報提供装置100は、索引情報121〜123,…をたとえば内部の記憶部に記憶している。または、索引情報121〜123,…は、情報提供装置100からアクセス可能な外部の記憶部に記憶されていてもよい。索引情報121〜123,…は、ファイル110の項目と、ファイル110の項目のデータの格納場所(アドレス)と、を対応付けるファイル110の項目の組合せごとの索引情報である。索引情報121〜123,…が示す格納場所は、ファイル110が記憶された記憶部における格納場所である。   Moreover, the information provision apparatus 100 has memorize | stored the index information 121-123, ... in the internal memory | storage part, for example. Alternatively, the index information 121 to 123,... May be stored in an external storage unit accessible from the information providing apparatus 100. The index information 121 to 123,... Is index information for each combination of items of the file 110 that associates the items of the file 110 with the storage locations (addresses) of the data of the items of the file 110. The storage location indicated by the index information 121 to 123,... Is a storage location in the storage unit in which the file 110 is stored.

情報提供装置100は、要求情報101が示す利用者のポリシおよびシード(秘匿化方法)を特定する。そして、情報提供装置100は、特定したポリシおよびシードの組合せに対応する索引情報をインデックス情報記憶部610から検索する。情報提供装置100は、特定したポリシおよびシードの組合せに対応する索引情報が索引情報121,122,…の中にない場合は、特定したポリシおよびシードの組合せに対応する秘匿化ファイルおよび索引情報を作成してもよい。情報提供装置100は、作成した秘匿化ファイルを、情報提供装置100の内部または外部の記憶部に記憶することで、作成した秘匿化ファイルを秘匿化ファイル2111〜2113,…に追加する。   The information providing apparatus 100 specifies the user policy and seed (concealment method) indicated by the request information 101. Then, the information providing apparatus 100 searches the index information storage unit 610 for index information corresponding to the identified policy and seed combination. When the index information 121, 122,... Does not exist in the index information 121, 122,..., The information providing apparatus 100 stores the concealment file and the index information corresponding to the specified policy and seed combination. You may create it. The information providing apparatus 100 stores the created concealment file in an internal or external storage unit of the information provision apparatus 100, thereby adding the created concealment file to the concealment files 2111 to 2113,.

情報提供装置100が秘匿化ファイルを作成する場合は、秘匿化ファイル2111〜2113,…をあらかじめ情報提供装置100の内部または外部の記憶部に記憶しておかなくてもよい。または、ファイル110の項目の一部の組合せに対応する秘匿化ファイルのみを情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、取得された要求情報101に基づく項目の組合せに対応する秘匿化ファイルのみが記憶されるため、秘匿化ファイル2111〜2113,…が記憶される記憶部(メモリ)の使用量を低減することができる。   When the information providing apparatus 100 creates a concealment file, the concealment files 2111-1213,... Do not have to be stored in advance in an internal or external storage unit of the information provision apparatus 100. Alternatively, only the concealment file corresponding to some combination of items of the file 110 may be stored in the storage unit inside or outside the information providing apparatus 100. In this case, since only the concealment file corresponding to the combination of items based on the acquired request information 101 is stored, the usage amount of the storage unit (memory) in which the concealment files 2111 to 2113, ... are stored is reduced. can do.

または、ファイル110の項目のすべての組合せに対応する秘匿化ファイルおよび索引情報を情報提供装置100の内部または外部の記憶部に記憶しておいてもよい。この場合は、情報提供装置100が特定した組合せに対応する秘匿化ファイルおよび索引情報は常に秘匿化ファイル2111〜2113,…および索引情報121,122,…に含まれている。したがって、情報提供装置100は新たな秘匿化ファイルおよび索引情報を作成する処理を行わなくてもよい。このため、要求情報101の取得時の情報提供装置100の処理量を低減することができる。   Alternatively, the concealment file and index information corresponding to all combinations of items of the file 110 may be stored in an internal or external storage unit of the information providing apparatus 100. In this case, the concealment file and the index information corresponding to the combination specified by the information providing apparatus 100 are always included in the concealment files 2111-1213,... And the index information 121, 122,. Therefore, the information providing apparatus 100 does not have to perform a process for creating a new concealment file and index information. For this reason, the processing amount of the information provision apparatus 100 at the time of acquisition of the request information 101 can be reduced.

情報提供装置100は、取得した索引情報に基づいて、秘匿化ファイル2111〜2113,…が記憶された記憶部から、要求情報101が示す項目のデータを読み出す。図1に示す例では、情報提供装置100は、取得した索引情報121に基づいて、要求情報101が示す項目2の格納場所2を特定する。そして、情報提供装置100は、特定した格納場所2のデータを読み出すことでデータ2を読み出す。   Based on the acquired index information, the information providing apparatus 100 reads the data of the item indicated by the request information 101 from the storage unit in which the concealment files 2111 to 2113 are stored. In the example illustrated in FIG. 1, the information providing apparatus 100 identifies the storage location 2 of the item 2 indicated by the request information 101 based on the acquired index information 121. And the information provision apparatus 100 reads the data 2 by reading the data of the specified storage location 2. FIG.

ここでは、要求情報101がファイル110の項目1〜nのうちの利用者がデータを要求する項目を示す情報である場合について説明したが、要求情報101はファイル110の項目1〜nのうちの特定の項目を示していなくてもよい。この場合は、たとえば、情報提供装置100は、利用者のポリシに対応する全項目のデータを読み出して出力する。   Here, a case has been described in which the request information 101 is information indicating an item for which a user requests data among items 1 to n of the file 110, but the request information 101 is one of items 1 to n of the file 110. A specific item may not be shown. In this case, for example, the information providing apparatus 100 reads and outputs data of all items corresponding to the user policy.

(情報提供装置100の機能的構成例)
図22は、実施の形態4にかかる情報提供装置の機能的構成を示すブロック図である。図22において、図6または図16に示した部分と同様の部分については同一の符号を付して説明を省略する。図22に示すように、実施の形態4にかかる情報提供装置100は、図6または図16に示した構成に加えて秘匿化ファイル記憶部2210を備えている。
(Functional configuration example of information providing apparatus 100)
FIG. 22 is a block diagram of a functional configuration of the information providing apparatus according to the fourth embodiment. In FIG. 22, the same parts as those shown in FIG. 6 or FIG. As illustrated in FIG. 22, the information providing apparatus 100 according to the fourth embodiment includes a concealment file storage unit 2210 in addition to the configuration illustrated in FIG. 6 or 16.

秘匿化ファイル記憶部2210には、秘匿化ファイル2211,2212…が記憶される。秘匿化ファイル2211,2212…は、秘匿化ファイル記憶部2210にあらかじめ記憶されていてもよいし、作成部604および秘匿化部606によって作成されて秘匿化ファイル記憶部2210に記憶されてもよい。秘匿化ファイル記憶部2210は、RAM303、磁気ディスク305、光ディスク307などの情報提供装置100の記憶装置によって実現してもよいし、通信I/F308を介して情報提供装置100が接続可能な外部の記憶装置によって実現してもよい。   The concealment file storage unit 2210 stores concealment files 2211, 2122,. The concealment files 2211, 2122,... May be stored in advance in the concealment file storage unit 2210, or may be created by the creation unit 604 and the concealment unit 606 and stored in the concealment file storage unit 2210. The concealment file storage unit 2210 may be realized by a storage device of the information providing apparatus 100 such as the RAM 303, the magnetic disk 305, or the optical disk 307, or may be an external device to which the information providing apparatus 100 can be connected via the communication I / F 308. It may be realized by a storage device.

秘匿化ファイル2211,2212…は、ポリシおよびシードの組合せごとに作成される情報である。また、秘匿化ファイル2211,2212…は、項目の組合せに含まれる項目のデータをフラットファイル400から抽出し、抽出結果をシードに基づいて秘匿化したPP(Privacy Protection)ファイルである。秘匿化部606は、作成部604によって作成された抽出ファイルの各データを、特定部602によって特定されたシードに基づいて秘匿化する。秘匿化部606は、各データを秘匿化した抽出ファイルを秘匿化データとして秘匿化ファイル記憶部2210に記憶する。   The concealment files 2211, 2122,... Are information created for each combination of policy and seed. The concealment files 2211, 2122,... Are PP (Privacy Protection) files obtained by extracting item data included in the combination of items from the flat file 400 and concealing the extraction result based on the seed. The concealing unit 606 conceals each piece of data of the extracted file created by the creating unit 604 based on the seed specified by the specifying unit 602. The concealment unit 606 stores the extracted file concealing each data in the concealment file storage unit 2210 as concealment data.

インデックス情報記憶部610のインデックス612a,612b,…は、ポリシ(フラットファイル400の項目の組合せ)およびシードの組合せごとに存在する。また、インデックス612a,612b,…が示すアドレスは、秘匿化ファイル記憶部2210におけるアドレスを示す。   The indexes 612a, 612b,... Of the index information storage unit 610 exist for each combination of policy (combination of items of the flat file 400) and seed. Further, the addresses indicated by the indexes 612a, 612b,... Indicate addresses in the concealed file storage unit 2210.

読出部605は、取得部601によって取得された要求情報101が示す項目のデータを、検索部603によって取得されたインデックスに基づいて、秘匿化ファイル記憶部2210から読み出す。具体的には、読出部605は、要求情報101が示す項目のデータに対応するアドレスをインデックスから検索する。そして、読出部605は、秘匿化ファイル記憶部2210における、検索により得られたアドレスのデータを読み出す。ここでは、読出部605が読み出したデータはすでに秘匿化されている。出力部607は、読出部605によって読み出された秘匿化済みのデータを出力する。   The reading unit 605 reads the data of the item indicated by the request information 101 acquired by the acquisition unit 601 from the concealment file storage unit 2210 based on the index acquired by the search unit 603. Specifically, the reading unit 605 searches the index for an address corresponding to the item data indicated by the request information 101. Then, the reading unit 605 reads data at the address obtained by the search in the concealment file storage unit 2210. Here, the data read by the reading unit 605 is already concealed. The output unit 607 outputs the concealed data read by the reading unit 605.

(秘匿化ファイルの内容)
図23は、実施の形態4にかかる秘匿化ファイルの内容の一例を示す説明図である。図23に示す秘匿化ファイル2211は、フラットファイル400の項目のうちの、ポリシp1(Name1、Name2、SalaryおよびCodeの組合せ、すなわち全項目)およびシードs1に対応する秘匿化ファイルである。したがって、秘匿化ファイル2211は、Name1、Name2、SalaryおよびCodeのフィールドを有する。
(Content of concealment file)
FIG. 23 is an explanatory diagram of an example of the contents of the anonymized file according to the fourth embodiment. The concealment file 2211 illustrated in FIG. 23 is a concealment file corresponding to the policy p1 (the combination of Name1, Name2, Salary, and Code, that is, all items) and the seed s1 among the items of the flat file 400. Therefore, the concealment file 2211 has fields for Name1, Name2, Salary, and Code.

各フィールドに情報を設定することで、人物データ2301−1〜2301−4がレコードとして記憶されている。人物データ2301−1〜2301−4のそれぞれは、シードs1に基づいて秘匿化されている。たとえば、人物データ2301−1〜2301−4のName1は、元の文字列から頭文字だけに置換されている。また、人物データ2301−1〜2301−4のSalaryは、シードs1に基づいて乱数化されている。   By setting information in each field, person data 2301-1 to 2301-4 are stored as records. Each of the person data 2301-1 to 2301-4 is concealed based on the seed s1. For example, Name 1 of the person data 2301-1 to 2301-4 is replaced with only the initial letter from the original character string. Further, the Salary of the person data 2301-1 to 2301-4 is randomized based on the seed s1.

秘匿化ファイル2212は、フラットファイル400の項目のうちの、ポリシp2(Name1、SalaryおよびCodeの組合せ)およびシードs3に対応する秘匿化ファイルである。したがって、秘匿化ファイル2212は、Name1、SalaryおよびCodeのフィールドを有する。   The concealment file 2212 is a concealment file corresponding to the policy p2 (combination of Name1, Salary, and Code) and the seed s3 among the items of the flat file 400. Therefore, the concealment file 2212 has fields for Name1, Salary, and Code.

各フィールドに情報を設定することで、人物データ2302−1〜2302−4がレコードとして記憶されている。人物データ2302−1〜2302−4のそれぞれは、シードs3に基づいて秘匿化されている。たとえば、人物データ2302−1〜2302−4のName1は、数字に置換されている。また、人物データ2302−1〜2302−4のSalaryは、端数が切り捨てられている。   By setting information in each field, person data 2302-1 to 2302-4 are stored as records. Each of the person data 2302-1 to 2302-4 is concealed based on the seed s3. For example, Name 1 of the person data 2302-1 to 2302-4 is replaced with a number. Also, the salaries of the person data 2302-1 to 2302-4 are rounded down.

秘匿化ファイル2213は、フラットファイル400の項目のうちの、ポリシp1(Name1、Name2、SalaryおよびCodeの組合せ、すなわち全項目)およびシードs2に対応する秘匿化ファイルである。したがって、秘匿化ファイル2213は、Name1、Name2、SalaryおよびCodeのフィールドを有する。   The concealment file 2213 is a concealment file corresponding to the policy p1 (the combination of Name1, Name2, Salary and Code, that is, all items) and the seed s2 among the items of the flat file 400. Therefore, the concealment file 2213 has fields of Name1, Name2, Salary, and Code.

各フィールドに情報を設定することで、人物データ2303−1〜2303−4がレコードとして記憶されている。人物データ2303−1〜2303−4のそれぞれは、シードs2に基づいて秘匿化されている。たとえば、人物データ2303−1〜2303−4のName1およびName2は、元の文字列から頭文字だけに置換されている。また、人物データ2301−2〜2302−4のSalaryは、シードs2に基づいて乱数化されている。   By setting information in each field, person data 2303-1 to 2303-4 are stored as records. Each of the person data 2303-1 to 2303-4 is concealed based on the seed s2. For example, Name1 and Name2 of the person data 2303-1 to 2303-4 are replaced with only initials from the original character string. Further, the Salary of the person data 2301-2 to 2302-4 is randomized based on the seed s2.

一例として、人物データ2301−1を例に挙げると、Name1「S」、Name2「KATE」、Salary「413107」およびCode「DX2XS2」が記憶されている。秘匿化ファイル2211,2212,2213,…は、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。   As an example, taking the person data 2301-1 as an example, Name1 “S”, Name2 “KATE”, Salary “413107”, and Code “DX2XS2” are stored. The concealment files 2211, 2122, 2213,... Are stored in a storage device such as the ROM 302, RAM 303, magnetic disk 305, and optical disk 307 shown in FIG.

図23に示す例では、フラットファイル400の各データを、セル(データ)単位でなく項目(行または列)単位でデータを削除し、残りの各データを秘匿化することで秘匿化ファイル2211,2212…を作成している。これにより、秘匿化ファイル2211,2212…のデータ量を削減することができる。   In the example shown in FIG. 23, each data of the flat file 400 is deleted not in units of cells (data) but in units of items (rows or columns), and the remaining data is concealed so that the concealment file 2211, 2212... Are created. Thereby, the data amount of the concealment files 2211, 2122,... Can be reduced.

(インデックス管理テーブル611の内容)
図24は、実施の形態4にかかるインデックス管理テーブルの内容の一例を示す説明図である。図24に示すインデックス管理テーブル611は、図22に示したインデックス管理テーブル611の一例である。インデックス管理テーブル611は、ポリシ、シードおよびインデックスのフィールドを有する。各フィールドに情報を設定することで、管理データ2400−1〜2400−3がレコードとして記憶されている。
(Contents of index management table 611)
FIG. 24 is an explanatory diagram of an example of the contents of the index management table according to the fourth embodiment. An index management table 611 illustrated in FIG. 24 is an example of the index management table 611 illustrated in FIG. The index management table 611 has policy, seed, and index fields. By setting information in each field, management data 2400-1 to 2400-3 are stored as records.

ここで、ポリシは、利用者テーブル500に含まれるポリシに対応する情報である。シードは、利用者テーブル500に含まれるシードに対応する情報である。インデックスは、インデックス情報記憶部610に記憶されたインデックス612a,612b,…のそれぞれを示す識別情報である。   Here, the policy is information corresponding to the policy included in the user table 500. The seed is information corresponding to the seed included in the user table 500. The index is identification information indicating each of the indexes 612a, 612b,... Stored in the index information storage unit 610.

一例として、管理データ2400−1を例に挙げると、ポリシ「p1」、シード「s1」およびインデックス「index1」が記憶されている。実施の形態4においては、ポリシおよびシードの組合せごとにインデックスが作成されるため、インデックス管理テーブル611においてはポリシおよびシードの組合せとインデックスとが対応付けられる。   As an example, taking the management data 2400-1 as an example, a policy “p1”, a seed “s1”, and an index “index1” are stored. In the fourth embodiment, since an index is created for each combination of policy and seed, in the index management table 611, the combination of policy and seed is associated with the index.

(情報提供装置100による処理)
図25は、実施の形態4にかかる情報提供装置による処理の一例を示すフローチャートである。実施の形態4にかかる情報提供装置100は、たとえば図25に示す各ステップを実行する。図25に示すステップS2501〜S2504は、図18に示したステップS1801〜S1804と同様である。ただし、ステップS2502においては、特定部602が、ステップS2501によって取得された要求情報101が示す利用者のポリシおよびシードを特定する(ステップS2502)。
(Processing by the information providing apparatus 100)
FIG. 25 is a flowchart of an example of processing performed by the information providing apparatus according to the fourth embodiment. The information providing apparatus 100 according to the fourth embodiment executes, for example, each step illustrated in FIG. Steps S2501 to S2504 shown in FIG. 25 are the same as steps S1801 to S1804 shown in FIG. However, in step S2502, the specifying unit 602 specifies the user policy and seed indicated by the request information 101 acquired in step S2501 (step S2502).

ステップS2504のつぎに、秘匿化部606が、ステップS2504による抽出結果を、ステップS2502によって特定されたシードに基づいて秘匿化する(ステップS2505)。つぎに、秘匿化部606が、ステップS2505によって秘匿化されたステップS2504による抽出結果を、秘匿化ファイルとして秘匿化ファイル記憶部2210に記憶する(ステップS2506)。つぎに、作成部604が、ステップS2506によって記憶された秘匿化ファイルにおける、ステップS2502によって特定されたポリシが示す各項目のデータのアドレスを示すインデックスを作成する(ステップS2507)。   Following step S2504, the concealment unit 606 conceals the extraction result obtained in step S2504 based on the seed specified in step S2502 (step S2505). Next, the anonymity providing unit 606 stores the extraction result obtained in step S2504 concealed in step S2505 in the concealed file storage unit 2210 as a concealed file (step S2506). Next, the creating unit 604 creates an index indicating the address of the data of each item indicated by the policy specified in step S2502 in the anonymized file stored in step S2506 (step S2507).

図25に示すステップS2508,S2509は、図9に示したステップS905,S906と同様である。以上の各ステップにより、利用者のポリシおよびシードの組合せごとに秘匿化ファイルを作成するとともに、利用者のポリシに対応するインデックスに基づいて、要求情報101が示す項目のデータを利用者に提供することができる。   Steps S2508 and S2509 shown in FIG. 25 are the same as steps S905 and S906 shown in FIG. Through the above steps, a concealment file is created for each combination of the user's policy and seed, and data of items indicated by the request information 101 is provided to the user based on an index corresponding to the user's policy. be able to.

(インデックスの作成処理)
図26は、実施の形態4にかかるインデックスの作成処理の一例を示すフローチャートである。作成部604は、図25に示したステップS2507において、たとえば図26に示す各ステップを実行する。図26に示す各ステップにおいて、COLpp、ROWppは、図25のステップS2506によって記憶された秘匿化ファイルの列、行を示す変数である。また、ADDRESSppは、図25のステップS2506によって記憶された秘匿化ファイルにおけるアドレスを示す変数である。
(Index creation process)
FIG. 26 is a flowchart of an example of index creation processing according to the fourth embodiment. The creation unit 604 executes, for example, each step shown in FIG. 26 in step S2507 shown in FIG. In each step shown in FIG. 26, COLpp and ROWpp are variables indicating the columns and rows of the concealment file stored in step S2506 in FIG. ADDRESSSpp is a variable indicating the address in the concealment file stored in step S2506 of FIG.

まず、作成部604は、図25のステップS2506によって記憶された秘匿化ファイルを開く(ステップS2601)。図26の説明において、ステップS2601によって開かれた秘匿化ファイルを単に秘匿化ファイルと称する。つぎに、作成部604は、COLppに1を設定する(ステップS2602)。つぎに、作成部604は、ROWppに1を設定する(ステップS2603)。つぎに、作成部604は、ADDRESSppに0を設定する(ステップS2604)。   First, the creation unit 604 opens the concealment file stored in step S2506 in FIG. 25 (step S2601). In the description of FIG. 26, the anonymized file opened at step S2601 is simply referred to as an anonymized file. Next, the creation unit 604 sets COLpp to 1 (step S2602). Next, the creation unit 604 sets ROWpp to 1 (step S2603). Next, the creation unit 604 sets 0 to ADDRESSSpp (step S2604).

つぎに、作成部604は、現在のCOLpp、ROWppおよびADDRESSppが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS2605)。ステップS2605において、作成部604は、COLppおよびROWppが示す項目(列および行)を、秘匿化ファイルにおける項目から、フラットファイル400における項目に変換して追加する。   Next, the creation unit 604 adds the combination of columns, rows, and addresses indicated by the current COLpp, ROWpp, and ADDRESSpp to the newly created index (step S2605). In step S2605, the creation unit 604 converts the items (column and row) indicated by COLpp and ROWpp from items in the concealment file to items in the flat file 400 and adds them.

たとえば、作成部604は、秘匿化ファイルの作成時に、フラットファイル400における項目と、秘匿化ファイルにおける項目と、の対応情報を生成して記憶部に記憶しておく。そして、作成部604は、記憶部に記憶された対応情報に基づいて、秘匿化ファイルにおける項目からフラットファイル400における項目への変換を行う。   For example, when creating the concealment file, the creation unit 604 generates correspondence information between items in the flat file 400 and items in the concealment file and stores them in the storage unit. Then, the creating unit 604 converts items in the concealment file into items in the flat file 400 based on the correspondence information stored in the storage unit.

つぎに、作成部604は、秘匿化ファイルにおける現在のADDRESSppが示すアドレスに格納された文字が区切り文字であるか否かを判断する(ステップS2606)。区切り文字には、たとえば、ファイルの終端(End Of File)、列の区切り、行の区切りがある。区切り文字でない場合(ステップS2606:No)は、作成部604は、ADDRESSppをインクリメントし(ステップS2607)、ステップS2606へ戻る。   Next, the creation unit 604 determines whether or not the character stored at the address indicated by the current ADDRESSpp in the concealment file is a delimiter (step S2606). Examples of the delimiter include an end of file (End Of File), a column delimiter, and a line delimiter. When it is not a delimiter (step S2606: No), the creation unit 604 increments ADDRESSSpp (step S2607) and returns to step S2606.

ステップS2606において、区切り文字である場合(ステップS2606:Yes)は、作成部604は、秘匿化ファイルにおける現在のADDRESSppが示すアドレスに格納された文字がファイルの終端であるか否かを判断する(ステップS2608)。ファイルの終端である場合(ステップS2608:Yes)は、作成部604は、一連の処理を終了する。ファイルの終端でない場合(ステップS2608:No)は、作成部604は、秘匿化ファイルにおける現在のADDRESSppが示すアドレスに格納された文字が列の区切りであるか否かを判断する(ステップS2609)。   In step S2606, when it is a delimiter (step S2606: Yes), the creation unit 604 determines whether or not the character stored at the address indicated by the current ADDRESSpp in the concealed file is the end of the file ( Step S2608). When it is the end of the file (step S2608: Yes), the creation unit 604 ends the series of processes. If it is not the end of the file (step S2608: No), the creation unit 604 determines whether or not the character stored at the address indicated by the current ADDRESSpp in the concealment file is a column delimiter (step S2609).

ステップS2609において、格納された文字が列の区切りである場合(ステップS2609:Yes)は、作成部604は、COLppをインクリメントし(ステップS2610)、ステップS2613へ移行する。格納された文字が列の区切りでなく行の区切りである場合(ステップS2609:No)は、作成部604は、ROWppをインクリメントする(ステップS2611)。つぎに、作成部604は、COLppを1に設定し(ステップS2612)、ステップS2613へ移行する。   In step S2609, when the stored character is a column delimiter (step S2609: Yes), the creation unit 604 increments COLpp (step S2610), and proceeds to step S2613. When the stored character is not a column delimiter but a line delimiter (step S2609: No), the creation unit 604 increments ROWpp (step S2611). Next, the creation unit 604 sets COLpp to 1 (step S2612), and proceeds to step S2613.

つぎに、作成部604は、現在のCOLpp、ROWppおよびADDRESSppが示す列、行およびアドレスの組合せを、新規に作成するインデックスに追加する(ステップS2613)。ステップS2613において、作成部604は、COLppおよびROWppが示す列および行を、秘匿化ファイルにおける列および行から、フラットファイル400における列および行に変換して追加する。   Next, the creation unit 604 adds the combination of columns, rows, and addresses indicated by the current COLpp, ROWpp, and ADDRESSpp to the newly created index (step S2613). In step S2613, the creation unit 604 converts the columns and rows indicated by COLpp and ROWpp from the columns and rows in the concealment file to the columns and rows in the flat file 400 and adds them.

つぎに、作成部604は、ADDRESSppをインクリメントし(ステップS2614)、ステップS2606へ戻る。以上の各ステップにより、要求情報101が示す利用者のポリシおよびシードの組合せに対応するインデックスを作成することができる。   Next, the creating unit 604 increments ADDRESSpp (step S2614) and returns to step S2606. Through the above steps, an index corresponding to the combination of the user policy and seed indicated by the request information 101 can be created.

(データの提供処理)
図27は、実施の形態4にかかるデータの提供処理の一例を示すフローチャートである。情報提供装置100は、図25に示したステップS2509において、たとえば図27に示す各ステップを実行する。まず、検索部603が、図25のステップS2502によって特定されたポリシおよびシードの組合せに一致するインデックスをインデックス情報記憶部610から取得する(ステップS2701)。つぎに、読出部605が、要求情報101に利用者が要求する項目が含まれているか否かを判断する(ステップS2702)。
(Data provision process)
FIG. 27 is a flowchart of an example of data provision processing according to the fourth embodiment. The information providing apparatus 100 executes, for example, each step shown in FIG. 27 in step S2509 shown in FIG. First, the search unit 603 acquires from the index information storage unit 610 an index that matches the policy and seed combination identified in step S2502 of FIG. 25 (step S2701). Next, the reading unit 605 determines whether or not the item requested by the user is included in the request information 101 (step S2702).

ステップS2702において、要求情報101に項目が含まれていない場合(ステップS2702:No)は、情報提供装置100は、ステップS2704へ移行する。要求情報101に項目が含まれている場合(ステップS2702:Yes)は、読出部605が、要求情報101が示す項目(列および行)が、ステップS2701によって取得されたインデックスにあるか否かを判断する(ステップS2703)。項目がインデックスにある場合(ステップS2703:Yes)は、読出部605が、ステップS2701によって取得されたインデックスに基づいてデータを秘匿化ファイル記憶部2210から読み出す(ステップS2704)。   If no item is included in the request information 101 in step S2702 (step S2702: No), the information providing apparatus 100 proceeds to step S2704. If the request information 101 includes an item (step S2702: YES), the reading unit 605 determines whether the item (column and row) indicated by the request information 101 is in the index acquired in step S2701. Judgment is made (step S2703). If the item is in the index (step S2703: YES), the reading unit 605 reads data from the concealed file storage unit 2210 based on the index acquired in step S2701 (step S2704).

具体的には、要求情報101に項目が含まれている場合は、読出部605は、要求情報101が示す列および行に対応する秘匿化ファイル記憶部2210のアドレスをインデックスに基づいて特定し、特定したアドレスのデータを読み出す。また、要求情報101に項目が含まれていない場合は、読出部605は、インデックスが示す秘匿化ファイル記憶部2210の各アドレスのデータを読み出す。なお、ステップS2704によって読み出されるデータは、図25のステップS2505によって秘匿化されている。つぎに、出力部607が、ステップS2704によって読み出されたデータを出力し(ステップS2705)、一連の処理を終了する。   Specifically, when the request information 101 includes an item, the reading unit 605 specifies the address of the concealed file storage unit 2210 corresponding to the column and row indicated by the request information 101 based on the index, Read the data at the specified address. When the request information 101 does not include an item, the reading unit 605 reads data at each address in the concealed file storage unit 2210 indicated by the index. Note that the data read in step S2704 is concealed in step S2505 in FIG. Next, the output unit 607 outputs the data read in step S2704 (step S2705), and the series of processing ends.

ステップS2703において、項目がインデックスにない場合(ステップS2703:No)は、読出部605が、データを取得できなかった旨のエラーメッセージを生成する(ステップS2706)。つぎに、出力部607が、ステップS2706によって生成されたエラーメッセージを出力し(ステップS2707)、一連の処理を終了する。以上の各ステップにより、要求情報101が示す項目のデータを利用者に提供することができる。また、利用者が取得する権限を有していない項目のデータについては利用者へ提供せず、エラーメッセージを出力することができる。   In step S2703, when the item is not in the index (step S2703: No), the reading unit 605 generates an error message indicating that data could not be acquired (step S2706). Next, the output unit 607 outputs the error message generated in step S2706 (step S2707), and the series of processing ends. Through the above steps, data of items indicated by the request information 101 can be provided to the user. In addition, the data of items that the user does not have the authority to obtain is not provided to the user, and an error message can be output.

このように、実施の形態4にかかる情報提供装置100は、ポリシおよびシードの組合せごとにインデックスおよび秘匿化ファイルを作成し、利用者が要求する項目のデータをインデックスに基づいて秘匿化ファイルから取得する。これにより、利用者の権限に応じて利用者にデータを提供することができる。   As described above, the information providing apparatus 100 according to the fourth embodiment creates an index and a concealment file for each policy and seed combination, and acquires data of items requested by the user from the concealment file based on the index. To do. Thereby, data can be provided to the user according to the user's authority.

また、ポリシおよびシードの組合せの数は利用者の数より少ない。したがって、ポリシおよびシードの組合せごとの秘匿化ファイルを作成することで、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに作成する場合に比べて、作成するデータのファイル数を低減することができる。したがって、メモリの使用量を低減することができる。   Also, the number of policy and seed combinations is less than the number of users. Therefore, by creating a concealment file for each combination of policy and seed, for example, compared to creating a user file for each user that includes data for each item that can be provided to the user, The number of files can be reduced. Therefore, the memory usage can be reduced.

また、実施の形態4にかかる情報提供装置100において、実施の形態2にかかる情報提供装置100のようにインデックスの圧出処理を行ってもよい。これにより、メモリの使用量をさらに低減することができる。   Further, in the information providing apparatus 100 according to the fourth embodiment, the index press-out process may be performed as in the information providing apparatus 100 according to the second embodiment. As a result, the amount of memory used can be further reduced.

また、図26に示したインデックスの作成処理において、秘匿化ファイルの項目をフラットファイル400の項目に変換してインデックスに追加する処理について説明したが、秘匿化ファイルの項目をそのままインデックスに追加する処理としてもよい。この場合は、インデックスは、秘匿化ファイルにおける項目と、フラットファイル400におけるデータのアドレスと、を対応付けることになる。   In the index creation process shown in FIG. 26, the process of converting the item of the concealment file into the item of the flat file 400 and adding it to the index has been described, but the process of adding the item of the concealment file to the index as it is It is good. In this case, the index associates items in the concealment file with data addresses in the flat file 400.

これに対して、読出部605は、要求情報101が示す項目(フラットファイル400における項目)を秘匿化ファイルにおける項目に変換する。たとえば、作成部604が、秘匿化ファイルの作成時に、フラットファイル400における項目と、秘匿化ファイルにおける項目と、の対応情報を生成して記憶部に記憶しておく。読出部605は、記憶部に記憶された対応情報に基づいて、フラットファイル400における項目から秘匿化ファイルにおける項目への変換を行う。読出部605は、変換した項目およびインデックスに基づいてデータを読み出す。   In response, the reading unit 605 converts the item indicated by the request information 101 (the item in the flat file 400) into the item in the concealment file. For example, the creation unit 604 generates correspondence information between items in the flat file 400 and items in the concealment file when the concealment file is created, and stores the correspondence information in the storage unit. Based on the correspondence information stored in the storage unit, the reading unit 605 converts items in the flat file 400 into items in the concealment file. The reading unit 605 reads data based on the converted item and index.

以上説明したように、情報提供装置、情報提供方法および情報提供プログラムは、ポリシごとにデータのアドレスを示すインデックスを記憶し、利用者が要求する項目のデータをインデックスに基づいてフラットファイルから読み出す。これにより、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに記憶しなくても、利用者の権限に応じてデータを提供することができる。このため、メモリの使用量を低減することができる。   As described above, the information providing apparatus, the information providing method, and the information providing program store the index indicating the address of the data for each policy, and read the data of the item requested by the user from the flat file based on the index. Thereby, for example, data can be provided according to the authority of the user without storing a user file including data of each item that can be provided to the user for each user. For this reason, the amount of memory used can be reduced.

また、ポリシに対応するインデックスがない場合にポリシに対応するインデックスをフラットファイルに基づいて作成し、作成したインデックスに基づいてデータを取得してもよい。これにより、すべてのポリシに対応するインデックスをあらかじめ記憶しておかなくても、利用者の権限に応じてデータを提供することができる。このため、インデックスを記憶する数を減らし、メモリの使用量を低減することができる。   Further, when there is no index corresponding to the policy, an index corresponding to the policy may be created based on the flat file, and data may be acquired based on the created index. As a result, data can be provided according to the authority of the user without storing in advance indexes corresponding to all policies. For this reason, the number of stored indexes can be reduced, and the amount of memory used can be reduced.

また、ポリシごとのインデックスのうちの、他のインデックスと共通の項目を含むインデックスは、他のインデックスと共通の項目と、他のインデックスを示す識別情報と、を対応付けてもよい。この場合は、他のインデックスを示す識別情報を含むインデックスが検索により得られた場合に、識別情報に基づいて他のインデックスを取得し、取得した他のインデックスに基づいてデータを読み出すことができる。これにより、記憶されるインデックスのデータ量を少なくし、メモリの使用量を低減することができる。   In addition, an index including an item common to another index among indexes for each policy may associate an item common to the other index with identification information indicating the other index. In this case, when an index including identification information indicating another index is obtained by the search, another index can be acquired based on the identification information, and data can be read based on the acquired other index. As a result, the amount of stored index data can be reduced, and the amount of memory used can be reduced.

また、利用者のポリシは、利用者とポリシとを対応付ける権限情報に基づいて特定することができる。また、読み出したデータは、たとえば要求元の利用者に対応するシードに基づいて秘匿化して出力してもよい。   Further, the user policy can be specified based on the authority information for associating the user with the policy. Further, the read data may be concealed and output based on a seed corresponding to the requesting user, for example.

また、情報提供装置、情報提供方法および情報提供プログラムは、ポリシごとにデータのアドレスを示すインデックスを記憶し、インデックスに基づいてポリシごとの抽出ファイルからデータを読み出す。これにより、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに記憶しなくても、利用者の権限に応じてデータを提供することができる。このため、メモリの使用量を低減することができる。   The information providing apparatus, the information providing method, and the information providing program store an index indicating the address of the data for each policy, and read the data from the extracted file for each policy based on the index. Thereby, for example, data can be provided according to the authority of the user without storing a user file including data of each item that can be provided to the user for each user. For this reason, the amount of memory used can be reduced.

また、ポリシに対応する抽出ファイルがない場合にポリシに対応する抽出ファイルをフラットファイルに基づいて作成し、作成した抽出ファイルに基づいてデータを取得してもよい。これにより、すべてのポリシに対応する抽出ファイルをあらかじめ記憶しておかなくても、利用者の権限に応じてデータを提供することができる。このため、抽出ファイルを記憶する数を減らし、メモリの使用量を低減することができる。   In addition, when there is no extracted file corresponding to the policy, an extracted file corresponding to the policy may be created based on the flat file, and data may be acquired based on the created extracted file. As a result, data can be provided according to the user's authority even if the extracted files corresponding to all policies are not stored in advance. As a result, the number of extracted files stored can be reduced, and the amount of memory used can be reduced.

また、情報提供装置、情報提供方法および情報提供プログラムは、ポリシおよびシードの組合せごとにデータのアドレスを示すインデックスを記憶し、インデックスに基づいてポリシおよびシードの組合せごとの秘匿化ファイルからデータを読み出す。これにより、たとえば利用者に提供可能な各項目のデータを含む利用者ファイルを利用者ごとに記憶しなくても、利用者の権限に応じてデータを提供することができる。このため、メモリの使用量を低減することができる。   The information providing apparatus, the information providing method, and the information providing program store an index indicating an address of data for each policy and seed combination, and read data from the concealment file for each policy and seed combination based on the index. . Thereby, for example, data can be provided according to the authority of the user without storing a user file including data of each item that can be provided to the user for each user. For this reason, the amount of memory used can be reduced.

また、ポリシに対応する秘匿化ファイルがない場合にポリシに対応する秘匿化ファイルをフラットファイルに基づいて作成し、作成した秘匿化ファイルに基づいてデータを取得してもよい。これにより、すべてのポリシに対応する秘匿化ファイルをあらかじめ記憶しておかなくても、利用者の権限に応じてデータを提供することができる。このため、秘匿化ファイルを記憶する数を減らし、メモリの使用量を低減することができる。   Further, when there is no concealment file corresponding to the policy, the concealment file corresponding to the policy may be created based on the flat file, and data may be acquired based on the created concealment file. Thereby, even if the concealment file corresponding to all policies is not memorize | stored previously, data can be provided according to a user's authority. For this reason, the number of storage of concealment files can be reduced and the amount of memory used can be reduced.

なお、各実施の形態で説明した情報提供方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。   The information providing method described in each embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The information providing program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The information providing program may be distributed through a network such as the Internet.

また、各実施の形態で説明した情報提供装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した情報提供装置100の機能(取得部601〜出力部607)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより情報提供装置100を製造することができる。   In addition, the information providing apparatus 100 described in each embodiment includes an application-specific IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable) such as an FPGA. It can also be realized by Logic Device). Specifically, for example, the functions of the information providing apparatus 100 described above (acquisition unit 601 to output unit 607) are defined by HDL description, and the HDL description is logically synthesized and provided to the ASIC or PLD to provide the information providing apparatus. 100 can be manufactured.

上述した各実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the above-described embodiments.

(付記1)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶されたファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
(Supplementary Note 1) Acquire request information of a file including a plurality of items stored in the storage unit and user information for specifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
From the file stored in the storage unit, read the data of the storage location of the data of the item corresponding to the index information obtained by the search,
Outputting the read data;
An information providing program for causing a computer to execute processing.

(付記2)前記ファイル内の項目の組合せごとの索引情報に前記対応する索引情報がない場合に、当該対応する索引情報を前記ファイルに基づいて作成し、
前記データを読み出す際に、作成した前記索引情報に基づいて前記読み出す処理を前記コンピュータに実行させることを特徴とする付記1に記載の情報提供プログラム。
(Supplementary Note 2) If the corresponding index information does not exist in the index information for each combination of items in the file, the corresponding index information is created based on the file,
The information providing program according to appendix 1, wherein when reading the data, the computer is caused to execute the reading process based on the created index information.

(付記3)前記ファイル内の項目の組合せごとの索引情報のうちの、当該索引情報のうちの他の索引情報と共通の項目を含む索引情報は、前記共通の項目と、前記他の索引情報を示す識別情報と、を対応付ける情報であり、
前記識別情報を含む索引情報が前記検索により得られた場合に、前記識別情報に基づいて前記他の索引情報を取得し、取得した前記他の索引情報に基づいて前記読み出す処理を前記コンピュータに実行させることを特徴とする付記1または2に記載の情報提供プログラム。
(Supplementary Note 3) Of the index information for each combination of items in the file, the index information including items common to other index information of the index information includes the common item and the other index information. Is information that associates the identification information indicating
When the index information including the identification information is obtained by the search, the other index information is acquired based on the identification information, and the reading process is executed on the computer based on the acquired other index information. The information providing program according to appendix 1 or 2, characterized in that:

(付記4)前記利用者情報と、前記ファイル内の項目のうちの当該利用者情報によって特定される利用者がデータを取得する権限を有する項目の組合せと、を対応付ける権限情報に基づいて前記利用者情報に対応する項目の組合せを特定し、
前記対応する索引情報を検索する際に、特定した前記組合せに対応する索引情報を検索する処理を前記コンピュータに実行させることを特徴とする付記1〜3のいずれか一つに記載の情報提供プログラム。
(Additional remark 4) Based on the authority information which matches the said user information and the combination of the item in which the user specified by the said user information has the authority which acquires data among the items in the said file The combination of items corresponding to the user information,
The information providing program according to any one of appendices 1 to 3, which causes the computer to execute a process of searching for index information corresponding to the specified combination when searching for the corresponding index information. .

(付記5)読み出した前記データを秘匿化し、
読み出した前記データを出力する際に、秘匿化した前記データを出力する処理を前記コンピュータに実行させることを特徴とする付記1〜4のいずれか一つに記載の情報提供プログラム。
(Appendix 5) Concealing the read data,
The information provision program according to any one of appendices 1 to 4, wherein when the read data is output, the computer executes a process of outputting the concealed data.

(付記6)前記要求情報は、前記ファイル内の複数の項目のうちの前記利用者がデータを要求する項目を示し、
前記データを読み出す際に、前記要求情報が示す項目のデータを読み出すことを特徴とする付記1〜5のいずれか一つに記載の情報提供プログラム。
(Supplementary Note 6) The request information indicates an item for which the user requests data among a plurality of items in the file.
The information providing program according to any one of appendices 1 to 5, wherein when reading the data, data of an item indicated by the request information is read.

(付記7)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出した抽出ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
(Supplementary note 7) Acquire request information for a file including a plurality of items stored in the storage unit and user information for specifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
For each combination of items in the file stored in the storage unit, the item data corresponding to the index information obtained by the search from the extracted file obtained by extracting the item data included in the combination from the file. Read storage location data,
Outputting the read data;
An information providing program for causing a computer to execute processing.

(付記8)前記ファイル内の項目の組合せごとの前記抽出ファイルに、前記利用者情報によって特定される利用者がデータを取得する権限を有する項目の組合せに対応する抽出ファイルがない場合に、当該対応する抽出ファイルを前記ファイルに基づいて作成し、
前記データを読み出す際に、作成した前記抽出ファイルから前記対応する項目のデータの格納場所のデータを読み出す処理を前記コンピュータに実行させることを特徴とする付記7に記載の情報提供プログラム。
(Supplementary Note 8) If there is no extraction file corresponding to a combination of items for which the user specified by the user information has the authority to acquire data in the extraction file for each combination of items in the file, Create a corresponding extract file based on the file,
8. The information providing program according to appendix 7, wherein when the data is read, the computer is caused to execute a process of reading data of a storage location of the data of the corresponding item from the created extracted file.

(付記9)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出し、抽出したデータを当該組合せに含まれる秘匿化方法によって秘匿化した秘匿化ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
(Supplementary Note 9) Acquire request information of a file including a plurality of items stored in the storage unit and user information for specifying a user,
Correspondence between index information for associating an item included in the combination with the storage location of the data of the item and the user information for each combination of items and data concealment methods stored in the storage unit Refer to the information, search for index information corresponding to the user information,
For each combination of items and data concealment methods stored in the storage unit, the data of items included in the combination is extracted from the file, and the concealment method included in the combination of the extracted data Read the data storage location data of the item corresponding to the index information obtained by the search from the concealment file concealed by,
Outputting the read data;
An information providing program for causing a computer to execute processing.

(付記10)前記ファイル内の項目の組合せごとの前記秘匿化ファイルに、利用者情報によって特定される利用者がデータを取得する権限を有する項目の組合せおよび秘匿化方法に対応する秘匿化ファイルがない場合に、当該対応する秘匿化ファイルを前記ファイルに基づいて作成し、
前記データを読み出す際に、作成した前記秘匿化ファイルから前記対応する項目のデータの格納場所のデータを読み出す処理を前記コンピュータに実行させることを特徴とする付記9に記載の情報提供プログラム。
(Additional remark 10) The concealment file corresponding to the concealment method of the combination and the concealment method of the item which the user specified by user information has the authority which acquires data in the said concealment file for every combination of the item in the said file If not, create the corresponding concealment file based on the file,
The information providing program according to appendix 9, wherein when reading the data, the computer is caused to execute a process of reading data of a storage location of the data of the corresponding item from the created concealment file.

(付記11)前記ファイルのデータを要求する利用者と、前記ファイル内の項目のうちの当該利用者がデータを取得する権限を有する項目の組合せと、前記データの秘匿化方法と、を対応付ける権限情報に基づいて、前記利用者情報によって特定される利用者に対応する組合せおよび秘匿化方法を特定し、
前記対応する索引情報を検索する際に、特定した前記組合せおよび前記秘匿化方法に対応する索引情報を検索する処理を前記コンピュータに実行させることを特徴とする付記9または10に記載の情報提供プログラム。
(Additional remark 11) The authority which matches the user who requests | requires the data of the said file, the combination of the item which the said user has the authority which acquires the data among the items in the said file, and the concealment method of the said data Based on the information, identify the combination and concealment method corresponding to the user specified by the user information,
11. The information providing program according to appendix 9 or 10, which causes the computer to execute a process of retrieving index information corresponding to the specified combination and the concealment method when retrieving the corresponding index information .

(付記12)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得する取得部と、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索する検索部と、
前記記憶部に記憶されたファイルから、前記検索部による検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出す読出部と、
前記読出部によって読み出されたデータを出力する出力部と、
を備えることを特徴とする情報提供装置。
(Additional remark 12) The acquisition part which acquires the request information of the file containing the some item memorize | stored in the memory | storage part, and the user information which identifies a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and A search unit for searching index information corresponding to user information;
A reading unit that reads out data in a storage location of data of items corresponding to the index information obtained by the search by the search unit from the file stored in the storage unit;
An output unit for outputting data read by the reading unit;
An information providing apparatus comprising:

(付記13)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得する取得部と、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索する検索部と、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出した抽出ファイルから、前記検索部による検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読出部と、
前記読出部によって読み出されたデータを出力する出力部と、
を備えることを特徴とする情報提供装置。
(Additional remark 13) The acquisition part which acquires the request information of the file containing the some item memorize | stored in the memory | storage part, and the user information which identifies a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and A search unit for searching index information corresponding to user information;
For each combination of items in the file stored in the storage unit, corresponding to the index information obtained by the search by the search unit from the extracted file obtained by extracting the data of the items included in the combination from the file Read the data of the storage location of the item data,
An output unit for outputting data read by the reading unit;
An information providing apparatus comprising:

(付記14)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得する取得部と、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索する検索部と、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出し、抽出したデータを当該組合せに含まれる秘匿化方法によって秘匿化した秘匿化ファイルから、前記検索部による検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出す読出部と、
前記読出部によって読み出されたデータを出力する出力部と、
を備えることを特徴とする情報提供装置。
(Additional remark 14) The acquisition part which acquires the request information of the file containing the some item memorize | stored in the memory | storage part, and the user information which identifies a user,
Correspondence between index information for associating an item included in the combination with the storage location of the data of the item and the user information for each combination of items and data concealment methods stored in the storage unit A search unit for referring to information and searching for index information corresponding to the user information;
For each combination of items and data concealment methods stored in the storage unit, the data of items included in the combination is extracted from the file, and the concealment method included in the combination of the extracted data A reading unit that reads data in a storage location of data of items corresponding to the index information obtained by the search by the search unit from the concealment file concealed by
An output unit for outputting data read by the reading unit;
An information providing apparatus comprising:

(付記15)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶されたファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
ことを特徴とする情報提供方法。
(Supplementary Note 15) Acquire request information for a file including a plurality of items stored in the storage unit and user information for identifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
From the file stored in the storage unit, read the data of the storage location of the data of the item corresponding to the index information obtained by the search,
Outputting the read data;
An information providing method characterized by the above.

(付記16)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出した抽出ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
ことを特徴とする情報提供方法。
(Supplementary Note 16) Acquire request information of a file including a plurality of items stored in the storage unit and user information for specifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
For each combination of items in the file stored in the storage unit, the item data corresponding to the index information obtained by the search from the extracted file obtained by extracting the item data included in the combination from the file. Read storage location data,
Outputting the read data;
An information providing method characterized by the above.

(付記17)記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出し、抽出したデータを当該組合せに含まれる秘匿化方法によって秘匿化した秘匿化ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
ことを特徴とする情報提供方法。
(Supplementary Note 17) Acquire request information of a file including a plurality of items stored in the storage unit and user information for specifying a user,
Correspondence between index information for associating an item included in the combination with the storage location of the data of the item and the user information for each combination of items and data concealment methods stored in the storage unit Refer to the information, search for index information corresponding to the user information,
For each combination of items and data concealment methods stored in the storage unit, the data of items included in the combination is extracted from the file, and the concealment method included in the combination of the extracted data Read the data storage location data of the item corresponding to the index information obtained by the search from the concealment file concealed by,
Outputting the read data;
An information providing method characterized by the above.

100 情報提供装置
101 要求情報
102 提供データ
110 ファイル
121〜123… 索引情報
200 通信システム
221〜22n 端末装置
230 ネットワーク
300 コンピュータ
301 CPU
302 ROM
303 RAM
304 磁気ディスクドライブ
305 磁気ディスク
306 光ディスクドライブ
307 光ディスク
308 通信I/F
309 ユーザI/F
320 バス
400 フラットファイル
500 利用者テーブル
601 取得部
602 特定部
603 検索部
604 作成部
605 読出部
606 秘匿化部
607 出力部
610 インデックス情報記憶部
611 インデックス管理テーブル
612a,612b インデックス
1511,1512,1611,1612 抽出ファイル
1610 抽出ファイル記憶部
2111〜2113,2211〜2213 秘匿化ファイル
2210 秘匿化ファイル記憶部
p1,p2 ポリシ
s1〜s3 シード
DESCRIPTION OF SYMBOLS 100 Information provision apparatus 101 Request information 102 Provision data 110 File 121-123 ... Index information 200 Communication system 221-22n Terminal apparatus 230 Network 300 Computer 301 CPU
302 ROM
303 RAM
304 Magnetic disk drive 305 Magnetic disk 306 Optical disk drive 307 Optical disk 308 Communication I / F
309 User I / F
320 Bus 400 Flat file 500 User table 601 Acquisition unit 602 Identification unit 603 Search unit 604 Creation unit 605 Reading unit 606 Concealment unit 607 Output unit 610 Index information storage unit 611 Index management table 612a, 612b Index 1511, 1512, 1611 1612 Extracted file 1610 Extracted file storage unit 2111-1213, 2211-2213 Concealed file 2210 Concealed file storage unit p1, p2 Policy s1-s3 Seed

Claims (8)

記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶されたファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
Acquire request information for a file including a plurality of items stored in the storage unit and user information for identifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
From the file stored in the storage unit, read the data of the storage location of the data of the item corresponding to the index information obtained by the search,
Outputting the read data;
An information providing program for causing a computer to execute processing.
前記ファイル内の項目の組合せごとの索引情報に前記対応する索引情報がない場合に、当該対応する索引情報を前記ファイルに基づいて作成し、
前記データを読み出す際に、作成した前記索引情報に基づいて前記読み出す処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報提供プログラム。
If the corresponding index information does not exist in the index information for each combination of items in the file, the corresponding index information is created based on the file,
The information providing program according to claim 1, wherein when reading the data, the computer is caused to execute the reading process based on the created index information.
前記ファイル内の項目の組合せごとの索引情報のうちの、当該索引情報のうちの他の索引情報と共通の項目を含む索引情報は、前記共通の項目と、前記他の索引情報を示す識別情報と、を対応付ける情報であり、
前記識別情報を含む索引情報が前記検索により得られた場合に、前記識別情報に基づいて前記他の索引情報を取得し、取得した前記他の索引情報に基づいて前記読み出す処理を前記コンピュータに実行させることを特徴とする請求項1または2に記載の情報提供プログラム。
Among the index information for each combination of items in the file, the index information including items common to other index information of the index information is identification information indicating the common items and the other index information. And the information that associates
When the index information including the identification information is obtained by the search, the other index information is acquired based on the identification information, and the reading process is executed on the computer based on the acquired other index information. The information providing program according to claim 1, wherein the program is provided.
記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出した抽出ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
Acquire request information for a file including a plurality of items stored in the storage unit and user information for identifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
For each combination of items in the file stored in the storage unit, the item data corresponding to the index information obtained by the search from the extracted file obtained by extracting the item data included in the combination from the file. Read storage location data,
Outputting the read data;
An information providing program for causing a computer to execute processing.
前記ファイル内の項目の組合せごとの前記抽出ファイルに、前記利用者情報によって特定される利用者がデータを取得する権限を有する項目の組合せに対応する抽出ファイルがない場合に、当該対応する抽出ファイルを前記ファイルに基づいて作成し、
前記データを読み出す際に、作成した前記抽出ファイルから前記対応する項目のデータの格納場所のデータを読み出す処理を前記コンピュータに実行させることを特徴とする請求項4に記載の情報提供プログラム。
If the extracted file for each combination of items in the file does not have an extracted file corresponding to a combination of items for which the user specified by the user information has the authority to acquire data, the corresponding extracted file Based on the file,
5. The information providing program according to claim 4, wherein when the data is read, the computer is caused to execute a process of reading data of a storage location of the data of the corresponding item from the created extracted file.
記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶された前記ファイル内の項目の組合せおよびデータの秘匿化方法ごとの、当該組合せに含まれる項目のデータを前記ファイルから抽出し、抽出したデータを当該組合せに含まれる秘匿化方法によって秘匿化した秘匿化ファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラム。
Acquire request information for a file including a plurality of items stored in the storage unit and user information for identifying a user,
Correspondence between index information for associating an item included in the combination with the storage location of the data of the item and the user information for each combination of items and data concealment methods stored in the storage unit Refer to the information, search for index information corresponding to the user information,
For each combination of items and data concealment methods stored in the storage unit, the data of items included in the combination is extracted from the file, and the concealment method included in the combination of the extracted data Read the data storage location data of the item corresponding to the index information obtained by the search from the concealment file concealed by,
Outputting the read data;
An information providing program for causing a computer to execute processing.
記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得する取得部と、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索する検索部と、
前記記憶部に記憶されたファイルから、前記検索部による検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出す読出部と、
前記読出部によって読み出されたデータを出力する出力部と、
を備えることを特徴とする情報提供装置。
An acquisition unit for acquiring request information of a file including a plurality of items stored in the storage unit and user information for identifying a user;
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and A search unit for searching index information corresponding to user information;
A reading unit that reads out data in a storage location of data of items corresponding to the index information obtained by the search by the search unit from the file stored in the storage unit;
An output unit for outputting data read by the reading unit;
An information providing apparatus comprising:
記憶部に記憶された複数の項目を含むファイルの要求情報および利用者を特定する利用者情報を取得し、
前記記憶部に記憶された前記ファイル内の項目の組合せごとの、当該組合せに含まれる項目と当該項目のデータの格納場所とを対応付ける索引情報と前記利用者情報との対応情報を参照し、前記利用者情報に対応する索引情報を検索し、
前記記憶部に記憶されたファイルから、検索により得られた前記索引情報に対応する項目のデータの格納場所のデータを読み出し、
読み出した前記データを出力する、
ことを特徴とする情報提供方法。
Acquire request information for a file including a plurality of items stored in the storage unit and user information for identifying a user,
For each combination of items in the file stored in the storage unit, refer to the correspondence information between the user information and the index information that associates the items included in the combination with the data storage location of the items, and Search index information corresponding to user information,
From the file stored in the storage unit, read the data of the storage location of the data of the item corresponding to the index information obtained by the search,
Outputting the read data;
An information providing method characterized by the above.
JP2011037686A 2011-02-23 2011-02-23 Information providing program, information providing apparatus, and information providing method Pending JP2012174147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011037686A JP2012174147A (en) 2011-02-23 2011-02-23 Information providing program, information providing apparatus, and information providing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011037686A JP2012174147A (en) 2011-02-23 2011-02-23 Information providing program, information providing apparatus, and information providing method

Publications (1)

Publication Number Publication Date
JP2012174147A true JP2012174147A (en) 2012-09-10

Family

ID=46976972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011037686A Pending JP2012174147A (en) 2011-02-23 2011-02-23 Information providing program, information providing apparatus, and information providing method

Country Status (1)

Country Link
JP (1) JP2012174147A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020795A (en) * 2017-07-12 2019-02-07 富士ゼロックス株式会社 Document management device, document management system, and program
JP2021022924A (en) * 2019-07-25 2021-02-18 ▲しゃーん▼碼科技股▲ふん▼有限公司 High speed encryption key generating engine
JP2021043853A (en) * 2019-09-13 2021-03-18 サイレックス・テクノロジー株式会社 Relay device, relay device control method and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110763A (en) * 1992-09-30 1994-04-22 Toshiba Corp File system
JPH09330259A (en) * 1996-06-10 1997-12-22 Toshiba Corp Computer system and file access method for the same
JP2002215440A (en) * 2001-01-18 2002-08-02 Hitachi Ltd Method for defining view with mask for cell-level data access control and its program recording medium
US20060265375A1 (en) * 2005-05-19 2006-11-23 Hess Howard M Masking object data based on user authorization
JP2007079984A (en) * 2005-09-14 2007-03-29 Ricoh Co Ltd Data management server, data management method and program
JP2010282304A (en) * 2009-06-03 2010-12-16 Mitsubishi Electric Corp Data management retrieval system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110763A (en) * 1992-09-30 1994-04-22 Toshiba Corp File system
JPH09330259A (en) * 1996-06-10 1997-12-22 Toshiba Corp Computer system and file access method for the same
JP2002215440A (en) * 2001-01-18 2002-08-02 Hitachi Ltd Method for defining view with mask for cell-level data access control and its program recording medium
US20060265375A1 (en) * 2005-05-19 2006-11-23 Hess Howard M Masking object data based on user authorization
JP2007079984A (en) * 2005-09-14 2007-03-29 Ricoh Co Ltd Data management server, data management method and program
JP2010282304A (en) * 2009-06-03 2010-12-16 Mitsubishi Electric Corp Data management retrieval system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199800646010; 飯沢 篤志: 'データベースおもしろ講座-7-' bit Vol.23 No.12(通巻302号), 19911101, p.104-115, 共立出版株式会社 *
JPN6014020657; 飯沢 篤志: 'データベースおもしろ講座-7-' bit Vol.23 No.12(通巻302号), 19911101, p.104-115, 共立出版株式会社 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020795A (en) * 2017-07-12 2019-02-07 富士ゼロックス株式会社 Document management device, document management system, and program
JP2021022924A (en) * 2019-07-25 2021-02-18 ▲しゃーん▼碼科技股▲ふん▼有限公司 High speed encryption key generating engine
US11381394B2 (en) 2019-07-25 2022-07-05 PUFsecurity Corporation High speed encryption key generating engine
JP7122722B2 (en) 2019-07-25 2022-08-22 ▲しゃーん▼碼科技股▲ふん▼有限公司 Fast encryption key generation engine
JP2021043853A (en) * 2019-09-13 2021-03-18 サイレックス・テクノロジー株式会社 Relay device, relay device control method and program
JP7207727B2 (en) 2019-09-13 2023-01-18 サイレックス・テクノロジー株式会社 RELAY DEVICE, CONTROL METHOD AND PROGRAM FOR RELAY DEVICE

Similar Documents

Publication Publication Date Title
US9576005B2 (en) Search system
US8649552B2 (en) Data obfuscation of text data using entity detection and replacement
CA2906475C (en) Method and apparatus for substitution scheme for anonymizing personally identifiable information
JP5822452B2 (en) Storage service providing apparatus, system, service providing method, and service providing program
US8694646B1 (en) System and method to anonymize data transmitted to a destination computing device
Gattacceca et al. The meteoritical bulletin, No. 107
US11507556B2 (en) Method and system for encapsulating and storing information from multiple disparate data sources
JP5669101B2 (en) Information processing apparatus and information processing system
EP1763796A2 (en) Encrypted table indexes and searching encrypted tables
US9356993B1 (en) System and method to anonymize data transmitted to a destination computing device
US20090022321A1 (en) Personal information management system, personal information management program, and personal information protecting method
JP2016206918A (en) Encrypted database system and encrypted data management method
JP2012174147A (en) Information providing program, information providing apparatus, and information providing method
US9613227B1 (en) System and method to anonymize data transmitted to a destination computing device
US9619482B1 (en) System and method to anonymize data transmitted to a destination computing device
US11902257B1 (en) System and method to anonymize data transmitted to a destination computing device
US9338220B1 (en) System and method to anonymize data transmitted to a destination computing device
JP2012083929A (en) File retrieval device and file retrieval program
US9667741B1 (en) System and method to anonymize data transmitted to a destination computing device
Gonçalves et al. Revisiting the dataset gap problem–On availability, assessment and perspective of mobile forensic corpora
CN108304545A (en) A kind of URL log storing methods and device
CN103617193A (en) Cookie information processing method and cookie information processing browser
Imran et al. Searching in cloud object storage by using a metadata model
JP2012108955A (en) Storage service providing device, system, service providing method, and service providing program
JP6366457B2 (en) Information sharing apparatus and information sharing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141007