KR102280965B1 - 경로 검색 장치 및 방법 - Google Patents

경로 검색 장치 및 방법 Download PDF

Info

Publication number
KR102280965B1
KR102280965B1 KR1020200039012A KR20200039012A KR102280965B1 KR 102280965 B1 KR102280965 B1 KR 102280965B1 KR 1020200039012 A KR1020200039012 A KR 1020200039012A KR 20200039012 A KR20200039012 A KR 20200039012A KR 102280965 B1 KR102280965 B1 KR 102280965B1
Authority
KR
South Korea
Prior art keywords
node
nodes
long
target node
path
Prior art date
Application number
KR1020200039012A
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 KR1020200039012A priority Critical patent/KR102280965B1/ko
Application granted granted Critical
Publication of KR102280965B1 publication Critical patent/KR102280965B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

경로 검색 장치 및 방법이 개시된다. 일 실시예에 따른 경로 검색 장치는, 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하는 그래프 생성부 및 상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하는 경로 검색부를 포함한다.

Description

경로 검색 장치 및 방법{APPARATUS AND METHOD FOR SEARCHING ROUTE}
개시되는 실시예들은 경로 검색 기술과 관련된다.
사물인터넷(IoT, Internet of Things)은 동질적 개체(homogeneous objects)와 이질적 개체(heterogeneous objects)를 연결하는 수단으로 각광받아 왔다. 하지만 연결되는 개체의 수가 급증함에 따라, 보다 효율적인 개체 간 정보 인프라 구조(infrastructure)가 필요하게 되었다.
이에 따라, 소셜 네트워크(social network)의 특징을 IoT에 접목시킨 소셜 사물인터넷(SIoT, Social IoT)이 등장하였고, 이를 해석하기 위해 다양한 네트워크 모델이 제안되었다.
그러나 기존 네트워크 모델은 현실의 네트워크 구조를 반영하는 데 있어서는 효과적이지만, 모델 내 각 IoT 객체 간의 경로 검색에 있어서는 여전히 많은 메모리와 연산 작업량이 요구되는 한계에 봉착해 있다.
대한민국 등록특허공보 제10-1850884호 (2018.04.16. 등록)
개시되는 실시예들은 노드 간 경로를 효율적으로 검색하기 위한 것이다.
일 실시예에 따른 경로 검색 장치는, 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하는 그래프 생성부 및 상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하는 경로 검색부를 포함하고, 상기 복수의 단거리 링크는 각각, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고, 상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이다.
상기 그래프 생성부는, 상기 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 상기 복수의 노드 중 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 상기 장거리 링크를 생성할 수 있다.
상기 그래프 생성부는, 상기 복수의 노드 각각에 대해, 상기 복수의 원격 노드 각각과의 장거리 링크 생성 확률을 계산하고, 상기 복수의 원격 노드 중 상기 장거리 링크 생성 확률이 최대인 원격 노드와의 장거리 링크를 생성하되, 상기 장거리 링크 생성 확률은 상기 클러스터링 계수 및 상기 격자 거리에 의해 결정될 수 있다.
상기 경로 검색부는, 상기 복수의 노드 중 특정 노드와 상기 단거리 링크 또는 상기 장거리 링크로 연결된 모든 노드를 상기 특정 노드와 함께 카테고리화할 수 있다.
상기 경로 검색부는, 상기 초기 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는 경우, 상기 초기 노드에 대한 주소 테이블에 기초하여 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 경로 검색부는, 상기 초기 노드 및 상기 타겟 노드가 다른 카테고리에 속하는 경우, 상기 초기 노드와 상기 단거리 링크로 연결된 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 경로 검색부는, 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는 경우, 상기 인접 노드에 대한 주소 테이블에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 경로 검색부는, 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있지 않은 경우, 상기 인접 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행할 수 있다.
일 실시예에 따른 경로 검색 방법은, 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하는 단계 및 상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하는 단계를 포함하고, 상기 복수의 단거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고, 상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이다.
상기 생성하는 단계는, 상기 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 상기 복수의 노드 중 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 상기 장거리 링크를 생성할 수 있다.
상기 생성하는 단계는, 상기 복수의 노드 각각에 대해, 상기 복수의 원격 노드 각각과의 장거리 링크 생성 확률을 계산하고, 상기 복수의 원격 노드 중 상기 장거리 링크 생성 확률이 최대인 원격 노드와의 장거리 링크를 생성하되, 상기 장거리 링크 생성 확률은 상기 클러스터링 계수 및 상기 격자 거리에 의해 결정될 수 있다.
상기 검색하는 단계는, 상기 복수의 노드 중 특정 노드와 상기 단거리 링크 또는 상기 장거리 링크로 연결된 모든 노드를 상기 특정 노드와 함께 카테고리화할 수 있다.
상기 검색하는 단계는, 상기 초기 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는 경우, 상기 초기 노드에 대한 주소 테이블에 기초하여 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 검색하는 단계는, 상기 초기 노드 및 상기 타겟 노드가 다른 카테고리에 속하는 경우, 상기 초기 노드와 상기 단거리 링크로 연결된 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 검색하는 단계는, 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는 경우, 상기 인접 노드에 대한 주소 테이블에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색할 수 있다.
상기 검색하는 단계는, 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있지 않은 경우, 상기 인접 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행할 수 있다.
예시적인 비일시적 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램은, 하나 이상의 명령어들을 포함하고, 상기 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금, 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하고, 상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하도록 하되, 상기 복수의 단거리 링크는 각각, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고, 상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이다.
개시되는 실시예들에 따르면, 검색이 요청되면 단거리 링크 뿐만 아니라 장거리 링크를 함께 이용하여 검색 작업을 수행함으로써, 전반적인 네트워크 탐색성(navigability)을 제고할 수 있다.
또한 개시되는 실시예들에 따르면, 소규모 네트워크에서 경로 검색 시 검색 반복 횟수를 줄임으로써, 메모리 및 연산 작업량 측면에서 보다 효율적인 검색 서비스를 제공할 수 있다.
도 1은 일 실시예에 따른 경로 검색 장치를 설명하기 위한 블록도
도 2는 일 실시예에 따른 경로 검색 방법을 설명하기 위한 흐름도
도 3은 일 실시예에 따른 경로 검색 방법을 보다 상세하게 설명하기 위한 흐름도
도 4는 예시적인 2차원 격자 형태의 소규모 네트워크 그래프를 나타내는 도면
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 경로 검색 장치(100)를 설명하기 위한 블록도이다. 도 1을 참조하면, 일 실시예에 따른 경로 검색 장치(100)는 그래프 생성부(110) 및 경로 검색부(120)를 포함한다.
그래프 생성부(110)는 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성한다.
일 실시예에 따르면, '소규모 네트워크 그래프'는 복수의 노드 각각이 서로 일정한 개수만큼 연결되어 있는 '정규(regular) 그래프'와 복수의 노드 각각이 무작위로 연결되어 있는 '랜덤(random) 그래프'를 절충하여, 복수의 노드 중 일부는 서로 일정한 개수만큼 연결되어 있으나 나머지 일부는 무작위로 연결되어 있는 형태의 그래프일 수 있다.
개시되는 실시예들에서, 소규모 네트워크 그래프는 단거리 링크 및 장거리 링크로 이루어진 복수의 엣지를 포함할 수 있다.
이때, '단거리 링크'는 각각 소규모 네트워크 그래프 내 복수의 엣지 중 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고, '장거리 링크'는 상기 복수의 엣지 중 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이다.
또한, 인접 노드는 하나의 노드를 중심으로 이웃한 노드를 의미하며, 원격 노드는 소규모 네트워크 그래프 내 복수의 노드 중 인접 노드를 제외한 나머지 노드를 의미한다. 복수의 노드 각각마다 이웃한 인접 노드가 각기 다르므로, 원격 노드 또한 복수의 노드 중 어느 노드를 기준으로 하는가에 따라 다르다.
일 실시예에 따르면, 그래프 생성부(110)는 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 복수의 노드 각각과 나머지 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 장거리 링크를 생성할 수 있다.
구체적으로, '격자 거리'는 복수의 노드 각각과 나머지 원격 노드 사이의 맨해튼 거리(Manhattan distance)를 의미할 수 있다.
예를 들어, 노드 (i, j)와 노드 (k, l) 사이의 맨해튼 거리는 각 노드의 x축 값의 차의 절대값과 각 노드의 y축 값의 차의 절대값을 합산하여 계산될 수 있다.
한편, '클러스터링 계수'는 복수의 노드 각각에서 장거리 링크를 생성할 때 비교적 먼 거리의 원격 노드를 선택할지, 가까운 거리의 원격 노드를 선택할지에 대한 소규모 네트워크 그래프의 경향성을 나타내는 수치일 수 있다.
구체적으로, 소규모 네트워크 그래프 내 두 노드 간 최단 거리 중 가장 큰 '격자 거리'를 소규모 네트워크 그래프의 '지름'이라고 할 때, 그래프 생성부(110)는 '클러스터링 계수'가 '지름'보다 작으면 장거리 링크 생성 시 비교적 먼 거리의 원격 노드를 선택하는 경향성이 강하며, '클러스터링 계수'가 '지름'보다 크면 장거리 링크 생성 시 비교적 가까운 거리의 원격 노드를 선택하는 경향성이 강한 것으로 판단할 수 있다.
일 실시예에 따르면, 그래프 생성부(110)는 소규모 네트워크 그래프의 클러스터링 계수가 소규모 네트워크 그래프의 지름과 동일한 값을 가질 때 소규모 네트워크 그래프를 최적의 상태로 판단할 수 있다. 예를 들어, 클러스터링 계수의 값은 2일 수 있다.
일 실시예에 따르면, 그래프 생성부(110)는 소규모 네트워크 그래프 내 복수의 노드 각각에 대해, 복수의 원격 노드 각각과의 장거리 링크 생성 확률을 계산하고, 복수의 원격 노드 중 장거리 링크 생성 확률이 최대인 원격 노드와의 장거리 링크를 생성할 수 있다.
이때, 장거리 링크 생성 확률은 클러스터링 계수 및 격자 거리에 의해 결정될 수 있다.
구체적으로, 그래프 생성부(110)는 아래의 수학식 1에 기초하여 장거리 링크의 생성 확률을 계산할 수 있다.
[수학식 1]
Figure 112020033562757-pat00001
이때,
Figure 112020033562757-pat00002
는 노드 u와 노드 v 사이의 장거리 링크의 생성 확률,
Figure 112020033562757-pat00003
는 노드 u와 노드 v 사이의 격자 거리, r은 클러스터링 계수, i는 노드 u와의 모든 원격 노드 N 중 임의의 한 노드를 나타낸다.
경로 검색부(120)는 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색한다.
일 실시예에 따르면, 경로 검색부(120)는 복수의 노드 중 특정 노드와 단거리 링크 또는 장거리 링크로 연결된 모든 노드를 특정 노드와 함께 카테고리화할 수 있다.
일 실시예에 따르면, 경로 검색부(120)는 초기 노드 및 타겟 노드가 동일한 카테고리에 속하는 경우, 초기 노드에 대한 주소 테이블에 기초하여 타겟 노드까지의 경로를 검색할 수 있다.
이하에서, '주소 테이블'은 특정 노드와 단거리 링크 또는 장거리 링크로 연결된 노드들에 있어서, 초기 노드에서 해당 노드들까지의 경로 정보를 포함하는 자료일 수 있다. 아울러, '주소 테이블'은 소규모 네트워크 그래프 내 복수의 노드 각각과 매칭되어 경로 검색 장치(100)의 내부 공간에 저장될 수 있으나, 반드시 이에 한정되는 것은 아니며, 경로 검색 장치(100) 외부의 별도 장치에 저장될 수도 있다.
한편 일 실시예에 따르면, 경로 검색부(120)는 초기 노드 및 타겟 노드가 다른 카테고리에 속하는 경우, 초기 노드와 단거리 링크로 연결된 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 초기 노드에서 타겟 노드까지의 경로를 검색할 수 있다.
구체적으로, 경로 검색부(120)는 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있는 경우, 인접 노드에 대한 주소 테이블에 기초하여 초기 노드에서 타겟 노드까지의 경로를 검색할 수 있다.
반면에, 경로 검색부(120)는 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있지 않은 경우, 인접 노드 및 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행할 수 있다.
이상의 설명과 관련하여, 이하 도 2 내지 도 4를 참조하여 보다 상세히 설명하기로 한다.
도 2는 일 실시예에 따른 경로 검색 방법을 설명하기 위한 흐름도이다. 도 2에 도시된 방법은 예를 들어, 상술한 경로 검색 장치(100)에 의해 수행될 수 있다.
도 2를 참조하면 우선, 경로 검색 장치(100)는 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드 및 복수의 엣지를 포함하는 2차원 격자 형태의 소규모 네트워크 그래프를 생성한다(210).
이때, 복수의 단거리 링크는 복수의 엣지 중 복수의 노드 각각을 인접 노드 중 하나와 연결하는 엣지이고, 하나의 장거리 링크는 복수의 엣지 중 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이다.
이후, 경로 검색 장치(100)는 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색한다(220).
도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 3은 일 실시예에 따른 경로 검색 방법을 보다 상세하게 설명하기 위한 흐름도이다. 도 3에 도시된 방법은 예를 들어, 상술한 경로 검색 장치(100)에 의해 수행될 수 있다.
도 3을 참조하면 우선, 경로 검색 장치(100)는 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드 및 복수의 엣지를 포함하는 2차원 격자 형태의 소규모 네트워크 그래프를 생성한다(310).
이후, 경로 검색 장치(100)는 복수의 노드 중 특정 노드와 단거리 링크 또는 장거리 링크로 연결된 모든 노드를 특정 노드와 함께 카테고리화한다(320).
이후, 경로 검색 장치(100)는 초기 노드 및 타겟 노드가 동일한 카테고리에 속하는지 판단한다(330).
이후, 경로 검색 장치(100)는 초기 노드 및 타겟 노드가 동일한 카테고리에 속하는 경우, 초기 노드에 대한 주소 테이블에 기초하여 타겟 노드까지의 경로를 검색한다(340).
한편, 경로 검색 장치(100)는 초기 노드 및 타겟 노드가 다른 카테고리에 속하는 경우, 초기 노드와 단거리 링크로 연결된 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 초기 노드에서 타겟 노드까지의 경로를 검색한다(350, 360).
이후, 경로 검색 장치(100)는 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있는 경우, 인접 노드에 대한 주소 테이블에 기초하여 초기 노드에서 타겟 노드까지의 경로를 검색한다(370).
한편, 경로 검색 장치(100)는 인접 노드에 대한 주소 테이블에 타겟 노드의 정보가 저장되어 있지 않은 경우, 인접 노드 및 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행한다(380).
구체적으로, 경로 검색 장치(100)는 경로 검색을 반복 수행할 경우, 인접 노드를 기준으로 하여 단계 330 내지 380을 반복하여 수행할 수 있다.
도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 4는 예시적인 2차원 격자 형태의 소규모 네트워크 그래프를 나타내는 도면이다. 도 4에서는 표현의 편의상 4*4 격자 형태로 16개의 노드를 도시하였다.
도 4를 참조하면, 사용자에 의해 설정되는 초기 노드의 좌표를 (i, j)라 할 때, 인접 노드의 좌표는 각각 x축의 원소 또는 y축의 원소 값을 1씩 증가시키거나 감산하여 (i-1, j), (i+1, j), (i, j-1), (i, j+1)가 되며, 초기 노드로부터 인접 노드 각각으로 연결되는 짧은 화살표는 단거리 링크(Local contacts)를 나타낸다.
한편, 초기 노드 및 인접 노드를 제외한 나머지 노드 중 선택되는 하나의 원격 노드의 좌표를 (k, l)이라 할 때, 초기 노드로부터 원격 노드 (k, l)로 연결되는 곡선형의 긴 화살표는 장거리 링크(Long range contact)를 나타낸다.
일 실시예에 따르면, 경로 검색 장치(100)는 초기 노드 (i, j), 인접 노드 (i-1, j), (i+1, j), (i, j-1), (i, j+1) 및 원격 노드 (k, l)을 하나의 카테고리로 묶어, 상술한 4개의 인접 노드 및 1개의 원격 노드 중 검색하고자 하는 타겟 노드가 존재하는지 확인할 수 있다.
이어서, 경로 검색 장치(100)는 상술한 4개의 인접 노드 및 1개의 원격 노드 중 검색하고자 하는 타겟 노드가 존재하는 경우, 초기 노드 (i, j)에 대한 주소 테이블에 저장된 경로 정보 중 타겟 노드로의 경로 정보를 검색할 수 있다.
그러나, 경로 검색 장치(100)는 상술한 4개의 인접 노드 및 1개의 원격 노드 중에 타겟 노드가 존재하지 않는 경우, 4개의 인접 노드 각각에 대한 주소 테이블에 저장된 경로 정보 중 타겟 노드로의 경로 정보가 존재하는지 확인할 수 있다.
이때, 타겟 노드로의 경로 정보가 저장된 주소 테이블이 존재하는 경우, 경로 검색 장치(100)는 해당 주소 테이블에 저장된 경로 정보를 이용하여 타겟 노드로의 경로 정보를 검색할 수 있다.
한편, 타겟 노드로의 경로 정보가 저장된 주소 테이블이 존재하지 않는 경우, 경로 검색 장치(100)는 인접 노드를 중심으로 상술한 카테고리화부터 이하의 과정을 반복하여 수행할 수 있다. 이에 따라, 검색 과정이 반복될수록 확인 대상이 되는 노드 및 주소 테이블의 수가 인접 노드의 수만큼 배로 증가하게 되므로, 몇 번의 검색 과정을 반복 수행하는 것만으로 초기 노드에서 타겟 노드까지의 경로를 검색할 수 있다.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 경로 검색 장치(100)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 경로 검색 장치
110: 그래프 생성부
120: 경로 검색부

Claims (17)

  1. 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하는 그래프 생성부; 및
    상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하는 경로 검색부를 포함하고,
    상기 복수의 단거리 링크는 각각, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고,
    상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이고,
    상기 그래프 생성부는,
    상기 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 상기 복수의 노드 각각과 나머지 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 상기 장거리 링크를 생성하는, 경로 검색 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 그래프 생성부는,
    상기 복수의 노드 각각에 대해, 상기 복수의 원격 노드 각각과의 장거리 링크 생성 확률을 계산하고, 상기 복수의 원격 노드 중 상기 장거리 링크 생성 확률이 최대인 원격 노드와의 장거리 링크를 생성하되,
    상기 장거리 링크 생성 확률은 상기 클러스터링 계수 및 상기 격자 거리에 의해 결정되는, 경로 검색 장치.
  4. 청구항 1에 있어서,
    상기 경로 검색부는,
    상기 복수의 노드 중 특정 노드와 상기 단거리 링크 또는 상기 장거리 링크로 연결된 모든 노드를 상기 특정 노드와 함께 카테고리화하는, 경로 검색 장치.
  5. 청구항 4에 있어서,
    상기 경로 검색부는,
    상기 초기 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는 경우, 상기 초기 노드에 대한 주소 테이블에 기초하여 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 장치.
  6. 청구항 4에 있어서,
    상기 경로 검색부는,
    상기 초기 노드 및 상기 타겟 노드가 다른 카테고리에 속하는 경우, 상기 초기 노드와 상기 단거리 링크로 연결된 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 장치.
  7. 청구항 6에 있어서,
    상기 경로 검색부는,
    상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는 경우, 상기 인접 노드에 대한 주소 테이블에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 장치.
  8. 청구항 6에 있어서,
    상기 경로 검색부는,
    상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있지 않은 경우, 상기 인접 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행하는, 경로 검색 장치.
  9. 특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하는 단계; 및
    상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하는 단계를 포함하고,
    상기 복수의 단거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고,
    상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이고,
    상기 생성하는 단계는,
    상기 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 상기 복수의 노드 각각과 나머지 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 상기 장거리 링크를 생성하는, 경로 검색 방법.
  10. 삭제
  11. 청구항 9에 있어서,
    상기 생성하는 단계는,
    상기 복수의 노드 각각에 대해, 상기 복수의 원격 노드 각각과의 장거리 링크 생성 확률을 계산하고, 상기 복수의 원격 노드 중 상기 장거리 링크 생성 확률이 최대인 원격 노드와의 장거리 링크를 생성하되,
    상기 장거리 링크 생성 확률은 상기 클러스터링 계수 및 상기 격자 거리에 의해 결정되는, 경로 검색 방법.
  12. 청구항 9에 있어서,
    상기 검색하는 단계는,
    상기 복수의 노드 중 특정 노드와 상기 단거리 링크 또는 상기 장거리 링크로 연결된 모든 노드를 상기 특정 노드와 함께 카테고리화하는, 경로 검색 방법.
  13. 청구항 12에 있어서,
    상기 검색하는 단계는,
    상기 초기 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는 경우, 상기 초기 노드에 대한 주소 테이블에 기초하여 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 방법.
  14. 청구항 12에 있어서,
    상기 검색하는 단계는,
    상기 초기 노드 및 상기 타겟 노드가 다른 카테고리에 속하는 경우, 상기 초기 노드와 상기 단거리 링크로 연결된 상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는지 여부에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 방법.
  15. 청구항 14에 있어서,
    상기 검색하는 단계는,
    상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있는 경우, 상기 인접 노드에 대한 주소 테이블에 기초하여 상기 초기 노드에서 상기 타겟 노드까지의 경로를 검색하는, 경로 검색 방법.
  16. 청구항 14에 있어서,
    상기 검색하는 단계는,
    상기 인접 노드에 대한 주소 테이블에 상기 타겟 노드의 정보가 저장되어 있지 않은 경우, 상기 인접 노드 및 상기 타겟 노드가 동일한 카테고리에 속하는지에 기초하여 경로 검색을 반복 수행하는, 경로 검색 방법.
  17. 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 하나 이상의 명령어들을 포함하고, 상기 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,
    특정 네트워크에 포함된 복수의 객체에 대응되는 복수의 노드(node) 및 복수의 엣지(edge)를 포함하는 2차원 격자 형태의 소규모 네트워크(Small-World network) 그래프를 생성하고,
    상기 복수의 노드 각각에 대한 복수의 단거리 링크 및 하나의 장거리 링크에 기초하여, 상기 복수의 노드 중 초기 노드에서 타겟 노드까지의 경로를 검색하도록 하되,
    상기 복수의 단거리 링크는 각각, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 인접 노드 중 하나와 연결하는 엣지이고,
    상기 하나의 장거리 링크는, 상기 복수의 엣지 중 상기 복수의 노드 각각을 복수의 원격 노드 중 하나와 연결하는 엣지이며,
    상기 컴퓨팅 장치는 상기 소규모 네트워크 그래프의 클러스터링 계수(clustering coefficient) 및 상기 복수의 노드 각각과 나머지 원격 노드 사이의 격자 거리(lattice distance)에 기초하여 상기 장거리 링크를 생성하는, 비일시적 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200039012A 2020-03-31 2020-03-31 경로 검색 장치 및 방법 KR102280965B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200039012A KR102280965B1 (ko) 2020-03-31 2020-03-31 경로 검색 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200039012A KR102280965B1 (ko) 2020-03-31 2020-03-31 경로 검색 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102280965B1 true KR102280965B1 (ko) 2021-07-22

Family

ID=77157970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039012A KR102280965B1 (ko) 2020-03-31 2020-03-31 경로 검색 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102280965B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055989A (ko) * 2010-11-24 2012-06-01 한양대학교 산학협력단 무선 메쉬 네트워크에서 최적 경로 설정 방법 및 장치
KR101616278B1 (ko) * 2014-11-14 2016-05-02 충북대학교 산학협력단 모바일 애드혹 네트워크에서 그리드 기반 혼합형 라우팅 시스템 및 방법
KR20180006685A (ko) * 2016-07-11 2018-01-19 주식회사 삼진엘앤디 계층적 그래프 기반의 경로 탐색 방법 및 이를 이용한 사물 인터넷 환경에서의 경로 탐색 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055989A (ko) * 2010-11-24 2012-06-01 한양대학교 산학협력단 무선 메쉬 네트워크에서 최적 경로 설정 방법 및 장치
KR101616278B1 (ko) * 2014-11-14 2016-05-02 충북대학교 산학협력단 모바일 애드혹 네트워크에서 그리드 기반 혼합형 라우팅 시스템 및 방법
KR20180006685A (ko) * 2016-07-11 2018-01-19 주식회사 삼진엘앤디 계층적 그래프 기반의 경로 탐색 방법 및 이를 이용한 사물 인터넷 환경에서의 경로 탐색 방법
KR101850884B1 (ko) 2016-07-11 2018-04-20 주식회사 삼진엘앤디 계층적 그래프 기반의 경로 탐색 방법 및 이를 이용한 사물 인터넷 환경에서의 경로 탐색 방법

Similar Documents

Publication Publication Date Title
JP7170779B2 (ja) 自動的な意図のマイニング、分類、及び配置のための方法及びシステム
US10540350B2 (en) Source code search engine
CN107111617B (zh) 数据库中的图处理
US8661023B1 (en) Optimizing search query logic to speed retrieval
JP7406873B2 (ja) 質問および回答の語彙のグラフを使用する照会拡張
JP2018081702A (ja) 文抽出方法及びシステム
US12013899B2 (en) Building a graph index and searching a corresponding dataset
KR101355273B1 (ko) 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체
US10831829B2 (en) Fast detection of vertex-connectivity with distance constraint
JP6434162B2 (ja) データ管理システム、データ管理方法およびプログラム
JP2019197438A (ja) グラフ更新装置、グラフ更新方法、及びプログラム
US11841897B2 (en) Identifying content items in response to a text-based request
CN106648636B (zh) 一种基于图挖掘的软件函数变更预测系统及方法
US11651159B2 (en) Semi-supervised system to mine document corpus on industry specific taxonomies
KR102311644B1 (ko) 데이터분석장치 및 그 동작 방법
KR102280965B1 (ko) 경로 검색 장치 및 방법
CN113918807A (zh) 数据推荐方法、装置、计算设备及计算机可读存储介质
WO2023103814A1 (en) Extracting query-related temporal information from unstructured text documents
US20240061885A1 (en) Finite automaton construction using regular expression derivatives to simulate behavior of a backtracking engine
US20100058265A1 (en) Parallel Intrusion Search in Hierarchical VLSI Designs with Substituting Scan Line
KR102394210B1 (ko) 커뮤니티 검출 장치 및 방법
US20230004977A1 (en) Exploiting graph structure to improve results of entity resolution
KR102268570B1 (ko) 문서 군집 생성 장치 및 방법
US11657304B2 (en) Assessing similarity between items using embeddings produced using a distributed training framework
US11163876B2 (en) Guided security analysis

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant