KR102519051B1 - 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템 - Google Patents

디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템 Download PDF

Info

Publication number
KR102519051B1
KR102519051B1 KR1020220190165A KR20220190165A KR102519051B1 KR 102519051 B1 KR102519051 B1 KR 102519051B1 KR 1020220190165 A KR1020220190165 A KR 1020220190165A KR 20220190165 A KR20220190165 A KR 20220190165A KR 102519051 B1 KR102519051 B1 KR 102519051B1
Authority
KR
South Korea
Prior art keywords
state information
entry management
management servers
load
standby state
Prior art date
Application number
KR1020220190165A
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 KR1020220190165A priority Critical patent/KR102519051B1/ko
Application granted granted Critical
Publication of KR102519051B1 publication Critical patent/KR102519051B1/ko
Priority to PCT/KR2023/021773 priority patent/WO2024144278A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템이 개시된다. 본 발명의 일 실시예에 따른 대기열 관리 방법은 복수의 진입 관리 서버 각각의 대기 상태 정보를 수집하는 단계; 대기 상태 정보를 기초로 복수의 진입 관리 서버의 로드 밸런스 상태를 파악하는 단계; 및 로드 밸런스 상태를 기초로 복수의 진입 관리 서버의 로드 밸런싱 처리를 수행하는 단계;를 포함하고, 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함한다.

Description

디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템{QUEUE MANAGEMENT METHOD, LOAD BALANCER AND QUEUE MANAGEMENT SYSTEM FOR LOAD BALANCING BASED ON DIGITAL SERVICE}
본 개시는 서비스 서버로의 진입 환경을 균일하게 제어하기 위한 대기열 관리 방법에 관한 것이다. 보다 상세하게는, 본 개시는 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템에 관한 것이다.
수강신청, 콘서트 예약 및 구매 이벤트 등의 콘텐츠 서비스를 제공하는 서비스 서버의 동시 접속자가 증가함에 따라, 콘텐츠 서비스를 제공하는 서비스 서버측의 응답속도가 저하되거나 서비스가 중단되는 등의 상황이 종종 발생하고 있는 실정이다.
시스템은 HTML(hypertext markup language)로 구성된 웹 페이지를 제공하는 WEB, WEB으로부터 전달된 요청 메시지에 대한 응용 프로그램 서비스를 처리하는 WAS(web application server) 및 쿼리문에 대한 응답으로 제공할 수 있는 데이터를 저장하는 데이터베이스로 구성될 수 있다.
상술한 시스템에서, 동시 접속자가 폭주하는 경우, WEB은 네트워크 대역폭 부족으로 인해 응답시간이 지연되는 현상이 발생할 수 있다.
이를 해결하기 위해, 서비스 서버로의 진입을 제어하기 위한 서비스를 제공하고 있는 실정이다.
대한민국 등록특허공보 제10-1654266호 (2016. 08. 30.)
본 개시에 개시된 실시예는 복수의 진입 관리 서버 간의 대기열의 상태가 균등하게 유지될 수 있도록 하기 위한 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템을 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서는, 통신부; 및 상기 통신부와 연결되어 복수의 진입 관리 서버로부터 수집되는 대기 상태 정보를 기초로 상기 복수의 진입 관리 서버로의 로드 분배를 제어하기 위한 프로세서;를 포함하고, 상기 프로세서는, 상기 복수의 진입 관리 서버 각각의 대기 상태 정보를 수집하고, 상기 대기 상태 정보를 기초로 상기 복수의 진입 관리 서버의 로드 밸런스 상태를 파악하며, 및 상기 로드 밸런스 상태를 기초로 상기 복수의 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행하고, 상기 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다.
상기 프로세서는, 상기 대기 상태 정보를 수집할 때, 상기 복수의 진입 관리 서버 각각으로부터 상기 대기 상태 정보를 수신하고, 상기 대기 상태 정보를 기초로 대기 상태 정보의 변화량을 파악하되, 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 각각의 대기 상태 정보의 변화량을 파악하고, 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 각각의 상기 대기 상태 정보의 변화량을 기초로 상기 대기 상태 정보의 수집 주기의 조정이 필요한지 여부를 확인하고, 및 확인 결과, 상기 대기 상태 정보의 수집 주기의 조정이 필요한 경우, 상기 대기 상태 정보의 변화량에 따라 상기 대기 상태 정보의 수집 주기를 단축 또는 연장할 수 있다.
상기 프로세서는, 상기 대기 상태 정보의 수집 주기의 조정이 필요한지 여부를 확인할 때, 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 제1 기준치를 초과하는 경우, 상기 대기 상태 정보의 수집 주기의 단축이 필요한 것으로 판단하고, 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 상기 제1 기준치 미만인 경우, 상기 대기 상태 정보의 수집 주기의 연장이 필요한 것으로 판단하며, 및 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 상기 제1 기준치와 일치하는 경우, 상기 대기 상태 정보의 수집 주기의 연장이 불필요한 것으로 판단하고, 상기 제1 기준치는 상하한치를 포함하는 범위를 포함할 수 있다.
상기 프로세서는, 상기 로드 밸런싱 처리를 수행할 때, 상기 복수의 진입 관리 서버 간의 상기 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 상기 복수의 진입 관리 서버 각각의 진입 허용 수를 조정하되, 전체 진입 허용 수를 유지하는 상태에서 상기 복수의 진입 관리 서버 각각의 상기 대기 상태 정보를 기초로 상기 진입 허용 수를 차별하여 조정할 수 있다.
상기 프로세서는, 상기 로드 밸런싱 처리를 수행할 때, 상기 복수의 진입 관리 서버 간의 상기 대기 상태 정보의 차이가 상기 제2 기준치 미만인 경우, 상기 복수의 진입 관리 서버 간의 상기 진입 허용 수를 동일하게 조정할 수 있다.
상기 프로세서는, 상기 로드 밸런싱 처리를 수행할 때, 상기 복수의 진입 관리 서버 간의 상기 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 상기 복수의 진입 관리 서버 각각의 상기 대기열에서의 대기시간을 조정하되, 상기 복수의 진입 관리 서버 각각의 상기 대기 상태 정보를 기초로 상기 대기시간을 조정할 수 있다.
상기 프로세서는, 상기 복수의 진입 관리 서버의 전체 대기자 수가 미리 결정된 대기자 수 미만인 경우, 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 중지하고, 상기 기 설정된 시간 동안 중지는 상기 복수의 진입 관리 서버 중 적어도 하나 이상에 기 설정된 시간 동안 로드를 미 분배하거나, 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 오프(off) 상태로 전환하는 것일 수 있다.
상기 프로세서는, 상기 복수의 진입 관리 서버 간의 대기 상태 정보의 차이가 제3 기준치 이상인 경우, 로드 밸런싱 관련 동작을 온(on) 상태로 전환할 수 있다.
상기 프로세서는, 상기 로드 밸런싱 관련 동작을 온 상태로 전환할 때, 상기 복수의 진입 관리 서버 간의 대기 상태 정보의 차이가 상기 제3 기준치 이상이고, 상기 복수의 진입 관리 서버 간의 대기 상태 정보의 차이의 합이 제4 기준치 이상인 경우, 상기 로드 밸런싱 관련 동작을 온 상태로 전환할 수 있다.
상술한 기술적 과제를 달성하기 위한 본 개시에 다른 측면에 따른 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 시스템은, 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함하는 자신의 대기 상태 정보를 로드 밸런서로 전송하는 복수의 진입 관리 서버; 및 상기 복수의 진입 관리 서버 각각으로부터 수집한 상기 대기 상태 정보를 기초로 상기 복수의 진입 관리 서버의 로드 밸런스 상태를 파악하고, 상기 로드 밸런스 상태를 기초로 상기 복수의 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행하는 로드 밸런서;를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 본 개시에 다른 측면에 따른 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법은, 로드 밸런서에 의해 수행되는 방법에 있어서, 복수의 진입 관리 서버 각각의 대기 상태 정보를 수집하는 단계; 상기 대기 상태 정보를 기초로 상기 복수의 진입 관리 서버의 로드 밸런스 상태를 파악하는 단계; 및 상기 로드 밸런스 상태를 기초로 상기 복수의 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행하는 단계;를 포함하고, 상기 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다.
이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 복수의 진입 관리 서버로부터 수집된 대기 상태 정보를 기초로 진입 관리 서버 각각의 대기열의 환경을 제어하기 때문에, 복수의 진입 관리 서버 간의 로드를 균일하게 유지할 수 있고, 이로 인해 서비스 서버로의 접속을 시도하는 엔드 유저들에게 공정한 서버 접속 환경을 제공할 수 있다는 효과를 기대할 수 있다.
또한, 본 개시의 전술한 과제 해결 수단에 의하면, 복수의 진입 관리 서버의 상태를 고려하여 각각의 대기열 환경을 제어하기 때문에, 서비스 서버로의 접속 절차를 효율적으로 처리할 수 있다는 효과를 제공할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 대기열 관리 시스템의 구성을 나타내는 블록도
도 2는 본 개시의 로드 밸런서의 구성을 나타내는 블록도
도 3은 본 개시의 대기열 관리 방법을 설명하기 위한 흐름도
도 4 내지 도 5는 도 3의 대기열 관리 방법의 일부를 상세하게 설명하기 위한 흐름도
도 6 내지 도 9는 본 개시의 대기열 관리 방법을 설명하기 위한 예시도
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 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)는 복수의 진입 관리 서버(200) 각각으로부터 수집한 대기 상태 정보를 기초로 복수의 진입 관리 서버(200)의 로드 밸런스 상태를 파악하고, 파악된 로드 밸런스 상태를 기초로 복수의 진입 관리 서버(200) 각각의 서비스 서버(500)로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행할 수 있다.
상기 로드 밸런싱 처리는 복수의 진입 관리 서버(200) 간의 로드가 균일하게 유지될 수 있도록 복수의 진입 관리 서버(200) 각각의 대기열 환경을 제어하는 것을 의미할 수 있다.
진입 관리 서버(200)는 사용자 단말기(400) 상에서 서비스 서버(500)의 특정 페이지 또는 버튼이 선택됨에 따라, 선택된 페이지 또는 버튼에 대한 서비스 서버(500)로의 진입을 관리하기 위한 구성일 수 있다.
도 1에서 도시하는 바와 같이, 본 개시에서는 상술한 진입 관리 서버(200)가 복수인 경우를 예로 들어 설명하기로 한다. 이러한 복수의 진입 관리 서버(200)로의 로드 분배를 제어하기 위해 상술한 로드 밸런서(100)를 구현하는 것이다.
복수의 진입 관리 서버(200)는 관련 정보를 저장하기 위한 외부의 별도 데이터베이스(300)와 연결될 수 있으며, 이에 한정되지 않는다. 즉, 데이터베이스(300)는 복수의 진입 관리 서버(200) 각각에 구현되는 것 역시 가능하다 할 것이다. 상술한 데이터베이스(300)는 복수의 진입 관리 서버(200)와 관련된 정보를 백업하는 역할도 수행할 수 있다.
복수의 진입 관리 서버(200)는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함하는 자신의 대기 상태 정보를 로드 밸런서(100)로 전송할 수 있다. 상기 대기 상태 정보는 복수의 진입 관리 서버(200)의 로드 밸런스 상태 파악 및 로드 분배 시 활용될 수 있다.
상기 진입 관리 서버(200)가 여러 대로 병렬 구성된 경우, 대기열이 복수로 생성되기 때문에, 복수의 진입 관리 서버(220) 각각은 대기열의 대기자 수와 대기열에서의 대기시간을 각각 계산할 수 있다. 이로 인해, 서비스 서버(500)로의 접속 요청한 사용자가 어떤 대기열에 배치되는지에 따라 대기열에서의 대기시간이 서로 달라질 수 있다. 예를 들어, 진입 관리 서버 1의 대기열 1에서의 대기시간은 5분, 진입 관리 서버 2의 대기열 2에서의 대기시간은 1분과 같이 대기열 환경의 불균형이 발생할 수 있다. 본 개시는 복수의 진입 관리 서버(200) 간의 로드 밸런스 상태를 파악하고, 이를 기초로 로드 분배를 비롯한 대기열 환경의 제어를 수행하기 때문에, 복수의 진입 관리 서버(200) 간의 대기열 환경의 불균형을 미연에 방지할 수 있다는 효과를 기대할 수 있다.
복수의 진입 관리 서버(200) 각각은 로드 밸런서(100)로부터 전송되는 진입 허용 수 변경 요청 및 대기시간 변경 요청 등의 제어신호를 수신하면, 이를 대기열의 환경에 반영할 수 있다.
서비스 서버(500)는 특정 트랜잭션(예를 들어, 로그인, 수강 신청, 티켓 예매를 위한 버튼 및 페이지)을 포함하는 콘텐츠 서비스를 제공하기 위한 구성을 의미할 수 있다.
도시하지 않았지만, 서비스 서버(500)는 웹(web) 서버, 웹 애플리케이션 서버(web application server, 이하, WAS라고 하기로 함) 및 데이터베이스(DB)를 포함할 수 있다. 이때, 데이터베이스는 데이터베이스 관리 시스템(database management system, DBMS)이라 하는 것도 가능하다.
웹 서버는 HTTP(hypertext transfer protocol) 프로토콜을 기반으로 웹 브라우저 또는 웹 크롤러와 같은 클라이언트의 요청을 주로 처리하는 서버를 의미하는 것으로, HTTP 요청(request)을 수신하면 이에 대한 HTTP 응답(response)을 회신할 수 있다.
예를 들어, 웹 서버는 파일 경로 이름을 수신하여 경로와 일치하는 정적(static)인 형태의 파일 콘텐츠(html, jpeg, css 등)를 반환할 수 있다.
웹 서버는 동적인 컨텐츠 제공을 위한 요청을 WAS로 전달하고, 이에 대한 처리 결과를 WAS로부터 수신하여 클라이언트에게 전달할 수 있다.
WAS는 HTTP를 이용한 애플리케이션 서버를 의미하는 것으로, 정적인 HTTP 데이터 처리에 특화된 웹 서버에 동적인 데이터를 이용할 수 있도록 하는 컨테이너(container)를 포함할 수 있다.
WAS는 데이터베이스 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위한 애플리케이션 서버일 수 있다. 상기, WAS는 HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행하여 주는 미들웨어(소프트웨어 엔진)일 수 있다. WAS는 웹 컨테이너(web container) 또는 서블릿 컨테이너(servlet container)라고 명명하는 것도 가능하다. 이때, 컨테이너는 JSP 및 Servlet을 실행시킬 수 있는 소프트웨어를 의미할 수 있다.
WAS는 분산 트랜잭션, 보안, 메시징, 스레드 처리 등의 기능을 처리하는 분산 환경에서 적용될 수 있다.
구체적으로, WAS는 프로그램 실행 환경과 데이터베이스의 접속 기능 및 다수의 트랜잭션 관리 기능을 구현할 수 있다. 상기 트랜잭션은 논리적인 작업 단위를 의미할 수 있다.
WAS는 사용자의 요청에 따라 데이터베이스로부터 해당 데이터를 수신하여, 비즈니스 로직에 맞게 실시간으로 결과를 생성하여 제공할 수 있다. 상기 WAS는 복수 개로 구현될 수 있으며, 각 서비스 서버(500)마다 적용하는 WAS의 개수가 상이할 수 있다.
데이터베이스는 데이터를 저장 및 관리하는 구성을 의미할 수 있다. 이때, 데이터베이스는 WAS의 요청에 따라 해당 데이터를 회신할 수 있다.
도 2는 본 개시의 로드 밸런서의 구성을 나타내는 블록도이다.
도 2를 참고하면, 로드 밸런서(100)는 프로세서(110), 메모리(130) 및 통신부(150)를 포함한다. 도시하지 않았지만, 프로세서(110)는 진입 관리 서버(200)로의 로드를 균등하게 분배하기 위한 별도의 구성을 추가로 포함하여 해당 각 구성의 동작을 제어할 수 있다. 도 2에 도시된 구성요소들은 본 개시에 따른 로드 밸런서(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 로드 밸런서(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
프로세서(110)는 통신부(150)와 연결되어 복수의 진입 관리 서버(200)로부터 수집되는 대기 상태 정보를 기초로 복수의 진입 관리 서버(200)로의 로드 분배를 제어하기 위한 구성일 수 있다.
구체적으로, 프로세서(110)는 복수의 진입 관리 서버(200) 각각의 대기 상태 정보를 수집할 수 있다. 상기 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다. 상기 이탈자 정보는 사용자 단말기(400)가 서비스 서버(500)에 진입함에 따라 대기열에서 이탈한 정보를 의미할 수 있다. 이때, 이탈자 정보는 이탈한 사용자의 수를 포함할 수 있다.
프로세서(110)는 대기 상태 정보를 기초로 복수의 진입 관리 서버(200)의 로드 밸런스 상태를 파악할 수 있다.
프로세서(110)는 로드 밸런스 상태를 기초로 복수의 진입 관리 서버(200) 각각의 서비스 서버(500)로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행할 수 있다.
프로세서(110)에서의 대기열 관리 방법의 상세 설명은 도 3 내지 도 5를 참조하여 후술하기로 한다.
메모리(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)는 출력부 및 입력부를 더 포함할 수도 있다.
출력부는 대기열 관리 방법과 관련된 각종 정보 등을 제공하기 위한 사용자 인터페이스(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) 등이 있다.
입력부는 사용자에 의해서 입력된 정보를 수신할 수 있다. 입력부는 사용자에 의해서 입력된 정보를 수신하기 위한 사용자 인터페이스 상의 키 및/또는 버튼들, 또는 물리적인 키 및/또는 버튼들을 구비할 수 있다. 입력부를 통한 사용 자 입력에 따라 본 개시의 실시예들에 따른 디스플레이를 제어하기 위한 컴퓨터 프로그램이 실행될 수 있다.
도 3은 본 개시의 대기열 관리 방법을 설명하기 위한 흐름도로서, 로드 밸런서(100)에 의해서 구현될 수 있다.
본 개시의 대기열 관리 방법을 설명하기 위한 예시도인 도 6 내지 도 9를 참고하여 설명하기로 한다.
도 3을 참고하면, 로드 밸런서(100)의 프로세서(110)는 복수의 진입 관리 서버(200) 각각의 대기 상태 정보를 수집할 수 있다(1100).
상기 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다.
상술한 대기 상태 정보의 수집 주기는 대기 상태 정보의 변화량을 제1 기준치와 비교하여 조정할 수 있으며, 이에 대한 상세한 설명은 후술하기로 한다.
다음, 로드 밸런서(100)의 프로세서(110)는 대기 상태 정보를 기초로 복수의 진입 관리 서버(200)의 로드 밸런스 상태를 파악할 수 있다(1200).
다음, 로드 밸런서(100)의 프로세서(110)는 로드 밸런스 상태를 기초로 복수의 진입 관리 서버(200) 각각의 서비스 서버로의 진입 요청을 포함하는 로드를 분배하는 로드 밸런싱 처리를 수행할 수 있다(1300).
상기 로드 밸런싱 처리는 복수의 진입 관리 서버(200) 간의 로드가 균일하게 유지될 수 있도록 복수의 진입 관리 서버(200) 각각의 대기열 환경을 제어하는 것을 의미할 수 있다.
일 예로, 프로세서(110)는 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 복수의 진입 관리 서버(200) 각각의 진입 허용 수를 조정할 수 있다. 예를 들어, 프로세서(110)는 복수의 진입 관리 서버(200) 간의 대기열의 대기자 수의 차이가 제2 기준치 이상인 경우, 복수의 진입 관리 서버(200) 각각의 진입 허용 수를 조정할 수 있다. 상기 제2 기준치는 상하한치를 포함하는 범위를 포함할 수 있다. 예를 들어, 제2 기준치는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다. 상기 이탈자 정보는 이탈한 사용자의 수를 포함할 수 있다.
이때, 프로세서(110)는 전체 진입 허용 수를 유지하는 상태에서 복수의 진입 관리 서버(200) 각각의 대기 상태 정보를 기초로 진입 허용 수를 차별하여 조정할 수 있다. 상기 전체 진입 허용 수는 복수의 진입 관리 서버(200)에 설정된 진입 허용 수의 총합을 의미할 수 있다.
예를 들어, 도 6을 참고하면, 진입 관리 서버 1과 진입 관리 서버 2의 대기열에 대기자가 각각 100명씩 있는 경우, 진입 관리 서버 1과 진입 관리 서버 2에 각각 진입 허용 수가 초당 10명씩으로 설정될 수 있다. 진입 관리 서버 1의 대기열의 대기중 이탈자가 진입 관리 서버 2와 비교하여 더 많거나, 또는 대기자가 서비스 서버(500)로의 진입을 위해 발급된 키(key)를 더 빨리 반납하는 경우, 진입 관리 서버 1의 대기자가 진입 관리 서버 2의 대기자보다 적을 수 있다. 본 실시예에서, 진입 허용 수를 ~명으로 개시하였으나, 이는 실제 서비스 서버(500)의 특정 액션(페이지 또는 버튼)에 대한 진입을 요청한 사용자 단말기(400)의 수를 의미하는 것일 수 있다.
이러한 경우, 프로세서(110)는 진입 관리 서버 1의 대기자와 진입 관리 서버 2의 대기자 사이에 불균형이 발생한 것을 인지하여, 진입 관리 서버 1의 진입 허용 수를 감소(예를 들어, 초당 7명)시키고, 진입 관리 서버 2의 진입 허용 수를 증가(예를 들어, 초당 13명)시켜 전체 진입 관리 서버(200) 간의 로드 밸런스를 균일하게 할 수 있다.
한편, 프로세서(110)는 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이가 제2 기준치 미만인 경우, 복수의 진입 관리 서버(200) 간의 진입 허용 수를 동일하게 조정할 수 있다.
예를 들어, 도 6을 참고하면, 프로세서(110)는 진입 관리 서버 1 및 2 간의 대기열의 대기자 수의 차이가 동일 또는 유사해지거나, 또는 대기시간이 유사해지면 진입 관리 서버 1 및 2의 진입 허용 수를 10명으로 동일하게 재조정할 수 있는 것이다.
프로세서(110)는 로드 밸런싱 처리 시 조정된 진입 허용 수를 해당 진입 관리 서버(200)로 전달하여, 진입 허용 수를 조정할 수 있도록 제어할 수 있다. 즉, 프로세서(110)는 조정된 진입 허용 수를 포함하는 진입 허용 수 변경 요청을 진입 관리 서버(200)로 전달하는 것이다. 진입 관리 서버(220)는 프로세서(110)로부터 진입 허용 수 변경 요청을 수신하면, 조정된 진입 허용 수에 따라 진입 허용 수를 변경할 수 있다.
다른 예로, 프로세서(110)는 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 복수의 진입 관리 서버(200) 각각의 대기열에서의 대기시간을 조정하되, 복수의 진입 관리 서버(200) 각각의 대기 상태 정보를 기초로 대기시간을 조정할 수 있다.
상기 제2 기준치는 상하한치를 포함하는 범위를 포함할 수 있다. 예를 들어, 제2 기준치는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다. 상기 이탈자 정보는 이탈한 사용자의 수를 포함할 수 있다.
예를 들어, 도 7을 참고하면, 프로세서(110)는 진입 관리 서버 1과 2 간의 대기열 환경의 불균형이 발생하는 경우, 인위적으로 추가 대기시간을 적용할 수 있는 것이다. 즉, 진입 관리 서버 2의 대기열의 대기중 이탈자가 더 많아서 진입 관리 서버 2의 대기자가 진입 관리 서버 1의 대기자에 비해 더 빨리 서비스 서버(500)에 접속 가능하게 된 경우, 진입 관리 서버 2의 각 대기자들에게 강제적인 추가 대기시간을 적용(도 7의 +α)하여 진입 관리 서버 1과 동일 또는 유사한 대기열 환경을 유지할 수 있도록 하는 것이다. 이때, 프로세서(110)는 운용자에 의해서 임의로 선택된 시간을 추가 대기시간으로 설정하거나, 또는 과거이력을 이용하여 학습된 인공지능 모델을 통해 추가 대기시간을 설정할 수 있다. 상기 과거이력은 현재 대기 상태 정보의 진입 관리 서버 수와 동일한 수의 진입 관리 서버에 대한 과거 대기 상태 정보를 포함할 수 있다. 상기 인공지능 모델은 과거이력을 이용하여 진입 관리 서버들 간의 대기열에서의 대기시간이 균일해질 수 있는 결과값으로 추가 대기시간을 출력할 수 있도록 학습된 모델일 수 있다.
프로세서(110)는 로드 밸런싱 처리 시 조정된 추가 대기시간을 해당 진입 관리 서버(200)로 전달하여, 대기열에서의 대기시간을 조정할 수 있도록 제어할 수 있다. 즉, 프로세서(110)는 추가 대기시간을 포함하는 대기시간 변경 요청을 진입 관리 서버(200)로 전달하는 것이다. 진입 관리 서버(220)는 프로세서(110)로부터 대기시간 변경 요청을 수신하면, 추가 대기시간을 이전 대기시간에 반영할 수 있다.
다른 예로, 로드 밸런서(100)의 프로세서(110)는 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 복수의 진입 관리 서버(200) 각각의 로드 분배 시 파악된 대기 상태 정보(예를 들어, 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상)를 고려하여 분배할 수 있다.
즉, 프로세서(110)는 진입 관리 서버(200)들의 대기 상태 정보를 고려해서 사용자 단말기(500)로부터의 접속요청을 복수의 진입 관리 서버(200)로 안분할 수 있는 것이다.
이를 위해, 복수의 진입 관리 서버(200)는 각자의 대기 상태 정보를 로드 밸런서(100)로 전송하고, 로드 밸런서(100)의 프로세서(110)는 로드 배분을 결정하는 로직에서 복수의 진입 관리 서버(200)들 간의 대기 상태 정보를 고려할 수 있다. 이때, 프로세서(110)는 대기 상태 정보 중 이탈자 수를 주 고려 대상으로 할 수 있으며, 이에 한정되지 않는다.
예를 들어, 진입 관리 서버 1의 대기열에 대기중 이탈자가 많은 경우, 프로세서(110)는 진입 관리 서버 1로 편중하여 로드를 분배할 수 있다.
복수의 진입 관리 서버(200) 각각이 자신의 대기 상태 정보를 로드 밸런서(100)에 전송하여 상술한 과정의 반복을 통해 서로 간의 대기열 환경의 균형을 유지할 수 있는 것이다. 이때, 복수의 진입 관리 서버(200)가 자신의 대기 상태 정보를 로드 밸런서(100)로 전송하는 것은 기 설정된 대기 상태 정보의 전송 주기에 따라 능동적으로 전송하거나, 또는 로드 밸런서(100)로부터 기 설정된 대기 상태 정보의 전송 주기에 따라 전송되는 요청에 대해 회신하는 방식 모두 가능할 수 있다.
도 4는 도 3의 대기열 관리 방법의 일부를 상세하게 설명하기 위한 흐름도로서, 도 3의 대기 상태 정보를 수집하는 1100 단계를 보다 상세히 설명하기로 한다.
로드 밸런서(100)의 프로세서(110)는 복수의 진입 관리 서버(200) 각각으로부터 대기 상태 정보를 수신할 수 있다(2100).
다음, 프로세서(110)는 대기 상태 정보를 기초로 대기 상태 정보의 변화량을 파악하되, 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버(200) 각각의 대기 상태 정보의 변화량을 파악할 수 있다(2200).
상기 대기 상태 정보는 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상을 포함할 수 있다.
구체적으로, 프로세서(110)는 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버(200) 각각의 대기 상태 정보의 변화량을 포함하는 대기 상태 정보의 변화량을 파악할 수 있다.
상기 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량은 복수의 진입 관리 서버(200) 전체의 대기열의 대기자 수의 변화량의 총 합, 복수의 진입 관리 서버(200) 전체의 대기열에서의 대기시간 변화량의 총합 및 복수의 진입 관리 서버(200) 전체의 대기열로부터 이탈한 이탈자 수의 변화량의 총합 중 적어도 하나 이상을 포함할 수 있다.
또한, 복수의 진입 관리 서버(200) 각각의 대기 상태 정보의 변화량은 복수의 진입 관리 서버(200) 각각의 대기열의 대기자 수의 변화량, 복수의 진입 관리 서버(200) 각각의 대기열에서의 대기시간 변화량 및 복수의 진입 관리 서버(200) 각각의 대기열로부터 이탈한 이탈자 수의 변화량 중 적어도 하나 이상을 포함할 수 있다.
다음, 프로세서(110)는 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버 각각의 대기 상태 정보의 변화량을 기초로 대기 상태 정보의 수집 주기의 조정이 필요한지 여부를 확인할 수 있다(2300).
일 예로, 상기 대기 상태 정보의 수집 주기는 로드 밸런서(100)가 복수의 진입 관리 서버(200)로 대기 상태 정보를 전송 요청하는 주기를 의미하는 것일 수 있다. 다른 예로, 상기 대기 상태 정보의 수집 주기가 복수의 진입 관리 서버(200)와 공유되어 대기 상태 정보의 전송 주기로 적용될 수 있다. 이러한 경우, 복수의 진입 관리 서버(200)는 로드 밸런서(100)로부터의 전송 요청이 전달되지 않아도 상기 대기 상태 정보의 전송 주기에 따라 자신의 대기 상태 정보를 로드 밸런서(100)로 전송할 수 있다. 이를 위해, 로드 밸런서(100)는 대기 상태 정보의 수집 주기를 복수의 진입 관리 서버(200)와 공유하여 대기 상태 정보의 전송 주기로 설정하도록 할 수 있다.
후술하는 대기 상태 정보의 수집 주기의 조정이 필요한지 여부의 상세 내용은 복수의 진입 관리 서버(200)의 대기 상태 정보의 전송 주기로도 동일 적용될 수 있음은 당연하다 할 것이다.
구체적으로, 프로세서(110)는 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버(200) 중 적어도 하나 이상의 대기 상태 정보의 변화량이 제1 기준치를 초과하는 경우, 대기 상태 정보의 수집 주기의 단축이 필요한 것으로 판단할 수 있다. 상기 제1 기준치는 상하한치를 포함하는 범위를 포함할 수 있다. 이때, 제1 기준치는 대기 상태 정보가 포함하는 정보(예를 들어, 대기열의 대기자 수, 대기열에서의 대기시간 및 이탈자 정보 중 적어도 하나 이상)에 따라 차별 설정될 수 있다.
프로세서(110)는 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버(200) 중 적어도 하나 이상의 대기 상태 정보의 변화량이 제1 기준치 미만인 경우, 대기 상태 정보의 수집 주기의 연장이 필요한 것으로 판단할 수 있다.
확인 결과, 대기 상태 정보의 수집 주기의 조정이 필요한 경우, 프로세서(110)는 대기 상태 정보의 변화량에 따라 대기 상태 정보의 수집 주기를 단축 또는 연장할 수 있다(2400).
한편, 프로세서(110)는 복수의 진입 관리 서버(200)의 전체 대기 상태 정보의 변화량 또는 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 제1 기준치와 일치하는 경우, 대기 상태 정보의 수집 주기의 연장이 불필요한 것으로 판단할 수 있다(2500). 즉, 현재의 대기 상태 정보의 수집 주기를 유지하는 것이다.
도 5는 도 3의 대기열 관리 방법의 일부를 상세하게 설명하기 위한 흐름도이다.
도 3의 1200 단계에서, 로드 밸런서(100)의 프로세서(110)는 대기 상태 정보를 기초로 복수의 진입 관리 서버(200)들 간의 대기 상태 정보의 차이를 파악할 수 있다(4100). 이때, 대기 상태 정보는 대기열의 대기자 수를 포함할 수 있다.
다음, 프로세서(110)는 로드 밸런스 동작이 필요한지 여부를 판단하고(4200), 판단 결과 로드 밸런스 동작이 불필요한 경우 대기 상태 정보의 차이에 따라 로드 밸런스 동작을 조정할 수 있다(4300).
상기 로드 밸런스 동작이 필요한지 여부는 로드 밸런서(100)의 로드 분배 제어가 필요한지 여부 및 복수의 진입 관리 서버(200) 전체의 구동의 필요한지 여부를 포함하는 의미일 수 있다.
구체적, 복수의 진입 관리 서버(200)의 전체 대기자 수가 미리 결정된 대기자 수 미만인 경우, 로드 밸런서(100)의 프로세서(110)는 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 중지할 수 있다.
상기 기 설정된 시간 동안 중지는 복수의 진입 관리 서버(200) 중 적어도 하나 이상에 기 설정된 시간 동안 로드를 미 분배하거나, 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 오프(off) 상태로 전환하는 것을 의미할 수 있다.
예를 들어, 진입 관리 서버 1, 2 및 3에 설정된 전체 대기 가능 사용자 수가 100명이고, 현재 파악된 전체 대기자 수가 45명이며, 미리 결정된 대기자 수가 50명일 수 있다.
현재 파악된 전체 대기자 수(45명)가 미리 결정된 대기자 수(50명) 미만인 경우, 프로세서(110)는 진입 관리 서버 1, 2 및 3 중 진입 관리 서버 1로의 로드 분배를 기 설정된 시간 동안 수행하지 않거나, 또는 진입 관리 서버 1의 동작을 기 설정된 시간 동안 오프 상태로 전환할 수 있다. 이때, 프로세서(110)는 전체 대기자 수에 따라 진입 관리 서버 1 이외에 다른 진입 관리 서버의 동작도 추가로 오프 상태로 전환 요청할 수 있다.
이때, 프로세서(110)는 진입 관리 서버 1로 오프 상태 전환 요청 신호를 전송할 수 있으며, 해당 진입 관리 서버 1은 현재 자신에게 분배된 사용자들(사용자 단말기(400))의 서비스 서버(500)로의 진입이 완료되면 오프 상태로 전환할 수 있다. 이후, 진입 관리 서버 1은 프로세서(110)로부터 온(on) 상태 전환 요청 신호를 수신하면 오프 상태에서 온 상태로 모드를 전환하거나, 또는 기 설정된 오프 유지 시간(오프 상태 전환 요청 신호 내 오프 유지 시간 포함 또는 사전에 설정)이 경과하면 온 상태로 모드를 전환할 수 있다.
4200 단계의 판단 결과, 로드 밸런스 동작이 필요한 경우, 프로세서(110)는 로드 밸런싱 동작을 온(on) 상태로 전환할 수 있다(4400).
일 예로, 도 8을 참고하면, 4100 단계에서 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이(예를 들어, 대기열의 대기자 수의 차이(D1))가 제3 기준치 이상인 경우, 프로세서(110)는 로드 밸런싱 관련 동작을 온(on) 상태로 전환할 수 있다. 이때, 로드 밸런싱 관련 동작은 상술한 진입 허용 수 변경, 대기시간 변경, 대기 상태 정보에 기초로 로드 분배 등을 포함할 수 있다.
즉, 로드 밸런서(100)는 대기열의 불균형이 발생하는 경우에만 로드 밸런싱 관련 동작을 온 상태로 전환하여 리소스 낭비를 최소화하는 것이다.
만약, 복수의 진입 관리 서버(200)들 간의 대기열의 대기자 수가 균일한 경우, 로드 밸런서(100)는 별도의 로드 밸런싱 관련 기능을 오프 상태 또는 유휴 상태로 유지하고, 기 설정된 로드 분배 기준에 따라 로드를 분배할 수 있다.
다른 예로, 4100 단계에서 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이(예를 들어, 대기열의 대기자 수의 차이)가 제3 기준치 이상이고, 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이의 합이 제4 기준치 이상인 경우, 프로세서(110)는 로드 밸런싱 관련 동작을 온 상태로 전환할 수 있다.
도 9를 참고하면, 복수의 진입 관리 서버(200) 간의 대기열의 대기자 수의 차이의 합은 D2-1, D2-2, D2-3, D3-1, D3-2 및 D4-1의 합일 수 있다.
다른 예로, 4100 단계에서 복수의 진입 관리 서버(200) 간의 대기 상태 정보의 차이(예를 들어, 대기열의 대기자 수의 차이)의 합이 제4 기준치 이상인 경우, 프로세서(110)는 로드 밸런싱 관련 동작을 온 상태로 전환할 수 있다.
한편, 전술한 본 개시에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
10: 대기열 관리 시스템
100: 로드 밸런서
110: 프로세서
130: 메모리
150: 통신부
200: 진입 관리 서버
300: 데이터베이스
400: 사용자 단말기
500: 서비스 서버

Claims (11)

  1. 통신부; 및 프로세서를 포함하고,
    상기 프로세서는, 상기 통신부와 연결되고, 진입 관리 서버 각각의 대기열에서의 대기시간, 대기열의 대기자 수 및 이탈한 사용자의 수를 포함하는 대기 상태 정보를 수집하고, 상기 대기 상태 정보를 기초로 상기 진입 관리 서버의 로드 밸런스 상태를 파악하며, 상기 로드 밸런스 상태를 기초로 상기 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함한 로드를 분배하는 로드 밸런싱 처리를 수행하고, 상기 진입 관리 서버의 대기열에 대기중 이탈한 사용자의 수가 제1 기준치보다 많은 경우, 상기 이탈한 사용자의 수가 상기 제1 기준치보다 많은 해당 진입 관리 서버로 편중하여 상기 로드를 분배하며, 상기 진입 관리 서버 간의 상기 대기시간의 차이가 제2 기준치 이상인 경우, 상기 진입 관리 서버 각각의 상기 대기시간을 조정하며, 상기 진입 관리 서버 간의 상기 대기자 수의 차이가 제3 기준치 이상이고 상기 대기자 수의 차이의 합이 제4 기준치 이상인 경우, 상기 로드 밸런싱의 관련 동작을 온상태로 전환하는, 디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 대기 상태 정보를 수집할 때,
    상기 복수의 진입 관리 서버 각각으로부터 상기 대기 상태 정보를 수신하고,
    상기 대기 상태 정보를 기초로 대기 상태 정보의 변화량을 파악하되, 상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 각각의 대기 상태 정보의 변화량을 파악하고,
    상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 각각의 상기 대기 상태 정보의 변화량을 기초로 상기 대기 상태 정보의 수집 주기의 조정이 필요한지 여부를 확인하고, 및
    확인 결과, 상기 대기 상태 정보의 수집 주기의 조정이 필요한 경우, 상기 대기 상태 정보의 변화량에 따라 상기 대기 상태 정보의 수집 주기를 단축 또는 연장하는,
    디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 대기 상태 정보의 수집 주기의 조정이 필요한지 여부를 확인할 때,
    상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 제1 기준치를 초과하는 경우, 상기 대기 상태 정보의 수집 주기의 단축이 필요한 것으로 판단하고,
    상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 상기 제1 기준치 미만인 경우, 상기 대기 상태 정보의 수집 주기의 연장이 필요한 것으로 판단하며, 및
    상기 복수의 진입 관리 서버의 전체 대기 상태 정보의 변화량 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 대기 상태 정보의 변화량이 상기 제1 기준치와 일치하는 경우, 상기 대기 상태 정보의 수집 주기의 연장이 불필요한 것으로 판단하고,
    상기 제1 기준치는 상하한치를 포함하는 범위를 포함하는,
    디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 로드 밸런싱 처리를 수행할 때,
    상기 복수의 진입 관리 서버 간의 상기 대기 상태 정보의 차이가 제2 기준치 이상인 경우, 상기 복수의 진입 관리 서버 각각의 진입 허용 수를 조정하되, 전체 진입 허용 수를 유지하는 상태에서 상기 복수의 진입 관리 서버 각각의 상기 대기 상태 정보를 기초로 상기 진입 허용 수를 차별하여 조정하는,
    디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 로드 밸런싱 처리를 수행할 때,
    상기 복수의 진입 관리 서버 간의 상기 대기 상태 정보의 차이가 상기 제2 기준치 미만인 경우, 상기 복수의 진입 관리 서버 간의 상기 진입 허용 수를 동일하게 조정하는,
    디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  6. 삭제
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 진입 관리 서버의 전체 대기자 수가 미리 결정된 대기자 수 미만인 경우, 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 중지하고,
    상기 기 설정된 시간 동안 중지는 상기 복수의 진입 관리 서버 중 적어도 하나 이상에 기 설정된 시간 동안 로드를 미 분배하거나, 또는 상기 복수의 진입 관리 서버 중 적어도 하나 이상의 동작을 기 설정된 시간 동안 오프(off) 상태로 전환하는 것인,
    디지털 서비스 기반 로드 밸런싱을 위한 로드 밸런서.
  8. 삭제
  9. 삭제
  10. 대기열에서의 대기시간, 대기열의 대기자 수 및 이탈한 사용자의 수를 포함하는 대기 상태 정보를 로드 밸런서로 전송하는 복수의 진입 관리 서버; 및
    상기 진입 관리 서버 각각으로부터 수집한 상기 대기 상태 정보를 기초로 상기 진입 관리 서버의 로드 밸런스 상태를 파악하고, 상기 로드 밸런스 상태를 기초로 상기 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함한 로드를 분배하는 로드 밸런싱 처리를 수행하며, 상기 진입 관리 서버의 대기열에 대기중 이탈한 사용자의 수가 제1 기준치보다 많은 경우, 상기 이탈한 사용자의 수가 상기 제1 기준치보다 많은 해당 진입 관리 서버로 편중하여 상기 로드를 분배하고, 상기 진입 관리 서버 간의 상기 대기시간의 차이가 제2 기준치 이상인 경우, 상기 진입 관리 서버 각각의 상기 대기시간을 조정하며, 상기 진입 관리 서버 간의 상기 대기자 수의 차이가 제3 기준치 이상이고 상기 대기자 수의 차이의 합이 제4 기준치 이상인 경우, 상기 로드 밸런싱의 관련 동작을 온(ON) 상태로 전환하는 로드 밸런서;를 포함하는, 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 시스템.
  11. 로드 밸런서에 의해 수행되는 방법에 있어서,
    복수의 진입 관리 서버 각각의 대기열에서의 대기시간, 대기열의 대기자 수 및 이탈한 사용자의 수를 포함하는 대기 상태 정보를 수집하는 단계;
    상기 대기 상태 정보를 기초로 상기 진입 관리 서버의 로드 밸런스 상태를 파악하는 단계; 및
    상기 로드 밸런스 상태를 기초로 상기 진입 관리 서버 각각의 서비스 서버로의 진입 요청을 포함한 로드를 분배하는 로드 밸런싱 처리를 수행하고, 상기 진입 관리 서버의 대기열에 대기중 이탈한 사용자의 수가 제1 기준치보다 많은 경우, 상기 이탈한 사용자의 수가 상기 제1 기준치보다 많은 해당 진입 관리 서버로 편중하여 상기 로드를 분배하며, 상기 진입 관리 서버 간의 상기 대기시간의 차이가 제2 기준치 이상인 경우, 상기 진입 관리 서버 각각의 상기 대기시간을 조정하고, 상기 진입 관리 서버 간의 상기 대기자 수의 차이가 제3 기준치 이상이고 상기 대기자 수의 차이의 합이 제4 기준치 이상인 경우, 상기 로드 밸런싱의 관련 동작을 온상태로 전환하는 단계;를 포함하는, 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법.
KR1020220190165A 2022-12-30 2022-12-30 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템 KR102519051B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220190165A KR102519051B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템
PCT/KR2023/021773 WO2024144278A1 (ko) 2022-12-30 2023-12-27 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220190165A KR102519051B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Publications (1)

Publication Number Publication Date
KR102519051B1 true KR102519051B1 (ko) 2023-04-06

Family

ID=85918377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220190165A KR102519051B1 (ko) 2022-12-30 2022-12-30 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Country Status (2)

Country Link
KR (1) KR102519051B1 (ko)
WO (1) WO2024144278A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144278A1 (ko) * 2022-12-30 2024-07-04 주식회사 에스티씨랩 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR20190088342A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
KR102215031B1 (ko) * 2020-07-22 2021-02-10 주식회사 데브와이 분산서버 환경에서 대기접속자에 대한 접속처리방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2950453C (en) * 2014-06-13 2022-12-06 Teclo Networks Ag Proxy node for transferring packets between a server and a client using port sharding
KR102519051B1 (ko) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR20190088342A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
KR102215031B1 (ko) * 2020-07-22 2021-02-10 주식회사 데브와이 분산서버 환경에서 대기접속자에 대한 접속처리방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144278A1 (ko) * 2022-12-30 2024-07-04 주식회사 에스티씨랩 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템

Also Published As

Publication number Publication date
WO2024144278A1 (ko) 2024-07-04

Similar Documents

Publication Publication Date Title
US9344523B2 (en) Providing relevant non-requested content to a mobile device
KR102531621B1 (ko) 클라우드 기반 유량제어 비용 최적화를 위한 리소스 최적화 서버, 시스템 및 방법
US20120278117A1 (en) Task management for a plurality of team members
KR102519051B1 (ko) 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템
JP2019109913A5 (ko)
JP2008543249A (ja) 移動ユーザプロフィールに基づくコンテンツのプレフェッチ
JP2017215982A5 (ko)
CN108810047B (zh) 用于确定信息推送准确率的方法、装置及服务器
US11080097B1 (en) User defined logical spread placement groups for computing resources within a computing environment
KR101263590B1 (ko) 통합업무지원 시스템 및 방법
US11128635B2 (en) System for controlling access to target systems and applications
US20040111510A1 (en) Method of dynamically switching message logging schemes to improve system performance
KR102633182B1 (ko) 디지털 서비스 기반의 발급된 키를 활용한 진입 관리 서버 및 방법
KR102519073B1 (ko) 디지털 서비스 기반 트래픽 오케스트레이션을 위한 진입 관리 서버, 시스템 및 방법
WO2024144275A1 (ko) 디지털 서비스 기반 유량 제어 서버, 방법 및 시스템
KR102543972B1 (ko) 디지털 서비스 기반 진입 관리 대상의 자동 조정을 위한 진입 관리 방법 및 서버
KR102559351B1 (ko) 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버
US10915361B1 (en) Dynamic capacity buffers
KR102519061B1 (ko) 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법
KR102519056B1 (ko) 다중 uri 기반 대기열 관리 장치 및 방법
KR102519010B1 (ko) 디지털 서비스 기반의 병목 구간 별 진입 대상을 관리하기 위한 진입 관리 서버, 방법 및 프로그램
KR102525069B1 (ko) 클라우드 서버의 리소스 최적화를 위한 트랜잭션 관리 장치 및 방법
KR102569833B1 (ko) 디지털 서비스 기반 서비스 서버의 모니터링을 이용한 유량 제어 방법, 서버 및 시스템
US10181103B2 (en) Routing preferred traffic within a reservation system
US12058203B2 (en) Entry management server, system, method for digital service-based traffic orchestration

Legal Events

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