KR101450525B1 - 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법 - Google Patents

도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법 Download PDF

Info

Publication number
KR101450525B1
KR101450525B1 KR1020130047441A KR20130047441A KR101450525B1 KR 101450525 B1 KR101450525 B1 KR 101450525B1 KR 1020130047441 A KR1020130047441 A KR 1020130047441A KR 20130047441 A KR20130047441 A KR 20130047441A KR 101450525 B1 KR101450525 B1 KR 101450525B1
Authority
KR
South Korea
Prior art keywords
query
area
location
query result
result
Prior art date
Application number
KR1020130047441A
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 KR1020130047441A priority Critical patent/KR101450525B1/ko
Priority to US14/787,187 priority patent/US9752888B2/en
Priority to PCT/KR2014/003704 priority patent/WO2014178582A1/ko
Application granted granted Critical
Publication of KR101450525B1 publication Critical patent/KR101450525B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities

Abstract

본 발명은 도로 네트워크에서 움직이는 영역 질의 결과 및 안전 출구 위치를 계산하는 방법에 관한 것으로, 보다 상세하게는 움직이는 클라이언트 단말의 영역 질의 요청을 수신하여 영역 질의 결과와 함께 그 영역 질의 결과가 동일하게 유지되는 안전 지역 및 안전 출구 위치를 함께 제공하는 방법 및 장치에 관한 것이다.
본 발명은 서버에서 질의 처리뿐만 아니라 질의 결과와 동일한 영역 질의 결과를 제공하는 안전구역을 함께 제공하여 클라이언트 단말이 안전 구역 내에 위치하는 경우 서버와 클라이언트 단말간의 통신을 최소화하는 방식을 개발한다. 이러한 기법을 통하여 서버의 계산 비용을 줄이고, 클라이언트와 서버 사이의 통신비용을 줄이는 것을 목적으로 한다.

Description

도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법 {A METHOD FOR COMPUTING SAFE EXIT POINTS OF MOVING RANGE QUERIES IN ROAD NETWORKS}
본 발명은 도로 네트워크에서 움직이는 영역 질의 결과 및 안전 출구 위치를 계산하는 방법에 관한 것으로, 보다 상세하게는 움직이는 클라이언트 단말의 영역 질의 요청을 수신하여 영역 질의 결과와 함께 그 영역 질의 결과가 동일하게 유지되는 안전 지역 및 안전 출구 위치를 함께 제공하는 방법 및 장치에 관한 것이다.
본 발명은 교육과학기술부 및 한국연구재단의 교과부 일반연구자지원사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2012R1A1A2043422, 과제명: 위치기반서비스에서 위치보안 및 위치불확실성을 고려한 top-k 질의 처리 알고리즘에 관한 연구].
이동 통신망, GPS 등과 같은 위치 탐색 및 서비스 기술이 발전함에 따라, 최근에는 이동 객체의 위치 기반 서비스를 지원하는 응용 분야에 대한 관심이 높아졌다. 이동 객체의 위치 기반 서비스는 이동 객체와 주유소 등과 같은 정적 객체의 위치 정보를 효율적으로 검색하기 위한 k-최근접 이웃 검색을 요구한다.
도로 네트워크 정보, 이동 객체의 정보, 정적 객체 정보 등이 저장된 데이터베이스를 도로 네트워크 데이터베이스(road network databases)라 하며, 도로 네트워크 데이터베이스에서 도로 네트워크는 방향성을 가진 그래프로 모델링 된다.
하나의 도로 세그멘트(road segment)는 그래프의 간선에 해당되며, 서로 다른 두 도로 세그멘트가 만나는 지점이 그래프의 노드에 해당된다.
또한, 도로 네트워크 위에 정류소, 학교, 호텔 등과 같은 시설물들은 정적 객체로 모델링 되며, 자동차, 사람과 같은 이동성을 가지고 있는 객체는 이동 객체로 모델링 된다.
도로 네트워크 데이터베이스에서 사용되는 질의들은 K-최근접 이웃 검색(k-nearest neighbor queries), 영역 질의(range queries), 공간 조인 질의(spatial join queries) 등이 있다.
기존 유클리드 공간 상에서는 임의의 두 객체의 절대 위치만으로도 그 객체들 간의 유클리드 거리(직선 거리)를 계산할 수 있다. 그러나 도로 네트워크 공간상에서 이동 객체는 미리 정의된 도로 네트워크 위로만 움직일 수 있기 때문에 객체의 절대 위치만으로 객체들 간의 네트워크 거리(network distance)를 계산할 수 없다. 여기서, 두 객체간의 네트워크 거리란 도로 네트워크에서 임의의 두 객체간의 최단 경로 상에 존재하는 도로 세그멘트 길이들의 총 합이다.
즉, 절대 위치가 같아도 두 점간을 연결하는 네트워크의 상황에 따라 거리가 달라지기 때문에 임의의 두 점간의 네트워크 거리는 두 점의 절대 위치만을 가지고 계산할 수 없다. 네트워크 거리를 효율적으로 구하기 위한 다양한 방법들이 연구되어 왔으며, 대표적인 예로는 IER 기법, INE 기법, VN 기법 등이 있다.
이와 같이 두 객체간의 거리를 계산하는 개발에 있어 효율성을 높일 수 있는 네트워크 계산방법에 대한 종래 기술의 한 예가 한국등록특허 제10-0709274호 "도로 네트워크 기반 이동체의 통합 색인 구조"에 도시되었다. 상기 종래기술은 도로 네트워크 기반 이동체의 현재 위치 색인 및 과거 위치 색인의 공통된 부분인 망 구조를 저장 및 관리하는 부분을 공유하고, 현재 위치에 대한 색인, 과거 위치에 대한 색인 및 현재 위치의 갱신으로 발생하는 가까운 과거 위치에 대한 생성 및 처리 기능을 통합한 색인으로, 이동체의 현재 위치 뿐만 아니라 과거 위치까지 함께 지원하기 때문에 기존 이동체 색인의 문제점인 이동체의 현재 및 과거 위치 검색시 별도의 계산 과정이 필요했던 점을 해결하며, 또한 현재 위치 색인 및 과거 위치 색인의 공통된 부분을 통합하였으므로 색인을 별도로 유지하는 것 보다 색인의 공간적인 비용 및 갱신 비용을 감소하는 목적을 가지고 도출되었다.
그러나 상기 선행기술에 의하더라도, 최단거리를 계산하는 방법에서 서버와 클라이언트 단말간에 주기적으로 통신하기 때문에, 통신비용이 증가하고 서버는 클라이언트들의 요구 조건에 부합하는 객체를 검색하고 제공하기 때문에, 클라이언트 수가 증가하면, 서버의 계산 비용도 크게 증가하는 문제점이 존재한다.
이에 따라 영역 질의(range query)에서 질의 위치에서 질의 결과와 동일한 결과를 제공하는 영역을 안전 구역(Safe Region)이라 하고, 안전 구역의 경계점, 즉 안전 구역의 출구(exit)를 안전 출구(Safe Exit)라 하며, 영역 질의에서 질의 결과 및 안전 출구를 함께 탐색할 수 있는 선행기술로서 D. Yung, M. Yiu, and E. Lo, "A safe-exit approach for efficient network-based moving range queries," Data Knowl. Eng. Vol. 72, pp. 126-147, 2012. 가 제안되었다.
상기 선행기술은 영역 질의(range query)에서 질의 결과와 함께 안전 출구를 찾는 방법을 제시하고 있다. 상기 선행기술은 정적 객체(static object)에 대하여 움직이는 질의자에 의한 영역 질의를 제공하는 기술로서, 영역 질의의 질의 거리 r 의 3배인 3r 범위 내의 모든 객체 후보들을 모두 조사하여 질의 결과를 찾는다.
이와 같은 선행기술은 움직이는 영역 질의에 대한 안전 출구를 제시하기는 하였으나, 3r 범위 내의 모든 객체들을 모두 조사하는 만큼 계산량이 방대하며, 도로 네트워크에 방향성이 존재하는 경우에 대해서는 고려하지 못하고 있다. 상기 선행기술은 계산량이 방대한 만큼 일방향성을 가지는 도로 네트워크(directed road networks)에 대해서 고려하게 된다면 계산량이 더욱 가중되어 적합하지도 않을 것이다.
따라서 보다 현실적으로 구현 가능한, 즉 계산량을 줄이고 일방향성을 가지는 도로 네트워크까지도 고려한 움직이는 영역 질의 및 안전 출구 계산 방법에 대한 필요성이 대두되었다.
한국 등록특허 10-0709274호 (등록일: 2007, 04, 12)
D. Yung, M. Yiu, and E. Lo, "A safe-exit approach for efficient network-based moving range queries," Data Knowl. Eng. Vol. 72, pp. 126-147, 2012.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 움직이는 클라이언트 단말(질의자)로부터의 움직이는 영역 질의에 응답하여, 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역(Safe Zone)을 찾고, 영역 질의 결과와 함께 안전 구역에 대한 정보를 단말로 전달하는 것을 목적으로 한다.
본 발명에서는 방향성을 가지는 도로 네트워크에 대한 영역 질의에 대해서 안전 구역에 대한 정보를 효과적으로 계산하는 기법을 제시하는 것을 목적으로 한다. 이와 같은 안전 구역에 대한 정보는 움직이는 영역 질의에서 서버와 클라이언트 단말기 간 데이터 교환을 줄이고, 서버의 부담을 줄일 수 있는 장점이 있다.
또한, 본 발명에서는 안전 구역의 경계점을 안전 출구로 인식하고, 안전 출구를 계산하는 데에 교차점을 기준으로 하는 영역 질의 결과와 비교하여 안전 출구의 존재를 확인하고, 단말의 위치변동에 따라 객체들과의 질의 거리를 고려하여 안전 출구의 위치를 계산하는 기법도 제시하는 것을 목적으로 한다.
또한, 본 발명에서는 클라이언트 단말의 입장에서도 서버에서 수신된 영역 질의 결과 및 안전 출구 정보를 이용하여 클라이언트 단말의 현재 위치에 따른 영역 질의 결과를 사용자에게 제공하고, 클라이언트 단말이 안전 출구를 통과하거나 곧 벗어날 것으로 예상되면, 서버로 현재위치가 아닌 제2 위치에 대한 영역 질의를 다시 요청하는 기법도 제시하는 것을 목적으로 한다.
이에 따라, 본 발명은 서버에서 질의 처리뿐만 아니라 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역에 대한 정보를 함께 제공하여 클라이언트 단말이 안전 출구를 통과하기 전까지 서버와 클라이언트 단말간의 통신을 최소화하는 방식을 개발한다. 이러한 기법을 통하여 서버의 계산 비용을 줄이고, 클라이언트와 서버 사이의 통신비용을 줄이는 것을 목적으로 한다.
또한 본 발명은 서버의 계산부하를 줄이기 위하여, 각 영역 질의에서 공유할 수 있는 교차점 노드에서의 영역 질의 결과를 공유하는 shared execution 기법에 대해서도 제공하는 것을 목적으로 한다. 이에 따르면 한번 특정 교차점 노드에서 계산된 영역 질의 결과는 다음 영역 질의에 대해서 공유되므로, 서버는 영역 질의마다 실행해야 하는 계산량을 크게 줄일 수 있다.
상기와 같은 목적을 달성하기 위해서, 본 발명의 일 실시예에 따른 영역 질의 결과 연산 장치는 클라이언트 단말로부터 질의 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의 요청을 수신하는 수신부, 클라이언트 단말의 영역 질의 요청에 응답하여, 질의 위치를 기준으로 하는 영역 질의 결과를 연산하는 영역 질의 결과 연산부, 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 안전 구역 연산부 및 질의 위치를 기준으로 하는 영역 질의 결과 및 안전 구역에 대한 정보를 클라이언트 단말로 전송하는 전송부를 포함한다.
이때, 영역 질의 결과 연산부는 질의 위치를 기준으로 질의 거리 내에 위치하는 도로 세그멘트의 방향성을 고려하여 질의 위치로부터 각 객체 간의 거리를 산출하고, 상기 영역 질의 결과를 연산할 수 있다.
또한, 본 발명의 다른 실시예에 따른 영역 질의 결과 제공 장치는 제1 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의를 서버에 요청하는 질의 요청부, 제1 위치를 기준으로 하는 영역 질의 결과 및 제1 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하는 수신부, 움직이는 클라이언트 단말의 현재 위치를 확인하는 현재 위치 확인부 및 움직이는 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되면 제1 위치를 기준으로 하는 영역 질의 결과를 클라이언트 단말의 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공하는 질의 결과 제공 인터페이스를 포함한다.
이때, 질의 요청부는 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되지 않거나, 클라이언트 단말의 현재 위치가 안전 구역을 곧 벗어날 것으로 예상되면, 서버로 제2 위치에 대한 영역 질의를 요청할 수 있다.
본 발명의 일 실시예에 따른 영역 질의 결과 연산 방법은 클라이언트 단말로부터 질의 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의 요청을 수신하는 단계, 클라이언트 단말의 영역 질의 요청에 응답하여, 클라이언트 단말의 질의 위치를 기준으로 하는 영역 질의 결과를 연산하는 단계, 클라이언트 단말의 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 단계 및 클라이언트 단말의 질의 위치를 기준으로 하는 영역 질의 결과 및 안전 구역에 대한 정보를 클라이언트 단말로 전송하는 단계를 포함한다.
이 때 영역 질의 결과를 연산하는 단계는 질의 위치로부터 질의 거리 내에 위치하는 도로 세그멘트의 방향성을 고려하여 수행될 수 있다.
또한, 본 발명의 다른 실시예에 다른 영역 질의 결과 제공 방법은 제1 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의를 서버에 요청하는 단계, 제1 위치를 기준으로 하는 영역 질의 결과 및 제1 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하는 단계, 움직이는 클라이언트 단말의 현재 위치를 확인하는 단계 및 움직이는 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되면 제1 위치를 기준으로 하는 영역 질의 결과를 클라이언트 단말의 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공하는 단계를 포함한다.
이 때 영역 질의는 제1 위치를 기준으로 질의 거리 내에 위치하는 도로 세그멘트의 방향성을 고려하는 영역 질의일 수 있다.
본 발명은 분산 알고리즘을 사용하여 클라이언트 단말의 수가 증가해도 서버의 부하가 크게 증가하지 않기 때문에 피크 타임의 부하를 견디기 위한 추가적인 서버의 증설 비용을 줄일 수 있다. 즉, 본 발명에 따르면 서버의 계산 작업의 일부를 클라이언트가 분담하여 처리하므로, 서버의 부하가 분산되는 효과가 있다.
또한, 클라이언트 단말이 안전 구역을 벗어날 때만 서버에게 k-최근접 질의를 요청하기 때문에 클라이언트 단말과 서버간의 통신 비용이 절감되는 효과가 있다. 또한, 클라이언트 단말과 서버 간의 통신 횟수와 통신 데이터 양이 절감되어, 네트워크의 부하를 줄일 수 있으며, 다른 사용자들의 통신에 영향을 최소화할 수 있다.
나아가, 본 발명에 따르면 방향성을 가지는 도로 네트워크에 대한 영역 질의에 대해서 안전 구역에 대한 정보를 효과적으로 계산할 수 있다. 또한 유클리드 거리(직선 거리)가 아니라 도로 네트워크의 특성을 고려한 경로 거리에 따른 영역 질의 결과를 제공할 수 있으며, 해당 도로 네트워크는 물리적 거리에 의하여 나타내어질 수도 있고, 시간 거리(도달 시간에 비례하여 거리를 나타냄)에 의하여 나타내어질 수도 있다.
또한 본 발명에 따르면 서버의 계산부하를 줄이기 위하여, 각 영역 질의에서 공유할 수 있는 교차점 노드에서의 영역 질의 결과를 공유하는 shared execution 기법을 제공한다. 이에 따르면 한번 특정 교차점 노드에서 계산된 영역 질의 결과는 다음 영역 질의에 대해서 공유되므로, 서버는 영역 질의마다 실행해야 하는 계산량을 크게 줄일 수 있다. 본 발명에서는 영역 질의 결과 및 안전 출구의 위치를 계산하기 위하여 각 교차점 노드에서의 영역 질의 결과를 계산해 두고 이를 이용하므로, 다음 영역 질의에서는 이전 영역 질의에서 계산해 두었던 교차점 노드에서의 영역 질의 결과를 이용하면 서버의 계산 부하의 절감이 가능하다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 단말 및 객체들을 포함하는 도로 네트워크를 나타낸 전체 구성도이다.
도 2는 도 1의 도로 네트워크에서 안전 구역 및 안전 출구가 표시된 도로 네트워크를 나타낸 전체 구성도이다.
도 3은 본 발명의 일 실시예에 따른 서버에서의 영역 질의 결과 제공 방법을 나타낸 동작 흐름도이다.
도 4는 도 3의 일 단계인 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 단계의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 교차점에 따른 영역 질의 결과를 공유하는 영역 질의 결과 연산 방법을 나타낸 동작 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 단말에서의 영역 질의 결과 제공 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 두 교차점 사이에서 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 세 개의 교차점 사이에서 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다.
도 9는 본 발명의 다른 일 실시예에 따른 방향성을 가지는 도로 세그멘트가 포함된 세 개의 교차점 사이의 경로를 따라 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 방향성을 가지는 도로 세그멘트에서 두 교차점 사이에서 안전 출구의 위치를 결정하는 방법을 나타낸 구성도이다.
도 11은 본 발명의 일 실시예에 따른 서버에 포함되는 영역 질의 결과 연산 장치를 나타낸 블록도이다.
도 12는 도 11의 일 구성요소에 대한 개념적인 구성을 나타낸 블록도이다.
도 13은 본 발명의 일 실시예에 따른 클라이언트 단말에 포함되는 영역 질의 결과 제공 장치를 나타낸 블록도이다.
도 14와 도 15는 동일한 네트워크에서 제1 안전 구역과 제2 안전 구역이 함께 도시된 일예를 도시하는 도면이다.
도 16은 제2 안전 구역의 일 예를 도시하는 도면이다.
도 17은 도 16과 동일한 네트워크에서 임계 영역의 일 예를 도시하는 도면이다.
도 18은 네트워크 가중치의 변경으로 인하여 임계 영역을 재계산할 지 여부에 대한 판정 과정을 도시하는 일 예이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 단말 및 객체들을 포함하는 도로 네트워크를 나타낸 전체 구성도이다.
도 1에서 q는 클라이언트 단말의 질의 위치를 나타내며, O1부터 O6까지는 POI(Point of interest)를 가리킨다. 이때, POI는 식당, 주유소, 학교 등을 나타내는 객체를 의미한다. 또한, 그래프 위의 수(number)는 두 지점간의 거리를 의미하며 노드 n1부터 n7 각각은 도로 세그멘트 각각의 교차점 또는 경계점을 가리킨다. 이때, 그래프 위의 수(number)는 두 지점간의 거리를 나타낼 수도 있고, 도로 네트워크에서 도로의 트래픽을 고려한 가중치가 부여된 두 지점 간의 도달시간을 나타낼 수도 있다.
또한, 도 1을 참조하면 도로 네트워크 상에 두 개의 노드 또는 객체 사이의 거리가 표시되어 있다. 예를 들어 노드 n1과 인접한 객체 O1까지의 거리는 3이며, 노드 n1과 노드 n4까지의 거리는 2로 표시되었다.
한편, 노드 n4와 n5 사이의 도로 세그멘트에는 방향성(orientation)이 존재한다. 즉, 노드 n5로부터 n4까지 일방 통행임이 표시되었다. 이 때 노드 n5로부터 n4까지의 거리는 4, 노드 n4부터 노드 n5까지는 도로 세그멘트의 방향성을 고려하여 계산된다. 예를 들면, 가장 짧은 거리인 노드 n1과 n2를 거쳐서 n5까지의 경로 거리인 10을 노드 n4로부터 n5까지의 거리로 계산할 수 있다.
한편, 도 1의 실시예에서 질의 위치 q와 가장 가까운 객체는 O2로 계산될 수 있다. 왜냐하면 질의 위치 q에서 도로 세그멘트의 방향성을 고려하면 질의 위치 q와 객체 O1사이의 거리는 7, 질의 위치 q와 객체 O2사이의 거리는 3, 질의 위치 q와 객체 O3사이의 거리는 12, 질의 위치 q와 객체 O4사이의 거리는 8, 질의 위치 q와 객체 O5사이의 거리는 11, 질의 위치 q와 객체 O6사이의 거리는 17로 계산되므로, 질의 위치 q와 가장 가까운 객체는 O2로 결정된다.
도 2는 도 1의 도로 네트워크에서 안전 구역 및 안전 출구를 포함하는 도로 네트워크를 나타낸 전체 구성도이다.
서버는 도로 세그멘트의 방향성을 고려하여 질의 위치 q로부터 질의 거리 r 내에 위치하는 주변의 객체들에 대한 영역 질의 결과 및 안전 구역 정보를 생성할 수 있다.
도 2를 참조하면, 도 2에 도시된 안전 구역은 굵은 선분으로 표시하고, 안전 출구(Pse1, Pse2, Pse3)는 별표로 표시하였다.
도 2에 도시된 질의 위치 q에서의 안전 구역 SR은
Figure 112013037692511-pat00001
와 같이 나타낼 수 있다.
이때, 안전 구역은 질의 위치 q에서의 질의 결과가 유지되는 지역이다. 또한, 안전 출구는 질의 위치 q에서의 현재 질의 결과가 유지되는 안전 구역과 현재 질의 결과가 유지되지 않는 비안전 구역(non-safe region)의 경계점이다. 서버와 단말기 간에 도로 네트워크 배치 및 위치 정보를 공유하고 있다면, 서버는 단말기로 안전 구역에 대한 모든 안전 출구의 위치를 알림으로써 안전 구역에 대한 정보가 모두 전달될 수 있다. 이 때 안전 출구 집합PSE는 PSE = {Pse1, Pse2, Pse3} 로 나타낼 수 있다.
질의 위치 q로부터 질의 거리 r 이내에 위치한 객체를 찾는 영역 질의에 대한 질의 결과를 {O(q, r)} 로 나타낼 수 있다. 이 때 질의 위치 q가 교차점 ns 와 교차점 ne 사이에 위치하는 경우 질의 결과 {O(q, r)} 은 {O(ns, r)}, {O(ne, r)}, 및 교차점 ns 와 교차점 ne 사이에 위치하는 객체들 가운데에서 구할 수 있을 것이다.
이러한 관계를 확장하면, 질의 위치 q가 경로
Figure 112013037692511-pat00002
상에 위치하는 경우, 질의 결과 {O(q, r)}는 아래의 수학식 1에 의해 주어지는
Figure 112013037692511-pat00003
집합 내에 포함될 것이다.
[수학식 1]
Figure 112013037692511-pat00004
이 때,
Figure 112013037692511-pat00005
는 경로
Figure 112013037692511-pat00006
상의 각각의 포인트에서 영역 질의 결과(질의 거리는 r)의 합집합(union)이며, 질의 결과 {O(q, r)} 및 안전 구역을 구하기 위해서는 먼저 검색 범위를
Figure 112013037692511-pat00007
로 설정할 수 있다. 상기 수학식 1은 이후의 도 7 내지 도 10을 통하여 설명되는 본 발명의 검색 범위를 나타내는 것으로도 볼 수 있다.
안전 구역의 정의에 따라, 안전 구역
Figure 112013037692511-pat00008
내의 임의의 포인트에서의 영역 질의 결과와 질의 위치 q에서의 현재 질의 결과는 같다.
질의 위치 q로부터 클라이언트 단말이 이동하여 안전 출구를 통과할 때까지는 서버로부터 수신한 현재 질의 결과와 같은 질의 결과를 가지게 된다.
이후, 단말의 현재 위치가 안전 구역 내에 포함되지 않거나, 현재 위치가 안전 구역을 곧 벗어날 것으로 예상되면, 클라이언트 단말은 서버로 제2 위치에 대한 영역 질의 결과를 요청할 수 있다.
이 때, 설명의 편의상 질의 위치 q를 움직이는 클라이언트 단말의 현재 위치로 해석하였지만, 질의 위치 q는 반드시 클라이언트 단말의 현재 위치이어야 하는 것은 아니다. 질의 위치 q는 영역 질의의 기준이 되는 위치이다. 따라서, 단말기의 사용자는 자신의 현재 위치가 아니라 영역 질의를 하고자 하는 기준 위치를 임의로 설정하여 질의 위치 q를 선택할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 서버에서의 영역 질의 결과 제공 방법을 나타낸 동작 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 서버는 클라이언트 단말로부터 질의 위치 q로부터 질의 거리 r 내에 위치하는 객체를 질의하는 영역 질의 요청을 수신한다(S310).
서버는 질의 위치 q를 기준으로 질의 거리 r 내에 위치하는 객체를 질의하는 영역 질의 요청에 응답하여, 질의 위치 q를 기준으로 하는 영역 질의 결과를 연산한다(S320).
이때, 서버는 영역 질의 결과를 연산하는 과정에서 도로 세그멘트의 방향성을 고려할 수 있다. 도로 세그멘트의 방향성은 양방향 통행이 허용되는지 여부로 나타낼 수 있다. 각각의 도로 세그멘트에 대해서는 양방향 통행이 허용되거나, 일방 통행만이 허용될 수 있다. 일방 통행인 경우에는 도로 세그멘트의 통행 가능한 방향 정보가 추가적으로 주어진다.
또한 도로 세그멘트의 방향성은 좌회전이 금지되거나, 또는 좌회전만이 허용되는 등 도로 세그멘트 간 연결 경로에 대해서도 주어질 수 있다. 즉 교차점에서 특정 방향으로만 진행할 수 있는 경우가 이에 해당한다.
이 때, 서버는 질의 위치 q를 기준으로 질의 거리 r 내에 위치하는 도로 세그멘트의 방향성을 고려할 수 있다. 도로 세그멘트에 방향성이 주어지는 경우에는 그로 인하여 경로 거리에 미치는 영향이 광범위할 수 있으므로, 실시예에 따라서는 질의 위치 q로부터 질의 거리 r 내에 위치하는 도로 세그멘트 뿐만 아니라 질의 거리 r 밖에 위치하는 도로 세그멘트의 방향성까지도 고려해야 할 경우도 있을 것이다.
서버는질의 위치 q를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역(safety region)을 연산한다(S330).
서버는 질의 위치 q를 기준으로 하는 영역 질의 결과와 함께, 질의 위치 q를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역에 대한 정보를 클라이언트 단말로 전송한다(S340).
안전 구역을 나타내는 정보는 다양하게 주어질 수 있으나, 본 발명의 실시예에서는 안전 구역의 모든 경계점, 즉, 모든 안전 출구(exit)의 위치 정보로서 안전 구역에 대한 정보를 모두 커버할 수 있다. 이로 인하여 안전 구역에 대한 정보가 과다하게 주어질 필요 없이 안전 출구의 위치 정보만으로 안전 구역을 확인할 수 있다.
도 4는 도 3의 일 단계인 질의 위치 q에 대한 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 과정의 일 실시예를 더욱 상세히 나타내는 동작 흐름도이다.
서버는 질의 위치와 인접하는 제1 교차점을 기준으로 하는 영역 질의 결과를 연산한다(S331).
서버는 질의 위치를 기준으로 하는 영역 질의 결과와 제1 교차점을 기준으로 하는 영역 질의 결과를 비교(S332)하여, 클라이언트 단말의 질의 위치를 기준으로 하는 영역 질의 결과와 제1 교차점을 기준으로 하는 영역 질의 결과가 동일한지 여부를 판단한다(S333).
만일 질의 위치를 기준으로 하는 영역 질의 결과와 제1 교차점을 기준으로 하는 영역 질의 결과가 동일하지 않을 경우, 서버는 질의 위치와 제1 교차점 사이에 안전 출구가 존재하는 것으로 판단하여(S334) 안전 출구가 존재하는 것으로 판단된 도로 세그멘트 상에서 영역 질의의 기준 위치의 가상적인 이동에 따른 주변의 객체들과의 거리의 변동을 고려하여 안전 출구의 도로 상의 위치를 계산한다(S335). 단계 S335에 대해서는 도 7(a)를 통하여 아래에서 설명한다.
만일 질의 위치를 기준으로 하는 영역 질의 결과와 제1 교차점을 기준으로 하는 영역 질의 결과가 동일할 경우, 서버는 질의 위치와 제1 교차점 사이에 안전 출구가 존재하지 않는 것으로 판단하여(S336) 제1 교차점과 인접하는 적어도 하나 이상의 제2 교차점을 기준으로 하는 영역 질의 결과를 연산한다(S337). 서버는 제2 교차점을 기준으로 하는 영역 질의 결과와 질의 위치를 기준으로 하는 영역 질의 결과를 비교한다(S332).
이 때 단계 S331에서 서버는 질의 위치와 인접하는 하나 이상의 제1 교차점을 기준으로 하는 영역 질의 결과를 연산할 수 있다. 적어도 하나 이상의 제1 교차점 각각에 대하여 서버는 단계 S332를 수행할 수 있다. 서버는 질의 위치를 기준으로 하는 영역 질의 결과와 서로 다른 제1 교차점에 대해서는 단계 S334 및 S335를 수행한다. 서버는 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 나타내는 제1 교차점에 대해서는 제1 교차점에 인접하는 제2 교차점을 설정한다. 이 때, 제1 교차점에 인접하더라도 단계 S331에서 검토된 제1 교차점과 동일한 노드는 단계 S337에서는 제외된다.
도 2의 실시예에서 각 도로 세그멘트에 대하여 출발노드 panchor 와 도착노드 nb를 정의하고, 각각의 경로에 대하여 안전 출구의 존재 여부를 확인하여 정리한 결과가 아래 표 1에 도시되었다.
서버는 각 도로 세그멘트의 출발노드와 도착노드 각각에서 영역 질의 결과를 연산하고 이를 비교하여 동일한지 여부를 확인할 수 있다. 질의 위치 q가 속하는 도로 세그멘트에서는 질의 위치 q를 기준으로 도로 세그멘트를 분할하여 분할된 도로 세그멘트 각각에 대하여 영역 질의 결과를 비교한다.
[표 1]
Figure 112013037692511-pat00009
서버는 표 1에 정리된 바와 같이 Pse1, Pse2, Pse3 을 안전 출구로 찾아낼 수 있다. 이 때 노드 n4와 질의 위치 q 사이에는 안전 출구가 존재하지 않으므로, 서버는 n4 에 인접한 노드 n3, n2, n1, n7 까지 검색 대상을 확장하여 영역 질의 결과를 비교한다. 노드 n3와 n4 사이에는 안전 출구가 존재하지 않으나 도 2에 도시된 도로 네트워크는 n3 이후의 도로 네트워크를 포함하지 않으므로, n3 에 인접한 노드까지 확장한 결과는 본 명세서에서는 설명을 생략하기로 한다.
도 5는 본 발명의 다른 일 실시예에 따른 교차점에 따른 영역 질의 결과를 공유하는 질의 결과 연산 방법을 나타낸 동작 흐름도이다.
서버는 클라이언트 단말로부터 N번째 영역 질의 요청을 수신한다(S510). 서버는 질의 위치에 대한 영역 질의 결과를 연산한다(S520). 이때, 서버는 단계 S520과 병렬적으로 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 연산할 수 있다(S530). 서버는 교차점 각각에 대한 영역 질의 결과를 저장한다(S540).
서버는 질의 위치에 대한 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산한다(S550). 서버는 질의 위치에 대한 영역 질의 결과와 함께, 안전 구역(안전 출구) 정보를 클라이언트 단말에게 제공할 것이다.
서버는클라이언트 단말로부터 (N+1)번째 영역 질의 요청을 수신하고(S560), 질의 위치에 대한 영역 질의 결과를 연산한다(S570). 이때, 서버는 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 연산하는 단계(S580)를 병렬적으로 수행할 수 있다. 이때, S540단계에서 저장된 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 이용하여 S570단계와 S580단계를 수행할 수 있다.
본 발명의 영역 질의 결과 연산 방법이 질의 위치에서의 영역 질의를 계산함에 있어 질의 위치 주변의 교차점(노드)에서의 영역 질의 결과를 참고하기 때문에 이러한 영역 질의 결과 공유 기법이 가능하다. 예를 들어 N번째 영역 질의에서 M개의 인접한 노드에서의 영역 질의 결과를 연산하여 안전 구역 정보를 획득하였다고 가정한다. (N+1)번째 영역 질의에서 이전 M개의 인접한 노드 중 적어도 일부는 여전히 새로운 질의 위치로부터 질의 거리 r 내에 위치할 가능성이 높다. 이 경우 (N+1)번째 영역 질의에서는 이전 M개의 인접한 노드에 대한 영역 질의 결과 중 적어도 일부를 공유하여 이용할 수 있고, 공유하는 부분에 대해서는 (N+1)번째 영역 질의의 계산 부하가 줄어들 수 있다.
서버는클라이언트 단말의 (N+1)번째 질의 위치에 대한 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산한다(S590).
도 6은 본 발명의 다른 일 실시예에 따른 단말에서의 영역 질의 결과 제공 방법을 나타낸 동작 흐름도이다.
움직이는 클라이언트 단말은 현재 위치를 확인한다(S610). 클라이언트 단말은 현재 위치가 안전 구역 내에 위치하였는지 여부를 판단하고(S620), 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되지 않거나, 현재 위치가 안전 구역을 곧 벗어날 것으로 예상되면, 서버로 영역 질의를 요청할 수 있다(S630).
이 때 클라이언트 단말은 클라이언트 단말이 이전에 제1 위치에 대하여 요청한 영역 질의 결과와 함께 수신된 안전 출구 정보로부터 안전 구역을 벗어났는지 여부를 확인할 수 있다.
이미 클라이언트 단말의 현재 위치가 안전 구역을 벗어난 경우에는 클라이언트 단말의 현재 위치(제2 위치를 기준으로 하는 영역 질의를 서버에 요청한다(S630). 이 때, 도 6에는 도시되지 않았으나, 클라이언트 단말의 현재 위치가 안전 구역을 벗어나지는 않았으나 진행 방향으로 미루어 보아 안전 구역을 곧 벗어날 것으로 예상되면 클라이언트 단말은 안전 출구 너머의 위치를 새로운 질의 위치로 설정하고, 서버로 새로운 질의 위치에 대한 영역 질의를 요청할 수도 있다. 이 때에는 새로운 질의 위치가 제2 위치로서 영역 질의의 기준이 된다.
클라이언트 단말은 클라이언트 단말의 현재 위치(제2 위치)를 기준으로 하는 영역 질의 결과 및 클라이언트 단말의 현재 위치(제2 위치)를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하고(S640), 제2 위치를 기준으로 하는 영역 질의 결과를 클라이언트 단말의 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공한다(S650).
이때, 클라이언트 단말의 현재 위치가 안전 구역 내에 위치하는 경우에는 이전에 수신된 제1 위치를 기준으로 하는 영역 질의 결과를 클라이언트 단말의 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공한다(S650). 이때, 사용자에게 제공되는 방법으로는 디스플레이뿐만 아니라 스피커를 통한 음성 안내 및 진동을 이용한 다양한 인터페이스 등을 포함할 수 있다.
또한, 클라이언트 단말의 현재 위치가 제2 위치를 기준으로 하는 영역 질의의 안전 구역 내에 포함되지 않거나, 현재 위치가 안전 구역을 곧 벗어날 것으로 예상되면, 클라이언트 단말은 서버로 제3 위치에 대한 영역 질의를 요청할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 두 교차점 사이에서 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다. 도 7에 도시된 두 교차점 사이에서 가상의 기준 위치는 ns부터 ne까지 진행하는 것을 전제로 한다.
도 7(a) 내지 도 7(c)는 객체 O가 해당 도로 세그멘트에 대하여 가질 수 있는 위치 관계의 실시예 각각을 도시한다.
도 7(a)는 두 교차점 사이에 객체 O가 존재하는 경우이다. 가상의 기준 위치가 노드 ns인 경우, 가상의 기준 위치로부터 객체 O까지의 거리는 len(ns, O)로 나타낼 수 있다. 가상의 기준 위치가 노드 ns로부터 객체 O 방향으로 이동하면 가상의 기준 위치로부터 객체 O까지의 거리는 점점 감소할 것이다. 가상의 기준 위치가 객체 O를 지나 노드 ne 방향으로 이동하면, 가상의 기준 위치로부터 객체 O까지의 거리는 점차 멀어질 것이다.
이 때 질의 거리를 r이라 하면, 노드 ns로부터 노드 ne까지의 경로에서 객체 O는 계속 거리 r 이내에 위치하므로, 객체 O는 이 도로 세그멘트에서는 안전 구역의 연산에 영향을 미치는 객체가 아님을 알 수 있다.
도 7(b)는 객체 O가 노드 ns 너머에 위치하는 경우가 도시된다. 가상의 기준 위치가 노드 ns인 경우, 가상의 기준 위치로부터 객체 O까지의 거리는 d(ns, O)로 표시된다. 가상의 기준 위치가 노드 ns로부터 노드 ne로 이동함에 따라 가상의 기준 위치로부터 객체 O까지의 거리는 선형적으로 증가할 것이다. 따라서 이 경우 노드 ne에서 객체 O까지의 거리는 d(ns, O) + len(ns, ne) 이다.
이 때 가상의 기준 위치가 이동함에 따라, 가상의 기준 위치에서 객체 O까지의 거리가 질의 거리 r을 넘어서게 되므로, 객체 O는 도 7(b)의 도로 세그멘트에서 안전 구역의 연산에 영향을 미치게 된다. 객체 O까지의 거리가 r과 같은 위치가 안전 출구가 된다.
도 7(c)는 객체 O가 노드 ne 너머에 위치하는 경우가 도시된다. 가상의 기준 위치가 노드 ne인 경우, 가상의 기준 위치로부터 객체 O까지의 거리는 d(ne, O)로 표시된다. 가상의 기준 위치가 노드 ns로부터 노드 ne로 이동함에 따라 가상의 기준 위치로부터 객체 O까지의 거리는 선형적으로 감소할 것이다. 선형적인 감소를 역산하면, 이 경우 노드 ns에서 객체 O까지의 거리는 len(ns, ne) + d(ne, O)이다.
이 때 가상의 기준 위치가 이동함에 따라, 가상의 기준 위치에서 객체 O까지의 거리가 질의 거리 r 이내로 가까워지게 되므로, 객체 O는 도 7(c)의 도로 세그멘트에서 안전 구역의 연산에 영향을 미치게 된다. 객체 O까지의 거리가 r과 같은 위치가 안전 출구가 된다.
도 8은 본 발명의 일 실시예에 따른 세 개의 교차점 사이에서 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다. 도 8(a)는 객체 O1에 의하여 안전 구역 또는 영역 질의의 값이 영향을 받는 도로 네트워크를 나타낸다. 도 8(a)의 도로 네트워크에서 가상의 기준 위치는 n2, n5, n3 순서로 진행이 되는 것을 전제로 한다.
도 8(b)는 도 8(a)의 도로 네트워크에 도 7(a) 내지 도 7(c)의 다양한 위치 관계에 따른 거리 모델을 적용한 경우를 도시한다. 도 7(a)의 모델을 적용하면 노드 n5로부터 n3 사이에서 가상의 기준 위치로부터 객체 O1까지의 거리는 감소하다가 객체 O1의 위치에서 0이 되고, 이후 다시 증가한다. 도7(b)의 모델을 적용하면 노드 n2에서 객체 O1까지의 거리는 3이었다가 가상의 기준 위치가 n2에서 멀어짐에 따라 객체 O1까지의 거리 또한 선형적으로 증가할 것이다. 도 7(c)의 모델을 적용하면 노드 n3에서 객체 O1까지의 거리가 1이고, 반대로 노드 n3로 가까워질수록 객체 O1까지의 거리가 선형적으로 감소하는 모델이 그려질 것이다.
도 8(a)의 도로 네트워크가 모두 양방향인 경우, 각 위치에서 최소 거리가 실제로 각 위치에서 객체 O1까지 도달하는 거리이다. 따라서 도 8(b)로부터 도 8(c)와 같이 정리된 거리 모델을 얻을 수 있다.
이 때 도 8(c)에서 객체 O1에 이르는 거리가 질의 거리 4보다 먼 위치와 질의 거리 4보다 가까운 위치가 모두 존재하므로, 도 8(a)의 도로 세그멘트에서 객체 O1은 안전 구역의 결정에 영향을 미치는 객체이다. 객체 O1에 의한 영향을 고려하면 도 8(c)의 포인트 P1과 노드 n5가 안전 구역의 경계점인 안전 출구에 해당할 것이다.
도 9는 본 발명의 다른 일 실시예에 따른 방향성을 가지는 도로 세그멘트가 포함된 세 개의 교차점 사이의 경로를 따라 가상의 기준 위치를 움직임에 따라 객체까지 이르는 거리를 계산하는 다양한 경우의 수를 도시하는 도면이다.
도 9(a)는 도 8(a)와 방향성을 제외하고는 동일한 배치를 가지는 도로 네트워크이다. 다만 도 9(a)에서는 노드 n3로부터 n5까지, 노드 n5로부터 n2까지 일방 통행로임을 알 수 있다.
도 9(b)에서는 도 8(b)와 같이 도 9(a)의 도로 네트워크에 도 7(a) 내지 도 7(c)의 거리 모델을 적용한 예가 도시된다. 이 때 도 9(b)에서는 도로 네트워크의 일방향성으로 인하여 몇가지 거리 모델은 유효하지 않다.
도 7(c)의 거리 모델은 도 9(b)의 전 구간에서 유효하지 않으며, 도 7(a)의 거리 모델은 객체 O1으로부터 노드 n3 사이의 구간에서만 유효하다. 객체 O1과 노드 n5 사이의 구간에 가상의 기준 위치가 위치하면, 가상의 기준 위치로부터 객체 O1을 향한 방향의 경로를 채택할 수 없기 때문이다.
한편 도 9(b)의 전 구간에서 도 7(b)의 거리 모델은 유효하게 적용될 수 있다. 따라서 도 9(b)의 유효한 거리 모델 중 각각의 위치에서 최소 거리를 선택하면 도 9(c)와 같이 나타내어진다.
도 9(c)에서 객체 O1까지의 거리가 질의 거리 r=4와 같아지는 포인트는 P1과 P2이다. 이 때 P2는 객체 O1의 위치와 동일하다. 즉, 포인트 P1과 P2는 도 9(a)의 도로 네트워크 상에서 안전 출구이다. 또한 객체 O1은 도로 네트워크의 안전 구역에 영향을 미치는 객체임을 알 수 있다.
도 10는 본 발명의 일 실시예에 따른 방향성을 가지는 도로 세그멘트에서 두 교차점 사이에서 안전 출구의 위치를 결정하는 방법을 나타낸 구성도이다.
도 10(a)를 참조하면, 노드 n4에서 질의 거리 r=4 내의 영역 질의 연산 결과인 객체 O2가 질의 위치 q에서도 동일하게 영역 질의의 연산 결과에 해당하는지 확인하는 과정이 도시된다.
객체 O2는 노드 n4 너머에 위치한다. 따라서 도 10(a)에는 도 7(b)의 거리 모델이 적용될 수 있다. 도 7(b)의 거리 모델은 도 2의 도로 네트워크의 방향성과 부합하므로, 유효하게 적용될 수 있다. 따라서 질의 위치 q에서도 객체 O2가 유효하게 영역 질의의 연산 결과임을 확인할 수 있으며, 도 10(a)의 거리 모델과 질의 거리 r=4와의 교점을 제공하는 위치 P1이 안전 구역의 출구 후보이다.
한편 도 10(b)에서는 노드 n5에서 질의 거리 r=4 내의 영역 질의 연산 결과인 객체 O3, 및 O5까지의 거리를 분석하는 거리 모델이 도시된다. 객체 O3 및 O5는 모두 노드 n5 너머에 위치하므로, 이 때에는 도 7(c)의 거리 모델이 적용된다. 그러나 n4~n5 사이의 도로 네트워크의 방향성(orientation or direction)으로 인하여 노드 n5를 떠나면서 도 7(c)의 거리 모델은 유효하게 적용될 수 없다.
따라서 객체 O3 및 객체 O5는 질의 위치 q에서는 영역 질의 연산 결과에 포함되지 않으며 도 10(b)에서는 안전 출구 후보로서 노드 n5가 제시된다.
도 10(a)와 도 10(b)를 종합하면, 질의 위치 q로부터 가장 가까운 안전 출구 후보는 위치 P1이므로, 포인트 P1이 질의 위치 q를 기준으로 질의 거리 r=4에 대응하는 영역 질의 결과에 대한 안전 출구로 선택될 것이다.
도 1, 2, 및 도10에서 질의 위치 q를 기준으로 하는 영역 질의의 결과가 객체 O2 하나뿐이었으므로 도 10(a)에서는 객체 O2에 대해서만 분석하였으나, 질의 위치를 기준으로 하는 영역 질의의 결과가 복수의 객체들을 포함하는 경우에는 영역 질의 결과에 포함된 모든 객체들에 대한 거리 분석이 필요할 것이다.
도 11은 본 발명의 일 실시예에 따른 서버에 포함되는영역 질의 결과 연산 장치를 나타낸 블록도이다.
영역 질의 결과 연산 장치(1100)는 클라이언트 단말로부터 질의 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의 요청을 수신하는 수신부(1110), 클라이언트 단말의 영역 질의 요청에 응답하여, 질의 위치를 기준으로 하는 영역 질의 결과를 연산하는 영역 질의 결과 연산부(1120), 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 안전 구역 연산부(1130) 및 질의 위치를 기준으로 하는 영역 질의 결과 및 안전 구역에 대한 정보를 클라이언트 단말로 전송하는 전송부(1140)를 포함한다.
이때, 영역 질의 결과 연산부(1120)는 질의 위치를 기준으로 질의 거리 내에 위치하는 도로 세그멘트의 방향성을 고려하여 질의 위치로부터 각 객체 간의 거리를 산출하고, 상기 영역 질의 결과를 연산할 수 있다.
또한, 안전 구역 연산부(1130)는 안전 구역의 경계점인 안전 출구의 도로 상의 위치를 안전 구역의 경계를 나타내는 핵심 정보로서 추출할 수 있으며, 전송부(1140)는 추출된 안전 출구의 도로 상의 위치에 대한 정보를 클라이언트 단말로 전송할 수 있다.
또한, 영역 질의 결과 연산 장치(1100)는 수신부(1110)에서 클라이언트 단말의 N번째 질의 요청을 수신하고, 영역 질의 결과 연산부(1120)에서 클라이언트 단말의 질의 위치를 기준으로 하는 영역 질의 연산을 하는 동안에 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 연산하는 교차점 영역 질의 결과 연산부(1150)와 교차점 영역 질의 연산부(1150)에서 연산한 교차점에 대한 영역 질의 결과를 저장하는 교차점 영역 질의 결과 저장부(1160)를 포함할 수도 있다. 이때, 안전 구역 연산부(1130)는 교차점 영역 질의 결과 저장부(1160)에 저장된 교차점에 대한 영역 질의 결과를 이용하여 안전 구역에 대한 정보를 추출할 수도 있다. 뿐만 아니라 영역 질의 결과 연산부(1130) 또한 교차점 영역 질의 결과 저장부(1160)에 저장된 교차점에 대한 영역 질의 결과를 이용하여 질의 위치를 기준으로 하는 영역 질의 결과를 연산할 수도 있다.
도 12는 도 11의 일 구성요소에 대한 개념적인 구성을 나타낸 블록도이다.
도 11에 도시한 안전 구역 연산부(1130)는 질의 위치와 인접하는 하나 이상의 교차점 각각을 기준으로 하는 영역 질의 결과와 질의 위치를 기준으로 하는 영역 질의 결과를 비교하는 질의 결과 비교부(1131), 질의 결과 비교부(1131)에서의 비교 결과를 이용하여 질의 위치에 대한 안전 구역의 경계점인 안전 출구가 질의 위치와 인접하는 하나 이상의 교차점 각각과 질의 위치 사이에 존재하는지 여부를 확인하는 안전 출구 확인부(1132) 및 안전 출구가 존재하는 것으로 확인된 도로 상에서 영역 질의의 기준 위치의 가상적인 이동에 따른 주변의 객체들과의 거리의 변동을 고려하여 안전 출구의 도로 상의 위치를 계산하는 위치 계산부(1133)를 포함할 수 있다.
이 때 안전 출구 확인부(1132)는 질의 위치와 인접하는 제1 교차점과 질의 위치 사이에는 안전 출구가 존재하지 않는 것으로 확인되면, 제1 교차점에 인접하는 다른 제2 교차점으로 검색 대상을 확장하고, 제2 교차점에서 영역 질의 결과를 연산하여 질의 위치에서의 영역 질의 결과와 비교한다. 이 때에도 제2 교차점과의 사이에서 안전 출구가 존재하지 않는 것으로 확인되면, 제2 교차점에 인접하는 제3 교차점으로 검색 대상을 확장할 수 있다.
한편, 제2 교차점에서 영역 질의 결과가 질의 위치에서 영역 질의 결과와 서로 다른 경우에는, 안전 출구 확인부(1132)는 제2 교차점과 제1 교차점 사이에 안전 출구가 존재하는 것으로 판단하고 위치 계산부(1133)가 안전 출구의 위치를 계산할 수 있다.
도 13은 본 발명의 다른 일 실시예에 따른 클라이언트 단말에 포함되는 영역 질의 결과 제공 장치를 나타낸 블록도이다.
영역 질의 결과 제공 장치(1300)는 제1 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의를 서버에 요청하는 질의 요청부(1310), 제1 위치를 기준으로 하는 영역 질의 결과 및 제1 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하는 수신부(1320), 움직이는 클라이언트 단말의 현재 위치를 확인하는 현재 위치 확인부(1330) 및 움직이는 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되면 제1 위치를 기준으로 하는 영역 질의 결과를 클라이언트 단말의 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공하는 질의 결과 제공 인터페이스(1340)를 포함한다.
이때, 질의 요청부(1310)는 클라이언트 단말의 현재 위치가 안전 구역 내에 포함되지 않거나, 클라이언트 단말의 현재 위치가 안전 구역을 곧 벗어날 것으로 예상되면, 서버로 클라이언트 단말의 제2 위치에 대한 영역 질의를 요청하는 것을 특징으로 한다.
이 때 영역 질의는 제1 위치를 기준으로 질의 거리 내에 위치하는 도로 세그멘트의 방향성을 고려하는 영역 질의이다. 질의 결과 제공 인터페이스(1340)는 이전에 수신되었던 제1 위치에 대한 영역 질의 결과에 따르는 안전 구역 내에 현재 위치가 포함되면, 이전의 제1 위치에 대한 영역 질의 결과를 현재 위치에 대한 영역 질의 결과로서 제공한다. 이 과정에서 클라이언트 단말과 서버 간의 통신 부하 및 서버의 계산 부하가 감소된다.
도 1과 도 2에서 각 노드 사이의 그래프에 부여된 수는 두 노드 간의 거리 또는 도로의 트래픽을 고려한 가중치(weight)가 부여된 두 노드 간의 도달시간을 나타낼 수도 있음은 앞에서 설명한 바와 같다. 이 때, 도로의 트래픽 조건에 따라서는 각 노드 간의 도달시간이 변화할 수도 있다. 따라서 교통 혼잡(traffic congestion)에 의한 도로 네트워크의 각 그래프에 할당된 값의 변화에도 본 발명의 영역 질의 결과 및 안전 구역 정보가 유효하도록 설계된 축소된 안전 구역(reduced safety zone/region) 기법이 제안된다. 축소된 안전 구역 기법에 대해서는 이하 도 14 내지 도 18을 통하여 설명된다.
도 1 내지 도 13을 통하여 설명된, 질의 위치 q가 속하는 네트워크를 포함하는 주변 네트워크에서 탐색된 정보를 제1 안전 구역(SR_ex)이라 정의한다. 도 14 내지 도 18을 통하여 설명되는, 질의 위치 q가 속하는 네트워크에서 탐색된 정보를 제2 안전 구역(SR_re)이라 정의하기로 한다. 제2 안전 구역은 제1 안전 구역에 비하여 축소된 안전 구역이며, 제2 안전 구역은 제1 안전 구역과 같을 수도 있고 제1 안전 구역 내에 포함될 수도 있다. 통상적으로 제2 안전 구역을 연산하는 비용은 제1 안전 구역을 연산하는 비용과 같거나 더 낮을 것이다. 이는 제2 안전 구역을 연산하는 데에는 질의 위치 q가 속하는 네트워크만을 고려하기 때문이다.
도 14는 동일한 네트워크에서 제1 안전 구역과 제2 안전 구역이 함께 도시된 일 예이다. 도 14를 참조하면 질의 위치 q는 노드 n12와 n15 사이에 위치하기 때문에 제2 안전 구역 SR_re는 노드 n12와 n15 사이에서만 계산된다. 반면, 제1 안전 구역 SR_ex는 노드 n12와 n15 뿐만 아니라 주변의 네트워크에 대해서도 계산된다.
도 15는 동일한 네트워크에서 제1 안전 구역과 제2 안전 구역이 함께 도시된 다른 일 예이다. 도 15를 참조하면, 제1 안전 구역이 질의 위치 q가 속하는 네트워크인
Figure 112013037692511-pat00010
내에만 존재하므로 제1 안전 구역과 제2 안전 구역이 우연히 동일한 결과를 제공한다.
하기에서는 설명의 편의 상 질의 위치 q가 속하는 네트워크를 액티브 시퀀스 (active sequence)라 정의한다. 도 14와 도 15에서는
Figure 112013037692511-pat00011
가 액티브 시퀀스에 해당한다.
실시간으로, 주기적으로 또는 이벤트 기반으로 도로 네트워크의 트래픽 조건이 변화하는 경우, 트래픽 조건의 모든 변화를 고려하여 안전 구역을 재계산하는 것은 대단히 소모적인 일이 될 것이다. 따라서 트래픽 조건의 주어진 변화가 기존의 안전 구역 연산 결과에 영향을 주는 지 여부를 판정하는 조건을 설정할 필요가 있다.
본 발명의 일 실시예에서는 도로 네트워크의 트래픽 조건이 변화하는 경우, 트래픽 조건의 변화가 기존의 안전 구역에 영향을 주는 지 여부를 판정하기 위하여 안전 구역에 대한 임계 영역(critical region)을 정의한다.
임계 영역은 하기 수학식 2를 만족하는 점 p들의 집합으로 이루어진다.
[수학식 2]
Figure 112013037692511-pat00012
이 때 CR은 임계 영역, r은 질의 거리를 의미하며,
Figure 112013037692511-pat00013
,
Figure 112013037692511-pat00014
각각은 안전 구역의 출구(safe exit)를 나타낸다. 상기 수학식 2는 안전 구역의 출구가 2개인 경우를 가정하여 정의된 것이며, 안전 구역의 출구가 3개 이상인 경우에는 각각의 안전 출구와의 거리 중 최소값이 질의 거리 r 이내인 점 p가 모두 임계 영역 내에 포함될 것이다.
임계 영역의 이해를 돕기 위하여 도 16과 도 17이 제공된다.
도 16은 제2 안전 구역의 일 예를 도시하는 도면이고, 도 17은 도 16과 동일한 네트워크에서 임계 영역의 일 예를 도시하는 도면이다.
도 16을 참조하면, n12 와 n15 사이의 네트워크는 n12 로부터 n15 를 향하여 진행하는 일방향 도로이고, 질의 위치 q로부터 질의 거리 조건 r=3인 경우 안전 구역은 P_a, P_b 사이의 도로 세그멘트이다.
도 17을 참조하면, 안전 출구 P_a 또는 P_b 로부터 질의 거리 r=3 이내의 거리에 위치하는 점들의 집합인 임계 영역이 점선으로 도시된다. 이 때, n12와 n15 사이의 네트워크의 일방향성, n16과 n15 사이의 네트워크의 일방향성을 고려하여 임계 영역이 계산된다.
도로 네트워크의 가중치의 변화(트래픽의 변화 등으로 인한 변화)로 인한 안전 구역 재계산 필요성을 판정하기 위하여 각 질의 위치 q에 대한 제2 안전 구역과 임계 영역 정보가 데이터베이스화되어 저장된다. 이 때 도 11을 다시 참조하면, 안전 구역 연산부(1130)는 도로 네트워크의 가중치(네트워크의 이동 거리 또는 도달 시간)가 변경되면, 가중치가 변경된 네트워크가 질의 위치 q에 대한 임계 영역 내에 속하는지 확인한다. 가중치가 변경된 네트워크가 질의 위치 q에 대한 임계 영역 내에 속하지 않으면 이전의 안전 구역 정보는 그대로 유지되므로 추가 액션이 필요하지 않다. 가중치가 변경된 네트워크가 질의 위치 q에 대한 임계 영역 내에 속하면 이전의 안전 구역 정보가 갱신될 필요가 있으므로, 안전 구역 연산부(1130)는 안전 구역을 재계산한다. 안전 구역이 재계산되면, 임계 영역 또한 재계산되고 갱신되어 데이터베이스에 저장된다.
만일 하나의 서버(1100)가 다수의 질의 위치 각각을 기준으로 하는 다수의 영역 질의 결과를 처리하는 경우라면, 안전 구역 연산부(1130)는 임계 영역 정보 데이터베이스를 빠르게 검색하여 가중치가 변경된 네트워크가 속하는 임계 영역들을 식별하고, 식별된 임계 영역들 각각에 대응하는 질의에 대하여 안전 구역 정보를 재계산할 수 있다. 안전 구역 정보가 재계산된 질의에 대해서는 임계 영역 또한 재계산되고 갱신되어 데이터베이스에 저장된다.
도 18은 네트워크 가중치의 변경으로 인하여 임계 영역을 재계산할 지 여부에 대한 판정 과정을 도시하는 일 예이다. 도 17과 도 18을 함께 참조하면, 도 17은 시간 Ti 에서 네트워크 가중치 및 임계 영역을 도시하고, 도 18은 시간 Tj에서 네트워크 가중치 및 임계 영역을 도시한다. 이 때 Ti < Tj 이다.
도 17에서, 시간 Ti에서는 네트워크
Figure 112013037692511-pat00015
Figure 112013037692511-pat00016
의 도달 거리(또는 도달 시간)는 2이고, 임계 영역의 끝점(end point) 중 하나는
Figure 112013037692511-pat00017
상에 위치한다. 도 18에서, 시간 Tj에서는 네트워크
Figure 112013037692511-pat00018
Figure 112013037692511-pat00019
의 도달 거리(또는 도달 시간)는 4로 변경된다. 이 때, 네트워크
Figure 112013037692511-pat00020
상에는 임계 영역이 존재하지 않으므로 네트워크
Figure 112013037692511-pat00021
의 도달 거리(또는 도달 시간)의 변경은 임계 영역 또는 안전 구역에 영향을 주지 않는다. 그러나 네트워크
Figure 112013037692511-pat00022
상에는 임계 영역이 존재하므로, 네트워크
Figure 112013037692511-pat00023
의 도달 거리(또는 도달 시간)의 변경으로 인하여 안전 구역 연산부(1130)는 안전 구역을 재계산하고, 임계 영역 또한 갱신한다. 도 18에 도시된 실시예에서는 안전 구역의 재계산 결과에도 불구하고 안전 구역이 변경되지는 않았으나, 실시예에 따라서는 안전 구역의 값이 변경될 수 있음은 도 17과 도 18의 설명으로부터 당업자에게 자명한 사실일 것이다.
본 발명의 일 실시 예에 따른 영역 질의 결과 연산 방법 및 영역 질의 결과 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
1100: 영역 질의 결과 연산 장치
1300: 영역 질의 결과 제공 장치

Claims (19)

  1. 서버에서 클라이언트 단말로부터 질의 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의 요청을 수신하는 단계;
    상기 서버에서 상기 영역 질의 요청에 응답하여, 상기 질의 위치를 기준으로 하는 영역 질의 결과를 연산하는 단계;
    상기 서버에서 상기 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 단계; 및
    상기 서버에서 상기 질의 위치를 기준으로 하는 영역 질의 결과 및 상기 안전 구역에 대한 정보를 상기 단말로 전송하는 단계;
    를 포함하고,
    상기 영역 질의 결과를 연산하는 단계는
    상기 질의 위치를 기준으로 상기 질의 거리 내에 위치하는 도로 세그멘트가 양방향 통행이 허용되는지 또는 일방통행인지를 고려하여 수행되는 영역 질의 결과 연산 방법.
  2. 제1항에 있어서,
    상기 안전 구역을 연산하는 단계는
    상기 안전 구역의 경계점인 안전 출구의 도로 상의 위치를 추출하고,
    상기 단말로 전송하는 단계는
    상기 추출된 상기 안전 출구의 도로 상의 위치에 대한 정보를 상기 단말로 전송하는 영역 질의 결과 연산 방법.
  3. 제1항에 있어서,
    상기 안전 구역을 연산하는 단계는
    상기 질의 위치와 인접하는 하나 이상의 교차점 각각을 기준으로 하는 영역 질의 결과를 연산하는 단계;
    상기 질의 위치와 인접하는 하나 이상의 교차점 각각을 기준으로 하는 영역 질의 결과와 상기 질의 위치를 기준으로 하는 영역 질의 결과를 비교하는 단계; 및
    상기 비교 결과를 이용하여 상기 안전 구역의 경계점인 안전 출구가 상기 질의 위치와 상기 인접하는 하나 이상의 교차점 각각과 상기 질의 위치 사이에 존재하는지 여부를 확인하는 단계
    를 포함하는 영역 질의 결과 연산 방법.
  4. 제3항에 있어서,
    상기 안전 구역을 연산하는 단계는
    상기 안전 출구가 존재하는 것으로 확인된 도로 상에서 영역 질의의 기준 위치의 가상적인 이동에 따른 주변의 객체들과의 거리의 변동을 고려하여 상기 안전 출구의 상기 도로 상의 위치를 계산하는 단계
    를 더 포함하는 영역 질의 결과 연산 방법.
  5. 제3항에 있어서,
    상기 안전 구역을 연산하는 단계는
    상기 질의 위치와 인접하는 교차점 중 적어도 하나 이상의 제1 교차점과 상기 질의 위치 사이에 상기 안전 출구가 존재하지 않는 경우 상기 제1 교차점과 인접하는 적어도 하나 이상의 제2 교차점을 기준으로 하는 영역 질의 결과를 연산하는 단계; 및
    상기 제2 교차점을 기준으로 하는 영역 질의 결과와 상기 질의 위치를 기준으로 하는 영역 질의 결과를 비교하는 단계
    를 더 포함하는 영역 질의 결과 연산 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 서버에서 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 연산하는 단계; 및
    상기 서버에서 상기 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 저장하는 단계
    를 더 포함하고,
    상기 안전 구역을 연산하는 단계는
    상기 저장된 상기 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 이용하여 상기 안전 구역에 대한 정보를 추출하는 것을 특징으로 하는 영역 질의 결과 연산 방법.
  8. 클라이언트 단말에서 제1 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의를 서버에 요청하는 단계;
    상기 클라이언트 단말에서 상기 제1 위치를 기준으로 하는 영역 질의 결과 및 상기 제1 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하는 단계;
    상기 클라이언트 단말에서 움직이는 클라이언트 단말의 현재 위치를 확인하는 단계; 및
    상기 클라이언트 단말에서 상기 움직이는 클라이언트 단말의 현재 위치가 상기 안전 구역 내에 포함되면 상기 제1 위치를 기준으로 하는 영역 질의 결과를 상기 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공하는 단계;
    를 포함하고,
    상기 영역 질의는 상기 제1 위치를 기준으로 상기 질의 거리 내에 위치하는 도로 세그멘트가 양방향 통행이 허용되는지 또는 일방통행인지를 고려하는 것을 특징으로 하는 영역 질의 결과 제공 방법.
  9. 제8항에 있어서,
    상기 현재 위치가 상기 안전 구역 내에 포함되지 않거나, 상기 현재 위치가 상기 안전 구역을 곧 벗어날 것으로 예상되면, 상기 서버로 제2 위치에 대한 영역 질의를 요청하는 단계
    를 더 포함하는 영역 질의 결과 제공 방법.
  10. 제1항에 있어서,
    상기 서버에서 도로 세그멘트 중 적어도 어느 하나 이상에 할당된 값의 변화를 모니터하는 단계;
    상기 서버에서 상기 도로 세그멘트 중 적어도 어느 하나 이상에 할당된 값이 변화된 경우에 이전의 안전 구역을 연산한 결과에 영향이 있는지 여부를 판정하는 단계; 및
    상기 서버에서 상기 이전의 안전 구역을 연산한 결과에 영향이 있는 경우, 상기 변화된 상기 도로 세그멘트 중 적어도 어느 하나 이상에 할당된 값을 이용하여 상기 안전 구역을 재계산하는 단계
    를 더 포함하는 영역 질의 결과 연산 방법.
  11. 제10항에 있어서,
    상기 서버에서 상기 안전 구역의 경계점인 안전 출구 중 적어도 하나 이상으로부터 상기 질의 거리 내에 위치하는 점들의 집합인 임계 영역을 계산하는 단계;
    를 더 포함하고,
    상기 이전의 안전 구역을 연산한 결과에 영향이 있는지 여부를 판정하는 단계는
    상기 할당된 값이 변화된 도로 세그멘트가 상기 임계 영역 내에 속하는지 여부를 판정함으로써 상기 이전의 안전 구역을 연산한 결과에 영향이 있는지 여부를 판정하고,
    상기 안전 구역을 재계산하는 단계는
    상기 재계산된 안전 구역에 기초하여 상기 임계 영역을 재계산하고 갱신하는 것을 특징으로 하는 영역 질의 결과 연산 방법.
  12. 제1 내지 5, 7 내지 11항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  13. 클라이언트 단말로부터 질의 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의 요청을 수신하는 수신부;
    상기 영역 질의 요청에 응답하여, 상기 질의 위치를 기준으로 하는 영역 질의 결과를 연산하는 영역 질의 결과 연산부;
    상기 질의 위치를 기준으로 하는 영역 질의 결과와 동일한 영역 질의 결과를 제공하는 안전 구역을 연산하는 안전 구역 연산부; 및
    상기 질의 위치를 기준으로 하는 영역 질의 결과 및 상기 안전 구역에 대한 정보를 상기 단말로 전송하는 전송부;
    를 포함하고,
    상기 영역 질의 결과 연산부는
    상기 질의 위치를 기준으로 상기 질의 거리 내에 위치하는 도로 세그멘트가 양방향 통행이 허용되는지 또는 일방통행인지를 고려하여 상기 질의 위치로부터 각 객체 간의 거리를 산출하고, 상기 영역 질의 결과를 연산하는 영역 질의 결과 연산 장치.
  14. 제13항에 있어서,
    상기 안전 구역 연산부는
    상기 안전 구역의 경계점인 안전 출구의 도로 상의 위치를 추출하고,
    상기 전송부는
    상기 추출된 상기 안전 출구의 도로 상의 위치에 대한 정보를 상기 단말로 전송하는 영역 질의 결과 연산 장치.
  15. 제13항에 있어서,
    상기 안전 구역 연산부는
    상기 질의 위치와 인접하는 하나 이상의 교차점 각각을 기준으로 하는 영역 질의 결과를 연산하는 영역 질의 결과 연산부;
    상기 질의 위치와 인접하는 하나 이상의 교차점 각각을 기준으로 하는 영역 질의 결과와 상기 질의 위치를 기준으로 하는 영역 질의 결과를 비교하는 질의 결과 비교부; 및
    상기 비교 결과를 이용하여 상기 안전 구역의 경계점인 안전 출구가 상기 질의 위치와 상기 인접하는 하나 이상의 교차점 각각과 상기 질의 위치 사이에 존재하는지 여부를 확인하는 안전 출구 확인부
    를 포함하는 영역 질의 결과 연산 장치.
  16. 제15항에 있어서,
    상기 안전 구역 연산부는
    상기 안전 출구가 존재하는 것으로 확인된 도로 상에서 영역 질의의 기준 위치의 가상적인 이동에 따른 주변의 객체들과의 거리의 변동을 고려하여 상기 안전 출구의 상기 도로 상의 위치를 계산하는 위치 계산부
    를 더 포함하는 영역 질의 결과 연산 장치.
  17. 제13항에 있어서,
    적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 연산하는 교차점 영역 질의 결과 연산부; 및
    상기 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 저장하는 교차점 영역 질의 결과 저장부
    를 더 포함하고,
    상기 안전 구역 연산부는
    상기 저장된 상기 적어도 하나 이상의 교차점 각각에 대한 영역 질의 결과를 이용하여 상기 안전 구역에 대한 정보를 추출하는 것을 특징으로 하는 영역 질의 결과 연산 장치.
  18. 제1 위치를 기준으로 질의 거리 내에 위치하는 객체에 대한 영역 질의를 서버에 요청하는 질의 요청부;
    상기 제1 위치를 기준으로 하는 영역 질의 결과 및 상기 제1 위치를 기준으로 하는 영역 질의 결과와 동일한 결과를 제공하는 안전 구역에 대한 정보를 수신하는 수신부;
    움직이는 클라이언트 단말의 현재 위치를 확인하는 현재 위치 확인부; 및
    상기 움직이는 클라이언트 단말의 현재 위치가 상기 안전 구역 내에 포함되면 상기 제1 위치를 기준으로 하는 영역 질의 결과를 상기 현재 위치에 대한 영역 질의 결과로서 사용자에게 제공하는 질의 결과 제공 인터페이스;
    를 포함하고,
    상기 영역 질의는 상기 제1 위치를 기준으로 상기 질의 거리 내에 위치하는 도로 세그멘트가 양방향 통행이 허용되는지 또는 일방통행인지를 고려하는 것을 특징으로 하는 영역 질의 결과 제공 장치.
  19. 제18항에 있어서,
    상기 질의 요청부는
    상기 현재 위치가 상기 안전 구역 내에 포함되지 않거나, 상기 현재 위치가 상기 안전 구역을 곧 벗어날 것으로 예상되면, 상기 서버로 제2 위치에 대한 영역 질의를 요청하는 것을 특징으로 하는 영역 질의 결과 제공 장치.
KR1020130047441A 2013-04-29 2013-04-29 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법 KR101450525B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130047441A KR101450525B1 (ko) 2013-04-29 2013-04-29 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법
US14/787,187 US9752888B2 (en) 2013-04-29 2014-04-28 Method and apparatus of computing location of safe exit for moving range query in road network
PCT/KR2014/003704 WO2014178582A1 (ko) 2013-04-29 2014-04-28 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130047441A KR101450525B1 (ko) 2013-04-29 2013-04-29 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법

Publications (1)

Publication Number Publication Date
KR101450525B1 true KR101450525B1 (ko) 2014-10-23

Family

ID=51843647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130047441A KR101450525B1 (ko) 2013-04-29 2013-04-29 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법

Country Status (3)

Country Link
US (1) US9752888B2 (ko)
KR (1) KR101450525B1 (ko)
WO (1) WO2014178582A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101625957B1 (ko) * 2015-03-09 2016-05-31 경북대학교 산학협력단 도로 네트워크에서 움직이는 영역내의 관심지점 k 최접근 질의 결과 연산 시스템 및 그에 따른 연산방법
KR20230071671A (ko) 2021-11-16 2023-05-23 경북대학교 산학협력단 동적 공간 네트워크에서의 공간 근접성 쿼리를 처리하는 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108225315A (zh) * 2016-12-21 2018-06-29 杭州海康威视数字技术股份有限公司 一种道路定位方法及装置
US10210272B1 (en) * 2017-11-27 2019-02-19 The Florida International University Board Of Trustees Window query monitoring for mobile devices and central database servers with a tree-like index
CN108304542B (zh) * 2018-01-31 2021-09-03 沈阳航空航天大学 一种时间依赖路网中的连续k近邻查询方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100709274B1 (ko) 2004-12-22 2007-04-19 인하대학교 산학협력단 도로 네트워크 기반 이동체의 통합 색인 구조
US8700296B2 (en) 2006-03-03 2014-04-15 Inrix, Inc. Dynamic prediction of road traffic conditions
KR100863228B1 (ko) 2007-04-24 2008-10-15 제주대학교 산학협력단 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법
SM200800017B (it) 2008-03-18 2010-11-12 Saulle Mattei Sistema di controllo interattivo di una rete stradale urbana ed extraurbana soggetta a norme e/o limitazioni di sicurezza e funzionalità.
WO2009158058A1 (en) 2008-06-24 2009-12-30 Tele Atlas North America Inc. Methods and systems for dynamically adaptive road network hierarchy and routing
KR101481672B1 (ko) * 2008-07-25 2015-01-13 엘지디스플레이 주식회사 유기발광다이오드 표시장치
KR101025360B1 (ko) 2009-04-22 2011-03-28 제주대학교 산학협력단 도로 네트워크 상에서 k-최근접 이웃 검색을 위한 최단 경로 탐색 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Muhammad Aamir Cheema et al. "Continuous Monitoring of Distance-Based Range Queries". IEEE Transactions on Knowledge and Data Engineering. 2011.8. *
Muhammad Aamir Cheema et al. "Continuous Monitoring of Distance-Based Range Queries". IEEE Transactions on Knowledge and Data Engineering. 2011.8.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101625957B1 (ko) * 2015-03-09 2016-05-31 경북대학교 산학협력단 도로 네트워크에서 움직이는 영역내의 관심지점 k 최접근 질의 결과 연산 시스템 및 그에 따른 연산방법
KR20230071671A (ko) 2021-11-16 2023-05-23 경북대학교 산학협력단 동적 공간 네트워크에서의 공간 근접성 쿼리를 처리하는 방법

Also Published As

Publication number Publication date
WO2014178582A1 (ko) 2014-11-06
US9752888B2 (en) 2017-09-05
US20160076901A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
KR101450525B1 (ko) 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법
US9062985B2 (en) Efficient K-nearest neighbor search in time-dependent spatial networks
US20060116818A1 (en) Method and system for multiple route navigation
US9778048B2 (en) Method and apparatus for determining reachable area based on road network
KR101479498B1 (ko) 도로 네트워크에서 움직이는 k-최근접 질의를 위한 안전한 모니터링 기법
US8600659B1 (en) Method and system for geographic search for public transportation commuters
WO2011072605A1 (zh) 兴趣点的检索方法及终端
KR20080048786A (ko) 목적지 주변의 관심지점 제공 방법 및 시스템
KR101423031B1 (ko) 도로 네트워크에서 움직이는 k-최근접 질의의 안전 출구 위치를 계산하는 방법
KR100574652B1 (ko) 지도 검색 서비스 제공 방법 및 시스템
US20170325068A1 (en) Method and System for Holistic Transportation Routing
JP3534228B2 (ja) 目的地案内装置
KR100736225B1 (ko) 경로 상의 최근접 객체 검색 방법
KR102185334B1 (ko) 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치
KR101421671B1 (ko) 도로 네트워크의 제한된 영역에서 k-최근접 질의의 지속적 모니터링을 위한 분산 기법
US7831386B2 (en) Loop-based route finding and navigation
KR20190066806A (ko) 차선 기반 도로 네트워크상에서의 최단경로 탐색 방법
KR100556688B1 (ko) 이동 통신 단말기에 지도 정보를 제공하는 방법 및 시스템
KR102127769B1 (ko) 도로 네트워크에서 k-최근접 이웃 조인 질의 처리 방법 및 도로 네트워크에서 k-최근접 조인 질의를 처리하는 장치
KR100612038B1 (ko) 경로 탐색 방법 및 시스템
KR101712847B1 (ko) 방향성을 가지는 도로 네트워크에서 움직이는 k최근접 질의의 안전출구 위치를 계산하는 방법
JP6307270B2 (ja) 経路探索装置
KR20130049968A (ko) 실시간 교통 정보를 이용한 사용자 일정 알림 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR102086755B1 (ko) 사용자의 선호도 변화를 반영한 경로 추천 시스템 및 방법
Lima et al. Dynamic Obstructed Group Trip Planning Queries in Spatial Databases

Legal Events

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

Payment date: 20181002

Year of fee payment: 5