KR20200035491A - 지도 인터페이스들의 지연시간 단축 - Google Patents

지도 인터페이스들의 지연시간 단축 Download PDF

Info

Publication number
KR20200035491A
KR20200035491A KR1020207008831A KR20207008831A KR20200035491A KR 20200035491 A KR20200035491 A KR 20200035491A KR 1020207008831 A KR1020207008831 A KR 1020207008831A KR 20207008831 A KR20207008831 A KR 20207008831A KR 20200035491 A KR20200035491 A KR 20200035491A
Authority
KR
South Korea
Prior art keywords
sub
image
map
area
specific
Prior art date
Application number
KR1020207008831A
Other languages
English (en)
Other versions
KR102366752B1 (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 KR20200035491A publication Critical patent/KR20200035491A/ko
Application granted granted Critical
Publication of KR102366752B1 publication Critical patent/KR102366752B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]

Abstract

지도 사용자 인터페이스들을 전송 및 제시할 때 지연시간을 줄이기 위해, 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들 및 장치가 개시된다. 일 양태에서, 방법은 클라이언트 장치로부터, (i) 영역 및 (ii) 상기 영역의 하위 영역들에 대한 계정에 관련된 데이터를 나타내는 대화형 지도 사용자 인터페이스의 프레젠테이션 요청을 수신하는 단계를 포함한다. 하나 이상의 서버가들은 상기 영역의 지도를 렌더링한다. 상기 서버(들)는 상기 렌더링된 지도의 이미지를 나타내는 이미지 파일을 생성한다. 각각 상이한 하위 영역에는 상이한 시각적 특성이 할당된다. 상기 서버(들)는 (i) 상이한 시각적 특성에 따라 제시되는 상이한 하위 영역들 각각을 갖는 이미지 및 (ii) 상기 클라이언트 장치가 상기 하위 영역과의 사용자 상호 작용을 검출할 때 상기 하위 영역과 관련된 계정 데이터를 제시하도록 상기 클라이언트 장치의 사용자 인터페이스를 구성한다.

Description

지도 인터페이스들의 지연시간 단축{REDUCING LATENCY IN MAP INTERFACES}
본 명세서는 지도 인터페이스들의 지연시간 단축에 관한 것이다.
인터넷은 전 세계 사용자들 간의 트랜잭션들 및 정보 교환을 용이하게 한다. 이러한 정보 교환은 데이터 제공자가 다양한 사용자에게 데이터를 제공하도록 한다. 인터넷을 통해 제공되는 예시적인 정보는 사용자가 특정 지역의 지도를 검색하고 볼 수 있는 대화형 지도이다. 이러한 지도 사용자 인터페이스들은 많은 정보를 포함할 수 있고, 많은 다른 스크립트, 캔버스(canvases) 및 그래픽을 사용하여 생성될 수 있으므로 지도를 렌더링하는 데 리소스가 많이 소요될 수 있으며 클라이언트 장치들에서 렌더링하는 데 시간이 걸릴 수 있다.
1. 미국공개특허공보(US 2016/0018951)(공개일: 2016년1월21일)
2. 미국공개특허공보(US 2013/0101214)(공개일: 2013년4월25일)
본 명세서는 지도 사용자 인터페이스들을 전송 및 제시할 때 지연시간을 단축하는 것과 관련된 기술들을 설명한다.
일반적으로, 본 명세서에 기술된 요지의 하나의 혁신적인 양태는 동작들을 포함하는 방법들로 구현될 수 있으며, 상기 동작들은,
클라이언트 장치로부터, (i) 특정 지리적 영역 및 (ii) 상기 특정 영역의 복수의 상이한 하위 영역들에 대한 온라인 계정과 관련된 데이터를 나타내는 대화형 지도 사용자 인터페이스의 프레젠테이션 요청을 수신하는 동작;
하나 이상의 서버들에 의해, 맵핑 서비스를 사용하여 상기 특정 영역의 지도를 렌더링하는 동작 -상기 렌더링하는 동작은 상기 특정 영역의 캔버스를 생성하는 동작, 상기 지도를 생성하는데 사용되는 그래픽 구성요소들 및 프로그래밍 구성요소들을 로딩하는 동작을 포함함-;
상기 하나 이상의 서버들에 의해, 상기 렌더링된 지도에 기초하여, 상기 렌더링된 지도의 이미지를 나타내는 이미지 파일을 생성하는 동작;
상기 이미지에 의해 나타난 적어도 시각적 경계들에 기초하여 상기 이미지 내의 하나 이상의 하위 영역들을 검출하는 동작;
상기 이미지 내의 상이한 각각의 하위 영역에 상이한 시각적 특성을 할당하는 동작;
상기 이미지 내의 각 위치를 상기 위치를 포함하는 해당 하위 영역에 매핑하는 전자 인덱스를 생성하는 동작; 그리고
상기 하나 이상의 서버들에 의해, (i) 상기 상이한 하위 영역에 대응하는 상이한 시각적 특성에 따라 제시되는 상기 상이한 하위 영역들 각각을 갖는 이미지 및 (ii) 상기 클라이언트 장치가 상기 이미지의 소정의 하위 영역과의 사용자 상호 작용을 검출할 때 적어도 하나의 소정의 하위 영역과 관련된 계정 데이터를 제공하도록 상기 클라이언트 장치의 사용자 인터페이스를 구성하는 동작을 포함한다. 이 양태의 다른 실시예들은 컴퓨터 저장 장치들 상에 인코딩된, 방법들의 동작을 수행하도록 구성된, 컴퓨터 프로그램들, 해당 시스템들, 장치들을 포함한다.
이들 및 다른 실시예들은 각각 선택적으로 하나 이상의 다음 특징들을 포함할 수 있다. 일부 양태들에서, 각각의 하위 영역에 대한 시각적 특성은 상기 하위 영역에 할당되고, 상기 이미지의 하위 영역 내에 제시되는 특정 색상을 포함한다.
상기 이미지 파일은 상기 캔버스를 생성하는 데 필요한 것보다 적은 컴퓨팅 리소스들을 사용하여 렌더링될 수 있다. 일부 양태들은 상기 이미지의 각 하위 영역에 상기 이미지의 하위 영역이 제시되는 특정 적색, 녹색, 청색(RGB) 색상을 할당하고, 각각의 특정 하위 영역에 대해, 상기 하위 영역에 대한 상기 RGB 색상 및 이미지 내의 특정 하위 영역의 위치들을 지정하는 데이터를 상기 이미지 파일에 저장하는 것을 포함하는 압축 기술들을 사용하여 상기 이미지 파일의 데이터 크기를 줄이는 것을 포함할 수 있다.
일부 양태들은 상기 이미지 내의 특정 위치의 선택을 지정하는 데이터를 상기 하나 이상의 서버들 및 클라이언트 장치로부터 수신하는 것을 포함할 수 있다. 상기 선택에 응답하여 상기 선택된 위치에 대응하는 특정 하위 영역의 지도를 나타내는 업데이트된 이미지 파일이 생성될 수 있다. 이 생성은 매핑 서비스를 사용하여 특정 하위 영역의 지도를 렌더링하고, 상기 렌더링된 지도의 이미지를 생성하는 것을 포함할 수 있다. 상기 업데이트된 이미지를 나타내는 이미지 파일은 상기 클라이언트 장치에 제공될 수 있다. 일부 양태들은 상기 클라이언트 장치로부터, 상기 선택의 시점에서 상기 이미지의 줌 레벨을 지정하는 데이터를 수신하는 것을 포함할 수 있다. 상기 선택에 대한 세분화(granularity) 레벨은 상기 줌 레벨에 기초하여 결정될 수 있다. 상기 선택된 위치에 대응하는 상기 특정 하위 영역은 상기 선택에 대한 세분화 레벨에 기초하여 결정될 수 있다.
일부 양태들에서, 상기 이미지 파일은 PNG(Portable Network Graphics) 파일 포맷을 포함한다. 일부 양태들은 상기 하나 이상의 서버들에 의해, 클라이언트 장치에, 상기 요청에 응답하여 그리고 하나 이상의 추가 이미지 파일들에 대한 요청을 수신하기 전에 상기 하위 영역들 중 적어도 하나의 지도를 각각 나타내는 하나 이상의 추가 이미지 파일들을 제공하는 것을 포함할 수 있다.
본 명세서에 기술된 요지의 특정 실시예들은 다음의 장점들 중 하나 이상을 실현하도록 구현될 수 있다.
클라이언트 장치에서 대화형 지도 사용자 인터페이스를 제공하고 제시할 때 발생하는 지연시간은 스크립트들, 캔버스들, 그래픽들, DOM(Document Object Model) 구성요소들 및 기타 데이터를 상기 클라이언트 장치에 로딩하는 대신에 사용자 상호 작용에 대한 응답으로 제시될 수 있는 데이터에 인덱스를 가진 압축된 이미지 파일을 제공함으로써 단축될 수 있다. 예를 들어, 인터넷을 통해 이미지 파일(예를 들어, 압축된 이미지 파일)을 제공하는 데 필요한 네트워킹 리소스의 양은 클라이언트 장치에서 지도를 생성하는 데 사용되는 스크립트들, 캔버스들 및 DOM 구성요소들을 제공하는 데 필요한 네트워킹 리소스의 양보다 훨씬 적을 수 있다.
유사하게, 클라이언트 장치의 컴퓨팅 리소스에 대한 요구는 클라이언트 장치의 프로세서가 스크립트들 또는 DOM 구성요소들을 로딩하거나 캔버스들을 생성할 필요가 없으므로 상기 압축된 이미지 파일을 사용하여 감소될 수 있다. 또한, 대화형 지도 사용자 인터페이스를 제공하는데 사용되는 클라이언트 장치의 메모리(예를 들어, RAM) 양은 상기 이미지 파일을 사용하여 감소될 수 있으며, 이는 다른 애플리케이션들을 위한 메모리를 확보할 수 있고, 데이터가 클라이언트 장치에 의해 처리되는 속도를 증가시킨다. 지도 이미지의 각 전체 하위 영역에 특정 색을 할당함으로써, 상기 이미지를 저장하는 이미지 파일의 크기는 감소될 수 있고(예를 들어, 압축), 장치들 간의 빠른 전송 시간 및 이미지 파일을 전송하는데 사용되는 네트워크 대역폭의 감소를 초래할 수 있다. 따라서, 실시예들은 대화형 지도 데이터의 전달 및 디스플레이와 관련된 문제점을 해결할 수 있다.
본 명세서에서 설명된 요지의 하나 이상의 실시예들의 세부사항은 첨부된 도면들 및 이하의 설명에서 설명된다. 상기 요지의 다른 특징들, 양태들 및 장점들은 상세한 설명, 도면들 및 청구 범위로부터 명백해질 것이다.
도 1은 데이터 관리 시스템이 대화형 지도 사용자 인터페이스들을 제공하는 환경이다.
도 2는 예시적인 대화형 지도 사용자 인터페이스의 스크린샷이다.
도 3은 대화형 지도 사용자 인터페이스를 제공하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 이미지 파일을 압축하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면들에서 동일한 참조 번호들 및 명칭들은 동일한 구성요소들을 나타낸다.
시스템은 대화형 지도 사용자 인터페이스들을 제공하고 제시할 때의 지연시간을 단축할 수 있다. 예를 들어, 상기 시스템은 맵핑 서비스에 의해 생성된 지도의 이미지를 생성할 수 있다. 상기 이미지는 특정 영역 및 그 하위 영역들의 지도를 나타낼 수 있다. 상기 시스템은 또한 상기 이미지 내의 위치들(예를 들어, 상기 이미지의 x-y 좌표)을 상기 이미지의 하위 영역들에 맵핑하는 전자 인덱스를 생성하고, 그 전자 인덱스 및 상기 이미지를 클라이언트 장치에 제공할 수 있다. 상기 전자 인덱스는 상기 하위 영역들을 상기 하위 영역들의 데이터에 매핑할 수도 있다. 이러한 방식으로, 사용자가, 예를 들어, 상기 하위 영역에 대응하는 위치를 가리키거나 선택함으로써, 특정 하위 영역에 대응하는 위치에서 상기 지도의 이미지와 상호 작용할 때, 상기 하위 영역에 대한 데이터는 상호 작용 방식으로 사용자에게 제시될 수 있다.
예를 들어, 인터넷을 통해 클라이언트 장치에 이미지를 제공하는 것은 매핑 서비스를 사용하여 클라이언트 장치에서 지도를 생성하는 것보다 적은 컴퓨팅 및 네트워킹 리소스를 요구할 수 있다. 또한, 지도 사용자 인터페이스들이 사용자에게 제공되는 속도가 증가한다. 상기 이미지를 압축하여 컴퓨팅 및 네트워킹 리소스의 양을 더 줄일 수 있고 속도를 증가시킬 수 있다. 일부 구현예들에서, 상기 이미지는, 상기 이미지의 각 하위 영역에 특정 색을 할당함으로써 압축될 수 있다. 예를 들어, 전체 하위 영역은 도로들, 지형 등에 대한 다른 색상을 묘사하기보다는 상기 하위 영역에 할당된 상기 특정 색상으로 묘사될 수 있다. 이러한 방식으로, 상기 이미지 파일의 크기를 줄일 수 있으므로, 네트워크를 통해 전송 속도를 높이고 그리고 상기 이미지를 낮은 네트워크 대역폭으로 네트워크를 통해 전송할 수 있다. 예를 들어, 소정의 하위 영역의 모든 지역이 동일한 색상이기 때문에, 상기 하위 영역의 복수의 상이한 부분들에 대해 상이한 색상 코드들을 송신하기보다는, 상기 하위 영역을 나타내는 상기 이미지의 전체 지역에 대해 단일 색상 코드(예를 들어, RGB 값)만 전송될 필요가 있다. 또한, 상기 클라이언트 장치는 예를 들어, 그래픽 처리 장치(GPU)들에 의해 구현되는 압축된 이미지 렌더링 기술들을 사용하여 상기 압축된 이미지를 더 빨리 제시할 수 있다.
대화형 사용자 인터페이스들을 제시할 때 지연시간을 줄이기 위해, 지도들의 추가 이미지들이 그 지도들이 요청되기 전에 제공될 수 있다. 사용자가 지도들을 요청하면 그 지도들의 신속한 제시를 가능하게 하기 위해 상기 추가 지도 이미지들이 클라이언트 장치, 예를 들어 캐시에 저장될 수 있다. 예를 들어, 상기 시스템은 사용자가 보다 상세한 보기를 위해 상기 하위 영역들 중 하나를 선택하는 경우 상기 요청에 응답하여 생성된 이미지에 묘사된 각 하위 영역의 보다 상세한 지도들을 제공할 수 있다.
도 1은 데이터 관리 시스템(110)이 대화형 지도 사용자 인터페이스들을 제공하는 예시적인 환경(100)이다. 예를 들어, 데이터 관리 시스템(110)은 대화형 지도 사용자 인터페이스를 클라이언트 장치, 예를 들어, 클라이언트 장치로부터 수신된 요청에 응답하여 클라이언트 장치(150)에 제공할 수 있다. 데이터 관리 시스템(110)은 데이터 통신 네트워크(130), 예를 들어 근거리 통신망(LAN), 광역 통신망(WAN), 이동 통신망, 인터넷, 또는 이들의 조합을 통해 대화형 지도 사용자 인터페이스들을 전송할 수 있다. 네트워크(130)는 서버들, 허브들, 라우터들, 스위치들, 인터페이스 장치들, 전송 매체, 및 장치들이 다른 장치들로 데이터를 송수신할 수 있게 하는 다른 네트워킹 컴포넌트들을 포함할 수 있다.
클라이언트 장치(150)는 네트워크(130)를 통해 전자 리소스 및 다른 데이터를 요구하고 수신할 수 있는 전자 장치이다. 예시적인 클라이언트 장치들(150)은 퍼스널 컴퓨터들, 이동 통신 장치들(예를 들어, 스마트폰들, 태블릿 컴퓨팅 장치들 및/또는 스마트 시계들), 및 네트워크(130)를 통해 데이터를 송수신할 수 있는 다른 장치들을 포함한다. 클라이언트 장치(150)는 전형적으로 네트워크(130)를 통해 데이터의 송신 및 수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함한다. 상기 웹 브라우저는 사용자가 텍스트, 이미지들, 비디오들, 음악 및 일반적으로 웹 사이트의 웹 페이지에 있는 다른 정보와 상호작용할 수 있게 한다.
클라이언트 장치(150)는 다른 애플리케이션들, 예를 들어 특정 유형의 장치 또는 특정 플랫폼을 위해 개발된 네이티브 애플리케이션들을 포함할 수 있다. 예를 들어, 클라이언트 장치(150)는 대화형 지도 사용자 인터페이스들(157)을 클라이언트 장치(150)의 사용자에게 제공하는 지도 뷰어(155)를 포함한다. 지도 뷰어(150)는 웹 브라우저, 네이티브 애플리케이션 또는 다른 유형의 애플리케이션 프로그램으로 구현될 수 있다.
대화형 지도 사용자 인터페이스(157)는 특정 영역의 지도를 제공한다. 예를 들어, 대화형 지도 사용자 인터페이스(157)는 클라이언트 장치(150)로부터 수신된 요청에 의해 지정된 특정 영역의 지도를 제공할 수 있다. 또한, 대화형 지도 사용자 인터페이스(157)는 상기 지도에 포함된 영역의 특정 영역 및/또는 하위 영역들과 관련된 데이터를 제공할 수 있다. 후술된 바와 같이, 상기 제공된 데이터는 클라이언트 장치(150)의 사용자가 액세스하도록 허가된 온라인 계정과 관련된 계정 데이터를 포함할 수 있다. 상기 데이터는 상기 지도와의 사용자 상호 작용에 대한 응답으로 제공될 수 있다. 예를 들어, 클라이언트 장치(150)의 사용자가 특정 하위 영역에 대응하는 위치에 커서 또는 다른 포인터를 놓으면, 상기 하위 영역에 대한 데이터가 사용자에게 제공될 수 있다. 예시적인 대화형 지도 사용자 인터페이스는 도 2에 도시되고, 이하에서보다 상세하게 설명된다.
데이터 관리 시스템(110)은 사용자들 및/또는 조직들에 대한 데이터를 관리할 수 있고, 예를 들어 데이터 관리 시스템(110)에 의해 생성된 사용자 인터페이스들에서 사용자들에게 표시를 위한 데이터를 제공할 수 있다. 예를 들어, 데이터 관리 시스템(110)은 복수의 상이한 계좌 보유자들의 복수의 상이한 계좌들에 대한 온라인 계좌 데이터를 관리할 수 있다. 특정 예에서, 데이터 관리 시스템(110)은 복수의 상이한 조직에 대한 콘텐츠 제공 계정 데이터를 관리할 수 있다. 아래에 설명된 시스템들 및 기술들은 다양한 다른 유형들의 데이터에도 적용될 수 있다.
계정 관리 시스템(110)에 의해 관리되는 계정 데이터는 콘텐츠 아이템들에 대한 성능 데이터(performance data)(예를 들어, 노출 수, 클릭률, 전환율(conversion rate) 등), 계정 보유자들에 대한 예산 정보, 및/또는 콘텐츠 아이템 배포 기준과 같은, 계정과 관련된 임의의 데이터를 포함할 수 있다. 각 계정 보유자에 대한 계정 데이터는 하나 이상의 데이터 센터들에 위치하는 복수의 데이터 저장 장치를 포함할 수 있는 계정 데이터 저장 장치(115)에 저장된다. 각 계정 보유자의 계정 데이터는 개별적으로 안전하게 저장될 수 있으므로 한 명의 계정 보유자의 계정 데이터는 다른 계정 보유자의 사용자들에게 제공되지 않는다.
상기 계정 데이터의 적어도 일부는 상기 데이터에 대한 해당 지리적 위치를 식별하는 데이터와 함께 저장될 수 있다. 예를 들어, 콘텐츠 제공 캠페인에 대한 데이터는 콘텐츠 아이템의 복수의 노출, 콘텐츠 아이템의 복수의 선택, 콘텐츠 아이템의 표시로 인한 복수의 전환(conversion) 및/또는 다른 적절한 캠페인 데이터를 지정하는 데이터를 포함할 수 있다. 각 이벤트(예를 들어, 노출, 선택, 전환 등)에 대한 데이터는 그 이벤트가 발생한 지리적 위치의 지정을 포함할 수 있다. 예를 들어, 상기 콘텐츠 아이템이 시애틀에 위치한 클라이언트 장치에 제공된 경우, 상기 노출에 대한 데이터는 시애틀에서 상기 노출이 발생했음을 나타낼 수 있다. 이러한 방식으로, 상기 데이터는 위치에 기초하여 필터링될 수 있고, 각 위치와 연관된 메트릭(metrics)이 결정될 수 있다.
데이터 관리 시스템(110)은 하나 이상의 프론트-엔드 서버들(111), 데이터 선택기(113) 및 지도 사용자 인터페이스 생성기(120)를 포함한다. 데이터 선택기(113) 및 지도 사용자 인터페이스 생성기(120)는 또한 하나 이상의 서버들에서 구현될 수 있다. 예를 들어, 프론트-엔드 서버(들)(111), 데이터 선택기(113) 및 지도 사용자 인터페이스 생성기(120)는 하나 이상의 위치들(예를 들어, 데이터 센터들)에 위치하는 하나 이상의 서버들로 구현될 수 있다. 프론트-엔드 서버(들)(111), 데이터 선택기(113) 및 사용자 인터페이스 생성기(120)는 예를 들어 네트워크를 통해 서로 간에 데이터를 전달할 수 있다.
프론트-엔드 서버(들)(111)는 클라이언트 장치들로부터 데이터에 대한 요청을 수신하고, 그 요청된 데이터를 클라이언트 장치들에 제공한다. 프론트-엔드 서버(들)(111)는 클라이언트 장치들과 데이터 선택기(113) 및 지도 사용자 인터페이스 생성기(120) 간의 인터페이스로서 동작할 수 있다. 예를 들어,
프론트-엔드 서버(들)(111)는 데이터 선택기(113)에 데이터 요청을 전송할 수 있다. 그 다음, 데이터 선택기(113)는 계정 데이터 저장 장치(115)로부터 적절한 데이터를 획득하여 프론트-엔드 서버(들)(111)에 제공할 수 있다. 그 다음, 프론트-엔드 서버(들)(111)는 상기 요청을 제출한 클라이언트 장치에 상기 데이터를 제공할 수 있다.
프론트-엔드 서버(들)(111)는 또한 수신된 요청이 지도 사용자 인터페이스를 요청하는지를 결정할 수 있다. 예를 들어, 상기 요청은 특정 영역에 대한 계정 데이터를 나타내는 지도 사용자 인터페이스를 요청하고 있음을 지정할 수 있다. 다른 예에서, 클라이언트 장치의 사용자는 다른 지도 사용자 인터페이스에 대한 요청을 트리거하는 방식으로 지도 사용자 인터페이스와 상호 작용할 수 있다. 예를 들어, 사용자는 지도 사용자 인터페이스를 확대 또는 축소하여 다른 영역 또는 하위 영역의 보다 상세한 뷰를 볼 수 있다. 이 예에서, 상기 요청은 지도 사용자 인터페이스에 포함할 상기 영역을 지정할 수 있다.
상기 프론트-엔드 서버(들)(111)가 상기 요청이 지도 사용자 인터페이스를 요청하고 있다고 결정하면, 프론트-엔드 서버(들)(111)는 지도 사용자 인터페이스 생성기(120)로부터 지도 사용자 인터페이스를 요청할 수 있다. 상기 지도 사용자 인터페이스 생성기(120)는 상기 요청된 영역에 대한 대화형 지도 사용자 인터페이스를 생성하고, 대화형 지도 사용자 인터페이스를 프론트-엔드 서버(들)(111)에 제공할 수 있다. 그 다음, 프론트-엔드 서버(들)(111)는 클라이언트 장치에 상기 대화형 지도 사용자 인터페이스를 제공한다.
일부 구현예들에서, 데이터 선택기(113)는 클라이언트 장치(150)에 지도 사용자 인터페이스를 제공할지 여부를 결정할 수 있다. 예를 들어, 데이터 선택기(113)는 클라이언트 장치(150)에 제공되는 상기 데이터에 기초하여 지도 사용자 인터페이스를 제공할지 여부를 결정할 수 있다. 데이터 선택기(113)는 상기 데이터가 복수의 상이한 지리적 위치들에 특정한 데이터를 포함하는 경우 지도 사용자 인터페이스를 제공하도록 결정할 수 있다. 예를 들어, 상기 데이터는 복수의 상이한 지리적 위치들 각각에 대해, 상기 콘텐츠 아이템이 상기 지리적 위치에 제공되었을 때 그 콘텐츠 아이템에 대한 전환율을 포함할 수 있다. 이 예에서, 데이터 선택기(113)는 지도상의 적절한 위치들에서 상기 전환율을 나타내는 지도 사용자 인터페이스를 제공하도록 결정할 수 있다.
지도 사용자 인터페이스 생성기(120)는 상기 지도에 나타낸 지리적 위치들에 대한 데이터를 제공하는 대화형 지도 사용자 인터페이스들을 생성한다. 예를 들어, 지도 사용자 인터페이스 생성기(120)는 클라이언트 장치로부터 수신된 요청에 의해 지정된 특정 영역의 지도를 나타내는 대화형 지도 사용자 인터페이스를 생성할 수 있다. 지도 사용자 인터페이스 생성기(120)에 의해 생성된 상기 대화형 지도 사용자 인터페이스는 상기 이미지에 의해 나타난 지리적 위치들에 대응하는 데이터의 인덱스 및 보다 복잡한 지도의 이미지를 포함할 수 있다. 이런 방식으로, 클라이언트 장치(150)에서 대화형 지도 사용자 인터페이스를 렌더링하는데 발생하는 지연시간은 코드(예를 들어, 스크립트들), DOM 구성요소들, 및 맵핑 서비스로부터 획득된 다른 데이터를 사용하여 클라이언트 장치(150)에서 상기 지도를 생성하는 것과 비교하여 감소될 수 있다. 또한, 상기 대화형 지도 사용자 인터페이스를 렌더링하는데 사용되는 클라이언트 장치(150)의 컴퓨팅 리소스에 대한 요구가 감소될 수 있고, 그에 의해 클라이언트 장치(150)의 성능이 개선된다.
지도 사용자 인터페이스 생성기(120)는 하나 이상의 지도 렌더링 서버들(121)을 포함한다. 지도 렌더링 서버(들)(121)는 맵핑 서비스(122) 및 지도 클라이언트(123)를 사용하여 지리적 영역들의 지도들을 렌더링할 수 있다. 맵핑 서비스(122)는 지도들에 대한 요청들에 응답하여 지도들 또는 지도들의 부분들을 지도 클라이언트(123)에 제공하는 웹 맵핑 서비스를 포함할 수 있다. 예를 들어, 맵핑 서비스(122)는 특정 영역의 지도에 대한 요청에 기초하여 지도 클라이언트(123)에 제공하기 위해 지도 타일들(map tiles), 오버레이(overlays) 및 다른 지도 데이터를 선택할 수 있다. 매핑 서비스(122)는 지도 데이터 저장 장치(124)로부터 지도 타일들, 오버레이 및 다른 지도 데이터를 선택할 수 있다.
지도 클라이언트(123)는 맵핑 서비스(122)로부터 지도들을 요청하고, 그 맵핑 서비스로부터 수신된 지도 데이터를 구성(organize)하여 그 지도를 렌더링할 수 있다. 일부 구현예들에서, 지도 클라이언트(123)는 복수의 스크립트들을 사용하여 지도 캔버스를 생성하고, 그 캔버스 상의 지도 타일들을 구성하고, 그 지도 타일들 위에 오버레이를 배열하고, 그 지도상에 다른 지도 데이터를 위치시키고, 그 지도를 예를 들어 메모리 또는 디스플레이에 렌더링한다. 상기 지도를 렌더링하기 위해, 지도 클라이언트(123)는 지도들을 렌더링하기 위해 스크립트들에 의해 사용되는 복수의 DOM 구성요소들을 로딩할 수도 있다.
지도 클라이언트(123)는 맵핑 서비스(122)와 상호 작용하여 클라이언트 장치, 예를 들어 클라이언트 장치(150)에 의해 요구된 지도들을 렌더링할 수 있다. 클라이언트 장치(150)보다는 지도 렌더링 서버(들)(121)에서 상기 지도를 렌더링함으로써, 지도 렌더링 서버(들)가 상기 지도를 렌더링하는 데 보다 강력하고 많은 수의 컴퓨팅 리소스를 갖기 때문에 상기 지도를 더 빨리 렌더링할 수 있다. 또한, 지도 클라이언트(123)는 인터넷을 통해 요청들을 제출하지 않고 맵핑 서비스(122)와 상호 작용할 수 있어, 지도를 렌더링하는데 필요한 시간을 더 감소시킨다.
지도 사용자 인터페이스 생성기(120)는 또한 지도 이미지 파일 생성기(125), 인덱스 생성기(128) 및 파일 압축기(129)를 포함한다. 지도 이미지 파일 생성기(125)는 지도 클라이언트(123)에 의해 렌더링된 상기 지도의 이미지를 생성하고 그 이미지를 나타내는 이미지 파일을 생성할 수 있다. 예를 들어, 지도 이미지 파일 생성기(125)는 상기 렌더링된 지도의 스크린샷을 캡처하고, 그 캡처된 이미지를 나타내는 이미지 파일을 생성할 수 있다. 상기 이미지 파일은 PNG(Portable Network Graphics) 파일, GIF(Graphics Interchange Format) 파일, JPEG(Joint Photographic Experts Group) 파일 또는 다른 적절한 유형의 이미지 파일일 수 있다.
지도 이미지 파일 생성기(125)는 경계 검출기(126) 및 시각적 특성 선택기(127)를 포함한다. 경계 검출기(126)는 지도 이미지 파일 생성기(125)에 의해 생성된 지도의 이미지 내의 시각적 경계들(borders)을 검출할 수 있다. 예를 들어, 상기 이미지는 경계들로 정의된 하위 영역들을 포함하는 특정 영역을 나타낼 수 있다. 특정 예에서, 상기 영역은 미국일 수 있고, 상기 하위 지역은 개별 주들일 수 있다. 경계 검출기(126)는 경계 검출 기술들, 예를 들어 에지 검출을 사용하여 상기 하위 영역들 간의 경계들을 검출할 수 있다.
일부 구현예들에서, 경계 검출기(126)는 또한 경계들 및/또는 상기 이미지에 의해 묘사된 상기 영역을 지정하는 데이터에 기초하여 상기 이미지에 의해 묘사된 하위 영역들을 식별할 수 있다. 예를 들어, 상기 이미지 내의 영역 및 하위 영역들을 안다면, 경계 검출기(126)는 상기 이미지의 어느 경계된 지역들이 각각의 하위 영역에 대응하는지를 결정할 수 있다. 경계 검출기(126)는 상기 이미지의 경계들에 의해 정의된 형상들과 각 하위 영역에 대한 알려진 형상들을 비교함으로써 상기 하위 영역들을 결정할 수 있다.
시각적 특성 선택기(127)는 상기 지도의 이미지에 묘사된 각각의 하위 영역과 연관시키는 시각적 특성을 선택할 수 있다. 예를 들어, 상기 시각적 특성은 색상(예를 들어, RGB 색상 모델 또는 적색, 녹색, 청색, 알파(RGBA 색상 모델)에 기초함), 음영, 해칭, 색상 강도(intensity) 또는 일부 다른 적절한 시각적 특성일 수 있다. 일부 구현 예에서, 시각적 특성 선택기(127)는 각 하위 영역에 대한 데이터에 기초하여 각 하위 영역에 대한 시각적 특성을 선택한다. 예를 들어, 대화형 지도 사용자 인터페이스는 상기 콘텐츠 아이템들이 상기 하위 영역들에 위치된 클라이언트 장치들에 제시될 때 콘텐츠 아이템들의 성능을 제공하도록 생성될 수 있다. 이 예에서, 시각적 특성 선택기(127)는 각 하위 영역에 대한 성능 측정치(performance measure)에 기초하여 각 하위 영역에 대한 시각적 특성을 선택할 수 있다. 상기 콘텐츠 아이템이 더 나은 성능을 갖는 하위 영역은 상기 콘텐츠 아이템이 더 낮은 성능을 갖는 하위 영역보다 더 밝은 색상으로 표현될 수 있다.
다른 예에서, 각 하위 영역은 동일한 색상으로 묘사될 수 있지만 상기 색상의 음영 또는 명도(brightness)는 상기 하위 영역의 데이터에 기초하여 변경된다. 예를 들어, 각 하위 영역은 파란색으로 묘사될 수 있다. 시각적 특성 선택기(127)는 각 하위 영역에 대한 데이터에 기초하여 각 하위 영역에 대한 청색의 명도 또는 음영을 선택할 수 있다. 또 다른 예에서, 각 하위 영역의 시각적 특성은 다른 하위 영역들을 구분하기 위해 무작위 또는 의사 무작위(pseudo-randomly)로 선택될 수 있다.
인덱스 생성기(128)는 상기 지도의 이미지 내의 위치들을 상기 이미지에 묘사된 하위 영역들에 매핑하는 전자 인덱스를 생성할 수 있다. 예를 들어, 상기 전자 인덱스는 상기 이미지의 각 x-y 좌표를 해당 하위 영역에 매핑할 수 있다. 상기 전자 인덱스는 각 하위 영역의 데이터를 상기 지도의 이미지로 묘사된 하위 영역들에 매핑할 수도 있다. 예를 들어, 인덱스 생성기(128)는 데이터 선택기(113)로부터 상기 하위 영역에 대한 상기 데이터를 획득할 수 있다. 일부 구현예들에서, 상기 전자 인덱스는 상기 하위 영역에 할당된 고유의 시각적 특성(예를 들어, 고유의 RGB 또는 RGBA 값)에 하위 영역의 데이터를 매핑한다. 이러한 방식으로, 사용자가 상기 하위 영역, 예를 들어 상기 하위 영역에 대한 x-y 좌표 또는 고유의 시각적 특성 중 하나에서 상기 이미지와 상호 작용할 때, 상기 하위 영역에 대한 데이터는 상기 인덱스로부터 획득되어 사용자에게 제시될 수 있다.
파일 압축기(129)는 네트워크(130)를 통한보다 빠른 전송 및 클라이언트 장치(150)의 사용자에게 빠른 렌더링을 위해 상기 지도의 이미지를 나타내는 이미지 파일을 압축할 수 있다. 일부 구현예들에서, 파일 압축기(129)는 상기 이미지에 묘사된 각각의 하위 영역에 대해 선택된 고유의 시각적 특성을 사용하여 상기 이미지 파일을 압축한다. 예를 들어, 각 하위 영역에 대한 고유의 시각적 특성은 각 하위 영역에 할당된 고유의 색상일 수 있다. 이 예에서, 파일 압축기(129)는 각각의 특정 하위 영역에 대한 상기 이미지 영역에 그 하위 영역의 고유의 색상을 할당함으로써 상기 이미지 파일을 압축할 수 있다. 이 방법으로 상기 이미지 파일은 각 하위 영역에 대해 상기 하위 영역에 해당하는 x-y 좌표와 상기 하위 영역에 대한 RGB 색상 값만을 저장하면 된다. 클라이언트 장치(150)의 애플리케이션(예를 들어, 웹 브라우저)은 각 하위 영역에 대한 x-y 좌표 및 각 하위 영역에 대한 고유의 RGB 색상을 사용하여 클라이언트 장치(150)에서 상기 지도의 이미지를 렌더링할 수 있다.
파일 압축기(129)는 인덱스 생성기(128)에 의해 생성된 전자 인덱스 및 압축된 이미지 파일을 프론트-엔드 서버(들)(111)에 제공한다. 그 다음, 프론트-엔드 서버(들)는 상기 이미지 파일 및 상기 인덱스를 클라이언트 장치(150)에 제공한다. 그 다음, 클라이언트 장치(150)의 지도 뷰어(155)는 대화형 지도 사용자 인터페이스에서 상기 이미지 파일에 의해 표현된 상기 지도의 이미지를 렌더링할 수 있다.
프론트-엔드 서버(들)(111)는 또한 클라이언트 장치(150)가 상기 지도의 이미지와의 특정 사용자 상호 작용에 응답하여 특정 동작들을 수행하게 하는 코드, 루틴들 또는 스크립트들을 클라이언트 장치(150)에 제공할 수 있다. 예를 들어, 스크립트는 사용자가 특정 하위 영역에 대응하는 이미지의 위치를 포인터(예를 들어, 마우스 커서)로 가리키는 것에 응답하여, 클라이언트 장치(150)가 상기 전자 인덱스에 액세스하여 그 특정 하위 영역과 관련된 데이터를 획득하여 제시하게 할 수 있다. 예를 들어, 사용자가 특정 하위 영역에 포인터를 가져가면, 클라이언트 장치(150)는 상기 전자 인덱스로부터 상기 특정 하위 영역에 대한 데이터를 획득하고, 클라이언트 장치(150)의 사용자에게 그 데이터를 제공할 수 있다. 클라이언트 장치(150)는 상기 지도의 이미지에 대한 사용자 상호 작용의 위치에 기초하여 데이터를 획득할 하위 영역을 식별할 수 있다. 예를 들어, 클라이언트 장치(150)는 호버 이벤트(hover event)(예를 들어, 적어도 임계시간 동안 동일한 위치에 남아있는 포인터) 동안 포인터의 x-y 좌표를 검출하고, 그 검출된 x-y 좌표에 대응하는 전자 인덱스로부터 데이터를 획득할 수 있다. 다른 예에서, 클라이언트 장치(150)는 호버 이벤트 동안 상기 포인터의 위치에서 상기 이미지의 색상을 결정할 수 있고, 그 색상에 대응하는 전자 인덱스로부터 데이터를 획득할 수 있다.
일부 구현예들에서, 지도 사용자 인터페이스 생성기(120)는 상기 지도의 2개의 이미지를 생성한다. 제1 이미지는 지도 렌더링 서버(들)에 의해 렌더링된 지도의 이미지일 수 있다. 예를 들어, 상기 제1 이미지는 임의의 도로, 수체(waterbodies), 지형 유형의 색상 등으로 상기 렌더링된 지도를 묘사할 수 있다. 제2 이미지는 상기 특정 하위 영역들에 대해 특정 RGB 색상을 갖는 이미지일 수 있다. 이 예에서, 상기 제2 이미지는 상기 제1 이미지 위에 오버레이될 수 있지만 클라이언트 장치(150)의 사용자에게는 보이지 않을 수 있다. 그 대신에, 상기 제2 이미지는 상술한 바와 같이, 사용자 상호 작용의 위치를 상기 이미지에 묘사된 하위 영역에 맵핑하는데 사용될 수 있다. 이러한 방식으로, 사용자에게 제시되는 지도는 렌더링 속도 및 네트워크 대역폭 소비의 개선을 여전히 실현하면서 상기 매핑 서비스(122)에 의해 일반적으로 제공되는 지도들과 동일하게 보일 수 있다.
일부 구현예들에서, 지도 사용자 인터페이스 생성기(120)는 인덱스들 및 지도들의 추가 이미지들을 생성하고, 대화형 지도 사용자 인터페이스에 대한 요청에 응답하여 클라이언트 장치(150)에 상기 인텍스들 및 상기 추가 이미지들 각각을 제공한다. 예를 들어, 상기 요청은 복수의 하위 영역들을 포함하는 특정 영역을 지정할 수 있다. 이 예에서, 지도 사용자 인터페이스 생성기(120)는 각 하위 영역에 대한 전자 인덱스 및 각 하위 영역에 대한 지도의 이미지를 생성할 수 있다. 특정 하위 영역의 이미지는 그 특정 하위 영역의 하위 영역들을 나타낼 수 있다. 유사하게, 특정 하위 영역에 대한 전자 인덱스는 상기 특정 하위 영역의 각 하위 영역에 대한 데이터를 포함할 수 있다.
지도 사용자 인터페이스 생성기(120)는 상기 요청에 응답하여 또는 클라이언트 장치(150)에 원본 이미지가 전송된 후에 생성된 원본 이미지를 갖는 클라이언트 장치(150)에 상기 추가 이미지들 및 전자 인덱스들을 전송할 수 있다. 클라이언트 장치(150)는 상기 추가 이미지들 및 상기 전자 인덱스들을 클라이언트 장치(150)의 캐시에 저장할 수 있다. 클라이언트 장치(150)는 상기 원본 이미지(또는 다른 이미지)를 포함하는 대화형 지도 사용자 인터페이스와의 사용자 상호 작용에 응답하여 상기 추가 이미지들을 제시할 수 있다. 예를 들어, 사용자는 상기 원본 이미지에 의해 묘사된 특정 하위 영역을 선택할 수 있다. 이에 응답하여, 클라이언트 장치(150)는 상기 캐시로부터 상기 선택된 하위 영역의 이미지를 획득하고, 데이터 관리 시스템(110)으로부터 새로운 대화형 지도 사용자 인터페이스를 요청하지 않고 그 이미지를 제시할 수 있다. 이러한 방식으로, 상기 하위 영역들의 세부 지도들은 훨씬 빨리 렌더링될 수 있고, 네트워크 트래픽이 감소될 수 있다.
도 2는 예시적인 대화형 지도 사용자 인터페이스(210)의 스크린샷(200)이다. 이 예에서, 대화형 지도 사용자 인터페이스(210)는 웹 브라우저에서 제시된다. 일부 구현예들에서, 대화형 지도 사용자 인터페이스(210)는 다른 애플리케이션 프로그램, 예를 들어 네이티브 애플리케이션에 의해 제시된다.
예시적인 대화형 지도 사용자 인터페이스(210)는 특정 영역의 지도의 이미지(220)를 포함한다. 이 예에서, 상기 지도의 이미지(220)는 몇 개의 남동부 주들을 나타낸다. 각 주는 남동부 영역의 하위 영역이다. 도 2에는 도시되지 않았지만, 각 주는 그 주에 특정한 시각적 특성을 포함할 수 있다. 예를 들어, 상기 시각적 특성은 색상(예를 들어, RGB 색상 모델에 기초함), 음영, 해칭, 색상 강도(intensity), 또는 상이한 주들을 분하는 다른 적절한 시각적 특성일 수 있다. 특정 예에서, 조지아 주(state of Georgia)는 녹색일 수 있고 앨라배마 주는 파란색일 수 있다. 다른 예에서, 각각의 주는 동일한 기본 색상일 수 있다. 그러나 각 주는 그 색상의 강도, 음영 또는 명도가 다를 수 있다. 예를 들어, 각 주는 파란색의 다른 음영일 수 있다.
각 주에 대한 시각적 특성은 각 주에 대응하는 데이터를 기반으로 할 수 있다. 예를 들어, 대화형 지도 사용자 인터페이스(210)는 각 주에 대해, 그 주에서 특정 콘텐츠 아이템의 표시로부터 야기된 전환들(conversions)의 수를 제시할 수 있다. 이 예에서, 각 주의 지역은 동일한 색상으로 표현될 수 있으며 그 색상의 음영은 각 주의 전환들의 수에 기반된다. 예를 들어, 전환율이 가장 높은 주는 가장 어두울 수 있고, 전환율이 가장 낮은 주는 가장 밝을 수 있다.
각 주에 대한 데이터는 상기 시각적 특성 및 데이터를 각 주에 매핑하는 전자 인덱스에 저장될 수 있다. 사용자가 그 주와 상호 작용할 때, 예를 들어, 커서를 상기 주(state)의 위로 가져가거나 그 주를 선택함으로써 그 주에 대한 데이터는 제시될 수 있다. 예를 들어, 조지아 주는 커서(230)에 의해 가리켜진다. 이에 응답으로, 조지아에 위치한 장치상에 제시되는 콘텐츠 아이템의 결과로서 발생된 콘텐츠 아이템에 대한 전환들의 수는 오버레이(240)에 제시된다. 오버레이(240)는 이미지(220) 상에 제시된다. 특히, 오버레이(240)는 이미지(220) 내의 조지아 주에 위에 제시된다.
일부 구현예들에서, 제1 유형의 사용자 상호 작용은 이미지(220) 위에 데이터의 표시를 야기할 수 있고, 제2 유형의 사용자 상호 작용은 상이한 지도가 대화형 지도 사용자 인터페이스(210)에 제시되도록 할 수 있다. 예를 들어, 상기 주 위에 마우스를 가져가면 상기 주에 대한 데이터가 그 주 위의 오버레이에 제시될 수 있다. 또한, 예를 들어 상기 주를 클릭함으로써 그 주를 선택하면 그 주의 상세한지도가 제시될 수 있다. 예를 들어, 상기 조지아 주를 선택하면 조지아의 하위 영역들을 나타내는 조지아 지도가 제시될 수 있다. 주 보기(state view)의 하위 영역은 카운티들(counties), 도시들, 전화 지역 코드들, 우편 번호들 또는 더 큰 영역을 분할하는 다른 방법이 될 수 있다.
일부 구현예들에서, 선택의 세분화 레벨은 주가 선택되었던 시간의 대화형 지도 사용자 인터페이스의 줌 레벨에 기초할 수 있다. 예를 들어, 줌 레벨이 임계 값보다 큰 경우(예를 들어, 100%보다 큰 경우), 상기 선택은 상기 선택이 발생한 상기 이미지 내의 위치에 대응하는 상기 주 내의 카운티, 도시, 우편 번호 또는 지역 코드로 간주될 수 있다. 이 예에서, 대화형 지도 사용자 인터페이스(210)는 선택된 카운티, 도시, 우편 번호 또는 지역 코드의 지도의 이미지를 제시하도록 업데이트될 수 있다. 상기 줌 레벨이 임계치보다 낮으면(예를 들어, 100% 미만), 상기 선택은 전체 주로 간주될 수 있다. 이 예에서, 대화형 지도 사용자 인터페이스(210)는 상기 선택된 주의 지도의 이미지를 제시하도록 업데이트될 수 있다.
일부 구현예들에서, 주의 선택(또는 다른 유형의 사용자 상호 작용)은 사용자가 데이터를 입력 또는 수정할 수 있게 하는 사용자 인터페이스를 제시하게 한다. 예를 들어, 주의 선택은 사용자가 콘텐츠 아이템에 대한 비드(bid)를 수정 또는 입력할 수 있게 하고, 콘텐츠 아이템이 분배되는 키워드를 선택할 수 있게 하거나, 또 다른 적절한 파라미터를 입력할 수 있게 하는 오버레이를 제시할 수 있다. 상기 오버레이에 대한 데이터 입력은 상기 선택된 주에 적용될 수 있다. 예를 들어, 사용자가 조지아를 선택한 후에 비드를 수정하면, 그 비드는 조지아에 위치한 클라이언트 장치들에 상기 콘텐츠 아이템들을 제시할지 여부를 결정하는 데 사용될 수 있다.
일부 구현예들에서, 특정 캠페인에 대해 상기 주가 제시되는 동안 주(또는 다른 하위 영역)가 선택되면 그 캠페인의 활성 상태와 비활성 상태 간의 토글(toggle)을 초래한다. 예를 들어, 상기 주가 상기 캠페인에 대해 비활성 상태인 경우(예를 들어, 캠페인의 콘텐츠 아이템들이 그 주에 위치한 클라이언트 장치에 제공될 수 없는 경우), 상기 주의 선택은 상기 주의 상태를 상기 캠페인에 대한 활성 상태로 토글할 수 있다(예를 들어, 콘텐츠 아이템들은 그 주에 위치한 클라이언트 장치에 제공될 수 있다). 이 예에서, 상기 클라이언트 장치는, 상기 선택 및 데이터 관리 시스템(110)에 응답하여, 상기 주가 캠페인에 대해 토글됨을 지정하는 데이터를 제공할 것이다. 이에 응답하여, 데이터 관리 시스템(110)은 상기 주에 대한 상태 변화에 기초하여 상기 캠페인에 대한 배포 기준을 업데이트할 수 있다.
도 3은 대화형 지도 사용자 인터페이스를 제공하기 위한 예시적인 프로세스 (300)의 흐름도이다. 프로세스(300)의 동작들은 예를 들어 도 1의 데이터 관리 시스템(110)과 같은 하나 이상의 데이터 처리 장치에 의해 구현될 수 있다. 프로세스(300)는 또한 컴퓨터 저장 매체상에 저장된 명령어들에 의해 구현될 수 있으며, 여기서 상기 데이터 처리 장치에 의한 명령어들의 실행은 그 데이터 처리 장치로 하여금 프로세스(300)의 동작들을 수행하게 한다.
대화형 지도 사용자 인터페이스의 프레젠테이션 요청이 수신된다(302). 예를 들어, 클라이언트 장치는 특정 지리적 영역을 나타내는 대화형 지도 사용자 인터페이스에 대한 요청을 제출할 수 있다. 상기 요청은 또한 클라이언트 장치의 사용자가 보고자하는 상기 특정 지리적 영역과 관련된 데이터를 지정할 수 있다. 예를 들어, 상기 요청은 콘텐츠 아이템이 남아메리카에 위치한 장치들에서 제시될 때 남아메리카의 지리적 위치와 특정 콘텐츠 아이템에 대한 선택 데이터를 지정할 수 있다.
상기 특정 영역의 지도는 맵핑 서비스를 사용하여 렌더링된다(304). 예를 들어, 전술한 바와 같이, 지도 클라이언트는 맵핑 서비스와 상호 작용하여 지도 캔버스를 생성하고, 그 캔버스의 지도 타일들을 구성하고, 그 지도 타일들 위에 오버레이들을 위치시키고, 그 지도에 다른 지도 데이터를 위치시키고, 그 지도를 예를 들어 메모리 또는 디스플레이에 렌더링할 수 있다. 상기 렌더링은 상기 특정 영역의 캔버스를 생성하고, 상기 지도를 생성하는 데 사용되는 그래픽 구성요소들(예를 들어, 지도 타일들, 오버레이들 등) 및 프로그래밍 구성요소들(예를 들어, 스크립트들)을 로딩하는 것을 포함할 수 있다.
상기 렌더링된 지도의 이미지를 나타내는 이미지 파일이 생성된다(306). 예를 들어, 상기 렌더링된 지도의 이미지는 상기 렌더링된 지도를 제시하는 디스플레이의 스크린샷을 취함으로써 캡처될 수 있다. 그 다음, 상기 캡처한 이미지를 나타내는 이미지 파일이 생성될 수 있다. 상기 이미지 파일은 PNG, GIF, JPEG 또는 기타 적절한 이미지 파일 형식일 수 있다.
하나 이상의 하위 영역들은 상기 이미지 내에서 검출된다(308). 예를 들어, 경계 검출 기술을 사용하여 상기 이미지 내의 경계들이 검출될 수 있다. 그 다음, 상기 경계들 사이의 형상들은 상기 하위 영역들을 식별하도록 특정 지리적 영역의 알려진 하위 영역들의 형상들과 비교될 수 있다.
상이한 시각적 특성이 각 하위 영역에 할당된다(310). 예를 들어, 상이한 색상이 각 하위 영역에 할당될 수 있다. 색상들은 RGB 모델 또는 컴퓨터가 판독가능한 다른 적절한 색상 모델에 기반할 수 있다. 다른 예에서, 상기 시각적 특성은 다른 음영, 해칭, 색상 강도 또는 다른 적절한 시각적 특성일 수 있다.
전자 인덱스가 생성된다(312). 상기 전자 인덱스는 상기 이미지 내의 각 위치를 상기 위치를 포함하는 해당 하위 영역에 매핑할 수 있다. 상기 전자 인덱스는 각 하위 영역을 상기 하위 영역과 관련된 데이터에 매핑할 수도 있다. 예를 들어, 대화형 지도 사용자 인터페이스는 상기 하위 영역들과 관련된 특정 데이터를 제시하도록 요청될 수 있다. 상기 각 하위 영역의 특정 데이터는 상기 전자 인덱스에 포함될 수 있다.
일부 구현예들에서, 상기 전자 인덱스는 각 위치의 x-y 좌표를 해당 하위 영역에 매핑한다. 일부 구현예들에서, 상기 전자 인덱스는 상기 시각적 특성을 상기 하위 영역에 매핑한다. 예를 들어, 상기 전자 인덱스는 각 하위 영역을 고유의 RGB 색상으로 매핑할 수 있다.
상기 클라이언트 장치의 사용자 인터페이스는 상기 이미지를 제시하도록 구성된다(314). 예를 들어, 상기 이미지의 표시를 유발하는 데이터는 클라이언트 장치에 제공될 수 있다. 이 데이터는 상기 클라이언트 장치가 상기 이미지를 제시하게 하는 코드(예를 들어, 루틴들 또는 스크립트들), 전자 인덱스 및 상기 이미지를 나타내는 이미지 파일을 포함할 수 있다. 이 데이터는 상이한 하위 영역에 대응하는 상이한 시각적 특성에 따라 제시되는 상이한 하위 영역들 각각이 제시될 상기 이미지가 제시되게 한다. 예를 들어, 각 하위 영역은 RGB 색상으로 제시될 수 있다. 일부 구현예들에서, 상기 이미지를 나타내는 상기 이미지 파일은 상기 클라이언트 장치에 상기 이미지 파일을 전송하기 전에 압축될 수 있다. 이미지 파일을 압축하기 위한 예시적인 프로세스는 도 4에 도시되고, 이하에서 설명된다.
상기 클라이언트 장치는 상기 이미지와의 사용자 상호 작용에 응답하여 상기 전자 인덱스에 액세스할 수 있다. 예를 들어, 상기 사용자가 특정 하위 영역의 위치를 포인터로 가리키면(hover), 상기 클라이언트 장치는 상기 이미지 내의 상기 가리키는 위치(예를 들어, x-y 좌표)를 검출할 수 있다. 그 다음, 상기 클라이언트 장치는 상기 전자 인덱스에 액세스하여 상기 하위 영역이 가리켜졌는지(hovered)를 결정하고, 상기 전자 인덱스로부터 하위 영역에 대한 데이터를 검색할 수 있다. 그 다음에, 상기 클라이언트 장치는 상기 검색된 데이터를 상기 사용자 인터페이스, 예를 들어 사용자 상호작용을 수신한 상기 하위 영역에 제시할 수 있다.
상기 클라이언트 장치에 제공된 데이터는 상기 클라이언트 장치가 소정의 사용자 상호 작용에 응답하여 다른 동작을 수행하게 할 수 있다. 예를 들어, 상기 클라이언트 장치는 특정 하위 영역에서 상기 이미지의 선택에 응답하여 그 특정 하위 영역에 대한 캠페인의 활성/비활성 상태를 토글할 수 있다. 이 예에서, 스크립트는 상기 클라이언트 장치로 하여금 상기 특정 하위 영역의 활성/비활성 상태의 토글을 지정하는 데이터를 콘텐츠 분배 시스템에 전송하게 할 수 있다.
다른 예에서, 특정 하위 영역의 선택은 상기 클라이언트 장치가 상기 특정 하위 영역의 지도를 요청하게 할 수 있다. 이 예에서, 스크립트는 상기 클라이언트 장치가 자신의 캐시에 액세스하게 하여 상기 특정 하위 영역의 이미지를 나타내는 이미지 파일이 상기 캐시에 저장되었는지 여부를 결정할 수 있게 한다.
상기 이미지 파일이 상기 캐시에 저장되어 있으며, 상기 클라이언트 장치는 상기 캐시로부터 상기 이미지 파일을 획득하고, 상기 사용자 인터페이스에 상기 특정 하위 영역의 상기 이미지를 제시할 수 있다. 상기 이미지 파일이 상기 캐시에 저장되어 있지 않으면, 상기 스크립트는 상기 클라이언트 장치가 상기 특정 하위 영역의 지도의 이미지를 요청하게 할 수있다.
도 4는 이미지를 압축하기 위한 예시적인 프로세스(400)의 흐름도이다. 프로세스(400)의 동작들은 예를 들어 도 1의 파일 압축기(129)와 같은 하나 이상의 데이터 처리 장치에 의해 구현될 수 있다. 프로세스(400)는 또한 컴퓨터 저장 매체상에 저장된 명령어들에 의해 구현될 수 있으며, 여기서 데이터 처리 장치에 의한 명령어들의 실행은 상기 데이터 처리 장치로 하여금 프로세스(400)의 동작들을 수행하게 한다.
이미지 파일이 수신된다(402). 상기 이미지 파일은 상기 특정 영역의 이미지를 나타낼 수 있으며, 상기 특정 영역의 하위 영역들을 나타낼 수 있다. 상기 이미지 파일은 PNG, GIF, JPEG 또는 기타 적절한 이미지 파일 형식일 수 있다.
복수의 상이한 하위 영역들 각각에 대한 이미지 내의 위치들을 지정하는 데이터가 수신된다(404). 예를 들어, 상기 데이터는 각각의 하위 영역에 대해, 각 하위 영역에 대응하는 이미지 내의 x-y 좌표 (또는 x-y 좌표의 범위)를 지정할 수 있다. 각각의 하위 영역마다 상이한 색상이 식별된다(406). 예를 들어, 각 하위 영역에는 RGB 색상 모델을 기반으로 상이한 색상이 할당될 수 있다.
상기 이미지 파일은 압축된다(408). 상기 이미지 파일은 각 하위 영역의 위치와 각 하위 영역에 할당된 색상을 기반으로 압축될 수 있다. 예를 들어, 상기 이미지 파일은 각각의 하위 영역에 대해, 상기 하위 영역에 할당된 색상 및 그 대응하는 위치들을 저장할 수 있다. 이러한 방식으로 이미지를 압축하면 상기 하위 영역들이 여러 색상인 경우보다 적은 데이터를 사용하여 상기 이미지 파일에서 각 하위 영역을 표현할 수 있으므로 단색 하위 영역들이 포함된 이미지의 경우 픽셀당 코스트가 훨씬 낮아질 수 있다(예를 들어, 디스플레이 픽셀당 상기 이미지의 데이터 크기 면에서).
이러한 방식으로 상기 이미지 파일을 압축함으로써, 상기 이미지 파일은 네트워크를 통해보다 신속하게 전송될 수 있고, 비-압축 이미지 파일보다 적은 대역폭을 사용한다. 또한, 상기 클라이언트 장치의 GPU는 상기 이미지 내의 각 위치의 상세 데이터를 포함하는 비-압축 이미지 파일을 제시할 수 있는 것보다 상기 압축된 이미지 파일을 더 빨리 제시할 수 있다.
실시예들은 일반적으로 콘텐츠 제공 관리 시스템을 위한 지도 인터페이스를 참조하여 설명되지만, 본 요지는 데이터가 사용자에게 제공되고 콘텐츠 제공 관리에 제한되지 않는 대안적인 시스템들에 적용 가능하다는 것을 이해할 것이다.
본 요지 및 본 명세서에서 설명된 동작들의 실시예들은 본 명세서에 설명된 구조들 및 그 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 요지의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 대안으로 또는 부가적으로, 상기 프로그램 명령어들은 인위적으로 생성된 전파된 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된 기계-생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 이들이 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 대상일 수 있다. 또한, 상기 컴퓨터 저장 매체는 하나 이상의 개별 물리적 컴포넌트들 또는 매체(예를 들어, 복수의 CD, 디스크 또는 다른 저장 장치)일 수 있거나 이들에 포함될 수 있다.
본 명세서에서 설명된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 장치에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩의 시스템, 또는 복수의 것들, 또는 전술한 것들의 조합을 포함하는, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 또한, 상기 장치는 하드웨어 이외에 해당 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경, 가상 머신 또는 이들 중 하나 이상의 조합으로 구성되는 코드를 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 다른 컴퓨팅 모델 인프라들을 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어, 선언적 또는 절차적 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램 또는 모듈, 컴포넌트, 서브 루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함한 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하고 있는 파일의 일부분, 해당 프로그램 전용 파일 또는 여러 개의 조정 파일(예를 들어, 하나 이상의 모듈들, 하위 프로그램들 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러 대의 컴퓨터 또는 하나의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 액션들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름은 또한 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 상기 특수 목적 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 예를 들어 범용 또는 특수 목적 마이크로프로세서 또는 둘 모두, 또는 임의의 종류의 하나 이상의 프로세서를 포함할 수 있다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 데이터(예를 들어, 자기, 광 자기 디스크 또는 광 디스크)를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 그 하나 이상의 대용량 저장 장치로부터 데이터를 수신하거나 전송하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요는 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 장치(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 장치들은
예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로가 부가되거나 그 안에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은 사용자에게 정보를 제공하기 위한 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 장치, 사용자가 입력을 컴퓨터에 제공할 수 있는 마우스 또는 트랙볼과 같은 키보드 및 포인팅 장치를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 장치들은 사용자와의 상호 작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있으며, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 장치상의 웹 브라우저에 웹 페이지를 전송함으로써 수행될 수 있다.
본 명세서에서 설명된 요지의 실시예들은 데이터 서버와 같은 백 엔드 컴포넌트; 애플리케이션 서버와 같은 미들웨어 컴포넌트; 예를 들어 관계 그래픽 사용자 인터페이스 또는 사용자가 본 명세서에 설명된 요지의 구현예와 상호 작용할 수 있는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔트 컴포넌트; 또는 하나 이상의 백 엔드, 미들웨어, 프론트 엔트 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 예시적인 통신 네트워크는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터넷 간 네트워크(예를 들어, 인터넷) 및 P2P 네트워크(예를 들어, 애드혹 P2P 네트워크를 포함한다.
상기 컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 발생한다. 일부 실시예들에서, 서버는 클라이언트 장치에 데이터(예를 들어, HTML 페이지)를 송신한다(예를 들어, 클라이언트 장치와 상호 작용하는 사용자에게 데이터를 표시하고 사용자 입력을 수신하기 위한 목적으로). 클라이언트 장치에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버의 클라이언트 장치로부터 수신될 수 있다.
본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 콘텍스트에서 설명된 다양한 특징들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 더욱이, 특징들은 소정의 조합으로 작용하고 상술한 바와 같이 초기에 청구된 것으로서 설명될 수 있지만, 청구된 조합의 하나 이상의 특징이 어떤 경우 그 조합으로부터 제거될 수 있고, 그 청구된 조합은 서브조합 또는 그 서브조합의 변형을 지향할 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작들을 달성하기 위해, 그러한 동작들이 도시된 순서 또는 순차적인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 실시 예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다중 소프트웨어 제품들로 패키징될 수 있다는 것을 이해해야 한다.
따라서, 본 요지의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 방법으로서,
    하나 이상의 서버에 의해 그리고 클라이언트 장치로부터, (i) 특정 지리적 영역 및 (ii) 온라인 계정에 대한 계정 데이터를 나타내는 대화형 지도 사용자 인터페이스의 프레젠테이션을 위한 요청을 수신하는 단계 -상기 계정 데이터는, 특정 지리적 영역의 복수의 상이한 하위 영역들의 각 하위 영역에 대해, 전자 콘텐츠 아이템들이 하위 영역에 위치한 복수의 상이한 사용자 장치들에 분배될 때 온라인 계정의 복수의 상이한 전자 콘텐츠 아이템들과 얼마나 많은 사용자 상호 작용이 발생했는지를 나타내는 속성 데이터를 포함하고; 상기 전자 콘텐츠 아이템들 각각은 대화형 지도 사용자 인터페이스와는 상이함-;
    상기 하나 이상의 서버에 의해, 특정 지리적 영역의 지도를 나타내고 그리고 생성된 이미지 파일보다 큰 파일이고 그리고 상기 생성된 이미지 파일보다 큰 메모리를 필요로 하는 렌더링된 지도 캔버스의 이미지를 나타내는 이미지 파일을 생성하는 단계;
    적어도 상기 이미지에 의해 나타나는 시각적 경계에 기초하여 상기 이미지 내의 하나 이상의 하위 영역을 검출하는 단계;
    상이한 하위 영역들에 대한 속성 데이터에 기초하여 상기 이미지 내의 상이한 하위 영역들 각각에 상이한 시각적 특성을 할당하는 단계 -상기 전자 콘텐츠 아이템들과의 상이한 양(quantities)의 사용자 상호 작용은 상이한 시각적 특성에 의해 표시됨-; 그리고
    상기 하나 이상의 서버에 의해, 상이한 하위 영역에 대응하는 상이한 시각적 특성을 이용하여 제시되는 상이한 하위 영역들 각각을 갖는 상기 이미지를 제시하도록 클라이언트 장치의 사용자 인터페이스를 구성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    각각의 하위 영역에 대한 시각적 특성은 전자 콘텐츠 아이템들이 하위 영역에 위치한 사용자 장치에 분배될 때 발생하는 온라인 계정의 전자 콘텐츠 아이템들과의 사용자 상호 작용의 수에 기초하여 하위 영역에 할당된 특정 색상을 포함하며, 각 하위 영역의 전체 영역은 이미지에서 하위 영역에 할당된 특정 색상으로 제시되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 방법은, 압축 기술을 사용하여 이미지 파일의 데이터 크기를 감소시키는 단계를 더 포함하며, 상기 압축 기술은,
    이미지의 각 하위 영역에, 이미지의 하위 영역이 제시되는 특정 적색, 녹색, 청색 색상(RGB 색상)을 할당하고; 그리고
    각각의 특정 하위 영역에 대해, 이미지 파일에 하위 영역에 대한 상기 RGB 색상 및 상기 이미지 내의 특정 하위 영역의 위치를 지정하는 데이터를 저장하는 것을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 방법은,
    하나 이상의 서버에서 그리고 클라이언트 장치로부터 이미지 내의 특정 위치의 선택을 지정하는 데이터를 수신하는 단계;
    이미지의 특정 위치에 대응하는 특정 하위 영역의 제2 지도를 나타내는 업데이트된 이미지를 생성하는 단계 -상기 생성하는 단계는 맵핑 서비스를 사용하여 특정 하위 영역의 제2 지도를 렌더링하는 단계 및 렌더링된 제2 지도의 제2 이미지를 생성하는 단계를 포함함-; 그리고
    상기 렌더링된 제2 지도를 제공하는 대신에 상기 업데이트된 이미지를 나타내는 데이터를 포함하는 제2 이미지 파일을 클라이언트 장치에 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 방법은,
    상기 선택의 시점에서 상기 이미지에 대한 줌 레벨을 지정하는 데이터를 클라이언트 장치로부터 수신하는 단계;
    상기 줌 레벨에 기초하여, 상기 선택에 대한 세분화(granularity) 레벨을 결정하는 단계; 그리고
    상기 선택된 위치에 대응하는 상기 특정 하위 영역을 상기 선택에 대한 세분화 레벨에 기초하여 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 방법은,
    매핑 서비스를 사용하여, 특정 지리적 영역의 캔버스를 생성하는 단계를 더 포함하며,
    상기 특정 지리적 영역의 캔버스를 생성하는 단계는 특정 지리적 영역의 캔버스를 생성하고, 지도를 생성하는데 사용되는 복수의 프로그래밍 구성요소들 및 그래픽 구성요소들을 로딩하는 단계를 포함하며,
    상기 이미지 파일은 렌더링된 지도를 사용하여 생성되며;
    상기 이미지 파일은 PNG(Portable Network Graphics) 파일 포맷을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 방법은,
    상기 하나 이상의 서버에 의해, 상기 클라이언트 장치에, 요청에 응답하여 그리고 하나 이상의 추가 이미지 파일들에 대한 요청을 수신하기 전에 상기 하위 영역들 중 적어도 하나의 지도를 각각 나타내는 하나 이상의 추가 이미지 파일들을 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 시스템으로서,
    클라이언트 장치로부터, (i) 특정 지리적 영역 및 (ii) 온라인 계정에 대한 계정 데이터를 나타내는 대화형 지도 사용자 인터페이스의 프레젠테이션을 위한 요청을 수신하는 제1 프론트-엔드 서버 -상기 계정 데이터는, 특정 지리적 영역의 복수의 상이한 하위 영역들의 각 하위 영역에 대해, 전자 콘텐츠 아이템들이 하위 영역에 위치한 복수의 상이한 사용자 장치들에 분배될 때 온라인 계정의 복수의 상이한 전자 콘텐츠 아이템들과 얼마나 많은 사용자 상호 작용이 발생했는지를 나타내는 속성 데이터를 포함하고; 상기 전자 콘텐츠 아이템들 각각은 대화형 지도 사용자 인터페이스와는 상이함-;
    지도 이미지 파일 생성기 -상기 지도 이미지 파일 생성기는,
    특정 지리적 영역의 지도를 나타내고 그리고 생성된 이미지 파일보다 큰 파일이고 그리고 상기 생성된 이미지 파일보다 큰 메모리를 필요로 하는 렌더링된 지도 캔버스의 이미지를 나타내는 이미지 파일을 생성하고,
    적어도 상기 이미지에 의해 나타나는 시각적 경계에 기초하여 상기 이미지 내의 하나 이상의 하위 영역들을 검출하고, 그리고
    상이한 하위 영역들에 대한 속성 데이터에 기초하여 상기 이미지 내의 상이한 하위 영역들 각각에 상이한 시각적 특성을 할당하며, 상기 전자 콘텐츠 아이템들과의 상이한 양(quantities)의 사용자 상호 작용은 상이한 시각적 특성에 의해 표시됨-; 그리고
    상이한 하위 영역에 대응하는 상이한 시각적 특성을 이용하여 제시되는 상이한 하위 영역들 각각을 갖는 상기 이미지를 제시하도록 클라이언트 장치의 사용자 인터페이스를 구성하는 제2 프론트-엔드 서버를 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서, 상기 시스템은,
    압축 기술을 사용하여 상기 이미지를 저장하는 이미지 파일의 데이터 크기를 압축하는 파일 압축기를 더 포함하며, 상기 압축 기술은,
    이미지의 각 하위 영역에, 이미지의 하위 영역이 제시되는 특정 적색, 녹색, 청색 색상(RGB 색상)을 할당하고; 그리고
    각각의 특정 하위 영역에 대해, 이미지 파일에 하위 영역에 대한 상기 RGB 색상 및 상기 이미지 내의 특정 하위 영역의 위치를 지정하는 데이터를 저장하는 것을 포함하는 것을 특징으로 하는 시스템.
  10. 제8항에 있어서,
    각각의 하위 영역에 대한 시각적 특성은 전자 콘텐츠 아이템들이 하위 영역에 위치한 사용자 장치에 분배될 때 발생하는 온라인 계정의 전자 콘텐츠 아이템들과의 사용자 상호 작용의 수에 기초하여 하위 영역에 할당된 특정 색상을 포함하며, 각 하위 영역의 전체 영역은 이미지에서 하위 영역에 할당된 특정 색상으로 제시되는 것을 특징으로 하는 시스템.
  11. 제8항에 있어서,
    상기 제1 프론트-엔드 서버는 클라이언트 장치로부터 이미지 내의 특정 위치의 선택을 지정하는 데이터를 수신하고;
    상기 지도 이미지 파일 생성기는 이미지의 특정 위치에 대응하는 특정 하위 영역의 제2 지도를 나타내는 업데이트된 이미지를 생성하고 -상기 업데이트된 이미지를 생성하는 것은 맵핑 서비스를 사용하여 특정 하위 영역의 제2 지도를 렌더링하고, 상기 렌더링된 제2 지도의 제2 이미지를 생성하는 것을 포함함-; 그리고
    상기 제2 프론트-엔드 서버는 상기 렌더링된 제2 지도를 제공하는 대신에 상기 업데이트된 이미지를 나타내는 데이터를 포함하는 제2 이미지 파일을 클라이언트 장치에 제공하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서,
    상기 제1 프론트-엔드 서버는 상기 선택의 시점에서 상기 이미지에 대한 줌 레벨을 지정하는 데이터를 클라이언트 장치로부터 수신하고;
    지도 렌더링 서버는 상기 줌 레벨에 기초하여, 상기 선택에 대한 세분화(granularity) 레벨을 결정하고; 그리고
    지도 렌더링 서버는 상기 선택된 위치에 대응하는 상기 특정 하위 영역을 상기 선택에 대한 세분화 레벨에 기초하여 결정하는 것을 특징으로 하는 시스템.
  13. 제8항에 있어서, 상기 시스템은,
    매핑 서비스를 사용하여 특정 지리적 영역의 지도를 렌더링하는 지도 렌더링 서버를 더 포함하며,
    상기 지도를 렌더링하는 것은 특정 지리적 영역의 캔버스를 생성하는 것과, 맵을 생성하는데 사용되는 복수의 프로그래밍 구성요소들 및 그래픽 구성요소들을 로딩하는 것을 포함하며,
    상기 이미지 파일은 렌더링된 지도를 사용하여 생성되며;
    상기 이미지 파일은 PNG(Portable Network Graphics) 파일 포맷을 포함하는 것을 특징으로 하는 시스템.
  14. 제8항에 있어서,
    상기 제2 프론트-엔드 서버는 상기 클라이언트 장치에, 요청에 응답하여 그리고 하나 이상의 추가 이미지 파일들에 대한 요청을 수신하기 전에 상기 하위 영역들 중 적어도 하나의 지도를 각각 나타내는 하나 이상의 추가 이미지 파일들을 제공하는 것을 특징으로 하는 시스템.
  15. 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체로서, 상기 컴퓨터 프로그램은 하나 이상의 데이터 처리 장치에 의해 실행될 때 상기 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령어들을 포함하며, 상기 동작들은,
    클라이언트 장치로부터, (i) 특정 지리적 영역 및 (ii) 온라인 계정에 대한 계정 데이터를 나타내는 대화형 지도 사용자 인터페이스의 프레젠테이션을 위한 요청을 수신하는 동작 -상기 계정 데이터는, 특정 지리적 영역의 복수의 상이한 하위 영역들의 각 하위 영역에 대해, 전자 콘텐츠 아이템들이 하위 영역에 위치한 복수의 상이한 사용자 장치들에 분배될 때 온라인 계정의 복수의 상이한 전자 콘텐츠 아이템들과 얼마나 많은 사용자 상호 작용이 발생했는지를 나타내는 속성 데이터를 포함하고; 상기 전자 콘텐츠 아이템들 각각은 대화형 지도 사용자 인터페이스와는 상이함-;
    특정 지리적 영역의 지도를 나타내고 그리고 생성된 이미지 파일보다 큰 파일이고 그리고 상기 생성된 이미지 파일보다 큰 메모리를 필요로 하는 렌더링된 지도 캔버스의 이미지를 나타내는 이미지 파일을 생성하는 동작;
    적어도 상기 이미지에 의해 나타나는 시각적 경계에 기초하여 상기 이미지 내의 하나 이상의 하위 영역을 검출하는 동작;
    상이한 하위 영역들에 대한 속성 데이터에 기초하여 상기 이미지 내의 상이한 하위 영역들 각각에 상이한 시각적 특성을 할당하는 동작 -상기 전자 콘텐츠 아이템들과의 상이한 양(quantities)의 사용자 상호 작용은 상이한 시각적 특성에 의해 표시됨-; 그리고
    상이한 하위 영역에 대응하는 상이한 시각적 특성을 이용하여 제시되는 상이한 하위 영역들 각각을 갖는 상기 이미지를 제시하도록 클라이언트 장치의 사용자 인터페이스를 구성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
  16. 제15항에 있어서,
    각각의 하위 영역에 대한 시각적 특성은 전자 콘텐츠 아이템들이 하위 영역에 위치한 사용자 장치에 분배될 때 발생하는 온라인 계정의 전자 콘텐츠 아이템들과의 사용자 상호 작용의 수에 기초하여 하위 영역에 할당된 특정 색상을 포함하며, 각 하위 영역의 전체 영역은 이미지에서 하위 영역에 할당된 특정 색상으로 제시되는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
  17. 제15항에 있어서, 상기 동작들은, 압축 기술을 사용하여 이미지 파일의 데이터 크기를 감소시키는 동작을 더 포함하며, 상기 압축 기술은,
    이미지의 각 하위 영역에, 이미지의 하위 영역이 제시되는 특정 적색, 녹색, 청색 색상(RGB 색상)을 할당하고; 그리고
    각각의 특정 하위 영역에 대해, 이미지 파일에 하위 영역에 대한 상기 RGB 색상 및 상기 이미지 내의 특정 하위 영역의 위치를 지정하는 데이터를 저장하는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
  18. 제15항에 있어서, 상기 동작들은,
    클라이언트 장치로부터 이미지 내의 특정 위치의 선택을 지정하는 데이터를 수신하는 동작;
    이미지의 특정 위치에 대응하는 특정 하위 영역의 제2 지도를 나타내는 업데이트된 이미지를 생성하는 동작 -상기 업데이트된 이미지를 생성하는 동작은 맵핑 서비스를 사용하여 특정 하위 영역의 제2 지도를 렌더링하는 동작 및 렌더링된 제2 지도의 제2 이미지를 생성하는 동작을 포함함-; 그리고
    상기 렌더링된 제2 지도를 제공하는 대신에 상기 업데이트된 이미지를 나타내는 데이터를 포함하는 제2 이미지 파일을 클라이언트 장치에 제공하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
  19. 제18항에 있어서, 상기 동작들은,
    상기 선택의 시점에서 상기 이미지에 대한 줌 레벨을 지정하는 데이터를 클라이언트 장치로부터 수신하는 동작;
    상기 줌 레벨에 기초하여, 상기 선택에 대한 세분화(granularity) 레벨을 결정하는 동작; 그리고
    상기 선택된 위치에 대응하는 상기 특정 하위 영역을 상기 선택에 대한 세분화 레벨에 기초하여 결정하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
  20. 제15항에 있어서, 상기 동작들은,
    매핑 서비스를 사용하여, 특정 지리적 영역의 지도를 렌더링하는 동작을 더 포함하며,
    상기 지도를 렌더링하는 동작은 특정 지리적 영역의 캔버스를 생성하고, 지도를 생성하는데 사용되는 복수의 프로그래밍 구성요소들 및 그래픽 구성요소들을 로딩하는 동작을 포함하며,
    상기 이미지 파일은 렌더링된 지도를 사용하여 생성되며;
    상기 이미지 파일은 PNG(Portable Network Graphics) 파일 포맷을 포함하는 것을 특징으로 하는 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체.
KR1020207008831A 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축 KR102366752B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/005,820 2016-01-25
US15/005,820 US9922426B2 (en) 2016-01-25 2016-01-25 Reducing latency in presenting map interfaces at client devices
PCT/US2016/064399 WO2017131858A1 (en) 2016-01-25 2016-12-01 Reducing latency in map interfaces
KR1020187022781A KR102096497B1 (ko) 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022781A Division KR102096497B1 (ko) 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축

Publications (2)

Publication Number Publication Date
KR20200035491A true KR20200035491A (ko) 2020-04-03
KR102366752B1 KR102366752B1 (ko) 2022-02-23

Family

ID=57796962

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187022781A KR102096497B1 (ko) 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축
KR1020207008831A KR102366752B1 (ko) 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187022781A KR102096497B1 (ko) 2016-01-25 2016-12-01 지도 인터페이스들의 지연시간 단축

Country Status (7)

Country Link
US (3) US9922426B2 (ko)
EP (1) EP3408833A1 (ko)
JP (2) JP6648285B2 (ko)
KR (2) KR102096497B1 (ko)
CN (1) CN107231817A (ko)
AU (3) AU2016389048B2 (ko)
WO (1) WO2017131858A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102181345B1 (ko) * 2018-02-20 2020-11-20 한국전자통신연구원 이미지 타일 가시화 정보의 계층적 표현을 이용한 이미지 표현 방법, 이를 이용하는 디바이스 및 시스템
EP3776193B1 (en) * 2018-03-30 2023-10-25 Fullstory, Inc. Capturing and processing interactions with a user interface of a native application
CN108671541B (zh) * 2018-04-27 2021-09-28 腾讯科技(深圳)有限公司 一种数据存储方法和装置以及存储介质
US11145092B2 (en) * 2018-08-08 2021-10-12 Adobe Inc. Graphical element color diffusion techniques
CN109542987B (zh) * 2018-10-09 2021-10-22 中国电子科技集团公司第二十八研究所 一种基于Canvas的在线地图保存方法
KR20210037774A (ko) 2019-09-27 2021-04-07 주식회사 현대제이콤 지도를 위한 파일 관리 방법
CN112115224B (zh) * 2020-09-24 2024-03-08 北京百度网讯科技有限公司 地图数据的辅助质检方法、装置、电子设备及存储介质
CN112433651B (zh) * 2020-11-13 2022-03-11 北京鸿腾智能科技有限公司 区域识别方法、设备、存储介质及装置
US20230122581A1 (en) * 2021-10-15 2023-04-20 Lognovations Holdings, Llc Encoding / Decoding System and Method
CN115272945B (zh) * 2022-09-27 2023-01-03 江苏衣升元气服饰科技有限公司 适用于服装的数据处理方法及装置
CN116774900B (zh) * 2023-08-24 2023-12-12 中招国际招标有限公司 一种工程项目管理系统的电子地图的交互方法
CN117332102B (zh) * 2023-11-30 2024-02-06 陕西建一建设有限公司 一种基于bim的建筑数据优化存储方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088887A (ko) * 2001-02-02 2001-09-29 유명순 지도 인터페이스를 이용한 생활 정보 제공 방법
KR20080018405A (ko) * 2006-08-24 2008-02-28 한국문화콘텐츠진흥원 3차원 지형의 제작을 제공하는 지형 제작 프로그램을기록한 컴퓨터 판독가능 기록매체
US20080192053A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Transforming Offline Maps into Interactive Online Maps
JP2008204471A (ja) * 2001-02-09 2008-09-04 Overture Services Inc 空間的に選択できる特徴を使用して情報を検索する方法
US20080301643A1 (en) * 2007-05-28 2008-12-04 Google Inc. Map Gadgets
US20130101214A1 (en) 2011-10-25 2013-04-25 John T. Sample System and method for converting source image data to tile data
US20140173520A1 (en) * 2010-05-21 2014-06-19 Telecommunication Systems, Inc. Personal Wireless Navigation System
US20150332481A1 (en) * 2014-05-15 2015-11-19 Google Inc. Indexed uniform styles for stroke rendering
US20160018951A1 (en) 2014-07-17 2016-01-21 Microsoft Corporation Contextual view portals

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3503397B2 (ja) 1997-02-25 2004-03-02 Kddi株式会社 地図表示システム
GB2346786A (en) 1999-02-09 2000-08-16 Ibm Image maps
US7447509B2 (en) * 1999-12-22 2008-11-04 Celeritasworks, Llc Geographic management system
US7120293B2 (en) 2001-11-30 2006-10-10 Microsoft Corporation Interactive images
CA2479401A1 (en) 2002-03-15 2003-09-25 Summus, Inc. Methods and systems for downloading and viewing maps
US20060058951A1 (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
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
US7933395B1 (en) * 2005-06-27 2011-04-26 Google Inc. Virtual tour of user-defined paths in a geographic information system
US7707379B2 (en) 2006-07-13 2010-04-27 International Business Machines Corporation Dynamic latency map for memory optimization
JP2011519797A (ja) * 2008-04-25 2011-07-14 プラス・アーン・リミテッド 小売店の在庫データを収集して処理するための方法およびシステム
CN101477559B (zh) * 2009-01-20 2010-12-29 华南理工大学 基于区域着色的地理信息感知方法
US8190585B2 (en) * 2010-02-17 2012-05-29 Lockheed Martin Corporation Supporting multiple different applications having different data needs using a voxel database
US9183221B2 (en) 2010-08-11 2015-11-10 Root Wireless, Inc. Component and method for overlying information bearing hexagons on a map display
CN101957839A (zh) * 2010-09-15 2011-01-26 苏州恩巨网络有限公司 一种地图文件格式
US9535537B2 (en) 2010-11-18 2017-01-03 Microsoft Technology Licensing, Llc Hover detection in an interactive display device
US20120213416A1 (en) * 2011-02-23 2012-08-23 Google Inc. Methods and systems for browsing heterogeneous map data
TW201303624A (zh) * 2011-07-05 2013-01-16 Hon Hai Prec Ind Co Ltd 書籍資訊查閱系統及方法
US8560600B2 (en) 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers
US8803920B2 (en) 2011-12-12 2014-08-12 Google Inc. Pre-fetching map tile data along a route
US20130321400A1 (en) * 2012-06-05 2013-12-05 Apple Inc. 3D Map Views for 3D Maps
US20130325343A1 (en) * 2012-06-05 2013-12-05 Apple Inc. Mapping application with novel search field
US9235906B2 (en) * 2012-06-10 2016-01-12 Apple Inc. Scalable processing for associating geometries with map tiles
US8781735B2 (en) * 2012-06-25 2014-07-15 Google Inc. Adaptive clustering of locations
US9066206B2 (en) * 2012-07-03 2015-06-23 Uber Technologies, Inc. System and method for providing dynamic supply positioning for on-demand services
US9691128B2 (en) * 2012-09-20 2017-06-27 Facebook, Inc. Aggregating and displaying social networking system user information via a map interface
US8520018B1 (en) 2013-01-12 2013-08-27 Hooked Digital Media Media distribution system
SE539172C2 (sv) * 2013-03-13 2017-05-02 Smart Climate Scandinavian Ab Klimatanläggning avsedd att temporärt anslutas till minst ett flygplan
US20140279261A1 (en) 2013-03-15 2014-09-18 Google Inc. Destination and point of interest search
US9471959B2 (en) 2013-05-15 2016-10-18 Google Inc. Water color gradients on a digital map
US9710882B2 (en) * 2013-06-25 2017-07-18 Iteris Inc. Data overlay for animated map weather display and method of rapidly loading animated raster data
US9905043B2 (en) * 2013-09-10 2018-02-27 Microsoft Technology Licensing, Llc Techniques to generate digital maps
CA2932747C (en) * 2013-12-04 2023-04-11 Urthecast Corp. Systems and methods for processing distributing earth observation images
US9600146B2 (en) * 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088887A (ko) * 2001-02-02 2001-09-29 유명순 지도 인터페이스를 이용한 생활 정보 제공 방법
JP2008204471A (ja) * 2001-02-09 2008-09-04 Overture Services Inc 空間的に選択できる特徴を使用して情報を検索する方法
KR20080018405A (ko) * 2006-08-24 2008-02-28 한국문화콘텐츠진흥원 3차원 지형의 제작을 제공하는 지형 제작 프로그램을기록한 컴퓨터 판독가능 기록매체
US20080192053A1 (en) * 2007-02-08 2008-08-14 Microsoft Corporation Transforming Offline Maps into Interactive Online Maps
US20080301643A1 (en) * 2007-05-28 2008-12-04 Google Inc. Map Gadgets
US20140173520A1 (en) * 2010-05-21 2014-06-19 Telecommunication Systems, Inc. Personal Wireless Navigation System
US20130101214A1 (en) 2011-10-25 2013-04-25 John T. Sample System and method for converting source image data to tile data
US20150332481A1 (en) * 2014-05-15 2015-11-19 Google Inc. Indexed uniform styles for stroke rendering
US20160018951A1 (en) 2014-07-17 2016-01-21 Microsoft Corporation Contextual view portals

Also Published As

Publication number Publication date
AU2020201699A1 (en) 2020-03-26
AU2016389048B2 (en) 2019-05-16
JP2020074155A (ja) 2020-05-14
AU2019203802A1 (en) 2019-06-20
AU2020201699B2 (en) 2020-04-16
US20170213348A1 (en) 2017-07-27
US9922426B2 (en) 2018-03-20
JP6648285B2 (ja) 2020-02-14
KR102096497B1 (ko) 2020-04-02
US20170213362A1 (en) 2017-07-27
JP2019510292A (ja) 2019-04-11
US10176584B2 (en) 2019-01-08
CN107231817A (zh) 2017-10-03
EP3408833A1 (en) 2018-12-05
AU2019203802B2 (en) 2020-02-27
KR102366752B1 (ko) 2022-02-23
KR20180101477A (ko) 2018-09-12
US10311572B2 (en) 2019-06-04
AU2016389048A1 (en) 2018-08-16
JP6853391B2 (ja) 2021-03-31
US20170212909A1 (en) 2017-07-27
WO2017131858A1 (en) 2017-08-03

Similar Documents

Publication Publication Date Title
KR102096497B1 (ko) 지도 인터페이스들의 지연시간 단축
JP6997253B2 (ja) ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
JP6046153B2 (ja) 広告単位内に広告を表示するためのシステムおよび方法
US8972418B2 (en) Dynamic generation of relevant items
US20130249812A1 (en) Interactive visual representation of points of interest data
US9870578B2 (en) Scrolling interstitial advertisements
CN105898520A (zh) 视频帧截取方法和装置
WO2022105282A1 (zh) 一种游戏显示方法及装置
US11663694B2 (en) Zoom-adaptive data granularity to achieve a flexible high-performance interface for a geospatial mapping system
US8533615B1 (en) Systems and methods for order-independent rendering of graphical objects using operating system resources
US20140192082A1 (en) Methods and systems for generating an aggregated data visualization
CN113536755A (zh) 用于生成海报的方法、装置、电子设备、存储介质及产品
US9865034B1 (en) Zoom-adaptive data granularity to achieve a flexible high-performance interface for a geospatial mapping system
CN113419806B (zh) 图像处理方法、装置、计算机设备和存储介质
CN111966853A (zh) 一种遥感影像的管理方法
CN117112950B (zh) 电子地图中对象的渲染方法、装置、终端及存储介质
CN116843874A (zh) 三维场景的构建方法、装置、设备及存储介质
CN116150519A (zh) 一种动态渲染方法、装置及存储介质

Legal Events

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