(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052256
(43)【公開日】2024-04-11
(54)【発明の名称】データ管理プログラム、データ管理方法及びデータ管理装置
(51)【国際特許分類】
G06F 21/62 20130101AFI20240404BHJP
G06F 16/903 20190101ALI20240404BHJP
【FI】
G06F21/62 345
G06F16/903
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022158846
(22)【出願日】2022-09-30
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】井口 泰隆
(72)【発明者】
【氏名】中山 貴祥
(72)【発明者】
【氏名】高 健二
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175BA01
5B175DA10
(57)【要約】
【課題】データオーナによる同意の撤回時における連携済みのデータの削除を実現することを課題とする。
【解決手段】データ管理プログラムは、複数のデータ管理プログラムのうち複数のデータ管理プログラムの間におけるデータ共有について、データ共有の同意撤回のリクエストをデータオーナから受け付けた他のデータ管理プログラムから、データ共有が同意されたデータの集合に共通して発行される同意識別情報であってデータ共有の同意撤回時にデータオーナから指定される同意識別情報を受け付け、データ管理プログラムが管理するデータ本体に関連付けられた同意識別情報のうち他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に対応するデータの削除を実行する、処理をデータ管理装置に実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
データ管理プログラムであって、
複数のデータ管理プログラムのうち前記複数のデータ管理プログラムの間におけるデータ共有について、前記データ共有の同意撤回のリクエストをデータオーナから受け付けた他のデータ管理プログラムから、前記データ共有が同意されたデータの集合に共通して発行される同意識別情報であって前記データ共有の同意撤回時に前記データオーナから指定される同意識別情報を受け付け、
前記データ管理プログラムが管理するデータ本体に関連付けられた同意識別情報のうち前記他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に対応するデータの削除を実行する、
処理をデータ管理装置に実行させるデータ管理プログラム。
【請求項2】
前記同意識別情報には、前記データ共有時の共有元のデータ管理装置の識別情報が関連付けられ、
前記他のデータ管理プログラムが実行されるデータ管理装置の識別情報と、前記他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に関連付けられた前記識別情報とを照合する処理を前記データ管理装置にさらに実行させる、
ことを特徴とする請求項1に記載のデータ管理プログラム。
【請求項3】
前記データ本体は、パーソナルデータである、
ことを特徴とする請求項1に記載のデータ管理プログラム。
【請求項4】
データ管理プログラムがデータ管理装置に実行させるデータ管理方法であって、
複数のデータ管理プログラムのうち前記複数のデータ管理プログラムの間におけるデータ共有について、前記データ共有の同意撤回のリクエストをデータオーナから受け付けた他のデータ管理プログラムから、前記データ共有が同意されたデータの集合に共通して発行される同意識別情報であって前記データ共有の同意撤回時に前記データオーナから指定される同意識別情報を受け付け、
前記データ管理プログラムが管理するデータ本体に関連付けられた同意識別情報のうち前記他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に対応するデータの削除を実行する、
処理を前記データ管理装置が実行するデータ管理方法。
【請求項5】
データ管理プログラムが実行されるデータ管理装置であって、
複数のデータ管理プログラムのうち前記複数のデータ管理プログラムの間におけるデータ共有について、前記データ共有の同意撤回のリクエストをデータオーナから受け付けた他のデータ管理プログラムから、前記データ共有が同意されたデータの集合に共通して発行される同意識別情報であって前記データ共有の同意撤回時に前記データオーナから指定される同意識別情報を受け付け、
前記データ管理プログラムが管理するデータ本体に関連付けられた同意識別情報のうち前記他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に対応するデータの削除を実行する、
処理を実行する制御部を含むデータ管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理プログラム、データ管理方法及びデータ管理装置に関する。
【背景技術】
【0002】
施策立案や新たなサービス、ビジネスの創出の側面から、国、地方公共団体、民間企業などの産官学の組織により分散して保有されるデータを連携させるデータ連携基盤の普及が促進されている。
【0003】
あくまで一例として、異なる組織の間で個人のパーソナルデータなどのデータの連携が実行される場合、データオーナである個人本人の同意の下で連携元のデータ管理者および連携先のデータ利用者によりデータが共有される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-75328号公報
【特許文献2】特表2022-530829号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のデータ連携基盤では、データオーナによる同意の撤回時に連携済みのデータを削除することが困難である側面がある。あくまで1つの事例として、データオーナXに関するデータがデータ管理者Aおよびデータ管理者Cを介してデータ利用者Bに共有される状況下で、データ管理者Aに対するデータ連携の同意がデータオーナXにより撤回される例を挙げる。この場合、連携先のデータ利用者Bでは、データオーナXに関するデータのうちいずれのデータがデータ管理者Aから共有されたデータであるのかを特定できない。このため、データ管理者Aから共有された全てのデータを削除できなかったり、あるいはデータ管理者Aでなく、データ管理者Cから共有されたデータを削除してしまったりといった事態も発生し得る。
【0006】
1つの側面では、本発明は、データオーナによる同意の撤回時における連携済みのデータの削除を実現できるデータ管理プログラム、データ管理方法及びデータ管理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの側面にかかるデータ管理プログラムは、複数のデータ管理プログラムのうち前記複数のデータ管理プログラムの間におけるデータ共有について、前記データ共有の同意撤回のリクエストをデータオーナから受け付けた他のデータ管理プログラムから、前記データ共有が同意されたデータの集合に共通して発行される同意識別情報であって前記データ共有の同意撤回時に前記データオーナから指定される同意識別情報を受け付け、前記データ管理プログラムが管理するデータ本体に関連付けられた同意識別情報のうち前記他のデータ管理プログラムが受け付けた同意識別情報と一致する同意識別情報に対応するデータの削除を実行する、処理をデータ管理装置に実行させる。
【発明の効果】
【0008】
データオーナによる同意の撤回時における連携済みのデータの削除を実現できる。
【図面の簡単な説明】
【0009】
【
図2】
図2は、データ連携の一例を示す模式図である。
【
図3】
図3は、課題の一側面を示す模式図(1)である。
【
図4】
図4は、課題の一側面を示す模式図(2)である。
【
図5】
図5は、課題解決アプローチの一側面を示す模式図である。
【
図6】
図6は、データ連携装置の機能構成例を示すブロック図である。
【
図7】
図7は、削除依頼時の動作の一例を示す模式図である。
【
図8】
図8は、削除実行時の動作の一例を示す模式図である。
【
図9】
図9は、データ共有処理の手順を示すシーケンス図である。
【
図10】
図10は、データ削除処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本願に係るデータ管理プログラム、データ管理方法及びデータ管理装置の実施例について説明する。各実施例には、あくまで1つの例や側面を示すに過ぎず、このような例示により数値や機能の範囲、利用シーンなどは限定されない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例0011】
<システム構成>
図1は、システム構成例を示す図である。
図1に示すように、システム1には、データ連携装置10と、フロントエンド20と、プラットフォーム30A~30Mと、データオーナ端末50A~50Nとが含まれ得る。以下、プラットフォーム30A~30Mのことを指して「プラットフォーム30」と記載すると共に、データオーナ端末50A~50Nのことを指して「データオーナ端末50」と記載する場合がある。
【0012】
データ連携装置10は、国、地方公共団体、民間企業などの産官学の各種の組織により分散して保有されるデータを連携させるデータ連携基盤を提供する装置である。フロントエンド20は、データ連携基盤に関するユーザインタフェイスを提供する。
【0013】
これらデータ連携装置10およびフロントエンド20は、PaaS(Platform as a Service)型、あるいはSaaS(Software as a Service)型のアプリケーションとして実現することで、各機能をクラウドサービスとして提供することができる。この他、データ連携装置10およびフロントエンド20は、各機能をオンプレミスに提供するサーバとして実現することもできる。なお、
図1には、あくまで一例として、バックエンドに対応するデータ連携装置10およびフロントエンド20によりWebシステムが実現される例を挙げるが、これら両者が統合されたWebシステムとして実現されてもよい。
【0014】
このようなフロントエンド20と、プラットフォーム30およびデータオーナ端末50との間は、ネットワークNWを介して通信可能に接続され得る。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。
【0015】
プラットフォーム30は、上記のデータ連携基盤を介するデータ連携に参加する組織により提供されるソリューションやサービス、アプリケーションなどが動作する基盤、例えば装置やシステムなどである。
【0016】
このようなプラットフォーム30により管理されるデータの1つとして、パーソナルデータが含まれ得る。ここで言う「パーソナルデータ」とは、個人の属性情報、移動・行動・購買履歴、あるいはウェアラブル機器から収集した情報の全般を指す。例えば、パーソナルデータには、特定の個人を識別可能な情報、いわゆる個人情報を始め、個人情報のうちデータベース化された個人情報、いわゆる個人データなどが含まれてよい。
【0017】
データオーナ端末50は、データオーナにより使用される端末装置である。ここで言う「データオーナ」は、あくまで一例として、パーソナルデータに対応する個人を指してよい。例えば、データオーナ端末50は、パーソナルコンピュータや携帯端末装置、ウェアラブル端末などの任意の情報処理装置により実現されてよい。
【0018】
<データ連携基盤>
データ連携基盤は、プラットフォーム30A~30Mの各々により管理されるデータがプラットフォーム30A~30Mの各々に対応する組織ごとに分散して管理される。
【0019】
より詳細には、データ連携基盤では、プラットフォーム30A~30Mの各々に対応する組織ごとに当該組織に対応するエージェントが動作する。このようなエージェントは、データ管理プログラムの一例に対応し、その動作環境は、仮想化技術により実現され得るVM(Virtual Machine)やコンテナ、あるいはサーバ装置などの物理マシンであってよい。このデータ管理プログラムが動作するVMやコンテナ、あるいは物理マシンなどのコンピュータは、データ管理装置の一例に対応する。
【0020】
エージェントは、当該エージェント自身が管理するデータの操作、例えば登録、更新または共有などに関するAPI(Application Programming Interface)リクエストをフロントエンド20を介して受け付けることができる。
【0021】
例えば、エージェントは、フロントエンド20からデータ登録のAPIリクエストを受け付けた場合、当該APIリクエストで指定されたデータ、例えばプラットフォーム30で管理されるパーソナルデータなどをデータベースなどに登録する。このように登録されたデータは、データ更新のAPIリクエストを受け付けることにより更新できる。
【0022】
この他、エージェントは、フロントエンド20からデータ共有のAPIリクエストを受け付けた場合、当該APIリクエストで指定される連携先に対応するエージェントに当該APIリクエストで指定されたデータを送信する。このように送信されたデータが連携先のエージェントのデータベースに登録されることにより、組織間でデータが共有される。
【0023】
以下、組織のうちデータの連携元(共有元)のことを指して「データ管理者」と記載する一方で、データの連携先(共有先)のことを指して「データ利用者」と記載する場合がある。
【0024】
図2は、データ連携の一例を示す模式図である。
図2には、あくまで一例として、データ管理者Aのエージェント11Aおよびデータ管理者Cのエージェント11Cが管理するデータオーナXのデータがデータ利用者Bのエージェント11Bへ共有される例を挙げる。
【0025】
図2に示すように、フロントエンド20Aは、データ管理者Aの担当者からデータ管理者端末31Aを介してデータオーナXのデータをデータ利用者Bへ共有するデータ共有操作を受け付ける(11)。すると、フロントエンド20Aからデータ管理者Aのエージェント11Aへデータ共有のAPIリクエストが発行される(12)。
【0026】
このようなデータ共有のAPIリクエストの発行に応答して、フロントエンド20Xは、データオーナ端末50Xを介して、データ管理者Aが管理するデータオーナXのデータをデータ利用者Bへ共有するデータ共有に同意する操作を受け付ける(13)。すると、フロントエンド20Xからデータ管理者Aのエージェント11Aへデータ共有の同意が通知される(14)。
【0027】
このようにデータ共有の同意が得られた場合、データ管理者Aのエージェント11Aは、エージェント11Aが有するデータベース12Aに記憶されたデータのうちデータオーナXのデータをデータ利用者Bのエージェント11Bへ送信する(15)。
【0028】
そして、データ利用者Bのエージェント11Bは、データ管理者Aのエージェント11Aにより送信されたデータオーナXのデータをデータベース12Bへ登録する(16)。
【0029】
例えば、データベース12Aには、番号、名前および利用時間が対応付けられたデータの集合が記憶される。ここで言う「番号」は、データを識別する番号を指す。「名前」は、データ管理者Aのプラットフォーム30Aにより提供されるサービス等にアカウント登録されたユーザ名を指す。「利用時間」は、データ管理者Aのプラットフォーム30Aにより提供されるサービス等の利用時間を指す。このようなデータは、パーソナルデータのあくまで一例に過ぎず、パーソナルデータに関する他の項目に対応するカラムが含まれてもよい。
【0030】
ここで、
図2には、データベース12Aに記憶されたデータのうちデータオーナXに関するデータが抜粋して示されている。
図2に示す例で言えば、データベース12Aに記憶されたデータオーナXのデータ、すなわち塗りつぶしが白地で示された2行のレコードデータがエージェント11Bへ送信された後にデータベース12Bへ登録される。
【0031】
また、フロントエンド20Cは、データ管理者Cの担当者からデータ管理者端末31Cを介してデータオーナXのデータをデータ利用者Bへ共有するデータ共有操作を受け付ける(21)。すると、フロントエンド20Cからデータ管理者Cのエージェント11Cへデータ共有のAPIリクエストが発行される(22)。
【0032】
このようなデータ共有のAPIリクエストの発行に応答して、フロントエンド20Xは、データオーナ端末50Xを介して、データ管理者Cが管理するデータオーナXのデータをデータ利用者Bへ共有するデータ共有に同意する操作を受け付ける(23)。すると、フロントエンド20Xからデータ管理者Cのエージェント11Cへデータ共有の同意が通知される(24)。
【0033】
このようにデータ共有の同意が得られた場合、データ管理者Cのエージェント11Cは、エージェント11Cが有するデータベース12Cに記憶されたデータのうちデータオーナXのデータをデータ利用者Bのエージェント11Bへ送信する(25)。
【0034】
そして、データ利用者Bのエージェント11Bは、データ管理者Cのエージェント11Cにより送信されたデータオーナXのデータをデータベース12Bへ登録する(26)。
【0035】
例えば、
図2には、データベース12Cに記憶されたデータのうちデータオーナXに関するデータが抜粋して示されている。
図2に示す例で言えば、データベース12Cに記憶されたデータオーナXのデータ、すなわち塗りつぶしがハッチングで示された1行のレコードデータがエージェント11Bへ送信された後にデータベース12Bへ登録される。
【0036】
以上のように、(11)~(16)の処理の結果、エージェント11Aおよびエージェント11Bの間におけるデータオーナXのデータ共有、換言すればデータ管理者Aおよびデータ利用者Bの間のデータ連携が実現される。さらに、(21)~(26)の処理の結果、エージェント11Cおよびエージェント11Bの間におけるデータオーナXのデータ共有、換言すればデータ管理者Cおよびデータ利用者Bの間のデータ連携が実現される。
【0037】
これにより、データ利用者Bのプラットフォーム30Bは、データ連携基盤上のエージェント11Bのデータベース12Bを参照することで、プラットフォーム30Bにより提供されるサービス等にデータオーナXのデータを利活用できる。例えば、プラットフォーム30Bは、プラットフォーム30Aやプラットフォーム30Cにより提供されるサービス等の利用時間に対応する商品やサービスのレコメンドをデータオーナ端末50Xに通知できる。
【0038】
<課題の一側面>
1つの側面として、上記の背景技術の欄で説明した従来技術に係るデータ連携基盤では、データオーナによる同意の撤回時に連携済みのデータを削除することが困難である一面がある。
【0039】
図3は、課題の一側面を示す模式図(1)である。
図3には、あくまで一例として、
図2に示すデータ共有の状況下で、データ管理者Aのエージェント11Aがフロントエンド20Xを介してデータオーナXのデータ連携の同意を撤回するAPIリクエストを受け付ける例を挙げる。この場合、
図3に示すように、データオーナXのデータの削除依頼がデータ管理者Aのエージェント11Aからデータ利用者Bのエージェント11Bへ通知される。
【0040】
しかしながら、データ利用者Bのエージェント11Bでは、データベース12Bに記憶された番号「101」~「103」の3つのレコードデータのうちいずれのデータがデータ管理者Aから共有されたデータであるのかを特定できない。
【0041】
このため、データ利用者Bのエージェント11Bは、データ管理者Aから共有された全てのデータを削除できなかったり、あるいはデータ管理者Aでなく、データ管理者Cから共有されたデータを削除してしまったりといった事態も発生し得る。
【0042】
他の側面として、上記の背景技術の欄で説明した従来技術に係るデータ連携基盤では、データオーナによる同意の撤回時にデータ管理者が削除する権限を有さない不正な削除依頼をリジェクトできない一面もある。
【0043】
図4は、課題の一側面を示す模式図(2)である。
図4には、あくまで一例として、
図2に示すデータ共有の状況下で、データオーナXのデータを削除する削除依頼がデータ管理者Cのエージェント11Cからデータ利用者Bのエージェント11Bへ通知される場合の例を挙げる。この場合、データ利用者Bのエージェント11Bは、
図4に示すように、データベース12Bに記憶された番号「101」~「103」の3つのレコードデータの全てを削除対象とすることになる。
【0044】
ところが、番号「101」~「103」の3つのレコードデータのうちデータ利用者Bのエージェント11Bがデータ管理者Cのエージェント11Cから共有されたのは、
図2を用いて説明した通り、番号「103」のレコードデータのみである。
【0045】
つまり、データ管理者Cが削除する正当な権限を有するのは、データ管理者Cのエージェント11Cがデータ利用者Bのエージェント11Bへ共有した番号「103」のレコードデータだけである。
【0046】
翻して言えば、データ管理者Cは、データ利用者Bのエージェント11Bがデータ管理者Aのエージェント11Aから共有された番号「101」および「102」の2つのレコードデータを削除する権限は有さない。
【0047】
このため、
図4に示すデータ管理者Cのエージェント11Cが行う削除依頼は、データ管理者Cが有する削除権限を超える削除依頼であるので、不正な削除依頼としてデータ利用者Bのエージェント11Bによりリジェクトされねばならない。
【0048】
しかしながら、データ利用者Bのエージェント11Bは、データベース12Bに含まれるレコードデータのうち、データ管理者Cのエージェント11Cが削除権限を有するレコードと、削除権限を有しないレコードとを区別できない。したがって、データ利用者Bのエージェント11Bは、データ管理者Cが削除権限を有さない不正な削除依頼をリジェクトできない。
【0049】
<課題解決アプローチの一側面>
そこで、本実施例に係るデータ連携基盤では、エージェントにより管理されるデータに管理情報が付与される。このような管理情報の1つとして、データ共有時にデータオーナからデータ共有の同意操作が受け付けられたデータの集合に共通して発行される同意ID(IDentification)が挙げられる。
【0050】
このような同意IDがエージェントにより管理されるデータに付与されることで、データ利用者のエージェントは、データオーナによる同意の撤回操作時に指定を受け付けた同意IDと一致する同意IDが付与されたデータを削除対象として特定できる。
【0051】
上記の管理情報には、同意IDの他、データオーナ名やデータ共有時の共有元(送信元)および共有先(送信先)のエージェント名などが含まれてよい。ここで言う「データオーナ名」は、データオーナ作成時にフロントエンドにより登録される一意の値を指す。また、「エージェント名」は、データ連携基盤にエージェントを作成する際に登録される一意の値を指す。
【0052】
例えば、データオーナ名がエージェントにより管理されるデータに付与されることで、データ管理者のエージェントは、同意の撤回操作を行うデータオーナ名と、同意の撤回操作時に指定を受け付けた同意IDに対応するデータオーナ名とを照合できる。これにより、同意の撤回操作を行うデータオーナが削除権限を有する正当なデータオーナであるか否かを判定できる。また、データ共有時の送信先がエージェントにより管理されるデータに付与されることで、データ管理者のエージェントは、データの削除依頼を送信する送信先を同意の撤回操作時に指定を受け付けた同意IDに対応するデータの送信先に絞り込むことができる。さらに、データ共有時の送信元がエージェントにより管理されるデータに付与されることで、データ利用者のエージェントは、同意の撤回のAPIリクエストに応答してデータの削除依頼を送信する送信元のエージェント名と、同意の撤回操作時に指定を受け付けた同意IDに関連付けられた送信元のエージェント名とを照合できる。これにより、同意の撤回のAPIリクエストに応答してデータの削除依頼を送信する送信元のデータ管理者が削除権限を有する正当なデータ管理者であるか否かを判定できる。
【0053】
図5は、課題解決アプローチの一側面を示す模式図である。
図5には、
図2に示すデータベース12A及び12Bに同意IDが付与された状況下で、データ管理者Aのエージェント11Aがフロントエンド20Xを介して同意ID「001」のデータ連携の同意を撤回するAPIリクエストを受け付ける例を挙げる。この場合、
図5に示すように、同意ID「001」に関するデータの削除依頼がデータ管理者Aのエージェント11Aからデータ利用者Bのエージェント11Bを含む他のエージェント11へブロードキャストされる。このとき、データベース12Aに含まれるレコードのうち同意ID「001」に関連付けられた送信先「11B」を参照することにより、同意ID「001」に関するデータの削除依頼の送信先をデータ利用者Bのエージェント11Bに絞り込むこともできる。これにより、同意ID「001」に関するデータの削除依頼をデータ利用者Bのエージェント11Bへユニキャストできる。
【0054】
このようなデータの削除依頼を受け付けたデータ利用者Bのエージェント11Bは、データオーナによる同意の撤回操作時に指定を受け付けた同意ID「001」と一致する同意IDが付与されたデータを削除対象として特定できる。例えば、
図5に示す例で言えば、データベース12Bに含まれるレコードのうち、同意ID「001」を有する1行目および2行目のレコード、すなわちNo「101」および「102」のレコードを削除対象として特定できる。
【0055】
したがって、本実施例に係るデータ連携基盤によれば、データオーナによる同意の撤回時における連携済みのデータの削除を実現できる。
【0056】
<データ連携装置の構成>
図6は、データ連携装置10の機能構成例を示すブロック図である。
図6には、データ連携装置10が有するエージェント11のうち、データ管理者Aのエージェント11Aの機能に対応するブロックと、データ利用者Bのエージェント11Bの機能に対応するブロックとが抜粋して模式化されている。なお、
図6には、あくまで1つの側面が示されるに過ぎず、データ連携装置10がエージェント11A及び11B以外の他のエージェントを含むことを妨げない。また、エージェント11Aがデータ利用者としての機能を有することを妨げず、さらに、エージェント11Bがデータ管理者としての機能を有することを妨げない。
【0057】
図6に示すように、データ連携装置10は、エージェント実行部11aと、エージェント実行部11bとを有する。以下、エージェント実行部11aのことを「AGT実行部11a」と略記すると共に、エージェント実行部11bのことを「AGT実行部11b」と略記する場合がある。
【0058】
AGT実行部11aは、データ管理者Aのエージェント11Aを実行する処理部である。このようなエージェント11Aの動作環境は、あくまで一例として、仮想化技術により実現されるVMやコンテナなどであってもよいし、あるいはサーバ装置などの物理マシンであってもよい。
【0059】
図6に示すように、AGT実行部11aは、データベース12Aと、第1の登録部13Aと、発行部14Aと、第2の登録部15Aと、データ送信部16Aと、削除依頼部17Aとを有する。
【0060】
第1の登録部13Aは、データ本体をデータベース12Aに登録する処理部である。あくまで一例として、第1の登録部13Aは、データ管理者端末31Aからフロントエンド20Aを介してデータ登録のAPIリクエストを受け付けた場合、当該APIリクエストで指定されたデータ、例えばプラットフォーム30Aで管理されるパーソナルデータなどをデータベース12Aに登録する。このように登録されたデータは、データ更新のAPIリクエストを受け付けることにより更新することもできる。
【0061】
発行部14Aは、データ共有時にデータオーナからデータ共有の同意操作が受け付けられたデータの集合の間で共通する同意IDを発行する処理部である。あくまで一例として、発行部14Aは、データ管理者端末31Aからフロントエンド20Aを介してデータオーナXのデータをデータ利用者Bへ共有するデータ共有のAPIリクエストを受け付けた場合、新規の同意IDを発行する。このような新規の同意IDのあくまで一例として、それまでに採番済みである同意IDと一意に識別可能な識別情報が採番される。その上で、発行部14Aは、データ管理者Aが管理するデータオーナXのデータをデータ利用者Bへ共有する同意を依頼する同意依頼をフロントエンド20Xを介してデータオーナ端末50Xへ送信する。例えば、フロントエンド20Xは、データ共有への同意の可否を指定可能なGUI(Graphical User Interface)部品を含む同意依頼ウィンドウの表示用データをデータオーナ端末50Xに提供できる。このような表示用データには、データ利用者Bへ共有されるデータの詳細、例えばデータオーナXに関するレコードの一覧および新規の同意IDなどが含まれてよい。
【0062】
第2の登録部15Aは、データ本体に付与される管理情報をデータベース12Aに登録する処理部である。1つの側面として、第2の登録部15Aは、第1の登録部13Aによりデータ本体がデータベース12Aに登録される場合、次のような処理を起動する。すなわち、第2の登録部15Aは、データベース12Aに含まれるレコードのうち当該データ本体が登録されるレコードのデータオーナ名のカラムに当該データ本体のデータオーナ名を登録する。
【0063】
他の側面として、第2の登録部15Aは、データオーナ端末50Xからデータ共有の同意依頼に対する回答として同意が得られた場合、次のような処理を起動する。すなわち、第2の登録部15Aは、データベース12Aに含まれるレコードのうちデータオーナXのレコードの同意IDのカラムに発行部14Aにより発行された新規の同意IDを登録する。さらに、第2の登録部15Aは、データオーナXのレコードの送信元のカラムにデータ共有のAPIリクエストで指定されたデータ管理者を登録する。さらに、第2の登録部15Aは、データオーナXのレコードの送信先のカラムにデータ共有のAPIリクエストで指定されたデータ利用者を登録する。
【0064】
データ送信部16Aは、データオーナ端末50Xからデータ共有の同意依頼に対する回答として同意が得られた場合、データオーナXのデータをデータ共有のAPIリクエストで指定されたデータ利用者Bのエージェント11Bへ送信する処理部である。このようにデータオーナXのデータが送信されたAGT実行部11bでは、データ送信部16Aにより送信されたデータオーナXのデータがデータベース12Bへ登録される。なお、データオーナ端末50Xからデータ共有の同意依頼に対する回答として不同意が得られた場合、第2の登録部15Aによる同意ID、送信元および送信先の登録は実行されず、また、データ送信部16Aによるデータの送信も実行されない。
【0065】
削除依頼部17Aは、データオーナ端末50Xからフロントエンド20Xを介してデータ連携の同意を撤回するAPIリクエストを受け付けた場合、当該同意の撤回のAPIリクエストで指定された同意IDを含むデータの削除依頼を送信する処理部である。
【0066】
図7は、削除依頼時の動作の一例を示す模式図である。
図7には、
図5に示すデータ共有と同様の状況下で、フロントエンド20Xがデータオーナ端末50Xからデータ連携の同意を撤回する意思表示の入力、例えば撤回の対象とする同意ID「001」およびデータ管理者「A」などを指定する同意撤回操作を受け付ける場合が例示されている。
【0067】
この場合、フロントエンド20Xは、
図7に示すように、同意撤回操作で指定された同意IDおよび同意撤回操作を行うデータオーナのデータオーナ名を含む同意撤回のAPIリクエストをデータ管理者Aのエージェント11Aへ送信する。
【0068】
このAPIリクエストを受け付けたエージェント11Aは、データベース12Aに含まれるレコードのうち当該APIリクエストで指定された同意ID「001」を含むレコードを検索することにより、データ共有先における削除対象のレコードを特定する(1)。
【0069】
そして、エージェント11Aは、データ共有先における削除対象として特定されたレコードのデータオーナ名のカラムの値「X」と、同意撤回のAPIリクエストに含まれるデータオーナ名「X」とを照合することにより、データオーナの正当性を判定する(2)。この場合、両者の値が一致するので、同意の撤回操作を行うデータオーナが削除権限を有する正当なデータオーナであると検証できる。
【0070】
その後、エージェント11Aは、上記(1)の処理でデータ共有先における削除対象として特定されたレコードの送信先のカラムの値「11B」を参照することにより、同意ID「001」に関するデータの削除依頼の送信先をエージェント11Bに絞り込む。その上で、エージェント11Aは、同意ID「001」に関するデータの削除依頼をデータ利用者Bのエージェント11Bへユニキャストする(3)。
【0071】
これにより、エージェント11Aは、データの削除依頼の送信時にエージェント11A以外の他のエージェントへブロードキャストせずともよくなる。
【0072】
図6の説明に戻り、AGT実行部11bは、データ利用者Bのエージェント11Bを実行する処理部である。このようなエージェント11Bの動作環境も、仮想化技術により実現されるVMやコンテナなどであってもよいし、あるいはサーバ装置などの物理マシンであってもよい。AGT実行部11bは、
図6に示すように、データベース12B、削除実行部17Bを有する。
【0073】
削除実行部17Bは、エージェント11Aからデータの削除依頼を受け付けた場合、データベース12Bに含まれるレコードのうち当該削除依頼で指定された同意IDに対応するレコードの削除を実行する処理部である。
【0074】
図8は、削除実行時の動作の一例を示す模式図である。
図8には、
図5に示すデータ共有と同様の状況下で、データ利用者Bのエージェント11Bがデータ管理者Aのエージェント11Aから同意ID「001」に関するデータの削除依頼を受け付ける場合が例示されている。
【0075】
この場合、データ利用者Bのエージェント11Bは、データベース12Bに含まれるレコードのうち、同意ID「001」を有する1行目および2行目のレコード、すなわちNo「101」および「102」のレコードを削除対象として特定する(1)。
【0076】
そして、データ利用者Bのエージェント11Bは、同意ID「001」に関するデータの削除依頼の送信元となるエージェント名「11A」と、削除対象として特定されたレコードの送信元のカラムの値「11A」とを照合することにより、データ管理者の正当性を判定する(2)。この場合、両者のエージェント名が一致するので、同意の撤回のAPIリクエストに応答してデータの削除依頼を送信する送信元のデータ管理者が削除権限を有する正当なデータ管理者であると検証できる。
【0077】
その上で、データ利用者Bのエージェント11Bは、上記(1)の処理で削除対象として特定されたレコード、すなわち同意ID「001」を有する1行目および2行目のレコードを削除する(3)。このようにしてデータオーナによる同意の撤回時における連携済みのデータの削除が実現される。
【0078】
<処理の流れ>
次に、本実施例に係るデータ連携装置10が実行する処理の流れについて説明する。ここでは、(イ)データ共有処理について説明した後に(ロ)データ削除処理について説明することとする。
【0079】
(イ)データ共有処理
図9は、データ共有処理の手順を示すシーケンス図である。
図9に示すように、データ管理者端末31Aは、データ管理者Aの担当者からデータオーナXのデータをデータ利用者Bへ共有するデータ共有操作を受け付ける(ステップS101)。すると、フロントエンド20Aからデータ管理者Aのエージェント11Aへデータ共有のAPIリクエストが発行される(ステップS102)。
【0080】
このようにデータ共有のAPIリクエストを受け付けたエージェント11Aは、採番済みである同意IDと一意に識別可能な新規の同意IDを発行する(ステップS103)。その上で、エージェント11Aは、データ管理者Aが管理するデータオーナXのデータをデータ利用者Bへ共有する同意を依頼する同意依頼をフロントエンド20Xを介してデータオーナ端末50Xへ送信する(ステップS104)。
【0081】
続いて、データオーナ端末50Xでは、データ共有の同意依頼に対する回答のあくまで一例として、データ共有に同意する同意操作を受け付ける(ステップS105)。このように同意操作が受け付けられた場合、データオーナ端末50Xは、データ共有の同意回答をフロントエンド20Xを介してデータ管理者Aのエージェント11Aへ送信する(ステップS106)。
【0082】
このようにデータオーナ端末50Xからデータ共有の同意回答が得られた場合、データ管理者Aのエージェント11Aは、データベース12Aに含まれるレコードのうちデータオーナXのレコードに同意ID、送信元および送信先などの管理情報を登録する(ステップS107)。すなわち、同意IDのカラムには、ステップS103で発行された新規の同意IDが登録される。さらに、送信元のカラムには、データ共有のAPIリクエストで指定されたデータ管理者が登録される共に、送信先のカラムには、データ共有のAPIリクエストで指定されたデータ利用者が登録される。
【0083】
そして、データ管理者Aのエージェント11Aは、データオーナXのデータをデータ共有のAPIリクエストで指定されたデータ利用者Bのエージェント11Bへ送信する(ステップS108)。
【0084】
このようにデータオーナXのデータが送信されたデータ利用者Bのエージェント11Bは、ステップS108で送信されたデータオーナXのデータをデータベース12Bへ登録し(ステップS109)、処理を終了する。
【0085】
(ロ)データ削除処理
図10は、データ削除処理の手順を示すシーケンス図である。
図10に示すように、データオーナ端末50Xは、データ連携の同意を撤回する意思表示の入力、撤回の対象とする同意IDおよびデータ管理者などを指定する同意撤回操作を受け付ける(ステップS301)。すると、ステップS301で受け付けられた同意撤回操作の情報がデータオーナ端末50Xからフロントエンド20Xへ通知される(ステップS302)。
【0086】
そして、フロントエンド20Xは、同意撤回操作で指定された同意IDおよび同意撤回操作を行うデータオーナのデータオーナ名を含む同意撤回のAPIリクエストを同意撤回の対象とされるデータ管理者Aのエージェント11Aへ送信する(ステップS303)。
【0087】
このAPIリクエストを受け付けたエージェント11Aは、データベース12Aに含まれるレコードのうちAPIリクエストで指定された同意IDを含むレコードを検索することにより、データ共有先における削除対象のレコードを特定する(ステップS304)。
【0088】
そして、エージェント11Aは、データ共有先における削除対象として特定されたレコードのデータオーナ名のカラムの値と、同意撤回のAPIリクエストに含まれるデータオーナ名とを照合して、データオーナの正当性を判定する(ステップS305)。
【0089】
その後、エージェント11Aは、ステップS304でデータ共有先における削除対象として特定されたレコードの送信先のカラムの値を参照することにより、データの削除依頼の送信先をエージェント11Bに絞り込む(ステップS306)。その上で、エージェント11Aは、APIリクエストで指定された同意IDに関するデータの削除依頼をデータ利用者Bのエージェント11Bへユニキャストする(ステップS307)。
【0090】
このデータの削除依頼を受け付けたデータ利用者Bのエージェント11Bは、データベース12Bに含まれるレコードのうち、削除依頼で指定される同意IDを有するレコードを削除対象として特定する(ステップS308)。
【0091】
そして、データ利用者Bのエージェント11Bは、同意IDに関するデータの削除依頼の送信元となるエージェント名と、削除対象として特定されたレコードの送信元のカラムの値とを照合することにより、データ管理者の正当性を判定する(ステップS309)。
【0092】
その後、データ利用者Bのエージェント11Bは、ステップS307で削除対象として特定されたレコードを削除する(ステップS310)。その上で、データ利用者Bのエージェント11Bは、同意撤回操作に対応するデータの削除が完了した旨の削除完了通知をデータ管理者Aのエージェント11Aおよびデータオーナ端末50Xへ送信し(ステップS311およびステップS312)、処理を終了する。
【0093】
<効果の一側面>
上述してきたように、本実施例に係るデータ連携基盤では、データの削除依頼を受け付けたデータ利用者Bのエージェント11Bがデータオーナによる同意撤回操作で指定を受け付けた同意IDと一致する同意IDが付与されたデータを削除対象として特定する。したがって、本実施例に係るデータ連携基盤によれば、データオーナによる同意の撤回時における連携済みのデータの削除を実現できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
上記の実施例1では、1つのエージェントにつき1つのデータベースが備わる例を挙げたが、1つのエージェントにつき複数のデータベースが備わることとしてもよい。この場合、データ連携の同意の撤回として、複数のデータベースを指定できることは言うまでもない。
上記の実施例1では、パーソナルデータ本体および管理情報が同一のレコードとしてデータベース化される例を挙げたが、パーソナルデータ本体および管理情報は必ずしも同一のレコードとしてデータベース化されずともよい。例えば、管理情報は、データ本体のレコードまたはレコード内の特定のカラムと関連付けられた状態でパーソナルデータ本体と独立して保存されることとしてもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記のデータ管理プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にデータ管理プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からデータ管理プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにデータ管理プログラム170aを記憶させておく。このように記憶されたデータ管理プログラム170aをコンピュータ100にダウンロードさせた上で実行させるようにしてもよい。