KR102278185B1 - 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법 - Google Patents

블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법 Download PDF

Info

Publication number
KR102278185B1
KR102278185B1 KR1020200117959A KR20200117959A KR102278185B1 KR 102278185 B1 KR102278185 B1 KR 102278185B1 KR 1020200117959 A KR1020200117959 A KR 1020200117959A KR 20200117959 A KR20200117959 A KR 20200117959A KR 102278185 B1 KR102278185 B1 KR 102278185B1
Authority
KR
South Korea
Prior art keywords
node
api
nodes
candidate
client
Prior art date
Application number
KR1020200117959A
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 KR1020200117959A priority Critical patent/KR102278185B1/ko
Application granted granted Critical
Publication of KR102278185B1 publication Critical patent/KR102278185B1/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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법에 관한 것으로, 서버리스 서비스 시스템에서 API(application programming interface)와 상기 API를 실행하는 서비스를 위한 서비스 프로그램을 저장하고 관리하고, 클라이언트로부터 상기 프로그램 관리부에서 관리하는 API의 실행을 요청하는 서비스 요청을 수신하고, 블록체인의 노드 중에서 요청받은 API를 실행할 노드를 선택하고, 상기 선택한 노드로 상기 요청받은 API의 실행을 요청한다.

Description

블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법{SYSTEM AND METHOD FOR SERVERLESS SERVICE USING BLOCKCHAIN NODE}
이하의 일 실시 예들은 서버리스 서비스를 제공하는 기술에 관한 것입니다.
분산 애플리케이션(DApp; Decentralized Application)은 분산 컴퓨팅 시스템에서 실행되는 애플리케이션으로, 현재 대부분의 분산 애플리케이션들은 서비스를 운영하기 위해 스마트컨트랙트 작성 외 별도의 백엔드 스토리지 및 백엔드 애플리케이션을 추가적으로 운영해야 한다. 이러한 백엔드 환경을 운영하기 위해서는 물리적, 기술적으로 많은 자원이 필요하다.
한편, 블록체인은 공공 거래 장부라고도 부르며 대표적으로 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 블록체인 네트워크에 참여한 노드의 공동 작업을 통하여 블록을 생성하며, 생성된 블록을 참여한 노드가 검증하고 이를 승인함으로써 모두가 동일한 블록을 보유하는 것과 일부 노드에 의해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 노드가 이 기록을 검증하여 해킹을 막는다
블록체인에서 블록 생성을 위한 합의 알고리즘을 블록체인 네트워크에 포함된 모든 노드들에서 수행할 수도 있지만, 점차 블록체인 네트워크에 포함된 일부 노드를 선택하여 합의를 수행하는 방식으로 알고리즘이 변화되고 있다.
블록체인 네트워크에 포함된 노드들은 고사양의 자원에 해당하나 블록체인 네트워크의 합의에 참여하지 못한 노드는 유휴 상태로 자원의 효율성이 떨어지는 경향이 발생한다.
본 발명은 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시 예에 따른 서버리스 서비스 시스템은, API(application programming interface)를 저장하고 관리하는 프로그램 관리부; 블록체인의 노드를 관리하고, API를 실행할 노드의 선택을 요청받으면, 상기 블록체인의 노드 중에서 API를 실행할 노드를 선택하는 자원 관리부; 및 클라이언트로부터 상기 프로그램 관리부에서 관리하는 API의 실행을 요청하는 서비스 요청을 수신하면, 상기 자원 관리부로 요청받은 API를 실행할 노드의 선택을 요청하고, 상기 자원 관리부에서 선택한 노드로 상기 요청받은 API의 실행을 요청하는 서비스 처리부를 포함한다.
이때, 서버리스 서비스 시스템은, 상기 요청받은 API를 실행하는 서비스에 따른 API의 실행을 요청한 사용자에 대한 과금 또는 상기 요청받은 API를 실행한 노드에 제공할 과금을 계산하는 과금 관리부를 더 포함할 수 있다.
이때, 서버리스 서비스 시스템은, 상기 요청받은 API를 실행 중에서 필요한 데이터베이스와의 연결을 제공하고, 상기 데이터베이스를 관리하는 데이터 베이스 관리부를 더 포함할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하고, 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 블록체인 네트워크의 합의 참여 중인 노드를 상기 후보 노드에서 배제할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 상기 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트에 포함된 노드, 상기 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트에 상기 클라이언트를 등록한 노드, 및 상기 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드 중에서 적어도 하나를 상기 후보 노드에서 배제할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 상기 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 상기 후보 노드로 추출할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 상기 후보 노드로 추출할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 상기 클라이언트에서 요구하는 지정된 노드를 상기 후보 노드에 포함시킬 수 있다.
이때, 상기 자원 관리부는, 상기 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택할 때, 상기 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 상기 클라이언트의 과금 정책에 따른 개수의 노드를 상기 요청받은 API를 실행할 노드로 선택할 수 있다.
이때, 상기 자원 관리부는, 상기 블록체인의 노드 중에서 기설정된 개수의 노드를 API 실행 요청시 즉시 API 실행할 수 있는 실행 대기 상태로 관리할 수 있다.
이때, 상기 프로그램 관리부는, 상기 API를 실행하는 서비스를 위한 서비스 프로그램을 저장하고 관리하고, 상기 자원 관리부는, API를 실행할 노드로 선택된 노드에 상기 서비스 프로그램이 설치되어 있지 않으면, 상기 서비스 프로그램이 설치되어 있지 않은 선택된 노드로 상기 서비스 프로그램을 제공할 수 있다.
본 발명의 일 실시 예에 따른 서버리스 서비스 시스템의 서버리스 서비스 방법은, API(application programming interface)를 저장하고 관리하는 단계; 클라이언트로부터 API의 실행을 요청하는 서비스 요청을 수신하는 단계; 블록체인의 노드 중에서 요청받은 API를 실행할 노드를 선택하는 단계; 및 상기 선택한 노드로 상기 요청받은 API의 실행을 요청하는 단계를 포함한다.
이때, 상기 블록체인의 노드 중에서 요청받은 API를 실행할 노드를 선택하는 단계는, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계; 및 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택하는 단계를 포함할 수 있다.
이때, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는, 블록체인 네트워크의 합의에 참여 중인 노드를 상기 후보 노드에서 배제할 수 있다.
이때, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는, 상기 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트에 포함된 노드, 상기 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트에 상기 클라이언트를 등록한 노드, 및 상기 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드 중에서 적어도 하나를 상기 후보 노드에서 배제할 수 있다.
이때, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는, 상기 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 상기 후보 노드로 추출할 수 있다.
이때, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는, API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 상기 후보 노드로 추출할 수 있다.
이때, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는, 상기 클라이언트에서 요구하는 지정된 노드를 상기 후보 노드에 포함시킬 수 있다.
이때, 상기 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택하는 단계는, 상기 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 상기 클라이언트의 과금 정책에 따른 개수의 노드를 상기 요청받은 API를 실행할 노드로 선택할 수 있다.
본 발명은 서버리스 서비스 시스템에서 API(application programming interface)와 상기 API를 실행하는 서비스를 위한 서비스 프로그램을 저장하고 관리하고, 클라이언트로부터 상기 프로그램 관리부에서 관리하는 API의 실행을 요청하는 서비스 요청을 수신하고, 블록체인의 노드 중에서 요청받은 API를 실행할 노드를 선택하고, 상기 선택한 노드로 상기 요청받은 API의 실행을 요청하는 서버리스 서비스 시스템 및 방법에 관한 것으로, 블록체인 네트워크의 유휴 상태의 노드(자원)를 활용하고, 분산 애플리케이션의 백엔드 환경을 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 블록체인 노드를 이용한 서버리스 서비스 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 서버리스 서비스 시스템에서 블록체인 노드를 이용해서 서비스를 제공하는 과정을 도시한 흐름도이다.
도 3은 본 발명의 일 실시 예에 따라 블록체인 노드들 중에서 요청받은 API를 실행할 노드를 선택하는 과정을 도시한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따라 블록체인 노드들 중에서 후보 노드를 선택하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 일 실시 예에 따라 후보 노드들 중에서 요청받은 API를 실행할 노드를 선택하는 과정을 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하에서는, 본 발명의 일 실시 예에 따른 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법을 첨부된 도 1 내지 도 5를 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 블록체인 노드를 이용한 서버리스 서비스 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 서버리스 서비스 시스템(110)은 제어부(111), 프로그램 관리부(112), 자원 관리부(113), 서비스 처리부(114), 과금 관리부(115), 데이터베이스 관리부(116), 통신부(117), 저장부(118)를 포함하여 구성될 수 있다.
통신부(117)는 데이터베이스(120), 클라이언트 단말기(130) 및 블록체인 네트워크 시스템(140)과 통신하여 데이터를 송수신 할 수 있다.
저장부(118)는 서버리스 서비스 시스템(110)의 전반적인 동작을 제어하기 위한 운영체제, 응용 프로그램 및 저장용 데이터를 저장할 수 있다. 또한, 저장부(118)는 본 발명에 따라 API(application programming interface)와 API를 실행하는 서비스를 위한 서비스 프로그램을 저장한다. 이때, 블록체인의 노드에서 API를 실행하기 위해서는 서비스 프로그램이 설치되어 있어야 한다.
프로그램 관리부(112)는 API(application programming interface)와 API를 실행하는 서비스를 위한 서비스 프로그램을 저장부(118)에 저장하도록 하고 저장된 API와 서비스 프로그램을 관리한다. 이때, API는 커먼 API(Common API)와 커스텀 API(Custom API)를 포함할 수 있다. 커먼 API는 서버리스 서비스 시스템(110)에서 공통으로 제공하는 API를 의미하고, 커스텀 API는 클라이언트 측에서 사용하고자 하는 자체 개발한 API를 의미한다.
자원 관리부(113)는 블록체인 네트워크 시스템(140)에 포함된 모든 노드(141, 142, 143)들을 모니터링하고, 블록체인 네트워크에 포함된 각 노드의 상태 및 API를 실행한 횟수 등의 정보를 확인하는 등의 관리를 하고, API를 실행할 노드의 선택을 요청받으면, 블록체인의 노드 중에서 API를 실행할 노드를 선택한다.
이때, 블록체인 네트워크 시스템(140)에 포함된 노드(141, 142, 143)는 블록체인 네트워크의 합의에 참여 중인 노드인 합의 노드(141), 블록체인 네트워크의 합의에 참여 가능성이 높은 노드를 의미하는 후보 합의 노드(142) 및 블록체인 네트워크의 합의에 참여 가능성이 상대적으로 낮은 대기 상태 또는 유휴 상태의 노드를 나타내는 대기 노드(143)로 구분될 수 있다.
자원 관리부(113)는 블록체인의 노드(141, 142, 143) 중에서 적어도 하나의 후보 노드를 추출하고, 추출된 후보 노드 중에서 요청받은 API를 실행할 노드를 선택할 수 있다.
자원 관리부(113)는 블록체인의 노드(141, 142, 143) 중에서 적어도 하나의 후보 노드를 추출할 때, 블록체인 네트워크의 합의에 참여 중인 합의 노드(141)를 후보 노드에서 배제할 수 있다.
자원 관리부(113)는 블록체인의 노드(141, 142, 143) 중에서 적어도 하나의 후보 노드를 추출할 때, 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드(142)를 후보 노드에서 배제할 수 있다.
즉, 자원 관리부(113)는 합의 알고리즘을 수행하는 합의 노드(141)와 합의 알고리즘을 수행할 가능성이 높은 후보 합의 노드(142)는 블록체인 네트워크 시스템의 본연의 기능을 수행할 수 있도록 후보 노드에서 배제하는 것이 바람직하며, 대기 노드(143) 중에서 후보 노드를 선택하는 것이 바람직하다.
자원 관리부(113)는 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트를 관리하고, 블록체인의 노드(141, 142, 143) 중에서 적어도 하나의 후보 노드를 추출할 때, 노드 블랙리스트에 포함된 노드를 후보 노드에서 배제할 수 있다. 즉, 노드 블랙리스트는 클라이언트 별로 신뢰하지 못하는 노드의 리스트로, 클라이언트 별로 관리될 수 있다. 또한, 노드 블랙리스트에는 API를 실행할 수 있는 서비스 프로그램의 설치를 거부하는 노드도 포함될 수 있다.
자원 관리부(113)는 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트를 관리하고, 블록체인의 노드(141, 142, 143) 중에서 적어도 하나의 후보 노드를 추출할 때, 클라이언트 블랙리스트에 API 실행을 요청한 해당 클라이언트(130)를 등록한 노드를 후보 노드에서 배제할 수 있다. 즉, 클라이언트 블랙리스트는 블록체인의 노드 별로 신뢰하지 못하는 클라이언트의 리스트로, 노드 별로 관리될 수 있다.
자원 관리부(113)는 모니터링을 통해서 특정 클라이언트의 요청이 클라이언트에서 지정된 노드가 아닌 특정 노드에 의해서 기설정된 횟수 이상 반복해서 실행되면, 반복 실행되는 특정 노드를 기설정된 횟수 이상 해당 클라이언트와 매칭되지 않도록 해당 클라이언트의 후보 노드에서 배제할 수 있다.
자원 관리부(113)는 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 후보 노드로 추출할 수 있다.
자원 관리부(113)는 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 후보 노드로 추출할 수 있다.
자원 관리부(113)는 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 클라이언트에서 요구하는 지정된 노드를 후보 노드에 적어도 하나 포함시킬 수 있다.
자원 관리부(113)는 추출된 후보 노드 중에서 요청받은 API를 실행할 노드를 선택할 때, 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 클라이언트의 과금 정책에 따른 개수의 노드를 선택할 수 있다.
이때, 자원 관리부(113)는 API 호출 횟수 외에도 블록체인 노드의 컴퓨팅 성능, 블록체인 노드와 응답 지연 속도, 블록체인 노드에 관한 사전에 검토된 신뢰도 지수 등의 기준으로 요청받은 API를 실행할 노드를 선택할 수도 있다. 이때, 신뢰도 지수는 신뢰할만한 검증 센터, 사설 검증 센터 또는 클라이언트 단말기에서 자체적으로 검토하여 자원 관리부(113)로 제공될 수 있다.
자원 관리부(113)는 블록체인의 노드 중에서 기설정된 개수의 노드를 API 실행 요청시 즉시 API 실행할 수 있는 실행 대기 상태로 관리할 수 있다. 이때, 실행 대기 상태의 노드는 서비스 프로그램이 설치 완료된 상태이다.
자원 관리부(113)는 실행 대기 상태의 노드를 후보 노드로 제공함으로써 빠른 선택이 가능하도록 할 수 있다.
자원 관리부(113)는 API를 실행할 노드로 선택된 노드에 서비스 프로그램이 설치되어 있지 않으면, 서비스 프로그램이 설치되어 있지 않은 선택된 노드로 서비스 프로그램을 제공하여 선택된 노드에 서비스 프로그램이 설치되도록 할 수 있다.
한편, 자원 관리부(113)에서 관리하는 클라이언트의 과금 정책은 복수의 레벨로 나뉠 수 있다.
예를 들어, 과금 플랜을 무료 서비스 정책, 보급형 서비스 정책, 프로 서비스 정책의 3개의 레벨로 나눈 경우, API 실행 요청시 제공하는 노드의 수, API 실행 요청시 제공하는 노드의 응답 지연 속도, API 실행 요청시 제공하는 노드의 배타적 지정 여부 등을 레벨에 맞게 구분해서 클라이언트에게 제공할 수 있다.
구체적으로 무료 서비스 정책은 요청이 발생하면 요청받은 API를 실행할 노드를 검색하여 최소한의 노드(예를 들어, 1개의 노드)만을 API를 실행할 노드로 제공할 수 있다. 보급형 서비스 정책은 요청이 발생하면, 미리 준비된 실행 대기 상태의 노드를 통해서 기설정된 개수(예를 들어, 3개의 노드) API의 노드를 통해서 API를 실행하도록 제공하고, API의 요청량에 따라서 최대 10의 노드까지 API를 실행하도록 제공할 수 있다. 프로 서비스 정책은 요청이 발생하면, 미리 준비된 실행 대기 상태의 노드를 통해서 기설정된 개수(예를 들어, 5개의 노드) API의 노드를 통해서 API를 실행하도록 제공하고, API의 요청량에 따라서 최대 20의 노드까지 API를 실행하도록 제공할 수 있다. 이때, 프로 서비스 정책의 경우, 다른 클라이언트로부터 요청받은 AIP를 실행하지 않고, 프로 서비스 정책에 따른 특정 클라이언트의 API만을 실행하도록 지정된(배타적으로 지정된) 노드를 기설정된 개수(예를 들어, 3개) 만큼 할당할 수 있다.
서비스 처리부(114)는 클라이언트로 단말기(130)부터 프로그램 관리부(1120)에서 관리하는 API의 실행을 요청하는 서비스 요청을 수신하면, 자원 관리부(113)로 요청받은 API를 실행할 노드의 선택을 요청하고, 자원 관리부(113)에서 선택한 노드로 요청받은 API의 실행을 요청한다.
과금 관리부(115)는 요청받은 API를 실행하는 서비스에 따른 API의 실행을 요청한 클라이언트에 대한 과금 또는 요청받은 API를 실행한 노드에 제공할 과금을 계산한다. 따라서, 과금 관리부(115)는 과금 정책에 따라 API의 실행을 요청한 클라이언트에 대한 과금을 계산하여 요청하고, 요청받은 API를 실행한 노드에 제공할 과금을 계산하여 실행한 노드 각각에게 해당 과금을 제공할 수 있다.
데이터베이스 관리부(116)는 요청받은 API를 실행 중에서 필요한 데이터 베이스(120)와의 연결을 제공하고, 데이터베이스(120)를 관리할 수 있다. 이때, 데이터베이스(120)는 중앙 집중식 데이터베이스 또는 분산 데이터베이스 일 수 있다. 그리고, 데이터베이스(120)는 서버리스 서비스 시스템(110)에서 직접 관리하는 데이터베이스 일 수도 있고, 클라이언트 단말기(130)에서 요청하는 별도의 사설 데이터베이스 일 수도 있다.
제어부(111)는 서버리스 서비스 시스템(110)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(111)는 프로그램 관리부(112), 자원 관리부(113), 서비스 처리부(114), 과금 관리부(115) 및 데이터베이스 관리부(116)의 기능을 수행할 수 있다. 제어부(111), 프로그램 관리부(112), 자원 관리부(113), 서비스 처리부(114), 과금 관리부(115) 및 데이터베이스 관리부(116)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 제어부(111)는 프로그램 관리부(112), 자원 관리부(113), 서비스 처리부(114), 과금 관리부(115) 및 데이터베이스 관리부(116) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 제어부(111)는 프로그램 관리부(112), 자원 관리부(113), 서비스 처리부(114), 과금 관리부(115) 및 데이터베이스 관리부(116) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 방법을 아래에서 도면을 참조하여 설명한다.
도 2는 본 발명의 일 실시 예에 따른 서버리스 서비스 시스템에서 블록체인 노드를 이용해서 서비스를 제공하는 과정을 도시한 흐름도이다.
도 2를 참조하면, 서버리스 서비스 시스템(110)은 API와 API를 실행하는 서비스를 위한 서비스 프로그램을 저장하고 관리한다(210).
그리고, 서버리스 서비스 시스템(110)은 클라이언트로부터 API의 실행을 요청하는 서비스 요청을 수신하면(220), 블록체인의 노드 중에서 요청받은 API를 실행할 노드를 선택한다(230). 230단계의 보다 구체적인 설명은 이후 도 3을 통해서 후술한다.
그리고, 서버리스 서비스 시스템(110)은 선택한 노드로 요청받은 API의 실행을 요청한다(240).
240단계에서 서버리스 서비스 시스템(110)은 요청받은 API의 실행을 요청할 때, 선택한 노드에 서비스 프로그램이 설치되어 있지 않으면, 서비스 프로그램이 설치되어 있지 않은 선택된 노드로 API를 실행하기 위한 서비스 프로그램을 제공할 수 있다.
도 3은 본 발명의 일 실시 예에 따라 블록체인 노드들 중에서 요청받은 API를 실행할 노드를 선택하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 서버리스 서비스 시스템(110)은 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출한다(310). 310단계의 구체적인 설명은 이후 도 4를 참조하여 후술한다.
그리고, 서버리스 서비스 시스템(110)은 추출된 후보 노드 중에서 요청받은 API를 실행할 노드를 선택한다(320). 320단계의 구체적인 설명은 이후 도 5를 참조하여 후술한다.
도 4는 본 발명의 일 실시 예에 따라 블록체인 노드들 중에서 후보 노드를 선택하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 서버리스 서비스 시스템(110)은 블록체인 네트워크에 포함된 모든 노드를 모니터링하여 블록체인 네트워크에 포함된 각 노드의 상태 및 API를 실행한 횟수 등의 정보를 확인한다(410).
그리고, 서버리스 서비스 시스템(110)은 블록체인 네트워크의 합의에 참여 중인 합의 노드를 후보 노드에서 배제한다(420).
그리고, 서버리스 서비스 시스템(110)은 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드를 후보 노드에서 배제한다(430).
그리고, 서버리스 서비스 시스템(110)은 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트에 포함된 노드를 후보 노드에서 배제한다(440). 즉, 노드 블랙리스트는 클라이언트 별로 신뢰하지 못하는 노드의 리스트로, 클라이언트 별로 관리될 수 있다. 또한, 노드 블랙리스트에는 API를 실행할 수 있는 서비스 프로그램의 설치를 거부하는 노드도 포함될 수 있다.
그리고, 서버리스 서비스 시스템(110)은 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트에 API 실행을 요청한 해당 클라이언트를 등록한 노드를 후보 노드에서 배제한다(450). 즉, 클라이언트 블랙리스트는 블록체인의 노드 별로 신뢰하지 못하는 클라이언트의 리스트로, 노드 별로 관리될 수 있다.
이때, 상술한 420 단계, 430단계, 440단계 및 450 단계는 선택적인 구성으로 서버리스 서비스의 실행 환경에 따라서 선택적으로 적용될 수 있다.
그리고, 서버리스 서비스 시스템(110)은 410단계에서 450단계를 통해서 배제되고 남은 블록체인의 노드들 중에서 클라이언트의 과금 정책과 설정된 후보 노드 선택 기준에 따라서 후보 노드를 선택한다(460).
460단계에서 설정된 후보 노드 선택 기준은 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 수 API의 응답에 관한 지연 속도 및 클라이언트에서 요구하는 지정된 노드 등이 될 수 있으며, 선택 기준은 중복해서 선택될 수도 있다.
따라서, 460단계에서 서버리스 서비스 시스템(110)은 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 후보 노드로 추출할 수 있다.
460단계에서 서버리스 서비스 시스템(110)은 API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 후보 노드로 추출할 수 있다.
460단계에서 서버리스 서비스 시스템(110)은 클라이언트에서 요구하는 지정된 노드를 후보 노드에 적어도 하나 포함시킬 수 있다.
도 5는 본 발명의 일 실시 예에 따라 후보 노드들 중에서 요청받은 API를 실행할 노드를 선택하는 과정을 도시한 흐름도이다.
도 5를 참조하면, 서버리스 서비스 시스템(110)은 모니터링을 통해서 추출된 후보 노드 각각의 API 호출 횟수를 확인한다(510).
그리고, 서버리스 서비스 시스템(110)은 API 호출 횟수가 적은 순서대로 정렬한다(520).
그리고, 서버리스 서비스 시스템(110)은 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 클라이언트의 과금 정책에 따른 개수의 노드를 선택한다(530).
한편, 도 5에서 요청받은 API를 실행할 노드를 선택하는 기준을 API 호출 횟수로 설명하고 있지만, API 호출 횟수 하나에 한정되는 것이 아니며, API 호출 횟수 외에도 블록체인 노드의 컴퓨팅 성능, 블록체인 노드와 응답 지연 속도, 블록체인 노드에 관한 사전에 검토된 신뢰도 지수 등의 기준으로 요청받은 API를 실행할 노드를 선택할 수도 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
110: 서버리스 서비스 시스템
111: 제어부
112: 프로그램 관리부
113: 자원 관리부
114: 서비스 처리부
115: 과금 관리부
116: 데이터베이스 관리부
117: 통신부
118: 저장부
120: 데이터베이스
130: 클라이언트 단말기
140: 블록체인 네트워크 시스템
141: 합의 노드
142: 후보 합의 노드
143: 대기 노드

Claims (20)

  1. API(application programming interface)를 저장하고 관리하는 프로그램 관리부;
    클라이언트로부터 상기 프로그램 관리부에서 관리하는 API의 실행을 요청하는 서비스 요청을 수신하면, 상기 클라이언트로부터 요청받은 API를 실행할 노드의 선택을 자원 관리부로 요청하는 서비스 처리부; 및
    블록체인의 노드를 관리하고, 상기 서비스 처리부로부터 API를 실행할 노드의 선택을 요청받으면, 상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하고, 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택하고, 선택한 노드를 상기 서비스 처리부로 제공하는 상기 자원 관리부
    를 포함하고,
    상기 서비스 처리부는,
    상기 선택한 노드로 상기 요청받은 API의 실행을 요청하고,
    상기 자원 관리부는,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때, 블록체인 네트워크의 합의에 참여 중인 노드를 상기 후보 노드에서 배제하고,
    상기 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트에 포함된 노드, 상기 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트에 상기 클라이언트를 등록한 노드, 및 상기 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드를 상기 후보 노드에서 배제하는
    서버리스 서비스 시스템.
  2. 제1항에 있어서,
    상기 요청받은 API를 실행하는 서비스에 따른 API의 실행을 요청한 사용자에 대한 과금 또는 상기 요청받은 API를 실행한 노드에 제공할 과금을 계산하는 과금 관리부
    를 더 포함하는 서버리스 서비스 시스템.
  3. 제1항에 있어서,
    상기 요청받은 API를 실행 중에서 필요한 데이터베이스와의 연결을 제공하고, 상기 데이터베이스를 관리하는 데이터 베이스 관리부
    를 더 포함하는 서버리스 서비스 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 자원 관리부는,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때,
    상기 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 상기 후보 노드로 추출하는
    서버리스 서비스 시스템.
  6. 제1항에 있어서,
    상기 자원 관리부는,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때,
    API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 상기 후보 노드로 추출하는
    서버리스 서비스 시스템.
  7. 제1항에 있어서,
    상기 자원 관리부는,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출할 때,
    상기 클라이언트에서 요구하는 지정된 노드를 상기 후보 노드에 포함시키는
    서버리스 서비스 시스템.
  8. 제1항에 있어서,
    상기 자원 관리부는,
    상기 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택할 때,
    상기 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 상기 클라이언트의 과금 정책에 따른 개수의 노드를 상기 요청받은 API를 실행할 노드로 선택하는
    서버리스 서비스 시스템.
  9. 제1항에 있어서,
    상기 자원 관리부는,
    상기 블록체인의 노드 중에서 기설정된 개수의 노드를 API 실행 요청시 즉시 API 실행할 수 있는 실행 대기 상태로 관리하는
    서버리스 서비스 시스템.
  10. 제1항에 있어서,
    상기 프로그램 관리부는,
    상기 API를 실행하는 서비스를 위한 서비스 프로그램을 저장하고 관리하고,
    상기 자원 관리부는,
    API를 실행할 노드로 선택된 노드에 상기 서비스 프로그램이 설치되어 있지 않으면, 상기 서비스 프로그램이 설치되어 있지 않은 선택된 노드로 상기 서비스 프로그램을 제공하는
    서버리스 서비스 시스템.
  11. API(application programming interface)를 저장하고 관리하는 단계;
    클라이언트로부터 API의 실행을 요청하는 서비스 요청을 수신하는 단계;
    블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계;
    추출된 후보 노드 중에서 요청받은 API를 실행할 노드를 선택하는 단계; 및
    상기 선택한 노드로 상기 요청받은 API의 실행을 요청하는 단계
    를 포함하고,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는,
    블록체인 네트워크의 합의에 참여 중인 노드를 상기 후보 노드에서 배제하고,
    상기 클라이언트에서 API의 실행을 원하지 않는 노드의 리스트인 노드 블랙리스트에 포함된 노드, 상기 블록체인의 노드 각각에서 API의 실행을 원하지 않는 클라이언트의 리스트인 클라이언트 블랙리스트에 상기 클라이언트를 등록한 노드, 및 상기 블록체인 네트워크의 합의에 참여 가능성이 높은 후보 합의 노드를 상기 후보 노드에서 배제하는
    서버리스 서비스 시스템의 서버리스 서비스 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는,
    상기 클라이언트의 과금 정책에 따라 API의 실행을 보장하는 노드의 최대 개수 이상의 노드를 상기 후보 노드로 추출하는
    서버리스 서비스 시스템의 서버리스 서비스 방법.
  14. 제11항에 있어서,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는,
    API의 응답에 관한 지연 속도를 기준으로 지연 속도가 기설정된 속도 보다 빠른 노드를 상기 후보 노드로 추출하는
    서버리스 서비스 시스템의 서버리스 서비스 방법.
  15. 제11항에 있어서,
    상기 블록체인의 노드 중에서 적어도 하나의 후보 노드를 추출하는 단계는,
    상기 클라이언트에서 요구하는 지정된 노드를 상기 후보 노드에 포함시키는
    서버리스 서비스 시스템의 서버리스 서비스 방법.
  16. 제11항에 있어서,
    상기 추출된 후보 노드 중에서 상기 요청받은 API를 실행할 노드를 선택하는 단계는,
    상기 추출된 후보 노드 중에서 API 호출 횟수가 적은 순서대로 상기 클라이언트의 과금 정책에 따른 개수의 노드를 상기 요청받은 API를 실행할 노드로 선택하는
    서버리스 서비스 시스템의 서버리스 서비스 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020200117959A 2020-09-14 2020-09-14 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법 KR102278185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200117959A KR102278185B1 (ko) 2020-09-14 2020-09-14 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200117959A KR102278185B1 (ko) 2020-09-14 2020-09-14 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102278185B1 true KR102278185B1 (ko) 2021-07-19

Family

ID=77125724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200117959A KR102278185B1 (ko) 2020-09-14 2020-09-14 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102278185B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052399A (ko) * 2018-10-23 2020-05-15 포항공과대학교 산학협력단 블록체인 기반의 유휴 컴퓨팅 자원 공유를 통한 포그 컴퓨팅 방법
KR20200054368A (ko) * 2018-11-05 2020-05-20 삼성전자주식회사 전자 장치 및 이의 제어방법
KR102089912B1 (ko) * 2019-11-13 2020-05-26 주식회사 스마트엠투엠 프라이빗 블록체인 기반 모바일 디바이스 관리 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200052399A (ko) * 2018-10-23 2020-05-15 포항공과대학교 산학협력단 블록체인 기반의 유휴 컴퓨팅 자원 공유를 통한 포그 컴퓨팅 방법
KR20200054368A (ko) * 2018-11-05 2020-05-20 삼성전자주식회사 전자 장치 및 이의 제어방법
KR102089912B1 (ko) * 2019-11-13 2020-05-26 주식회사 스마트엠투엠 프라이빗 블록체인 기반 모바일 디바이스 관리 방법 및 시스템

Similar Documents

Publication Publication Date Title
RU2463652C2 (ru) Структура расширяемой и программируемой службы с несколькими арендаторами
US9270703B1 (en) Enhanced control-plane security for network-accessible services
US20220083917A1 (en) Distributed and federated learning using multi-layer machine learning models
EP3346379A1 (en) Database management system with dynamic allocation of database requests
US10706027B2 (en) Database management system with dynamic allocation of database requests
KR20110063637A (ko) 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법
CN112767133B (zh) 业务决策方法及装置、存储介质、计算机设备
US20060200469A1 (en) Global session identifiers in a multi-node system
US10838798B2 (en) Processing system for performing predictive error resolution and dynamic system configuration control
CN111343102B (zh) 流速控制方法、服务端服务器、客户端服务器和系统
US10169085B2 (en) Distributed computing of a task utilizing a copy of an original file stored on a recovery site and based on file modification times
US10599675B2 (en) Hybrid data replication
CN110210845B (zh) 用于区块链数据迁移的方法、装置、介质和计算设备
US20230367749A1 (en) Data migration method and apparatus, device, medium, and computer product
CN112767135A (zh) 规则引擎的配置方法及装置、存储介质、计算机设备
CN108459829B (zh) 一种数据存储方法、装置及计算机存储介质
CN110321219A (zh) 一种事务请求的并行执行方法、装置、设备和介质
CN111597269A (zh) 一种基于区块链的合约实现方法、装置及设备
CN112799851B (zh) 多方安全计算中的数据处理方法和相关装置
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN117667305A (zh) 基于业务场景的安全策略的部署方法、装置及电子设备
KR102278185B1 (ko) 블록체인 노드를 이용한 서버리스 서비스 시스템 및 방법
CN112631994A (zh) 数据迁移方法及系统
US11881996B2 (en) Input and output for target device communication
JP2023526654A (ja) 仮想化ネットワーク機能配置方法、管理およびオーケストレーションプラットフォーム、並びに媒体

Legal Events

Date Code Title Description
AMND Amendment
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant