KR20150044392A - 위치-기반 콘텐트를 액세스하는 방법 및 시스템 - Google Patents

위치-기반 콘텐트를 액세스하는 방법 및 시스템 Download PDF

Info

Publication number
KR20150044392A
KR20150044392A KR20140137814A KR20140137814A KR20150044392A KR 20150044392 A KR20150044392 A KR 20150044392A KR 20140137814 A KR20140137814 A KR 20140137814A KR 20140137814 A KR20140137814 A KR 20140137814A KR 20150044392 A KR20150044392 A KR 20150044392A
Authority
KR
South Korea
Prior art keywords
content
location
web browser
online
list
Prior art date
Application number
KR20140137814A
Other languages
English (en)
Other versions
KR101545303B1 (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 KR20150044392A publication Critical patent/KR20150044392A/ko
Application granted granted Critical
Publication of KR101545303B1 publication Critical patent/KR101545303B1/ko

Links

Images

Classifications

    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

위치-기반 콘텐트를 액세스하는 시스템들 및 방법들은, 웹 브라우저를 통해, 하나 이상의 온라인 신뢰되는 온라인 서비스들의 리스트를 검색하는 것을 포함한다. 상기 검색된 리스트는, 어떤 콘텐트로부터의 온라인 서비스가 요청되는지 여부를 결정하도록 사용될 수 있다. 요청되면, 상기 요청하는 디바이스의 위치는 상기 콘텐트 요청과 함께 상기 서비스에 제공될 수 있다.

Description

위치-기반 콘텐트를 액세스하는 방법 및 시스템{ACCESSING LOCATION-BASED CONTENT}
본 발명은 위치-기반 콘텐트를 액세스하는 방법 및 시스템에 관한 것이다.
온라인 콘텐트는 다양한 제1 당사자 또는 제3 당사자 소스들로부터 수신될 수 있다. 일반적으로, 제1 당사자 콘텐트는 사용자의 디바이스에 의해 요청되거나 디스플레이되는 주요 온라인 콘텐트를 지칭한다. 예를 들어, 제1 당사자 콘텐트는 클라이언트에 의해 요청되는 웹페이지 또는 상기 디바이스 상에서 구동하는 단독형 애플리케이션(예를 들어, 비디오 게임, 채팅 프로그램 등)이 될 수 있다. 제3 당사자 콘텐트는, 반대로, 제1 당사자 콘텐트와 관련하여 제공될 수 있는 추가적인 콘텐트를 지칭할 수 있다. 예를 들어, 제3 당사자 콘텐트는 요청된 웹페이지(예를 들어, 서치 엔진으로부터의 서치 결과 웹페이지, 온라인 문서를 포함하는 웹페이지, 소셜 네트워킹 서비스의 웹페이지 등)에 관련하여 나타나는 공익 광고 또는 상업 광고 또는 독립형 애플리케이션 내의 광고(예를 들어, 게임 내의 광고)일 수 있다. 보다 일반적으로, 제1 당사자 콘텐트 제공자는, 다른 콘텐트 제공자(즉, 제3 당사자 제공자)로 하여금 제1 당사자의 콘텐트와 관련된 콘텐트를 제공하도록 하는 임의의 콘텐트 제공자일 수 있다.
위치-기반 콘텐트(location-based content)를 액세스하는 시스템들 및 방법들의 구현들이 여기에서 개시된다. 일 구현은 위치-기반 콘텐트를 액세스하는 방법이다. 상기 방법은 웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스(trusted online service)들의 리스트를 검색하는 단계를 포함한다. 상기 방법은, 또한, 온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계를 포함한다. 상기 방법은, 상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하는 단계를 또한 포함한다. 상기 방법은, 상기 웹 브라우저에 의해, 상기 온라인 서비스로부터 콘텐트를 요청하는 단계를 추가적으로 포함한다. 상기 방법은, 또한, 상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하는 단계를 포함한다.
다른 구현은 위치-기반 콘텐트를 액세스하는 시스템이다. 상기 시스템은 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은 웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하도록 동작가능하다. 상기 하나 이상의 프로세서들은 또한 온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하도록 동작가능할 수 있다. 상기 하나 이상의 프로세서들은, 상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하도록 추가로 동작가능하다. 상기 하나 이상의 프로세서들은, 상기 웹 브라우저에 의해, 상기 온라인 서비스로부터의 콘텐트를 요청하도록 추가적으로 동작가능하다. 상기 하나 이상의 프로세서들은, 또한, 상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하도록 동작가능하다.
추가의 구현은 프로세서에 의해 실행가능하고 상기 프로세서로 하여금 동작들을 수행하도록 하는 기계 명령어들을 저장하는 컴퓨터 판독가능한 저장 매체이다. 상기 동작들은, 웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하는 단계를 포함한다. 상기 동작들은, 온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계를 또한 포함한다. 상기 동작들은, 상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하는 단계를 더 포함한다. 상기 동작들은, 상기 웹 브라우저에 의해, 상기 온라인 서비스로부터의 콘텐트를 요청하는 단계를 추가로 포함한다. 상기 동작들은, 상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하는 단계를 추가로 포함한다.
이러한 구현들은 본 발명의 범위를 제한하거나 정의하지 않고, 본 발명의 이해를 돕기 위해 본 발명의 구현의 예를 제공한다. 특별한 구현들은 하나 이상의 다음의 이점들을 구현하기 위해 개발될 수 있다.
하나 이상의 구현들의 세부 사항들은 첨부된 도면들 및 아래의 상세한 설명으로 서술된다. 본 발명의 다른 피처들, 양상들 및 이점들은 상세한 설명, 도면들 및 청구범위들로부터 명확해질 것이다.
도 1은 제3 당사자 콘텐트가 제1 당사자 콘테트로의 표시를 위해 선택되는 컴퓨터 시스템의 일 구현의 블록도이다.
도 2는 임베딩된 제3 당사자 콘텐트를 갖는 제1 당사자 웹페이지를 나타내는 전자 디스플레이의 일 구현의 예시적인 도시이다.
도 3은 여러 구현들에 따른, 도 1의 클라이언트 디바이스의 상세한 블록도이다.
도 4는 위치-기반 콘텐트를 액세스하는 프로세스의 일 구현에서 행해진 단계들의 흐름도이다.
도 5는 웹 브라우저의 선호 스크린의 일 구현의 도시이다.
여러 도면들에서 동일한 참조 번호들 및 명칭은 동일한 요소들을 나타낸다.
본 발명의 여러 양상들에 따라, 제1 당사자 콘텐트 제공자는, 제3 당사자 콘텐트가 제1 당사자 제공자의 콘텐트에 따라 제공될 수 있는지를 콘텐트 선택 서비스로 하여금 결정하도록 할 수 있다. 그렇게 하는 대신에, 제1 당사자 콘텐트 제공자는, 제3 당사자 콘텐트 제공자로부터 콘텐트 선택 서비스에 의해 수집된 임의의 수익들의 일부를 수신할 수 있다. 예를 들어, 웹사이트 운영자는, 상기 웹사이트의 페이지들 상의 배치를 위해 콘텐트 선택 서비스에 의해 제3 당사자 광고들이 선택되게 할 수 있다. 결과적으로, 콘텐트 선택 서비스는, 웹사이트에 콘텐트를 배치하는 제3 당사자 콘텐트 제공자들에게 특정 금액을 청구하고 이 청구 금액의 일부를 제1 당사자 콘텐트 제공자에게 부가한다.
제1 당사자 및 제3 당사자 콘텐트는 여러 구현들에서 디바이스의 위치에 기초하여 최적화될 수 있다. 일 구현에서, 상기 디바이스는 자신의 위치를 콘텐트 선택 서비스에 보고할 수 있는바, 상기 콘텐트 선택 서비스는 상기 디바이스에 의한 표시를 위해 제3 당사자 광고들 또는 다른 콘텐트를 선택하도록 디바이스의 위치를 사용한다. 예를 들어, 사용자가 지역 영화관을 찾아간다고 가정하자. 사용자가 시스템으로 하여금 자신의 위치를 사용하도록 하면, 사용자에게 특정 영화관에 대한 제3 당사자 쿠폰 또는 다른 프로모션이 제시될 수 있다. 다른 구현에서, 상기 디바이스는 제1 당사자 콘텐트에 대한 요청과 함께 자신의 위치를 보고할 수 있다. 예를 들어, 상기 디바이스의 웹 브라우저는 특별한 제1 당사자 웹 사이트를 요청할 때 상기 디바이스의 위치에 관련한 정보를 포함할 수 있다. 이 위치 정보는 이후 제1 당사자 콘텐트를 디바이스의 위치에 적합하게 하도록 상기 웹사이트에 의해 사용될 수 있다. 예를 들어, 소매 웹사이트는 가장 가까운 상점으로부터 이용가능한 상품들에 대한 재고 정보를 디스플레이할 수 있다.
여러 구현들에 따라, 복수의 측정들이 사용자의 프라이버시를 명확하게 하도록 측정될 수 있다. 일부 구현들에서, 웹 브라우저는 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하도록 구현될 수 있다. 웹 브라우저는, 어떤 온라인 서비스들이 디바이스로부터 위치 정보를 수신할 자격이 있는지를 제어하도록 이 리스트를 사용할 수 있다. 일 구현에서, 사전승인된 온라인 서비스들의 리스트가 웹 브라우저에 설치될 수 있거나 이후 시간(예를 들어, 브라우저의 업데이트 동안, 새로운 리스트가 이용가능할 때 등)에 원격 위치로부터 브라우저로부터 수신될 수 있다. 예를 들어, 웹 브라우저의 제조업자는, 웹 브라우저로부터 위치 정보를 수신하기 원하는 온라인 서비스들을 차단할 수 있다. 추가의 구현에서, 웹 브라우저는, 어떤 온라인 서비스들이 디바이스의 위치에 관련하여 데이터를 수신할 자격이 있는지 사용자가 특정하도록 구성될 수 있다. 웹 브라우저는, 또한, 위치 정보를 암호화하는 것 또는 전송 이전에 위치의 정확도를 낮추는 것 같은 추가 측정들을 행할 수 있다. 예를 들어, 웹 브라우저는, 디바이스의 더 정확한 위치를 제공하는 대신에, 디바이스의 위치를 특정 도시, 우편 번호, 주 등에 일반화시킬 수 있다.
도 1을 참조하면, 서술된 구현에 따른 컴퓨터 시스템(100)의 블록도가 도시된다. 시스템(100)은 네트워크(106)를 통해 다른 컴퓨팅 디바이스들과 통신하는 클라이언트 디바이스(102)를 포함한다. 클라이언트 디바이스(102)는 네트워크(106)를 통해 다른 디바이스들로부터 콘텐트를 검색하기 위해 웹 브라우저 또는 다른 애플리케이션(예를 들어, 비디오 게임, 메신저 프로그램, 미디어 플레이어, 소셜 네트워크 애플리케이션 등)을 실행할 수 있다. 예를 들어, 클라이언트 디바이스(102)는 임의의 수의 콘텐트 소스(108, 110)(예를 들어, 제1 콘텐트 소스로부터 제n 콘텐트 소스)와 통신할 수 있다. 콘텐트 소스들(108, 110)은 웹 페이지 데이터 그리고/또는 다른 콘텐트(예를 들어, 이미지들, 비디오 및 오디오)를 클라이언트 디바이스(102)에 제공할 수 있다. 컴퓨터 시스템(100)은 또한 클라이언트 디바이스(102)에 제공될 제3 당사자 콘텐트를 선택하기 위해 구성되는 콘텐트 선택 서비스(104)를 포함할 수 있다. 예를 들어, 콘텐트 소스(108)는 제1 당사자 웹페이지를 클라이언트 디바이스(102)에 제공할 수 있고, 클라이언트 디바이스(102)는 콘텐트 선택 서비스(104)에 의해 선택된 추가의 제3 당사자 콘텐트를 포함한다.
네트워크(106)는, 클라이언트 디바이스(102), 콘텐트 소스들(108, 110) 그리고 콘텐트 선택 서비스(104) 사이에서 정보를 중계하는 임의의 형태의 컴퓨터 네트워크일 수 있다. 예를 들어, 네트워크(106)는 인터넷 그리고/또는 다른 타입들의 데이터 네트워크들, 예를 들어, LAN(local area network), WAN(wide area network), 셀룰러 네트워크, 또는 위성 네트워크를 포함할 수 있다. 네트워크(106)는, 또한, 네트워크(106) 내에서 데이터를 수신하고 그리고/또는 전송하도록 구성된 임의의 수의 컴퓨팅 디바이스들(예를 들어, 컴퓨터, 서버들, 라우터들, 네트워크 스위치들 등)을 포함할 수 있다. 네트워크(106)는 추가로 임의의 수의 하드와이어된 그리고/또는 무선 접속들을 포함한다. 예를 들어, 클라이언트 디바이스(102)는 하드와이어된(예를 들어, 광섬유 케이블, CAT5 케이블 등을 통해) 송수신기로 네트워크(106) 내의 다른 컴퓨팅 디바이스들과 무선(예를 들어, WiFi, 셀룰러, 라디오 등을 통해) 통신할 수 있다.
클라이언트 디바이스(102)는 네트워크(106)(예를 들어, 랩탑 컴퓨터, 데스크탑 컴퓨터, 테블릿 컴퓨터, 스마트폰, 디지털 비디오 레코더, 텔레비전을 위한 셋-탑 박스, 비디오 게임 콘솔, 그것들의 조합 등)를 통해 통신하도록 구성된 임의의 수의 다른 타입들의 사용자 전자 디바이스들일 수 있다. 일부 구현들에서, 상기 타입의 클라이언트 디바이스(102)는 모바일 디바이스, 데스크탑 디바이스(예를 들어, LAN을 통해 네트워크(106)에 주로 액세스하도록 구성되거나 고정 상태를 유지하도록 의도된 디바이스) 또는 다른 카테고리의 전자 디바이스들(예를 들어, 테블릿 디바이스들은 제3 카테고리 등에 속할 수 있다)로서 카테고리화될 수 있다. 클라이언트 디바이스(102)는 프로세서(112) 및 메모리(114)를 포함하도록 도시된다. 메모리(114)는, 프로세서(112)에 의해 실행될 때 프로세서(112)로 하여금 여기에서 기술된 하나 이상의 동작들을 수행하도록 하는 기계 명령어들을 저장할 수 있다. 프로세서(112)는 하나 이상의 마이크로프로세서들, ASIC들, FPGA들, 다른 로직 프로세싱 디바이스들 또는 그것들의 조합들을 포함할 수 있다. 메모리(114)는 전기, 광, 자기, 또는 프로그램 명령어들을 프로세서(112)에 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 제한되지 않는다. 메모리(114)는 플로피 디스크, CD-ROM, DVD, 마그네틱 디스크, 메모리 칩, ROM, RAM, EEPROM, EPROM, 플래시 메모리, 광 매체, 또는 프로세서(112)가 명령어들을 판독할 수 있는 임의의 다른 적합한 메모리를 포함할 수 있다.
클라이언트 디바이스(102)는 하나 이상의 사용자 인터페이스 영화들을 포함할 수 있다. 사용자 인터페이스 디바이스는 임의의 전자 디바이스일 수 있는바, 이러한 전자 디바이스는 감각 정보(예를 들어, 디스플레이 상의 시각화, 하나 이상의 사운드들, 촉각 피드백 등)을 생성함으로써 사용자에게 데이터를 전달하고 그리고/또는 사용자로부터 수신된 감각 정보를 전자 신호들(예를 들어, 키보드, 마우스, 포인팅 디바이스, 터치 스크린 디스플레이, 마이크로폰 등)로 변환한다. 하나 이상의 사용자 인터페이스 디바이스들은, 여러 실시예들에 따라서, 클라이언트 디바이스(102)의 하우징의 내부(예를 들어, 내장형 디스플레이, 마이크로폰 등)에 존재할 수 있거나 클라이언트 디바이스(102)의 하우징의 외부(예를 들어, 클라이언트 디바이스(102)에 접속된 모니터, 클라이언트 디바이스(102)에 접속된 스피커 등)에 존재할 수 있다. 예를 들어, 클라이언트 디바이스(102)는 전자 디스플레이(116)를 포함할 수 있고, 이러한 전자 디스플레이(116)는 웹 페이지들, 및 콘텐트 소스들(108, 110) 그리고/또는 콘텐트 선택 서비스(104)로부터 수신된 다른 데이터를 디스플레이한다. 여러 구현들에서, 디스플레이(116)는 프로세서(112) 그리고/또는 메모리(114)의 하우징과 동일한 하우징 내부에 또는 외부에 존재할 수 있다. 예를 들어, 디스플레이(116)는, 컴퓨터 모니터, 텔레비전 세트, 또는 임의의 다른 독립형의 전자 디스플레이와 같은 외부 디스플레이일 수 있다. 다른 예들에서, 디스플레이(116)는 랩톱 컴퓨터, 모바일 디바이스 또는 통합된 디스플레이를 갖는 다른 형태의 컴퓨팅 디바이스의 하우징에 통합될 수 있다.
콘텐트 소스들(108, 110)은 네트워크(106)에 접속된 하나 이상의 전자 디바이스들일 수 있고, 네트워크(106)는 네트워크(106)에 접속된 디바이스들에 콘텐트를 제공한다. 예를 들어, 콘텐트 소스들(108, 110)은 컴퓨터 서버들(예를 들어, FTP 서버들, 파일 공유 서버들, 웹 서버들 등) 또는 서버들의 조합들(예를 들어, 데이터 센터들, 클라우드 컴퓨팅 플랫폼들 등)일 수 있다. 콘텐트는 웹 페이지 데이터, 텍스트 파일, 스프레드시트, 이미지들, 서치 결과들, 다른 형태들의 전자 문서들, 및 클라이언트 디바이스(102)에 의해 실행가능한 애플리케이션들을 포함할 수 있지만, 이에 제한되지 않는다. 예를 들어, 콘텐트 소스(108)는, 서치 질의에 응답하여 서치 결과 데이터를 클라이언트 디바이스(102)에 제공하는 온라인 서치 엔진일 수 있다. 다른 예에서, 콘텐트 소스(110)는, 웹페이지에 대한 요청에 응답하여 웹 페이지 데이터를 클라이언트 디바이스(102)에 제공하는 제1 당사자 웹 서버일 수 있다. 클라이언트(102)와 유사하게, 콘텐트 소스들(108, 110)은 프로세서들(122, 126) 및 메모리들(124, 128)을 각각 포함할 수 있고, 메모리들(124, 128)은 프로세서들(122, 126)에 의해 실행가능한 프로그램 명령어들을 저장한다. 예를 들어, 콘텐트 소스(108)의 프로세싱 회로는, 웹 서버 소프트웨어, FTP 서빙 소프트웨어, 및 콘텐트 소스(108)로 하여금 네트워크(106)를 통해 콘텐트를 제공하도록 하는 다른 타입들의 소프트웨어와 같은 명령어들을 포함할 수 있다.
여러 구현들에 따라, 콘텐트 소스들(108, 110)은, 하나 이상의 콘텐트 태그들을 포함하는 클라이언트 디바이스(102)에 제1 당사자 웹페이지 데이터를 제공할 수 있다. 일반적으로, 콘텐트 태그는 임의의 개수의 웹페이지 코드를 참조하고, 상기 웹 페이지 코드는 제1 당사자 웹페이지를 구비한 제3 당사자 콘텐트를 포함하는 행동(action)에 관련된다. 예를 들어, 콘텐트 태그는 제3 당사자 콘텐트에 대한 웹 페이지 상의 슬롯, 페이지 밖의 제3 당사자 콘텐트에 대한 슬롯(예를 들어, 사이 슬롯(interstitial slot), 제3 당사자 콘텐트가 동기적으로 또는 비동기적으로 로딩되어야하는지 여부, 제3 당사자 콘탠트의 로딩이 웹 페이지 상에서 디스에이블되어야하는지 여부, 성공적으로 로딩되지 못한 제3 당사자 콘텐트가 재생(refresh)되어야 하는지 여부, 제3 당사자 콘텐트(예를 들어, 콘텐트 소스들(108, 110), 콘텐트 선택 서비스(104) 등)를 제공하는 콘텐트 소스의 네트워크 위치, 제3 당사자 콘텐트 상에서의 클릭과 관련된 네트워크 위치(예를 들어, URL), 제3 당사자 콘텐트가 디스플레이 상에서 렌더링되는 방법, 클라이언트 디바이스(102)로 하여금 (예를 들어, 이미지 요청을 통한 쿠키를 설정하는 픽셀 태그를 통해) 브라우저 쿠키를 설정하게 하는 명령, 상기 제3 당사자 콘텐트를 검색하기 위해 사용되는 하나 이상의 키워드들, 및 제1 당사자 웹 페이지를 구비한 제3 당사자 콘텐트를 제공하는 것과 관련된 다른 기능들을 정의할 수 있다. 예를 들어, 콘텐트 소스(108)는, 클라이언트 디바이스(102)로 하여금 콘텐트 선택 서비스(104)로부터 제3 당사자 콘텐트를 검색하도록 하는 제1 당사자 웹 페이지 데이터를 클라이언트 디바이스(102)에 제공할 수 있다. 다른 구현에서, 콘텐트는 콘텐트 선택 서비스(104)에 의해 선택될 수 있고 그리고 클라이언트 디바이스(102)에 전달된 제1 당사자 웹페이지 데이터의 부분으로서 콘텐트 소스(108)에 의해 제공될 수 있다. 추가의 예에서, 콘텐트 선택 서비스(104)는, 클라이언트 디바이스(102)로 하여금 특정 위치(예를 들어, 메모리(114) 또는 콘텐트 소스들(108, 110))로부터 제3 당사자 콘텐트를 검색하도록 할 수 있다.
콘텐트 선택 서비스(104)는 또한 네트워크에 접속된 하나 이상의 전자 디바이스들이 될 수 있다. 콘텐트 선택 서비스(104)는 컴퓨터 서버(예를 들어, FTP 서버들, 파일 공유 서버들, 웹 서버들 등) 또는 서버들의 조합(예를 들어, 클라우드 컴퓨팅 플랫폼 등)일 수 있다. 콘텐트 선택 서비스(104)는 프로세서(118) 및 프로세서(118)에 의해 실행가능한 프로그램 명령어들을 저장하는 메모리(120)를 포함할 수 있다. 콘텐트 선택 서비스(104)가 컴퓨팅 디바이스들의 조합인 경우들에서, 프로세서(118)는 디바이스들의 집합적인 프로세서들을 나타낼 수 있고, 메모리(120)는 디바이스들의 집합적인 메모리들을 나타낼 수 있다.
콘텐트 선택 서비스(104)는 클라이언트 디바이스(102)에 대한 제3 당사자 콘텐트를 선택하기 위해 구성될 수 있다(즉, 콘텐트 선택 서비스(104)는 제3 당사자 콘텐트 선택 서비스를 제공할 수 있다). 하나의 구현에서, 선택된 제3 당사자 콘텐트는, 콘텐트 선택 서비스(104)에 의해, 네트워크(106)를 통해 클라이언트 디바이스(102)에 제공될 수 있다. 예를 들어, 콘텐트 소스(110)는 제3 당사자 콘텐트를 콘텐트 선택 서비스(104)에 업로드할 수 있다. 콘텐트 선택 서비스(104)는, 이후, 임의의 콘텐트 소스들(108, 110)에 의해 제공되는 제1 당사자 콘텐트와 함께 제시되는 제3 당사자 콘텐트를 클라이언트 디바이스(102)에 제공할 수 있다. 다른 구현들에서, 콘텐트 선택 서비스(104)는, 클라이언트 디바이스(102)로 하여금 (예를 들어, 클라이언트 디바이스(102)의 메모리(114)로부터, 콘텐트 소스(110)로부터 등) 선택된 제3 당사자 콘텐트를 검색하도록 하는 명령어를 클라이언트 디바이스(102)에 제공할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는, 클라이언트 디바이스(102)에 의해 방문된 제1 당사자 웹페이지의 일부로서 제공되는 제3 당사자 콘텐트 또는 클라이언트 디바이스(102)에 의해 실행되는 제1 당사자 애플리케이션(예를 들어, 게임, 메신저 애플리케이션 등) 내의 제3 당사자 콘텐트를 선택할 수 있다.
일부 구현들에서, 콘텐트 선택 서비스(104)는 클라이언트 디바이스(102)와 관련된 디바이스 식별자에 기초하여 콘텐트를 선택하기 위해 구성될 수 있다. 일반적으로, 디바이스 식별자는, 콘텐트 선택 서비스(104)에 의해 선택된 콘텐트를 수신하는 디바이스 또는 소프트웨어의 일부를 표시하기 위해 사용될 수 있는 임의의 형식의 데이터를 언급할 수 있다. 일부 구현들에서, 디바이스 식별자는 하나 이상의 다른 디바이스 식별자들(예를 들어, 모바일 디바이스에 대한 디바이스 식별자, 홈 컴퓨터에 대한 디바이스 식별자 등)과 관련될 수 있다. 디바이스 식별자들은 쿠키들, 디바이스 일련 번호들, UDID(universal device identifier) 값들, 사용자 프로필 데이터 또는 네트워크 어드레스들을 포함할 수 있지만, 이에 제한되지 않는다. 예를 들어, 클라이언트 디바이스(120) 상의 쿠키 세트는 콘텐트 선택 서비스(104)에 대한 클라이언트 디바이스(102)를 식별하기 위해 사용될 수 있다. 다른 예에서, 클라이언트 디바이스(102) 상의 모바일 애플리케이션과 관련된 UDID는 콘텐트 선택 서비스(104)에 대한 클라이언트 디바이스(102)를 식별하기 위해 사용될수 있다.
여기에서 논의된 시스템들이 사용자에 대한 개인 정보를 수집하거나 또는 개인 정보를 사용할 수 있는 상황들에 대하여, 사용자에게는 프로그램들 또는 피처들이 수집될 수 있는 타입들의 정보(예를 들어, 사용자의 사회적 네트워크에 대한 정보, 행동들 또는 행위들, 사용자의 선호들, 사용자의 현재 위치 등)를 수집하는지 그리고/또는 제3 당사자 콘텐트가 콘텐트 선택 서비스(104)에 의해 선택될 수 있고 사용자에 의해 제시될 수 있는 방법을 제어하기 위한 기회가 제공된다. 제3 당사자 콘텐트를 선택하기 위해 콘텐트 선택 서비스(104)에 의해 사용되는 파라미터들(예를 들어, 데모그래픽 파라미터들)을 발생시킬 때 개인적으로 식별가능한 정보가 제거되도록, 디바이스 식별자와 같은 특정 데이터는 저장되거나 사용되기 전 하나 이상의 방식들로 익명화될 수 있다. 예를 들어, 클라이언트 디바이스(102)에 대한 디바이스 식별자는, 대응하는 사용자에 관한 어떤 개인적으로 식별가능한 정보도 클라이언트 식별자로부터 콘텐트 선택 서비스(104)에 의해 결정될 수 있도록 익명화될 수 있다. 다른 예에서, 사용자의 위치 정보는, 사용자의 이전 위치가 결정될 수 없도록, 획득되는 위치 정보(예를 들어, 도시, 우편 번호 또는 국가 레벨)로 일반화될 수 있다. 따라서, 클라이언트 디바이스(102)의 사용자는, 정보가 사용자에 관해 어떻게 수집되고 그리고 콘텐트 선택 서비스(104)에 의해 어떻게 사용되는지에 대해서 제어할 수 있다.
클라이언트 디바이스(102)의 사용자가 콘텐트 선택 서비스(104)로 하여금 자신에 관한 정보를 사용하도록 선택하면, 콘텐트 선택 서비스(104)는 대응하는 사용자에 대해 관련된 콘텐트를 선택하기 위해 디바이스 식별자와 관련된 히스토리 데이터를 사용할 수 있다. 히스토리 데이터는 온라인 이벤트(예를 들어, 웹페이지를 방문하는 것, 표시된 콘텐트와 상호대화하는 것, 서치를 수행하는 것, 구입하는 것, 콘텐트를 다운로드하는 것 등)를 나타내는 디바이스 식별자와 관련된 임의의 데이터일 수 있다. 분석된 히스토리 데이터에 부분적으로 기초하여, 콘텐트 선택 서비스(104)는 제1 당사자 콘텐트와 관련하여(예를 들어, 디스플레이된 웹페이지의 부분으로서, 팝업으로서, 비디오 게임 내에, 다른 타입의 애플리케이션 내에 등등)제공되는 제3 당사자 콘텐트를 선택할 수 있다. 디바이스 식별자와 관련되는 추가적인 데이터는, 클라이언트 디바이스(102)의 디바이스 타입(예를 들어, 클라이언트 디바이스(102)가 데스크 톱인지 모바일 디바이스인지 여부), 클라이언트 디바이스(102)의 위치, 또는 클라이언트 디바이스(102)에 의해 발생된 서치 질의를 포함할 수 있지만, 이에 제한되지 않는다. 예를 들어, 콘텐트 선택 서비스(104)는, 제1 당사자 웹페이지의 일부로서 또는 콘텐트 소스들(108, 110) 중 하나로부터의 서치 결과들과 관련하여 제공되는 제3 당사자 콘텐트를 선택할 수 있다.
콘텐트 선택 서비스(104)는, 관심있는 하나 이상의 토픽들을 식별하기 위해 디바이스 식별자와 관련된 히스토리 데이터를 분석할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는, 웹페이지의 하나 이상의 토픽들을 결정하도록, 콘텐트 소스(108)로부터 웹페이지 상에서 텍스트 그리고/또는 이미지 분석을 수행할 수 있다. 일부 구현들에서, 토픽은 콘텐트 선택 서비스(104)에 의해 사용되는 미리 정의된 관심 카테고리에 대응할 수 있다. 예를 들어, 토픽을 골프로만 한정한 웹페이지는 스포츠의 관심 카테고리 하에서 분류될 수 있다. 일부 경우들에서, 콘텐트 선택 서비스(104)에 의해 사용되는 관심 카테고리들은 분류에 따를 수 있다(예를 들어, 관심 카테고리는 더 넓은 관심 카테고리 하에 속하는 것으로 식별될 수 있다). 예를 들어, 골프의 관심 카테고리는 스포츠/골프, 스포츠/개별 스포츠/골프일 수 있거나 또는 다른 계층적인 카테고리 하에 존재할 수 있다. 마찬가지로, 콘텐트 선택 서비스(104)는, 웹페이지에 대한 하나 이상의 토픽 카테고리들을 식별하도록 클라이언트 디바이스(102)에 의해 액세스되는 제1 당사자 웹페이지의 콘텐트를 분석할 수 있다. 예를 들어, 콘텐트 선택 디바이스(104)는, 웹페이지가 토픽을 /스포츠/골프로만 한정하도록 웹 페이지 상에서 텍스트 또는 이미지 식별을 사용할 수 있다.
콘텐트 선택 서비스(104)는 디바이스 식별자와 관련된 하나 이상의 온라인 이벤트들을 나타내는 히스토리 데이터를 수신할 수 있다. 콘텐트 태그가 클라이언트 디바이스(102)로 하여금 콘텐트 선택 서비스(104)로부터 콘텐트를 요청하게 하는 구현들에서, 그와 같은 요청은 클라이언트 디바이스(102)에 대한 디바이스 식별자 그리고/또는 부가 정보(예를 들어, 로딩된 웹페이지, 참조하는 웹 페이지 등)을 포함할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는, 클라이언트 디바이스(102)에 제공된 제3 당사자 콘텐트가 인터페이스 디바이스(예를 들어, 제3 당사자 하이퍼링크, 제3 당사자 이미지상에서 클릭된 클라이언트 디바이스(102)의 사용자)를 사용하여 선택되었는지 여부에 관련하여 히스토리 데이터를 수신하고 그리고 저장할 수 있다. 콘텐트 선택 서비스(104)는 디바이스 식별자와 관련된 온라인 이벤트들의 히스토리를 기록하도록 그와 같은 데이터를 저장할 수 있다. 일부 경우들에서, 클라이언트 디바이스(102)는 콘텐트 태그를 먼저 식별함없이 콘텐트 선택 서비스(104)에 히스토리 데이터를 제공할 수 있다. 예를 들어, 클라이언트 디바이스(102)는 주기적으로 히스토리 데이터를 콘텐트 선택 서비스(104)에 전달할 수 있거나 사용자 인터페이스 디바이스로부터 명령을 수신하는 것에 응답하여 그와 같이 행할 수 있다. 일부 구현들에서, 콘텐트 선택 서비스(104)는 콘텐트 소스들(108, 110)로부터 히스토리 데이터를 저장할 수 있다. 예를 들어, 콘텐트 소스(108)는 클라이언트 디바이스(102)와의 웹 상호대화들에 관련하여 히스토리 데이터를 저장할 수 있고 그리고 상기 히스토리 데이터를 콘텐트 선택 서비스(104)에 제공할 수 있다.
콘텐트 선택 서비스(104)는, 카테고리가 디바이스 식별자에 관련되는지 여부를 결정하도록 관심 또는 제품 카테고리에 하나 이상의 가중치들을 적용할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는 디바이스 식별자와 관련된 제품 또는 관심 카테고리들의 수에 최대 한계를 부여할 수 있다. 가장 높은 가중치들을 갖는 최고 n-수의 카테고리들은 특별한 디바이스 식별자와 관련되는 콘텐트 선택 서비스(104)에 의해 선택될 수 있다. 카테고리 가중치가, 예를 들어, 카테고리에 관련한 디바이스의 식별자에 의해 방문된 웹페이지들의 수, 방문들이 발생했을 때, 카테고리의 토픽이 방문된 웹페이지 상에서 얼마나 자주 언급되었는지, 또는 카테고리에 관련한 디바이스 식별자에 의해 수행되는 임의의 온라인 활동들에 기초할 수 있다. 예를 들어, 최근에 방문된 웹페이지들의 토픽들은 과거에 추가로 방문된 웹페이지들보다 더 높은 가중치를 수신할 수 있다. 카테고리들은, 또한, 웹 페이지 방문들이 발생한 시간 기간들에 의해 세분될 수 있다. 예를 들어, 관심 또는 제품 카테고리들은, 디바이스 식별자가 카테고리에 관련한 웹페이지를 방문했을 때를 기초하여 장기적인 카테고리들, 단기적인 카테고리들 및 현재의 카테고리들로 세분될 수 있다.
콘텐트 선택 서비스(104)는, 제3 당사자 콘텐트가 클라이언트 디바이스(102)에 제공됨을 결정하도록 제3 당사자 콘텐트 제공자들 사이의 콘텐트 옥션을 수행하도록 구성될 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는 콘텐트 소스들(108, 110) 중 하나로부터 제1 당사자 콘텐트를 요청하거나 또는 제1 당사자 애플리케이션을 실행하는 클라이언트 디바이스(102)에 응답하여 실시간 콘텐트 옥션(content auction)을 실행할 수 있다. 콘텐트 선택 서비스(104)는 옥션의 승리자를 결정하기 위해 임의의 수의 팩터들을 사용할 수 있다. 예를 들어, 콘텐트 옥션의 승리자는 제3 당사자 제공자의 입찰 그리고/또는 제3 당사자 제공자의 콘텐트에 대한 품질 스코어(예를 들어, 클라이언트 디바이스(102)의 사용자가 콘텐트를 클릭할 가능성의 측정)에 부분적으로 기초할 수 있다. 즉, 일부 구현들에서, 반드시 최고 입찰자가 콘텐트 선택 서비스(104)에 의해 수행된 콘텐트 옥션의 승리자는 아니다.
콘텐트 선택 서비스(104)는, 상기 제공자가 콘텐트 옥션들에 참가하는 방법 및 때를 제어하기 위해 캠페인들을 생성하게 하도록 구성될 수 있다. 캠페인은, 최소 입찰 금액, 최대 입찰 금액, 타겟 입찰 금액, 또는 하나 이상의 예산액들(예를 들어, 일일 예산, 주간 예산, 총 예산 등)과 같은 임의의 수의 예산 관련 파라미터들을 포함할 수 있다. 일부 경우들에서, 입찰 금액은, 제3 당사자가 클라이언트 디바이스(102)에서 자신의 콘텐트의 표시를 위한 교환에서 지불할 액수에 대응할 수 있다. 즉, 입찰 금액은 1회 노출 당 비용(cost per impression) 또는 천회 노출 당 비용(cost per thousand impressions)(CPM)에 기초할 수 있다. 추가적인 경우들에서, 입찰 금액은, 클라이언트 디바이스에서 표시되는 제3 당사자 콘텐트에 응답하여 수행된 특정 행동에 대응할 수 있다. 예를 들어, 입찰 금액은 제3 당사자 콘텐트 제공자가 지불할 금액일 수 있고, 제3 당사자 콘텐트 제공자의 콘텐트는 클라이언트 디바이스에서 클릭되어야 하며, 그렇게 함으로써, 클라이언트 디바이스를 제공자의 웹페이지로 리다이렉트(redirect)시킨다. 즉, 입찰 금액은 클릭당 비용(cost per click) 입찰 금액이 될 수 있다. 다른 예에서, 입찰 금액은, 클라이언트 디바이스(102)의 사용자가 구매하는 것과 같은, 제3 당사자 제공자의 웹사이트 상에서 수행된 옥션에 대응할 수 있다.
콘텐트 선택 서비스(104)를 통해 생성된 캠페인은 또한 선택 파라미터들을 포함할 수 있고, 이러한 선택 파라미터들은, 콘텐트 옥션에서 제3 당사자 콘텐트 제공자를 위해 입찰이 행해지는 때를 제어한다. 제3 당사자 콘텐트가 서치 엔진으로부터 서치 결과들과 함께 표시되면, 예를 들어, 선택 파라미터들은 하나 이상의 서치 키워드들의 세트를 포함할 수 있다. 예를 들어, 제3 당사자 콘텐트 제공자는, "캘리포니아의 골프 리조트(golf resorts in California)"에 대한 서치 질의가 서치 엔진에 전송되는 콘텐트 옥션들에만 참가할 수 있다. 제3 당사자 콘텐트 제공자를 위해 입찰이 행해지는 때를 제어하는 다른 예시적인 파라미터들은 디바이스 식별자의 히스토리 데이터를 사용하여 식별되는(예를 들어, 디바이스 식별자에 의해 방문되는 웹페이지들에 기초하여) 토픽, 제3 당사자 콘텐트가 표시될 웹페이지 또는 다른 제1 당사자 콘텐트의 토픽, 콘텐트를 표시할 클라이언트 디바이스의 지리적 위치, 또는 서치 질의의 일부로서 특정된 지리적 위치를 포함할 수 있지만, 이에 제한되지 않는다. 일부 경우들에서, 선택 파라미터들은 특정 웹페이지, 웹사이트 또는 제3 당사자 콘텐트가 표시되는 웹사이트들의 그룹을 지정할 수 있다. 예를 들어, 골프 장비를 판매하는 광고주는, 특정 온라인 신문의 스포츠 페이지 상에 광고를 두기 원하는 곳을 특정할 수 있다.
여러 구현들에 따라, 콘텐트 선택 서비스(104)에 의해 선택된 제3 당사자 콘텐트 그리고/또는 임의의 콘텐트 소스들(108-110)로부터의 제1 당사자 콘텐트는 클라이언트 디바이스(102)의 위치에 기초하여 최적화될 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는 클라이언트 디바이스(102) 가까이에 배치된 사업을 위한 광고를 선택하도록 클라이언트 디바이스(102)의 위치를 사용할 수 있다. 다른 예에서, 콘텐트 소스(108)로부터의 제1 당사자 웹페이지는, 웹페이지 상에 지역 특산품들(local specials)을 포함하는 것, 웹페이지에 대한 언어를 선택하는 것, 웹페이지 상에 서치 매커니즘에 대한 위치 필터를 적용하는 것(예를 들어, 지역 상점에 재고로 있는 상품을 목록화하는 것)과 같이, 클라이언트 디바이스(102)의 위치에 관련하여 적합하게 구성된다.
일부 구현들에서, 클라이언트 디바이스(102)의 웹 브라우저는, 임의의 콘텐트 소스들(108-110)로부터 또는 콘텐트 선택 서비스(104)로부터 콘텐트를 요청할 때 클라이언트 디바이스(102)의 위치를 보고하도록 구성될 수 있다. 일 구현에서, 기반 웹 브라우저 자체는 콘텐트 요청과 함께 클라이언트 디바이스(102)의 위치를 보고하도록 구성될 수 있다. 즉, 웹 브라우저는, 상기 웹 브라우저로 하여금 클라이언트 디바이스(102)의 위치를 보고하게 하는 임의의 웹 페이지 코드를 먼저 실행하지 않고 클라이언트 디바이스(102)의 위치를 보고할 수 있다. 예를 들어, 클라이언트 디바이스(102)가 재부팅된 후, 웹 브라우저는 상기 브라우저에 의해 전송된 제1 콘텐트 요청과 함께 콘텐트 소스(108)에 클라이언트 디바이스(102)의 위치를 보고할 수 있다.
클라이언트 디바이스(102)의 웹 브라우저는, 클라이언트 디바이스(102)의 위치가 보고되는지 여부를 결정하도록, 하나 이상의 콘텐트 소스들의 화이트리스트(whitelist)를 이용하기 위해 구성될 수 있다. 예를 들어, 클라이언트 디바이스(102)는, 화이트리스트의 콘텐츠에 기초하여 콘텐트 소스(110)가 아닌 콘텐트 소스(108)에 대한 위치를 보고할 수 있다. 여러 구현들에서, 화이트리스트는, 클라이언트 디바이스(102)의 사용자에 의해 수동으로 부가된 온라인 콘텐트 소스, (예를 들어, 브라우저의 제조업자에 의해) 위치 정보를 수신하기 위해 사전승인된 온라인 콘텐트 소스, 또는 클라이언트 디바이스(102)의 사용자에 의해 승인된 온라인 콘텐트 소스를 포함할 수 있다. 예를 들어, 브라우저를 구동하는 디바이스들로부터 위치 정보를 수신하기 원하는 온라인 콘텐트 소스는, 콘텐트 소스가 위치 정보를 어떻게 사용하는지, 콘텐트 소스가 상기 정보를 어떻게 저장하는지, 콘텐트 소스가 위치 정보를 얼마나 오랫동안 유지하려고 하는지에 관련한 정보를 제공하기 위해 브라우저의 제조업자에 의해 요청될 수 있다. 콘텐트 소스로부터 제공된 데이터에 기초하여, 상기 제조업자는 콘텐트 소스에 대한 위치 정보를 전송하는 웹 브라우저를 향상시킬 수 있다. 일부 경우들에서, 웹 브라우저는, 사전 승인된 온라인 소스들의 리스트를 클라이언트 디바이스(102)의 사용자에 제시한 후 사전승인된 온라인 소스들에 대한 위치 정보만을 보고할 수 있다. 예를 들어, 웹 브라우저는, 사전 승인된 온라인 소스들의 리스트, 소스들이 위치 정보를 어떻게 사용하는지 관한 세부사항들 그리고/또는 특정 온라인 소스로의 위치 정보의 송신을 하게 하거나 또는 하지 못하게 하는 선택들을 디스플레이할 수 있다. 즉, 웹 브라우저는, 클라이언트 디바이스(102)로 하여금, 사전승인된 온라인 소스들 중 어느 것이 클라이언트 디바이스(102)로부터 보고된 위치 정보를 실제로 수신할 수 있는지를 선택하게끔 구성될 수 있다.
이제 도 2를 참조하면, 예시적인 제1 당사자 웹페이지(206)를 디스플레이하는 전자 디스플레이(116)의 예가 도시된다. 전자 디스플레이(116)는, 시각적 표시가 전자 디스플레이(116) 상에 디스플레이되게 하는 프로세서(112)와 전자 통신된다. 도시된 것처럼, 프로세서(112)는, 네트워크(106)를 통해 클라이언트 디바이스(102)에 의해 수신된 콘텐트의 표시를 디스플레이하도록, 클라이언트 디바이스(102)의 메모리(114)에 저장된 웹 브라우저(200)를 실행할 수 있다. 다른 구현들에서, 클라이언트 디바이스(102)에 의해 실행되는 다른 애플리케이션은 웹 브라우저(200)에 관련하여 서술되는 기능 중 일부 또는 전부를 포함할 수 있다(예를 들어, 비디오 게임, 채팅 애플리케이션 등은 또한 웹 브라우저로서 기능할 수 있다).
웹 브라우저(200)는, 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린 등)으로부터 필드(202)를 통해 URL(uniform resource locator)의 입력을 수신함으로써 동작할 수 있다. 예를 들어, URL, http://www.example.org/weather.html은 필드(202)에 입력될 수 있다. 프로세서(112)는, 입력된 URL에 대응하는 네트워크 어드레스를 갖는 콘텐트 소스로부터 데이터를 요청하도록 입력된 URL을 사용할 수 있다. 즉, 클라이언트 디바이스(102)는 입력된 URL에서 액세스가능한 제1 당사자 콘텐트를 요청할 수 있다. 상기 요청에 응답하여, 콘텐트 소스는 웹페이지 데이터 그리고/또는 다른 데이터를 클라이언트 디바이스(102)로 되돌릴 수 있다. 웹 브라우저(200)는, 상기 되돌려진 데이터를 분석할 수 있고 그리고 시각적 표시가 상기 데이터에 기초하여 전자 디스플레이(116)에 의해 디스플레이되도록 할 수 있다.
일반적으로, 웹페이지 데이터는 텍스트, 하이퍼링크들, 레이아웃 정보, 및 제1 당사자 웹 페이지(206)의 시각적 레이아웃을 위한 프레임워크를 제공하기 위해 사용될 수 있는 다른 데이터를 포함할 수 있다. 일부 구현들에서, 웹페이지 데이터는 마크업 언어, 예를 들어, 하이퍼텍스트 마크업 언어(HTML), 확장가능한 HTML(XHTML), 확장가능한 마크업 언어(XML), 또는 임의의 다른 마크업 언어로 기술된 하나 이상의 웹페이지 코드 파일들일 수 있다. 예를 들어, 도 2의 웹페이지 데이터는 웹사이트, "www.example.org"에 의해 제공된 파일, "weather.html"을 포함할 수 있다. 웹페이지 데이터는, 텍스트(208)와 같은 표시가 제1 당사자 웹페이지(206) 상에 어디에 표시되는지를 특정하는 데이터를 포함할 수 있다. 일부 구현들에서, 웹페이지 데이터는, 또한, 제1 당사자 웹페이지(206) 상에 디스플레이되는 추가적인 표시를 검색하도록 웹 브라우저(200)에 의해 사용되는 추가적인 URL 정보를 포함할 수 있다. 예를 들어, 상기 파일, "weather.html"은 또한 각각의 콘텐트 소스들로부터 이미지들(210-216)을 검색하기 위해 프로세서(112)에 의해 사용되는 하나 이상의 명령어들을 포함할 수 있다.
웹 브라우저(200)는 제1 당사자 웹페이지(206)와 관련된 다수의 내비게이션 제어들을 포함할 수 있다. 예를 들어, 웹 브라우저(200)는 입력들(204)(예를 들어, 뒤감기 버튼(back button), 앞감기 버튼(forward button) 등)을 통해 명령들을 수신하는 것에 응답하여 웹페이지들 앞으로 그리고 뒤로 내비게이트하도록 구성될 수 있다. 웹 브라우저(200)는 또한 하나 이상의 스크롤 바들(220)을 포함할 수 있고, 이 하나 이상의 스크롤 바들(220)은 현재 오프-스크린인 제1 당사자 웹페이지(206)의 부분들을 디스플레이하기 위해 사용될 수 있다. 예를 들어, 제1 당사자 웹페이지(206)는 전자 디스플레이(116)의 스크린보다 더 크도록 포맷될 수 있다. 그와 같은 경우에서, 하나 이상의 스크롤 바들(220)은 전자 디스플레이(116) 상의 제1 당사자 웹페이지(206)의 수직 그리고/또는 수평 부분을 변화시키기 위해 사용될 수 있다.
제1 당사자 웹페이지(206)는 하나 이상의 토픽들에 전념할 수 있다. 예를 들어, 제1 당사자 웹페이지(206)는, 메인주, 프리포트의 지역 날씨 예보에 전념할 수 있다. 일부 구현들에서, 콘텐트 선택 서비스(104)와 같은 콘텐트 선택 서버는 하나 이상의 토픽들을 식별하기 위해 제1 당사자 웹페이지(206)의 콘텐트를 분석할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는 날씨 예보에 전념한 제1 당사자 웹페이지(206)를 식별하기 위해 텍스트(208) 그리고/또는 이미지들(210-216)을 분석할 수 있다. 일부 구현들에서, 제1 당사자 웹페이지(206)에 대한 웹페이지 데이터는 토픽을 식별하는 메타데이터를 포함할 수 있다.
일부 구현들에서, 웹 브라우저(200)는 제1 당사자 웹페이지(206)에 대한 콘텐트 요청과 함께 클라이언트 디바이스(102)의 위치를 결정하고 그리고 보고하도록 구성될 수 있다. 예를 들어, 웹 브라우저(200)는 HTTP 요청의 헤더에 클라이언트 디바이스(102)의 위치를 포함할 수 있고, 상기 HTTP 요청은 주소 http://www.example.org/weather.html에 관련된 콘텐트 소스에 전송된다. 응답하여, 콘텐트 소스는 클라이언트 디바이스(102)의 위치에 웹페이지(206)의 콘텐트를 맞추기 위해 수신된 위치 정보를 사용할 수 있다. 예를 들어, 클라이언트 디바이스(106)가 메인주, 프리포트에 현재 위치됨을 가정하자. 그렇다면, 웹페이지(206)의 제공자는 웹 페이지(206) 상의 메인주, 프리포트의 기상 보고를 포함하도록 클라이언트 디바이스의 위치를 사용할 수 있다.
여러 구현들에서, 콘텐트 선택 서비스(104)는 제1 당사자 웹페이지(204) 상에 표시된 콘텐트(예를 들어, 임베딩된 이미지 또는 비디오 등) 또는 제1 당사자 웹페이지(206)에 관련한 콘텐트(예를 들어, 팝업 윈도우 또는 탭 등 내의 콘텐트) 중 일부를 선택할 수 있다. 예를 들어, 콘텐트 선택 서비스(104)는 웹페이지(206) 상에 포함되는 제3 당사자 콘텐트(218)를 선택할 수 있다. 일부 구현들에서, 하나 이상의 콘텐트 태그들은 웹페이지(206)의 코드에 임베딩될 수 있고, 상기 웹페이지(206)의 코드는 제3 당사자 콘텐트(218)의 위치에 배치된 콘텐트 필드를 정의한다. 제1 당사자 웹페이지(206)가 로딩될 때, 다른 콘텐트 태그는 웹 브라우저(200)로 하여금 콘텐트 선택 서비스(206)로부터 추가적인 콘텐트를 요청하도록 할 수 있다. 즉, 웹페이지(206)에 대한 코드는, 웹 브라우저(200)로 하여금 콘텐트 선택 서비스(104)로부터 제3 당사자 콘텐트를 요청하도록 하는 명령어를 포함할 수 있다. 이러한 요청과 함께, 웹 브라우저(200)는 (예를 들어, HTTP 요청의 헤더 내의) 클라이언트 디바이스(102)의 위치를 포함할 수 있다. 일부 경우들에서, 웹 브라우저(200)는 웹페이지(206) 상의 콘텐트 태그가 명령어를 포함하는지 여부에 관계없이 콘텐트 선택 서비스(104)에 클라이언트 디바이스(102)의 위치를 보고할 수 있다(즉, 브라우저(200) 자체는 콘텐트 요청에 관련한 위치 정보를 보고하도록 구성될 수 있다).
콘텐트 선택 서비스(104)는 웹페이지(206)에 표시를 위해 제3 당사자 콘텐트(218)를 선택하도록 웹 브라우저(200)로부터 수신된 위치 정보를 사용할 수 있다. 예를 들어, 클라이언트 디바이스(102)가 메인주, 프리포트의 중심 도로에 위치에 위치하고, 레스토랑인 "더 로컬 버거 스탠드(The Local Burger Stand)" 근처에 위치된다고 가정하자. 위치 정보를 사용하여, 콘텐트 선택 서비스(104)는 프로모션, 쿠폰 등을 포함하는 레스토랑에 대한 광고를 선택할 수 있다. 일부 구현들에서, 제3 당사자 콘텐트(218)는, 제3 당사자 콘텐트(218)가 클릭되거나 인테페이스 디바이스를 사용하여 다르게 선택될 때, 클라이언트 디바이스(102)로 하여금 동작들을 수행하게 하는 상호대화형 콘텐트일 수 있다. 예를 들어, 제3 당사자 콘텐트(218)를 클릭하는 것은, 비디오를 재생하거나 또는 다른 동작들을 수행하여 사용자가 가장 가까운 레스토랑 위치로 향하게 하는 내비게이션 프로그램을 시작하도록, 웹 브라우저(200)로 하여금 "더 로컬 버거 스탠드"의 웹사이트를 내비게이트하게 할 수 있다.
이제 도 3을 참조하면, 도 1의 클라이언트 디바이스(102)의 세부적인 블록 다이어그램이 여러 구현들에 따라 도시된다. 도시된 것처럼, 클라이언트 디바이스(102)는 서로 전자 통신하는 다수의 하드웨어 컴포넌트들을 포함할 수 있다. 예를 들어, 클라이언트 디바이스(102)는 프로세서(102)와 전자 통신하는 입력 그리고/또는 출력(I/O) 하드웨어(302)를 포함할 수 있고, 상기 프로세서(102)는 다른 컴퓨팅 디바이스로부터 데이터(예를 들어, 요청된 제1 또는 제3 당사자 콘텐트, 사전승인된 온라인 서비스들의 리스트 등)를 수신하고 그리고/또는 다른 컴퓨팅 디바이스로 데이터(콘텐트에 대한 요청, 위치 데이터 등)를 제공하도록 구성된다. 클라이언트 디바이스(102)는, 또한, 프로세서(112)에 의해 실행될 때 프로세서(112)로 하여금 여기에 서술된 기능들을 수행하게 하는 여러 소프트웨어 모듈들을 메모리(114) 내에 포함시킬 수 있다.
메모리(114)는 도 2에 도시된 웹 브라우저(200)를 포함할 수 있다. 여러 구현들에서, 웹 브라우저(200)는 온라인 콘텐트 소스들로부터 콘텐트를 요청하고 그리고 요청된 콘텐트를 디스플레이하도록 구성될 수 있다. 웹 브라우저(200)는 일 구현에서 단순히 웹 브라우저일 수 있거나 또는 다른 구현들에서 웹페이지들 사이를 내비게이트하는 기능을 포함하는 다른 애플리케이션일 수 있다. 예를 들어, 이메일 프로그램은 일부 경우들에서 웹 브라우징 기능을 포함할 수 있다. 웹 브라우저(200)는 여기에서 서술된 기능들을 수행하도록 임의의 수의 소프트웨어 모듈들을 포함하고 그리고/또는 사용할 수 있다. 도시된 것처럼, 웨 브라우저(200)는 위치 결정 모듈(306), 콘텐트 요청 발생기(310) 그리고/또는 디스플레이 모듈(312)을 포함할 수 있고, 이에 제한되지 않는다.
도시된 것처럼, 웹 브라우저(200)는 하나 이상의 콘텐트 소스들의 리스트를 포함하는 사전승인된 화이트리스트(304)를 포함할 수 있다. 사전승인된 화이트리스트(304)에 포함되는 하나 이상의 콘텐트 소스들은 웹 브라우저(200)의 제조업자 또는 다른 인증 엔티티에 의해 사전승인될 수 있다. 일부 경우들에서, 웹 브라우저(200)로부터 위치 정보를 수신하고 사용하기 원하는 콘텐트 소스는 먼저 제조업자 또는 정보를 수신하고 사용하도록 하는 능력에 대한 인증 엔티티에 요청을 제공할 수 있다. 상기 요청은, (예를 들어, 수신된 위치가 임의의 시간의 길이 동안 유지되는 것을 명확하게 하는) 콘텐트 소스의 데이터 유지 정책, (예를 들어, 광고의 목적으로, 클라이언트 디바이스의 위치에 콘텐트를 맞추어 만들 목적으로) 위치 정보가 콘텐트 소스에 의해 사용되는 방법, 위치 정보를 보호하기 위해 콘텐트 소스에 의해 행해진 보안 대책들(security measures)(예를 들어, 콘텐트 소스가 암호를 사용하는지 여부 등), 또는 콘텐트 소스에 의해 위치 정보의 사용에 관련한 임의의 다른 정보과 같은 여러 정보를 포함할 수 있다. 일 구현에서, 인증 엔티티는, 또한, 콘텐트 소스에 의해 공급된 답들이 정확함을 확인할 수 있다. 예를 들어, 인증 엔티티는, 콘텐트 소스가 언급된 것과 다른 목적으로 수신된 위치 정보를 사용하지 못함을 확인할 수 있다. 그렇다면, 콘텐트 소스는 장래의 화이트리스트들로부터 제거될 수 있다.
웹 브라우저(200)가 네트워크(106)를 통해 다른 디바이스로부터 사전승인된 화이트리스트(304)를 수신할 수 있다. 예를 들어, 사전승인된 화이트리스트(304)는 자동적으로 (예를 들어, 새로운 사전승인된 화이트리스트가 이용가능할 때마다, 주기적인 시간이 경과한 후 등) 또는 목록을 재생하도록 사용자 요청에 응답하여 업데이트될 수 있다. 일 구현에서, 사전승인된 화이트리스트(304)는 웹 브라우저(200)의 설치의 부분으로서 포함될 수 있다. 예를 들어, 클라이언트 디바이스(102)에 의해 실행되는 인스톨러(installer)는 사전승인된 화이트리스트(304)를 메모리(114)에 전달할 수 있다.
웹 브라우저(200)는 또한 화이트리스트 선호들(308)을 포함할 수 있다. 여러 구현들에서, 웹 브라우저(200)는, 웹 브라우저(200)가 위치 정보를 어떻게 보고하는지 클라이언트 디바이스(102)의 사용자로 하여금 제어하도록 구성될 수 있다. 예를 들어, 화이트리스트 선호들(308)은, 웹 브라우저(200)가 위치 정보를 보고할지 여부를 제어하는 하나 이상의 파라미터들을 포함할 수 있다. 다른 예에서, 웹 브라우저(200)는 선호 설정의 일부로서 사용자에게 사전승인된 화이트리스트(304)를 제시할 수 있다. 그와 같은 선호 스크린은, 온라인 서비스의 아이덴티티 그리고/또는 서비스가 위치 정보를 식별하는 방법과 같은, 사전승인된 화이트리스트(304)에 포함되는 임의의 정보를 포함할 수 있다. 선호 스크린은, 또한, 사전승인된 화이트리스트(304) 중 어느 것이 웹 브라우저(200)로부터 위치 정보를 수신할 자격이 있는지를 사용자로 하여금 특정하도록 구성될 수 있다. 일부 경우들에서, 선호 스크린은, 클라이언트 디바이스(102)의 사용자로 하여금 사전승인된 화이트리스트(304)에 있지 않은 콘텐트 소스를 특정하도록 구성될 수 있다. 새로운 사전승인된 화이트리스트가 웹 브라우저(200)에 의해 수신되면, 클라이언트 디바이스(102)의 사용자는 (예를 들어, 임의의 새로운 콘텐트 소스들이 신뢰되는 화이트리스트(314)에 포함되는지 선택하도록) 현재 사전승인된 리스트와 새로운 리스트 간 변화들을 검토하고 그리고/또는 신뢰되는 화이트리스트(314) 내의 각 콘텐트 소스를 재검증하도록 촉구함(prompt)을 받을 수 있다.
웹 브라우저(200)는, 신뢰되는 화이트리스트(314)를 형성하기 위해 임의의 화이트리스트 선호들(308)(예를 들어, 클라이언트 디바이스(102)의 사용자에 의해 특정된 파라미터들) 및 사전승인된 화이트리스트(304)(예를 들어, 인증 서비스에 의해 사전승인된 그와 같은 온라인 소스들)를 결합할 수 있다. 신뢰되는 화이트리스트(314)는 일반적으로 웹 브라우저(200)로부터 위치 정보를 수신할 자격이 있는 임의의 온라인 서비스들의 리스트를 포함할 수 있다. 예를 들어, 웹 브라우저(200)는, 신뢰되는 화이트리스트(314)에 포함되는 콘텐트 소스로부터 콘텐트에 대한 임의의 요청을 갖는 클라이언트 디바이스(102)의 위치를 포함한다.
일 구현에서, 웹 브라우저(200)는 위치 결정 모듈(306)을 포함할 수 있다. 위치 결정 모듈(306)은 일반적으로 클라이언트 디바이스(102)의 위치를 결정하기 위해 구성된다. 여러 구현들에서, 위치 결정 모듈(306)은, 송수신기로부터 삼각측량 데이터를 사용하여(예를 들어, 셀룰러 수신기로부터 셀룰러 삼각측량을 사용하여), 클라이언트 디바이스(102) 내의 위성 수신기(예를 들어, GPS 또는 다른 수신기), 또는 (예를 들어, 디바이스에 의해 액세스되는, WiFi 핫스팟에 기초하여) 클라이언트 디바이스(102)의 지리적 위치를 식별하도록 구성되는 클라이언트 디바이스(102)의 임의의 다른 회로부터의 데이터를 그러한 결정에 기반으로 할 수 있다. 일부 구현들에서, 위치 결정 모듈(306)은 클라이언트 디바이스(102)의 위치를 직접 결정한다. 예를 들어, 위치 결정 모듈(306)은 클라이언트 디바이스(102)의 위치를 결정하도록 로컬 GPS 수신기와 직접 인터페이스할 수 있다. 다른 구현들에서, 위치 결정 모듈(306)은, 클라이언트 디바이스(102)에 의해 실행되는 다른 소프트웨어를 통해 직접적으로 클라이언트 디바이스(102)의 위치를 결정할 수 있다. 예를 들어, 클라이언트 디바이스(102)는 또한 웹 브라우저(200)에 추가로 내비게이션 프로그램을 실행할 수 있다. 그와 같은 경우에서, 위치 결정 모듈(306)은 애플리케이션 프로그래밍 인터페이스(API)를 통해 내비게이션 프로그램으로부터 위치 정보를 액세스할 수 있다.
일부 경우들에서, 위치 결정 모듈(306)에 의해 결정된 위치의 정확도 레벨은 위치 결정 모듈(306)에 의해 더 낮아질 수 있다. 예를 들어, 결정된 위치는 10피트의 오차의 반경을 갖는 거리 주소에 대응한다고 가정하자. 그와 같은 경우에서, 위치 결정 모듈(306)은 주소 주변의 오차의 반경을 증가시킴으로써 또는 결정된 위치를 더 큰 지리적 영역, 예를 들어, 전체 도시 블록, 도시, 주, 국가, 시간대(time zone), 우편 번호, 지역 코드 등으로 대체함으로써 위치의 정확도를 더 낮출 수 있다. 다른 경우들에서, 상기 결정된 위치를 수신하는 콘텐트 소스는 위치 정보를 사용하기 전보다 오히려 정확도 레벨을 더 낮출 수 있다.
웹 브라우저(200)는 콘텐트 요청 발생기(310)를 포함할 수 있다. 온라인 콘텐트 소스로부터 온라인 콘텐트를 액세스하게 하는 명령어를 수신하는 것에 응답하여, 콘텐트 요청 발생기(310)는 네트워크(106)를 통해 콘텐트 소스에 콘텐트 요청을 제공할 수 있다. 일부 경우들에서, 콘텐트 요청 발생기(310)는 클라이언트 디바이스(102)의 사용자 인터페이스 디바이스로부터 명령어를 수신할 수 있다. 예를 들어, 웹 브라우저(200)의 사용자는 URL을 브라우저에 입력할 수 있고 상기 콘텐트 요청을 개시할 수 있다. 다른 경우들에서, 콘텐트 요청 발생기(310)는 웹페이지 코드로부터 명령어를 수신할 수 있다. 예를 들어, 웹 브라우저(200)에 의해 액세스되는 웹페이지의 콘텐트 태그는 명령어일 수 있는바, 웹 브라우저(200)에 의해 실행될 때 상기 명령어는 콘텐트 요청 발생기(310)로 하여금 (예를 들어, 콘텐트 선택 서비스(104)로부터) 제3 당사자 콘텐트에 대한 콘텐트 요청을 발생시키고 그리고 전송할 수 있도록 한다.
여러 구현들에 따라, 콘텐트 요청 발생기(310)는 콘텐트 요청에 관련된 콘텐트 소스와 신뢰되는 화이트리스트(314)를 비교할 수 있다. 콘텐트 소스가 신뢰되는 화이트리스트(314)에 포함되면, 콘텐트 요청 발생기(310)는 상기 요청과 함께 위치 결정 모듈(306)에 의해 결정된 위치를 제공할 수 있다. 일 구현에서, 콘텐트 요청 발생기(310)는, HTTP 요청의 헤더 내와 같은 HTTP 요청 자체 내에 위치 정보를 포함시킬 수 있다. 다른 구현에서, 콘텐트 요청 발생기(310)는 상기 콘텐트 요청처럼 개별 전송으로서 위치를 전송할 수 있다. 전송들 모두는 동일하거나 링크된 디바이스 식별자들을 포함할 수 있는바, 상기 링크된 디바이스 식별자들은 수신하는 콘텐트 소스를 2개의 전송들과 관련시킨다. 예를 들어, 콘텐트 요청 발생기(310)는 제1 메시지를 콘텐트 선택 서비스(104)에 전송할 수 있고, 콘텐트 선택 서비스(104)는 클라이언트 디바이스(102)의 위치 및 클라이언트 디바이스(102)를 식별하는 쿠키를 포함한다. 전송 후 즉시, 콘텐트 요청 발생기(310)는 동일한 쿠키 및 임의의 다른 정보를 포함하는 콘텐트에 대한 제2 요청을 전송할 수 있고, 상기 임이의 다른 정보는 제3 당사자 콘텐트를 선택하도록 콘텐트 선택 서비스(104)에 의해 사용될 수 있는 정보(예를 들어, 콘텐트 슬롯의 크기, 토픽 등)이다.
일 구현에서, 콘텐트 요청 발생기(310)는, 신뢰되는 화이트리스트(314) 내의 제1 당사자 콘텐트 소스의 승인들을 제1 당사자 콘텐트에 관련하여 표시된 임의의 제3 당사자 콘텐트에 적용하도록 구성될 수 있다. 예를 들어, 클라이언트 디바이스(102)의 사용자는, 특별한 뉴스 웹사이트로 하여금 웹 브라우저(200)로부터 위치 정보를 수신하도록 선택한다고 가정하자. 그렇다면, 콘텐트 요청 발생자(310)는, 또한, 뉴스 웹사이트와 관련하여 표시될 제3 당사자 콘텐트에 대한 임의의 요청을 갖는 위치 정보를 또한 포함할 수 있다. 이러한 기능은, 일부 경우들에서, 화이트리스트 선호들(308)에서 설정된 파라미터 값에 의해 제어될 수 있다(예를 들어, 웹 브라우저(200)는 웹브라우저의 위치를 신뢰되는 화이트리스트(314) 내의 그러한 콘텐트 소스들과만 공유하도록 제한될 수 있거나 또는 임의의 제3 당사자에 대한 콘텐트 소스의 적용들도 전파하도록 허용될 수 있다).
콘텐트 요청 발생기(310)는, 임의의 전송된 위치 정보의 보안을 보증하도록 임의의 수의 기술들을 사용하도록 구성될 수 있다. 일부 구현들에서, 콘텐트 요청 발생기(310)는 전송 이전에 위치 결정 모듈(306)로부터 위치 정보를 암호화할 수 있다. 예를 들어, 위치 정보는, HTTPS와 같은 보안 프로토콜을 통해 전송될 수 있다. 다른 예에서, 웹 브라우저(200) 및 수신하는 콘텐트 소스는, 위치 정보로의 액세스가 수신하는 콘텐트 소스에 대한 공개키 암호화에 의해서만 액세스가능함을 명확히 하도록 공개키 암호화를 사용할 수 있다. 그와 같은 키들은 인증 서비스를 통해 웹 브라우저(200)와 콘텐트 소스 사이에서 공유될 수 있고, 상기 인증 서비스는 사전승인된 화이트리스트(304)에 제공하거나 여러 경우들에서 서로 간에 직접 제공한다.
웹 브라우저(200)는 디스플레이 모듈(312)을 포함할 수 있다. 디스플레이 모듈(312)은, 하나 이상의 전자 디스플레이들에 대한 콘텐트 요청에 응답하여 웹 브라우저(200)에 의해 수신된 임의의 콘테트를 표시하도록 구성된다. 예를 들어, 디스플레이 모듈(312)은 콘텐트 요청을 전송하는 것에 응답하여 웹 브라우저(200)에 의해 수신되는 웹페이지 데이터를 해석할 수 있고 그리고 I/O 하드웨어(302)를 통해 디스플레이(116)에 디스플레이 데이터를 전송할 수 있다. 일부 경우들에서, 디스플레이 모듈(312)은 웹 브라우저(200)에 대한 하나 이상의 구성 스크린들을 디스플레이에 제공할 수 있다. 예를 들어, 디스플레이 모듈(312)이, 신뢰되는 화이트리스트(314)를 발생시키도록 사용자로 하여금 사전승인된 화이트리스트(304)를 검토하고 화이트리스트 선호들(308) 입력하게 하는 디스플레이에 구성 스크린을 제공할 수 있다.
이제 도 4를 참조하면, 위치 기반 콘텐트를 액세스하는 프로세스(400)의 흐름도는 여러 구현들에 따라 도시된다. 프로세스(400)는 일반적으로 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하는 단계(단계 402), 온라인 서비스로부터 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계(단계 404), 상기 온라인 서비스가 신뢰되는 서비스들의 리스트 내에 존재함을 결정하는 단계(단계 406), 상기 온라인 서비스로부터 상기 콘텐트를 요청하는 단계(단계 408), 및 상기 디바이스의 위치를 상기 요청과 관련된 서비스에 전송하는 단계(단계 410)를 포함한다. 프로세스(400)는 저장된 기계 명령어들을 실행하는 하나 이상의 컴퓨팅 디바이스들에 의해 구현될 수 있다. 예를 들어, 프로세스(400)는 도 3에서 상세하게 도시된 클라이언트 디바이스(102)에 의해 구현될 수 있다. 일반적으로, 프로세스(400)는 (예를 들어, 브라우저가 디바이스의 위치를 보고하도록 하는 웹페이지 코드를 브라우저가 먼저 실행하지 않고) 웹 브라우저로 하여금 콘텐트에 대한 초기 요청을 통해 위치 기반 콘텐트에 액세스하도록 한다. 프로세스(400)는 또한 사용자의 프라이버시를 명확하게 하는바, 이러한 사용자의 프라이버시는 어떤 온라인 서비스들(만약 존재하면)이 콘텐트에 대한 요청과 관련하여 웹 브라우저로부터 직접 디바이스의 위치를 수신할 자격이 있는지를 사용자가 제어할 수 있게 한다.
계속 도 4를 더 상세하게 참조하면, 프로세스(400)는 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하는 단계를 포함한다(단계 402). 여러 구현들에서, 도 3에 도시된 웹 브라우저(200)와 같은 웹 브라우저는, 화이트리스팅되고 웹 브라우저로부터 위치 정보를 수신할 자격이 있는 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 저장하고 검색할 수 있다. 예를 들어, 웹 브라우저(200)는 콘텐트 선택 서비스(104) 또는 임의의 콘텐트 소스들(108-110)을 포함하는 메모리로부터 신뢰되는 화이트리스트를 검색할 수 있다. 일부 구현들에서, 하나 이상의 신뢰되는 온라인 서비스들의 리스트는 사전승인된 온라인 서비스들의 부분적으로 기초하여 발생될 수 있다. 예를 들어, 웹 브라우저 또는 다른 인증 엔티티의 제조업자는, 브라우저로부터 직접 위치 정보를 수신할 자격이 있는 온라인 서비스들을 미리차단(prescreen)한다. 일 구현에서, 웹 브라우저는 신뢰되는 온라인 서비스들의 완결된 리스트를 발생시키도록 웹 브라우저의 사용자로 하여금 사전승인된 서비스들 사이에서 선택하게 구성될 수 있다. 일 구현에서, 신뢰되는 리스트의 하나 이상의 신뢰되는 서비스들은 (예를 들어, 사전승인되지 않은 리스트에 서비스를 부가함으로써) 웹 브라우저의 사용자에 의해 직접 특정될 수 있다.
도 4를 계속 참조하면, 프로세스(400)는 온라인 서비스로부터 콘텐트에 액세스하도록 하는 명령어를 수신하는 단계(단계 404)를 포함한다. 상기 콘텐트는 여러 경우들에서 제1 또는 제3 당사자 콘텐트일 수 있다. 일 구현에서, 웹 브라우저는 사용자 입력 디바이스, 예를 들어, 키보드, 터치 스크린, 포인팅 디바이스 등을 통해 명령어를 수신할 수 있다. 예를 들어, 웹 브라우저는, 특정 웹페이지를 내비게이트하도록 사용자가 URL을 웹 브라우저에 입력할 때, 콘텐트에 액세스하게 하는 명령어를 수신할 수 있다. 다른 예에서, 웹 브라우저는, 사용자가 저장된 북마크를 선택할 때 명령어를 수신할 수 있다. 다른 구현에서, 콘텐트를 액세스하게 하는 명령어는 웹 브라우저에 의해 실행되는 웹 페이지 코드에 대응할 수 있다. 예를 들어, 브라우저에 의해 액세스되는 제1 당사자 웹페이지는, 웹 브라우저에 의해 실행될 때, 웹 브라우저로 하여금 제3 당사자 콘텐트를 요청하도록 하는 콘텐트 태그(예를 들어, 스크립트 또는 코드의 다른 부분)를 포함할 수 있다. 또 다른 구현에서, 명령어는 임베딩된 웹페이지 스크립트(예를 들어, 자바스크립트)에 대응할 수 있고, 상기 임베딩된 웹페이지 스크립트는 신뢰되는 온라인 서비스에 대해 웹 브라우저에 질의한다. 서비스가 브라우저의 신뢰되는 서비스들의 리스트 내에 존재하면, 상기 스크립트는 상기 웹 브라우저를 상기 서비스의 대응하는 어드레스에 리다이렉트시킬 수 있다.
도 4를 또한 계속해서 참조하면, 프로세스(400)는 상기 온라인 서비스가 신뢰되는 서비스들의 리스트 내에 존재함을 결정하는 단계(단계 406)를 포함한다. 예를 들어, 도 3에 도시된 웹 브라우저(200)의 콘텐트 요청 발생기(310)는, 상기 명령어로부터의 온라인 서비스와 하나 이상의 신뢰되는 온라인 서비스들의 리스트와 비교할 수 있다. 매칭이 발생하면, 온라인 서비스는 콘텐트에 관련하여 상기 디바이스의 위치를 수신할 자격이 있을 수 있다. 일부 구현들에서, 상기 비교는 URL 기반마다 수행될 수 있다. 예를 들어, 웹 브라우저는, 상기 명령어로부터의 특정 URL이 신뢰되는 서비스들의 리스트 내의 특정 URL과 매칭할 때만 매칭이 존재함을 결정할 수 있다. 다른 구현들에서, 요청된 URL의 부분인 톱 레벨 도메인 또는 상위 레벨 URL이 신뢰되는 서비스들의 리스트에 존재하면 매칭이 결정될 수 있다. 추가 구현에서, 매칭은 상기 명령어가 발생되게 하는 제1 당사자 콘텐트와 관련된 승인들에 기초하여 결정될 수 있다. 예를 들어, 웹 브라우저가 신뢰되는 서비스들의 리스트 내에 존재하는 제1 당사자 웹페이지에 액세스하고 그리고 웹 페이지에 대한 코드가 콘텐트 태그를 포함하며 상기 콘텐트 태그는 웹 브라우저로 하여금 콘텐트 선택 서비스로부터 제3 당사자 콘텐트를 요청하게 함을 가정하자. 제1 당사자 웹페이지가 신뢰되는 서비스들의 리스트 내에 존재하는 서비스에 의해 제공되면, 그것의 승인들은 일부 구현들에서 콘텐트 선택 서비스에 의해서도 계승될 수 있다.
도 4를 계속 참조하면, 프로세스(400)는 상기 온라인 서비스로부터 상기 콘텐트를 요청하는 단계(단계 408)를 포함한다. 단계(404)로부터의 명령어에 응답하여, 웹 브라우저는 대응하는 콘텐트 요청을 발생시키고 그리고 상기 온라인 서비스에 상기 요청을 전송할 수 있다. 예를 들어, 도 3에서 도시된 웹 브라우저(200)의 콘텐트 요청 발생기는 콘텐트 선택 서비스 또는 다른 온라인 콘텐트 소스로부터 제1 당사자 콘텐트 또는 제3 당사자 콘텐트를 발생시키고 그리고 전송할 수 있다.
도 4를 계속 참조하면, 프로세스(400)는 상기 디바이스의 위치를 상기 요청과 함께 서비스에 전송하는 단계(단계 410)를 포함한다. 여러 구현들에서, 온라인 서비스가 단계 406에서 신뢰될 것으로 결정되면, 디바이스의 위치는 콘텐트 요청과 함께 상기 서비스에 전송될 것이다. 즉, 상기 디바이스의 위치는 웹 브라우저 자체로부터 직접 콘텐트에 대한 초기 요청과 함께 전송될 것이다. 웹 브라우저는, 일부 경우들에서, 콘텐트 요청 내에, 예를 들어, 요청의 헤더 내에 위치 정보를 포함할 수 있다. 다른 경우들에서, 웹 브라우저는, 콘텐트 요청이 전송된 시간에 가까운 시간에서(예를 들어, 콘텐트 요청을 전송하기 전 또는 전송한 후 몇 초 내에) 개별 전송으로서 위치 정보를 전송할 수 있거나 콘텐트 요청과 동시에 전송될 수 있다. 전송된 위치 정보는, 또한, 일부 구현들에서 암호화될 수 있거나 정확도가 낮아질 수 있다.
콘텐트 요청과 함께 콘텐트 소스에 의해 수신되는 위치 정보는 디바이스의 위치에 콘텐트를 적합하게 하도록 사용될 수 있다. 예를 들어, 지역 사업에 대한 광고는 디바이스의 위치에 기초하여 상기 디바이스에 의한 표시를 위해 선택될 수 있다. 다른 경우들에서, 제1 당사자 웹 페이지는 상기 디바이스의 위치에 최적화될 수 있다. 예를 들어, 소매 웹사이트(retail website)는 판매들, 프로모션들, 재고 정보, 또는 제1 당사자 웹페이지의 일부로서 디바이스에 가까운 소매 상점에 대한 것을 제공하도록 위치 정보를 사용할 수 있다.
도 5를 이제 참조하면, 웹 브라우저의 선호 스크린(preference screen)의 일 구현의 예가 도시된다. 도시된 것처럼, 도 2-3의 웹 브라우저(200)는 선호 스크린(500)을 포함할 수 있다. 선호 스크린(500)은, 클라이언트 디바이스(102)의 사용자로 하여금 웹 브라우저(200)로부터 위치 정보를 수신하기 위해 사전승인되어진 온라인 서비스들을 검토하도록 구성될 수 있다. 추가로, 선호 스크린(500)은, 사용자가 실제로 사전승인된 온라인 서비스들에 대한 위치 정보를 전송하기 원하는지 여부와 관련하여 사용자로부터 입력을 수신하도록 구성될 수 있다.
선호 스크린(500)은 사전승인된 온라인 서비스들에 관련하여 사용자에게 정보를 제시하는 테이블, 그리드 또는 임의의 다른 그래픽 구조를 포함할 수 있다. 예를 들어, 선호 스크린(500)의 테이블은 제1 칼럼(502)를 포함할 수 있는바, 상기 제1 칼럼(502)은 온라인 서비스가 웹 브라우저(200)로부터 위치 정보를 수신하게 되는지 여부에 관련한 입력을 수신하도록 구성된다. 예를 들어, 칼럼(502)은, 라디오 버튼들, 체크 박스들, 또는 사용자가 대응하는 온라인 서비스들에 대한 위치 정보를 송신하기 원하는지 여부에 관련한 표시들을 수신하도록 구성되는 것과 같은 입력 메커니즘들을 포함할 수 있다. 테이블은 또한 각각의 사전승인된 온라인 서비스를 식별하는 칼럼(504)을 포함할 수 있다. 추가로, 테이블은, 온라인 서비스가 디바이스의 위치를 원하는 이유 또는 이유들을 목록화하는 칼럼(506)을 포함할 수 있다. 그와 같은 이유들은 사전승인 프로세스의 부분으로서 온라인 서비스에 의해 제공될 수 있다.
도시된 예에서, 사전 승인된 온라인 서비스들의 리스트는 로우(508)에서 목록화된 제1 온라인 서비스 및 로우(510)에 목록화된 제2 온라인 서비스를 포함한다. 로우(508)는 온라인 서비스의 명칭(예를 들어, "더 로컬 버거 스탠드")을 식별할 수 있고, 그리고 상기 서비스의 도메인 명칭 또는 다른 URL(예를 들어, www.localburgerstand.test)을 포함할 수 있다. 로우(508)는, 또한, 가장 가까운 레스토랑에 대한 프로모션들을 상기 디바이스에 제공하는 것처럼, 서비스가 위치 정보를 원하는 이유를 포함할 수 있다. 로우(510)는, "제이. 도우의 카펫 클리닝(J. Doe's Carpet Cleaning)"와 같은 서로 다른 온라인 서비스, 그것의 대응하는 네트워크 어드레스(예를 들어, www.cleaning.test), 또는 (예를 들어, 디바이스의 위치에 자신의 웹사이트를 최적화하도록) 서비스가 위치 정보를 어떻게 사용할 것인지 대하여 식별할 수 있다. 상기 예에서 또한 도시된 것처럼, 웹 브라우저(200)의 사용자가 로우(508)의 체크박스를 선택했거나 로우(510)의 체크박스를 선택해제했다고 가정하자. 어느 경우에나, 사용자는, 로우(508)의 온라인 서비스만이 디바이스의 위치를 수신할 자격있음을 명시했다. 스크린(500)을 통해 명시된 선호들이 이후 저장되면, 웹 브라우저(200)는, 로우(508)에 목록화되는 서비스를 포함하고, 로우(510)에 목록화되는 서비스를 포함하지 않는 신뢰되는 온라인 서비스들의 리스트를 발생시킨다.
일 구현에서, 선호 스크린(500)은, 웹 브라우저(200)의 사용자로 하여금 사전승인되지 않은 온라인 서비스를 명시하도록 구성된 추가 입력들(미도시)을 포함할 수 있다. 다른 구현에서, 선호 스크린(500)은, 사용자로 하여금 임의의 온라인 서비스와 위치 정보를 공유하는 것을 방지하게 하는 파라미터를 포함할 수 있다. 또 다른 구현에서, 선호 스크린(500)은, 위치 정보가 어떻게 전송되는지를 제어하는 파라미터들, 위치 정보의 콘텐트(예를 들어, 원래의 정확도 레벨이 사용되어야하는지 여부), 또는 웹 브라우저(200)와 관련하여 여기에서 기술되는 기능을 제어하는 임의의 다른 파라미터를 포함할 수 있다.
본 명세서에서 서술되는 대상 및 동작들의 구현들은 디지털 전자 회로에서, 또는 본 명세서에서 개시되는 구조들 및 그러한 구조들의 구조상 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 하나 이상의 소프트웨어, 펌웨어 또는 하드웨어의 조합들로 구현될 수 있다. 본 명세서에서 서술되는 대상의 구현들은 하나 이상의 컴퓨터 프로그램들, 즉, 데이터 프로세싱 장치에 의한 또는 데이터 처리 장치의 동작을 제어하기 위한 실행을 위한 하나 이상의 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 프로그램 명령어들로서 구현될 수 있다. 대안으로 또는 추가로, 프로그램 명령어들은, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 전송을 위한 정보를 인코딩하도록 생성되는, 인공적으로 생성되는 전파된 신호, 예를 들어, 기계-생성 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독가능한 저장 디바이스, 컴퓨터 판독가능한 저장 기판, 랜덤 또는 일련의 메모리 어레이 또는 디바이스, 또는 이들의 하나 이상의 조합을 일 수 있거나 또는 포함할 수 있다. 더욱이, 컴퓨터 저장 매체가 전파된 신호가 아니라면, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호로 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 수신지(destination)일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 컴포넌트들 또는 매체(예를 들어, 다수의 CD들, 디스크들 또는 다른 저장 디바이스)가 될 수 있거나 상기 개별 컴포넌트들 또는 매체에 포함될 수 있다. 따라서, 컴퓨터 저장 매체는 유형일 수 있다.
본 명세서에서 서술되는 동작들은, 하나 이상의 컴퓨터 판독가능한 저장 디바이스들 상에 저장되거나 다른 소스들로부터 수신되는 데이터에 관하여 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "클라이언트(client)" 또는 "서버(server)"는, 예를 들어, 프로그램가능한 프로세서, 컴퓨터, 시스템 온 칩, 또는 앞선 다수의 것들 또는 앞선 것들의 조합을 포함하는 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 장치는 특수용 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)를 포함할 수 있다. 장치는, 또한, 하드웨어에 더하여, 논의되는 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 오퍼레이팅 시스템, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 하나 이상의 이전 것들의 조합을 포함할 수 있다. 장치 및 실행 환경은, 웹 서비스들, 분산된 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭쳐들과 같은, 다양한 서로 다른 컴퓨팅 모델 인프라스트럭쳐들을 구현할 수 있다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로 알려짐)은, 컴파일링된 또는 해석된 언어들, 선언형 또는 절차형 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기입될 수 있고, 단독형 프로그램, 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 개발될 수 있다. 컴퓨터 프로그램은 파일 시스템에서 파일에 대응할 수 있지만, 반드시 그럴 필요는 없다. 프로그램은, 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들)을 유지하는 파일의 부분으로, 논의되는 프로그램의 전용인 단일 파일로, 또는 다수의 협력 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 부분들을 저장하는 파일들)로 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에, 또는 하나의 사이트 상에 위치되거나 다수의 사이트들에 걸쳐 분배되고 그리고 통신 네트워크에 의해 상호접속되는 다수의 컴퓨터들 상에서 실행되도록 이용될 수 있다.
본 명세서에서 서술되는 프로세스들 및 로직 흐름들은, 입력 데이터를 조작하고 출력을 발생시킴으로써 행동들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 컴퓨터 프로그램가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수용 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 그리고 장치는 FPGA 또는 ASIC으로 구현될 수 있다.
컴퓨터 프로그램의 실행을 위해 적합한 프로세서들은, 예를 들어, 범용 및 특수용 마이크로프로세서들 둘 모두 및 임의의 종류의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 리드-온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수적인 요소들은 명령어들에 따라 행동들을 수행하는 프로세서, 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는, 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들 또는 광 디스크들을 포함할 수 있거나 상기 하나 이상의 대용량 저장 디바이스들로부터 데이터를 수신하거나 상기 대용량 저장 디바이스들에 데이터를 전달하거나 둘 다를 위해 동작적으로 결합될 것이다. 하지만, 컴퓨터는 그와 같은 디바이스들을 가질 필요가 없다. 더욱이, 컴퓨터는 다른 디바이스, 예를 들어, 굳이 몇 가지만 대자면, 이동 전화, PDA(personal digital assistant), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(global postioning system) 수신기 또는 휴대가능한 저장 디바이스(예를 들어, USB(universal serial bus) 플래시 드라이브)에 임베딩될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은, 예를 들어, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 마그네틱 디스크들, 예를 들어, 내부 하드 디스크들 또는 착탈가능한 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 미디어 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수용 로직 회로에 의해 구현될 수 있거나 상기 특수용 로직 회로에 포함될 수 있다.
사용자와의 상호대화를 제공하기 위해, 본 명세서에서 서술되는 대상의 구현들은 디스플레이 디바이스, 예를 들어, CRT(cathod ray tube), LCD(liquid crytal display), OLED(organic light emitting diode), TFT(thin-film transistor), 플라즈마, 다른 플렉시블 구성 또는 사용자에게 정보를 디스플레이하는 임의의 다른 모니터 및 키보드, 사용자가 입력을 컴퓨터에 제공할 수 있는 포인팅 디바이스, 예를 들어, 마우스, 트랙볼 등 또는 터치스크린, 터치패드 등을 갖는 컴퓨터상에 구현될 수 있다. 다른 종류의 디바이스들은 또한 사용자에게 상호작용을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있고; 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그리고 사용자에 의해 사용되는 디바이스로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
본 명세서에 서술된 대상의 구현들은, 데이터 서버와 같은 백-엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하는, 또는 프론트-엔드 컴포넌트, 예를 들어, 사용자가 본 명세서에서 서술된 대상의 구현과 상호대화할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어, 통신 네트워크에 의해 상호접속될 수 있다. 통신 네트워크들의 예들은, LAN(local area network) 및 WAN(wide area network), 인터-네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크들(예를 들어, 애드 혹 피어-투-피어 네트워크들)을 포함한다.
여기에서 기술된 피처들은 스마트 텔레비전 모듈(또는 접속된 텔레비전 모듈, 하이브리드 텔레비전 모듈 등) 상에서 구현될 수 있고, 이러한 스마트 텔레비전 모듈(또는 접속된 텔레비전 모듈, 하이브리드 텔레비전 모듈 등)은 (예를 들어, 케이블, 무선 또는 다른 신호들을 통해 수신되는) 더 많은 텔레비전 프로그래밍 소스들과의 인터넷 접속을 통합시키도록 구성된 프로세싱 회로를 포함할 수 있다. 스마트 텔레비전 모듈은 텔레비전 세트에 물리적으로 통합시킬 수 있거나 셋-톱 박스, 블루-레이 또는 다른 디지털 미디어 플레이어, 게임 콘솔, 호텔 텔레비전 시스템 및 다른 컴패니언 디바이스와 같은 개별 디바이스를 포함할 수 있다. 스마트 텔레비전 모듈은 뷰어들로 하여금 웹 상의, 로컬 케이블 TV 채널 상의, 위성 TV 채널 상의, 또는 로컬 하드 드라이브 상에 저장되는 비디오들, 영화들, 사진들 및 다른 콘텐트를 서치하고 찾을 수 있도록 구성될 수 있다. 셋-톱 박스(STB) 또는 셋-톱 유닛(STU)은 튜너를 포함할 수 있고, 그리고 텔레비전 세트 및 신호의 외부 소스에 접속할 수 있는 정보 어플라이언스 디바이스를 포함할 수 있고, 이는 상기 신호를 텔레비전 스크린 또는 다른 디스플레이 디바이스 상에 디스플레이되는 콘텐트로 변환시킨다. 스마트 텔레비전 모듈은, 복수의 서로 다른 애플리케이션들, 예를 들어, 웹 브라우저 및 복수의 스트리밍 미디어 서비스들, 접속된 케이블 또는 위성 매체 소스, 다른 웹 "채널들(channels)" 등을 위한 아이콘들을 포함하는 홈 스크린 또는 톱 레벨 스크린을 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈은 또한 전자 프로그래밍 가이드를 사용자에게 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈에 대한 컴패니언 애플리케이션은, 이용가능한 프로그램들에 대한 추가적인 정보를 사용자에게 제공하고, 사용자로 하여금 스마트 텔레비전 모듈 등을 제어하도록 할 수 있도록 모바일 컴퓨팅 디바이스 상에서 동작가능할 수 있다. 대안의 실시예들에서, 피처들은 랩톱 컴퓨터 또는 다른 개인용 컴퓨터, 스마트폰, 다른 모바일 폰, 휴대용 컴퓨터, 태블릿 PC 또는 다른 컴퓨팅 디바이스 상에서 구현될 수 있다.
이 명세서가 많은 특정 구현을 상세하게 포함하지만, 이러한 많은 특정 구현들은 임의의 발명들의 범위 또는 청구되는 발명의 범위를 제한하도록 해석되기보다는 오히려 특정 발명들의 특정 구현들에 특정된 피처들의 서술로서 해석되어야 한다. 개별 구현들의 맥락으로 이러한 명세서에서 서술되는 특정 피처들은 또한 단일 구현과 결합하여 구현될 수 있다. 역으로, 단일 구현의 맥락에서 서술되는 여러 피처들은 또한 다수의 구현들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 피처들이 특정 조합들을 행하는 것처럼 상기에서 서술될 수 있고 심지어 초기에 그와 같이 청구될지라도, 청구된 조합으로부터의 하나 이상의 피처들은 일부 경우들에서 상기 조합으로부터 삭제될 수 있고, 그리고 청구된 조합은 하위조합 또한 하위조합의 변형으로 행해질 수 있다.
마찬가지로, 동작들이 특정 순서로 도면들에서 도시되지만, 이것은 그와 같은 동작들이 도시된 특정 순서로 또는 연속적인 순서로 수행되도록 요구하거나 또는 바람직한 결과들을 달성하도록 모든 예시된 동작들이 수행되도록 이해되지 않아야 한다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱은 유리할 수 있다. 더욱이, 상기에서 서술된 구현들의 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그와 같은 분리를 요구하는 것으로 이해되지 않아야 하고 그리고 상기 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키지화될 수 있다.
따라서, 상기 대상의 특정 구현들이 기술되고 있다. 다른 구현들은 하기의 청구 범위들의 범위 내에서 존재한다. 일부 구현들에서, 상기 청구 범위들에서 서술된 행위들은 서로 다른 순서로 수행될 수 있고, 그리고 바람직한 결과들을 또한 달성할 수 있다. 추가로, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 반드시 도시된 특정 순서, 또는 순차적인 순서를 요구하지 않는다. 특정 구현들에서, 멀티태스킹 또는 병렬 프로세싱이 사용될 수 있다.

Claims (20)

  1. 위치-기반 콘텐트(location-based content)를 액세스하는 방법에 있어서,
    웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스(trusted online service)들의 리스트를 검색하는 단계와;
    온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계와;
    상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하는 단계와;
    상기 웹 브라우저에 의해, 상기 온라인 서비스로부터 콘텐트를 요청하는 단계와; 그리고
    상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하는 단계를 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  2. 제1항에 있어서,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치를 암호화하는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  3. 제1항에 있어서,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치의 정확도(precision)를 낮추는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  4. 제1항에 있어서,
    상기 웹 브라우저에서, 신뢰할 수 있는 것으로 사전승인된(preapproved) 온라인 서비스들의 리스트를 수신하는 단계와;
    상기 디바이스에 의한 디스플레이를 위해 상기 사전승인된 온라인 서비스들의 리스트를 제공하는 단계와;
    사용자 인터페이스 디바이스를 통해, 사전승인된 온라인 서비스들의 디스플레이된 리스트로부터 하나 이상의 온라인 서비스들의 선택을 수신하는 단계와; 그리고
    상기 선택된 하나 이상의 사전승인된 온라인 서비스들을 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  5. 제4항에 있어서,
    상기 사전승인된 온라인 서비스들의 리스트와 함께 디스플레이하기 위해, 상기 사전승인된 온라인 서비스가 상기 디바이스의 위치를 필요로 하는 이유를 제공하는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  6. 제1항에 있어서,
    온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계는 웹 페이지에 임베딩된 콘텐트 태그를 실행하는 단계를 포함하고,
    상기 웹 페이지는 상기 웹 브라우저로 하여금 상기 온라인 서비스로부터 제3 당사자 콘텐트를 요청하도록 구성되는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  7. 제1항에 있어서,
    상기 디바이스의 위치를 상기 온라인 서비스에 전송하는 단계는,
    상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 온라인 서비스로부터의 콘텐트에 대한 요청에 임베딩하는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 방법.
  8. 하나 이상의 프로세서들을 포함하는 위치-기반 콘텐트를 액세스하는 시스템에 있어서,
    상기 하나 이상의 프로세서들은,
    웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하고,
    온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하고,
    상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하고,
    상기 웹 브라우저에 의해, 상기 온라인 서비스로부터 콘텐트를 요청하고, 그리고
    상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하도록 동작가능한 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  9. 제8항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치를 암호화하도록 동작가능한 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  10. 제8항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치의 정확도를 낮추는 단계를 더 포함하는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  11. 제8항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 웹 브라우저에서, 신뢰할 수 있는 것으로 사전승인된 온라인 서비스들의 리스트를 수신하고,
    상기 디바이스에 의한 디스플레이를 위해 상기 사전승인된 온라인 서비스들의 리스트를 제공하고,
    사용자 인터페이스 디바이스를 통해, 사전승인된 온라인 서비스들의 디스플레이된 리스트로부터 하나 이상의 온라인 서비스들의 선택을 수신하고, 그리고
    상기 선택된 하나 이상의 사전승인된 온라인 서비스들을 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 저장하도록 동작가능한 것을 특징으로 하는는 위치-기반 콘텐트를 액세스하는 시스템.
  12. 제11항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 사전승인된 온라인 서비스들의 리스트와 함께 디스플레이하기 위해, 상기 사전승인된 온라인 서비스가 상기 디바이스의 위치를 필요로 하는 이유를 제공하도록 동작가능한 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  13. 제8항에 있어서,
    상기 하나 이상의 프로세서들은,
    웹 페이지에 임베딩된 콘텐트 태그를 실행함으로써 온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하도록 동작가능하고,
    상기 웹 페이지는 상기 웹 브라우저로 하여금 상기 온라인 서비스로부터 제3 당사자 콘텐트를 요청하도록 구성되는 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  14. 제8항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 온라인 서비스로부터의 콘텐트에 대한 요청에 임베딩함으로써 상기 디바이스의 위치를 상기 온라인 서비스에 전송하도록 동작가능한 것을 특징으로 하는 위치-기반 콘텐트를 액세스하는 시스템.
  15. 프로세서에 의해 실행가능하고 상기 프로세서로 하여금 동작들을 수행하도록 하는 기계 명령어들을 저장하는 컴퓨터 판독가능한 저장 매체에 있어서,
    상기 동작들은,
    웹 브라우저에 의해, 디바이스의 메모리로부터 하나 이상의 신뢰되는 온라인 서비스들의 리스트를 검색하는 단계와;
    온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계와;
    상기 웹 브라우저에 의해, 상기 명령어와 관련되는 상기 온라인 서비스가 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 존재하는지를 결정하는 단계와;
    상기 웹 브라우저에 의해, 상기 온라인 서비스로부터 콘텐트를 요청하는 단계와; 그리고
    상기 웹 브라우저에 의해, 상기 디바이스의 위치를 상기 콘텐트에 대한 요청과 함께 상기 온라인 서비스에 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  16. 제15항에 있어서,
    상기 동작들은,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치를 암호화하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  17. 제15항에 있어서,
    상기 동작들은,
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치를 암호화하는 단계와; 그리고
    상기 위치를 상기 온라인 서비스에 전송하기 이전에 상기 디바이스의 위치의 정확도를 낮추는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  18. 제15항에 있어서,
    상기 동작들은,
    상기 웹 브라우저에서, 신뢰할 수 있는 것으로 사전승인된 온라인 서비스들의 리스트를 수신하는 단계와;
    상기 디바이스에 의한 디스플레이를 위해 상기 사전승인된 온라인 서비스들의 리스트를 제공하는 단계와;
    사용자 인터페이스 디바이스를 통해, 사전승인된 온라인 서비스들의 디스플레이된 리스트로부터 하나 이상의 온라인 서비스들의 선택을 수신하는 단계와; 그리고
    상기 선택된 하나 이상의 사전승인된 온라인 서비스들을 상기 하나 이상의 신뢰되는 온라인 서비스들의 리스트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  19. 제18항에 있어서,
    상기 동작들은,
    상기 사전승인된 온라인 서비스들의 리스트와 함께 디스플레이하기 위해, 상기 사전승인된 온라인 서비스가 상기 디바이스의 위치를 필요로 하는 이유를 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  20. 제15항에 있어서,
    온라인 서비스로부터 이용가능한 콘텐트를 액세스하도록 하는 명령어를 수신하는 단계는 웹 페이지에 임베딩된 콘텐트 태그를 실행하는 단계를 포함하고,
    상기 웹 페이지는 상기 웹 브라우저로 하여금 상기 온라인 서비스로부터 제3 당사자 콘텐트를 요청하도록 구성되는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
KR1020140137814A 2013-10-15 2014-10-13 위치-기반 콘텐트를 액세스하는 방법 및 시스템 KR101545303B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/054,067 2013-10-15
US14/054,067 US8812705B1 (en) 2013-10-15 2013-10-15 Accessing location-based content

Publications (2)

Publication Number Publication Date
KR20150044392A true KR20150044392A (ko) 2015-04-24
KR101545303B1 KR101545303B1 (ko) 2015-08-19

Family

ID=49596095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140137814A KR101545303B1 (ko) 2013-10-15 2014-10-13 위치-기반 콘텐트를 액세스하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US8812705B1 (ko)
EP (1) EP2863322A1 (ko)
JP (1) JP6143724B2 (ko)
KR (1) KR101545303B1 (ko)
CN (2) CN104580348B (ko)
AU (1) AU2014240210A1 (ko)
CA (1) CA2865861C (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769224B2 (en) 2012-10-18 2017-09-19 Tu Orbut Inc. Social networking system and method
TW201520893A (zh) * 2013-11-27 2015-06-01 Wistron Corp 可攜式電子裝置、自動變換首頁之方法及電腦可讀取儲存媒體
WO2016054496A1 (en) * 2014-10-02 2016-04-07 Bojanova Dinka Un-biased curation system for luxury product or service certification
US10892968B2 (en) * 2015-12-18 2021-01-12 Google Llc Systems and methods for latency reduction in content item interactions using client-generated click identifiers
CN109804610B (zh) 2017-03-23 2022-05-13 柏思科技有限公司 限制具有网络功能的设备的数据流量传输的方法和系统
US10720127B2 (en) * 2017-10-23 2020-07-21 Apple Inc. Dynamic display mode selection
EP3738036A1 (en) * 2018-01-08 2020-11-18 HERE Global B.V. Distributed processing system and method for the provision of location based services
JP6762346B2 (ja) * 2018-10-15 2020-09-30 ヤフー株式会社 配信装置、配信方法、及び配信プログラム
US11074369B2 (en) * 2019-07-29 2021-07-27 Google Llc Privacy preserving remarketing
CN112989314A (zh) * 2019-12-02 2021-06-18 阿里巴巴集团控股有限公司 数据认证的方法、装置和终端
US11789597B2 (en) * 2021-01-25 2023-10-17 Microsoft Technology Licensing, Llc Systems and methods for storing references to original uniform resource identifiers

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139348A (ja) * 1997-07-24 1999-02-12 Access:Kk 現在位置検出機能付きインターネット端末装置および情報検索方法
US6332127B1 (en) * 1999-01-28 2001-12-18 International Business Machines Corporation Systems, methods and computer program products for providing time and location specific advertising via the internet
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
WO2001033371A1 (en) * 1999-11-05 2001-05-10 Surfmonkey.Com, Inc. System and method of filtering adult content on the internet
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
JP5158662B2 (ja) * 2001-08-28 2013-03-06 豊 塚本 個人情報保護装置
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
WO2003003773A1 (fr) * 2001-05-29 2003-01-09 Fujitsu Limited Systeme d'administration d'informations de position
JP2003157206A (ja) * 2001-11-21 2003-05-30 Nec Corp 情報配信システムおよび情報配信方法ならびにプログラム
TWI293008B (en) * 2002-07-25 2008-01-21 Sk Telecom Co Ltd Mobile location based service system and method
US20050055374A1 (en) * 2003-09-08 2005-03-10 Sony Corporation Method of and apparatus for providing localized information from an internet server or portal to user without requiring user to enter location
US7257570B2 (en) * 2003-11-13 2007-08-14 Yahoo! Inc. Geographical location extraction
US10156959B2 (en) * 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US7752209B2 (en) * 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
CN101026869A (zh) * 2006-02-24 2007-08-29 中兴通讯股份有限公司 一种位置服务中隐私控制方法
WO2007127188A2 (en) * 2006-04-24 2007-11-08 Encryptakey, Inc. Portable device and methods for performing secure transactions
US8244832B1 (en) * 2006-06-01 2012-08-14 Sprint Communications Company L.P. Providing location information to website providers
WO2009070748A1 (en) * 2007-11-27 2009-06-04 Umber Systems System for collecting and analyzing data on application-level activity on a mobile data network
US20090217352A1 (en) * 2008-02-25 2009-08-27 Tong Shen Web managed multimedia asset management method and system
US8429180B1 (en) * 2008-03-31 2013-04-23 Symantec Corporation Cooperative identification of malicious remote objects
US8060406B2 (en) * 2008-09-26 2011-11-15 Microsoft Corporation Predictive geo-temporal advertisement targeting
US20100331016A1 (en) 2009-05-27 2010-12-30 Geodelic, Inc. Location-based promotion for a mobile communication network
WO2011063833A1 (en) 2009-11-25 2011-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for enabling location based services
JP2011197801A (ja) * 2010-03-17 2011-10-06 Sony Corp 情報処理装置、情報処理方法、プログラム、サーバ装置、及び情報処理システム
US8250145B2 (en) * 2010-04-21 2012-08-21 Facebook, Inc. Personalizing a web page outside of a social networking system with content from the social networking system
CN101827252B (zh) * 2010-05-14 2011-09-21 山东泰信电子有限公司 一种实现互联网电视终端安全访问互联网的系统及方法
US8447986B2 (en) * 2010-06-23 2013-05-21 Microsoft Corporation Accessing restricted content based on proximity
US9116221B2 (en) * 2010-08-26 2015-08-25 Apple Inc. Variable precision location sharing
US20120159356A1 (en) * 2010-11-12 2012-06-21 Ryan Steelberg Enhanced World Wide Web-Based Communications
JP5744546B2 (ja) * 2011-02-01 2015-07-08 ネイバー コーポレーションNAVER Corporation 広告管理サーバ
US8479299B1 (en) * 2011-03-15 2013-07-02 Symantec Corporation Strategically reducing the accuracy of geotags in digital photographs
US20130054617A1 (en) * 2011-08-30 2013-02-28 Alison Williams Colman Linking Browser Content to Social Network Data
US20130080236A1 (en) 2011-09-26 2013-03-28 First Data Corporation Systems and Methods for Enrolling Consumers in Loyalty Programs
US9413805B2 (en) * 2011-12-15 2016-08-09 Geocomply Global Inc. Geolocation engine
CN102946391B (zh) * 2012-11-12 2016-09-28 北京奇虎科技有限公司 一种浏览器中提示恶意网址的方法和一种浏览器
CN102938766B (zh) * 2012-11-12 2016-08-24 北京奇虎科技有限公司 恶意网址提示方法和装置
CN103051703A (zh) * 2012-12-18 2013-04-17 北京奇虎科技有限公司 一种基于地理位置信息的展示方法和装置
CN103347089A (zh) * 2013-07-16 2013-10-09 星云融创(北京)信息技术有限公司 一种对网站动态资源和静态资源分离加速的方法及装置

Also Published As

Publication number Publication date
CN107832409B (zh) 2021-12-17
JP6143724B2 (ja) 2017-06-07
CN107832409A (zh) 2018-03-23
EP2863322A1 (en) 2015-04-22
CA2865861A1 (en) 2014-12-12
US8812705B1 (en) 2014-08-19
CN104580348A (zh) 2015-04-29
CN104580348B (zh) 2017-12-05
JP2015079501A (ja) 2015-04-23
AU2014240210A1 (en) 2015-04-30
KR101545303B1 (ko) 2015-08-19
CA2865861C (en) 2016-02-02

Similar Documents

Publication Publication Date Title
KR101545303B1 (ko) 위치-기반 콘텐트를 액세스하는 방법 및 시스템
US9553934B2 (en) Setting cookies across applications
US10630794B2 (en) Multi computing device network based conversion determination based on computer network traffic
US8868692B1 (en) Device configuration based content selection
JP6267344B2 (ja) 精度管理を用いたコンテンツ選択
US20200342496A1 (en) Providing a modified content item to a user
US10967258B1 (en) Using game data for providing content items
US8874144B1 (en) Selecting location-based content
US9451008B1 (en) Content selection with privacy features
US9626691B2 (en) Determining a bid modifier value to maximize a return on investment in a hybrid campaign
US8886799B1 (en) Identifying a similar user identifier
US20140095325A1 (en) Optimizing monetization with brand impact scoring
US20140114761A1 (en) Providing previously viewed content with search results
US9565224B1 (en) Methods, systems, and media for presenting a customized user interface based on user actions
AU2015255328B2 (en) Accessing location-based content

Legal Events

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