KR102361217B1 - The method and system for providing cloud service including machine learning service based blockchain - Google Patents
The method and system for providing cloud service including machine learning service based blockchain Download PDFInfo
- Publication number
- KR102361217B1 KR102361217B1 KR1020210112372A KR20210112372A KR102361217B1 KR 102361217 B1 KR102361217 B1 KR 102361217B1 KR 1020210112372 A KR1020210112372 A KR 1020210112372A KR 20210112372 A KR20210112372 A KR 20210112372A KR 102361217 B1 KR102361217 B1 KR 102361217B1
- Authority
- KR
- South Korea
- Prior art keywords
- cloud service
- block chain
- blockchain network
- network
- blockchain
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1082—Resource delivery mechanisms involving incentive schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
Description
아래 실시예들은 블록체인 기반 클라우드 서비스 제공 방법 및 시스템에 관한 것으로, 구체적으로 블록체인을 구성하는 노드들의 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하고, 컴퓨팅 리소스를 제공한 노드들에게 보상을 제공하는 블록체인 기반의 머신러닝 서비스를 포함하는 클라우드 서비스 제공 방법 및 시스템에 관한 것이다.The following embodiments relate to a block chain-based cloud service providing method and system, and specifically, a block providing a cloud service using the computing resources of the nodes constituting the block chain, and providing a reward to the nodes that provided the computing resources It relates to a method and system for providing a cloud service including a chain-based machine learning service.
분산 원장 기술이라고도 지칭되는 블록체인(Blockchain) 기술은 하나 이상의 컴퓨팅 디바이스가 "회계"에 공동으로 참여하고 완전한 분산 데이터베이스를 공동으로 유지하는 새로운 기술이다. 블록체인 기술은 탈중앙화, 개방성, 및 투명성의 특징들을 가지며, 각각의 컴퓨팅 디바이스는 데이터베이스 기록에 참여할 수 있고, 컴퓨팅 디바이스들은 데이터 동기화를 신속하게 수행할 수 있다. 블록체인의 분산 데이터베이스에서 블록체인 기술을 사용하여 탈중앙화된 시스템을 확립하고 블록체인의 분산 데이터베이스에 자동 실행을 위한 다양한 실행 프로그램들을 기록하는 방법들이 많은 분야에서 널리 적용되고 있다.Blockchain technology, also referred to as distributed ledger technology, is a new technology in which one or more computing devices jointly participate in “accounting” and jointly maintain a fully distributed database. Blockchain technology has the characteristics of decentralization, openness, and transparency, and each computing device can participate in database recording, and the computing devices can quickly perform data synchronization. Methods of establishing a decentralized system using blockchain technology in the distributed database of blockchain and recording various executable programs for automatic execution in the distributed database of blockchain are widely applied in many fields.
4차 산업혁명의 핵심이 되는 빅데이터 기술의 특성은 3V로 정의할수 있는데, 규모(Volume), 속도(Velocity) 그리고 다양성(Variety)이 그것이다. 또한, 최근에는 3V뿐만 아니라 타당성(Validity)과 신뢰성(Veracity)도 빅데이터 특성으로 언급되고 있다. 타당성은 데이터 활용이 편협하지 않고 정확하게 활용했는지를 고려하는 요인이고, 신뢰성은 활용 데이터가 신뢰할 만한지를 고려하는 요인이다. 이는 기존과 중첩되지 않기 때문에 새로운 특성으로 볼 수 있다. 그러므로 빅데이터 특성은 엄밀히 말해 3V에서 5V로 확장한 것으로 볼 수 있다.The characteristics of big data technology, which are the core of the 4th industrial revolution, can be defined as 3V, which are volume, velocity, and variety. Also, recently, not only 3V but also validity and reliability are mentioned as big data characteristics. Validity is a factor that considers whether data utilization is accurate and not narrow, and reliability is a factor that considers whether utilization data is reliable. This can be viewed as a new characteristic because it does not overlap with the existing one. Therefore, it can be seen that the big data characteristics are technically extended from 3V to 5V.
이때, 빅데이터에서 요구되는 타당성과 신뢰성을 신현하기 위한 수단 중 하나로 블록체인이 고려될 수 있다. 블록체인은 탈중앙 플랫폼(Platform)으로서 시스템 참여자 전체에 합의된 데이터를공유하는 기술이다. 이를 위해 개인간(P2P) 네트워크와 합의 알고리즘이 적용돼 있는데, 해당 두 기술은 빅데이터의 타당성과 신뢰성으로 확장하게 한다.At this time, blockchain can be considered as one of the means for realizing the validity and reliability required in big data. As a decentralized platform, blockchain is a technology that shares data agreed upon by all system participants. To this end, a peer-to-peer (P2P) network and a consensus algorithm are applied, and these two technologies expand the validity and reliability of big data.
그러므로 블록체인과 인공지능이 결합되면서 데이터의 타당성과 신뢰성을 제공한다. 블록체인은 인공지능 분석의 기반이 되는 데이터 출처를 보여준다. 또한 해당 데이터가 합의로 인해 신뢰받았음을 인증케 한다. 그 뿐만 아니라, 분산형 인공지능 구현도 가능하다. 블록체인은 참여자가 공유되는 모든 데이터를 보유하고 있음을 원칙으로 한다. 이는 인공지능을 개별적으로 활용할 수 있게 한다. 기존의 중앙형 시스템은 한곳에 데이터를 모두 가지고 있고, 분석도 한곳에서 이뤄진다. 그런데 블록체인은 분석 범위를 참여자 간에 정할 수 있다. 분석 결과를 공유해 받아볼 수 있기 때문이다. 이처럼 두 유망 기술의 융합은 더 넓은 방향으로패러다임 전환을 불러일으키고 있다. 이에 따라 블록체인과 인공지능을 이용한 다양한 서비스가 개발 및 출시되고 있다.Therefore, the combination of blockchain and artificial intelligence provides validity and reliability of data. Blockchain reveals the data sources underlying AI analytics. It also authenticates that the data is trusted by consensus. Not only that, it is also possible to implement distributed artificial intelligence. The principle of blockchain is that participants own all shared data. This allows for individual use of artificial intelligence. Existing centralized systems have all data in one place, and analysis is done in one place. However, in blockchain, the scope of analysis can be determined among participants. This is because the analysis results can be shared and received. The convergence of these two promising technologies is causing a paradigm shift in a broader direction. Accordingly, various services using blockchain and artificial intelligence are being developed and released.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.Matters described in this background section are prepared to promote understanding of the background of the invention, and may include matters not already known to those of ordinary skill in the art to which this technology belongs.
아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 블록체인을 구성하는 노드들의 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하고, 컴퓨팅 리소스를 제공한 노드들에게 보상을 제공하는 블록체인 기반의 머신러닝 서비스를 포함하는 클라우드 서비스 제공 방법 및 시스템을 제공하는 것을 목적으로 한다.The following embodiments have been devised to solve the above-described problem, and a blockchain-based machine that provides a cloud service by using the computing resources of the nodes constituting the blockchain and provides rewards to the nodes that provided the computing resources. An object of the present invention is to provide a method and system for providing a cloud service including a learning service.
일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Problems to be solved by one embodiment are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 블록체인 기반의 머신러닝 서비스를 포함하는 클라우드 서비스 제공 방법 및 시스템을 제공한다.One aspect of the present invention for achieving the above object provides a cloud service providing method and system including a block chain-based machine learning service.
상기 블록체인 기반의 클라우드 서비스 제공 시스템은, 클라우드 서비스를 요청하는 클라이언트 단말; 블록체인 네트워크를 관리하며, 상기 블록체인 네트워크를 구성하는 노드들을 분산 컴퓨팅 디바이스로 이용하여 상기 클라우드 서비스를 상기 클라이언트 단말에 제공하는 클라우드 서비스 제공 장치; 및 상기 블록체인 네트워크에 상기 노드로 참여하고, 참여에 대한 보상으로 상기 블록체인 네트워크에 따른 블록체인 재원을 보상으로 제공받는 사용자 단말을 포함한다.The blockchain-based cloud service providing system includes: a client terminal requesting a cloud service; a cloud service providing apparatus that manages a block chain network and provides the cloud service to the client terminal using nodes constituting the block chain network as distributed computing devices; and a user terminal that participates in the block chain network as the node, and is provided with block chain resources according to the block chain network as a reward for participation.
상기 블록체인 네트워크는, 퍼블릭 블록체인 네트워크(public blockchain network) 및 프라이빗 블록체인 네트워크(private blockchain network)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성된다.The blockchain network is composed of a hybrid blockchain network including a public blockchain network and a private blockchain network at the same time.
상기 클라우드 서비스 제공 장치는, 상기 클라우드 서비스의 종류와 레이턴시(latency), 컴퓨팅 리소스 양에 따라 상기 퍼블릭 블록체인 네트워크와 상기 프라이빗 블록체인 네트워크 중 하나를 선택하여 상기 클라우드 서비스를 제공할 수 있다.The cloud service providing apparatus may provide the cloud service by selecting one of the public blockchain network and the private blockchain network according to the type, latency, and amount of computing resources of the cloud service.
상기 클라우드 서비스 제공 장치는, 상기 퍼블릭 블록체인 네트워크를 구성하는 제1 노드들 각각의 컴퓨팅 리소스, 및 코인 지갑을 관리하는 퍼블릭 블록체인 관리부; 상기 프라이빗 블록체인 네트워크를 구성하는 제2 노드들을 인증하고, 컴퓨팅 리소스를 관리하는 프라이빗 블록체인 관리부; 상기 클라우드 서비스를 제공하기 위한 프레임워크(framework)를 구성하고 관리하는 프레임워크 관리부; 상기 퍼블릭 블록체인 네트워크를 외부 퍼블릭 블록체인 네트워크와 통신하도록 중계하는 블록체인 API 브로커; 상기 블록체인 네트워크를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 상기 클라이언트 단말에 제공하는 개발 툴 관리부; 상기 퍼블릭 블록체인 관리부 및 상기 프라이빗 블록체인 관리부와 연동하여 상기 블록체인 네트워크를 구성하는 노드들로부터 컴퓨팅 리소스를 제공받고, 제공받은 컴퓨팅 리소스를 상기 클라이언트 단말에 제공하는 리소스 관리부; 및 상기 퍼블릭 블록체인 관리부, 상기 프라이빗 블록체인 관리부, 및 상기 리소스 관리부와 연동하여 웹 상에서 애플리케이션을 구동하여 상기 클라이언트 단말에 제공하는 애플리케이션 구동부를 포함할 수 있다.The cloud service providing apparatus may include: a public block chain management unit for managing computing resources of each of the first nodes constituting the public block chain network, and a coin wallet; a private blockchain management unit that authenticates second nodes constituting the private blockchain network and manages computing resources; a framework management unit for configuring and managing a framework for providing the cloud service; a blockchain API broker that relays the public blockchain network to communicate with an external public blockchain network; a development tool management unit that drives a development tool on the web using a computing resource provided through the block chain network and provides it to the client terminal; a resource management unit that interworks with the public block chain management unit and the private block chain management unit to receive computing resources from nodes constituting the block chain network, and provides the received computing resources to the client terminal; and an application driving unit that operates an application on the web in conjunction with the public block chain management unit, the private block chain management unit, and the resource management unit and provides it to the client terminal.
상기 프라이빗 블록체인 관리부는, 상기 제1 노드들 사이에 제한된 메시징 경로인 채널(channel)을 생성하고, 상기 채널을 통해 상기 상기 제1 노드들 중 특정 하위 집합에 대해 기밀성 있는 정보를 교환하도록 제어할 수 있다.The private blockchain management unit creates a channel, which is a limited messaging path between the first nodes, and controls to exchange confidential information for a specific subset of the first nodes through the channel. can
상기 프라이빗 블록체인 관리부는, 상기 제1 노드들 각각이 트랜잭션 순서화 전에 트랜잭션 실행을 수행하도록 상기 제1 노드들을 제어할 수 있다.The private blockchain management unit may control the first nodes so that each of the first nodes performs transaction execution before transaction ordering.
상기 퍼블릭 블록체인 관리부는, 상기 제2 노드들 각각을 서로 동일한 파일 시스템을 갖는 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소로 구성할 수 있다.The public blockchain management unit may configure each of the second nodes as an Inter Planetary File System (IPFS)-based distributed cloud storage having the same file system as each other.
상기 클라우드 서비스 제공 장치는, 상기 프라이빗 블록체인 네트워크를 이용하여 딥러닝 또는 머신러닝에 기반한 훈련(traning)을 수행하고 훈련 결과를 상기 클라이언트 단말에 제공하는 머신러닝 서비스를 수행할 수 있다.The cloud service providing apparatus may perform a machine learning service that performs deep learning or machine learning-based training using the private block chain network and provides a training result to the client terminal.
이상에서 설명한 바와 같은 일 실시예들에 따르면, 클라이언트에게 블록체인과 결합된 분산 클라우드 환경을 제공하여, 탈중앙화 환경에서 데이터를 저장, 관리, 처리하여 보안은 강화하고 데이터 처리 비용을 절감하게 할 수 있다.According to the embodiments as described above, it is possible to provide a distributed cloud environment combined with a block chain to the client, thereby enhancing security and reducing data processing costs by storing, managing, and processing data in a decentralized environment. have.
그리고, 블록체인 기술과 인공지능 기술을 융합하여, 신뢰성 있는 빅데이터 인공지능 분석을 통해, 클라이언트가 손쉽게 딥러닝(Deep Learning), 머신러닝(Machine Learning) 작업을 수행할 수 있다.In addition, by converging block chain technology and artificial intelligence technology, clients can easily perform deep learning and machine learning tasks through reliable big data artificial intelligence analysis.
또한, 기존의 검증된 오픈소스들을 활용해 많은 클라이언트들이 인공지능을 보다 가깝게 접근하여, 업무나 비즈니스에 활용할 수 있게 하여, 개인들은 업무 역량을 강화할 수 있고, 기업들은 생산성을 높일 수 있으며, 많은 플랫폼(Platform) 개발자들은 용이하게 각자의 플랫폼 컨셉에 맞게 개발할 수 있다In addition, by utilizing existing proven open sources, many clients can access AI more closely and use it for work or business, so that individuals can strengthen their work capabilities, companies can increase their productivity, and many platforms (Platform) Developers can easily develop according to their platform concept
일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of one embodiment are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 일 실시예에 따른 클라우드 서비스 제공 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 클라우드 서비스 제공 시스템의 개념도이다.
도 3은 일 실시예에 따른 퍼블릭 블록체인 네트워크를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 노드의 구성도이다.
도 5는 일 실시예에 따른 블록체인으로 연결되는 블록을 개념적으로 도시한 도면이다.
도 6은 일 실시예에 따른 프라이빗 블록체인 네트워크을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 퍼블릭 블록체인 네트워크를 통해 구현되는 분산형 파일 시스템(IPFS)을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 클라우드 서비스 제공 시스템에 대한 아키텍쳐를 예시적으로 나타낸 도면이고,
도 9는은 도 8에 따른 아키텍쳐를 구체화하여 나타낸 도면이다.
도 10은 일 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 11은 다른 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.
도 12는 일 실시예에 따른 사용자 단말의 구성도이다.
도 13은 일 실시예에 따른 클라우드 서비스 제공 장치의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 14는 일 실시예에 따른 컴퓨팅 리소스 제공 현황이 출력된 사용자 단말의 화면을 도시한 도면이다.
도 15는 일 실시예에 따른 보상 현황이 출력된 사용자 단말의 화면을 도시한 도면이다.1 is a diagram illustrating a cloud service providing system according to an embodiment.
2 is a conceptual diagram of a cloud service providing system according to an embodiment.
3 is a diagram for explaining a public blockchain network according to an embodiment.
4 is a block diagram of a node according to an embodiment.
5 is a diagram conceptually illustrating a block connected to a block chain according to an embodiment.
6 is a diagram for explaining a private blockchain network according to an embodiment.
7 is a diagram for explaining a distributed file system (IPFS) implemented through a public blockchain network according to an embodiment.
8 is a diagram illustrating an architecture for a cloud service providing system according to an embodiment;
FIG. 9 is a detailed diagram illustrating the architecture according to FIG. 8 .
10 is a flowchart of a cloud service providing method according to an embodiment.
11 is a flowchart of a cloud service providing method according to another embodiment.
12 is a block diagram of a user terminal according to an embodiment.
13 is a diagram exemplarily illustrating a hardware configuration of an apparatus for providing a cloud service according to an embodiment.
14 is a diagram illustrating a screen of a user terminal on which a computing resource provision status is output, according to an embodiment.
15 is a diagram illustrating a screen of a user terminal on which a compensation status is output, according to an embodiment.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.
이하, 첨부된 도면을 참조하여 실시예를 상세하게 설명한다.Hereinafter, an embodiment will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른 클라우드 서비스 제공 시스템(10)을 도시한 도면이다.1 is a diagram illustrating a cloud
도 1을 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은 클라우드 서비스 제공 장치(100), 클라이언트 단말(200) 및 사용자 단말(300)을 포함할 수 있다.Referring to FIG. 1 , a cloud
클라우드 서비스 제공 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.Communication between various entities included in the cloud
클라우드 서비스 제공 시스템(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) 같은 전자 장치 중 하나로서, 일 실시예와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.The cloud
클라우드 서비스 제공 장치(100)는 블록체인(Blockchain)을 기반으로 분산 클라우드(Cloud)를 제공하고, 블록체인 네트워크를 구성하는 노드(Node)들의 컴퓨팅 리소스를 이용하여, 다양한 클라우드 서비스를 제공하는 블록체인 플랫폼(Bloackchanin Platform)이다.The cloud
일 실시예의 컴퓨팅 리소스는 블록체인 네트워크를 구성하는 노드들이 제공하는 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 포함할 수 있다.The computing resource of an embodiment may include idle resources such as CPU, NETWORK, MEMORY, STORAGE, etc. provided by nodes constituting the blockchain network.
클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 구성하는 노드들의 컴퓨팅 리소스를 빌리고, 컴퓨팅 리소스를 사용하는 대가로 블록체인 재원을 보상으로 컴퓨팅 리소스를 제공한 노드에 제공할 수 있다.The cloud
본 명세서에서는 블록체인 재원을 블록체인을 이용하여 구현된 토큰(Token) 또는 코인(Coin)으로 설명하나, 일 실시예는 이에 한정되지는 아니하고, 블록체인에서 구현 가능한 다양한 디지털 화폐를 포함한다 하겠다.In this specification, block chain resources are described as tokens or coins implemented using block chains, but one embodiment is not limited thereto, and it will include various digital currencies that can be implemented in block chains.
클라우드 서비스 제공 장치(100)는 클라이언트 단말(200)로부터 수신된 입력 데이터를 이용하여, 클라이언트가 요청하는 다양한 클라우드 서비스를 제공할 수 있다.The cloud
일 실시예의 입력 데이터는 클라이언트 단말(200)이 요청하는 클라우드 서비스 관련 데이터이다. 일례로, 머신 러닝 관련 클라우드 서비스의 입력 데이터는 머신 러닝을 수행하기 위해 입력되는 데이터로 구성될 수 있다.The input data according to an embodiment is cloud service related data requested by the
클라우드 서비스 제공 장치(100)는 입력 데이터를 이용하여, 다양한 클라우드 서비스의 결과로, 결과 데이터를 생성할 수 있다. 클라우드 서비스 제공 장치(100)는 생성된 결과 데이터를 클라이언트 단말(200)에 제공할 수 있다. The cloud
일 실시예의 클라우드 서비스는 블록체인 네트워크를 구성하는 노드들(동시에 클라우드 서비스를 위한 클라우드를 구성함)의 컴퓨팅 리소스를 이용하여 웹 상에서 애플리케이션을 구동시켜 제공하는 애플리케이션 서비스(SaaS, Software as a Service), 블록체인 네트워크를 구성하는 노드들로부터 제공받은 컴퓨팅 리소스를 제공하는 인프라 서비스(IaaS, Infrastructure as a Service), 블록 체인 네트워크를 구성하는 노드들로부터 제공받은 컴퓨팅 리소스를 이용하여 각종 소프트웨어 개발 툴을 제공하는 플랫폼 서비스(PaaS, Platform as a Service)를 포함할 수 있다.The cloud service of one embodiment is an application service (SaaS, Software as a Service) provided by running an application on the web using the computing resources of nodes constituting the block chain network (at the same time constituting the cloud for the cloud service); Infrastructure as a Service (IaaS) that provides computing resources provided from the nodes constituting the block chain network, and various software development tools using the computing resources provided from the nodes constituting the block chain network. It may include a platform 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), 빅데이터의 구축, 블록체인 네트워크를 구성하는 노드들로 구성된 분산 파일 시스템에서 분산된 파일의 조각들의 결합 등에 관한 컴퓨팅 리소스를 제공하거나, 외부 퍼블릭 블록체인 네트워크에 대한 접근을 통한 외부 퍼블릭 블록체인 네트워크와의 연계를 제공할 수 있다.Specifically, the application service is a bio-healthcare application, an application related to the creation and management of a block chain, an application related to streaming, an application to perform analysis using AI, an application related to battery management, and a file sharing and synchronization application , Internet of Things (IoT) device management applications, and the like may include services provided on the web using the cloud. Platform services include Jupyter Notebook, Visual Studio Code, an Ethereum app development tool, Truffle, which are application development tools, and AutoML, an app development tool for machine learning. It may include services provided on the web using the cloud. Infra service is a file distributed in a distributed file system consisting of nodes constituting a block chain network, training according to Machine Learning (ML) or Deep Learning (DL), construction of big data, and It can provide computing resources related to the combination of pieces of
클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 관리하는 게이트웨이(Gateway) 역할을 수행하며, 블록체인 네트워크를 유지 및 관리하고 클라우드 서비스를 제공하는데 필요한 프레임워크(Framework)와 각종 소프트웨어 툴(Software TOOL)을 제공하고, 블록체인 네트워크를 구성하는 노드들의 분산화된 컴퓨팅 리소스를 클라이언트 단말(200)에 간접적으로 제공하는 역할을 하는 것이다.The cloud
클라우드 서비스 제공 장치(100)는 이를 위해, 블록체인 플랫폼 및 클라우드를 구현하고, 제공하는바, 이하에서 서술하는 클라우드 서비스 제공 장치(100)는 클라우드 서비스 제공 장치(100) 자체뿐만 아니라, 클라우드 서비스 제공 장치(100)가 구현하는 블록체인 플랫폼 및 클라우드를 지칭할 수 있다.The cloud
클라우드 서비스 제공 장치(100)는, 블록체인 네트워크(20)를 구성하는 노드인 사용자 단말(300) 이 결과 데이터를 얻는 데 필요한 컴퓨팅 리소스를 제공하면, 사용자 단말(300) 에 블록체인 재원을 보상으로 제공할 수 있다.The cloud
클라이언트 단말(200)은 클라우드 서비스를 이용하는 주체로, 클라우드 서비스 제공 장치(100)에 원하는 클라우드 서비스를 요청할 수 있다.The
클라이언트 단말(200)은 클라우드 서비스를 요청하기 위하여 입력 데이터를 클라우드 서비스 제공 장치(100)에 전송하고, 클라우드 서비스의 결과로 결과 데이터를 클라우드 서비스 제공 장치(100)로부터 수신할 수 있다.The
일례로, 클라이언트 단말(200)이 ML/DL을 수행하는 클라우드 서비스를 요청하는 경우, 클라이언트 단말(200)은 ML/DL의 입력 데이터(여기서 입력 데이터는 머신 러닝(ML) 또는 딥러닝(DL)을 수행하는 데 필요한 훈련 데이터 셋을 포함할 수 있음)를 클라우드 서비스 제공 장치(100)에 전송한다. 클라우드 서비스 제공 장치(100)는 블록체인 네트워크를 구성하는 노드들의 컴퓨팅 리소스를 이용하여, 입력 데이터에 대한 ML/DL을 수행하고, 결과 데이터를 생성하여, 생성된 결과 데이터를 클라이언트 단말(200)에 전송하는 것이다.As an example, when the
일 예시로, 클라이언트 단말(200)이 전송받은 결과 데이터를 클라우드 서비스 제공 장치(100)가 활용할 수 있는 권한을 클라우드 서비스 제공 장치(100)에 제공할 경우, 클라이언트 단말(200)도, 클라우드 서비스 제공 장치(100)로부터 블록체인 재원을 보상으로 제공받을 수 있다. 클라우드 서비스 제공 장치(100)는, 권한을 제공받은 클라이언트 단말(200)의 결과 데이터를 다른 제3 의 클라이언트 단말에게 제공할 수도 있다.As an example, when the cloud
사용자 단말(300)은 블록체인 네트워크를 구성하는 노드(node)로서 기능함과 동시에 클라우드 서비스를 클라이언트 단말(200)에 제공하기 위한 분산 컴퓨팅 장치일 수 있다. 따라서, 사용자 단말(300)은, 클라우드 서비스를 수행하는 데 필요한 컴퓨팅 리소스를 클라우드 서비스 제공 장치(100)에 제공할 수 있다. 전술한 바와 같이, 일 실시예의 컴퓨팅 리소스는 사용자 단말(300)이 제공하는 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 의미한다.The
사용자 단말(300)은 클라우드 서비스 제공 장치(100)에의 관리되는 블록체인 네트워크에 일 노드로 참여할 수 있다. 이하에서는 사용자 단말(300)과 블록체인 내 노드는 동일한 의미로 사용된다 하겠다.The
사용자 단말(300)은 컴퓨팅 리소스를 블록체인을 통해 클라우드 서비스 제공 장치(100)에 제공하고, 클라우드 서비스 제공 장치(100)는 다수의 사용자 단말(300)들로부터 제공받은 컴퓨팅 리소스를 이용하여 다양한 클라우드 서비스를 실시할 수 있다. 사용자 단말(300)은 컴퓨팅 리소스를 제공하는 것에 대한 보상으로, 블록체인 재원을 클라우드 서비스 제공 장치(100)로부터 제공받을 수 있다.The
도 2는 일 실시예에 따른 클라우드 서비스 제공 시스템(10)의 개념도이다.2 is a conceptual diagram of a cloud
도 2를 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은, 클라우드 서비스를 요청(request)하고 요청에 대한 결과 데이터를 제공받는 클라이언트 단말(200), 클라이언트 단말(200)로부터 요청을 수신하고, 블록체인 네트워크(20)를 관리하며, 블록체인 네트워크(20)를 구성하는 노드(300)들을 분산 컴퓨팅 디바이스로 이용하여 결과 데이터를 생성하여 클라이언트 단말(200)에 제공하는 클라우드 서비스 제공 장치(100), 및 클라우드 서비스 제공 장치(100)에 의해 관리 및 유지되며 다수의 노드들(300)로 구성된 블록체인 네트워크(20)를 포함할 수 있다.Referring to FIG. 2 , a cloud
블록체인 네트워크(20)는 퍼블릭 블록체인 네트워크(Public Blockchain Network, 21) 및 프라이빗 블록체인 네트워크(Private Blockchain Network, 22)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성될 수 있다. 따라서, 본 명세서 전체에서 노드(300)는 퍼블릭 블록체인 네트워크(21)와 프라이빗 블록체인 네트워크(22) 중 하나를 구성하는 노드이거나, 퍼블릭 블록체인 네트워크(21)를 구성함과 동시에 프라이빗 블록체인 네트워크(22)를 구성하는 노드일 수도 있다.The
또한, 블록체인 네트워크(20)를 구성하는 노드들은 클라우드 서비스를 제공하기 위한 분산 클라우드 컴퓨팅을 수행하며, 필요에 따라 클라우드 서비스에 필요한 정보들을 트랜잭션으로 원장에 기록하여 원장에 대응하는 블록체인을 생성할 수 있다. 따라서, 클라우드 서비스에 필요한 정보들이 블록체인에 따른 합의 알고리즘 등에 의해 신뢰될 수 있으며, 노드들 중 선택 또는 합의된 일부 노드는 클라우드 서비스에 필요한 정보를 공유하거나 분산하여 저장할 수 있다.In addition, the nodes constituting the
일반적으로 퍼블릭 블록체인 네트워크는 모든 노드 간 탈중앙화를 통해 데이터의 투명성을 확보할 수 있지만 느린 단점이 있는 반면, 프라이빗 블록체인 네트워크는 빠르고 높은 성능을 목표로 하지만 허가된 노드들로만 네트워크를 구성하므로 노드 수를 크게 확장하기 어렵다. 본 발명에 따른 블록체인 네트워크(20)는 빠른 성능과 탈중앙화, 확장성을 모두 보장할 수 있도록 하이브리드 블록체인 네트워크를 채용할 수 있다.In general, a public blockchain network can ensure data transparency through decentralization between all nodes, but has a slow disadvantage, whereas a private blockchain network aims for fast and high performance, but consists of only authorized nodes, so the number of nodes difficult to expand significantly. The
본 발명에서 퍼블릭 블록체인 네트워크(21)는, 클라우드 서비스 제공 장치(100)에 의해 관리되는 노드들로 구성된 내부 퍼블릭 블록체인 네트워크를 의미할 수 있다. 여기서 내부 퍼블릭 블록체인 네트워크(21)는 프라이빗 블록체인 네트워크(22)를 통해 구현되는 블록체인 API 브로커(blockchain API broker, 104)를 통해 비트코인(Bitcoin), 이더리움(Ethereum), 이오스(EOS) 등과 같은 통상적인 외부 퍼블릭 블록체인 네트워크와 통신할 수 있게 구성된다.In the present invention, the
프라이빗 블록체인 네트워크(22)는, 클라우드 서비스 제공 장치(100)에 의해 허가된 노드들로만 구성된 블록체인 네트워크일 수 있다.The
블록체인 관리부(10)는, 블록체인 네트워크(20)를 생성하고 관리할 수 있다. 블록체인 관리부(10)는 퍼블릭 블록체인 관리부(101) 및 프라이빗 블록체인 관리부(102)를 포함할 수 있다.The block
퍼블릭 블록체인 관리부(101)는, 퍼블릭 블록체인 네트워크(21)를 생성하고 퍼블릭 블록체인 네트워크(21)를 구성하는 노드들 각각의 컴퓨팅 리소스, 코인 월넛(coin wallet) 등을 관리할 수 있다.The public block
프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 생성하고, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들을 인증하고, 각각의 컴퓨팅 리소스를 관리할 수 있다. 예를 들어, 프라이빗 블록체인 관리부(102)는, 리눅스재단(Linux Foundation)이 주도하는 기업용 블록체인을 위한 오픈소스 프로젝트인 하이퍼렛저 패브릭(Hyperledger fabric)을 이용하여 구현될 수 있다.The private
구체적으로, 프라이빗 블록체인 관리부(102)는, 권한이 부여된 프라이빗 블록체인 네트워크(22)를 활성화하기 위해 프라이빗 블록체인 네트워크(22)를 구성하는 노드들의 사용자 식별 정보를 관리하고, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들을 인증하는 멤버 자격 서비스를 제공할 수 있다. 프라이빗 블록체인 관리부(102)는, 액세스 제어 목록을 생성하고, 생성된 액세스 제어 목록을 이용하여 특정 네트워크 작업의 승인을 통해 추가 권한 계층을 제공할 수 있다.Specifically, the private
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 비공개 트랜잭션이 필요한 클라이언트 단말(200) 또는 프라이빗 블록체인 네트워크(22)를 구성하는 노드에게 프라이빗 블록체인 네트워크(22)에 대한 접근을 허가 및 제공할 수 있다. 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 사이에 제한된 메시징 경로인 채널(channel)을 생성할 수 있다. 채널은 제한된 메시징 경로로써 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 중 특정 하위 집합에 대해 개인 정보 또는 그러한 기밀성 있는 정보를 제공하는 데 사용될 수 있다. 채널은 액세스 권한이 부여되지 않은 노드들에 의해 엑세스되지 않는다.In one embodiment, the private
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(400)의 유형별로 네트워크 역할을 할당할 수 있다. 네트워크에 동시성과 병렬성을 제공하기 위해 노드(400)들에서의 트랜잭션 실행은 트랜잭션 순서화 전에 진행된다. 트랜잭션을 순서화하기 전에 실행되면 각 노드(400)가 동시에 여러 트랜잭션을 처리할수 있다. 이러한 동시 실행은 각 노드(400)의 처리 효율성을 높이고, 스케줄링 서비스에 대한 트랜잭션 전달을 가속한다. 병렬 처리를 가능하게 하는 것 외에도, 업무 분장은 트랜잭션 실행 및 유지 보수 요구에서 노드 스케줄링 작업을 부담하지 않기 때문에 노드(400)는 컨센서스 작업 부하에서 자유로워진다. 하나의 트랜잭션 실행 프로세스는 다른 노드(400)의 검증과 독립적으로 실행될 수 있다. 따라서, 프라이빗 블록체인 관리부(102)는, 각 노드들에서 트랜잭션 실행이 진행된 후, 트랜잭션 순서화를 진행하고, 순서화된 트랜잭션들을 프라이빗 블록체인 네트워크(22)에 반영하는 커밋(commit)을 수행하도록 노드(400)를 제어할 수 있다.In an embodiment, the private
일 실시예에서, 프라이빗 블록체인 관리부(102)는, 프라이빗 블록체인 네트워크(22)에서 특정 유형의 트랜젝션(transaction)을 수신할 때 호출되는 프로그램인 체인 코드(chaincode)를 실행할 수 있다. 구체적으로, 프라이빗 블록체인 관리부(102)는, 특정 유형의 트렌젝션을 수신할 때 프라이빗 블록체인 네트워크(22)를 구성하는 노드들 중 검증된 노드를 통해 체인 코드를 실행할 수 있다. 체인 코드는 수신된 특정 유형의 트렌젝션에 상응하는 처리를 통해 원장(ledger)을 생성하고, 여기서 생성된 원장은 다른 체인 코드가 실행될 때 엑세스되지 않을 수도 있다. 체인 코드는 이더리움 플랫폼에서의 스마트 계약(smart contract)에 대응하는 개념으로서, 체인 코드 또는 스마트 계약은 원장(ledger)을 생성하고 관리하는 각종 용어와 프로세스 등을 정의한 프로그램일 수 있다.In one embodiment, the
프레임워크 관리부(103)는, 블록체인 네트워크(20)를 구성하는 노드(300)들로부터 제공되는 컴퓨팅 리소스를 이용하여 클라우드 서비스를 제공하기 위한 프레임 워크(framework)를 구성하고 관리할 수 있다. 일례로, 프레임워크 관리부(103)는, 머신러닝 또는 딥러닝을 수행하기 위한 인공지능 프레임워크(AI Framework)를 구성 및 관리할 수 있다.The
블록체인 API 브로커(104, blockchain API broker)는 퍼블릭 블록체인 네트워크(21) 및/또는 프라이빗 블록체인 네트워크(22)를 비트코인(Bitcoin), 이더리움(Ethereum), 이오스(EOS) 등과 같은 통상적인 외부 퍼블릭 블록체인 네트워크와 통신할 수 있도록 중계할 수 있다. 예를 들어, 블록체인 API 브로커(104)는, 이더리움 플랫폼 기반의 스마트 계약(Smart contract) 및 하이퍼렛저 패브릭 기반의 체인 코드(Chain code)를 동시에 지원하고 상호 호환 및 변환되도록 지원함으로써 하이퍼렛저 패브릭 기반의 프라이빗 블록체인 네트워크(22)와 외부 퍼블릭 블록체인 네트워크가 서로 호환 및 통신할 수 있도록 지원하며, 자신이 관리하는 퍼블릭 블록체인 네트워크(21)과 퍼블릭 블록체인 네트워크(21) 사이의 호환 및 통신을 지원할 수 있다. 따라서, 클라이언트 단말(200)은 클라우드 서비스 제공 장치(100)를 통해 내부의 블록체인 네트워크(20) 뿐만 아니라 외부의 퍼블릭 블록체인 네트워크를 이용할 수도 있다.The blockchain API broker 104 (blockchain API broker) connects the
개발 툴 관리부(105)는, 블록체인 네트워크(20)를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 클라이언트 단말(200)에 제공할 수 있다. 이를 위해 개발 툴 관리부(105)는 블록체인 관리부(10)와 연동하여 동작할 수 있다. 예를 들어, 개발 툴은, 애플리케이션 개발 툴에 해당하는 쥬피터 노트북(Jupyter Notebook), 비쥬얼 스튜디오 코드(Visual Studio Code), 이더리움앱 개발툴인 트러플(Truffle), 머신러닝에 관한 앱 개발툴인 오토ML(AutoML) 등을 포함할 수 있다.The development
리소스 관리부(106)는, 블록체인 관리부(10)와 연동하여 블록체인 네트워크(20)를 구성하는 노드들로부터 제공받는 컴퓨팅 리소스를 관리하고, 클라이언트 단말(200)의 요청에 따라 관리하는 컴퓨팅 리소스를 클라이언트 단말(200)에 제공할 수 있다. 또한, 리소스 관리부(106)는, 개발 툴 관리부(105) 및 애플리케이션 구동부(107)에 자신이 관리하는 컴퓨팅 리소스를 제공할 수 있다.The
애플리케이션 구동부(107)는, 블록체인 관리부(10) 및 리소스 관리부(106)와 연동하여 웹 상에서 애플리케이션을 구동하여 클라이언트 단말(200)에 제공할 수 있다. 예를 들어, 애플리케이션 구동부(107)에 의해 구동되는 애플리케이션은 바이오 헬스케어 애플리케이션, 블록체인의 생성 및 관리에 관한 애플리케이션, 스트리밍(Streaming)에 관한 애플리케이션, AI를 이용한 분석을 수행하는 애플리케이션, 배터리 관리에 관한 애플리케이션, 파일 공유 및 동기화 애플리케이션, IoT(Internet of Things) 기기의 관리 애플리케이션 등일 수 있다.The
그 밖에도, 클라우드 서비스 제공 장치(100)는, 보상부, 클라이언트 관리부 등을 더 포함할 수 있다.In addition, the cloud
보상부는 클라이언트 단말(200) 및 사용자 단말(300)에 보상을 제공할 수 있다. 보상부는 머신 러닝 또는 딥러닝(ML/DL)에 따른 결과 데이터에 대한 사용을 허용하는 클라이언트 단말(200)에 보상을 제공할 수 있으며, 블록체인 네트워크(20)를 구성하여 노드(node)로 기능하는 사용자 단말(300)에 보상을 제공할 수 있다.The compensation unit may provide compensation to the
보상부는 ML/DL 결과 데이터의 개수, 크기 등에 따라 클라이언트 단말(200)에 제공하는 보상 크기를 결정할 수 있으며, 컴퓨팅 리소스의 종류, 크기, 제공 기간 등에 따라 사용자 단말(300)에 제공하는 보상 크기를 결정할 수 있다.The compensation unit may determine the compensation size to be provided to the
보상부는 클라이언트 단말(200) 및 사용자 단말(300)에 블록체인 재원을 보상으로 제공할 수 있으며, 일 실시예의 블록체인 재원은 블록체인에서 구현되는 토큰(Token) 또는 코인(Coin) 등의 디지털 화폐를 포함할 수 있다.The compensation unit may provide the
클라이언트 관리부는 클라이언트 단말(200)의 정보 또는 클라이언트 단말(200)의 사용자에 대한 정보를 관리할 수 있다.The client manager may manage information on the
도 3은 일 실시예에 따른 퍼블릭 블록체인 네트워크(21)를 설명하기 위한 도면이다.3 is a diagram for explaining the
도 3을 참조하면, 일 실시예의 퍼블릭 블록체인 네트워크(21)는 통신망을 통해 서로 통신 가능한 복수의 노드들(300)로 구성될 수 있다.Referring to FIG. 3 , the public
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 온라인 거래 정보를 블록(Block)으로 생성하고, 생성된 블록들을 서로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, Peer)들의 개인 디지털 장비에 데이터를 분산시켜 저장함으로써, 데이터를 공동으로 관리하는 방식이다.First, the blockchain will be described. Blockchain creates online transaction information as a block, connects the generated blocks to each other, and distributes data to the personal digital equipment of participants (peers) rather than the central management server in a peer-to-peer (P2P) network distributed environment. It is a method of jointly managing data by storing
구체적으로, 블록체인의 기본 구조는 블록(block)을 잇따라 연결한(chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 사용자 단말(즉 노드(300))에 분산시켜 저장한다.Specifically, the basic structure of a block chain is a collection of blocks connected one after another, and is based on a peer-to-peer (P2P) method. In addition, for a certain period of time, more than half of the participants exchange transaction details with each other, confirm and approve, and only the transaction details agreed upon by digital signatures are made into one block. Then, the newly created block is connected to the previous block chain, and a copy is made and distributed and stored in the user terminals (ie, node 300) of each participant.
따라서, 블록체인을 활용하는 경우, 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.Therefore, when blockchain is used, there is no need to separately manage a database for transaction books, so management costs are reduced, and the safety of transactions is improved because it is difficult to hack through distributed processing. The block chain method can be applied to transactions such as stocks and real estate, and can be used in various fields related to security, such as transfer of land rights or home door keys.
일 실시예에서는, 복수의 노드(300)들을 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(300)들 각각에 분산되어 저장되는 정보는 블록의 해쉬값 등일 수 있다.In one embodiment, a block chain is implemented with a plurality of
복수의 노드(300)들은 복수의 노드(300)들 각각에 분산 저장된 정보를 항상 최신 버전으로 유지하여, 해당 정보를 공유하고 있을 수 있다.The plurality of
복수의 노드(300)들 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.Each of the plurality of
복수의 노드(300)들 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.Each of the plurality of
복수의 노드(300)들 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(300)들 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.A node implemented in the form of a terminal among the plurality of
즉, 일 실시예에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(300)들을 구성할 수 있다.That is, in one embodiment, a plurality of
일 실시예에 따른 사용자 단말(300)은 블록체인 네트워크 상 하나의 노드로 참여하여, 데이터 블록을 생성하여 퍼블릭 블록체인 네트워크(21)에 제공하게 된다. 이때, 사용자 단말(300)들 중 적어도 일부는 데이터 블록의 위변조를 탐지할 수 있다.The
도 4는 일 실시예에 따른 노드(300)의 구성도이다.4 is a block diagram of a
블록체인 네트워크(20)에서 복수의 노드(300)들 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 각 블록체인 트랜잭션(Transaction)의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증할 수 있다. 일 실시예에 의하면, 소정의 시간 간격 동안에 각 노드(300)를 통하여 블록체인 네트워크(20) 상에 배포된 블록체인 트랜잭션들은, 새로이 생성된 블록에 함께 저장될 수 있다. 일 실시예에 의하면, 노드(300) 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20)를 위한 블록체인(즉, 블록체인 분산 원장)의 적어도 일부를 저장할 수 있다.Each of the plurality of
도 4를 참조하면, 노드(300)는, 트랜잭션 처리 모듈(402), 통신 모듈(404), 블록 생성/검증 모듈(406), 및 블록체인 분산원장 저장 모듈(408)을 포함한다.Referring to FIG. 4 , the
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 소정의 블록체인 트랜잭션을 수신하고, 그 수신된 트랜잭션을 블록체인 네트워크(20) 상의 다른 노드들(400)에 배포할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)은 블록체인 네트워크(21) 상의 다른 노드들(400)에 의해 배포된 트랜잭션을 수신할 수 있다.According to an embodiment, the
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 수신된 트랜잭션을 처리(예컨대, 트랜잭션에 포함된 각 스마트 계약의 실행 등을 포함하며, 다만 본 개시가 이로써 제한되는 것은 아님)할 수 있다.According to an embodiment, the
일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 트랜잭션은, 클라우드 서비스 제공 장치(100)가 클라우드 서비스를 위해 생성한 각종 데이터에 대한 각종 해시값 또는 클라우드 서비스를 위해 생성한 각종 데이터가 노드(300)들에 분산 저장된 위치를 지시하는 트래커(tracker), 클라우드 서비스를 위해 클라이언트 단말(200)과 클라우드 서비스 제공 장치(100) 사이에 주고받은 데이터 이력 등을 포함할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 트랜잭션은, 임의의 노드(400)에 의해서 블록체인 네트워크(20) 상의 노드들 중 적어도 일부에 배포된 기타 다양한 트랜잭션(예컨대, 해당 블록체인 네트워크(21) 상에서 지원되는 디지털 화폐의 거래 정보 또는 기타 스마트 계약 정보를 포함한 트랜잭션 등을 포함하며, 본 개시가 이로써 제한되지 않음)을 포함할 수 있다.According to an embodiment, the transaction received and processed by the
일 실시예에 의하면, 통신 모듈(404)은, 노드(300)가 블록체인 네트워크(20) 상에서 소정의 프로토콜에 따라 다른 노드들(300)과 통신할 수 있도록 동작할 수 있다. 일 실시예에 의하면, 통신 모듈(404)은, 블록체인 트랜잭션이 소정의 프로토콜에 따라 통신망을 통해 블록체인 네트워크(20) 상에 배포되도록 할 수 있고, 아울러 통신망을 통하여 다른 노드들(300)로부터 블록체인 네트워크(20) 상의 각종 정보를 수신하도록 할 수 있다.According to an embodiment, the
일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20)를 위한 블록을 생성하고, 소정의 시간 간격 동안 블록체인 네트워크(20) 상에서 발생한 트랜잭션들을 모아서 적절한 헤더 정보와 함께 그 생성된 블록에 기록할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 생성된 블록을 통신 모듈(404)을 통하여 블록체인 네트워크(20) 상에 공지할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20) 상에 공지된, 다른 노드(300)에 의하여 생성된 블록에 대한 검증을 수행할 수 있다.According to one embodiment, the block generation/
일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 소정의 알고리즘에 따라, 블록체인 분산원장(즉, 트랜잭션들의 이력을 모두 포함하는 분산 원장)의 적어도 일부를 저장할 수 있다. 일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 또한, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 블록체인으로 구성된 스마트 계약에 관한 정보의 적어도 일부를 저장할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.According to an embodiment, the blockchain distributed
도 5는 일 실시예에 따른 블록체인으로 연결되는 블록(500)을 개념적으로 도시한 도면이다.5 is a diagram conceptually illustrating a block 500 connected to a block chain according to an embodiment.
도 5는, 일 실시예에 따른 노드(300)에 포함된 블록체인 분산원장 저장 모듈(408)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(500)의 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 블록체인은 서로 연결된 복수의 블록들을 포함하며, 각 블록(500)은 블록 헤더(502)와 복수의 트랜잭션 정보(504a-504n)를 포함할 수 있다.5 is a diagram conceptually illustrating the configuration of a block chain and each block 500 included therein, which can be stored in the blockchain distributed
일 실시예에 의하면, 블록 헤더(502)는, 이전 블록 헤더의 해시(hash) 값, 넌스(nonce) 값, 해당 블록(500)에 포함될 트랜잭션 정보들(504a-504n)의 머클루트, 블록(500)이 생성된 시간을 나타내는 타임스탬프, 해당 블록(500)의 채굴 난이도 등의 값을 포함할 수 있다.According to an embodiment, the block header 502 includes a hash value of a previous block header, a nonce value, a merkle root of transaction information 504a to 504n to be included in the corresponding block 500, a block ( 500) may include a timestamp indicating the creation time, and a value such as the mining difficulty of the corresponding block 500.
일 실시예에 의하면, 블록(500)에 포함된 복수의 트랜잭션 정보(504a-504n)는, 소정의 시간 간격 동안, 노드들(300)로부터 블록체인 네트워크(20) 상에 배포된 복수의 트랜잭션들일 수 있다.According to an embodiment, the plurality of transaction information 504a - 504n included in the block 500 is a plurality of transactions distributed on the
일 실시예에 의하면, 블록(500)의 트랜잭션 정보(504a-504n)는, 노드(300)를 통해서 블록체인 네트워크(20) 상에 배포된 트랜잭션, 즉 클라우드 서비스 제공 장치(100)가 클라우드 서비스를 위해 생성한 각종 거래와 송수신 정보와 관련된 트랜잭션 정보를 포함할 수 있다.According to one embodiment, the transaction information 504a - 504n of the block 500 is a transaction distributed on the
도 4를 참조하여 설명한 노드(300)와 도 5를 참조하여 설명한 블록(500)에 대한 설명은 퍼블릭 블록체인 네트워크(21) 및 프라이빗 블록체인 네트워크(22)에 공통적으로 또는 선택적으로 적용될 수 있는 것으로 해석된다.The description of the
도 6은 일 실시예에 따른 프라이빗 블록체인 네트워크(22)을 설명하기 위한 도면이다.6 is a diagram for explaining the
프라이빗 블록체인 네트워크(22)는 사적 블록체인, 폐쇄형 블록체인, 허가형 블록체인, 기업형 블록체인 또는 엔터프라이즈 블록체인이라고도 불리며, 허가된 참여자 외 거래 내역과 여러 행동(Actions)은 공유되지 않고 추적할 수 없고, 프라이빗 블록체인 네트워크(22)에 노드(300)로 참여하기 위해 특정 주체로부터 허가된 참여자만 노드(300)로 참여하여 블록을 생성할 수 있다.The
일 실시예에서, 프라이빗 블록체인 네트워크(22)는 클라우드 서비스 제공 장치(100)에 의해 관리되며, 사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 허가를 받아야 프라이빗 블록체인 네트워크(22)의 노드(300)로 참여할 수 있다.In one embodiment, the
일 실시예의 프라이빗 블록체인 네트워크(22)는 하이퍼렛저 패브릭(Hyperledger Fabric)을 이용한 서버 이중화(HA, High Availability)를 지원할 수 있다. 예를 들어, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)을 구성하는 노드(300)의 일부가 분산하여 저장하는 정보를 다른 노드(300)에도 복제하여 저장하고, 특정 노드(300)에 클라우드 서비스를 위해 부여한 역할 중 적어도 일부를 다른 노드(300)가 대신하도록 제어할 수 있다.The
프라이빗 블록체인 네트워크(22)를 통해 블록체인으로 관리되는 공유 원장(shared ledger)은 특정 시점에서의 원장 상태들을 기록한 데이터베이스인 월드 스테이트(world state) 및 현재 생성된 트랜잭션들에 대한 정보를 기록한 트랜잭션 로그(transaction log)를 포함할 수 있다. 트랜잭션 로그에 기록된 정보는 월드 스테이트로 업데이트될 수 있다. 특히, 공유 원장은, 월드 스테이트를 대체할 수 있는 데이터 영역을 추가로 포함하며, 상기 데이터 영역은 월드 스테이트의 상태 변경 전후를 기록할 수 있다. 체인 코드가 실행되면 상기 월드 스테이트와만 상호작용하여 월드 스테이트의 기록을 참조 및 변경할 수 있다.The shared ledger managed by the blockchain through the
프라이빗 블록체인 네트워크(22)에서 구성되는 채널마다 각각 개별적인 공유 원장이 생성되어 관리하며, 노드(300)는 자신이 접근 가능한 채널들에 대한 공유 원장의 사본을 보관할 수 있다.An individual shared ledger is created and managed for each channel configured in the
프라이빗 블록체인 네트워크(22)의 노드(300)들은 블록(500)을 구성하기 위한 트랜잭션들의 순서와 결과를 미리 명시한 정책 기준에 따라 검증함으로써 합의(consensus)를 할 수 있다. 이때, 노드(300)들은 트랜잭션 각각의 유효성과 순서 및 결과에 대한 검증을 통해 블록을 생성하고, 생성된 블록을 공유원장에 추가하여 블록체인으로 구성하기 전에 월드 스테이트를 참조하여 노드(300)들 사이에 합의된 공유 원장의 버전을 확인할 수 있다.The
한편, 프라이빗 블록체인 네트워크(20)를 구성하는 노드(300)들 중 적어도 일부는 클라우드 서비스 제공 장치(100)에 의해 검증(프라이빗 블록체인 네트워크(20)에 참여를 위한 검증과 구별되며 노드(300)의 보안수준, 컴퓨팅 리소스 등에 따라 검증 여부가 결정될 수 있음)된 노드로서 프라이빗 블록체인 네트워크(20)에서 일어나는 모든 이벤트와 트랜잭션 등을 송수신하여 서로 공유하며, 노드(300)들 중 적어도 나머지는 클라우드 서비스 제공 장치(100)에 의해 검증되지 않은 노드로서 한정적인 이벤트 처리 및 REST API 서비스의 관리 등을 수행할 수 있다.On the other hand, at least some of the
도 7은 일 실시예에 따른 퍼블릭 블록체인 네트워크(21)를 통해 구현되는 분산형 파일 시스템(IPFS)을 설명하기 위한 도면이다.7 is a diagram for explaining a distributed file system (IPFS) implemented through the
본 발명의 일 실시예에서 퍼블릭 블록체인 관리부(101)는, 퍼블릭 블록체인 네트워크(21)를 구성하는 노드(300)들 각각을 서로 동일한 파일 시스템을 갖는 IPFS(Inter Planetary File System) 기반의 분산 클라우드 저장소로 구성할 수 있다.In an embodiment of the present invention, the public block
퍼블릭 블록체인 관리부(101)는, 클라이언트 단말(200)로부터 저장하고자 하는 파일(file)을 제공받고, 제공받은 파일을 다수의 파일 조각들로 분할(spilt)하고, 분할된 파일 조각들 각각을 퍼블릭 블록체인 네트워크(21)를 구성하는 노드(300)에 각각 분산하여 저장할 수 있다. 이때, 퍼블릭 블록체인 관리부(101)는 퍼블릭 블록체인 네트워크(21)에 의해 관리되는 블록체인에 저장된 암호화 키를 획득하고, 획득된 암호화 키를 이용하여 파일 조각들 각각을 암호화하고, 암호화된 파일 조각들 각각을 노드(300)에 각각 분산하여 저장할 수도 있다.The public
또한, 퍼블릭 블록체인 관리부(101)는 각 노드(300)에 분산 저장된 파일 또는 그 조각들과 대응하는 해시값(hash)을 생성하고, 생성된 해시값을 퍼블릭 블록체인 네트워크(22)에 의해 관리되는 블록체인 상에 저장하고, 해시값을 클라이언트 단말(200)에 제공할 수 있다. 추후 클라이언트 단말(200)로부터 해시값을 제공받으면, 퍼블릭 블록체인 관리부(101)는 해시값에 대응하는 파일 조각들의 위치를 결정하고, 결정된 파일 조각들의 위치를 참조하여 각 노드(300)에 분산 저장된 파일을 머지(merge)하고, 머지된 파일을 클라이언트 단말(200)에 반환할 수 있다.In addition, the public
도 8은 일 실시예에 따른 클라우드 서비스 제공 시스템에 대한 아키텍쳐를 예시적으로 나타낸 도면이고, 도 9는은 도 8에 따른 아키텍쳐를 구체화하여 나타낸 도면이다.8 is a diagram exemplarily illustrating an architecture for a cloud service providing system according to an embodiment, and FIG. 9 is a diagram illustrating the architecture according to FIG. 8 in detail.
전술한 바와 같이, 일 실시예의 블록체인 네트워크(20)는 프라이빗 블록체인 네트워크(22)와 퍼블릭 블록체인 네트워크(21)로 나눠지며, 퍼블릭 블록체인 네트워크(21)는 IPFS 기반의 분산형 파일 저장소로서 기능할 수 있으며, 외부 퍼블릭 블록체인 네트워크와 블록체인 API 브로커(104)를 통해 서로 연동될 수 있다.As described above, the
클라우드 서비스 제공 장치(100)는 클라우드 서비스의 종류와 요구 레이턴시 등에 따라, 외부 퍼블릭 블록체인 네트워크와 내부 퍼블릭 블록체인 네트워크(21), 프라이빗 블록체인 네트워크(22) 중 하나를 선택하여 사용할 수 있다.The cloud
퍼블릭 블록체인 네트워크(21)는 전술한 하이퍼렛져 패브릭(Hyperledger Fabric)을 이용한 서버 이중화(HA)를 탑재할 수 있으며, 하이퍼렛저 패브릭(Hyperledger Fabric)에서 제공하는 이더리움 가상 머신(EVM, Ethereum Virtual Machine)상의 이더리움 스마트 계약(Ehereum Smart Contract) 및 시스템 체인 코드(System Chain code)를 동시에 지원할 수 있다. 따라서, 블록체인 API 브로커(104)는, 이더리움 기반의 스마트 계약을 사용하거나 하이퍼렛저 패브릭 기반의 체인 코드를 사용하는 외부 퍼블릭 블록체인 네트워크와 퍼블릭 블록체인 네트워크(21)를 서로 중계하여 통신할 수 있도록 할 수 있다.The
즉, 퍼블릭 블록체인 네트워크(21)는, 블록체인 API 브로커(Blockchain API Broker, 104)를 통해, 외부 퍼블릭 블록체인 네트워크와 통신이 가능하며, 클라우드 서비스 제공 장치(100)는, 외부 개발자들과 사용자들이 요구하는 서비스 또는 작업의 종류에 따라, 이더리움 기반의 스마트 계약과 하이퍼렛저 패브릭 기반의 체인코드 중 하나를 선택하여 퍼블릭 블록체인 네트워크(21)를 관리 및 제어할 수 있다.That is, the
일례로, 프라이빗 블록체인(22)은 지불(Payment)이나 자산 관리(Asset Management)처럼 빠른 데이터 처리가 요구되는 경우에도 적용 가능하며, 개발자에게는 다양한 개발 툴을 제공하면서, 기업과 개인들에게는 오픈 플랫폼 형태로 클라우스 서비스 제공 플랫폼를 용이하게 이용할 수있게끔 설계될 수 있다.As an example, the
프레임워크 관리부(103)에 의해 관리되는 소프트웨어 프레임워크 중 하나로, 인공지능 프레임워크(AI Framework)가 구성될 수 있다. 인공지능 프레임워크는 3단 Deep Learning 프레임워크로 구성될 수 있으며, 제1 계층(1st Floor)에는 ‘Keras’, 제2 계층(2nd Floor)에는 구글 ‘Tensorflow’, 페이스북 ‘Pytorch’, 아마존 ‘Mxnet’와 같은 프레임워크로 구성되어 있으며, 제3 계층(3rd Floor)은 'ONNX(Model exchange)’로 구성될 수 있다. 이에 따라, 현재 출시되어 있는 대다수의 클라우드와 호환이 가능할 수 있다.As one of the software frameworks managed by the
따라서, 클라우드 서비스 제공 장치(100)는, 제1 계층(1st Floor) 및 제2 계층(2nd Floor)에 구성된 'Keras', 구글 ‘Tensorflow’, 페이스북 ‘Pytorch’, 아마존 ‘Mxnet’을 이용해 딥러닝(Deep Learning)을 수행하고, 제2 계층(2nd Floor)에서 ‘Scikit learn’으로 머신러닝을 수행하고, ‘Pandas’로 머신러닝을 위한 데이터 구성을 하고, ‘Bokeh’를 이용해 데이터 시각화를 함으로써 머신러닝 또는 딥러닝(ML/DL)에 필요한 통계 분석과 데이터 분석을 동시에 수행할 수 있다.Accordingly, the cloud
추가로 제3 계층에는, ‘Horovod’를 더 포함할 수 있다. Horovod는 Multi-GPU 환경에서 분산 훈련(Distributed Training)을 지원하는 프레임워크(Framework)이다. ‘Horovod’는 Bandwidth Optimal All-reduce Algorithm Paper를 기초로 하여, Bandwidth 사용이 최적화된 Ring-all reduce 방식으로 동작할 수 있다. In addition, the third layer may further include 'Horovod'. Horovod is a framework that supports distributed training in a multi-GPU environment. Based on the Bandwidth Optimal All-reduce Algorithm Paper, ‘Horovod’ can operate in a Ring-all reduce method with optimized bandwidth usage.
따라서, 클라우드 서비스 제공 장치(100)는, Horovod 기반으로 머신러닝 또는 딥러닝에 필요한 훈련을 블록체인 네트워크(20)를 구성하는 노드(300)들을 이용하여 분산하여 수행할 수 있다.Accordingly, the cloud
구체적으로, 클라우드 서비스 제공 장치(100)는, 딥러닝 또는 머신러닝 서비스를 프라이빗 블록체인 네트워크(22)를 이용하여 클라이언트 단말(200)에 제공할 수 있다. 프라이빗 블록체인 네트워크(22)는 지속적이고 빠른 컴퓨팅 속도를 보장하고 보안성이 높기 때문에 딥러닝 또는 머신러닝 서비스를 제공하는 데 적합할 수 있다.Specifically, the cloud
구체적으로, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)마다 훈련시키고자 하는 학습 모델(인공신경망)을 개별적으로 저장하고, 개별적으로 저장된 학습 모델에 서로 다른 학습 데이터를 순전파 알고리즘 및 역전파 알고리즘을 이용하여 하나씩 개별 학습시킬 수 있다. 여기서, 순전파 알고리즘은 학습 모델을 구성하는 입력층, 은닉층 및 출력층으로 이동하면서 가중치(gradient)를 적용시켜가면서 가중치를 갱신하는 학습 방법이고, 역전파 알고리즘은 학습 모델의 출력층의 출력 결과와 원하는 출력 사이의 오차(error)를 최소화하도록 가중치를 갱신하는 학습 방법일 수 있다.Specifically, the cloud
클라우드 서비스 제공 장치(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)할 수 있다.The cloud
본 발명의 일 실시예에 따른 클라우드 서비스 제공 장치(100)는, 상술한 개별 학습과 갱신을 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들을 이용하여 반복적으로 수행함으로써 학습 모델의 방대한 훈련 데이터의 훈련을 분산하여 처리할 수 있다.The cloud
또한, 클라우드 서비스 제공 장치(100)가, 프라이빗 블록체인 네트워크(22)를 통한 머신러닝 또는 딥러닝 서비스를 제공할 경우 인증된 노드(300)만이 참여할 수 있기 때문에 계속적이고 많은 양의 리소스를 제공하는 것이 보장되기 어려울 수 있다.In addition, when the cloud
이러한 문제를 해결하기 위하여 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들 중 적어도 일부를 마스터 노드(Master Node)로 지정하여 관리할 수 있다. 마스터 노드로 지정된 노드는 클라우드 서비스 제공 장치(100)에 의해 할당된 최소 컴퓨팅 리소스 이상을 지속적으로 제공하도록 강제되며, 클라우드 서비스 제공 장치(100)는 이러한 마스터 노드의 지정을 컴퓨팅 리소스를 모니터링함에 따라 변경할 수 있다. 예를 들어, 클라우드 서비스 제공 장치(100)는, 프라이빗 블록체인 네트워크(22)를 구성하는 노드(300)들 각각에서 제공하는 컴퓨팅 리소스를 모니터링하고, 미리 설정된 기간동안 제공된 컴퓨팅 리소스의 양이 미리 설정된 기준 이상인 노드(300)를 마스터 노드로 지정하여 관리할 수 있고, 마스터 노드로부터 제공되는 컴퓨팅 리소스가 기준값 이상으로 감소하면, 마스터 노드를 변경할 수 있다.In order to solve this problem, the cloud
또한, 일 실시예의 클라우드 서비스 제공 장치(100)는 개발 툴 중 하나인쥬피터 노트북(Jupyter Notebook)을 생성 및 제공함으로써 클라이언트 단말(200)이 시각화를 작성하고 공유할수 있으며, 공유된 코드 및 데이터 모음에 대화형 수정도 가능하도록 지원한다. 쥬피터 노트북(Jupyter Notebook)은 ‘노트북’ 이라는 대화형 문서에 코드, 의견, 멀티미디어, 시각화 자료 등을 결합해 이를 공유하고, 재사용 및 재작업할 수 있게 해주는 기능을 제공하며, 웹 브라우저를 통해 실행되므로어, 쥬피터 노트북(Jupyter Notebook) 자체를 퍼블릭 블록체인 네트워크(21)를 이용하여 호스팅할 수 있다.In addition, the cloud
클라우드 서비스에서 제공되는 코드 공유 방식은 대부분 대화형이 아니나, 일 실시예의 쥬피터 노트북(Jupyter Notebook)은 웹 브라우저에서 직접 코드를 확인, 실행하고 결과를 표시할 수 있으며, 코드가 고정되어 있기 때문에 웹 브라우저에서 직접 제공되는 피드백을 반영해 실시간으로 조금씩 편집하여 다시 실행할 수 있고, 코드 입력 소스로 활용 가능한 사용자 제어 장치에 쥬피터 노트북(Jupyter Notebook)을 내장할 수도 있다.Most of the code sharing methods provided by the cloud service are not interactive, but Jupyter Notebook in an embodiment can check, run, and display the code directly in a web browser, and because the code is fixed, the web browser Reflecting the feedback provided directly from , you can make small edits and re-execute in real time, and you can embed Jupyter Notebook in a user control device that can be used as a code input source.
도 9를 참조하면, 일 실시예에 따른 클라우드 서비스 제공 시스템(10)은, 상술한 클라우드 서비스 제공 장치(100) 및 노드(300)를 대상으로 3개의 계층을 가진 아키텍쳐로 구성될 수 있다.Referring to FIG. 9 , the cloud
제1 계층(1st layer)은 리눅스(Linux) 운영체제를 기반으로 쿠버네티스 플랫폼(Kubernetes Platform) 환경에서 동작할 수 있다. 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이(deploy) 및 스케일링(scaling) 등을 제공하는 오픈 소스 기반의 관리 시스템일 수 있다.The first layer may operate in a Kubernetes Platform environment based on a Linux operating system. Kubernetes may be an open source-based management system that provides automatic deployment and scaling of containerized applications.
일 실시예의 쿠버네티스는 컨테이너 구성과, 작업의 자동화를 지원하고, 컨테이너화된 애플리케이션을 배포하고 확장하는데 있어 수동화된 프로세스가 필요하지 않고, 무중단 서비스가 가능하다. 이에 따라, 클러스터를 효율적으로 관리할수 있으며, 전체 호스트를 확장할 수 있다.Kubernetes in one embodiment supports container configuration and automation of tasks, does not require manual processes to deploy and scale containerized applications, and enables uninterrupted service. Accordingly, the cluster can be managed efficiently and the entire host can be expanded.
일 실시예의 쿠버네티스는 이미지 형태의 도커(Docker)가 지원되어 컨테이너 역할을 수행한다. Linux는 다양한 버전이 존재하기 때문에 프라이빗 블록체인 네트워크(22)에 Deep Learning Framework를 전부 설치하는 것이 어렵기 때문에 도커(Docker)를 구성하여, 가상 머신의 클러스터에서 컨테이너를 예약하고, 원하는 이미지를 바로 실행할 수 있다.In Kubernetes of an embodiment, Docker in the form of an image is supported to serve as a container. Because it is difficult to install all of the Deep Learning Framework on the
일 실시예의 쿠버네티스(Kubernetes)는 먼저 하이퍼렛져 패브릭 도켓(Hyperledger Fabric Docket)이 설치되어 코인(Coin)과 토큰(Token) 관련된 업무를 수행할 수 있다. 보안 문제로 인해 외부에서 생성된 코인을 샘플링해서 링크하여 연계 동작시키고, 시스템에 따라 데이터베이스(DB)에 내장되는 데이터가 많아지면 내부화 과정이 쉽지 않기 때문에, 데이터베이스(DB)를 체인화 시킨 Big chain DB를 사용하고, 프라이빗 블록체인 네트워크(22) 내에서 빅데이터와 같은 대용량 데이터 처리를 위해 하둡 HDFS를 실행할 수도 있다.In Kubernetes of an embodiment, a Hyperledger Fabric Docket is first installed to perform a task related to a coin and a token. Due to security problems, we sample coins generated externally and link them, and depending on the system, if there is a lot of data embedded in the database (DB), the internalization process is not easy. It is also possible to run Hadoop HDFS for processing large amounts of data, such as big data, within the
도 10은 일 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.10 is a flowchart of a cloud service providing method according to an embodiment.
도 10을 참조하면, 일 실시예에 따른 클라우드 서비스 제공 방법은 컴퓨팅 리소스 정보 수신 단계(S100), 컴퓨팅 리소스 정보 저장 단계(S110), 입력 데이터 수신 단계(S120), 입력 데이터 저장 단계(S130), 결과 데이터 생성 단계(S140), 결과 데이터 전송 단계(S150) 및 보상 제공 단계(S160)을 포함할 수 있다.Referring to Figure 10, the cloud service providing method according to an embodiment includes a computing resource information receiving step (S100), a computing resource information storage step (S110), an input data receiving step (S120), an input data storing step (S130), It may include a result data generation step (S140), a result data transmission step (S150), and a compensation provision step (S160).
클라우드 서비스 제공 방법은, 전술한 클라우드 서비스 제공 장치(100)에 의해 수행될 수 있다.The cloud service providing method may be performed by the above-described cloud
우선, 컴퓨팅 리소스 정보 수신 단계(S100)로, 제어부(160)는 사용자 단말(300)로부터 컴퓨팅 리소스 정보를 수신할 수 있다.First, in the computing resource information receiving step ( S100 ), the
일 실시예의 컴퓨팅 리소스 정보는 사용자 단말(300)의 식별 정보, 컴퓨팅 리소스의 종류, 제공 가능한 컴퓨팅 리소스의 크기, 제공 기간 등을 포함할 수 있다.Computing resource information according to an embodiment may include identification information of the
그리고, 컴퓨팅 리소스 정보 저장 단계(S110)로, 제어부(160)는 수신한 컴퓨팅 리소스 정보의 일부를 블록체인 네트워크(20)에서 관리되는 블록체인에 트랜잭션하여 저장할 수 있다. 제어부(160)는 컴퓨터 리소스 정보의 다른 일부를 블록체인 네트워크(20)를 구성하는 개별 노드(300)들에 분산 저장할 수 있다.In addition, in the computing resource information storage step ( S110 ), the
그리고, 입력 데이터 수신 단계(S120)로, 제어부(160)는 클라이언트 단말(200)로부터 입력 데이터를 수신할 수 있다.Then, in the input data receiving step ( S120 ), the
일 실시예의 입력 데이터는 클라이언트 단말(200)이 요청하는 클라우드 서비스 관련 데이터로, ML/DL 서비스의 경우, ML/DL 분석을 위한 데이터일 수 있다.The input data according to an embodiment is cloud service related data requested by the
그리고, 입력 데이터 저장 단계(S130)로, 제어부(160)는 수신한 입력 데이터의 적어도 일부를 블록체인 네트워크(20)에서 관리되는 블록체인에 트랜잭션하여 저장할 수 있다. 제어부(160)는 입력 데이터의 다른 일부를 블록체인 네트워크(20)를 구성하는 노드(300)에도 저장할 수 있다.In addition, in the input data storage step ( S130 ), the
그리고, 결과 데이터 생성 단계(S140)로, 제어부(160)는 컴퓨팅 리소스 정보를 이용하여, 현재 사용 가능한 컴퓨팅 리소스를 확인한다. 그리고, 제어부(160)는 사용 가능한 컴퓨팅 리소스를 통해, 입력 데이터를 이용하여 결과 데이터를 생성할 수 있다.Then, in the result data generation step ( S140 ), the
일 실시예로, 컴퓨팅 리소스 정보는 컴퓨팅 리소스의 우선 순위를 더 포함할 수 있다. 이 경우, 제어부(160)는 컴퓨팅 리소스의 우선 순위를 이용하여, 사용 가능한 컴퓨팅 리소스를 스케줄링할 수 있다.In an embodiment, the computing resource information may further include a priority of the computing resource. In this case, the
제어부(160)는 결과 데이터를 생성하는데 필요한 컴퓨팅 리소스를 시간별로 계산할 수 있다. 그리고, 제어부(160)는 계산된 필요 컴퓨팅 리소스에 따라, 사용 가능한 컴퓨팅 리소스의 시간별 사용 계획을 생성할 수 있다.The
제어부(160)는 우선 순위에 따라, 사용자 단말(300)의 사용 가능한 컴퓨팅 리소스를 확인할 수 있으며, 결과 데이터를 생성하는데 필요한 컴퓨팅 리소스를 스케줄링할 수 있다.The
일 실시예의 결과 데이터는 클라우드 서비스의 결과물로, ML/DL 서비스의 경우, ML/DL 분석 데이터일 수 있다.The result data of an embodiment is a result of the cloud service, and in the case of an ML/DL service, it may be ML/DL analysis data.
그리고, 결과 데이터 전송 단계(S150)로, 제어부(160)는 생성된 결과 데이터를 클라이언트 단말(200)에 전송할 수 있다. Then, in the result data transmission step ( S150 ), the
그리고, 보상 제공 단계(S160)로, 제어부(160)는 결과 데이터를 생성할 때, 사용한 컴퓨팅 리소스에 따라, 해당 컴퓨팅 리소스를 제공한 사용자 단말(300)에 블록체인 재원을 보상으로 제공할 수 있다.And, in the step of providing compensation ( S160 ), the
도 11은 다른 실시예에 따른 클라우드 서비스 제공 방법의 흐름도이다.11 is a flowchart of a cloud service providing method according to another embodiment.
도 11을 참조하면, 다른 실시예에 따른 클라우드 서비스 제공 방법은 입력 데이터의 저장 방법으로, 입력 데이터 분석 단계(S131), 프라이빗 블록체인 조건 판단 단계(S132), 퍼블릭 블록체인 트랜잭션 단계(S133), 프라이빗 블록체인 트랜잭션(S134) 및 클라우드 저장 단계(S135)를 포함할 수 있다Referring to FIG. 11 , a method of providing a cloud service according to another embodiment is a method of storing input data, including an input data analysis step (S131), a private block chain condition determination step (S132), a public block chain transaction step (S133), It may include a private blockchain transaction (S134) and a cloud storage step (S135).
우선, 입력 데이터 분석 단계(S131)로, 제어부(160)는 입력 데이터를 분석하여, 클라이언트 단말(200)이 요청하는 클라우드 서비스의 종류, 입력 데이터의 크기, 입력 데이터를 처리하는데 필요한 처리 요구 속도 등을 도출할 수 있다.First, in the input data analysis step (S131), the
그리고, 프라이빗 블록체인 조건 판단 단계(S132)로, 제어부(160)는 입력 데이터의 분석 결과를 이용하여, 클라이언트 단말(200)이 요청하는 클라우드 서비스가 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요한지 판단할 수 있다.Then, in the private block chain condition determination step S132 , the
일례로, 제어부(160)는 기설정된 기준에 따라, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요한지 판단할 수 있다. 제어부(160)는 입력 데이터 크기가 기설정된 크기 이하이거나, 입력 데이터의 처리 요구 속도가 기설정된 속도 이상인 경우, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단할 수 있다. 즉, 입력 데이터가 크지 않아서 많은 노드가 필요하지 않은 경우나, 입력 데이터를 처리하는데 빠른 속도가 요구되는 경우, 제어부(160)는 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단할 수 있다.For example, the
예를 들어, 입력 데이터가 머신 러닝/딥 러닝에 따른 훈련 데이터인 경우,제어부(160)는, 프라이빗 블록체인 네트워크(22)를 이용하는 것으로 결정할 수 있다.For example, when the input data is training data according to machine learning/deep learning, the
그리고, 퍼블릭 블록체인 트랜잭션 단계(S133)로, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하지 않다고 판단된 경우, 제어부(160)는 입력 데이터를 퍼블릭 블록체인(21)에 트랜잭션하여 저장할 수 있다.And, when it is determined that it is not necessary to use the
그리고, 프라이빗 블록체인 트랜잭션(S134)로, 프라이빗 블록체인 네트워크(22)을 이용하는 것이 필요하다고 판단된 경우, 제어부(160)는 입력 데이터의 적어도 일부를 프라이빗 블록체인 네트워크(22)에 트랜잭션하여 블록체인으로 구성하고, 이를 저장할 수 있다.그리고, 클라우드 저장 단계(S135)로, 제어부(160)는 입력 데이터에서 블록체인으로 구성되지 않은 데이터를 해당 블록체인 네트워크(20)를 구성하는 노드(300)에 분산 저장할 수 있다.And, when it is determined that it is necessary to use the
도 12는 일 실시예에 따른 사용자 단말(300)의 구성도이다. 12 is a block diagram of a
도 12를 참조하면, 무선 통신부(310)는 사용자 단말(300)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(300)와 사용자 단말(300)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(310)는 방송 수신 모듈(311), 이동통신 모듈(312), 무선 인터넷 모듈(313), 근거리 통신 모듈(314) 및 위치정보 모듈(315) 등을 포함할 수 있다.Referring to FIG. 12 , the
방송 수신 모듈(311)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기에서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 방송 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(312)에 의해 수신될 수 있다.The
또한, 이동통신 모듈(312)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.In addition, the
무선 인터넷 모듈(313)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(300)에 내장되거나 외장 될 수 있다.The
근거리 통신 모듈(314)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.The short-
또한, 위치정보 모듈(115)은 사용자 단말(300)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.Also, the location information module 115 is a module for confirming or obtaining the location of the
한편, A/V(Audio/Video) 입력부(320)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(321)와 마이크(322) 등이 포함될 수 있다. 카메라(321)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(351)에 표시될 수 있다.Meanwhile, the A/V (Audio/Video)
카메라(321)에서 처리된 화상 프레임은 메모리(360)에 저장되거나 무선 통신부(310)를 통하여 외부로 전송될 수 있다. 카메라(321)는 사용자 단말(300)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frame processed by the
마이크(322)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(312)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(322)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.The
사용자 입력부(330)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(300)의 동작 제어를 위한 입력 데이터를 발생시킨다.The
센싱부(340)는 사용자 단말(300)의 위치, 사용자 접촉 유무, 사용자 단말(300)의 방위, 사용자 단말(300)의 가속/감속 등과 같이, 사용자 단말(300)의 현 상태를 감지하여 사용자 단말(300)의 동작을 제어하기 위한 센싱 신호를 발생시킨다.The
인터페이스부(370)는 사용자 단말(300)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.The interface unit 370 serves as an interface with all external devices connected to the
출력부(350)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(351)와 음향 출력 모듈(352), 알람부(353) 등이 포함될 수 있다.The
디스플레이부(351)는 사용자 단말(300)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(300)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.The
한편, 전술한 바와 같이, 디스플레이부(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)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.Meanwhile, as described above, when the
음향 출력 모듈(352)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서, 무선 통신부(310)로부터 수신되거나 메모리(360)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(352)은 사용자 단말(300)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(352)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.The
알람부(353)는 사용자 단말(300)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다. The
메모리(360)는 제어부(380)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.The
메모리(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) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The
제어부(380)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(380)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(381)은 제어부(380) 내에 구현될 수도 있고, 제어부(380)와 별도로 구현될 수도 있다.The controller 380 generally controls the overall operation of the terminal. For example, it performs related control and processing for voice calls, data communications, video calls, and the like. Also, the controller 380 may include a multimedia module 181 for playing multimedia. The
제어부(380)는 클라우드 서비스 제공 장치(100)에 컴퓨팅 리소스를 제공할 수 있다. The controller 380 may provide a computing resource to the cloud
제어부(380)는 사용자 단말(300)을 클라우드 서비스 제공 장치(100)에 의해의 구현된 블록체인 네트워크(21,22)의 노드(400)로 참여하도록, 블록체인 네트워크(21,22)와 통신할 수 있다.The control unit 380 communicates with the
제어부(380)는 컴퓨팅 리소스를 블록체인 네트워크(21,22)를 통해 제공하고, 컴퓨팅 리소스를 제공하는 보상으로, 블록체인 재원을 클라우드 서비스 제공 장치(100)로부터 제공받을 수 있다.The control unit 380 may provide computing resources through the
제어부(380)는 클라우드 서비스 제공 장치(100)에 제공한 컴퓨팅 리소스 현황 및 클라우드 서비스 제공 장치(100)로부터 제공받은 보상 현황을 사용자에게 출력할 수 있다.The controller 380 may output the computing resource status provided to the cloud
전원 공급부(390)는 제어부(380)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.The
도 13은 일 실시예에 따른 클라우드 서비스 제공 장치(100)의 하드웨어 구성을 예시적으로 나타낸 도면이다.13 is a diagram exemplarily illustrating a hardware configuration of the cloud
도 13에 도시된 바와 같이, 클라우드 서비스 제공 장치(100)는 통신부(110), 입력부(120), 출력부(130), 메모리(140), 전원 공급부(150) 및 제어부(160)를 포함할 수 있다. 이하에서 설명하는 구성들은 예시적으로 이해되어야 하며, 블록체인 네트워크(20)를 구성하고 관리하는 데 적절한 수준의 수퍼 컴퓨팅이 가능한 하드웨어로 적절히 추가 또는 변경될 수 있다.13 , the cloud
통신부(110)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 일례로, 통신부(110)는 외부의 클라이언트 단말(200) 및 사용자 단말(300)과 통신을 수행하여 다양한 데이터를 송수신할 수 있다.The
입력부(120)는 클라우드 서비스 제공 장치(100)의 유저로부터 다양한 입력을 수신하여 제어부(160)로 전달할 수 있다. 특히, 입력부(120)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 마이크는 관리자 음성을 수신하기 위한 구성으로, 클라우드 서비스 제공 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 클라우드 서비스 제공 장치(100)의 외부에 구비되어 클라우드 서비스 제공 장치(100)와 전기적으로 연결될 수 있다.The input unit 120 may receive various inputs from the user of the cloud
출력부(130)는 다양한 화면을 제공할 수 있다. 일례로, 출력부(130)는 컴퓨팅 리소스 현황, 보상 현황, 클라이언트 정보 및 사용자 정보 등을 출력할 수 있다.The
메모리(140)는 클라우드 서비스 제공 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(140)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(140)는 제어부(160)에 의해 액세스되며, 제어부(160)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 발명에서 메모리라는 용어는 메모리(140), 제어부(160) 내 롬(미도시), 램(미도시) 또는 클라우드 서비스 제공 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(140)에는 출력부(130)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.The
전원 공급부(150)는 제어부(160)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.The
제어부(160)는 통신부(110), 입력부(120), 출력부(130), 메모리(140) 및 전원 공급부(150)와 전기적으로 연결되어, 클라우드 서비스 제공 장치(100)의 전반적인 동작 및 기능을 제어하는 프로세서(Processor)로 구성될 수 있다. 특히, 제어부(160)는 메모리(140)에 저장된 다양한 모듈을 이용하여 클라우드 서비스를 제공할 수 있다.The
본 명세서 전체(또는 도 2에 따른 구성요소들 101~107)에서 설명되는 클라우드 서비스 제공 장치(100) 상의 다양한 동작은 제어부(160)의 제어에 의해서 수행될 수 있음은 자명할 것이다.It will be apparent that various operations on the cloud
도 14는 일 실시예에 따른 컴퓨팅 리소스 제공 현황이 출력된 사용자 단말(300)의 화면을 도시한 도면이다.14 is a diagram illustrating a screen of the
사용자 단말(300)은 클라우드 서비스 제공 장치(100)에 제공한 컴퓨팅 리소스의 현황을 사용자에게 출력할 수 있다.The
도면에서 보는 바와 같이, 사용자 단말(300)이 클라우드 서비스 제공 장치(100)에 제공하는 컴퓨팅 리소스는 사용자 단말(300)의 CPU, NETWORK, MEMORY, STORAGE 등의 유휴 리소스를 포함할 수 있다.As shown in the drawing, the computing resources provided by the
이처럼, 사용자 단말(300)은 자신이 클라우드 서비스를 위해 제공하는 컴퓨팅 리소스 현황을 클라우드 서비스 제공 장치(100)로부터 제공받아 사용자에게 표시할 수 있다.As such, the
도 15는 일 실시예에 따른 보상 현황이 출력된 사용자 단말(300)의 화면을 도시한 도면이다.15 is a diagram illustrating a screen of the
사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 제공받은 보상 현황을 사용자에게 출력할 수 있다The
도면에서 보는 바와 같이, 사용자 단말(300)은 클라우드 서비스 제공 장치(100)로부터 보상으로 블록체인 재원을 제공받을 수 있으며, 일 실시예의 블록체인 재원은 블록체인 토큰(Token), 블록체인 코인(Coin)과 같은 디지털 화폐를 포함할 수 있다. 그러나, 일 실시예의 블록체인 채원은 이에 한정되지는 아니하고, 블록체인에서 구현 가능한 다양한 재원을 포함할 수 있다.As shown in the drawing, the
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains know that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
Claims (1)
클라우드 서비스를 요청하는 클라이언트 단말;
블록체인 네트워크를 관리하며, 상기 블록체인 네트워크를 구성하는 노드들을 분산 컴퓨팅 디바이스로 이용하여 상기 클라우드 서비스를 상기 클라이언트 단말에 제공하는 클라우드 서비스 제공 장치; 및
상기 블록체인 네트워크에 상기 노드로 참여하고, 참여에 대한 보상으로 상기 블록체인 네트워크에 따른 블록체인 재원을 보상으로 제공받는 사용자 단말을 포함하고,
상기 블록체인 네트워크는, 퍼블릭 블록체인 네트워크(public blockchain network) 및 프라이빗 블록체인 네트워크(private blockchain network)를 동시에 포함하는 하이브리드 블록체인 네트워크로 구성되며,
상기 클라우드 서비스 제공 장치는,
상기 클라우드 서비스의 종류와 레이턴시(latency), 및 컴퓨팅 리소스 양에 따라 상기 퍼블릭 블록체인 네트워크와 상기 프라이빗 블록체인 네트워크 중 하나를 선택하여 상기 클라우드 서비스를 제공하고,
상기 프라이빗 블록체인 네트워크를 이용하여 딥러닝 또는 머신러닝에 기반한 훈련(traning)을 수행하고 훈련 결과를 상기 클라이언트 단말에 제공하는 머신러닝 서비스를 수행하되,
상기 클라우드 서비스 제공 장치는,
상기 퍼블릭 블록체인 네트워크를 구성하는 제1 노드들 각각의 컴퓨팅 리소스, 및 코인 지갑을 관리하는 퍼블릭 블록체인 관리부;
상기 프라이빗 블록체인 네트워크를 구성하는 제2 노드들을 인증하고, 컴퓨팅 리소스를 관리하는 프라이빗 블록체인 관리부;
상기 클라우드 서비스를 제공하기 위한 프레임워크(framework)를 구성하고 관리하는 프레임워크 관리부;
상기 퍼블릭 블록체인 네트워크를 외부 퍼블릭 블록체인 네트워크와 통신하도록 중계하는 블록체인 API 브로커;
상기 블록체인 네트워크를 통해 제공되는 컴퓨팅 리소스를 이용하여 웹 상에서 개발 툴을 구동하여 상기 클라이언트 단말에 제공하는 개발 툴 관리부;
상기 퍼블릭 블록체인 관리부 및 상기 프라이빗 블록체인 관리부와 연동하여 상기 블록체인 네트워크를 구성하는 노드들로부터 컴퓨팅 리소스를 제공받고, 제공받은 컴퓨팅 리소스를 상기 클라이언트 단말에 제공하는 리소스 관리부; 및
상기 퍼블릭 블록체인 관리부, 상기 프라이빗 블록체인 관리부, 및 상기 리소스 관리부와 연동하여 웹 상에서 애플리케이션을 구동하여 상기 클라이언트 단말에 제공하는 애플리케이션 구동부를 포함하고,
상기 클라우드 서비스 제공 장치는,
상기 프라이빗 블록체인 네트워크를 구성하는 상기 제2 노드들 각각에 훈련시키고자 하는 학습 모델을 개별적으로 저장하고, 상기 제2 노드들마다 저장된 상기 학습 모델에 서로 다른 학습 데이터를 순전파 알고리즘과 역전파 알고리즘을 이용하여 개별적으로 학습시키고, 상기 제2 노드들 각각에서 학습으로 얻어지는 가중치를 자신을 제외한 다른 제2 노드에 전달하도록 제어하고,
상기 제2 노드들 각각은, 링-올 리듀스(Ring all Reduce) 알고리즘을 이용하여 다른 제2 노드들이 훈련을 통해 얻은 가중치들을 획득하고, 획득된 상기 가중치들의 평균값 또는 중간값을 가중치로 갖도록 자신이 저장하는 상기 학습 모델을 갱신(update)하고,
상기 프레임워크 관리부는, 소프트웨어 프레임워크들 중 하나인 인공지능 프레임워크(AI framework)를 관리하되,
상기 인공지능 프레임 워크는, 제1 계층(1st Floor)으로‘Keras’, 제2 계층(2nd Floor)으로 구글의 'Tensorflow’, 페이스북의 ‘Pytorch’, 및 아마존의 'Mxnet’ 중 적어도 하나, 제3 계층(3rd Floor)으로 'ONNX(Model exchange)’를 포함하는, 클라우드 서비스 제공 시스템. It is a cloud service providing system that includes a block chain-based machine learning service,
a client terminal requesting a cloud service;
a cloud service providing apparatus that manages a block chain network and provides the cloud service to the client terminal using nodes constituting the block chain network as distributed computing devices; and
and a user terminal that participates in the blockchain network as the node, and is provided with blockchain resources according to the blockchain network as a reward for participation,
The blockchain network is composed of a hybrid blockchain network including a public blockchain network and a private blockchain network at the same time,
The cloud service providing device,
Selecting one of the public blockchain network and the private blockchain network according to the type and latency of the cloud service, and the amount of computing resources to provide the cloud service,
A machine learning service that performs training based on deep learning or machine learning using the private blockchain network and provides a training result to the client terminal is performed,
The cloud service providing device,
a public block chain management unit that manages computing resources and coin wallets of each of the first nodes constituting the public block chain network;
a private blockchain management unit that authenticates second nodes constituting the private blockchain network and manages computing resources;
a framework management unit for configuring and managing a framework for providing the cloud service;
a blockchain API broker that relays the public blockchain network to communicate with an external public blockchain network;
a development tool management unit that drives a development tool on the web using the computing resource provided through the block chain network and provides it to the client terminal;
a resource management unit that interworks with the public block chain management unit and the private block chain management unit to receive computing resources from nodes constituting the block chain network, and provides the received computing resources to the client terminal; and
Comprising an application driving unit that operates an application on the web in conjunction with the public blockchain management unit, the private blockchain management unit, and the resource management unit and provides it to the client terminal,
The cloud service providing device,
A learning model to be trained is individually stored in each of the second nodes constituting the private block chain network, and different learning data is applied to the learning model stored for each second node. A forward propagation algorithm and a backpropagation algorithm is individually trained using , and the weight obtained by learning in each of the second nodes is controlled to be transmitted to other second nodes except for itself,
Each of the second nodes acquires weights obtained through training of other second nodes using a Ring all Reduce algorithm, and has an average or median value of the obtained weights as a weight. Update the learning model to store,
The framework management unit, but manages an artificial intelligence framework (AI framework) that is one of the software frameworks,
The artificial intelligence framework is at least one of 'Keras' as the first layer (1st Floor), Google's 'Tensorflow' as the second layer (2nd Floor), Facebook's 'Pytorch', and Amazon's 'Mxnet', A cloud service providing system that includes 'ONNX (Model exchange)' as the 3rd floor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210112372A KR102361217B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including machine learning service based blockchain |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210027261A KR102296907B1 (en) | 2021-03-02 | 2021-03-02 | The method and system for providing cloud service based blockchain |
KR1020210112372A KR102361217B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including machine learning service based blockchain |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210027261A Division KR102296907B1 (en) | 2021-03-02 | 2021-03-02 | The method and system for providing cloud service based blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102361217B1 true KR102361217B1 (en) | 2022-02-14 |
Family
ID=77779822
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210027261A KR102296907B1 (en) | 2021-03-02 | 2021-03-02 | The method and system for providing cloud service based blockchain |
KR1020210112363A KR102361207B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including saas based blockchain |
KR1020210112369A KR102361215B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including iaas based blockchain |
KR1020210112367A KR102361212B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including paas based blockchain |
KR1020210112372A KR102361217B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including machine learning service based blockchain |
KR1020210112376A KR102361221B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service providing reward according to machine learning based blockchain |
KR1020210113283A KR102392739B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service based blockchain using distributed cloud storage based on ipfs |
KR1020210113280A KR102361222B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service based blockchain using master node |
KR1020210113297A KR102361224B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service using verified node and unverified node based blockchain |
KR1020210113288A KR102391469B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service using public blockchain and private blockchain |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210027261A KR102296907B1 (en) | 2021-03-02 | 2021-03-02 | The method and system for providing cloud service based blockchain |
KR1020210112363A KR102361207B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including saas based blockchain |
KR1020210112369A KR102361215B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including iaas based blockchain |
KR1020210112367A KR102361212B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service including paas based blockchain |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210112376A KR102361221B1 (en) | 2021-03-02 | 2021-08-25 | The method and system for providing cloud service providing reward according to machine learning based blockchain |
KR1020210113283A KR102392739B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service based blockchain using distributed cloud storage based on ipfs |
KR1020210113280A KR102361222B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service based blockchain using master node |
KR1020210113297A KR102361224B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service using verified node and unverified node based blockchain |
KR1020210113288A KR102391469B1 (en) | 2021-03-02 | 2021-08-26 | The method and system for providing cloud service using public blockchain and private blockchain |
Country Status (1)
Country | Link |
---|---|
KR (10) | KR102296907B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345389A (en) * | 2018-09-25 | 2019-02-15 | 阿里巴巴集团控股有限公司 | A kind of resource sharing method, device and equipment |
CN115277110B (en) * | 2022-07-04 | 2023-07-28 | 河北嘉朗科技有限公司 | Method for solving block chain node cross-network communication problem in cloud native environment |
KR102517196B1 (en) * | 2022-08-24 | 2023-04-03 | 주식회사 엔터프라이즈블록체인 | Eletronic device for providing curriculum vitae creation and management service and method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200005433A (en) * | 2018-07-06 | 2020-01-15 | 주식회사 메디웨일 | Cloud server and diagnostic assistant systems based on cloud server |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102170025B1 (en) * | 2018-01-25 | 2020-10-26 | 김택균 | Service Method and Device for Providing Processor Hybrid Block Chain Platform |
KR102093145B1 (en) * | 2018-06-07 | 2020-03-25 | 한밭대학교 산학협력단 | Object Storage Cloud System for optimization data on basis of biometrics |
KR20200063340A (en) * | 2018-11-22 | 2020-06-05 | 한국클라우드컴퓨팅연구조합 | Method and system that machine learning-based quality inspection using the cloud |
KR102280584B1 (en) * | 2018-11-29 | 2021-07-23 | 한국전자통신연구원 | Apparatus and method for decentralized storage based on advertising service using blockchain |
KR102206026B1 (en) * | 2019-01-04 | 2021-01-22 | 주식회사 커먼컴퓨터 | System and method for transaction of work requests and products based on blockchain |
KR102026580B1 (en) * | 2019-01-15 | 2019-09-27 | 강대준 | A control system for unmanned moving vechicle using blockchain and a control method thereof |
KR102210429B1 (en) * | 2019-04-30 | 2021-02-01 | 숭실대학교산학협력단 | Container cluster system for authentication based on blockchain |
KR20210020570A (en) * | 2019-08-16 | 2021-02-24 | 삼성전자주식회사 | Electronic apparatus and method for controlling thereof |
-
2021
- 2021-03-02 KR KR1020210027261A patent/KR102296907B1/en active IP Right Grant
- 2021-08-25 KR KR1020210112363A patent/KR102361207B1/en active IP Right Grant
- 2021-08-25 KR KR1020210112369A patent/KR102361215B1/en active IP Right Grant
- 2021-08-25 KR KR1020210112367A patent/KR102361212B1/en active IP Right Grant
- 2021-08-25 KR KR1020210112372A patent/KR102361217B1/en active IP Right Grant
- 2021-08-25 KR KR1020210112376A patent/KR102361221B1/en active IP Right Grant
- 2021-08-26 KR KR1020210113283A patent/KR102392739B1/en active IP Right Grant
- 2021-08-26 KR KR1020210113280A patent/KR102361222B1/en active IP Right Grant
- 2021-08-26 KR KR1020210113297A patent/KR102361224B1/en active IP Right Grant
- 2021-08-26 KR KR1020210113288A patent/KR102391469B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200005433A (en) * | 2018-07-06 | 2020-01-15 | 주식회사 메디웨일 | Cloud server and diagnostic assistant systems based on cloud server |
Also Published As
Publication number | Publication date |
---|---|
KR102361222B1 (en) | 2022-02-14 |
KR102361224B1 (en) | 2022-02-14 |
KR102361215B1 (en) | 2022-02-14 |
KR102296907B1 (en) | 2021-09-01 |
KR102392739B1 (en) | 2022-05-03 |
KR102361221B1 (en) | 2022-02-14 |
KR102361212B1 (en) | 2022-02-14 |
KR102391469B1 (en) | 2022-04-28 |
KR102361207B1 (en) | 2022-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102361217B1 (en) | The method and system for providing cloud service including machine learning service based blockchain | |
CN113711536B (en) | Extracting data from a blockchain network | |
AU2018347190B2 (en) | Blockchain data protection based on account note model with zero-knowledge proof | |
JP6889275B2 (en) | Consensus node selection method and device, and server | |
KR102121159B1 (en) | Event-driven blockchain workflow processing | |
JP6763094B2 (en) | Blockchain-based crowdsourcing for map applications | |
Sabry et al. | The road to the blockchain technology: Concept and types | |
KR102145701B1 (en) | Prevent false display of input data by participants in secure multi-party calculations | |
US11392263B2 (en) | Real-time geospatial collaboration system | |
CN111095324A (en) | Performing parallel execution of transactions in a distributed ledger system | |
US11763332B2 (en) | Edge computing platform supported by smart contract enabled blockchain network | |
JP7035105B2 (en) | Information sharing tracking systems, methods and computer-readable storage media | |
WO2021096715A1 (en) | Multi-layer ledgers for multi-party secure data governance | |
CN113129149A (en) | Transaction risk identification method and device based on block chain and safe multi-party calculation | |
Aviv et al. | Reference Architecture for Blockchain-Native Distributed Information System | |
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 | |
US11838277B2 (en) | Blockchain-based secure, anonymizing message bus | |
JP2024513624A (en) | System and method for secure and traceable funds transfer operations via distributed ledger | |
KR102510353B1 (en) | Method and system for providing golf service based blockchain | |
Chandratre et al. | Blockchain based raspberry Pi mesh network | |
Lad et al. | Trust Management for Multi-Agent Systems Using Smart Contracts | |
Shilpa et al. | Blockchain and cloud technology: Leading the ICT innovations | |
Hernández | Distributed Ledger Technologies for Managing Heterogeneous Computing and Sensing Systems at the Edge | |
Beniiche | 6G and Next-generation Internet: Under Blockchain Web3 Economy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |