KR20210097768A - 디바이스 프라이버시를 보존하기 위한 시스템 및 방법 - Google Patents

디바이스 프라이버시를 보존하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210097768A
KR20210097768A KR1020217020698A KR20217020698A KR20210097768A KR 20210097768 A KR20210097768 A KR 20210097768A KR 1020217020698 A KR1020217020698 A KR 1020217020698A KR 20217020698 A KR20217020698 A KR 20217020698A KR 20210097768 A KR20210097768 A KR 20210097768A
Authority
KR
South Korea
Prior art keywords
content selection
content
computing device
subset
lists
Prior art date
Application number
KR1020217020698A
Other languages
English (en)
Other versions
KR102512922B1 (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 KR20210097768A publication Critical patent/KR20210097768A/ko
Application granted granted Critical
Publication of KR102512922B1 publication Critical patent/KR102512922B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • H04L67/20
    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Abstract

본 개시는 클라이언트-사이드 익명화된 콘텐츠 선택을 위한 시스템 및 방법을 제공한다. 방법은 콘텐츠 선택 목록들의 복수의 식별 정보를 수집하는 단계를 포함하며, 각 콘텐츠 선택 목록은 제1 디바이스 및 적어도 하나의 다른 디바이스와 연관된다. 방법은 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 임계치를 초과함에 응답하여, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하는 단계를 포함한다. 방법은 콘텐츠 아이템에 대한 요청을 전송하는 단계를 포함하고, 상기 요청은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들의 식별 정보를 포함한다. 방법은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들에 기초하여, 상기 콘텐츠 서버에 의해 선택된 제1 콘텐츠 아이템을 수신하는 단계를 포함한다.

Description

디바이스 프라이버시를 보존하기 위한 시스템 및 방법
관련 출원에 대한 상호 참조
본 출원은 2019년 7월 29일 출원된 미국 특허출원 제16/524,792호에 대해 우선권을 주장하며, 그 내용은 그 전체가 본원에 참조로서 통합된다.
사람들은 오프라인 상점에 가지 않고 온라인에서 상품을 쇼핑할 수 있다. 사람들이 쇼핑을 위해 서로 다른 웹 페이지 및 도메인을 방문하는 동안, 많은 경우에, 웹 페이지 및 도메인과 연관된 서드파티가 웹 페이지를 방문하는데 사용되는 컴퓨팅 디바이스를 식별하고, 콘텐츠 서버에 의해 저장된 사용자 목록에 컴퓨팅 디바이스의 식별자를 추가할 수 있다. 사용자 목록은 서드파티와 연관될 수 있으며, 개별 컴퓨팅 디바이스를 식별할 수 있다. 서드파티는 일반적으로 웹 페이지 및 도메인을 방문할 때 사람들에게 콘텐츠를 제공하는 콘텐츠 제공자이다. 사람들이 온라인 쇼핑을 계속함에 따라 사람들이 쇼핑하는데 사용하는 컴퓨팅 디바이스는 종종 사람들이 모르는 사이에 점점 더 많은 사용자 목록에 추가될 수 있다. 서드파티는 콘텐츠 서버에 저장된 사용자 목록을 사용하여 추가 웹 페이지를 방문하는 사용자 목록의 컴퓨팅 디바이스에 콘텐츠를 제공할 수 있다. 사용자 목록은 사람들이 방문한 웹 페이지 및 도메인에 기초하여 생성되기 때문에 서드파티는 사람들이 방문한 웹 페이지 및 도메인의 콘텐츠에 기초하여 컴퓨팅 디바이스에 관련 콘텐츠를 제공할 수 있다.
본 명세서에서 논의된 시스템 및 방법은 컴퓨팅 디바이스가 인터넷을 브라우징할 때 컴퓨팅 디바이스가 콘텐츠 제공자에 의해 개별적으로 식별되지 않도록 컴퓨팅 디바이스를 익명화하는 방법을 제공한다. 컴퓨팅 디바이스가 서드파티들과 연관된 여러 웹 페이지 및 도메인을 방문하면 웹 페이지 및 도메인은 컴퓨팅 디바이스의 브라우저에 콘텐츠 선택 목록들을 저장할 수 있다. 다른 웹 페이지를 방문하면, 컴퓨팅 디바이스의 브라우저는 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록의 서브세트를 선택하고, 서버의 도움을 받아 임계치를 초과하기 위한 콘텐츠 선택 목록들의 동일한 서브세트와 연관된 충분한 컴퓨팅 디바이스가 있는지 여부를 결정할 수 있다(예: 충분한 컴퓨팅 디바이스가 임계치를 초과하기 위해 콘텐츠 선택 목록들의 서브세트의 교집합과 연관되는지 여부). 브라우저가 콘텐츠 선택 목록들의 동일한 서브세트와 연관된 충분한 컴퓨팅 디바이스가 있다고 결정하면, 브라우저는 사용자에 대한 프라이버시 보호를 위태롭게 하지 않고 콘텐츠 선택 목록들의 서브세트(예: 콘텐츠 선택 목록들의 서브세트의 식별 정보)을 콘텐츠 서버에 제공할 수 있다. 콘텐츠 선택 목록들의 동일한 서브세트와 연관된 컴퓨팅 디바이스가 충분하지 않은 경우, 브라우저는 충분한 컴퓨팅 디바이스들과 연관된 교집합을 포함하는 콘텐츠 선택 목록들의 다른 서브세트를 선택하여, 브라우저는 충분한 프라이버시 보호가 되는 콘텐츠 서버로부터의 콘텐츠에 대한 요청에 상기 서브세트를 포함할 수 있다.
유리하게는, 여기에서 논의된 시스템 및 방법을 구현함으로써, 컴퓨팅 디바이스의 브라우저는 컴퓨팅 디바이스가 콘텐츠를 요청할 때 콘텐츠 서버에 송신되는 콘텐츠 선택 목록들을 제어할 수 있으므로, 콘텐츠 제공자는 컴퓨팅 디바이스들을 식별할 수 없다. 콘텐츠 선택 목록들은 콘텐츠 선택 목록들에 컴퓨팅 디바이스의 식별자들을 포함하지 않을 수 있으므로, 콘텐츠 제공자들이 콘텐츠에 대한 요청을 보내는 컴퓨팅 디바이스들을 식별하는 것이 어려울 수 있다.
여기에 설명된 시스템 및 방법은 콘텐츠 제공자로부터 콘텐츠를 요청하는 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록들을 제어하는데 사용될 수 있으므로, 콘텐츠 제공자는 콘텐츠 선택 목록들에 기초하여 개별 컴퓨팅 디바이스를 식별할 수 없다. 여기에 설명된 시스템 및 방법을 구현하는 컴퓨팅 디바이스는 콘텐츠 선택 목록들이 콘텐츠 제공자가 목록들을 좁혀 콘텐츠 선택 목록들을 보내는 컴퓨팅 디바이스를 식별할 수 없는 콘텐츠 선택 목록들의 교집합과 연관된 충분한 컴퓨팅 디바이스들을 포함한다고 결정함에 따라 콘텐츠 선택 목록들 중 컴퓨팅 디바이스가 연관된 한 목록을 전송할 수 있다. 콘텐츠 선택 목록들의 교집합과 연관된 디바이스들이 충분하지 않은 경우, 컴퓨팅 디바이스는 컴퓨팅 디바이스를 추가로 익명화하기 위해 단일 디바이스 또는 소수의 디바이스를 고유하게 식별하지 않는 콘텐츠 선택 목록들의 다른 세트를 전송할 수 있다.
콘텐츠에 대한 요청을 콘텐츠 서버로 보낼 때, 컴퓨팅 디바이스는 각 콘텐츠 선택 목록과 연관된 콘텐츠 선택 값을 결정하고, 가장 높은 콘텐츠 선택 값을 가지고 있고 컴퓨팅 디바이스를 익명으로 유지하기에 충분한 디바이스들과 연관된 콘텐츠 선택 목록들의 서브세트를 보낼 수 있다. 결과적으로, 요청을 수신하는 콘텐츠 서버는 요청하는 컴퓨팅 디바이스를 익명으로 유지하고 가장 높은 콘텐츠 선택 값을 갖는 콘텐츠 선택 목록들을 수신할 수 있다.
본 명세서에 설명된 양태에서, 클라이언트-사이드 익명화된 콘텐츠 선택 방법이 설명된다. 상기 방법은 컴퓨팅 디바이스에 의해, 콘텐츠 선택 목록들의 복수의 식별 정보를 수집하는 단계, 각각의 콘텐츠 선택 목록은 상기 컴퓨팅 디바이스와 연관되며; 및 상기 컴퓨팅 디바이스에 의해, 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 임계치를 초과함에 응답하여, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하는 단계를 포함한다. 상기 방법은 상기 컴퓨팅 디바이스에 의해, 콘텐츠 아이템에 대한 요청을 콘텐츠 서버에 전송하는 단계, 상기 요청은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들의 식별 정보를 포함하며; 및 상기 컴퓨팅 디바이스에 의해, 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들에 기초하여, 상기 콘텐츠 서버에 의해 선택된 제1 콘텐츠 아이템을 수신하는 단계를 포함한다.
일부 구현예에서, 상기 콘텐츠 선택 목록들의 복수의 식별 정보를 수집하는 단계는 상기 컴퓨팅 디바이스에 의해, 웹페이지의 검색 또는 웹페이지 상의 사용자 활동에 응답하여, 콘텐츠 제공자로부터 상기 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록의 제1 식별 정보를 수신하는 단계를 더 포함한다.
일부 구현예에서, 상기 방법은 콘텐츠 선택 목록들의 복수의 서브세트들 각각에 대해, 상기 컴퓨팅 디바이스에 의해, 디바이스 식별자 관리자로부터, 상기 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 상기 임계치를 초과하는지 여부를 표시하는 식별 정보를 수신하는 단계를 더 포함한다.
일부 구현예에서, 상기 복수의 콘텐츠 선택 목록들의 식별 정보 각각은 콘텐츠 선택 값과 연관된다.
일부 구현예에서, 상기 콘텐츠 선택 목록의 제1 서브세트를 선택하는 단계는 상기 제1 서브세트의 콘텐츠 선택 목록들과 연관된 상기 콘텐츠 선택 값들의 조합이 다른 서브세트의 콘텐츠 선택 목록들과 연관된 콘텐츠 선택 값들의 조합을 초과하는 것에 응답하여, 콘텐츠 선택 목록들의 복수의 서브세트로부터 상기 제1 서브세트를 선택하는 단계를 포함한다.
일부 구현예에서, 적어도 하나의 콘텐츠 선택 목록은 조건의 값에 기초하여 콘텐츠 선택 값과 연관되며; 그리고 상기 컴퓨팅 디바이스에 의해, 상기 조건의 현재 값 및 적어도 하나의 콘텐츠 선택 목록에 대한 대응하는 콘텐츠 선택 값을 결정하는 단계를 더 포함한다.
일부 구현예에서, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하는 단계는 상기 컴퓨팅 디바이스의 기계 학습 모델이 콘텐츠 선택 목록의 복수의 서브세트들 중 제1 서브세트에 대한 가장 높은 콘텐츠 선택 값을 표시하는 것에 응답하여, 각 콘텐츠 선택 목록의 상기 콘텐츠 선택 값 및 각 콘텐츠 선택 목록으로부터 콘텐츠의 선택 가능성에 기초하여, 상기 제1 서브세트를 선택하는 단계를 포함한다.
일부 구현예에서, 상기 요청은 상기 컴퓨팅 디바이스에 의해, 상기 제1 서브세트의 상기 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 제2 임계치 미만임을 결정하는 것에 응답하여, 상기 선택된 제1 서브세트에 포함되지 않은 추가 콘텐츠 선택 목록의 식별 정보를 더 포함한다.
일부 구현예에서, 상기 방법은 상기 컴퓨팅 디바이스에 의해, 상기 추가 콘텐츠 선택 목록에 기초하여 선택된 콘텐츠 아이템을 수신하는 단계; 및 상기 컴퓨팅 디바이스에 의해, 상기 콘텐츠 아이템이 상기 추가 콘텐츠 선택 목록에 기초하여 선택되는 것에 응답하여, 상기 수신된 콘텐츠 아이템을 폐기하는 단계를 더 포함한다.
일부 구현예에서, 상기 콘텐츠 아이템에 대한 요청을 전송하는 단계는 상기 컴퓨팅 디바이스의 디바이스 식별자를 포함하지 않고 상기 요청을 전송하는 단계를 더 포함한다.
다른 양태에서, 클라이언트-사이드 익명화된 콘텐츠 선택을 위한 시스템이 설명된다. 시스템은 프로세서 및 콘텐츠 서버와 통신하는 네트워크 인터페이스를 포함하는 제1 디바이스와 연관된 컴퓨팅 디바이스를 포함한다. 상기 네트워크 인터페이스는 콘텐츠 선택 목록들의 복수의 식별 정보를 수신하도록 구성되며, 각각의 콘텐츠 선택 목록은 상기 제1 디바이스와 연관된다. 상기 프로세서는 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 임계치를 초과함에 응답하여, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하도록 구성된다. 상기 네트워크 인터페이스는 콘텐츠 아이템에 대한 요청을 콘텐츠 서버에 전송하고, 상기 요청은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들의 식별 정보를 포함하며, 그리고 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들에 기초하여, 상기 콘텐츠 서버에 의해 선택된 제1 콘텐츠 아이템을 수신하도록 더 구성된다.
일부 구현예에서, 상기 네트워크 인터페이스는 상기 컴퓨팅 디바이스에 의해, 웹페이지의 검색에 응답하여, 콘텐츠 제공자로부터 상기 제1 디바이스와 연관된 콘텐츠 선택 목록의 제1 식별 정보를 수신하도록 더 구성된다.
일부 구현예에서, 상기 네트워크 인터페이스는 콘텐츠 선택 목록들의 복수의 서브세트들 각각에 대해, 디바이스 식별자 관리자로부터, 상기 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 상기 임계치를 초과하는지 여부를 표시하는 식별 정보를 수신하도록 더 구성된다.
일부 구현예에서, 상기 복수의 콘텐츠 선택 목록들의 식별 정보 각각은 콘텐츠 선택 값과 연관된다.
일부 구현예에서, 상기 프로세서는 상기 제1 서브세트의 콘텐츠 선택 목록들과 연관된 상기 콘텐츠 선택 값들의 조합이 다른 서브세트의 콘텐츠 선택 목록들과 연관된 콘텐츠 선택 값들의 조합을 초과하는 것에 응답하여, 콘텐츠 선택 목록들의 복수의 서브세트로부터 상기 제1 서브세트를 선택하도록 더 구성된다.
일부 구현예에서, 적어도 하나의 콘텐츠 선택 목록은 조건의 값에 기초하여 콘텐츠 선택 값과 연관되며; 그리고 상기 프로세서는 상기 조건의 현재 값 및 적어도 하나의 콘텐츠 선택 목록에 대한 대응하는 콘텐츠 선택 값을 결정하도록 더 구성된다.
일부 구현예에서, 상기 프로세서는 상기 컴퓨팅 디바이스의 기계 학습 모델이 콘텐츠 선택 목록의 복수의 서브세트들 중 제1 서브세트에 대한 가장 높은 콘텐츠 선택 값을 표시하는 것에 응답하여, 각 콘텐츠 선택 목록의 상기 콘텐츠 선택 값 및 각 콘텐츠 선택 목록으로부터 콘텐츠의 선택 가능성에 기초하여, 상기 제1 서브세트를 선택하도록 더 구성된다.
일부 구현예에서, 상기 프로세서는 상기 제1 서브세트의 상기 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스의 총 수가 제2 임계치 미만임을 결정하도록 더 구성되며; 그리고 상기 요청은 상기 결정에 응답하여, 상기 선택된 제1 서브세트에 포함되지 않은 추가 콘텐츠 선택 목록의 식별 정보를 더 포함한다.
일부 구현예에서, 상기 네트워크 인터페이스는 상기 추가 콘텐츠 선택 목록에 기초하여 선택된 콘텐츠 아이템을 수신하고; 그리고 상기 콘텐츠 아이템이 상기 추가 콘텐츠 선택 목록에 기초하여 선택되는 것에 응답하여, 상기 수신된 콘텐츠 아이템을 폐기하도록 더 구성된다.
일부 구현예에서, 상기 네트워크 인터페이스는 상기 컴퓨팅 디바이스의 디바이스 식별자를 포함하지 않고 상기 요청을 전송하도록 더 구성된다.
일 양태의 선택적 구성은 임의의 다른 양태와 조합될 수 있다.
하나 이상의 구현예들의 세부 내용들이 첨부 도면과 아래의 설명에서 기술된다. 본 개시의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1a는 일부 구현예에 따른 3개의 콘텐츠 선택 목록들의 벤 다이어그램이고, 각각의 콘텐츠 선택 목록은 콘텐츠를 요청하는 컴퓨팅 디바이스와 연관되고, 다수의 콘텐츠 선택 목록들에 있는 고유 디바이스들을 표시하는 교집합과 연관된 고유 디바이스를 포함한다.
도 1b는 일부 구현예에 따라, 콘텐츠를 요청하는 컴퓨팅 디바이스가 연관되지 않은 제4 콘텐츠 선택 목록을 포함하는 도 1a의 벤 다이어그램이다.
도 2는 일부 구현예에 따라, 콘텐츠 서버들로부터 콘텐츠를 수신하는 컴퓨팅 디바이스의 프라이버시를 보존하기 위한 시스템의 구현예의 블록도이다.
도 3은 일부 구현예에 따라, 콘텐츠 제공자가 콘텐츠를 요청하는 컴퓨팅 디바이스에 콘텐츠를 제공하기에 충분한 콘텐츠 선택 목록과 연관된 디바이스가 있는지를 결정하기 위한 방법을 도시하는 흐름도이다.
도 4는 일부 구현예에 따라, 서브세트의 값에 기초하여 콘텐츠 선택 목록들의 서브세트를 선택하고, 선택된 서브세트에 기초하여 콘텐츠 아이템을 수신하는 방법을 예시하는 흐름도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 컴포넌트를 표시한다.
콘텐츠 선택 목록들을 획득하고 분석함으로써, 서드파티들은 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록들에 기초하여 개별 컴퓨팅 디바이스들을 식별할 수 있다. 컴퓨팅 디바이스가 충분한 콘텐츠 선택 목록들과 연관되거나 콘텐츠 선택 목록들과 연관된 컴퓨팅 디바이스가 많지 않은 경우, 서드파티들은 콘텐츠를 제공하는 컴퓨팅 디바이스를 좁힐 수 있다. 예를 들어, 콘텐츠에 대한 요청에서 식별된 각 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스들이 많지 않은 경우 서드파티는 컴퓨팅 디바이스 또는 소규모 디바이스 그룹을 식별할 수 있다. 컴퓨팅 디바이스들은 웹 페이지를 방문할 때 콘텐츠 선택 목록들과 자동으로 연관될 수 있기 때문에, 컴퓨팅 디바이스를 사용하는 사람들은 서드파티가 자신의 디바이스를 식별하는 것을 막는데 어려움을 겪을 수 있다. 결과적으로 인터넷을 검색하는 사람들은 서드파티가 자신의 컴퓨팅 디바이스를 식별하는 것을 막을 수 없다. 한 번 컴퓨팅 디바이스가 식별되면, 서드파티가 컴퓨팅 디바이스에 지문을 찍고 타겟팅된 콘텐츠를 컴퓨팅 디바이스에 제공할 수 있다.
예를 들어, 도 1a를 참조하면, 일부 구현예에 따른 3개의 콘텐츠 선택 목록들의 벤 다이어그램(100)이 도시되며, 각 콘텐츠 선택 목록은 각 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스들을 표현하는 고유 디바이스 식별자들 및 다수의 콘텐츠 선택 목록들과 연관된 컴퓨팅 디바이스들을 표시하는 교집합을 포함한다. 벤 다이어그램(100)은 일부 구현예에서 콘텐츠 선택 목록들(102, 104 및 106)를 포함하는 것으로 도시된다. 콘텐츠 선택 목록들(102, 104 및 106)은 콘텐츠 제공자가 컴퓨팅 디바이스로부터 요청을 수신하면 컴퓨팅 디바이스에 콘텐츠를 제공하기 위해 사용하는 콘텐츠 선택 목록들을 표현할 수 있으며, 디바이스 유형 또는 특성 및/또는 해당 사용자의 특성(예: 인구 통계)과 같은 다양한 요인에 기초할 수 있다. 콘텐츠 선택 목록들(102, 104, 106)은 콘텐츠를 요청하는 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(112))와 연관될 수 있다. 벤 다이어그램(100)은 임의의 수의 콘텐츠 선택 목록들을 포함할 수 있다. 콘텐츠 선택 목록들(102, 104, 106) 각각은 특정 컴퓨팅 디바이스를 식별하는 고유 디바이스 식별자들을 포함할 수 있다. 벤 다이어그램(100)은 일부 구현예에서 교집합(108, 114, 116 및 118)을 포함하는 것으로 도시된다. 교집합(108, 114, 116 및 118)은 다수의 콘텐츠 선택 목록들에 있는 고유 디바이스 식별자들을 포함할 수 있다. 벤 다이어그램(100)은 임의의 수의 교집합을 포함할 수 있다. 콘텐츠 선택 목록들의 식별 정보는 각 목록과 연관된 컴퓨팅 디바이스의 브라우저에 저장될 수 있다. 컴퓨팅 디바이스(112)는 콘텐츠 제공자가 제공할 콘텐츠를 결정할 수 있도록 콘텐츠를 요청할 때 콘텐츠 선택 목록 식별 정보를 콘텐츠 서버에 전송할 수 있다.
각각의 콘텐츠 선택 목록(102, 104 및 106)은 컴퓨팅 디바이스(110)에 의해 표현되는 고유 디바이스를 포함할 수 있다. 본 명세서에 설명된 바와 같이, 고유 디바이스들은 각 콘텐츠 선택 목록과 연관된 디바이스 식별자들과 연관되지 않을 수 있다. 고유 디바이스들은 자신을 고유하게 식별하는 정보를 제공하지 않고 콘텐츠 선택 목록들의 일부임을 서버에 알릴 수 있다. 예를 들어, 하나의 그러한 구현에서, 디바이스들은 콘텐츠 선택 목록에 있음을 서버에 알릴 수 있으며, 서버는 목록에 대한 집계를 증가시킬 수 있지만, 서버는 디바이스 식별자들 또는 목록과 연관된 디바이스와 연관된 다른 식별자를 저장할 수 없다 - 목록은 집계(목록 설명, 만료 날짜 등과 같은 기타 메타데이터)와만 연관된다. 이러한 구현예는 목록이 손상될 위험을 제거하여 프라이버시 보호에 도움이 될 수 있다. 컴퓨팅 디바이스는 인터넷을 검색할 때 콘텐츠 선택 목록들(102, 104, 106)과 연관될 수 있으며, 서드파티들은 컴퓨팅 디바이스의 브라우저에서 서드파티들과 연관된 콘텐츠 선택 목록 식별 정보를 저장한다. 도 1a에 도시된 바와 같이, 각각의 콘텐츠 선택 목록들(102, 104 및 106)은 다수의 컴퓨팅 디바이스들을 포함할 수 있다(예를 들어, 컴퓨팅 디바이스들은 콘텐츠 선택 목록들(102, 104 및 106)과 연관될 수 있다). 공통 콘텐츠 선택 목록들과 연관된 컴퓨팅 디바이스들은 교집합(108, 114, 116 및 118)에 포함되는 것으로 표시된다.
일부 경우에, 컴퓨팅 디바이스가 더 많은 콘텐츠 선택 목록들과 연관됨에 따라, 동일한 세트 콘텐츠 선택 목록과 연관된 더 적은 컴퓨팅 디바이스가 있을 수 있다. 예를 들어, 교집합(108, 114, 116 및 118)에서 볼 수 있는 바와 같이, 더 많은 콘텐츠 선택 목록들과 컴퓨팅 디바이스(112)가 연관될수록 콘텐츠 선택 목록들 사이의 교집합에 있는 컴퓨팅 디바이스는 더 적다. 결과적으로, 너무 많은 콘텐츠 선택 목록들과 연관된 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(112))는 콘텐츠에 대한 요청에서 모든 콘텐츠 선택 목록을 수신하는 콘텐츠 제공자에 의해 고유하게 또는 반-고유하게 식별될 수 있다. 콘텐츠 제공자는 컴퓨팅 디바이스(112)를 식별하기 위해 각 콘텐츠 선택 목록에 공통된 고유 디바이스들을 식별할 수 있다. 또한, 본 명세서에 기술된 시스템 및 방법을 사용하지 않는 시스템은 일반적으로 콘텐츠 선택 목록들을 콘텐츠 서버에 저장하기 때문에, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 신원을 익명으로 유지하기 위해 콘텐츠 서버에 의존해야 한다. 콘텐츠 서버는 특정 컴퓨팅 디바이스의 관리자 또는 사용자가 원하는 대로 컴퓨팅 디바이스들의 신원을 익명으로 유지하도록 구성되지 않을 수 있다. 대신, 본 명세서에서 논의된 시스템 및 방법의 구현예는 컴퓨팅 디바이스에 더 많은 프라이버시 제어를 제공하고, 컴퓨팅 디바이스가 콘텐츠 제공자로부터 콘텐츠를 요청할 때 익명으로 유지되도록 한다.
구체적으로, 본 명세서에 기술된 시스템 및 방법의 구현예는 콘텐츠 선택 목록들을 콘텐츠 서버로부터 떨어져 저장하고, 콘텐츠 제공자로부터 컴퓨팅 디바이스를 익명화하는데 사용될 수 있다. 시스템 및 방법은 콘텐츠 선택 목록 식별 정보를 브라우저에 저장하고, 콘텐츠 제공자가 콘텐츠를 요청하는 특정 컴퓨팅 디바이스를 식별할 수 없는 충분한 컴퓨팅 디바이스들과 연관된 콘텐츠 제공자에게 콘텐츠 선택 목록 식별 정보를 제공하는 것을 제공한다.
간략한 개요에서, 컴퓨팅 디바이스는 콘텐츠 제공자의 웹 페이지를 방문하여 콘텐츠 선택 목록들과 연관된 식별자들을 수신할 수 있다. 컴퓨팅 디바이스는 서버의 도움으로 콘텐츠 선택 목록들과 연관된 고유 컴퓨팅 디바이스의 총 수가 임계치를 초과하는지 여부를 결정할 수 있다. 콘텐츠 선택 목록의 서브세트에 임계치를 초과하기에 충분한 컴퓨팅 디바이스가 있는 경우, 컴퓨팅 디바이스는 컴퓨팅 디바이스를 익명으로 유지하면서 콘텐츠에 대한 요청이 콘텐츠 제공자에게 보내질 수 있다고 결정할 수 있다. 컴퓨팅 디바이스는 서브세트의 콘텐츠 선택 목록들의 식별자들을 포함하는 콘텐츠에 대한 요청을 콘텐츠 서버에 전송할 수 있다.
일부 구현예에서, 컴퓨팅 디바이스가 임계치를 초과하기에 충분한 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록들의 서브세트가 없다고 결정하면, 컴퓨팅 디바이스는 임계치를 초과하기 위해 충분한 컴퓨팅 디바이스가 연관되는 서브세트의 다른 콘텐츠 선택 목록들과 교집합을 갖는 서버로부터 다른 콘텐츠 선택 목록의 식별 정보를 요청할 수 있다. 컴퓨팅 디바이스는 콘텐츠 서버에 대한 콘텐츠 요청에서 콘텐츠 선택 목록 식별 정보의 서브세트에 추가된 콘텐츠 선택 목록의 식별 정보를 포함할 수 있다. 결과적으로, 컴퓨팅 디바이스가 콘텐츠를 요청하고 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록들을 서드파티 콘텐츠 제공자에게 제공함에 따라 컴퓨팅 디바이스는 서드파티 콘텐츠 제공자로부터 익명으로 유지될 수 있다.
이제 도 1b를 참조하면, 도시된 것은 도 1a를 참조하여 설명된 벤 다이어그램(100)과 유사한 벤 다이어그램(120)이며, 일부 구현들에 따르면, 컴퓨팅 디바이스가 연관되지 않은 제4 콘텐츠 선택 목록을 포함한다. 벤 다이어그램(120)은 콘텐츠 선택 목록들(122, 124, 126 및 128) 및 교집합(134, 136, 138, 140, 142, 144 및 146)을 포함하는 것으로 도시된다. 컴퓨팅 디바이스(132)는 컴퓨팅 디바이스(112)와 유사할 수 있고, 콘텐츠 제공자로부터 콘텐츠를 요청할 때 콘텐츠 선택 목록들(122, 124 및 126)(또는 122, 124 및 126의 임의의 서브세트)의 식별 정보를 생성할 수 있다. 콘텐츠 선택 목록들(122, 124, 126)의 컴퓨팅 디바이스는 콘텐츠 선택 목록(126)의 컴퓨팅 디바이스(130)에 의해 표현될 수 있다. 전술한 바와 같이, 콘텐츠 제공자는 컴퓨팅 디바이스(132)로부터 수신된 각 콘텐츠 선택 목록들의 교집합과 연관된 컴퓨팅 디바이스가 충분하지 않은 경우 컴퓨팅 디바이스(132)를 식별할 수 있다. 컴퓨팅 디바이스(132)가 수용가능하게 익명으로 유지되기에 콘텐츠 선택 목록들(122, 124, 126)의 교집합과 연관된 컴퓨팅 디바이스들이 충분하지 않은 경우, 컴퓨팅 디바이스(132)는 컴퓨팅 디바이스(132)가 또한 연관되는 콘텐츠 선택 목록의 제2 서브세트를 선택할 수 있다. 컴퓨팅 디바이스(132)는 콘텐츠 선택 목록들의 제2 서브세트가 컴퓨팅 디바이스(132)를 익명으로 유지하기에 충분한 컴퓨팅 디바이스들과 연관되는지 여부를 결정할 수 있다. 콘텐츠 선택 목록들의 제2 서브세트가 임계치에 도달하기에 충분한 컴퓨팅 디바이스와 연관되면, 컴퓨팅 디바이스(132)는 콘텐츠 선택 목록들의 제2 서브세트의 식별 정보를 포함하는 콘텐츠에 대한 요청을 콘텐츠 서버(250)에 송신할 수 있다.
일부 구현예에서, 컴퓨팅 디바이스(132)는 컴퓨팅 디바이스(132)가 연관되지 않지만 다른 콘텐츠 선택 목록들에 공통적인 컴퓨팅 디바이스의 교집합을 갖는 다른 콘텐츠 선택 목록 식별 정보를 요청할 수 있다. 콘텐츠 선택 목록(128)으로 표시되는 콘텐츠 선택 목록은 임의의 수의 고유 디바이스를 포함할 수 있으며 임의의 수의 교집합과 연관될 수 있다. 본 명세서에 설명된 바와 같이, 고유 디바이스는 컴퓨팅 디바이스와 동일하거나 유사할 수 있다. 컴퓨팅 디바이스(132)는 추가 콘텐츠 선택 목록의 식별 정보를 수신하고, 다른 콘텐츠 선택 목록들의 식별 정보를 포함하는 새로운 식별 정보를 콘텐츠에 대한 요청과 함께 콘텐츠 서버에 송신할 수 있다. 결과적으로, 다른 콘텐츠 선택 목록의 추가는 컴퓨팅 디바이스(132)가 연관되지 않은 새로운 교집합을 생성할 수 있기 때문에, 콘텐츠 제공자는 어떤 컴퓨팅 디바이스가 콘텐츠를 요청하는지 좁히는데 더 어려움을 겪을 수 있다. 잠재적으로 수백 또는 수천 개의 디바이스 및/또는 사용자와 각각 연관된 많은 수의 콘텐츠 선택 목록을 통해, 이러한 구현예는 특정 컴퓨팅 디바이스의 고유한 식별을 거의 불가능하게 만들 수 있다.
이제 도 2를 참조하면, 일부 구현예에 따라, 콘텐츠 서버로부터 콘텐츠를 수신하는 컴퓨팅 디바이스의 프라이버시를 보존하기 위한 시스템(200)의 구현의 블록도가 도시된다. 시스템(200)은 컴퓨팅 디바이스(202), 네트워크(221), 중개 서버(222), 콘텐츠 제공자(242 및 246) 및 콘텐츠 서버(250)를 포함하는 것으로 도시되어 있다. 컴퓨팅 디바이스(202)는 네트워크(221)를 통해 다른 서드파티들과 연관된 웹 페이지 및 도메인을 방문하는 인터넷을 브라우징할 수 있다. 네트워크(221)는 동기 또는 비동기 네트워크를 포함할 수 있다. 콘텐츠 선택 목록들을 표현하는 식별 정보는 컴퓨팅 디바이스(202) 상의 로컬 스토리지에 추가될 수 있다. 콘텐츠 선택 목록들은 컴퓨팅 디바이스(202)가 방문하는 서드파티, 웹 페이지 및/또는 도메인과 연관될 수 있다. 콘텐츠 선택 목록 식별 정보는 컴퓨팅 디바이스(202)의 브라우저에 저장될 수 있다. 컴퓨팅 디바이스(202)가 다른 웹 페이지를 방문할 때, 컴퓨팅 디바이스(202)는 콘텐츠 제공자(242 및 246) 중 하나에 콘텐츠에 대한 요청을 송신할 수 있다. 요청은 컴퓨팅 디바이스(202)에 송신할 콘텐츠를 식별하기 위해 콘텐츠 제공자(242 또는 246)에 의해 사용될 수 있는 콘텐츠 선택 목록 식별 정보를 포함할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(202)는 컴퓨팅 디바이스(202)가 연관되는 콘텐츠 선택 목록들 각각의 식별 정보를 저장할 수 있다. 컴퓨팅 디바이스(202)는 어떤 콘텐츠 선택 목록들이 컴퓨팅 디바이스(202)와 연관되는지 보기를 원하는 사용자에게 콘텐츠 선택 목록 식별 정보의 목록을 디스플레이할 수 있다. 목록은 사용자에게 각 콘텐츠 선택 목록의 목적 및 의도를 보여주는 정보를 포함할 수 있다(예를 들어, 각 콘텐츠 제공자가 제공하는 각 콘텐츠의 유형 및 목록과 연관된 콘텐츠 제공자). 결과적으로, 사용자는 컴퓨팅 디바이스(202)와 콘텐츠 선택 목록 사이의 연관을 제거할지 아니면 컴퓨팅 디바이스(202)를 콘텐츠 선택 목록과 연관시키는 것으로부터 웹 사이트/웹 페이지를 차단할지에 대해 정보에 입각한 결정을 내릴 수 있다. 또한, 일부 예에서, 컴퓨팅 디바이스(202)와 콘텐츠 선택 목록 사이의 연관은 만료 날짜를 가질 수 있다. 이러한 경우에, 컴퓨팅 디바이스(202)는 관리자에 의해 결정된 미리 결정된 기간 후에 컴퓨팅 디바이스(202)와 콘텐츠 선택 간의 연관을 자동으로 제거할 수 있다(예를 들어, 스토리지에서 콘텐츠 선택 목록 식별 정보를 제거함). 미리 결정된 기간은 임의의 길이일 수 있다.
중개 서버(222)는 일부 구현예에서, 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(202))가 콘텐츠 제공자(예를 들어, 콘텐츠 제공자(242 및 246))에 의해 식별되는 것을 방지하도록 구성된 하나 이상의 서버 또는 프로세서를 포함할 수 있다. 중개 서버(222)는 일부 구현예에서 프로세서(224) 및 메모리(226)를 포함하는 것으로 도시된다. 컴퓨팅 디바이스(202)와 유사하게, 아래에서 상세히 논의되는 바와 같이, 중개 서버(222)는 콘텐츠 서버(250)로부터 콘텐츠를 요청하는 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록을 식별하고, 콘텐츠 선택 목록들의 주어진 세트에 속하는 각 콘텐츠 선택 목록과 연관된 디바이스들과 연관된 콘텐츠 선택 목록들의 교집합에서 고유 디바이스들의 충분한 수가 있는지 여부를 결정하고, 총 수가 미리 결정된 임계치를 초과하지 않는 경우 다른 콘텐츠 선택 목록을 선택하고, 각 콘텐츠 선택 목록의 현재 조건 값을 결정하고, 각 콘텐츠 선택 목록의 콘텐츠 선택 값을 결정하고, 가장 높은 콘텐츠 선택 값을 갖는 콘텐츠 선택 목록들의 서브세트를 선택하고 그리고 선택된 콘텐츠 선택 목록들의 식별 정보를 콘텐츠 서버(250)에 전송하도록 구성된다. 중개 서버(222) 내의 하나 이상의 컴포넌트는 중개 서버(222) 내의 각 컴포넌트와 콘텐츠 제공자(242 및 246), 콘텐츠 서버(250) 및 컴퓨팅 디바이스(202)와 같은 외부 컴포넌트 간의 통신을 용이하게 할 수 있다. 또한, 중개 서버(222)는 필요한 동작의 부분들을 제공하는 각 디바이스를 포함하는 다수의 연결된 디바이스들을 포함할 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
프로세서(224)는 일부 구현예에서 중개 서버(222) 내의 메모리(226)의 모듈 또는 컴포넌트에 대한 명령을 수행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 일부 구현예에서, 프로세서(224)는 인터넷을 브라우징하고 콘텐츠 제공자로부터 콘텐츠를 요청하는 동안 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(202))가 익명으로 유지되도록 구성될 수 있는 메모리(226) 내의 모듈을 실행한다. 그렇게 하기 위해, 프로세서(224)는 중개 서버(222)의 메모리(226)에 저장된 명령을 수행할 수 있다. 일부 구현예에서, 메모리(226)는 목록 식별자(228), 목록 선택기(230), 목록 검색기(232), 조건 분석기(234), 애플리케이션(236) 및 송신기(238)를 포함하는 것으로 도시된다. 컴포넌트(228-238) 각각은 컴퓨팅 디바이스(202)의 컴포넌트(210-220)와 유사한 기능을 수행하여 아래에 설명된 바와 같이 컴퓨팅 디바이스를 익명으로 유지할 수 있다.
프로세서(224)는 콘텐츠 선택 목록들과 연관된 콘텐츠 선택 값을 결정하기 위해 애플리케이션(236)과 함께 기계 학습 모델(예를 들어, 신경 네트워크, 지원 벡터 머신, 랜덤 포레스트 등)을 구현할 수 있다. 아래에서 논의되는 바와 같이, 기계 학습 모델은 또한 컴퓨팅 디바이스(202) 상에서 구현될 수 있다. 일부 구현예에서, 프로세서(224)는 콘텐츠 선택 값의 가장 높은 조합을 갖는 콘텐츠 선택 목록들의 서브세트를 콘텐츠 서버(250)에 제공할 수 있다. 일부 구현예에서, 프로세서(224)는 콘텐츠 선택 목록들의 콘텐츠 선택 값들을 결정하기 위해 기계 학습 기법을 사용하는데만 전념하는 텐서 프로세싱 유닛(TPU)과 같은 코-프로세서를 포함하거나 그와 통신할 수 있다.
메모리(226)는 또한 일부 구현예에서 콘텐츠 선택 목록 데이터베이스(240)를 포함하는 것으로 도시된다. 콘텐츠 선택 목록 데이터베이스(240)는 또한 컴퓨팅 디바이스(202)의 브라우저에 포함될 수 있다. 콘텐츠 선택 목록 데이터베이스(240)는 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록 식별 정보를 포함하는 동적 데이터베이스일 수 있다. 콘텐츠 선택 목록 데이터베이스(240)는 그래프 데이터베이스, MySQL, Oracle, Microsoft SQL, PostgreSql, DB2, 문서 저장소, 검색 엔진, 키-값 저장소 등일 수 있다. 콘텐츠 선택 목록 데이터베이스(240)는 임의의 양의 데이터를 보유하도록 구성될 수 있고, 여러 컴포넌트들로 구성될 수 있다. 콘텐츠 선택 목록 데이터베이스(240)는 콘텐츠 선택 목록들을 식별하는 콘텐츠 선택 목록 식별자들을 포함할 수 있다. 각 콘텐츠 선택 목록은 콘텐츠 선택 목록들이 연관될 수 있는 서드파티를 식별하는 메타데이터, 콘텐츠 선택 목록들과 연관된 콘텐츠 유형, 콘텐츠 선택 목록들의 고유 디바이스 수, 콘텐츠 선택 목록들의 현재 조건 값들을 결정하기 위해 사용되는 조건과 연관될 수 있다. 콘텐츠 선택 목록 데이터베이스(240)는 임의의 양의 메타데이터를 갖는 임의의 수의 콘텐츠 선택 목록을 저장하도록 구성될 수 있다.
일부 구현예에서, 콘텐츠 선택 목록 데이터베이스(240)는 만료되기 전에 하루 동안 또는 임의의 길이 동안 지속될 수 있는 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스의 임시 식별 정보를 저장할 수 있다. 임시 식별 정보는 연관된 컴퓨팅 디바이스가 연관된 콘텐츠 선택 목록을 표시하는 메타데이터를 포함할 수 있다. 그러나 상기 식별 정보는 일시적이기 때문에, 콘텐츠 제공자가 컴퓨팅 디바이스에 미래 콘텐츠를 제공할 때 콘텐츠 제공자에 의한 식별 정보로부터 컴퓨팅 디바이스를 식별할 수 없다.
일부 구현예에서, 중개 서버(222)는 컴퓨팅 디바이스의 프라이버시를 보존하기 위해 (n, t)-임계 방식을 구현할 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스가 속하는 콘텐츠 선택 목록을 나타내는 암호화된 정보를 중개 서버(222)에 송신할 수 있다. 각 컴퓨팅 디바이스는 콘텐츠 제공자에게 공개되지 않은 개인 키를 가질 수 있다.
콘텐츠 서버(250)는 컴퓨팅 디바이스(202)로부터 요청을 수신한 후 웹 페이지의 전용 콘텐츠 공간에서 컴퓨팅 디바이스(202)에 콘텐츠를 제공하도록 구성된 서버 또는 프로세서일 수 있다. 콘텐츠 제공자(250)는 애플리케이션(252)을 포함할 수 있다. 일부 구현예에서, 애플리케이션(252)은 어떤 콘텐츠 제공자(예를 들어, 콘텐츠 제공자(242 또는 246))가 컴퓨팅 디바이스(202)에 의해 제공되는 콘텐츠 선택 목록들에 기초하여 제공되는 콘텐츠와 가장 높은 값을 연관시키는지를 결정하는 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 기타 실행 가능한 로직을 포함할 수 있다. 애플리케이션(252)은 컴퓨팅 디바이스(202)가 웹 페이지를 방문하고 콘텐츠 제공자(242 및 246)로부터 콘텐츠에 대한 요청을 전송할 때 컴퓨팅 디바이스(202)에 의해 선택된 콘텐츠 선택 목록들을 수신할 수 있다. 일부 구현예에서, 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(202)에 의해 전송된 콘텐츠 선택 목록들에 기초하여 그들이 제공하는 콘텐츠와 값을 연관시킬 수 있다. 애플리케이션(252)은 제공되는 콘텐츠와 가장 높은 값을 연관시키는 콘텐츠 제공자가 컴퓨팅 디바이스(202)에 콘텐츠를 제공할 수 있다고 결정할 수 있다. 임의의 서버 또는 프로세서(예를 들어, 중개 서버(222), 컴퓨팅 디바이스(202), 콘텐츠 제공자(242 및 246) 등) 상의 컴포넌트는 어떤 콘텐츠 제공자가 가장 높은 값을 제공되는 콘텐츠와 연관시키는 지 결정할 수 있다.
일부 구현예에서, 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(202))로부터 콘텐츠를 제공하기 위한 요청을 수신하고, 요청과 연관된 콘텐츠 선택 목록들에 기초하여 컴퓨팅 디바이스(202)에 콘텐츠를 제공하기 위해 콘텐츠 서버(250)에 값을 제출하는 서드파티 콘텐츠 제공자일 수 있다. 일부 경우에, 콘텐츠 제공자(242)는 콘텐츠 선택 목록들의 교집합이 충분한 고유 디바이스들을 갖지 않으면 콘텐츠 선택 목록들로부터 개별 컴퓨팅 디바이스를 식별할 수 있다. 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스를 포함하는 콘텐츠 선택 목록들의 교집합을 좁힐 수 있다. 콘텐츠 제공자(242)가 개별 컴퓨팅 디바이스를 식별하면, 콘텐츠 제공자(242 및 246)는 콘텐츠 선택 목록 및 요청의 컨텍스트(예를 들어, 콘텐츠가 디스플레이될 웹 페이지의 콘텐츠)에 기초하여, 컴퓨팅 디바이스에 콘텐츠(예: 콘텐츠 244 및 248)를 제공할 수 있다. 컴퓨팅 디바이스(202)는 많은 수의 컴퓨팅 디바이스와 연관된 컴퓨팅 디바이스(202)를 포함하는 교집합에 콘텐츠 선택 목록을 제공함으로써 콘텐츠 제공자가 컴퓨팅 디바이스(202)를 식별하는 것을 방지할 수 있다.
예를 들어, 컴퓨팅 디바이스(202)는 웹 브라우저를 열고 웹 페이지를 방문할 수 있다. 컴퓨팅 디바이스(202)는 콘텐츠 선택 목록을 포함하는 콘텐츠에 대한 요청을 콘텐츠 서버(250)에 제출할 수 있다. 콘텐츠 선택 목록들의 교집합은 단지 몇 개의 고유 디바이스만 포함할 수 있다. 콘텐츠를 컴퓨팅 디바이스(202)에 제공하려는 콘텐츠 제공자(242)는 콘텐츠 서버(250)로부터 콘텐츠 선택 목록들을 식별할 수 있다. 콘텐츠 선택 목록들의 교집합과 연관된 고유 디바이스가 충분하지 않은 경우, 콘텐츠 제공자(242)는 모든 콘텐츠 선택 목록들에 공통적인 고유 디바이스를 식별하고 고유 디바이스와 연관된 컴퓨팅 디바이스를 콘텐츠를 요청하는 컴퓨팅 디바이스로 식별할 수 있다. 콘텐츠 제공자(242)에 의해 식별되는 것을 피하기 위해, 컴퓨팅 디바이스(202)는 더 많은 컴퓨팅 디바이스들과 연관된 교집합을 갖는 컴퓨팅 디바이스(202)가 일부인 콘텐츠 선택 목록의 제2 서브세트를 식별할 수 있다.
본 명세서에 설명된 바와 같이, 고유 디바이스 식별자들은 본질적으로 개념적일 수 있으며, 컴퓨팅 디바이스들이 콘텐츠 선택 목록들과 연관되는지 여부를 표현하기 위해 사용될 수 있다. 고유 디바이스 식별자들은 컴퓨팅 디바이스들의 물리적 식별 또는 연관된 컴퓨팅 디바이스들의 양태는 포함하지 않을 수 있다. 기술된 바와 같이, 고유 디바이스 식별자들은 컴퓨팅 디바이스가 컴퓨팅 디바이스의 브라우저에 저장된 콘텐츠 선택 목록 식별 정보를 포함하는지 여부를 표시하는데 사용된다. 고유 디바이스 식별자들은 또한 중개 서버(222)가 컴퓨팅 디바이스(202)와 연관된 콘텐츠 선택 목록들의 교집합과 연관된 컴퓨팅 디바이스들의 수를 카운팅하는 방법을 설명하는데 사용된다. 중개 서버(222)는 목록들과 연관된 컴퓨팅 디바이스와 통신함으로써 콘텐츠 선택 목록 또는 콘텐츠 선택 목록들의 교집합과 연관된 컴퓨팅 디바이스의 수를 카운팅할 수 있다. 고유 디바이스 식별자들은 콘텐츠 선택 목록들과 연관되어 있다는 긍정적 표시를 중개 서버(222)에 제공한 컴퓨팅 디바이스를 표현할 수 있다. 그러나 고유 디바이스 식별자들은 개념적일 뿐이며, 컴퓨팅 디바이스들의 물리적 식별 정보를 포함하지 않기 때문에, 콘텐츠 제공자들은 고유 디바이스 식별자들에 기초하여 컴퓨팅 디바이스들을 식별하지 못할 수 있다.
예를 들어, 컴퓨팅 디바이스는 웹 페이지를 방문하여 웹 페이지로부터 콘텐츠 선택 목록 식별 정보를 수신할 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스의 브라우저에 콘텐츠 선택 목록 식별 정보를 저장할 수 있다. 본 명세서에 설명된 바와 같이, 콘텐츠 선택 목록 식별 정보를 브라우저에 저장함으로써, 컴퓨팅 디바이스와 연관된 고유 디바이스 식별자가 콘텐츠 선택 목록과 연관될 수 있다. 중개 서버(222)가 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스의 수 또는 콘텐츠 선택 목록과 연관된 교집합을 결정할 때, 중개 서버(222)는 컴퓨팅 디바이스가 콘텐츠 선택 목록과 연관되는지 묻는 요청을 컴퓨팅 디바이스에 송신하여 카운트에 고유 디바이스 식별자를 포함시킬 수 있다. 일부 구현예에서, 컴퓨팅 디바이스는 컴퓨팅 디바이스가 하나 이상의 콘텐츠 선택 목록과 연관되고 컴퓨팅 디바이스가 어떤 콘텐츠 목록과 연관되는지를 중개 서버(222)에 통지할 수 있다. 고유 디바이스 식별자는 어떤 방식으로도 컴퓨팅 디바이스를 식별하지 않으므로 콘텐츠 제공자는 고유 디바이스 식별자에 기초하여 컴퓨팅 디바이스를 식별할 수 없다.
컴퓨팅 디바이스(202)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 웨어러블 컴퓨터, 임베디드 컴퓨터, 스마트 텔레비전, 셋톱 박스, 콘솔, 사물 인터넷(IoT) 디바이스 또는 스마트 기기를 포함한 임의의 유형 및 형태의 미디어 디바이스 또는 컴퓨팅 디바이스 또는 다른 유형 및 형태의 컴퓨팅 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(들)는 클라이언트, 디바이스, 클라이언트 디바이스, 컴퓨팅 디바이스, 익명화된 컴퓨팅 디바이스 또는 임의의 다른 그러한 용어로 다양하게 지칭될 수 있다. 컴퓨팅 디바이스 및 중개 모듈레이터는 근거리 통신망(LAN), 인터넷과 같은 광역 네트워크(WAN), 위성 네트워크, 케이블 네트워크, 광대역 네트워크, 광섬유 네트워크, 마이크로파 네트워크, 셀룰러 네트워크, 무선 네트워크, 또는 이들 또는 다른 그러한 네트워크의 조합을 포함하는 임의의 적절한 네트워크를 통해 미디어 스트림을 수신할 수 있다. 많은 구현예에서, 네트워크는 동일한 유형의 네트워크이거나 상이한 유형일 수 있는 복수의 서브네트워크를 포함할 수 있으며, 게이트웨이, 모뎀, 방화벽, 라우터, 스위치 등을 포함하는 복수의 추가 디바이스(도시되지 않음)를 포함할 수 있다.
컴퓨팅 디바이스(202)는 제공자로부터 콘텐츠를 요청할 때 콘텐츠 제공자(예를 들어, 콘텐츠 제공자(242 및 246))로부터 익명으로 유지되도록 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(202)는 일부 구현예에서 프로세서(204) 및 메모리(206)를 포함하는 것으로 도시된다. 컴퓨팅 디바이스(202)는 콘텐츠 제공자와 연관된 웹 페이지를 방문하는 동안 콘텐츠 선택 목록의 식별 정보를 요청하고 수신하도록 구성될 수 있다. 다른 웹 페이지를 방문할 때, 컴퓨팅 디바이스(202)는 콘텐츠 선택 목록들의 서브세트의 교집합에서 고유 디바이스의 총 수에 기초하여 컴퓨팅 디바이스(202)가 수신한 콘텐츠 선택 목록의 서브세트의 식별자들을 선택하고, 콘텐츠 선택 목록들의 선택된 서브세트의 식별 정보를 포함하는 콘텐츠를 요청하고, 그리고 콘텐츠 서버(250)로부터 콘텐츠 아이템을 수신할 수 있다. 컴퓨팅 디바이스(202)는 컴퓨팅 디바이스(202)의 인터페이스에서 콘텐츠 아이템을 디스플레이할 수 있다. 컴퓨팅 디바이스(202) 내의 하나 이상의 컴포넌트는 컴퓨팅 디바이스(202) 내의 각 컴포넌트와 중개 서버(222), 콘텐츠 제공자(242 및 246) 및 콘텐츠 서버(250)와 같은 외부 컴포넌트 간의 통신을 용이하게 할 수 있다.
프로세서(204)는 일부 구현예에서 컴퓨팅 디바이스(202) 내의 메모리(206)의 모듈에 대한 명령을 수행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 일부 구현예에서, 프로세서(204)는 메모리(206) 내에서 컴퓨팅 디바이스(202)가 브라우저(208)를 통해 웹 페이지를 방문할 때 컴퓨팅 디바이스(202)를 콘텐츠 제공자(242 및 246)에 대해 익명으로 유지하도록 구성될 수 있는 브라우저(208)를 실행한다. 메모리(206)는 브라우저(208)를 포함하는 것으로 도시된다. 브라우저(208)는 웹 페이지를 방문하고 콘텐츠 선택 목록의 고유 디바이스 및 콘텐츠 선택 목록의 값에 기초하여 콘텐츠에 대한 요청과 함께 콘텐츠 선택 목록 식별자를 콘텐츠 제공자에게 제공하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 기타 실행 가능한 로직을 포함할 수 있다. 웹 페이지를 방문할 때, 브라우저(208)는 콘텐츠 서버(250)로부터 콘텐츠에 대한 요청을 보낼 수 있다. 콘텐츠에 대한 요청을 보내기 위해, 브라우저(208)는 요청에 대응하는 콘텐츠 서버(250)에 송신할 콘텐츠 선택 목록 식별자를 식별 및/또는 선택할 수 있다. 후술되는 바와 같이, 브라우저(208)는 콘텐츠 선택 목록들의 서브세트의 교집합에 속하는 디바이스들의 수에 기초하여 콘텐츠 선택 목록들의 서브세트를 식별 및/또는 선택할 수 있다. 일부 구현예에서, 브라우저(208)는 콘텐츠 선택 목록들의 값들에 기초하여 콘텐츠 선택 목록 식별자들을 식별할 수 있다.
일부 구현예에서, 브라우저(208)는 목록 식별자(210), 목록 선택기(212), 목록 검색기(214), 조건 분석기(216), 애플리케이션(218) 및 송신기(220)를 포함할 수 있다. 브라우저(208)는 임의의 수의 컴포넌트를 포함할 수 있다. 브라우저(208)를 실행하여 각 컴포넌트(210, 212, 214, 216, 218 및 220)의 동작을 수행함으로써, 프로세서(204)는 콘텐츠 제공자(242 및 246)(또는 임의의 다른 콘텐츠 제공자)가 컴퓨팅 디바이스(202)가 컴퓨팅 디바이스(202)의 인터페이스에서 디스플레이 할 콘텐츠에 대한 요청에서 콘텐츠 제공자(242 및 246)에 전송하는 콘텐츠 선택 목록들에 기초하여 컴퓨팅 디바이스(202)를 식별하는 것을 방지할 수 있다. 일부 구현예에서, 컴퓨팅 디바이스(202)는 콘텐츠 제공자(242 및 246)에게 가장 높은 값을 가진 콘텐츠 선택 목록들의 콘텐츠 선택 목록 식별자들을 제공하면서 그렇게 할 수 있다. 간략한 개요에서, 프로세서(204)는 컴퓨팅 디바이스(202)의 콘텐츠 선택 목록들의 서브세트의 교집합에 있는 고유 디바이스들의 총 수가 임계치를 초과하는지 여부를 표시하는 중개 서버로부터 식별 정보를 수신할 수 있다. 프로세서(204)는 총 수가 임계치를 초과하는 경우 콘텐츠 선택 목록 식별자를 콘텐츠 제공자(242 및 246)에 제공할 수 있다. 고유 디바이스들의 총 수가 임계치를 초과하지 않는 경우, 프로세서(204)는 임계치를 초과하는 고유 디바이스들의 총 수의 교집합으로 콘텐츠 선택 목록의 제2 서브세트를 선택할 수 있다. 프로세서(204)는 콘텐츠에 대한 요청에서 콘텐츠 선택 목록 식별자들의 제2 서브세트를 콘텐츠 제공자(242 및 246)에 제공할 수 있다.
일부 실시예에서, 총 수가 임계치를 초과하지 않는 경우, 프로세서(204)는 콘텐츠 선택 목록의 서브세트의 고유 디바이스의 총 수가 임계치를 초과하도록 하기 위해 중개 서버(222)로부터 추가 콘텐츠 선택 목록 식별자의 식별 정보를 요청할 수 있다. 프로세서(204)는 콘텐츠 서버로부터의 콘텐츠 요청에 추가 콘텐츠 선택 목록의 식별 정보를 포함할 수 있다. 프로세서(204)는 임계치를 초과하는 추가 콘텐츠 선택 목록을 포함하는 콘텐츠 선택 목록들의 서브세트를 갖는 콘텐츠에 대한 요청을 콘텐츠 제공자(242 및 246) 또는 콘텐츠 서버(250)에 송신할 수 있다. 프로세서(204)는 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 목록에 기초하여 콘텐츠 제공자(242 및 246)에 의해 선택된 콘텐츠의 아이템을 수신하고, 컴퓨팅 디바이스(202)의 인터페이스에서 콘텐츠를 디스플레이할 수 있다.
일부 구현예에서, 프로세서(204)는 임계치를 초과하고 가장 높은 값을 갖는 콘텐츠 선택 목록들의 서브세트들을 결정할 수 있다. 프로세서(204)는 각 콘텐츠 선택 목록과 고유하게 연관된 조건에 기초하여 콘텐츠 선택 목록들의 값들을 결정할 수 있다. 일부 구현예에서, 프로세서(204)는 콘텐츠 선택 목록들의 이전 값들에 기초하여 콘텐츠 선택 목록들의 값들을 결정할 수 있다. 프로세서(204)는 콘텐츠 선택 목록들의 값들을 식별하기 위해 기계 학습 모델을 구현할 수 있다. 프로세서(204)는 콘텐츠 선택 목록들의 값들을 결정하기 위해 기계 학습 모델을 사용하는데만 전념하는 텐서 프로세싱 유닛(TPU)과 같은 코-프로세서를 포함하거나 그와 통신할 수 있다.
일부 구현예에서, 브라우저(208)는 브라우저(208)가 콘텐츠 제공자(예를 들어, 콘텐츠 제공자(242 및 246))와 연관된 웹 페이지 및 도메인을 방문할 때 콘텐츠 선택 목록들의 식별 정보를 수집할 수 있다. 브라우저(208)는 컴퓨팅 디바이스로부터 웹 페이지를 검색할 수 있다. 웹 페이지는 웹 페이지 및 콘텐츠 선택 목록과 연관된 콘텐츠 제공자의 식별자를 포함할 수 있다. 브라우저(208)는 일단 브라우저(208)가 웹 페이지를 검색하면 콘텐츠 제공자의 식별자를 식별하고 콘텐츠 선택 목록의 식별 정보를 위한 요청을 콘텐츠 제공자에게 전송할 수 있다. 브라우저(208)는 종종 콘텐츠 제공자로부터 웹 페이지 상의 자바 스크립트를 통해 콘텐츠 제공자로부터 콘텐츠 선택 목록의 요청된 식별 정보를 수신할 수 있다. 일부 구현예에서, 콘텐츠 선택 목록 식별은 컴퓨팅 디바이스(202)에 의해 저장될 수 있다. 브라우저(208)는 임의의 수의 웹 페이지에 대해 이 프로세스를 반복할 수 있고 임의의 수의 콘텐츠 선택 목록의 식별 정보를 저장할 수 있다.
예를 들어, 컴퓨팅 디바이스(202)의 브라우저(208)는 회사 A의 컴퓨팅 디바이스가 소유하고 운영하는 웹 페이지인 www.companyA.com을 방문하거나 검색할 수 있다. 웹 페이지를 방문하면 브라우저(208)는 회사 A를 www.companyA.com을 운영하는 회사로 식별하고 회사 A에 콘텐츠 선택 목록의 식별 요청을 전송한다. 요청은 컴퓨팅 디바이스(202)의 식별자를 포함할 수 있다. 회사 A의 컴퓨팅 디바이스는 요청을 수신하고, 브라우저(208)에 의해 요청된 콘텐츠 선택 식별 정보를 브라우저(208)에 전송할 수 있다. 브라우저(208)는 회사 A와 연관된 콘텐츠 선택 목록 식별 정보를 수신하고 저장할 수 있다.
다른 실시예에서, 웹 페이지를 방문할 때, 브라우저(208)는 웹 페이지로부터 하나 이상의 콘텐츠 선택 목록 식별 정보를 브라우저(208)에 추가하기 위한 요청을 수신할 수 있다. 브라우저(208)는 API를 통해 요청을 수신하고 하나 이상의 콘텐츠 선택 목록 식별 정보를 수집할 수 있다. 브라우저(208)는 하나 이상의 콘텐츠 선택 목록 식별 정보를 저장할 수 있다. 예를 들어, 브라우저(208)는 회사 A가 소유하고 운영하는 웹 페이지인 www.companyA.com을 방문할 수 있다. 웹 페이지를 방문하면 브라우저(208)의 API는 웹 페이지로부터 콘텐츠 선택 목록 식별 정보를 저장하기 위한 요청을 수신할 수 있다. 브라우저(208)는 요청을 수락하고, 콘텐츠 선택 목록 식별 정보를 저장할 수 있다.
목록 식별자(210)는 컴퓨팅 디바이스(202)와 연관된 콘텐츠 선택 목록들의 콘텐츠 선택 목록 식별 정보를 수신하고 식별하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 기타 실행 가능한 로직을 포함할 수 있다. 목록 식별자(210)는 브라우저(208)에 저장된 콘텐츠 선택 목록 식별 정보에 기초하여 콘텐츠 선택 목록들을 식별할 수 있다. 목록 식별자(210)는 임의의 수의 콘텐츠 선택 목록들을 식별할 수 있다. 일부 구현예에서, 목록 식별자(210)는 콘텐츠 선택 목록들을 식별하고, 임의의 수의 콘텐츠 선택 목록들 중에서 충분한 수의 컴퓨팅 디바이스들이 각각의 식별된 콘텐츠 선택 목록과 연관되어 있는지 여부를 결정할 수 있는 중개 서버(222)로부터 메타데이터를 요청할 수 있다.
일부 구현예에서, 목록 식별자(210)는 중개 서버(222)로부터 콘텐츠 선택 목록들의 서브세트의 교집합과 연관된 컴퓨팅 디바이스들의 총 수를 요청할 수 있다. 목록 식별자(210)는 컴퓨팅 디바이스들의 총 수를 수신하고, 각 콘텐츠 선택 목록의 고유 디바이스들의 총 수를 집계하여 집계된 고유 디바이스들의 수를 얻을 수 있다.
중개 서버(222)는 각각의 콘텐츠 선택 목록 또는 콘텐츠 선택 목록의 서브세트와 연관된 고유 디바이스들의 총 수를 집계할 수 있다. 중개 서버(222)는 컴퓨팅 디바이스가 어떤 목록과 연관되는지를 나타내는 컴퓨팅 디바이스로부터 통지를 수신할 때 총 수를 집계할 수 있다. 컴퓨팅 디바이스는 미리 결정된 간격(예를 들어, 매일, 2일마다, 매주 등)으로 중간 서버(222)에 통지를 제공할 수 있다. 중개 서버(222)는 컴퓨팅 디바이스와 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 목록 사이의 연관성을 중개 서버(222)에 알리는 각 컴퓨팅 디바이스에 대한 카운터를 증가시키고 유지할 수 있다. 중개 서버(222)는 콘텐츠 선택 목록들의 서브세트가 관리자에 의해 설정된 미리 결정된 임계치를 초과하기에 충분한 컴퓨팅 디바이스와 연관된 교집합을 포함하는지 여부를 나타내는 식별 정보를 컴퓨팅 디바이스(202)에 송신할 수 있다. 식별 정보는 콘텐츠에 대한 요청을 보내는 컴퓨팅 디바이스가 요청을 할 때 허용 가능한 익명으로 유지될 수 있음을 나타낼 수 있다.
일부 구현예에서, 목록 식별자(210)는 콘텐츠 선택 목록들의 상이한 서브세트와 연관된 고유 디바이스들의 총 수를 집계할 수 있다. 콘텐츠 선택 목록들의 서브세트들은 컴퓨팅 디바이스(202)가 식별 정보를 수신하는 콘텐츠 선택 목록들의 상이한 조합을 포함할 수 있다. 콘텐츠 선택 목록들의 서브세트들은 임의의 수의 조합을 포함할 수 있으며, 임의의 수의 콘텐츠 선택 목록들을 포함할 수 있다. 목록 식별자(210)는 임의의 수의 서브세트들에 대한 고유 디바이스들의 총 수를 집계할 수 있다. 일부 구현예에서, 목록 식별자(210)는 중개 서버(222)로부터 각각의 서브세트의 고유 디바이스들의 총 수를 수신한다.
콘텐츠 선택 목록 식별자들은 브라우저가 구성원인 콘텐츠 선택 목록들을 나타낼 수 있다. 브라우저는 콘텐츠 선택 목록 식별자들을 저장할 수 있다. 콘텐츠 선택 목록 식별자들은 숫자 또는 문자의 문자열(예: 1234, A9985, EFGD, Q9RD4 등)일 수 있으며, 임의의 숫자 또는 문자를 포함할 수 있다. 일부 구현예에서, 콘텐츠 선택 목록 식별자들은 콘텐츠 제공자에 대한 정보를 포함할 수 있다(예를 들어, 식별자는 콘텐츠 제공자의 이름을 인코딩할 수 있다).
목록 선택기(212)는 콘텐츠 서버(250)에 전송할 하나 이상의 콘텐츠 선택 목록 식별 정보를 선택하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 다른 실행 가능한 로직을 포함할 수 있다. 목록 선택기(212)는 목록 식별자(210)에 의해 결정된 바와 같이 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스의 총 수 또는 콘텐츠 선택 목록들의 서브세트의 교집합이 중개 서버(222)로부터 수신된 식별 정보 또는 결정된 컴퓨팅 디바이스의 총 수에 기초하여 미리 결정된 임계치를 초과하는지 여부를 결정할 수 있다. 목록 식별자(210)가 콘텐츠 선택 목록들의 서브세트의 교집합과 연관된 디바이스의 수가 미리 결정된 임계치를 초과하는지 여부를 나타내는 식별에 대한 요청을 중개 서버(222)에 보내는 경우, 목록 선택기(212)는 식별 정보를 식별하고, 식별 정보가 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스의 수 또는 콘텐츠 선택 목록들의 서브세트의 교집합이 미리 결정된 임계치를 초과하는 경우 식별 정보와 연관된 콘텐츠 선택 목록의 목록 또는 콘텐츠 선택 목록의 서브세트를 선택할 수 있다. 일부 구현예에서, 목록 선택기(212)는 요청에 포함된 콘텐츠 선택 목록의 수를 감소시켜, 콘텐츠 선택 목록들 사이의 교집합이 더 많은 컴퓨팅 디바이스와 연관될 수 있다. 일부 구현예에서, 중개 서버(222)는 대부분의 컴퓨팅 디바이스와 연관되고 미리 결정된 임계치를 초과하는 교집합으로 콘텐츠 선택 목록들의 서브세트를 식별하고 식별 정보를 포함하는 표시를 컴퓨팅 디바이스(202)에 송신할 수 있다. 목록 선택기(212)는 대부분의 컴퓨팅 디바이스와 연관된 교집합을 갖는 콘텐츠 선택 목록들의 서브세트를 선택할 수 있다.
일부 구현예에서, 목록 선택기(212)는 목록 선택기(212)가 결정하는 콘텐츠 선택 목록들의 서브세트의 고유 디바이스들의 총 수에 기초하여 콘텐츠 서버(250)에 전송할 콘텐츠 선택 목록을 식별할 수 있다. 목록 선택기(212)는 콘텐츠 선택 목록들의 각 서브세트의 교집합의 고유 디바이스들의 총 수를 미리 결정된 임계치과 비교할 수 있다. 일부 구현예에서, 목록 선택기(212)는 서브세트의 교집합에서 고유 디바이스들의 가장 높은 총 수를 갖고, 콘텐츠 서버(250)에 전송할 임계치를 초과하는 콘텐츠 선택 목록들의 서브세트를 식별할 수 있다. 목록 선택기(212)는 임의의 메트릭 또는 비교에 기초하여 콘텐츠 선택 목록들의 서브세트를 선택할 수 있다. 일부 구현예에서, 목록 선택기(212)는 콘텐츠 선택 목록들의 서브세트의 교집합과 연관된 컴퓨팅 디바이스의 수가 제2 임계치를 초과하는지 여부를 결정할 수 있다. 제2 임계치는 미리 결정된 임계치와 같거나 다른 값과 연관될 수 있다. 목록 선택기(212)는 송신기(220)가 콘텐츠 아이템에 대한 요청을 콘텐츠 서버(250)에 전송하도록 지시하는 신호를 송신기(220)에 전송할 수 있고, 목록 선택기(212)에 의해 선택된 콘텐츠 선택 목록들의 서브세트의 식별 정보를 포함할 수 있다.
일부 구현예에서, 중개 서버(222)는 콘텐츠 선택 목록 식별 정보의 서브세트로부터 콘텐츠 선택 목록 식별 정보를 제거할 수 있다. 결과적으로, 콘텐츠 선택 목록 식별 정보이 제거된 콘텐츠 선택 목록들의 서브세트의 교집합과 연관된 더 많은 디바이스들이 있을 수 있다. 교집합에 더 많은 디바이스들이 있는 경우, 컴퓨팅 디바이스(202)는 수용 가능하게 익명이 될 수 있고, 제거된 콘텐츠 선택 목록 식별 정보없이 콘텐츠 선택 목록 식별 정보의 서브세트를 포함하는 콘텐츠 제공자에게 콘텐츠에 대한 요청을 전송할 수 있다.
송신기(220)는 콘텐츠 서버(250) 및 콘텐츠 제공자(242 및 246)로부터 콘텐츠에 대한 요청을 전송하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 기타 실행 가능한 로직을 포함할 수 있다. 송신기(220)는 또한 콘텐츠 선택 목록들의 메타데이터(예를 들어, 콘텐츠 선택 목록의 고유 디바이스들의 수, 콘텐츠 선택 목록과 연관된 콘텐츠 유형, 콘텐츠 선택 목록들의 컴퓨팅 디바이스들에 관한 특성 등)와 함께 중개 서버(222)로부터 콘텐츠 선택 목록 식별 정보를 요청할 수 있다. 송신기(220)는 또한 콘텐츠 선택 목록들의 교집합이 임계치를 초과하기에 충분한 컴퓨팅 디바이스들과 연관되어 있는지의 식별 정보를 요청할 수 있다. 송신기(220)는 컴퓨팅 디바이스(202)와 컴퓨팅 디바이스(202) 외부의 컴포넌트 사이의 통신에 사용될 수 있다. 송신기(220)는 네트워크(221)를 통해 외부 컴포넌트와 통신할 수 있다.
목록 식별자(210)가 미리 결정된 임계치를 초과하는 콘텐츠 선택 목록들의 서브세트의 교집합에서 고유 식별자들의 총 수를 갖는 컴퓨팅 디바이스(202)와 연관된 콘텐츠 선택 목록들의 서브세트 또는 콘텐츠 선택 목록을 식별하지 않는 경우, 목록 검색기(214)는 컴퓨팅 디바이스(202)와 연관되지 않은 고유 디바이스를 포함하는 콘텐츠 선택 목록의 콘텐츠 선택 목록 식별 정보를 검색할 수 있다. 목록 검색기(214)는 콘텐츠 선택 목록의 선택된 서브세트에 포함시키기 위해 콘텐츠 선택 목록의 추가 콘텐츠 선택 목록 식별 정보를 검색하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴 또는 기타 실행 가능한 로직을 포함하여, 검색된 콘텐츠 선택 목록을 포함하는 콘텐츠 선택 목록들의 서브세트의 고유 디바이스들의 총 수가 임계치를 초과하도록 한다. 목록 검색기(214)는 콘텐츠 선택 목록들의 선택된 서브세트가 임계치를 초과하기에 충분한 디바이스들과 연관되지 않은 경우, 중개 서버(222)로부터 다른 콘텐츠 선택 목록 식별 정보를 요청할 수 있다. 목록 검색기(214)는 요청을 전송할 수 있고, 중개 서버(222)는 식별된 콘텐츠 선택 목록과 서브세트의 콘텐츠 선택 목록들 간의 교집합과 연관된 충분한 컴퓨팅 디바이스들과 연관된 다른 콘텐츠 선택 목록을 식별할 수 있고, 컴퓨팅 디바이스(202)는 콘텐츠 선택 목록 식별 정보를 콘텐츠에 대한 요청과 함께 콘텐츠 제공자에게 제공할 때 수용 가능하게 익명이도록 한다.
일부 실시예에서, 중개 서버(222)가 콘텐츠 선택 목록의 교집합과 연관된 컴퓨팅 디바이스의 총 수를 컴퓨팅 디바이스(202)에 전송하면, 목록 검색기(214)는 선택된 서브세트에 추가될 수 있는 고유 디바이스들의 수를 식별하여, 고유 디바이스들의 총 수가 임계치를 초과한다. 목록 검색기(214)는 적어도 식별된 고유 디바이스들의 수를 갖는 콘텐츠 선택 목록의 콘텐츠 선택 목록 식별에 대한 요청을 중개 서버(222)에 전송할 수 있다. 일부 예에서, 목록 검색기(214)는 컴퓨팅 디바이스(202)의 익명성을 추가로 보호하기 위해 고유 디바이스들의 더 큰 목록에 대한 요청을 포함할 수 있다.
중개 서버(222)는 적어도 요청된 고유 디바이스들의 수를 갖는 콘텐츠 선택 목록을 식별하는 콘텐츠 선택 목록 식별자를 식별하고 컴퓨팅 디바이스(202)에 송신할 수 있다. 목록 검색기(214)는 중개 서버(222)로부터 콘텐츠 선택 목록 식별 정보를 수신하고, 콘텐츠 선택 목록들의 서브세트에 콘텐츠 선택 목록을 포함하는 것이 서브세트의 고유 디바이스들의 총 수가 임계치를 초과하게 하는지를 결정할 수 있다. 총 수가 임계치를 초과하면, 송신기(220)는 목록 검색기(214)에 의해 검색된 콘텐츠 선택 목록을 포함하는 서브세트를 콘텐츠 서버(250)에 송신할 수 있다. 총 수가 임계치를 초과하지 않으면, 목록 검색기(214)는 다른 콘텐츠 선택 목록 식별 정보를 요청할 수 있고, 고유 디바이스들의 총 수가 임계치를 초과할 때까지 프로세스를 반복할 수 있다. 컴퓨팅 디바이스(202)의 익명성을 보존하는 것을 돕기 위해, 중개 서버(222)는 목록 선택기(212)가 선택한 서브세트의 콘텐츠 선택 목록의 전부 또는 일부와 연관된 컴퓨팅 디바이스(202)의 고유 디바이스들을 포함할 수 있다. 각 서브세트에 공통된 고유 디바이스가 더 많으면, 콘텐츠 제공자가 콘텐츠 선택 목록들에 기초하여 특정 컴퓨팅 디바이스를 식별하는 것이 더 어려울 수 있다.
일부 구현예에서, 콘텐츠 서버(250) 또는 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(202)가 콘텐츠 서버(250)에 전송하는 콘텐츠 선택 목록 식별 정보에 기초하여 컴퓨팅 디바이스(202)에 콘텐츠를 제공할 수 있다. 각 콘텐츠 선택 목록은 콘텐츠 유형(예: 스포츠, 음악, 소매점, 유명 인사, 스포츠 팀 등) 및/또는 특정 콘텐츠 제공자와 연관될 수 있다. 각 콘텐츠 선택 목록은 태그가 지정되거나 콘텐츠 선택 목록이 연관된 콘텐츠 유형을 나타내는 메타데이터를 가질 수 있다. 콘텐츠 서버(250)는 컴퓨팅 디바이스(202)로부터 콘텐츠 선택 목록 식별 정보를 수신하고, 콘텐츠 선택 목록의 콘텐츠 유형 태그 또는 메타데이터를 식별함으로써 콘텐츠 선택 목록과 연관된 콘텐츠를 결정할 수 있다. 콘텐츠 선택 목록은 또한 콘텐츠 선택 목록과 연관된 메타데이터 또는 콘텐츠 선택 목록과 연관된 콘텐츠 유형을 나타내는 콘텐츠 선택 목록의 식별 정보에 기초하여 콘텐츠 유형과 연관될 수 있다. 콘텐츠 서버(250)는 컴퓨팅 디바이스(202)로부터 송신된 각 콘텐츠 선택 목록과 연관된 콘텐츠의 유형을 식별하고, 콘텐츠 제공자(242 및 246)에게 콘텐츠의 유형을 표시할 수 있다. 일부 구현예에서, 콘텐츠 제공자(242 및 246)는 콘텐츠 선택 목록 식별 정보의 콘텐츠 유형을 식별할 수 있다. 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(202)에 의해 콘텐츠 서버(250)에 송신된 콘텐츠 선택 목록들 중 적어도 하나와 연관된 콘텐츠의 유형과 관련된 콘텐츠를 제공할 수 있다.
일부 예에서, 컴퓨팅 디바이스(202)는 목록 검색기(214)에 의해 검색된 콘텐츠 선택 목록 식별에 기초하여 선택된 콘텐츠 제공자(242 또는 246)로부터 콘텐츠를 수신할 수 있다(즉, 컴퓨팅 디바이스(202)가 연관되지 않은 콘텐츠 선택 목록과 관련된 콘텐츠). 브라우저(208)는 콘텐츠를 수신하고, 콘텐츠의 유형이 컴퓨팅 디바이스(202)의 고유 디바이스를 포함하는 콘텐츠 선택 목록과 연관되는지 여부를 결정할 수 있다. 브라우저(208)는 상기 콘텐츠를 콘텐츠 제공자(예를 들어, 콘텐츠 제공자(242 및 246))로부터 송신된 콘텐츠의 상이한 유형의 콘텐츠를 식별하는 컴퓨팅 디바이스(202) 또는 중개 서버(222)의 데이터베이스 내의 콘텐츠와 비교함으로써 콘텐츠의 유형을 식별할 수 있다. 브라우저(208)는 수신된 콘텐츠가 어떤 콘텐츠 선택 목록과 연관되는지를 결정하기 위해 콘텐츠의 유형을 콘텐츠 선택 목록과 연관된 콘텐츠의 유형과 비교할 수 있다. 결과적으로, 브라우저(208)는 컴퓨팅 디바이스가 연관되지 않은 콘텐츠 선택 목록에 기초하여 콘텐츠가 제공되었는지 여부를 결정할 수 있다.
일부 구현예에서, 콘텐츠 서버(250)는 콘텐츠가 연관된 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 목록을 나타내는 태그를 상기 콘텐츠에 태그할 수 있다. 콘텐츠 제공자(242 또는 246)는 콘텐츠 서버(250)에 의해 수신된 콘텐츠 선택 목록에 기초하여 콘텐츠를 제공할 수 있고, 콘텐츠 서버(250)는 어떤 콘텐츠 선택 목록이 제공된 콘텐츠와 연관되는지를 표시하기 위해 상기 콘텐츠에 태그할 수 있다. 브라우저(208)는 콘텐츠를 수신하고, 제공된 콘텐츠가 상기 태그에 기초하여 선택된 콘텐츠 선택 목록을 결정할 수 있다.
일부 구현예에서, 브라우저(208)는 콘텐츠가 어떤 콘텐츠 선택 목록에 기초하여 선택되었는지에 기초하여, 콘텐츠 서버(250)로부터 수신된 컴퓨팅 디바이스(202)의 사용자 인터페이스에서 콘텐츠를 디스플레이할지 여부를 결정할 수 있다. 일부 구현예에서, 브라우저(208)는 선택된 서브세트가 제1 또는 제2 임계치를 초과하는 고유 디바이스의 총 수를 갖지 않기 때문에, 목록 검색기(214)에 의해 검색된 콘텐츠 선택 목록에 기초하여 선택되었던 임의의 콘텐츠를 폐기할 수 있다. 브라우저(208)는 컴퓨팅 디바이스(202)와 연관된 콘텐츠 선택 목록들과 연관된 임의의 콘텐츠를 디스플레이할 수 있다.
일부 구현예에서, 컴퓨팅 디바이스(202)는 요청에 컴퓨팅 디바이스(202)의 식별자를 포함하지 않고, 콘텐츠에 대한 요청을 콘텐츠 서버(250)에 송신할 수 있다. 컴퓨팅 디바이스(202)는 콘텐츠에 대한 요청을 전송할 수 있고, 컴퓨팅 디바이스(202)가 요청에서 연관된 콘텐츠 선택 목록들의 식별 정보를 포함할 수 있다. 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(202)가 콘텐츠 서버(250)에 송신하는 콘텐츠 선택 목록에 기초하여 컴퓨팅 디바이스(202)에 전송할 콘텐츠를 선택하고 제공할 수 있다. 유리하게는, 콘텐츠 선택 목록 식별 정보를 콘텐츠 제공자에게 제공함으로써, 콘텐츠 제공자는 관련 콘텐츠(예를 들어, 컴퓨팅 디바이스(202)가 과거에 본 콘텐츠와 유사한 콘텐츠)를 식별하여 컴퓨팅 디바이스(202)에 송신할 수 있다. 콘텐츠 제공자(242 및 246)는 컴퓨팅 디바이스(202)가 일반적으로 보는 콘텐츠와 연관된 콘텐츠 선택 목록들에 기초하여, 컴퓨팅 디바이스(202)에 송신할 콘텐츠를 선택할 수 있다. 컴퓨팅 디바이스(202)는 콘텐츠 요청에서 고유 디바이스 식별자를 송신하지 않고 콘텐츠 요청에 포함된 콘텐츠 선택 목록들의 교집합이 충분히 많은 수의 컴퓨팅 디바이스가 있으므로, 컴퓨팅 디바이스(202)는 콘텐츠 제공자(242 및 246)에게 수용 가능하게 익명으로 유지하면서 관련 콘텐츠를 요청하고 수신할 수 있다.
여전히 도 2를 참조하면, 브라우저(208)는 일부 구현예에서 애플리케이션(218)을 포함하는 것으로 도시된다. 애플리케이션(218)은 콘텐츠 선택 목록들의 식별들과 연관된 콘텐츠 선택 값을 결정하기 위한 애플리케이션, 서버, 서비스, 데몬, 루틴, 또는 다른 실행 가능한 로직을 포함할 수 있다. 콘텐츠 선택 값은 콘텐츠 제공자(242)가 컴퓨팅 디바이스(202)에 제공되는 콘텐츠와 연관시킬 수 있는 콘텐츠 선택 목록의 예상 값에 대응할 수 있다. 콘텐츠 선택 목록들은 콘텐츠 선택 목록들과 연관된 콘텐츠 유형에 기초하여 고유 콘텐츠 선택 값과 연관될 수 있다. 일부 구현예에서, 콘텐츠 선택 목록들의 콘텐츠 선택 값들은 현재 조건 값과 연관될 수 있다. 조건의 현재 값은 조건 분석기(216)에 의해 결정될 수 있다.
브라우저(208)는 일부 구현예에서 조건 분석기(216)를 포함하는 것으로 도시된다. 조건 분석기(216)는 콘텐츠 선택 목록과 연관된 조건의 값을 결정하기 위해 애플리케이션, 서버, 서비스, 데몬, 루틴, 또는 다른 실행 가능한 로직을 포함할 수 있다. 조건은 콘텐츠 선택 목록과 연관된 서드파티에 의해 설정될 수 있으며 콘텐츠 선택 목록의 메타데이터의 일부가 될 수 있다. 일부 구현예에서, 조건 분석기(216)는 목록 식별자(210)에 의해 식별된 콘텐츠 선택 목록의 메타데이터를 분석할 수 있다. 조건 분석기(216)는 콘텐츠 선택 목록과 연관된 조건을 나타내는 키워드를 식별함으로써 자연어 프로세싱 기법을 사용하여 조건을 식별할 수 있다. 현재 조건 값은 콘텐츠 제공자(242 및 246)로부터 콘텐츠를 요청할 때 브라우저(208)가 있는 상황(예를 들어, 현재 어느 웹 페이지 브라우저(208)이 켜져 있는지, 현재 시간 등)에 기초할 수 있다. 콘텐츠 선택 목록은 다수의 조건과 연관될 수 있다. 예를 들어, 콘텐츠 선택 목록은 다음을 포함하는 조건들과 연관될 수 있다: "사용자가 현재 www.companyB.com에 있고, 콘텐츠 선택 목록이 현재 조건 값 5를 가짐", "사용자가 현재 www.companyB.com/example에 있고, 콘텐츠 선택 목록이 현재 조건 값 6을 가짐", "사용자가 현재 www.companyB.com/example에 있고 현재 현지 시간이 오후 9시와 오후 6시 사이이고, 콘텐츠 선택 목록이 현재 조건 값 7을 가짐" 그리고 "이러한 조건들이 만족되지 않는 경우, 콘텐츠 선택 목록은 현재 조건 값 0을 가짐". 콘텐츠 선택 목록은 임의의 유형의 데이터와 연관된 임의이 수의 조건을 가질 수 있다. 조건 분석기(216)는 임의의 수의 콘텐츠 선택 목록들에 대한 조건을 식별하고, 각 조건에 대한 현재 조건 값들을 결정할 수 있다. 일부 구현예에서, 조건 분석기(216)는 미리 결정된 임계치를 초과하는 고유 디바이스들의 수를 갖는 콘텐츠 선택 목록의 서브세트의 일부인 콘텐츠 선택 목록의 현재 조건 값을 결정할 수 있다.
일부 구현예에서, 애플리케이션(218)은 각각의 콘텐츠 선택 목록과 연관된 조건의 현재 값에 기초하여 콘텐츠 선택 목록들의 콘텐츠 선택 값들을 결정할 수 있다. 조건 분석기(216)는 각 콘텐츠 선택 목록에 대한 조건 값을 식별 및 결정할 수 있으며, 각 콘텐츠 선택 목록의 현재 조건 값을 나타내는 신호를 애플리케이션(218)에 송신할 수 있다. 애플리케이션(218)은 현재 조건 값을 수신하고, 콘텐츠 선택 목록들의 콘텐츠 선택 값을 대응하는 현재 조건 값으로 설정할 수 있다. 예를 들어, 콘텐츠 선택 목록이 조건 분석기(216)에 의해 현재 조건 값이 4인 것으로 결정되면, 애플리케이션(218)은 콘텐츠 선택 목록의 콘텐츠 선택 값을 4로 설정할 수 있다. 애플리케이션(218)은 목록 식별자(210)에 의해 식별된 각 콘텐츠 선택 목록의 콘텐츠 선택 값을 결정할 수 있다. 일부 구현예에서, 애플리케이션(218)은 목록 선택기(212)에 의해 결정된 콘텐츠 선택 목록의 콘텐츠 선택 값이 미리 결정된 임계치를 초과한다고 결정할 수 있다. 애플리케이션(218)은 서브세트의 콘텐츠 선택 값의 조합을 획득하기 위해 콘텐츠 선택 목록들의 서브세트의 각 콘텐츠 선택 목록의 콘텐츠 선택 값을 집계할 수 있다. 애플리케이션(218)은 콘텐츠 선택 목록들의 임의의 서브세트의 콘텐츠 선택 값을 집계할 수 있다.
일부 구현예에서, 콘텐츠 선택 목록들 및 콘텐츠 선택 목록의 서브세트에 대한 콘텐츠 선택 값을 결정하기 위해, 애플리케이션(218)은 기계 학습 모델을 구현할 수 있다. 기계 학습 모델은 콘텐츠 선택 목록들의 서브세트의 각 콘텐츠 선택 목록의 콘텐츠 선택 값과 콘텐츠 제공자가 각 콘텐츠 선택에 대해 콘텐츠를 선택할 가능성에 기초하여 콘텐츠 선택 목록들의 서브세트에 대한 가장 높은 콘텐츠 선택 값을 나타낼 수 있다. 기계 학습 모델은 일부 구현예에서 신경 네트워크, 지원 벡터 기계, 랜덤 포레스트 등일 수 있다. 기계 학습 모델로의 신호는 브라우저(208)가 애플리케이션(218)의 기계 학습 모델에 입력할 수 있는 컨텍스트 정보를 포함할 수 있다. 컨텍스트 정보는 브라우저의 현재 웹 페이지, 현재 웹 페이지 버티칼, 시간, 요일, 컴퓨팅 디바이스의 언어 설정, 컴퓨팅 디바이스(202)의 위치(예: 국가, 지방/주, 대도시 지역 등) 등을 포함하지만 이에 한정되지 않는다. 신호는 동일하거나 유사한 콘텐츠 선택 목록들 및/또는 콘텐츠 선택 목록들의 서브세트의 값들 및 상기 기술된 바와 같이 결정된 콘텐츠 선택 목록들의 현재 조건 값의 이전 평가를 포함할 수 있다. 애플리케이션(218)은 각각의 콘텐츠 선택 목록과 연관된 콘텐츠 선택 값을 결정하기 위해 이러한 입력 각각을 기계 학습 모델에 입력할 수 있다. 일부 구현예에서, 컨텍스트 정보는 최고 강도 신호와 연관될 수 있고, 콘텐츠 선택 값의 이전 평가로부터의 피드백은 다음으로 높은 강도 신호와 연관되고, 현재 상태 값 신호는 최저 강도 신호와 연관될 수 있다. 각 신호는 임의의 강도를 가질 수 있다.
유리하게는, 콘텐츠 선택 목록 및/또는 콘텐츠 선택 목록의 서브세트의 예측된 콘텐츠 선택 값을 결정하기 위해 기계 학습 모델을 구현함으로써, 애플리케이션(218)은 각 콘텐츠 선택 목록의 콘텐츠 선택 값을 결정하기 위한 힌트로서 각 콘텐츠 선택 목록의 현재 조건 값을 사용할 수 있다. 이는 서드파티들이 각 콘텐츠 선택 목록의 조건을 설정할 수 있고, 자신과 연관된 콘텐츠 선택 목록을 과대 평가하기 위해 인센티브를 받을 수 있고, 다른 콘텐츠 제공자가 과대 평가된 콘텐츠 선택 목록에 기초하여 콘텐츠를 제공하지 않도록 할 수 있기 때문에 이점이 있다. 기계 학습 모델은 콘텐츠 선택 목록의 현재 조건 값을 서드파티의 제어를 벗어난 콘텐츠 선택 목록의 양태와 관련된 다른 신호와 함께 신호로 사용할 수 있기 때문에(예: 컨텍스트 정보 및 콘텐츠 선택 목록에 기초하여 제공된 이전 콘텐츠의 정보), 기계 학습 모델은 각 콘텐츠 선택 목록 및 콘텐츠 선택 목록의 서브세트에 대해 보다 정확한 콘텐츠 선택 값을 식별할 수 있다.
일부 구현예에서, 목록 선택기(212)는 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 값의 조합에 기초하여 식별자를 콘텐츠 서버(250)에 전송하기 위해 콘텐츠 선택 목록의 서브세트를 선택할 수 있다. 목록 선택기(212)는 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 값의 조합을 수신하고, 콘텐츠 선택 값의 조합을 비교할 수 있다. 일부 구현예에서, 목록 선택기(212)는 미리 결정된 임계치를 초과하는 고유 디바이스의 총 수를 갖는 콘텐츠 선택 목록들의 서브세트의 콘텐츠 선택 값의 조합을 비교할 수 있다. 목록 선택기(212)는 콘텐츠 선택 값의 다른 조합보다 높은 콘텐츠 선택 값의 조합으로 콘텐츠 선택 목록의 서브세트를 식별하고, 콘텐츠에 대한 요청과 함께 콘텐츠 선택 목록들의 서브세트를 콘텐츠 서버(250)에 전송할 수 있다.
유리하게는, 콘텐츠 선택 값의 가장 높은 조합을 갖는 콘텐츠 선택 목록들의 서브세트를 선택함으로써, 목록 선택기(212)는 콘텐츠 서버(250)가 가장 높은 값의 콘텐츠 선택 목록을 콘텐츠 제공자에게 제공하게 할 수 있다. 결과적으로, 콘텐츠 서버(250)는 콘텐츠 제공자가 낮은 값과 연관될 수 있는 콘텐츠 선택 목록 또는 콘텐츠 선택 목록의 서브세트를 콘텐츠 제공자(242 및 246)에 제공하는 것을 피할 수 있다. 가장 높은 콘텐츠 선택 값을 갖는 콘텐츠 선택 목록들의 서브세트를 콘텐츠 서버(250) 및 콘텐츠 제공자(242 및 246)에 제공함으로써, 컴퓨팅 디바이스(202)는 콘텐츠 제공자(242 및 246)가 콘텐츠 선택 목록들의 서브세트에 기초하여 요청시 컴퓨팅 디바이스(202)에 제공되는 콘텐츠와 높은 값을 연관시킬 것을 보장할 수 있다.
이제 도 3을 참조하면, 일부 구현예에 따라, 컴퓨팅 디바이스가 익명으로 유지되는 동안 콘텐츠 제공자가 컴퓨팅 디바이스에 콘텐츠를 제공하기에 콘텐츠 선택 목록들의 고유 디바이스가 충분한지 여부를 결정하기 위한 방법(300)의 흐름도가 도시되어 있다. 방법(300)은 임의의 수의 동작을 포함할 수 있다. 동작들은 임의의 순서로 수행될 수 있다. 방법(300)은 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(202)) 또는 서버(예를 들어, 중개 서버(222))에 의해 수행될 수 있다. 동작(302)에서, 컴퓨팅 디바이스는 콘텐츠 선택 목록들의 복수의 식별 정보를 수집할 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스가 컴퓨팅 디바이스의 브라우저를 통해 웹 페이지를 방문할 때 콘텐츠 제공자로부터 콘텐츠 선택 목록들의 복수의 식별 정보를 수집할 수 있다. 식별 정보는 각 콘텐츠 선택 목록의 고유 디바이스의 수, 각 콘텐츠 선택 목록의 콘텐츠 유형 및 콘텐츠 선택 목록과 연관된 콘텐츠 제공자를 포함하지만 이에 한정되지 않는 콘텐츠 선택 목록들에 대한 정보를 포함할 수 있다.
동작(304)에서, 서버는 각 콘텐츠 선택 목록의 고유 디바이스의 총 수를 결정하고 각 콘텐츠 선택 목록의 고유 디바이스의 총 수를 컴퓨팅 디바이스(202)에 전송할 수 있다. 서버는 콘텐츠 선택 목록들의 서브세트의 모든 조합에서 고유 디바이스들의 총 수를 결정하고, 결정된 총 수를 컴퓨팅 디바이스에 전송할 수 있다. 서버는 각 콘텐츠 선택 목록에서 컴퓨팅 디바이스의 수를 집계하여 서브세트의 조합과 연관된 고유 디바이스의 총 수를 결정할 수 있다. 컴퓨팅 디바이스는 각 서브세트에 대한 총 수를 수신할 수 있다.
동작(306)에서, 컴퓨팅 디바이스는 복수의 콘텐츠 선택 목록들의 제1 서브세트를 선택할 수 있다. 컴퓨팅 디바이스는 서브세트의 교집합에 있는 고유 디바이스의 수에 기초하여 제1 서브세트를 선택할 수 있다. 컴퓨팅 디바이스는 가장 많은 수의 고유 디바이스들을 포함하는 서브세트를 선택할 수 있다. 동작(308)에서, 컴퓨팅 디바이스는 고유 디바이스들의 총 수가 미리 결정된 임계치를 초과하는지 여부를 결정할 수 있다. 미리 결정된 임계치는 시스템 관리자 또는 사용자에 의해 설정될 수 있다. 미리 결정된 임계치는 콘텐츠 선택 목록을 식별하고 각 콘텐츠 선택 목록에 있는 고유 디바이스의 교집합에 기초하여 개별 디바이스를 식별하려고 시도하는 콘텐츠 제공자로부터 컴퓨팅 디바이스를 익명(또는 허용 가능한 익명, 예를 들어 요청된 콘텐츠 선택 목록 또는 목록의 교집합과 일치하는 충분한 수의 다른 디바이스)을 유지하는 고유 디바이스의 수를 나타낼 수 있다.
일부 구현예에서, 서버는 콘텐츠 선택 목록의 제1 서브세트가 콘텐츠에 대한 요청을 전송할 때 컴퓨팅 디바이스가 수용 가능하게 익명으로 유지되도록 임계치를 초과하는지 여부를 나타내는 식별 정보를 컴퓨팅 디바이스에 전송할 수 있다. 컴퓨팅 디바이스는 콘텐츠 선택 목록 식별 정보의 제1 서브세트를 중개 서버로 전송할 수 있고, 중개 서버는 콘텐츠 선택 목록의 서브세트가 컴퓨팅 디바이스가 수용 가능하게 익명이 되기에 충분한 컴퓨팅 디바이스와 연관되어 있는지 여부를 나타내는 식별 정보를 전송할 수 있다. 컴퓨팅 디바이스는 식별 정보를 수신하고, 식별 정보에 기초하여 콘텐츠에 대한 요청에서 콘텐츠 선택 목록 식별 정보를 콘텐츠 제공자에게 제공할지 여부를 결정할 수 있다.
동작(310)에서, 컴퓨팅 디바이스의 서브세트의 고유 디바이스의 총 수가 임계치를 초과한다고 결정한 컴퓨팅 디바이스 또는 중개 서버에 응답하여, 컴퓨팅 디바이스는 콘텐츠 아이템에 대한 요청을 콘텐츠 서버 또는 콘텐츠 제공자에게 전송할 수 있다. 요청은 미리 결정된 임계치를 초과하는 고유 디바이스의 총 수를 갖는 것으로 결정된 콘텐츠 선택 목록의 서브세트를 포함할 수 있다. 동작(312)에서, 컴퓨팅 디바이스는 콘텐츠 제공자로부터 콘텐츠의 제1 아이템을 수신할 수 있다. 콘텐츠의 제1 아이템은 콘텐츠 선택 목록의 서브세트에 기초하여 제공될 수 있다.
동작(314)에서, 고유 디바이스의 총 수가 임계치를 초과하지 않는다고 결정하는 컴퓨팅 디바이스 또는 중개 서버에 응답하여, 컴퓨팅 디바이스는 콘텐츠에 대한 요청에 추가 콘텐츠 선택 목록의 식별 정보를 포함할 수 있다. 컴퓨팅 디바이스는 콘텐츠 선택 목록을 저장할 수 있는 서버로부터 콘텐츠 선택 목록 식별 정보를 요청할 수 있다. 서버가 제공하는 콘텐츠 선택 목록은 콘텐츠 선택 목록의 교집합과 연관된 디바이스의 수를 미리 결정된 임계치 이상의 숫자로 증가시킬 수 있다.
일부 실시예에서, 컴퓨팅 디바이스는 임계치를 초과하는데 필요한 고유 디바이스의 수를 결정하고, 고유 디바이스의 결정된 수를 포함하여 하나 이상의 콘텐츠 선택 목록을 요청할 수 있다. 서버는 결정된 수의 콘텐츠 선택 목록으로 콘텐츠 선택 목록을 식별하고 식별 정보를 컴퓨팅 디바이스에 전송할 수 있다. 컴퓨팅 디바이스는 콘텐츠 선택 목록의 제1 서브세트 및 추가 콘텐츠 선택 목록을 포함하는 콘텐츠에 대한 요청을 콘텐츠 서버에 전송할 수 있다. 일부 경우에, 컴퓨팅 디바이스는 필요한 고유 디바이스의 수를 식별하도록 서버에 요청할 수 있다.
동작(316)에서, 컴퓨팅 디바이스는 콘텐츠의 제1 아이템을 수신하고, 콘텐츠의 아이템이 추가 콘텐츠 선택 목록에 기초하여 선택되었는지 여부를 결정할 수 있다. 컴퓨팅 디바이스는 콘텐츠의 메타데이터를 분석하여 콘텐츠가 선택된 콘텐츠 선택 목록을 결정할 수 있다. 메타데이터는 콘텐츠가 선택된 콘텐츠 선택 목록의 식별 정보를 포함할 수 있다. 컴퓨팅 디바이스는 또한 콘텐츠 유형(예: 스포츠, 음악, 회사, 팀, 소매점, 비디오, 이미지, 오디오, 텍스트, 멀티미디어, 뉴스, 코미디, 소셜 미디어 등)을 데이터 요청과 함께 전송된 콘텐츠 선택 목록과 비교하여, 콘텐츠가 선택된 콘텐츠 선택 목록을 결정할 수 있다. 컴퓨팅 디바이스가 컴퓨팅 디바이스를 익명으로 유지하기 위해 추가되었던 콘텐츠 선택 목록에 기초하여 콘텐츠가 선택되었고 컴퓨팅 디바이스가 연관되지 않았다고 결정하면, 컴퓨팅 디바이스는 동작(318)에서 콘텐츠를 폐기할 수 있다. 컴퓨팅 디바이스가 컴퓨팅 디바이스가 연관된 콘텐츠 선택 목록에 기초하여 콘텐츠가 선택되었다고 결정하면, 동작(320)에서 컴퓨팅 디바이스는 콘텐츠를 디스플레이할 수 있다.
이제 도 4를 참조하면, 일부 구현예에 따라, 서브세트의 콘텐츠 선택 값에 기초하여 콘텐츠 선택 목록의 서브세트를 선택하고, 선택된 서브세트에 기초하여 콘텐츠의 아이템을 수신하기 위한 방법(400)의 흐름도가 도시된다. 방법(400)은 임의의 수의 동작을 포함할 수 있다. 동작들은 임의의 순서로 수행될 수 있다. 방법(400)은 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(202)) 또는 서버(예를 들어, 중개 서버(222))에 의해 수행될 수 있다. 동작(402 및 404)는 도 3을 참조하여 도시되고 설명된 동작(302 및 304)와 유사할 수 있다. 동작(308)과 유사할 수 있는 동작(406)에서, 컴퓨팅 디바이스는 서버의 도움을 받아 컴퓨팅 디바이스들의 서브세트의 고유 디바이스들의 총 수가 미리 결정된 임계치를 초과하는지 여부를 결정할 수 있다. 서버는 콘텐츠 선택 목록들의 다수의 서브세트와 연관된 고유 디바이스들(서버로부터 수신되거나 컴퓨팅 디바이스에 의해 식별됨)의 총 수를 미리 결정된 임계치과 비교할 수 있다. 서버는 컴퓨팅 디바이스가 콘텐츠에 대한 요청에서 수용 가능하게 익명으로 유지될 수 있도록 콘텐츠 선택 목록과 연관된 컴퓨팅 디바이스가 충분한지 여부를 나타내는 식별 정보를 컴퓨팅 디바이스에 전송할 수 있다. 컴퓨팅 디바이스는 미리 결정된 임계치를 초과하는 콘텐츠 선택 목록의 각 서브세트를 식별할 수 있다. 임계치를 초과하는 총 수를 가진 서브세트가 없는 경우, 컴퓨팅 디바이스는 콘텐츠 선택 목록의 더 많은 식별 정보를 수신하기 위해 동작(402)로 돌아갈 수 있다.
동작(408)에서, 컴퓨팅 디바이스는 각 콘텐츠 선택 목록에 대한 조건의 현재 값을 결정할 수 있다. 일부 구현예에서, 컴퓨팅 디바이스는 임계치를 초과하는 고유 디바이스들의 총 수를 갖는 콘텐츠 선택 목록들의 서브세트의 일부인 콘텐츠 선택 목록들에 대한 조건의 현재 값을 결정할 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스의 브라우저가 콘텐츠를 요청하는 컨텍스트에 기초하여 현재 조건 값을 결정할 수 있다. 예를 들어, 브라우저가 특정 웹 페이지를 보거나 특정 시간에 요청하는 동안 콘텐츠를 요청하는 경우 조건이 충족될 수 있다. 콘텐츠 선택 목록의 현재 조건 값은 충족되는 조건에 따라 콘텐츠 선택 목록과 연관될 수 있다. 조건은 각 콘텐츠 선택 목록과 연관된 서드파티에 의해 할당할 수 있다. 조건은 각 콘텐츠 선택 목록에 특정적일 수 있다.
동작(410)에서, 컴퓨팅 디바이스는 콘텐츠 선택 목록의 각각의 서브세트의 콘텐츠 선택 값을 결정할 수 있다. 컴퓨팅 디바이스는 콘텐츠 선택 목록의 서브세트의 현재 조건 값에 기초하여 콘텐츠 선택 값을 결정할 수 있다. 일부 구현예에서, 컴퓨팅 디바이스는 콘텐츠 선택 목록의 서브세트의 콘텐츠 선택 값을 결정하기 위해 기계 학습 모델을 구현할 수 있다. 기계 학습 모델은 요청을 하는 브라우저의 컨텍스트(예: 현재 웹 페이지 또는 도메인, 콘텐츠 선택 목록의 이전 값, 콘텐츠 선택 목록의 현재 값 등)를 입력으로 사용할 수 있다. 기계 학습 모델은 콘텐츠 선택 목록의 예측된 값 및 입력에 기초하여 콘텐츠 선택 목록들의 각 서브세트가 선택될 가능성을 표시하는 출력을 생성할 수 있다.
동작(412)에서, 컴퓨팅 디바이스는 가장 높은 콘텐츠 선택 값 및/또는 콘텐츠 제공자에 의해 선택될 가능성을 갖는 것으로 결정된 콘텐츠 선택 목록들의 서브세트를 선택하여 그에 기초한 콘텐츠를 제공할 수 있다. 컴퓨팅 디바이스는 콘텐츠 선택 목록들의 각 서브세트에 대한 콘텐츠 선택 값 및 가능성을 결정하고, 콘텐츠 선택 값 및 가능성을 비교하여 콘텐츠 선택 값들의 어느 서브세트가 가장 높은지를 결정할 수 있다. 컴퓨팅 디바이스는 가장 높은 콘텐츠 선택 값을 가진 서브세트를 선택할 수 있다. 동작(414)에서, 컴퓨팅 디바이스는 가장 높은 콘텐츠 선택 값을 갖는 콘텐츠 선택 목록들의 서브세트를 콘텐츠에 대한 요청과 함께 콘텐츠 서버 또는 콘텐츠 제공자에 전송할 수 있다. 동작(416)에서, 컴퓨팅 디바이스는 콘텐츠 선택 목록들의 선택된 서브세트에 기초하여 콘텐츠 서버에 의해 선택된 콘텐츠의 제1 아이템을 수신할 수 있다.
유리하게는, 콘텐츠 서버로부터 떨어진 서버 또는 컴퓨팅 디바이스에 콘텐츠 선택 목록들을 저장함으로써, 콘텐츠 제공자로부터 콘텐츠를 요청하는 컴퓨팅 디바이스는 콘텐츠 제공자로부터 관련 콘텐츠를 수신하는 동안 익명으로 유지될 수 있다. 컴퓨팅 디바이스는 콘텐츠를 요청할 때 콘텐츠 서버로 보낼 콘텐츠 선택 목록을 제어할 수 있으므로, 콘텐츠 제공자가 요청하는 컴퓨팅 디바이스를 식별하지 못할 수 있는 콘텐츠 선택 목록들의 교집합에 충분한 고유 디바이스가 있도록 보장할 수 있다. 요청하는 컴퓨팅 디바이스는 컴퓨팅 디바이스가 콘텐츠에 대한 요청과 함께 전송하는 콘텐츠 선택 목록들과 연관될 수 있으므로, 콘텐츠 제공자는 컴퓨팅 디바이스가 이전에 본 콘텐츠와 관련된 콘텐츠를 제공할 수 있다. 또한, 컴퓨팅 디바이스는 컴퓨팅 디바이스가 보내는 콘텐츠 선택 목록들이 가장 높은 콘텐츠 선택 값과 연관되어, 콘텐츠 제공자가 콘텐츠 선택 목록에 기초하여 컴퓨팅 디바이스에 제공되는 콘텐츠와 높은 값을 연관시킬 수 있도록 보장할 수 있다.
본 발명의 구현예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 구현예들은 하나 이상의 컴퓨터 프로그램들 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 하나 이상의 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다. 따라서, 컴퓨터 저장 매체는 유형적일 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "클라이언트" 또는 "서버"는 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 구현예들은 디스플레이 디바이스 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display), OLED(organic light emitting diode), TFT(thin-film transistor), 플라즈마, 기타 플렉시블 구성 또는 사용자에게 정보를 디스플레이하기 위한 임의의 기타 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드, 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼 등 또는 터치 스크린, 터치 패드 등을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다; 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써; 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 컴퓨팅 디바이스 상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 구현예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함할 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 구현예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 구현예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 구현예에서 조합하여 구현될 수 있다. 반대로, 단일 구현예의 맥락에서 기술된 다양한 구성들은 또한 다수의 구현예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 구현예에서 다양한 시스템 컴포넌트들의 분리는 모든 구현예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 구현예들이 기술되었다. 다른 구현예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹 또는 병렬 프로세싱이 활용될 수 있다.

Claims (20)

  1. 클라이언트-사이드 익명화된 콘텐츠 선택을 위한 방법으로서,
    컴퓨팅 디바이스에 의해, 콘텐츠 선택 목록들의 복수의 식별 정보를 수신하는 단계, 각각의 콘텐츠 선택 목록은 상기 컴퓨팅 디바이스와 연관되며;
    상기 컴퓨팅 디바이스에 의해, 제1 서브세트의 복수의 콘텐츠 선택 목록들의 교집합과 연관된 고유 디바이스들의 총 수가 임계치를 초과함에 응답하여, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하는 단계;
    상기 컴퓨팅 디바이스에 의해, 콘텐츠 아이템에 대한 요청을 콘텐츠 서버에 전송하는 단계, 상기 요청은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들의 식별 정보를 포함하며; 및
    상기 컴퓨팅 디바이스에 의해, 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들에 기초하여, 상기 콘텐츠 서버에 의해 선택된 제1 콘텐츠 아이템을 수신하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 콘텐츠 선택 목록들의 복수의 식별 정보를 수집하는 단계는:
    상기 컴퓨팅 디바이스에 의해, 웹페이지의 검색 또는 웹페이지와의 사용자 인터렉션에 응답하여, 콘텐츠 제공자로부터 상기 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록의 제1 식별 정보를 수신하는 단계를 더 포함하는, 방법.
  3. 청구항 1에 있어서, 콘텐츠 선택 목록들의 복수의 서브세트들 각각에 대해, 상기 컴퓨팅 디바이스에 의해, 디바이스 식별자 관리자로부터, 상기 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 상기 임계치를 초과하는지 여부를 표시하는 식별 정보를 수신하는 단계를 더 포함하는, 방법.
  4. 청구항 1에 있어서, 상기 복수의 콘텐츠 선택 목록들의 식별 정보 각각은 콘텐츠 선택 값과 연관되는, 방법.
  5. 청구항 4에 있어서, 상기 콘텐츠 선택 목록의 제1 서브세트를 선택하는 단계는 상기 제1 서브세트의 콘텐츠 선택 목록들과 연관된 상기 콘텐츠 선택 값들의 조합이 다른 서브세트의 콘텐츠 선택 목록들과 연관된 콘텐츠 선택 값들의 조합을 초과하는 것에 응답하여, 콘텐츠 선택 목록들의 복수의 서브세트로부터 상기 제1 서브세트를 선택하는 단계를 포함하는, 방법.
  6. 청구항 4에 있어서, 적어도 하나의 콘텐츠 선택 목록은 조건의 값에 기초하여 콘텐츠 선택 값과 연관되며; 그리고 상기 컴퓨팅 디바이스에 의해, 상기 조건의 현재 값 및 적어도 하나의 콘텐츠 선택 목록에 대한 대응하는 콘텐츠 선택 값을 결정하는 단계를 더 포함하는, 방법.
  7. 청구항 4에 있어서, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하는 단계는 상기 컴퓨팅 디바이스의 기계 학습 모델이 콘텐츠 선택 목록의 복수의 서브세트들 중 제1 서브세트에 대한 가장 높은 콘텐츠 선택 값을 표시하는 것에 응답하여, 각 콘텐츠 선택 목록의 상기 콘텐츠 선택 값 및 각 콘텐츠 선택 목록으로부터 콘텐츠의 선택 가능성에 기초하여, 상기 제1 서브세트를 선택하는 단계를 포함하는, 방법.
  8. 청구항 1에 있어서, 상기 요청은 상기 컴퓨팅 디바이스에 의해, 상기 제1 서브세트의 상기 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 제2 임계치 미만임을 결정하는 것에 응답하여, 상기 선택된 제1 서브세트에 포함되지 않은 추가 콘텐츠 선택 목록의 식별 정보를 더 포함하는, 방법.
  9. 청구항 8에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 추가 콘텐츠 선택 목록에 기초하여 선택된 콘텐츠 아이템을 수신하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 콘텐츠 아이템이 상기 추가 콘텐츠 선택 목록에 기초하여 선택되는 것에 응답하여, 상기 수신된 콘텐츠 아이템을 폐기하는 단계를 더 포함하는, 방법.
  10. 청구항 1에 있어서, 상기 콘텐츠 아이템에 대한 요청을 전송하는 단계는 상기 컴퓨팅 디바이스의 디바이스 식별자를 포함하지 않고 상기 요청을 전송하는 단계를 더 포함하는, 방법.
  11. 클라이언트-사이드 익명화된 콘텐츠 선택을 위한 시스템으로서,
    프로세서 및 콘텐츠 서버와 통신하는 네트워크 인터페이스를 포함하는 컴퓨팅 디바이스를 포함하며;
    상기 네트워크 인터페이스는 콘텐츠 선택 목록들의 복수의 식별 정보를 수집하도록 구성되며, 각각의 콘텐츠 선택 목록은 상기 컴퓨팅 디바이스와 연관되고;
    상기 프로세서는 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 임계치를 초과함에 응답하여, 상기 콘텐츠 선택 목록들의 제1 서브세트를 선택하도록 구성되며; 그리고
    상기 네트워크 인터페이스는:
    콘텐츠 아이템에 대한 요청을 콘텐츠 서버에 전송하고, 상기 요청은 상기 선택된 제1 서브세트의 콘텐츠 선택 목록들의 식별 정보를 포함하며, 그리고
    상기 선택된 제1 서브세트의 콘텐츠 선택 목록들에 기초하여, 상기 콘텐츠 서버에 의해 선택된 제1 콘텐츠 아이템을 수신하도록 더 구성되는, 시스템.
  12. 청구항 11에 있어서, 상기 네트워크 인터페이스는:
    웹페이지의 검색에 응답하여, 콘텐츠 제공자로부터 상기 컴퓨팅 디바이스와 연관된 콘텐츠 선택 목록의 제1 식별 정보를 수신하도록 더 구성되는, 시스템.
  13. 청구항 11에 있어서, 상기 네트워크 인터페이스는 콘텐츠 선택 목록들의 복수의 서브세트들 각각에 대해, 디바이스 식별자 관리자로부터, 상기 제1 서브세트의 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스들의 총 수가 상기 임계치를 초과하는지 여부를 표시하는 식별 정보를 수신하도록 더 구성되는, 시스템.
  14. 청구항 11에 있어서, 상기 복수의 콘텐츠 선택 목록들의 식별 정보 각각은 콘텐츠 선택 값과 연관되는, 시스템.
  15. 청구항 14에 있어서, 상기 프로세서는 상기 제1 서브세트의 콘텐츠 선택 목록들과 연관된 상기 콘텐츠 선택 값들의 조합이 다른 서브세트의 콘텐츠 선택 목록들과 연관된 콘텐츠 선택 값들의 조합을 초과하는 것에 응답하여, 콘텐츠 선택 목록들의 복수의 서브세트로부터 상기 제1 서브세트를 선택하도록 더 구성되는 시스템.
  16. 청구항 14에 있어서, 적어도 하나의 콘텐츠 선택 목록은 조건의 값에 기초하여 콘텐츠 선택 값과 연관되며; 그리고 상기 프로세서는 상기 조건의 현재 값 및 적어도 하나의 콘텐츠 선택 목록에 대한 대응하는 콘텐츠 선택 값을 결정하도록 더 구성되는, 시스템.
  17. 청구항 14에 있어서, 상기 프로세서는 상기 컴퓨팅 디바이스의 기계 학습 모델이 콘텐츠 선택 목록의 복수의 서브세트들 중 제1 서브세트에 대한 가장 높은 콘텐츠 선택 값을 표시하는 것에 응답하여, 각 콘텐츠 선택 목록의 상기 콘텐츠 선택 값 및 각 콘텐츠 선택 목록으로부터 콘텐츠의 선택 가능성에 기초하여, 상기 제1 서브세트를 선택하도록 더 구성되는, 시스템.
  18. 청구항 11에 있어서, 상기 프로세서는 상기 제1 서브세트의 상기 복수의 콘텐츠 선택 목록들과 연관된 고유 디바이스의 총 수가 제2 임계치 미만임을 결정하도록 더 구성되며; 그리고 상기 요청은 상기 결정에 응답하여, 상기 선택된 제1 서브세트에 포함되지 않은 추가 콘텐츠 선택 목록의 식별 정보를 더 포함하는, 시스템.
  19. 청구항 18에 있어서, 상기 네트워크 인터페이스는:
    상기 추가 콘텐츠 선택 목록에 기초하여 선택된 콘텐츠 아이템을 수신하고; 그리고
    상기 콘텐츠 아이템이 상기 추가 콘텐츠 선택 목록에 기초하여 선택되는 것에 응답하여, 상기 수신된 콘텐츠 아이템을 폐기하도록 더 구성되는, 시스템.
  20. 청구항 11에 있어서, 상기 네트워크 인터페이스는 상기 컴퓨팅 디바이스의 디바이스 식별자를 포함하지 않고 상기 요청을 전송하도록 더 구성되는, 시스템.
KR1020217020698A 2019-07-29 2020-04-16 디바이스 프라이버시를 보존하기 위한 시스템 및 방법 KR102512922B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/524,792 2019-07-29
US16/524,792 US11074369B2 (en) 2019-07-29 2019-07-29 Privacy preserving remarketing
PCT/US2020/028507 WO2021021257A1 (en) 2019-07-29 2020-04-16 Systems and methods for preserving device privacy

Publications (2)

Publication Number Publication Date
KR20210097768A true KR20210097768A (ko) 2021-08-09
KR102512922B1 KR102512922B1 (ko) 2023-03-22

Family

ID=70680585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217020698A KR102512922B1 (ko) 2019-07-29 2020-04-16 디바이스 프라이버시를 보존하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (2) US11074369B2 (ko)
EP (1) EP3895050A1 (ko)
JP (2) JP7187706B2 (ko)
KR (1) KR102512922B1 (ko)
CN (1) CN113287109A (ko)
WO (1) WO2021021257A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7289612B2 (ja) 2018-02-28 2023-06-12 日本電気硝子株式会社 紫外線透過ガラス及びその製造方法
US11899823B2 (en) * 2021-02-08 2024-02-13 Snap Inc. Privacy safe anonymized identity matching

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280996A1 (en) * 2013-03-15 2014-09-18 Opanga Networks, Inc. Pre-delivery of content to devices
US20150095329A1 (en) * 2013-09-30 2015-04-02 Google Inc. Methods, systems, and media for presenting recommended content based on social cues
US20150178769A1 (en) * 2013-12-24 2015-06-25 Google Inc. Systems and methods for audience measurement
WO2016025178A1 (en) * 2014-08-14 2016-02-18 Google Inc. Systems and methods for obfuscated audience measurement

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007131132A2 (en) * 2006-05-03 2007-11-15 Voxant, Inc. System and method for collecting and distributing content
US7554759B2 (en) * 2006-06-12 2009-06-30 Sun Microsystems, Inc. Mechanism for isolating marginal recording to media or recording apparatus
US7689627B2 (en) * 2007-10-15 2010-03-30 Yahoo! Inc. Identity management
US8793614B2 (en) * 2008-05-23 2014-07-29 Aol Inc. History-based tracking of user preference settings
US8635220B2 (en) * 2011-04-22 2014-01-21 Iris.Tv, Inc. Digital content curation and distribution system and method
US9009258B2 (en) * 2012-03-06 2015-04-14 Google Inc. Providing content to a user across multiple devices
US8584156B2 (en) * 2012-03-29 2013-11-12 Sony Corporation Method and apparatus for manipulating content channels
US9219790B1 (en) * 2012-06-29 2015-12-22 Google Inc. Determining user engagement with presented media content through mobile device usage
US20140025531A1 (en) 2012-07-20 2014-01-23 Wal-Mart Stores, Inc. Systems and methods for shopping in an electronic commerce environment with social networking connections
US8886799B1 (en) * 2012-08-29 2014-11-11 Google Inc. Identifying a similar user identifier
US10229424B1 (en) * 2012-09-10 2019-03-12 Google Llc Providing online content
KR101789686B1 (ko) 2013-06-12 2017-10-25 삼성전자주식회사 사용자 단말 장치, 서버 및 맞춤화 서비스 제공 방법
US8812705B1 (en) * 2013-10-15 2014-08-19 Google Inc. Accessing location-based content
US10108817B2 (en) * 2014-09-26 2018-10-23 Microsoft Technology Licensing, Llc Privacy-preserving cookies for personalization without user tracking
US10845948B1 (en) * 2014-12-18 2020-11-24 Google Llc Systems and methods for selectively inserting additional content into a list of content
US9628611B2 (en) * 2015-07-15 2017-04-18 At&T Intellectual Property I, L.P. Call alert options
US9510036B1 (en) * 2015-10-26 2016-11-29 Google Inc. Systems and methods for providing content in a content list
US10469609B2 (en) * 2015-12-31 2019-11-05 Time Warner Cable Enterprises Llc Methods and apparatus for serving content to customer devices based on dynamic content popularity
EP3433766A4 (en) * 2016-03-22 2019-12-11 Smart.Market, Inc. CONTENT DISTRIBUTION METHOD
US10430476B2 (en) * 2016-05-06 2019-10-01 Google Llc Annotation of videos using aggregated user session data
RU2632132C1 (ru) * 2016-07-07 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендаций содержимого в системе рекомендаций
US10504154B1 (en) * 2016-09-20 2019-12-10 Google Llc Systems and methods for private local sponsored content
US10404814B1 (en) * 2016-12-01 2019-09-03 Google Llc Systems and methods for arranging and storing content selection parameters based on selection policies
US10165064B2 (en) * 2017-01-11 2018-12-25 Google Llc Data packet transmission optimization of data used for content item selection
US20190020653A1 (en) * 2017-07-12 2019-01-17 Averon Us, Inc. Method and apparatus for secure cross-service content selection and delivery based on mobile device identity
US11082508B2 (en) * 2018-05-27 2021-08-03 reallyread.it, inc. Devices, systems, and methods for tracking digital reading behavior of users
US10917695B2 (en) * 2018-07-26 2021-02-09 At&T Intellectual Property I, L.P. Demand based selection for cellular broadcast streaming media
WO2020214156A1 (en) * 2019-04-16 2020-10-22 Google Llc Restricted environments for message generation in networked environments
IL277760A (en) * 2020-10-02 2022-05-01 Google Llc Central models protect privacy through secure multilateral calculation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280996A1 (en) * 2013-03-15 2014-09-18 Opanga Networks, Inc. Pre-delivery of content to devices
US20150095329A1 (en) * 2013-09-30 2015-04-02 Google Inc. Methods, systems, and media for presenting recommended content based on social cues
US20150178769A1 (en) * 2013-12-24 2015-06-25 Google Inc. Systems and methods for audience measurement
WO2016025178A1 (en) * 2014-08-14 2016-02-18 Google Inc. Systems and methods for obfuscated audience measurement

Also Published As

Publication number Publication date
KR102512922B1 (ko) 2023-03-22
EP3895050A1 (en) 2021-10-20
JP7444954B2 (ja) 2024-03-06
CN113287109A (zh) 2021-08-20
US11074369B2 (en) 2021-07-27
JP2023036601A (ja) 2023-03-14
JP2022542200A (ja) 2022-09-30
WO2021021257A1 (en) 2021-02-04
JP7187706B2 (ja) 2022-12-12
US20220253557A1 (en) 2022-08-11
US20210034782A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
US10831852B2 (en) Universal visitor identification system
US9846842B2 (en) Predicting user navigation events
JP7444954B2 (ja) デバイスプライバシーを守るためのシステムおよび方法
US9288285B2 (en) Recommending content in a client-server environment
US9015174B2 (en) Likefarm determination
US11720710B2 (en) Automatically detecting unauthorized re-identification
US20210240854A1 (en) Restricted environments for message generation in networked environments
US9846746B2 (en) Querying groups of users based on user attributes for social analytics
US20230350978A1 (en) Privacy-sensitive training of user interaction prediction models
EP3956796A1 (en) Cross-site semi-anonymous tracking
US8468051B2 (en) Selecting and delivering personalized content
JP2023162169A (ja) 安全な識別情報検索のためのシステムおよび方法
US20160132834A1 (en) Personalized job search
US10740357B2 (en) Generation and handling of situation objects
US10116627B2 (en) Methods and systems for identifying targeted content item for user
EP4038532B1 (en) Secured management of data distribution restrictions
KR20220108179A (ko) 프라이버시 보호 가상 이메일 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right