KR20190007635A - Method for allocating resource in network system, and network system implementing the same - Google Patents

Method for allocating resource in network system, and network system implementing the same Download PDF

Info

Publication number
KR20190007635A
KR20190007635A KR1020170088859A KR20170088859A KR20190007635A KR 20190007635 A KR20190007635 A KR 20190007635A KR 1020170088859 A KR1020170088859 A KR 1020170088859A KR 20170088859 A KR20170088859 A KR 20170088859A KR 20190007635 A KR20190007635 A KR 20190007635A
Authority
KR
South Korea
Prior art keywords
terminal
manager agent
access terminal
resource
agent
Prior art date
Application number
KR1020170088859A
Other languages
Korean (ko)
Other versions
KR102047088B1 (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 KR1020170088859A priority Critical patent/KR102047088B1/en
Publication of KR20190007635A publication Critical patent/KR20190007635A/en
Application granted granted Critical
Publication of KR102047088B1 publication Critical patent/KR102047088B1/en

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
    • H04L47/823
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

According to the present invention, a method for allocating a resource in a network system including a service providing server for providing a service to a terminal accessed to a network and a manager agent for allocating a resource of the service providing server to a terminal so as to enable service provision, comprises: a step in which the manager agent distinguishes whether a terminal to be accessed is a normal access terminal or an abnormal access terminal; a step in which if the terminal is a normal access terminal, the manager agent predicts traffic of the service providing server and allocates resource to the normal access terminal; a step in which if the service providing server cannot allocate a resource to a normal access terminal, the manager agent sets a corresponding terminal as a standby terminal so as to wait; and a step in which when the service providing server becomes able to allocate a resource, the manager agent activates the standby terminal and allocates a resource to the standby terminal. According to the present invention, there is an effect that the connection environment of the user is significantly improved by limiting or dynamically managing resources such as a network and a server in a cloud environment or a physical environment.

Description

네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템 {Method for allocating resource in network system, and network system implementing the same}[0001] METHOD FOR ALLOCATING RESOURCES IN NETWORK SYSTEM AND NETWORK SYSTEM [0002]

본 발명은 네트워크 시스템에서의 리소스 할당 방법에 관한 것으로서, 더욱 상세하게는 네트워크 상에 접속 섹션, 입출력(IO) 로드 등을 포함하는 리소스(resource)를 안정적으로 운영하기 위하여, 리소스를 균등하게 배분하고, 접속 단말의 비정상적인 반복 접속 과정을 루프 백 과정을 통해 대기시키고, 해당 네트워크 시스템의 리소스가 활용 가능 할 경우 루프 백을 해제하고 능동적으로 리소스를 할당하는 방법에 관한 것이다. The present invention relates to a resource allocation method in a network system, and more particularly, to allocating resources evenly in order to stably operate a resource including a connection section, an input / output (IO) load and the like on a network And a method of waiting for an abnormal repeated connection process of the access terminal through a loop back process and releasing loopback when resources of the network system are available and actively allocating resources.

최근 정보화 사회가 발달함에 따라 고속 데이터 전송과 대용량 스토리지를 사용하는 클라우드 서비스가 활발하게 진행되고 있다. As the information society has developed in recent years, cloud services using high-speed data transmission and mass storage are being actively performed.

일반적으로 클라우드 컴퓨팅(Cloud Computing)이란 프로그램이나 자료를 인터넷으로 접속할 수 있는 대형 컴퓨터에 저장하여 PC, 휴대폰과 같은 각종 단말기로 원격에서 원하는 작업을 수행할 수 있는 사용 환경이다.In general, cloud computing is a use environment that can perform a desired task remotely from various terminals such as a PC and a mobile phone by storing a program or a material on a large computer that can access the Internet.

클라우드 컴퓨팅은 분산 처리 기술과 가상화 기술을 이용하여 스토리지, 네트워크, 플랫폼 및 컴퓨터 리소스를 사용자가 손쉽게 대여할 수 있도록 해주기 때문에 사용자는 인터넷 접속과 연산 기능을 갖춘 단말기만 갖고 있다면 어디서나 전산 작업이 가능하다. 클라우드(Cloud)란 서비스를 제공하기 위한 컴퓨터 집합을 의미한다. 즉, 클라우드 컴퓨팅은 수많은 PC 또는 서버들이 하나의 커다란 구름(Cloud) 모양의 집합을 이루는 것을 말한다.Cloud computing makes it easy for users to lease storage, network, platform, and computer resources using distributed processing and virtualization technologies, enabling users to work from anywhere with a device with Internet access and computing capabilities. A cloud is a collection of computers to provide services. In other words, cloud computing means that a large number of PCs or servers form a single set of large cloud shapes.

클라우드 컴퓨팅은 인터넷 기술을 활용하여 다수의 고객들에게 높은 수준의 확장성을 가진 IT 자원들을 서비스로 제공하는 컴퓨팅이라 할 수 있다. 클라우드 컴퓨팅 환경에서 사용자들은 인터넷이 연결된 단말을 통해 대용량의 컴퓨터 집합에 접속하여 애플리케이션, 스토리지, OS, 보안 등 필요한 IT 자원을 원하는 시점에 필요로 하는 만큼 골라서 사용하게 되며, 사용량에 기반하여 대가를 지불한다.Cloud computing is a computing service that utilizes Internet technology to provide high-level scalable IT resources to a large number of customers. In a cloud computing environment, users connect to a large set of computers through Internet-connected terminals and use the required IT resources such as application, storage, OS, and security as much as they need at a desired point in time. do.

클라우드 컴퓨팅은 분산처리 기술과 가상화 기술을 이용하여 스토리지, 네트워크, 플랫폼과 컴퓨팅 리소스를 사용자가 손쉽게 대여할 수 있다. 클라우드 컴퓨팅은 다양한 응용 프로그램들을 수용할 수 있는 잘 관리되고 높은 확장성을 갖는 추상화된 컴퓨팅 인프라 집합이다. 이러한 개념은 유틸리티 컴퓨팅이나 서비스로서의 소프트웨어(Software As A Service, SaaS), 그리고 그리드(Grid) 컴퓨팅 개념들이 혼합된 개념이다.Cloud computing can easily lease storage, network, platform and computing resources using distributed processing and virtualization technologies. Cloud computing is a well-managed, highly scalable, abstracted set of computing infrastructures that can accommodate a variety of applications. This concept is a combination of utility computing, software as a service (SaaS), and grid computing.

서버 및 네트워크 비용 및 관리에 있어서도, 효율성 등을 고려하여 클라우드 컴퓨팅 환경이 일반화 되고 있는 상황이다. 하지만 클라우드 컴퓨팅이라 할 지라도 물리적으로는 리소스의 제약이 있게 되고, 또한 평상시 트래픽에 비해 이벤트나 특별한 폭주 상황에서 리소스를 추가로 할당하는 것이 비용적인 측면이나 관리 측면에서 용이하지 않을 수 있다. In the server and network cost and management, the cloud computing environment is becoming more common considering efficiency. However, even in the case of cloud computing, there are physical constraints on resources, and it may not be cost-effective or manageable to allocate additional resources in the event or special congestion situation compared with normal traffic.

단지 클라우드 컴퓨팅 환경이 아니라 물리적 서버를 통하여 운영하는 경우에도 마찬가지로 어플리케이션 서버, 웹 서버, 동영상 서버, DB서버 등의 한정된 자원을 단기적인 트래픽 증가에 대비하여 미리 확장해 놓을 수는 없는 문제가 있다. There is a problem that limited resources such as an application server, a web server, a video server, and a DB server can not be expanded in advance in case of short-term traffic increase even when the server is operated through a physical server rather than a cloud computing environment.

이러한 문제점을 해결하고자, 기존에 대기표 관리에 위한 제한 트래픽 제어(Limited Traffic Control) 방법에 대한 기술 및 시스템이 존재하지만, 정상 접속 단말과 비정상 접속 단말(예를 들어, DDos, 악의적 반복 접속)에 대해 구분하지 못하므로, 제어장비 및 소프트웨어에 할당 요구가 집중될 경우, 이를 처리하지 못하는 문제가 발생할 뿐 더러, 정상 단말의 접속을 방해하는 등의 문제가 있다.In order to solve such a problem, there is a technology and a system for a limited traffic control method for managing a queue, but there is a problem in that a normal access terminal and an abnormal access terminal (for example, DDos, malicious repeated access) Therefore, when the allocation request is concentrated in the control equipment and the software, there arises a problem that it can not be handled, and there is also a problem that the access to the normal terminal is interrupted.

대한민국 등록특허 10-1531834Korean Patent No. 10-1531834

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 한정된 리소스의 네트워크 환경에서 트래픽을 예측하여 단말들에 할당하고, 할당이 불가능할 경우, 루프 백 방식에 의해 단말들을 대기시키고, 비정상 접속 단말의 접속을 차단하는 등의 네트워크 시스템에서의 리소스 할당 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a method and apparatus for predicting traffic in a network environment of a limited resource and allocating the same to terminals, And a method of allocating a resource in a network system such as blocking the network.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

이와 같은 목적을 달성하기 위한 본 발명의 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계, 정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계 및 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함한다. In order to achieve the above object, there is provided a network system including a service providing server for providing services to a terminal connected to a network of the present invention, and a manager agent for allocating resources of the service providing server to a terminal and managing the service providing server Wherein the manager agent identifies a normal access terminal or an abnormal access terminal with respect to a terminal to which the manager agent intends to connect; if the terminal is a normal access terminal, the manager agent predicts traffic of the service providing server Allocating a resource to a normal access terminal; if the resource can not be allocated to a normal access terminal in the service providing server, the manager agent sets the terminal as a standby terminal and waits; What you can do When, the manager agent comprising the step of allocating resources by re-activating the air terminal.

상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서, 상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다. The manager agent verifies the connection section and the agent information of the terminal to be connected, generates a pair key if the agent is a normal agent, And establishes a trusted section.

상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다. The manager agent adds the waiting terminal to the queue list according to the order, and when the manager agent is in a state capable of allocating resources in the service providing server, Resources can be allocated by activating a standby terminal according to the order recorded in the list.

비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계, 상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계 및 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함할 수 있다. The manager agent transmits an authentication script to the abnormal access terminal by transmitting a loop back script to the corresponding terminal in case of an abnormal access terminal, and the manager agent transmits the loopback script to the abnormal access terminal through the authentication script, , The manager agent may cancel the connection blocking and register the terminal in the waiting list.

상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다. In the step of setting and waiting for the standby terminal, the manager agent can provide a standby screen for displaying the information including the expected standby time and the order number to the standby terminal.

연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다. Based on data including average usage time, amount of traffic, number of sections, load processing time, and the amount of resources set by the user in the connection section, machine learning can calculate the expected wait time .

본 발명의 네트워크 시스템은 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버 및 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함한다. The network system of the present invention includes a service providing server that provides services to terminals connected to a network, and a manager agent that allocates resources of the service providing server to terminals and manages the services so that services can be provided.

그리고, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당한다. The manager agent distinguishes between a normal access terminal and an abnormal access terminal for a terminal to be accessed. If the access agent is a normal access terminal, the manager agent predicts traffic of the service providing server and assigns the resource to the normal access terminal. If the provision server can not allocate the resource to the normal access terminal, the terminal is set as a standby terminal and is queued. If the provision server can allocate the resource, the standby terminal is activated again to allocate the resource do.

상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다. The manager agent verifies the connection section and the agent information of the terminal to be connected, authenticates the normal access terminal by generating a pair key if the agent is a normal agent, and forms a trusted section with the connection request terminal have.

상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다. The manager agent adds the waiting terminal to the waiting queue list according to the order of the numbers, and when the manager agent becomes able to allocate resources in the service providing server, the manager agent activates the waiting terminal according to the order recorded in the waiting queue list To allocate resources.

비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시킬 수 있다.In case of an abnormal access terminal, the manager agent sends a loopback script to the terminal to block the connection, transmits the authentication script to the abnormal access terminal, and if the abnormal access terminal succeeds in authentication through the authentication script, And registers the terminal in the waiting list.

상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다. The manager agent can provide a standby screen to the standby terminal in which information including the expected standby time and the order number is displayed.

연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다. Based on data including average usage time, amount of traffic, number of sections, load processing time, and the amount of resources set by the user in the connection section, machine learning can calculate the expected wait time .

본 발명에 의하면, 네트워크, 서버 등의 리소스 자원을 클라우드 환경 또는 물리적 환경에서 한정하거나 이를 동적으로 관리함으로써, 사용자의 접속 환경을 대폭 개선하는 효과가 있다. According to the present invention, there is an effect that the connection environment of the user is significantly improved by limiting or dynamically managing resource resources such as a network and a server in a cloud environment or a physical environment.

또한, 본 발명에 의하면, 하드웨어의 리소스와 상관없이 일시적으로 대용량 서비스 또는 한정된 제어 서비스를 가능하게 하는, 소프트웨어 방식의 트래픽 제어 분산을 가능하게 함으로써, 다양한 서비스 환경을 제공할 수 있는 장점이 있다. In addition, according to the present invention, it is possible to provide a variety of service environments by allowing a software-based traffic control distribution, which enables a large-capacity service or a limited control service temporarily, regardless of hardware resources.

또한, 별도의 어플리케이션 없이 서버와 사용자 사이의 트래픽 량, 부하 정도, 체감 속도 등을 부하 예측을 위해서 실시간 모니터링을 함으로써, 서비스 리소스의 상태와 상관없이 사용자 관점에서 서비스 상태와 품질이 향상되는 효과를 가져올 수 있다.In addition, by real-time monitoring of traffic volume, load level, and speed of perception between server and user without load application, it is possible to improve service status and quality from the user's point of view regardless of the state of service resource .

도 1은 본 발명의 일 실시예에 따른 네트워크 개념도이다.
도 2는 본 발명의 일 실시예에 따른 사용자가 서버 접속시 개략적인 서비스 흐름을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 단말 인증 과정을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 서비스 접속 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 두가지 형태의 망에 대한 접속 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 도 5에 도시된 단말이 사설망에 접속하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 PC에서 모바일로 섹션 정보를 이전하는 경우의 처리 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 가용성 측정 과정을 설명하기 위한 개념도이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 대기열과 시스템 대기열을 동기화하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 대기열 관리 구성도이다.
도 11은 본 발명의 일 실시예에 따른 사용자 접속 클라이언트 세션 측정 정보를 나타낸 도표이다.
도 12는 본 발명의 일 실시예에 따른 접속 서비스 서버 변화량 측정 정보를 나타낸 도표이다.
도 13은 본 발명의 일 실시예에 따른 예측 데이터에 따른 통계적 기록을 나타낸 도표이다.
1 is a network conceptual diagram according to an embodiment of the present invention.
2 is a diagram illustrating a schematic service flow when a user connects to a server according to an embodiment of the present invention.
3 is a flowchart illustrating a terminal authentication process according to an embodiment of the present invention.
4 is a diagram for explaining a service access procedure of a terminal in which a loopback client is operating according to an embodiment of the present invention.
5 is a diagram for explaining a connection method for two types of networks of a terminal operating a loopback client according to an embodiment of the present invention.
FIG. 6 is a diagram for explaining a process of connecting a terminal shown in FIG. 5 to a private network according to an embodiment of the present invention.
FIG. 7 is a view for explaining a process of transferring section information from a PC to a mobile according to an embodiment of the present invention.
8 is a conceptual diagram for explaining the availability measurement process according to an embodiment of the present invention.
FIG. 9 illustrates a process of synchronizing a cloud queue with a system queue according to an embodiment of the present invention. Referring to FIG.
10 is a diagram illustrating a queue management configuration according to an embodiment of the present invention.
11 is a diagram illustrating user connected client session measurement information according to an embodiment of the present invention.
FIG. 12 is a diagram showing connection service server change amount measurement information according to an embodiment of the present invention.
13 is a chart illustrating statistical recording according to prediction data according to an embodiment of the present invention.

본 발명의 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계, 정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계 및 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함한다. There is provided a resource allocation method in a network system including a service providing server for providing a service to a terminal connected to a network of the present invention and a manager agent for allocating resources of the service providing server to a terminal so as to be able to provide a service, , The manager agent distinguishing whether it is a normal access terminal or an abnormal access terminal with respect to a terminal to be connected; if the terminal is a normal access terminal, the manager agent predicts traffic of the service providing server and allocates resources to the normal access terminal The method comprising the steps of: if the service providing server can not allocate a resource to a normal access terminal, the manager agent sets a corresponding terminal as a standby terminal and waits; and when the service providing server becomes able to allocate resources, The manager agent And activating the standby terminal to allocate resources.

상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서, 상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다. The manager agent verifies the connection section and the agent information of the terminal to be connected, generates a pair key if the agent is a normal agent, And establishes a trusted section.

상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다. The manager agent adds the waiting terminal to the queue list according to the order, and when the manager agent is in a state capable of allocating resources in the service providing server, Resources can be allocated by activating a standby terminal according to the order recorded in the list.

비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계, 상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계 및 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함할 수 있다. The manager agent transmits an authentication script to the abnormal access terminal by transmitting a loop back script to the corresponding terminal in case of an abnormal access terminal, and the manager agent transmits the loopback script to the abnormal access terminal through the authentication script, , The manager agent may cancel the connection blocking and register the terminal in the waiting list.

상기 대기 단말로 설정하여 대기시키는 단계에서, 상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다. In the step of setting and waiting for the standby terminal, the manager agent can provide a standby screen for displaying the information including the expected standby time and the order number to the standby terminal.

연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다. Based on data including average usage time, amount of traffic, number of sections, load processing time, and the amount of resources set by the user in the connection section, machine learning can calculate the expected wait time .

본 발명의 네트워크 시스템은 네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버 및 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함한다. The network system of the present invention includes a service providing server that provides services to terminals connected to a network, and a manager agent that allocates resources of the service providing server to terminals and manages the services so that services can be provided.

그리고, 상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당한다. The manager agent distinguishes between a normal access terminal and an abnormal access terminal for a terminal to be accessed. If the access agent is a normal access terminal, the manager agent predicts traffic of the service providing server and assigns the resource to the normal access terminal. If the provision server can not allocate the resource to the normal access terminal, the terminal is set as a standby terminal and is queued. If the provision server can allocate the resource, the standby terminal is activated again to allocate the resource do.

상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증할 수 있다. The manager agent verifies the connection section and the agent information of the terminal to be connected, authenticates the normal access terminal by generating a pair key if the agent is a normal agent, and forms a trusted section with the connection request terminal have.

상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당할 수 있다. The manager agent adds the waiting terminal to the waiting queue list according to the order of the numbers, and when the manager agent becomes able to allocate resources in the service providing server, the manager agent activates the waiting terminal according to the order recorded in the waiting queue list To allocate resources.

비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시킬 수 있다.In case of an abnormal access terminal, the manager agent sends a loopback script to the terminal to block the connection, transmits the authentication script to the abnormal access terminal, and if the abnormal access terminal succeeds in authentication through the authentication script, And registers the terminal in the waiting list.

상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공할 수 있다. The manager agent can provide a standby screen to the standby terminal in which information including the expected standby time and the order number is displayed.

연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출할 수 있다.Based on data including average usage time, amount of traffic, number of sections, load processing time, and the amount of resources set by the user in the connection section, machine learning can calculate the expected wait time .

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 갖는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted in an ideal or overly formal sense unless expressly defined in the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

이하, 본 발명의 실시예에서는 클라우드 컴퓨팅 환경이 구축되어 있는 클라우드(Cloud) 시스템을 예시하여 설명하기로 한다. Hereinafter, a cloud system in which a cloud computing environment is constructed will be described as an example of the present invention.

도 1은 본 발명의 일 실시예에 따른 네트워크 개념도이다. 1 is a network conceptual diagram according to an embodiment of the present invention.

도 1의 실시예에서, 트래픽 제어 및 분산을 위한 요청 단말의 종류를 크게 4가지 상태로 예시한 실시예이다. In the embodiment of FIG. 1, there are four types of request terminals for traffic control and distribution.

도 1에서 보는 바와 같이, 단말#1은 현재 예측된 트래픽 및 설정된 값에 의하여 바로 접속이 가능한 단말이고, 단말#2 및 단말#3은 대기 열에 포함되어 순번을 기다려야 하는 대기 단말이다. 그리고, 단말#4는 자동 접속 프로그램 등에 의해 연속 접속을 시도하는 자동 접속 단말이고, 단말#5는 악성코드 등 DDos 공격용 에이전트에 의한 단말이다. 이러한 단말 구성은 설명의 편의를 위하여 예시한 것이며, 실시예에 따라 다양한 단말의 종류와 개수로 구현될 수 있음은 당연하다.As shown in FIG. 1, the terminal # 1 is a terminal capable of directly accessing the currently predicted traffic and the set value, and the terminal # 2 and the terminal # 3 are waiting terminals included in the queue and waiting for the order. The terminal # 4 is an automatic access terminal attempting continuous connection by an automatic connection program or the like, and the terminal # 5 is a terminal by a DDos attack agent such as a malicious code. It is to be understood that such a terminal configuration is illustrated for convenience of description and may be implemented in various terminal types and numbers according to an embodiment.

바로 접속이 허용되는 단말#1의 경우, 매니저 에이전트(10)는 바로 접속을 허용하고(S101), 해당 섹션이 접속되었을 시 트래픽, 섹션 수, 시스템의 부하 등의 정보를 클라우드 시스템(100)에 통보하여 제어 카운트를 하나 증가시킨다(S102). 그리고, 이 제어카운트가 미리 설정된 값이나, 클라우드 시스템(100) 부하의 임계 치에 도달하였다고 판단될 경우, 다음 접속 단말의 순서 번호에 대하여 매니저 에이전트(10)의 대기 열과 클라우드 대기 열 리스트(20)를 동기화 시킨다.In step S101, the manager agent 10 directly accesses the terminal # 1, and when the corresponding section is connected to the cloud system 100, information such as traffic, section number, system load, And increments the control count by one (S102). When it is determined that the account has reached a predetermined value or a threshold value of the load of the cloud system 100, the queue of the manager agent 10 and the list of the cloud queue 100 of the next access terminal, .

대기 단말인 단말#2, #3의 경우, 순번에 따라 대기 열 리스트(20)에 추가한다. 그리고, 클라우드 시스템(100)에 설정된 대기화면을 단말#2, #3에 전송하거나 또는 서비스 클라우드(190)에 따라 대기할 시간, 순번, 서비스 URL을 단말#2, #3에 전송하여 로컬 시스템에서 대기하도록 한다(S103). In the case of terminals # 2 and # 3 which are standby terminals, they are added to the queue list 20 according to the order. Then, the idle screen set in the cloud system 100 is transmitted to the terminals # 2 and # 3, or the time, order and service URL to wait in accordance with the service cloud 190 are transmitted to the terminals # 2 and # 3, (S103).

도 1에서 보는 바와 같이, 전술한 일련의 과정을 수행하는 클라우드 시스템(100)에는 API(Application programming interface) 가상 머신(Virtual machine)(170), 클라우드 가상 머신(Virtual machine)(180), 서비스 클라우드 가상 머신(190)을 포함하는 구성 요소가 논리적으로 포함되어 있다. 1, the cloud system 100 that performs the above-described series of processes includes an application programming interface (API) virtual machine 170, a cloud virtual machine 180, The components including the virtual machine 190 are logically included.

이와는 별도로 사용자의 설정에 의하여 임시 트래픽을 분산할 경우, 예를 들어 서버 혹은 서비스의 임계 치가 100이라 할 때, 이 임계 치를 초과하는 경우를 대비하여 클라우드 시스템(100)의 구성요소에서 클라우드 가상 머신(108)의 해당 인스턴스가 임시로 복제되어 클라우드 가상 머신 VM#2를 구성함으로써, 임계 치를 넘어서는 리소스에 대하여 대기상태로 있게 된다. If temporary traffic is distributed according to the setting of the user, for example, when the threshold value of the server or the service is 100, in order to prevent the threshold value from exceeding the threshold value, the component of the cloud system 100 108) is temporarily copied and configures the cloud virtual machine VM # 2, thereby becoming in a standby state with respect to resources exceeding the threshold value.

이러한 과정에서 해당 사용자 서버의 관리시스템의 API 가상 머신의 제어(107)에 의해, 해당 에이전트(Agent)의 제어 방법을 수시로 업데이트할 수 있다.In this process, the control method of the agent (Agent) can be updated from time to time by the control 107 of the API virtual machine of the management system of the user server.

이러한 트래픽 제어를 넘어서 임시 분산하는 경우에 해당 서버에서 다중의 이벤트를 가능하게 하고, 임계치를 넘어서는 경우 클라우드 시스템에서 이를 처리 할 수 있도록 하는 이점(利點)이 있다.There is an advantage of enabling multiple events in the server in case of temporary dispersion over the traffic control, and in the case of exceeding the threshold, processing in the cloud system.

비정상 접속 단말인 단말#4, 단말#5의 경우는 매니저 에이전트(10)에 내장된 웹 스크립트 공격 감지 엔진에서 감지하거나, 또는 클라우드 시스템(100)에서 제공할 수 있는 DDos 감지를 위한 방화벽 엔진에 의해 이를 감지하고, 해당 단말로 루프 백 스크립트를 전송하는 방식으로, 이를 일차적으로 차단하여 더 이상의 접속을 막는다.In the case of the terminal # 4 and the terminal # 5 which are abnormal access terminals, it is detected by the web script attack detection engine built in the manager agent 10 or by the firewall engine for DDos detection that can be provided by the cloud system 100 It detects this and transmits a loopback script to the terminal, which is primarily blocked to prevent further connections.

또한, 매니저 에이전트(10)가 이러한 방어 엔진을 작동시키는 데 있어서, 리소스의 한계나 네트웍 트래픽의 한계 등으로 인하여 감지가 힘들 경우, 클라우드 시스템(100)과 연동된 API를 통하여 통제를 받는 방식으로 이러한 방어 과정을 수행한다.In addition, when the manager agent 10 operates such a defense engine, when it is difficult to detect due to a limitation of a resource or a network traffic limit, the manager agent 10 may control the defense engine by using an API linked with the cloud system 100 Defensive process is performed.

단말#4의 경우, 자동 접속 시스템이 아니라 사용자의 반복적인 접속에 대한 오류 탐지의 가능성을 배제할 수 없기 때문에, 봇에 의한 접속이 아니라는 것을 체크하기 위하여 캡차(CAPTCHA) 등의 인증 스크립트를 수행하고, 인증 스크립트를 통해 인증에 성공하면 봇 방어를 해제하고 정상 응답을 확인하여 대기 열 리스트(20)에 정상으로 등록된다.In the case of the terminal # 4, since it is impossible to exclude the possibility of error detection for the repeated connection of the user rather than the automatic connection system, an authentication script such as CAPTCHA is performed in order to check that the connection is not made by the bot , If the authentication is successful through the authentication script, the bot defense is canceled and the normal response is confirmed and registered in the queue list 20 as normal.

도 2는 본 발명의 일 실시예에 따른 사용자가 서버 접속시 개략적인 서비스 흐름을 나타낸 도면이다. 도 2에서 사용자가 해당 서비스 서버인 웹 서버, 네트웍 서버 접속 시 개략적인 서비스의 흐름 제어를 보여주고 있다. 2 is a diagram illustrating a schematic service flow when a user connects to a server according to an embodiment of the present invention. FIG. 2 shows the flow control of a service when a user accesses a web server or a network server, which is a service server.

도 2를 참조하면, 사용자가 서비스를 이용하기 위하여 접속하는 과정은, 먼저 사용자가 단말을 통해 접속을 요청하면(S201), 클라우드 시스템(100)은 셀프(Self) 응답 화면을 단말에 전송하여, 대기 순번, 대기시간을 포함한 정보를 사용자측의 단말 화면에 표시하도록 한다(S202). Referring to FIG. 2, when a user accesses a service through a terminal (S201), the cloud system 100 transmits a self response screen to the terminal, Information including the waiting sequence number and the waiting time is displayed on the terminal screen of the user side (S202).

그리고, 리소스 사용이 가능한 상태가 되면, 서버에서는 사용자 단말에 능동적으로 접속하여 순번이 되었음을 알리고(Active pushing)(S203), 대기 화면을 종료시키고, 서비스 서버로 연결하여 서비스를 제공한다(S204).Then, when the resource becomes available, the server actively connects to the user terminal to notify that it has been turned on (Active pushing) (S203), terminates the idle screen, and connects to the service server to provide the service (S204).

본 발명에서는 정상 단말, 비정상 단말, 정보를 연속적으로 요청하는 단말을 구별하기 위하여, 웹 브라우저 접속 시 이를 인증하여 페어 키를 생성하고, 이를 통하여 단일 섹션으로 웹 서버 등의 서비스 서버와 유일한 접속 단말 임을 인증하는 구조를 제안한다.In the present invention, in order to distinguish a normal terminal, an abnormal terminal, and a terminal requesting information continuously, a pair key is generated by authenticating the terminal when a web browser is accessed, and a pair of a service server such as a web server and a unique access terminal We propose a structure for authentication.

도 3은 본 발명의 일 실시예에 따른 단말 인증 과정을 보여주는 흐름도이다. 3 is a flowchart illustrating a terminal authentication process according to an embodiment of the present invention.

도 3에서 보는 바와 같이, 단말의 클라이언트 웹브라우저가 URL 접속을 시도할 경우(S300), 매니저 에이전트(10)는 연결 섹션 검증을 접속 요청한 유저(User)의 에이전트 정보 및 접속 주소를 전송하고, 가상 에이전트나 요청한 정보에서 바인딩 되어 있지 않은 요청일 경우, 이를 중복처리하여 더 이상의 섹션을 생성하지 않고 브라우저로 돌려 보낸다(S301). 중복접속임을 비교하기 위한 방법에 대해 살펴 보면, 예를 들어 흔히 쓰이는 인터넷 익스플로러 에이전트는 헤더에 다음과 같은 정보를 포함한다.As shown in FIG. 3, when the client web browser of the terminal attempts to access the URL (S300), the manager agent 10 transmits the agent information and the connection address of the user requesting the connection section verification, If the request is an unbound request from the agent or the requested information, the request is duplicated and sent back to the browser without generating further sections (S301). For example, a commonly used Internet Explorer agent includes the following information in the header.

(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)(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).This header format differs for each browser, and generally includes a connection OS, browser engine information, version (a), etc., and includes a single ID (b) of the generated agent. And compares it with the registered browser agent information 307 to request the token binding information 310 (S302).

그리고, 바인딩 된 정보가 도착하면(S303), 변조 여부를 비교하여 가상 에이전트의 경우 이를 블록시킨후 사용자 재 인증을 요청하게 된다. When the bound information arrives (S303), the virtual agent compares the modulated information and blocks the virtual agent, and then requests the user re-authentication.

정상 에이전트의 경우, 페어 키(Pair key)를 생성하고(S304), 토큰을 바인딩하여 신뢰 있는 섹션을 형성하게 된다. 이렇게 생성된 페어 키는 이후 다시 반복 접속이나 재 접속, 부속 단말기의 재 인증에 단일 단말과 섹션으로 인정되는 단일 키로 이용되게 된다. In the case of a normal agent, a pair key is generated (S304), and the token is bound to form a trusted section. The generated pair key is then used as a single key that is recognized as a single terminal and a section for repeated access, re-connection, and re-authentication of the attached terminal.

그리고, 매니저 에이전트(10)는 인증키를 포함하는 정보를 웹 브라우저에 전송한다(S305). 이때, 사용되는 인증 정보의 전송 형식은 SAML, JSON, XML 등이 이용되며, 웹 브라우저의 해석 엔진에 따라 규격화되어 전송된다. Then, the manager agent 10 transmits information including the authentication key to the web browser (S305). At this time, SAML, JSON, XML, or the like is used as the transmission format of the authentication information to be used, and is transmitted according to the analysis engine of the web browser.

이러한 일련의 과정에서 인증된 단말은 대기열의 상태에 따라 루프 백 대기 과정을 거친 후(S306), 서비스 연결이 되거나 직접 서비스 연결 전송을 통하여 서비스를 이용하게 된다(S307).In step S306, the authenticated terminal performs a loopback wait process according to the status of the queue in step S306. The authenticated terminal uses the service in step S306.

도 4는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 서비스 접속 과정을 설명하기 위한 도면이다. 4 is a diagram for explaining a service access procedure of a terminal in which a loopback client is operating according to an embodiment of the present invention.

도 4는 대기 열에 등록된 사용자 단말에 대해 접속을 허용하기 위한 과정을 도시하고 있으며, 도 4를 참조하여 최초 접속 요청 후 루프 백 클라이언트가 작동하고 있는 단말에 대해 서비스 접속을 시키기 위한 과정에 대해서 설명하기로 한다. FIG. 4 illustrates a process for allowing a user terminal registered in a queue to access the service. Referring to FIG. 4, a process for making a service connection to a terminal operating a loopback client after an initial connection request is described .

도 4를 참조하면, 단말이 연결 요청(S400)에 의하여 원하는 서비스(408)에 접속을 요청할 경우, 매니저 에이전트(10)는 응답 페이지 또는 응답 스크립트를 단말에 전송한다(S401). 이 응답 스크립트에는 접속이 즉시 허용되었음을 명기하는 인증 섹션 번호나, 대기 열 섹션 매니저(403)의 계산에 의한 순번 및 대기시간을 포함한 스크립트 클라이언트 정보가 포함되어 있다. Referring to FIG. 4, when a terminal requests a connection to a desired service 408 through a connection request (S400), the manager agent 10 transmits a response page or a response script to the terminal (S401). This response script includes script client information including an authentication section number that indicates that the connection was immediately allowed, a sequence number by calculation of the queue section manager 403, and a waiting time.

오프라인 방식으로 루프 백 클라이언트(402)가 요청 받은 대기시간에 기초하여 더 이상의 접속을 사용자가 시도하더라도, 전송 받은 스크립트 프로토콜에 기초하여 로컬에서 대기하게 된다. 이렇게 로컬에 설치된 루프 백 클라이언트(402)는 더 이상의 접속없이, 인증된 단말의 요청 받은 순번과 대기시간에 기초하여, 사용자 브라우저에 대한 대기시간, 접속 순번 등을 자동으로 갱신하게 된다. The loopback client 402 waits locally based on the transmitted script protocol even if the user tries to make a further connection based on the waiting time requested by the loopback client 402 in an offline manner. The locally installed loop back client 402 automatically updates the waiting time and the connection order number for the user browser based on the requested order number and waiting time of the authenticated terminal without any further connection.

그리고, 해당 서비스 서버에 리소스 모니터링(S406)의 과정을 통해 설정이 변경되거나, 섹션의 변화가 생겨 해당 단말의 접속이 가능할 경우, 클라우드에 동기화된 대기 열 섹션 매니저 가용 여부를 통지한다(S409). In step S409, if the setting is changed through the process of monitoring resources in step S406 or a section is changed and the corresponding terminal can be connected to the service server, the standby section manager synchronized with the cloud is notified of availability.

그리고, 클라우드 시스템(100)은 클라우드 대기 열 정보의 순번에 기초하여 순서를 재배열하고, 액티브 푸싱(Active pushing)(S404) 과정을 통해 변경된 순번 및 대기시간을 루프 백 클라이언트(402)에 전송하여 스크립트 대기시간을 변경시켜 표시하도록 한다. Then, the cloud system 100 rearranges the order based on the order of the cloud queue information, transmits the changed order number and the waiting time through the active pushing (S404) process to the loop back client 402 Change the script wait time to display.

그리고, 액티브 푸싱(S404) 이후, 클라우드 시스템(100)은 루프 백 클라이언트(402)에 서비스 개시를 알리는 서비스 푸싱(Service pushing)을 실시한다. After the active pushing (S404), the cloud system 100 performs service pushing to notify the loop back client 402 of the service start.

이 과정에서 사용자 루프 백이 걸린 단말은 능동 접속이 가능한 공개 망(public Network)에 접속할 수도 있고, 또는 통제를 받는 망인 사설 망(Private Network)이나 방화벽이 있는 망에 접속할 수도 있다. In this process, a user loopback terminal may access a public network capable of active access, or may be connected to a private network, which is a controlled network, or a network having a firewall.

도 5는 본 발명의 일 실시예에 따른 루프백 클라이언트가 동작하고 있는 단말의 두가지 형태의 망에 대한 접속 방법을 설명하기 위한 도면이다. 5 is a diagram for explaining a connection method for two types of networks of a terminal operating a loopback client according to an embodiment of the present invention.

도 5를 참조하면, 공개 망에 접속하는 단말(480)의 경우는 오픈 되어 있는 형태로 서로 교환한 키에 의하여 바로 접속이 가능하지만, 사설 망에 접속하는 단말(470)의 경우는 네트워크 특성상 능동 형 접속이 불가능하다. 따라서, 본 발명에서 비 연결 클라이언트와 접속을 위하여, NAT(Network address Translation) 또는 NAPT(Network Address and Port Translation)와 같은 능동 형 접속을 위한 주소 변환 기법을 이용하여, 사설 망 및 방화벽 안에 존재하는 단말(470)을 단일하게 구분하고 이를 통하여 가용 시 서비스 접속을 허용하는 방법을 사용하게 된다. Referring to FIG. 5, in the case of the terminal 480 connected to the open network, the terminal 480 can be directly connected by the exchanged keys in the opened form. However, in the case of the terminal 470 connected to the private network, Type connection is impossible. Accordingly, in the present invention, an address translation technique for an active connection, such as NAT (Network Address Translation) or NAPT (Network Address and Port Translation) (470) is divided into a single service, and a method of allowing service access when available is used.

도 6은 본 발명의 일 실시예에 따른 도 5에 도시된 단말이 사설망에 접속하는 과정을 설명하기 위한 도면이다. FIG. 6 is a diagram for explaining a process of connecting a terminal shown in FIG. 5 to a private network according to an embodiment of the present invention.

도 6에서는 도 5에서의 사설망에 포함되어 있는 단말을 유일 단말로 인증하기 위하여, 서버에 토큰으로 저장되는 정보와 이를 통하여 서버에서 능동형 접속 통보 시, 클라이언트에 헤더를 변경하여 접속하는 과정을 도시하고 있다.FIG. 6 shows a process of accessing information stored in a token in a server and changing a header to a client in an active connection notification at the server in order to authenticate a terminal included in the private network in FIG. 5 as a unique terminal have.

도 6에서 보는 바와 같이, 해당 클라이언트는 내부에서 할당된 내부 주소 192.168.0.2를 가지고 있고, 서비스를 제공할 에이전트 및 웹 서버에 접속시 공개된 주소는 200.1.1.1이라 가정하자. 이 경우 해당 사설 망에 속해 있는 모든 단말은 능동 형 접속이 아닌 경우 200.1.1.1이라는 주소로 동일하게 접속하게 되고, 브라우저 등의 클라이언트의 헤더 정보만으로 구분해야 하는 비 합리성이 있다. As shown in FIG. 6, it is assumed that the client has an internal address 192.168.0.2 allocated internally, and an address 200.1.1.1 is disclosed when connecting to an agent and a web server to provide the service. In this case, all terminals belonging to the private network are connected to the address 200.1.1.1 in the case of not an active connection, and there is irrationality that they should be distinguished only by header information of a client such as a browser.

본 발명에서는 이를 해결하기 위하여 접속 클라이언트가 내부 주소 및 포트를 포함하는 주소를 헤더 정보에 포함하여 전송하고(S601), 공개 망과 달리 사설, 공개 포인트 정보를 토큰 생성에 사용한다(S602). 이 과정에서 서비스를 제공하는 에이전트 서버 또는 웹 서버는 수신 패킷의 페이로드를 통해 목적지 주소를 알 수 있고, 이렇게 생성된 연결을 통하여 내부망에 있는 클라이언트 A가 패킷을 수신할 수 있도록 패킷 정보를 변경한다.In order to solve this problem, a connection client transmits an address including an internal address and a port in header information (S601). Unlike the public network, the public client uses public and public point information for token generation (S602). In this process, the agent server or the web server providing the service can know the destination address through the payload of the received packet and change the packet information so that the client A in the internal network can receive the packet through the generated connection do.

이후 클라이언트는 네트웍 헤더 및 브라우저 에이전트에 포함되는 바인딩 정보를 수신하는데, 바인딩 정보는 내부 포트번호와 외부 포트 번호를 포함한다. 이러한 정보는 루프 백 클라이언트 스크립트에 같이 저장된다. 따라서, 서버에서 대기 열의 순번이 되어 클라이언트와의 접속이 필요할 경우, NAT에서는 접속하는 해당 연결 섹션의 모든 아이피와 포트를 해당 단말로 직접 전송하게 된다. 이 과정에서 보안을 위하여 특정한 서버의 아이피 포트만 전송을 허용할 수 있으며, 이 과정은 필터링 과정에서 세팅하는 값에 따라 달라진다.Then, the client receives the binding information included in the network header and the browser agent, and the binding information includes the internal port number and the external port number. This information is stored in the loopback client script. Therefore, if the server is in the sequence of a queue and needs to connect to the client, the NAT will send all the IPs and ports of the connected connection section directly to the corresponding terminal. In this process, only the IP port of the specific server can be transmitted for security, and this process depends on the value set in the filtering process.

이러한 서비스를 이용하고자 하는 사용자는 단말을 단일로 이용하거나 소유하는 경우도 있으나, PC와 모바일 등 두 대의 단말을 동시에 활용하는 경우가 많고, 이러한 과정에서 토큰화 되어 대기열에 포함된 사용자 섹션을 환경에 따라 여러 단말로 이전하거나, 능동형 접속에 의하여 통보하는 것이 필요하다. 따라서 본 발명에서는 최초 접속 후 사용자 단말 정보를 다른 단말로 이전하는 것을 허용 하는 방법을 제안한다. A user who wishes to use such a service may use a single terminal or may own a terminal. However, in many cases, two terminals such as a PC and a mobile terminal are used at the same time. In this process, a tokenized user section It is necessary to transfer them to a plurality of terminals or notify them by active connection. Therefore, the present invention proposes a method of allowing transfer of user terminal information to another terminal after the first connection.

도 7은 본 발명의 일 실시예에 따른 PC에서 모바일로 섹션 정보를 이전하는 경우의 처리 과정을 설명하기 위한 도면이다. FIG. 7 is a view for explaining a process of transferring section information from a PC to a mobile according to an embodiment of the present invention.

도 7은 사용자가 PC(제1 단말)에서 모바일(제2 단말)로 섹션 정보를 이전할 것을 요청할 경우 처리과정에 대해 설명하기 위한 도면이다. 7 is a diagram for explaining a processing procedure when a user requests to transfer section information from a PC (first terminal) to a mobile (second terminal).

도 7을 참조하면, 사용자가 최초 접속 후 대기시 인증 섹션키를 받는다(S701, S702). Referring to FIG. 7, the user receives the authentication section key at the time of initial connection (S701, S702).

이후, 사용자가 자신의 접속한 순번을 유지한 채 모바일로 이전을 원할 경우, 대기화면에서 클릭을 함으로써, 다른 단말인 모바일로 대체를 요구하게 된다(S703). 그렇게 되면 매니저 에이전트(10)는 이 연결섹션에 유일하게 생성된 QR 코드 혹은 연결된 비밀번호 키 코드를 사용자 화면에 전송한다(S704). 본 발명의 실시예에서 인증을 위한 방식으로 QR코드와 비밀번호를 예로 들었지만, 본 발명은 이에 한정되는 것은 아니며, 섹션 정보를 유지하면서 이전하는 모든 방법을 포괄한다. If the user wishes to transfer to the mobile station while maintaining the order of the connection, the mobile station requests the substitution of the other mobile terminal by clicking on the idle screen (S703). In step S704, the manager agent 10 transmits the unique generated QR code or the associated password key code to the user screen in the connection section. In the embodiment of the present invention, the QR code and the password are exemplified as a method for authentication, but the present invention is not limited to this, and covers all methods of transferring while maintaining section information.

그리고, 모바일(제2 단말)에서 QR 코드를 촬영하거나 비밀번호를 입력하면(S705), 매니저 에이전트(10)에서 이를 인증하고, 접속한 단말인 모바일에 루프 백 클라이언트를 설치하고, 대기열 정보를 교체하게 된다(S706). 그리고, 모바일(제2 단말)은 연결된 시간과 순번 정보로 순번에 대한 통보 대기의 과정을 거치게 된다(S707). 이후 순번이 되어 모바일이 접속하는 것은 전술한 과정과 동일하다. When the mobile terminal (second terminal) captures a QR code or inputs a password (S705), the manager agent 10 authenticates it, installs a loopback client in the mobile terminal as a connected terminal, and replaces the queue information (S706). In step S707, the mobile terminal (second terminal) is notified of the sequence number by the connected time and sequence information. It is the same as the above-mentioned process that the mobile is connected after the turn.

매니저 에이전트(10)는 사용자 접속시 허용여부 및 대기시간을 결정하기 위하여 웹서버, 이와 연동된 DB서버 및 네트웍 리소스 장치 등과 상시적으로 모니터링을 하게 된다. 모니터링 된 데이터는 다음 접속 허용 시, 리소스 한계를 넘어서게 될지 혹은 부하의 변화가 얼마 정도 있을 지를 예측하게 된다. 물론 이렇게 추론된 예측 치와 상관없이 사용자가 한계치를 정하게 되면, 우선 순위는 사용자 정의 범위까지 리소스 할당을 허용한다. The manager agent 10 regularly monitors the web server, the DB server and the network resource device connected thereto in order to determine whether to allow and wait for the user connection. The monitored data predicts whether the next connection is allowed to exceed the resource limit or how much the load will change. Of course, irrespective of the predicted value thus determined, if the user sets the limit, the priority permits resource allocation up to the user defined range.

일반적으로 사용자가 리소스 할당량을 설정하기 위한 가이드 설정 값은 본 발명에서 시스템 용량 별 사전 정의된 값에 의하여 표시되고, 역으로 시스템 운영 시 획득되는 데이터 값 들은 실시간 부하 변화 량을 기록하여 새로 접속이 이루어질 경우, 예측 트레이닝 데이터로 활용하게 된다. Generally, a guide setting value for setting a resource allocation amount by a user is displayed according to a predefined value for each system capacity in the present invention. Conversely, data values obtained during system operation are recorded as a real time load change amount and a new connection is made , It is used as predictive training data.

현재 이러한 리소스 모니터링 방식은 주로 사용자 단말의 측정 지수(사용자 단말에서 측정된 요청, 응답 시간, 요청 횟수 및 손실 율, 트래픽요구량)이 반영되지 않은 접속 수, 요청 량 따른 시스템, 네트웍, 어플리케이션 부하를 측정하는 방식이 일반적이나, 본 발명에서는 사용자 입장의 성능에 따른 리소스 제한이나 확장을 위하여 각 세션에 따른 변화 량을 예측하는 방식을 사용한다. Currently, this resource monitoring method mainly measures the system, network, and application load according to the number of connections that are not reflected in the measurement index of the user terminal (request, response time, number of requests and loss rate, However, in the present invention, a method of predicting the amount of change according to each session is used in order to restrict or expand a resource according to the performance of a user's position.

도 11은 본 발명의 일 실시예에 따른 사용자 접속 클라이언트 세션 측정 정보를 나타낸 도표이다. 11 is a diagram illustrating user connected client session measurement information according to an embodiment of the present invention.

도 11에서 사용자 단말과 서버 사이의 연결 시, 사용자 접속 클라이언트 세션 정보를 측정하되, 최초 접속시 이를 측정하고, 요청 시 마다 이를 갱신하여 변화 량을 측정하는 방식으로 측정한다. In FIG. 11, the user access client session information is measured at the time of connection between the user terminal and the server, and the measurement is made at the time of the first connection, and the change is measured by updating each time of the request.

도 11은 사용자 단말 에이전트를 통하여 개별 사용자 정보를 측정하는 값에 대한 기본 항목이며, 이외에 에이전트가 획득 할 수 있는 정보를 추가 할 수 있다.11 is a basic item for a value for measuring individual user information through a user terminal agent, and additionally, information that an agent can acquire can be added.

도 12는 본 발명의 일 실시예에 따른 접속 서비스 서버 변화량 측정 정보를 나타낸 도표이다. FIG. 12 is a diagram showing connection service server change amount measurement information according to an embodiment of the present invention.

각 연결된 개별 세션 접속시 매니저 에이전트는 웹 서버 및 웹 어플리케이션 서버와 통신하여 도 12의 정보 변화량을 획득한다. 이 변화량은 실시간으로 저장되어 모니터링되고, 도 11의 측정 데이터가 연계되어 새로운 접속시 부하 예측을 할 수 있게 된다.Upon each connected individual session connection, the manager agent communicates with the web server and the web application server to obtain the amount of information change in Fig. This change amount is stored and monitored in real time, and measurement data of FIG. 11 is linked to enable a new connection load prediction.

도 8은 본 발명의 일 실시예에 따른 가용성 측정 과정을 설명하기 위한 개념도이다. 8 is a conceptual diagram for explaining the availability measurement process according to an embodiment of the present invention.

도 8은 사용자가 도 11의 측정 정보를 가지고 세션이 생성될 경우(S801), 각각(현재 측정값-이전 최근 측정값)의 메모리에 세션 변화 값으로 기록하고(S802), 이를 마지막 기록한 현재 부하측정지수와 비교하여 예측 계산한 데이터에서 뽑아낸 전체 예측 치와 비교하여 예측 변화 량을 계산한다(S803). FIG. 8 shows a case where a session is created with the measurement information of FIG. 11 (S801), and the session change value is recorded in the memory of each of the current measured value and the latest measured value (S802) The predicted variation is compared with the total predicted value extracted from the predicted-calculated data by comparing with the measurement index (S803).

새로운 세션이 생성되더라도 세션의 변화량이 반드시 증가하는 것은 아니며, 오히려 감소할 수 있다. 왜냐하면, 시스템에 어느 정도 부하 량이 생겼을 경우, 캐쉬 시스템이나 한꺼번에 작업 데이터를 쓰는 방식을 취할 수 있기 때문이다. 이러한 경우, 세션 변환 값은 음수의 값을 가지게 되지만, 본 발명에서는 이를 절대값으로 취급한다. Even if a new session is created, the amount of change in the session is not necessarily increased, but may be reduced. This is because, if the system has a certain amount of load, the cache system or the method of writing the job data at a time can be taken. In this case, the session conversion value has a negative value, but the present invention treats it as an absolute value.

따라서, 본 발명에서는 단지 세션 연결에 따른 변화량 만을 측정하게 된다. 즉, Session#1 수/T1-Session#2 수/T2 의 절대값이 시간에 따른 변화량 매핑 데이터이다. 여기서, T1과 T2는 각 세션을 유지하고 있는 시간을 나타낸다. Therefore, in the present invention, only the variation according to the session connection is measured. That is, the absolute value of the number of Session # 1 / the number of T1-Session # 2 / T2 is the change amount mapping data according to time. Here, T1 and T2 represent the time during which each session is held.

그리고, 실제 변화 량과 예측 치와의 동일 여부로 매핑하고, 다를 경우는 %와 N으로 매핑한 트레이닝 셋을 만들어 다음 예측에 활용한다(S804). If the difference is the same as the actual change amount and the predicted value, the training set mapped with% and N is generated and used for the next prediction (S804).

다음 예측 시, 실제 측정된 데이터 값의 %와 개수 N을 대입한 후, 일차적으로 시계열 분석에 기초하여 통계 데이터를 추출하고, 이를 앞의 기록 통계 데이터와 비교하여 새로운 예측치를 기입한다.In the next prediction, the% of the actually measured data value and the number N are substituted, the statistical data is firstly extracted based on the time series analysis, and the new statistical data is compared with the previous recorded statistical data to write a new predictive value.

도 13은 이러한 통계적 기록의 한 예이다. 도 13은 본 발명의 일 실시예에 따른 예측 데이터에 따른 통계적 기록을 나타낸 도표이다. Figure 13 is an example of this statistical record. 13 is a chart illustrating statistical recording according to prediction data according to an embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따른 클라우드 대기열과 시스템 대기열을 동기화하는 과정을 설명하기 위한 도면이다. FIG. 9 illustrates a process of synchronizing a cloud queue with a system queue according to an embodiment of the present invention. Referring to FIG.

도 9의 실시예는 클라우드 대기 열과 각각의 시스템의 동기화 하는 과정을 통하여 일련의 순번을 순차적으로 배치하는 방법에 대한 설명이다. The embodiment of FIG. 9 is a description of a method of sequentially arranging a series of sequence numbers through a process of synchronizing the cloud queue and each system.

도 9에서 보는 바와 같이, 접속 가능한 서버가 A와 B가 있다고 가정하자. 이때 각 시스템별로 접속하는 순서는 각각 A-1~A-N, B1~B-N까지 인 상황이다.As shown in FIG. 9, assume that there are servers A and B that can be connected. In this case, the order of connection for each system is from A-1 to A-N and B1 to B-N, respectively.

서버 A와 서버 B가 운영될 경우, 각각의 리소스와 네트웍 할당량 및 접속 허용치는 시스템 상태 별로 달라질 수 있다. 그리고, 각 서버에서 특정 단말이 중복 접속되거나 접속 시간이 동일한 경우도 발생할 수 있다. 따라서, 클라우드 대기 열 매니저에서는 이를 순번으로 다시 재배열하고, 이를 루프 백 클라이언트에 통보한 후, 해당 매니지먼트 에이전트 대기 열에 순서 배열을 통제하여 알리게 된다. 즉, 각각 시스템의 순번화된 상태와 상관없이 클라우드 대기열에서 이를 통제하여 다시 재 배치한다는 의미이다. 물론 시스템이 한 대인 경우에는 클라우드 대기열과 시스템 대기열이 동일하게 배치된다. 도 9에서 A-1 서버가 접속이 최초일 경우(901), 이를 첫번째 대기열에 넣게 되고, 접속 서버에 상관없이 902, 903처럼 순번을 클라우드 대기열에 시간 및 인증 응답시간을 계산하여 재배치하게 된다. When Server A and Server B are operated, the resource and network quota and connection tolerance of each can be changed according to the system state. In addition, it is also possible that a specific terminal may be repeatedly connected or the connection time may be the same in each server. Therefore, the cloud queue manager rearranges them in order, notifies the loop back client, and then controls the order arrangement in the corresponding management agent queue. In other words, regardless of the system's serialized state, it means that the cloud queue is controlled and relocated again. Of course, if there is only one system, the cloud queues and system queues are the same. In FIG. 9, when the server A-1 is connected for the first time (901), it puts it into the first queue, and relays the order and number of times, such as 902 and 903, to the cloud queue regardless of the connected server by calculating the time and the authentication response time.

만약 대기열에 등재된 #5번 대기 열클라이언트가 접속 후 응답을 할 수 없는 오프라인이 된 경우(904), 이를 해당 접속의 등재 되어 있는 서버 A에 통보하고, 대기열에서 삭제하고(905), 다음 순번으로 자동으로 이전 시킨다(903) If the waiting client # 5 registered in the queue becomes offline (904) that can not respond after connection, it is notified to the listed server A of the corresponding connection and deleted from the queue (905) (903)

이처럼 대기시간을 예측하고 능동적으로 서버에서 해당 클라이언트에 접속 허용을 하기 위해서는, 임의적 시간이 아니라 사용량 등의 패턴에 의해 예측된 시간에 기초하여야 서버와 클라이언트 상의 리소스 사용량을 줄이고 최적화된 리소스 할당을 할 수 있다.In order to predict the waiting time and actively allow the client to access the client, it is necessary to reduce the resource usage on the server and the client and to allocate the optimized resource based on the time predicted by the patterns such as the usage amount, have.

도 10은 본 발명의 일 실시예에 따른 대기열 관리 구성도이다. 도 10은 클라이언트에게 접속을 허용할 티켓을 발부하기 위해 필요한 리소스 예측을 위한 전체 구성을 도시하고 있다. 10 is a diagram illustrating a queue management configuration according to an embodiment of the present invention. FIG. 10 shows an overall configuration for predicting a resource required to issue a ticket to allow a client to connect.

도 10을 참조하면, 네트워크 및 웹 서버와의 지속적인 통신을 통해 서비스 시스템의 리소스 CPU, 네트웍, 어플리케이션의 설정 및 부하 정도, 연결 섹션의 할당량 등을 지속적으로 감시한다(S900). Referring to FIG. 10, in step S900, the resource CPU of the service system, the setting and load of the application, the load of the connection section, and the like are continuously monitored through continuous communication with the network and the web server.

사용자가 연결을 요청할 경우 서비스 시스템은 접속 시스템의 아이피 어드레스(어드레스:포트) 셋이 구성되고, 이 연결에 대응하여 시스템 서버에서는 프로세스 혹은 쓰레드 아이디 값이 생성된다. 이 생성된 값을 키로 하여 각 연결에 따른 변화량을 개별화하여 측정 할 수 있다.When a user requests a connection, the service system configures a set of IP addresses (address: port) of the connection system, and in response to this connection, a process or thread ID value is generated in the system server. By using the generated value as a key, the variation according to each connection can be individually measured.

그리고, 변화량과 사용자의 통계적 사용시간, 트래픽 양을 측정하여 실제적으로 진행된 데이터를 트레이닝 셋에 기록하고, 이를 바탕으로 예측시간을 추론하기 위하여 TEST 및 예측 데이터 셋을 생성한 후(S901), 이를 머신 러닝의 통계 추론 시스템에 의해 로컬 대기열에 정보를 제공한다(S902). Then, TEST and a predicted data set are generated (S901) in order to deduce the predicted time based on the change amount, the statistical usage time of the user, and the amount of traffic and record the actually processed data in the training set (S901) The statistics inference system of the running provides information to the local queue (S902).

실제 사용자의 사용시간과 부하의 변화가 있을 경우, 대기열에서 실제 일어난 결과값을 통보 받아(S903), 다시 트레이닝 셋에 기록하여 계속적으로 정확도를 높이는 방법을 사용한다. 이 과정에서 오류가 발견되는 경우, 대기 열 정보(910)를 다시 업데이트하여, 사용자 단말에 동기화하고(S902), 동기화된 내용을 바탕으로 업데이트를 통보하는 과정(S904)으로 실제 접속 리소스를 관리하게 된다.If there is a change in the usage time and load of the actual user, the actual result value in the queue is notified (S903), and the method is repeatedly recorded in the training set to continuously increase the accuracy. If an error is found in the process, the queue information 910 is updated again, and the synchronization is synchronized with the user terminal (S902), and the actual access resource is managed in the process of notifying the update based on the synchronized contents (S904) do.

사용자 단말에서의 부하와 시스템에 가해지는 부하의 양은 정확하게 일치하지 않는다. 시스템에서는 사용자 단말에 연결된 계측 스크립트가 있는 경우, 단말의 측정 데이터를 함께 반영하여 시스템의 부하(CPU, 메모리 등)에 가중치 값을 부여할 수 있다. 이는 역으로 사용자 단말에서 계측한 부하량이 적을 때 서버의 부하량이 높다면 단말의 성능이 좋다고 판별할 수 있다. 같은 사양의 단말이 접속할 경우, 다른 세션의 단말에 비해 가중치가 높이 적용되어 리소스 할당량을 줄이게 된다. 계측 스크립트가 없는 경우에는 측정없이 사양 값(브라우저, OS 등)을 기초로 하여 가중치 값을 적용한다.The load on the user terminal and the amount of load on the system are not exactly the same. When there is a measurement script connected to the user terminal, the system can reflect the measurement data of the terminal together and assign a weight value to the load (CPU, memory, etc.) of the system. On the contrary, when the load measured by the user terminal is small and the load of the server is high, it can be determined that the performance of the terminal is good. When a terminal of the same specification is connected, the weight of the terminal of the same session is higher than that of terminals of other sessions, thereby reducing the resource allocation amount. If there is no measurement script, the weight value is applied based on specification value (browser, OS, etc.) without measurement.

도 10에서 계측의 값은 사용자 단말, 어플리케이션(프로세스 등), 시스템(CPU, 메모리, 네트워크 등)으로 구분되어 대기 열 배치에 반영된다. S903 통보과정에서 이러한 밸런스 값이 구분되어 전송된다.In Fig. 10, the values of measurement are divided into a user terminal, an application (a process, etc.), a system (a CPU, a memory, a network, etc.) and are reflected in a queue arrangement. In S903 notification, these balance values are transmitted separately.

이상에서 본 발명의 실제적인 과정을 설명하였지만 여기에 포함된 접속 시 루프 백에 의한 대기 방법, 대기열과 순번의 예측 방법, 네트웍 섹션에 대한 접속방법등의 변형이나 개량에 따른 범위 또한 권리 범위에 속한다.Although the actual process of the present invention has been described above, the scope of modification and improvement of the queuing method by loopback at the time of connection, the method of predicting queues and order, and the connection method of the network section are included in the scope of right .

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.While the present invention has been described with reference to several preferred embodiments, these embodiments are illustrative and not restrictive. It will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit of the invention and the scope of the appended claims.

100 클라우드 시스템
10 매니저 에이전트
100 cloud system
10 manager agent

Claims (12)

네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버와, 상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하는 네트워크 시스템에서의 리소스 할당 방법에 있어서,
상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계;
정상 접속 단말인 경우, 상기 매니저 에이전트는 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하는 단계;
상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 상기 매니저 에이전트는 해당 단말을 대기 단말로 설정하여 대기시키는 단계; 및
상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 단계를 포함하는 네트워크 시스템에서의 리소스 할당 방법.
A resource allocation method in a network system including a service providing server for providing a service to a terminal connected to a network and a manager agent for allocating resources of the service providing server to a terminal to manage the service providing server,
The manager agent distinguishing whether the terminal is a normal access terminal or an abnormal access terminal;
When the manager agent is a normal access terminal, allocating resources to the normal access terminal by predicting the traffic of the service providing server;
If the resource can not be allocated to the normal access terminal in the service providing server, the manager agent sets the corresponding terminal as a standby terminal and waits; And
And when the resource is allocated to the service providing server, the manager agent activates the standby terminal to allocate the resource.
청구항 1에 있어서,
상기 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하는 단계에서,
상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
The method according to claim 1,
In the step of distinguishing the normal access terminal or the abnormal access terminal,
The manager agent verifies the connection section and the agent information of the terminal to be connected, generates a pair key if the agent is a normal agent, and authenticates that the terminal is a normal access terminal by forming a trusted section with the connection request terminal And allocating resources in the network system.
청구항 1에 있어서,
상기 대기 단말로 설정하여 대기시키는 단계에서,
상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고,
상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
The method according to claim 1,
In the step of setting and waiting for the standby terminal,
The manager agent adds the waiting terminal to the queue list according to the order,
Wherein the manager agent activates a standby terminal according to an order recorded in the queue list and allocates resources when the resource is allocated in the service providing server.
청구항 3에 있어서,
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하는 단계;
상기 매니저 에이전트는 인증 스크립트를 비정상 접속 단말에 전송하는 단계; 및
비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 상기 매니저 에이전트는 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 단계를 더 포함하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
The method of claim 3,
In case of an abnormal access terminal, the manager agent transmits a loop back script to the corresponding terminal to block the connection;
The manager agent transmitting an authentication script to an abnormal access terminal; And
Further comprising the step of, if the abnormal access terminal succeeds in authentication through the authentication script, releasing the connection blocking and registering the corresponding terminal in the waiting list. .
청구항 3에 있어서,
상기 대기 단말로 설정하여 대기시키는 단계에서,
상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
The method of claim 3,
In the step of setting and waiting for the standby terminal,
Wherein the manager agent provides a standby screen to the standby terminal in which information including an expected waiting time and an order number is displayed.
청구항 5에 있어서,
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출하는 것을 특징으로 하는 네트워크 시스템에서의 리소스 할당 방법.
The method of claim 5,
It calculates the expected waiting time through machine learning based on data including average usage time, amount of traffic, number of sections, load processing time, and limit amount of resource set by the user in connection section And allocating resources in the network system.
네트워크에 접속한 단말에 서비스를 제공하는 서비스 제공 서버; 및
상기 서비스 제공 서버의 리소스를 단말에 할당하여 서비스 제공이 가능하도록 관리하는 매니저 에이전트를 포함하되,
상기 매니저 에이전트는 접속하고자 하는 단말에 대하여 정상 접속 단말인지 또는 비정상 접속 단말인지를 구분하고, 정상 접속 단말인 경우, 서비스 제공 서버의 트래픽을 예측하여 리소스를 정상 접속 단말에 할당하고, 상기 서비스 제공 서버에서 정상 접속 단말에 리소스를 할당할 수 없으면, 해당 단말을 대기 단말로 설정하여 대기시키고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 대기 단말을 다시 활성화시켜서 리소스를 할당하는 것을 특징으로 하는 네트워크 시스템.
A service providing server for providing a service to a terminal connected to a network; And
And a manager agent configured to allocate a resource of the service providing server to a terminal to manage the service providing server,
The manager agent identifies a normal access terminal or an abnormal access terminal with respect to a terminal to be accessed. If the access terminal is a normal access terminal, the manager agent predicts traffic of the service providing server and allocates resources to the normal access terminal. If the resource can not be allocated to the normal access terminal, the terminal is set as a standby terminal and is queued. When the service provision server can allocate the resource, the standby terminal is activated again to allocate the resource Characterized by a network system.
청구항 7에 있어서,
상기 매니저 에이전트는 접속하고자 하는 단말의 연결 섹션과 에이전트 정보를 검증하고, 정상 에이전트이면 페어 키(Pair key)를 생성하고, 접속 요청 단말과 신뢰있는 섹션을 형성하는 방식으로 정상 접속 단말임을 인증하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 7,
The manager agent verifies the connection section and the agent information of the terminal to be connected, generates a pair key if the agent is a normal agent, and authenticates that the terminal is a normal access terminal by forming a trusted section with the connection request terminal Characterized by a network system.
청구항 7에 있어서,
상기 매니저 에이전트는 순번에 따라 대기 단말을 대기 열 리스트에 추가하고, 상기 서비스 제공 서버에서 리소스를 할당할 수 있는 상태가 되면, 상기 매니저 에이전트는 상기 대기 열 리스트에 기록된 순번에 따라 대기 단말을 활성화시켜서 리소스를 할당하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 7,
The manager agent adds the waiting terminal to the waiting queue list according to the order of the numbers, and when the manager agent becomes able to allocate resources in the service providing server, the manager agent activates the waiting terminal according to the order recorded in the waiting queue list And allocates resources to the network system.
청구항 9에 있어서,
비정상 접속 단말인 경우, 상기 매니저 에이전트는 해당 단말로 루프 백 스크립트를 전송하여 접속을 차단하고, 인증 스크립트를 비정상 접속 단말에 전송하고, 비정상 접속 단말이 상기 인증 스크립트를 통해 인증에 성공하면, 접속 차단을 해제하고, 해당 단말을 상기 대기 열 리스트에 등록시키는 것을 특징으로 하는 네트워크 시스템.
The method of claim 9,
In case of an abnormal access terminal, the manager agent sends a loopback script to the terminal to block the connection, transmits the authentication script to the abnormal access terminal, and if the abnormal access terminal succeeds in authentication through the authentication script, And registers the terminal in the queue list.
청구항 8에 있어서,
상기 매니저 에이전트는 예상 대기 시간, 순번을 포함하는 정보가 표시되는 대기 화면을 대기 단말에 제공하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 8,
Wherein the manager agent provides a standby screen to the standby terminal in which information including an expected waiting time and an order number is displayed.
청구항 11에 있어서,
연결 섹션의 평균 사용시간, 트래픽의 양, 섹션의 수, 부하 처리 시간, 사용자가 설정한 리소스의 제한량을 포함하는 데이터를 기반으로 머신 러닝(machine learning)을 통하여 예상 대기 시간을 산출하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 11,
It calculates the expected waiting time through machine learning based on data including average usage time, amount of traffic, number of sections, load processing time, and limit amount of resource set by the user in connection section .
KR1020170088859A 2017-07-13 2017-07-13 Method for allocating resource in network system, and network system implementing the same KR102047088B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170088859A KR102047088B1 (en) 2017-07-13 2017-07-13 Method for allocating resource in network system, and network system implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170088859A KR102047088B1 (en) 2017-07-13 2017-07-13 Method for allocating resource in network system, and network system implementing the same

Publications (2)

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

Family

ID=65280244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170088859A KR102047088B1 (en) 2017-07-13 2017-07-13 Method for allocating resource in network system, and network system implementing the same

Country Status (1)

Country Link
KR (1) KR102047088B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144092B1 (en) 2019-04-26 2020-08-13 재단법인 실감교류인체감응솔루션연구단 Dynamic network configuration and server extension system and method
KR102215031B1 (en) * 2020-07-22 2021-02-10 주식회사 데브와이 Method for connecting waiting person in distributed server environment
WO2022050541A1 (en) * 2020-09-02 2022-03-10 삼성전자 주식회사 Method for adjusting allocation of computing resources for multiple vnf, and server therefor
KR20220127020A (en) * 2021-03-10 2022-09-19 주식회사 케이티 Method and system for 5g network task automation
KR102519061B1 (en) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 Apparatus and method for controling flow rate based on interval control

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525069B1 (en) * 2022-12-30 2023-04-24 주식회사 에스티씨랩 Apparatus and method for managing transactions for resource optimization of cloud servers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037651A (en) * 1998-12-01 2000-07-05 전주범 Method for setting due time value when determining master and slave between terminals
KR20090112533A (en) * 2008-04-24 2009-10-28 (주)에임투지 Resource assignment control method and assignment list management method
KR20140006472A (en) * 2012-07-05 2014-01-16 한국전자통신연구원 Apparatus and method for controlling communication blocking
KR101531834B1 (en) 2013-03-08 2015-06-26 주식회사 알투소프트 System for Resource Management in Mobile Cloud computing and Method thereof
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037651A (en) * 1998-12-01 2000-07-05 전주범 Method for setting due time value when determining master and slave between terminals
KR20090112533A (en) * 2008-04-24 2009-10-28 (주)에임투지 Resource assignment control method and assignment list management method
KR20140006472A (en) * 2012-07-05 2014-01-16 한국전자통신연구원 Apparatus and method for controlling communication blocking
KR101531834B1 (en) 2013-03-08 2015-06-26 주식회사 알투소프트 System for Resource Management in Mobile Cloud computing and Method thereof
KR101653805B1 (en) * 2016-03-10 2016-09-05 인터리젠 주식회사 method and apparatus for identifying an access terminal device via a network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144092B1 (en) 2019-04-26 2020-08-13 재단법인 실감교류인체감응솔루션연구단 Dynamic network configuration and server extension system and method
KR102215031B1 (en) * 2020-07-22 2021-02-10 주식회사 데브와이 Method for connecting waiting person in distributed server environment
WO2022050541A1 (en) * 2020-09-02 2022-03-10 삼성전자 주식회사 Method for adjusting allocation of computing resources for multiple vnf, and server therefor
US11757790B2 (en) 2020-09-02 2023-09-12 Samsung Electronics Co., Ltd. Method and server for adjusting allocation of computing resources to plurality of virtualized network functions (VNFs)
KR20220127020A (en) * 2021-03-10 2022-09-19 주식회사 케이티 Method and system for 5g network task automation
KR102519061B1 (en) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 Apparatus and method for controling flow rate based on interval control

Also Published As

Publication number Publication date
KR102047088B1 (en) 2019-11-20

Similar Documents

Publication Publication Date Title
KR102047088B1 (en) Method for allocating resource in network system, and network system implementing the same
US20220224726A1 (en) Distribution and Management of Services in Virtual Environments
KR101535502B1 (en) System and method for controlling virtual network including security function
EP3262795B1 (en) System and method for resource management
US10616229B2 (en) Rolling security platform
US9622068B2 (en) System, method and computer program product for connecting roaming mobile devices to a virtual device platform
US20210314409A1 (en) Accessing Resources in a Remote Access or Cloud-Based Network Environment
JP2021529386A (en) Execution of auxiliary functions on the on-demand network code execution system
US11656882B2 (en) Instant virtual application launch
US20120203870A1 (en) Concurrent Web Based Multi-Task Support For Control Management System
CN113940045A (en) API for applying policies to service graphs
CN113940044A (en) System and method for managing packet flows via an intermediary device
CA2914940A1 (en) Pre-configure and pre-launch compute resources
US11507285B1 (en) Systems and methods for providing high-performance access to shared computer memory via different interconnect fabrics
US11025425B2 (en) User security token invalidation
Jin et al. Parallel simulation of software defined networks
CN111600755B (en) Internet access behavior management system and method
US20140259090A1 (en) Storage Object Distribution System with Dynamic Policy Controls
US10055245B1 (en) Immutable configuration of virtual computer systems
JP4337747B2 (en) Hardware resource provision system
Shetty et al. Towards a network-aware vm migration: Evaluating the cost of vm migration in cloud data centers
KR101711409B1 (en) System and method for application virtualization based on multi operating system environment
US11798001B2 (en) Progressively validating access tokens
US20220217175A1 (en) Software defined network whitebox infection detection and isolation
Rouzaud-Cornabas et al. Secured architecture for remote virtual desktops

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