KR101653412B1 - 위치 코드 데이터를 리프레시하기 위한 방법 및 시스템 - Google Patents

위치 코드 데이터를 리프레시하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101653412B1
KR101653412B1 KR1020100007959A KR20100007959A KR101653412B1 KR 101653412 B1 KR101653412 B1 KR 101653412B1 KR 1020100007959 A KR1020100007959 A KR 1020100007959A KR 20100007959 A KR20100007959 A KR 20100007959A KR 101653412 B1 KR101653412 B1 KR 101653412B1
Authority
KR
South Korea
Prior art keywords
map
location code
data
change
location
Prior art date
Application number
KR1020100007959A
Other languages
English (en)
Other versions
KR20100088551A (ko
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 히어 그로벌 비. 브이.
Publication of KR20100088551A publication Critical patent/KR20100088551A/ko
Application granted granted Critical
Publication of KR101653412B1 publication Critical patent/KR101653412B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

위치 코드 데이터를 리프레시하기 위한 방법 및 시스템이 개시된다. 시스템은 맵 변경 데이터 및 위치 코드 변경 데이터를 수신하는 위치 코드 변경 시스템을 포함한다. 위치 코드 변경 시스템은 맵 변경 데이터를 프로세싱하고, 영향을 받은 위치 코드들을 탐색(find)하며, 그리고 위치 코드 데이터를 조종하거나 지오코딩 동작을 수행함으로써 위치 코드의 정보를 업데이트한다. 업데이트된 위치 코드 데이터는 위치 코드 시스템에 저장된다. 위치 코드 변경 시스템은 위치 코드 시스템으로부터 위치 코드 변경 데이터를 수신하고, 위치 코드 변경들에 기반하여 맵 업데이트를 용이하게 하는, 맵 변경 시스템으로 위치 코드 변경들에 관한 정보를 제공한다.

Description

위치 코드 데이터를 리프레시하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR REFRESHING LOCATION CODE DATA}
본 발명은 일반적으로 위치-기반 시스템들에 관한 것이고, 더 상세하게는 위치 코드 데이터를 리프레시(refresh)하기 위한 방법 및 시스템에 관한 것이다.
본 특허 출원은 모두 동일한 날짜에 출원된 진행 중인 다음의 특허 출원들에 관한 것이다, 출원번호 제12/362,734호인 "METHOD AND SYSTEM FOR ASSESSING QUALITY OF LOCATION CONTENT"; 제12/362,751호인 "METHOD AND SYSTEM FOR MANAGING RELATIONSHIPS BETWEEN LOCATION IDENTIFIERS"; 제12/362,786호인 "METHOD FOR REPRESENTING LINEAR FEATURES IN A LOCATION CONTENT MANAGEMENT SYSTEM"; 제12/362,807호인 "METHOD AND SYSTEM FOR EXCHANGING LOCATION CONTENT DATA IN DIFFERENT DATA FORMATS."
내비게이션-관련 그리고 맵(map)-관련 서비스들을 제공하는 다양한 기술들이 개발되어왔다. 예를 들어, 운송 수단 내비게이션 시스템들은 운송 수단이 어디에 위치해 있는지 원하는 목적지로 이동하기 위한 방향(directions)을 제공한다. 또한, 인터넷 사이트들은 맵들, 특정 시작 지점으로부터 원하는 목적지로의 이동을 위한 방향, 그리고 다른 맵-관련 서비스들을 제공하는 것이 가능하다. 또한, 핸드-헬드 디바이스들은 그 사람의 위치를 결정하고, 그 사람의 주변 환경들의 맵을 제공할 수 있는 것이 가능하다.
이러한 그리고 다른 맵-관련 기능들 및 특징들을 제공하기 위해, 내비게이션 시스템들은 지리적 데이터를 사용한다. 지리적 데이터는, 지리적 영역에 있는 물리적 특징들을 나타내는 데이터를 포함하는 하나 이상의 지리적 데이터베이스들의 형태일 수 있다. 지리적 데이터베이스는, 일방 통행 도로들, 도로들의 위치, 도로들의 부분들에 따른 속도 제한들, 도로 위치들에 따른 주소 구역(ranges), 도로 교차로들에서의 방향 전환 제한들, 일방 통행 도로들과 같이 방향 제한들 등의 나타낸 지리적 특징들에 관한 정보를 포함한다. 추가적으로, 지리적 데이터는 음식점들, 호텔들, 공항들, 주유소들, 스타디움들, 경찰서들 등과 같은 관심의 지점들과 관련된 데이터를 포함할 수 있다.
이러한 지리적 데이터는 NAVTEQ North America, LLC of Chicago, Illinois에 의해 제공되는 지리적 데이터베이스와 같은, 지리적 데이터베이스에 저장될 수 있다. 맵 벤더(vendor)에 의해 획득된 데이터에 더하여, 콘텐츠 소스들은 지리적 영역에서 위치들에 관한 데이터를 가진다. 콘텐츠 소스들은 그들의 데이터를 지리적 데이터베이스에 포함시키기 위해 맵 벤더에 제공할 수 있다. 예를 들어, 체인 음식점의 소유주는 맵 벤더에게 그들의 모든 위치들의 현재 목록을 제공할 수 있고, 각각의 위치 목록은 주소, 전화 번호들, 운영 시간, 메뉴, 웹 페이지 주소, 및 그들의 위치에 관한 다른 정보를 포함할 수 있다.
지리적 데이터베이스에 저장된 정보의 양이 증가하면, 맵 벤더가 지리적 데이터베이스에 제 3자 데이터를 추가하는 것이 더 어려워진다. 그 결과로, 위치 콘텐츠 관리 시스템들은 복수의 주체들이 위치에 관련된 데이터를 제공하도록 허용하기 위해 개발되었고, 이는 "위치 콘텐츠" 또는 단순히 "콘텐츠"로 종종 지칭된다. 위치 콘텐츠 관리 시스템은 위치 콘텐츠 및 콘텐츠에 연관된 지리적 위치 사이의 링크를 제공한다. 링크는, 위치 콘텐츠 관리 시스템이 위치를 할당하는 위치 코드이다.
위치 코드는 개인이 이동할 수 있는 임의의 위치에 할당될 수 있다. 예를 들어, 개인은 지리적 영역에 있는 특정 빌딩의 특정 층의 특정 사무실로 이동하기를 원할 수 있다. 이러한 예를 이용하여, 위치 콘텐츠 관리 시스템은 위치 코드를 사무실, 층, 및 빌딩 각각에 할당한다. 만약 층이 빌딩의 지면(ground) 레벨에 있지 않다면, 위치 콘텐츠 관리 시스템은 또한 계단들 및/또는 엘리베이터에 위치 코드를 할당할 수 있다. 이러한 방식으로 위치 코드들을 할당함으로써, 내비게이션 시스템은 빌딩 내의 사무실로의 이동을 위해 사용자에게 루트(route) 가이드를 제공할 수 있다.
위치 콘텐츠 관리 시스템은 복수의 주체들이 위치에 관한 콘텐츠를 제공하는 방법을 제공하고, 위치 콘텐츠 관리 시스템에 새로운 특징들 및 개선점들을 위한 여지가 계속하여 존재한다. 개선점들의 하나의 영역은 위치 코드 데이터를 업데이트하는 것이다. 위치 코드 데이터는 지리적 기준 데이터 및 맵 기준 데이터를 포함한다. 위치 코드 데이터를 종종 리프레시함으로써, 위치 코드 데이터의 사용자들은 정확한 데이터를 획득하기 더 쉬워진다.
위치 코드 데이터를 리프레시하기 위한 방법 및 시스템이 개시된다. 시스템은 위치 코드 변경 시스템을 포함한다. 위치 코드 변경 시스템은 맵 변경 시스템으로부터의 맵 변경들 및 위치 코드 시스템으로부터 위치 코드 변경들을 획득한다. 맵 변경 시스템은 맵 시스템으로부터 맵 변경들을 획득한다.
위치 코드 변경 시스템은 맵 변경이 위치 코드에 영향을 주는지 여부를 결정한다. 만약 위치 코드가 영향받으면, 위치 코드 변경 시스템은 영향받은 위치 코드를 리트리브(retrieve)하고, 위치 코드 데이터를 직접적으로 조종(manipulate)하거나 지오코딩(geocoding) 동작을 수행함으로써 연관된 위치 코드 데이터에 적절한 변경들을 가한다. 지오코딩 동작은 순방향 지오코딩 동작(즉, 위치 코드가 주소 정보를 포함) 또는 역방향 지오코딩 동작(즉, 위치 코드가 주소 정보를 포함하지 않음)일 수 있다.
위치 코드 변경 시스템이 위치 코드 시스템으로부터 위치 코드 변경을 수신하면, 위치 코드 변경 시스템은 위치 코드 변경이 맵 데이터를 업데이트하기 위해 맵 변경 시스템으로 전송되어야 하는지 여부를 결정한다. 만약 전달되면, 맵 변경 시스템은 맵 시스템으로 맵 업데이터 요청을 전송하여, 그 결과 맵 시스템이 맵 데이터에 적절한 변경들을 가할 수 있다.
당해 기술 분야에 속하는 통상의 지식을 가진 자에겐 첨부하는 도면들을 적절히 참조하여, 다음의 상세한 설명을 읽음으로써 다른 양상들 및 이점들이 명백하질 것이다. 또한, 이러한 설명은 단순히 예시이며, 청구범위로 주장되는 방법의 범위를 제한하고자 함이 아님을 이해해야 한다.
여기서 바람직한 실시예들이 첨부되는 도면들과 결합하여 아래서 설명되며, 동일한 참조 부호는 다양한 도면들에서 동일한 구성요소들을 지칭한다;
도 1은 일 예에 따른, 데이터 리프레시 시스템의 블록 다이어그램이다;
도 2는 일 예에 따른, 맵 변경 시스템의 블록 다이어그램이다;
도 3은 일 예에 따른, 위치 코드 변경 시스템의 블록 다이어그램이다;
도 4는 일 예에 따른, 데이터 리프레시 프로세스의 플로우 차트이다;
도 5는 일 예에 따른, 위치 코드 엔티티의 블록 다이어그램이다; 그리고
도 6은 일 예에 따른, 맵 베이스라인 시프트를 위한 프로세스 다이어그램이다.
도 1은 데이터 리프레시 시스템(100)의 블록 다이어그램이다. 데이터 리프레시 시스템(100)은 맵 시스템(102), 맵 변경 시스템(104), 위치 코드 변경 시스템(106), 및 위치 코드 시스템(108)을 포함한다. 데이터 리프레시 시스템(100)은 맵 데이터뿐만 아니라 위치 코드 데이터를 업데이트하여, 그 결과 이러한 데이터의 사용자들이 종종 리프레시된 데이터를 획득할 수 있다.
맵 시스템(102)은 저장소, 프로그램들, 및 맵 데이터의 추가, 업데이트, 및 삭제를 위한 인터페이스들을 제공한다. 맵 벤더(vendor)들은 그들의 맵 데이터 모델에 의존하는 맵 시스템(102)의 상이한 구현들을 가질 수 있고, 맵 생성 및 수정 절차들을 감독하도록 프로세스한다. 하나의 맵 시스템이 도 1에 도시되지만, 각각의 맵 벤더들은 자신 고유의 맵 시스템을 가질 수 있음을 이해해야 한다.
맵 시스템(102)은 데이터 연결(101)을 통해 맵 변경 시스템(104)으로 맵 변경들을 전송한다. 맵 변경들은 새로운, 업데이트된, 그리고 삭제된 맵 데이터를 포함할 수 있다. 데이터 연결(101)은 맵 변경들을 맵 시스템(102)으로부터 맵 변경 시스템(104)으로 전송하도록 동작가능한 유선 또는 무선 연결 중 임의의 타입일 수 있다. 데이터 연결(101)은 사전정의된 스케줄 또는 매뉴얼 요청에 기반하여, 연속적으로 또는 간헐적으로 맵 변경들을 전송할 수 있다.
맵 변경 시스템(104)은 데이터 연결(101)을 통해 맵 시스템(102)으로부터 수신되는 맵 변경들을 다룬다. 맵 변경 시스템(104)은 맵 변경들을 내부 그리고/또는 외부 시스템들로 배달하기 위해 필요한 만큼 변경된 맵 데이터를 저장하고 조정한다. 맵 변경 시스템(104)은 또한 맵 데이터를 변경하기 위해 요청들을 다루기 위해 사용될 수 있다. 맵 변경 시스템(104)의 일 예가 도 2에 도시된다.
맵 변경 시스템(104)으로부터 맵 변경들을 수신하는 외부 시스템들의 하나는, 위치 코드 변경 시스템(106)이다. 맵 변경 시스템(104)은 변경된 맵 데이터를 외부 시스템들로 전송하기 위한 데이터 연결(103)을 사용한다. 데이터 연결(103)은 맵 변경 시스템(104)으로부터 위치 코드 변경 시스템(106)으로 맵 변경들을 전송하도록 동작가능한 유선 또는 무선 연결 중 임의의 타입일 수 있다.
데이터 연결(103)은 위치 코드 변경 시스템(106)과 같은, 외부 시스템들로 맵 변경들을 전송하기 위한 푸쉬(push) 및 풀(pull) 메커니즘들을 인에이블한다. 추가적으로, 데이터 연결(103)은 유선 및 무선 네트워크들을 통해 맵 변경들을 요청하고 전송하기 위해, 전송 메커니즘들뿐만 아니라 다수의 프로그래밍 및 휴먼 인터페이스들을 허용한다. 상이한 네트워크 프로토콜들이 인트라넷 및 인터넷 네트워크들을 통해 맵 변경들을 전달하기 위해 이용될 수 있다. 데이터 연결(103)은 또한, 내부 및 외부 소비자들에 정보를 전송하기 이전에 모든 필요한 데이터 압축 및 암호화를 수행한다.
위치 코드 변경 시스템(106)은 맵 변경들에 기반하여 위치 코드 데이터를 리프레시한다. 위치 코드 변경 시스템(106)은 데이터 연결(105)을 통해 위치 코드 시스템(108)으로 업데이트된 위치 코드 데이터를 제공한다. 데이터 연결(105)은 위치 코드 변경 시스템(106)으로부터 위치 코드 시스템(108)으로 위치 코드 변경들을 전송하도록 동작가능한 유선 또는 무선 연결 중 임의의 타입일 수 있다. 예를 들어, 위치 코드 변경 시스템(106)은 데이터 연결(105)을 통해 위치 코드 시스템(108)으로 맵 기준 및 지리적 기준 업데이트들을 전송한다. 바람직하게 데이터 연결(105)은 위치 코드 데이터에 대한 업데이트들을 빠르게 전달하기 위해, 높은 스루풋 및 낮은 레이턴시 네트워크들에 대해 최적화된다. 위치 코드 변경 시스템(106)의 일 예가 도 3에서 도시된다.
위치 코드 시스템(108)은 위치 코드 데이터를 저장하고 유지하는 하드웨어, 소프트웨어, 및/또는 펌웨어의 조합이다. 예를 들어, 위치 코드 시스템(108)은 위치 코드 데이터에 대한 데이터 구조를 저장하는 메모리를 포함한다. 메모리는 판독/기록 액세스를 허용하는 임의의 타입의 메모리일 수 있다. 유사하게, 임의의 타입의 데이터 구조가 사용될 수 있다. 위치 코드 시스템(108)의 메모리에 저장될 수 있는 위치 코드 엔티티의 일 예가 도 5에서 도시된다.
위치 코드 변경 시스템(106)은 데이터 전송들을 위해 적합한 유선 또는 무선 중 임의의 타입일 수 있는, 데이터 연결(107)을 통해 위치 코드 시스템(108)에서 발생하는 위치 코드 데이터 변경들을 수신한다. 바람직하게 데이터 연결(107)은 높은 스루풋 및 낮은 레이턴시 네트워크들에 대해 최적화되나, 데이터 연결(107)은 또한, 더 느린 네트워크를 통해 업데이트들을 전송할 수 있다. 추가적으로, 데이터 전송은 바람직하게는 비-트랜잭션(no-transactional)이며, 따라서 더 느린 그리고 덜 신뢰적일 수 있는, WAN(Wide Area Network) 연결들을 지원하기 위해 어떠한 추가적인 오버헤드도 위치 코드 시스템(108) 상에 배치되지 않는다.
몇몇의 위치 코드 변경들은 데이터 연결(109)을 통해 맵 변경 시스템(104)에 통지함으로써 맵 데이터를 변경하기 위해 사용될 수 있다. 데이터 연결(109)은 위치 코드 변경 시스템(106)으로부터 맵 변경 시스템(104)으로 위치 코드 변경들을 전송하도록 동작가능한 유선 또는 무선 중 임의의 타입일 수 있다. 예를 들어, 숙련된(expert) 커뮤니티는 위치 코드의 위치 정확도를 고정(fix)하기 위해 위치 코드 데이터 및 맵 기준들을 변경할 수 있다. 그 변경은 위치 코드 시스템(108)에 의해 수락될 수 있으며, 차례로 데이터 연결(107)을 통해 위치 코드 변경 시스템(106)에 통지한다.
위치 코드 변경 시스템(106)은 그리고나서 이러한 변경이 맵을 업데이트하기 위해 맵 변경 시스템(104)으로 또한 통신 되어야 하는지 여부를 결정한다. 맵 변경 시스템(104)은 데이터 연결(109)을 통해 변경 정보를 수신하며, 맵 시스템(102)과 호환되는 맵 업데이트 요청으로 정보를 변환한다. 데이터 연결(109)은 또한 맵 업데이트들을 위해 요청들을 안전하고 효율적으로 전송하기 위해 데이터 암호화 및/또는 데이터 압축을 수행할 수 있다.
데이터 연결(111)은 만약 맵 변경 시스템(104)이 데이터 연결(109)을 통해 수신되는 요청들을 수락하면, 맵 업데이트들을 맵 시스템(102)으로 전송하기 위해 사용된다. 데이터 연결(111)은 맵 변경 시스템(104)으로부터 맵 시스템(102)으로 맵 업데이트들을 전송하도록 동작가능한 유선 또는 무선 중 임의의 타입일 수 있다. 바람직하게 데이터 연결(111)은 맵 업데이트 정보를 빠르게 전달하기 위해 높은 스루풋 및 낮은 레이턴시 네트워크들에 최적화된다. 데이터 연결(111)은 또한 정보의 전달을 위해 트랜잭션 지원을 제공할 수 있다.
도 2는 도 1에서 도시된 맵 변경 시스템(104)으로 사용될 수 있는 예시적인 맵 변경 시스템(200)의 블록 다이어그램이다. 다른 맵 변경 시스템 설계들 또한 사용될 수 있다. 맵 변경 시스템(200)은 맵 데이터 저장소(201), 타이머(202), 데이터 연결(203), 매뉴얼 데이터 전달 컴포넌트(204), 맵 변경들 데이터 저장소(205), 및 맵 변경 인터페이스(206)를 포함한다. 맵 변경 시스템(200)은 다른 컴포넌트들 역시 가질 수 있다.
맵 데이터 저장소(201)는 특정 맵 벤더 포맷인 맵 데이터를 보유한다. 맵 데이터는, 상관적인 데이터베이스 포맷, 파일 기반 포맷, 또는 영구적인 데이터 저장을 위해 적절한 임의의 다른 데이터 포맷으로 저장될 수 있다. 맵 데이터 저장소(201)는 라이브 프로덕션 맵 데이터 또는 프로덕션 맵 데이터의 카피 중 하나를 보유한다. 바람직하게, 맵 데이터 저장소(201)에서 사용되는 데이터 스키마(schema) 맵 시스템(102)에 있는 데이터 스키마와 동기화된다.
타이머(202)는 맵 변경들을 리트리브(retrieve)하고 전송하기 위한 스케줄들을 생성하기 위해 사용된다. 타이머(202)는 맵 변경들을 맵 변경들 저장소(205)에 전송하는 프로세스를 시작하고 정지한다. 실패의 경우에, 타이머 컴포넌트(202)는 에러를 로그(log)하고, 시스템 관리자에게 통지하며, 그리고/또는 프로세스를 재시작하기 위해 시도한다.
데이터 연결(203)은 맵 데이터 저장소(201)로부터 맵 변경들 저장소(205)로 맵 변경들을 스트림(stream)하기 위해 사용된다. 바람직하게, 맵 데이터 저장소(201)는 맵 변경들을 맵 변경들 저장소(205)로 연속적으로 스트림하나; 맵 변경들은 비-연속적인 방식으로도 맵 변경들 저장소(205)로 제공될 수 있다. 바람직하게 데이터 연결(203)은 보장된 데이터 전달 메커니즘을 이용하여 높은 스루풋 및 낮은 레이턴시 네트워크들에 대해 최적화된다. 상이한 기술들이 각각의 변경을 기술하기에 충분한 델타 정보만을 전송하기 위해 이용될 수 있다. 맵 데이터는 더욱 효율적인 전달을 위해 압축될 수 있다.
매뉴얼 데이터 전달 컴포넌트(204)는 맵 변경들을 리트리브하고 전송하기 위한 프로세스들을 매뉴얼로 개시하기 위해 사용될 수 있다. 매뉴얼 데이터 전달 컴포넌트(204)는 맵 변경들을 맵 변경들 저장소(205)로 전송하는 프로세스를 시작하고 정지하기 위해 사용될 수 있는 프로그램 및/또는 휴먼 인터페이스들의 세트를 가진다.
맵 변경 데이터 저장소(205)는 맵 변경들을 기술하는 데이터를 저장한다. 맵 변경들 데이터 저장소(205)는 상관적인 데이터 베이스 포맷, 플랫 및 계층적 파일 포맷, 또는 영구적인 데이터 저장소를 위해 적절한 임의의 다른 데이터 포맷으로 맵 변경들을 유지할 수 있다. 바람직하게 맵 변경들 데이터 저장소(205)는 연대적인(chronological) 순서로 효율적인 데이터 액세스에 대해 최적화된다.
맵 변경 인터페이스(206)는 맵 변경들을 리트리브하기 위해 사용될 수 있는 프로그램 및/또는 휴먼 인터페이스들의 세트이다. 바람직하게 맵 변경 인터페이스(206)는 맵 변경들을 리트리브하기 위해 푸쉬 및 풀 메커니즘들 모두를 지원한다. 내부 및/또는 외부 엔티티들은 하나 이상의 선택된 기준에 기반하여 변경된 맵 데이터를 자동으로 수신하도록 등록할 수 있다. 예를 들어, 외부 시스템은 새로운 도로 지오메트리(geometry)가 사용자-정의 지리적 영역에 추가되는 경우 맵 업데이트들을 수신하도록 등록될 수 있다. 풀 기반 API들은 이전에 정의된 기준 없이, 요구하는 대로 맵 변경들을 추출하기를 원하는 사용자들에 적합하다(애드-혹). 이러한 API들은 특히 외부 시스템들이 그들을 WAN(Wide Area Networks)을 통해 액세스하는 경우에, 더 작은 데이터 세트들의 교환에 더 적합하다. 푸쉬 및 풀 인터페이스 둘 모두 및 API들은 맵 변경들의 보안 그리고 트랜잭션 전달을 허용한다.
도 3은 도 1에서 도시된 맵 변경 시스템(104)으로 사용될 수 있는 예시적인 위치 코드 변경 시스템(300)의 블록 다이어그램이다. 다른 위치 코드 변경 시스템이 또한 사용될 수 있다. 위치 코드 변경 시스템(300)은 맵 변경 수신기(301), 맵 변경 요청기(302), 요청 스케줄러(303), 사용자 인터페이스(304), 맵 변경 프로세서(305), 변경 프로세스 메타데이터 저장소(306), 맵 변경 큐(307), 큐 청취기(308), 큐 필터(309), 위치 코드 업데이터(310), 지오코더(311), 지오코더 데이터 저장소(312), 위치 코드 변경 수신기(313), 및 위치 코드 변경 통지기(314)를 포함한다. 맵 변경 시스템(300)은 다른 컴포넌트들 역시 가질 수 있다.
(여기서 수신기(301)로 지칭되는) 맵 변경 수신기(301)는 데이터 연결(103)을 통해 맵 변경 시스템(200)으로부터 맵 변경들을 수락한다. 수신기(301)는 맵 변경 인터페이스(206)로부터 데이터 패킷들을 수락함으로써 맵 변경 데이터를 "청취" 한다. 바람직하게는, 맵 변경들을 수락하는 네트워크상의 다수의 물리적 컴포넌트들이 존재할 수 있기에, 수신기(301)는 로컬 또는 공중 네트워크상에서 고유하게 식별가능하고 액세스 가능하다. 수신기(301)는 맵 업데이트들을 전송하는 맵 변경 시스템(200)의 인증 및 승인을 수행한다.
바람직하게는, 수신기(301)는 동시에 상이한 맵 벤더들로부터 맵 업데이트들을 수신할 수 있다. 추가적으로, 수신기(301)는 또한 동시에 상이한 맵 버전들로부터 맵 업데이트들을 수신할 수 있다. 맵 변경 시스템(200)은 맵 벤더 및 맵 버전 정보를 이용하여 맵 변경들을 식별한다. 맵 변경 시스템(200) 및 수신기(301)는 맵 변경들을 리트리브하기 위한 푸쉬 기반 메커니즘을 형성한다. 데이터 푸쉬는 트랜잭션 또는 비-트랜잭션 동작으로서 수행될 수 있다.
(여기서 요청기(302)로 지칭되는) 맵 변경 요청기(302)는 맵 변경 시스템(200)으로부터 맵 변경들을 요청할 책임이 있다. 요청기(302)는 맵 변경들을 리트리브하기 위한 풀 기반 메커니즘을 형성하기 위해 맵 변경 인터페이스(206)를 통해 맵 변경 시스템(200)과 상호작용한다. 바람직하게는, 데이터 요청들은 트랜잭션 방식으로 수행된다. 요청기(302)는 맵 변경 인터페이스(206) 명세를 따르는 요청들을 송출(issue)한다. 각각의 요청에 대해, 요청기(302)는 유효한 요청 메시지를 형성하기 위해 프로세스 메타데이터 저장소(306)를 판독한다. 성공적인 요청들은 중복하는 요청들을 회피하기 위해 프로세스 메타데이터 저장소(306)에 기록된다. 성공적이지 않은 요청들이 로그 되고, 예상되는 맵 변경들을 리트리브하기 위해 반복된 시도들이 이루어진다.
(여기서 스케줄러(303)로 지칭되는) 요청 스케줄러(303)는 맵 변경들을 요청하기 위한 스케줄들을 생성하고 유지하기 위해 사용된다. 스케줄러(303)는 프로세스 메타데이터 저장소(306)에 스케줄 데이터를 저장한다. 맵 변경들을 위한 요청을 송출할 때에, 스케줄러(303)는 요청기(302)를 시그널링한다. 상이한 업데이트 스케줄들이 각각의 맵 데이터 제공자에 대해 정의될 수 있다. 추가적으로, 상이한 업데이트 스케줄들이 단일 맵 제공자 내의 개별적인 맵 버전들에 대해 특정될 수 있다. 예를 들어, 맵 제공자는 Q1 2008 맵 버전에 대한 맵 변경들이 매주 일요일 2:00:00.000 CST에 리트리브된다고 특정할 수 있다.
맵 변경 스케줄러들을 설정하고 맵 변경 요청들을 매뉴얼로 시작하고 정지하기 위해, 사용자 인터페이스(304)가 시스템 운용자들 및 다른 인증된 사용자들에 의해 사용된다. 사용자 인터페이스(304)는 또한 위치 코드 변경 시스템(300) 내의 모든 실행하는 프로세스들을 모니터링하기 위해 사용될 수 있다.
(여기서 프로세서(305)로 지칭되는) 맵 변경 프로세서(305)는 수신기(301) 및 요청기(302)에 의해 전달되는 맵 변경 데이터를 변환한다. 프로세서(305)는 맵 변경 큐(307)로 인입하는 데이터를 푸쉬한다. 프로세서(305)는 프로세스 메타데이터 저장소(306)를 업데이트하고, 필요하면 중복된 정보를 제거한다. 예를 들어, 만약 동일한 맵 데이터가 여러 번 변경되었다면, 가장 최근의 변경은 모든 필요한 정보를 보유하고 있고, 프로세서(305)는 이전의 변경들을 제거한다. 프로세서(305)는 시스템의 나머지에 의해 이해 가능한 공통 맵 변경 데이터 구조를 생성하기 위해 변경 데이터를 파싱(parse)하고 정규화(normalize)한다.
프로세스 메타데이터 저장소(306)는 중복된 요청들을 회피하고, 업데이트 스케줄들을 유지하며, 그리고 오래된(stale) 데이터를 제거하기 위한 프로세스 데이터를 저장한다. 프로세스 메타데이터 저장소(306)는 물리적 데이터베이스들의 세트로서 구현될 수 있으나, 도 3에서 간략함을 위해 단일 논리적 데이터베이스로 도시된다.
맵 변경 큐(307)는 변경 메시지들이 위치 코드 업데이터(310)에 의해 프로세싱되기 전에, 변경 메시지들을 저장하는 데이터 구조이다. 맵 변경 큐(307)는 변경 정보를 보존하는 공통 포맷으로 메시지들을 홀드 하나, 상이한 맵 제공자들 및 맵 버전들 사이의 메시지 구조에서 변경들을 추출한다. 일 예에서, 맵 변경 큐(307)는 FIFO(선-입-선-출) 원리를 따른다. 맵 변경 큐(307)는 위치 코드 업데이터(310)로 변경 메시지들을 제공하기 위한 다른 룰들을 사용할 수 있다.
큐 청취기(308)는 맵 변경 큐(307)로부터 메시지들을 판독한다. 하나의 큐 청취기(308)가 도 3에서 도시되더라도, 위치 코드 변경 시스템(300)에는 하나 보다 많은 큐 청취기가 존재할 수 있다. 예를 들어, 맵 변경 메시지의 각각의 타입에 대한 큐 청취기(308)가 존재할 수 있다. 유연한 구성 옵션들은 특정 맵 벤더 및/또는 맵 버전에 대해 추가적인 청취기들을 생성하는 것을 허용한다.
큐 필터(309)는 위치 코드 데이터에 적용 가능하지 않은 맵 변경들을 제거한다. 큐 필터(309)는 적용가능한 맵 변경 타입들의 리스트를 획득하기 위해 프로세스 메타데이터 저장소(306)에 대해 체크한다. 그 결과, 위치 코드 변경 시스템(300)은 맵 변경 타입들 중 특정 타입들을 무시하도록 동적으로 재구성될 수 있으며, 그들을 알게 될 수 있다. 무시되는 맵 변경 메시지들은 로그될 수 있거나 프로세스 메타데이터 저장소(306)에 저장되는 구성에 기반하여 맵 변경 큐(307)로 다시 리턴될 수 있다.
위치 코드 업데이터(310)는 맵 변경 데이터를 프로세싱하고, 영향받은 위치 코드들을 탐색하며, 그리고 직접적으로 위치 코드 데이터(지리적 또는 맵 기준들)를 조정함으로써 또는 순방향 또는 역방향 지오코딩 동작을 수행함으로써, 위치 코드의 정보를 업데이트한다. 지오코더(311)는 순방향 및 역방향 지오코딩 동작들을 수행하기 위해 사용된다. 각각의 지오코딩 요청은 맵 벤더 및 맵 버전 정보를 이용하여 수행되며, 그 결과 지오코더(311)는 지오코더 데이터 저장소(312)에서 적용가능한 지오코딩 데이터를 탐색할 수 있다. 지오코더(311)는 위치 코드들의 지리적 그리고 맵 기준들 데이터를 업데이트하기 위해 위치 코드 업데이터(310)에 의해 사용된다.
지오코더 데이터 저장소(312)는 지오코딩 데이터를 저장하기 위해 사용된다. 지오코더 데이터 저장소(312)는 맵 변경들과 동기화되어, 그 결과 지오코더(311)가 업데이트된 지리적 그리고 맵 기준들을 리턴할 수 있다. 각각의 맵 벤더 및 맵 버전은 개별적인 논리적 데이터베이스를 가질 수 있다.
위치 코드 변경 수신기(313)는 위치 코드 시스템(108)으로부터 위치 코드 데이터 업데이트들을 수신한다. 위치 코드 변경 수신기(313)는 특정 변경에 관련되지 않은 데이터를 제거하고, 다른 시스템들에 의해 수락가능한 공통의 포맷으로 데이터를 포맷한다. (여기서 통지기(314)로 지칭되는) 위치 코드 변경 통지기(314)는 위치 코드 변경 수신기(313)로부터 위치 코드 업데이트 정보를 수신한다. 통지기(314)는 특정 위치 코드 업데이트들에 대해 통지들을 수신하는데 관심이 있는 시스템들의 목록을 유지한다. 이들 시스템들 중 하나는 맵 변경 시스템(104)일 수 있다.
도 4는 위치 코드 리프레시 프로세스(400)의 플로우 차트이다. 블록(401)에서, 맵 변경 수신기(301)는 맵 변경 시스템(200)으로부터 맵 변경을 수신한다. 또한, 맵 변경 수신기(301)는 위치 코드 변경 시스템(300)에의 인증되지 않은 액세스를 방지하기 위해 메시지 인증 및 인가 절차들을 수행한다. 인증 절차는 특정 맵 벤더 및 맵 버전에 대해 취해질 필요가 있는 임의의 커스텀(custom) 행동들을 결정한다. 예를 들어, 특정 맵 벤더는 보통 또는 낮은 우선순위를 가지는 업데이트들 보다 빠르게 프로세싱될 필요가 있는 더 높은 우선순위 업데이트들을 전송하고 있을 수 있다.
블록(402)에서, 맵 변경 프로세서(305)는 맵 벤더 및 맵 버전 룰들에 따라 맵 변경 데이터를 파싱하고 정규화한다. 맵 변경 프로세서(305)는 또한 수신된 맵 변경이 위치 코드 리프레시 프로세스(400)에 관한 것인지 여부에 대한 결정을 블록(403)에서 하기 위해 프로세스 메타데이터 저장소(306)에 대해 체크한다. 만약 수신된 맵 변경이 인식되나, 위치 코드 데이터와 관련이 없는 경우, 수신된 맵 변경은 그냥 무시된다. 만약 수신된 맵 변경이 인식되지 않으면, 이 이벤트는 블록(404)에서 로그 지원되지 않는 이벤트 행동을 통해 로그된다.
만약 수신된 맵 변경이 위치 코드 리프레시 프로세스(400)에 관한 것이면, 블록(405)에서 맵 변경 프로세서(305)는 정규화된 맵 변경 데이터를 맵 변경 큐(307)에 배치한다. 각각의 맵 벤더, 맵 버전, 및/또는 맵 변경 타입은 더 쉬운 시스템 스케일링(scaling) 및 프로세스 우선순위에 대한 개별적인 메시지 큐를 가질 수 있다. 예를 들어, 만약 가장 최근의 맵 버전에 관한 변경들이 가장 높은 중요도로 프로세싱될 필요가 있으면, 프로세스 메타데이터 저장소(306)가 맵 변경 프로세서(305)에 개별 큐를 사용하도록 지시할 수 있다. 이러한 결정들은 임의의 시스템 컴포넌트들을 재배치하거나 재시작하지 않고 런타임에서 이루어질 수 있다.
맵 변경 데이터를 맵 변경 큐(307)에 성공적으로 배치하면, 블록(406)에서 맵 변경 프로세서(305)는 프로세스 메타데이터 저장소(306)에 이벤트 데이터를 기록한다. 프로세스 메타데이터를 업데이트하는 것은, 맵 변경 시스템(200)이 동일한 정보를 다시 전송하는 경우에, 반복되는 동일한 맵 변경의 프로세싱을 회피하도록 한다.
도 4에서 점선은, 블록(401 내지 406)이 매 새로운 맵 변경이 수신될 때 반복됨을 표시한다. 이러한 행동들이 데이터의 많은 양을 프로세싱하는 데에 수반될 수 있기 때문에, 오직 작은 서브세트가 위치 코드 업데이트들을 위해 사용되는, 위치 코드 리프레시 프로세스(400)는 개별적인 하드웨어에 호스팅 될 수 있다.
블록(407)에서, 큐 청취기(308)는 데이터 페치(fetch)에 대한 룰에 의존하여, 맵 변경 큐(307)로부터 하나 이상의 맵 변경들을 리트리브한다. 만약 위치 코드 리프레시 프로세스(400)가 성공적으로 완료되지 않으면, 맵 변경 메시지는 맵 변경 큐(307)에 다시 배치된다.
블록(408)에서, 위치 코드 업데이터(310)는 어떤 위치 코드들이 업데이트될 필요가 있는지를 결정하기 위해 맵 변경 데이터를 분석한다. 이러한 행동 동안, 맵 벤더, 맵 버전, 및 맵 변경 타입이 어떻게 영향받은 위치 코드들이 수집되는지를 결정하기 위해 시험된다. 예를 들어, 만약 Q1 2008 맵 버전에서 정의된 포인트 주소에 대한 라우팅 포인트가 조정들의 일 세트로부터 다른 세트로 이동했다는 맵 변경 이벤트를 맵 벤더 A가 전송하면, 이 포인트 주소와 연관된 위치 코드가 리트리브된다.
블록(409)에서, 위치 코드 업데이터(310)는 위치 코드들을 리프레싱하는 프로세스(400)를 계속할지 여부를 결정한다. 만약 맵 변경이 적어도 하나의 위치 코드에 영향을 미치면 위치 코드 업데이터(310)는 계속된다. 만약 위치 코드들이 영향을 받지 않으면, 블록(416)에서 위치 코드 업데이터(310)는 프로세스 메타데이터 저장소(306)를 업데이트하고, 맵 변경 큐(307)로부터 맵 변경 메시지를 영구적으로 제거한다. 만약 적어도 하나의 위치 코드가 영향을 받으면, 위치 코드 업데이터(310)는 지오코더(311)를 사용하여 순방향 또는 역방향 지오코딩 동작을 수행하거나, 또는 직접 조정을 수행한다.
블록(410)에서, 만약 영향받은 위치 코드들이 주소 정보를 보유하고, 위치 코드들의 맵 기준들이 맵 변경 데이터에 기반하여 업데이트될 수 없으면, 위치 코드 업데이터(310)는 순방향 지오코딩 동작을 수행한다. 순방향 지오코딩 동작은 맵 벤더 및/또는 맵 버전에 특정한 지오코딩 데이터를 사용한다.
블록(411)에서, 만약 영향받은 위치 코드들이 주소 정보를 보유하지 않고, 위치 코드들의 맵 기준들이 맵 변경 데이터에 기반하여 업데이트될 수 없으면, 위치 코드 업데이터(310)는 역방향 지오코딩 동작을 수행한다. 역방향 지오코딩 동작은 맵 벤더 및/또는 맵 버전에 특정한 지오코딩 데이터를 사용한다.
블록(412)에서, 위치 코드 업데이터(310)는 임의의 지오코딩 동작들을 사용하지 않고 어떻게 위치 코드들을 업데이트할지를 결정한다. 만약 맵 변경 데이터가 어떻게 위치 코드들이 리프레시되어야 하는지를 결론짓기 위해 충분한 상세함들을 제공하면, 위치 코드 업데이터(310)는 위치 코드 데이터 변경을 결정한다. 예를 들어, 만약 맵 변경이 도로 링크가 삭제되었고 다른 도로 링크로 대체되었다고 특정하면, 위치 코드 업데이터(310)는 새롭게 추가된 링크로 삭제된 링크를 참조하고 있었던 모든 위치 코드들을 재첨부(reattach)할 수 있다. 다른 예는 도로 이름 변경이다. 만약 하나의 도로가 자신의 이름을 철자 오류로 변경했다면, 맵 변경 데이터는 옛날 그리고 새로운 도로 이름을 보유할 수 있다. 지오코더(311) 호출 없이, 옛날 도로 이름을 참조하고 있는 모든 위치 코드들은 그들의 지리적 기준들을 새로운 정보로 변경할 수 있다.
블록(413)에서, 위치 코드 업데이터(310)는 지리적 그리고 맵 기준들을 생성하거나 업데이트한다. 맵 기준들은 각각의 맵 벤더 및 맵 버전에 대한 고유의 정보를 보유할 수 있다. 만약 맵 변경이 영향받은 위치 코드의 맵 기준들 섹션에 존재하지 않는 맵 버전 또는 맵 벤더에 관한 정보를 반송하면, 새로운 맵 기준이 생성된다. 예를 들어, 맵 벤더 A는 그들의 맵의 새로운 버전을 방금 릴리즈 했다. 새로운 맵 버전에서, 새로운 포인트 주소가 추가되었다. 이러한 포인트 주소는 이전에 정의된 주소보다 더 높은 위치 정확도를 제공한다. 이 주소로 포인팅하는 위치 코드의 맵 기준들이 포인트 주소 데이터를 추가함으로써 업데이트된다.
블록(416)에서, 위치 코드 업데이터(310)는 프로세스 메타데이터 저장소(306)를 업데이트하고, 맵 변경 큐(307)로부터 맵 변경 메시지를 영구적으로 제거한다.
블록(414)에서, 맵 변경 프로세서(305)는 맵 기준들 섹션에 있는 맵 버전들의 수가 한계를 초과하는지 여부를 결정한다. 위치 코드들은 맵 버전들의 제한되지 않은 수에 대한 맵 기준들을 저장할 수 있다. 그러나 지나간 맵 데이터를 전송하는 오버헤드를 제거하기 위해, 얼마나 많은 맵 버전들이 지원되는지에 대한 제한이 존재할 수 있다. 제한은 하나의 맵 벤더에서 다른 벤더에 따라 변할 수 있다. 예를 들어, 맵 벤더 A에 대해, 각각의 위치 코드는 여덟 개까지의 맵 버전들 대한 맵 기준들을 홀드 할 수 있다. 벤더 B에 대해, 각각의 위치 코드는 네 개까지의 맵 버전들에 대한 맵 기준들을 홀드 할 수 있다. 블록(415)에서, 만약 영향을 받은 위치 코드에 저장된 맵 버전들의 수가 제한을 초과하면, 맵 기준들이 가장 오래된 맵 버전으로부터 위의 맵 버전으로 시프트된다. 맵 버전 시프트의 일 예가 도 6에서 도시된다.
도 5는 위치 코드 리프레시 프로세스(400) 동안 업데이트될 수 있는 위치 코드 엔티티(500)의 블록 다이어그램이다. 위치 코드 엔티티(500)는 지리적 기준들 섹션(501) 및 맵 기준들 섹션(502)을 포함한다. 지리적 기준들 섹션(501)은 다른 정보뿐만 아니라 주소들, 위치 이름들, 지리적 포인트 정보(예를 들어, 위도, 경도, 및 고도)를 포함한다. 맵 기준들 섹션(502)은 하나 이상의 맵 벤더들(503)에 대한 맵 정보를 포함한다. 각각의 맵 벤더(503)에 대해, 하나 이상의 맵 버전들(504)과 연관된 데이터가 존재할 수 있다.
도 6은 맵 기준들 섹션(502)에 있는 맵 기준 엔티티가 맵 베이스라인 시프트(603) 동안 겪을 수 있는 변경들을 도시하는 개요도이다. 맵 베이스라인 시프트(603)가 시작하기 전에, 맵 기준들(604, 605, 606)이 이전 상태(601)에 있다. 이 예에서, 이전 상태(601)에서 가장 오래된 맵 버전은 Q4 2007이다. Q4 2007 맵 버전에 대해, 이러한 위치 코드에 의해 사용되는 제 1 맵 기준(604) 및 제 2 맵 기준(605)인 두 개의 맵 기준들이 존재한다.
Q4 2007 맵 기준들은 Q1 2008 맵 버전 데이터로 시프트될 필요가 있는 베이스라인(608)을 형성한다. 제 1 맵 기준(604)에 대한 Q1 2008 데이터가 존재하지 않기 때문에, 제 1 맵 기준(604)은 단순히 Q1 2008 데이터로 이동한다. 그러나 제 2 맵 기준(605)에 대해, Q1 2008에서 업데이트된 정보가 존재한다: 업데이트된 제 2 맵 기준(606). 제 2 맵 기준(605)은 삭제되고, 업데이트된 제 2 맵 기준(606)이 베이스라인(608)에서 사용되기 위해 남아있다.
맵 베이스라인 시프트(603) 이후에, Q4 2007 맵 버전은 맵 기준 섹션(502)으로부터 이동되고, Q1 2008 맵 버전은 새로운 베이스라인(609)으로 설정된다. Q1 2008 맵 버전은 제 1 맵 기준(604) 및 업데이트된 제 2 맵 기준(606)을 포함한다. Q2 2008 데이터는 이전에 맵 기준들 섹션(502)에 포함되지 않았던 제 3 맵 기준(607)을 포함한다. 다음 베이스라인 시프트에서, 제 3 맵 기준(607)이 다음 베이스라인 버전에 추가된다.
맵 시스템(102), 맵 변경 시스템(104), 위치 코드 변경 시스템(106), 및 위치 코드 시스템(108) 사이의 통신의 결과로, 위치 코드 데이터는 종종 업데이트된다. 이롭게, 위치 코드 데이터의 사용자들은 그들의 사용들을 위한 현재의 위치 코드 데이터를 획득한다. 위치 코드 변경들에 의해 영향을 받을 때, 맵 데이터는 또한 업데이트되고, 이는 다양한 지리적 데이터 베이스를 유지하기 위한 노력을 감소시킨다.
앞선 상세한 설명은 제한하는 것이 아닌 예시적인 것으로 의도되고, 모든 등가물들을 포함하는 다음의 청구항들이 본 발명의 범위를 정의하도록 의도됨을 이해해야 한다. 청구항들은 그들의 효과가 언급되지 않으면, 설명된 순서 또는 구성 요소들로 제한되어 이해되어서는 안된다. 따라서, 다음의 청구항들의 범위 및 사상 내의 모든 실시예들 및 그들의 등가물들이 본 발명으로서 주장된다.

Claims (15)

  1. 위치 코드 데이터를 리프레시(refresh)하는 방법으로서,
    적어도 하나의 맵 데이터베이스에 대한 맵 변경 데이터를 포함하는 메시지를 수신하는 단계 ― 상기 메시지는 상기 적어도 하나의 맵 데이터베이스와 연관된 제 1 맵 벤더(a first map vendor) 및 맵 버전을 식별함 ― 와,
    상기 맵 변경 데이터가 위치 코드 시스템에 저장된 위치 코드에 영향을 미치는지 여부를 판정하는 단계 ― 상기 위치 코드 시스템은 상기 제 1 맵 벤더 및 적어도 하나의 제 2 맵 벤더와 호환가능함 ― 와,
    상기 위치 코드 시스템을 통해, 상기 맵 변경 데이터에 기반하여 영향을 받은 상기 위치 코드와 연관된 데이터를 업데이트하는 단계와,
    상기 위치 코드 시스템에 업데이트된 위치 코드 데이터를 저장하는 단계를 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  2. 제1항에 있어서,
    상기 제 1 맵 벤더와 상기 맵 버전 중 적어도 하나에 대한 명세(specifications)를 식별하기 위해 상기 메시지를 인증하는 단계를 더 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  3. 제1항에 있어서,
    상기 제 1 맵 벤더와 상기 맵 버전 중 적어도 하나에 대해 특정된 룰(rule)들에 기반하여 상기 맵 변경 데이터를 변환(transform)하는 단계를 더 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  4. 제1항에 있어서,
    상기 맵 변경 데이터가 위치 코드에 영향을 미치는지 여부를 판정하는 단계는, 상기 제 1 맵 벤더, 상기 맵 버전, 및 맵 변경 타입을 검사(examine)하는 단계를 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  5. 제1항에 있어서,
    상기 영향을 받은 상기 위치 코드와 연관된 데이터를 업데이트하는 단계는, 영향을 받은 상기 위치 코드가 주소 정보를 포함할 경우, 순방향 지오코딩(geocoding) 동작을 수행하는 단계를 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  6. 제1항에 있어서,
    상기 영향을 받은 상기 위치 코드와 연관된 데이터를 업데이트하는 단계는, 영향을 받은 상기 위치 코드가 주소 정보를 포함하지 않을 경우, 역방향 지오코딩 동작을 수행하는 단계를 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  7. 제1항에 있어서,
    상기 영향을 받은 상기 위치 코드와 연관된 데이터를 업데이트하는 단계는, 상기 위치 코드 데이터를 조정(manipulate)하기 위해 상기 맵 변경 데이터를 사용하는 단계를 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  8. 제1항에 있어서,
    상기 위치 코드 데이터가 사전결정된 양을 초과하는 복수의 맵 버전들에 대한 데이터를 포함할 경우, 맵 베이스라인 시프트(map baseline shift)를 수행하는 단계를 더 포함하되,
    상기 맵 베이스라인 시프트는 가장 오래된 날짜와 연관된 맵 버전에 대한 상기 위치 코드 데이터를 삭제하는 것을 포함하는
    위치 코드 데이터를 리프레시하는 방법.
  9. 위치 코드 시스템에 저장된 위치 코드 데이터를 리프레시하기 위해 사용되는 위치 코드 변경 시스템으로서,
    맵 변경 데이터를 포함하는 메시지들을 수신하도록 동작가능한 맵 변경 수신기 ― 상기 맵 변경 데이터는 상기 맵 변경 데이터와 연관된 제 1 맵 벤더 및 맵 버전을 식별함 ― 와,
    상기 맵 변경 수신기에 의해 획득된 상기 맵 변경 데이터를 상기 제 1 맵 벤더 및 적어도 하나의 제 2 맵 벤더와 호환가능한 공통(common) 포맷으로 변환하도록 동작가능한 맵 변경 프로세서와,
    상기 공통 포맷을 사용하여 상기 맵 변경 데이터에 의해 영향을 받은 위치 코드들을 식별하고, 위치 코드 시스템을 통해, 상기 영향을 받은 위치 코드들을 업데이트하도록 동작가능한 위치 코드 업데이터를 포함하되,
    상기 위치 코드 업데이터는 업데이트된 위치 코드 데이터를 포함하는 메시지를 상기 위치 코드 시스템으로 전송하는
    위치 코드 변경 시스템.
  10. 제9항에 있어서,
    상기 맵 변경 데이터를 요청하도록 동작가능한 맵 변경 요청기를 더 포함하는
    위치 코드 변경 시스템.
  11. 제10항에 있어서,
    상기 맵 변경 데이터를 요청하기 위해 상기 맵 변경 요청기에 시그널링하도록 동작가능한 맵 변경 스케줄러를 더 포함하는
    위치 코드 변경 시스템.
  12. 제9항에 있어서,
    상기 위치 코드 업데이터가 상기 영향을 받은 위치 코드들을 식별하기 이전에 상기 변환된 맵 변경 데이터를 저장하는 맵 변경 큐(queue)를 더 포함하는
    위치 코드 변경 시스템.
  13. 제9항에 있어서,
    상기 위치 코드 업데이터에 대한 지오코딩 동작들을 수행하도록 동작가능한 지오코더(geocoder)를 더 포함하는
    위치 코드 변경 시스템.
  14. 제13항에 있어서,
    상기 지오코더에 의해 사용되는 지오코딩 데이터를 저장하는 지오코더 데이터 저장소를 더 포함하는
    위치 코드 변경 시스템.
  15. 제9항에 있어서,
    상기 위치 코드 시스템으로부터 위치 코드 변경 데이터를 포함하는 메시지들을 수신하는 위치 코드 변경 수신기를 더 포함하는
    위치 코드 변경 시스템.
KR1020100007959A 2009-01-30 2010-01-28 위치 코드 데이터를 리프레시하기 위한 방법 및 시스템 KR101653412B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/362,767 2009-01-30
US12/362,767 US8775074B2 (en) 2009-01-30 2009-01-30 Method and system for refreshing location code data

Publications (2)

Publication Number Publication Date
KR20100088551A KR20100088551A (ko) 2010-08-09
KR101653412B1 true KR101653412B1 (ko) 2016-09-01

Family

ID=42277332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100007959A KR101653412B1 (ko) 2009-01-30 2010-01-28 위치 코드 데이터를 리프레시하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US8775074B2 (ko)
EP (1) EP2221738A1 (ko)
JP (2) JP5986349B2 (ko)
KR (1) KR101653412B1 (ko)
CN (1) CN101865695B (ko)
AU (1) AU2010200156B2 (ko)
BR (1) BRPI1000139B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101631497B1 (ko) * 2009-11-13 2016-06-27 삼성전자주식회사 디스플레이 장치, 사용자 단말 장치 및 그 방법들
US9197713B2 (en) * 2011-12-09 2015-11-24 Google Inc. Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
WO2013163646A2 (en) * 2012-04-27 2013-10-31 Telecommunication Systems, Inc. Geographic information system (gis) with linked gis objects and gis operation
EP2863180A1 (en) * 2013-10-21 2015-04-22 Realtimetech Co., Ltd. Apparatus and method for partially updating a navigation data while driving
KR101519020B1 (ko) * 2013-10-21 2015-05-12 주식회사 리얼타임테크 주행 중 내비게이션 데이터의 부분 업데이트 장치 및 방법
US9689702B2 (en) * 2015-01-30 2017-06-27 Telenav, Inc. Navigation system with map mechanism and method of operation thereof
CN104796859B (zh) * 2015-04-14 2019-03-15 Oppo广东移动通信有限公司 一种地理编码器的切换方法和装置
US10028121B2 (en) 2016-04-07 2018-07-17 T-Mobile Usa, Inc. Determining device locations for emergency service calls
CN106274688B (zh) * 2016-08-15 2019-05-07 深圳市车生活科技有限公司 一种汽车导航及汽车信息显示系统以及实现方法
US11536576B2 (en) * 2017-02-23 2022-12-27 Here Global B.V. Map data compatibility processing architecture
US10860550B1 (en) * 2017-03-30 2020-12-08 Amazon Technologies, Inc. Versioning schemas for hierarchical data structures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075967A (ja) * 1999-08-31 2001-03-23 Denso Corp 地図データの更新用情報作成方法及び地図データの差分更新システム
JP2004020220A (ja) * 2002-06-12 2004-01-22 Pioneer Electronic Corp 通信システム及び方法、通信端末装置、通信センタ装置、並びにコンピュータプログラム

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202023B1 (en) 1996-08-22 2001-03-13 Go2 Systems, Inc. Internet based geographic location referencing system and method
JPH10229577A (ja) 1997-02-13 1998-08-25 Nippon Telegr & Teleph Corp <Ntt> エリア管理システム
WO1999022356A1 (fr) 1997-10-27 1999-05-06 Matsushita Electric Industrial Co., Ltd. Dispositif d'affichage de carte tridimensionnelle et dispositif servant a generer des donnees pour le dispositif d'affichage
JPH11224047A (ja) 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 地図情報提供方法及びそれに用いられる端末装置
JP2000222214A (ja) 1999-02-01 2000-08-11 Hitachi Ltd 地理情報表示制御装置
JP4477615B2 (ja) 1999-07-29 2010-06-09 株式会社エヌ・ティ・ティ・ドコモ 位置関連データ送信方法、データ中継装置および記録媒体
JP2001134595A (ja) 1999-11-08 2001-05-18 Mega Chips Corp 地理情報システム
JP2001243595A (ja) 2000-03-01 2001-09-07 Alpine Electronics Inc 電子地図配信システム
AUPQ599700A0 (en) 2000-03-03 2000-03-23 Super Internet Site System Pty Ltd On-line geographical directory
AU2001250891A1 (en) 2000-03-21 2001-10-03 Greg A. Piccionelli System and process for distribution of information on a communication network
JP2001280992A (ja) 2000-03-29 2001-10-10 Hitachi Ltd 地理情報出力システム
US6487495B1 (en) * 2000-06-02 2002-11-26 Navigation Technologies Corporation Navigation applications using related location-referenced keywords
US7894986B2 (en) 2000-06-02 2011-02-22 Navteq North America, Llc Method and system for forming a keyword database for referencing physical locations
US20080005275A1 (en) 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US20010051973A1 (en) 2000-06-08 2001-12-13 Poi Systems, Inc. System, method and computer program product for a locator service
JP4132601B2 (ja) 2000-07-14 2008-08-13 富士通株式会社 着信呼制御装置及び方法
JP2002041554A (ja) 2000-07-26 2002-02-08 Denso Corp 施設に関する施設情報の通信方法、通信システム、サーバおよび移動端末
US7487114B2 (en) * 2000-10-23 2009-02-03 Costar Group, Inc. System and method for associating aerial images, map features, and information
US7805442B1 (en) 2000-12-05 2010-09-28 Navteq North America, Llc Method and system for representation of geographical features in a computer-based system
US20080214300A1 (en) 2000-12-07 2008-09-04 Igt Methods for electronic data security and program authentication
JP4119088B2 (ja) * 2000-12-28 2008-07-16 パイオニア株式会社 ナビゲーション情報更新システム及びナビゲーション情報配信装置
JP2002333830A (ja) 2001-05-07 2002-11-22 Zenrin Co Ltd 電子地図の3次元表示
US6912545B1 (en) 2001-06-12 2005-06-28 Sprint Spectrum L.P. Location-code system for location-based services
US7680595B2 (en) 2006-06-20 2010-03-16 Zonar Systems, Inc. Method and apparatus to utilize GPS data to replace route planning software
US7564375B2 (en) 2001-09-11 2009-07-21 Zonar Systems, Inc. System and method to associate geographical position data collected from a vehicle with a specific route
US20030135304A1 (en) * 2002-01-11 2003-07-17 Brian Sroub System and method for managing transportation assets
JP2002318532A (ja) * 2002-01-29 2002-10-31 Matsushita Electric Ind Co Ltd 地図編集表示装置
US20030158668A1 (en) 2002-02-15 2003-08-21 Anderson James J. System and method of geospatially mapping topological regions and displaying their attributes
DE10209173C1 (de) 2002-03-01 2003-04-24 Daimler Chrysler Ag Verfahren zum Aktualisieren von Kartendaten und Navigationssystem
US7221287B2 (en) 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
US6989765B2 (en) 2002-03-05 2006-01-24 Triangle Software Llc Personalized traveler information dissemination system
WO2004008073A1 (ja) * 2002-07-17 2004-01-22 Xanavi Informatics Corporation ナビゲーション方法、ナビゲーションシステムのための処理方法、地図データ管理装置、地図データ管理プログラム、及びコンピュータプログラム
JP4092976B2 (ja) 2002-08-05 2008-05-28 ソニー株式会社 ガイドシステム、コンテンツサーバ、及び情報処理プログラム
CN100407782C (zh) 2002-09-27 2008-07-30 富士胶片株式会社 相册制作方法及其装置
JP3722108B2 (ja) 2002-11-01 2005-11-30 株式会社デンソー カーナビゲーション装置
JP4271931B2 (ja) 2002-12-06 2009-06-03 アルパイン株式会社 ナビゲーション装置及び電子地図更新方法
US20040122846A1 (en) 2002-12-19 2004-06-24 Ibm Corporation Fact verification system
US7649838B2 (en) 2003-03-31 2010-01-19 Adknowledge, Inc. System and method for ranking the quality of internet traffic directed from one web site to another
US9607092B2 (en) 2003-05-20 2017-03-28 Excalibur Ip, Llc Mapping method and system
JP2005025291A (ja) 2003-06-30 2005-01-27 Tokyo Gas Co Ltd 地理情報処理サービスシステム、地理情報処理サービス方法、及びプログラム
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
US7577655B2 (en) 2003-09-16 2009-08-18 Google Inc. Systems and methods for improving the ranking of news articles
US20050096849A1 (en) 2003-11-04 2005-05-05 Sorrells Robert J. System and method for managing geospatially-enhanced agronomic data
US8676837B2 (en) 2003-12-31 2014-03-18 Google Inc. Systems and methods for personalizing aggregated news content
JP2005291872A (ja) 2004-03-31 2005-10-20 Clarion Co Ltd 地図データ処理装置、方法及びプログラム、並びにそれらを備えたナビゲーション装置、方法及びプログラム
US20080133124A1 (en) 2004-07-17 2008-06-05 Shahriar Sarkeshik Location Codes for Destination Routing
US7480570B2 (en) 2004-10-18 2009-01-20 Ford Global Technologies Llc Feature target selection for countermeasure performance within a vehicle
US10043008B2 (en) 2004-10-29 2018-08-07 Microsoft Technology Licensing, Llc Efficient white listing of user-modifiable files
KR100754168B1 (ko) 2004-11-12 2007-09-03 삼성전자주식회사 지도 데이터 업데이트 방법 및 장치와, 그 방법을수행하기 위한 프로그램이 저장된 기록 매체
US20060149800A1 (en) 2004-12-30 2006-07-06 Daniel Egnor Authoritative document identification
DE102005015693A1 (de) 2005-04-05 2006-10-12 T-Mobile International Ag & Co. Kg Verfahren und Vorrichtung zur automatisierten Fahrstreckeneinbuchung
IL169934A (en) 2005-07-27 2013-02-28 Rafael Advanced Defense Sys Real-time geographic information system and method
US7421429B2 (en) 2005-08-04 2008-09-02 Microsoft Corporation Generate blog context ranking using track-back weight, context weight and, cumulative comment weight
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US20070260628A1 (en) 2006-05-02 2007-11-08 Tele Atlas North America, Inc. System and method for providing a virtual database environment and generating digital map information
US7532979B2 (en) 2005-11-10 2009-05-12 Tele Atlas North America, Inc. Method and system for creating universal location referencing objects
US20070150516A1 (en) 2005-11-23 2007-06-28 Morgan Edward J Location toolbar for internet search and communication
JP4812415B2 (ja) 2005-11-30 2011-11-09 富士通株式会社 地図情報更新システム、中央装置、地図情報更新方法、及びコンピュータプログラム
US8050689B2 (en) 2005-12-13 2011-11-01 Yahoo! Inc. System and method for creating minimum bounding rectangles for use in a geo-coding system
NL1030943C2 (nl) 2006-01-18 2007-07-19 Tomtom Int Bv Werkwijze voor het opslaan van de positie van een geparkeerd voertuig en navigatieapparaat dat daarvoor is ingericht.
JP5269292B2 (ja) 2006-01-19 2013-08-21 三菱電機株式会社 地理情報統合システム
US7415448B2 (en) 2006-03-20 2008-08-19 Microsoft Corporation Adaptive engine for processing geographic data
WO2007131132A2 (en) 2006-05-03 2007-11-15 Voxant, Inc. System and method for collecting and distributing content
US7920965B1 (en) 2006-05-05 2011-04-05 Mapquest, Inc. Identifying a route configured to travel through multiple points of interest
EP2035995B1 (en) 2006-06-22 2018-09-26 Nokia Technologies Oy Enforcing geographic constraints in content distribution
WO2008010699A1 (en) 2006-07-21 2008-01-24 Tele Atlas B.V. Method for generating a location reference and method for mapping information to a position within a digital map database
CN101154222A (zh) 2006-09-27 2008-04-02 中国移动通信集团公司 一种在线更新地图的系统和方法
JP5308621B2 (ja) * 2006-10-05 2013-10-09 日立オートモティブシステムズ株式会社 地図データ配信システム
JP4156003B2 (ja) 2006-10-12 2008-09-24 株式会社ゼンリン 地図情報管理システム及び地図情報配信システム
JP2008224251A (ja) * 2007-03-08 2008-09-25 Ntt Docomo Inc 地図データ配信システム及び地図データ配信方法
US20080256056A1 (en) 2007-04-10 2008-10-16 Yahoo! Inc. System for building a data structure representing a network of users and advertisers
US8725597B2 (en) 2007-04-25 2014-05-13 Google Inc. Merchant scoring system and transactional database
US7984052B2 (en) 2007-06-12 2011-07-19 Raytheon Company System and method for integration of data records having differing data types to a geographical information system
JP2009003838A (ja) 2007-06-25 2009-01-08 Foundation Of River & Basin Integrated Communications Japan 非定型情報表示システム
US10762080B2 (en) 2007-08-14 2020-09-01 John Nicholas and Kristin Gross Trust Temporal document sorter and method
US8224794B2 (en) 2007-09-10 2012-07-17 Rappaport Theodore S Clearinghouse system, method, and process for inventorying and acquiring infrastructure, monitoring and controlling network performance for enhancement, and providing localized content in communication networks
US8738422B2 (en) 2007-09-28 2014-05-27 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US8155877B2 (en) 2007-11-29 2012-04-10 Microsoft Corporation Location-to-landmark
US20090216438A1 (en) 2008-02-21 2009-08-27 Microsoft Corporation Facility map framework
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US8447643B2 (en) 2008-06-02 2013-05-21 Melvin L. Barnes, Jr. System and method for collecting and distributing reviews and ratings
US7940171B2 (en) 2008-06-10 2011-05-10 Google Inc. Machine-readable representation of geographic information
CN101319911B (zh) 2008-07-02 2012-02-01 深圳市凯立德科技股份有限公司 一种导航系统的客户端、服务端、及进行地图更新的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075967A (ja) * 1999-08-31 2001-03-23 Denso Corp 地図データの更新用情報作成方法及び地図データの差分更新システム
JP2004020220A (ja) * 2002-06-12 2004-01-22 Pioneer Electronic Corp 通信システム及び方法、通信端末装置、通信センタ装置、並びにコンピュータプログラム

Also Published As

Publication number Publication date
JP6434440B2 (ja) 2018-12-05
US20100194605A1 (en) 2010-08-05
EP2221738A1 (en) 2010-08-25
KR20100088551A (ko) 2010-08-09
BRPI1000139B1 (pt) 2020-08-18
CN101865695B (zh) 2017-03-01
JP5986349B2 (ja) 2016-09-06
JP2010191433A (ja) 2010-09-02
AU2010200156A1 (en) 2010-08-19
JP2016153908A (ja) 2016-08-25
CN101865695A (zh) 2010-10-20
BRPI1000139A2 (pt) 2011-03-29
AU2010200156B2 (en) 2016-04-21
US8775074B2 (en) 2014-07-08

Similar Documents

Publication Publication Date Title
KR101653412B1 (ko) 위치 코드 데이터를 리프레시하기 위한 방법 및 시스템
JP4662675B2 (ja) コンテキスト認識型のコンピューティングデバイスおよび方法
JP5162505B2 (ja) 環境対話式のコンテキスト指向デバイス、および、方法
US6750883B1 (en) Identity-based context aware computing systems and methods
US6327535B1 (en) Location beaconing methods and systems
US7096029B1 (en) Context aware computing devices having a common interface and related methods
US7231441B2 (en) Virtual beacon system
US6944679B2 (en) Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US7743074B1 (en) Context aware systems and methods utilizing hierarchical tree structures
US7421486B1 (en) Context translation methods and systems
KR101662842B1 (ko) 상이한 데이터 포맷들로 위치 콘텐츠 데이터를 교환하기 위한 방법 및 시스템
US20020124067A1 (en) Methods and systems for context-aware policy determination and enforcement
JP5756768B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Shabani et al. Consuming Web Services on Android Mobile Platform for Finding Parking Lots
WO2015033617A1 (ja) 情報取得装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20190729

Year of fee payment: 4