KR100984479B1 - 노드 사이의 거리 측정 방법 및 장치 - Google Patents

노드 사이의 거리 측정 방법 및 장치 Download PDF

Info

Publication number
KR100984479B1
KR100984479B1 KR1020100028398A KR20100028398A KR100984479B1 KR 100984479 B1 KR100984479 B1 KR 100984479B1 KR 1020100028398 A KR1020100028398 A KR 1020100028398A KR 20100028398 A KR20100028398 A KR 20100028398A KR 100984479 B1 KR100984479 B1 KR 100984479B1
Authority
KR
South Korea
Prior art keywords
nodes
node
distance
network
dimension
Prior art date
Application number
KR1020100028398A
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 (주)씨디네트웍스
Priority to KR1020100028398A priority Critical patent/KR100984479B1/ko
Application granted granted Critical
Publication of KR100984479B1 publication Critical patent/KR100984479B1/ko
Priority to CN201180026875.3A priority patent/CN102918415B/zh
Priority to US13/638,531 priority patent/US8913521B2/en
Priority to JP2013502473A priority patent/JP5795790B2/ja
Priority to PCT/KR2011/002168 priority patent/WO2011122839A2/ko
Priority to EP11763011.1A priority patent/EP2555009B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

노드 사이의 거리 측정 방법 및 장치가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하고, 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하여, 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 형성된 n차원에서 다른 노드들의 좌표를 결정하고, 결정된 좌표를 이용하여 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산한다.
본 발명에 따르면, 네트워크에 위치하는 노드와 노드 사이의 거리를 보다 효과적으로 측정할 수 있는 장점이 있다.

Description

노드 사이의 거리 측정 방법 및 장치{Method and apparatus for measuring distance between node and node}
본 발명은 노드 사이의 거리 측정 방법 및 장치에 관한 것으로서, 보다 상세하게는 네트워크에 위치하는 노드들 사이의 거리를 차원 공간을 이용하여 계산하는 방법 및 장치에 관한 것이다.
네트워크(network)는 서로 정보를 주고 받을 수 있는 통로로서 여러 장치 등이 상호 간에 서로 정보를 주고 받게 된다.
이러한 네트워크를 구성하는 장치들은 기능이나 위치 등에 따라 서버(server), 클라이언트(client), 라우터(router), 스위치(switch) 등의 다양한 명칭으로 불리우기도 하나, 일반적으로 네트워크를 구성하는 각각의 장치들을 통칭하여 일반적으로 노드(node)라고 불리운다.
그리고 네트워크에서 정보 즉 데이터를 전송하려고 하는 장치를 소스(source)라 하고 최종적으로 데이터를 수신하게 될 장치를 목적지(destination)이라고 칭하기도 한다.
한편, 전기/전자 장치와 네트워크의 발달과 함께 이러한 네트워크의 구성은 점점 더 복잡해지고 있으며, 이에 따라 소스에서 목적지로 데이터를 전송하기 위해서는 직접 소스에서 목적지로 데이터가 전송되는 경우도 있을 수 있으나, 대부분 다양한 경로 즉 네트워크에 존재하는 수많은 장치들 거쳐 데이터가 전송되게 된다.
이에 따라 소스에서 목적지로 데이터로 전송하기 위해 즉 통신을 위해 최단 경로 또는 최적 경로를 알아내는 것이 매우 중요하다.
일반적으로 최단 경로라 함은 소스에서 목적지로 데이터로 전송하기 위해 거리가 상대적으로 가장 짧은 경로이고, 최적 경로는 소스에서 목적지로 데이터로 전송하기 위해 거리뿐만 아니라 데이터 전송 비용 등의 다른 요소를 고려한 상대적으로 더욱 효율적인 경로로 구분될 수 있으나, 본 명세서는 이하 이러한 구분없이 모두 최적 경로라는 용어를 사용하기로 한다.
한편, 이러한 최적 경로는 노드와 노드 사이의 거리를 측정하고 측정된 거리를 기준으로 소스와 목적지를 사이에 거쳐가는 노드들을 결정하여 최적 경로를 설정하게 된다.
네트워크에서의 노드와 노드 사이의 거리란 실제 노드가 위치하는 노드들 사이의 물리적, 지리적인 거리가 아니라 노드와 노드 사이의 데이터 전송 속도에 따른 상대적인 개념이다.
예를 들어, 노드1은 서울에 위치하는 장치이고, 노드2는 뉴욕, 노드3은 동경에 위치하는 장치라고 가정하면, 물리적, 지리적으로는 노드1과 노드3 사이의 거리가 가깝다고 할 수 있으나, 네트워크의 상태 예를 들면, 통신선의 종류, 해당 장치의 성능이나 종류 등에 따라 실제 노드 1과 노드2가 통신하는 시간이 노드1과 노드3과 통신하는 시간보다 적어질 수 있으며, 이 경우 노드1과 노드2의 거리가 노드1과 노드3의 거리보다 가깝다고 표현할 수 있다.
한편, 점점 복잡한 구성을 가지는 네트워크에서 네트워크의 특성을 반영할 수 있는 노드와 노드 사이의 이러한 거리를 측정하기 위한 다양한 방법이 제안되고 있으나, 네트워크의 구성이 점점 더 복잡해짐에 따라 효과적으로 노드와 노드 사이의 거리 측정이 이루어지지 못하고 있는 실정이다.
따라서 보다 효과적으로 노드와 노드 사이의 거리를 보다 효과적으로 측정할 수 있는 방법 및 장치가 요구된다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 네트워크에 위치하는 노드와 노드 사이의 거리를 보다 효과적으로 측정할 수 있는 방법 및 장치를 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 노드 사이의 거리 측정 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 네트워크와 연결되는 장치에서 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 단계; 상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계; 상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하는 단계; 및 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법이 제공된다.
상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원을 형성하는 단계는, 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신하는 단계를 수행한 후 수행될 수 있다.
그리고, 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계는, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 n차원 공간상의 원점에 배치하는 단계; 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 N번째 노드는 첫번째로 선택된 노드의 위치부터 (N-1)번째로 선택된 노드의 위치를 포함하는 (N-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
본 발명의 바람직한 다른 일 실시예에 따르면, 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2이상의 노드들을 코어 포인트로 설정하는 단계; 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하는 단계; 및 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법이 제공된다.
상기 네트워크에 위치하는 복수개의 노드들 중 임의의 노드들을 코어 포인트로 설정하는 단계는, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 M개의 임의의 노드들을 선택하는 단계를 포함하고, 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계를 포함하며, 상기 M>m이고, m≥1일 수 있다.
그리고, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계는, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 m차원 공간상의 원점에 배치하는 단계; 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 M번째 노드를 첫번째로 선택된 노드의 위치부터 (M-1)번째로 선택된 노드의 위치를 포함하는 (M-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (M-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계는, 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계를 포함하며, 상기 P>p이고, p≥1일 수 있다.
그리고, 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계는, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 p차원 공간상의 원점에 배치하는 단계; 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 P번째 노드를 첫번째로 선택된 노드의 위치부터 (P-1)번째로 선택된 노드의 위치를 포함하는 (P-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (P-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계에서 형성되는 각각의 차원 공간은 적어도 하나의 차원 공간이 다른 차원 차수를 가질 수 있다.
상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는, 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신하는 단계를 수행한 후 수행될 수 있다.
그리고, 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드가 모두 코어 포인트인 경우 상기 설정된 코어 포인트를 이용하여 형성된 차원 공간에서의 상기 코어 포인트들 사이의 거리일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드 중 하나만이 코어 포인트인 경우 상기 코어 포인트인 노드와 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트 사이의 거리에 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트와 상기 코어 포인트가 아닌 노드 사이의 거리를 합한 거리일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드가 모두 코어 포인트가 아닌 경우 각각의 노드가 속한 차원 공간의 코어 포인트와 상기 각각의 노드 사이의 거리에 상기 각각의 노드가 속한 차원 공간의 코어 포인트들 사이의 거리를 합한 거리일 수 있다,
본 발명의 다른 측면에 의하면, 노드 사이의 거리 측정 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 네트워크와 연결되어 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 측정하는 장치에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 기준 노드 설정부; 상기 기준 노드 설정부에서 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 차원 형성부; 상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하고, 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 거리 계산부를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 장치가 제공된다.
상기 차원 형성부가 상기 기준 노드 설정부에서 선택된 적어도 N개의 노드를 이용하여 n차원을 형성하는 것은, 상기 거리 측정 장치가 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신한 후 수행할 수 있다.
그리고, 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 차원 형성부가 상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 것은, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 n차원 공간상의 원점에 배치하고, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 N번째 노드는 첫번째로 선택된 노드의 위치부터 (N-1)번째로 선택된 노드의 위치를 포함하는 (N-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하여 수행할 수 있다.
상기 거리 측정 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
본 발명의 바람직한 다른 일 실시예에 따르면, 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리를 측정하는 장치에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2이상의 노드들을 코어 포인트로 설정하고, 상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 기준 노드 설정부; 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하고, 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 차원 형성부; 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하고, 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 거리 계산부를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 장치가 제공된다.
상기 기준 노드 설정부가 상기 네트워크에 위치하는 복수개의 노드들 중 임의의 노드들을 코어 포인트로 설정하는 것은, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 M개의 임의의 노드들을 선택하고, 상기 차원 형성부가 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 것은, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하되, 상기 M>m이고, m≥1일 수 있다.
그리고 상기 차원 형성부가 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 것은, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 m차원 공간상의 원점에 배치하고, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 M번째 노드를 첫번째로 선택된 노드의 위치부터 (M-1)번째로 선택된 노드의 위치를 포함하는 (M-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (M-1)번째 축과 평행하게 되도록 배치하여 수행될 수 있다.
상기 차원 형성부가 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 것은, 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하되, 상기 P>p이고, p≥1일 수 있다.
그리고, 상기 차원 형성부가 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 것은, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 p차원 공간상의 원점에 배치하고, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 P번째 노드를 첫번째로 선택된 노드의 위치부터 (P-1)번째로 선택된 노드의 위치를 포함하는 (P-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (P-1)번째 축과 평행하게 되도록 배치하여 수행될 수 있다.
상기 차원 형성부가 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 경우 상기 형성되는 각각의 차원 공간은 적어도 하나의 차원 공간이 다른 차원 차수를 가질 수 있다.
상기 차원 형성부가 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 것은, 상기 거리 측정 장치가 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신한 후 수행할 수 있다.
그리고 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 거리 측정 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은, 상기 거리를 측정하는 노드가 모두 코어 포인트인 경우 상기 설정된 코어 포인트를 이용하여 형성된 차원 공간에서의 상기 코어 포인트들 사이의 거리를 계산하는 것일 수 있다.
상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은, 상기 거리를 측정하는 노드 중 하나만이 코어 포인트인 경우 상기 코어 포인트인 노드와 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트 사이의 거리에 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트와 상기 코어 포인트가 아닌 노드 사이의 거리를 합한 거리를 계산하는 것일 수 있다.
상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은, 상기 거리를 측정하는 노드가 모두 코어 포인트가 아닌 경우 각각의 노드가 속한 차원 공간의 코어 포인트와 상기 각각의 노드 사이의 거리에 상기 각각의 노드가 속한 차원 공간의 코어 포인트들 사이의 거리를 합한 거리를 계산하는 것일 수 있다.
본 발명의 또 다른 측면에 의하면, 노드 사이의 거리 측정 방법을 구현하기 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 네트워크와 연결되는 장치에서 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 단계; 상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계; 상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하는 단계; 및 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원을 형성하는 단계는, 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신하는 단계를 수행한 후 수행될 수 있다.
그리고, 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계는, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 n차원 공간상의 원점에 배치하는 단계; 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 N번째 노드는 첫번째로 선택된 노드의 위치부터 (N-1)번째로 선택된 노드의 위치를 포함하는 (N-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
본 발명의 바람직한 다른 일 실시예에 따르면, 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2이상의 노드들을 코어 포인트로 설정하는 단계; 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계; 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하는 단계; 및 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 네트워크에 위치하는 복수개의 노드들 중 임의의 노드들을 코어 포인트로 설정하는 단계는, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 M개의 임의의 노드들을 선택하는 단계를 포함하고, 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계를 포함하며, 상기 M>m이고, m≥1일 수 있다.
그리고, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계는, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 m차원 공간상의 원점에 배치하는 단계; 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 M번째 노드를 첫번째로 선택된 노드의 위치부터 (M-1)번째로 선택된 노드의 위치를 포함하는 (M-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (M-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 단계는, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 P-1개의 임의의 노드들을 선택하는 단계를 포함하고, 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계는, 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계를 포함하며, 상기 P>p이고, p≥1일 수 있다.
그리고, 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계는, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 p차원 공간상의 원점에 배치하는 단계; 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계; 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 P번째 노드를 첫번째로 선택된 노드의 위치부터 (P-1)번째로 선택된 노드의 위치를 포함하는 (P-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (P-1)번째 축과 평행하게 되도록 배치하는 단계를 포함할 수 있다.
상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계에서 형성되는 각각의 차원 공간은 적어도 하나의 차원 공간이 다른 차원 차수를 가질 수 있다.
상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는, 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신하는 단계를 수행한 후 수행될 수 있다.
그리고, 상기 각각의 노드들로부터 수신되는 노드 정보는, 상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보일 수 있다.
상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드가 모두 코어 포인트인 경우 상기 설정된 코어 포인트를 이용하여 형성된 차원 공간에서의 상기 코어 포인트들 사이의 거리일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드 중 하나만이 코어 포인트인 경우 상기 코어 포인트인 노드와 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트 사이의 거리에 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트와 상기 코어 포인트가 아닌 노드 사이의 거리를 합한 거리일 수 있다.
상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는, 상기 거리를 측정하는 노드가 모두 코어 포인트가 아닌 경우 각각의 노드가 속한 차원 공간의 코어 포인트와 상기 각각의 노드 사이의 거리에 상기 각각의 노드가 속한 차원 공간의 코어 포인트들 사이의 거리를 합한 거리일 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 노드 사이의 거리 측정 방법 및 장치에 의하면, 네트워크에 위치하는 노드와 노드 사이의 거리를 보다 효과적으로 측정할 수 있는 장점이 있다.
도 1은 노드와 노드 사이의 거리를 개념적으로 예시하여 도시한 도면.
도 2는 복수개의 노드로 구성되는 네트워크에서 노드와 노드 사이의 거리를 개념적으로 예시하여 도시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따라 3차원 공간에 복수개의 노드가 배치되는 것을 개념적으로 예시하여 도시한 도면.
도 4는 본 발명의 바람직한 일 실시예에 따라 차원 공간을 형성하는 순서를 도시한 도면.
도 5는 본 발명의 바람직한 일 실시예에 따라 복수개의 차원 공간에 복수개의 노드가 배치되는 것을 개념적으로 예시하여 도시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 복수개의 차원 공간을 형성하는 순서를 도시한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 따른 노드 사이의 거리 측정 시스템의 구성을 도시한 도면.
도 8은 본 발명의 바람직한 일 실시예에 따른 노드 사이의 거리 측정을 수행할 수 있는 거리 측정 서버의 구성을 도시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
먼저 전술한 바와 같이 본 발명에서의 거리란 실제 노드가 위치하는 노드들 사이의 물리적, 지리적인 거리가 아니라 노드와 노드 사이의 데이터 전송 속도에 따른 상대적인 개념이다.
한편, 본 발명에서는 먼저 노드와 이러한 노드에 인접한 노드 사이의 거리 정보를 기초로 하여 노드 사이의 거리를 측정한다.
노드 사이의 거리 정보는 도 1에 도시된 바와 같이 노드1(n1)과 노드2(n2) 사이의 거리(d)로 표시될 수 있으며, 인접한 노드인 n1과 n2 사이의 거리는 응답 시간 정보를 이용하는 ping 테스트와 같은 방법을 이용하여 측정할 수 있으나, 이에 한정되는 것은 아니다.
한편, 실제 네트워크에서는 도 2에 도시된 바와 같이 복수개의 노드로 구성되며 네트워크에서 노드 사이에서 거리 정보를 이용한 경로 설정은 좀더 복잡하고 다양한 형태로 제공될 수 있다.
예를 들어, 도 2의 예시에서 n1에서 n5까지의 경로는 n1에서 n3 그리고 n3에서 n5까지의 경로뿐만 아니라, n1~n4~n5, n1~n2~n5, n1~n3~n2~n5,… 등 다양하다.
이에 따라 n1에서 n5까지의 거리를 계산함에 있어서도 거쳐가는 노드에 따라 그 거리의 크기가 각각 달라지게 되며, 일반적으로 동일한 조건이라면 n1~n3~n5, n1~n4~n5, n1~n2~n5와 같은 경로 중 적어도 하나가 최적 경로일 수 있다.
그러나 전술한 바와 같이, 네트워크의 상황 즉 통신선의 종류나, 장치의 종류, 성능 등에 따라 n1에서 n5까지 가기 위한 각각의 경로도 달라지게 된다.
예를 들어, n1~n3~n5, n1~n4~n5, n1~n2~n5와 같이 최소의 노드만을 거쳐가는 것이 최적 경로가 아니라 n1~n3~n2~n5와 같이 하나의 노드를 더 거쳐가더라도 이러한 경로가 더 빠른 최적 경로일 수 있다.
뿐만 아니라 도 2에서는 도시하지 않았으나, n1과 n5가 직접적으로 연결될 수도 있으며, 이 경우 n1과 n5의 직접 연결에 의한 거리보다 다른 노드를 거쳐 가는 것이 상대적으로 더 가까울 수 있다.
이러한 경우 도 1과 같은 1차원이나 도 2와 같은 2차원 평면에서 복잡한 네트워크의 상황을 반영하여 이를 모두 도시하기 어렵다.
따라서 복잡한 네트워크의 상황을 반영하여 노드와 노드 사이의 거리에 따른 위치를 표시함으로써 노드와 노드 사이의 거리를 측정하는 것이 필요하다.
이를 위해 본 발명에서는 먼저 네트워크 상에 존재하는 복수개의 노드 중 임의의 N개의 노드를 선택하여 선택된 임의의 N개의 노드를 이용하여 n차원을 형성한다.
이때 네트워크 상에 존재하는 복수개의 노드 중 선택되는 임의의 노드 N개는 형성되는 차원의 차수 n보다는 크며, 형성되는 차원의 차수 n은 1보다 크거나 같을 수 있다(N>n, n≥1).
네트워크 상에 존재하는 복수개의 노드 중 임의로 선택되는 N개는 n차원 공간을 형성하기 위한 기준으로 설정되는 노드들로서 N>n이며, n≥1인 관계를 만족하며, 네트워크 상에 존재하는 노드들이면 아무런 제한이 없다.
예를 들면, 네트워크상에 n1~ni까지 복수개의 노드가 존재한다고 가정하자.
이러한 복수개의 노드를 이용하여 n차원 공간을 형성하고 n=3이라고 가정하면 도 3에 도시된 바와 같이 네트워크상에 n1, n2, n3, n4와 같이 4개의 노드를 임의로 선택하여 이를 기준으로 3차원 공간을 형성할 수 있게 되는 것이다.
물론 4개의 노드를 임의로 선택하여 이를 기준으로 3차 이하의 차원 즉 n=2 또는 n=1인 차원을 형성하는 것도 가능할 수 있음은 자명하다.
그리고 이렇게 형성된 n차원에 다른 노드들(n5~ni)을 배치하여, 형성된 n차원에서 노드들 사이의 거리를 측정할 수 있다.
도 3에서는 3차원 공간을 예시하였으나, 노드와 노드 사이의 구성이 복잡하게 되면 임의로 선택되는 노드들의 개수를 늘려 해당 공간의 차원 차수를 더욱 증가시키는 것도 가능함은 자명하다.
예를 들면, 네트워크 상에 존재하는 복수개의 노드 중 5개를 임의로 선택하고 임의로 선택된 5개의 노드들을 이용하여 n=4인 4차원 공간을 형성하고, 나머지 노드들을 4차원 공간에 배치하여, 형성된 4차원 공간에서 각각의 노드들 사이의 거리를 측정하는 것도 가능하다.
한편, n차원을 형성하는 방법에 대해서는 도 4의 설명에서 보다 상세하게 살펴보기로 한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 차원 공간을 형성하기 위해 차원 공간에 노드를 배치하는 순서를 도시한 순서도이다.
도 4에서는 n=3인 경우 즉 3차원 공간을 형성하는 경우를 예시하여 도시한 것이다.
도 4는 예시에 불과하며, 차원 공간을 형성하기 위해 임의로 선택되는 노드의 개수와 형성되는 공간의 차수는 네트워크상에 존재하는 복수개의 노드 중 N개의 노드를 임의로 선택하고, 임의로 선택된 노드의 개수(N)와 형성되는 공간의 차수(n)가 N>n이고, n≥1이에 해당하는 경우라면 아무런 제한이 없음은 전술한 바와 같다.
도 4의 예시를 참조하여 살펴보면, n=3인 3차원의 공간을 형성하기 위해서는 전술한 바와 같이 임의로 선택되는 노드의 개수는 적어도 4개 이상이어야 한다. 이러한 선택되는 4개의 노드를 각각 n1~n4라고 한다.
n1~n4를 이용하여 3차원 공간을 형성하는 것은 먼저 단계1과 같이 n1을 형성되는 3차원 공간상의 원점에 배치한다(첫번째 노드의 위치는 p_1이라 함).
그리고 단계 2에서는 n2를 n1과의 거리에 맞추어 임의의 하나의 축(1번째 축이라 하고, 도 3에서는 y축에 해당함) 상에 배치한다(두번째 노드의 위치는 p_2이라 함).
단계3에서는 n3의 해당 위치를 p_3이라 할 때 p_3이 직선 p_1, p_2에 내린 수선이 임의의 다른 하나의 축(2번째 축이라 하고, 도 3에서는 x축에 해당함)과 평행하게 되도록 배치한다.
단계 4에서는 n4의 해당 위치를 p_4라 할 때 p_4가 p_1, p_2, p_3을 포함하는 평면에 내린 수선이 임의의 다른 하나의 축(3번째 축이라 하고, 도 3에서는 z축에 해당함 함)과 평행하게 되도록 배치한다.
이러한 방법에 의하면 n1~n4의 4개의 노드(N=4)를 이용하여 3(n=3, N>n)차원의 공간이 형성되게 된다.
한편, 이렇게 생성된 3차원 공간에 3차원 공간을 형성하기 위해 선택된 임의의 노드들(n1~n4)을 제외한 다른 노드들을 배치하는 것은 n1~n4의 4개의 노드와 다른 노드들 사이의 거리를 이용하여 3차원 공간에 다른 노드들을 배치할 수 있다.
이러한 도 4의 예시와 같이, N개의 노드를 임의로 선택하여 n차원 공간을 형성하는 것을 일반적으로 나타내면 다음과 같다.
먼저 네트워크 상의 노드들 중 임의로 선택된 노드들 N개 중에서 임의로 선택된 하나의 노드(첫번째 노드라 함)를 형성되는 n 차원 공간상의 원점에 배치한다(첫번째 노드의 위치는 p_1이라 함).
그리고 두 번째 노드 첫 번째 노드와의 거리에 맞추어 임의의 하나의 축(1번째 축이라 함) 상에 배치한다. (두번째 노드의 위치는 p_2이라 함).
세 번째 노드는, 해당 위치를 p_3이라 할 때 p_3이 직선 p_1, p_2에 내린 수선이 임의의 다른 하나의 축(2번째 축이라 함)과 평행하게 되도록 배치한다.
네 번째 노드는, 해당 위치를 p_4라 할 때 p_4가 p_1, p_2, p_3을 포함하는 평면에 내린 수선이 임의의 다른 하나의 축(3번째 축이라 함)과 평행하게 되도록 배치한다.
이러한 방법으로 N번째 노드는, 해당 위치를 p_N라 할 때 p_N가 p_1~p_(N-1)을 포함하는 (N-2)-dimensional hyperplane에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하는 것이다.
한편, 이러한 네트워크 상에 존재하는 N개의 임의의 노드들을 선택하고, 선택된 임의의 노드들을 이용하여 n차원 공간을 형성할 수 있으며, 형성된 n차원 공간에 네트워크 상에 존재하는 다른 노드들은 N개의 임의의 노드들과의 거리를 이용하여 배치된다.
한편, 네트워크에 새로운 노드가 추가되는 경우 즉 본 발명에 의해 형성된 차원 공간에 노드들을 추가하여야 하는 경우 추가되는 노드와 다른 노드들 사이의 거리를 이용하여 노드의 좌표를 계산하여 노드를 차원 공간에 배치할 수 있다.
차원 공간에 노드를 추가하기 위한 좌표 계산을 위한 수학적 계산은 다음과 같이 나타낼 수 있다.
추가될 노드를 x라 하고 x의 좌표를 (x_1, x_2,…, x_n)이라 하고, i번째 특정 지점의 좌표를 (p_i1, p_i2, …, p_in)이라 둘 때, 거리의 오차는 다음과 같이 [수식 1]로 나타낼 수 있다.
[수식 1]
d_err(x) = (sqrt((x_1 - p_11)^2 + (x_2 - p_12)^2 + … + (x_n - p_1n)^2) - d_1)^2 + …
위 [수식 1]에서의 함수를 최소화하기 위해서 위 함수를 각각의 x_i들로 편미분한 함수가 0이 되도록 하는 연립방정식인 [수식 2]를 푼다.
[수식 2]
D = sqrt((x_1 - p_11)^2 + (x_2 - p_12)^2 + … + (x_n - p_1n)^2)라 할 때,
0 = d(d_err) / dx_i = 2(D - d_1)(2x_i - p_1i)/D + 2(D - d_2)(2x_i - p_2i)/D + … (for i=1, 2, …, n)
따라서 [수식 2]에 의한 값을 좌표로 설정함으로써 네트워크에서 추가되는 노드에 대하여 좌표를 부여할 수 있게 된다.
차원 공간에 노드를 추가하기 위한 좌표 계산을 위한 수학적 계산은 이러한 [수식 1] 및 [수식 2]에 의해 한정되는 것은 아니며, 다른 수학적 계산에 의해 계산되는 것도 가능하다.
한편, 이러한 각각의 노드들을 차원 공간의 배치함으로써 각각의 노드들의 거리를 노드들의 좌표를 이용하여 수학적 계산만으로도 알아낼 수 있게 된다.
따라서 네트워크 상에 존재하는 노드들 사이의 거리를 측정하는 것은 복잡한 네트워크 구성에서 노드들 사이의 거리를 보다 용이하게 나타내고 또한, 노드 사이들의 거리를 보다 용이하게 측정할 수 있게 있다.
한편, 도 3 및 도 4에서 살펴본 바와 같이 네트워크 상에 존재하는 N개의 임의의 노드들을 선택하고, 선택된 N개의 임의의 노드들을 이용하여 n차원 공간을 형성한 후, n차원 공간에 네트워크 상에 존재하는 다른 노드들을 배치하여, 네트워크 상에 위치하는 노드들 사이의 거리를 측정하는 경우에도 네트워크 상에 너무나 많은 노드들이 존재하고 또한, 노드들 사이의 연결 상태나 노드들의 성능 등 다양한 조건들이 서로 달라 각각의 노드들 사이의 거리를 정확하게 측정하기 어려울 수 있다.
이러한 경우 네트워크 상에 존재하는 노드들을 이용하여 도 3 및 도 4와 같이 하나의 차원 공간만을 형성하는 것이 아니라 복수개의 차원 공간을 형성하고 형성된 복수개의 차원 공간을 서로 관련시킴으로써 네트워크 상에 존재하는 수많은 노드들의 위치를 보다 정확하게 배치하고 노드들 사이의 거리를 측정하는 것이 가능할 수 있다.
한편, 복수개의 차원 공간을 형성하는 방법에 있어서 복수개의 차원 공간 중 하나의 차원 공간 각각의 형성 방법은 도 3 및 도 4에서 살펴본 바와 같은 방법에 의해 차원 공간이 형성될 수 있다.
이하에서는 복수개의 차원 공간을 형성하고 노드들 배치하는 방법에 대해 도 5와 도6을 참조하여 살펴보기로 한다.
먼저 도 5는 본 발명의 바람직한 일 실시예에 따른 복수개의 차원 공간의 형성 순서를 도시한 순서도이다.
도 5에 도시된 바와 같이, 먼저 네트워크에 존재하는 복수개의 노드 중 M개의 임의의 노드들을 선택하여 코어 포인트(core point)로 설정한다(S500).
다음으로, 코어 포인트로 설정된 임의의 노드들을 이용하여 차원 공간을 형성한다(S502).
차원 공간을 형성하기 위해 임의의 노드들에서 선택되는 코어 포인트의 개수 M은 코어 포인트를 이용하여 형성되는 차원의 차수(m)보다 큰 수일 수 있다.
즉, 설정된 코어 포인트를 이용하여 m차원 공간을 형성하는 것은 도 3 및 도 4에서 설명한 것과 같이 네트워크 상에 존재하는 임의의 M개의 노드를 선택하면 M보다 작은 m차원(M>m, m≥1)의 공간을 형성하는 것이다.
한편, 이러한 코어 포인트를 이용하여 차원 공간이 형성되면, 코어 포인트로 설정된 노드들을 각각 포함하는 임의의 노드들을 선택한다(S504).
그리고 코어 포인트 각각을 포함하는 임의의 노드를 이용하여 각각의 차원 공간을 형성한다(S506).
코어 포인트로 설정된 노드들을 각각 포함하여 다시 각각의 차원 공간을 형성하는 것은 도 3 및 도 4에서 설명한 것과 같이 네트워크 상에 존재하는 임의의 P개의 노드를 선택하면, P보다 작은 p차원(P>p, p≥1)의 공간을 형성하며, 이 경우 P개의 노드에는 코어 포인트로 설정된 노드가 포함되게 된다.
예를 들면 도 6의 예시와 같이, 네트워크 상의 노드 중에서 코어 포인트가 3개가 설정된 경우 코어 포인트를 이용하여 2차원 공간을 형성하고, 코어 포인트 각각을 포함하여 다시 4개의 노드를 선택하여 코어 포인트 각각에 대하여 3차원 공간을 형성하는 것이다.
한편, 코어 포인트로 설정된 노드들을 각각 포함하여 각각의 코어 포인트들을 포함하는 p차원 공간을 각각 형성하는 경우, p차원을 형성하게 하는 코어 포인트를 제외한 다른 노드들 즉, p차원에 포함되는 노드들은 코어 포인트와 해당 노드 사이의 거리를 기준으로 결정될 수 있다.
예를 들어, 도 6의 예시에서 n1, n5, n9가 코어 포인트로 선택되었다고 가정하면 n1, n5, n9로 코어 포인트로 설정된 코어 포인트의 개수는 M=3이므로 코어 포인트를 이용하여 생성되는 차원 공간의 차수 m은 M>m이므로 2가 될 수 있으므로 2차원 공간이 형성된다.
다음으로 n2~n4, n6~n8, n10~n12는 코어 포인트인 n1, n5 및 n9와의 거리를 비교하여 상대적으로 거리가 가까운 코어 포인트들인 노드들(n1, n5 및 n9)이 속하는 각각의 p차원 공간에 속하는 노드들이 되게 되는 것이다.
한편, 도 6의 예시에서 p차원 공간을 형성하기 위한 코어 포인트를 포함하는 임의의 노드 개수 P가 4이므로(각각 n1~n4, n5~n8, n9~n12), p차원 공간은 3차원 공간이 형성될 수 있으며, 코어 포인트가 3개가 선정되었으므로 결국 코어 포인트들로 형성되는 차원 공간1인 2차원 공간 1개와 코어 포인트들이 각각 포함되는 차원 공간인 차원 공간2~4까지 3개의 3차원 공간이 형성되는 것이다.
한편, 코어 포인트들이 각각 포함되는 차원 공간의 경우 도 6의 예시와 같이 각각 같은 차원의 차수를 가지는 것으로 도시하였으나, 코어 포인트들이 각각 포함되는 차원 공간의 차원 차수를 다르게 하는 것도 가능하다.
예를 들어, n1이 코어 포인트인 차원 공간2의 차원 차수는 3차원으로, n5가 코어 포인트인 차원 공간3의 차원 차수는 4차원으로, n9가 코어 포인트인 차원 공간4의 차원 차수는 5차원으로 각각 다르게 하는 것도 가능하다.
이하에서는 도 6의 예시를 참조하여 본 발명의 바람직한 일 실시예에 따라 복수개의 차원 공간을 형성하는 것에 대해 살펴보기로 한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 복수개의 차원 공간을 형성하는 순서를 도시한 순서도이다.
도 6에 도시된 바와 같이 네트워크 상에 존재하는 임의의 노드들 중에서 n1, n5, n9를 코어 포인트(core point)로 설정한다.
코어 포인트로 설정한 노드의 개수가 3(=M)개이므로 설정된 코어 포인트를 이용하여 형성될 수 있는 차원의 차수는 2(=m)차원 공간이 되며, 따라서 도 6의 예시와 같이 차원 공간1이 2차원 공간이 형성되는 것이다.
한편, 이러한 코어 포인트를 이용하여 2차원 공간이 형성되면, 각각의 코어 포인트를 기준으로 상대적으로 거리가 가까운 노드들을 임의로 P-1개를 선택한다.
도 6의 예시에서 코어 포인트1인 n1을 기준으로 보면, n1에서의 거리가 상대적으로 코어 포인트2인 n5나 코어 포인트3인 n9보다 가까운 n2, n3, n4가 각각 선정이 되는 것이다.
따라서 코어 포인트인 n1을 포함하여 4(=P)개 선택되었으므로 3(=p)차원 공간이 형성될 수 있는 것이다.
이와 같은 방법으로 코어 포인트2인 n5나 코어 포인트3인 n9를 기준으로 각각 3차원 공간을 형성하게 된다.
한편, 코어 포인트로 설정된 노드들을 각각 포함하여 다시 각각의 p차원 공간을 형성하는 경우 코어 포인트로 설정된 노드들을 각각 포함하여 형성되는 각각의 p차원의 공간의 차원의 차수는 각각 다른 차수를 가지도록 하는 것도 가능함은 전술한 바와 같다.
다만 이 경우에도 코어 포인트를 포함하여 선택되는 임의의 노드 개수 P는 형성되는 공간의 차원수 p보다 큰 수이어야 하며, p가 1이상의 자연수임은 동일하다.
한편, 이상의 설명에서는 코어 포인트를 먼저 선택하고 코어 포인트들이 포함되는 m차원의 공간을 먼저 형성하고 각각의 코어 포인트를 기준으로 다시 각각의 p차원을 형성하는 것으로 예시하였으나, 각각의 코어 포인트를 기준으로 각각의 p차원을 먼저 형성하고, 코어 포인트들이 포함되는 m차원을 나중에 형성하거나 또는 동시에 이러한 각각의 차원 공간이 형성되도록 하는 것도 가능하다.
한편, 이러한 복수개의 차원 공간을 형성하고 형성된 복수개의 차원 공간을 서로 관련시키는 경우에도 하나의 차원 공간을 형성하는 것과 같이 복수개의 차원 공간이 관련된 차원 공간에 노드들을 추가하여야 하는 경우가 있다.
즉, 네트워크에 노드들이 추가되는 경우가 있으며, 이 경우 추가될 노드들은 각각의 코어 포인트를 기준으로 코어 포인트에 가까운 노드가 코어 포인트가 속하는 차원 공간에 추가되게 된다.
즉, 추가될 노드와 코어 포인트들 사이의 거리를 먼저 측정하여 가장 가까운 코어 포인트를 계산한 후 추가될 노드들 가장 가까운 코어 포인트가 포함된 차원 공간에 배치한다.
예를 들어, 도 6에서 노드 13(n13)을 차원 공간에 추가하고자 하는 경우 먼저 n13과 각각의 코어 포인트(n1, n5, n9)까지의 거리 정보를 측정한 후 가장 가까운 코어 포인트인 n5가 계산되는 경우 n13은 n5가 포함되는 차원 공간 3에 배치되게 된다
한편, n13은 n5가 포함되는 차원 공간 3에 배치되게 될 때에는 앞서 살펴본 바와 같이 차원 공간에 노드를 추가하는 방법에 의해 이루어지게 된다.
즉, 추가될 노드를 x라 하고 x의 좌표를 (x_1, x_2,…, x_n)이라 하고, i번째 특정 지점의 좌표를 (p_i1, p_i2, …, p_in)이라 둘 때, 거리의 오차는 앞서 살펴본 [수식 1]로 나타낼 수 있다.
그리고, [수식 1]에서의 함수를 최소화하기 위해서 위 함수를 각각의 x_i들로 편미분한 함수가 0이 되도록 하는 연립방정식인 앞서 살펴본 [수식 2]를 풀어, [수식 2]에 의한 값을 좌표로 설정함으로써 네트워크에서 추가되는 노드들에 대하여 좌표를 부여할 수 있게 된다.
한편, 이러한 각각의 노드들을 차원 공간의 배치함으로써 각각의 노드들의 좌표를 이용하여 거리를 계산할 수 있게 된다.
즉, 전술한 바와 같이 수학적 계산에 의하여 노드들 사이의 거리를 계산할 수 있다.
다만 복수개의 차원 공간을 형성하고 형성된 복수개의 차원 공간을 서로 관련시키는 경우에는 하나의 차원 공간에서와 달리 복수개의 차원 공간이 존재하므로 노드가 각각의 차원 공간 중 어느 차원 공간에 속하는지 그리고 코어 포인트인지 여부 등에 따라 노드들 사이의 거리를 계산하는 것이 달라질 수 있다.
예를 들면, k차원에 모두 위치하는 노드A와 노드B 사이의 거리(Euclidean distance)는 d_k(A, B)로 나타낼 수 있다.
그러나, 복수개의 차원 공간을 형성하고 형성된 복수개의 차원 공간을 서로 관련시키는 경우에는 다음과 같이 노드와 노드 사이의 거리를 계산할 수 있다.
예를 들어, 복수개의 차원 공간으로 형성되는 공간에 배치되는 노드A와 노드B가 있다고 가정하고, 전체 공간의 차원의 차수가 n이고, 코어 포인트가 속하는 공간의 차원의 차수가 m이라고 가정한다.
이 때 노드A와 노드B가 모두 코어 포인트인 경우 거리는 d_n(A, B)와 같이 나타낼 수 있다.
다음으로 노드A는 코어 포인트고, 노드B는 코어 포인트가 아닌 경우 B가 속한 차원 공간의 코어 포인트를 B_L이라 하면 거리는 d_n(A, B_L) + d_m(B_L, B)로 나타낼 수 있다.
마지막으로 노드A와 노드B가 모두 코어 포인트가 아닐 경우, 노드A가 속한 차원 공간의 코어 포인트를 A_L라고 하고, 노드B가 속한 차원 공간의 코어 포인트를 B_L이라 하면 거리는 d_n(A_L, B_L) + d_m(A_L, A) + d_m(B_L, B)과 같이 나타낼 수 있다.
한편, 같은 노드A와 노드B가 모두 코어 포인트가 아니며, 노드A와 노드B가 모두 같은 k차원에 위치하는 경우 노드A와 노드B 사이의 거리는 하나의 차원 공간에 있는 노드들 사이의 거리와 같이 d_k(A, B)로 나타낼 수 있다.
이러한 차원 공간의 개념을 이용하여 각각의 노드들에 대하여 좌표를 부여하고 부여된 좌표를 이용하여 각각의 노드들 사이의 거리를 측정함으로써 매우 복잡한 형태를 가지는 되는 네트워크에서 각각의 노드 사이의 거리를 보다 효과적으로 측정할 수 있게 된다.
한편, 이러한 복수개의 노드를 차원 공간에 배치하여 소스와 목적지까지 데이터 전송을 위한 최적의 경로 설정을 위해 예를 들면, 목적지에서 가까운 노드들을 찾아내어야 하는 경우가 있을 수 있다.
또는, 상대적으로 가장 가까운 노드들로부터 분할된 데이터 각각을 수신하기 위해 네트워크 상에서 노드 자신을 기준으로 가까운 거리에 위치하는 노드들을 찾아내어야 하는 경우도 있을 수 있을 것이다.
이러한 경우, 먼저 하나의 차원 공간만을 형성하는 경우에는 예를 들면 목적지를 대상 노드로 하여 차원 공간에서의 대상 노드를 기준으로 거리가 가까운 노드들을 선택하면 된다.
그러나 복수개의 차원 공간을 형성하는 경우 먼저 대상 노드가 속하는 차원 공간에서 찾아내고자 하는 개수의 노드들 찾아내게 된다.
만약 대상 노드가 속하는 차원 공간에서 원하는 개수의 노드를 모두 찾지 못하는 경우 대상 노드가 속한 코어 포인트를 기준으로 가까운 코어 포인트들을 찾아내어 찾아내고자 하는 나머지 개수의 노드들 찾아내게 된다.
예를 들어, 도 6의 예시에서 n2를 대상 노드라 하고 n2에서 가까운 노드 4개를 찾아내야 한다고 가정하고, n1에서 n5까지의 거리와 n1에서 n9까지의 거리 중 n1에서 n5까지의 거리가 더 가깝다고 가정한다.
이 경우, 먼저 n2가 속한 3차원 공간에서 n1, n3, n4 3개의 노드를 찾아내고, 코어 포인트1인 n1을 기준으로 코어 포인트 중 가까운 n5를 포함하여 모두 4개의 노드를 찾아내게 되는 것이다.
만약 n2에서 가까운 노드 5개를 찾아내야 한다고 가정하면, n2가 속한 3차원 공간에서 n1, n3, n4 3개의 노드를 찾아내고, 코어 포인트인 n5와 n9를 포함하여 모두 5개의 노드를 찾아내게 되는 것이다.
만약 n2에서 가까운 노드 6개를 찾아내야 한다고 가정하면, n2가 속한 3차원 공간에서 n1, n3, n4 3개의 노드를 찾아내고, 코어 포인트인 n5와 n9를 포함하고, 다음으로 코어 포인트인 n5와 n9에서 각각의 코어 포인트가 속한 3차원 공간에서 각각의 노드들과 코어 포인트까지의 거리를 이용하여 나머지 하나의 노드를 찾아 모두 5개의 노드를 찾아내게 되는 것이다.
물론 거리에 따라 같은 차원 공간 내에 있는 노드의 경우라도 다른 코어 포인트가 속하는 차원 공간에 있는 노드가 더 가까운 경우 다른 코어 포인트가 속하는 차원 공간에 있는 노드가 선택되는 경우도 가능할 수 있다.
예를 들어, 도 6의 예시에서 n2를 대상 노드라 하고 n2에서 가까운 노드 3개를 찾아내야 한다고 가정하고, 코어 포인트인 n1에서 n5까지의 거리가 n1에서 n4까지의 거리보다 더 가깝다고 가정한다.
이 경우 n2에서 가까운 노드 3개로 선택되는 노드는 n1이 속한 차원 공간2의 다른 노드들인 n2, n3, n4가 아니라 n2, n3 그리고 차원 공간 2가 아닌 차원 공간 3에 위차하는 n5가 선택될 수 있다.
한편, 이러한 대상 노드를 기준으로 가까운 노드들을 찾아내는 것은 네트워크에서 데이터 전송을 위한 최적의 경로 설정이나 p2p 방식과 같이 복수개의 노드로부터 하나의 데이터를 분할하여 분할된 데이터 각각을 수신을 하는 경우에 이용될 수 있다.
이러한 복수개의 노드를 차원 공간에 배치하여 노드 사이의 거리 측정 방법이 실제 네트워크에서 적용되는 경우를 예시를 통해 살펴본다.
먼저 네트워크와 연결되는 별도의 장치(예를 들면, 서버) 등을 이용하여 노드와 노드 사이의 거리 정보를 저장하고 있다가 다양한 분야에 이용할 수 있다.
도 7은 네트워크와 연결되는 별도의 장치(예를 들면, 서버) 등을 이용하여 노드와 노드 사이의 거리를 측정하는 경우를 예시한 것이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 노드 사이의 거리 측정 시스템의 구성을 도시한 도면이다.
도 7에 도시된 바와 같이, 노드 사이의 거리 측정 시스템은 네트워크(100), 거리 측정 서버(110) 및 데이터베이스(120)를 포함할 수 있다.
먼저 네트워크(100)는 도 7에 도시된 바와 같이 네트워크를 구성하는 다양한 장치들인 복수개의 노드들(n1~nk)이 서로 연결되어 구성될 수 있다.
또한, 서로 정보를 주고 받을 수 있는 통로로서 여러 장치 등이 상호 간에 서로 정보를 주고 받게 되는 경우이면 아무런 제한이 없다.
따라서, 본 발명에서의 네트워크(100)는 이동 통신망 및 인터넷을 포함할 뿐만 아니라, 인터넷은 TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service) 등을 제공하는 전세계적인 개방형 네트워크 구조를 모두 포함한다.
또한, 이동 통신망은 기지국(BS: Base Station), 이동전화 교환국(MTSO: Mobile Telephone Switching Office), 홈 위치 등록기(HLR: Home Location Register) 이외에, 무선 패킷 데이터의 송수신을 가능하게 하는 액세스 게이트웨이(Access Gateway), PDSN(Packet Data Serving Node) 등과 같은 구성요소를 추가로 포함한다.
거리 측정 서버(110)는 네트워크를 구성하는 각각의 노드들로부터 각각의 노드들에 대한 정보 및 각각의 노드들과 인접한 노드들에 대한 거리 정보 즉 인접한 노드까지의 거리 정보를 수신한다.
각각의 노드들에 대한 정보는 노드들의 식별 번호나, 아이디(ID)와 같은 노드의 식별 정보, 노드의 IP(Internet Protocol) 주소, 장치의 종류, 회선의 종류, 물리적, 지리적 위치 등 노드와 관련된 다양한 정보를 포함할 수 있다.
인접한 노드까지의 거리 정보는 바람직하게는 해당 노드가 물리적, 지리적으로 연결된 다른 노드까지의 거리에 대한 정보일 수 있다.
그리고 인접한 노드들에 대한 거리 정보는 전술한 바와 같이 응답 시간 정보를 이용하는 ping 테스트와 같은 방법을 이용하여 측정되어 거리 측정 서버(110)로 전송될 수 있으나, 그 방법이 이에 한정되는 것은 아니다.
예를 들어 도 2와 같은 예시에서 거리 측정 서버는 n1~n5까지 5개 노드 각각으로부터 IP 주소 등을 포함하는 노드 정보를 수신하고, 또한 n1으로부터는 n1의 IP 주소, 장치의 종류 정보, 회선의 종류 등의 노드 정보와 인접하는 n2, n3 및 n4까지의 거리 정보인 d1, d2, d4과 같은 인접 노드들까지의 거리 정보를 수신할 수 있다.
한편, 거리 측정 서버(110)는 네트워크를 구성하는 각각의 노드들로부터 노드에 대한 정보와 인접한 노드들까지의 거리 정보를 수신하여, 전술한 바와 같은 방법으로 노드들 사이의 거리를 이용하여 차원 공간을 형성하고 형성된 차원 공간에 노드들 사이의 거리를 이용하여 각각의 노드들을 배치한다.
그리고 차원 공간에 배치된 노드들의 정보를 기초로 하여 각각의 노드들 사이의 거리를 계산한다.
그리고 네트워크에 노드가 추가되는 경우 추가되는 노드와 기존의 노드들 사이의 거리를 이용하여 형성된 차원 공간에 노드들을 배치하며, 특히 복수개의 차원 공간을 형성하는 경우 추가되는 노드들은 추가되는 노드와 각각의 코어 포인트까지의 거리를 먼저 측정한 후 가장 가까운 코어 포인트가 속하는 차원 공간에 추가되는 노드를 배치할 수 있다.
한편, 거리 측정 서버(110)가 네트워크를 구성하는 각각의 노드들로부터 노드에 대한 정보와 인접한 노드들까지의 거리 정보를 수신하는 것은 거리 측정 서버(110)가 네트워크를 구성하는 각각의 노드들이 미리 설정된 시간이나 예를 들면, 다른 노드와의 연결 상태의 변화 등 다양한 기준에 따라 해당 노드에서 거리 측정 서버(110)로 해당 노드에 대한 정보와 인접한 노드들까지의 거리 정보를 전송하는 것일 수 있다.
또한, 거리 측정 서버(110)가 각각의 노드들로 해당 노드에 대한 정보와 인접한 노드들까지의 거리 정보를 요청허여 수신할 수 있다.
그리고 거리 측정 서버(110)가 노드에 대한 정보와 인접한 노드들까지의 거리 정보를 수신하는 것은 agent와 같은 프로그램을 이용하여 수행할 수 있다.
한편, 데이터베이스(120)는 거리 측정 서버(110)에서 각각의 노드들로부터 수신한 노드에 대한 정보와 인접한 노드들에 대한 거리에 대한 정보가 저장될 수 있다.
또한, 데이터베이스(120)에는 노드들이 배치되는 차원 공간 정보와 형성된 차원 공간에서의 노드들의 배치 정보도 저장될 수 있다.
한편, 네트워크를 구성하는 각각의 노드들로부터 노드에 대한 정보와 노드에서 인접한 노드로의 거리 정보를 수신하여 차원 공간을 형성하고 형성된 차원 공간에 각각의 노드들을 배치하여 노드들 사이의 거리를 계산하는 거리 측정 서버의 구성을 도 8을 참조하여 살펴본다.
도 8은 본 발명의 바람직한 일 실시예에 따른 노드 사이의 거리 측정을 수행할 수 있는 거리 측정 서버의 구성을 도시한 도면이다.
도 8에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 거리 측정 서버는 기준 노드 설정부(800), 차원 형성부(810) 및 거리 계산부(820)를 포함할 수 있다.
한편, 전술한 바와 같이 본 발명의 바람직한 일 실시예에 따른 거리 측정 서버(110)는 네트워크(100)를 구성하는 각각의 노드들로부터 노드에 대한 정보와 노드에서 인접한 노드로의 거리 정보를 수신하며, 이러한 정보들은 네트워크와 연결되는 통신부(미도시)를 통해 수신할 수 있다.
한편, 수신된 정보들을 이용하여 하나의 차원 공간의 형성을 위해서는 복수개의 임의의 노드를 선택하는 것이 필요하고, 복수개의 차원 공간을 형성하고 관련시키기 위해서도 복수개의 임의의 노드를 선택하여 코어 포인트의 설정하고, 코어 포인트와 인접하는 노드들의 정보가 필요하다.
도 8에서 도시된 기준 노드 설정부(800)는 하나의 차원 공간의 형성을 위해서 복수개의 임의의 노드를 선택하거나, 복수개의 차원 공간을 형성하고 관련시키기 위해서 복수개의 임의의 노드를 선택하여 코어 포인트를 설정한다.
차원 형성부(810)는 기준 노드 설정부(800)에서 선택하거나 설정되는 복수개의 임의의 노드 또는 코어 포인트를 이용하여 미리 설정된 차원 공간을 형성한다.
이러한 차원 공간은 하나의 차원 공간 또는 복수개의 차원 공간을 형성하고 복수개의 차원 공간을 상호 관련시킨 차원 공간임은 전술한 바와 같다.
한편, 하나의 차원 공간만을 형성하는 경우 먼저 임의의 N개의 노드를 선택하여 선택된 임의의 N개의 노드를 이용하여 n차원을 형성하며, N>n이고 n≥1의 관계에 있음은 전술한 바와 같다.
복수개의 차원 공간을 형성하고 복수개의 차원 공간을 상호 관련시킨 차원 공간을 형성하는 경우 임의의 M개의 노드를 선택하여 코어 포인트로 설정하고 m차원을 형성하여, 코어 포인트를 포함하여 코어 포인트에서 상대적으로 가까운 P개의 노드들을 포함하여 p차원을 형성하는 것이며, M>m이고 m≥1이며, P>p이고 p≥1의 관계에 있음은 전술한 바와 같다.
차원 형성부(810)는 또한, 형성된 차원 공간에서 다른 노드들의 좌표를 결정하여 다른 노드들을 배치한다.
거리 계산부(820)는 결정된 좌표를 이용하여 노드들 사이의 거리를 측정한다.
한편, 도 7 내지 도 8에서는 네트워크(100)와 연결되는 별도의 거리 측정 서버(110)를 포함하여 각각의 노드들에 대한 정보와 노드와 인접한 노드 사이의 거리 정보를 이용하여 차원 공간을 형성하고, 형성된 차원 공간을 이용하여 각각의 노드 사이의 거리를 측정하는 것으로 예시하였다.
그러나, 이와 달리 거리 측정 서버(110)의 기능을 네트워크(100)를 구성하는 각각의 노드들중 적어도 하나의 노드에 포함하거나 네트워크를 구성하는 각각의 노드들과 연결되는 별도의 장치로 제공하여 네트워크를 구성하는 노드들 사이의 거리를 측정하는 것도 가능하다.
또한, 네트워크를 구성하는 각각의 노드들에 본 발명에 의한 노드 사이의 거리 측정 방법이 프로그램의 형태로 구현되어 각각의 노드들에 설치되어 노드들 사이의 거리를 측정하는 것도 가능하다.
한편, 이러한 본 발명에 의한 노드 사이의 거리 측정 방법은 다양한 분야에 이용될 수 있다.
전술한 바와 같이, 네트워크에서 소스에서 목적지로 데이터를 전송하고자 하는 경우 최적의 경로를 통해 데이터 전송이 이루어지도록 하여야 한다.
이를 위해서는 본 발명에 의한 노드와 노드 사이의 거리 측정 방법을 이용하여 최적 경로를 설정하는 것이 가능하다.
또한, 복수의 소스 중 최적의 소스로부터 목적지까지 데이터를 전송하게 되는 경우 각각의 소스에서 목적지까지의 거리를 계산하여 최적의 소스를 결정하는 것도 가능하다.
뿐만 아니라 p2p(peer-to-peer)와 같은 네트워크에서 복수의 사용자로부터 데이터를 수신하고자 하는 경우에도 최적의 사용자(peer)를 선택하여 해당 사용자로부터 데이터를 수신하도록 하는 것도 가능하다.
그리고 p2p와 같은 네트워크를 구성하는 경우 도 7에서 거리 측정 서버(110)의 기능이 p2p 네트워크를 관리하는 p2p 관리 서버에 포함되어 사용자가 요청하는 데이터를 제공할 최적의 피어 또는 서버를 선택하여 사용자인 해당 피어에게 제공하도록 하게 하는 것도 가능할 것이다.
특히, p2p 네트워크를 콘텐츠 전송을 위한 콘텐츠 전송 네트워크(Contents Delivery Network)로 이용하거나, 콘텐츠 전송 네트워크와 이용하는 결합하여 사용하는 경우 거리 측정 서버(110)의 기능이 p2p 네트워크를 관리하는 p2p 관리 서버 또는/및 콘텐츠 전송 네트워크의 구성 요소에 포함되어 사용자가 요청하는 데이터를 제공할 장치를 선택하는데 이용하도록 할 수 있다.
한편, p2p 네트워크에서는 차원 형성을 위한 기준이 되는 코어 포인트를 피어 사이의 통신을 연결하거나 중계해주는 브로커(broker)들 또는 슈퍼 피어(super peer)로 설정하고, 피어들에 본 발명에 의한 거리 측정 방법의 기능을 부과하여 파일 등의 송수신이 이루어질 최적의 피어들을 선택하여 피어에게 정보를 제공하는 방법도 가능하다.
뿐만 아니라 코어 포인트를 설정하기 위해 임의의 노드를 선택함에 있어서 코어 포인트로 설정될 노드가 지리적, 물리적으로 또는 서비스의 제공자를 중심으로 해당 네트워크의 중심이 되는 노드가 선정되도록 하여 본 발명에 의한 노드 사이의 거리 측정 방법이 적용되도록 하는 것도 가능하다.
예를 들어, 각 지역의 IDC(Internet Data Center) 등에 위치하는 서버들을 차원 공간 형성을 위한 임의의 노드를로 선택하여 차원 공간을 형성하고, 각 지역의 IDC(Internet Data Center) 등에 위치하는 서버들과 연결된 각각의 노드들을 거리에 따라 차원 공간에 배치하여 노드들 사이의 거리를 계산하는 것이 가능하다.
또한, 한국의 특정 IDC 등에 위치하는 서버를 코어 포인트로 하여 하나의 차원을 형성하고, 미국의 IDC 등에 위치하는 서버를 코어 포인트로 하나의 차원을 형성하는 방법으로 각각의 국가별로 국가별 네트워크에서의 차원 공간을 형성한다.
그리고 해당 국가에서 코어 포인트로 선정된 노드를 이용하여 다시 공간 차원을 형성하여 본 발명에 의한 노드 사이의 거리 측정 방법이 적용될 공간 차원을 형성하고 각 국가별로 위치하는 노드들은 해당 국가의 코어 포인트를 기준으로 형성된 차원 공간에 각각 배치하는 것이 가능하다.
또한, 지역적으로 예를 들어 한국에서 각각의 ISP(Internet Service Provider)들의 IDC 등의 서버를 코어 포인트로 설정하여 각각의 ISP를 중심으로 하는 공간 차원을 형성하여 각각의 ISP와 연결된 노드들은 각각의 ISP를 중심으로 하는 공간 차원을 형성에 배치하여 각각의 노드들 사이의 거리를 측정하는 것도 가능하다.
뿐만 아니라, 무선 네트워크의 경우 기지국이나 무선 네트워크의 AP(Access Point)를 코어 포인트로 설정하고, 이러한 무선 네트워크 상의 단말기들을 코어 포인트가 아닌 다른 임의의 노드들로 설정함으로써 노드들 사이의 최적의 거리를 계산할 수 있게 되어 보다 빠르게 단말기들 사이의 연결이 이루어지고 통신이 가능하도록 할 수 있다.
이러한 본 발명에 의한 노드 사이의 거리 측정 방법은 전술한 예시들뿐만 아니라 다양한 형태로 적용될 수 있으며, 코어 포인트와 같은 기준이 되는 노드를 설정하고 설정된 노드를 이용하여 공간 차원을 형성하고, 형성된 공간 차원에 각각의 노드에 좌표를 부여하여 노드 사이의 거리를 계산하여 거리를 측정하는 경우라면 본 발명에 포함되는 것으로 보아야 할 것이다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (36)

  1. 네트워크와 연결되는 장치에서 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 단계;
    상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계-상기 n차원을 형성하는 것은 상기 임의로 선택된 적어도 N개의 노드 각각으로부터 수신된 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 이용하여 수행됨-;
    상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하는 단계; 및
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 임의로 선택된 적어도 N개의 노드 각각으로부터 수신되는 노드 정보는,
    상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  4. 제1항에 있어서,
    상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계는,
    상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 n차원 공간상의 원점에 배치하는 단계;
    상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계;
    상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및
    상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 N번째 노드는 첫번째로 선택된 노드의 위치부터 (N-1)번째로 선택된 노드의 위치를 포함하는 (N-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  5. 제1항에 있어서,
    상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  6. 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2 이상의 노드들을 코어 포인트(core point)로 설정하는 단계;
    상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하는 단계; 및
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  7. 제6항에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 임의의 노드들을 코어 포인트로 설정하는 단계는, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 M개의 임의의 노드들을 선택하는 단계를 포함하고,
    상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계를 포함하며,
    상기 M>m이고, m≥1인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  8. 제7항에 있어서,
    상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 단계는,
    상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 m차원 공간상의 원점에 배치하는 단계;
    상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계;
    상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및
    상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 M번째 노드를 첫번째로 선택된 노드의 위치부터 (M-1)번째로 선택된 노드의 위치를 포함하는 (M-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (M-1)번째 축과 평행하게 되도록 배치하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  9. 제6항에 있어서,
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계는,
    상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계를 포함하며,
    상기 P>p이고, p≥1인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  10. 제9항에 있어서,
    상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 단계는,
    상기 코어 포인트를 포함하는 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 p차원 공간상의 원점에 배치하는 단계;
    상기 코어 포인트를 포함하는 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하는 단계;
    상기 코어 포인트를 포함하는 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하는 단계; 및
    상기 코어 포인트를 포함하는 노드 중 임의로 선택된 P번째 노드를 첫번째로 선택된 노드의 위치부터 (P-1)번째로 선택된 노드의 위치를 포함하는 (P-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (P-1)번째 축과 평행하게 되도록 배치하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  11. 제6항에 있어서,
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계에서 형성되는 각각의 차원 공간은 적어도 하나의 차원 공간이 다른 차원 차수를 가지는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  12. 제6항에 있어서,
    상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계는,
    각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신하는 단계를 수행한 후 수행되는 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  13. 제12항에 있어서,
    상기 각각의 노드들로부터 수신되는 노드 정보는,
    상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  14. 제6항에 있어서,
    상기 네트워크와 연결되는 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  15. 제6항에 있어서,
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는,
    상기 거리를 측정하는 노드가 모두 코어 포인트인 경우 상기 설정된 코어 포인트를 이용하여 형성된 차원 공간에서의 상기 코어 포인트들 사이의 거리인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  16. 제6항에 있어서,
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는,
    상기 거리를 측정하는 노드 중 하나만이 코어 포인트인 경우 상기 코어 포인트인 노드와 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트 사이의 거리에 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트와 상기 코어 포인트가 아닌 노드 사이의 거리를 합한 거리인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  17. 제6항에 있어서,
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계는,
    상기 거리를 측정하는 노드가 모두 코어 포인트가 아닌 경우 각각의 노드가 속한 차원 공간의 코어 포인트와 상기 각각의 노드 사이의 거리에 상기 각각의 노드가 속한 차원 공간의 코어 포인트들 사이의 거리를 합한 거리인 것을 특징으로 하는 노드 사이의 거리 측정 방법.
  18. 네트워크와 연결되어 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 측정하는 장치에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 기준 노드 설정부;
    상기 기준 노드 설정부에서 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 차원 형성부-상기 차원형성부는 상기 거리 측정 장치에서 수신한 상기 임의로 선택된 적어도 N개의 노드 각각으로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 이용하여 상기 n차원을 형성함-;
    상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하고, 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 거리 계산부를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  19. 삭제
  20. 제18항에 있어서,
    상기 임의로 선택된 적어도 N개의 노드 각각으로부터 수신되는 노드 정보는,
    상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  21. 제18항에 있어서,
    상기 차원 형성부가 상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 것은,
    상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 n차원 공간상의 원점에 배치하고, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 임의로 선택된 적어도 N개의 노드 중 임의로 선택된 N번째 노드는 첫번째로 선택된 노드의 위치부터 (N-1)번째로 선택된 노드의 위치를 포함하는 (N-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (N-1)번째 축과 평행하게 되도록 배치하여 수행하는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  22. 제18항에 있어서,
    상기 거리 측정 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  23. 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리를 측정하는 장치에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2이상의 노드들을 코어 포인트(core point)로 설정하고, 상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 기준 노드 설정부;
    상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하고, 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 차원 형성부;
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하고, 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 거리 계산부를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  24. 제23항에 있어서,
    상기 기준 노드 설정부가 상기 네트워크에 위치하는 복수개의 노드들 중 임의의 노드들을 코어 포인트로 설정하는 것은, 상기 네트워크에 위치하는 복수개의 노드들 중 적어도 M개의 임의의 노드들을 선택하고,
    상기 차원 형성부가 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 것은, 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하되, 상기 M>m이고, m≥1인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  25. 제24항에 있어서,
    상기 차원 형성부가 상기 임의로 선택된 적어도 M개의 임의의 노드를 이용하여 m차원을 형성하는 것은,
    상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 m차원 공간상의 원점에 배치하고, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 코어 포인트로 설정된 임의의 노드 중 임의로 선택된 M번째 노드를 첫번째로 선택된 노드의 위치부터 (M-1)번째로 선택된 노드의 위치를 포함하는 (M-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (M-1)번째 축과 평행하게 되도록 배치하여 수행되는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  26. 제23항에 있어서,
    상기 차원 형성부가 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 것은,
    상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하되,
    상기 P>p이고, p≥1인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  27. 제26항에 있어서,
    상기 차원 형성부가 상기 임의로 선택된 적어도 P-1개의 노드와 상기 코어 포인트로 설정된 노드를 포함하는 P개의 노드를 이용하여 p차원을 형성하는 것은,
    상기 코어 포인트를 포함하는 노드 중 임의로 선택된 첫번째 노드를 상기 형성되는 p차원 공간상의 원점에 배치하고, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 두번째 노드를 상기 첫 번째 노드와의 거리에 맞추어 임의의 첫번째 축상에 배치하며, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 세번째 노드를 상기 첫번째 노드와 상기 두번째 노드가 이루어지는 직선에 내린 수선이 임의의 두번째 축에 평행하게 되도록 배치하고, 상기 코어 포인트를 포함하는 노드 중 임의로 선택된 P번째 노드를 첫번째로 선택된 노드의 위치부터 (P-1)번째로 선택된 노드의 위치를 포함하는 (P-2) 차원의 하이퍼플레인(hyperplane)에 내린 수선이 (P-1)번째 축과 평행하게 되도록 배치하여 수행되는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  28. 제23항에 있어서,
    상기 차원 형성부가 상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 경우 상기 형성되는 각각의 차원 공간은 적어도 하나의 차원 공간이 다른 차원 차수를 가지는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  29. 제23항에 있어서,
    상기 차원 형성부가 상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 것은,
    상기 거리 측정 장치가 각각의 노드들로부터 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 수신한 후 수행하는 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  30. 제29항에 있어서,
    상기 각각의 노드들로부터 수신되는 노드 정보는,
    상기 노드의 식별 정보, 상기 노드의 IP 주소, 상기 노드의 장치 종류, 상기 노드에 연결된 회선의 종류, 상기 노드의 지리적 위치 중 적어도 하나를 포함하는 정보인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  31. 제23항에 있어서,
    상기 거리 측정 장치는 상기 네트워크에 위치하는 복수개의 노드 중 적어도 하나인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  32. 제23항에 있어서,
    상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은,
    상기 거리를 측정하는 노드가 모두 코어 포인트인 경우 상기 설정된 코어 포인트를 이용하여 형성된 차원 공간에서의 상기 코어 포인트들 사이의 거리를 계산하는 것인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  33. 제23항에 있어서,
    상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은,
    상기 거리를 측정하는 노드 중 하나만이 코어 포인트인 경우 상기 코어 포인트인 노드와 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트 사이의 거리에 상기 코어 포인트가 아닌 노드가 속한 차원 공간의 코어 포인트와 상기 코어 포인트가 아닌 노드 사이의 거리를 합한 거리를 계산하는 것인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  34. 제23항에 있어서,
    상기 거리 계산부가 상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 것은,
    상기 거리를 측정하는 노드가 모두 코어 포인트가 아닌 경우 각각의 노드가 속한 차원 공간의 코어 포인트와 상기 각각의 노드 사이의 거리에 상기 각각의 노드가 속한 차원 공간의 코어 포인트들 사이의 거리를 합한 거리를 계산하는 것인 것을 특징으로 하는 노드 사이의 거리 측정 장치.
  35. 네트워크와 연결되는 장치에서 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 N개의 노드를 임의로 선택하는 단계;
    상기 임의로 선택된 적어도 N개의 노드를 이용하여 n차원(N>n, n≥1)을 형성하는 단계-상기 n차원을 형성하는 것은 상기 임의로 선택된 적어도 N개의 노드 각각으로부터 수신된 노드 정보와 상기 노드와 인접한 노드 사이의 거리 정보를 이용하여 수행됨-;
    상기 임의로 선택된 적어도 N개의 노드와 다른 노드 사이의 거리를 이용하여 상기 형성된 n차원에서 상기 다른 노드들의 좌표를 결정하는 단계; 및
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체.
  36. 네트워크와 연결되는 장치에서 네트워크에 위치하는 복수개의 노드들 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    상기 네트워크에 위치하는 복수개의 노드들 중 적어도 2이상의 노드들을 코어 포인트(core point)로 설정하는 단계;
    상기 설정된 코어 포인트를 이용하여 차원 공간을 형성하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되는 임의의 노드들을 각각 선택하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들을 이용하여 각각의 차원 공간을 형성하는 단계;
    상기 코어 포인트로 설정된 노드들이 각각 포함되어 각각 선택된 임의의 노드들과 다른 노드 사이의 거리를 이용하여 상기 각각 형성된 차원 공간에서 상기 다른 노드들의 좌표를 결정하는 단계; 및
    상기 결정된 좌표를 이용하여 상기 네트워크에 위치하는 복수개의 노드들 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 노드 사이의 거리 측정 방법을 구현하기 위한 프로그램을 기록한 기록매체.
KR1020100028398A 2010-03-30 2010-03-30 노드 사이의 거리 측정 방법 및 장치 KR100984479B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020100028398A KR100984479B1 (ko) 2010-03-30 2010-03-30 노드 사이의 거리 측정 방법 및 장치
CN201180026875.3A CN102918415B (zh) 2010-03-30 2011-03-30 节点之间的距离的测量方法及装置
US13/638,531 US8913521B2 (en) 2010-03-30 2011-03-30 Method and apparatus for measuring the distance between nodes
JP2013502473A JP5795790B2 (ja) 2010-03-30 2011-03-30 ノード間距離測定方法、ノード間距離測定装置およびコンピュータプログラム
PCT/KR2011/002168 WO2011122839A2 (ko) 2010-03-30 2011-03-30 노드 사이의 거리 측정 방법 및 장치
EP11763011.1A EP2555009B1 (en) 2010-03-30 2011-03-30 Method and apparatus for measuring the distance between nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100028398A KR100984479B1 (ko) 2010-03-30 2010-03-30 노드 사이의 거리 측정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100984479B1 true KR100984479B1 (ko) 2010-09-30

Family

ID=43010555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100028398A KR100984479B1 (ko) 2010-03-30 2010-03-30 노드 사이의 거리 측정 방법 및 장치

Country Status (6)

Country Link
US (1) US8913521B2 (ko)
EP (1) EP2555009B1 (ko)
JP (1) JP5795790B2 (ko)
KR (1) KR100984479B1 (ko)
CN (1) CN102918415B (ko)
WO (1) WO2011122839A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327325B1 (ko) 2012-12-18 2013-11-11 국방과학연구소 감시 정찰 센서 네트워크 시스템의 3차원 공간에서 노드 배치 장치 및 그 방법
CN103973837A (zh) * 2014-05-27 2014-08-06 北京瑞汛世纪科技有限公司 一种确定物理位置信息的方法和装置
CN104168341A (zh) * 2014-08-15 2014-11-26 北京百度网讯科技有限公司 Ip地址的定位方法和cdn调度方法以及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137732A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 情報処理システム及び情報処理システムの制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510171A (ja) * 2004-08-19 2008-04-03 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ネットワークにおけるノードに対し座標系及び座標を確立する方法
KR20090048837A (ko) * 2007-11-12 2009-05-15 세연테크놀로지 주식회사 두 노드간의 거리 측정 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192404B1 (en) * 1998-05-14 2001-02-20 Sun Microsystems, Inc. Determination of distance between nodes in a computer network
JP2000332715A (ja) * 1999-05-19 2000-11-30 Nec Corp Sdh伝送のノード間距離測定システム及び方法
AU2001276373A1 (en) * 2000-07-03 2002-01-14 Ecole Polytechnique Federale De Lausanne (Epfl) Method and wireless terminal for generating and maintaining a relative positioning system
US7554988B2 (en) * 2002-09-10 2009-06-30 Hewlett-Packard Development Company, L.P. Creating expressway for overlay routing
US7457860B2 (en) * 2003-10-09 2008-11-25 Palo Alto Research Center, Incorporated Node localization in communication networks
US7827279B2 (en) * 2004-01-30 2010-11-02 Hewlett-Packard Development Company, L.P. Selecting nodes close to another node in a network using location information for the nodes
US20070155408A1 (en) * 2005-12-29 2007-07-05 John Belcea Method and apparatus for determining distances between wireless communication devices using low frequency signals
EP1821116B1 (en) * 2006-02-15 2013-08-14 Sony Deutschland Gmbh Relative 3D positioning in an ad-hoc network based on distances
US7880676B2 (en) * 2006-04-19 2011-02-01 Wichorus Inc. Method and system for hybrid positioning using partial distance information
DE102006045350A1 (de) * 2006-09-26 2007-03-22 Siemens Ag Verfahren zur Abstandsermittlung zwischen Netzknoten in einem Nachrichtennetzwerk
JP4774559B2 (ja) * 2007-08-09 2011-09-14 日本電信電話株式会社 通信網におけるノード間距離推定方法およびその装置
SE534644C2 (sv) * 2008-03-27 2011-11-01 Sics Swedish Inst Of Comp Science Ab Förfarande och system för lokalisering av noder
ES2719625T3 (es) * 2008-08-20 2019-07-11 Mitsubishi Electric Corp Sistema de posicionamiento de terminales inalámbricos, método de posicionamiento de terminales inalámbricos, sistema de medición ambiental, sistema de gestión de instalación, método de medición ambiental y método de determinación del destino de terminal móvil inalámbrico
US8284788B2 (en) * 2008-08-29 2012-10-09 Ntt Docomo, Inc. Method for scalable routing with greedy embedding
US8682611B2 (en) * 2008-09-29 2014-03-25 Nec Corporation Distance metric estimating system, coordinate calculating node, distance metric estimating method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510171A (ja) * 2004-08-19 2008-04-03 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ネットワークにおけるノードに対し座標系及び座標を確立する方法
KR20090048837A (ko) * 2007-11-12 2009-05-15 세연테크놀로지 주식회사 두 노드간의 거리 측정 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327325B1 (ko) 2012-12-18 2013-11-11 국방과학연구소 감시 정찰 센서 네트워크 시스템의 3차원 공간에서 노드 배치 장치 및 그 방법
CN103973837A (zh) * 2014-05-27 2014-08-06 北京瑞汛世纪科技有限公司 一种确定物理位置信息的方法和装置
CN103973837B (zh) * 2014-05-27 2018-02-13 湖南网数科技有限公司 一种确定物理位置信息的方法和装置
CN104168341A (zh) * 2014-08-15 2014-11-26 北京百度网讯科技有限公司 Ip地址的定位方法和cdn调度方法以及装置
CN104168341B (zh) * 2014-08-15 2018-01-19 北京百度网讯科技有限公司 Ip地址的定位方法和cdn调度方法以及装置

Also Published As

Publication number Publication date
JP5795790B2 (ja) 2015-10-14
EP2555009B1 (en) 2019-10-23
US20130064121A1 (en) 2013-03-14
EP2555009A4 (en) 2014-08-27
CN102918415A (zh) 2013-02-06
WO2011122839A2 (ko) 2011-10-06
CN102918415B (zh) 2014-08-06
WO2011122839A3 (ko) 2012-02-02
US8913521B2 (en) 2014-12-16
JP2013529404A (ja) 2013-07-18
EP2555009A2 (en) 2013-02-06
WO2011122839A9 (ko) 2011-11-24

Similar Documents

Publication Publication Date Title
CN1939003B (zh) 使用节点的位置信息选择网络中靠近另一个节点的节点
KR101409991B1 (ko) P2p 통신 환경에서의 데이터 전송 방법 및 장치
JP2008516528A (ja) ネットワークのサービスノードの特定
US7965655B2 (en) Distributed network distance determination using a distributed hash table overlay network
EP1719331B1 (en) Determining location information for a node in a network using at least one local landmark node
KR100984479B1 (ko) 노드 사이의 거리 측정 방법 및 장치
CN104935462A (zh) 一种端服务器部署方法及装置
JP5136649B2 (ja) 距離メトリック推定システム、座標算出ノード、距離メトリック推定方法及びプログラム
CN112541019B (zh) 区块链资源的搜索方法和装置
CN101267356A (zh) 测量Overlay节点间网络性能的方法、装置和系统
Gross et al. GeoSwarm: A multi-source download scheme for peer-to-peer location-based services
JP2008269141A (ja) オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム
US11522953B1 (en) Human-cyber-physical resource-oriented adaptive construction method and apparatus for structured P2P network
Hillmann et al. Dragoon: advanced modelling of IP geolocation by use of latency measurements
Patel et al. Energy-efficient approach for effective estimation of delimited node position with limited references
Hillmann et al. Modelling of IP Geolocation by use of Latency Measurements
CN105792348B (zh) 一种无线传感网节点间的节点定位方法
Kunzmann et al. Efficient simulation of large-Scale p2p networks: modeling network transmission times
Maiti et al. Latency-adaptive positioning of nano data centers for peer-to-peer communication based on clustering
CN114666265B (zh) 数据传输方法、装置、计算设备及介质
Kleis et al. A decentralised service composition approach for peer-to-peer video delivery
Dhaka et al. Selecting Favorable Reference Nodes to Aid Localization in Wireless Sensor Networks
KABRE et al. Comparative study of can, pastry, kademlia and chord dhts
Yoon et al. Distributed spatial skyline query processing in wireless sensor networks
Sànchez-Artigas et al. TR-clustering: Alleviating the impact of false clustering on P2P overlay networks

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20130830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150825

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190918

Year of fee payment: 10