KR20200076714A - 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템 - Google Patents

디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템 Download PDF

Info

Publication number
KR20200076714A
KR20200076714A KR1020207014789A KR20207014789A KR20200076714A KR 20200076714 A KR20200076714 A KR 20200076714A KR 1020207014789 A KR1020207014789 A KR 1020207014789A KR 20207014789 A KR20207014789 A KR 20207014789A KR 20200076714 A KR20200076714 A KR 20200076714A
Authority
KR
South Korea
Prior art keywords
distributed database
database system
control
data
transactions
Prior art date
Application number
KR1020207014789A
Other languages
English (en)
Other versions
KR102545178B1 (ko
Inventor
토마스 예츠펠너
Original Assignee
지멘스 악티엔게젤샤프트
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
Priority claimed from PCT/EP2018/060900 external-priority patent/WO2019081071A1/de
Application filed by 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Publication of KR20200076714A publication Critical patent/KR20200076714A/ko
Application granted granted Critical
Publication of KR102545178B1 publication Critical patent/KR102545178B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0958Management thereof based on metrics or performance parameters
    • H04W28/0967Quality of Service [QoS] parameters
    • H04W28/0983Quality of Service [QoS] parameters for optimizing bandwidth or throughput
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Medical Informatics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 목적은 디바이스들을 제어하는 목적을 위해 특정 태스크에 대한 블록체인의 복잡한 제어 커맨드 체인들을 간단한 방식으로 관리하는 것이다. 특히, 본 발명은 블록체인-기반 디바이스 제어기의 특정 태스크에 특정 유효성이 할당되는 것을 가능하게 하며, 유효성은, 예컨대 디바이스의 수명 주기(예컨대, 서비스 수명)에 의해 정의된다.

Description

디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템
필드 디바이스(field device)들 및 생산 디바이스들과 같은 디바이스들은 점점 더 네트워크화되고(networked) 있으며, 예로서 상이한 오퍼레이터(operator)들에 의해 제공/동작될 수 있다. 디바이스들에 의해 실행될 수 있는 명령 시퀀스(instruction sequence)들은 종종 이러한 디바이스들에 전달된다. 이와 관련한 단점은, 명령 시퀀스들의 수행이, 상이한 오퍼레이터들로부터의 디바이스들을 포함하는 이기종 네트워크(heterogeneous network)에서 제어하기 어렵다는 점이다.
문헌 DE102011018878이 종래 기술로부터 알려져 있다. 이는 분산형 데이터베이스 시스템(distributed database system) 내의 데이터베이스들의 데이터 인벤토리(data inventory)들을 동기화하기 위한 방법에 관한 것이며, 데이터베이스들은 모바일 네트워크 노드(mobile network node)들 상에 그리고 정적 네트워크 노드들 상에 위치되며, 그 중 적어도 일부는, 끊임없이 이용가능하지 않은 네트워크 연결들을 통해 서로 연결되어 있다.
본 발명의 목적은, 종래 기술로부터 알려진 솔루션(solution)들에 대한 대안을 찾는 것이다.
그 목적은 독립항들에서 명시된 특징들에 의해 달성된다. 본 발명의 유리한 발전들은 종속항들에서 제공된다.
블록체인(blockchain)들 또는 "분산형 원장(distributed ledger)들"의 기술은, 특히 분산형 데이터베이스 시스템으로서 실현될 수 있는, 현재 격렬하게 논의되는 기술이다. 로컬 지급 시스템(local payment system)들(예컨대, 비트코인(Bitcoin))을 위한 애플리케이션(application)들 외에도, 금융 산업에서는 새로운 애플리케이션 기술들이 개발되고 있다. 따라서, 특히, 회사들 간의 트랜잭션(transaction)들이, 중개자(mediator)나 어음 교환소(clearing house) 없이 조작(manipulation)으로부터 보호되는 방식으로 수행될 수 있다. 이는, 신뢰받는 중개자(trusted mediator)가 없는 새로운 비즈니스 모델(business model)들을 가능하게 하고, 트랜잭션 비용들을 감소시키며, 새로운 디지털 서비스(digital service)들은, 상기 디지털 서비스들을 위해 특정하게 셋업(set up)되는 인프라구조(infrastructure) 및 신뢰 관계들을 확립할 필요 없이, 유연하게 제공될 수 있다. 블록체인에 의해 보호되는 트랜잭션 데이터 레코드(transaction data record)(또는 짧게 트랜잭션)는, 예컨대 프로그램 코드(program code)를 포함하며, 프로그램 코드는 또한 "스마트 계약(smart contract)"으로 알려져 있는 것처럼 "스마트 계약"으로 지칭될 수 있다.
제1 양상에 따르면, 본 발명은 디바이스들을 제어하고 그리고/또는 모니터링(monitoring)하기 위한 제어 시스템에 관한 것이며, 제어 시스템은:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈(determining module) ―
- 디바이스-특정 요건(device-specific requirement)들 및/또는 전제된 제어 명령(presupposed control instruction)들이 실행 요건들에 저장됨 ―;
- 분산형 데이터베이스 시스템 ― 분산형 데이터베이스 시스템은,
- 다수의 노드들을 갖고, 노드들 및 디바이스들은 제1 통신 네트워크를 통해 서로 연결됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈;
- 할당된 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈(memory module) ―
- 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록(data block)들에 저장되고;
- 제어 트랜잭션들은 데이터 블록들에 의해 디바이스들에 전달됨 ―;
- 적용가능 디바이스(applicable device)에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하기 위한 제1 체크 모듈 ―
- 적용가능 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션(confirmation transaction)들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명(ascertain)하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하기 위한 실행 모듈;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하기 위한 제2 메모리 모듈을 포함한다.
아래의 설명에서 달리 표시되지 않는 한, "수행하다", "계산하다", "컴퓨터-지원(computer-aided)", "컴퓨팅(compute)하다", "발견하다", "생성하다", "구성하다", "재구성하다" 등의 용어들은 바람직하게, 데이터를 변경 및/또는 생성하고 그리고/또는 데이터를 다른 데이터로 변환하는 액션(action)들 및/또는 프로세스(process)들 및/또는 프로세싱 단계(processing step)들과 관련되며, 데이터는 물리적 변수들, 특히, 예컨대 전기 임펄스(electrical impulse)들로서 제공되거나 이용가능할 수 있다. 특히, "컴퓨터(computer)"라는 표현은, 특히 데이터 프로세싱 특성들을 갖는 모든 전자 디바이스들을 커버(cover)하기 위해 가능한 한 넓게 해석되어야 한다. 따라서, 컴퓨터들은, 데이터 프로세싱을 위해 컴퓨터-지원 방식으로, 프로세서(processor)들 및 다른 전자 디바이스들에서 데이터를 프로세싱(process)할 수 있는, 예컨대 개인용 컴퓨터들, 서버(server)들, 프로그램가능 로직 제어기(PLC; programmable logic controller)들, 핸드헬드 컴퓨터 시스템(handheld computer system)들, 포켓 PC 디바이스(Pocket PC device)들, 모바일 라디오(mobile radio)들 및 다른 통신 디바이스들일 수 있다.
본 발명의 문맥 내에서, "컴퓨터-지원"은, 예컨대 특히 프로세서가 방법의 적어도 하나의 방법 단계를 수행하는, 방법의 구현을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, 프로세서는, 예컨대 기계 또는 전자 회로를 의미하는 것으로 이해될 수 있다. 프로세서는 특히, 가능하게는 프로그램 명령어들 등을 저장하기 위한 메모리 유닛(memory unit)과 조합되는, 중앙 프로세싱 유닛(CPU; central processing unit), 마이크로프로세서(microprocessor) 또는 마이크로제어기(microcontroller), 예컨대 주문형 집적 회로(application-specific integrated circuit) 또는 디지털 신호 프로세서(digital signal processor)일 수 있다. 프로세서는 예로서 또한, 집적 회로(IC; integrated circuit), 특히 필드 프로그램가능 게이트 어레이(FPGA; field programmable gate array) 또는 주문형 집적 회로(ASIC; application-specific integrated circuit), 또는 디지털 신호 프로세서(DSP; digital signal processor) 또는 그래픽스 프로세서 그래픽스 프로세싱 유닛(GPU; graphics processing unit)일 수 있다. 프로세서는 또한, 가상화 프로세서(virtualized processor), 가상 머신(virtual machine) 또는 소프트 CPU(soft CPU)를 의미하는 것으로 이해될 수 있다. 예로서, 이는 또한, 본 발명에 따른 상기 방법을 수행하기 위한 구성 단계들을 구비하는 또는 구성 단계들에 의해 구성되는 프로그램가능 프로세서일 수 있어서, 프로그램가능 프로세서는 본 발명의 방법, 컴포넌트(component), 모듈들 또는 다른 양상들 및/또는 하위양상들에 대해 본 발명에 따른 특징들을 실현한다.
본 발명의 문맥 내에서, "메모리 유닛" 또는 "메모리 모듈" 등은, 예컨대 랜덤 액세스 메모리(RAM; random access memory)의 형태의 휘발성 메모리, 또는 영구 메모리(permanent memory), 이를테면, 하드 디스크(hard disk) 또는 데이터 캐리어(data carrier)를 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, "모듈"은, 예컨대 프로그램 명령어들을 저장하기 위한 메모리 유닛 및/또는 프로세서를 의미하는 것으로 이해될 수 있거나, 또는 모듈은 이러한 엘리먼트(element)들을 포함하는 디바이스이다. 예로서, 프로세서는, 프로세서가 본 발명에 따른 방법 또는 본 발명에 따른 방법의 단계를 구현 또는 수행하기 위한 기능들을 수행하도록, 프로그램 명령어들을 특정하게 실행하도록 구성된다.
예로서, 모듈은 또한, 예컨대 적용가능 모듈의 특정 기능들/특징들을 수행/실현하는 분산형 데이터베이스 시스템의 노드일 수 있다. 예로서, 개개의 모듈들은 또한, 별개의 또는 독립형 모듈들의 형태일 수 있다. 이를 위해, 적용가능 모듈들은, 예컨대 추가의 엘리먼트들을 포함할 수 있다. 이러한 엘리먼트들은, 예컨대 하나 이상의 인터페이스(interface)들(예컨대, 데이터베이스 인터페이스들, 통신 인터페이스들, 예컨대 네트워크 인터페이스, WLAN 인터페이스) 및/또는 평가 유닛(예컨대, 프로세서) 및/또는 메모리 유닛이다. 인터페이스들은, 예컨대 데이터를 상호교환(예컨대, 수신, 전달, 전송 또는 제공)하는 데 사용될 수 있다. 평가 유닛은, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 데이터를 비교, 체크(check), 프로세싱(process), 할당 또는 계산하는 데 사용될 수 있다. 메모리 유닛은, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 데이터를 저장, 리트리빙(retrieve) 또는 제공하는 데 사용될 수 있다.
본 발명의 문맥 내에서, 특히 데이터 및/또는 정보와 관련하여 "포함하다"는, 예컨대 데이터 구조/데이터 레코드(예컨대, 이는 결국 메모리 유닛에 저장됨)에서의 적용가능 정보 또는 적용가능 데이텀(datum)의 (컴퓨터-지원) 저장을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, 특히 데이터 및/또는 정보와 관련하여 "할당하다"는, 예컨대 데이터 및/또는 정보의, 컴퓨터-지원 할당을 의미하는 것으로 이해될 수 있다. 예로서, 예컨대 제2 데이텀의 고유 식별자(UID; unique identifier) 또는 메모리 어드레스(memory address)와 함께 제1 데이텀을 데이터 레코드에 함께 저장함으로써, 제2 데이텀은 이와 관련하여 메모리 어드레스 또는 고유 식별자(UID)에 의해 제1 데이텀에 할당된다.
본 발명의 문맥 내에서, 특히 데이터 및/또는 정보와 관련하여 "제공하다"는, 예컨대 컴퓨터-지원 제공(computer-aided provision)을 의미하는 것으로 이해될 수 있다. 제공은, 예컨대 인터페이스(예컨대, 데이터베이스 인터페이스, 네트워크 인터페이스, 메모리 유닛에 대한 인터페이스)를 통해 실행된다. 이 인터페이스는, 예컨대 제공 동안, 적용가능 데이터 및/또는 정보를 전달 및/또는 전송 및/또는 리트리빙 및/또는 수신하는 데 사용될 수 있다.
본 발명의 문맥 내에서, "제공(provision)"은 또한, 예컨대 적용가능 데이터를 포함하는 트랜잭션의 예컨대 로딩(loading) 또는 저장을 의미하는 것으로 이해될 수 있다. 이는, 예로서, 메모리 모듈 상에서 또는 메모리 모듈에 의해 실행될 수 있다. "제공"은 또한, 예컨대 적용가능 데이터를, 블록체인 또는 분산형 데이터베이스 시스템(또는 분산형 데이터베이스 시스템의 인프라구조)의 하나의 노드로부터 다른 노드로 송신(또는 전송 또는 전달)하는 것을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, "체크섬(checksum)", 예컨대 데이터 블록 체크섬, 데이터 체크섬, 노드 체크섬, 트랜잭션 체크섬, 연쇄 체크섬(concatenation checksum) 등은, 예컨대 특히 데이터 레코드 및/또는 데이터 및/또는 트랜잭션들 중 하나 이상 및/또는 데이터 블록의 하위구역(예컨대, 블록체인의 블록의 블록 헤더(block header) 또는 분산형 데이터베이스 시스템의 데이터 블록의 데이터 블록 헤더 또는 데이터 블록의 트랜잭션들 중 단지 일부)에 대해, 특히 암호화 해시 함수(cryptographic hash function)에 의해 형성되거나 계산되는, 암호화 체크섬 또는 암호화 해시 또는 해시 값을 의미하는 것으로 이해될 수 있다. 체크섬은 특히, 해시 트리(hash tree)(예컨대, 머클 트리(Merkle tree), 패트리샤 트리(Patricia tree))의 체크섬/체크섬들 또는 해시 값/해시 값들일 수 있다. 게다가, 이는 특히 또한, 디지털 서명(digital signature) 또는 암호화 메시지 인증 코드(cryptographic message authentication code)를 의미하는 것으로 이해될 수 있다. 체크섬들은 예로서, 데이터베이스 시스템의 상이한 레벨(level)들 상에서 트랜잭션들 및 트랜잭션들에 저장된 데이터에 대한 조작으로부터의 암호화 보호/보호를 제공하는 데 사용될 수 있다. 예컨대, 높은 레벨의 보안을 필요로 하는 경우, 예컨대 체크섬들이 생성되고 트랜잭션 레벨에서 체크된다. 더 낮은 레벨의 보안을 필요로 하는 경우, 예컨대 체크섬들이 생성되고 블록 레벨에서 (예컨대, 전체 데이터 블록에 대해 또는 데이터 블록의 단지 일부 및/또는 트랜잭션들 중 일부에 대해) 체크된다.
본 발명의 문맥 내에서, "데이터 블록 체크섬"은, 예컨대 데이터 블록의 일부 또는 모든 트랜잭션들에 대해 계산되는 체크섬을 의미하는 것으로 이해될 수 있다. 그런 다음, 노드가, 예로서, 데이터 블록 체크섬에 의해 데이터 블록의 적용가능 부분의 무결성(integrity)/진정성(authenticity)을 체크/발견할 수 있다. 추가적으로 또는 대안적으로, 데이터 블록 체크섬은 특히 또한, 데이터 블록의 앞선 데이터 블록(preceding data block)/선행 데이터 블록(predecessor data block)의 트랜잭션들에 대해 형성되었을 수 있다. 이 데이터 블록 체크섬은 특히 또한, 해시 트리, 예컨대 머클 트리[1] 또는 패트리샤 트리에 의해 실현될 수 있으며, 데이터 블록 체크섬은 특히 머클 트리 또는 패트리샤 트리 또는 바이너리 해시 트리(binary hash tree)의 루트 체크섬(root checksum)이다. 특히, 트랜잭션들은 (예컨대, 트랜잭션 체크섬들을 사용함으로써) 머클 트리 또는 패트리샤 트리로부터의 추가의 체크섬들에 의해 보호되며, 특히 추가의 체크섬들은 머클 트리 또는 패트리샤 트리의 리프(leaf)들이다. 따라서, 데이터 블록 체크섬은, 예컨대 루트 체크섬이 추가의 체크섬들로부터 형성됨으로써, 트랜잭션들을 보호할 수 있다. 데이터 블록 체크섬은 특히, 데이터 블록들 중 특정 데이터 블록의 트랜잭션들에 대해 계산될 수 있다. 특히, 그러한 데이터 블록 체크섬은, 예컨대 특정 데이터 블록의 후속 데이터 블록을 그것의 앞선 데이터 블록들과 연쇄시키고 그에 따라 특히 분산형 데이터베이스 시스템의 무결성을 체크가능하게(checkable) 하기 위해, 이 후속 데이터 블록에서 채택될 수 있다. 이는, 예컨대 데이터 블록 체크섬이 연쇄 체크섬의 기능에 착수하거나 또는 연쇄 체크섬에서 채택되는 것을 가능하게 한다. 예컨대, 데이터 블록의(예컨대, 데이터 블록 체크섬이 형성된 데이터 블록의 또는 새로운 데이터 블록의) 헤더는 데이터 블록 체크섬을 포함할 수 있다.
본 발명의 문맥 내에서, "트랜잭션 체크섬"은 특히, 데이터 블록의 트랜잭션에 대해 형성되는 체크섬을 의미하는 것으로 이해될 수 있다. 추가적으로, 예컨대, 적용가능 데이터 블록에 대한 데이터 블록 체크섬의 계산이 가속화될 수 있는데, 왜냐하면, 예컨대 이미 계산된 트랜잭션 체크섬들이 이 목적을 위해, 예컨대 머클 트리의 리프들로서 즉시 사용될 수 있기 때문이다.
본 발명의 문맥 내에서, "연쇄 체크섬"은, 특히 분산형 데이터베이스 시스템의 개개의 데이터 블록에 대한 분산형 데이터베이스 시스템의 앞선 데이터 블록(특히, 전문 문헌[1]에서 "이전 블록 해시(previous block hash)"로 종종 지칭됨)을 표시하거나 또는 참조하는 체크섬을 의미하는 것으로 이해될 수 있다. 이는 특히, 적용가능 연쇄 체크섬이 적용가능 앞선 데이터 블록에 대해 형성되는 것을 수반한다. 사용되는 연쇄 체크섬은, 예컨대 분산형 데이터베이스 시스템의 (기존의) 데이터 블록과 새로운 데이터 블록을 연쇄시키기 위한, 데이터 블록(즉, 분산형 데이터베이스 시스템의 기존의 데이터 블록)의 데이터 블록 체크섬 또는 트랜잭션 체크섬일 수 있다. 예로서, 대안적으로, 체크섬이 앞선 데이터 블록의 헤더에 대해 또는 앞선 데이터 블록 모두에 대해 형성되어 연쇄 체크섬으로서 사용되는 것이 가능하다. 예로서, 이는 또한, 다수의 또는 모든 앞선 데이터 블록들에 대해 계산될 수 있다. 예로서, 데이터 블록의 헤더 및 데이터 블록 체크섬에 대해 연쇄 체크섬이 형성되는 것이 또한 실현가능하다. 그러나, 분산형 데이터베이스 시스템의 개개의 데이터 블록은 바람직하게, 개개의 데이터 블록의 앞선 데이터 블록, 특히 훨씬 더 바람직하게는 바로 앞선(directly preceding) 데이터 블록에 대해 계산된 또는 그와 관련된 개개의 연쇄 체크섬을 포함한다. 예로서, 적용가능 연쇄 체크섬이 또한, 적용가능 데이터 블록(예컨대, 앞선 데이터 블록)의 일부에 대해서만 형성되는 것이 또한 가능하다. 이는, 예컨대 무결성-보호된 부분(integrity-protected portion) 및 보호되지 않는 부분(unprotected portion)을 포함하는 데이터 블록이 생성되는 것을 가능하게 한다. 이는, 예컨대 무결성-보호된 부분은 변화하지 않고 그리고 보호되지 않는 부분은 또한 여전히 나중에 변경될 수 있는, 데이터 블록이 생성되는 것을 가능하게 할 것이다. 여기서, 무결성-보호된(integrity-protected)은, 특히 무결성-보호된 데이터의 변경이 체크섬에 의해 발견가능하다는 것을 의미하는 것으로 이해되도록 의도된다.
예컨대, 데이터 블록의 트랜잭션에 저장된 데이터는 특히 상이한 방식들로 제공될 수 있다. 데이터, 예컨대 자산(asset)들과 관련된 데이터/소유 관계들 또는 측정 데이터와 같은 사용자 데이터 대신에, 데이터 블록의 트랜잭션은, 예컨대 이러한 데이터에 대한 체크섬만을 포함할 수 있다. 적용가능 체크섬은 다양한 방식들로 생성될 수 있다. 이는, 예컨대 데이터를 사용하여 형성된 데이터 체크섬, (분산형 데이터베이스 시스템의 또는 다른 데이터베이스의) 적용가능 데이터를 포함하는 데이터 블록의 트랜잭션 체크섬, 또는 분산형 데이터베이스 시스템의 또는 다른 데이터베이스의 (적용가능 데이터를 포함하는) 데이터 블록의 적용가능 데이터 블록 체크섬일 수 있다.
추가적으로, 적용가능 트랜잭션은 또한, 메모리 위치에 대한 참조 또는 메모리 위치의 표시(예컨대, 파일 서버(file server)의 어드레스 및 적용가능 데이터가 파일 서버 상에서 발견될 수 있는 위치에 대한 세부사항들; 또는 데이터를 포함하는 다른 분산형 데이터베이스의 어드레스)를 포함할 수 있다. 그런 다음, 적용가능 데이터는 예로서 또한, (예컨대, 적용가능 데이터 및 연관된 체크섬들이 상이한 데이터 블록들에 포함되는 경우) 분산형 데이터베이스 시스템의 추가의 데이터 블록의 다른 트랜잭션에서 제공될 수 있다. 예로서, 대안적으로, 이러한 데이터가 다른 통신 채널(communication channel)을 통해(예컨대, 다른 데이터베이스 및/또는 암호화방식으로 보안된 통신 채널을 통해) 제공되는 것이 고려가능하다.
예로서, 체크섬에 추가하여, 특히 데이터가 리트리빙될(retrieved) 수 있는 메모리 위치를 표시하는 추가적인 데이터 레코드(예컨대, 메모리 위치에 대한 참조 또는 메모리 위치의 표시)가 적용가능 트랜잭션에 저장되는 것이 또한 가능하다. 이는 특히, 블록체인 또는 분산형 데이터베이스 시스템의 데이터 크기를 가능한 한 작게 유지하는 데 유리하다.
본 발명의 문맥 내에서, "보안-보호된(security-protected)"은, 예컨대 특히 암호화 방법에 의해 제공되는 보호를 의미하는 것으로 이해될 수 있다. 예로서, 이는, 적용가능 데이터/트랜잭션들을 제공 또는 송신 또는 전송하기 위해 분산형 데이터베이스 시스템을 사용함으로써 유발될 수 있다. 이는 바람직하게, 예컨대 트랜잭션들의 데이터에 대한 보안 또는 암호화 보안을 개선하기 위해, 다양한 (암호화) 체크섬들을 조합함으로써 달성되는데, 왜냐하면 이들은 특히 상승작용적 방식(synergistic fashion)으로 상호작용하기 때문이다. 다시 말해, 본 발명의 문맥 내에서 "보안-보호된"은 특히 또한, "암호화방식으로 보호된" 및/또는 "조작으로부터 보호된"을 의미하는 것으로 이해될 수 있으며, "조작으로부터 보호된"은 또한 "무결성-보호된(integrity-protected)"으로 지칭되는 것이 가능하다.
본 발명의 문맥 내에서, "분산형 데이터베이스 시스템의 데이터 블록들의 연쇄"는, 예컨대 데이터 블록들 각각이 분산형 데이터베이스 시스템의 다른 데이터 블록 또는 다수의 다른 데이터 블록들을 참조하거나 나타내는 정보(예컨대, 연쇄 체크섬)를 포함하는 것을 의미하는 것으로 이해될 수 있다[1][4][5].
본 발명의 문맥 내에서, "분산형 데이터베이스 시스템 내로의 삽입" 등은 예컨대 특히, 트랜잭션 또는 트랜잭션들 또는 그 트랜잭션을 갖는 데이터 블록이 분산형 데이터베이스 시스템의 하나 이상의 노드들에 전달되는 것을 의미하는 것으로 이해될 수 있다. 이러한 트랜잭션들이 (예컨대, 노드/노드들에 의해) 예컨대 성공적으로 유효성 확인되는(validated) 경우, 이러한 트랜잭션들은 특히 새로운 데이터 블록으로서 분산형 데이터베이스 시스템의 적어도 하나의 기존의 데이터 블록과 연쇄된다[1][4][5]. 이 목적을 위해, 적용가능 트랜잭션들은 예컨대 새로운 데이터 블록에 저장된다. 특히, 이 유효성 확인 및/또는 연쇄는 신뢰받는 노드(trusted node)(예컨대, 마이닝 노드(mining node), 블록체인 오라클(blockchain oracle) 또는 블록체인 플랫폼(blockchain platform))에 의해 수행될 수 있다. 특히, 블록체인 플랫폼은, 특히 마이크로소프트(Microsoft) 또는 아이비엠(IBM)에 의해 제안된 바와 같이, 서비스로서의 블록체인을 의미하는 것으로 이해될 수 있다. 특히, 신뢰받는 노드 및/또는 노드 각각은, 특히 데이터 블록의 최초 생성자(originator)를 식별하는 것을 가능하게 하기 위해 그리고/또는 노드를 식별하는 것을 가능하게 하기 위해, 노드 체크섬(예컨대, 디지털 서명)을 데이터 블록에(예컨대, 유효성 확인되고 이로써 생성되고, 그런 다음, 연쇄되는 데이터 블록에) 저장할 수 있다. 이 경우, 이 노드 체크섬은, 예컨대 어느 노드가 적용가능 데이터 블록을 분산형 데이터베이스 시스템의 적어도 하나의 다른 데이터 블록과 연쇄시켰는지를 표시한다.
본 발명의 문맥 내에서, "트랜잭션" 또는 "트랜잭션들"은, 예컨대 특히 각각이 트랜잭션들 중 하나 또는 다수의 트랜잭션들을 포함하는 트랜잭션 데이터 레코드, 데이터 구조, 또는 스마트 계약[4][5]을 의미하는 것으로 이해될 수 있다. 본 발명의 문맥 내에서, "트랜잭션" 또는 "트랜잭션들"은 또한, 예컨대 블록체인의 데이터 블록의 트랜잭션의 데이터를 의미하는 것으로 이해될 수 있다. 트랜잭션은 특히, 예컨대 스마트 계약을 제공하는 프로그램 코드를 포함할 수 있다. 예로서, 본 발명의 문맥 내에서, 트랜잭션은 또한, 제어 트랜잭션 및/또는 확인 트랜잭션을 의미하는 것으로 이해될 수 있다. 확인 트랜잭션은, 예컨대 제어 트랜잭션들의 성공적인 실행 후에, 디바이스에 의해 분산형 데이터베이스 시스템에 저장되는 것이 가능하다(예컨대, 디바이스는 확인 트랜잭션을 분산형 데이터베이스 시스템에 저장함). 확인 트랜잭션은, 예컨대 디바이스들로부터의 적용가능 디바이스가 제어 트랜잭션의 제어 명령들을 성공적으로 실행한 경우, 디바이스들 중 하나의 디바이스에 의한 제어 트랜잭션의 제어 명령들의 실행의 확인(confirmation)을 포함할 수 있다. 이를 위해, 확인 트랜잭션은 예로서, 실행의 확인 및/또는 실행된 제어 명령들에 대해 적용가능 디바이스에 의해 생성된 체크섬(예컨대, 트랜잭션 체크섬)을 포함할 수 있으며, 이는, 예컨대 마찬가지로 체크섬에 의해 보호된다. 디바이스가 제어 명령들을 부분적으로 실행하고 그리고/또는 제어 명령들의 실행이 인터럽트된(interrupted) 경우, 확인 트랜잭션은 예로서 또한, 분산형 데이터베이스 시스템에 저장될 수 있다. 이는, 예컨대 제어 명령들의 실행 동안 디바이스 상에서 폴트(fault)(예컨대, 액추에이터(actuator) 또는 툴(tool) 상에서 발생된 폴트)가 발생한 경우에 해당할 수 있으며, 이는 더 이상 제어 명령들의 실행을 허용하지 않는다. 그런 다음, 예로서, 예컨대 나머지 실행되지 않은 제어 명령들에 대한 실행 요건들을 충족시키는 다른 디바이스는, 적용가능 제어 트랜잭션의 이러한 실행되지 않은 제어 명령들을 실행하기 위해 확인 트랜잭션을 사용할 수 있다. 따라서, 확인 트랜잭션은, 예컨대 실행의 정도(degree) 또는 제어 명령들의 실행된 부분에 관한 표시를 포함할 수 있다. 대안적으로 또는 추가적으로, 확인 트랜잭션은, 적용가능 제어 트랜잭션의 제어 명령들의 성공적인 실행을 위해 여전히 실행될 필요가 있는 제어 명령들을 표시할 수 있다. 따라서, 예컨대 확인 트랜잭션은, 적용가능 제어 트랜잭션의 제어 명령들의 성공적인 실행을 위해, 제어 명령들 중 어느 제어 명령이 여전히 실행될 필요가 있는지를 표시하고 그리고 제어 명령들 중 어느 제어 명령이 누락되었는지를 표시하는 데이터 레코드를 포함할 수 있다. 이는, 예컨대 디바이스 상에서의 제어 명령들의 실행이 인터럽트된 경우에도 제어 명령들의 추가의 프로세싱이 발생하는 것을 가능하게 한다. 따라서, 예컨대 적용가능 제어 트랜잭션의 제어 명령들의 실행 동안 디바이스가 고장나는 경우에도 제어 명령들의 실행이 보장되도록, 예컨대 실행 요건들은 실행 요건들을 충족시키기 위해 하나보다 많은 디바이스(예컨대, 2개 또는 3개의 디바이스들 또는 더 많은 디바이스들)를 필요로 할 수 있다.
대안적으로, 트랜잭션은 예로서, 데이터(예컨대, 제어 명령들)를 저장하는 데이터 구조일 수 있다. 트랜잭션은 예로서 또한, 메시지(즉, 데이터를 저장하는 통신 메시지)로 지칭될 수 있거나, 또는 예컨대 적용가능 데이터(예컨대, 제어 명령들)를 저장하는 메시지일 수 있다. 따라서, 본 발명은 적용가능 트랜잭션들 또는 메시지들이 상호교환되는 것을 가능하게 한다. 트랜잭션들은, 예컨대 제어 명령들 및/또는 계약 데이터(contractual data) 및/또는 다른 데이터, 이를테면, 비디오 데이터(video data), 사용자 데이터, 측정 데이터 등을 포함할 수 있다.
특히, 트랜잭션은 또한, 예컨대 스마트 계약을 제공하는 프로그램 코드를 포함할 수 있다. 예로서, 본 발명의 문맥 내에서, 트랜잭션은 또한, 제어 트랜잭션 및/또는 확인 트랜잭션을 의미하는 것으로 이해될 수 있다. 대안적으로, 트랜잭션은 예로서, 데이터(예컨대, 제어 명령들 및/또는 계약 데이터 및/또는 다른 데이터, 이를테면, 비디오 데이터, 사용자 데이터, 측정 데이터 등)를 저장하는 데이터 구조일 수 있다.
본 발명의 문맥 내에서, "제어 명령들" 또는 "제어 트랜잭션들"은, 예컨대 특히 분산형 데이터베이스 시스템에 의해 실행되는 실행가능 프로그램 코드 또는 스마트 계약[4][5]을 의미하는 것으로 이해될 수 있으며, 예컨대 분산형 데이터베이스 시스템 또는 분산형 데이터베이스 시스템의 노드들 및 인프라구조는 적용가능 제어 명령들을 수행하거나 구현한다. 특히, 하나 이상의 데이터 블록들을 구성하는 다수의 제어 명령들 또는 제어 트랜잭션들은 명령 시퀀스를 산출하며, 명령 시퀀스는, 특히 연관된 생산 기계들을 갖는 생산 설비를 제어할 수 있거나, 자동화 네트워크의 디바이스들을 제어할 수 있거나, 또는 전력 공급 시스템의 디바이스들을 제어할 수 있거나 또는 사물 인터넷(Internet of Things) 상의 디바이스들을 제어할 수 있다. 특히, 제품에 대한 생산 명령들 또는 생산 단계들은 제어 명령들 또는 제어 트랜잭션들에(즉, 또한 명령 시퀀스들에) 인코딩된다(encoded). 디바이스들(예컨대, 적용가능 디바이스)은, 예컨대 기술 시스템 및/또는 산업 설비의 그리고/또는 자동화 네트워크의 그리고/또는 생산 설비의 디바이스들, 및/또는 특히 또한 분산형 데이터베이스 시스템의 노드인 사물 인터넷 내의 디바이스들이다. 이 경우, 디바이스들은 예로서, 특히 또한 분산형 데이터베이스 시스템의 노드인 필드 디바이스들일 수 있다. 디바이스들은 예로서 또한, 현금 자동 입출금기(automated teller machine)들일 수 있으며, 제어 명령들은 현금 지급을 프롬프트(prompt)한다. 예로서, 제어 명령들은 명령 시퀀스로부터 유도되거나 결정될 수 있다. 예로서, 제어 트랜잭션은 하나 이상의 제어 명령들을 포함할 수 있다. 예로서, 제어 명령들은 기계적 운동 및/또는 다른 물리적 변수들(예컨대, 압력 또는 온도)을 인코딩(encode)하며, 이들은 적용가능 디바이스/노드에 의해(예컨대, 적용가능 액추에이터에 의해) 적용가능 기계적 운동 및/또는 적용가능 다른 물리적 변수들로 변환된다. 그런 다음, 제어 명령들은 예컨대 디바이스들 및/또는 노드들의 액추에이터들을 제어하는 데 사용된다. 따라서, 적용가능 디바이스/노드는 예컨대 액추에이터를 포함한다. 디바이스/노드가 예컨대 로봇(robot)인 경우, 액추에이터는 또한, 이펙터(effector)로 지칭될 것이다. 디바이스는 또한, 예컨대 메카트로닉(mechatronic) 디바이스 또는 시스템일 수 있으며, 메카트로닉 디바이스/시스템은, 예컨대 액추에이터 및/또는 선형 모션 디바이스(linear motion device)이다. 선형 모션 디바이스는 예컨대 병진 운동(translative movement)들을 수행하기 위한 디바이스이다. 적용가능 디바이스는 또한, 예컨대 구동 시스템(drive system)일 수 있다. 제어 명령들 및 디바이스들 및/또는 노드들은 예로서 또한, 예컨대 실행되는 제어 명령들에 대한 확인 트랜잭션들이 제어 시스템에 의해 평가됨으로써 그리고 적용가능 제어 명령들이 확인 트랜잭션들에 대한 응답으로 생성됨으로써, 제어 루프(control loop)를 조정 및/또는 제어하는 데 사용될 수 있다. 그런 다음, 이러한 새로운 명령들의 경우, 예컨대 적용가능 실행 요건들이 다시 결정되고, 그런 다음, 이들은, 제어 트랜잭션들이 본 발명에서 설명된 바와 같이 예컨대 적용가능 디바이스들에 의해 실행될 수 있도록, 예컨대 상기 제어 트랜잭션들에 다시 저장된다. 제어 명령들은 예로서 또한, 암호화 디바이스들 및/또는 방법들(예컨대, 사용자 인증)을 제어하기 위한 제어 명령들일 수 있다.
제어 명령들은 또한, 예컨대 분산형 데이터베이스 시스템의 노드들 또는 디바이스들에 의해 실행되어야 하는, 데이터베이스 또는 데이터베이스 시스템으로부터의 명령 시퀀스들 또는 그렇지 않으면 트랜잭션들을 의미하는 것으로 이해될 수 있다. 예컨대, 실행 요건들이 아직 배정되지(allocated) 않은 또는 할당되지(assigned) 않은 트랜잭션들이 존재하는 경우, 데이터베이스 시스템은 예컨대 분산형 데이터베이스 시스템일 수 있다. 대안적으로 또는 추가적으로, 데이터베이스 시스템은, 적용가능 트랜잭션들이 리트리빙될 수 있는 다른 데이터베이스, 예컨대 종래의 계층적 데이터베이스일 수 있다. 제어 명령들은 또한, 예컨대 입력 시스템에 의해 제공되는 그리고 분산형 데이터베이스 시스템에 의해 실행되어야 하는 명령 시퀀스들 또는 그렇지 않으면 트랜잭션들을 의미하는 것으로 이해될 수 있다. 제어 명령들은, 예컨대 기계 및/또는 전기 및/또는 전자기계 및/또는 전자 디바이스들을 제어하는 데 사용되는 명령 시퀀스들 또는 제어 명령들을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, "디바이스-특정 요건들"은, 예컨대 고유 식별자에 의해 특정되는(stipulated) 예컨대 특정 디바이스, 규정된(prescribed) 제어 액션들을 수행할 수 있는 디바이스들(예컨대, 금속 부품들을 용접할 수 있는 생산 로봇; 제조된 부품에 규정된 페인트(paint)들을 도포할 수 있는 페인팅 로봇(painting robot); 변전소에서 자동화 방식으로 전기 연결들을 만드는 디바이스들) 또는 규정된 정밀도 및/또는 규정된 속도로 생산 단계들 또는 제어 명령들을 수행하는 디바이스들(예컨대, 선반(lathe)들, 밀링 커터(milling cutter)들 및 절단기(cutting machine)들)을 의미하는 것으로 이해될 수 있다. 대안적으로 또는 추가적으로, "디바이스-특정 요건들"은 또한, 제어 명령들의 실행 또는 수행에 대해 규정된 특정 디바이스 클래스(device class)들을 전제로 할(presuppose) 수 있다. 특히, 디바이스 클래스는, 예컨대 특정한 규정된 액션들(예컨대, 특정 재료를 연삭(grinding) 또는 톱질(sawing)하는 것)을 실행할 수 있는 하나 이상의 디바이스들(예컨대, 연삭 디바이스들 또는 톱질 디바이스들)을 의미하는 것으로 이해된다. 특히, 디바이스-특정 요건들은 제어 명령들을 실행하기 위한 적용가능 디바이스들 및/또는 노드들에 부과되는 요건들이다. 그런 다음, 디바이스-특정 데이터 또는 디바이스 특성들은, 예컨대 디바이스의 실제 및/또는 현재 디바이스-특정 데이터 또는 디바이스 특성들에 대응한다. 예로서, 디바이스 또는 생산 기계가 규정된 정밀도로 제어 명령들을 실행할 수 있는지 여부를 규명하기 위해 체크가 수행되며, 규정된 정밀도는, 예컨대 디바이스-특정 요건들에서 규정된다. 특히, 디바이스-특정 요건들은 또한, 기계 및/또는 메카트로닉 및/또는 생산-특정 요건들로 지칭될 수 있다. 특히, 디바이스-특정 데이터 또는 디바이스 특성들은 또한, 기계 및/또는 메카트로닉 및/또는 생산-특정 데이터 또는 디바이스 특성들로 지칭될 수 있다. 특히, 디바이스-특정 데이터 또는 디바이스 특성들은 또한, 디바이스 정보로 지칭될 수 있다. 특히, 디바이스-특정 요건들은, 디바이스의 디바이스-특정 데이터에 의해 충족되어야 하는 요건들을 규정한다. 다시 말해, 디바이스-특정 요건들은, 디바이스들로부터의 "실제" 값과 비교되는 "설정점" 값을 규정한다. 디바이스-특정 데이터는 특히, 현재 디바이스 특성들이다. 이러한 디바이스 특성들/디바이스-특정 데이터는, 예컨대 디바이스 또는 시스템의 UID, 이용가능한 툴들 또는 지원되는 생산 프로세스들(밀링, 연삭 또는 3D 프린팅(printing)), 생산 정밀도, 생산 비용들, 디바이스들의 사이트(site), 디바이스를 어드레싱(addressing)하기 위한/작동시키기 위한 네트워크 어드레스, 권한부여된 사용자들 등을 포함한다.
디바이스-특정 요건들은 예로서 또한, 디바이스가 제어 명령들을 실행하기 위해 충족시켜야 하는 보안 요건들 또는 위치-관련 요건들(예컨대, 국가 스테이트먼트(country statement), GPS 스테이트먼트(GPS statement) 또는 우편 번호(PLZ; zip code))일 수 있다. 예로서, 하나의 요건은, 디바이스가 규정된 보안 디바이스들을 가져야 한다는 것 또는 디바이스 상에서의 제어 명령들의 실행은 또한 특정/규정된 인증을 요구한다는 것일 수 있다. 이는, 예컨대 누군가가 현금을 인출하기 위해 디바이스(예컨대, 현금 자동 입출금기)를 사용하기를 원하는 경우일 수 있다. 그런 다음, 제어 명령들은 예로서, 현금 지급을 하라는 고객에 의한 요청이다. 예컨대, 적용가능 고객이, 예컨대 규정된 국가들, 예컨대 이탈리아(Italy), 프랑스(France) 및 오스트리아(Austria)에서만 현금 지급을 허용함을, 적용가능 고객이 지정한 경우, 이는 디바이스-특정 요건들에(그리고 특히 가능하게는 또한 실행 요건들에 묵시적으로) 저장된다. 그런 다음, 안도라(Andorra)의 현금 자동 입출금기는 지급을 허용하지 않거나 지급을 방지할 수 있다. 대안적으로, 이는, 예컨대 또한, 분산형 데이터베이스 시스템의 다른 노드에 의해 방지되거나 또는 분산형 데이터베이스 시스템의 스마트 계약에 의해 방지될 수 있다. 예로서, 보안 요건들이 고객의 특정 인증을 필요로 하는 것이 또한 가능하다. 예로서, 지급을 위해 핀(pin)이 입력되어야 하고(이는, 예컨대 미국에서는 반드시 그런 것은 아님) 그리고/또는 특정 핀 길이(예컨대, 8개의 문자들)가 요구되고 그리고/또는 다른 추가적인 인증 방법들(예컨대, 2-팩터 인증(2-factor authentication), 모바일 TAN(mobile TAN), 구글 인증부호(Google Authenticator))이 요구된다.
대안적으로, 결정 모듈은 또한, 제어 명령들을 추가로 분석할 수 있고, 예컨대 디바이스-특정 요건들이 충족되지 않거나 또는 충족가능하지 않음을 결정 모듈이 이미 발견한 경우에는, 제어 트랜잭션을 생성할 수 있으며, 그 제어 트랜잭션은 이를 적용가능 디바이스 또는 시스템에 표시하고, 필요한 경우 제어 명령들의 실행을 방지한다. 대안적으로, 예로서, 어떤 제어 트랜잭션도 생성되지 않는 것이 또한 가능하며, 어느 시점에서, 예컨대 규정된 기간 후에, 바람직하게는 구성가능한, 제어 명령들의 실행에 대한 타임아웃(timeout)이 있다.
본 발명의 문맥 내에서, "시스템-특정 데이터" 또는 "디바이스-특정 데이터"는 또한, 예컨대 디바이스 또는 기술 시스템의 시스템 특성들 또는 디바이스 특성들을 의미하는 것으로 이해될 수 있다. 디바이스-특정 데이터 또는 시스템-특정 데이터는, 예컨대 현재 디바이스 특성들 또는 시스템 특성들이다. 디바이스-특정 데이터 또는 시스템-특정 데이터(또는 적용가능 특성들)는 예로서, 기술 시스템, 기술 시스템의 디바이스들, 또는 디바이스에 대해 다음의 데이터: 디바이스 또는 시스템의 UID, 디바이스 또는 시스템의 이용가능한 툴들 또는 지원되는 생산 프로세스들(밀링, 연삭 또는 3D 프린팅), 디바이스 또는 시스템의 생산 정밀도, 디바이스 또는 시스템의 생산 비용들, 디바이스 또는 시스템의 사이트, 디바이스 또는 시스템을 어드레싱하기 위한/작동시키기 위한 네트워크 어드레스, 디바이스 또는 시스템에 대해 권한부여된 사용자들, 디바이스 또는 시스템의 이름 등을 포함한다.
선택된 구현에 따라, 예컨대 시스템-특정 데이터는, 예컨대 기술 시스템의 UID/(네트워크) 어드레스가 기술 시스템의 적용가능 디바이스들을 어드레싱(address)하거나, 식별하거나, 또는 그 적용가능 디바이스들과 통신하는 데 또한 사용될 수 있음으로써, 일반적으로 기술 시스템의 하나 이상의 디바이스들에 대해 실현될 수 있다. 대안적으로 또는 추가적으로, 예컨대 기술 시스템의 하나의 디바이스 또는 다수의 디바이스들에 대한 디바이스-특정 데이터는 시스템-특정 데이터에 포함될 수 있다.
본 발명의 문맥 내에서, "기술 시스템"은, 예컨대 서로 그리고/또는 분산형 데이터베이스 시스템(예컨대, 제1 분산형 데이터베이스 시스템)에 통신가능하게 연결되는 디바이스 또는 다수의 디바이스들을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, "전제된 제어 명령들"은, 예컨대, 특히, 적용가능 제어 명령들이 실행될 수 있기 전에 이미 (분산형 데이터베이스 시스템의) 다른 노드들에 의해 그리고/또는 디바이스들 중 하나 이상에 의해 실행될 필요가 있는 제어 명령들을 의미하는 것으로 이해될 수 있다. 특히, 예컨대 이러한 이전에 실행된 제어 명령들이 디바이스들 또는 노드들에 의해 성공적으로 실행된 경우, 이전에 실행된 제어 명령들에 대한 적용가능 확인 트랜잭션들은 분산형 데이터베이스 시스템에(예컨대, 분산형 데이터베이스 시스템의 데이터 블록들에) 저장된다. 특히, 이러한 이전에 실행된 또는 전제된 제어 명령들은 또한, 이러한 이전에 실행된 제어 명령들에 할당된 디바이스-특정 요건들이 또한 체크되거나 또는 또한 고려되는 것을 유발한다. 실행 요건들은 특히, 예컨대 제품을 생성하기 위한 생산 단계들의 순서가 준수되는(observed) 것을 보장하는 데 사용된다. 이는, 예컨대 생산의 순서가 의미있는 방식(meaningful way)으로 준수되는 효과를 달성한다. 예컨대, 단지 생산 순서가 준수되지 않음으로 인해 하나의 생산 단계가 다른 생산 단계에 의해 파괴되는 것이 방지된다. 유사하게, 특히, 예컨대 변압기들 또는 전압 커플러(voltage coupler)들이 올바른 순서로 스위칭 온되거나(switched on) 또는 전력 공급 시스템에 연결됨으로써, 전력 공급 시스템의 제어기가 제어되는 것이 또한 가능하다. 예컨대, 제어 명령들 또는 제어 트랜잭션들의 실행이 어떤 전제된 제어 명령들도 필요로 하지 않는 경우, 전제된 제어 명령들은 블랭크(blank)일 수 있다. 예로서, 이들은 제로(zero)로 채워지거나, 블랭크 스트링(blank string)으로 채워지거나, 또는 어떤 전제된 제어 명령들도 필요하지 않음을 표시하는 값으로 채워질 수 있다. 대안적으로, 예컨대 제어 명령들 중 일부는 어떤 할당된 실행 요건도 갖지 않을 수 있는데, 특히, 제어 명령들 중 적어도 하나는 적어도 하나의 할당된 실행 요건을 갖는다. 예로서, 전제된 제어 명령들은, 예컨대 디바이스 및/또는 노드에 의해 규정된 기계적 운동 및/또는 다른 물리적 변수들(예컨대, 압력 또는 온도)로 변환된, 또는 제어 명령들의 실행 전에 (예컨대, 워크피스(workpiece)의 준비를 위해) 변환되어야 하는 제어 명령들이다. 그런 다음, 전제된 제어 명령들(그 전제된 제어 명령들이 성공적으로 실행되었다고 가정함)은, 워크피스가, 예컨대 전제된 제어 명령들의 실행 후에 추가의 프로세싱이 가능한 또는 가능해지는 상태 또는 생산 상태에 놓여 있도록, 예컨대 디바이스들 및/또는 노드들의 액추에이터들을 작동시키는 데 사용되었다. 따라서, 예컨대 적용가능 디바이스들/노드들은 그런 다음, (예컨대, 전제된 제어 명령들이 실행되었고, 특히 확인 트랜잭션들이 그들을 위해 이용가능한 경우) 추가의 프로세싱이 발생하도록, 제어 트랜잭션의 제어 명령들을 이용하여 작동될 수 있다. 전제된 제어 명령들 및 디바이스들 및/또는 노드들은 예로서 또한, 예컨대 실행된/전제된 제어 명령들에 대한 확인 트랜잭션들이 제어 시스템에 의해 평가됨으로써 그리고 적용가능 제어 명령들이 확인 트랜잭션들에 대한 응답으로 생성됨으로써, 제어 루프를 조정 및/또는 제어하는 데 사용될 수 있다. 전제된 제어 명령들은 예로서 또한, 암호화 디바이스 및/또는 방법(예컨대, 사용자 인증)을 작동시키는 데 사용된 제어 명령들일 수 있다. 대안적으로 또는 추가적으로, 전제된 제어 명령들은 예로서, (예컨대, 센서(sensor)에 의한) 특정한 측정된 변수들의 캡처(capture)를 규정할 수 있다. 예로서, 따라서, 적용가능 측정된 값(applicable measured value)들을 갖는 적용가능 트랜잭션들이 규정된 측정된 값 범위(prescribed measured value range)들 또는 임계값들을 준수해야 한다는 것이 규정된다. 측정된 값들은, 예컨대 측정된 변수의 값(예컨대, 30℃) 및/또는 캡처의 날짜/시간 및/또는 캡처의 위치 및/또는 센서의 유형 및/또는 센서에 관한 추가의 정보(예컨대, 측정 정확도)일 수 있다.
특히, "데이터 블록들 내의 트랜잭션들의 저장" 등은, 직접적인 저장 또는 간접적인 저장을 의미하는 것으로 이해되어야 한다. 직접적인 저장은, 예컨대 (분산형 데이터베이스 시스템의) 적용가능 데이터 블록 또는 (분산형 데이터베이스 시스템의) 적용가능 트랜잭션이 개개의 데이터를 포함한다는 것을 의미하는 것으로 이해될 수 있다. 간접적인 저장은, 예컨대 적용가능 데이터 블록 또는 적용가능 트랜잭션이 적용가능 데이터에 대한 체크섬 및 선택적으로는 추가적인 데이터 레코드(예컨대, 메모리 위치에 대한 참조 또는 표시)를 포함하고, 따라서 적용가능 데이터가 데이터 블록(또는 트랜잭션)에 직접적으로 저장되지 않음을 (즉, 이러한 데이터에 대한 체크섬만이 대신해서 저장됨을) 의미하는 것으로 이해될 수 있다. 특히, 예컨대 데이터 블록들 내의 트랜잭션들의 저장은, 예컨대 "분산형 데이터베이스 시스템 내로의 삽입" 하에서 설명된 바와 같이, 이러한 체크섬들이 유효성 확인되는 것을 유발할 수 있다.
본 발명의 문맥 내에서, "프로그램 코드"(예컨대, 스마트 계약)는, 예컨대 특히 하나 이상의 트랜잭션들에 저장되는 프로그램 명령 또는 다수의 프로그램 명령어들을 의미하는 것으로 이해될 수 있다. 프로그램 코드는 특히 실행가능하고, 예컨대 분산형 데이터베이스 시스템에 의해 실행된다. 이는, 예컨대 실행 환경(예컨대, 가상 머신)에 의해 실현될 수 있으며, 실행 환경 또는 프로그램 코드는 바람직하게 튜링(Turing)이 완료된 것이다. 프로그램 코드는 바람직하게, 분산형 데이터베이스 시스템의 인프라구조에 의해 실행된다[4][5]. 이는, 예컨대 가상 머신이 분산형 데이터베이스 시스템의 인프라구조에 의해 실현되는 것을 수반한다.
본 발명의 문맥 내에서, "별개의 및/또는 직접적인 통신 채널"은, 예컨대 초기에 단지 암호화폐(cryptocurrency)의 송신을 위해 예컨대 라이트닝 네트워크(lightning network)에 의해 실현된 바와 같은 통신 채널에 의한 데이터 송신(예컨대, 전송, 수신, 송신, 제공 또는 전달)[9]을 의미하는 것으로 이해될 수 있다. 예로서, 이 채널은, 트랜잭션들/메시지들을 더 신속하게 전송하고 그리고 이 데이터 상호교환의 확인을 분산형 데이터베이스 시스템에 저장하는 데 사용될 수 있다. 이는, 예컨대 중요한 그리고/또는 시간-임계적(time-critical) 제어 명령들 또는 제어 트랜잭션들이 더 높은 속도로 적용가능 디바이스에 송신되는 것을 가능하게 하고, 그리고 프로세스에서, (예컨대, 데이터 블록들/트랜잭션들을 복제할 때) 예컨대 분산형 데이터베이스 시스템의 더 느린 데이터 송신이 회피되는 것을 가능하게 한다. 예로서, 본 발명 및 열거된 양상들, 예시적인 실시예들, 본 발명의 실시예들, 및 디바이스(및/또는 노드) 사이의 데이터 송신에 대한 그들의 변형들을 위해, 별개의 및/또는 직접적인 통신 채널이 셋업될 수 있다. 예로서, 직접적인 통신 채널은, 분산형 데이터베이스 시스템의 추가의 노드들 및/또는 디바이스들이 이 데이터 상호교환에 수반됨이 없이, 트랜잭션들/메시지들이 전송기(예컨대, (제1) 메모리 모듈 및/또는 (제1) 결정 모듈)와 수신기(예컨대, 제어 명령들을 실행해야 하는 디바이스) 사이에서 직접적으로 상호교환되는 것을 유발한다. 대조적으로, 별개의 통신 채널은 분산형 데이터베이스 시스템의 노드들 및/또는 디바이스들이 데이터 상호교환에 수반되는 것을 유발할 수 있다. 별개의 및/또는 직접적인 통신 채널이 전송기와 수신기 사이에 성공적으로 셋업된 경우(즉, 이로써 특히 통신 연결이 확립됨), 예컨대 트랜잭션들 또는 메시지들의 형태의 데이터는 전송기와 수신기 사이에서 상호교환될 수 있다. 예로서, 실행가능성(executability) 및/또는 제어 트랜잭션들을 규명하기 위해 필요한 데이터가 전송기 그리고/또는 수신기 사이에서 상호교환될 수 있다. 예컨대, 통신 채널이 폐쇄/종결되면(즉, 특히 통신 연결이 종결됨), 예로서 (예컨대, 송신 확인 트랜잭션으로서의) 예컨대 트랜잭션들의 형태의 데이터 송신의 결과는 분산형 데이터베이스 시스템에(예컨대, 분산형 데이터베이스 시스템의 데이터 블록들에) 저장된다. 데이터 송신의 결과는, 예컨대 통신 채널이 폐쇄되기 전에 별개의 및/또는 직접적인 통신 채널을 통해 송신된, 적용가능 트랜잭션들/메시지들 및/또는 분석 결과 및/또는 마지막 송신된 트랜잭션/메시지의 송신 또는 수신의 확인일 수 있다. 트랜잭션은, 예컨대 전송기 및/또는 수신기에 의해 결과와 함께 저장될 수 있다. 분석 결과는, 예컨대 디바이스에 의한 제어 명령들의 실행가능성의 확인일 수 있으며, 예컨대 적용가능 디바이스가 제어 명령들을 실행할 수 있음을 적용가능 디바이스가 확인했다. 예로서, 이는 결국 트랜잭션에(예컨대, 실행가능성 확인 트랜잭션에) 그리고 예컨대 실행 요건들에(예컨대, 디바이스-특정 요건들에) 저장될 수 있다. 대안적으로 또는 추가적으로, 실행가능성 확인 트랜잭션은 분산형 데이터베이스 시스템에 저장된다. 실행가능성 확인 트랜잭션은, 예컨대 제어 명령들을 실행할 수 있거나 또는 적용가능 실행 요건들을 충족시키는 디바이스에 대한 고유 식별자를 포함한다. 대안적으로 또는 추가적으로, 실행가능성 확인 트랜잭션은, 예컨대 실행에 관한 데이터, 예컨대 얼마나 양호하게 또는 어느 정도까지 실행 요건들이 충족되는지(예컨대, 제어 명령들이 얼마나 빨리 수행되는지, 제어 명령들이 언제 신뢰할 수 있게 수행되는지, 제어 명령들이 얼마나 정확하게 또는 정밀하게 실행되는지(예컨대, 생산 제어 명령들을 실행할 때))를 포함한다. 대안적으로 또는 추가적으로, 실행가능성 확인 트랜잭션은, 예컨대 제어 명령들의 실행과 관련된 적용가능 디바이스의 디바이스-특정 데이터를 포함하며, 예컨대 디바이스-특정 데이터는 디바이스에 의한 실행가능성의 확인 시에 적용가능 디바이스에 의해 규명된다. 예컨대, 실행가능성의 확인 및 디바이스-특정 데이터의 규명은, 예컨대 수 초 또는 수 분의 시간 윈도우(time window) 내에서 (거의) 동시에 발생한다. 예로서, 실행가능성 확인 트랜잭션의 데이터는 또한, 실행가능성 확인 트랜잭션이 예컨대 분산형 데이터베이스 시스템에 저장되기 전에, 전송기와 수신기 사이에서 상호교환되었을 수 있다. 실행가능성 확인 트랜잭션은 예로서 또한, 암호화방식으로 보호될 수 있다(예컨대, 실행가능성 확인 트랜잭션은 암호화될 수 있거나 또는 트랜잭션 체크섬에 의해 보호될 수 있음). 예로서, 제어 트랜잭션들은, 제어 명령들을 실행할 수 있거나 또는 실행해야 하는 적용가능 디바이스에 유사한 방식으로 송신되는 것이 또한 가능하다. 이를 위해, 예컨대 추가의 별개의 및/또는 직접적인 통신 채널이 전송기와 수신기 사이에 셋업될 수 있다. 대안적으로, 예컨대 위에서 언급된 통신 채널이 계속해서 사용될 수 있다. 그런 다음, 적용가능 통신 채널은, 예컨대 적용가능 제어 트랜잭션들을 적용가능 디바이스에 송신하는 데 사용된다. 예컨대, 송신이 (성공적으로) 완료되었을 때 통신 채널이 다시 폐쇄/종결되면, 송신의 결과는 예컨대 분산형 데이터베이스 시스템에 송신 확인 트랜잭션으로서 저장된다. 예로서, 통신 채널을 통해 가장 최근에 상호교환된 메시지가 송신 확인 트랜잭션에 저장되고(예컨대, 통신 채널이 인터럽트된 경우), 그런 다음, 송신 확인 트랜잭션이 예컨대 분산형 데이터베이스 시스템에 저장되는 것이 또한 가능하다. 이 가장 최근에 상호교환된 메시지는, 예컨대 통신 채널이 다시 셋업될 때 데이터 상호교환 또는 데이터 송신을 계속하는 데 사용될 수 있다. 송신 확인 트랜잭션은 예로서 또한, 암호화방식으로 보호될 수 있다. 송신 확인 트랜잭션은 예로서, 전송기와 수신기 사이의 제어 명령들 및/또는 제어 트랜잭션 및/또는 마지막 상호교환된 메시지를 포함할 수 있다. 데이터 상호교환 또는 데이터 송신의 연속화(continuation)는 예로서 또한, 다른 데이터 송신들에 대해 사용될 수 있으며, 제어 트랜잭션들의 데이터 상호교환 또는 데이터 송신으로 특정하게 제한되지 않는다.
별개의 및/또는 직접적인 통신 채널은 송신 속도 및/또는 송신 레이턴시(transmission latency)를 개선하는 데 유리하다. 예컨대, 적용가능 통신 채널이 (예컨대, 높은 우선순위를 갖는) 시간-임계적 제어 명령들을 위해 사용됨으로써, 예로서 하이브리드 방법(hybrid method)이 또한 가능하다. 예로서, 실행 요건들(예컨대, 실시간 애플리케이션을 위한 제어 명령들 또는 시간-임계적 제어 명령들)은, 적용가능 별개의 통신 채널을 통해 송신되어야 하는 적용가능 제어 명령들이 수반되는지 여부를 결정하는 데 사용될 수 있다. 대안적으로 또는 추가적으로, (제1) 결정 모듈은, 예컨대 실행 요건들을 결정할 때 제어 트랜잭션들의 데이터 송신을 위한 적용가능 송신 요건들을 결정할 수 있다. 송신 요건들은, 예로서 실행 요건들에 저장될 수 있다. 그런 다음, 송신 요건들은 예로서, 적용가능 디바이스로의 송신을 위한 제어 트랜잭션들이 분산형 데이터베이스 시스템에 저장되는지 여부 또는 별개의 및/또는 직접적인 통신 채널이 적용가능 디바이스로의 데이터 송신에 사용되는지 여부를 규명하기 위해 메모리 모듈에 의해 사용될 수 있다. 그런 다음, 데이터 송신은 예로서, (제1) 메모리 모듈에 의해 수행될 수 있으며, 이를 위해 (제1) 메모리 모듈은 예컨대 적용가능 통신 모듈(예컨대, 네트워크 인터페이스)을 포함한다.
본 발명의 문맥 내에서, "스마트 계약"은, 예컨대 실행가능 프로그램 코드[4][5]를 의미하는 것으로 이해될 수 있다(특히, "프로그램 코드" 정의 참조). 스마트 계약은 바람직하게, 분산형 데이터베이스 시스템(예컨대, 블록체인)의 트랜잭션에, 예컨대 분산형 데이터베이스 시스템의 데이터 블록에 저장된다. 예로서, 스마트 계약은, 특히 본 발명의 문맥 내에서 "프로그램 코드"의 정의에서 설명된 방식과 동일한 방식으로 실행될 수 있다.
본 발명의 문맥 내에서, "스마트 계약 프로세스"는 특히, 분산형 데이터베이스 시스템 또는 분산형 데이터베이스 시스템의 인프라구조에 의한 프로세스에서 프로그램 코드(예컨대, 제어 명령들 또는 스마트 계약)의 실행을 의미하는 것으로 이해될 수 있다.
본 발명의 문맥 내에서, "작업 증명 증거(proof-of-work evidence)"는, 예컨대 특히 데이터 블록 콘텐츠(data block content)/특정 트랜잭션의 콘텐츠에 기반하여 해결될 필요가 있는 컴퓨테이션 집약적 문제(computationally intensive problem)를 해결하는 것[1][4][5]을 의미하는 것으로 이해될 수 있다. 이러한 종류의 컴퓨테이션 집약적 문제는, 예로서 또한, 암호화 퍼즐(cryptographic puzzle)로 지칭된다.
본 발명의 문맥 내에서, 예로서 분산형 데이터베이스로 또한 지칭될 수 있는 "분산형 데이터베이스 시스템"은, 예컨대 로컬로(locally) 분산된 데이터베이스, 블록체인, 분산형 원장(distributed ledger), 분산형 메모리 시스템, 분산형 원장 기술(DLT; distributed ledger technology) 기반 시스템(DLTS; distributed ledger technology based system), 개정-증명 데이터베이스 시스템(revision-proof database system), 클라우드(cloud), 클라우드 서비스(cloud service), 클라우드의 블록체인 또는 피어-투-피어 데이터베이스(peer-to-peer database)를 의미하는 것으로 이해될 수 있다. 예로서, 예컨대 유향 비순환 그래프(DAG; directed acyclic graph), 암호화 퍼즐, 해시 그래프 또는 상기 구현 변형들의 조합에 의해 구현되는 DLTS 또는 블록체인과 같은, DLTS 또는 블록체인의 상이한 구현들이 사용되는 것이 또한 가능하다[6][7]. 예로서, 상이한 합의 방법(consensus method)들(합의 알고리즘(consensus algorithm)들)이 구현되는 것이 또한 가능하다. 이들은, 예컨대 암호화 퍼즐, 가십에 대한 가십(gossip about gossip), 가상 투표 또는 상기 방법들의 조합(예컨대, 가상 투표와 조합되는 가십에 대한 가십)에 의한 합의 방법일 수 있다[6][7]. 예컨대, 블록체인이 사용되는 경우, 블록체인은 특히 비트코인-기반 구현(Bitcoin-based implementation) 또는 이더리움-기반 구현(Ethereum-based implementation)에 의해 구현될 수 있다[1][4][5]. "분산형 데이터베이스 시스템"은 또한, 예컨대 클라우드에 의해 구현되는 분산형 데이터베이스 시스템의 노드들 및/또는 디바이스들 및/또는 인프라구조의 적어도 일부를 갖는 분산형 데이터베이스 시스템을 의미하는 것으로 이해될 수 있다. 예로서, 적용가능 컴포넌트들은 클라우드 내의 노드들/디바이스들로서(예컨대, 가상 머신 내의 가상 노드들로서) 구현된다. 이는, 예컨대 VM-웨어(VM-ware), 아마존 웹 서비스들(Amazon Web Services) 또는 마이크로소프트 애저(Microsoft Azure)에 의해 달성될 수 있다. 설명된 구현 변형들의 높은 유연성으로 인해, 특히, 예컨대 해시 그래프(hash graph)를 블록체인으로서 사용함으로써, 상기 구현 변형들의 하위양상들이 서로 조합되는 것이 또한 가능하며, 블록체인 자체는 예컨대 또한 블록리스(blockless)일 수 있다.
예컨대, 유향 비순환 그래프(DAG; directed acyclic graph)가 사용되는 경우(예컨대, 아이오타(IOTA) 또는 탱글(Tangle)), 특히 그래프의 트랜잭션들 또는 블록들 또는 노드들은 유향 에지(directed edge)들을 통해 서로 연결된다. 이는 특히, (모든) 에지들이, 예컨대 시간의 경우와 유사하게, (항상) 동일한 방향을 갖는다는 것을 의미한다. 다시 말해, 특히 그래프의 트랜잭션들 또는 블록들 또는 노드들을 통해 뒤로(즉, 동일한 공통 방향과 반대로) 점프(jump)하거나 이어지는 것이 가능하지 않다. 이 경우의 비순환은 특히, 그래프를 통해 이어질 때 어떤 루프들도 없음을 의미한다.
분산형 데이터베이스 시스템은, 예컨대 공용 분산형 데이터베이스 시스템(public distributed database system)(예컨대, 공용 블록체인) 또는 폐쇄형(또는 전용(private)) 분산형 데이터베이스 시스템(예컨대, 전용 블록체인)일 수 있다.
분산형 데이터베이스 시스템이, 예컨대 공용 분산형 데이터베이스 시스템인 경우, 이는 새로운 노드들 및/또는 디바이스들이, 권한부여 증명 없이 또는 인증 없이 또는 등록 정보 없이 또는 자격증명서(credential)들 없이, 분산형 데이터베이스 시스템에 참여하거나 분산형 데이터베이스 시스템에 의해 수용될 수 있음을 의미한다. 특히, 그러한 경우에서, 노드들 및/또는 디바이스들의 오퍼레이터들은 익명으로 유지될 수 있다.
분산형 데이터베이스 시스템이, 예컨대 폐쇄형 분산형 데이터베이스 시스템인 경우, 새로운 노드들 및/또는 디바이스들은, 예컨대 분산형 데이터베이스 시스템에 참여하거나 또는 분산형 데이터베이스 시스템에 의해 수용될 수 있기 위해서는, 유효한 권한부여 증명 및/또는 유효한 인증 정보 및/또는 유효한 자격증명서들 및/또는 유효한 등록 정보를 필요로 한다.
분산형 데이터베이스 시스템은 또한, 예컨대 피어-투-피어 애플리케이션(peer-2-peer application) 또는 피어-투-피어 통신 시스템 또는 데이터 상호교환을 위한 분산형 통신 시스템일 수 있다. 이는, 예컨대 네트워크 또는 피어-투-피어 네트워크일 수 있다.
분산형 데이터베이스 시스템은 또한, 예컨대 로컬 분산형 데이터베이스 시스템 및/또는 로컬 분산형 통신 시스템일 수 있다.
본 발명의 문맥 내에서, 특히 문맥 및 구현에 따라 "링크(link)"또는 "블록(block)"으로 또한 지칭될 수 있는 "데이터 블록"은, 예컨대 특히 데이터 구조로서 구현되고 바람직하게는 각각의 경우에서 트랜잭션들 중 하나 또는 트랜잭션들 중 몇몇을 포함하는 분산형 데이터베이스 시스템(예컨대, 블록체인 또는 피어-투-피어 데이터베이스)의 데이터 블록을 의미하는 것으로 이해될 수 있다. 일 구현에서, 데이터베이스(또는 데이터베이스 시스템)는 DLT 기반 시스템(DLTS; DLT based system) 또는 블록체인일 수 있고 데이터 블록은 예컨대 블록체인의 또는 DLTS의 블록일 수 있다. 데이터 블록은, 예컨대 데이터 블록의 크기 (바이트(byte) 단위의 데이터 크기), 데이터 블록 헤더(블록 헤더), 트랜잭션 카운터(transaction counter) 및 하나 이상의 트랜잭션들에 관한 세부사항들을 포함할 수 있다[1]. 데이터 블록 헤더는, 예컨대 버전(version), 연쇄 체크섬, 데이터 블록 체크섬, 타임스탬프(timestamp), 작업 증명 증거 및 논스(nonce)(작업 증명 증거에 사용되는 일회성 값(one-time), 랜덤 값(random value) 또는 카운터)를 포함할 수 있다[1][4][5]. 데이터 블록은 예로서 또한, 단지, 분산형 데이터베이스 시스템에 저장된 총 데이터에 대한 특정 메모리 영역 또는 어드레스 영역일 수 있다. 따라서, 예로서, 블록리스 분산형 데이터베이스 시스템들, 이를테면, 예컨대 IoT 체인(ITC; IoT chain), 아이오타(IOTA) 및 바이트볼(Byteball)이 구현되는 것이 가능하다. 이들은 특히, 예컨대 트랜잭션들 자체가 (분산형 데이터베이스 시스템의) 트랜잭션들의 시퀀스 또는 체인을 보호하도록(즉, 특히, 그들을 보안-보호된 방식으로 저장함), 트랜잭션들의 그리고 블록체인의 블록들의 기능성들이 서로 조합되는 것을 수반한다. 이를 위해, 예컨대 바람직하게는 하나 이상의 트랜잭션들의 트랜잭션 체크섬 또는 별개의 체크섬이 연쇄 체크섬으로서 사용됨으로써, 연쇄 체크섬은 트랜잭션들 자체를 서로 연쇄시키는 데 사용될 수 있으며, 이는, 새로운 트랜잭션이 분산형 데이터베이스 시스템에 저장될 때 적용가능 새로운 트랜잭션(applicable new transaction)에 또한 저장된다. 그러한 실시예에서, 데이터 블록은 또한, 예컨대 하나 이상의 트랜잭션들을 포함할 수 있으며, 예컨대 가장 단순한 경우에서 하나의 트랜잭션은 하나의 데이터 블록에 대응한다.
본 발명의 문맥 내에서, "논스"는, 예컨대 암호화 논스("한 번만 사용됨(used only once)"[2] 또는"한 번 사용된 숫자(number used once)"[3]에 대한 약어)를 의미하는 것으로 이해될 수 있다. 특히, 논스는 개개의 문맥(예컨대, 트랜잭션, 데이터 송신)에서 바람직하게는 한 번만 사용되는 숫자들의 개별적인 조합들 또는 문자들의 조합을 나타낸다.
본 발명의 문맥 내에서, "분산형 데이터베이스 시스템의 (특정) 데이터 블록의 앞선 데이터 블록들"은, 예컨대 특히 (특정) 데이터 블록 바로 앞에 있는 분산형 데이터베이스 시스템의 데이터 블록을 의미하는 것으로 이해될 수 있다. 대안적으로, "분산형 데이터베이스 시스템의 (특정) 데이터 블록의 앞선 데이터 블록들"은, 특히 또한, 특정 데이터 블록에 앞서는 분산형 데이터베이스 시스템의 모든 데이터 블록들을 의미하는 것으로 이해될 수 있다. 결과적으로, 연쇄 체크섬 또는 트랜잭션 체크섬은 특히, 예컨대 특정 데이터 블록에 바로 앞서는 데이터 블록(또는 그 데이터 블록의 트랜잭션들)으로부터만 형성되거나 또는 제1 데이터 블록에 앞서는 모든 데이터 블록들(또는 그 데이터 블록들의 트랜잭션들)로부터 형성될 수 있다.
본 발명의 문맥 내에서, "블록체인 노드", "노드", "분산형 데이터베이스 시스템의 노드" 등은, 예컨대 분산형 데이터베이스 시스템(예컨대, 블록체인)을 위한(이용한) 동작들을 수행하는 디바이스들(예컨대, 필드 디바이스들), 컴퓨터들, 스마트폰(smartphone)들, 클라이언트(client)들 또는 가입자들[1][4][5]을 의미하는 것으로 이해될 수 있다. 그러한 노드들은 예로서, 분산형 데이터베이스 시스템 또는 분산형 데이터베이스 시스템의 데이터 블록들의 트랜잭션들을 실행하거나, 또는 새로운 데이터 블록들에 의해 새로운 트랜잭션들을 갖는 새로운 데이터 블록들을 분산형 데이터베이스 시스템에 삽입하거나 연쇄시킬 수 있다. 특히, 이 유효성 확인 및/또는 연쇄는 신뢰받는 노드(예컨대, 마이닝 노드)에 의해 또는 단지 신뢰받는 노드들에 의해 수행될 수 있다. 신뢰받는 노드는 예로서, 노드의 조작을 방지하기 위해, 추가적인 보안 조치들(예컨대, 방화벽들, 노드에 대한 액세스 제한들 등)을 갖는 노드이다. 대안적으로 또는 추가적으로, 신뢰받는 노드는, 예컨대 새로운 데이터 블록이 분산형 데이터베이스 시스템과 연쇄될 때, 새로운 데이터 블록에 노드 체크섬(예컨대, 디지털 서명 또는 증명서(certificate))을 저장할 수 있다. 따라서, 특히, 적용가능 데이터 블록이 특정 노드에 의해 삽입되었음을 표시하거나 또는 그것의 기원(origin)을 표시하는 증명(proof)을 제공하는 것이 가능하다. 디바이스들(예컨대, 적용가능 디바이스)은, 예컨대, 특히 또한 분산형 데이터베이스 시스템의 노드인, 기술 시스템 및/또는 산업 설비의 그리고/또는 자동화 네트워크의 그리고/또는 생산 설비의 디바이스들이다. 이 경우의 디바이스들은, 예컨대, 특히 또한 분산형 데이터베이스 시스템의 노드인 사물 인터넷 내의 디바이스들 또는 필드 디바이스들일 수 있다. 예로서, 노드들은 또한, 예컨대 노드들의, 컴퓨터-구현 기능성(computer-implemented functionality)을 수행하기 위해, 적어도 하나의 프로세서를 포함할 수 있다.
본 발명의 문맥 내에서, "블록체인 오라클" 등은, 예컨대 보안 모듈을 갖는, 노드들, 디바이스들 또는 컴퓨터들을 의미하는 것으로 이해될 수 있으며, 보안 모듈은, 예컨대 소프트웨어 보호 메커니즘(software protection mechanism)들(예컨대, 암호화 방법들), 기계적 보호 디바이스들(예컨대, 잠금가능 하우징(lockable housing)) 또는 전기적 보호 디바이스들(예컨대, 블록체인 오라클의 허용될 수 없는 사용/핸들링(handling) 시에 보안 모듈의 데이터를 소거(erase)하는 탬퍼프루핑(tamperproofing) 또는 보호 시스템)을 포함한다. 보안 모듈은, 예컨대 체크섬들(예컨대, 트랜잭션 체크섬들 또는 노드 체크섬들)을 계산하는 데 필요한 암호화 키(cryptographic key)들을 포함할 수 있다.
본 발명의 문맥 내에서, "컴퓨터"는, 예컨대 각각의 경우에서 블록체인 외부에 배열되거나, 또는 분산형 데이터베이스 시스템(예컨대, 블록체인)에 대한 가입자들이 아닌 컴퓨터(시스템), 클라이언트, 스마트폰, 디바이스 또는 서버(즉, 분산형 데이터베이스 시스템을 이용한 동작들을 수행하지 않거나, 또는 분산형 데이터베이스 시스템에 질의(query)만을 수행함(그러나, 트랜잭션들을 수행하지 않거나, 데이터 블록들을 삽입하지 않거나, 또는 작업 증명 증거를 계산하지 않음))를 의미하는 것으로 이해될 수 있다. 대안적으로, 컴퓨터는 특히 또한, 분산형 데이터베이스 시스템의 노드를 의미하는 것으로 이해될 수 있다. 다시 말해, 디바이스는 특히 또한, 분산형 데이터베이스 시스템의 노드 또는 그렇지 않으면 블록체인 또는 분산형 데이터베이스 시스템 외부의 디바이스를 의미하는 것으로 이해될 수 있다. 분산형 데이터베이스 시스템 외부의 디바이스는, 예컨대 분산형 데이터베이스 시스템의 데이터(예컨대, 트랜잭션들 또는 제어 트랜잭션들)에 액세스(access)할 수 있고 그리고/또는 노드들에 의해(예컨대, 스마트 계약들 및/또는 블록체인 오라클들에 의해) 작동될 수 있다. 예컨대, 디바이스(예컨대, 노드의 형태의 디바이스 또는 분산형 데이터베이스 시스템 외부의 디바이스)의 작동 또는 제어가 노드에 의해 수행되는 경우, 이는, 예컨대 특히, 분산형 데이터베이스 시스템의 트랜잭션에 저장된 스마트 계약에 의해 달성될 수 있다. 디바이스 또는 노드는, 예컨대 액추에이터를 포함할 수 있다. 디바이스 또는 노드는 또한, 예컨대 메카트로닉 디바이스 또는 시스템, 예컨대 액추에이터 및/또는 선형 모션 디바이스인 메카트로닉 디바이스/시스템일 수 있다. 선형 모션 디바이스는, 예컨대 병진 운동들을 수행하기 위한 디바이스이다. 적용가능 디바이스는 또한, 예컨대 구동 시스템일 수 있다. 디바이스 또는 노드는 (예컨대, 사용자 인증을 수행하기 위한) 예컨대 암호화 디바이스/노드일 수 있다.
본 발명의 문맥 내에서, "디지털 트윈(digital twin)"은, 예컨대, 특히 실제 제품, (기술적) 아이템(item), 또는 (물리적) 오브젝트(object)의 데이터 모델 또는 데이터 구조의 형태의 디지털 이미지(digital image)를 의미하는 것으로 이해될 수 있다. 이들은, 예컨대 (전기/전자기계/전자) 디바이스들, 풍력발전 터빈(wind turbine)들, 또는 대형 설비들, 이를테면, 해양 플랫폼(offshore platform)들이다. 특히, 디지털 트윈이라는 용어는 또한, 다음의 특허 출원들: WO2016/141998 또는 PCT/EP2016/064785에 설명되어 있다. 특히, 디지털 트윈은, 재생되는 아이템으로부터의 데이터에 기반하여 업데이트될(updated) 수 있다. 이러한 적용가능 데이터는 센서들에 의해 캡처될(captured) 수 있고, 그런 다음, 예컨대 디지털 트윈을 업데이트(update)할 수 있다. 이는, 예컨대 실시간으로, 주기적으로, 수동 제어 하에 또는 규정된 시간들에서 수행될 수 있다. 1차 디지털 트윈은, 예컨대 특히 대량의 데이터를 포함하고, 예로서 수백 또는 수천 개의 데이터 레코드들을 포함하는, 아이템의 매우 상세한 디지털 이미지를 의미하는 것으로 이해될 수 있다. 특히, 예컨대 디지털 트윈이 제어 액션들을 수행할 수 있도록(예컨대, 1차 디지털 트윈은 업데이트된 데이터를 갖는 트랜잭션들을 블록체인에 삽입할 수 있거나 또는 블록체인에 기반하여 그것의 데이터 무결성을 독립적으로 체크할 수 있음), 디지털 트윈은 제어 모듈(예컨대, 제어 소프트웨어) 또는 제어 시스템(예컨대, 아이템의 모니터링 시스템 ― 그 모니터링 시스템은 디지털 트윈에 의해 재생됨)을 포함할 수 있다. 특히, 1차 디지털 트윈 또는 1차 디지털 트윈의 데이터의 선택된 부분을 포함하는 선택된(또는 2차) 디지털 트윈은, 예컨대 본 발명(예컨대, 제어 시스템 및/또는 분산형 데이터베이스 시스템 및/또는 제1 분산형 데이터베이스 시스템)에 의해 구현될 수 있다. 이 경우, 디지털 트윈(예컨대, 1차 디지털 트윈 및/또는 2차 디지털 트윈)은, 예컨대 본 발명에 따른 제어 시스템 및/또는 본 발명에 따른 분산형 데이터베이스 시스템 및/또는 본 발명에 따른 제1 분산형 데이터베이스 시스템이거나, 또는 예컨대 디지털 트윈은, 예컨대 본 발명에 따른 이러한 아이템들 중 하나(또는 이들의 조합)의 형태이다.
본 발명은 특히, 제어 명령들을 실행하기 위한 로컬 인프라구조가 구현되는 것을 가능하게 한다. 특히, 이는, 디바이스들 및/또는 디바이스들의 디바이스 그룹(device group)들의 개별적인 오퍼레이터들이 서로를 신뢰하지 않더라도, 사물 인터넷 내의 디바이스들의 제어가 로컬로 수행되는 것을 가능하게 한다. 특히, 디바이스들은 분산형 데이터베이스 시스템의 노드들의 형태일 수 있고, 예로서 분산형 데이터베이스 시스템 또는 적용가능 노드 또는 적용가능 디바이스에 의해 동적으로 제어 명령들을 실행 또는 수행하기 위해, 제어 명령들을 실행하기 위해 요구되는 실행 요건들이 충족됨을 발견하는 것이 가능하다. 예컨대, 분산형 데이터베이스 시스템의 블록체인-기반 구현이 사용되는 경우, (예컨대, 사기(fraud)/뇌물수수(bribery)의 결과로서) 노드에 불법적인 우선권(preference)을 제공하는 것은 엄격히 저지될 수 있는데, 왜냐하면, 비트코인과 유사하게 조작으로부터의 보호 또는 신뢰의 보호가 제어 트랜잭션들 또는 확인 트랜잭션들에 대해 구현되기 때문이다. 특히, 노드들의 인증을 수행하는 중앙 엔티티(central entity)를 생략하는 것이 가능하다. 예로서, 데이터베이스 시스템이, 특히 암호화 화폐(cryptographic currency), 이를테면, 비트코인을 구현하는 블록체인에 의해 실현되는 경우, 제어 명령을 세팅(set)했거나 또는 명령 시퀀스(예컨대, 명령 시퀀스로부터 제어 명령들이 유도됨)를 제공한 고객은, 예컨대 간단하고 효율적인 방식으로 제어 명령들의 실행에 대해 빌링될(billed) 수 있다.
추가적으로, 예컨대 분산형 데이터베이스 시스템(예컨대, 블록체인)을 동작시킬 때 보안이 강화될 수 있는데, 왜냐하면, 특히 제어 명령들의 실행에 대한 추가적인 체크가 도입되었기 때문이다. 다시 말해, 특히, 체크되지 않은(unchecked) 트랜잭션들 또는 제어 명령들은 체크된 트랜잭션들로 변환되며, 체크는 예컨대 제어 명령들을 실행해야 하는 디바이스들 또는 노드들의 노드 또는 디바이스 특성들(예컨대, 디바이스-특정 데이터)에 기반하여 수행된다.
예컨대, 현금 자동 입출금기가 분산형 데이터베이스 시스템의 노드이거나 또는 분산형 데이터베이스 시스템의 노드 또는 다른 인터페이스를 사용하여 분산형 데이터베이스 시스템의 적용가능 제어 트랜잭션들에 액세스하거나 또는 적용가능 제어 트랜잭션들을 리트리빙하는 경우, 예로서 현금 자동 입출금기들에서의 현금 지급을 개선시키거나 또는 현금 지급의 보안을 강화시키기 위한 방법이 사용되는 것이 또한 고려가능하다.
대안적으로 또는 추가적으로, 실행 요건들은 또한, 예컨대 실행을 위해 고려될 필요가 있는 추가의 특정(stipulation)들을 포함할 수 있다. 이들은, 예컨대 제어 명령이 적용가능 노드 또는 디바이스에 의해 수행되는 것을 가능하게 하기 위해, 특정 요금이 지불될 필요가 있다는 특정일 수 있다. 이는, 예컨대 디바이스가 그것의 사용을 위해 또는 제어 명령들의 수행을 위해, 규정된 요금의 지불을 요구함으로써, 디바이스-특정 요건들에 저장될 수 있다. 규정된 요금은, 예컨대 암호화 통화(cryptographic currency)들에 의해 지불될 수 있으며, 암호화 통화들은 바람직하게 마찬가지로, 분산형 데이터베이스 시스템의 트랜잭션들에 저장되거나 또는 도큐먼트화된다(documented). 예컨대, 이러한 특정들(예컨대, 요금 지불)이 충족되는지 여부는 마찬가지로, 예컨대 요금들의 적용가능 지불에 대한 트랜잭션들이 분산형 데이터베이스 시스템에서 이용가능한지 여부를 체크함으로써, 결정 모듈에 의해 체크될 수 있다. 대안적으로, 예컨대 적용가능 요금 지불이 이루어졌는지 여부에 대해, 은행의 계좌 잔고(account balance)가 또한 체크될 수 있다. 실행 요건들의 이러한 특정들이, 예컨대 적용가능 제어 명령들에 대해 충족된 경우, 그 적용가능 제어 명령들은 추가로 프로세싱되고(processed), 그리고 설명된 바와 같이 제어 트랜잭션들에 저장될 수 있다.
제어 시스템의 제1 실시예에서, 전제된 제어 명령들은, 그 전제된 제어 명령들의 실행의 확인(confirmation)이 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장된, 이미 실행된 제어 명령들이다.
제어 시스템은 특히, 전제된 제어 명령들에 의해, 적용가능 디바이스에 의한 제어 명령들의 실행 또는 프로세싱에 대한 순서를 규정하는 데 유리하다. 특히, 전제된 제어 명령들은, 특히 적용가능 디바이스에 의해 (현재) 실행될 필요가 있는 제어 명령들 이전의 시점에서 실행될 필요가 있는, 동일한 명령 시퀀스의 제어 명령들일 수 있다. 이 경우의 전제된 제어 명령들은 특히 마찬가지로 제어 트랜잭션들에 저장되었으며, 제어 트랜잭션들은 결국 분산형 데이터베이스 시스템의 데이터 블록들(즉, 하나의 데이터 블록 또는 다수의 데이터 블록들)에 저장된다.
제어 시스템의 추가의 실시예들에서, 실행 요건들은, 추가의 제어 명령들이 수행되기 전에, 전제된 제어 명령들의 수행을 규정한다.
제어 시스템은 특히, 예컨대 적용가능 디바이스에 의한 제어 명령들의 실행 또는 수행이, 제품이 단계적으로 생성되는 것을 유발함을 보장하는 데 유리하다. 이는 특히, 규정되거나 선택된 제어 명령들 또는 생산 단계들이 규정된 또는 선택된 디바이스에 의해 수행됨이 보장되어야 하는 경우에, 유리하다.
제어 시스템의 추가의 실시예들에서, 실행 요건들은 데이터 블록의 또는 다양한 데이터 블록들의 제어 명령들의 수행 순서를 규정한다.
제어 시스템은 특히, 전제된 제어 명령들에 의해, 적용가능 디바이스에 의한 제어 명령들의 실행 또는 수행에 대한 순서를 규정하는 데 유리하다. 특히, 전제된 제어 명령들은, 특히 적용가능 디바이스에 의해 (현재) 실행될 필요가 있는 제어 명령들 이전에 실행될 필요가 있는, 동일한 명령 시퀀스의 제어 명령들일 수 있다. 이 경우의 전제된 제어 명령들은 특히 마찬가지로 제어 트랜잭션들에 저장되며, 제어 트랜잭션들은 결국 분산형 데이터베이스 시스템의 데이터 블록들(즉, 하나의 데이터 블록 또는 다수의 데이터 블록들)에 저장된다.
제어 시스템의 추가의 실시예들에서, 실행 요건들은 제어 명령들의 수행의 다양한 데이터 블록들 또는 데이터 블록의 다른 제어 명령들에 대한 종속성들을 규정한다.
제어 시스템은 특히, 전제된 제어 명령들에 의해, 적용가능 디바이스에 의한 제어 명령들의 실행 또는 수행에 대한 순서를 규정하는 데 유리하다. 특히, 전제된 제어 명령들은, 특히 적용가능 디바이스에 의해 (현재) 실행될 필요가 있는 제어 명령들 이전에 실행될 필요가 있는, 동일한 명령 시퀀스의 제어 명령들일 수 있다. 이 경우의 전제된 제어 명령들은 특히 마찬가지로 제어 트랜잭션들에 저장되었으며, 제어 트랜잭션들은 결국 분산형 데이터베이스 시스템의 데이터 블록들(즉, 하나의 데이터 블록 또는 다수의 데이터 블록들)에 저장된다.
제어 시스템의 추가의 실시예들에서, 실행 요건들은 제어 명령들의 수행에 대한 우선순위들을 규정한다.
제어 시스템은 특히, 적용가능 디바이스에 의한 제어 명령들의 실행 또는 수행을 위해 규정된 제어 명령들에 우선권을 주거나(giving preference) 또는 규정된 제어 명령들을 우선순위화(prioritizing)하는 데 유리하다. 바람직하게, 이는 특히, 적용가능 제어 명령들이 (예컨대, 디바이스들 또는 분산형 데이터베이스 시스템에 의해) 다른 우선권이 없는(nonpreferred) 제어 명령들보다 더 빠르게 또는 다른 우선권이 없는 제어 명령들 이전에 수행됨을 의미한다. 예컨대, 우선권이 주어질 이러한 제어 명령들 또는 간략히, 우선권이 주어진 이러한 제어 명령들은, 예컨대 디바이스 손상, 인프라구조 손상 또는 신체적 상해(personal injury)를 방지하기 위해 즉시 실행될 필요가 있는 중요/주요 제어 명령들일 수 있다. 예컨대, 특히 적용가능 디바이스, 예컨대 생산 디바이스가 과열됨을 또는 사람이 위험하게 디바이스에 가까이 있음을, 분산형 데이터베이스 시스템의 노드와 마찬가지로 모니터링 디바이스가 발견하는 경우, 이 모니터링 디바이스는 예컨대 분산형 데이터베이스 시스템의 데이터 블록들 내의 디바이스를 셧 다운(shut down)하기 위해 제어 명령들 및 실행 요건들(예컨대, 실행 요건들은 우선순위(priority)를 포함함)을 이용하여 적용가능 제어 트랜잭션을 세팅할 수 있다. 분산형 데이터베이스 시스템 또는 분산형 데이터베이스 시스템의 인프라구조는 이 제어 트랜잭션을 평가하고, 바람직하게는 제어 트랜잭션을 셧 다운될 디바이스에 전달한다.
제어 시스템의 추가의 실시예들에서, 실행 요건들은 제한 시간(time limit)을 규정하며, 제어 명령들은 그 제한 시간까지 수행될 필요가 있다.
제어 시스템은 특히, 규정된 또는 선택된 제어 명령들에 대해 제한 시간을 규정하기 위해 실행 요건들을 사용하는 데 유리하며, 제어 명령들은 적용가능 디바이스에 의해 그 제한 시간까지 수행될 필요가 있다. 예컨대, 이 제한 시간이 초과되는 경우, 특히 체크 모듈은 제한 시간의 초과에 반응하기 위해 제어 신호를 제공할 수 있다. 그런 다음, 제어 신호는, 예컨대 생산 작업자(production worker) 또는 서비스 엔지니어(service engineer)에게 알리거나 또는 자동화 방식으로 경보 신호를 트리거(trigger)하는 데 사용될 수 있다. 예컨대, 생산 프로세스가 재시작되는 것이 또한 가능하다.
제어 시스템의 추가의 실시예들에서, 제어 시스템은 옵티마이저(optimizer)를 포함하며, 옵티마이저는 규정된 기준에 기반하여 디바이스들에 의한 제어 명령들의 실행을 최적화한다.
제어 시스템은 특히, 규정된 기준들에 따라 생산 프로세스를 최적화하는 데 유리하다. 규정된 기준들은, 예컨대 생산 시간, 발생되는 비용 또는 사용될 필요가 있는 에너지(energy)일 수 있다. 예로서, 옵티마이저는 명령 시퀀스를 제어 명령들로 분해(break down)할 수 있고, 제어 명령들은 결국 제어 트랜잭션들에 저장된다. 이는, 옵티마이저가 규정된 기준에 기반하여 명령 시퀀스를 제어 명령들로 분해하는 것을 수반한다. 예컨대, 기준이, 제품을 생산하기 위한 생산 시간을 최적화하는 것(예컨대, 제품에 대한 생산 시간을 가능한 한 짧게 유지할 필요가 있음)인 경우, 명령 시퀀스가 분해되어서, 제품의 개별적인 컴포넌트들은 다수의 디바이스들에 의해 병렬로 제조되는데, 즉, 제어 트랜잭션들 내의 적용가능 제어 명령들이 이들에 의해 수행된다. 예컨대, 기준이, 제품을 생산하기 위한 생산 비용들을 최적화하는 것인 경우, 명령 시퀀스가 분해되어서, 개별적인 컴포넌트들은 하나의 디바이스(예컨대, 적용가능 디바이스) 또는 가능한 한 적은 수의 디바이스들에 의해 직렬로 제조되는데, 즉, 제어 트랜잭션들 내의 적용가능 제어 명령들이 적용가능 디바이스들에 의해 수행된다. 이를 제어하기 위해, 옵티마이저는, 예컨대 결정 모듈이 이러한 정보를 실행 요건들에 저장하도록, 적용가능 정보를 결정 모듈에 전달한다. 옵티마이저는, 예컨대 결정 모듈의 통합형 부분이거나 별개의 모듈일 수 있다. 대안적으로, 옵티마이저는, 예컨대 실행 요건들에 기반하여 최적화를 수행할 수 있거나, 또는 심지어 실행 요건들 자체를 생성하여 이들을 결정 모듈에 제공할 수 있다.
제어 시스템의 추가의 실시예들에서, 분산형 데이터베이스 시스템은 제1 항 내지 제28 항 중 어느 한 항에 청구된 바와 같은 데이터베이스, 또는 제1 분산형 데이터베이스 시스템 또는 그것의 실시예들 중 하나이다.
제어 시스템은 특히, 특정 디바이스들 또는 특정 네트워크에 대해 이러한 종류의 분산형 데이터베이스 시스템을 사용하는 데 유리하다. 이는 특히, 더 이상 필요하지 않은 데이터 블록들이 제어 시스템의 부분이 되는 것을 방지하는 데 유리하다.
제어 시스템의 추가의 실시예들에서, 분산형 데이터베이스 시스템은 블록체인이고 데이터 블록들은 블록체인의 블록들이거나, 또는 분산형 데이터베이스 시스템은 피어-투-피어 데이터베이스 시스템이다.
제어 시스템은 특히, 로컬 제어 시스템 인프라구조를 실현하는 데 유리하다. 더욱이, 특히 디바이스들의 오퍼레이터들이 서로를 신뢰하지 않더라도, 그러한 제어 시스템이 실현되는 것이 가능하다.
제어 시스템의 추가의 실시예들에서, 데이터 블록들은 암호화 해시 함수(H)를 통해 서로 연쇄된다.
제어 시스템의 추가의 실시예들에서, 제어 시스템 또는 결정 모듈은 활동 모듈(activity module)을 포함하며, 활동 모듈은 제어 시스템 및/또는 결정 모듈의 활동을 디스플레이(display) 및/또는 도큐먼트화(document)하도록 구성된다.
제어 시스템은 특히, 예컨대 동작 동안 상태 램프(status lamp), 하트비트 신호(heartbeat signal) 또는 제어 신호에 의해 관리자(administrator)가 활동을 체크가능하게 하는 데 유리하다. 대안적으로, 활동 모듈은 예로서, 노드들 또는 모듈들의 또는 결정 모듈의 시스템 상태들 또는 재시작들을 도큐먼트화하기 위해, 정보를 예컨대 파일에 기입할 수 있다.
추가의 양상에 따르면, 본 발명은, 디바이스들을 제어하고 그리고/또는 모니터링하기 위한 분산형 데이터베이스 시스템을 갖는 제어 시스템을 위한 장치에 관한 것으로, 장치는:
- 디바이스들 또는 노드들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈을 갖고,
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장된다.
장치는 특히, 디바이스들 또는 노드들(예컨대, 생산 로봇들, 전력 분배 네트워크를 위한 제어 시스템들)의 네트워크에서의 실행을 개선하는 데 유리하다. 추가적으로, 예컨대 분산형 데이터베이스 시스템(예컨대, 블록체인)의 동작 동안의 보안이 강화될 수 있다. 다시 말해, 장치는 특히, 체크되지 않은 트랜잭션들을 체크된 트랜잭션들로 변환하며, 체크는, 예컨대 제어 명령들을 실행해야 하는 디바이스들 또는 노드들의 노드 또는 디바이스 특성들에 기반하여(예컨대, 디바이스-특정 데이터에 기반하여) 수행된다.
장치의 추가의 실시예들에서, 장치 또는 결정 모듈은 옵티마이저를 포함하며, 옵티마이저는 규정된 기준에 기반하여 디바이스들에 의한 제어 명령들의 실행을 최적화한다.
장치의 추가의 실시예들에서, 장치 또는 결정 모듈은 제1 분해 모듈(breakdown module)을 포함하며, 제1 분해 모듈은 명령 시퀀스를 적용가능 제어 명령들로 분해하도록 구성된다. 적용가능 제어 명령들은, 예컨대 제어 시스템 또는 제1 결정 모듈에 제공된다. 바람직하게, 적용가능 제어 명령들은 결정 모듈을 통해 제어 시스템에 제공되며, 제어 시스템은 바람직하게 제어 명령들을, 분산형 데이터베이스 시스템에 의해 적용가능 노드들 또는 디바이스들에 전달한다.
장치의 추가의 실시예들에서, 장치 또는 결정 모듈은 활동 모듈을 포함하며, 활동 모듈은 장치 및/또는 결정 모듈의 활동을 디스플레이 또는 도큐먼트화하도록 구성된다.
장치는 특히, 예컨대 동작 동안 상태 램프, 하트비트 신호 또는 제어 신호에 의해 관리자가 활동을 체크가능하게 하는 데 유리하다. 대안적으로, 활동 모듈은 예로서, 노드들 또는 모듈들의 또는 결정 모듈의 시스템 상태들 또는 재시작들을 도큐먼트화하기 위해, 정보를 예컨대 파일에 기입할 수 있다.
추가의 양상에 따르면, 본 발명은, 디바이스들을 제어하고 그리고/또는 모니터링하기 위한 분산형 데이터베이스 시스템을 갖는 제어 시스템을 위한 또는 분산형 데이터베이스 시스템을 위한 결정 모듈에 관한 것으로, 결정 모듈은:
- 제어 명령들을 수신 또는 리트리빙(retrieving)하기 위한 제1 인터페이스;
- 분산형 데이터베이스 시스템의 노드들에 의한 또는 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 평가 유닛을 갖고,
- 실행 요건들은 디바이스-특정 요건들 및/또는 전제된 제어 명령들에 기반하여 결정되고;
- 분산형 데이터베이스 시스템은, 예컨대 블록체인이다.
결정 모듈은 특히, 네트워크를 통해 서로 연결된 디바이스들 또는 노드들(예컨대, 생산 로봇들, 전력 분배 네트워크를 위한 제어 시스템들, 은행 단말기(bank terminal)들, 현금 자동 입출금기들, 은행들 간의 금전 이체(money transfer)들)에 의한 제어 명령들의 실행을 개선하는 데 유리하다.
추가적으로, 예컨대 분산형 데이터베이스 시스템(예컨대, 블록체인)에 의해 전체적으로 또는 부분적으로 구현되는 분산형 인프라구조(예컨대, 분산형 데이터베이스 시스템에 액세스하는 디바이스들을 갖는, 또는 노드들 및/또는 디바이스들을 갖는 분산형 데이터베이스 시스템)의 동작 동안의 보안이 강화될 수 있다. 특히, "제어 명령들"이라는 용어는 광범위하게 이해되어야 한다. 예컨대, 위에서 열거된 정의에 추가하여, 이는 또한, 디바이스(예컨대, 블록체인의 노드 또는 블록체인 외부의 디바이스, 예컨대 디바이스(D))에 의해 실행되어야 하는 트랜잭션들을 의미할 수 있다. 다시 말해, 장치는 특히, 체크되지 않은 트랜잭션들을 체크된 트랜잭션들로 변환하며, 체크는, 예컨대 제어 명령들을 실행해야 하는 디바이스-특정 요건들 및 디바이스-특정 데이터에 기반하여 수행된다.
본 발명은, 예컨대 디바이스 상에서의 제어 명령들의 실행을 위해 요구되는 디바이스-특정 요건들을 보장하는 데 사용될 수 있다. 디바이스-특정 요건들은 예로서 또한, 디바이스가 제어 명령들을 실행하기 위해 충족시켜야 하는 보안 요건들 및/또는 위치-관련 요건들(예컨대, 국가 스테이트먼트, GPS 스테이트먼트 또는 우편 번호(PLZ; zip code))일 수 있다. 대안으로서, 예컨대 실행에 대한 디바이스-특정 요건들에 의해, 특정/규정된 인증이 또한 필요로 될 수 있다.
이는, 예컨대 누군가가 현금을 인출하기 위해 디바이스(예컨대, 현금 자동 입출금기)를 사용하기를 원하는 경우일 수 있다. 그런 다음, 제어 명령들은 예로서, 현금 지급을 하라는 고객에 의한 요청이다. 예컨대, 적용가능 고객이, 예컨대 규정된 국가들, 예컨대 이탈리아, 프랑스 및 오스트리아에서만 현금 지급을 허용함을, 적용가능 고객이 (예컨대, 자신의 홈 뱅크(home bank)에서 또는 온라인 뱅킹(online banking)을 사용하여) 지정한 경우, 이는 디바이스-특정 요건들에(그리고 그에 따라 특히 또한 실행 요건들에 묵시적으로) 저장된다. 그런 다음, 안도라의 현금 자동 입출금기는 지급을 허용하지 않거나 지급을 방지할 수 있다. 예로서, 보안 요건들이 고객의 규정된 인증 및/또는 고객에 대한 규정된 인증 방법을 필요로 하는 것이 또한 가능하다. 이는, 예컨대 지급을 위해 핀이 입력되는 것 또는 핀이 요구되는 것(이는, 예컨대 미국에서는 반드시 그런 것은 아님) 및/또는 특정 핀 길이(예컨대, 8개의 문자들)가 요구되는 것 및/또는 다른 추가적인 인증 방법들(예컨대, 2-팩터 인증, 모바일 TAN, 구글 인증부호)이 요구되는 것을 수반할 수 있다.
대안적으로, 결정 모듈, 예컨대 평가 유닛은 또한, 제어 명령들을 추가로 분석할 수 있고, 예컨대 디바이스-특정 요건들이 충족되지 않음을 또는 충족가능하지 않음(예컨대, 제어 명령들이 승인되지 않은 국가로부터 전송되었거나 또는 승인되지 않은 국가의 디바이스 또는 노드에 대해 의도됨)을 결정 모듈 또는 (제1) 평가 유닛이 이미 발견한 경우에는, 제어 트랜잭션을 생성할 수 있으며, 그 제어 트랜잭션은 이를 적용가능 디바이스 또는 시스템에 표시하고 바람직하게는 제어 명령들의 실행을 방지하거나 금지한다. 대안적으로, 예로서, 어떤 제어 트랜잭션도 생성되지 않는 것이 또한 가능하며, 어느 시점에서, 예컨대 규정된 기간 후에, 제어 명령들의 실행에 대한 타임아웃이 있다. 대안적으로 또는 추가적으로, 예컨대 제어 명령들이 실행불가능(unexecutable)할 시에 엔지니어에게 알리거나 또는 경고 신호를 제어하는, 예컨대 제어 신호가 제공될 수 있다.
예로서, 이러한 방식으로, 컴퓨터(즉, 제어 명령들을 전송하는 디바이스)의 보안 요건들 및/또는 위치-관련 요건들이, 지급이 (다른) 디바이스에 의해 허용되는지 여부를 체크함으로써, 온라인 뱅킹이 보호되는 것이 또한 고려가능할 것이다.
추가적으로, 결정 모듈은 예로서 또한, 예시적인 실시예들에서 설명된 바와 같은 제1 할당 모듈 및/또는 제1 메모리 모듈 및/또는 추가의 모듈들을 포함할 수 있다. 그런 다음, 노드들 또는 디바이스들은, 예컨대 예시적인 실시예들 또는 실시예들에서 설명된 바와 같은 체크 모듈 및/또는 실행 모듈을 포함할 수 있다. 특히, 본 발명의 다른 양상들 및 예시적인 실시예들의 다른 특징들이 본 발명의 이 양상에 전달되는 것이 또한 가능하다.
디바이스들 또는 노드들에 대한 디바이스-특정 요건들은 또한, 예컨대 사용자-관련되거나 또는 사용자-특정 요건들을 포함할 수 있다. 예로서, 제1 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 낮은 정밀도를 필요로 할 수 있다. 예로서, 그런 다음, 제2 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 더 높은 정밀도를 필요로 할 수 있다. 이 방식으로, 예컨대 보안 요건들이 사용자-관련 방식으로 저장되는 것이 또한 가능하다. 예로서, 특정 유형들 또는 종류들의 제어 명령들 ― 사용자-관련 또는 다른 방식 ― 이, 결정 모듈에 의해 고려되는 디바이스-특정 요건들을 할당받는 것이 또한 고려가능하다. 예로서, 하나의 요건은, 예컨대 생산 설비(production installation) 내의 누구나 펌웨어(firmware) 내의 전문지식에 용이하게 액세스가능(accessible)하지는 않음을 보장하기 위해, 펌웨어를 로딩하기 위한 제어 명령이, 규정된 보안 요건들을 충족시키는 디바이스에 의해서만 수행되는 것일 수 있다. 이러한 규정된 보안 요건들은 예로서, 특정 직원만이 적용가능 디바이스에 액세스가능한 것, 또는 디바이스가 패스워드(password) 및/또는 다른 암호화 메커니즘(cryptographic mechanism)들에 의해 보호되는 것을 필요로 할 수 있다(예컨대, 액세스는 칩 카드(chip card)를 삽입하고 핀을 입력하는 것에 의해서만 가능함).
대안적으로 또는 추가적으로, 실행 요건들은 예컨대 또한, 실행을 위해 고려될 필요가 있는 추가의 특정들을 포함할 수 있다. 이들은, 예컨대 제어 명령이, 적용가능 노드 또는 디바이스에 의해 수행되는 것이 가능하게 하기 위해, 특정 요금이 지불될 필요가 있다는 특정일 수 있다. 이는, 예컨대 디바이스가 그것의 사용을 위해 또는 제어 명령들의 수행을 위해, 규정된 요금의 지불을 요구함으로써, 디바이스-특정 요건들에 저장될 수 있다. 규정된 요금은, 예컨대 암호화 통화들에 의해 지불될 수 있으며, 암호화 통화들은 바람직하게 마찬가지로, 분산형 데이터베이스 시스템의 트랜잭션들에 저장되거나 또는 도큐먼트화된다. 예컨대, 이러한 특정들(예컨대, 요금 지불)이 충족되는지 여부는 마찬가지로, 예컨대 요금들의 적용가능 지불에 대한 트랜잭션들이 분산형 데이터베이스 시스템에서 이용가능한지 여부를 체크함으로써, 결정 모듈 또는 평가 유닛에 의해 체크될 수 있다. 대안적으로, 예컨대 적용가능 요금 지불이 이루어졌는지 여부에 대해, 은행의 계좌 잔고가 체크되는 것이 또한 가능하다. 실행 요건들의 이러한 특정들이, 예컨대 적용가능 제어 명령들에 대해 충족된 경우, 그 적용가능 제어 명령들은 추가로 프로세싱되고, 그리고 이미 설명된 바와 같이 제어 트랜잭션들에 저장될 수 있다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 옵티마이저를 포함하며, 옵티마이저는 규정된 기준에 기반하여 디바이스들에 의한 제어 명령들의 실행을 최적화한다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 제1 분해 모듈을 포함하며, 제1 분해 모듈은 명령 시퀀스를 적용가능 제어 명령들로 분해하도록 구성된다. 적용가능 제어 명령들은, 예컨대 제어 시스템 또는 제1 결정 모듈에 제공된다. 바람직하게, 적용가능 제어 명령들은, 예컨대 제어 시스템이 제어 명령들을 갖는 적용가능 제어 트랜잭션들을 분산형 데이터베이스 시스템을 통해 노드들 또는 디바이스들에 전달하도록, 결정 모듈을 통해 제어 시스템에 제공된다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 활동 모듈을 포함하며, 활동 모듈은 장치 및/또는 결정 모듈의 활동을 디스플레이 또는 도큐먼트화하도록 구성된다.
결정 모듈은 특히, 예컨대 동작 동안 상태 램프, 하트비트 신호 또는 제어 신호에 의해 관리자가 활동을 체크가능하게 하는 데 유리하다. 대안적으로, 활동 모듈은 예로서, 노드들 또는 모듈들의 또는 결정 모듈의 재시작들 또는 시스템 상태들을 도큐먼트화하기 위해, 정보를 예컨대 파일에 기입할 수 있다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 구성 메모리를 포함하고, 구성 메모리는 디바이스들에 관한 디바이스-특정 데이터 및/또는 노드들에 관한 디바이스-특정 데이터 및/또는 디바이스-특정 요건들을 포함한다.
결정 모듈은 특히, 디바이스-특정 데이터에 빠르게 액세스(accessing)하고 그리고/또는 특정 트랜잭션들 또는 디바이스들에 대한 디바이스-특정 요건들을 사전에 구성하는 데 유리하다. 구성 메모리는, 예컨대 분산형 데이터베이스 시스템의 데이터 블록들 또는 블록들에 의해 실현될 수 있다. 디바이스들 또는 노드들에 대한 디바이스-특정 요건들은 또한, 예컨대 사용자-관련될 수 있다. 예로서, 제1 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 낮은 정밀도를 필요로 할 수 있다. 예로서, 그런 다음, 제2 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 더 높은 정밀도를 필요로 할 수 있다. 이 방식으로, 보안 요건들이 사용자-관련 방식으로 저장되는 것이 또한 가능하다. 예로서, 특정 유형들 또는 종류들의 제어 명령들 ― 사용자-관련 또는 다른 방식 ― 이, 결정 모듈에 의해 고려되는 디바이스-특정 요건들을 할당받는 것이 또한 고려가능하다. 예로서, 하나의 요건은, 예컨대 생산 설비 내의 누구나 펌웨어 내의 전문지식에 용이하게 액세스가능하지는 않음을 보장하기 위해, 펌웨어를 로딩하기 위한 제어 명령이, 규정된 보안 요건들을 충족시키는 디바이스에 의해서만 수행되는 것일 수 있다. 이러한 규정된 보안 요건들은 예로서, 특정 직원만이 적용가능 디바이스에 액세스가능한 것, 또는 디바이스가 패스워드 및/또는 다른 암호화 메커니즘들에 의해 보호되는 것을 필요로 할 수 있다(예컨대, 액세스는 칩 카드를 삽입하고 핀을 입력하는 것에 의해서만 가능함).
결정 모듈의 추가의 실시예들에서, 결정 모듈은 관리 인터페이스(administrative interface)를 포함한다.
결정 모듈은, 특히 결정 모듈의 구성을 가능하게 하는 데 유리하다. 관리 인터페이스는, 예컨대 디바이스-특정 요건들을 구성하고 그리고 바람직하게는 그 디바이스-특정 요건들을 분산형 데이터베이스 시스템에 저장하는 데 사용될 수 있다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 디바이스들에 관한 디바이스-특정 데이터 또는 노드들에 관한 디바이스-특정 데이터를 캡처(capturing)하기 위한 캡처 유닛(capture unit)을 포함한다.
결정 모듈은, 특히 디바이스-특정 데이터에 대한 체크 및 디바이스-특정 데이터의 생성을 용이하게 하고 가속화하는 데 유리하다. 결정 모듈이 매번 단일 결정마다 디바이스들 또는 노드들에 이러한 데이터를 재요청할 수 있지만, 특히 캡처 유닛이 이러한 데이터를 예컨대 규정된 시간들 또는 인터벌(interval)들에서 요청하고 그 데이터를 예컨대 구성 메모리에 저장하는 것이 더 적절하거나, 또는 이 정보가 캡처 유닛에 전달됨으로써, 노드들 및 디바이스들은, 예컨대 스위칭 온된 후에 규정된 시간들 또는 인터벌들에서 독립적으로 이를 수행한다. 캡처 유닛이 예컨대 분산형 데이터베이스 시스템의 스마트 계약으로서 구현되는 경우, 이는 또한, 예컨대 분산형 데이터베이스 시스템에 연결될 때 수행될 수 있다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 분산형 데이터베이스 시스템의 노드, 또는 분산형 데이터베이스 시스템의 스마트 계약, 또는 디바이스의 형태이다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈을 포함한다.
결정 모듈의 추가의 실시예들에서, 결정 모듈은, 할당된 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈을 포함하며, 특히 제어 트랜잭션들은 분산형 데이터베이스 시스템(BC)의 데이터 블록들(B)에 저장되고 그리고/또는 특히 제어 트랜잭션들은 데이터 블록들(B)에 의해 디바이스들(300, D, BCN_D) 또는 노드들에 송신된다. 이는 특히, 제어 명령들이 디바이스 또는 노드에 의해 실행가능한 경우, 할당된 실행 요건들과 함께 제어 명령들이 제어 트랜잭션들에 저장되는 것을 수반할 수 있다.
결정 모듈의 추가의 실시예들에서, 제1 평가 유닛은 디바이스-특정 요건들 및/또는 전제된 제어 명령들 및 디바이스-특정 데이터 및/또는 이미 실행된 제어 명령들에 기반하여 실행에 대한 실행 요건들을 결정하며, 특히 실행 요건들은 디바이스-특정 요건들 및/또는 전제된 제어 명령들과 디바이스-특정 데이터 및/또는 이미 실행된 제어 명령들의 비교의 결과에 기반하여 결정된다.
결정 모듈의 추가의 실시예들에서, 제1 평가 유닛은 디바이스 또는 분산형 데이터의 노드에 의한 제어 명령들의 실행가능성에 기반하여 실행에 대한 실행 요건들을 결정하며, 특히 실행 요건들은 디바이스들 또는 분산형 데이터베이스 시스템의 노드에 의한 제어 명령들의 실행가능성에 대한 체크의 결과에 기반하여 결정된다.
추가의 양상에 따르면, 본 발명은 디바이스들의, 컴퓨터-지원 제어를 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하는 단계;
- 개개의 실행 요건들을 제어 명령들에 할당하는 단계;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하는 단계를 갖고, 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장된다.
추가의 양상에 따르면, 본 발명은 제어 명령들을 위한 실행 요건들의, 컴퓨터-지원 결정을 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 제어 명령들을 수신 또는 리트리빙하는 단계;
- 분산형 데이터베이스 시스템의 노드들에 의한 또는 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하는 단계를 갖고,
- 실행 요건들은 디바이스-특정 요건들 및/또는 전제된 제어 명령들에 기반하여 결정되고;
- 분산형 데이터베이스 시스템은, 예컨대 블록체인이다.
추가의 양상에 따르면, 본 발명은 디바이스들의, 컴퓨터-지원 제어를 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하는 단계 ―
- 적용가능 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하는 단계;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하는 단계 ― 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨 ―;
- 제어 트랜잭션들을 데이터 블록들에 의해 디바이스들에 전달하는 단계;
- 적용가능 디바이스에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하는 단계 ―
- 적용가능 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하는 단계;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하는 단계를 갖는다.
방법의 추가의 실시예들에서, 방법은, 기능 특징들을 구현하기 위해 또는 제어 시스템의 추가의 특징들을 구현하기 위해, 추가의 방법 단계들을 포함한다.
추가의 양상에 따르면, 본 발명은 디바이스에 관한 것으로, 디바이스는,
- 분산형 데이터베이스 시스템의 데이터 블록들을 수신하기 위한 통신 모듈을 포함하고,
- 디바이스에 대한 제어 명령들을 갖는 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장되고,
- 제어 트랜잭션들은 실행 요건들을 포함하고,
- 실행 요건들은 디바이스에 대한 디바이스-특정 요건들 및/또는 전제된 제어 명령들을 포함하고,
- 적용가능 실행 요건들은 개개의 제어 트랜잭션들에 할당된다.
선택적으로, 디바이스는 또한, 예컨대 다음을 포함할 수 있다:
- 디바이스에 의한 제어 명령의 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들에 대한 개개의 실행 요건들을 체크하기 위한 제1 체크 모듈 ―
- 특히, 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 특히, 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하기 위한 실행 모듈;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하기 위한 제2 메모리 모듈.
디바이스의 추가의 실시예에서, 디바이스는, 제어 시스템의 실시예들에서 개시된 디바이스의 가능한 실시예들을 구현하기 위해, 적어도 하나의 추가의 모듈 또는 다수의 추가의 모듈들을 포함한다.
추가의 양상에 따르면, 본 발명은 분산형 데이터베이스 시스템에 관한 것으로, 분산형 데이터베이스 시스템은:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈 ―
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 다수의 노드들 ― 노드들은 제1 통신 네트워크를 통해 서로 연결됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈을 포함하고,
- 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장되고;
- 제어 트랜잭션들은 데이터 블록들에 의해 디바이스들에 전달된다.
분산형 데이터베이스 시스템의 추가의 실시예에서, 분산형 데이터베이스 시스템은, 제1 분산형 데이터베이스 시스템의 또는 제어 시스템의 실시예들에서 개시된 분산형 데이터베이스 시스템의 가능한 실시예들을 구현하기 위해, 적어도 하나의 추가의 모듈 또는 다수의 추가의 모듈들을 포함한다.
추가의 양상에 따르면, 본 발명은 데이터 블록들을 저장하기 위한 제1 분산형 데이터베이스 시스템에 관한 것으로, 제1 분산형 데이터베이스 시스템은:
- 제2 통신 네트워크를 통해 서로 연결되는 다수의 노드들;
- 분산형 데이터베이스 시스템의 데이터 블록들에 트랜잭션들을 저장하기 위한 제3 메모리 모듈;
- 특정 태스크(specific task)의 태스크 데이터 레코드(task data record)를 분산형 데이터베이스 시스템에 할당하기 위한 제4 메모리 모듈 ―
- 특히, 트랜잭션들은 특정 태스크를 수행하기 위한 데이터를 포함함 ―;
- 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드(validity data record)를 할당하기 위한 제2 할당 모듈을 갖고,
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시한다.
제1 분산형 데이터베이스 시스템은 특히, 특정 상황, 특히 단지 하나의 태스크에 대해 예컨대 블록체인으로서 구현되는 분산형 데이터베이스 시스템에서 규정된 유효성을 허용하는 데 유리하며, 유효성은 예컨대 디바이스의 수명 주기(예컨대, 사용 기간)에 의해 정의된다. 이는, 예컨대 (특히, 필요한 저장 용량 또는 데이터량(volume of data)의 관점에서) 대규모의 분산형 데이터베이스 시스템을 회피하고, 그 대신에 특히, 특정 디바이스, (다수의 디바이스들을 갖는) 기술 시스템 또는 (다수의 디바이스들을 갖는) 기술 서브시스템(subsystem)에 할당되는 특히 다수의 더 작은 분산형 데이터베이스 시스템들을 구현하는 데 유리하다. 예컨대, 블록체인으로서 구현되는 대규모의 분산형 데이터베이스 시스템의 하나의 문제점은 예로서, 이 분산형 데이터베이스 시스템으로부터 데이터 블록들이 더 이상 소거될 수 없다는 점(블록체인들의 특성)이다. 이는 특히, 예컨대 더 이상 필요하지 않은 대량의 데이터가 블록체인에 저장되는 것을 초래한다. 이는, 그러한 아키텍처(architecture)들이 특히 사물 인터넷에서 사용되는 경우에 불리한데, 왜냐하면, 예컨대 다량의 에너지 및 저장 공간이 낭비되기 때문이다.
예로서, 제1 분산형 데이터베이스 시스템의 유효성 또는 수명 주기는, 제1 분산형 데이터베이스 시스템을 생성하기 위해 제1 트리거(trigger)에 의해 시작될 수 있으며, 유효성 또는 수명 주기는, 예컨대 명령 시퀀스의 마지막 명령이 수행되었거나 또는 디바이스/기술 시스템/기술 서브시스템이 교체된 경우에 제2 트리거에 의해 종료된다. 트리거는, 예컨대 제어 신호, 인터럽트(interrupt) 또는 소프트웨어 스위치(software switch)일 수 있다. 제1 트리거는, 예컨대 디바이스/기술 시스템/기술 서브시스템이 처음으로 설치 또는 스위칭 온되거나 또는 발전소를 제어하기 위한 명령 시퀀스의 시작 명령이 실행됨으로써, 구현될 수 있다. 유효성이, 예컨대 전원 공급 시스템의 다수의 디바이스들에 의한 명령 시퀀스의 수행(이 수행은, 예컨대 수 주 또는 수 개월 지속될 수 있음)에 관한 것이거나 관련이 있는 경우, 모든 디바이스들이 그들의 명령들을 수행하면 유효성 또는 수명 주기는 종료될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 활동 모듈을 포함하며, 활동 모듈은 제1 분산형 데이터베이스 시스템의 활동을 디스플레이 및/또는 도큐먼트화하도록 구성된다.
제1 분산형 데이터베이스 시스템은 특히, 예컨대 동작 동안 하트비트 신호 또는 제어 신호에 의해 관리자가 활동을 체크가능하게 하는 데 유리하다. 이는, 예로서, 제1 분산형 데이터베이스 시스템의 얼마나 많은 노드들이 제공되도록 현재 활성화되어 있는지 및/또는 그들의 메모리 활용(utilization) 및/또는 그들의 프로세서 활용의 표시가 레코딩되는(recorded) 것을 가능하게 한다. 대안적으로, 활동 모듈은 예로서, 제1 분산형 데이터베이스 시스템의 노드들의 시스템 상태들 또는 재시작들을 도큐먼트화하기 위해, 이 정보를 예컨대 파일에 기입할 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 관리 인터페이스를 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 제1 분산형 데이터베이스 시스템의 구성을 가능하게 하는 데 유리하다. 관리 인터페이스는, 예컨대 노드들을 재시작하는 데 사용되고 그리고/또는 노드들 및/또는 블록체인 오라클들[8]을 제1 분산형 데이터베이스 시스템에 추가하는 데 사용될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 출력 인터페이스를 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 상태 리포트(status report)들을 리트리빙하기 위해 출력 인터페이스를 사용할 수 있다는 점에서 유리하다(예컨대, 출력 인터페이스는 상태 리포트들 및/또는 상태 데이터를 리트리빙하도록 설계됨). 이는, 예컨대 활동 모듈에 의해 사용될 수 있다. 예로서, 출력 인터페이스는, 예컨대 제1 분산형 데이터베이스 시스템의 얼마나 많은 노드들이 특정 시간에(예컨대, 12시 50분에) 활성이었는지 그리고/또는 제1 분산형 데이터베이스 시스템의 얼마나 많은 노드들이 오프라인(offline) 또는 비활성이었는지를 표시하는 전체 시스템 상태 및/또는 서브시스템 상태를 제공할 수 있다. 예로서, 다른 시스템 정보, 이를테면, 예컨대 제1 분산형 데이터베이스 시스템의 그리고/또는 개별적인 노드들의 메모리 소비 및/또는 메모리 볼륨(memory volume)이 제공되는 것이 또한 고려가능하다. 대안적으로 또는 추가적으로, 예컨대 제1 분산형 데이터베이스 시스템의 그리고/또는 개별적인 노드들의 프로세서 활용 및/또는 메모리 활용이 출력 인터페이스를 통해 제공되는 것이 가능하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성 데이터 레코드는 특정 태스크의 태스크 데이터 레코드에 의해 특정된다.
제1 분산형 데이터베이스 시스템은 특히, 바람직하게는 특정 태스크(예컨대, 다수의 디바이스들에 의해 제품을 생산하기 위한 명령 시퀀스의 수행)에 대해서만 유효한 제1 분산형 데이터베이스 시스템을 생성하는 데 유리하다. 이는, 예컨대 복잡한 제품들의 생산에 유리한데, 왜냐하면, 이는 무결성-보호된 데이터 메모리 또는 무결성-보호된 데이터베이스가 간단한 방식으로 제공되는 것을 가능하게 하기 때문이다. 이는 특히, 제1 분산형 데이터베이스 시스템이, 예컨대 본 발명에 따른 제어 시스템에 대해 설명된 바와 같이 명령 시퀀스들 또는 제어 명령들을 수행하기 위해 사용되는 경우에 유리하다. 그러한 애플리케이션 시나리오(application scenario)에서, 제1 분산형 데이터베이스 시스템은, 예컨대 명령 시퀀스의 제어 명령들의 수행에서 수반되는 모든 디바이스들에 대해 사용될 수 있다. 대안적으로, 다수의 제1 분산형 데이터베이스 시스템들이, 제어 시스템에서 제어되고 그리고/또는 모니터링되는(monitored) 디바이스들의 그룹들 또는 클래스들에 대해 사용되는 것이 또한 가능하다. 제1 분산형 데이터베이스 시스템의 유효성 및/또는 특정 태스크는, 예컨대 명령 시퀀스의 수행의 시작 및 종료에 의해 정의된다. 예로서, 제1 분산형 데이터베이스 시스템의 유효성 및/또는 특정 태스크가 하나 이상의 디바이스들의 사용 기간에 의해 정의되는 것이 또한 가능하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 규정된 기능들에 대한 유효성을 체크하는 제2 체크 모듈을 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 분산형 데이터베이스 시스템 자체에 의해 유효성에 대한 체크를 수행(예컨대, 이것이 중앙 엔티티를 요구함이 없이)하는 데 유리하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 트랜잭션들은 디바이스 또는 필드 디바이스에 관한 제어 명령들 및/또는 명령 시퀀스들 및/또는 디바이스-특정 데이터를 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 제1 분산형 데이터베이스 시스템에 의해 본 발명의 제어 시스템을 구현하는 데 유리하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 제1 고유 식별자를 포함하고,
- 제2 분산형 데이터베이스 시스템은 참조 데이터 레코드(referencing data record)에서 제1 분산형 데이터베이스 시스템을 참조하고,
- 참조 데이터 레코드는 유효성 데이터 레코드 및/또는 태스크 데이터 레코드 및/또는 제1 고유 식별자를 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 예컨대 웹 어드레스(web address) 또는 메모리 어드레스(memory address)를 통해 제2 분산형 데이터베이스 시스템에 의해 제1 분산형 데이터베이스 시스템을 참조하는 데 유리하다. 예로서, 제2 분산형 데이터베이스 시스템은 기술 시스템의 모든 디바이스들, 예컨대 생산 설비 또는 전력 공급 시스템에 할당될 수 있다. 특히, 제2 분산형 데이터베이스 시스템이 더 이상 필요하지 않은 데이터 또는 트랜잭션들을 포함하는 것을 방지하기 위해, 제2 분산형 데이터베이스 시스템이 참조하는 제1 분산형 데이터베이스 시스템이, 예컨대 기술 시스템의 디바이스들 또는 서브시스템들을 위해 생성된다. 예컨대, 서브시스템들 중 하나가 교체되는 경우, 예컨대 이 서브시스템에 대한 적용가능 제1 분산형 데이터베이스 시스템의 유효성이 만료되고, 특히 새로운 서브시스템에 대한 새로운 제1 분산형 데이터베이스 시스템이 생성된다.
예로서, 다른 예시적인 실시예들에서 설명된 바와 같이, 제1 분산형 데이터베이스 시스템 또는 제2 분산형 데이터베이스 시스템이 결정 모듈을 포함하는 것이 또한 고려가능하다. 예로서, (예컨대, 결정 모듈이 옵티마이저를 포함하는 경우) 제1 분산형 데이터베이스 시스템은 바람직하게 제어 명령들을 포함하며, 결정 모듈이 그 제어 명령들에 대한 실행 요건들 또는 최적화들을 결정한다. 그런 다음, 제어 트랜잭션들은 개개의 연관된 실행 요건들과 함께 바람직하게 제2 분산형 데이터베이스 시스템에 기입 또는 저장된다. 따라서, 그런 다음, 제2 분산형 데이터베이스 시스템은 바람직하게, 제어 트랜잭션들과 함께 개개의 연관된 실행 요건들을 포함한다. 이 제2 분산형 데이터베이스 시스템은 바람직하게, 제어 명령들을 실행해야 하는 디바이스들 또는 노드들에 연결된다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은, 유효성이 만료된 후에, 봉인된다(sealed).
제1 분산형 데이터베이스 시스템은 특히, 제1 분산형 데이터베이스 시스템 또는 제1 분산형 데이터베이스 시스템의 데이터의 후속적인 변경을 방지하는 데 유리하다. 이는, 예컨대 제1 분산형 데이터베이스 시스템의 마지막 데이터 블록의 체크섬이 제2 분산형 데이터베이스 시스템에 저장됨으로써 달성될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성 데이터 레코드는, 특히 봉인된 제1 분산형 데이터베이스 시스템이 얼마나 오랫동안 이용가능한지를 표시하는 만료 데이터 레코드(expiry data record)를 포함한다.
제1 분산형 데이터베이스 시스템은 특히, 봉인된 제1 분산형 데이터베이스 시스템의 만료 데이터 레코드에 이용가능성 기간(availability period)을 제공/저장하는 데 유리하다. 예로서, 제품의 생산 후에 제품에 대한 보증이 만료될 때까지 이 봉인된 제1 분산형 데이터베이스 시스템은 이용가능해야 할 필요가 있다. 이 이용가능성 기간이 만료되는 경우, 예컨대 제2 분산형 데이터베이스 시스템은, 예컨대 스마트 계약에 의해 적용가능 제1 분산형 데이터베이스 시스템을 소거할 수 있다. 이 만료 데이터 레코드는 특히, 유효성이 만료된 후에만 고려된다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템 및/또는 제2 분산형 데이터베이스 시스템은 블록체인이고, 데이터 블록들은 블록체인의 블록들이거나, 또는 제1 분산형 데이터베이스 시스템 및/또는 제2 분산형 데이터베이스 시스템은 피어-투-피어 데이터베이스이다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 데이터 블록들은 암호화 해시 함수(H)를 통해 서로 연쇄된다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 태스크 데이터 레코드는, 특정 태스크가 인터페이스에 의해 제공됨으로써 저장된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 특정 태스크를 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 특정 태스크는 기술 시스템에 대해 시스템-특정적이다.
제1 분산형 데이터베이스 시스템은 특히, 예컨대 기술 시스템과 관련이 있는, 하나 이상의 기술 시스템들에 대한 태스크-특정 분산형 데이터베이스 시스템을 실현하는 데 유리하다. 예컨대, 기술 시스템(예컨대, 생산 설비 또는 생산 로봇)은, 예컨대 기술 시스템을 실현하는 하나 이상의 디바이스들(예컨대, 생산 기계들, 연삭기(grinding machine)들, 드릴링 기계(drilling machine)들, 밀링 기계(milling machine)들, 발전기, 풍력발전 터빈, 풍력발전 터빈의 회전자 블레이드(rotor blade)들)일 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 특정 태스크는 기술 시스템에 대해 사전구성된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 특정 태스크를 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 특정 태스크는 태스크 데이터베이스에 의해 인터페이스를 통해 제공된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 특정 태스크를 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다. 특히, 태스크 데이터베이스는, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 선택된 다수의 상이한 태스크들이 관리되는 것을 가능하게 하여서, 이들은 제1 분산형 데이터베이스 시스템에 할당될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 태스크는 기술 시스템의 시스템-특정 데이터에 기반하여 선택된다. 태스크 데이터베이스는 특히, 상이한 태스크들이 상이한 기술 시스템들에 대해 또는 기술 시스템에 대해 사전구성되거나 규정되는 것을 가능하게 하며, 상기 태스크들은 예컨대 애플리케이션 시나리오(예컨대, 생산 디바이스를 모니터링하는 것, 생산 설비를 모니터링하는 것)에 기반하여 선택된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 특정 태스크를 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다. 특히, 태스크 데이터베이스는, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 선택된 다수의 상이한 태스크들이 관리되는 것을 가능하게 하여서, 이들은 제1 분산형 데이터베이스 시스템에 할당될 수 있다. 시스템-특정 데이터는, 예컨대 기술 시스템의 하나 이상의 디바이스들로부터의 디바이스-특정 데이터일 수 있다. 선택된 구현에 따라, 예컨대 기술 시스템의 UID가 또한 기술 시스템의 적용가능 디바이스들을 어드레싱하거나 또는 식별하는 데 사용될 수 있음으로써, 예컨대 시스템-특정 데이터는 일반적으로 기술 시스템의 하나 이상의 디바이스들에 대해 실현될 수 있다. 대안적으로 또는 추가적으로, 기술 시스템의 하나 이상의 디바이스들에 대한 디바이스-특정 데이터는 예컨대 시스템-특정 데이터에 포함될 수 있다. 예로서, 디바이스-특정 데이터 각각은 적용가능/개개의 디바이스에 대한 UID, 이름 또는 (네트워크) 어드레스를 포함할 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성 데이터 레코드는, 유효성이 인터페이스에 의해 제공됨으로써 저장된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 유효성을 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성은 기술 시스템에 대해 시스템-특정적이다.
제1 분산형 데이터베이스 시스템은 특히, 하나 이상의 기술 시스템들에 대해 규정된 유효성으로 태스크-특정 분산형 데이터베이스 시스템을 실현하는 데 유리하며, 예컨대 제1 분산형 데이터베이스 시스템은 (예컨대, 태스크 데이터 레코드의 그리고/또는 유효성 데이터 레코드의 불변성(invariability)을 통해) 기술 시스템과 관련이 있다. 예컨대, 기술 시스템(예컨대, 생산 설비 또는 생산 로봇)은, 예컨대 기술 시스템을 구현하는 하나 이상의 디바이스들(예컨대, 생산 기계들, 연삭기들, 드릴링 기계들, 밀링 기계들, 발전기, 풍력발전 터빈, 풍력발전 터빈의 회전자 블레이드들)일 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성은 기술 시스템에 대해 사전구성된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 유효성을 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다. 사전구성은 특히, 상이한 유효성들이 상이한 기술 시스템들에 대해 또는 기술 시스템에 대해 사전구성되는 것을 가능하게 하며, 상기 유효성들은 예컨대 애플리케이션 시나리오 또는 태스크에 기반하여 선택된다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성은 유효성 데이터베이스에 의해 인터페이스를 통해 제공된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 유효성을 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다. 특히, 유효성 데이터베이스는, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 선택된 다수의 상이한 유효성들이 관리되는 것을 가능하게 하여서, 이들은 제1 분산형 데이터베이스 시스템에 할당될 수 있다. 상이한 유효성들은 예컨대 애플리케이션 시나리오 및/또는 디바이스들 및/또는 기술 시스템에 따라 선택될 수 있다. 유효성 데이터베이스는 특히, 상이한 유효성들이 상이한 기술 시스템들에 대해 또는 기술 시스템에 대해 사전구성되는 것을 가능하게 하며, 상기 유효성들은 예컨대 애플리케이션 시나리오 또는 태스크에 기반하여 선택된다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 유효성은 기술 시스템의 시스템-특정 데이터에 기반하여 선택된다.
제1 분산형 데이터베이스 시스템은 특히, 컴퓨터-지원 방식으로 유효성을 제공하는 데 유리하고 그리고/또는 제공을 자동화하는 데 유리하다. 특히, 유효성 데이터베이스는, 예컨대 컴퓨터-지원 및/또는 자동화 방식으로 선택된 다수의 상이한 유효성들이 관리되는 것을 가능하게 하여서, 이들은 제1 분산형 데이터베이스 시스템에 할당될 수 있다. 시스템-특정 데이터는, 예컨대 기술 시스템의 하나 이상의 디바이스들로부터의 디바이스-특정 데이터일 수 있다. 선택된 구현에 따라, 예컨대 기술 시스템의 UID가 또한 기술 시스템의 적용가능 디바이스들을 어드레싱하거나 또는 식별하는 데 사용될 수 있음으로써, 시스템-특정 데이터는 일반적으로 기술 시스템의 하나 이상의 디바이스들에 대해 실현될 수 있다. 대안적으로 또는 추가적으로, 기술 시스템의 하나 이상의 디바이스들에 대한 디바이스-특정 데이터는 예컨대 시스템-특정 데이터에 포함될 수 있다. 예로서, 디바이스-특정 데이터 각각은 적용가능/개개의 디바이스에 대한 UID, 이름 또는 (네트워크) 어드레스를 포함할 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 모니터링 모듈을 포함한다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 모니터링 모듈은 태스크에 의해 구성된다.
제1 분산형 데이터베이스 시스템은 특히, 모니터링 모듈을 구성하기 위해 (사전구성된) 태스크를 사용하는 데 유리하다. 따라서, 특히, 모니터링 모듈이, 예컨대 태스크에 의해 규정된 또는 태스크를 달성하기 위해 필요한 적용가능 트랜잭션들을 캡처(capture) 또는 저장하는 것이 가능하다. 예로서, 태스크는 생산 설비의 특정 디바이스의 모니터링을 규정할 수 있다. 이를 위해, 태스크는 예컨대 디바이스-특정 데이터(또는 그렇지 않으면 시스템-특정 데이터), 이를테면, 디바이스의 UID 및/또는 이름 및/또는 어드레스를 포함한다. 예컨대, 모니터링 모듈은, 예컨대 인터페이스 및/또는 통신 네트워크에 의해 디바이스에 연결되고, 인터페이스를 통해 디바이스로부터 시스템 상태들을 판독하고, (예컨대, 태스크를 달성하기 위해) 그 시스템 상태들을 제1 분산형 데이터베이스 시스템의 트랜잭션들에 저장한다. 이는, 예컨대 모니터링 모듈이 디바이스를 식별하고 그리고/또는 디바이스와 통신할 수 있도록, 태스크에 저장된, 디바이스의 어드레스를 사용함으로써 달성될 수 있다. 대안적으로 또는 추가적으로, 디바이스의 트랜잭션들이 또한 모니터링될 수 있다. 이는, 예컨대 디바이스의 트랜잭션들에 포함되는, 예컨대 디바이스의 UID 및/또는 디지털 서명 및/또는 어드레스를 사용함으로써 달성될 수 있다. 모니터링 모듈은, 예컨대 디바이스의 UID 및/또는 디지털 서명 및/또는 어드레스에 기반하여 디바이스의 트랜잭션들을 식별하고, 이러한 트랜잭션들을 예컨대 제1 분산형 데이터베이스 시스템에 저장한다. 다시 말해, 태스크는 예컨대 디바이스의 트랜잭션들에 대한 선택 기준을 규정할 수 있으며, 트랜잭션들은 태스크/선택 기준에 기반하여 생성 또는 규명되고, 그런 다음, 예컨대 제1 분산형 데이터베이스 시스템에 저장된다. 열거된 설명들 및 예들은 특히, 유사한 방식으로 적용가능 기술 시스템에 전달될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 제1 분산형 데이터베이스 시스템은 체크 모듈을 포함한다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 체크 모듈은 유효성에 의해 구성된다.
제1 분산형 데이터베이스 시스템은 특히, 체크 모듈을 구성하기 위해 (사전구성된) 유효성을 사용하는 데 유리하다. 유효성은, 예컨대 (기술) 디바이스 및/또는 제1 분산형 데이터베이스 시스템의 어느 기능들이 유효성 동안 그리고 유효성의 만료 후에 허용가능한지를 규정한다. 제1 분산형 데이터베이스 시스템의 유효성이, 예컨대 디바이스의 사용 기간 또는 이용 기간 또는 보증 기간 또는 모니터링 기간에 의해 규정된 경우, 예컨대 이 기간의 유효성이 만료된 후에, 체크 모듈은 디바이스 및/또는 제1 분산형 데이터베이스 시스템에 대해 규정된 기능들이 수행되는 것을 방지할 수 있다. 예로서, 제1 분산형 데이터베이스 시스템의 경우, 새로운 트랜잭션들 또는 (데이터) 블록들이 제1 분산형 데이터베이스 시스템에 의해 저장되는 것을 방지하는 것이 가능하다. 대안적으로 또는 추가적으로, 분산형 데이터베이스 시스템이, 예컨대 프로그램 코드 및/또는 스마트 계약들을 실행하는 것을 방지하는 것이 가능하다. 대안적으로 또는 추가적으로, 체크 모듈은 태스크의 추가의 수행 또는 달성을 방지할 수 있다(예컨대, 디바이스가 더 이상 모니터링되지 않음). 대안적으로 또는 추가적으로, 예컨대 디바이스가 계속해서 동작되는 것을 방지하는 것이 가능하다(예컨대, 보증이 만료되는 경우, 디바이스는 셧 다운됨). 대안적으로 또는 추가적으로, 체크 모듈은, 예컨대 디바이스의 다른 규정된 기능들이 수행되는 것을 방지할 수 있다(예컨대, 디바이스는 더 이상 프로그램 코드 또는 제어 코드 또는 CNC 코드를 실행하지 않음). 이는, 예컨대 디바이스를 스위칭 오프(switch off)하기 위한 인터페이스 또는 (예컨대, CNC 코드를 수신하기 위한) 통신 인터페이스 또는 디바이스의 다른 기능들을 사용하여 체크 모듈에 의해 달성될 수 있다. 열거된 설명들 및 예들은 특히, 유사한 방식으로 적용가능 기술 시스템에 전달될 수 있다.
제1 분산형 데이터베이스 시스템의 추가의 실시예들에서, 체크 모듈은 유효성이 만료된 규정된 기능들이 수행되는 것을 방지한다. 대안적으로 또는 추가적으로, 규정된 기능들은 특히, 기술 시스템의 기능들이다. 대안적으로 또는 추가적으로, 규정된 기능들은 특히, 제1 분산형 데이터베이스 시스템의 기능들이다.
추가의 양상에 따르면, 본 발명은 트랜잭션들의, 컴퓨터-지원 제공을 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 트랜잭션들에 데이터를 저장하는 단계 ― 트랜잭션들은 제1 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨 ―;
- 특정 태스크의 태스크 데이터 레코드를 제1 분산형 데이터베이스 시스템에 할당하는 단계 ―
- 특히, 트랜잭션들은 특정 태스크를 수행하기 위한 데이터를 포함함 ―;
- 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드를 할당하는 단계를 갖고,
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시한다.
방법의 추가의 실시예들에서, 방법은, 제1 분산형 데이터베이스 시스템의 기능 특징들을 구현하기 위해, 추가의 방법 단계들을 포함한다.
추가의 양상에 따르면, 본 발명은 제어 트랜잭션들의, 컴퓨터-지원 전달을 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하는 단계 ―
- 디바이스-특정 요건들 및 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하는 단계;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하는 단계를 갖고,
- 제어 트랜잭션들은 분산형 데이터베이스 시스템에 의해(예컨대, 제어 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨으로써) 저장되고,
- 제어 트랜잭션들은 분산형 데이터베이스 시스템에 의해(예컨대, 분산형 데이터베이스 시스템의 데이터 블록들이 전달됨으로써) 디바이스들에 전달되고,
- 분산형 데이터베이스 시스템은 다수의 노드들을 포함하고,
- 노드들은 제1 통신 네트워크를 통해 서로 연결된다.
추가의 양상에 따르면, 본 발명은 제어 트랜잭션들의, 컴퓨터-지원 수신을 위한 방법에 관한 것으로, 방법은 다음의 방법 단계들:
- 분산형 데이터베이스 시스템에 의해(예컨대, 제어 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨으로써) 제어 트랜잭션들을 수신하는 단계를 갖고,
- 제어 트랜잭션들은 저장된 제어 명령들을 포함하고,
- 제어 트랜잭션들은 실행 요건들을 포함하고,
- 실행 요건들은 디바이스에 대한 디바이스-특정 요건들, 및 전제된 제어 명령들을 포함하고,
- 적용가능 실행 요건들은 개개의 제어 트랜잭션들에 할당된다.
더욱이, 방법은 선택적으로 특히, 다음의 방법 단계들 중 하나 또는 이러한 방법 단계들의 조합을 포함할 수 있다:
- 디바이스에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하는 단계 ―
- 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션들이 (예컨대, 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨으로써) 분산형 데이터베이스 시스템에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하는 단계;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하는 단계.
이 경우, 체크 및/또는 실행 및/또는 저장 방법 단계들(특히, 상응하게 이를 특징으로 함)은 특히, 반드시 필요하지는 않은 선택적인 방법 단계들이다.
게다가, 본 발명에 따른 앞서 언급된 방법들을 수행하기 위한 프로그램 명령어들을 갖는 컴퓨터 프로그램 제품이 청구되며, 본 발명에 따른 방법들 중 하나, 본 발명에 따른 모든 방법들 또는 본 발명에 따른 방법들의 조합은 매번 컴퓨터 프로그램 제품에 의해 수행가능하다.
추가적으로, 생성 디바이스, 예컨대 프로세서들 및/또는 디바이스들을 생성하기에 적합한 3D 프린터(printer), 컴퓨터 시스템 또는 제조 기계를 구성하기 위한 프로그램 명령어들을 갖는 컴퓨터 프로그램 제품의 변형이 청구되며, 생성 디바이스는, 본 발명에 따른 상기 분산형 데이터베이스 시스템 및/또는 제1 분산형 데이터베이스 시스템 및/또는 제어 시스템 및/또는 디바이스가 생성되도록, 프로그램 명령어들을 사용하여 구성된다.
게다가, 컴퓨터 프로그램 제품을 저장 및/또는 제공하기 위한 제공 장치가 청구된다. 제공 장치는, 예컨대 컴퓨터 프로그램 제품을 저장 및/또는 제공하는 데이터 캐리어이다. 대안적으로 그리고/또는 추가적으로, 제공 장치는, 예컨대 바람직하게는 데이터 스트림(data stream)의 형태로 컴퓨터 프로그램 제품을 저장 및/또는 제공하는, 네트워크 서비스, 컴퓨터 시스템, 서버 시스템, 특히 분산형 컴퓨터 시스템, 클라우드-기반 컴퓨터 시스템 및/또는 가상 컴퓨터 시스템이다.
이 제공은 예로서, 프로그램 데이터 블록 및/또는 명령 데이터 블록 형태의 다운로드(download)로서, 바람직하게는 파일로서, 특히 다운로드 파일로서, 또는 전체 컴퓨터 프로그램 제품의 데이터 스트림으로서, 특히 다운로드 데이터 스트림으로서 실행된다. 이 제공은 예로서, 대안적으로, 다수의 부분들로 구성된 부분적 다운로드로서 실행될 수 있고, 특히 피어-투-피어 네트워크를 통해 다운로딩되거나(downloaded) 또는 데이터 스트림으로서 제공된다. 그러한 컴퓨터 프로그램 제품은, 예컨대 데이터 캐리어의 형태의 제공 장치를 사용함으로써 시스템에 입력되고, 프로그램 명령어들을 실행하여서, 본 발명에 따른 방법이 컴퓨터 상에서 수행되거나, 또는 생성 디바이스를 구성하여서, 그 생성 디바이스가 본 발명에 따른 분산형 데이터베이스 시스템 및/또는 제1 분산형 데이터베이스 시스템 및/또는 제어 시스템 및/또는 디바이스를 생성한다.
위에서 설명된 본 발명의 특성들, 특징들 및 장점들 및 이들이 달성되는 방식은, 다음의 예시적인 실시예들의 설명과 관련하여 명확해지고 더 명확하게 이해가능해질 것이며, 상기 예시적인 실시예들은 도면들과 관련하여 더 상세하게 설명되고, 도면들에서, 개략적인 묘사로:
도 1은 본 발명의 제1 예시적인 실시예를 도시하고;
도 2는 본 발명의 추가의 예시적인 실시예를 도시하고;
도 3은 본 발명의 추가의 예시적인 실시예를 도시하고;
도 4는 본 발명의 추가의 예시적인 실시예를 도시하고;
도 5는 본 발명의 추가의 예시적인 실시예를 도시하고;
도 6은 본 발명의 추가의 예시적인 실시예를 도시하고;
도 7은 본 발명의 추가의 예시적인 실시예를 도시하고;
도 8은 본 발명의 추가의 예시적인 실시예를 도시하고; 그리고
도 9는 본 발명의 추가의 예시적인 실시예를 도시한다.
도면들에서, 달리 표시되지 않는 한, 동일한 기능을 갖는 엘리먼트들에는 동일한 참조 부호들이 제공된다.
달리 표시되지 않거나 또는 이미 표시되지 않았다면, 아래의 예시적인 실시예들은, 방법을 구현하거나 수행하기 위해 적어도 하나의 프로세서 및/또는 메모리 유닛을 갖는다.
더욱이, 특히 방법항/방법항들의 지식을 갖는 (관련) 당업자는 당연히 종래 기술에서의 구현을 위해 제품들 또는 옵션(option)들을 실현하기 위한 모든 일상적인 옵션들을 알고 있으므로 설명에서 특히 독립적인 개시가 필요하지 않다. 특히, 당업자에게 알려진 이러한 통상적인 실현 변형들은 전적으로 하드웨어(hardware)(컴포넌트들)에 의해 또는 전적으로 소프트웨어(컴포넌트들)에 의해 실현될 수 있다. 대안적으로 그리고/또는 추가적으로, 당업자는 자신의 전문 능력의 범위 내에서, 본 발명에 따른 실현 변형들을 구현하기 위해, 하드웨어(컴포넌트들) 및 소프트웨어(컴포넌트들)의, 발명에 따른 임의적인 조합들을 최대로 가능한 정도까지 선택할 수 있다.
하드웨어(컴포넌트들) 및 소프트웨어(컴포넌트들)의, 본 발명에 따른 조합은 특히, 본 발명에 따른 효과들의 일 부분이 바람직하게는 전적으로 특수 하드웨어(예컨대, ASIC 또는 FPGA의 형태의 프로세서)에 의해 그리고/또는 다른 부분이 (프로세서-지원 및/또는 메모리-지원) 소프트웨어에 의해 유발되는 경우에, 발생할 수 있다.
특히, 많은 수의 상이한 실현 옵션들의 관점에서, 본 발명의 이해를 위해 이러한 실현 옵션들 모두를 명명하는 것은 가능하지 않으며, 또한 도움이 되지 않거나 필요하지 않다. 이와 관련하여, 특히 아래의 모든 예시적인 실시예들은, 특히 본 발명에 따른 교시의 그러한 실현들이 나타날 수 있는 몇 가지 방식들을 단지 예로서 나타내도록 의도된다.
결과적으로, 특히 개별적인 예시적인 실시예들의 특징들은 개개의 예시적인 실시예로 제한되는 것이 아니라, 특히 본 발명에 일반적으로 관련되는 것이다. 따라서, 일 예시적인 실시예의 특징들은 바람직하게는 또한 다른 예시적인 실시예에 대한 특징들로서 기능할 수 있으며, 특히 이는, 개개의 예시적인 실시예에서 명시적으로 언급할 필요가 없다.
도 1은 본 발명의 제1 예시적인 실시예를 도시한다. 그렇게 해서, 도 1은, 디바이스들을 제어하고 그리고/또는 모니터링하기 위한 제어 시스템을 도시하며, 분산형 데이터베이스 시스템은, 예컨대 블록체인(BC)에 의해 실현된다.
디바이스들을 제어하고 그리고/또는 모니터링하기 위한 제어 시스템의 예시적인 실시예는, 일 변형에서, 다음의 특징들:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈 ―
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 분산형 데이터베이스 시스템 ― 분산형 데이터베이스 시스템은,
- 다수의 노드들을 갖고, 노드들 및 디바이스들은 제1 통신 네트워크를 통해 서로 연결됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈;
- 할당된 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈 ―
- 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장되고;
- 제어 트랜잭션들은 데이터 블록들에 의해 디바이스들에 전달됨 ―;
- 적용가능 디바이스에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하기 위한 제1 체크 모듈 ―
- 적용가능 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하기 위한 실행 모듈;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하기 위한 제2 메모리 모듈을 포함할 수 있다.
디바이스들을 제어하고 그리고/또는 모니터링하기 위한 제어 시스템의 예시적인 실시예는, 예컨대 (데이터) 블록리스로(blocklessly) 구현되는 추가의 변형에서, 다음을 포함한다:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈(110) ―
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 분산형 데이터베이스 시스템(BC) ― 분산형 데이터베이스 시스템은,
- 다수의 노드들(BCN, BCN_D)을 갖고, 노드들(300, BCN, BCN_D) 및 디바이스들(300, D, BCN_D)은 제1 통신 네트워크(NW1)를 통해 서로 연결됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈(120);
- 할당된 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈(130) ―
- 제어 트랜잭션들은 분산형 데이터베이스 시스템(BC)에 의해 저장되고;
- 분산형 데이터베이스 시스템(BC)의 제어 트랜잭션들은 디바이스들(300, D, BCN_D)에 송신됨 ―;
- 적용가능 디바이스에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하기 위한 선택적인 제1 체크 모듈(140) ―
- 적용가능 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하기 위한 선택적인 제1 실행 모듈(150, 150_D);
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하기 위한 선택적인 제2 메모리 모듈(160).
상세하게, 도 1은, 블록체인(BC)의 블록들(B), 예컨대 제1 블록(B1), 제2 블록(B2) 및 제3 블록(B3)을 도시한다.
블록들(B) 각각은 다수의 트랜잭션들(T)을 포함한다. 트랜잭션들(T)은 제어 트랜잭션들 및/또는 확인 트랜잭션들을 포함할 수 있다.
제1 블록(B1)은, 예컨대 제1 트랜잭션(T1a), 제2 트랜잭션(T1b), 제3 트랜잭션(T1c) 및 제4 트랜잭션(T1d)을 포함한다.
제2 블록(B2)은, 예컨대 제5 트랜잭션(T2a), 제6 트랜잭션(T2b), 제7 트랜잭션(T2c) 및 제8 트랜잭션(T2d)을 포함한다.
제3 블록(B3)은, 예컨대 제9 트랜잭션(T3a), 제10 트랜잭션(T3b), 제11 트랜잭션(T3c) 및 제12 트랜잭션(T3d)을 포함한다.
블록들(B) 각각은 추가적으로 또한, 직전 선행 블록(direct predecessor block)에 기반하여 형성된 연쇄 체크섬들(CRC) 중 하나를 포함한다. 따라서, 제1 블록(B1)은 제1 블록(B1)의 선행 블록으로부터의 제1 연쇄 체크섬(CRC1)을 포함하고, 제2 블록(B2)은 제1 블록(B1)으로부터의 제2 연쇄 체크섬(CRC2)을 포함하고, 제3 블록(B3)은 제2 블록(B2)으로부터의 제3 연쇄 체크섬(CRC3)을 포함한다.
개개의 연쇄 체크섬(CRC1, CRC2, CRC3)은 바람직하게, 적용가능 선행 블록의 블록 헤더에 대해 형성된다. 연쇄 체크섬들(CRC)은 바람직하게, 암호화 해시 함수, 이를테면, 예컨대 SHA-256, KECCAK-256 또는 SHA-3을 사용함으로써 형성될 수 있다. 예로서, 연쇄 체크섬은 추가적으로 데이터 블록 체크섬에 대해 계산될 수 있거나, 또는 헤더는 데이터 블록 체크섬을 포함한다(데이터 블록 체크섬은 이후에 설명됨).
추가적으로, 블록들 각각은 데이터 블록 체크섬을 포함할 수 있다. 이는, 예컨대 해시 트리에 의해 실현될 수 있다.
해시 트리를 형성하기 위해, 데이터(블록)의 각각의 트랜잭션에 대해 트랜잭션 체크섬(예컨대, 마찬가지로 해시 값)이 계산된다. 대안적으로 또는 추가적으로, 이를 위해, 바람직하게는 트랜잭션이 생성되었을 때의 트랜잭션의 최초 생성자에 의해 생성된 트랜잭션 체크섬이 계속해서 사용될 수 있다.
일반적으로, 예컨대 머클 트리 또는 패트리샤 트리가 해시 트리를 위해 사용되며, 머클 트리 또는 패트리샤 트리의 루트 해시 값(root hash value)/루트 체크섬이 바람직하게는 적용가능 데이터 블록 체크섬으로서 개개의 블록들에 저장된다.
일 변형에서, 데이터 블록 체크섬은 연쇄 체크섬으로서 사용된다.
게다가, 블록은, 본 발명의 실시예들에서 설명된 바와 같은 타임스탬프, 디지털 서명, 작업 증명 증거를 가질 수 있다.
블록체인(BC) 자체는, 다수의 블록체인 노드들(BCN, BCN_D)을 갖는 블록체인 인프라구조에 의해 실현된다. 노드들은, 예컨대 컴퓨터들, 블록체인 오라클들, 신뢰받는 노드들, 또는 제어되거나 모니터링되어야 하는 디바이스들 중 하나 이상 또는 그 디바이스들 모두일 수 있다. 다시 말해, 특히, 디바이스들이 블록체인 노드들의 형태인 것이 가능하며, 그런 다음, 이들은 예컨대 디바이스 노드들(BCN_D)로 지칭된다. 예컨대, 블록체인 노드들의 형태가 아니고 그리고 예컨대 블록체인에 대한 판독 액세스(read access)만을 실행하는 디바이스들은 특히 블록체인-외부 디바이스(blockchain-external device)들(D)로 지칭된다. 노드들은 제1 네트워크(NW1)(예컨대, 통신 네트워크, 이를테면, 인터넷(Internet) 또는 이더넷(Ethernet) 네트워크)를 통해 서로 통신가능하게(communicatively) 연결된다. 블록체인 인프라구조는, 예컨대 블록체인의 일부 또는 모든 노드들에 대해 블록체인(BC)의 데이터 블록들(B) 중 적어도 일부 또는 데이터 블록들(B) 전부를 복제하는 데 사용된다.
특히, 디바이스들은 블록체인-외부 디바이스들(D) 또는 디바이스 노드들(BCN_D)을 의미하는 것으로 이해될 수 있다.
더욱이, 블록체인(BC)에 의해 실현되는 제어 시스템은, 제1 결정 모듈(110), 제1 할당 모듈(120), 제1 메모리 모듈(130), 제1 체크 모듈(140), 제1 실행 모듈(150) 및 제2 메모리 모듈(160)을 포함하며, 이들은 제어 시스템(예컨대, 버스(bus))을 통해 또는 블록체인 및 블록체인의 인프라구조(예컨대, 제1 네트워크(NW1))를 통해 서로 통신가능하게 연결된다. 제1 (통신) 네트워크(NW1)는 모바일 라디오 네트워크, 이더넷 네트워크, WAN, LAN 또는 인터넷일 수 있다.
제1 결정 모듈(110)은, 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하도록 구성되며, 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장되거나 포함된다. 실제 구현에서, 실행 요건들(또는 간단하게 단지 요건들로 지칭됨)은, 예컨대 요건 데이터 레코드(requirement data record)들에 저장되고, 그런 다음, 요건 데이터 레코드들은 결국 트랜잭션들에(예컨대, 제어 트랜잭션들에) 저장된다. 제1 결정 모듈 자체는, 예컨대 소프트웨어 컴포넌트로서(예컨대, 스마트 계약으로서) 또는 하드웨어 컴포넌트로서 또는 하드웨어 및 소프트웨어 컴포넌트들의 조합으로서 실현될 수 있다.
추가의 변형에서, 결정 모듈(110)은 할당 모듈(120) 자체를 포함하거나 또는 할당 모듈(120)의 기능성들을 포함한다.
소프트웨어 컴포넌트로서, 제1 결정 모듈(110)은, 예컨대 블록체인 또는 블록체인의 인프라구조에 의해 실행되는 스마트 계약으로서 실현될 수 있다. 이를 위해, 스마트 계약은, 예컨대 트랜잭션들에 저장되며, 트랜잭션들은 결국 블록체인(BC)의 블록들 또는 데이터 블록들에 저장된다.
하드웨어 컴포넌트로서, 제1 결정 모듈(110)은, 예컨대 특히 신뢰할 수 있고 그리고 디지털 증명서 또는 디지털 서명들을 사용하여 실행 요건들에 서명하는, 예컨대 블록체인의 노드/디바이스 및/또는 블록체인 오라클에 의해 실현될 수 있다.
선택적으로, 제어 시스템은 제1 분해 모듈을 포함할 수 있으며, 제1 분해 모듈은, (예컨대, 블록체인의 스마트 계약의 형태의) 제1 결정 모듈과 유사하게, 예컨대 제1 결정 모듈(110)의 통합형 모듈(integral module)의 형태이거나 또는 별개의 모듈의 형태(예컨대, 소프트웨어 및/또는 하드웨어 컴포넌트의 형태)이다. 제1 분해 모듈은, 명령 시퀀스를 적용가능 제어 명령들로 분해하고 그 적용가능 제어 명령들을 제어 시스템, 특히 제1 결정 모듈 또는 제1 메모리 모듈에 제공하도록 구성된다.
명령 시퀀스는, 다수의 디바이스들, 예컨대 생산 기계들이 아이템 또는 제품, 예컨대 가스 터빈(gas turbine) 또는 전기 모터(electric motor)를 생산하도록, 다수의 디바이스들, 예컨대 생산 기계들을 위한 제어 명령들을 포함할 수 있다. 대안적으로 또는 추가적으로, 명령 시퀀스는 제품의 규격을 포함하며, 그 규격은 디바이스들에 의해 구현되어야 한다. 명령 시퀀스가 반드시 제품의 생산과 관련될 필요는 없다. 이는 또한, 예컨대 전력 공급 시스템의 제어일 수 있다. 명령 시퀀스 자체는, 예컨대 블록체인에 저장된 스마트 계약일 수 있다. 그런 다음, 이 스마트 계약은, 예컨대 블록체인 또는 블록체인의 인프라구조를 이용하여 제어 시스템(또는 제1 분해 모듈 및/또는 제1 결정 모듈)에 의해 평가될 수 있다.
명령 시퀀스가 예컨대 암호화되는 것이 또한 가능하여서, 제1 결정 모듈(110) 또는 제1 분해 모듈은, 명령 시퀀스가 분해될 수 있기 전에, 명령 시퀀스를 먼저 암호해독할 필요가 있다.
대안적으로 또는 추가적으로, 명령 시퀀스의 제어 명령들은 암호화되고, 제어 명령들의 실행에 대한 적용가능 요건들은 평문(plain text)으로서 명령 시퀀스에 저장된다.
명령 시퀀스 자체 및/또는 제어 명령들은, 예컨대 사용자에 의해, 인터페이스에 의해, 다른 데이터베이스에 의해 또는 입력 디바이스에 의해 제어 시스템에 제공될 수 있다.
대안적으로 또는 추가적으로, 제어 명령들 및/또는 실행 요건들은, 예컨대 전문지식의 보호를 실현하기 위해, 제1 결정 모듈(110)에 의해 암호화된다. 예로서, 제어 명령들을 실행하기 위한 적용가능 디바이스(D) 및/또는 제1 체크 모듈(140) 및/또는 제1 실행 모듈(150, 150_D)은 적용가능 암호화 수단을 갖는다. 예로서, 암호화 수단은, 제어 명령들 및/또는 실행 요건들을 암호해독하기 위한, 적용가능 암호화 키이다.
제1 분해 모듈 및 제1 결정 모듈은 먼저, 명령 시퀀스를 제어 명령들로 분해하거나 또는 명령 시퀀스에 기반하여 제어 명령들을 결정하며, 제어 명령들은 또한, 제어 명령들의 그룹 또는 다수의 제어 명령들일 수 있다. 제1 결정 모듈(110)은 바람직하게, 이용가능한 디바이스들 및/또는 노드들을 알고 있고, 제어 명령들(제어 명령들은 또한, 제어 명령들의 그룹일 수 있음)에 대한 실행 요건들을 결정한다. 대안적으로, 실행 요건들은 명령 시퀀스에 이미 인코딩/저장되었을 수 있고, 제1 결정 모듈(110)은 적용가능 제어 명령들에 대한 실행 요건들을 결정하기 위해 이 정보를 사용한다.
추가적으로, 제어 시스템은, 규정된 기준에 기반하여 디바이스들에 의한 제어 명령들의 실행을 최적화하기 위해 실행 요건들을 사용하는 옵티마이저를 포함할 수 있다. 대안적으로, 옵티마이저는 실행 요건들을 결정하고, 그 실행 요건들을 제1 결정 모듈(110)에 제공한다.
따라서, 제어 시스템은, 예컨대 규정된 기준들에 따라 생산 프로세스를 최적화할 수 있다. 규정된 기준들은, 예컨대 생산 시간, 발생되는 비용 또는 사용될 필요가 있는 에너지일 수 있다. 옵티마이저는, 예컨대 제1 분해 모듈 또는 제1 결정 모듈의 통합형 모듈일 수 있다. 대안적으로, 옵티마이저는 제어 시스템의 독립형 모듈의 형태일 수 있다.
옵티마이저가, 예컨대 분해 모듈 또는 결정 모듈의 통합형 모듈인 경우, 옵티마이저는, 명령 시퀀스가 제어 명령들로 분해될 때 그리고 실행 요건들이 결정될 때, 최적화를 수행할 수 있다. 이는, 예컨대 명령 시퀀스를 제어 명령들로 분해할 때, 규정된 기준을 고려하기 위해, 제1 분해 모듈 또는 제1 결정 모듈(110)이 옵티마이저를 사용하는 것을 수반한다.
예컨대, 기준이, 제품을 생산하기 위한 생산 시간을 최적화하는 것(예컨대, 제품에 대한 생산 시간을 가능한 한 짧게 유지하는 것)인 경우, 명령 시퀀스가 분해되고, 그리고/또는 그에 따라 최적화된 실행 요건들이 계산되어서, 제품의 개별적인 컴포넌트들은 다수의 디바이스들에 의해 병렬로 제조되는데, 즉, 제어 트랜잭션들 내의 적용가능 제어 명령들이 이들에 의해 수행된다. 예컨대, 기준이, 제품을 생산하기 위한 생산 비용들을 최적화하는 것인 경우, 명령 시퀀스가 분해되고 그리고/또는 그에 따라 최적화된 실행 요건들이 계산되어서, 개별적인 컴포넌트들은 하나의 디바이스(예컨대, 적용가능 디바이스) 또는 가능한 한 적은 수의 디바이스들에 의해 직렬로 제조되는데, 즉, 제어 트랜잭션들의 적용가능 제어 명령들이 적용가능 노드들/디바이스들에 의해 수행된다. 이를 제어하기 위해, 옵티마이저는, 예컨대 결정 모듈이 적용가능 정보를 실행 요건들에 저장하도록, 이 정보를 결정 모듈에 전달한다.
일 변형에서, 결정 모듈은, 디바이스들을 제어하고 그리고/또는 모니터링하기 위한 분산형 데이터베이스 시스템을 갖는 제어 시스템을 위한 또는 분산형 데이터베이스 시스템을 위한 결정 모듈이다. 이 변형에서, 이는 프로세서 및 선택적으로 메모리 유닛을 갖는다. 프로세서는, 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하도록 구성되며, 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장되고, 실행 요건들은 분산형 데이터베이스 시스템의 트랜잭션들에 저장된다. 추가적으로, 상기 결정 모듈은, 예컨대 도 8 및 도 9로부터의 열거된 특징들 및 변형 실시예들을 포함할 수 있다.
제1 할당 모듈(120)은 개개의 실행 요건들을 제어 명령들에 할당하도록 구성된다. 제1 할당 모듈(120)은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 제1 할당 모듈(120)은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이다.
예컨대, 제어 명령들 또는 제어 트랜잭션들의 실행이 어떤 전제된 제어 명령들도 필요로 하지 않는 경우, 전제된 제어 명령들은 특히 블랭크일 수 있다. 예로서, 제어 명령들은 제로로 채워지거나, 블랭크 스트링으로 채워지거나, 또는 어떤 전제된 제어 명령들도 필요하지 않음을 표시하는 값으로 채워질 수 있다. 대안적으로, 예컨대 제어 명령들 중 일부는 어떤 할당된 실행 요건도 갖지 않을 수 있는데, 특히, 제어 명령들 중 적어도 하나는 적어도 하나의 할당된 실행 요건을 갖는다.
제1 메모리 모듈(130)은, 할당된 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하도록 구성되며, 제어 트랜잭션들은 분산형 데이터베이스 시스템(BC)의 데이터 블록들(B)에 저장된다. 제어 트랜잭션들은, 예컨대 데이터 블록들(B)에 의해 디바이스들(D, BCN_D)에 송신된다. 이는, 예컨대 데이터 블록들이 블록체인 및/또는 노드들 및/또는 특정 노드들에 대해 복제되는 경우, 예컨대 적용가능 데이터 블록들이 블록체인에 의해 제1 네트워크(NW1)를 통해 적용가능 노드들에 송신됨으로써 달성된다. 예컨대, 블록체인-외부 디바이스가 수반되는 경우, 이는, 예컨대 규정된 시간 인터벌 후에, 예컨대 블록체인의 인터페이스(예컨대, 웹 인터페이스(web interface))를 통해 그러한 디바이스에 송신될 수 있거나, 또는 그러한 디바이스 자체가 적용가능 데이터를 블록체인으로부터 리트리빙한다.
바람직하게, 제1 결정 모듈(110)에 의해 제어 명령들을 결정하는 것은, 상기 제어 명령들이 디바이스-특정 방식으로 결정되는 것을 수반한다. 이는 특히, 적용가능 디바이스에 의해 완전히 수행될 수 있는 제어 명령들의 그룹들이 초기에 형성됨을 의미한다. 제어 명령들의 이러한 그룹들은 또한, 간단히 제어 명령들로 지칭될 수 있다. 그런 다음, 제어 명령들의 이러한 그룹들 또는 제어 명령들은 위에서 설명된 바와 같이, 그들에 대해 계산된 실행 전제 조건(execution prerequisite)들을 갖는다. 그런 다음, 저장은, 제어 명령들의 적용가능 그룹 또는 적용가능 제어 명령들이, 연관된/적용가능 실행 전제 조건들과 함께 제어 트랜잭션에 저장되는 것을 수반한다. 따라서, 제어 트랜잭션들은 바람직하게, 디바이스-특정 제어 명령들을 포함한다.
예로서, 결정 모듈은 또한, 본 발명에 따른 결정 모듈, 또는 상기 결정 모듈의 실시예들 중 하나, 또는 도 8 및/또는 도 9에서 설명되는 바와 같은 결정 모듈일 수 있다.
저장은 상이한 방식들로 수행될 수 있다. 예로서, 제어 명령 또는 다수의 제어 명령들은 특정 제어 트랜잭션에 저장될 수 있으며, 이 특정 제어 트랜잭션은 제어 명령 또는 다수의 제어 명령들에 대한 적용가능 실행 요건들을 포함한다. 이 통합형 접근법은 가능한 한 용이하게 데이터에 액세스하는 데 유리하다.
대안적으로, 적용가능 실행 요건들은 개별적인 또는 별개의 제어 트랜잭션에 저장될 수 있고, 개별적인 트랜잭션은, 이러한 적용가능 실행 요건들이 관련되는 제어 명령 또는 제어 명령들에 관한 참조 또는 포인터(pointer)를 포함한다. 이는, 예컨대 (제어 명령들을 갖는) 적용가능 (제어) 트랜잭션들을 갖는 (블록의) 블록 번호, 블록의 체크섬, 또는 제어 명령들을 포함하는 트랜잭션을 이용하여 달성된다. 이는, 적용가능 디바이스들에 의한 제어 명령들의 수행 동안 실행 요건들이 먼저 결정되는 경우에, 유리하다. 디바이스(또는 제1 체크 모듈(140), 또는 제1 실행 모듈(150)), 예컨대 제어 트랜잭션의 제어 명령들 또는 제어 명령들 중 일부를 수행하는 적용가능 디바이스는, 적용가능 실행 요건들이 블록체인의 제어 트랜잭션에서 이용가능한 경우에만, 적용가능 제어 명령들을 수행하기 시작한다. 그렇지 않으면, 디바이스, 또는 제1 체크 모듈(140), 또는 제1 실행 모듈(150)은, 적용가능 실행 요건들을 갖는 이 제어 트랜잭션이 블록체인(BC)에 의해 제공될 때까지 대기한다.
제1 메모리 모듈(130)은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 제1 메모리 모듈(130)은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이다.
추가의 변형에서, 제1 메모리 모듈(130)은 할당 모듈(120) 자체를 포함하거나 또는 할당 모듈(120)의 기능성들을 포함한다.
제1 체크 모듈(140)은, 적용가능 디바이스에 의해 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들을 실행할 때 개개의 실행 요건들을 체크하도록 구성되며,
- 적용가능 디바이스에 대한 개개의 제어 트랜잭션의 개개의 실행 요건의 디바이스-특정 요건들이 체크되고; 그리고/또는
- 개개의 제어 트랜잭션의 개개의 실행 요건들의 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행된다.
특히, "제어 명령들 중 하나"는 제어 명령들 중 하나 이상을 의미한다(즉, 이는, 예컨대 하나 이상의 제어 명령들임). 대안적으로, "제어 명령들 중 하나"는 "제어 명령들 중 적어도 하나"를 의미하는 것으로 이해되도록 의도된다. "제어 명령들 중 하나"는 바람직하게, 적용가능 제어 트랜잭션의 제어 명령들이다.
일 변형에서, 체크 모듈은, 제어 트랜잭션에서 어느 디바이스가 제어 명령들을 실행해야 하는지를 표시하는 고유 식별자(예컨대, UID)를 체크한다. 결과적으로, 그런 다음, 적용가능 제어 트랜잭션이 디바이스 또는 노드에 의해 실행될 수 있는지 여부를 발견하는 것이 가능하다. 이 체크의 결과는 체크 결과에 레코딩된다. 이러한 종류의 고유 식별자는, 예컨대 결정 모듈에 의해 특정되거나 규명될 수 있다. 이를 위해, 결정 모듈은, 예컨대 디바이스들/노드들의 모든 식별자들의 디렉토리(directory)를 가질 수 있다. 적용가능 제어 트랜잭션들에 의한 제어 명령들의 실행을 위해, 제어 명령들을 실행해야 하는 디바이스들 또는 노드들에 대한 적용가능 고유 식별자들은 (예컨대, 결정 모듈 자체 또는 제1 메모리 모듈에 의해) 실행 요건들 및/또는 제어 트랜잭션들 및/또는 제어 명령들에 저장된다.
이는, 예컨대 적용가능 제어 명령들이, 예컨대 특정 디바이스에 의해 실행될 수 있는지 여부를, 디바이스들/노드들이 신속하게 발견하는 것을 가능하게 하는 데 유리하다. 디바이스들 또는 노드들은, 예컨대 할당된 고유 식별자(UID)를 갖는다. 제어 시스템 또는 결정 모듈은 특히, (예컨대, 디바이스들/노드들에 관한 데이터와 함께 구성 메모리에 저장된) 디바이스들의 적용가능 고유 식별자들을 알고 있고, 제어 명령들을 결정할 때, 적용가능 고유 식별자들을 제어 명령들 자체에 그리고/또는 실행 요건들에 의해 그리고/또는 제어 트랜잭션들에 의해 할당한다. 배정된 또는 할당된 고유 식별자들은 특히, 제어 명령들을 실행해야 하는 디바이스들 또는 노드들의 적용가능 고유 식별자들이다.
제1 체크 모듈(140)은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 제1 체크 모듈(140)은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이거나 또는 제어 명령들을 실행할 수 있는 디바이스의 또는 노드의 컴포넌트이다.
적용가능 디바이스에 의해 실행되어야 하는 데이터 블록의 제어 명령들에 대한 체크가 제1 체크 모듈(140)에 의해 완료될 때, 체크의 결과가 데이터 레코드에 제공된다. 제1 체크 모듈(140)은 또한, 예컨대 추가적인 체크들을 수행할 수 있다. 예로서, 트랜잭션 체크섬 또는 데이터 블록 체크섬이 체크될 수 있다. 적용가능 체크섬이 디지털 서명 또는 증명서인 경우, 예로서, 발급기(issuer) 또는 체크섬 생성기(checksum generator)가 실제로, 그것의 제어 명령들이 디바이스 상에서 또는 디바이스에 의해 수행되도록 권한부여되었는지 여부를 체크하는 것이 가능하다.
예로서, 적용가능 디바이스가, 요구되는 디지털 증명서를 갖고 있는지 여부를 체크하는 것이 또한 가능하며, 그 요구되는 디지털 증명서는 예로서, 적용가능 디바이스가 신뢰받음을 명시한다. 이는, 예컨대, 일반인이 액세스가능하지 않아야 하는 전문지식을 포함하는 제어 명령들이 수반되는 경우에, 필요할 수 있다.
예로서, 제어 명령들이 암호화방식으로 암호화되고, 바람직하게는 적용가능 디바이스(D)만이 이 암호화 암호(cryptographic encryption)를 반전시키기 위한 수단(예컨대, 적용가능 키)을 포함하는 것이 또한 고려가능하다. 이러한 수단은 적용가능 디바이스(D) 자체에 의해 포함될 수 있거나, 또는 실행 모듈(150, 150_D)이 이러한 수단을 포함한다.
실행 모듈(150, 150_D)은, 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하도록 구성된다. 체크가 제어 명령들의 실행에 대한 확인을 나타내거나 또는 결과가 제어 명령들의 실행에 대한 확인을 포함하는 경우, 적용가능 디바이스는 이러한 제어 명령들을 실행한다. 예로서, 이는, 명령 시퀀스에서 원래 특정된 제어 명령들의 규격들에 따라 컴포넌트에 홀(hole)을 드릴링(drill)할 수 있다. 체크가 제어 명령들의 실행에 대한 어떤 확인도 나타내지 않거나 또는 결과가 제어 명령들의 실행에 대한 어떤 확인도 포함하지 않는 경우, 제어 명령들의 수행/실행은 방지된다.
예컨대, 제어 명령들이 적용가능 디바이스에 의해 실행되지 않아야 함을 결과가 나타내면, 예컨대 제어 신호가 제공될 수 있다. 제어 신호는, 예컨대 명령 시퀀스에 기반하여 생성된 경보, 서비스 엔지니어 또는 제어 명령들(바람직하게는 이들 모두)을 취소(annul)시키는 데 사용될 수 있어서, 명령 시퀀스의 다른 제어 명령들은 더 이상 다른 디바이스들에 의해 실행되지 않는다. 이는, 예컨대 적용가능 제어 트랜잭션이 블록체인(BC)의 블록 내에 모든 디바이스들에 대한 그러한 제어 명령과 함께 저장되고 블록체인(BC)에 의해 디바이스들에 전달되는 것을 수반할 수 있다. 그러한 제어 트랜잭션은 바람직하게 마찬가지로, 우선순위를 포함하는 실행 요건들을 포함한다. 이 우선순위는 바람직하게, 다른 제어 명령들의 우선순위보다 더 높다. 이러한 증가된 우선순위는, 예컨대 명령 시퀀스의 제어 명령들 중 나머지 제어 명령의 실행을 무효화(invalidate)하거나(취소시키거나) 방지하기 위해, 적용가능 제어 명령이 디바이스들에 의해 우선적으로 수행되게 한다.
예컨대, 제1 체크 모듈(140)이 블록체인(BC)의 모듈인 경우, 제1 체크 모듈(140)은, 예컨대 디바이스-특정 요건들을 체크하는 데 사용될 수 있는, 그들의 디바이스-특정 특성들을 갖는 디바이스들의 리스트(list)를 포함한다. 대안적으로, 제1 체크 모듈(140)은 디바이스들 및 디바이스들의 네트워크 어드레스들의 리스트를 포함할 수 있고, 적용가능 디바이스-특정 특성들을 디바이스들 자체에 요청할 수 있다. 이는, 체크를 위한 디바이스들의 현재 동작 상태를 고려하는 데 유리하다.
제1 실행 모듈(150, 150_D)은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 실행 모듈은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이거나, 또는 제어 명령들을 실행할 수 있는 디바이스(예컨대, 디바이스 실행 모듈(150_D))의 또는 노드(예컨대, 블록체인 실행 모듈(150))의 컴포넌트이다.
제1 실행 모듈이 예컨대 블록체인의 모듈인 경우, 제1 실행 모듈(150)은, 예컨대 제어 명령들의 수행을 위해 디바이스들을 작동시키기 위해, 디바이스들 및 디바이스들의 네트워크 어드레스들의 리스트를 포함한다.
제2 메모리 모듈(160)은, 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하도록 구성된다.
적용가능 디바이스에 의한 제어 명령들의 수행이 성공적이었던 경우, 이 정보는 블록체인의 확인 트랜잭션에 저장된다. 예컨대, 현재 수행되는 제어 명령들(전제된 제어 명령들)의 수행을 전제로 하는(presuppose) 다른 제어 명령들이 있는 경우, 실행 요건들 중 나머지가 또한 충족된다면, 이러한 다른 제어 명령들은 이제, 다른 적용가능 디바이스 또는 동일한 적용가능 디바이스에 의해 수행될 수 있다.
제2 메모리 모듈(160)은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 제2 메모리 모듈(160)은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이거나, 또는 제어 명령들을 실행할 수 있는 노드의 컴포넌트이다.
제어 시스템 및/또는 분산형 데이터베이스 시스템 또는 그것의 노드들(예컨대, 블록체인 노드들, 디바이스들(디바이스 노드들 및 블록체인-외부 디바이스들))은 예로서, 추가적으로 또한, 추가의 컴포넌트 또는 다수의 추가의 컴포넌트들, 이를테면, 예컨대 프로세서, 메모리 유닛, 추가의 통신 인터페이스들(예컨대, 이더넷, WLAN), 입력 디바이스, 특히 컴퓨터 키보드(computer keyboard) 또는 컴퓨터 마우스(computer mouse), 및 디스플레이 디바이스(display device)(예컨대, 모니터(monitor))를 포함할 수 있다. 프로세서는, 예컨대 특히 추가의 예시적인 실시예들을 실현하는 데 사용될 수 있는 다수의 추가의 프로세서들을 포함할 수 있다. 추가의 컴포넌트/컴포넌트들은 마찬가지로, 예컨대 블록체인 또는 블록체인의 인프라구조에 의해 서로 통신가능하게 연결될 수 있다.
프로세서는, 예컨대 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈 또는 모든 모듈들의 기능들에 대해 주문형으로(on an application-specific basis) 실현된 ASIC일 수 있으며, 프로그램 컴포넌트 또는 프로그램 명령어들은 특히 집적 회로들로서 실현된다. 프로세서는 또한, 예컨대 FPGA일 수 있으며, FPGA는 특히, FPGA가 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈 또는 모든 모듈들의 기능들을 수행하도록, 프로그램 명령어들에 의해 구성된다.
선택된 구현 변형에 따라, 분산형 데이터베이스 시스템은 제1 체크 모듈 및/또는 제1 실행 모듈 및/또는 제2 메모리 모듈을 포함할 수 있다.
이 구현 변형에서, 디바이스들은, 예컨대 그러한 대응하는 모듈들 없이 간단하게 유지된다. 이는, 디바이스들을 가능한 한 간단하게 만들고, 디바이스들이 분산형 데이터베이스 시스템과 인터페이싱(interface)하게 하는 데 유리하다. 이는 특히, 저렴한 디바이스들이 사용되는 것을 가능하게 한다.
추가의 구현 변형에서, 디바이스들은, 예컨대 도 3에서 설명되는 바와 같이, 제1 디바이스 체크 모듈 및/또는 제1 디바이스 실행 모듈 및/또는 제2 디바이스 메모리 모듈을 포함한다. 선택된 구현에 따라, 제1 체크 모듈 및/또는 제1 실행 모듈 및/또는 제2 메모리 모듈은, 그들의 기능성들/태스크들이 실현/수행될 때, 디바이스들의 대응하는 모듈들에 액세스할 수 있다.
다시 말해, 제어 시스템 또는 분산형 데이터베이스 시스템은 (예컨대, 테이블(table)에 저장된 데이터에 의해) 디바이스 모듈들을 알고 있다. 제1 체크 모듈(140) 및/또는 제1 실행 모듈(150) 및/또는 제2 메모리 모듈(160)은, (예컨대, 바람직하게는 자동으로 자체 업데이트되는 모듈-내부 테이블(module-internal table)을 통해, 예컨대 제1 통신 네트워크(NW1)에서의 브로드캐스트 메시지(broadcast message)들을 통해 또는 분산형 데이터베이스 시스템(BC)을 통해) 디바이스 모듈들(150_D)이 어드레싱되거나(addressed) 또는 작동될 수 있는 방법에 관한 정보를 갖는다. 제1 체크 모듈 및/또는 제1 실행 모듈 및/또는 제2 메모리 모듈은 바람직하게, 필요한 정보 또는 태스크들(예컨대, 제어 트랜잭션들 또는 확인 트랜잭션들 또는 체크 모듈에 의한 체크의 결과)을 적용가능 디바이스 또는 적용가능 디바이스들에 분배 또는 전달하는 부분만을 구현한다. 기능성의 나머지는 디바이스 모듈들에 의해 실현된다.
이는, 제1 체크 모듈에 의한 더 컴퓨테이션-집약적(computation-intensive)인 체크 태스크들 또는 제1 실행 모듈에 의한 실행 태스크들 중 모두 또는 일부를 적용가능 디바이스들에 재배치(relocating)하는 데 유리하다.
제어 시스템은 또한, 선택적인 등록 모듈을 포함할 수 있다.
등록 모듈은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 등록 모듈은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이다. 대안적으로, 등록 모듈은 특정 신뢰받는 노드로서 실현될 수 있으며, 그것의 네트워크 어드레스는 예컨대 공개적으로 알려진다. 예컨대, 권한부여된 노드들 및/또는 디바이스들만이 제어 시스템 또는 분산형 데이터베이스 시스템과 인터페이싱되는(interfaced) 폐쇄형 분산형 데이터베이스 시스템이 수반되는 경우, 특히 등록 모듈의 네트워크 어드레스만이 공개적으로 알려진다.
등록 모듈은 새로운 노드들 및/또는 디바이스들을 제어 시스템에 추가하도록 구성된다. 새로운 디바이스 및/또는 노드가 제어 시스템 또는 분산형 데이터베이스 시스템에 참여하기를 원하는 즉시, 새로운 디바이스 또는 새로운 노드는 등록 모듈에 질의(query)를 전송한다. 이는, 예컨대 노드 및/또는 디바이스 정보가 등록 모듈에 직접적으로 전달됨으로써, 직접적으로 수행될 수 있다. 이것이 간접적으로 수행되는 경우, 질의는, 질의가 등록 모듈에 도달할 때까지 분산형 데이터베이스 시스템의 모듈들과 노드들 사이에서 포워딩된다(forwarded).
노드 및/또는 디바이스 정보는 다음을 포함할 수 있다:
- 디바이스 어드레스/노드 어드레스
- 디바이스/노드의 오퍼레이터
- 디바이스/노드의 기능들의 범위
- (예컨대, 디바이스/노드에 의해 생성된 체크섬들/디지털 서명들을 체크하기 위한) 암호화 키들
- 실행 요건들을 체크하기 위해 필요한 추가의 특성들.
그런 다음, 노드 및/또는 디바이스 정보는, 예컨대 제어 명령들 또는 제어 트랜잭션들의 체크 및/또는 실행이, 적용가능 모듈들에 의해 수행될 수 있도록, 제어 시스템에(예컨대, 적용가능 테이블들에) 저장될 수 있다.
데이터베이스 시스템이, 예컨대 폐쇄형 분산형 데이터베이스 시스템인 경우, 등록 모듈은 또한, 디바이스/노드가 액세스 권한부여(access authorization)를 갖는지 여부, 즉, 특히 디바이스/노드가 제어 시스템 또는 분산형 데이터베이스 시스템의 일부로서 수용되는지 여부를 체크한다. 이를 위해, 디바이스/노드는, 예컨대 등록 모듈에 의해 체크되는 인증 정보(암호화 키들, 패스워드들 등)를 제공한다.
데이터베이스 시스템이, 예컨대 개방형 분산형 데이터베이스 시스템인 경우, 노드 및/또는 디바이스 정보는 예컨대 캡처된다.
구현 변형에 따라, 체크 모듈(140) 및/또는 실행 모듈(150) 및/또는 제2 메모리 모듈(160)은 선택적인 모듈들이다.
특히, 제어 시스템은 또한, 예컨대 (예컨대, 블록체인의 형태의) 디지털 트윈을 실현하는 데 사용될 수 있거나, 또는 제어 시스템은 디지털 트윈이다.
디지털 트윈은, 예컨대 제어 유닛 또는 생산될 제품에 대해 실현된다(또는 계산되거나 또는 생성됨).
분산형 데이터베이스 시스템은, 예컨대 제1 항 내지 제28 항 중 어느 한 항에 청구된 바와 같은 제1 분산형 데이터베이스 시스템일 수 있다.
도 2는, 블록체인(BC)의 노드들로서 실현되는 디바이스들의 제어를 구현하는, 본 발명의 제2 예시적인 실시예를 도시한다.
이 변형은 예로서 또한, 도 1로부터의 예시적인 실시예에 의해 실현될 수 있거나, 또는 이 도면과 호환가능하다. 따라서, 도 2로부터의 제어 시스템은 마찬가지로, 도 1로부터의 제어 시스템의 하나 이상의 모듈들을 가질 수 있다.
블록체인(BC)으로서 실현되는 제어 시스템은, 제어 트랜잭션들을 또한 포함할 수 있는 다수의 트랜잭션들(T)을 제공한다.
예로서, 제5 트랜잭션(T2a)은, 제1 제어 명령들 및 이러한 제어 명령들에 할당된 제1 실행 요건들을 포함하는 제1 제어 트랜잭션이다. 제6 트랜잭션(T2b)은, 예컨대 제2 제어 명령들 및 이러한 제어 명령들에 할당된 제2 실행 요건들을 포함하는 제2 제어 트랜잭션이다. 제2 실행 요건들은, 제2 디바이스 노드(BCN_D_2)가 제2 제어 명령들을 수행하는 것을 시작할 수 있기 전에, 제2 제어 명령들이 특정 디바이스, 예컨대 제2 디바이스 노드(BCN_D_2)에 의해 실행되는 것으로, 그리고 제1 제어 명령들이 특정 디바이스 노드, 예컨대 제1 디바이스 노드(BCN_D_1)에 의해 실행될 필요가 있는 것으로 전제된 제어 명령들을 필요로 한다.
다시 말해, 제2 제어 명령들에 대한 제2 실행 요건들은, 제1 제어 명령들이 실행된 경우에 제2 제어 명령들의 실행이 시작되고, 그리고 제2 제어 명령들의 실행에 대한 확인은 블록체인의 블록들에 저장된 (확인) 트랜잭션들에서 블록체인에 의해 제공되는 것을 특정한다.
제1 단계(S1)에서, 제1 제어 트랜잭션의 제1 제어 명령들은 블록체인에 의해 제1 디바이스 노드(BCN_D_1)에 전달되고, 제1 디바이스 노드(BCN_D_1)에 의해 실행된다. 제1 디바이스 노드(BCN_D_1)에 의한 제1 제어 명령들의 성공적인 수행 다음에, 이 수행에 관한 확인이 이 목적을 위해 확인 트랜잭션에 기입되고, 제2 단계(S2)에서 블록체인의 데이터 블록에 저장된다. 이 예시적인 실시예에서, 이는 제9 트랜잭션(T3a)이다.
제2 제어 명령들에 대한 실행 요건들이 충족된 후에, 제2 제어 트랜잭션은, 제3 단계(S3)에서 블록체인에 의해 제2 디바이스 노드(BCN_D_2)에 전달된다. 이는, ― 예컨대 도 1에 도시된 바와 같이 ― 블록체인 자체에 의해 수행되거나 또는 예컨대 별개의 모듈 또는 디바이스에 의해 수행될 수 있다.
제2 디바이스 노드(BCN_D_2)는 제2 제어 명령들을 수행한다. 수행이 성공적인 경우, 제2 디바이스 노드(BCN_D_2)는, 단계(S4)에서 블록체인의 블록에 제2 확인 트랜잭션을 저장한다.
여기서, 디바이스 노드는 특히, 제어 명령들을 수행하기 위해, 동시에 디바이스이거나 또는 디바이스 특성들을 갖는 블록체인의 노드를 의미하는 것으로 이해되도록 의도된다.
본 발명은, 복잡한 제어 명령 체인들(명령 시퀀스들로 또한 지칭됨)이 (자동화) 네트워크에서 수행되는 것을 가능하게 하며, 여기서 노드들 및/또는 디바이스 노드들 및/또는 블록체인-외부 디바이스들은, 개별적인 노드들 및 디바이스들의 상이한 오퍼레이터들이 서로를 신뢰하지 않더라도, 간단한 방식으로 서로 네트워크화된다. 특히, 분산형 데이터베이스 시스템은 또한, 예컨대 (예컨대, 블록체인의 형태의) 디지털 트윈을 실현하는 데 사용될 수 있거나, 또는 분산형 데이터베이스 시스템은 디지털 트윈이다.
여기서, 디지털 트윈은, 예컨대 분산형 데이터베이스 시스템 또는 생산될 제품(예컨대, 도 3으로부터의 디바이스 또는 다른 제품/디바이스)에 대해 실현된다(또는 계산되거나 또는 생성됨).
도 3은, 연관된 예시적인 실시예들과 함께 도 1 또는 도 2에서 설명된 바와 같은 디바이스와 관련하여, 본 발명의 제3 예시적인 실시예를 도시한다.
디바이스(300)는, 제1 통신 모듈(310), 선택적인 제1 체크 모듈(320), 선택적인 제1 실행 모듈(330), 및 선택적인 제2 메모리 모듈(340)을 포함하며, 이들은 버스(301)를 통해 서로 통신가능하게 연결된다. 이 경우, 버스는 또한, 간단한 프로그램 흐름이거나 또는 적용가능 컴포넌트들 사이의 데이터 상호교환일 수 있다.
디바이스는, 예로서, 추가적으로 또한, 추가의 컴포넌트 또는 다수의 추가의 컴포넌트들, 이를테면, 예컨대 프로세서, 메모리 유닛, 추가의 통신 인터페이스들(예컨대, 이더넷, WLAN), 입력 디바이스, 특히 컴퓨터 키보드 또는 컴퓨터 마우스, 및 디스플레이 디바이스(예컨대, 모니터)를 포함할 수 있다. 프로세서는, 예로서, 특히 추가의 예시적인 실시예들을 실현하는 데 사용될 수 있는 다수의 추가의 프로세서들을 포함할 수 있다. 추가의 컴포넌트/컴포넌트들은, 예로서, 마찬가지로 버스를 통해 서로 통신가능하게 연결될 수 있다.
프로세서는, 예컨대 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈 또는 모든 모듈들의 기능들에 대해 주문형으로 실현된 ASIC일 수 있으며, 프로그램 컴포넌트 또는 프로그램 명령어들은 특히 집적 회로들로서 실현된다. 프로세서는 또한, 예컨대 FPGA일 수 있으며, FPGA는 특히, FPGA가 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈 또는 모든 모듈들의 기능들을 수행하도록, 프로그램 명령어들에 의해 구성된다.
제1 통신 모듈(310), 예컨대 이더넷 인터페이스는, 분산형 데이터베이스 시스템(예컨대, 블록체인)의 데이터 블록들을 수신하도록 구성되며,
- 디바이스에 대한 제어 명령들을 갖는 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장되고(다시 말해, 저장된 제어 명령들을 갖는 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 의해 수신됨),
- 제어 트랜잭션들은 실행 요건들을 포함하고,
- 실행 요건들은 디바이스에 대한 디바이스-특정 요건들 및/또는 전제된 제어 명령들을 포함하고,
- 적용가능 실행 요건들은 개개의 제어 트랜잭션들에 할당된다.
특히, (개개의) 제어 트랜잭션들에 할당된 실행 요건들은, 디바이스가 (개개의) 제어 트랜잭션들의 제어 명령들을 실행할 수 있는지 여부 및/또는 제어 명령들이 실행을 위해 디바이스에 대해 의도된 것인지 여부를 발견하기 위해 디바이스에 의해 사용될 수 있다.
제1 통신 모듈(310)은 특히, 분산형 데이터베이스 시스템의 데이터 블록들에 의해 (또는 데이터 블록들의 도움으로) 제어 트랜잭션들을 수신하도록 구성된다(또는 제어 트랜잭션들은 분산형 데이터베이스 시스템에 의해 디바이스에 전달되고, 그런 다음, 디바이스는 이러한 제어 트랜잭션들을 수신함).
이 경우, 수신은, 특히 디바이스가 분산형 데이터베이스 시스템으로부터 트랜잭션들을 리트리빙하거나 수신할 수 있도록, 적용가능 트랜잭션들이 분산형 데이터베이스 시스템에 의해 디바이스에 직접적으로 전달되거나 또는 분산형 데이터베이스 시스템에 의해 (예컨대, 노드 또는 블록체인 오라클에 의해) 디바이스에 제공되는 것을 의미하는 것으로 이해되도록 의도된다.
제1 체크 모듈(320)은, 디바이스에 의해 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하도록 구성되며,
- 특히, 디바이스에 대한 개개의 제어 트랜잭션의 개개의 실행 요건들의 디바이스-특정 요건들이 체크되고, 그리고/또는
- 특히, 체크는, 개개의 제어 트랜잭션의 개개의 실행 요건들의 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 수행되고(예컨대, 분산형 데이터베이스 시스템이 적용가능 확인 트랜잭션들을 제공함으로써, 또는 분산형 데이터베이스 시스템이 적용가능 확인 트랜잭션들을 제공하는지 여부를 규명하기 위해 체크가 수행됨으로써), 그리고/또는
- 특히, 체크는, 개개의 실행 요건들의 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템에서 이용가능한지 여부를 규명하기 위해 수행된다.
디바이스는, 적용가능 제어 명령들에 할당된 개개의 실행 요건들을 체크한다. 실행 요건들 및/또는 제어 명령들은, 예컨대 제어 트랜잭션들 중 하나에 저장된다. 다시 말해, 디바이스는, 예컨대 수신된 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들을 판독하고, 그리고 또한, 적용가능 제어 트랜잭션으로부터(예컨대, 제어 명령들을 포함하는 동일한 제어 트랜잭션으로부터 또는 적용가능 실행 요건들을 포함하는 별개의 제어 트랜잭션으로부터) 연관된 실행 요건들을 판독한다.
특히, 디바이스는, 디바이스에 대한 디바이스-특정 요건들을 체크하며, 디바이스-특정 요건들은 적용가능 실행 요건들에 저장된다. 다시 말해, 체크는, 특히 제어 명령들의 실행에 대한 디바이스-특정 요건들이 충족되는지 여부를 규명하기 위해 수행된다.
대안적으로 또는 추가적으로, 디바이스는, 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템에서 이용가능한지 여부(예컨대, 분산형 데이터베이스 시스템에 저장되어 있는지 또는 분산형 데이터베이스 시스템의 데이터 블록들에 저장되어 있는지)를 체크한다. 다시 말해, 체크는, 제어 명령들의 실행에 필요한 전제된 제어 명령들이 이미 그에 대해 실행되었는지 여부를 규명하기 위해 수행된다(그리고 이는 그에 따라, 특히, 확인 트랜잭션에 저장됨/도큐먼트화됨).
이 체크의 결과는 체크의 결과에 저장된다.
제1 실행 모듈(330)은, 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하도록 구성된다. 그런 다음, 이는, 예컨대 체크의 결과가 그렇게 허용하는 경우, 모터들 또는 밀(mill)들이 제어 명령들에 따라 디바이스에 의해 작동되는 것을 수반한다.
제2 메모리 모듈(340)은, 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하도록 구성된다.
모듈들은, 예컨대 하드웨어 컴포넌트로서 또는 소프트웨어 컴포넌트로서 또는 하드웨어 및 소프트웨어 컴포넌트들의 조합으로서 실현될 수 있다. 예로서, 소프트웨어 컴포넌트들, 이를테면, 프로그램 라이브러리(program library)들은, 프로세서가 적용가능 모듈의 기능성들을 실현하도록, 프로그램 라이브러리들의 프로그램 명령어들을 사용하여 프로세서를 구성하기 위해, 사용될 수 있다.
디바이스 자체는 블록체인의 또는 분산형 데이터베이스 시스템의 노드일 수 있다.
추가의 변형에서, 디바이스 또는 제어 시스템은 일반적으로, 또는 그들의 특징들을 갖는 열거된 발명들은 블록리스 분산형 데이터베이스 시스템에 의해(예컨대, 아이오타(IOTA)에 의해 사용되는 아키텍처에 의해) 구현될 수 있다. 그런 다음, 특히, 적용가능 데이터 블록은, 예컨대 블록리스 분산형 데이터베이스 시스템(예컨대, 블록리스 블록체인)을 실현하기 위해, 단일 (제어) 트랜잭션에 대응할 수 있다.
그러한 변형에서, 디바이스는 분산형 데이터베이스 시스템에 의해 제어 트랜잭션들을 수신하기 위한 통신 모듈을 포함하며,
- 제어 트랜잭션들은 저장된 제어 명령들을 포함하고,
- 제어 트랜잭션들은 실행 요건들을 포함하고,
- 실행 요건들은 디바이스에 대한 디바이스-특정 요건들 및/또는 전제된 제어 명령들을 포함하고,
- 적용가능 실행 요건들은 개개의 제어 트랜잭션들에 할당된다.
(데이터) 블록 기반으로 구현되는 추가의 변형에서, 디바이스는 분산형 데이터베이스 시스템의 데이터 블록들을 수신하기 위한 통신 모듈(310)을 포함하며,
- 디바이스에 대한 제어 명령들을 갖는 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 의해 수신되고,
- 제어 트랜잭션들은 실행 요건들을 포함하고,
- 실행 요건들은 디바이스에 대한 디바이스-특정 요건들 및/또는 전제된 제어 명령들을 포함하고,
- 적용가능 실행 요건들은 개개의 제어 트랜잭션들에 할당된다.
예로서, 설명된 변형들 각각은 또한, 이미 설명된 모듈들, 이를테면, 체크 모듈(320) 및/또는 실행 모듈(330) 및/또는 제2 메모리 모듈을 포함할 수 있다.
설명된 블록리스 변형들은 또한, 유사한 방식으로 방법들로서 실현될 수 있다.
디바이스(300)가 예컨대 제1 체크 모듈 및/또는 제1 실행 모듈을 갖는 경우, 이는 제어 시스템(도 1-도 2) 또는 분산형 데이터베이스 시스템(도 4)에 의한 더 컴퓨테이션-집약적인 체크 태스크들 중 모두 또는 일부를 디바이스(300) 또는 디바이스(300)와 동일한 유형의 다수의 디바이스들에 재배치하는 데 유리하다.
도 4는, 연관된 예시적인 실시예들과 함께 도 1 또는 도 2에서 설명된 바와 같은 분산형 데이터베이스 시스템으로서의, 본 발명의 제4 예시적인 실시예를 도시한다.
분산형 데이터베이스 시스템, 예컨대 블록체인(BC) 또는 피어-투-피어 데이터베이스는, 제1 결정 모듈(110), 다수의 노드들(BCN, BCN_D), 제1 할당 모듈(120) 및 제1 메모리 모듈(130)을 포함하며, 이들은 블록체인 인프라구조를 통해, 예컨대 네트워크가 노드들에 대해 블록체인의 블록들을 복제하는 데 사용됨으로써, 서로 통신가능하게 연결된다. 블록체인 인프라구조는, 예컨대 제1 통신 네트워크(NW1) 및 노드들에 의해 실현될 수 있다.
제1 결정 모듈(110)은, 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하도록 구성되며, 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장된다.
다수의 노드들 및/또는 디바이스들(이전의 예시적인 실시예들 참조)은 제1 통신 네트워크(NW1)를 통해 서로 연결된다.
제1 할당 모듈(120)은 개개의 실행 요건들을 제어 명령들에 할당하도록 구성된다.
제1 메모리 모듈(130)은, 적용가능 실행 요건들과 함께 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하도록 구성되며, 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장되고, 제어 트랜잭션들은 데이터 블록들에 의해 디바이스들에 전달된다. 이는, 예로서, 적용가능 노드가 트랜잭션들(예컨대, 제어 트랜잭션들 또는 확인 트랜잭션들)에 액세스할 수 있도록, 제1 통신 네트워크(NW1)가 노드들에 대해 블록체인의 블록들을 복제하거나 또는 개개의 노드에 대해 블록체인의 블록들 중 일부를 복제하는 데 사용됨으로써, 실행된다.
선택적으로, 분산형 데이터베이스 시스템은 제1 체크 모듈 및/또는 제1 실행 모듈 및/또는 제2 메모리 모듈을 포함할 수 있으며, 이들은 예컨대 분산형 데이터베이스 시스템의 인프라구조를 통해 서로 그리고 다른 모듈들에 통신가능하게 연결된다. 모듈들은, 예컨대 연관된 예시적인 실시예들과 함께 도 1 및 도 2에서 설명된 방식과 동일한 방식으로 설계될 수 있다.
예로서, 디바이스들은, 예컨대 도 3에서 설명되는 바와 같이, 제1 디바이스 체크 모듈 및/또는 제1 디바이스 실행 모듈 및/또는 제2 디바이스 메모리 모듈을 포함할 수 있다. 선택된 구현에 따라, 제1 체크 모듈 및/또는 제1 실행 모듈 및/또는 제2 메모리 모듈은, 그들의 기능성들/태스크들이 실현/수행될 때, 디바이스들의 대응하는 모듈들에 액세스할 수 있다.
이는, 제1 체크 모듈에 의한 더 컴퓨테이션-집약적인 체크 태스크들 및/또는 제1 실행 모듈에 의한 실행 태스크들 중 모두 또는 일부를 적용가능 디바이스들에 재배치하는 데 유리하다.
디바이스들이 제1 디바이스 체크 모듈 및/또는 제1 디바이스 실행 모듈 및/또는 제2 디바이스 메모리 모듈을 갖지 않는 경우, 이는, 디바이스들을 가능한 한 간단하게 만들고, 분산형 데이터베이스 시스템과 인터페이싱하는 데 유리하다.
(이전의 예시적인 실시예들의 디바이스들을 포함한) 디바이스들은 또한, 예컨대 블록체인 오라클들의 형태일 수 있다. 보안 모듈은, 예컨대 적용가능 트랜잭션에 대한 트랜잭션 체크섬을 계산하고 상기 트랜잭션 체크섬을 블록체인에 넣거나 저장하기 위해, 예컨대 암호화 키들을 안전하게 저장할 수 있다.
이 예시적인 실시예는 또한, 일 변형에서 (데이터) 블록리스 기반으로 구현/실현될 수 있다. 이 경우, 분산형 데이터베이스 시스템은 다음을 포함한다:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 결정 모듈 ―
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 다수의 노드들 ― 노드들은 제1 통신 네트워크를 통해 서로 연결됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제1 할당 모듈;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제1 메모리 모듈, 여기서,
- 제어 트랜잭션들은 분산형 데이터베이스 시스템에 의해 저장되고(즉, 특히, 제어 트랜잭션들이 분산형 데이터베이스 시스템을 통해 또는 분산형 데이터베이스 시스템에 의해 저장됨으로써);
- 제어 트랜잭션들은 분산형 데이터베이스 시스템에 의해 디바이스들에 전달된다.
도 5는 본 발명에 따른 방법에 대한 흐름도로서, 본 발명의 제5 예시적인 실시예를 도시한다.
방법은 바람직하게 컴퓨터-지원 방식으로 수행된다.
디바이스들의, 컴퓨터-지원 제어를 위한 방법의 예시적인 실시예는, 일 변형에서, 다음의 방법 단계들:
- 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하는 단계 ―
- 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장됨 ―;
- 개개의 실행 요건들을 제어 명령들에 할당하는 단계;
- 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하는 단계 ― 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨 ―;
- 제어 트랜잭션들을 데이터 블록들에 의해 디바이스들에 전달하는 단계;
- 적용가능 디바이스에 의한 제어 트랜잭션들 중 하나의 제어 트랜잭션의 제어 명령들의 실행에 대한 개개의 실행 요건들을 체크하는 단계 ―
- 적용가능 디바이스에 대한 디바이스-특정 요건들이 체크되고; 그리고/또는
- 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행됨 ―;
- 체크의 결과에 기반하여, 적용가능 디바이스에 의해 제어 명령들을 실행하는 단계;
- 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하는 단계를 포함한다.
구체적으로, 이 예시적인 실시예에서, 디바이스들의, 컴퓨터-지원 제어를 위한 방법이 수행된다.
방법은, 디바이스들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하기 위한 제1 방법 단계(510)를 포함하며, 적용가능 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장된다. 더욱이, 이 방법 단계는 또한, 예컨대 이전의 예시적인 실시예들로부터의 결정 모듈과 관련하여 개시된 추가의 특징들을 포함할 수 있다.
방법은, 개개의 실행 요건들을 제어 명령들에 할당하기 위한 제2 방법 단계(520)를 포함한다.
방법은, 적용가능 실행 요건들과 함께 개개의 제어 명령들을 제어 트랜잭션들에 저장하기 위한 제3 방법 단계(530)를 포함하며, 제어 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장된다.
방법은, 제어 트랜잭션들을 데이터 블록들에 의해 디바이스들에 전달하기 위한 제4 방법 단계(540)를 포함한다. 전달은, 예컨대 이전의 예시적인 실시예들에서 설명된 바와 같이, 분산형 데이터베이스 시스템에 의해 제1 통신 네트워크를 통해 실행된다.
방법은, 적용가능 디바이스에 의한 제어 트랜잭션의 제어 명령들 또는 제어 명령의 또는 제어 명령들 중 하나의 실행에 대한 개개의 실행 요건들을 체크하기 위한 제5 방법 단계(550)를 포함하며, 적용가능 디바이스에 대한 제어 명령들의 디바이스-특정 요건들이 체크되고 그리고/또는 제어 명령들 중 전제된 제어 명령들에 대한 확인 트랜잭션들이 분산형 데이터베이스 시스템의 데이터 블록들에서 이용가능한지 여부를 규명하기 위해 체크가 수행된다.
체크는, 적용가능 디바이스가 제어 명령들을 실행할 수 있는지(Y) 실행할 수 없는지(N)를 표시하는 결과를 산출한다.
따라서, 방법은, 체크의 결과에 기반하여 적용가능 디바이스에 의해 제어 명령들을 실행하기 위한 제6 방법 단계(560)를 포함하며, 제어 트랜잭션의 제어 명령들은, (체크) 결과에 의해 이것이 허용되거나 또는 확인되는 경우(Y)에 실행된다.
방법은, 제어 명령들의 실행의 결과를 분산형 데이터베이스 시스템의 데이터 블록들의 확인 트랜잭션들에 저장하기 위한 제7 방법 단계(570)를 포함한다.
제어 명령들이 적용가능 디바이스에 의해 실행될 수 없음(N)을, 체크가 나타내거나 또는 결과가 표시하는 경우, 제8 방법 단계(580)가 수행된다. 예로서, 이 방법 단계는, 예컨대 명령 시퀀스의 제어 명령들에 대한 종결 제어 명령이 트랜잭션에 저장됨으로써, 명령 시퀀스의 제어 명령들의 실행을 종결시킬 수 있으며, 그 트랜잭션은 결국 블록체인의 블록들에 저장된다. 대안적으로 또는 추가적으로, 명령 시퀀스로부터 발생된 이러한 또는 추가의 제어 명령들 중 일부 또는 전부는 종결되거나 취소될 수 있다. 대안적으로 또는 추가적으로, 적용가능 제어 명령들의 실행/수행이 방지된다.
대안적으로 또는 추가적으로, 체크는 제8 방법 단계에서 재시작될 수 있으며, 방법은 방법 단계 5로 복귀한다. 예로서, 이 방식으로, 예컨대 실행 요건들이 충족될 때까지, 대기를 구현하는 것이 가능하다. 이는, 예컨대 구성가능한 시간 지연이 고려되는 것을 수반할 수 있으며, 그 구성가능한 시간 지연은 특히 제5 방법 단계로 복귀하기 전에 얼마나 오래 걸리는지를 표시한다.
대안적으로 또는 추가적으로, 결과는 또한, 제8 방법 단계에서 블록체인의 (즉, 블록체인의 블록의) 확인 트랜잭션에 저장될 수 있다.
개별적인 방법 단계들은, 이전의 예시적인 실시예들에서 설명된 바와 같이, 제어 시스템의 상이한 컴포넌트들에 의해 수행될 수 있다. 이들은, 예컨대 분산형 데이터베이스 시스템 자체 및/또는 분산형 데이터베이스 시스템의 디바이스들 및/또는 노드들이다.
(이 예시적인 실시예 또는 이전의 예시적인 실시예들로부터의) 본 발명은, 명령 시퀀스를 제어 명령들 또는 제어 트랜잭션들로 분해하는 데 용이하게 사용될 수 있으며, 그런 다음, 제어 명령들 또는 제어 트랜잭션들은 적절하게 적합한 디바이스들에 의해 수행된다. 이는, (예컨대 제어 트랜잭션들에서 수행될 제어 명령들에 대한 조작으로부터의 보호를 달성하기 위해) 예컨대 블록체인에 의해 달성되는 높은 레벨의 데이터 무결성에 의해 보장된다. 제어 명령들 또는 제어 트랜잭션들의 수행의 결과가 확인 트랜잭션들에 저장되기 때문에, 디바이스들은 또한, 본 발명에 의해 모니터링될 수 있다. 확인 트랜잭션들은 또한, 제어 트랜잭션들/제어 명령들의 수행의 세부사항들을 포함할 수 있다. 이들은, 예컨대 수행(예컨대, 제품의 생산) 동안 발생한 생산 시간 또는 생산 문제들이다. 이와 관련하여, 확인 트랜잭션은 또한, 제어 명령들의 수행이 성공적이지 않았음을 표시하는 정보를 포함할 수 있다. 성공적으로 실행되지 않은 이러한 제어 명령들이 다른/추가의 제어 명령들에 대한 전제된 제어 명령들인 경우, 특히 이러한 다른/추가의 제어 명령들의 실행 요건들의 체크의 결과는, 이러한 다른/추가의 제어 명령들이 적용가능 디바이스에 의해 실행될 수 없음을 나타낼 것이다.
그러나, 다른/추가의 제어 명령들에 대한 실행 요건들이 충족되는 경우, 이들은 적용가능 디바이스에 의해 실행된다.
구현 변형에 따라, 방법 단계 4 내지 방법 단계 7(540-570)은 선택적인 방법 단계들일 수 있다.
도 6은 본 발명의 추가의 예시적인 실시예를 도시한다.
구체적으로, 도 6은 분산형 데이터베이스 시스템(또는 짧게는 단지 분산형 데이터베이스), 예컨대 블록체인(BC)을 도시하며, 이는 바람직하게는 하나의 특정 애플리케이션에 대해서만 사용된다. 예로서, 제1 분산형 데이터베이스 시스템은, 예컨대 특히 여기에 열거된 명령 시퀀스들을 수행하기 위해 사용되는 주문형 데이터베이스 시스템을 생성하기 위해, 이전의 예시적인 실시예들 또는 이들의 조합으로부터의 분산형 데이터베이스 시스템일 수 있다.
구체적으로, 도 6은, 블록체인(BC)의 블록들(B), 예컨대 제1 블록(B1), 제2 블록(B2) 및 제3 블록(B3)을 도시한다.
블록들(B) 각각은 다수의 트랜잭션들(T)을 포함한다. 제1 블록(B1)은, 예컨대 제1 트랜잭션(T1a), 제2 트랜잭션(T1b), 제3 트랜잭션(T1c) 및 제4 트랜잭션(T1d)을 포함한다.
제2 블록(B2)은, 예컨대 제5 트랜잭션(T2a), 제6 트랜잭션(T2b), 제7 트랜잭션(T2c) 및 제8 트랜잭션(T2d)을 포함한다.
제3 블록(B3)은, 예컨대 제9 트랜잭션(T3a), 제10 트랜잭션(T3b), 제11 트랜잭션(T3c) 및 제12 트랜잭션(T3d)을 포함한다.
블록들(B) 각각은 추가적으로 또한, 직전 선행 블록에 기반하여 형성된, 연쇄 체크섬들(CRC) 중 하나를 포함한다. 따라서, 제1 블록(B1)은 제1 블록(B1)의 선행 블록으로부터의 제1 연쇄 체크섬(CRC1)을 포함하고, 제2 블록(B2)은 제1 블록(B1)으로부터의 제2 연쇄 체크섬(CRC2)을 포함하고, 제3 블록(B3)은 제2 블록(B2)으로부터의 제3 연쇄 체크섬(CRC3)을 포함한다.
개개의 연쇄 체크섬(CRC1, CRC2, CRC3)은 바람직하게, 적용가능 선행 블록의 블록 헤더에 대해 형성된다. 연쇄 체크섬들(CRC)은 바람직하게, 암호화 해시 함수, 이를테면, 예컨대 SHA-256, KECCAK-256 또는 SHA-3을 사용함으로써 형성될 수 있다. 예로서, 연쇄 체크섬은 추가적으로 데이터 블록 체크섬에 대해 계산될 수 있거나, 또는 헤더는 데이터 블록 체크섬을 포함한다.
추가적으로, 블록들 각각은 데이터 블록 체크섬을 포함할 수 있다. 이는, 예컨대 해시 트리에 의해 실현될 수 있다.
해시 트리를 형성하기 위해, 데이터(블록)의 각각의 트랜잭션에 대해 트랜잭션 체크섬(예컨대, 마찬가지로 해시 값)이 계산된다. 대안적으로 또는 추가적으로, 이를 위해, 바람직하게는 트랜잭션이 생성되었을 때의 트랜잭션의 최초 생성자에 의해 생성된 트랜잭션 체크섬이 계속해서 사용될 수 있다.
일반적으로, 예컨대 머클 트리 또는 패트리샤 트리가 해시 트리를 위해 사용되며, 머클 트리 또는 패트리샤 트리의 루트 해시 값/루트 체크섬이 바람직하게는 적용가능 데이터 블록 체크섬으로서 개개의 블록들에 저장된다.
일 변형에서, 데이터 블록 체크섬은 연쇄 체크섬으로서 사용된다.
게다가, 블록은 타임스탬프, 디지털 서명, 작업 증명 증거를 가질 수 있다.
블록체인 자체는, 다수의 블록체인 노드들을 갖는 블록체인 인프라구조에 의해 실현된다.
더욱이, 블록체인(BC)에 의해 실현되는 분산형 데이터베이스는 또한, 다수의 노드들(BCN), 제3 메모리 모듈(610), 제2 할당 모듈(620), 제3 할당 모듈(630) 및 제2 체크 모듈(640)을 포함하며, 이들은 제1 분산형 데이터베이스 시스템의 인프라구조를 통해 서로 통신가능하게 연결된다.
분산형 데이터베이스 시스템은 트랜잭션들 및/또는 데이터 블록들을 제공 및/또는 저장하기에 적합하다.
다수의 노드들(BCN)은 (통신 네트워크 또는 추가의 통신 네트워크로 또한 지칭될 수 있는) 제2 통신 네트워크(NW2)를 통해 서로 연결된다. 이들은 제1 분산형 데이터베이스 시스템의 인프라구조의 적어도 일부 또는 전부를 형성한다. 제2 통신 네트워크는 또한, 예컨대 이전의 예시적인 실시예들로부터의 제1 통신 네트워크일 수 있다.
제3 메모리 모듈(610)은, 분산형 데이터베이스 시스템에 트랜잭션들을 저장하도록 구성된다(예컨대, 이러한 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨). 다시 말해, 적용가능 트랜잭션들은 분산형 데이터베이스 시스템을 통해 또는 분산형 데이터베이스 시스템에 의해(예컨대, 데이터 블록들을 통해) 저장된다. 다시 말해, 이러한 트랜잭션들은 분산형 데이터베이스 시스템에 의해 저장된다.
제2 할당 모듈(620)은 특정 태스크의 태스크 데이터 레코드를 분산형 데이터베이스 시스템에 할당하도록 구성되며, 특히 트랜잭션들은 특정 태스크를 수행하기 위한 데이터를 포함한다. 구체적으로, 특히 태스크 데이터 레코드는 특정 태스크를 포함한다.
제2 할당 모듈(620)은 예로서 또한, 태스크 데이터 레코드를 저장하도록 구성된 (제4) 메모리 모듈의 형태일 수 있다. 추가적으로 또는 대안적으로, 제4 메모리 모듈은 태스크 데이터 레코드를 분산형 데이터베이스 시스템에 할당하도록 구성된다. 구체적으로, 특히 태스크 데이터 레코드는 특정 태스크를 포함한다.
다시 말해, 제2 할당 모듈은, 예컨대 특정 태스크의(특정 태스크를 갖는) 태스크 데이터 레코드를 저장하기 위한 제4 메모리 모듈로서 또는 제4 메모리 모듈의 형태로 구성될 수 있으며,
- 특히, 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당되고, 그리고
- 특히, 트랜잭션들은 특정 태스크를 수행하기 위한 데이터(예컨대, 모니터링될 디바이스에 의해 실행되어야 하는 제어 명령들)를 포함한다.
예로서, 특정 태스크는 디바이스-특정적(예컨대, 특정 디바이스 또는 디바이스들의 클래스에 대한 것)이거나 또는 시스템-특정적(예컨대, 특정 기술 시스템에 대한 것)일 수 있다. 이를 위해, 특정 태스크는, 예컨대 적용가능 디바이스들의 UID 또는 기술 시스템의 UID(예컨대, 시스템의 UID 및/또는 기술 시스템의 디바이스들의 UID들)를 포함할 수 있으며, 이들은 마찬가지로 예컨대 태스크 데이터 레코드에 저장되거나, 또는 태스크 데이터 레코드 내의 특정 태스크들의 저장에 의해 또한 저장되거나 또는 특정 태스크들의 저장에 의해 함께 저장된다. 특정 태스크는, 예컨대 인터페이스에 의해 리트리빙 또는 제공될 수 있거나 또는 리트리빙 또는 제공되었을 수 있다. 예로서, 특정 태스크들 또는 태스크 데이터 레코드는 제1 분산형 데이터베이스 시스템에 할당되었을 수 있다(또는 그 할당이 이 방식으로 실행됨).
첫 번째로, 예컨대 적용가능 기술 시스템 또는 디바이스는 (예컨대, 디바이스-특정 데이터에 의해 실현되는) 디바이스 또는 시스템 특성들을 전달한다. 이 전달은, 예컨대 제1 분산형 데이터베이스 시스템 또는 생성 디바이스(예컨대, 적용가능 제1 분산형 데이터베이스 시스템을 인스턴스화(instantiate)하는 프레임워크(framework) 및/또는 클라우드 환경)에 대해 직접적으로 실행될 수 있으며, 이를 위해, 특히 제1 분산형 데이터베이스 시스템 및/또는 생성 디바이스는 인터페이스를 포함한다.
디바이스 또는 시스템 특성들에 기반하여, 제1 분산형 데이터베이스 시스템 및/또는 생성 디바이스는 특정 태스크를 선택한다. 그 선택은, 예컨대 추가의 인터페이스가 디바이스 또는 기술 시스템에 대한 특정 태스크를 리트리빙하는 데 사용됨으로써, 이루어질 수 있다. 이 선택 또는 리트리빙은 바람직하게, 컴퓨터-지원 또는 자동화 방식으로 이루어진다/실행된다. 예로서, 적용가능 특정 태스크는 특정 유형들 또는 클래스들의 디바이스들 또는 기술 시스템들에 대해 사전구성될 수 있고, 예컨대 태스크 데이터베이스에 의해 인터페이스를 통해 제공될 수 있다. 따라서, 그 선택은, 예컨대 추가의 인터페이스가 태스크 데이터베이스로부터 기술 시스템에 대한 특정 태스크를 리트리빙하는 데 사용됨으로써 이루어지며, 특정 태스크는 바람직하게, 적용가능 기술 시스템에 대해 사전구성된 방식으로 태스크 데이터베이스에 저장된다. 특히, 이는, 어떤 사전구성된 특정 태스크가 선택되어야 하는지를 발견하기 위해, 디바이스 또는 시스템 특성들이 평가되는 것을 수반한다. 이것이 예컨대 UID에 의해 수행되는 경우, 이 UID에 대해 적용가능 특정 태스크가 있는지 여부에 대해 태스크 데이터베이스에 질의된다(queried). 만약 이것이 사실이라면, 특정 태스크는 태스크 데이터베이스로부터 리트리빙되고 태스크 데이터 레코드에 저장된다. 예컨대, 적용가능 기술 시스템에 대한 어떤 UID도 없는 경우, "디폴트(default)" 태스크가 적절하게 선택될 수 있으며, 상기 디폴트 태스크는, 예컨대 디바이스 클래스(예컨대, 연삭기들, 풍력발전 터빈들, 고정자, 회전자, 필드 디바이스, 변압기, 생산 로봇)에 기반하여 선택된다.
이 실현이 생성 디바이스에 의해 실행되는지 제1 분산형 데이터베이스 시스템에 의해 실행되는지는 선택된 구현 변형에 따라 좌우된다. 생성 디바이스를 사용하여 실현되는 일 변형에서, 생성 디바이스는 예로서, 기술 디바이스에 관한 정보(디바이스 특성들)에 기반하여 적용가능 분산형 데이터베이스 또는 데이터베이스 시스템을 인스턴스화하고 그에 따라 태스크 데이터 레코드를 제1 분산형 데이터베이스 시스템에 할당하는 프레임워크 및/또는 클라우드 환경일 수 있다.
유효성 또는 유효성 데이터 레코드가 제1 분산형 데이터베이스 시스템 자체에 의해 각각 할당되거나 저장되는 변형에서, 제1 분산형 데이터베이스 시스템은, 예컨대 이미 인스턴스화되었지만(instantiated) 아직 구성되지 않았을 수 있다. 그런 다음, 할당/저장은, 예컨대 제1 분산형 데이터베이스 시스템 자체에 의해 자동화 방식으로 실행된다.
할당은 바람직하게, 단지 한 번만 실행될 수 있어서, 다른 기술 시스템에 대한 어떤 할당도 나중에 실행될 수 없다. 이를 위해, 예컨대 태스크 데이터 레코드가 할당된 후에, 할당을 위한 제1 분산형 데이터베이스 시스템의 적용가능 기능은 스위칭 오프될(switched off) 수 있다.
제3 할당 모듈(630)은 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드를 할당하도록 구성되며, 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시한다.
구체적으로, 특히 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 적용가능 규정된 기능들(예컨대, 이는 또한 단일 기능 또는 기능들의 선택일 수 있음)에 대한 유효성을 포함한다.
제3 할당 모듈(630)은 예로서 또한, 유효성 데이터 레코드를 저장하도록 구성된 (제5) 메모리 모듈의 형태일 수 있다. 추가적으로 또는 대안적으로, 제5 메모리 모듈은 유효성 데이터 레코드를 분산형 데이터베이스 시스템에 할당하도록 구성된다. 구체적으로, 특히 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 적용가능 규정된 기능들(예컨대, 이는 또한 단일 기능 또는 기능들의 선택일 수 있음)에 대한 유효성을 포함한다.
다시 말해, 제3 할당 모듈(630)은, 예컨대 유효성 데이터 레코드를 저장(또는 할당)하기 위한 제5 메모리 모듈로서 또는 제5 메모리 모듈의 형태로 구성될 수 있으며,
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당되고, 그리고
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시(또는 포함)한다.
예로서, 적용가능 할당 모듈들 각각이 적용가능 메모리 모듈(예컨대, 제4 메모리 모듈 또는 제5 메모리 모듈)을 포함하는 것이 또한 가능하다. 개개의 메모리 모듈들은, 예컨대 분산형 데이터베이스 시스템에 의해 또는 분산형 데이터베이스 시스템을 통해 저장되는 (데이터) 블록 또는 트랜잭션들에 의해 실현될 수 있다.
예로서, 유효성은 디바이스-특정적(예컨대, 특정 디바이스 또는 디바이스들의 클래스에 대한 것)이거나 또는 시스템-특정적(예컨대, 특정 기술 시스템에 대한 것)일 수 있다. 이를 위해, 유효성은, 예컨대 적용가능 디바이스들의 UID 또는 기술 시스템의 UID(예컨대, 시스템의 UID 및/또는 기술 시스템의 디바이스들의 UID들)를 포함할 수 있으며, 이들은 마찬가지로 예컨대 유효성 데이터 레코드에 저장되거나 또는 유효성 데이터 레코드 내의 유효성의 저장에 의해 또한 저장되거나 또는 유효성의 저장에 의해 함께 저장된다. 특정 유효성은, 예컨대 인터페이스에 의해 리트리빙 또는 제공될 수 있거나 또는 리트리빙 또는 제공되었을 수 있다. 예로서, 유효성 또는 유효성 데이터 레코드는 제1 분산형 데이터베이스 시스템에 할당되었을 수 있다(또는 그 할당이 이 방식으로 실행됨).
첫 번째로, 예컨대 적용가능 기술 시스템 또는 디바이스는 (예컨대, 디바이스-특정 데이터에 의해 실현되는) 디바이스 또는 시스템 특성들을 전달하거나, 또는 태스크의 선택 동안 이미 프로세싱된 이러한 데이터가 또한 이 목적을 위해 사용된다. 이 전달은, 예컨대 제1 분산형 데이터베이스 시스템 또는 생성 디바이스(예컨대, 적용가능 제1 분산형 데이터베이스 시스템을 인스턴스화하는 프레임워크 및/또는 클라우드 환경)에 대해 직접적으로 실행될 수 있으며, 이를 위해, 특히 제1 분산형 데이터베이스 시스템 및/또는 생성 디바이스는 인터페이스를 포함한다. 디바이스 또는 시스템 특성들에 기반하여, 제1 분산형 데이터베이스 시스템 및/또는 생성 디바이스는 유효성을 선택한다. 그 선택은, 예컨대 추가의 인터페이스가 디바이스 또는 기술 시스템에 대한 유효성을 리트리빙하는 데 사용됨으로써, 이루어질 수 있다. 이 선택 또는 리트리빙은 바람직하게, 컴퓨터-지원 또는 자동화 방식으로 이루어진다/실행된다. 예로서, 적용가능 유효성은 특정 유형들 또는 클래스들의 디바이스들 또는 기술 시스템들에 대해 사전구성될 수 있고, 예컨대 유효성 데이터베이스에 의해 인터페이스를 통해 제공될 수 있다. 따라서, 그 선택은, 예컨대 추가의 인터페이스가 유효성 데이터베이스로부터 기술 시스템에 대한 유효성을 리트리빙하는 데 사용됨으로써 이루어지며, 유효성은 바람직하게, 적용가능 기술 시스템에 대해 사전구성된 방식으로 유효성 데이터베이스에 저장된다. 특히, 이는, 어떤 사전구성된 유효성이 선택되어야 하는지를 발견하기 위해, 디바이스 또는 시스템 특성들이 평가되는 것을 수반한다. 이것이 예컨대 UID에 의해 수행되는 경우, 이 UID에 대해 적용가능 유효성이 있는지 여부에 대해 유효성 데이터베이스에 질의된다. 만약 이것이 사실이라면, 유효성은 유효성 데이터베이스로부터 리트리빙되고 유효성 데이터 레코드에 저장된다. 예컨대, 적용가능 기술 시스템에 대한 어떤 UID도 없는 경우, "디폴트" 유효성이 적절하게 선택될 수 있으며, 상기 디폴트 유효성은, 예컨대 디바이스 클래스(예컨대, 연삭기들, 풍력발전 터빈들, 고정자, 회전자, 필드 디바이스, 변압기, 생산 로봇)에 기반하여 선택된다.
이 실현이 생성 디바이스에 의해 실행되는지 제1 분산형 데이터베이스 시스템에 의해 실행되는지는 선택된 구현 변형에 따라 좌우된다. 생성 디바이스를 사용하여 실현되는 일 변형에서, 생성 디바이스는 예로서, 기술 디바이스에 관한 정보(디바이스 특성들)에 기반하여 적용가능 분산형 데이터베이스 또는 데이터베이스 시스템을 인스턴스화하고 그에 따라 유효성 데이터 레코드를 제1 분산형 데이터베이스 시스템에 할당하는 프레임워크 및/또는 클라우드 환경일 수 있다.
유효성 또는 유효성 데이터 레코드가 제1 분산형 데이터베이스 시스템 자체에 의해 각각 할당되거나 저장되는 변형에서, 제1 분산형 데이터베이스 시스템은, 예컨대 이미 인스턴스화되었지만 아직 구성되지 않았을 수 있다. 그런 다음, 할당/저장은, 예컨대 제1 분산형 데이터베이스 시스템 자체에 의해 자동화 방식으로 실행된다.
할당은 바람직하게, 단지 한 번만 실행될 수 있어서, 다른 기술 시스템에 대한 어떤 할당도 나중에 실행될 수 없다(즉, 제1 분산형 데이터베이스 시스템에는 태스크 데이터 레코드 및/또는 유효성 데이터 레코드가 다시 할당될 수 없음). 이를 위해, 예컨대 태스크 데이터 레코드가 할당된 후에, 할당을 위한 제1 분산형 데이터베이스 시스템의 적용가능 기능은 스위칭 오프될 수 있다.
특히, 예컨대 태스크 데이터베이스 및 유효성 데이터베이스는, 공통 인터페이스를 사용하여 통신하거나 데이터를 상호교환하는 (통합형) 데이터베이스의 형태일 수 있다.
추가의 변형에서, 예로서, 예컨대 유효성이 만료된 기능들이 사용되는 경우, 제어 신호가 제공되는 것이 가능하다. 예로서, 이는, 예컨대 규정된 기능들이 2018년 1월 1일에 만료되었지만 누군가가 2018년 2월 1일에 이러한 현재 유효하지 않은 기능들 중 하나를 사용하려고 시도하는 경우일 수 있다(예컨대, 유효성이 만료된 후에 블록체인에 새로운 블록을 추가하려는 시도가 있지만 그 유효성에 따라 이 시도는 허용되지 않으며; 대안적으로, 유효성이 만료된 후에 기술 시스템 및/또는 디바이스를 시작하려는 시도가 있지만 유효성이 만료된 후에는 그 시작이 허용되지 않음). 그런 다음, 제어 신호는, 예컨대 경보를 트리거하거나, 관리자에게 알리거나, 또는 디바이스 및/또는 제1 분산형 데이터베이스 시스템을 (예컨대, 디바이스 및/또는 제1 분산형 데이터베이스 시스템을 스위칭 오프(switching off)함으로써) 안전 상태에 둘 수 있다.
본 발명의 추가의 구현 변형에서, 트랜잭션들(예컨대, 데이터 (블록들))을 저장 및/또는 제공하기 위한 제1 분산형 데이터베이스 시스템은 다음을 포함한다:
- 제2 통신 네트워크(NW2)를 통해 서로 연결되는 다수의 노드들(BCN);
- 분산형 데이터베이스 시스템의 데이터 블록들에 트랜잭션들을 저장하기 위한 제3 메모리 모듈;
- 태스크 데이터 레코드를 저장하기 위한 제4 메모리 모듈 ―
- 태스크 데이터 레코드는 특정 태스크를 포함하고,
- 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당됨 ―;
- 유효성 데이터 레코드를 저장하기 위한 제5 메모리 모듈, 여기서,
- 유효성 데이터 레코드는 유효성을 포함하고,
- 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당된다.
유효성 데이터 레코드는, 예컨대 기능들 중 하나 또는 모든 기능들이 수행될 수 있을 때까지의 기간 및/또는 시간 및/또는 이벤트(event)를 표시할 수 있다.
대안적으로 또는 추가적으로, (유효성 데이터 레코드에 저장된) 유효성, 시간 또는 유효성 기간의 만료가 특정되며, 이는 디바이스 또는 필드 디바이스의 교체에 의해 결정된다. 예로서, 제1 분산형 데이터베이스 시스템은 특정 디바이스를 모니터링하기 위해 생성되었다. 이 경우, 태스크는 적용가능 디바이스를 모니터링하는 것이며, 유효성은, 디바이스가 스위칭 온되는 제1 시간에서 시작하여 디바이스가 다른 디바이스로 교체되거나 또는 디바이스가 제거될 때까지의 사용 기간이다.
대안적으로 또는 추가적으로, 이벤트는 특정 태스크의 달성이다.
대안적으로 또는 추가적으로, 기간은 디바이스 또는 필드 디바이스의 수명이다.
대안적으로 또는 추가적으로, 기간은 디바이스 또는 필드 디바이스의 명령 시퀀스 및/또는 유지보수 액션 및/또는 제어 액션에 대한 수행 시간이다. (이전의 예시적인 실시예들의 디바이스들을 포함한) 적용가능 디바이스들 또는 필드 디바이스들은, 예컨대 그들이 블록체인 오라클들의 형태가 됨으로써, 적용가능 트랜잭션들을 분산형 데이터베이스 시스템 또는 블록체인에 두기 위해, 예컨대 보안 모듈들을 가질 수 있다. (이전의 예시적인 실시예들의 디바이스들을 포함한) 적용가능 디바이스들은 또한, 예컨대 블록체인 오라클들의 형태일 수 있다. 보안 모듈은, 예컨대 적용가능 트랜잭션에 대한 트랜잭션 체크섬을 계산하고 상기 트랜잭션 체크섬을 블록체인에 넣거나 저장하기 위해, 예컨대 암호화 키들을 안전하게 저장할 수 있다.
태스크 데이터 레코드 및/또는 유효성 데이터 레코드는 상이한 방식들로 저장될 수 있다. 예로서, 개개의 데이터 레코드는 분산형 데이터베이스 시스템의 트랜잭션에 저장될 수 있다. 이 트랜잭션은 예컨대, 분산형 데이터베이스 시스템의 데이터 블록에 저장될 수 있으며, 그 데이터 블록은 특히 제1 데이터 블록(또한, 예컨대 비트코인의 경우, 제네시스 블록(Genesis block)으로 지칭됨)일 수 있다.
제2 체크 모듈(640)은 규정된 기능들에 대한 유효성을 체크하도록 구성된다. 예로서, 유효성은, 특정 시간으로부터 또는 특정 조건(예컨대, 디바이스가 새로운 디바이스로 교체된 것, 보증 기간(warranty period)이 만료된 것)의 충족으로부터 진행하여 더 이상, 규정된 기능들의 (새로운) 인스턴스(instance)들이 수행되는 것이 불가능하거나 또는 상기 기능들이 다시 수행되는 것이 불가능할 때까지를 표시한다. 규정된 기능들은 예로서, 블록들이 블록체인에 추가될 수 있는 것 및/또는 트랜잭션들이 수행되는 것 및/또는 (블록체인의 블록들 내의) 트랜잭션들 내의 스마트 계약들이 실행되는 것일 수 있다. 유효성이 만료될 때까지, 특정 태스크는, 예컨대 디바이스를 모니터링(monitor)하고, 디바이스에 전달된 트랜잭션들 및 명령들을 로깅(log)하고 그리고/또는 적용가능 디바이스의 액션들 및/또는 출력들을 모니터링하는 것이다. 이를 위해서는, 그들을 위해 요구되는 정보가 디바이스 자체에 의해 또는 모니터링 디바이스(예컨대, 네트워크 트래픽(network traffic)을 모니터링하는 방화벽)에 의해 블록체인에 기입된다.
블록체인에 대한 유효성이 만료되는 경우, 제2 체크 모듈(640)은, 예컨대 유효성이 만료된 규정된 기능들이 수행되는 것을 방지한다. 제2 체크 모듈(640)은, 예컨대 보안 칩(security chip) 또는 보안 프로세서로서 실현될 수 있다.
본 발명은 특히, 블록체인에 한 번 저장된 정보는, 제한된 기간 동안(예컨대, 디바이스의 수명 및/또는 디바이스의 보증 기간 동안)만 이 정보가 제공될 필요가 있더라도 블록체인으로부터 더 이상 제거될 수 없다는, 종래의 블록체인들의 문제점을 해결한다.
이 문제점이 핀테크 분야(fintech sector)에서 반드시 불리한 것은 아닐 수 있지만, 사물 인터넷에서 그리고 블록체인들에 기반하는 디바이스 제어의 경우에서, 이러한 종류의 하나의 특정 태스크(예컨대, 제품의 제조, 특정 기간 동안의 발전소의 제어)에 대해서만 블록체인을 사용하고 그리고/또는 특정 기간 동안만(예컨대, 보증이 만료될 때까지 또는 법적 최소 보유 기간의 종료까지) 이러한 데이터를 유지하는 것이 바람직하다.
본 발명의 개념은 특히, 규정된 유효성 특성들 ― 대안적으로 단지 유효성으로 지칭됨 ― 을 (예컨대, 유효성 데이터 레코드에 의해) 특정 태스크에 대한 특정 블록체인에 할당하는 것이다. 바람직하게는 유효성 데이터 레코드에 저장되는 이 유효성은, 예컨대 블록체인에 대한 특정 수명 주기 또는 유효성 기간을 특정한다. 유효성의 시작은 블록체인을 생성하기 위한 제1 트리거(예컨대, 발전소를 제어하기 위한 명령 시퀀스의 시작 명령)에 의해 시작될 수 있고, 유효성은 제2 트리거에 의해, 예컨대 명령 시퀀스의 마지막 명령이 수행되었을 때 종료된다. 대안적으로, 제1 트리거는, 특정 디바이스를 위해 특정하게 생성된 블록체인(또는 제1 분산형 데이터베이스 시스템), 또는 블록체인이 할당된 특정 디바이스의 첫 번째 시작일 수 있다. 그런 다음, 제2 트리거는 따라서, 특정 디바이스가 다른 디바이스로 교체되는 경우에 실현될 수 있다. 특정 디바이스 및 교체 디바이스는 특히, 복잡한 기술 시스템의 디바이스들이다.
이 경우, 명령 시퀀스는 (이전의 예시적인 실시예들에서 설명된 바와 같은) 전력 공급 시스템의 다수의 디바이스들에 관한 것일 수 있고, 모든 디바이스들이 그들의 명령들을 수행하면, 블록체인의 수명 주기는 종료된다.
블록체인에 대한 유효성이 소멸되거나(lapsed) 또는 유효성이 더 이상 존재하지 않는 경우, 블록체인은 다른 데이터베이스(예컨대, 다른 블록체인 또는 계층적 데이터베이스 시스템)에 기입될 수 있다. 전체 특정 블록체인이 다른 데이터베이스에 기입될 필요는 전혀 없으며, 오히려 다른 데이터베이스의 블록체인의 메모리 위치 및/또는 (마지막) 블록의 적용가능 해시 값 및/또는 (특정) 블록체인의 마지막 블록에 대한 참조를 저장하는 것으로 충분하다. 특히, 제1 데이터베이스 시스템은 다른/제2 분산형 데이터베이스 시스템과 상이한 구현을 가질 수 있다. 예로서, 제1 데이터베이스 시스템은 블록체인으로서 실현되고, 제2 데이터베이스 시스템은 (예컨대, SQL에서) 계층적 데이터베이스로서 실현된다.
이 경우, 다양한 확장들이 고려가능하다:
예로서, 특정 블록체인은, 블록체인의 유효성이 만료되는 경우 (예컨대, 스마트 계약을 통해) 봉인될 수 있으며, 이는 어떤 추가의 새로운 링크들도 추가될 수 없음을 의미한다. 이는 또한, 예컨대 제2 체크 모듈(640)에 의해 실행될 수 있으며, 제2 체크 모듈(640)은 예컨대 블록체인의 스마트 계약으로서 실현되고, 트랜잭션에 저장되며, 트랜잭션은 결국 블록체인의 블록에 저장된다.
유효성 데이터 레코드 또는 유효성은, 예컨대 블록체인에 대한 만료 날짜를 포함할 수 있다. 특히, 이 날짜가 경과하면, 블록체인은 메모리 위치로부터 자동으로 소거된다. 이는 또한, 예컨대 제2 체크 모듈(640)에 의해 실행될 수 있으며, 제2 체크 모듈(640)은 예컨대 블록체인의 스마트 계약으로서 실현되고, 트랜잭션에 저장되며, 트랜잭션은 결국 블록체인의 블록에 저장된다.
예로서, 제1 트리거 및/또는 제2 트리거가 스마트 계약으로서 실현되는 것이 또한 가능하며, 상기 트리거들은, 예컨대 태스크-특정 블록체인을 생성하거나, 또는 예컨대 언제 태스크가 완료되고 그리고/또는 유효성이 만료되는지를 체크한다.
본 발명은, 예컨대 유효성이 만료된 후에, 제1 분산형 데이터베이스 시스템이 "판독-전용" 분산형 데이터베이스로서 사용되는 것을 가능하게 한다. 이는, 필요한 경우, 판독 액세스가 여전히 기능으로서 허용되지만 기입 액세스는 방지되는 것을 수반한다. 이는, 예컨대 유효성 또는 유효성 데이터 레코드에 의해 특정될 수 있다.
제1 분산형 데이터베이스 시스템은 또한 여전히, 선택적인 등록 모듈을 포함할 수 있다.
등록 모듈은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 도 1로부터의 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 등록 모듈은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이다. 대안적으로, 등록 모듈은 특정 신뢰받는 노드로서 실현될 수 있으며, 그것의 네트워크 어드레스는 예컨대 공개적으로 알려진다. 예컨대, 권한부여된 노드들 및/또는 디바이스들만이 제어 시스템 또는 분산형 데이터베이스 시스템과 인터페이싱되는 폐쇄형 분산형 데이터베이스 시스템이 수반되는 경우, 특히 등록 모듈의 네트워크 어드레스만이 공개적으로 알려진다.
등록 모듈은 새로운 노드들 및/또는 디바이스들을 제1 분산형 데이터베이스 시스템에 추가하도록 구성된다. 새로운 디바이스 및/또는 노드가 제1 분산형 데이터베이스 시스템에 참여하기를 원하는 즉시, 새로운 디바이스 또는 새로운 노드는 등록 모듈에 질의를 전송한다. 이는, 예컨대 노드 및/또는 디바이스 정보가 등록 모듈에 직접적으로 전달됨으로써, 직접적으로 수행될 수 있다. 이것이 간접적으로 수행되는 경우, 질의는, 질의가 등록 모듈에 도달할 때까지 제1 분산형 데이터베이스 시스템의 모듈들과 노드들 사이에서 포워딩된다.
노드 및/또는 디바이스 정보는 다음을 포함할 수 있다:
- 디바이스 어드레스/노드 어드레스
- 디바이스/노드의 오퍼레이터
- 디바이스/노드의 기능들의 범위
- (예컨대, 디바이스/노드에 의해 생성된 체크섬들/디지털 서명들을 체크하기 위한) 암호화 키들
- 실행 요건들을 체크하기 위해 필요한 추가의 특성들.
그런 다음, 노드 및/또는 디바이스 정보는, 예컨대 제어 명령들 또는 제어 트랜잭션들의 체크 및/또는 실행이 적용가능 모듈들에 의해 수행될 수 있도록(도 1 참조), 예컨대 제1 분산형 데이터베이스 시스템에(예컨대, 적용가능 테이블들에) 저장될 수 있다.
제1 분산형 데이터베이스 시스템이, 예컨대 폐쇄형 분산형 데이터베이스 시스템인 경우, 등록 모듈은 또한, 디바이스/노드가 액세스 권한부여를 갖는지 여부, 즉, 특히 디바이스/노드가 제1 분산형 데이터베이스 시스템의 일부로서 수용되는지 여부를 체크한다. 이를 위해, 디바이스/노드는, 예컨대 등록 모듈에 의해 체크되는 인증 정보(암호화 키들, 패스워드들 등)를 제공한다.
데이터베이스 시스템이, 예컨대 개방형 분산형 데이터베이스 시스템인 경우, 노드 및/또는 디바이스 정보는 예컨대 캡처된다.
모듈들은, (예컨대, 블록체인의 스마트 계약의 형태 또는 블록체인의 신뢰받는 노드들의 형태의) 도 1로부터의 제1 결정 모듈(110)과 유사하게, 예컨대 소프트웨어 및/또는 하드웨어 컴포넌트의 형태일 수 있다. 모듈들은 특히, 블록체인 또는 스마트 계약에 의해 실현될 수 있거나, 또는 블록체인 인프라구조의 소프트웨어 컴포넌트이다.
본 발명의 추가의 구현 변형에서, 데이터 블록들을 저장하기 위한 제1 분산형 데이터베이스 시스템은 다음을 포함한다:
- 제2 통신 네트워크(NW2)를 통해 서로 연결되는 다수의 노드들(BCN);
- 분산형 데이터베이스 시스템의 데이터 블록들에 트랜잭션들을 저장하기 위한 제3 메모리 모듈;
- 특정 태스크의 태스크 데이터 레코드를 분산형 데이터베이스 시스템에 할당하기 위한 제2 할당 모듈;
- 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드를 할당하기 위한 제3 할당 모듈.
본 발명은, 디바이스들을 제어하기 위한 특정 태스크에 대한 블록체인 내의 복잡한 제어 명령 체인들이 간단한 방식으로 관리되는 것을 가능하게 한다. 특히, 본 발명은, 규정된 유효성이 블록체인-기반 디바이스 제어의 특정 태스크에 대해 할당되는 것을 허용하며, 유효성은, 예컨대 디바이스의 수명 주기(예컨대, 사용 기간)에 의해 정의된다.
특히, 제1 분산형 데이터베이스 시스템은 또한, 예컨대 (예컨대, 블록체인의 형태의) 디지털 트윈을 실현하는 데 사용될 수 있거나, 또는 제1 분산형 데이터베이스 시스템은 디지털 트윈이다.
디지털 트윈은, 예컨대 제1 분산형 데이터베이스 시스템 또는 생산될 제품(예컨대, 도 3으로부터의 디바이스 또는 다른 제품)에 대해 실현된다(또는 계산되거나 또는 생성됨). 제1 분산형 데이터베이스 시스템은, 예컨대 디바이스의 UID(또는 다른 형태의 고유 식별자)에 의해, (예컨대, 적용가능 UID를 태스크 데이터 레코드 또는 특정 태스크에 저장함으로써), 제1 분산형 데이터베이스 시스템에 할당될 수 있다. 예컨대, 제1 분산형 데이터베이스 시스템은, (예컨대, 도 1에 도시된) 제어 시스템의 분산형 데이터베이스 시스템일 수 있다.
추가의 변형에서, 트랜잭션들을 저장 및/또는 제공하기 위한 제1 분산형 데이터베이스 시스템은 다음과 같이:
- 제2 통신 네트워크(NW2)를 통해 서로 연결되는 다수의 노드들(BCN);
- 분산형 데이터베이스 시스템의 데이터 블록들에 트랜잭션들을 저장하기 위한 제3 메모리 모듈;
- 태스크 데이터 레코드를 저장하기 위한 제4 메모리 모듈 ―
- 태스크 데이터 레코드는 특정 태스크를 포함하고,
- 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당됨 ―;
- 유효성 데이터 레코드를 저장하기 위한 제5 메모리 모듈로서 설계될 수 있으며,
- 유효성 데이터 레코드는 유효성을 포함하고,
- 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당된다.
도 7은 본 발명에 따른 방법에 대한 흐름도로서, 본 발명의 제7 예시적인 실시예를 도시한다.
방법은 바람직하게 컴퓨터-지원 방식으로 수행된다.
구체적으로, 트랜잭션들의, 컴퓨터-지원 제공을 위한 방법이 이 예시적인 실시예에서 수행된다.
방법은, 트랜잭션들에 데이터를 저장하기 위한 제1 방법 단계(710)를 포함하며, 트랜잭션들은 제1 분산형 데이터베이스 시스템에 저장된다(예컨대, 이러한 트랜잭션들은 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨). 다시 말해, 적용가능 트랜잭션들은 분산형 데이터베이스 시스템을 통해 또는 분산형 데이터베이스 시스템에 의해(예컨대, 데이터 블록들을 통해) 저장된다.
방법은, 특정 태스크의 태스크 데이터 레코드를 분산형 데이터베이스 시스템에 할당하기 위한 제2 방법 단계(720)를 포함하며, 트랜잭션들은 특정 태스크를 수행하기 위한 데이터를 포함한다. 구체적으로, 특히 태스크 데이터 레코드는 특정 태스크를 포함한다.
제2 방법 단계(720)는 특히, 아래에서 열거되는 상이한 변형들에 따른 형태이거나 또는 이들에 따라 구현될 수 있다.
특히, 제2 방법 단계(720)는 또한, 특정 태스크를 갖는 태스크 데이터 레코드를 저장하기 위한 방법 단계의 형태이거나 또는 방법 단계로서 구현될 수 있다. 추가적으로 또는 대안적으로, 제2 방법 단계(720)에서, 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당될 수 있다. 구체적으로, 특히 태스크 데이터 레코드는 특정 태스크를 포함한다.
다시 말해, 제2 방법 단계(720)는 예로서, 특정 태스크를 갖는 태스크 데이터 레코드를 저장하기 위한 방법 단계일 수 있으며(또는 예컨대 그에 따른 형태인/그에 따라 구현되는 방법 단계일 수 있음),
- 특히, 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당되고, 그리고
- 특히, 트랜잭션들은 특정 태스크를 수행하기 위한 데이터를 포함한다.
예로서, 데이터는, 이전의 예시적인 실시예들에서 설명된 바와 같이, 제어 명령들 또는 디바이스 데이터(예컨대, 확인 트랜잭션들)일 수 있다.
방법은, 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드를 할당하기 위한 제3 방법 단계(730)를 포함하며, 유효성 데이터 레코드는 제1 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시한다. 구체적으로, 특히 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 적용가능 규정된 기능들(예컨대, 이는 또한 단일 기능 또는 기능들의 선택일 수 있음)에 대한 유효성을 포함한다.
제3 방법 단계(730)는 특히, 아래에서 열거되는 상이한 변형들에 따른 형태이거나 또는 이들에 따라 구현될 수 있다.
특히, 제3 방법 단계(730)는 예로서 또한, 유효성 데이터 레코드를 저장하기 위한 방법 단계의 형태일 수 있다. 추가적으로 또는 대안적으로, 제3 방법 단계(730)에서, 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당될 수 있다. 구체적으로, 특히 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 (적용가능) 규정된 기능들(예컨대, 이는 또한, 예컨대 단일 기능 또는 기능들의 선택일 수 있음)에 대한 (적용가능) 유효성을 포함한다.
다시 말해, 제3 방법 단계(730)는 예로서, 특정 태스크를 갖는 유효성 데이터 레코드를 저장하기 위한 방법 단계일 수 있으며,
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당되고, 그리고
- 특히, 유효성 데이터 레코드는 분산형 데이터베이스 시스템의 규정된 기능들에 대한 유효성을 표시(포함)한다.
방법은, 제1 분산형 데이터베이스 시스템 및/또는 규정된 기능들의 유효성을 체크하기 위한 제4 방법 단계(740)를 포함한다.
이 체크의 결과에 따라, 기능이 지금 수행되는지의 여부에 관한 결정이 방법 단계(750)에서 이루어질 수 있다.
그 결과가, 제1 분산형 데이터베이스 시스템 또는 규정된 기능이 여전히 유효하다는 것(Y)인 경우, 적용가능 기능(예컨대, 트랜잭션을 제1 분산형 데이터베이스 시스템에 삽입하는 것)은 제5 방법 단계(760)에서 제1 분산형 데이터베이스 시스템에 의해 수행된다.
그 결과가, 제1 분산형 데이터베이스 시스템 또는 규정된 기능이 유효하지 않다는 것(N)인 경우, 적용가능 기능은 방지되며, 제6 방법 단계(760)에서 제1 분산형 데이터베이스 시스템에 의해 수행되지 않는다.
본 발명의 일 구현 변형에 따르면, 트랜잭션들의, 컴퓨터-지원 제공을 위한 방법은 다음의 방법 단계들:
- 트랜잭션들에 데이터를 저장하는 단계(710) ― 트랜잭션들은 제1 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨 ―;
- 특정 태스크의 태스크 데이터 레코드를 분산형 데이터베이스 시스템에 할당하는 단계(720);
- 분산형 데이터베이스 시스템에 대한 유효성 데이터 레코드를 할당하는 단계(730)를 포함한다.
변형에서, 방법은 다음의 방법 단계들:
- 트랜잭션들에 데이터를 저장하는 단계(710) ― 트랜잭션들은 제1 분산형 데이터베이스 시스템의 데이터 블록들에 저장됨 ―;
- 태스크 데이터 레코드를 저장하는 단계 ―
- 태스크 데이터 레코드는 특정 태스크를 포함하고,
- 태스크 데이터 레코드는 분산형 데이터베이스 시스템에 할당됨 ―;
- 유효성 데이터 레코드를 저장하는 단계를 포함하며,
- 유효성 데이터 레코드는 유효성을 포함하고,
- 유효성 데이터 레코드는 분산형 데이터베이스 시스템에 할당된다.
도 8은, 결정 모듈(110)로서의, 본 발명의 제8 예시적인 실시예를 도시한다.
결정 모듈(110)은, 분산형 데이터베이스 시스템에 적합하거나 또는 디바이스들을 제어 및/또는 모니터링하기 위한 분산형 데이터베이스 시스템을 갖는 제어 시스템에 적합하거나 또는 (예컨대, 트랜잭션들의 형태의) 제어 명령들을 실행하는 디바이스들에 적합하다.
결정 모듈(110)은 제1 인터페이스(810), 제1 평가 유닛(820), 및 선택적으로 구성 메모리(830)를 포함하며, 이들은 바람직하게 버스(901)를 통해 서로 통신가능하게 연결된다. 버스는 예컨대 또한, 간단한 프로그램 흐름이거나 또는 적용가능 컴포넌트들 사이의 데이터 상호교환일 수 있다.
결정 모듈은 예로서, 추가적으로 또한, 추가의 컴포넌트 또는 다수의 추가의 컴포넌트들, 이를테면, 예컨대 프로세서, 메모리 유닛, 추가의 통신 인터페이스들(예컨대, 이더넷, WLAN), 입력 디바이스, 특히 컴퓨터 키보드 또는 컴퓨터 마우스, 및 디스플레이 디바이스(예컨대, 모니터)를 포함할 수 있다. 프로세서는, 예컨대 특히, 추가의 예시적인 실시예들을 실현하는 데 사용될 수 있는 다수의 추가의 프로세서들을 포함할 수 있다. 추가의 컴포넌트/컴포넌트들은 마찬가지로, 예컨대 버스를 통해 서로 통신가능하게 연결될 수 있다.
프로세서는, 예컨대 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈의 (또는 유닛의) 또는 모든 모듈들의 기능들에 대해 주문형으로 실현된 ASIC일 수 있으며, 프로그램 컴포넌트 또는 프로그램 명령어들은 특히 집적 회로들로서 실현된다. 프로세서는 또한, 예컨대 FPGA일 수 있으며, FPGA는 특히, FPGA가 예시적인 실시예(및/또는 추가의 예시적인 실시예들)의 개개의 모듈 또는 모든 모듈들의 기능들을 수행하도록, 프로그램 명령어들에 의해 구성된다.
제1 인터페이스(810)는 제어 명령들을 수신 또는 리트리빙하도록 구성된다. 제어 명령들은, 예컨대 사용자에 의해 GUI를 통해 제1 인터페이스(810)에 전달될 수 있다. 대안적으로, 제어 명령들은 서버 또는 다른 데이터베이스에 의해 제공될 수 있다. 이는 또한, 예컨대 분산형 데이터베이스 시스템 또는 계층적 데이터베이스일 수 있다. 예컨대, 결정 모듈이 본 발명에 따른 제어 시스템에서 사용된다면, 제어 명령들 또는 명령 시퀀스는 이 예시적인 실시예에서 설명된 방식과 동일한 방식으로 제어 시스템에 전달될 수 있다.
제어 명령들은 예로서 또한, 이전의 예시적인 실시예들에서 설명된 바와 같이, 분해 모듈에 제공될 수 있다. 분해 모듈은 이 목적을 위해 제어 명령들 또는 명령 시퀀스들을 수신 또는 리트리빙한다.
제어 명령들 또는 명령 시퀀스들은, 예컨대 사용자에 의해 GUI를 통해 그리고 예로서 제2 인터페이스 또는 제1 인터페이스(810)를 통해 제1 분해 모듈에 전달될 수 있다. 대안적으로, 제어 명령들 또는 명령 시퀀스들은 서버 또는 다른 데이터베이스에 의해 분해 모듈에 제공될 수 있다. 이는 또한, 예컨대 분산형 데이터베이스 시스템 또는 계층적 데이터베이스일 수 있다.
제1 평가 유닛(820)은, 예컨대 분산형 데이터베이스 시스템에 의해 연결되는 디바이스들에 의한 또는 분산형 데이터베이스 시스템의 노드들에 의한 제어 명령들의 실행에 대한 실행 요건들을 결정하도록 구성되며,
- 실행 요건들은 디바이스-특정 요건들 및/또는 전제된 제어 명령들에 기반하여 결정되고,
- 예컨대, 디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장되고;
- 분산형 데이터베이스 시스템은, 예컨대 블록체인이다.
구성 메모리는 디바이스들에 관한 디바이스-특정 데이터 및/또는 노드들에 관한 디바이스-특정 데이터 및/또는 디바이스-특정 요건들을 포함한다.
결정 모듈은 특히, 네트워크를 통해 서로 연결된 디바이스들 또는 노드들(예컨대, 생산 로봇들, 전력 분배 네트워크를 위한 제어 시스템들, 은행 단말기들, 현금 자동 입출금기들, 은행들 간의 이체들)에 의한 제어 명령들의 실행을 개선하는 데 유리하다.
결정 모듈은 또한, 예컨대 제어 명령들을 실행해야 하는 특정 디바이스들에 제어 명령들을 할당할 수 있다. 이는 바람직하게, 실행 요건들에 저장된다.
추가적으로, 예컨대 분산형 데이터베이스 시스템(예컨대, 블록체인)에 의해 전체적으로 또는 부분적으로 구현되는 분산형 인프라구조(예컨대, 분산형 데이터베이스 시스템에 액세스하는 노드들/디바이스들 또는 디바이스들 및/또는 노드들을 갖는 분산형 데이터베이스 시스템)의 동작 동안의 보안이 강화될 수 있다.
특히, 제어 명령들이라는 용어는 광범위하게 이해되어야 한다. 예컨대, 위에서 열거된 정의에 추가하여, 이는 또한, 디바이스(예컨대, 블록체인의 노드 또는 블록체인 외부의 디바이스, 예컨대 디바이스(D))에 의해 실행되어야 하는 트랜잭션들을 의미할 수 있다. 다시 말해, 장치는 특히, 체크되지 않은 트랜잭션들을 체크된 트랜잭션들로 변환하며, 체크는, 예컨대 제어 명령들을 실행해야 하는 디바이스-특정 요건들 및 디바이스-특정 데이터에 기반하여 수행된다.
본 발명은, 예컨대 디바이스 상에서의 제어 명령들의 실행을 위해 요구되는 디바이스-특정 요건들을 보장하거나 체크하는 데 사용될 수 있다. 디바이스-특정 요건들은 예로서 또한, 디바이스가 제어 명령들을 실행하기 위해 충족시켜야 하는 보안 요건들 및/또는 위치-관련 요건들(예컨대, 국가 스테이트먼트, GPS 스테이트먼트 또는 우편 번호(PLZ; zip code))일 수 있다. 대안으로서, 예컨대 실행에 대한 디바이스-특정 요건들에 의해, 특정/규정된 인증이 또한 필요로 될 수 있다.
디바이스들 또는 노드들에 대한 디바이스-특정 요건들은 또한, 예컨대 사용자-관련되거나 또는 사용자-특정 요건들을 포함할 수 있다. 예로서, 제1 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 낮은 정밀도를 필요로 할 수 있다. 예로서, 그런 다음, 제2 사용자는, 그의 할당된 디바이스-특정 요건들에서 워크피스를 생산하기 위해 더 높은 정밀도를 필요로 할 수 있다. 이 방식으로, 예컨대 보안 요건들이 사용자-관련 방식으로 저장되는 것이 또한 가능하다. 예로서, 특정 유형들 또는 종류들의 제어 명령들 ― 사용자-관련 또는 다른 방식 ― 이, 결정 모듈에 의해 고려되는 디바이스-특정 요건들을 할당받는 것이 또한 고려가능하다. 예로서, 하나의 요건은, 예컨대 생산 설비 내의 누구나 펌웨어 내의 전문지식에 용이하게 액세스가능하지는 않음을 보장하기 위해, 펌웨어를 로딩하기 위한 제어 명령이, 규정된 보안 요건들을 충족시키는 디바이스에 의해서만 수행되는 것일 수 있다. 이러한 규정된 보안 요건들은 예로서, 특정 직원만이 적용가능 디바이스에 액세스가능한 것, 또는 디바이스가 패스워드 및/또는 다른 암호화 메커니즘들에 의해 보호되는 것을 필요로 할 수 있다(예컨대, 액세스는 칩 카드를 삽입하고 핀을 입력하는 것에 의해서만 가능함).
이는, 예컨대 누군가가 현금을 인출하기 위해 디바이스(예컨대, 현금 자동 입출금기)를 사용하기를 원하는 경우일 수 있다. 그런 다음, 제어 명령들은 예로서, 현금 지급을 하라는 고객에 의한 요청이다. 예컨대, 적용가능 고객이, 예컨대 규정된 국가들, 예컨대 이탈리아, 프랑스 및 오스트리아에서만 현금 지급을 바람직하게 허용함을, 적용가능 고객이 (예컨대, 자신의 홈 뱅크에서 또는 온라인 뱅킹을 사용하여) 지정한 경우, 이는 디바이스-특정 요건들에 저장되며, 디바이스-특정 요건들은 바람직하게 특정 사용자에게 할당된다. 그런 다음, 안도라의 현금 자동 입출금기는 지급을 허용하지 않거나 지급을 방지할 수 있다. 예로서, 보안 요건들이 고객의 규정된 인증을 필요로 하는 것이 또한 가능하다. 예로서, 지급을 위해 핀이 입력되어야 하고(이는, 예컨대 미국에서는 반드시 그런 것은 아님) 그리고/또는 특정 핀 길이(예컨대, 8개의 문자들)가 요구되고 그리고/또는 다른 추가적인 인증 방법들(예컨대, 2-팩터 인증, 모바일 TAN, 구글 인증부호)이 요구된다. 예로서, 현금 인출 카드(cash card)의 로딩은, 예컨대 보안 요건들을 규정하는 로딩 디바이스 및 현금 인출 카드에 대한 디바이스-특정 요건들을 이용하여 유사한 방식으로 구현될 수 있다. 예로서, 현금 인출 카드 또는 로딩 디바이스는, 로딩 프로세스를 수행하기 위해, 암호화 방법들 및/또는 인증 방법들을 사용하거나 규정할 필요가 있다.
대안적으로 또는 추가적으로, (제1) 평가 유닛은 또한, 제어 명령들을 추가로 분석하거나 또는 제어 명령들을 더 완전히(comprehensively) 분석할 수 있다. 예컨대, 디바이스-특정 요건들이 충족되지 않거나 또는 충족가능하지 않음(예컨대, 제어 명령들이 승인되지 않은 국가로부터 전송되었거나 또는 승인되지 않은 국가에서의 실행을 위해 의도되었음)을 평가 유닛이 이미 발견한 경우, 예컨대 (제1) 평가 유닛이 제어 트랜잭션을 생성하는 것이 가능하며, 그 제어 트랜잭션은 실행불가능성(non-executability)을 적용가능 디바이스, 노드 또는 시스템에 표시하고 그리고 바람직하게는 제어 명령들의 실행을 방지 또는 금지한다. 대안적으로, 예로서, 어떤 제어 트랜잭션도 생성되지 않는 것이 또한 가능하며, 어느 시점에서, 예컨대 규정된 기간 후에, 제어 명령들의 실행에 대한 타임아웃이 있다.
이를 발견하기 위해, (제1) 평가 유닛은, 제어 명령들을 실행해야 하는 디바이스에 대한 디바이스-특정 데이터를, 예컨대 제어 명령들에 대한 디바이스-특정 요건들과 비교한다. 그런 다음, 이 비교의 결과에 따라, 적용가능 디바이스 상에서의 제어 명령들의 실행을 허용하는 제어 트랜잭션이 생성되거나, 또는 제어 트랜잭션이 생성되지 않거나 또는 제어 명령들의 실행을 금지 또는 방지하는 제어 트랜잭션이 생성된다.
제어 명령들이 실행가능함을(즉, 비교가 포지티브(positive)임을) (제1) 평가 유닛이 발견하는 경우, (제1) 평가 유닛은 적용가능 실행 요건들을 생성하고, 제어 명령들 및 실행 요건들을 예컨대 제1 할당 모듈에 전달하여 개개의 실행 요건들을 제어 명령들에 할당한다. 제1 할당 모듈은, 예컨대 결정 모듈의 통합형 컴포넌트이거나 또는 평가 유닛의 통합형 컴포넌트일 수 있다.
그러므로, 이에 따라서, 특히 이 비교의 결과에 따라, 적용가능 디바이스 상에서의 제어 명령들의 실행을 허용하는 제어 트랜잭션이 이후 생성되는 것이 가능하거나, 또는 제어 트랜잭션이 생성되지 않거나, 또는 제어 명령들의 실행을 금지 또는 방지하는 제어 트랜잭션이 생성되고, 그리고/또는 제어 명령들이 실행가능하지 않음이, 제어 명령들을 제공한 당사자(party)에게 알려진다.
그 후에, 제어 명령들은, 연관된 실행 요건들과 함께 필요한 경우, 예컨대 결정 모듈의 제1 메모리 모듈에 전달된다. 이 전달은, 예컨대 할당 모듈, (제1) 평가 유닛 또는 결정 모듈 자체에 의해 실행될 수 있다.
제1 메모리 모듈은, 개개의 제어 명령들을 제어 트랜잭션들에 저장하도록 구성되며, 제어 명령들이 디바이스들(예컨대, 현금 자동 입출금기) 중 하나에 의해 실행가능한 경우, 제어 명령들은 예로서, 할당된 실행 요건들과 함께 제어 트랜잭션들에 저장된다.
다시 말해, 비교의 결과는, 제어 트랜잭션이 저장되는지 여부 및/또는 어떤 콘텐츠와 함께 제어 트랜잭션이 저장되는지를 특정하기 위한 기초로서 취해진다.
그런 다음, 저장을 위해, 제어 트랜잭션들은 분산형 데이터베이스 시스템(BC)의 데이터 블록들(B)에 저장될 수 있으며, 제어 트랜잭션이 생성된 경우, 특히 제어 트랜잭션들은, 데이터 블록들(B)에 의해 디바이스들(300, D, BCN_D) 또는 노드들에 송신된다.
추가적으로, 결정 모듈(110)은 또한, 예컨대 예시적인 실시예들에서 설명된 바와 같은 제1 할당 모듈 및/또는 제1 메모리 모듈 및/또는 추가의 모듈들을 포함할 수 있다. 그런 다음, 노드들 또는 디바이스들은, 예컨대 예시적인 실시예들에서 설명된 바와 같은 체크 모듈 및/또는 실행 모듈을 포함할 수 있다.
예로서, 지급 또는 이체가 다른 디바이스에 의해 허용되는지 여부를 발견하기 위해 체크되는 컴퓨터(즉, 제어 명령들을 전송하는 디바이스)의 보안 요건들 및/또는 위치-관련 요건들에 의해, 위에서 언급된 방식으로 온라인 뱅킹이 보호되는 것이 또한 고려가능할 것이다. 이를 위해, 이 컴퓨터는, 예컨대 이미 설명된 바와 같은 디바이스 또는 분산형 데이터베이스 시스템의 노드일 수 있다.
도 9는 본 발명에 따른 방법에 대한 흐름도로서, 본 발명의 제9 예시적인 실시예를 도시한다.
방법은 바람직하게 컴퓨터-지원 방식으로 수행된다.
구체적으로, 제어 명령들을 위한 실행 요건들의, 컴퓨터-지원 결정을 위한 방법이 이 예시적인 실시예에서 수행된다. 방법은 또한, 예컨대 도 8에서 설명된 바와 같이, 예컨대 제어 명령들의 실행가능성을 규명하는 데 사용될 수 있다.
방법은, 제어 명령들을 수신 또는 리트리빙하기 위한 제1 방법 단계(910)를 포함한다.
방법은, 디바이스-특정 요건들 및/또는 전제된 제어 명령들에 기반하여 분산형 데이터베이스 시스템의 노드들에 의한 또는 디바이스들에 의한 제어 명령들의 실행가능성을 체크하기 위한 제2 방법 단계(920)를 포함한다. 이 체크는 추가적으로, 예컨대 디바이스-특정 데이터 및/또는 이미 실행된 제어 명령들 또는 제어 트랜잭션들이 또한 체크되는 것을 수반한다. 예로서, 체크는, 디바이스-특정 데이터가 적용가능 디바이스에 대해 체크됨으로써, 디바이스가 디바이스-특정 요건들을 충족시키는지 여부를 규명하기 위해 수행된다.
방법은, 분산형 데이터베이스 시스템의 노드들에 의한 또는 디바이스들에 의한 제어 명령들의 실행에 대한 실행가능성을 체크한 결과에 기반하여 실행 요건들을 결정하기 위한 제3 방법 단계(930)를 포함한다.
다시 말해, 실행 요건들은 디바이스-특정 요건들 및/또는 전제된 제어 명령들에 기반하여 결정된다.
제2 및 제3 방법 단계들은, 예컨대 도 8로부터의 결정 모듈의 (제1) 평가 유닛에 의해 구현될 수 있다.
디바이스-특정 요건들 및/또는 전제된 제어 명령들이 실행 요건들에 저장된다. 분산형 데이터베이스 시스템은, 예컨대 블록체인이다.
노드들 또는 디바이스들은, 예컨대 분산형 데이터베이스 시스템에 의해 연결된다.
실행 요건들을 결정하기 위해, 예컨대 디바이스-특정 요건들 또는 전제된 제어 명령들이 분석되고, 이용가능한 디바이스들에 대해 이미 실행된 제어 명령들 및 디바이스-특정 요건들과 비교된다. 예로서, 이 단계는 또한, 제어 명령들을 실행해야 하는 특정 노드 또는 특정 디바이스가 특정하게 배정되거나 할당되는 것을 수반할 수 있다. 이는 특히, 실행의 신뢰성 및 보안성을 개선하거나, 또는 실행이 예컨대 원하는 결과를 생성함을 보장한다. 이는, 예컨대 제품이 요구되는 정밀도로 생성되었다는 것이다.
본 발명이 예시적인 실시예들에 의해 더 구체적으로 상세하게 예시되고 설명되었지만, 본 발명은 개시된 예들에 의해 제한되지 않으며, 본 발명의 보호 범위로부터 벗어나지 않으면서 다른 변형들이 당업자에 의해 본 발명으로부터 유도될 수 있다.
[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. volume 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, as at 10.5.2017
[6]
Leemon Baird
"The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance",
Swirlds Tech Report SWIRLDS-TR-2016-01, 5.31.2016
[7]
Leemon Baird
"Overview of Swirlds Hashgraph",
5.31.2016
[8]
Blockchain Oracles, as at 03.14.2018
https://blockchainhub.net/blockchain-oracles/
[9]
Joseph Poon, Thaddeus Dryja: The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. January 14, 2016, retrieved on June 30, 2018 (PDF; 3 MB, English).

Claims (31)

  1. 트랜잭션(transaction)들을 저장 및/또는 제공하기 위한 제1 분산형(distributed) 데이터베이스 시스템으로서,
    제2 통신 네트워크(NW2)를 통해 서로 연결되는 다수의 노드들(BCN);
    상기 분산형 데이터베이스 시스템에 트랜잭션들을 저장하기 위한 제3 메모리 모듈;
    태스크 데이터 레코드를 저장하기 위한 제4 메모리 모듈 ― 상기 태스크 데이터 레코드는 특정 태스크를 포함하고, 상기 태스크 데이터 레코드는 상기 분산형 데이터베이스 시스템에 할당됨 ―;
    유효성 데이터 레코드를 저장하기 위한 제5 메모리 모듈 ― 상기 유효성 데이터 레코드는 유효성을 포함하고, 상기 유효성 데이터 레코드는 상기 분산형 데이터베이스 시스템에 할당됨 ―;
    을 포함하는,
    제1 분산형 데이터베이스 시스템.
  2. 제1항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은 활동 모듈(activity module)을 포함하고,
    상기 활동 모듈은 상기 제1 분산형 데이터베이스 시스템의 활동을 디스플레이하거나 또는 도큐먼트화(document)하도록 구성되는,
    제1 분산형 데이터베이스 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 트랜잭션들은 상기 특정 태스크를 수행하기 위한 데이터를 포함하는,
    제1 분산형 데이터베이스 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 유효성 데이터 레코드는 상기 분산형 데이터베이스 시스템의 규정된(prescribed) 기능들에 대한 유효성을 표시하는,
    제1 분산형 데이터베이스 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 유효성 데이터 레코드는, 상기 기능들 중 하나 또는 모든 기능들이 수행될 수 있을 때까지의 기간 및/또는 시간 및/또는 이벤트를 표시하고,
    특히, 상기 이벤트는 상기 특정 태스크의 달성이고, 그리고/또는
    특히, 상기 기간은 디바이스 또는 필드 디바이스의 수명이고, 그리고/또는
    특히, 상기 기간은 디바이스 또는 필드 디바이스의 명령 시퀀스 및/또는 유지보수 액션 및/또는 제어 액션에 대한 수행 시간이고,
    특히, 디바이스 또는 필드 디바이스는 상기 시간에 교환되는,
    제1 분산형 데이터베이스 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 유효성 데이터 레코드는 상기 특정 태스크의 태스크 데이터 레코드에 의해 특정되는(stipulated),
    제1 분산형 데이터베이스 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은, 규정된 기능들에 대한 유효성을 체크하는 제2 체크 모듈을 포함하는,
    제1 분산형 데이터베이스 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 트랜잭션들은 디바이스 또는 필드 디바이스에 관한 제어 명령들 및/또는 명령 시퀀스들 및/또는 디바이스-특정 데이터를 포함하는,
    제1 분산형 데이터베이스 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은 제1 고유 식별자를 포함하고,
    제2 분산형 데이터베이스 시스템이 참조 데이터 레코드(referencing data record)에서 상기 제1 분산형 데이터베이스 시스템을 참조하고,
    상기 참조 데이터 레코드는 상기 유효성 데이터 레코드 및/또는 상기 태스크 데이터 레코드 및/또는 상기 제1 고유 식별자를 포함하는,
    제1 분산형 데이터베이스 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은 상기 유효성이 만료된 후에 봉인되는(sealed),
    제1 분산형 데이터베이스 시스템.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 특히 제10항에 있어서,
    상기 유효성 데이터 레코드는, 특히 상기 봉인된 제1 데이터베이스 시스템이 얼마나 오랫동안 이용가능한지를 표시하는 만료 데이터 레코드(expiry data record)를 포함하는,
    제1 분산형 데이터베이스 시스템.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템 및/또는 상기 제2 분산형 데이터베이스 시스템은 블록체인(blockchain)이고, 그리고 데이터 블록들은 상기 블록체인의 블록들이거나, 또는 상기 제1 분산형 데이터베이스 시스템 및/또는 상기 제2 분산형 데이터베이스 시스템은 피어-투-피어(peer-2-peer) 데이터베이스 시스템인,
    제1 분산형 데이터베이스 시스템.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    데이터 블록들은 암호화 해시 함수(cryptographic hash function)(H)를 통해 서로 연쇄되는(concatenated),
    제1 분산형 데이터베이스 시스템.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 태스크 데이터 레코드는 상기 특정 태스크가 인터페이스에 의해 제공됨으로써 저장되는,
    제1 분산형 데이터베이스 시스템.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 특정 태스크는 기술 시스템에 대해 시스템-특정적인,
    제1 분산형 데이터베이스 시스템.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    상기 특정 태스크는 상기 기술 시스템에 대해 사전구성되는(preconfigured),
    제1 분산형 데이터베이스 시스템.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서,
    상기 특정 태스크는 태스크 데이터베이스에 의해 상기 인터페이스를 통해 제공되는,
    제1 분산형 데이터베이스 시스템.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서,
    상기 태스크는 상기 기술 시스템의 시스템-특정 데이터에 기반하여 선택되는,
    제1 분산형 데이터베이스 시스템.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서,
    상기 유효성 데이터 레코드는 상기 유효성이 인터페이스에 의해 제공됨으로써 저장되는,
    제1 분산형 데이터베이스 시스템.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서,
    상기 유효성은 상기 기술 시스템에 대해 시스템-특정적인,
    제1 분산형 데이터베이스 시스템.
  21. 제1항 내지 제20항 중 어느 한 항에 있어서,
    상기 유효성은 상기 기술 시스템에 대해 사전구성되는,
    제1 분산형 데이터베이스 시스템.
  22. 제1항 내지 제21항 중 어느 한 항에 있어서,
    상기 유효성은 유효성 데이터베이스에 의해 상기 인터페이스를 통해 제공되는,
    제1 분산형 데이터베이스 시스템.
  23. 제1항 내지 제22항 중 어느 한 항에 있어서,
    상기 유효성은 상기 기술 시스템의 시스템-특정 데이터에 기반하여 선택되는,
    제1 분산형 데이터베이스 시스템.
  24. 제1항 내지 제23항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은 모니터링 모듈(monitoring module)을 포함하는,
    제1 분산형 데이터베이스 시스템.
  25. 제1항 내지 제24항 중 어느 한 항에 있어서,
    상기 모니터링 모듈은 상기 태스크에 의해 구성되는,
    제1 분산형 데이터베이스 시스템.
  26. 제1항 내지 제25항 중 어느 한 항에 있어서,
    상기 제1 분산형 데이터베이스 시스템은 제2 체크 모듈을 포함하는,
    제1 분산형 데이터베이스 시스템.
  27. 제1항 내지 제26항 중 어느 한 항에 있어서,
    상기 제2 체크 모듈은 상기 유효성에 의해 구성되는,
    제1 분산형 데이터베이스 시스템.
  28. 제1항 내지 제27항 중 어느 한 항에 있어서,
    상기 체크 모듈은 상기 유효성이 만료된 규정된 기능들이 수행되는 것을 방지하고,
    상기 규정된 기능들은 특히, 상기 기술 시스템의 기능들이고, 그리고/또는
    상기 규정된 기능들은 특히, 상기 제1 분산형 데이터베이스 시스템의 기능들인,
    제1 분산형 데이터베이스 시스템.
  29. 트랜잭션들의, 컴퓨터-지원(computer-aided) 저장 및/또는 제공을 위한 방법으로서,
    트랜잭션들에 데이터를 저장하는 단계(710) ― 상기 트랜잭션들은 제1 분산형 데이터베이스 시스템에 저장됨 ―;
    태스크 데이터 레코드를 저장하는 단계 ― 상기 태스크 데이터 레코드는 특정 태스크를 포함하고, 상기 태스크 데이터 레코드는 상기 분산형 데이터베이스 시스템에 할당됨 ―;
    유효성 데이터 레코드를 저장하는 단계 ― 상기 유효성 데이터 레코드는 유효성을 포함하고, 상기 유효성 데이터 레코드는 상기 분산형 데이터베이스 시스템에 할당됨 ―
    를 포함하는,
    방법.
  30. 제29항에 청구된 방법을 수행하기 위한 프로그램 명령어들을 갖는 컴퓨터 프로그램 제품.
  31. 제30항에 청구된 컴퓨터 프로그램 제품을 위한 제공 장치로서,
    상기 제공 장치는 상기 컴퓨터 프로그램 제품을 저장 및/또는 제공하는,
    제공 장치.
KR1020207014789A 2017-10-23 2018-08-02 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템 KR102545178B1 (ko)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
EP17197791 2017-10-23
EP17197791.1 2017-10-23
EP18000379 2018-01-22
EP18152750 2018-01-22
EPEP18000379 2018-01-22
EP18152750.8 2018-01-22
EP18162189.7 2018-03-16
EP18162189 2018-03-16
EPEP18167960 2018-04-18
EP2018059891 2018-04-18
EPPCT/EP2018/059891 2018-04-18
EP18167960 2018-04-18
EPPCT/EP2018/060900 2018-04-27
PCT/EP2018/060900 WO2019081071A1 (de) 2017-10-23 2018-04-27 Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP18174922 2018-05-29
EPEP18174922 2018-05-29
PCT/EP2018/071065 WO2019081085A1 (de) 2017-10-23 2018-08-02 Verfahren und steuersystem zum steuern und/oder überwachen von geräten

Publications (2)

Publication Number Publication Date
KR20200076714A true KR20200076714A (ko) 2020-06-29
KR102545178B1 KR102545178B1 (ko) 2023-06-16

Family

ID=66247743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207014789A KR102545178B1 (ko) 2017-10-23 2018-08-02 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템

Country Status (6)

Country Link
US (2) US20210200724A1 (ko)
EP (3) EP3719713A1 (ko)
KR (1) KR102545178B1 (ko)
CN (2) CN111543032B (ko)
ES (2) ES2869395T3 (ko)
WO (2) WO2019081085A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452043B2 (en) 2017-02-10 2019-10-22 Johnson Controls Technology Company Building management system with nested stream generation
US11258683B2 (en) * 2017-09-27 2022-02-22 Johnson Controls Tyco IP Holdings LLP Web services platform with nested stream generation
US11036677B1 (en) * 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US11038689B2 (en) 2018-03-01 2021-06-15 FinancialForce.com, Inc. Efficient block chain generation
EP3763089B1 (de) * 2018-04-18 2022-06-01 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
US11681725B2 (en) * 2018-10-10 2023-06-20 EMC IP Holding Company LLC Tiered forensics of IoT systems in cloud and time series databases
CN109327528B (zh) * 2018-10-31 2020-10-20 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN110506285A (zh) * 2019-01-08 2019-11-26 张季恒 基于有向无环图的区块创建、添加、账本建立方法和装置
US11398895B2 (en) * 2019-03-26 2022-07-26 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11418322B2 (en) 2019-03-26 2022-08-16 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11269858B2 (en) 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
EP3742321A1 (en) * 2019-05-22 2020-11-25 Siemens Aktiengesellschaft Storage of measurement datasets and distributed databases
US11579630B2 (en) * 2020-02-06 2023-02-14 Accenture Global Solutions Limited Decentralized robot cooperation platform
EP3916581A1 (de) * 2020-05-29 2021-12-01 Siemens Aktiengesellschaft Computerimplementiertes verfahren zur speicherung von daten mittels einer verteilten transaktionsdatenbank, computerprogrammprodukt und netzwerk
CN114371628B (zh) * 2020-10-19 2023-11-10 中国移动通信集团辽宁有限公司 区块链系统、管理装置、智能家电的控制方法及智能家电
US11288663B1 (en) * 2021-06-25 2022-03-29 Arri E. Manuel Blockring service, system, and method thereof

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137857A1 (en) * 2006-11-07 2008-06-12 Mihir Bellare Systems and methods for distributing and securing data
CN101727648A (zh) * 2009-12-01 2010-06-09 中国建设银行股份有限公司 服务系统中的超时控制方法及服务系统
US20130191524A1 (en) * 2011-12-15 2013-07-25 Cisco Technology, Inc. Mapping protocol endpoints to networked devices and applications based on capabilities
CN104320262A (zh) * 2014-11-05 2015-01-28 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US20150339942A1 (en) * 2013-02-19 2015-11-26 Smart Sparrow Pty Ltd. Computer-Implemented Frameworks and Methodologies for Generating, Delivering and Managing Adaptive Tutorials
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法
US20170295023A1 (en) * 2016-04-08 2017-10-12 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0926608B1 (en) * 1997-12-24 2004-03-10 Nortel Networks Limited Distributed persistent storage for intermittently connected clients
US7941408B2 (en) * 2003-09-06 2011-05-10 Oracle International Corporation System, structure, interface, and semantics for implementing row versions: accessing past versions of a data item
CN101576990A (zh) * 2008-05-06 2009-11-11 中国建设银行股份有限公司 一种银行业务处理系统
DE102011018878B3 (de) 2011-04-28 2012-09-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Synchronisieren der Datenbestände von Datenbanken
DE102011081796A1 (de) 2011-08-30 2013-02-28 Endress + Hauser Gmbh + Co. Kg Verfahren zum Bedienen eines Feldgerätes
US8468423B2 (en) 2011-09-01 2013-06-18 International Business Machines Corporation Data verification using checksum sidefile
WO2015175722A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US10518409B2 (en) * 2014-09-02 2019-12-31 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
WO2016141998A1 (de) 2015-03-12 2016-09-15 Siemens Aktiengesellschaft Vorrichtung und verfahren zum bereitstellen einer digitalen abbildung einer physikalischen entität
US10007913B2 (en) * 2015-05-05 2018-06-26 ShoCard, Inc. Identity management service using a blockchain providing identity transactions between devices
US10540628B2 (en) 2015-09-17 2020-01-21 International Business Machines Corporation Hierarchical business rule model
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
US20170193375A1 (en) 2015-12-30 2017-07-06 International Business Machines Corporation Rule guided fabrication of structured data and messages
US20170228371A1 (en) * 2016-02-05 2017-08-10 Manifold Technology, Inc. Blockchain-enhanced database
EP3754901A1 (en) 2016-02-23 2020-12-23 Nchain Holdings Limited Blockchain implemented counting system and method for use in secure voting and distribution
US10366337B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the likelihood of technology change incidents
EP3439231A4 (en) * 2016-03-31 2019-11-13 Bitflyer, Inc. PRIVATE NODE, PROCESSING PROCESS FOR PRIVATE NODES AND PROGRAM THEREFOR
DE102016205289A1 (de) * 2016-03-31 2017-10-05 Siemens Aktiengesellschaft Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
IL245060B (en) 2016-04-12 2021-06-30 Verint Systems Ltd A system and method for studying semantic roles of information items
US20170300946A1 (en) * 2016-04-15 2017-10-19 Wal-Mart Stores, Inc. Vector-based characterizations of products
US11593792B1 (en) * 2016-05-03 2023-02-28 Citibank, N.A. Distributed database methods and systems
CN105976232B (zh) * 2016-06-24 2020-04-28 深圳前海微众银行股份有限公司 资产交易方法和装置
US10984081B2 (en) * 2016-09-30 2021-04-20 Cable Television Laboratories, Inc. Systems and methods for secure person to device association
CN106649838B (zh) * 2016-12-29 2020-10-30 成都质数斯达克科技有限公司 数据传输方法、区块链节点及分布式数据库
KR101852935B1 (ko) * 2017-07-31 2018-04-27 임종범 전자 화폐 거래 시스템 및 방법
US11256799B2 (en) * 2017-08-29 2022-02-22 Seagate Technology Llc Device lifecycle distributed ledger

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080137857A1 (en) * 2006-11-07 2008-06-12 Mihir Bellare Systems and methods for distributing and securing data
CN101727648A (zh) * 2009-12-01 2010-06-09 中国建设银行股份有限公司 服务系统中的超时控制方法及服务系统
US20130191524A1 (en) * 2011-12-15 2013-07-25 Cisco Technology, Inc. Mapping protocol endpoints to networked devices and applications based on capabilities
US20150339942A1 (en) * 2013-02-19 2015-11-26 Smart Sparrow Pty Ltd. Computer-Implemented Frameworks and Methodologies for Generating, Delivering and Managing Adaptive Tutorials
CN104320262A (zh) * 2014-11-05 2015-01-28 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US20170295023A1 (en) * 2016-04-08 2017-10-12 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法

Also Published As

Publication number Publication date
US20200351116A1 (en) 2020-11-05
WO2019081085A1 (de) 2019-05-02
CN111543031A (zh) 2020-08-14
US20210200724A1 (en) 2021-07-01
WO2019081086A1 (de) 2019-05-02
EP3719713A1 (de) 2020-10-07
CN111543032B (zh) 2022-05-03
ES2866498T3 (es) 2021-10-19
EP3669497B1 (de) 2021-02-17
KR102545178B1 (ko) 2023-06-16
CN111543032A (zh) 2020-08-14
EP3669498B1 (de) 2021-04-07
EP3669498A1 (de) 2020-06-24
CN111543031B (zh) 2022-09-20
EP3669497A1 (de) 2020-06-24
ES2869395T3 (es) 2021-10-25
US11665015B2 (en) 2023-05-30

Similar Documents

Publication Publication Date Title
KR102545178B1 (ko) 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템
US11615007B2 (en) Method and control system for controlling and/or monitoring devices
KR102452271B1 (ko) 디바이스들을 제어 및/또는 모니터링하기 위한 방법 및 제어 시스템
US11412047B2 (en) Method and control system for controlling and/or monitoring devices
US11640394B2 (en) Method, apparatuses and system for exchanging data between a distributed database system and devices
CN111433744A (zh) 用于计算机辅助地执行程序代码的方法和分布式数据库系统
CN113261253A (zh) 用于控制资源的释放的方法和系统
US11231958B2 (en) Method and control system for controlling and/or monitoring devices
US11362914B2 (en) Method and control system for controlling and/or monitoring devices
US20220179384A1 (en) Method and control system for controlling an execution of transactions
CN113826369A (zh) 对计算机系统的入侵识别
CN112425121A (zh) 关于分布式数据库的使用控制数据网络
CN115968541A (zh) 用于分布式数据库系统和设备之间的数据交换的方法、装置和系统
US20220173906A1 (en) Method and control system for controlling an execution of transactions
EP4287560A1 (en) Encryption and decryption of transactions of a distributed ledger

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant