(57)【要約】  権利者端末１は、ブロックチェーンシステム６において実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システム９におけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータＢｓを記憶し、コントラクトの識別子を含む参照先データＲを生成し、参照先データＲと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータＯｂｊを生成するルートオブジェクト生成部１２３を備える。
2020100855.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末であって、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成するトランザクションを送信するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部
を備えることを特徴とする権利者端末。
【請求項２】
前記利用者が利用する利用者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値に対応づけられた前記利用者の識別子が、送信元の利用者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記利用者端末に送信する共有部
をさらに備えることを特徴とする請求項１に記載の権利者端末。
【請求項３】
前記コンテンツの新権利者が利用する新権利者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子が、送信元の新権利者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記新権利者端末に送信し、
前記新権利者端末から、前記新権利者端末が前記コンテンツデータを有する旨の通知を受信すると、前記記憶装置から前記コンテンツデータを削除する移転部
をさらに備えることを特徴とする請求項１に記載の権利者端末。
【請求項４】
前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項１ないし３のいずれか１項に記載の権利者端末。
【請求項５】
コンテンツの利用者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する利用者端末であって、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの権利者の識別子および前記利用者の識別子を対応づけたステートデータと、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する利用部
を備えることを特徴とする利用者端末。
【請求項６】
前記記憶装置は、前記参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、前記参照先データを記憶する
ことを特徴とする請求項５に記載の利用者端末。
【請求項７】
コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する新権利者端末であって、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、前記分散台帳システムに前記権利者の識別子を、前記新権利者の識別子に変更するトランザクションを送信し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する移転要求部と、
前記新権利者端末が前記コンテンツデータを有する旨の通知を送信するファイル管理制御部
を備えることを特徴とする新権利者端末。
【請求項８】
前記記憶装置は、前記参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、前記参照先データを記憶する
ことを特徴とする請求項７に記載の新権利者端末。
【請求項９】
コンピュータを、請求項１ないし請求項４のいずれか１項に記載の権利者端末として機能させるための権利者プログラム。
【請求項１０】
コンピュータを、請求項５または請求項６に記載の利用者端末として機能させるための利用者プログラム。
【請求項１１】
コンピュータを、請求項７または請求項８に記載の新権利者端末として機能させるための新権利者プログラム。
【請求項１２】
コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、前記コンテンツの利用者が利用し、前記分散台帳システムと前記ファイル管理システムに接続する利用者端末とを備えるコンテンツ利用システムであって、
前記権利者端末は、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、前記記憶装置に記憶するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部と、
前記利用者が利用する利用者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値に対応づけられた前記利用者の識別子が、送信元の利用者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記利用者端末に送信する共有部を備え、
前記利用者端末は、
前記ステートデータと、前記ルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む利用要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する利用部を備える
ことを特徴とするコンテンツ利用システム。
【請求項１３】
コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの権利者から権利を移転した新権利者が利用し、前記分散台帳システムと前記ファイル管理システムに接続する新権利者端末とを備えるコンテンツ利用システムであって、
前記権利者端末は、
コンテンツデータを記憶するとともに、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおける前記コンテンツデータの前記権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、
前記コントラクトの識別子を含む参照先データを生成し、前記参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、前記記憶装置に記憶するルートオブジェクト生成部と、
前記ルートオブジェクトデータのハッシュ値と前記制御対象ファイルデータのハッシュ値を、前記ファイル管理システムにおける前記権利者の識別子と対応づけて通知するファイル管理制御部と、
前記コンテンツの新権利者が利用する新権利者端末から、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、
前記ステートデータにおいて、前記制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子が、送信元の新権利者の識別子に一致する場合、前記ファイル管理システムを介して前記制御対象ファイルデータが特定する前記コンテンツデータを前記新権利者端末に送信し、
前記新権利者端末から、前記新権利者端末が前記コンテンツデータを有する旨の通知を受信すると、前記記憶装置から前記コンテンツデータを削除する移転部を備え、
前記新権利者端末は、
前記ステートデータと、前記ルートオブジェクトデータを記憶する記憶装置と、
前記ステートデータから、前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、前記制御対象ファイルデータのハッシュ値とに対応づけられた前記権利者の識別子を取得し、
前記制御対象ファイルデータのハッシュ値に対応する前記参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、前記分散台帳システムに前記権利者の識別子を、前記新権利者の識別子に変更するトランザクションを送信し、
前記権利者が利用する権利者端末に、前記ファイル管理システムを介して前記制御対象ファイルデータのハッシュ値を含む移転要求を送信し、
前記ファイル管理システムを介して、前記コンテンツデータを受信する移転要求部と、
前記新権利者端末が前記コンテンツデータを有する旨の通知を送信するファイル管理制御部を備える
ことを特徴とするコンテンツ利用システム。
【請求項１４】
前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項１２または１３に記載のコンテンツ利用システム。
【請求項１５】
分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムを有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造であって、
前記分散台帳は、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、前記ファイル管理システムにおける前記コンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、
前記分散台帳システムと前記ファイル管理システムに接続する端末は、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、
制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、前記分散台帳から、前記制御対象ファイルデータが特定する前記コンテンツデータの権利者の識別子または前記利用者の識別子を取得する
ことを特徴とするルートオブジェクトデータのデータ構造。
【請求項１６】
前記ルートオブジェクトデータは、参照先データを含まない代わりに、前記参照先データのリンク名およびハッシュ値を含む
ことを特徴とする請求項１５に記載のルートオブジェクトデータのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの権利者が利用し、コンテンツの利用者にコンテンツの許諾データを送信する権利者端末、コンテンツの利用者が利用し、コンテンツの権利者にコンテンツの許諾要求データを送信する利用者端末、コンテンツの権利者から権利を移転した新権利者が利用する新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造に関する。
【背景技術】
【０００２】
デジタル仮想通貨の取引において、非中央集権型の分散台帳の一種であるブロックチェーンが用いられる。ブロックチェーンでは、参加者間の仮想通貨の取引の情報がブロックという単位でまとめられ、ブロックチェーンを形成する。ブロックチェーンの構造に関し、ブロックチェーンは、チェーンという言葉のとおり、ブロックが直前のブロックと紐付けが行われる形で記録される。具体的には、直前のブロックのハッシュ値をブロックの中に含むことで、各ブロックが紐付けされる。【０００３】
ある時点のブロックの中に含まれた取引情報を改竄するには、ブロックのハッシュ値が変わる。これにより、改竄されたブロック以降の全てのブロックの改竄が必要となる。また、ブロックを追加する際、それを追加することによってブロックのハッシュ値が特定条件と合致するような付加情報（ナンス）を発見する計算量の非常に大きな処理（マイニング）を実行する必要がある。これらが相まって、ブロックチェーンは、改竄に対して極めて強固な仕組みにより形成される。【０００４】
またEthereum（イーサリアム）において、プログラマブルブロックチェーンが提案されている。コントラクトとも称されるプログラムコードが、予めブロックチェーンに登録される。コントラクトの実行を指定したトランザクションが入力されると、トランザクションがブロックに含まれる際、そのプログラムコードが実行される。実行結果は、ブロックチェーンのステートデータに格納される。【０００５】
一方特権的なノードを仮定しない分散ファイル管理システムとして、IPFS(InterPlanetary File System)がある（非特許文献１参照）。IPFSにおいて、ファイルは特定サイズのブロックに分割されて、IPFSに属する端末において管理される。ファイルは、ハッシュ値から生成される識別子により認識され、ファイルの改竄はできない。IPFSは、分散性およびID構造により、透明性および信頼性を確保できる。【０００６】
またブロックチェーンの改竄に対して極めて強固な仕組みである点に着目し、分散ファイル管理システムと、ブロックチェーンとを融合したシステムがある（非特許文献２参照）。非特許文献２において、ファイルは、チャンクに分割される。各チャンクは、DAG(Directed Acyclic Graph：向非巡回グラフ)でまとめられ、チャンクには、リンク先のチャンクの情報が記載される。非特許文献２においてDAGを形成する全てのチャンクの識別子が、それぞれブロックチェーンに登録される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Juan Banet、“IPFS - Content Addressed, Versioned, P2P File System (DRAFT 3)”、［online］、［平成30年10月30日検索］、インターネット〈URL：https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf〉
【非特許文献２】Mathis Steichen, 他、“Blockchain-Based, Decentralized Access Control for IPFS”、［online］、［平成30年10月15日検索］、インターネット〈URL：https://www.researchgate.net/publication/327034734_Blockchain-Based_Decentralized_Access_Control_for_IPFS〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献２では、全てのチャンクの識別子がブロックチェーンのステートデータに集約されるので、コントラクトのバグまたはコントラクトへの攻撃に起因して、分散ファイルシステムの全体に影響が及ぶ可能性がある。【０００９】
また分散ファイル管理システムにおいて、ファイルのサイズが大きくなるにつれ、チャンクの数が増えるところ、非特許文献２は、各チャンクの識別子を登録するので、ブロッチェーンの肥大化を招く。さらにサイズが大きいファイルに関連するトランザクションの処理にコストがかかる結果、ブロックチェーンにおけるトランザクションのスループットを下げる可能性がある。【００１０】
従って本発明の目的は、分散ファイル管理システムに登録されるコンテンツの情報を、分散台帳に分散して登録可能な権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末に関する。本発明の第１の特徴に係る権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するトランザクションを送信するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部を備える。【００１２】
利用者が利用する利用者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを利用者端末に送信する共有部をさらに備えても良い。【００１３】
コンテンツの新権利者が利用する新権利者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末に送信し、新権利者端末から、新権利者端末がコンテンツデータを有する旨の通知を受信すると、記憶装置からコンテンツデータを削除する移転部をさらに備えても良い。【００１４】
ルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。【００１５】
本発明の第２の特徴は、コンテンツの利用者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する利用者端末に関する。本発明の第２の特徴に係る利用者端末は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する利用部を備える。【００１６】
記憶装置は、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、参照先データを記憶しても良い。【００１７】
本発明の第３の特徴は、コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳を有する分散台帳システムとファイル管理システムに接続する新権利者端末に関する。本発明の第３の特徴に係る新権利者端末は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータと、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、分散台帳システムに権利者の識別子を、新権利者の識別子に変更するトランザクションを送信し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する移転要求部と、新権利者端末がコンテンツデータを有する旨の通知を送信するファイル管理制御部を備える。【００１８】
記憶装置は、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含むルートオブジェクトデータと、参照先データを記憶しても良い。【００１９】
本発明の第４の特徴は、コンピュータを、本発明の第１の特徴に記載の権利者端末として機能させるための権利者プログラムに関する。【００２０】
本発明の第５の特徴は、コンピュータを、本発明の第２の特徴に記載の利用者端末として機能させるための利用者プログラムに関する。【００２１】
本発明の第６の特徴は、コンピュータを、本発明の第３の特徴に記載の新権利者端末として機能させるための新権利者プログラムに関する。【００２２】
本発明の第７の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの利用者が利用し、分散台帳システムとファイル管理システムに接続する利用者端末とを備えるコンテンツ利用システムに関する。本発明の第７の特徴に係るコンテンツ利用システムにおいて権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するトランザクションを送信するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部と、利用者が利用する利用者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを利用者端末に送信する共有部を備え、利用者端末は、ステートデータと、ルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む利用要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する利用部を備える。【００２３】
本発明の第８の特徴は、コンテンツの権利者が利用し、分散台帳を有する分散台帳システムと、ファイル管理システムに接続する権利者端末と、コンテンツの権利者から権利を移転した新権利者が利用し、分散台帳システムとファイル管理システムに接続する新権利者端末とを備えるコンテンツ利用システムに関する。本発明の第８の特徴に係るコンテンツ利用システムにおいて、権利者端末は、コンテンツデータを記憶するとともに、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを記憶する記憶装置と、コントラクトの識別子を含む参照先データを生成し、参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを生成して、記憶装置に記憶するルートオブジェクト生成部と、ルートオブジェクトデータのハッシュ値と制御対象ファイルデータのハッシュ値を、ファイル管理システムにおける権利者の識別子と対応づけて通知するファイル管理制御部と、コンテンツの新権利者が利用する新権利者端末から、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システムを介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末に送信し、新権利者端末から、新権利者端末がコンテンツデータを有する旨の通知を受信すると、記憶装置からコンテンツデータを削除する移転部を備え、新権利者端末は、ステートデータと、ルートオブジェクトデータを記憶する記憶装置と、ステートデータから、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得し、制御対象ファイルデータのハッシュ値に対応する参照先データのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、分散台帳システムに権利者の識別子を、新権利者の識別子に変更するトランザクションを送信し、権利者が利用する権利者端末に、ファイル管理システムを介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システムを介して、コンテンツデータを受信する移転要求部と、新権利者端末がコンテンツデータを有する旨の通知を送信するファイル管理制御部を備える。【００２４】
本発明の第７または第８の特徴においてルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。【００２５】
本発明の第９の特徴は、分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムを有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造に関する。本発明の第９の特徴において分散台帳は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、分散台帳システムとファイル管理システムに接続する端末は、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、分散台帳から、制御対象ファイルデータが特定するコンテンツデータの権利者の識別子または利用者の識別子を取得する。【００２６】
ルートオブジェクトデータは、参照先データを含まない代わりに、参照先データのリンク名およびハッシュ値を含んでも良い。
【発明の効果】
【００２７】
本発明によれば、分散ファイル管理システムに登録されるコンテンツの情報を、分散台帳に分散して登録可能な権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラム、コンテンツ利用システムおよびルートオブジェクトデータのデータ構造を提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態に係るコンテンツ利用システムのシステム構成を説明する図である。
【図２】本発明の実施の形態に係るコンテンツ利用システムに用いられるコンテンツ管理データを説明する図である。
【図３】本発明の実施の形態に係るコンテンツ利用システムに用いられるルートオブジェクトデータのデータ構造の一例を説明する図である。
【図４】本発明の実施の形態に係るコンテンツ利用システムに用いられる参照先データのデータ構造の一例を説明する図である。
【図５】本発明の実施の形態に係る権利者端末のハードウエア構成と機能ブロックを説明する図である。
【図６】本発明の実施の形態に係るコンテンツ利用システムに用いられるステートデータの一例を説明する図である。
【図７】本発明の実施の形態に係る利用者端末のハードウエア構成と機能ブロックを説明する図である。
【図８】本発明の実施の形態に係る新権利者端末のハードウエア構成と機能ブロックを説明する図である。
【図９】本発明の実施の形態に係るコンテンツ利用システムにおいて、権利者端末がルートオブジェクトデータを生成し、ファイル管理システムに登録する処理を説明するシーケンス図である。
【図１０Ａ】本発明の実施の形態に係るコンテンツ利用システムにおいて、利用者端末が権利者端末に、コンテンツデータの共有をリクエストする処理を説明するシーケンス図である（その１）。
【図１０Ｂ】本発明の実施の形態に係るコンテンツ利用システムにおいて、利用者端末が権利者端末に、コンテンツデータの共有をリクエストする処理を説明するシーケンス図である（その２）。
【図１１Ａ】本発明の実施の形態に係るコンテンツ利用システムにおいて、新権利者端末が権利者端末に、コンテンツデータの移転をリクエストする処理を説明するシーケンス図である（その１）。
【図１１Ｂ】本発明の実施の形態に係るコンテンツ利用システムにおいて、新権利者端末が権利者端末に、コンテンツデータの移転をリクエストする処理を説明するシーケンス図である（その２）。
【図１２】変形例に係るコンテンツ利用システムに用いられるコンテンツ管理データを説明する図である。
【図１３】変形例に係るコンテンツ利用システムに用いられるルートオブジェクトデータのデータ構造の一例を説明する図である。
【図１４Ａ】変形例に係るコンテンツ利用システムにおいて、利用者端末が権利者端末に、コンテンツデータの共有をリクエストする処理を説明するシーケンス図である（その１）。
【図１４Ｂ】変形例に係るコンテンツ利用システムにおいて、利用者端末が権利者端末に、コンテンツデータの共有をリクエストする処理を説明するシーケンス図である（その２）。
【図１５Ａ】変形例に係るコンテンツ利用システムにおいて、新権利者端末が権利者端末に、コンテンツデータの移転をリクエストする処理を説明するシーケンス図である（その１）。
【図１５Ｂ】変形例に係るコンテンツ利用システムにおいて、新権利者端末が権利者端末に、コンテンツデータの移転をリクエストする処理を説明するシーケンス図である（その２）。
【発明を実施するための形態】
【００２９】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００３０】
（コンテンツ利用システム）
本発明の実施の形態に係る権利者端末１、利用者端末２および新権利者端末３が用いられるコンテンツ利用システム１０を説明する。コンテンツ利用システム１０は、ブロックチェーンシステム（分散台帳システム）６およびファイル管理システム９を備える。
【００３１】
ブロックチェーンシステム６は、ブロックチェーンデータ（分散台帳）Ｂを、システムに属する端末間で共有する。ブロックチェーンデータＢは、システムに属する端末が発行したトランザクションを含むブロックが繋がったデータである。ブロックチェーンシステム６は、権利者端末１、利用者端末２および新権利者端末３を備える。ブロックチェーンシステム６は、さらに、複数のブロックチェーン制御端末４を備えても良い。ブロックチェーンシステム６に属する各端末は、ブロックチェーンネットワーク５を介してP2P(Peer to Peer)接続する。ブロックチェーンシステム６に属する各端末は、図５、図７および図８に示すように、それぞれブロックチェーンデータＢと、そのブロックチェーンデータＢを同期するためのブロックチェーン制御部を備える。
【００３２】
ブロックチェーンデータＢは、コンテンツ利用システム１０において流通されるコンテンツデータの制御情報を登録する。制御情報は、ファイル管理システム９におけるコンテンツデータの権利者および利用者の識別子等である。
【００３３】
ファイル管理システム９は、権利者端末１、利用者端末２および新権利者端末３を備える。ファイル管理システム９は、さらに、複数のファイル管理制御端末７を備えても良い。本発明の実施の形態においてファイル管理システム９は、IPFS等のファイル管理システム９に属する各端末が分散してファイルを管理する非中央集権型の分散ファイル管理システムである。ファイル管理システム９に属する各端末は、ファイル管理ネットワーク８を介してP2P接続する。
【００３４】
権利者端末１は、コンテンツの権利者が利用し、ブロックチェーンシステム６と、ファイル管理システム９に接続する。利用者端末２は、コンテンツの利用者が利用し、ブロックチェーンシステム６と、ファイル管理システム９に接続する。新権利者端末３は、コンテンツの権利者から権利を移転した新権利者が利用し、ブロックチェーンシステム６と、ファイル管理システム９に接続する。ブロックチェーン制御端末４は、ブロックチェーンシステム６を利用する者のうち、コンテンツの権利者、利用者および新権利者以外の者が利用する。ファイル管理制御端末７は、ファイル管理システム９を利用する者のうち、コンテンツの権利者、利用者および新権利者以外の者が利用する。
【００３５】
図１に示す例において、ブロックチェーン制御端末４およびファイル管理制御端末７の数は問わない。ブロックチェーン制御端末４およびファイル管理制御端末７は、互いに異なる端末であっても良いし、一つの端末で、ブロックチェーン制御端末４の機能と、ファイル管理制御端末７の機能を実装しても良い。
【００３６】
なお本発明の実施の形態において、分散台帳の一例がブロックチェーンであって、ブロックチェーンにコンテンツの権利者および利用者の情報を登録する場合を説明するが、これに限らない。例えば、ブロックチェーンではなく、他の分散台帳を用いて、コンテンツの権利者および利用者の情報を登録しても良い。
【００３７】
（コンテンツ管理データ）
図２を参照して、本発明の実施の形態に係るコンテンツ管理データＭを説明する。コンテンツ管理データＭは、権利者端末１によって作成される。コンテンツ管理データＭは、ファイル管理システム９に登録するコンテンツデータを、管理する。コンテンツ管理データＭは、他の端末からの要請に応じて提供される。
【００３８】
コンテンツ管理データＭは、コンテンツデータを管理するデータである。コンテンツデータのデータサイズが、１つのチャンクのデータサイズよりも大きい場合、図２に示すように、コンテンツ管理データＭは、コンテンツデータの実体を含まない。コンテンツデータは、所定サイズのチャンクに分割され、DAGに纏められる。コンテンツ管理データＭは、各コンテンツデータを特定する複数の制御対象ファイルデータおよび非制御対象ファイルデータと、ルートオブジェクトデータＯｂｊを有する。コンテンツデータのデータサイズが、１つのチャンクのデータサイズよりも小さい場合、制御対象ファイルデータ自体がコンテンツデータとなり、コンテンツ管理データＭは、コンテンツデータの実体を含む。
【００３９】
図２に示す例においてコンテンツ管理データＭは、Ａ制御対象ファイルデータＦ１、Ｂ制御対象ファイルデータＦ２およびＣ非制御対象ファイルデータＦ３を備える。制御対象ファイルデータは、ブロックチェーンデータＢに登録される制御情報に対応するコンテンツデータを特定するデータである。非制御対象ファイルデータは、制御情報がブロックチェーンデータＢに登録されないコンテンツデータを特定するデータである。例えば、制御対象ファイルデータは、利用者に提供される映像データおよび音楽のコンテンツを特定する。非制御対象ファイルは、確率的にコンテンツデータを特定するためのフィンガープリントなど、制御対象ファイルに付随するデータを特定し、任意に設定される。
【００４０】
Ａ制御対象ファイルデータＦ１は、Ａコンテンツデータから分割されたチャンクのうちＡ制御対象ファイルデータＦ１にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。図２に示す例においてＡ制御対象ファイルデータＦ１は、ハッシュ値ChunkA1のチャンク、ハッシュ値ChunkA2のチャンク等の各チャンクのリンク名およびハッシュ値、サイズ等の情報を有する。
【００４１】
同様に、Ｂ制御対象ファイルデータＦ２は、Ｂコンテンツデータから分割されたチャンクのうちＢ制御対象ファイルデータＦ２にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。Ｃ非制御対象ファイルデータＦ３は、Ｃコンテンツデータから分割されたチャンクのうちＣ非制御対象ファイルデータＦ３にリンクするチャンクのリンク名およびハッシュ値等の情報を有する。
【００４２】
Ａ制御対象ファイルデータＦ１のデータから、Ａ制御対象ファイルデータＦ１のハッシュ値FileAが算出され、Ａ制御対象ファイルデータＦ１の識別子としてFileAが用いられる。同様に、Ｂ制御対象ファイルデータＦ２のデータから、Ｂ制御対象ファイルデータＦ２のハッシュ値FileBが算出され、Ｂ制御対象ファイルデータＦ２の識別子としてFileBが用いられる。Ｃ非制御対象ファイルデータＦ３のデータから、Ｃ非制御対象ファイルデータＦ３のハッシュ値FileCが算出され、Ｃ非制御対象ファイルデータＦ３の識別子としてFileCが用いられる。各制御対象ファイルまたは非制御対象ファイルの識別子は、配下のコンテンツデータの識別子としても機能する。
【００４３】
ルートオブジェクトデータＯｂｊは、図３に示すように、ルートオブジェクトデータＯｂｊにリンクする制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値、リンク名、サイズ等のデータと、参照先データＲを有する。図２に示すコンテンツ管理データＭにおいて、ルートオブジェクトデータＯｂｊは、Ａ制御対象ファイルデータＦ１について、リンク名LinkAおよびハッシュ値FileAを対応付け、Ｂ制御対象ファイルデータＦ２について、リンク名LinkBおよびハッシュ値FileBを対応付け、Ｃ非制御対象ファイルデータＦ３について、リンク名LinkCおよびハッシュ値FileCを対応づける。
【００４４】
本発明の実施の形態において、ブロックチェーンデータＢは、制御対象ファイルデータが特定するコンテンツデータの制御情報として、ファイル管理システム９における権利者および利用者の識別子を保持する。また本発明の実施の形態においてブロックチェーンデータＢは、コンテンツ利用システム１０において利用される各コンテンツデータの制御情報を、複数のコントラクトに分割して保持する。そこで参照先データＲは、権利者または利用者の識別子の設定、変更または削除等が生じた際、更新対象となるブロックチェーンデータＢのコントラクトを特定するために用いられる。
【００４５】
参照先データＲは、図４に示すように、コントラクトの識別子、このコントラクトを呼び出す際の呼出情報、制御対象ファイルデータを特定する情報を含む。コントラクトの識別子は、ブロックチェーンデータＢのうち、コンテンツ管理データＭが管理するコンテンツデータの制御情報が登録される位置を特定する。コントラクトの識別子は、コンテンツ管理データＭが管理するコンテンツデータに関する情報に関する処理を行うコントラクトの識別子でもある。コントラクトの呼出情報は、コンテンツ管理データＭが管理するコンテンツデータに関する処理を行う際の関数名および引数等の情報が設定される。
【００４６】
参照先データＲはさらに、制御対象ファイルデータを特定する情報として、コンテンツ管理データＭが管理する制御対象ファイルデータのハッシュ値を有する。図２に示す例において、参照先データＲは、Ａ制御対象ファイルのハッシュ値FileAおよびＢ制御対象ファイルのハッシュ値FileBを有する。本発明の実施の形態において、制御対象ファイルデータを特定する情報は、いわゆるホワイトリストとして制御対象ファイルデータのハッシュ値である場合を説明するが、ブラックリストとして非制御対象ファイルデータのハッシュ値であっても良い。
【００４７】
なお、制御対象ファイルデータを特定する情報として設定された情報に従って、制御対象ファイルのハッシュ値から、この制御対象ファイルを管理するコントラクトの識別子が特定される。例えば、参照先データＲにおいてコントラクトの識別子に、このコントラクトで管理される制御対象ファイルデータのハッシュ値が指定される場合、制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子が特定される。参照先データＲにおいてコントラクトの識別子に、このコントラクトで管理されない非制御対象ファイルデータのハッシュ値が指定される場合、まず制御対象ファイルデータのハッシュ値が含まれるルートオブジェクトデータＯｂｊが特定され、特定されたルートオブジェクトデータＯｂｊに対応する参照先データＲからコントラクトの識別子が特定される。
【００４８】
また本発明の実施の形態において、参照先データＲが制御対象ファイルデータを特定する情報を含み、参照先データＲの制御対象ファイルデータを特定する情報に基づいて、処理対象の制御対象ファイルデータを管理するコントラクトの識別子を特定する場合を説明するが、これに限らない。参照先データＲが制御対象ファイルデータを特定する情報を含まない場合でも、処理対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータＯｂｊを特定し、特定したルートオブジェクトデータＯｂｊが含む参照先データＲから、コントラクトの識別子を特定しても良い。
【００４９】
またこのようなルートオブジェクトデータＯｂｊのデータから、ハッシュ値が算出され、算出されたハッシュ値は、ルートオブジェクトデータＯｂｊの識別子として用いられる。ルートオブジェクトデータＯｂｊのハッシュ値は、ブロックチェーンデータＢのステートデータＢｓにおいて、コンテンツ管理データＭが管理するコンテンツデータの権利者または利用者の識別子に対応づけられる。
【００５０】
このように本発明の実施の形態においてコンテンツ管理データＭは、コンテンツデータから分割されたチャンクの識別子を保持する制御対象ファイルデータまたは非制御対象ファイルデータと、制御対象ファイルデータまたは非制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータＯｂｊを有する。これによりコンテンツ管理データＭは、改竄されにくくすることができる。またルートオブジェクトデータＯｂｊは、ブロックチェーンデータＢに登録された情報を処理するために用いられる参照先データＲを保持するので、管理対象のコンテンツデータとブロックチェーンデータＢに登録された情報とを紐付けることを可能にする。
【００５１】
本発明の実施の形態においてステートデータＢｓは、複数のコントラクトの識別子を有し、各コントラクトの識別子に対して、ルートオブジェクトデータＯｂｊが生成される。また権利者端末１は、複数のルートオブジェクトデータＯｂｊを有しても良い。この場合、権利者端末１が有する複数のコンテンツデータが、ルートオブジェクトデータＯｂｊのいずれかに割り当てられる。
【００５２】
（権利者端末）
図５を参照して、本発明の実施の形態に係る権利者端末１を説明する。権利者端末１は、記憶装置１１０、処理装置１２０、通信制御装置１３０を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図５に示す機能を実現する。
【００５３】
記憶装置１１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置１２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置１２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１１０に記憶されたデータを読み書きしたり、通信制御装置１３０とデータを入出力したりして、権利者端末１における処理を実行する。通信制御装置１３０は、権利者端末１が、ブロックチェーンネットワーク５またはファイル管理ネットワーク８に属する端末と通信可能に接続するためのインタフェースである。
【００５４】
記憶装置１１０は、権利者プログラムおよび権利者端末１が有するコンテンツデータを記憶するとともに、ブロックチェーンデータＢ、ルーティングデータ１１１およびコンテンツ管理データＭを記憶する。
【００５５】
ブロックチェーンデータＢは、図１に示すブロックチェーンシステム６の各端末と同期されるブロックチェーンのデータである。ブロックチェーンデータＢは、ブロックチェーン制御部１２１によって更新される。
【００５６】
本発明の実施の形態においてブロックチェーンデータＢは、イーサリアム(Ethereum)に従い、コンテンツデータの権利処理を行う。ブロックチェーンデータＢは、ブロックチェーン本体データＢｂおよびステートデータＢｓを備える。ブロックチェーン本体データＢｂは、複数のブロックがチェーン状に連結して形成される。各ブロックは、複数のトランザクションを含み、トランザクションに、コントラクトが設定されたり、コントラクトの実行が指定されたりする場合がある。ステートデータＢｓは、コントラクト毎にデータ領域が設けられ、コントラクトの実行に伴ってそのコントラクトのデータ領域が更新される。
【００５７】
ステートデータＢｓは、図６に示すように、ブロックチェーンシステム６において実行されるコントラクトを識別するコントラクトの識別子、ルートオブジェクトデータＯｂｊのハッシュ値、コントラクトによって管理されるコンテンツデータの制御情報を対応づける。ルートオブジェクトデータＯｂｊは、図２を参照して説明したように権利者端末１において生成され、コントラクトによって管理されるコンテンツデータに関するデータを有する。コンテンツデータの制御情報は、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ブロックチェーンシステム６における権利者の識別子、ファイル管理システム９におけるコンテンツデータの権利者の識別子および利用者の識別子等である。コンテンツデータの制御情報はさらに、コンテンツの利用または移転に伴う代金等の条件、ブロックチェーンシステム６における利用者の識別子等を含んでも良い。
【００５８】
また本発明の実施の形態において、ステートデータＢｓが、コントラクトの識別子に対応するルートオブジェクトデータＯｂｊのハッシュ値を保持する場合を説明するが、これに限らない。例えば、ルートオブジェクトデータＯｂｊのハッシュ値を提示した場合、ブロックチェーンシステム６がこのルートオブジェクトデータＯｂｊに関する情報を提示する、コントラクトの識別子とルートオブジェクトデータＯｂｊのハッシュ値を正しく提示した場合、ブロックチェーンシステム６がこのルートオブジェクトデータＯｂｊに関する制御情報を提示するなど、適宜参照されても良い。
【００５９】
なお、図６に示す例では、一つの制御対象ファイルデータのハッシュ値に、一つの権利者および利用者の識別子が設定される場合を説明するが、これに限られない。例えば、一つの制御対象ファイルデータのハッシュ値に、複数の権利者および利用者の識別子が設定されても良い。また、権利および利用に関し、コンテンツデータから生じる配信権や二次利用権などの各種権利について、権利者および利用者の識別子が設定されても良い。利用者が登録される前において、利用者の識別子は空欄となる。
【００６０】
権利者端末１においてルートオブジェクトデータＯｂｊを生成する際、まず、ブロックチェーンデータＢにおいて、生成対象のルートオブジェクトデータＯｂｊに紐付くコントラクトがデプロイされる。コントラクトがデプロイされ、コントラクトの識別子が発行されると、ルートオブジェクトデータＯｂｊが生成される。ステートデータＢｓに、デプロイされたコントラクトの識別子、ルートオブジェクトデータＯｂｊのハッシュ値および制御情報が、対応づけられて設定される。他の方法として、ステートデータＢｓ等が、コントラクトの名称と、コントラクトの識別子を対応づけるテーブルデータを記憶しても良い。この場合、権利者端末１がコントラクトの名称を含むルートオブジェクトＯｂｊを生成するとともに、コントラクトの名称に対応づけてコントラクトをデプロイし、テーブルデータにおいて、デプロイされたコントラクトの識別子を、コントラクトの名称に対応づける。
【００６１】
ルーティングデータ１１１は、ファイル管理システム９におけるファイルの識別子と、ファイルを有する端末の識別子を対応づけたデータである。ファイル管理システム９に属する各端末は、ルーティングデータ１１１を有する。ファイル管理システム９において管理されるファイルの識別子と、ファイルを有する端末の識別子は、各端末に分散して保持される。各端末のルーティングデータ１１１を統合することで、ファイル管理システム９において管理される全てのファイルの識別子と、ファイルを有する端末の識別子を特定することができる。
【００６２】
コンテンツ管理データＭは、図２を参照して説明したように、ファイル管理システム９に登録するコンテンツデータを管理するデータである。
【００６３】
また図５には示さないが、記憶装置１１０は、ブロックチェーンシステム６およびファイル管理システム９に接続するために必要なデータを記憶する。具体的には、記憶装置１１０は、権利者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム６とファイル管理システム９とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
【００６４】
処理装置１２０は、ブロックチェーン制御部１２１、ファイル管理制御部１２２、ルートオブジェクト生成部１２３、共有部１２４および移転部１２５を備える。
【００６５】
ブロックチェーン制御部１２１は、ブロックチェーンデータＢを、他の端末が有するブロックチェーンデータと緩やかに同期し、ブロックチェーンデータＢがリアルタイムに近い形で最新のデータとなるように制御する。複数のトランザクションが発生すると、複数のトランザクションをまとめたブロックを、現在のブロックチェーン本体データＢｂに追加して良いか否かの検証を行った上で、ブロックチェーンデータＢは更新される。
【００６６】
ファイル管理制御部１２２は、ファイル管理システム９にコンテンツを登録したり、権利者端末１が保持するルーティングデータ１１１を管理したりする。
【００６７】
ルートオブジェクト生成部１２３は、図２に示すコンテンツ管理データＭのルートオブジェクトデータＯｂｊを生成する。ルートオブジェクト生成部１２３は、管理対象のコンテンツデータの制御情報を保持するコントラクトを、ブロックチェーンデータＢにデプロイし、そのコントラクトの識別子を含む参照先データＲを生成する。参照先データＲは、ルートオブジェクトデータＯｂｊが管理する制御対象ファイルデータを特定する情報も含む。
【００６８】
ルートオブジェクト生成部１２３は、さらに、参照先データＲと、制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値等を含むルートオブジェクトデータＯｂｊを生成する。ルートオブジェクト生成部１２３は、生成したルートオブジェクトデータＯｂｊを、記憶装置１１０に記憶するとともに、ルートオブジェクトデータＯｂｊのハッシュ値を、デプロイしたコントラクトの識別子に対応づけてステートデータＢｓに登録する。より具体的には、ルートオブジェクト生成部１２３は、ルートオブジェクトデータＯｂｊのハッシュ値を、コントラクトの識別子に対応づけるトランザクションをブロックチェーンシステム６に送信し、このトランザクションを処理する端末が、ステートデータＢｓにおいて、ルートオブジェクトデータＯｂｊのハッシュ値を、コントラクトの識別子に対応づける更新を行う。
【００６９】
ルートオブジェクト生成部１２３が、ルートオブジェクトデータＯｂｊを生成すると、ファイル管理制御部１２２は、ファイル管理システム９に属する端末に、ルートオブジェクトデータＯｂｊのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム９における権利者の識別子と対応づけて通知する。これによりファイル管理システム９に属する端末に、権利者が、ルートオブジェクトデータＯｂｊと、ルートオブジェクトが管理する制御対象ファイルデータおよび非制御対象ファイルデータを有することが通知される。
【００７０】
共有部１２４は、利用者からコンテンツデータの利用のリクエストを受信し、正当な利用者であることを確認して、コンテンツデータを利用者に送信する。ここで利用者端末２は、ルートオブジェクト生成部１２３に伴う通知によって、権利者端末１がルートオブジェクトデータＯｂｊを有することを把握する。利用者端末２は、ルートオブジェクトデータＯｂｊのハッシュ値を指定して、権利者端末１からルートオブジェクトデータＯｂｊを取得する。
【００７１】
共有部１２４は、利用者端末２から、ファイル管理システム９を介して制御対象ファイルデータのハッシュ値を含む利用要求が送信されると、ステートデータＢｓから、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値に対応づけられた、ファイル管理システム９における利用者の識別子を取得する。例えば、利用要求において、Ａ制御対象ファイルデータＦ１のハッシュ値が指定され、参照先データＲが制御対象ファイルデータを特定する情報を有する場合、共有部１２４は、参照先データＲを参照して、制御対象ファイルデータを特定する情報から、Ａ制御対象ファイルデータＦ１に対応するコントラクトの識別子を特定する。参照先データＲが制御対象ファイルデータを特定する情報を含まない場合、共有部１２４は、Ａ制御対象ファイルデータＦ１のハッシュ値を含むルートオブジェクトデータＯｂｊを特定し、特定したルートオブジェクトデータＯｂｊが含む参照先データＲが含むコントラクトの識別子を特定する。共有部１２４は、ステートデータＢｓから、特定されたコントラクトの識別子と、Ａ制御対象ファイルデータＦ１のハッシュ値に対応づけられた利用者の識別子を取得する。
【００７２】
共有部１２４はさらに、ステートデータＢｓから取得した利用者の識別子が、送信元の利用者の識別子に一致する場合、ファイル管理システム９を介して制御対象ファイルデータが特定するコンテンツデータを利用者端末２に送信する。ここでコンテンツデータは、チャンクに分割されるので、共有部１２４は、分割された各チャンクを、利用者端末２に送信する。これにより共有部１２４は、ステートデータＢｓに登録された正当な利用者に、コンテンツデータを提供することができる。
【００７３】
ここでは、権利者端末１が、ステートデータＢｓで登録される利用者の識別子と、送信元の利用者の識別子が一致するか否かを確認する場合を説明するが、これに限られない。例えば、権利者端末１が、送信元の利用者の識別子とコントラクトの識別子をブロックチェーンデータＢに送信しても良い。この場合、ブロックチェーンデータＢのコントラクトが、ステートデータＢｓに登録される利用者の識別子と、権利者端末１から送信された利用者の識別子が、一致するか否かを確認し、その結果を権利者端末１に返す。
【００７４】
移転部１２５は、新権利者からコンテンツデータの移転のリクエストを受信し、正当な権利者であることを確認して、コンテンツデータを権利者に送信し、権利者がコンテンツデータを取得したことを確認後、コンテンツデータを削除する。新権利者からコンテンツデータの移転のリクエストを受信するタイミングでは、ステートデータＢｓの制御対象ファイルデータの権利者の識別子欄に、新権利者の識別子が設定されており、権利者（旧権利者）から新権利者に、コンテンツデータを移転する。ここで新権利者端末３は、ルートオブジェクト生成部１２３に伴う通知によって、権利者端末１がルートオブジェクトデータＯｂｊを有することを把握し、ルートオブジェクトデータＯｂｊのハッシュ値を指定して、権利者端末１からルートオブジェクトデータＯｂｊを取得する。
【００７５】
移転部１２５は、新権利者端末３から、ファイル管理システム９を介して制御対象ファイルデータのハッシュ値を含む移転要求が送信されると、ステートデータＢｓから、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた、ファイル管理システム９における権利者の識別子を取得する。例えば、移転要求において、Ａ制御対象ファイルデータＦ１のハッシュ値が指定され、参照先データＲが制御対象ファイルデータを特定する情報を有する場合、共有部１２４は、参照先データＲを参照して、制御対象ファイルデータを特定する情報から、Ａ制御対象ファイルデータＦ１に対応するコントラクトの識別子を特定する。参照先データＲが制御対象ファイルデータを特定する情報を含まない場合、移転部１２５は、Ａ制御対象ファイルデータＦ１のハッシュ値を含むルートオブジェクトデータＯｂｊを特定し、特定したルートオブジェクトデータＯｂｊが含む参照先データＲが含むコントラクトの識別子を特定する。移転部１２５は、ステートデータＢｓから、特定されたコントラクトの識別子と、Ａ制御対象ファイルデータＦ１のハッシュ値に対応づけられた権利者の識別子を取得する。
【００７６】
移転部１２５はさらに、ステートデータＢｓから取得した権利者の識別子が、送信元の新権利者の識別子に一致する場合、ファイル管理システム９を介して制御対象ファイルデータが特定するコンテンツデータを新権利者端末３に送信する。ここでコンテンツデータは、チャンクに分割されるので、移転部１２５は、分割された各チャンクを、新権利者端末３に送信する。これにより共有部は、ステートデータＢｓに登録された正当な利用者に、コンテンツデータを提供することができる。
【００７７】
新権利者端末３は、権利者端末１からコンテンツデータを受信すると、ファイル管理システム９に属する端末に、新権利者端末３がコンテンツデータを有する旨の通知を送信する。移転部１２５は、新権利者端末３から、新権利者端末３がコンテンツデータを有する旨の通知を受信すると、記憶装置１１０からコンテンツデータを削除する。コンテンツデータに対して権利を有さない旧権利者がコンテンツデータを保持する状態を、回避することができる。
【００７８】
ここでは、権利者端末１が、ステートデータＢｓで登録される権利者の識別子と、送信元の新権利者の識別子が一致するか否かを確認する場合を説明するが、これに限られない。例えば、権利者端末１が、送信元の新権利者の識別子とコントラクトの識別子をブロックチェーンデータＢに送信しても良い。この場合、ブロックチェーンデータＢのコントラクトが、ステートデータＢｓに登録される権利者の識別子と、権利者端末１から送信された新権利者の識別子が、一致するか否かを確認し、その結果を権利者端末１に返す。
【００７９】
権利者端末１は、ルートオブジェクトデータＯｂｊを生成した際、さらに、生成したルートオブジェクトデータＯｂｊが管理する制御対象ファイルが特定するコンテンツデータのチャンクの識別子も、ファイル管理システム９における権利者の識別子と対応づけて通知しても良い。権利者端末１は、チャンクの識別子が指定された取得要求を受信すると、チャンクの識別子に紐づけられた制御対象ファイルデータを特定し、ブロックチェーンデータＢから特定した制御対象ファイルデータの利用者を確認する。権利者端末１は、正当な利用者からの要求であれば、取得要求で指定されたチャンクを送信する。
【００８０】
またチャンクの識別子は、DAGに纏められるので、取得要求で指定されたチャンクの識別子を、制御対象ファイルデータが有さない場合がある。この場合でも、権利者端末１が有するルートルートオブジェクトデータＯｂｊの制御対象ファイルデータが識別子を含む各チャンクのうち、取得要求で指定されたチャンクの識別子を含むチャンクを探索することができる。或いは、権利者端末１は、ルートオブジェクトデータＯｂｊが管理する各制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値と、各制御対象ファイルデータおよび非制御対象ファイルデータの各チャンクの識別子とを対応づけたテーブルを保持しても良い。これにより権利者端末１は、チャンクの取得要求が送信された場合でも、チャンクの識別子から、そのチャンクに対応する制御対象ファイルデータのハッシュ値を容易に特定し、さらに、ステートデータＢｓに、特定した制御対象ファイルの利用者の識別子を確認することができる。
【００８１】
（利用者端末）
図７を参照して、本発明の実施の形態に係る利用者端末２を説明する。利用者端末２は、記憶装置２１０、処理装置２２０、通信制御装置２３０を備える一般的なコンピュータである。一般的なコンピュータが権利者プログラムを実行することにより、図７に示す機能を実現する。
【００８２】
記憶装置２１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置２２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置２２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置２１０に記憶されたデータを読み書きしたり、通信制御装置２３０とデータを入出力したりして、利用者端末２における処理を実行する。通信制御装置２３０は、利用者端末２が、ブロックチェーンネットワーク５またはファイル管理ネットワーク８に属する端末と通信可能に接続するためのインタフェースである。
【００８３】
記憶装置２１０は、利用者プログラムを記憶するとともに、ブロックチェーンデータＢおよびルーティングデータ２１１を記憶する。
【００８４】
ブロックチェーンデータＢおよびルーティングデータ２１１は、図５を参照して説明したブロックチェーンデータＢおよびルーティングデータ１１１と同様である。
【００８５】
また図７には示さないが、記憶装置２１０は、ブロックチェーンシステム６およびファイル管理システム９に接続するために必要なデータを記憶する。具体的には、記憶装置２１０は、利用者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム６とファイル管理システム９とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
【００８６】
処理装置２２０は、ブロックチェーン制御部２２１、ファイル管理制御部２２２および利用部２２３を備える。
【００８７】
ブロックチェーン制御部２２１およびファイル管理制御部２２２は、図５を参照して説明したブロックチェーン制御部１２１およびファイル管理制御部１２２と同様に機能する。
【００８８】
利用部２２３は、権利者が有するコンテンツデータの利用に際し、利用者であることをステートデータＢｓに登録するとともに、権利者端末１から、コンテンツデータを取得し、コンテンツデータを利用する。
【００８９】
権利者端末１が、ルートオブジェクトデータＯｂｊのハッシュ値をステートデータＢｓに登録後、ファイル管理システム９に属する端末に、ルートオブジェクトデータＯｂｊのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム９における権利者の識別子と対応づけて通知する。これにより利用者端末２は、権利者端末１がルートオブジェクトデータＯｂｊを有することを把握し、ルートオブジェクトデータＯｂｊのハッシュ値を指定して、権利者端末１からルートオブジェクトデータＯｂｊを取得する。
【００９０】
利用部２２３は、制御対象ファイルデータが特定するコンテンツデータの利用者になる際、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とを指定して、ブロックチェーンシステム６に、利用者の識別子を設定するトランザクションを送信する。このとき、参照先データＲのコントラクトの呼出情報に基づいてトランザクションが生成される。これにより、ステートデータＢｓにおける制御対象ファイルの利用者の識別子が設定される。なお、参照先データＲが制御対象ファイルデータを特定する情報を含む場合、利用部２２３は、参照先データＲにおいて利用対象の制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子を取得する。参照先データＲが制御対象ファイルデータを特定する情報を含まない場合、利用部２２３は、利用対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータＯｂｊが含む参照先データＲのコントラクトの識別子を取得する。
【００９１】
利用部２２３は、ステートデータＢｓから、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者の識別子を取得する。これにより利用部２２３は、制御対象ファイルデータが特定するコンテンツデータの、ファイル管理システム９における権利者の識別子を把握する。
【００９２】
利用部２２３はさらに、権利者端末１に、ファイル管理システム９を介して制御対象ファイルデータのハッシュ値を含む利用要求を送信する。利用部２２３は、ファイル管理システム９を介して、コンテンツデータを受信する。ここでコンテンツデータは、チャンクに分割されるので、利用部２２３は、分割された各チャンクを、権利者端末１から受信する。利用部２２３は、ステートデータＢｓに登録された正当な権利者から、コンテンツデータを取得することができる。
【００９３】
（新権利者端末）
図８を参照して、本発明の実施の形態に係る新権利者端末３を説明する。新権利者端末３は、記憶装置３１０、処理装置３２０、通信制御装置３３０を備える一般的なコンピュータである。一般的なコンピュータが新権利者プログラムを実行することにより、図８に示す機能を実現する。
【００９４】
記憶装置３１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置３２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置３２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置３１０に記憶されたデータを読み書きしたり、通信制御装置３３０とデータを入出力したりして、新権利者端末３における処理を実行する。通信制御装置３３０は、新権利者端末３が、ブロックチェーンネットワーク５またはファイル管理ネットワーク８に属する端末と通信可能に接続するためのインタフェースである。
【００９５】
記憶装置３１０は、新権利者プログラムを記憶するとともに、ブロックチェーンデータＢおよびルーティングデータ３１１を記憶する。
【００９６】
ブロックチェーンデータＢおよびルーティングデータ３１１は、図５を参照して説明したブロックチェーンデータＢおよびルーティングデータ３１１と同様である。
【００９７】
また図８には示さないが、記憶装置３１０は、ブロックチェーンシステム６およびファイル管理システム９に接続するために必要なデータを記憶する。具体的には、記憶装置３１０は、利用者の電子署名用の秘密鍵および公開鍵を記憶する。ブロックチェーンシステム６とファイル管理システム９とで、それぞれ異なる秘密鍵および公開鍵を用いても良いし、共通の秘密鍵および公開鍵を用いても良い。
【００９８】
処理装置３２０は、ブロックチェーン制御部３２１、ファイル管理制御部３２２および移転要求部３２３を備える。
【００９９】
ブロックチェーン制御部３２１およびファイル管理制御部３２２は、図５を参照して説明したブロックチェーン制御部１２１およびファイル管理制御部１２２と同様に機能する。
【０１００】
移転要求部３２３は、権利者（旧権利者）が有するコンテンツデータの権利を、権利者から新権利者に移転したことをステートデータＢｓに登録するとともに、権利者端末１からコンテンツデータを取得する。
【０１０１】
権利者端末１が、ルートオブジェクトデータＯｂｊのハッシュ値をステートデータＢｓに登録後、ファイル管理システム９に属する端末に、ルートオブジェクトデータＯｂｊのハッシュ値、制御対象ファイルデータおよび非制御対象ファイルデータのハッシュ値を、ファイル管理システム９における権利者の識別子と対応づけて通知する。これにより新権利者端末３は、権利者端末１がルートオブジェクトデータＯｂｊを有することを把握し、ルートオブジェクトデータＯｂｊのハッシュ値を指定して、権利者端末１からルートオブジェクトデータＯｂｊを取得する。
【０１０２】
移転要求部３２３は、制御対象ファイルデータが特定するコンテンツデータの権利者になる際、ステートデータＢｓから、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値とに対応づけられた権利者（旧権利者）の識別子を取得する。これにより利用部２２３は、制御対象ファイルデータが特定するコンテンツデータの、ファイル管理システム９における旧権利者の識別子を把握する。なお、参照先データＲが制御対象ファイルデータを特定する情報を含む場合、移転要求部３２３は、参照先データＲにおいて移転対象の制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子を取得する。参照先データＲが制御対象ファイルデータを特定する情報を含まない場合、利用部２２３は、移転対象の制御対象ファイルデータのハッシュ値を含むルートオブジェクトデータＯｂｊが含む参照先データＲのコントラクトの識別子を取得する。
【０１０３】
移転要求部３２３はさらに、制御対象ファイルデータの権利者の識別子を、新権利者の識別子に変更するトランザクションを、ブロックチェーンシステム６に送信する。このトランザクションにおいて、制御対象ファイルデータのハッシュ値に対応する参照先データＲのコントラクトの識別子と、制御対象ファイルデータのハッシュ値が、指定される。このとき、参照先データＲのコントラクトの呼出情報に基づいてトランザクションが生成される。これにより、ステートデータＢｓにおける制御対象ファイルの権利者の識別子が、旧権利者の識別子から新権利者の識別子に変更される。
【０１０４】
移転要求部３２３はさらに、権利者端末１に、ファイル管理システム９を介して制御対象ファイルデータのハッシュ値を含む移転要求を送信し、ファイル管理システム９を介して、コンテンツデータを受信する。ここでコンテンツデータは、チャンクに分割されるので、移転要求部３２３は、分割された各チャンクを、権利者端末１から受信する。これにより利用部２２３は、ステートデータＢｓに登録された正当な権利者から、コンテンツデータを取得することができる。
【０１０５】
このときファイル管理制御部３２２は、新権利者端末３がコンテンツデータを有する旨の通知を送信する。権利者端末１がこの通知を受信すると、権利者端末１からコンテンツデータを削除する。コンテンツデータに対して権利を有さない旧権利者が、コンテンツデータを保持することを回避することができる。
【０１０６】
図９ないし図１１Ｂを参照して、本発明の実施の形態に係る処理を説明する。図９ないし図１１Ｂに示す処理の順序は一例であって、これに限るものではない。またブロックチェーンデータＢにおける処理は、ブロックチェーンシステム６におけるいずれかの端末によって実行される。ブロックチェーンデータＢの処理は、ブロックチェーンシステム６に属する端末が行う処理である。ファイル管理システム９の処理は、ファイル管理システム９に属する端末が行う処理である。
【０１０７】
（ルートオブジェクトデータの生成および登録）
図９を参照して、権利者端末１がルートオブジェクトデータＯｂｊを生成し、ファイル管理システム９に登録する処理を説明する。
【０１０８】
ステップＳ１０１において権利者端末１は、コンテンツデータを特定する制御対象ファイルデータのハッシュ値と、ファイル管理システム９における権利者の識別子とともに、このコンテンツデータの制御情報を管理するコントラクトを登録するトランザクションを発行する。ブロックチェーンデータＢは、コントラクトを登録するとともに、コントラクトの識別子を発行する。さらにブロックチェーンデータＢは、コントラクトの識別子と、制御対象ファイルデータのハッシュ値と、ファイル管理システム９における権利者の識別子を対応づけて、ステートデータＢｓに記憶する。ステップＳ１０２においてブロックチェーンデータＢは、ブロックチェーンデータＢに登録したコントラクトの識別子を権利者端末１に送信する。
【０１０９】
権利者端末１は、ステップＳ１０３において、コンテンツ管理データＭを生成する。権利者端末１は、コントラクトの識別子が設定された参照先データＲを生成する。権利者端末１はさらに、生成された参照先データと、ルートオブジェクトデータＯｂｊが管理する制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータＯｂｊを生成する。ステップＳ１０４において権利者端末１は、ルートオブジェクトデータＯｂｊのハッシュ値をコントラクトの識別子に対応づけて登録するトランザクションを発行する。
【０１１０】
ステップＳ１０５において権利者端末１は、ファイル管理システム９に対して、ルートオブジェクトデータＯｂｊと、コンテンツデータのチャンクを有することを通知する。この通知は、ステップＳ１０６において利用者端末２に届く。ステップＳ１０７において利用者端末２は、通知された内容に基づいて、利用者端末２が保持すべきルーティング情報があれば、ルーティングデータ２１１を更新する。
【０１１１】
（コンテンツデータの共有）
図１０Ａおよび図１０Ｂを参照して、本発明の実施の形態において、利用者端末２が権利者端末１に、コンテンツデータの共有をリクエストする処理を説明する。
【０１１２】
ステップＳ２０１において利用者端末２は、利用対象の制御対象ファイルデータに対応するルートオブジェクトデータＯｂｊのハッシュ値から、ルートオブジェクトデータＯｂｊの持ち主を検索する。ファイル管理システム９に属する端末は、各端末が保持するデータのリストを有するので、利用者端末２は、ファイル管理システム９の端末に、ルートオブジェクトデータＯｂｊを保持する端末を問い合わせる。ルートオブジェクトデータＯｂｊは権利者端末１が有するので、ステップＳ２０２において利用者端末２は、ルートオブジェクトデータＯｂｊのハッシュ値を指定したルートオブジェクトデータＯｂｊの取得要求を、ファイル管理システム９に向けて送信する。ステップＳ２０３においてルートオブジェクトデータＯｂｊの取得要求は、権利者端末１に送信される。
【０１１３】
ステップＳ２０４において権利者端末１は、取得要求対象のルートオブジェクトデータＯｂｊを特定する。権利者端末１は、ルートオブジェクトデータＯｂｊから算出したハッシュ値が、取得要求に含まれるルートオブジェクトデータＯｂｊのハッシュ値に対応することを確認する。ステップＳ２０５において利用者端末２は、ファイル管理システム９に向けて、ルートオブジェクトデータＯｂｊを送信する。ステップＳ２０６においてルートオブジェクトデータＯｂｊは、利用者端末２に送信される。
【０１１４】
ステップＳ２０７において利用者端末２は、受信したルートオブジェクトデータＯｂｊが所望のルートオブジェクトデータＯｂｊであることを確認して受信する。例えば取得要求に含ませたルートオブジェクトデータＯｂｊのハッシュ値が、受信したルートオブジェクトデータＯｂｊから算出されるハッシュ値であることを確認する。
【０１１５】
ここで利用者端末２は、制御対象ファイルデータの利用者として、自身の識別子をブロックチェーンデータＢに登録する。具体的には、利用者端末２は、ルートオブジェクトデータＯｂｊから、制御対象ファイルデータに対応するコントラクトの識別子を特定する。ステップＳ２０８において利用者端末２は、コントラクトの識別子、制御対象ファイルデータのハッシュ値およびファイル管理システム９における利用者の識別子を指定して、利用者の設定を要求するトランザクションを送信する。ステップＳ２０９においてブロックチェーンデータＢの利用者の識別子が設定される。
【０１１６】
ステップＳ２１０において利用者端末２は、ブロックチェーンデータＢに、コントラクトの識別子および制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの権利者を問い合わせする。ステップＳ２１１において利用者端末２は、制御対象ファイルデータについて、ファイル管理システム９における権利者の識別子を取得する。
【０１１７】
ステップＳ２１２において利用者端末２は、制御対象ファイルデータのハッシュ値を指定して、ファイル管理システム９に利用要求を送信する。利用要求は、ステップＳ２１３において権利者端末１に送信される。ここで権利者端末１においてコンテンツの識別子を特定しやすいように、利用要求にルートオブジェクトデータＯｂｊのハッシュ値が設定されても良い。
【０１１８】
権利者端末１は、自身が有するルートオブジェクトデータＯｂｊから、利用要求で指定された制御対象ファイルデータのハッシュ値に対応づけられたコントラクトの識別子を特定する。ステップＳ２１４において権利者端末１は、ブロックチェーンデータＢに対して、特定したコントラクトの識別子と、利用要求に含まれた制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの利用者の識別子を問い合わせる。ステップＳ２１５において権利者端末１は、利用者の識別子を取得する。
【０１１９】
権利者端末１は、ステップＳ２１５において取得した利用者の識別子が、ステップＳ２１３において受信した利用要求の送信元の識別子と一致する場合、ステップＳ２１６において、制御対象ファイルデータが特定するコンテンツデータのチャンクを、ファイル管理システム９に送信する。制御対象ファイルデータが特定するコンテンツデータのチャンクは、ステップＳ２１７において利用者端末２に送信される。
【０１２０】
ステップＳ２１８において利用者端末２は、ステップＳ２１２の利用要求で特定した制御対象ファイルデータが特定するコンテンツデータのチャンクを有することを、ファイル管理システム９に通知する。
【０１２１】
（コンテンツデータの権利の移転）
図１１Ａおよび図１１Ｂを参照して、本発明の実施の形態において、新権利者端末３が権利者端末１に、コンテンツデータの移転をリクエストする処理を説明する。
【０１２２】
ステップＳ３０１ないしステップＳ３０７の処理を経て、新権利者端末３は、移転対象のコンテンツデータに対応する制御対象ファイルデータに関するルートオブジェクトデータＯｂｊを取得する。この処理は、図１０ＡのステップＳ２０１ないしステップＳ２０７と同様である。
【０１２３】
ここで新権利者端末３は、制御対象ファイルデータの権利者として、自身の識別子をブロックチェーンデータＢに登録する。具体的には、新権利者端末３は、ルートオブジェクトデータＯｂｊから、制御対象データに対応するコントラクトの識別子を特定する。ステップＳ３０８において新権利者端末３は、コントラクトの識別子、制御対象ファイルデータのハッシュ値およびファイル管理システム９における新権利の識別子を指定して、権利者の設定を要求するトランザクションを送信する。ステップＳ３０９においてブロックチェーンデータＢの権利者の識別子として、新権利者の識別子が設定される。ブロックチェーンデータＢにおいて新権利者への権利の移転が登録されると、ステップＳ３１０において新権利者端末３は、その旨の通知を受ける。
【０１２４】
図示しないが、新権利者端末３は、制御対象ファイルデータの旧権利者の識別子を取得しても良い。また、権利を移転する際、コントラクトの仕様によって様々な処理が考えられる。例えば、ブロックチェーンデータＢは、権利を移転して良いか否かを権利者端末１に問い合わせ、権利者端末１から移転可の応答があった場合に、新権利者の識別子を設定する処理も考えられる。
【０１２５】
ステップＳ３１１において新権利者端末３は、制御対象ファイルデータのハッシュ値を指定して、ファイル管理システム９に移転要求を送信する。移転要求は、ステップＳ３１２において権利者端末１に送信される。ここで権利者端末１においてコンテンツの識別子を特定しやすいように、移転要求にルートオブジェクトデータＯｂｊのハッシュ値が設定されても良い。
【０１２６】
権利者端末１は、移転要求で指定された制御対象ファイルデータのハッシュ値に対応づけられたコントラクトの識別子を特定する。ステップＳ３１３において権利者端末１は、ブロックチェーンデータＢに対して、特定したコントラクトの識別子と、移転要求に含まれた制御対象ファイルデータのハッシュ値を指定して、制御対象ファイルデータの権利者の識別子を問い合わせる。ステップＳ３１４において権利者端末１は、権利者の識別子を取得する。
【０１２７】
権利者端末１は、ステップＳ３１４において取得した権利者の識別子が、ステップＳ３１２において受信した移転要求の送信元の識別子と一致する場合、ステップＳ３１５において、制御対象ファイルデータが特定するコンテンツデータのチャンクを、ファイル管理システム９に送信する。制御対象ファイルデータが特定するコンテンツデータのチャンクは、ステップＳ３１６において新権利者端末３に送信される。
【０１２８】
新権利者端末３は、新権利者端末３が、ステップＳ３１７の移転要求で特定した制御対象ファイルデータが特定するコンテンツデータのチャンクを有することを、ファイル管理システム９に通知する。
【０１２９】
ステップＳ３１８において、権利者端末１がこの通知を受信すると、ステップＳ３１９において記憶装置１１０から制御対象ファイルデータが特定するコンテンツデータを削除する。
【０１３０】
このような本発明の実施の形態に係るコンテンツ利用システム１０において、コンテンツデータをルートオブジェクトデータの単位で分割して管理し、ルートオブジェクトデータ毎にブロックチェーンデータＢにおけるコントラクトを割り当てる。これにより、コントラクトのバグまたはコントラクトへの攻撃が生じたとしても、他のコントラクトで管理されるコンテンツデータには影響が生じない。
【０１３１】
また本発明の実施の形態においてチャンクの識別子は、ブロックチェーンデータＢに登録されずに権利者端末１に保管され、必要に応じて配布される。これにより、ブロックチェーンデータＢの肥大化を防ぎ、トランザクションの処理にかかるコストおよびスループットの改善が期待できる。
【０１３２】
さらに、チャンクの識別子をブロックチェーンデータＢに登録しなくとも、チャンク毎の要求について、ブロックチェーンデータＢに登録された制御情報を参照して、正当な権利者にチャンクのデータを提供することができる。具体的には、ルートオブジェクトデータＯｂｊから、制御対象ファイルデータが特定するコンテンツデータのチャンクの識別子に辿ることができる。従って、チャンクの識別子を指定して要求がなされた場合でも、チャンクの識別子から制御対象ファイルデータが特定するコンテンツデータの利用者等の識別子を特定することができる。またチャンクの識別子と、そのチャンクが関連する制御対象ファイルデータのハッシュ値を対応づけたテーブルを保持すことにより、ルートオブジェクトデータＯｂｊから、所望のチャンクの識別子を辿らなくとも、チャンクの識別子に対応する制御対象ファイルデータを特定することができる。このように、適切な利用者に、チャンクを配布することができる。
【０１３３】
このように本発明の実施の形態に係るコンテンツ利用システム１０は、ファイル管理システム９に登録されるコンテンツの情報を、ブロックチェーンに分散して登録することができる。
【０１３４】
（変形例）
本発明の実施の形態に係るコンテンツ管理データＭは、図２に示すように、ルートオブジェクトデータＯｂｊに参照先データＲが含まれるが、これに限らない。例えば図１２に示すコンテンツ管理データＭ’のように、ルートオブジェクトデータＯｂｊ’は参照先データＲ’を含まない。ルートオブジェクトデータＯｂｊは、図１３に示すように、ルートオブジェクトデータＯｂｊが管理する制御対象ファイルデータおよび非制御対象ファイルデータのリンク名およびハッシュ値のほか、参照先データＲ’のリンク名LinkXおよびハッシュ値FileXを含む。
【０１３５】
本発明の実施の形態において、利用者端末２または新権利者端末３がルートオブジェクトデータＯｂｊを取得するところ、変形例では、ルートオブジェクトデータＯｂｊ’および参照先データＲ’を取得する。利用者端末２または新権利者端末３の記憶装置は、参照先データＲ’を含まない代わりに、参照先データＲ’のリンク名およびハッシュ値を含むルートオブジェクトデータＯｂｊ’と、参照先データＲ’を記憶する。
【０１３６】
（コンテンツデータの共有）
図１４Ａおよび図１４Ｂを参照して、変形例において、利用者端末２が権利者端末１に、コンテンツデータの共有をリクエストする処理を説明する。
【０１３７】
ステップＳ２５１において利用者端末２は、利用対象の制御対象ファイルデータに対応するルートオブジェクトデータＯｂｊ’のハッシュ値から、ルートオブジェクトデータＯｂｊ’の持ち主を検索する。ファイル管理システム９に属する端末は、各端末が有するデータのリストを有するので、利用者端末２は、ファイル管理システム９の端末に、ルートオブジェクトデータＯｂｊ’を保持する端末を問い合わせる。ルートオブジェクトデータＯｂｊ’は権利者端末１が有するので、ステップＳ２５２において利用者端末２は、ファイル管理システム９に向けて、ルートオブジェクトデータＯｂｊ’のハッシュ値を指定して、ルートオブジェクトデータＯｂｊ’と参照先データＲ’の取得要求を送信する。ステップＳ２５３においてルートオブジェクトデータＯｂｊの取得要求は、権利者端末１に送信される。
【０１３８】
ステップＳ２５４において権利者端末１は、取得要求対象のルートオブジェクトデータＯｂｊを特定する。権利者端末１は、ルートオブジェクトデータＯｂｊ’のハッシュ値が、取得要求に含まれるルートオブジェクトデータＯｂｊから算出されるハッシュ値に対応することを確認する。ステップＳ２５５において利用者端末２は、ファイル管理システム９に向けて、ルートオブジェクトデータＯｂｊ’と参照先データＲ’を送信する。ステップＳ２５６においてルートオブジェクトデータＯｂｊ’と参照先データＲ’は、利用者端末２に送信される。
【０１３９】
ステップＳ２５７において利用者端末２は、受信したルートオブジェクトデータＯｂｊ’と参照先データＲ’が所望のルートオブジェクトデータと参照先データであることを確認して受信する。例えば取得要求に含ませたルートオブジェクトデータＯｂｊ’のハッシュ値が、受信したルートオブジェクトデータＯｂｊ’から算出されるハッシュ値と一致することを確認する。
【０１４０】
ステップＳ２５８以降の処理は、図１０ＡのＳ２０８以降の処理と同様である。
【０１４１】
（コンテンツデータの権利の移転）
図１５Ａおよび図１５Ｂを参照して、変形例において、新権利者端末３が権利者端末１に、コンテンツデータの移転をリクエストする処理を説明する。
【０１４２】
ステップＳ３５１ないしステップＳ３５７の処理を経て、新権利者端末３は、移転対象のコンテンツデータに対応する制御対象ファイルデータに関するルートオブジェクトデータＯｂｊ’と参照先データＲ’を取得する。この処理は、図１４ＡのステップＳ２５１ないしステップＳ２５７と同様である。
【０１４３】
ステップＳ３５８以降の処理は、図１１ＡのＳ３０８以降の処理と同様である。
【０１４４】
変形例に係るコンテンツ利用システム１０は、ファイル管理システム９に登録されるコンテンツの情報を、ブロックチェーンに分散して登録することができる。
【０１４５】
（その他の実施の形態）
上記のように、本発明の実施の形態とその変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１４６】
例えば、本発明の実施の形態に記載した権利者端末等の各端末装置は、図５等に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。
【０１４７】
また本発明の実施の形態および変形例における処理の順序は一例であって、これに限るものではない。
【０１４８】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１４９】
１  権利者端末
２  利用者端末
３  新権利者端末
４  ブロックチェーン制御端末
５  ブロックチェーンネットワーク
６  ブロックチェーンシステム
７  ファイル管理制御端末
８  ファイル管理ネットワーク
９  ファイル管理システム
１０  コンテンツ利用システム
１１０、２１０、３１０  記憶装置
１１１、２１１、３１１  ルーティングデータ
１２０、２２０、３２０  処理装置
１２１  ブロックチェーン制御部
１２２  ファイル管理制御部
１２３  ルートオブジェクト生成部
１２４  共有部
１２５  移転部
２２３  利用部
３２３  移転要求部
Ｂ  ブロックチェーンデータ
Ｂｂ  ブロックチェーン本体データ
Ｂｓ  ステートデータ
Ｏｂｊ  ルートオブジェクトデータ
Ｍ  コンテンツ管理データ
Ｒ  参照先データ 
【図１】
2020100855.tif 000003
【図２】
2020100855.tif 000004
【図３】
2020100855.tif 000005
【図４】
2020100855.tif 000006
【図５】
2020100855.tif 000007
【図６】
2020100855.tif 000008
【図７】
2020100855.tif 000009
【図８】
2020100855.tif 000010
【図９】
2020100855.tif 000011
【図１０Ａ】
2020100855.tif 000012
【図１０Ｂ】
2020100855.tif 000013
【図１１Ａ】
2020100855.tif 000014
【図１１Ｂ】
2020100855.tif 000015
【図１２】
2020100855.tif 000016
【図１３】
2020100855.tif 000017
【図１４Ａ】
2020100855.tif 000018
【図１４Ｂ】
2020100855.tif 000019
【図１５Ａ】
2020100855.tif 000020
【図１５Ｂ】
2020100855.tif 000021
【手続補正書】
【提出日】令和3年4月26日(2021.4.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムが有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造であって、
前記分散台帳は、
前記分散台帳システムにおいて実行されるコントラクトの識別子、前記コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、前記ファイル管理システムにおける前記コンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、
前記分散台帳システムと前記ファイル管理システムに接続する端末は、
前記コントラクトの識別子を含む参照先データと、前記制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、
制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、前記分散台帳から、前記制御対象ファイルデータが特定する前記コンテンツデータの権利者の識別子または前記利用者の識別子を取得する
ことを特徴とするルートオブジェクトデータのデータ構造。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明の第９の特徴は、分散台帳を有する分散台帳システムと、ファイル管理システムを有するコンテンツ利用システムが有するコンテンツ管理データに用いられるルートオブジェクトデータのデータ構造に関する。本発明の第９の特徴において分散台帳は、分散台帳システムにおいて実行されるコントラクトの識別子、コントラクトによって管理されるコンテンツデータを特定する制御対象ファイルデータのハッシュ値、ファイル管理システムにおけるコンテンツデータの権利者の識別子および利用者の識別子を対応づけたステートデータを含み、分散台帳システムとファイル管理システムに接続する端末は、コントラクトの識別子を含む参照先データと、制御対象ファイルデータのリンク名およびハッシュ値を含むルートオブジェクトデータを有し、制御対象ファイルデータのハッシュ値に対応するコントラクトの識別子に基づいて、分散台帳から、制御対象ファイルデータが特定するコンテンツデータの権利者の識別子または利用者の識別子を取得する。
【国際調査報告】
2020100855.tif 000022
2020100855.tif 000023
2020100855.tif 000024
2020100855.tif 000025
2020100855.tif 000026