JP2020187497A - プログラム、サーバ装置および実行順序決定方法 - Google Patents
プログラム、サーバ装置および実行順序決定方法 Download PDFInfo
- Publication number
- JP2020187497A JP2020187497A JP2019090954A JP2019090954A JP2020187497A JP 2020187497 A JP2020187497 A JP 2020187497A JP 2019090954 A JP2019090954 A JP 2019090954A JP 2019090954 A JP2019090954 A JP 2019090954A JP 2020187497 A JP2020187497 A JP 2020187497A
- Authority
- JP
- Japan
- Prior art keywords
- data
- personal data
- consent
- filter
- processing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 171
- 238000012545 processing Methods 0.000 claims abstract description 121
- 238000012790 confirmation Methods 0.000 claims abstract description 89
- 238000001914 filtration Methods 0.000 claims abstract description 18
- 238000013475 authorization Methods 0.000 description 106
- 239000000284 extract Substances 0.000 description 18
- 230000015654 memory Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Primary Health Care (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】個人データの利用許可を判定する処理における絞り込み対象数を削減する。【解決手段】認可サーバ10は、クライアントが個人データの利用要求を行った場合、クライアントが要求する属性を有する個人データの利用許可の同意を確認する同意確認処理と、データ群のうちからクライアントが要求する条件または属性を満たす個人データを抽出するフィルタ処理とを行い、同意確認処理とフィルタ処理との実行順序を判定指標にもとづいて決定する。パターンp1において斜線領域を抽出する場合はフィルタ処理を同意確認処理よりも先に行った方が処理効率の向上が見込まれ、パターンp2において斜線領域を抽出する場合は同意確認処理をフィルタ処理よりも先に行った方が処理効率の向上が見込まれる。【選択図】図6
Description
本発明は、プログラム、サーバ装置および実行順序決定方法に関する。
近年、企業が保有しているデータを相互に活用して企業間でデータを流通させるデータ流通ネットワークが注目されており、データ流通の促進によって新しいサービスやビジネスの創出が期待されている。
データ流通ネットワークが対象とするデータには、企業が保有する産業データの他に、個人データ(個人情報)が含まれる。個人データを流通させる場合、データの利用者は個人から利用の同意を得る必要があり、個人データの利用許可の判定処理が行われる。
個人データの流通に関連する技術として、例えば、情報提供者の入力によって個人情報の開示制限を設定させ、情報利用者に設定された範囲内で個人情報を提供する技術が提案されている。また、詳細度の高い個人情報と詳細度の低い個人情報を生成して、サービス結果満足条件に応じた個人情報を開示する技術が提案されている。
データ流通ネットワークでは、個人データの利用許可を判定する場合、個人データの利用許可の同意/不同意を確認する同意確認処理と、利用者が要求する条件を満たす個人データを抽出するフィルタ処理とが行われる。
この場合、同意確認処理を先に行ってからフィルタ処理を後に行うか、またはフィルタ処理を先に行ってから同意確認処理を後に行うかによって、対象数を絞り込むときの対象数の削減に差異が生じる。このため、同意確認処理またはフィルタ処理のいずれを先に行うかを適応的に切替えて対象数を削減できる技術の実現が要望されている。
1つの側面では、本発明は、個人データの利用許可を判定する処理における絞り込み対象数の削減を図ったプログラム、サーバ装置および実行順序決定方法を提供することを目的とする。
上記課題を解決するために、コンピュータに、ユーザの個人データが含まれるデータ群のうちから個人データのクライアントによる利用要求を受けて、クライアントが要求する属性を有する個人データの利用許可の同意を確認する同意確認処理と、データ群のうちからクライアントが要求する条件または属性を満たす個人データを抽出するフィルタ処理とを行う場合、判定指標にもとづいて同意確認処理とフィルタ処理との実行順序を決定する処理を実行させるプログラムが提供される。
また、上記課題を解決するために、上記プログラムによって同様の制御を実行するサーバ装置が提供される。
また、上記課題を解決するために、コンピュータが上記プログラムと同様の制御を実行する実行順序決定方法が提供される。
また、上記課題を解決するために、コンピュータが上記プログラムと同様の制御を実行する実行順序決定方法が提供される。
1側面によれば、個人データの利用許可を判定する処理における絞り込み対象数を削減することができる。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態について図1を用いて説明する。図1はサーバ装置の一例を説明するための図である。サーバ装置1は、制御部1aと記憶部1bを備える。また、サーバ装置1は、リソース装置2およびクライアント装置3に接続されている。
[第1の実施の形態]
第1の実施の形態について図1を用いて説明する。図1はサーバ装置の一例を説明するための図である。サーバ装置1は、制御部1aと記憶部1bを備える。また、サーバ装置1は、リソース装置2およびクライアント装置3に接続されている。
リソース装置2は、ユーザの個人データが含まれるデータ群を保有する。クライアント装置3は、リソース装置2に保有されているデータ群のうちから個人データを利用する場合に利用要求をサーバ装置1に送信する。
サーバ装置1は、クライアント装置3からの利用要求にもとづいて、個人データをクライアント装置3に提供するための利用許可判定を行い、判定結果に応じて個人データをクライアント装置3へ送信する中継制御を行う。
制御部1aは、クライアント装置3が個人データの利用要求を行った場合、利用許可判定処理として同意確認処理とフィルタ処理とを行う。同意確認処理は、クライアント装置3が要求する属性を有する個人データの利用許可の同意を確認する処理である。フィルタ処理は、リソース装置2が保有するデータ群のうちからクライアント装置3が要求する条件(フィルタ条件)または属性を満たす個人データを抽出する処理である。
また、制御部1aは、同意確認処理およびフィルタ処理を行う場合、判定指標にもとづいて同意確認処理とフィルタ処理との実行順序を決定する。記憶部1bは、クライアント装置3が要求する属性に関する情報、クライアント装置3が要求する条件に関する情報、判定指標に関連する情報(後述の辞書テーブル等)および運用制御に関する情報等を格納する。
図1に示す例を用いて動作について説明する。リソース装置2には、個人データD1、・・・、D4が保有されている。また、クライアント装置3から要求されるフィルタ条件には、条件A、・・・、Dがあるとする。
個人データD1は、クライアント装置3で利用されることに同意のデータであり、条件Aを満たすデータd11、条件Bを満たすデータd12、条件Cを満たすデータd13および条件Dを満たすデータd14を含む。
個人データD2は、クライアント装置3で利用されることに不同意のデータであり、条件Aを満たすデータd21、条件Bを満たすデータd22、条件Cを満たすデータd23および条件Dを満たすデータd24を含む。
個人データD3は、クライアント装置3で利用されることに同意のデータであり、条件Aを満たすデータd31、条件Bを満たすデータd32、条件Cを満たすデータd33および条件Dを満たすデータd34を含む。
個人データD4は、クライアント装置3で利用されることに不同意のデータであり、条件Aを満たすデータd41、条件Bを満たすデータd42、条件Cを満たすデータd43および条件Dを満たすデータd44を含む。
ここでは、クライアント装置3は、条件A、B、C、Dのうち条件A、Cを満たす個人データを要求するものとする。
〔ステップS1〕制御部1aは、クライアント装置3から送信された個人データの利用要求を受信する。
〔ステップS1〕制御部1aは、クライアント装置3から送信された個人データの利用要求を受信する。
〔ステップS2〕制御部1aは、判定指標にもとづいて、同意確認処理およびフィルタ処理の実行順序を決定する(判定指標には後述の辞書テーブル等が使用される)。同意確認処理を先にフィルタ処理を後に実行する場合を第1の実行順序、フィルタ処理を先に同意確認処理を後に実行する場合を第2の実行順序とする。このとき、第1の実行順序の方が第2の実行順序よりも処理効率が高くなると判定された場合は、ステップS3へ処理が進み、第2の実行順序の方が第1の実行順序よりも処理効率が高くなると判定された場合は、ステップS5へ処理が進む。
〔ステップS3〕制御部1aは、同意確認処理を行って、個人データD1、・・・、D4の利用許可の同意を確認する。この例では、個人データD1、D3はクライアント装置3に対する利用許可が同意されており、個人データD2、D4はクライアント装置3に対する利用許可が不同意になっている。このため、制御部1aは、同意が取れている個人データD1、D3を抽出する。
〔ステップS4〕制御部1aは、フィルタ処理を行って、クライアント装置3が要求する条件を満たす個人データを抽出する。この例では、クライアント装置3は条件A、Cを満たすデータを要求している。
このため、制御部1aは、同意が取れている個人データD1、D3のうちから条件A、Cを満たす個人データD1(d11、d13)、D3(d31、d33)を抽出する。そして、制御部1aは、抽出した個人データD1(d11、d13)、D3(d31、d33)をクライアント装置3へ送信する。
〔ステップS5〕制御部1aは、フィルタ処理を行って、クライアント装置3が要求する条件を満たす個人データを抽出する。この例では、クライアント装置3は条件A、Cを満たすデータを要求している。
このため、制御部1aは、個人データD1、・・・、D4のうちから条件A、Cを満たす個人データD1(d11、d13)、D2(d21、d23)、D3(d31、d33)、D4(d41、d43)を抽出する。
〔ステップS6〕制御部1aは、同意確認処理を行って、個人データの利用許可の同意を確認する。この例では、個人データD1、D3はクライアント装置に対する利用許可が同意されており、個人データD2、D4はクライアント装置に対する利用許可が不同意になっている。
このため、制御部1aは、ステップS5で抽出した個人データのうち、同意が取れている個人データD1(d11、d13)、D3(d31、d33)を抽出する。そして、制御部1aは、抽出した個人データD1(d11、d13)、D3(d31、d33)をクライアント装置3へ送信する。
このように、サーバ装置1では、クライアント装置3が要求する属性を有する個人データの利用許可の同意を確認する同意確認処理と、データ群のうちからクライアント装置3が要求する条件を満たす個人データを抽出するフィルタ処理との実行順序を判定指標にもとづいて適応的に決定する。これにより、個人データの利用許可を判定する処理の絞り込み対象数を削減することができ、処理効率を向上させることが可能になる。
[第2の実施の形態]
次に個人データの取引が行われるデータ流通ネットワークに本発明の機能を適用した第2の実施の形態について説明する。図2はデータ流通システムの構成の一例を示す図である。データ流通システム1−1は、同意ポータル10a、データ提供エンティティ2a、データ利用エンティティ3aおよびユーザ端末40−1、・・・、40−n(総称する場合はユーザ端末40)を備える。なお、エンティティとは個人や企業等の活動の主体である。
次に個人データの取引が行われるデータ流通ネットワークに本発明の機能を適用した第2の実施の形態について説明する。図2はデータ流通システムの構成の一例を示す図である。データ流通システム1−1は、同意ポータル10a、データ提供エンティティ2a、データ利用エンティティ3aおよびユーザ端末40−1、・・・、40−n(総称する場合はユーザ端末40)を備える。なお、エンティティとは個人や企業等の活動の主体である。
同意ポータル10aは、個人データを転送させる場合の同意確認を行うためのポータルサイトである。データ提供エンティティ2aは、データを保有し、保有しているデータのうちから要求されたデータを要求元へ提供する。データ利用エンティティ3aは、データの要求を行って提供されたデータを利用する。
同意ポータル10aは、認可サーバ(AS:Authorization Server)10を有し、データ提供エンティティ2aは、リソースサーバ(RS:Resource Server)20を有し、データ利用エンティティ3aは、クライアントサーバ(CS:Client Server)30を有する。なお、認可サーバ10は、図1のサーバ装置1の機能を有する。
認可サーバ10、リソースサーバ20、クライアントサーバ30およびユーザ端末40は、ネットワーク(例えば、インターネット)5を介して互いに接続されている。
リソースサーバ20は、データオーナであるユーザのユーザ端末40から送信されたデータを保有し、保有しているデータのうちから要求されたデータをクライアントサーバ30に提供する。
リソースサーバ20は、データオーナであるユーザのユーザ端末40から送信されたデータを保有し、保有しているデータのうちから要求されたデータをクライアントサーバ30に提供する。
クライアントサーバ30は、リソースサーバ20にデータを要求し、リソースサーバ20から提供されたデータを利用する。認可サーバ10は、リソースサーバ20からクライアントサーバ30へデータが提供される際に、個人データの利用許可判定処理を行う。
データ提供エンティティ2aおよびデータ利用エンティティ3aは、例えば、企業であって、データ提供エンティティ2aは自動車会社、データ利用エンティティ3aは保険会社に対応させることができる。ユーザ端末40は、企業とは異なる個人のエンティティである。
このようなケースにおいて、例えば、自動車会社は、ユーザの運転データを保有して、保険会社から要求された運転データを保険会社へ提供する。保険会社は、自動車会社に運転データを要求し、提供された運転データを取得して保険査定等の事務に利用する。また、運転データには個人情報が含まれるため、自動車会社から保険会社に運転データが渡される場合には、個人情報のオーナであるユーザの同意が必要になる。
ユーザの同意確認は、同意ポータル10a内の認可サーバ10によって行われる。認可サーバ10によって、データ要求元である保険会社に対するユーザ本人の提供同意が済みか否かが確認され、同意の確認が取れた場合、保険会社に対して運転データのアクセス権が与えられる。
ここで、クライアントサーバ30からリソースサーバ20へのデータ要求には、データ利用エンティティ3aが所望する個人の属性とフィルタ条件とが示されている。認可サーバ10では、個人の属性にもとづく同意確認が行われ、リソースサーバ20では、フィルタ条件(以降ではフィルタ情報と呼ぶ場合がある)にもとづく個人データの抽出(フィルタ処理)が行われる。なお、認可サーバ10とリソースサーバ20とでフィルタ情報を授受し、フィルタ処理を分担して実行することもできる。
ここで、保険会社が自動車会社に対して、車種がモデルAの自動車を所有している年齢が30代のユーザの運転データを要求するものとする。この運転データは、個人の属性情報として年齢=30代が含まれ、フィルタ情報として車種=モデルAが含まれる。
年齢=30代という個人の属性情報は、認可サーバ10によって、全利用者から年齢=30代の抽出が行われ、また認可サーバ10によって、年齢=30代の同意確認が行われる。さらに、車種=モデルAは、個人の属性情報とは異なるフィルタ情報であり、リソースサーバ20によって、全車種から車種=モデルAの抽出が行われることになる。
図3はデータのフィルタ情報および同意/不同意の関係の一例を示す図である。範囲c1は、第3者(例えば、保険会社)に提供されることにユーザが同意しているデータの集合を示し、範囲c1以外は、第3者への提供に対して不同意のデータの集合を示している。
範囲c2は、年齢=30代の属性を持つデータの集合を示し、範囲c2以外は、年齢≠30代のデータの集合を示している。範囲c3は、車種=モデルAの自動車のデータの集合を示し、範囲c3以外は、車種=モデルA以外の自動車のデータの集合を示している。
範囲c4は、範囲c1、c2の共通範囲であり、年齢=30代で第3者への提供を同意しているデータの集合を示している。範囲c5は、範囲c2、c3の共通範囲であり、年齢=30代で車種=モデルAの自動車を所有しているデータの集合を示している。範囲c6は、範囲c1、c2、c3の共通範囲であり、年齢=30代で車種=モデルAの自動車を所有し第3者への提供に同意しているデータの集合を示している。
ここで、車種がモデルAの自動車を所有している年齢が30代で利用許可に同意しているユーザの運転データは、範囲c6に含まれるから、範囲c6は、実際のデータ取得範囲である。範囲c6に含まれるデータを取得する場合、範囲c1と範囲c2が共通する範囲c4を求めてから、範囲c4と範囲c3が共通する範囲c6を求める場合がある。
しかし、例えば、年齢=30代が1000万人、車種=モデルAが1万人いるとすると、この場合、1000万人分についての同意確認を行って範囲c4の同意している年齢=30代を求め、その後に車種=モデルAを所有しているか否かのフィルタリングを行うことになる。
この例の場合、同意確認を先に実行してしまうと、範囲c4に絞り込むまでの処理負荷が高くなり、また判定結果が出力されるまでの時間が増大し、個人データの利用許可の判定処理を効率よく行うことができない。
したがって、この例の場合、年齢=30代で車種=モデルAを所有しているフィルタリングを先に行って、その後に同意確認を行った方がデータの絞り込み効果が高い。すなわち、範囲c6に含まれるデータを取得する場合、範囲c2と範囲c3が共通する範囲c5を求めてから、範囲c5と範囲c1が共通する範囲c6を求めた方が、絞り込み対象数が削減して処理効率が向上する。
本発明ではこのような点に鑑みて、同意確認処理と、フィルタ処理とのいずれを先に実行するかを適応的に決定して、個人データの利用許可を判定する処理における絞り込み対象数を削減し、処理効率の向上および処理負荷の軽減を図るものである。
<ハードウェア構成>
図4は認可サーバのハードウェア構成の一例を示す図である。認可サーバ10は、プロセッサ(コンピュータ)100によって装置全体が制御されている。
図4は認可サーバのハードウェア構成の一例を示す図である。認可サーバ10は、プロセッサ(コンピュータ)100によって装置全体が制御されている。
プロセッサ100には、バス103を介して、メモリ101および複数の周辺機器が接続されている。プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
メモリ101は、認可サーバ10の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。
また、メモリ101は、認可サーバ10の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD(Solid State Drive)等の半導体記憶装置やHDD(Hard Disk Drive)等の磁気記録媒体を含んでもよい。
バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、プロセッサ100からの命令にしたがって認可サーバ10の状態を表示する表示装置として機能するモニタ(例えば、LED(Light Emitting Diode)やLCD(Liquid Crystal Display)等)が接続されている。
また、入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
さらにまた、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu−rayDisc(登録商標)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
さらにまた、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu−rayDisc(登録商標)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
ネットワークインタフェース104は、ネットワーク5とのインタフェース制御を行い、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等を使用することもできる。ネットワークインタフェース104で受信されたデータは、メモリ101やプロセッサ100に出力される。
以上のようなハードウェア構成によって、認可サーバ10の処理機能を実現することができる。例えば、認可サーバ10は、プロセッサ100がそれぞれ所定のプログラムを実行することで本発明の制御を行うことができる。
認可サーバ10は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。認可サーバ10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
例えば、認可サーバ10に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。なお、リソースサーバ20およびクライアントサーバ30についても、図4と同様なハードウェアで構成することができる。
<機能ブロック>
図5は認可サーバの機能ブロックの一例を示す図である。認可サーバ10は、制御部11、記憶部12およびインタフェース部13を備える。制御部11は、同意確認処理部11a、フィルタ処理部11bおよび実行順序決定処理部11cを含む。
図5は認可サーバの機能ブロックの一例を示す図である。認可サーバ10は、制御部11、記憶部12およびインタフェース部13を備える。制御部11は、同意確認処理部11a、フィルタ処理部11bおよび実行順序決定処理部11cを含む。
同意確認処理部11aは、クライアント装置3が要求する属性を有する個人データの利用許可の同意を確認する処理を行う。フィルタ処理部11bは、リソース装置2が保有するデータ群のうちからクライアント装置3が要求する条件を満たす個人データを抽出する処理を行う。また、フィルタ処理部11bは、フィルタ情報の一部をリソースサーバ20に送信して、フィルタ処理をリソースサーバ20と分担して行うこともできる。
実行順序決定処理部11cは、判定指標にもとづいて、同意確認処理とフィルタ処理との実行順序を決定する。記憶部12は、例えば、判定指標を含む辞書テーブル12aを記憶する(辞書テーブル12aの詳細は後述する)。インタフェース部13は、ネットワーク5との通信インタフェース制御を行う。
なお、制御部11は図4のプロセッサ100によって実現され、記憶部12は図4のメモリ101によって実現される。また、インタフェース部13は図4のネットワークインタフェース104(または入出力インタフェース102)によって実現される。
<処理効率に差異が出るケース>
図6は同意確認処理とフィルタ処理の実行順序の違いにより処理効率に差異が出るケースの一例を示す図である。パターンp1、p2において、範囲Pは属性情報を有するデータの集合、範囲Qはフィルタ情報を有する商品データの集合、範囲Rは第3者への提供に同意が示されているデータの集合を示している。
図6は同意確認処理とフィルタ処理の実行順序の違いにより処理効率に差異が出るケースの一例を示す図である。パターンp1、p2において、範囲Pは属性情報を有するデータの集合、範囲Qはフィルタ情報を有する商品データの集合、範囲Rは第3者への提供に同意が示されているデータの集合を示している。
ここで、範囲P、Q、Rの共通部分(斜線部)のデータを抽出するものとする。パターンp1は、フィルタ処理を同意確認処理よりも先に行った方が、処理効率(絞り込み効果)が高くなる場合を示している。
範囲Pと範囲Rの共通部分の集合を求めてから、その共通部分と範囲Qとの共通部分(斜線部)を求めるよりも、範囲Pと範囲Qの共通部分の集合を求めてから、その共通部分と範囲Rとの共通部分(斜線部)を求めた方が、絞り込み効果が高い。
したがって、パターンp1のような状態では、フィルタ処理を同意確認処理よりも先に行った方が、処理効率が高くなることが見込まれ、処理負荷が軽減することになる。なお、この例では、フィルタ処理は、範囲Pと範囲Qの共通部分の集合を求める処理に相当し、同意確認処理は、フィルタ処理で求めた共通部分と範囲Rとの共通部分を求める処理に相当する。
一方、パターンp2は、同意確認処理をフィルタ処理よりも先に行った方が、絞り込み対象数が削減して処理効率が高くなる場合を示している。範囲Pと範囲Qの共通部分の集合を求めてから、その共通部分と範囲Rとの共通部分(斜線部)を求めるよりも、範囲Pと範囲Rの共通部分の集合を求めてから、その共通部分と範囲Qとの共通部分(斜線部)を求めた方が、絞り込み効果が高い。
したがって、パターンp2のような状態では、同意確認処理をフィルタ処理よりも先に行った方が、絞り込み対象数が削減して処理効率が高くなることが見込まれ、処理負荷が軽減することになる。なお、この例では、同意確認処理は、範囲Pと範囲Rの共通部分の集合を求める処理に相当し、フィルタ処理は、同意確認処理で求めた共通部分と範囲Qとの共通部分を求める処理に相当する。
<全体動作シーケンス>
図7は個人データの流通の全体動作シーケンスを示す図である。ユーザXは、同意ポータル10aを介して、データ利用エンティティ3a(例えば、保険会社)のサービスに契約を行う。この場合、ユーザXは、データ提供エンティティ2a(例えば、自動車会社)が保有するデータ(例えば、運転データ)がデータ利用エンティティ3aに提供されることの同意または不同意の意思表示を行っておく。
図7は個人データの流通の全体動作シーケンスを示す図である。ユーザXは、同意ポータル10aを介して、データ利用エンティティ3a(例えば、保険会社)のサービスに契約を行う。この場合、ユーザXは、データ提供エンティティ2a(例えば、自動車会社)が保有するデータ(例えば、運転データ)がデータ利用エンティティ3aに提供されることの同意または不同意の意思表示を行っておく。
〔ステップS11〕ユーザ端末40は、同意ポータル10aに属する認可サーバ10に対してメッセージm1を送信する。メッセージm1には、上記のような、データ利用エンティティ3aのサービスに契約する旨およびデータ利用エンティティ3aにデータが提供されることの同意または不同意の意思表示が設定されている。
なお、ユーザXは、データの一部をデータ利用エンティティ3aへ提供したくない場合、そのポリシをあらかじめ同意ポータル10aを介してデータ利用エンティティ3aに登録することができる。例えば、あるエリアの運転データや週末の運転データは提供しない等のポリシを登録できる。メッセージm1には、このようなポリシも設定される。
〔ステップS12〕データ利用エンティティ3aに属するクライアントサーバ30は、データ要求依頼メッセージm2をデータ提供エンティティ2aに属するリソースサーバ20へ送信する。
例えば、データ利用エンティティ3aが現在の会員の運転データや新規会員の運転データを取得したい場合、データ要求依頼メッセージm2がクライアントサーバ30からリソースサーバ20へ送信される。
データ要求依頼メッセージm2には、リソースサーバ20で管理されているデータのフォーマットや、データ利用エンティティ3aが要求する属性情報(例えば、30代の男性)や、フィルタ情報(例えば、ある日のドライブレコードデータ)が含まれる。
〔ステップS13〕リソースサーバ20は、データ要求依頼メッセージm2を受信すると、データ要求依頼メッセージm2を認可サーバ10へ送信する。
〔ステップS14〕認可サーバ10は、データ要求依頼メッセージm2に含まれる属性情報およびフィルタ情報の解析・保持を行い、アクセス権限を規定しているチケット(アクセスチケット)を発行して、リソースサーバ20へ送信する。
〔ステップS14〕認可サーバ10は、データ要求依頼メッセージm2に含まれる属性情報およびフィルタ情報の解析・保持を行い、アクセス権限を規定しているチケット(アクセスチケット)を発行して、リソースサーバ20へ送信する。
〔ステップS15〕リソースサーバ20は、チケットを受信すると、メッセージm3をクライアントサーバ30に送信して応答する。メッセージm3には、同意ポータル10aのURI(Uniform Resource Identifier)およびチケットが少なくとも含まれる。
〔ステップS16〕クライアントサーバ30は、メッセージm3に含まれている同意ポータル10aのURIを使用して、同意ポータル10aに属する認可サーバ10にアクセスする。そして、メッセージm3に含まれているチケットを使用して、認可サーバ10に対してアクセスの認証に使用されるトークン(認証トークン)を要求する。
〔ステップS17〕認可サーバ10は、チケットを受信すると、チケットの正当性を検証し、正当なチケットの場合は、リソースサーバ20と通信を行って、個人データの利用許可判定処理を実行する(詳細フローは後述)。
〔ステップS18〕認可サーバ10は、利用許可判定処理で取得した個人データとトークンとを関連付け、そのトークンをクライアントサーバ30に送信する。
〔ステップS19〕クライアントサーバ30は、認可サーバ10から送信されたトークンをリソースサーバ20へ送信して、そのトークンで個人データを要求する。
〔ステップS19〕クライアントサーバ30は、認可サーバ10から送信されたトークンをリソースサーバ20へ送信して、そのトークンで個人データを要求する。
〔ステップS20〕リソースサーバ20は、クライアントサーバ30から送信されたトークンの正当性を検証するため、認可サーバ10へトークンを送信する。
〔ステップS21〕認可サーバ10は、リソースサーバ20から送信されたトークンを受信すると、トークンの正当性を検証し、トークンが正当な場合、そのトークンに関連付けられている個人データをリソースサーバ20へ送信する。
〔ステップS21〕認可サーバ10は、リソースサーバ20から送信されたトークンを受信すると、トークンの正当性を検証し、トークンが正当な場合、そのトークンに関連付けられている個人データをリソースサーバ20へ送信する。
〔ステップS22〕リソースサーバ20は、認可サーバ10から送信された個人データを受信し、クライアントサーバ30に対して個人データを送信する。なお、個人データとしては、例えば、IDリスト(個人の属性およびフィルタ情報を満たすデータ等から構成される情報)がある。
<フィルタ処理>
次に認可サーバ10およびリソースサーバ20で行われるフィルタ処理について説明する。データ利用エンティティ3aが要求した個人データ(IDリスト)を取得する場合、認可サーバ10がリソースサーバ20にフィルタ情報を送信して、リソースサーバ20にフィルタ処理を実施させることができる。または、認可サーバ10とリソースサーバ20との間でフィルタ情報の授受を行って、フィルタ処理を分担して実施することができる。
次に認可サーバ10およびリソースサーバ20で行われるフィルタ処理について説明する。データ利用エンティティ3aが要求した個人データ(IDリスト)を取得する場合、認可サーバ10がリソースサーバ20にフィルタ情報を送信して、リソースサーバ20にフィルタ処理を実施させることができる。または、認可サーバ10とリソースサーバ20との間でフィルタ情報の授受を行って、フィルタ処理を分担して実施することができる。
なお、個人の属性情報(年齢等)に関するデータ抽出は認可サーバ10で行われ、個人の属性情報の抽出以外のフィルタ処理は認可サーバ10またはリソースサーバ20で行われる。また、フィルタ処理の最終結果は、認可サーバ10が取得する。
(フィルタ処理の例1)
認可サーバ10は、リソースサーバ20へフィルタ情報を送信し、フィルタ情報を含むIDリストを要求する。例えば、認可サーバ10は、場所=都内、日付=2月1日というフィルタ情報をリソースサーバ20へ送信する。
認可サーバ10は、リソースサーバ20へフィルタ情報を送信し、フィルタ情報を含むIDリストを要求する。例えば、認可サーバ10は、場所=都内、日付=2月1日というフィルタ情報をリソースサーバ20へ送信する。
リソースサーバ20は、認可サーバ10から送信されたフィルタ情報を受信すると、自身が有するIDのうちから、受信したフィルタ情報を含むIDを抽出するフィルタ処理を行って該当するIDリストを返送する。
例えば、リソースサーバ20は、場所=都内および日付=2月1日のフィルタ情報にもとづくフィルタ処理によって、ID=[100、101、103、105]を抽出した場合、ID=[100、101、103、105]を認可サーバ10へ返送する。
認可サーバ10は、返送されたIDリストを受信すると、そのIDリストのうちから所定の属性情報を有するIDを抽出する。例えば、認可サーバ10は、ID=[100、101、103、105]のうちから年齢=30代の属性情報を有するID=[101、105]を抽出する。
このような処理によって、場所=都内、日付=2月1日および年齢=30代の個人データの抽出結果として、ID=[101、105]が認可サーバ10で取得されることになる。
(フィルタ処理の例2)
認可サーバ10は、自身が有するIDのうちから、属性情報およびフィルタ情報を含むIDを抽出する。そして、認可サーバ10は、抽出結果であるIDリストと、リソースサーバ20でフィルタ処理を実行させる際のフィルタ情報とをリソースサーバ20へ送信する。
認可サーバ10は、自身が有するIDのうちから、属性情報およびフィルタ情報を含むIDを抽出する。そして、認可サーバ10は、抽出結果であるIDリストと、リソースサーバ20でフィルタ処理を実行させる際のフィルタ情報とをリソースサーバ20へ送信する。
例えば、認可サーバ10は、ID=[101、105、106、107、108]のうちから年齢=30代のID=[101、105、107、108]を抽出し、さらに場所=都内のフィルタ処理を行ってID=[101、105、108]を抽出する。そして、認可サーバ10は、ID=[101、105、108]と、日付=2月1日のフィルタ情報とをリソースサーバ20へ送信する。
リソースサーバ20は、認可サーバ10から送信されたIDリストと、フィルタ情報とを受信すると、該IDリストのうちから該フィルタ情報を含むIDを抽出するフィルタ処理を行って、その結果を認可サーバ10へ返送する。
この場合、リソースサーバ20は、ID=[101、105、108]のうちから日付=2月1日のフィルタ情報を含むID=[101、105]を抽出する。そして、リソースサーバ20は、ID=[101、105]を認可サーバ10へ返送する。
このような処理によって、場所=都内、日付=2月1日および年齢=30代の個人データの抽出結果として、ID=[101、105]が認可サーバ10で取得されることになる。
フィルタ処理の例2の場合、認可サーバ10とリソースサーバ20とがフィルタ情報の授受を行って、互いに連携しながらフィルタ処理を分担して行うことにより、どちらか一方に負荷が偏ることなく負荷を分散させてフィルタ処理を実行することができる。なお、フィルタ処理の例1のように、すべてのフィルタ処理をリソースサーバ20に実施させることで認可サーバ10の処理負荷の軽減を図ることもできる。
<個人データ利用許可の判定処理>
図8は個人データ利用許可の判定処理の動作の一例を示すフローチャートである。図7のステップS17の詳細フローを示している。
図8は個人データ利用許可の判定処理の動作の一例を示すフローチャートである。図7のステップS17の詳細フローを示している。
〔ステップS31〕認可サーバ10内の制御部11は、リソースサーバ20から送信されたチケットを受信すると、チケットの正当性を検証する。
〔ステップS32〕制御部11は、判定指標にもとづいて、利用許可判定処理のうち同意確認処理とフィルタ処理のいずれを先に行うかを判定する。同意確認処理を先にフィルタ処理を後に行ってデータを絞り込む場合はステップS33aへ処理が進み、フィルタ処理を先に同意確認処理を後に行ってデータを絞り込む場合はステップS33bへ処理が進む。
〔ステップS32〕制御部11は、判定指標にもとづいて、利用許可判定処理のうち同意確認処理とフィルタ処理のいずれを先に行うかを判定する。同意確認処理を先にフィルタ処理を後に行ってデータを絞り込む場合はステップS33aへ処理が進み、フィルタ処理を先に同意確認処理を後に行ってデータを絞り込む場合はステップS33bへ処理が進む。
〔ステップS33a〕制御部11は、属性情報にもとづいて個人データの同意確認処理を行う。同意確認済みの場合はステップS34aへ処理が進み、不同意の場合はステップS35aへ処理が進む。
〔ステップS34a〕制御部11は、同意確認済みのデータに対してリソースサーバ20と連携してフィルタ処理を行う。ステップS36へ処理が進む。
〔ステップS35a〕制御部11は、不同意のユーザをIDリストから削除する。ステップS36へ処理が進む。
〔ステップS35a〕制御部11は、不同意のユーザをIDリストから削除する。ステップS36へ処理が進む。
〔ステップS33b〕制御部11は、リソースサーバ20と連携してフィルタ処理を行う。
〔ステップS34b〕制御部11は、フィルタ処理で抽出したデータに対して同意確認処理を行う。同意確認済みの場合はステップS36へ処理が進み、不同意の場合はステップS35bへ処理が進む。
〔ステップS34b〕制御部11は、フィルタ処理で抽出したデータに対して同意確認処理を行う。同意確認済みの場合はステップS36へ処理が進み、不同意の場合はステップS35bへ処理が進む。
〔ステップS35b〕制御部11は、不同意のユーザをIDリストから削除する。ステップS36へ処理が進む。
〔ステップS36〕制御部11は、ポリシが登録されている場合、登録ポリシのマッチング処理を行って登録ポリシに該当するデータを削除する。
〔ステップS36〕制御部11は、ポリシが登録されている場合、登録ポリシのマッチング処理を行って登録ポリシに該当するデータを削除する。
〔ステップS37〕制御部11は、IDリストを抽出し、トークンを発行する。
図9は絞り込み動作の一例を示すフローチャートである。なお、データ利用エンティティ3aは、30代で2018年の積雪日に都内で運転した人の運転データを要求するものとする。
図9は絞り込み動作の一例を示すフローチャートである。なお、データ利用エンティティ3aは、30代で2018年の積雪日に都内で運転した人の運転データを要求するものとする。
〔ステップS40〕認可サーバ10は、自身が有する辞書テーブルを参照して、個人の属性情報(この例では「年齢=30代」)にもとづき同意確認処理を行った場合の同意確認処理絞り込み効果と、フィルタ情報(この例では「2018年の積雪日」)にもとづきフィルタ処理を行った場合のフィルタ処理絞り込み効果とを検索する。
フィルタ処理絞り込み効果の方が同意確認処理絞り込み効果よりも高い場合はステップS41へ処理が進み、同意確認処理絞り込み効果の方がフィルタ処理絞り込み効果よりも高い場合はステップS46へ処理が進む。
〔ステップS41〕認可サーバ10は、同意確認処理よりもフィルタ処理を先に実行する。すなわち、認可サーバ10は、フィルタ情報「2018年の積雪日」をリソースサーバ20へ送信し、フィルタ情報「2018年の積雪日」を含むIDのリストを要求する。
〔ステップS42〕リソースサーバ20は、認可サーバ10から送信されたフィルタ情報「2018年の積雪日」を受信すると、自身が有するIDのうちから、フィルタ情報「2018年の積雪日」を含むIDを抽出するフィルタ処理を行って該当するIDのリストを返送する。
〔ステップS43〕認可サーバ10は、返送されたIDのリストを受信すると、そのリストのうちから属性情報「年齢=30代」のIDを抽出する。すなわち、属性情報「年齢=30代」かつフィルタ情報「2018年の積雪日」を含むIDリストが抽出される。
〔ステップS44〕認可サーバ10は、ステップS43で抽出したIDリストに該当する各ユーザの同意確認処理を行う。
〔ステップS45〕認可サーバ10は、ユーザの同意確認が取れたIDリストを抽出する。なお、ここでのIDリストは、フィルタ情報「年齢=30代」、「2018年の積雪日」を含み、同意確認も取れているものである。認可サーバ10は、このIDリストにトークンを関連付ける。なお、IDリストは、図7に示したように、認可サーバ10からリソースサーバ20へ送信され、リソースサーバ20からクライアントサーバ30へ送信される。
〔ステップS45〕認可サーバ10は、ユーザの同意確認が取れたIDリストを抽出する。なお、ここでのIDリストは、フィルタ情報「年齢=30代」、「2018年の積雪日」を含み、同意確認も取れているものである。認可サーバ10は、このIDリストにトークンを関連付ける。なお、IDリストは、図7に示したように、認可サーバ10からリソースサーバ20へ送信され、リソースサーバ20からクライアントサーバ30へ送信される。
〔ステップS46〕認可サーバ10は、フィルタ処理よりも同意確認処理を先に実行する。すなわち、認可サーバ10は、属性情報「年齢=30代」のユーザの同意確認処理を行って同意確認が取れたIDリストを抽出する。
〔ステップS47〕認可サーバ10は、同意確認が取れたIDリストおよびフィルタ情報「2018年の積雪日」をリソースサーバ20へ送信する。
〔ステップS48〕リソースサーバ20は、認可サーバ10から送信されたIDリストおよびフィルタ情報「2018年の積雪日」を受信すると、フィルタ情報「2018年の積雪日」を含むIDを抽出するフィルタ処理を行って該当するIDのリストを返送する。
〔ステップS48〕リソースサーバ20は、認可サーバ10から送信されたIDリストおよびフィルタ情報「2018年の積雪日」を受信すると、フィルタ情報「2018年の積雪日」を含むIDを抽出するフィルタ処理を行って該当するIDのリストを返送する。
〔ステップS49〕認可サーバ10は、返送されたIDのリストを受信する。ここでのIDリストは、フィルタ情報「年齢=30代」、「2018年の積雪日」を含み、同意確認も取れているものである。認可サーバ10は、このIDリストにトークンを関連付ける。なお、IDリストは、図7に示したように、認可サーバ10からリソースサーバ20へ送信され、リソースサーバ20からクライアントサーバ30へ送信される。
<辞書テーブル>
次に辞書テーブルの構成例について図10、図11を用いて説明する。図10は辞書テーブルの一例を示す図である。辞書テーブル12a−1は、項目として、属性、個人データ数および効率値を有する。属性情報は個人の属性であり例えば、年齢である。個人データ数は、該属性を有する個人データの数である。
次に辞書テーブルの構成例について図10、図11を用いて説明する。図10は辞書テーブルの一例を示す図である。辞書テーブル12a−1は、項目として、属性、個人データ数および効率値を有する。属性情報は個人の属性であり例えば、年齢である。個人データ数は、該属性を有する個人データの数である。
効率値は、同意確認処理がフィルタ処理よりも先に行われた場合に、同意確認処理によって個人データが、リソースサーバ20が保有するデータ群のうちから絞り込まれるときの絞り込み処理の効率を数値化したものである。効率値は、例えば、過去の履歴にもとづいて、認可サーバ10、リソースサーバ20またはクライアントサーバ30(の運用管理者)のいずれかで適宜設定することができる。
ここで、認可サーバ10は、クライアントサーバ30から年齢=30代の属性を含むデータ要求を受信したとする。例えば、認可サーバ10は、年齢=30代のデータが5万件あることを認識した場合、年齢=30代の属性と5万件の個人データ数とで辞書テーブル12a−1を検索して効率値aを取得する。
認可サーバ10は、取得した効率値aを判定指標とし、あらかじめ設定している閾値(閾値Thとする)と比較する。このとき、認可サーバ10は、a<Thの場合、フィルタ処理を先に行って同意確認処理を後に行うと判定し、Th≦aの場合、同意確認処理を先に行ってフィルタ処理を後に行うと判定する。
このように、認可サーバ10では、属性と該属性を有する個人データの数とに関連付けて効率値が設定されている辞書テーブルを参照して取得した効率値を判定指標とする。これにより、同意確認処理とフィルタ処理との実行順序として、処理効率が高い方の実行順序を適切かつ容易に決定することが可能になる。
図11は辞書テーブルの一例を示す図である。辞書テーブル12a−2は、項目として、クライアント要求情報および実行順序(フィルタ処理優先)を有する。クライアント要求情報には、例えば、年齢等の属性情報、また都道府県や日付等のフィルタ情報が記載される。
実行順序は、同意確認処理およびフィルタ処理のいずれを先に実行するかの順序を示す情報が記載される。図11の例では、フィルタ処理を同意確認処理よりも先に行うか否かの情報が記載されており、例えば、Trueの場合はフィルタ処理を同意確認処理よりも先に実行し、Falseの場合は同意確認処理をフィルタ処理よりも先に実行する。
辞書テーブル12a−2のエントリL1において、居住都道府県の指定が全国であり、フィルタ情報で抽出する際の条件式が示されている(“residential prefecture”=“ALL” AND q_rs_subexpr)。この場合、実行順序としてフィルタ処理優先はTrueとなっており、フィルタ処理を同意確認処理よりも先に行うことが判定される。
エントリL2において、年齢指定が80歳以上と示されている(“age”≧[89][0-9])。この場合、実行順序としてフィルタ処理優先はFalseとなっており、同意確認処理をフィルタ処理よりも先に行うことが判定される。
エントリL3において、データエントリの日付指定が示されている(“date”)。この場合、実行順序としてフィルタ処理優先はTrueとなっており、フィルタ処理を同意確認処理よりも先に行うことが判定される。
エントリL4において、データエントリの種類が「通常」と指定されている(“data_type”=“normal”)。この場合、実行順序としてフィルタ処理優先はFalseとなっており、同意確認処理をフィルタ処理よりも先に行うことが判定される(特殊エントリは少ないと想定でき同意確認処理を先に実行した方が効果は高いと推定される)。なお、クライアント要求情報と実行順序との対応関係は、例えば、過去の履歴にもとづいて、認可サーバ10、リソースサーバ20またはクライアントサーバ30(の運用管理者)のいずれかで適宜設定することができる。
このように、認可サーバ10では、属性またはフィルタ情報を含むクライアント要求情報と、クライアント要求情報に関連付けた実行順序とを対応させた辞書テーブルを参照し、クライアント要求情報を判定指標にして辞書テーブルから実行順序を検出する。これにより、同意確認処理とフィルタ処理との実行順序として、処理効率が高い方の実行順序を適切かつ容易に決定することが可能になる。なお、辞書テーブル12aの他の例としては以下のようなものがある。
認可サーバ10は、属性情報・フィルタ情報の条件式と、その条件式を過去に適用したときの結果とを辞書テーブルに記憶する。そして、結果と閾値とを比較して、結果が閾値よりも低い場合はフィルタ処理を先に行う。
例えば、条件式として、(年齢=50代)∧(積雪日に運転記録あり)であり、この条件式を過去に適用した場合、年齢=50代では100万件が10万件に絞られ、積雪日に運転記録ありで10万件から100件に絞られたとする。この結果は100件であり、閾値を200とした場合、結果が閾値よりも低いのでフィルタ処理を同意確認処理よりも先に行うことになる。この場合、フィルタ処理後の100件に対して同意確認処理が行われるため、フィルタ処理を先に行って100件に絞ってから同意確認処理を行った方が、処理効率が高くなる。
<辞書テーブル以外の判定指標>
上記では、辞書テーブルを使用して実行順序を決定する場合について説明したが、以降の図12、図13では、辞書テーブルを使用せずに判定する場合の例を示している。
上記では、辞書テーブルを使用して実行順序を決定する場合について説明したが、以降の図12、図13では、辞書テーブルを使用せずに判定する場合の例を示している。
図12は辞書テーブル以外の判定指標にもとづいて実行順序を決定する動作の一例を示すフローチャートである。
〔ステップS51〕認可サーバ10は、クライアントサーバ30が要求する属性を有する個人データをリソースサーバ20が保有するデータ群から抽出する。
〔ステップS51〕認可サーバ10は、クライアントサーバ30が要求する属性を有する個人データをリソースサーバ20が保有するデータ群から抽出する。
〔ステップS52〕認可サーバ10は、抽出した個人データの数を判定指標とする。
〔ステップS53〕認可サーバ10は、抽出した個人データの数と閾値とを比較する。個人データ数が閾値以上の場合はステップS54へ処理が進み、個人データ数が閾値未満の場合はステップS55へ処理が進む。
〔ステップS53〕認可サーバ10は、抽出した個人データの数と閾値とを比較する。個人データ数が閾値以上の場合はステップS54へ処理が進み、個人データ数が閾値未満の場合はステップS55へ処理が進む。
〔ステップS54〕認可サーバ10は、フィルタ処理を先に行って同意確認処理を後に行う。
〔ステップS55〕認可サーバ10は、同意確認処理を先に行ってフィルタ処理を後に行う。
〔ステップS55〕認可サーバ10は、同意確認処理を先に行ってフィルタ処理を後に行う。
例えば、データ群のデータ総数が10000件あり、クライアントから要求される属性を30代とし、10000件の中から30代の個人データが1000件抽出されたとする。閾値=4000とした場合、個人データ数は閾値未満となる。したがって、この場合は、認可サーバ10は、同意確認処理を先に行ってフィルタ処理を後に行う実行順序を決定する。
このように、認可サーバ10は、クライアントが要求する属性を有する個人データをデータ群から抽出し、個人データの数を判定指標にして閾値と比較して実行順序を決定する。これにより、同意確認処理とフィルタ処理との実行順序として、処理効率が高い方の実行順序を適切かつ容易に決定することが可能になる。
図13は辞書テーブル以外の判定指標にもとづいて実行順序を決定する動作の一例を示すフローチャートである。
〔ステップS61〕認可サーバ10は、属性情報およびフィルタ情報を受信する。
〔ステップS61〕認可サーバ10は、属性情報およびフィルタ情報を受信する。
〔ステップS62〕認可サーバ10は、属性情報またはフィルタ情報に判定指標となるフラグが付加されているか否かを確認する。属性情報にフラグが付加されている場合はステップS63へ処理が進み、フィルタ情報にフラグが付加されている場合はステップS64へ処理が進む。
〔ステップS63〕認可サーバ10は、同意確認処理を先に行ってフィルタ処理を後に行う。
〔ステップS64〕認可サーバ10は、フィルタ処理を先に行って同意確認処理を後に行う。
〔ステップS64〕認可サーバ10は、フィルタ処理を先に行って同意確認処理を後に行う。
例えば、30代の属性情報と2月1日のフィルタ情報を満たす個人データが要求された際に、30代の属性情報にフラグが設定されている場合、認可サーバ10は、同意確認処理を先に行いフィルタ処理を後に行う。また、2月1日のフィルタ情報にフラグが設定されている場合、認可サーバ10は、フィルタ処理を先に行い同意確認処理を後に行う。なお、フラグ設定は、例えば、過去の履歴にもとづいて、認可サーバ10、リソースサーバ20またはクライアントサーバ30(の運用管理者)のいずれかで適宜設定することができる。
このように、認可サーバ10は、属性情報またはフィルタ情報に設定されているフラグにもとづいて実行順序を決定する。これにより、同意確認処理とフィルタ処理との実行順序として、処理効率が高い方の実行順序を適切かつ容易に決定することが可能になる。
上記で説明した本発明のサーバ装置1および認可サーバ10の処理機能は、コンピュータによって実現することができる。この場合、サーバ装置1および認可サーバ10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
プログラムを流通させる場合、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 サーバ装置
1a 制御部
1b 記憶部
2 リソース装置
3 クライアント装置
D1、・・・、D4、d11、・・・、d14、d21、・・・、d24、d31、・・・、d34、d41、・・・、d44、 個人データ
A、B、C、D 条件
1a 制御部
1b 記憶部
2 リソース装置
3 クライアント装置
D1、・・・、D4、d11、・・・、d14、d21、・・・、d24、d31、・・・、d34、d41、・・・、d44、 個人データ
A、B、C、D 条件
Claims (8)
- コンピュータに、
ユーザの個人データが含まれるデータ群のうちから前記個人データのクライアントによる利用要求を受けて、前記クライアントが要求する属性を有する前記個人データの利用許可の同意を確認する同意確認処理と、前記データ群のうちから前記クライアントが要求する条件または前記属性を満たす前記個人データを抽出するフィルタ処理とを行う場合、判定指標にもとづいて前記同意確認処理と前記フィルタ処理との実行順序を決定する、
処理を実行させるプログラム。 - 前記処理は、
前記同意確認処理が前記フィルタ処理よりも先に行われた場合に前記同意確認処理によって前記個人データが前記データ群のうちから絞り込まれるときの絞り込み処理の効率値を含み、前記属性と前記属性を有する前記個人データの数とに関連付けて前記効率値が設定されている辞書テーブルを生成し、
前記クライアントから要求された前記属性と、前記属性を有する前記個人データの数とで前記辞書テーブルを検索して前記効率値を取得し、
取得した前記効率値を前記判定指標とし、前記効率値と閾値とを比較して、前記効率値が前記閾値未満の場合に前記フィルタ処理を先に行って前記同意確認処理を後に行い、前記効率値が前記閾値以上の場合に前記同意確認処理を先に行って前記フィルタ処理を後に行う、
請求項1記載のプログラム。 - 前記処理は、前記属性または前記条件を含む要求情報と、前記要求情報に関連付けた前記実行順序とを対応させた辞書テーブルを生成し、前記要求情報を前記判定指標にして前記辞書テーブルから前記実行順序を検出する請求項1記載のプログラム。
- 前記処理は、
前記クライアントが要求する前記属性を有する前記個人データを前記データ群から抽出し、
抽出した前記個人データの数を前記判定指標とし、抽出した前記個人データの数と閾値とを比較して、抽出した前記個人データの数が閾値未満の場合に前記同意確認処理を先に行って前記フィルタ処理を後に行い、抽出した前記個人データの数が前記閾値以上の場合に前記フィルタ処理を先に行って前記同意確認処理を後に行う、
請求項1記載のプログラム。 - 前記処理は、
前記属性または前記条件に設定されているフラグを前記判定指標とし、前記属性に前記フラグが設定されている場合に前記同意確認処理を先に行って前記フィルタ処理を後に行い、前記条件に前記フラグが設定されている場合に前記フィルタ処理を先に行って前記同意確認処理を後に行う、
請求項1記載のプログラム。 - 前記処理は、前記データ群を保持している装置との間で前記条件を授受し、前記フィルタ処理を前記装置と分担して実行する請求項1記載のプログラム。
- ユーザの個人データが含まれるデータ群のうちから前記個人データのクライアントによる利用要求にもとづいて、前記クライアントが要求する属性と、前記クライアントが要求する条件と、判定指標とを保持する記憶部と、
前記属性を有する前記個人データの利用許可の同意を確認する同意確認処理と、前記データ群のうちから前記条件または前記属性を満たす前記個人データを抽出するフィルタ処理とを行う場合、前記判定指標にもとづいて前記同意確認処理と前記フィルタ処理との実行順序を決定する制御部と、
を有するサーバ装置。 - コンピュータが、
ユーザの個人データが含まれるデータ群のうちから前記個人データのクライアントによる利用要求を受けて、前記クライアントが要求する属性を有する前記個人データの利用許可の同意を確認する同意確認処理と、前記データ群のうちから前記クライアントが要求する条件または前記属性を満たす前記個人データを抽出するフィルタ処理とを行う場合、判定指標にもとづいて前記同意確認処理と前記フィルタ処理との実行順序を決定する、
実行順序決定方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019090954A JP2020187497A (ja) | 2019-05-13 | 2019-05-13 | プログラム、サーバ装置および実行順序決定方法 |
EP20170344.4A EP3739488A1 (en) | 2019-05-13 | 2020-04-20 | Program, server device, and information processing method |
US16/857,228 US20200364367A1 (en) | 2019-05-13 | 2020-04-24 | Storage medium, server device, and information processing method |
CN202010384495.8A CN111931224A (zh) | 2019-05-13 | 2020-05-08 | 存储介质、服务器装置和信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019090954A JP2020187497A (ja) | 2019-05-13 | 2019-05-13 | プログラム、サーバ装置および実行順序決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020187497A true JP2020187497A (ja) | 2020-11-19 |
Family
ID=70333863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019090954A Pending JP2020187497A (ja) | 2019-05-13 | 2019-05-13 | プログラム、サーバ装置および実行順序決定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200364367A1 (ja) |
EP (1) | EP3739488A1 (ja) |
JP (1) | JP2020187497A (ja) |
CN (1) | CN111931224A (ja) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002324068A (ja) | 2001-04-24 | 2002-11-08 | Yutaka Nishimura | 個人情報提供システム及び方法並びに個人情報提供用プログラム及びプログラムを記録した記録媒体。 |
WO2007044970A2 (en) * | 2005-10-12 | 2007-04-19 | Business Objects, S.A. | Apparatus and method for generating reports with masked confidential data |
US20070165260A1 (en) * | 2006-01-17 | 2007-07-19 | Microsoft Corporation | Print Driver Pipeline Filter Conformance Validation |
CN101632079A (zh) | 2007-03-02 | 2010-01-20 | 日本电气株式会社 | 信息公开控制系统、信息公开控制程序及信息公开控制方法 |
US20100332507A1 (en) * | 2009-06-30 | 2010-12-30 | Nokia Corporation | Method and apparatus for content filtering |
US20160357916A1 (en) * | 2010-09-29 | 2016-12-08 | Humana Inc. | System and method for managing patient consent |
US9292706B2 (en) * | 2014-08-22 | 2016-03-22 | Fujitsu Limited | Customer data management for data analytics outsourcing |
US11392720B2 (en) * | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11222142B2 (en) * | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US10847256B2 (en) * | 2016-08-13 | 2020-11-24 | Ranjit Notani | System and computer program for healthcare information management in a multi-party healthcare network |
US11587650B2 (en) * | 2017-09-29 | 2023-02-21 | Apple Inc. | Techniques for managing access of user devices to third-party resources |
-
2019
- 2019-05-13 JP JP2019090954A patent/JP2020187497A/ja active Pending
-
2020
- 2020-04-20 EP EP20170344.4A patent/EP3739488A1/en not_active Withdrawn
- 2020-04-24 US US16/857,228 patent/US20200364367A1/en not_active Abandoned
- 2020-05-08 CN CN202010384495.8A patent/CN111931224A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20200364367A1 (en) | 2020-11-19 |
EP3739488A1 (en) | 2020-11-18 |
CN111931224A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111434084B (zh) | 来自实体的访问信息的许可 | |
US8918856B2 (en) | Trusted intermediary for network layer claims-enabled access control | |
CN1914881B (zh) | 用于在网格计算系统中授权卸载网格作业的方法和系统 | |
US9344432B2 (en) | Network layer claims based access control | |
RU2628902C2 (ru) | Механизм координации для выбора облака | |
CN100450033C (zh) | 访问网络上计算机资源的管理方法和系统 | |
US20070271393A1 (en) | System and Methods for Domain Name Acquisition and Management | |
EP1026603A2 (en) | Apparatus and method for depersonalizing information | |
JP2009503737A (ja) | 階層的ライセンスサーバのための方法及びシステム | |
CN103729250A (zh) | 用于选择被配置为满足一组要求的数据节点的方法和系统 | |
JP2014501010A (ja) | サーバ側の処理能力を拡張するための方法及び装置 | |
US9582776B2 (en) | Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions | |
KR102376254B1 (ko) | 분산 식별자 관리 방법 및 장치 | |
US10108923B2 (en) | Method and system for inventory data sharing between airlines | |
JP2020187497A (ja) | プログラム、サーバ装置および実行順序決定方法 | |
JP2007299328A (ja) | 計算処理方法および計算処理システム | |
KR101103611B1 (ko) | 데이터의 원격 중개 및 분산 제어 시스템 | |
JP2020149645A (ja) | 情報連携システムおよび情報管理方法 | |
JP4228322B1 (ja) | 携帯端末装置,ファイル管理プログラムおよびファイル管理システム | |
US20130152181A1 (en) | Portal based case status management | |
KR100881552B1 (ko) | 컴퓨터 라이프사이클 관리 방법 | |
JP5264364B2 (ja) | サーバシステム、インターネット接続管理方法及びインターネット接続管理プログラム | |
US20240127332A1 (en) | Secure Decentralized System and Method | |
Shi et al. | A secure platform for information sharing in epcglobal network | |
JP2020071791A (ja) | 通信方法、通信プログラムおよび通信装置 |