KR100984384B1 - 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물 - Google Patents

클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물 Download PDF

Info

Publication number
KR100984384B1
KR100984384B1 KR1020077026003A KR20077026003A KR100984384B1 KR 100984384 B1 KR100984384 B1 KR 100984384B1 KR 1020077026003 A KR1020077026003 A KR 1020077026003A KR 20077026003 A KR20077026003 A KR 20077026003A KR 100984384 B1 KR100984384 B1 KR 100984384B1
Authority
KR
South Korea
Prior art keywords
network devices
cluster
address
network
domain name
Prior art date
Application number
KR1020077026003A
Other languages
English (en)
Other versions
KR20080005539A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37087399&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100984384(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20080005539A publication Critical patent/KR20080005539A/ko
Application granted granted Critical
Publication of KR100984384B1 publication Critical patent/KR100984384B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • 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/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • 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/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Abstract

본 발명은 도메인 네임을 공유하고 그 도메인을 위한 권위적 네임 서버로서 기능하는 장치들의 클러스터를 제공한다. 클러스터 내의 각 장치 또는 노드는 클러스터 내의 모드 노드들이 모든 나머지 노드들의 상태 정보를 인식할 수 있도록, 전형적으로 되풀이하여 그 클러스터 내의 모든 나머지 노드들에게 알릴 것이다. 클러스터 내의 노드들 중의 하나는 마스터 노드로서 지정될 것이다. 마스터 노드는 권위적 네임 서버로서 IP 주소를 할당받을 것이고, 그로서 마스터 노드는 그 도메인을 위한 DNS 질의들을 수신할 것이다. 마스터 노드는 노드들 상의 부하를 조절하기 위해 노드들 각각의 상태 정보를 사용하여, DNS 질의의 결과로서 클라이언트와 통신하기 위한 클러스터 내의 노드들 중의 하나를 선택할 수 있다. 마스터 노드는 선택된 노드의 IP 주소를 전달할 것이다.

Description

클러스터 노드들을 권위적 도메인 네임 서버들로서 사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치, 방법, 및 컴퓨터 프로그램 생성물{System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers}
본 발명은 일반적으로 도메인 네임 서버들에 관련되고, 좀더 자세히는 권위적(authoritative) 도메인 네임 서버들로서 클러스터 노드(clustered node)들을 사용하기 위한 시스템들, 단말기들, 및 방법들에 관련된다.
인터넷에 접속되는 각 장치는 인터넷상의 특정 네트워크 및 특정 장치를 식별하는 숫자 식별자(e.g., 66.192.134.111)인 IP 주소에 의해 식별된다. 도메인 네임 서버(DNS)는 www.xyz-news.com와 같은 인터넷 도메인 네임들을 IP 주소와 연관시키기 위해 사용된다. DNS는 IP 주소들보다 쉽게 기억되는 도메인 네임들을 사용하여 사용자들(클라이언트들)이 인터넷에 접속된 다른 장치들(호스트들)에 액세스하도록 한다. 전형적인 DNS 아키텍처에서, 사용자는 특정 도메인 네임에 액세스하기 위한 요구(DNS 질의(query)라고 지칭)를 사용자의 인터넷 서비스 제공자(Internet service provider, ISP)에 의해 제공된 네임 서버로 송신한다. ISP 네임 서버는 각 도메인 네임과 대응하는 IP 주소 간의 상호 참조(cross-reference)를 포함한다. ISP 네임 서버 내에 포함된 대응하는 IP 주소는 전형적으로 도메인 소유자에 의해 제공된 권위적 네임 서버(authoritative name server, ANS)의 IP 주소이다. ANS는 정보를 제공하거나 서비스들을 제공하기 위해 도메인 소유자에 의해 제공된 호스트 장치(들)의 IP 주소(들)를 포함한다. 이런 호스트 장치들은 예를 들어, 웹 서버들, 메일 서버들, 또는 VPN(가상 사설 네트워크) 게이트웨이들일 수 있다. ISP 네임 서버는 DNS 질의를 도메인의 ANS에게 송신한다. ANS은 적절한 IP 주소를 ISP 네임서버에게 반송하고(return), 차례로 ISP 네임 서버는 IP주소를 클라이언트에게 송신해서, 클라이언트가 호스트 장치와 인터넷을 통해 직접적으로 통신할 수 있게 한다(클라이언트와 호스트 장치 간의 통신은 애플리케이션 접속이라고 지칭될 수 있음). ANS는 정보 또는 서비스들을 클라이언트에게 제공하는 호스트 장치(들)과 별개의 장치이다.
하나의 도메인 네임이 각 IP주소가 서로 다른 호스트 장치에 대응하는, 다수의 IP 주소들을 참조할 수 있다. 예를 들어, 웹사이트 www.xyz- news.com는 정보에 대한 수많은 요구들을 수신할 수 있고 동시에 수많은 클라이언트들과의 통신을 필요로 할 수 있다. www.xyz-news.com 도메인의 제공자들은 도메인들이 수신하는 수많은 통신 트래픽을 처리하기 위해, 각각이 동일한 정보를 호스팅하는 4개의 웹 서버들을 사용할 수 있다. 이런 상황에서, ANS는 4개의 장치들의 IP 주소들을 ISP 네임 서버로 송신할 수 있고, ISP 네임 서버가 어떤 하나의 IP 주소를 클라이언트로 송신할지를 선택하도록 허용할 수 있다. 좀더 전형적으로는, ANS는 ISP 네임 서버로 송신할 4개의 IP 주소들 중의 하나를 선택할 것이고, ISP 네임 서버는 그 하나 의 주소를 클라이언트에게 송신할 것이다.
동일한 정보 또는 서비스들을 제공하는 다중 장치들을 갖는 목적은 다중 장치들을 통해 애플리케이션 접속(application connection)들을 분배함으로써 많은 애플리케이션 접속들을 효율적으로 처리하기 위한 것일 수 있다. 이것은 부하 조절(load balancing)이라고 지칭될 수 있다. 다중 장치들을 통해 부하를 조절하기 위해서, ANS는 전형적으로 하나의 호스트가 모든 애플리케이션 접속들을 처리해야하는 것을 막기 위해 서로 다른 DNS 질의들에 응답하여 서로 다른 호스트 장치들의 IP 주소들을 송신하는 기술을 사용한다. 하나의 알려진 부하 조절 DNS 질의들의 기술은 순환 순서 방식(round-robin)으로 지칭된다. DNS 순환 순서 방식에서, ANS는 다중 장치들의 IP 주소들의 미리 정의된, 정적(static) 리스트를 보존하고, 각각의 연속하는 DNS 질의가 수신됨에 따라 그 정적 리스트를 통해 순환한다. 예를 들어, 도메인 제공자가 4개의 장치들을 사용하고, 그 4개의 장치들은 10.0.0.1, 10.0.0.2, 10.0.0.3, 및 10.0.0.4인 4개의 IP 주소들을 각각 갖는 위의 예를 고려한다. ISP 네임 서버로부터 제1 DNS 질의가 수신되었을 때, ANS는 IP 주소 10.0.0.1를 반송한다. ISP 네임 서버로부터 제2 DNS 질의가 수신되었을 때, ANS는 IP 주소 10.0.0.2를 반송한다. ISP 네임 서버로부터 제3 DNS 질의가 수신되었을 때, ANS는 IP 주소 10.0.0.3를 반송한다. ISP 네임 서버로부터 제4 DNS 질의가 수신되었을 때, ANS는 IP 주소 10.0.0.4를 반송한다. ISP 네임 서버로부터 제5 DNS 질의가 수신되었을 때, ANS는 IP 주소 10.0.0.1를 반송한다. ANS는 DNS 질의들이 수신됨에 따라 4개의 IP 주소들의 정적 리스트를 통해 순환을 계속할 수 있다.
분리된 ANS에 의해 실행되는 DNS 순환 순서 방식 기술은 몇몇의 단점들을 가진다. 정적 리스트에서 참조되는 장치들 중의 하나가 이용할 수 없게 된다면, ANS는 전형적으로 DNS 질의들에 응답하여 장치 IP 주소를 반송하는 것을 계속할 것이고, 따라서 클라이언트가 비가용 장치와의 접속을 시도하게 한다. 정적 리스트는 실패한(failed) 장치의 IP주소를 제거하기 위해 수동으로 변경되어야 할 것이다. 새로운 장치가 추가된다면(예를 들어 증가된 수의 애플리케이션 접속들을 처리하기 위해서임), 정적 리스트는 새로운 장치 IP 주소를 추가하기 위해 수동으로 변경되어야 할 것이다. DNS 순환 순서 방식 기술은 다중 장치들을 통해 애플리케이션 접속들을 분배하나, 특정 장치로의 특정 접속의 지속기간 또는 특정 접속이 특정 장치에 부과할 수 있는 상대적 부담을 고려하지 않는다. 이와 같이, DNS 순환 순서 방식 기술은 어떤 상황들에서는 충분한 부하 조절을 제공할 수 없다. 위의 예에서, 장치 1의 IP 주소를 제공받은 클라이언트들이 장치 1로부터 재빨리 정보를 수신한 후 접속들을 종결했으나, 장치 2의 IP 주소를 제공받은 클라이언트들은 데이터의 광범위한 전송들을 수행한다면, 장치 2의 부하는 장치 1의 부화를 상당히 초과할 수 있다. 그러나, DNS 순환 순서 방식 기술은 장치 2상의 더 큰 부하에 불구하고, 매 4번째 DNS 질의마다 장치 2의 IP 주소를 반송하는 것을 계속할 것이다.
이와 같이, 쉽게 장치들의 추가 또는 삭제를 조정할 수 있고 각 장치상의 상대적 부하에 근거한 트래픽을 동적으로 분배할 수 있는 다중 장치들을 통한 IP 트래픽 부하 조절 기술에 대한 필요가 존재한다.
일반적으로 설명된 것과 같이, 본 발명의 실시 예들은 장치들의 클러스터가 도메인 네임을 공유하고 도메인을 위한 권위적 네임 서버로서 기능하는 수단을 제공함으로써 종래 기술에 비해 개선들을 제공한다. 도메인 네임 클러스터 내의 각 장치 또는 노드는 클러스터 내의 모드 노드들이 그 클러스터 내의 모든 나머지 노드들의 상태 정보를 인식할 수 있도록, 되풀이하여 네트워크상에서의 각 장치의 존재, 현재 부하 퍼센티지, 액티브 접속들의 수, IP 주소와 같은, 상태(status) 정보를 그 클러스터 내의 모든 나머지 노드들에게 알릴 것이다. 클러스터 내의 노드들 중의 하나는 마스터 노드로서 지정될 것이다. 마스터 노드는 그 도메인을 위한 권위적 네임 서버의 IP 주소를 할당받을 것이고, 그로서 마스터 노드는 그 도메인을 위한 DNS 질의들을 수신할 것이다. 마스터 노드는 노드들의 부하를 조절하기 위해 각 노드들의 상태 정보를 사용하여, DNS 질의의 결과로서 클라이언트와 통신하기 위한 클러스터 내의 노드들 중의 하나(마스터 노드 자신도 포함)를 선택할 것이다. 마스터 노드는 노드들에의 부하를 조절하기 위해 복수의 서로 다른 알고리즘들을 사용할 수 있다. 마스터 노드는 선택된 노드의 IP 주소를 ISP 네임 서버에게 전달할 것이다.
이런 관점에서, 네트워크 장치들의 클러스터의 하나를 권위적 도메임 네임 서버로서 사용하여 액티브 부하 조절을 실행하는 시스템은 클러스터 내에 그룹화된 복수의 네트워크 장치들을 포함한다. 각 네트워크 장치는 서로 다른 각각의 장치 인터넷 프로토콜(IP) 주소를 가질 수 있다. 네트워크 장치들 중 하나는 마스터 장치로서 지정될 수 있고, 그 마스터 장치는 권위적 도메인 네임 서버로서 IP 주소를 할당받는다. 각 네트워크 장치는 상태 정보를 적어도 클러스터 내의 마스터 장치에게 전달할 수 있다. 마스터 장치는 클라이언트 요구에 기초한 도메인 네임 서비스(domain name service, DNS) 질의를 수신할 수 있고, 각 네트워크 장치들의 상태 정보에 기초해 클라이언트와 통신할 네트워크 장치들 중 하나를 선택하고, DNS 질의에 응답하여 네트워크 장치들 중의 선택된 하나의 네트워크 장치의 장치 IP 주소를 반송한다.
일실시 예에서, 각 네트워크 장치는 네트워크 장치의 존재, 부하 퍼센티지, 액티브 접속들의 수, 및 장치 IP 주소를 포함하는 그룹으로부터 상태 정보를 선택한다. 마스터 장치는 미리 정의된 부하 조절 알고리즘에 따라 네트워크 장치들 중의 하나를 선택할 수 있다.
일실시 예에서, 시스템은 클러스터 내에 그룹화된 추가의 네트워크 장치를 더 포함할 수 있다. 그 후에 추가의 네트워크 장치가 클라이언트와 통신하기 위한 선택에서 고려될 수 있도록 추가의 네트워크 장치는 적어도 클러스터 내의 마스터 장치와 상태 정보를 통신할 수 있다.
권위적 도메인 네임 서버 IP 주소가 그 다른 지정된 마스터 장치로 전송될 수 있도록, 다른 네트워크 장치가 마스터 장치로서 지정될 수 있다.
위에서 설명된 것과 같이 권위적 도메인 네임 서버들로서 클러스터된 네트워크 장치들을 사용하여 액티브 부하 조절을 수행하기 위한 시스템에 추가하여, 본 발명의 다른 양상들이 권위적 도메인 네임 서버로서 네트워크 장치들의 클러스터 중의 하나를 사용하여 액티브 부하 조절을 수행하기 위한 대응하는 네트워크 장치들, 방법들, 및 컴퓨터 프로그램 생성물들로 향하게 된다.
이와 같이, 일반 용어들로 본 발명을 설명한 후, 지금 반드시 확대 조절하여 도시되진 않은 첨부된 도면들에 참조가 주어질 것이다.
도 1은 본 발명의 일실시 따라, 권위적 도메인 네임 서버들로서, 클러스터 노드들을 사용하여 액티브 부하 조절을 수행할 수 있는 시스템의 개략적인 블록도.
도 2는 본 발명의 실시 예에 따른, 단말기, PDSN, 서버, 프록시, 및/또는 DNS 서버로서 동작할 수 있는 엔티티의 개략적인 블록도.
도 3은 본 발명의 일 실시 예에 따른 권위적 도메인 네임 서버들로서 클러스터 노드들을 사용하여 액티브 부하 조절을 수행하는 방법의 흐름도.
본 발명은 이제부터 본 발명의 바람직한 실시 예가 도시된, 첨부된 도면들을 참조하여 아래에서 좀더 충분히 설명될 것이다. 그러나 본 발명은 많은 서로 다른 형태들로 구체화될 수 있고 본원에 제시된 실시 예들에 제한되어 해석되어서는 안되고; 그보다는, 이 개시가 면밀하고 완전하고, 본 발명의 범위가 당업자에게 충분히 전달될 수 있도록 이런 실시 예들이 제공된 것이다. 동일한 참조 번호들을 전체에 걸쳐서 동일한 엘리먼트들을 나타낸다.
도 1을 참조하면, 본 발명의 실시 예들에 따른 권위적 도메인 네임 서버들로서 클러스터된 네트워크 장치들 또는 노드들을 사용하여 액티브 부하 조절을 수행할 수 있는 시스템의 개략적인 블록도가 도시된다. 네트워크 장치들의 클러스터들 의 개념은 미국 특허 제6,006,259호, Adelman et al., Method and Apparatus for an Internet Protocol (IP) Network Clustering System에 설명되어 있고, 그 개념들은 본원에 전체로서 병합된다.
도 1의 시스템은 4개의 네트워크 장치들(또는 노드들)(12, 14, 16, 18)로 된 클러스터(10), 3개의 클라이언트 단말기들(24), 및 ISP 네임 서버(22)를 포함하고, 모두 인터넷(20)에 연결되고, 모두 도 2처럼 구성될 수 있다. 노드들(12, 14, 16, 18)은 예를 들어 웹 서버들 또는 VPN 게이트웨이들일 수 있다. 클라이언트 단말기들(24)은 어떤 다수의 서로 다른 단말기들, 시스템들, 장치들 등을 포함할 수 있고, 이동 단말기이든 아니든, 예를 들어, 퍼스널 컴퓨터, 퍼스널 워크스테이션, 이동 전화, PDA(portable digital assistant), 페이퍼, 랩톱 컴퓨터 또는 스마트 카드를 포함한다. 클라이언트 단말기들은 전형적으로 셀룰러 네트워크 또는 LAN(local area network)과 같은 다양한 액세스 네트워크들을 통해, 인터넷(20)에 접속된 다음, 도메인에 접속될 것이다.
클러스터 내의 모든 노드들은 전형적으로 기능적으로 동일하다. 예를 들어 노드들(12, 14, 16, 18)은 임의의 클라이언트 단말기가 임의의 노드로 향할 수 있고 클라이언트 단말기가 액세스하는 노드에 상관없이 동일한 정보에 액세스할 수 있도록, 모두 동일한 정보를 호스팅하는 웹 서버들일 수 있다. 4개의 노드가 설명의 목적들로 도 1에 도시되지만, 클러스터는 어떤 수의 노드들도 포함할 수 있다.
각 노드는 서로 다른 IP 주소를 갖지만 동일한 도메인 네임을 공유한다. 추가로, 하나의 노드가 마스터 노드로서 지정되고, 그 도메인에 대한 모든 DNS 질의 들이 마스터 노드에 의해 수신되도록, 그 도메인을 위한 ANS의 IP 주소를 할당받는다. 클러스터 내의 임의의 노드가 일반적으로 마스터 노드로서 기능할 수 있다. 마스터 노드 책임이 클러스터 내의 하나의 노드로부터 클러스터 내의 다른 하나의 노드로 전가된다면, 이전 마스터 노드가 더 이상 ANS IP 주소를 할당받지 않고 새로운 마스터 노드가 ANS IP 주소를 할당받도록 마스터 노드 책임에 따라서 전가된다.
클라이언트 단말기(24)가 클러스터의 도메인에 접속하기를 원한다면, 도메인 네임은 클라이어트 단말기에 의해 특정된다. 설명된 실시 예에서, 도메인 네임을 내포하는 DNS 질의가 인터넷(20)을 통해 ISP 네임 서버로 송신된다. ISP 네임 서버(22)는 도메인 네임들의 상호 참조(cross-reference) 테이블 및 각 도메인 네임에 연관된 ANS의 IP 주소들을 갖는다. ISP 네임 서버(22)는 인터넷(20)을 통해 DNS 질의를 특정 도메인의 ANS IP주소로 송신한다. 마스터 노드가 ANS IP 주소를 할당받았기 때문에, DNS 질의는 마스터 노드에 의해 수신된다. DNS 질의가 전형적인 분리된 ANS에 의해서라기 보다, ANS로서 기능하는 클러스터의 마스터 노드에 의해 수신되는 것은 클라이언트 단말기(24) 및 ISP 네임 서버(22)에게 명백하다. 이와 같이, 어떤 변경들도 기존의 DNS 질의 프로세스에 필요하지 않다.
클러스터(10) 내의 각 노드는 되풀이하여 상태 정보를 클러스터 내의 모든 나머지 노드들에게 알려서 클러스터 내의 모든 노드들이 클러스터 내의 모든 나머지 노드들의 상태 정보를 알 수 있게 한다. 대안적으로, 각 노드는 상태 정보를 마스터 노드에게만 유니캐스트할 수 있고, 또는 마스터 노드는 상태 정보를 얻기 위해 나머지 노드들에게 폴링할(poll) 수 있다. 이런 상태 정보는 예를 들어, 네트워 크상에서의 노드 존재, 노드의 현재 부하 퍼센티지, 노드에 의해 지원되는 액티브 접속들의 수, 노드들의 IP 주소를 포함할 수 있다. 각 노드에 의한 상태 정보의 알림은 예를 들어 초마다 한 번씩 되풀이하여 생긴다. 상태 정보는 멀티캐스트 패킷 프로토콜을 사용하여 송신될 수 있다. 마스터 노드가 DNS 질의를 수신했을 때, 마스터 노드는 DNS 질의의 결과로서 클라이언트 단말기와 통신할 클러스터 내의 노드들 중의 하나를 선택할 것이다. 마스터 노드 기능이 클러스터 내의 노드들 중의 하나에 의해 수행되기 때문에, 마스터 노드는 DNS 질의에 응답하여 클라이언트 단말기와 통신할 장치로서 자신을 선택할 수 있다. 마스터 노드는 각 노드들의 상태 정보를 동적으로 노드들 상의 부하를 조절하기 위해 사용한다. 많은 서로 다른 알고리즘들이 마스터 노드에 의해 노드들 상의 부하를 조절하기 위해 사용될 수 있다. 마스터 노드는 가중된(weighted) 순환 순서 방식 알고리즘을 사용할 수 있고, 이 알고리즘에서 DNS 질의들은 전형적으로 순환 순서 방식으로 각 노드에 순서대로 라우팅될 수 있으나, 어떤 노드들에 다른 노드들보다 더 심하게 부하가 지워지면 순서를 지키지 않고 라우팅될 수 있다. 예를 들어, 각 노드가 부하 퍼센티지를 알리고 노드 #3의 부하 퍼센티지가 나머지 노드들의 평균 부하 퍼센티지보다 높은 미리 정의된 퍼센티지 이상이라면, 마스터 노드는 노드 #3의 부하 퍼센티지가 나머지 노드들의 평균 부하 퍼센티지의 미리 정의된 퍼센티지 내의 레벨로 감소할 때까지 새로운 DNS 질의들에 응답하여 노드 #3의 IP 주소를 송신하는 것을 중지할 수 있다. 대안적으로 각 노드가 액티브 접속들의 수를 알리고 노드 #4의 액티브 접속들의 수가 나머지 노드들의 평균 액티브 접속들의 수보다 높은 미리 정의된 퍼센티지 이상이라면, 마스터 노드는 노드 #4의 액티브 접속들의 수가 나머지 노드들의 평균 액티브 접속들의 수의 미리 정의된 퍼센티지 내의 레벨로 감소할 때까지 새로운 DNS 질의에 응답하여 노드 #4의 IP 주소를 송신하는 것을 중지할 수 있다.
마스터 노드가 DNS 질의의 결과로서 클라이언트 단말기와 통신할 노드들 중의 하나를 선택한 후에, 마스터 노드는 선택된 노드의 IP 주소를 ISP 네임 서버로 전달할 것이다. 클라이언트 단말기가 선택된 노드와 직접 통신할 수 있도록, ISP 네임 서버는 선택된 노드의 IP주소를 클라이언트 단말기로 전달할 것이다. 선택된 노드의 IP 주소가 전형적인 분리된 ANS에 의해서라기 보다, ANS로서 기능하는 클러스터의 마스터 노드에 의해 제공되는 것은 클라이언트 단말기(24) 및 ISP 네임 서버(22)에게 명백하다.
클러스터된 네트워크 장치들 또는 노드들을 권위적 도메인 네임 서버들로서 사용하여 액티브 부하 조절을 수행할 수 있는 도 1의 시스템은 위에서 설명된 동적 부하 조절에 추가하여, IP 주소들의 정적 리스트를 통해 분리된 ANS 사이클링(cycling) 순환 순서 방식을 사용하는 알려진 시스템을 상회하는 몇몇 이점들을 제공한다. 도 1의 실시 예의 시스템은 새로운 노드들이 구성 변경들을 요구함이 없이 클러스터에 추가될 수 있도록 동적 크기조정(scaling)을 허용한다. 새로운 노드가 클러스터에 추가되면, 새로운 노드는 자신의 존재를 그 클러스터 내의 나머지 노드들에게 알리고 인증(authentication) 절차가 수행된다. 새로운 노드가 인증되면, 마스터 노드는 마스터 노드에 의한 적절한 부하 조절 알고리즘이 사용될 때마다, DNS 질의들에 응답하기 위해 새로운 노드의 IP 주소의 사용을 시작할 것이다.
도 1의 시스템은 노드의 실패(failure) 때문에 또는 노드가 보수 관리(maintenance)를 위해 제거되기 때문에, 클러스터로부터의 노드들의 삭제에 동적으로 대응할 수 있다. 노드가 실패하면, 그 노드는 더 이상 상태 정보를 나머지 노드들에게 알리지 않을 것이다. 마스터 노드가 그 실패 노드로부터 상태 정보를 수신하지 않기 때문에, 마스터 노드는 DNS 질의들에 응답하여 실패한 노드의 IP 주소를 송신하는 것을 중지할 것이다. 실패 노드들과 함께 존재하는 클라이언트 단말기 접속들이 무엇이든지 노드가 실패할 때 종결될 것이나, 클라이언트 단말기들에 의한 그 실패 노드와의 어떤 새로운 접속들도 시도되지 않을 것이다.
노드가 보수 관리를 위해 제거될 필요가 있다면, 그 노드는 클러스터로부터 제거되나 그 제거된 노드와의 어떤 기존의 클라이언트 단말기 접속들도 유지되지 않는다. 위와 같이, 제거된 노드는 더 이상 나머지 노드들에게 상태 정보를 알리지 않을 것이다. 마스터 노드가 제거된 노드로부터 상태 정보를 수신하지 않기 때문에, 마스터 노드는 DNS 질의들에 응답하여 제거된 노드의 IP 주소를 송신하는 것을 중지할 것이다. 클라이언트 단말기들에 의해 모든 기존의 클라이언트 단말기 접속들이 종결될 때, 예컨대 각 세션의 자연 만기에 따라, 제거된 노드는 유휴 상태(idle)가 될 거나 보수 관리가 수행될 것이다. 대안적으로, 보수 관리를 위해 제거된 노드에 대한 액티브 접속들이 다른 노드로 전송될 수 있다.
본 발명의 대안적인 실시 예에서, 본 발명에 따른 시스템은 더 높은 레벨의 도메인을 위한 분리된 ANS(26)를 포함할 수 있고, 그 분리된 ANS은 더 낮은 레벨의 도메인을 위한 DNS 질의들을 애플리케이션 접속들을 처리하고 그 더 낮은 레벨의 도메인을 위한 ANS로서 기능하는 장치들의 클러스터로 다시 향하게 한다(redirect). 예를 들어, 클라이언트 단말기(24)는 도메인 www.finance.xyz-news.com로의 접속을 요구할 수 있다. ISP 네임 서버는 전형적으로 더 높은 레벨의 도메인(i.e., xyz-news.com)에 의존하여 그 도메인을 위한 ANS를 결정할 것이다. ISP 네임 서버(22)가 DNS 질의를 분리된 ANS(26)로 송신하도록, 더 높은 레벨의 도메인을 위한 ANS는 분리된 ANS(26)일 수 있다. 분리된 ANS(26)는 전형적으로 전체 도메인 네임(www.finance.xyz-news.com)에 의존하여 클러스터(10)가 더 낮은 레벨의 도메인을 위한 ANS로서 작용하는지 결정한다. 분리된 ANS(26)는 이때 전형적으로 DNS 질의가 클러스터(10)로 송신되어야 한다고 표시하기 위해 ISP 네임 서버로 재지시(re-direct) 메시지를 송신할 것이다. 재지시 메시지에 응답하여, ISP 네임 서버는 DNS 질의를 클러스터(10)로 송신할 것이다. 클러스터(10)는 위에서 설명된 것과 같이 요구된 애플리케이션 접속을 처리기 위한 적절한 노드를 결정할 것이고 그 노드의 IP 주소를 ISP 네임 서버로 송신할 것이다.
이제부터 도 2를 참조하면, 클라이언트 단말기(24), 노드(12) 및/또는 네임 서버(22)를 동작시킬 수 있는 엔티티(entity)의 블록도가 본 발명의 실시 예에 따라 도시된다. 별개의 엔티티들로 도시되었지만, 어떤 실시 예들에서, 하나 이상의 엔티티들이 엔티티(들) 내에서 논리적으로는 별개지만 함께 위치한, 하나 이상의 클라이언트 단말기, 노드 및/또는 네임 서버를 지원할 수 있다. 도시된 바와 같이, 클라이언트 단말기, 노드, 및/또는 네임 서버로서 동작할 수 있는 엔티티는 일반적으로, 엔티티의 동작을 제어하기 위해, 메모리(34)에 연결된 프로세서(32)와 같은 수단을 포함할 수 있다. 메모리는 휘발성 및/또는 비-휘발성 메모리를 포함할 수 있고, 전형적으로는, 콘텐츠, 데이터 등을 저장할 수 있다. 예를 들어, 메모리는 전형적으로, 엔티티로부터 전송되고 엔티티에 의해 수신되는 콘텐츠를 저장할 수 있다. 또한, 예를 들어, 메모리는 전형적으로 본 발명의 실시 예들에 따른 엔티티의 동작에 연관된 단계들을 수행하는 프로세서를 위한 소프트웨어 애플리케이션들, 명령들 등을 저장할 수 있다.
프로세서(32)는 또한 데이터, 콘텐츠 등을 전송하고/또는 수신하기 위한 하나 이상의 인터페이스(36) 또는 다른 수단에 연결될 수 있다. 인터페이스(들)는 어떤 하나 이상의 다수의 서로 다른 통신 기술들에 관련된 통신 수단을 포함할 수 있다. 이에 관해서, 인터페이스(들)는 어떤 다수의 유선 및/또는 무선 통신 기술들에 관련된 통신 수단을 포함할 수 있다. 예를 들어, 인터페이스들은 일반적으로 RF 통신 기술에 따라 통신할 수 있는 RF 모듈을 포함할 수 있고, 좀더 자세히는 블루투스, WLAN 및/또는 UWB 통신 기술 각각에 따라 통신할 수 있는 블루투스 모듈, WLAN 모듈 및/또는 UWB 모듈을 포함할 수 있다. 추가적으로 또는 대안적으로, 인터페이스들은 1G, 2G, 2.5G 및/또는 3G 통신 기술들에 따라 통신하는 수단을 포함할 수 있다.
이제부터 도 3을 참조하면, 권위적 도메인 네임 서버들로서 클러스터 노드들을 사용하여 액티브 부하 조절을 수행하는 방법의 흐름도가 본 발명의 일실시 예에 따라 도시된다. 복수의 네트워크 장치들 또는 노드들이 전형적으로 클러스터 내에 그룹화되어 있다. 블록(50)을 살펴본다. 위에서 설명된 것과 같이, 이런 그룹화된 네트워크 장치들은 전형적으로 기능적으로 동일할 것이고, 임의의 수의 장치들이 클러스터 내에 그룹화될 것이다. 각 장치는 전형적으로 네트워크 장치 IP 주소를 가질 수 있다. 클러스터 내의 하나의 네트워크 장치는 마스터 장치로 지정될 수 있다. 블록(52)을 살펴본다. 지정된 마스터 장치는 전형적으로 마스터 장치의 장치 IP 주소에 추가하여, 권위적 도메인 네임 서버의 IP 주소를 할당받을 것이다. 마스터 장치의 지정은 하나의 장치로부터 또 다른 하나의 장치로 전송될 수 있다. 마스터 장치의 지정이 전송될 때, 권위적 도메인 네임 서버의 IP 주소도 또한 전형적으로 새로이 지정된 마스터 장치로 전송될 것이다.
마스터 장치는 전형적으로 클러스터 내의 각각의 네트워크 장치로부터 상태 정보를 수신할 것이다. 블록(54)을 살펴본다. 위에서 설명한 바와 같이, 상태 정보는 네트워크 상의 네트워크의 존재, 네트워크 장치의 현재 부하 퍼센티지, 네트워크 장치에 의해 지원되는 액티브 접속들의 수, 및 네트워크 장치 IP 주소를 포함할 수 있다. 상태 정보가 마스터 장치에 의해 되풀이하여 수신되기 때문에, 마스터 장치는 전형적으로 얼마나 많은 네트워크 장치들이 클러스터 내에서 활성화되어 있는 가를 알 것이다. 마스터 장치는 또한 노드가 추가되거나 제거될 때 권위적 네임 서버에서 전형적으로 요구되는 재구성(reconfiguration) 없이 클러스터로부터의 네트워크 장치의 추가 또는 제거에 또한 반응할 수 있다.
마스터 장치는 전형적으로 권위적 도메인 네임 서버의 IP 주소를 할당받기 때문에, 마스터 장치는 그 도메인을 위한 DNS 질의들을 수신할 것이다. 블록(56)을 살펴본다. 마스터 장치는 전형적으로 DNS 질의에 응답하여 클라이언트와 통신할 클 러스터 내의 네트워크 장치들 중의 하나를 선택할 것이다. 블록(58)을 보면, 마스터 장치는 네트워크 장치들의 부하가 조절되도록 전형적으로 네트워크 장치들 중의 하나를 선택하기 위해 상태 정보를 사용할 것이다. 위에서 설명된 가중된 순환 순서 방식 기술과 같은, 많은 서로 다른 부하 조절 알고리즘들이 사용될 수 있다. 마스터 장치는 전형적으로 마스터 장치가 예상한 것과 같은 상태 정보를 수신한 네트워크 장치만을 선택할 것이다. 이것은 마스터 장치가 실패한 그렇지 않으면 클러스터로부터 제거된 네트워크 장치를 선택하는 것을 방지할 것이다. 선택된 네트워크 장치 IP 주소는 마스터 장치에 의해 ISP 네임 서버를 경유하여 클라이언트로 반송될 것이다. 블록(60)을 보면, ISP 네임 서버는 클라이언트가 선택된 네트워크 장치와 통신할 수 있도록 클라이언트에게 IP 주소를 제공할 것이다.
본 발명의 첫 번째 예시적인 양상에 따라, 노드 12와 같은, 시스템의 하나 이상의 엔티티들에 의해 실행되는 기능들은 하드웨어 및/또는 펌웨어 단독으로 또는 컴퓨터 프로그램 생성물의 제어 하에, 위에서 설명된 것들을 포함하여, 다양한 수단에 의해 실행될 수 있다. 본 발명의 실시 예들의 방법들을 실행하는 컴퓨터 프로그램 생성물은 비-휘발성 저장 매체와 같은, 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 저장 매체 내에 구체화된, 일련의 컴퓨터 명령들과 같은, 컴퓨터 판독가능 프로그램 코드부들을 포함한다.
이런 관점에서, 도 3은 본 발명에 따른 방법들 및 프로그램 생성물들의 흐름도이다. 흐름도의 각 단계 및, 그 흐름도 내의 단계들의 조합들은 컴퓨터 프로그램 명령들에 의해 구현될 수 있음이 이해되어야 할 것이다. 이런 컴퓨터 프로그램 명 령들은 컴퓨터 또는 다른 프로그램 가능한 장치에서 실행되는 명령들이 흐름도의 단계(들) 내에 구체화된 기능들을 구현하기 위한 수단을 생성하도록, 기계를 생산하는 컴퓨터 또는 다른 프로그램가능한 장치에 로딩될 수 있다. 컴퓨터 판독 가능 메모리 내에 저장된 명령들이 흐름도 단계(들) 내에 특정된 기능을 구현하는 명령 수단을 포함하는 제조 품목을 생산하도록, 컴퓨터 또는 다른 프로그램 가능한 장치가 특정 방식으로 작용하도록 지시할 수 있는 이런 컴퓨터 프로그램 명령들은 컴퓨터 판독 가능 메모리 내에 저장될 수도 있다. 컴퓨터 또는 다른 프로그램 가능한 장치상에서 실행되는 명령들이 흐름도 단계(들)에서 특정된 기능들을 구현하는 단계들을 제공하도록, 컴퓨터 프로그램 명령들은 일련의 동작 단계들이 컴퓨터 또는 다른 프로그램 가능한 장치상에서 실행되어서 컴퓨터 실행 프로세스(computer implemented process)를 생성하게끔 하기 위해 컴퓨터 또는 다른 프로그램 가능한 장치에 또한 로딩될 수 있다.
따라서, 흐름도의 단계들은 특정 기능들을 실행하는 수단의 조합들, 특정 기능들을 실행하는 단계들의 조합들 및 특정 기능들을 실행하기 위한 프로그램 명령 수단을 지원한다. 흐름도의 각 단계 및 흐름도의 단계들의 조합들은 특정 기능들 또는 단계들, 또는 특정 목적의 하드웨어 및 컴퓨터 명령들의 조합들을 실행하는 특정 목적의 하드웨어 기반의 컴퓨터 시스템들에 의해 구현될 수 있음이 또한 이해되어야 할 것이다.
본 발명의 많은 변경들 및 다른 실시 예들이 본 발명이 전술한 기술들 및 연관된 도면들 내에 제시된 교시들의 도움을 얻어 당업자에게 떠오를 것이다. 따라 서, 본 발명이 개시된 특정 실시 예들에 제한되지 않고 다른 실시 예들이 첨부된 청구항들의 범위 내에 포함되는 것이 의도됨이 이해되어야 한다. 특정 용어들이 본원에 사용되지만, 일반적이고 설명적 의미로만 사용되었고 제한의 목적으로 사용되지 않았다.

Claims (22)

  1. 네트워크 장치들의 클러스터의 하나 이상의 네트워크 장치를 권위적 도메인 네임 서버로서 사용하여 액티브 부하 조절을 실행하는 시스템으로서, 상기 시스템은;
    클러스터 내에 그룹화된 복수의 네트워크 장치들을 포함하고, 각 네트워크 장치는 서로 다른 각각의 장치 인터넷 프로토콜(IP) 주소를 갖고; 상기 네트워크 장치들 중 하나는 마스터 장치로서 지정되고;
    상기 마스터 장치는 상기 권위적 도메인 네임 서버의 IP 주소에 대응하는 IP 주소를 할당받고; 각 네트워크 장치는 상태 정보를 적어도 상기 클러스터 내의 상기 마스터 장치에게 전달할 수 있고;
    상기 마스터 장치는 클라이언트 요구에 기초해, 도메인 네임을 담고 있는 도메인 네임 서비스(domain name service, DNS) 질의를 수신할 수 있고, 상기 네트워크 장치들의 각각의 상태 정보에 기초해 상기 클라이언트와 통신할 네트워크 장치들 중 하나를 선택하고, 상기 DNS 질의에 응답하여 상기 네트워크 장치들 중의 선택된 하나의 장치 IP 주소를 반송하는 액티브 부하 조절을 수행하는 시스템.
  2. 제1항에 있어서, 각 네트워크 장치는 네트워크 장치의 존재, 부하 퍼센티지, 액티브 접속들의 수, 및 장치 IP 주소를 포함하는 그룹으로부터 상기 상태 정보를 선택하는, 액티브 부하 조절을 수행하는 시스템.
  3. 제1항에 있어서, 상기 마스터 장치는 미리 정의된 부하 조절 알고리즘에 따라 상기 네트워크 장치들 중 하나를 선택하는, 액티브 부하 조절을 수행하는 시스템.
  4. 제1항에 있어서, 상기 클러스터 내에 그룹화된 추가의 네트워크 장치를 더 포함하고, 상기 추가의 네트워크 장치가 이후에 상기 클라이언트와 통신하기 위한 선택에서 고려될 수 있도록 상기 추가의 네트워크 장치는 적어도 상기 클러스터 내의 마스터 장치와 상태 정보를 전달할 수 있는 액티브 부하 조절을 수행하는 시스템.
  5. 제1항에 있어서, 상기 권위적 도메인 네임 서버 IP 주소가 다른 지정된 마스터 장치로 전송되도록, 다른 네트워크 장치가 상기 마스터 장치로서 지정될 수 있는 액티브 부하 조절을 수행하는 시스템.
  6. 권위적 도메인 네임 서버로서 역할을 하고 복수의 네트워크 장치들의 클러스터 중에서 액티브 부하 조절을 실행하는 네트워크 장치로서, 상기 네트워크 장치는:
    상기 클러스터 내에 그룹화된 복수의 네트워크 장치들 각각으로부터 상태 정보를 수신할 수 있는 프로세서를 포함하고; 상기 프로세서는 또한 클라이언트 요구에 기초해, 도메인 네임을 담고 있는 도메인 네임 서비스(DNS) 질의를 수신할 수 있고, 상기 네트워크 장치들의 각각의 상태 정보에 기초해 클라이언트와 통신하기 위한 상기 네트워크 장치 자신도 포함하는 상기 네트워크 장치들의 클러스터 중에서부터 하나의 네트워크 장치를 선택할 수 있고, 상기 DNS 질의에 응답하여 상기 네트워크 장치들 중 선택된 하나의 장치 IP 주소를 반송할 수 있고,
    여기서 상기 네트워크 장치는 마스터 장치로 지정되고, 그리고 권위적 도메인 네임 서버의 IP 주소에 대응하는 IP 주소를 할당받는, 네트워크 장치.
  7. 제6항에 있어서, 상기 프로세서는 네트워크 장치의 존재, 부하 퍼센티지, 액티브 접속들의 수, 및 장치 IP 주소를 포함하는 그룹으로부터 선택된 상태 정보를 수신하는 네트워크 장치.
  8. 제6항에 있어서, 상기 프로세서는 미리 정의된 부하 조절 알고리즘에 따라 상기 네트워크 장치들 중의 하나를 선택하는 네트워크 장치.
  9. 제6항에 있어서, 상기 프로세서는 또한 상기 클러스터 내에 그룹화된 추가의 네트워크 장치로부터 상태 정보를 수신할 수 있고 그러면 상기 클라이언트와 통신하기 위한 선택에서 추가의 네트워크 장치를 고려할 수 있는 네트워크 장치.
  10. 제6항에 있어서, 상기 프로세서는 더 이상 상기 클러스터로부터 제거된 네트워크 장치로부터 상태 정보를 수신하지 않고, 상기 프로세서는 또한 상기 클라이언트와 통신하기 위해 상기 제거된 네트워크 장치 외의 네트워크 장치들 중 하나를 선택할 수 있는 네트워크 장치.
  11. 제6항에 있어서, 상기 프로세서는 또한 상기 권위적 도메인 네임 서버 IP 주소가 다른 지정된 마스터 장치로 전송되도록, 다른 네트워크 장치로 마스터 장치 지정을 전송할 수 있는 네트워크 장치.
  12. 네트워크 장치들의 클러스터의 하나 이상의 네트워크 장치를 권위적 도메임 네임 서버로서 사용하여 액티브 부하 조절을 실행하는 방법으로서, 상기 방법은;
    상기 클러스터 내에 그룹화된 복수의 네트워크 장치들 중에서, 하나의 네트워크 장치를 마스터 장치로서 지정하는 단계[상기 마스터 장치는 상기 권위적 도메인 네임 서버의 IP 주소에 대응하는 IP 주소를 할당받는다];
    각 네트워크 장치로부터의 상태 정보를 적어도 상기 클러스터 내의 마스터 장치에게 전달하는 단계;
    클라이언트 요구에 기초해, 도메인 네임을 담고 있는 도메인 네임 서비스(domain name service, DNS) 질의를 수신하는 단계;
    상기 네트워크 장치들 각각의 상태 정보에 기초해, 상기 클라이언트와 통신할 네트워크 장치들 중 하나를 선택하는 단계; 및
    상기 DNS 질의에 응답하여 상기 네트워크 장치들 중 선택된 하나의 장치 IP 주소를 반송하는 단계를 포함하는 액티브 부하 조절을 수행하는 방법.
  13. 제12항에 있어서, 상기 상태 정보는 네트워크 장치의 존재, 부하 퍼센티지, 액티브 접속들의 수, 및 장치 IP 주소를 포함하는 그룹으로부터 선택되는 액티브 부하 조절을 수행하는 방법.
  14. 제12항에 있어서, 상기 네트워크 장치들 중 하나는 미리 정의된 부하 조절 알고리즘에 따라 선택되는 액티브 부하 조절을 수행하는 방법.
  15. 제12항에 있어서, 상기 클러스터 내에 추가의 네트워크 장치를 그룹화하는 단계를 더 포함하고, 상기 추가의 네트워크 장치가 이후 상기 클라이언트와 통신하기 위한 선택에서 고려되도록 상기 추가의 네트워크 장치는 적어도 상기 클러스터 내의 마스터 장치에게 상태 정보를 전달하는 액티브 부하 조절을 수행하는 방법.
  16. 제12항에 있어서, 상기 클러스터로부터 복수의 네트워크 장치들 중 하나를 제거하는 단계를 더 포함하고, 상기 제거된 네트워크 장치가 더 이상 상기 클라이언트와 통신하기 위해 선택될 자격이 없도록 상기 제거된 네트워크 장치는 적어도 상기 클러스터 내의 마스터 장치에게 더 이상 상태 정보를 전달하지 않는 액티브 부하 조절을 수행하는 방법.
  17. 제12항에 있어서, 상기 권위적 도메인 네임 서버 IP 주소가 다른 지정된 마스터 장치로 전송되도록, 다른 네트워크 장치를 마스터 장치로서 지정하는 단계를 더 포함하는 액티브 부하 조절을 수행하는 방법.
  18. 권위적 도메임 네임 서버의 역할을 하고 복수의 네트워크 장치들의 클러스터 중에서 액티브 부하 조절을 실행하는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 컴퓨터 판독가능 프로그램 코드부들을 포함하고, 상기 컴퓨터 판독가능 프로그램 코드부들은 ;
    상기 클러스터 내에 그룹화된 복수의 네트워크 장치들 중에서, 하나의 네트워크 장치를 마스터 장치로서 지정하고, 상기 마스터 장치에게 상기 권위적 도메인 네임 서버의 IP 주소에 대응하는 IP 주소를 할당할 수 있는 제1 실행부;
    복수의 네트워크 장치들 각각으로부터 상태 정보를, 적어도 상기 마스터 장치에게 전달할 수 있는 제2 실행부;
    클라이언트 요구에 기초해, 도메인 네임을 담고 있는 도메인 네임 서비스(DNS) 질의를, 상기 마스터 장치에게 전달할 수 있는 제3 실행부;
    상기 네트워크 장치들의 각각의 상태 정보에 기초해 클라이언트와 통신하는 네트워크 장치들의 클러스터 중에서 하나의 네트워크 장치를 선택할 수 있는 제4 실행부; 및
    상기 DNS 질의에 응답하여 상기 네트워크 장치들 중 선택된 하나의 장치 IP 주소를 반송할 수 있는 제5 실행부를 포함하는 컴퓨터 판독가능 저장 매체.
  19. 제18항에 있어서,
    상기 제2 실행부는 네트워크 장치의 존재, 부하 퍼센티지, 액티브 접속들의 수, 및 장치 IP 주소를 포함하는 그룹으로부터 선택된 상태 정보를 수신하는 컴퓨터 판독가능 저장 매체.
  20. 제18항에 있어서,
    상기 제4 실행부는 미리 정의된 부하 조절 알고리즘에 따라 네트워크 장치들 중 하나를 선택하는 컴퓨터 판독가능 저장 매체.
  21. 제18항에 있어서,
    상기 제4 실행부가 추가의 네트워크 장치를 상기 클라이언트와 통신하기 위한 선택에서 고려하도록, 상기 제2 실행부는 또한 상기 클러스터 내의 추가의 네트워크 장치로부터 상태 정보를, 상기 마스터 장치에게 전달할 수 있는 컴퓨터 판독가능 저장 매체.
  22. 제18항에 있어서,
    상기 제2 실행부가 더이상 제거된 네트워크 장치로부터 상태 정보를 전달하지 않는다면 상기 클러스터로부터 제거된 네트워크 장치는 더 이상 상기 클라이언트와 통신하기 위한 선택에서 상기 제4 실행부에 의해 고려되지 않는 컴퓨터 판독가능 저장 매체.
KR1020077026003A 2005-04-13 2006-04-13 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물 KR100984384B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67077905P 2005-04-13 2005-04-13
US60/670,779 2005-04-13
US11/169,375 US7548945B2 (en) 2005-04-13 2005-06-29 System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
US11/169,375 2005-06-29
PCT/IB2006/001051 WO2006109181A2 (en) 2005-04-13 2006-04-13 System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers

Publications (2)

Publication Number Publication Date
KR20080005539A KR20080005539A (ko) 2008-01-14
KR100984384B1 true KR100984384B1 (ko) 2010-09-30

Family

ID=37087399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077026003A KR100984384B1 (ko) 2005-04-13 2006-04-13 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물

Country Status (6)

Country Link
US (1) US7548945B2 (ko)
EP (1) EP1869868B1 (ko)
JP (1) JP4594422B2 (ko)
KR (1) KR100984384B1 (ko)
CN (1) CN101171821B (ko)
WO (1) WO2006109181A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844687B1 (en) * 1999-10-06 2010-11-30 Gelvin David C Method for internetworked hybrid wireless integrated network sensors (WINS)
DE112005001995B4 (de) * 2004-09-13 2011-12-08 Fujitsu Siemens Computers, Inc. Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
US9450908B2 (en) * 2005-06-23 2016-09-20 Go Daddy Operating Company, LLC Routing DNS system and method for shared domain name
US20050289242A1 (en) * 2005-06-24 2005-12-29 The Go Daddy Group, Inc. Resolving access to content associated with shared domain name using routing website
US20050289241A1 (en) * 2005-06-24 2005-12-29 The Go Daddy Group, Inc. Resolving access to content associated with shared domain name using toggling content server
US8706816B2 (en) * 2005-06-24 2014-04-22 Go Daddy Operating Company, LLC System and method for email delivery for shared domain name
US8104081B2 (en) * 2005-11-15 2012-01-24 Avaya Inc. IP security with seamless roaming and load balancing
US7656817B2 (en) * 2006-07-28 2010-02-02 Sbc Knowledge Ventures, L.P. Methods and apparatus to provision name-servers
US7756975B1 (en) * 2007-12-05 2010-07-13 Symantec Corporation Methods and systems for automatically discovering information about a domain of a computing device
US8756340B2 (en) * 2007-12-20 2014-06-17 Yahoo! Inc. DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US7962631B2 (en) * 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US20090172192A1 (en) * 2007-12-28 2009-07-02 Christian Michael F Mapless Global Traffic Load Balancing Via Anycast
CN101926153A (zh) * 2008-01-23 2010-12-22 艾利森电话股份有限公司 用于对网络资源进行池处理的方法和设备
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
US8271652B2 (en) * 2008-07-24 2012-09-18 Netapp, Inc. Load-derived probability-based domain name service in a network storage cluster
JP2010074596A (ja) * 2008-09-19 2010-04-02 Hitachi Information Systems Ltd アクティブdns装置とその名前解決処理方法およびプログラム
CN102480529A (zh) * 2010-11-24 2012-05-30 北京无线恒远科技有限公司 实现广域网负载均衡的域名解析方法及域名解析服务器
CN102572001A (zh) * 2011-01-04 2012-07-11 中兴通讯股份有限公司 一种域名系统及其提供负荷均衡的方法
US8583774B2 (en) 2011-04-28 2013-11-12 Microsoft Corporation Mapping meaningful hostnames
JP2013090072A (ja) * 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
US8873429B2 (en) * 2011-12-22 2014-10-28 Infosys Limited Method and system to dynamically detect and form a master slave network
US8965921B2 (en) * 2012-06-06 2015-02-24 Rackspace Us, Inc. Data management and indexing across a distributed database
KR102001103B1 (ko) * 2012-10-08 2019-10-01 삼성전자 주식회사 전자장치, 서버 및 시스템의 제어방법
US9294433B1 (en) 2012-11-02 2016-03-22 8X8, Inc. Multiple-master DNS system
US9723069B1 (en) * 2013-03-15 2017-08-01 Kaazing Corporation Redistributing a connection
CN104079676A (zh) * 2013-03-27 2014-10-01 中国移动通信集团公司 一种云计算集群主机地址查询方法及设备
US9596299B2 (en) * 2013-04-06 2017-03-14 Citrix Systems, Inc. Systems and methods for dynamically expanding load balancing pool
US9413610B2 (en) * 2013-04-24 2016-08-09 Ciena Corporation Network-based DHCP server recovery
US9294483B2 (en) 2013-05-03 2016-03-22 John Wong Method and system for mitigation of distributed denial of service (DDOS) attacks
US9674217B2 (en) 2013-05-03 2017-06-06 John Wong Method and system for mitigation of distributed denial of service (DDOS) attacks
CN104735118A (zh) * 2013-12-24 2015-06-24 中国移动通信集团江苏有限公司 一种业务支撑系统的业务处理方法、装置及服务器
US9633128B2 (en) 2014-03-13 2017-04-25 Go Daddy Operating Company, LLC Lightweight web page generation
CN103905531A (zh) * 2014-03-14 2014-07-02 浪潮电子信息产业股份有限公司 一种集群存储系统中转换节点间负载均衡方法
US9584388B2 (en) 2014-04-03 2017-02-28 Empire Technology Development Llc Domain name server traffic volume estimation
US20150350154A1 (en) * 2014-06-03 2015-12-03 John Myla Using Distributed Network Elements to Send Authoritative DNS Responses
US20180270300A1 (en) * 2014-10-07 2018-09-20 Interdigital Patent Holdings, Inc. Supporting internet protocol (ip) clients in an information centric network (icn)
FR3029384B1 (fr) * 2014-11-27 2018-01-26 Traxens Procede d'affiliation a une grappe de dispositifs electroniques communiquant via un reseau sans fil, dispositif electronique mettant en oeuvre ledit procede et systeme associes
US10164933B2 (en) 2014-12-19 2018-12-25 Go Daddy Operating Company, LLC System and method for domain name system restore points
US10659423B2 (en) 2014-12-19 2020-05-19 Go Daddy Operating Company, LLC System and method for modifying a domain name system template
US10268755B2 (en) * 2015-04-30 2019-04-23 Splunk Inc. Systems and methods for providing dynamic indexer discovery
CN106302838B (zh) * 2015-05-12 2020-06-30 中兴通讯股份有限公司 域名系统dns解析处理方法及装置
FR3039024B1 (fr) * 2015-07-15 2018-06-29 Rizze Systeme et procede automatique de deploiement des services sur un noeud reseau
US9930110B2 (en) 2016-03-02 2018-03-27 International Business Machines Corporation Dynamic client-based leader election
KR101684227B1 (ko) * 2016-07-12 2016-12-07 한금희 네트워크 자동 구성 방법
EP3331217A1 (en) * 2016-12-02 2018-06-06 HOB GmbH & Co. KG Method for connecting a client to a server in a communication system
US11765046B1 (en) * 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US20200267114A1 (en) * 2019-02-15 2020-08-20 Juniper Networks, Inc. Load-balanced endpoints selection for client devices accessing the endpoints via a network
CN112583875B (zh) * 2019-09-30 2023-04-07 浙江宇视科技有限公司 一种资产扫描方法及装置
US11979284B2 (en) 2021-08-31 2024-05-07 Cisco Technology, Inc. Orchestrated reconnect for client-unaware rolling of network nodes
CN116367202A (zh) * 2021-12-28 2023-06-30 华为技术有限公司 一种集群仲裁方法、网络设备及系统
CN114422335A (zh) * 2021-12-31 2022-04-29 长园深瑞继保自动化有限公司 通信方法、装置、服务器及存储介质
US11907137B2 (en) * 2022-01-26 2024-02-20 Capital One Services, Llc Systems and methods for leader node election in cluster server configurations

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027148A (ja) * 1996-07-10 1998-01-27 Hitachi Ltd インターネット用サーバシステム
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
JP2001092766A (ja) * 1999-09-20 2001-04-06 Hitachi Ltd クライアントサーバシステムおよびネーミングサービス方法
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
US6389448B1 (en) * 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
US6754706B1 (en) * 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
JP3417374B2 (ja) * 2000-02-04 2003-06-16 日本電気株式会社 サーバ、クライアント、クライアントサーバシステム、負荷分散方法、記録媒体
JP2001309053A (ja) * 2000-04-26 2001-11-02 Nec Corp Ipアドレス割り当てシステム及びその処理方法
US20020087612A1 (en) * 2000-12-28 2002-07-04 Harper Richard Edwin System and method for reliability-based load balancing and dispatching using software rejuvenation
US6795858B1 (en) 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection
US7185052B2 (en) 2001-05-16 2007-02-27 Akamai Technologies, Inc. Meta content delivery network system
US8180921B2 (en) * 2001-06-19 2012-05-15 Intel Corporation Method and apparatus for load balancing
EP1307018B1 (en) 2001-10-24 2006-10-11 Sun Microsystems, Inc. Load balancing unit and method of its operation
JP3898498B2 (ja) * 2001-12-06 2007-03-28 富士通株式会社 サーバ負荷分散システム
US7120704B2 (en) * 2002-01-31 2006-10-10 International Business Machines Corporation Method and system for workload balancing in a network of computer systems
US7228359B1 (en) * 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US7376743B1 (en) * 2002-04-02 2008-05-20 Cisco Technology, Inc. Method and apparatus for load balancing in a virtual private network
US7305429B2 (en) * 2002-06-10 2007-12-04 Utstarcom, Inc. Method and apparatus for global server load balancing
US7225272B2 (en) * 2002-07-31 2007-05-29 Web.Com, Inc. Method and apparatus for providing name services
US20040249939A1 (en) * 2003-05-23 2004-12-09 International Business Machines Corporation Methods and apparatus for dynamic and optimal server set selection
US7185096B2 (en) * 2003-05-27 2007-02-27 Sun Microsystems, Inc. System and method for cluster-sensitive sticky load balancing
US7181524B1 (en) * 2003-06-13 2007-02-20 Veritas Operating Corporation Method and apparatus for balancing a load among a plurality of servers in a computer system

Also Published As

Publication number Publication date
EP1869868A2 (en) 2007-12-26
US7548945B2 (en) 2009-06-16
WO2006109181A2 (en) 2006-10-19
KR20080005539A (ko) 2008-01-14
CN101171821B (zh) 2012-10-03
CN101171821A (zh) 2008-04-30
EP1869868A4 (en) 2016-11-30
WO2006109181A3 (en) 2006-12-07
JP2008537400A (ja) 2008-09-11
EP1869868B1 (en) 2019-12-11
US20060235972A1 (en) 2006-10-19
JP4594422B2 (ja) 2010-12-08

Similar Documents

Publication Publication Date Title
KR100984384B1 (ko) 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물
US7644159B2 (en) Load balancing for a server farm
US7353276B2 (en) Bi-directional affinity
JP5016063B2 (ja) 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク
EP1116112B1 (en) Load balancing in a network environment
US11799720B1 (en) Server-based service configuration system and approach
JP5381998B2 (ja) クラスタ制御システム、クラスタ制御方法、及びプログラム
US6941384B1 (en) Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
US20050141506A1 (en) Methods, systems and computer program products for cluster workload distribution
EP1117227A1 (en) Network client affinity for scalable services
KR20090069312A (ko) 리소스 공급을 위한 방법, 시스템, 및 에지 서버
US20080034078A1 (en) Presence information management system, presence server device, gateway device and client device
JP6106334B2 (ja) 高度なサービスルーティングを実行するための方法、システムおよびコンピュータ読取可能媒体
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
JP2013090072A (ja) サービス提供システム
US9760370B2 (en) Load balancing using predictable state partitioning
WO2010069261A1 (zh) 边界网关协议路由处理方法、装置和系统
KR100788631B1 (ko) 인터넷 프로토콜-기반 통신 시스템에서 리소스 풀링
US7711780B1 (en) Method for distributed end-to-end dynamic horizontal scalability
JP2010062598A (ja) 負荷分散方法およびdhcpサーバ装置
US7788347B2 (en) Method and apparatus for configuring a network node using multiple peer-to-peer layers
JP5872669B2 (ja) サーバ装置群およびネットワークシステム
Kimmatkar et al. Applications sharing using binding server for distributed environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee