KR20160025926A - Apparatus and method for balancing load to virtual application server - Google Patents
Apparatus and method for balancing load to virtual application server Download PDFInfo
- Publication number
- KR20160025926A KR20160025926A KR1020140113432A KR20140113432A KR20160025926A KR 20160025926 A KR20160025926 A KR 20160025926A KR 1020140113432 A KR1020140113432 A KR 1020140113432A KR 20140113432 A KR20140113432 A KR 20140113432A KR 20160025926 A KR20160025926 A KR 20160025926A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual application
- load
- application servers
- service
- virtual
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 네트워크로 연결된 컴퓨터 기반의 서비스 환경에서 동작하는 응용서버들의 부하를 분산하는 장치 및 방법에 관한 것이다.
본 발명에 따른 부하 분산 장치의 부하 분산 방법은 부하 분산 시스템 내의 물리 서버들에 포함된 가상 응용서버들로 부하를 분산시키되, 부하 분산 시스템의 상태정보, 물리서버의 상태정보 또는 가상 응용서버들의 상태정보에 따라, 부하 분산 시스템에서 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계 및 판단한 결과에 따라, 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계를 포함하고, 부하 분산 시스템의 상태정보는 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타낸다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and a method for distributing load among application servers operating in a network-connected computer-based service environment.
A load balancing method for a load balancing apparatus according to the present invention is a method for balancing load on virtual application servers included in physical servers in a load balancing system, Determining whether the number of virtual application servers operating in the load balancing system is appropriate according to the information and generating and changing or deleting one or more virtual application servers according to a result of the determination; The state information indicates the size or amount of load the load distribution system is receiving and processing.
Description
본 발명은 가상 응용서버들로 부하를 분산하는 장치 및 방법에 관한 것으로서, 더욱 상세하게는 네트워크로 연결된 컴퓨터 기반의 서비스 환경에서 동작하는 가상 응용서버들로 부하를 분산하는 장치 및 방법에 관한 것이다
BACKGROUND OF THE
인터넷, 기업 네트워크 또는 홈 네트워크와 같은 다양한 네트워크 환경들에 대해, 클라이언트-서버 구조를 바탕으로 한 다양한 서비스가 제공되고 있다. 이러한 클라이언트-서버 기반의 서비스에 있어서, 많은 수의 클라이언트를 상대로 서비스를 제공하거나 서비스 제공을 위해 많은 컴퓨팅 및 네트워크 자원이 요구되는 경우, 서비스의 좋은 품질 및 성능을 유지하기 위해 동적으로 서버의 규모를 제어하는 방식이 사용될 수 있다. A variety of services based on client-server architecture are being provided for various network environments, such as the Internet, corporate networks or home networks. In such a client-server-based service, when many computing and network resources are required for providing a service to a large number of clients or providing a service, the size of the server is dynamically changed to maintain the good quality and performance of the service Can be used.
이러한 동적 제어 방식에는 대표적으로 서비스에 참여하는 응용서버의 자원을 증가시키는 스케일-업(scale-up) 방식과 서비스에 참여하는 응용서버의 수를 증가시키는 스케일-아웃(scale-out) 방식이 있다. In this dynamic control scheme, there are typically a scale-up scheme for increasing the resources of the application servers participating in the service and a scale-out scheme for increasing the number of application servers participating in the service .
그 중 스케일-아웃 방식에서는, OSI(Open Systems Interconnection) 모델의 계층-4 또는 계층-7 정보를 바탕으로 하드웨어 또는 소프트웨어로 구성된 부하 분산 장치(load balancer)를 통해 부하 분산을 수행한다. 이때, 부하 분산 장치는 미리 설정된 부하 분산 알고리즘에 따라 클라이언트의 서비스 요청을 서비스 클러스터 내의 응용서버들에게 적절히 분배함으로써, 특정 응용서버에 부하가 집중되는 것을 방지하고 전체적인 서비스의 품질을 향상시킨다. In the scale-out method, load balancing is performed through a load balancer composed of hardware or software based on Layer-4 or Layer-7 information of OSI (Open Systems Interconnection) model. At this time, the load balancing apparatus appropriately distributes the client's service request to the application servers in the service cluster according to the preset load distribution algorithm, thereby preventing the load from being concentrated on the specific application server and improving the overall service quality.
도 1은 이러한 일반적인 부하 분산 시스템(10)을 나타내는 블록도이다. 도 1을 참조하면, 부하 분산 시스템(10)은 클라이언트들(11), 네트워크(14), 부하 분산 장치(12) 및 서비스 클러스터(13)를 포함한다. 복수의 클라이언트(11_1, 11_2, 11_n)으로부터 네트워크를 통해 특정 인터넷 프로토콜(Virtual Internet Protocol, VIP)을 향한 서비스 요청이 수신되면, 부하 분산 장치(12)는 미리 결정된 부하 분산 알고리즘에 따라 수신된 서비스 요청을 서비스 클러스터(13) 내의 응용서버들(13_1, 13_2, 13_n)에 분산 할당한다. 이때, 수신된 서비스 요청이 증가함으로써 서비스 클러스터(13) 내의 응용서버들(13_1, 13_2, 13_n)의 부하가 폭발적으로 증가하거나 미리 결정된 기준치를 초과하면, 부하 분산 장치(12)는 스케일-아웃 방식을 통해 서비스 클러스터(13)의 처리 용량을 증가시킬 수 있다. 1 is a block diagram illustrating such a general
그러나, 이러한 종래의 스케일-아웃 방식에서는 클라이언트(11)의 서비스 요청을 처리할 응용서버가 서비스 클러스터(13) 내에 미리 설정 및 등록되어 있어야 한다. 따라서, 전체적인 서비스 요구량에 대한 사전 예측이 부정확하거나 서비스 요청들이 순간적으로 집중되는 경우, 서비스 클러스터(13) 내에 미리 설정 및 등록된 응용서버만으로는 적절한 서비스 제공이 이루어지지 못하는 문제가 발생한다. 그렇다고 하여, 서비스 클러스터(13) 내에 필요 이상으로 많은 응용서버들을 등록하면, 과잉 구성으로 인한 불필요한 자원 낭비와 비용 발생이 초래될 수 있다.
However, in this conventional scale-out method, an application server to process a service request of the
본 발명의 목적은 외부로부터의 개입 없이, 부하 분산 서비스의 상태에 따라 서비스 클러스터의 처리 용량을 적절하게 제어하는 부하 분산 장치 및 방법을 제공하는 데 있다. It is an object of the present invention to provide a load balancer and a method for appropriately controlling the processing capacity of a service cluster according to the state of the load balancing service without external intervention.
본 발명의 다른 목적은 서비스 클러스터의 과잉 구성으로 인한 자원 낭비 및 비용 발생을 최소화한 부하 분산 장치 및 방법을 제공하는 데 있다.It is another object of the present invention to provide a load balancer and a method for minimizing resource waste and cost due to over-configuration of a service cluster.
본 발명의 또 다른 목적은 시간에 따른 부하량의 변동폭이 큰 서비스 환경에서, 서비스 품질의 저하 없이 지속적으로 서비스를 제공하도록 하는 부하 분산 장치 및 방법을 제공하는 데 있다.
It is still another object of the present invention to provide a load balancer and a method for continuously providing a service without deteriorating service quality in a service environment with a large fluctuation of load amount over time.
본 발명의 실시 예들에 따른, 부하 분산 시스템 내의 물리 서버들에 포함된 가상 응용서버들로 부하를 분산시키는 부하 분산 장치의 부하 분산 방법은, 상기 부하 분산 시스템의 상태정보, 상기 물리서버의 상태정보 또는 상기 가상 응용서버들의 상태정보에 따라, 상기 부하 분산 시스템에서 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계; 및 상기 판단한 결과에 따라, 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계를 포함하고, 상기 부하 분산 시스템의 상태정보는 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타낸다.A load balancing method of a load balancing apparatus that distributes a load to virtual application servers included in physical servers in a load balancing system according to embodiments of the present invention includes a state information of the load balancing system, Determining whether the number of virtual application servers operating in the load balancing system is appropriate according to state information of the virtual application servers; And generating and deleting one or more virtual application servers according to the determination result, wherein the status information of the load distribution system includes at least one of a size and a quantity of the load that the load distribution system is receiving and processing .
실시 예로서, 상기 하나 이상의 가상 응용서버는 상기 물리서버의 하이퍼바이저에 의해 제공되는 가상화 환경상에서 동작하며, 클라이언트로부터 제공되는 서비스 요청을 처리하는 소프트웨어 개체일 수 있고, 상기 물리서버의 상기 가상화 환경상에서 다른 가상 응용서버와 동시에 동작하고, 상기 하나 이상의 가상 응용서버와 상기 다른 가상 응용서버는 각각 서로 상이한 운영체제를 이용하여 동작할 수 있다.As an embodiment, the one or more virtual application servers may be software entities operating in a virtualization environment provided by the hypervisor of the physical server, processing service requests provided by the clients, and in the virtualization environment of the physical server And the one or more virtual application servers and the other virtual application servers may operate using different operating systems.
실시 예로서, 상기 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계는, 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값을 미리 결정된 임계치와 비교하여, 상기 부하의 크기 또는 규모를 나타내는 값이 상기 미리 결정된 임계치를 초과하면, 상기 부하 분산 시스템이 수신 및 처리중인 부하가 과다한 것으로 판단하는 단계를 포함할 수 있다.In an embodiment, the step of determining whether the number of virtual application servers to be operated is appropriate may include comparing a value indicating a size or an amount of a load that the load distribution system is receiving and processing with a predetermined threshold, May include determining that the load being received and processed by the load balancing system is excessive if the value indicating the load balancing system exceeds the predetermined threshold.
실시 예로서, 상기 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계는, 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값을 미리 결정된 임계치와 비교하여, 상기 부하의 크기 또는 규모를 나타내는 값이 상기 미리 결정된 임계치 미만이면, 상기 부하 분산 시스템이 수신 및 처리중인 부하가 과소한 것으로 판단하는 단계를 포함할 수 있다.In an embodiment, the step of determining whether the number of virtual application servers to be operated is appropriate may include comparing a value indicating a size or an amount of a load that the load distribution system is receiving and processing with a predetermined threshold, Determining that the load being received and processed by the load balancing system is underestimated if the value indicating the load balancing system is less than the predetermined threshold.
실시 예로서, 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값은 상기 부하 분산 시스템이 처리중인 서비스 세션의 개수를 상기 서비스 세션을 처리중인 가상 응용서버의 수로 나눈 값일 수 있다.In an embodiment, the value indicating the size or amount of the load being received and processed by the load balancing system may be a value obtained by dividing the number of service sessions in process by the load balancing system by the number of virtual application servers that are processing the service session.
실시 예로서, 상기 임계치는 상기 부하 분산 시스템의 부하 분산 서비스 상태 정보와 상기 부하 분산 시스템에 포함된 가상 응용서버 및 물리서버의 모니터링 정보 및/또는 상기 부하 분산 시스템이 수집한 시스템 부하 정보를 참조하여 결정될 수 있다.In an embodiment, the threshold refers to load distribution service status information of the load distribution system, monitoring information of a virtual application server and a physical server included in the load distribution system, and / or system load information collected by the load distribution system Can be determined.
실시 예로서, 상기 하나 이상의 가상 응용서버 또는 상기 물리서버는 활성 그룹, 소극적 그룹 및 잠재 그룹 중 어느 하나에 포함될 수 있다.In an embodiment, the one or more virtual application servers or the physical servers may be included in one of an active group, a passive group, and a potential group.
실시 예로서, 상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는, 상기 잠재 그룹에 속한 물리서버 중 적어도 하나의 물리서버에 상기 하나 이상의 가상 응용서버를 생성하는 단계; 및 상기 생성된 하나 이상의 가상 응용서버와 물리서버의 상태를 상기 활성 그룹으로 변경하는 단계를 포함할 수 있다. As an embodiment, the step of creating, changing, or deleting one or more virtual application servers may include: creating the one or more virtual application servers in at least one physical server among the physical servers belonging to the potential group; And changing the state of the generated one or more virtual application servers and physical servers into the active group.
실시 예로서, 상기 생성된 하나 이상의 가상 응용서버는 미리 생성된 가상머신 이미지를 이용하여 생성되고, 상기 가상머신 이미지는 상기 생성된 하나 이상의 가상 응용서버를 구동하기 위한 운영체제 등을 포함하는 소프트웨어 이미지 파일로서, 상기 서비스 요청을 처리하는 데 필요한 응용프로그램 및 환경설정을 포함하도록 구성될 수 있다.In an embodiment, the generated one or more virtual application servers are generated using a virtual machine image generated in advance, and the virtual machine image is a software image file including an operating system for driving the generated one or more virtual application servers, , And may be configured to include the application programs and preferences necessary to process the service request.
실시 예로서, 상기 미리 생성된 가상머신 이미지를 복수의 가상머신 이미지를 포함하는 가상머신 이미지 풀로부터 선택하기 위해 가상머신 템플릿을 참조할 수 있다. As an embodiment, the virtual machine template may be referred to in order to select the pre-created virtual machine image from the virtual machine image pool including a plurality of virtual machine images.
실시 예로서, 상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는, 상기 하나 이상의 가상 응용서버의 상태를 상기 소극적 그룹으로부터 상기 활성 그룹으로 상태변경하는 단계를 포함할 수 있다.As an embodiment, creating, changing, or deleting the one or more virtual application servers may include changing the state of the one or more virtual application servers from the non-active group to the active group.
실시 예로서, 상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는, 상기 하나 이상의 가상 응용서버의 상태를 상기 활성 그룹으로부터 상기 소극적 그룹으로 상태변경하는 단계를 포함할 수 있다. As an embodiment, the step of creating, changing, or deleting the one or more virtual application servers may include changing the state of the one or more virtual application servers from the active group to the passive group.
실시 예로서, 상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는, 상기 소극적 그룹으로 상태변경된 상기 하나 이상의 가상 응용서버에 대해서, 처리중인 세션이 완료되었는지 확인하는 단계; 및 상기 확인 결과에 따라, 상기 하나 이상의 가상 응용서버를 중단시키거나 삭제하는 단계를 더 포함할 수 있다.As an embodiment, the step of creating, changing, or deleting one or more virtual application servers may include: checking whether the session being processed is completed for the one or more virtual application servers that have been changed to the passive group; And stopping or deleting the one or more virtual application servers according to the confirmation result.
실시 예로서, 상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는, 상기 하나 이상의 가상 응용서버를 포함하는 물리서버에서 실행중인 가상 응용서버가 더 이상 존재하지 않는 경우, 상기 물리서버를 잠재 그룹으로 상태변경하는 단계를 더 포함할 수 있다.As an embodiment, the step of creating, changing, or deleting the one or more virtual application servers may include: if the virtual application server running on the physical server including the one or more virtual application servers no longer exists, And changing the state of the server into a potential group.
본 발명의 실시 예들에 따른, 클라이언트로부터 수신되는 서비스 요청을 부하 분산 시스템 내의 물리서버에 포함된 가상 응용서버들로 분산 할당하는 부하 분산 장치는, 상기 부하 분산 시스템의 상태정보, 상기 물리서버의 상태정보 또는 상기 가상 응용서버들의 상태정보에 따라, 상기 부하 분산 시스템에서 운용되는 가상 응용서버의 수가 적절한지 판단하는 전송제어부; 및 상기 판단한 결과에 따라, 하나 이상의 가상 응용서버가 생성되거나, 상태변경되거나, 삭제되도록 제어하는 서버 제어부를 포함하고, 상기 부하 분산 시스템의 상태정보는 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타낸다.
The load balancer for distributing the service requests received from the client to the virtual application servers included in the physical server in the load balancing system according to the embodiments of the present invention may further include a state information of the load balancing system, A transmission control unit for determining whether the number of virtual application servers operated in the load balancing system is appropriate according to the information or status information of the virtual application servers; And a server control unit for controlling one or more virtual application servers to be created, changed, or deleted according to the determined result, wherein the status information of the load distribution system includes information about a size of a load Or amount.
본 발명의 실시 예들에 따르면, 서비스 관리자나 외부 응용프로그램과 같은 외부로부터의 개입 없이, 부하 분산 시스템의 상태정보, 가상 응용서버의 상태정보 또는 물리서버의 상태정보에 따라, 능동적으로 가상 응용서버를 추가, 상태변경, 또는 제거함으로써, 서비스 클러스터의 처리 용량을 적절하게 제어할 수 있다.According to the embodiments of the present invention, the virtual application server can be actively managed according to the status information of the load balancing system, the status information of the virtual application server, or the status information of the physical server without any intervention from the outside such as a service manager or an external application program By adding, changing state or removing, the processing capacity of the service cluster can be appropriately controlled.
그에 따라, 서비스 클러스터의 과잉 구성으로 인한 자원 낭비 및 비용 발생을 최소화할 수 있으며, 시간에 따른 부하량의 변동폭이 큰 서비스 환경에서 서비스 품질의 저하 없이 지속적으로 서비스를 제공할 수 있다.
Accordingly, it is possible to minimize the resource waste and the cost incurred due to the excessive configuration of the service cluster, and to continuously provide the service without deteriorating the service quality in the service environment where the fluctuation of the load amount with time is large.
도 1은 일반적인 부하 분산 시스템을 나타내는 블록도이다.
도 2는 가상환경에 기반한 일반적인 부하 분산 시스템을 나타내는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른, 부하 분산 시스템을 나타내는 블록도이다.
도 4는 본 발명의 일 실시 예에 따른, 가상 응용서버 또는 물리서버의 상태변경을 구체적으로 설명하기 위한 상태도이다.
도 5는 본 발명의 일 실시 예에 따른, 부하 분산 방법을 나타내는 순서도이다.1 is a block diagram showing a general load distribution system.
2 is a block diagram illustrating a typical load-balancing system based on a virtual environment.
3 is a block diagram illustrating a load balancing system, in accordance with one embodiment of the present invention.
4 is a state diagram for explaining a state change of a virtual application server or a physical server in detail according to an embodiment of the present invention.
5 is a flow diagram illustrating a load balancing method, in accordance with an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment.
또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않는 범위 내에서 다양하게 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 의도된 것이 아니며, 본 발명의 범위는 원칙적으로 첨부한 청구항들에 정해지고, 청구항들에 기재된 것 및 그와 균등한 범위의 가능한 실시 예들을 포괄한다. 유사한 참조부호가 도면들에서 사용되는 경우, 유사한 참조부호는 여러 실시 예들에 대해서 동일하거나 유사한 기능을 지칭한다.It should also be understood that the position or arrangement of the individual components within each disclosed embodiment can be variously modified without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is principally defined by the appended claims, encompassed by the appended claims and their equivalents. Where similar reference numerals are used in the figures, like reference numerals refer to the same or similar functions for various embodiments.
이하에서는, 첨부한 도면들을 참조하여, 구체적인 실시 예를 통해 본 발명의 내용 및 사상을 설명한다.
Hereinafter, the contents and ideas of the present invention will be described with reference to the accompanying drawings.
도 2는 가상환경에 기반한 일반적인 부하 분산 시스템을 나타내는 블록도이다. 도 2를 참조하면, 부하 분산 시스템(20)은 하나 이상의 클라이언트들(21), 네트워크(24), 부하 분산 장치(22) 및 복수의 물리서버(23_1, 23_2, 23_3)를 포함하는 서비스 클러스터(23)를 포함한다.2 is a block diagram illustrating a typical load-balancing system based on a virtual environment. 2, the load balancing system 20 includes a service cluster (not shown) including one or
클라이언트(21)는 네트워크(24)를 통해 부하 분산 장치(22)와 연결되며, 특정 인터넷 프로토콜(VIP, 25)을 향한 서비스 요청을 전송한다. 클라이언트(21)는 하나 이상의 클라이언트 장치들(21_1, 21_2, 21_n)을 포함하며, 각각의 클라이언트 장치들(21_1, 21_2, 21_n)은 동종 또는 이종의 컴퓨터 장치, 모바일 단말기 또는 그 밖의 네트워크(24)를 통해 데이터 통신이 가능한 전자 장치일 수 있다. The
네트워크(24)는 클라이언트(21)와 부하 분산 장치(22) 간의 통신 연결을 중개하는 하드웨어 또는 소프트웨어로 구성된 통신망이다. 네트워크(24)는 LAN(Local Area Network), MAN(Metropolitan Area Network), GSM(Global System for Mobile Network), EDGE(Enhanced Data GSM Environment), HSDPA(High Speed Downlink Packet Access), W-CDMA(Wideband Code Division Multiple Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), 블루투스(Bluetooth), 지그비(Zigbee), 와이-파이(Wi-Fi), VoIP(Voice over Internet Protocol), LTE Advanced, IEEE802.16m, WirelessMAN-Advanced, HSPA+, 3GPP Long Term Evolution (LTE), Mobile WiMAX (IEEE 802.16e), UMB (formerly EV-DO Rev. C), Flash-OFDM, iBurst and MBWA (IEEE 802.20) systems, HIPERMAN, Beam-Division Multiple Access (BDMA) 및 초음파 활용 통신망으로 구성된 그룹으로부터 선택되는 하나 이상의 통신망 또는 통신 수단을 포함할 수 있다.Network 24 is a network of hardware or software that mediates communication connections between
서비스 클러스터(23)는 하나 이상의 물리서버(23_1, 23_2, 23_3)를 포함한다. 각 물리서버(23_1, 23_2, 23_3)는 하이퍼바이저(23_1a, 23_2a, 23_3a) 및 가상머신 제어부(23_1b, 23_2b, 23_3b)를 포함한다. 또한, 각 물리서버(23_1, 23_2, 23_3)는 선택적으로 하나 이상의 가상 응용서버(23_1c, 23_1d, 23_2c, 23_3c)를 포함할 수 있다.The
하이퍼바이저(23_1a, 23_2a, 23_3a)는 대응하는 물리서버(23_1, 23_2, 23_3)에 가상화 환경을 제공한다. 하이퍼바이저(23_1a, 23_2a, 23_3a)는 프로세서나 메모리와 같은 물리서버(23_1, 23_2, 23_3)에 포함된 다양한 컴퓨팅 자원에 대한 다양한 운영체제의 접근 방법을 통제하는 얇은 계층의 소프트웨어로서, 하이퍼바이저(23_1a, 23_2a, 23_3a)를 통해, 각 물리서버(23_1, 23_2, 23_3) 내에서 상이한 운영체제가 동시에 가동될 수 있다. 하이퍼바이저(23_1a, 23_2a, 23_3a) 및 그것이 제공하는 가상화 환경에 대한 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.The hypervisors 23_1a, 23_2a, and 23_3a provide the virtualization environment to the corresponding physical servers 23_1, 23_2, and 23_3. The hypervisors 23_1a, 23_2a, and 23_3a are thin layer software that controls various operating system access methods for various computing resources included in the physical servers 23_1, 23_2, and 23_3 such as a processor and a memory. The hypervisors 23_1a, , 23_2a, and 23_3a, different operating systems in the physical servers 23_1, 23_2, and 23_3 may be operated simultaneously. The details of the virtualization environment provided by the hypervisors 23_1a, 23_2a, and 23_3a are well known in the art, and a description thereof will be omitted here.
가상머신 제어부(23_1b, 23_2b, 23_3b)는 하이퍼바이저(23_1a, 23_2a, 23_3a)의 외부 제어 인터페이스 또는 그것과 연동되는 상위 소프트웨어 라이브러리이다. 가상머신 제어부(23_1b, 23_2, 23_3b)는 각 물리서버(23_1, 23_2, 23_3) 내의 가상 응용서버들(23_1c, 23_1d, 23_2c, 23_3c)에 대한 제어 기능을 제공한다. 예를 들어, 각 물리서버(23_1, 23_2, 23_3)는 가상머신 제어부(23_1b, 23_2b, 23_3b)를 통해 가상 응용서버를 생성, 삭제, 시작, 중단 또는 일시정지시킬 수 있다. The virtual machine control units 23_1b, 23_2b, and 23_3b are external control interfaces of the hypervisors 23_1a, 23_2a, and 23_3a, or an upper software library linked to the external control interfaces. The virtual machine control units 23_1b, 23_2 and 23_3b provide control functions for the virtual application servers 23_1c, 23_1d, 23_2c and 23_3c in the respective physical servers 23_1, 23_2 and 23_3. For example, each of the physical servers 23_1, 23_2, and 23_3 can create, delete, start, stop, or pause a virtual application server through the virtual machine controllers 23_1b, 23_2b, and 23_3b.
가상 응용서버(23_1c, 23_1d, 23_2c, 23_3c)는 하이퍼바이저(23_1a, 23_2a, 23_3a)에 의해 제공되는 가상화 환경상에서 동작하며, 대응하는 물리서버(23_1, 23_2, 23_3) 내에 포함되고, 부하 분산 장치(22)를 통해 들어오는 서비스 요청을 처리하는 개체이다. 가상 응용서버(23_1c, 23_1d, 23_2c, 23_3c) 각각은 하나의 물리서버 내에서 다른 가상 응용서버와 서로 상이한 운영체제를 이용하여 동작할 수 있고, 부하 분산 장치(22)가 각각에 할당한 서비스 요청을 처리한다. 가상 응용서버(23_1c, 23_1d, 23_2c, 23_3c)는 부하 분산 장치(22)의 제어에 따라 새롭게 생성되거나, 삭제되거나, 중단되거나 일시정지될 수 있다.
The virtual application servers 23_1c, 23_1d, 23_2c and 23_3c operate in the virtualization environment provided by the hypervisors 23_1a, 23_2a and 23_3a and are included in the corresponding physical servers 23_1, 23_2 and 23_3, Lt; RTI ID = 0.0 > (22). ≪ / RTI > Each of the virtual application servers 23_1c, 23_1d, 23_2c, and 23_3c can operate using a different operating system from the other virtual application servers in one physical server, and the service requests allocated to the load distributing apparatuses 22 . The virtual application servers 23_1c, 23_1d, 23_2c, and 23_3c may be newly created, deleted, suspended, or paused under the control of the load distributing apparatus 22.
도 3은 본 발명의 일 실시 예에 따른, 부하 분산 시스템(100)을 나타내는 블록도이다. 도 3을 참조하면, 부하분산 시스템(100)은 네트워크(140), 부하 분산 장치(120), 복수의 물리서버(131, 132, 133)를 포함하는 서비스 클러스터(130) 및 가상머신 이미지 풀(170)을 포함한다.3 is a block diagram illustrating a
도 3에서, 부하 분산 장치(120)는 네트워크(140)를 통해 수신되는 클라이언트(미도시)의 서비스 요청을, 미리 결정된 방법 또는 알고리즘에 따라 각 물리서버(131, 132, 133) 또는 각 가상 응용서버(131c, 132c)에 분산 할당한다. 예를 들어, 클라이언트로부터 특정 인터넷 프로토콜(미도시)을 향한 서비스 요청이 수신되면, 부하 분산 장치(120)는 미리 결정된 부하 분산 알고리즘에 따라 수신된 서비스 요청을 서비스 클러스터(130) 내의 물리서버들(131, 132, 133) 또는 가상 응용서버들(131c, 132c)에 분산 할당한다. 이때, 운용되는 가상 응용서버의 수에 비해 수신된 서비스 요청이 과다하면, 부하 분산 장치(120)는 물리서버(131, 132, 133) 내에 새로운 가상 응용서버를 생성하거나 상태변경(예를 들어, 활성 그룹으로)한다. 반면에, 운용되는 가상 응용서버의 수에 비해 수신된 서비스 요청이 과소하면, 부하 분산 장치(120)는 물리서버(131, 132, 133) 내의 기존의 가상 응용서버 중 적어도 일부를 삭제하거나 중단 또는 상태변경(예를 들어, 소극적 그룹으로)한다. 3, the
이와 같이, 서비스 요청량에 따라 서비스 클러스터(130) 내에 있는 가상 응용서버의 수를 제어하는 것은 일반적인 스케일-아웃 방식과 일견 유사할 수 있으나, 본 발명은 부하 분산 서비스의 상태정보, 가상 응용서버의 상태정보 및 물리서버의 상태정보에 기초하여, 서비스의 부하에 따라 동적으로 부하 분산 시스템이 가상 응용서버의 수를 제어한다는 점에서 일반적인 스케일-아웃에 비해 더욱 동적으로 유연하게 클라이언트로부터의 서비스 요청을 처리할 수 있다. In this way, controlling the number of virtual application servers in the
나아가, 본 발명은 가상 응용서버 또는 물리서버의 가능한 상태로서, 활성 상태(서비스 자원을 할당받아 서비스를 처리하는 상태) 및 잠재 상태(서비스 자원을 반납하고 대기중인 상태)외에 소극적 상태라는 과도적인 제3의 상태를 설정함으로써, 가상 응용서버(131c, 132c)의 생성, 수정, 삭제 또는 시작, 일시정지, 중단, 재시작이 더욱 유연하고 신속하게 이루어질 수 있도록 한다. Furthermore, the present invention can be applied to a virtual application server or a physical server as a possible state, in addition to an active state (a state in which a service resource is allocated to service processing) and a latent state (a state in which a service resource is returned and waiting) 3, the creation, modification, deletion, start, pause, stop and restart of the
여기서, 부하 분산 서비스의 상태정보는 부하 분산 시스템(100)의 현재 상태를 나타내는 정보로서, 예를 들어, 부하 분산 시스템(100)이 처리 중인 서비스 세션의 양 또는 규모를 나타내는 정보일 수 있다. Here, the status information of the
가상 응용서버의 상태정보는 가상 응용서버(131c, 132c)의 현재 상태를 나타내는 정보로서, 예를 들어, 가상 응용서버(131c, 132c)에 가해지는 부하의 정도(예를 들어, 가상 응용서버의 가용 자원 중 몇 퍼센트가 현재 세션 처리에 사용 중인지 등)를 나타내는 정보일 수 있다.The status information of the virtual application server is information indicating the current status of the
물리서버의 상태정보는 물리 응용서버(131, 132, 133)의 현재 상태를 나타내는 정보로서, 예를 들어, 물리서버에 몇 개의 가상 응용서버가 운용 중인지, 물리서버의 시스템 자원 중 몇 퍼센트가 현재 가상 응용서버에 할당되었는지, 물리서버의 시스템 자원 중 몇 퍼센트가 추가적으로 사용가능한지, 또는 물리서버의 현재 발열상태(즉, 현재 온도)가 몇 도인지 등과 같은 사항을 포함하는 정보일 수 있다. The status information of the physical server is information indicating the current status of the
다만 이는 예시적인 것으로서, 부하 분산 서비스의 상태정보, 가상 응용서버의 상태정보 및 물리서버의 상태정보는 위에서 설명한 정보 외에 추가적으로(additionally) 또는 그것을 대체적으로(alternatively) 다른 정보를 더 포함할 수도 있다. The status information of the load balancing service, the status information of the virtual application server, and the status information of the physical server may additionally include other information in addition to or in addition to the information described above.
아래에서는, 부하 분산 장치(120)의 구체적인 구성 및 동작 방법에 더욱 상세히 후술한다.Hereinafter, the specific configuration and operation method of the
부하 분산 장치(120)는 전송 처리부(121), 전송 제어부(122), 세션 관리부(123), 응용서버 모니터링부(124, 이하 모니터링부), 서버 제어부(125) 및 서비스 관리부(125)를 포함한다. 부하 분산 장치(120)의 각 구성 요소는 하드웨어 요소 또는 소프트웨어 요소로서 구현될 수 있다.The
도 3에서, 부하 분산 장치(120)는 현재 가상 응용서버의 상태 및 서비스 중인 세션 정보를 바탕으로, 가상 응용서버들(131c, 132c)의 규모를 확장 또는 축소시킨다. In FIG. 3, the
전송처리부(121)는 네트워크(140)를 통해 특정 VIP(예를 들어, 도 2의 15)를 목적지 주소로 갖는 서비스 요청을 수신하고, 수신된 서비스 요청을 처리할 가상 응용서버(131c, 132c)로 수신된 서비스 요청을 전달한다(A). 구체적으로, 전송처리부(121)는 사용자 요청으로서 수신된 데이터 패킷의 패킷 정보(예를 들어, 송신자 IP 주소, 송신자 포트 번호, 수신자 IP 주소, 수신자 포트 번호 등)를 기초로, 플로우 테이블(미도시)을 참조하여 수신된 데이터 패킷을 전달할 가상 응용서버를 결정한다. 플로우 테이블은 특정 패킷 플로우(또는, 서비스 요청)를 특정 응용서버와 연관짓는 정보를 포함하는 테이블로서, 예를 들어 제 1 패킷 플로우에 속하는 데이터 패킷이 제 1 가상 응용서버로 전달되도록 지정하는 정보를 포함한다. The
이때, 수신된 패킷이 부하 분산 장치(120)에 새롭게 전달된 새로운 서비스 요청(또는, 패킷 플로우)에 속하는 경우에는, 수신된 패킷에 대한 패킷 플로우 정보가 플로우 테이블 내에 존재하지 않을 것이다. 이 경우, 전송처리부(121)는 새롭게 수신된 서비스 요청에 대한 처리 정책을 전송제어부(122)에 요청한다. 반대로, 수신된 패킷이 부하 분산 장치(120)가 기수신한 어떤 서비스 요청의 일부인 경우, 전송 처리부(121)의 플로우 테이블에는 수신된 패킷에 대한 패킷 플로우 정보가 존재할 것이다. 따라서, 이 경우 전송처리부(121)는 대응하는 패킷 플로우 정보를 참조하여, 곧바로 수신된 패킷의 네트워크 주소변환을 수행한다. At this time, if the received packet belongs to a new service request (or packet flow) newly delivered to the
여기서 네트워크 주소변환은 예를 들면, 송신자 IP 주소 및 포트 번호로서 수신된 클라이언트(예를 들어, 도 2의 11) IP 주소와 포트 번호를 부하 분산 장치(120)의 IP 주소와 포트 번호로 변경하는 송신자 주소변환 또는 수신자 IP 주소와 포트 번호로서 수신된 부하 분산 장치(120)의 IP 주소와 포트 번호를 서비스 요청을 처리할 가상 응용서버의 IP 주소와 포트 번호로 변경하는 수신자 주소변환을 포함할 수 있다. 이때, 전송처리부(121)는 네트워크 주소변환으로서 송신자 주소변환 및 수신자 주소변환을 모두 수행할 수도 있고, 송신자 주소변환을 생략한 채 수신자 주소변환만을 수행할 수도 있다. 또는, 네트워크 주소변환은 그 외에도, 부하 분산 장치(120)와 서비스 요청을 처리할 가상 응용서버 사이에 터널링 방식과 같은 오버레이 네트워크를 구성하여 수신된 패킷의 전송 경로를 지정하는 방법을 포함할 수 있다. 전송처리부(121)는 네트워크 주소변환을 수행한 후, 수신된 패킷을 대응하는 가상 응용서버(즉, 수신된 패킷 또는 그것과 대응하는 서비스 요청을 처리하도록 지정된 가상 응용서버)로 전송한다.Here, the network address translation is performed by, for example, changing the IP address and the port number of the client (for example, 11 in FIG. 2) received as the sender IP address and port number to the IP address and port number of the
전송제어부(122)는 전송처리부(121)로부터 문의된 서비스 요청에 대한 처리 정책(예를 들어, 특정 서비스 요청에 속하는 데이터 패킷을 어떤 경로 또는 목적지로 전송할 지에 관한 정책)을 결정한다. 이를 위해, 전송제어부(122)는 특정 VIP와 관련되어 존재하는 서비스 클러스터(130) 상의 가상 응용서버들(131c, 132c) 중 어떤 가상 응용서버에 문의된 서비스 요청을 할당할지를 결정한다. The
구체적으로, 전송제어부(122)는 미리 결정된 부하 분산 알고리즘(예를 들어, 가상 응용서버를 결정하는 알고리즘 또는 서비스 요청 처리를 스케쥴링하는 알고리즘)에 따라, 문의된 서비스 요청을 처리할 가상 응용서버를 결정한다. 여기서, 사용되는 부하 분산 알고리즘은 VIP에 따라 개별화된 알고리즘으로서, 수신된 서비스 요청의 VIP가 달라지면 사용되는 가상 부하 분산 알고리즘도 달라질 수 있다.Specifically, the
한편, 전송제어부(122)는 서비스 요청을 처리할 가상 응용서버를 결정하는 과정에서, 세션관리부(123)로부터 가상 응용서버들(131c, 132c)의 서비스 처리 상태(예를 들어, 가상 응용서버들(131c, 132c) 각각이 얼마나 많은 양의 서비스를 처리중인지 등)를 나타내는 상태정보를 수신하여 참조할 수 있다. In the process of determining a virtual application server to process a service request, the
세션관리부(123)는 현재 사용가능한 가상 응용서버들(131c, 132c)의 부하 처리 정보를 저장 또는 관리하는 모듈로서, 세션관리부(123)에 대한 구체적인 내용은 이후에 다시 설명된다. The
실시 예로서, 전송 제어부(122)가 부하 분산 알고리즘으로서 균등 부하 분산(round robin) 알고리즘을 사용하는 경우, 전송제어부(122)는 세션관리부(123)로부터 가상 응용서버들(131c, 132c)의 순차적인 순번 정보를 나타내는 부하 처리 정보를 수신하고, 수신한 부하 처리 정보에 따라 적합한 순번을 갖는(즉, 어떤 가상 응용서버(131c)에 최근에 서비스 요청이 할당되었다면, 다음 차례의 가상 응용서버(132c)가 적합한 순번을 갖게 된다) 가상 응용서버에 사용자 요청을 할당한다. 반면에, 전송 제어부(122)가 부하 분산 알고리즘으로서 최소 연결(least connection) 알고리즘을 사용하는 경우, 전송 제어부(122)는 세션관리부(123)로부터 가상 응용서버들(131c, 132c) 각각이 처리중인 서비스 세션의 수를 나타내는 부하 처리 정보를 수신한 후, 그에 따라 현재 처리중인(또는, 서비스 중인) 서비스 세션의 수가 가장 적은 가상 응용서버를 서비스 요청을 처리할 가상 응용서버로 결정한다.When the
한편, 일반적인 부하 분산 시스템(10, 20)과 달리, 본 발명에서는 가상 응용서버의 과부하를 예방하고 이를 통해 서비스 품질을 안정적으로 보장하기 위해 상위 임계치(threshold value)와 하위 임계치를 설정하고, 이러한 두 개의 임계치에 기반하여 새로운 서비스 요청이 수신될 때마다 서비스 클러스터(130) 내의 가상 응용서버들의 규모를 조정하는 프로비저닝 단계를 실행한다. 그리고, 미리 결정된 부하 분산 알고리즘에 따라, 프로비저닝 단계를 통해 준비된 가상 응용서버들 중에서 새로운 서비스 요청을 처리할 가상 응용서버를 결정한다. Unlike the conventional
구체적으로 설명하면, 전송제어부(122)는 세션관리부(123)로부터 수신한 가상 응용서버의 상태정보, 물리서버의 상태정보 또는, 특정 VIP와 관련하여 서비스를 처리중인 부하 분산 시스템의 상태정보(예를 들어, 부하 분산 시스템(100)이 처리중인 서비스 세션의 수 또는 처리량)에 기초하여, 현재 처리중인 서비스 세션의 수가 서비스 클러스터(130)의 용량에 비해 적절한지 판단한다. 즉, 전송제어부(122)는 부하 분산 시스템(100)의 상태정보, 물리서버의 상태정보 또는 가상 응용서버들의 상태정보에 따라, 부하 분산 시스템(100)에서 운용되는 가상 응용서버의 수가 적절한 지 판단한다.Specifically, the
예를 들어, 전송제어부(122)는 현재 처리중인 평균 서비스 세션 수가 미리 결정된 상위 임계치보다 큰지 판단하고, 상위 임계치보다 큰 것으로 판단되면 전송제어부(122)는 가상 응용서버들(131c, 132c)의 과부하를 방지하기 위해 새로운 가상 응용서버를 서비스 클러스터(130)에 추가하는 스케일-아웃을 수행하도록 서버제어부(125)에 요청한다. For example, the
반대로 전송제어부(122)는 현재 처리중인 평균 서비스 세션 수가 미리 결정된 하위 임계치보다 작은지 판단한다. 이때, 하위 임계치보다 작은 것으로 판단되면, 전송제어부(122)는 처리하는 서비스 요청의 크기에 비해 과다한 자원이 할당되어 발생하는 자원 낭비를 방지하기 위해, 가상 응용서버들(131c, 132c) 중 적어도 일부를 서비스 클러스터(130)에서 배제 또는 삭제하는 스케일-인(scale-in)을 수행하도록 서버제어부(125)에 요청한다.실시 예로서, 이때 상위 임계치 또는 하위 임계치는 가상 응용서버의 상태정보, 또는 물리서버의 상태정보를 참조하여 결정될 수 있다. 예를 들어, 가상 응용서버의 상태정보를 참조한 결과, 가상 응용서버가 상대적으로 적은 양의 시스템 자원을 점유하고 있는 것으로 판단되면(또는, 사용가능한 시스템 자원의 여유분이 적으면), 상위 임계치 또는 하위 임계치는 하향 조정될 수 있다. 유사한 예로서, 물리서버의 상태정보를 참조한 결과, 각 물리서버가 상대적으로 적은 양의 시스템 자원을 유보하고 있는 것으로 판단되면(즉, 새로운 가상 응용서버를 생성할 여유가 없으면), 상위 임계치 또는 하위 임계치는 상향 조정될 수 있다.Conversely, the
실시 예로서, 상위 임계치 또는 하위 임계치를 결정하기 위해, 가상 응용서버(131c, 132c)의 모니터링 정보가 더 참조될 수 있다. 모니터링 정보에 대한 더욱 구체적인 내용은 모니터링부(124)와 관련한 설명에서 후술된다.As an example, in order to determine an upper threshold value or a lower threshold value, the monitoring information of the
세션관리부(123)는 특정 VIP(150)와 관련하여 수신된 서비스 요청들을 처리중인 가상 응용서버들(131c, 132c)의 UUID(Universally Unique Identification), 고장 여부, 처리중인 서비스 세션의 수, 또는 가상 응용서버의 활성화 상태를 나타내는 상태 정보 등을 VIP별로 관리한다. 이때, 가상 응용서버의 활성화 상태는 예를 들어, 가상 응용서버가 활성그룹(162), 소극적 그룹(161) 및 잠재그룹(163) 중 어느 그룹에 속하는지를 의미한다. The
실시 예로서, 세션관리부(123)는 응용서버 모니터링부(124)가 주기적으로 확인하는 가상 응용서버(131c, 132c)의 모니터링 정보를 참조하여, 가상 응용서버(131c, 132c)의 고장 여부를 갱신할 수 있다. The
모니터링부(124)는 가상 응용서버(131c, 132c)로부터 모니터링 정보를 수집한다. 예를 들어, 모니터링부(124)는 복수의 가상 응용서버들 중 임의의 가상 응용서버(132c)와 인터페이스하여, 가상 응용서버(132c)로부터 모니터링 정보를 수집할 수 있다. 수집된 모니터링 정보는 앞서 설명한 바와 같이, 세션관리부(123)에 제공될 수 있다. The monitoring unit 124 collects monitoring information from the
실시 예로서, 가상 응용서버(131c, 132c)의 모니터링 정보는 가상 응용서버(131c, 132c)의 고장 여부를 나타내는 정보 외에도 가상 응용서버(131c, 132c)의 CPU 성능, CPU 활용률, 메모리 성능, 메모리 활용률 또는 네트워크 성능과 같은 가상 응용서버(131c, 132c)의 시스템 자원 정보를 더 포함할 수 있다.
The monitoring information of the
서버제어부(125)는 전송제어부(122)의 요청에 따라, 물리서버(131, 132, 133)의 시스템 자원 가용 여부 등을 고려한 스케일-아웃 또는 스케일-인을 통해 새로운 가상 응용서버를 서비스 클러스터(130)에 추가하거나, 기존의 가상 응용서버(131c, 132c) 중 적어도 일부를 서비스 클러스터(130)로부터 배제 또는 제거한다.In response to a request from the
서버제어부(125)는 외부의 시스템 관리자 또는 다른 외부 응용 프로그램의 도움없이도, 능동적으로 가상 응용서버를 추가 또는 제거할 수 있도록 구성된다. 서버제어부(125)는 가상 응용서버를 추가 또는 제거하기 위해 서비스관리부(126)에 저장된 물리서버 정보 또는 가상머신 템플릿을 참조할 수 있다. 물리서버 정보 또는 가상머신 템플릿은 VIP별로 서비스관리부(126) 내에 미리 정의된 정보 또는 데이터로서, 물리서버 정보는 물리서버들(131, 132, 133)의 UUID, IP 주소, 관리자 계정정보, 시스템 사양 등을 포함할 수 있고, 가상머신 템플릿은 가상머신의 가상 CPU 수, 메모리 용량, 디스크 용량, 네트워크 인터페이스 정보, 가상머신 이미지 정보 등을 포함할 수 있다. The
서버제어부(125)가 가상 응용서버를 추가 또는 제거하는 구체적인 방법은 다음과 같다.A concrete method of adding or removing the virtual application server by the
서버제어부(125)가 새로운 가상 응용서버를 추가하는 경우, 서버제어부(125)는 새로운 가상 응용서버를 생성할 물리서버를 먼저 결정한다. 이때, 서버제어부(125)는 물리서버의 상태정보에 따라 이용가능한 물리서버들(131, 132, 133) 각각에 선택 우선 순위를 부여하여, 그에 따라 최적의 물리서버를 선택한다. 물리서버의 상태 정보는 앞서 가상 응용서버와 관련하여 설명한 바와 같이, 물리서버의 활성화 상태를 나타내는 정보로서, 물리서버가 활성그룹(162), 소극적 그룹(161) 및 잠재그룹(163) 중 어느 그룹에 속하는지를 나타낸다. When the
물리서버의 상태 정보는 물리서버가 포함하는 가상 응용서버의 상태정보에 기반하여 변화하거나, 가상 응용서버의 상태정보로 갈음 또는 대체될 수 있다. The status information of the physical server may change based on the status information of the virtual application server included in the physical server, or may be replaced or replaced with the status information of the virtual application server.
새로운 가상 응용서버를 생성할 물리서버(예를 들어, 132)가 선정되면, 서버제어부(125)는 물리서버(132)에 있는 가상머신 제어부(132b)에 서비스관리부(126)로부터 획득한 가상머신 템플릿을 전달하여 VIP(150)에 최적화된 새로운 가상 응용서버를 생성하도록 한다. 이때, 물리서버(132)는 가상머신 템플릿에 정의된 가상머신 이미지 정보(예를 들어, 가상머신 이미지 UUID)를 참조하여 가상머신 이미지풀(170, 후술됨)에 저장된 가상머신 이미지들(171, 172) 중에서 생성될 가상 응용서버에 적합한(또는 대응되는) 하나의 이미지를 선택하고, 선택된 가상머신 이미지를 이용하여 새로운 가상 응용서버를 생성한다. 가상 응용서버 생성에 이용되는 가상머신 이미지는 VIP(150)와 관련된 서비스 요청을 처리하는 데 필요한 응용 프로그램 설치 및 환경 설정이 모두 완료되어 있는 소프트웨어로서 구성된 이미지이다. 따라서, 새롭게 생성된 가상 응용서버는 생성 즉시 곧바로 서비스 요청 처리에 사용될 수 있다.When a physical server (for example, 132) to create a new virtual application server is selected, the
반대로, 서버제어부(125)가 기존의 가상 응용서버(131c, 132c) 중 적어도 일부를 제거하는 경우, 서버제어부(125)는 미리 결정된 방식으로 지정된 가상 응용서버 또는 임의의 가상 응용서버(예를 들어, 131c)를 선택한 후, 이를 소극적 그룹(161)으로 분류한다. 소극적 그룹(161)에 속한 가상 응용서버(131c)는 현재 처리중인 서비스 세션만 마저 처리하도록 설정되고, 가상 응용서버(131c)에는 추가적인 서비스 세션이 더 이상 할당되지 않는다. 만일, 가상 응용서버(131c)의 상태가 다시 활성 그룹(162)으로 바뀌지 않는다면, 소극적 그룹(161)에 속한 가상 응용서버(131c)는 어느 시점에 더 이상 처리할 서비스 세션이 존재하지 않게 된다. 이 경우, 가상 응용서버(131c)는 동작을 중단(suspend or shutdown)한 후 자신이 사용하던 시스템 자원을 반환하고 삭제된다. Conversely, when the
실시 예로서, 가상 응용서버(131c)의 상태변화(예를 들어, 활성 그룹(162)에서 소극적 그룹(161)으로의 변화) 또는 삭제는 가상 응용서버(131c)가 포함된 물리서버(131)의 상태변화에도 영향을 미친다. 예를 들어, VIP와 관련하여 물리서버(131)가 포함하는 모든 가상 응용서버(131c)들이 소극적 그룹(161)에 속하면 물리서버(131)도 해당 VIP에 대해서 소극적 그룹으로 분류되고, VIP와 관련하여 물리서버(131)가 포함하는 모든 가상 응용서버(131c)가 삭제되면 물리서버(131)는 해당 VIP에 대해서 잠재 그룹(163)으로 분류되어 이후의 스케일-아웃에 대비하게 된다. As an embodiment, a change in state (e.g., change from active group 162 to passive group 161) or deletion of
이와 같이, 활성 그룹(162)과 잠재 그룹(163) 사이에 과도적인 소극적 그룹(161)을 설정하는 것은 가상 응용서버의 서비스 처리 중단이나 서비스 처리 지연과 같은 문제를 발생시키지 않으면서 동적으로 가상 응용서버들의 규모를 확장 또는 축소시킬 수 있도록 하기 위함이다. Setting the transient
서비스관리부(126)는 사용가능한 물리서버(131, 132, 133)의 UUID, 물리서버(131, 132, 133)의 상태 정보, 가상 응용서버(131c, 132c)의 구성 정보(예를 들어, 가상 CPU 수, 메모리 용량, 디스크 용량, 네트워크 인터페이스 정보, 가상머신 이미지 UUID 등)를 포함하는 가상머신 템플릿, 초기의 서비스 요청 처리를 수행할 가상 응용서버의 디폴트(default) 개수, 부하 분산 장치(120)가 이용할 부하 분산 알고리즘, 서비스 세션 관리 정책, 가상 응용서버 규모의 확장 또는 축소에 이용할 상위 임계값과 하위 임계값 등의 정보를 저장 및 관리한다.The
한편, 본 발명에 따른 부하 분산 시스템(100)은 하나 이상의 가상머신 이미지(171, 172)를 포함하는 가상머신 이미지 풀(170)을 포함한다.Meanwhile, the
가상머신 이미지 풀(170)은 부하 분산 장치(120)의 제어에 따라 새로운 가상 응용서버가 생성될 때 사용되는 이미지인 가상머신 이미지(171, 172)를 저장 및 관리한다. 가상머신 이미지(171, 172)는 처리할 서비스 요청과 관련된 VIP(150)에 따라, 생성될 가상 응용서버에 필요한 응용 프로그램의 설치 및 환경설정이 완료된 상태로 저장 및 관리된다. 새로운 가상 응용서버 생성시, 가상머신 이미지 풀(170)은 가상머신 이미지(171, 172)를 모든 설치 및 환경설정이 완료된 상태로 제공함으로써, 생성된 가상 응용서버가 생성 즉시 필요한 서비스 요청을 처리할 수 있도록 돕는다. 나아가, 가상 응용서버들은 VIP별로, 동일한 가상머신 템플릿과 가상머신 이미지(171, 172)를 사용하므로, 특정 VIP(150)와 관련된 서비스 요청을 처리하는 모든 가상 응용서버는 동일한 시스템 형상을 갖게 된다. 따라서, 그에 따라 본 발명에서 제안하는 상위 임계치 및 하위 임계치를 이용한 동적 가상 응용서버 제어가 더욱 효과적으로 적용될 수 있다.The virtual
지금까지는 부하 분산 장치(120)의 각 구성 요소에 대해 설명하였다. 설명된 부하 분산 장치(120)에 대한 전체적인 이해를 돕기 위해, 이하에서는 부하 분산 장치(120)의 동작 방법을 구체적이고 상세한 예를 들어 설명한다. 한편, 이 예에서 부하 분산 장치(120)는 각 가상 응용서버들(131c, 132c)이 처리중인 평균 서비스 세션 수에 따라, 가상 응용서버의 수를 제어하는 것으로 가정한다. 부연하면, 평균 서비스 세션 수는 특정 VIP와 관련하여 처리중인 총 서비스 세션 수를 그 서비스 세션들을 처리중인 가상 응용서버의 수로 나눈 값을 의미한다. 그러나, 이는 단지 예시적인 가정일 뿐으로, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 부하 분산 장치(120)는 가상 응용서버들이 처리하는 데이터의 평균 트래픽 양에 기반하여 가상 응용서버의 수를 제어할 수 있다. Each component of the
먼저, 평균 서비스 세션의 수가 미리 결정된 상위 임계값을 초과하면, 부하 분산 장치(120)는 현재 가상 응용서버의 규모에 비해 부하 분산 서비스가 처리하는 부하(또는, 부하의 크기)가 과다한 것으로 판단한다. 그리고, 부하 분산 장치(120)는 그에 따라 VIP와 관련된 서비스 요청을 분산 처리할 새로운 가상 응용서버를 추가시킨다. 그 결과, 새롭게 추가된 가상 응용서버가 서비스 세션을 분담하여 처리하므로, VIP에 대한 평균 서비스 세션 수는 상위 임계값 이하로 감소하고 클라이언트에게 제공되는 서비스의 품질도 보장된다.First, when the number of average service sessions exceeds a predetermined upper threshold value, the
한편, 실시 예로서, 상위 임계값은 처리중인 서비스 요청(또는, 서비스 세션)의 유형(예를 들어, 웹서버 서비스 요청, 데이터베이스 서버 서비스 요청, 응용서버 서비스 요청, 파일서버 서비스 요청, 미디어전송서버 서비스 요청 등)에 따라, 각각의 서비스 요청의 유형별로 상이한 값으로서 미리 결정될 수 있다.Meanwhile, as an example, the upper threshold may be a value indicating the type of service request (or service session) being processed (e.g., a web server service request, a database server service request, an application server service request, Service request, etc.), it can be predetermined as a different value for each type of service request.
반대로, 평균 서비스 세션의 수가 미리 결정된 하위 임계값 미만이면, 부하 분산 장치(120)는 현재 가상 응용서버의 규모에 비해 서비스 부하가 과소한 것으로 판단한다. 이는 처리중인 서비스 요청에 비해 시스템 자원이 과잉 투입되고 있음을 의미하므로, 부하 분산 장치(120)는 서비스 요청을 처리중인 가상 응용서버들(131c, 132c) 중 적어도 일부를 서비스에서 제외시킨다. 이를 위해, 부하 분산 장치(120)는 먼저 서비스 VIP와 관련된 서비스 요청을 처리중인 가상 응용서버들(131c, 132c) 중에서 처리중인 서비스 세션의 수가 가장 작은 가상 응용서버(예를 들어, 131c)를 선택하고, 선택된 가상 응용서버(131c)를 소극적 그룹(161)으로 분류한다. 소극적 그룹(161)으로 분류된 가상 응용서버(131c)에는 새로운 서비스 세션의 추가적으로 할당되지 않으며, 가상 응용서버(131c)는 현재 처리중인 서비스 세션만을 처리하게 된다. 그리고, 시간이 경과하여 가상 응용서버(131c)가 자신에게 할당된 모든 서비스 세션을 처리하여 더 이상 처리중인 서비스 세션이 존재하지 않게 되면, 소극적 그룹(161) 내의 가상 응용서버(131c)는 일정한 유예 시간의 경과를 기다린 후 동작을 중단(suspend or shutdown) 또는 삭제되고 점유하고 있던 시스템 자원을 반환한다. Conversely, if the number of average service sessions is less than a predetermined lower threshold, the
실시 예로서, 가상 응용서버의 중단 또는 삭제에 의해, 물리서버(예를 들어, 133) 내에 VIP와 관련된 서비스 요청을 처리하는 가상 응용서버가 하나도 존재하지 않게 되면, 물리서버(133)는 잠재 그룹(163)으로 분류되고 이후 새로운 가상 응용서버의 확장이 필요한 경우를 대비하게 된다.
If, by way of example, no virtual application server exists to process a service request associated with the VIP in the physical server (e.g., 133) by aborting or deleting the virtual application server, (163), and then a new virtual application server needs to be expanded.
한편, 클라이언트, VIP, 네트워크(140), 서비스 클러스터(130), 물리서버들(131, 132, 133), 하이퍼바이저(131a, 132a, 133a), 가상머신 제어부(131b, 132b, 133b), 가상 응용서버(131c, 132c)에 대해 여기서 설명된 것 외의 내용은, 도 2의 클라이언트(21), VIP(25), 네트워크(24), 서비스 클러스터(23), 물리서버들 (23_1, 23_2, 23_3), 하이퍼바이저(23_1a, 23_2a, 23_3a), 가상머신 제어부(23_1b, 23_2b, 23_3b) 및 가상 응용서버(23_1c, 23_1d, 23_2c, 23_3c)의 그것과 실질적으로 동일하다.
The
본 발명의 실시 예들에 따르면, 서비스 관리자나 외부 응용프로그램과 같은 외부로부터의 개입 없이, 부하 분산 시스템의 상태정보, 가상 응용서버의 상태정보 또는 물리서버의 상태정보에 따라, 능동적으로 가상 응용서버를 추가, 상태변경, 또는 제거함으로써, 서비스 클러스터의 처리 용량을 적절하게 제어할 수 있다.According to the embodiments of the present invention, the virtual application server can be actively managed according to the status information of the load balancing system, the status information of the virtual application server, or the status information of the physical server without any intervention from the outside such as a service manager or an external application program By adding, changing state or removing, the processing capacity of the service cluster can be appropriately controlled.
그에 따라, 서비스 클러스터의 과잉 구성으로 인한 자원 낭비 및 비용 발생을 최소화할 수 있으며, 시간에 따른 부하량의 변동폭이 큰 서비스 환경에서 서비스 품질의 저하 없이 지속적으로 서비스를 제공할 수 있다.
Accordingly, it is possible to minimize the resource waste and the cost incurred due to the excessive configuration of the service cluster, and to continuously provide the service without deteriorating the service quality in the service environment where the fluctuation of the load amount with time is large.
도 4는 본 발명의 일 실시 예에 따른, 가상 응용서버 또는 물리서버의 상태변경을 구체적으로 설명하기 위한 상태도이다. 도 4를 참조하면, 가상 응용서버 또는 물리서버는 활성 상태(210), 소극적 상태(220) 및 잠재 상태(230) 중 어느 하나의 상태로 존재한다.4 is a state diagram for explaining a state change of a virtual application server or a physical server in detail according to an embodiment of the present invention. 4, a virtual application server or a physical server exists in one of an
도 4를 참조하면, 본 발명에 따른 부하 분산 시스템의 가상 응용서버(131c, 132c) 또는 물리서버(131, 132, 133)는 반드시 활성 상태(210), 소극적 상태(220), 잠재 상태(230) 중 어느 하나의 상태에 놓이게 된다. VIP과 관련하여 서비스를 제공하기 전에는 모든 물리서버(131, 132, 133)가 잠재 상태(230)에 있으며, VIP와 관련한 서비스 제공(또는, 서비스 요청 처리)을 시작함과 동시에 초기의 서비스 요청 처리를 수행할 가상 응용서버의 디폴트(default) 개수(예를 들어, 서비스관리부(126)에 저장된)만큼의 가상 응용서버(132c)를 생성하여 서비스 요청을 처리한다. 이때 가상 응용서버(132c) 및 가상 응용서버(132c)가 생성된 물리서버(162)는 활성 상태(210)로 천이한다(203). 만일 외부 시스템 관리자에 의해 VIP와 관련한 서비스 제공이 종료되면, 활성 상태(210)에 있는 가상 응용서버(132c)도 종료되고 가상 응용서버(132c)를 운용하던 물리서버(132)도 잠재 상태(230)로 천이한다(205). Referring to FIG. 4, the
한편, 서비스 요청을 처리하고 있던 중에 수신되는 부하 분산 서비스의 부하가 폭증하여 VIP에 대한 평균 서비스 세션 수가 상위 임계값을 초과하면, 새로운 가상 응용서버가 추가로 서비스 요청 처리에 투입되게 된다. 이때, 부하 분산 장치(120)는 우선적으로 소극적 상태(220)에 있는 가상 응용서버(131c)가 존재하는지를 살핀다. 소극적 상태(220)인 가상 응용서버(131c)가 존재하면, 부하 분산 장치(120)는 가상 응용서버(131c)를 활성 상태(210)로 천이시켜 서비스 요청 처리에 투입한다(204). 반대로, 소극적 상태(220)인 가상 응용서버가 존재하지 않으면, 부하 분산 장치(120)는 잠재 상태(230)에 있는 물리서버 중 최적의 물리서버(133)를 선택한 다음, 선택된 물리서버(133) 내에 새로운 가상 응용서버를 생성하고 이를 서비스 요청 처리에 투입한다. 이때, 선택된 물리서버(133) 및 생성된 가상 응용서버는 활성 상태(210)로 천이한다(203).On the other hand, if the load of the load balancing service received while the service request is being processed is increased and the average number of service sessions to the VIP exceeds the upper threshold value, the new virtual application server is further added to the service request processing. At this time, the
반대로, 서비스 요청을 처리하고 있던 중에 수신되는 부하 분산 서비스의 부하가 감소하여 VIP에 대한 평균 서비스 세션 수가 하위 임계값 미만이 되면, 동작중인 가상 응용서버 중 적어도 일부가 서비스 요청 처리에서 제외된다. 이때, 부하 분산 장치(120)는 활성 상태(210)에 있는 가상 응용서버 중에서 처리중인 서비스 세션의 수가 가장 작은 가상 응용서버(또는, 다른 선택 방법에 의해 선택된 가상 응용서버)를 소극적 상태(220)로 천이시킨다(201). Conversely, if the load on the load balancing service received while processing the service request is reduced and the average number of service sessions for the VIP is less than the lower threshold, at least some of the running virtual application servers are excluded from service request processing. At this time, the
이때, 소극적 상태(220)로 천이한 가상 응용서버(131c)에는 더 이상 새로운 서비스 세션이 할당되지 않으며, 소극적 상태(220)로 천이한 가상 응용서버(131c)가 처리중이던 기존의 서비스 세션만을 처리하게 된다. 만일 소극적 상태(220)에 있는 가상 응용서버(131c)가 처리중이던 서비스 세션을 모두 처리하면, 일정한 유예 시간의 경과(time-out)를 기다린 후에 해당 가상 응용서버(131c)는 동작을 중단(suspend or shutdown)하고, 점유하던 모든 시스템 자원을 반환한다. At this time, a new service session is no longer assigned to the
이와 같은 방법으로, 물리서버(131) 내에 VIP와 관련된 서비스 요청을 처리하는 가상 응용서버가 하나도 존재하지 않게 된 경우, 물리서버(131)는 잠재 상태(230)로 천이하여(205) 이후의 스케일-아웃을 대비한다.In this way, when none of the virtual application servers for processing the service requests related to the VIPs exist in the physical server 131, the physical server 131 transits to the
이와 같이 가상 응용서버(131c, 132c) 및 물리서버(131, 132, 133)의 활성화 상태를 활성 상태, 소극적 상태 및 잠재 상태 중 어느 하나로 구분함으로써, 가상 응용서버 및 물리서버는 동적으로 더욱 유연하게 운영되게 된다. 나아가, 가상 응용서버의 규모를 동적으로 확장 또는 축소시키는 경우에도, 클라이언트(110)에 제공되는 서비스가 중단이나 지연되지 않을 수 있으며, 예측 불가능한 서비스 부하의 변동에 대해 외부 시스템 관리자 또는 외부 응용 프로그램의 도움없이도 부하 분산 시스템(100)은 가상 응용서버의 규모를 효과적으로 조정할 수 있게 된다.
By dividing the activation state of the
도 5는 본 발명의 일 실시 예에 따른, 부하 분산 방법을 나타내는 순서도이다. 도 5를 참조하면, 부하 분산 장치(120)의 부하 분산 방법은 S111 단계 내지 S123 단계를 포함한다.5 is a flow diagram illustrating a load balancing method, in accordance with an embodiment of the present invention. Referring to FIG. 5, the load balancing method of the
부하 분산 장치(120)는 네트워크(140)를 통해 특정 VIP를 주소로 하여 수신되는 데이터 패킷을 수신한다. 수신된 데이터 패킷이 기존의 처리중인 서비스 세션에 속하는 경우, 부하 분산 장치(120)는 전송처리부(121)의 플로우 테이블을 참조하여, 기존의 서비스 세션을 처리하는 가상 응용서버로 수신된 패킷을 전달한다. 반면에, 수신된 데이터 패킷이 새로운 서비스 세션에 해당하는 경우, 부하 분산 장치(120)는 전송제어부(122)를 통해 가상 응용서버들의 서비스 처리 상태를 분석하고, 분석 결과에 따라 수신된 새로운 서비스 세션을 처리할 가상 응용서버를 결정하게 된다. 이하에서는, 새로운 서비스 세션이 수신되는 것을 시작점으로 하여 본 발명에 따른 부하 분산 방법을 설명한다. The
S111 단계에서, 부하 분산 장치(120)는 네트워크(140)를 통해 클라이언트로부터 특정 VIP와 관련된 새로운 서비스 세션을 수신한다. In step S111, the
S112 단계에서, 부하 분산 장치(120)는 새로운 서비스 세션의 할당을 위해, 동작중인 가상 응용서버들의 서비스 처리 상태를 분석함으로써, 부하 분산 장치(110)는 운용중인 가상 응용서버의 수(또는 규모)가 적절한지 판단한다. 이때, 부하 분산 장치(110)는 부하 분산 서비스(100)의 상태정보, 가상 응용서버의 상태정보 또는 물리서버의 상태정보를 참조할 수 있다.In step S112, the
예를 들어, 부하 분산 장치(120)는 가상 응용서버들이 처리중인 평균 서비스 세션 수(즉, 처리중인 전체 서비스 세션의 수를 가상 응용서버의 수로 나눈 값)가 상위 임계값을 초과하는지 판단한다. 다만 이는 예시적인 정의로서, 평균 서비스 세션의 수를 대신하여 다른 값(예를 들어, 처리중인 전체 서비스 세션의 수)이 사용될 수 있다. For example, the
그리고, 평균 서비스 세션 수가 상위 임계값을 초과하면, 부하 분산 방법은 S113 단계로 진행한다. 그렇지 않으면, 부하 분산 방법은 곧바로 S118 단계로 진행한다. If the average number of service sessions exceeds the upper threshold value, the load balancing method proceeds to step S113. Otherwise, the load balancing method proceeds directly to step S118.
S113 단계에서, 부하 분산 장치(120)는 서비스 클러스터(130) 내에 소극적 그룹에 속한 가상 응용서버가 존재하는지 판단한다. In step S113, the
S113 단계는 부하 분산 서비스가 처리중인 부하에 비해 운용중인 가상 응용서버가 부족한 경우에 해당하므로, 부하 분산 장치(120)는 서비스 처리에 투입되는 가상 응용서버의 규모를 확장하여(예를 들어, 가상 응용서버의 수를 늘려) 가상 응용서버들의 평균적인 부하를 낮추어야 한다. 이를 위해, S113 단계에서 부하 분산 장치(120)는 우선적으로 현재 물리서버 내에 생성되어 있지만 새로운 서비스 세션을 할당받지 않고 있는, 소극적 상태의 가상 응용서버를 탐지한다. Since the step S113 corresponds to a case where the virtual application server being operated is insufficient as compared with the load being processed by the load distribution service, the
소극적 그룹의 가상 응용서버가 존재하면, 부하 분산 방법은 S114 단계로 진행한다. 그렇지 않으면, 부하 분산 방법은 S116 단계로 진행한다.If there is a passive group of virtual application servers, the load balancing method proceeds to step S114. Otherwise, the load balancing method proceeds to step S116.
S114 단계에서, 부하 분산 장치(120)는 소극적 그룹의 가상 응용서버들 중에서 활성 그룹으로 상태변경할 가상 응용서버를 결정한다. In step S114, the
실시 예로서, 상태변경할 가상 응용서버는 미리 결정된 기준에 따라 결정될 수도 있다. 예를 들어, 부하 분산 장치(120)는 소극적 그룹의 가상 응용서버들 중에서 가장 많은 서비스 세션을 처리하고 있는 가상 응용서버를 가상 응용서버로서 결정할 수 있다. 일반적으로, 서비스 세션의 수가 적은 가상 응용서버는 그렇지 않은 경우보다 더 이른 시간에 동작 중단 및 시스템 자원 반환이 이루어질 가능성이 높다. 따라서, 위 예에서와 같이, 처리중인 서비스 세션의 수가 적은 가상 응용서버를 소극적 그룹에 더 잘 남겨두면, 상대적으로 가상 응용서버의 자원 회수 및 물리서버의 잠재 그룹으로의 전환이 빨라지므로, 부하 분산 시스템(100)의 시스템 자원 관리에 더욱 효율적일 수 있다. As an embodiment, the stateful virtual application server may be determined according to a predetermined criterion. For example, the
다만, 이는 예시적인 것으로서, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 부하 분산 장치(120)는 소극적 그룹의 가상 응용서버들 중 임의의 가상 응용서버를 상태변경할 가상 응용서버로 결정할 수도 있다. However, it should be understood that the present invention is not limited thereto. For example, the
상태변경할 가상 응용서버가 결정되면, 부하 분산 방법은 S115 단계로 진행한다.If the virtual application server to be changed is determined, the load balancing method proceeds to step S115.
S115 단계에서, 부하 분산 장치(120)는 S114 단계에서 결정된 가상 응용서버의 상태가 활성 그룹으로 변경되도록, 부하 분산 시스템(100)을 제어한다. In step S115, the
S115 단계가 완료되면, 부하 분산 방법은 S121 단계로 진행한다.When step S115 is completed, the load distribution method proceeds to step S121.
한편, 다시 S113 단계로 돌아가면, S113 단계에서 소극적 그룹에 속한 가상 응용서버가 존재하지 않은 경우, 부하 분산 방법은 S116 단계로 진행한다.On the other hand, if it is determined in step S113 that there is no virtual application server belonging to the passive group in step S113, the load balancing method proceeds to step S116.
S116 단계에서, 부하 분산 장치(120)는 잠재 그룹의 물리서버 중 적어도 하나의 물리서버에 새로운 가상 응용서버를 생성시킨다. S116 단계는 가상 응용서버의 규모를 확장할 필요가 있지만 소극적 그룹에 속한 가상 응용서버는 존재하지 않는 경우로서, 이러한 경우 새로운 가상 응용서버를 생성하여 서비스 부하 처리를 분담시킬 필요가 있다. In step S116, the
이를 위해, 부하 분산 장치(120)는 잠재 그룹에 속한 물리서버 중 새로운 가상 응용서버를 생성할 최적의 물리서버를 결정하고, 결정된 물리서버에 새로운 가상 응용서버를 생성시킨다. 새로운 가상 응용서버를 생성할 최적의 물리서버는 다양한 기준에 따라 결정될 수 있다. 예를 들어, 잠재 그룹에 속한 물리서버 중 사용가능한 시스템 자원이 가장 풍부한 물리서버를 가상 응용서버를 생성할 물리서버로 결정할 수도 있고, 부하 분산 장치(120)와의 인터페이스 속도가 가장 빠른 물리서버를 가상 응용서버를 생성할 물리서버로 결정할 수도 있다. 또는, 잠재 그룹에 속한 물리서버 중 임의의 물리서버를 가상 응용서버를 생성할 물리서버로 결정할 수도 있다. 또는, 활성 그룹에 속한 물리서버 중 잉여 시스템 자원이 가장 풍부하거나, 시스템 부하가 가장 적은 물리서버를 가상 응용서버를 생성할 물리서버로 결정할 수도 있다. To this end, the
한편, 실시 예로서, 부하 분산 장치(120)는 가상머신 이미지 풀(170)에 저장된 가상머신 이미지(171, 172)를 이용하여 새로운 가상 응용서버가 생성되도록 부하 분산 시스템(100)을 제어할 수 있다. 가상머신 이미지(171, 172)에 대한 구체적인 내용은 앞서 설명한 바와 동일하다.Meanwhile, as an embodiment, the
위와 같은 방법으로 잠재 그룹으로부터 적어도 하나의 물리서버가 결정되고, 결정된 물리서버 내에 가상 응용서버가 생성되면, 부하 분산 방법은 S117 단계로 진행한다.At least one physical server is determined from the potential group in the above manner, and when a virtual application server is created in the determined physical server, the load balancing method proceeds to step S117.
S117 단계에서, 부하 분산 장치(120)는 S116 단계에서 생성된 가상 응용서버의 상태를 활성 그룹으로 변경시킨다. 실시 예로서, 부하 분산 장치(120)는 생성된 가상 응용서버의 상태변경과 함께, 생성된 가상 응용서버를 포함하는 물리서버의 상태도 활성 그룹으로 변경시킬 수 있다. In step S117, the
S117 단계가 완료되면, 부하 분산 방법은 S121 단계로 진행한다.When step S117 is completed, the load distribution method proceeds to step S121.
한편, 다시 S112 단계로 돌아가서, 가상 응용서버의 처리중인 평균 세션 수가 상위 임계값을 초과하지 않으면, 부하 분산 방법은 S118 단계로 진행한다. Returning to step S112, if the average number of sessions being processed by the virtual application server does not exceed the upper threshold value, the load balancing method proceeds to step S118.
S118 단계에서, 부하 분산 장치(120)는 가상 응용서버들이 처리중인 평균 서비스 세션 수가 하위 임계값 미만인지 판단한다. 다만 이는 예시적인 정의로서, 평균 서비스 세션 수를 대신하여 다른 값(예를 들어, 처리중인 전체 서비스 세션의 수)이 사용될 수 있다. In step S118, the
그리고, 평균 서비스 세션 수가 상위 임계값 미만이면, 부하 분산 방법은 S119 단계로 진행한다. 그렇지 않으면, 부하 분산 방법은 곧바로 S121 단계로 진행한다. If the average number of service sessions is less than the upper threshold value, the load balancing method proceeds to step S119. Otherwise, the load balancing method proceeds directly to step S121.
한편, S119 단계로 진행하는 경우는, 처리중인 서비스 세션에 비해 가상 응용서버의 수가 많은 경우이므로, 부하 분산 시스템(100)의 자원 활용률을 높이기 위해 가상 응용서버의 규모를 감소시키는 스케일-인을 수행할 필요가 있다. On the other hand, in the case of proceeding to the step S119, since the number of the virtual application servers is larger than that of the service session in process, the scale-in process of reducing the size of the virtual application server to increase the resource utilization rate of the
S119 단계에서, 부하 분산 장치(120)는 활성 그룹의 가상 응용서버들 중 소극적 그룹으로 상태변경할 가상 응용서버를 결정한다. In step S119, the
실시 예로서, 부하 분산 장치(120)는 활성 그룹의 가상 응용서버들 중에서 처리중인 서비스 세션의 수가 가장 적은 가상 응용서버를 상태변경할 가상 응용서버로 결정할 수 있다. 다만, 이는 예시적인 경우로서, 부하 분산 장치(120) 그외의 다양한 방법 또는 기준에 따라 상태변경할 가상 응용서버를 결정할 수 있다.As an embodiment, the
S120 단계에서, 부하 분산 장치(120)는 S137 단계에서 결정된 가상 응용서버의 상태를 소극적 그룹으로 변경한다. In step S120, the
한편, 앞서 설명했던 바와 같이, 그리고 이 설명의 말미에 다시 언급되겠지만, 소극적 그룹으로 상태변경된 가상 응용서버는 신규 서비스 세션을 더 이상 할당받지 않으며, 처리중인 서비스 세션의 완료와 함께 자신이 점유하던 시스템 자원을 반환하고 동작 중단 또는 삭제된다. On the other hand, as described above, and as will be reiterated at the end of this discussion, a virtual application server that has changed state to a passive group will no longer be assigned a new service session, It returns the resource and stops or deletes the operation.
S120 단계가 완료되면, 부하 분산 방법은 S121 단계로 진행한다.When step S120 is completed, the load balancing method proceeds to step S121.
이상의 S111 단계 내지 S120 단계는 신규 서비스 세션을 할당하기 전에 필요한 가상 응용서버들을 적절한 규모로 준비하는 프로비저닝 단계로서 정의될 수 있다. S111 단계 내지 S120 단계에서, 부하 분산 방법은 부하 분산 서비스의 상태정보, 가상 응용서버의 상태정보 또는 물리서버의 상태정보에 따라 가상 응용서버를 생성, 상태변경 또는 삭제시킴으로써, 가상 응용서버의 수를 적절하게 유지한다.The steps S111 to S120 may be defined as a provisioning step of preparing necessary virtual application servers on an appropriate scale before assigning a new service session. In steps S111 to S120, the load balancing method creates, states, or deletes a virtual application server according to the load balancing service status information, the virtual application server status information, or the physical server status information, Keep it properly.
S121 단계에서, 부하 분산 장치(120)는 전송제어부(122)를 통해, 미리 결정된 부하 분산 알고리즘에 따라 활성 그룹에 속하는 가상 응용서버들 중에서 새로운 서비스 세션을 처리할 가상 응용서버를 결정한다. 실시 예로서, 미리 결정된 부하 분산 알고리즘은 균등 부하 분산(round robin) 알고리즘 또는 최소 연결(least connection) 알고리즘 일 수 있다. 이때, 부하 분산 장치(120)는 세션관리부(123)가 제공하는 부하 처리 정보를 참조하여, 새로운 서비스 세션을 처리할 가상 응용서버를 결정할 수 있다. 예를 들어, 부하 분산 알고리즘이 최소 연결 알고리즘인 경우, 부하 분산 장치(120)는 세션관리부(123)에 저장된 부하 처리 정보 중 가상 응용서버들 각각이 처리중인 서비스 세션의 수를 나타내는 정보를 읽어내고, 읽어낸 정보에 따라 현재 처리중인(또는, 서비스 중인) 서비스 세션의 수가 가장 적은 가상 응용서버를 새로운 서비스 세션을 처리할 가상 응용서버로 결정한다.In step S121, the
S122 단계에서, 부하 분산 장치(120)는 앞서 결정된 가상 응용서버에 새로운 서비스 세션이 할당된 것을 반영하도록, 세션관리부(123)의 부하 처리 정보를 갱신한다.In step S122, the
S123 단계에서, 부하 분산 장치(120)는 전송처리부(121)를 통해, 앞서 결정된 가상 응용서버로 수신된 새로운 서비스 세션을 전송한다. In step S123, the
S121 단계 내지 S123 단계는 프로비저닝 단계를 통해 준비된 가상 응용서버에 실제로 부하를 분산시키는 부하 분산 적용단계로 정의될 수 있다.
Steps S121 to S123 may be defined as a load balancing application step of actually distributing the load to the virtual application server prepared through the provisioning step.
한편, 앞서 소극적 그룹으로 상태변경된 가상 응용서버의 처리 방법에 대해 부연하면, 먼저, 부하 분산 장치(120)는 소극적 그룹에 속한 가상 응용서버가 존재하는 지 판단한다. 소극적 그룹에 속한 가상 응용서버가 존재하면, 부하 분산 장치(120)는 소극적 그룹에 속한 가상 응용서버의 처리중인 세션이 모두 완료되었는지 확인하고, 세션의 완료가 확인된 가상 응용서버를 중단시키거나 삭제한다. 이때, 중단 또는 삭제되는 가상 응용서버는 자신이 점유하던 시스템 자원을 부하 분산 시스템(100)에 반환하게 된다. On the other hand, when the processing method of the virtual application server is changed to the passive group, the
나아가, 부하 분산 장치(120)는 중단 또는 삭제된 가상 응용서버를 포함하고 있던 물리서버 내에 동작중인(즉, 특정 VIP과 관련한 서비스 세션을 처리중인) 다른 가상 응용서버가 존재하는지 판단한다. 동작 중인 다른 가상 응용서버가 존재하지 않으면(즉, 물리서버 내에 동작중인 가상 응용서버가 없으면), 부하 분산 장치(120)는 해당 물리서버의 상태를 잠재 그룹으로 변경시킨다. 잠재 그룹에 놓여진 물리서버는 이후의 스케일-아웃에 대비하여 유보 또는 준비된다.Furthermore, the
한편, 도 5에서 설명되지 않은 부하 분산 장치(120) 및 부하 분산 시스템(100)에 대한 다른 구체적인 내용은 앞서 도 1 내지 도 4에서 설명한 바와 동일하다.
The other details of the
본 발명의 실시 예들에 따르면, 서비스 관리자나 외부 응용프로그램과 같은 외부로부터의 개입 없이, 부하 분산 시스템의 상태정보, 가상 응용서버의 상태정보 또는 물리서버의 상태정보에 따라, 능동적으로 가상 응용서버를 추가, 상태변경, 또는 제거함으로써, 서비스 클러스터의 처리 용량을 적절하게 제어할 수 있다.그에 따라, 서비스 클러스터의 과잉 구성으로 인한 자원 낭비 및 비용 발생을 최소화할 수 있으며, 시간에 따른 부하량의 변동폭이 큰 서비스 환경에서 서비스 품질의 저하 없이 지속적으로 서비스를 제공할 수 있다.According to the embodiments of the present invention, the virtual application server can be actively managed according to the status information of the load balancing system, the status information of the virtual application server, or the status information of the physical server without any intervention from the outside such as a service manager or an external application program It is possible to appropriately control the processing capacity of the service cluster by adding, changing, or removing the service cluster, thereby minimizing resource waste and cost incurred due to over-configuration of the service cluster, The service can be continuously provided in a large service environment without deteriorating the service quality.
또한, 도 5의 부하 분산 방법은 가상 응용서버의 규모를 확장 또는 축소할 때, 소극적 그룹이라는 하나의 상태 정보에 기초하여 가상 응용서버를 상태변경하거나 새로운 가상 응용서버를 생성한다. 그러한 구성에 따르면, 본 발명의 부하 분산 방법은 새로운 가상 응용서버 생성이나 기존 가상 응용서버의 삭제시, 클라이언트(110)에 제공되는 서비스의 지연이나 중단을 방지하는 효과를 갖는다.
In addition, when the size of the virtual application server is enlarged or reduced, the load distribution method of FIG. 5 changes the state of the virtual application server or creates a new virtual application server based on one state information of the passive group. According to such a configuration, the load balancing method of the present invention has an effect of preventing a delay or an interruption of a service provided to the client 110 when a new virtual application server is created or an existing virtual application server is deleted.
지금까지 본 명세서의 상세한 설명에서는 구체적인 실시 예를 들어 설명하였으나, 본 명세서의 범위에서 벗어나지 않는 한 각 실시 예는 여러 가지 형태로 변형될 수 있다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.
또한, 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 명세서의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 명세서의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 및 그 균등물에 의해 정해져야 한다.
Also, although specific terms are used herein, they are used for the purpose of describing the invention only and are not used to limit the scope of the present disclosure as defined in the claims or the claims. Therefore, the scope of the present specification should not be limited to the above-described embodiments, but should be defined by the appended claims and their equivalents.
10, 20, 100: 부하 분산 시스템
11, 21: 클라이언트
12, 22, 120: 부하 분산 장치
13, 23, 130: 클러스터
14, 24, 140: 네트워크
15, 25: VIP
13_1, 13_2, 13_n: 응용서버
23_1, 23_2, 23_3, 131, 132, 133: 물리서버
23_1c, 23_1d, 23_2c, 23_3c, 131c, 131d, 132c, 133c: 가상 응용서버
23_1a, 23_2a, 23_3a, 131a, 132a, 133a: 하이퍼바이저
23_1b, 23_2b, 23_3b, 131b, 132b, 133b: 가상머신 제어부
121: 전송 처리부
122: 전송 제어부
123: 세션 관리부
124: 응용서버 모니터링부
125: 서버 제어부
126: 서비스 관리부
170: 가상머신 이미지 풀
171, 172: 가상머신 이미지10, 20, 100:
12, 22, 120: load distributing
14, 24, 140:
13_1, 13_2, 13_n: application server
23_1, 23_2, 23_3, 131, 132, 133: physical servers
23_1c, 23_1d, 23_2c, 23_3c, 131c, 131d, 132c, 133c:
23_1a, 23_2a, 23_3a, 131a, 132a, 133a:
23_1b, 23_2b, 23_3b, 131b, 132b, and 133b:
121: Transmission processing unit 122:
123: Session management unit 124: Application server monitoring unit
125: server control unit 126: service management unit
170: Virtual
Claims (14)
상기 부하 분산 시스템의 상태정보, 상기 물리서버의 상태정보 또는 상기 가상 응용서버들의 상태정보에 따라, 상기 부하 분산 시스템에서 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계; 및
상기 판단한 결과에 따라, 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계를 포함하고,
상기 부하 분산 시스템의 상태정보는 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는, 부하 분산 장치의 부하 분산 방법.
A load balancing method of a load balancing apparatus for balancing loads with virtual application servers included in physical servers in a load balancing system,
Determining whether the number of virtual application servers operating in the load balancing system is appropriate based on status information of the load balancing system, status information of the physical server, or status information of the virtual application servers; And
Generating, deleting or deleting one or more virtual application servers according to the determined result,
Wherein the status information of the load distribution system indicates a size or amount of a load that the load distribution system is receiving and processing.
상기 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계는,
상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값을 미리 결정된 임계치와 비교하여, 상기 부하의 크기 또는 규모를 나타내는 값이 상기 미리 결정된 임계치를 초과하면, 상기 부하 분산 시스템이 수신 및 처리중인 부하가 과다한 것으로 판단하는 단계를 포함하는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 1,
Wherein the step of determining whether the number of the virtual application servers to be operated is appropriate,
Wherein the load balancing system compares a value indicative of the magnitude or amount of the load being received and processed by the load balancing system with a predetermined threshold and if the value indicative of the magnitude or magnitude of the load exceeds the predetermined threshold, And determining that the load under processing is excessive.
상기 운용되는 가상 응용서버의 수가 적절한지 판단하는 단계는,
상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값을 미리 결정된 임계치와 비교하여, 상기 부하의 크기 또는 규모를 나타내는 값이 상기 미리 결정된 임계치미만이면, 상기 응용서버의 수가 과다하거나 과잉 투입된 것으로 판단하는 단계를 포함하는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 1,
Wherein the step of determining whether the number of the virtual application servers to be operated is appropriate,
Wherein the load balancing system compares a value indicating a size or amount of a load that is being received and processed by the load balancing system with a predetermined threshold and if the value indicating the size or the size of the load is less than the predetermined threshold, And judging that the input device has been inserted.
상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는 값은 상기 부하 분산 시스템이 처리중인 서비스 세션의 개수를 상기 서비스 세션을 처리중인 가상 응용서버의 수로 나눈 값인, 부하 분산 장치의 부하 분산 방법.
The method according to claim 2 or 3,
Wherein a value indicating a size or amount of a load being received and processed by the load distribution system is a value obtained by dividing the number of service sessions being processed by the load distribution system by the number of virtual application servers processing the service session, Way.
상기 임계치는 상기 부하 분산 시스템에 포함된 가상 응용서버의 모니터링 정보 또는 상기 부하 분산 시스템이 수집한 시스템 부하 정보를 참조하여 결정되는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 2 or 3,
Wherein the threshold value is determined by referring to monitoring information of a virtual application server included in the load distribution system or system load information collected by the load distribution system.
상기 하나 이상의 가상 응용서버 또는 상기 물리서버는 활성 그룹, 소극적 그룹 및 잠재 그룹 중 어느 하나에 포함되는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 1,
Wherein the one or more virtual application servers or the physical servers are included in one of an active group, a passive group, and a potential group.
상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는,
상기 잠재 그룹에 속한 물리서버 중 적어도 하나의 물리서버에 상기 하나 이상의 가상 응용서버를 생성하는 단계; 및
상기 생성된 하나 이상의 가상 응용서버의 상태를 상기 활성 그룹으로 변경하는 단계를 포함하는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 6,
The creating, changing, or deleting of the one or more virtual application servers comprises:
Creating at least one virtual application server in at least one physical server among the physical servers belonging to the potential group; And
And changing the state of the generated one or more virtual application servers to the active group.
상기 생성된 하나 이상의 가상 응용서버는 미리 생성된 가상머신 이미지를 이용하여 생성되고,
상기 가상머신 이미지는 상기 생성된 하나 이상의 가상 응용서버를 구동하기 위한 운영체제 등을 포함하는 소프트웨어 이미지 파일로서, 상기 서비스 요청을 처리하는 데 필요한 응용프로그램 및 환경설정을 포함하도록 구성되는, 부하 분산 장치의 부하 분산 방법.
8. The method of claim 7,
Wherein the generated one or more virtual application servers are created using a virtual machine image generated in advance,
Wherein the virtual machine image is a software image file including an operating system or the like for driving the generated one or more virtual application servers and configured to include an application program and an environment setting necessary for processing the service request, Load balancing method.
상기 미리 생성된 가상머신 이미지를 복수의 가상머신 이미지를 포함하는 가상머신 이미지 풀로부터 선택하기 위해 가상머신 템플릿을 참조하는, 부하 분산 장치의 부하 분산 방법.
9. The method of claim 8,
And references the virtual machine template to select the pre-generated virtual machine image from the virtual machine image pool including a plurality of virtual machine images.
상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는,
상기 하나 이상의 가상 응용서버의 상태를 상기 소극적 그룹으로부터 상기 활성 그룹으로 상태변경하는 단계를 포함하는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 6,
The creating, changing, or deleting of the one or more virtual application servers comprises:
And changing state of the one or more virtual application servers from the non-active group to the active group.
상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는,
상기 하나 이상의 가상 응용서버의 상태를 상기 활성 그룹으로부터 상기 소극적 그룹으로 상태변경하는 단계를 포함하는, 부하 분산 장치의 부하 분산 방법.
The method according to claim 6,
The creating, changing, or deleting of the one or more virtual application servers comprises:
And changing state of the one or more virtual application servers from the active group to the passive group.
상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는,
상기 소극적 그룹으로 상태변경된 상기 하나 이상의 가상 응용서버에 대해서, 처리중인 세션이 완료되었는지 확인하는 단계; 및
상기 확인 결과에 따라, 상기 하나 이상의 가상 응용서버를 중단시키거나 삭제하는 단계를 더 포함하는, 부하 분산 장치의 부하 분산 방법.
12. The method of claim 11,
The creating, changing, or deleting of the one or more virtual application servers comprises:
Confirming that the session being processed has been completed for the one or more virtual application servers that have been changed to the passive group; And
And stopping or deleting the one or more virtual application servers according to the result of the checking.
상기 하나 이상의 가상 응용서버를 생성하거나, 상태변경하거나, 삭제하는 단계는,
상기 하나 이상의 가상 응용서버를 포함하는 물리서버를 잠재 그룹으로 상태변경하는 단계를 더 포함하는, 부하 분산 장치의 부하 분산 방법.
13. The method of claim 12,
The creating, changing, or deleting of the one or more virtual application servers comprises:
Further comprising: changing a physical server including the one or more virtual application servers into a potential group.
상기 부하 분산 시스템의 상태정보, 상기 물리서버의 상태정보 또는 상기 가상 응용서버들의 상태정보에 따라, 상기 부하 분산 시스템에서 운용되는 가상 응용서버의 수가 적절한지 판단하는 전송제어부; 및
상기 판단한 결과에 따라, 하나 이상의 가상 응용서버가 생성되거나, 상태변경되거나, 삭제되도록 제어하는 서버 제어부를 포함하고,
상기 부하 분산 시스템의 상태정보는 상기 부하 분산 시스템이 수신 및 처리중인 부하의 크기 또는 양을 나타내는, 클라이언트로부터 수신되는 서비스 요청을 가상 응용서버들로 분산 할당하는 부하 분산 장치.
A load balancer for distributing a service request received from a client to virtual application servers included in a physical server in a load balancing system,
A transmission control unit for determining whether the number of virtual application servers operated in the load distribution system is appropriate according to state information of the load distribution system, status information of the physical server, or status information of the virtual application servers; And
And a server control unit for controlling one or more virtual application servers to be created, changed, or deleted according to the determination result,
Wherein the status information of the load distribution system indicates a size or amount of a load being received and processed by the load distribution system, and distributes the service request received from the client to the virtual application servers.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140113432A KR20160025926A (en) | 2014-08-28 | 2014-08-28 | Apparatus and method for balancing load to virtual application server |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140113432A KR20160025926A (en) | 2014-08-28 | 2014-08-28 | Apparatus and method for balancing load to virtual application server |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20160025926A true KR20160025926A (en) | 2016-03-09 |
Family
ID=55536408
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020140113432A Withdrawn KR20160025926A (en) | 2014-08-28 | 2014-08-28 | Apparatus and method for balancing load to virtual application server |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20160025926A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180096310A (en) * | 2017-02-21 | 2018-08-29 | 에스케이텔레콤 주식회사 | Method and appratus for performance control |
| KR102112047B1 (en) * | 2019-01-29 | 2020-05-18 | 주식회사 리얼타임테크 | Method for adding node in hybride p2p type cluster system |
| CN112035250A (en) * | 2020-08-25 | 2020-12-04 | 上海中通吉网络技术有限公司 | High-availability local area network service management method, equipment and deployment architecture |
| WO2022139150A1 (en) * | 2020-12-24 | 2022-06-30 | (주)비디오몬스터 | Cloud-based distributed video rendering system, and autoscaling method thereof |
-
2014
- 2014-08-28 KR KR1020140113432A patent/KR20160025926A/en not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180096310A (en) * | 2017-02-21 | 2018-08-29 | 에스케이텔레콤 주식회사 | Method and appratus for performance control |
| KR102112047B1 (en) * | 2019-01-29 | 2020-05-18 | 주식회사 리얼타임테크 | Method for adding node in hybride p2p type cluster system |
| WO2020158968A1 (en) * | 2019-01-29 | 2020-08-06 | ㈜리얼타임테크 | Method for extending task node in hybrid p2p cluster system |
| CN112035250A (en) * | 2020-08-25 | 2020-12-04 | 上海中通吉网络技术有限公司 | High-availability local area network service management method, equipment and deployment architecture |
| WO2022139150A1 (en) * | 2020-12-24 | 2022-06-30 | (주)비디오몬스터 | Cloud-based distributed video rendering system, and autoscaling method thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112136294B (en) | Application functions affect business routing messages and systems | |
| US10171567B2 (en) | Load balancing computer device, system, and method | |
| CN105743995B (en) | System and method for transplantable high-availability deployment and management of container cluster | |
| EP3968605B1 (en) | Method for providing edge service, apparatus and device | |
| US20190028538A1 (en) | Method, apparatus, and system for controlling service traffic between data centers | |
| KR101781063B1 (en) | Two-level resource management method and appratus for dynamic resource management | |
| EP3338184B1 (en) | Technique for reconfiguring a virtual machine | |
| US20170300353A1 (en) | Method for Allocating Communication Path in Cloudified Network, Apparatus, and System | |
| US10993127B2 (en) | Network slice instance management method, apparatus, and system | |
| US20220318071A1 (en) | Load balancing method and related device | |
| US20220086044A1 (en) | Analyzing and configuring workload distribution in slice-based networks to optimize network performance | |
| US12101247B2 (en) | Systems and methods for selecting tunnels for transmitting application traffic by an SD-WAN application | |
| US10541901B2 (en) | Methods, systems and computer readable media for optimizing placement of virtual network visibility components | |
| CN103917956A (en) | System and method for active-passive routing and control of traffic in a traffic director environment | |
| US20230254243A1 (en) | Systems and methods for managing network services by an sd-wan application and an sd-wan device | |
| US20230231768A1 (en) | Systems and methods for updating a configuration of an sd-wan application using connectivity or usage data | |
| EP3113429B1 (en) | Network resource processing device, method and system | |
| KR20160025926A (en) | Apparatus and method for balancing load to virtual application server | |
| CN111240824A (en) | CPU resource scheduling method and electronic equipment | |
| US10681398B1 (en) | Video encoding based on viewer feedback | |
| JP6488910B2 (en) | Control method, control program, and information processing apparatus | |
| CN113535402A (en) | Load balancing processing method and device based on 5G MEC and electronic equipment | |
| JP2022166934A (en) | Information processing device, overload control program, and overload control method | |
| WO2018129957A1 (en) | Vbng system multi-virtual machine load sharing method and vbng system device | |
| JP2019028673A (en) | Managing device and managing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20140828 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |