WO2020101223A1 - 서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법 - Google Patents

서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법 Download PDF

Info

Publication number
WO2020101223A1
WO2020101223A1 PCT/KR2019/014315 KR2019014315W WO2020101223A1 WO 2020101223 A1 WO2020101223 A1 WO 2020101223A1 KR 2019014315 W KR2019014315 W KR 2019014315W WO 2020101223 A1 WO2020101223 A1 WO 2020101223A1
Authority
WO
WIPO (PCT)
Prior art keywords
broker
service
function
api
client
Prior art date
Application number
PCT/KR2019/014315
Other languages
English (en)
French (fr)
Inventor
전기만
손재기
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180140521A external-priority patent/KR20200056620A/ko
Priority claimed from KR1020180146172A external-priority patent/KR102310523B1/ko
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Publication of WO2020101223A1 publication Critical patent/WO2020101223A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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]

Definitions

  • the present invention relates to a serverless cloud computing technology, and more specifically, to a method for combining payload services and minimizing payloads by additionally supporting an expression language using a binary format in addition to a text-based expression language. will be.
  • Amazon's Amazon Web Services (AWS) API Gateway uses text-based JSON as the default expression language for communication, as shown in FIG. 1. Some payloads also support binary format, but do not support efficient HTTP / 2 protocol and full binary processing.
  • the existing serverless API gateway has a problem of high latency as the payload size increases due to the use of JSON and HTTP / 1.1. Accordingly, it is necessary to change the design of the API gateway structure to improve the overall performance of the serverless API service.
  • a user or an administrator in order to execute a specific function, stores or receives information in a designated space through an already designated IP address, as shown in FIG. 2.
  • the present invention has been devised to solve the above problems, and an object of the present invention is to provide a serverless API service method capable of minimizing payload by additionally supporting an expression language using a binary format in addition to a text-based expression language. In providing.
  • Another object of the present invention is to provide a method for implementing efficient information delivery and processing through minimum speed delay and maximization of space utilization for user service function calls, recombination service requests, etc. in the process of providing serverless cloud services. Is in
  • the API service method comprises: receiving service requests expressed in a plurality of formats from an API client; Converting a service request expressed in a second format among service requests to a service request expressed in a first format; And processing the service request expressed in the first format.
  • the receiving step may be to receive service requests through the same port.
  • the first format may be a format expressed in a binary-based language.
  • the first format may be a Remote Procedure Call (RPC) format.
  • RPC Remote Procedure Call
  • the second format may be a format expressed in a text-based language.
  • the second format may be a REST (Representational State Transfer) format.
  • the processing step may be to call a function for requesting a service.
  • the API gateway includes a proxy for converting a service request expressed in a second format among service requests received from an API client into a service request expressed in a first format; And a handler for processing a service request expressed in the first format.
  • a method for providing a serverless cloud computing service for achieving the other object includes: a first client requesting a first function from a first broker; And providing, by the first broker, a first function to the first client.
  • a method of providing a serverless cloud computing service includes: a first client requesting a second function from a first broker; A first broker requesting a second function from the second broker; And providing, by the second broker, a second function to the first client.
  • the first broker may not have a second function.
  • a method of providing a serverless cloud computing service includes: a second client requesting a first function from a second broker; A second broker requesting a first function from the first broker; And providing, by the first broker, the first function to the second client.
  • a method of providing a serverless cloud computing service includes: a first client requesting a third function from a first broker;
  • the first broker may further include generating a third broker that provides a third function.
  • the method for providing a serverless cloud computing service according to the present invention may further include providing, by the third broker, to a first client providing a third function.
  • a method of providing a serverless cloud computing service includes: a second client requesting a third function from a second broker; A second broker requesting a third function from the third broker; And providing, by the third broker, a third function to the second client.
  • a serverless cloud computing service providing system includes a first client requesting a first function from a first broker; And a first broker providing a first function to a first client.
  • a payload can be minimized by additionally supporting an expression language using a binary format in addition to a text-based expression language, in a cloud service configuration environment providing serverless computing. It is possible to implement low-latency and high-efficiency functions through the optimization design of the API gateway structure, which is a core design area.
  • efficient information transmission and processing can be implemented through minimum speed delay and maximization of space utilization for user's service function call, recombination service request, etc. .
  • 1 is a diagram provided for conceptual description of an existing serverless API service
  • FIG. 3 is a view provided for explaining a serverless API service method according to an embodiment of the present invention.
  • FIG. 4 is a flow chart provided in the description of the serverless API service method according to an embodiment of the present invention.
  • FIG. 5 is a block diagram showing the hardware configuration of the API gateway shown in FIG. 3, and
  • FIG. 6 is a view provided to explain a method of providing a function (service) of a serverless container according to an embodiment of the present invention.
  • an architecture design method is proposed for efficient expansion and distribution of a serverless cloud application during a serverless API service process.
  • the serverless API service method further supports an expression language using a binary format in addition to a text-based expression language to minimize payload.
  • the serverless API service method adds a protocol buffer serialized using a binary format as an expression language, additionally supports an HTTP / 2-based gRPC API, and external REST API And gRPC API are supported at the same time.
  • FIG. 3 is a diagram provided for explaining a serverless API service method according to an embodiment of the present invention.
  • the Http Request Multiplexer 210 of the API gateway 200 receives service requests from the API client 100.
  • Service requests received by the Http Request Multiplexer 210 from the API client 100 are expressed in a number of formats. Specifically, a service request in the form of Remote Procedure Calls (gRPC) and a service request in the form of Representational State Transfer (REST) may be received.
  • gRPC Remote Procedure Calls
  • REST Representational State Transfer
  • the API client 100 may deliver a service request expressed in a language in a desired format to the API gateway 200.
  • the Http Request Multiplexer 210 of the API gateway 200 receives them all through the same port. That is, the Http Request Multiplexer 210 shares the gRPC API and REST API on the same port.
  • the gRPC Reverse Proxy 220 of the API gateway 200 converts a service request in the REST format to a service request in the gRPC format among service requests received through the Http Request Multiplexer 210.
  • the gRPC Handler 230 of the API gateway 200 processes the service request in the gRPC format received from the Http Request Multiplexer 210 and the service request in the gRPC format converted by the gRPC Reverse Proxy 220.
  • the gRPC Handler 230 may call the corresponding function through the Function Call Service 240 or process a service request through the Other Service 250.
  • FIG. 4 is a flowchart provided in the description of the serverless API service method according to an embodiment of the present invention.
  • the flowchart illustrated in FIG. 4 is composed of procedures performed in the API gateway 200 of FIG. 3.
  • the Http Request Multiplexer 210 of the API gateway 200 receives service requests from the API client 100 (S410).
  • step S410 both the gRPC format and the REST format service request can be received.
  • the gRPC Reverse Proxy 220 receives the service request in REST format received in step S410 in gRPC format. Convert it to a service request (S430).
  • the gRPC Handler 230 processes the service request in the gRPC format received in step S410 or the service request in the gRPC format converted in step S430 (S440).
  • the gRPC Handler 230 may call the corresponding function through the Function Call Service 240, or may process the service request through the Other Service 250.
  • FIG. 5 is a block diagram showing the hardware configuration of the API gateway 200 shown in FIG. 3. 5, the API gateway 200 includes a communication unit 201, a processor 202, and a storage unit 203.
  • the communication unit 201 is a communication interface means for communicating with the client 100 and communicating with a cloud system.
  • the processor 202 performs the overall operation of the API gateway 200, specifically, the operation performed by the API gateway 200 in FIG. 3 and the algorithm illustrated in FIG. 4.
  • the storage unit 203 is a storage medium that provides necessary storage space for the processor 202 to operate and function.
  • a gateway architecture design method for providing multiple APIs is proposed for high latency and network overhead reduction in the serverless computing service area.
  • the serverless API service method implements a low-latency, high-efficiency function through an API gateway structure optimization design, which is a core design area in a cloud service configuration environment providing serverless computing.
  • the gRPC API and REST API are shared on the same port, the latency of function calls through the gRPC server implementation is minimized, and network performance is improved through the use of HTTP / 2-based gRPC.
  • FIG. 6 is a view provided to explain a method of providing a function (service) of a serverless container according to an embodiment of the present invention.
  • a client calls and uses a service function inside a container, and a desired function can be flexibly provided through self-communication between containers through brokers.
  • the client realizes a new service through combination, arrangement, and relocation between functions provided through the above method, thereby enabling a service combination of a serverless cloud application.
  • a plurality of brokers 610, 620, 630, 640, and 650 are interconnected / connected. And, communication between the clients 610, 620, 630 and brokers 610, 620, 630, 640, 650 is based on a binary communication method.
  • the client A 510 requests the function A from the broker A 610. Since broker A 610 has function A, it provides function A to client A 510.
  • broker B 520 requests the function C from the broker B 620. g, however, since broker B 620 does not have function B, broker B 620 requests function B from broker A 610.
  • broker A 610 since broker A 610 also does not have function C, broker A 610 requests function C from broker C 630. Since the function C is held by the broker C 630, the function C is provided to the client B 520.
  • the client C 530 is requesting the function N from the broker D 640. Since broker D 610 does not have function N, it requests function N from broker A 610.
  • Broker A 610 does not have function N.
  • broker A 610 recognizes that other brokers 620, 630, and 640 do not have function N. Recognition here is possible not only through information held in advance, but also through request failure by neighboring brokers.
  • the broker A 610 creates a new broker N 650 holding the function N.
  • broker A 610 requests function N from broker N 650. Then, the broker N 650 provides the function N to the client A 510.
  • Clients 510, 520, and 530 can receive a number of functions from brokers 610, 620, 630, 640, and 650 through the above method, and provide new services through combination, deployment, and relocation of the provided functions. By realizing, it is possible to combine the services of a serverless cloud application.
  • a communication environment structure was designed to maximize the temporal and spatial efficiency of each function-related call and service combination in the serverless computing service area.
  • the service provision time is shortened by using the binary communication method, the environment resource in providing a new service through the function combination is minimized, and the network performance for the function combination is improved.
  • the technical idea of the present invention can be applied to a computer-readable recording medium containing a computer program that performs functions of the apparatus and method according to the present embodiment. Further, the technical idea according to various embodiments of the present invention may be implemented in the form of computer-readable codes recorded on a computer-readable recording medium.
  • the computer-readable recording medium can be any data storage device that can be read by a computer and stores data.
  • the computer-readable recording medium can be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, and the like.
  • computer-readable codes or programs stored on a computer-readable recording medium may be transmitted through a network connected between computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여 페이로드를 최소화 할 수 있는 서버리스 API 서비스 방법이 제공된다. 본 발명의 실시예에 따른 API 서비스 방법은 API 클라이언트로부터 다수의 형식으로 표현된 서비스 요청들을 수신하면, 제2 형식으로 표현된 서비스 요청을 제1 형식으로 표현된 서비스 요청으로 변환하여, 제1 형식으로 표현된 서비스 요청을 처리한다. 이에 의해, 텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여 페이로드를 최소화 할 수 있어, 서버리스 컴퓨팅을 제공하는 클라우드 서비스 구성환경에서 핵심 설계 영역인 API 게이트웨이 구조의 최적화 설계를 통한 저지연, 고효율의 기능 구현이 가능해진다.

Description

서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법
본 발명은 서버리스 클라우드 컴퓨팅 기술에 관한 것으로, 더욱 상세하게는 텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여 페이로드를 최소화 하고, 서버리스 컨테이너의 서비스를 조합하는 방법에 관한 것이다.
아마존의 AWS(Amazon Web Services) API 게이트웨이는, 도 1에 도시된 바와 같이 통신시 텍스트 기반의 JSON을 기본 표현 언어로 사용하다. 일부 페이로드의 경우 바이너리(binary) 형식도 지원하고 있지만, 효율적인 HTTP/2 프로토콜과 Full 바이너리 처리는 지원하지 않는다.
또한, 기존의 서버리스 API 게이트웨이는 JSON과 HTTP/1.1 사용으로 페이로드 크기가 커지면서 높은 지연 시간을 가지는 문제점을 가지고 있다. 이에, 서버리스 API 서비스의 전반적인 성능향상을 위한 API 게이트웨이 구조설계 변경이 필요한 실정이다.
한편, 클라우드 컴퓨팅 분야에서 사용자 또는 관리자는 특정 기능을 실행하기 위해서는, 도 2에 도시된 바와 같이, 이미 지정된 IP 주소를 통해 지정된 공간에 정보를 저장하거나 정보를 제공받게 된다.
이에 따라, 독립된 영역의 함수를 조합하여 사용하는데 시간적 손실과 과정의 복잡성이 존재한다.
또한, 조합된 서비스의 제공 및 활용을 위해서는 사용자 및 관리자의 적극적 개입과정이 요구되고 새로운 서비스 제공을 위한 환경구성의 여러 추가적 리소스가 소요되므로 효율적 서비스 조합을 위해 통신 환경의 변경이 필요하다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여 페이로드를 최소화 할 수 있는 서버리스 API 서비스 방법을 제공함에 있다.
또한, 본 발명의 다른 목적은, 서버리스 클라우드 서비스 제공 과정에서 사용자의 서비스 함수 호출, 재 조합형 서비스 요구 등에 대해 최소한의 속도지연과 공간 활용의 극대화를 통해 효율적 정보 전달 및 처리 구현을 위한 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, API 서비스 방법은 API 클라이언트로부터 다수의 형식으로 표현된 서비스 요청들을 수신하는 단계; 수신된 서비스 요청들 중 제2 형식으로 표현된 서비스 요청을 제1 형식으로 표현된 서비스 요청으로 변환하는 단계; 제1 형식으로 표현된 서비스 요청을 처리하는 단계;를 포함한다.
수신 단계는, 동일 포트를 통해 서비스 요청들을 수신하는 것일 수 있다.
제1 형식은, 바이너리 기반의 언어로 표현된 형식일 수 있다.
제1 형식은, RPC(Remote Procedure Calls) 형식일 수 있다.
제2 형식은, 텍스트 기반의 언어로 표현된 형식일 수 있다.
제2 형식은, REST(Representational State Transfer) 형식일 수 있다.
처리 단계는, 서비스 요청을 위한 펑션을 호출하는 것일 수 있다.
한편, 본 발명의 다른 실시예에 따른, API 게이트웨이는 API 클라이언트로부터 수신된 서비스 요청들 중 제2 형식으로 표현된 서비스 요청을 제1 형식으로 표현된 서비스 요청으로 변환하는 프록시; 및 제1 형식으로 표현된 서비스 요청을 처리하는 핸들러;를 포함한다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제1 클라이언트가, 제1 브로커에게 제1 함수를 요청하는 단계; 및 제1 브로커가, 제1 함수를 제1 클라이언트에게 제공하는 단계;를 포함한다.
본 발명에 따른 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제1 클라이언트가, 제1 브로커에게 제2 함수를 요청하는 단계; 제1 브로커가, 제2 브로커에게 제2 함수를 요청하는 단계; 및 제2 브로커가, 제2 함수를 제1 클라이언트에게 제공하는 단계;를 더 포함할 수 있다.
제1 브로커는, 제2 함수를 보유하고 있지 않은 것일 수 있다.
본 발명에 따른 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제2 클라이언트가, 제2 브로커에게 제1 함수를 요청하는 단계; 제2 브로커가, 제1 브로커에게 제1 함수를 요청하는 단계; 및 제1 브로커가, 제1 함수를 제2 클라이언트에게 제공하는 단계;를 더 포함할 수 있다.
본 발명에 따른 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제1 클라이언트가, 제1 브로커에게 제3 함수를 요청하는 단계; 제1 브로커가, 제3 함수를 제공하는 제3 브로커를 생성하는 단계;를 더 포함할 수 있다.
본 발명에 따른 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제3 브로커가, 제3 함수를 제공하는 제1 클라이언트에게 제공하는 단계;를 더 포함할 수 있다.
본 발명에 따른 서버리스 클라우드 컴퓨팅 서비스 제공 방법은 제2 클라이언트가, 제2 브로커에게 제3 함수를 요청하는 단계; 제2 브로커가, 제3 브로커에게 제3 함수를 요청하는 단계; 및 제3 브로커가, 제3 함수를 제2 클라이언트에게 제공하는 단계;를 더 포함할 수 있다.
한편, 본 발명의 다른 실시예에 따른, 서버리스 클라우드 컴퓨팅 서비스 제공 시스템은 제1 브로커에게 제1 함수를 요청하는 제1 클라이언트; 및 제1 함수를 제1 클라이언트에게 제공하는 제1 브로커;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여 페이로드를 최소화 할 수 있어, 서버리스 컴퓨팅을 제공하는 클라우드 서비스 구성환경에서 핵심 설계 영역인 API 게이트웨이 구조의 최적화 설계를 통한 저지연, 고효율의 기능 구현이 가능해진다.
또한, 본 발명의 실시예들에 따르면, 서버리스 클라우드 서비스 제공 과정에서 사용자의 서비스 함수 호출, 재 조합형 서비스 요구 등에 대해 최소한의 속도지연과 공간 활용의 극대화를 통해 효율적 정보 전달 및 처리 구현이 가능해진다.
도 1은 기존의 서버리스 API 서비스의 개념 설명에 제공되는 도면,
도 2는 기존의 TCP 통신에서 함수 제공 방식의 설명에 제공되는 도면,
도 3은 본 발명의 일 실시예에 따른 서버리스 API 서비스 방법의 설명에 제공되는 도면,
도 4는 본 발명의 일 실시예에 따른 서버리스 API 서비스 방법의 설명에 제공되는 흐름도,
도 5는, 도 3에 도시된 API 게이트웨이의 하드웨어 구성을 도시한 블럭도, 그리고,
도 6은 본 발명의 일 실시예에 따른 서버리스 컨테이너의 함수(서비스) 제공 방법의 설명에 제공되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
본 발명의 실시예에서는, 서버리스 API 서비스 과정 중 서버리스 클라우드 응용 프로그램의 효율적 확장 및 배포를 위한 아키텍쳐 설계 방안을 제시한다.
본 발명의 실시예에 따른 서버리스 API 서비스 방법은, 텍스트 기반의 표현 언어 이외에 바이너리 형식을 사용하는 표현 언어를 추가 지원하여, 페이로드를 최소화 할 수 있도록 한다.
이를 위해, 본 발명의 실시예에 따른 서버리스 API 서비스 방법은, 바이너리 형식을 사용하여 직렬화하는 Protocol Buffer를 표현 언어로 추가하고, HTTP/2 기반의 gRPC API를 추가로 지원하며, 외부의 REST API와 gRPC API를 동시에 지원한다.
도 3은 본 발명의 일 실시예에 따른 서버리스 API 서비스 방법의 설명에 제공되는 도면이다.
서버리스 API 서비스를 위해, 도 3에 도시된 바와 같이, API 게이트웨이(200)의 Http Request Multiplexer(210)는 API 클라이언트(100)로부터 서비스 요청들을 수신한다.
Http Request Multiplexer(210)가 API 클라이언트(100)로부터 수신하는 서비스 요청들은 다수의 형식으로 표현된다. 구체적으로, gRPC(Remote Procedure Calls) 형식의 서비스 요청, REST(Representational State Transfer) 형식의 서비스 요청을 수신할 수 있다.
즉, API 클라이언트(100)는 자신의 원하는 형식의 언어로 표현된 서비스 요청을 API 게이트웨이(200)로 전달할 수 있다.
API 게이트웨이(200)의 Http Request Multiplexer(210)는 이들을 모두 동일 포트를 통해 수신한다. 즉, Http Request Multiplexer(210)는 동일 포트에서 gRPC API와 REST API를 공유한다.
API 게이트웨이(200)의 gRPC Reverse Proxy(220)는 Http Request Multiplexer(210)를 통해 수신된 서비스 요청들 중 REST 형식의 서비스 요청을 gRPC 형식의 서비스 요청으로 변환한다.
이후, API 게이트웨이(200)의 gRPC Handler(230)는 Http Request Multiplexer(210)로부터 수신한 gRPC 형식의 서비스 요청과 gRPC Reverse Proxy(220)에서 변환된 gRPC 형식의 서비스 요청을 처리한다.
이를 위해, gRPC Handler(230)는 Function Call Service(240)를 통해 해당 펑션을 호출할 수도 있고, Other Service(250)를 통해 서비스 요청을 처리할 수도 있다
도 4는 본 발명의 일 실시예에 따른 서버리스 API 서비스 방법의 설명에 제공되는 흐름도이다. 도 4에 도시된 흐름도는, 도 3의 API 게이트웨이(200)에서 수행되는 절차들로 구성되어 있다.
서버리스 API 서비스를 위해, 먼저, API 게이트웨이(200)의 Http Request Multiplexer(210)는 API 클라이언트(100)로부터 서비스 요청들을 수신한다(S410). S410단계에서는 gRPC 형식과 REST 형식의 서비스 요청 모두 수신이 가능하다.
만약, S410단계에서 수신한 서비스 요청이 gRPC 형식의 서비스 요청이 아닌 REST 형식의 서비스 요청이면(S420-N), gRPC Reverse Proxy(220)는 S410단계에서 수신된 REST 형식의 서비스 요청을 gRPC 형식의 서비스 요청으로 변환한다(S430).
다음, gRPC Handler(230)는 S410단계에서 수신된 gRPC 형식의 서비스 요청 또는 S430단계에서 변환된 gRPC 형식의 서비스 요청을 처리한다(S440). S440단계에서, gRPC Handler(230)는 Function Call Service(240)를 통해 해당 펑션을 호출할 수도 있고, Other Service(250)를 통해 서비스 요청을 처리할 수도 있다.
도 5는, 도 3에 도시된 API 게이트웨이(200)의 하드웨어 구성을 도시한 블럭도이다. API 게이트웨이(200)는, 도 5에 도시된 바와 같이, 통신부(201), 프로세서(202) 및 저장부(203)를 포함한다.
통신부(201)는 클라이언트(100)와 통신하고 클라우드 시스템과 통신하는 통신 인터페이스 수단이다.
프로세서(202)는 API 게이트웨이(200)의 전반적인 동작을 수행, 구체적으로, 도 3에서 API 게이트웨이(200)가 수행하는 동작 및 도 4에 도시된 알고리즘을 수행한다.
저장부(203)는 프로세서(202)가 동작하고 기능함에 있어 필요한 저장공간을 제공하는 저장매체이다.
지금까지, 바이너리와 텍스트 전송을 동시에 지원하는 서버리스 API 서비스 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.
본 발명의 실시예에서는, 서버리스 컴퓨팅 서비스 영역에서 높은 지연시간 및 네트워크 오버헤드 감소를 위해 다중 API 제공에 관한 게이트웨이 구조 설계 방안을 제시하였다.
본 발명의 실시예에 따른 서버리스 API 서비스 방법은, 서버리스 컴퓨팅을 제공하는 클라우드 서비스 구성환경에서 핵심 설계 영역인 API 게이트웨이 구조 최적화 설계를 통한 저지연, 고효율의 기능을 구현한다.
이를 위해, 동일 포트에서 gRPC API와 REST API를 공유하고, gRPC 서버 구현을 통한 함수 호출의 지연 시간 최소화하며, HTTP/2 기반의 gRPC 사용을 통한 네트워크 성능을 향상시켰다.
도 6은 본 발명의 일 실시예에 따른 서버리스 컨테이너의 함수(서비스) 제공 방법의 설명에 제공되는 도면이다.
본 발명의 실시예에 따른 함수 제공 방법에서는, 클라이언트가 컨테이너 내부의 서비스 함수를 호출하여 사용하는데, 브로커들을 통한 컨테이너 간 자체 통신 등을 통해 원하는 함수를 유연하게 제공받을 수 있다.
또한, 클라이언트는 위 방법을 통해 제공된 각 함수 간의 조합, 배치 및 재배치를 통해 새로운 서비스를 실현하여, 서버리스 클라우드 응용 프로그램의 서비스 조합이 가능해진다.
본 발명의 실시예에서는, 브로커들 간의 연계를 통해 함수를 제공하므로, 함수 조합 클라이언트 및 사용자의 관여를 최소화할 수 있다. 나아가, 유연하고 간편한 함수 제공을 통해, 매우 다양한 서비스 조합이 가능하여, 새로운 서비스 구현이 용이하다.
도 6에 도시된 바와 같이 서비리스 클라우드에는, 다수의 브로커들(610, 620, 630, 640, 650)이 상호 연결/연계되어 있다. 그리고, 클라이언트들(610, 620, 630)과 브로커들(610, 620, 630, 640, 650) 간의 통신은 바이너리 통신 방식에 의한다.
도 6에 도시된 바에 따르면, 클라이언트 A(510)는 브로커 A(610)에게 함수 A를 요청하고 있다. 브로커 A(610)는 함수 A를 보유하고 있으므로, 클라이언트 A(510)에게 함수 A를 제공한다.
그리고, 클라이언트 B(520)는 브로커 B(620)에게 함수 C를 요청하고 있다. g하지만, 브로커 B(620)는 함수 B를 보유하고 있지 않으므로, 브로커 B(620)가 브로커 A(610)에게 함수 B를 요청한다.
하지만, 브로커 A(610)도 함수 C를 보유하고 있지 않으므로, 브로커 A(610)는 브로커 C(630)에게 함수 C를 요청한다. 브로커 C(630)에게 함수 C를 보유하고 있으므로, 클라이언트 B(520)에게 함수 C를 제공한다.
한편, 클라이언트 C(530)는 브로커 D(640)에게 함수 N을 요청하고 있다. 브로커 D(610)는 함수 N를 보유하고 있지 않으므로, 브로커 A(610)에게 함수 N을 요청한다.
브로커 A(610)는 함수 N을 보유하고 있지 않다. 또한, 브로커 A(610)는 다른 브로커들(620, 630, 640)도 함수 N을 보유하고 있지 않음을 인지하고 있다. 여기서의 인지는 사전에 보유한 정보를 통한 인지는 물론 주변 브로커들에 의한 요청 실페를 통한 인지 모두 가능하다.
이에, 브로커 A(610)는 함수 N을 보유하고 있는 새로운 브로커 N(650)을 생성한다.
그리고, 브로커 A(610)는 브로커 N(650)에 함수 N을 요청하고 있다. 그러면, 브로커 N(650)은 클라이언트 A(510)에게 함수 N을 제공한다.
클라이언트들(510, 520, 530)은 위 방법을 통해 브로커들(610, 620, 630, 640, 650)로부터 다수의 함수들을 제공받을 수 있으며, 제공받은 함수들을 조합, 배치 및 재배치를 통해 새로운 서비스를 실현하여, 서버리스 클라우드 응용 프로그램의 서비스를 조합할 수 있다.
또한, 본 발명의 실시예에서는, 브로커들 간의 연계를 통해 함수를 제공하므로, 함수 조합 클라이언트 및 사용자의 관여를 최소화할 수 있다. 나아가, 유연하고 간편한 함수 제공을 통해, 매우 다양한 서비스 조합이 가능하여, 새로운 서비스 구현이 용이하다.
지금까지, 서버리스 컨테이너의 서비스 조합 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.
위 실시예에서는, 서버리스 컴퓨팅 서비스 영역에서 각 기능별 호출 및 서비스 조합에 따른 시간적, 공간적 효율성을 극대화하기 위한 통신환경 구조 설계하였다.
본 발명의 실시예에서는, 서버리스 클라우드 서비스 제공 과정에서 사용자의 서비스 함수 호출, 재 조합형 서비스 요구 등에 대해 최소한의 속도지연과 공간 활용의 극대화를 통해 효율적 정보전달 및 처리에 관한 기능 구현이 가능하다.
또한, 본 발명의 실시예에서는, 바이너리 통신방법을 사용하여 서비스 제공 시간을 단축하였고, 함수 조합을 통한 새로운 서비스 제공에서의 환경 리소스를 최소화하였으며, 함수 조합에 관한 네트워크 성능을 향상시켰다.
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.

Claims (16)

  1. API 클라이언트로부터 다수의 형식으로 표현된 서비스 요청들을 수신하는 단계;
    수신된 서비스 요청들 중 제2 형식으로 표현된 서비스 요청을 제1 형식으로 표현된 서비스 요청으로 변환하는 단계;
    제1 형식으로 표현된 서비스 요청을 처리하는 단계;를 포함하는 것을 특징으로 하는 API 서비스 방법.
  2. 청구항 1에 있어서,
    수신 단계는,
    동일 포트를 통해 서비스 요청들을 수신하는 것을 특징으로 하는 API 서비스 방법.
  3. 청구항 1에 있어서,
    제1 형식은,
    바이너리 기반의 언어로 표현된 형식인 것을 특징으로 하는 API 서비스 방법.
  4. 청구항 3에 있어서,
    제1 형식은,
    RPC(Remote Procedure Calls) 형식인 것을 특징으로 하는 API 서비스 방법.
  5. 청구항 3에 있어서,
    제2 형식은,
    텍스트 기반의 언어로 표현된 형식인 것을 특징으로 하는 API 서비스 방법.
  6. 청구항 5에 있어서,
    제2 형식은,
    REST(Representational State Transfer) 형식인 것을 특징으로 하는 API 서비스 방법.
  7. 청구항 1에 있어서,
    처리 단계는,
    서비스 요청을 위한 펑션을 호출하는 것을 특징으로 하는 API 서비스 방법.
  8. API 클라이언트로부터 수신된 서비스 요청들 중 제2 형식으로 표현된 서비스 요청을 제1 형식으로 표현된 서비스 요청으로 변환하는 프록시; 및
    제1 형식으로 표현된 서비스 요청을 처리하는 핸들러;를 포함하는 것을 특징으로 하는 API 게이트웨이.
  9. 제1 클라이언트가, 제1 브로커에게 제1 함수를 요청하는 단계; 및
    제1 브로커가, 제1 함수를 제1 클라이언트에게 제공하는 단계;를 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  10. 청구항 9에 있어서,
    제1 클라이언트가, 제1 브로커에게 제2 함수를 요청하는 단계;
    제1 브로커가, 제2 브로커에게 제2 함수를 요청하는 단계; 및
    제2 브로커가, 제2 함수를 제1 클라이언트에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  11. 청구항 10에 있어서,
    제1 브로커는,
    제2 함수를 보유하고 있지 않은 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  12. 청구항 9에 있어서,
    제2 클라이언트가, 제2 브로커에게 제1 함수를 요청하는 단계;
    제2 브로커가, 제1 브로커에게 제1 함수를 요청하는 단계; 및
    제1 브로커가, 제1 함수를 제2 클라이언트에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  13. 청구항 9에 있어서,
    제1 클라이언트가, 제1 브로커에게 제3 함수를 요청하는 단계;
    제1 브로커가, 제3 함수를 제공하는 제3 브로커를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  14. 청구항 13에 있어서,
    제3 브로커가, 제3 함수를 제공하는 제1 클라이언트에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  15. 청구항 14에 있어서,
    제2 클라이언트가, 제2 브로커에게 제3 함수를 요청하는 단계;
    제2 브로커가, 제3 브로커에게 제3 함수를 요청하는 단계; 및
    제3 브로커가, 제3 함수를 제2 클라이언트에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 방법.
  16. 제1 브로커에게 제1 함수를 요청하는 제1 클라이언트; 및
    제1 함수를 제1 클라이언트에게 제공하는 제1 브로커;를 포함하는 것을 특징으로 하는 서버리스 클라우드 컴퓨팅 서비스 제공 시스템.
PCT/KR2019/014315 2018-11-15 2019-10-29 서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법 WO2020101223A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0140521 2018-11-15
KR1020180140521A KR20200056620A (ko) 2018-11-15 2018-11-15 바이너리와 텍스트 전송을 동시에 지원하는 서버리스 api 서비스 방법
KR10-2018-0146172 2018-11-23
KR1020180146172A KR102310523B1 (ko) 2018-11-23 2018-11-23 서버리스 컨테이너의 서비스 조합 방법

Publications (1)

Publication Number Publication Date
WO2020101223A1 true WO2020101223A1 (ko) 2020-05-22

Family

ID=70731535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/014315 WO2020101223A1 (ko) 2018-11-15 2019-10-29 서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법

Country Status (1)

Country Link
WO (1) WO2020101223A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866157A (zh) * 2020-07-28 2020-10-30 中国银行股份有限公司 云服务网关及云服务内外请求格式转换方法
CN115623053A (zh) * 2022-08-12 2023-01-17 华能烟台八角热电有限公司 一种基于api网关的数据管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184657A1 (en) * 2000-09-06 2006-08-17 Xanboo, Inc. Service broker for processing data from a data network
US20130346479A1 (en) * 2009-11-25 2013-12-26 Stephen D. Vilke Systems and Algorithm For Interfacing with a Virtualized Computing Service Over a Network Using a Lightweight Client
US20180203744A1 (en) * 2017-01-09 2018-07-19 Alexander WIESMAIER Data ingestion and analytics platform with systems, methods and computer program products useful in conjunction therewith
US10091297B1 (en) * 2016-05-18 2018-10-02 EMC IP Holding Company LLC Data processing and data movement in cloud computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184657A1 (en) * 2000-09-06 2006-08-17 Xanboo, Inc. Service broker for processing data from a data network
US20130346479A1 (en) * 2009-11-25 2013-12-26 Stephen D. Vilke Systems and Algorithm For Interfacing with a Virtualized Computing Service Over a Network Using a Lightweight Client
US10091297B1 (en) * 2016-05-18 2018-10-02 EMC IP Holding Company LLC Data processing and data movement in cloud computing environment
US20180203744A1 (en) * 2017-01-09 2018-07-19 Alexander WIESMAIER Data ingestion and analytics platform with systems, methods and computer program products useful in conjunction therewith

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BRANDON PHILLIPS, GRPC WITH REST AND OPEN APIS, 9 May 2016 (2016-05-09), pages 1 - 3, XP055708338, Retrieved from the Internet <URL:https://grpc.io/blog/coreos> [retrieved on 20200117] *
MACIEJ TREDER: "How to Write Your Own Serverless Framework Plugin for AWS Lambda using JavaScript", 26 October 2017 (2017-10-26), XP055708333, Retrieved from the Internet <URL:https://www.twilio.com/blog/2017/10/serverless-framework-plugin-aws-lambda-javascript.html> [retrieved on 20200117] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866157A (zh) * 2020-07-28 2020-10-30 中国银行股份有限公司 云服务网关及云服务内外请求格式转换方法
CN111866157B (zh) * 2020-07-28 2022-09-23 中国银行股份有限公司 云服务网关及云服务内外请求格式转换方法
CN115623053A (zh) * 2022-08-12 2023-01-17 华能烟台八角热电有限公司 一种基于api网关的数据管理方法及系统

Similar Documents

Publication Publication Date Title
JP6014254B2 (ja) 通信の方法及びシステム
US9407730B2 (en) Relay apparatus, relay control method, and recording medium having relay control program recorded therein
US6600743B1 (en) IP multicast interface
AU2014200239B2 (en) System and method for multiple sender support in low latency fifo messaging using rdma
US20020075878A1 (en) Ip multicast interface
WO2020101223A1 (ko) 서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법
CN115134245A (zh) 用于云与电信网络之间的网络分组处理的技术
US6640206B1 (en) Peer networking in concentrated computer clusters
CN111107586B (zh) 一种bbu前传数据的处理方法及系统
US10609125B2 (en) Method and system for transmitting communication data
WO2019132314A1 (ko) 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법
CN112968965B (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
CN115514651B (zh) 基于软件定义层叠网的云边数据传输路径规划方法及系统
CN111314213B (zh) 一种跨局域网络的通讯网关系统
Wang et al. vSocket: virtual socket interface for RDMA in public clouds
CN117240935A (zh) 基于dpu的数据平面转发方法、装置、设备及介质
WO2021210801A1 (ko) 이동 통신 네트워크에서 동적이고 효율적인 로드 밸런싱을 위한 방법 및 장치
CN113747373B (zh) 消息处理系统、装置和方法
CN114884750B (zh) 访问的处理方法、访问处理系统及计算机系统
CN116582590A (zh) 数据传输方法及装置
WO2022119019A1 (ko) 엔지에스아이-엘디 에이피아이 구독 래핑 방법
KR20200056620A (ko) 바이너리와 텍스트 전송을 동시에 지원하는 서버리스 api 서비스 방법
Huawei Engineering Network Design of Railway Information System Based on K8S Platform
WO2020080843A1 (en) Method and apparatus for controlling packet flow
WO2020105765A1 (ko) LoRa 통신을 이용한 M2M 플랫폼 연동 방법 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19883986

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19883986

Country of ref document: EP

Kind code of ref document: A1