KR102043031B1 - 서버 및 이를 이용한 부하 분산 방법 - Google Patents

서버 및 이를 이용한 부하 분산 방법 Download PDF

Info

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
Application number
KR1020130130864A
Other languages
English (en)
Other versions
KR20150049821A (ko
Inventor
조성면
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020130130864A priority Critical patent/KR102043031B1/ko
Publication of KR20150049821A publication Critical patent/KR20150049821A/ko
Application granted granted Critical
Publication of KR102043031B1 publication Critical patent/KR102043031B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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/02Standardisation; Integration
    • H04L41/024Standardisation; 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

서버 및 이를 이용한 부하 분산 방법{SERVER AND METHOD FOR LOAD BALANCING OF USING THE SAME}
본 발명의 실시예는 부하 분산 기술에 관한 것으로, 보다 상세하게는 서버 및 이를 이용한 부하 분산 방법에 관한 것이다.
기존의 서버 부하 분산 구조를 살펴보면, 서비스를 제공하는 서버들의 전단에 트래픽 분배기가 존재한다. 이때, L4 스위치, L7 스위치, 및 프록시 서버 등이 트래픽 분배기의 역할을 하게 된다. 트래픽 분배기는 서비스를 제공하는 서버들의 동작 여부를 체크하고, 필요에 따라 각 서버들의 상태 정보를 수집하여 적절한 알고리즘을 통해 트래픽을 분배하게 된다. 그러나, 트래픽 분배기가 존재하는 경우, 트래픽 분배기도 이중화 하여야 하기 때문에 전체 시스템 구성이 복잡해지게 된다. 그리고, 서비스를 제공하는 서버가 추가되거나 제거되는 경우 그때마다 트래픽 분배기의 설정을 변경해주어야 하는 번거로움이 있다.
한국등록특허공보 제10-0715674호(2007.05.09)
본 발명의 실시예는 별도의 트래픽 분배기 없이 부하 분산을 수행하는 서버 및 이를 이용한 부하 분산 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 부하 분산 방법은, 서버에서, 상기 서버와 대표 도메인 네임(Fully Qualified Domain Name :FQDN)을 공유하는 하나 이상의 다른 서버들과 상태 정보를 상호 공유하는 단계; 상기 서버에서, 외부로부터 질의 요청을 수신하는 단계; 및 상기 서버에서, 상기 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션(Redirection)하는 질의 요청 처리 단계를 포함한다.
상기 질의 요청 처리 단계는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계; 상기 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하는 단계; 및 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션하는 단계를 더 포함할 수 있다.
상기 최소 부하를 가진 서버를 선택하는 단계 이후에, 상기 선택된 서버가 자기 자신인 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함할 수 있다.
상기 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계 이후에, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함할 수 있다.
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는, 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 상기 다른 서버로 전송하는 단계; 및 상기 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하여 저장하는 단계를 포함할 수 있다.
상기 데이터 패킷을 상기 다른 서버로 전송하는 단계는, 상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버로 전송할 수 있다.
상기 다른 서버들과 상태 정보를 상호 공유하는 단계는, 상기 데이터 패킷을 다른 서버로 주기적으로 전송하고, 주기적으로 수신한 다른 서버의 상태 정보를 갱신할 수 있다.
본 발명의 일 실시예에 따른 서버는, 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 생성하는 패킷생성부; 상기 생성한 데이터 패킷을 대표 도메인 네임(FQDN)을 공유하는 하나 이상의 다른 서버들로 전송하고, 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하며, 외부로부터 질의 요청을 수신하는 통신부; 상기 수신한 다른 서버의 데이터 패킷을 저장하는 저장부; 및 상기 수신한 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션하는 질의 처리부를 포함한다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션(Redirection)할 수 있다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 선택된 서버가 자기 자신인 경우 상기 질의 요청에 대응되는 작업을 수행할 수 있다.
상기 질의 처리부는, 상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행할 수 있다.
상기 통신부는, 상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버들로 전송할 수 있다.
본 발명의 실시예에 의하면, 각 서버들 간에 상태 정보를 공유함으로써, 별도의 트래픽 분배기 없이도 부하 분산을 수행할 수 있게 된다. 그로 인해, 부하 분산을 위한 시스템 구성이 단순해지고 서버의 변경, 추가, 삭제 시에도 그에 따른 설정 변경 작업이 필요 없게 된다.
도 1은 본 발명의 일 실시예에 따른 서버를 이용하여 부하 분산 동작이 이루어지는 과정을 나타낸 도면.
도 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 : 질의 처리부

Claims (12)

  1. 서버에서, 하나 이상의 다른 서버들과 상태 정보를 상호 공유하는 단계;
    상기 서버에서, 외부로부터 질의 요청을 수신하는 단계; 및
    상기 서버에서, 상기 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션(Redirection)하는 질의 요청 처리 단계를 포함하는, 부하 분산 방법.
  2. 제1항에 있어서,
    상기 질의 요청 처리 단계는,
    상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계;
    상기 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하는 단계; 및
    상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션하는 단계를 더 포함하는, 부하 분산 방법.
  3. 제2항에 있어서,
    상기 최소 부하를 가진 서버를 선택하는 단계 이후에,
    상기 선택된 서버가 자기 자신인 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함하는, 부하 분산 방법.
  4. 제2항에 있어서,
    상기 대표 도메인 네임이 포함되어 있는지 여부를 확인하는 단계 이후에,
    상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는 단계를 더 포함하는, 부하 분산 방법.
  5. 제1항에 있어서,
    상기 다른 서버들과 상태 정보를 상호 공유하는 단계는,
    서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 상기 다른 서버로 전송하는 단계; 및
    상기 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하여 저장하는 단계를 포함하는, 부하 분산 방법.
  6. 제5항에 있어서,
    상기 데이터 패킷을 상기 다른 서버로 전송하는 단계는,
    상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버로 전송하는, 부하 분산 방법.
  7. 제5항에 있어서,
    상기 다른 서버들과 상태 정보를 상호 공유하는 단계는,
    상기 데이터 패킷을 다른 서버로 주기적으로 전송하고, 주기적으로 수신한 다른 서버의 상태 정보를 갱신하는, 부하 분산 방법.
  8. 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 생성하는 패킷생성부;
    상기 생성한 데이터 패킷을 하나 이상의 다른 서버들로 전송하고, 다른 서버로부터 해당 서버의 서버 식별 정보 및 상태 정보를 포함하는 데이터 패킷을 수신하며, 외부로부터 질의 요청을 수신하는 통신부;
    상기 수신한 다른 서버의 데이터 패킷을 저장하는 저장부; 및
    상기 수신한 질의 요청에 포함된 도메인 정보 및 상기 상태 정보 중 적어도 하나를 이용하여 상기 질의 요청에 대응되는 작업을 수행하거나 상기 질의 요청을 다른 서버로 리다이렉션하는 질의 처리부를 포함하는, 서버.
  9. 제8항에 있어서,
    상기 질의 처리부는,
    상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 상기 질의 요청을 상기 선택된 최소 부하를 가진 다른 서버로 리다이렉션(Redirection)하는, 서버.
  10. 제8항에 있어서,
    상기 질의 처리부는,
    상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있는 경우, 상기 상태 정보를 이용하여 최소 부하를 가진 서버를 선택하고, 선택된 서버가 자기 자신인 경우 상기 질의 요청에 대응되는 작업을 수행하는, 서버.
  11. 제8항에 있어서,
    상기 질의 처리부는,
    상기 질의 요청에 해당 서비스의 대표 도메인 네임이 포함되어 있지 않은 경우, 상기 질의 요청에 대응되는 작업을 수행하는, 서버.
  12. 제8항에 있어서,
    상기 통신부는,
    상기 데이터 패킷을 멀티캐스트 방식으로 상기 다른 서버들로 전송하는, 서버.
KR1020130130864A 2013-10-31 2013-10-31 서버 및 이를 이용한 부하 분산 방법 KR102043031B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100944156B1 (ko) 2008-10-21 2010-02-24 삼성에스디에스 주식회사 웹 서버 부하 분산 시스템 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 한미아이티 주식회사 메시지 버스를 이용한 대용량 분산 처리 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
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