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

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

▶ シーメンス アクチエンゲゼルシヤフトの特許一覧

特許7065956機器を制御および/またはモニターするための方法および制御システム
<>
  • 特許-機器を制御および/またはモニターするための方法および制御システム 図1
  • 特許-機器を制御および/またはモニターするための方法および制御システム 図2
  • 特許-機器を制御および/またはモニターするための方法および制御システム 図3
  • 特許-機器を制御および/またはモニターするための方法および制御システム 図4
  • 特許-機器を制御および/またはモニターするための方法および制御システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-28
(45)【発行日】2022-05-12
(54)【発明の名称】機器を制御および/またはモニターするための方法および制御システム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220502BHJP
【FI】
H04L9/32 200Z
H04L9/32 100B
【請求項の数】 24
(21)【出願番号】P 2020521285
(86)(22)【出願日】2018-10-22
(65)【公表番号】
(43)【公表日】2021-01-07
(86)【国際出願番号】 EP2018078902
(87)【国際公開番号】W WO2019081434
(87)【国際公開日】2019-05-02
【審査請求日】2020-06-18
(31)【優先権主張番号】17197791.1
(32)【優先日】2017-10-23
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18000033.3
(32)【優先日】2017-10-23
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18152750.8
(32)【優先日】2018-01-22
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18000379.0
(32)【優先日】2018-01-22
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18162189.7
(32)【優先日】2018-03-16
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18167956.4
(32)【優先日】2018-04-18
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2018/059891
(32)【優先日】2018-04-18
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2018/060900
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18174922.7
(32)【優先日】2018-05-29
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2018/071065
(32)【優先日】2018-08-02
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2018/071066
(32)【優先日】2018-08-02
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】390039413
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
(74)【代理人】
【識別番号】110003317
【氏名又は名称】特許業務法人山口・竹本知的財産事務所
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】イエッツフェルナー,トーマス
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2001-255953(JP,A)
【文献】米国特許出願公開第2017/0279818(US,A1)
【文献】独国特許発明第102011018878(DE,B3)
【文献】特表2006-524377(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/64
G06F 21/50-21/57
(57)【特許請求の範囲】
【請求項1】
分散型データベースシステム用の、または機器御またはモニターの少なくとも一方を行うように構成された制御システムであって、分散型データベースシステムを有する制御システム用のマーキングモジュール(110)であって、
制御命令の受信または読み出しのための第1のインタフェース(810)と
応する制御命令が実行要件を満足すると判定した場合に、前記実行要件に基づいて、その都度マーキングデータセットの1つ、前記制御命令のそれぞれに割り当てるように構成された第1の評価ユニット(820)と、を備え、
前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、前記分散型データベースシステムのノードによって、または機器によって実行可能であり、
前記マーキングデータセットのそれぞれ1つが割り当てられていない前記制御命令は、前記ノードまたは前記機器によって実行不能であり、
前記対応する制御命令は、前記ノードまたは前記機器の実行に対応し、
前記実行要件には、機器特有の要件または前記制御命令の前に実行される提制御命令の少なくとも一方が格納されており
前記制御命令のそれぞれを制御トランザクションに格納するための第1のメモリモジュール(130)を備え、
前記制御トランザクションは、前記分散型データベースシステム(BC)のデータブロック(B)に格納され、
前記制御命令は、前記制御命令が前記分散型データベースシステムの1つの機器または1つのノードによって実行可能である場合に、割り当てられた前記マーキングデータセットのそれぞれと共に、前記制御トランザクションに格納される、
ことを特徴とするマーキングモジュール。
【請求項2】
請求項に記載のマーキングモジュール(110)において、
前記マーキングモジュール(110)は、第1の分解モジュールを備え、
前記第1の分解モジュールは、1つの命令シーケンスを前記対応する制御命令に分解するように構成されており
前記対応する制御命令は、たとえば前記制御システムまたは前記マーキングモジュールに提供される、
ことを特徴とするマーキングモジュール。
【請求項3】
請求項またはに記載のマーキングモジュール(110)において、
前記マーキングモジュール(110)は、アクティビティモジュールを備え、
前記アクティビティモジュールは、前記マーキングモジュールのアクティビティを表示または記録するように構成されている
ことを特徴とするマーキングモジュール。
【請求項4】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記マーキングモジュールはコンフィギュレーションメモリを備え、当該コンフィギュレーションモリは、前記機器に関する機器特有のデータ前記ノードに関する機器特有のデータまたは前記機器特有の要件の少なくともいずれか1つを備えることを特徴とするマーキングモジュール。
【請求項5】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記マーキングモジュールは、前記機器特有の要件を設定するように構成された管理インタフェースを備えることを特徴とするマーキングモジュール。
【請求項6】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記マーキングモジュールは、前記機器に関する機器特有のデータまたは前記ノードに関する機器特有のデータを収集するように構成された収集ユニットを備えることを特徴とするマーキングモジュール。
【請求項7】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記マーキングモジュールは、分散型データベースシステムの1つのノード、または機器として形成されていることを特徴とするマーキングモジュール。
【請求項8】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記マーキングモジュールは、前記マーキングデータセットを前記制御命令に対して割り当てるように構成された第1の割り当てモジュールを備えることを特徴とするマーキングモジュール。
【請求項9】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記第1の評価ユニットは、前記実行に対する前記実行要件を、前記機器特有の要件または前記提制御命令の少なくとも一方と、機器特有のデータまたは既に実行された制御命令の少なくとも一方とに基づいて決定し、
前記実行要件は、前記機器特有の要件または前記提制御命令の少なくとも一方と、機器特有のデータまたは既に実行された制御命令の少なくとも一方との比較の結果に依存して決定される、
ことを特徴とするマーキングモジュール。
【請求項10】
請求項乃至のいずれか1項に記載のマーキングモジュール(110)において、
前記第1の評価ユニットは、前記分散型データベースシステムの1つのノードまたは1つの機器による前記制御命令の実行可能性に基づいて、前記実行に対する前記実行要件を決定し、
特に前記実行要件は、前記分散型データベースシステムの1つのノードまたは1つの機器による制御命令の実行可能性のチェックの結果に依存して決定される、
ことを特徴とするマーキングモジュール。
【請求項11】
請求項乃至10のいずれか1項に記載のマーキングモジュール(110)において
記制御トランザクションは、前記データブロック(B)を用いて、前記機器(D、BCN_D)または前記ノードに転送されるか、あるいは前記制御トランザクションは、前記分散型データベースシステムを用いて前記機器(D,BCN_D)または前記ノード(BCN,BCN_D)に転送され
とを特徴とするマーキングモジュール。
【請求項12】
機器御またはモニターの少なくとも一方を行うように構成された制御システムであって、
分散型データベースシステム(BC)を備え
応する制御命令が実行要件を満足すると判定した場合に、前記実行要件に基づいて、その都度マーキングデータセットの1つ、制御命令に割り当てるように構成された第1のマーキングモジュール(110)を備え、
前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、前記分散型データベースシステム(BC)のノード(BCN,BCN_D)によってまたは機器(D,BCN_D)によって実行可能であり、
前記マーキングデータセットのそれぞれ1つが割り当てられていない前記制御命令は、前記ノードまたは前記機器によって実行不能であり、
前記対応する制御命令は、前記ノードまたは前記機器の実行に対応し、
前記実行要件には、機器特有の要件または前記制御命令の前に実行される提制御命令の少なくとも一方が格納されており、
前記マーキングモジュールは、請求項乃至11のいずれか1項に記載のマーキングモジュールであり、
前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するための第1のメモリモジュール(130)を備え、
前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に転送される、
ことを特徴とする制御システム。
【請求項13】
請求項12に記載の制御システムにおいて、
前記前提制御命令は既に実行されている制御命令であり、当該制御命令に対して当該制御命令の実行に関する確認が、前記分散型データベースシステムの(データブロックの)確認トランザクションに格納されていることを特徴とする制御システム。
【請求項14】
請求項12または13に記載の制御システムにおいて、
前記分散型データベースシステムは、ブロックチェーンであり、そしてデータブロックを備え、
前記データブロックは前記ブロックチェーンのブロックである、
ことを特徴とする制御システム。
【請求項15】
請求項12乃至14のいずれか1項に記載の制御システムにおいて、
前記マーキングデータセットは、前記対応する制御命令を実行することになる前記機器またはノードの少なくとも一方に対する固有の識別子を備えることを特徴とする制御システム。
【請求項16】
請求項12乃至15のいずれか1項に記載の制御システムにおいて、
データブロックが1つの暗号学的ハッシュ関数(H)を介して互いにチェーニングされていることを特徴とする制御システム。
【請求項17】
請求項12乃至16のいずれか1項に記載の制御システムにおいて、
前記制御システムは、前記制御命令に前記マーキングモジュールの1つが割り当てられているか否かを判定するように構成された第1のチェックモジュール、前記制御命令に前記マーキングモジュールの1つが割り当てられていると判定されると、前記制御命令を実行するように構成された第1の実行モジュール、または前記制御命令の実行の結果を前記分散型データベースシステムの確認トランザクションに格納するように構成された第2のメモリモジュールの少なくともいずれか1つを備えることを特徴とする制御システム。
【請求項18】
請求項12乃至17のいずれか1項に記載の制御システムにおいて、
前記制御システムまたは前記マーキングモジュール(110)は、アクティビティモジュールを備え、
前記アクティビティモジュールは、前記ノードまたは前記マーキングモジュールの少なくとも一方のアクティビティを表示または記録するように構成されている
ことを特徴とする制御システム。
【請求項19】
コンピュータにより実行される、制御命令のマーキングのための方法であって、
制御命令を受信するステップ(510)または読み出すステップと、
対応する制御命令が実行要件を満足するか否かを判定するステップと、
前記対応する制御命令が前記実行要件を満足する場合に、前記実行要件に基づいて、その都度マーキングデータセットの1つ、前記制御命令に割り当てるステップ(520)と、を備え、
前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステムのノードによってまたは機器によって実行可能であり、
前記マーキングデータセットのそれぞれ1つが割り当てられていない前記制御命令は、前記ノードまたは前記機器によって実行不能であり、
前記対応する制御命令は、前記ノードまたは前記機器の実行に対応し、
前記実行要件には、機器特有の要件または前記制御命令の前に実行される提制御命令の少なくとも一方が格納されており
前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するステップを備え、
前記制御トランザクションは、前記分散型データベースシステムに格納される、
ことを特徴とする方法。
【請求項20】
コンピュータにより実行される、機器の制御のための方法であって、
対応する制御命令が実行要件を満足するか否かを判定するステップと、
前記対応する制御命令が前記実行要件を満足する場合に、前記実行要件に基づいて、その都度マーキングデータセットの1つ、制御命令に割り当てるステップを備え、
前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードによってまたは機器によって実行可能であり、
前記マーキングデータセットのそれぞれ1つが割り当てられていない前記制御命令は、前記ノードまたは前記機器によって実行不能であり、
前記対応する制御命令は、前記ノードまたは前記機器の実行に対応し、
前記実行要件には、機器特有の要件または前記制御命令の前に実行される提制御命令の少なくとも一方が格納されており、
前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するステップを備え、
前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に転送される、
ことを特徴とする方法。
【請求項21】
請求項19または請求項20に記載の方法を実行するためのプログラム命令を備えたコンピュータプログラム。
【請求項22】
前記プログラム命令は、前記分散型データベースシステムの1つのスマートコントラクトであることを特徴とする、請求項21に記載のコンピュータプログラム。
【請求項23】
請求項21または22に記載のコンピュータプログラムの提供装置であって、前記提供装置は前記コンピュータプログラム納または提供の少なくとも一方を行うことを特徴とする提供装置。
【請求項24】
分散型データベースシステムから制御トランザクションを受信するように構成された第1の通信モジュールであって、
前記制御トランザクションは、機器に対する制御命令と共に、前記分散型データベースシステムに格納されており、
前記制御トランザクションは、前記制御命令に割り当てられたマーキングデータセットを含む、
第1の通信モジュールと、
前記制御命令の実行に対応する機器によって前記制御トランザクションの1つでの前記制御命令を実行するため、それぞれのマーキングデータセットが存在するか否かをチェックする第1のチェックモジュールと、
前記チェックの結果に基づいて、前記対応する機器によって前記制御命令を実行する第1の実行モジュールと、
前記制御命令の実行の結果を前記分散型データベースシステムの確認トランザクションに格納するように構成された第2のメモリモジュールと、
を有する機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器を制御および/またはモニターするための方法および制御システムに関する。
【0002】
フィールド機器および製造機器のような機器は、ますます緊密にネットワーク化され、たとえば様々なオペレータによって提供/オペレーションされ得る。これらの機器にはしばしば、これらの機器によって実行され得る命令シーケンスが転送される。この際の欠点は、機器からなる異種ネットワークにおける命令シーケンスを、様々なオペレータによって処理することが制御しにくいということである。
【0003】
本発明の課題は、既知の方法に対する代替手段を従来技術から見出すことである。
【0004】
この課題は、独立請求項に記載の特徴により解決される。従属請求項には、本発明の有利な構成形態および発展形態が示されている。
【0005】
ブロックチェーンあるいは「分散型台帳」の技術は、特に分散型データベースシステムとして実現できるものとして、現在盛んに議論されている技術である。非集中型の支払いシステム(たとえばビットコイン)への利用の他に、金融業界においては新しいアプリケーション方法が開発されている。これにより特に企業間のトランザクションを、仲介者あるいは清算機関を用いずに不正操作に対する保護を行って実現することができる。これは信頼できる仲介者を必要としない新しいビジネスモデルを可能とし、トランザクションコストを低減し、そして新たなデジタルサービスを柔軟に提供することができ、このために特別に構築されるインフラストラクチャおよび信用関係を用意する必要はない。ブロックチェーンにより保護されたトランザクションデータセット(あるいはトランザクションと略称)は、たとえばプログラムコードを備え、これはいわゆる「スマートコントラクト」とも称されることもある。
【0006】
第1の態様によれば、本発明は、機器の制御および/またはモニターするための制御システムであって、
- 分散型データベースシステム(BC)を備え、
- 前記分散型データベースシステムは、複数のノード(BCN,BCN_D)を備え、ここでノード(BCN,BCN_D)および機器(D,BCN_D)は、第1の通信ネットワーク(NW1)を介して互いに接続されており、
- マーキングデータセットを割り当てるための第1のマーキングモジュール(110)を備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、前記分散型データベースシステム(BC)の前記ノード(BCN,BCN_D)によってまたは前記機器(D,BCN_D)によって実行可能であり、
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されており、
- 前記マーキングモジュールは、特に本発明によるマーキングモジュールであり、
- 前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するための第1のメモリモジュール(130)を備え、ここで
- 前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
- 前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に転送される。
【0007】
以下では特に記載していない限り、「実行する」、「計算する」、「コンピュータを利用した」、「演算する」、「確定する」、「生成する」、「コンフィギュレーションする」、「再構成する」、等の用語は、好ましくはデータを変更するおよび/または生成する、およびまたはデータを別のデータに変換する操作および/またはプロセスおよび/または処理ステップのことを意味し、ここでこれらのデータは、たとえば電気インパルスのように、特に物理的なパラメータとして表されあるいは存在し得る。特に「コンピュータ」なる表現は、できるかぎり広く解釈されるべきであり、特にデータ処理機能を有する全ての電子機器を包含するものである。こうしてコンピュータは、パソコン、サーバー、プログラマブル論理制御装置(SPS: speicherprogrammable Steuerungen)、ポータブルコンピュータシステム、ポケットPC、モバイル通信機器、およびコンピュータを利用してデータを処理することが可能な他の通信機器、プロセッサおよびデータ処理用の他の電子機器であってよい。
【0008】
「コンピュータを利用した」とは、本発明に関してはたとえば、特にプロセッサが本方法の少なくとも1つの方法ステップを実行するように、本方法を実装することであると理解されてよい。
【0009】
プロセッサとは、本発明に関しては、たとえば1つのマシンまたは電子回路のことであると理解されてよい。プロセッサは、特に1つの中央処理装置(英語でCentral Processing Unit, CPU)、マイクロプロセッサ、またはマイクロコントローラであってよく、たとえば、場合により複数のプログラム命令を格納するためのメモリユニットと組み合わせた、1つの特定用途向け集積回路またはデジタルシグナルプロセッサ、等であってよい。プロセッサは、たとえば1つのIC(集積回路、英語でIntegrated Circuit)、特にFPGA(英語でField Programmable Gate Array)、またはASIC(特定用途向け集積回路、英語でApplication-Specific Integrated Circuit)、またはDSP(デジタルシグナルプロセッサ、英語でDigital Signal Processor)、またはグラフィックプロセッサGPU(Graphic Processing Unit)であってよい。プロセッサとは、1つの仮想的プロセッサ、仮想マシン、またはソフトCPUのことであると理解されてよい。これはたとえば、1つのプログラマブルなプロセッサであってもよく、このプロセッサは、コンフィギュレーションステップを用いて上述の本発明による方法を実行するために準備されてよく、すなわちコンフィギュレーションステップを用いて、このプログラマブルなプロセッサが本発明による方法、コンポーネント、モジュール、または本発明の他の態様および/または部分態様の特徴を実現するようにコンフィギュレーションされていてよい。
【0010】
「メモリユニット」または「メモリモジュール」等は、本発明に関してはたとえば、メインメモリとしての揮発性メモリ(英語でRandom-Access Memory, RAM)、あるいはハードディスクまたはデータ媒体のような永久メモリであると理解されてよい。
【0011】
「モジュール」とは、本発明に関してはたとえば、1つのプロセッサであると理解されてよく、および/またはプログラム命令を格納するための1つのメモリユニットであると理解されてよい。たとえば、このプロセッサが、本発明による方法または本発明による方法の1つのステップを実装あるいは実現するために動作を実行するように、このプロセッサは特別に、これらのプログラム命令を実行するために設けられている。
【0012】
モジュールは、分散型データベースシステムの1つのノードであってもよく、このノードは、たとえば対応するモジュールの特定の機能/特徴を実現する。それぞれのモジュールはたとえば、分離された、あるいは独立したモジュールとして形成されていてもよい。このため対応するモジュールは、たとえばさらなる素子を備えてよい。これらの素子は、たとえば1つ以上のインタフェース(たとえばデータベースインタフェースや通信インタフェース、たとえばネットワークインタフェース、WLANインタフェース)および/または1つの評価ユニット(たとえばプロセッサ)および/または1つのメモリユニットである。これらのインタフェースを用いて、たとえばデータを交換(たとえば受信、転送、送信または提供)することができる。この評価ユニットを用いて、データを、たとえばコンピュータを利用して、および/または自動的に比較、チェック、処理、割り当て、または計算することができる。このメモリユニットを用いてデータを、たとえばコンピュータを利用して、および/または自動的に格納、読み出し、または提供することができる。
【0013】
「備える」とは、特にデータおよび/または情報に関してはたとえば、本発明に関してはたとえば1つの対応する情報を(コンピュータを利用して)格納すること、あるいは1つの対応するデータを1つのデータ構造/データセット(これらはたとえばまたメモリユニットに格納されている)に格納することであると理解されてよい。
【0014】
「割り当てる」とは、特にデータおよび/または情報に関してはたとえば、本発明に関してはたとえばデータおよび/または情報をコンピュータを利用して割り当てることであると理解されてよい。たとえばこのため1つのメモリアドレスまたは固有の識別子(英語でunique identifier (UID))を用いて、第1のデータに第2のデータが割り当てられ、ここでたとえばこの第1のデータがこの第2のデータのメモリアドレスまたは固有の識別子と共に1つのデータセットに格納される。
【0015】
「提供する」とは、特にデータおよび/または情報に関してはたとえば、本発明に関してはたとえばコンピュータを利用して提供することであると理解されてよい。この提供は、たとえば1つのインタフェース(たとえばデータベースインタフェース、ネットワークインタフェース、メモリユニットへのインタフェース)を介して行われる。このインタフェースを介して、たとえばこの提供の際に、対応するデータおよび/または情報を転送および/または送信および/または読み出しおよび/または受信することができる。
【0016】
「提供する」とは、特にデータおよび/または情報に関してはたとえば、本発明に関しては、たとえば対応するデータを有する1つのトランザクションを、たとえばロードする、または格納することであると理解されてもよい。これはたとえばメモリモジュールで、またはメモリモジュールによって行われてよい。 「提供する」とは、たとえば対応するデータをブロックチェーンまたは分散型データベースシステム(あるいはそのインフラストラクチャ)の1つのノードから1つの別のノードへ転送(または送信または伝送)することであると理解されてもよい。
【0017】
「スマートコントラクトプロセス」とは、本発明に関しては特に、1つのプロセスにおける(たとえば制御命令の)1つのプログラムコードを、分散型データベースシステムあるいはそのインフラストラクチャによって実行することであると理解されてよい。
【0018】
「チェックサム」、たとえばデータブロックチェックサム、データチェックサム、ノードチェックサム、トランザクションチェックサム、チェーニングチェックサム(Verkettungspruefsumme)、等は、本発明に関しては、たとえば1つの暗号学的チェックサムまたは暗号学的ハッシュあるいは暗号学的ハッシュ値のことであると理解されてよく、これらは特に1つの暗号学的ハッシュ関数を用いて1つのデータセットおよび/またはデータおよび/または1つ以上のトランザクションおよび/または1つのデータブロックの1つの部分領域(たとえばブロックチェーンの1つのブロックのブロックヘッダ、または分散型データベースシステムの1つのデータブロックのデータブロックヘッダまたは1つのデータブロックの一部のトランザクションのみ)に対して形成または計算される。チェックサムは特に、1つのハッシュツリー(たとえばマークルツリー、パトリシアツリー)の1つのチェックサムまたは複数のチェックサムあるいは1つのハッシュ値または複数のハッシュ値であってよい。さらにこのチェックサムは、デジタル署名または暗号学的情報認証コードのことであると理解されてもよい。これらのチェックサムを用いて、たとえばデータベースシステムの様々なレベル上で、トランザクションおよびこれらに格納されているデータに対する暗号学的保護/不正操作に対する保護を実現することができる。たとえば高いセキュリティが要求されている場合は、たとえばこれらのチェックサムはトランザクションレベルで生成され、そしてチェックされる。それほど高いセキュリティが要求されていない場合は、たとえばこれらのチェックサムは、ブロックレベルで(たとえばデータブロック全体に関して、またはこのデータブロックの一部および/または一部のトランザクションに関してのみ)生成され、そしてチェックされる。
【0019】
「データブロックチェックサム」とは、本発明に関しては、たとえば1つのデータブロックの一部またはすべてのトランザクションに関して計算される1つのチェックサムのことであると理解されてよい。ここで1つのノードはたとえば1つのデータブロックの対応する部分の完全性/真正性を、このデータブロックチェックサムを用いてチェック/確定することができる。追加的にまたは代替として、このデータブロックチェックサムは、特にこのデータブロックの1つの先行するデータブロック/先行データブロックのトランザクションに関して形成されていてもよい。この際これらのデータブロックチェックサムは、特に1つのハッシュツリー、たとえばマークルツリー(参考文献[1]:参考文献[1]~[9]は本明細書最後に記載)またはパトリシアツリーを用いて具体化することができ、ここでこのデータチェックサムは、特にマークルツリーあるいはパトリシアツリーあるいはバイナリハッシュツリーのルートチェックサムである。特にトランザクションは、マークルツリーあるいはパトリシアツリーからのさらなるチェックサムを用いて(たとえばトランザクションチェックサムを用いることで)保護され、ここで特にこれらのさらなるチェックサムは、マークルツリーあるいはパトリシアツリーにおけるリーフである。これによりこれらのデータブロックチェックサムは、たとえばこれらのトランザクションを保護することができ、ここでこれらのさらなるチェックサムからルートチェックサムが形成される。これらのデータブロックチェックサムは特に、これらのデータブロックの1つの特定のデータブロックのトランザクションに対して計算されてよい。特に、1つのこのようなデータブロックチェックサムは、この特定のデータブロックの後続の1つのデータブロックに取り込むことができ、この後続のデータブロックをたとえばその先行するデータブロックにチェーニングし、そしてこれにより特に分散型データベースシステムの完全性をチェック可能とする。こうしてこのデータブロックチェックサムは、たとえばチェーニングチェックサムの機能を継承することができ、すなわちこのチェーニングチェックサムに取り込むことができる。1つのデータブロック(たとえば1つの新たなデータブロックまたはデータブロックチェックサムが形成されたデータブロック)のヘッダは、たとえばこのデータブロックチェックサムを備えてよい。
【0020】
「トランザクションチェックサム」とは、本発明に関しては特に、1つのデータブロックの1つのトランザクションに関して形成される1つのチェックサムのことであると理解されてよい。追加的に、たとえば1つの対応するデータブロックに対する1つのデータブロックチェックサムの計算を加速することができるが、これはこのために、たとえば既に計算されたトランザクションチェックサムをすぐにたとえばマークルツリーのリーフとして用いることができるからである。
【0021】
「チェーニングチェックサム」とは、本発明に関しては、特に分散型データベースシステムのそれぞれのデータブロックに対し先行するこの分散型データブロックシステムのデータブロックを示すあるいは参照するチェックサム(特に技術文献ではしばしば「前のブロックハッシュ値」と呼ばれる)のことであると理解されてよい(参考文献[1])。このため特に、対応する先行するデータブロックに対して、1つの対応するチェーニングチェックサムが形成される。チェーニングチェックサムとしてたとえば、1つの新たなデータブロックをこの分散型データベースシステムの1つのデータブロック(すなわち分散型データベースシステムの現在のデータブロック)にチェーニングするために、1つの(現在の)データブロックのトランザクションチェックサムまたはデータブロックチェックサムが用いられてよい。しかしながらたとえば、先行するデータブロックのヘッダに関するチェックサムまたは先行するデータブロック全体に関するチェックサムが計算され、そしてチェーニングチェックサムとして用いられることも可能である。これはたとえば、複数のまたは全ての先行するデータブロックに対して計算されてもよい。たとえば1つのデータブロックのヘッダおよびこのデータブロックチェックサムに関して、このチェーニングチェックサムを形成することも実現可能である。しかしながら分散型データベースシステムのそれぞれのデータブロックは、好ましくはそれぞれ1つのチェーニングチェックサムを備え、このチェーニングチェックサムは、特にさらに好ましくは、それぞれのデータブロックの直前に先行するデータブロックに対して計算されあるいはこれに関係付けられる。たとえば1つの対応するチェーニングチェックサムが、対応するデータブロック(たとえば先行するデータブロック)の一部分のみに関して形成されることも可能である。これよりたとえば、完全性が保護された部分および保護されていない部分を備える1つのデータブロックを実現することができる。これによりたとえば、その完全性が保護された部分が変更できないように、そしてその保護されていない部分が後でも変更することができるような、1つのデータブロックを実現することができる。ここで完全性が保護されているとは、特に、完全性が保護されたデータの変更がチェックサムを用いて確認可能であることであると理解される。
【0022】
たとえば1つのデータブロックの1つのトランザクションに格納されるデータは特に、様々な態様で提供することができる。これらのデータ、たとえば資産に対する測定データまたはデータ/資産状況のようなユーザーデータの代わりに、たとえば1つのデータブロックの1つのトランザクションがこれらのデータに対するチェックサムのみを備えてよい。この際対応するこのチェックサムは、様々なやり方で実現することができる。これはたとえば、1つの別のデータベースまたは上記の分散型データベースシステムの(対応するデータを有する)1つのデータブロックの、1つの対応するデータブロックチェックサムであり得、(この分散型データベースシステムまたは別のデータベースの)対応するデータブロックの1つのトランザクションチェックサム、またはこれらのデータに関して形成された1つのデータチェックサムであり得る。
【0023】
追加的に、この対応するトランザクションはさらに、1つの格納場所(たとえば1つのファイルサーバのアドレスおよびこれらの対応するデータをこのファイルサーバ上でどこで見つけられるかの情報、またはこれらのデータを備える1つの別の分散型データベースのアドレス)へのリンクまたは情報を備えてよい。この際これらの対応するデータは(たとえばこれらの対応するデータおよびこれらに付随するチェックサムが異なるデータブロックに備えられている場合には)、たとえばこの分散型データベースシステムのもう1つのデータブロックのもう1つのトランザクションにも提供されてよいであろう。しかしながらたとえば、これらのデータが1つの別の通信チャネル(たとえば1つの別のデータベースおよび/または暗号学的に保護されている1つの通信チャネルを介して)提供されることも可能である。
【0024】
たとえばチェックサムに加えて、対応するトランザクションに追加データセット(たとえば格納場所へのリンクまたは情報)が置かれてよく、この追加データセットは特に、これらのデータを読み出すことができる格納場所を示す。これは特にブロックチェーンまたは分散型データベースシステムのデータサイズを出来る限り小さくしておくために有利である。
【0025】
「セキュリティ保護された」とは、本発明に関しては、たとえば特に、1つの暗号学的な方法によって実現される保護のことであると理解されてよい。たとえばこれは、対応するデータ/トランザクションの提供または転送用に分散型データベースシステムを利用することによって実現することができる。これは好ましくは異なる(暗号学的な)チェックサムの組み合わせによって達成され、ここでこれらのチェックサムは、特に相乗的に協働し、たとえばトランザクションのデータに対するセキュリティあるいは暗号学的セキュリティを改善する。換言すれば、「セキュリティ保護された」とは、本発明に関しては、「暗号学的に保護された」および/または「不正操作に対し保護された」と理解されてよく、ここで「不正操作に対し保護された」とは「完全性保護された」と表現されてもよい。
【0026】
「分散型データベースシステムのデータブロックのチェーニング」とは、本発明に関しては、たとえばデータブロックがそれぞれ1つの情報(たとえばチェーニングチェックサム)を備えることであると理解されてよく、これらのデータブロックは、この分散型データベースシステムの1つの別のデータブロックまたは複数の別のデータブロックをリンク付けあるいは参照する(参考文献[1][4][5])。
【0027】
「分散型データベースシステムに挿入する」等とは、本発明に関しては、たとえば特に、1つのトランザクションあるいは複数のトランザクションが、または1つのデータブロックがその複数のトランザクションと共に、1つの分散型データベースシステムの1つ以上のノードに転送されることであると理解されてよい。たとえばこれらのトランザクションの(たとえばこれらのあるいはこのノードによる)検証が成功すると、これらのトランザクションは特に、新たなデータブロックとして、この分散型データベースクシステムの少なくとも1つの現在のデータブロックにチェーニングされる(参考文献[1][4][5])。このため対応するトランザクションは、たとえば1つの新たなデータブロックに格納される。特にこの検証および/またはチェーニングは1つの信頼できるノード(たとえばマイニングノード、ブロックチェーンオラクル、またはブロックチェーンプラットフォーム)によって行うことができる。この際特に、ブロックチェーンプラットフォームとは、特にマイクロソフトまたはIBMによって提案されているように、サービスとしてのブロックチェーン(英語でBlockchain as a Servcie)のことであると理解されてよい。特に1つの信頼できるノードおよび/または1つのノードは、それぞれ1つのノードチェックサム(たとえばデジタル署名)を1つのデータブロックに(たとえばそれによって検証され、生成されたデータブロックで、この後チェーニングされるものに)記録してよく、特にこのデータブロックの生成者の識別可能性、および/またはこのノードの識別可能性を提供する。この際このノードチェックサムは、たとえばどのノードが対応するデータブロックをこの分散型データベースシステムの少なくとも1つの別のデータブロックとチェーニングしたかを示す。
【0028】
「トランザクション」詳細には「トランザクション(複数)」とは、本発明に関しては、たとえば1つのスマートコントラクト(参考文献[4][5])、1つのデータ構造、または特にそれぞれこれらのトランザクションの1つまたは複数のトランザクションを備える1つのトランザクションデータセットのことであると理解されてよい。 「トランザクション」詳細には「トランザクション(複数)」とは、本発明に関しては、たとえば1つのブロックチェーン(英語でBlockchain)の1つのデータブロックの1つのトランザクションのデータのことであると理解されてもよい。1つのトランザクションは、特に1つのプログラムコードを備えてよく、このプログラムコードは、たとえば1つのスマートコントラクトを実現する。本発明に関しては、トランザクションとはたとえば制御トランザクションおよび/または確認トランザクションのことであると理解されてもよい。代替として、トランザクションは、データ(たとえば制御命令)を格納する1つのデータ構造であってよい。1つのトランザクションは特に、たとえば1つのスマートコントラクトを実現する1つのプログラムコードを備えてよい。本発明に関しては、トランザクションとはたとえば制御トランザクションおよび/または確認トランザクションのことであると理解されてもよい。1つの確認トランザクションは、たとえば1つの機器による制御トランザクションの実行が成功した後で、分散型データベースシステムに格納されてよい(たとえばこの機器は、この確認トランザクションをこの分散型データベースシステムに格納する)。1つの確認トランザクションは、たとえば機器の1つによる制御命令の実行に対する確認を備えてよいが、これはこれらの機器の内の1つの対応する機器がこの制御トランザクションの制御命令の実行に成功した場合である。このためこの確認トランザクションは、たとえばこの対応する機器によって生成された、実行された制御命令に関する1つのチェックサム(たとえばトランザクションチェックサム)を備えてよく、および/またはこの実行の確認を備えてよく、この実行も同様にたとえばこのチェックサムによって保護されている。1つの確認トランザクションが、たとえばこの分散型データベースシステムに格納されてもよいが、これはこの機器がこれらの制御命令を部分的に実行する場合および/またはこれらの制御命令の実行を中断する場合である。これはたとえばこれらの制御命令の実行の間に、この機器で、これらの制御命令の実行がもはや不可能となる故障が起こった場合であり得る(たとえば1つのアクチュエータまたは工具で故障が起こった場合)。たとえば1つの別の機器、たとえば実行されないままとなっている制御命令のための実行要件を満足する機器は、ここでこの確認トランザクションに基づいて、対応する制御トランザクションのこれらの実行されていない制御命令を実行することができる。これに対応して、この確認トランザクションは、たとえばこれらの制御命令の実行の程度あるいは実行された部分に関する情報を備えてよい。代替としてまたは追加的に、1つの確認トランザクションは、1つの対応する制御トランザクションの制御命令の実行の成功のためにさらに実行されなければならない制御命令を示してよい。これに対応してたとえば1つの確認トランザクションは1つのデータセットを備えてよく、このデータセットは、どの制御命令がさらに実行されなければならないかを示し、あるいは1つの対応する制御トランザクションの制御命令の実行の成功のためにこれらの制御命令のどれが足りないかを示す。以上により、たとえこれらの制御命令の実行が1つの機器で中断されたとしても、たとえばこれらの制御命令のさらなる処理を行うことができるということを可能とする。これに対応してたとえば実行要件においては、1つより多い機器(たとえば2つまたは3つの機器、またはこれより多い機器)がこれらの実行要件を満足することが要求されていてよく、これにより、たとえば1つの対応する制御トランザクションのこれらの制御命令の実行の間に、たとえ1つの機器が故障したとしても、これらの制御命令を実行することが保証されている。
【0029】
代替として、トランザクションは、データ(たとえば制御命令)を格納する1つのデータ構造であってよい。1つのトランザクションは、たとえばメッセージ(すなわちデータを格納する1つの通信メッセージ)として表現されてもよく、あるいはたとえば対応するデータ(たとえば制御命令)を格納する1つのメッセージであってよい。この結果本発明を用いて、対応するトランザクションまたはメッセージを交換することができる。この際トランザクションは、たとえばこれらの制御命令および/または契約データおよび/または他のデータ、ビデオデータ、ユーザーデータ、測定データ等を備えてよい。
【0030】
「制御命令」または「制御トランザクション」とは、本発明に関しては、たとえば1つのスマートコントラクト(参考文献[4][5])または実行可能なプログラムコードのことであると理解されてよく、このプログラムコードは、特に分散型データベースシステムによって実行され、ここでたとえばこの分散型データベースシステムあるいはそのノードおよびインフラストラクチャは対応する制御命令を処理あるいは実行する。特にこれらの制御命令を用いて、これらの機器/ノードを制御することができる。特にこれらの制御命令、すなわち上記のあるいは1つの制御トランザクションの制御命令を用いて、これらの機器および/またはノードを制御/駆動することができる、あるいは制御/駆動されることになる。特に複数の制御命令または制御トランザクションは、1つ以上のデータブロックから1つの命令シーケンスを生成し、この命令シーケンスは、特に1つの製造施設をこれに付随する製造機械と共に制御し、1つの自動化ネットワークの機器を制御し、または1つの電力供給ネットワークの機器を制御し、または物のインターネットにおける機器を制御する。特にこれらの制御命令または制御トランザクションには(またこれらの命令シーケンスにも)、1つの製品に対する製造指令または製造ステップがコーディングされている。これらの機器(たとえばこの対応する機器)はたとえば1つの技術システムおよび/または産業施設および/または1つの自動化ネットワークおよび/または1つの製造施設の機器および/または物のインターネットにおける機器であり、これらの機器は特に分散型データベースシステムの1つのノードとなっている。この際これらの機器は、たとえばフィールド機器であってよく、特にこれらのフィールド機器は、分散型データベースシステムの1つのノードであってもよい。これらの機器は、たとえば現金自動預け払い機であってもよく、ここでは制御命令は、現金引き出しを行わせる。たとえばこれらの制御命令は1つの命令シーケンスから導出することができ、あるいはこの命令シーケンスから決定することができる。たとえば1つの制御トランザクションは1つ以上の制御命令を備えてよい。たとえば1つの制御トランザクションは1つ以上の制御命令を備えてよい。たとえばこれらの制御命令は機械的運動および/または他の物理量(たとえば圧力または温度)をコーディングし、これらは1つの対応する機器/ノードによって(たとえば1つの対応するアクチュエータによって)これに対応する機械的運動および/またはこれに対応する他の物理量に変換される。これらの制御命令を用いて次に、たとえば機器および/またはノードのアクチュエータが制御される。これに対応して1つの対応する機器/ノードはたとえば1つのアクチュエータを備える。1つの機器/ノードがたとえば1つのロボットである場合には、アクチュエータはエフェクターとも表現されるであろう。1つの機器は、たとえば1つのメカトロニクスの機器またはシステムであってもよく、ここで1つのメカトロニクス機器/システムは1つのアクチュエータおよび/または1つの直線運動機器である。直線運動機器は、たとえば変位動作を実行するための1つの機器である。対応する機器は、たとえば1つの駆動系であってもよい。これらの制御命令およびこれらの機器および/またはノードを用いて、たとえば1つの制御ループが調整および/または制御されてもよく、ここでたとえば実行されたこれらの制御命令に対する確認トランザクションがこの制御システムによって評価され、そして対応する制御命令がこれらの確認トランザクションへの反応として生成される。これらの新たな制御命令に対して、次にたとえば再び対応する実行要件が決定され、そしてこれらの実行要件は次に再びたとえば制御トランザクションに格納され、これによってこれらの制御トランザクションを、本発明で説明されているように、対応する機器によって実行することができる。これらの制御命令はたとえば暗号学的な機器および/または方法を制御するための制御命令であってもよい(たとえばユーザー認証またはユーザー確認であってよい)。
【0031】
制御命令とは、たとえばデータベースからのあるいはデータベースシステムの命令シーケンスまたはトランザクションのことであると理解されてもよく、これらの制御命令は、分散型データベースシステムの機器またはノードによって実行されることになる。このデータベースシステムは、たとえば分散型データベースシステムであってよいが、これはたとえばまだ全く実行要件が付与あるいは割り当てられていないトランザクションがある場合である。代替としてまたは追加的に、このデータベースシステムは、1つの別のデータベース、たとえば従来の階層型データベースであってよく、このデータベースから対応するトランザクションが読み出されてよい。制御命令とはたとえば、入力システムによって提供され、分散型データベースシステムによって実行されることになる、命令シーケンスまたはトランザクションのことであると理解されてもよい。制御命令とはたとえば、これらを用いて機械的なおよび/または電気的なおよび/または電気機械的なおよび/または電子的な機器が制御される、命令シーケンスまたは制御命令のことであると理解されてよい。
【0032】
「機器特有の要件」とは、本発明に関しては、たとえば1つの特定の機器、たとえば1つの固有の識別子によって規定されている機器、所定の制御動作を実行できる機器(たとえば金属部品を溶接できる製造ロボット、所定の塗料を製造部品に塗布できる塗装ロボット、変電所で電気的接続を自動的に生成する機器)、または製造ステップあるいは製造命令を所定の精度および/または速度で実行する機器(たとえば旋盤、フライス盤、切断機)のことであると理解されてよい。代替としてまたは追加的に、「機器特有の要件」は、制御命令を実行するかまたは処理するために事前に設定されている特定の機器クラスを前提としてもよい。この際特に機器クラスとは、たとえば特定の事前に設定された動作を実行するようになっている(たとえば特定の材料を切削するまたはのこぎり切断する)1つ以上の機器(たとえば切削盤またはのこ盤)のことであると理解される。特にこれらの機器特有の要件は、制御命令を実行するための対応する機器および/またはノードに設定される要件である。これらの機器特有のデータまたは機器特性はこうして、たとえば1つの機器の実際のおよび/または現在の機器特有のデータまたは機器特性に対応している。たとえば1つの機器あるいは1つの製造機械が制御命令が、たとえば機器特有の要件で事前に設定されている所定の精度で実行するようになっているかどうかチェックされる。特に機器特有の要件は、機械加工的および/または電気機械的なおよび/または製造特有な要件と表現されてもよい。特に機器特有のデータまたは機器特性は、機械加工のおよび/またはメカトロニクスのおよび/または製造特有のデータまたは機器特性と表現されてもよい。特に機器特有のデータまたは機器特性は、機器情報と表現されてもよい。特にこれらの機器特有の要件は、1つの機器の機器特有のデータによって満足されることになる要件を規定する。換言すればこれらの機器特有の要件は、1つの「目標」値を規定し、この目標値は、これらの機器によって「実際」の値と合わせられる。ここでこれらの機器特有のデータは、特に現在の機器特性を表している。これらの機器特性/機器特有のデータは、たとえば1つの機器あるいは1つのシステムのUID、使用可能な工具またはサポートされている製造方法(フライス加工、切削または3Dプリント)、製造精度、製造コスト、機器の設置場所、この機器の応答/駆動のためのネットワークアドレス、権限のあるユーザー、等を備える。
【0033】
これらの機器特有の要件は、たとえばセキュリティ要件または場所に関連した要件(たとえば国情報、GPS情報、または郵便番号(PLZ:Postleitzahl)であってもよく、これらは制御命令を実行するために1つの機器が満足しなければならない。たとえばこの機器が所定のセキュリティ要件を備えなければならないこと、またはこの機器で制御命令の実行のためにさらに、1つの特定の認証あるいは所定の認証、および/または確認が必要であることが要求されていてよい。これはたとえば誰かが1つの機器(たとえば現金自動預け払い機)で現金を引き出そうとした場合であり得る。ここでこれらの制御命令は、たとえばこの顧客の要求である現金引き出しを行うことになる。たとえば一人の対応する顧客が、たとえば所定の国、たとえばイタリア、フランス、およびオーストリアにおいてのみ現金引き出しが許可されるように設定すると、これよりこのことは、機器特有の要件に(および特に場合によっては暗黙的に実行要件にも同様に)格納される。アンドラにある1つの現金自動預け払い機は、ここで場合によっては全く引き出しを許可しないかあるいは止めるであろう。代替としてこれはたとえば分散型データベースシステムの1つの別のノードによって止めることができ、またはこの分散型データベースシステムのスマートコントラクトによっても止めることができる。またたとえばセキュリティ要件によってこの顧客の特定の確認が要求されていることがあり得る。たとえば、引き出しのために1つのPINが入力されること(これは米国では強制ではないが)および/または1つの特定のPIN長(たとえば8文字)が要求されること、および/または他の追加的な認証方法(たとえば2要素認証,モバイルTAN,グーグル認証)が要求されることである。
【0034】
代替として、マーキングモジュールは、制御命令をさらに分析してもよく、そして、たとえばこのマーキングモジュールが、機器特有の要件が満足されていないことまたは満足され得ないことを既に確認している場合には、対応する機器またはシステムにこのことを指摘し、そして場合によってはこれらの制御命令の実行を止める制御トランザクションを生成してよい。代替としてたとえば制御トランザクションが全く生成されず、そしてある時点でこれらの制御命令の実行に対し、たとえば所定の、好ましくは設定可能な時間後に、タイムアウトとなってもよい。代替としてまたは追加的に、このマーキングモジュールは、たとえば全くマーキングデータセットを生成しなくともよいが、これは実行要件が満足されていない場合である。代替としてまたは追加的に、このマーキングモジュールは、たとえば制御命令に対する1つのマーキングデータセットを生成してもよいが、これは上記の実行要件が満足されていない場合である。たとえばこのマーキングデータセットは、“実行=True”なる情報を備えてよいが、これは対応する制御命令がノードおよび/または機器によって実施可能である場合である。たとえばこのマーキングデータセットは、“実行=False”なる情報を備えてよいが、これは対応する制御命令がノードおよび/または機器によって実施可能でない場合である。特に1つのマーキングデータセットは、制御命令が実行可能かどうかの、1つの簡単な情報のみを備えるが、ただしたとえば実行要件のようなさらなる情報は全く備えない。
【0035】
本発明に関しては、たとえば1つの機器の機器特性または1つの技術的システムのシステム特性のことであると理解されてよい。これらの機器特有のデータまたはシステム特有のデータは、たとえば現在の機器特性またはシステム特性である。これらの機器特有のデータまたはシステム特有のデータ(あるいはこれらに対応するデータ)は、1つの技術システム、1つの技術システムの機器、または1つの機器に対して、以下のデータを備えてよい。この機器またはシステムのUID,この機器あるいはシステムの使用可能な工具またはサポートされる製造方法(フライス加工、切削または3Dプリント)、この機器あるいはシステムの製造精度、この機器あるいはシステムの製造コスト、この機器あるいはシステムの設置場所、この機器あるいはシステムの応答/駆動のためのネットワークアドレス、この機器あるいはシステムに対し権限のあるユーザー、この機器あるいはシステムの名称、等。
【0036】
選択的に実装することにより、たとえば1つの技術的システムの1つ以上の機器に対し包括的にこれらのシステム特有のデータが実現されていてよく、ここでたとえばこの技術的システムの1つのUID/(ネットワーク)アドレスを介してこの技術的システムの対応する機器がアドレス指定され、識別され、すなわちこれらの機器と通信することができる。代替としてまたは追加的に、たとえばこの技術的システムの1つ以上の機器に対する機器特有のデータがシステム特有のデータに備えられていてよい。
【0037】
「技術的システム」とは、本発明に関しては、たとえば互いに通信するように、および/または分散型データベースシステム(たとえば第1の分散型データベースシステム)と接続されている、1つの機器または複数の機器のことであると理解されてよい。
【0038】
「前提となる制御命令」とは、本発明に関しては、たとえば、対応する制御命令が実行され得る前に、特に(この分散型データベースシステムの)別のノードによっておよび/またはこれらの機器の1つ以上によって既に実行されていなければならない制御命令のことであると理解されてよい。特にこれらの事前に実行されている制御命令に対応している確認トランザクションは、この分散型データベースシステムに(たとえばこの分散型データベースシステムのデータブロックに)格納されている。特にこれらの事前に実行されたまたは前提となる制御命令では、これらの事前に実行された制御命令に割り当てられている機器特有の要件も一緒にチェックあるいは一緒に考慮される。これらの実行要件を用いて、特に、たとえば1つの製品を生成する際の製造ステップのシーケンスが守られることが保証される。これによりたとえば製造シーケンスが合理的に守られることが達成される。たとえば、単にこの製造シーケンスが守られないために、1つの製造ステップが1つの別の製造ステップによって損傷されることが防止される。特に電力供給ネットワークの制御も同様に行うことができ、ここでたとえば変圧器または電圧カプラが正しい順序でスイッチオンされ、すなわちこの電力供給ネットワークに結合される。たとえば制御命令あるいは制御トランザクションの実行に対して、前提となる制御命令がまったく必要とされないならば、前提となるこれらの制御命令は空であってよい。たとえばこの前提となる制御命令はNullで占められていてよく、空の文字列で占められているかまたは前提となる制御命令がまったく必要でないことを示す値となっている。代替として、一部の制御命令には、実行要件が全く割り当てられていなくてよく、ここで特にこれらの制御命令の少なくとも1つには、少なくとも1つの実行要件が割り当てられている。たとえば前提となるこれらの制御命令は、たとえば1つの機器および/またはノードによって所定の機械的動作および/または別の物理量(たとえば圧力または温度)に変換されているか、またはこれらの制御命令の処理の前に(たとえば1つの加工対象物の準備のために)変換されているはずの制御命令である。この場合、前提となるこれらの制御命令を用いて(これらの実行が成功している限り)、1つの加工対象物が、たとえばさらなる加工が可能となっているか、または前提となる制御命令の後で可能となるような状態あるいは製造状態に移行されているように、機器および/またはノードのアクチュエータが駆動されている。この場合、これに対応して、たとえば対応する機器/ノードは、制御トランザクションの制御命令によって、さらなる加工が行われるように駆動することができる(これはたとえば前提となる制御命令が実行されており、そしてこれらの制御命令に対し特に確認トランザクションが存在する場合である)。前提となるこれらの制御命令および機器および/またはノードを用いて、たとえば制御ループが調整および/または制御されてもよく、ここでたとえば実行された/前提となっている制御命令に対する確認トランザクションが制御システムによって評価され、そして対応する制御命令がこれらの確認トランザクションへの反応として生成される。前提となるこれらの制御命令は、たとえば、これらによって1つの暗号学的装置および/または方法が駆動されている制御命令であってよい(たとえばユーザー認証またはユーザー確認)。代替としてまたは追加的に、前提となるこれらの制御命令によって、たとえば特定の測定パラメータを(たとえばセンサによって)収集することが事前に設定されていてよい。たとえば、対応する測定値を用いて、対応するトランザクションが所定の測定領域または閾値を守るように、事前に設定される。これらの測定値は、たとえば測定されたパラメータの値(たとえば30℃)および/または収集の日付/時刻および/または収集の場所および/またはセンサの種類および/またはこのセンサに関するさらなる情報(たとえば測定精度)であってよい。
【0039】
特に「データブロックにトランザクションを格納すること」等とは、直接的な格納または間接的な格納のことであると理解されてよい。直接的な格納とは、この際たとえば(分散型データベースシステムの)対応するデータブロックまたは(分散型データベースシステムの)対応するトランザクションがそれぞれのデータを備えることであると理解されてよい。間接的な格納とは、この際たとえば対応するデータブロックまたは対応するトランザクションが、対応するデータに対する1つのチェックサムおよび任意選択の1つの追加データセット(たとえば1つのリンクまたは1つの格納場所に対する情報)を備え、そしてこの結果これらの対応するデータがこのデータブロック(またはトランザクション)に直接格納されていない(すなわちその代りにこれらのデータに対する1つのチェックサムのみが格納されている)ことであると理解されてよい。特にトランザクションをデータブロックに格納する際には、たとえば「分散型データベースシステムに挿入する」ことについて説明されているように、このチェックサムはたとえば検証されてよい。
【0040】
「プログラムコード」(たとえばスマートコントラクト)とは、本発明に関しては、たとえば1つのプログラム命令または複数のプログラム命令のことであると理解されてよく、これらのプログラム命令は、特に1つ以上のトランザクションに格納されている。このプログラムコードは特に実行可能であり、そしてたとえば分散型データベースシステムによって実行される。これはたとえば1つの実行環境(たとえば仮想マシン)を用いて実現することができ、ここでこの実行環境あるいはこのプログラムコードは好ましくはチューリング完全である。このプログラムコードは好ましくは分散型データベースシステムのインフラストラクチャによって実行される(参考文献[4][5])。この際たとえば1つの仮想マシンがこの分散型データベースシステムのインフラストラクチャによって実現される。
【0041】
「分離された通信チャネルおよび/または直接の通信チャネル」とは、本発明に関しては、たとえばライトニングネットワークによって当初は暗号通貨の転送のためのみに実現されているような(参考文献[9])、たとえば1つの通信チャネルを用いたデータ転送(たとえば送信、受信、転送、提供、または伝送)のことであると理解されてよい。たとえばこのチャネルを介してトランザクション/メッセージをより高速に送ることができ、そしてこのデータ交換に関する確認を分散型データベースシステムに格納することができる。これによりたとえば重要なおよび/またはタイムクリティカルな制御命令あるいは制御トランザクションを対応する機器に高速に転送することができ、そしてこの際たとえば分散型データベースシステムの(たとえばデータブロック/トランザクションの複製の際の)低速のデータ転送を避けることができる。たとえば本発明および上述の本発明の態様、実施例、実施形態およびこれらの変形例に対して、1つの機器(および/またはノード)の間でのデータ交換のために、1つの分離された通信チャネルおよび/または直接の通信チャネルを構築することができる。たとえば1つの直接の通信チャネルでは、トランザクション/メッセージが直接1つの送信器(たとえば(第1の)メモリモジュールおよび/または(第1の)決定モジュール)と1つの受信器(たとえば制御命令を実行することになる機器)との間で交換され、分散型データベースシステムのさらなるノードおよび/または機器がこのデータ交換に関与することはない。これに対して分離された通信チャネルでは、分散型データベースシステムの複数のノードおよび/または機器がこのデータ交換に関与していてよい。この分離された通信チャネルおよび/または直接の通信チャネルの送信器と受信器との間での形成が成功したら(すなわちこれによって特に通信接続が確立されたら)、これより複数のデータをたとえばトランザクションまたはメッセージの形態でこの送信器と受信器との間で交換することができる。たとえば実行可能性の確定のために必要なデータおよび/または制御トランザクションを、この送信器と受信器との間で交換することができる。この通信チャネルが閉鎖/終了されると(すなわち特に通信接続は終了する)、これよりたとえばこのデータ転送の結果が、たとえばトランザクションの形態で(たとえば1つのデータ転送確認トランザクションとして)分散型データベースシステムに(たとえばこのデータベースシステムのデータブロックに)格納される。このデータ転送の結果は、たとえば対応するトランザクション/メッセージの転送または受信の確認であってよく、および/または、上記の分離された通信チャネルおよび/または直接の通信チャネルを介してこの通信チャネルが閉鎖される前に転送された、分析結果および/または最後に転送されたトランザクション/メッセージであってよい。トランザクションをこの結果と共に格納することは、たとえば送信器および/または受信器によって行うことができる。この分析結果は、たとえば1つの機器による制御命令の実行可能性の確認であってよく、ここでたとえば1つの対応する機器がこれらの制御命令を実行できることを確認している。これはたとえば再び1つのトランザクション(たとえば1つの実行可能性確認トランザクション)に格納されてよく、そしてたとえば実行要件に(たとえば機器特有の要件に)格納されてよい。代替としてまたは追加的に、この実行可能性確認トランザクションは、分散型データベースシステムに格納される。ここでこの実行可能性確認トランザクションは、たとえば機器に対する1つの固有の識別子を備え、この機器は、制御命令を実行する、あるいは対応する実行要件を満足するようになっている。代替としてまたは追加的に、この実行可能性確認トランザクションは、たとえば実行に関するデータ、たとえば実行要件がどれ位良好にあるいはどの程度満足されているか(たとえば製造制御命令の実行の際に、たとえば制御命令がどれくらい速く処理されているか、いつこれらの制御命令が確実に処理されているか、これらの制御命令がどの位正確にまたは精度よく実行されるか)に関するデータを備える。代替としてまたは追加的に、この実行可能性確認トランザクションは、たとえば制御命令の実行に関連している対応する機器の機器特有のデータを備え、ここでたとえばこの対応する機器の機器特有のデータは、この機器による実行可能性の確認の時点で確定されている。この際たとえばこの実行可能性の確認およびこの機器特有のデータの確定は、(ほぼ)同じ時点で、たとえば数秒または数分の時間ウィンドウ内で行われる。たとえばこの実行可能性確認トランザクションのデータは、この実行可能性確認トランザクションがたとえば分散型データベースシステムに格納される前に、送信器と受信器との間で交換されていてもよい。この実行可能性確認トランザクションは、たとえばさらに暗号学的に保護されていてよい(たとえばこの実行可能性確認トランザクションはコード化されていてよく、またはトランザクションチェックサムによって保護されていてよい)。またたとえば制御トランザクションも、同じように、制御命令を実行することになるあるいは実行できる、対応する機器に転送されてよい。このためたとえばもう1つの分離された通信チャネルおよび/または直接の通信チャネルが送信器と受信器との間に構築されてよい。代替として上述の通信チャネルは、たとえば継続使用される。これらの対応する通信チャネルを介して、次にたとえばこの対応する制御トランザクションは対応する機器に転送される。転送が(成功して)終了された場合に、たとえばこの通信チャネルが再び閉鎖/終了されると、この転送の結果がたとえば1つの転送確認トランザクションとして分散型データベースシステムに格納される。またたとえばこの通信チャネルを介して最後に交換されたメッセージが、この転送確認トランザクションに格納されてもよく(たとえばこの通信チャネルが遮断された場合)、そしてこの転送確認トランザクションはたとえばここで分散型データベースシステムに格納される。この最後に交換されたメッセージを、たとえば通信チャネルを再び構築した際に、データ交換あるいはデータ転送を継続するために用いることができる。この転送確認トランザクションは、たとえば暗号学的に保護されていてよい。この転送確認トランザクションは、たとえば制御命令、および/または制御トランザクション、および/または送信器と受信器との間で最後に交換されたメッセージを備えてよい。データ交換あるいはデータ転送の継続は、たとえば他のデータ転送にも利用することができ、そして特に制御トランザクションのデータ転送あるいはデータ交換に限定されるものではない。
【0042】
分離された通信チャネルおよび/または直接の通信チャネルは、転送速度および/または転送レイテンシを改善するために有利である。たとえば1つのハイブリッド法が可能であり、このハイブリッド法ではたとえば1つの対応する通信チャネルが、タイムクリティカルな(たとえば高いプライオリティを有する)制御命令に対して利用される。これらが、対応する分離された通信チャネルを介して転送されることになる、対応する制御命令であるかどうかが、たとえば実行要件(たとえばこれらはタイムクリティカルな制御命令またはリアルタイムアプリケーション用の制御命令である)に基づいて決定されてよい。代替としてまたは追加的に、(第1の)決定モジュールは、たとえば実行要件の決定の際に、制御トランザクションをデータ転送するための、対応する転送要件を決定してよい。これらの転送要件は、たとえばこれらの実行要件に格納されてよい。これらの転送要件に基づいて、たとえば、これらの制御トランザクションが対応する機器への転送によって分散型データベースシステムに格納されるかどうか、または分離された通信チャネルおよび/または直接の通信チャネルがこの対応する機器へのデータ転送のために利用できるかどうか、メモリモジュールが確定することができる。このデータ転送は、この場合この(第1の)メモリモジュールによって行われてよく、このメモリモジュールはこのためたとえば1つの対応する通信モジュール(たとえばネットワークインタフェース)を備える。
【0043】
「スマートコントラクト」とは、本発明に関しては、1つの実行可能なプログラムコードのことであると理解されてよい(参考文献[4][5]、特に「プログラムコード」の定義を参照)。このスマートコントラクトは、好ましくは分散型データベースシステム(たとえばブロックチェーン)の1つのトランザクションに格納されており、たとえばこの分散型データベースシステムの1つのデータブロックに格納されている。たとえばこのスマートコントラクトは、特に本発明に関して「プログラムコード」の定義の際に説明したと同様に実行することができる。
【0044】
「プルーフオブワーク証明書」とは、本発明に関しては、たとえば1つの計算集約型の課題の1つの解決策であると理解されてよく、この課題はデータブロックの内容/1つの特定のトランザクションの内容に依存して解決されるべきものである(参考文献[1][4][5])。このような計算集約型の課題はたとえば暗号学的パズルとも言われる。
【0045】
「分散型データベースシステム」とは、たとえば分散型データベースとも称されることがあり、本発明に関しては、たとえば非集中型の分散型データベース、ブロックチェーン(英語でBlockchain)、分散型台帳、分散型メモリシステム、分散型台帳技術(DLT:distributed ledger technology)ベースのシステム(DLTS)、改竄防止されたデータベースシステム、クラウド、クラウドサービス、クラウドにおけるブロックチェーン、またはピアツーピアのデータベースのことであると理解されてよい。またたとえばブロックチェーンまたはDLTSの様々な実装も用いることができ、たとえば有向非巡回グラフ(DAG:Directed Acylic Graph)、暗号学的パズル、ハッシュグラフ、または上記の変形実施例の組み合わせを用いたブロックチェーンまたはDLTSも用いることができる(参考文献[6][7])。またたとえば様々なコンセンサスアルゴリズム(英語でconsensus algorithm)も実装することができる。これらはたとえば暗号学的パズル、ゴシップに関するゴシップ(Gossip about Gossip)、仮想投票(Virtual Voting)、または上記の方法の組み合わせであってよい(たとえばゴシップに関するゴシップと仮想投票の組み合わせ)。(参考文献[6][7])ブロックチェーンが用いられると、これよりこのブロックチェーンは特にビットコインベースの実装またはユーサリアムベースの実装を用いて実現することができる(参考文献[1][4][5])。「分散型データベースシステム」とは、たとえばその少なくとも一部のノードおよび/または機器および/またはインフラストラクチャがクラウドによって実現されている分散型データベースシステムのことであると理解されてよい。たとえば対応するコンポーネントは、このクラウドにおけるノード/機器として(たとえば1つの仮想マシンにおける仮想ノードとして)実装されている。これはたとえばVMWare、Amazon Web Services、またはMicrosoft Azureを用いて行うことができる。ここで説明されている変形実施例の高い柔軟性のおかげで、特にこれらの変形実施例の部分態様を互いに組み合わせることもでき、ここでたとえばブロックチェーンとして1つのハッシュグラフが用いられ、この際このブロックチェーン自体はたとえばブロックレスであってもよい。
【0046】
たとえば有向非巡回グラフ(DAG)が用いられると(たとえばIOTAまたはTangle)、特にこのグラフのトランザクションまたはブロックまたはノードが互いに有向辺を介して接続される。これは特に、たとえば時間の場合と同様に、(全ての)辺が(常に)同じ向きを有していることを意味する。換言すれば、このグラフのトランザクションまたはブロックまたはノードを逆向きに(すなわち共通の同じ方向に対し反対に)進むあるいは飛び越えて進むことはできない。非巡回はここでは特に、このグラフの巡回の際にはループが全く存在しないことを意味している。
【0047】
分散型データベースシステムは、たとえばパブリック型の分散型データベースシステム(たとえばパブリック型のブロックチェーン)またはクローズド型(またはプライベート型)の分散型データベースシステム(たとえばプライベートブロックチェーン)であってよい。
【0048】
たとえばパブリック型の分散型データベースシステムであると、これは新たなノードおよび/または機器が、資格証明書なしに、または認証なしに、またはログイン情報なしに、すなわちクレデンシャルなしに、この分散型データベースシステムに参加することができる、あるいはこの分散型データベースシステムに受け入れられることを意味している。特にこのような場合には、ノードおよび/または機器のオペレータは匿名のままであってよい。
【0049】
この分散型データベースシステムがクローズド型の分散型データベースシステムであると、新たなノードおよび/または機器は、この分散型データベースシステムに参加することができるためにあるいはこの分散型データベースシステムに受け入れられるために、たとえば1つの有効な資格証明書および/または有効な認証情報および/または有効なクレデンシャルおよび/または有効なログイン情報を必要とする。
【0050】
分散型データベースシステムは、たとえばデータ交換のための分散型通信システムまたはピアツーピアの通信システムまたはピアツーピアのアプリケーションであってよい。これはたとえば1つのネットワークまたは1つのピアツーピアのネットワークであってよい。
【0051】
分散型データベースシステムは、たとえば1つの非集中型の分散型データベースシステムおよび/または1つの非集中型の分散型通信システムであってよい。
【0052】
「データブロック」は、特に状況および実装によっては「リンク(“Glied”)」または「ブロック」とも表されることがあり、本発明に関しては、たとえば1つの分散型データブロックシステム(たとえば1つのブロックチェーンまたは1つのピアツーピアのデータベース)の1つのデータブロックのことであると理解されてよく、特にデータ構造として実装されており、そして好ましくはそれぞれ1つのトランザクションまたは複数のトランザクションを備える。1つの実装では、データベース(またはデータベースシステム)は、DLTベースのシステム(DLTS)またはブロックチェーンであってよく、1つのデータブロックは、このブロックチェーンまたはこのDLTSの1つのブロックである。1つのデータブロックは、たとえばこのデータブロックの大きさ(バイト単位でのデータサイズ)に対する情報、1つのデータブロックヘッダ(英語でBlockheader)、1つのトランザクションカウンタ、および1つ以上のトランザクションを備えてよい(参考文献[1])。このデータブロックヘッダは、たとえばバージョン、チェーニングチェックサム、データブロックチェックサム、タイムスタンプ、プルーフオブワーク証明書、およびナンス(プルーフオブワーク証明書用に用いられる、1回限りの値、ランダム値、またはカウンタ値)を備えてよい(参考文献[1][4][5])。データブロックは、たとえば分散型データベースシステムに格納されている全データの1つの特定の格納領域またはアドレス領域のみであってよい。これによりたとえばブロックレス(英語でblockless)で分散された、たとえばIoTチェーン(ITC)、IOTA、およびバイトボールのようなデータベースシステムを実現することができる。ここでは、特に1つのブロックチェーンのブロックの機能およびトランザクションの機能が互いに組み合わされて、たとえばこれらのトランザクション自体が、(分散型データベースシステムの)複数のトランザクションのシーケンスまたはチェーンを保護する(すなわち特にセキュリティ保護されて格納される)ようになっている。このためたとえば、1つのチェーニングチェックサムを用いて、これらのトランザクション自体が互いにチェーニングされてよく、ここで好ましくは1つの別個のチェックサムまたは1つ以上のトランザクションのトランザクションチェックサムがチェーニングチェックサムとして用いられ、このチェーニングチェックサムは、分散型データベースシステムにおける1つの新たなトランザクションの格納の際に、この対応する新たなトランザクションに一緒に格納される。このような実施形態においては、1つのデータブロックは、たとえば1つ以上のトランザクションを備えてよく、ここで最も簡単な場合には、たとえば1つのデータブロックは1つのトランザクションに対応する。
【0053】
「ナンス」とは、本発明に関しては、たとえば暗号学的なナンスのことであると理解されてよい。(Nonce:“used only once”(参考文献[2)])または“number used once”(参考文献[3])の略)特にナンスは、個々の数字または文字の組み合わせを表し、好ましくはそれぞれの状況(たとえばトランザクション、データ転送)で1回限り用いられる。
【0054】
「分散型データベースシステムの1つの(特定の)データブロックに先行するデータブロック」とは、本発明に関しては、たとえば特に1つの(特定の)データブロックに先行する直前の、分散型データベースシステムのデータブロックのことであると理解されてよい。代替として、「分散型データベースシステムの1つの(特定の)データブロックに先行するデータブロック」とは、特にこの特定のデータブロックに先行する、分散型データベースシステムの全てのデータブロックのことであると理解されてもよい。以上によりたとえばチェーニングチェックサムまたはトランザクションチェックサムは、特にこの特定のデータブロックに先行する直前のデータブロック(あるいはこれらのトランザクション)のみに関し、または第1のデータブロックに先行する全てのデータブロック(あるいはこれらのトランザクション)に関して形成されてよい。
【0055】
「ブロックチェーンノード」、「ノード」、「分散型データベースシステムのノード」、等は、本発明に関しては、たとえば機器(たとえばフィールド機器)、コンピュータ、スマートフォン、クライアント、または参加者のことであると理解されてよく、これらはこの分散型データベースシステム(たとえば1つのブロックチェーン)に対して、(あるいはこれを用いて)オペレーションを行う(参考文献[1][4][5])。このようなノードは、たとえば分散型データベースシステムあるいはこれらのデータブロックのトランザクションを実行することができ、または新たなデータブロックを新たなトランザクションと共に、新たなデータブロックを用いて、この分散型データベースシステムに挿入する、あるいはチェーニングすることができる。特にこの検証および/またはチェーニングは、1つの信頼できるノード(たとえば1つのマイニングノード)または信頼できるノードによってのみ行うことができる。信頼できるノードとは、たとえばノードの不正操作を阻止するために、追加的なセキュリティ対策(たとえばファイアーウォール、ノードへのアクセス制限等)を有するノードである。代替としてまたは追加的に、たとえば1つの信頼できるノードが、分散型データベースシステムへの1つの新たなデータブロックのチェーニングの際に、ノードチェックサム(たとえばデジタル署名または証明書)をこの新たなデータブロックに格納してよい。これにより特に、対応するデータブロックが1つの特定のノードによって挿入されていることあるいはその来歴を示す1つの証明書を提供することができる。機器(たとえば対応する機器)とはたとえば技術的システムおよび/または産業施設および/または自動化ネットワークおよび/または製造施設の機器であり、これらは特に分散型データベースシステムの1つのノードである。この際これらの機器は、たとえばフィールド機器であってよく、または物のインターネットにおける機器であってよく、これらは特に分散型データベースシステムの1つのノードであってもよい。ノードは、たとえばそのコンピュータ実装された機能を実行するために、たとえば少なくとも1つのプロセッサを備えてよい。
【0056】
「ブロックチェーンオラクル」等は、本発明に関しては、たとえばノード、機器、またはコンピュータのことであると理解されてよく、これらは、1つのセキュリティモジュールを有し、このセキュリティモジュールは、たとえばソフトウェア保護機構(たとえば暗号学的方法)、機械的保護装置(たとえば施錠できるハウジング)、または電気的な保護装置を有する(たとえば改竄保護、すなわちこのブロックチェーンオラクルの不正な利用/取り扱いの際にこのセキュリティモジュールのデータを消去する保護システムを備える)。この際このセキュリティモジュールは、たとえばチェックサム(たとえばトランザクションチェックサムまたはノードチェックサム)の計算に必要である暗号化キーを備えてよい。
【0057】
「コンピュータ」とは、本発明に関しては、たとえばコンピュータ(システム)、クライアント、スマートフォン、機器、またはサーバのことであると理解されてよく、これらはそれぞれブロックチェーンの外部に配置され、すなわち分散型データベースシステム(たとえばブロックチェーン)の参加者では全くない(すなわちこの分散型データベースシステムを用いたオペレーションは全く行わないか、またはオペレーションを問い合わせるだけであり、トランザクションを実行すること、データブロックを挿入すること、またはプルーフオブワーク証明書を計算することはない)。代替として特に、コンピュータとは分散型データベースシステムの1つのノードのことであると理解されてもよい。換言すれば特に、1つの機器とは分散型データベースシステムの1つのノードのことであると理解されてよく、またはブロックチェーンあるいは分散型データベースシステムの外部の1つの機器のことであると理解されてもよい。分散型データベースシステムの外部の機器は、たとえばこの分散型データベースシステムのデータ(たとえばトランザクションまたは制御トランザクション)にアクセスすることができ、および/またはノードによって(たとえばスマートコントラクトおよび/またはブロックチェーンオラクルを用いて)駆動することができる。たとえば1つの機器(たとえば分散型データベースシステムのノードとして形成されている機器、または外部の機器)の駆動あるいは制御が1つのノードによって実現される場合、これはたとえば、特にこの分散型データベースシステムの1つのトランザクションに格納されている1つのスマートコントラクトを用いて行うことができる。機器またはノードは、たとえば1つのアクチュエータを備えてよい。機器またはノードとは、たとえばメカトロニクスの機器またはシステムのことであってよく、ここでメカトロニクスの機器/システムは、たとえば1つのアクチュエータおよび/または1つの直線運動機器である。直線運動機器は、たとえば変位動作を実行するための1つの機器である。対応する機器は、たとえば1つの駆動系であってもよい。機器またはノードとはたとえば、(たとえばユーザー認証またはユーザー確認を行うための)暗号学的な機器/ノードのことであってよい。
【0058】
本発明を用いて特に、制御命令を実行するための非集中型のインフラストラクチャを実現することが可能である。特にこれによって、たとえ機器/機器グループの個々のオペレータが互いを信頼しない場合でも、物のインターネットにおける機器の制御を非集中型で行うことができる。たとえば分散型データベースシステムのブロックチェーンベースの実装が利用される場合に、1つのノードに(たとえば詐欺/賄賂による)違法な特権を与えることを大幅に困難にすることができるが、これはビットコインと同様に、信頼性保護あるいは不正操作保護が制御トランザクションあるいは確認トランザクションで実現されるからである。特にノードの認証を行う集中型のインスタンスを避けることができる。たとえばデータベースシステムが、特にビットコインのような暗号通貨を実装するブロックチェーンを用いて実現されると、これよりたとえば、複数の制御命令を設定した発注者あるいは1つの命令シーケンス(これからこれらの制御命令が導出される)を設定した発注者への、これらの制御命令の処理に対する請求を簡単かつ効率のよいやり方で行うことができる。
【0059】
追加的にたとえば、分散型データベースシステム(たとえばブロックチェーン)のオペレーションの際のセキュリティを高めることができるが、これは特にこれらの制御命令の実行に対して追加的なチェックが導入されているからである。換言すれば、特に未チェックのトランザクションあるいは制御命令がチェック済のトランザクションに変換され、ここでこのチェックは、たとえばこれらの制御命令を実行することになるノードまたは機器のノード特性または機器特性(たとえば機器特有のデータ)に基づいて行われる。
【0060】
たとえば、本方法を用いて現金自動預け払い機での現金の引き出しを改善する、あるいはセキュリティをより高めることも可能であるが、これはこの現金自動預け払い機がたとえば分散型データベースシステムの1つのノードであるか、または分散型データベースシステムの1つのノードまたは1つの別のインタフェースを介して分散型データベースシステムの対応する制御トランザクションにアクセスする場合か、あるいはこれらの制御トランザクションを読み出す場合である。
【0061】
代替としてまたは追加的に、実行要件が、たとえば実行に対して考慮されるさらなる指針を備えていてもよい。これはたとえば、1つの特定の料金を支払われなければならないという指針であってよく、これによって1つの制御命令を1つの対応するノードまたは機器によって処理することができる。これはたとえば機器特有の要件に格納されてよく、ここでこの機器はその利用に対するあるいは制御命令の処理に対する所定の料金の支払いを前提としている。この所定の料金の支払いは、たとえば暗号通貨を用いて行うことができ、好ましくはこれもまたこの分散型データベースシステムのトランザクションに記載あるいは格納される。この指針(たとえば料金支払い)が満足されているかどうかもまた、たとえばマーキングモジュールあるいは評価ユニットによってチェックされてよく、ここでたとえばこれらの料金の対応する支払いに対するトランザクションがこの分散型データベースシステムで使用可能かどうかチェックされる。代替として、対応する料金支払いが行われているかどうか、たとえば銀行での預金残高がチェックされてもよい。これらの実行要件の指針が、たとえば対応する制御命令に対して満足されていれば、これらの制御命令は処理され、そして既に説明されたように制御トランザクションに格納されてよい。
【0062】
本制御システムの第1の実施形態では、前提となる制御命令は既に実行されている制御命令であり、これらの制御命令に対してこれらの実行に関する確認が、分散型データベースシステムの(データブロックの)確認トランザクションに格納されている。
【0063】
本制御システムは、特に対応する機器による制御命令の実行あるいは処理の際の順序を、前提となる制御命令を用いてあらかじめ設定するために有利である。特に前提となるこれらの制御命令は、同じ命令シーケンスの制御命令であってよく、特に時間的には、対応する機器によって(現在)実行されることになる制御命令の前に実行されていなければならない。前提となるこれらの制御命令は、この際特に同様に制御トランザクションに格納されたものであり、これらの制御トランザクションはまた、分散型データベースシステムのデータブロック(すなわち1つのデータブロックまたは複数のデータブロック)に格納されている。
【0064】
本発明による制御システムのさらなる実施形態では、実行要件によって、制御命令が処理されるまでのタイムリミットが事前に設定されている。
【0065】
本制御システムは、特に所定のまたは選択された制御命令が、これらの実行要件を用いて、それまでにこれらの制御命令を対応する機器によって処理しなければならないタイムリミットを事前に設定するために有利である。たとえばこのタイムリミットを越えると、これより特にチェックモジュールによって、タイムリミットを超えたことに反応するように、1つの制御信号を提供することができる。この制御信号を用いて、たとえば警報信号を製造作業者、修理技術者に自動的に通知し、または発動することができる。たとえば製造プロセスが再開されてもよい。
【0066】
本発明による制御システムのさらなる実施形態では、マーキングデータセットは、対応する制御命令を実行することになる機器および/またはノードに対する固有の識別子を備える。
【0067】
これは、以上によりたとえば機器/ノードが、対応する制御命令をたとえば1つの特定の機器によって実行することができるかどうかを、速やかに確定することができるということで有利である。この際機器あるいはノードには、たとえば1つの固有の識別子(Unique Identifier (UID))が割り当てられている。本制御システムあるいはマーキングモジュールは特に、機器の対応する固有の識別子(これは機器/ノードに対するデータと共にコンフィギュレーションメモリに格納されている)を認識し、そして制御命令の割り当ての際に、マーキングモジュールが自分で、および/またはマーキングデータセットを用いて、および/または制御トランザクションを用いて、対応する固有の識別子を制御命令に割り付ける。割り付けられたあるいは割り当てられた固有の識別子は特に、これらの制御命令を実行することになる機器またはノードの対応する固有の識別子である。
【0068】
本制御システムのさらなる実施形態では、この制御システムは、機器による制御命令の実行を所定の基準に基づいて最適化するオプティマイザを備える。
【0069】
本制御システムは、特に所定の基準に従って製造プロセスを最適化するために有利である。この所定の基準は、たとえば製造時間、生じたコスト、または消費される電力であってよい。たとえばこのオプティマイザは、1つの命令シーケンスを制御命令に分解することができ、これらの制御命令は再び制御トランザクションに格納される。この際このオプティマイザは、この所定の基準に基づいてこの命令シーケンスを制御命令に分解する。たとえばこの基準が1つの製品の製造の際に製造時間を最適化する(たとえばこの製品に対する製造時間をできる限り小さく保つ)ものであれば、この命令シーケンスは、個々の部品が複数の機器によって並行して生産されるように、すなわち制御トランザクションにおける対応する制御命令がこれらの機器によって処理されるように、分解される。たとえばこの基準が1つの製品の製造の際に製造コストを最適化するものであれば、この命令シーケンスは、個々の部品が1つの機器(たとえば対応する機器)によって連続して生産されるように、またはできる限り少ない機器によって生産されるように、すなわち制御トランザクションにおける対応する制御命令がこれらの対応する機器によって処理されるように、分解される。これを制御するために、たとえばこのオプティマイザによって、対応する情報がマーキングモジュールに引き渡され、こうしてこのマーキングモジュールは、この情報を実行要件に記録する。この際このオプティマイザは、たとえば1つの分離されたモジュールまたはこのマーキングモジュールの一体化された1つの部分であってよい。代替としてこのオプティマイザは、たとえばこの最適化を実行要件に基づいて実施してよく、またはこの実行要件をむしろ自分自身で生成し、そしてこのマーキングモジュールに提供してよい。
【0070】
本制御システムのさらなる実施形態では、分散型データベースシステムは、1つのブロックチェーンであり、そしてデータブロックはこのブロックチェーンのブロックであり、またはこの分散型データベースシステムは1つのピアツーピアのデータベースシステムとなっている。
【0071】
本制御システムは、特に非集中型の制御システムのインフラストラクチャを実現するために有利である。加えて特に、たとえ機器のオペレータが互いを信頼しない場合でも、このような制御システムを実現することができる。
【0072】
本制御システムのさらなる実施形態では、データブロックが1つの暗号学的ハッシュ関数を介して互いにチェーニングされている。
【0073】
本制御システムのさらなる実施形態では、この制御システムはアクティビティモジュールを備え、ここでこのアクティビティモジュールは、この制御システムのアクティビティを表示および/または記録するために設けられている。
【0074】
この制御システムは、特に、たとえばオペレーション中のステータスランプ、心拍信号、または制御信号によって管理者がアクティビティをチェックできるようにするために有利である。代替としてこのアクティビティモジュールは、たとえば情報を1つのデータファイルに書き込んでよく、たとえばシステム状態あるいはノードまたはモジュールの再スタートを記録するようになっている。
【0075】
もう1つの態様によれば、本発明は分散型データベースシステム用の、または機器を制御および/またはモニターするための分散型データベースシステムを有する制御システム用のマーキングモジュールに関し、
- 特に制御命令の受信または読み出しのための第1のインタフェース(810)と、
- マーキングデータセットを割り当てるための第1の評価ユニット(820)とを備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、前記制御命令のそれぞれに割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステムのノードによって、または機器によって実行可能であり、ここで
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0076】
本マーキングモジュールは、特にネットワークを介して互いに接続されている機器またはノード(たとえば製造ロボット、電力供給ネットワーク用の制御システム、銀行端末、現金自動預け払い機、銀行間送金)の制御命令の実行を改善するために有利である。
【0077】
追加的に、たとえば分散型のインフラストラクチャ(たとえば分散型データベースシステムであって、機器およびまたはノードを有するか、あるいはこの分散型データベースシステムにアクセスする機器を有する)のオペレーションの際のセキュリティを高めることができ、このセキュリティは、分散型データベースシステム(たとえばブロックチェーン)を用いて全体的にまたは部分的に実装されている。特に「制御命令」なる用語は広い意味で理解されるべきである。これはここでは、たとえば上述の定義に対する追加として、1つの機器(たとえば1つのブロックチェーンの1つのノード、またはこのブロックチェーンの外部の1つの機器、たとえば機器D)によって実行されることになるトランザクションであってもよい。換言すれば本装置によって、特に未チェックのトランザクションがチェック済のトランザクションに変換され、ここでこのチェックは、たとえば制御命令を実行することになる機器特有の要件および機器特有のデータに基づいて行われる。
【0078】
本発明を用いて、たとえば機器でこれらの制御命令を実行するために必要な機器特有の要件を保証することができる。この際これらの機器特有の要件は、たとえばセキュリティ要件および/または場所に関係した要件(たとえば国情報、GPS情報、または郵便番号)であってもよく、これらは1つの機器が制御命令を実行するために満足しなければならない。または、たとえばさらに、1つの特定の認証あるいは所定の認証、および/または確認が、この機器特有の要件によってこの実行のために要求され得る。
【0079】
これはたとえば誰かが1つの機器(たとえば現金自動預け払い機)で現金を引き出そうとした場合であり得る。ここでこれらの制御命令は、たとえばこの顧客の要求である現金引き出しを行うことになる。たとえば一人の対応する顧客が(たとえばこの顧客のホームバンクでまたはオンラインバンキングで)、所定の国たとえばイタリア、フランス、およびオーストリアでのみ現金引き出しができるように設定すると、これよりこれは機器特有の要件に(およびこれにより特に暗黙的に実行要件にも同様に)格納される。アンドラにある1つの現金自動預け払い機は、ここで場合によっては全く引き出しを許可しないかあるいは止めるであろう。またたとえばセキュリティ要件によって顧客の所定の認証および/または認証方法が要求されていることもあり得る。このためたとえば引き出しのために1つのPINが入力されるかあるいは要求されることがあり得(これはたとえば米国では強制ではないが)、および/または1つの特定のPIN長(たとえば8文字)が要求されることがあり得、および/または別の追加的な認証方法が要求されることがあり得る(たとえば2要素認証、モバイルTAN,グーグル認証)。
【0080】
代替として本マーキングモジュール、たとえば評価ユニットは、これらの制御命令をさらに分析してもよく、そしてたとえばこのマーキングモジュールあるいは(第1の)評価ユニットが、機器特有の要件が満足されていないかまたは満足され得ないことを既に確定している場合(たとえば制御命令が、承認されていない国から送信されている場合、または承認されていない国の機器またはノードのためであると確定された場合)は、このことを対応する機器またはシステムに指摘し、そして好ましくはこの制御命令の実行を止めるかあるいは禁止する制御トランザクションを生成する。代替としてたとえば制御トランザクションおよび/またはマーキングデータセットが全く生成されず、そしてある時点で、たとえば所定時間後に、制御命令の実行に対しタイムアウトとなってもよい。代替としてまたは追加的に、たとえば1つの制御信号が提供されてもよく、この制御信号は制御命令が実行可能でない場合にたとえば技術者に連絡し、または警告信号を発動する。
【0081】
たとえばコンピュータ(すなわち制御命令を送信する機器)のセキュリティ要件および/または場所に関連した要件がチェックされ、そして別の機器による引き出しが許可されているかがチェックされ、このようにしてオンラインバンキングを保護することも可能であろう。
【0082】
追加的に本マーキングモジュールはさらに、たとえば、上記の実施例で説明されているように、第1の割り当てモジュールおよび/または第1のメモリモジュールおよび/またはさらなるモジュールを備えてよい。ノードまたは機器は、上記の実施例あるいは実施形態で説明されているように、たとえば1つのチェックモジュールおよび/または1つの実行モジュールを備えてよい。特に本発明の他の態様の他の特徴も、本発明のこの態様に適用することができる。
【0083】
ノードまたは機器に対する機器特有の要件は、たとえばユーザー指向であってもよく、すなわちユーザー特有の要件を備えてよい。たとえば第1のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に低い精度を要求し得る。たとえば第2のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に高い精度を要求し得る。このようにしてたとえばセキュリティ要件もユーザー指向で格納されてよい。たとえば、特定の形式または種類の制御命令に、ユーザー指向あるいは非ユーザー指向で、機器特有の要件が割り当てられていることも可能であり、これらの機器特有の要件はマーキングモジュールによって考慮されるかあるいはチェックされる。たとえば1つのファームウェアのノウハウが1つの製造施設において誰に対しても容易にアクセス可能となることがないように、このファームウェアをインストールするための1つの制御命令が所定のセキュリティ要件を満足する1つの機器によってのみ実行されるように要求されていてよい。この所定のセキュリティ要件によって、たとえば特定のスタッフだけが1つの対応する機器にアクセスし、またはこの機器が1つのパスワードおよび/または他の暗号学的機構によって保護されている(たとえばアクセスがチップカードの挿入およびPINの入力によってのみ可能)ことが要求されていてよい。
【0084】
本マーキングモジュールが、実行要件をサポートすることあるいは満足する(たとえば製造施設の)ノードおよび/または機器が全く無いことを確定すると、マーキングデータセットは全く生成されないか、または対応する制御命令が実行可能でないことまたは実行することができないことを示す1つのマーキングデータセットが生成される。追加的にこのマーキングモジュールは、たとえばどの制御命令がとにかくこれらのノードおよび/または機器によって受け入れられるのか、および/または実行されることになるのかを示す1つの実行ポリシーを考慮してよい。たとえば、たとえこれらの機器および/またはノードが対応する制御命令を実行することができたとしても、特定の事前に設定された制御命令は、(たとえばその実行にコストがかかるかまたは機器(例えば工作機械)の大きすぎる損耗をもたらすので)通常はこれらの機器および/またはノードによって実行されることがないように、この一般的な実行ポリシーによって、事前に設定されていてよい。このような実行ポリシーもまた、たとえば実行要件の一部であってもよく、あるいは実行要件を備えてよい。
【0085】
換言すれば本マーキングモジュールは、たとえば機器および/またはノードによって実行することが許されないかまたはその実行要件が満足されていない制御命令の実行を阻止するために、制御命令または制御トランザクションに対するフィルタとして用いることができる。以上により特に、分散型データベースシステムにおけるこのような望ましくない制御命令または制御トランザクションが、機器および/またはノードに分散されること、あるいは機器および/またはノードに対し実行可能な制御トランザクションがチェックされることが阻止される。この際また、実行可能な制御命令が好適に、対応するマーキングデータセットに割り当てられることも同様に達成される。
【0086】
代替としてまたは追加的に、実行要件が、たとえば実行に対して考慮される、さらなる指針を備えていてもよい。これはたとえば、1つの特定の料金が支払われなければならないという指針であってよく、これによって1つの制御命令を1つの対応するノードまたは機器によって処理することができる。これはたとえば機器特有の要件に格納されてよく、ここでこの機器はその利用に対するあるいは制御命令の処理に対する所定の料金の支払いを前提としている。この所定の料金の支払いは、たとえば暗号通貨を用いて行うことができ、好ましくはこれもまたこの分散型データベースシステムのトランザクションに記載あるいは格納される。この指針(たとえば料金支払い)が満足されているかどうかもまた、たとえばマーキングモジュールあるいは評価ユニットによってチェックされてよく、ここでたとえばこの料金の対応する支払いに対するトランザクションがこの分散型データベースシステムで使用可能かどうかチェックされる。代替として、対応する料金支払いが行われているかどうか、たとえば銀行での預金残高がチェックされてもよい。これらの実行要件の指針が、たとえば対応する制御命令に対して満足されていれば、これらの制御命令は処理され、そして既に説明されたように制御トランザクションに格納されてよい。
【0087】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールはオプティマイザを備え、ここでこのオプティマイザは、機器による命令の実行を所定の基準に基づいて最適化する。
【0088】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールは第1の分解モジュールを備え、ここでこの第1の分解モジュールは、1つの命令シーケンスを対応する制御命令に分解するために設けられている。これらの対応する制御命令は、たとえば制御システムまたはこの第1のマーキングモジュールに提供される。好ましくはこれらの対応する制御命令は、このマーキングモジュールを介して制御システムに提供され、こうしてたとえばこの制御システムは、分散型データベースシステムを介して、対応する制御トランザクションを制御命令と共にノードまたは機器に転送する。
【0089】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールはアクティビティモジュールを備え、ここでこのアクティビティモジュールは、このマーキングモジュールのアクティビティを表示または記録するために設けられている。
【0090】
このマーキングモジュールは、特に、たとえばオペレーション中のステータスランプ、心拍信号、または制御信号によって管理者がアクティビティをチェックできるようにするために有利である。代替としてこのアクティビティモジュールは、たとえば情報を1つのデータファイルに書き込んでよく、たとえばシステム状態あるいはノードまたはモジュールまたはこのマーキングモジュールの再スタートを記録するようになっている。
【0091】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールはコンフィギュレーションメモリを備え、このコンフィギュレーションメモリは、機器に関する機器特有のデータおよび/またはノードに関する機器特有のデータおよび/または機器特有の要件を備える。
【0092】
本マーキングモジュールは、機器特有のデータに素早くアクセスするために、および/または特定のトランザクションまたは機器に対して機器特有の要件を事前にコンフィギュレーションするために有利である。コンフィギュレーションメモリは、たとえば分散型データベースシステムのブロックあるいはデータブロックによって実現することができる。ノードまたは機器に対する機器特有の要件はたとえばユーザー指向であってもよい。たとえば第1のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に低い精度を要求し得る。たとえば第2のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に高い精度を要求し得る。このようにしてセキュリティ要件もユーザー指向で格納されてよい。たとえば、特定の形式または種類の制御命令に、ユーザー指向あるいは非ユーザー指向で、機器特有の要件が割り当てられていることも可能であり、これらの機器特有の要件は、マーキングデータセットを生成するために、マーキングモジュールによって考慮される。たとえば1つのファームウェアのノウハウが1つの製造施設において誰に対しても容易にアクセス可能となることがないように、このファームウェアをインストールするための1つの制御命令が所定のセキュリティ要件を満足する1つの機器によってのみ実行されることが要求されていてよい。この所定のセキュリティ要件によって、たとえば特定のスタッフだけが1つの対応する機器にアクセスし、またはこの機器が1つのパスワードおよび/または他の暗号学的機構によって保護されている(たとえばアクセスがチップカードの挿入およびPINの入力によってのみ可能)ことが要求されていてよい。
【0093】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールは、管理インタフェースを備える。
【0094】
本マーキングモジュールは、特にこのマーキングモジュールのコンフィギュレーションを可能とするために有利である。この管理インタフェースを介して、たとえば機器特有の要件をコンフィギュレーションし、そして好ましくは分散型データベースシステムに格納することができる。
【0095】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールは、機器に関する機器特有のデータまたはノードに関する機器特有のデータを収集するための収集ユニットを備える。
【0096】
本マーキングモジュールは、特にこれらの機器特有のデータのチェックまたは生成を容易にし、加速するために有利である。このマーキングモジュールは、個々の決定毎にこれらのデータをその都度機器またはノードから再び読み出すことができるであろうが、しかしながらこの収集ユニットがこれらのデータをたとえば所定の時刻または間隔で読み出し、そしてたとえばコンフィギュレーションメモリに格納するか、またはノードおよび機器がこれをたとえばスイッチオンの後で所定の時刻または間隔で自律的に行うことが便利であり、ここでこれらの情報がこの収集ユニットに転送される。この収集ユニットがたとえば分散型データベースシステムのスマートコントラクトとして実現されていると、これはたとえばこの分散型データベースシステムとの接続の際に行うこともできる。
【0097】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールは、分散型データベースシステムの1つのノード、または分散型データベースシステムの1つのスマートコントラクト、または機器として形成されている。
【0098】
本マーキングモジュールのさらなる実施形態では、このマーキングモジュールは、それぞれの実行要件を制御命令に対して割り当てるための第1の割り当てモジュールを備える。
【0099】
本マーキングモジュールのさらなる実施形態では、第1の評価ユニットは、分散されたデータの1つのノードまたは1つの機器による制御命令の実行可能性に基づいて、実行のための実行要件を決定し、ここで特にこの実行要件は、分散型データベースシステムの1つのノードまたは1つの機器による制御命令の実行可能性のチェックの結果に依存して決定される。
【0100】
もう1つの態様によれば、本発明はコンピュータを利用した、機器の制御のための方法に関し、以下の方法ステップを備える:
- マーキングデータセットを割り当てるステップを備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードによってまたは機器によって実行可能であり、ここで
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されており、
- 前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するステップを備え、ここで
- 前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
- 前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D, BCN_D)またはノード(BCN, BCN_D)に転送される。
【0101】
もう1つの態様によれば、本発明はコンピュータを利用した、制御命令のマーキングのための方法に関し、以下の方法ステップを有する:
- 制御命令を受信するステップ(910)または読み出すステップと、
- マーキングデータセットを割り当てるステップとを備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、前記制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードまたは機器によって実行可能であり、
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0102】
本方法のさらなる実施形態では、この方法は、本制御システムの機能的特徴またはさらなる特徴を実現するためのさらなる方法ステップを備える。
【0103】
さらに上述の本発明による方法を実行するためのプログラム命令を備える1つのコンピュータプログラム製品が権利請求され、ここでこのコンピュータプログラム製品はその都度、上記の本発明による方法の1つ、本発明による全ての方法、または本発明による方法の組み合わせを用いて実行可能である。
【0104】
追加的に、生成機器、たとえば3Dプリンタ、コンピュータシステム、またはプロセッサおよび/または機器の生成に適した製造機械をコンフィギュレーションするためのプログラム命令を備える、コンピュータプログラム製品の1つの変形例が権利請求され、ここでこの生成機器は、これらのプログラム命令を用いて、上述の本発明による分散型データベースシステムおよび/または第1の分散型データベースシステムおよび/または制御システムおよび/または機器が生成されるように、コンフィギュレーションされる。
【0105】
さらに加えて、コンピュータプログラム製品の格納および/または提供のための提供装置が権利請求される。この提供装置は、たとえばこのコンピュータプログラム製品を格納する、および/または提供するデータ媒体である。代替としておよび/または追加的に、この提供装置は、たとえばネットワークサービス、コンピュータシステム、サーバシステム、特に分散型コンピュータシステム、クラウドベースのコンピュータシステム、および/または仮想コンピュータシステムであり、これらはコンピュータプログラム製品を好ましくはデータストリームの形態で格納および/または提供する。
【0106】
この提供は、たとえば全コンピュータプログラムの、プログラムデータブロックおよび/または命令データブロックの形態でのダウンロードとして、好ましくはデータファイル、特にダウンロードデータファイルとして、またはデータストリーム、特にダウンロードデータストリームとして行われる。この提供は、たとえば部分的なダウンロードとして行うこともでき、このダウンロードは、複数の部分から成り、そしてピアツーピアネットワークを介してダウンロードされるか、またはデータストリームとして提供される。このようなコンピュータプログラムは、たとえばこの提供装置を用いて、データ媒体の形態でシステムに読み込まれ、そしてプログラム命令を実行し、こうして本発明による方法がコンピュータ上で実行されるようになり、または生成機器をコンフィギュレーションして、本発明による分散型データベースシステムおよび/または第1の分散型データベースシステムおよび/または制御システムおよび/または機器を生成する。
【0107】
上述の本発明の特性、特徴、および利点、ならびにこれらがどのようなやり方で達成されるかが、以下の実施例に基づいた説明により明快かつ明確となり、これらの実施例は、図面に基づいてより詳細に説明される。ここでは概略図で示されている。
【図面の簡単な説明】
【0108】
図1】本発明の第1の実施例を示す。
図2】本発明のもう1つの実施例を示す。
図3】本発明のもう1つの実施例を示す。
図4】本発明のもう1つの実施例を示す。
図5】本発明のもう1つの実施例を示す。
【0109】
これらの図では、機能的に同等の要素には、特に記載の無いかぎり、同じ参照番号が付けられている。
【発明を実施するための形態】
【0110】
以下の実施例は、特に記載されていないかぎり、あるいはまだ記載されていないかぎり、本方法を実装または実行するために、少なくとも1つのプロセッサおよび/または1つのメモリユニットを備える。
【0111】
また特に(関係する)当業者においても、本方法の請求項を知ることで、当然ながら、従来技術では通例の全ての、製品の実現のための方法または実装のための方法を知ることとなり、こうして本明細書で特に個別に開示する必要はない。特にこれらの普通の、当業者には知られた変形実施例を、ハードウェア(コンポーネント)によってのみ、またはソフトウェア(コンポーネント)によってのみ実装することが可能である。代替としておよび/または追加的に、当業者は、その専門的な知識の範囲でハードウェア(コンポーネント)およびソフトウェア(コンポーネント)からなる本発明に基づくできる限りの任意の組み合わせを選択することができ、本発明による変形実施例を実現することができる。
【0112】
本発明による効果の一部分が好ましくは特殊ハードウェアによって(たとえばASICまたはFPGAの形態のプロセッサで)、および/または別の一部分が(プロセッサおよび/またはメモリを利用した)ソフトウェアによって実現される場合には、ハードウェア(コンポーネント)およびソフトウェア(コンポーネント)からなる本発明に基づく組み合わせが起こり得る。
【0113】
特に全てのこれらの実現方法を列挙することは、実現方法の数の多さを考えると不可能であり、また本発明の理解のためにも役立つものでなくあるいは不要である。この観点において特に、全ての以下の実施例は、特にこれらの本発明の教示するものがどのように実現され得るかのいくつかの方法を単に例示的に示すものである。
【0114】
したがって特に個々の実施例の特徴は、それぞれの実施例に限定されるものでなく、むしろ特に本発明全般に関わるものである。これに応じて、好ましくは1つの実施例の特徴は、別の1つの実施例の特徴ともなり得、特にそれぞれの実施例で詳細に説明する必要は無い。
【0115】
図1は、本発明の第1の実施例を示す。ここで図1は、機器の制御および/またはモニターのための制御システムを示し、ここで分散型データベースシステムがたとえばブロックチェーンBCを用いて実現される。
【0116】
この機器の制御および/またはモニターのための制御システムの実施例は、1つの変形例において以下の特徴を備える。
- たとえば分散型データベースシステム(BC)を備え、前記分散型ベースベースシステムは、
- たとえば複数のノード(BCN,BCN_D)を備え、ここでノード(BCN,BCN_D)および機器(D,BCN_D)は、第1の通信ネットワーク(NW1)を介して互いに接続されており、
- たとえばマーキングデータセットを割り当てるための第1のマーキングモジュール(110)を備え、ここで
- たとえば対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- たとえば前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、前記分散型データベースシステム(BC)の前記ノード(BCN,BCN_D)によってまたは前記機器(D,BCN_D)によって実行可能であり、
- たとえば前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されており、
- たとえば前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するための第1のメモリモジュール(130)を備え、ここで
- たとえば前記制御トランザクションは、前記分散型データベースシステム(BC)に(たとえば前記分散型データベースシステムのデータブロックに)格納され、
- たとえば前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に転送され、
- たとえば、対応する機器によって前記制御トランザクションの1つでの前記制御命令を実行するための、前記マーキングデータセットのそれぞれをチェックするための第1のチェックモジュールを備え、
- たとえば、前記チェックの結果に依存して、対応する機器によって前記制御命令を実行するための実行モジュールを備え、
- たとえば、前記制御命令の実行の結果を前記分散型データベースシステムの確認トランザクションに(たとえば前記分散型データベースシステムの前記データブロックに)格納するための第2のメモリモジュールを備える。
【0117】
図1は、ブロックB、たとえばブロックチェーンBCの第1のブロックB1,第2のブロックB2,および第3のブロックB3を詳細に示す。
【0118】
これらのブロックBは、それぞれ複数のトランザクションTを備える。ここでこれらのトランザクションTは、制御トランザクションおよび/または確認トランザクションを備える。
【0119】
第1のブロックB1は、たとえば第1のトランザクションT1a、第2のトランザクションT1b、第3のトランザクションT1c、および第4のトランザクションT1dを備える。
【0120】
第2のブロックB2は、たとえば第5のトランザクションT2a、第6のトランザクションT2b、第7のトランザクションT2c、および第8のトランザクションT2dを備える。
【0121】
第3のブロックB2は、たとえば第9のトランザクションT3a、第10のトランザクションT3b、第11のトランザクションT3c、および第12のトランザクションT3dを備える。
【0122】
これらのブロックBは、それぞれ追加的にさらに、直前のブロックに依存して形成されるチェーニングチェックサムCRCの1つを備える。以上により、第1のブロックB1は、その先行ブロックの第1のチェーニングチェックサムCRC1を備え、第2のブロックB2は、この第1のブロックB1の第2のチェーニングチェックサムCRC2を備え、そして第3のブロックB3は、この第2のブロックB2の第3のチェーニングチェックサムCRC3を備える。
【0123】
このそれぞれのチェーニングチェックサムCRC1,CRC2,CRC3は、好ましくは対応する先行ブロックのブロックヘッダに関して形成される。これらのチェーニングチェックサムCRCは好ましくは、たとえばSHA-256,KECCAK-256,またはSHA-3のような、1つの暗号学的ハッシュ関数を用いて形成することができる。たとえばこのチェーニングチェックサムは、追加的にデータブロックチェックサムに関して計算されてよく、またはヘッダがデータブロックチェックサムを備えてよい(このデータブロックチェックサムは後述する)。
【0124】
追加的にこれらのブロックの各々は、1つのデータブロックチェックサムを備えて良い。これはたとえば1つのハッシュツリーを用いて実現することができる。
【0125】
このハッシュツリーを形成するために、1つのデータ(ブロック)のトランザクション毎に1つのトランザクションチェックサムが(たとえば同様に1つのハッシュ値も)計算される。代替としてまたは追加的に、好ましくはこのトランザクションの発生の際にこのトランザクションの発生器によって生成されている1つのトランザクションチェックサムがこのために継続使用されてよい。
【0126】
このトランザクションチェックサムは、通常は1つのハッシュツリー、たとえば1つのマークルツリーまたはパトリシアツリーに対して用いられ、このツリーのルートハッシュ値/ルートチェックサムは、好ましくは対応するデータブロックチェックサムとしてそれぞれのブロックに記録される。
【0127】
1つの変形例においては、このデータブロックチェックサムは、チェーニングチェックサムとして用いられる。
【0128】
1つのブロックはさらに、本発明の実施形態で説明されているように、1つのタイムスタンプ、1つのデジタル署名、1つのプルーフオブワーク証明書を備えてよい。
【0129】
ブロックチェーンBC自体は、複数のブロックチェーンノードBCN、BCN_Dを有する1つのブロックチェーンインフラストラクチャによって実現される。これらのノードは、たとえばコンピュータ、ブロックチェーンオラクル、信頼できるノード、または制御あるいはモニターされることになる機器の1つ以上または全てであってよい。換言すれば特にこれらの機器は、いずれもブロックチェーンノードとして形成されていてよく、この場合これらはたとえば機器ノードBCN_Dと表される。たとえばブロックチェーンノードとして形成されていない、ブロックチェーンに読み込みのみでアクセスする機器は、特にブロックチェーン外部の機器Dとして表される。これらのノードは、第1のネットワークNW1(たとえばインターネットまたはイーサネットのネットワークのような1つのネットワーク)を介して互いに通信するように接続されている。このブロックチェーンインフラストラクチャを用いて、たとえばこのブロックチェーンBCの少なくとも一部のデータブロックBまたは全データブロックBが、このブロックチェーンの一部または全部のノードに対して複製される。
【0130】
特に機器とはブロックチェーン外部の機器Dまたは機器ノードBCN_Dのことであると理解されてよい。
【0131】
ブロックチェーンBCを用いて実現されている本発明による制御システムは、さらに第1のマーキングモジュール110、第1のメモリモジュール130、第1のチェックモジュール140、第1の実行モジュール150、および第2のメモリモジュール160を備え、これらは前記制御システム(たとえばバス)を介して、または前記ブロックチェーンおよびそのインフラストラクチャを介して通信するように互いに接続されている(たとえば第1のネットワークNW1)。ここでこの第1の(通信)ネットワークNW1は、モバイル通信ネットワーク、イーサネットネットワーク、WAN、LAN、またはインターネットであってよい。
【0132】
第1のマーキングモジュール110は、マーキングデータセットを割り当てるために設けられており、ここで対応する制御命令が実行要件を満足する場合に、この実行要件に基づいて、その都度これらのマーキングセットの1つが制御命令に割り当てられる。ここでこれらのマーキングデータセットのそれぞれ1つが割り当てられている制御命令は、分散型データベースシステム(BC)のノード(BCN,BCN_Dによってまたは機器(D,BCN_D)によって実行可能である。ここでこれらの実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0133】
ここでこのマーキングモジュールは、特に請求項11あるいは図4または図5に記載のマーキングモジュールである。
【0134】
代替としてまたは追加的に、制御命令が実行可能かどうかの情報が、1つのマーキングデータセットに格納されてもよい。このためこのマーキングモジュールは、たとえば実行が許可されていないことを示す値-1を備えてよく、実行が可能でないことを示す値0を備えてよく、または実行が許可されていることあるいは可能であることを示す値1を備えてよい。これに対応して実行可能でない制御命令(またはその実行が許可されていない制御命令)に、対応する制御命令が実行可能であるか否かを示す、1つのマーキングデータセットが割り当てられてもよい。
【0135】
ソフトウェアコンポーネントとして第1のマーキングモジュール110は、たとえばスマートコントラクトとして実装されていてよく、このスマートコントラクトは、ブロックチェーンあるいはそのインフラストラクチャによって実行される。このためこのスマートコントラクトは、トランザクションに格納され、このトランザクションはさらにブロックチェーンBCのデータブロックまたはブロックに格納される。
【0136】
ハードウェアコンポーネントとして、第1のマーキングモジュール110は1つのブロックチェーンオラクルおよび/またはブロックチェーンの1つのノードおよび/または機器として実装されてよく、これらは特にたとえば信頼できるものであり、そしてデジタル証明書またはデジタル署名を用いて実行要件に署名する。1つの変形例においては、対応するマーキングモジュールは、たとえばとりわけ重要だとされる特定の機器またはノードに割り当てられる。
【0137】
本制御システムは、任意選択で第1の分解モジュールを備えてよく、これはたとえば第1のマーキングモジュール110の一体化モジュールとして形成されているか、分離されたモジュールとして(たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして)、この第1のマーキングモジュールと同様に(たとえばブロックチェーンのスマートコントラクトとして)形成されている。この第1の分解モジュールは、1つの命令シーケンスを対応する制御命令に分解し、そしてこれらの制御命令をこの制御システムに、特に第1のマーキングモジュールあるいは第1のメモリモジュールに提供するために設けられている。
【0138】
ここでこの命令シーケンスは、機器、たとえば複数の製造機械に対する制御命令を備えてよく、これによりこれらの機器は1つの対象物すなわち1つの製品、たとえば1つのガスタービンまたは1つの電動モータを製造する。代替としてまたは追加的に、この命令シーケンスは、これらの機器によって実現されることになる、この製品の仕様を備える。この命令シーケンスは、必ずしも1つの製品の製造向けのものである必要はない。この命令シーケンスは、たとえば電力供給ネットワークを制御するものであってもよい。この際この命令シーケンス自体は、たとえばブロックチェーンに格納された1つのスマートコントラクトであってよい。ここでこのスマートコントラクトは、たとえば制御システム(たとえば第1の分解モジュールおよび/または第1のマーキングモジュール)によって、ブロックチェーンあるいはそのインフラストラクチャを用いて評価することができる。
【0139】
この命令シーケンスは、たとえばコード化されていてもよく、こうして第1のマーキングモジュール110または第1の分解モジュールは、この命令シーケンスが分解できる前に、この命令シーケンスをまず解読しなければならない。
【0140】
代替としてまたは追加的に、この命令シーケンスの制御命令がコード化され、そしてこれらの制御命令の実行のための対応する要件が、この命令シーケンスにプレーンテキストとして記録されている。
【0141】
この際この命令シーケンス自体および/またはこれらの制御命令は、ユーザーによって、インタフェースによって、1つの別のデータベースシステムによって、または入力機器によって、制御システムに提供されてよい。
【0142】
代替としてまたは追加的に、これらの制御命令および/または実行要件は、たとえばノウハウ保護を実現するために、第1のマーキングモジュール110によってコード化される。ここでたとえばこれらの制御命令を実行するための対応する機器Dおよび/または第1のチェックモジュール140および/または第1の実行モジュール150,150_Dは、対応する暗号学的手段を備える。たとえばこの暗号学的手段は、これらの制御命令および/または実行要件を解読するための、1つの対応する暗号学的キーである。
【0143】
第1の分解モジュールおよび第1のマーキングモジュールは、まず命令シーケンスを制御命令に分解するか、またはこの命令シーケンスに基づく制御命令を決定し、ここでこれらの制御命令は、制御命令の1つのグループであってもよく、または複数の制御命令であってもよい。第1のマーキングモジュール110は、好ましくは使用可能な機器および/またはノードを認識し、そしてこれらの制御命令(これらの制御命令は、制御命令の1つのグループであり得る)に対して実行要件を決定する。代替として、これらの実行要件は既にこの命令シーケンスにコーディング/格納されていてよく、そしてこの情報に基づいて第1のマーキングモジュールが、対応するこれらの制御命令に対する実行要件を決定してよい。
【0144】
追加的に本制御システムは、これらの実行要件に基づいて、機器によるこれらの制御命令の実行を、所定の基準に基づいて最適化するオプティマイザを備えてよい。代替としてこのオプティマイザは、これらの実行要件を決定し、そしてこれらを第1のマーキングモジュール110に提供する。
【0145】
以上により制御システムは、たとえば1つの製造プロセスを所定の基準に従って最適化するようになっている。この所定の基準は、たとえば製造時間、生じたコスト、または消費される電力であってよい。このオプティマイザは、たとえば第1の分解モジュールまたは第1のマーキングモジュールの1つの一体化モジュールであってよい。代替としてこのオプティマイザは、この制御システムの独立したモジュールとして形成されていてよい。
【0146】
このオプティマイザがたとえば分解モジュールまたはマーキングモジュールの一体化モジュールであると、このオプティマイザは、命令シーケンスを制御命令に分解する際に、そして実行要件を決定する際に、最適化を行うことができる。この際第1の分解モジュールまたは第1のマーキングモジュール110は、たとえば命令シーケンスを制御命令に分解する際に、このオプティマイザを用いてこの所定の基準を考慮する。
【0147】
たとえばこの基準が1つの製品の製造の際に製造時間を最適化する(たとえばこの製品に対する製造時間をできる限り小さく保つ)ものであれば、この命令シーケンスは、この製品の個々の部品が複数の機器によって並行して生産されるように、すなわち制御トランザクションにおける対応する制御命令がこれらの機器によって処理されるように、分解され、および/またはこれに対応して最適化された実行要件が計算される。たとえばこの基準が1つの製品の製造の際に製造コストを最適化するものであれば、この命令シーケンスは、個々の部品が1つの機器(たとえば対応する機器)によって連続して生産されるように、またはできる限り少ない機器によって生産されるように、すなわち制御トランザクションにおける対応するこれらの制御命令がこれらの対応するノード/機器によって処理されるように、分解され、および/またはこれに対応して最適化された実行要件が計算される。これを制御するために、たとえばこのオプティマイザによって、対応する情報をマーキングモジュールに引き渡し、こうしてこのマーキングモジュールは、これらの情報を実行要件に記録する。
【0148】
1つの変形例においては、このマーキングモジュールは分散型データベースシステム用の、または機器を制御および/またはモニターするための分散型データベースシステムを有する制御システム用のマーキングモジュールである。この変形例においては、マーキングモジュールは、1つのプロセッサと、任意選択で1つのメモリユニットとを備える。このプロセッサは、機器によって制御命令を実行するためのマーキングデータセットを割り当てるために設けられており、ここで実行要件が対応する機器によって満足されている場合にのみ割り当てが行われる。追加的に、マーキングモジュールは、たとえば図4および5に示す変形実施例および上述の特徴を備えてよい。
【0149】
これらの対応するマーキングデータセットは、たとえば制御命令あるいは制御トランザクションを実行することになるそれぞれの機器またはノードに対する1つの識別子を備えてもよく、これにより機器および/またはノードによるチェックの際のこれらの情報(実行可能性の認識および情報)が簡略化される。
【0150】
第1のマーキングモジュールは、たとえば1つの変形例においては、第1の割り当てモジュールを備えてよい。この際この第1の割り当てモジュールは、それぞれのマーキングデータセットを制御命令に割り当てるために設けられている。この第1の割り当てモジュールは、第1のマーキングモジュール110と同様に(たとえばブロックチェーンのスマートコントラクトとして、またはブロックチェーンの信頼できるノードとして)、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。この第1の割り当てモジュールは、特にブロックチェーンあるいは1つのスマートコントラクトによって実現されてよく、またはブロックチェーンインフラストラクチャの1つのソフトウェアコンポーネントである。
【0151】
第1のメモリモジュール130は、制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するためのものであり、ここでこれらの制御トランザクションは、分散型データベースシステム(BC)のデータブロックBに格納される。この際これらの制御トランザクションは、これらのデータブロックBを用いて、機器D、BCN_Dに転送される。これはたとえば、対応するデータブロックがブロックチェーンによって、第1のネットワークNW1を介して対応するノードに転送されることによって行われるが、たとえばこれはこれらのデータブロックがブロックチェーンおよび/またはノードおよび/または特定のノードに対して複製される場合である。これがたとえばブロックチェーン外部の1つの機器であると、これよりたとえばこのブロックチェーンの1つのインタフェース(たとえばウェブインタフェース)を介して、このような1つの機器に転送されるか、またはこのような機器が自分で所定の時間間隔後に対応するデータをブロックチェーンから読み出してよい。
【0152】
この際制御命令およびこれに割り当てられたマーキングデータセットは、2つの互いに異なる制御トランザクションに格納されるか、またはただ1つの制御トランザクションに格納されてよい。
【0153】
好ましくは第1のマーキングモジュール110によるこれらの制御命令の決定の際に、これらの制御命令は機器特有に決定される。これは特に、完全に1つの対応する機器によって処理することができる制御命令からなるグループがまず形成され得ることを意味している。制御命令から成るこれらのグループも、単に制御命令と呼ばれることがある。制御命令から成るこれらのグループあるいはこれらの制御命令に対して、次に、実行前提が計算される。代替としてまたは追加的に、これらの実行前提またはこれらの一部が、事前に設定されていてもよく、たとえばコンフィギュレーションメモリに記録されていてよい。制御命令の実行を許可する1つのマーキングデータセットの割り当ては、特にこれらの制御命令に対する実行前提が満足されている場合にのみ行われる。これに対応して、制御命令の実行を禁止する1つのマーキングデータセットが制御トランザクションに格納されてもよく、ここで対応する1つのマーキングデータセットは、1つの対応する情報を備える(たとえば“Execution = Not Allowed”)。
【0154】
マーキングモジュールは、たとえば本発明によるマーキングモジュールであってもよく、すなわち本発明の実施形態の1つ、あるいは図4および/または図5で説明したようなマーキングモジュールであってよい。
【0155】
格納することは様々なやり方で実現することができる。たとえば1つの制御命令または複数の制御命令は、1つの特定の制御トランザクションに格納されてよく、ここでこの特定のトランザクションは、この制御命令またはこれらの複数の制御命令に対する対応するマーキングデータセットを備える。この纏めるやり方は、これらのデータにできる限り簡単にアクセスするために有利である。
【0156】
代替として、対応するマーキングデータセットは、1つの単独の制御トランザクションあるいは別々の制御トランザクションに格納されていてよく、ここでこの単独のトランザクションは、どの制御命令またはどの複数の制御命令にこれらの対応するマーキングデータセットが関係するかについてのリファレンスまたはポインタを備える。これはたとえば(制御命令を有する)対応する(制御)トランザクションの(1つのブロックの)ブロック番号、これらの制御命令を備えるブロック、またはトランザクションのチェックサムを用いて行われる。これは、対応する機器によってこれらの制御命令が処理されるまで、これらのマーキングデータセットが決定されない場合に有利である。1つの機器(あるいは第1のチェックモジュール140あるいは第1の実行モジュール150)、たとえば1つの制御トランザクションの制御命令またはこれらの制御命令の一部を処理する対応する機器は、これに対応するマーキングデータセットがブロックチェーンにおいて1つの制御トランザクションで使用可能である場合、漸くこれらの対応する制御命令の処理を開始する。他の場合は、この機器あるいは第1のチェックモジュール140あるいは第1の実行モジュール150は、この制御トランザクションがこれらの対応するマーキングデータセットとともにブロックチェーンBCによって提供されるまで待機する。
【0157】
第1のメモリモジュール130は、第1のマーキングデータセット110(たとえばブロックチェーンのスマートコントラクトまたはこのブロックチェーンの信頼できるノード)と同様に、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。この第1のメモリモジュール130は、特にブロックチェーンあるいは1つのスマートコントラクトによって実現されてよく、またはこのブロックチェーンインフラストラクチャの1つのソフトウェアコンポーネントとなっている。
【0158】
第1のチェックモジュール140は、それぞれの1つの制御トランザクションあるいは制御命令に対して適合した1つのマーキングデータセットが存在しているかどうかをチェックするために設けられている。この場合このチェックモジュール140は、このマーキングデータセットが、たとえばこれらの複数の制御命令に対する実行可能性を裏付けるかどうかをチェックする。これらの情報は次に、好ましくは1つのチェック結果に集約され、そして実行モジュール150に提供される。
【0159】
この際特に「制御命令の1つ」とは、これらの制御命令の1つ以上を意味している(すなわちこれは1つ以上の制御命令である。)代替として「制御命令の1つ」とは、「制御命令の少なくとも1つ」のことであると理解される。「制御命令の1つ」とは、好ましくは1つの対応する制御トランザクションのこれらの制御命令のことである。
【0160】
この第1のチェックモジュール140は、第1のマーキングモジュール110と同様に(たとえばブロックチェーンのスマートコントラクトとして、またはブロックチェーンの信頼できるノードして)、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。この第1のチェックモジュール140は、特にブロックチェーンあるいは1つのスマートコントラクトによって実現されてよく、すなわちこのブロックチェーンインフラストラクチャの1つのソフトウェア部品となっているか、またはこれらの制御命令を実行することができる1つのノードまたは1つの機器の1つのコンポーネントとなっている。
【0161】
第1のチェックモジュール140による、1つのデータブロックの、対応する機器によって実行されることになる制御命令のチェックが完了すると、これよりこのチェックの結果が1つのデータセットで提供される。この第1のチェックモジュール140は、たとえばさらなる追加のチェックを行ってよい。たとえばトランザクションチェックサムまたはデータブロックチェックサムがチェックされてよい。対応するチェックサムがデジタル署名または証明書であれば、これよりたとえば、とにかく発行者あるいはチェックサム作成者の制御命令を機器上であるいは機器によって処理する権限が彼らに与えられているかどうかをチェックすることができる。
【0162】
たとえば対応する機器が信頼できることを宣言する、要求されているデジタル証明書を、対応する機器が有しているかどうかがチェックされてもよい。これは、たとえば公開アクセスされてはならないノウハウを備える制御命令である場合には、必要であり得る。
【0163】
たとえば制御命令が暗号学的にコード化されており、そして好ましくは対応する機器Dのみがこの暗号学的なコード化を解除する手段(たとえば1つの対応するキー)を備えることも考えられる。この手段を対応する機器D自体が備えてよく、または実行モジュール150,150_Dがこの手段を備える。
【0164】
実行モジュール150,150_Dは、チェックの結果(たとえば上記のチェック結果)に基づいて、対応する機器によって制御命令を実行するために設けられている。このチェックがこれらの制御命令の実行のための確認を生成するか、あるいはこのチェックの結果がこれらの制御命令の実行のための確認を備えると、対応する機器がこれらの制御命令を実行する。実行モジュールはたとえば、元々命令シーケンスに規定されていた制御命令の仕様に対応して、1つの部品に1つの穴を開けることができる。このチェックがこれらの制御命令の実行のための確認を全く生成しないか、あるいはこのチェックの結果がこれらの制御命令の実行のための確認を全く備えていないと、これらの制御命令の処理/実行は止められる。
【0165】
このチェックの結果が、これらの制御命令が対応する機器によって実行されてはならないことを明らかにする場合は、たとえば1つの制御信号が提供されてよい。この制御信号を用いて、たとえばサービスエンジニア用にアラームが発生されてよく、または1つの命令シーケンスに基づいて生成された制御命令(好ましくは全ての制御命令)が無効であると宣言されてよく、こうしてこの命令シーケンスの他の制御命令はもはや他の機器によって実行されることはない。このためたとえば、全ての機器に対する1つのこのような制御命令を有する1つの対応する制御トランザクションが、ブロックチェーンBCの1つのブロックに格納されてよく、そしてこれらの機器にこのブロックチェーンBCを用いて転送されてよい。1つのこのような制御トランザクションも同様に、好ましくは1つのプライオリティを有する実行要件を備える。このプライオリティは、好ましくは残りの制御命令のプライオリティよりも高くなっている。たとえばこの命令シーケンスの残りの制御命令を無効にし(無効と宣言する)、あるいはこれらの実行を止めるために、この高められたプライオリティを用いて、対応する制御指令が好適にこれらの機器によって処理される。
【0166】
第1のチェックモジュール140が、たとえばブロックチェーンBCの1つのモジュールであれば、これよりこの第1のチェックモジュール140は、たとえば機器およびこれら機器の機器特有の特性のリストを備え、このリストに基づいてこれらの機器特有の要件をチェックすることができる。代替としてこの第1のチェックモジュール140は、機器およびこれらの機器のネットワークアドレスのリストを備えてよく、そしてこれらの機器での対応する機器特有の特性を自分で読み出すことができる。これはチェックの際にこれらの機器の現在の動作状態を考慮することができるということで有利である。
【0167】
第1の実行ジュール150,150_Dは、第1のマーキングモジュール110と同様に(たとえばブロックチェーンのスマートコントラクトまたはこのブロックチェーンの信頼できるノードとして)、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。この実行モジュールは特に、ブロックチェーンあるいはスマートコントラクトによって実現されてよく、すなわちブロックチェーンインフラストラクチャの1つのソフトウェアコンポーネントであり、または1つのノードのコンポーネント(たとえば1つのブロックチェーン実行モジュール150)であり、または制御命令を実行できる1つの機器(たとえば1つの機器実行モジュール150_D)である。
【0168】
この第1の実行モジュールがたとえばブロックチェーンの1つのモジュールである場合、これよりこの第1の実行モジュール150は、たとえば制御命令の処理用の機器を駆動するために、これらの機器およびこれらの機器のネットワークアドレスのリストを備える。
【0169】
第2のメモリモジュール160は、制御命令の実行の結果を分散型データベースシステムのデータブロックの確認トランザクションに格納するために設けられている。
【0170】
対応する機器による制御命令の処理が成功したら、これからこの情報はブロックチェーンにおける1つの確認トランザクションに格納される。たとえば今処理された制御命令(事前に設定された制御命令)の処理を前提とする別の制御命令があると、ここでこれらの別の制御命令は、残りの実行要件も満足されている限り、1つの別の対応する機器または同じ対応する機器によって処理される。代替としてまたは追加的に、その対応する実行前提を満足していない(たとえば上記の処理された制御命令を前提とするが、第1の割り当て試行の際にはこれらの制御命令はまだ処理されていない)制御命令には、対応するマーキングデータセットが割り当てられてよいが、これはこの時点で上記の処理された、事前に設定された制御命令が確認トランザクションに格納されている場合(すなわち使用可能な場合)である。
【0171】
第2のメモリモジュール160は、第1のマーキングモジュール110と同様に(たとえばブロックチェーンのスマートコントラクトまたはこのブロックチェーンの信頼できるノードとして)、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。この第2のメモリモジュール160は、特にブロックチェーンあるいは1つのスマートコントラクトによって実現されてよく、すなわちこのブロックチェーンインフラストラクチャの1つのソフトウェアコンポーネントとなっているか、または制御命令を実行することができる1つのノードの1つのコンポーネントとなっている。
【0172】
本制御システムおよび/または分散型データベースシステムあるいはこのノード(たとえばブロックチェーンノード、機器(機器ノードおよびブロックチェーン外部の機器))は、たとえば追加的にさらに、たとえばプロセッサ、メモリユニット等の1つのさらなるコンポーネントまたは複数のさらなるコンポーネント、さらなる通信インタフェース(たとえばイーサネット、WLAN)、入力機器、特にコンピュータキーボードまたはコンピュータマウス、および表示機器(たとえばモニター)を備えてよい。このプロセッサは、たとえば複数のさらなるプロセッサを備えてよく、これらのプロセッサは特に、さらなる実施例を実現するために用いることができる。これらのさらなるコンポーネントは、たとえば同様にブロックチェーンあるいはこのインフラストラクチャを介して互いに通信するように接続されていてよい。
【0173】
このプロセッサは、たとえば実施例(および/またはさらなる実施例)のそれぞれの1つのモジュールまたは全てのモジュールの機能用の特定用途向けに実装された1つのASICであってよく、ここでプログラムコンポーネントあるいはプログラム命令は特に集積回路として実現されている。このプロセッサは、たとえば1つのFPGAであってよく、このFPGAは特に、実施例(および/またはさらなる実施例)のそれぞれの1つのモジュールまたは全てのモジュールの機能を実現するように、プログラム命令を用いてコンフィギュレーションされる。
【0174】
選択された変形実施例によっては、分散型データベースシステムは、第1のチェックモジュール、および/または第1の実行モジュールおよび/または第2のメモリモジュールを備えてよい。
【0175】
この変形実施例においては単に機器だけが、たとえば上記のような対応するモジュール無しに保持されている。これは、これらの機器をできる限り簡単に構成し、そして分散型データベースシステムに繋ぐために有利である。以上により特に低コストの機器を使用することができる。
【0176】
1つのさらなる変形実施例においては、機器は、第1の機器チェックモジュール、および/または第1の機器実行モジュール、および/または第2の機器メモリモジュールを備える。選択された変形実施例によっては、第1のチェックモジュールおよび/または第1の実行モジュールおよび/または第2のメモリモジュールは、これらの機能/タスクの実現の際に、これらの機器の対応するモジュールにアクセスしてよい。
【0177】
換言すれば本制御システムあるいは分散型データベースシステムは、(たとえば1つのテーブルに格納されたデータを用いて)これらの機器モジュールを認識する。第1のチェックモジュール140および/または第1の実行モジュール150および/または第2のメモリモジュール160は、どのように機器モジュール150_Dが応答し得るかあるいは駆動され得るかの情報を備える(たとえばモジュール内部のテーブルを備え、このテーブルは、好ましくはたとえば第1の通信ネットワークにおけるブロードキャストメッセージによって、またはこの分散型データベースシステムBCによって自動的に更新される。)。この際第1のチェックモジュールおよび/または第1の実行モジュールおよび/または第2のメモリモジュールは、好ましくは、必要な情報あるいはタスクを対応する機器あるいは対応する複数の機器に分散あるいは転送する部分のみを実装する(たとえば制御トランザクションまたは確認トランザクションまたはチェックモジュールによるチェックの結果)。残りの機能は機器モジュールによって実現される。
【0178】
これは第1のチェックモジュールによる計算集約的なチェックタスクまたは第1の実行モジュールによる実行タスクを、完全にまたは部分的に、対応する機器にアウトソーシングするために有利である。
【0179】
本発明による制御システムはさらに、1つの任意選択のレジストリモジュールを備えて良い。
【0180】
このレジストリモジュールは、第1のマーキングモジュール110と同様に(たとえばブロックチェーンのスマートコントラクトとして、またはブロックチェーンの信頼できるノードして)、たとえばソフトウェアコンポーネントおよび/またはハードウェアコンポーネントとして形成されていてよい。このレジストリモジュールは、特にブロックチェーンあるいは1つのスマートコントラクトによって実現されてよく、またはブロックチェーンインフラストラクチャの1つのソフトウェアコンポーネントである。代替としてこのレジストリモジュールは、特定の信頼できるノードとして実装されていてよく、そのネットワークアドレスはたとえば公知である。たとえばクローズド型の分散型データベースシステムであると、この分散型データベースシステムでは、権限のあるノードおよび/または機器のみが、制御システムあるいはこの分散型データベースシステムに繋げられ、こうして特にこのレジストリモジュールのネットワークアドレスのみが公知となる。
【0181】
このレジストリモジュールは、新たなノードおよび/または機器を制御システムに付け加えるために設けられている。1つの新たな機器および/またはノードが制御システムあるいは分散型データベースシステムに参加したい場合は、直ちにこの新たな機器によって、またはこの新たなノードによってレジストリモジュールにリクエストが送信される。これは直接行うことができ、ここでたとえばノード情報および/または機器情報が直接レジストリモジュールに転送される。これが間接的に行われる場合、このリクエストは分散型データベースシステムのノードとモジュールとの間で、このリクエストがレジストリモジュールに到達するまで転送される。
【0182】
この際ノード情報および/または機器情報は、以下のものを備える。
- 機器アドレス/ノードアドレス
- 機器/ノードのオペレータ
- 機器/ノードの機能範囲
- 暗号学的キー(たとえば機器/ノードによって生成されているチェックサム/デジタル署名のチェック用)
- 実行要件のチェックの際に必要となる他の特性
【0183】
次にこれらのノード情報および/または機器情報は、たとえば制御システムに(たとえば対応するテーブルに)格納され、以上により、対応するモジュールによる制御命令あるいは制御トランザクションのチェックおよび/または実行を実際に行うことができる。
【0184】
たとえばクローズド型の分散型データベースシステムであると、レジストリモジュールは、機器/ノードがアクセス権限が与えられているかどうかを、すなわち特にこの機器/ノードがこの制御システムあるいはこの分散型データベースシステムの一部として受容されているかどうかをチェックする。このためこの機器/ノードは、たとえば認証情報(暗号学的キー、パスワード、等)を提供し、これらの認証情報はレジストリモジュールによってチェックされる。
【0185】
たとえばパブリック型の分散型データベースシステムであると、たとえばノード情報および/または機器情報が収集される。
【0186】
変形実施例によっては、チェックモジュール140および/または実行モジュール150および/または第2のメモリモジュール160は、任意選択のモジュールである。
【0187】
図2は、ブロックチェーンBCのノードとして実現されている機器の制御を実装する、本発明の第2の実施例を示す。
【0188】
この変形実施例は図1に示す実施例によって実現できるかあるいはこれに準拠していてもよい。これに対応して図2に示す制御システムも同様に、図1に示す制御システムの1つ以上のモジュールを備えてよい。
【0189】
ブロックチェーンBCとして実現されているこの制御システムによって、複数のトランザクションTが提供され、これらのトランザクションは制御トランザクションを備えてもよい。
【0190】
たとえば第5のトランザクションT2aは、第1の制御命令およびこれらの制御命令に割り当てられた第1のマーキングデータセットを備える第1の制御トランザクションである。たとえば第6のトランザクションT2bは、第2の制御命令およびこれらの制御命令に割り当てられた第2のマーキングデータセットを備える第2の制御トランザクションである。第1のマーキングデータセットは、第1の制御命令を第1の機器ノードBCN_D_1によって実行することができることを示す。ここで第2のマーキングデータセットは、第2の制御命令を第2の機器ノードBCN_D_2によって実行することができることを示す。このためそれぞれのマーキングデータセットは、たとえばこれらの制御命令を実行することになる対応する機器または機器ノードに対する1つの固有の識別子を備えてよい。代替としてまたは追加的に、これらの対応する制御命令が、これらの制御命令を実行することになる対応する機器または機器ノードに対する1つのこのような固有の識別子を備えてよい。
【0191】
換言すれば、本発明によって、これらの機器および/またはノードによる制御命令の実行のセキュリティが高められるということで、分散型データベースシステムが改善される。マーキングデータセットは、好ましくは非常に少ない情報のみ(たとえば固有の識別子、および/または対応する制御命令が実行可能であるか否かの情報)を備えているので、これらの情報用に必要なメモリ領域は少ない。これは特にブロックチェーンベースの実装の際に、分散型データベースシステムの全使用メモリあるいはメモリ占有をできる限り小さく保つために有利である。他の方法で、たとえば全部の実行要件(たとえば実行の際の制御命令の依存性、機器特性、コード化されたデータ、制御命令の最適化のための情報、等)をトランザクションに格納する方法は、大きなメモリ領域を使用するということを考慮すると不利であり、これは、小さなバンド幅を有する通信ラインを利用する場合にはとりわけ、1つの機器を十分に駆動あるいは制御するために、これらの実行要件に読み出しに時間がかかるだろうからである。これに対応して1つのマーキングデータセットは、好ましくは(制御命令を実行することになる機器/ノードに対する)固有の識別子、および/または対応する制御命令が実行可能であるという情報、および/または対応する制御命令が実行可能でないという情報だけを備える。
【0192】
第1のステップS1において、第1の制御トランザクションの第1の命令がブロックチェーンによって第1のノードBCN_D_1に転送され、そしてこの第1のノードBNC_D_1によって実行されるが、これは対応するマーキングデータセットがこれを許可する場合である。この第1の機器ノードBCN_D_1によるこれらの第1の制御命令の処理が成功した後、これにより第2のステップS2において、これらの処理についての確認が1つの確認トランザクションに書き込まれ、そしてブロックチェーンの1つのデータブロックに格納される。これはこの実施例においては第9のトランザクションT3aである。
【0193】
1つの機器ノードとはここでは特にブロックチェーンの1つのノードのことであると理解され、同時にこのノードは1つの機器であり、すなわち制御命令を処理するための機器特性を備える。
【0194】
本発明を用いて、たとえ個々のノードおよび機器の様々なオペレータが互いを信頼しなくとも、簡単なやり方で複雑な制御命令チェーン(命令シーケンスとも呼ばれる)を、ノードおよび/または機器ノードおよび/またはブロックチェーン外部の機器が互いにネットワーク化されている1つの(自動化)ネットワークで処理することができる。特にこの分散型データベースシステムあるいはブロックチェーンによって、制御命令がとにかく実行可能であるのかどうか、これらの制御命令のチェックが行われる。たとえばこれらの制御命令および/または対応するマーキングデータセットが、これらの制御命令を実行することになる機器/ノードに対して対応する固有の識別子を全く備えていないならば、この分散型データベースシステム自体が、対応する機器/ノードの1つの固有の識別子(たとえばシリアル番号または管理番号)に基づいて、これらの制御命令を識別し、そして対応する制御トランザクションをこれらの制御命令および対応するマーキングデータセットと共に前記機器/ノードに転送してよい。このためこの分散型データベースシステムは、たとえば1つの機器レジスタを備えてよく、この機器レジスタは、これらの機器/ノードを識別しそして対応するデータをこれらに転送するために、これらの機器/ノードに対する対応する情報を備える。
【0195】
本発明の不図示の実施例は、図1または図2においてこれらに付随する実施例を用いて説明したように、1つの機器に関する。
【0196】
この機器は、第1の通信モジュール、任意選択の第1のチェックモジュール、任意選択の第1の実行モジュール、および第2のメモリモジュールを備え、これらは1つのバスを介して互いに通信するように接続されている。バスは、ここでは単純なプログラムフロー、すなわちこれらの対応するコンポーネント間のデータ交換であってもよい。
【0197】
この機器は、たとえば追加的にさらに、たとえばプロセッサ、メモリユニット等の1つのさらなるコンポーネントまたは複数のさらなるコンポーネント、さらなる通信インタフェース(たとえばイーサネット、WLAN)、入力機器、特にコンピュータキーボードまたはコンピュータマウス、および表示機器(たとえばモニター)を備えてよい。このプロセッサは、たとえば複数のさらなるプロセッサを備えてよく、これらのプロセッサは特に、さらなる実施例を実現するために用いることができる。これらのさらなるコンポーネントは、たとえば同様にバスを介して互いに通信するように接続されていてよい。
【0198】
このプロセッサは、たとえば実施例(および/またはさらなる実施例)のそれぞれの1つのモジュールまたは全てのモジュールの機能用の特定用途向けに実装された1つのASICであってよく、ここでプログラムコンポーネントあるいはプログラム命令は特に集積回路として実現されている。このプロセッサは、たとえば1つのFPGAであってよく、このFPGAは特に、実施例(および/またはさらなる実施例)のそれぞれの1つのモジュールまたは全てのモジュールの機能を実現するように、プログラム命令を用いてコンフィギュレーションされる。
【0199】
第1の通信モジュール、たとえばイーサネットインタフェースは、分散型データベースシステムの(たとえばブロックチェーンの)データブロックを受信するために設けられており、ここで
- 機器に対する制御トランザクションは制御命令と共に、分散型データベースシステムのデータブロックに格納されており、
- これらの制御トランザクションは、これらの制御命令に割り当てられたマーキングデータセットを備える。
【0200】
第1のチェックモジュールは、対応する機器によってこれらの制御トランザクションの1つでの制御命令を実行するためのマーキングデータセットのそれぞれをチェックするために設けられている。
【0201】
第1の実行モジュールは、このチェックの結果に依存して、対応する機器によってこれらの制御命令を実行するために設けられている。
【0202】
第2のメモリモジュールは、制御命令の実行の結果を分散型データベースシステムのデータブロックの確認トランザクションに格納するために設けられている。
【0203】
これらのモジュールは、たとえばハードウェアコンポーネントとして、またはソフトウェアコンポーネントとして、またはハードウェアコンポーネントとソフトウェアコンポーネントとの組み合わせとして実現することができる。たとえばプログラムライブラリのようなソフトウェアコンポーネントが利用されてよく、これらのプログラムライブラリのプログラム命令を用いてプロセッサをコンフィギュレーションし、このプロセッサが対応するモジュールの機能を実現するようにする。
【0204】
機器自体は分散型データベースシステムのブロックチェーンの1つのノードであってよい。
【0205】
機器がたとえば第1のチェックモジュールおよび/または第1の実行モジュールを備える場合、これは制御システム(図1~2)または分散型データベースシステム(図4)による計算集約的なチェックタスクを、完全にまたは部分的に、この機器またはこの機器と同様な複数の機器にアウトソーシングするために有利である。
【0206】
図3は、本発明の第3の実施例である、本発明による方法のフロー図を示す。
【0207】
この方法は好ましくはコンピュータを利用して実現されている。
【0208】
このコンピュータを利用して機器を制御するための方法の実施例は、1つの変形例において以下の方法ステップを備える。
- マーキングデータセットを割り当てるステップを備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードによってまたは機器によって実行可能であり、ここで
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されており、
- 前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するステップを備え、ここで
- 前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
- 前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に(たとえば前記制御トランザクションが格納されている前記分散型データベースシステムを用いて)転送され、
- 対応する機器による前記制御トランザクションの1つでの制御命令を実行するための前記マーキングデータセットのそれぞれをチェックするステップを備え、
- 前記チェックの結果に依存して、対応する前記機器によって前記制御命令を実行するためのステップを備え、
- 前記制御命令の実行の結果を前記分散型データベースシステムの確認トランザクションに(たとえば前記分散型データベースシステムのデータブロックに)格納するステップ備える。
【0209】
このコンピュータを利用して機器を制御するための方法の実施例は、1つの変形例において以下の方法ステップを備えてよい。
- たとえばマーキングデータセットを割り当てるステップを備え、ここで
- たとえば対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- たとえば前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードによってまたは機器によって実行可能であり、ここで
- たとえば前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されており、
- たとえば前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するステップを備え、ここで
- たとえば前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
- たとえば前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に(たとえば前記制御トランザクションが格納されている前記分散型データベースシステムを用いて)転送され、
- たとえば、対応する機器による前記制御トランザクションの1つでの制御命令を実行するための前記マーキングデータセットのそれぞれをチェックするステップを備え、
- たとえば、前記チェックの結果に依存して、対応する前記機器によって前記制御命令を実行するステップを備え、
- たとえば、前記制御命令の実行の結果を前記分散型データベースシステムの確認トランザクションに(たとえば前記分散型データベースシステムのデータブロックに)格納するステップ備える。
【0210】
詳しくはこの実施例では、コンピュータを利用して機器を制御するための方法が実現される。
【0211】
本方法は、マーキングデータセットを割り当てるための第1の方法ステップ310を備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードによってまたは機器によって実行可能であり、ここで
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0212】
このステップは、さらに加えて、上記の実施例によるマーキングモジュールに関連して開示されている他の特徴を備えてよい。特にこの方法ステップは、たとえば実行要件のチェックを備えてよく、この方法ステップでは、機器/ノードが、対応する制御命令を実行できるかどうか、あるいはこの実行に対して対応する要件が満足されているかどうかがチェックされる。
【0213】
本方法は、前記制御命令のそれぞれを、これにそれぞれ付随するマーキングデータセットと共に、制御トランザクションに格納するための第2の方法ステップ320を備え、ここで
- 前記制御トランザクションは、前記分散型データベースシステム(BC)に格納され、
- 前記制御トランザクションは、前記分散型データベースシステム(BC)を用いて前記機器(D,BCN_D)またはノード(BCN,BCN_D)に転送される。
【0214】
送信あるいは転送は、上記の実施例で説明したように、たとえば第1の通信ネットワークを介して、分散型データベースシステムを用いて行われる。
【0215】
本方法は、対応する機器によって制御トランザクションの1つでの制御命令を実行するためのマーキングデータセットのそれぞれをチェックするための第3の方法ステップ330を備える。これはたとえばこの対応する機器自体によって、または分散型データベースシステムによって行うことができる。
【0216】
このチェックは、この対応する機器がこれらの制御命令を実行することができるか(Y)またはできないか(N)を示す結果を生成する。
【0217】
これに対応して、本方法は、このチェックの結果に依存して、この対応する機器によってこれらの制御命令を実行するための第4の方法ステップ340を備え、ここでこの制御トランザクションのこれらの制御命令が実行されるが、これはこの実行が(チェック)結果によって許可されているかあるいは確認されている(Y)場合である。
【0218】
本方法は、これらの制御命令の実行の結果を分散型データベースシステムのデータブロックの確認トランザクションに格納するための第5の方法ステップ350を備える。
【0219】
チェックの際にこれらの制御命令をこの対応する機器によって実行することが許されていない(N)ことが明らかになるかあるいはこの結果により示されると、第6の方法ステップ360が実行される。この方法ステップは、たとえば命令シーケンスのこれらの制御命令をキャンセルしてよく、ここでたとえば命令シーケンスのこれらの制御命令に対するキャンセル制御命令が1つのトランザクションに格納され、このトランザクションはさらにブロックチェーンのブロックに格納される。代替としてまたは追加的に、命令シーケンスからもたらされるこれらの制御命令またはさらなる制御命令は、全部または一部がキャンセルされるか、または無効と宣言されてよい。代替としてまたは追加的に、これらの対応する制御命令の実行/処理は止められる。
【0220】
代替としてまたは追加的に、この第6の方法ステップにおいては、このチェックが再開されてよく、そして本方法は第3の方法ステップに戻る。このようにして、たとえば対応するマーキングデータセットが分散型データベースシステムによって提供されるまでの待機を実現することができる。このためたとえばコンフィギュレーション可能な時間遅延が考慮されてよく、この時間遅延は特に、第3の方法ステップへ戻るまでにどの位かかるかを示す。代替としてまたは追加的に、この待機あるいはこれらの方法ステップの反復が制限されてもよく、ここで例えばこの反復が所定の反復回数により制限されるか、および/または最大待機時間が与えられる。これに対応する値(最大待機時間、反復回数)を超えると、対応する制御命令は実行されない。これらはここで好ましくは分散型データベースシステムのトランザクションに記録される。
【0221】
代替としてまたは追加的に、この結果は、この第6の方法ステップにおいて、ブロックチェーンの1つの確認トランザクションに(すなわちこのブロックチェーンの1つのブロックに)格納されてもよい。
【0222】
これらの個々の方法ステップは、上記の実施例で説明されているように、本制御システムの様々なコンポーネントによって実現することができる。これらはたとえば分散型データベースシステム自体および/またはこの分散型データベースシステムの機器および/またはノードである。
【0223】
(この実施例または上記の実施例に示す)本発明を用いて、1つの命令シーケンスを制御命令あるいは制御トランザクションに容易に分解することができ、これらはこの後これに対応して適した機器によって処理される。これは高いデータ完全性によって保証されており、このデータ完全性は(たとえば制御トランザクションでの処理される制御命令の改竄保護を達成するために)、たとえばブロックチェーンによって達成される。制御命令あるいは制御トランザクションの処理の結果が確認トランザクションに格納されることによって、これらの機器は本発明によってモニターすることもできる。この際これらの確認トランザクションは、これらの制御トランザクション/制御命令の処理の詳細を備えてもよい。これらは、たとえば製造時間または処理(たとえば1つの製品の製造)の際に生じた製造問題である。これに関しては、1つの確認トランザクションは、これらの制御命令の処理が成功しなかったことの情報を備えてもよい。実行が成功しなかったこれらの制御命令が、別の制御命令あるいはさらなる制御命令に対し前提となる制御命令である場合、これより特にマーキングモジュールによる実行要件のチェックの結果は、これらの別の制御命令あるいはさらなる制御命令に対して、これらの別の制御命令あるいはさらなる制御命令が1つの対応する機器あるいはこの対応する機器によって実行することが許されないことを示すであろう。
【0224】
しかしながらこれらの別の制御命令あるいはさらなる制御命令に対する実行要件が満足される場合、これよりこれらの実行を許可する1つのマーキングデータセットが割り当てられる。
【0225】
第3~第6の方法ステップ(330~360)は、変更実施例によっては、任意選択の方法ステップであってよい。
【0226】
図4は、本発明の第4の実施例である、マーキングモジュール110を示す。
【0227】
本マーキングモジュール110は、分散型データベースシステム用に、または機器の制御および/またはモニターのための分散型データベースシステムを有する制御システム用に、または制御命令を(たとえばトランザクションの形態で)実行する機器用に適している。
【0228】
このマーキングモジュール110は、第1のインタフェース410、第1の評価ユニット420、および任意選択のコンフィギュレーションメモリ430を備え、これらはバス401を介して好ましくは互いに通信するように接続されている。バスは、ここではたとえば簡単なプログラムフロー、すなわちこれらの対応するコンポーネント間のデータ交換であってもよい。
【0229】
このマーキングモジュールは、たとえば追加的にさらに、たとえばプロセッサ、メモリユニット等の1つのさらなるコンポーネントまたは複数のさらなるコンポーネント、さらなる通信インタフェース(たとえばイーサネット、WLAN)、入力機器、特にコンピュータキーボードまたはコンピュータマウス、および表示機器(たとえばモニター)を備えてよい。このプロセッサは、たとえば複数のさらなるプロセッサを備えてよく、これらのプロセッサは特に、さらなる実施例を実現するために用いることができる。これらのさらなるコンポーネントは、たとえば同様にバスを介して互いに通信するように接続されていてよい。
【0230】
このプロセッサは、たとえば実施例(および/またはさらなる実施例)のそれぞれの1つのモジュール(または1つのユニット)または全てのモジュールの機能用の特定用途向けに実装された1つのASICであってよく、ここでプログラムコンポーネントあるいはプログラム命令は特に集積回路として実現されている。このプロセッサは、たとえば1つのFPGAであってよく、このFPGAは特に、実施例(および/またはさらなる実施例)のそれぞれの1つのモジュールまたは全てのモジュールの機能を実現するように、プログラム命令を用いてコンフィギュレーションされる。
【0231】
第1のインタフェース410は、制御命令を受信または読み出すために設けられている。この際これらの制御命令は、たとえばユーザーによってGUIを用いてこの第1のインタフェース410に転送することができる。これらの制御命令は、しかしながら1つのサーバまたは1つの別のデータベースによって提供されてもよい。これらもまたたとえば1つの分散型データベースシステムであってよく、または1つの階層型データベースであってよい。このマーキングモジュールがたとえば本発明による1つの制御システムに使用されるのであれば、これよりこれらの制御命令または1つの命令シーケンスは、この実施例で説明されるようなやり方で同様に、この制御システムに転送することができる。
【0232】
これらの制御命令は、たとえば、上記の実施例で説明されているように、1つの分解モジュールによって提供することもできる。このためこの分解モジュールは、これらの制御命令または命令シーケンスを受信あるいは読み出す。
【0233】
ここでこれらの制御命令または命令シーケンスは、たとえばユーザーによりGUIを用いて、そしてたとえば第2のインタフェースまたは第1のインタフェース410を介して、第1の分解モジュールに転送することができる。これらの制御命令またはこれらの命令シーケンスは、しかしながら1つのサーバまたは1つの別のデータベースによってこの分解モジュールに提供されてもよい。これらもまたたとえば1つの分散型データベースシステムであってよく、または1つの階層型データベースであってよい。
【0234】
第1の評価ユニット420は、マーキングデータセットを割り当てるために設けられており、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、前記制御命令のそれぞれに割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステムのノードによって、または機器によって実行可能であり、ここで
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0235】
コンフィギュレーションメモリは、機器に関する機器特有のデータおよび/またはノードに関する機器特有のデータおよび/または機器特有の要件および/または実行要件を備える。既に説明したように、これらの実行要件は(たとえばこれらの制御命令自体によって、または1つのポリシーによって)事前に設定されていてよく、またはこれらの実行要件が、これらの制御命令に基づいて計算される。
【0236】
本マーキングモジュールは、特にネットワークを介して互いに接続されている機器またはノード(たとえば製造ロボット、電力供給ネットワーク用の制御システム、銀行端末、現金自動預け払い機、銀行間送金)の制御命令の実行を改善するために有利である。
【0237】
追加的に、たとえば分散型インフラストラクチャ(たとえば分散型データベースシステムであって、機器および/またはノードを有するか、またはこの分散型データベースにアクセスするノード/機器を有する)のオペレーションの際のセキュリティを高めることができ、このセキュリティは、分散型データベースシステム(たとえばブロックチェーン)を用いて全体的にまたは部分的に実装されている。
【0238】
特に制御命令なる用語は広く解釈されるべきものである。これはここでは、たとえば上述の定義に対する追加として、1つの機器(たとえば1つのブロックチェーンの1つのノード、またはこのブロックチェーンの外部の1つの機器、たとえば機器D)によって実行されることになるトランザクションであってもよい。換言すれば、本装置により特に未チェックのトランザクションがチェック済のトランザクションに変換され、ここでこのチェックは、たとえば制御命令を実行することになる、機器特有の特性および機器特有のデータに基づいて(すなわち実行要件に基づいて)行われる。
【0239】
本発明を用いて、たとえば機器でこれらの制御命令を実行するために必要な機器特有の要件を保証あるいはチェックすることができる。この際これらの機器特有の要件は、たとえばセキュリティ要件および/または場所に関係した要件(たとえば国情報、GPS情報、または郵便番号)であってもよく、これらは1つの機器が制御命令を実行するために満足しなければならない。または、たとえばさらに、1つの特定の認証あるいは所定の認証、および/または確認が、この機器特有の要件によってこの実行のために要求され得る。
【0240】
ノードまたは機器に対する機器特有の要件は、たとえばユーザー指向であってもよく、すなわちユーザー特有の要件を備えてよい。たとえば第1のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に低い精度を要求し得る。たとえば第2のユーザーは、このユーザーに割り当てられた機器特有の要件において、1つの加工対象物の加工の際に高い精度を要求し得る。このようにしてセキュリティ要件もユーザー指向で格納されてよい。たとえば、特定の形式または種類の制御命令に、ユーザー指向あるいは非ユーザー指向で、機器特有の要件が割り当てられていることも可能であり、これらの機器特有の要件はマーキングモジュールによって考慮される。たとえば1つのファームウェアのノウハウが1つの製造施設において誰に対しても容易にアクセス可能となることがないように、このファームウェアをインストールするための1つの制御命令が所定のセキュリティ要件を満足する1つの機器によってのみ実行されるように要求されていてよい。この所定のセキュリティ要件によって、たとえば特定のスタッフだけが1つの対応する機器にアクセスし、またはこの機器が1つのパスワードおよび/または他の暗号学的機構によって保護されている(たとえばアクセスがチップカードの挿入およびPINの入力によってのみ可能)ことが要求されていてよい。
【0241】
これはたとえば誰かが1つの機器(たとえば現金自動預け払い機)で現金を引き出そうとした場合であり得る。ここでこれらの制御命令は、たとえばこの顧客の要求である現金引き出しを行うことになる。たとえば一人の対応する顧客が(たとえばこの顧客のホームバンクでまたはオンラインバンキングで)、所定の国好ましくはイタリア、フランス、およびオーストリアでのみ現金引き出しができるように設定すると、これよりこれは好ましくは一人の特定のユーザーに割り当てられている機器特有の要件に格納される。アンドラにある1つの現金自動預け払い機は、ここで場合によっては全く引き出しを許可しないかあるいは止めるであろう。たとえばセキュリティ要件によって顧客の所定の確認が要求されていることがあり得る。たとえば、引き出しのために1つのPINが入力されること(これは米国では強制ではないが)および/または1つの特定のPIN長(たとえば8文字)が要求されること、および/または他の追加的な認証方法(たとえば2要素認証,モバイルTAN,グーグル認証)が要求されることである。同様にしてたとえばマネーカードのチャージが実現されていてよく、ここでたとえばこのマネーカードおよびチャージするための機器に対する機器特有の要件はセキュリティ要件を規定する。たとえばこのマネーカードまたはチャージするための機器は、このチャージを遂行するために、所定の暗号学的方法および/または認証方法を利用するかあるいは有していなければならない。
【0242】
代替としてまたは追加的に、(第1の)評価ユニットは制御命令をさらに分析またはより包括的に分析してもよい。たとえばこの評価ユニットが既に、機器特有の要件が満足されていないかまたは満足できない(たとえばこれらの制御命令が、承認されていない国から送信されているか、または承認されていない国で実行するためであると考えられる)ことを確定している場合には、たとえば(第1の)評価ユニットは、対応する機器、ノード、またはシステムにこの非実行可能性を指摘し、そして好ましくはこれらの制御命令の実行を止めるかあるいは禁止する1つの制御トランザクションを生成してよい。代替としてたとえば制御トランザクションが全く生成されず、そしてある時点で、たとえば所定時間後に、制御命令の実行に対しタイムアウトとなってもよい。
【0243】
これを確定するために、(第1の)評価ユニットは、これらの制御命令を実行することになる機器に対する機器特有のデータを、たとえばこれらの制御命令に対する機器特有の要件と比較する。この比較の結果に依存して、次に、対応する機器でこれらの制御命令の実行を許可する1つの制御トランザクションが生成されるか、または制御トランザクションが全く生成されないか、またはこれらの制御命令の実行を禁止するかあるいは止める制御トランザクションが生成される。代替としてまたは追加的に、これらの情報は1つのマーキングデータセットに格納されてもよい。このためこのマーキングモジュールは、たとえば実行が許可されていないことを示す値-1を備えてよく、実行が可能でないことを示す値0を備えてよく、または実行が許可されていることあるいは可能であることを示す値1を備えてよい。これに対応して実行可能でない制御命令に、対応する制御命令が実行可能であるか否かを示す、1つのマーキングデータセットが割り当てられてもよい。
【0244】
この(第1の)評価ユニットが、これらの制御命令が実行可能であること(すなわち上記の比較が肯定的である)を確定すると、これらの実行要件に基づいて、対応する制御命令に、これらの制御命令を実行することが許されることを示す1つの対応するマーキングデータセットが割り当てられる。これはたとえば第1の割り当てモジュールによって行われてよく、この第1の割り当てモジュールは、マーキングモジュールの一体化された1つのコンポーネントであるかまたは評価ユニットの一体化された1つのコンポーネントである。
【0245】
この後これらの制御命令は、場合によりこれに付随するマーキングデータセットと共に、たとえばマーキングモジュールの第1のメモリモジュールに転送される。この転送は、たとえば割り当てモジュール、(第1の)評価ユニット、またはマーキングモジュール自体によって行うことができる。
【0246】
この第1のメモリモジュールは、制御命令のそれぞれを制御トランザクションに格納するために設けられており、ここでこれらの制御命令は、たとえばこれに割り当てられたマーキングデータセットと共に制御トランザクションに格納されるが、これはこれらの制御命令が機器の1つ(たとえば1つの現金自動預け払い機)によって実行可能である場合である。
【0247】
換言すればたとえば上記の比較の結果に依存して、1つの制御トランザクションが格納されるか、および/またはどの内容と共に1つの制御トランザクションが格納されるかが確定される。
【0248】
格納のために、これらの制御トランザクションは次に、分散型データベースシステム(BC)のデータブロック(B)に格納されてよく、ここで特に、これらの制御トランザクションは、これらのデータブロック(B)を用いて機器(D,BCN_D)またはノードに転送されるが、ただし制御トランザクションが生成されている場合である。
【0249】
追加的に本マーキングモジュール110はさらに、たとえば、上記の実施例で説明されているように、第1の割り当てモジュールおよび/または第1のメモリモジュールおよび/またはさらなるモジュールを備えてよい。ここでノードまたは機器は、上記の実施例で説明されているように、たとえば1つのチェックモジュールおよび/または1つの実行モジュールを備えてよい。
【0250】
たとえば上述したように、コンピュータ(すなわち制御命令を送信する機器)のセキュリティ要件および/または場所に関連した要件がチェックされ、そして別の機器による払い出しまたは送金が許可されているかを確定するためにチェックすることで、このようにしてオンラインバンキングを保護することも可能であろう。このため、既に説明したように、たとえばこのコンピュータは、分散型データベースシステムの1つのノードまたは1つの機器であってよい。
【0251】
図5は、本発明の第5の実施例である、本発明による方法のフロー図を示す。
【0252】
この方法は好ましくはコンピュータを利用して実現されている。
【0253】
詳しくはこの実施例では、コンピュータを利用して制御命令をマーキングするための方法が実現される。本方法はたとえば、図4で説明されているように、制御命令の実行可能性を確定するために使用されてもよい。
【0254】
本方法は、制御命令の受信または読み出しのための第1のステップ510を備える。
【0255】
本方法は、マーキングデータセットを割り当てるための第2のステップ520を備え、ここで
- 対応する制御命令が実行要件を満足する場合に、前記実行要件に基づいて、その都度前記マーキングデータセットの1つが、前記制御命令に割り当てられ、
- 前記マーキングデータセットのそれぞれ1つが割り当てられている前記制御命令は、分散型データベースシステム(BC)のノードまたは機器によって実行可能であり、
- 前記実行要件には、機器特有の要件および/または前提となる制御命令が格納されている。
【0256】
たとえば1つの機器が機器特有の要件を満足するかがチェックされ、ここでこの対応する機器のために機器特有のデータがチェックされる。
【0257】
この際これらの実行要件には、機器特有の要件および/または前提となる制御命令が格納されているか、あるいは格納される。ここで分散型データベースシステムは、たとえばブロックチェーンである。
【0258】
ここでノードまたは機器は、たとえばこの分散型データベースシステムを用いて接続されている。
【0259】
これらの制御命令の実行可能性をチェックするために、たとえば実行要件がチェックされる。このためこれらの機器特有の要件または前提とする制御命令が分析され、そして既に実行されている制御命令および使用可能な機器に対する機器特有の要件と比較される。たとえばこのステップにおいて、マーキングデータセットを用いて、これらの制御命令を実行することになる1つの特定のノードまたは1つの特定の機器の割り付けまたは割り当てを行ってもよい。これにより特に、この実行がたとえば所望の結果を生成するように、この実行の信頼性およびセキュリティを改善あるいは保証することができる。これはたとえば、1つの製品が要求されている精度で製造されていることである。
【0260】
本発明は詳細に、実施例によって詳しく説明されそして記載されたが、本発明は開示された例に限定されるものでなく、そして、本発明の権利範囲から逸脱することなく、当業者によって他の変形例を導出することができるものである。
【0261】
[参考文献]
[1]
Andreas M. Antonopoulos “Mastering Bitcoin: Unlocking Digital Cryptocurrencies”, O'Reilly Media, December 2014
[2]
Roger M. Needham, Michael D. Schroeder “Using encryption for authentication in large networks of computers” ACM: Communications of the ACM. Vol. 21, No. 12 December 1978,
[3]
Ross Anderson “Security Engineering. A Guide to Building Dependable Distributed Systems” Wiley, 2001
[4]
Henning Diedrich “Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations”, CreateSpace Independent Publishing Platform, 2016
[5]
“The Ethereum Book Project/Mastering Ethereum” https://github.com/ethereumbook/ethereumbook, 2017年10月5日現在
[6]
Leemon Baird, “The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance”, Swirlds Tech Report SWIRLDS-TR-2016-01, 2016年5月31日
[7]
Leemon Baird, “Overview of Swirlds Hashgraph”, 2016年5月31日
[8]
ブロックチェーンオラクル、2018年3月14日現在、https://blockchainhub.net/blockchain-oracles/
[9]
Joseph Poon, Thaddeus Dryja: “The Bitcoin Lightning Network”: “Scalable Off-Chain Instant Payments”. 2016年1月14日、https://lightning.network/lightning-network-paper.pdfを2018年6月30日に読み出し(PDF;3MB, 英語)
図1
図2
図3
図4
図5