KR20100021637A - 최적의 dhcp 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법 - Google Patents

최적의 dhcp 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법 Download PDF

Info

Publication number
KR20100021637A
KR20100021637A KR1020097027492A KR20097027492A KR20100021637A KR 20100021637 A KR20100021637 A KR 20100021637A KR 1020097027492 A KR1020097027492 A KR 1020097027492A KR 20097027492 A KR20097027492 A KR 20097027492A KR 20100021637 A KR20100021637 A KR 20100021637A
Authority
KR
South Korea
Prior art keywords
dhcp
request
available
list
server
Prior art date
Application number
KR1020097027492A
Other languages
English (en)
Inventor
마이클 윌프리드 브라운
브라이언 하우
라다크리슈난 세수라만
마누엘 실베이라
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100021637A publication Critical patent/KR20100021637A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1014Server 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 Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은, 마그네틱 테이프 데이터 스토리지 드라이브, 데이터 스토리지 시스템, 마그네틱 테이프 데이터 스토리지 및 그에 관한 방법에 관한 것이다. 시스템은 적어도 하나의 마그네틱 테이프 데이터 스토리지 드라이브를 포함하는데, 상기 드라이브는, 마그네틱 테이프 데이터 스토리지 미디어와 카트리지 메모리를 포함하는 마그네틱 테이프 카트리지를 다루기 위해 구성된 것이다. 마그네틱 테이프 미디어는 다수의 세로(longitudinal)로된 서보 밴드를 포함하며, 서보 밴드는 데이터 밴드로 나뉜다. 각각 데이터 밴드의 맞은편에 위치한 두 개의 서보 밴드가 감지된다(sense). 두 개의 서보 밴드 중 하나에 있어서 적어도 하나의 서보 디텍션 오류 신호에 대한 반응으로, 가장자리 스트레스 신호는 마그네틱 테이프 카트리지의 카트리지 메모리에 놓인다. 그리고 예를 들어 카트리지가 리로딩(reloading)된 후에, 카트리지 메모리는 가장자리 스트레스 신호 배치(set)에 대해서 검사된다. 만일 가장자리 스트레스 신호가 있으면, 오직 검사된 마그네틱 테이프 데이터 스토리지 카트리지에 관한 읽기 동작만이 허용된다.

Description

최적의 DHCP 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법{SYSTEM AND METHOD FOR DYNAMICALLY CONFIGURING A ROUTER TO FIND THE BEST DHCP SERVER}
본 발명은 일반적으로 네트워크 통신에 관한 것으로, 더욱 상세하게는 사용자가 선택한 기준에 기초하여 도메인 호스트 구성 프로토콜(DHCP) 서버를 할당하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터가 발명된 이후로, 사용자들은 이들을 서로 연결하기 위한 방법들을 발명해 왔다. 컴퓨터 상호간 연결의 이점들은 셀 수 없이 많으며 계속 증가하고 있다. 예를 들어 컴퓨터가 서로 연결되면 프린터와 통신 연결과 같은 자원들뿐만 아니라, 데이터와 응용프로그램을 공유할 수 있다. 컴퓨터 상호간 연결분야에 있어서 하나의 큰 발전은 인터넷, 즉 컴퓨터의 집합(collection of computers)인데, 이는 세계를 아주 가까워 지게 하고 공동의 통신 프로토콜을 공유한다. 통상적으로 인터넷 자원에 접근하려는 각 컴퓨터는 인터넷 프로토콜 (internet protocol : IP) 주소를 할당 받는 데, 이는 그 컴퓨터를 고유하게 식별하며 정보를 다른 컴퓨터에 정보를 전송하고 다른 컴퓨터로부터 정보를 수신받을 수 있게 한다.
비록 사용 가능한 IP 주소가 수십억이 있을 수 있더라도 때때로 컴퓨터들의 그룹들은 특정 IP 주소를 혹은 IP 주소들의 그룹을 공유하는 것이 유리하다. 예를 들어, 근거리 통신망(LAN)은 필요에 따라 개별 컴퓨터들에 할당되는 정의된(defined) IP 주소들의 범위를 가질 수 있다. 이러한 기능을 자동적으로 구현하기 위해 DHCP가 개발되었다.
DHCP 서버는 LAN 내에서의 근거리(local) 통신과 인터넷을 통한 다른 컴퓨터들과의 통신 이 두 가지 목적을 위하여 요청한 컴퓨터에 IP 주소를 할당한다. 예를 들어, 랩탑(laptop)과 같은 컴퓨터는 통상적으로 특정 LAN에 접속하여, 상기 LAN에 또한 접속된 DHCP 서버에 IP주소를 요청하며, 그 다음 상기 할당된 IP 주소를 사용하여 근거리 통신과 인터넷을 통한 통신을 한다. 각 IP 주소는 요청한 컴퓨터에 특정 기간 동안 할당되는데, 통상적으로 한 시간에서 몇 달까지의 범위로 정해지지만, 기간이 정해지지 않을 수도 있다. 특정 IP 주소가 장치에 할당되는 특정 기간 동안을 그 장치를 위한 "임대(lease)"라고 한다. 제1의 컴퓨터가 주소를 "임대"하고 있는 동안에는 DHCP 서버는 제2의 컴퓨터에 동일한 주소를 할당하지 않는다. 이러한 방식으로, 제한된 수의 IP 주소가 더 많은 수의 컴퓨터에 의해서 사용될 수 있고, 따라서 네트웍이 필요한 것 보다 더 적은 IP 주소로 다수의 장치들에 접속을 제공하는 것을 가능하게 한다.
IP 주소를 요청하는 모든 특정 컴퓨터는 그러한 요청을 충족하는 이용 가능한 다수의 DHCP 서버가 존재할 수 있다. (이 때문에) 사용자가 선택하는 기준, 예를 들어, 이용 가능한 DHCP 서버 간의 상호 위치들(relative locations) 및 요청 컴퓨터(이에 한정되는 것은 아니다.)에 기초하여, 요청 컴퓨터에 DHCP 서버 할당을 위한 시스템 및 방법이 필요하고 요구된다.
본 발명의 목적은 사용자 선택 기준(user selected criteria)에 기초하여 이용 가능한 도메인 호스트 구성 프로토콜(DHCP) 서버 리스트로부터 DHCP 서버 할당을 위한 방법을 제공하는데 있다. 네트워크 라우터가 네트워크에 연결된 컴퓨터 또는 "클라이언트"로부터 IP 주소 요청을 받으면, 상기 요청은 클라이언트와 이용 가능한 DHCP 서버 양자에 관한 정보를 위하여 분석된다. 이러한 분석은 특정 DHCP 서버에 대한 이전의 요청들 및 IP 주소를 요청하는 컴퓨터에 대한 서버들의 근접성과 같은 여러 요소들에 기초할 수 있다. 예를 들어, 만일 상기 요청이 근접성에 기초하고 있다면, 네트워크 라우터는 DHCP 서버와 클라이언트 간의 접속 횟수(the number of connections) 또는 "홉" (hop) 수, 특정 DHCP 서버의 평균 응답 시간 및/또는 요청 클라이언트와 각 특정 DHCP에 관한 미리 결정된 지리적 정보들을 분석할 수 있다.
일단 라우터가 특정 IP 주소 요청에 대한 적합한 DHCP 서버를 결정하면, 상기 클라이언트 요청은 상기 DHCP 서버에 전송된다. 이러한 방식으로, 분산된 브랜치 네트워크(distributed branch network)는 가장 빠른 DHCP 서버를 이용할 수 있고 전용 브랜치 서버(dedicated branch server) 없이도 기능을 수행할 수 있다. 상기 프로세스는 요청 클라이언트 및 선택된 DHCP 서버 모두에 대하여 완전히 투명하다.
본 요약은 청구된 본 발명의 포괄적인 설명으로 의도된 것은 아니고, 다만 청구된 본 발명과 관련된 몇몇 기능의 간략한 개요를 제공하기 위한 것이다. 그 밖의 본 발명의 시스템, 기능성, 특징들이나 발명의 이점들은 이하의 도면 및 도면의 상세한 설명을 살펴보면 당해 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
본 발명의 바람직한 이해를 위해서 이하 첨부한 도면을 참조하여 구체적인 실시 예를 상세히 설명하기로 한다.
도 1은, 청구된 본 발명의 구현을 위한 다이내믹 네트워크 라우터(DNR)를 포함하는 컴퓨팅 시스템 구조의 일 실시 예를 도시하는 도면.
도 2는, 도 1의 DNR을 더욱 상세하게 도시한 도면.
도 3은, 파우어 업에서 동작하고 도 1 및 도 2에서 보인 DNR에 의해 주기적으로 실행되는 DNR을 구성하라(Configure DNR)프로세스 흐름도.
도 4는, 도 1 및 도에서 소개된 클라이언트 컴퓨터에 의해 시작 되고, DNR에 의해 실행되는 주소 요청(Request Address)프로세스 흐름도.
도 5는, 도 1 및 2에서 보인 DNR에 의해 실행되는 요청 처리(Process Request)프로세스 흐름도.
비록 여기서는 다이내믹 호스트 구성 프로토콜(DHCP)이 실행되는 특정 컴퓨팅 시스템에 관해 설명했지만, 청구된 본 발명은 IP 주소 할당이 바람직한 네트워크의 동적 컨트롤이 가능한, 어떤 IT(information technology) 시스템에서도 구현 될 수 있다. 개시된(disclosed) 실시 예는, 이하에서 기술하는 설명보다 더 폭 넓은 컴퓨팅 환경과 관련성을 갖고 있는것이 컴퓨팅 기술 분야에 있어서 통상의 지식을 가진 자에게 자명할 것이다. 또한 개시된 본 발명의 방법들은 소프트웨어, 하드웨어 또는 소프트웨어 및 하드웨어의 조합에 의해서 구현될 수 있다. 상기 하드웨어 부분은 특별한 논리회로(specialized logic)를 사용하여 구현될 수 있고; 상기 소프트웨어 부분은 메모리에 저장되어 네트워크 라우터, 마이크로프로세서, 개인용 컴퓨터(PC) 또는 메인프레임(대형 컴퓨터) 과 같은 적절한 명령 실행 시스템에 의해 실행될 수 있다.
본 명세서에서, “메모리” 또는 “기록매체”는 명령 실행 시스템, 장치 또는 디바이스에 의해서 혹은 그와 관련하여 사용하기 위하여 프로그램 및/또는 데이터를 포함하거나, 저장하거나, 통신하거나, 전파 또는 전송하는 모든 수단이 될 수 있다. 또한 메모리와 기록매체는 전자, 자기, 광학, 전자기 또는 반도체 시스템, 장치 혹은 디바이스가 될 수 있으며, 이에 한정되는 것은 아니다. 또한 메모리와 기록매체는 예를 들어 휴대용 컴퓨터 디스켓, 랜덤 억세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 가능한 프로그램 읽기 전용 메모리(EPROM 또는 플래시 메모리), 그리고 휴대용 컴팩트 디스크 읽기 전용 메모리 또는 그 밖에 프로그램 및/또는 데이터가 저장 될 수 있는 적절한 매체를 또한 포함하며, 이에 한정되는 것은 아니다.
청구된 본 발명에 따른 일 실시 예는, 네트워크 IP 주소 할당의 동적 컨트롤을 위한 프로그램된 방법(programmed method)에 관한 것이다. 여기서 사용되는 “ 프로그램된 방법”이라는 용어는 현재(presently) 실행되는 하나 또는 둘 이상의 프로세스 단계들 또는 미래의 특정한 때(future point in time)에 실행되도록 준비된(enabled) 하나 또는 둘 이상의 프로세스 단계들을 의미하는 것으로 정의된다. 프로그램된 방법이라는 용어는 3가지 다른 형태를 예상할 수 있다. 첫째, 프로그램된 방법은 현재 실행되는 프로세스 단계들을 포함한다. 둘째, 프로그램된 방법은 컴퓨터 명령들을 기록한(embodying) 컴퓨터 판독 매체(computer-readable medium)를 포함한다. 여기서, 상기 컴표터 명령들은 컴퓨터에 의해서 실행될 때 하나 또는 둘 이상의 프로세스 단계들을 수행한다. 마지막으로, 프로그램된 방법은 하나 또는 둘 이상의 프로세스 단계들을 수행하기 위해서 소프트웨어, 하드웨어, 펌웨어(firmware) 또는 그것들의 조합에 의해 프로그램된 컴퓨터 시스템을 포함한다. “프로그램된 방법”이라는 용어는 하나 이상의 다른 형태를 동시에 갖는 것으로 해석되어서는 안되며, 오히려 상기 다수의 다른 형태들 중에서 주어진 어떤 특정한 때에 오직 하나의 형태만 존재하는 것으로 해석되어야 한다.
이제 도면을 참조하면, 도 1은 청구된 본 발명을 구현하는 컴퓨팅 시스템 구조(100)의 일 실시 예를 도시하는 도면이다. 컴퓨팅 시스템(100)은 구내 정보 통신망인 LAN(114), LAN(134) 및 LAN(138)을 포함하는데, 각 LAN은 통신할 수 있도록 결합되어 있고 인터넷(120)을 통해서 서로 통신한다. LAN(114)과 연결된 것에는 클라이언트 시스템(102), 랩탑 컴퓨터 또는 “랩탑”(116) 과 다이내믹 네트워크 라우터(DNR, 118)가 있다. 여기서 컴퓨터, LAN 및 라우터는 컴퓨팅 및 통신 기술 분야에 있어서 통상의 지식을 가지는 자에게는 익숙한 것이며, 전형적인 라우터와 관 련된 로직(logic)뿐만 아니라 DNR(118) 역시 청구된 본 발명을 구현하는 로직을 포함한다.
컴퓨팅 시스템(102)은 중앙처리장치(CPU, 104)를 포함하며, 이는 컴퓨터(102)와 사람이 서로 상호작용을 용이하게 하도록 하는 모니터(106), 키보드(108) 그리고 마우스(110)에 결합된다. 또한 상기 컴퓨터(102)에 포함되며 상기 CPU(104)에 부속된 데이터 저장 콤포넨트(112)는 CPU(104) 내부에 결합되거나, 바꿔 말해 내부 장치이거나, 또는 일반적으로 사용 가능한 연결 장치, 예를 들어 유니버설 시리얼 버스(USB) 포트(도시되지 않음)등(이에 한정 되지 않음) 다양한 수단에 의해 CPU(104)에 외부적으로 접속될 수 있다. 비록 아래의 설명들은 DNR(118)에 의한 구현에 초점을 맞추고 있지만, 컴퓨팅 시스템(102)도 청구된 본 발명을 장점을 이용할 수 있는 디바이스의 하나의 예이다. 비록 도 1에 도시하지는 않았지만, DNR(118)은 모니터(106), 키보드(108) 그리고 마우스(110) 또는 터치 패드(110)(도 2를 참조)를 통해 접근될 수도 있다. DNR(118)은 도 2 내지 5를 참조하여 이하에서 더욱 상세하게 설명될 것이다.
LAN(134)과 LAN(138)은 각각 DHCP 서버_1(136)과 DHCP 서버_2(140)을 포함한다. LAN(114)과 LAN(134)은 라우터(118) 및 인터넷(120)을 통해 연결된다. 인터넷(120)에는 3개의 릴레이 포인트들(three relay points) 또는 “홉들(hops)”의 예들, 즉 홉_1(122), 홉_2(124) 그리고 홉_3(126)을 포함한다. 이 예에서, 클라이언트 시스템(102) 또는 랩탑(116)과 같은 컴퓨팅 디바이스로부터 나온 신호(signal)는 홉_1(122)를 통하거나 홉_2(124) 및 홉_1(122)을 통하거나 또는 홉 _2(124) 및 홉_3(126)을 통해서 LAN(134)상의 DHCP 서버_1(136)에 라우트된다. 이와 유사한 방식으로 클라이언트 시스템(102) 또는 랩탑(116)과 같은 컴퓨팅 디바이스로부터 나온 신호는 홉_2(124)을 통하거나 홉_1(122) 및 홉_2(124)를 통해서 LAN(138)상의 DHCP 서버_2(140)에 라우트된다. 여기서 도 1은 오로지 네트워크 컴퓨터 시스템의 설명을 간략하게 하기 위한 예시의 목적으로 사용된 것이며, 개시된 기술과 관련하여 가능한 구성들이 많이 있음이 컴퓨팅 및/또는 통신 기술 분야에 있어서 통상의 지식을 가진 자는 이해할 수 있을 것이다. 예를 들어, LAN(114)과 LAN(134) 및 LAN(138)은 통상적으로 클라이언트 시스템(102)과 같은 추가적인 컴퓨팅 디바이스들을 포함할 수 있다. 또한 LAN(134)과 LAN(138)은 통상적으로 표준 라우터(도시되지 않음) 또는 DNR(118)과 같은 라우터를 포함한다.
도 2는, 도 1의 DNR(118)을 더욱 상세하게 도시한 도면이다. 기능적인 모듈로는, 프로세서(142), 메모리(144), DNR 구성 모듈(146), 네트워크 구성 모듈(148), 입/출력(I/O) 모듈(150), 라우팅 논리 모듈(152) 및 DHCP 할당 모듈(154)을 포함한다. 모듈 142, 144, 146, 148, 150, 152 및 154 각각은 데이터 버스(156)에 연결되어 있는데, 이 데이터 베이스는 모듈 142, 144, 146, 148, 150, 152 및 154가 서로 통신하도록 해 준다. 데이터 버스(156) 상의 트래픽(traffic)은 버스 마스터(158)에 의해 제어된다. 도 1과 관련하여 이미 상술한 바와 같이, DNR(118)은, 모니터(106) (도 1), 키보드(108) (도 1) 및 터치 패드(110) (도 1)을 사용하여( 이들은 인간이 DNR(118)과 상호 작용할 수 있도록 한다.), I/O 모듈(150), LAN(114) (도 1) 및 클라이언트 시스템(102) (도 1)을 통해서 접근된다.
프로세서(142)는 청구된 본 발명을 구현하기 위해 모듈들 (144, 146, 148, 150, 152 및 154)과 관련된 로직 실행한다. 메모리(144)는 프로세서(142)의해서 사용되는 데이터와 실행 명령들(executables)을 위한 저장소를 제공한다. DNR 구성 모듈(146)은 청구된 본 발명에서 사용되는 정보를 위한 불휘발성 (nonvolatile) 저장소를 제공한다. 간단히 말해서, 모듈 146 은 DNR(118)자신의 구성과 관련된 정보, 예를 들어 DHCP 서버_1 (136) (도 1)과 DHCP 서버_2 (140) (도 1)와 같이 잠재적으로 이용 가능한 DHCP 서버와 관련된 매개변수들을 저장하는데, 이에 한정되는 것은 아니다. 모듈 146에 저장된 정보의 셋업(setup)과 그 사용은 이하 도 3 내지 5를 참조하여 더욱 상세하게 설명될 것이다.
네트워크 구성 모듈(148)은, 홉_1(122), 홉_2(124) 및 홉_3(126)에 관한 정보를 포함하여, LAN(114) (도 1), LAN(134) (도 1) 및 LAN(138) (도 1) 및 인터넷(120) (도 1)과 관련된 정보를 저장한다. 예를 들어, 네트워크 구성 모듈(148)은 DHCP 서버_1(136) 및 DHCP 서버_2(140)와 같은 이용 가능한 DHCP 서버들의 위치 정보와 DNR(118) 및 이용 가능한 DHCP 서버 간의 이용 가능한 경로들의 정보를 저장한다. 입/출력(I/O) 모듈(150)은 예를 들어 상기 랩탑(laptop) 컴퓨터(116) (도 1)와 클라이언트 시스템(102) (도 1)과 같은 다른 디바이스들과 DNR(118) 간의 통신을 다룬다. DHCP 할당 모듈(154)은 디바이스들에 할당된 특정 DHCP 서버에 관한 정보를 저장하는데, 상기 특정 DHCP 서버는 주소 할당 요청에 응답하여 DNR(118)을 통해서 연결된다. 한 실시 예에서, 하나의 특정 컴퓨팅 디바이스 하나의 특정 DHCP 서버를 할당 받을 수 있다. 그 경우에, 상기 할당과 관련된 정보들 또한 DHCP 할당 모듈(154)에 저장된다. 모듈 142, 144, 146, 148, 150, 152 및 154 의 기능들은 이하 도 3 내지 5를 참조하여 더욱 상세하게 설명될 것이다.
도 3은, 도 1 및 도 2에서 보인 DNR(118)에 의해 실행되는 구성 DNR 프로세스(a Configure DNR process)(150)의 흐름도이다. 프로세스 (150)은 통상적으로 DNR(118)에 전원이 공급될 때 프로세서 (142) (도 2)에 의해 실행된다. 또한 프로세스 (150)은 청구된 본 발명과 관련된 데이터 테이블을 업데이트 하기 위해 DNR(118)의 동작 동안 주기적으로 실행될 수 있다.
프로세스 (150)은 “구성 DNR을 시작하라(Begin Configure DNR)” 블록(152) 에서 시작하여, 즉시 “예비 리스트를 수집하라(Compile Preliminary List)” 블록(154)로 진행한다. 블록 (154)에서, 프로세스 (150)은 LAN(114)로부터 이용 가능한 잠재적인 DHCP 서버의 이름과 주소에 관한 데이터들을 네트워크 구성 모듈(148)로 부터 검색한다. “리스트가 완성 되었는가(List Completed)?” 블록(156) 에서, 프로세스 (150)은 블록 (154)에서 수집된(compiled) 리스트상의 잠재적인 서버 각각이 이용가능성 및 응답 시간에 관하여 분석되었는지를 결정한다. 물론, 블록 (156)에 처음 진행된 경우는 그러한 분석은 실행되지 않는다. 만약 리스트 상의 각 서버가 아직 분석되지 않은 경우라면, 프로세스 (150)은 “다음 서버로 핑하라(Ping Next Sever)” 블록(158)으로 진행한다.
블록(158)에서, 신호 또는 “핑(ping)”이 아직 분석되지 않은 리스트 상의 첫 번째 서버에 전송된다. 상기 전송된 핑에 대한 반응은 서버의 이용가능성을 결정하기 위한 프로세스와 평균 응답 시간을 측정하기 위한 프로세스를 시작하 게(enable) 한다. 또한 DNR(118)은 상기 핑이 타겟 서버에 전송되어 반송되는(travel) 것을 통해서 하나의 경로를 결정할 수 있다. 일단 상기 핑이 수신되어 처리된 결과 타겟 서버를 이용할 수 없기 때문에 타임아웃(timeout)을 갖는다면, 프로세스 (150)은 “이용 가능한가(Available)?” 블록(160)에 진행한다. (160)에서, 프로세스 (150)은 타겟 서버가 이용 가능함을 나타내는 프로세스된 핑을 통해 블록 (160)에 진행되었지 아니면 타겟 서버를 이용할 수 없음을 나타내는 타임아웃을 통해 블록 (160)에 진행된 것인지를 결정한다. 만약 서버를 이용할 수 없는 경우라면, 프로세스 (150)은 “리스트로부터 제거하라(Remove From List)” 블록(162)으로 진행하는데, 여기서 블록 (154)에서 생성된 리스트로부터 상기 타겟 서버를 제거한다. 그리고 프로세스 (150)은 “리스트가 완성되었는가?” 블록(156)으로 되돌아 와서 상술한 일련의 프로세싱을 계속 진행한다.
만일 블록(160)에서, 프로세스 (150)이 표적이 된 서버로부터 핑이 정상적으로 수신된 것으로 결정한 경우, 바꿔 말해 상기 서버를 이용할 수 있는 것으로 결정한 경우에는, “메트릭을 기록하라(Record Metrics)” 블록(164)으로 진행한다. 블록 (164)에서는, 서버 이용가능성과 핑이 되돌아 온 시간 길이에 기초한 근사 응답 시간에 관한 정보가 블록 (154)에서 생성된 리스트와 관련하여 저장된다. 일단 메트릭이 기록되면, 프로세스 (150)은 “리스트가 완성되었는가?” 블록(156)으로 되돌아 오고 프로세싱은 상술한 바와 같이 계속 진행된다.
만일 블록(156)에서, 프로세스 (150)이 블록 (154)에서 생성한 리스트가 완성되었다고 결정한 경우, 바꿔 말해 리스트 상의 각 서버에 대한 핑을 모두 끝마쳤 다고 결정한 경우에는, “구성 리스트를 저장하라(Store Configuration List)” 블록(166)으로 진행하는데, 여기서 블록 (154)에서 생성되고 블록 (156, 158, 160, 162 및 164)가 반복되는 동안 변경된 리스트가 DNR (118)의 정상 동작들(nominal operations) 동안 사용되기 위해서 네트워크 구성 모듈(148)에 저장된다. DNR(118)의 정상 동작은 도 4 및 도 5와 관련하여 이하에서 더욱 상세하게 설명하기로 한다. 마지막으로, 프로세스 (150)은 “구성 DNR을 종료하라(End Configure DNR)” 블록(169)으로 진행하고 프로세스 (150)은 여기서 완료된다.
도 4는 DNR(118)(도 1 및 도 2)에 의해 구현되는 “주소를 요청하라” 프로세스(200)의 흐름도이다. 이 예에서, 클라이언트 시스템(102) (도 1 및 2)는 IP 주소 할당을 위한 요청을 시작한다. 프로세스 (200)은 DNR(118) (도 1및 2)의 프로세서(142) (도 2) 상에서 실행된다. 프로세스 (200)은 클라이언트 시스템(102)이 먼저 LAN(114) (도 1)과 연결되어, LAN(114)상의 다른 디바이스들과 인터넷(120) (도 1)을 통하여 LAN(134) (도 1)과 같은 다른 네트워크들 상의 다른 디바이스들에 메시지를 전송하거나 그로부터 수신받기 위한 주소를 설정하기 위한 시도를 할 때 시작될 수 있다. 비록 상기에서 클라이언트 시스템(102)과 LAN(114)을 특정하여 설명했지만, 프로세스 (200)은 어떤 네트워크상의 컴퓨터에라도 동일하게 적용할 수 있다. 예를 들어, 프로세스 200은 다른 네트워크상의 동일한 컴퓨터로서 랩탑(116)이나, 상기 LAN(138, 도 1) 또는 그 밖의 어떤 LAN에 접속한 다른 컴퓨터(도시되지는 않음)로도 설명할 수 있다.
또한, 청구된 본 발명과 관련된 프로세싱뿐만 아니라 DNR(118)은 LAN(114)상 의 표준 라우팅 태스크(standard routing tasks)도 처리한다. 다른 실시 예에서(in the alternative), LAN(114) 상의 라우팅 태스크는 전형적인 라우터에 의해 처리되며,여기서 라우터는 DHCP 요청을 DNR (118)에 전송하며, DNR (118)은 청구된 본 발명에 따라 상기 DHCP 요청을 처리하기 위해 특별히 구성된다.
프로세스 (200)은 “주소 요청을 시작하라(Begin Request Address)” 블록(202)에서 시작하여 즉시 “요청을 대기하라(Wait for Request)” 블록(204)로 진행한다. 블록 (204)에서, DNR(118)은 LAN(114) (도 1)상의 디바이스에 의해서 전송되는 연결 요청을 기다린다. 이 예에서, 상기 요청은 클라이언트 시스템(102)에 의해서 전송된다. DNR(118)이 일단 요청을 받으면, 프로세스 (200)은 “DHCP가 할당되었는가(DHCP Assigned)?” 블록(206)으로 진행하는데, 여기서 프로세스 (200)은 블록 (204)에서 받은 요청을 전송한 상기 디바이스가 특정 DHCP를 할당 받았는지를 결정한다. 도 2와 관련하여 이미 상술한 바와 같이, 이러한 정보는 DHCP 할당 모듈(152) (도 2)에 저장된다. 만약 상기 디바이스가 특정 DHCP를 할당 받은 경우이면, “DHCP를 할당하라(Assign DHCP)” 블록(210)으로 진행하는데, 여기서, 프로세스 (200)은 상기 요청에 대해 지정된 DHCP 서버를 할당한다.
만일 블록 (206)에서, 프로세스 (200)이 블록 (204)에서 받은 DHCP 서버 요청이 할당된 DHCP 서버를 갖는 디바이스로부터 전송된 것이 아닌 것으로 결정한 경우에는, 프로세스 (200)은 “요청을 처리하라 (Process Request)” 블록(208)로 진행한다. 일반적으로, 블록 (208)과 관련된 프로세싱은 상기 요청에 대한 최적의 DHCP 서버의 결정을 포함한다. 이러한 결정은 수많은 요소에 기초할 수 있는데, 예 를 들어 전송시간, 처리 시간 그리고 부하 균형(load balancing) 등이 있겠으나 이에 한정되는 것은 아니다. 블록 (208)과 관련된 과정들은 이하 도 5와 관련하여 더욱 상세하게 설명될 것이다. 일단 블록 (208)과 관련된 프로세싱을 끝마치면, 프로세스 (200)은 “DHCP를 할당하라” 블록(210)으로 진행하는데, 여기서 블록 (208)에서 요청 디바이스에 대해 가장 적합한 것으로 결정된 DHCP 서버가 상기 요청에 대하여 할당 된다.
일단 블록 (210)에서 상기 요청에 대하여 DHCP 서버가 할당되면, 프로세스 (200)은 “요청을 전송하라(Forward Request)” 블록(212)로 진행한다. 블록 (212)에서, 프로세스 (200)은 블록 (204)에서 받은 요청을 블록 (210)에서 상기 요청 디바이스에 대하여 할당된 DHCP 서버에 전송한다. 여기서부터, DHCP 서버 요청에 관한 프로세싱은, DNR(118)에 의해서 실행된 프로세싱을 포함하며, 컴퓨팅 및 통신 기술 분야에 있어서 통상의 지식을 가진 자에게 익숙한 것이다. 일단 상기 DHCP 요청이 전송되면, 프로세스 (200)은 “요청을 대기하라” 블록(204)로 되돌아가서 또 다른 요청을 기다린다. 그 다음의 프로세싱은 상술한 바와 같이 진행된다.
프로세스 (200)은 DNR(118)이 작동하는 한은 계속 실행되도록 설계되어 있는데, 바꿔 말해 DNR(118)이 사용 가능하고 전원이 켜져 있는 동안에는 실행되도록 설계되어 있다. 만약 DNR(118)의 전원이 꺼져 있거나 또는 사용자가 DNR(118)이 동작하지 않길 원하는 경우에는, 비동기식 인터럽트(asynchronous interrupt) (214)가 프로세스 (200)에 전송된다. 비동기식 인터럽트(214)는 프로세스 (200)이 현재 어떤 블록에 진행되어 있던지 간에 프로세스 (200)의 컨트롤을 취하여 “자원들을 클린업하라(Cleanup Resources)” 블록(216)으로 진행하게 한다. 블록 (216)에서, 프로세스 (200)은 실행 동안 할당된 메모리를 해제하고(free), 매개 변수들을 저장하며, 가능한한 프로세스 (200)의 현재 실행과 관련된 정보들을 저장한다. 마지막으로, “주소 요청을 종료하라(End Request Address)” 블록(219)에서 프로세스 (200)은 종료된다.
도 5는, 도 1 및 2의 DNR(118)에 의해 실행되는 “요청을 처리하라” 프로세스(250)의 흐름도이다. 프로세스 (250)은, “주소를 요청하라” 프로세스(200)의 “요청을 처리하라” 블록(208)에 대응하는 것으로서, 상기에서 도 4와 관련하여 모두 소개되었다. 프로세스 (250)은 “요청 처리를 시작하라(Begin Process Request)” 블록(252)에서 시작하여, 곧 바로 “데이터를 검색하라(Retrieve Data)” 블록(254)으로 진행한다. 블록 (254)에서, 프로세스 (250)은, 네트워크 구성 모듈(148) (도 2)로부터 네트워크 구성에 관한 정보를, 라우팅 논리 모듈(152) (도 2)로부터 라우팅 정보를 그리고 DHCP 할당 모듈(154) (도 2)로부터 DHCP 할당 정보들을 검색한다.
“다수의 DHCP서버가 존재하는가(Multiple DHCPs)?” 블록(256)에서, 프로세스 (250)은 다수의 DHCP들, 예를 들어 DHCP서버_1(136) (도 1) 및 DHCP서버_2(140) (도 1)이 현재 이용할 수 있는 지를 결정한다. 다수의 DHCP 서버가 이용 가능한 경우, 프로세스 (250)은 “기준을 분석하라(Parse Criteria)” 블록(258)으로 진행하고, 여기서 프로세스 (250)은 블록 (254)에서 검색한 데이터를 분석하여 DHCP 선택을 위한 어떤 특정 요건들을 결정한다. 예를 들어, 클라이언트 시스템(102) (도 1 및 2)은 IP 주소 요청이 항상 가장 빠른 응답 시간을 갖는 DHCP 서버를 경유하여야 하는 것으로 특정할 수 있으며(specify), 랩탑 컴퓨터(116)는 가장 신뢰할 만한 경로가 선택되어야 한다고 특정할 수 있다. 상기 DHCP 서버 선택을 위한 특정 기준은 사용자가 선택할 수 있다.
“기준과 데이터를 비교하라(Compare Criteria and Data)” 블록(260)에서, 프로세스 (250)은 IP 주소 요청을 라우트하는데 최적인 DHCP서버를 결정하기 위해 블록 (254)에서 검색하고 블록 (258)에서 분석한 데이터를 사용한다. 예를 들어, 네트워크 구성 모듈(148)에서 검색한 데이터는 IP 주소 요청을 전송하는데 있어서 통상적으로 홉_1(122) (도 1)을 경유하는 DHCP 서버_1(136) (도 1)이 가장 빠른 응답 시간을 갖는 것으로 나타낼 수 있다. 그러나 다른 데이터는 홉_1(122)이 오프라인임을 나타낼 수 있는데, 이는 홉_2(124)를 경유하여 DHCP 서버_2(140) (도 1)로 전송되는 IP 주소 요청이 더 빠른 것을 의미한다, 그 까닭은 DHCP 서버_1(136) (도 1)로 전송될 경우에는 홉_2(124) (도 1)와 홉_3(126) (도 1)를 모두 경유해야 하기 때문이다.
가장 유리한 응답 시간을 결정하는데 있어서 사용될 수 있는 많은 파라미터들에 대해서는 컴퓨팅 및 통신 기술 분야에 있어서 통상의 지식을 가진 자에게 익숙할 것이다. 또한 응답 시간 외에 다른 사항들이 고려될 수도 있다. 예를 들어, DHCP 서버_1(136) (도 1)이 보안 특징(security features)을 사용하는 경우, 특정 컴퓨터나 특정 응용프로그램으로부터의 특정 IP 주소 요청들에 대해서 DHCP 서버_2(140) (도 1) 보다 DHCP 서버_1(136) (도 1)이 더 바람직할 수 있다.
블록 (260) 또는 블록 (256)에서 선택할 DHCP 서버가 오직 하나뿐이라고 결정하면, 프로세스 (250)은 “DHCP를 선택하라(Select DHCP)” 블록(262)으로 진행한다. 블록 (262)에서, 프로세스 (250)은 요청 디바이스의 기준 및 네트워크들(전송에 필수적임)의 상태에 관하여 DNR(118)가 보유하는 모든 지식에 기초하여 현재 IP 주소 요청을 라우트하기 위해서 최적의 DHCP 서버를 결정한다. 물론 블록 (256)에서 바로 블록 (262)에 도착하는 경우에는, 단일 DHCP 서버가 바로 선택된 서버가 된다. “선택을 전송하라(Transmit Selection)” 블록(264)에서는, 블록 (262)에서의 선택이 주소 요청 프로세스(200) 에 되돌아 와서, 도 4와 관련하여 상술한 프로세싱이 계속된다. 마지막으로, “요청 프로세스를 종료하라(End Process Request)” 블록(269)으로 진행하여 프로세스 (250)은 완료된다.
이상에서 본 발명은 비록 특정 실시 예와 관련하여 도시되고 설명되었지만, 그것은 전술한 실시 예 및 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위에서 여러 가지 치환, 변환 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 이해될 것이다.

Claims (21)

  1. 도메인 호스트 구성 프로토콜(DHCP) 요청을 실행하는 방법에 있어서,
    DHCP 요청을 받는 단계;
    둘 또는 그 이상의 이용 가능한 DHCP 서버들의 리스트에 접근하는 단계;
    제1의 기준에 기초하여 이용 가능한 DHCP 서버들의 상기 리스트로부터 하나의 DHCP서버를 선택하는 단계; 및
    상기 선택된 DHCP 서버에 상기 DHCP 요청을 전송하는 단계를 포함하는
    DHCP 요청을 실행하는 방법.
  2. 제 1항에 있어서,
    이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대한 제1의 메트릭(a first metric)을 산출하는 단계를 더 포함하되;
    DHCP 서버의 상기 선택은 상기 제1의 메트릭에 기초하는
    DHCP 요청을 실행하는 방법.
  3. 제 2항에 있어서, 상기 메트릭은, 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 예상 응답 시간(expected response time); 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 보안 등급(secutity rating) 및 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서 버에 대응하는 예상 프로세싱 부하(expected processing load) 중 적어도 하나와 관련되는
    DHCP 요청을 실행하는 방법.
  4. 제 1항에 있어서,
    다이내믹 네트워크 라우터가 동작하지 않음에 응답하여, 상기 다이내믹 네트워크 라우터와 관련된 주소 요청 프로세스에 비동기식 인터럽트(asynchronous interrupt)를 전송하는 단계; 및
    상기 주소 요청 프로세스의 실행 동안 할당된 메모리가 해제되고 상기 주소 요청 프로세스와 관련된 데이터가 저장되도록 상기 주소 요청 프로세스로부터의 컨트롤을 클린업 리소스 프로세스(cleanup resources process)로 패스하는 단계를 더 포함하는
    DHCP 요청을 실행하는 방법.
  5. 제 1항에 있어서,
    다수의 DHCP 서버들이 이용 가능하다는 결정에 응답하여, DHCP 서버 선택과 관련된 기준을 분석하는 단계(parsing); 및
    상기 다수의 DHCP 서버들 중에서 하나의 DHCP 서버를 선택하기 위해 상기 기준을 사용하는 단계를 더 포함하는
    DHCP 요청을 실행하는 방법.
  6. 제 1항에 있어서, 각각의 DHCP 서버에 대한 예상 응답 시간 및 이용가능성을 결정하기 위해 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버를 핑(ping)하는 단계를 더 포함하는
    DHCP 요청을 실행하는 방법.
  7. 제 1항에 있어서, 상기 방법은 네트워크 라우팅 디바이스에 의해 실행되는
    DHCP 요청을 실행하는 방법.
  8. 도메인 호스트 구성 프로토콜(DHCP) 요청 디바이스에 있어서,
    프로세서;
    둘 또는 그 이상의 이용 가능한 DHCP 서버의 리스트;
    DHCP 요청을 받기 위한, 상기 프로세서상에서 실행되는, 로직;
    제1의 기준에 기초하여 이용 가능한 상기 프로세서상에서 실행되는, DHCP 서버들의 상기 리스트로부터 DHCP서버를 선택하기 위한, 상기 프로세서상에서 실행되는, 로직; 및
    상기 DHCP 요청을 상기 선택된 DHCP 서버에 전송하기 위한, 상기 프로세서상에서 실행되는, 로직을 포함하는
    DHCP 요청 디바이스.
  9. 제 8항에 있어서,
    이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대하여 제1의 메트릭을 산출하기 위한, 상기 프로세서상에서 실행되는, 로직을 더 포함하되;
    DHCP 서버의 상기 선택은 상기 제1의 메트릭에 기초하는
    DHCP 요청 디바이스.
  10. 제 9항에 있어서, 상기 메트릭은, 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 예상 응답 시간(expected response time); 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 보안 등급(secutity rating) 및 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 예상 프로세싱 부하(expected processing load) 중 적어도 하나와 관련되는
    DHCP 요청 디바이스.
  11. 제 8항에 있어서,
    다이내믹 네트워크 라우터가 동작하지 않음에 응답하여, 상기 다이내믹 네트워크 라우터와 관련된 주소 요청 프로세스에 비동기식 인터럽트(asynchronous interrupt)를 전송하는 수단; 및
    상기 주소 요청 프로세스의 실행 동안 할당된 메모리가 해제되고 상기 주소 요청 프로세스와 관련된 데이터가 저장되도록 상기 주소 요청 프로세스로부터의 컨 트롤을 클린업 리소스 프로세스(cleanup resources process)로 패스하는 수단을 더 포함하는
    DHCP 요청 디바이스.
  12. 제 8항에 있어서,
    다수의 DHCP 서버들이 이용 가능하다는 결정에 응답하여, DHCP 서버 선택과 관련된 기준을 분석하는(parsing) 수단; 및
    상기 다수의 DHCP 서버들 중에서 하나의 DHCP 서버를 선택하기 위해 상기 기준을 사용하는 수단을 더 포함하는
    DHCP 요청 디바이스.
  13. 제 8항에 있어서, 각각의 DHCP 서버에 대한 예상 응답 시간 및 이용가능성을 결정하기 위해 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버를 핑(ping)하기 위한, 상기 프로세서상에서 실행되는, 로직을 더 포함하는
    DHCP 요청 디바이스.
  14. 제 8항에 있어서, 상기 디바이스는 네트워크 라우팅 디바이스에 접속되는
    DHCP 요청 디바이스.
  15. 도메인 호스트 구성 프로토콜(DHCP) 요청을 실행하기 위한 컴퓨터 프로그램 에 있어서, 상기 컴퓨터 프로그램은 프로그램 코드 수단을 포함하되, 상기 프로그램 코드 수단은 상기 프로그램이 컴퓨터상에서 실행될 때,
    DHCP 요청을 받는 단계;
    둘 또는 그 이상의 이용 가능한 DHCP 서버들의 리스트에 접근하는 단계;
    제1의 기준에 기초하여 이용 가능한 DHCP 서버들의 상기 리스트로부터 하나의 DHCP서버를 선택하는 단계; 및
    상기 선택된 DHCP 서버에 상기 DHCP 요청을 전송하는 단계
    를 수행하는 DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  16. 제 15항에 있어서,
    이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대한 제1의 메트릭(a first metric)을 산출하는 단계를 수행하는 프로그램 코드를 더 포함하되;
    DHCP 서버의 상기 선택은 상기 제1의 메트릭에 기초하는
    DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  17. 제 16항에 있어서, 상기 메트릭은, 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 예상 응답 시간(expected response time); 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 보안 등급(secutity rating) 및 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버에 대응하는 예상 프로세싱 부하(expected processing load) 중 적어도 하나와 관련되는
    DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  18. 제 15항에 있어서,
    다이내믹 네트워크 라우터가 동작하지 않음에 응답하여, 상기 다이내믹 네트워크 라우터와 관련된 주소 요청 프로세스에 비동기식 인터럽트(asynchronous interrupt)를 전송하는 단계; 및
    상기 주소 요청 프로세스의 실행 동안 할당된 메모리가 해제되고 상기 주소 요청 프로세스와 관련된 데이터가 저장되도록 상기 주소 요청 프로세스로부터의 컨트롤을 클린업 리소스 프로세스(cleanup resources process)로 패스하는 단계를 수행하는 프로그램 코드를 더 포함하는
    DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  19. 제 15항에 있어서,
    다수의 DHCP 서버들이 이용 가능하다는 결정에 응답하여, DHCP 서버 선택과 관련된 기준을 분석하는 단계(parsing); 및
    상기 다수의 DHCP 서버들 중에서 하나의 DHCP 서버를 선택하기 위해 상기 기준을 사용하는 단계를 수행하는 프로그램 코드를 더 포함하는
    DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  20. 제 15항에 있어서,
    각각의 DHCP 서버에 대한 예상 응답 시간 및 이용가능성을 결정하기 위해 이용 가능한 DHCP 서버들의 상기 리스트 상의 각 DHCP 서버를 핑(ping)하는 단계를 수행하는 프로그램 코드를 더 포함하는
    DHCP 요청을 실행하기 위한 컴퓨터 프로그램.
  21. 도메인 호스트 구성 프로토콜(DHCP) 요청을 실행하는 장치에 있어서,
    DHCP 요청을 받는 수단;
    둘 또는 그 이상의 이용 가능한 DHCP 서버들의 리스트에 접근하는 수단;
    제1의 기준에 기초하여 이용 가능한 DHCP 서버들의 상기 리스트로부터 하나의 DHCP서버를 선택하기 위한 수단; 및
    상기 선택된 DHCP 서버에 상기 DHCP 요청을 전송하기 위한 수단을 포함하는
    DHCP 요청 실행을 위한 장치.
KR1020097027492A 2007-07-11 2008-07-04 최적의 dhcp 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법 KR20100021637A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/776,241 US8296438B2 (en) 2007-07-11 2007-07-11 Dynamically configuring a router to find the best DHCP server
US11/776,241 2007-07-11

Publications (1)

Publication Number Publication Date
KR20100021637A true KR20100021637A (ko) 2010-02-25

Family

ID=39791580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097027492A KR20100021637A (ko) 2007-07-11 2008-07-04 최적의 dhcp 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US8296438B2 (ko)
JP (1) JP5132770B2 (ko)
KR (1) KR20100021637A (ko)
CN (1) CN101690132B (ko)
TW (1) TW200922246A (ko)
WO (1) WO2009007327A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182133B2 (en) 2014-12-15 2019-01-15 Xiaomi Inc. Method and device for starting application

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356009B1 (en) * 2002-10-02 2008-04-08 Cisco Technology, Inc. Method and apparatus for configuring a mobile node to retain a “home” IP subnet address
US8700800B2 (en) * 2006-02-15 2014-04-15 Tropos Networks, Inc. Roaming of clients between gateways of clusters of a wireless mesh network
EP1973270B1 (en) * 2007-03-22 2018-01-03 PacketFront Software Solutions AB Broadband service delivery
ATE447278T1 (de) * 2007-08-08 2009-11-15 Packetfront Systems Ab Vlan-datenrahmen und -übertragung
EP2048848B1 (en) * 2007-10-12 2013-12-18 PacketFront Network Products AB Optical data communications
EP2048857A1 (en) * 2007-10-12 2009-04-15 PacketFront Systems AB Method of configuring routers using external servers
EP2048858B1 (en) * 2007-10-12 2010-04-14 PacketFront Systems AB Configuration of routers for DHCP service requests
US8782256B2 (en) 2008-11-26 2014-07-15 Cisco Technology, Inc. Deterministic session load-balancing and redundancy of access servers in a computer network
CN101778132B (zh) * 2010-01-22 2013-03-20 杭州华三通信技术有限公司 一种基于负载均衡的网络安装方法、系统及装置
US8904016B2 (en) * 2010-03-02 2014-12-02 Nokia Corporation Method and apparatus for selecting network services
US8468268B2 (en) 2010-08-26 2013-06-18 Novell, Inc. Techniques for identity and policy based routing
CN102098354B (zh) * 2011-02-28 2014-09-10 北京星网锐捷网络技术有限公司 动态主机配置协议地址分配方法及服务器
US8392585B1 (en) * 2011-09-26 2013-03-05 Theranos, Inc. Methods and systems for facilitating network connectivity
CN102497378B (zh) 2011-12-15 2015-03-18 杭州华三通信技术有限公司 为客户端动态选择dhcp服务器的方法和装置
US9253144B2 (en) * 2011-12-22 2016-02-02 International Business Machines Corporation Client-driven load balancing of dynamic IP address allocation
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US8910282B2 (en) * 2012-09-04 2014-12-09 Jonathan Somers System and method for protecting devices on dynamically configured network
EP2974110B1 (en) * 2013-03-14 2019-10-16 Intel Corporation Privacy aware dhcp service
US9729500B2 (en) * 2013-03-15 2017-08-08 Google Inc. IP allocation pools
US9239723B2 (en) * 2013-05-13 2016-01-19 Lenovo (Singapore) Pte. Ltd. Configuring a device based on proximity to other devices
CN104158916A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 设备接入网络的方法和装置
JP5960650B2 (ja) * 2013-06-14 2016-08-02 日本電信電話株式会社 情報処理装置、通信システム、管理方法、および、管理プログラム
CN104253874B (zh) * 2013-06-27 2018-12-25 华为技术有限公司 一种报文发送和处理的方法、装置和系统
WO2020150620A1 (en) * 2019-01-18 2020-07-23 Interdigital Patent Holdings, Inc. Methods for specifying the type of mac address with dynamic assignment mechanisms

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1073244A (fr) * 1952-03-28 1954-09-21 Arvika Verken Ab Dispositif pour machines à arracher les racines et tubercules
JP3654554B2 (ja) * 1997-11-21 2005-06-02 株式会社小松製作所 ネットワークシステム及びdhcpサーバ選択方法
US7401114B1 (en) * 1998-04-20 2008-07-15 Sun Microsystems, Inc. Method and apparatus for making a computational service highly available
US6973455B1 (en) * 1999-03-03 2005-12-06 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
JP3270012B2 (ja) * 1998-09-08 2002-04-02 富士通株式会社 ネットワークサーバ負荷検出装置、割当装置および方法
US6304913B1 (en) * 1998-11-09 2001-10-16 Telefonaktiebolaget L M Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers
DE69935138T2 (de) * 1999-08-20 2007-11-22 International Business Machines Corp. System und Verfahren zur Optimierung der Leistung und der Verfügbarkeit eines DHCP Dienstes
US6922724B1 (en) * 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6920498B1 (en) * 2000-08-31 2005-07-19 Cisco Technology, Inc. Phased learning approach to determining closest content serving sites
JP3521189B2 (ja) * 2000-09-08 2004-04-19 日本電信電話株式会社 分散サーバ制御方法及び装置ならびに分散サーバ制御プログラムを記録した記録媒体
US6795858B1 (en) 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection
GB2375022B8 (en) * 2001-04-24 2012-05-02 Ip Access Ltd Configuration of Lan Hosts
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7873985B2 (en) * 2002-01-08 2011-01-18 Verizon Services Corp. IP based security applications using location, port and/or device identifier information
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US20060084417A1 (en) * 2002-07-10 2006-04-20 Diego Melpignano Interface selection from multiple networks
US7200678B1 (en) * 2002-09-04 2007-04-03 Cisco Technology, Inc. Selecting network address offered by a plurality of servers based on server identification information
AU2003291711A1 (en) * 2002-11-12 2004-06-03 Next Generation Broadband Intelligent configuration bridge system and method for adding supplemental capabilities to an existing high speed data infrastructure
US20040103194A1 (en) 2002-11-21 2004-05-27 Docomo Communicatios Laboratories Usa, Inc. Method and system for server load balancing
US7346669B2 (en) * 2002-12-19 2008-03-18 Intel Corporation Method, apparatus and system for processing message bundles on a network
US7130996B2 (en) * 2003-10-31 2006-10-31 International Business Machines Corporation Method and system for restricting DHCP servers
JP4603373B2 (ja) * 2004-01-27 2010-12-22 パナソニック株式会社 画像作成装置および画像作成方法
US7257515B2 (en) * 2004-03-03 2007-08-14 Hewlett-Packard Development Company, L.P. Sliding window for alert generation
US7983418B2 (en) * 2004-04-23 2011-07-19 Telefonaktiebolaget Lm Ericsson (Publ) AAA support for DHCP
US20060047826A1 (en) * 2004-08-25 2006-03-02 International Business Machines Corp. Client computer self health check
US7933253B2 (en) * 2004-09-20 2011-04-26 Panasonic Corporation Return routability optimisation
US20060106896A1 (en) 2004-11-12 2006-05-18 International Business Machines Corporation System and method for creating list of backup files based upon program properties
US7280489B2 (en) * 2005-03-01 2007-10-09 Industrial Technology Research Institute Prime numbering address allocation method and unique numbering address allocation method using the same in wireless multi-hop network
US20060218289A1 (en) * 2005-03-27 2006-09-28 Elias Assad Systems and methods of registering and utilizing domain names
US7650405B2 (en) * 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US7529203B2 (en) 2005-05-26 2009-05-05 Symbol Technologies, Inc. Method, system and apparatus for load balancing of wireless switches to support layer 3 roaming in wireless local area networks (WLANs)
US20080300059A1 (en) * 2005-09-09 2008-12-04 Adiraju Srinivyasa M Gaming Network Using Host-Configured Networking Protocols
US8700800B2 (en) * 2006-02-15 2014-04-15 Tropos Networks, Inc. Roaming of clients between gateways of clusters of a wireless mesh network
US20080030764A1 (en) * 2006-07-27 2008-02-07 Microsoft Corporation Server parallel aggregation
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7586912B2 (en) * 2006-07-28 2009-09-08 Cisco Technology, Inc. Techniques for exchanging DHCP information among DHCP relay agents and DHCP servers
CN101197811B (zh) 2006-12-04 2011-05-11 中兴通讯股份有限公司 提高代理方式下动态主机配置协议中服务器可靠性的方法
US7734738B2 (en) * 2007-01-17 2010-06-08 Microsoft Corporation Automatic configuration of client and server networking
US20080198749A1 (en) * 2007-02-20 2008-08-21 Dell Products, Lp Technique for handling service requests in an information handling system
US9325737B2 (en) * 2007-06-28 2016-04-26 Motorola Solutions, Inc. Security based network access selection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182133B2 (en) 2014-12-15 2019-01-15 Xiaomi Inc. Method and device for starting application

Also Published As

Publication number Publication date
WO2009007327A1 (en) 2009-01-15
JP2010533399A (ja) 2010-10-21
US20090019164A1 (en) 2009-01-15
CN101690132A (zh) 2010-03-31
JP5132770B2 (ja) 2013-01-30
CN101690132B (zh) 2013-04-17
US8296438B2 (en) 2012-10-23
TW200922246A (en) 2009-05-16

Similar Documents

Publication Publication Date Title
KR20100021637A (ko) 최적의 dhcp 서버를 찾기 위한 라우터를 동적으로 구성하는 시스템 및 방법
CN108449282B (zh) 一种负载均衡方法及其装置
JP7345059B2 (ja) ルーティング制御方法、装置、プログラム及びコンピュータ装置
US8774055B2 (en) Switching method
US8495208B2 (en) Migrating virtual machines among networked servers upon detection of degrading network link operation
KR101442309B1 (ko) 다수의 아답터들을 통해서 다수의 가상 ip 어드레스를 동시에 지원하는 호스트내 페일오버
JP4418970B2 (ja) ネットワーク機器及びコンピュータプログラム
US20090245242A1 (en) Virtual Fibre Channel Over Ethernet Switch
TWI577164B (zh) 可縮放位址解析之技術
CN109728962B (zh) 一种发送报文的方法和设备
JP5285083B2 (ja) 並行してトポロジを発見する方法および装置
US8078712B2 (en) Systems and methods for network command delegation using auto-discovered pathways
US20120117246A1 (en) Method And System For The Efficient And Automated Management of Virtual Networks
US8631132B2 (en) Ensuring affinity at all affinity domains by folding at each affinity level possible for a partition spanning multiple nodes
EP4068725B1 (en) Topology-based load balancing for task allocation
KR101754618B1 (ko) 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치
JP2006079386A (ja) ストレージエリアネットワーク管理システム及び管理装置とボリューム割当て方法並びにコンピュータ・ソフトウエア
CN116389599A (zh) 网关服务请求的处理、云原生网关系统的管理方法及装置
US20170228539A1 (en) Control device, control system, control method, and control program
CN112910776B (zh) 一种数据转发方法、装置、设备及介质
US10148518B2 (en) Method and apparatus for managing computer system
US10353585B2 (en) Methods for managing array LUNs in a storage network with a multi-path configuration and devices thereof
US8214473B1 (en) Apparatus, system, and method for communicating with a device within a computer system
KR101146742B1 (ko) SaaS의 분산된 세션 관리 방법 및 그 관리 시스템
JP2022182291A (ja) 情報処理装置、情報処理装置の制御方法、及び、情報処理装置の制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application