(57)【要約】【課題】Ｐ２Ｐデータベースに登録されているデータへのアクセス制御を実現することが可能となる。【解決手段】ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得する取得部と、前記任意のデータのＰ２Ｐデータベースへの登録を制御する登録制御部と、を備える、情報処理装置が提供される。【選択図】図７
2019054044.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得する取得部と、
前記任意のデータのＰ２Ｐデータベースへの登録を制御する登録制御部と、を備える、
情報処理装置。
【請求項２】
前記アクセス権情報に基づいて前記Ｐ２Ｐデータベースに登録された前記任意のデータへのアクセス制御を行うアクセス制御部をさらに備える、
請求項１に記載の情報処理装置。
【請求項３】
前記アクセス制御部は、前記Ｐ２Ｐデータベースに設けられ、前記Ｐ２Ｐデータベース上で実行される所定のプログラムを用いて前記アクセス制御を行う、
請求項２に記載の情報処理装置。
【請求項４】
前記所定のプログラムには、前記アクセス権情報に基づく前記アクセス制御の内容を定義するテンプレートが設けられる、
請求項３に記載の情報処理装置。
【請求項５】
前記テンプレートは、前記任意のデータにて前記アクセス制御の対象となる範囲、および、前記アクセス制御にて許可される処理の内容または禁止される処理の内容を定義する、
請求項４に記載の情報処理装置。
【請求項６】
前記テンプレートは、前記アクセス権情報が不完全な場合または前記アクセス権情報に誤りがある場合における前記アクセス制御の内容を定義する、
請求項４に記載の情報処理装置。
【請求項７】
ユーザからの要求に基づいて前記テンプレートの新規作成、変更または削除を行うテンプレート設定部をさらに備える、
請求項４に記載の情報処理装置。
【請求項８】
前記アクセス権情報は、設定されるアクセス権に関する情報および前記アクセス権の設定対象となるユーザに関する情報を含む、
請求項１に記載の情報処理装置。
【請求項９】
前記アクセス権の設定対象となるユーザには、認証されていないユーザである匿名者が含まれる、
請求項８に記載の情報処理装置。
【請求項１０】
前記アクセス権には、前記任意のデータの読み取り、前記任意のデータの承認、任意の装置にキャッシュされた前記任意のデータを一意に特定する情報の書き込み、前記任意のデータの上書き、または、前記任意のデータに対する追記に関する権限が含まれる、
請求項８に記載の情報処理装置。
【請求項１１】
複数の前記任意のデータが含まれるファイルを取得し、一括かつ自動的に、前記任意のデータと前記アクセス権情報を対応付けるアクセス権設定部をさらに備える、
請求項８に記載の情報処理装置。
【請求項１２】
前記Ｐ２Ｐデータベースはブロックチェーンデータである、
請求項１に記載の情報処理装置。
【請求項１３】
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、
前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、を有する、
コンピュータにより実行される情報処理方法。
【請求項１４】
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、
前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、以下の非特許文献１に開示されているブロックチェーンデータをはじめとしたピアツーピアデータベースを使用するサービスが盛んに開発されている。例えば、仮想通貨のやり取りにブロックチェーンデータを使用する、以下の非特許文献２のＢｉｔｃｏｉｎ等が挙げられる。【０００３】
ブロックチェーンデータをはじめとしたピアツーピアデータベースを使用するサービスは、ピアツーピアデータベースに登録されているデータの改ざん等を防ぎ、データの真正性を担保することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Melanie Swan,“Blockchain”,（米）,O’Reilly Media, 2015-01-22
【非特許文献２】Andreas M.Antonopoulos,“Mastering Bitcoin”,（米）,O’Reilly Media, 2014-12-01
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ピアツーピアデータベースを保有する情報処理装置は、ピアツーピアデータベースに登録されているデータを取得し、閲覧することができる。換言すると、ピアツーピアデータベースにデータが登録された場合、当該データはピアツーピアデータベースを保有する情報処理装置に閲覧され得ることになり、データを登録したユーザは、当該データへのアクセス制御を適切に行うことができなかった。【０００６】
そこで、本開示は、上記事情に鑑みてなされたものであり、本開示の目的とするところは、ピアツーピアデータベースに登録されているデータへのアクセス制御を実現することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本開示によれば、ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得する取得部と、前記任意のデータのＰ２Ｐデータベースへの登録を制御する登録制御部と、を備える、情報処理装置が提供される。【０００８】
また、本開示によれば、ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、を有する、コンピュータにより実行される情報処理方法が提供される。【０００９】
また、本開示によれば、ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、ピアツーピアデータベースに登録されているデータへのアクセス制御を実現することが可能となる。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。
【図２】ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。
【図３】ピアツーピアデータベースの一種であるブロックチェーンデータの概要について説明する図である。
【図４】本実施形態に係る情報処理システムの構成例について説明する図である。
【図５】本実施形態に係るユーザ装置１００の機能構成例を示すブロック図である。
【図６Ａ】データと、データに対応付けられるアクセス権情報の具体例について説明する図である。
【図６Ｂ】データと、データに対応付けられるアクセス権情報の具体例について説明する図である。
【図６Ｃ】データと、データに対応付けられるアクセス権情報の具体例について説明する図である。
【図７】本実施形態に係るノード装置２００の機能構成例を示すブロック図である。
【図８】テンプレートの具体例について説明する図である。
【図９】データおよびアクセス権情報をＰ２Ｐデータベースへ登録する処理の流れの一例を示すフローチャートである。
【図１０】データへのアクセス制御に関する処理の流れの一例を示すフローチャートである。
【図１１】本実施形態に係るユーザ装置１００またはノード装置２００を実現する情報処理装置９００のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．ピアツーピアデータベースの概要
２．実施形態
２．１．概要
２．２．システム構成例
２．３．ユーザ装置１００の機能構成例
２．４．ノード装置２００の機能構成例
２．５．処理の流れ
２．６．アクセス権情報の一括設定機能
３．ハードウェア構成例
４．まとめ
【００１５】
＜１．ピアツーピアデータベースの概要＞
本開示の一実施形態について説明する前に、まず、ピアツーピアデータベースの概要について説明する。
【００１６】
本実施形態に係る情報処理システムでは、ピアツーピアネットワークに流通している分散型のピアツーピアデータベースが利用される。なお、ピアツーピアネットワークは、ピアツーピア型分散ファイルシステムと呼ばれる場合もある。以下では、ピアツーピアネットワークを「Ｐ２Ｐネットワーク」、ピアツーピアデータベースを「Ｐ２Ｐデータベース」と示す場合がある。Ｐ２Ｐデータベースの例として、Ｐ２Ｐネットワークに流通しているブロックチェーンデータが利用される場合がある。よって最初に、一例として、ブロックチェーンシステムの概要について説明する。
【００１７】
図１に示すように、ブロックチェーンデータは、複数のブロックがあたかも鎖のように連なって含まれるデータである。それぞれのブロックには、１または２以上の対象データが、トランザクション（取引）として格納されうる。
【００１８】
ブロックチェーンデータとしては、例えば、Ｂｉｔｃｏｉｎ等の仮想通貨のデータのやり取りに用いられるブロックチェーンデータが挙げられる。仮想通貨のデータのやり取りに用いられるブロックチェーンデータには、例えば、直前のブロックのハッシュと、ナンスと呼ばれる値が含まれる。直前のブロックのハッシュは、直前のブロックから正しく連なる、「正しいブロック」であるか否かを判定するために用いられる情報である。ナンスは、ハッシュを用いた認証においてなりすましを防ぐために用いられる情報であり、ナンスを用いることによって改ざんが防止される。ナンスとしては、例えば、文字列、数字列、あるいは、これらの組み合わせを示すデータ等が挙げられる。
【００１９】
また、ブロックチェーンデータでは、各トランザクションのデータは、暗号鍵を用いた電子署名が付与される。また、各トランザクションのデータは公開され、Ｐ２Ｐネットワーク全体で共有される。
【００２０】
図２は、ブロックチェーンシステムにおいて、対象データがユーザＡによって登録される様子を示す図である。ユーザＡは、ブロックチェーンデータに登録する対象データを、ユーザＡの秘密鍵を用いて電子署名する。そしてユーザＡは、電子署名された対象データを含むトランザクションをＰ２Ｐネットワーク上にブロードキャストする。これによって、対象データの保有者がユーザＡであることが担保される。
【００２１】
図３は、ブロックチェーンシステムにおいて、対象データがユーザＡからユーザＢに移行される様子を示す図である。ユーザＡは、トランザクションにユーザＡの秘密鍵を用いて電子署名を行い、またトランザクションにユーザＢの公開鍵を含める。これにより、対象データがユーザＡからユーザＢに移行されたことが示される。また、ユーザＢは、対象データの取引に際して、ユーザＡからユーザＡの公開鍵を取得し、電子署名された対象データを取得してもよい。
【００２２】
また、ブロックチェーンシステムでは、例えばサイドチェイン技術を利用することによって、Ｂｉｔｃｏｉｎのブロックチェーンデータなどの、既存の仮想通貨のデータのやり取りに用いられるブロックチェーンデータに、仮想通貨とは異なる他の対象データを含めることが可能である。
【００２３】
＜２．実施形態＞
上記では、ピアツーピアデータベースの概要について説明した。続いて、本開示の一実施形態について説明する。
【００２４】
（２．１．概要）
まず、本開示の概要について説明する。
【００２５】
上記のとおり、ブロックチェーンデータ等のＰ２Ｐデータベースを用いてデータを管理する情報処理システムは、データの改ざん等を防ぎデータの真正性を担保することができる。
【００２６】
しかし、上記のとおり、Ｐ２Ｐデータベースを保有する情報処理装置は、Ｐ２Ｐデータベースに登録されているデータを取得し、閲覧することができるため、Ｐ２Ｐデータベースにデータが登録された場合、当該データはＰ２Ｐデータベースを保有する情報処理装置に閲覧され得ることになり、データを登録したユーザは、当該データへのアクセス制御を適切に行うことができなかった。
【００２７】
本件の開示者は、上記事情に鑑み、本開示を創作するに至った。本開示に係る情報処理システムは、ユーザ所望のアクセス権情報が対応付けられた任意のデータをＰ２Ｐデータベースへ登録することができる。そして、本開示に係る情報処理システムは、Ｐ２Ｐデータベースに設けられ、Ｐ２Ｐデータベース上で実行される所定のプログラム（例えば、チェーンコード等）にテンプレートを設け、当該テンプレートを用いて、データに対応付けられたアクセス権情報を解釈することでアクセス制御を実現する。ここで、テンプレートとは、アクセス権情報によって許可される内容または禁止される内容等を定義するプログラムである。以上によって、Ｐ２Ｐデータベースの管理者ではなく、データを作成したユーザ自身が、Ｐ２Ｐデータベースに登録されているデータへのアクセス制御を実現することができる。
【００２８】
また、本開示に係る情報処理システムは、システム上で認証されていないユーザ（以降、「匿名者」と呼称する場合もある）に対するアクセス権情報を設定することができる。これによって、匿名者がＰ２Ｐデータベースに登録されているデータの取得を要求した場合においても、本開示に係る情報処理システムは、当該データに対応付けられたアクセス権情報に基づいて適切に対応することができる。ここで、匿名者とは、例えば、所定のユーザ認証処理（例えば、ＩＤおよびＰＷによるユーザ認証、指紋認証または虹彩認証等）を行っていないか、所定のユーザ認証に失敗したユーザ、本サービスを初めて利用するユーザ、ユーザ登録が行われていないユーザ、または、本サービスを提供する事業者以外の事業者等を含む。
【００２９】
また、本開示に係る情報処理システムは、データに対応付けられたアクセス権情報もＰ２Ｐデータベースへ登録することによって、アクセス権情報の改ざん等を防ぎアクセス権情報の真正性を担保することができる。
【００３０】
また、本開示に係る情報処理システムは、アクセス権情報を解釈する際に用いられるテンプレートを設定すること（例えば、新規作成、変更または削除等）ができる。これによって、例えば、ユーザに対してサービスを提供する事業者等が、テンプレートを設定することで、アクセス権情報の取り扱いを決めることができる。
【００３１】
なお、本開示は、Ｐ２Ｐデータベースを使用するものであれば、いかなるシステム、装置およびサービス等に適用されてもよい。以降では、本開示が、学習到達・活動記録サービスを提供する情報処理システムに適用される場合について説明する。ここで、学習到達・活動記録サービスとは、各教育機関（例えば、保育園、幼稚園、小学校、中学校、高等学校、大学、大学院、学習塾、予備校または資格学校等）が生徒の学習到達記録（例えば、試験結果、取得単位または取得資格等に関する記録）および生徒の活動記録（例えば、クラブ活動、生徒会活動または出席状況等に関する記録）等をＰ２Ｐデータベースへ登録し管理するサービスである。これによって、生徒の学習到達記録および活動記録の真正性が担保される。当該サービスは、例えば、ユーザが試験結果や取得単位等に関する情報を、受験先の学校や就職予定の企業等に対して提出する場合等に利用され得る。なお、学習到達・活動記録サービスの内容は、上記に限定されない。例えば、学習到達・活動記録サービスは、教育機関以外の機関によって利用され、対象者の社会経験または職歴等に関する記録がＰ２Ｐデータベースに登録され、管理されてもよい。
【００３２】
（２．２．システム構成例）
上記では、本開示の概要について説明した。続いて、図４を参照して、本実施形態に係る情報処理システムの構成例について説明する。
【００３３】
図４に示すように、本実施形態に係る情報処理システムは、複数のユーザ装置１００（図中では、ユーザ装置１００ａおよびユーザ装置１００ｂ）と、複数のノード装置２００（図中では、ノード装置２００ａ〜ノード装置２００ｄ）と、を備える。また、複数のユーザ装置１００は、ネットワーク３００を介してノード装置２００（図中では、ノード装置２００ａ）に接続している。また、複数のノード装置２００は、それぞれＰ２Ｐネットワーク４００に接続している。なお、本実施形態に係る情報処理システムの構成は、図４の構成に限定されない。例えば、情報処理システムを構成する各装置の台数は適宜変更されてもよい。また、ユーザ装置１００ａおよびユーザ装置１００ｂは、互いに異なるノード装置２００に接続してもよい。
【００３４】
（ユーザ装置１００）
ユーザ装置１００は、Ｐ２Ｐデータベースへのデータの登録、または、Ｐ２Ｐデータベースからのデータの取得を要求するユーザまたは事業者等に使用される情報処理装置である。例えば、ユーザ装置１００は、学習到達・活動記録サービスを利用する生徒等の装置、または、学習到達・活動記録サービスを提供する事業者等の装置であってもよい。換言すると、本実施形態における「ユーザ」とは、本サービスを利用する生徒等または本サービスを提供する事業者等を含み得る。
【００３５】
Ｐ２Ｐデータベースへのデータの登録処理について説明すると、ユーザ装置１００は、Ｐ２Ｐデータベースに登録される任意のデータを作成し、ユーザ所望のアクセス権情報を対応付ける。そして、ユーザ装置１００は、互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベースへ登録するよう要求する要求情報を作成し、当該情報をノード装置２００に提供する。これによって、互いに対応付けられたデータおよびアクセス権情報がＰ２Ｐデータベースに登録される。なお、アクセス権情報の詳細については後述する。
【００３６】
Ｐ２Ｐデータベースからのデータの取得処理について説明すると、ユーザ装置１００は、Ｐ２Ｐデータベースに登録されているデータを指定する要求情報（例えば、クエリ等）を作成し、当該情報をノード装置２００に提供することで、Ｐ２Ｐデータベースに登録されている所望のデータを取得する。その際、ユーザ装置１００は、認証されたユーザを特定可能な識別情報も併せてノード装置２００に提供する。これによって、ノード装置２００による、Ｐ２Ｐデータベースに登録されているデータへのアクセス制御が実現される。なお、ユーザ装置１００を操作するユーザは、自ら（または自装置）作成したデータだけを取得するだけでなく、アクセス権情報の内容によっては、他人（または他のユーザ装置１００）によって作成されたデータを取得することもできる。例えば、あるユーザがユーザ装置１００ａを用いて作成したデータを、アクセス権を有する別のユーザがユーザ装置１００ｂを用いてＰ２Ｐデータベースから取得することもできる。
【００３７】
また、ユーザ装置１００の種類は特に限定されない。例えば、ユーザ装置１００は、汎用コンピュータ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ、スマートフォン、携帯ゲーム機器、メディアプレーヤー、デジタルカメラまたはデジタルビデオカメラ等を含む任意の情報処理装置であってよい。
【００３８】
（ノード装置２００）
ノード装置２００は、Ｐ２Ｐネットワーク４００に接続しており、Ｐ２Ｐデータベースを保有している情報処理装置である。そして、ノード装置２００は、Ｐ２Ｐデータベースへのデータの登録処理、または、Ｐ２Ｐデータベースからのデータの取得処理等を行うことができる。
【００３９】
Ｐ２Ｐデータベースへのデータの登録処理について説明すると、ノード装置２００は、任意のデータとアクセス権情報を対応付けた状態でＰ２Ｐデータベースへ登録するよう要求する要求情報をユーザ装置１００から提供された場合、当該データおよびアクセス権情報をＰ２Ｐデータベースへ登録する。このとき、ノード装置２００は、登録を要求される全てのデータを登録するのではなく、適宜、データまたはアクセス権情報の内容を確認し、予め禁止されている内容のデータまたはアクセス権情報については、登録を拒否してもよい。例えば、ノード装置２００は、何人にも読み取りを許可しないアクセス権が設定されているデータの登録を拒否してもよい。
【００４０】
Ｐ２Ｐデータベースからのデータの取得処理について説明すると、ノード装置２００は、Ｐ２Ｐデータベースに登録されているデータを指定する要求情報（例えば、クエリ等）をユーザ装置１００から提供された場合、併せて提供される、ユーザの識別情報に基づいて当該データへのアクセス制御を行う。より具体的には、ノード装置２００は、要求されているデータに対応付けられているアクセス権情報を確認し、当該データを要求しているユーザに付与されているアクセス権を確認する。そして、ノード装置２００は、上記のとおり、テンプレートを用いてアクセス権情報を解釈することで、その解釈結果に応じたアクセス制御を行う。テンプレートおよびアクセス制御の詳細については後述する。
【００４１】
なお、ノード装置２００は、Ｐ２Ｐデータベースにデータを登録する場合およびＰ２Ｐデータベースからデータを取得する場合には、基本的に、Ｐ２Ｐデータベースに設けられ、Ｐ２Ｐデータベース上で実行される所定のプログラム（例えば、チェーンコード等）を用いる。当該プログラムが用いられることによって、例えば、Ｂｉｔｃｏｉｎ等のような仮想通貨の取引以外の様々な処理が所定のルールに従って実現される。また、上記のテンプレートは当該プログラム中に設けられており、ノード装置２００は、当該プログラムを実行することで、Ｐ２Ｐデータベースに登録されているデータへのアクセス制御を実現する。以降、Ｐ２Ｐデータベースに設けられ、Ｐ２Ｐデータベース上で実行される所定のプログラムを「Ｐ２Ｐデータベースプログラム」と呼称する。なお、ノード装置２００は、適宜、Ｐ２Ｐデータベースプログラム以外のプログラムも用いて、これらの処理を実現してもよい。
【００４２】
また、本実施形態では、複数のノード装置２００が同一の機能を有している例について説明するが、各ノード装置２００は、互いに異なる機能を有していてもよい。例えば、Ｐ２Ｐデータベースへのデータ（トランザクション）の登録を承認するノード装置２００（例えば、Ｅｎｄｏｒｓｉｎｇ  Ｐｅｅｒ等）、承認後に各ノード装置２００に対して登録を指示するノード装置２００（例えば、Ｏｒｄｅｒｉｎｇ  Ｐｅｅｒ等）、Ｐ２Ｐデータベースにデータを登録するノード装置２００（例えば、Ｃｏｍｍｉｔｔｉｎｇ  Ｐｅｅｒ等）が設けられてもよい。なお、ユーザ装置１００と同様に、ノード装置２００の種類は特に限定されない。
【００４３】
（Ｐ２Ｐネットワーク４００）
Ｐ２Ｐネットワーク４００は、Ｐ２Ｐデータベースが流通しているネットワークである。上記のとおり、各ノード装置２００は、Ｐ２Ｐネットワーク４００に接続することで、他のノード装置２００が保有するＰ２Ｐデータベースと整合性を保ちながら、Ｐ２Ｐデータベースを更新することができる。
【００４４】
なお、Ｐ２Ｐネットワーク４００の種類は特に限定されない。例えば、Ｐ２Ｐネットワーク４００は、複数組織によって運営されるコンソーシアム型、単一組織によって運営されるプライベート型、または、参加者を特に限定しないパブリック型のうちの、いずれの種類であってもよい。
【００４５】
なお、Ｐ２Ｐネットワーク４００に用いられる通信方式および回線の種類等は特に限定されない。例えば、Ｐ２Ｐネットワーク４００は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等の専用回線網で実現されてもよい。また、Ｐ２Ｐネットワーク４００は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で実現されてもよい。さらに、Ｐ２Ｐネットワーク４００は、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信網で実現されてもよい。
【００４６】
（ネットワーク３００）
ネットワーク３００は、ユーザ装置１００とノード装置２００を接続するネットワークである。なお、Ｐ２Ｐネットワーク４００と同様に、ネットワーク３００に用いられる通信方式および回線の種類等は特に限定されない。
【００４７】
以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図４を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、ユーザ装置１００の機能は、ノード装置２００に備えられてもよい。換言すると、ユーザ装置１００の機能の一部または全部がノード装置２００に備えられることで、ノード装置２００が、データの作成、データとアクセス権情報の対応付け、および、データの取得要求等を行ってもよい。また、ノード装置２００の機能は、ユーザ装置１００に備えられてもよい。換言すると、ユーザ装置１００は、Ｐ２Ｐネットワーク４００に参加し、Ｐ２Ｐデータベースを保有していてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
【００４８】
（２．３．ユーザ装置１００の機能構成例）
上記では、本実施形態に係る情報処理システムの構成例について説明した。続いて、図５を参照して、ユーザ装置１００の機能構成例について説明する。
【００４９】
図５に示すように、ユーザ装置１００は、制御部１１０と、入力部１２０と、出力部１３０と、記憶部１４０と、通信部１５０と、を備える。また、制御部１１０は、データ作成部１１１と、アクセス権設定部１１２と、登録制御部１１３と、取得制御部１１４と、を備える。
【００５０】
（制御部１１０）
制御部１１０は、ユーザ装置１００が行う処理全般を統括的に制御する機能構成である。例えば、制御部１１０は、ユーザによって入力部１２０を用いて行われる入力、または、通信部１５０を介して受信される外部装置からの制御情報等に基づいて各構成の起動や停止を制御したり、ディスプレイまたはスピーカ等の出力部１３０を制御したりすることができる。なお、制御部１１０の制御内容はこれらに限定されない。例えば、制御部１１０は、汎用コンピュータ、ＰＣ、タブレットＰＣ等において一般的に行われる処理を制御してもよい。
【００５１】
（データ作成部１１１）
データ作成部１１１は、Ｐ２Ｐデータベースに登録されるデータを作成する機能構成である。例えば、データ作成部１１１は、学習到達・活動記録サービスを提供する事業者等（例えば、教育機関等）、当該サービスを利用する生徒または保護者等からの要求に基づいて、生徒の学習到達記録（例えば、試験結果、取得単位または取得資格等に関する記録）および生徒の活動記録（例えば、クラブ活動、生徒会活動または出席状況等に関する記録）等に関するデータを作成する。なお、データ作成部１１１が作成するデータはこれらに限定されない。
【００５２】
また、データ作成部１１１によって作成される「データ」とは、例えば、複数のデータが含まれるファイルを指してもよいし、ファイルに含まれる各データを指してもよいし、複数のファイルが含まれるフォルダ（またはディレクトリ）等を指してもよい。換言すると、本実施形態に係る情報処理システムは、ファイル、ファイルに含まれるデータ、複数のファイルが含まれるフォルダ（またはディレクトリ）のいずれの単位でアクセス制御を行ってもよい。データ作成部１１１は、作成したデータを後述するアクセス権設定部１１２に提供する。
【００５３】
（アクセス権設定部１１２）
アクセス権設定部１１２は、アクセス権情報を作成し、データ作成部１１１によって作成されたデータに当該アクセス権情報を対応付ける機能構成である。より具体的には、まず、ユーザは、データ作成部１１１を用いて作成したデータの重要性、目的または用途等を考慮した上で、アクセス権の設定対象となるユーザ、および、各設定対象に付与するアクセス権を決定する。その後、アクセス権設定部１１２は、ユーザからの要求に基づいて、アクセス権情報を作成し、データ作成部１１１によって作成されたデータとアクセス権情報を対応付ける。
【００５４】
ここで、図６Ａ〜図６Ｃを参照して、データと、データに対応付けられるアクセス権情報の具体例について説明する。
【００５５】
例えば、図６Ａには、試験のスコアを示す１つのデータ（作成ユーザ：Ｕ１、スコア：９０）と、当該データに対応付けられた２つのアクセス権情報が示されている。図６Ａの例では、対象ユーザ「Ｏｗｎｅｒ（データの所有者（データの作成者を想定するがこれに限定されない））」および「Ｕ２」には、アクセス権「Ｒｅａｄ」が設定されている。また、データとアクセス権情報は、データに含まれる「対応付けられたアクセス権情報Ｎｏ」によって対応付けられている。
【００５６】
また、上記のとおり、本実施形態においては、システム上で認証されていないユーザである「匿名者」に対してもアクセス権が設定され得る。例えば、図６Ｂに示すように、対象ユーザ「Ａｎｏｎｙｍｏｕｓ（匿名者）」にアクセス権「Ｒｅａｄ」が設定されてもよい。
【００５７】
また、図６Ｃに示すように、アクセス権設定部１１２は、複数のデータに対して、それぞれ１以上のアクセス権情報を設定してもよい。図６Ｃの例では、Ｎｏ．１のデータ（作成ユーザ：Ｕ１、スコア：９０）には、Ｎｏ．１およびＮｏ．２のアクセス権情報が対応付けられており、Ｎｏ．２のデータ（作成ユーザ：Ｕ２、スコア：８６）には、Ｎｏ．１およびＮｏ．３のアクセス権情報が対応付けられており、Ｎｏ．３のデータ（作成ユーザ：Ｕ３、スコア：７６）には、Ｎｏ．１およびＮｏ．４のアクセス権情報が対応付けられている。
【００５８】
なお、図６Ａ〜図６Ｃの例では、アクセス権として「Ｒｅａｄ」のみが設定されているが、設定されるアクセス権はこれに限定されない。例えば、Ｐ２Ｐデータベースに登録されたデータの承認処理を許可するアクセス権、Ｐ２Ｐデータベースに登録されたデータに関する任意の情報（例えば、当該データがキャッシュされた場合において、キャッシュデータを一意に特定可能な情報等）のＰ２Ｐデータベースへの登録を許可するアクセス権等が設定されてもよい。また、例えば、データの上書きや追記等が許容されるＰ２Ｐデータベースにおいては、データの上書きを許可するアクセス権またはデータの追記を許可するアクセス権等が設定されてもよい。また、本サービスを提供する事業者等が、テンプレートを用いて新たに定義したアクセス権が設定されてもよい。新たなアクセス権を定義する機能の詳細については後述する。
【００５９】
また、アクセス権設定部１１２は、不完全なアクセス権情報（または誤りが含まれるアクセス権情報）をデータと対応付けてもよい。より具体的には、アクセス権設定部１１２は、図６Ａ〜図６Ｃの例において、「対象ユーザ」または「アクセス権」のいずれかが設定されていないアクセス権情報（または、「対象ユーザ」または「アクセス権」のいずれかに誤りが含まれるアクセス権情報）をデータと対応付けてもよい。この場合、予め定義されたデフォルト設定が反映され得る。デフォルト設定の詳細については後述する。
【００６０】
また、図６Ａ〜図６Ｃの例では、アクセス権情報に「対象ユーザ」が設定されているが、これに限定されない。例えば、アクセス権情報には「対象ユーザ」の代りに「対象グループ（「対象コミュニティ」とも呼称する）」が設定されてもよい。ここで、「対象グループ」とは、１以上のユーザの集まりを指し、例えば、学校グループ、学年グループ、クラスグループまたは部活動グループ等が含まれる。これによって、アクセス権設定部１１２は、一人一人に対するアクセス権情報を作成する必要がなくなるため、より効率的にアクセス権情報を設定することができる。なお、１人のユーザが２以上のグループに所属していてもよい。
【００６１】
また、図６Ａ〜図６Ｃの例では、データに含まれる「対応付けられたアクセス権情報Ｎｏ」によって、データとアクセス権情報の対応付けが実現されているが、データとアクセス権情報の対応付けの方法はこれに限定されない。例えば、アクセス権設定部１１２は、データ中にアクセス権情報を格納することで、データとアクセス権情報を対応付けてもよい。アクセス権設定部１１２は、互いに対応付けたデータとアクセス権情報を後述する登録制御部１１３に提供する。
【００６２】
（登録制御部１１３）
登録制御部１１３は、Ｐ２Ｐデータベースへのデータおよびアクセス権情報の登録を制御する機能構成である。より具体的には、登録制御部１１３は、アクセス権設定部１１２によって互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベースへ登録するよう要求する要求情報を生成し、当該情報をノード装置２００へ提供する。これによって、これらの情報がノード装置２００によってＰ２Ｐデータベースへ登録される。
【００６３】
（取得制御部１１４）
取得制御部１１４は、Ｐ２Ｐデータベースに管理されているデータの取得処理を制御する機能構成である。より具体的には、取得制御部１１４は、ユーザからの要求に応じて、Ｐ２Ｐデータベースに登録されているデータを指定する要求情報（例えば、クエリ等）を作成し、当該情報をノード装置２００に提供することで、Ｐ２Ｐデータベースに登録されている所望のデータを取得する。その際、取得制御部１１４は、認証されたユーザを特定可能な識別情報も併せてノード装置２００に提供する。
【００６４】
ここで、当該識別情報は、ユーザを一意に特定可能であれば如何なる情報であってもよい。例えば、当該識別情報は、本サービスにおけるユーザＩＤ、クレジットカード番号、銀行口座番号、免許証番号、学生証番号、社員証番号、電子メールアドレス、指紋データのハッシュ値または虹彩データのハッシュ値等であってもよい。また、当該識別情報は、ユーザ自体ではなく、ユーザが操作するユーザ装置１００を一意に特定可能な情報であってもよい。例えば、当該識別情報は、ユーザ装置１００のアドレス情報（例えば、ＭＡＣアドレスまたはＩＰアドレス等）、または、製造元と製造番号の組み合わせに関する情報等であってもよい。これらの識別情報がノード装置２００に提供されることで、取得対象のデータについてのアクセス制御が実現される。
【００６５】
（入力部１２０）
入力部１２０は、ユーザによる入力を受ける機能構成である。例えば、入力部１２０はマウス、キーボード、タッチパネル、ボタン、スイッチまたはマイクロフォン等の入力手段を備えており、ユーザがこれらの入力手段を用いることによって、データの作成、アクセス権情報の作成、データの登録要求またはデータの取得要求等に関する入力を行うことができる。入力部１２０は、入力されたデータを制御部１１０に提供する。なお、入力部１２０が備える入力手段は特に限定されない。
【００６６】
（出力部１３０）
出力部１３０は、各種データを出力する機能構成である。例えば、出力部１３０は、ディスプレイ等の表示手段またはスピーカ等の音声出力手段等を備えており、制御部１１０の制御に基づいて、データ作成部１１１によって作成されたデータ、アクセス権設定部１１２によって作成されたアクセス権情報または取得制御部１１４によって取得されたデータ等に関する情報をディスプレイ等に表示したり、スピーカ等によって音声出力したりする。なお、出力部１３０が備える出力手段は特に限定されない。
【００６７】
（記憶部１４０）
記憶部１４０は、各種情報を記憶する機能構成である。例えば、記憶部１４０は、データ作成部１１１によって作成されたデータ、アクセス権設定部１１２によって作成されたアクセス権情報または取得制御部１１４によって取得されたデータ等を記憶したり、ユーザ装置１００の各機能構成によって使用されるプログラムまたはパラメータ等を記憶したりする。なお、記憶部１４０が記憶する情報はこれらに限定されない。
【００６８】
（通信部１５０）
通信部１５０は、ノード装置２００との各種通信を制御する機能構成である。例えば、通信部１５０は、互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベースへ登録するよう要求する要求情報、Ｐ２Ｐデータベースからのデータの取得を要求する要求情報等をノード装置２００へ送信し、Ｐ２Ｐデータベースから取得されたデータ等をノード装置２００から受信する。なお、通信部１５０の通信内容はこれらに限定されない。
【００６９】
以上、ユーザ装置１００の機能構成例について説明した。なお、図５を用いて説明した上記の機能構成はあくまで一例であり、ユーザ装置１００の機能構成は係る例に限定されない。例えば、ユーザ装置１００は、図５に示す構成のすべてを必ずしも備えなくてもよい。また、ユーザ装置１００の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００７０】
（２．４．ノード装置２００の機能構成例）
上記では、ユーザ装置１００の機能構成例について説明した。続いて、図７を参照して、ノード装置２００の機能構成例について説明する。
【００７１】
図７に示すように、ノード装置２００は、制御部２１０と、記憶部２２０と、通信部２３０と、を備える。また、制御部２１０は、登録制御部２１１と、テンプレート設定部２１２と、アクセス制御部２１３と、を備える。また、記憶部２２０は、Ｐ２Ｐデータベース２２１を備え、Ｐ２Ｐデータベース２２１には、Ｐ２Ｐデータベースプログラム２２２が設けられている。
【００７２】
（制御部２１０）
制御部２１０は、ノード装置２００が行う処理全般を統括的に制御する機能構成である。例えば、制御部２１０は、各構成の起動や停止を制御したり、制御信号を生成することによって、ディスプレイまたはスピーカ等の出力部（図示なし）等を制御したりすることができる。なお、制御部２１０の制御内容はこれらに限定されない。例えば、制御部２１０は、汎用コンピュータ、ＰＣ、タブレットＰＣ等において一般的に行われる処理を制御してもよい。
【００７３】
（登録制御部２１１）
登録制御部２１１は、Ｐ２Ｐデータベース２２１へのデータの登録を制御する機能構成である。例えば、登録制御部２１１は、互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベース２２１へ登録するよう要求する要求情報をユーザ装置１００から提供された場合、これらの情報をＰ２Ｐデータベース２２１へ登録する。このとき、登録制御部２１１は、要求される全てのデータを登録するのではなく、適宜、データまたはアクセス権情報を確認し、予め禁止されている内容のデータまたはアクセス権情報については、登録を拒否してもよい。なお、登録制御部２１１は、Ｐ２Ｐデータベースプログラム２２２を実行することで、これらの処理を行う。
【００７４】
（テンプレート設定部２１２）
テンプレート設定部２１２は、アクセス権情報を解釈する際に用いられるプログラムであるテンプレートを設定する機能構成である。上記のとおり、ノード装置２００は、Ｐ２Ｐデータベースプログラム２２２が有するテンプレートを用いて、データに対応付けられたアクセス権情報を解釈することでアクセス制御を実現する。そして、テンプレート設定部２１２は、ユーザからの要求に基づいて、当該テンプレートの新規作成、変更または削除等を行うことができる。より具体的には、Ｐ２Ｐデータベースプログラム２２２の改変が可能なユーザ（例えば、サービスを提供する事業者等）は、テンプレート設定部２１２を用いてテンプレートの新規作成、変更または削除等を行うことができる。これによって、例えば、サービスを提供する事業者等が、アクセス権情報の取り扱い方法を独自に決めることができる。
【００７５】
ここで、図８を参照して、テンプレート設定部２１２によって設定されるテンプレートの具体例について説明する。例えば、図８に示すように、テンプレートには、「アクセス権」、「対象範囲」および「許可内容または禁止内容」等の情報を含み、これらの情報によってアクセス制御の内容が定義される。
【００７６】
「アクセス権」は、図６Ａ〜図６Ｃを参照して説明したアクセス権情報に含まれるアクセス権が格納され、「対象範囲」には、データにおいてアクセス制御が行われる範囲に関する情報が格納され、「許可内容または禁止内容」には、各アクセス権にて許可される処理内容、または、禁止される処理内容に関する情報が格納される。
【００７７】
例えば、図８のＮｏ．１では、「アクセス権：Ｒｅａｄ」、「対象範囲：データ全体」、「許可内容または禁止内容：読み取り許可」が設定されることで、アクセス権情報にて「Ｒｅａｄ」が設定されているユーザ（またはグループ）は、データ全体を取得し、読み取ることが可能となる。
【００７８】
なお、テンプレートにおける「アクセス権」には、アクセス権情報にて設定され得るアクセス権であれば、「Ｒｅａｄ」以外のアクセス権が定義されてもよい。例えば、上記のとおり、Ｐ２Ｐデータベース２２１に登録されたデータの承認処理を許可するアクセス権、Ｐ２Ｐデータベース２２１に登録されたデータに関する任意の情報（例えば、当該データがキャッシュされた場合において、キャッシュデータを一意に特定可能な情報等）のＰ２Ｐデータベース２２１への登録を許可するアクセス権、データの上書きを許可するアクセス権またはデータの追記を許可するアクセス権等がテンプレートにて定義されてもよい。
【００７９】
また、テンプレートにおける「対象範囲」には、データの全部または一部を指定可能な情報であれば如何なる情報が格納されてもよい。例えば、図８に示すように、「項目Ａ（換言すると、データにおける複数の項目の一つである項目Ａに対応するデータ）」等が格納されてもよい。
【００８０】
また、テンプレートにおける「許可内容または禁止内容」には、「アクセス権」に格納された各アクセス権によって許可される処理内容、または、禁止される処理内容が具体的に定義される。定義される内容は、図８に示している「読み取り許可」、「読み取り禁止」等に限定されず、例えば、許可または禁止される条件等（例えば、処理される日時、処理の目的または処理の方法等）も定義され得る。
【００８１】
また、テンプレート設定部２１２は、新たなアクセス権を定義してもよい。例えば、テンプレート設定部２１２は、図８の「Ｐａｒｅｎｔ  Ｒｅａｄ（生徒の保護者向けのアクセス権を想定）」のように、サービス独自のアクセス権を定義してもよい。これによって、例えば、各サービスを提供する事業者が、様々な用途または目的等に応じてアクセス権を定義することで、各サービスに適したアクセス制御を実現することができる。
【００８２】
さらに、テンプレート設定部２１２は、不完全なアクセス権情報（または誤りが含まれるアクセス権情報）が設定された場合に対応するために、アクセス制御のデフォルト設定を定義することができる。より具体的には、テンプレート設定部２１２は、アクセス権情報における「対象ユーザ」または「アクセス権」のいずれかが設定されていない場合（または、「対象ユーザ」または「アクセス権」のいずれかに誤りが含まれる場合）のアクセス制御の内容を定義することができる。例えば、テンプレート設定部２１２は、図８の「設定なし（デフォルト設定）」に示すように、アクセス権情報の「アクセス権」が設定されていない場合におけるアクセス制御の内容を定義してもよい。図８の例では、アクセス権情報の「アクセス権」が設定されていない場合、アクセス権情報の「対象ユーザ」に設定されたユーザ（またはグループ）は、データ全体を取得し読み取ることが禁止される。図８には示していないが、同様に、アクセス権情報の「対象ユーザ」が設定されていない場合、「対象ユーザ」または「アクセス権」のいずれかに誤りが含まれる場合のアクセス制御の内容がテンプレートに定義されてもよい。
【００８３】
なお、アクセス権情報を解釈し、アクセス制御を実現可能なプログラムであれば、テンプレートの内容は上記に限定されない。
【００８４】
（アクセス制御部２１３）
アクセス制御部２１３は、Ｐ２Ｐデータベース２２１に登録されているデータへのアクセス制御を行う機能構成である。より具体的には、データの取得を要求する要求情報とユーザを特定可能な識別情報がユーザ装置１００から提供された場合、アクセス制御部２１３は、Ｐ２Ｐデータベースプログラム２２２を実行することで、当該データに対応付けられているアクセス権情報を取得し、当該情報に基づいてアクセス制御を行う。例えば、アクセス制御部２１３は、Ｐ２Ｐデータベースプログラム２２２を実行することで、アクセス権情報に含まれる「対象ユーザ」と「アクセス権」を認識し、テンプレートを用いて当該アクセス権の定義（対象範囲、許可内容または禁止内容）を認識し、定義に応じた出力を行う。例えば、アクセス権情報として「対象ユーザ：Ｕ１」、「アクセス権：Ｒｅａｄ」が設定されており、テンプレートには「アクセス権：Ｒｅａｄ」、「対象範囲：データ全体」、「許可内容または禁止内容：読み取り許可」が設定されている場合、アクセス制御部２１３は、ユーザＵ１に対してのみデータ全体を提供する。なお、例えば、テンプレートの「対象範囲」にデータの一部が指定されている場合、アクセス制御部２１３は、指定されているデータの一部に対して、テンプレートの「許可内容または禁止内容」に指定された内容に対応する処理を行う（例えば、データの一部を取得しユーザに提供する等）。
【００８５】
（記憶部２２０）
記憶部２２０は、各種情報を記憶する機能構成である。例えば、記憶部２２０は、ノード装置２００の各機能構成によって使用されるプログラムまたはパラメータ等を記憶する。なお、記憶部２２０が記憶する情報はこれらに限定されない。
【００８６】
（Ｐ２Ｐデータベース２２１）
Ｐ２Ｐデータベース２２１は、各ノード装置２００によって共通に保有されるデータベースであり、例えば、ブロックチェーンデータである。上記のとおり、Ｐ２Ｐデータベース２２１には、生徒の学習到達記録（例えば、試験結果、取得単位または取得資格等に関する記録）、生徒の活動記録（例えば、クラブ活動、生徒会活動または出席状況等に関する記録）、または、これらのデータに対応付けられたアクセス権情報等が登録される。Ｐ２Ｐデータベース２２１に登録される各種情報は、暗号鍵を用いた電子署名が付与されてもよい。なお、Ｐ２Ｐデータベース２２１に登録される情報は、これらに限定されない。
【００８７】
（Ｐ２Ｐデータベースプログラム２２２）
Ｐ２Ｐデータベースプログラム２２２は、Ｐ２Ｐデータベース２２１に設けられ、Ｐ２Ｐデータベース２２１上で実行される所定のプログラム（例えば、チェーンコード等）である。Ｐ２Ｐデータベースプログラム２２２が用いられることによって、例えば、Ｂｉｔｃｏｉｎ等のような仮想通貨の取引以外の様々な処理が所定のルールに従って一貫性を保ちつつ実現される。
【００８８】
Ｐ２Ｐデータベースプログラム２２２は、Ｐ２Ｐデータベース２２１に対して行われる処理全般を実現することができる。例えば、Ｐ２Ｐデータベースプログラム２２２は、Ｐ２Ｐデータベース２２１にアクセスして行われる、互いに対応付けられたデータおよびアクセス権情報の登録処理およびデータの取得処理等を実現することができる。また、上記のとおり、Ｐ２Ｐデータベースプログラム２２２にはテンプレートが設けられ、当該テンプレートによってアクセス権情報が解釈される。
【００８９】
なお、Ｐ２Ｐデータベースプログラム２２２によって実現される処理はこれらに限定されない。また、Ｐ２Ｐデータベースプログラム２２２の開発言語またはＰ２Ｐデータベース２２１上に設けられるＰ２Ｐデータベースプログラム２２２の個数等は特に限定されない。
【００９０】
（通信部２３０）
通信部２３０は、ユーザ装置１００および他のノード装置２００との各種通信を制御する機能構成である。また、通信部２３０は、ユーザ所望のアクセス権情報が対応付けられたデータを取得する取得部としても機能する。例えば、通信部２３０は、ユーザ装置１００との通信において、互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベース２２１へ登録するよう要求する要求情報、Ｐ２Ｐデータベース２２１からのデータの取得を要求する要求情報等を受信し、Ｐ２Ｐデータベース２２１から取得されたデータ等を送信する。また、通信部２３０は、他のノード装置２００との通信において、Ｐ２Ｐデータベース２２１を更新するための合意形成（「コンセンサス」とも呼称される）に用いられる情報等を送受信する。なお、通信部２３０の通信内容はこれらに限定されない。
【００９１】
以上、ノード装置２００の機能構成例について説明した。なお、図７を用いて説明した上記の機能構成はあくまで一例であり、ノード装置２００の機能構成は係る例に限定されない。例えば、ノード装置２００は、図７に示す構成のすべてを必ずしも備えなくてもよい。また、ノード装置２００の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００９２】
（２．５．処理の流れ）
上記では、ノード装置２００の機能構成例について説明した。続いて、本実施形態に係る各装置による処理の流れについて説明する。
【００９３】
（データおよびアクセス権情報の登録処理の流れ）
まず、図９を参照して、データおよびアクセス権情報をＰ２Ｐデータベース２２１へ登録する処理の流れの一例について説明する。
【００９４】
ステップＳ１０００では、ユーザ装置１００のデータ作成部１１１が、ユーザからの要求に基づいてＰ２Ｐデータベース２２１に登録されるデータを作成する。ステップＳ１００４では、アクセス権設定部１１２が、ユーザからの要求に基づいてアクセス権情報を作成し、データ作成部１１１によって作成されたデータとアクセス権情報を対応付ける。ステップＳ１００８では、登録制御部１１３が、アクセス権設定部１１２によって互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベース２２１へ登録するよう要求する要求情報を生成し、当該情報をノード装置２００へ提供する。
【００９５】
ステップＳ１０１２では、ノード装置２００の登録制御部２１１が、アクセス権情報の内容が禁止されているか否かを確認する。アクセス権情報の内容が禁止されていない場合（ステップＳ１０１６／Ｙｅｓ）、ステップＳ１０２０にて、登録制御部２１１が、互いに対応付けられたデータとアクセス権情報をＰ２Ｐデータベース２２１へ登録することで一連の処理が終了する。一方、アクセス権情報の内容が禁止されている場合（ステップＳ１０１６／Ｎｏ）、ステップＳ１０２４にて、所定のエラー処理が行われることで一連の処理が終了する。例えば、登録制御部２１１がエラー信号をユーザ装置１００に提供することで、データおよびアクセス権情報のＰ２Ｐデータベース２２１への登録処理に失敗したことをユーザへ通知する。なお、所定のエラー処理の内容はこれに限定されない。
【００９６】
（アクセス制御に関する処理の流れ）
続いて、図１０を参照して、Ｐ２Ｐデータベース２２１からデータを取得する処理、すなわち、Ｐ２Ｐデータベース２２１に登録されているデータへのアクセス制御に関する処理の流れの一例について説明する。
【００９７】
ステップＳ１１００では、ユーザ装置１００の取得制御部１１４が、ユーザからの要求に基づいて、Ｐ２Ｐデータベース２２１に登録されているデータを指定する要求情報（例えば、クエリ等）を作成し、当該情報をノード装置２００に提供する。このとき、取得制御部１１４は、認証されたユーザを特定可能な識別情報も併せてノード装置２００に提供する。
【００９８】
ステップＳ１１０４では、ノード装置２００のアクセス制御部２１３が、Ｐ２Ｐデータベースプログラム２２２を実行することで、要求されているデータに対応付けられているアクセス権情報の内容を確認する。アクセス制御部２１３が、テンプレートを用いてアクセス権情報を解釈することで、ユーザがデータの読み取りを許可されていると判断した場合（ステップＳ１１０８／Ｙｅｓ）、ステップＳ１１１２にて、アクセス制御部２１３が、要求されているデータをＰ２Ｐデータベース２２１から取得し、ユーザ装置１００へ提供することで一連の処理が終了する。ユーザがデータの読み取りを許可されていないと判断された場合（ステップＳ１１０８／Ｎｏ）、ステップＳ１１１６にて、所定のエラー処理が行われることで一連の処理が終了する。例えば、アクセス制御部２１３がエラー信号をユーザ装置１００に提供することで、データの読み取りを許可するアクセス権が設定されていない旨をユーザへ通知する。なお、所定のエラー処理の内容はこれに限定されない。
【００９９】
また、図９および図１０のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理する必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１００】
（２．６．アクセス権情報の一括設定機能）
上記では、本実施形態に係る各装置による処理の流れについて説明した。続いて、アクセス権情報の一括設定機能について説明する。
【０１０１】
上記では、ユーザ装置１００のデータ作成部１１１がデータを作成し、アクセス権設定部１１２がアクセス権情報を作成した上で、アクセス権情報をデータと対応付ける旨について説明した。ここで、本実施形態に係る情報処理システムは、複数のデータが格納された所定の形式のファイルを取り込むことによって、アクセス権情報とデータの対応付けを自動的に行ってもよい。
【０１０２】
例えば、複数の生徒と、各生徒の試験スコアのデータが格納されたＣＳＶ形式のファイル（以降、「ＣＳＶファイル」と呼称する）と、アクセス権情報の作成処理、および、アクセス権情報とデータの対応付け処理に使用される設定ファイルが用意される。ここで、設定ファイルとは、例えば、図６Ａ〜図６Ｃにて説明したアクセス権情報の「対象ユーザ」と「アクセス権」を設定するためのロジックが定義されているファイルである。より具体的には、「対象ユーザ」に設定されるユーザの参照元（例えば、ＣＳＶファイルにおける所定のデータ位置等）に関する情報、および、「アクセス権」に設定されるアクセス権の参照元（例えば、ＣＳＶファイルにおける所定のデータ位置等）に関する情報が設定ファイルに定義されているとする。
【０１０３】
そして、ＣＳＶファイルと設定ファイルが、ユーザ装置１００の入力部１２０から入力された場合、例えば、アクセス権設定部１１２が、これらのファイルを解析した上で、ＣＳＶファイルに格納されている複数のデータの分離、アクセス権情報の作成、および、分離されたデータとアクセス権情報の対応付けを自動的に行う。データとアクセス権情報の対応付けが行われた後の処理については上記と同様であるため説明を省略する。このようなアクセス権情報の一括設定機能によって、データの作成から、データとアクセス権情報の対応付けまでに要するユーザの作業負荷が軽減される。なお、用いられるファイルの形式は、ＣＳＶ形式に限定されない。また、ユーザ装置１００のアクセス権設定部１１２ではなく、ノード装置２００のＰ２Ｐデータベースプログラム２２２が上記の処理を実現してもよい。
【０１０４】
＜３．ハードウェア構成例＞
上記では、本開示の一実施形態について説明した。続いて、図１１を参照して、本実施形態に係る各装置のハードウェア構成について説明する。
【０１０５】
図１１は、本開示に係るユーザ装置１００またはノード装置２００のハードウェア構成の一例を示すブロック図である。本実施形態に係るユーザ装置１００またはノード装置２００は、図１１に示す情報処理装置９００によって具現され得る。
【０１０６】
情報処理装置９００は、例えば、ＭＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、記録媒体９０４と、入出力インタフェース９０５と、操作入力デバイス９０６と、表示デバイス９０７と、通信インタフェース９０８とを備える。また、情報処理装置９００は、例えば、データの伝送路としてのバス９０９で各構成要素間を接続する。
【０１０７】
ＭＰＵ９０１は、例えば、ＭＰＵなどの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成され、ユーザ装置１００の制御部１１０またはノード装置２００の制御部２１０として機能する。なお、ユーザ装置１００の制御部１１０またはノード装置２００の制御部２１０は、上記で説明した各種処理を実現可能な専用の（または汎用の）回路（例えば、ＭＰＵ９０１とは別体のプロセッサなど）で構成されていてもよい。
【０１０８】
ＲＯＭ９０２は、ＭＰＵ９０１が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。ＲＡＭ９０３は、例えば、ＭＰＵ９０１により実行されるプログラムなどを一時的に記憶する。
【０１０９】
記録媒体９０４は、ユーザ装置１００の記憶部１４０またはノード装置２００の記憶部２２０として機能し、例えば、Ｐ２Ｐデータベース２２１に登録されるデータ、アクセス権情報、Ｐ２Ｐデータベースプログラム２２２またはテンプレート等の本実施形態に係る情報処理に関する各種データや各種プログラム等を記憶する。ここで、記録媒体９０４としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体９０４は、情報処理装置９００から着脱可能であってもよい。
【０１１０】
入出力インタフェース９０５は、例えば、操作入力デバイス９０６や、表示デバイス９０７を接続する。ここで、入出力インタフェース９０５としては、例えば、ＵＳＢ（Universal  Serial  Bus）端子や、ＤＶＩ（Digital  Visual  Interface）端子、ＨＤＭＩ（High-Definition  Multimedia  Interface）（登録商標）端子、各種処理回路などが挙げられる。
【０１１１】
また、操作入力デバイス９０６は、例えば、情報処理装置９００上に備えられ、情報処理装置９００の内部で入出力インタフェース９０５と接続される。操作入力デバイス９０６としては、例えば、キーボード、マウス、キーパッド、タッチパネル、マイクロホン、操作ボタン、方向キーまたはジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。操作入力デバイス９０６は、ユーザ装置１００の入力部１２０として機能する。
【０１１２】
また、表示デバイス９０７は、例えば、情報処理装置９００上に備えられ、情報処理装置９００の内部で入出力インタフェース９０５と接続される。表示デバイス９０７としては、例えば、液晶ディスプレイ（Liquid  Crystal  Display）や有機ＥＬディスプレイ（Organic  Electro-Luminescence  Display）などが挙げられる。表示デバイス９０７は、ユーザ装置１００の出力部１３０として機能する。
【０１１３】
なお、入出力インタフェース９０５が、情報処理装置９００の外部の操作入力デバイスや外部の表示デバイスなどの外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス９０７は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
【０１１４】
通信インタフェース９０８は、情報処理装置９００が備える通信手段であり、ユーザ装置１００の通信部１５０またはノード装置２００の通信部２３０として機能する。また、通信インタフェース９０８は、任意のネットワークを介して（あるいは、直接的に）、例えば、サーバなどの任意の外部装置と、無線または有線で通信を行う機能を有していてもよい。ここで、通信インタフェース９０８としては、例えば、通信アンテナおよびＲＦ（Radio  Frequency）回路（無線通信）や、ＩＥＥＥ８０２．１５．１ポートおよび送受信回路（無線通信）、ＩＥＥＥ８０２．１１ポートおよび送受信回路（無線通信）、あるいはＬＡＮ（Local  Area  Network）端子および送受信回路（有線通信）などが挙げられる。
【０１１５】
なお、本実施形態に係る情報処理装置９００のハードウェア構成は、図１１に示す構成に限られない。例えば、情報処理装置９００は、接続されている外部の通信デバイスを介して通信を行う場合には、通信インタフェース９０８を備えていなくてもよい。また、通信インタフェース９０８は、複数の通信方式によって通信を行うことが可能な構成であってもよい。また、情報処理装置９００は、例えば、操作入力デバイス９０６または表示デバイス９０７等を備えなくてもよい。また、例えば、図１１に示す構成の一部または全部は、１、または２以上のＩＣ（Integrated  Circuit）で実現されてもよい。
【０１１６】
＜４．まとめ＞
以上で説明してきたように、本開示に係る情報処理システムは、ユーザ所望のアクセス権情報が対応付けられた任意のデータをＰ２Ｐデータベース２２１へ登録することができる。そして、本開示に係る情報処理システムは、Ｐ２Ｐデータベースプログラム２２２にテンプレートを設け、当該テンプレートを用いて、データに対応付けられたアクセス権情報を解釈することでアクセス制御を実現することができる。これによって、Ｐ２Ｐデータベース２２１の管理者ではなく、データを作成したユーザ自身が、Ｐ２Ｐデータベース２２１に登録されているデータへのアクセス制御を実現することができる。
【０１１７】
また、本開示に係る情報処理システムは、システム上で認証されていないユーザである匿名者に対するアクセス権情報を設定することができる。これによって、匿名者がＰ２Ｐデータベース２２１に登録されているデータの取得を要求した場合においても、本開示に係る情報処理システムは、当該データに対応付けられたアクセス権情報に基づいて適切に対応することができる。
【０１１８】
また、本開示に係る情報処理システムは、データに対応付けられたアクセス権情報もＰ２Ｐデータベース２２１へ登録することによって、アクセス権情報の改ざん等を防ぎアクセス権情報の真正性を担保することができる。
【０１１９】
また、本開示に係る情報処理システムは、アクセス権情報を解釈する際に用いられるテンプレートを設定すること（例えば、新規作成、変更または削除等）ができる。これによって、例えば、ユーザに対してサービスを提供する事業者等が、テンプレートを設定することで、アクセス権情報の取り扱いを決めることができる。
【０１２０】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２１】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１２２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得する取得部と、
前記任意のデータのＰ２Ｐデータベースへの登録を制御する登録制御部と、を備える、
情報処理装置。
（２）
前記アクセス権情報に基づいて前記Ｐ２Ｐデータベースに登録された前記任意のデータへのアクセス制御を行うアクセス制御部をさらに備える、
前記（１）に記載の情報処理装置。
（３）
前記アクセス制御部は、前記Ｐ２Ｐデータベースに設けられ、前記Ｐ２Ｐデータベース上で実行される所定のプログラムを用いて前記アクセス制御を行う、
前記（２）に記載の情報処理装置。
（４）
前記所定のプログラムには、前記アクセス権情報に基づく前記アクセス制御の内容を定義するテンプレートが設けられる、
前記（３）に記載の情報処理装置。
（５）
前記テンプレートは、前記任意のデータにて前記アクセス制御の対象となる範囲、および、前記アクセス制御にて許可される処理の内容または禁止される処理の内容を定義する、
前記（４）に記載の情報処理装置。
（６）
前記テンプレートは、前記アクセス権情報が不完全な場合または前記アクセス権情報に誤りがある場合における前記アクセス制御の内容を定義する、
前記（４）または（５）に記載の情報処理装置。
（７）
ユーザからの要求に基づいて前記テンプレートの新規作成、変更または削除を行うテンプレート設定部をさらに備える、
前記（４）から（６）のいずれか１項に記載の情報処理装置。
（８）
前記アクセス権情報は、設定されるアクセス権に関する情報および前記アクセス権の設定対象となるユーザに関する情報を含む、
前記（１）から（７）のいずれか１項に記載の情報処理装置。
（９）
前記アクセス権の設定対象となるユーザには、認証されていないユーザである匿名者が含まれる、
前記（８）に記載の情報処理装置。
（１０）
前記アクセス権には、前記任意のデータの読み取り、前記任意のデータの承認、任意の装置にキャッシュされた前記任意のデータを一意に特定する情報の書き込み、前記任意のデータの上書き、または、前記任意のデータに対する追記に関する権限が含まれる、
前記（８）または（９）に記載の情報処理装置。
（１１）
複数の前記任意のデータが含まれるファイルを取得し、一括かつ自動的に、前記任意のデータと前記アクセス権情報を対応付けるアクセス権設定部をさらに備える、
前記（８）から（１０）のいずれか１項に記載の情報処理装置。
（１２）
前記Ｐ２Ｐデータベースはブロックチェーンデータである、
前記（１）から（１１）のいずれか１項に記載の情報処理装置。
（１３）
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、
前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、を有する、
コンピュータにより実行される情報処理方法。
（１４）
ユーザ所望のアクセス権情報が対応付けられた任意のデータを取得することと、
前記任意のデータのＰ２Ｐデータベースへの登録を制御することと、
をコンピュータに実現させるためのプログラム。
【符号の説明】
【０１２３】
１００    ユーザ装置
１１０    制御部
１１１    データ作成部
１１２    アクセス権設定部
１１３    登録制御部
１１４    取得制御部
１２０    入力部
１３０    出力部
１４０    記憶部
１５０    通信部
２００    ノード装置
２１０    制御部
２１１    登録制御部
２１２    テンプレート設定部
２１３    アクセス制御部
２２０    記憶部
２２１    Ｐ２Ｐデータベース
２２２    Ｐ２Ｐデータベースプログラム
２３０    通信部
３００    ネットワーク
４００    Ｐ２Ｐネットワーク
【図１】
2019054044.tif 000003
【図２】
2019054044.tif 000004
【図３】
2019054044.tif 000005
【図４】
2019054044.tif 000006
【図５】
2019054044.tif 000007
【図６Ａ】
2019054044.tif 000008
【図６Ｂ】
2019054044.tif 000009
【図６Ｃ】
2019054044.tif 000010
【図７】
2019054044.tif 000011
【図８】
2019054044.tif 000012
【図９】
2019054044.tif 000013
【図１０】
2019054044.tif 000014
【図１１】
2019054044.tif 000015
【国際調査報告】
2019054044.tif 000016
2019054044.tif 000017
2019054044.tif 000018