KR101094033B1 - 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 - Google Patents
분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 Download PDFInfo
- Publication number
- KR101094033B1 KR101094033B1 KR1020100033233A KR20100033233A KR101094033B1 KR 101094033 B1 KR101094033 B1 KR 101094033B1 KR 1020100033233 A KR1020100033233 A KR 1020100033233A KR 20100033233 A KR20100033233 A KR 20100033233A KR 101094033 B1 KR101094033 B1 KR 101094033B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- ring
- network
- representative
- target node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
분산 네트워크를 이용하여 네트워크에 새로운 노드를 등록하는 방법 및 유동 IP의 검색 방법이 제공된다. 유동 IP 검색 방법은 헤드 네트워크 링의 대표노드가 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신하는 단계, 링 정보 테이블을 이용하여 상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 있는지 여부를 확인하는 단계 및 상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 없는 경우, 자식 링들 중에서 상기 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계를 포함한다.
Description
본 발명은 유동 IP의 검색에 관한 것으로서, 더욱 상세하게는 분산 네트워크를 이용하여 네트워크에 새로운 노드를 등록하는 방법 및 유동 IP의 검색 방법에 관한 것이다.
인터넷 망의 대부분의 노드는 유동 IP를 사용한다. 따라서, 원하는 노드를 원격 제어하거나 노드를 통해 다양한 서비스를 제공 받기 위해서는 해당 유동 IP를 알아야 한다.
유동 IP를 알기 위해서는, 해당 유동 IP를 검색해야 한다. 일반적으로 인터넷 기반의 서비스 네트워크에서 유동 IP는 브로드 캐스팅을 이용하여 검색한다. 브로드 캐스팅을 이용한 검색은 모든 노드에 패킷을 전달하여 아이피를 탐색하므로 인터넷을 사용하는 모든 노드가 브로드 캐스팅을 하면 트래픽 부하가 증가한다.
트래픽 부하의 감소를 위한 극복 방안으로 기존 기술은 원하는 노드의 유동아이피 탐색을 위하여 지역 서버를 이용하였다. 지역 서버를 이용한 탐색에서 서버는 서비스 노드들의 아이피 정보를 저장하고, 원하는 노드들이 서버에게 타겟 노드의 아이피를 물어보는 방식으로 진행된다. 이 방법은 탐색도 빠르고 트래픽 부하도 적다. 저장되는 데이터의 용량이 커질수록 더 좋은 성능의 서버 또는 더 많은 수의 서버를 사용해야 한다. 그러나, 서버를 교체하거나 서버의 수를 증가시키는 것은 비효율적이다. 왜냐하면, 미래에는 서비스 네트워크에서 노드로 동작하는 데스크탑 PC와 같은 비모바일 노드 뿐만 아니라, 휴대폰과 같은 모바일 노드의 수와 서비스 주소가 비약적으로 증가할 것이기 때문이다.
종래 기술에서 분산 처리의 경우 네트워크 내에서 브로드 캐스팅을 하므로 원하는 서비스가 아닌 모든 노드에게 데이터를 전송한다. 또한, 비 분산 처리의 경우 서버에서 원하는 서비스의 노드 인터넷 주소를 기억하고 있어야 하므로 데이터 부하가 크고 서버의 시설 비용이 증가 한다.
또한, 계층적 구조의 분산 네트워크가 상대적으로 인터넷 연결성이 약한 모바일 노드를 포함하면 네트워킹이 불안정해진다.
따라서, 계층적 구조의 분산 네트워크에서 모바일 노드를 포함하면서도 안정한 네트워크의 구현이 가능한 기술들이 계속적으로 연구되어야 한다.
본 발명은 인터넷의 브로드 캐스팅을 이용하지 않고, 인터넷의 연결이 불안정한 모바일 노드를 포함하는 분산 네트워크를 형성하되, 네트워크 링과 주소범위를 이용한 대표 노드간(Peer to Peer) 통신을 통하여 유동 IP를 검색하는 방법을 제공한다.
또한, 본 발명은 대표 노드간 통신을 이용함으로써, 지역 혹은 전역에 서비스를 제공하고, 상대 노드를 원격제어 하거나 특정 네트워크에 접속하여 원하는 서비스 주소를 이용하여 서비스를 제공 받을 수 있도록 유동 IP를 검색하는 방법을 제공한다.
본 발명의 일실시예에 따른 유동 IP 검색 방법은 헤드 네트워크 링의 대표노드가 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신하는 단계, 링 정보 테이블을 이용하여 상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 있는지 여부를 확인하는 단계 및 상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 없는 경우, 자식 링들 중에서 상기 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계를 포함한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 내부 노드가 타겟 노드의 ID가 상기 내부 노드가 속한 네트워크 링의 주소범위 내인지 확인하는 단계, 상기 타겟 노드의 ID가 네트워크 링의 주소범위 내에 있는 경우, 링 정보 테이블을 이용하여 상기 네트워크 링에 상기 타겟 노드의 ID가 등록되어 있는지 여부를 확인하는 단계, 상기 타겟 노드의 ID가 상기 네트워크 링에 등록되지 않은 경우, 상기 네트워크 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계, 상기 대표노드가 자식 링 중에서 상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 링이 있는지 확인하는 단계 및 상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 자식 링이 있는 경우, 부모 링 및 상기 주소 범위를 가진 자식 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계를 포함한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색을 위한 네트워크 시스템은 부모 링의 대표 노드 또는 자식 링의 대표 노드와 유동 IP 검색을 위한 시그널링을 수행하는 대표 노드 및 임의의 노드에 대한 유동 IP 검색 필요 시, 상기 대표 노드로 유동 IP 검색을 요청하는 멤버 노드를 포함한다.
본 발명은 인터넷의 브로드 캐스팅을 이용하지 않고, 인터넷의 연결이 불안정한 모바일 노드를 포함하는 분산 네트워크를 형성하되, 네트워크 링과 주소범위를 이용한 대표 노드간(Peer to Peer) 통신을 통하여 유동 IP를 검색하는 방법을 제공할 수 있다.
또한, 본 발명은 대표 노드간 통신을 이용함으로써, 지역 혹은 전역에 서비스를 제공하고, 상대 노드를 원격제어 하거나 특정 네트워크에 접속하여 원하는 서비스 주소를 이용하여 서비스를 제공 받을 수 있도록 유동 IP를 검색하는 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 외부 서비스 망에 있는 노드가 다른 서비스 망의 노드의 유동 IP주소를 찾는 경우를 나타낸 도면이다.
도 2는 링 정보 테이블을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 내부 서비스 망에 있는 노드가 서비스 망 내에서 다른 노드의 유동 IP주소를 찾는 경우를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 서비스 노드를 등록하는 경우를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 기존에 존재하는 서비스 망에 노드를 등록하는 경우를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 네트워크 시스템을 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 유동 IP 검색 장치의 블록도이다.
도 8은 네트워크 링을 구성하는 노드의 기능을 설명하는 도면이다.
도 2는 링 정보 테이블을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 내부 서비스 망에 있는 노드가 서비스 망 내에서 다른 노드의 유동 IP주소를 찾는 경우를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 서비스 노드를 등록하는 경우를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 기존에 존재하는 서비스 망에 노드를 등록하는 경우를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 네트워크 시스템을 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 유동 IP 검색 장치의 블록도이다.
도 8은 네트워크 링을 구성하는 노드의 기능을 설명하는 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 외부 서비스 망에 있는 노드가 다른 서비스 망의 노드의 유동 IP주소를 찾는 경우를 나타낸 도면이다.
도 1은 외부 노드가 찾고자 하는 타겟 노드의 유동 IP를 탐색하는 방법을 포함하는 서비스망의 연결 구조이다. 외부 노드란 동일한 서비스를 제공하지 않는 서비스 망에 속한 노드를 의미한다. 타겟 노드란 노드가 검색하고자 하는 서비스 망에 속한 노드를 의미한다.
본 발명의 일실시예에 따른 유동 IP 검색 방법에서는 가지의 개수는 N개, 주소의 비트 개수가 2의 N승이 될 수 있다. 즉, 탐색할 수 있는 트리는 N진 트리이고, 주소의 범위는 0~2N-1이 될 수 있다. 도 1에서는 4진 탐색 트리(4개씩 탐색)이고 주소가 8비트인(즉, 주소범위는 0~28-1) 구조를 예로 들었다.
트리에서 부모 혹은 자식 노드가 되는 부분이 각각 별개로만 있는 것이 아니라 적어도 하나 이상의 노드가 모여 반지 모양의 형상을 이룬다. 따라서, 적어도 하나 이상의 노드가 모여 생긴 그룹(R110~R190)을 모양을 따서 네트워크 링이라고 칭한다. 네트워크 링으로 노드를 그룹핑한 이유는, 모바일 기기와 같이 인터넷 연결성이 약한(예를 들어, 밧데리 방전 등) 노드를 포함하는 계층형 분산 네트워크를 구축함에 있어서 안정도를 높이기 위함이다.
각 네트워크 링(R110~R190)은 링을 유지하기 위한 정보를 테이블로 저장한다. 각 링의 노드들은 테이블 정보를 갱신하고 전송하며 최신의 링 정보를 공유한다. 모든 노드는 본인 링의 노드의 정보 테이블과 부모 링의 모든 노드의 정보 테이블, 자식 링의 모든 노드의 정보 테이블을 가진다. 각 링의 구성 노드 개수는 네트워크 구축의 용도에 따라 정할 수 있으며, 각 링마다 동일할 필요는 없다. 또한, 링에 속한 노드의 성능을 고려하여 정하면 된다. 따라서, 네트워크 링에서 하나의 노드가 기능을 상실하더라도, 다른 노드가 대체할 수 있다.
도 1에 도시된 예에서, 네트워크 링(R110)을 예로 들어 저장 및 공유되는 링 정보를 설명한다. 도 1에 도시된 예에서, 네트워크 링(R110)에 속한 노드의 숫자(120, 10, 50, 90)는 탐색 구조의 키 값이 되는 노드의 유일한 ID(예를 들면, 국가번호+휴대폰번호)를 의미한다.
각 링의 대표노드는 가장 왼쪽에 위치하여 상기 네트워크 링(R110)의 경우 대표노드는 120(엄밀한 의미에서 대표노드의 ID)이다. 대표노드는 각 네트워크 링에 속하는 노드를 관리하는 링이며, 후술 할 자식 링 또는 부모 링의 대표노드와 메시지를 주고 받는 역할을 한다. 또한, 도 1에서는 대표노드가 링의 가장 왼쪽에 위치하였지만, 디렉토리 서버, 또는 노드의 하드웨어 성능(예를 들어, 용량, 속도 등)에 따라 다양한 위치에 존재 할 수 있다.
각 링의 정보 테이블은 자신의 링의 대표노드 ID가 120임을 명시하고, 링에 속한 노드의 ID값(120, 10, 50, 90)과 IP주소를 저장하며, 자신의 네트워크 링(110)에 포함 될 수 있는 노드의 ID의 최소값과 최대값(주소범위, 0~255)을 저장한다.
헤드 네트워크 링(도 1의 0계층)에 포함 될 수 있는 ID의 최대, 최소값은 주소의 전체이다. 헤드 네트워크 링이란 가장 낮은 계층 값을 가지는(0 계층) 네트워크 링을 말한다. 그 이외의 네트워크 링은 M계층(1이상의 자연수)의 N진 탐색 트리(2의 n지수승)에서 K번째 자식(1이상의 자연수)링인 경우, 포함 될 수 있는 ID의 최소값은 (자신의 부모 링의 최소값 + ((자신의 부모 링의 최대값 - 자신의 부모 링의 최소값 + 1)/N)*(K-1))이고, 최대값은 (자신의 부모 링의 최소값 + ((자신의 부모 링의 최대값 - 자신의 부모 링의 최소값 + 1)/N)*K -1)이다.
자식 링과 부모 링의 구분은 상대적인 것으로 계층 값이 낮은 링이 부모 링이고, 계층 값이 높은 링이 자식 링이다. 예를 들어, 네트워크 링(R110)은 네트워크 링(R120)의 부모 링이고, 네트워크 링(R120)은 네트워크 링(R160)의 부모 링이다. 또한, 네트워크 링(R110) 정보 테이블은 자식 링의 대표노드 48, 69, 150, 199의 IP주소를 포함한다.
본 발명의 일실시예에 따른 외부 노드(100)가 타겟 노드(63)의 유동 IP를 탐색하는 방법을 설명한다.
본 발명의 일실시예에 따른 유동 IP 검색 방법에서 헤드 네트워크 링의 대표노드는 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신한다. 외부 노드(100)으로부터 헤드 네트워크 링(R110)의 대표노드(120)는 타겟 노드의 ID(63)을 포함하는 메시지를 수신한다(11). 이 때, 외부 노드(100)는 타겟 노드(63)의 서비스를 디렉토리 서버에서 검색하고, 타겟 노드(63)가 속한 서비스 망의 가상 주소를 수신한다. 외부 노드(100)는 수신한 가상 주소를 이용하여 탐색과정을 통해 외부 노드가 속한 서비스 망의 대표노드에 메시지를 전달 할 수 있다. 서비스 망의 대표노드는 보통 헤드 네트워크 링의 대표노드를 의미한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 헤드 네트워크 링 정보 테이블을 이용하여 헤드 네트워크 링에 타겟 노드가 등록되어 있는지 여부를 확인한다. 링 정보 테이블(120, 10, 50, 90)에 타겟 노드의 ID(63)는 없음을 확인한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 헤드 네트워크 링에 타겟 노드의 ID가 없는 경우, 자식 링들 중에서 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에 타겟 노드의 ID를 포함하는 메시지를 전달한다. 헤드 네트워크 링(R110)에 타겟 노드의 ID(63)가 없으므로, 자식 링들(R120, R130, R140, R150) 중에서 타겟 노드(63)의 주소범위(0~63)를 가지는 자식 링(R120)의 대표노드(48)에게 타겟 노드의 ID(63) 및 외부 노드(100)의 IP 등을 포함하는 메시지를 전달한다(13). 이 때, 타겟 노드의 ID를 포함하는 메시지에는 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 메시지가 포함될 수 있다.
네트워크 링(R120)은 링 정보 테이블(48, 12, 15, 36)을 이용하여 타겟 노드의 ID(63)가 없음을 확인하고, 자식 링들(R160, R170, R180, R190) 중에서 타겟 노드(63)의 주소범위(48~63)를 가지는 자식 링(R190)의 대표노드(63)에게 타겟 노드의 ID(63) 및 외부 노드(100)의 IP 등을 포함하는 메시지를 전달한다(15). 즉, 메시지를 전달 받은 대표노드는 대표노드가 속한 네트워크 링에 타겟 노드의 ID가 있는지를 확인하고, 없는 경우 계속하여 마지막 계층에 도달 할 때까지 자식 링들 중 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에게 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달 할 수 있다.
네트워크 링(R190)의 대표노드(63)는 링 정보 테이블을 이용하여 타겟 노드의 ID(63)가 있음을 확인하고, 메시지에 포함된 외부 노드(100)의 IP 주소로 자신(63)의 IP 주소를 전송한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 헤드 네트워크 링이 아닌 임의의 네트워크 링의 노드는 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신할 수 있다. 즉, 외부 노드가 디렉토리 서버를 통해 검색하고자 하는 서비스 망의 대표노드가 아닌 다른 노드를 통해, 탐색을 시작하는 경우이다. 예를 들면, 헤드 링을 통해 검색된 타겟 노드의 IP 주소가 디렉토리 서버에 저장되어 있고, 동일한 서비스 망의 다른 노드의 유동 IP 주소를 검색하는 경우, 이미 알고 있는 타겟 노드에서 탐색을 시작할 수 있다.
메시지를 수신한 임의의 네트워크 링의 노드는 타겟 노드의 ID가 상기 임의의 네트워크 링의 주소범위에 포함되는지 여부를 확인한다. 타겟 노드의 ID가 상기 임의의 네트워크 링의 주소범위에 포함되지 않으면, 바로 메시지를 수신한 노드는 대표노드를 통해 부모 링의 대표노드에게 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달한다. 타겟 노드의 ID가 상기 임의의 네트워크 링의 주소범위에 포함되면, 상기 임의의 네트워크 링 정보 테이블을 이용하여 타겟 노드의 ID가 등록되어 있는지 여부를 확인한다.
타겟 노드의 ID가 등록되어 있다면, 메시지를 수신한 노드는 외부 노드의 IP 주소로 타겟 노드의 ID 및 IP를 포함하는 정보를 전달한다. 타겟 노드의 ID가 등록되어 있지 않다면, 메시지를 수신한 노드는 대표노드를 통하여 상기 임의의 네트워크 링의 부모 링의 대표노드 및 타겟 노드 ID의 주소범위를 가지는 자식 링의 대표노드에게 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달한다.
메시지를 수신한 부모 링의 대표노드는 상기 절차를 통해 부모 링의 주소범위에 타겟 노드의 ID가 포함되는지 여부 및 부모 링에 타겟 노드의 ID가 등록되어 있는지를 확인한다. 부모 링의 주소범위에 타겟 노드의 ID가 포함되지 않거나, 부모 링에 타겟 노드의 ID가 등록되어 있지 않다면, 상기 부모 링의 부모 링에 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달한다. 또한, 상기 임의의 네트워크 링의 주소범위에 포함되지 않아 부모 링의 대표노드에 메시지가 전달된 경우에는 상기 부모 링의 자식 링 중 타겟 노드 ID의 주소범위를 가지는 자식 링의 대표노드에게 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달한다.
메시지를 수신한 자식 링의 대표노드는 상기 절차를 통해 자식 링에 타겟 노드의 ID가 등록되어 있는지 확인한다. 자식 링에 타겟 노드의 ID가 등록되어 있지 않다면, 부모 링은 이미 탐색하였으므로, 상기 자식 링의 자식 링 중 타겟 노드 ID의 주소범위를 가지는 자식 링의 대표노드에게 외부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 내용을 담은 메시지를 전달할 수 있다.
위와 같은 절차는, 탐색을 시작하는 노드에서는 부모 링 및 타겟 노드의 ID의 주소범위를 가진 자식 링에 탐색 메시지를 전달하면 되지만, 탐색을 진행하는 도중의 각 링에서 부모 링과 자식 링 간에 탐색 절차가 중복되지 않게 하기 위함이다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 타겟 노드의IP 주소 탐색의 실패는 소스 노드가(타겟 노드의 IP를 원하는 노드를 칭함) 헤드 링과 리프 링(자식 링이 없는 링)으로부터 검색 실패라는 메시지를 받는 경우를 의미한다. 헤드 링이 소스 노드에 검색 실패 메시지를 전송하는 경우는, 타겟 노드의 ID가 헤드 링에 등록되지 않는 경우이다. 다만, 탐색 절차를 바로 종료하는 것이 아니고 탐색 메시지를 전달한 대표노드가 속한 자식 링이 자식 링 중 주소범위가 타겟 노드의 ID를 포함하는 자식 링과 일치하는 경우에 탐색 절차를 종료한다. 헤드 링의 대표노드는 탐색 메시지를 전달한 대표노드가 속한 자식 링이 자식 링 중 주소범위가 타겟 노드의 ID를 포함하지 않는 자식 링인 경우에는 타겟 노드의 ID를 포함하는 다른 자식링의 대표노드에게 탐색 메시지를 전달해야 한다. 리프 링이 소스 노드에 검색 실패 메시지를 전송하는 경우는, 리프 링에 타겟 노드의 ID가 등록되지 않는 경우이다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 타겟 노드의 IP주소 탐색의 실패는 소스 노드가 헤드 링으로부터 타겟 노드가 등록되지 않았다는 실패 메시지 및 타겟 노드의 ID를 포함하는 주소범위를 가진 자식 링이 없다는 메시지를 받는 경우도 포함 할 수 있다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 서비스 망간에 분산처리와 탐색트리를 사용하므로 디렉토리 서버는 서비스 명과 서비스 가상 주소만 저장한다. 또한, 디렉토리 서버는 트리의 루트 노드의 부하를 방지하기 위하여 최근 등록된 서비스의 대표노드 인터넷 주소를 저장한다. 서비스망의 각 노드는 자신에게 연결된 부모 링과 자식 링의 각 노드의 인터넷주소와 서비스 주소를 저장한다. 즉, 서비스망을 탐색시에 디렉토리 서버를 거치지 않고 노드간 통신을 이용하므로 디렉토리 서버는 더 많은 서비스에 가상 주소를 할당하여도 부하가 작다.
도 2는 링 정보 테이블을 나타낸 도면이다.
각 네트워크 링의 노드는 타겟 노드의 ID가 링에 있는지 여부를 확인 할 때, 링 정보 테이블을 이용한다.
각 링 정보 테이블은 자신의 링의 대표노드 ID, 링에 속한 노드의 ID값, 각 노드의 IP 주소, 링에 포함 될 수 있는 노드 ID의 최대값과 최소값(주소범위), 부모 링 또는 자식 링의 모든 노드의 정보 테이블 등을 저장한다. 따라서, 대표노드가 동작을 하지 않는 경우에도, 다른 노드가 대신 대표노드의 기능을 수행할 수 있는 정보가 링 정보 테이블에 저장되어 있다.
예를 들어, 도 1의 헤드 네트워크 링의 링 정보 테이블을 보면(도 2에 도시된) 헤드 네트워크 링(R110)의 대표노드 ID는 120임을 명시하고, 링에 속한 노드의 ID값(120, 10, 50, 90)과 IP주소를 저장하고, 자신의 네트워크 링에 포함 될 수 있는 노드의 ID의 최대와 최소값 0~255(주소범위)을 저장한다. 또한, 링 정보 테이블은 자식 링의 대표노드 48, 69, 150, 195의 IP주소를 저장한다. 기타 부모 링 또는 자식 링의 각 노드에 관련된 정보를 링 정보 테이블에 저장한다.
도 3은 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 내부 서비스 망에 있는 노드가 서비스 망 내에서 다른 노드의 유동 IP주소를 찾는 경우를 나타낸 도면이다.
도 3은 내부 노드가 찾고자 하는 타겟 노드의 유동 IP를 탐색하는 방법을 포함하는 서비스 망의 연결 구조이다. 서비스 망의 연결 구조는 도 1과 동일하고 외부 노드가 아닌 내부 노드가 유동 IP를 탐색한다는 점에서 차이가 있다. 내부 노드란 동일한 서비스 망에 속한 노드를 의미한다.
본 발명의 일실시예에 따른 유동 IP 검색 방법에서 내부 노드는 타겟 노드의 ID가 내부 노드가 속한 네트워크 링의 주소범위에 포함되는지 확인한다. 내부 노드(300)는 내부 노드가 속한 네트워크 링(R160)의 주소범위(0~15)에 타겟 노드의 ID(41)가 포함되는지 링 정보 테이블을 이용하여 확인한다. 네트워크 링(R160)의 주소범위는 0~15 이므로 타겟 노드의 ID(41)는 포함되지 않음을 확인한다.
반대로, 네트워크 링의 주소범위에 타겟 노드의 ID가 포함되는 경우에는 링 정보 테이블을 이용하여 타겟 노드의 ID가 등록되어 있는지 확인한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 타겟 노드의 ID가 네트워크 링의 주소범위 내에 없거나, 네트워크 링에 등록되지 않은 경우, 네트워크 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 전달한다. 이 때, 타겟 노드의 ID를 포함하는 메시지는 내부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 메시지를 포함할 수 있다. 내부 노드(300)는 타겟 노드의 ID(41)가 네트워크 링(R160)의 주소범위에 포함되지 않으므로, 대표노드(2)에게 타겟 노드의 ID(41)를 포함하는 메시지를 전달한다(31).
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서, 타겟 노드의 ID를 포함한 메시지를 수신한 대표노드는 부모 링에 탐색 메시지를 보내고, 타겟 노드의 ID가 네트워크 링의 주소범위에 포함은 되지만, 등록되지 않은 경우에는 자식 링 중에서 타겟 노드의 ID를 포함하는 주소범위를 가지는 링이 있는지 확인한다. 대표노드(2)는 네트워크 링(R160)의 주소범위가 타겟 노드의 ID(41)를 포함하지 않으므로 부모 링(R120)으로만 탐색 가능하고, 부모 링(R120)의 주소범위(0~63)가 타겟 노드의 ID(41)를 포함하므로 계속 탐색 가능하다. 다른 예로, 네트워크 링(R120)의 대표노드(48)가 타겟 노드의 ID(41)를 검색하는 경우라면, 부모 링(R110)이 있고, 자식 링들(R160, R170, R180, R190) 중에서 주소범위(32~47)를 가진 자식 링(R180)이 있음을 확인할 수 있다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 타겟 노드의 ID를 포함하는 주소 범위를 가지는 링이 있는 경우, 주소 범위를 가진 자식 링 또는 부모 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 전달한다. 대표노드(2)는 부모 링(R120)의 대표노드(48)에게 타겟 노드의 ID(41)를 포함하는 메시지를 전달한다(33).
또한, 대표노드(48)는 링 정보 테이블을 이용하여 네트워크 링(R120)에 타겟 노드의 ID가 등록되지 않았음을 확인한다. 등록되지 않은 경우, 탐색 메시지를 수신한 대표노드는 탐색 메시지를 전달한 대표노드가 어느 링에 속하는지를 링 정보 테이블을 이용해 검사한다. 부모 링에서 온 경우라면, 타겟 노드의 ID 를 포함하는 주소범위를 가지는 자식 링의 대표노드에게 탐색 메시지를 전달한다. 자식 링에서 온 경우라면, 부모 링에는 무조건 탐색 메시지를 전달하고, 탐색 메시지를 전달한 자식 링의 주소범위가 타겟 노드의 ID를 포함하지 않았다면, 타겟 노드의 ID를 포함하는 다른 자식 링의 대표노드에게 탐색 메시지를 전달한다.
대표노드(48)는 탐색 메시지를 전달한 대표노드(2)가 자식 링에 속하므로, 부모 링(R110)의 대표노드(120)에 탐색 메시지를 전달하고(37), 대표노드(2)가 속한 자식 링의 주소범위(0~15)가 타겟 노드의 ID(41)를 포함하지 않으므로 자식 링 중에서 타겟 노드의 주소범위를 가지는 자식 링(R180)의 대표노드(38)에게 타겟 노드의 ID(41)를 포함하는 메시지를 전달한다(35). 이 때, 타겟 노드의 ID를 포함하는 메시지는 내부 노드의 IP 주소 정보와 타겟 노드의 IP 주소를 검색한다는 메시지를 포함할 수 있다.
자식 링(R180)의 대표노드(38)는 자신의 링 정보 테이블을 이용하여 타겟 노드의 ID(41)가 있음을 확인하고, 내부 노드(300)의 IP주소로 링 정보 테이블에 있는 타겟 노드(41)의 IP주소를 전달한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법은 네트워크 링에서 대표노드가 아닌, 링을 구성하는 임의의 노드가 직접, 부모 링(또는 자식링)의 대표노드, 부모 링(또는 자식 링)을 통해 알게된 타겟 노드 IP의 주소범위를 가진 네트워크 링의 대표노드와 시그널링을 수행할 수 있다.
즉, 소스 노드는 부모 링의 대표노드의 IP주소를 알고 있으므로 부모 링의 대표노드에 타겟 노드의 ID를 포함하는 메시지를 직접 전달할 수 있다. 이 때, 메시지에는 소스 노드의 ID, IP주소, 타겟 노드의 ID, 소스 노드가 속한 링이 메시지를 전달 받는 링과의 관계에서 부모 링인지 몇 번째 자식 링인지 등에 관한 정보가 포함될 수 있다. 소스 노드로부터 탐색 메시지를 전달받은 부모 링의 대표노드는 부모 링의 주소범위가 타겟 노드의 ID를 포함하는지 여부 및 부모 링에 타겟 노드의 ID 등록여부를 확인한다. 부모 링의 대표노드는 부모 링에 타겟 노드가 등록되지 않은 경우, 타겟 노드의 ID를 포함하는 주소범위를 가진 (제1)네트워크 링(부모 링, 자식 링)에 관한 정보(대표노드의ID, IP주소 등)와 부모 링이 상기 타겟 노드의 ID를 포함하는 주소범위를 가진 (제1)네트워크 링과의 관계에서 부모 링 또는 몇 번째 자식 링인지 등을 나타내는 정보를 포함한 메시지를 소스 노드에 전달한다.
소스 노드는 전달받은 메시지의 정보를 통해 상기 타겟 노드의 ID를 포함하는 주소범위를 가진 (제1)네트워크 링의 대표노드에 직접 탐색 메시지를 전달한다. 탐색 메시지를 전달받은 상기 타겟 노드의 ID를 포함하는 주소범위를 가진 (제1)네트워크 링의 대표노드는 타겟 노드의 등록여부를 확인한다. 등록되어 있는 경우에는 타겟 노드의 IP 주소를 소스 노드의 IP주소로 전달한다. 등록되어 있지 않은 경우에는 타겟 노드의 ID를 포함하는 주소범위를 가진 또 다른 (제2)네트워크 링(부모 링, 자식 링)에 관한 정보와 상기 탐색 메시지를 전달받은 (제1)네트워크 링이 상기 타겟 노드의 ID를 포함하는 주소범위를 가진 또 다른 (제2)네트워크 링과의 관계에서 부모 링 또는 몇 번째 자식 링인지 등을 나타내는 정보를 포함한 메시지를 소스 노드에 전달한다. 이와 같은 절차는 타겟 노드의 ID를 탐색하거나, 소스 노드가 헤드 링 및 리프 링에서 검색 실패 메시지를 전송받을 때까지 반복한다. 소스 노드는 직접 타겟 노드의 ID를 포함하는 주소범위를 가진 네트워크 링의 대표노드와 시그널링을 수행하되, 이미 시그널링을 수행한 네트워크 링을 제외하기 위해 탐색 메시지를 전달하는 네트워크 링과 탐색 메시지를 전달받는 네트워크 링의 관계가 부모 링 또는 몇 번째 자식 링인지에 대한 정보를 전달 받는 것이다. 부모 링 또는 몇 번째 자식 링인지에 대한 정보는 각 링 정보 테이블에서 알 수 있다.
도 3을 참조하여 예를 들면, 소스 노드(8)와 타겟 노드(200)인 경우를 살펴본다. 소스 노드(8)는 자신이 속한 링(R160)의 주소범위에 타겟 노드의 ID(200)가 포함되지 않으므로 부모 링(R120)의 대표노드(48)에게 소스 노드의 ID(8), IP주소, 타겟 노드의 ID(200) 및 부모 링(R120)과의 관계에서 첫 번째 자식 링(R160)이라는 정보를 포함한 탐색 메시지를 전달한다. 부모 링(R120)의 대표노드(48)는 부모 링(R120)의 주소범위에 타겟 노드의 ID(200)가 포함되지 않으므로, 소스 노드(8)에게 자신의 부모 링(R110)에 관한 정보(대표노드의 ID(120), IP주소 등) 및 자신의 부모 링(R110)과의 관계에서 첫 번째 자식 링(R120)임을 나타내는 정보를 포함한 메시지를 전달한다.
상기 메시지를 전달받은 소스 노드(8)는 헤드 링(R110)의 대표노드(120)에게 소스 노드의 ID(8), IP주소, 타겟 노드의 ID(200) 및 부모 링(R110)과의 관계에서 첫 번째 자식 링(R120)이라는 정보를 포함한 탐색 메시지를 전달한다. 헤드 링(R110)의 대표노드(120)는 헤드 링(R110)의 주소범위(0~255)에 타겟 노드의 ID(200)가 포함되므로, 링 정보 테이블을 이용하여 타겟 노드가 등록되지 않음을 확인한다. 헤드 링(R110)의 대표노드(120)는 헤드 링에 타겟 노드가 등록되지 않아 검색에 실패했다는 메시지, 타겟 노드의 ID(200)를 포함하는 주소범위를 가진 자식 링(R150)에 관한 정보(대표노드의 ID(195), IP주소 등) 및 자식 링(R150)과의 관계에서 부모 링(R110)이라는 정보를 포함한 탐색 메시지를 소스 노드(8)에게 전달한다. 소스 노드(8)는 네트워크 링(R150)의 대표노드(195)에게 소스 노드의 ID(8), IP주소, 타겟 노드의 ID(200) 및 네트워크 링(R150)과의 관계에서 부모 링(R110)이라는 정보를 포함한 탐색 메시지를 전달한다. 네트워크 링(R150)의 대표노드(195)는 링 정보 테이블을 이용하여 타겟 노드가 등록되지 않음을 확인한다. 네트워크 링(R150)의 대표노드(195)는 더 이상 자식 링이 없으므로 소스 노드(8)에게 검색이 실패했다는 메시지를 전달한다. 소스 노드(8)는 헤드 링(R110)과 리프 링(R150)으로부터 실패 메시지를 전달 받으므로 탐색 절차를 종료한다. 소스 노드(8)가 직접 네트워크 링의 대표노드(48, 120, 195)와 시그널링을 수행하되, 정보를 얻게 된 네트워크 링의 대표노드와 그 다음의 탐색 메시지를 전달 할 네트워크 링의 관계에 관한 정보를 전송함으로써, 탐색절차가 중복되지 않는다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 타겟 노드의IP 주소 탐색의 실패는 소스 노드가(타겟 노드의 IP를 원하는 노드를 칭함) 헤드 링과 리프 링(자식 링이 없는 링)으로부터 검색 실패라는 메시지를 받는 경우를 의미한다. 헤드 링이 소스 노드에 검색 실패 메시지를 전송하는 경우는, 타겟 노드의 ID가 헤드 링에 등록되지 않는 경우이다. 다만, 탐색 절차를 바로 종료하는 것이 아니고 탐색 메시지를 전달한 대표노드가 속한 자식 링이 자식 링 중 주소범위가 타겟 노드의 ID를 포함하는 자식 링과 일치하는 경우이다. 헤드 링의 대표노드는 탐색 메시지를 전달한 대표노드가 속한 자식 링이 자식 링 중 주소범위가 타겟 노드의 ID를 포함하지 않는 자식 링인 경우에는 타겟 노드의 ID를 포함하는 다른 자식링의 대표노드에게 탐색 메시지를 전달해야 한다. 리프 링이 소스 노드에 검색 실패 메시지를 전송하는 경우는, 리프 링에 타겟 노드의 ID가 등록되지 않는 경우이다.
즉, 헤드 링(R110)의 대표노드(120)는 링 정보 테이블을 이용하여 타겟 노드의 ID(41)가 등록되지 않음을 확인하고 소스 노드(300)에게 검색 실패 메시지를 전달한다. 또한, 탐색 메시지를 전달한 대표노드(48)가 속한 자식 링(R120)이 타겟 노드의 ID(41)를 포함하는 자식 링(R120)과 일치하므로 헤드 링을 통한 탐색 절차를 종료한다. 다만, 소스 노드(300)는 리프 링(R180)에 타겟 노드의 ID(41)가 등록되어 있으므로 리프 링(R180)으로부터 검색 실패 메시지가 아닌 타겟 노드의 IP주소를 전달받아 유동 IP 주소 검색을 완료한다.
또한, 본 발명의 일실시예에 따른 유동 IP 검색 방법에서 타겟 노드의 IP주소 탐색의 실패는 소스 노드가 헤드 링으로부터 타겟 노드가 등록되지 않았다는 실패 메시지 및 타겟 노드의 ID를 포함하는 주소범위를 가진 자식 링이 없다는 메시지를 받는 경우도 포함 할 수 있다. 도 3을 참조하여 예를 들면, 먼저, 헤드 링(R110)의 네 번째 자식 링(R150)이 존재하지 않는다고 가정한다. 소스 노드(2)가 타겟 노드(250)의 유동 IP주소를 검색하는 경우에, 부모 링(R120)을 거쳐 헤드 링(R110)의 대표노드(120)에 탐색 메시지를 전달한다. 대표노드(120)는 타겟 노드(250)가 주소범위(0~255)에 포함되므로, 링 정보 테이블을 이용하여 등록되지 않음을 확인한다. 헤드 링(R110)에 등록되지 않았으므로 소스 노드(2)에 검색 실패 메시지를 전송한다. 다만, 탐색 메시지를 전달한 자식 링(R120)의 주소범위(0~63)가 타겟 노드(250)를 포함하지 않으므로, 타겟 노드(250)를 포함하는 자식 링이 있는지 링 정보 테이블을 이용하여 확인한다. 위에서 헤드 링(R110)의 네 번째 자식 링(R150)은 없다고 가정하였으므로 타겟 노드(250)를 포함하는 자식 링은 존재하지 않는다. 이 경우에 헤드 링(R110)은 소스 노드에 헤드 링에 타겟 노드가 등록 되지 않았다는 검색 실패 메시지 및 자식 링 중에 타겟 노드를 포함하는 자식 링이 존재하지 않는다는 메시지도 함께 전달하여 탐색 절차를 종료한다.
도 4는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 서비스 노드를 등록하는 경우를 나타낸 도면이다.
도 4는 전체 분산 네트워크의 구조이다. 먼저, 디렉토리서버(410), 서비스 대표 노드(420, 430, 440, 450, 460), 일반 노드(400)를 설명하고, 신규 서비스망(신규 서비스 노드)의 등록을 설명한다. 신규 노드(400)는 신규 서비스 망을 등록하고자 하는 노드이다. 디렉토리 서버(410)는 본 네트워크의 트리 구조를 관리한다. 분산 네트워크의 트리 구조는 일반적인 N진 탐색 트리이다. 디렉토리 서버(410)는 루트 서비스 망의 대표노드(420)의 서비스 주소와 인터넷 주소를 저장하고 있다. 또한, 등록되는 각 서비스 망의 대표노드(420, 430, 440, 450, 460)에 대한 서비스 주소 및 인터넷 주소를 저장하고 있다. 서비스 주소는 디렉토리 서버(410)에서 각 서비스 망의 대표노드에 일정 기준을 가지고 부여한 가상 주소이다. 루트 서비스 망은 분산 네트워크의 트리 구조가 시작되는 서비스 망을 의미한다. 서비스 망의 대표노드는 각 서비스 망의 정의에 따라 정할 수 있다. 예를 들어, 헤드 네트워크 링의 대표노드가 전체 서비스 망의 대표노드가 될 수 있다.
도 4를 참조하면, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 신규 서비스 노드를 등록하는 경우 디렉토리 서버에서 모든 등록 절차가 이루어지지 않고 임의의 서비스 망의 대표노드를 이용하여 등록한다.
본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 노드(400)는 디렉토리 서버(410)에 신규 노드(400)가 서비스 할 이름을 포함하는 쿼리를 전송할 수 있다. 즉, 신규 노드(400)가 서비스하는 서비스 종류, 이름 등을 포함하는 정보가 디렉토리 서버(410)에 저장, 등록되어 있는지를 확인하기 위해 쿼리를 전송한다.
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 디렉토리 서버(410)로부터 쿼리에 응답하는 서비스 리스트와 현재 구성되어 있는 네트워크에서 임의의 서비스 망의 대표노드(440)의 인터넷 주소를 포함하는 메시지를 수신한다. 신규 노드(400)는 디렉토리 서버(410)에 신규 노드(400)가 제공하고자 하는 서비스 망이 등록되어 있는지 여부를 확인 받는다. 신규노드(400)는 디렉토리 서버(410)에 저장된 임의의 서비스 망의 대표노드(440)의 인터넷 주소를 전송 받아 트리 구조에서 어느 위치에 등록할 것인지 탐색하는 절차를 시작한다.
본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 노드(400)는 디렉토리 서버(410)에 신규 노드가 서비스 할 서비스 이름과 신규 노드의 가상 주소를 요청한다(41). 디렉토리 서버(410)에 신규 노드(400)가 제공할 서비스 망이 등록되어 있지 않음으로 서비스 이름을 요청하고, 다른 서비스 망과 구별 될 수 있는 가상 주소를 요청한다.
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 디렉토리 서버로(410)부터 신규 노드(400)의 가상 주소를 수신한다(42).
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 임의의 서비스 망의 대표노드(440)에 수신한 신규 노드(400)의 가상 주소를 포함한 메시지를 보내며, 신규 노드(400)의 부모 대표노드의 탐색을 요청한다(45). 신규 노드(400)는 임의의 서비스 망의 대표노드(440)에 자신이 새롭게 등록될 서비스 망의 부모 서비스 망의 대표노드를 찾아 줄 것을 요청한다.
임의의 서비스 망의 대표노드(440)가 부모 서비스 망의 대표노드를 탐색하는 방법은 N진 탐색트리의 탐색 프로세스에 따라 진행할 수 있다(46,47).
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 부모 대표노드(430)가 신규 노드(400)의 가상 주소와 인터넷 주소를 자식의 등록정보로 저장한 후, 신규 노드(400)에 부모 대표노드(430)의 가상 주소와 인터넷 주소를 포함한 메시지를 전송한다(48).
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 노드(400)는 메시지에 포함된 부모 대표노드(430)의 정보를 저장한다. 신규 노드(400)는 부모 대표노드(430)의 가상 주소와 인터넷 주소를 포함한 메시지를 저장하면서 새로운 서비스 망으로 등록된다. 따라서, 신규 노드(430)는 새로운 서비스 망의 대표노드(460)가 된다.
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 신규 노드(400)는 신규 노드(400)의 인터넷 주소를 포함하는 메시지를 디렉토리 서버(410)에 전송할 수 있다. 즉, 신규 노드(400)는 등록된 서비스 망의 대표노드(460)의 정보를 디렉토리 서버(410)에 전송할 수 있다.
도 5는 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 기존에 존재하는 서비스 망에 노드를 등록하는 경우를 나타낸 도면이다.
도 4의 경우와 같은 분산 네트워크의 연결 구조이다. 다만, 도 4는 새로운 서비스를 제공하는, 신규 노드의 등록 예이고, 도 5는 기존에 등록된 서비스 망에 노드를 등록하는 예이다. 도 5에서 기존에 등록된 서비스 망의 대표노드는 460이다. 기존에 등록된 서비스 망에 등록하려는 노드를, 대상 노드로 정의한다.
본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 대상 노드(500)는 기존 서비스 망의 가상 주소를 포함하는 메시지를 임의의 서비스 망의 대표노드(450)에 전송한다(55). 이 때, 대상 노드(500)는 디렉토리 서버(410)에 대상 노드(500)가 서비스 할 이름을 포함하는 쿼리를 전송할 수 있다. 즉, 대상 노드(500)가 서비스하는 서비스 종류, 이름 등을 포함하는 정보가 디렉토리 서버(410)에 저장, 등록되어 있는지를 확인하기 위해 쿼리를 전송한다.
대상 노드(500)는 디렉토리 서버(410)로부터 쿼리에 응답하는 서비스 리스트(가상 주소가 포함된)와 현재 구성되어 있는 네트워크에서 임의의 서비스 망의 대표노드(450)의 인터넷 주소를 포함하는 메시지를 수신한다. 따라서, 기존 서비스 망의 가상 주소 및 임의의 서비스 망의 대표노드(450)에 관한 정보를 얻을 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 대상 노드(500)는 임의의 서비스 망의 대표노드(450)에게 기존 서비스 망의 대표노드의 탐색을 요청한다. 대상 노드(500)는 임의의 서비스 망의 대표노드(450)에 자신이 등록될 서비스 망의 부모 서비스 망의 대표노드를 찾아 줄 것을 요청한다.
임의의 서비스 망의 대표노드(450)가 부모 서비스 망의 대표노드를 탐색하는 방법은 N진 탐색트리의 탐색 프로세스에 따라 진행할 수 있다(56,57).
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법은 탐색을 통해 찾은 기존 서비스 망의 대표노드(460)를 통해 대상 노드(500)를 등록한다. 기존 서비스 망의 대표노드(460)에 대상 노드(500)를 등록하는 방법은 네트워크 구축시 용도에 따라 정의 될 수 있다. 예를 들어, 기존 서비스 망의 대표노드(460)가 헤드 네트워크 링의 대표 노드인 경우, 대상 노드(500)는 헤드 네트워크 링에 등록 될 수도 있고, 자식 링에 등록 될 수도 있다. 이 때, 각 네트워크 링의 주소범위를 참조할 수도 있다.
또한, 본 발명의 일실시예에 따른 서비스 노드 등록 방법에서 기존 서비스 망의 대표 노드(460)는 대표 노드(460)가 속한 네트워크 링에서 노드 등록 제한 조건을 고려하여 대상 노드(500)의 등록가부를 판단할 수 있다. 예를 들어, 노드 등록 제한 조건은 네트워크 링에 등록 가능한 노드의 개수의 한정, 노드의 종류의 한정 등이 될 수 있다. 등록 가능한 노드 개수의 한정은 불안정한 모바일 노드를 지원하는 서비스 망의 경우, 안정성을 확보하는 방안이 될 수 있다.
대상 노드(500)가 상기 등록 제한 조건을 만족하지 못하는 경우, 대표 노드(460)는 자식 링 중에서 대상 노드(460)의 ID를 포함하는 주소범위를 가진 자식 링의 대표 노드에 대상 노드의 ID를 포함하는 메시지를 전달할 수 있다. 대상 노드(500)는 하나의 네트워크 링에 등록 되지 않더라도, 자식 링이 존재하는 경우 동일한 서비스 망에 등록 되기 위해 탐색하는 메시지를 전달 할 수 있다.
대상 노드(500)는 기존 서비스 망에 등록된 후, 디렉토리 서버(410)에 자신이 속한 서비스망의 서비스 주소와 대표 노드(460)의 인터넷 주소를 포함하는 메시지를 보낼 수 있다. 디렉토리 서버(410)는 대상 노드(500)로부터 수신한 서비스 망의 대표노드(460)의 인터넷 주소를 포함하는 메시지를, 일반 노드의 다음 등록 시 처음 묻게 되는 임의 서비스 대표노드(도 5에서 대표노드(450))의 정보로 저장할 수 있다.
도 6은 본 발명의 일실시예에 따른 네트워크 시스템을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 네트워크 시스템은 네트워크 링을 포함한다. 네트워크 링(600, 610, 620)은 적어도 하나 이상의 노드를 포함한다. 네트워크 링(600, 610, 620)은 각 노드가 서로 연결되어 링의 모양을 가지고 있다. 네트워크 링(600)은 네트워크 링(610, 620)의 부모 링이며, 네트워크 링(610, 620)은 네트워크 링(600)의 자식 링이다.
부모 링(600)은 대표노드(601)와 멤버노드(603, 605)를 포함할 수 있다. 대표노드(601)는 링을 관리하는 노드이며, 부모 링 또는 자식 링(610, 620)의 대표노드와 시그널링(메시지 교환)을 수행한다. 예를 들어, 대표노드(601)는 유동 IP 검색 또는 새로운 노드의 등록을 위해 부모 링 또는 자식 링(610, 620)의 대표노드와 시그널링을 수행할 수 있다. 대표노드의 설정은 네트워크의 용도에 따라 정의할 수 있으며, 예를 들어, 노드의 용량, 처리 속도가 그 기준이 될 수 있다. 멤버노드(603, 605)는 네트워크 링에 속한 대표노드가 아닌 노드이며, 대표노드에 유동 IP 검색을 요청할 수 있다. 대표노드가 동작하지 않는 경우 새로운 대표노드가 될 수 있다. 왜냐하면, 각 노드가 가지고 있는 링 정보 테이블에 대표노드가 가지고 있는 정보와 동일한 정보가 모두 저장되어 있기 때문이다.
또한, 본 발명의 일실시예에 따른 네트워크 시스템에서 네트워크 링의 각 노드는(601, 603, 605, 611, 613, 615, 621, 623, 625)는 주기적으로 Hello 메시지를 다른 노드(601은 603, 603은 605, 605는 601 등)에 시그널링 하고, 시그널링을 통해 링 내의 각 노드의 상태를 점검할 수 있다. 예를 들면, 노드(601)가 노드(603)에게 Hello 메시지를 보냈는데 노드(603)가 없다면 링 정보 테이블에서 노드(603)를 지우고, 노드(601)가 노드(605)에게 Hello 메세지를 보내며 노드(603)가 기능을 멈추었다고 알려주는 방식이다. 계속 각 노드마다 Hello 메시지를 시그널링하면서 링에 대한 정보가 갱신된다. 즉 모든 노드가 링의 정보를 갱신해 나갈 수 있다. 따라서, 하나의 노드가 기능을 상실 하더라도 다른 노드가 그 기능을 대신할 수 있다. 하지만 부모 링과 자식 링에 대한 테이블 갱신은 대표노드 간에만 시그널링을 통해 가능하다. 대표노드가 새로운 링 정보 테이블을 수신하면 노드(601)는 노드(603)에게 전달하고 노드(603)는 노드(605)에게 전달하는 방식으로 모두가 갱신된 자식 링 또는 부모 링 정보 테이블을 갱신하게 된다.
또한, 본 발명의 일실시예에 따른 네트워크 시스템에서 네트워크 링의 대표노드(601, 611, 621)는 네트워크 링의 주소범위(예를 들면, N비트 인 경우, 0~2N-1)를 이용하여 타겟 노드의 유동 IP를 검색할 수 있다. 네트워크 링의 대표노드는 타겟 노드의 ID가 부모 링 또는 자식 링의 주소범위에 포함되는지를 판단하여 포함되는 링의 대표노드와 시그널링을 수행할 수 있다. 따라서, 모든 노드가 타겟 노드의 IP를 찾기 위해 시그널링을 수행할 필요가 없다.
즉, 본 발명은 네트워크 링을 통하여 하나의 노드가 동작하지 않더라도 다른 노드가 링 정보 테이블을 통해 대신 기능을 수행함으로써, 모바일 노드와 같은 불안정한 노드를 포함하는 네트워크에서 안정성을 확보한다. 또한, 본 발명은 모든 노드간에 시그널링이 이루어지는 것이 아니라, 대표노드간에만 시그널링이 이루어짐으로써, 트래픽에 대한 부담을 줄인다.
따라서, 본 발명의 일실시예에 따른 네트워크 시스템은 지역 서버에 접속하여 기존에 비하여 현저히 많은 서비스 제공한다. 또한, 본 발명은 국가번호 + 휴대폰 번호와 같은 전역 ID를 이용하여 타겟 노드의 ID 및 유동 IP 주소를 검색하고, 원격 제어가 가능하므로 브로드 캐스팅없는 다양한 컨텐츠 개발이 가능하다.
또한, 본 발명의 일실시예에 따른 네트워크 시스템에서 네트워크 링은 정해진 트리의 계층 및 부모로부터 자식의 순서에 따라 주소를 가지는 최대 최소 범위 만으로 탐색이 가능하므로 노드의 가입과 삭제 트리의 균형작업이 단순하고 복구가 간단하다. 각 네트워크 링의 노드는 대표노드가 가지는 데이터를 공유하고 있으므로 대표노드가 인터넷 연결이 끊겨도 복구가 간단하다.
도 7은 본 발명의 일실시예에 따른 유동 IP 검색 장치의 블록도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 유동 IP 검색 장치는 수신부(710), 탐색 처리부(720), 메시지 처리부(730), 송신부(740)를 포함한다.
수신부(710)는 타겟 노드의 ID를 포함하는 메시지를 수신한다. 유동 IP를 검색하고자 하는 타겟 노드의 ID 및 유동 IP 검색을 요청하는 메시지를 수신한다. 외부 노드, 즉 동일한 서비스 망에 등록되어 있지 않은 노드로부터 타겟 노드의 ID를 포함하는 메시지를 수신할 수 있다. 또한, 내부 노드, 즉 동일한 서비스 망에 등록되어 있는 노드가 타겟 노드의 ID를 포함하는 메시지를 수신할 수 있다.
또한, 탐색 처리부(720)는 링 정보 테이블을 이용하여 네트워크 링에 타겟 노드의 ID가 등록되어 있는지 여부를 확인한다. 외부 노드로부터 타겟 노드의 유동 IP를 검색하는 경우는 보통 서비스 망의 대표노드, 특히 헤드 네트워크 링의 대표노드로 타겟 노드의 ID를 포함하는 메시지가 수신된다. 따라서, 탐색 처리부(720)는 링 정보 테이블을 이용하여 헤드 네트워크 링에 타겟 노드의 ID가 등록되어 있는지 확인한다. 다만, 외부 노드로부터 타겟 노드의 유동 IP를 검색하는 경우에도, 이미 동일한 서비스 망에서 다른 타겟 노드의 유동 IP를 검색한 경우가 있다면, 검색된 다른 타겟 노드로부터 다시 목적하는 타겟 노드를 검색할 수 있다.
내부 노드로부터 타겟 노드의 유동 IP를 검색하는 경우는 타겟 노드의 ID가 내부 노드가 속한 네트워크 링의 주소범위 내인지 확인한다. 타겟 노드의 ID가 네트워크 링의 주소범위 내에 있는 경우에는 링 정보 테이블을 이용하여 네트워크 링에 타겟 노드의 ID가 등록되어 있는지 여부를 확인한다. 타겟 노드의 ID가 네트워크 링의 주소범위 내에 없는 경우에는 부모 링으로 타겟 노드의 ID를 전달해야 하므로 네트워크 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 전달한다. 또한, 타겟 노드의 ID가 네트워크 링에 등록되지 않은 경우에도 네트워크 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 전달한다. 대표노드는 자식 링 중에서 타겟 노드의 ID를 포함하는 주소 범위를 가지는 링이 있는지 확인한다.
또한, 메시지 처리부(730)는 네트워크 링에 타겟 노드의 ID가 없는 경우, 타겟 노드의 ID를 포함하는 메시지를 생성한다. 외부 노드로부터 타겟 노드의 유동 IP를 검색하는 경우이든, 내부 노드로부터 타겟 노드의 유동 IP를 검색하는 경우이든, 링 정보 테이블을 이용하여 네트워크 링에 타겟 노드가 등록되지 않음을 확인하면, 타겟 노드의 ID를 포함하는 메시지를 생성한다. 타겟 노드의 ID를 포함하는 메시지는 타겟 노드의 ID 뿐만 아니라 탐색 실패 메시지(헤드 링과 리프 링에서), 탐색을 진행한 네트워크 링이 메시지를 전달 받을 네트워크 링과의 관계에서 부모 링인지, 자식 링이라면 몇 번째 자식 링인지 등에 관한 정보를 포함할 수 있다.
또한, 송신부(740)는 부모 링 또는 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 송신한다. 헤드 네트워크 링에서 탐색을 시작한 경우는 부모 링이 없으므로 탐색 실패 메시지를 소스 노드에 송신하고, 타겟 노드의 주소범위를 가진 자식 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 송신한다. 헤드 링이 아닌 경우에는 중복 된 탐색 경로가 아닌 이상 부모 링 및 타겟 노드의 주소 범위를 가진 자식 링의 대표노드에게 타겟 노드의 ID를 포함하는 메시지를 송신한다.
도 8은 네트워크 링을 구성하는 노드의 기능을 설명하는 도면이다.
도 8을 참조하면, 노드는 입력부(810), 탐색 및 처리부(820), 링 정보 테이블 저장부(830), 출력부(840)를 포함할 수 있다.
입력부(810)는 네트워크 링의 내부 노드 또는 외부 노드로부터 신호를 입력받는다. 예를 들어 입력부(810)가 받는 신호는 노드의 상황을 점검하는 Hello 메시지 신호가 될 수 있다. 또는, 유동 IP 검색시, 타겟 노드의 ID를 확인하는 메시지가 될 수도 있다.
탐색 및 처리부(820)는 입력부(810)로부터 신호를 수신하고, 수신한 신호가 요구하는 것에 따라 링 정보 테이블 저장부에 저장된 정보를 탐색한다. 예를 들어, 네트워크 링의 대표노드는 어느 노드인지, 링의 주소범위는 어떻게 되는지, 부모 링 또는 자식 링의 대표 노드 ID는 무엇인지 등을 탐색 할 수 있다. 또한, 네트워크 링을 구성하는 노드 중 일부가 기능을 상실하는 경우, 자식 링 또는 부모 링에 변경이 있는 경우 링 정보 테이블을 갱신하는 처리기능도 수행 할 수 있다.
링 정보 테이블 저장부(830)는 네트워크 링의 관련 정보를 테이블 형식으로 저장한다. 링 정보 테이블에는 네트워크 용도에 따라 다양한 정보가 저장 될 수 있지만, 보통 링에 포함되는 노드의 ID, 대표노드의 ID, 각 노드의 IP주소, 링의 주소범위 등이 저장될 수 있다.
출력부(840)는 탐색부(820)를 통해 확인된 정보를 가진 신호를 네트워크 링의 내부 노드 또는 외부 노드로 출력한다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Claims (15)
- 헤드 네트워크 링의 대표노드가 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신하는 단계;
링 정보 테이블을 이용하여 상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 등록되어 있는지 여부를 확인하는 단계; 및
상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 없는 경우, 자식 링들 중에서 상기 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계
를 포함하는 유동 IP 검색 방법. - 제1항에 있어서,
상기 외부 노드는 상기 타겟 노드의 서비스를 디렉토리 서버에서 검색하고, 상기 타겟 노드의 서비스 망의 가상 주소를 수신하는 단계; 및
상기 수신한 가상 주소를 포함하는 메시지를 상기 외부 노드가 속한 서비스 망의 대표노드에 전달하는 단계
를 더 포함하는 유동 IP 검색 방법. - 내부 노드가 타겟 노드의 ID가 상기 내부 노드가 속한 네트워크 링의 주소범위 내인지 확인하는 단계;
상기 타겟 노드의 ID가 네트워크 링의 주소범위 내에 있는 경우, 링 정보 테이블을 이용하여 상기 네트워크 링에 상기 타겟 노드의 ID가 등록되어 있는지 여부를 확인하는 단계;
상기 타겟 노드의 ID가 상기 네트워크 링에 등록되지 않은 경우, 상기 네트워크 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계;
상기 대표노드가 자식 링 중에서 상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 링이 있는지 확인하는 단계; 및
상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 자식 링이 있는 경우, 부모 링 및 상기 주소 범위를 가진 자식 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계
를 포함하는 유동 IP 검색 방법. - 제3항에 있어서,
상기 타겟 노드의 ID가 네트워크 링의 주소범위 내에 없는 경우, 부모 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하는 단계
를 더 포함하는 유동 IP 검색 방법. - 제3항에 있어서,
상기 부모 링이 헤드 링인 경우에, 상기 헤드 링에 상기 타겟 노드의 ID가 등록되어 있지 않고, 상기 헤드 링에 상기 타겟 노드의 ID를 포함하는 메시지를 전달한 자식 링과 자식 링 중 주소범위가 타겟 노드의 ID를 포함하는 자식 링이 일치하는 경우, 상기 내부 노드에 검색 실패 메시지를 전달하는 단계;
상기 자식 링이 리프 링인 경우, 상기 리프 링에 상기 타겟 노드의 ID가 등록되어 있지 않는 경우, 상기 내부 노드에 검색 실패 메시지를 전달하는 단계; 및
상기 헤드 링으로부터 검색 실패 메시지를 전달 받고, 상기 리프 링으로부터 검색 실패 메시지를 전달 받는 경우 검색절차를 종료하는 단계
를 더 포함하는 유동 IP 검색 방법. - 신규 노드가 디렉토리 서버에 상기 신규 노드가 서비스 할 서비스 이름과 상기 신규 노드의 가상 주소를 요청하는 단계;
상기 디렉토리 서버로부터 상기 신규 노드의 가상 주소를 수신하는 단계;
임의의 서비스 망의 대표노드에 상기 수신한 신규 노드의 가상 주소를 포함한 메시지를 보내며, 상기 신규 노드의 부모 대표노드-상기 신규 노드가 새롭게 등록될 서비스 망과의 관계에서 부모 서비스 망의 대표노드-의 탐색을 요청하는 단계;
탐색된 부모 대표노드가 상기 신규 노드의 가상 주소와 인터넷 주소를 자식 노드의 등록정보로 저장한 후, 상기 신규 노드에 상기 탐색된 부모 대표노드의 가상 주소와 인터넷 주소를 포함한 메시지를 전송하는 단계; 및
상기 신규 노드가 상기 탐색된 부모 대표노드의 정보를 저장하는 단계
를 포함하는 서비스 노드 등록 방법. - 제6항에 있어서,
디렉토리 서버에 상기 신규 노드가 서비스 할 이름을 포함하는 쿼리를 전송하는 단계; 및
상기 디렉토리 서버로부터 상기 쿼리에 응답하는 서비스 리스트와 현재 구성되어 있는 네트워크에서 임의의 서비스 망의 대표노드의 인터넷 주소를 포함하는 메시지를 수신하는 단계
를 더 포함하는 서비스 노드 등록 방법. - 제6항에 있어서,
상기 신규 노드의 인터넷 주소를 포함하는 메시지를 상기 디렉토리 서버에 전송하는 단계
를 더 포함하는 서비스 노드 등록 방법. - 기존 서비스 망의 가상 주소를 포함하는 메시지를 임의의 서비스 망의 대표노드에 전송하는 단계;
상기 임의의 서비스 망의 대표노드에게 상기 기존 서비스 망의 대표노드의 탐색을 요청하는 단계; 및
상기 탐색을 통해 찾은 기존 서비스 망의 대표노드를 통해 대상 노드를 등록하는 단계
를 포함하는 서비스 노드 등록 방법. - 제9항에 있어서,
상기 기존 서비스 망의 대표 노드를 통해 대상 노드를 등록하는 단계는,
상기 대표 노드가 속한 네트워크 링에서 노드 등록 제한 조건을 고려하여 대상 노드의 등록가부를 판단하는 단계; 및
상기 대상 노드가 상기 등록 제한 조건을 만족하지 못하는 경우, 상기 대표 노드는 자식 링 중에서 상기 대상 노드의 ID를 포함하는 주소범위를 가진 자식 링의 대표 노드에 상기 대상 노드의 ID를 포함하는 메시지를 전달하는 단계인 서비스 노드 등록 방법. - 외부 노드로부터, 타겟 노드의 ID를 포함하는 메시지를 수신하는 수신부;
링 정보 테이블을 이용하여 헤드 네트워크 링에 상기 타겟 노드의 ID가 등록되어 있는지 여부를 확인하는 탐색 처리부;
상기 헤드 네트워크 링에 상기 타겟 노드의 ID가 없는 경우, 상기 타겟 노드의 ID를 포함하는 메시지를 생성하는 메시지 처리부; 및
자식 링들 중에서 상기 타겟 노드의 주소범위를 가지는 자식 링의 대표노드에 상기 생성된 메시지를 송신하는 송신부;
를 포함하는 유동 IP 검색 장치. - 타겟 노드의 ID를 포함하는 메시지를 수신하는 수신부;
상기 타겟 노드의 ID가 내부 노드가 속한 네트워크 링의 주소범위 내인지 확인하여, 상기 타겟 노드의 ID가 네트워크 링의 주소범위 내에 있는 경우에는 링 정보 테이블을 이용하여 상기 네트워크 링에 상기 타겟 노드의 ID가 등록되어 있는지 여부를 확인하고, 상기 타겟 노드의 ID가 상기 네트워크 링에 등록되지 않은 경우에는 상기 네트워크 링의 대표노드에게 상기 타겟 노드의 ID를 포함하는 메시지를 전달하고, 상기 대표노드가 자식 링 중에서 상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 링이 있는지 확인하는 탐색 처리부;
상기 타겟 노드의 ID를 포함하는 주소 범위를 가지는 자식 링이 있는 경우,
상기 타겟 노드의 ID를 포함하는 메시지를 생성하는 메시지 처리부; 및
부모 링 및 상기 주소 범위를 가진 자식 링의 대표노드에게 상기 생성된 메시지를 송신하는 송신부
를 포함하는 유동 IP 검색 장치. - 부모 링의 대표 노드 또는 자식 링의 대표 노드와 유동 IP 검색을 위한 시그널링을 수행하는 대표 노드; 및
임의의 노드에 대한 유동 IP 검색 필요 시, 상기 대표 노드에 유동 IP 검색을 요청하는 멤버 노드를 포함하는 유동 IP 검색을 위한 네트워크 시스템. - 제13항에 있어서,
상기 노드는 주기적으로 Hello 메시지를 통해서, 링 내의 각 노드의 상태를 점검하는 유동 IP 검색을 위한 네트워크 시스템. - 제13항에 있어서,
상기 대표 노드는 네트워크 링의 주소범위를 이용하여 타겟 노드의 유동 IP를 검색하는 유동 IP 검색을 위한 네트워크 시스템.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100033233A KR101094033B1 (ko) | 2010-04-12 | 2010-04-12 | 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 |
EP10014205.8A EP2375692B1 (en) | 2010-04-12 | 2010-11-02 | Apparatus and method for registering node and searching for floating internet protocol address using distributed network |
US12/938,969 US8392549B2 (en) | 2010-04-12 | 2010-11-03 | Apparatus and method for registering node and searching for floating internet protocol address using distributed network |
CN201310549804.2A CN103647796B (zh) | 2010-04-12 | 2010-11-10 | 服务节点注册方法 |
CN201010542715.1A CN102215248B (zh) | 2010-04-12 | 2010-11-10 | 采用分布式网络的节点注册及动态ip搜索方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100033233A KR101094033B1 (ko) | 2010-04-12 | 2010-04-12 | 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110113903A KR20110113903A (ko) | 2011-10-19 |
KR101094033B1 true KR101094033B1 (ko) | 2011-12-19 |
Family
ID=44477957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100033233A KR101094033B1 (ko) | 2010-04-12 | 2010-04-12 | 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8392549B2 (ko) |
EP (1) | EP2375692B1 (ko) |
KR (1) | KR101094033B1 (ko) |
CN (2) | CN102215248B (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2713632A1 (en) * | 2012-09-28 | 2014-04-02 | GN Netcom A/S | Configuring a wireless communications device in a mobile communications system |
CN103401953B (zh) * | 2013-07-18 | 2016-07-06 | 东南大学 | 一种基于双层结构的端到端的语音通信节点寻址方法 |
US20160192403A1 (en) * | 2014-12-30 | 2016-06-30 | Qualcomm Incorporated | Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture |
CN115174524B (zh) * | 2022-05-18 | 2024-01-02 | 天翼云科技有限公司 | 一种浮动ip分配方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100814077B1 (ko) | 2006-10-09 | 2008-03-14 | 이화여자대학교 산학협력단 | 우선순위 트라이를 이용한 ip 주소 검색 방법 및 이를제공하는 패킷 중계 장치 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5251205A (en) * | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
US7113508B1 (en) * | 1995-11-03 | 2006-09-26 | Cisco Technology, Inc. | Security system for network address translation systems |
US6141325A (en) * | 1996-12-18 | 2000-10-31 | International Business Machines Corporation | Paradigm for enabling interoperability between different subnetworks |
US6646989B1 (en) * | 1998-06-29 | 2003-11-11 | Lucent Technologies Inc. | Hop-by-hop routing with node-dependent topology information |
DE69840809D1 (de) * | 1998-09-05 | 2009-06-18 | Ibm | Verfahren zur Erzeugung der optimalen complexen PNNI Knotendarstellungen in bezug auf begrenzte Kosten |
CA2356947A1 (en) * | 1998-12-23 | 2000-07-06 | Nokia Wireless Routers, Inc. | A unified routing scheme for ad-hoc internetworking |
US6434627B1 (en) * | 1999-03-15 | 2002-08-13 | Cisco Technology, Inc. | IP network for accomodating mobile users with incompatible network addressing |
US6505254B1 (en) * | 1999-04-19 | 2003-01-07 | Cisco Technology, Inc. | Methods and apparatus for routing requests in a network |
US7210147B1 (en) * | 1999-10-05 | 2007-04-24 | Veritas Operating Corporation | IP virtualization |
WO2001025920A1 (en) * | 1999-10-05 | 2001-04-12 | Ejasent, Inc. | Virtual resource id mapping |
US7441045B2 (en) * | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
KR100363884B1 (ko) * | 1999-12-27 | 2002-12-11 | 한국전자통신연구원 | 파장분할다중 기반 인터넷 프로토콜 망 구조와, 이러한 망구조에서의 패킷 송수신 시스템 및 방법 |
US20020163889A1 (en) * | 2000-02-02 | 2002-11-07 | Yechiam Yemini | Method and apparatus for providing services on a dynamically addressed network |
EP1264443B1 (en) * | 2000-03-15 | 2004-12-22 | Infosim Informationstechnik GmbH | Method and system for communication of data via an optimum data path in a network |
US20020044549A1 (en) * | 2000-06-12 | 2002-04-18 | Per Johansson | Efficient scatternet forming |
US6925075B2 (en) * | 2000-07-31 | 2005-08-02 | Telefonaktiebolaget Lm Ericsson | Method and system for inter-operability between mobile IP and RSVP during route optimization |
FI112152B (fi) * | 2000-09-29 | 2003-10-31 | Nokia Corp | Osoitteistus ja reititys ad hoc-liikkuvuusverkoissa |
SE518479C2 (sv) * | 2000-10-13 | 2002-10-15 | Ericsson Telefon Ab L M | Kommunikationssystem som stödjer trådlös kommunikation av paketdata och förfarande och anordning relaterande därtill |
US7899066B2 (en) * | 2001-01-25 | 2011-03-01 | Alcatel Lucent | Distributed intelligence MAC protocols for DWDM ring networks |
US8004971B1 (en) * | 2001-05-24 | 2011-08-23 | F5 Networks, Inc. | Method and system for scaling network traffic managers using connection keys |
US7231463B2 (en) * | 2002-01-04 | 2007-06-12 | Intel Corporation | Multi-level ring peer-to-peer network structure for peer and object discovery |
US7280557B1 (en) * | 2002-06-28 | 2007-10-09 | Cisco Technology, Inc. | Mechanisms for providing stateful NAT support in redundant and asymetric routing environments |
US7180866B1 (en) * | 2002-07-11 | 2007-02-20 | Nortel Networks Limited | Rerouting in connection-oriented communication networks and communication systems |
US7689722B1 (en) * | 2002-10-07 | 2010-03-30 | Cisco Technology, Inc. | Methods and apparatus for virtual private network fault tolerance |
US7636364B2 (en) * | 2002-10-31 | 2009-12-22 | Force 10 Networks, Inc. | Redundant router network |
US7023847B2 (en) * | 2003-01-15 | 2006-04-04 | Thomson Licensing | Network address translation based mobility management |
US7301936B2 (en) * | 2003-06-25 | 2007-11-27 | Sbc Knowledge Ventures, L.P. | Ring overlay network dedicated to carry broadcast traffic to DSLAMs |
US7453852B2 (en) * | 2003-07-14 | 2008-11-18 | Lucent Technologies Inc. | Method and system for mobility across heterogeneous address spaces |
FI20031646A0 (fi) * | 2003-11-12 | 2003-11-12 | Nokia Corp | Liikenteen ja radioresurssien hallinta langattomassa tietoliikennelaitteessa |
US7768943B1 (en) * | 2004-03-25 | 2010-08-03 | Verizon Corporate Services Group Inc. | No-sight routing for ad-hoc networks |
US8144595B1 (en) * | 2004-03-25 | 2012-03-27 | Verizon Corporate Services Group Inc. | Variable translucency no-sight routing for AD-HOC networks |
US7826372B1 (en) * | 2004-03-26 | 2010-11-02 | Rockwell Collins, Inc. | Network routing process for regulating traffic through advantaged and disadvantaged nodes |
US7974223B2 (en) * | 2004-11-19 | 2011-07-05 | Corrigent Systems Ltd. | Virtual private LAN service over ring networks |
US7639681B2 (en) * | 2004-11-23 | 2009-12-29 | Microsoft Corporation | System and method for a distributed server for peer-to-peer networks |
US7466916B2 (en) * | 2005-07-23 | 2008-12-16 | Alcatel-Lucent Usa Inc. | Hybrid optical and data networks |
US7260100B1 (en) * | 2005-08-08 | 2007-08-21 | Rockwell Collins, Inc. | System and method for net formation and merging in ad hoc networks |
US8713188B2 (en) * | 2007-12-13 | 2014-04-29 | Opendns, Inc. | Per-request control of DNS behavior |
US8024478B2 (en) * | 2007-03-28 | 2011-09-20 | Cisco Technology, Inc. | Identifying network path including network proxies |
CN101277256B (zh) * | 2007-03-30 | 2011-12-07 | 华为技术有限公司 | 一种实现网络资源定位的系统及方法及服务器 |
JP4816572B2 (ja) * | 2007-05-30 | 2011-11-16 | 富士ゼロックス株式会社 | 仮想ネットワーク接続システム及び装置 |
US20100281508A1 (en) * | 2009-05-04 | 2010-11-04 | Comcast Cable Holdings, Llc | Internet Protocol (IP) to Video-on-Demand (VOD) Gateway |
US8190751B2 (en) * | 2009-05-04 | 2012-05-29 | Comcast Cable Communications, Llc | Personalized media server in a service provider network |
US8078665B2 (en) * | 2009-05-04 | 2011-12-13 | Comcast Cable Holdings, Llc | Sharing media content based on a media server |
US8190706B2 (en) * | 2009-05-04 | 2012-05-29 | Comcast Cable Communications, Llc | Network based digital media server |
CN101557333B (zh) * | 2009-05-18 | 2011-12-28 | 杭州华三通信技术有限公司 | 一种双归属组网中环路故障的处理方法及节点设备 |
US9007968B2 (en) * | 2009-06-16 | 2015-04-14 | Samsung Electronics Co., Ltd. | System and method for wireless multi-band networks association and maintenance |
CN101605084B (zh) * | 2009-06-29 | 2011-09-21 | 北京航空航天大学 | 基于虚拟机的虚拟网络报文处理方法和系统 |
US8400955B2 (en) * | 2009-09-21 | 2013-03-19 | Samsung Electronics Co., Ltd. | System and method for power saving by coordinated wake-up in a wireless multi-band network |
US8379668B2 (en) * | 2010-01-21 | 2013-02-19 | Comcast Cable Communications, Llc | Controlling networked media capture devices |
US8621086B2 (en) * | 2010-03-24 | 2013-12-31 | Alcatel Lucent | System and domain name server for ad-hoc networks |
-
2010
- 2010-04-12 KR KR1020100033233A patent/KR101094033B1/ko not_active IP Right Cessation
- 2010-11-02 EP EP10014205.8A patent/EP2375692B1/en active Active
- 2010-11-03 US US12/938,969 patent/US8392549B2/en not_active Expired - Fee Related
- 2010-11-10 CN CN201010542715.1A patent/CN102215248B/zh not_active Expired - Fee Related
- 2010-11-10 CN CN201310549804.2A patent/CN103647796B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100814077B1 (ko) | 2006-10-09 | 2008-03-14 | 이화여자대학교 산학협력단 | 우선순위 트라이를 이용한 ip 주소 검색 방법 및 이를제공하는 패킷 중계 장치 |
Non-Patent Citations (1)
Title |
---|
논문1(2007.01) |
Also Published As
Publication number | Publication date |
---|---|
CN102215248A (zh) | 2011-10-12 |
CN103647796A (zh) | 2014-03-19 |
US20110252129A1 (en) | 2011-10-13 |
CN102215248B (zh) | 2015-03-25 |
EP2375692A2 (en) | 2011-10-12 |
EP2375692A3 (en) | 2011-11-30 |
EP2375692B1 (en) | 2017-02-22 |
CN103647796B (zh) | 2017-09-12 |
US8392549B2 (en) | 2013-03-05 |
KR20110113903A (ko) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7839867B2 (en) | Information delivery system, delivery request program, transfer program, delivery program, and the like | |
US8195764B2 (en) | Information delivery system, delivery request program, transfer program, delivery program, and the like | |
US7233978B2 (en) | Method and apparatus for managing location information in a network separate from the data to which the location information pertains | |
US20080005275A1 (en) | Method and apparatus for managing location information in a network separate from the data to which the location information pertains | |
CN100588172C (zh) | 一种实现网络预订存储的系统和方法 | |
US20010014917A1 (en) | Position identifier management apparatus and method, mobile computer, and position identifier processing method | |
US20040044790A1 (en) | Heuristics-based peer to peer message routing | |
US7643458B1 (en) | Communicating between wireless communities | |
JP6601784B2 (ja) | 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム | |
US7773609B2 (en) | Overlay network system which constructs and maintains an overlay network | |
US9071512B2 (en) | Methods, systems, and computer readable media for distributing diameter network management information | |
US20120191769A1 (en) | Site-aware distributed file system access from outside enterprise network | |
KR101094033B1 (ko) | 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치 | |
US20150006571A1 (en) | Method And Apparatus For Enabling Queries In An Information-Centric Network | |
RU2483457C2 (ru) | Платформа маршрутизации сообщений | |
EP2802108B1 (en) | Data-centric communications system and data forwarding method | |
US8111635B2 (en) | Server, terminal, and method for supporting mobility | |
JP2011023996A (ja) | 情報通信システム、ノード装置、ノード装置確認方法及びプログラム | |
KR100872170B1 (ko) | P2p 네트워크 다중 라우팅 방법 | |
JP2016162170A (ja) | ストレージシステム、ストレージ、管理サーバおよびファイル管理方法 | |
WO2001095137A2 (en) | Method and apparatus for managing data location information in a network | |
CN114996241A (zh) | 存储方法、迁移方法、下载方法、存储系统、电子设备、以及介质 | |
CN118660054A (zh) | 多计算节点所有权划分的请求路由方法和分离式内存系统 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20140930 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151028 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |