KR102519061B1 - 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법 - Google Patents

구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법 Download PDF

Info

Publication number
KR102519061B1
KR102519061B1 KR1020220190035A KR20220190035A KR102519061B1 KR 102519061 B1 KR102519061 B1 KR 102519061B1 KR 1020220190035 A KR1020220190035 A KR 1020220190035A KR 20220190035 A KR20220190035 A KR 20220190035A KR 102519061 B1 KR102519061 B1 KR 102519061B1
Authority
KR
South Korea
Prior art keywords
section
sections
server
service
client device
Prior art date
Application number
KR1020220190035A
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 KR1020220190035A priority Critical patent/KR102519061B1/ko
Application granted granted Critical
Publication of KR102519061B1 publication Critical patent/KR102519061B1/ko
Priority to PCT/KR2023/021823 priority patent/WO2024144299A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법이 제공된다. 구간 제어 방식 기반의 유량 제어를 위한 서비스 서버는 통신부 및 상기 통신부와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고, 상기 프로세서는, 클라이언트 장치로부터 제1 오브젝트에 대한 접근 요청을 수신하면, 유량 제어 서버로 복수의 구간에 대한 통합 대기 관리를 요청하고, 상기 클라이언트 장치로부터 상기 통합 대기 관리를 위한 대기표를 수신하면 상기 대기표에 포함된 입장키에 대한 검증을 수행하고, 상기 검증이 완료되면 상기 복수의 구간에 해당하는 복수의 오브젝트에 대한 데이터를 상기 클라이언트 장치로 순차적으로 제공한다.

Description

구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법{APPARATUS AND METHOD FOR CONTROLING FLOW RATE BASED ON INTERVAL CONTROL}
본 개시는 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법에 관한 것이다.
수강신청, 콘서트 예약 및 구매 이벤트 등의 콘텐츠 서비스를 제공하는 서비스 서버의 동시 접속자가 증가함에 따라, 콘텐츠 서비스를 제공하는 서비스 서버측의 응답속도가 저하되거나 서비스가 중단되는 등의 상황이 종종 발생하고 있는 실정이다.
시스템은 HTML(hypertext markup language)로 구성된 웹 페이지를 제공하는 WEB, WEB으로부터 전달된 요청 메시지에 대한 응용 프로그램 서비스를 처리하는 WAS(Web Application Server) 및 쿼리문에 대한 응답으로 제공할 수 있는 데이터를 저장하는 데이터베이스로 구성될 수 있다.
상술한 시스템에서, 많은 접속자가 동시에 접속하는 경우, 접속자들은 순번에 따라 대기표를 부여받고 대기열에서 기다리다가 자신의 차례가 오면 대기표에 대응하는 입장티켓을 부여받아 서버로 웹페이지 데이터를 요청하는 요청신호를 전송한다. 그리고 서버로부터 해당 웹페이지 데이터를 수신하면 부여받았던 입장티켓을 반납한다. 입장티켓의 반납이 완료되면 해당 접속자에 대한 대기 관리 사이클은 종료된다. 그러나 이러한 방식은 연속적인 흐름을 제어하는 데 한계가 있다.
대한민국 등록특허공보 제10-1654266호 (2016. 08. 30.)
본 개시에 개시된 실시예는 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시의 일 측면에 따른 구간 제어 방식 기반의 유량 제어를 위한 서비스 서버는 통신부 및 상기 통신부와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고, 상기 프로세서는, 클라이언트 장치로부터 제1 오브젝트에 대한 접근 요청을 수신하면, 유량 제어 서버로 복수의 구간에 대한 통합 대기 관리를 요청하고, 상기 클라이언트 장치로부터 상기 통합 대기 관리를 위한 대기표를 수신하면 상기 대기표에 포함된 입장키에 대한 검증을 수행하고, 상기 검증이 완료되면 상기 복수의 구간에 해당하는 복수의 오브젝트에 대한 데이터를 상기 클라이언트 장치로 순차적으로 제공하고, 상기 복수의 구간 각각은, 상기 복수의 오브젝트 각각에 대응하고, 상기 제1 오브젝트는, 상기 복수의 오브젝트 중 첫번째 순서인 시작 오브젝트일 수 있다.
또한, 상기 프로세서는 상기 제1 오브젝트에 대한 접근 요청에 대해서 상기 입장키의 검증이 완료되면, 상기 복수의 오브젝트 중 상기 제1 오브젝트 이후의 오브젝트에 대한 접근 요청에 대해서는 상기 입장키의 검증을 수행하지 않을 수 있다.
또한, 상기 대기표는, 구간 제어를 위한 상기 클라이언트 장치의 입장순서를 포함하고, 상기 프로세서는, 상기 입장순서에 기초하여 상기 제1 오브젝트에 대한 데이터를 제공하고, 상기 복수의 오브젝트 중 상기 제1 오브젝트 이후의 오브젝트에 대해서는 상기 입장순서에 기초한 대기 없이 제공할 수 있다.
또한, 상기 프로세서는 상기 복수의 오브젝트 중 마지막 순서인 종료 오브젝트에 대한 데이터 제공이 완료되면, 상기 유량 제어 서버로 상기 통합 대기 관리의 종료 및 상기 대기표의 회수를 요청할 수 있다.
또한, 상기 오브젝트는 특정 콘텐츠 서비스의 제공을 요청하는 버튼 또는 페이지일 수 있다.
또한, 상기 복수의 오브젝트 중 상기 제1 오브젝트 이후의 오브젝트는 상기 제1 오브젝트 및 콘텐츠 서비스 관련 데이터를 기초로 설정될 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 본 개시의 다른 측면에 따른 구간 제어 방식 기반의 유량 제어를 위한 유량 제어 서버는 통신부 및 상기 통신부와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고, 상기 프로세서는, 서비스 서버로부터 제1 오브젝트를 포함한 복수의 구간에 대한 통합 대기 관리 요청을 수신하면, 상기 통합 대기 관리를 위한 대기표를 생성하여 클라이언트 장치로 송신하고, 상기 서비스 서버로부터 상기 통합 대기 관리의 종료 요청 및 상기 대기표의 회수 요청을 수신하면, 클라이언트 장치로부터 상기 대기표를 회수하고 상기 통합 대기 관리를 종료하고, 상기 복수의 구간 각각은, 복수의 오브젝트 각각에 대응하고, 상기 제1 오브젝트는, 상기 복수의 오브젝트 중 첫번째 순서인 시작 오브젝트일 수 있다.
또한, 상기 대기표에 포함된 입장키는 상기 서비스 서버에 의해 검증되고, 상기 검증이 완료되면 상기 복수의 구간에 해당하는 상기 복수의 오브젝트에 대한 데이터가 상기 클라이언트 장치로 순차적으로 제공될 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 본 개시의 다른 측면에 따른 구간 제어 방식 기반의 유량 제어를 위한 클라이언트 장치는 통신부 및 상기 통신부와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고, 상기 프로세서는, 서비스 서버로 제1 오브젝트에 대한 접근을 요청하고, 유량 제어 서버로부터 복수의 구간에 대한 통합 대기 관리를 위한 대기표를 수신하고, 상기 대기표를 상기 서비스 서버로 제공하고, 상기 대기표에 대한 검증이 완료되면 상기 서비스 서버로부터 상기 복수의 구간에 해당하는 복수의 오브젝트에 대한 데이터를 순차적으로 수신하고, 상기 복수의 구간 각각은 상기 복수의 오브젝트 각각에 대응하고, 상기 제1 오브젝트는 상기 복수의 오브젝트 중 첫번째 순서인 시작 오브젝트일 수 있다.
또한, 상기 프로세서는 상기 유량 제어 서버로부터 상기 대기표의 회수 요청을 수신하면, 상기 통합 대기 관리의 종료를 위해 상기 유량 제어 서버로 상기 대기표를 반환할 수 있다.
이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 접근 요청에 대한 응답으로 콘텐츠 서비스의 데이터를 수신한 이후에 발급되었던 대기표를 반환하지 않고, 동일한 대기표를 유지한 이후에 구간 제어의 마지막 구간의 데이터 수신이 완료되면 대기표를 반환한다. 이로써 서버 자원의 효율적인 활용이 가능하다.
또한, 구간 제어 방식을 통해, 즉 연속적인 흐름을 갖는 복수의 콘텐츠 서비스의 데이터에 대한 접근 요청을 통합적으로 관리함으로써, 서버 자원을 효율적으로 활용할 수 있다.
또한, 구간 제어 영역에 입장한 후 사용자 개개인의 조작 속도에 따라 클릭 속도 등이 늦어서 서비스 이용이 불가능한 경우를 최소화하도록 방지할 수 있다.
또한, 사용자가 모바일 단말을 사용하는 경우, 중간에 접속 유지 상태가 아니더라도 재접속 후 끊겼던 지점부터 서비스를 대기 없이 이용할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 실시예에 따른 구간 제어 방식 기반의 유량 제어를 위한 시스템을 개략적으로 도시한 도면이다.
도 2는 본 개시의 실시예에 따른 서비스 서버의 블록도이다.
도 3은 본 개시의 실시예에 따른 유량 제어 서버의 블록도이다.
도 4는 본 개시의 실시예에 따른 서비스 서버에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 5는 본 개시의 실시예에 따른 유량 제어 서버에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 6은 본 개시의 실시예에 따른 클라이언트 장치에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 7은 종래의 콘텐츠 서비스 내에서 연속적인 흐름을 갖는 접근에 대한 처리 방식을 설명하기 위한 예시도이다.
도 8은 본 개시의 실시예에 따른 콘텐츠 서비스 내에서 연속적인 흐름을 갖는 접근에 대한 구간 제어 방식을 설명하기 위한 예시도이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 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) 등과 같은 웨어러블 장치를 포함할 수 있다.
본 발명에서 '통합 대기 관리'는 복수의 구간에서의 사용자의 접근을 통합적으로 관리하는 것으로, '구간 제어'와 동일한 의미로 해석될 수 있다.
본 발명에서 '오브젝트'는 특정 콘텐츠 서비스의 제공을 요청하는 버튼, 페이지 또는 이벤트를 의미할 수 있다.
트래픽 제어를 위해 특정 이벤트나 특정 객체의 액션에 연동시켜서 대기열을 관리하는 것이 일반적이다. 예를 들어, 사용자가 특정 버튼을 클릭하거나 특정 URL에 접속했을 때 순번에 따라 대기표를 부여받고 대기 상태가 유지되고, 자신의 차례가 오면 대기표에 대응하는 입장티켓을 부여받은 후 서버로 웹페이지 데이터 또는 해당 URI의 웹페이지 데이터를 요청하는 요청신호가 전송되고, 서버로부터 웹페이지 데이터 또는 해당 URI의 웹페이지 데이터를 수신하면 부여받았던 입장티켓을 반납하고 대기 관리 사이클이 종료된다.
그러나, 이러한 방식은 특정한 페이지나 특정한 링크, 버튼 등의 입장에 대해서는 개별적으로 관리가 가능하지만, 연속적인 흐름을 제어하는 데는 한계가 있다. 기존 방식에 따르면, 로그인 페이지의 로그인 버튼에 제1 대기열이 생성되고, 상품 리스트 페이지 URI에 제2 대기열이 생성되고, 결제 페이지의 버튼에 제3 대기열이 생성되는 등 여러 개의 대기열이 별도로 관리되어야 했다. 이는, 하나의 통합된 서버 자원을 기초로 로그인부터, 상품리스트, 결제까지 처리하기 때문에 서버 자원을 효율적으로 활용하지 못한다는 문제가 있다.
이에, 본 개시에서는 연속적인 흐름을 갖는 서비스를 하나의 프로세스로 간주(구간 제어)하여 해당 프로세스 내에 일정 수의 사용자가 유지되도록 통합하여 관리할 수 있도록 한다. 이로써 서버 자원을 통합적으로 관리하는 것이 가능하고, 트랜잭션 유량 흐름을 최적의 형태로 관리하는 것이 가능하다.
도 1은 본 개시의 실시예에 따른 구간 제어 방식 기반의 유량 제어를 위한 시스템을 개략적으로 도시한 도면이다.
도 1을 참조하면, 본 개시의 시스템은 서비스 서버(10), 유량 제어 서버(20) 및 클라이언트 장치(30)를 포함할 수 있다. 다만, 몇몇 실시예에서 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
서비스 서버(10)는 웹 사이트 또는 웹 페이지를 통해 사용자에게 웹 서비스를 제공할 수 있다. 웹 서비스는, 상품 판매 서비스, 수강 신청 서비스, 공연 예매 서비스를 포함할 수 있지만, 이에 제한되는 것은 아니다.
서비스 서버(10)는 클라우드 환경(AWS)에서 웹 서비스를 제공할 수 있도록 리소스를 할당하고 관리하는 서비스 서버로서, CSP, MSP 등의 클라우드 사업자에 의해 운용된다.
도 1에 도시되지는 않았지만, 서비스 서버(10)는 웹(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는 복수 개로 구현될 수 있으며, 각 유량 제어 서버(20)마다 적용하는 WAS의 개수가 상이할 수 있다.
데이터베이스는 데이터를 저장 및 관리하는 구성을 의미할 수 있다. 이때, 데이터베이스는 WAS의 요청에 따라 해당 데이터를 회신할 수 있다.
유량 제어 서버(20)는 통신 흐름 상 서비스 서버(10)(예를 들어, API 서버인 서비스 서버 또는 WAS 서버)의 전단에 요청신호(데이터 요청)을 관리하도록 위치할 수 있다. 이를 위해, 유량 제어 서버(20)는 복수의 클라이언트 장치(30)로부터 발생되는 요청신호(데이터 요청)를 수신할 수 있다.
유량 제어 서버(20)는 서비스 서버(10)와 클라이언트 장치(30) 사이에 위치하여, 클라이언트 장치(30)의 서비스 서버(10)로의 진입을 관리할 수 있다.
유량 제어 서버(20)는 서비스 서버(10)의 요청에 따라 연속적인 흐름을 갖는 복수의 구간에 대한 통합 대기 관리를 수행할 수 있다. 여기서, 구간은 콘텐츠 서비스 제공과 관련된 동작을 의미한다. 예를 들어, 구간은 로그인 동작, 상품 탐색 동작, 결제 동작을 의미할 수 있다. 즉, 로그인 동작, 상품 탐색 동작, 결제 동작이 연속적인 흐름을 갖는 경우, 유량 제어 서버(20)는 로그인 동작, 상품 탐색 동작, 결제 동작을 하나의 프로세스로 하여 통합 대기 관리를 수행할 수 있다.
클라이언트 장치(30)는 서비스 서버(10)가 제공하는 웹 서비스를 이용하는 사용자의 단말로서, 적어도 하나 이상일 수 있다. 예를 들어, 사용자는 자신의 단말을 통해 특정 상품을 구매하거나, 수강 신청을 하거나, 특정 공연을 예매할 수 있다.
클라이언트 장치(30)는 특정 오브젝트(웹 사이트 내의 특정 버튼 또는 특정 페이지에 대한 접속 요청을 유량 제어 서버(20)로 송신한다.
클라이언트 장치(30)는 유량 제어 서버(20)로부터 복수의 구간에 대한 통합 대기 관리를 위한 통합 대기표를 수신하고, 그 유량 제어 서버(20에 의해 접속이 허용되면 특정 오브젝트에 대한 데이터를 수신한다. 이후, 사용자는 특정 오브젝트와 연결된 오브젝트에 대응하는 나머지 구간에 대해 통합적인 대기 관리를 통해 웹 서비스를 이용할 수 있게 된다.
클라이언트 장치(30)는 사용자가 원하는 다수의 응용 프로그램(즉, 애플리케이션)을 설치하여 실행할 수 있는 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 테블릿(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트 폰(smart phone), 패드(Pad), 스마트 워치(Smart watch), 웨어러블(wearable) 단말, e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙 박스(black box) 또는 디지털 카메라(digital camera), 기타 이동통신 단말 등일 수 있다. 즉, 클라이언트(40)는 다양한 형태로 구비될 수 있으며, 도 1에 도시된 단말의 형태만으로 한정되지 않는다.
도 2는 본 개시의 실시예에 따른 서비스 서버(10)의 블록도이다.
도 2를 참조하면, 서비스 서버(10)는 통신부(11), 메모리(12) 및 프로세서(13)를 포함할 수 있다. 프로세서(13)는 큐 매니저(Queue Manager)(131), 확인기(Checker)(132) 및 오퍼레이터(Operator)(133)를 포함할 수 있다.
다만, 몇몇 실시예에서 서비스 서버(10) 및 프로세서(13) 각각은 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
통신부(11)는 상기 서비스 서버(10)와 유량 제어 서버(20) 사이, 상기 서비스 서버(10)와 클라이언트 장치(30) 사이, 상기 서비스 서버(10)와 통신망 사이, 상기 서비스 서버(10)와 외부 서버(미도시) 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
유선 통신 모듈은, 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
메모리(12)는 본 서비스 서버(10)의 다양한 기능을 지원하는 데이터와, 프로세서(13)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 수 있고, 본 서비스 서버(10)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 서비스 서버(10)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(12)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(12)는 본 서비스 서버(10)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
프로세서(13)는 통신부(11)와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 동작을 수행할 수 있다.
프로세서(13)는 본 서비스 서버(10) 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리와 프로세서(13)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서(13)는 단일 칩으로 구현될 수도 있다.
프로세서(13)의 큐 매니저(131)는 클라이언트 장치(30)로부터 특정 오브젝트에 대한 접근을 확인하면, 유량 제어 서버(20)로 해당 클라이언트 장치(30)에 대한 통합 대기 관리를 요청할 수 있다.
프로세서(13)의 확인기(132)는 클라이언트 장치(30)로부터 수신된 입장키에 대한 검증을 수행할 수 있다. 구체적으로, 복수의 구간 중 첫 구간에서의 접근 요청 시에만 입장키에 대한 검증을 수행할 수 있고, 이후의 구간에 대해서는 입장키에 대한 검증을 수행하지 않을 수 있다.
프로세서(13)의 오퍼레이터(13)는 클라이언트 장치(10)로부터 수신된 요청신호에 대한 동작을 수행하고, 해당 데이터를 클라이언트 장치(10)로 제공할 수 있다. 구체적으로, 복수의 구간 중 첫 구간에서의 접근 요청 시에는 입장키에 대한 검증이 완료된 후에 해당 데이터를 제공할 수 있고, 이후의 구간에 대해서는 입장키에 대한 검증을 수행하지 않고 바로 해당 데이터를 제공할 수 있다.
도 3은 본 개시의 실시예에 따른 유량 제어 서버의 블록도이다.
도 3을 참조하면, 유량 제어 서버(20)는 통신부(21), 메모리(22) 및 프로세서(23)를 포함할 수 있다. 프로세서(13)는 큐 매니저(Queue Manager)(231) 및 암호화기(Operator)(232)를 포함할 수 있다.
다만, 몇몇 실시예에서 유량 제어 서버(20)는 및 프로세서(23) 각각은 도 3에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
통신부(21)는 상기 유량 제어 서버(20)와 서비스 서버(10) 사이, 상기 유량 제어 서버(20)와 클라이언트 장치(30) 사이, 상기 유량 제어 서버(20)와 통신망 사이, 상기 유량 제어 서버(20)와 외부 서버(미도시) 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
유선 통신 모듈은, 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
메모리(22)는 본 유량 제어 서버(20)의 다양한 기능을 지원하는 데이터와, 프로세서(23)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 수 있고, 본 유량 제어 서버(20)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 유량 제어 서버(20)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(22)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(22)는 본 유량 제어 서버(20)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
프로세서(23)는 통신부(21)와 연결되어 구간 제어 방식을 기반으로 유량을 제어하기 위한 동작을 수행할 수 있다.
프로세서(23)는 본 유량 제어 서버(20) 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리와 프로세서(23)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서(23)는 단일 칩으로 구현될 수도 있다.
프로세서(23)의 큐 매니저(231)는 서비스 서버(10)의 리소스 상태에 따라 클라이언트 장치(10)의 진입을 허용할 수 있다.
큐 매니저(231)는 서비스 서버(10)로부터 특정 클라이언트 장치(30)에 대한 통합 대기 관리 요청을 수신하면, 클라이언트 장치(30)에 대한 통합 대기 관리를 수행할 수 있다. 또한, 큐 매니저(231)는 서비스 서버(10)로부터 특정 클라이언트 장치(30)에 대한 통합 대기 관리의 종료 요청을 수신하면, 클라이언트 장치(30)에 대한 통합 대기 관리를 종료할 수 있다.
프로세서(23)의 암호화기(232)는 키 발급 및 키 회수 기능을 수행할 수 있다. 구체적으로, 암호화기(132)는 특정 클라이언트 장치(30)에 대한 통합 대기 관리 요청에 따라, 해당 클라이언트 장치(30)에 발급될 입장키를 생성할 수 있다. 또한, 암호화기(232)는 특정 클라이언트 장치(30)에 대한 통합 대기 관리의 종료 요청에 따라, 해당 클라이언트 장치(30)에 발급된 입장키를 회수할 수 있다.
이하에서는, 도 4를 참조하여, 서비스 서버(10)가 구간 제어 방식을 기반으로 트랜잭션의 유량을 제어하는 방법에 대해 상세히 설명하도록 한다.
도 4는 본 개시의 실시예에 따른 서비스 서버(10)에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 4를 참조하면, 서비스 서버(10)의 프로세서(13)는 통신부(11)를 통해 클라이언트 장치(30)로부터 특정 오브젝트(제1 오브젝트)에 대한 접근 요청을 수신할 수 있다(S110). 서비스 서버(10)의 프로세서(13)는 유량 제어 서버(20)로 복수의 구간에 대한 통합 대기 관리를 요청할 수 있다(S120).
여기서, 오브젝트는, 특정 콘텐츠 서비스의 제공을 요청하는 버튼, 페이지 또는 이벤트일 수 있다. 예를 들어, 오브젝트는, 로그인 버튼, 상품 보기 버튼, 결제 버튼일 수 있으며, 이에 제한되지는 않는다.
또한, 복수의 구간은 구간 제어 대상으로, 복수의 구간 각각은 복수의 오브젝트 각각에 대응할 수 있다. 예를 들어, 로그인 구간, 상품 탐색 구간, 결제 구간은 하나의 구간 제어 대상으로 묶일 수 있다. 이때, 로그인 구간에 대응하는 오브젝트는 로그인 버튼일 수 있고, 상품 탐색 구간에 대응하는 오브젝트는 상품 보기 버튼일 수 있고, 결제 구간에 대응하는 오브젝트는 결제 버튼일 수 있다.
또한, 제1 오브젝트는 복수의 오브젝트 중 첫번째 순서인 시작 오브젝트일 수 있다. 복수의 오브젝트 중 제1 오브젝트 이후의 오브젝트는 제1 오브젝트 및 콘텐츠 서비스 관련 데이터를 기초로 설정될 수 있다. 구체적으로, 클라이언트 장치(30)가 특정 오브젝트에 대한 데이터 제공을 요청하면, 해당 특정 오브젝트를 시작 오브젝트로 설정하고, 이후의 오브젝트는 시작 오브젝트를 기준으로 서비스 관련 데이터에 기초하여 설정될 수 있다. 여기서, 서비스 관련 데이터는 과거 서비스 데이터 및 서비스 프로세스의 분석 데이터를 포함할 수 있다.
프로세서(13)(구체적으로, 큐 매니저(131))는 유량 제어 서버(20)에 의해 진입이 허용된 클라이언트 장치(30)의 제1 오브젝트에 대한 접근이 확인되면, 유량 제어 서버(20)로 해당 클라이언트 장치(30)에 대한 통합 대기 관리를 요청할 수 있다.
동시에, 프로세서(13)(구체적으로, 큐 매니저(131))는 클라이언트 장치(30)를 통해 유량 제어 서버(20)로 통합 대기 관리를 위한 대기표를 요청할 수 있다.
이러한 요청에 따라, 유량 제어 서버(20)는 해당 클라이언트 장치(30)에 대한 통합 대기 관리를 수행할 수 있다. 구체적으로, 유량 제어 서버(20)는 제1 오브젝트를 시작으로 하는 구간 제어 대상(복수의 구간)을 설정하여 해당 클라이언트 장치(30)에 대한 통합 대기 관리를 수행할 수 있다.
또한, 요청에 따라, 유량 제어 서버(20)는 입장키 및 입장순서를 포함하는 대기표를 생성하여 클라이언트 장치(30)에 발급할 수 있다. 여기서, 입장키는 클라이언트 장치(30)의 접근이 정상적인 접근인지를 검증하는데 활용되는 것이고, 입장순서는 구간 제어를 위한 클라이언트 장치(30)의 대기순서일 수 있다.
서비스 서버(10)의 프로세서(13)는 통신부(11)를 통해 클라이언트 장치(30)로부터 통합 대기 관리를 위한 대기표를 수신할 수 있다(S130).
서비스 서버(10)의 프로세서(13)는 클라이언트 장치(30)로 각 구간에 해당하는 오브젝트 데이터를 순차적으로 제공할 수 있다(S140).
프로세서(13)(구체적으로, 확인기(132))는 클라이언트 장치(30)로부터 통합 대기 관리를 위한 대기표를 수신하면 상기 대기표에 포함된 입장키에 대한 검증을 수행할 수 있다.
검증이 완료되면 프로세서(13)(구체적으로, 오퍼레이터(134))는 상기 복수의 구간에 해당하는 복수의 오브젝트에 대한 데이터를 클라이언트 장치(30)로 순차적으로 제공할 수 있다.
구체적으로, 프로세서(13)(구체적으로, 확인기(132))는 제1 오브젝트에 대한 접근 요청에 대해서만 입장키 검증을 수행할 수 있다. 즉, 시작 오브젝트에 대한 접근 요청에 대해서 상기 입장키의 검증이 완료되면, 복수의 오브젝트 중 제1 오브젝트 이후의 오브젝트에 대한 접근 요청에 대해서는 입장키의 검증을 수행하지 않는다. 이와 같이, 시작 구간에서의 한번의 검증이 완료되면 이후 구간에서는(구간 제어가 종료될 때까지) 재검증을 수행하지 않기 때문에, 각 구간마다 입장키를 발급받아 검증할 필요가 없어 불필요한 대기 시간이 줄어들 수 있다.
또한, 프로세서(13)(구체적으로, 오퍼레이터(13))는 대기표에 포함된 입장순서에 기초하여 클라이언트 장치(30)로 제1 오브젝트에 대한 데이터를 제공하고, 복수의 오브젝트 중 제1 오브젝트 이후의 오브젝트에 대해서는 입장순서에 기초한 대기 없이 데이터를 제공할 수 있다. 즉, 입장키의 검증이 완료되면, 클라이언트 장치(30)는 시작 구간에서만 입장순서에 기초한 대기를 거친 후에 요청한 데이터를 제공받게 되고, 이후 구간에서는(구간 제어가 종료될 때까지) 서비스 서버(10)로 데이터 제공을 요청하면 입장순서에 기초한 대기 없이 바로 데이터를 제공받을 수 있게 된다. 이로써, 불필요한 대기 시간이 줄어들 수 있다.
서비스 서버(10)의 프로세서(13)는 유량 제어 서버(20)로 통합 대기 관리 종료를 요청할 수 있다(S150).
구체적으로, 프로세서(13)는 복수의 오브젝트 중 마지막 순서인 종료 오브젝트에 대한 데이터 제공이 완료되면, 유량 제어 서버(20)로 클라이언트 장치(30)에 대한 통합 대기 관리의 종료를 요청하고, 클라이언트 장치(30)에 발급된 대기표의 회수를 요청할 수 있다.
한편, 실시예에 따라, 서비스 서버(10)의 프로세서(13)는 유량 제어 서버(20)로 복수의 구간 중 특정 구간에 대한 개별 제어 방식으로의 전환을 요청할 수 있다.
즉, 클라이언트 장치(30)의 접근에 대해 구간 제어 방식으로 처리하다가, 특정 구간에서만 트래픽이 집중되는 경우, 프로세서(13)는 트래픽이 집중되는 구간을 감지하여 해당 구간에 대해서는 개별 제어 방식으로 전환하는 것을 결정할 수 있다. 이러한 결정에 따라 서비스 서버(10)의 프로세서(13)는 유량 제어 서버(20)로 트래픽이 집중되는 특정 구간에 대해서 구간 제어 방식에서 개별 제어 방식으로의 전환을 요청할 수 있다.
그리고, 이후에 해당 특정 구간에서 트래픽이 정상적인 수준으로 돌아오면, 프로세서(13)는 유량 제어 서버(20)로 해당 특정 구간에 대해서 개별 제어 방식에서 구간 제어 방식으로의 전환을 다시 요청할 수 있다.
여기서는 서비스 서버(10)가 특정 구간에 대한 제어 방식 전환을 판단하고, 이를 유량 제어 서버(20)로 요청하는 것으로 설명하였지만, 이에 제한되지 않고, 유량 제어 서버(20)가 직접 해당 동작을 수행할 수도 있다.
또한, 실시예에 따라, 서비스 서버(10)의 프로세서(13)는 복수의 구간 중 특정한 구간에 일정 시간 이상 머무르는 클라이언트 장치(30)로 프로세스 유지 의사를 확인하는 메시지를 전송할 수 있다.
서비스 서버(10)의 프로세서(13)는 클라이언트 장치(30)로부터 유지 의사가 없다는 응답을 수신하면, 유량 제어 서버(20)로 해당 클라이언트 장치(30)에 대한 통합 대기 관리의 종료를 요청할 수 있다.
여기서는 서비스 서버(10)가 클라이언트 장치(30)로 메시지를 전송하고 응답 결과에 따라 유량 제어 서버(20)로 종료 요청하는 것으로 설명하였지만, 이에 제한되지 않고, 유량 제어 서버(20)가 직접 해당 동작을 수행할 수도 있다.
또한, 실시예에 따라, 서비스 서버(10)의 프로세서(13)는 유량 제어 서버(20)에 의해 구간제어대상으로 설정된 프로세스(복수의 구간)를 분석하여 DB와 같이 병목에 취약한 자원을 집중적으로 소비하는 특정 구간이 있는 경우, 유량 제어 서버(20)로 해당 특정 구간의 제외를 요청할 수 있다.
이하에서는, 도 5를 참조하여, 유량 제어 서버(20)가 구간 제어 방식을 기반으로 트랜잭션의 유량을 제어하는 방법에 대해 상세히 설명하도록 한다.
도 5는 본 개시의 실시예에 따른 유량 제어 서버에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 5를 참조하면, 유량 제어 서버(20)의 프로세서(21)는 서비스 서버(10)로부터 제1 오브젝트를 포함한 복수의 구간에 대한 통합 대기 관리 요청을 수신할 수 있다(S210).
유량 제어 서버(20)의 프로세서(21)는 통합 대기 관리 요청을 수신하면, 해당 클라이언트 장치(20)에 적용할 프로세스(복수의 구간)를 결정할 수 있다. 프로세서(21)는 데이터 제공이 요청된 제1 오브젝트를 시작 오브젝트로 설정하고, 이후의 오브젝트는 시작 오브젝트를 기준으로 서비스 관련 데이터에 기초하여 설정될 수 있다. 여기서, 서비스 관련 데이터는 과거 서비스 데이터 및 서비스 프로세스의 분석 데이터를 포함할 수 있다.
보다 상세하게, 유량 제어 서버(20)의 프로세서(21)는 기존 과거 서비스 데이터 및 서비스 프로세스의 분석 데이터에 기초하여, 과거에 사용자들이 시작 오브젝트를 기점으로 서비스에 진입하여 어떤 순서로 서비스를 이용했는지를 판단하고, 이용 빈도가 높은 서비스를 오브젝트로 추출함으로써 클라이언트 장치(20)에 적용할 프로세스(복수의 구간)를 결정할 수 있다.
또한, 실시예에 따라, 유량 제어 서버(20)의 프로세서(21)는 데이터 제공이 요청된 제1 오브젝트를 기준으로 프로세스를 설정하는 것이 아니라, 서비스 서버(10)로부터 시작 오브젝트가 선택되면, 과거 서비스 데이터 및 서비스 프로세스의 분석 데이터를 기초로 나머지 오브젝트를 선택하여 프로세스를 생성할 수 있다. 그리고 유량 제어 서버(20)는 이후에 클라이언트 장치(30)에 의해 선택된 제1 오브젝트에 기초하여, 미리 생성된 복수의 프로세스 중에서 특정 프로세스를 추출하여 클라이언트 장치(30)의 통합 대기 관리를 위해 적용할 수 있다.
유량 제어 서버(20)의 프로세서(21)는 통합 대기 관리를 위한 대기표를 생성하여 클라이언트 장치(30)로 송신할 수 있다(S220).
유량 제어 서버(20)의 프로세서(21)는 서비스 서버(10)로부터 통합 대기 관리의 종료 요청 및 대기표의 회수 요청을 수신할 수 있다(S230). 유량 제어 서버(20)의 프로세서(21)는 클라이언트 장치(30)로부터 대기표를 회수하고 상기 클라이언트 장치(30)에 대한 통합 대기 관리를 종료할 수 있다.
S210 내지 S230에 대한 구체적인 내용은 위에서 도 4를 참조하여 설명한 내용과 수행 주체만 다를뿐 동일하므로, 구체적인 설명은 생략하도록 한다.
이하에서는, 도 6을 참조하여, 클라이언트 장치(30)가 구간 제어 방식을 기반으로 트랜잭션의 유량을 제어하는 방법에 대해 상세히 설명하도록 한다.
도 6은 본 개시의 실시예에 따른 클라이언트 장치에 의해 수행되는 구간 제어 방식 기반의 유량 제어 방법의 순서도이다.
도 6을 참조하면, 클라이언트 장치(30)는 서비스 서버(10)로 특정 오브젝트(제1 오브젝트)에 대한 접근을 요청할 수 있다(S310).
클라이언트 장치(30)는 유량 제어 서버(20)로부터 복수의 구간에 대한 통합 대기 관리를 위한 대기표를 수신할 수 있다(S320).
클라이언트 장치(30)는 상기 대기표를 서비스 서버(10)로 제공할 수 있다(S330).
상기 대기표에 대한 검증이 완료되면, 클라이언트 장치(30)는 서비스 서버(10)로부터 상기 복수의 구간에 해당하는 복수의 오브젝트에 대한 데이터를 순차적으로 수신할 수 있다(S340).
S310 내지 S340에 대한 구체적인 내용은 위에서 도 4를 참조하여 설명한 내용과 수행 주체만 다를뿐 동일하므로, 구체적인 설명은 생략하도록 한다.
이하에서는 도 7 및 도 8을 참조하여 콘텐츠 서비스 제공 시 연속적인 흐름을 갖는 접근에 대한 처리 방식에 있어서, 종래의 방식과 본 개시의 방식을 비교하여 설명하도록 한다.
도 7은 종래의 콘텐츠 서비스 내에서 연속적인 흐름을 갖는 접근에 대한 처리 방식을 설명하기 위한 예시도이다.
도 8은 본 개시의 실시예에 따른 콘텐츠 서비스 내에서 연속적인 흐름을 갖는 접근에 대한 구간 제어 방식을 설명하기 위한 예시도이다.
도 7을 참조하면, 종래의 처리 방식은 복수의 콘텐츠 서비스 요청이 개별 큐로 생성되어 각각에 리소스가 할당되는 방식이다. 구체적으로, 서비스를 이용하는 사용자가 순차적으로 로그인 요청하고 상품 탐색을 요청하고 결제를 요청할 때, 각각의 동작에 대해서 대기표가 생성되고, 각 동작은 해당 대기표에 대응하는 대기를 거친 후에 각각의 실행 모듈에 의해 수행된다. 즉, 종래의 처리 방식은 로그인 요청→대기표 1 생성 및 검증→대기표 1에 따른 대기→실행 모듈 1 동작→로그인 데이터 수신→대기표 1 반환→상품 탐색 요청→대기표 2 생성 및 검증→대기표 2에 따른 대기→실행 모듈 2 동작→상품 탐색 데이터 수신→대기표 2 반환→결제 요청→대기표 3 생성 및 검증→대기표 3에 따른 대기→실행 모듈 3 동작→결제 데이터 수신→대기표 3 반환의 과정을 거쳐야 하기 때문에, 불필요한 대기 시간이 길고 서비스 리소스를 효율적으로 활용하지 못한다는 문제가 있다.
도 8을 참조하면, 본 개시에 따른 처리 방식은 복수의 콘텐츠 서비스 요청이 하나의 큐로 생성되어 리소스가 할당되는 방식이다. 구체적으로, 서비스를 이용하는 사용자가 순차적으로 로그인 요청하고 상품 탐색을 요청하고 결제를 요청할 때, 각각의 동작을 위한 하나의 대기표(통합 대기표)가 생성되고, 하나의 대기표에 대응하는 한번의 대기만 거친 후에 복수의 동작은 각각의 실행 모듈에 의해 수행된다. 즉, 본 개시에 따른 처리 방식은 로그인, 상품 탐색, 결제 동작을 구간제어대상으로 설정→대기표 생성 및 검증→대기표에 따른 대기→실행 모듈 1 동작→로그인 데이터 수신→실행 모듈 2 동작→상품 탐색 데이터 수신→실행 모듈 3 동작→결제 데이터 수신→대기표 반환의 과정을 거친다. 이는 종래의 방식에 비해 훨씬 단순화되었으며, 종래의 방식에 비해 대기 시간이 짧고 서비스 리소스를 효율적으로 활용할 수 있다.
도 4 내지 도 6은 단계들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 4 내지 도 6에 기재된 단계들의 순서를 변경하여 실행하거나 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 4 내지 도 6에 기재된 단계들은 시계열적인 순서로 한정되는 것은 아니다.
한편, 상술한 설명에서, 도 4 내지 도 6에 기재된 단계들은 본 개시의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
10: 서비스 서버
11: 통신부
12: 메모리
13: 프로세서
131: 큐 매니저
132: 확인기
133: 오퍼레이터
20: 유량 제어 서버
21: 통신부
22: 메모리
23: 프로세서
231: 큐 매니저
232: 암호화기
30: 클라이언트 장치

Claims (10)

  1. 통신부; 및
    상기 통신부와 연결되어 구간제어방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고,
    상기 프로세서는 클라이언트장치로부터 제1오브젝트에 대한 접근요청을 수신하면 유량제어서버로 복수의 구간에 대한 통합대기관리를 요청하고, 상기 클라이언트장치로부터 상기 통합대기관리를 위한 상기 클라이언트장치의 입장순서가 포함된 대기표를 수신하면 상기 대기표에 포함된 입장키에 대한 검증을 수행하고,
    상기 구간제어방식은 연속적인 흐름을 갖는 상기 복수의 구간에 대응하는 복수의 오브젝트에 대한 복수의 접근요청을 하나의 큐로 생성하여 리소스를 할당하여 상기 통합대기관리를 수행하는 것이고,
    상기 제1오브젝트는 상기 복수의 구간 중 첫번째 구간에 대응하는 시작오브젝트이고,
    상기 복수의 구간 중 상기 첫번째 구간에서의 접근요청에 대해서만 상기 검증 및 상기 입장순서에 기초한 대기가 수행되고, 상기 첫번째 구간 이후의 나머지 구간에 대해서는 상기 검증 및 상기 대기가 수행되지 않고,
    상기 나머지 구간은 과거 서비스 데이터 및 서비스 프로세스의 분석을 통해 추출된 이용 빈도가 높은 콘텐츠 서비스로 설정되는, 구간제어방식 기반의 유량 제어를 위한 서비스서버.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 프로세서는 상기 복수의 구간 중에서 마지막 구간에 대응하는 종료오브젝트에 대한 데이터 제공이 완료되면, 상기 유량제어서버로 상기 통합대기관리의 종료 및 상기 대기표의 회수를 요청하는, 구간제어방식 기반의 유량 제어를 위한 서비스서버.
  5. 삭제
  6. 삭제
  7. 통신부; 및
    상기 통신부와 연결되어 구간제어방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고,
    상기 프로세서는 서비스서버로부터 제1오브젝트를 포함한 복수의 구간에 대한 통합대기관리 요청을 수신하면, 상기 통합대기관리를 위한 클라이언트장치의 입장순서가 포함된 대기표를 생성하여 상기 클라이언트장치로 송신하고,
    상기 구간제어방식은 연속적인 흐름을 갖는 상기 복수의 구간에 대응하는 복수의 오브젝트에 대한 복수의 접근요청을 하나의 큐로 생성하여 리소스를 할당하여 상기 통합대기관리를 수행하는 것이고,
    상기 제1오브젝트는 상기 복수의 구간 중 첫번째 구간에 대응하는 시작오브젝트이고,
    상기 대기표에 포함된 입장키는 상기 서비스서버에 의해 검증되고,
    상기 복수의 구간 중 상기 첫번째 구간에서의 접근요청에 대해서만 상기 검증 및 상기 입장순서에 기초한 대기가 수행되고, 상기 첫번째 구간 이후의 나머지 구간에 대해서는 상기 검증 및 상기 대기가 수행되지 않고,
    상기 나머지 구간은 과거 서비스 데이터 및 서비스 프로세스의 분석을 통해 추출된 이용 빈도가 높은 콘텐츠 서비스로 설정되는, 구간제어방식 기반의 유량 제어를 위한 유량제어서버.
  8. 제7 항에 있어서,
    상기 검증 및 상기 대기가 완료되면 상기 복수의 오브젝트에 대한 데이터가 상기 클라이언트장치로 순차적으로 제공되는, 구간제어방식 기반의 유량 제어를 위한 유량제어서버.
  9. 통신부; 및
    상기 통신부와 연결되어 구간제어방식을 기반으로 유량을 제어하기 위한 프로세서를 포함하고,
    상기 프로세서는 서비스서버로 제1오브젝트에 대한 접근을 요청하고, 유량제어서버로부터 복수의 구간에 대한 통합대기관리를 위한 입장순서가 포함된 대기표를 수신하고, 상기 대기표를 상기 서비스서버로 제공하고,
    상기 구간제어방식은 연속적인 흐름을 갖는 상기 복수의 구간에 대응하는 복수의 오브젝트에 대한 복수의 접근요청을 하나의 큐로 생성하여 리소스를 할당하여 상기 통합대기관리를 수행하는 것이고,
    상기 제1오브젝트는 상기 복수의 구간 중 첫번째 구간에 대응하는 시작오브젝트이고,
    상기 대기표에 포함된 입장키는 상기 서비스서버에 의해 검증되고,
    상기 복수의 구간 중 상기 첫번째 구간에서의 접근요청에 대해서만 상기 검증 및 상기 입장순서에 기초한 대기가 수행되고, 상기 첫번째 구간 이후의 나머지 구간에 대해서는 상기 검증 및 상기 대기가 수행되지 않고,
    상기 나머지 구간은 과거 서비스 데이터 및 서비스 프로세스의 분석을 통해 추출된 이용 빈도가 높은 콘텐츠 서비스로 설정되는, 구간제어방식 기반의 유량 제어를 위한 클라이언트장치.
  10. 제9 항에 있어서,
    상기 프로세서는 상기 복수의 구간 중에서 마지막 구간에 대응하는 종료오브젝트에 대한 데이터가 수신된 후, 상기 유량제어서버로부터 상기 대기표의 회수 요청을 수신하면 상기 통합대기관리의 종료를 위해 상기 유량제어서버로 상기 대기표를 반환하는, 구간제어방식 기반의 유량 제어를 위한 클라이언트장치.
KR1020220190035A 2022-12-30 2022-12-30 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법 KR102519061B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220190035A KR102519061B1 (ko) 2022-12-30 2022-12-30 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법
PCT/KR2023/021823 WO2024144299A1 (ko) 2022-12-30 2023-12-28 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220190035A KR102519061B1 (ko) 2022-12-30 2022-12-30 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Publications (1)

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

Family

ID=85918366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220190035A KR102519061B1 (ko) 2022-12-30 2022-12-30 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102519061B1 (ko)
WO (1) WO2024144299A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144299A1 (ko) * 2022-12-30 2024-07-04 주식회사 에스티씨랩 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090112532A (ko) * 2008-04-24 2009-10-28 (주)에임투지 대기표 관리 방법, 리소스 관리 방법 및 트랜잭션 서버
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR20190007635A (ko) * 2017-07-13 2019-01-23 주식회사 언빈 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템
KR20220103901A (ko) * 2020-07-14 2022-07-25 쿠팡 주식회사 극히 높은 서버 가용성을 위해 네트워크 부하를 밸런싱하는 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160073893A (ko) * 2014-12-17 2016-06-27 (주)에임투지 사용자 서비스 품질 기반 실시간 진입 허용수 관리 장치 및 그 방법
KR102215031B1 (ko) * 2020-07-22 2021-02-10 주식회사 데브와이 분산서버 환경에서 대기접속자에 대한 접속처리방법
KR102519061B1 (ko) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090112532A (ko) * 2008-04-24 2009-10-28 (주)에임투지 대기표 관리 방법, 리소스 관리 방법 및 트랜잭션 서버
KR101654266B1 (ko) 2014-12-18 2016-09-05 (주)에임투지 웹 접속 관리 시스템을 통한 모니터링 기능을 제공하는 모니터링 장치
KR20190007635A (ko) * 2017-07-13 2019-01-23 주식회사 언빈 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템
KR20220103901A (ko) * 2020-07-14 2022-07-25 쿠팡 주식회사 극히 높은 서버 가용성을 위해 네트워크 부하를 밸런싱하는 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144299A1 (ko) * 2022-12-30 2024-07-04 주식회사 에스티씨랩 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
US8473352B2 (en) Consumer due diligence for money transfer systems and methods
CN110728455B (zh) 业务处理方法、业务处理装置、存储介质与电子设备
US11783393B2 (en) Optimization of data queue priority for reducing network data load speeds
CN108984553B (zh) 缓存方法和装置
US20170127300A1 (en) Online and distributed optimization framework for wireless analytics
US10616356B2 (en) Optimization of asynchronous pushing of web resources
CN104156232B (zh) 在线性页面结构下用于页面非线性跳转的方法和设备
KR102519061B1 (ko) 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법
KR102531621B1 (ko) 클라우드 기반 유량제어 비용 최적화를 위한 리소스 최적화 서버, 시스템 및 방법
CN112686528A (zh) 用于分配客服资源的方法、装置、服务器和介质
KR102519009B1 (ko) 접속 대기 화면의 정보 제공을 위한 대기열 관리 장치 및 방법
KR102519073B1 (ko) 디지털 서비스 기반 트래픽 오케스트레이션을 위한 진입 관리 서버, 시스템 및 방법
KR102543972B1 (ko) 디지털 서비스 기반 진입 관리 대상의 자동 조정을 위한 진입 관리 방법 및 서버
KR102519010B1 (ko) 디지털 서비스 기반의 병목 구간 별 진입 대상을 관리하기 위한 진입 관리 서버, 방법 및 프로그램
KR102521744B1 (ko) 디지털 서비스 기반 유량 제어 서버, 방법 및 api 유량 제어 시스템
KR102559351B1 (ko) 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버
KR102519051B1 (ko) 디지털 서비스 기반 로드 밸런싱을 위한 대기열 관리 방법, 로드 밸런서 및 대기열 관리 시스템
KR102519056B1 (ko) 다중 uri 기반 대기열 관리 장치 및 방법
US20220051294A1 (en) Systems and methods for identifying internet users in real-time with high certainty
EP2868069B1 (en) Processing requests
KR102522910B1 (ko) 프록시 방식의 서비스 지속성 보장 시스템 및 방법
CN112580975A (zh) 业务流程处理方法和装置
KR102519008B1 (ko) 디지털 서비스 기반 대기열 사용자의 ab 테스트를 진행하기 위한 진입 관리 서버, 방법
JP6750248B2 (ja) 制御装置及び制御方法
CN113824675A (zh) 管理登录态的方法和装置

Legal Events

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