KR102047088B1 - 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템 - Google Patents

네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템 Download PDF

Info

Publication number
KR102047088B1
KR102047088B1 KR1020170088859A KR20170088859A KR102047088B1 KR 102047088 B1 KR102047088 B1 KR 102047088B1 KR 1020170088859 A KR1020170088859 A KR 1020170088859A KR 20170088859 A KR20170088859 A KR 20170088859A KR 102047088 B1 KR102047088 B1 KR 102047088B1
Authority
KR
South Korea
Prior art keywords
terminal
providing server
service providing
manager agent
service
Prior art date
Application number
KR1020170088859A
Other languages
English (en)
Other versions
KR20190007635A (ko
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 KR1020170088859A priority Critical patent/KR102047088B1/ko
Publication of KR20190007635A publication Critical patent/KR20190007635A/ko
Application granted granted Critical
Publication of KR102047088B1 publication Critical patent/KR102047088B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/823Prediction of resource usage
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • 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

Abstract

본 발명의 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계, 정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계 및 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함한다. 본 발명에 의하면, 네트워크, 서버 등의 리소스 자원을 클라우드 환경 또는 물리적 환경에서 한정하거나 이를 동적으로 관리함으로써, 사용자의 접속 환경을 대폭 개선하는 효과가 있다.

Description

네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템 {Method for allocating resource in network system, and network system implementing the same}
본 발명은 네트워크 시스템에서의 리소스 할당 방법에 관한 것으로서, 더욱 상세하게는 네트워크 상에 접속 섹션, 입출력(IO) 로드 등을 포함하는 리소스(resource)를 안정적으로 운영하기 위하여, 리소스를 균등하게 배분하고, 접속 단말의 비정상적인 반복 접속 과정을 루프 백 과정을 통해 대기시키고, 해당 네트워크 시스템의 리소스가 활용 가능 할 경우 루프 백을 해제하고 능동적으로 리소스를 할당하는 방법에 관한 것이다.
최근 정보화 사회가 발달함에 따라 고속 데이터 전송과 대용량 스토리지를 사용하는 클라우드 서비스가 활발하게 진행되고 있다.
일반적으로 클라우드 컴퓨팅(Cloud Computing)이란 프로그램이나 자료를 인터넷으로 접속할 수 있는 대형 컴퓨터에 저장하여 PC, 휴대폰과 같은 각종 단말기로 원격에서 원하는 작업을 수행할 수 있는 사용 환경이다.
클라우드 컴퓨팅은 분산 처리 기술과 가상화 기술을 이용하여 스토리지, 네트워크, 플랫폼 및 컴퓨터 리소스를 사용자가 손쉽게 대여할 수 있도록 해주기 때문에 사용자는 인터넷 접속과 연산 기능을 갖춘 단말기만 갖고 있다면 어디서나 전산 작업이 가능하다. 클라우드(Cloud)란 서비스를 제공하기 위한 컴퓨터 집합을 의미한다. 즉, 클라우드 컴퓨팅은 수많은 PC 또는 서버들이 하나의 커다란 구름(Cloud) 모양의 집합을 이루는 것을 말한다.
클라우드 컴퓨팅은 인터넷 기술을 활용하여 다수의 고객들에게 높은 수준의 확장성을 가진 IT 자원들을 서비스로 제공하는 컴퓨팅이라 할 수 있다. 클라우드 컴퓨팅 환경에서 사용자들은 인터넷이 연결된 단말을 통해 대용량의 컴퓨터 집합에 접속하여 애플리케이션, 스토리지, OS, 보안 등 필요한 IT 자원을 원하는 시점에 필요로 하는 만큼 골라서 사용하게 되며, 사용량에 기반하여 대가를 지불한다.
클라우드 컴퓨팅은 분산처리 기술과 가상화 기술을 이용하여 스토리지, 네트워크, 플랫폼과 컴퓨팅 리소스를 사용자가 손쉽게 대여할 수 있다. 클라우드 컴퓨팅은 다양한 응용 프로그램들을 수용할 수 있는 잘 관리되고 높은 확장성을 갖는 추상화된 컴퓨팅 인프라 집합이다. 이러한 개념은 유틸리티 컴퓨팅이나 서비스로서의 소프트웨어(Software As A Service, SaaS), 그리고 그리드(Grid) 컴퓨팅 개념들이 혼합된 개념이다.
서버 및 네트워크 비용 및 관리에 있어서도, 효율성 등을 고려하여 클라우드 컴퓨팅 환경이 일반화 되고 있는 상황이다. 하지만 클라우드 컴퓨팅이라 할 지라도 물리적으로는 리소스의 제약이 있게 되고, 또한 평상시 트래픽에 비해 이벤트나 특별한 폭주 상황에서 리소스를 추가로 할당하는 것이 비용적인 측면이나 관리 측면에서 용이하지 않을 수 있다.
단지 클라우드 컴퓨팅 환경이 아니라 물리적 서버를 통하여 운영하는 경우에도 마찬가지로 어플리케이션 서버, 웹 서버, 동영상 서버, DB서버 등의 한정된 자원을 단기적인 트래픽 증가에 대비하여 미리 확장해 놓을 수는 없는 문제가 있다.
이러한 문제점을 해결하고자, 기존에 대기표 관리에 위한 제한 트래픽 제어(Limited Traffic Control) 방법에 대한 기술 및 시스템이 존재하지만, 정상 접속 단말과 비정상 접속 단말(예를 들어, DDos, 악의적 반복 접속)에 대해 구분하지 못하므로, 제어장비 및 소프트웨어에 할당 요구가 집중될 경우, 이를 처리하지 못하는 문제가 발생할 뿐 더러, 정상 단말의 접속을 방해하는 등의 문제가 있다.
대한민국 등록특허 10-1531834
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 한정된 리소스의 네트워크 환경에서 트래픽을 예측하여 단말들에 할당하고, 할당이 불가능할 경우, 루프 백 방식에 의해 단말들을 대기시키고, 비정상 접속 단말의 접속을 차단하는 등의 네트워크 시스템에서의 리소스 할당 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명의 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계, 정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계 및 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함한다.
상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서, 상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다.
상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다.
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계, 상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계 및 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함할 수 있다.
상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다.
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다.
본 발명의 네트워크 시스템은 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버 및 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함한다.
그리고, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당한다.
상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다.
상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다.
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시킬 수 있다.
상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다.
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다.
본 발명에 의하면, 네트워크, 서버 등의 리소스 자원을 클라우드 환경 또는 물리적 환경에서 한정하거나 이를 동적으로 관리함으로써, 사용자의 접속 환경을 대폭 개선하는 효과가 있다.
또한, 본 발명에 의하면, 하드웨어의 리소스와 상관없이 일시적으로 대용량 서비스 또는 한정된 제어 서비스를 가능하게 하는, 소프트웨어 방식의 트래픽 제어 분산을 가능하게 함으로써, 다양한 서비스 환경을 제공할 수 있는 장점이 있다.
또한, 별도의 어플리케이션 없이 서버와 사용자 사이의 트래픽 량, 부하 정도, 체감 속도 등을 부하 예측을 위해서 실시간 모니터링을 함으로써, 서비스 리소스의 상태와 상관없이 사용자 관점에서 서비스 상태와 품질이 향상되는 효과를 가져올 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 개념도이다.
도 2는 본 발명의 일 실시예에 따른 사용자가 서버 접속시 개략적인 서비스 흐름을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 단말 인증 과정을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 서비스 접속 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 두가지 형태의 망에 대한 접속 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 도 5에 도시된 단말이 사설망에 접속하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 PC에서 모바일로 섹션 정보를 이전하는 경우의 처리 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 가용성 측정 과정을 설명하기 위한 개념도이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 대기열과 시스템 대기열을 동기화하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 대기열 관리 구성도이다.
도 11은 본 발명의 일 실시예에 따른 사용자 접속 클라이언트 세션 측정 정보를 나타낸 도표이다.
도 12는 본 발명의 일 실시예에 따른 접속 서비스 서버 변화량 측정 정보를 나타낸 도표이다.
도 13은 본 발명의 일 실시예에 따른 예측 데이터에 따른 통계적 기록을 나타낸 도표이다.
본 발명의 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계, 정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계 및 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함한다.
상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서, 상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다.
상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다.
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계, 상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계 및 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함할 수 있다.
상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다.
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다.
본 발명의 네트워크 시스템은 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버 및 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함한다.
그리고, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당한다.
상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다.
상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다.
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시킬 수 있다.
상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다.
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 갖는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 본 발명의 실시예에서는 클라우드 컴퓨팅 환경이 구축되어 있는 클라우드(Cloud) 시스템을 예시하여 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 개념도이다.
도 1의 실시예에서, 트래픽 제어 및 분산을 위한 요청 단말의 종류를 크게 4가지 상태로 예시한 실시예이다.
도 1에서 보는 바와 같이, 단말#1은 현재 예측된 트래픽 및 설정된 값에 의하여 바로 접속이 가능한 단말이고, 단말#2 및 단말#3은 대기 열에 포함되어 순번을 기다려야 하는 대기 단말이다. 그리고, 단말#4는 자동 접속 프로그램 등에 의해 연속 접속을 시도하는 자동 접속 단말이고, 단말#5는 악성코드 등 DDos 공격용 에이전트에 의한 단말이다. 이러한 단말 구성은 설명의 편의를 위하여 예시한 것이며, 실시예에 따라 다양한 단말의 종류와 개수로 구현될 수 있음은 당연하다.
바로 접속이 허용되는 단말#1의 경우, 매니저 에이전트(10)는 바로 접속을 허용하고(S101), 해당 섹션이 접속되었을 시 트래픽, 섹션 수, 시스템의 부하 등의 정보를 클라우드 시스템(100)에 통보하여 제어 카운트를 하나 증가시킨다(S102). 그리고, 이 제어카운트가 미리 설정된 값이나, 클라우드 시스템(100) 부하의 임계 치에 도달하였다고 판단될 경우, 다음 접속 단말의 순서 번호에 대하여 매니저 에이전트(10)의 대기 열과 클라우드 대기 열 리스트(20)를 동기화 시킨다.
대기 단말인 단말#2, #3의 경우, 순번에 따라 대기 열 리스트(20)에 추가한다. 그리고, 클라우드 시스템(100)에 설정된 대기화면을 단말#2, #3에 전송하거나 또는 서비스 클라우드(190)에 따라 대기할 시간, 순번, 서비스 URL을 단말#2, #3에 전송하여 로컬 시스템에서 대기하도록 한다(S103).
도 1에서 보는 바와 같이, 전술한 일련의 과정을 수행하는 클라우드 시스템(100)에는 API(Application programming interface) 가상 머신(Virtual machine)(170), 클라우드 가상 머신(Virtual machine)(180), 서비스 클라우드 가상 머신(190)을 포함하는 구성 요소가 논리적으로 포함되어 있다.
이와는 별도로 사용자의 설정에 의하여 임시 트래픽을 분산할 경우, 예를 들어 서버 혹은 서비스의 임계 치가 100이라 할 때, 이 임계 치를 초과하는 경우를 대비하여 클라우드 시스템(100)의 구성요소에서 클라우드 가상 머신(108)의 해당 인스턴스가 임시로 복제되어 클라우드 가상 머신 VM#2를 구성함으로써, 임계 치를 넘어서는 리소스에 대하여 대기상태로 있게 된다.
이러한 과정에서 해당 사용자 서버의 관리시스템의 API 가상 머신(170)의 제어에 의해, 해당 에이전트(Agent)의 제어 방법을 수시로 업데이트할 수 있다.
이러한 트래픽 제어를 넘어서 임시 분산하는 경우에 해당 서버에서 다중의 이벤트를 가능하게 하고, 임계치를 넘어서는 경우 클라우드 시스템에서 이를 처리 할 수 있도록 하는 이점(利點)이 있다.
비정상 접속 단말인 단말#4, 단말#5의 경우는 매니저 에이전트(10)에 내장된 웹 스크립트 공격 감지 엔진에서 감지하거나, 또는 클라우드 시스템(100)에서 제공할 수 있는 DDos 감지를 위한 방화벽 엔진에 의해 이를 감지하고, 해당 단말로 루프 백 스크립트를 전송하는 방식으로, 이를 일차적으로 차단하여 더 이상의 접속을 막는다.
또한, 매니저 에이전트(10)가 이러한 방어 엔진을 작동시키는 데 있어서, 리소스의 한계나 네트웍 트래픽의 한계 등으로 인하여 감지가 힘들 경우, 클라우드 시스템(100)과 연동된 API를 통하여 통제를 받는 방식으로 이러한 방어 과정을 수행한다.
단말#4의 경우, 자동 접속 시스템이 아니라 사용자의 반복적인 접속에 대한 오류 탐지의 가능성을 배제할 수 없기 때문에, 봇에 의한 접속이 아니라는 것을 체크하기 위하여 캡차(CAPTCHA) 등의 인증 스크립트를 수행하고, 인증 스크립트를 통해 인증에 성공하면 봇 방어를 해제하고 정상 응답을 확인하여 대기 열 리스트(20)에 정상으로 등록된다.
도 2는 본 발명의 일 실시예에 따른 사용자가 서버 접속시 개략적인 서비스 흐름을 나타낸 도면이다. 도 2에서 사용자가 해당 서비스 서버인 웹 서버, 네트웍 서버 접속 시 개략적인 서비스의 흐름 제어를 보여주고 있다.
도 2를 참조하면, 사용자가 서비스를 이용하기 위하여 접속하는 과정은, 먼저 사용자가 단말을 통해 접속을 요청하면(S201), 클라우드 시스템(100)은 셀프(Self) 응답 화면을 단말에 전송하여, 대기 순번, 대기시간을 포함한 정보를 사용자측의 단말 화면에 표시하도록 한다(S202).
그리고, 리소스 사용이 가능한 상태가 되면, 서버에서는 사용자 단말에 능동적으로 접속하여 순번이 되었음을 알리고(Active pushing)(S203), 대기 화면을 종료시키고, 서비스 서버로 연결하여 서비스를 제공한다(S204).
본 발명에서는 정상 단말, 비정상 단말, 정보를 연속적으로 요청하는 단말을 구별하기 위하여, 웹 브라우저 접속 시 이를 인증하여 페어 키를 생성하고, 이를 통하여 단일 섹션으로 웹 서버 등의 서비스 서버와 유일한 접속 단말 임을 인증하는 구조를 제안한다.
도 3은 본 발명의 일 실시예에 따른 단말 인증 과정을 보여주는 흐름도이다.
도 3에서 보는 바와 같이, 단말의 클라이언트 웹브라우저가 URL 접속을 시도할 경우(S300), 매니저 에이전트(10)는 연결 섹션 검증을 접속 요청한 유저(User)의 에이전트 정보 및 접속 주소를 전송하고, 가상 에이전트나 요청한 정보에서 바인딩 되어 있지 않은 요청일 경우, 이를 중복처리하여 더 이상의 섹션을 생성하지 않고 브라우저로 돌려 보낸다(S301). 중복접속임을 비교하기 위한 방법에 대해 살펴 보면, 예를 들어 흔히 쓰이는 인터넷 익스플로러 에이전트는 헤더에 다음과 같은 정보를 포함한다.
(a)Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; IPMS/(b)A640400A-14D460801A1-000000426571; TCO_20110131100426; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; Tablet PC 2.0)
이러한 헤더 형식은 각 브라우저 별로 다르며, 일반적으로 접속 OS, 브라우저 엔진 정보, 버전(a) 등이 포함되어 있고, 생성된 에이전트의 단일 아이디(b) 등이 포함되어 있다. 이를 등록된 브라우저 에이전트 정보(307)와 비교하여 토큰 바인딩 정보(310)를 요청한다(S302).
그리고, 바인딩 된 정보가 도착하면(S303), 변조 여부를 비교하여 가상 에이전트의 경우 이를 블록시킨후 사용자 재 인증을 요청하게 된다.
정상 에이전트의 경우, 페어 키(Pair key)를 생성하고(S304), 토큰을 바인딩하여 신뢰 있는 섹션을 형성하게 된다. 이렇게 생성된 페어 키는 이후 다시 반복 접속이나 재 접속, 부속 단말기의 재 인증에 단일 단말과 섹션으로 인정되는 단일 키로 이용되게 된다.
그리고, 매니저 에이전트(10)는 인증키를 포함하는 정보를 웹 브라우저에 전송한다(S305). 이때, 사용되는 인증 정보의 전송 형식은 SAML, JSON, XML 등이 이용되며, 웹 브라우저의 해석 엔진에 따라 규격화되어 전송된다.
이러한 일련의 과정에서 인증된 단말은 대기열의 상태에 따라 루프 백 대기 과정을 거친 후(S306), 서비스 연결이 되거나 직접 서비스 연결 전송을 통하여 서비스를 이용하게 된다(S307).
도 4는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 서비스 접속 과정을 설명하기 위한 도면이다.
도 4는 대기 열에 등록된 사용자 단말에 대해 접속을 허용하기 위한 과정을 도시하고 있으며, 도 4를 참조하여 최초 접속 요청 후 루프 백 클라이언트가 작동하고 있는 단말에 대해 서비스 접속을 시키기 위한 과정에 대해서 설명하기로 한다.
도 4를 참조하면, 단말이 연결 요청(S400)에 의하여 원하는 서비스(408)에 접속을 요청할 경우, 매니저 에이전트(10)는 응답 페이지 또는 응답 스크립트를 단말에 전송한다(S401). 이 응답 스크립트에는 접속이 즉시 허용되었음을 명기하는 인증 섹션 번호나, 대기 열 섹션 매니저(403)의 계산에 의한 순번 및 대기시간을 포함한 스크립트 클라이언트 정보가 포함되어 있다.
오프라인 방식으로 루프 백 클라이언트(402)가 요청 받은 대기시간에 기초하여 더 이상의 접속을 사용자가 시도하더라도, 전송 받은 스크립트 프로토콜에 기초하여 로컬에서 대기하게 된다. 이렇게 로컬에 설치된 루프 백 클라이언트(402)는 더 이상의 접속없이, 인증된 단말의 요청 받은 순번과 대기시간에 기초하여, 사용자 브라우저에 대한 대기시간, 접속 순번 등을 자동으로 갱신하게 된다.
그리고, 해당 서비스 서버에 리소스 모니터링(S406)의 과정을 통해 설정이 변경되거나, 섹션의 변화가 생겨 해당 단말의 접속이 가능할 경우, 클라우드에 동기화된 대기 열 섹션 매니저 가용 여부를 통지한다(S409).
그리고, 클라우드 시스템(100)은 클라우드 대기 열 정보의 순번에 기초하여 순서를 재배열하고, 액티브 푸싱(Active pushing)(S404) 과정을 통해 변경된 순번 및 대기시간을 루프 백 클라이언트(402)에 전송하여 스크립트 대기시간을 변경시켜 표시하도록 한다.
그리고, 액티브 푸싱(S404) 이후, 클라우드 시스템(100)은 루프 백 클라이언트(402)에 서비스 개시를 알리는 서비스 푸싱(Service pushing)을 실시한다.
이 과정에서 사용자 루프 백이 걸린 단말은 능동 접속이 가능한 공개 망(public Network)에 접속할 수도 있고, 또는 통제를 받는 망인 사설 망(Private Network)이나 방화벽이 있는 망에 접속할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 두가지 형태의 망에 대한 접속 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 공개 망에 접속하는 단말(480)의 경우는 오픈 되어 있는 형태로 서로 교환한 키에 의하여 바로 접속이 가능하지만, 사설 망에 접속하는 단말(470)의 경우는 네트워크 특성상 능동 형 접속이 불가능하다. 따라서, 본 발명에서 비 연결 클라이언트와 접속을 위하여, NAT(Network address Translation) 또는 NAPT(Network Address and Port Translation)와 같은 능동 형 접속을 위한 주소 변환 기법을 이용하여, 사설 망 및 방화벽 안에 존재하는 단말(470)을 단일하게 구분하고 이를 통하여 가용 시 서비스 접속을 허용하는 방법을 사용하게 된다.
도 6은 본 발명의 일 실시예에 따른 도 5에 도시된 단말이 사설망에 접속하는 과정을 설명하기 위한 도면이다.
도 6에서는 도 5에서의 사설망에 포함되어 있는 단말을 유일 단말로 인증하기 위하여, 서버에 토큰으로 저장되는 정보와 이를 통하여 서버에서 능동형 접속 통보 시, 클라이언트에 헤더를 변경하여 접속하는 과정을 도시하고 있다.
도 6에서 보는 바와 같이, 해당 클라이언트는 내부에서 할당된 내부 주소 192.168.0.2를 가지고 있고, 서비스를 제공할 에이전트 및 웹 서버에 접속시 공개된 주소는 200.1.1.1이라 가정하자. 이 경우 해당 사설 망에 속해 있는 모든 단말은 능동 형 접속이 아닌 경우 200.1.1.1이라는 주소로 동일하게 접속하게 되고, 브라우저 등의 클라이언트의 헤더 정보만으로 구분해야 하는 비 합리성이 있다.
본 발명에서는 이를 해결하기 위하여 접속 클라이언트가 내부 주소 및 포트를 포함하는 주소를 헤더 정보에 포함하여 전송하고(S601), 공개 망과 달리 사설, 공개 포인트 정보를 토큰 생성에 사용한다(S602). 이 과정에서 서비스를 제공하는 에이전트 서버 또는 웹 서버는 수신 패킷의 페이로드를 통해 목적지 주소를 알 수 있고, 이렇게 생성된 연결을 통하여 내부망에 있는 클라이언트 A가 패킷을 수신할 수 있도록 패킷 정보를 변경한다.
이후 클라이언트는 네트웍 헤더 및 브라우저 에이전트에 포함되는 바인딩 정보를 수신하는데, 바인딩 정보는 내부 포트번호와 외부 포트 번호를 포함한다. 이러한 정보는 루프 백 클라이언트 스크립트에 같이 저장된다. 따라서, 서버에서 대기 열의 순번이 되어 클라이언트와의 접속이 필요할 경우, NAT에서는 접속하는 해당 연결 섹션의 모든 아이피와 포트를 해당 단말로 직접 전송하게 된다. 이 과정에서 보안을 위하여 특정한 서버의 아이피 포트만 전송을 허용할 수 있으며, 이 과정은 필터링 과정에서 세팅하는 값에 따라 달라진다.
이러한 서비스를 이용하고자 하는 사용자는 단말을 단일로 이용하거나 소유하는 경우도 있으나, PC와 모바일 등 두 대의 단말을 동시에 활용하는 경우가 많고, 이러한 과정에서 토큰화 되어 대기열에 포함된 사용자 섹션을 환경에 따라 여러 단말로 이전하거나, 능동형 접속에 의하여 통보하는 것이 필요하다. 따라서 본 발명에서는 최초 접속 후 사용자 단말 정보를 다른 단말로 이전하는 것을 허용 하는 방법을 제안한다.
도 7은 본 발명의 일 실시예에 따른 PC에서 모바일로 섹션 정보를 이전하는 경우의 처리 과정을 설명하기 위한 도면이다.
도 7은 사용자가 PC(제1 단말)에서 모바일(제2 단말)로 섹션 정보를 이전할 것을 요청할 경우 처리과정에 대해 설명하기 위한 도면이다.
도 7을 참조하면, 사용자가 최초 접속 후 대기시 인증 섹션키를 받는다(S701, S702).
이후, 사용자가 자신의 접속한 순번을 유지한 채 모바일로 이전을 원할 경우, 대기화면에서 클릭을 함으로써, 다른 단말인 모바일로 대체를 요구하게 된다(S703). 그렇게 되면 매니저 에이전트(10)는 이 연결섹션에 유일하게 생성된 QR 코드 혹은 연결된 비밀번호 키 코드를 사용자 화면에 전송한다(S704). 본 발명의 실시예에서 인증을 위한 방식으로 QR코드와 비밀번호를 예로 들었지만, 본 발명은 이에 한정되는 것은 아니며, 섹션 정보를 유지하면서 이전하는 모든 방법을 포괄한다.
그리고, 모바일(제2 단말)에서 QR 코드를 촬영하거나 비밀번호를 입력하면(S705), 매니저 에이전트(10)에서 이를 인증하고, 접속한 단말인 모바일에 루프 백 클라이언트를 설치하고, 대기열 정보를 교체하게 된다(S706). 그리고, 모바일(제2 단말)은 연결된 시간과 순번 정보로 순번에 대한 통보 대기의 과정을 거치게 된다(S707). 이후 순번이 되어 모바일이 접속하는 것은 전술한 과정과 동일하다.
매니저 에이전트(10)는 사용자 접속시 허용여부 및 대기시간을 결정하기 위하여 웹서버, 이와 연동된 DB서버 및 네트웍 리소스 장치 등과 상시적으로 모니터링을 하게 된다. 모니터링 된 데이터는 다음 접속 허용 시, 리소스 한계를 넘어서게 될지 혹은 부하의 변화가 얼마 정도 있을 지를 예측하게 된다. 물론 이렇게 추론된 예측 치와 상관없이 사용자가 한계치를 정하게 되면, 우선 순위는 사용자 정의 범위까지 리소스 할당을 허용한다.
일반적으로 사용자가 리소스 할당량을 설정하기 위한 가이드 설정 값은 본 발명에서 시스템 용량 별 사전 정의된 값에 의하여 표시되고, 역으로 시스템 운영 시 획득되는 데이터 값 들은 실시간 부하 변화 량을 기록하여 새로 접속이 이루어질 경우, 예측 트레이닝 데이터로 활용하게 된다.
현재 이러한 리소스 모니터링 방식은 주로 사용자 단말의 측정 지수(사용자 단말에서 측정된 요청, 응답 시간, 요청 횟수 및 손실 율, 트래픽요구량)이 반영되지 않은 접속 수, 요청 량 따른 시스템, 네트웍, 어플리케이션 부하를 측정하는 방식이 일반적이나, 본 발명에서는 사용자 입장의 성능에 따른 리소스 제한이나 확장을 위하여 각 세션에 따른 변화 량을 예측하는 방식을 사용한다.
도 11은 본 발명의 일 실시예에 따른 사용자 접속 클라이언트 세션 측정 정보를 나타낸 도표이다.
도 11에서 사용자 단말과 서버 사이의 연결 시, 사용자 접속 클라이언트 세션 정보를 측정하되, 최초 접속시 이를 측정하고, 요청 시 마다 이를 갱신하여 변화 량을 측정하는 방식으로 측정한다.
도 11은 사용자 단말 에이전트를 통하여 개별 사용자 정보를 측정하는 값에 대한 기본 항목이며, 이외에 에이전트가 획득 할 수 있는 정보를 추가 할 수 있다.
도 12는 본 발명의 일 실시예에 따른 접속 서비스 서버 변화량 측정 정보를 나타낸 도표이다.
각 연결된 개별 세션 접속시 매니저 에이전트는 웹 서버 및 웹 어플리케이션 서버와 통신하여 도 12의 정보 변화량을 획득한다. 이 변화량은 실시간으로 저장되어 모니터링되고, 도 11의 측정 데이터가 연계되어 새로운 접속시 부하 예측을 할 수 있게 된다.
도 8은 본 발명의 일 실시예에 따른 가용성 측정 과정을 설명하기 위한 개념도이다.
도 8은 사용자가 도 11의 측정 정보를 가지고 세션이 생성될 경우(S801), 각각(현재 측정값-이전 최근 측정값)의 메모리에 세션 변화 값으로 기록하고(S802), 이를 마지막 기록한 현재 부하측정지수와 비교하여 예측 계산한 데이터에서 뽑아낸 전체 예측 치와 비교하여 예측 변화 량을 계산한다(S803).
새로운 세션이 생성되더라도 세션의 변화량이 반드시 증가하는 것은 아니며, 오히려 감소할 수 있다. 왜냐하면, 시스템에 어느 정도 부하 량이 생겼을 경우, 캐쉬 시스템이나 한꺼번에 작업 데이터를 쓰는 방식을 취할 수 있기 때문이다. 이러한 경우, 세션 변환 값은 음수의 값을 가지게 되지만, 본 발명에서는 이를 절대값으로 취급한다.
따라서, 본 발명에서는 단지 세션 연결에 따른 변화량 만을 측정하게 된다. 즉, Session#1 수/T1-Session#2 수/T2 의 절대값이 시간에 따른 변화량 매핑 데이터이다. 여기서, T1과 T2는 각 세션을 유지하고 있는 시간을 나타낸다.
그리고, 실제 변화 량과 예측 치와의 동일 여부로 매핑하고, 다를 경우는 %와 N으로 매핑한 트레이닝 셋을 만들어 다음 예측에 활용한다(S804).
다음 예측 시, 실제 측정된 데이터 값의 %와 개수 N을 대입한 후, 일차적으로 시계열 분석에 기초하여 통계 데이터를 추출하고, 이를 앞의 기록 통계 데이터와 비교하여 새로운 예측치를 기입한다.
도 13은 이러한 통계적 기록의 한 예이다. 도 13은 본 발명의 일 실시예에 따른 예측 데이터에 따른 통계적 기록을 나타낸 도표이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 대기열과 시스템 대기열을 동기화하는 과정을 설명하기 위한 도면이다.
도 9의 실시예는 클라우드 대기 열과 각각의 시스템의 동기화 하는 과정을 통하여 일련의 순번을 순차적으로 배치하는 방법에 대한 설명이다.
도 9에서 보는 바와 같이, 접속 가능한 서버가 A와 B가 있다고 가정하자. 이때 각 시스템별로 접속하는 순서는 각각 A-1~A-N, B1~B-N까지 인 상황이다.
서버 A와 서버 B가 운영될 경우, 각각의 리소스와 네트웍 할당량 및 접속 허용치는 시스템 상태 별로 달라질 수 있다. 그리고, 각 서버에서 특정 단말이 중복 접속되거나 접속 시간이 동일한 경우도 발생할 수 있다. 따라서, 클라우드 대기 열 매니저에서는 이를 순번으로 다시 재배열하고, 이를 루프 백 클라이언트에 통보한 후, 해당 매니지먼트 에이전트 대기 열에 순서 배열을 통제하여 알리게 된다. 즉, 각각 시스템의 순번화된 상태와 상관없이 클라우드 대기열에서 이를 통제하여 다시 재 배치한다는 의미이다. 물론 시스템이 한 대인 경우에는 클라우드 대기열과 시스템 대기열이 동일하게 배치된다. 도 9에서 A-1 서버가 접속이 최초일 경우(91), 이를 첫번째 대기열에 넣게 되고, 접속 서버에 상관없이 92, 93처럼 순번을 클라우드 대기열에 시간 및 인증 응답시간을 계산하여 재배치하게 된다.
만약 대기열에 등재된 #5번 대기열 클라이언트가 접속 후 응답을 할 수 없는 오프라인이 된 경우(94), 이를 해당 접속의 등재 되어 있는 서버 A에 통보하고, 대기열에서 삭제하고(95), 다음 순번으로 자동으로 이전 시킨다(93)
이처럼 대기시간을 예측하고 능동적으로 서버에서 해당 클라이언트에 접속 허용을 하기 위해서는, 임의적 시간이 아니라 사용량 등의 패턴에 의해 예측된 시간에 기초하여야 서버와 클라이언트 상의 리소스 사용량을 줄이고 최적화된 리소스 할당을 할 수 있다.
도 10은 본 발명의 일 실시예에 따른 대기열 관리 구성도이다. 도 10은 클라이언트에게 접속을 허용할 티켓을 발부하기 위해 필요한 리소스 예측을 위한 전체 구성을 도시하고 있다.
도 10을 참조하면, 네트워크 및 웹 서버와의 지속적인 통신을 통해 서비스 시스템의 리소스 CPU, 네트웍, 어플리케이션의 설정 및 부하 정도, 연결 섹션의 할당량 등을 지속적으로 감시한다(S900).
사용자가 연결을 요청할 경우 서비스 시스템은 접속 시스템의 아이피 어드레스(어드레스:포트) 셋이 구성되고, 이 연결에 대응하여 시스템 서버에서는 프로세스 혹은 쓰레드 아이디 값이 생성된다. 이 생성된 값을 키로 하여 각 연결에 따른 변화량을 개별화하여 측정 할 수 있다.
그리고, 변화량과 사용자의 통계적 사용시간, 트래픽 양을 측정하여 실제적으로 진행된 데이터를 트레이닝 셋에 기록하고, 이를 바탕으로 예측시간을 추론하기 위하여 TEST 및 예측 데이터 셋을 생성한 후(S901), 이를 머신 러닝의 통계 추론 시스템에 의해 로컬 대기열에 정보를 제공한다(S902).
실제 사용자의 사용시간과 부하의 변화가 있을 경우, 대기열에서 실제 일어난 결과값을 통보 받아(S903), 다시 트레이닝 셋에 기록하여 계속적으로 정확도를 높이는 방법을 사용한다. 이 과정에서 오류가 발견되는 경우, 대기 열 정보(910)를 다시 업데이트하여, 사용자 단말에 동기화하고(S902), 동기화된 내용을 바탕으로 업데이트를 통보하는 과정(S904)으로 실제 접속 리소스를 관리하게 된다.
사용자 단말에서의 부하와 시스템에 가해지는 부하의 양은 정확하게 일치하지 않는다. 시스템에서는 사용자 단말에 연결된 계측 스크립트가 있는 경우, 단말의 측정 데이터를 함께 반영하여 시스템의 부하(CPU, 메모리 등)에 가중치 값을 부여할 수 있다. 이는 역으로 사용자 단말에서 계측한 부하량이 적을 때 서버의 부하량이 높다면 단말의 성능이 좋다고 판별할 수 있다. 같은 사양의 단말이 접속할 경우, 다른 세션의 단말에 비해 가중치가 높이 적용되어 리소스 할당량을 줄이게 된다. 계측 스크립트가 없는 경우에는 측정없이 사양 값(브라우저, OS 등)을 기초로 하여 가중치 값을 적용한다.
도 10에서 계측의 값은 사용자 단말, 어플리케이션(프로세스 등), 시스템(CPU, 메모리, 네트워크 등)으로 구분되어 대기 열 배치에 반영된다. S903 통보과정에서 이러한 밸런스 값이 구분되어 전송된다.
이상에서 본 발명의 실제적인 과정을 설명하였지만 여기에 포함된 접속 시 루프 백에 의한 대기 방법, 대기열과 순번의 예측 방법, 네트웍 섹션에 대한 접속방법등의 변형이나 개량에 따른 범위 또한 권리 범위에 속한다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100 클라우드 시스템
10 매니저 에이전트

Claims (12)

  1. 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트와, 단말의 루프 백 대기 과정을 관리하기 위한 루프 백 클라이언트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서,
    상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계;
    정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계;
    상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 루프 백 대기 과정을 수행하는 대기 단말로 설정하여 대기시키는 단계; 및
    상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함하며,
    상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서, 상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증하고,
    상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당하고,
    비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계, 상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계 및 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함하고,
    상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공하며,
    연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출하고,
    상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 서비스 제공 서버는 상기 대기 열 리스트에 기록된 순번을 변경하고, 변경된 순번 및 대기시간을 액티브 푸싱 과정을 통해 상기 루프 백 클라이언트에 전송하고,
    상기 루프 백 클라이언트는 변경된 순번 및 대기시간에 따라 스크립트 대기시간을 변경하여 해당 단말에 표시되도록 하고,
    상기 서비스 제공 서버는 상기 액티브 푸싱 이후에 해당 단말에 서비스를 제공할 수 있는 상태가 되면, 서비스 개시를 알리는 서비스 푸싱을 상기 루프 백 클라이언트에 실시하고,
    상기 루프 백 클라이언트는 상기 서비스 푸싱에 따라 해당 단말이 상기 서비스 제공 서버에 접속하여 리소스를 할당받도록 하며,
    상기 매니저 에이전트는 대기 단말로부터 다른 단말인 대체 단말로의 이전 요청이 있으면, 상기 대기 단말로 QR 코드 또는 비밀번호 키 코드를 전송하고, 상기 대체 단말에서 상기 QR 코드를 통한 접속이 있거나, 상기 비밀번호 키 코드의 입력이 있으면, 상기 대체 단말에 루프 백 클라이언트를 설치하고, 상기 대기 단말의 순번이 저장되어 있는 대기열 정보를 상기 대체 단말로 교체하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버;
    상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트; 및
    단말의 루프 백 대기 과정을 관리하기 위한 루프 백 클라이언트를 포함하되,
    상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 루프 백 대기 과정을 수행하는 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하며,
    상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증하고,
    상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당하고,
    비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키고,
    상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공하고,
    연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출하고,
    상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 서비스 제공 서버는 상기 대기 열 리스트에 기록된 순번을 변경하고, 변경된 순번 및 대기시간을 액티브 푸싱 과정을 통해 상기 루프 백 클라이언트에 전송하고,
    상기 루프 백 클라이언트는 변경된 순번 및 대기시간에 따라 스크립트 대기시간을 변경하여 해당 단말에 표시되도록 하고,
    상기 서비스 제공 서버는 상기 액티브 푸싱 이후에 해당 단말에 서비스를 제공할 수 있는 상태가 되면, 서비스 개시를 알리는 서비스 푸싱을 상기 루프 백 클라이언트에 실시하고,
    상기 루프 백 클라이언트는 상기 서비스 푸싱에 따라 해당 단말이 상기 서비스 제공 서버에 접속하여 리소스를 할당받도록 하며,
    상기 매니저 에이전트는 대기 단말로부터 다른 단말인 대체 단말로의 이전 요청이 있으면, 상기 대기 단말로 QR 코드 또는 비밀번호 키 코드를 전송하고, 상기 대체 단말에서 상기 QR 코드를 통한 접속이 있거나, 상기 비밀번호 키 코드의 입력이 있으면, 상기 대체 단말에 루프 백 클라이언트를 설치하고, 상기 대기 단말의 순번이 저장되어 있는 대기열 정보를 상기 대체 단말로 교체하는 것을 특징으로 하는 네트워크 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020170088859A 2017-07-13 2017-07-13 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템 KR102047088B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170088859A KR102047088B1 (ko) 2017-07-13 2017-07-13 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170088859A KR102047088B1 (ko) 2017-07-13 2017-07-13 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템

Publications (2)

Publication Number Publication Date
KR20190007635A KR20190007635A (ko) 2019-01-23
KR102047088B1 true KR102047088B1 (ko) 2019-11-20

Family

ID=65280244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170088859A KR102047088B1 (ko) 2017-07-13 2017-07-13 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템

Country Status (1)

Country Link
KR (1) KR102047088B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525069B1 (ko) * 2022-12-30 2023-04-24 주식회사 에스티씨랩 클라우드 서버의 리소스 최적화를 위한 트랜잭션 관리 장치 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144092B1 (ko) 2019-04-26 2020-08-13 재단법인 실감교류인체감응솔루션연구단 동적 네트워크 설정 및 서버 확장 방법 및 그 시스템
KR102215031B1 (ko) * 2020-07-22 2021-02-10 주식회사 데브와이 분산서버 환경에서 대기접속자에 대한 접속처리방법
KR20220030050A (ko) 2020-09-02 2022-03-10 삼성전자주식회사 복수의 vnf(virtualized network function)에 대한 컴퓨팅 자원의 할당을 조정하는 방법 및 그 서버
KR102638146B1 (ko) * 2021-03-10 2024-02-16 주식회사 케이티 5g 네트워크 작업 자동화 방법 및 그 시스템
KR102519061B1 (ko) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 구간 제어 방식 기반의 유량 제어를 위한 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100282057B1 (ko) * 1998-12-01 2001-05-02 전주범 단말기간의 마스터/슬레이브 결정시 듀타임값설정 방법
KR101008010B1 (ko) * 2008-04-24 2011-01-14 (주)에임투지 리소스 할당 제어 방법 및 할당 리스트 관리 방법
KR101373051B1 (ko) * 2012-07-05 2014-03-11 한국전자통신연구원 통신차단 제어 장치 및 그 방법
KR101531834B1 (ko) 2013-03-08 2015-06-26 주식회사 알투소프트 모바일 클라우드 컴퓨팅 환경에서의 리소스 관리 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525069B1 (ko) * 2022-12-30 2023-04-24 주식회사 에스티씨랩 클라우드 서버의 리소스 최적화를 위한 트랜잭션 관리 장치 및 방법

Also Published As

Publication number Publication date
KR20190007635A (ko) 2019-01-23

Similar Documents

Publication Publication Date Title
KR102047088B1 (ko) 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템
AU2019213422B2 (en) Pre-configure and pre-launch compute resources
US10397240B2 (en) Versatile autoscaling for containers
US9369389B1 (en) Dynamic isolation of shared resources
EP2972855B1 (en) Automatic configuration of external services based upon network activity
US11516050B2 (en) Monitoring network traffic using traffic mirroring
US20120233315A1 (en) Systems and methods for sizing resources in a cloud-based environment
US9112809B2 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
US7962635B2 (en) Systems and methods for single session management in load balanced application server clusters
US11563636B1 (en) Dynamic management of network policies between microservices within a service mesh
Cao et al. Entropy‐based denial‐of‐service attack detection in cloud data center
WO2012125144A1 (en) Systems and methods for sizing resources in a cloud-based environment
JP2022050512A (ja) コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム
CN102724103A (zh) 代理服务器、分层次网络系统及分布式工作负载管理方法
US20110173319A1 (en) Apparatus and method for operating server using virtualization technique
JP2009146005A (ja) 情報処理装置および情報処理方法
US11782775B2 (en) Dynamic management of network policies between microservices within a service mesh
Yang et al. Performance modeling of linux network system with open vswitch
JP2010152818A (ja) サーバシステム
Ezhilchelvan et al. Evaluating the probability of malicious co-residency in public clouds
JP5735899B2 (ja) サービス提供システム、ファイル更新方法、および分散管理装置
Munir et al. Network scheduling and compute resource aware task placement in datacenters
US10055245B1 (en) Immutable configuration of virtual computer systems
US20210216512A1 (en) Proactive Database Scaling
Shetty et al. Towards a network-aware vm migration: Evaluating the cost of vm migration in cloud data centers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant