KR102361215B1 - 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템 - Google Patents

블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102361215B1
KR102361215B1 KR1020210112369A KR20210112369A KR102361215B1 KR 102361215 B1 KR102361215 B1 KR 102361215B1 KR 1020210112369 A KR1020210112369 A KR 1020210112369A KR 20210112369 A KR20210112369 A KR 20210112369A KR 102361215 B1 KR102361215 B1 KR 102361215B1
Authority
KR
South Korea
Prior art keywords
cloud service
block chain
blockchain
network
blockchain network
Prior art date
Application number
KR1020210112369A
Other languages
English (en)
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 주식회사 에이아이댑스
Priority to KR1020210112369A priority Critical patent/KR102361215B1/ko
Application granted granted Critical
Publication of KR102361215B1 publication Critical patent/KR102361215B1/ko

Links

Images

Classifications

    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L67/16
    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • H04L2209/38
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시예들은 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템에 관한 것으로, 구체적으로 블록체인을 구성하는 노드들의 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하고, 컴퓨팅 리소스를 제공한 노드들에게 보상을 제공하는 블록체인 기반 클라우드 서비스 제공 방법 및 시스템에 관한 것이다.

Description

블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템{THE METHOD AND SYSTEM FOR PROVIDING CLOUD SERVICE INCLUDING IAAS BASED BLOCKCHAIN}
아래 실시예들은 블록체인 기반 클라우드 서비스 제공 방법 및 시스템에 관한 것으로, 구체적으로 블록체인을 구성하는 노드들의 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하고, 컴퓨팅 리소스를 제공한 노드들에게 보상을 제공하는 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템에 관한 것이다.
분산 원장 기술이라고도 지칭되는 블록체인(Blockchain) 기술은 하나 이상의 컴퓨팅 디바이스가 "회계"에 공동으로 참여하고 완전한 분산 데이터베이스를 공동으로 유지하는 새로운 기술이다. 블록체인 기술은 탈중앙화, 개방성, 및 투명성의 특징들을 가지며, 각각의 컴퓨팅 디바이스는 데이터베이스 기록에 참여할 수 있고, 컴퓨팅 디바이스들은 데이터 동기화를 신속하게 수행할 수 있다. 블록체인의 분산 데이터베이스에서 블록체인 기술을 사용하여 탈중앙화된 시스템을 확립하고 블록체인의 분산 데이터베이스에 자동 실행을 위한 다양한 실행 프로그램들을 기록하는 방법들이 많은 분야에서 널리 적용되고 있다.
4차 산업혁명의 핵심이 되는 빅데이터 기술의 특성은 3V로 정의할수 있는데, 규모(Volume), 속도(Velocity) 그리고 다양성(Variety)이 그것이다. 또한, 최근에는 3V뿐만 아니라 타당성(Validity)과 신뢰성(Veracity)도 빅데이터 특성으로 언급되고 있다. 타당성은 데이터 활용이 편협하지 않고 정확하게 활용했는지를 고려하는 요인이고, 신뢰성은 활용 데이터가 신뢰할 만한지를 고려하는 요인이다. 이는 기존과 중첩되지 않기 때문에 새로운 특성으로 볼 수 있다. 그러므로 빅데이터 특성은 엄밀히 말해 3V에서 5V로 확장한 것으로 볼 수 있다.
이때, 빅데이터에서 요구되는 타당성과 신뢰성을 신현하기 위한 수단 중 하나로 블록체인이 고려될 수 있다. 블록체인은 탈중앙 플랫폼(Platform)으로서 시스템 참여자 전체에 합의된 데이터를공유하는 기술이다. 이를 위해 개인간(P2P) 네트워크와 합의 알고리즘이 적용돼 있는데, 해당 두 기술은 빅데이터의 타당성과 신뢰성으로 확장하게 한다.
그러므로 블록체인과 인공지능이 결합되면서 데이터의 타당성과 신뢰성을 제공한다. 블록체인은 인공지능 분석의 기반이 되는 데이터 출처를 보여준다. 또한 해당 데이터가 합의로 인해 신뢰받았음을 인증케 한다. 그 뿐만 아니라, 분산형 인공지능 구현도 가능하다. 블록체인은 참여자가 공유되는 모든 데이터를 보유하고 있음을 원칙으로 한다. 이는 인공지능을 개별적으로 활용할 수 있게 한다. 기존의 중앙형 시스템은 한곳에 데이터를 모두 가지고 있고, 분석도 한곳에서 이뤄진다. 그런데 블록체인은 분석 범위를 참여자 간에 정할 수 있다. 분석 결과를 공유해 받아볼 수 있기 때문이다. 이처럼 두 유망 기술의 융합은 더 넓은 방향으로패러다임 전환을 불러일으키고 있다. 이에 따라 블록체인과 인공지능을 이용한 다양한 서비스가 개발 및 출시되고 있다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 블록체인을 구성하는 노드들의 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하고, 컴퓨팅 리소스를 제공한 노드들에게 보상을 제공하는 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템을 제공하는 것을 목적으로 한다.
일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템을 제공한다.
상기 블록체인 기반의 클라우드 서비스 제공 시스템은, 클라우드 서비스를 요청하는 클라이언트 단말; 블록체인 네트워크를 관리하며, 상기 블록체인 네트워크를 구성하는 노드들을 분산 컴퓨팅 디바이스로 이용하여 상기 클라우드 서비스를 상기 클라이언트 단말에 제공하는 클라우드 서비스 제공 장치; 및 상기 블록체인 네트워크에 상기 노드로 참여하고, 참여에 대한 보상으로 상기 블록체인 네트워크에 따른 블록체인 재원을 보상으로 제공받는 사용자 단말을 포함한다.
상기 블록체인 네트워크는, 퍼블릭 블록체인 네트워크(public blockchain network) 및 프라이빗 블록체인 네트워크(private blockchain network)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성된다.
상기 클라우드 서비스 제공 장치는, 상기 클라우드 서비스의 종류와 레이턴시(latency), 컴퓨팅 리소스 양에 따라 상기 퍼블릭 블록체인 네트워크와 상기 프라이빗 블록체인 네트워크 중 하나를 선택하여 상기 클라우드 서비스를 제공할 수 있다.
상기 클라우드 서비스 제공 장치는, 상기 퍼블릭 블록체인 네트워크를 구성하는 제1 노드들 각각의 컴퓨팅 리소스, 및 코인 지갑을 관리하는 퍼블릭 블록체인 관리부; 상기 프라이빗 블록체인 네트워크를 구성하는 제2 노드들을 인증하고, 컴퓨팅 리소스를 관리하는 프라이빗 블록체인 관리부; 상기 클라우드 서비스를 제공하기 위한 프레임워크(framework)를 구성하고 관리하는 프레임워크 관리부; 상기 퍼블릭 블록체인 네트워크를 외부 퍼블릭 블록체인 네트워크와 통신하도록 중계하는 블록체인 API 브로커; 상기 블록체인 네트워크를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 상기 클라이언트 단말에 제공하는 개발 툴 관리부; 상기 퍼블릭 블록체인 관리부 및 상기 프라이빗 블록체인 관리부와 연동하여 상기 블록체인 네트워크를 구성하는 노드들로부터 컴퓨팅 리소스를 제공받고, 제공받은 컴퓨팅 리소스를 상기 클라이언트 단말에 제공하는 리소스 관리부; 및 상기 퍼블릭 블록체인 관리부, 상기 프라이빗 블록체인 관리부, 및 상기 리소스 관리부와 연동하여 웹 상에서 애플리케이션을 구동하여 상기 클라이언트 단말에 제공하는 애플리케이션 구동부를 포함할 수 있다.
상기 프라이빗 블록체인 관리부는, 상기 제1 노드들 사이에 제한된 메시징 경로인 채널(channel)을 생성하고, 상기 채널을 통해 상기 상기 제1 노드들 중 특정 하위 집합에 대해 기밀성 있는 정보를 교환하도록 제어할 수 있다.
상기 프라이빗 블록체인 관리부는, 상기 제1 노드들 각각이 트랜잭션 순서화 전에 트랜잭션 실행을 수행하도록 상기 제1 노드들을 제어할 수 있다.
상기 퍼블릭 블록체인 관리부는, 상기 제2 노드들 각각을 서로 동일한 파일 시스템을 갖는 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소로 구성할 수 있다.
상기 클라우드 서비스 제공 장치는, 상기 프라이빗 블록체인 네트워크를 이용하여 딥러닝 또는 머신러닝에 기반한 훈련(traning)을 수행하고 훈련 결과를 상기 클라이언트 단말에 제공하는 머신러닝 서비스를 수행할 수 있다.
이상에서 설명한 바와 같은 일 실시예들에 따르면, 클라이언트에게 블록체인과 결합된 분산 클라우드 환경을 제공하여, 탈중앙화 환경에서 데이터를 저장, 관리, 처리하여 보안은 강화하고 데이터 처리 비용을 절감하게 할 수 있다.
그리고, 블록체인 기술과 인공지능 기술을 융합하여, 신뢰성 있는 빅데이터 인공지능 분석을 통해, 클라이언트가 손쉽게 딥러닝(Deep Learning), 머신러닝(Machine Learning) 작업을 수행할 수 있다.
또한, 기존의 검증된 오픈소스들을 활용해 많은 클라이언트들이 인공지능을 보다 가깝게 접근하여, 업무나 비즈니스에 활용할 수 있게 하여, 개인들은 업무 역량을 강화할 수 있고, 기업들은 생산성을 높일 수 있으며, 많은 플랫폼(Platform) 개발자들은 용이하게 각자의 플랫폼 컨셉에 맞게 개발할 수 있다
일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 클라우드 서비스 제공 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 클라우드 서비스 제공 시스템의 개념도이다.
도 3은 일 실시예에 따른 퍼블릭 블록체인 네트워크를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 노드의 구성도이다.
도 5는 일 실시예에 따른 블록체인으로 연결되는 블록을 개념적으로 도시한 도면이다.
도 6은 일 실시예에 따른 프라이빗 블록체인 네트워크을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 퍼블릭 블록체인 네트워크를 통해 구현되는 분산형 파일 시스템(IPFS)을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 클라우드 서비스 제공 시스템에 대한 아키텍쳐를 예시적으로 나타낸 도면이고,
도 9는은 도 8에 따른 아키텍쳐를 구체화하여 나타낸 도면이다.
도 10은 일 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 11은 다른 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 12는 일 실시예에 따른 사용자 단말의 구성도이다.
도 13은 일 실시예에 따른 클라우드 서비스 제공 장치의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 14는 일 실시예에 따른 컴퓨팅 리소스 제공 현황이 출력된 사용자 단말의 화면을 도시한 도면이다.
도 15는 일 실시예에 따른 보상 현황이 출력된 사용자 단말의 화면을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세하게 설명한다.
도 1은 일 실시예에 따른 클라우드 서비스 제공 시스템(10)을 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은 클라우드 서비스 제공 장치(100), 클라이언트 단말(200) 및 사용자 단말(300)을 포함할 수 있다.
클라우드 서비스 제공 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.
클라우드 서비스 제공 시스템(10) 내 클라우드 서비스 제공 장치(100), 클라이언트 단말(200) 및 사용자 단말(300)은 예를 들어, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), PMP(portable multimedia player) 같은 전자 장치 중 하나로서, 일 실시예와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.
클라우드 서비스 제공 장치(100)는 블록체인(Blockchain)을 기반으로 분산 클라우드(Cloud)를 제공하고, 블록체인 네트워크를 구성하는 노드(Node)들의 컴퓨팅 리소스를 이용하여, 다양한 클라우드 서비스를 제공하는 블록체인 플랫폼(Bloackchanin Platform)이다.
일 실시예의 컴퓨팅 리소스는 블록체인 네트워크를 구성하는 노드들이 제공하는 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 포함할 수 있다.
클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 구성하는 노드들의 컴퓨팅 리소스를 빌리고, 컴퓨팅 리소스를 사용하는 대가로 블록체인 재원을 보상으로 컴퓨팅 리소스를 제공한 노드에 제공할 수 있다.
본 명세서에서는 블록체인 재원을 블록체인을 이용하여 구현된 토큰(Token) 또는 코인(Coin)으로 설명하나, 일 실시예는 이에 한정되지는 아니하고, 블록체인에서 구현 가능한 다양한 디지털 화폐를 포함한다 하겠다.
클라우드 서비스 제공 장치(100)는 클라이언트 단말(200)로부터 수신된 입력 데이터를 이용하여, 클라이언트가 요청하는 다양한 클라우드 서비스를 제공할 수 있다.
일 실시예의 입력 데이터는 클라이언트 단말(200)이 요청하는 클라우드 서비스 관련 데이터이다. 일례로, 머신 러닝 관련 클라우드 서비스의 입력 데이터는 머신 러닝을 수행하기 위해 입력되는 데이터로 구성될 수 있다.
클라우드 서비스 제공 장치(100)는 입력 데이터를 이용하여, 다양한 클라우드 서비스의 결과로, 결과 데이터를 생성할 수 있다. 클라우드 서비스 제공 장치(100)는 생성된 결과 데이터를 클라이언트 단말(200)에 제공할 수 있다.
일 실시예의 클라우드 서비스는 블록체인 네트워크를 구성하는 노드들(동시에 클라우드 서비스를 위한 클라우드를 구성함)의 컴퓨팅 리소스를 이용하여 웹 상에서 애플리케이션을 구동시켜 제공하는 애플리케이션 서비스(SaaS, Software as a Service), 블록체인 네트워크를 구성하는 노드들로부터 제공받은 컴퓨팅 리소스를 제공하는 인프라 서비스(IaaS, Infrastructure as a Service), 블록 체인 네트워크를 구성하는 노드들로부터 제공받은 컴퓨팅 리소스를 이용하여 각종 소프트웨어 개발 툴을 제공하는 플랫폼 서비스(PaaS, Platform as a Service)를 포함할 수 있다.
구체적으로, 애플리케이션 서비스는, 바이오 헬스케어 애플리케이션, 블록체인의 생성 및 관리에 관한 애플리케이션, 스트리밍(Streaming)에 관한 애플리케이션, AI를 이용한 분석을 수행하는 애플리케이션, 배터리 관리에 관한 애플리케이션, 파일 공유 및 동기화 애플리케이션, IoT(Internet of Things) 기기의 관리 애플리케이션 등을 클라우드를 이용한 웹 상에서 제공하는 서비스를 포함할 수 있다. 플랫폼 서비스는, 애플리케이션 개발 툴에 해당하는 쥬피터 노트북(Jupyter Notebook), 비쥬얼 스튜디오 코드(Visual Studio Code), 이더리움앱 개발툴인 트러플(Truffle), 머신러닝에 관한 앱 개발툴인 오토ML(AutoML) 등을 클라우드를 이용한 웹 상에서 제공하는 서비스를 포함할 수 있다. 인프라 서비스는, 머신 러닝(Maching Learning, ML) 또는 딥 러닝(Deep Learning, DL)에 따른 훈련(Traning), 빅데이터의 구축, 블록체인 네트워크를 구성하는 노드들로 구성된 분산 파일 시스템에서 분산된 파일의 조각들의 결합 등에 관한 컴퓨팅 리소스를 제공하거나, 외부 퍼블릭 블록체인 네트워크에 대한 접근을 통한 외부 퍼블릭 블록체인 네트워크와의 연계를 제공할 수 있다.
클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 관리하는 게이트웨이(Gateway) 역할을 수행하며, 블록체인 네트워크를 유지 및 관리하고 클라우드 서비스를 제공하는데 필요한 프레임워크(Framework)와 각종 소프트웨어 툴(Software TOOL)을 제공하고, 블록체인 네트워크를 구성하는 노드들의 분산화된 컴퓨팅 리소스를 클라이언트 단말(200)에 간접적으로 제공하는 역할을 하는 것이다.
클라우드 서비스 제공 장치(100)는 이를 위해, 블록체인 플랫폼 및 클라우드를 구현하고, 제공하는바, 이하에서 서술하는 클라우드 서비스 제공 장치(100)는 클라우드 서비스 제공 장치(100) 자체뿐만 아니라, 클라우드 서비스 제공 장치(100)가 구현하는 블록체인 플랫폼 및 클라우드를 지칭할 수 있다.
클라우드 서비스 제공 장치(100)는, 블록체인 네트워크(20)를 구성하는 노드인 사용자 단말(300) 이 결과 데이터를 얻는 데 필요한 컴퓨팅 리소스를 제공하면, 사용자 단말(300) 에 블록체인 재원을 보상으로 제공할 수 있다.
클라이언트 단말(200)은 클라우드 서비스를 이용하는 주체로, 클라우드 서비스 제공 장치(100)에 원하는 클라우드 서비스를 요청할 수 있다.
클라이언트 단말(200)은 클라우드 서비스를 요청하기 위하여 입력 데이터를 클라우드 서비스 제공 장치(100)에 전송하고, 클라우드 서비스의 결과로 결과 데이터를 클라우드 서비스 제공 장치(100)로부터 수신할 수 있다.
일례로, 클라이언트 단말(200)이 ML/DL을 수행하는 클라우드 서비스를 요청하는 경우, 클라이언트 단말(200)은 ML/DL의 입력 데이터(여기서 입력 데이터는 머신 러닝(ML) 또는 딥러닝(DL)을 수행하는 데 필요한 훈련 데이터 셋을 포함할 수 있음)를 클라우드 서비스 제공 장치(100)에 전송한다. 클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 구성하는 노드들의 컴퓨팅 리소스를 이용하여, 입력 데이터에 대한 ML/DL을 수행하고, 결과 데이터를 생성하여, 생성된 결과 데이터를 클라이언트 단말(200)에 전송하는 것이다.
일 예시로, 클라이언트 단말(200)이 전송받은 결과 데이터를 클라우드 서비스 제공 장치(100)가 활용할 수 있는 권한을 클라우드 서비스 제공 장치(100)에 제공할 경우, 클라이언트 단말(200)도, 클라우드 서비스 제공 장치(100)로부터 블록체인 재원을 보상으로 제공받을 수 있다. 클라우드 서비스 제공 장치(100)는, 권한을 제공받은 클라이언트 단말(200)의 결과 데이터를 다른 제3 의 클라이언트 단말에게 제공할 수도 있다.
사용자 단말(300)은 블록체인 네트워크를 구성하는 노드(node)로서 기능함과 동시에 클라우드 서비스를 클라이언트 단말(200)에 제공하기 위한 분산 컴퓨팅 장치일 수 있다. 따라서, 사용자 단말(300)은, 클라우드 서비스를 수행하는 데 필요한 컴퓨팅 리소스를 클라우드 서비스 제공 장치(100)에 제공할 수 있다. 전술한 바와 같이, 일 실시예의 컴퓨팅 리소스는 사용자 단말(300)이 제공하는 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 의미한다.
사용자 단말(300)은 클라우드 서비스 제공 장치(100)에의 관리되는 블록체인 네트워크에 일 노드로 참여할 수 있다. 이하에서는 사용자 단말(300)과 블록체인 내 노드는 동일한 의미로 사용된다 하겠다.
사용자 단말(300)은 컴퓨팅 리소스를 블록체인을 통해 클라우드 서비스 제공 장치(100)에 제공하고, 클라우드 서비스 제공 장치(100)는 다수의 사용자 단말(300)들로부터 제공받은 컴퓨팅 리소스를 이용하여 다양한 클라우드 서비스를 실시할 수 있다. 사용자 단말(300)은 컴퓨팅 리소스를 제공하는 것에 대한 보상으로, 블록체인 재원을 클라우드 서비스 제공 장치(100)로부터 제공받을 수 있다.
도 2는 일 실시예에 따른 클라우드 서비스 제공 시스템(10)의 개념도이다.
도 2를 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은, 클라우드 서비스를 요청(request)하고 요청에 대한 결과 데이터를 제공받는 클라이언트 단말(200), 클라이언트 단말(200)로부터 요청을 수신하고, 블록체인 네트워크(20)를 관리하며, 블록체인 네트워크(20)를 구성하는 노드(300)들을 분산 컴퓨팅 디바이스로 이용하여 결과 데이터를 생성하여 클라이언트 단말(200)에 제공하는 클라우드 서비스 제공 장치(100), 및 클라우드 서비스 제공 장치(100)에 의해 관리 및 유지되며 다수의 노드들(300)로 구성된 블록체인 네트워크(20)를 포함할 수 있다.
블록체인 네트워크(20)는 퍼블릭 블록체인 네트워크(Public Blockchain Network, 21) 및 프라이빗 블록체인 네트워크(Private Blockchain Network, 22)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성될 수 있다. 따라서, 본 명세서 전체에서 노드(300)는 퍼블릭 블록체인 네트워크(21)와 프라이빗 블록체인 네트워크(22) 중 하나를 구성하는 노드이거나, 퍼블릭 블록체인 네트워크(21)를 구성함과 동시에 프라이빗 블록체인 네트워크(22)를 구성하는 노드일 수도 있다.
또한, 블록체인 네트워크(20)를 구성하는 노드들은 클라우드 서비스를 제공하기 위한 분산 클라우드 컴퓨팅을 수행하며, 필요에 따라 클라우드 서비스에 필요한 정보들을 트랜잭션으로 원장에 기록하여 원장에 대응하는 블록체인을 생성할 수 있다. 따라서, 클라우드 서비스에 필요한 정보들이 블록체인에 따른 합의 알고리즘 등에 의해 신뢰될 수 있으며, 노드들 중 선택 또는 합의된 일부 노드는 클라우드 서비스에 필요한 정보를 공유하거나 분산하여 저장할 수 있다.
일반적으로 퍼블릭 블록체인 네트워크는 모든 노드 간 탈중앙화를 통해 데이터의 투명성을 확보할 수 있지만 느린 단점이 있는 반면, 프라이빗 블록체인 네트워크는 빠르고 높은 성능을 목표로 하지만 허가된 노드들로만 네트워크를 구성하므로 노드 수를 크게 확장하기 어렵다. 본 발명에 따른 블록체인 네트워크(20)는 빠른 성능과 탈중앙화, 확장성을 모두 보장할 수 있도록 하이브리드 블록체인 네트워크를 채용할 수 있다.
본 발명에서 퍼블릭 블록체인 네트워크(21)는, 클라우드 서비스 제공 장치(100)에 의해 관리되는 노드들로 구성된 내부 퍼블릭 블록체인 네트워크를 의미할 수 있다. 여기서 내부 퍼블릭 블록체인 네트워크(21)는 프라이빗 블록체인 네트워크(22)를 통해 구현되는 블록체인 API 브로커(blockchain API broker, 104)를 통해 비트코인(Bitcoin), 이더리움(Ethereum), 이오스(EOS) 등과 같은 통상적인 외부 퍼블릭 블록체인 네트워크와 통신할 수 있게 구성된다.
프라이빗 블록체인 네트워크(22)는, 클라우드 서비스 제공 장치(100)에 의해 허가된 노드들로만 구성된 블록체인 네트워크일 수 있다.
블록체인 관리부(10)는, 블록체인 네트워크(20)를 생성하고 관리할 수 있다. 블록체인 관리부(10)는 퍼블릭 블록체인 관리부(101) 및 프라이빗 블록체인 관리부(102)를 포함할 수 있다.
퍼블릭 블록체인 관리부(101)는, 퍼블릭 블록체인 네트워크(21)를 생성하고 퍼블릭 블록체인 네트워크(21)를 구성하는 노드들 각각의 컴퓨팅 리소스, 코인 월넛(coin wallet) 등을 관리할 수 있다.
프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 생성하고, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들을 인증하고, 각각의 컴퓨팅 리소스를 관리할 수 있다. 예를 들어, 프라이빗 블록체인 관리부(102)는, 리눅스재단(Linux Foundation)이 주도하는 기업용 블록체인을 위한 오픈소스 프로젝트인 하이퍼렛저 패브릭(Hyperledger fabric)을 이용하여 구현될 수 있다.
구체적으로, 프라이빗 블록체인 관리부(102)는, 권한이 부여된 프라이빗 블록체인 네트워크(22)를 활성화하기 위해 프라이빗 블록체인 네트워크(22)를 구성하는 노드들의 사용자 식별 정보를 관리하고, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들을 인증하는 멤버 자격 서비스를 제공할 수 있다. 프라이빗 블록체인 관리부(102)는, 액세스 제어 목록을 생성하고, 생성된 액세스 제어 목록을 이용하여 특정 네트워크 작업의 승인을 통해 추가 권한 계층을 제공할 수 있다.
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 비공개 트랜잭션이 필요한 클라이언트 단말(200) 또는 프라이빗 블록체인 네트워크(22)를 구성하는 노드에게 프라이빗 블록체인 네트워크(22)에 대한 접근을 허가 및 제공할 수 있다. 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 사이에 제한된 메시징 경로인 채널(channel)을 생성할 수 있다. 채널은 제한된 메시징 경로로써 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 중 특정 하위 집합에 대해 개인 정보 또는 그러한 기밀성 있는 정보를 제공하는 데 사용될 수 있다. 채널은 액세스 권한이 부여되지 않은 노드들에 의해 엑세스되지 않는다.
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(400)의 유형별로 네트워크 역할을 할당할 수 있다. 네트워크에 동시성과 병렬성을 제공하기 위해 노드(400)들에서의 트랜잭션 실행은 트랜잭션 순서화 전에 진행된다. 트랜잭션을 순서화하기 전에 실행되면 각 노드(400)가 동시에 여러 트랜잭션을 처리할수 있다. 이러한 동시 실행은 각 노드(400)의 처리 효율성을 높이고, 스케줄링 서비스에 대한 트랜잭션 전달을 가속한다. 병렬 처리를 가능하게 하는 것 외에도, 업무 분장은 트랜잭션 실행 및 유지 보수 요구에서 노드 스케줄링 작업을 부담하지 않기 때문에 노드(400)는 컨센서스 작업 부하에서 자유로워진다. 하나의 트랜잭션 실행 프로세스는 다른 노드(400)의 검증과 독립적으로 실행될 수 있다. 따라서, 프라이빗 블록체인 관리부(102)는, 각 노드들에서 트랜잭션 실행이 진행된 후, 트랜잭션 순서화를 진행하고, 순서화된 트랜잭션들을 프라이빗 블록체인 네트워크(22)에 반영하는 커밋(commit)을 수행하도록 노드(400)를 제어할 수 있다.
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)에서 특정 유형의 트랜젝션(transaction)을 수신할 때 호출되는 프로그램인 체인 코드(chaincode)를 실행할 수 있다. 구체적으로, 프라이빗 블록체인 관리부(102)는, 특정 유형의 트렌젝션을 수신할 때 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 중 검증된 노드를 통해 체인 코드를 실행할 수 있다. 체인 코드는 수신된 특정 유형의 트렌젝션에 상응하는 처리를 통해 원장(ledger)을 생성하고, 여기서 생성된 원장은 다른 체인 코드가 실행될 때 엑세스되지 않을 수도 있다. 체인 코드는 이더리움 플랫폼에서의 스마트 계약(smart contract)에 대응하는 개념으로서, 체인 코드 또는 스마트 계약은 원장(ledger)을 생성하고 관리하는 각종 용어와 프로세스 등을 정의한 프로그램일 수 있다.
프레임워크 관리부(103)는, 블록체인 네트워크(20)를 구성하는 노드(300)들로부터 제공되는 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하기 위한 프레임 워크(framework)를 구성하고 관리할 수 있다. 일례로, 프레임워크 관리부(103)는, 머신러닝 또는 딥러닝을 수행하기 위한 인공지능 프레임워크(AI Framework)를 구성 및 관리할 수 있다.
블록체인 API 브로커(104, blockchain API broker)는 퍼블릭 블록체인 네트워크(21) 및/또는 프라이빗 블록체인 네트워크(22)를 비트코인(Bitcoin), 이더리움(Ethereum), 이오스(EOS) 등과 같은 통상적인 외부 퍼블릭 블록체인 네트워크와 통신할 수 있도록 중계할 수 있다. 예를 들어, 블록체인 API 브로커(104)는, 이더리움 플랫폼 기반의 스마트 계약(Smart contract) 및 하이퍼렛저 패브릭 기반의 체인 코드(Chain code)를 동시에 지원하고 상호 호환 및 변환되도록 지원함으로써 하이퍼렛저 패브릭 기반의 프라이빗 블록체인 네트워크(22)와 외부 퍼블릭 블록체인 네트워크가 서로 호환 및 통신할 수 있도록 지원하며, 자신이 관리하는 퍼블릭 블록체인 네트워크(21)과 퍼블릭 블록체인 네트워크(21) 사이의 호환 및 통신을 지원할 수 있다. 따라서, 클라이언트 단말(200)은 클라우드 서비스 제공 장치(100)를 통해 내부의 블록체인 네트워크(20) 뿐만 아니라 외부의 퍼블릭 블록체인 네트워크를 이용할 수도 있다.
개발 툴 관리부(105)는, 블록체인 네트워크(20)를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 클라이언트 단말(200)에 제공할 수 있다. 이를 위해 개발 툴 관리부(105)는 블록체인 관리부(10)와 연동하여 동작할 수 있다. 예를 들어, 개발 툴은, 애플리케이션 개발 툴에 해당하는 쥬피터 노트북(Jupyter Notebook), 비쥬얼 스튜디오 코드(Visual Studio Code), 이더리움앱 개발툴인 트러플(Truffle), 머신러닝에 관한 앱 개발툴인 오토ML(AutoML) 등을 포함할 수 있다.
리소스 관리부(106)는, 블록체인 관리부(10)와 연동하여 블록체인 네트워크(20)를 구성하는 노드들로부터 제공받는 컴퓨팅 리소스를 관리하고, 클라이언트 단말(200)의 요청에 따라 관리하는 컴퓨팅 리소스를 클라이언트 단말(200)에 제공할 수 있다. 또한, 리소스 관리부(106)는, 개발 툴 관리부(105) 및 애플리케이션 구동부(107)에 자신이 관리하는 컴퓨팅 리소스를 제공할 수 있다.
애플리케이션 구동부(107)는, 블록체인 관리부(10) 및 리소스 관리부(106)와 연동하여 웹 상에서 애플리케이션을 구동하여 클라이언트 단말(200)에 제공할 수 있다. 예를 들어, 애플리케이션 구동부(107)에 의해 구동되는 애플리케이션은 바이오 헬스케어 애플리케이션, 블록체인의 생성 및 관리에 관한 애플리케이션, 스트리밍(Streaming)에 관한 애플리케이션, AI를 이용한 분석을 수행하는 애플리케이션, 배터리 관리에 관한 애플리케이션, 파일 공유 및 동기화 애플리케이션, IoT(Internet of Things) 기기의 관리 애플리케이션 등일 수 있다.
그 밖에도, 클라우드 서비스 제공 장치(100)는, 보상부, 클라이언트 관리부 등을 더 포함할 수 있다.
보상부는 클라이언트 단말(200) 및 사용자 단말(300)에 보상을 제공할 수 있다. 보상부는 머신 러닝 또는 딥러닝(ML/DL)에 따른 결과 데이터에 대한 사용을 허용하는 클라이언트 단말(200)에 보상을 제공할 수 있으며, 블록체인 네트워크(20)를 구성하여 노드(node)로 기능하는 사용자 단말(300)에 보상을 제공할 수 있다.
보상부는 ML/DL 결과 데이터의 개수, 크기 등에 따라 클라이언트 단말(200)에 제공하는 보상 크기를 결정할 수 있으며, 컴퓨팅 리소스의 종류, 크기, 제공 기간 등에 따라 사용자 단말(300)에 제공하는 보상 크기를 결정할 수 있다.
보상부는 클라이언트 단말(200) 및 사용자 단말(300)에 블록체인 재원을 보상으로 제공할 수 있으며, 일 실시예의 블록체인 재원은 블록체인에서 구현되는 토큰(Token) 또는 코인(Coin) 등의 디지털 화폐를 포함할 수 있다.
클라이언트 관리부는 클라이언트 단말(200)의 정보 또는 클라이언트 단말(200)의 사용자에 대한 정보를 관리할 수 있다.
도 3은 일 실시예에 따른 퍼블릭 블록체인 네트워크(21)를 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예의 퍼블릭 블록체인 네트워크(21)는 통신망을 통해 서로 통신 가능한 복수의 노드들(300)로 구성될 수 있다.
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 온라인 거래 정보를 블록(Block)으로 생성하고, 생성된 블록들을 서로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, Peer)들의 개인 디지털 장비에 데이터를 분산시켜 저장함으로써, 데이터를 공동으로 관리하는 방식이다.
구체적으로, 블록체인의 기본 구조는 블록(block)을 잇따라 연결한(chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 사용자 단말(즉 노드(300))에 분산시켜 저장한다.
따라서, 블록체인을 활용하는 경우, 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.
일 실시예에서는, 복수의 노드(300)들을 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(300)들 각각에 분산되어 저장되는 정보는 블록의 해쉬값 등일 수 있다.
복수의 노드(300)들은 복수의 노드(300)들 각각에 분산 저장된 정보를 항상 최신 버전으로 유지하여, 해당 정보를 공유하고 있을 수 있다.
복수의 노드(300)들 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.
복수의 노드(300)들 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.
복수의 노드(300)들 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(300)들 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.
즉, 일 실시예에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(300)들을 구성할 수 있다.
일 실시예에 따른 사용자 단말(300)은 블록체인 네트워크 상 하나의 노드로 참여하여, 데이터 블록을 생성하여 퍼블릭 블록체인 네트워크(21)에 제공하게 된다. 이때, 사용자 단말(300)들 중 적어도 일부는 데이터 블록의 위변조를 탐지할 수 있다.
도 4는 일 실시예에 따른 노드(300)의 구성도이다.
블록체인 네트워크(20)에서 복수의 노드(300)들 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 각 블록체인 트랜잭션(Transaction)의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증할 수 있다. 일 실시예에 의하면, 소정의 시간 간격 동안에 각 노드(300)를 통하여 블록체인 네트워크(20) 상에 배포된 블록체인 트랜잭션들은, 새로이 생성된 블록에 함께 저장될 수 있다. 일 실시예에 의하면, 노드(300) 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20)를 위한 블록체인(즉, 블록체인 분산 원장)의 적어도 일부를 저장할 수 있다.
도 4를 참조하면, 노드(300)는, 트랜잭션 처리 모듈(402), 통신 모듈(404), 블록 생성/검증 모듈(406), 및 블록체인 분산원장 저장 모듈(408)을 포함한다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 소정의 블록체인 트랜잭션을 수신하고, 그 수신된 트랜잭션을 블록체인 네트워크(20) 상의 다른 노드들(400)에 배포할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)은 블록체인 네트워크(21) 상의 다른 노드들(400)에 의해 배포된 트랜잭션을 수신할 수 있다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 수신된 트랜잭션을 처리(예컨대, 트랜잭션에 포함된 각 스마트 계약의 실행 등을 포함하며, 다만 본 개시가 이로써 제한되는 것은 아님)할 수 있다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 트랜잭션은, 클라우드 서비스 제공 장치(100)가 클라우드 서비스를 위해 생성한 각종 데이터에 대한 각종 해시값 또는 클라우드 서비스를 위해 생성한 각종 데이터가 노드(300)들에 분산 저장된 위치를 지시하는 트래커(tracker), 클라우드 서비스를 위해 클라이언트 단말(200)과 클라우드 서비스 제공 장치(100) 사이에 주고받은 데이터 이력 등을 포함할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 트랜잭션은, 임의의 노드(400)에 의해서 블록체인 네트워크(20) 상의 노드들 중 적어도 일부에 배포된 기타 다양한 트랜잭션(예컨대, 해당 블록체인 네트워크(21) 상에서 지원되는 디지털 화폐의 거래 정보 또는 기타 스마트 계약 정보를 포함한 트랜잭션 등을 포함하며, 본 개시가 이로써 제한되지 않음)을 포함할 수 있다.
일 실시예에 의하면, 통신 모듈(404)은, 노드(300)가 블록체인 네트워크(20) 상에서 소정의 프로토콜에 따라 다른 노드들(300)과 통신할 수 있도록 동작할 수 있다. 일 실시예에 의하면, 통신 모듈(404)은, 블록체인 트랜잭션이 소정의 프로토콜에 따라 통신망을 통해 블록체인 네트워크(20) 상에 배포되도록 할 수 있고, 아울러 통신망을 통하여 다른 노드들(300)로부터 블록체인 네트워크(20) 상의 각종 정보를 수신하도록 할 수 있다.
일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20)를 위한 블록을 생성하고, 소정의 시간 간격 동안 블록체인 네트워크(20) 상에서 발생한 트랜잭션들을 모아서 적절한 헤더 정보와 함께 그 생성된 블록에 기록할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 생성된 블록을 통신 모듈(404)을 통하여 블록체인 네트워크(20) 상에 공지할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20) 상에 공지된, 다른 노드(300)에 의하여 생성된 블록에 대한 검증을 수행할 수 있다.
일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 소정의 알고리즘에 따라, 블록체인 분산원장(즉, 트랜잭션들의 이력을 모두 포함하는 분산 원장)의 적어도 일부를 저장할 수 있다. 일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 또한, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 블록체인으로 구성된 스마트 계약에 관한 정보의 적어도 일부를 저장할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.
도 5는 일 실시예에 따른 블록체인으로 연결되는 블록(500)을 개념적으로 도시한 도면이다.
도 5는, 일 실시예에 따른 노드(300)에 포함된 블록체인 분산원장 저장 모듈(408)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(500)의 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 블록체인은 서로 연결된 복수의 블록들을 포함하며, 각 블록(500)은 블록 헤더(502)와 복수의 트랜잭션 정보(504a-504n)를 포함할 수 있다.
일 실시예에 의하면, 블록 헤더(502)는, 이전 블록 헤더의 해시(hash) 값, 넌스(nonce) 값, 해당 블록(500)에 포함될 트랜잭션 정보들(504a-504n)의 머클루트, 블록(500)이 생성된 시간을 나타내는 타임스탬프, 해당 블록(500)의 채굴 난이도 등의 값을 포함할 수 있다.
일 실시예에 의하면, 블록(500)에 포함된 복수의 트랜잭션 정보(504a-504n)는, 소정의 시간 간격 동안, 노드들(300)로부터 블록체인 네트워크(20) 상에 배포된 복수의 트랜잭션들일 수 있다.
일 실시예에 의하면, 블록(500)의 트랜잭션 정보(504a-504n)는, 노드(300)를 통해서 블록체인 네트워크(20) 상에 배포된 트랜잭션, 즉 클라우드 서비스 제공 장치(100)가 클라우드 서비스를 위해 생성한 각종 거래와 송수신 정보와 관련된 트랜잭션 정보를 포함할 수 있다.
도 4를 참조하여 설명한 노드(300)와 도 5를 참조하여 설명한 블록(500)에 대한 설명은 퍼블릭 블록체인 네트워크(21) 및 프라이빗 블록체인 네트워크(22)에 공통적으로 또는 선택적으로 적용될 수 있는 것으로 해석된다.
도 6은 일 실시예에 따른 프라이빗 블록체인 네트워크(22)을 설명하기 위한 도면이다.
프라이빗 블록체인 네트워크(22)는 사적 블록체인, 폐쇄형 블록체인, 허가형 블록체인, 기업형 블록체인 또는 엔터프라이즈 블록체인이라고도 불리며, 허가된 참여자 외 거래 내역과 여러 행동(Actions)은 공유되지 않고 추적할 수 없고, 프라이빗 블록체인 네트워크(22)에 노드(300)로 참여하기 위해 특정 주체로부터 허가된 참여자만 노드(300)로 참여하여 블록을 생성할 수 있다.
일 실시예에서, 프라이빗 블록체인 네트워크(22)는 클라우드 서비스 제공 장치(100)에 의해 관리되며, 사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 허가를 받아야 프라이빗 블록체인 네트워크(22)의 노드(300)로 참여할 수 있다.
일 실시예의 프라이빗 블록체인 네트워크(22)는 하이퍼렛저 패브릭(Hyperledger Fabric)을 이용한 서버 이중화(HA, High Availability)를 지원할 수 있다. 예를 들어, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)을 구성하는 노드(300)의 일부가 분산하여 저장하는 정보를 다른 노드(300)에도 복제하여 저장하고, 특정 노드(300)에 클라우드 서비스를 위해 부여한 역할 중 적어도 일부를 다른 노드(300)가 대신하도록 제어할 수 있다.
프라이빗 블록체인 네트워크(22)를 통해 블록체인으로 관리되는 공유 원장(shared ledger)은 특정 시점에서의 원장 상태들을 기록한 데이터베이스인 월드 스테이트(world state) 및 현재 생성된 트랜잭션들에 대한 정보를 기록한 트랜잭션 로그(transaction log)를 포함할 수 있다. 트랜잭션 로그에 기록된 정보는 월드 스테이트로 업데이트될 수 있다. 특히, 공유 원장은, 월드 스테이트를 대체할 수 있는 데이터 영역을 추가로 포함하며, 상기 데이터 영역은 월드 스테이트의 상태 변경 전후를 기록할 수 있다. 체인 코드가 실행되면 상기 월드 스테이트와만 상호작용하여 월드 스테이트의 기록을 참조 및 변경할 수 있다.
프라이빗 블록체인 네트워크(22)에서 구성되는 채널마다 각각 개별적인 공유 원장이 생성되어 관리하며, 노드(300)는 자신이 접근 가능한 채널들에 대한 공유 원장의 사본을 보관할 수 있다.
프라이빗 블록체인 네트워크(22)의 노드(300)들은 블록(500)을 구성하기 위한 트랜잭션들의 순서와 결과를 미리 명시한 정책 기준에 따라 검증함으로써 합의(consensus)를 할 수 있다. 이때, 노드(300)들은 트랜잭션 각각의 유효성과 순서 및 결과에 대한 검증을 통해 블록을 생성하고, 생성된 블록을 공유원장에 추가하여 블록체인으로 구성하기 전에 월드 스테이트를 참조하여 노드(300)들 사이에 합의된 공유 원장의 버전을 확인할 수 있다.
한편, 프라이빗 블록체인 네트워크(20)를 구성하는 노드(300)들 중 적어도 일부는 클라우드 서비스 제공 장치(100)에 의해 검증(프라이빗 블록체인 네트워크(20)에 참여를 위한 검증과 구별되며 노드(300)의 보안수준, 컴퓨팅 리소스 등에 따라 검증 여부가 결정될 수 있음)된 노드로서 프라이빗 블록체인 네트워크(20)에서 일어나는 모든 이벤트와 트랜잭션 등을 송수신하여 서로 공유하며, 노드(300)들 중 적어도 나머지는 클라우드 서비스 제공 장치(100)에 의해 검증되지 않은 노드로서 한정적인 이벤트 처리 및 REST API 서비스의 관리 등을 수행할 수 있다.
도 7은 일 실시예에 따른 퍼블릭 블록체인 네트워크(21)를 통해 구현되는 분산형 파일 시스템(IPFS)을 설명하기 위한 도면이다.
본 발명의 일 실시예에서 퍼블릭 블록체인 관리부(101)는, 퍼블릭 블록체인 네트워크(21)를 구성하는 노드(300)들 각각을 서로 동일한 파일 시스템을 갖는 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소로 구성할 수 있다.
퍼블릭 블록체인 관리부(101)는, 클라이언트 단말(200)로부터 저장하고자 하는 파일(file)을 제공받고, 제공받은 파일을 다수의 파일 조각들로 분할(spilt)하고, 분할된 파일 조각들 각각을 퍼블릭 블록체인 네트워크(21)를 구성하는 노드(300)에 각각 분산하여 저장할 수 있다. 이때, 퍼블릭 블록체인 관리부(101)는 퍼블릭 블록체인 네트워크(21)에 의해 관리되는 블록체인에 저장된 암호화 키를 획득하고, 획득된 암호화 키를 이용하여 파일 조각들 각각을 암호화하고, 암호화된 파일 조각들 각각을 노드(300)에 각각 분산하여 저장할 수도 있다.
또한, 퍼블릭 블록체인 관리부(101)는 각 노드(300)에 분산 저장된 파일 또는 그 조각들과 대응하는 해시값(hash)을 생성하고, 생성된 해시값을 퍼블릭 블록체인 네트워크(22)에 의해 관리되는 블록체인 상에 저장하고, 해시값을 클라이언트 단말(200)에 제공할 수 있다. 추후 클라이언트 단말(200)로부터 해시값을 제공받으면, 퍼블릭 블록체인 관리부(101)는 해시값에 대응하는 파일 조각들의 위치를 결정하고, 결정된 파일 조각들의 위치를 참조하여 각 노드(300)에 분산 저장된 파일을 머지(merge)하고, 머지된 파일을 클라이언트 단말(200)에 반환할 수 있다.
도 8은 일 실시예에 따른 클라우드 서비스 제공 시스템에 대한 아키텍쳐를 예시적으로 나타낸 도면이고, 도 9는은 도 8에 따른 아키텍쳐를 구체화하여 나타낸 도면이다.
전술한 바와 같이, 일 실시예의 블록체인 네트워크(20)는 프라이빗 블록체인 네트워크(22)와 퍼블릭 블록체인 네트워크(21)로 나눠지며, 퍼블릭 블록체인 네트워크(21)는 IPFS 기반의 분산형 파일 저장소로서 기능할 수 있으며, 외부 퍼블릭 블록체인 네트워크와 블록체인 API 브로커(104)를 통해 서로 연동될 수 있다.
클라우드 서비스 제공 장치(100)는 클라우드 서비스의 종류와 요구 레이턴시 등에 따라, 외부 퍼블릭 블록체인 네트워크와 내부 퍼블릭 블록체인 네트워크(21), 프라이빗 블록체인 네트워크(22) 중 하나를 선택하여 사용할 수 있다.
퍼블릭 블록체인 네트워크(21)는 전술한 하이퍼렛져 패브릭(Hyperledger Fabric)을 이용한 서버 이중화(HA)를 탑재할 수 있으며, 하이퍼렛저 패브릭(Hyperledger Fabric)에서 제공하는 이더리움 가상 머신(EVM, Ethereum Virtual Machine)상의 이더리움 스마트 계약(Ehereum Smart Contract) 및 시스템 체인 코드(System Chain code)를 동시에 지원할 수 있다. 따라서, 블록체인 API 브로커(104)는, 이더리움 기반의 스마트 계약을 사용하거나 하이퍼렛저 패브릭 기반의 체인 코드를 사용하는 외부 퍼블릭 블록체인 네트워크와 퍼블릭 블록체인 네트워크(21)를 서로 중계하여 통신할 수 있도록 할 수 있다.
즉, 퍼블릭 블록체인 네트워크(21)는, 블록체인 API 브로커(Blockchain API Broker, 104)를 통해, 외부 퍼블릭 블록체인 네트워크와 통신이 가능하며, 클라우드 서비스 제공 장치(100)는, 외부 개발자들과 사용자들이 요구하는 서비스 또는 작업의 종류에 따라, 이더리움 기반의 스마트 계약과 하이퍼렛저 패브릭 기반의 체인코드 중 하나를 선택하여 퍼블릭 블록체인 네트워크(21)를 관리 및 제어할 수 있다.
일례로, 프라이빗 블록체인(22)은 지불(Payment)이나 자산 관리(Asset Management)처럼 빠른 데이터 처리가 요구되는 경우에도 적용 가능하며, 개발자에게는 다양한 개발 툴을 제공하면서, 기업과 개인들에게는 오픈 플랫폼 형태로 클라우스 서비스 제공 플랫폼를 용이하게 이용할 수있게끔 설계될 수 있다.
프레임워크 관리부(103)에 의해 관리되는 소프트웨어 프레임워크 중 하나로, 인공지능 프레임워크(AI Framework)가 구성될 수 있다. 인공지능 프레임워크는 3단 Deep Learning 프레임워크로 구성될 수 있으며, 제1 계층(1st Floor)에는 ‘Keras’, 제2 계층(2nd Floor)에는 구글 ‘Tensorflow’, 페이스북 ‘Pytorch’, 아마존 ‘Mxnet’와 같은 프레임워크로 구성되어 있으며, 제3 계층(3rd Floor)은 'ONNX(Model exchange)’로 구성될 수 있다. 이에 따라, 현재 출시되어 있는 대다수의 클라우드와 호환이 가능할 수 있다.
따라서, 클라우드 서비스 제공 장치(100)는, 제1 계층(1st Floor) 및 제2 계층(2nd Floor)에 구성된 'Keras', 구글 ‘Tensorflow’, 페이스북 ‘Pytorch’, 아마존 ‘Mxnet’을 이용해 딥러닝(Deep Learning)을 수행하고, 제2 계층(2nd Floor)에서 ‘Scikit learn’으로 머신러닝을 수행하고, ‘Pandas’로 머신러닝을 위한 데이터 구성을 하고, ‘Bokeh’를 이용해 데이터 시각화를 함으로써 머신러닝 또는 딥러닝(ML/DL)에 필요한 통계 분석과 데이터 분석을 동시에 수행할 수 있다.
추가로 제3 계층에는, ‘Horovod’를 더 포함할 수 있다. Horovod는 Multi-GPU 환경에서 분산 훈련(Distributed Training)을 지원하는 프레임워크(Framework)이다. ‘Horovod’는 Bandwidth Optimal All-reduce Algorithm Paper를 기초로 하여, Bandwidth 사용이 최적화된 Ring-all reduce 방식으로 동작할 수 있다.
따라서, 클라우드 서비스 제공 장치(100)는, Horovod 기반으로 머신러닝 또는 딥러닝에 필요한 훈련을 블록체인 네트워크(20)를 구성하는 노드(300)들을 이용하여 분산하여 수행할 수 있다.
구체적으로, 클라우드 서비스 제공 장치(100)는, 딥러닝 또는 머신러닝 서비스를 프라이빗 블록체인 네트워크(22)를 이용하여 클라이언트 단말(200)에 제공할 수 있다. 프라이빗 블록체인 네트워크(22)는 지속적이고 빠른 컴퓨팅 속도를 보장하고 보안성이 높기 때문에 딥러닝 또는 머신러닝 서비스를 제공하는 데 적합할 수 있다.
구체적으로, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)마다 훈련시키고자 하는 학습 모델(인공신경망)을 개별적으로 저장하고, 개별적으로 저장된 학습 모델에 서로 다른 학습 데이터를 순전파 알고리즘 및 역전파 알고리즘을 이용하여 하나씩 개별 학습시킬 수 있다. 여기서, 순전파 알고리즘은 학습 모델을 구성하는 입력층, 은닉층 및 출력층으로 이동하면서 가중치(gradient)를 적용시켜가면서 가중치를 갱신하는 학습 방법이고, 역전파 알고리즘은 학습 모델의 출력층의 출력 결과와 원하는 출력 사이의 오차(error)를 최소화하도록 가중치를 갱신하는 학습 방법일 수 있다.
클라우드 서비스 제공 장치(100)는, 각 노드(300)가 학습 모델을 훈련하여 얻어지는 가중치를 다른 노드(300)에 전달하도록 제어하되, 각 노드(300)는, 링-올-리듀스(Ring all Reduce) 알고리즘을 이용하여 다른 노드(300)가 훈련을 통해 얻은 가중치들을 획득할 수 있다. 여기서 링-올 리듀스 알고리즘은, 2D-HRA: Two-Dimensional Hierarchical Ring-Based All-Reduce Algorithm in Large-Scale Distributed Machine Learning, Youhe Jiang, Huaxi Gu, Yunfeng Lu, Xiaoshan Yu, 183488p ~ 183494p, 2020)을 참조할 수 있다. 다음으로, 각 노드(300)는, 획득된 가중치들의 평균 또는 중간값을 가중치로 갖도록 자신이 저장하는 학습 모델을 갱신(update)할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서비스 제공 장치(100)는, 상술한 개별 학습과 갱신을 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들을 이용하여 반복적으로 수행함으로써 학습 모델의 방대한 훈련 데이터의 훈련을 분산하여 처리할 수 있다.
또한, 클라우드 서비스 제공 장치(100)가, 프라이빗 블록체인 네트워크(22)를 통한 머신러닝 또는 딥러닝 서비스를 제공할 경우 인증된 노드(300)만이 참여할 수 있기 때문에 계속적이고 많은 양의 리소스를 제공하는 것이 보장되기 어려울 수 있다.
이러한 문제를 해결하기 위하여 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들 중 적어도 일부를 마스터 노드(Master Node)로 지정하여 관리할 수 있다. 마스터 노드로 지정된 노드는 클라우드 서비스 제공 장치(100)에 의해 할당된 최소 컴퓨팅 리소스 이상을 지속적으로 제공하도록 강제되며, 클라우드 서비스 제공 장치(100)는 이러한 마스터 노드의 지정을 컴퓨팅 리소스를 모니터링함에 따라 변경할 수 있다. 예를 들어, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들 각각에서 제공하는 컴퓨팅 리소스를 모니터링하고, 미리 설정된 기간동안 제공된 컴퓨팅 리소스의 양이 미리 설정된 기준 이상인 노드(300)를 마스터 노드로 지정하여 관리할 수 있고, 마스터 노드로부터 제공되는 컴퓨팅 리소스가 기준값 이상으로 감소하면, 마스터 노드를 변경할 수 있다.
또한, 일 실시예의 클라우드 서비스 제공 장치(100)는 개발 툴 중 하나인쥬피터 노트북(Jupyter Notebook)을 생성 및 제공함으로써 클라이언트 단말(200)이 시각화를 작성하고 공유할수 있으며, 공유된 코드 및 데이터 모음에 대화형 수정도 가능하도록 지원한다. 쥬피터 노트북(Jupyter Notebook)은 ‘노트북’ 이라는 대화형 문서에 코드, 의견, 멀티미디어, 시각화 자료 등을 결합해 이를 공유하고, 재사용 및 재작업할 수 있게 해주는 기능을 제공하며, 웹 브라우저를 통해 실행되므로어, 쥬피터 노트북(Jupyter Notebook) 자체를 퍼블릭 블록체인 네트워크(21)를 이용하여 호스팅할 수 있다.
클라우드 서비스에서 제공되는 코드 공유 방식은 대부분 대화형이 아니나, 일 실시예의 쥬피터 노트북(Jupyter Notebook)은 웹 브라우저에서 직접 코드를 확인, 실행하고 결과를 표시할 수 있으며, 코드가 고정되어 있기 때문에 웹 브라우저에서 직접 제공되는 피드백을 반영해 실시간으로 조금씩 편집하여 다시 실행할 수 있고, 코드 입력 소스로 활용 가능한 사용자 제어 장치에 쥬피터 노트북(Jupyter Notebook)을 내장할 수도 있다.
도 9를 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은, 상술한 클라우드 서비스 제공 장치(100) 및 노드(300)를 대상으로 3개의 계층을 가진 아키텍쳐로 구성될 수 있다.
제1 계층(1st layer)은 리눅스(Linux) 운영체제를 기반으로 쿠버네티스 플랫폼(Kubernetes Platform) 환경에서 동작할 수 있다. 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이(deploy) 및 스케일링(scaling) 등을 제공하는 오픈 소스 기반의 관리 시스템일 수 있다.
일 실시예의 쿠버네티스는 컨테이너 구성과, 작업의 자동화를 지원하고, 컨테이너화된 애플리케이션을 배포하고 확장하는데 있어 수동화된 프로세스가 필요하지 않고, 무중단 서비스가 가능하다. 이에 따라, 클러스터를 효율적으로 관리할수 있으며, 전체 호스트를 확장할 수 있다.
일 실시예의 쿠버네티스는 이미지 형태의 도커(Docker)가 지원되어 컨테이너 역할을 수행한다. Linux는 다양한 버전이 존재하기 때문에 프라이빗 블록체인 네트워크(22)에 Deep Learning Framework를 전부 설치하는 것이 어렵기 때문에 도커(Docker)를 구성하여, 가상 머신의 클러스터에서 컨테이너를 예약하고, 원하는 이미지를 바로 실행할 수 있다.
일 실시예의 쿠버네티스(Kubernetes)는 먼저 하이퍼렛져 패브릭 도켓(Hyperledger Fabric Docket)이 설치되어 코인(Coin)과 토큰(Token) 관련된 업무를 수행할 수 있다. 보안 문제로 인해 외부에서 생성된 코인을 샘플링해서 링크하여 연계 동작시키고, 시스템에 따라 데이터베이스(DB)에 내장되는 데이터가 많아지면 내부화 과정이 쉽지 않기 때문에, 데이터베이스(DB)를 체인화 시킨 Big chain DB를 사용하고, 프라이빗 블록체인 네트워크(22) 내에서 빅데이터와 같은 대용량 데이터 처리를 위해 하둡 HDFS를 실행할 수도 있다.
도 10은 일 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 클라우드 서비스 제공 방법은 컴퓨팅 리소스 정보 수신 단계(S100), 컴퓨팅 리소스 정보 저장 단계(S110), 입력 데이터 수신 단계(S120), 입력 데이터 저장 단계(S130), 결과 데이터 생성 단계(S140), 결과 데이터 전송 단계(S150) 및 보상 제공 단계(S160)을 포함할 수 있다.
클라우드 서비스 제공 방법은, 전술한 클라우드 서비스 제공 장치(100)에 의해 수행될 수 있다.
우선, 컴퓨팅 리소스 정보 수신 단계(S100)로, 제어부(160)는 사용자 단말(300)로부터 컴퓨팅 리소스 정보를 수신할 수 있다.
일 실시예의 컴퓨팅 리소스 정보는 사용자 단말(300)의 식별 정보, 컴퓨팅 리소스의 종류, 제공 가능한 컴퓨팅 리소스의 크기, 제공 기간 등을 포함할 수 있다.
그리고, 컴퓨팅 리소스 정보 저장 단계(S110)로, 제어부(160)는 수신한 컴퓨팅 리소스 정보의 일부를 블록체인 네트워크(20)에서 관리되는 블록체인에 트랜잭션하여 저장할 수 있다. 제어부(160)는 컴퓨터 리소스 정보의 다른 일부를 블록체인 네트워크(20)를 구성하는 개별 노드(300)들에 분산 저장할 수 있다.
그리고, 입력 데이터 수신 단계(S120)로, 제어부(160)는 클라이언트 단말(200)로부터 입력 데이터를 수신할 수 있다.
일 실시예의 입력 데이터는 클라이언트 단말(200)이 요청하는 클라우드 서비스 관련 데이터로, ML/DL 서비스의 경우, ML/DL 분석을 위한 데이터일 수 있다.
그리고, 입력 데이터 저장 단계(S130)로, 제어부(160)는 수신한 입력 데이터의 적어도 일부를 블록체인 네트워크(20)에서 관리되는 블록체인에 트랜잭션하여 저장할 수 있다. 제어부(160)는 입력 데이터의 다른 일부를 블록체인 네트워크(20)를 구성하는 노드(300)에도 저장할 수 있다.
그리고, 결과 데이터 생성 단계(S140)로, 제어부(160)는 컴퓨팅 리소스 정보를 이용하여, 현재 사용 가능한 컴퓨팅 리소스를 확인한다. 그리고, 제어부(160)는 사용 가능한 컴퓨팅 리소스를 통해, 입력 데이터를 이용하여 결과 데이터를 생성할 수 있다.
일 실시예로, 컴퓨팅 리소스 정보는 컴퓨팅 리소스의 우선 순위를 더 포함할 수 있다. 이 경우, 제어부(160)는 컴퓨팅 리소스의 우선 순위를 이용하여, 사용 가능한 컴퓨팅 리소스를 스케줄링할 수 있다.
제어부(160)는 결과 데이터를 생성하는데 필요한 컴퓨팅 리소스를 시간별로 계산할 수 있다. 그리고, 제어부(160)는 계산된 필요 컴퓨팅 리소스에 따라, 사용 가능한 컴퓨팅 리소스의 시간별 사용 계획을 생성할 수 있다.
제어부(160)는 우선 순위에 따라, 사용자 단말(300)의 사용 가능한 컴퓨팅 리소스를 확인할 수 있으며, 결과 데이터를 생성하는데 필요한 컴퓨팅 리소스를 스케줄링할 수 있다.
일 실시예의 결과 데이터는 클라우드 서비스의 결과물로, ML/DL 서비스의 경우, ML/DL 분석 데이터일 수 있다.
그리고, 결과 데이터 전송 단계(S150)로, 제어부(160)는 생성된 결과 데이터를 클라이언트 단말(200)에 전송할 수 있다.
그리고, 보상 제공 단계(S160)로, 제어부(160)는 결과 데이터를 생성할 때, 사용한 컴퓨팅 리소스에 따라, 해당 컴퓨팅 리소스를 제공한 사용자 단말(300)에 블록체인 재원을 보상으로 제공할 수 있다.
도 11은 다른 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 11을 참조하면, 다른 실시예에 따른 클라우드 서비스 제공 방법은 입력 데이터의 저장 방법으로, 입력 데이터 분석 단계(S131), 프라이빗 블록체인 조건 판단 단계(S132), 퍼블릭 블록체인 트랜잭션 단계(S133), 프라이빗 블록체인 트랜잭션(S134) 및 클라우드 저장 단계(S135)를 포함할 수 있다
우선, 입력 데이터 분석 단계(S131)로, 제어부(160)는 입력 데이터를 분석하여, 클라이언트 단말(200)이 요청하는 클라우드 서비스의 종류, 입력 데이터의 크기, 입력 데이터를 처리하는데 필요한 처리 요구 속도 등을 도출할 수 있다.
그리고, 프라이빗 블록체인 조건 판단 단계(S132)로, 제어부(160)는 입력 데이터의 분석 결과를 이용하여, 클라이언트 단말(200)이 요청하는 클라우드 서비스가 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요한지 판단할 수 있다.
일례로, 제어부(160)는 기설정된 기준에 따라, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요한지 판단할 수 있다. 제어부(160)는 입력 데이터 크기가 기설정된 크기 이하이거나, 입력 데이터의 처리 요구 속도가 기설정된 속도 이상인 경우, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단할 수 있다. 즉, 입력 데이터가 크지 않아서 많은 노드가 필요하지 않은 경우나, 입력 데이터를 처리하는데 빠른 속도가 요구되는 경우, 제어부(160)는 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단할 수 있다.
예를 들어, 입력 데이터가 머신 러닝/딥 러닝에 따른 훈련 데이터인 경우,제어부(160)는, 프라이빗 블록체인 네트워크(22)를 이용하는 것으로 결정할 수 있다.
그리고, 퍼블릭 블록체인 트랜잭션 단계(S133)로, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하지 않다고 판단된 경우, 제어부(160)는 입력 데이터를 퍼블릭 블록체인(21)에 트랜잭션하여 저장할 수 있다.
그리고, 프라이빗 블록체인 트랜잭션(S134)로, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단된 경우, 제어부(160)는 입력 데이터의 적어도 일부를 프라이빗 블록체인 네트워크(22)에 트랜잭션하여 블록체인으로 구성하고, 이를 저장할 수 있다.그리고, 클라우드 저장 단계(S135)로, 제어부(160)는 입력 데이터에서 블록체인으로 구성되지 않은 데이터를 해당 블록체인 네트워크(20)를 구성하는 노드(300)에 분산 저장할 수 있다.
도 12는 일 실시예에 따른 사용자 단말(300)의 구성도이다.
도 12를 참조하면, 무선 통신부(310)는 사용자 단말(300)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(300)와 사용자 단말(300)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(310)는 방송 수신 모듈(311), 이동통신 모듈(312), 무선 인터넷 모듈(313), 근거리 통신 모듈(314) 및 위치정보 모듈(315) 등을 포함할 수 있다.
방송 수신 모듈(311)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기에서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 방송 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(312)에 의해 수신될 수 있다.
또한, 이동통신 모듈(312)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(313)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(300)에 내장되거나 외장 될 수 있다.
근거리 통신 모듈(314)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
또한, 위치정보 모듈(115)은 사용자 단말(300)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.
한편, A/V(Audio/Video) 입력부(320)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(321)와 마이크(322) 등이 포함될 수 있다. 카메라(321)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(351)에 표시될 수 있다.
카메라(321)에서 처리된 화상 프레임은 메모리(360)에 저장되거나 무선 통신부(310)를 통하여 외부로 전송될 수 있다. 카메라(321)는 사용자 단말(300)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크(322)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(312)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(322)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.
사용자 입력부(330)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(300)의 동작 제어를 위한 입력 데이터를 발생시킨다.
센싱부(340)는 사용자 단말(300)의 위치, 사용자 접촉 유무, 사용자 단말(300)의 방위, 사용자 단말(300)의 가속/감속 등과 같이, 사용자 단말(300)의 현 상태를 감지하여 사용자 단말(300)의 동작을 제어하기 위한 센싱 신호를 발생시킨다.
인터페이스부(370)는 사용자 단말(300)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.
출력부(350)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(351)와 음향 출력 모듈(352), 알람부(353) 등이 포함될 수 있다.
디스플레이부(351)는 사용자 단말(300)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(300)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
한편, 전술한 바와 같이, 디스플레이부(351)와 터치 패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(351)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(351)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 사용자 단말(300)의 구현 형태에 따라, 디스플레이부(351)는 2개 이상 존재할 수도 있다. 예를 들어, 사용자 단말(300)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.
음향 출력 모듈(352)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서, 무선 통신부(310)로부터 수신되거나 메모리(360)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(352)은 사용자 단말(300)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(352)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(353)는 사용자 단말(300)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다.
메모리(360)는 제어부(380)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.
메모리(360)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
제어부(380)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(380)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(381)은 제어부(380) 내에 구현될 수도 있고, 제어부(380)와 별도로 구현될 수도 있다.
제어부(380)는 클라우드 서비스 제공 장치(100)에 컴퓨팅 리소스를 제공할 수 있다.
제어부(380)는 사용자 단말(300)을 클라우드 서비스 제공 장치(100)에 의해의 구현된 블록체인 네트워크(21,22)의 노드(400)로 참여하도록, 블록체인 네트워크(21,22)와 통신할 수 있다.
제어부(380)는 컴퓨팅 리소스를 블록체인 네트워크(21,22)를 통해 제공하고, 컴퓨팅 리소스를 제공하는 보상으로, 블록체인 재원을 클라우드 서비스 제공 장치(100)로부터 제공받을 수 있다.
제어부(380)는 클라우드 서비스 제공 장치(100)에 제공한 컴퓨팅 리소스 현황 및 클라우드 서비스 제공 장치(100)로부터 제공받은 보상 현황을 사용자에게 출력할 수 있다.
전원 공급부(390)는 제어부(380)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
도 13은 일 실시예에 따른 클라우드 서비스 제공 장치(100)의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 13에 도시된 바와 같이, 클라우드 서비스 제공 장치(100)는 통신부(110), 입력부(120), 출력부(130), 메모리(140), 전원 공급부(150) 및 제어부(160)를 포함할 수 있다. 이하에서 설명하는 구성들은 예시적으로 이해되어야 하며, 블록체인 네트워크(20)를 구성하고 관리하는 데 적절한 수준의 수퍼 컴퓨팅이 가능한 하드웨어로 적절히 추가 또는 변경될 수 있다.
통신부(110)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 일례로, 통신부(110)는 외부의 클라이언트 단말(200) 및 사용자 단말(300)과 통신을 수행하여 다양한 데이터를 송수신할 수 있다.
입력부(120)는 클라우드 서비스 제공 장치(100)의 유저로부터 다양한 입력을 수신하여 제어부(160)로 전달할 수 있다. 특히, 입력부(120)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 마이크는 관리자 음성을 수신하기 위한 구성으로, 클라우드 서비스 제공 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 클라우드 서비스 제공 장치(100)의 외부에 구비되어 클라우드 서비스 제공 장치(100)와 전기적으로 연결될 수 있다.
출력부(130)는 다양한 화면을 제공할 수 있다. 일례로, 출력부(130)는 컴퓨팅 리소스 현황, 보상 현황, 클라이언트 정보 및 사용자 정보 등을 출력할 수 있다.
메모리(140)는 클라우드 서비스 제공 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(140)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(140)는 제어부(160)에 의해 액세스되며, 제어부(160)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 발명에서 메모리라는 용어는 메모리(140), 제어부(160) 내 롬(미도시), 램(미도시) 또는 클라우드 서비스 제공 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(140)에는 출력부(130)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
전원 공급부(150)는 제어부(160)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
제어부(160)는 통신부(110), 입력부(120), 출력부(130), 메모리(140) 및 전원 공급부(150)와 전기적으로 연결되어, 클라우드 서비스 제공 장치(100)의 전반적인 동작 및 기능을 제어하는 프로세서(Processor)로 구성될 수 있다. 특히, 제어부(160)는 메모리(140)에 저장된 다양한 모듈을 이용하여 클라우드 서비스를 제공할 수 있다.
본 명세서 전체(또는 도 2에 따른 구성요소들 101~107)에서 설명되는 클라우드 서비스 제공 장치(100) 상의 다양한 동작은 제어부(160)의 제어에 의해서 수행될 수 있음은 자명할 것이다.
도 14는 일 실시예에 따른 컴퓨팅 리소스 제공 현황이 출력된 사용자 단말(300)의 화면을 도시한 도면이다.
사용자 단말(300)은 클라우드 서비스 제공 장치(100)에 제공한 컴퓨팅 리소스의 현황을 사용자에게 출력할 수 있다.
도면에서 보는 바와 같이, 사용자 단말(300)이 클라우드 서비스 제공 장치(100)에 제공하는 컴퓨팅 리소스는 사용자 단말(300)의 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 포함할 수 있다.
이처럼, 사용자 단말(300)은 자신이 클라우드 서비스를 위해 제공하는 컴퓨팅 리소스 현황을 클라우드 서비스 제공 장치(100)로부터 제공받아 사용자에게 표시할 수 있다.
도 15는 일 실시예에 따른 보상 현황이 출력된 사용자 단말(300)의 화면을 도시한 도면이다.
사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 제공받은 보상 현황을 사용자에게 출력할 수 있다
도면에서 보는 바와 같이, 사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 보상으로 블록체인 재원을 제공받을 수 있으며, 일 실시예의 블록체인 재원은 블록체인 토큰(Token), 블록체인 코인(Coin)과 같은 디지털 화폐를 포함할 수 있다. 그러나, 일 실시예의 블록체인 채원은 이에 한정되지는 아니하고, 블록체인에서 구현 가능한 다양한 재원을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (1)

  1. 블록체인 기반의 IaaS(Infrastructure as a Service)를 포함하는 클라우드 서비스 제공 시스템으로,
    클라우드 서비스를 요청하는 클라이언트 단말;
    블록체인 네트워크를 관리하며, 상기 블록체인 네트워크를 구성하는 노드들을 분산 컴퓨팅 디바이스로 이용하여 상기 클라우드 서비스를 상기 클라이언트 단말에 제공하는 클라우드 서비스 제공 장치; 및
    상기 블록체인 네트워크에 상기 노드로 참여하고, 참여에 대한 보상으로 상기 블록체인 네트워크에 따른 블록체인 재원을 보상으로 제공받는 사용자 단말을 포함하고,
    상기 블록체인 네트워크는, 퍼블릭 블록체인 네트워크(public blockchain network) 및 프라이빗 블록체인 네트워크(private blockchain network)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성되며,
    상기 클라우드 서비스는, 상기 블록체인 네트워크를 구성하는 노드들의 컴퓨팅 리소스를 제공하는 인프라 서비스(IaaS)를 포함하고,
    상기 인프라 서비스는, 머신 러닝(Maching Learning, ML) 또는 딥 러닝(Deep Learning, DL)에 따른 훈련(Traning), 빅데이터의 구축, 상기 블록체인 네트워크를 구성하는 노드들로 구성된 분산 파일 시스템에서 분산된 파일의 조각들의 결합 중 적어도 하나를 수행하기 위한 컴퓨팅 리소스를 제공하는 서비스이고,
    상기 클라우드 서비스 제공 장치는,
    상기 클라우드 서비스의 종류와 레이턴시(latency), 및 컴퓨팅 리소스 양에 따라 상기 퍼블릭 블록체인 네트워크와 상기 프라이빗 블록체인 네트워크 중 하나를 선택하여 상기 클라우드 서비스를 제공하고,
    상기 프라이빗 블록체인 네트워크를 이용하여 딥러닝 또는 머신러닝에 기반한 훈련(traning)을 수행하고 훈련 결과를 상기 클라이언트 단말에 제공하는 머신러닝 서비스를 수행하되,
    상기 클라우드 서비스 제공 장치는,
    상기 퍼블릭 블록체인 네트워크를 구성하는 제1 노드들 각각의 컴퓨팅 리소스, 및 코인 지갑을 관리하는 퍼블릭 블록체인 관리부;
    상기 프라이빗 블록체인 네트워크를 구성하는 제2 노드들을 인증하고, 컴퓨팅 리소스를 관리하는 프라이빗 블록체인 관리부;
    상기 클라우드 서비스를 제공하기 위한 프레임워크(framework)를 구성하고 관리하는 프레임워크 관리부;
    상기 퍼블릭 블록체인 네트워크를 외부 퍼블릭 블록체인 네트워크와 통신하도록 중계하는 블록체인 API 브로커;
    상기 블록체인 네트워크를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 상기 클라이언트 단말에 제공하는 개발 툴 관리부;
    상기 퍼블릭 블록체인 관리부 및 상기 프라이빗 블록체인 관리부와 연동하여 상기 블록체인 네트워크를 구성하는 노드들로부터 컴퓨팅 리소스를 제공받고, 제공받은 컴퓨팅 리소스를 상기 클라이언트 단말에 제공하는 리소스 관리부; 및
    상기 퍼블릭 블록체인 관리부, 상기 프라이빗 블록체인 관리부, 및 상기 리소스 관리부와 연동하여 웹 상에서 애플리케이션을 구동하여 상기 클라이언트 단말에 제공하는 애플리케이션 구동부를 포함하고,
    상기 클라우드 서비스 제공 장치는,
    상기 프라이빗 블록체인 네트워크를 구성하는 상기 제2 노드들 각각에 훈련시키고자 하는 학습 모델을 개별적으로 저장하고, 상기 제2 노드들마다 저장된 상기 학습 모델에 서로 다른 학습 데이터를 순전파 알고리즘과 역전파 알고리즘을 이용하여 개별적으로 학습시키고, 상기 제2 노드들 각각에서 학습으로 얻어지는 가중치를 자신을 제외한 다른 제2 노드에 전달하도록 제어하고,
    상기 제2 노드들 각각은, 링-올 리듀스(Ring all Reduce) 알고리즘을 이용하여 다른 제2 노드들이 훈련을 통해 얻은 가중치들을 획득하고, 획득된 상기 가중치들의 평균값 또는 중간값을 가중치로 갖도록 자신이 저장하는 상기 학습 모델을 갱신(update)하는, 클라우드 서비스 제공 시스템.
KR1020210112369A 2021-03-02 2021-08-25 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템 KR102361215B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210112369A KR102361215B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210027261A KR102296907B1 (ko) 2021-03-02 2021-03-02 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
KR1020210112369A KR102361215B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027261A Division KR102296907B1 (ko) 2021-03-02 2021-03-02 블록체인 기반 클라우드 서비스 제공 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102361215B1 true KR102361215B1 (ko) 2022-02-14

Family

ID=77779822

Family Applications (10)

Application Number Title Priority Date Filing Date
KR1020210027261A KR102296907B1 (ko) 2021-03-02 2021-03-02 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
KR1020210112372A KR102361217B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 머신러닝 서비스를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112363A KR102361207B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 SaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112376A KR102361221B1 (ko) 2021-03-02 2021-08-25 블록체인 기반으로 머신러닝에 따른 보상을 제공하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112369A KR102361215B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112367A KR102361212B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 PaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210113280A KR102361222B1 (ko) 2021-03-02 2021-08-26 마스터 노드를 이용한 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
KR1020210113288A KR102391469B1 (ko) 2021-03-02 2021-08-26 퍼블릭 블록체인과 프라이빗 블록체인을 이용한 클라우드 서비스 제공 방법 및 시스템
KR1020210113297A KR102361224B1 (ko) 2021-03-02 2021-08-26 블록체인 기반으로 검증된 노드와 비검증된 노드를 이용한 클라우드 서비스 제공 방법 및 시스템
KR1020210113283A KR102392739B1 (ko) 2021-03-02 2021-08-26 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소를 이용한블록체인 기반 클라우드 서비스 제공 방법 및 시스템

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020210027261A KR102296907B1 (ko) 2021-03-02 2021-03-02 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
KR1020210112372A KR102361217B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 머신러닝 서비스를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112363A KR102361207B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 SaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210112376A KR102361221B1 (ko) 2021-03-02 2021-08-25 블록체인 기반으로 머신러닝에 따른 보상을 제공하는 클라우드 서비스 제공 방법 및 시스템

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020210112367A KR102361212B1 (ko) 2021-03-02 2021-08-25 블록체인 기반의 PaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
KR1020210113280A KR102361222B1 (ko) 2021-03-02 2021-08-26 마스터 노드를 이용한 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
KR1020210113288A KR102391469B1 (ko) 2021-03-02 2021-08-26 퍼블릭 블록체인과 프라이빗 블록체인을 이용한 클라우드 서비스 제공 방법 및 시스템
KR1020210113297A KR102361224B1 (ko) 2021-03-02 2021-08-26 블록체인 기반으로 검증된 노드와 비검증된 노드를 이용한 클라우드 서비스 제공 방법 및 시스템
KR1020210113283A KR102392739B1 (ko) 2021-03-02 2021-08-26 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소를 이용한블록체인 기반 클라우드 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (10) KR102296907B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345389A (zh) * 2018-09-25 2019-02-15 阿里巴巴集团控股有限公司 一种资源分享方法、装置及设备
CN115277110B (zh) * 2022-07-04 2023-07-28 河北嘉朗科技有限公司 一种在云原生环境下解决区块链节点跨网通信问题的方法
KR102517196B1 (ko) * 2022-08-24 2023-04-03 주식회사 엔터프라이즈블록체인 이력서 생성 및 관리 서비스를 제공하기 위한 서버 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210020570A (ko) * 2019-08-16 2021-02-24 삼성전자주식회사 전자 장치 및 이의 제어 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170025B1 (ko) * 2018-01-25 2020-10-26 김택균 퍼블릭과 프라이빗을 지원하는 하이브리드 블록체인 플랫폼 제공 방법 및 장치
KR102093145B1 (ko) * 2018-06-07 2020-03-25 한밭대학교 산학협력단 생체정보 인식 기반의 데이터 최적화를 위한 오브젝트 스토리지 클라우드 시스템
KR102270659B1 (ko) * 2018-07-06 2021-06-29 주식회사 메디웨일 안저 이미지 관리 장치 및 안저 이미지의 적합성 판단 방법
KR20200063340A (ko) * 2018-11-22 2020-06-05 한국클라우드컴퓨팅연구조합 클라우드향 기계학습 기반의 품질 검사 방법 및 그 시스템
KR102280584B1 (ko) * 2018-11-29 2021-07-23 한국전자통신연구원 블록체인을 이용한 광고 서비스 기반 탈중앙 스토리지 장치 및 방법
KR102206026B1 (ko) * 2019-01-04 2021-01-22 주식회사 커먼컴퓨터 블록체인 기반의 작업 요청 및 결과물의 거래 방법 및 시스템
KR102026580B1 (ko) * 2019-01-15 2019-09-27 강대준 블록체인을 이용한 무인 이동체 제어 시스템 및 이를 이용한 무인 이동체의 제어 방법
KR102210429B1 (ko) * 2019-04-30 2021-02-01 숭실대학교산학협력단 블록체인 기반의 인증을 위한 컨테이너 클러스터 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210020570A (ko) * 2019-08-16 2021-02-24 삼성전자주식회사 전자 장치 및 이의 제어 방법

Also Published As

Publication number Publication date
KR102392739B1 (ko) 2022-05-03
KR102361221B1 (ko) 2022-02-14
KR102361224B1 (ko) 2022-02-14
KR102361212B1 (ko) 2022-02-14
KR102361217B1 (ko) 2022-02-14
KR102391469B1 (ko) 2022-04-28
KR102361207B1 (ko) 2022-02-14
KR102296907B1 (ko) 2021-09-01
KR102361222B1 (ko) 2022-02-14

Similar Documents

Publication Publication Date Title
KR102361215B1 (ko) 블록체인 기반의 IaaS를 포함하는 클라우드 서비스 제공 방법 및 시스템
CN113711536B (zh) 从区块链网络中提取数据
Pustišek et al. Approaches to front-end IoT application development for the ethereum blockchain
KR102121159B1 (ko) 이벤트-구동 블록체인 워크플로우 프로세싱
JP6763094B2 (ja) 地図アプリケーションのブロックチェーンベースのクラウドソーシング
US12056730B2 (en) Edge computing platform supported by smart contract enabled blockchain network with off-chain solution verification
JP6827564B2 (ja) 分散型台帳システムにおけるトランザクションのパラレル実行の実施
JP6689946B2 (ja) ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置
US11989386B2 (en) Real-time geospatial collaboration system
KR102145701B1 (ko) 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지
US10805069B1 (en) Multi-layer ledgers for multi-party secure data governance
JP2020522150A (ja) コンセンサスノード選択方法および装置、ならびにサーバ
CN111164935A (zh) 在基于区块链的私有交易中提供隐私和安全保护的系统和方法
JP7035105B2 (ja) 情報共有トラッキングシステム、方法及びコンピュータ読み取り可能な記憶媒体
CN113129149A (zh) 基于区块链和安全多方计算的交易风险识别方法和装置
Aviv et al. Reference Architecture for Blockchain-Native Distributed Information System
TW202139127A (zh) 用於與區塊鏈相關聯之服務平台之運算服務
US11838277B2 (en) Blockchain-based secure, anonymizing message bus
Zhang et al. Integration of communication and computing in blockchain-enabled multi-access edge computing systems
Yewale Study of blockchain-as-a-service systems with a case study of hyperledger fabric implementation on Kubernetes
Chandratre et al. Blockchain based raspberry Pi mesh network
KR102510353B1 (ko) 블록체인 기반 골프 서비스 제공 방법 및 시스템
US20240126911A1 (en) Systems and methods for controlling permissions in blockchains
US20230267416A1 (en) Incremental implementation framework for data and ai strategy
Planje First Deployed DAO with True Full Decentralisation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant