IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特許-通信プログラム及び通信方法 図1
  • 特許-通信プログラム及び通信方法 図2
  • 特許-通信プログラム及び通信方法 図3
  • 特許-通信プログラム及び通信方法 図4
  • 特許-通信プログラム及び通信方法 図5
  • 特許-通信プログラム及び通信方法 図6
  • 特許-通信プログラム及び通信方法 図7
  • 特許-通信プログラム及び通信方法 図8
  • 特許-通信プログラム及び通信方法 図9
  • 特許-通信プログラム及び通信方法 図10
  • 特許-通信プログラム及び通信方法 図11
  • 特許-通信プログラム及び通信方法 図12
  • 特許-通信プログラム及び通信方法 図13
  • 特許-通信プログラム及び通信方法 図14
  • 特許-通信プログラム及び通信方法 図15
  • 特許-通信プログラム及び通信方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】通信プログラム及び通信方法
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240612BHJP
   G06F 21/33 20130101ALI20240612BHJP
【FI】
G06F21/62 345
G06F21/33
【請求項の数】 13
(21)【出願番号】P 2020168516
(22)【出願日】2020-10-05
(65)【公開番号】P2022060813
(43)【公開日】2022-04-15
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】小倉 孝夫
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2020-046959(JP,A)
【文献】特開2020-024511(JP,A)
【文献】特開2013-088901(JP,A)
【文献】特開2002-297598(JP,A)
【文献】米国特許出願公開第2020/0092385(US,A1)
【文献】米国特許出願公開第2020/0042727(US,A1)
【文献】NRIセキュアテクノロジーズ株式会社,OpenID Foundationの策定規格 詳細,認証認可の調査研究,2020年09月25日,https://www.mhlw.go.jp/content/12600000/000689750.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
G06F 21/33
(57)【特許請求の範囲】
【請求項1】
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザのユーザデータの公開を許可するトークンに基づき、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記データ利用サーバが有するコンピュータに実行させるプログラムであって、
一括で取得を要求する前記ユーザデータに関する要求情報を前記同意サーバに送信する送信処理と、
前記要求情報に該当するユーザのうち、同意が得られたユーザに対応するトークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信するトークン要求処理と、
前記トークン要求処理によって取得したトークンを使用し、前記データ管理サーバから、前記同意が得られたユーザのユーザデータを取得する取得処理と、を有し、
前記取得するトークンは、前記データ利用サーバが以前に取得したユーザデータのユーザに対応するトークンを含まない
通信プログラム。
【請求項2】
前記送信タイミングは、所定時間に到達することを含む
請求項1記載の通信プログラム。
【請求項3】
前記同意サーバから前記トークン要求を送信するよう要求されたとき、前記送信タイミングでない場合でも、前記トークン要求を前記同意サーバ送信する
請求項1記載の通信プログラム。
【請求項4】
前記要求情報は、前記データ利用サーバが取得を要望するデータ内容の条件を含む
請求項1記載の通信プログラム。
【請求項5】
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記同意サーバが有するコンピュータに実行させるプログラムであって、
前記データ利用サーバが一括で取得を要求するユーザデータに関する要求情報を、前記データ利用サーバから受信する受信処理と、
前記要求情報を受信したとき、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求する同意処理と、
前記データ利用サーバからトークンの発行を要求するトークン要求を受信したとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信するトークン発行処理と、
前記データ管理サーバから前記第1トークンの検証を要求されたとき、前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン検証処置と、を有し
前記データ利用サーバが取得するトークンは、前記データ利用サーバが以前に取得したユーザデータのユーザに対応するトークンを含まない
通信プログラム。
【請求項6】
前記同意処理において、前記抽出を行ったときには前記要求情報に該当しなかったが、
後発的に前記要求情報に該当するようになった新規該当ユーザを監視し、前記新規該当ユーザに対して同意を要求する
請求項5記載の通信プログラム。
【請求項7】
さらに、所定条件を満たすとき、前記トークン要求を送信するよう前記データ利用サーバに要求するトークン要求送信処理を、
前記同意サーバが有するコンピュータに実行させる、請求項6記載の通信プログラム。
【請求項8】
前記所定条件は、前記新規該当ユーザが第1閾値以上となることを含む
請求項7記載の通信プログラム。
【請求項9】
前記所定条件は、前記未許可ユーザの人数が第2閾値以上となることを含む
請求項7記載の通信プログラム。
【請求項10】
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザデータの公開を許可するトークンに基づき、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記データ利用サーバの通信方法であって、
前記データ利用サーバは、
一括で取得を要求するユーザデータに関する要求情報を前記同意サーバに送信する送信工程と、
前記要求情報に該当するユーザのうち、同意が得られたユーザに対応するトークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信するトークン要求工程と、
前記トークン要求工程によって取得したトークンを使用し、前記データ管理サーバから、前記同意が得られたユーザのユーザデータを取得する取得工程と、を実行し、
前記取得したトークンは、前記データ利用サーバが以前に取得したユーザデータのユーザに対応するトークンを含まない
通信方法。
【請求項11】
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記同意サーバの通信方法であって、
前記同意サーバは、
前記データ利用サーバが一括で取得を要求するユーザデータに関する要求情報を、前記データ利用サーバから受信する受信工程と、
前記要求情報を受信したとき、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求する同意工程と、
前記データ利用サーバからトークンの発行を要求されたとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信するトークン発行工程と、
前記データ管理サーバから前記第1トークンの検証を要求されたとき、前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン検証工程と、を実行し、
前記データ利用サーバに送信するトークンは、前記データ利用サーバが以前に取得したユーザデータのユーザに対応するトークンを含まない
通信方法。
【請求項12】
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける通信方法であって、
前記データ利用サーバは、一括で取得を要求するユーザデータに関する要求情報を前記同意サーバに送信し、
前記同意サーバは、前記要求情報を受信し、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求し、
前記データ利用サーバは、トークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信し、
前記同意サーバは、前記トークン要求を受信したとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信し、
前記データ利用サーバは、前記第1トークンを受信し、前記第1トークンを含む、前記第1トークンに対応するユーザのユーザデータの公開を要求するデータ要求を、前記データ管理サーバに送信し、
前記データ管理サーバは、前記データ要求を受信し、前記第1トークンの検証を要求するトークン検証要求を前記同意サーバに送信し、
前記同意サーバは、前記トークン検証要求を受信し、前記第1トークンに対応する前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン許可を前記データ管理サーバに送信し、
前記データ管理サーバは、前記トークン許可を受信し、前記未許可ユーザのユーザデータを、前記データ利用サーバに送信し、
前記データ利用サーバが取得するトークンは、前記データ利用サーバが以前に取得したユーザデータのユーザに対応するトークンを含まない
通信方法。
【請求項13】
前記データ利用サーバと前記同意サーバとの間で送受信されるメッセージは、CIBA(Client Initiated Backchannel Authentication)プロトコルに準拠する
請求項12記載の通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信プログラム及び通信方法に関する。
【背景技術】
【0002】
近年、PDS(Personal Data Store)や情報銀行のように、個人情報を預ける(又は登録する)サービスが出現し、注目を浴びている。個人情報を扱うサービスでは、ユーザが登録したデータを、第三者に提供するとき、ユーザの同意を取得することが必要となる場合がある。個人情報を扱うサービスにおいて、例えば、ユーザは、病院等で検診した健診結果や、ユーザの購買履歴などの個人情報を、PDSや情報銀行に登録する。PDSや情報銀行は、第三者に対してユーザの個人情報を提供するとき、ユーザ本人の同意を取得する。
【0003】
このような個人情報を取り扱うサービスを実現するシステムは、例えば、CIBA(Client Initiated Backchannel Authentication)プロトコルが用いられる場合がある。
【0004】
個人情報を扱うサービスに関する技術は、以下の先行文献に記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-046959号公報
【文献】特開2015-201098号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、例えば、CIBAプロトコルでは、複数ユーザに対して同意依頼するユースケースは考慮されていない。例えば、医療研究者が複数のウィルス感染者に対して医療データの提供を依頼する場合がある。この場合、医療研究者あるいは医療研究者に代替するサービス提供者は、複数のウィルス感染者に対してデータの提供の同意を求めなければならず、ウィルス感染者が増加するほど、作業負荷が大きくなる。また、医療研究者あるいは医療研究者に代替するサービス提供者は、全てのウィルス感染者からの同意又は非同意の意思表示があるまでデータを取得できず、データ取得が遅延することがある。
【0007】
そこで、一開示は、ユーザの同意が必要な複数データを効率的に取得できる通信プログラム及び通信方法を提供する。
【課題を解決するための手段】
【0008】
複数ユーザのユーザデータを管理するデータ管理サーバと、前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、前記同意サーバが発行する、前記同意を得たユーザのユーザデータの公開を許可するトークンに基づき、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、を有する通信システムにおける、前記データ利用サーバが有するプログラムであって、一括で取得を要求する前記ユーザデータに関する要求情報を前記同意サーバに送信する送信処理と、前記要求情報に該当するユーザのうち、同意が得られたユーザに対応するトークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信するトークン要求処理と、前記トークン要求処理によって取得したトークンを使用し、前記データ管理サーバから、前記同意が得られたユーザのユーザデータうち、未取得のユーザデータを取得する取得処理と、を前記データ利用サーバが有するコンピュータに実行させる。
【発明の効果】
【0009】
一開示は、ユーザの同意が必要な複数データを効率的に取得できる。
【図面の簡単な説明】
【0010】
図1図1は、通信システム1の構成例を示す図である。
図2図2は、RP100の構成例を表す図である。
図3図3は、OP200の構成例を表す図である。
図4図4は、利用データ取得処理におけるシーケンスの例を示す図である。
図5図5は、一括データ取得処理(初日)のシーケンスの例を示す図である。
図6図6は、一括データ取得処理S100の処理フローチャートの例を示す図である。
図7図7は、スケジュール管理処理S101の処理フローチャートの例を示す図である。
図8図8は、一括同意取得要求受信処理S200の処理フローチャートの例を示す図である。
図9図9は、同意処理S201の処理フローチャートの例を示す図である。
図10図10は、トークン要求受信処理S202の処理フローチャートの例を示す図である。
図11図11は、データ取得処理S102の処理フローチャートの例を示す図である。
図12図12は、データ要求受信処理S300の処理フローチャートの例を示す。
図13図13は、トークン検証要求受信処理S203の処理フローチャートの例を示す図である。
図14図14は、OP200が有する内部テーブルの例を示す図である。
図15図15は、一括データ取得処理(2日目以降)のシーケンスの例を示す図である。
図16図16は、収集依頼によるデータ取得処理のシーケンスの例を示す図である。
【発明を実施するための形態】
【0011】
[第1の実施の形態]
第1の実施の形態について説明する。
【0012】
<通信システム1の構成例>
図1は、通信システム1の構成例を示す図である。通信システム1は、サービスプロバイダ端末100(以降、RP(Relying Party)100と呼ぶ場合がある)、同意ポータル200(以降、OP(OpenID Provider)200と呼ぶ場合がある)、データ提供者端末300(以降、RS(Resource Server)300と呼ぶ場合がある)、及び個人端末400-1~n(以降、個人端末400と呼ぶ場合がある)を有する。通信システム1は、RS300が管理するユーザ(個人端末400のユーザ)の個人情報を、ユーザの同意を得てPR100に提供するシステムである。OP200は、個人端末400を介して、ユーザの同意を得る同意処理を行う。各端末は、インターネットやローカルネットワークなどのネットワークを介して通信を行う。
【0013】
通信システム1は、一括データ取得及び個別データ取得に対応する。個別データは、個別に指定された1人(あるいは一群)のデータである。一括データは、複数のユーザの複数のデータである。一括データは、例えば、「あるウィルスに感染したユーザの診察データ」のように、病歴などの特性や、性別、身長、体重、住所、電話番号など、ユーザの属性に関する特性を指定される。また、一括データは、例えば、「あるウィルスに感染したユーザの診察データを8月30日まで」のように、取得期間が指定される場合もある。
【0014】
RP100は、データを使用するデータ使用者の要求に応じて、データ使用者にデータを提供するサービスプロバイダが使用するデータ利用サーバであり、例えば、コンピュータやサーバマシンである。RP100は、データ使用者から、一括データ又は個別データの取得要求を受信し、要求に応じてOP200に対してユーザの同意を取得するよう要求する。
【0015】
OP200は、個人端末400に対して同意を要求する同意ポータルサイトを有する同意サーバであり、例えば、コンピュータやサーバマシンである。OP200は、例えば、データ使用者が取得したいデータの内容に応じて個人端末400を抽出し、抽出した個人端末400に対して同意を要求する同意処理を行う。
【0016】
RS300は、ユーザの個人情報を管理するデータ管理サーバであり、例えば、コンピュータやサーバマシンである。RS300は、同意が取れたユーザの個人情報(ユーザデータ)を、RP100に送信する。
【0017】
個人端末400は、ユーザが使用する端末装置であり、例えば、コンピュータやタブレット端末である。個人端末400は、例えば、同意を求められたとき、画面上に同意するか否かを確認する画面を表示し、ユーザに同意又は非同意の意思を示す操作を促す。
【0018】
<RP100の構成例>
図2は、RP100の構成例を表す図である。RP100は、CPU(Central Processing Unit)110、ストレージ120、メモリ130、及び通信回路140を有する、例えば、サーバマシンである。
【0019】
ストレージ120は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ120は、一括データ取得プログラム121及び個別データ取得プログラム122を記憶する。
【0020】
メモリ130は、ストレージ120に記憶されているプログラムをロードする領域である。また、メモリ130は、プログラムがデータを記憶する領域としても使用されてもよい。
【0021】
CPU110は、ストレージ120に記憶されているプログラムを、メモリ130にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0022】
通信回路140は、他の装置と通信を行う回路である。通信回路140は、ネットワークを介して、他の装置とデータの送受信を行う。通信回路140は、例えば、NIC(Network Interface Card)である。
【0023】
CPU110は、一括データ取得プログラム121を実行することで、一括データ取得処理を行う。一括データ取得処理は、データ使用者から送信された一括データ取得の要求に応答し、取得する内容、期間等のデータ内容を含む同意要求を送信する処理である。RP100は、一括データ取得処理において、一括データを定期的に取得するスケジュール管理処理を行う。
【0024】
CPU110は、一括データ取得プログラム121が有するスケジュール管理モジュール1211を実行することで、スケジュール管理処理を行う。スケジュール管理処理は、OP200にトークンを要求する(トークン要求を送信する)スケジュール(送信タイミング)を管理し、トークンの応答を待ち受ける処理である。トークンは、同意が取れたユーザに対応するデータの送信許可であり、OP200によって発行される。
【0025】
CPU110は、一括データ取得プログラム121が有するデータ取得モジュール1212を実行することで、データ取得処理を行う。データ取得処理は、RS300からデータを取得する処理である。RP100は、データ取得処理において、RS300にトークンを送信し、データを受信する。
【0026】
また、CPU110は、個別データ取得プログラム122を実行することで、・・・部を構築し、個別データ取得処理を行う。個別データ取得処理は、あるユーザのデータを、例えば、ユーザを指定して取得する処理である。
【0027】
<OP200の構成例>
図3は、OP200の構成例を表す図である。OP200は、CPU210、ストレージ220、メモリ230、及び通信回路240を有する、例えば、サーバマシンである。
【0028】
ストレージ220は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ220は、一括同意取得要求受信プログラム221、トークン要求受信プログラム222、トークン検証要求受信プログラム223、及び個別同意プログラム224を記憶する。
【0029】
メモリ230は、ストレージ220に記憶されているプログラムをロードする領域である。また、メモリ230は、プログラムがデータを記憶する領域としても使用されてもよい。
【0030】
CPU210は、ストレージ220に記憶されているプログラムを、メモリ230にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0031】
通信回路240は、他の装置と通信を行う回路である。通信回路240は、ネットワークを介して、他の装置とデータの送受信を行う。通信回路240は、例えば、NICである。
【0032】
CPU210は、一括同意取得要求受信プログラム221を実行することで、一括同意取得要求受信処理を行う。一括同意取得要求受信処理は、RP100から一括同意取得要求を受信したときの処理である。OP200は、一括同意取得要求受信処理において、該当するユーザを抽出し、当該ユーザに対して同意を得るための同意処理を行う。
【0033】
CPU210は、一括同意取得要求受信プログラム221が有する同意モジュール2211を実行することで、同意処理を行う。同意処理は、ユーザに対して同意又は非同意の意思表示を要求し、ユーザから同意又は非同意の意思を取得する処理である。
【0034】
CPU210は、トークン要求受信プログラム222を実行することで、トークン要求受信処理を行う。トークン要求受信処理は、RP100からトークン要求を受信する処理である。OP200は、トークン要求受信処理において、同意の得られたユーザに対応するトークンを生成し、生成したトークンをRP100に送信する。
【0035】
CPU210は、トークン検証要求受信プログラム223を実行することで、トークン検証要求受信処理を行う。トークン検証要求受信処理は、RS300からトークン検証要求を受信する処理である。OP200は、トークン検証要求受信処理において、トークンの正当性を確認し、正当であった場合、トークン対応するユーザリスト及びトークンが正当であった旨を含むトークン検証応答をRS300に送信する。
【0036】
CPU210は、個別同意プログラム224を実行することで、個別同意処理を行う。個別同意処理は、RP100から個別データ取得における個別ユーザに対する同意を要求されたときの処理である。OP200は、個別同意処理において、該当するユーザから同意を得る処理を行う。
【0037】
<利用データ取得処理>
RP100の利用データ取得処理は、一括データ取得及び個別データ取得を含む。利用データ取得処理の概要を説明する。図4は、利用データ取得処理におけるシーケンスの例を示す図である。
【0038】
データ使用者500は、要求するデータの種別や内容をRP100に通知する(S1)。要求するデータの種別や内容は、例えば、一括データ取得と個別データ種別のいずれであるか、どのようなデータを取得したいか、一括データ取得の場合におけるデータの取得期間などを含む。
【0039】
RP200は、データ使用者の要求に応じて、OP200に同意を要求する(S2)。OP200は、同意を要求されると、該当するユーザの個人端末400に同意処理を行い、同意を得る(S3)。
【0040】
RP100は、トークンを要求する契機(例えば所定時間の経過など)が発生すると、トークンの発行をOP200に要求する(S2)。
【0041】
OP200は、トークンを要求されると、同意が得られたユーザに対応するトークンを生成し、トークンをRP100に送信する(S2)。
【0042】
RP100は、トークンを取得すると、トークンをRS300に送信し、データの取得を要求する(S4)。
【0043】
RS300は、トークンの正当性の検証のため、トークンの検証をOP200に要求する(S5)。
【0044】
OP200は、トークンの正当性を判定し、トークンが正当である場合、当該トークンに対応するユーザのユーザリストをRS300に送信する(S5)。
【0045】
RS300は、トークンが正当である場合、ユーザリストに掲載されたユーザの個人情報を医療データD300から抽出し、抽出したデータをRP100に送信する(S4)。
【0046】
RP100は、データを取得し、取得したデータを、例えば、内部メモリに記憶する。データ使用者500は、RP100に記憶されたデータを、任意のタイミングで取得やコピーすることができる。
【0047】
<一括データ取得処理>
次に、一括データ取得処理について説明する。一括データ取得処理において、「ウィルス感染者の診察データを、8月30日まで」のデータを一括で取得する場合の例について説明する。以下の例において、RP100において、トークン要求の送信契機は、期日(8月30日)までの23時59分とする。以下、一括データ取得処理は、初日及び2日目以降に分けて説明する。
【0048】
<初日について>
図5は、一括データ取得処理(初日)のシーケンスの例を示す図である。
【0049】
RP100は、一括データ取得の依頼を、例えば、データ使用者500から受け付ける(S10)。RP100は、一括データ取得の依頼を受信すると、一括データ取得処理を行う(S100)。
【0050】
図6は、一括データ取得処理S100の処理フローチャートの例を示す図である。RP100は、一括データ取得の依頼を受け付けるのを待ち受ける(S100-1のNo)。RP100は、一括データ取得の依頼を受け付けると(S100-1のYes)、取得したいデータ内容を含む、一括同意取得要求をOP200に送信する(S100-2)。取得したいデータ内容とは、例えば、あるウィルスに感染している人の診察データである。
【0051】
RP100は、スケジュール管理処理を開始する(S100-3)。スケジュール管理処理の詳細については、後述する。
【0052】
RP100は、要求受付を待ち受ける(S100-4のNo)。RP100は、要求受付を受信すると(S100-4のYes)、処理を終了する。
【0053】
図7は、スケジュール管理処理S101の処理フローチャートの例を示す図である。RP100は、トークン要求の送信契機が発生するのを待ち受ける(S101-1のNo)。RP100は、トークン要求の送信契機が発生すると(S101-1のYes)、トークン要求をOP200に送信する(S101-2)。
【0054】
トークン要求の送信契機は、例えば、1日1回の所定時間である。RP100は、例えば、23時59分がトークン要求の送信契機となる。
【0055】
RP100は、トークン応答を受信するのを待ち受ける(S101-3のNo)。RP100は、トークン応答を受信すると(S101-3のYes)、データ取得処理を行い(S102)、処理を終了する。
【0056】
図5のシーケンスに戻り、RP100は、一括データ取得処理S100において、一括同意取得要求をOP200に送信する(S11、図6のS100-2)。ここで、一括データ取得要求に含まれるデータ内容は、「ウィルス感染者の診察データを、8月30日まで」とする。RP100は、スケジュール管理処理S101を開始し(図6のS100-3)、トークン要求の送信契機を待ち受ける(図7のS101-1)。そして、RP100は、一括データ取得処理S100において、要求受付を受信する(S12、図6のS100-4)。
【0057】
OP200は、一括同意取得要求を受信すると、一括同意取得要求受信処理を行う(S200)。
【0058】
図8は、一括同意取得要求受信処理S200の処理フローチャートの例を示す図である。OP200は、一括同意取得要求を受信するのを待ち受ける(S200-1のNo)。OP200は、一括同意取得要求を受信すると(S200-1のYes)、データ内容に一致するユーザ(該当ユーザ)を抽出する(S200-2)。
【0059】
OP200は、抽出したユーザに対して、同意処理を開始する(S200-3)。同意処理の詳細については、後述する。
【0060】
OP200は、要求受付をRP100の送信し(S200-4)、処理を終了する。
【0061】
なお、ユーザの抽出処理S200-1、及び同意処理S200-3は、一括データ取得の期間内において、随時実行される。OP200は、新たに(後発的に)データ内容に一致するようになったユーザを監視し、新たに一致するようになったユーザに対しても同意処理を実行する。
【0062】
監視は、例えば、RS300から通知を受信することである。例えば、データ内容がウィルス感染者である場合、新たな感染者が発生するごとに、医療機関(例えば、RS300)から通知を受信し、当該ユーザに対して同意処理を行う。
【0063】
また、監視は、例えば、RS300に対して、追加、更新されたデータに関する情報の取得であってもよい。例えば、データ内容がウィルス感染者である場合、医療機関(例えば、RS300)に対して、更新、追加されたウィルス感染者に関する情報を要求し、取得する。そして、取得した情報から、新規の感染者を特定し、特定した当該ユーザに対して同意処理を行う。
【0064】
図9は、同意処理S201の処理フローチャートの例を示す図である。OP200は、当該ユーザの個人端末400に、同意要求を送信する(S201-1)。
【0065】
OP200は、同意応答を受信するのを待ち受ける(S201-2のNo)。OP200は、同意応答を受信すると(S201-2のYes)、当該ユーザの同意が得られている場合、当該ユーザの同意が得られたことを記憶し(S201-3)、処理を終了する。
【0066】
図8の処理S200-3においては、同意処理S201を、対象となる全ユーザに対して実行する。
【0067】
図5のシーケンスに戻り、OP200は、一括同意取得要求受信処理S200において、データ内容に一致するユーザ(個人端末400-1、2)を抽出する(図8のS200-2)。そして、OP200は、個人端末400-1、2に対して同意処理S201を開始する(図8のS200-3)。OP200は、個人端末400-1,2に対して、同意処理S201において、同意要求を送信する(S13、S14、図9のS201-1)。そして、OP200は、RP100の要求受付を送信する(S12、図8のS200-4)。
【0068】
OP200は、同意処理S201において、個人端末400-1,2から同意応答を受信し(図9のS201-2のYes)、個人端末400-1,2から同意が得られたことを記憶する(図9のS201-3)。
【0069】
RP100は、スケジュール管理処理S101において、トークン要求の送信契機が発生すると(S17、図7のS101-1のYes)、トークン要求をOP200に送信する(S18、図7のS101-2)。
【0070】
OP200は、トークン要求を受信すると、トークン要求受信処理を行う。
【0071】
図10は、トークン要求受信処理S202の処理フローチャートの例を示す図である。OP200は、トークン要求を受信するのを待ち受ける(S202-1のNo)。OP200は、トークン要求を受信すると(S202-1のYes)、内部に記憶する、同意が得られたユーザ(同意ユーザ)に対応するトークンを生成する(S202-2)。
【0072】
そして、OP200は、生成したトークンをRP100に送信し(S202-3)、処理を終了する。
【0073】
図5のシーケンスに戻り、OP200は、トークン要求受信処理S202において、同意が得られた個人端末400-1、2に対応するトークンT1を生成し(図10のS202-2)、生成したトークンT1をトークン応答でRP100に送信する(S19、図10のS202-3)。
【0074】
RP100は、スケジュール管理処理S101において、トークン応答を受信すると(図7のS101-3のYes)、データ取得処理S102を行う。
【0075】
図11は、データ取得処理S102の処理フローチャートの例を示す図である。RP100は、取得したトークンを含む、データ要求をRS300に送信する(S102-1)。RP100は、データ応答を受信するのを待ち受ける(S102-2のNo)。
【0076】
RP100は、データ応答を受信すると(S102-2のYes)、データ応答に含まれるデータを内部メモリなどに記憶し(S102-3)、処理を終了する。
【0077】
図5のシーケンスに戻り、OP200は、データ取得処理S102において、トークンT1を含むデータ要求をRS300に送信する(S20、図11のS102-1)。
【0078】
RS300は、データ要求を受信すると、データ要求受信処理を行う。
【0079】
図12は、データ要求受信処理S300の処理フローチャートの例を示す。RS300は、データ要求を受信するのを待ち受ける(S300-1のNo)。RS300は、データ要求を受信すると(S300-1のYes)、データ要求に含まれるトークンのトークン検証要求をOP200に送信する(S300-2)。
【0080】
RS300は、トークン検証応答を待ち受ける(S300-3のNo)。RS300は、トークン検証応答を受信すると(S300-3のYes)、トークン検証応答に含まれるユーザリストのユーザのデータを抽出し、抽出したデータを含むデータ応答をRP100に送信し(S300-4)、処理を終了する。
【0081】
図5のシーケンスに戻り、RS300は、データ要求受信処理S300において、トークンT1を含むデータ検証要求をOP200に送信する(S21、図12のS300-2)。
【0082】
OP200は、トークン検証要求を受信すると、トークン検証要求受信処理を行う。
【0083】
図13は、トークン検証要求受信処理S203の処理フローチャートの例を示す図である。OP200は、トークン検証要求を受信するのを待ち受ける(S203-1のNo)。OP200は、トークン検証要求を受信すると(S203-1のYes)、トークンに対応するユーザリストを含む、トークン検証応答(トークン許可)をRS300に送信し(S203-2)、処理を終了する。
【0084】
なお、ユーザリストは、2回目以降は差分リストとする。差分リストとすることで、同一ユーザのデータを重複して送信しないようにすることができる。
【0085】
また、OP200は、トークン検証応答の送信前に、当該トークンが正当であるか(OP200が発行したものであるか)否かを検証し、正当でない場合、トークンの検証応答を送信しない、あるいは正当でない旨を含むトークン検証応答を送信してもよい。
【0086】
図5のシーケンスに戻り、OP200は、トークン検証要求受信処理S203において、トークンT1に対応する個人端末400-1,2をユーザリストに含め、当該ユーザリストを含むトークン検証応答をRS300に送信する(S22、図13のS203-2)。
【0087】
RS300は、データ要求受信処理S300において、トークン検証応答を受信し(図12のS300-3のYes)、ユーザリストの個人端末400-1,2のユーザのデータ(例えば診察データ)を含む、データ応答をRP100に送信する(S23、図12のS300-4)。
【0088】
RP100は、データ取得処理S102において、データ応答を受信し(図11のS102-2のYes)、データ応答に含まれる個人端末400-1,2のユーザの診察データを内部メモリに記憶する。
【0089】
図14は、OP200が有する内部テーブルの例を示す図である。図14(A)は、ユーザの同意状態を記憶する同意状態テーブルの例を示す図である。「ユーザ」は、同意を得るユーザである。「CD」は、データの取得を依頼するデータ使用者である。「同意状態」は、同意がどのような状態であるかを示し、OK、NG、応答待ちなどで示す。「取得日時」は、同意のOKまたはNGを取得した日時を示す。
【0090】
OP200は、同意処理S201において、同意が得られた場合、同意が得られた日時を「取得日時」に記憶し、「同意状態」にOKを記憶する。図14(A)においては、例えば、ユーザ400-1、2、及び3が、同意が得られたユーザの例である。
【0091】
OP200は、同意処理S201において、同意が得られなかった場合、同意が得られなかった日時を「取得日時」に記憶し、「同意状態」にNGを記憶する。図14(A)においては、例えば、ユーザ400-nが、同意が得られなかったユーザの例である。
【0092】
OP200は、同意処理S201において、同意を要求し、同意応答を受信していないユーザに対して、「同意状態」に応答待ちを記憶する。図14(A)においては、例えば、ユーザ400-4が、同意待ちユーザの例である。
【0093】
図14(B)は、生成したトークンを記憶するトークンテーブルの例を示す図である。「CD」は、データの取得を依頼するデータの使用者である。「RP」は、一括同意取得要求を送信したRP100の識別子である。図1においては、RP100は1台であるが、運用においては、複数のRP100が存在する場合がある。
【0094】
「リクエスト」は、リクエストの識別子であり、例えば、一括同意取得要求ごとに発行される番号である。「トークン」は、トークンの識別子である。「生成時間」は、トークンを生成した日時である。「ユーザリスト」は、トークンに対応するユーザのリストである。「差分リスト」は、前回のユーザリストと、今回のユーザリストの差分ユーザのリストである。差分ユーザ(未許可ユーザ)は、以前に送信したトークン検証応答のユーザリスト又は差分リストに掲載されていないユーザであり、データの公開を許可されていないデータのユーザである。
【0095】
OP200は、トークン要求の受信に応じて、トークンを生成する。このとき、OP200は、「CD」、「RP」、「リクエスト」、「トークン」、「生成時間」を記憶する。そして、OP200は、同意状態テーブルから、同意しているユーザを抽出し、「ユーザリスト」に記憶する。さらに、OP200は、ユーザリストに差分があれば、差分リストに記憶する。
【0096】
図14(B)において、例えば、トークンT1は、個人端末400-1、2のユーザに対応するトークンである。また、図14(B)において、例えば、トークンT2は、個人端末400-1、2、3のユーザに対応するトークンである。差分リストは、トークンT1のユーザリストのユーザとの差分である個人端末400-3のユーザである。
【0097】
<2日目以降について>
図15は、一括データ取得処理(2日目以降)のシーケンスの例を示す図である。個人端末400-3に対する同意処理S201を実行する契機が発生する(S30)。
【0098】
OP200は、個人端末400-3に対して同意処理S201を実行する。OP200は、個人端末400-3に同意要求を送信し(S31、図9のS201-1)、個人端末400-3から同意応答を受信し(S32、図9のS201-2のYes),個人端末400-3から同意を得られたことを記憶する(図9の201-3)。
【0099】
RP100は、スケジュール管理処理S101において、トークン要求の送信契機が発生すると(S33、図7のS101-1のYes)、トークン要求をOP200に送信する(S34、図7のS101-2)。
【0100】
OP200は、トークン要求を受信すると、トークン要求受信処理をおこなう。OP200は、トークン要求受信処理S202において、同意が得られた個人端末400-1、2、及び3に対応するトークンT2を生成し(図10のS202-2)、生成したトークンT2をトークン応答でRP100に送信する(S35、図10のS202-3)。
【0101】
RP100は、スケジュール管理処理S101において、トークン応答を受信すると(図7のS101-3のYes)、データ取得処理S102を行う。OP200は、データ取得処理S102において、トークンT2を含むデータ要求をRS300に送信する(S36、図11のS102-1)。
【0102】
RS300は、データ要求を受信すると、データ要求受信処理を行う。RS300は、データ要求受信処理S300において、トークンT2を含むデータ検証要求をOP200に送信する(S37、図12のS300-2)。
【0103】
OP200は、トークン検証要求を受信すると、トークン検証要求受信処理を行う。OP200は、トークン検証要求受信処理S203において、トークンT2に対応する個人端末400-3を差分リストに含め、当該差分リストを含むトークン検証応答をRS300に送信する(S38、図13のS203-2)。
【0104】
RS300は、データ要求受信処理S300において、トークン検証応答を受信し(図12のS300-4のYes)、差分リストの個人端末400-3のユーザのデータを含む、データ応答をRP100に送信する(S39、図12のS300-2)。
【0105】
RP100は、データ取得処理S102において、データ応答を受信し(図11のS102-2のYes)、データ応答に含まれる個人端末400-3のユーザの診察データを内部メモリに記憶する。RP100は、これにより、個人端末400-1~3のユーザのデータを記憶することとなる。
【0106】
以降、一括データ取得におけるデータ内容に指定された期間である8月30日まで2日目以降のシーケンスを繰り返す。
【0107】
第1の実施の形態において、一括データを取得するとき、OP200は、随時ユーザに対して同意処理を行う。そして、RP100が、スケジュール管理し、OP200にトークンを要求すると、OP200は、その時点で同意が取れているユーザに対応するトークンを送信する。これにより、RP100は、全ユーザの同意がとるまで待つことなく、さらに、個別のユーザに対する同意の取得をOP200に送信することもなく、定期的に必要なデータを取得することができる。
【0108】
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態において、RP100は、OP200からの収集依頼に応答し、トークン要求を送信する。すなわち、トークン要求送信契機の一つとして、OP200から送信される収集依頼を受信することが含まれる。
【0109】
図16は、収集依頼によるデータ取得処理のシーケンスの例を示す図である。
【0110】
OP200において、収集依頼を送信する契機が発生する(S50)。収集依頼の送信契機は、例えば、データの対象ユーザが所定数以上となった場合である。これは、対象ユーザの数の増加が大きいため、取得するデータ量が大きくなるため、ある程度分割してデータを取得するように、RP100に依頼する意図である。「ウィルス感染者の診察データを、8月30日まで」の例においては、ウィルス感染者が爆発的に増加した場合が、この例に該当する。
【0111】
また、収集依頼の送信契機は、例えば、同意が得られたユーザの数が所定数以上となった場合である。これは、同意が取れたユーザ数が所定数以上となり、十分なデータ量となるため、定時(この場合23時59分)を待たずに、データを取得するようRP100に促す意図である。RP100は、定時を待たずに、ある程度の量のデータを取得することができる。
【0112】
OP200は、収集依頼の送信契機が発生すると(S50)、RP100に収集依頼を送信する(S51)。
【0113】
RP100は、収集依頼を受信すると、スケジュール管理処理S101における、トークン要求の送信契機が発生したと判断し(図7のS101-1のYes)、トークン要求をOP200に送信する(S53、図7のS101)。
【0114】
以降、処理S54から処理S58までの処理は、初日(初回)の場合は図5の処理S19から処理S23まで、2日目(2回目)以降の場合は図15の処理S35から処理S39までと同様の処理を行う。
【0115】
第2の実施の形態において、OP200が主導し、RP100にトークン要求の送信を依頼することができる。これにより、定期的なトークン要求以外に、即時にデータを取得した方がよい場合(例えば、データ量が膨大となる)などに対応することができる。
【0116】
[その他の実施の形態]
データ取得処理は、CIBAプロトコルを使用して実現することができる。この場合、通信システム1における、RP100とOP200との間の通信は、CIBAプロトコルに準拠する。
【0117】
図5における、一括同意取得要求は、Signed Authentication Requestを使用することで実現できる。メッセージのパラメータに、一括データ取得又は個別データ取得である旨、及びデータ内容を示すパラメータを追加してもよい。これにより、通信システム1は、個別データ取得と一括データ取得の両方を実現することができる。
【0118】
要求受付は、Successful Authentication Request Acknowledgementを使用することができる。
【0119】
トークン要求は、Token Request Using CIBA Grant Typeを使用することができる。メッセージのパラメータに、どのリクエストに対応するものであるか(どの一括データ取得要求に対応する、あるいは、どの個別データ取得に対応する)を示すパラメータを追加してもよい。
【0120】
トークン応答は、Successful Token Responseを使用することができる。このメッセージは、生成したトークンを含めばよい。
【0121】
また、第2の実施の形態における収集依頼メッセージに、RP100が対応するか否かを示すメッセージとして、Registration and Discovery Metadataを使用してもよい。これは、RP100が対応するシーケンスを示すものある。シーケンスは、例えば、POLL、PING、PUSHなどを含む。
【0122】
POLLとは、例えば、RP100がOP200に対して、トークンの発行が可能か否かを問い合わせる(トークン要求に相当)シーケンスである。OP200は、問い合わせに対して、まだトークンを送信できない、あるいは生成できるのでトークンを送信するなどの処理を行う。第1の実施の例のシーケンスが、CIBAにおけるPOLLに相当する。
【0123】
PINGとは、例えば、OP200がトークンの発行が可能であることを、RP100に送信する(第2の実施の形態の収集依頼に相当)シーケンスである。第2の実施の形態の例のシーケンスが、CIBAにおけるPINGに相当する。
【0124】
PUSHは、例えば、OP200が自律的に、RP100にトークンを送信するシーケンスである。OP200は、例えば、第2の実施の形態において、収集依頼を送信せず、自律的に生成したトークンを送信することで、CIBAにおけるPUSHを実現することができる。
【0125】
RP100は、事前に(例えば、通信システム1の構築時や、RP100の設置時)、Registration and Discovery MetadataにRP100がいずれのシーケンスに対応するかを含め、OP200に送信する。対応シーケンスがPOPのみである場合、第2の実施の形態は対応しないことを示し、対応シーケンスがPOP及ぶPUSHである場合、第2の実施の形態にも対応することを示す。
【0126】
以下、まとめると付記のようになる。
【0127】
(付記1)
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザのユーザデータの公開を許可するトークンに基づき、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記データ利用サーバが有するプログラムであって、
一括で取得を要求する前記ユーザデータに関する要求情報を前記同意サーバに送信する送信処理と、
前記要求情報に該当するユーザのうち、同意が得られたユーザに対応するトークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信するトークン要求処理と、
前記トークン要求処理によって取得したトークンを使用し、前記データ管理サーバから、前記同意が得られたユーザのユーザデータうち、未取得のユーザデータを取得する取得処理と、
を前記データ利用サーバが有するコンピュータに実行させる通信プログラム。
【0128】
(付記2)
前記送信タイミングは、所定時間に到達することを含む
付記1記載の通信プログラム。
【0129】
(付記3)
前記同意サーバから前記トークン要求を送信するよう要求されたとき、前記送信タイミングでない場合でも、前記トークン要求を前記同意サーバの送信する
付記1記載の通信プログラム。
【0130】
(付記4)
前記要求情報は、前記データ利用サーバが取得を要望するデータ内容の条件を含む
付記1記載の通信プログラム。
【0131】
(付記5)
前記データ内容の条件は、時間的な条件を含む
付記4記載の通信プログラム。
【0132】
(付記6)
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記同意サーバが有するプログラムであって、
前記データ利用サーバが一括で取得を要求するユーザデータに関する要求情報を、前記データ利用サーバから受信する受信処理と、
前記要求情報を受信したとき、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求する同意処理と、
前記データ利用サーバからトークンの発行を要求するトークン要求を受信したとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信するトークン発行処理と、
前記データ管理サーバから前記第1トークンの検証を要求されたとき、前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン検証処置と、
を前記同意サーバが有するコンピュータに実行させる通信プログラム。
【0133】
(付記7)
前記同意処理において、前記抽出を行ったときには前記要求情報に該当しなかったが、後発的に前記要求情報に該当するようになった新規該当ユーザを監視し、前記新規該当ユーザに対して同意を要求する
付記6記載の通信プログラム。
【0134】
(付記8)
さらに、所定条件を満たすとき、前記トークン要求を送信するよう前記データ利用サーバに要求するトークン要求送信処理を、
前記同意サーバが有するコンピュータに実行させる、付記7記載の通信プログラム。
【0135】
(付記9)
前記所定条件は、前記新規該当ユーザが第1閾値以上となることを含む
付記8記載の通信プログラム。
【0136】
(付記10)
前記所定条件は、前記未許可ユーザの人数が第2閾値以上となることを含む
付記8記載の通信プログラム。
【0137】
(付記11)
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザデータの公開を許可するトークンに基づき、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記データ利用サーバの通信方法であって、
一括で取得を要求するユーザデータに関する要求情報を前記同意サーバに送信する送信工程と、
前記要求情報に該当するユーザのうち、同意が得られたユーザに対応するトークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信するトークン要求工程と、
前記トークン要求工程によって取得したトークンを使用し、前記データ管理サーバから、前記同意が得られたユーザのユーザデータうち、未取得のユーザデータを取得する取得工程と、
を有する通信方法。
【0138】
(付記12)
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける、
前記同意サーバの通信方法であって、
前記データ利用サーバが一括で取得を要求するユーザデータに関する要求情報を、前記データ利用サーバから受信する受信工程と、
前記要求情報を受信したとき、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求する同意工程と、
前記データ利用サーバからトークンの発行を要求されたとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信するトークン発行工程と、
前記データ管理サーバから前記第1トークンの検証を要求されたとき、前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン検証工程と、
を有する通信方法。
【0139】
(付記13)
複数ユーザのユーザデータを管理するデータ管理サーバと、
前記ユーザデータをデータ利用サーバに公開することの同意を前記ユーザに要求する同意サーバと、
前記同意サーバが発行する、前記同意を得たユーザに対応するトークンを使用し、前記ユーザデータを前記データ管理サーバから取得する前記データ利用サーバと、
を有する通信システムにおける通信方法であって、
前記データ利用サーバは、一括で取得を要求するユーザデータに関する要求情報を前記同意サーバに送信し、
前記同意サーバは、前記要求情報を受信し、前記要求情報に該当する該当ユーザを抽出し、前記該当ユーザに対して同意を要求し、
前記データ利用サーバは、トークンを発行するよう要求するトークン要求の送信タイミングをスケジューリングし、前記スケジューリングに従い、前記トークン要求を前記同意サーバに送信し、
前記同意サーバは、前記トークン要求を受信したとき、同意が得られた同意ユーザに対応する第1トークンを発行し、前記第1トークンを前記データ利用サーバに送信し、
前記データ利用サーバは、前記第1トークンを受信し、前記第1トークンを含む、前記第1トークンに対応するユーザのユーザデータの公開を要求するデータ要求を、前記データ管理サーバに送信し、
前記データ管理サーバは、前記データ要求を受信し、前記第1トークンの検証を要求するトークン検証要求を前記同意サーバに送信し、
前記同意サーバは、前記トークン検証要求を受信し、前記第1トークンに対応する前記同意ユーザのうち、以前に公開を許可していない未許可ユーザのユーザデータの公開を、前記データ管理サーバに許可するトークン許可を前記データ管理サーバに送信し、
前記データ管理サーバは、前記トークン許可を受信し、前記未許可ユーザのユーザデータを、前記データ利用サーバに送信する
通信方法。
【0140】
(付記14)
前記データ利用サーバと前記同意サーバとの間で送受信されるメッセージは、CIBA(Client Initiated Backchannel Authentication)プロトコルに準拠する
付記13記載の通信方法。
【符号の説明】
【0141】
1 :通信システム
100 :RP(サービスプロバイダ端末)
110 :CPU
120 :ストレージ
121 :一括データ取得プログラム
1211 :スケジュール管理モジュール
1212 :データ取得モジュール
122 :個別データ取得プログラム
130 :メモリ
140 :通信回路
200 :OP(同意ポータル)
210 :CPU
220 :ストレージ
221 :一括同意取得要求受信プログラム
2211 :同意モジュール
222 :トークン要求受信プログラム
223 :トークン検証要求受信プログラム
224 :個別同意プログラム
230 :メモリ
240 :通信回路
300 :RS(データ提供者端末)
400 :個人端末
500 :データ使用者
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16