KR102559351B1 - 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 - Google Patents

디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 Download PDF

Info

Publication number
KR102559351B1
KR102559351B1 KR1020220190176A KR20220190176A KR102559351B1 KR 102559351 B1 KR102559351 B1 KR 102559351B1 KR 1020220190176 A KR1020220190176 A KR 1020220190176A KR 20220190176 A KR20220190176 A KR 20220190176A KR 102559351 B1 KR102559351 B1 KR 102559351B1
Authority
KR
South Korea
Prior art keywords
server
traffic
service
information
service server
Prior art date
Application number
KR1020220190176A
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 KR1020220190176A priority Critical patent/KR102559351B1/ko
Application granted granted Critical
Publication of KR102559351B1 publication Critical patent/KR102559351B1/ko

Links

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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services

Abstract

디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버가 개시된다. 본 발명의 일 실시예에 따른 진입 관리 서버는, 통신부; 통신부와 연결되어 클라우드 기반 서비스 서버 내 리소스 상태를 관리하기 위한 프로세서;를 포함하고, 프로세서는, EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집하고, EUM 정보를 기초로 트래픽 처리량을 결정하고, 서비스 서버 정보를 기초로 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하고, 및 결정된 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향하도록 리소스 최적화 서버로 스펙 조정 요청을 전송한다.

Description

디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버{RESOURCE OPTIMIZATION SYSTEM AND ENTRY MANAGEMENT SERVER USING TRAFFIC SPIKE FLATTENING TECHNOLOGY BASED ON DIGITAL SERVICE}
본 개시는 서비스 서버의 리소스 상태를 관리하기 위한 방법에 관한 것이다. 보다 상세하게는, 본 개시는 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버에 관한 것이다.
수강신청, 콘서트 예약 및 구매 이벤트 등의 콘텐츠 서비스를 제공하는 서비스 서버의 동시 접속자가 증가함에 따라, 콘텐츠 서비스를 제공하는 서비스 서버측의 응답속도가 저하되거나 서비스가 중단되는 등의 상황이 종종 발생하고 있는 실정이다.
서비스 서버는 HTML(hypertext markup language)로 구성된 웹 페이지를 제공하는 WEB, WEB으로부터 전달된 요청 메시지에 대한 응용 프로그램 서비스를 처리하는 WAS(web application server) 및 쿼리문에 대한 응답으로 제공할 수 있는 데이터를 저장하는 데이터베이스로 구성될 수 있다.
상술한 서비스 서버는 클라우드 환경으로부터 리소스를 할당받는 클라우드 기반으로 구현될 수 있다.
한편, 서비스 서버가 최초 클라우드 기반 서버 방식을 도입하거나, 또는 초기 서비스 사업 시 적절한 서버 스펙을 결정하는 것이 용이하지 않을 수 있다. 이에, 클라우드 기반 서비스 서버를 운영하는 과정에서 기업의 관리자들은 안정성을 이유로 필요한 리소스 스펙보다 더 많은 자원을 서버에 할당하고 있다. 이는, 서비스 안정성은 유지할 수 있지만, 비용 효율화 측면에서 불필요한 비용 소비를 발생시킬 수 있다.
대한민국 등록특허공보 제10-1654266호 (2016. 08. 30.)
본 개시에 개시된 실시예는 클라우드 기반 서비스 서버 내 서버 증설 및 감축을 이용하여 리소스 상태를 관리하기 위한 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버를 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버는, 통신부; 상기 통신부와 연결되어 클라우드 기반 서비스 서버 내 리소스 상태를 관리하기 위한 프로세서;를 포함하고, 상기 프로세서는, EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집하고, 상기 EUM 정보를 기초로 트래픽 처리량을 결정하고, 상기 서비스 서버 정보를 기초로 상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하고, 및 결정된 상기 제1 서버 스펙에 따라 상기 서비스 서버의 스펙을 상향 또는 하향하도록 리소스 최적화 서버로 스펙 조정 요청을 전송하며, 상기 서비스 서버의 스펙을 상향 또는 하향하는 것은 상기 서비스 서버 내 가상 서버를 증설 또는 감축하는 것일 수 있다.
상기 프로세서는, 이동 평균(moving average)을 획득할 구간을 설정하고, 설정된 상기 구간의 트래픽 이동 평균을 산출하고, 산출된 상기 트래픽 이동 평균에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 특정 시기의 상기 트래픽 처리량을 결정하고, 및 상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
상기 프로세서는, 상기 서비스 서버 및 상기 서비스 서버로부터 제공되는 이벤트와 유사한 서비스 서버의 유사 이벤트별 과거 트래픽 이력을 기초로 기 학습된 인공지능 모델에 상기 EUM 정보를 입력하여 특정 시기의 트래픽을 예측하고, 예측된 상기 트래픽에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 상기 트래픽 처리량을 결정하고, 및 상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
상기 프로세서는, 상기 제1 서버 스펙에서의 최대 동시 접속량을 고려하여 상기 서비스 서버로의 진입 허용 수를 결정할 수 있다.
상기 프로세서는, 상기 서비스 서버의 리소스 실사용량을 모니터링하고, 및 모니터링 결과에 따라 상기 진입 허용 수를 보정할 수 있다.
상기 프로세서는, 상기 EUM 정보 및 상기 서비스 서버 정보를 기초로 상기 서비스 서버 내 가상 서버의 트래픽 처리 가능량 및 처리 예정 트래픽을 감지하고, 상기 처리 예정 트래픽이 상기 가상 서버의 트래픽 처리 가능량을 초과하는 경우, 사용자 단말의 대기열에서의 평균대기 시간을 기초한 대기비용 및 추가 스펙 상향 조정 비용을 산출하고, 상기 대기비용 및 상기 추가 스펙 상향 조정 비용을 비교하고, 및 상기 비교결과를 기초로 대기열을 생성하거나, 또는 리소스 최적화 서버를 통해 추가 스펙 상향 조정을 수행하도록 할 수 있다.
상기 프로세서는, 상기 추가 스펙 상향 조정 비용 산출 시, 추가 스펙 상향 조정이 완료되기 전까지의 임시 대기열에서의 사용자 단말의 평균대기 시간을 기초로 임시 대기비용을 추가 고려하여 상기 추가 스펙 상향 조정 비용을 산출할 수 있다.
또한, 본 개시에 다른 측면에 따른 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템은, EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집하고, 상기 EUM 정보를 기초로 트래픽 처리량을 결정하며, 상기 서비스 서버 정보를 기초로 상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하는 진입 관리 서버; 및 상기 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향하되, 상기 서비스 서버 내 가상 서버를 증설 또는 감축하여 상기 서비스 서버의 스펙을 조정하는 리소스 최적화 서버;를 포함할 수 있다.
상기 진입 관리 서버는, 제1 진입 관리 서버; 및 제2 진입 관리 서버;를 포함하고, 상기 제1 진입 관리 서버는, 사용자 단말로부터 수집한 상기 EUM 정보 및 상기 제2 진입 관리 서버로부터 수신한 상기 서비스 서버 정보를 기초로 상기 서비스 서버 내 가상 서버의 트래픽 처리 가능량 및 처리 예정 트래픽을 감지하고, 및 상기 처리 예정 트래픽이 상기 가상 서버의 트래픽 처리 가능량을 초과하는 경우, 대기열을 생성하고, 상기 리소스 최적화 서버로 제1 서버 스펙을 포함하는 스펙 조정 요청을 전송하며, 상기 제2 진입 관리 서버는, 상기 서비스 서버로부터 상기 서비스 서버 정보를 수집하여 상기 제1 진입 관리 서버로 전달할 수 있다.
또한, 본 개시에 다른 측면에 따른 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템은, EUM(end-user monitoring) 정보를 기초로 트래픽 처리량을 결정하며, 서비스 서버 정보를 기초로 상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하는 진입 관리 서버; 상기 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향하는 리소스 최적화 서버; 및 콘텐츠 서비스와 관련되어 전송되는 사용자 단말의 요청을 수신하면 이를 처리하여 응답을 회신하는 서비스 서버;를 포함하고, 상기 서비스 서버는, 복수의 제2 서버 중 상기 사용자 단말의 요청을 처리할 제2 서버를 결정하되, 상기 복수의 제2 서버 각각의 현재 잔여 처리 가능량을 기초로 상기 제2 서버를 결정하는 제1 서버, 증설 및 감축이 가능한 가성머신으로 구성되어, 상기 사용자 단말의 요청을 처리하여 응답을 회신하는 복수의 제2 서버를 포함할 수 있다.
이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 클라우드 기반 서비스 서버의 상태 정보 및 EUM(end-user monitoring) 정보를 기초로 트래픽 처리량을 예측하고 이를 기초로 서버 스펙을 조정하기 때문에, 유동적인 트래픽에 대응할 수 있는 최적의 서비스 서버의 스펙을 결정할 수 있고, 이로 인해 서비스 서버의 리소스 상태를 효율적으로 관리할 수 있다는 효과를 제공할 수 있다.
본 개시의 전술환 과제 해결 수단에 의하면, 서버 스펙을 추가 조정하기 이전에 서비스 서버로의 진입 관리를 위한 대기열 생성 비용 및 추가 서버 스펙 조정 비용을 비교하고, 비교 결과에 따라 대기열 생성 또는 추가 서버 스펙 조정을 수행하기 때문에, 비용 절감과 서비스 서버 운영 안정성을 동시에 만족시킬 수 있다는 효과를 기대할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 리소스 최적화 시스템과 타 구성 간의 연결 관계를 나타내는 도면
도 2는 본 개시의 리소스 최적화 시스템의 일 예를 나타내는 도면
도 3은 본 개시의 진입 관리 서버의 구성을 나타내는 블록도
도 4 및 도 5는 본 개시의 리소스 최적화 방법을 설명하기 위한 예시도
도 6은 본 개시의 리소스 최적화 시스템의 다른 예를 나타내는 도면
도 7은 본 개시의 리소스 최적화 시스템의 다른 예를 나타내는 도면
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
본 명세서에서 '본 개시에 따른 진입 관리 서버'는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 진입 관리 서버는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.
상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device, HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
도 1은 본 개시의 리소스 최적화 시스템과 타 구성 간의 연결 관계를 나타내는 도면이다.
도 1을 참고하면, 리소스 최적화 시스템(10)은 진입 관리 서버(100) 및 리소스 최적화 서버(200)를 포함할 수 있다.
진입 관리 서버(100)는 사용자 단말(End-User(Browser))(400)과 서비스 서버(300) 사이에 위치하여, 사용자 단말(400)의 서비스 서버(300)로의 진입을 관리할 수 있다.
진입 관리 서버(100)는 서비스 서버(300)로의 진입을 요청하는 사용자 단말(400)에 대해 차단, 우회 및 진입 허용 관리의 절차를 수행할 수 있다.
상기 차단은 초당 접근 수가 매크로 수준인 경우, 차단 정보를 사용자 단말(400)로 전송하여 특정 액션을 발생시키는 버튼(예를 들어, 제출 및 확인 등)을 선택하지 못하도록 차단하는 절차를 의미할 수 있다.
상기 우회는 서비스 서버(300)로의 진입을 대기하기 위한 대기열이 발생한 상태여도 특정한 정책이나 주요 클라이언트인 경우, 대기하지 않고 서비스 서버(300)로 바로 진입하도록 우회시키는 절차를 의미할 수 있다.
상기 진입 허용 관리는 서비스 서버(300)로의 진입을 위한 정상적인 대기 관리를 의미하는 것으로서, 진입 허용 수를 기초로 진입을 제어하여 콘텐츠 서비스를 제공하는 서비스 서버(300)의 리소스 또는 상태를 관리하는 절차를 의미할 수 있다.
이때, 진입 허용 수는 진입 관리 서버(100)의 키(key)를 발급받아 해당 시간에 서비스 서버(300)의 특정 트랜잭션(예를 들어, 로그인 버튼, 수강 신청 버튼 등)에 동시 진입이 가능한 사용자 수를 의미할 수 있다. 이때, 사용자 수는 실질적으로 사용자 단말(400)을 통해 서비스 서버(300)로 진입할 수 있는 사용자 단말(400) 수를 의미할 수 있다.
예를 들어, 수강 신청 서비스를 제공하는 서비스 서버(300)로의 진입 허용 수가 50명이고, 55명이 동일 시간에 수강신청 버튼을 선택한 경우, 진입 관리 서버(100)는 50명에 대해서는 서비스 서버(300)로의 동시 입장이 가능하도록 하나, 5명에 대해서는 대기열에 배치될 수 있도록 처리할 수 있다. 이후, 50명의 서비스 서버(300)로의 진입이 완료됨과 동시에 발급된 키가 회수되면, 회수된 키는 대기열에 배치된 5명에게 다시 발급되어 순차 입장될 수 있다.
본 개시의 진입 관리 서버(100)는 서비스 서버(300)의 CPU 사용량을 비롯한 서비스 서버 정보 및 사용자 단말(400)로부터 수집한 EUM(end-user monitoring) 정보를 이용하여 트래픽 처리량에 대응되는 서버 스펙을 결정하고, 이를 기초로 서비스 서버(300) 내 서버 스펙을 상향 또는 하향 조정하도록 할 수 있다.
리소스 최적화 서버(200)는 진입 관리 서버(100)로부터 전송되는 스펙 조정 요청을 수신하면, 이에 따라 서비스 서버(300) 내 가상머신으로 구성된 가상 서버(도 2의 제2 서버)를 증설 또는 감축할 수 있다.
서비스 서버(300)는 웹(web) 서버, 웹 애플리케이션 서버(web application server, 이하, WAS라고 하기로 함) 및 DB(database) 서버를 포함할 수 있다. 이때, DB 서버는 데이터베이스 관리 시스템(database management system, DBMS)이라 하는 것도 가능하다.
서비스 서버(300)는 클라우드 기반 서버로, 웹 서비스를 구현하기 위해 클라우드 환경(amazon web services, AWS)으로부터 리소스를 할당받을 수 있다. 이때, 클라우드 환경은 CSP(cloud service provider), MSP(managed service provider) 등의 클라우드 사업자에 의해서 운용될 수 있다.
클라우드 환경을 운영하는 사업자는 CSP 및 MSP로 구분되는데, CSP는 아마존웹서비스(AWS), 마이크로소프트, 구글, IBM, 오라클 등과 같은 1차 서비스 공급자이고, MSP는 메가존 클라우드 등과 같은 CSP와 고객을 중개하는 2차 서비스 유통 및 컨설팅 등의 역할을 수행할 수 있다.
구체적으로, 클라우드 기반 서비스 서버의 리소스 스펙 등을 서비스 서버측에서 직접 설정해야 하는데, 이에 어려움이 있으므로, MSP들은 중간에서 리소스 스펙 설정 등을 컨설팅 해주는 역할을 수행할 수 있다. MSP들은 일시적인 트래픽 증가(예를 들어, 트래픽 스파이크)에 따른 여유 리소스를 고려해야 하기 때문에, 클라우드 기반 서비스 서버 내 적절한 자원 관리를 수행하는 것이 용이하지 않을 수 있다.
또한, CSP의 경우 리소스 스펙 설정 등의 가이드 정도만 제공하기 때문에, 서비스 서버가 리소스 스펙 설정 등을 자체 결정해야 한다.
상술한 클라우드 기반의 서비스 서버(300)는 스펙과 가동시간에 따라 과금되기 때문에, 적절한 리소스 상태로 서버를 유지하는 것이 요구된다.
웹 서버는 HTTP(hypertext transfer protocol) 프로토콜을 기반으로 웹 브라우저 또는 웹 크롤러와 같은 클라이언트의 요청을 주로 처리하는 서버를 의미하는 것으로, HTTP 요청(request)을 수신하면 이에 대한 HTTP 응답(response)을 회신할 수 있다.
예를 들어, 웹 서버는 파일 경로 이름을 수신하여 경로와 일치하는 정적(static)인 형태의 파일 콘텐츠(html, jpeg, css 등)를 반환할 수 있다.
웹 서버는 동적인 컨텐츠 제공을 위한 요청을 WAS로 전달하고, 이에 대한 처리 결과를 WAS로부터 수신하여 클라이언트에게 전달할 수 있다.
WAS는 HTTP를 이용한 애플리케이션 서버를 의미하는 것으로, 정적인 HTTP 데이터 처리에 특화된 웹 서버에 동적인 데이터를 이용할 수 있도록 하는 컨테이너(container)를 포함할 수 있다.
WAS는 DB 서버 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위한 애플리케이션 서버일 수 있다. 상기, WAS는 HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행하여 주는 미들웨어(소프트웨어 엔진)일 수 있다. WAS는 웹 컨테이너(web container) 또는 서블릿 컨테이너(servlet container)라고 명명하는 것도 가능하다. 이때, 컨테이너는 JSP 및 Servlet을 실행시킬 수 있는 소프트웨어를 의미할 수 있다.
WAS는 분산 트랜잭션, 보안, 메시징, 스레드 처리 등의 기능을 처리하는 분산 환경에서 적용될 수 있다.
구체적으로, WAS는 프로그램 실행 환경과 DB 서버의 접속 기능 및 다수의 트랜잭션 관리 기능을 구현할 수 있다. 상기 트랜잭션은 논리적인 작업 단위를 의미할 수 있다.
WAS는 사용자의 요청에 따라 DB(database) 서버로부터 해당 데이터를 수신하여, 비즈니스 로직에 맞게 실시간으로 결과를 생성하여 제공할 수 있다. 상기 WAS는 복수 개로 구현될 수 있으며, 각 서비스 서버(300)마다 적용하는 WAS의 개수가 상이할 수 있다.
DB 서버는 데이터를 저장 및 관리하는 구성을 의미할 수 있다. 이때, DB 서버는 WAS의 요청에 따라 해당 데이터를 회신할 수 있다.
도 2는 본 개시의 리소스 최적화 시스템의 일 예를 나타내는 도면이다.
도 2를 참고하면, 리소스 최적화 시스템(10)은 진입 관리 서버(100) 및 리소스 최적화 서버(200)를 포함할 수 있다.
진입 관리 서버(100)는 EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집하고, EUM 정보를 기초로 트래픽 처리량을 결정할 수 있다.
구체적으로, 진입 관리 서버(100)는 사용자 단말(400)에 설치된 모니터링 에이전트를 통해 실시간 트래픽을 감지하여 EUM 정보를 수집할 수 있다. 이때, EUM 정보는 페이지, 호출건수, 응답시간, APDEX(품질지수; 응답시간을 기준으로 산출함) 등을 포함할 수 있다. 상기 응답시간은 페이지 업로드 시점, 사용자 진입 요청 시 페이지 로딩 완료때까지 걸린 시간 등의 데이터를 기초로 산출될 수 있다.
또한, 진입 관리 서버(100)는 서비스 서버(300)의 WAS를 모니터링하도록 설치된 별도의 APM(application performance management)을 통해 CPU 사용량, CPU 처리량, 응답시간, 액티브 사용자, 에러율 등 다양한 지표를 포함하는 서비스 서버 정보를 수집할 수 있다.
도시하지 않았지만, 도 2에서 도시하는 서비스 서버(300) 내 제1 서버(310), 복수의 제2 서버(320) 및 DB 서버(330) 각각은 에이전트가 설치될 수 있다. 이때, 각각의 에이전트는 자신이 설치된 서버(구성요소)의 정보를 수집하여 진입 관리 서버(100) 또는 리소스 최적화 서버(200)로 전달할 수 있다. 상기 제1 서버(310)는 로드 밸런서 또는 API 게이트웨이, 제2 서버(320)는 WAS일 수 있다. 제2 서버(320)에 설치된 에이전트는 APM이라고 명명할 수도 있다.
진입 관리 서버(100)는 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다. 상기 제1 서버 스펙 및 후술하는 제2 서버 스펙은 CPU, 메모리, 스토리지 및 네트워킹 용량의 다양한 조합으로 구성된 인스턴스 유형일 수 있다. 상기 인스턴스 유형은 애플리케이션 서버(본 개시에서 제2 서버, WAS)에 따라 적합한 리소스 조합을 선택할 수 있는 유연성을 제공할 수 있다. 각 인스턴스 유형은 하나 이상의 인스턴스 크기를 포함하고 있으므로 목표로 하는 워크로드 요구 사항까지 리소스를 확장할 수 있다.
진입 관리 서버(100)는 사용자 단말(400)로부터 요청이 발생하면, 클라우드 기반의 가상머신으로 구성된 가상 서버(도 2의 제2 서버)를 이용하여 서비스 서버의 스펙을 상향 또는 하향할 수 있도록 제1 서버 스펙을 설정할 수 있다.
이때, 진입 관리 서버(100)는 사용자 단말(400)의 요청을 처리하기 위한 트래픽 처리량에 대응되는 제1 서버 스펙을 기초로 리소스 최적화 서버(200)를 통해 가상 서버를 선택하여 서비스 서버의 스펙을 상향할 수 있다. 서비스 서버의 스펙 하향 역시 이와 동일한 원리가 적용될 수 있다. 상술한 제1 서버 스펙을 결정하는 방법은 도 3을 참고하여 후술하기로 한다.
한편, 진입 관리 서버(100)는 트래픽 스파이크(traffic spike, TS)가 발생하면, 이를 딜레이 없이 모두 처리할 수 있는 트래픽 처리량을 결정하고, 결정된 트래픽 처리량에 대응되는 제2 서버 스펙을 결정할 수 있다.
구체적으로, 진입 관리 서버(100)는 현재 시점을 기준으로 기존 TS 발생량의 누적 평균값을 기반으로, TS 발생 시, 트래픽 처리량에 여유값을 추가한 만큼의 서비스 서버의 스펙을 유지할 수 있도록 제2 서버 스펙을 설정할 수 있다. 이때, 여유값은 운용자의 필요에 따라 설정 및 변경 가능할 수 있다.
리소스 최적화 서버(200)는 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향하되, 서비스 서버(300) 내 가상 서버(제2 서버(320))를 증설 또는 감축하여 서비스 서버(300)의 스펙을 조정할 수 있다.
구체적으로, 리소스 최적화 서버(200)는 서비스 서버(300)의 스펙을 조정할 때, 스케일-업, 스케일 다운, 스케일-아웃 또는 스케일-인을 수행할 수 있다.
상기 스케일-업 또는 스케일-다운은 하나의 제2 서버(320) 내에서 할당하는 램이나 CPU의 개수를 조절함으로써 해당 제2 서버(320)의 스펙을 높이거나 낮춤으로써 수행될 수 있다.
상기 스케일-아웃 또는 스케일-인은 물리적으로 제2 서버(320)의 개수를 증가(out) 시키거나 줄임(in)으로써 수행될 수 있다. 예를 들어, 접속자 폭주가 예상되는 경우, 기존에 하나의 제2 서버(320)를 사용하고 있었다면, 제2 서버(320)의 개수를 5개로 늘림으로써 스케일-아웃을 수행할 수 있다.
도 2를 참고하면, 서비스 서버(300)는 제1 서버(310), 복수의 제2 서버(320), DB 서버(330)를 포함할 수 있다. 이때, 제1 서버(310)는 로드 밸런서 또는 API 게이트웨이이고, 제2 서버(320)는 가상머신(VM)으로 구성된 가상 서버로 WAS일 수 있다.
도 3은 본 개시의 진입 관리 서버의 구성을 나타내는 블록도이다.
이하에서는, 본 개시의 리소스 최적화 방법을 설명하기 위한 예시도인 도 4 및 도 5를 참조하여 설명하기로 한다.
도 3을 참고하면, 진입 관리 서버(100)는 프로세서(110), 메모리(130) 및 통신부(150)를 포함한다. 도 3에 도시된 구성요소들은 본 개시에 따른 진입 관리 서버(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 진입 관리 서버(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
프로세서(110)는 통신부(150)와 연결되어 클라우드 기반 서비스 서버(300) 내 리소스 상태를 관리하기 위한 구성일 수 있다.
구체적으로, 프로세서(110)는 EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집할 수 있다.
구체적으로, 프로세서(110)는 사용자 단말(400)에 설치된 모니터링 에이전트를 통해 실시간 트래픽을 감지하여 EUM 정보를 수집할 수 있다. 이때, EUM 정보는 페이지, 호출건수, 응답시간, APDEX(품질지수; 응답시간을 기준으로 산출함) 등을 포함할 수 있다. 상기 응답시간은 페이지 업로드 시점, 사용자 진입 요청 시 페이지 로딩 완료때까지 걸린 시간 등의 데이터를 기초로 산출될 수 있다.
또한, 프로세서(110)는 서비스 서버(300)의 WAS를 모니터링하도록 설치된 별도의 APM(application performance management)을 통해 CPU 사용량, CPU 처리량, 응답시간, 액티브 사용자, 에러율 등 다양한 지표를 포함하는 서비스 서버 정보를 수집할 수 있다.
프로세서(110)는 EUM 정보를 기초로 트래픽 처리량을 결정할 수 있다. 즉, 프로세서(110)는 호출건수 등과 같은 EUM 정보를 기초로 처리해야 할 트래픽의 양을 획득할 수 있다는 것이다.
프로세서(110)는 서비스 서버 정보를 기초로 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
상기 제1 서버 스펙은 CPU, 메모리, 스토리지 및 네트워킹 용량 등의 다양한 조합으로 구성된 인스턴스 유형일 수 있다. 상기 인스턴스 유형은 애플리케이션 서버(본 개시에서 제2 서버, WAS)에 따라 적합한 리소스 조합을 선택할 수 있는 유연성을 제공할 수 있다. 각 인스턴스 유형은 하나 이상의 인스턴스 크기를 포함하고 있으므로 목표로 하는 워크로드 요구 사항까지 리소스를 확장할 수 있다. 즉, 프로세서(110)는 사용자 단말(300)로부터의 요청을 처리할 때 요구되는 스펙을 고려하여, 제1 서버 스펙을 결정할 수 있다는 것이다. 이에 따라, 제1 서버 스펙은 트래픽 처리량에 대응되게 생성되되, 추가로, 개별단위의 트래픽 성향, 특정 시기에 예상되는 트래픽 성향, 트래픽 발생 빈도를 기초한 트래픽 성향의 우선순위 및 이들의 조합 중 적어도 하나에 따라 스펙의 조합이 상이할 수 있다. 상기 개별단위의 트래픽 성향은 사용자 단말(300)의 단일 요청(예를 들어, 로그인 요청)을 의미할 수 있다.
이하에서는, 트래픽 처리량 및 제1 서버 스펙을 결정하는 방법을 구체적으로 설명하기로 한다.
일 예로, 프로세서(110)는 이동 평균(moving average)을 획득할 구간을 설정하고, 설정된 상기 구간의 트래픽 이동 평균을 산출할 수 있다. 예를 들어, 도 4를 참고하면, 이동 평균을 획득할 구간은 현 시점(40초)을 기준으로 10초 이전까지(30초~40초 구간)일 수 있다.
프로세서(110)는 산출된 트래픽 이동 평균에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산(+α)하여 특정 시기의 트래픽 처리량을 결정할 수 있다. 상기 특정 시기의 트래픽 처리량은 현재 트래픽 처리량을 의미할 수 있다. 또한, 기 설정된 여유값은 운용자에 의해서 임의로 설정되거나, 또는 기 설정된 규칙에 따라 자동으로 설정될 수 있다.
다른 예로, 프로세서(110)는 서비스 서버(300) 및 서비스 서버(300)로부터 제공되는 이벤트와 유사한 서비스 서버의 유사 이벤트별 과거 트래픽 이력을 기초로 기 학습된 제1 인공지능 모델에 EUM 정보를 입력하여 특정 시기의 트래픽을 예측할 수 있다. 이때, 특정 시기는 현재 시기 또는 임의로 설정된 시기일 수 있다.
프로세서(110)는 예측된 트래픽에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 트래픽 처리량을 결정할 수 있다.
프로세서(110)는 결정된 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
프로세서(110)는 결정된 제1 서버 스펙에 따라 서비스 서버(300)의 스펙을 상향 또는 하향하도록 리소스 최적화 서버(200)로 스펙 조정 요청을 전송할 수 있다. 이때, 서비스 서버의 스펙을 상향 또는 하향하는 것은 서비스 서버 내 가상 서버를 증설 또는 감축하는 것을 통해 구현될 수 있다.
다른 예로, 프로세서(110)는 이벤트별 시간, 요일, 날짜 및 발생된 트래픽을 기초로 기 학습된 제2 인공지능 모델을 통해 트래픽을 예측할 수 있다. 예를 들어, 제2 인공지능 모델은 특정 이벤트의 지난 2주간 월요일 9시의 트래픽을 기초로 학습된 상태일 수 있다.
프로세서(110)는 제2 인공지능 모델에 EUM 정보를 입력하여 트래픽을 예측할 수 있다.
프로세서(110)는 예측된 트래픽에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 트래픽 처리량을 결정할 수 있다.
프로세서(110)는 결정된 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
한편, 도 5를 참고하면, 본 개시에서의 제1 서버 스펙(스펙 1)은 트래픽 스파이크 (traffic spike, TS) 발생 시의 트래픽 처리 용량을 처리할 수 있는 제2 서버 스펙(스펙 2) 보다 낮게 설정될 수 있다.
구체적으로, 제2 서버 스펙은 사용자 단말(400)의 요청을 처리하기 위한 리소스 스펙 보다 상대적으로 더 많은 자원을 여유로 할당하여 트래픽 스파이크 발생에 대해서도 딜레이 없이 대응할 수 있도록 설정될 수 있다.
본 개시의 프로세서(110)는 제1 서버 스펙을 상술한 제2 서버 스펙에 비해 낮게 설정할 수 있다. 이렇게, 본 개시의 제1 서버 스펙을 트래픽 처리량과 비교하여 상대적으로 타이트하게 설정하여, TS 발생 시 트래픽을 처리하기 위해서는 제1 서버 스펙만으로는 부족하여 리소스 추가가 요구되는 현상을 의도적으로 유도하는 것이다.
제1 서버 스펙을 적용할 경우, TS 발생 시 딜레이 없이 처리할 수 없으나, TS 구간을 제외한 다른구간에서 유지해야 할 서버 스펙이 낮아 비용이 절감될 수 있다는 효과를 기대할 수 있다.
도 5에서, ①과 ②의 면적은 동일할 수 있다. 즉, 제1 서버 스펙으로 즉시 처리되지 못한 TS 발생 시의 트래픽에 대한 처리는 t2 시점에 처리가 완료될 수 있는 것이다. 이때, t2 시점은 TS 발생 시의 트래픽 처리를 완료한 시점을 의미할 수 있다.
프로세서(110)는 t1 시점에서 대기열을 생성하여 사용자 단말(400)의 요청을 대기할 수 있도록 할 수 있다. 이때, t1 시점은 트래픽이 제1 서버 스펙을 초과한 시점으로, 발생된 트래픽을 제1 서버 스펙으로 처리하지 못하는 시점을 의미할 수 있다.
한편, 프로세서(110)는 제1 서버 스펙의 추가 조정을 통해 서버가 증설되도록 하여, t2가 ③방향으로 단축될 수 있도록 할 수 있다. 이때, 프로세서(110)는 제1 서버 스펙의 추가 조정을 결정할 때, 제1 서버 스펙으로 처리 불가능한 트래픽 처리량 및 처리 불가능한 트래픽의 성향에 대응되는 리소스 조합을 기초로 추가 제1 서버 스펙을 결정할 수 있다. 상기 처리 불가능한 트래픽의 성향에 대응되는 리소스 조합은 처리 불가능한 트래픽을 처리하기 위한 다양한 리소스의 조합을 의미할 수 있다. 예를 들어, 프로세서(110)는 CPU, 메모리, 스토리지 및 네트워킹 용량 등 트래픽을 처리할 리소스를 조합하여 추가 제1 서버 스펙을 생성할 수 있다는 것이다.
상술한 ③방향으로의 단축과 같이, 본 개시는 서버 스펙 추가를 보다 신중하고 정확히 수행할 수 있어, 무분별하게 추가되는 서버 스펙에 대한 비용을 절감할 수 있다는 효과를 기대할 수 있다.
프로세서(110)는 상술한 서버 스펙 1과 서버 스펙 2 각각에 소요되는 비용을 산출하고, 이를 기초로 비용 절감 효과에 따라 시뮬레이션을 수행한 후 결과를 출력할 수 있다.
구체적으로, 프로세서(110)는 제1 서버 스펙을 적용할 때와 제2 서버 스펙을 적용할 때, 스케일-인 또는 스케일-다운을 통해 서버 수를 감축시키거나, 또는 스펙을 낮추는데(ⓐ) 절감되는 비용을 산출하여 비교할 수 있다. 프로세서(110)는 비용 비교 결과를 서비스 서버(300)로 전달하여 운용자가 확인할 수 있도록 할 수 있다.
프로세서(110)는 제1 서버 스펙에서의 최대 동시 접속량을 고려하여 서비스 서버(300)로의 진입 허용 수를 결정할 수 있다.
프로세서(110)는 서비스 서버(300)의 리소스 실사용량을 모니터링하고, 모니터링 결과에 따라 진입 허용 수를 보정할 수 있다.
이하에서는, 스펙 상향 조정 비용 및 대기비용의 비교를 통해 도 5에서 t2를 ③의 방향으로 앞당길지 여부를 결정하는 경우를 예로 들어 설명하기로 한다.
프로세서(110)는 EUM 정보 및 서비스 서버 정보를 기초로 서비스 서버(300) 내 제2 서버(320)(가상 서버)의 트래픽 처리 가능량 및 처리 예정 트래픽을 감지할 수 있다.
프로세서(110)는 처리 예정 트래픽이 가상 서버의 트래픽 처리 가능량을 초과하는 경우, 사용자 단말(400)의 대기열에서의 평균대기 시간을 기초한 대기비용 및 추가 스펙 상향 조정 비용을 산출할 수 있다.
이때, 대기비용은 진입 관리 서버(100) 상에서 처리 예정 트래픽에 대한 대기열 생성을 위해 발생하는 비용을 의미할 수 있다. 또한, 추가 스펙 상향 조정 비용은 처리 예정 트래픽을 처리하기 위해 추가되어야 하는 추가 스펙에 대한 비용을 의미할 수 있다.
프로세서(110)는 추가 스펙 상향 조정 비용 산출 시, 추가 스펙 상향 조정이 완료되기 전까지의 임시 대기열에서의 사용자 단말의 평균대기 시간을 기초로 임시 대기비용을 추가 고려하여 상기 추가 스펙 상향 조정 비용을 산출할 수 있다.
프로세서(110)는 대기비용 및 추가 스펙 상향 조정 비용을 비교할 수 있다.
프로세서(110)는 비교결과를 기초로 대기열을 생성하거나, 또는 리소스 최적화 서버를 통해 추가 스펙 상향 조정을 수행하도록 할 수 있다. 구체적으로, 프로세서(110)는 비용이 더 낮은 처리방법을 기초로 대기열을 생성하거나, 또는 추가 스펙 상향 조정을 수행하도록 할 수 있는 것이다.
이때, 추가 스펙 상향 조정 시, 프로세서(110)는 추가 스펙 상향 조정 요청을 리소스 최적화 서버(200)로 전송할 수 있다.
한편, 프로세서(110)는 사용자 단말(400)의 요청에 대한 처리를 위해 사용자 단말(400)의 서비스 서버(300)로의 접속이 완료되면, 생성된 대기열을 해제할 수 있다.
메모리(130)는 노이즈 라벨 학습 방법을 제공하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(110)에 의해 판독되어 구동될 수 있다. 메모리(130)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(150)가 수신한 임의의 형태의 정보를 저장할 수 있다.
메모리(130)는 진입 관리 서버(100)의 다양한 기능을 지원하는 데이터와, 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 진입 관리 서버(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 진입 관리 서버(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(130)는 플래시 메모리 타입(Flash memory type), 하드디스크 타입(Hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(Multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random access memory; RAM), SRAM(Static random access memory), 롬(Read-only memory; ROM), EEPROM(Electrically erasable programmable read-only memory), PROM(Programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
통신부(150)는 외부 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 방송 수신 모듈, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
도시하지 않았지만, 본 개시의 진입 관리 서버(100)는 출력부 및 입력부를 더 포함할 수도 있다.
출력부는 진입 관리 서버(100)와 관련된 각종 정보를 제공하기 위한 사용자 인터페이스(UI, user interface)를 표시할 수 있다. 출력부는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(150)가 수신한 임의의 형태의 정보를 출력할 수 있다.
출력부는 액정 디스플레이(LCD: liquid crystal display), 박막 트랜지스터 액정 디스플레이(TFT LCD: thin film transistor- liquid crystal display), 유기 발광 다이오드(OLED: organic light-emitting diode), 플렉시블 디스플레이(Flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 이들 중 일부 디스플레이 모듈은, 그를 통해 외부를 볼 수 있도록 투명형 또는 광 투과형으로 구성될 수 있다. 이는 투명 디스플레이 모듈이라 지칭될 수 있는데, 상기 투명 디스플레이 모듈의 대표적 인 예로는 TOLED(Transparent OLED) 등이 있다.
입력부는 사용자에 의해서 입력된 정보를 수신할 수 있다. 입력부는 사용자에 의해서 입력된 정보를 수신하기 위한 사용자 인터페이스 상의 키 및/또는 버튼들, 또는 물리적인 키 및/또는 버튼들을 구비할 수 있다. 입력부를 통한 사용 자 입력에 따라 본 개시의 실시예들에 따른 디스플레이를 제어하기 위한 컴퓨터 프로그램이 실행될 수 있다.
도 6은 본 개시의 리소스 최적화 시스템의 다른 예를 나타내는 도면이다.
이하에서는, 리소스 최적화 시스템이 복수의 진입 관리 서버(100)를 포함하는 경우를 예로 들어 설명하기로 한다.
도 6을 참고하면, 리소스 최적화 시스템은 제1 진입 관리 서버(101) 및 제2 진입 관리 서버(103)를 포함하는 진입 관리 서버(100) 및 리소스 최적화 서버(200)를 포함할 수 있다.
진입 관리 서버(100)는 EUM(end-user monitoring) 정보 및 서비스 서버 정보를 수집하고, EUM 정보를 기초로 트래픽 처리량을 결정하며, 서비스 서버 정보를 기초로 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
상기 진입 관리 서버(100)는 제1 진입 관리 서버(101) 및 제2 진입 관리 서버(103)를 포함할 수 있다.
제1 진입 관리 서버(101)는 사용자 단말(400)로부터 수집한 EUM 정보 및 제2 진입 관리 서버(103)로부터 수신한 서비스 서버 정보를 기초로 서비스 서버(300) 내 가상 서버의 트래픽 처리 가능량 및 처리 예정 트래픽을 감지할 수 있다. 이때, 가상 서버는 도 6의 제2 서버(320)일 수 있다.
제1 진입 관리 서버(101)는 처리 예정 트래픽이 제2 서버(가상 서버)의 트래픽 처리 가능량을 초과하는 경우, 대기열을 생성하고, 리소스 최적화 서버(200)로 제1 서버 스펙을 포함하는 스펙 조정 요청을 전송할 수 있다. 제1 진입 관리 서버(101)는 서비스 서버(300) 외부에 위치할 수 있다.
제1 진입 관리 서버(101)는 제2 서버(320)의 증설되어 트래픽 처리가 정상화된 경우, 생성된 대기열을 해제할 수 있다.
제2 진입 관리 서버(103)는 서비스 서버(300)로부터 서비스 서버 정보를 수집하여 제1 진입 관리 서버(101)로 전달할 수 있다. 상기 제2 진입 관리 서버(103)는 서비스 서버(300) 내 위치할 수 있다. 이로 인해, 제2 진입 관리 서버(103)를 통해 서비스 서버(300) 내 복수의 제2 서버(320)들의 실제 상태를 각각 모니터링하여 대기열 생성, 및 서버 증설 및 감축을 결정할 수 있다. 본 개시는 제2 진입 관리 서버(103)가 서비스 서버(300) 내 위치함에 따라 서비스 서버(300) 내부의 리소스 상태를 보다 상세히 모니터링하고, 모니터링 결과에 따라 리소스 상태를 적극적으로 관리할 수 있으며, 이로 인해, 서비스 서버(300) 내부의 리소스 상태를 보다 안정적으로 유지할 수 있다는 효과를 기대할 수 있다.
상술한 서비스 서버(300) 내부에 위치하는 제2 진입 관리 서버(103)는 서비스 서버(300)의 실제 상태를 제1 진입 관리 서버(101)로 전송할 수 있다.
제1 진입 관리 서버(101)는 제2 진입 관리 서버(103)로부터 전송되는 서비스 서버의 실제 상태를 기초로 서비스 서버(300)로의 접속을 요청하는 사용자 단말(400)의 진입 허용 수를 조절할 수 있다.
리소스 최적화 서버(200)는 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향하되, 상기 서비스 서버 내 가상 서버를 증설 또는 감축하여 상기 서비스 서버의 스펙을 조정할 수 있다.
도 7은 본 개시의 리소스 최적화 시스템의 다른 예를 나타내는 도면이다.
도 7을 참고하면, 리소스 최적화 시스템은 진입 관리 서버(100), 리소스 최적화 서버(200) 및 서비스 서버(300)를 포함할 수 있다.
진입 관리 서버(100)는 EUM(end-user monitoring) 정보를 기초로 트래픽 처리량을 결정하며, 서비스 서버 정보를 기초로 트래픽 처리량에 대응되는 제1 서버 스펙을 결정할 수 있다.
리소스 최적화 서버(200)는 제1 서버 스펙에 따라 서비스 서버의 스펙을 상향 또는 하향할 수 있다.
리소스 최적화 서버(200)는 사용자 단말(400)로부터의 워크로드 요청이 발생하는 경우, 클라우드 기반의 가상머신으로 구성된 제2 서버(320)를 증설 또는 감축할 수 있다. 이때, 리소스 최적화 서버(200)는 진입 관리 서버(100)로부터 전달된 제1 서버 스펙에 따라 기 설정된 기준으로 근접한 제2 서버(320)를 선택하여 증설을 함에 따라 서버의 스펙을 상향하거나, 또는 제2 서버(320)를 감축하여 서버의 스펙을 하향할 수 있다.
서비스 서버(300)는 콘텐츠 서비스와 관련되어 전송되는 사용자 단말(400)의 요청을 수신하면 이를 처리하여 응답을 회신할 수 있다.
구체적으로, 서비스 서버(300)는 제1 서버(310) 및 복수의 제2 서버(320)를 포함할 수 있다. 상기 제1 서버(310)는 로드 밸런서 또는 API 게이트웨이, 제2 서버(320)는 WAS일 수 있다.
제1 서버(310)는 복수의 제2 서버(320) 중 사용자 단말(400)의 요청(워크로드 요청)을 처리하고 응답을 회신 할 제2 서버(320)를 결정하되, 복수의 제2 서버(320) 각각의 현재 잔여 처리 가능량(예를 들어, CPU 사용량, CPU 잔여량)을 기초로 제2 서버(320)를 결정할 수 있다.
복수의 제2 서버(320)는 증설 및 감축이 가능한 가상머신(virtual machine, VM)으로 구성되어, 사용자 단말(400)의 요청을 처리하여 응답을 회신할 수 있다.
한편, 전술한 본 개시에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
10: 리소스 최적화 시스템
100: 진입 관리 서버
200: 리소스 최적화 서버
300: 서비스 서버
310: 제1 서버
320: 제2 서버
330: DB 서버
400: 사용자 단말

Claims (10)

  1. 통신부; 및
    수집된 EUM(end-user monitoring)정보에 따라 기초로 트래픽처리량을 결정하고,
    수집된 클라우드 기반의 서비스서버정보를 기초로 상기 트래픽처리량에 따른 제1서버스펙을 결정하되, 상기 제1서버스펙은 개별단위의 트래픽성향, 특정시기에 예상되는 트래픽성향 및 트래픽발생빈도를 기초한 트래픽성향의 우선순위로 조합되고,
    상기 제1서버스펙에 따라 가상서버를 증설 또는 감축하여 상기 서비스서버의 스펙이 조정되도록 리소스최적화서버로 스펙 조정을 요청하고,
    상기 EUM정보 및 상기 서비스서버정보를 기초로 상기 서비스서버 내 상기 가상서버의 트래픽처리가능량 및 처리예정트래픽을 감지하고, 상기 처리예정트래픽이 상기 트래픽처리가능량을 초과하면, 사용자단말의 임시대기열에서의 평균대기시간에 따른 대기비용 및 추가스펙상향조정비용을 산출 및 비교하여 대기열을 생성하거나 상기 리소스최적화서버로 추가스펙상향조정을 요청하는 프로세서를 포함하고,
    상기 대기비용은 상기 처리예정트래픽에 대한 대기열생성비용이고, 상기 추가스펙상향조정비용은 상기 처리예정트래픽의 처리를 위한 추가스펙비용인,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버.
  2. 제1항에 있어서,
    상기 프로세서는,
    이동 평균(moving average)을 획득할 구간을 설정하고,
    설정된 상기 구간의 트래픽 이동 평균을 산출하고,
    산출된 상기 트래픽 이동 평균에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 특정 시기의 상기 트래픽 처리량을 결정하고, 및
    상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하는,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 서비스 서버 및 상기 서비스 서버로부터 제공되는 이벤트와 유사한 서비스 서버의 유사 이벤트별 과거 트래픽 이력을 기초로 기 학습된 인공지능 모델에 상기 EUM 정보를 입력하여 특정 시기의 트래픽을 예측하고,
    예측된 상기 트래픽에 대응되는 제1 트래픽 처리량에 기 설정된 여유값을 합산하여 상기 트래픽 처리량을 결정하고, 및
    상기 트래픽 처리량에 대응되는 제1 서버 스펙을 결정하는,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 서버 스펙에서의 최대 동시 접속량을 고려하여 상기 서비스 서버로의 진입 허용 수를 결정하는,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 서비스 서버의 리소스 실사용량을 모니터링하고, 및
    모니터링 결과에 따라 상기 진입 허용 수를 보정하는,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 진입 관리 서버.
  6. 삭제
  7. 삭제
  8. 수집된 EUM(end-user monitoring)정보에 따라 트래픽처리량을 결정하고, 수집된 클라우드 기반의 서비스서버정보를 기초로 상기 트래픽처리량에 따른 제1서버스펙을 결정하되, 상기 제1서버스펙은 개별단위의 트래픽성향, 특정시기에 예상되는 트래픽성향 및 트래픽발생빈도를 기초한 트래픽성향의 우선순위로 조합되며, 상기 제1서버스펙에 따라 가상서버를 증설 또는 감축하여 서비스서버의 스펙이 조정되도록 리소스최적화서버로 스펙 조정을 요청하는 진입관리서버; 및
    상기 제1서버스펙에 따라 상기 가상서버를 증설 또는 감축하여 상기 서비스서버의 스펙을 조정하는 상기 리소스최적화서버;를 포함하며,
    상기 진입관리서버는,
    상기 EUM정보 및 상기 서비스서버정보를 기초로 상기 서비스서버 내 상기 가상서버의 트래픽처리가능량 및 처리예정트래픽을 감지하고, 상기 처리예정트래픽이 상기 트래픽처리가능량을 초과하면, 사용자단말의 임시대기열에서의 평균대기시간에 따른 대기비용 및 추가스펙상향조정비용을 산출 및 비교하여 대기열을 생성하거나 상기 리소스최적화서버로 추가스펙상향조정을 요청하고,
    상기 대기비용은 상기 처리예정트래픽에 대한 대기열생성비용이고, 상기 추가스펙상향조정비용은 상기 처리예정트래픽의 처리를 위한 추가스펙비용인,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템.
  9. 제8항에 있어서,
    상기 진입 관리 서버는,
    제1 진입 관리 서버; 및
    제2 진입 관리 서버;를 포함하고,
    상기 제1 진입 관리 서버는,
    상기 사용자 단말로부터 수집한 상기 EUM 정보 및 상기 제2 진입 관리 서버로부터 수신한 상기 서비스 서버 정보를 기초로 상기 서비스 서버 내 가상 서버의 트래픽 처리 가능량 및 처리 예정 트래픽을 감지하고, 및
    상기 처리 예정 트래픽이 상기 가상 서버의 트래픽 처리 가능량을 초과하는 경우, 대기열을 생성하고, 상기 리소스 최적화 서버로 제1 서버 스펙을 포함하는 스펙 조정 요청을 전송하며,
    상기 제2 진입 관리 서버는,
    상기 서비스 서버로부터 상기 서비스 서버 정보를 수집하여 상기 제1 진입 관리 서버로 전달하는,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템.
  10. 수집된 EUM(end-user monitoring)정보에 따라 트래픽처리량을 결정하며, 수집된 클라우드 기반의 서비스서버정보를 기초로 상기 트래픽 처리량에 따른 제1 서버 스펙을 결정하되, 상기 제1서버스펙은 개별단위의 트래픽성향, 특정시기에 예상되는 트래픽성향 및 트래픽발생빈도를 기초한 트래픽성향의 우선순위로 조합되며, 상기 제1서버스펙에 따라 가상서버를 증설 또는 감축하여 서비스서버의 스펙이 조정되도록 리소스최적화서버로 스펙 조정을 요청하는 진입관리서버;
    상기 제1서버스펙에 따라 상기 가상서버를 증설 또는 감축하여 상기 서비스 서버의 스펙을 조정하는 상기 리소스 최적화 서버; 및
    콘텐츠 서비스와 관련되어 전송되는 사용자단말의 요청을 수신하면 이를 처리하여 응답을 회신하는 상기 서비스서버;를 포함하고,
    상기 서비스서버는,
    복수의 제2 서버 중 상기 사용자단말의 요청을 처리할 제2 서버를 결정하되, 상기 복수의 제2 서버 각각의 현재 잔여 처리 가능량을 기초로 상기 제2 서버를 결정하는 제1 서버,
    증설 및 감축이 가능한 가상머신으로 구성되어, 상기 사용자단말의 요청을 처리하여 응답을 회신하는 복수의 제2 서버를 포함하며,
    상기 제1 서버스펙은 상기 트래픽 처리량에 대응되게 생성되되, 개별단위의 트래픽 성향, 특정 시기에 예상되는 트래픽 성향 및 트래픽 발생 빈도를 기초한 트래픽 성향의 우선순위로 조합되어 구성되고,
    상기 진입관리서버는,
    상기 EUM정보 및 상기 서비스서버정보를 기초로 상기 서비스서버 내 상기 가상서버의 트래픽처리가능량 및 처리예정트래픽을 감지하고, 상기 처리예정트래픽이 상기 트래픽처리가능량을 초과하면, 상기 사용자단말의 임시대기열에서의 평균대기시간에 따른 대기비용 및 추가스펙상향조정비용을 산출 및 비교하여 대기열을 생성하거나 상기 리소스최적화서버로 추가스펙상향조정을 요청하고,
    상기 대기비용은 상기 처리예정트래픽에 대한 대기열생성비용이고, 상기 추가스펙상향조정비용은 상기 처리예정트래픽의 처리를 위한 추가스펙비용인,
    디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템.
KR1020220190176A 2022-12-30 2022-12-30 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 KR102559351B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220190176A KR102559351B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220190176A KR102559351B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버

Publications (1)

Publication Number Publication Date
KR102559351B1 true KR102559351B1 (ko) 2023-07-25

Family

ID=87428607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220190176A KR102559351B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버

Country Status (1)

Country Link
KR (1) KR102559351B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090112532A (ko) * 2008-04-24 2009-10-28 (주)에임투지 대기표 관리 방법, 리소스 관리 방법 및 트랜잭션 서버
KR20150070930A (ko) * 2013-12-17 2015-06-25 경희대학교 산학협력단 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법
KR20160073892A (ko) * 2014-12-17 2016-06-27 (주)에임투지 사용자 서비스 품질 기반 클라우드 오토 스케일링 장치 및 그 방법
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR20170012540A (ko) * 2014-12-17 2017-02-02 (주)에임투지 사용자 서비스 품질 기반 실시간 진입 허용수 관리 장치 및 그 방법
KR101740490B1 (ko) * 2015-12-29 2017-05-26 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법
KR102154053B1 (ko) * 2020-04-23 2020-09-09 주식회사 클레버소프트 지능형 부하분산장치 및 그 장치의 구동방법
KR20210046251A (ko) * 2019-10-18 2021-04-28 건국대학교 산학협력단 서비스 이동 지원을 위한 방법 및 시스템

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090112532A (ko) * 2008-04-24 2009-10-28 (주)에임투지 대기표 관리 방법, 리소스 관리 방법 및 트랜잭션 서버
KR20150070930A (ko) * 2013-12-17 2015-06-25 경희대학교 산학협력단 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법
KR20160073892A (ko) * 2014-12-17 2016-06-27 (주)에임투지 사용자 서비스 품질 기반 클라우드 오토 스케일링 장치 및 그 방법
KR20170012540A (ko) * 2014-12-17 2017-02-02 (주)에임투지 사용자 서비스 품질 기반 실시간 진입 허용수 관리 장치 및 그 방법
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR101740490B1 (ko) * 2015-12-29 2017-05-26 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법
KR20210046251A (ko) * 2019-10-18 2021-04-28 건국대학교 산학협력단 서비스 이동 지원을 위한 방법 및 시스템
KR102154053B1 (ko) * 2020-04-23 2020-09-09 주식회사 클레버소프트 지능형 부하분산장치 및 그 장치의 구동방법

Similar Documents

Publication Publication Date Title
US11425190B2 (en) Delivery of instructions in host applications
US8935317B2 (en) Dynamic partitioning of applications between clients and servers
US11010215B2 (en) Recommending applications based on call requests between applications
US20190289061A1 (en) Optimization of path selection for transfers of files
US20210089351A1 (en) Activation policies for workflows
US11599389B2 (en) Autoscaling in an elastic cloud service
US20190377622A1 (en) Processing System For Performing Predictive Error Resolution And Dynamic System Configuration Control
US20220092080A1 (en) Preventing data loss in event driven continuous availability systems
KR102531621B1 (ko) 클라우드 기반 유량제어 비용 최적화를 위한 리소스 최적화 서버, 시스템 및 방법
US10748161B1 (en) System and method for managing computing resource orders
KR102559351B1 (ko) 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버
US10911459B1 (en) Automatic transaction processing failover
KR102519073B1 (ko) 디지털 서비스 기반 트래픽 오케스트레이션을 위한 진입 관리 서버, 시스템 및 방법
KR102634229B1 (ko) 디지털 서비스 기반 쿼리신호와 리소스데이터를 이용한유량 제어 방법, 서버 및 시스템
US10635997B1 (en) Finite life instances
KR102543972B1 (ko) 디지털 서비스 기반 진입 관리 대상의 자동 조정을 위한 진입 관리 방법 및 서버
KR102525069B1 (ko) 클라우드 서버의 리소스 최적화를 위한 트랜잭션 관리 장치 및 방법
KR102630310B1 (ko) 디지털 서비스의 유량 제어를 위한 SaaS 기반 멀티 테넌시 서비스 서버 및 방법
KR102519056B1 (ko) 다중 uri 기반 대기열 관리 장치 및 방법
KR102582086B1 (ko) 디지털 서비스 기반 서비스 서버의 진입 관리 방법 및 서버
KR102519051B1 (ko) 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템
KR102521744B1 (ko) 디지털 서비스 기반 유량 제어 서버, 방법 및 api 유량 제어 시스템
KR102519005B1 (ko) 데이터베이스 상태를 이용한 디지털 기반 데이터 송수신 제어 서버, 시스템 및 방법
KR102519009B1 (ko) 접속 대기 화면의 정보 제공을 위한 대기열 관리 장치 및 방법
KR102519008B1 (ko) 디지털 서비스 기반 대기열 사용자의 ab 테스트를 진행하기 위한 진입 관리 서버, 방법

Legal Events

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