本発明の実施の形態の連携提供装置を説明する前に、第1のデータ流通基盤と第2のデータ流通基盤について説明する。
[第1のデータ流通基盤]
図1を参照し、第1のデータ流通基盤100を利用したデータ共有について説明する。データ流通基盤100はユーザのデータを預かってデータに対するアクセスを管理することでデータ共有ポリシーを担保する。非特許文献1のデータ流通基盤は第1のデータ流通基盤100に相当する。図1の例では、データ流通基盤100を介して、ユーザAのデータをユーザBが利用する。つまり、ユーザAはデータの提供者であり、ユーザBはデータの利用者である。ユーザAとユーザBはそれぞれ異なる企業または団体に所属する人である。ここでは、ユーザAは企業Aに所属し、ユーザBは企業Bに所属するものとする。
ユーザA,Bのそれぞれは、接続部150A,150Bを用いて、データ流通基盤100と通信を行う。例えば、接続部150A,150Bは、HTTPクライアントの機能を備えて、データ流通基盤100が有するHTTPサーバに対してリクエストを送信し、レスポンスを受信する。接続部150A,150Bは、ユーザが操作するためのインタフェースを有し、データ流通基盤100と通信を行うためのクライアントソフトウェアを利用できる端末である。接続部150A,150Bは、別の装置と接続するためのApplication Programming Interface (API)を提供してもよい。接続部150A,150Bがデータ流通基盤100との間で送受信するメッセージの形式はデータ流通基盤100のAPIに沿った形式である。
データ流通基盤100は、認証部110、ポリシー管理部120、ポリシー適用部130、およびデータベース140を備える。
認証部110は、接続部150A,150Bを認証する。認証には、例えば、OpenID Connectを用いることができる。他の認証プロトコルを用いてもよい。認証後、接続部150A,150Bは、データ流通基盤100の他の機能部に対する通信において、認証成功時に得たトークンなどの情報を送信することで正当なユーザであることを示す。
データベース(A社用)140は、A社専用のデータベースまたはフォルダパスであり、ユーザA(企業A)が保有するデータを格納する。データベース(A社用)140に格納されたデータは、企業Aに所属するユーザのみが閲覧できる。ユーザAは、接続部150Aを用いて、データをデータベース140に格納する。具体的には、接続部150Aがデータベース140に対してデータ送信メッセージを送信して、ユーザAが保有するデータをデータベース140に格納する。データ送信メッセージには、ユーザAが保有するデータ、そのデータを保存するためのフォルダパス、および権限情報が含まれる。権限情報は、例えば、データを閲覧可能な人を示すユーザID、ロールID、グループID、およびデータの利用権限を示す読み込み可または書き込み可などの情報である。データ流通基盤100がデータ送信メッセージを受信すると、データ送信メッセージに含まれるデータは企業専用または団体専用のデータベース140に格納される。なお、図示していないが、企業Bのデータは企業B専用のデータベース140に格納される。
ユーザAのデータをユーザBが利用する場合、ユーザBが、ユーザAに対して、データ流通基盤100を通じてデータの提供条件および利用条件を示したポリシーを提案する。ユーザAがそのポリシーを承認することで、ユーザA,Bの間でデータの共有に関する合意が形成される。ユーザBは、ユーザAが保有するデータを合意されたポリシーに沿って利用できる。ポリシーとは、データの提供条件および利用条件であり、例えば、利用できるデータの範囲、データを利用できる人、データを利用できる期間、およびデータに対して可能な操作などである。
ユーザBがユーザAに対してポリシーを提案する際、接続部150Bは、ポリシー管理部120に対して、ユーザAのデータの共有を依頼するポリシー提案メッセージを送信する。ポリシー提案メッセージは、JSON等の形式で記載されたポリシーを含む。例えば、ポリシーは、データ利用目的、ポリシー提案自体の識別情報、データ提供者のエンティティの識別情報(企業ID、ユーザID、ロールID、グループIDなど)、共有対象のデータに対する識別情報(企業ID、ユーザID、ロールID、グループIDなどに加え、フォルダパスなど)、データを共有する方式(データ自体を参照できるようにするリンク方式、データをその時点でコピーしてそれを参照できるようにするコピー方式など)、データ利用者のエンティティの識別情報(企業ID、ユーザID、ロールID、グループIDなど)、共有対象のデータに対する利用権限(読み込み可、読み書き可、読み書きの回数、読み書きできる期間)の情報を含む。ポリシーは、その他の情報を含んでもよい。
接続部150Aは、ポリシー管理部120に対してポリシー一覧の取得リクエストを送信し、そのレスポンスとしてポリシー一覧を取得する。なお、新たなポリシーが提案された際に、ポリシー管理部120が、接続部150Aに対して、新たなポリシーまたは新たなポリシーを含むポリシー一覧を送信してもよい。接続部150Aは、ポリシー一覧をユーザAに提示し、ユーザAの承認を受け付ける。ユーザAがポリシー一覧の中に含まれる情報からユーザBの提案したポリシーの内容を確認して承認すると、接続部150Aは、ポリシー管理部120に対してポリシー承認メッセージを送信する。なお、ユーザAがポリシーの内容を承認しない場合、接続部150Aはポリシー管理部120に対してポリシー拒否メッセージを送信する。
ポリシー管理部120は、ポリシー承認メッセージを受信すると、承認されたポリシーの情報をポリシー適用部130に保存する。ポリシーがポリシー適用部130に保存されると、ユーザBは、そのポリシーに沿って、ユーザAの保有するデータにアクセスできるようになる。
ポリシー合意後、ユーザBがデータを利用する場合、ユーザBはデータ流通基盤100にデータを要求する。具体的には、接続部150Bは、ポリシー適用部130に対して、データベース140に格納されたユーザAが保有するデータに対するデータ要求メッセージを送信する。データ要求メッセージの形式はデータ流通基盤100のAPIに沿った形式である。例えば、データ要求メッセージは、データ提供者のエンティティの識別情報、共有対象のデータに対する識別情報、および利用方法(読み込み、読み書きなど)を含む。データ要求メッセージは、その他の情報を含んでもよい。
ポリシー適用部130は、データ要求メッセージの内容がポリシー適用部130の保持するポリシーに沿っているか否かを判定する。例えば、ポリシー適用部130は、保持する複数のポリシーの中からデータ要求メッセージの内容と合致するポリシーを検索し、検索されたポリシーに記載されたデータ利用者のエンティティがデータ要求メッセージの送信元と一致するか否か、および共有対象のデータに対する利用権限の範囲内に収まる要求であるか否かを判定する。データ要求メッセージにポリシーを特定するためのポリシーIDを含めてもよい。
データ要求メッセージがポリシーに沿っている場合、ポリシー適用部130は、データベース140からデータを取得し、接続部150Bにデータを送信する。
以上の処理により、ユーザBはユーザAの保有するデータを利用できる。
なお、ポリシー合意が形成された際に、ポリシー適用部130は、共有対象のデータをA社専用のデータベース140から共有用データベース(図示せず)にコピーしてもよいし、共有用データベースにデータへのリンクを配置してもよい。共有用データベースを利用する場合、ポリシー適用部130は、データ要求メッセージを受信すると、共有用データベースからデータを取得して送信する。
[第2のデータ流通基盤]
次に、図2を参照し、第2のデータ流通基盤200を利用したデータ共有について説明する。データ流通基盤200は、ユーザのデータは預からず、ユーザ間でデータの共有条件についての合意があったことを保証してデータの流通を提供する。非特許文献2のデータ流通基盤は第2のデータ流通基盤200に相当する。図2の例では、ユーザCのデータをユーザDが利用する。つまり、ユーザCはデータの提供者であり、ユーザDはデータの利用者である。ユーザCとユーザDはそれぞれ異なる企業または団体に所属する人である。ここでは、ユーザCは企業Cに所属し、ユーザDは企業Dに所属するものとする。
ユーザC,Dのそれぞれは、接続部250C,250Dを用いて、データ流通基盤200に接続する他のユーザと通信を行う。例えば、接続部250C,250Dは、接続部250C,250D間で認証用のトークンを交換して互いに正当性を確認し、リクエストを送信し、レスポンスを受信することで、ポリシー合意の形成とデータ共有を行う。接続部250C,250Dは、ユーザが操作するためのインタフェースを有し、データ流通基盤200に接続する他のユーザと通信を行うためのクライアントソフトウェアを利用できる端末である。接続部250C,250Dは、別の装置と接続するためのAPIを提供してもよい。接続部250C,250Dとして、非特許文献2のInternational Data Spaces (IDS) コネクタを利用できる。接続部250C,250D間で送受信するメッセージの形式はデータ流通基盤200で規定された形式である。
データ流通基盤200は認証部210を備える。認証部210は、Certificate Authority (CA) 等の証明書を発行する仕組みと、非特許文献2のDynamic Attribute Provisioning Service (DAPS)等のトークンを発行する仕組みを持つ。認証部210は、接続部250C,250Dに対して、証明書およびトークン確認用の情報(認証部自身の公開鍵または証明書等)を発行する。接続部250C,250Dは、証明書およびトークン確認用の情報を保有する。接続部250C,250Dは、認証部210に対し、自身が保有する証明書を示して認証するとともにトークンを要求し、認証用のトークンを取得する。認証後、接続部250C,250Dは、他のユーザの接続部に対する通信において、認証成功時に得たトークンを送信して自身の正当性を示す。接続部250C,250Dは、トークン確認用の情報を用いて他のユーザの接続部から受信したトークンを検証することで、そのトークンがデータ流通基盤200から発行された正当なトークンであることを確認する。
ユーザCは、ユーザCが提供するデータに関する情報(メタデータ)を接続部250Cに登録しておく。例えば、メタデータは、データを取得するためのUniform Resource Identifier (URI)、データを閲覧可能な人、および読み込み可、書き込み可などの利用権限を含む。メタデータは他の情報を含んでもよい。
ユーザCのデータをユーザDが利用する場合、ユーザDが、ユーザCに対して、データの提供条件および利用条件を示したポリシーを提案する。ユーザCがそのポリシーを承認することで、ユーザC,Dの間でデータの共有に関する合意が形成される。ユーザDは、ユーザCが保有するデータを合意されたポリシーに沿って利用できる。
ポリシー合意の形成は、互いに正当性を検証した接続部250C,250D間で行われる。データ提供側の接続部250Cは、ポリシー管理部251Cとポリシー適用部252Cを備える。ポリシー管理部251Cはポリシー合意の形成を行う。ポリシー適用部252Cは合意されたポリシーに従ってデータを送信する。
ユーザDがユーザCに対してポリシーを提案する際、接続部250Dは、接続部250Cのポリシー管理部251Cに対して、ユーザCのデータの共有を依頼するポリシー提案メッセージを送信する。ポリシー提案メッセージは、データの提供条件および利用条件を示したポリシーを含む。
接続部250Cは、ポリシー管理部251Cからポリシー一覧を取得し、ポリシー一覧をユーザCに提示して、ユーザCの承認を受け付ける。なお、新たなポリシーが提案された際に、ポリシー管理部251Cが、接続部250Cに対して、新たなポリシーまたは新たなポリシーを含むポリシー一覧を送信してもよい。ユーザCがポリシー一覧の中に含まれる情報からユーザDの提案したポリシーの内容を確認して承認すると、ポリシー管理部251Cは、接続部250Dに対してポリシー承認メッセージを送信するとともに、承認されたポリシーの情報をポリシー適用部252Cに保存する。ポリシーがポリシー適用部252Cに保存されると、ユーザDは、ポリシーに沿って、ユーザCの保有するデータを取得できるようになる。ポリシー適用部252Cは、合意されたポリシーの情報にポリシーIDを付してポリシーを保持してもよい。ポリシーIDとして、ユーザCの保有するデータを示すリソースIDを用いてもよい。ポリシーIDはユーザDに通知されてもよい。なお、ユーザCがポリシーの内容を承認しない場合、ポリシー管理部251Cは、接続部250Dに対してポリシー拒否メッセージを送信してもよい。
ポリシー合意後、ユーザDがデータを利用する場合、ユーザDは接続部250Cにデータを要求する。具体的には、接続部250Dは、接続部250Cのポリシー適用部252Cに対して、ユーザCが保有するデータに対するデータ要求メッセージを送信する。データ要求メッセージの形式はデータ流通基盤200で規定された形式である。例えば、データ要求メッセージは合意されたポリシーIDを含む、データを要求するメッセージである。
ポリシー適用部252Cは、データ要求メッセージの内容がポリシー適用部252Cの保持するポリシーに沿っているか否かを判定する。例えば、ポリシー適用部252Cは、保持する複数のポリシーの中からデータ要求メッセージが含むポリシーIDを検索し、検索されたポリシーに記載されたデータ利用者のエンティティがデータ要求メッセージの送信元と一致するか否か、および共有対象のデータに対する利用権限の範囲内に収まる要求であるか否かを判定する。
データ要求メッセージがポリシーに沿っている場合、ポリシー適用部252Cは、接続部250CにユーザCの保有するデータを要求して取得し、データを接続部250Dに送信する。
以上の処理により、ユーザDはユーザCの保有するデータを利用できる。
[連携提供装置を用いたデータ流通基盤間の連携]
次に、本発明の実施の形態の連携提供装置について説明する。異なるデータ流通基盤のユーザ間でデータを共有しようとする場合、データ流通基盤同士は互いに通信を行うことができないため、そのままではデータ共有条件の合意を行うための制御メッセージを交換することも、合意したデータ共有条件に従ってデータを共有することもできない。
一つの解決策としては、いずれかのユーザが他方のデータ流通基盤に接続することが考えられる。しかし、各企業が個別に別のデータ流通基盤に対応させるには、複数のデータ流通基盤と接続するための、各々のデータ流通基盤に接続するための登録申請、接続システムの配備、運用など、データ流通基盤の数だけこれらの業務を行う必要がなる。また、各データ流通基盤においては、データ共有を行うためのポリシーの形式や提案方法、データを送受信するためのデータモデル、データの書式などが異なることがあるため、同一の保持データ、同一のデータ共有条件であっても、各企業の中で、データ流通基盤ごとに異なる書式でデータ共有条件を記述し、異なるデータ形式に変換しなくては、データ共有先の企業が所属するデータ流通基盤を用いてデータを共有することができない。
別の解決策としては、異なるデータ流通基盤同士を接続する仲介システムを配備することで、ユーザは単一のデータ流通基盤に接続したまま、異なるデータ流通基盤のユーザとデータ共有条件の合意を行うための制御メッセージを交換し、データを共有するようにする方法が考えられる。これを実現するためには、一方のデータ流通基盤の全ての参加者の情報をもう一方のデータ流通基盤で扱える情報として登録またはシステム接続し、あたかも当該データ流通基盤の全ユーザがもう一方のデータ流通基盤を使っているかのように模擬し、制御メッセージやデータの送受信においても一方のデータ流通基盤で送信された制御メッセージやデータをもう一方のデータ流通基盤で扱える制御メッセージやデータに形式を変換して交換できるようなシステムとして仲介システムを構成する必要があると考えられる。しかし、このままでは、仲介システムが複数のデータ流通基盤の全ユーザの情報を管理・変換し、相互にメッセージを変換しながら送受信できる必要があり、相互に接続するデータ流通基盤の数が増えれば増えるほど、管理しなくてはならない情報や変換ルール、それを実装するシステムの規模が増えてしまう。この方式では、ユーザが相互接続を必要としているかどうかに関わらず、ユーザの増加に伴って仲介システムに必要なシステムリソースが増えてしまう。
本実施形態では、連携提供装置を備えて、異なるデータ流通基盤100とデータ流通基盤200との間でメッセージを中継することで、データ流通基盤100,200間でのデータ共有を実現する。具体的には、データ流通基盤100を拡張し、データ流通基盤200上でユーザAまたはユーザBとして振る舞う連携提供装置を備える。データ流通基盤100では、連携提供装置は、ユーザAまたはユーザBの相手(「A連携」、「B連携」と称する)として振る舞う。A,B連携はデータ流通基盤100上においてユーザA,Bとは異なる別の組織として登録される。データ流通基盤100では、連携提供装置とユーザA,Bとの間でポリシーの合意を形成し、データ流通基盤200では、連携提供装置とユーザC,Dとの間でポリシーの合意を形成する。連携提供装置は、データ流通基盤100のポリシーとデータ流通基盤200のポリシーとを連携させて、データ流通基盤100,200間で送受信されるメッセージを変換して中継する。以下では、ユーザA,Bはデータ流通基盤100のユーザ、ユーザC,Dはデータ流通基盤200のユーザであるとする。データ流通基盤100は、記憶手段を備え、ユーザのデータを記憶手段に保持してアクセスを管理することでデータの流通を提供する。データ流通基盤200は、ユーザのデータを保持せず、ユーザ間でデータの共有条件についての合意があったことを保証してデータの流通を提供する。ユーザBがユーザCのデータを利用する例と、ユーザDがユーザAのデータを利用する例について説明する。なお、データ流通基盤100,200についてはすでに説明しているので、ここでは重複する説明を省略する。
[ユーザBがユーザCのデータを利用する例]
図3を参照し、データ流通基盤100のユーザBがデータ流通基盤200のユーザCのデータを利用する例について説明する。
連携提供装置30は、データ流通基盤200のユーザCに対しては、ユーザBとして振る舞う。連携提供装置30は、ユーザCとの間でポリシーを合意し、ユーザCに対してデータを要求し、ユーザCからデータを受信する。
連携提供装置30は、データ流通基盤100のユーザBに対しては、ユーザBの相手のB連携として振る舞う。データ流通基盤100には、B連携専用のデータベース140が配置される。B連携専用のフォルダパスが配置されてもよい。連携提供装置30は、データ流通基盤200のユーザCから受信したデータをB連携としてB連携専用のデータベース140に格納する。B連携は、例えば、ユーザBの仮想のデータ連携用組織である。B連携とユーザBとは実質的に同じであるが、データ流通基盤100上では、B連携とユーザBとは別の組織として区別される。B連携専用のデータベース140は、データ流通基盤100上のユーザB専用のデータベースとはアクセス権限が独立している。つまり、ユーザBにはB連携専用のデータベース140へのアクセス権がない。ユーザBは、データ流通基盤100においてB連携との間で合意したポリシーに沿って、データベース140に格納されたユーザCのデータを利用できる。以下、連携提供装置30の構成について説明する。
図3の連携提供装置30は、第1接続部31、第2接続部32、および変換部33を備える。
第1接続部31は、データ流通基盤100に接続できるように認証部110に対して認証し、データ流通基盤100においてユーザBの相手のB連携として振る舞う。
ユーザBとユーザCとの間でポリシーを合意する際、第1接続部31は、ユーザBの新たなポリシー提案をデータ流通基盤100からの通知またはポリシー一覧の取得により検知し、ポリシー一覧の中に含まれる情報からユーザCが保有するデータの共有を依頼するポリシー提案を抽出する。第1接続部31は、抽出したポリシー提案を変換部33を介して第2接続部32へ送信し、第2接続部32から変換部33を介して受信したポリシー承認メッセージをデータ流通基盤100へ送信する。第1接続部31が、変換部33で変換されたポリシー承認メッセージをデータ流通基盤100に送信することで、データ流通基盤100においてユーザBと第1接続部31(B連携)との間でポリシーの合意が形成される。
また、第1接続部31は、ユーザCから受信したデータをデータベース140に格納する。
第2接続部32は、データ流通基盤200の各ユーザと通信できるように、第2接続部32が保有する証明書をデータ流通基盤200の認証部210に示して認証し、トークンを要求してトークンを取得する。第2接続部32は、ユーザCの接続部250Cとトークンを交換して互いに正当性を確認することで、接続部250Cとの間での通信が可能になる。
第2接続部32は、変換部33を介して受信したユーザBのポリシー提案をポリシー提案メッセージとして接続部250Cへ送信し、接続部250Cから受信したユーザCのポリシー承認メッセージを変換部33を介して第1接続部31へ送信する。ユーザCが接続部250Cでポリシー提案メッセージを承認することで、データ流通基盤200において第2接続部32とユーザCとの間でポリシーの合意が形成される。
第2接続部32は、ポリシーに沿って接続部250Cにデータを要求し、接続部250Cから受信したデータを変換部33を介して第1接続部31へ送信する。
変換部33は、データ流通基盤100とデータ流通基盤200との間で送受信されるメッセージの形式を変換する。例えば、データ流通基盤100ではメッセージがJSON形式で表現され、データ流通基盤200ではメッセージが独自形式で表現される場合、変換部33は、データ流通基盤100からデータ流通基盤200に転送するメッセージをJSON形式から独自形式に変換し、データ流通基盤200からデータ流通基盤100に転送するメッセージを独自形式からJSON形式に変換する。また、変換部33は、データ流通基盤100とデータ流通基盤200との間で使用する用語が異なる場合、その用語を転送先に合わせて変換する。
変換部33は、第1接続部31から受信したユーザBのポリシー提案メッセージを第2接続部32へ送信する際に、ポリシーをデータ流通基盤100の形式からデータ流通基盤200の形式へ変換する。例えば、データ流通基盤100のポリシーをデータ流通基盤200のポリシーへ変換するルールを定めておき、変換部33は、ルールに従ってポリシー提案メッセージをデータ流通基盤200の形式に変換する。ポリシーの変換はこれに限るものではなく、AIによる自然言語処理を用いてポリシーの内容を解釈して形式を変換してもよいし、他の方法を用いてもよい。データ流通基盤100では、変換前のポリシーでユーザBと第1接続部31との間でポリシーの合意が形成される。データ流通基盤200では、変換後のポリシーでユーザCと第2接続部32との間でポリシーの合意が形成される。これにより、連携提供装置30を介して、ユーザBとユーザCとの間でデータ共有条件の合意が形成される。
なお、データ流通基盤100のポリシーとデータ流通基盤200のポリシーは必ずしも一対一対応しなくてもよい。データ流通基盤100,200それぞれによって言葉の定義の違い、対応できる条件の粒度の違いがあり、データ流通基盤100,200のそれぞれで完全に同じポリシーで合意できるとは限らない。データ主権の担保を目的とする場合、データ所有者(提供者)あるいはデータが収集された国または地域が定めるデータの使い方を守らせる必要がある。したがって、データ流通基盤100においてデータを利用するユーザBと連携提供装置30との間で合意されるポリシーは、データ流通基盤200においてデータを提供するユーザCと連携提供装置30との間で合意されるポリシーと同じか、より制限される必要がある。より制限されるポリシーとは、データ利用者側のデータ流通基盤100において合意されたポリシーの下でデータを利用できる範囲が、データ提供者側のデータ流通基盤200において合意されたポリシーの下でデータを利用できる範囲に包含されていることを意味する。
例えば、データ流通基盤100において「属性Aを有するユーザにのみデータを共有する」というポリシーがあるとする。データ流通基盤100において属性Aに該当するユーザはユーザXとユーザYであるとする。一方、データ流通基盤200には属性Aに一対一対応する属性はなく、属性Bがユーザに指定できるとする。属性Bに該当するユーザはユーザX、ユーザY、およびユーザZであるとする。なお、ユーザX、ユーザY、およびユーザZのいずれもデータ流通基盤100を利用するユーザである。この場合、変換部33は「属性Aを有するユーザにのみデータを共有する」というポリシーを「属性Bを有するユーザにのみデータを共有する」に変換する。これにより、データ流通基盤200においてはユーザX、ユーザY、およびユーザZがデータを利用できるポリシーが合意され、データ流通基盤100においてはユーザXとユーザYがデータを利用できるポリシーが合意される。この結果、ユーザXとユーザYはデータを利用できるが、ユーザZはデータを利用できない。なお、変換部33は、変換前後のポリシーの差分をデータ提供者へ通知してもよい。上記の例では、変換部33は、変換後のポリシー提案メッセージをデータ流通基盤200のデータ提供者へ送信する際に、データ流通基盤100ではユーザXとユーザYのみデータが利用でき、ユーザZはデータが利用できないポリシーが適用されることを通知してもよい。
別の例を挙げると、データ流通基盤100において「11時59分59秒まで共有可能」というポリシーがあるとする。一方、データ流通基盤200ではポリシーに秒単位の時間を指定できないとする。この場合、変換部33は「11時59分59秒まで共有可能」というポリシーを「12時00分まで共有可能」と、秒以下を切り上げてポリシーを変換する。
変換部33は、データ流通基盤100で合意されたポリシーとデータ流通基盤200で合意されたポリシーとを対応させた対応表を備えて、データ流通基盤100のポリシーとデータ流通基盤200のポリシーを連携させる。図4に、ポリシー対応表の一例を示す。同図に示すポリシー対応表は、共有先企業名、共有先ユーザ名、パス情報、第1ポリシーID、第2ポリシーID、共有元企業名、および共有元ユーザ名を含む。共有先企業名と共有先ユーザ名は、データ利用者の企業名とユーザ名である。共有元企業名と共有元ユーザ名は、データ提供者の企業名とユーザ名である。パス情報は、データ流通基盤100上でデータを格納する場所を示す情報であり、ポリシーで合意されたデータの格納場所を示す。第1ポリシーIDは、データ流通基盤100で合意されたポリシーを特定するためのIDである。第2ポリシーIDは、データ流通基盤200で合意されたポリシーを特定するためのIDである。
第2ポリシーIDのポリシーに沿ってデータ流通基盤200から取得されたデータは、第2ポリシーIDに対応する第1ポリシーIDのポリシーに沿ってデータ流通基盤100に格納される。例えば、データ流通基盤200のユーザCからポリシーに沿ってデータを取得した場合、変換部33は、そのポリシーを対応表で検索し、検索したレコードのパス情報の示す場所にデータを格納するようにデータ送信メッセージを変換して、第1接続部31へデータ送信メッセージを転送する。
ユーザCが保有するデータが定期的に追加または更新される場合、変換部33は、定期的に、第2接続部32に対してデータを要求し、取得したデータを第1接続部31へ転送してもよい。
続いて、図5のシーケンス図を参照し、ポリシー合意の形成処理の一例について説明する。ユーザBの接続部150Bと第1接続部31はデータ流通基盤100で認証済みである。ユーザCの接続部250Cと第2接続部32はデータ流通基盤200から取得したトークンを交換して互いに認証済みである。
ステップS101にて、接続部150Bは、ポリシー管理部120に対して、ユーザCが保有するデータの共有を依頼するポリシー提案メッセージを送信する。ポリシー提案メッセージは、データ流通基盤100の書式で記載される。
ステップS102にて、第1接続部31は、ポリシー管理部120からポリシー一覧を取得し、ステップS103にて、ポリシー一覧の中に含まれる情報からユーザCが保有するデータの共有を依頼するポリシー提案メッセージを抽出して、抽出したポリシー提案メッセージを変換部33へ送信する。
ステップS104にて、変換部33は、受信したポリシー提案メッセージをデータ流通基盤100の書式からデータ流通基盤200の書式に変換し、ステップS105にて、変換されたポリシー提案メッセージを第2接続部32へ送信する。変換部33は、ポリシーの内容をデータ流通基盤200に合うように変換してもよい。
ステップS106にて、第2接続部32は、ポリシー提案メッセージを接続部250Cのポリシー管理部251Cへ送信する。ポリシー管理部251Cは、ポリシー提案メッセージを保持する。
ステップS107にて、接続部250Cは、ポリシー管理部251Cからポリシー一覧を取得する。ユーザCは、ポリシー一覧に含まれるユーザCに対するポリシー提案を確認する。
ユーザCがポリシーを承認すると、ステップS108にて、接続部250Cは、ポリシー管理部251Cに対して、ポリシー承認メッセージを送信する。
ポリシー管理部251Cは、ポリシー承認メッセージを受信すると、ステップS109にて、承認されたポリシーをポリシー適用部252Cに保存し、ステップS110にて、ポリシー承認メッセージを第2接続部32へ送信する。
ステップS111にて、第2接続部32は、ポリシー承認メッセージを変換部33へ送信する。
変換部33は、ステップS112にて、受信したポリシー承認メッセージをデータ流通基盤200の書式からデータ流通基盤100の書式に変換し、ステップS113にて、変換されたポリシー承認メッセージを第1接続部31へ送信する。変換部33は、ポリシー承認メッセージの内容をデータ流通基盤100に合うように変換してもよい。
ステップS114にて、第1接続部31は、ポリシー承認メッセージをポリシー管理部120へ送信する。
ポリシー管理部120は、ポリシー承認メッセージを受信すると、ステップS115にて、承認されたポリシーをポリシー適用部130に保存し、ステップS116にて、ポリシーが承認されたことを接続部150Bへ通知する。
データ流通基盤100とデータ流通基盤200のそれぞれでポリシーが合意されると、変換部33は、データ流通基盤100で合意されたポリシーとデータ流通基盤200で合意されたポリシーとの対応をポリシー対応表に記録する。
なお、ユーザBと第1接続部31(B連携)とは実質的に同一人物であるから、ステップS101からS103の処理は行わず、ユーザBが連携提供装置30を操作し、連携提供装置30にポリシーを入力して、ユーザBとB連携とでデータを共有するポリシーを設定してもよい。ステップS113からS115のポリシーの合意が形成される処理に相当する処理として、データ提供者側の第1接続部31は、データ流通基盤100に対して、ユーザBにB連携のデータを共有するポリシーを設定する。ユーザBが連携提供装置30にポリシーを入力すると、ステップS104にて、変換部33は、入力されたポリシーをデータ流通基盤200の書式に変換して、データ流通基盤200へ送信する。つまり、ユーザBが連携提供装置30にポリシーを入力すると、連携提供装置30は、データ流通基盤100においてユーザBとB連携との間にポリシーを設定するとともに、入力されたポリシーに対応するポリシー提案メッセージをデータ流通基盤200へ送信する。
続いて、図6のシーケンス図を参照し、ユーザBがユーザCの保有するデータを利用する処理の一例について説明する。
ステップS201にて、接続部150Bは、ポリシー適用部130に対して、ユーザCのデータに対するデータ要求メッセージを送信する。データ要求メッセージは、B連携が管理するデータに対するデータ要求メッセージであってもよい。
ステップS202にて、ポリシー適用部130はデータ要求メッセージの内容がポリシーに沿っているか否か確認する。具体的には、ポリシー適用部130は、保持する複数のポリシーの中からデータ要求メッセージの内容と合致するポリシーを検索する。合致するポリシーが存在した場合、ポリシー適用部130は、そのポリシーに記載されたデータの共有を受けるエンティティにユーザBが含まれるか否かを確認し、さらにデータ要求メッセージに含まれるデータの利用内容がデータに対する利用権限の範囲内に収まるか否かを確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS203にて、ポリシー適用部130は、データ要求メッセージを第1接続部31へ送信する。要求されたデータがデータベース140に格納されている場合、ポリシー適用部130はデータベース140からデータを取得してもよい。
ステップS204にて、第1接続部31は、データ要求メッセージを変換部33へ送信する。
ステップS205にて、変換部33は、データ要求メッセージをデータ流通基盤100の書式からデータ流通基盤200の書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、受信したデータ要求メッセージで指定されたフォルダパスに対応するリソースIDを取得し、データ要求メッセージを、取得したリソースIDに対するデータ要求メッセージに変換する。
ステップS206にて、変換部33は、変換後のデータ要求メッセージを第2接続部32へ送信する。
ステップS207にて、第2接続部32は、ポリシー適用部252Cに対して、データ要求メッセージを送信する。
ステップS208にて、ポリシー適用部252Cはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS209にて、ポリシー適用部252Cは、接続部250Cに対してデータを要求する。
ステップS210にて、接続部250Cは、データの格納場所からデータを取得し、ポリシー適用部252Cに対してデータを送信する。データは、データ送信メッセージに含めて送信されてもよい。
ステップS211にて、ポリシー適用部252Cは、データを第2接続部32へ送信し、ステップS212にて、第2接続部32は、データを変換部33へ送信する。
ステップS213にて、変換部33は、データをデータ流通基盤200の書式からデータ流通基盤100の書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、受信したデータの格納先のフォルダパスを取得し、データ送信メッセージを、取得したフォルダパスに対するデータ送信に変換する。
ステップS214にて、変換部33は、データを第1接続部31へ送信する。
ステップS215にて、第1接続部31は、データをデータベース140に格納する。第1接続部31は、データを格納した旨をポリシー適用部130に通知してもよい。あるいは、第1接続部31は、ステップS203のデータ要求メッセージに対するレスポンスとして、データをポリシー適用部130へ送信してもよい。
ステップS216にて、ポリシー適用部130は、データベース140からデータを取得し、ステップS217にて、データを接続部150Bへ送信する。
続いて、図7のシーケンス図を参照し、ユーザBがユーザCの保有するデータを利用する別の処理の一例について説明する。図6の処理では、ユーザBの要求に応じてユーザCからデータを取得したが、図7の処理では、ポリシー合意後、事前にユーザCの保有するデータをデータ流通基盤100のデータベース140に格納する。
ステップS251にて、変換部33は、第2接続部32に対して、ユーザCのデータに対するデータ要求メッセージを送信する。例えば、定期的に追加されるユーザCのデータについて、変換部33は、データ追加のタイミングに合わせて、データ要求メッセージを送信する。
ステップS252にて、第2接続部32は、ポリシー適用部252Cに対して、データ要求メッセージを送信する。
ステップS253にて、ポリシー適用部252Cはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS254にて、ポリシー適用部252Cは、接続部250Cに対してデータを要求する。
ステップS255にて、接続部250Cは、データの格納場所からデータを取得し、ポリシー適用部252Cに対してデータを送信する。データは、データ送信メッセージに含めて送信されてもよい。
ステップS256にて、ポリシー適用部252Cは、データを第2接続部32へ送信し、ステップS257にて、第2接続部32は、データを変換部33へ送信する。
ステップS258にて、変換部33は、データをデータ流通基盤200の書式からデータ流通基盤100の書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、受信したデータの格納先のフォルダパスを取得し、データ送信メッセージを、取得したフォルダパスに対するデータ送信に変換する。
ステップS259にて、変換部33は、データを第1接続部31へ送信する。
ステップS260にて、第1接続部31は、データをデータベース140に格納する。
以上の処理により、ポリシーで合意されたユーザCのデータがデータ流通基盤100のデータベース140に格納されて、ユーザBはポリシーに沿ってユーザCのデータを利用できるようになる。
ユーザBがユーザCのデータを利用する場合、ステップS261にて、接続部150Bは、ポリシー適用部130に対して、B連携が保有するユーザCのデータに対するデータ要求メッセージを送信する。
ステップS262にて、ポリシー適用部130はデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部130は、ステップS263にて、データベース140にデータを要求し、ステップS264にて、データベース140からデータを取得し、ステップS265にて、接続部150Bにデータを送信する。
[ユーザDがユーザAのデータを利用する例]
次に、図8を参照し、データ流通基盤200のユーザDがデータ流通基盤100のユーザAのデータを利用する例について説明する。連携提供装置30は、データ流通基盤200のユーザDに対しては、ユーザAとして振る舞う。連携提供装置30は、連携提供装置30とユーザDとの間でポリシーを適用し、ユーザDからのデータの要求に対して、データを送信する。連携提供装置30は、データ流通基盤100のユーザAに対しては、ユーザAの相手のA連携として振る舞う。連携提供装置30は、連携提供装置30とユーザAとの間でポリシーを適用し、ユーザDから要求されたデータをデータ流通基盤100から取得する。以下、連携提供装置30の構成について説明する。
図8の連携提供装置30は、図3の連携提供装置30と同様に、第1接続部31、第2接続部32、および変換部33を備える。
第1接続部31は、データ流通基盤100に接続できるように認証部110に対して認証し、データ流通基盤100においてユーザAの相手のA連携として振る舞う。
第1接続部31は、ユーザDのポリシー提案メッセージを変換部33を介して受信し、データ流通基盤100へ送信する。ユーザAがポリシーを承認すれば、データ流通基盤100においてユーザAと第1接続部31(A連携)との間でポリシーの合意が形成される。
第1接続部31は、ユーザDからの要求に応じて、データベース140に格納されたユーザAのデータをポリシーに沿って取得し、変換部33と第2接続部32を介してユーザDへ送信する。
第2接続部32は、データ流通基盤200の各ユーザと通信できるように、第2接続部32が保有する証明書をデータ流通基盤200の認証部210に示して認証し、トークンを要求してトークンを取得する。第2接続部32は、ユーザDの接続部250Dとトークンを交換して互いに正当性を確認することで、接続部250Dとの間での通信が可能になる。
第2接続部32は、ポリシー管理部321とポリシー適用部322を備える。ポリシー管理部321は、データ流通基盤200においてユーザAとしてユーザDとの間でポリシー合意を形成する。ポリシー適用部322は、データ流通基盤200において合意されたポリシーに沿ってユーザAのデータを送信する。ユーザAのデータはデータ流通基盤100から取得される。
ポリシー管理部321は、ユーザDのポリシー提案メッセージを受信して保持する。第2接続部32は、ポリシー管理部321の保持するユーザDのポリシー提案メッセージを変換部33と第1接続部31を介してデータ流通基盤100へ送信する。ポリシー管理部321は、ユーザDのポリシー提案が承認されると、承認されたポリシーをポリシー適用部322に保存する。
ポリシー適用部322は、ユーザDからデータ要求メッセージを受信し、データ要求メッセージの内容がポリシー適用部322の保持するポリシーに沿っているか否かを判定する。データ要求メッセージがポリシーに沿っている場合、ポリシー適用部322は、データ要求メッセージを変換部33へ送信し、データ流通基盤100からデータを取得して、データを接続部250Dに送信する。
変換部33は、第2接続部32から受信したユーザDのポリシー提案メッセージを第1接続部31へ送信する際に、ポリシーをデータ流通基盤200の形式からデータ流通基盤100の形式へ変換する。変換部33は、データを利用するユーザDと第2接続部32との間で合意されるポリシーが、データを提供するユーザAと第1接続部31との間で合意されるポリシーと同じか、より制限されるポリシーとなるように、ポリシーを変換する。変換方法および変換内容は、図3の変換部33と同様であるのでここでの説明は省略する。
変換部33は、第2接続部32からデータ要求メッセージを受信すると、データ要求メッセージをデータ流通基盤100の書式に変換し、第1接続部31へ送信する。例えば、データ流通基盤200のユーザDからポリシーに沿ったデータ要求メッセージを受信した場合、変換部33は、そのポリシーを対応表で検索し、検索したレコードのパス情報の示す場所からデータを取得するようにデータ要求メッセージを変換して、変換後のデータ要求メッセージを第1接続部31へ送信する。
変換部33は、第1接続部31からデータを受信すると、受信したデータを第2接続部32へ送信する。
変換部33のその他の機能は図3の変換部33と同じであるので、重複する説明は省略する。
図3の連携提供装置30と図8の連携提供装置30は基本的に同じものである。図3,8の連携提供装置30が互いの機能を備えて、データ流通基盤100とデータ流通基盤200との間で双方向でデータを共有できてもよい。
続いて、ユーザAとユーザDとの間でデータ共有ポリシーを合意し、ユーザAが保有するデータをユーザDが利用する処理の流れの一例について説明する。ユーザAの接続部150Aと第1接続部31はデータ流通基盤100で認証済みである。ユーザDの接続部250Dと第2接続部32はデータ流通基盤200から取得したトークンを交換して互いに認証済みである。
図9のシーケンス図を参照し、ポリシー合意の形成処理の一例について説明する。
ステップS301にて、接続部250Dは、第2接続部32のポリシー管理部321に対して、ユーザAが保有するデータの共有を依頼するポリシー提案メッセージを送信する。ポリシー管理部321は、ポリシー提案メッセージを保持する。ポリシー提案メッセージは、データ流通基盤200の書式で記載される。
ステップS302にて、第2接続部32は、ポリシー管理部321からポリシー一覧を取得し、ステップS303にて、ポリシー一覧の中に含まれる情報からユーザAが保有するデータの共有を依頼するポリシー提案メッセージを抽出して、抽出したポリシー提案メッセージを変換部33へ送信する。
ステップS304にて、変換部33は、受信したポリシー提案メッセージをデータ流通基盤200の書式からデータ流通基盤100の書式に変換し、ステップS305にて、変換されたポリシー提案メッセージを第1接続部31へ送信する。変換部33は、ポリシーの内容をデータ流通基盤100に合うように変換してもよい。
ステップS306にて、第1接続部31は、ポリシー提案メッセージをデータ流通基盤100のポリシー管理部120へ送信する。ポリシー管理部120は、ポリシー提案メッセージを保持する。
ステップS307にて、接続部150Aは、ポリシー管理部120からポリシー一覧を取得する。ユーザAは、ポリシー一覧に含まれるユーザAに対するポリシー提案を確認する。
ユーザAがポリシーを承認すると、ステップS308にて、接続部150Aは、ポリシー管理部120に対して、ポリシー承認メッセージを送信する。
ポリシー管理部120は、ポリシー承認メッセージを受信すると、ステップS309にて、承認されたポリシーをポリシー適用部130に保存し、ステップS310にて、ポリシー承認メッセージを第1接続部31へ送信する。
ステップS311にて、第1接続部31は、ポリシー承認メッセージを変換部33へ送信する。
変換部33は、ステップS312にて、受信したポリシー承認メッセージをデータ流通基盤100の書式からデータ流通基盤200の書式に変換し、ステップS313にて、変換されたポリシー承認メッセージを第2接続部32へ送信する。変換部33は、ポリシー承認メッセージの内容をデータ流通基盤200に合うように変換してもよい。
ステップS314にて、第2接続部31は、ポリシー承認メッセージをポリシー管理部321へ送信する。
ポリシー管理部321は、ポリシー承認メッセージを受信すると、ステップS315にて、承認されたポリシーをポリシー適用部130に保存し、ステップS316にて、ポリシーが承認されたことを接続部250Dへ通知する。
データ流通基盤100とデータ流通基盤200のそれぞれでポリシーが合意されると、変換部33は、データ流通基盤100で合意されたポリシーのIDとデータ流通基盤200で合意されたポリシーのIDとの対応をポリシー対応表に記録する。
なお、ユーザAと第1接続部31(A連携)とは実質的に同一人物であるから、ステップS306,S307の処理は行わず、ユーザAが連携提供装置30でユーザDのポリシー提案メッセージを確認し、ステップS308に相当する処理として、データ提供者側の接続部150Aが、データ流通基盤100に対して、ユーザAとA連携とでデータを共有するポリシーを設定してもよい。
また、ユーザAとユーザDとの間で、システム外でデータの共有について合意が取れている場合、ユーザAが連携提供装置30を操作して、連携提供装置30にポリシーを入力して、データ流通基盤100とデータ流通基盤200でポリシーの合意を形成してもよい。例えば、ステップS301からS307の処理は行わず、データ提供者であるユーザAが連携提供装置30にポリシーを入力し、ステップS312にて、変換部33は、入力されたポリシーをデータ流通基盤200の書式に変換して、ステップS313からS315にて、第2接続部32のポリシー適用部322に保存する。さらに、ステップS308にて、接続部150Aが、データ流通基盤100に対して、ユーザAとA連携とでデータを共有するポリシーを設定する。つまり、ユーザAが連携提供装置30にポリシーを入力すると、連携提供装置30は、データ流通基盤100においてユーザAとA連携との間にポリシーを設定するとともに、入力されたポリシーを第2接続部32に設定する。
続いて、図10のシーケンス図を参照し、ユーザDがユーザAの保有するデータを利用する処理の一例について説明する。
ステップS401にて、接続部150Aは、データベース140にデータを送信して格納する。
ステップS402にて、接続部250Dは、ポリシー適用部322に対して、ユーザAのデータに対するデータ要求メッセージを送信する。
ステップS403にて、ポリシー適用部322はデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS404にて、ポリシー適用部322は、データ要求メッセージを第2接続部32へ送信し、ステップS405にて、第2接続部32は、データ要求メッセージを変換部33へ送信する。
ステップS406にて、変換部33は、データ要求メッセージをデータ流通基盤200の書式からデータ流通基盤100の書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、受信したデータ要求メッセージで指定されたリソースIDに対応するデータ流通基盤100上のパス情報を取得し、データ要求メッセージを、パス情報で示されたデータに対するデータ要求メッセージに変換する。
ステップS407にて、変換部33は、変換後のデータ要求メッセージを第1接続部31へ送信する。
ステップS408にて、第1接続部31は、ポリシー適用部130に対して、ユーザAがデータベース140内に保有するデータに対するデータ要求メッセージを送信する。
ステップS409にて、ポリシー適用部130はデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部130は、ステップS410にて、データベース140に対してデータを要求し、ステップS411にて、データベース140からデータを取得する。
ステップS412にて、ポリシー適用部130は、データを第1接続部31へ送信し、ステップS413にて、第1接続部31は、データを変換部33へ送信する。
ステップS414にて、変換部33は、データをデータ流通基盤100の書式からデータ流通基盤200の書式に変換する。例えば、変換部33は、データ要求メッセージに対するレスポンスにデータを含める。
ステップS415にて、変換部33は、データを第2接続部32へ送信する。
ステップS416にて、第2接続部32は、ポリシー適用部322に対して、データを送信し、ステップS417にて、ポリシー適用部322は、接続部250Dに対して、データを送信する。
[変換部]
図11を参照し、変換部33の構成の一例について説明する。同図に示す変換部33は、第1変換部331、第2変換部332、および汎用ポリシー管理部333を備える。
第1変換部331は、第1接続部31に接続し、第1接続部31から受信したデータ流通基盤100の情報を汎用的な情報に変換して第2変換部332へ送信したり、第2変換部332から受信した汎用的な情報をデータ流通基盤100の情報に変換して第1接続部31へ送信したりする。
第2変換部332は、第2接続部32に接続し、第2接続部32から受信したデータ流通基盤200の情報を汎用的な情報に変換して第1変換部331へ送信したり、第1変換部331から受信した汎用的な情報をデータ流通基盤200の情報に変換して第2接続部32へ送信したりする。
汎用ポリシー管理部333は、例えば、各種業界のオントロジーを保持する。第1変換部331と第2変換部332は、汎用ポリシー管理部333を参照し、データ流通基盤100,200の情報を汎用的な情報に変換したり、汎用的な情報をデータ流通基盤100,200の情報に変換したりする。
[ポリシーのバリエーション]
図12を参照し、ポリシーの一例について説明する。ポリシーは、共有するデータを指定したり、データの利用者を指定したりするほかに、図12の例に示すようなポリシーを指定してもよい。
1番目のポリシーは、データの利用方法を許可または禁止するポリシーである。このポリシーで、データの利用方法として許可または禁止したいアクションを指定する。例えば、表示は許可し、印刷は禁止するポリシーを指定する。
2番目から10番目のポリシーは、データ利用を特定の条件に制限するポリシーである。例えば、このポリシーで、データ利用できるコネクター、システム、ユーザ、場所、あるいは時間の制限、データを利用する目的の制限を指定する。
11番目のポリシーはデータの使用回数を指定するポリシーである。
12番目のポリシーはデータ利用後にデータの削除を要求するポリシーである。
13番目と14番目のポリシーは、データの修正を要求するポリシーである。例えば、このポリシーで、データの一部を匿名化した後で、データの利用が許可される。
15番目と16番目のポリシーは、データ利用の記録または通知に関するポリシーである。このポリシーで、データ利用時にログを取ることを要求したり、データ利用時に特定のユーザに通知することを要求したりする。
17番目と18番目のポリシーは、データ配布に関するポリシーである。例えば、このポリシーで、第三者にデータを配布する際にデータ利用方法のポリシーを追加で指定したり、暗号化されたデータのみを配布可能としたりする。
19番目と20番目のポリシーは、データ利用の料金の支払いに関するポリシーである。このポリシーで、1回払いまたは月額料金を指定する。
21番目のポリシーは、データ利用状態に関するポリシーである。例えば、このポリシーで、データを利用する環境が特定の状態の場合にのみデータの利用を許可できる。
ポリシーの規定はデータ流通基盤100,200ごとに異なるので、変換部33は、ポリシー提案メッセージやポリシー承認メッセージを変換する際に、送信先のデータ流通基盤100,200のポリシーの規定に合わせて、メッセージを変換する。送信先のデータ流通基盤100,200に対応するポリシーがない場合は、近いポリシーに変換してもよい。
[ポリシー形成の自動化]
ポリシーの合意に、データ提供者の承認を待たないように構成してもよい。例えば、データ提供者は、データの提供に際して許容できるポリシーを公開しておく。そのデータを利用したいデータ利用者は、公開されたポリシーについて、ポリシー提案メッセージを送信することで、データ提供者の承認なしでポリシーが設定される。
例えば、連携提供装置30に公開されたポリシーの一覧を保持しておく。ユーザは、連携提供装置30にアクセスし、利用したいポリシーを選択する。ポリシーが選択されると、連携提供装置30は、ポリシーに沿ってデータ流通基盤100とデータ流通基盤200のそれぞれでポリシーを設定し、ポリシーを連携させる。
具体的には、データ流通基盤200のユーザCがデータを提供し、ポリシーが連携提供装置30で公開されている場合、データ流通基盤100のユーザBは、連携提供装置30にアクセスしてそのポリシーを選択する。ポリシーが選択されると、連携提供装置30は、データ流通基盤100にB連携を作成し、データ流通基盤100上でユーザBとB連携との間にポリシーを設定するとともに、選択されたポリシーに沿ったデータ流通基盤200の形式のポリシー要求メッセージをユーザCの接続部250Cへ送信し、データ流通基盤200上で連携提供装置30と接続部250Cとの間にポリシーを設定する。公開されたポリシーの場合、ユーザCからの承認を待つことなく、ポリシーが設定される。連携提供装置30が、データ流通基盤100とデータ流通基盤200との間でポリシーを連携させることで、ユーザBはユーザCのデータを利用できるようになる。
また、データ流通基盤100のユーザAがデータを提供し、ポリシーを公開する場合、連携提供装置30は、データ流通基盤100にA連携を作成し、データ流通基盤100上でユーザAとA連携との間にポリシーを設定しておき、ユーザAのデータのメタデータを、データ流通基盤200上で配布する。メタデータはデータ共有のポリシーおよびデータ要求先の情報などを含む。データ要求先には連携提供装置30の第2接続部32を指定しておく。データ流通基盤200のユーザDがユーザAのデータを利用する場合、接続部250Dは、ポリシー要求メッセージを連携提供装置30の第2接続部32へ送信し、データ流通基盤200上で連携提供装置30と接続部250Dとの間にポリシーを設定する。公開されたポリシーの場合、ユーザAからの承認を待つことなく、ポリシーが設定される。連携提供装置30が、データ流通基盤100とデータ流通基盤200との間でポリシーを連携させることで、ユーザDはユーザAのデータを利用できるようになる。
[実施例1]
図13を参照し、第1のデータ流通基盤100を利用するE社と第2のデータ流通基盤200を利用するF社の間でデータを共有する実施例について説明する。
E社はF社が製造した部品を利用して製品を製造する。E社は製品に要した総CO2排出量を計算するために、F社が部品の製造に要したCO2排出量を利用したい。つまり、E社はF社のデータを利用したい。E社はデータ流通基盤100を利用し、F社はデータ流通基盤200を利用している。そこで、本実施形態の連携提供装置30を利用し、データ流通基盤200のF社のデータをデータ流通基盤100のE社と共有する。
E社の工作機械170EのCO2排出量はデータ取得部160Eで取得する。例えば、工作機械170EにOPC UA Serverを接続し、データ取得部160EにOPC UA Clientを備えて工作機械170Eのデータを取得する。E社用クライアント150Eは、取得したデータをデータ流通基盤100のE社専用データベース140Aに格納する。E社用クライアント150Eは、データ流通基盤100に接続するためのクライアントソフトウェアである。
F社の工作機械270FのCO2排出量はデータ取得部260Fで取得する。例えば、工作機械270FにOPC UA Serverを接続し、データ取得部260FにOPC UA Clientを備えて、データ取得部260Fが工作機械270Fのデータを取得する。F社用コネクター250Fは、データ流通基盤200のデータスペースに接続可能なIDSコネクターである。F社は、データ流通基盤200にF社用コネクター250Fのための証明書の発行を依頼する。データ流通基盤200は、CAを用いてF社用コネクター250Fの証明書を発行し、証明書をDAPSに登録したうえで、F社用コネクター250Fに証明書とDAPS自体の証明書を提供する。F社用コネクター250Fに、証明書、DAPS自体の証明書、およびDAPSとBrokerのIPアドレスを設定することで、F社用コネクター250Fはデータ流通基盤200上で通信を行うことができる。Brokerは、データ提供者が提供するデータの種類やデータの取得先(例えばF社用コネクター250F)を検索するための機能である。
データ流通基盤100は、認証部110、ポリシー管理部120、ポリシー適用部130、E社専用データベース140A、E社国際専用データベース140B、および共有データベース140Cを備える。E社専用データベース140Aは、E社のデータを格納するデータベースである。E社国際専用データベース140Bは、F社から取得したデータを格納するデータベースである。共有データベース140Cは、共有するデータを格納するデータベースである。共有データベース140Cには、E社国際専用データベース140BからF社のデータがコピーされる。
E社は、連携提供装置30の国際接続管理部34を用い、F社のデータをデータ流通基盤100上で利用するために、F社とのデータ共有条件を設定する。具体的には、E社は、F社がデータ流通基盤100を利用しておらず、データ流通基盤200に接続されたことであることを指定する。E社は、データ共有条件として、E社に対して共有するデータの範囲を示すパス情報を設定する。このパス情報は、F社のデータを格納する場所である。さらに、E社は、F社用コネクター250Fを探すためのIDSコネクター名またはIDSコネクターIDと、F社が共有したデータの識別子を設定する。
データ共有条件の設定が完了すると、国際接続管理部34は、データ流通基盤100に「E社国際」という組織を新しく追加登録し、E社国際用クライアント(第1接続部)31を配備し、データ流通基盤100への接続に必要な情報を設定する。また、データ流通基盤100は、データ共有条件として設定されたパス情報に対応したE社国際専用データベース140Bを配備する。F社から受信したデータはE社国際専用データベース140Bに格納される。
国際接続管理部34は、E社国際用クライアント31を通じて、E社国際専用データベース140Bに格納されたF社のデータの閲覧を許可するポリシーをデータ流通基盤100に設定する。これにより、E社用クライアント150Eは、ポリシー適用部130にF社のデータを要求すると、共有データベース140Cを介してデータを閲覧することが可能となる。なお、E社とE社国際とは実質的に同一であるから、E社用クライアント150Eからポリシー管理部120へポリシー提案メッセージを送信することなく、E社が国際接続管理部34を用いて、E社とE社国際との間のポリシーをデータ流通基盤100に設定したが、E社用クライアント150Eからポリシー提案メッセージをポリシー管理部120へ送信し、E社国際用クライアント31がポリシー承認メッセージをポリシー管理部120へ送信することで、ポリシー適用部130にポリシーが設定されてもよい。
データ流通基盤100でのポリシー設定が完了すると、国際接続管理部34は、F社と同じデータ流通基盤200のデータスペースに接続可能なE社国際用コネクター(第2接続部)32を配備する。国際接続管理部34は、データ流通基盤200にE社国際用コネクター32のための証明書の発行を依頼する。データ流通基盤200は、CAを用いてE社国際用コネクター32の証明書を発行し、証明書をDAPSに登録したうえで、E社国際用コネクター32に証明書とDAPS自体の証明書を提供する。E社国際用コネクター32に、証明書、DAPS自体の証明書、およびDAPSとBrokerのIPアドレスを設定することで、E社国際用コネクター32はデータ流通基盤200上で通信を行うことができる。
E社国際用コネクター32の配備が完了すると、E社国際用コネクター32とF社用コネクター250Fとの間でデータ共有ポリシーを合意する。E社国際用変換部33は、E社が設定したF社とのデータ共有条件をデータ流通基盤200の形式のポリシー提案メッセージに変換し、E社国際用コネクター32がポリシー提案メッセージをF社用コネクター250Fへ送信する。なお、F社用コネクター250FのIDおよびリソースIDが不明な場合、E社国際用コネクター32はデータ流通基盤200のBrokerに問い合わせて、F社用コネクター250FのIDおよびリソースIDを取得する。E社国際用コネクター32は、F社用コネクター250Fからポリシー承認メッセージを受信すると、E社国際用変換部33にポリシー承認メッセージを送信する。
E社国際用変換部33は、E社国際用コネクター32とF社用コネクター250Fとの間で合意されたポリシーのIDとE社とE社国際との間で合意されたポリシーとの対応をポリシー対応表に登録する。
E社国際用コネクター32とF社用コネクター250Fとの間でポリシーが合意されると、E社国際用変換部33は、定期的に、E社国際用コネクター32を通じてF社用コネクター250Fに対してデータ要求メッセージを送信し、定期的にF社のデータを取得する。データ要求メッセージは、E社国際用コネクター32とF社用コネクター250Fとの間で合意されたポリシーのIDを含む。F社用コネクター250Fは、ポリシーに沿ったデータ要求メッセージを受信すると、データを取得して返却する。E社国際用変換部33は、取得したF社のデータを変換し、変換後のF社のデータをE社国際用クライアント31を通じてE社国際専用データベース140Bに格納する。データの変換処理については、E社が指定したデータモデルを用いて変換ルールを作成し、E社国際用変換部33に設定しておく。E社国際用変換部33は、データ要求に利用したポリシーのIDをポリシー対応表から検索し、ポリシー対応表に記載されたデータ流通基盤100のパス情報に基づいてF社のデータを格納するパスを決定する。
[実施例2]
実施例1と同じ図13を参照し、第1のデータ流通基盤100を利用するE社と第2のデータ流通基盤200を利用するF社の間でデータを共有する実施例について説明する。
実施例2では、実施例1のE社とF社の立場を変えて、F社がE社のデータを利用する。E社がデータ提供者であり、F社がデータ利用者である。E社はデータ流通基盤100を利用し、F社はデータ流通基盤200を利用している。本実施形態の連携提供装置30を利用し、データ流通基盤100のE社のデータをデータ流通基盤200のF社と共有する。
データ流通基盤100とデータ流通基盤200の構成、E社のE社用クライアント150E、データ取得部160E、工作機械170E、F社のF社用コネクター250F、データ取得部260F、および工作機械270Fは、実施例1と同じであるので、ここでの説明は省略する。
E社は、連携提供装置30の国際接続管理部34を用い、データ流通基盤100に蓄積するE社のデータをF社に共有するため、F社とのデータ共有条件を設定する。具体的には、E社は、F社がデータ流通基盤100を利用しておらず、データ流通基盤200に接続されたことであることを指定する。E社は、データ共有条件として、F社に対して共有するデータの範囲を示すパス情報、データ共有可能な期間、および読み出し可能回数などを設定する。さらに、E社は、F社用コネクター250Fを探すためのIDSコネクター名またはIDSコネクターIDと、F社が共有したデータの識別子を設定する。
データ共有条件の設定が完了すると、国際接続管理部34は、データ流通基盤100に「E社国際」という組織を新しく追加登録し、E社国際としてデータ流通基盤100に接続できるようにE社国際用クライアント(第1接続部)31を配備し、データ流通基盤100への接続に必要な情報を設定する。
E社国際が追加されると、E社用クライアント150Eは、データ共有条件に沿ってE社国際がE社のデータにアクセスできるようにするためにデータ流通基盤100にポリシーを設定する。これにより、E社国際用クライアント31は、ポリシー適用部130にE社のデータを要求すると、共有データベース140Cを介してE社のデータを取得することが可能となる。なお、E社とE社国際とは実質的に同一であるから、E社国際用クライアント31からポリシー管理部120へポリシー提案メッセージを送信することなく、E社がE社用クライアント150Eを用いて、E社とE社国際との間のポリシーをデータ流通基盤100に設定したが、E社国際用クライアント31からポリシー提案メッセージをポリシー管理部120へ送信し、E社用クライアント150Eがポリシー承認メッセージをポリシー管理部120へ送信することで、ポリシー適用部130にポリシーが設定されてもよい。
データ流通基盤100でのポリシー設定が完了すると、国際接続管理部34は、F社と同じデータ流通基盤200のデータスペースに接続可能なE社国際用コネクター(第2接続部)32を配備する。国際接続管理部34は、データ流通基盤200にE社国際用コネクター32のための証明書の発行を依頼する。データ流通基盤200は、CAを用いてE社国際用コネクター32の証明書を発行し、証明書をDAPSに登録したうえで、E社国際用コネクター32に証明書とDAPS自体の証明書を提供する。E社国際用コネクター32に、証明書、DAPS自体の証明書、およびDAPSとBrokerのIPアドレスを設定することで、E社国際用コネクター32はデータ流通基盤200上で通信を行うことができる。
E社国際用コネクター32の配備が完了すると、E社国際用コネクター32とF社用コネクター250Fとの間でデータ共有ポリシーを合意する。E社国際用変換部33は、E社が設定したF社とのデータ共有条件をデータ流通基盤200の形式のポリシー提案メッセージに変換し、E社国際用コネクター32がポリシー提案メッセージをF社用コネクター250Fへ送信する。E社国際用コネクター32が、F社用コネクター250Fからポリシー承認メッセージを受信すると、E社国際用コネクター32とF社用コネクター250Fとの間でデータ共有ポリシーが合意される。E社国際用コネクター32は合意されたポリシーを保持し、ポリシーに沿ったデータ要求メッセージを受信すると、要求されたデータを取得して送信する。なお、F社用コネクター250Fが、E社国際用コネクター32に対して、ポリシー提案メッセージを送信してもよい。この場合、E社国際用コネクター32に承認可能なポリシーを予め設定しておく。E社国際用コネクター32は、承認可能なポリシー提案メッセージを受信すると、自動的にポリシー承認メッセージをF社用コネクター250Fへ送信し、E社国際用コネクター32とF社用コネクター250Fとの間でデータ共有ポリシーが合意される。もしくは、連携提供装置30は、F社からのポリシー提案メッセージをデータ流通基盤100へ送信し、データ流通基盤100において、E社とE社国際との間のポリシーを設定してもよい。
E社国際用変換部33は、E社国際用コネクター32とF社用コネクター250Fとの間で合意されたポリシーのIDとE社とE社国際との間で合意されたポリシーとの対応をポリシー対応表に登録する。
E社国際用コネクター32は、F社用コネクター250Fから、ポリシーに沿ったデータ要求メッセージを受信すると、データ要求メッセージをE社国際用変換部33に送信する。E社国際用変換部33は、データ要求メッセージをデータ流通基盤100の形式に変換して、E社国際用クライアント11を通じてデータ流通基盤100からE社のデータを取得する。具体的には、データ要求メッセージに含まれるポリシーのIDをポリシー対応表から検索し、ポリシー対応表に記載されたデータ流通基盤100のパス情報に基づいて要求されたデータを特定し、E社国際用クライアント11を通じてデータ流通基盤100からE社のデータを取得する。
E社国際用変換部33は、取得したE社のデータを変換し、変換後のE社のデータをE社国際用コネクター12を通じてF社用コネクター250Fに返却する。
以上説明したように、本実施形態の連携提供装置30は、ユーザのデータを記憶手段に保持してアクセスを管理することでデータを流通する第1のデータ流通基盤100のユーザA,Bと、ユーザのデータを保持せずユーザ間の合意を保証することでデータを流通する第2のデータ流通基盤200のユーザC,Dとの間でデータを共有する装置である。連携提供装置30は、第1のデータ流通基盤100に接続し、ユーザA,Bとの間でポリシーの合意を形成する第1接続部31と、第2のデータ流通基盤200に接続し、ユーザA,BとしてユーザC,Dとの間でポリシーの合意を形成する第2接続部32と、第1接続部31と第2接続部32との間で送受信されるメッセージを送信先のデータ流通基盤の形式に変換して転送する変換部33と、を備える。ユーザBがユーザCのデータを利用する場合、第2接続部32がポリシーに沿ってユーザCのデータを取得し、第1接続部31が第1のデータ流通基盤100の備えるB連携用のデータベース140にユーザCのデータを格納して、第1のデータ流通基盤100においてポリシーに沿ってユーザCのデータをユーザBに提供する。ユーザDがユーザAのデータを利用する場合、ユーザDから第2接続部32に対するポリシーに沿った要求に応じて、第1接続部31がポリシーに沿って第1のデータ流通基盤100からユーザAのデータを取得して、第2接続部32がユーザAのデータをユーザDに提供する。これにより、異なるデータ流通基盤100,200のユーザ間で、ポリシーの合意を行うための制御メッセージを交換することができ、各ユーザは、自身が接続するデータ流通基盤100,200を介して、合意したポリシーに従ってデータを利用することができる。
本実施形態の連携提供装置30を用いることで、各企業が個別に対応する場合に必要であった、複数のデータ流通基盤と接続するための、各々のデータ流通基盤への登録申請、接続システムの配備、および運用などの業務を行う必要がなくなる。加えて、各企業の中で、データ流通基盤ごとに異なる書式でポリシーを記述し、異なるデータ形式に変換する必要がなくなる。さらに、異なるデータ流通基盤同士を接続する仲介システムを配備する場合において課題であった、複数のデータ流通基盤の全ユーザの情報を管理・変換し、相互にメッセージを変換しながら送受信できるようなシステムの配備が必要なくなる。本実施形態の連携提供装置30を用いることで、相互接続が必要なユーザに絞って必要最小限のシステムリソースを割り当てることができる。
なお、データ流通基盤100が連携提供装置30の機能を備えてもよいし、データ流通基盤200が連携提供装置30を備えてもよい。言い換えると、本実施形態のデータ流通提供システムは、データ流通基盤100と連携提供装置30とを備えるデータ流通提供システムであってもよいし、データ流通基盤200と連携提供装置30とを備えるデータ流通提供システムであってもよい。
[同種のデータ流通基盤間の連携]
次に、データの扱いが同じ種類のデータ流通基盤100A,100B間、およびデータ流通基盤200C,200D間を連携する実施形態について説明する。データ流通基盤100A,100Bは、ユーザのデータを記憶手段に保持してアクセスを管理することでデータの流通を提供する。データ流通基盤200C,200Dは、ユーザのデータを保持せず、ユーザ間でデータの共有条件について合意があったことを保証してデータの流通を提供する。なお、データの扱いが同じ種類のデータ流通基盤同士を連携する場合も、これまでに説明したデータの扱いが異なる種類のデータ流通基盤の変形例を適用できる。
[ユーザAがユーザBのデータを利用する例]
図14を参照し、ユーザのデータを預かってデータに対するアクセスを管理することでデータ共有ポリシーを担保する第1のデータ流通基盤100A,100Bの間でデータを共有する実施形態について説明する。以下では、ユーザAはデータ流通基盤100Aのユーザ、ユーザBはデータ流通基盤100Bのユーザであるとし、ユーザAがユーザBのデータを利用する例について説明する。
本実施形態では、連携提供装置30を備えて、データ流通基盤100Aとデータ流通基盤100Bとを連携し、データ流通基盤100Aとデータ流通基盤100Bとの間でのデータの共有を実現する。具体的には、連携提供装置30は、データ流通基盤100AではユーザAの相手(「A連携」と称する)として振る舞う。また、連携提供装置30は、データ流通基盤100BではユーザAの代理として振る舞う。A連携は、データ流通基盤100A上においてユーザAとは異なる別の組織として登録される。データ流通基盤100Aでは、ユーザAと連携提供装置30との間でポリシーの合意を形成し、データ流通基盤100Bでは、ユーザBと連携提供装置30との間でポリシーの合意を形成する。連携提供装置30は、データ流通基盤100Aのポリシーとデータ流通基盤100Bのポリシーとを連携させて、データ流通基盤100Aとデータ流通基盤100Bとの間で送受信されるメッセージを変換して中継する。
データ流通基盤100A,100Bの、認証部110A,110B、ポリシー管理部120A,120B、およびポリシー適用部130A,130Bは、図1のデータ流通基盤100の認証部110、ポリシー管理部120、およびポリシー適用部130と同様であるので、ここでの重複する説明は省略する。データ流通基盤100Aには、A連携専用のデータベース140Aが配置される。A連携専用のフォルダパスが配置されてもよい。データ流通基盤100Bには、ユーザBのデータを保持するB専用のデータベース140Bが配置される。ユーザAは接続部150Aを用いてデータ流通基盤100Aに接続し、ユーザBは接続部150Bを用いてデータ流通基盤100Bに接続する。
図14の連携提供装置30は、第1接続部31、第2接続部32、および変換部33を備える。
第1接続部31は、データ流通基盤100Aに接続できるように認証部110Aに対して認証し、データ流通基盤100AにおいてユーザAの相手のA連携として振る舞う。
ユーザAとユーザBとの間でポリシーを合意する際、第1接続部31は、ポリシー管理部120AからユーザAのポリシー提案メッセージを取得し、ユーザAのポリシー提案メッセージを変換部33を介して第2接続部32へ送信する。第1接続部31は、第2接続部32から変換部33を介して受信したポリシー承認メッセージをデータ流通基盤100Aへ送信する。第1接続部31が、ポリシー承認メッセージをデータ流通基盤100Aに送信することで、データ流通基盤100AにおいてユーザAと第1接続部31(A連携)との間でポリシーの合意が形成される。
第1接続部31は、ユーザBから受信したデータをデータベース140Aに格納する。
第2接続部32は、データ流通基盤100Bに接続できるように認証部110Bに対して認証し、データ流通基盤100BにおいてユーザBの相手のユーザAの代理として振る舞う。
第2接続部32は、変換部33を介して受信したユーザAのポリシー提案メッセージをデータ流通基盤100Bへ送信する。ユーザBが、接続部150Bを用いて、ポリシー承認メッセージをデータ流通基盤100Bへ送信することで、データ流通基盤100BにおいてユーザBと第2接続部32との間でポリシーの合意が形成される。
第2接続部32は、ポリシーに沿ってデータ流通基盤100BからユーザBのデータを取得し、取得したデータを変換部33を介して第1接続部31へ送信する。
変換部33は、データ流通基盤100Aとデータ流通基盤100Bとの間で送受信されるメッセージを変換する。例えば、データ流通基盤100Aを使用する業界とデータ流通基盤100Bを使用する業界が異なり、業界間で用語が異なる場合に、その用語を転送先に合わせて変換する。
変換部33は、第1接続部31から受信したユーザAのポリシー提案メッセージを第2接続部32へ送信する際に、ポリシーをデータ流通基盤100Aの形式からデータ流通基盤100Bの形式へ変換する。変換部33は、データを利用するユーザAと第1接続部31との間で合意されるポリシーが、データを提供するユーザBと第2接続部32との間で合意されるポリシーと同じか、より制限されるポリシーとなるように、ポリシーを変換する。変換方法および変換内容は、図3の変換部33と同様であるのでここでの説明は省略する。
変換部33は、データ流通基盤100Aで合意されたポリシーとデータ流通基盤100Bで合意されたポリシーとを対応させた対応表を備えて、データ流通基盤100Aのポリシーとデータ流通基盤100Bのポリシーを連携させる。図15に、ポリシー対応表の一例を示す。同図に示すポリシー対応表は、共有先企業名、共有先ユーザ名、第1パス情報、第1ポリシーID、第2ポリシーID、第2パス情報、共有元企業名、および共有元ユーザ名を含む。共有先企業名と共有先ユーザ名は、データ利用者の企業名とユーザ名である。共有元企業名と共有元ユーザ名は、データ提供者の企業名とユーザ名である。第1パス情報は、データ流通基盤100A上でデータを格納する場所を示す情報である。第1ポリシーIDは、データ流通基盤100Aで合意されたポリシーを特定するためのIDである。第2パス情報は、データ流通基盤100B上でデータが格納された場所を示す情報である。第2ポリシーIDは、データ流通基盤100Bで合意されたポリシーを特定するためのIDである。
第2ポリシーIDのポリシーに沿ってデータ流通基盤100Bから取得されたデータは、第2ポリシーIDに対応する第1ポリシーIDのポリシーに沿ってデータ流通基盤100Aに格納される。例えば、データ流通基盤100BからユーザBのデータを取得した場合、変換部33は、そのポリシーを対応表から検索し、検索したレコードの第1パス情報の示す場所にデータを格納するようにデータ送信メッセージを変換して、第1接続部31へデータ送信メッセージを転送する。
ユーザBが保有するデータが定期的に追加または更新される場合、変換部33は、定期的に、第2接続部32に対してデータを要求し、取得したデータを第1接続部31へ送信してもよい。
続いて、図16のシーケンス図を参照し、ポリシー合意の形成処理の一例について説明する。ユーザAの接続部150Aはデータ流通基盤100Aで認証済みである。ユーザBの接続部150Bはデータ流通基盤100Bで認証済みである。
ステップS501にて、接続部150Aは、ポリシー管理部120Aに対して、ユーザBが保有するデータの共有を依頼するポリシー提案メッセージを送信する。
ステップS502にて、第1接続部31は、ポリシー管理部120Aからポリシー一覧を取得し、ステップS503にて、ポリシー一覧の中に含まれる情報からユーザBが保有するデータの共有を依頼するポリシー提案メッセージを抽出して、抽出したポリシー提案メッセージを変換部33へ送信する。
ステップS504にて、変換部33は、受信したポリシー提案メッセージをデータ流通基盤100Aの書式からデータ流通基盤100Bの書式に変換し、ステップS505にて、変換されたポリシー提案メッセージを第2接続部32へ送信する。
ステップS506にて、第2接続部32は、ポリシー提案メッセージをポリシー管理部120Bへ送信する。ポリシー管理部120Bは、ポリシー提案メッセージを保持する。
ステップS507にて、接続部150Bは、ポリシー管理部120Bからポリシー一覧を取得する。ユーザBは、ポリシー一覧に含まれるユーザBに対するポリシー提案を確認する。
ユーザBがポリシーを承認すると、ステップS508にて、接続部150Bは、ポリシー管理部120Bに対して、ポリシー承認メッセージを送信する。
ポリシー管理部120Bは、ポリシー承認メッセージを受信すると、ステップS509にて、承認されたポリシーをポリシー適用部130Bに保存し、ステップS510にて、ポリシー承認メッセージを第2接続部32へ送信する。
ステップS511にて、第2接続部32は、ポリシー承認メッセージを変換部33へ送信する。
変換部33は、ステップS512にて、受信したポリシー承認メッセージをデータ流通基盤100Bの書式からデータ流通基盤100Aの書式に変換し、ステップS513にて、変換されたポリシー承認メッセージを第1接続部31へ送信する。
ステップS514にて、第1接続部31は、ポリシー承認メッセージをポリシー管理部120Aへ送信する。
ポリシー管理部120Aは、ポリシー承認メッセージを受信すると、ステップS515にて、承認されたポリシーをポリシー適用部130Aに保存し、ステップS516にて、ポリシーが承認されたことを接続部150Aへ通知する。
データ流通基盤100Aとデータ流通基盤100Bのそれぞれでポリシーが合意されると、変換部33は、データ流通基盤100Aで合意されたポリシーとデータ流通基盤100Bで合意されたポリシーとの対応をポリシー対応表に記録する。
なお、ユーザAと第1接続部31(A連携)とは実質的に同一人物であるから、ステップS501からS503の処理は行わず、ユーザAが連携提供装置30を操作し、連携提供装置30にポリシーを入力して、ユーザAとA連携とでデータを共有するポリシーを設定してもよい。ステップS513からS515のポリシーの合意が形成される処理に相当する処理として、データ提供者側の第1接続部31は、データ流通基盤100Aに対して、ユーザAにA連携のデータを共有するポリシーを設定する。ユーザAが連携提供装置30にポリシーを入力すると、ステップS504にて、変換部33は、入力されたポリシーをデータ流通基盤100Bの書式に変換して、データ流通基盤100Bへ送信する。つまり、ユーザAが連携提供装置30にポリシーを入力すると、連携提供装置30は、データ流通基盤100AにおいてユーザAとA連携との間にポリシーを設定するとともに、入力されたポリシーに対応するポリシー提案メッセージをデータ流通基盤100Bへ送信する。
続いて、図17のシーケンス図を参照し、ユーザAがユーザBの保有するデータを利用する処理の一例について説明する。
ステップS600にて、接続部150Bは、ユーザBのデータをデータ流通基盤100Bへ送信する。ユーザBのデータは、データベース140Bに格納される。
ステップS601にて、接続部150Aは、ポリシー適用部130Aに対して、ユーザBのデータに対するデータ要求メッセージを送信する。データ要求メッセージは、A連携が管理するデータに対するデータ要求メッセージであってもよい。
ステップS602にて、ポリシー適用部130Aはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。具体的には、ポリシー適用部130Aは、保持する複数のポリシーの中からデータ要求メッセージの内容と合致するポリシーを検索する。合致するポリシーが存在した場合、ポリシー適用部130Aは、そのポリシーに記載されたデータの共有を受けるエンティティにユーザAが含まれるか否かを確認し、さらにデータ要求メッセージに含まれるデータの利用内容がデータに対する利用権限の範囲内に収まるか否かを確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS603にて、ポリシー適用部130Aは、データ要求メッセージを第1接続部31へ送信する。要求されたデータがデータベース140Aに格納されている場合、ポリシー適用部130はデータベース140Aからデータを取得してもよい。
ステップS604にて、第1接続部31は、データ要求メッセージを変換部33へ送信する。
ステップS605にて、変換部33は、データ要求メッセージをデータ流通基盤100Aの書式からデータ流通基盤100Bの書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、データ要求メッセージで要求されたデータ流通基盤100A上のパス情報を、データ流通基盤100B上のパス情報に変換する。
ステップS606にて、変換部33は、変換後のデータ要求メッセージを第2接続部32へ送信する。
ステップS607にて、第2接続部32は、ポリシー適用部130Bに対して、データ要求メッセージを送信する。
ステップS608にて、ポリシー適用部130Bはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部130Bは、ステップS609にて、データベース140Bに対してデータを要求し、ステップS610にて、データベース140Bからデータを取得する。
ステップS611にて、ポリシー適用部130Bは、データを第2接続部32へ送信し、ステップS612にて、第2接続部32は、データを変換部33へ送信する。
ステップS613にて、変換部33は、データをデータ流通基盤100Bの書式からデータ流通基盤100Aの書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、データ送信メッセージの格納先をデータ流通基盤100A上のパス情報に設定する。
ステップS614にて、変換部33は、データを第1接続部31へ送信する。
ステップS615にて、第1接続部31は、データをデータベース140Aに格納する。第1接続部31は、データを格納した旨をポリシー適用部130Aに通知してもよい。あるいは、第1接続部31は、ステップS203のデータ要求メッセージに対するレスポンスとして、データをポリシー適用部130Aへ送信してもよい。
ステップS616にて、ポリシー適用部130Aは、データベース140からデータを取得し、ステップS217にて、データを接続部150Aへ送信する。
続いて、図18のシーケンス図を参照し、ユーザAがユーザBの保有するデータを利用する別の処理の一例について説明する。図17の処理では、ユーザAの要求に応じてユーザBからデータを取得したが、図18の処理では、ポリシー合意後、事前にユーザBの保有するデータをデータ流通基盤100Aのデータベース140Aに格納する。
ステップS600にて、接続部150Bは、ユーザBのデータをデータ流通基盤100Bへ送信する。ユーザBのデータは、データベース140Bに格納される。
ステップS651にて、変換部33は、第2接続部32に対して、ユーザBのデータに対するデータ要求メッセージを送信する。例えば、定期的に追加されるユーザBのデータについて、変換部33は、データ追加のタイミングに合わせて、データ要求メッセージを送信する。
ステップS652にて、第2接続部32は、ポリシー適用部130Bに対して、データ要求メッセージを送信する。
ステップS653にて、ポリシー適用部130Bはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部130Bは、ステップS654にて、データベース140Bに対してデータを要求し、ステップS655にて、データベース140Bからデータを取得する。
ステップS656にて、ポリシー適用部130Bは、データを第2接続部32へ送信し、ステップS657にて、第2接続部32は、データを変換部33へ送信する。
ステップS658にて、変換部33は、データをデータ流通基盤100Bの書式からデータ流通基盤100Aの書式に変換する。
ステップS659にて、変換部33は、データを第1接続部31へ送信する。
ステップS660にて、第1接続部31は、データをデータベース140Aに格納する。
以上の処理により、ポリシーで合意されたユーザBのデータがデータ流通基盤100Aのデータベース140Aに格納されて、ユーザAはポリシーに沿ってユーザBのデータを利用できるようになる。
ユーザAがユーザBのデータを利用する場合、ステップS661にて、接続部150Aは、ポリシー適用部130Aに対して、A連携が保有するユーザBのデータに対するデータ要求メッセージを送信する。
ステップS662にて、ポリシー適用部130Aはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部130Aは、ステップS663にて、データベース140Aにデータを要求し、ステップS664にて、データベース140Aからデータを取得し、ステップS665にて、接続部150Aにデータを送信する。
以上説明したように、本実施形態の連携提供装置30は、データ流通基盤100AのユーザAがデータ流通基盤100BのユーザBのデータを利用するための連携提供装置30であって、データ流通基盤100Aにおいて、ユーザAとの間でポリシーの合意を形成する第1接続部31と、データ流通基盤100Bにおいて、ユーザBとの間でポリシーの合意を形成する第2接続部32と、第1接続部31と第2接続部32との間で送受信されるメッセージを送信先のデータ流通基盤の形式に変換して転送する変換部33を備える。これにより、ユーザAとユーザBとの間でポリシーの合意を形成することができ、データ流通基盤100A,100B間でデータを共有できる。
[ユーザCがユーザDのデータを利用する例]
図19を参照し、ユーザのデータは預からずユーザ間の合意を保証することでデータ共有ポリシーを担保する第2のデータ流通基盤200C,200Dの間でデータを共有する実施形態について説明する。以下では、ユーザCはデータ流通基盤200Cのユーザ、ユーザDはデータ流通基盤200Dのユーザであるとし、ユーザDがユーザCのデータを利用する例について説明する。
本実施形態では、連携提供装置30を備えて、データ流通基盤200Cとデータ流通基盤200Dとを連携し、データ流通基盤200Cとデータ流通基盤200Dとの間でのデータの共有を実現する。具体的には、連携提供装置30は、データ流通基盤200CではユーザCの別組織(C連携)として振る舞い、データ流通基盤200DではユーザCとして振る舞う。連携提供装置30は、データ流通基盤200CでユーザDとして振る舞い、データ流通基盤200DでユーザDの別組織(D連携)として振る舞ってもよい。データ流通基盤200Cでは、ユーザCと連携提供装置30との間でポリシーの合意を形成し、データ流通基盤200Dでは、ユーザDと連携提供装置30との間でポリシーの合意を形成する。連携提供装置30は、データ流通基盤200Cのポリシーとデータ流通基盤200Dのポリシーとを連携させて、データ流通基盤200Cとデータ流通基盤200Dとの間で送受信されるメッセージを変換して中継する。
データ流通基盤200C,200Dの、認証部210C,210Dは、図2のデータ流通基盤200の認証部210と同様であるので、ここでの重複する説明は省略する。ユーザC,Dのそれぞれは、ユーザCは接続部250Cを用いてデータ流通基盤200Cに接続する他のユーザと通信を行う。ユーザDは接続部250Dを用いてデータ流通基盤200Dに接続する他のユーザと通信を行う。なお、図19の例では、接続部250Cと接続部250Dとは、別々のデータ流通基盤200C,200Dからトークンを取得しているので、互いに直接通信することはできない。
図19の連携提供装置30は、第1接続部31、第2接続部32、および変換部33を備える。
第1接続部31は、データ流通基盤200Cの各ユーザと通信できるように、第1接続部31が保有する証明書をデータ流通基盤200Cの認証部210Cに示して認証し、トークンを要求してトークンを取得する。第1接続部31は、ユーザCの接続部250Cとトークンを交換して互いに正当性を確認することで、接続部250Cとの間での通信が可能になる。
第1接続部31は、変換部33を介して受信したユーザDのポリシー提案メッセージを接続部250Cへ送信し、接続部250Cから受信したユーザCのポリシー承認メッセージを変換部33を介して第2接続部32へ送信する。ユーザCが接続部250Cでポリシー提案メッセージを承認することで、データ流通基盤200CにおいてユーザCと第1接続部31との間でポリシーの合意が形成される。
第1接続部31は、ポリシーに沿って接続部250Cにデータを要求し、接続部250Cから受信したデータを変換部33を介して第2接続部32へ送信する。
第2接続部32は、データ流通基盤200Dの各ユーザと通信できるように、第2接続部32が保有する証明書をデータ流通基盤200Dの認証部210Dに示して認証し、トークンを要求してトークンを取得する。第2接続部32は、ユーザDの接続部250Dとトークンを交換して互いに正当性を確認することで、接続部250Dとの間での通信が可能になる。
第2接続部32は、ポリシー管理部321とポリシー適用部322を備える。ポリシー管理部321は、データ流通基盤200DにおいてユーザCとしてユーザDとの間でポリシー合意を形成する。ポリシー適用部322は、データ流通基盤200Dにおいて合意されたポリシーに沿ってユーザCのデータを送信する。ユーザCのデータはデータ流通基盤200Cから取得される。
ポリシー管理部321は、ユーザDのポリシー提案メッセージを受信して保持する。第2接続部32は、ポリシー管理部321の保持するユーザDのポリシー提案メッセージを変換部33と第1接続部31を介してデータ流通基盤200Cへ送信する。ポリシー管理部321は、ユーザDのポリシー提案が承認されると、承認されたポリシーをポリシー適用部322に保存する。
ポリシー適用部322は、ユーザDからデータ要求メッセージを受信し、データ要求メッセージの内容がポリシー適用部322の保持するポリシーに沿っているか否かを判定する。データ要求メッセージがポリシーに沿っている場合、ポリシー適用部322は、データ要求メッセージを変換部33へ送信し、データ流通基盤200Cからデータを取得して、データを接続部250Dに送信する。
変換部33は、データ流通基盤200Cとデータ流通基盤200Dとの間で送受信されるメッセージを変換する。
変換部33は、第2接続部32から受信したユーザDのポリシー提案メッセージを第1接続部31へ送信する際に、ポリシーをデータ流通基盤200Dの形式からデータ流通基盤200Cの形式へ変換する。変換部33は、データを利用するユーザDと第2接続部32との間で合意されるポリシーが、データを提供するユーザCと第1接続部31との間で合意されるポリシーと同じか、より制限されるポリシーとなるように、ポリシーを変換する。変換方法および変換内容は、図3の変換部33と同様であるのでここでの説明は省略する。
変換部33は、データ流通基盤200Cで合意されたポリシーとデータ流通基盤200Dで合意されたポリシーとを対応させた対応表を備えて、データ流通基盤200Cのポリシーとデータ流通基盤200Dのポリシーを連携させる。例えば、接続部250Dは、データ流通基盤200Dで合意されたポリシーに沿って第2接続部32にデータを要求する。変換部33は、対応表を参照し、データ流通基盤200Dで合意されたポリシーに対応するデータ流通基盤200Cで合意されたポリシーに応じて、第2接続部32へのデータ要求を接続部250Cへのデータ要求に変換して第1接続部31へ送信する。
続いて、図20のシーケンス図を参照し、ポリシー合意の形成処理の一例について説明する。ユーザCの接続部250Cと第1接続部31はデータ流通基盤200Cから取得したトークンを交換して互いに認証済みである。ユーザDの接続部250Dと第2接続部32はデータ流通基盤200Dから取得したトークンを交換して互いに認証済みである。
ステップS701にて、接続部250Dは、ポリシー管理部321に対して、ユーザCが保有するデータの共有を依頼するポリシー提案メッセージを送信する。
ステップS702にて、第2接続部32は、ポリシー管理部321からポリシー一覧を取得し、ステップS703にて、ポリシー一覧の中に含まれる情報からユーザCが保有するデータの共有を依頼するポリシー提案メッセージを抽出して、抽出したポリシー提案メッセージを変換部33へ送信する。
ステップS704にて、変換部33は、受信したポリシー提案メッセージをデータ流通基盤200Dの書式からデータ流通基盤200Cの書式に変換し、ステップS705にて、変換されたポリシー提案メッセージを第1接続部31へ送信する。
ステップS706にて、第1接続部31は、ポリシー提案メッセージをポリシー管理部251Cへ送信する。ポリシー管理部251Cは、ポリシー提案メッセージを保持する。
ステップS707にて、接続部250Cは、ポリシー管理部251Cからポリシー一覧を取得する。ユーザCは、ポリシー一覧に含まれるユーザCに対するポリシー提案を確認する。
ユーザCがポリシーを承認すると、ステップS708にて、接続部250Cは、ポリシー管理部251Cに対して、ポリシー承認メッセージを送信する。
ポリシー管理部251Cは、ポリシー承認メッセージを受信すると、ステップS709にて、承認されたポリシーをポリシー適用部252Cに保存し、ステップS710にて、ポリシー承認メッセージを第1接続部31へ送信する。
ステップS711にて、第1接続部31は、ポリシー承認メッセージを変換部33へ送信する。
変換部33は、ステップS712にて、受信したポリシー承認メッセージをデータ流通基盤200Cの書式からデータ流通基盤200Dの書式に変換し、ステップS713にて、変換されたポリシー承認メッセージを第2接続部32へ送信する。
ステップS714にて、第2接続部32は、ポリシー承認メッセージをポリシー管理部321へ送信する。
ポリシー管理部321は、ポリシー承認メッセージを受信すると、ステップS715にて、承認されたポリシーをポリシー適用部322に保存し、ステップS716にて、ポリシーが承認されたことを接続部250Dへ通知する。
データ流通基盤200Cとデータ流通基盤200Dのそれぞれでポリシーが合意されると、変換部33は、データ流通基盤200Cで合意されたポリシーとデータ流通基盤200Dで合意されたポリシーとの対応をポリシー対応表に記録する。
続いて、図21のシーケンス図を参照し、ユーザDがユーザCの保有するデータを利用する処理の一例について説明する。
ステップS801にて、接続部250Dは、ポリシー適用部322に対して、ユーザCのデータに対するデータ要求メッセージを送信する。
ステップS802にて、ポリシー適用部322はデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ステップS803にて、ポリシー適用部322は、データ要求メッセージを第2接続部32へ送信する。
ステップS804にて、第2接続部32は、データ要求メッセージを変換部33へ送信する。
ステップS805にて、変換部33は、データ要求メッセージをデータ流通基盤200Dの書式からデータ流通基盤200Cの書式に変換する。例えば、変換部33は、ポリシー対応表を参照し、第2接続部32のポリシー適用部322に対する要求を、接続部250Cのポリシー適用部252Cに対する要求に変換する。
ステップS806にて、変換部33は、変換後のデータ要求メッセージを第1接続部31へ送信する。
ステップS807にて、第1接続部31は、ポリシー適用部252Cに対して、データ要求リクエストを送信する。
ステップS808にて、ポリシー適用部252Cはデータ要求メッセージの内容がポリシーに沿っているか否か確認する。
データ要求メッセージの内容がポリシーに沿っている場合、ポリシー適用部252Cは、ステップS809にて、接続部250Cに対してデータを要求し、ステップS810にて、接続部250Cからデータを取得する。
ステップS811にて、ポリシー適用部252Cは、データを第1接続部31へ送信し、ステップS812にて、第1接続部31は、データを変換部33へ送信する。
ステップS813にて、変換部33は、データをデータ流通基盤200Cの書式からデータ流通基盤200Dの書式に変換する。
ステップS814にて、変換部33は、データを第2接続部32へ送信する。
ステップS815にて、第2接続部32は、データをポリシー適用部322へ送信し、ステップS816にて、ポリシー適用部322は、データを接続部250Dへ送信する。
図22を参照し、第2のデータ流通基盤200C,200Dの間でデータを共有する別の例について説明する。図22に示す例は、図19に示した例と比べて、ポリシーの合意を形成後、接続部250Cと接続部250Dとが直接データを送受信する点で相違する。
図22の連携提供装置30は、データを中継しないのでポリシーを保持せず、第2接続部32はポリシー適用部322を備えない。なお、第2接続部32は、接続部250Dからポリシー提案を受け付けて、その承認を応答するため、ポリシー管理部321を備える。
ユーザCとユーザDとの間でポリシーの合意を形成する際、図20で説明したように、接続部250Cと接続部250Dは連携提供装置30を介してメッセージを送受信し、ポリシーの合意を形成する。形成されたポリシーは、データ提供者の接続部250Cのポリシー適用部252Cに保存される。
ポリシーの合意が形成されると、図23のシーケンス図に示すように、ステップS900にて、接続部250Cと接続部250Dとの間でトークンが交換される。データ流通基盤200Cの認証部210Cとデータ流通基盤200Dの認証部210Dは、相互にトークンを検証するための情報を共有しており、その情報を接続部250C,250Dへ共有している。そのため、認証部210Cが発行したトークンは接続部250Dでも検証することができ、認証部210Dが発行したトークンは接続部250Cでも検証することができる。
ユーザDがユーザCのデータを利用するときは、ステップS901にて、接続部250Dが、接続部250Cのポリシー適用部252Cに対して、ユーザCのデータに対するデータ要求メッセージを送信する。
ステップS902にて、ポリシー適用部252Cは、データ要求メッセージの内容がポリシー適用部252Cの保持するポリシーに沿っているか否かを判定する。
データ要求メッセージがポリシーに沿っている場合、ステップS903にて、ポリシー適用部252Cは、接続部250Cに対してデータを要求する。
ステップS904にて、接続部250Cは、データの格納場所からデータを取得し、ポリシー適用部252Cに対してデータを送信する。データは、データ送信メッセージに含めて送信されてもよい。
ステップS905にて、ポリシー適用部252Cは、データを接続部250Dへ送信する。
以上説明したように、本実施形態の連携提供装置30は、データ流通基盤200CのユーザCがデータ流通基盤200DのユーザDのデータを利用するための連携提供装置30であって、データ流通基盤200Cにおいて、ユーザCとの間でポリシーの合意を形成する第1接続部31と、データ流通基盤200Dにおいて、ユーザDとの間でポリシーの合意を形成する第2接続部32と、第1接続部31と第2接続部32との間で送受信されるメッセージを送信先のデータ流通基盤の形式に変換して転送する変換部33を備える。これにより、ユーザCとユーザDとの間でポリシーの合意を形成することができ、データ流通基盤200C,200D間でデータを共有できる。
なお、上記では、データ流通基盤100,200とは別の装置として連携提供装置30について説明したが、互いに連携するデータ流通基盤100,200のいずれかが連携提供装置の機能を備えてもよい。例えば、図3、図8、図14のデータ流通基盤100,100Aが、第1接続部31、第2接続部32、および変換部33を備えてもよい。
上記説明した連携提供装置30には、例えば、図24に示すような、中央演算処理装置(CPU)901と、メモリ902と、ストレージ903と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、連携提供装置30が実現される。このプログラムは磁気ディスク、光ディスク、半導体メモリなどの、コンピュータが読み取り可能な非一時的な記録媒体に記録することも、ネットワークを介して配信することもできる。データ流通基盤100,200の各部として、上記のコンピュータシステムを用いてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記項1)
第1データ流通基盤と第2データ流通基盤とを連携させて、前記第1データ流通基盤の第1ユーザと前記第2データ流通基盤の第2ユーザとの間でのデータ共有を提供するための連携提供装置であって、
前記第1データ流通基盤において、前記第1ユーザとの間で第1共有条件の合意を形成する第1接続部と、
前記第2データ流通基盤において、前記第2ユーザとの間で第2共有条件の合意を形成する第2接続部と、
を備え、
前記第1共有条件と前記第2共有条件が合意されることで、前記第1ユーザと前記第2ユーザとの間で前記連携提供装置を介した共有条件の合意が形成され、
データを利用するユーザと前記連携提供装置との間で合意される共有条件はデータを提供するユーザと前記連携提供装置との間で合意される共有条件と同じ条件またはより制限された条件である
連携提供装置。
(付記項2)
連携提供装置により第1データ流通基盤と第2データ流通基盤とを連携させて、前記第1データ流通基盤の第1ユーザと前記第2データ流通基盤の第2ユーザとの間でのデータ共有を提供するデータ流通提供システムにおける第1データ流通基盤のためのデータ流通提供装置であって、
前記第1ユーザと前記連携提供装置との間での共有条件を管理する管理部と、
連携提供装置用の記憶手段と、
を備え、
前記第1データ流通基盤において前記第1ユーザと前記連携提供装置との間で第1共有条件の合意が形成され、前記第2データ流通基盤において前記第2ユーザと前記連携提供装置との間で第2共有条件の合意が形成され、前記第1共有条件と前記第2共有条件が合意されることで、前記第1ユーザと前記第2ユーザとの間で前記連携提供装置を介した共有条件の合意が形成され、
データを利用するユーザと前記連携提供装置との間で合意される共有条件はデータを提供するユーザと前記連携提供装置との間で合意される共有条件と同じ条件またはより制限された条件である
データ流通提供装置。
(付記項3)
連携提供装置により第1データ流通基盤と第2データ流通基盤とを連携させて、前記第1データ流通基盤の第1ユーザと前記第2データ流通基盤の第2ユーザとの間でのデータ共有を提供するデータ流通提供システムにおける第2データ流通基盤のためのデータ流通提供装置であって、
前記連携提供装置を認証し、前記第2ユーザに対して前記連携提供装置の正当性を示すためのトークンを前記連携提供装置に付与する認証部を備え、
前記第1データ流通基盤において前記第1ユーザと前記連携提供装置との間で第1共有条件の合意が形成され、前記第2データ流通基盤において前記第2ユーザと前記連携提供装置との間で第2共有条件の合意が形成され、前記第1共有条件と前記第2共有条件が合意されることで、前記第1ユーザと前記第2ユーザとの間で前記連携提供装置を介した共有条件の合意が形成され、
データを利用するユーザと前記連携提供装置との間で合意される共有条件はデータを提供するユーザと前記連携提供装置との間で合意される共有条件と同じ条件またはより制限された条件である
データ流通提供装置。
(付記項4)
第1データ流通基盤と第2データ流通基盤とを連携させて、前記第1データ流通基盤の第1ユーザと前記第2データ流通基盤の第2ユーザとの間でのデータ共有を提供する連携提供方法であって、
連携提供装置による、
前記第1データ流通基盤において、前記第1ユーザとの間で第1共有条件の合意を形成するステップと、
前記第2データ流通基盤において、前記第2ユーザとの間で第2共有条件の合意を形成するステップと、
を有し、
前記第1共有条件と前記第2共有条件が合意されることで、前記第1ユーザと前記第2ユーザとの間で前記連携提供装置を介した共有条件の合意が形成され、
データを利用するユーザと前記連携提供装置との間で合意される共有条件はデータを提供するユーザと前記連携提供装置との間で合意される共有条件と同じ条件またはより制限された条件である
連携提供方法。
(付記項5)
第1データ流通基盤と第2データ流通基盤とを連携させて、前記第1データ流通基盤の第1ユーザと前記第2データ流通基盤の第2ユーザとの間でのデータ共有を提供するデータ流通提供システムであって、
前記第1データ流通基盤と、
前記第1データ流通基盤において、前記第1ユーザとの間で第1共有条件の合意を形成する第1接続部と、
前記第2データ流通基盤において、前記第2ユーザとの間で第2共有条件の合意を形成する第2接続部と、
を備え、
前記第1共有条件と前記第2共有条件が合意されることで、前記第1ユーザと前記第2ユーザとの間で前記連携提供装置を介した共有条件の合意が形成され、
データを利用するユーザと前記連携提供装置との間で合意される共有条件はデータを提供するユーザと前記連携提供装置との間で合意される共有条件と同じ条件またはより制限された条件である
データ流通提供システム。