HOT TECH - 무선망을 활용한 지도 업데이트 서비스 개발
글_ 장준 책임연구원
(현대엠엔소프트(주) GISMAP실 국내지도솔루션팀)
내비게이션의 기본적인 기능은 가고자 하는 목적지를 검색하고, 목적지까지의 경로를 검색하여 사용자가 안전하게 도착할 수 있도록 길을 안내하는 것이다.
일반적으로 사용자들은 내비게이션이 현재의 실세계를 반영한 최적의 경로를 안내할 것이라고 생각한다. 하지만, 현실세계와 달리 내비게이션의 지도는 몇 개월에서 혹은 반년이 지난 데이터를 바탕으로 안내를 하게 된다.
실제로 내비게이션 지도의 글로벌 Player인 Here에서 조사한 자료에 따르면 2012년 고객불만 사항의 30%는 지도 데이터의 최신성과 관련된 내용이며, 2012년 J.D. Power and Associates 의 조사에서도 지도의 최신성과 설치에 대한 불편이 커다란 고 객클레임의 한 부분이라고 발표된 자료가 있다.
이후에 기술하고자 하는 내용은 이러한 고객의 불만사항을 해소하고자 하는 우리의 노력에 대해서 이야기하고자 한다.
ㅣ내비게이션 업데이트의 해결해야 하는 문제들
지도 최신성의 문제는 내비게이션 업계의 오래된 화두이다.
내비게이션의 지도는 일련의 과정을 거쳐서 내비게이션에 탑재되는데, 탑재되는 과정을 나열하여 보면 맨 처음 현실세계의 변경사항을 인식하는 단계, 실제로 변경된 지점에 방문하여 데이터를 취득하는 단계, 취득된 데이터를 편집툴을 통해 서버에 저장하는 단계, 단말에서 사용할 수 있는 단말용 지도로 변환하는 단계, 데이터 검증, 고객 배포, 고객은 이러한 단계를 거쳐 배포된 지도를 내비게이션용 맵을 업데이트 등의 순으로 진행된다.
이러한 과정의 기간은 일반적으로 국내의 경우 1~2개월 단위로 이루어지게 되며, 해외의 경우 분기별 또는 일년에 1~2회 정도 이루어진다.
따라서, 내비게이션의 지도는 현실세계에 비해 늘 뒤처지게 된다. 이러한 기간을 줄이는 것은 내비게이션에 대한 고객만족을 주기 위한 근본적인 접근이다.
지도 최신성의 문제를 어떻게 풀어갈 것인가를 고민하다보면, 앞에서 언급된 내비게이션용 지도를 만드는 일련의 과정을 최단시간으로 줄이는 것이다.
하지만, 변경 인지에서 배포까지 이루어지는 과정을 최소화하는 것으로 고객은 만족할 수 있을까?
만약 일주일 단위로 내비게이션용 지도가 배포된다면 고객은 그 지도를 업데이트하는데, 일주일마다 자동차에 설치된 SD카드를 내비게이션에서 집으로 가져와서 PC업데이트용 프로그램을 구동시키고, 데이터를 다운로드받고 이를 다시 자동차에 설치된 내비게이션으로 가져가야 하는 수고를 하게 될 것이다.
인터넷 등에 익숙하지 않은 고객은 내비게이션 양판점 등을 찾아 별도의 비용을 지불하고 지도 데이터를 업데이트 하는 경우도 있다.
이러한 고객불편을 개선하기 위해 고객배포 편의성도 풀어야 할 숙제이다. 우리가 선택한 방법은 무선망을 통해 내비게이션용 지도를 전송함으로써 언제 어디서든 사용자가 쉽게 업데이트 할 수 있게 하는 것이다.
하지만 다시 무선망을 통해 전송해야 하는 것에는 한 가지 제약이 따르게 된다.
지도 데이터의 사이즈가 꼭 해결해야 할 과제인데 최근의 내비게이션용 지도의 사이즈는 4GB를 넘는다. 이 데이터를 일주일마다 무선망을 통해서 전송한다면 고객은 불만이 없을 것인가?
3G망에서 LTE를 지나 LTE-A를 이야기하는 시대이지만 Bandwidth가 돈이라는 것은 불변의 사실이다. 그 비용을 사용자가 부담하든지 망 사업자가 부담하게 되든지 말이다.
그래서 우리는 내비게이션용 지도를 최단시간에 제작·배포할 수 있는 시스템을 만들어야 하고, 언제 어디서든 무선망을 통하여 업데이트할 수 있도록 전송 데이터 사이즈를 최소화해야 하는 숙제를 가지게 된다.
ㅣ단말용 지도로 변환하는 단계의 축소
지도의 최신성을 확보하기 위해서는 몇 주간 소요되는 서비스용 지도 변환과정을 자동화할 필요가 있다. 서비스용 지도를 변환하기 위해서도 많은 단계를 거치게 되는데, 그 단계의 시작은 서버에 존재하는 데이터를 Freezing하는 것이다.
이후에 지도의 데이터 무결성을 검사하기 위해 상당한 시간을 소요하게 되는데, 우리는 이 과정을 최소화하기 위해 프로세스를 변경하여 매일 입력된 데이터는 무결성 검사를 하는 프로세스를 만들어 언제든지 서비스용 지도로 변환하는 과정이 가능하도록 하였으며, 지도변환 과정을 자동화함으로써 2일 이내에 완료할 수 있는 시스템을 개발하였다.
그림 1 업데이트 받을 항목이 존재하면 업데이트 버튼의 아이콘에 ‘N’이 표출
그림 2 변경된 지도 데이터 부분을 다운로드받는 중(수동모드)
그림 3 다운로드 및 업데이트 중 내비게이션 화면에, ‘화살표’로 표시됨
그림 4 다운로드 완료 후 데이터 업데이트 진행화면
ㅣ변경된 부분만 갱신하기 위한 포맷의 개발
업데이트해야 하는 내비게이션용 지도 데이터의 사이즈를 축소하기 위해서는 변경된 부분만을 전송하고 단말기상에서 변경된 부분을 갱신함으로써 이루어질 수 있다.
내비게이션용 지도는 GIS(Geographic Information System)에서 사용되는 데이터와는 달리 사이즈와 속도에 민감하다는 차이점을 가지고 있다.
그것은 H/W 사양과 밀접한 관계를 가지고 있는데, 일반적으로 지리정보 시스템은 PC상에서 구현되기 때문에 상대적으로 우수한 H/W성능에서 구동되지만, 내비게이션의 경우는 상대적으로 성능이 떨어지는 H/W에서 구동되므로 좀 더 최적화된 포맷을 사용하게 된다.
이러한 포맷을 일반적으로 PSF(Physical Storage Format)이라고 하는데, 국내에서 사용되는 내비게이션용 지도 포맷은 일반적으로 Kiwi라는 일본에서 개발한 포맷을 근간으로 한다고 할 수 있다.
Kiwi 포맷은 데이터를 GRID인덱스 방식으로 저장하고, 물리적으로 몇 개의 레벨을 중복하여 저장하게 된다.
하나의 GRID를 보통 메쉬(Mesh)나 도엽이라고 하는데, 이 메쉬에는 경로 탐색을 위한 링크와 노드 등이 적재되며, 배경을 그리기 위한 각종 폴리곤, 폴리라인, 포인트 등이 저장되며, 경로안내 등에 사용되는 데이터를 저장하게 된다.
메쉬에 저장되는 객체들은 빠른 검색을 위해서 연관된 객체의 파일 오프셋을 가지고 있거나 고정장 레코드로 저장하여 배열의 첨자로 엑세스할 수 있도록 구성되어 있다.
이러한 구조는 읽고, 검색하기에 적합하지만 쓰기 작업에는 적합하지 않다. 따라서 읽기 속도도 기존의 포맷과 동등 수준이면서 쓰기 작업에도 적합한 새로운 포맷의 개발이 필요했다.
일반적인 PSF는 파일의 형태로 구성되어 있다. 따라서 하나의 객체가 변경되는 경우 메쉬내의 모든 객체의 연관성이 깨어지는 것뿐만 아니라 물리적으로 이후에 저장된 메쉬의 정보(파일 오프셋으로 저장되므로)도 변경된다. 따라서 하나의 객체를 변경하는 것은 모든 파일의 내용을 갱신해야 하는 문제를 가지고 있다.
몇 년 전 우리는 이러한 문제를 극복하고자 메쉬를 파일 단위로 나누어 저장하는 방식으로 설계를 진행한 적이 있다. 그러나 무선망을 이용해 변경된 부분만을 전송하기에는 전송해야 하는 데이터량이 충분히 작지 않았다.
이유를 좀 더 자세히 살펴보자면, PSF는 단말상에서 빠른 경로탐색의 속도를 보장하기 위해서 물리적으로 여러 개의 레벨을 가진다.
예를 들어 3단계의 레벨을 가진다면 1레벨은 고속도로, 도시 고속도로, 일반도로, 국도, 세도로 등 모든 네트워크를 포함하여 구성하고, 2레벨은 고속도로, 도시 고속도로, 국도 등의 네트워크를 포함하여 구성하고, 3레벨은 고속도로, 도시 고속도로로 네트워크를 구성하게 된다.
경로탐색시에는 최초 1레벨에서 경로 탐색을 수행하다가 일정거리 이상이 되면 상위 레벨 네트워크로 이동하여 상위 레벨에서 경로탐색을 수행하여 (찾아야 하는 도로 네트워크의 개수를 줄임으로써) 경로탐색의 속도를 증가시킨다.
이러한 구조로 되어 있기 때문에 하위 레벨과 상위 레벨의 객체에 대한 연관성을 객체에 저장하고 있으며 앞에서 말한 것과 같이 최하위 레벨의 도로 네트워크 하나가 바뀐 것은 내 상위의 메쉬에도 영향을 미치게 되어 갱신이 필요한 상황이 된다.
상위 레벨의 메쉬는 하위 레벨의 메쉬 여러 개를 포함하는 영역으로 구성되므로, 만약 고속도로 링크가 하나 추가된다면 최상위 레벨의 메쉬는 하나의 도(경기도, 강원도)를 갱신하는 결과를 가져오게 될 것이다.
해외의 경우에도 NDS(Navigaiton Data Standard)협회라는 세계의 주요 자동차 메이커(BENZ, DAIMLER, VOLKSWAGEN, HYUNDAI), 주요 항법용 지도 제공업체(HERE, TOMTOM 등), 주요 차량 전장용 S/W, H/W 공급업체(HARMAN, DENSO 등)가 참여하여 Incremental Map Update를 지원하는 포맷을 설계하고 있다.
NDS라는 포맷도 모바일 DBMS를 활용하여 Incremental Map Update 기능을 제공하고자 하나, 이것은 우리가 몇 년 전에 개발하였던 메쉬를 파일단위로 나누어 저장하는 방식과 유사하다고 할 수 있다.
즉 DBMS에 BLOB(Binary Large Object) 필드에 앞서 말한 배경 데이터와 네트워크 데이터를 저장하는 방식이라고 알려져 있다.
따라서 무선망을 통해 전달해야 하는 변경량을 최소화하는 데는 충분치 않을 것으로 예상된다(아직 상용화된 서비스를 지원하고 있지 않다.
우리가 개발한 포맷은 모바일 DBMS에 기반을 두고 각 객체(링크,노드, 폴리곤, 폴리라인, 포인트)를 레코드 단위로 저장하고, 변경된 객체의 속성, 레코드 추가삭제 등을 지원할 수 있도록 하였다.
모바일 DBMS를 사용함으로써 문제가 되는 부분은 데이터 사이즈와 데이터 엑세스 속도이다.
이러한 문제를 극복하기 위해서 국내 DBMS업체(리얼타임테크)와 협력하여 내비게이션에 적합한 모바일 DBMS를 개발하였다.
데이터 사이즈를 축소하기 위해서 DBMS내에서 페이지 단위로 압축하는 방법, Geometry를 압축하여 저장하는 방법, 지도 데이터의 버전을 관리하는 방법 등을 DBMS내에서 구현하였으며, 데이터 엑세스 속도 문제를 극복하기 위해서 DBMS내의 RID를 활용하여 인덱스의 검색 없이 데이터를 직접 엑세스 할 수 있도록 하였다.
또, 설치시의 System Failure 이나 Power Failure 에 대비하기 위해 DBMS의 Recovery 기능을 개발하였다.
그림 5 시스템 구성도
ㅣ변경된 부분만 갱신하기 위한 포맷의 활용
내비게이션은 지도를 어느 곳에 저장하는 위치에 따라 Off-board(단말기에 지도 데이터를 저장하지 않고 서버와 통신을 통해서만 데이터를 얻어와 사용함)와 On-board로 나뉘며, H/W의 형태에 따라 PND(Personal Navigation Device), AVN(Audio Video Navigation)등으로 나뉘게 된다.
최근에 와서는 Smart Phone에 탑재되는 App형태의 Navigation도 등장하게 되었지만, 사실 이전에 PDA(Personal Digital Assistant)가 있던 시절에도 S/W만 구매해서 사용할 수도 있었으므로, 전혀 새로운 형태의 것이라고 볼 수는 없을 것 같다.
Off-board를 지향하는 Smart phone라고 해도 서버에서 지도 데이터를 단말기로 보낼 때 메쉬 단위로 보낼 것인가 객체 단위로 보낼 것인가는 계속적인 문제일 것이다. 통신망이 LTE가 되든 더 빠른 무엇이 되든 더 작은 사이즈의 데이터를 보내는 것이 경제적일 것이기 때문이다.
최근 화두가 되고 있는 무인 주행의 경우도 자동차에 장착된 수많은 센서를 활용하지만, 정확성을 더 확보하기 위해서 고정밀 지도를 활용하고 있으며, 이 고정밀 지도도 얼마나 최신성을 유지할 수 있느냐가 성패를 가를 키워드가 될 것이다.
따라서 지도를 기반으로 하는 모든 서비스의 경우 지도의 최신성은 주요한 이슈가 될 것이며 이러한 부분에서 모바일 DBMS를 활용한 내비게이션용 포맷은 하나의 방법이 될 수 있을 것이라 생각한다.
ㅣ앞으로의 과제
위에서 언급한 사항들을 해결하였다고 해서 지도 최신성의 문제가 다 해결된 것은 아니다. 여전히 내비게이션에 탑재된 지도 데이터는 실세계를 반영하고 있지 못하다. 단지 1~2월 전의 데이터를 배포하던 것에서 1~2주로 그 기간을 줄였을 뿐이다.
실시간으로 업데이트 되는 내비게이션의 지도가 궁극의 목표라면 우리가 해결해야 할 문제는 실세계의 변화를 얼마나 빨리 감지하고, 그 데이터가 얼마나 믿을 만한 것인지를 실시간으로 검증할 수 있는 시스템이 필요할 것으로 생각된다.
얼마 전에 구글에 인수된 Waze社의 소셜 네트워크를 이용한 지도 데이터 구축, Big Data를 활용한 실세계의 변화감지 등이 앞으로 더 많은 숙제들이 남겨져 있다.
처음은 단순히 목적지로 길안내만을 하던 내비게이션에서 실시간 교통정보를 반영하는 내비게이션으로, 앞으로는 무인주행을 지원하기 위한 내비게이션까지 내비게이션은 앞으로 어떤 기능을 더하게 될지 알 수 없다.
하지만 앞으로 남겨진 숙제를 해결하기 위한 노력은 끝나지 않을 것이다.