JP7159202B2 - 公開されている科学研究のためにブロックチェーンを形成するコンピュータ実装方法、システムおよびコンピュータ・プログラム製品(公開科学研究のためのブロックチェーン) - Google Patents

公開されている科学研究のためにブロックチェーンを形成するコンピュータ実装方法、システムおよびコンピュータ・プログラム製品(公開科学研究のためのブロックチェーン) Download PDF

Info

Publication number
JP7159202B2
JP7159202B2 JP2019558760A JP2019558760A JP7159202B2 JP 7159202 B2 JP7159202 B2 JP 7159202B2 JP 2019558760 A JP2019558760 A JP 2019558760A JP 2019558760 A JP2019558760 A JP 2019558760A JP 7159202 B2 JP7159202 B2 JP 7159202B2
Authority
JP
Japan
Prior art keywords
data
block
analysis
computer
blockchain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019558760A
Other languages
English (en)
Other versions
JP2020522152A (ja
Inventor
ワトソン、パトリック
コック、ラヴィンドラナス
チャン、マリア
アン、ジェウク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020522152A publication Critical patent/JP2020522152A/ja
Application granted granted Critical
Publication of JP7159202B2 publication Critical patent/JP7159202B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本開示は、ブロックチェーンとデータの収集および解析とを、公開されている科学研究(scientific research)のために統合することに関する。
現在では、科学研究に関する情報を共有して透明なデータ収集および解析のステップを示すことを可能にするプラットフォームは、限定されている。実際に存在するプラットフォームは、信頼できるデータを可能にするために要求される制御と機構とが欠如している。その理由は、データが修正に対して耐性を有する(resistant)ことを保証するためのオプションがほとんど存在しないからである。
たとえば、Topol, Money Back Guarantees for Non-Reproducible Results, BMJ 2016, 353 :i2770, published 24 May 2016には、「生物医学研究における再現不可能性という問題は、現実的なものであり、複数の報告において強調されてきた」のであって、「ブロックチェーン技術の利用が、臨床研究プロトコルにおけるすべてのステップに関する変更不可能な台帳を提供する、ということが最近になって示されてきており、これは、基礎的および実験的モデル科学に容易に適応され得る。ピアツーピアの研究ネットワークにおけるすべての参加者は、タイムスタンプが付され連続的に更新されるデータの全部へのアクセスを有する。事前に特定されたデータ解析に対するものなど、何らかの変更が、分散型ネットワークの内部にあるすべての(典型的には数千台の)コンピュータで行われなければならないのであるから、それが耐タンパ性を有する(tamper proof)ことが本質的である。」との記載がある。このTopolによる論文は、データの透明性という問題について説明しており、ブロックチェーンが解決策として機能し得ると提案しているが、この論文は、研究者たちを、パブリック型ブロックチェーン(public blockchain)を通じて、タイムスタンプが付された変更不可能なデータへのアクセスを有するものとして、説明している。この論文は、1)混合型の機密性ポリシ、2)解析のリアルタイム・ログ(解析計画への変更のみ)へのアクセスを有する研究者、3)解析ソフトウェアのブロックチェーン契約への接続を経由しての解析ステップのブロックチェーン・ロギング、4)ブロックチェーンにおけるステップの解析による、基礎となる結果の統計的能力を評価するための何らかの方法またはアルゴリズム(たとえば、複数回の解析のための自動訂正)、または、5)a)データ・トランザクションの公開された記録、および、b)データ出所(provenance)違反の検出に基づく払い戻し以外の機能を実行する、何らかの統合されたアルゴリズムまたはブロックチェーン契約については、説明していない。
同様に、Irving et al., How Blockchain-Timestamped Protocols could Improve the Trustworthiness of Medical Science, F1000Research 2016, 5:222, last updated 31 May 2016は、「ブロックチェーンを用いた概念証明の研究を、科学研究の信頼性を監査して確認するのに広範囲かつ容易に用いられ得る低コストで独立に検証可能な方法とする報告」について開示している。上記のTopolによる論文と同様に、Irvingらによる論文は、上記1~5の点については、開示がない。
Gudbjartsson他への米国特許第7,404,079号は、「ある当事者によって送信された個人を識別可能なデータが、いったん第2の当事者によって受信されると、匿名的であると考慮され得るように、識別子とデータとで構成されたデータ・パケットを処理するための自動化されたシステム」を開示しており、また、「本発明は、マッピング機能と強力な認証の分散型の鍵管理を容易にしてシステムが遠隔的に操作されることを可能にする秘密共有技術を用いる」ことを開示している。Gudbjartssonへの上記米国特許は、本明細書で説明されている発明に対する先行の契約として用いられ得るものの一例であり得る、混合型のセキュリティ・ポリシを開示している。しかし、用いられ得るのは、そのようなセキュリティ契約だけではなく、それは、主題である本開示とは、下記の点で異なるのであって、すなわち、それは、1)すべての当事者の間での事前(up-front)のセキュリティ契約であって、彼らがデータをブロックチェーンに露出する時点で当事者によって定義されたセキュリティ・ポリシではないこと、2)パブリック型ブロックチェーン台帳を特定しないこと、3)データの堅牢性を評価するために台帳を解析する方法を指定していないこと、そして、4)報告されたまたは解析されたデータを生のデータとは異なるように取り扱うスマート契約を特定していないこと、という点で、異なる。
米国特許第7,404,079号
Topol, Money Back Guarantees for Non-Reproducible Results, BMJ 2016, 353:i2770, published 24 May 2016 Irving et al., How Blockchain-Timestamped Protocols could Improve the Trustworthiness of Medical Science, F1000Research 2016, 5:222, last updated 31 May 2016
科学研究に関する情報を共有して透明なデータ収集および解析のステップを示す。
以下では、本発明の1つまたは複数の実施形態の基本的理解を提供するサマリを提示する。このサマリは、鍵となるまたは重要な要素を識別すること、すなわち、特定の実施形態のいずれの範囲または請求項のいずれの範囲も輪郭を描くように、意図されていない。その唯一の目的は、後で提示されることになるより詳細な説明への序文として、簡略化された形式で、概念を提示することである。本明細書で説明されている1つまたは複数の実施形態では、ブロックチェーン形成のためのプロセッサの同期化を容易にするシステム、コンピュータ実行方法、装置またはコンピュータ・プログラム製品あるいはこれらの組合せが、説明される。上にある背景技術の項目で述べられた引用文献の短所は、本明細書に開示されている特徴を用いて、解決された。
ある実施形態によると、コンピュータ実装方法が提供される。このコンピュータ実装方法は、プロセッサに動作的に結合されたデバイスにより、第1のブロックを第1のファイルから生成することであって、第1のブロックが第1のヘッダを含み、実験データが第1のファイルの内部に含まれており、第1のヘッダが、第1のタイムスタンプと、実験データのソースを識別する識別子と、実験データに基づく第1のハッシュとをさらに含む、生成することと、デバイスにより、実験データに対して実行された解析のログを含む第2のファイルに基づき、第2のブロックを生成することであって、第2のブロックが、解析のログと、第2のタイムスタンプと第1のブロックへのリンクと解析のログに基づく第2のハッシュとを含む第2のヘッダと、を含む、生成することとを含む。この実施形態によると、収集されたデータに基づいてブロックチェーンが形成され、科学研究の耐タンパ性ログを提供するように解析が実行されるので、従来技術を超える効果が実現される。
オプションである実施形態では、このコンピュータ実装方法は、デバイスにより、第3のブロックの実験データのサマリの評価(review)に基づき、解析結果への訂正を実行することと、デバイスにより、訂正を含む第4のブロックを生成することと、デバイスにより、第4のブロックをブロックチェーンに加えることと、をさらに含む。この実施形態によると、解析結果が訂正されることにより、より高い信頼性と精度とが結果的に生じるため、従来技術を超える効果が実現される。
オプションである実施形態では、このコンピュータ実装方法は、デバイスにより、第1のブロックと第2のブロックとをそれぞれ形成する前に、実験データと解析のログとを暗号化することをさらに含む。この実施形態によると、第1のブロックと第2のブロックとを形成する前に、実験データと解析のログとを暗号化されることにより、セキュリティを向上させ、そのような情報を用いてタンパリングを行うまたはそれ以外の態様でそのような情報を変更するあるいはその両方のための機会を減少させるため、従来技術を超える効果が実現される。
別の実施形態では、システムが、コンピュータ実行可能コンポーネントを記憶するメモリと、メモリに記憶されている前記コンピュータ実行可能コンポーネントを実行するプロセッサと、を含み得る。コンピュータ実行可能コンポーネントは、マスタ・データ・ブロックを、データ・エントリ・ブロックチェーンから作成するデータ収集コンポーネントを含み得るが、データ・エントリ・ブロックチェーンは、相互にリンクされている一群のデータ・エントリ・ブロックを含み、マスタ・データ・ブロックは、第1のヘッダとデータ・エントリ・ブロックからのデータとを含む。ヘッダは、第1のタイムスタンプと、データのソースを識別する識別子と、データに基づく第1のハッシュとをさらに含み得る。コンピュータ実行可能コンポーネントは、また、データに対して実行された解析のログと、第2のタイムスタンプとマスタ・データ・ブロックへのリンクと解析のログに基づく第2のハッシュとを含む第2のヘッダと、を含む解析ブロックを作成する解析コンポーネントも含み得る。解析ブロックとマスタ・データ・ブロックとは、ブロックチェーンを含む。この実施形態によると、収集されたデータに基づいてブロックチェーンが形成され、科学研究の耐タンパ性のログを提供するように解析が実行されるので、従来技術を超える効果が実現される。
オプションである実施形態では、コンピュータ実行可能コンポーネントが、解析のサマリと解析のログとに基づき解析の結果の信頼性を評価する訂正コンポーネントを含み得るのであり、この場合、信頼性は、解析の結果を達成しようとする試行の回数と関連する。この信頼性評価は、科学研究の結果または達成された結論に置かれるべき信頼の量を決定するための客観的基礎を提供するので、従来技術を超える効果である。
別の実施形態では、コンピュータ実装方法が提供される。このコンピュータ実装方法は、プロセッサに動作的に結合されたデバイスにより、研究プロジェクトを表すブロックチェーンを形成することを含み得る。このブロックチェーンは、研究データの第1のブロックと、研究データに対して実行された解析のログを表す解析データの第2のブロックとを含む。このコンピュータ実装方法は、また、デバイスにより、研究データのサマリと解析データのサマリとを含むサマリ・ブロックを形成することも、含み得る。このコンピュータ実装方法は、また、デバイスにより、サマリ・ブロックをブロックチェーンに追加することも、含み得る。この実施形態で提供されるサマリ・ブロックは、ブロックチェーンに追加され得るのであって、研究者たちによって到達された結論を表し、研究に関する科学論文の公刊を容易にするためのテンプレートを提供し得る。
別の実施形態では、システムが、コンピュータ実行可能コンポーネントを記憶するメモリと、メモリに記憶されているコンピュータ実行可能コンポーネントを実行するプロセッサと、含み得る。このコンピュータ実行可能コンポーネントは、実験データを有する第1のファイルを受け取り、第1のブロックを第1のファイルから生成するデータ収集コンポーネントを含み得る。第1のブロックは、第1のヘッダと実験データとを含み、ヘッダは、第1のタイムスタンプと、実験データのソースを識別する識別子と、実験データに基づく第1のハッシュとをさらに含む。このコンピュータ実装コンポーネントは、また、実験データに対して実行された解析のログを含む第2のファイルに基づき第2のブロックを生成する解析コンポーネントであって、第2のブロックが、解析のログと第2のヘッダとを含み、第2のヘッダが、第2のタイムスタンプと、第1のブロックへのリンクと、解析のログに基づく第2のハッシュとを含む、解析コンポーネントと、実験データと解析とのサマリと解析の結果とを含む第3のブロックを生成する検査コンポーネントと、を含む。この実施形態によると、収集されたデータに基づきブロックチェーンが形成され、科学研究の耐タンパ性のログを提供するように解析が実行されるため、従来技術を超える効果が実現される。
オプションである実施形態では、コンピュータ実行可能コンポーネントは、解析のサマリと解析のログとに基づき解析の結果の信頼性を評価する訂正コンポーネントをさらに含んでおり、この場合、信頼性は、解析の結果を達成しようとする試行の回数と関連している。この実施形態によると、解析の結果の信頼性が評価されるため、従来技術を超える効果が実現される。
さらに別の実施形態によると、公開されている科学データを用いてブロックチェーンを生成するコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、プログラム命令を有するコンピュータ可読記憶媒体を含み得、そのプログラム命令は、コンピュータ可読記憶媒体を用いて具体化されている。プログラム命令は、プロセッサによって実行可能であって、プロセッサに、マスタ・データ・ブロックを、データ・エントリ・ブロックチェーンから生成させることがあり得る。データ・エントリ・ブロックチェーンは、相互にリンクされている一群のデータ・エントリ・ブロックを含み、マスタ・データ・ブロックは、第1のヘッダとデータ・エントリ・ブロックからのデータとを含み、ヘッダは、第1のタイムスタンプと、データのソースを識別する識別子と、データに基づく第1のハッシュとをさらに含む。プロセッサは、また、データに対して実行された解析のログと、第2のタイムスタンプとマスタ・データ・ブロックへのリンクと解析の前記ログに基づく第2のハッシュとを含む第2のヘッダと、を含む解析ブロックを生成し得る。解析ブロックとマスタ・データ・ブロックとは、ブロックチェーンを含む。この実施形態によると、収集されたデータに基づきブロックチェーンが形成され、科学研究の耐タンパ性ログを提供するように解析が実行されるため、従来技術を超える効果が実現される。
オプションである実施形態では、プログラム命令が、さらに、プロセッサに、解析のサマリと解析のログとに基づき解析の結果の信頼性を評価させるように実行可能であり、信頼性は、解析の結果を達成しようとする試行の回数と関連する。この実施形態によると、解析の結果の信頼性が、解析のサマリと解析のログとの評価を用いることで判断されるため、従来技術を超える効果が実現される。
本発明の実施形態が、以下の添付の図面を参照して、単なる例を通じて、次に説明される。
本明細書で説明されている1つまたは複数の実施形態による、例示的で非制限的なブロックチェーン・システムの高レベルなブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、別の例示的で非制限的なブロックチェーン・システムの高レベルなブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、ブロックチェーン機能と公開されている科学研究とを統合する、例示的で非制限的な方法のフローチャートである。 本明細書で説明されている1つまたは複数の実施形態による、別々のデータセットからデータ・ブロックチェーンを形成する、例示的で非制限的なシステムのブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、解析ブロックチェーンを形成する、例示的で非制限的なシステムの別のブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、例示的で非制限的な公開されている研究のブロックチェーンの別のブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、データ・ブロックチェーンのヘッダとデータ部分との、例示的で非制限的なシステムの別のブロック図である。 本明細書で説明されている1つまたは複数の実施形態による、研究データと解析とに基づきブロックチェーンを形成する、例示的で非制限的なコンピュータ実装方法のフローチャートである。 本明細書で説明されている1つまたは複数の実施形態による、研究データと解析とに基づきブロックチェーンを形成する、例示的で非制限的なコンピュータ実装方法の別のフローチャートである。 本明細書で説明されている1つまたは複数の実施形態が容易化され得る、例示的で非制限的な動作環境のブロック図である。 本発明の1つまたは複数の実施形態による、例示的で非制限的なクラウド・コンピューティング環境のブロック図である。 本発明の1つまたは複数の実施形態による、例示的で非制限的な抽象モデル層のブロック図である。
以下の詳細な説明は例証にすぎず、実施形態もしくは実施形態の応用または使用あるいはその両方を制限することは、意図されていない。さらに、前述した背景技術もしくは発明の概要の項目または発明を実施するための形態の項目に提示されている、表現されているまたは暗示されているいずれの情報にも制約されるという意図は、存在しない。
本開示の効果および寄与は、1)混合型の機密性ポリシ、2)(解析計画への変更だけではなく)解析のリアルタイム・ログへのアクセスを有する研究者、3)解析ソフトウェアのブロックチェーン契約への接続を経由しての解析ステップのブロックチェーン・ロギング、4)ブロックチェーンにおけるステップの解析による、基礎となる結果の統計的能力を評価するための何らかの方法またはアルゴリズム(たとえば、複数回の解析のための自動訂正または信頼性評価)、または、5)a)データ・トランザクションの公開された記録、および、b)データ出所違反の検出に基づく払い戻し以外の機能を実行する、何らかの統合されたアルゴリズムまたはブロックチェーン契約、あるいは、これらの組合せを含む。
次に、全体を通じて類似の要素を指すためには類似の参照番号が用いられる図面を参照して、1つまたは複数の実施形態が説明される。以下の記述では、説明のために、1つまたは複数の実施形態のより完全な理解を提供するために、多数の特定の詳細が与えられる。しかし、様々の場合に、1つまたは複数の実施形態が、これらの特定の詳細がなくても実施され得る、ということは明らかである。
この開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示内容の実装はクラウド・コンピューティング環境に限定されない、ということが理解されるべきである。むしろ、本発明の実施形態は、現時点で知られているまたは今度開発されるどのような他のタイプのコンピューティング環境と共に、実装されることが可能である。
クラウド・コンピューティングとは、最小限の管理努力またはサービスのプロバイダとの対話を用いて迅速に供給およびリリースされ得る構成可能な計算資源(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの、便利でオンデマンドのネットワーク・アクセスを可能にするサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含み得る。
特徴は、以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、サービスのプロバイダとの人間的な対話を要求することなく、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力(capabilities)を、一方的に供給し得る。
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、異質の薄いまたは厚いクライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)によって使用を促進する標準的な機構を通じてアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて複数のコンシューマにサービスを供給するためにプールされ、異なる物理的および仮想的リソースが、要求に従って、動的に、配分および再配分される。コンシューマは、一般的に、提供されたリソースの正確な位置について制御または知識を有していないが、より高い抽象レベル(たとえば、国、州、データセンタ)では、位置を特定できることがあり得るという点で、位置の独立性という感覚が存在する。
迅速な柔軟性:能力は、直ちにスケールアウトするために、いくつかの場合には自動的に、迅速かつ柔軟に供給され得るし、直ちにスケールインするために、迅速にリリースされ得る。コンシューマに対しては、供給のために利用可能な能力は、多くの場合、見かけ上は無制限であり、任意の量だけ、任意の時点で、購入され得る。
測定されたサービス:クラウド・システムは、(たとえば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウントなど)サービスのタイプに適切な何らかの抽象レベルにおける測定能力を活用することによって、リソース使用を自動的に制御し最適化する。リソース使用は、モニタされ、制御され、報告され得るのであって、利用されているサービスのプロバイダとコンシューマとの両方に対して透明性を提供する。
サービス・モデルは、次の通りである。
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャの上で動作するプロバイダのアプリケーションを用いることである。アプリケーションは、ウェブ・ブラウザなどの薄いクライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である(たとえば、ウェブベースの電子メール)。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーションの能力さえも含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、可能性のある例外は、限定されたユーザ固有のアプリケーションのコンフィグレーションの設定である。
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語とツールとを用いて作成されるコンシューマが作成したまたは取得されたアプリケーションを、クラウド・インフラストラクチャの上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理または制御することはないが、展開されたアプリケーションと、可能性としてはアプリケーションをホストしている環境コンフィグレーションとに対する制御は、有している。
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、または、オペレーティング・システムとアプリケーションとを含み得るコンシューマが任意のソフトウェアを展開して動作させることができるそれ以外の基本的なコンピューティング・リソースを、供給することである。コンシューマは、基礎となるクラウド・インフラストラクチャを管理または制御することはないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御を有し、そして、可能性として、(たとえば、ホスト・ファイアウォールなど)選択されたネットワーキング・コンポーネントに関する限定された制御を有する。
展開モデルは、次の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためだけに運営される。それは、この組織または第三者によって管理され、組織内または組織外に存在し得る。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共有され、関心(たとえば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンスに関する考慮など)を共有する特定のコミュニティをサポートする。それは、これらの組織または第三者によって管理され、組織内または組織外に存在し得る。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般公衆または大規模な産業グループに対して利用可能になっており、クラウド・サービスを販売している組織によって所有されている。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、ユニークなエンティティであり続けるが、データおよびアプリケーション・ポータビリティを可能にする標準化されたまたはプロプライエタリな技術(たとえば、複数のクラウドの間での負荷均衡化のためのクラウド・バースティング)によって相互に結合された2つまたはそれより多数のクラウド(プライベート、コミュニティ、またはパブリック)の混合物である。
クラウド・コンピューティング環境は、サービス指向であり、無国籍性、低結合度(low coupling)、モジュラリティ、および意味的相互運用性(semantic interoperability)に焦点がある。クラウド・コンピューティングの核心には、相互接続されたノードのネットワークを含むインフラストラクチャが存在する。
現在、科学研究に関する情報を共有し透明なデータ収集と解析ステップとを示すことを可能にするプラットフォームが限定されるために、問題が存在する。結果的に、研究または公刊あるいはその両方に寄与している様々な者が、実行された業績に対する正確なまたは十分なあるいはその両方に関する認識を受けていない可能性がある。さらに、現に存在しているプラットフォームは、データが修正に対して耐性を有していることを保証するためのオプションがほとんどないため、信頼できるデータを可能にする必須の制御および機構を欠いている。
本明細書に開示されている様々な実施形態では、複数の解決策が、上記の問題に対処している。たとえば、1つまたは複数の実施形態では、形成された実験、収集されたデータ、実行された解析、または達成された結果あるいはそれらの組合せのブロックチェーンを生成することによって、ブロックチェーン概念の信頼性と公開の科学研究とを統合するブロックチェーン・システムが提供される。科学プロセスとブロックチェーン・プロセスとを統合することで、修正に対して耐性を有するというブロックチェーンに固有の性質に起因して、データあるいは結果またはその両方の信頼性または再現性あるいはその両方を向上させることが可能になる。ブロックチェーンは、また、データの信頼性および出所を解析するためにも用いられ得る。ブロックチェーン・システムは、研究プロジェクトを表すブロックチェーンを形成することができるが、この場合に、ブロックチェーンは、研究データの第1のブロックと、研究データに対して実行された解析のログを表す解析データの第2のブロックとを含む。サマリ・ブロックと訂正ブロックとが、ブロックチェーンに追加される場合もあり、研究結果の事後的な解析を表す。ブロックへの修正が行われたかどうかを判断するように機能し得るブロック・ヘッダにおける情報を用いて、同時にまた、研究データにおける機密性という利益を保持しながら、後続のブロックが、先行するブロックにリンクされることがあり得る。
ある実施形態では、本開示は、また、科学者および他の研究者が、実験を行うもしくはそれ以外の態様で研究データを収集するまたはその両方を行う、データに対する解析を実行する、結論に到達する、訂正を実行する、または彼らの作業を追跡し記録するもしくはそれらの組合せを行うための方法も、他の研究者および科学者がデータまたは結果が当初の研究者によってまたはプロセスの間のいずれかの他のステップで操作されているかどうかを心配することなく、査読(peer reviews)を行い、結果を再現しようと試み、またはその研究の妥当性および重要性を全体的に考察するあるいはそれらの組合せを行うために、提供し得る。ブロックチェーン・システムは、いくつかの実施形態では、クラウド・システムと公開のデータベースにアップロードされているトラック・データとに統合されることがあり得る。いくつかの実施形態では、ブロックチェーン・システムは、また、データに対して実行されつつある解析のリアルタイムでの更新を得るために、研究者コンソールおよびデータ収集および解析を行うそれ以外のアプリケーションに統合されることも、あり得る。ある実施形態では、ブロックチェーン・システムは、また、非公開の研究データを用いた作業を容易化する場合もあり得る。公開のデータベースからのデータを用いる代わりに、データが、非公開のデータベースから取得(retrieve)され、暗号化されることもあり得る。ブロックチェーン・システムは、データと暗号化されている解析情報とから、ブロックチェーンを形成し得る。
次に図1を参照すると、本明細書で説明されている1つまたは複数の実施形態による例示的で非制限的なブロックチェーン・システム102の高レベルでのブロック図100が、図解されている。図1では、ブロックチェーン・システム102は、プロセッサ104と、データ収集コンポーネント106と、解析コンポーネント108と、検査コンポーネント110と、訂正コンポーネント112とを含み得る。様々な実施形態では、プロセッサ104と、データ収集コンポーネント106と、解析コンポーネント108と、検査コンポーネント110と、訂正コンポーネント112とのうちの1つまたは複数は、ブロックチェーン・システム102の1つまたは複数の機能を実行するために、電気的にまたは通信可能にあるいはその両方の態様で、相互に結合され得る。ブロックチェーン・システム102は、科学実験からデータを受け取り(114)、論文または公刊のための準備ができている処理された情報生成する(116)ことがあり得る。
いくつかの実施形態では、ブロックチェーン・システム102が、実験的/科学研究プロセスにおける様々なステップのブロックチェーンの形成を可能にするクラウド・ベースのシステムである場合があり得る。他の実施形態では、ブロックチェーン・システム102が、データ収集および解析を実行している、または、プログラムを実行するシステムに通信可能な態様で結合されている、ネットワークもしくはデバイスに基づくことがあり得る。ある実施形態では、ブロックチェーン・システム102は、メモリに記憶されているコンピュータ実行可能なコンポーネントを実行するプロセッサ104を含み得る。これらのコンポーネントは、データ・エントリ・ブロックチェーンからマスタ・データ・ブロック(たとえば、データ・ブロック206)を作成し得るデータ収集コンポーネント106を含み得る。データ・エントリ・ブロックチェーンは、科学実験におけるデータ収集ステップから、または、公開の台帳(たとえば、図2を参照のこと)から、受け取られる(114)データに基づき得る。データ・エントリ・ブロックチェーンは、相互にリンクされている一群のデータ・エントリ・ブロック(たとえば、データ・ブロック402または404あるいはその両方)を含み得る。ブロックは、先行するブロックのハッシュが後続のブロックのヘッダに含まれるときに、リンクされる。それぞれのブロックが一意的なハッシュを有し得るため、ヘッダにおけるリンクされたハッシュは、特定のブロックへのすなわち複数のブロックのブロックチェーンへの後方への参照である。マスタ・データ・ブロックは、第1のヘッダまたはデータ・エントリ・ブロックからのデータあるいはその両方を含み得る。ヘッダは、さらに、いつデータが収集されたのか、あるいは、いつマスタ・データ・ブロックが形成されたもしくは公開の台帳にアップロードされたまたはその両方であるのか、を表す第1のタイムスタンプを含み得る。ヘッダは、また、データのソースを識別する識別子と、データに基づく第1のハッシュとを含み得る。識別子は、研究グループまたは科学者と関連するシリアル番号であり得るか、または、データを収集する装置(たとえば、測定機器など)と関連し得る。
解析コンポーネント108は、データに対して実行された解析のログを表すデータまたは第2のタイムスタンプ(たとえば、いつ解析ブロックが形成されたか)を含む第2のヘッダあるいはその両方を含み得る解析ブロック(たとえば、解析ブロック502または504)、マスタ・データ・ブロックへのURLリンク、または解析のログに基づく第2のハッシュもしくはそれらの組合せを生成し得る。解析ブロックまたはマスタ・データ・ブロックあるいはその両方が、ブロックチェーン(たとえば、リンクされた複数のブロック)を含む。解析のログは、計算を追跡する研究者のコンソール出力と、研究者たちによって実行される他のモデリングとに基づき得る。ログは、データに対して実行された演算とアルゴリズムとの両方と、処理の結果とを含み得る。
検査コンポーネント110は、データのサマリと解析のサマリと解析の結果とを含むサマリ・ブロックまたは検査コンポーネント(たとえば、検査コンポーネント602)、または、解析ブロックへのリンクを含む第3のヘッダ、あるいはその両方を、作成し得る。コンポーネントは、また、解析のサマリまたは解析のログあるいはその両方に基づいて解析の結果の信頼性を評価する訂正コンポーネント112を含み得るが、この信頼性は、解析の結果を達成しようとする試行の回数と関連する。たとえば、データをモデルに一致させようとする多くのステップまたは試行あるいはその両方を有する解析シーケンスは、より少数のステップを有する解析シーケンスよりも低い信頼性評価を有し得る。
ブロックチェーン・システム102またはブロックチェーン・システム102のコンポーネントあるいはその両方は、抽象的ではなく人間による1組の精神作用としては実行されることが不可能な高度に技術的性質を有する問題(たとえば、バイオインフォマティクス、認証、圧縮、ビッグデータ解析など)を解決するために、ハードウェアまたはソフトウェアあるいはその両方を用い得る。ブロックチェーン・システム102またはシステムのコンポーネントあるいはその両方は、技術(たとえば、データの出所、研究の信頼性/整合性など)、コンピュータ・ネットワーク、インターネットまたはそれらの類似物あるいはそれらの組合せにおける進歩を通じて生じる新たな問題を解決するために、用いられ得る。
プロセッサ104は、中央プロセッサ、グラフィカル・プロセッサなどのうちの少なくとも1つと関連し得る。様々な実施形態では、プロセッサ104は、ハードウェア、ソフトウェア(たとえば、1組のスレッド、1組のプロセス、実行中のソフトウェアなど)、または、機械学習のためにコンピューティング・タスク(たとえば、受け取られたデータと関連する機械学習コンピューティング・タスク)を実行するハードウェアまたはソフトウェアあるいはそれらの両方の組合せであり得るし、または、それらを含み得る。たとえば、プロセッサ104は、人間によって実行され得ない(たとえば、ひとりの人間精神の能力を超える)データ解析スレッドを実行することが可能である。たとえば、プロセッサ104によってある時間期間の間に処理されるデータ処理量、データ処理速度またはデータ・タイプあるいはその両方は、ひとりの人間によって同じ時間期間の間に処理されることが可能な量、速度およびデータ・タイプよりも、それぞれ、より多く、より高速であり、より広範囲であり得る。たとえば、プロセッサ104によって処理されるデータは、1つもしくは複数のセンサまたは1つもしくは複数のコンピューティング・デバイスあるいはその両方によってキャプチャされた生のデータ(たとえば、生のオーディオ・データ、生のビデオ・データ、生のテキスト・データ、生の数値データなど)または圧縮されたデータ(たとえば、圧縮されたオーディオ・データ、圧縮されたビデオ・データ、圧縮されたテキスト・データ、圧縮された数値データなど)あるいはその両方であり得る。さらに、プロセッサ104は、上述したデータ解析データとランタイム環境データも処理しながら、1つまたは複数の他の機能(たとえば、完全に電源オン、完全に実行済みなど)を実行することに関しても、完全に動作的であり得る。
次に図2を参照すると、本明細書で説明されている1つまたは複数の実施形態による例示的で非制限的なブロックチェーン・システム102の別の高レベルでのブロック図200が、図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔にする目的のため、省略される。
ある実施形態では、データ収集コンポーネント106は、データベース202から、研究データまたは実験データあるいはその両方を受け取り得る。データベース202は、研究グループの1つまたは複数と関連する公開の台帳または非公開のデータベースであり得る。データベースは、ヘッダ部分またはデータ部分あるいはその両方を有するブロック204、206、または208あるいはそれらの組合せによって表されるようなブロック形式で、データを記憶し得る。ある実施形態では、データベース202は、実行された実験、データを収集した研究者、主題、参加者、またはそれ以外の区別のための要素によって分離された生の形式で、データを記憶し得る。
次に図3を参照すると、本明細書で説明されている1つまたは複数の実施形態による、ブロックチェーン機能をオープンな科学研究と統合する非制限的なコンピュータ実装方法300の一例のフローチャートが図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔にするという目的のために、省略されている。
ある実施形態では、フローチャートが、実験またはプロジェクトの識別子(ID)が取得され得るまたは他の方法で確立され得るあるいはその両方であり得る302において、開始し得る。プロジェクトIDは、ブロックチェーンを識別してそれを実験または研究プロジェクトと関連させる方法としてブロックチェーンを形成するブロックのヘッダにおいて、用いられ得る。
プロジェクトIDは、304で収集されるデータに、添付され得る。304で収集されたデータは、研究プロジェクトまたは実験からのデータと関連付けられることがあり得るし、先に行われたプロジェクトまたは実験から収集されたデータ、または、プロジェクトまたは実験が進行しているのと同時に収集されるデータを含み得る。このデータは、1つまたは複数の科学機器から収集されたデータ、フィードバックを提供する人から収集されたデータ(たとえば、インタビュー、観察データなど)、または、オンライン・アセスメント、データ・ハーベスティング、ビッグ・データ・コレクションなどを経由して取得された他のデータを含み得る。
ある実施形態では、304で収集されたデータは、個人から、研究者グループから、または、異なる実験もしくは異なるときに行われた同じ実験からのデータセットに分離され得る。ある実施形態では、ブロックチェーン・システムは、データを含む1つのブロックを生成することがあり、他の実施形態では、ブロックチェーン・システムは、別個の複数のブロックを生成することがあるが、その場合には、別個の複数のデータセットが、1つのブロックの中に形成されている。ブロックは、データ部分またはヘッダあるいはその両方を含むことがあり得るが、ヘッダは、プロジェクトIDと、ブロックを相互にリンクさせるのに用いられ得るそれ以外の情報とを含む。ある実施形態では、ブロックは、データを維持してそれを修正に対して耐性を有するようにするために、ブロックチェーンの中に形成され得る。ブロックは、先のブロックのハッシュを以後のブロックのヘッダに含ませることによって、ブロックチェーンの中に形成される。先行するブロックから後のブロックへのハッシュのチェーンが、結果的に、ブロックチェーンを生じさせるが、これらは、ハッシュの性質に起因して、修正に対する耐性を有する。ハッシュは、それぞれのブロックの内部のデータに基づく一意的な数であるから、データに、どのようなものでも変更がある場合には、結果的に新たなハッシュが生じる。新たなハッシュは、ブロックチェーンに不連続性を生じさせることになり、ブロックチェーンを消滅させる。
ある実施形態では、データは、パブリックなまたは非パブリックなデータベースから収集され得る、すなわち、ブロックチェーンは、パブリックなまたは非パブリックなデータベースに記憶され得る。ブロックチェーンにおいて複数のブロックを結びつけるリンクは、ユニフォーム・リソース・ロケータ(URL)またはそれ以外のデータベース・リンクであり得る。いくつかの実施形態では、このリンクは、先のブロックのハッシュであり得る。第1のブロックがハッシュされると、このハッシュは、そのブロックを一意的に識別することができ、以後のブロックは、第1のブロックのハッシュを第2のブロックのヘッダに含ませることによって、第1のブロックにリンクされ得る。
ある実施形態では、(たとえば、データ収集コンポーネント106によって)304でデータが収集されていることに応答して、データは、ブロックの中に書き込まれ得る、または、別の実施形態では、ブロックが、データに基づいて、形成される。別のまたは後続のブロックが作成されると、次には、それは、第1の/前のブロックにリンクされ得る。なお、タイムスタンプが、ブロックが受け取られた順序を識別するために、ヘッダに含まれ得る。複数のブロックが同時に収集され、したがって、同じタイムスタンプを有する場合には、それらのブロックがオンライン・データベースもしくはサーバ(たとえば、データベース202)またはその両方に書き込まれるあるいは収集される順序が、ブロックチェーンの内部にそれらのブロックが配置される順序を確立する。
306では、解析コンポーネント108が、処理を実行し得る。例示であって限定ではないが、処理は、データを1つまたは複数のモデルに適合させる形式的解析と関係しない当初のデータ削減を表すブロックを、ブロックチェーンに追加することを含み得る。データ削減およびそれ以外の処理ステップは、処理306に含まれ得る。これらのステップは、ブロックにおけるデータに基づき一意的な数を生成するハッシュ関数を実行するプロセッサ104による、ハッシュの生成を含み得る。他の実施形態では、処理ステップは、データ削減、操作、および、生のデータを編成するためにデータに対して実行される他の処理ステップを含み得る。処理ステップは、また、データを1つまたは複数の仮定されたモデルに従わせようとするために、データに対して実行される計算とそれ以外のアルゴリズムとであり得る。この処理は、また、304で収集されたデータに対して実行された他のデータ・モデリング関数も含み得る。
ある実施形態では、処理ステップは、研究グループ、公開または非公開のデータベース、または解析を実行したコンソール・アプリケーションから収集された1つまたは複数の解析ログに基づいて決定され得る。ある実施形態では、ブロックチェーン・システムは、これらのステップと、解析ブロックを304で形成されたブロックチェーンにリンクするのに用いられる情報を有するヘッダとを含む解析ブロックを生成し得る。
308では、解析コンポーネント108が、一連の解析ブロックを生成し得る。この場合に、1つまたは複数の解析ブロックが、計算のうちの1つまたは複数と他の処理関数とに関連している。このようにして、処理ステップが、後の時点における検査と訂正とのために、ブロックチェーンの上で保存され得る。ある実施形態では、解析ブロックのうちの1つまたは複数が、別々のデータ・ブロックに対応し得る、または、そのデータ・ブロックと関連するデータセットに対して実行される1つまたは複数の解析を含み得る。
310では、検査コンポーネント110が、304におけるデータ収集の間に加え、306または308あるいはその両方における処理/解析ステップの両方において、参加者を確認することがあり得る。参加者を確認することは、これらには限定されないが、データのソースを判断するために、そして、どの研究者、研究グループ、または他の参加者が、1つまたは複数の解析ステップを経由して、データにアクセスしたまたはデータを修正したあるいはその両方を行ったかを判断するために、データ・ブロックのうちの1つまたは複数のヘッダを検査することを、含み得る。
これらの先行および後続ステップのうちの1つまたは複数において、ブロックチェーン・システムは、他のエンティティがブロックチェーンを検査し研究プロセスを見るためにブロックチェーンにアクセスすることができるように、公開または非公開の台帳/データベースにおけるブロックチェーンを、リアルタイムでまたは事前に定義された間隔で(たとえば、x分ごとに、または、ブロックがブロックチェーンに追加されるときに)、更新し得る、ということが認識されるべきである。
312では、検査プロセスが実行されるが、この場合に、検査コンポーネント110は、それまでに実行されたデータと解析ステップ306、308とのサマリを作成し、研究プロジェクトまたは他の結論の結果を判断し得る。ある実施形態では、検査コンポーネントは、後向きにリンクするために、データ・ブロックと解析ブロックとのヘッダだけを含むことがあり得る。追加的な実施形態では、検査コンポーネントが、最後の解析ブロックのハッシュであるハッシュを含むヘッダを有することがあり得る。
検査ステップ312は、また、ブロックチェーンの外部にある研究プロジェクトまたは実験に関する情報またはデータあるいはその両方を取得し、それらの外部情報の正確性と信頼性とを確認するために、それを、ブロックチェーンで報告されている結果およびデータと比較することがあり得る。
別の実施形態では、ブロックチェーン・システム102が、1つまたは複数のプロトコルを含み得ることにより、検査コンポーネントが解析ブロックの出力とそれらのハッシュとを取り入れることが確認されるまで、検査コンポーネントは、ブロックチェーンに追加されない、または、それ以外の態様で登録されない。ハッシュを含むことにより、ブロックチェーンにおけるどのブロックの識別子が結果的にその成果を生じるのかだけでなく、あなたが、ハッシュを用いて、ブロックと成果との信頼性を確認し得るということも、保証される。
314では、訂正コンポーネント112が訂正を実行し得ることにより、研究または実験あるいはその両方の結論の、相対的信頼性または重要性が決定され得る。たとえば、仮定された結果を達成するために処理アルゴリズムの比較的少数の解析ステップまたは修正が要求される場合には、その実験または研究の結論は、多くの修正が実行される場合よりも、より高く重み付けがなされる重要性を有し得る。ブロックチェーン・システムは、解析ブロックのうちのどれが結果的に成果を生じさせたのかを判断することによって、どのくらい多くの修正が実行されるのかを判断し得るのであり、早期の解析ブロックが結果的に成果を生じさせた場合には、その結果は、より後の解析ブロックが結果的に成果を生じさせた場合よりも、より高く重み付けがなされ得る。ブロックチェーン・システムは、また、解析ブロックにおいて報告されている修正のタイプに基づいて、重み付けを決定することもあり得る。
316では、訂正コンポーネント112が、研究プロジェクトの公刊を助けることがあり得る。ブロックチェーン・システムは、データを収集してそれを公刊するおよび論文を執筆するときに情報を研究者のうちのひとりまたは複数人にそれ以外の態様で容易にアクセス可能になるようにフォーマットするために、データ・ブロック、解析ブロック、(サマリと成果とを含む)検査コンポーネント、および訂正ブロックに、アクセスし得る。
318では、検査コンポーネント110は、320で行われ得る査読のため、1つもしくは複数の公開台帳またはデータベース、あるいは、非公開のデータベースに、ブロックチェーンとそれ以外の情報とを完成させ記憶し得る。
次に図4を参照すると、本明細書で説明されている1つまたは複数の実施形態により別々のデータセットからデータ・ブロックチェーンを形成する例示的で非制限的な1組のデータ・ブロックのブロック図400が図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔とする目的のために、省略される。
ブロックチェーン・システム(たとえば、ブロックチェーン・システム102)が、(上述したステップ304で説明されたように)データを収集するときには、データ・ブロックA402とデータ・ブロックB404とのような別々のデータセットからデータを集めて、データ・ブロック402および404を含む、より大きなデータ・ブロック406を形成し得る。
ある実施形態では、データ・ブロック402および404を生成するのに用いられる収集されたデータは、研究プロジェクトまたは実験からのデータと関連付けられることが可能であり、先行して行われたプロジェクトまたは実験から収集されたデータ、または、プロジェクトまたは実験が進行しているのと共に収集されるデータを含み得る。一例としては、データ・ブロックA402は、第1の実験から受け取られたデータと関連付けされることがあり得るし、データ・ブロックB404は、第2の実験または第1の実験の第2の実行から受け取られたデータと関連付けされることがあり得る。データは、1つまたは複数の科学器具から、フィードバックを提供する人々から(たとえば、インタビュー、観測データなど)、または、オンライン・アセスメント、データ・ハーベスティング、ビッグデータ収集などを経由して取得された他のデータから収集されたデータを含み得る。
ある実施形態では、収集されたデータは、たとえば、複数の個人、複数の研究者の複数のグループ、または、異なる実験もしくは異なる時点で行われた同じ実験からのデータ・ブロックA402およびデータ・ブロックB404など、複数のデータセットに分離され得る。ある実施形態では、ブロックチェーン・システムは、データを含む1つのブロックを生成し得る。別の実施形態では、ブロックチェーン・システムは、別々の複数のブロックを生成し得るのであって、その場合には、1つのブロックの中に別々のデータセットの1つまたは複数が形成される。ブロックは、データ部分とヘッダとを含み得るのであって、ヘッダは、プロジェクトIDとブロックを相互にリンクするのに用いられ得る他の情報とを含む。ある実施形態では、ブロックの1つまたは複数が、データを保持してそれを修正に対して耐性を有するようにするために、ブロックチェーンの中に形成され得る。
いくつかの実施形態では、データ・ブロックA402およびB404の1つまたは複数におけるデータが、暗号化され得る。いくつかの実施形態では、1つのブロックにおけるデータの一部または全部が暗号化され得るし、または、他の実施形態では、データのソースを保護するために、ブロックのデータ部分は暗号化されていないのに対して、ヘッダが暗号化され得る。
ブロックチェーンにおけるデータ・ブロック(たとえば、データ・ブロック402および404)は、先行するデータ・ブロックのヘッダにおけるハッシュを含み得る。ハッシュは、1つまたは複数のブロックを相互にリンクし得るのであって、また、何らかのデータ修正が実行されたかどうかを判断する方法を提供し得る。ブロックチェーン・システムは、ハッシュを比較することが可能であって、ハッシュが相互に一致しない場合には、一致しないハッシュを有するデータ・ブロックに対する修正または変更がなされたことを示し得る。
次に図5を参照すると、本明細書で説明されている1つまたは複数の実施形態による例示的なブロックチェーンの別のブロック図500が図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔とする目的のために、省略される。
ブロックチェーン・システム102は、解析ブロックAおよびB(それぞれ、504および502)をデータ・ブロック406に加えることがあり得る。解析ブロック502および504は、様々な処理ステップまたは計算アルゴリズムあるいはその両方が、データ・ブロック402および404において収集されたデータに対して実行されるときに、加えられ得る。他の実施形態では、解析ブロック502および504は、研究者、科学者またはデータ解析に関係する他の人々あるいはそれらの組合せのログに対して実験が行われた後で、形成され得る。
ログは、実行されたデータ解析のタイプと解析の結果とを文書化する研究者によって書かれ、書き換えられるまたはそれ以外の態様で電子的形式に変換され、ブロックチェーン・システムによって収集されたノートを含み得る。他の実施形態では、ログは、研究者のコンソールから、または、解析ステップの間に実行された他のアプリケーションから、取得され得る。
解析ブロック502および504の1つまたは複数が、データに対して実行された解析の異なる組に対応することがあり得る。たとえば、第1の計算が実行され、結果が得られる場合には、解析ブロック504が、解析を文書化して記録し得る。次に、別々に、または、第1の計算の結果に基づいて、第2の計算と第2の結果が得られる場合には、解析ブロック502が、第2の計算の解析および成果を文書化して記録し得る。他の実施形態では、解析ブロック502および504の1つまたは複数が、データ・ブロック402および404のそれぞれに対して実行された解析の全部または一部を、文書化し得る。ある実施形態では、解析ブロック502および504のデータまたはヘッダが、暗号化されることがあり得る。
解析ブロック502および504の1つまたは複数が、ログ・ファイルのソースまたは研究者または研究者グループの識別子と関係する情報と、タイムスタンプと、前のブロックのハッシュまたは前のブロックへのリンクとを含むヘッダを有し得る。たとえば、解析ブロック504は、前のデータ・ブロックへのリンクを含み得るし、ブロック502はブロック504へのリンクを含み得る。
ある実施形態では、ブロックチェーンは直線的であり得るが、その場合には、最初にデータが収集され、次に、それらがデータベースまたは台帳に追加される順序に基づいて、解析ブロックが、直線的に、ブロックチェーンに追加される。他の実施形態では、ブロックチェーンが、処理が実行されデータセットの上に文書化されるにつれて、分岐することがあり得る。その理由は、それらが、データセットの1つまたは複数が収集される前に、収集されるからである。そのような実施形態では、一例として、解析ブロック502はデータ・ブロック402に直接的にリンクし得るし、解析ブロック504はデータ・ブロック404に直接的にリンクし得る。
次に図6を参照すると、本明細書で説明されている1つまたは複数の実施形態による例示的で非制限的な公開の研究のブロックチェーンの別のブロック図600が図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔とする目的のために、省略される。
図600は、例示的な1組のブロックを含むブロックチェーン・システムによって作成された例示的なブロックチェーンを示しているが、この例示的な1組のブロックは、データ・ブロック402および404と、解析ブロック504および502と、検査コンポーネント602と、訂正ブロック604とを含む。
データ・ブロック402および404は、実験、器具、インタビュー、およびそれ以外の収集方法の1つまたは複数によって収集された研究/実験データを含み得る。データ・ブロック402および404におけるデータは、別々の実験、異なった実行、異なった研究者または参加者あるいはそれらの組合せなどからのデータに対応し得る。解析ブロック502および504は、データ・ブロック402および404におけるデータに対して実行された解析を文書化し得るのであって、時間経過に伴いデータ・ブロックに対して実行されたスクリプトの修正に関係する情報を含み得る。たとえば、データ処理/スクリプトのモデリングがデータ・ブロック402または404のいずれかにおけるデータに対して実行される場合には、スクリプトの結果とスクリプトに関する情報とは、解析ブロック504に記憶、記録、またはそれ以外の態様で文書化され得る。スクリプトが修正されるまたはそれ以外のいずれかの態様で変更される場合には、または、同じスクリプトが異なる組のデータに対して実行される場合には、スクリプトに関する結果および情報は、解析ブロック502に文書化され得る。
検査コンポーネント602は、実行された解析と、得られた結果と、ブロックチェーンにおける前のブロックで得られた他の結論とのサマリを含み得る。ある実施形態では、検査コンポーネントは、また、データ・ブロックのヘッダと、後ろ向きにリンクするための解析ブロックとを含み得る。ある追加的な実施形態では、検査コンポーネントは、最後の解析ブロックのハッシュであるハッシュを含むヘッダを有し得る。
別の実施形態では、ブロックチェーン・システムは、1つまたは複数のプロトコルを含み得る。それにより、検査コンポーネントが解析ブロックの出力とそれらのハッシュとを取り入れるまで、検査コンポーネント602は、ブロックチェーンに追加されない、または、それ以外の態様で登録されない。ハッシュを含むことで、ブロックチェーンにおいて結果的に成果を生じるブロックの識別子が保証されるだけでなく、ハッシュを用いてブロックの信頼性と成果とを確認できるということも、保証される。一例として、検査コンポーネントは、解析ブロック502および504に後向きにリンクされ得る研究者のコンソール出力を含み得る。解析ブロックのハッシュは、結果およびログに対して他の修正または変更がなされていないということを確認するために、コンソール出力のハッシュと比較され得る。
訂正ブロック604は、解析ブロックと検査コンポーネントとの間に得られた結果の重み付け、すなわち相対的重要性のランキングを含み得る。たとえば、仮定された結果を達成するために、データ処理アルゴリズムの、比較的少数の解析ステップまたは修正が要求される場合には、実験または研究の結論は、多くの修正がなされる場合よりも、より高く重み付けされる重要性を有し得る。ブロックチェーン・システムは、解析ブロックのうちのどれが結果的に成果を生じたのかを判断することによって、何回の修正が行われるのかを判断することができるのであって、早い解析ブロックが結果的に成果を生じた場合には、その結果は、後の解析ブロックが結果的に成果を生じた場合よりも、より高く重み付けされ得る。ブロックチェーン・システムは、また、解析ブロック502および504において報告されている修正のタイプに基づいても、重み付けを決定し得る。
次に図7を参照すると、本明細書で説明されている1つまたは複数の実施形態によるデータ・ブロックチェーンのヘッダとデータ部分との例示的で非制限的なシステムの別のブロック図700が図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔とする目的のために、省略される。
図700は、データ・ブロック402および404の構造を示している。ブロック402および404の構造は、ブロックチェーンにおける他のブロック(たとえば、解析ブロック502および504、検査コンポーネント602および訂正ブロック604)に適用されるということが認識されるべきである。
ある実施形態では、ブロック402および404の1つまたは複数が、データ部分710および722それぞれだけではなく、ヘッダ702および716それぞれを含み得る。ヘッダ702および716は、研究者、研究グループ、実験またはプロジェクトを識別する情報(識別子706および720)を含み得る。データ・ブロック402および404は、また、データ・ブロックがサーバ上で形成された時間を、または、データ部分710および716におけるデータセットがサーバによって受け取られたまたは収集された時間を識別するタイムスタンプ704および718を含み得る。
データ・ブロック402は、また、データ部分710におけるデータのハッシュを実行する、または、ある実施形態では、ヘッダ702を含むデータ・ブロック402における一部または全部のデータのハッシュを実行するハッシュ関数に応答して受け取られる事前に定義された長さの数であるハッシュA714を含み得る。ハッシュは、データのコンテンツに基づく一意的な数値であり、そのデータへの小さな修正でさえも、結果的に、明確に異なるハッシュ値を生じ得る。
データ・ブロック402のハッシュA714は、後続のブロック404のヘッダに含まれ得る。ハッシュA714を404においてリンクすることによって、ブロックチェーンが形成され、データのいかなる修正も、一致しないハッシュを結果的に生じさせ得るのであって、ブロックチェーンを破壊する。
様々な実施形態では、ヘッダ702および716は、また、1つまたは複数の公開のまたは非公開のデータベース/台帳におけるデータにリンクするURLも含み得る。
ある実施形態では、ヘッダ702および716、または、データ部分710および722は、機密情報を保護するために、暗号化され得る。研究者IDは、暗号化されたデータまたはヘッダあるいはその両方の復号化を容易にし得る公開鍵にリンクされることがあり得る。いくつかの実施形態では、ヘッダがハッシュおよび識別子と共に暗号化されないのに対して、データが暗号化されることがあり得る。これにより、研究者は、暗号化されたデータを用いて査読者が結果を再現することを可能にしながら、データを非公開にすることが可能になる。
次に図8を参照すると、本明細書で説明されている1つまたは複数の実施形態により研究データと解析とに基づいてブロックチェーンを形成する、例示的で非制限的なコンピュータ実装方法のフローチャート800が図解されている。
この方法は、802で開始し得る。802では、この方法は、プロセッサに動作的に結合されたデバイスにより、実験データを有する第1のファイルを(たとえば、データ収集コンポーネント106によって)受け取ることを含む。第1のファイルは、公開のデータベースもしくは台帳から、または、非公開のデータベースから、受け取られ得る。このファイルは、参加者または実行された実験のそれぞれに対応する1つまたは複数のデータセットを含み得る。
この方法は、804において継続し得る。804では、この方法は、デバイスによって、第1のファイルから第1のブロックを生成することを含んでおり、この場合に、第1のブロックは、第1のヘッダと実験データとを含み、ヘッダは、第1のタイムスタンプと、実験データのソースを識別する識別子と、(たとえば、データ収集コンポーネント106による)実験データに基づく第1のハッシュとをさらに含む。第1のブロックは、別々のデータセットのうちの1つまたは複数に対応する多くのブロックで構成され得る。ブロックのうちの1つまたは複数は、タイムスタンプと識別子とハッシュとをそれぞれ有するそれぞれのヘッダを有し得る。先行するブロックのデータ部分のハッシュが、ブロックチェーンにおけるリンクを提供するために、また、ブロックチェーンに信頼性と耐タンパ性とを提供するために、後続のブロックのヘッダに含まれることがあり得る。
この方法は、806において継続し得るが、806において、この方法は、デバイスによって、(たとえば、解析コンポーネント108によって)実験データに対して実行された解析のログを含む第2のファイルを受け取ることを含む。解析のログは、データ解析の結果だけではなく、データ解析の一部または全部と、処理と関係するスクリプトとを含み得る。
この方法は、808において継続し、808では、デバイスによって第2のファイルに基づく第2のブロックを生成する。第2のブロックは、解析のログと、第2のタイムスタンプと第1のブロックへのリンクと(たとえば、解析コンポーネント108による)解析のログに基づく第2のハッシュとを含む第2のヘッダとを含む。
次に図9を参照すると、本明細書で説明されている1つまたは複数の実施形態により研究データと解析とに基づいてブロックチェーンを形成する、例示的で非制限的なコンピュータ実装方法のフローチャート900が図解されている。本明細書で説明されている他の実施形態で用いられる類似の要素に関する反復的な説明は、簡潔とする目的のために、省略される。
この方法は、902で開始し得るが、902では、この方法は、プロセッサに動作的に結合されたデバイスによって、研究プロジェクトを表すブロックチェーンを形成することを含むのであって、この場合、ブロックチェーンは、研究データの第1のブロックと、研究データに対して(たとえば、データ収集コンポーネント106と解析コンポーネント108により)実行された解析のログを表す解析データの第2のブロックとを含む。
この方法は、904において継続し得るが、904では、この方法は、デバイスにより、研究データのサマリと解析データのサマリとを含むサマリ・ブロックを(たとえば、検査コンポーネント110によって)形成することを含む。
この方法は、906において継続し得るが、906では、この方法は、デバイスによって、(たとえば、検査コンポーネント110によって)サマリ・ブロックをブロックチェーンに加えることを含む。
説明を簡潔にするため、コンピュータ実装方法は、一連の動作として、示され、記述される。主題となるイノベーションは、例証される動作または動作の順序あるいはそのいずれにも限定されない、ということが理解され認識されるべきであり、たとえば、動作は、様々な順序でまたは同時にあるいはその両方の態様で行われ、それ以外の動作が、本明細書には提示も記述もないことがあり得る。追加すると、開示される主題によるコンピュータ実装方法を実装するために、例証されている全部の動作が要求されわけではない、ということがあり得る。また、当業者であれば、コンピュータ実装方法は、状態図またはイベントを介して、一連の相関関係にある状態として、代替的に表され得る、ということを理解し認識するであろう。さらに追加すると、以下でおよび本明細書の全体を通じて開示されているコンピュータ実装方法は、このようなコンピュータ実装方法のコンピュータへの転送および移送を容易にするために、ある製品の上に記憶させることが可能であるということが認識されるべきである。本明細書で、製品(article of manufacture)という用語が用いられる場合には、任意のコンピュータ可読デバイスまたは記憶媒体からのアクセスが可能なコンピュータ・プログラムを含むことが意図されている。
さらに、データ・パケットの構成またはプロセッサと割り当てコンポーネントとの間の通信あるいはその両方は、電気的および機械的コンポーネントおよび回路の組合せから確立されるので、人間は、主題となるデータ・パケットの構成またはプロセッサと割り当てコンポーネントとの間の主題となる通信あるいはその両方を、再現または実行することができない。たとえば、人間は、プロセッサと割り当てコンポーネントとの間で、有線ネットワークまたは無線ネットワークあるいはその両方を経由して伝送するためのデータを生成することができない、などである。さらに、人間は、機械学習プロセス(たとえば、ブロックチェーン形成プロセス)の間に生成された情報に対応する一連のビットを含み得るデータをパケット化できないし、機械学習プロセス(たとえば、ブロックチェーン形成プロセス)の間に生成された情報に対応する一連のビットを含み得るデータを送信できない、などである。
開示された主題の様々な態様のためのコンテキストを提供するために、図10および以下の議論は、開示された主題の様々な態様が実装され得る適切な環境に関する一般的な説明を提供するように、意図されている。図10は、本明細書で説明される1つまたは複数の実施形態が容易になり得る、例示的で限定的でない動作環境のブロック図を図解している。簡潔にする目的のために、本明細書で説明される他の実施形態で用いられる同様の要素の反復的な説明は、割愛される。図10を参照すると、本開示の様々な態様を実装するための適切な動作環境1000は、また、コンピュータ1012を含むことがあり得る。コンピュータ1012は、また、プロセッサ1014、システム・メモリ1016、およびシステム・バス1018を含み得る。システム・バス1018は、これに限定されることはないが、システム・メモリ1016を含むシステム・コンポーネントを、プロセッサ1014に結合する。プロセッサ1014は、様々な利用可能なプロセッサのいずれでもあり得る。デュアル・マイクロプロセッサと、他のマルチプロセッサ・アーキテクチャとが、また、プロセッサ1014として用いられることもあり得る。システム・バス1018は、これらには限定されないが、インダストリアル・スタンダード・アーキテクチャ(ISA)、マイクロ・チャネル・アーキテクチャ(MSA)、エクステンディッドISA(EISA)、インテリジェント・ドライブ・エレクトロニクス(IDE)、VESAローカル・バス(VLB)、ペリフェラル・コンポーネント・インターコネクト(PCI)、カード・バス、ユニバーサル・シリアル・バス(USB)、アドバンスト・グラフィクス・ポート(AGP)、ファイアワイヤ(IEEE1394)、およびスモール・コンピュータ・システムズ・インターフェース(SCSI)を含む任意の様々な利用可能なバス・アーキテクチャを用いた、メモリ・バスもしくはメモリ・コントローラ、周辺バスもしくは外部バス、またはローカル・バス、あるいは、これらの組合せを含む、いくつかのタイプのバス構造のいずれかであり得る。システム・メモリ1016は、また、揮発性メモリ1020と不揮発性メモリ1022とを含み得る。基本入力/出力システム(BIOS)は、起動の間などにコンピュータ1012の内部の要素の間で情報を転送するための基本的なルーチンを含む。不揮発性メモリ1022に記憶されている。限定ではなく例証であるが、不揮発性メモリ1022は、リード・オンリ・メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能なプログラマブルROM(EEPROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(たとえば、強誘電体RAM(FeRAM))を含み得る。揮発性メモリ1020は、また、外部キャッシュ・メモリとして機能することができるランダム・アクセス・メモリ(RAM)を含み得る。限定ではなく例証であるが、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンク(Synchlink)DRAM(SLDRAM)、ダイレクト・ラムバス(Rambus)RAM(DRRAM)、ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、およびラムバス・ダイナミックRAMのような、多くの形式で利用可能である。
コンピュータ1012は、また、取り外し可能/取り外し不可能であり、揮発性/不揮発性の、コンピュータ記憶媒体を含むこともあり得る。図10は、たとえば、ディスク・ストレージ1024を図解している。ディスク・ストレージ1024は、これらに限定されないが、磁気ディスク・ドライブ、フロッピ・ディスク・ドライブ、テープ・ドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティックのようなデバイスを含み得る。ディスク・ストレージ1024は、また、別個に、または、他の記憶媒体と組み合わせて、記憶媒体を含み得るのであって、他の記憶媒体とは、これらに限定されないが、コンパクト・ディスクROMデバイス(CD-ROM)、CDリコーダブル・ドライブ(CD-Rドライブ)、CDリライタブル・ドライブ(CD-RWドライブ)またはデジタル・バーサタイル・ディスクROMドライブ(DVD-ROM)などの光ディスク・ドライブを含む。システム・バス1018へのディスク・ストレージ1024の接続を容易にするために、インターフェース1026のような、取り外し可能または取り外し不可能なインターフェースが、典型的に、用いられる。図10は、また、ユーザと適切な動作環境1000で説明されている基本コンピュータ・リソースとの間で、媒介として機能するソフトウェアも示している。そのようなソフトウェアは、また、たとえば、オペレーティング・システム1028を含むこともあり得る。ディスク・ストレージ1024に記憶され得るオペレーティング・システム1028は、コンピュータ1012のリソースを制御して配分するように機能する。システム・アプリケーション1030は、オペレーティング・システム1028による、たとえばシステム・メモリ1016またはディスク・ストレージ1024のいずれかに記憶されているリソースの管理を、プログラム・モジュール1032およびプログラム・データ1034を通じて、利用する。この開示は、様々なオペレーティング・システムを用いて、または、複数のオペレーティング・システムの組合せを用いて、実施され得る、ということが認識されるべきである。エンティティが、入力デバイス1036を通じて、コマンドまたは情報をコンピュータ1012に入力する。入力デバイス1036は、これらには限定されないが、マウスなどのポインティング・デバイス、トラックボール、スタイラス、タッチ・パッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信用アンテナ、スキャナ、TVチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラなどを含む。これらのおよび他の入力デバイスは、インターフェース・ポート1038を介して、システム・バス1018を通過してプロセッサ1014に接続する。インターフェース・ポート1038は、たとえば、シリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス(USB)を含む。出力デバイス1040は、入力デバイス1036と同じタイプのポートのいくつかを、用いる。したがって、たとえば、USBポートは、コンピュータ1012への入力を提供するために、そして、コンピュータ1012からの情報を出力デバイス1040に出力するために、用いられ得る。出力アダプタ1042は、他の出力デバイス1040の中に、特別なアダプタを要求するモニタ、スピーカおよびプリンタのような出力デバイス1040が、いくつか存在することを例証するために、提供される。出力アダプタ1042は、限定ではなく例証であるが、出力デバイス1040とシステム・バス1018との間の接続手段を提供するビデオおよび音声カードを含む。遠隔コンピュータ1044のように、他のデバイスまたはデバイスのシステムあるいはその両方が、入力と出力との両方の機能を提供する、ということが留意されるべきである。
コンピュータ1012は、遠隔コンピュータ1044などの1つまたは複数の遠隔コンピュータへの論理接続を用いて、ネットワーク化された環境で動作し得る。遠隔コンピュータ1044は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサ・ベースのアプライアンス、ピア・デバイス、または他の共通ネットワーク・ノードなどであり得るが、また、一般的に、コンピュータ1012との関係で説明されている要素の多くまたは全部を含むこともあり得る。簡潔にするという目的のために、メモリ・ストレージ・デバイス1046だけが、遠隔コンピュータ1044と共に、図解されている。遠隔コンピュータ1044は、ネットワーク・インターフェース1048を通じてコンピュータ1012に論理的に接続されており、さらに、通信接続1050を介して物理的に接続されている。ネットワーク・インターフェース1048は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、セルラ・ネットワークなどの、有線または無線あるいはその両方の通信ネットワークに及ぶ。LAN技術は、ファイバ分散データ・インターフェース(FDDI)、銅分散データ・インターフェース(CDDI)、イーサネット(R)、トークン・リングなどを含む。WAN技術は、これらには限定されないが、ポイント・ツー・ポイント・リンク、統合サービス・デジタル・ネットワーク(ISDN)およびその変形などの回路交換ネットワーク、パケット交換ネットワーク、およびデジタル加入者線(DSL)を含む。通信接続1050とは、ネットワーク・インターフェース1048をシステム・バス1018に接続するために用いられるハードウェア/ソフトウェアを指す。通信接続1050は、例証のための明確性のために、コンピュータ1012の内部に示されているが、コンピュータ1012の外部にあることもあり得る。ネットワーク・インターフェース1048への接続のためのハードウェア/ソフトウェアは、単に例示のためであるが、正規電話グレード・モデム、ケーブル・モデムおよびDSLモデムを含むモデム、ISDNアダプタ、ならびにイーサネット(R)カードなどの内部および外部技術を含み得る。
次に図11を参照すると、例証的なクラウド・コンピューティング環境1150が示されている。示されているように、クラウド・コンピューティング環境1150は、たとえば、パーソナル・デジタル・アシスタント(PDA)または携帯電話1654A、デスクトップ・コンピュータ1154B、ラップトップ・コンピュータ1154C、または自動車コンピュータ・システム1154Nあるいはそれらの組合せなど、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード1110を含む。ノード1110は、相互に通信し得る。それらは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはこれらの組合せなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境1150は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要がないサービスとして、インフラストラクチャ、プラットフォームまたはソフトウェアあるいはそれらの組合せを提供することが可能になる。図11に示されているコンピューティング・デバイス1154A~Nのタイプは、単に例証のためのものであることが意図されており、コンピューティング・ノード1110とクラウド・コンピューティング環境1150とは、どのタイプのネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方の上(たとえば、ウェブ・ブラウザを用いて)でも、どのタイプのコンピュータ化された装置とも通信できる、ということが理解される。
次に図12を参照すると、クラウド・コンピューティング環境1150(図11)によって提供される1組の機能抽象化層が示されている。図12に示されているコンポーネント、層、および機能は、単に例証であることが意図されており、本発明の実施形態はそれらに限定されないこと、ということが予め理解されるべきである。図示されているように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層1260は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム1261、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ1262、サーバ1263、ブレード・サーバ1264、ストレージ・デバイス1265、ならびにネットワークおよびネットワーキング・コンポーネント1266を含む。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1267と、データベース・ソフトウェア1268とを含む。
仮想化層1270は、抽象化層を提供する。この層から、仮想エンティティの以下の例が、すなわち、仮想サーバ1271、仮想ストレージ1272、仮想プライベート・ネットワークを含む仮想ネットワーク1273、仮想アプリケーションおよびオペレーティング・システム1274、ならびに仮想クライアント1275が提供され得る。
一例では、管理層1280は、以下で説明される機能を提供し得る。リソース・プロビジョニング1281は、クラウド・コンピューティング環境の内部でタスクを実行するために用いられるコンピューティング・リソースと他のリソースとの動的な調達を提供する。計量および価格決定1282は、クラウド・コンピューティング環境の内部でリソースが用いられる際のコスト追跡と、これらのリソースの消費に対する課金または請求とを提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、データおよび他のリソースのための保護に加えて、クラウド・コンシューマおよびタスクのための識別子の検証を提供する。ユーザ・ポータル1283は、コンシューマおよびシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理1284は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの配分および管理を提供する。サービス・レベル・アグリーメント(SLA)の計画および履行1285は、SLAに従って将来において要求されることが予測されるクラウド・コンピューティング・リソースの、事前配置および調達を提供する。
ワークロード層1290は、そのためにクラウド・コンピューティング環境が用いられ得る機能の例を提供する。この層から提供され得るワークロードと機能との非制限的な例は、マッピングおよびナビゲーション1291、ソフトウェア開発およびライフサイクル管理1292、仮想教室教育配信1293、データ解析処理1294、トランザクション処理1295、およびトランザクション・モデル・ソフトウェア1296を含む。
本発明は、統合のいずれかの可能な技術的詳細レベルにおける、システム、方法、装置またはコンピュータ・プログラム製品あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の諸態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(単数または複数)を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによって用いられる命令を保持し記憶することが可能な有形的なデバイスであり得る。コンピュータ可読記憶媒体は、たとえば、これらに限定されないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記のいずれかの適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の排他的ではないリストは、また、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク(R)、パンチカードまたは命令がそこに記録された溝における隆起構造などの機械的にエンコードされたデバイス、および上記のいずれかの適切な組合せも含み得る。本明細書で用いられるコンピュータ可読記憶媒体とは、無線波もしくは他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体(たとえば、光ファイバケーブルを通過する光パルス)を通過して伝搬する電磁波、またはワイヤを通過して伝送される電気信号などの一過性の信号それ自体としては、解釈されないものとする。
本明細書で説明されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたは無線ネットワークあるいはそれらの組合せなどのネットワークを介して、外部コンピュータもしくは外部ストレージ・デバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはそれらの組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイスの内部のコンピュータ可読記憶媒体に記憶するために、転送する。本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のためのコンフィグレーション・データ、または、ソース・コードもしくはオブジェクト・コードであり得るが、ここで、ソース・コードとオブジェクト・コードとは、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語と、を含む1つまたは複数のプログラミング言語の任意の組合せとして、記述される。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行される場合、一部がユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして実行される場合、一部がユーザのコンピュータ上で一部が遠隔コンピュータ上で実行される場合、または、全体が遠隔コンピュータもしくはサーバ上で実行される場合があり得る。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続される場合があり得るし、または、(たとえば、インターネット・サービス・プロバイダを用いて、インターネットを経由して)外部コンピュータへの接続がなされる場合もあり得る。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を用いて、その電子回路をカスタマイズすることにより、コンピュータ可読プログラム命令を実行することがあり得る。
本発明の諸態様は、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャートによる図解またはブロック図あるいはその両方を参照して、本明細書で説明されている。フローチャートによる図解またはブロック図あるいはその両方の各ブロックと、フローチャートによる図解またはブロック図あるいはその両方における複数のブロックの組合せとは、コンピュータ可読プログラム命令によって実装され得る、ということが理解されるであろう。これらのコンピュータ可読プログラム命令は、コンピュータまたはそれ以外のプログラム可能なデータ処理装置のプロセッサを経由して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに特定されている機能/動作を実装するための手段を生じさせるように、汎用コンピュータ、専用コンピュータ、またはそれ以外のプログラム可能なデータ解析装置のプロセッサに提供され、マシンを構成するものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに特定されている機能/動作を実装する命令を含む製品を構成するように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能なデータ処理装置またはそれ以外のデバイスあるいはそれらの組合せに、特定の態様で機能するように命令することができるものであってもよい。コンピュータ可読プログラム命令は、コンピュータ、それ以外のプログラム可能な装置、またはそれ以外のデバイスの上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに特定されている機能/動作を実装させるように、コンピュータ実装プロセスを生じさせるべく、コンピュータ、それ以外のプログラム可能な装置、または他のデバイスの上にロードされ、コンピュータ、それ以外のプログラム可能なデータ処理装置、または他のデバイスにおいて一連の演算動作を実行させるものであってもよい。
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品のあり得る実装形態の、アーキテクチャ、機能および動作を図解している。この点に関し、フローチャートまたはブロック図における各ブロックは、特定された論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装形態では、ブロックに記載されている機能は、図面に記載されている順序とは異なる順序で、生じることがあり得る。たとえば、連続して示されている2つのブロックが、関係する機能に応じて、実際には、実質的に同時に実行されることがあり得るし、または、これらのブロックが、ときには、逆の順序で実行されることもあり得る。ブロック図またはフローチャート図あるいはそれらの両方の各ブロックと、ブロック図またはフローチャート図あるいはそれらの両方における複数のブロックの組合せとは、特定の機能もしくは動作を実行するまたは専用のハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実装され得る、ということも、注意されるべきである。
本主題は、以上では、1つのコンピュータまたは複数のコンピュータあるいはその両方の上で動作するコンピュータ・プログラム製品のコンピュータ実行可能命令という一般的な文脈で説明されてきたが、当業者であれば、本開示は、他のプログラム・モジュールとの組合せとして、実装するまたは実装されることもあり得る、ということを認識するであろう。一般に、プログラム・モジュールは、特定のタスクを実行するまたは特定の抽象的なデータ型を実装するあるいはその両方を行う、ルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、当業者であれば、本発明のコンピュータ実装方法は、コンピュータ、ハンドヘルド・コンピューティング・デバイス(たとえば、PDA、電話)、マイクロプロセッサ・ベースのまたはプログラマブルな消費者向けまたは産業用電子機器などに加えて、シングル・プロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニ・コンピューティング・デバイス、メインフレーム・コンピュータを含む、他のコンピュータ・システム構成と共に実施され得る、ということを理解するであろう。例証されている態様は、通信ネットワークを通じてリンクされている遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境において、実施されることもあり得る。しかし、本開示の、全部ではないにしても一部の態様が、スタンドアロン・コンピュータの上で、実施されることもあり得る。分散型コンピューティング環境では、プログラム・モジュールが、ローカルと遠隔との両方のメモリ・ストレージ・デバイスに配置されることもあり得る。
本出願で用いられるときには、「コンポーネント」、「システム」、「プラットフォーム」、「インターフェース」などの用語は、コンピュータに関連するエンティティ、もしくは、1つもしくは複数の特定の機能を有する演算マシンに関連するエンティティを指す、または、これらを含む、あるいは、その両方であり得る。本明細書に開示されているエンティティは、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアであり得る。たとえば、コンポーネントは、これらには限定されないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、または、コンピュータ、あるいは、これらの組合せであり得る。例証として、サーバ上で実行されているアプリケーションとサーバとの両方が、コンポーネントであり得る。1つまたは複数のコンポーネントが、プロセスにまたは実行のスレッドにあるいはその両方に存在することがあり得るし、コンポーネントが、1つのコンピュータ上に局所化される、または、2つまたはそれより多くのコンポーネントの間で分散される、あるいは、その両方が可能である。別の例では、それぞれのコンポーネントが、様々なデータ構造がその上に記憶されている様々なコンピュータ可読媒体から、実行することがあり得る。コンポーネントは、1つまたは複数のデータ・パケットを有する信号に従うことなどによって、ローカルなプロセスまたは遠隔プロセスあるいはその両方を経由して、通信し得る(たとえば、あるコンポーネントからのデータが、信号を介して、ローカル・システムにおける別のコンポーネントと、分散型システムにおける別のシステムと、または、インターネットなどのネットワークを横断して他のシステムと、対話する、あるいは、これらの組合せと対話するなど)。別の例では、コンポーネントは、電気回路または電子回路により動作される機械的部品によって提供される特定の機能を有する装置であり得るが、この電気回路または電子回路は、プロセッサによって実行されるソフトウェアまたはファームウェア・アプリケーションによって動作される。そのような場合に、プロセッサは、装置の内部にまたは装置の外部にあり得るが、ソフトウェアまたはファームウェア・アプリケーションの少なくとも一部を実行し得る。さらに別の例として、コンポーネントは、機械的部品を伴わない電子コンポーネントを通じて、特定の機能を提供する装置であり得るが、その場合に、電子コンポーネントは、電子コンポーネントの機能を少なくとも部分的に与えるソフトウェアまたはファームウェアを実行するためのプロセッサまたは他の手段を含み得る。ある態様では、コンポーネントが、たとえば、クラウド・コンピューティング・システムの内部の仮想マシンを介して、電子コンポーネントをエミュレートすることがあり得る。
さらに、「または(or)」という用語は、排他的「または」ではなく、包含的「または」を意味する、ということが意図されている。すなわち、そうではないと特に断らない限り、または、文脈から明らかな場合でなければ、「Xは、AまたはBを用いる」は、自然な包含的順列(natural inclusive permutation)のうちのいずれかを意味する、ということが意図されている。すなわち、XはAを用いる、XはBを用いる、または、XはAとBとの両方を用いる、という場合には、「Xは、AまたはBを用いる」は、上記の例のいずれかにおいて満たされる。さらにまた、本明細書および添付の図面で用いられる冠詞「1つ(aおよびan)」は、そうではないと特に断らない限り、または、単数形に向けられていることが文脈から明らかな場合でなければ、一般的に、「1つまたは複数」を意味すると解釈されるべきである。本明細書で用いられる場合には、「例」という用語または「例示的」という用語あるいはその両方は、例、事例、または例証としての役割を果たすものとして用いられる。誤解を避けるために、本明細書に開示されている主題は、そのような例に限定されない。さらに、「例」という用語または「例示的」という用語あるいはその両方として本明細書で説明されているどの態様または設計も、他の態様または設計と比較して、必ずしも好適または有利であると解釈されるべきではないし、当業者には周知である同等の例示的構造および技術を排除することも、意図されていない。
本明細書で用いられるときに、「プロセッサ」という用語は、これらに限定されることはないが、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行能力を有するシングル・プロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行能力を有するマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、並列プラットフォーム、および分散型共有メモリを有する並列プラットフォームを含む、実質的に任意のコンピューティング・プロセッサまたはデバイスを指し得る。さらに、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、フィールド・プログラマブル、ゲート・アレイ(FPGA)、プログラマブル・ロジック・コントローラ(PLC)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、ディスクリート・ゲートもしくはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、または本明細書で説明されている機能を実行するように設計されたそれらの任意の組合せ、を指すことがあり得る。また、プロセッサは、ユーザ機器の空間使用を最適化するまたは性能を高めるために、これらには限定されないが、分子および量子ドット・ベースのトランジスタ、スイッチおよびゲートなどのナノスケール・アーキテクチャを利用することがあり得る。プロセッサは、また、コンピューティング・プロセッサの組合せとしても、実装され得る。本開示では、「ストア」、「ストレージ」、「データ・ストア」、「データ・ストレージ」、「データベース」、ならびにコンポーネントの動作および機能に関連する実質的に任意の他の情報ストレージ・コンポーネントなどの用語は、「メモリ・コンポーネント」、「メモリ」において具体化されたエンティティ、またはメモリを含むコンポーネントを指すために用いられる。本明細書で説明されているメモリまたはメモリ・コンポーネントあるいはその両方が、揮発性メモリもしくは不揮発性メモリのいずれかであり得るし、または、揮発性メモリと不揮発性メモリとの両方を含むこともあり得る、ということが認識されるべきである。限定ではなく、例証であるが、不揮発性メモリは、リード・オンリ・メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(たとえば、強誘電体RAM(FeRAM))を含み得る。揮発性メモリは、たとえば、外部キャッシュ・メモリとして機能し得るRAMを含むことがあり得る。限定ではなく、例証であるが、RAMは、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、ダイレクト・ラムバスRAM(DRRAM)、ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、およびラムバス・ダイナミックRAM(RDRAM)など、多くの形式で利用可能である。さらに、本明細書でシステムまたはコンピュータ実装方法の開示されているメモリ・コンポーネントは、これらを含むことに限定されないが、これらおよび任意の他の適切なタイプのメモリを含むことが意図されている。
以上で説明されたのは、システムおよびコンピュータ実装方法の単なる例を含む。もちろん、本開示を説明する目的でコンポーネントまたはコンピュータ実装方法のあらゆる想定可能な組合せを説明することは不可能であるが、当業者であれば、本開示の多くのさらなる組合せおよび順列が可能であることを認識し得る。さらに、「含む(include)」、「有する(have)」、「所有する(possess)」などの用語は、それらが詳細な説明、特許請求の範囲、付録および図面において用いられる範囲で、ある請求項において「備える(comprising)」という用語が移行語として用いられるときに解釈されるように、その「備える(comprising)」という用語と同様に包括的であることが意図されている。様々な実施形態の説明が例証のために提示されてきたが、網羅的であること、または、開示された実施形態に制限することは、意図されていない。当業者にとっては、説明された実施形態の範囲および趣旨から逸脱しない多くの修正および変動が、明らかであろう。本明細書で用いられている用語は、実施形態の原理、実際の応用例、もしくは市場で見出される技術に対する技術的改善を最もよく説明するように、または、当業者が本明細書で開示されている実施形態を理解できるように、選択された。

Claims (23)

  1. コンピュータ実装方法であって、
    プロセッサに動作的に結合されたデバイスにより、第1のブロックを第1のファイルから生成することであって、前記第1のブロックが第1のヘッダを含み、実験データが前記第1のファイルの内部に含まれており、前記第1のヘッダが、第1のタイムスタンプと、前記実験データのソースを識別する識別子と、前記実験データに基づく第1のハッシュとをさらに含む、前記生成することと、
    前記デバイスにより、前記実験データに対して実行された解析のログを含む第2のファイルに基づき、第2のブロックを生成することであって、前記第2のブロックが、前記解析の前記ログと、第2のタイムスタンプと前記第1のブロックへのリンクと前記解析の前記ログに基づく第2のハッシュとを含む第2のヘッダと、を含む、前記生成することと、
    を含む、コンピュータ実装方法。
  2. 前記デバイスにより、前記第1のブロックと前記第2のブロックとに基づき、ブロックチェーンを形成することをさらに含む、請求項1に記載のコンピュータ実装方法。
  3. 前記デバイスにより、前記第1のブロックと前記第2のブロックとを台帳データベースに送信することをさらに含む、請求項1に記載のコンピュータ実装方法。
  4. 前記デバイスにより、前記実験データと前記解析とのサマリと、前記解析の結果とを含む第3のブロックを生成することと、
    前記デバイスにより、前記第2のブロックへのリンクを前記第3のブロックの第3のヘッダに配置することによって、前記第3のブロックを、前記第1のブロックと前記第2のブロックとに関連するブロックチェーンに加えることと、
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  5. 前記デバイスにより、前記第3のブロックの前記実験データの前記サマリの評価に基づき、前記解析の前記結果への訂正を実行することと、
    前記デバイスにより、前記訂正を含む第4のブロックを生成することと、
    前記デバイスにより、前記第4のブロックを前記ブロックチェーンに加えることと、
    をさらに含む、請求項4に記載のコンピュータ実装方法。
  6. 前記デバイスにより、前記第1のブロックと前記第2のブロックと前記第3のブロックと前記第4のブロックとのそれぞれのハッシュを、台帳データベースにおける対応するブロックの対応するハッシュに一致させることをさらに含む、請求項5に記載のコンピュータ実装方法。
  7. 前記デバイスにより、前記第1のブロックと前記第2のブロックとをそれぞれ形成する前に、前記実験データと前記解析の前記ログとを暗号化することをさらに含む、請求項1に記載のコンピュータ実装方法。
  8. 前記第2のブロックが、前記実験データと関連するデータ処理スクリプトに関係する情報を含んでおり、前記方法が、
    前記デバイスにより、前記データ処理スクリプトの実行の結果に関係する情報を含む第5のブロックを生成することをさらに含む、請求項1に記載のコンピュータ実装方法。
  9. 前記第1のブロックを前記生成することが、
    複数のデータ・ブロックの組合せに基づいて前記第1のブロックを生成することをさらに含む、請求項1に記載のコンピュータ実装方法。
  10. システムであって、
    コンピュータ実行可能コンポーネントを記憶するメモリと、
    前記メモリに記憶されている前記コンピュータ実行可能コンポーネントを実行するプロセッサと、
    を備えており、前記コンピュータ実行可能コンポーネントが、
    マスタ・データ・ブロックを、データ・エントリ・ブロックチェーンから作成するデータ収集コンポーネントであって、前記データ・エントリ・ブロックチェーンが、相互にリンクされている一群のデータ・エントリ・ブロックを含み、前記マスタ・データ・ブロックが、第1のヘッダと前記一群のデータ・エントリ・ブロックからのデータとを含み、前記ヘッダが、第1のタイムスタンプと、前記データのソースを識別する識別子と、前記データに基づく第1のハッシュとをさらに含む、前記データ収集コンポーネントと、
    前記データに対して実行された解析のログと、第2のタイムスタンプと前記マスタ・データ・ブロックへのリンクと前記解析の前記ログに基づく第2のハッシュとを含む第2のヘッダと、を含む解析ブロックを作成する解析コンポーネントと、
    を含む、システム。
  11. 前記コンピュータ実行可能コンポーネントが、
    前記データのサマリと前記解析のサマリと前記解析の結果とを含むサマリ・ブロックと、前記解析ブロックへのリンクを含む第3のヘッダとを作成する検査コンポーネントをさらに含む、請求項10に記載のシステム。
  12. 前記コンピュータ実行可能コンポーネントが、
    前記解析の前記サマリと前記解析の前記ログとに基づき前記解析の前記結果の信頼性を評価する訂正コンポーネントをさらに含んでおり、前記信頼性が、前記解析の前記結果を達成しようとする試行の回数と関連する、請求項11に記載のシステム。
  13. 前記一群のデータ・エントリ・ブロックが、パブリックな台帳データベースから取得される、請求項10に記載のシステム。
  14. 前記解析ブロックにおける前記マスタ・データ・ブロックへの前記リンクが、第1のハッシュである、請求項10に記載のシステム。
  15. 前記一群のデータ・エントリ・ブロックが、それぞれのデータ収集セッションと関連する、請求項10に記載のシステム。
  16. コンピュータ実装方法であって、
    プロセッサに動作的に結合されたデバイスにより、研究プロジェクトを表すブロックチェーンを形成することであって、前記ブロックチェーンが、研究データの第1のブロックと、前記研究データに対して実行された解析のログを表す解析データの第2のブロックとを含む、前記形成することと、
    前記デバイスにより、前記研究データのサマリと前記解析データのサマリとを含むサマリ・ブロックを形成することと、
    前記デバイスにより、前記サマリ・ブロックを前記ブロックチェーンに追加することと、
    を含む、コンピュータ実装方法。
  17. 前記デバイスにより、前記解析データと関連する研究結果の信頼性を評価することをさらに含み、前記信頼性が、前記解析データの前記サマリと前記解析の前記ログとに基づいており、解析手順への修正回数と関連する、請求項16に記載のコンピュータ実装方法。
  18. 前記ブロックチェーンを前記形成することが、
    前記デバイスにより、第1のヘッダと前記研究データとを含む研究データの前記第1のブロックを生成することであって、前記ヘッダが、第1のタイムスタンプと、前記研究データのソースを識別する識別子と、前記研究データに基づく第1のハッシュとをさらに含む、前記生成することと、
    前記デバイスにより、前記解析の前記ログと第2のヘッダとを含む解析データの前記第2のブロックを生成することであって、前記第2のヘッダが、第2のタイムスタンプと研究データの前記第1のブロックへのリンクと前記解析の前記ログに基づく第2のハッシュとを含む、前記生成することと、
    をさらに含む、請求項16に記載のコンピュータ実装方法。
  19. 前記第1のブロックへの前記リンクが前記第1のハッシュである、請求項18に記載のコンピュータ実装方法。
  20. 前記デバイスにより、研究データの前記第1のブロックと解析データの前記第2のブロックとを、パブリックなデータベースから取得することをさらに含む、請求項16に記載のコンピュータ実装方法。
  21. システムであって、
    コンピュータ実行可能コンポーネントを記憶するメモリと、
    前記メモリに記憶されている前記コンピュータ実行可能コンポーネントを実行するプロセッサと、
    を備えており、前記コンピュータ実行可能コンポーネントが、
    データ収集コンポーネントであって、
    実験データを有する第1のファイルを受け取り、
    第1のブロックを、前記第1のファイルから生成し、前記第1のブロックが、第1のヘッダと前記実験データとを含み、前記ヘッダが、第1のタイムスタンプと、前記実験データのソースを識別する識別子と、前記実験データに基づく第1のハッシュとをさらに含む、前記データ収集コンポーネントと、
    前記実験データに対して実行された解析のログを含む第2のファイルに基づき第2のブロックを生成する解析コンポーネントであって、前記第2のブロックが、前記解析の前記ログと第2のヘッダとを含み、前記第2のヘッダが、第2のタイムスタンプと、前記第1のブロックへのリンクと、前記解析の前記ログに基づく第2のハッシュとを含む、前記解析コンポーネントと、
    前記実験データと前記解析とのサマリと前記解析の結果とを含む第3のブロックを生成する検査コンポーネントと、
    を含む、システム。
  22. 前記検査コンポーネントが、また、
    前記第2のブロックへのリンクを前記第3のブロックの第3のヘッダに配置することによって、前記第3のブロックを前記第1のブロックと前記第2のブロックとに関連するブロックチェーンに加え、前記コンピュータ実行可能コンポーネントが、
    前記解析の前記結果の信頼性を評価する訂正コンポーネントであって、前記信頼性が、前記解析データの前記サマリと前記解析の前記ログとに基づいており、解析手順への修正回数と関連する、前記訂正コンポーネントをさらに含む、請求項21に記載のシステム。
  23. コンピュータ・プログラムであって、請求項1ないし9、または請求項16ないし20のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
JP2019558760A 2017-05-05 2017-12-12 公開されている科学研究のためにブロックチェーンを形成するコンピュータ実装方法、システムおよびコンピュータ・プログラム製品(公開科学研究のためのブロックチェーン) Active JP7159202B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/588,387 2017-05-05
US15/588,387 US10320574B2 (en) 2017-05-05 2017-05-05 Blockchain for open scientific research
PCT/IB2017/057814 WO2018203121A1 (en) 2017-05-05 2017-12-12 Blockchain for open scientific research

Publications (2)

Publication Number Publication Date
JP2020522152A JP2020522152A (ja) 2020-07-27
JP7159202B2 true JP7159202B2 (ja) 2022-10-24

Family

ID=64013760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019558760A Active JP7159202B2 (ja) 2017-05-05 2017-12-12 公開されている科学研究のためにブロックチェーンを形成するコンピュータ実装方法、システムおよびコンピュータ・プログラム製品(公開科学研究のためのブロックチェーン)

Country Status (6)

Country Link
US (3) US10320574B2 (ja)
JP (1) JP7159202B2 (ja)
CN (1) CN110582747B (ja)
DE (1) DE112017007510T5 (ja)
GB (1) GB2575952A (ja)
WO (1) WO2018203121A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291413B2 (en) * 2017-02-17 2019-05-14 Accenture Global Solutions Limited Hardware blockchain corrective consensus operating procedure enforcement
US9998286B1 (en) 2017-02-17 2018-06-12 Accenture Global Solutions Limited Hardware blockchain consensus operating procedure enforcement
CN109218010B (zh) * 2017-07-04 2021-11-30 阿波罗智能技术(北京)有限公司 数据加密方法和装置、数据解密方法和装置
CA3014385A1 (en) * 2017-08-16 2019-02-16 Royal Bank Of Canada Platform for generating authenticated data objects
US11316933B2 (en) 2017-09-13 2022-04-26 Vijay Madisetti Service meshes and smart contracts for zero-trust systems
US11316690B2 (en) * 2017-09-13 2022-04-26 Vijay Madisetti Blockchain token-based cloud orchestration architecture for discrete virtual network instances
US11528147B2 (en) * 2017-09-13 2022-12-13 Vijay Madisetti Verifying integrity and secure operations of cloud-based software services
US11088826B2 (en) * 2018-02-27 2021-08-10 International Business Machines Corporation Managing assets with expiration on a blockchain
US11093640B2 (en) 2018-04-12 2021-08-17 International Business Machines Corporation Augmenting datasets with selected de-identified data records
US10770171B2 (en) * 2018-04-12 2020-09-08 International Business Machines Corporation Augmenting datasets using de-identified data and selected authorized records
US11132707B2 (en) * 2018-04-25 2021-09-28 At&T Intellectual Property I, L.P. Blockchain solution for an automated advertising marketplace
US11683180B1 (en) 2018-05-24 2023-06-20 Swear Inc. Protecting digital media with nested hashing techniques
US10355865B1 (en) 2018-05-24 2019-07-16 DeepTruth, LLC Systems and techniques for certification of trusted media data
KR102125659B1 (ko) 2018-11-16 2020-06-23 알리바바 그룹 홀딩 리미티드 블록체인 시스템에서 도메인 이름 스킴을 사용하는 크로스-체인 상호 작용
CN111434085B (zh) 2018-11-16 2022-05-13 创新先进技术有限公司 用于在区块链系统中进行跨链交互的域名管理方案
JP6688939B2 (ja) * 2018-11-16 2020-04-28 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンシステム内のクロスチェーン相互作用に対するドメイン名方式
TWI745749B (zh) * 2018-11-30 2021-11-11 開曼群島商創新先進技術有限公司 基於區塊鏈的音訊協議簽訂方法及裝置、電子設備
CN110046156A (zh) 2018-12-20 2019-07-23 阿里巴巴集团控股有限公司 基于区块链的内容管理系统及方法、装置、电子设备
CN109766312A (zh) * 2019-01-07 2019-05-17 深圳大学 一种区块链存储方法、系统、装置及计算机可读存储介质
US11431691B2 (en) * 2019-02-13 2022-08-30 Jpmorgan Chase Bank, N.A. Systems and methods for blockchain-based secure storage
US11251940B2 (en) 2019-03-22 2022-02-15 Kyndryl, Inc. Decentralized repository using encryption for non-repudiable activity and ownership
US11194770B2 (en) * 2019-05-02 2021-12-07 International Business Machines Corporation Database mergeable ledgers
CN110275798A (zh) * 2019-05-08 2019-09-24 深圳壹账通智能科技有限公司 区块链数据处理方法、装置、服务器及存储介质
US11153621B2 (en) 2019-05-14 2021-10-19 At&T Intellectual Property I, L.P. System and method for managing dynamic pricing of media content through blockchain
KR102167026B1 (ko) * 2019-05-24 2020-10-16 제주대학교 산학협력단 블록체인을 이용한 cctv 영상 저장 시스템 및 그 방법
US10503905B1 (en) * 2019-06-26 2019-12-10 Capital One Services, Llc Data lineage management
CN110837502B (zh) * 2019-10-18 2021-03-12 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的数据存储方法、装置及设备
US11838400B2 (en) * 2019-11-19 2023-12-05 International Business Machines Corporation Image encoding for blockchain
US11587189B2 (en) * 2019-11-27 2023-02-21 International Business Machines Corporation Formal verification of smart contracts
US11556618B2 (en) 2020-02-18 2023-01-17 At&T Intellectual Property I, L.P. Split ledger software license platform
CN111126883B (zh) * 2020-03-23 2024-01-26 中国计量大学 基于区块链的研发项目信息的管理方法、装置和电子设备
CN111090573A (zh) * 2020-03-24 2020-05-01 中国计量大学 基于区块链的研发日志管理方法、装置和电子设备
CN111612964B (zh) * 2020-05-21 2021-01-26 广东乐佳印刷有限公司 基于区块链的票据凭证防伪检测方法及装置
CN112307501B (zh) * 2020-08-20 2021-12-10 青岛海纳云科技控股有限公司 基于区块链技术的大数据系统及存储方法和使用方法
US20220173889A1 (en) * 2020-11-30 2022-06-02 Motional Ad Llc Secure Safety-Critical System Log
US11943210B2 (en) * 2021-04-16 2024-03-26 Verizon Patent And Licensing Inc. System and method for distributed, keyless electronic transactions with authentication
US11818207B1 (en) * 2022-07-08 2023-11-14 T-Mobile Innovations Llc Methods and systems for ledger based content delivery using a mobile edge computing (MEC) server
US11792259B1 (en) 2022-09-28 2023-10-17 T-Mobile Innovations Llc Methods and systems for distributing rendering across devices in a customer premise

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516351A (ja) 2004-10-12 2008-05-15 ウォーターズ ゲゼルシャフト ミット ベシュレンクテル ハフツング 一般的な電子ラボラトリノートブック
JP2011197724A (ja) 2010-03-17 2011-10-06 Nomura Research Institute Ltd 認証管理装置および認証管理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2375697B (en) 2000-03-17 2004-03-24 Decode Genetics Ehf Automatic identity protection system with remote third party monitoring
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20080040181A1 (en) 2006-04-07 2008-02-14 The University Of Utah Research Foundation Managing provenance for an evolutionary workflow process in a collaborative environment
US20080027782A1 (en) 2006-04-07 2008-01-31 Juliana Freire Managing provenance of the evolutionary development of workflows
US7860760B2 (en) 2006-07-14 2010-12-28 Stanley Benjamin Smith Method for acquiring and linking a plurality of fields from a plurality of data sources into a data supply chain of linked fields
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US8805925B2 (en) 2009-11-20 2014-08-12 Nbrella, Inc. Method and apparatus for maintaining high data integrity and for providing a secure audit for fraud prevention and detection
CN102314450B (zh) * 2010-06-30 2014-11-26 国际商业机器公司 用于增强网页浏览的方法和设备
US10984913B2 (en) * 2012-04-27 2021-04-20 Netspective Communications Llc Blockchain system for natural language processing
US20150379510A1 (en) 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20140344015A1 (en) 2013-05-20 2014-11-20 José Antonio Puértolas-Montañés Systems and methods enabling consumers to control and monetize their personal data
US10340038B2 (en) 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US9836908B2 (en) * 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US10230526B2 (en) 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
WO2016179334A1 (en) * 2015-05-05 2016-11-10 ShoCard, Inc. Identity management service using a block chain
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
WO2017027702A1 (en) * 2015-08-13 2017-02-16 Synergy Technology Solutions, Llc Document management system and method
US20170116693A1 (en) 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
CN106330452B (zh) * 2016-08-13 2020-02-18 广东中云智安科技有限公司 一种用于区块链的安全网络附加装置及方法
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及系统
CN106407481B (zh) * 2016-11-30 2019-12-03 福州微启迪物联科技有限公司 基于区块链架构的生态环境监管系统及其实现方法
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516351A (ja) 2004-10-12 2008-05-15 ウォーターズ ゲゼルシャフト ミット ベシュレンクテル ハフツング 一般的な電子ラボラトリノートブック
JP2011197724A (ja) 2010-03-17 2011-10-06 Nomura Research Institute Ltd 認証管理装置および認証管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GIPP, B., MEUSCHKE, N. and GERNANDT, A.,Decentralized Trusted Timestamping using Crypto Currency Bitcoin,arXiv.org,arXiv:1502.04015,[online],2015年02月13日,pp.1-6,https://arxiv.org/abs/1502.04015,[2020年6月3日検索]

Also Published As

Publication number Publication date
CN110582747A (zh) 2019-12-17
US10659239B2 (en) 2020-05-19
GB2575952A (en) 2020-01-29
US20190222428A1 (en) 2019-07-18
US10320574B2 (en) 2019-06-11
WO2018203121A1 (en) 2018-11-08
CN110582747B (zh) 2023-06-27
DE112017007510T5 (de) 2020-03-19
GB201916747D0 (en) 2020-01-01
US20180323979A1 (en) 2018-11-08
US10511452B2 (en) 2019-12-17
JP2020522152A (ja) 2020-07-27
US20180323980A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
JP7159202B2 (ja) 公開されている科学研究のためにブロックチェーンを形成するコンピュータ実装方法、システムおよびコンピュータ・プログラム製品(公開科学研究のためのブロックチェーン)
US11372997B2 (en) Automatic audit logging of events in software applications performing regulatory workloads
US9544327B1 (en) Prioritizing security findings in a SAST tool based on historical security analysis
US9886670B2 (en) Feature processing recipes for machine learning
US10102480B2 (en) Machine learning service
US11321305B2 (en) Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain
US20180121320A1 (en) Analysis to check web api code usage and specification
US10691822B1 (en) Policy validation management
Pichan et al. Towards a practical cloud forensics logging framework
US20210112101A1 (en) Data set and algorithm validation, bias characterization, and valuation
Bakhshi Forensic of things: Revisiting digital forensic investigations in internet of things
US12015691B2 (en) Security as a service for machine learning
Mayer et al. A quantitative study on the re-executability of publicly shared scientific workflows
Routray et al. Secure storage of electronic medical records (EMR) on interplanetary file system (IPFS) using cloud storage and blockchain ecosystem
Didone et al. Forensic as a service-FaaS
WO2022195848A1 (ja) 分析条件生成装置、分析システム、分析条件生成プログラム、分析プログラム、分析条件生成方法、及び分析方法
TW201546629A (zh) 語意限制技術
Undavia et al. Security issues and challenges related to Big Data
Tapas et al. Transparent, provenance-assured, and secure software-as-a-service
US20230027115A1 (en) Event-based record matching
Oo Forensic Investigation on Hadoop Big Data Platform
US20220358371A1 (en) Digital transaction ledger with dna-related ledger parameter
US20230385275A1 (en) Identifying and processing poly-process natural language queries
Padrón Núñez Biometric work attendance management and logging with a blockchain system
Basso et al. On the use of emerging decentralised technologies for supporting software factories coopetition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R150 Certificate of patent or registration of utility model

Ref document number: 7159202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150