KR20190116528A - 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치 - Google Patents

모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20190116528A
KR20190116528A KR1020197028514A KR20197028514A KR20190116528A KR 20190116528 A KR20190116528 A KR 20190116528A KR 1020197028514 A KR1020197028514 A KR 1020197028514A KR 20197028514 A KR20197028514 A KR 20197028514A KR 20190116528 A KR20190116528 A KR 20190116528A
Authority
KR
South Korea
Prior art keywords
data
user
map
place page
page data
Prior art date
Application number
KR1020197028514A
Other languages
English (en)
Other versions
KR102089012B1 (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 KR20190116528A publication Critical patent/KR20190116528A/ko
Application granted granted Critical
Publication of KR102089012B1 publication Critical patent/KR102089012B1/ko

Links

Images

Classifications

    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • H04L67/2847
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/13Prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Abstract

클라이언트 컴퓨팅 디바이스 상의 디스플레이를 위해 원격 매핑 시스템으로부터 장소 페이지 데이터를 사전-인출하기 위한 컴퓨터-구현 방법 및 시스템이 개시된다. 클라이언트 디바이스 상에서 실행되고 있는 애플리케이션, 온라인 또는 로컬 사용자 프로파일, 및 다른 소스를 포함하는 다양한 데이터 소스로부터 수집된 사용자 선호 데이터는 원격 매핑 시스템으로부터의 장소 페이지 데이터에 대한 요청을 발생시키도록 분석될 수 있다. 사용자 선호 데이터는 사용자의 선호되는 지리적 위치 및 사용자의 개인 관심 둘 다의 특성을 갖는 영업 장소, 공원, 또는 역사적 랜드마크와 같은 맵 피처를 나타낼 수 있다. 예를 들어, 사용자가 "보스턴"에 대한 지리적 선호 및 "자가 양조"에 대한 개인 관심을 나타내는 경우, 시스템 및 방법은 보스턴 근처 모든 자가 양조 또는 수제 맥주-관련 맵 피처에 대한 장소 페이지 데이터를 요청할 수 있다.

Description

모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PRE-FETCHING PLACE PAGE DATA FOR SUBSEQUENT DISPLAY ON A MOBILE COMPUTING DEVICE}
본 발명은 일반적으로 장소 페이지 데이터의 소스와의 연결성 없음의 기간 동안 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하는 것에 관한 것이다.
여기서 제공되는 배경 설명은 발명의 맥락을 일반적으로 제시하려는 목적이다. 현재 지명된 발명자의 작업과 더불어, 그것이 이 배경 절에서 설명되는 범위까지, 그렇지 않았다면 출원시 종래 기술로서의 자격이 부여되지 않았을 수 있는 설명의 태양 또한, 명시적으로도 묵시적으로도 본 발명에 반하여 종래 기술로서 인정되는 것은 아니다.
셀룰러 폰, 태블릿 컴퓨터, 노트북 등과 같은 많은 모바일 컴퓨팅 디바이스는 전지구 측위 시스템(GPS) 애플리케이션 및 관련 하드웨어를 편입하고 있다. 디바이스 상에서 작동될 때, GPS 애플리케이션은 디바이스 상의 GPS 송신기 또는 다른 GPS 하드웨어 및 백엔드 애플리케이션 서버와 통신하여 사용자에게 디바이스의 현재 위치 주위 구역의 디지털 맵과 더불어 라벨 데이터 및 장소 페이지 데이터를 제공할 수 있다.
그렇지만, 모바일 컴퓨팅 디바이스가 백엔드 애플리케이션 서버와 제한된 네트워크, 셀룰러, 또는 다른 통신 액세스를 갖는 구역에 있을 때, 그러한 데이터로의 즉각적 실시간 액세스를 제한하거나 그렇지 않으면 불가능하게 하여, 잠재적으로 사용자의 경험에 악영향을 미치는 상황이 있을 수 있다.
이 개요 및 이하의 상세한 설명에서 설명되는 특징 및 이점은 모두를 포함하는 것은 아니다. 많은 부가적 특징 및 이점이 도면, 명세서 및 그 청구범위를 볼 때 당업자에게 명백할 것이다. 부가적으로, 다른 실시예는 이 개요에서 설명되는 특징 및 이점 중 하나 이상(또는 전부)을 생략할 수 있다.
컴퓨터-구현 방법은 클라이언트 컴퓨팅 디바이스 상에서의 후속 디스플레이를 위해 원격 매핑 시스템으로부터 클라이언트 컴퓨팅 디바이스 상에서 실행되고 있는 매핑 애플리케이션에 장소 페이지 데이터를 사전-인출할 수 있다. 그 방법은 사용자 선호 데이터를 결정하기 위해 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터를 분석하는 단계를 포함할 수 있다. 사용자 선호되는 지리적 위치 데이터는 클라이언트 컴퓨팅 디바이스의 사용자에 의해 선호되는 특정 맵 위치를 나타내는 데이터를 포함할 수 있다. 사용자 개인 관심 데이터는 사용자의 개인 관심을 나타내는 데이터를 포함할 수 있다. 그 방법은 또한 원격 매핑 시스템의 장소 페이지 데이터와 사용자 선호 데이터를 매칭시킬 수 있다. 장소 페이지 데이터는 사용자의 개인 관심 및 사용자에 의해 선호되는 특정 맵 위치 둘 다에 대응하는 맵 피처를 설명하는 텍스트, 그래픽, 및 데이터 피드 데이터를 포함할 수 있다. 그 방법은 또한 매칭된 장소 페이지 데이터를 원격 매핑 시스템으로부터 클라이언트 컴퓨팅 디바이스에 보내고 매칭된 장소 페이지 데이터를 클라이언트 컴퓨팅 디바이스의 캐시 메모리에 저장할 수 있다. 저장된 장소 페이지 데이터는 그 후 원격 매핑 시스템과 클라이언트 컴퓨팅 디바이스 간 추가적 통신 없이 클라이언트 컴퓨팅 디바이스의 캐시 메모리로부터 후속 검색될 수 있다.
사용자 선호되는 지리적 위치 데이터는 도시명, 주소, 공항 코드, 또는 전지구 측위 시스템 좌표 중 하나 이상을 포함할 수 있다. 사용자 선호되는 지리적 위치 데이터는 매핑 애플리케이션을 사용하여 플래그된 GPS 위치, 원격 매핑 시스템에 의해 클라이언트 컴퓨팅 디바이스에 반환된 지리적 위치, 및 선호를 나타낸 지리적 위치 중 하나 이상에 의해 나타내어질 수 있다. 더욱, 사용자 개인 관심 데이터는 클라이언트 컴퓨팅 디바이스의 소셜 네트워킹 애플리케이션, 이메일 애플리케이션, 및 웹 브라우저 중 하나 이상으로부터 검색될 수 있다. 사용자 개인 관심 데이터는 사용자 프로파일 데이터, 소셜 네트워킹 데이터, 웹 브라우저 이력 데이터, 이메일 텍스트 및 일정 약속 데이터 중 하나 이상을 포함할 수 있다.
또 다른 실시예에 있어서, 원격 매핑 시스템으로부터 매핑 애플리케이션으로 장소 페이지 데이터를 사전-인출하기 위한 컴퓨터-구현 방법은 원격 매핑 시스템과 클라이언트 컴퓨팅 디바이스 간 연결성 없음의 조건 동안 매핑 애플리케이션을 실행하고 있는 클라이언트 컴퓨팅 디바이스 상에 장소 페이지 데이터를 후속 디스플레이할 수 있다. 이러한 실시예는 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터를 클라이언트 컴퓨팅 디바이스로부터 백엔드 사용자 선호 시스템에 주기적으로 보낼 수 있다. 클라이언트 컴퓨팅 디바이스는 보내진 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터에 응답하여 원격 매핑 시스템으로부터 장소 페이지 데이터를 수신할 수 있다. 장소 페이지 데이터는 사용자의 개인 관심 및 사용자에 의해 선호되는 특정 맵 위치 둘 다에 대응하는 맵 피처를 설명하는 텍스트, 그래픽, 및 데이터 피드 데이터 중 하나 이상을 포함할 수 있다. 수신된 장소 페이지 데이터는 그 후 클라이언트 컴퓨팅 디바이스의 캐시 메모리에 저장되고 후속하여 원격 매핑 시스템과 클라이언트 컴퓨팅 디바이스 간 추가적 통신 없이 검색될 수 있다.
클라이언트 컴퓨팅 디바이스는 프로세서 및 프로세서에 의한 실행을 위해 명령어 및 애플리케이션을 저장하는 메모리를 포함할 수 있다. 명령어는 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터가 네트워크 커넥션을 통해 클라이언트 컴퓨팅 디바이스로부터 백엔드 사용자 선호 시스템에 보내지게 주기적으로 야기하도록 프로세서를 사용하기 위한 것일 수 있다. 사용자 선호되는 지리적 위치 데이터는 클라이언트 컴퓨팅 디바이스의 사용자에 의해 선호되는 특정 맵 위치를 나타내는 데이터를 포함할 수 있다. 사용자 개인 관심 데이터는 사용자의 개인 관심을 나타내는 데이터를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스는 또한 네트워크 커넥션을 통해 원격 매핑 시스템으로부터 장소 페이지 데이터를 수신하기 위한 트랜시버를 포함할 수 있다. 장소 페이지 데이터는 보내진 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터에 응답하여 수신될 수 있다. 장소 페이지 데이터는 사용자의 개인 관심 및 사용자에 의해 선호되는 특정 맵 위치 둘 다에 대응하는 맵 피처를 설명하는 텍스트, 그래픽, 및 데이터 피드 데이터 중 하나 이상을 포함할 수 있다. 더욱, 캐시 메모리는 트랜시버에 의해 수신된 장소 페이지 데이터를 저장할 수 있고, 매핑 모듈은 프로세서가 원격 매핑 시스템과 클라이언트 컴퓨팅 디바이스 간 추가적 통신 없이 캐시 메모리로부터 그 수신된 장소 페이지 데이터를 디스플레이하게 야기하는 명령어를 포함할 수 있다.
원격 매핑 시스템은 또한 프로세서 및 메모리를 포함할 수 있다. 메모리는 프로세서와 통신하고 있고 프로세서에 의한 실행을 위해 명령어를 포함하는 맵 컨트롤러를 저장할 수 있다. 제1 명령어는 프로세서가 맵 컨트롤러와 통신하고 있는 사용자 선호 시스템에 의해 발생된 사용자 선호 데이터에 대응하는 장소 페이지 데이터에 대한 요청을 수신하게 야기할 수 있다. 사용자 선호 데이터는 클라이언트 컴퓨팅 디바이스에 의해 발생된 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터의 조합을 포함할 수 있다. 사용자 선호되는 지리적 위치 데이터는 클라이언트 컴퓨팅 디바이스의 사용자에 의해 선호되는 특정 맵 위치를 나타내는 데이터를 포함할 수 있고 사용자 개인 관심 데이터는 사용자의 개인 관심을 나타내는 데이터를 포함할 수 있다. 제2 명령어는 프로세서가 원격 매핑 시스템의 장소 페이지 데이터와 사용자 선호 데이터를 매칭시키게 야기할 수 있다. 장소 페이지 데이터는 사용자의 개인 관심 및 사용자에 의해 선호되는 특정 맵 위치 둘 다에 대응하는 맵 피처를 설명하는 텍스트, 그래픽, 및 데이터 피드 데이터 중 하나 이상을 포함할 수 있다. 제3 명령어는 프로세서가 클라이언트 컴퓨팅 디바이스의 캐시 메모리에 저장을 위해 그 매칭된 장소 페이지 데이터를 원격 매핑 시스템으로부터 클라이언트 컴퓨팅 디바이스에 보내게 야기할 수 있다. 클라이언트 컴퓨팅 디바이스는 원격 매핑 시스템과 클라이언트 컴퓨팅 디바이스 간 추가적 통신 없이 캐시 메모리로부터 그 매칭된 장소 페이지 데이터를 후속 검색하도록 구성될 수 있다.
도 1a는 모바일 컴퓨팅 디바이스 상의 캐시 저장을 위해 장소 페이지 데이터를 사전-인출하기 위한 시스템의 하이-레벨 블록 선도;
도 1b는 모바일 컴퓨팅 디바이스에 장소 페이지 데이터를 사전-인출하기 위한 시스템의 컴포넌트의 하이-레벨 블록 선도;
도 2는 사전-인출된 장소 페이지 데이터에 대한 예시적 데이터 구조;
도 3은 사용자 선호 데이터에 대한 데이터 구조 및 모바일 컴퓨팅 디바이스의 예시적 블록 선도;
도 4는 여기서 설명되는 바와 같이 원격 백엔드 매핑 시스템으로부터 장소 페이지 데이터를 사전-인출하기 위한 하나의 방법의 예시적 흐름도; 및
도 5는 컴퓨팅 디바이스 상의 캐시 저장 및 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 시스템을 구현하는 컴퓨팅 환경의 하이-레벨 블록 선도.
도면은 단지 예시의 목적으로 바람직한 실시예를 묘사한다. 당업자는 여기에 예시된 구조 및 방법의 대안의 실시예가 여기서 설명되는 원리로부터 벗어남이 없이 채용될 수 있음을 이하의 논의로부터 쉽게 인식할 수 있다.
맵 데이터에 논리적으로 링크되어 있는 장소 페이지 데이터를 장소 페이지 데이터 서버로부터 클라이언트 디바이스로 효율적으로 전송하기 위한 방법 및 시스템의 실시예가 아래에 논의된다. 웹 브라우저, 매핑 애플리케이션, 또는 또 다른 애플리케이션에서 맵 이미지를 렌더링하기 위해, 클라이언트 디바이스는 통신 네트워크를 통해 맵 서버로부터 맵 데이터를 요청할 수 있고, 맵 서버는 응답하여 렌더링된 벡터 데이터의 피처를 설명하는 장소 페이지 데이터뿐만 아니라 맵 그래픽 컨텐트를 설명하는 벡터 데이터를 제공할 수 있다. 더 특히, 벡터 데이터는 맵 피처에 대해 다양한 기하구조 형상을 (예를 들어, 수학적 설명을 사용하여) 지정하고 이러한 형상이 클라이언트 컴퓨팅 디바이스 상에서 도로, 빌딩, 공원, 물줄기 등과 같은 다양한 맵 피처를 렌더링하기 위해 어떻게 위치결정되어야 하는지 나타낼 수 있다. 장소 페이지 데이터는 텍스트, 그래픽, 웹 페이지 등을 사용하여 각각의 맵 피처를 설명할 수 있다. 맵 서버는 또한 클라이언트 디바이스가 맵 피처의 다양한 벡터-기반 설명에 어느 시각적 스타일을 적용하여야 하는지 지정할 수 있다.
모바일 컴퓨팅 디바이스 상에 맵 이미지를 렌더링할 그래픽 데이터는 비교적 데이터 (및 그래서 메모리) 집약적이다. 장소 페이지 데이터는 이러한 장소 페이지 데이터가 수반 맵 타일 데이터의 메모리 부담 중 일부 또는 전부와 독립적으로 이용가능하도록 그것이 사용자에 의해 요청되기 전에 네트워크 커넥션을 통해 별개로 사전-다운로드 또는 사전-인출될 수 있다. 예를 들어, 디지털 맵 데이터와 논리적으로 연관된 데이터는 맵의 다양한 빌딩, 도로, 및 다른 그래픽 엘리먼트에 대한 라벨 데이터를 포함할 수 있다. 다른 데이터는 맵의 빌딩, 영업소, 관심 지점, 또는 다른 그래픽 엘리먼트 또는 "피처"에 대한 상세한 정보를 제공하는 장소 페이지 데이터를 포함할 수 있다. 장소 페이지 데이터는 모바일 컴퓨팅 디바이스와 서버 간 네트워크 커넥션을 통해 장소 페이지 데이터 서버로부터 맵의 그래픽 엘리먼트와 별개로 요청될 수 있다. 그 후 이 장소 페이지 데이터는 모바일 컴퓨팅 디바이스의 캐시 메모리에 저장될 수 있다. 그 후 장소 페이지 데이터는 모바일 디바이스와 서버 간 낮은 연결성 때에, 또는 그래픽 맵 데이터가 네비게이션에 불필요할 수 있는 상황에서 이용가능할 수 있다. 예를 들어, 장소 페이지 데이터는 사용자가 그 또는 그녀의 위치를 자각하고 있지만 그 또는 그녀 위치에 대한 다양한 영업소 또는 다른 정보를 자각하고 있지 않은 밀집 도시 구역에서 그래픽 맵 데이터를 수반함이 없이 유용할 수 있다.
아래에 설명되는 바와 같이, 사용자 선호, 표현된 관심, 소셜 네트워킹 정보 등은 사용자에게 관심 있을 수 있는 장소 페이지 데이터에 대한 위치를 결정하도록 분석될 수 있다. 장소 페이지 데이터는 백엔드 서버에 의해 모바일 디바이스에 푸싱되거나 또는 모바일 디바이스에서 장소 페이지 모듈의 요청 시에, 모바일 디바이스에 사전-인출될 수 있다.
사용자 관심 분석은 사용자의 현재 또는 선호되는 지리적 위치에서 관심 있는 하나 이상의 영업소 또는 다른 장소를 결정할 수 있다. 이러한 분석은 백엔드 또는 모바일 디바이스에서 수행될 수 있고 사용자의 온라인 표현된 개인 관심(예를 들어, 소셜 네트워킹 프로파일, 직업 프로파일, 개인 또는 영업 목록 정보 등), 지리적 관심, 또는 데이터 조합과 관련된 데이터의 일부 또는 전부를 고려할 수 있다. 추가적 실시예에 있어서, 시스템은 사용자가 그 또는 그녀의 시간의 대부분을 소비하는 곳, 검색 모듈을 통해 사용자가 수행한 검색, 사용자가 계획한 여행, 사용자에 의해 송신 또는 수신된 이메일 내 정보 등과 관련된 데이터를 사용할 수 있다.
도 1a는 캐시 메모리에 저장을 위해, 장소 페이지 데이터를 포함하는 매핑 시스템 데이터를 사전-인출하기 위한 시스템(100)을 예시하는 하이-레벨 블록 선도이다. 일반적으로, 클라이언트 컴퓨팅 디바이스(102)는 프로세서(108)에 의해 실행되는 매핑 모듈(106)을 저장하는 메모리(104)를 포함할 수 있다. 매핑 모듈(106)은 사용자 지리적 선호, 개인 관심, 및 다른 데이터의 분석에 기반하여 백엔드 서버로부터 장소 페이지 데이터를 사전-인출하는 명령어를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(102)는 GPS 트랜시버를 포함하고 여기서 설명되는 다양한 모듈, 명령어 등을 실행할 수 있는 퍼스널 컴퓨터, 스마트 폰, 태블릿 컴퓨터, 또는 다른 컴퓨팅 디바이스를 포함할 수 있다. 매핑 모듈(106)은 인터넷(115) 또는 다른 유형의 네트워크(예를 들어, LAN, MAN, WAN, 모바일, 유선 또는 무선 네트워크, 프라이빗 네트워크, 또는 가상 프라이빗 네트워크 등)와 같은 네트워크 커넥션을 통해 매핑 시스템(112) 및 사용자 선호 시스템(114)을 포함하는 백엔드 컴포넌트(110)와 통신할 수 있다. 시스템(100)이 백엔드 컴포넌트로서 사용자 선호 시스템(114)을 포함하는 것으로 도 1a에 예시되지만, 여기서 설명되는 사용자 선호 시스템(114)의 컴포넌트 및 기능은 또한 클라이언트 컴퓨팅 디바이스(102) 상에 편입될 수 있다. 예를 들어, 사용자 선호 시스템(114)은 매핑 모듈(106)의 컴퓨터-실행가능한 명령어로서 또는 별개의 사용자 선호 모듈(140)로서 구현될 수 있다.
하나 이상의 서버 형태일 수 있는 매핑 시스템 서버(116)는 맵 타일 데이터 레포지토리(118)로부터의 맵 타일 데이터(117)를, 그리고 맵 타일 데이터(117)의 지리적 피처에 대응하는 장소 페이지 데이터 레포지토리(120)로부터의 장소 페이지 데이터(119)를 송신 및 수신할 수 있다. 일부 실시예에 있어서, 매핑 시스템(112) 및 시스템 서버(116)는 매핑 모듈(106)이 클라이언트 디바이스(102)의 디스플레이 컴포넌트(122)에 디지털 맵을 렌더링할 수 있게 하도록 컴퓨터-실행가능한 명령어 및 데이터를 보낼 수 있다. 매핑 모듈(106)을 사용하는 동안, 사용자는 하나 이상의 선호되는 지리적 위치(106A)를 나타낼 수 있다. 예를 들어, 맵 검색 결과가 (아래에 설명되는 바와 같이) 디바이스(102)에 반환된 후에, 사용자는 반환된 검색 결과 내 특정 위치(예를 들어, 주소, 맵 피처, GPS 지점 등)를 "즐겨찾기"로서 플래그하거나 그렇지 않으면 특정 맵 위치가 사용자에 의해 선호됨을 나타내도록 명령어를 매핑 모듈(106)이 실행하게 야기할 수 있다. 사용자가 선호를 나타낸 지리적 위치(예를 들어, 매핑 모듈 검색 결과 즐겨찾기, 고향, 즐겨 찾는 도시, 계획된 여행 등)는 디바이스(102)에서 수집될 수 있고 사용자 선호 모듈(140)의 명령어는 사용자가 매핑 서버(116)로부터 장소 페이지 데이터를 요청할 가능성이 있는 부가적 선호되는 지리적 위치(106A)를 결정하도록 실행될 수 있다.
일부 실시예에 있어서, 사용자 개인 관심 데이터(125)는 클라이언트 디바이스(102)에서 결정되거나 다양한 소스로부터 검색될 수 있다. 사용자 개인 선호 데이터는 사용자의 개인 관심(예를 들어, 음식, 취미, 스포츠 팀 등)을 나타낼 수 있다. 예를 들어, 사용자 선호 모듈(126)은 다양한 로컬 및 원격 소스(클라이언트 컴퓨팅 디바이스(102)에 저장된 개인 프로파일, 소셜 네트워킹 및 다른 사이트로부터의 온라인 개인 프로파일 및 관심 데이터, 디바이스(102) 상에서 실행되는 다른 애플리케이션으로부터의 프로파일 데이터 등)로부터 사용자의 개인 관심 데이터(125)를 결정 또는 수집하도록 명령어를 실행할 수 있다. 사용자 개인 관심 데이터(125)는 또한 디바이스(102)와 통신하고 있거나 클라이언트 디바이스(102) 상에서 실행되고 있는 다양한 애플리케이션 및 모듈(예를 들어, 매핑 애플리케이션, 웹 브라우저, 사용자 활동 추적 모듈, 여행 계획 모듈, 이메일 모듈, 소셜 네트워킹 시스템 등)로부터 수집되고 사용자 선호 데이터 레포지토리(126)에 저장될 수 있다. 데이터(125)는 디바이스(102) 상에 저장된 사용자 프로파일, 디바이스(102) 상에서 실행되고 있는 애플리케이션으로부터의 사용자 선호(예를 들어, 사용자 프로파일, 관심 및 다른 데이터 등을 포함하는 소셜 네트워킹 애플리케이션, 매핑 모듈(106)의 실행 동안 저장되는 바와 같은 즐겨찾기 위치), 웹 브라우징 이력, 이메일 텍스트, 여행 일정 약속 등을 포함할 수 있다. 데이터(125)는 사용자의 지리적 및 개인 관심을 결정하도록 클라이언트 디바이스(102)에서 분석될 수 있다.
사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)의 조합은 사용자가 장래에 장소 페이지 데이터(119)를 요청할 수 있는 영업소 또는 다른 맵 피처를 나타낸다. 그 후 장소 페이지 데이터(119)는 그러한 지리적 및 개인 관심에 대해 사전-인출되고 매핑 시스템(112)으로의 낮은 연결성의 기간 동안 또는 어느 다른 때라도 사용자에게 가능한 디스플레이를 위해 클라이언트 디바이스 메모리(104)의 캐시 메모리(124)에 저장될 수 있다.
사용자 지리적 및 개인 선호 데이터를 백엔드(110)에서 결정하는 또 다른 실시예에 있어서, 사용자 지리적/개인 선호 데이터(130A)는 사용자와 연관되어 있는 온라인 자원(130)으로부터 수집되고 사용자가 매핑 서버(116)로부터 장소 페이지 데이터를 요청할 가능성이 있는 지리적 및 개인 관심 위치, 또는 사용자가 장래에 장소 페이지 데이터를 요청할 수 있는 영업소 또는 다른 맵 피처를 나타낼 수 있는 사용자 선호 및 관심을 결정하도록 분석될 수 있다. 사용자 지리적/개인 선호 데이터(130A)는 공통 사용자 계정에 의해 링크되는 다양한 온라인 자원(130)으로부터 수집될 수 있다. 예를 들어, 백엔드 서버(128)는, 실행시, 사용자에 의해 행해진 웹 검색과 관련된 정보, 소셜 네트워킹 프로파일 정보, 사용자의 관심과 관련된 뉴스 피드에 대한 사용자 구독, 매핑 모듈(106)과 관련된 검색 등을 수집하는 명령어를 갖는 모듈(129)을 포함할 수 있다. 데이터(130A)는 사용자의 지리적 선호(106A) 및 개인 관심(125)을 결정하도록 클라이언트 디바이스(102)에서 분석될 수 있다. 장소 페이지 데이터(119)는 그 후 사용자의 선호되는 지리적 위치에서 그러한 관심에 대해 장소 페이지 데이터 레포지토리(120)로부터 사전-인출되고 매핑 시스템(112)의 낮은 연결성의 기간 동안 또는 어느 다른 때에 사용자에게 가능한 디스플레이를 위해 클라이언트 디바이스 메모리(104)의 캐시 메모리(124)에 저장될 수 있다. 다른 실시예는 프론트엔드(102) 및 백엔드(110) 컴포넌트의 조합을 사용하여 사용자 지리적 위치 선호 및 개인 관심 데이터를 결정할 수 있다.
클라이언트 컴퓨팅 디바이스(102)로부터의 요청에 응답하여, 매핑 시스템(112)은 클라이언트 컴퓨팅 디바이스(102) 상에 디스플레이될 맵 이미지에 대한 그래픽, 텍스트 및 다른 데이터를 프로세싱하고 보낼 수 있다. 클라이언트 디바이스(102)는 또한 그래픽 맵 타일 데이터(117)와 디스플레이되거나 또는 디스플레이되는 맵 타일 데이터(117)에 링크될 수 있는 장소 페이지 데이터(119)를 매핑 시스템(112)이 보내게 야기할 수 있다. 장소 페이지 데이터(119)는 장소 페이지 데이터(119)에 의해 설명되는 피처를 포함하는 맵 타일 데이터(117)를 또한 디스플레이하거나 또는 하지 않고 디바이스(102)의 디스플레이(122)에 디스플레이될 수 있다. 그래픽 컴포넌트(즉, 맵 타일 데이터(117)) 및 텍스트 또는 다른 데이터(즉, 장소 페이지 데이터)는 디바이스(102)에 함께 또는 별개로 프로세싱 및 송신될 수 있다. 클라이언트 컴퓨팅 디바이스(102)가 매핑 시스템(112)으로부터 데이터(117, 119)를 요청할 때, 시스템(112)은 벡터 그래픽 포맷에 따라 장소 페이지 데이터(119)와 함께 또는 없이 각각의 맵 타일(117)을 발생시킬 수 있다. 클라이언트 디바이스(102)(예를 들어, 모바일 폰, 태블릿 컴퓨터 등)는 디바이스(102)에서의 디스플레이를 위해 각각의 맵 타일에 대응하는 벡터 데이터를 로컬 래스터화할 수 있다.
일 실시예에 있어서, 시스템(100)은 다양한 서버로부터 요청된 데이터를 검색한다. 예를 들어, 매핑 시스템 서버(116)는 프로세서(116a), 및 예를 들어 프로세서(116a) 상에서 직접적으로 (예를 들어, 컴파일링된 코드로서) 또는 간접적으로 (예를 들어, 프로세서(116a) 상에서 실행되고 있는 또 다른 애플리케이션에 의해 해석되는 스크립트로서) 실행가능할 수 있는 컴퓨터 명령어의 형태로 맵 컨트롤러(116c)를 저장하는 컴퓨터-읽기가능한 메모리(116b)를 포함할 수 있다. 컴퓨터-읽기가능한 메모리(116b)는 컴퓨터 명령어 및 컴퓨터 명령어가 런타임으로 동작하는 데이터를 저장하는 휘발성 메모리(예를 들어, 랜덤 액세스 메모리 또는 RAM) 및, 일 실시예에 있어서, 예를 들어 하드 디스크와 같은 영속적 메모리를 포함할 수 있다. 일 실시예에 있어서, 맵 컨트롤러(116c)는 클라이언트 디바이스(102)에 맵 컨텐트로서 제공되는 다양한 맵 엘리먼트에 대한 벡터 데이터를 발생시키는 동적 피처 컨트롤러(154)(도 1b)를 포함한다. 여기서 사용되는 바와 같이, 맵 피처(또는 단순히 피처)는 빌딩과 같은 개개의 맵 엘리먼트 또는 수개의 빌딩, 공원 및 대학 캠퍼스의 수개의 보도와 같은 수개의 맵 엘리먼트의 취합에 대응할 수 있다. 일반적으로, 맵 피처는 벡터 데이터를 사용하여 설명될 수 있다. 장소 페이지 데이터(119)는 맵 피처(즉, 영업소, 랜드마크 등)에 대한 텍스트 정보, 이미지, 데이터 피드, 웹 컨텐트 등을 포함하여 맵 타일 피처의 영업 및/또는 행정 태양을 설명하는 데이터를 포함할 수 있다.
일부 실시예에 있어서, 매핑 모듈(106)은 맵 피처의 그래픽 특성뿐만 아니라 그러한 피처를 설명하는 장소 페이지 데이터(119)도 둘 다 지정하는 벡터 데이터를 수신한다. 벡터 데이터는 포인트 및 포인트를 연결하는 경로의 수학적 설명을 사용하여 기하구조 형상으로서 맵 피처를 지정한다. 예를 들어, 라인 세그먼트의 래스터 이미지를 구성하는 각각의 픽셀을 지정하기보다는, 벡터 데이터는 라인 세그먼트의 2개의 엔드포인트를 지정하고 2개의 엔드포인트가 직선에 의해 연결되어 있음을 나타낼 수 있다. 그 후 매핑 모듈(106)은 지정된 라인 세그먼트에 장소 페이지 데이터(119)를 적절히 적용할 수 있어서, 라인 세그먼트가 특정 타이틀, 설명 등과 디스플레이된다. 또 다른 예로서, 벡터 데이터는 빌딩의 컨투어를 지정할 수 있고, 대응하는 장소 페이지 데이터(119)는 빌딩의 명칭, 설명, 웹 페이지, 연락 정보, 주소 등을 지정할 수 있다. 바꿔 말하면, 맵 서버(116)로부터 래스터 이미지를 수신하기보다는, 매핑 모듈(106)은 클라이언트 컴퓨팅 디바이스(102)의 출력 디바이스(122) 상에 맵 이미지를 그리기 위한 명령어를 수신하고 그 명령어를 실행하여 래스터 맵 이미지를 발생시킬 수 있다. 그렇지만, 일부 경우에 있어서, 벡터 데이터는 또한 벡터 포맷으로 쉽게 표현될 수 없는 특정 컴포넌트 엘리먼트로서 래스터 이미지를 포함할 수 있다.
다른 실시예에 있어서, 매핑 모듈(106)은, 여기서 설명되는 바와 같이, 요청되거나, 선호되거나, 또는 예측되는 지리적 위치에 대응하는 장소 페이지 데이터(119)만을 수신한다. 맵 타일 데이터(117)를 수신하기 위해 위에서 설명된 벡터 포맷이라기보다, 시스템(100)은 공통 텍스트(예를 들어, SMS, ANSI, ASCII)로 또는 이미지 및 텍스트 둘 다의 디스플레이를 위한 사유 포맷으로 장소 페이지 데이터를 보내고 디바이스(102) 상에서 포매팅함으로써 디바이스(102)로부터의 요청에 응답할 수 있다. 예를 들어, 클라이언트 디바이스(102) 상의 사용자 활동 모듈(140), 원격 사용자 선호 시스템(114), 또는 모듈과 시스템의 조합은 사용자 지리적/개인 선호 데이터(130A)(지리적 선호(106A) 및 개인 관심(125)을 포함)를 프로세싱하는 명령어를 포함할 수 있다. 이 데이터(130A)를 프로세싱하는 것은 사용자가 매핑 서버(116)로부터 장소 페이지 데이터(119)를 요청할 가능성이 있는 지리적 및 개인 관심 위치, 또는 사용자가 장소 페이지 데이터(119)를 요청할 수 있는 영업소 또는 다른 맵 피처를 나타낼 수 있는 사용자 선호 및 관심을 결정할 수 있다.
단순화를 위해, 클라이언트 디바이스(102)는, 여기서 설명되는 바와 같이, 디바이스 메모리(104)에 저장된 다양한 모듈을 실행하는 단일 프로세서(108)와 예시되어 있다. 다른 실시예에 있어서, 클라이언트 디바이스(102)는 예를 들어 출력 디바이스(122) 상의 이미지 렌더링을 용이하게 하도록 구성된 그래픽 프로세싱 유닛(GPU)과 같은 부가적 프로세싱 유닛(도시하지 않음)을 포함할 수 있다. 더욱, 매핑 모듈(106)은 맵 이미지뿐만 아니라 장소 페이지 데이터(119)도, 또는 장소 페이지 데이터(119)를 단독으로 효율적으로 발생시키기 위해 그래픽 함수의 라이브러리를 이용할 수 있다. 예를 들어, 메모리(104)는, 매핑 모듈(106)을 포함하는, 클라이언트(102) 상에서 실행되고 있는 다양한 애플리케이션이 애플리케이션 프로그래밍 인터페이스(API)를 통해 액세스할 수 있는 그래픽 렌더링용 함수를 갖는 OpenGL® 또는 Direct3D® 라이브러리와 같은 플러그인을 저장할 수 있다. 또 다른 실시예에 있어서, 메모리(104)는, 예를 들어, WebGL®과 같이 특히 브라우저 애플리케이션에 적합한 플러그인을 저장한다. 또한, 일부 실시예에 있어서, 메모리(104)는 출력 디바이스(122)를 통해 이미지 및 장소 페이지 데이터(119)의 효율적 렌더링을 용이하게 하는 부가적 소프트웨어 컴포넌트를 저장한다. 예를 들어, 메모리(104)는 Adobe® Flash® 플러그인 또는 O3D 플러그인을 저장할 수 있다.
이제 도 1b를 참조하면, 맵 컨트롤러(150)는, 예를 들어, 도 1a의 서버(116)에서 또는 클라이언트 컴퓨팅 디바이스(102)의 메모리에서 다양한 함수를 포함하고 모듈로서 동작할 수 있거나, 또는 다양한 함수는, 위에서 설명된 바와 같이, 클라이언트 컴퓨팅 디바이스(102)와 서버(116) 사이에서 분할될 수 있다. 일 실시예에 의하면, 맵 데이터 컨트롤러(150)는 컴퓨터-읽기가능한 매체 상에 저장되고 하나 이상의 프로세서 상에서 실행가능한 명령어 세트로서 구현된다. 예를 들어, 도 1a를 다시 참조하면, 맵 데이터 컨트롤러(150) 및 그 다양한 함수는 메모리(116b, 104)와 프로세서(116a, 108) 사이에서 분산될 수 있다.
일 실시예에 따르면, 맵 컨트롤러(150)는 동적 피처 컨트롤러(154), 맵 타일 발생기(156), 장소 페이지 데이터 발생기(157), 및 맵 요청 프로세서(158)를 포함한다. 맵 요청 프로세서(158)는 지정되거나 사용자 선호되는 지리적 지역에 대응하는 맵 데이터(117) 및/또는 장소 페이지 데이터(119)에 대해 클라이언트 디바이스(102)와 같은 클라이언트 디바이스로부터의 요청을 프로세싱하도록 구성될 수 있다. 각각의 요청은, 시나리오 및/또는 실시예에 의존하여, 단일 전자 메시지 또는 일련의 전자 메시지에 대응할 수 있다. 예를 들어, 맵 요청 프로세서(158)는 위도 41°52′43″및 경도 -87°38′11″가 중심인 2-마일-범위에 대응하는 맵 데이터에 대한 요청을 수신할 수 있다. 맵 요청 프로세서(158)는 또한 그 지역 내 개인 관심(125, 103A)에 대응하는 장소 페이지 데이터(119)에 대한 요청을 수신할 수 있다. 또한 요청은 매핑 시스템(112)에 의해 반환될 장소 페이지 데이터(119) 및 맵 타일 데이터(117)의 양을 결정하는, 맵 데이터가 요청되고 있는 줌 레벨을 나타낼 수 있다. 시나리오(즉, 맵 타일 및 장소 페이지 데이터를 함께 또는 별개로 요청)에 의존하여, 맵 요청 프로세서(158)는 맵 데이터에 대한 요청과 장소 페이지 데이터(119)에 대한 요청을 단일 전자 메시지, 예를 들어, 단일 HTTP 메시지로, 또는 별개로 각자의 전자 메시지로 수신할 수 있다.
맵 요청 프로세서(158)가 클라이언트 디바이스로부터 맵 데이터(117) 및/또는 장소 페이지 데이터(119)에 대한 요청을 수신한 후에, 맵 컨트롤러(150)는 하나 이상의 전자 메시지를 통해 클라이언트 디바이스에 적절한 데이터를 제공한다. 일부 실시예에 있어서, 맵 요청 프로세서(158)는 어떤 유형의 데이터가 요청되고 있는지 결정하고 맵 타일 발생기(156) 또는 장소 페이지 데이터 발생기(157) 중 하나 이상으로의 함수 호출을 실행하여 적절한 데이터 레포지토리(118, 120)로부터 요청된 데이터를 검색하는 명령어를 포함할 수 있다. 맵 타일 발생기(156)는, 각각의 맵 타일 디스크립터가 맵 타일, 즉, 특정 사이즈(예를 들어, 256 대 256 픽셀)의 맵 이미지의 일부를 설명하게 되도록 맵 타일 디스크립터의 세트로서 맵 데이터를 발생시키는 명령어를 포함할 수 있다. 개개의 맵 타일에 의해 표현되는 지리적 지역의 사이즈는 맵 타일이 연관되어 있는 줌 레벨에 의존하여서, 더 낮은 줌 레벨의 단일 맵 타일은 더 높은 줌 레벨에서의 단일 맵 타일보다 더 큰 지리적 구역을 보여준다. 맵 타일 발생기(156)는 벡터 그래픽 포맷에 따라 각각의 맵 타일 디스크립터를 발생시키고, 도 1a의 클라이언트 디바이스(102)와 같은 클라이언트 디바이스는 각각의 타일에 대한 래스터 이미지를 로컬 발생시킬 수 있다. 맵 타일 발생기(156)는 맵 타일 데이터베이스(118)와 같은 맵 데이터베이스로부터 요청된 데이터를 검색할 수 있다. 장소 페이지 데이터 발생기(157)는 맵 데이터에 대한 요청에 대한 응답과 함께, 또는 단독으로 장소 페이지 데이터(119)에 대한 요청에 응답하여 장소 페이지 데이터(119)를 발생시킬 수 있다. 일부 실시예에 있어서, 장소 페이지 데이터 발생기(157)는 요청된 지리적 지역 또는 선호되는 지리적 지역(106A)에 대응하는 데이터 레포지토리(120)의 다수 엔트리로부터 장소 페이지 데이터(119)를 발생시키는 명령어를 포함한다. 또한 장소 페이지 데이터 발생기(157)는 요청되는/선호되는 지리적 지역(106A) 및 사용자 개인 관심 데이터(125) 중 하나 또는 둘 다에 대응하는 데이터 레포지토리(120)의 다수 엔트리로부터 장소 페이지 데이터(119)를 발생시키는 명령어를 포함할 수 있다. 예를 들어, 사용자가 "보스턴"에 대한 맵 타일 데이터를 요청하고 사용자 프로파일 또는 다른 데이터가 사용자의 취미는 "자가 양조"(homebrewing)임을 나타내는 경우, 맵 요청 프로세서(158)는 맵 타일 발생기(156) 또는 장소 페이지 데이터 발생기(157) 중 하나 이상을 채용하여 보스턴 구역 내 자가 양조 가게 또는 수제 맥주-관련 영업소에 대응하는 맵 타일 데이터(117) 및/또는 장소 페이지 데이터(119)를 반환할 수 있다. 유사하게, 맵 요청 프로세서(158)는 장소 페이지 데이터(119)가 사용자의 지리적 선호(106A)의 구역 내에 또한 있는 영업소 및 다른 맵 피처와 연관되는 경우 사용자의 개인 관심(125)에 대응하는 그 장소 페이지 데이터(119)를 검색할 수 있다. 예를 들어, 사용자의 선호되는 위치(106A)가 "시카고"를 포함하고 사용자의 개인 관심이 "자가 양조"를 포함할 때, 그때 사용자가 데이터(119)에 대한 특정 요청을 개시하면 자가 양조 가게 및 수제 맥주-관련 영업소에 대한 장소 페이지 데이터(119)가 맵 컨트롤러(150)로부터 요청되고 디바이스(102)의 캐시 메모리(124)에 저장될 수 있다.
클라이언트 디바이스에 그래픽 맵 데이터를 제공할 때, 맵 컨트롤러(150)는 맵 타일 데이터(117)를 장소 페이지 데이터(119)로부터 분리시킬 수 있다. 일부 경우에 있어서, 맵 컨트롤러(150)는 (예를 들어, 클라이언트 디바이스가 필요한 장소 페이지 데이터를 이미 갖고 있으면) 대응하는 장소 페이지 데이터(119)를 클라이언트 디바이스에 동시에 제공함이 없이 맵 컨텐트를 설명하는 벡터 데이터를 제공할 수 있거나, 또는 반대로, (예를 들어, 더 상세한 줌 레벨로 지리적 지역을 렌더링하고 다른 줌 레벨로 그 지리적 지역에 대한 이전 요청으로 보내진 장소 페이지 데이터(119)를 사용하기 위해) 장소 페이지 데이터(119)가 적용되는 그래픽 맵 컨텐트에 대한 벡터 데이터를 제공함이 없이 장소 페이지 데이터(119)를 제공할 수 있다. 더욱, 일부 시나리오에 있어서, 맵 컨트롤러(150)는 벡터 데이터 및 장소 페이지 데이터(119)를 동시에 (예를 들어, 동일 전자 메시지로 또는 일련의 전자 메시지로) 제공한다. 예를 들어, 맵 요청 프로세서(158)가 맵 데이터에 대한 요청을 수신하고 맵 타일 데이터(117)에 대해 맵 데이터 레포지토리(118)에 질의할 때, 라벨 및 장소 페이지 컨트롤러(152)는 요청된 맵 타일 데이터(117)의 지리적 구역에 대응하는 장소 페이지 데이터(119)에 대해 장소 페이지 데이터 레포지토리(120)에 질의한다. 맵 타일 데이터(117)에 대해서와 같이, 요청된 맵 데이터(117)에 대응하는 장소 페이지 데이터의 양은 맵 타일이 연관되는 줌 레벨에 의존할 수 있다. 예를 들어, 더 낮은 줌 레벨의 단일 맵 타일은 더 큰 지리적 구역을 보여주고, 그래서, 더 높은 줌 레벨의 단일 맵 타일보다 더 많은 라벨 및 장소 페이지 데이터(119)에 대응한다. 일부 실시예에 있어서, 장소 페이지 데이터 발생기(157)는 요청된 맵 데이터(117)의 줌 레벨에서 보일 수 있는 데이터(119)에 대해서만 장소 페이지 데이터 레포지토리(120)에 질의할 수 있다. 다른 실시예에 있어서, 장소 페이지 데이터 발생기(157)는 요청된 맵 데이터(117)의 줌 레벨에서 보일 것보다 다른 줌 레벨에 대응하는 더 많은 데이터(119)에 대해 레포지토리(120)에 질의할 수 있다. 더욱, 장소 페이지 데이터 발생기(157)는 데이터(119)가 사용자에 의해 명시적으로 요청되기 전에 표현되거나 예측된 사용자 관심에 대응하는 데이터(119)에 대해 레포지토리(120)에 질의할 수 있다. 그 후 장소 페이지 데이터 발생기(157)는 요청된 맵 타일 데이터(117)를 포함하고 있는 벡터에 검색된 장소 페이지 데이터(119)를 삽입할 수 있거나 또는 맵 타일 데이터(117)와 별개로 데이터(119)를 보낼 수 있다. 클라이언트 디바이스(102)는 데이터(117)를 포함하는 각각의 타일에 대한 벡터 데이터를 로컬 래스터화할 수 있거나, 생성된 맵 이미지에 데이터(119)로의 링크를 제공할 수 있거나, 디바이스(102)의 캐시 메모리(124)에 검색된 장소 페이지 데이터(119)를 저장할 수 있다.
동적 피처 컨트롤러(154)는 맵 타일 발생기(156) 및 장소 페이지 데이터 발생기(157)에 통신 결합되고 어느 맵 엘리먼트가 요청된 맵 데이터와 연관되는지 결정하고 이러한 맵 엘리먼트의 벡터-기반 또는 다른 설명을 발생시키도록 구성될 수 있다. 예를 들어, 동적 피처 컨트롤러(154)는, 특정 지리적 지역에 대해 줌 레벨(Zi)에 대응하는 맵 데이터에 대한 요청에 응답하여, 주 간 고속도로, 큰 물줄기 등에 대응하는 벡터 디스크립터가 발생되어야 하는 반면, 동일 지리적 지역에 대해 줌 레벨(Zj)에 대응하는 맵 데이터에 대한 또 다른 요청에 응답하여, 지방 도로 및 빌딩에 대응하는 부가적 벡터 데이터가 발생되어야 함을 결정할 수 있다. 더욱, 일부 경우에 있어서, 동적 피처 컨트롤러(154)는 다른 맵 유형에 대해 다른 벡터 데이터 세트를 발생시킨다. 예를 들어, 지형 맵은 동일 지리적 지역 및 줌 레벨에 대한 기본 맵에 포함되지 않은 맵 엘리먼트를 포함할 수 있다.
일부 실시예에 있어서, 사용자 선호 시스템(114)(도 1a)은 디바이스(102)로부터 푸싱되는 선호되는 지리적 지역(106A) 및 사용자 개인 관심 데이터(125)(지리적/개인 선호 데이터(130A))를 수신하거나 또는 선호되는 지리적 지역(106A) 및 사용자 개인 관심 데이터(125)를 디바이스(102)로부터 풀링하는 명령어를 갖는 모듈(129)을 포함하는 사용자 선호 시스템 서버(128)를 포함할 수 있다. 예를 들어, 사용자 선호 데이터 레포지토리(126)는 디바이스(102)와 통신하고 있거나 클라이언트 디바이스(102) 상에서 실행되고 있는 여러 다른 모듈 및 애플리케이션(예를 들어, 웹 브라우저, 사용자 선호 추적 모듈, 여행 계획 모듈, 이메일 모듈, 소셜 네트워킹 모듈 등)으로부터 데이터를 수신 및 저장할 수 있다. 클라이언트 디바이스(102)는 그 후 분석을 위해 사용자 선호 시스템(114)에 데이터(125)를 포워딩할 수 있다. 유사하게, 매핑 모듈(106)은 지리적 선호 데이터(106A)를 수집하고 그 후 분석을 위해 사용자 선호 시스템(114)에 그 데이터를 포워딩할 수 있다. 일부 실시예에 있어서, 클라이언트 디바이스(102)는 웹 브라우저 이력, 지리적 위치 또는 개인 관심을 포함하는 이메일 텍스트, 여행 문서, 지리적 또는 개인 선호 데이터를 포함하는 온라인 프로파일, 또는 클라이언트 디바이스(102) 상에서 실행되고 있는 애플리케이션에 의해 발생 또는 수신된 다른 데이터를 사용자 선호 시스템(114)에 주기적으로 포워딩할 수 있다. 선호되는 지리적 지역(106A) 및 사용자 개인 관심 데이터(125)가 사용자 선호 시스템(114)에 의해 수신되는 경우, 모듈(129)은 사용자가 장래에 매핑 시스템 데이터를 요청할 가능성이 있을 영업소 또는 다른 맵 피처 유형 및 지리적 위치 둘 다를 결정하도록 데이터(130A)를 분석할 수 있다. 사용자 선호 시스템 모듈(129)은 또한 사용자 지리적/개인 관심 데이터(130A) 위치에 대응하는 장소 페이지 데이터(119)에 대한 요청을 발생시키는 명령어를 포함할 수 있다. 그 후 모듈(129)에서의 추가적 명령어는 발생된 요청을 매핑 시스템(112)의 맵 요청 프로세서(158)에 포워딩할 수 있다. 그 후 맵 요청 프로세서(158)는 사용자의 지리적/개인 선호 데이터(130A)로부터 결정된 지리적 위치에 대응하는 장소 페이지 데이터(119)를 검색하도록 요청을 장소 페이지 데이터 발생기(157)에 포워딩할 수 있다. 검색된 데이터(119)는 그러한 선호와 매칭하는 데이터(119)만을 반환하도록 사용자 지리적/개인 선호에 의해 필터링될 수 있다. 예를 들어, 시스템(100)이 사용자가 보스턴에 대한 데이터를 요청할 가능성이 있고 선호 데이터가 "박물관"에 대한 사용자 관심을 포함한다고 결정하는 경우, 발생기(157)는 보스턴 내 박물관에 대응하는 장소 페이지 데이터(119)만을 반환하도록 사용자 지리적/개인 관심 데이터(130A)를 사용할 수 있다. 사용자 지리적/개인 관심 데이터(130A)가 사용자에 대해 가능성 있는 장래의 지리적 위치 및 개인 관심을 결정하도록 모듈(129)에 의해 백엔드에서 분석될 때, 라벨 및 장소 페이지 발생기(157)는 장소 페이지 데이터 레포지토리(120)로부터의 장소 페이지 데이터(119)를 클라이언트 디바이스(102)의 캐시 메모리(124)에 푸싱하는 명령어를 실행할 수 있다. 데이터(106A, 125)가 프론트엔드에서 분석될 때, 클라이언트 디바이스 상의 모듈(예를 들어, 매핑 모듈 등)은 라벨 및 장소 페이지 발생기(157)의 함수를 구현하고 장소 페이지 데이터 레포지토리(120)로부터의 장소 페이지 데이터(119)를 클라이언트 디바이스(102)의 캐시 메모리(124)에 풀링할 수 있다.
일부 실시예에 있어서, 사용자 선호 시스템 서버(128)는 하나 이상의 데이터 레포지토리(130)에 사용자 지리적/개인 선호 데이터(130A)를 저장할 수 있다. 예를 들어, 사용자 지리적/개인 관심 데이터(130A)는 사용자의 프로파일 정보, 소셜 네트워킹 정보, 브라우저 검색 이력 데이터, 이메일 및 다른 메시지 데이터, 여행 계획 데이터, 매핑 시스템 즐겨찾기, 또는 사용자의 표현된 또는 가능성 있는 지리적 및 개인 관심을 나타내는 다른 데이터를 포함할 수 있다. 모듈(129)은, 여기서 설명되는 바와 같이, 데이터 레포지토리(130)에 저장된 데이터를 분석하는 컴퓨터-실행가능한 명령어를 포함할 수 있다. 모듈(129)에 의한 사용자 지리적/개인 관심 데이터(130A)의 분석은 사용자 선호 시스템 서버(128)가 매핑 시스템(112) 및 라벨 및 장소 페이지 발생기(157)에 보낼 수 있는 데이터 요청의 대상 또는 유형을 결정할 수 있다.
도 2는 맵 타일 데이터에 대응하는 장소 페이지 데이터에 대한 하이-레벨 블록 선도의 일 실시예를 도시한다. 맵 타일(200)은, 위에서 설명된 바와 같이, 복수의 속성(200a), 예를 들어, 위치 데이터(202) 및 수개의 피처(204)를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스 상의 맵의 래스터 이미지를 구성하는 데이터 컴포넌트는 다양한 데이터 소스 사이에 논리적으로 링크될 수 있다. 예를 들어, 맵 타일 데이터 레포지토리(118) 내 저장된 맵 타일 데이터(117)는 장소 페이지 데이터 레포지토리(120)의 장소 페이지 데이터(119)에 논리적으로 링크될 수 있다. 위치 데이터(202)는 지리적 구역을 표현하는 맵 타일(200)의 특정 지리적 위치를 설명하는 특정 좌표(202a)를 포함할 수 있다. 일부 실시예에 있어서, 위치 데이터(202)는 맵 타일(200)에 대한 북쪽, 남쪽, 동쪽 및 서쪽 경계와 같은 복수의 경계(202a)를 포함한다. 위치 데이터(202)는 전지구 측위 시스템(GPS) 또는 지리적 위치 또는 물리적 물체가 위치하는 곳을 결정할 수 있는 다른 시스템에 의해 결정되는 바와 같은 위도 및 경도 좌표를 포함할 수 있다. 맵 타일(200)의 각각의 피처(204)는 그래픽 컴포넌트(204a) 및 장소 페이지 데이터(204b)로의 논리적 링크를 포함할 수 있다. 각각의 피처(204)에 대한 그래픽 컴포넌트(204a)는 매핑 모듈(106)에 의해 렌더링되는 바와 같은 맵 타일 내 피처(204)를 보여주기 위해 맵 타일 데이터 레포지토리(118)로부터 검색된 벡터 데이터(204a1)를 포함할 수 있다. 각각의 피처(204)에 대한 라벨 데이터(204b)는 장소 페이지 데이터 레포지토리(120) 또는 다른 소스로부터 검색되는 바와 같이 피처(204)에 대응하는 명칭, 타이틀, 또는 다른 지명(204b1)과 같은 텍스트 데이터를 포함할 수 있다. 각각의 피처(204)에 대한 장소 페이지 데이터(204c)는 텍스트, 이미지, 웹 및 데이터 피드뿐만 아니라, 장소 페이지 데이터 레포지토리(120), 데이터 피드, 또는 다른 데이터 소스로부터 검색되는 바와 같이 피처(즉, 영업 장소, 랜드마크 등)에 대응하는 다른 정보도 포함할 수 있다. 각각의 피처(204)는 또한 위치 데이터(202)를 포함할 수 있다. 피처(204)에 대한 위치 데이터는 GPS 좌표, 맵 타일(200)의 경계(202a) 내 위치 등을 포함할 수 있다.
장소 페이지 데이터(204b, 204c)는 맵 타일(200) 내 피처(204)의 특성을 설명하는 다양한 정보 그룹을 포함할 수 있다. 일부 실시예에 있어서, 정보(204b, 204c)는 맵 타일(200) 내 그래픽 표현되는 영업소, 관심 지점, 쇼핑 센터, 공원 등에 대한 목록 정보를 포함한다. 정보(204b, 204c)는 또한 물체의 이력, 물리적 사양 등을 설명하는 사양 및 다른 정보를 포함할 수 있다. 예를 들어, 정보(204b, 204c)는 맵 타일(200) 내 영업소, 관심 지점 등에 대한 아이콘, 위치, 및 데이터(204b, 204c)를 포함하는 수개의 피처를 포함할 수 있다. 장소 페이지 데이터(204b, 204c)는 맵 타일(200) 내 아이콘 또는 다른 그래픽 아이템과 같은, 피처(204)에 의해 표현되는 특정 목록을 설명하는 다양한 웹 자원으로부터의 정보를 포함하는 웹 페이지를 렌더링하도록 텍스트, 사진, 및 다른 데이터를 포함할 수 있다.
도 3은 캐시 메모리(124) 내 저장을 위해 장소 페이지 데이터 레포지토리(120)로부터 풀링 또는 푸싱되고 후속하여 클라이언트 디바이스(102) 상에 디스플레이될 장소 페이지 데이터(119)를 결정하도록 시스템(100)에 의해 사용될 수 있는 사용자 지리적/개인 선호 데이터(130A)의 표현이다. 일부 실시예에 있어서, 다양한 소스(302)로부터의 사용자 개인 관심 데이터(125) 및 사용자 선호되는 지리적 위치 데이터(106A)는 지리적/개인 선호 데이터(130A)를 형성하도록 분석 및 조합될 수 있다. 지리적/개인 선호 데이터(130A)는 사용자의 선호되는 지리적 위치(106A) 및 개인 관심(125) 둘 다의 특성을 갖는 맵 피처(예를 들어, 영업 장소, 공원, 역사적 랜드마크 등)를 나타낼 수 있다. 예를 들어, 사용자가 "보스턴"에 대한 지리적 선호(즉, 현재 위치, 계획된 위치, 고향, 즐겨 찾는 위치, 매핑 애플리케이션 검색 결과 등) 및 "자가 양조"에 대한 개인 관심을 나타내는 경우, 지리적/개인 선호 데이터(130A)는 장소 페이지 데이터 레포지토리(120)로의 요청이 보스턴 근처 모든 자가 양조 또는 수제 맥주-관련 피처에 대한 장소 페이지 데이터(119)를 반환하게 되도록 그러한 선호의 조합을 포함할 수 있다.
지리적/개인 선호 데이터(130A)는 사용자 선호 모듈(140), 매핑 모듈(106), 또는 다른 모듈에 의해 다양한 데이터 소스(302)로부터 수집될 수 있다. 데이터(103A)는 그 후 분석을 위해 사용자 선호 시스템(114)의 백엔드 데이터 레포지토리(130)에 또는 클라이언트 컴퓨팅 디바이스(102) 상의 사용자 선호 데이터 레포지토리(126)에 보내질 수 있다. 사용자 활동 시스템 모듈(129)에 의한 분석을 위해 사용자 선호 시스템(114)은 하나 이상의 백엔드 레포지토리(130)에 데이터(130A)를 풀링할 수 있거나, 모듈(140)은 백엔드 사용자 선호 시스템(114)에 데이터(130A)를 푸싱할 수 있다. 모듈(140) 및 레포지토리(126)는 클라이언트 디바이스(102)와 통신하고 있거나 거기서 실행되고 있는 지리적/개인 선호 데이터-산출 애플리케이션, 웹사이트, 데이터 피드, 또는 다른 소스(302)를 포함하는 하나 이상의 소스(302)와 통신하고 있을 수 있다. 다른 실시예에 있어서, 소스(302)는 모듈(140) 또는 레포지토리(126)에 데이터(130A)를 보냄이 없이 사용자 활동 시스템(114)과 같은 백엔드 컴포넌트에 직접 데이터(130A)(예를 들어, 조합된 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125))를 주기적으로 보낼 수 있다. 예를 들어, 사용자 선호 시스템 서버(128) 상에서 실행되고 있는 백엔드 사용자 선호 시스템 모듈(129)은 클라이언트 디바이스(102)가 소스(302)로부터 직접 또는 레포지토리(126)로부터 사용자 개인 관심 데이터(125)를 그리고 매핑 애플리케이션(106)으로부터 사용자 선호되는 지리적 위치 데이터(106A)를 검색 또는 풀링하고 그 데이터를 시스템(114)에 포워딩하게 야기하는 컴퓨터-실행가능한 명령어를 포함할 수 있다. 다른 실시예에 있어서, 소스(302)는 클라이언트-측 레포지토리(126) 또는 매핑 시스템(106)에 데이터(130A)를 먼저 보내거나 클라이언트-측 사용자 선호 모듈(140)의 명령어를 실행함이 없이 모듈(129)에 의한 분석을 위해 사용자 선호 시스템(114)에 데이터(130A)를 주기적으로 보낸다.
데이터(130A)는 클라이언트 디바이스(102)와 통신하고 있거나 거기서 실행되고 있는 사용자 지리적/개인 데이터 소스(302)에 의해 산출되는 어떠한 유형의 프로파일, 사용자 이력, 로그, 또는 다른 데이터라도 포함할 수 있다. 일부 실시예에 있어서, 데이터(130A)는 웹 브라우저 애플리케이션으로부터의 웹 검색 이력 데이터(304), 여행 계획 애플리케이션으로부터의 여행 계획 데이터(306), 이메일 애플리케이션으로부터의 위치-관련 이메일 데이터(308), 지리적 위치(예를 들어, 고향 위치, 즐겨찾기 장소 데이터 엔트리 등)를 나타내는 소셜 네트워킹 데이터(310), 지리적 선호(311) 또는 다른 데이터(312) 등을 포함한다. 물론, 백엔드 사용자 선호 시스템 모듈(129) 및 프론트엔드 사용자 선호 모듈(140) 중 하나 이상은 선호되는 지리적 위치 또는 사용자 개인 선호를 나타내는 그리고 클라이언트 디바이스(102) 상에서 캐시 저장 및 후속 디스플레이를 위해 레포지토리(120)로부터 장소 페이지 데이터(119)를 사전-인출하는데 사용될 수 있는 데이터에 대한 어느 소스(302)라도 모니터링할 수 있다. 사용자 선호 데이터(304, 306, 308, 310, 311, 312)의 다양한 세트의 각각은 사용자에 대해 지리적/개인 선호(130A)(예를 들어, 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125))를 나타내는 데이터(314)를 포함할 수 있다.
도 4는 캐시 메모리(124) 내 저장 및 클라이언트 디바이스(102) 상의 후속 디스플레이를 위해 장소 페이지 데이터(119)를 사전-인출하기 위한 예의 방법(400)의 흐름도이다. 그 방법(400)은 유형적 컴퓨터-읽기가능한 매체에 저장되고 하나 이상의 서버(116, 128) 또는 클라이언트 디바이스(102)(예를 들어, 여기서 설명되는 바와 같이, 스마트 폰, 태블릿 컴퓨터, 또는 모바일 컴퓨팅 디바이스, 또는 다른 퍼스널 컴퓨팅 디바이스)의 프로세서(108)를 사용하여 실행되는 컴퓨터-실행가능한 명령어 형태의 하나 이상의 블록, 모듈, 함수 또는 루틴을 포함할 수 있다. 방법(400)은, 예를 들어, 라벨 장소 페이지 데이터(119)를 사전-인출하기 위한 시스템(100)에 대한 컴퓨팅 환경의 어느 모듈의 일부분으로서, 또는 그러한 시스템의 외부에 있는 모듈의 일부분으로서 포함될 수 있다. 예를 들어, 방법(400)은 백엔드 맵 컨트롤러(116c), 사용자 선호 시스템 모듈(129), 프론트엔드 사용자 선호 데이터 모듈(140), 또는 매핑 모듈(106)의 일부분일 수 있다. 방법(400)은 프론트엔드(102)에서 또는 백엔드(110)에서 실행할 수 있다. 더욱, 사용자는 시스템(100)이 클라이언트 디바이스(102)와 통신하고 있거나 거기서 실행되고 있는 어느 소스(302)로부터 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)를 수집 또는 송신하도록 허용 또는 금지하는 하나 이상의 옵션을 활성화 또는 비활성화할 수 있다. 예를 들어, 매핑 모듈(106)의 사용자 인터페이스는 여기서 설명되는 바와 같이 사용자가 어느 사용자 지리적/개인 선호 데이터(130A)(사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)의 조합을 포함) 수집의 옵트-인 또는 옵트-아웃을 가능하게 할 수 있다. 도 4는 설명의 용이함을 위해 도 1a, 도 1b, 도 2 및 도 3을 참조하여 설명될 것이지만, 방법(400)은 물론 다른 객체 및 사용자 인터페이스와 이용될 수 있다.
블록(402)에서, 방법(400)은 하나 이상의 개인 선호 데이터 소스(302)로부터 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)를 검색 또는 수신할 수 있다. 소스(302)로부터 검색된 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)는 클라이언트 디바이스(102)와 통신하고 있거나 거기서 실행되고 있는 사용자 지리적/개인 데이터 소스(302)에 의해 산출되는 프로파일, 사용자 이력, 로그, 또는 다른 데이터를 포함할 수 있다. 일부 실시예에 있어서, 사용자 지리적/개인 선호 데이터(130A)는 사용자 선호 시스템(114)으로부터의 요청에 응답하여 클라이언트 디바이스(102)로부터 검색될 수 있다. 추가적 실시예에 있어서, 클라이언트 디바이스(102)는 백엔드 컴포넌트(110)에 사용자 지리적/개인 선호 데이터(130A)를 주기적으로 보낼 수 있다. 또한 사용자 선호 시스템(114)은 클라이언트 컴퓨팅 디바이스(102) 및 다른 디바이스 둘 다의 사용자에게 공통인 웹 서비스 계정을 통해 사용자 선호 시스템(114) 또는 디바이스(102)에 링크된 또 다른 컴퓨팅 디바이스와 같은 다른 소스로부터 사용자 지리적/개인 선호 데이터(130A)를 검색/수신할 수 있다.
블록(404)에서, 방법(400)은 사용자 지리적/개인 선호 데이터(130A)를 결정하도록 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)를 분석할 수 있다. 일부 실시예에 있어서, 방법(400)은 분석을 위해 네트워크 커넥션을 통해 원격 사용자 활동 시스템(114) 또는 로컬 모듈(예를 들어, 사용자 선호 모듈(140), 매핑 모듈(106) 등)에 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)를 보낼 수 있다. 예를 들어, 사용자 선호 서버(128)는 데이터(106A, 125)를 수신 또는 검색할 수 있고 모듈(129 또는 106)은 사용자 지리적/개인 선호 데이터(130A)를 생성하도록 데이터(106A, 125)를 조합할 수 있다. 모듈(129)은 지리적 선호 및 개인 관심 선호 둘 다를 나타내는 데이터(106A, 125)로부터 투플을 생성하는 하나 이상의 컴퓨터-실행가능한 명령어를 포함할 수 있다. 사용자 선호되는 지리적 위치 데이터(106A) 및 사용자 개인 관심 데이터(125)로부터 결정된 결과적 사용자 지리적/개인 선호 데이터(130A)는 사용자의 지리적 관심을 나타내는 도시명, 주소, 공항 코드, GPS 좌표 또는 어느 다른 정보뿐만 아니라, 사용자의 개인 관심을 나타내는 사용자 프로파일, 개인 관심, 소셜 네트워킹, 및 다른 데이터를 포함할 수 있다. 그 후 모듈(129 또는 140)은 사용자 지리적/개인 선호 데이터(130A)를 포함하는 장소 페이지 데이터(119)에 대한 요청을 발생시킬 수 있다.
블록(408)에서, 모듈(129) 또는 모듈(140)은 매핑 시스템(112)에 사용자 선호 데이터(314)를 보낼 수 있다. 일부 실시예에 있어서, 데이터(130A)로부터 결정된 사용자 선호 데이터(314)는 사용자 선호 데이터(314)에 대응하는 장소 페이지 데이터(119)에 대한 요청으로서 매핑 시스템(112)에 보내질 수 있다. 모듈(129) 또는 모듈(140)은 또한 하나 이상의 데이터 레포지토리 내 사용자 선호 데이터(314)를 저장하는 컴퓨터-실행가능한 명령어를 포함할 수 있다. 예를 들어, 모듈(129) 또는 모듈(140)은 사용자 프로파일, 웹 검색 이력, 또는 다른 데이터 소스(302)를 분석하고 사용자 선호 데이터(314)를 결정할 수 있다. 일부 실시예에 있어서, 데이터(314)는 레포지토리(126) 내 저장될 수 있다. 그 후 데이터(314)는 레포지토리(126)로부터 풀링 또는 푸싱되고 백엔드 컴포넌트(예를 들어, 매핑 시스템(112), 사용자 선호 시스템(114) 등)에 보내질 수 있다.
사용자 지리적/개인 선호 데이터(130A) 또는 결정된 사용자 선호 데이터(314)는 또한 타임스탬프 정보를 포함할 수 있고 모듈은 사용자 활동 위치 데이터(314)의 결정이 데이터 캐싱을 보증할 임계 시간 기간을 결정하는 컴퓨터-실행가능한 명령어를 포함할 수 있다. 예를 들어, 모듈(129) 또는 모듈(140)이 일주일 시간 기간 내 "보스턴"에 대해 3개의 사용자 선호 데이터(314) 표시를 결정하였으면, 모듈은 하나 이상의 임계값이 초과되었음을 결정하고 보스턴의 도시 근처 사용자 선호/관심에 대응하는 장소 페이지 데이터를 검색 및 캐싱하는 추가적 명령어를 실행할 수 있다. 대조적으로, 모듈(129)이 일년의 시간 기간 내 "보스턴"에 대해 3개의 사용자 선호 데이터(314) 표시를 결정하였으면, 모듈(129) 또는 모듈(140)은 하나 이상의 임계값이 초과되지 않았음을 결정하고 보스턴에 대해 사용자의 관심에 대응하는 장소 페이지 데이터에 대한 매핑 시스템 요청을 실행하지 않을 수 있다. 물론, 블록(404, 408)은 다음으로 진행할지 결정하도록 사용자 지리적/개인 선호 데이터(130A)의 통계적 및 다른 분석을 수행할 수 있다.
블록(410)에서, 모듈(117)은 수신된 데이터(314)를 장소 페이지 데이터(119)에 매칭시키는 명령어를 실행할 수 있다. 일부 실시예에 있어서, 블록(410)은 수신된 사용자 선호 데이터(314)를 클라이언트 디바이스(102) 상에서 실행되고 있는 사용자 활동 모듈(140)에 의해 매핑 시스템(112)에 보내진 분석 결과(140)에 대응하는 장소 페이지 데이터(119)에 매칭시키는 명령어를 포함한다. 추가적 실시예에 있어서, 블록(410)은 수신된 사용자 선호 데이터(314)를 백엔드 컴포넌트(110)로서 실행되고 있는 사용자 활동 시스템(114)에 의해 매핑 시스템(112)에 보내진 분석 결과(140)에 대응하는 장소 페이지 데이터(119)에 매칭시키는 명령어를 포함한다.
블록(412)에서, 모듈(117)은 블록(410)에서 검색된 장소 페이지 데이터를 클라이언트 컴퓨팅 디바이스(102)에 보내는 명령어를 실행할 수 있다. 일부 실시예에 있어서, 블록(412)은 매핑 시스템(112)이 클라이언트 디바이스(102)의 캐시 메모리(124)에 장소 페이지 데이터(119)를 보내게 야기하는 명령어를 포함한다. 위에서 논의된 바와 같이, 장소 페이지 데이터(119)는 맵 타일 데이터에 비해 비교적 경량이기 때문에, 블록(412)은 처음에 장소 페이지 데이터(119)를 컴퓨팅 디바이스(106)에 보낼 수 있다. 더욱, 사용자가 그 또는 그녀의 주변과 친숙하고 네비게이션용 맵을 필요로 하지 않는 구역에 있어서, 장소 페이지 데이터(119) 단독으로 사용자에 대한 개인 관심 있는 영업소 또는 다른 맵 피처를 찾는데 충분할 수 있다. 추후, 맵 타일 데이터(117)는 검색될 수 있고 장소 페이지 데이터는 맵 타일 데이터(117) 상으로 레이어링되어 함께 그래픽 디스플레이될 수 있다. 방법(400)은 또한 클라이언트 컴퓨팅 디바이스(102) 상에서 실행되고 있는 매핑 모듈(106)에 검색된 장소 페이지 데이터(119)를 보낼 수 있다.
블록(414)에서, 장소 페이지 데이터(119)를 수신한 클라이언트 컴퓨팅 디바이스(102), 매핑 모듈(106), 또는 사용자 활동 모듈(140)은 수신된 데이터를 캐시 메모리(124) 내 저장하는 명령어를 실행할 수 있다. 그 후 매핑 모듈(106)은 캐싱된 장소 페이지 데이터를, 클라이언트 컴퓨팅 디바이스(102)와 백엔드 컴포넌트(110) 간 연결성 낮음 또는 없음의 기간 동안, 또는 그래픽 맵 데이터가 이용 불가능하거나 사용자에 의해 필요로 되지 않는 다른 시간 동안, 클라이언트 컴퓨팅 디바이스(102) 상에서의 디스플레이를 위해 캐시(110)로부터 사용할 수 있다.
도 5는 여기서 설명되는 방법 및 시스템을 구현하도록 사용될 수 있는 컴퓨팅 디바이스(501)를 갖는 모바일 매핑 시스템(500)에 대한 예시의 컴퓨팅 환경의 하이-레벨 블록 선도이다. 컴퓨팅 디바이스(501)는 모바일 컴퓨팅 디바이스(102)(예를 들어, 유선 또는 무선 통신을 할 수 있는 셀룰러 폰, 태블릿 컴퓨터, 와이파이-가능 디바이스 또는 다른 퍼스널 컴퓨팅 디바이스), 씬 클라이언트, 또는 다른 기지 유형의 컴퓨팅 디바이스를 포함할 수 있다. 당업자에 의해 인식될 바와 같이, 여기서의 개시 및 교시에 비추어, 다른 아키텍처를 갖는 다른 유형의 컴퓨팅 디바이스가 사용될 수 있다. 예시의 모바일 매핑 시스템(500)과 유사하거나 동일한 프로세서 시스템이 도 1의 예시의 시스템, 도 2 및 도 3의 데이터 구조, 도 4의 방법 등을 구현 및 실행하도록 사용될 수 있다. 예시의 모바일 매핑 시스템(500) 이 복수의 주변장치, 인터페이스, 칩, 메모리 등을 포함하는 것으로 아래에 설명되고 있지만, 이들 엘리먼트 중 하나 이상은 장소 페이지 데이터를 사전-인출하기 위해 예시의 시스템(100)을 구현 및 실행하도록 사용되는 다른 예시의 프로세서 시스템으로부터 생략될 수 있다. 또한, 다른 컴포넌트가 부가될 수 있다.
도 5에 도시된 바와 같이, 컴퓨팅 디바이스(501)는 상호접속 버스(504)에 결합되는 프로세서(502)를 포함한다. 프로세서(502)는 레지스터 세트 또는 레지스터 스페이스(506)를 포함하는데, 도 5에는 전체가 온-칩인 것으로 묘사되어 있지만, 대안으로 전체적으로 또는 부분적으로 오프-칩 위치하고 전용 전기적 커넥션을 통해 그리고/또는 상호접속 버스(504)를 통해 프로세서(502)에 결합될 수 있다. 프로세서(502)는 어느 적합한 프로세서, 프로세싱 유닛 또는 마이크로프로세서일 수 있다. 도 5에 도시되어 있지는 않지만, 컴퓨팅 디바이스(501)는 멀티-프로세서 디바이스일 수 있고, 그래서, 프로세서(502)와 동일하거나 유사한 그리고 상호접속 버스(504)에 통신 결합되는 하나 이상의 부가적 프로세서를 포함할 수 있다.
도 5의 프로세서(502)는 메모리 컨트롤러(510) 및 주변 입/출력(I/O) 컨트롤러(512)를 포함하는 칩셋(508)에 결합되어 있다. 잘 알려져 있는 바와 같이, 전형적으로 칩셋은 I/O 및 메모리 관리 기능뿐만 아니라, 칩셋(508)에 결합된 하나 이상의 프로세서에 의해 사용 또는 액세스가능한 복수의 범용 및/또는 특수 목적 레지스터, 타이머 등을 제공한다. 메모리 컨트롤러(510) 는 프로세서(502)(또는 다중 프로세서가 있으면 프로세서들)가 시스템 메모리(514) 및 대용량 저장 메모리(516)에 액세스 가능하게 하는 기능을 수행한다.
시스템 메모리(514)는 예를 들어 정적 램(SRAM), 동적 램(DRAM), 플래시 메모리, 롬(ROM) 등과 같은 어느 소망 유형의 휘발성 및/또는 비-휘발성 메모리를 포함할 수 있다. 대용량 저장 메모리(516)는 어느 소망 유형의 대용량 저장 디바이스를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(501)는 (도 4의 방법(400)에 의해 설명되는 바와 같은 명령어를 포함하는) 사용자 선호 모듈(520) 및 API(519)를 갖는 매핑 애플리케이션(518)을 구현하도록 사용되고, 대용량 저장 메모리(516)는 하드 디스크 드라이브, 광학 드라이브, 테이프 저장 디바이스, 솔리드-스테이트 메모리(예를 들어, 플래시 메모리, RAM 메모리 등), 자기 메모리(예를 들어, 하드 드라이브), 또는 대용량 저장에 적합한 어느 다른 메모리를 포함할 수 있다. 여기서 사용되는 바와 같이, 용어 모듈, 블록, 함수, 동작, 프로시저, 루틴, 단계 및 방법은 컴퓨팅 디바이스(501) 및 모바일 매핑 시스템(500)에 지정 기능성을 제공하는 유형적 컴퓨터 프로그램 로직 또는 유형적 컴퓨터 실행가능한 명령어를 지칭한다. 그래서, 모듈, 블록, 함수, 동작, 프로시저, 루틴, 단계 및 방법은 하드웨어, 펌웨어, 및/또는 소프트웨어로 구현될 수 있다. 일 실시예에 있어서, 프로그램 모듈 및 루틴(예를 들어, 매핑 애플리케이션(518), API(519), 사용자 활동 모듈(520) 등)은 대용량 저장 메모리(516)에 저장되고, 시스템 메모리(514)에 로딩되고, 프로세서(502)에 의해 실행되거나, 또는 유형적 컴퓨터-읽기가능한 저장 매체(예를 들어, RAM, 하드 디스크, 광학/자기 매체 등)에 저장되어 있는 컴퓨터 프로그램 제품으로부터 제공될 수 있다. 또한 대용량 저장소(516)는 사용자 선호(520) 및 매핑 매플리케이션(518)에 의한 사용을 위해 사전-인출된 장소 페이지 데이터, 그래픽, 및 다른 데이터를 저장하는 캐시 메모리(521)를 포함할 수 있다.
주변 I/O 컨트롤러(510)는 프로세서(502)가 주변장치 I/O 버스(528)를 통해 (네트워크 인터페이스(526)를 통해) GPS 트랜시버(529), 로컬 네트워크 트랜시버(528), 셀룰러 네트워크 트랜시버(527), 네트워크 인터페이스(526), 및 주변장치 입/출력(I/O) 디바이스(522, 524)와 통신 가능하게 하는 기능을 수행한다. I/O 디바이스(522, 524)는, 예를 들어, 키보드, 디스플레이(예를 들어, 액정 디스플레이(LCD), 캐소드 레이 튜브(CRT) 디스플레이 등), 네비게이션 디바이스(예를 들어, 마우스, 트랙볼, 용량성 터치 패드, 조이스틱 등) 등과 같은 어느 소망 유형의 I/O 디바이스일 수 있다. I/O 디바이스(522, 524)는 도면과 관련하여 설명되는 바와 같이, GPS 트랜시버(529)로부터 GPS 데이터를 수신하고, GPS 데이터를 시스템(100)의 백엔드 컴포넌트에 보내고, 맵 및 사용자 인터페이스를 렌더링 및 디스플레이하도록 매핑 애플리케이션(518) 및 사용자 활동 모듈(520)과 사용될 수 있다. 셀룰러 전화 트랜시버(527)는 로컬 네트워크 트랜시버(528)와 상주할 수 있다. 로컬 네트워크 트랜시버(528)는 와이-파이 네트워크, 블루투스, 적외선, 또는 다른 무선 데이터 송신 프로토콜을 포함할 수 있다. 다른 실시예에 있어서, 하나의 엘리먼트는 컴퓨팅 디바이스(501)에 의해 채용되는 다양한 무선 프로토콜의 각각을 동시에 지원할 수 있다. 예를 들어, 소프트웨어-정의된 라디오는 다운로드가능한 명령어를 통해 다중 프로토콜을 지원할 수 있다. 동작에 있어서, 컴퓨팅 디바이스(501)는 주기적 기준으로 가시 무선 네트워크 송신기(셀룰러 및 로컬 네트워크 둘 다)에 대해 주기적으로 폴링할 수 있다. 그러한 폴링은 정규 무선 트래픽이 컴퓨팅 디바이스(501) 상에서 지원되고 있는 동안에도 가능할 수 있다. 네트워크 인터페이스(528)는, 예를 들어, 시스템(100)을 가능으로 하여 시스템(100)과 관련하여 설명된 적어도 그 엘리먼트를 갖는 또 다른 컴퓨터 시스템과 통신하도록 장소 페이지 데이터를 사전-인출하게 하는 이더넷 디바이스, 비동기식 전송 모드(ATM) 디바이스, 802.11 무선 인터페이스 디바이스, DSL 모뎀, 케이블 모뎀, 셀룰러 모뎀 등일 수 있다.
메모리 컨트롤러(512) 및 I/O 컨트롤러(510)가 칩셋(508) 내 별개 기능 블록으로 도 5에 묘사되어 있지만, 이들 블록에 의해 수행된 기능은 단일 집적 회로 내 통합될 수 있거나 또는 둘 이상의 별개 집적 회로를 사용하여 구현될 수 있다. 모바일 매핑 시스템(500)은 또한 원격 컴퓨팅 디바이스(530, 532) 상에 매핑 애플리케이션(518) 및 사용자 선호 모듈(520)을 구현할 수 있다. 원격 컴퓨팅 디바이스(530, 532)는 이더넷 링크(534)를 통해 컴퓨팅 디바이스(501)와 통신할 수 있다. 예를 들어, 컴퓨팅 디바이스(501)는 원격 컴퓨팅 디바이스(530, 532) 상에서 실행되고 있는 매핑 애플리케이션에 의해 생성된 매핑 데이터를 수신할 수 있다. 일부 실시예에 있어서, 매핑 애플리케이션(518) 및/또는 사용자 선호 모듈(520)은 인터넷(538)을 통해 클라우드 컴퓨팅 서버(536)로부터 컴퓨팅 디바이스(501)에 의해 검색될 수 있다. 클라우드 컴퓨팅 서버(536)를 사용할 때, 검색된 매핑 애플리케이션(518) 및/또는 사용자 선호 모듈(520)은 컴퓨팅 디바이스(501)와 프로그램에 따라 링크될 수 있다. 매핑 애플리케이션(518) 및/또는 사용자 선호 모듈(520)은 컴퓨팅 디바이스(501) 또는 원격 컴퓨팅 디바이스(530, 532)에 상주하는 Java®Virtual Machine(JVM) 환경 내 실행되고 있는 Java®애플릿일 수 있다. 매핑 애플리케이션(518) 및/또는 사용자 선호 모듈(520)은 또한 컴퓨팅 디바이스(501, 530, 532) 상에 위치하는 웹-브라우저에서 실행하도록 적응된 "플러그-인"일 수 있다. 일부 실시예에 있어서, 매핑 애플리케이션(518) 및/또는 사용자 선호 모듈(520)은 인터넷(538)을 통해 데이터 시스템(112) 및 사용자 선호 시스템(114)과 같은 백엔드 컴포넌트(540)와 통신할 수 있다.
위에서 설명된 시스템 및 프로시저를 사용하여, 장소 페이지 데이터를 사전-인출하기 위한 시스템(100) 및 매핑 시스템(500)은 사용자 선호에 대응하는 지리적 위치를 나타내는 컴퓨팅 디바이스로부터의 데이터를 검색 및 분석할 수 있다. 사용자 프로파일, 표현된 관심, 또는 다른 데이터는 장소 페이지 데이터를 사전-인출하기 위한 가능성 있는 위치를 결정하도록 파싱될 수 있다. 유사하게, 로컬 또는 원격 사용자 지리적/개인 선호 데이터는 모바일 디바이스에 저장되고, 사용자 선호 시스템 또는 다른 시스템에 포워딩되고, 원격 매핑 시스템에 의해 사용되어 장소 페이지 데이터를 사전-인출할 위치를 제공할 수 있다. 물론, 여기서 설명되는 시스템은 사용자가 여기서 설명되는 사용자 지리적/개인 선호 데이터 수집 방법 중 어느 것이라도 옵트-아웃 할 수 있는 사용자 인터페이스를 사용자에게 제시할 수 있다.
시스템(500)은 국한되는 것은 아니지만 LAN, MAN, WAN, 모바일, 유선 또는 무선 네트워크, 프라이빗 네트워크, 또는 가상 프라이빗 네트워크의 어느 조합을 포함할 수 있다. 더욱, 설명을 단순화 및 명확화 하기 위해 3개의 원격 컴퓨팅 디바이스(530, 532)만이 도 5에 예시되어 있지만, 어떠한 수의 클라이언트 컴퓨터라도 시스템(500) 내 지원되고 통신하고 있을 수 있다.
부가적으로, 특정 실시예가 로직 또는 소정 수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 여기서 설명되어 있다. 모듈은 소프트웨어 모듈(예를 들어, 송신 신호로 또는 머신-읽기가능한 매체 상에 구체화된 명령어 또는 코드, 여기서 코드는 프로세서에 의해 실행되는 것) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 특정 동작을 수행할 수 있는 유형적 유닛이고 특정 방식으로 구성 또는 배열될 수 있다. 예시의 실시예에 있어서, 하나 이상의 컴퓨터 시스템(예를 들어, 스탠드얼론, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 여기서 설명되는 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에 있어서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 (예를 들어, 필드 프로그래밍 가능한 게이트 어레이(FPGA) 또는 애플리케이션-특정 집적 회로(ASIC)와 같은 특수-목적 프로세서로서) 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 또한 하드웨어 모듈은 특정 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 (예를 들어, 범용 프로세서 또는 다른 프로그래밍 가능한 프로세서 내 포함되는 바와 같은) 프로그래밍 가능한 로직 또는 회로를 포함할 수 있다. 전용 및 영구적으로 구성된 회로로 또는 (예를 들어, 소프트웨어에 의해 구성된) 일시적으로 구성된 회로로, 기계적으로 하드웨어 모듈을 구현하는 결정은 비용 및 시간을 고려하여 유도될 수 있음을 인식할 것이다.
따라서, "하드웨어"라는 용어는 엔티티가 여기서 설명된 소정 동작을 수행하기 위해 또는 소정 방식으로 동작하기 위해 물리적으로 구성되든, 영구적으로 구성되든(예를 들어, 하드와이어드) 또는 일시적으로 구성되든(예를 들어, 프로그래밍) 그러한 유형적 엔티티를 아우르는 것으로 이해되어야 한다. 여기서 사용되는 바와 같이, "하드웨어-구현된 모듈"은 하드웨어 모듈을 지칭한다. 하드웨어 모듈이 일시적으로 구성되는(예를 들어, 프로그래밍되는) 실시예를 고려하면, 하드웨어 모듈의 각각이 어느 일 순시에서라도 실체화 또는 구성될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우에, 범용 프로세서는 다른 시각에서 각자의 다른 하드웨어 모듈로서 구성될 수 있다. 따라서, 소프트웨어는 예를 들어 일 순시에서 특정 하드웨어 모듈을 구성하도록 그리고 다른 순시에서 다른 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 그로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신 결합되는 것으로 생각될 수 있다. 다중의 그러한 하드웨어 모듈이 동시에 존재하는 경우에, 통신은 하드웨어 모듈을 접속하는 신호 전송을 통해 (예를 들어, 적절한 회로 및 버스를 통해) 달성될 수 있다. 다중의 하드웨어 모듈이 서로 다른 시각에 실체화 또는 구성되는 실시예에 있어서, 그러한 하드웨어 모듈 사이의 통신은 예를 들어 다중 하드웨어 모듈이 액세스할 수 있는 메모리 구조에 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 그 동작의 출력을 그것이 통신 결합되는 메모리 디바이스에 저장할 수 있다. 그 후, 추후 시각에, 또 다른 하드웨어 모듈이 저장된 출력을 검색 및 프로세싱하기 위해 메모리 디바이스에 액세스할 수 있다. 또한 하드웨어 모듈은 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 자원(예를 들어, 정보 모음) 상에 동작할 수 있다.
여기서 설명된 예시의 방법의 다양한 동작은, 적어도 일부, 관련 동작을 수행하기 위해 영구적으로 구성되거나 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되는 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로 구성되든 영구적으로 구성되든, 그러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서-구현된 모듈을 구성할 수 있다. 여기서 지칭되는 모듈은 어떤 예의 실시예에서는 프로세서-구현된 모듈을 포함할 수 있다.
유사하게, 여기서 설명되는 방법 또는 루틴은 적어도 일부 프로세서-구현될 수 있다. 예를 들어, 방법의 동작의 적어도 일부는 하나 이상의 프로세서 또는 프로세서-구현된 하드웨어 모듈에 의해 수행될 수 있다. 동작 중 어떤 것의 수행은 단일 머신 내 상주하는 것뿐만 아니라 소정 수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에 분산될 수 있다. 어떤 예의 실시예에 있어서, 프로세서 또는 프로세서들은 단일 위치에 (예를 들어, 집 환경, 사무소 환경 내 또는 서버 팜으로서) 위치할 수 있는 한편, 다른 실시예에서는 프로세서들이 소정 수의 위치에 걸쳐 분산될 수 있다.
또한 하나 이상의 프로세서는 "클라우드 컴퓨팅" 환경에서 또는 "서비스형 소프트웨어"(SaaS)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 동작의 적어도 일부는 (프로세서를 포함하는 머신의 예로서) 컴퓨터 그룹에 의해 수행될 수 있고, 이들 동작은 네트워크(예를 들어, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(API))를 통해 액세스 가능하다.
동작 중 어떤 것의 수행은 단일 머신 내 상주하는 것뿐만 아니라 소정 수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에 분산될 수 있다. 어떤 예의 실시예에 있어서, 하나 이상의 프로세서 또는 프로세서-구현된 모듈은 단일 지리적 위치에 (예를 들어, 집 환경, 사무소 환경 또는 서버 팜 내) 위치할 수 있다. 다른 예의 실시예에 있어서, 하나 이상의 프로세서 또는 프로세서-구현된 모듈은 소정 수의 지리적 위치에 걸쳐 분산될 수 있다.
이 명세서의 일부는 머신 메모리(예를 들어, 컴퓨터 메모리) 내에 비트 또는 이진 디지털 신호로서 저장된 데이터 상에의 동작의 기호적 표현 또는 알고리즘의 관점에서 제시되고 있다. 이들 알고리즘 또는 기호적 표현은 다른 당업자에게 그 작업의 실체를 전하기 위해 데이터 프로세싱 분야의 당업자에 의해 사용된 기술의 예이다. 여기서 사용되는 바와 같이, "알고리즘"은 소망의 결과에 이르는 자기 모순 없는 동작 시퀀스 또는 유사한 프로세싱이다. 이러한 맥락에 있어서, 알고리즘 및 동작은 물리적 수량의 물리적 조작을 관련시킨다. 전형적으로, 반드시 그런 것은 아니지만, 그러한 수량은 머신에 의해 저장되거나, 액세스되거나, 전송되거나, 조합되거나, 비교되거나 그렇지 않으면 조작될 수 있는 전기적, 자기적 또는 광학적 신호의 형태를 취할 수 있다. 때로는, 주로 공통 용례의 이유로, "데이터", "컨텐트", "비트", "값", "엘리먼트", "심벌", "캐릭터", "텀즈", "넘버", "숫자" 등과 같은 단어를 사용하여 그러한 신호를 가리키는 것이 편리하다. 그렇지만, 이들 단어는 단지 편리한 라벨일 뿐이고 적절한 물리적 수량과 연관되는 것이다.
특별히 달리 서술되지 않는 한, "프로세싱", "컴퓨팅", "계산", "결정", "제시", "디스플레이" 등과 같은 단어를 사용하는 여기서의 논의는 정보를 수신, 저장, 송신 또는 디스플레이하는 하나 이상의 메모리(예를 들어, 휘발성 메모리, 비-휘발성 메모리 또는 그 조합), 레지스터 또는 다른 머신 컴포넌트 내 물리적(예를 들어, 전자적, 자기적 또는 광학적) 수량으로 표현된 데이터를 조작 또는 변환하는 머신(예를 들어, 컴퓨터)의 액션 또는 프로세스를 지칭할 수 있다.
여기서 사용되는 바와 같이 "일 실시예" 또는 "일부 실시예"의 어떠한 지칭이라도 실시예와 연관하여 설명된 특정 엘리먼트, 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함됨을 의미한다. 명세서에 다양한 곳에서 문구 "일부 실시예에 있어서"의 나타남은 반드시 모두 동일 실시예를 가리키는 것은 아니다.
일부 실시예는 그 파생어와 함께 "결합" 및 "접속"이라는 표현을 사용하여 설명될 수 있다. 예를 들어, 일부 실시예는 2개 이상의 엘리먼트가 직접적 물리적 또는 전기적 접촉하고 있음을 나타내기 위해 용어 "결합"을 사용하여 설명될 수 있다. 그렇지만, 용어 "결합"은 또한 2개 이상의 엘리먼트가 서로 직접 접촉하고 있지는 않지만 여전히 서로 협력하거나 상호작용함을 의미할 수도 있다. 실시예는 이러한 맥락에 한정되지는 않는다.
더욱, 도면은 단지 예시의 목적으로 장소 페이지 데이터를 사전-인출하기 위한 시스템의 바람직한 실시예를 묘사하고 있다. 당업자는 여기에 예시된 구조 및 방법의 대안의 실시예가 여기서 설명되는 원리로부터 벗어남이 없이 채용될 수 있음을 이하의 논의로부터 쉽게 인식할 것이다.
본 개시를 읽을 때, 당업자는 여기서 개시된 원리를 통하여 모바일 컴퓨팅 디바이스 상에서의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 시스템 및 프로세스에 대한 또 다른 부가적 대안의 구조적 및 기능적 설계를 인식할 것이다. 그래서, 특정 실시예 및 애플리케이션이 예시 및 설명되었지만, 개시된 실시예는 여기서 개시된 바로 그 구성 및 컴포넌트로 한정되는 것은 아님을 이해해야 한다. 당업자에게 명백할 다양한 수정, 변경 및 변형은 첨부 청구범위에서 정의된 취지 및 범위로부터 벗어남이 없이 여기서 개시된 방법 및 장치의 배열, 동작 및 상세로 이루어질 수 있다.

Claims (1)

  1. 클라이언트 컴퓨팅 디바이스 상에서의 후속 디스플레이를 위해 원격 매핑 시스템으로부터 상기 클라이언트 컴퓨팅 디바이스 상에서 실행되고 있는 매핑 애플리케이션에 장소 페이지 데이터를 사전-인출하기 위한 컴퓨터-구현 방법으로서, 상기 방법은,
    사용자 선호 데이터를 결정하기 위해 사용자 선호되는 지리적 위치 데이터 및 사용자 개인 관심 데이터를 분석하는 단계 -상기 사용자 선호되는 지리적 위치 데이터는 상기 클라이언트 컴퓨팅 디바이스의 사용자에 의해 선호되는 하나 이상의 특정 맵 위치를 나타내는 데이터를 포함하고, 상기 사용자 개인 관심 데이터는 상기 사용자의 개인 관심을 나타내는 데이터를 포함함-;
    상기 사용자 선호 데이터를 분석하여, i) 특정의 줌 레벨에서 상기 하나 이상의 특정 맵 위치의 대화형 디지털 맵을 렌더링하기 위한 벡터 형식의 맵 데이터와, ii) 상기 하나 이상의 특정 맵 위치에서 상기 사용자의 개인 관심에 대응하는 상기 원격 매핑 시스템의 장소 페이지 데이터를 결정하는 단계 -상기 장소 페이지 데이터는 상기 사용자의 개인 관심 및 상기 하나 이상의 특정 맵 위치 둘 다에 대응하는 맵 피처를 설명하는 텍스트, 그래픽, 및 데이터 피드 데이터 중 하나 이상을 포함하며, 상기 맵 데이터 및 상기 장소 페이지 데이터는 동일한 지리적 영역에 대응함 -;
    상기 맵 데이터 및 상기 장소 페이지 데이터를 상기 원격 매핑 시스템으로부터 상기 클라이언트 컴퓨팅 디바이스에 보내는 단계;
    상기 맵 데이터 및 상기 장소 페이지 데이터를 상기 클라이언트 컴퓨팅 디바이스의 캐시 메모리에 저장하는 단계; 및
    상기 원격 매핑 시스템과 상기 클라이언트 컴퓨팅 디바이스 간 추가적 통신 없이 상기 클라이언트 컴퓨팅 디바이스의 상기 캐시 메모리로부터 상기 맵 데이터 및 상기 장소 페이지 데이터를 후속 검색하는 단계를 포함하는 것인 컴퓨터-구현 방법.
KR1020197028514A 2011-12-08 2012-11-14 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치 KR102089012B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/314,925 US9305107B2 (en) 2011-12-08 2011-12-08 Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US13/314,925 2011-12-08
PCT/US2012/065008 WO2013085680A1 (en) 2011-12-08 2012-11-14 Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147018382A Division KR102028624B1 (ko) 2011-12-08 2012-11-14 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190116528A true KR20190116528A (ko) 2019-10-14
KR102089012B1 KR102089012B1 (ko) 2020-04-24

Family

ID=48573049

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147018382A KR102028624B1 (ko) 2011-12-08 2012-11-14 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치
KR1020197028514A KR102089012B1 (ko) 2011-12-08 2012-11-14 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147018382A KR102028624B1 (ko) 2011-12-08 2012-11-14 모바일 컴퓨팅 디바이스 상의 후속 디스플레이를 위해 장소 페이지 데이터를 사전-인출하기 위한 방법 및 장치

Country Status (9)

Country Link
US (2) US9305107B2 (ko)
EP (2) EP2788948B1 (ko)
JP (1) JP6181070B2 (ko)
KR (2) KR102028624B1 (ko)
CN (2) CN104221046B (ko)
AU (2) AU2012348295B2 (ko)
CA (1) CA2856826C (ko)
DE (1) DE202012013435U1 (ko)
WO (1) WO2013085680A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305107B2 (en) 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US9154574B2 (en) * 2012-02-20 2015-10-06 International Business Machines Corporation Activating location-based resources in a networked computing environment
US9201926B2 (en) * 2012-02-24 2015-12-01 GM Global Technology Operations LLC Integrated travel services
CN103514799B (zh) * 2012-06-25 2014-12-10 腾讯科技(深圳)有限公司 地图服务器、视野的控制方法和***
US8849942B1 (en) * 2012-07-31 2014-09-30 Google Inc. Application programming interface for prefetching map data
US11481091B2 (en) 2013-05-15 2022-10-25 Google Llc Method and apparatus for supporting user interactions with non- designated locations on a digital map
US9241240B2 (en) * 2013-09-05 2016-01-19 Facebook, Inc Techniques for server-controlled tiling of location-based information
EP3120340B1 (en) * 2014-03-15 2019-05-08 Urban Engines, Inc. Solution for highly customized interactive mobile maps
US9686692B2 (en) * 2014-03-20 2017-06-20 Microsoft Technology Licesning, LLC Wi-Fi tile transfer
US11200589B2 (en) 2014-03-22 2021-12-14 Retaiimenot, Inc. Multi-stage geolocated offers
AU2015236575A1 (en) * 2014-03-22 2016-09-15 Retailmenot, Inc. Caching geolocated offers
US10848544B2 (en) * 2014-09-02 2020-11-24 Apple Inc. Communicating mapping application data between electronic devices
US9652395B2 (en) * 2015-05-08 2017-05-16 Lenovo (Singapore) Pte. Ltd. Configuration of standby portion of memory based on context
US10890567B2 (en) 2015-06-10 2021-01-12 Siemens Aktiengesellschaft Method and chromatograph to acquire and display real-time chromatogram using time-stamped messages
US10309794B2 (en) * 2016-03-04 2019-06-04 GM Global Technology Operations LLC Progressive map maintenance at a mobile navigation unit
US10319062B2 (en) * 2016-09-27 2019-06-11 Google Llc Rendering map data using descriptions of raster differences
US20180276880A1 (en) * 2017-03-21 2018-09-27 EarthX, Inc. System and method for rendering geospatial maps
US10516758B2 (en) * 2017-04-21 2019-12-24 National Taiwan Normal University Method for providing personal information
CN109215643B (zh) * 2017-07-05 2023-10-24 阿里巴巴集团控股有限公司 一种交互方法、电子设备及服务器
CN108595475B (zh) * 2018-03-12 2022-03-04 电子科技大学 一种移动社会网络中的缓存节点选择方法
KR102658819B1 (ko) 2018-06-15 2024-04-19 삼성전자주식회사 리소스 캐싱 방법 및 이를 지원하는 전자 장치
US11449769B2 (en) * 2019-04-11 2022-09-20 International Business Machines Corporation Cognitive analytics for graphical legacy documents
US11594004B2 (en) * 2019-12-26 2023-02-28 International Business Machines Corporation Distributed vector-raster fusion
US11556947B2 (en) 2021-06-08 2023-01-17 FullThrottle Technologies, LLC Location determination using anonymous browser data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264308A (ja) * 1996-04-24 2004-09-24 Fujitsu Ltd 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ
KR100571347B1 (ko) * 2002-10-15 2006-04-17 학교법인 한국정보통신학원 사용자 선호도 기반의 멀티미디어 컨텐츠 서비스 시스템과방법 및 그 기록 매체
KR20100125561A (ko) * 2009-05-21 2010-12-01 삼성에스디에스 주식회사 푸쉬 정책을 활용한 위치기반 실시간 맞춤콘텐츠 푸쉬시스템 및 방법
US20110087842A1 (en) * 2009-10-12 2011-04-14 Microsoft Corporation Pre-fetching content items based on social distance

Family Cites Families (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345086A (en) 1962-11-28 1994-09-06 Eaton Corporation Automatic map compilation system
IE61778B1 (en) 1989-01-04 1994-11-30 Emyville Enterprises Image processing
US5793310A (en) 1994-02-04 1998-08-11 Nissan Motor Co., Ltd. Portable or vehicular navigating apparatus and method capable of displaying bird's eye view
US5848373A (en) 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
JP3370526B2 (ja) 1996-04-24 2003-01-27 富士通株式会社 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ
EP0827340A3 (en) 1996-08-30 1999-10-06 Matsushita Electric Industrial Co., Ltd. Terminal apparatus and method for achieving interactive operations
US6047280A (en) 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
US5831640A (en) 1996-12-20 1998-11-03 Cirrus Logic, Inc. Enhanced texture map data fetching circuit and method
US5905508A (en) 1997-04-01 1999-05-18 Microsoft Corporation Method and system for dynamically plotting an element on an image using a table
US6199150B1 (en) 1997-07-15 2001-03-06 Matsushita Electric Industrial Co., Ltd. Data memory apparatus forming memory map having areas with different access speeds
US6061688A (en) 1997-11-04 2000-05-09 Marathon Oil Company Geographical system for accessing data
JPH11224047A (ja) 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 地図情報提供方法及びそれに用いられる端末装置
US6073076A (en) 1998-03-27 2000-06-06 Navigation Technologies Corporation Memory management for navigation system
US6094685A (en) 1998-04-14 2000-07-25 Ascend Communications, Inc. Use of control blocks to map multiple unidirectional connections
US6400690B1 (en) 1998-10-15 2002-06-04 International Business Machines Corporation Dual map system for navigation and wireless communication
US6442757B1 (en) 1999-03-15 2002-08-27 Index Systems, Inc. System and method of channel map correction in an EPG guide
JP2002544597A (ja) * 1999-05-07 2002-12-24 アーゴウ インターラクティブ リミテッド リンクデータアイテムに対するディスプレイテキスト修正
JP2001012957A (ja) 1999-06-29 2001-01-19 Mitsubishi Electric Corp カーナビゲーション用地図更新システムおよびカーナビゲーション端末
US6421354B1 (en) 1999-08-18 2002-07-16 Phoenix Datacomm, Inc. System and method for retrieval of data from remote sensors using multiple communication channels
JP2001075967A (ja) 1999-08-31 2001-03-23 Denso Corp 地図データの更新用情報作成方法及び地図データの差分更新システム
EP1102510A1 (en) 1999-10-12 2001-05-23 Taskin Sakarya Location system for mobile telephones
US6615131B1 (en) 1999-12-21 2003-09-02 Televigation, Inc. Method and system for an efficient operating environment in a real-time navigation system
US7502876B1 (en) 2000-06-23 2009-03-10 Mips Technologies, Inc. Background memory manager that determines if data structures fits in memory with memory state transactions map
US6684250B2 (en) 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
US8060389B2 (en) 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US8073565B2 (en) * 2000-06-07 2011-12-06 Apple Inc. System and method for alerting a first mobile data processing system nearby a second mobile data processing system
US6456234B1 (en) * 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US6671424B1 (en) 2000-07-25 2003-12-30 Chipworks Predictive image caching algorithm
US6703947B1 (en) 2000-09-22 2004-03-09 Tierravision, Inc. Method for organizing and compressing spatial data
EP1364510B1 (en) 2000-10-26 2007-12-12 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US6724382B2 (en) 2000-12-04 2004-04-20 Wildtangent, Inc. Method and apparatus for distributing and displaying maps electronically
GB2370460A (en) 2000-12-21 2002-06-26 Nokia Mobile Phones Ltd Segmented route guidance
US6691128B2 (en) 2001-04-19 2004-02-10 Navigation Technologies Corp. Navigation system with distributed computing architecture
US7082365B2 (en) * 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system
JP2003067721A (ja) 2001-08-24 2003-03-07 Pioneer Electronic Corp 地図画像表示システムおよび方法
EP1288625B1 (en) 2001-08-31 2011-07-27 Pioneer Corporation Communication-type navigation apparatus and server device
JP4860847B2 (ja) 2001-09-03 2012-01-25 パイオニア株式会社 通信ナビゲーションシステム及び方法、並びにコンピュータプログラム
US7962565B2 (en) 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
US7006820B1 (en) 2001-10-05 2006-02-28 At Road, Inc. Method for determining preferred conditions for wireless programming of mobile devices
US7103369B2 (en) * 2001-10-16 2006-09-05 Matsushita Electric Industrial Co., Ltd. System and method for obtaining content relating to a predicted location of a terminal apparatus
AU2002366902A1 (en) * 2001-12-21 2003-07-09 Nokia Corporation Location-based novelty index value and recommendation system and method
US20030135493A1 (en) * 2002-01-15 2003-07-17 Jeffrey Phelan Method and apparatus for consuming information based on a geographic location profile of a user
US6907345B2 (en) * 2002-03-22 2005-06-14 Maptech, Inc. Multi-scale view navigation system, method and medium embodying the same
US7263368B2 (en) 2002-03-28 2007-08-28 Intel Corporation Anticipation of communication connectivity changes for mobile devices
US8516114B2 (en) 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
EP1507246B1 (en) 2002-05-17 2018-07-18 Clarion Co., Ltd. Map data product, map data processing program product, map data processing method, and map data processing device
JP2004020220A (ja) 2002-06-12 2004-01-22 Pioneer Electronic Corp 通信システム及び方法、通信端末装置、通信センタ装置、並びにコンピュータプログラム
AU2003253436A1 (en) * 2002-08-29 2004-03-19 Matsushita Electric Industrial Co., Ltd. Content processing apparatus and content display apparatus based on location information
US20040049784A1 (en) 2002-09-06 2004-03-11 General Instrument Corporation Method and apparatus for scrolling television programming data on screen during program viewing
JP3803629B2 (ja) 2002-10-01 2006-08-02 株式会社ザナヴィ・インフォマティクス 地図データ送信方法、情報配信装置、および情報端末
US20060106534A1 (en) 2002-10-22 2006-05-18 Yukihiro Kawamata Map data delivering method for communication-type navigation system
GB2395808A (en) 2002-11-27 2004-06-02 Sony Uk Ltd Information retrieval
EP1426876A1 (en) * 2002-12-04 2004-06-09 H.W.S.- Hardware Solution Limited Geographical information system
JP4065202B2 (ja) 2003-01-07 2008-03-19 三菱電機株式会社 地図データ処理装置およびセンターシステム
US8209375B2 (en) 2003-03-07 2012-06-26 Ricoh Co., Ltd. Communication of compressed digital images with restricted access and server/client hand-offs
JP4307121B2 (ja) 2003-03-25 2009-08-05 三菱電機株式会社 地図データ処理装置
TW200424963A (en) 2003-05-02 2004-11-16 Sin Etke Technology Co Ltd Cross country navigation system
US9286795B2 (en) 2003-05-09 2016-03-15 Dimitri Vorona System for transmitting, processing, receiving, and displaying traffic information
US9607092B2 (en) 2003-05-20 2017-03-28 Excalibur Ip, Llc Mapping method and system
US7343564B2 (en) * 2003-08-11 2008-03-11 Core Mobility, Inc. Systems and methods for displaying location-based maps on communication devices
DE10337621B4 (de) 2003-08-16 2007-10-25 Daimlerchrysler Ag Verfahren zur Aktualisierung einer digitalen Karte
US7464109B2 (en) 2003-09-30 2008-12-09 U-Haul International, Inc. System and method of compiling real property information from a central database
US7342516B2 (en) 2003-10-08 2008-03-11 Hitachi, Ltd. Method and apparatus for communicating map and route guidance information for vehicle navigation
JP4503410B2 (ja) 2004-01-20 2010-07-14 クラリオン株式会社 車載ナビゲーション装置の地図データ更新方法、地図データ更新システム、認証キー生成装置およびナビゲーション装置
US7327349B2 (en) 2004-03-02 2008-02-05 Microsoft Corporation Advanced navigation techniques for portable devices
WO2005104039A2 (en) 2004-03-23 2005-11-03 Google, Inc. A digital mapping system
US7599790B2 (en) 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system
US7831387B2 (en) 2004-03-23 2010-11-09 Google Inc. Visually-oriented driving directions in digital mapping system
US20050287509A1 (en) 2004-06-04 2005-12-29 Sherman Mohler Learning objects in an electronic teaching system
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060080032A1 (en) 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060080031A1 (en) * 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060058952A1 (en) * 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
JP4079137B2 (ja) 2004-09-30 2008-04-23 ブラザー工業株式会社 ネットワーク管理プログラム,デバイスおよびネットワーク管理システム
US7949642B2 (en) * 2004-10-12 2011-05-24 Wendy W Yang System and method for managing and presenting entity information
JP4719500B2 (ja) 2004-11-04 2011-07-06 アルパイン株式会社 車載装置
JP4476789B2 (ja) 2004-11-18 2010-06-09 クラリオン株式会社 地図更新システム、ナビゲーション装置、配信装置
JP2006171106A (ja) 2004-12-13 2006-06-29 Aisin Aw Co Ltd 地図データ更新方法、地図データ更新システム、サーバ及び中継装置
CA2533279C (en) 2005-01-18 2011-09-20 Ryan Eccles System and method for processing map data
US7236882B2 (en) 2005-01-26 2007-06-26 Broadcom Corporation Downloading map segment(s) to a cell phone based upon its GPS coordinates and mobility
KR100689785B1 (ko) 2005-01-31 2007-03-08 주식회사 현대오토넷 네비게이션 시스템의 인터넷 접속 장치 및 방법
US9436945B2 (en) * 2005-02-01 2016-09-06 Redfin Corporation Interactive map-based search and advertising
US20060190812A1 (en) 2005-02-22 2006-08-24 Geovector Corporation Imaging systems including hyperlink associations
US7584054B2 (en) 2005-04-14 2009-09-01 Baron Services, Inc. System and method for displaying storm tracks
US8103445B2 (en) 2005-04-21 2012-01-24 Microsoft Corporation Dynamic map rendering as a function of a user parameter
DE102005020152A1 (de) 2005-04-29 2006-11-02 Volkswagen Ag Verfahren zum Steuern der Anzeige einer geografischen Karte in einem Fahrzeug und Anzeigevorrichtung hierfür
JP4284301B2 (ja) 2005-05-13 2009-06-24 ソフトバンクモバイル株式会社 情報配信装置及び情報配信システム
US20060277271A1 (en) 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US20070011171A1 (en) 2005-07-08 2007-01-11 Nurminen Jukka K System and method for operation control functionality
US7315259B2 (en) 2005-08-11 2008-01-01 Google Inc. Techniques for displaying and caching tiled map data on constrained-resource services
US20070050128A1 (en) 2005-08-31 2007-03-01 Garmin Ltd., A Cayman Islands Corporation Method and system for off-board navigation with a portable device
US8229914B2 (en) * 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US7796837B2 (en) 2005-09-22 2010-09-14 Google Inc. Processing an image map for display on computing device
JP4622822B2 (ja) 2005-11-16 2011-02-02 日産自動車株式会社 地図データ更新システム、および地図データ更新方法
US7663671B2 (en) 2005-11-22 2010-02-16 Eastman Kodak Company Location based image classification with map segmentation
US7853590B2 (en) * 2005-12-02 2010-12-14 Microsoft Corporation Remote read-write access to disparate data stores
JP4745045B2 (ja) 2005-12-15 2011-08-10 アルパイン株式会社 ナビゲーション装置
JP4841242B2 (ja) 2005-12-15 2011-12-21 アルパイン株式会社 地図データ更新方法および地図データ更新装置
KR20070077270A (ko) 2006-01-23 2007-07-26 엘지전자 주식회사 네비게이션 시스템의 정보 제공장치 및 방법
US8208949B2 (en) 2006-03-16 2012-06-26 Marc Stuart Cox Navigation system for portable communication devices
ATE447160T1 (de) 2006-03-31 2009-11-15 Research In Motion Ltd Verfahren und vorrichtung zur dynamischen kennzeichnung von kartenobjekten in visuell angezeigten karten mobiler kommunikationsvorrichtungen
US7925624B2 (en) 2006-03-31 2011-04-12 Amazon Technologies, Inc. System and method for providing high availability data
US8014796B2 (en) 2006-03-31 2011-09-06 Research In Motion Limited Map version control methods and apparatus for updating the use of network-maintained map data sets for mobile communication devices
US7907144B2 (en) 2006-04-14 2011-03-15 Autodesk, Inc. Optimized tile-based image storage
US20070282621A1 (en) * 2006-06-01 2007-12-06 Flipt, Inc Mobile dating system incorporating user location information
US8806177B2 (en) * 2006-07-07 2014-08-12 International Business Machines Corporation Prefetch engine based translation prefetching
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
JP4656023B2 (ja) 2006-08-11 2011-03-23 株式会社デンソー 地図表示装置
US20080082225A1 (en) 2006-08-15 2008-04-03 Tomtom International B.V. A method of reporting errors in map data used by navigation devices
GB2440958A (en) 2006-08-15 2008-02-20 Tomtom Bv Method of correcting map data for use in navigation systems
US7925982B2 (en) 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
CN101535992A (zh) 2006-09-17 2009-09-16 诺基亚公司 用于便携设备的自适应高速缓存架构和数据传送
US7571422B2 (en) 2006-09-21 2009-08-04 Kla-Tencor Technologies Corporation Method for generating a design rule map having spatially varying overlay budget
JP5001617B2 (ja) 2006-09-29 2012-08-15 アイシン・エィ・ダブリュ株式会社 地図更新データ供給装置、バージョンテーブル、地図データ更新システム、地図更新データ供給プログラム、及び地図データ更新プログラム
JP5308621B2 (ja) 2006-10-05 2013-10-09 日立オートモティブシステムズ株式会社 地図データ配信システム
US20080086264A1 (en) 2006-10-06 2008-04-10 Microsoft Corporation Popularity based geographical navigation
US7898553B2 (en) 2006-10-19 2011-03-01 Delorme Publishing Co. Pick packet for web browser display
US20080154655A1 (en) * 2006-10-31 2008-06-26 Travelocity.Com Lp Systems, Methods, and Computer Program Products for Retrieving Predicted Weather Conditions Corresponding to Selected Travel Itineraries Stored in an Inventory System
US7734412B2 (en) 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US8010407B1 (en) 2006-11-14 2011-08-30 Google Inc. Business finder for locating local businesses to contact
US20080132249A1 (en) 2006-12-05 2008-06-05 Palm, Inc. Local caching of map data based on carrier coverage data
US20080215240A1 (en) 2006-12-18 2008-09-04 Damian Howard Integrating User Interfaces
KR20080071228A (ko) 2007-01-24 2008-08-04 팅크웨어(주) 지도 제공방법 및 지도 서비스 제공 시스템
US8368695B2 (en) 2007-02-08 2013-02-05 Microsoft Corporation Transforming offline maps into interactive online maps
US7796056B2 (en) 2007-03-28 2010-09-14 Fein Gene S Digital windshield information system employing a recommendation engine keyed to a map database system
JP4903616B2 (ja) 2007-03-29 2012-03-28 アイシン・エィ・ダブリュ株式会社 地図更新データ供給装置、地図データ更新システム、及び地図更新データ供給方法
US8032472B2 (en) 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
US8352185B2 (en) 2007-04-06 2013-01-08 Tomtom Global Content B.V. Method, navigation device, and server for determining a location in a digital map database
US8078641B2 (en) 2007-04-25 2011-12-13 Mitac International Corporation Adjusting spatial operations based on map density
US7996445B2 (en) 2007-04-27 2011-08-09 Network Appliance, Inc. Block reallocation planning during read-ahead processing
US20100182500A1 (en) 2007-06-13 2010-07-22 Junichirou Ishii Image display device, image display method and image display program
US7801675B2 (en) 2007-07-13 2010-09-21 Dash Navigation, Inc. System and method of identifying portions of roads
US20090030778A1 (en) 2007-07-23 2009-01-29 Motivepath, Inc. System, method and apparatus for secure multiparty location based services
US20090054103A1 (en) * 2007-08-20 2009-02-26 Sony Ericsson Mobile Communications Ab Portable communication device with automated localized calendar
US8543130B2 (en) 2007-08-24 2013-09-24 Microsoft Corporation Intelligent global positioning system (GPS) information detection
US8374782B2 (en) 2007-08-29 2013-02-12 Vodafone Group Services Limited Pre-fetching navigation maps
EP2031352A1 (en) 2007-08-29 2009-03-04 Wayfinder Systems AB Pre-fetching navigation maps
US8428867B2 (en) 2007-08-30 2013-04-23 Wirelesswerx International, Inc. Configuring and using multi-dimensional zones
US20090113296A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Displaying a map and associated symbolic context information
US20090125228A1 (en) 2007-11-09 2009-05-14 Research In Motion Limited System and method for providing dynamic route information to users of wireless communications devices
JP2009140488A (ja) 2007-11-14 2009-06-25 Fujitsu Ten Ltd 車載装置および表示制御システム
DE102007061657A1 (de) 2007-12-18 2009-07-02 Navigon Ag Verfahren zur Erzeugung einer digitalen Landkarte
US20090177390A1 (en) * 2008-01-07 2009-07-09 Lubos Mikusiak Navigation device and method for updating a digital map
US8189902B1 (en) 2007-12-21 2012-05-29 Doug Carson & Associates Creating an XY image pattern on a rotating substrate
US9706345B2 (en) * 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
US9354068B2 (en) 2008-01-14 2016-05-31 Blackberry Limited System and method for dynamically downloading and displaying map data
US8504945B2 (en) 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US20090210388A1 (en) 2008-02-20 2009-08-20 Microsoft Corporation Efficiently discovering and synthesizing maps from a large corpus of maps
US20090244095A1 (en) 2008-04-01 2009-10-01 Research In Motion Limited Run-time label cache for efficient map labeling
US8032297B2 (en) 2008-05-08 2011-10-04 Gabriel Jakobson Method and system for displaying navigation information on an electronic map
US11187541B2 (en) 2008-05-09 2021-11-30 Blackberry Limited Predictive downloading of map data
US20090315766A1 (en) 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US8467991B2 (en) 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US8103441B2 (en) 2008-06-26 2012-01-24 Microsoft Corporation Caching navigation content for intermittently connected devices
US8280631B2 (en) 2008-10-02 2012-10-02 Certusview Technologies, Llc Methods and apparatus for generating an electronic record of a marking operation based on marking device actuations
US7975025B1 (en) 2008-07-08 2011-07-05 F5 Networks, Inc. Smart prefetching of data over a network
US8214329B2 (en) 2008-08-26 2012-07-03 Zeewise, Inc. Remote data collection systems and methods
US8060406B2 (en) * 2008-09-26 2011-11-15 Microsoft Corporation Predictive geo-temporal advertisement targeting
US20100082658A1 (en) * 2008-09-30 2010-04-01 Yahoo! Inc. Systems and methods for surfacing contextually relevant information
US8060582B2 (en) 2008-10-22 2011-11-15 Google Inc. Geocoding personal information
KR101001359B1 (ko) * 2008-11-10 2010-12-15 한국전자통신연구원 특정 지역에서 사용자 위치와 선호도에 기반한 서비스를 능동적으로 구성하여 제공하는 장치 및 방법
US9062982B2 (en) 2008-12-15 2015-06-23 Blackberry Limited Pre-loading waypoint data
US8126885B2 (en) * 2008-12-19 2012-02-28 Hewlett-Packard Development Company, L.P. History based search service operable with multiple applications and services
US8510310B2 (en) 2008-12-23 2013-08-13 Zhijing George Mou Method and system for multi-dimensional and geographic search
JP4799709B2 (ja) 2009-03-04 2011-10-26 三菱電機株式会社 地図配信サーバ及び地図情報端末
US20100250646A1 (en) 2009-03-25 2010-09-30 Microsoft Corporation Mechanism for geo distributing application data
US8560696B2 (en) 2009-04-28 2013-10-15 Intel Corporation Transmission of advanced-MAP information elements in mobile networks
US8385591B1 (en) 2009-04-28 2013-02-26 Google Inc. System and method of using images to determine correspondence between locations
US20100321399A1 (en) 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
US8341620B2 (en) 2009-06-25 2012-12-25 Microsoft Corporation Streaming optimized virtual application images
JP5054734B2 (ja) 2009-06-26 2012-10-24 クラリオン株式会社 カーナビゲーション装置、プログラムおよび地図データ更新方法
US20110054776A1 (en) 2009-09-03 2011-03-03 21St Century Systems, Inc. Location-based weather update system, method, and device
US20110093515A1 (en) 2009-10-15 2011-04-21 Mary Elizabeth Albanese Mobile local search platform
US20110095993A1 (en) 2009-10-26 2011-04-28 Adobe Systems Incorporated Zoom adjustment process
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8566020B2 (en) 2009-12-01 2013-10-22 Nokia Corporation Method and apparatus for transforming three-dimensional map objects to present navigation information
US8260546B2 (en) 2009-12-14 2012-09-04 At&T Mobility Ii Llc Systems and methods for providing geographical information to a mobile communications device
US20110161875A1 (en) * 2009-12-29 2011-06-30 Nokia Corporation Method and apparatus for decluttering a mapping display
JP2011199854A (ja) 2010-02-26 2011-10-06 Panasonic Corp ランドマーク検索装置、それを備えた電子機器及び撮像装置、並びにランドマーク検索方法
CN101777081A (zh) * 2010-03-08 2010-07-14 中兴通讯股份有限公司 一种提高网页访问速度的方法及装置
US8346796B2 (en) * 2010-04-23 2013-01-01 MobileRealtyApps.com, LLC System for searching property listings based on location
US20120254804A1 (en) 2010-05-21 2012-10-04 Sheha Michael A Personal wireless navigation system
US8874129B2 (en) * 2010-06-10 2014-10-28 Qualcomm Incorporated Pre-fetching information based on gesture and/or location
US8665266B2 (en) 2010-06-23 2014-03-04 The United States Of America, As Represented By The Secretary Of The Navy Global visualization process terrain database builder
EP2408172A3 (en) * 2010-07-15 2014-11-19 BlackBerry Limited Efficient generation of static bitmaps
US9183221B2 (en) 2010-08-11 2015-11-10 Root Wireless, Inc. Component and method for overlying information bearing hexagons on a map display
US8478519B2 (en) * 2010-08-30 2013-07-02 Google Inc. Providing results to parameterless search queries
WO2012072862A1 (en) * 2010-11-30 2012-06-07 Nokia Corporation Method and apparatus for predicting and pre-fetching location information
US20120146809A1 (en) 2010-12-13 2012-06-14 Samsung Electronics Co. Ltd. Information providing apparatus and method for vehicles
US8988468B2 (en) * 2011-01-21 2015-03-24 Wishabi Inc. Interactive flyer system
US9159087B2 (en) * 2011-01-21 2015-10-13 Flipp Corporation Digital flyer system with contextual information
US9075822B2 (en) 2011-02-11 2015-07-07 Here Global B.V. Incremental testing of a navigation database
US9291713B2 (en) * 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
CN102222098A (zh) * 2011-06-20 2011-10-19 北京邮电大学 一种网页预取方法和***
US8683008B1 (en) 2011-08-04 2014-03-25 Google Inc. Management of pre-fetched mapping data incorporating user-specified locations
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US8204966B1 (en) 2011-09-26 2012-06-19 Google Inc. Map tile data pre-fetching based on user activity analysis
US20130097197A1 (en) * 2011-10-14 2013-04-18 Nokia Corporation Method and apparatus for presenting search results in an active user interface element
US8711181B1 (en) 2011-11-16 2014-04-29 Google Inc. Pre-fetching map data using variable map tile radius
US9305107B2 (en) 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US8803920B2 (en) 2011-12-12 2014-08-12 Google Inc. Pre-fetching map tile data along a route
US8849942B1 (en) 2012-07-31 2014-09-30 Google Inc. Application programming interface for prefetching map data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264308A (ja) * 1996-04-24 2004-09-24 Fujitsu Ltd 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ
KR100571347B1 (ko) * 2002-10-15 2006-04-17 학교법인 한국정보통신학원 사용자 선호도 기반의 멀티미디어 컨텐츠 서비스 시스템과방법 및 그 기록 매체
KR20100125561A (ko) * 2009-05-21 2010-12-01 삼성에스디에스 주식회사 푸쉬 정책을 활용한 위치기반 실시간 맞춤콘텐츠 푸쉬시스템 및 방법
US20110087842A1 (en) * 2009-10-12 2011-04-14 Microsoft Corporation Pre-fetching content items based on social distance

Also Published As

Publication number Publication date
AU2018211232A1 (en) 2018-08-16
KR102089012B1 (ko) 2020-04-24
US20160219122A1 (en) 2016-07-28
US9305107B2 (en) 2016-04-05
JP2015505397A (ja) 2015-02-19
EP2788948B1 (en) 2019-07-31
AU2012348295B2 (en) 2018-05-10
AU2012348295A1 (en) 2014-06-12
KR102028624B1 (ko) 2019-11-14
CA2856826C (en) 2019-06-11
CN104221046B (zh) 2020-10-20
KR20140104007A (ko) 2014-08-27
US9813521B2 (en) 2017-11-07
WO2013085680A1 (en) 2013-06-13
JP6181070B2 (ja) 2017-08-16
EP2788948A4 (en) 2015-04-22
DE202012013435U1 (de) 2017-01-16
US20130151645A1 (en) 2013-06-13
CN110069587B (zh) 2023-08-25
EP2788948A1 (en) 2014-10-15
CA2856826A1 (en) 2013-06-13
AU2018211232B2 (en) 2018-08-30
CN104221046A (zh) 2014-12-17
CN110069587A (zh) 2019-07-30
EP3573014A1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
AU2018211232B2 (en) Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
JP6756561B2 (ja) モバイル装置生成事象分析に基づく地図タイルデータのプリフェッチ
US8972529B1 (en) Management of pre-fetched mapping data incorporating user-specified locations
US8805959B1 (en) Map tile data pre-fetching based on user activity analysis
US9491255B2 (en) Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
US9275374B1 (en) Method and apparatus for pre-fetching place page data based upon analysis of user activities

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant