KR102043031B1 - 서버 및 이를 이용한 부하 분산 방법 - Google Patents
서버 및 이를 이용한 부하 분산 방법 Download PDFInfo
- Publication number
- KR102043031B1 KR102043031B1 KR1020130130864A KR20130130864A KR102043031B1 KR 102043031 B1 KR102043031 B1 KR 102043031B1 KR 1020130130864 A KR1020130130864 A KR 1020130130864A KR 20130130864 A KR20130130864 A KR 20130130864A KR 102043031 B1 KR102043031 B1 KR 102043031B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- query request
- data packet
- servers
- information
- Prior art date
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/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
서버 및 이를 이용한 부하 분산 방법이 개시된다. 본 발명의 일 실시예에 따른 부하 분산 방법은, 서버에서, 하나 이상의 다른 서버들과 상태 정보를 상호 공유하는 단계, 서버에서, 외부로부터 질의 요청을 수신하는 단계, 및 서버에서, 질의 요청에 포함된 도메인 정보 및 상태 정보 중 적어도 하나를 이용하여 질의 요청에 대응되는 작업을 수행하거나 질의 요청을 다른 서버로 리다이렉션(Redirection)하는 질의 요청 처리 단계를 포함한다.
Description
본 발명의 실시예는 부하 분산 기술에 관한 것으로, 보다 상세하게는 서버 및 이를 이용한 부하 분산 방법에 관한 것이다.
기존의 서버 부하 분산 구조를 살펴보면, 서비스를 제공하는 서버들의 전단에 트래픽 분배기가 존재한다. 이때, L4 스위치, L7 스위치, 및 프록시 서버 등이 트래픽 분배기의 역할을 하게 된다. 트래픽 분배기는 서비스를 제공하는 서버들의 동작 여부를 체크하고, 필요에 따라 각 서버들의 상태 정보를 수집하여 적절한 알고리즘을 통해 트래픽을 분배하게 된다. 그러나, 트래픽 분배기가 존재하는 경우, 트래픽 분배기도 이중화 하여야 하기 때문에 전체 시스템 구성이 복잡해지게 된다. 그리고, 서비스를 제공하는 서버가 추가되거나 제거되는 경우 그때마다 트래픽 분배기의 설정을 변경해주어야 하는 번거로움이 있다.
한국등록특허공보 제10-0715674호(2007.05.09)
본 발명의 실시예는 별도의 트래픽 분배기 없이 부하 분산을 수행하는 서버 및 이를 이용한 부하 분산 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 부하 분산 방법은, 서버에서, 상기 서버와 대표 도메인 네임(Fully Qualified Domain Name :FQDN)을 공유하는 하나 이상의 다른 서버들과 상태 정보를 상호 공유하는 단계; 상기 서버에서, 외부로부터 질의 요청을 수신하는 단계; 및 상기 서버에서, 상기 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션(Redirection)하는 질의 요청 처리 단계를 포함한다.
상기 질의 요청 처리 단계는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계; 상기 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하는 단계; 및 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션하는 단계를 더 포함할 수 있다.
상기 최소 부하를 가진 서버를 선택하는 단계 이후에, 상기 선택된 서버가 자기 자신인 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함할 수 있다.
상기 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계 이후에, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함할 수 있다.
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는, 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 상기 다른 서버로 전송하는 단계; 및 상기 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하여 저장하는 단계를 포함할 수 있다.
상기 데이터 패킷을 상기 다른 서버로 전송하는 단계는, 상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버로 전송할 수 있다.
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는, 상기 데이터 패킷을 다른 서버로 주기적으로 전송하고, 주기적으로 수신한 다른 서버의 상태 정보를 갱신할 수 있다.
본 발명의 일 실시예에 따른 서버는, 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 생성하는 패킷생성부; 상기 생성한 데이터 패킷을 대표 도메인 네임(FQDN)을 공유하는 하나 이상의 다른 서버들로 전송하고, 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하며, 외부로부터 질의 요청을 수신하는 통신부; 상기 수신한 다른 서버의 데이터 패킷을 저장하는 저장부; 및 상기 수신한 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션하는 질의 처리부를 포함한다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션(Redirection)할 수 있다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 선택된 서버가 자기 자신인 경우 상기 질의 요청에 대응되는 작업을 수행할 수 있다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행할 수 있다.
상기 통신부는, 상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버들로 전송할 수 있다.
본 발명의 실시예에 의하면, 각 서버들 간에 상태 정보를 공유함으로써, 별도의 트래픽 분배기 없이도 부하 분산을 수행할 수 있게 된다. 그로 인해, 부하 분산을 위한 시스템 구성이 단순해지고 서버의 변경, 추가, 삭제 시에도 그에 따른 설정 변경 작업이 필요 없게 된다.
도 1은 본 발명의 일 실시예에 따른 서버를 이용하여 부하 분산 동작이 이루어지는 과정을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 부하 분산 방법을 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 데이터 패킷의 구조를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 부하 분산 방법을 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 데이터 패킷의 구조를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 나타낸 도면.
이하, 도 1 내지 도 4를 참조하여 본 발명의 서버 및 이를 이용한 부하 분산 방법의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 서버를 이용하여 부하 분산 동작이 이루어지는 과정을 나타낸 도면이다.
도 1을 참조하면, 복수 개의 서버(102-1, 102-2,...,102-N)들은 서로의 상태 정보를 상호 공유한다(①). 예를 들어, 각 서버(102-1, 102-2,...,102-N)는 해당 서버가 제공하는 서비스 정보, 서버 식별 정보, 및 상태 정보를 포함하는 데이터 패킷을 다른 서버들로 각각 전송하여 다른 서버들의 상태 정보를 공유할 수 있다. 여기서, 서비스 정보는 해당 서비스의 대표 도메인 네임이 될 수 있으나, 이에 한정되는 것은 아니며 그 이외에 해당 서비스를 식별할 수 있는 다양한 정보가 될 수 있다. 그리고, 서버 식별 정보는 해당 서버의 개별 도메인 네임이 될 수 있으나, 이에 한정되는 것은 아니며 서버 식별 정보는 그 이외에 해당 서버를 식별할 수 있는 다양한 정보가 될 수 있다. 상태 정보는 해당 서버의 부하 상태에 대한 정보를 포함할 수 있다. 예를 들어, 부하 상태에 대한 정보는 CPU 사용률, 메모리 사용률, 현재 접속중인 단말의 개수 등이 포함될 수 있다. 복수 개의 서버(102-1, 102-2,...,102-N)들은 소정 서비스의 대표 도메인 네임(Fully Qualified Domain Name : FQDN)을 공유할 수 있다.
각 서버(102-1, 102-2,...,102-N)는 다른 서버들로부터 데이터 패킷을 수신하는 경우, 서비스 별로 각 서버들의 상태 정보를 저장할 수 있다. 각 서버(102-1, 102-2,...,102-N)는 데이터 패킷을 주기적으로 다른 서버들로 전송할 수 있다. 각 서버(102-1, 102-2,...,102-N)는 다른 서버들의 데이터 패킷을 주기적으로 수신하는 경우, 서비스 별로 다른 서버들의 상태 정보를 갱신할 수 있다. 복수 개의 서버(102-1, 102-2,...,102-N)가 동일한 서비스를 제공하는 경우, 데이터 패킷에는 서비스 정보가 생략될 수 있다. 복수 개의 서버(102-1, 102-2,...,102-N)들은 동일한 로컬 영역 네트워크(LAN)에 존재할 수 있다.
다음으로, 클라이언트(104)가 DNS 서버(106)로 소정 서비스의 URL(예를 들어, http://was.foobar.com/service.jsp)에 대한 IP 주소를 묻는 질의를 전송하는 경우(②), DNS 서버(106)는 해당 서비스(즉,was.foobar.com)를 제공하는 서버들의 전체 IP 리스트를 클라이언트(104)로 전송한다(③). 예를 들어, 복수 개의 서버(102-1, 102-2,...,102-N)들이 해당 서비스(즉,was.foobar.com)를 제공하는 서버들인 경우, DNS 서버(106)는 멀티플 에이 레코드(Multiple A Records)를 통해 복수 개의 서버(102-1, 102-2,...,102-N)들의 전체 IP 리스트를 클라이언트(104)로 전송할 수 있다. DNS 서버(106)는 클라이언트(104)로부터 수신한 URL이 was.foobar.com와 같이 해당 서비스의 대표 도메인 네임(FQDN)을 포함하고 있는 경우, 해당 서비스를 제공하는 모든 서버들의 전체 IP 리스트를 클라이언트(104)로 전송할 수 있다.
다음으로, 클라이언트(104)는 복수 개의 서버(102-1, 102-2,...,102-N)들의전체 IP 리스트 중 어느 한 서버의 IP를 선택하고, 선택한 서버의 IP로 접속하여 URL(예를 들어, http://was.foobar.com/service.jsp)을 요청한다(④). 클라이언트(104)는 멀티플 에이 레코드(Multiple A Records)를 통해 전송된 전체 IP 리스트 중 어느 한 서버의 IP를 랜덤하게 선택할 수도 있고, 전체 IP 리스트 중 첫번째 서버 IP를 선택할 수도 있다. 여기서는, 클라이언트(104)가 복수 개의 서버(102-1, 102-2,...,102-N)들 중 제1 서버(102-1)의 IP를 선택하여 제1 서버(102-1)로 접속한 경우를 나타내었다.
다음으로, 제1 서버(102-1)는 해당 서비스를 제공하는 복수 개의 서버(102-1, 102-2,...,102-N)들의 상태 정보를 이용하여 부하가 가장 적은 서버를 선택하고, 클라이언트(104)의 URL 요청을 부하가 가장 적은 서버로 리다이렉션(Redirection)한다(⑤). 여기서는, 복수 개의 서버(102-1, 102-2,...,102-N)들 중 제2 서버(102-2)의 부하가 가장 적은 것으로 가정하기로 한다. 이 경우, 제1 서버(102-1)는 HTTP REDIRECT 응답을 통해 제2 서버(102-2)의 URL(예를 들어, http://was2.foobar.com/service.jsp)을 클라이언트(104)로 전송할 수 있다.
다음으로, 클라이언트(104)가 제2 서버(102-2)의 URL(예를 들어, http://was2.foobar.com/service.jsp)에 대한 IP 주소를 묻는 질의를 전송하는 경우(⑥), DNS 서버(106)는 제2 서버(102-2)의 IP 주소를 클라이언트(104)로 전송한다(⑦). DNS 서버(106)는 클라이언트(104)로부터 수신한 URL이 was2.foobar.com(또는 was1.foobar.com 등)과 같이 해당 서비스를 제공하는 특정 서버의 개별 도메인 네임을 포함하는 경우, 해당 서버의 IP를 클라이언트(104)로 전송할 수 있다.
다음으로, 클라이언트(104)가 제2 서버(102-2)로 접속하여 URL(예를 들어, http://was2.foobar.com/service.jsp)을 요청하면(⑧), 제2 서버(102-2)는 해당 URL(예를 들어, http://was2.foobar.com/service.jsp)에 대응하는 웹 페이지를 클라이언트(104)로 전송한다(⑨).
이와 같이, 각 서버(102-1, 102-2,...,102-N)는 클라이언트(104)로부터 수신한 URL에 해당 서비스의 대표 도메인 네임(예를 들어, http://was.foobar.com/...)이 포함되어 있는 경우, 복수 개의 서버(102-1, 102-2,...,102-N)들 중 부하가 가장 적은 서버로 클라이언트(104)의 URL 요청을 리다이렉션(Redirection)할 수 있다. 반면, 클라이언트(104)로부터 수신한 URL에 해당 서비스의 대표 도메인 네임(FQDN)이 아닌 해당 서버의 개별 도메인 네임(예를 들어, http://wasN.foobar.com/...)이 포함되어 있는 경우, 각 서버(102-1, 102-2,...,102-N)는 해당 URL에 대응하는 웹 페이지를 클라이언트(104)로 전송할 수 있다.
본 발명의 실시예에 의하면, 각 서버들 간에 상태 정보를 공유함으로써, 별도의 트래픽 분배기 없이도 부하 분산을 수행할 수 있게 된다. 그로 인해, 부하 분산을 위한 시스템 구성이 단순해지고 서버의 변경, 추가, 삭제 시에도 그에 따른 설정 변경 작업이 필요 없게 된다.
도 2는 본 발명의 일 실시예에 따른 부하 분산 방법을 나타낸 순서도이다.
도 2를 참조하면, 제1 서버(102-1)는 다른 서버(102-2,...,102-N)들과 상태 정보를 상호 공유한다(S 101). 제1 서버(102-1)는 제1 서버(102-1)가 제공하는 서비스 정보, 서버 식별 정보, 및 상태 정보를 포함하는 데이터 패킷을 다른 서버(102-2,...,102-N)들로 각각 전송할 수 있다. 그리고, 제1 서버(102-1)는 다른 서버(102-2,...,102-N)들로부터 데이터 패킷을 수신하여 서비스 별로 다른 서버(102-2,...,102-N)들의 상태 정보를 저장할 수 있다. 제1 서버(102-1)는 데이터 패킷을 주기적으로 다른 서버(102-2,...,102-N)들로 전송할 수 있고, 다른 서버(102-2,...,102-N)들로부터 데이터 패킷을 주기적으로 수신하여 다른 서버(102-2,...,102-N)들의 상태 정보를 갱신할 수 있다. 제1 서버(102-1)는 데이터 패킷을 멀티캐스트 방식으로 전송할 수 있다.
다음으로, 제1 서버(102-1)가 클라이언트(104)로부터 질의 요청(예를 들어, URL 요청)을 수신하는 경우(S 103), 제1 서버(102-1)는 질의 요청에 해당 서비스의 대표 도메인 네임(FQDN)이 포함되어 있는지 여부를 확인한다(S 105).
단계 S 105의 확인 결과, 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 제1 서버(102-1)는 서버(102-1, 102-2,...,102-N)들의 상태 정보를 이용하여 부하가 가장 적은 서버를 확인한다(S 107).
다음으로, 제1 서버(102-1)는 부하가 가장 적은 서버가 다른 서버(102-2,...,102-N)인지 여부를 확인하여(S 109), 부하가 가장 적은 서버가 다른 서버(102-2,...,102-N)인 경우, 제1 서버(102-1)는 클라이언트(104)의 질의 요청을 부하가 가장 적은 서버로 리다이렉션한다(S 111).
단계 S 109의 확인 결과, 부하가 가장 적은 서버가 다른 서버(102-2,...,102-N)가 아닌 경우(즉, 부하가 가장 적은 서버가 자기 자신인 경우), 제1 서버(102-1)는 클라이언트(104)의 질의 요청에 대응되는 작업을 수행하여 그 결과를 클라이언트(104)로 전송한다(S 113).
한편, 단계 S 105의 확인 결과, 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우(즉, 질의 요청에 제1 서버(102-1)의 개별 도메인 네임이 포함되어 있는 경우), 제1 서버(102-1)는 클라이언트(104)의 질의 요청에 대응되는 작업을 수행하여 그 결과를 클라이언트(104)로 전송한다(S 115).
도 3은 본 발명의 일 실시예에 따른 데이터 패킷의 구조를 나타낸 도면이다.
도 3을 참조하면, 각 서버들이 상태 정보를 공유하기 위해 전송하는 데이터 패킷(150)은 헤더 필드(a), 서비스 정보 필드(b), 서버 식별 정보 필드(c), 상태 정보 필드(d), 및 주기 정보 필드(e)를 포함할 수 있다. 헤더 필드(a)에는 데이터 패킷(150)의 기본 정보가 포함될 수 있다. 서비스 정보 필드(b)에는 해당 서버의 서비스를 식별할 수 있는 정보(예를 들어, 대표 도메인 네임 등)가 포함될 수 있다. 예를 들어, 서비스 정보 필드(b)에는 payment.service.com이 포함될 수 있다. 서버 식별 정보 필드(c)에는 해당 서버를 식별할 수 있는 정보(예를 들어, 개별 도메인 네임 등)가 포함될 수 있다. 예를 들어, 서버 식별 정보 필드(c)에는 payment1.service.com이 포함될 수 있다. 상태 정보 필드(d)에는 지난 주기 동안 해당 서버의 평균 부하 정보가 포함될 수 있다. 주기 정보 필드(e)에는 해당 데이터 패킷(150)의 유효 기간(TTL : Time To Live)이 포함될 수 있다.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 나타낸 도면이다.
도 4를 참조하면, 서버(200)는 패킷생성부(202), 통신부(204), 저장부(206), 및 질의 처리부(208)를 포함한다.
패킷생성부(202)는 서버(200)의 서비스 정보, 서버 식별 정보, 및 상태 정보를 포함하는 데이터 패킷을 생성할 수 있다. 패킷생성부(202)는 기 설정된 주기마다 데이터 패킷을 생성할 수 있다. 패킷생성부(202)는 서버(200)의 부하 상태를 매 주기마다 모니터링하고 지난 주기의 부하 상태를 데이터 패킷에 반영할 수 있다.
통신부(204)는 패킷생성부(202)가 생성한 데이터 패킷을 다른 서버들(예를 들어, 동일한 로컬 네트워크 영역에 있는 서버들)로 전송할 수 있다.통신부(204)는 데이터 패킷을 멀티캐스트 방식으로 다른 서버들로 전송할 수 있다. 이 경우, 데이터 패킷의 전송 효율을 높일 수 있게 된다.통신부(204)는 다른 서버들로부터 해당 서버의 서비스 정보, 서버 식별 정보, 및 상태 정보를 포함하는 데이터 패킷을 수신할 수 있다. 통신부(204)는 다른 서버들로부터 데이터 패킷을 주기적으로 수신할 수 있다. 통신부(204)는 클라이언트로부터 질의 요청을 수신할 수 있다. 통신부(204)는 클라이언트의 질의 요청에 대한 응답(예를 들어, 질의 요청에 대응되는 작업 수행 결과 또는 최소 부하를 가진 서버로의 리다이렉션)을 해당 클라이언트로 전송할 수 있다.
저장부(206)는 통신부(204)가 다른 서버들로부터 수신한 데이터 패킷을 저장한다. 저장부(206)는 서비스 별로 각 서버들의 상태 정보를 저장할 수 있다. 저장부(206)는 통신부(204)에서 데이터 패킷이 주기적으로 수신되는 경우, 각 서버들의 상태 정보를 주기적으로 갱신할 수 있다.
질의 처리부(208)는 통신부(204)가 수신한 질의 요청에 포함된 도메인 정보 및 각 서버들의 상태 정보 중 적어도 하나를 이용하여 질의 요청을 처리한다. 구체적으로, 질의 처리부(208)는 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 각 서버들의 상태 정보를 이용하여 최소 부하를 가진 서버를 확인하고, 최소 부하를 가진 서버로 상기 질의 요청을 리다이렉션(Redirection)할 수 있다. 질의 처리부(208)는 최소 부하를 가진 서버가 서버(200) 자신인 경우, 질의 요청에 대응되는 작업을 수행하고 그 결과를 통신부(204)를 통해 클라이언트로 전송할 수 있다. 질의 처리부(208)는 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청이 다른 서버로부터 리다이렉션된 것으로 판단하여 상기 질의 요청에 대응되는 작업을 수행하고 그 결과를 통신부(204)를 통해 클라이언트로 전송할 수 있다. 즉, 질의 처리부(208)는 질의 요청에 해당 서비스의 대표 도메인 네임(FQDN)이 포함되어 있지 않은 경우는 상기 질의 요청에 해당 서버(200)의 개별 도메인 네임이 포함된 것으로 판단할 수 있다. 이때, 질의 처리부(208)는 상기 질의 요청에 대응되는 작업을 수행하게 된다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 부하 분산 시스템 102 : 서버
104 : 클라이언트 106 : DNS 서버
200 : 서버 202 : 패킷생성부
204 : 통신부 206 : 저장부
208 : 질의 처리부
104 : 클라이언트 106 : DNS 서버
200 : 서버 202 : 패킷생성부
204 : 통신부 206 : 저장부
208 : 질의 처리부
Claims (12)
- 서버에서, 하나 이상의 다른 서버들과 상태 정보를 상호 공유하는 단계;
상기 서버에서, 외부로부터 질의 요청을 수신하는 단계; 및
상기 서버에서, 상기 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션(Redirection)하는 질의 요청 처리 단계를 포함하는, 부하 분산 방법.
- 제1항에 있어서,
상기 질의 요청 처리 단계는,
상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계;
상기 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하는 단계; 및
상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션하는 단계를 더 포함하는, 부하 분산 방법.
- 제2항에 있어서,
상기 최소 부하를 가진 서버를 선택하는 단계 이후에,
상기 선택된 서버가 자기 자신인 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함하는, 부하 분산 방법.
- 제2항에 있어서,
상기 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계 이후에,
상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함하는, 부하 분산 방법.
- 제1항에 있어서,
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는,
서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 상기 다른 서버로 전송하는 단계; 및
상기 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하여 저장하는 단계를 포함하는, 부하 분산 방법.
- 제5항에 있어서,
상기 데이터 패킷을 상기 다른 서버로 전송하는 단계는,
상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버로 전송하는, 부하 분산 방법.
- 제5항에 있어서,
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는,
상기 데이터 패킷을 다른 서버로 주기적으로 전송하고, 주기적으로 수신한 다른 서버의 상태 정보를 갱신하는, 부하 분산 방법.
- 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 생성하는 패킷생성부;
상기 생성한 데이터 패킷을 하나 이상의 다른 서버들로 전송하고, 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하며, 외부로부터 질의 요청을 수신하는 통신부;
상기 수신한 다른 서버의 데이터 패킷을 저장하는 저장부; 및
상기 수신한 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션하는 질의 처리부를 포함하는, 서버.
- 제8항에 있어서,
상기 질의 처리부는,
상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션(Redirection)하는, 서버.
- 제8항에 있어서,
상기 질의 처리부는,
상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 선택된 서버가 자기 자신인 경우 상기 질의 요청에 대응되는 작업을 수행하는, 서버.
- 제8항에 있어서,
상기 질의 처리부는,
상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는, 서버.
- 제8항에 있어서,
상기 통신부는,
상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버들로 전송하는, 서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130130864A KR102043031B1 (ko) | 2013-10-31 | 2013-10-31 | 서버 및 이를 이용한 부하 분산 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130130864A KR102043031B1 (ko) | 2013-10-31 | 2013-10-31 | 서버 및 이를 이용한 부하 분산 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150049821A KR20150049821A (ko) | 2015-05-08 |
KR102043031B1 true KR102043031B1 (ko) | 2019-11-11 |
Family
ID=53387832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130130864A KR102043031B1 (ko) | 2013-10-31 | 2013-10-31 | 서버 및 이를 이용한 부하 분산 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102043031B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109803333B (zh) | 2017-11-17 | 2022-04-19 | 中兴通讯股份有限公司 | 偶联重定向方法及装置 |
US11290548B2 (en) | 2019-04-12 | 2022-03-29 | Samsung Electronics Co., Ltd. | Method and system for discovering edge-server or edge-service through domain name server (DNS) resolution |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944156B1 (ko) | 2008-10-21 | 2010-02-24 | 삼성에스디에스 주식회사 | 웹 서버 부하 분산 시스템 및 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101078484B1 (ko) * | 2004-08-30 | 2011-10-31 | 주식회사 케이티 | 부하를 고려한 네트워크 관리시스템 및 관리방법 |
KR100715674B1 (ko) | 2005-09-15 | 2007-05-09 | 한국전자통신연구원 | 부하 분산 방법 및 장치, 그리고 이를 이용한 소프트웨어스트리밍 시스템 |
US20100036903A1 (en) * | 2008-08-11 | 2010-02-11 | Microsoft Corporation | Distributed load balancer |
KR101135087B1 (ko) * | 2009-08-12 | 2012-04-16 | 삼성에스디에스 주식회사 | 콘텐츠 제공 시스템 및 방법 |
KR20130028554A (ko) * | 2011-09-09 | 2013-03-19 | 한미아이티 주식회사 | 메시지 버스를 이용한 대용량 분산 처리 장치 및 그 방법 |
-
2013
- 2013-10-31 KR KR1020130130864A patent/KR102043031B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944156B1 (ko) | 2008-10-21 | 2010-02-24 | 삼성에스디에스 주식회사 | 웹 서버 부하 분산 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20150049821A (ko) | 2015-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889914B2 (ja) | ロードバランサーコンポーネント間の状態の同期 | |
EP3100438B1 (en) | An anycast based, wide area distributed mapping and load balancing system | |
KR101467726B1 (ko) | 데이터 패킷 관련성에 대한 정보를 제공하고, 데이터 패킷을 전달하는 개념 | |
US8495170B1 (en) | Service request management | |
JP2017528832A5 (ko) | ||
CN106790340B (zh) | 一种链路调度方法及装置 | |
WO2015100487A1 (en) | Distributed multi-level stateless load balancing | |
CN106537880A (zh) | 在信息中心网络架构中缓存数据 | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
EP3278526B1 (en) | System, apparatus and method for load balancing | |
EP2594049B1 (en) | Sip-based call session server and message-routing method | |
CN113014611B (zh) | 一种负载均衡方法及相关设备 | |
EP3066575B1 (en) | Server network address selection based on network characteristics of service providers | |
KR20190012928A (ko) | 부하분산 장치 및 방법 | |
CN107547339B (zh) | 一种网关媒体接入控制mac地址反馈方法及装置 | |
CN103401799A (zh) | 负载均衡的实现方法和装置 | |
KR102043031B1 (ko) | 서버 및 이를 이용한 부하 분산 방법 | |
JP5871908B2 (ja) | ネットワーク内部のデータ通信を制御するための方法およびシステム | |
US7711780B1 (en) | Method for distributed end-to-end dynamic horizontal scalability | |
JP4962451B2 (ja) | 負荷分散方法およびdhcpサーバ装置 | |
JP2006209465A (ja) | 負荷分散システム、負荷分散装置、サーバ、負荷分散プログラム、及び負荷分散方法 | |
US20060291465A1 (en) | Method for broadcasting extensive multicast information, system and corresponding software product | |
Agache et al. | Cloudtalk: Enabling distributed application optimisations in public clouds | |
Manfredi et al. | Optimised balancing algorithm for content delivery networks | |
US20240113959A1 (en) | Instance-affine service scheduling |
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 |