KR102481906B1 - 가상 디바이스를 제공하기 위한 장치 및 방법 - Google Patents

가상 디바이스를 제공하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102481906B1
KR102481906B1 KR1020197021185A KR20197021185A KR102481906B1 KR 102481906 B1 KR102481906 B1 KR 102481906B1 KR 1020197021185 A KR1020197021185 A KR 1020197021185A KR 20197021185 A KR20197021185 A KR 20197021185A KR 102481906 B1 KR102481906 B1 KR 102481906B1
Authority
KR
South Korea
Prior art keywords
resource
virtual
virtual device
devices
distributed ledger
Prior art date
Application number
KR1020197021185A
Other languages
English (en)
Other versions
KR20190111937A (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
Application filed by 소니그룹주식회사 filed Critical 소니그룹주식회사
Publication of KR20190111937A publication Critical patent/KR20190111937A/ko
Application granted granted Critical
Publication of KR102481906B1 publication Critical patent/KR102481906B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

가상 디바이스를 제공하기 위한 장치는 회로를 갖는다. 회로는 분산 대장 내의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색한다. 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함한다. 회로는 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공한다.

Description

가상 디바이스를 제공하기 위한 장치 및 방법
본 개시는, 일반적으로, 가상 디바이스를 제공하기 위한 장치 및 방법에 관한 것이다.
일반적으로, 대장을 복수의 엔티티, 예를 들어 디지털 트랜잭션들을 기록하는 전자 디바이스들 또는 서버들 등에 분산하는 것이 알려져 있다. 분산 대장들은, 예를 들어 공지된 암호 통화 비트 코인을 기초로 하는 공지된 블록체인 기술에 기초할 수 있다. 블록체인 및 분산 대장의 용어들에 관한 통일된 정의는 아직 없다. 본 명세서에서는, 가장 넓은 정의에서는, 이 용어들은, 네트워크의 복수의 노드와 디지털 기록된 데이터를 공유하는 데이터베이스의 타입으로서 사용된다. 그것은 피어 투 피어 네트워크로 구성될 수 있다. 디지털 기록된 데이터는, 동일한 데이터베이스 상의 이전에 기록된 데이터로부터 그 일관성을 증명하기 위한 일종의 정보를 포함할 수 있다.
분산 대장들은 공개적일 수 있고, 누구나에 의해 액세스가능할 수 있지만, 원칙적으로, 그것들은 비공개적일 수도 있고, 권한을 갖는 사용자들만이 그것들에 액세스할 수 있는 권한을 가질 수 있다. 계층화된 각 사용자로부터 대장에서의 데이터에의 액세스 허가를 구별할 수도 있다.
분산 대장들은, 예를 들어 비트 코인에 사용되는 것 같은 블록체인 기술로부터 알려져 있는 메커니즘들을 사용할 수 있다. 그러한 메커니즘들은, 발견 방법, 콘센서스 메커니즘 및 데이터 정합성을 유지하기 위한 메커니즘 등을 포함한다. 콘센서스 메커니즘은, 분산 대장의 사본을 갖는 모든 노드 또는 특정한 수를 초과하는 노드, 일반적으로는 전자 디바이스들이, 분산 대장의 내용에 대해서 합의에 이르는 것을 보증한다. 일부 종류의 암호 퍼즐이며, 예를 들어 블록체인의 낡은 블록들이 (용이하게) 변경될 수 없다는 것을 보증하는, 소위 프루프 오브 워크(proof-of-work) 메커니즘을 포함하는, 많은 콘센서스 메커니즘이 존재한다. 예를 들어, 비트코인 블록체인의 마이닝(mining) 프로세스에는, 프루프 오브 워크가 사용된다.
블록체인 기술에 기초하는 분산 대장의 또다른 예는, 소위 이더리움 프로젝트이다. 이더리움은 어카운트들을 사용하고, 모든 어카운트의 상태는 이더리움 블록체인에 의해 추적된다. 어카운트들의 2개의 타입이 있는데, 즉, 프라이빗 키들에 의해 제어되는 외부 소유 어카운트(externally owned account)와, 그 계약 코드에 의해 제어되고, 외부 소유 어카운트에 의해서만 활성화될 수 있는 계약 어카운트들이다. 계약 어카운트는 프로그램 가능 코드 또는 스마트 계약들을 포함할 수 있다. 이더리움의 사용자들은 또한, 이더(ether)라고 불리는 요금을 지불해야 한다. 이더는, 블록을 마이닝하는 것에 대한 보수이다.
트랜잭션들 및 스마트 계약들에 대하여 분산 대장들을 사용하기 위한 기술들이 존재하지만, 일반적으로, 전자 디바이스들을 편성하기 위해서 분산 대장 기술을 적용하는 것이 바람직하다.
본 명세서에 개시되는 해결책들은, Hadoop과 같은 분산 데이터베이스 기술들을 사용하는 것으로 치환될 수 있다.
제1 양태에 의하면, 본 개시는, 가상 디바이스를 제공하는 장치를 제공하고, 본 장치는, 분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하고- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공하도록 구성된 회로를 포함한다.
제2 양태에 의하면, 본 개시는, 가상 디바이스를 제공하는 방법을 제공하고, 본 방법은, 분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하는 단계- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 및 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공하는 단계를 포함한다.
또한 양태들은 종속 청구항들, 이하의 설명 및 도면들에 기재된다.
실시예들은, 첨부 도면들에 대해서 예로서 설명되며, 여기서:
도 1은 장치가 가상 디바이스를 제공하는, 본 개시의 실시예를 도시한다;
도 2는 본 개시의 실시예에서 사용될 수 있는 리소스 디바이스들의 개요를 도시한다;
도 3은 장치가 도 2에 도시되는 리소스 디바이스들을 사용하여 가상 IoT 감시 모니터를 제공하는 본 개시의 추가의 실시예를 도시한다;
도 4는 블록체인 상에서 리소스 계약을 제공하기 위한 방법의 흐름도를 도시한다;
도 5는 가상 IoT 디바이스의 스마트 계약을 제공하기 위한 방법의 흐름도를 도시한다;
도 6은 가상 디바이스를 제공하기 위한 방법의 흐름도를 도시한다; 및
도 7은 장치의 실시예를 도시한다.
도 1을 참조하여 실시예들의 상세한 설명을 제시하기 전에, 일반적인 설명들을 행한다.
서두에서도 나타낸 바와 같이, 장래의 분산 대장 기술 및 특히, 블록체인 기술은, 스마트 계약들을 정의하기 위해서 특징 풍부한 기능들을 포함할 것이다. 스마트 계약들은, 예를 들어 복잡한 비즈니스 로직, 인텔리전트 에이전트들 등이 스마트 계약으로서 구현될 수 있도록 튜링 완전 프로그래밍 언어(Turing complete programming language)로 기입될 수 있다. 인텔리전트 에이전트들 등의 스마트 계약들은, 블록체인 아키텍처 상에서 실행할 수 있다.
네트워크를 통해서 접속되는 전자 디바이스들, 예를 들어 사물 인터넷(IoT) 디바이스들이, 몇 가지 방법으로 분산 대장 기술을 사용할 수 있다는 것이 인식되었다. 제1 예에 따르면, 분산 대장 또는 블록체인이 사용되어, 그러한 디바이스들 간에서 데이터를 공유할 수 있다. 제2 예에 따르면, 디바이스들의 리소스들은, 블록체인에서 트레이딩될 수 있다. 제3 예에 따르면, 블록체인은, 디바이스들의 서브세트들 간에 신뢰 관계를 확립할 수 있다.
서두에서 설명한 바와 같이, 대장을 복수의 엔티티, 예를 들어 디지털 트랜잭션들을 기록하는 전자 디바이스들, 서버들 등에 분산하는 것이 알려져 있다. 분산 대장들은, 예를 들어 공지된 암호 통화 비트 코인을 기초로 하는 공지된 블록체인 기술에 기초할 수 있다. 블록체인 및 분산 대장의 용어들에 관한 통일된 정의는 아직 없다. 본 명세서에서는, 가장 넓은 정의에서는, 이 용어들은, 네트워크의 복수의 노드와 디지털 기록된 데이터를 공유하는 데이터베이스의 타입으로서 사용된다. 그것은 피어 투 피어 네트워크로 구성될 수 있다. 디지털 기록된 데이터는, 동일한 데이터베이스 상의 이전에 기록된 데이터로부터 그 일관성을 증명하기 위한 일종의 정보를 포함할 수 있다.
분산 대장들은 공개적일 수 있고, 누구나에 의해 액세스가능할 수 있지만, 원칙적으로, 그것들은 비공개적일 수도 있고, 권한을 갖는 사용자들만이 그것들에 액세스할 수 있는 권한을 가질 수 있다. 계층화된 각 사용자로부터 대장에서의 데이터에의 액세스 허가를 구별할 수도 있다.
분산 대장들은, 예를 들어 비트 코인에 사용되는 것 같은 블록체인으로부터 알려져 있는 메커니즘들을 사용할 수 있다. 그러한 메커니즘들은, 발견 방법, 콘센서스 메커니즘 및 데이터 정합성을 유지하기 위한 메커니즘 등을 포함한다. 콘센서스 메커니즘은, 분산 대장의 사본을 갖는 모든 노드 또는 특정한 수를 초과하는 노드, 일반적으로는 전자 디바이스들이, 분산 대장의 내용에 대해서 합의에 이르는 것을 보증한다. 일부 종류의 암호 퍼즐이며, 예를 들어 블록체인의 낡은 블록들이 (용이하게) 변경될 수 없다는 것을 보증하는, 소위 프루프 오브 워크 메커니즘을 포함하는, 많은 콘센서스 메커니즘이 존재한다. 예를 들어, 비트코인 블록체인의 마이닝(mining) 프로세스에는, 프루프 오브 워크가 사용된다.
블록체인 기술에 기초하는 분산 대장의 또다른 예는, 소위 이더리움 프로젝트이다. 이더리움은 어카운트들을 사용하고, 모든 어카운트의 상태는 이더리움 블록체인에 의해 추적된다. 어카운트들의 2개의 타입이 있는데, 즉, 프라이빗 키들에 의해 제어되는 외부 소유 어카운트(externally owned account)와, 그 계약 코드에 의해 제어되고, 외부 소유 어카운트에 의해서만 활성화될 수 있는 계약 어카운트들이다. 계약 어카운트는 프로그램 가능 코드 또는 스마트 계약들을 포함할 수 있다. 이더리움의 사용자들은 또한, 이더(ether)라고 불리는 요금을 지불해야 한다. 이더는, 블록을 마이닝하는 것에 대한 보수이다.
그에 따라, 몇 가지의 실시예는, 가상 디바이스를 제공하는 장치에 관한 것이고, 본 장치는, 분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하고- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택하는 것(조합하는 것을 포함할 수 있음)에 의해 가상 디바이스를 제공하도록 구성된 회로를 포함한다.
본 장치는, 임의의 타입의 전자 장치, 예를 들어 범용 컴퓨터, 컴퓨터들의 시스템, 모바일 디바이스(스마트폰 등), 서버, 네트워크 노드, 분산 대장 네트워크의 노드 등일 수 있다.
본 회로는, 하나 이상의 프로세서를 포함할 수 있지만, 본 장치의 보다 많은 전자 부품, 특히, 본 명세서에 기재된 방법들 및 프로세스들을 실행하는 데 필요한 그러한 전자 부품들도 포함할 수 있다.
가상 디바이스는, 사전 정의된 특성들의 세트를 갖는 가상 전자 디바이스일 수 있다. 이 특성들은, 예를 들어 사용자에 의해, 사전 정의될 수 있다. 그러한 특성들은, 지리적 특성들, 센서 특성들, 계산 특성들, 요금 특성들, 시간 특성들 등의 소프트웨어, 비즈니스, 하드웨어 특성들을 포함할 수 있다.
분산 대장은, 예를 들어 인터넷을 포함할 수 있는 네트워크를 통해, 서로 상호접속될 수 있고, 분산 대장 네트워크의 네트워크의 노드들일 수 있는, 전자 디바이스들, 서버들 등의 복수의 엔티티에 분산될 수 있다.
본 장치는, 네트워크(로컬 에어리어 네트워크 및 무선 네트워크 등)에 접속되도록 구성될 수 있고, 네트워크를 통해서 인터넷에 액세스할 수도 있다. 장치(회로)는 네트워크 인터페이스 등을 포함할 수 있고, 회로는, 네트워크를 통해서 통신하도록 구성될 수 있다. 장치는, 또한 분산 대장 네트워크의 노드일 수 있다.
리소스 디바이스들은, 임의의 종류의 전자 디바이스 또는 심지어 전자 디바이스의 일부일 수 있다. 리소스 디바이스들은, 인터넷을 포함할 수 있는 네트워크를 통해서 서로 및/또는 장치와 상호접속될 수 있다.
리소스 디바이스들은, 몇 가지의 특성을 가질 수 있고, 분산 대장은, 복수의 리소스 디바이스에 관한 정보를 포함한다.
장치는 분산 대장의 사본을 포함할 수 있고, 및/또는 장치가 분산 대장을 통해 검색할 수 있고, 가상 디바이스의 특성들의 세트의 하나 이상의 특성을 제공하는 리소스 디바이스들을 발견할 수 있도록, 장치는 분산 대장의 사본에 액세스할 수 있다.
장치는, 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공한다. 이 리소스 디바이스들은, 분산 대장을 통해 검색함으로써 검출 및 취득된다.
IoT 디바이스들 등의 전자 디바이스들은, 장수명을 갖도록 기대된다. 그러나, 기술적 진보들에 의해, IoT의 잠재적인 기능들은 급속하게 증가할 수 있다. 따라서, 고객들은, 정기적으로 새로운 디바이스를 구입하고 싶지 않아도 자신의 디바이스를 업그레이드하기 위한 다양한 수단들을 가질 수 있다. 가능한 것은 오버-디-에어(over-the-air) 소프트웨어 업그레이드인데, 추가 기능은 추가 하드웨어 지원을 필요로 할 수 있고, 그것은 실현하는 것이 용이하지 않을 수 있거나 또는 공지된 디바이스들에서 실현하는 것이 심지어 불가능할 수 있다. 또한, 사용자가 한정된 시간량 동안 전자 디바이스를 사용하는 것을 바랄 수 있지만, 현재의 해결책들은, 전형적으로, 사용자가 일시적으로 디바이스를 필요로 하는 경우에는 유연한 해결책을 제공하지 않는 것이 일어날 수 있다. 예를 들어, 의료 감시 디바이스는, 단지 질병 동안 사용자에 의해 필요해질 수 있다. 또한, 전자 디바이스들은, 통상적으로 상당히 고정된 기능을 갖는다. 따라서, 추가의 기능이 필요한 경우, 사용자는 새로운 디바이스를 구입해야 할 수 있다. 마지막으로, 현재의 해결책들에서는, 전자 디바이스의 구성 요소들을 다른 목적들로 재이용하는 것은 곤란하다.
본 명세서에서 설명한 바와 같이 가상 디바이스를 제공함으로써, 임의의 요구에 대하여 각각의 가상 디바이스가 정의될 수 있고, 각각의 리소스 디바이스가 발견된 경우에 가상 디바이스를 제공될 수 있도록, 가상 디바이스가 요구마다 정의될 수 있으므로, 이 문제들에 대처할 수 있다.
따라서, 네트워크 또는 IoT 디바이스 등의 디바이스가 가상 디바이스로서 가상 방식으로 정의될 수 있으므로, 가상 디바이스의 구성의 관점에서 유연성이 제공된다. 또한, 가상 디바이스의 기능들은 용이하게 업그레이드될 수 있다. 사용자들 또는 본 명세서에 기재되는 장치는, 그것들이 그 서비스를 필요로 하는 시간 동안에만 가상 디바이스를 조작 및 소유할 수 있다. 또한, 가상 디바이스들은, 사용되지 않는 리소스 디바이스들의 리소스들을 재이용할 수 있다. 이것은 또한, 리소스 디바이스들의 소유자들에 수익의 가능성을 제공한다.
가상 디바이스를 정의하기 위해서 블록체인 등의 분산 대장을 사용함으로써, (완전히) 분산된 접근법을 달성할 수 있다. 몇 가지의 실시예에서는, 가상 디바이스들은, 그것들의 기능을 구현하기 위해서 프로그램 코드 및 로직을 실행할 필요가 있을 것이다. 그러한 프로그램 코드는, 스마트 계약의 언어로 정의될 수 있고, 블록체인 상에서 실행될 수 있다. 이것은, 블록체인의 다른 요소들(예를 들어, 다른 가상 IoT 디바이스들, 스마트 계약들 등)과 상호작용하기 위한 완전히 자동화된 방법을 제공할 수 있다.
몇 가지의 실시예에서는, 회로는, 가상 디바이스의 특성들의 세트에 기초하여 가상 디바이스 스마트 계약을 생성하도록 추가로 구성된다. 따라서, 가상 디바이스 스마트 계약이 사용되어, 가상 디바이스와, 예를 들어 그것이 갖는 리소스들 등의 그 특성들을 정의할 수 있다. 리소스들은, 예를 들어 센서들, 스토리지, 계산 기능들 등일 수 있다. 일반적으로, 상기한 바와 같이, 특성들은, 하드웨어(센서, 스토리지, 계산 리소스들 등), 소프트웨어(프로그래밍 언어(예를 들어, 튜링 언어)) 및 비즈니스 특성들(지불해야 할 요금, 사용 시간, 사용자 수 등) 등의 다른 타입들의 특성들 중 적어도 하나를 포함할 수 있다.
회로는, 가상 디바이스 스마트 계약을 분산 대장에 저장하도록 추가로 구성될 수 있다. 그것에 의해, 스마트 계약은, 분산 대장에 의해, 예를 들어 분산 대장을 유지하는 노드들(서버들, 전자 디바이스들 등)에 의해 실행될 수도 있다.
회로는, 가상 디바이스를 활성화하도록 추가로 구성될 수 있다. 이것은, 예를 들어 분산 대장에서 스마트 계약을 활성화함으로써, 구현될 수 있다.
나타낸 바와 같이, 분산 대장은 블록체인일 수 있고, 이는 예를 들어 비트 코인 또는 이더리움 프로젝트에 사용되는 원리들에 기초할 수 있다. 블록체인은, 블록체인(분산 대장)을 유지하는 모든 노드가 블록체인의 내용에 대해서 콘센서스에 도달하는 것을 보증하는 콘센서스 메커니즘 등의 전형적인 메커니즘들을 구현할 수 있다. 그것은 마이닝(mining) 및 프루프 오브 워크 메커니즘들을 사용할 수 있고, 그것은 심지어 통화로서 및/또는 마이닝(mining)을 실행하기 위한 보수로서, 이더(ether) 또는 비트 코인 등의 일부 종류의 보수(통화)를 사용할 수 있다.
블록체인은, 예를 들어 복수의 리소스 디바이스에 관한 정보에 기초하여, 및/또는 제공된 가상 디바이스에 관한 정보, 예를 들어 가상 디바이스 스마트 계약에 기초하여 형성되는 복수의 블록을 포함할 수 있다. 몇 가지의 실시예에서는, 복수의 리소스 디바이스에 관한 정보는, 예를 들어 리소스 디바이스들의 리소스들(기능들), 지불되어야 할 요금, 이용 가능성(이용 가능 시간) 등에 관한 정보를 포함하는 스마트 계약 정보(예를 들어, 스마트 계약)를 포함한다. 정보는, 트랜잭션들의 형식으로 블록체인에 제공될 수 있다.
스마트 계약 정보는 또한, 각각의 리소스 디바이스를 제어하기 위해서 실행될 수 있는 프로그램 코드 또는 디바이스 로직(코드)을 포함할 수 있다.
일반적으로, 본 명세서에서 언급되는 스마트 계약들 및 스마트 계약 정보는, 튜링(완전) 언어에 기초할 수 있어서, 그것은 보편적으로 적용 가능하다.
몇 가지의 실시예에서와 같이, 리소스 디바이스들은 분산 대장(또는, 블록체인)을 유지하는 네트워크의 노드들일 수 있고, 분산 대장은 리소스 디바이스들에 의해 (적어도 부분적으로) 유지될 수 있다.
실세계 또는 물리 디바이스들일 수 있는 리소스 디바이스들은, 그것들의 리소스들 및 기능들, 예컨대 센서 기능, 스토리지 기능 및 계산 기능들 등을 분산 대장 또는 블록체인 상에 노출하도록 구성될 수 있다(상기의 설명도 참조).
몇 가지의 실시예는, 가상 디바이스를 제공하는 방법에 관한 것이고, 장치의 회로에 의해 실행되는 기능들의 설명은, 그 방법에 완전히 적합하다. 본 방법은, 상기한 바와 같이 분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하는 단계- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 및 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공하는 단계를 포함한다. 본 방법은, 상기한 바와 같이 가상 디바이스의 특성들의 세트에 기초하여 가상 디바이스 스마트 계약을 생성하는 단계를 포함할 수 있다. 상기한 바와 같이 분산 대장에 가상 디바이스 스마트 계약을 저장하는 단계를 포함할 수 있고, 가상 디바이스를 활성화하는 단계를 포함할 수 있다. 리소스 디바이스들은, 상기한 바와 같이 인터넷(사물 인터넷) 등의 네트워크에 접속할 수 있다. 분산 대장은, 상기한 바와 같이 블록체인일 수 있다. 복수의 리소스 디바이스에 관한 정보는, 상기한 바와 같이 프로그램 코드를 포함할 수 있고 튜링 언어에 기초할 수 있는 스마트 계약 정보를 포함할 수 있다.
도 1로 되돌아가면, 본 개시의 실시예의 일반적 개요가 나타나고 있다. 장치(1), 예를 들어 회로(2)를 갖는 전자 디바이스, 컴퓨터 등이 제공된다. 장치(1)는, 복수의 블록을 갖는 블록체인(3)과 통신하고, 여기에서는, 예시적인 블록(4)이 나타나고 있다. 블록체인(3)은, 분산 대장의 일례이며, 복수의 컴퓨터, 서버 등(도시하지 않음)에 의해 유지된다.
또한, 네트워크를 통해, 이 경우에는 인터넷을 통해 통신하고, IoT(“사물 인터넷”) 디바이스 A, B 및 C로서 또한 지칭되고, 상기와 같이 리소스 디바이스들로서 간주되는, 실세계 또는 물리 디바이스들(5, 6 및 7)이 제공된다.
IoT 디바이스들 A, B 및 C는, 원칙적으로, 카메라, 센서, 스토리지 또는 유사한 것 등의, 인터넷을 통해 통신할 수 있는 임의의 종류의 디바이스일 수 있다. 물론, 본 개시는, 특정한 수의 디바이스에 한정되지 않고, 3개의 디바이스(5, 6 및 7)의 수는 예시 목적들을 위해 임의로 선택된다.
IoT 디바이스들(5, 6 및 7)은, 블록체인(3)에 액세스한다. 그러한 액세스는 허가될 수 있거나, 허가되지 않을 수 있다.
본 실시예에서는, 이들의 IoT 디바이스들(5, 6 및 7)은, 이용 가능한 센서들, 스토리지 용량, 계산 기능들, 액추에이터들 등의 관점에서 다른 기능들을 갖는다. 또한, 이들의 IoT 디바이스들(5, 6 및 7)은, 다른 사용자들에 의해 소유되고, 이 점에 대해서 본 개시를 한정하지 않고, 이 실시예에서는 다른 장소들에 배치된다.
IoT 디바이스들(5, 6 및 7)의 모든 리소스가 사용되는 것은 아니고, 또는 그것들이 계속적으로 사용되지 않는 것이 가능하다. 본 실시예에서는, IoT 디바이스들(5, 6 및 7) 등의 리소스 디바이스들의 리소스들이 재이용될 수 있다. 이 목적을 위해, 본 실시예에서는, IoT 디바이스(5, 6 및 7)의 각각의 하나는, 블록체인(3) 상에 및 블록(4) 내에 각각 리소스 계약을 생성 및/또는 제공한다. 본 명세서에서는, 리소스 계약은, IoT 디바이스(5, 6 또는 7)에 의해 내보내지는 리소스들 및 그 리소스들의 이용 가능성을 정의하는 스마트 계약이다. 또한, IoT 디바이스(5, 6 또는 7)는, 리소스를 사용하는 임의의 당사자가 IoT 디바이스들(5, 6, 또는 7), 또는 그 소유자에 보수를 부여할 것을 요구할 수 있다. 따라서, 리소스의 비용도, 리소스 계약에서 정의된다. IoT 디바이스들(5, 6 및 7)에 의해 내보내질 수 있는 리소스들의 예들은, 데이터를 위한 스토리지 용량, 데이터를 위한 데이터 통신 기능들, 센서들에 의해 빼앗기는 측정값들, 카메라에 의해 찍어지는 화상들 및 동화상들, 실세계에서 작동하는 기능 등이다.
그 회로(2)를 갖는 장치(1)는, 블록체인 상의 IoT 디바이스들, 예컨대 IoT 디바이스들(5, 6 및 7)에 의해 내보내지는 몇 가지의 다른 리소스를 예를 들어, 트랜잭션들로서 사용하는 가상 IoT 디바이스를 생성한다.
가상 IoT 디바이스 계약(8)은, 가상 IoT 디바이스 및 그것이 사용하는 리소스들, 예를 들어 본 실시예에서는, 센서 리소스(8b), 스토리지 리소스(8c) 및 계산 리소스(8d)를 정의할 수 있다. 이 실시예에서는, 가상 IoT 디바이스 계약(8)은, 디바이스 로직(8a)도 포함하는 스마트 계약이다. 디바이스 로직(8a)은, 가상 IoT 디바이스의 동작을 정의하는 프로그램 코드이다. 이러한 프로그램 코드는, 현재의 블록체인(3)의 스마트 계약들에 의해 지원되는 튜링 완전 언어로 구현된다.
사용자는, 한정된 시간량 동안, 장치(1)로 가상 IoT 디바이스 계약(8)을 생성할 수 있다. 가상 IoT 디바이스 리소스들 또는 리소스 디바이스들의 구성 동안, 예를 들어 IoT 디바이스들(5, 6 또는 7)은, 몇 가지의 기준에 기초하여 선택될 수 있다. 그러한 기준의 예들은, 리소스 디바이스의 이용 가능성, 리소스 디바이스의 성능 특성들 및 리소스 디바이스의 비용 등이다. 리소스 디바이스들의 일부 타입에 대해서는, 리소스의 장소도 중요할 수 있다. 그러한 리소스 디바이스의 일례는, 가상 IoT 디바이스의 사용자에 관련된 물리량을 측정하는 센서, 특정한 영역을 촬상하는 카메라 등이다. 다른 리소스 디바이스들의 경우, 물리적 위치, 예를 들어 장치(1)와는 다른 위치에 존재할 수 있는 데이터를 위한 스토리지 스페이스는, 중요하지 않을 수 있다.
일반적으로, 가상 IoT 디바이스 계약(8)이 정의된 후, 그리고 선택된 IoT 디바이스들(5, 6 및 7)의 리소스 계약들(5a, 6a 및 7a)이 (예를 들어, 트랜잭션으로서) 추가된 후, 블록(4)은, 블록체인(3)에 의해 형성될 수 있다. 상기한 바와 같이 이것은, 일반적으로 알려져 있는 바와 같이, 프루프 오브 워크 메커니즘을 포함할 수 있다. 몇 가지의 실시예에서는, 블록을 발견하는 것에 대한 보수, 예를 들어 비트 코인, 이더 또는 다른 가상/디지털 통화 등이 존재할 수 있다.
몇 가지의 실시예에서는, 가상 IoT 디바이스의 상태는, 나중에 사용하기 위해서 아카이브(archive)할 수 있다. 이것은, 예를 들어 가상 IoT 디바이스 및/또는 가상 IoT 디바이스 계약(8)의 셋업을, 예를 들어 장치(1)의, 스토리지에 저장함으로써 행해질 수 있다. 가상 IoT 디바이스가 재기동되는 경우, 그 리소스들 각각은, 물리적인 리소스 디바이스들, 예를 들어 IoT 디바이스들(5, 6 및 7)에 의해 충족되게 해야 한다. 리소스 계약들은, 리소스들을 충족하는 블록체인에서 선택될 수 있다. 모든 리소스가 충족되면, 가상 IoT 디바이스가 재기동될 수 있다.
다른 실시예들에서는, 가상 IoT 디바이스들의 리소스들은, 물리 리소스 디바이스들, 예를 들어 IoT 디바이스들(5, 6 및 7)에 의해, 용장(redundant) 방식으로 구현된다.
본 개시의보다 일반적인 구현예를 설명한 후, 이하에서, 실시예들의 몇 가지의 보다 구체적인 예가 주어진다.
예를 들어, 가상 IoT 디바이스는, 가상의 식물 및 작물 모니터일 수 있다. 그러한 가상 IoT 디바이스는, 옥내 및/또는 옥외의 상황에서 소비자 또는 농부의 식물들 및 작물들을 감시한다. 가상 IoT 디바이스는, 이하의 센서 리소스들: 예를 들어 작물이 생육하는 지역의 저해상도 영상을 제공하는 위성 촬상 시스템이 사용될 수 있다. 이 영상으로부터, 생육 지역의 함수량이 검출될 수 있다. 최신의 일기 예보를 제공하는 기상 스테이션이 사용될 수 있다. 센서 데이터는, 예를 들어 예비의 스토리지 기능을 갖는 스토리지 디바이스에 의해 제공되는 리소스에 저장된다.
가상 IoT 디바이스는, 예를 들어 추가 센서들, 보다 우수한 기능들을 갖는 센서들 등을 사용하도록 재구성될 수 있다. 예를 들어, 드론(drone)이 이용 가능할 수 있고, 그것은 거기에서 상세한 작물 정보가 도출될 수 있는 재배 지역의 고해상도 하이퍼-스펙트럼 화상을 제공한다. 예를 들어, 나무들에서의 열매들의 현재 상황은, 그것들의 숙도를 포함하여 자동적으로 평가될 수 있다. 나무들에서의 열매들이 나타나기 시작할 때 이러한 드론에 의해 제공되면, 농부는 장치(1)를 사용하여 이 기능을 주문할 수 있다.
다른 실시예에서는, 가상 IoT 디바이스는 환자의 약물 사용량을 감시하도록 구성된다. 그러한 가상 IoT 디바이스는, 환자가 아픈 기간 동안 생성될 수 있다. 가상 디바이스의 리소스들은, 환자가 소유하는 카메라들 또는 환자를 촬상할 수 있는 카메라들을 포함할 수 있다. 이 카메라들은 또한, 다른 전자 디바이스들, 예를 들어 휴대 전화, 랩톱 등에 통합되고 배치될 수 있고, 환자의 자택 및 직장 환경에서의 환자의 영상을 기록할 수 있다. 가상 IoT 디바이스는 또한, 정제들이 상자로부터 꺼내지는 경우를 검출하기 위해서 스마트 약 상자들에 의해 제공되는 기능을 사용할 수 있다. 가상 IoT 디바이스 프로그램은, 환자가 자신의 약을 복용했을 경우를 검출하기 위해서 스마트 약 상자로부터의 정보와 함께 환자의 영상을 사용할 수 있다. 정보를 저장하기 위해서는, 스토리지 기능을 갖는 임의의 IoT 디바이스에 의해 제공될 수 있는 스토리지 리소스도 요구된다. 가상 IoT 디바이스는, 약이 아직 복용되지 않은 것을 환자에게 알리기 위해서 휴대 전화에 의해 제공되는 리소스들을 사용할 수 있다.
이하에서는, 도 3 내지 도 5를 참조하여 추가의 실시예가 설명된다. 이 실시예에서는, 가상 IoT 디바이스는 감시 시스템이며, 그것은 도 1과 관련해서 설명된 일반적인 아키텍처에 기초한다.
도 2는, 여러가지 리소스 디바이스를 사용한 실세계 셋업을 나타낸다.
예를 들어, 제1 회사는, 리소스 디바이스들(13a 내지 13e)을 갖고, 제2 회사는, 리소스 디바이스들(14a 내지 14d)을 갖는다.
제1 회사는 카메라들(13a, 13c, 13d 및 13e)을 갖고, 카메라(13a)는 건물(11) 내에 배치되고, 카메라(13c)는 주차 스페이스(11a)에 배치되고, 카메라들(13d 및 13e)은 도로(15)에 따라 배치된다. 또한, 제1 회사는, 스토리지(13b)를 갖는다.
제2 회사는, 건물(11) 내에 카메라(14b), 주차 스페이스(11a)에 제2 카메라(14c) 및 도로(15)에 제3 카메라(14d)를 갖는다. 또한, 제2 회사는, 건물(11) 내에 ID 센서(14a)를 갖는다. 이하에서는, 고객이 인물(타겟)을, 예를 들어 그 사람의 타겟 화상(10)에 기초하여, 감시하는 것을 바라고 있는 것으로 가정한다. 사람은 건물(11) 내에서 일하고, 그 사람이 감시되어야 하는 도로(15)를 따라 자신의 집(12)에 되돌아간다.
시스템의 개요가, 도 3을 참조하여 이제 추가로 설명된다.
도 3은, IoT 디바이스들의 예시적인 세트를 나타내고, 보다 일반적으로는, 분류들로서, 도 2의 카메라들(13a 및 13c-e)을 심벌화하고, 제1 회사가 소유하는 예시적인 카메라 IoT 디바이스(25)를 나타낸다. IoT 디바이스(25)는, “대장 서버 A”로서 지칭되는 제1 회사의 회사 서버에 접속된다.
또한, 스토리지 IoT 디바이스(26)가 제1 회사의 대장 서버 A에 접속되고, 이는 제1 회사의 스토리지(13b)를 심벌화한다. 또한, 제2 회사의 ID 센서(14a)를 심벌화하는 제2 회사의 대장 서버 B에는, ID 센서 IoT 디바이스(27)가 접속된다. 물론, 카메라들(14b 내지 14d)도 대장 서버 B에 접속될 수 있고, 도 3에서는 명료성의 이유들로 그 도시는 생략된다. 또한, 추가의 회사들의 추가 대장 서버들이 제공될 수 있다.
대장 서버들 A 및 B를 포함하는 모든 회사의 대장 서버들의 세트는, 분산 대장 또는 블록체인(23)을 유지한다. 블록체인(23)에의 액세스는, 인가된 대장 서버들만이 그것에 액세스할 수 있도록 허가될 수 있다. 다른 실시예들에서는, 블록체인(23)에의 액세스는 개방된다.
원칙적으로, 그리고 또한 상기한 바와 같이, 대장 서버들 A, B 등 각각은, 블록체인(23)의 로컬 사본을 갖는다.
IoT 디바이스들(25, 26 및 27) 각각(또는, 접속되는 대장 서버)은 상기한 바와 같이 각각의 IoT 디바이스(25, 26 및 27)의 기능들 및 이용 가능성을 기술하는 스마트 계약으로서 구현되는 리소스 계약(25a, 26a 및 27a)을 생성한다. 리소스 계약은, 예를 들어 트랜잭션의 형식으로, 블록체인(23)의 블록(24)에 내장된다.
사용자는, 회로(22)를 포함하는 장치(21)를 사용하여 가상 IoT 디바이스를 정의하고 사용할 수 있다. 본 실시예에서는, 가상 IoT 디바이스는 감시 모니터이다. 가상 IoT 디바이스는, 도 2의 13a 내지 13e 및 14a 내지 14d 등의 다른 회사들이 소유하고 IoT 디바이스들(25, 26 및 27)에 의해 심벌화되는 리소스들을 사용하고, 장치(21)는 블록체인(23)을 사용하여 리소스들을 발견할 수 있다.
이하에서는, 블록체인(23) 상에서 리소스 계약을 제공하는 방법(30)을, 도 4를 참조하여 설명한다.
상기한 바와 같이, 가상 IoT 디바이스가 감시 모니터링 서비스일 경우, IoT 디바이스들은, 예를 들어 특정한 지리적 영역을 촬상할 수 있는 카메라들(13a, 13c-e, 14b-d), 특정한 지리적 영역의 화상들을 포함할 수 있는 스토리지들(13b), 특정한 사람의 개인 ID를 인식하는 ID 센서들(14a) 등일 수 있다. 도 3에서 25, 26 및 27로서 요약된 이 IoT 디바이스들, 또는 그것들이 접속되는 각각의 대장 서버들 A 및 B는, 도 4의 방법(30)을 따라서 블록체인(23)을 위한 리소스 계약을 정의할 수 있다.
31에서, IoT 디바이스들(25, 26 및 27)은, 그것들의 현재의 기능들을 평가할 수 있다. 이 기능들은, 예를 들어 카메라의 타입(컬러, 흑색 및 백색, 적외선), 카메라 레코드들의 해상도 및 프레임 레이트, 카메라 레코드들의 지리적 영역 등을 포함된다.
또한, 예를 들어 카메라 IoT 디바이스(25)의, 이용 가능성이 또한 평가된다. 예를 들어, 카메라 IoT 디바이스(25)는, 야간 동안에만 온라인일 수 있다. 스토리지 IoT 디바이스(26)의 경우, 스토리지 IoT 디바이스(26)에 저장된 화상 데이터는 언제나 검증될 수 있으므로, 이용 가능 시간은 그렇게 중요하지 않을 수 있다.
IoT 디바이스의 기능들은, IoT 디바이스 자체에 저장될 수 있다. 예를 들어, 카메라 IoT 디바이스(25)의 기능들은, IoT 디바이스(25)의 스토리지에 저장될 수 있고, 필요하면 그로부터 판독될 수 있다. IoT 디바이스들(25, 26 및 27)의 기능들의 평가는, IoT 디바이스(25, 26 및 27)를 소유할지 또는 그것에 대한 제어를 갖는 각각의 대장 서버에 의해 실행될 수도 있다.
32에서, 리소스 계약(25a, 26a 및 27a)이 IoT 디바이스들(25, 26 및 27) 각각에 대하여 정의되며, 리소스 계약은 스마트 계약이다.
리소스 계약(25a, 26a, 27a)은, 사용되는 블록체인(23)에 의해 정의되는 것과 같은 포맷으로 되어 있다. 본 실시예에서는, 리소스 계약(25a, 26a, 27a)은, 여러가지 기능들 및 이용 가능성을, 예를 들어 수치와 링크하는 룩업 테이블을 포함한다. 룩업 테이블은, 튜링 완전 언어일 수 있는 블록체인(23)의 스마트 계약 언어로 이용 가능한 표준 데이터 구조들에 의해 구현될 수 있다. 예를 들어, 룩업 테이블은, 리스트, 딕셔너리(dictionary) 또는 해시 테이블(hash table) 등으로서 구현될 수 있다. 33에서, IoT 디바이스들(25, 26, 27) 또는 각각의 대장 서버들은, 블록체인(23)의 블록(24)에 포함하기 위해서 리소스 계약들(25a, 26a, 27a)을 발행한다. 리소스 계약들(25a, 26a 및 27a)은, 예를 들어 특별한 타입의 트랜잭션에서 방송될 수 있다.
마이닝이 실행되면, 예를 들어 대장 서버들 A 및 B에 의해, 리소스 계약들(25a, 26a 및 27a)은, 블록(24)으로서 블록체인(23)에 포함된다.
설명한 바와 같이, 감시 모니터로서 기능하는 가상 IoT 디바이스는, 그 구성에 따라, 리소스 계약들에서 정의되는 몇 가지의 리소스 디바이스와 상호작용한다. 본 실시예에서는, 가상 IoT 디바이스는, 타겟 화상(10)에 의해 식별되는 특정한 인물을 감시하기 위해서, 리소스 디바이스들(13a-e 및 14a-d)(25-26에 의해 심벌화됨)을 사용할 수 있다. 설명한 바와 같이, 리소스 디바이스들(25, 26 및 27)은, 그 각각의 리소스 계약(25a, 26a 및 27a)을 블록체인(23) 상에 발행하였다.
감시 모니터로서 기능하는 가상 IoT 디바이스는, 스마트 계약(28)으로서 구현된다(도 3 참조). 가상 IoT 디바이스는, 타겟 화상(10), 디바이스 로직(28a) 및 리소스들의 세트, 즉, 예시적인 화상 리소스(28b), 스토리지 리소스(28c) 및 센서 리소스(28d)를 포함한다.
화상 리소스들(28b)은, 카메라 IoT 디바이스(25)에 의해 제공되고, 이는 그 카메라들(13a 및 13c-e)의 세트를 심벌화한다. 설명한 바와 같이, 카메라 디바이스들(14b-d)도, 화상 리소스(28b)를 위해 제공될 수 있다.
마찬가지로, 스토리지 리소스(28c)는, 스토리지(13b)를 포함하는 스토리지 IoT 디바이스(26)에 의해 제공되고, 센서 리소스(28d)는, ID 센서(14a)를 포함하는 센서 IoT 디바이스(27)에 의해 제공된다.
가상 IoT 디바이스의 구성 동안, 스마트 계약(28)은, 적절한 리소스들(28b-d)을 사용하여 생성된다.
이하에서는, 감시 모니터로서 기능하는 가상 IoT 디바이스를 제공하기 위한 방법(40)이, 도 5를 참조하여 설명되고, 이는 장치(21) 및 그 회로(22) 각각에 의해 실행될 수도 있다. 가상 IoT 감시 시스템에 의해 추적하기 위한 타겟을 정의하는 타겟 화상(10) 및 타겟이 추적될 지리적 영역은, 방법(40)에 입력된다(그리고 가상 IoT 디바이스에 입력될 수도 있음).
41에서, 블록체인(23)은, 방법(40)에 입력되는 지리적 영역을 영상화할 수 있고, 예를 들어 스토리지에 저장된 화상들 및 타겟의 판정 ID에 기초하여, 추가의 추적 정보를 제공할 수 있는 리소스 계약들(25a, 26a 및 27a) 등의 리소스 계약들에 대해서 검색된다. 따라서, 장치(21)는, 리소스들(28b, 28c 및 28d)에 적합한 리소스 계약들에 대해서 블록체인(23)을 검색한다.
42에서, 충분히 높은(즉, 사전 정의된 역치를 초과함) 해상도, 충분히 높은(즉, 사전 정의된 역치를 초과함) 프레임 레이트, 촬상 IoT 디바이스에서 실행될 수 있는 추가의 화상 처리 기능 등의 추가의 요건을 충족시키는, 발견된 디바이스들의 서브세트가 선택된다. 본 실시예들에서는, 이 서브세트는, 디바이스들(25, 26 및 27)을 포함한다.
43에서, 타겟 화상(10)에 의해 정의되는 타겟을 추적할 필요가 있는 시간 동안, 선택된 리소스들이 블록체인(23) 상에 예약된다. 리소스 디바이스들(25, 26 및 27)의 예약을 구현하기 위해서, 트랜잭션들은, 블록체인(23) 및 블록(24) 각각에 추가될 수 있다.
44에서, 장치(21)는, 예약된 리소스들(25, 26 및 27)을 사용하는 가상 IoT 스마트 계약(28)을 정의한다. 가상 IoT 디바이스 계약(28)은, 트랜잭션과 함께 블록체인(23)의 블록(24)에 추가되어, 그것에 의해, 45에서 활성화된다.
몇 가지의 실시예에서는, 가상 IoT 디바이스 계약(28)은, 가상 IoT 디바이스 계약(28)이 포함되는 블록(24)의 마이닝이 종료된 후에만 활성화된다.
가상 IoT 디바이스 스마트 계약은 또한, 가상 IoT 디바이스의 수명 동안 실행될 디바이스 로직/프로그램 코드(디바이스 로직(28a) 등)를 포함할 수 있다. 예를 들어, 디바이스 로직(28a)은, 리소스들로부터 데이터를 취득하고, 일부 처리를 실행하는 것을 맡을 수 있다. 감시 모니터의 맥락에서, 타겟의 인식은, 스마트 계약 내의 디바이스 로직/프로그램 코드에 의해서 또한 실행될 수 있다.
이하에서는, 도 6을 참조하면서 일반적인 방법(50)을 설명하고, 본 방법은, 이하에서 추가로 설명하는 장치(1, 21 또는 90) 등의, 본 명세서에서 설명하는 것 같은 장치에 의해 실행될 수 있다.
51에서, 이는 분산 대장 내(예를 들어, 상술한 블록체인(3 또는 23))의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들이 검색되고, 분산 대장은, 상술한 바와 같이 복수의 리소스 디바이스에 관한 정보를 포함한다.
52에서, 가상 디바이스는, 상술한 바와 같이, 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 제공된다.
53에서, 상술한 바와 같이, 가상 디바이스의 특성들의 세트에 기초하여 가상 디바이스 스마트 계약이 생성된다.
54에서, 가상 디바이스 스마트 계약이 분산 대장에 저장된다.
55에서, 가상 디바이스는 상술한 바와 같이 활성화된다.
이하에서는, 범용 컴퓨터(90)의 실시예가 도 7을 참조하여 설명된다. 컴퓨터(90)는, 그것이 장치로서, 예를 들어 본 명세서에 기재된 장치(1 또는 21)로서, 기본적으로 기능할 수 있도록 구현될 수 있다. 컴퓨터는, 본 명세서에 기재된 장치의 회로들 중의 어느 것 등의 회로를 형성할 수 있는 구성 요소들(91 내지 100)을 갖는다.
본 명세서에 기재된 것 같은 방법들을 실행하기 위해서 소프트웨어, 펌웨어 또는 프로그램 등을 사용하는 실시예들은, 컴퓨터(90)에 인스톨될 수 있고, 이는 그 후, 구체적인 실시예에 적합하도록 구성된다. 컴퓨터(90)는, CPU(91)(중앙 처리 유닛)를 갖고, CPU(91)는, 예를 들어 리드 온리 메모리(ROM)(92)에 저장되는, 스토리지(97)에 저장되고 랜덤 액세스 메모리(RAM)(93)에 로드되는, 각 드라이브(99)에 삽입될 수 있는 매체(100)에 저장되는, 등의 프로그램들에 따라, 본 명세서에 기재된 것 같은 다양한 타입들의 절차들 및 방법들을 실행할 수 있다.
CPU(91), ROM(92) 및 RAM(93)은, 버스(101)에 접속되고, 버스(101)는 결국 입력/출력 인터페이스(94)에 접속된다. CPU들, 메모리들 및 스토리지들의 수는 단지 예시적인 것이고, 그것이 본 명세서에 기재된 장치로서 기능할 경우에 발생하는 특정한 요건들을 충족시키기 위해 컴퓨터(90)가 적절히 적응 및 구성될 수 있는 것을 당업자는 이해할 것이다.
입력/출력 인터페이스(94)에는, 몇 가지의 구성 요소: 입력(95), 출력(96), 스토리지(97), 통신 인터페이스(98) 및 매체(100)(콤팩트 디스크, 디지털 비디오 디스크 또는 컴팩트 플래시 메모리 등)가 삽입될 수 있는 드라이브(99)가 접속된다.
입력(95)은, 포인터 디바이스(마우스, 그래픽 테이블 등), 키보드, 마이크로폰, 카메라, 터치스크린 등일 수 있다.
출력(96)은, 디스플레이(액정 디스플레이, 음극선관 디스플레이, 발광 다이오드 디스플레이 등), 확성기들 등을 가질 수 있다.
스토리지(97)는, 하드 디스크, 솔리드 스테이트 드라이브 등을 가질 수 있다.
통신 인터페이스(98)는, 예를 들어 로컬 에어리어 네트워크(LAN), 무선 근거리 통신망(WLAN), 모바일 통신 시스템(GSM, UMTS, LTE 등), 블루투스(Bluetooth), 적외선 등을 통하여, 통신하도록 적응될 수 있다.
상기의 설명은 컴퓨터(90)의 예시적인 구성에만 관련된다는 것에 유의해야 한다. 추가의 또는 다른 센서들, 스토리지 디바이스들 또는 인터페이스들 등을 사용하여 대체 구성들이 구현될 수 있다.
본 명세서에 기재된 방법들은, 몇 가지의 실시예에서는, 컴퓨터 및/또는 프로세서에서 실행될 때, 컴퓨터 및/또는 프로세서로 하여금 그 방법을 실행하게 하는 컴퓨터 프로그램으로서도 구현된다. 몇 가지의 실시예에서는, 컴퓨터 프로그램 제품을 저장하는 비일시적 컴퓨터 판독가능 기록 매체도 제공되고, 이는, 상술한 프로세서 등의 프로세서에 의해 실행될 때, 본 명세서에서 설명되는 방법들이 실행되게 한다.
본 실시예들은, 방법 단계들의 예시적인 순서로 방법들을 설명한다는 것이 인식되어야 한다. 그러나, 방법 단계들의 구체적인 순서는 설명의 목적들을 위해서만 부여되고, 구속하는 것으로서 해석되어서는 안된다.
상술한 개시의 실시예들이 적어도 부분적으로 소프트웨어 제어 데이터 처리 장치를 사용하여 구현되는 한에서, 그러한 소프트웨어 제어를 제공하는 컴퓨터 프로그램 및 그러한 컴퓨터 프로그램이 제공되는 송신, 스토리지 또는 다른 매체가, 본 개시가 양태들로서 예상되는 것이 이해될 것이다.
본 기술은 이하와 같이 구성될 수도 있다는 것을 유의한다.
(1) 가상 디바이스를 제공하는 장치이며, 회로를 포함하고 이 회로는:
분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하고- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 및
가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공하도록 구성된다.
(2) (1)의 장치이며, 회로는, 가상 디바이스의 특성들의 세트에 기초하여 가상 디바이스 스마트 계약을 생성하도록 추가로 구성된다.
(3) (2)의 장치이며, 회로는, 가상 디바이스 스마트 계약을 분산 대장에 저장하도록 추가로 구성된다.
(4) (1) 내지 (3) 중 어느 하나의 장치이며, 회로는, 가상 디바이스를 활성화하도록 추가로 구성된다.
(5) (1) 내지 (4) 중 어느 하나의 장치이며, 리소스 디바이스들은 네트워크에 접속된다.
(6) (5)의 장치이며, 네트워크는 인터넷을 포함한다.
(7) (1) 내지 (6) 중 어느 하나의 장치이며, 분산 대장은 블록체인이다.
(8) (1) 내지 (7) 중 어느 하나의 장치이며, 복수의 리소스 디바이스에 관한 정보는 스마트 계약 정보를 포함한다.
(9) (8)의 장치이며, 스마트 계약 정보는 프로그램 코드를 포함한다.
(10) (8) 또는 (9)의 장치이며, 스마트 계약 정보는 튜링 언어에 기초한다.
(11) 가상 디바이스를 제공하는 방법이며, 본 방법은:
분산 대장에서의 가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 검색하는 단계- 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함함 -; 및
가상 디바이스의 특성들의 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 가상 디바이스를 제공하는 단계를 포함한다.
(12) (11)의 방법이며, 가상 디바이스의 특성들의 세트에 기초하여 가상 디바이스 스마트 계약을 생성하는 단계를 추가로 포함한다.
(13) (12)의 방법이며, 가상 디바이스 스마트 계약을 분산 대장에 저장하는 단계를 추가로 포함한다.
(14) (11) 내지 (13) 중 어느 하나의 방법이며, 가상 디바이스를 활성화하는 단계를 추가로 포함한다.
(15) (11) 내지 (14) 중 어느 하나의 방법이며, 리소스 디바이스들은 네트워크에 접속된다.
(16) (15)의 방법이며, 네트워크는 인터넷을 포함한다.
(17) (11) 내지 (16) 중 어느 하나의 방법이며, 분산 대장은 블록체인이다.
(18) (11) 내지 (17) 중 어느 하나의 방법이며, 복수의 리소스 디바이스에 관한 정보는 스마트 계약 정보를 포함한다.
(19) (18)의 방법이며, 스마트 계약 정보는 프로그램 코드를 포함한다.
(20) (18) 또는 (19)의 방법이며, 스마트 계약 정보는 튜링 언어에 기초한다.
(21) 컴퓨터 상에서 실행될 때, (11) 내지 (20) 중 어느 하나에 따른 방법을 컴퓨터로 하여금 실행하게 하는 프로그램 코드를 포함하는 컴퓨터 프로그램.
(22) 프로세서에 의해 실행될 때, (11) 내지 (20) 중 어느 하나에 따른 방법이 실행되게 하는 컴퓨터 프로그램 제품을 저장하는 비일시적 컴퓨터 판독가능 기록 매체.

Claims (20)

  1. 가상 디바이스를 제공하는 장치로서,
    회로를 포함하고, 상기 회로는:
    분산 대장에서의 상기 가상 디바이스의 특성들의 세트의 특성들을 제공하는, 네트워크에 접속된 리소스 디바이스들에 의해 생성된 리소스 스마트 계약들을 검색하고 - 상기 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함하고, 상기 복수의 리소스 디바이스 중 각 리소스 디바이스는 상기 리소스 디바이스의 상이한 기능들 및 이용 가능성을, 수치와 링크하는 룩업 테이블을 포함하는 리소스 스마트 계약을 생성하고 공개함 -;
    상기 가상 디바이스의 특성들의 상기 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 상기 가상 디바이스를 제공하고;
    상기 가상 디바이스의 특성들의 상기 세트에 기초하여 가상 디바이스 스마트 계약을 생성하고;
    상기 분산 대장에 상기 가상 디바이스 스마트 계약을 저장하고; 및
    상기 분산 대장 상의 상기 스마트 계약을 활성화시킴으로써 상기 가상 디바이스를 활성화시키도록 구성되는 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 분산 대장은 블록체인인 장치.
  8. 제1항에 있어서,
    상기 복수의 리소스 디바이스에 관한 상기 정보는 스마트 계약 정보를 포함하는 장치.
  9. 제8항에 있어서,
    상기 스마트 계약 정보는 프로그램 코드를 포함하는 장치.
  10. 제8항에 있어서,
    상기 스마트 계약 정보는 튜링(Turing) 언어에 기초하는 장치.
  11. 가상 디바이스를 제공하는 방법으로서,
    분산 대장에서의 상기 가상 디바이스의 특성들의 세트의 특성들을 제공하는, 네트워크에 접속된 리소스 디바이스들에 의해 생성된 리소스 스마트 계약들을 검색하는 단계 - 상기 분산 대장은 복수의 리소스 디바이스에 관한 정보를 포함하고, 상기 복수의 리소스 디바이스 중 각 리소스 디바이스는 상기 리소스 디바이스의 상이한 기능들 및 이용 가능성을, 수치와 링크하는 룩업 테이블을 포함하는 리소스 스마트 계약을 생성하고 공개함 -;
    상기 가상 디바이스의 특성들의 상기 세트의 특성들을 제공하는 리소스 디바이스들을 선택함으로써 상기 가상 디바이스를 제공하는 단계;
    상기 가상 디바이스의 특성들의 상기 세트에 기초하여 가상 디바이스 스마트 계약을 생성하는 단계;
    상기 분산 대장에 상기 가상 디바이스 스마트 계약을 저장하는 단계; 및
    상기 분산 대장 상의 상기 스마트 계약을 활성화시킴으로써 상기 가상 디바이스를 활성화시키는 단계를 포함하는 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제11항에 있어서,
    상기 분산 대장은 블록체인인 방법.
  18. 제11항에 있어서,
    상기 복수의 리소스 디바이스에 관한 상기 정보는 스마트 계약 정보를 포함하는 방법.
  19. 제18항에 있어서,
    상기 스마트 계약 정보는 프로그램 코드를 포함하는 방법.
  20. 제18항에 있어서,
    상기 스마트 계약 정보는 튜링 언어에 기초하는 방법.
KR1020197021185A 2017-01-31 2018-01-31 가상 디바이스를 제공하기 위한 장치 및 방법 KR102481906B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17154089.1 2017-01-31
EP17154089.1A EP3355225B1 (en) 2017-01-31 2017-01-31 Apparatus and method for providing a ethereum virtual device
PCT/EP2018/052397 WO2018141792A1 (en) 2017-01-31 2018-01-31 Apparatus and method for providing a virtual device

Publications (2)

Publication Number Publication Date
KR20190111937A KR20190111937A (ko) 2019-10-02
KR102481906B1 true KR102481906B1 (ko) 2022-12-28

Family

ID=57963034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021185A KR102481906B1 (ko) 2017-01-31 2018-01-31 가상 디바이스를 제공하기 위한 장치 및 방법

Country Status (7)

Country Link
US (1) US11163611B2 (ko)
EP (1) EP3355225B1 (ko)
JP (1) JP7243626B2 (ko)
KR (1) KR102481906B1 (ko)
CN (1) CN110226166B (ko)
AU (1) AU2018215981B2 (ko)
WO (1) WO2018141792A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3614319A1 (en) * 2018-08-20 2020-02-26 Siemens Aktiengesellschaft Tracking execution of an industrial workflow of a petri net
US11182379B2 (en) 2018-08-24 2021-11-23 Oracle International Corporation DAG based methods and systems of transaction processing in a distributed ledger
JP7180207B2 (ja) * 2018-08-28 2022-11-30 セイコーエプソン株式会社 提供装置、処理システム及び通信方法
CN109034814B (zh) * 2018-09-14 2020-10-16 百度在线网络技术(北京)有限公司 基于以太坊虚拟机的智能合约处理方法和装置
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
CN109710384B (zh) * 2018-12-29 2021-02-23 杭州趣链科技有限公司 一种安全的Java智能合约解释执行引擎及方法
CN110249307B (zh) * 2018-12-29 2022-05-31 创新先进技术有限公司 用于在区块链上执行原生合约的系统和方法
US11133984B2 (en) * 2018-12-31 2021-09-28 Dish Network L.L.C. Internet-of-things device autonomous activation
US11256778B2 (en) * 2019-02-14 2022-02-22 Micron Technology, Inc. Methods and apparatus for checking the results of characterized memory searches
US11327551B2 (en) 2019-02-14 2022-05-10 Micron Technology, Inc. Methods and apparatus for characterizing memory devices
EP3699848A1 (en) * 2019-02-25 2020-08-26 Siemens Aktiengesellschaft Blockchain-powered device instruction
JP2022063883A (ja) * 2019-03-01 2022-04-25 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
SG11201908890XA (en) 2019-03-26 2019-10-30 Alibaba Group Holding Ltd System and method for implementing different types of blockchain contracts
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
CN112766854B (zh) * 2021-01-22 2021-11-02 支付宝(杭州)信息技术有限公司 基于区块链的数字商品交易方法和装置
US11915242B2 (en) 2021-12-30 2024-02-27 The Adt Security Corporation Premises security system with secure embedded cryptocurrency storage

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546379B (zh) * 2010-12-27 2014-12-31 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
US9665633B2 (en) * 2014-02-19 2017-05-30 Snowflake Computing, Inc. Data management systems and methods
CN104125297A (zh) * 2014-08-06 2014-10-29 华为技术有限公司 虚拟资源共享方法、装置及系统
US10592985B2 (en) * 2015-03-02 2020-03-17 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
WO2016154001A1 (en) 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
CN105488431B (zh) * 2015-11-30 2019-12-13 布比(北京)网络技术有限公司 区块链系统权限管理方法和装置
US10728103B2 (en) * 2016-03-21 2020-07-28 Dell Products L.P. Edge device resourcing using recursive ledger chaining
CN106296191A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种区块链功耗感知的PoW共识机制
CN108073423B (zh) * 2016-11-09 2020-01-17 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Konstantinos Christidis 외 1명,"Blockchains and Smart Contracts for the Internet of Things",IEEE Access (2016.05.10.)*
Mayra Samaniego 외 1명,"Using Blockchain to push Software- Defined IoT Components onto Edge Hosts", BDAW '16: Proceedings of the International Conference on Big Data and Advanced Wireless Technologies (2016.11.10.)*

Also Published As

Publication number Publication date
JP7243626B2 (ja) 2023-03-22
AU2018215981B2 (en) 2022-02-03
US11163611B2 (en) 2021-11-02
AU2018215981A1 (en) 2019-08-15
CN110226166B (zh) 2023-06-16
CN110226166A (zh) 2019-09-10
KR20190111937A (ko) 2019-10-02
EP3355225B1 (en) 2022-07-27
WO2018141792A1 (en) 2018-08-09
EP3355225A1 (en) 2018-08-01
JP2020509448A (ja) 2020-03-26
US20190391829A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
KR102481906B1 (ko) 가상 디바이스를 제공하기 위한 장치 및 방법
Balouek-Thomert et al. Towards a computing continuum: Enabling edge-to-cloud integration for data-driven workflows
Perera et al. Big data privacy in the internet of things era
US8595641B2 (en) Methods, apparatus and systems for displaying and/or facilitating interaction with secure information via channel grid framework
AU2013290458B2 (en) Image identification and organisation according to a layout without user|intervention
TW202002587A (zh) 基於區塊鏈的資料處理方法和裝置
US11050632B2 (en) Automated inventory for IoT devices
US10289855B2 (en) Ad hoc target based photograph sharing
US11122332B2 (en) Selective video watching by analyzing user behavior and video content
Limna et al. A flexible and scalable component-based system architecture for video surveillance as a service, running on infrastructure as a service
US11381710B2 (en) Contextual masking of objects in social photographs
US10277869B2 (en) Efficient process for camera call-up
Sasikala et al. A proposed framework for cloud-aware multimodal multimedia big data analysis toward optimal resource allocation
US10860184B2 (en) Sharing groups for capturing digital media
Noor et al. ibuck: Reliable and secured image processing middleware for openstack swift
KR20220082768A (ko) 클라우드에서의 지능형 비디오 빅데이터 분석 시스템 및 그 방법
US10101912B2 (en) Automated home memory cloud with key authenticator
US20230418963A1 (en) Edge data processing utilizing per-endpoint subscriber configurable data processing workloads
KR20230082087A (ko) 이미지 위치 중심의 엔에프티 컨텐츠 서비스 장치
US20200177531A1 (en) Photo sharing in a trusted auto-generated network
CN116418651A (zh) 网络节点的通信方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal