(57)【要約】【課題】分散して記憶されたデータの管理を可能とすることを目的とする。【解決手段】管理プログラムは、分散されたデータの取引を実行するデータ流通ネットワークに含まれる複数のノード装置に実行させる。管理プログラムは、データの属性情報を含むメタデータの登録トランザクションを受け付けた場合、メタデータを複数のノード装置内の記憶部に記憶させ、メタデータの取得トランザクションを受け付けた場合、データの属性情報を参照し、取得トランザクションに含まれる条件を満たすメタデータを記憶部から取得し、取得したメタデータを取得トランザクションの発行元に送信する、処理をノード装置に実行させる。【選択図】図１
2019153181.tif 000002
【特許請求の範囲】
【請求項１】
分散されたデータの取引を実行するデータ流通ネットワークに含まれる複数のノード装置に実行させるための管理プログラムであって、
前記データの属性情報を含むメタデータの登録トランザクションを受け付けた場合、前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記メタデータの取得トランザクションを受け付けた場合、前記データの属性情報を参照し、前記取得トランザクションに含まれる条件を満たす前記メタデータを前記記憶部から取得し、取得した前記メタデータを前記取得トランザクションの発行元に送信する、
処理を前記ノード装置に実行させるための管理プログラム。
【請求項２】
前記メタデータの登録トランザクションを受け付けた場合、前記メタデータに対応するデータのハッシュ値を算出し、前記ハッシュ値を含む前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記データを取得した場合、取得した前記データのハッシュ値を算出し、算出した前記ハッシュ値と前記メタデータに含まれるハッシュ値とを照合する、
処理を前記ノード装置に実行させることを特徴とする請求項１に記載の管理プログラム。
【請求項３】
前記メタデータの取得トランザクションを受け付けた場合、前記メタデータに含まれる宛先情報を、自装置の宛先情報に変換し、変換後の前記メタデータを、前記メタデータの取得トランザクションの発行元に送信する、
処理を前記ノード装置に実行させることを特徴とする請求項１または２記載の管理プログラム。
【請求項４】
前記データへのアクセスが許可されたユーザの識別情報を含むメタデータの登録トランザクションを受け付けた場合、前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記メタデータの取得トランザクションを受け付けた場合、前記メタデータの取得トランザクションで指定されたユーザの識別情報と前記メタデータ内のユーザの識別情報とを照合し、
前記指定されたユーザの識別情報が含まれる前記メタデータを取得し、取得した前記メタデータを、前記メタデータの登録トランザクションの発行元に送信する、
処理を前記ノード装置に実行させることを特徴とする請求項１乃至３のうち何れか１項に記載の管理プログラム。
【請求項５】
前記データを記憶する装置からメタデータの登録トランザクションを受け付けた場合、自装置の宛先情報を含む前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記データの識別情報と前記データを記憶する装置の宛先情報と前記自装置の宛先情報とを対応づけたテーブルを生成し、
他の前記ノード装置から前記データの取得トランザクションを受け付けた場合、前記テーブルを参照し、前記自装置の宛先情報に対応づけられた前記データを記憶する装置の宛先情報を用いて、前記データを取得し、
取得した前記データを前記他のノード装置に送信する、
処理を前記ノード装置に実行させることを特徴とする請求項１乃至４のうち何れか１項に記載の管理プログラム。
【請求項６】
分散されたデータの取引を実行するデータ流通ネットワークに含まれる複数のノード装置に実行させるための管理プログラムであって、
前記データへのアクセスが許可されたユーザの識別情報を含むメタデータの登録トランザクションを受け付けた場合、前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記メタデータの取得トランザクションを受け付けた場合、前記メタデータの取得トランザクションで指定されたユーザの識別情報と前記メタデータ内のユーザの識別情報とを照合し、
前記指定されたユーザの識別情報が含まれる前記メタデータを取得し、取得した前記メタデータを、前記メタデータの登録トランザクションの発行元に送信する、
処理を前記ノード装置に実行させるための管理プログラム。
【請求項７】
分散されたデータの取引を実行するデータ流通ネットワークに含まれる複数のノード装置に実行させるための管理プログラムであって、
前記データを記憶する装置からメタデータの登録トランザクションを受け付けた場合、自装置の宛先情報を含む前記メタデータを前記複数のノード装置内の記憶部に記憶させ、
前記データの識別情報と前記データを記憶する装置の宛先情報と前記自装置の宛先情報とを対応づけたテーブルを生成し、
他の前記ノード装置から前記データの取得トランザクションを受け付けた場合、前記テーブルを参照し、前記自装置の宛先情報に対応づけられた前記データを記憶する装置の宛先情報を用いて、前記データを取得し、
取得した前記データを前記他のノード装置に送信する、
処理を前記ノード装置に実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを管理する管理プログラムに関する。
【背景技術】
【０００２】
近年、様々な拠点に分散して蓄積されているデータを、オーバーレイネットワーク上でピアツーピア通信により複数のユーザが共有する技術が提案されている。
【０００３】
関連する技術として、データが広域に分散されている環境において、ネットワークに接続して他のサーバと通信を行うことによりデータの所在を管理する技術が提案されている（例えば、特許文献１を参照）。
【０００４】
また、関連する技術として、ブロックチェーンを介して、コンテンツの利用者の利用者端末から許諾要求を受信し、許諾条件を満たす場合に許諾情報を送信する技術が提案されている（例えば、特許文献２を参照）。
【０００５】
また、関連する技術として、コンテンツのハッシュ値とメタデータとをブロックチェーンに登録するコンテンツ流通システムが提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２５９６４号公報
【特許文献２】特開２０１７−５０７６３号公報
【特許文献３】特開２０１７−２０４７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、データが複数の拠点に分散して記憶されている場合、全ての拠点およびデータを管理する管理者が存在しない。従って、共有されるデータの管理が不十分となり、データ毎のアクセスポリシーの遵守やデータの真正性を保証することが困難であった。また、共有されているデータのうち、利用者が所望するデータを検索することが困難であった。
【０００８】
１つの側面として、本発明は、分散して記憶されたデータの管理を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、管理プログラムは、分散されたデータの取引を実行するデータ流通ネットワークに含まれる複数のノード装置に実行させる。また、管理プログラムは、前記データの属性情報を含むメタデータの登録トランザクションを受け付けた場合、前記メタデータを前記複数のノード装置内の記憶部に記憶させ、前記メタデータの取得トランザクションを受け付けた場合、前記データの属性情報を参照し、前記取得トランザクションに含まれる条件を満たす前記メタデータを前記記憶部から取得し、取得した前記メタデータを前記取得トランザクションの発行元に送信する、処理を前記ノード装置に実行させる。
【発明の効果】
【００１０】
１つの側面によれば、分散して記憶されたデータの管理を可能とすることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態のデータ流通ネットワークの一例を示す図である。
【図２】ゲートウェイの一例を示す図である。
【図３】各トランザクションに含まれる情報の一例を示す図である。
【図４】メタデータの一例を示す図である。
【図５】転送テーブルの一例を示す図である。
【図６】検証処理の一例を示すシーケンス図である。
【図７】メタデータ登録処理の一例を示すシーケンス図である。
【図８】メタデータ取得処理の一例を示すシーケンス図である。
【図９】データ取得処理の一例を示すシーケンス図（その１）である。
【図１０】データ取得処理の一例を示すシーケンス図（その２）である。
【図１１】ゲートウェイのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
＜実施形態のシステムの全体構成の一例＞
図１は、実施形態のデータ流通ネットワークの一例を示す図である。図１に示すシステムは、提供者端末１ａと提供者側ゲートウェイ２ａと利用者側ゲートウェイ２ｂと利用者端末１ｂを含む。提供者側ゲートウェイ２ａと利用者側ゲートウェイ２ｂと間ではオーバーレイネットワーク上におけるピアツーピア通信が適用される。
【００１３】
提供者端末１ａおよび提供者側ゲートウェイ２ａは、同じローカルネットワーク（提供者側ネットワーク）に属しているとする。また、利用者側ゲートウェイ２ｂおよび利用者端末１ｂは同じローカルネットワーク（提供者側ネットワーク）に属しているとする。
【００１４】
提供者端末１ａおよび利用者端末１ｂは、例えば、サーバ、パーソナルコンピュータまたはタブレット端末等である。提供者端末１ａは、データを記憶する装置の一例である。提供者側ゲートウェイ２ａおよび利用者側ゲートウェイ２ｂは、例えば、物理サーバまたはクラウド上で動作する仮想マシン等である。以下、提供者側ゲートウェイ２ａおよび利用者側ゲートウェイ２ｂを総称してゲートウェイ２と称することがある。
【００１５】
実施形態のシステムは、３以上のゲートウェイ２を含んでいてもよい。また、提供者側ゲートウェイ２ａと利用者側ゲートウェイ２ｂは同様の機能を有している。例えば、提供者側ゲートウェイ２ａが利用者側ゲートウェイ２ｂとして機能することがあり、利用者側ゲートウェイ２ｂが提供者側ゲートウェイ２ａとして機能することがある。
【００１６】
以下、図１に示す構成例を用いて実施形態の動作概要を説明する。提供者端末１ａは、メタデータ登録トランザクションを提供者側ゲートウェイ２ａに送信する。提供者側ゲートウェイ２ａは、メタデータ登録トランザクションに含まれるデータ属性等およびデータのハッシュ値（データＩＤとする）を、登録するデータのメタデータとして複数のゲートウェイ２に送信し、共有する。
【００１７】
提供者側ゲートウェイ２ａは、メタデータの宛先情報には自装置の宛先情報である「♯Ｃ」を設定する。また、転送テーブルに、データＩＤに対応付けて「♯Ｃ→♯Ａ」というルールを設定する。これにより、提供者側ゲートウェイ２ａは、他のゲートウェイ２から提供者端末１ａの宛先情報（♯Ａ）を秘匿化する。
【００１８】
利用者端末１ｂは、データを使用する場合、メタデータ取得トランザクションを利用者側ゲートウェイ２ｂに送信する。メタデータ取得トランザクションには、ユーザＩＤや取得できるデータの説明（例えば、キーワード等の検索条件）が含まれる。
【００１９】
利用者側ゲートウェイ２ｂは、指定されたユーザＩＤがアクセス可能なメタデータであって条件を満たすメタデータを一覧化して利用者端末１ｂに送信する。利用者側ゲートウェイ２ｂは、利用者端末１ｂに送信する前に、メタデータの宛先情報を提供者側ゲートウェイ２ａのＩＰアドレス、ポート番号などで指定される宛先情報（♯Ｃ）から自装置の宛先情報（♯Ｅ）に変換する。また、転送テーブルに、データＩＤに対応付けて「♯Ｅ→♯Ｃ」というルールを設定する。これにより、利用者側ゲートウェイ２ｂは、利用者端末１ｂから提供者側ゲートウェイ２ａの宛先情報を秘匿化する。
【００２０】
利用者側ゲートウェイ２ｂは、データＩＤを含むデータ取得トランザクションを利用者端末１ｂから受信した場合、転送テーブルに基づいてトランザクションの宛先情報を♯Ｃに変換し、提供者側ゲートウェイ２ａにトランザクションを送信する。
【００２１】
提供者側ゲートウェイ２ａは、トランザクションに含まれるデータＩＤに対応する転送テーブルに基づいてトランザクションの宛先情報を♯Ａに変換し、提供者端末１ａにデータ取得トランザクションを送信し、データを取得する。提供者側ゲートウェイ２ａは、取得したデータをハッシュ化し、メタデータ内のデータＩＤ（データのハッシュ値）と照合し、暗号化したデータを利用者側ゲートウェイ２ｂに送信する。
【００２２】
利用者側ゲートウェイ２ｂは、取得したデータをハッシュ化し、メタデータ内のデータＩＤ（ハッシュ値）と照合し、利用者端末１ｂに送信する。
【００２３】
以上のように、各ゲートウェイ２がメタデータを共有しデータ管理を行うことにより、利用者が、所望のデータを提供者端末１ａから取得することができる。また、提供者側ゲートウェイ２ａは、メタデータを記憶し、他のゲートウェイ２と共有するが、データを記憶しないため、データの安全性を確保することができる。
【００２４】
図２は、ゲートウェイの一例を示す図である。上述のように、ゲートウェイ２は、提供者側ゲートウェイ２ａおよび利用者側ゲートウェイ２ｂの総称である。図１に示すように、ゲートウェイ２は、分散されたデータの取引を実行するデータ流通ネットワークに用いられる。なお、ゲートウェイ２は、ノード装置の一例である。
【００２５】
管理部２１は、メタデータの登録トランザクションを受け付けた場合、メタデータに対応するデータのハッシュ値を算出し、メタデータを複数のゲートウェイ２の記憶部２４に記憶させる。複数のゲートウェイ２は、自装置および他のゲートウェイ２を含む。記憶させるメタデータは、データの属性情報、自装置の宛先情報、データへのアクセスが許可されたユーザの識別情報、およびデータのハッシュ値等を含む。
【００２６】
管理部２１は、メタデータの取得トランザクションを受け付けた場合、メタデータに含まれるデータ属性情報を参照し、トランザクションに含まれる条件を満たすメタデータを記憶部２４から取得し、トランザクションの発行元に送信する。メタデータの取得トランザクションの発行元は、例えば、図１の利用者端末１ｂである。
【００２７】
管理部２１は、メタデータの取得トランザクションを受け付けた場合、メタデータの取得トランザクションで指定されたユーザの識別とメタデータ内のユーザの識別情報を照合し、指定されたユーザの識別情報が含まれるメタデータを取得する。
【００２８】
なお、本実施形態における管理部２１は、コンソーシアム型ブロックチェーン技術におけるスマートコントラクトの機能を応用した機能を有する。
【００２９】
制御部２２は、提供者端末１ａからデータを取得した場合、取得したデータのハッシュ値を算出し、算出したハッシュ値とメタデータに含まれるハッシュ値とを照合する。
【００３０】
制御部２２は、メタデータの取得トランザクションを受け付けた場合、メタデータに含まれるデータの宛先情報を、自装置の宛先情報に変換し、変換後のメタデータを、メタデータの取得トランザクションの発行元に送信する。
【００３１】
制御部２２は、データの識別情報と提供者端末１ａの宛先情報と自装置の宛先情報とを対応づけたテーブル（転送テーブル）を生成する。他のゲートウェイ２からデータの取得トランザクションを受け付けた場合、転送テーブルを参照し、自装置の宛先情報に対応づけられた提供者端末１ａの宛先情報を用いて、提供者端末１ａにアクセスし、データを取得する。
【００３２】
なお、本実施形態における制御部２２は、コンソーシアム型ブロックチェーン技術におけるＷｅｂＳＤＫ（Software Development Kit）の機能を応用した機能を有する。
【００３３】
転送部２３は、生成された転送テーブルを用いて、各種データの転送処理を実行する。転送部２３は、プロキシサーバの機能を有する。
【００３４】
記憶部２４は、メタデータを記憶する。なお、本実施形態の記憶部２４は、ブロックチェーン技術における分散台帳の機能を応用した機能を有する。
【００３５】
以上のように、ゲートウェイ２は、メタデータの登録トランザクションを受け付けた場合、提供者側ゲートウェイ２ａとして機能する。また、ゲートウェイ２は、メタデータの取得トランザクションまたはデータ取得トランザクションを受け付けた場合、利用者側ゲートウェイ２ｂとして機能する。
【００３６】
図３は、各トランザクションに含まれる情報の一例を示す図である。図３（ａ）は、メタデータ登録トランザクションに含まれる情報を示す。メタデータ登録トランザクションは、発行元ユーザＩＤ、宛先情報、メタデータ関連情報を含む。
【００３７】
メタデータ登録トランザクションにおいて、「発行元ユーザＩＤ」は、トランザクション発行元のユーザＩＤである。「宛先情報」は、例えば、提供者側ゲートウェイ２ａの宛先情報である。「データ属性情報」は、データの名称、データに関するキーワード、メタデータ登録トランザクションのＩＤ、提供者端末１ａの宛先情報およびメタデータ登録トランザクションの発行日時等を含む。提供者端末１ａの宛先情報は、例えば、プロキシアドレス、およびデータアクセスに使用するＵＲＬパラメータを含む。メタデータの内容の詳細については後述する。
【００３８】
図３（ｂ）は、メタデータ取得トランザクションに含まれる情報を示す。メタデータ取得トランザクションは、発行元ユーザＩＤ、宛先情報、検索条件を含む。メタデータ取得トランザクションにおいて、「発行元ユーザＩＤ」は、トランザクション発行元のユーザＩＤである。「宛先情報」は、例えば、利用者側ゲートウェイ２ｂのアドレス情報である。「検索条件」は、例えば、メタデータに含まれるキーワード等である。
【００３９】
図３（ｃ）は、データ取得トランザクションに含まれる情報を示す。データ取得トランザクションは、発行元ユーザＩＤ、宛先情報、データＩＤを含む。データ取得トランザクションにおいて、「発行元ユーザＩＤ」は、トランザクション発行元のユーザＩＤである。「宛先情報」は、例えば、利用者側ゲートウェイ２ｂのアドレス情報である。「データＩＤ」は、メタデータに含まれ、ユーザが要求するデータに対応するデータＩＤである。
【００４０】
図４は、メタデータの一例を示す図である。メタデータは、データＩＤと属性と宛先アドレスとアクセス権限とを含む。
【００４１】
「データＩＤ」は、データの識別情報であり、例えば、制御部２２がデータに基づいて生成したハッシュ値である。
【００４２】
「属性」は、データを説明するための各種情報であり、メタデータ登録トランザクションに含まれるデータ属性情報のうち、提供者端末１ａの宛先情報以外の情報が用いられる。属性は、例えば、データの名称、データに関するキーワード、メタデータ登録トランザクションのＩＤおよびメタデータ登録トランザクションの発行日時等を含む。
【００４３】
「宛先情報」は、例えば、メタデータ登録トランザクションを受け付けたゲートウェイ２（提供者側ゲートウェイ２ａ）の宛先情報（例えば、ＵＲＬ）が設定される。管理部２１は、宛先情報を、暗号化してメタデータに記録してもよい。例えば、提供者側ゲートウェイ２ａは、メタデータ登録トランザクションを提供者端末１ａから受信した際に、データへのアクセスが許可された利用者が保持する復号鍵で復号可能な暗号方法により宛先情報を暗号化する。
【００４４】
提供者側ゲートウェイ２ａは、メタデータの宛先情報として、提供者端末１ａの宛先情報ではなく、自装置の宛先情報を記録する。よって、提供者側ゲートウェイ２ａは、提供者端末１ａの宛先情報を他のゲートウェイ２から秘匿化することができる。
【００４５】
「アクセス権限情報」は、データのアクセス権限に関する情報である。「アクセス権限情報」は、例えば、データへのアクセスが許可されたユーザの識別情報（ユーザＩＤ）である。
【００４６】
図５は、転送テーブルの一例を示す図である。図５に示すように、転送テーブルには、データＩＤとアドレス変換設定が記録されている。図５（ａ）は、メタデータの登録トランザクションを受け付けたゲートウェイ２（図１の提供者側ゲートウェイ２ａ）の転送テーブルを示す。なお、図５のアドレスとして、図１の例に示したアドレスを用いている。
【００４７】
提供者側ゲートウェイ２ａの転送テーブルには、自装置の宛先情報（♯Ｃ）を、データを記憶する提供者端末１ａの宛先情報（♯Ａ）に変換する設定が記録される。提供者側ゲートウェイ２ａは、利用者側ゲートウェイ２ｂからデータ取得トランザクションを受けた場合にこの転送テーブルを適用する。
【００４８】
上述のように、利用者側ゲートウェイ２ｂと共有するメタデータには、提供者端末１ａの宛先情報を秘匿化するために、提供者側ゲートウェイ２ａの宛先情報が記録される。そこで、提供者側ゲートウェイ２ａは、図５に示す転送テーブルを設定することにより、利用者側ゲートウェイ２ｂからのデータ利用を可能とすることができる。
【００４９】
図５（ｂ）は、他のゲートウェイ２（提供者側ゲートウェイ２ａ）からメタデータを取得したゲートウェイ２（利用者側ゲートウェイ２ｂ）の転送テーブルを示す。
【００５０】
利用者側ゲートウェイ２ｂの転送テーブルには、自装置の宛先情報（♯Ｅ）をメタデータの送信元のゲートウェイ２（提供者側ゲートウェイ２ａ）の宛先情報（♯Ｃ）に変換する設定が記録される。利用者側ゲートウェイ２ｂは、利用者端末１ｂからデータ取得トランザクションを受けた場合に、この転送テーブルを適用する。
【００５１】
利用者側ゲートウェイ２ｂは、メタデータを利用者端末１ｂに送信する際に、提供者側ゲートウェイ２ａの宛先情報を秘匿化するために、メタデータの宛先情報を自装置の宛先情報に変換している。よって、利用者端末１ｂは、データ取得トランザクションにおいて、利用者側ゲートウェイ２ｂの宛先情報を指定する。そこで、利用者側ゲートウェイ２ｂは、予め図５に示す転送テーブルを設定することにより、利用者端末１ｂからデータ取得トランザクションを受けた場合に提供者側ゲートウェイ２ａにデータ取得トランザクションを転送することを可能とする。
【００５２】
図６は、検証処理の一例を示すシーケンス図である。図６に示す端末１は、図１の提供者端末１ａまたは利用者端末１ｂに相当する。また、図６に示すトランザクションは、メタデータ登録トランザクション、メタデータ取得トランザクション、またはデータ取得トランザクションのいずれかである。
【００５３】
端末１は、端末１と同じローカルネットワークに属するゲートウェイ２にトランザクションを送信する。トランザクションを受け付けたゲートウェイは、他のゲートウェイ２にトランザクションを転送する。そして、各ゲートウェイ２は、トランザクションの正当性を検証する。
【００５４】
トランザクションがメタデータ登録トランザクションである場合、トランザクションの検証は、登録者の認証に相当する。トランザクションがメタデータ取得トランザクションである場合、トランザクションの検証は、トランザクションを発行した利用者の認証、利用者のメタデータへのアクセス権の検証に相当する。トランザクションがデータ取得トランザクションである場合、トランザクションの検証は、トランザクションを発行した利用者の認証、利用者のデータへのアクセス権の検証に相当する。
【００５５】
各ゲートウェイ２は、トランザクションの検証後、検証結果を他のゲートウェイ２に送信する。各ゲートウェイ２は、受信した検証結果に基づいて、トランザクションを実行する。例えば、所定割合のゲートウェイ２が正当なトランザクションであることを示す検証結果を出力した場合、各ゲートウェイは、トランザクションを実行する。
【００５６】
各ゲートウェイ２は、実行したトランザクションの履歴をチェーン連結して記憶する。例えば、各ゲートウェイ２は、直前に実行したトランザクションの履歴をハッシュ化し、ハッシュ値を最新のトランザクションの履歴とともに記憶する。
【００５７】
以上のように、各ゲートウェイ２は、各ゲートウェイ２の検証結果に応じてトランザクションを実行するため、特定の管理者が存在しなくても、トランザクションの正当性を検証することができる。また、各ゲートウェイ２は、トランザクションの履歴をチェーン連結するため、直前に実行したトランザクションの履歴のハッシュ値を最新のトランザクションの履歴とともに記憶するため、履歴の改ざんを防止することができる。なお、図６に示す処理は、ブロックチェーンの台帳管理方法を応用した処理である。
【００５８】
図７は、メタデータ登録処理の一例を示すシーケンス図である。図７において、管理部２１ａ、制御部２２ａ、転送部２３ａ、記憶部２４ａは、図１に示す提供者側ゲートウェイ２ａに含まれる要素である。また、管理部２１ａ、制御部２２ａ、転送部２３ａ、記憶部２４ａは、図２に示す管理部２１、制御部２２、転送部２３、記憶部２４に相当する。また、図７に示す管理部２１ｂ、制御部２２ｂ、転送部２３ｂ、記憶部２４ｂは、図１に示す利用者側ゲートウェイ２ｂに含まれる要素である。また、管理部２１ｂ、制御部２２ｂ、転送部２３ｂ、記憶部２４ｂは、図２に示す管理部２１、制御部２２、転送部２３、記憶部２４に相当する。
【００５９】
提供者端末１ａは、メタデータを登録する場合、メタデータ登録トランザクションを転送部２３ａに送信する（ステップＳ１０１）。メタデータ登録トランザクションの送信先アドレスは、例えば、”https://利用者側ゲートウェイ２ｂのipアドレス:ポート番号/api-pub”という形式である。
【００６０】
転送部２３ａは、メタデータ登録トランザクションを制御部２２ａに転送する（ステップＳ１０２）。制御部２２ａは、登録対象のメタデータに対応するデータを提供者端末１ａから取得する（ステップＳ１０３）。なお、提供者端末１ａは、転送部２３ａにメタデータ登録トランザクションとともにデータを送信し、転送部２３ａは受信したデータを制御部２２ａに転送してもよい。
【００６１】
制御部２２ａは、取得したデータのハッシュ値を算出する（ステップＳ１０４）。制御部２２ａは、例えば、所定のハッシュ関数を用いて、取得したデータのハッシュ値を算出する。制御部２２ａは、ハッシュ値を算出した後、取得したデータを削除する。
【００６２】
制御部２２ａは、取得したメタデータ登録トランザクション内のメタデータとハッシュ値とを管理部２１ａに転送する（ステップＳ１０５）。管理部２１ａは、複数のゲートウェイ２にメタデータ登録トランザクションを転送し、メタデータの登録者の認証を行う。例えば、図６に示した例のように、複数のゲートウェイ２がトランザクションの検証を行うことによりメタデータの登録者の認証を行う。
【００６３】
認証が成功した場合、すなわちメタデータ登録者がデータ登録の正当権限を有していると判定された場合、管理部２１ａは、利用者側ゲートウェイ２ｂを含む複数のゲートウェイ２にメタデータとともにメタデータを記憶させる指示を送信する（ステップＳ１０７）。そして、管理部２１ａは、メタデータを記憶部２４ａに記憶させる（ステップＳ１０８ａ）。
【００６４】
管理部２１ａは、制御部２２ａに認証結果を転送する（ステップＳ１０９ａ）。制御部２２ａは、登録されたメタデータに基づいて、転送テーブル（例えば、図５（ａ）に示すテーブル）を生成する（ステップＳ１１０ａ）。制御部２２ａは、生成した転送テーブルに基づいて、転送部２３ａに転送設定を指示する（ステップＳ１１１ａ）。ステップＳ１１１ａにおける設定は、リバースプロキシ設定に相当する。
【００６５】
管理部２１ｂは、メタデータを記憶部２４ｂに記憶させる（ステップＳ１０８ｂ）。管理部２１ｂは、制御部２２ｂに認証結果を転送する（ステップＳ１０９ｂ）。制御部２２ａは、メタデータに基づいて、転送テーブル（例えば、図５（ｂ）に示すテーブル）を生成する（ステップＳ１１０ｂ）。制御部２２ａは、生成した転送テーブルに基づいて、転送部２３ａに転送設定を指示する（ステップＳ１１１ｂ）。ステップＳ１１１ｂにおける設定は、リバースプロキシ設定に相当する。
【００６６】
以上の処理により、管理部２１ａは、メタデータを複数のゲートウェイ２内の記憶部２４に記憶させる。
【００６７】
図８は、メタデータ取得処理の一例を示すシーケンス図である。図８に示す各構成は、図７と同様であるため、説明を省略する。
【００６８】
利用者端末１ｂは、メタデータ取得トランザクションを利用者側ゲートウェイ２ｂの転送部２３ｂに送信する（ステップＳ２０１）。メタデータ取得トランザクションの送信先アドレスは、例えば、”https://利用者側ゲートウェイ2bのipアドレス:ポート番号/apis”という形式である。
【００６９】
転送部２３ｂは、受信したメタデータ取得トランザクションを制御部２２ｂに転送する（ステップＳ２０２）。また、制御部２２ｂは、メタデータ取得トランザクションを管理部２１ｂに転送する（ステップＳ２０３）。
【００７０】
管理部２１ｂは、メタデータ取得トランザクションで指定されたユーザＩＤとメタデータに含まれるユーザＩＤとを照合して、利用者認証および利用者のメタデータへのアクセス権の検証を実行する（ステップＳ２０４）。管理部２１ｂは、複数のゲートウェイ２にメタデータ取得トランザクションを転送し、図６に示した例のように、複数のゲートウェイ２が利用者認証を行う。
【００７１】
管理部２１ｂは、記憶部２４ｂに記憶されたメタデータのうち、アクセス権限情報にメタデータ取得トランザクションで指定されたユーザＩＤを含み、該トランザクションで指定された条件を満たすメタデータが存在するか検索する（ステップＳ２０５）。例えば、メタデータ取得トランザクションに条件としてキーワードが含まれていた場合、管理部２１ｂは、属性にそのキーワードを含むメタデータが存在するか検索する。
【００７２】
管理部２１ｂは、指定されたユーザＩＤを含み、条件を満たすメタデータの一覧を記憶部２４ｂから取得する（ステップＳ２０６）。管理部２１ｂは、取得したメタデータの一覧を制御部２２ｂに転送する（ステップＳ２０７）。
【００７３】
制御部２２ｂは、取得したメタデータの一覧を転送部２３ｂに転送する（ステップＳ２０８）。転送部２３ｂは、メタデータの宛先情報を、提供者側ゲートウェイ２ａを示す宛先情報から、自装置（利用者側ゲートウェイ２ｂ）を示すアドレス情報に変換する（ステップＳ２０９）。転送部２３ｂは、宛先情報を変換したメタデータの一覧を利用者端末１ｂに送信する（ステップＳ２１０）。
【００７４】
転送部２３ｂが宛先情報を利用者側ゲートウェイ２ｂの宛先情報に変換して利用者端末１ｂに転送することにより、利用者端末１ｂに提供者側ゲートウェイ２ａの宛先情報を秘匿化することができる。
【００７５】
図９および図１０は、データ取得処理の一例を示すシーケンス図である。図９および図１０に示す各構成は、図７および図８と同様であるため、説明を省略する。
【００７６】
利用者端末１ｂは、データ取得トランザクションを利用者側ゲートウェイ２ｂの転送部２３ｂに送信する（ステップＳ３０１）。データ取得トランザクションの送信先アドレスは、例えば、”https://利用者側ゲートウェイ2bのipアドレス:ポート番号/read/dataID”という形式である。
【００７７】
データ取得トランザクションには、取得対象データのデータＩＤが含まれている。利用者は、すでにメタデータ一覧を取得しているため、メタデータ一覧の属性等を参照することにより、取得対象データを特定し、取得対象データのデータＩＤを知ることができる。
【００７８】
転送部２３ｂは、データ取得トランザクションを制御部２２ｂに転送する（ステップＳ３０２）。制御部２２ｂは、データ取得トランザクションを管理部２１ｂに転送する（ステップＳ３０３）。
【００７９】
管理部２１ｂは、利用者認証および利用者のデータへのアクセス権の検証を実行する（ステップＳ３０４）。管理部２１ｂは、例えば、複数のゲートウェイ２にデータ取得トランザクションを転送し、メタデータに基づいて、利用者の認証およびアクセス権の検証を行う。例えば、図６に示した例のように、複数のゲートウェイ２がトランザクションの検証を行うことにより利用者の認証を行う。複数のゲートウェイ２は、例えば、データ取得トランザクションに含まれるユーザＩＤがメタデータに含まれるアクセス権限情報に含まれている場合、利用者が正当なデータ利用権限を有すると判定する。
【００８０】
ステップＳ３０４において、利用者が正当な権限を有すると判定された場合、管理部２１ｂは、メタデータを参照し、トランザクションで指定されたデータＩＤに対応付けられた宛先情報を検索する（ステップＳ３０５）。管理部２１ｂは、記憶部２４ｂから返される検索結果を取得する（ステップＳ３０６）。管理部２１ｂは、検索結果に含まれる宛先情報を、制御部２２ｂに転送する（ステップＳ３０７）。
【００８１】
制御部２２ｂは、取得した宛先情報が示すゲートウェイ２（提供者側ゲートウェイ２ａ）の転送部２３ｂにデータ取得トランザクションを送信する（ステップＳ３０８）。データ取得トランザクションの送信先アドレスは、例えば、”https://利用者側ゲートウェイ２ｂのipアドレス:ポート番号/read/dataID”という形式である。なお、データ取得トランザクションで指定されたデータＩＤに該当するデータが存在していた場合、制御部２２ｂは、利用者端末１ｂに検索結果を返してもよい。
【００８２】
転送部２３ａは、データ取得トランザクションを制御部２２ａに転送する（ステップＳ３０９）。制御部２２ａは、管理部２１ａにデータ取得トランザクションを転送する（ステップＳ３１０）。
【００８３】
管理部２１ａは、利用者認証および利用者のデータへのアクセス権の検証を実行する（ステップＳ３１１）。管理部２１ａは、例えば、複数のゲートウェイ２にデータ取得トランザクションを転送し、メタデータに基づいて、利用者の認証を行う。例えば、図６に示した例のように、複数のゲートウェイ２がトランザクションの検証を行うことにより利用者の認証を行う。また、複数のゲートウェイ２は、例えば、データ取得トランザクションに含まれるユーザＩＤがメタデータに含まれるアクセス権限情報に含まれている場合、利用者が正当なデータ利用権限を有すると判定する。
【００８４】
ゲートウェイ２は、メタデータのアクセス権限情報を用いてデータへのアクセス権を検証することにより、データへの不正なアクセスを防止することができる。
【００８５】
管理部２１ａは、認証結果を制御部２２ａに転送する（ステップＳ３１２）。制御部２２ａは、図７のステップＳ１１０ａで生成した転送テーブルを参照し、転送テーブルに基づいてデータ取得トランザクションの宛先情報を変換する（ステップＳ３１３）。制御部２２ａは、変換後の宛先情報が示すデータにアクセスし（ステップＳ３１４）、データを取得する（ステップＳ３１５）。ステップＳ３１４のアクセス先アドレスは、例えば、” https://データソースのipアドレス:ポート番号/”という形式である。
【００８６】
すなわち、管理部２１ａは、転送テーブルを参照し、自装置の宛先情報に対応づけられた提供者端末１ａの宛先情報を用いて、データを取得する。
【００８７】
制御部２２ａは、取得したデータからハッシュ値を算出し、記憶部２４ａのメタデータのうち取得したデータに対応するハッシュ値と算出したハッシュ値とを照合することによりデータの正当性を検証する（ステップＳ３１６）。制御部２２ａは、メタデータ内のハッシュ値と算出したハッシュ値が同一であれば、データが正当であると判定する。
【００８８】
制御部２２ａは、取得したデータを暗号化して転送部２３ａに転送する（ステップＳ３１７）。なお、制御部２２ａは、ステップＳ３１６でデータが正当でないと判定した場合、例えば、エラーを示す情報を転送部２３ａに転送する。転送部２３ａは、取得したデータを利用者側ゲートウェイ２ｂの制御部２２ｂに転送する（ステップＳ３１８）。
【００８９】
制御部２２ｂは、取得したデータからハッシュ値を算出し、記憶部２４ｂのメタデータのうち取得したデータに対応するハッシュ値と算出したハッシュ値とを照合することによりデータの正当性を検証する（ステップＳ３１９）。制御部２２ｂは、メタデータ内のハッシュ値と算出したハッシュ値が同一であれば、データが正当であると判定する。
【００９０】
制御部２２ｂは、転送部２３ｂにデータを転送する（ステップＳ３２０）。転送部２３ｂは、利用者端末１ｂにデータを転送する（ステップＳ３２１）。
【００９１】
ゲートウェイ２は、メタデータ内のハッシュ値を用いて、提供者端末１ａから取得したデータの正当性を検証するため、例えば、データが改ざんされたことを検出することが可能となり、セキュアなデータ取引を可能にすることができる。
【００９２】
＜ゲートウェイ２のハードウェア構成の一例＞
次に、図１１の例を参照して、ゲートウェイ２のハードウェア構成の一例を説明する。図１１の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３と補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６と入力装置１１７と出力装置１１８とが接続される。
【００９３】
プロセッサ１１１は、ＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムには、実施形態における処理を行う管理プログラムが適用されてもよい。
【００９４】
ＲＯＭ１１３は、ＲＡＭ１１２に展開される管理プログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。補助記憶装置１１４に実施形態の処理を行う管理プログラムが記録されていてもよい。
【００９５】
媒体接続部１１５には、可搬型記録媒体１１９が接続可能である。可搬型記録媒体１１９には、光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等が適用されてもよい。可搬型記録媒体１１９に実施形態の処理を行う管理プログラムが記録されていてもよい。
【００９６】
入力装置１１７は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示及び情報等の入力を受け付ける。出力装置１１８は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせ又は指示、及び処理結果等を出力する。
【００９７】
図２に示す記憶部２４は、ＲＡＭ１１２、ＲＯＭ１１３または補助記憶装置１１４等により実現されてもよい。図２に示す管理部２１、制御部２２、転送部２３、および記憶部２４は、与えられた管理プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【００９８】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１９は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【００９９】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成が適用される。
【符号の説明】
【０１００】
１      端末
１ａ    提供者端末
１ｂ    利用者端末
２      ゲートウェイ
２ａ    提供者側ゲートウェイ
２ｂ    利用者側ゲートウェイ
２１，２１ａ，２１ｂ    管理部
２２，２２ａ，２２ｂ    制御部
２３，２３ａ，２３ｂ    転送部
２４，２４ａ，２４ｂ    記憶部
１００    バス
１１１    プロセッサ
１１２    ＲＡＭ
１１３    ＲＯＭ
１１４    補助記憶装置
１１５    媒体接続部
１１６    通信インタフェース
１１７    入力装置
１１８    出力装置
１１９    可搬型記録媒体
【図１】
2019153181.tif 000003
【図２】
2019153181.tif 000004
【図３】
2019153181.tif 000005
【図４】
2019153181.tif 000006
【図５】
2019153181.tif 000007
【図６】
2019153181.tif 000008
【図７】
2019153181.tif 000009
【図８】
2019153181.tif 000010
【図９】
2019153181.tif 000011
【図１０】
2019153181.tif 000012
【図１１】
2019153181.tif 000013
【手続補正書】
【提出日】平成30年11月8日(2018.11.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ流通ネットワークに含まれるノード装置に実行させるための通信プログラムであって、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する
処理を前記ノード装置に実行させるための通信プログラム。
【請求項２】
前記メタデータは、前記データにアクセス可能なユーザに関するアクセス権限情報を含むことを特徴とする請求項１に記載の通信プログラム。
【請求項３】
前記アクセス権限情報に基づいて、前記ユーザが前記メタデータにアクセス可能か否かを判定することを特徴とする請求項２に記載の通信プログラム。
【請求項４】
前記メタデータの登録要求を受け付けた場合、前記メタデータに対応するデータのハッシュ値を算出し、前記ハッシュ値を含む前記メタデータを前記複数のノード装置に転送する、
処理を前記ノード装置に実行させることを特徴とする請求項１乃至３のいずれかに記載の通信プログラム。
【請求項５】
前記メタデータに含まれる属性情報を、ブロックチェーンを用いて共有する
処理を前記ノード装置に実行させることを特徴とする請求項１乃至４のいずれかに記載の通信プログラム。
【請求項６】
データ流通ネットワークに含まれるノード装置において、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付ける受付部と、
前記メタデータを前記データ流通ネットワークに含まれる他のノード装置に転送する第１転送部と、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する第２転送部と、を有する
ことを特徴とするノード装置。
【請求項７】
データ流通ネットワークに含まれるノード装置に実行させるための通信方法において、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する
ことを特徴とする通信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
１つの態様では、通信プログラムは、データ流通ネットワークに含まれるノード装置に実行させる。また、通信プログラムは、前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する、処理を前記ノード装置に実行させる。
【手続補正書】
【提出日】平成31年3月25日(2019.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ流通ネットワークに含まれるノード装置に実行させるための通信プログラムであって、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、
前記メタデータの取得要求を受け付けた場合、前記メタデータに含まれる、前記データにアクセス可能なユーザに関するアクセス権限情報に基づいて、前記取得要求で指定されたユーザが前記メタデータにアクセス可能か否かを判定し、前記データの属性情報を参照し、前記取得要求で指定されたキーワードを含む前記属性情報を含む前記メタデータを取得し、取得した前記メタデータを前記取得要求の発行元に送信し、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する
処理を前記ノード装置に実行させるための通信プログラム。
【請求項２】
前記メタデータの登録要求を受け付けた場合、前記メタデータに対応するデータのハッシュ値を算出し、前記ハッシュ値を含む前記メタデータを前記複数のノード装置に転送する、
処理を前記ノード装置に実行させることを特徴とする請求項１に記載の通信プログラム。
【請求項３】
前記メタデータに含まれる属性情報を、ブロックチェーンを用いて共有する
処理を前記ノード装置に実行させることを特徴とする請求項１または２に記載の通信プログラム。
【請求項４】
データ流通ネットワークに含まれるノード装置において、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付ける受付部と、
前記メタデータを前記データ流通ネットワークに含まれる他のノード装置に転送する第１転送部と、
前記メタデータの取得要求を受け付けた場合、前記メタデータに含まれる、前記データにアクセス可能なユーザに関するアクセス権限情報に基づいて、前記取得要求で指定されたユーザが前記メタデータにアクセス可能か否かを判定し、前記データの属性情報を参照し、前記取得要求で指定されたキーワードを含む前記属性情報を含む前記メタデータを取得し、取得した前記メタデータを前記取得要求の発行元に送信する送信部と、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する第２転送部と、を有する
ことを特徴とするノード装置。
【請求項５】
データ流通ネットワークに含まれるノード装置に実行させるための通信方法において、
前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、
前記メタデータの取得要求を受け付けた場合、前記メタデータに含まれる、前記データにアクセス可能なユーザに関するアクセス権限情報に基づいて、前記取得要求で指定されたユーザが前記メタデータにアクセス可能か否かを判定し、前記データの属性情報を参照し、前記取得要求で指定されたキーワードを含む前記属性情報を含む前記メタデータを取得し、取得した前記メタデータを前記取得要求の発行元に送信し、
前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する
ことを特徴とする通信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
１つの態様では、通信プログラムは、データ流通ネットワークに含まれるノード装置に実行させる。また、通信プログラムは、前記ノード装置に接続される端末が有するデータの属性情報を含むメタデータの登録要求を受け付けた場合、前記メタデータを複数の前記ノード装置に転送し、前記メタデータの取得要求を受け付けた場合、前記メタデータに含まれる、前記データにアクセス可能なユーザに関するアクセス権限情報に基づいて、前記取得要求で指定されたユーザが前記メタデータにアクセス可能か否かを判定し、前記データの属性情報を参照し、前記取得要求で指定されたキーワードを含む前記属性情報を含む前記メタデータを取得し、取得した前記メタデータを前記取得要求の発行元に送信し、前記メタデータに基づくデータ取得要求を受け付けた場合、前記端末からデータを取得し、前記データ取得要求元に前記データを転送する、処理を前記ノード装置に実行させる。