KR20200098619A - 강화된 온라인 프라이버시 - Google Patents

강화된 온라인 프라이버시 Download PDF

Info

Publication number
KR20200098619A
KR20200098619A KR1020207020110A KR20207020110A KR20200098619A KR 20200098619 A KR20200098619 A KR 20200098619A KR 1020207020110 A KR1020207020110 A KR 1020207020110A KR 20207020110 A KR20207020110 A KR 20207020110A KR 20200098619 A KR20200098619 A KR 20200098619A
Authority
KR
South Korea
Prior art keywords
identifier
service
predetermined
client
publisher
Prior art date
Application number
KR1020207020110A
Other languages
English (en)
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 KR20200098619A publication Critical patent/KR20200098619A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/2819
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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]
    • H04L67/16
    • H04L67/2823
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

방법, 시스템 및 디바이스는 온라인 사용자 프라이버시를 강화하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함한다. 방법은 게시자에 대한 소정 게시자 식별자 및 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 지정하는 태그 정보를 수신하는 단계를 포함할 수 있다. 서비스 장치에 의해 사용자에게 할당된 소정 서비스 식별자가 획득된다. 소정 서비스 식별자와 지정된 클라이언트 식별자 간의 매핑이 생성된다. 게시자에 의해 사용자 세트에 할당된 클라이언트 식별자 리스트가 수신된다. 클라이언트 식별자 리스트에 해당하는 매칭된 서비스 식별자 리스트가 저장된다. 서비스 장치에 의해 제공되는 서비스에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 다수의 컨텐츠 요청이 수신된다. 컨텐츠 요청에 대한 응답은 클라이언트 디바이스가 매칭된 서비스 식별자 리스트에 포함된 서비스 식별자를 제공하는지 여부에 기초한다.

Description

강화된 온라인 프라이버시
본 명세서는 데이터 처리 및 온라인 프라이버시 강화에 관한 것이다.
인터넷은 전세계 사용자 사이의 정보 교환 및 트랜잭션을 용이하게 한다. 이러한 정보 교환은 다양한 사용자에게 컨텐츠 배포를 가능하게 한다. 일부 경우, 다수의 상이한 제공자의 컨텐츠는 단일 전자 문서에 통합되어 복합 문서를 생성할 수 있다. 예를 들어, 전자 문서에 포함된 컨텐츠의 일부는 전자 문서의 게시자에 의해 선택(또는 지정)될 수 있다. 컨텐츠의 다른 부분(예를 들어, 디지털 컴포넌트)은 제3자(예를 들어, 전자 문서의 게시자가 아니거나 전자 문서를 정의하는 코드를 수정할 권한이 없는 엔티티)에 의해 제공될 수 있다. 일부 상황에서, 전자 문서의 프리젠테이션이 이미 요청된 후 디지털 컴포넌트는 전자 문서와 통합하기 위해 선택된다. 예를 들어, 전자 문서에 포함된 기계 실행 가능 명령은 전자 문서가 클라이언트 디바이스에서 렌더링될 때 클라이언트 디바이스에 의해 실행될 수 있으며, 이 명령은 클라이언트 디바이스가 하나 이상의 원격 서버와 접촉하여 클라이언트 디바이스에서 전자 문서에 통합될 디지털 컴포넌트를 획득할 수 있도록 한다.
일반적으로, 본 명세서에 기술된 주제의 하나의 혁신적인 양태는, 서비스 장치에 의해 클라이언트 디바이스로부터, 게시자의 리소스에 임베딩(내장)된 태그를 실행함에 의해 생성된 서비스 장치에 대한 네트워크 호출에서 태그 정보를 수신하는 단계와, 상기 태그 정보는 게시자에 대한 소정 게시자 식별자 및 그 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 지정하고; 클라이언트 디바이스로부터, 서비스 장치에 의해 사용자에게 할당된 소정 서비스 식별자를 획득하는 단계와; 서비스 장치에 의해 데이터 구조에서, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계와; 게시자로부터 애플리케이션 프로그래밍 인터페이스(API)를 통해, 게시자에 의해 사용자 세트에 할당된 클라이언트 식별자 리스트를 수신하는 단계와; 클라이언트 식별자 리스트가 소정 서비스 식별자에 매핑된 소정 클라이언트 식별자를 포함하는지 결정하는 단계와; 서비스 장치에 의해, 결정에 기초하여 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭(된) 서비스 식별자 리스트에 저장하는 단계와; 서비스 장치에 의해, 서비스 장치에 의해 제공된 서비스들에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 다수의 컨텐츠 요청을 수신하는 단계와; 클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 서비스 식별자를 제공하는지 여부에 기초하여 컨텐츠 요청에 응답하는 단계로서: 클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계와; 클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않는 경우 매칭 서비스 식별자 리스트에 대해 예약되지 않은 제2 컨텐츠를 전송하는 단계의 동작들을 포함하는 방법으로 구현될 수 있다.
방법은 사용자의 해시 표현을 생성하는 단계로서, 소정 게시자 식별자와 소정 클라이언트 식별자를 결합하는 단계와; 그리고 게시자 식별자와 소정 클라이언트 식별자의 조합의 해시를 생성하는 단계의 동작을 포함할 수 있다. 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 사용자의 해시 표현을 소정 서비스 식별자에 매핑하는 단계의 동작들을 포함할 수 있다.
방법은 사용자가 서비스 장치에 의해 제공된 소정 서비스에 로그인한 것으로 결정하는 단계와; 사용자가 로그인한 서비스에 기초하여 사용자에 대한 계정 식별자를 식별하는 단계와; 계정 식별자를 사용하여, 서비스 장치에 의해 제공된 상이한 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별하는 단계와; 그리고 소정 클라이언트 식별자와 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계의 동작들을 포함할 수 있다.
소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제1 해시 함수 또는 시드(seed)를 사용하여 생성된 제1 해시값에 대한 소정 서비스 식별자의 매핑을 생성하는 단계를 포함할 수 있다. 소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제2 해시 함수 또는 시드를 사용하여 생성된 제2 해시값에 대한 상이한 서비스 식별자의 매핑을 생성하는 단계를 포함할 수 있고, 상기 제2 해시값은 제1 해시값과 상이하다.
방법은 다른 클라이언트 디바이스로부터, 태그 정보 및 상이한 서비스 식별자를 수신하는 단계와; 데이터 구조로부터, 소정 클라이언트 식별자에 대한 소정 서비스 식별자의 매핑을 삭제하는 단계와; 그리고 데이터 구조에서, 소정 클라이언트 식별자에 대한 상이한 서비스 식별자의 상이한 매핑을 생성하는 단계의 동작들을 포함할 수 있다.
소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭 소정 서비스 식별자 리스트에 저장하는 단계는 소정 클라이언트 식별자 및 게시자 리스트내의 사용자들에게 분배될 사용자-특정 컨텐츠를 포함하는 게시자 리스트의 게시자 식별자들을 지정하는 게시자 식별자-컨텐츠 쌍 세트와 함께 소정 서비스 식별자를 데이터 구조 항목에 저장하는 단계를 포함할 수 있다.
방법은 소정 서비스 식별자와 게시자 식별자-컨텐츠 쌍 세트 사이의 기존 연관을 상이한 식별자에 재매핑하는 것을 포함하여, 사용자에게 상이한 서비스 식별자가 할당되었다는 결정에 응답하여 매칭 서비스 식별자 리스트를 업데이트하는 단계의 동작들을 포함할 수 있다.
방법은 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매핑된 서비스 식별자 리스트에 저장한 후 소정 클라이언트 식별자를 삭제하는 단계의 동작들을 포함할 수 있다.
클라이언트 디바이스가 매핑 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자의 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계는 사용자가 게시자의 도메인과 상이한 제2 레벨 도메인에 제공된 서비스에 액세스하는 동안 제1 컨텐츠를 제시하는 단계를 포함할 수 있다.
본 개시의 다른 양태는 본 명세서에 개시된 임의의 방법을 수행하도록 구성된 데이터 처리 장치를 제공한다. 본 개시의 다른 양태는 컴퓨터에 의해 실행될 때 컴퓨터가 본 명세서에 개시된 임의의 방법을 수행하게 하는 명령들을 포함하는 (일시적 또는 비-일시적일 수 있는) 컴퓨터 판독 가능 매체를 제공한다. 본 개시의 또 다른 양태는 컴퓨터에 의해 실행될 때 컴퓨터가 본 명세서에 개시된 임의의 방법을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램을 제공한다.
본 명세서에 기술된 주제의 특정 실시예는 다음 장점들 중 하나 이상을 실현하도록 구현될 수 있다. 예를 들어, 본 명세서에서 논의된 혁신은 다수의 상이한 서비스, 도메인 및 엔티티에 걸쳐 사용자-특정 정보를 제공하는 기능을 용이하게 하면서 사용자 프라이버시를 유지한다. 보다 구체적으로, 게시자는 사용자들이 제3자 서비스에 액세스할 때 해당 사용자들을 구체적으로 식별하지 않고 특정 정보를 제공하려는 사용자 리스트를 지정할 수 있다. 게다가, 본 명세서에 설명된 기술은 제3자 서비스에 의해 게시자 쿠키에 대한 액세스를 허용하지 않는 컴퓨팅 환경 내의 지정된 사용자 리스트에 특정 정보가 제공될 수 있게 한다. 예를 들어, 이 정보는 제3자 제공자에 의해 제공된 컨텐츠의 특정 정보를 서비스하는데 사용될 수 있으며, 또한 서비스 제공자가 다른 웹 페이지 또는 애플리케이션(예를 들어, 게시자에 의해 제공됨)의 리스트에서 사용자에게 프리젠테이션할 컨텐츠를 선택할 수 있도록 한다.
종래의 식별자 매핑 기술(예를 들어, 쿠키 매핑 기술)과 달리, 본 문서 전체에서 논의된 기술에서 언급된 매핑은 사용자-특정 정보를 수신하기 위해 선택된 사용자에 대응하는 서비스 식별자 리스트를 생성하는데 사용되어, 클라이언트 식별자와 서비스 식별자 사이의 매핑은 컨텐츠가 제3자 서비스에서 프리켄테이션을 위해 요청될 때 사용될 필요가 없다.
컨텐츠가 요청될 때, 매핑 대신 서비스 식별자 리스트를 사용하는 것은 시스템의 대기 시간을 줄일 수 있는데, 이는 예를 들어 시스템이 리스트에 포함된 서비스 식별자 리스트를 사용하여 직접 조회를 수행하여, 매핑에서 서비스 식별자를 먼저 식별하기 보다는 사용자-특정 정보가 제공되어야 하는지 여부를 결정한 다음 그 서비스 식별자에 매핑된 클라이언트 식별자를 식별하고, 이어서 식별된 클라이언트 식별자가 사용자-특정 정보를 수신할 사용자들에 대응하는 클라이언트 식별자 리스트에 포함되는지 여부를 결정하기 때문이다. 수 백만/십억건의 요청에 대해 집계하면 그 요청들을 처리하는데 필요한 프로세서 시간이 크게 줄어든다.
본 명세서에서 설명된 주제의 하나 이상의 실시예들의 세부 사항들은 첨부 도면들 및 아래의 설명에서 설명된다. 본 주제의 다른 특징, 양태 및 이점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 디지털 컴포넌트가 전자 문서로 프리젠테이션하기 위해 분배되는 예시적인 환경의 블록도이다.
도 2a는 식별자 매핑을 생성하기 위한 예시적인 기술을 도시한 블록도이다.
도 2b는 도메인 간 환경에서 사용자 프라이버시를 강화하기 위한 예시적인 기술을 도시한 블록도이다.
도 3은 도메인 간 컨텐츠 분배 환경에서 사용자 프라이버시를 강화하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
본 문서는 다수의 상이한 서비스 및 엔티티에 대해 사용자-특정 정보를 제공하는 기능(ability)을 용이하게 하면서 사용자 프라이버시를 유지하는 방법, 시스템, 장치 및 컴퓨터 판독 가능 매체를 기술한다. 보다 구체적으로, 게시자(예를 들어, 웹 페이지 또는 온라인 애플리케이션의 소유자 또는 운영자)는 사용자들이 게시자의 리소스와 상이한(예를 들어, 게시자에 의해 제공된 웹 페이지 또는 온라인애플리케이션과 상이한) 온라인 도메인에 의해 호스팅된 다양한 제3자 서비스에 액세스할 때 해당 사용자들을 구체적으로 식별하지 않고도 특정 정보를 제공하기 위한 사용자 리스트를 지정할 수 있다.
아래에 더 자세히 설명되는 바와같이, 서비스 장치는 서비스 장치에 의해 유지되는 서비스 식별자를 게시자가 사용자에게 할당한 클라이언트 식별자에 매핑하는 것에 기초하여 게시자에 의해 지정된 사용자-특정 정보를 제3자 서비스의 사용자들에게 분배하는 것을 용이하게 할 수 있다. 서비스 식별자와 클라이언트 식별자의 매핑은 서비스 장치에 의해 생성될 수 있다. 일부 구현에서, 서비스 장치는 게시자의 리소스내의 픽셀이 클라이언트 디바이스(예를 들어, 클라이언트 디바이스에서 실행되는 브라우저)에 의해 실행될 때 서비스 장치로 제출되는 태그 정보 세트에서 사용자에게 할당된 클라이언트 식별자들을 획득한다. 클라이언트 디바이스에서 실행되는 태그는 서비스 장치에 대한 네트워크 호출을 개시하고 게시자에 의해 할당된 클라이언트 식별자뿐만 아니라 게시자의 식별자를 서비스 장치에 통지한다. 서비스 장치(예를 들어, 서비스 장치의 도메인)에 대한 호출이 이루어질 때, 클라이언트 디바이스(예를 들어, 클라이언트 디바이스에서 실행되는 브라우저)는 또한 서비스 장치에 의해 할당되고 클라이언트 디바이스에 저장된 서비스 식별자를 제출할 것이다. 이러한 정보 조합을 이용하여, 서비스 장치는 게시자에 의해 소정(given) 사용자에게 할당된 클라이언트 식별자를 서비스 장치에 의해 해당 사용자에게 할당된 서비스 식별자에 매핑할 수 있다.
한편, 게시자는 (예를 들어, 서비스 장치의 애플리케이션 프로그래밍 인터페이스("API)를 통해) 게시자가 사용자-특정 정보를 수신하도록 선택한 클라이언트 식별자의 리스트를 제출할 수 있다. 서비스 장치는 생성된 매핑을 사용하여, 클라이언트 식별자 리스트를 게시자 도메인에서 사용자를 나타내는 클라이언트 식별자들을 포함하지 않지만 여전히 동일한 사용자(예를 들어, 클라이언트 식별자 리스트에 의해 표현된 사용자들)를 나타내는 대응하는 서비스 식별자 리스트로 변환한다. 서비스 장치가 서비스 장치의 도메인에서 제3자 서비스들에 액세스하는 사용자로부터 컨텐츠에 대한 요청을 수신할 때, 이들 요청은 서비스 장치의 도메인에서 사용자를 나타내는 서비스 식별자를 포함할 것이다. 수신된 서비스 식별자는 게시자가 사용자-특정 정보를 수신하기로 선택한 사용자를 나타내는 서비스 식별자 리스트와 비교될 수 있다. 서비스 장치가 수신된 서비스 식별자와 리스트 사이의 매칭를 식별하는 경우, 서비스 장치는 요청에 응답하여 사용자-특정 정보를 전송할 수 있다. 서비스 장치가 수신된 서비스 식별자와 리스트 사이의 매칭를 식별하는데 실패하는 경우, 서비스 장치는 사용자-특정 정보를 전송하는 것을 억제하지만 요청에 응답하여 여전히 다른 정보를 전송할 수 있다.
도 1은 디지털 컴포넌트가 전자 문서로 프리젠테이션하기 위해 분배되는 예시적인 환경(100)의 블록도이다. 예시적인 환경(100)은 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷 또는 이들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버들(104), 사용자 디바이스들(106), 디지털 컴포넌트 서버들(108) 및 서비스 장치(110)를 연결한다. 예시적인 환경(100)은 많은 상이한 전자 문서 서버(104), 사용자 디바이스(106) 및 디지털 컴포넌트 서버(108)를 포함할 수 있다.
클라이언트 디바이스(106)는 네트워크(102)를 통해 리소스를 요청하고 수신할 수 있는 전자 디바이스이다. 예시적인 클라이언트 디바이스(106)는 개인용 컴퓨터, 이동 통신 디바이스, 디지털 어시스턴트 디바이스, 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 다른 디바이스를 포함한다. 클라이언트 디바이스(106)는 전형적으로 네트워크(102)를 통한 데이터의 전송 및 수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 클라이언트 디바이스(106)에 의해 실행되는 기본(native) 애플리케이션은 또한 네트워크(102)를 통한 데이터의 전송 및 수신을 용이하게 할 수 있다.
디지털 어시스턴트 디바이스는 마이크로폰 및 스피커를 포함하는 디바이스를 포함한다. 디지털 어시스턴트 디바이스는 일반적으로 음성을 통해 입력을 수신할 수 있고, 가청 피드백을 사용하여 컨텐츠로 응답할 수 있고, 다른 가청 정보를 제공할 수 있다. 일부 상황에서, 디지털 어시스턴트 디바이스는 또한 (예를 들어, 무선 또는 유선 연결로) 시각적 디스플레이를 포함하거나 시각적 디스플레이와 통신한다. 시각적 디스플레이가 제시될 때 피드백 또는 기타 정보가 시각적으로 제공될 수도 있다. 일부 상황에서, 디지털 어시스턴트 디바이스는 조명, 잠금 장치, 카메라, 기후 제어 디바이스, 경보 시스템, 및 디지털 어시스턴트 디바이스에 등록된 기타 디바이스와 같은 다른 디바이스를 제어할 수도 있다.
전자 문서는 클라이언트 디바이스(106)에서 컨텐츠 세트를 나타내는 데이터이다. 전자 문서의 예로는 웹 페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스가 있다. 모바일, 태블릿 또는 데스크탑 컴퓨팅 디바이스에 설치된 애플리케이션과 같은 기본 애플리케이션(예를 들어, "앱")도 전자 문서의 예이다. 전자 문서는 전자 문서 서버(104)("전자 Doc 서버")에 의해 클라이언트 디바이스(106)에 제공될 수 있다. 예를 들어, 전자 문서 서버(104)는 게시자 웹 사이트를 호스팅하는 서버를 포함할 수 있다. 이 예에서, 클라이언트 디바이스(106)는 소정 게시자 웹 페이지에 대한 요청을 개시할 수 있고, 소정 게시자 웹 페이지를 호스팅하는 전자 서버(104)는 클라이언트 디바이스(106)에서 소정 웹 페이지의 프리젠테이션을 개시하는 기계 실행 가능 명령들을 전송함으로써 요청에 응답할 수 있다.
다른 예에서, 전자 문서 서버(104)는 클라이언트 디바이스(106)가 앱을 다운로드할 수 있는 앱 서버를 포함할 수 있다. 이 예에서, 클라이언트 디바이스(106)는 클라이언트 디바이스(106)에 앱을 설치하는데 필요한 파일을 다운로드한 다음, 그 다운로드된 앱을 로컬로 실행할 수 있다.
전자 문서는 다양한 컨텐츠를 포함할 수 있다. 예를 들어, 전자 문서는 전자 문서 자체 내에 있고 및/또는 시간이 지나도 변하지 않는 정적 컨텐츠(예를 들어, 텍스트 또는 다른 지정 컨텐츠)를 포함할 수 있다. 전자 문서는 또한 시간이 지남에 따라 또는 요청에 따라 변경될 수 있는 동적 컨텐츠를 포함할 수 있다. 예를 들어, 소정 전자 문서의 게시자는 전자 문서의 일부를 채우는데 사용되는 데이터 소스를 유지할 수 있다. 이 예에서, 소정 전자 문서는 그 소정 전자 문서가 클라이언트 디바이스(106)에 의해 처리(예를 들어, 렌더링 또는 실행)될 때 클라이언트 디바이스(106)가 데이터 소스로부터 컨텐츠를 요청하게 하는 스크립트를 포함할 수 있다. 클라이언트 디바이스(106)는 데이터 소스로부터 획득된 컨텐츠를 소정 전자 문서에 통합하여 데이터 소스로부터 획득된 컨텐츠를 포함하는 복합 전자 문서를 생성한다.
일부 상황에서, 소정 전자 문서는 서비스 장치(110)를 참조하는 디지털 컴포넌트 스크립트 또는 서비스 장치(110)에 의해 제공되는 특정 서비스를 포함할 수 있다. 이러한 상황에서, 디지털 컴포넌트 스크립트는 소정 전자 문서가 클라이언트 디바이스(106)에 의해 처리될 때 클라이언트 디바이스(106)에 의해 실행된다. 디지털 컴포넌트 스크립트의 실행은 네트워크(102)를 통해 서비스 장치(110)로 전송되는 디지털 컴포넌트(112)에 대한 요청("컴포넌트 요청"으로 지칭됨)을 생성하도록 클라이언트 디바이스(106)를 구성한다. 예를 들어, 디지털 컴포넌트 스크립트는 클라이언트 디바이스(106)가 헤더 및 페이로드 데이터를 포함하는 패킷화된 데이터 요청을 생성할 수 있게 한다. 컴포넌트 요청(112)은 디지털 컴포넌트가 요청되는 서버의 이름(또는 네트워크 위치), 요청하는 디바이스(예를 들어, 클라이언트 디바이스(106))의 이름(또는 네트워크 위치)과 같은 특징을 지정하는 이벤트 데이터 및/또는 요청에 응답하여 제공되는 하나 이상의 디지털 컴포넌트 또는 다른 컨텐츠를 선택하기 위해 서비스 장치(110)가 사용할 수 있는 정보를 포함할 수 있다. 컴포넌트 요청(112)은 클라이언트 디바이스(106)에 의해, 네트워크(102)(예를 들어, 통신 네트워크)를 통해 서비스 장치(110)의 서버로 전송된다.
컴포넌트 요청(112)은 요청되는 전자 문서 및 디지털 컴포넌트가 제시될 수 있는 전자 문서의 위치의 특성과 같은 다른 이벤트 특징을 지정하는 이벤트 데이터를 포함할 수 있다. 예를 들어, 디지털 컴포넌트가 제시될 전자 문서(예를 들어, 웹 페이지)에 대한 참조(예를 들어, URL)를 지정하는 이벤트 데이터, 디지털 컴포넌트를 제시하는데 사용 가능한 전자 문서의 사용 가능 위치, 사용 가능 위치의 크기 및/또는 그 위치에서의 프리젠테이션에 적격인 매체 유형이 서비스 장치(110)로 제공될 수 있다. 유사하게, 전자 문서에 의해 참조되는 전자 문서 또는 엔티티(예를 들어, 사람, 장소 또는 사물)와 관련된 키워드("문서 키워드")를 지정하는 이벤트 데이터는 또한 (예를 들어, 페이로드 데이터로서) 컴포넌트 요청(112)에 포함되고 서비스 장치(110)로 제공되어, 전자 문서로 프레젠테이션할 수 있는 디지털 컴포넌트를 용이하게 식별할 수 있다. 이벤트 데이터는 또한 검색 결과 페이지를 획득하기 위해 클라이언트 디바이스(106)로부터 제출된 검색 질의(query)를 포함할 수 있다.
컴포넌트 요청(112)은 또한 클라이언트 디바이스의 사용자가 제공한 정보, 컴포넌트 요청이 제출된 상태 또는 지역을 나타내는 지리적 정보, 또는 디지털 컴포넌트가 디스플레이될 환경에 대한 컨텍스트(예를 들어, 컴포넌트 요청의 시간, 컴포넌트 요청의 요일, 모바일 디바이스 또는 태블릿 디바이스와 같이 디지털 컴포넌트가 디스플레이될 디바이스 유형)를 제공하는 다른 정보와 같이 다른 정보와 관련된 이벤트 데이터를 포함할 수 있다. 컴포넌트 요청(112)은 예를 들어 패킷화된 네트워크를 통해 전송될 수 있고, 컴포넌트 요청(112) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로 포맷될 수 있다. 헤더는 패킷의 목적지를 지정하고 페이로드 데이터는 위에서 논의된 임의의 정보를 포함할 수 있다.
서비스 장치(110)는 컴포넌트 요청(112)의 수신에 응답하여 및/또는 컴포넌트 요청(112)에 포함된 정보를 사용하여 소정 전자 문서로 제시될 디지털 컴포넌트(예를 들어, 모든 광고 컨텐츠 또는 비-광고 컨텐츠의 형태를 취할 수 있는 비디오 파일, 오디오 파일, 이미지, 텍스트 및 이들의 조합)를 선택한다. 일부 구현에서, 디지털 컴포넌트는 그 디지털 컴포넌트의 지연된 선택으로 인해 발생할 수 있는 오류를 피하기 위해 1초 이내에 선택된다. 예를 들어, 컴포넌트 요청(112)에 응답하여 디지털 컴포넌트를 제공할 때의 지연은 클라이언트 디바이스(106)에서 페이지 로드 오류를 발생시키거나 전자 문서의 다른 부분이 클라이언트 디바이스(106)에 제시된 후에도 전자 문서의 일부가 채워지지 않은 상태로 유지되게 할 수 있다. 또한, 디지털 컴포넌트를 클라이언트 디바이스(106)에 제공할 때의 지연이 증가함에 따라, 디지털 컴포넌트가 클라이언트 디바이스(106)로 전달될 때 전자 문서가 더 이상 클라이언트 디바이스(106)에 제시되지 않을 가능성이 높아, 전자 문서에 대한 사용자의 경험에 부정적인 영향을 줄 수 있다. 또한, 디지털 컴포넌트 제공시 지연은 예를 들어 디지털 컴포넌트가 제공될 때 전자 문서가 더 이상 클라이언트 디바이스(106)에 제시되지 않는 경우 디지털 컴포넌트의 전달에 실패할 수 있다.
일부 구현에서, 서비스 장치(110)는 예를 들어, 상호 연결되고 요청(112)에 응답하여 디지털 컴포넌트를 식별 및 분배하는 서버 및 다수의 컴퓨팅 디바이스 (114)의 세트를 포함하는 분산 컴퓨팅 시스템에서 구현된다. 다수의 컴퓨팅 디바이스(114)의 세트는 함께 동작하여 수백만 개의 이용 가능한 디지털 컴포넌트(DC1-x)의 코퍼스 중에서 전자 문서에 제시되기에 적합한(적격인) 디지털 컴포넌트의 세트를 식별한다. 수백만 개의 이용 가능한 디지털 컴포넌트는 예를 들어 디지털 컴포넌트 데이터베이스(116)에서 인덱싱될 수 있다. 각각의 디지털 컴포넌트 인덱스 항목는 대응하는 디지털 컴포넌트를 참조할 수 있고 및/또는 그 대응하는 디지털 컴포넌트의 분배/전송에 기여(예를 들어, 트리거, 조건화 또는 제한)하는 분배 파라미터(DP1-DPx)를 포함할 수 있다. 예를 들어, 분배 파라미터는 컴포넌트 요청이 분배 파라미터들 중 하나와 (예를 들어, 정확히 또는 사전 지정된 유사성 레벨로) 매칭하는 적어도 하나의 기준을 포함하도록 요구함으로써 디지털 컴포넌트의 전송에 기여(예를 들어, 트리거)할 수 있다.
일부 구현에서, 특정 디지털 컴포넌트에 대한 분배 파라미터는 디지털 컴포넌트가 프리젠테이션에 적합하기 위해 (예를 들어, 전자 문서, 문서 키워드 또는 컴포넌트 요청(112)에 지정된 용어에 의해) 매칭되어야 하는 분배 키워드를 포함할 수 있다. 분배 파라미터는 또한 컴포넌트 요청(112)이 특정 지리적 영역(예를 들어, 국가 또는 주)을 지정하는 정보 및/또는 디지털 컴포넌트가 프리젠테이션에 적합하기 위해 컴포넌트 요청(112)이 특정 유형의 클라이언트 디바이스에서 비롯되었음(originated)을 특정하는 정보를 포함하도록 요구할 수 있다. 분배 파라미터는 또한 아래에서 보다 상세히 논의되는 바와 같이 (예를 들어, 다른 이용 가능한 디지털 컴포넌트 중에서) 분배/전송을 위한 디지털 컴포넌트의 적격성을 평가하는데 사용되는 적격성 값(예를 들어, 입찰가, 랭킹 스코어 또는 다른 특정 값)을 지정할 수 있다.
적격 디지털 컴포넌트의 식별은 다수의 태스크(117a-117c)로 분할될 수 있고, 이어서 다수의 컴퓨팅 디바이스(114)의 세트 내의 컴퓨팅 디바이스 사이에 할당된다. 예를 들어, 세트(114) 내의 상이한 컴퓨팅 디바이스는 각각 디지털 컴포넌트 데이터베이스(116)의 상이한 부분을 분석하여, 컴포넌트 요청(112)에 포함된 정보와 매칭하는 분배 파라미터를 갖는 다양한 디지털 컴포넌트를 식별할 수 있다. 일부 구현에서, 세트(114) 내의 각각의 소정 컴퓨팅 디바이스는 상이한 데이터 치수(또는 치수 세트)을 분석하여 분석 결과(Res 1-Res 3)(118a-118c)를 서비스 장치(110)로 다시 전달(예를 들어, 전송)할 수 있다. 예를 들어, 세트(114) 내의 각각의 컴퓨팅 디바이스에 의해 제공되는 결과(118a-118c)는 컴포넌트 요청에 응답하여 분배에 적격인 디지털 컴포넌트의 서브 세트 및/또는 특정 분배 파라미터를 갖는 디지털 컴포넌트의 서브 세트를 식별할 수 있다. 디지털 컴포넌트의 서브 세트의 식별은 예를 들어, 이벤트 데이터를 분배 파라미터와 비교하고, 이벤트 데이터의 적어도 일부 특징과 매칭하는 분배 파라미터를 갖는 디지털 컴포넌트의 서브 세트를 식별하는 것을 포함할 수 있다.
서비스 장치(110)는 다수의 컴퓨팅 디바이스(114)의 세트로부터 수신된 결과(118a-118c)를 집계하고, 집계 결과와 관련된 정보를 사용하여 요청(112)에 응답하여 제공될 하나 이상의 디지털 컴포넌트를 선택한다. 예를 들어, 서비스 장치 (110)는 후술하는 바와 같이 하나 이상의 컨텐츠 평가 프로세스의 결과에 기초하여 위닝(winning) 디지털 컴포넌트(하나 이상의 디지털 컴포넌트)의 세트를 선택할 수 있다. 결과적으로, 서비스 장치(110)는 네트워크(102)를 통해, 클라이언트 디바이스(106)가 위닝 디지털 컴포넌트 세트를 소정 전자 문서에 통합할 수 있게 하는 응답 데이터(120)(예를 들어, 응답을 나타내는 디지털 데이터)를 생성 및 전송할 수 있어서, 위닝 디지털 컴포넌트 세트 및 전자 문서의 컨텐츠가 클라이언트 디바이스(106)의 디스플레이에서 함께 제시되도록 한다.
일부 구현에서, 클라이언트 디바이스(106)는 응답 데이터(120)에 포함된 명령들을 실행하는데, 이 명령들은 클라이언트 디바이스(106)가 하나 이상의 디지털 컴포넌트 서버로부터 위닝 디지털 컴포넌트 세트를 획득하도록 구성하게 한다. 예를 들어, 응답 데이터(120)내의 명령은 네트워크 위치(예를 들어, URL) 및 클라이언트 디바이스(106)가 서버 요청(SR)(121)을 디지털 컴포넌트 서버(108)로 전송하여 디지털 컴포넌트 서버(108)로부터 소정 위닝 디지털 컴포넌트를 획득하도록 하는 스크립트를 포함할 수 있다. 요청에 응답하여, 디지털 컴포넌트 서버(108)는 (예를 들어, 다수의 디지털 컴포넌트를 저장하는 데이터베이스 내에서) 서버 요청(121)에 지정된 소정 위닝 디지털 컴포넌트를 식별하고, 그 소정 위닝 디지털 컴포넌트를 클라이언트 디바이스(106)에서 전자 문서에 제시하는 디지털 컴포넌트 데이터(DC 데이터)(122)를 클라이언트 디바이스(106)로 전송한다.
서비스 장치(110)는 다양한 기술을 이용하여 소정 컴포넌트 요청(예를 들어, 개별 컴포넌트 요청)에 응답하여 전송되는데 이용될 수 있는 다양한 상이한 디지털 컴포넌트의 적격성을 평가할 수 있다. 예를 들어, 서비스 장치(110)는 다양한 상이한 디지털 컴포넌트의 적격성 값을 비교하여, 소정 컴포넌트 요청에 응답하여 클라이언트 디바이스(106)에 전송될 디지털 컴포넌트로서 가장 높은 적격성 값을 갖는 하나 이상의 디지털 컴포넌트를 선택할 수 있다. 일부 상황에서, 각 디지털 컴포넌트의 초기 적격성 값(예를 들어, 입찰가 또는 다른 값)은 디지털 컴포넌트의 제공자(또는 소스)에 의해 지정될 수 있다. 예를 들어, 비디오 클립(VC1)의 하나의 제공자(P1)는 초기 적격성 값 1.0을 제공할 수 있고, 상이한 비디오 클립(VC2)의 상이한 제공자(P2)는 1.0의 초기 적격성 값을 제공할 수 있고, 상이한 비디오 클립(VC2)의 상이한 제공자(P2)는 1.1의 초기 적격성 값을 제공할 수 있다. 이 예의 목적을 위해, 컴포넌트 요청이 하나의 디지털 컴포넌트에만 특정 웹 페이지를 제시하도록 요청하고 있다고 가정한다. 2개의 비디오 클립 중 어느 것이 제공될 것인지를 선택하기 위해, 서비스 장치(110)는 그들의 개별 초기 적격성 값에 기초하여 VC1 및 VC2를 랭킹(순위매김)할 수 있고, 컴포넌트 요청에 응답하여 클라이언트 디바이스로 전송될 가장 높은 랭킹의 비디오 클립을 선택할 수 있다. 이 예에서 VC2의 초기 적격성 값 1.1은 VC1의 초기 적격성 값 1.0보다 높기 때문에 VC2는 VC1보다 높은 랭킹을 갖는다.
일부 상황에서, 다양한 상이한 디지털 컴포넌트의 적격성은 디지털 컴포넌트의 제공자(소스)에 의해 제출된 초기 적격성 값만을 사용하여 평가될 수 있다. 다른 상황에서, 제공자에 의해 제출된 초기 적격성 값은 하나 이상의 다른 인자 (factor)에 기초하여 증강(또는 변경)된다. 예를 들어, 서비스 장치(110)는 디지털 컴포넌트의 초기 적격성 값 및 디지털 컴포넌트에 대한 품질 계수에 기초하여 디지털 컴포넌트에 대한 조정된 적격성 값을 생성할 수 있다.
소정 디지털 컴포넌트에 대한 품질 계수는 소정 디지털 컴포넌트가 소정 컴포넌트 요청에 응답하여 제공될 적절한 디지털 컴포넌트일 가능성을 정량화할 수 있다. 일부 구현에서, 품질 계수는 이벤트 데이터에 의해 지정된 하나 이상의 특징들에 기초하여 결정된다. 보다 구체적으로, 서비스 장치(110)는 이벤트 데이터(예를 들어, 전자 문서로부터의 지리 정보 및/또는 용어)로부터의 하나 이상의 특징을 예상(된) 분포 결과를 출력하는 기계 학습 시스템으로 입력할 수 있으며, 이는 품질 계수로서 사용될 수 있다. 예상 분포 결과는 예를 들어, 현재의 컴포넌트 요청의 맥락에서 디지털 컴포넌트에 대한 예상 상호 작용 레이트(예를 들어, 클릭률, 재생률 또는 디지털 컴포넌트와의 다른 상호 작용 척도)로서 표현될 수 있다.
일단 품질 계수가 획득되면 초기 적격성 값에 적용되어 조정된 적격성 값에 도달할 수 있다. 예를 들어, 조정된 적격성 값(AEV)은 초기 적격성 값과 품질 계수(예를 들어, AEV = 품질 계수 * 초기 적격성 값)의 곱일 수 있다. 일부 경우, 다양한 상이한 디지털 컴포넌트의 조정된 적격성 값은 (예를 들어, 최고에서 최저로) 디지털 컴포넌트를 랭킹하는데 사용될 수 있고, 가장 높은 랭킹의 디지털 컴포넌트 중 하나 이상이 컴포넌트 요청에 응답하여 전송되도록 선택될 수 있다.
일부 상황에서, 디지털 컴포넌트의 선택은 또한 사용자가 사용자-특정 정보를 수신하도록 선택되었는지 여부에 기초할 수 있다. 본 문서 전체에서 사용되는 바와같이, 사용자-특정 정보는 특정 사용자 리스트에 포함된 하나 이상의 사용자에게 배포하기 위해 지정된 정보(예를 들어, 디지털 컴포넌트 포함)를 지칭한다. 예를 들어, 사용자-특정 정보에는 웹 사이트, 애플리케이션 또는 기타 리소스의 게시자에 의해 제출된 사용자 리스트로 배포하도록 지정된 특정 디지털 컴포넌트가 포함되지만 이에 한정되는 것은 아니다. 리스트에 있는 사용자를 수신/제공하도록 선택된 사용자 리스트는 다양한 방법으로 생성될 수 있지만, 일부 상황에서 리스트는 일부 특정 온라인 활동(예를 들어, 웹 사이트의 특정 페이지 방문, 게임 애플리케이션과 같은 애플리케이션에서 특정 레벨 도달), 특정 정보 요청(예를 들어, 디지털 어시스턴트를 사용하여), 특정 비디오 시청 또는 기타 활동)을 수행한 사용자에 기초하여 생성된다. 보다 구체적으로, 게시자는 특정 활동을 수행한 사용자를 식별하고, 해당 사용자를 나타내는 사용자 식별자 리스트를 생성하고, 해당 사용자 식별자 리스트를 그 리스트에서 사용자에게 제공될 사용자-특정 정보의 표시와 함께 서비스 장치(110)로 제공할 수 있다.
사용자 식별자에 대한 제한은 서비스 장치(110)가 게시자에 의해 제공된 사용자 식별자의 리스트를 사용하는 기능을 제한한다. 예를 들어, 일반적으로 사용자 식별자를 포함하는 쿠키는 일반적으로 쿠키의 도메인과 매칭하는 도메인에서 호스팅되는 장치(예를 들어, 서버 또는 다른 컴퓨팅 디바이스)에 의해서만 액세스 가능하다. 즉, 쿠키가 도메인 example.com에서 전자 문서 서버(104)에 의해 클라이언트 디바이스(106) 상에 배치될 때, 해당 쿠키는 일반적으로 해당 클라이언트 디바이스가 example.com 내의 네트워크 위치(예를 들어, 웹 페이지)에 액세스할 때 클라이언트 디바이스에서 실행되는 브라우저 또는 기본 애플리케이션에서만 사용할 수 있다. 이와 같이, example.com 도메인에서 컨텐츠를 제공하는 서버는 example.com 도메인에 대한 쿠키에만 액세스할 수 있다. 이와같이, example.com 쿠키에 저장된 임의의 사용자 식별자는 상이한 도메인의 장치(예를 들어, 서버 또는 다른 컴퓨팅 디바이스)에서 사용할 수 없다. 유사하게, 클라이언트 디바이스(106)에 배치된 쿠키에 저장된 상이한 도메인(예를 들어, example.com 이외)에서 전자 문서를 서비스하는 장치에 의해 할당된 사용자 식별자를 포함하는 정보는 일반적으로 example.com 도메인에서 전자 문서 서버(104)에 액세스할 수 없을 것이다. 이와 같이, 서비스 장치(110)는 일반적으로 도메인에 걸쳐 사용자-특정 정보의 분배를 용이하게 하기 위해 게시자에 의해 사용자에게 할당된 식별자 리스트를 직접 사용할 수 없다.
쿠키 매핑은 도메인(및 쿠키 공간)에 대해 사용자-특정 정보를 쉽게 배포할 수 있지만 사용자 프라이버시를 보호하기 위한 프로세스가 없어, 쿠키 매핑의 사용은 데이터 유출(예를 들어, 사용자 정보 전파) 및/또는 다수의 상이한 엔터티에 의해 제공되는 다수의 상이한 쿠키로부터 사용자 집계가 발생할 수 있다. 쿠키 매핑만으로는 쿠키 매핑과 관련된 조회(lookup) 프로세스때문에 응답 대기 시간이 길어질 수도 있다. 다음의 논의는 사용자 프라이버시를 강화하는데 사용될 수 있는 기술의 세부 사항을 제공하는 한편, 서비스 장치에 의해, 서비스 장치의 도메인과 상이한 도메인에서 컨텐츠를 발행하는 게시자(예를 들어, 전자 문서 서버(104)를 운영 및/또는 유지하는 엔티티)에 의해 지정된 사용자들에게 사용자-특정 정보의 배포를 용히게 한다. 이 기술은 또한 쿠키 매핑이 서비스 시간에서 필요하지 않기 때문에 기존 쿠키 매핑보다 낮은 응답 대기 시간을 제공하다.
본 명세서에서 설명된 기술은 사용자 식별자에 대한 액세스가 제한되는 임의의 상황에서 사용될 수 있음을 주목한다. 예를 들어, 하나의 도메인에 할당된 사용자 식별자에 대한 액세스가 일반적으로 상이한 도메인의 웹 페이지/서비스에 대한 HTTP 요청을 서비스하는 장치(예를 들어, 서비스 장치)에 액세스 가능하더라도, 본 명세서에 설명된 기술은 (예를 들어, 사용자 프라이버시를 향상시키기 위해) 사용자 식별자의 분리가 바람직하거나 피할 수없는 상황에서 사용될 수 있다.
본 문서는 서비스 장치에 관한 것이다. 본 명세서에서 사용되는 바와 같이, 서비스 장치는 네트워크를 통한 컨텐츠의 배포를 용이하게 하는 동작들을 수행하는 하나 이상의 데이터 처리 장치이다. 서비스 장치는 블록도에서 단일 블록으로 도시되어 있다. 그러나, 서비스 장치는 단일 디바이스 또는 단일 디바이스 세트일 수 있지만, 본 개시는 서비스 장치가 클라이언트 디바이스에 다양한 컨텐츠를 제공하기 위해 통신하는 디바이스 그룹 또는 심지어 다수의 상이한 시스템일 수도 있음을 고려한다. 예를 들어, 서비스 장치는 검색 시스템, 비디오 스트리밍 서비스, 오디오 스트리밍 서비스, 이메일 서비스, 내비게이션 서비스, 광고 서비스 또는 임의의 다른 서비스 중 하나 이상을 포함할 수 있다.
도 2a는 식별자 매핑(224)을 생성하기 위한 예시적인 기술을 도시한 블록도(200)이다. 식별자 매핑(250)은 서비스 장치(110)(또는 추가 장치)에 의해 사용자에게 할당된 서비스 식별자("SID")를 게시자(206)에 의해 사용자에게 할당된 클라이언트 식별자("CID")에 매핑한다. 게시자(206)는 게시자 리소스의 소유자, 운영자 및/또는 관리자일 수 있다. 일부 구현에서, 게시자 리소스(206)는 서비스 장치(110)의 문서 및/또는 서비스와 상이한 도메인(예를 들어, 다른 완전히 정규화된 도메인 또는 다른 제2 레벨 도메인)에 있다. 예를 들어, 게시자 리소스(206)는 example.com 도메인에 있을 수 있지만, 서비스 장치(110)에 의해 제공되는 문서 및/또는 서비스는 example.com 도메인에 있지 않다. 특정 예에서, 서비스 장치(110)는 google.com 도메인에서 문서 및/또는 서비스에 대한 HTTP 요청을 서비스할 수 있는 반면, 게시자 리소스(206)는 (예를 들어, google.com 이외의) 상이한 도메인에 있을 수 있다.
게시자에 의해 사용자에게 할당되고 클라이언트 디바이스(106)에 저장된 클라이언트 식별자들은 example.com 도메인에 상주하는 디바이스(예를 들어, 서버)에 의해서만 액세스될 수 있는데, 이는 서비스 장치(110)가 게시자에 의해 사용자에게 할당되고 클라이언트 디바이스(106)에 저장된 해당 식별자들에 액세스할 수 없음을 의미한다. 보다 구체적으로, 클라이언트 디바이스(106)가 브라우저(208)(또는 기본 애플리케이션)를 사용하여 소정 네트워크 위치(예를 들어, URL)에 액세스할 때, 브라우저는 일반적으로 소정 네트워크 위치에서 제공되는 웹 페이지/서비스의 도메인과 상이한 도메인에서 비롯된 쿠키(또는 다른 파일)를 제공하지 않을 것이다. 이와 같이, 클라이언트 디바이스(106)가 브라우저(208)(또는 기본 애플리케이션)를 사용하여 서비스 장치(110)에 액세스할 때, 서비스 장치(110)에 의해 제공되는 문서 및/또는 서비스의 도메인과 상이한 도메인으로부터 클라이언트 디바이스(106) 상에 제공된(dropped) 쿠키는 서비스 장치(110)로 제공되지 않을 것이다. 따라서, 게시자(206)에 의해 사용자에게 할당되고 클라이언트 디바이스(106)에(예를 들어, 게시자 쿠키에) 저장된 임의의 클라이언트 식별자는 브라우저(208)에 의해 서비스 장치(110)로 전달되지 않을 것이다.
게시자(206)는 클라이언트 디바이스(106)가 예를 들어 게시자의 속성(예를 들어, 웹 페이지 및/또는 기본 애플리케이션)에 임베딩된 픽셀(210)로 지칭되는 태그(210)를 이용하여 게시자의 쿠키(예를 들어, 게시자의 도메인으로부터 클라이언트 디바이스 상에 제공된 임의의 쿠키)로부터 서비스 장치(110)로 정보를 전송하게 할 수 있다. 픽셀(210)은 게시자 리소스(206)에 임베딩된 1×1 픽셀(또는 다른 픽셀, 스크립트 또는 다른 태그)일 수 있다. 클라이언트 디바이스(106)가 게시자 리소스(206)에 대한 요청(212)을 제출하면, 그 요청은 게시자의 서버들 중 하나에 의해 수신되고, 게시자 리소스(206)를 포함하는 응답이 클라이언트 디바이스(106)로 전송된다. 클라이언트 디바이스(106)가 브라우저(208) 내에서 게시자 리소스(206)를 렌더링함에 따라, 클라이언트 디바이스는 픽셀(210)을 만날 것이다. (예를 들어, 브라우저(208)를 사용하여) 클라이언트 디바이스(106)에 의한 픽셀(210)의 실행은 서비스 장치(110)(예를 들어, 서비스 장치(110)의 URL)에 대한 네트워크 호출(216)을 트리거한다.
픽셀(210)은 사용자에 대한 클라이언트 식별자(예를 들어, "CID1")를 네트워크 호출(216)에 임베딩하도록 구성될 수 있다. 픽셀(210)은 또한 게시자에 대한 식별자(예를 들어, "PID1")와 같은 추가 정보를 네트워크 호출(216)에 임베딩하도록 구성될 수 있다. 예를 들어, 클라이언트 디바이스(106)가 브라우저(208)를 사용하여 게시자 리소스(206)를 요청하면, 브라우저(208)는 클라이언트 디바이스(106)에 저장된 게시자의 쿠키를 게시자의 서버로 전달할 수 있다. 게시자 서버는 클라이언트 디바이스(106)가 픽셀(210)을 실행할 때, 이 정보를 픽셀(210)에 임베딩하여 임베딩된 정보가 서비스 장치(110)로 전달되는 네트워크 호출(216)에 포함되도록 할 수 있다. 이러한 방식으로, 서비스 장치(110)는 이들 클라이언트 식별자를 브라우저(208)가 (예를 들어, 사용자가 서비스 장치(110)의 URL을 브라우저(208)에 입력함으로써 개시되는) 서비스 장치(110)에 대한 정기 네트워크 호출의 일부로서 서비스 장치(110)에 제공할 수 없는 경우에도 사용자에게 할당된 임의의 클라이언트 식별자를 획득할 수 있다.
픽셀(210)이 서비스 장치(110)에 대한 네트워크 호출(216)을 개시할 때, 픽셀(210)에 임베딩된 정보는 일반적으로 서비스 장치(110)에 의해 사용자에게 할당된 임의의 서비스 식별자(예를 들어, SID1)를 포함하지 않을 것이다. 이는 클라이언트 디바이스(106)가 게시자 리소스(206)를 요청할 때, 브라우저(208)는 클라이언트 디바이스(106) 상에 제공된 쿠키를 위에서 논의된 이유로(예를 들어, 게시자 서버와 쿠키 사이의 상이한 및/또는 매칭되지 않는 도메인) 게시자 서버로 전달하지 않을 것이기 때문이다. 그러나, 픽셀(210)이 서비스 장치(110)에 대한 네트워크 호출(216)을 생성할 때, 해당 네트워크 호출(216)은 서비스 장치(110)의 도메인(예를 들어, google.com)으로 보내질 것이며, 따라서 브라우저(208)는 서비스 장치(110)의 쿠키(218)((예를 들어, 서비스 장치(110)와 동일한 도메인을 가짐)를 서비스 장치(110)로 전송할 것이다. 서비스 장치(110)로 전송되는 쿠키(218)는 서비스 장치(110)(또는 서비스 장치(110)와 동일한 도메인 내의 다른 디바이스)에 의해 사용자에게 할당된 서비스 식별자(예를 들어, "SID1")를 포함할 것이다. 따라서, 픽셀(210)이 실행(fire)될 때, 클라이언트 디바이스(106)는 서비스 장치(110)에 의해 사용자에게 할당된 서비스 식별자 뿐만 아니라 게시자에 의해 사용자에게 할당된 클라이언트 식별자를 서비스 장치(110)로 전송할 것이다.
위의 예는 서비스 식별자와 클라이언트 식별자를 서비스 장치(110)로 전송하기 위해 픽셀을 사용하는 것을 지칭한다. 일부 구현에서, 서비스 식별자와 클라이언트 식별자는 게시자 리소스(206)에 임베딩된 스크립트(예를 들어, 자바스크립트)를 사용하여 클라이언트 디바이스(106)에 의해 서비스 장치(110)로 전송될 수 있다. 스크립트는 예를 들어, 서비스 장치(110)를 소유/운영하는 서비스 제공자에 의해 제공되는 스크립트일 수 있다. 브라우저(208)가 스크립트를 만나면, 브라우저(208)는 스크립트를 실행하여 브라우저(208)가 서비스 식별자 및/또는 클라이언트 식별자를 포함하여 HTTP 요청을 서비스 장치(110)로 전송하게 한다. 일부 구현에서, 스크립트는 브라우저(208)가 HTTP 요청과 동일한 도메인을 갖는 하나 이상의 쿠키를 서비스 장치(110)에 액세스하게 하고, 쿠키 및/또는 그 쿠키의 정보를 서비스 장치(110)로 제공하게 한다. 이러한 방식으로, 스크립트는 서비스 식별자와 클라이언트 식별자를 서비스 장치(110)로 전송하는데 사용될 수 있다.
클라이언트 식별자는 클라이언트 디바이스에 저장되지 않고 오히려 클라이언트 디바이스(106)에 저장될 수 있고, HTTP 요청 파라미터에 포함되거나 또는 클라이언트 디바이스(106)가 게시자에 의해 제공된 전자 문서 및/또는 서비스에 액세스할 때 게시자 서버에 의해 생성된 동적 HTTP 응답에 포함되는 다른 사용자 특정 정보에 기초하여 생성될 수 있음에 유의해야 한다. 픽셀 또는 스크립트가 브라우저(208)에 의해 실행될 때, 이러한 유형의 클라이언트 식별자는 또한 브라우저(208)에 의해 획득되어 서비스 장치(110)로 전송될 수 있다. 게시자의 리소스에 입베딩된 스크립트 및/또는 기타 실행 가능 명령을 태그라고 하며, 이러한 스크립트 및/또는 다른 실행 가능 명령의 실행에 기초하여 제공된 정보를 통칭하여 태그 정보라고 지칭한다. 태그의 실행(execution)은 태그의 실행(firing)이라고도 지칭된다.
서비스 장치(110)는 클라이언트 식별자와 서비스 식별자 모두를 수신하고, 서비스 식별자와 클라이언트 식별자가 모두 동일한 사용자에게 할당 및/또는 대표됨을 나타내는 매핑 정보(220)를 생성한다. 예를 들어, 매핑 정보는 서비스 장치(110)가 동일한 사용자를 나타내는 다른 대응하는 식별자를 획득하기 위해 서비스 식별자 또는 클라이언트 식별자 중 하나를 사용할 수 있게 하는 방식으로 배열된 데이터 세트일 수 있다. 예를 들어, 매핑 정보는 단순히 서비스 식별자와 클라이언트 식별자가 동일한 사용자를 나타내는 것을 나타내는 키 값 쌍으로 포맷될 수 있다.
본 혁신에 의해 사용자 프라이버시가 강화되는 한 가지 방법은 클라이언트 식별자와 서비스 식별자의 매핑이 생성되고 저장되는 방식이다. 예를 들어, 게시자에 의해 할당된 클라이언트 식별자와 서비스 장치(110)에 의해 할당된 서비스 식별자에 대한 직접 매핑을 단순히 저장하는 것이 아니라, 서비스 장치(110)는 서비스 식별자에 매핑된 클라이언트 식별자의 해시를 생성할 수 있다. 이것은 사용자의 클라이언트 식별자가 공개되는 기능을 제한한다. 게다가, (예를 들어, 2명의 상이한 게시자가 동일한 클라이언트 식별자를 동일한 사용자에게 할당하는 방식으로) 2개의 상이한 클라이언트 식별자를 동일한 사용자에게 링크할 가능성을 방지하기 위해, 서비스 장치(110)는 해싱 전에 게시자 식별자를 클라이언트 식별자와 결합할 수 있다.
예를 들어, 식별자(PID1)을 갖는 게시자는 특정 사용자에게 클라이언트 식별자(CID1)를 할당하고, 식별자(PID2)를 갖는 상이한 게시자는 동일한 특정 사용자에게 클라이언트 식별자(CID1)을 할당했다고 가정한다. 이 예에서 첫 번째 게시자에 대한 클라이언트 식별자의 매핑은 예를 들어 SID1 = hash(PID1 : CID1)일 수 있지만 두 번째 게시자에 대한 매핑은 SID1 = hash(PID2 : CID1) 일 수 있으므로 상이한 게시자에 따라 상이한 매핑이 발생한다.
서비스 장치(110)는 매핑 정보(220)를 ID 매핑 데이터베이스(222)에 저장할 수 있다. 예를 들어, ID 매핑 데이터베이스(222)의 각 항목(entry)은 동일한 사용자를 나타내는 한 쌍의 서비스 식별자 및 클라이언트 식별자에 대응할 수 있다. 즉, 각 항목은 사용자의 서비스 제공자와 동일한 사용자의 클라이언트 ID에 대한 매핑을 지정할 수 있다. ID 매핑 데이터베이스(222)는 다수의 상이한 사용자에 대한 다수의 매핑 정보의 인스턴스(220)를 저장할 수 있으며, 이를 통칭하여 식별자 매핑(224)이라고 지칭한다.
일부 서비스 제공자는 상이한 서비스에 대해 상이한 서비스 식별자 및/또는 상이한 도메인을 이용할 수 있다. 이러한 상황에서, 위에서 수행된 프로세스는 필요에 따라 추가 프로세스와 결합하여, 쿠키 매핑을 확장하는 동시에 상이한 서비스 식별자를 동일한 클라이언트 식별자에 연결(linking)하지 못하게 하여 사용자 프라이버시를 계속 보호할 수 있다. 예를 들어, 클라이언트 식별자와 서비스 식별자의 조합이 서비스 장치(110)에 의해 수신될 때, 서비스 장치(110)는 사용자가 서비스 장치(110)가 제공하는 서비스에 현재 로그인되어 있는지 여부를 결정할 수 있다.
만약 사용자가 서비스 장치(110)에 의해 제공되는 서비스(예를 들어, 비디오 스트리밍 서비스)에 현재 로그인한 경우, 서비스 장치(110)는 서비스를 통해 사용자의 계정에 대한 계정 식별자를 식별할 수 있다. 이 계정 식별자를 사용하여, 서비스 장치(110)는 서비스 제공자에 의해 제공되는 다른 서비스(예를 들어, 검색 서비스)에 대해 사용자에게 할당된 다른 상이한 픽셀 식별자(픽셀 실행(firing)에 기초하여 클라이언트 디바이스(106)로부터 수신된 서비스 식별자와 상이한)를 식별할 수 있다. 예를 들어, 서비스 장치(110)는 다른 서비스(예를 들어, 검색 서비스)에 대한 계정 식별자 및 대응하는 서비스 식별자의 인덱스를 검색하고, 그 다른 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별할 수 있다. 서비스 장치(110)는 클라이언트 식별자 및 상이한 서비스 식별자를 사용하여, 상술한 것과 유사한 방식으로 클라이언트 식별자 및 상이한 서비스 식별자 사이의 매핑을 예를 들어 상이한 데이터베이스에서 생성할 수 있다. 이러한 방식으로, 서비스 장치 (110)는 서비스 제공자가 제공하는 서비스 중 하나와 상이한 식별자 공간(예를 들어, 쿠키 공간)에 있는 게시자 리소스에서 단일 픽셀 실행을 통해 2개의 상이한 식별자 공간에 걸쳐 본 문서 전체에서 논의된 동작들을 수행할 수 있다.
이 교차 식별자 공간(예를 들어, 교차 쿠키 공간) 구현에서 사용자 프라이버시를 추가로 보호하기 위해, 상이한 해시 함수(또는 시드)가 게시자(206)에 의해 사용자에게 할당된 클라이언트 식별자를 해싱할 때 사용될 수 있다. 예를 들어 위에서 설명한 클라이언트 식별자의 동일한 해시를 사용하는 대신, 서비스 장치(110)는 상이한 해시 함수(또는 시드)를 사용하여 클라이언트 식별자의 상이한 해시를 생성할 수 있고, 따라서 클라이언트 식별자와 제1 서비스 식별자(예를 들어, 제1 서비스)의 제1 매핑이 제2 서비스 식별자에 대한 클라이언트 식별자의 제2 매핑과 상이하다(직접적으로 귀속되지는 않는다). 보다 구체적으로, 제1 서비스에 대한 제1 매핑은 예를 들어 SID1 = hash1(PID1 : CID1) 일 수 있고, 제2 서비스에 대한 제2 매핑은 예를 들어 SID2 = hash2(PID1 : CID1) 일 수 있으므로, SID1과 SID2가 동일한 사용자에게 할당되어 있는지 분명하지 않다. 서로 상이한 매핑내의 항목들이 서로 귀속되지 않도록 보장하면서, 클라이언트 식별자를 (예를 들어, 각 서비스에 대한) 각각의 식별자 공간에서 대응하는 서비스 식별자에 링크하기 위해 임의의 수의 식별자 공간에 걸쳐 유사한 프로세스가 수행될 수 있다.
일부 상황에서, 사용자들은 다수의 상이한 디바이스를 사용하여 서비스 제공자(예를 들어, 서비스 장치(110))의 서비스에 액세스할 수 있다. 예를 들어, 사용자는 먼저 자신의 모바일 디바이스를 사용하여 특정 서비스에 액세스하고, 이어서 디지털 어시스턴트 디바이스를 사용하여 동일한 서비스에 액세스한 다음 태블릿 디바이스를 사용하여 동일한 서비스에 액세스할 수 있다. 이 예에서 각 디바이스에는 그 디바이스에 저장된 상이한 서비스 식별자가 있다. 사용자 프라이버시를 보호하기 위해, 서비스 장치(110)는 가장 최근에 발생된 서비스 식별자에 대한 매핑만을 유지하도록 구성될 수 있다.
위의 예에 계속하여, 서비스 장치(110)는 예를 들어 상술한 방식으로 모바일 디바이스에 저장된 서비스 식별자를 클라이언트 식별자에 먼저 매핑한다고 가정한다. 또한, 나중에, 서비스 장치(110)는 (예를 들어, 픽셀 실행으로 인해) 클라이언트 식별자와 함께 태블릿 디바이스로부터 클라이언트 식별자를 수신한다고 가정한다. 이 상황에서, 서비스 장치(110)는 모바일 디바이스로부터 획득된 서비스 식별자를 사용하여 생성된 서비스 식별자에 대한 클라이언트 식별자의 매핑을 삭제함으로써 식별자 매핑(224)으로부터 이전에 수신된 서비스 식별자를 제거할 수 있다. 그러나, 서비스 장치(110)는 게시자(206)에 의해 사용자에게 할당된 클라이언트 식별자에 대한 제2 서비스 식별자(예를 들어, 태블릿 디바이스로부터 수신된 서비스 식별자)의 새로운 매핑을 생성하고, 해당 매핑을 전술한 것과 유사한 방식으로 매핑 리스트(224)에 저장할 수 있다. 이러한 방식으로, 서비스 장치(110)는 동일한 사용자에게 귀속될 수 있는 식별자의 수를 감소시킴으로써 사용자 프라이버시를 더욱 강화시키며, 이는 특정 사용자에게 귀속될 수 있는 정보의 양을 제한한다.
일부 구현에서, 하나 이상의 추가 디바이스(미도시)는 네트워크 호출(216)을 수신하여 클라이언트 디바이스(106)를 서비스 장치(110)로 리디렉션(redirect)할 수 있다. 예를 들어, 픽셀(210)은 변환(conversion)(또는 다른 분석 데이터)을 추적하는 서버에 대한 네트워크 호출(216)을 개시할 수 있다. 이 예에서, 변환을 추적하는 서버는 네트워크 호출(216)에서 식별된 변환을 기록할 수 있고 클라이언트 식별자 및/또는 게시자 식별자를 리디렉션으로 서비스 장치(110)에 전달할 수 있다. 변환을 추적하는 서버는 또한 (예를 들어, 추가 장치가 서비스 장치(110)와 동일한 도메인에 속하는 경우) 서비스 식별자를 서비스 장치(110)에 전달할 수 있다. 대안적으로 및/또는 투가적으로, 추가 장치로부터의 리디렉션이 클라이언트 디바이스(106)에 의해 실행될 때, 브라우저는 서비스 쿠키(들)를 식별하여, 추가 장치에 의해 개시된 리디렉션에 임베딩된 네트워크 호출(216)의 정보와 함께 그것들을 전달할 것이다.
도 2b는 교차-도메인 환경에서 사용자 프라이버시를 강화하기 위한 예시적인 기술을 도시한 블록도(250)이다. 블록도(250)에 의해 예시된 기술은 (예를 들어, 생성된 후) 도 2a를 참조하여 논의된 식별자 매핑(224)을 사용하여 수행될 수 있다. 더욱이, 블록도(250)에 의해 도시된 기술은 서비스 장치(110)가 사용자들이 서비스 장치(110)에 의해 제공된 서비스에 액세스할 때(예를 들어, 클라이언트 식별자가 클라이언트 디바이스(106)에 의해 서비스 장치(110)로 제공되지 않을 때) 게시자(206)에 의해((예를 들어, 클라이언트 식별자를 통해) 지정된 사용자 리스트로의 사용자-특정 정보의 전달(예를 들어, 분배 또는 전송)을 용이하게 한다.
위에서 논의된 바와 같이, 게시자(206)는 사용자-특정 정보(예를 들어, 리 마케팅 컨텐츠)가 지정된 사용자 리스트에 제공되도록 지정할 수 있다. 일부 상황에서, 게시자(206)는 사용자가 게시자의 도메인 외부의 서비스 장치(110)(또는 다른 제3자 서비스 제공자)에 의해 제공된 서비스에 액세스(또는 이용)할 때 그 지정된 사용자 세트에 제공된 사용자-특정 정보를 원할 수 있다. 서비스 장치(110)가 사용자-특정 정보를 게시자(206)에 의해 선택된 사용자에게 분배(또는 전송)하는 기능을 용이하게 하기 위해, 게시자(206)는 게시자가 사용자-특정 정보의 수신자가되도록 선택한 사용자들을 나타내는 클라이언트 식별자(252)의 리스트를 서비스 장치(110)로 제공할 수 있다. 클라이언트 식별자 리스트(252)는 게시자(206)에 의해 대응하는 사용자(들)에게 할당된 하나 이상의 클라이언트 식별자를 지정한다. 리스트내의 클라이언트 식별자는 사용자가 게시자의 도메인(예를 들어, 게시자 웹 사이트의 임의의 웹 페이지)에서 제공된 리소스를 처음 방문할 때 사용자에게 할당될 수 있다. 추가적으로 또는 대안적으로, 클라이언트 식별자 리스트는 사용자가 게시자가 제공한 특정 리소스(예를 들어, 게시자 웹 사이트 내의 특정 페이지)를 방문할 때 사용자에게 할당될 수 있다. 클라이언트 식별자는 사용자의 클라이언트 디바이스(106), 예를 들어 게시자 도메인 내에 네트워크 어드레스를 갖는 디바이스(예를 들어, 서버)에 의해서만 액세스 가능한 쿠키에 저장될 수 있다.
서비스 장치(110)가 클라이언트 식별자 리스트(252)를 수신한 후, 서비스 장치(110)는 식별자 매핑(224)을 사용하여, 클라이언트 식별자(252)의 리스트에서 클라이언트 식별자에 의해 표현된 각 사용자에게 서비스 식별자가 할당되었는지 여부를 결정할 수 있다. 일부 구현에서, 서비스 장치(110)는 클라이언트 식별자들의 리스트(252)에 포함된 각각의 특정 클라이언트 식별자와 매칭하는 식별자 매핑(224)내의 항목을 식별하기 위해 식별자 매핑(224)의 조회(또는 검색)를 수행할 수 있다. 예를 들어, 서비스 장치(110)는 클라이언트 식별자 리스트의 각 클라이언트 식별자를 식별자 매핑(224)의 각 항목의 클라이언트 식별자와 비교할 수 있다. 본 예에서, 서비스 장치(110)는 식별자 매핑(224)이 클라이언트 식별자(252)의 리스트내의 식별자들과 매칭하는 클라이언트 식별자(예를 들어, CID1, CID2)를 포함하는 항목 세트(254)를 포함한다고 결정할 것이다.
서비스 장치(110)가 식별자 매핑(224)내의 항목이 클라이언트 식별자(252)의 리스트내의 클라이언트 식별자들 중 하나와 매칭한다고 결정할 때(예를 들어, 비교 기능, 질의 기능 또는 다른 기능에 의해), 서비스 장치(110)는 그 매칭된 클라이언트 식별자를 포함하는 항목에 포함된 소정 서비스 식별자를 식별할 수 있다. 위에서 논의된 바와같이, 식별자 매핑(224)의 동일한 항목에 소정 서비스 식별자를 포함하는 것은 소정 서비스 식별자가 그 항목에서 클라이언트 식별자에 의해 표현되는(예컨대, 할당된) 동일한 사용자를 나타내거나(예를 들어, 할당된) 것을 나타낸다. 이와 같이, 서비스 장치(110)는 서비스 식별자(클라이언트 식별자는 아님)를 게시자 리스트 데이터베이스(258)에 저장된 매칭된 서비스 식별자(256)의 리스트에 추가할 수 있다. 이러한 방식으로, 서비스 장치(110)는 클라이언트 식별자들을 사용하여 게시자에 의해 식별된 사용자들을 나타내는 서비스 식별자 세트를 생성할 수 있다. 이 서비스 식별자들의 세트는 서비스 장치(110)가 서비스 식별자들만을 사용하여(예를 들어, 클라이언트 식별자 없이), 서비스 장치(110)의 서비스에 액세스하는 소정 사용자가 게시자가 사용자-특정 정보를 수신하도록 지정한 사용자인지(예를 들어, 클라이언트 식별자를 통해) 여부를 결정하게 한다.
일부 구현에서, 게시자 리스트 데이터베이스(258)는 매칭된 식별자(256)의 리스트를 포함하는 데이터 구조(260)를 저장한다. 데이터 구조(260)는 또한 매칭된 식별자(256)의 리스트를 생성하는데 사용된 클라이언트 식별자들을 제출한 게시자(예를 들어, 게시자 ID, PID1)를 식별하는 정보를 포함할 수 있다. 데이터 구조(260)는 또한 게시자가 그 게시자에 의해 지정된 사용자들에게 전달되도록 지정한 사용자 지정 컨텐츠(예를 들어, U-S 컨텐츠 1)를 식별하는 정보를 포함할 수 있다. 게시자 리스트 데이터베이스는 다수의 상이한 게시자가 제공하는 다수의 상이한 사용자 리스트에 사용자-특정 정보를 제공할 수 있도록 다수의 상이한 게시자에 대해 상이한 데이터 구조를 저장할 수 있다.
클라이언트 디바이스(106)가 서비스 장치(110)에 의해 제공되는 서비스에 액세스하거나, 요청을 서비스 장치(110)(예를 들어, 서비스 장치(110)와 동일한 도메인에 속하는 임의의 리소스)에 제출할 때, 클라이언트 디바이스(106)는 서비스 장치(110)에 의해 사용자에게 할당된 서비스 식별자를 서비스 장치(110)로 제출할 것이다. 예를 들어, 위에서 논의된 바와 같이, 사용자가 서비스 장치에 의해 제공된 웹 사이트에 액세스하는 경우(예를 들어, google.com과 같이 장치와 동일한 제2 레벨 도메인에 있는 경우), 클라이언트 디바이스(106)에서 실행되는 브라우저는 서비스 장치(110)의 도메인(예를 들어, 제2 레벨 도메인)에 속하는 임의의 쿠키를 서비스 장치(110)에 제공한다.
특정 예에서, 도 2b에 도시된 바와 같이. 클라이언트 디바이스(106)는 서비스 장치(110)의 도메인에서 호스팅되고 서비스 컨텐츠(266)를 포함하는 웹 페이지 (264)에 액세스하기 위해 서비스 장치(110)와 접촉한다. 클라이언트 디바이스(106)가 웹 페이지(264)를 요청할 때, 브라우저(208)는 서비스 장치(110)에 의해 사용자에게 할당된 서비스 식별자(268)(예를 들어, 쿠키 파일의 일부)를 서비스 장치 (110)에 제출할 것이다.
서비스 장치(110)는 서비스 컨텐츠(266)를 포함하는 웹 페이지(264)를 제공함으로써 웹 페이지에 대한 요청에 응답한다. 일부 구현에서, 서비스 컨텐츠는 검색 시스템을 위한 사용자 인터페이스이다. 이러한 상황에서, 사용자는 검색 질의를 서비스 장치(110)에 제출할 수 있고, 서비스 장치는 검색 결과 페이지의 형태로 서비스 컨텐츠(266)를 이용하여 응답할 수 있다. 검색 결과 페이지는 검색 결과와 상이한 제3자 컨텐츠(예를 들어, 디지털 컴포넌트)의 프리젠테이션을 에 대해 예약된 컨텐츠 슬롯(270)을 포함할 수 있다.
서비스 장치(110)는 사용자에 대한 서비스 식별자(268)가 게시자 리스트 데이터베이스(258)에 포함되는지 여부에 부분적으로 기초하여 컨텐츠 슬롯(270)을 채우는 제3자 컨텐츠를 선택할 수 있다. 예를 들어, 서비스 장치(110)는 게시자 리스트 데이터베이스(258)의 조회(또는 질의)를 수행하여, 클라이언트 디바이스(106)로부터 획득된 서비스 식별자(268)가 게시자에 대한 데이터 구조(260)에 포함되는지 여부를 결정할 수 있다. 보다 구체적으로, 서비스 장치(110)는 서비스 식별자(268)를 사용하여 게시자 리스트 데이터베이스(258)를 질의할 수 있다. 질의가 게시자 리스트 데이터베이스(258)에 저장된 데이터 구조(260)에서 매치를 리턴하는 경우, 서비스 장치(110)는 데이터 구조(260)에 의해 지정된 컨텐츠를 클라이언트 디바이스(106)로 전송할 수 있다.
예를 들어, 서비스 장치(110)가 서비스 식별자(268)를 사용하여 게시자 리스트 데이터베이스(258)를 질의할 때, 질의 결과는 매칭 서비스 식별자(272)가 PID1의 게시자 식별자를 갖는 게시자에 대한 데이터 구조(260)에 포함되어 있다는 표시 일 수 있다. 다시 말해서, 질의에 대한 응답은 클라이언트 디바이스가 게시자에 대한 매칭(된) 서비스 식별자의 리스트에 포함된 서비스 식별자를 제공했다는 표시일 수 있다.
매칭 서비스 식별자(272)의 식별에 응답하여, 서비스 장치는 데이터 구조(260), 이 예에서 U-S 컨텐츠 1(275)내의 서비스 식별자들에 의해 표현되는 사용자들에 대해 예약된(예를 들어, 지정된) 컨텐츠를 전송할 수 있다. 예를 들어, 서비스 장치(110)는 컨텐츠 데이터베이스(274)로부터 U-S 컨텐츠 1(275)를 검색하여, 그 검색된 컨텐츠를 컨텐츠 슬롯(270)에서의 프리젠테이션을 위해 클라이언트 디바이스(106)로 전송할 수 있거나, 서비스 장치(110)는 U-S 컨텐츠 1(275)의 네트워크 어드레스를 사용자 디바이스(106)로 전송하고, 사용자 장치는 네트워크 어드레스로부터 U-S 컨텐츠 1(275)을 검색할 수 있다. 현재 예에서, 예약된 컨텐츠는 사용자-특정 정보 U-S 컨텐츠 1(275)이다.
질의가, 클라이언트 디바이스가 게시자에 의해 제공된 매칭 서비스 식별자의 리스트에 포함된 서비스 식별자를 제공하지 않았다는 표시인, 상기 게시자 리스트 데이터베이스(258)가 매칭 서비스 식별자(272)를 포함한다는 표시를 리턴하지 못하는 경우, 서비스 장치(110)는 컨텐츠 슬롯(270)을 채우기 위한 어떠한 컨텐츠를 제공할 수 없거나, 서비스 장치(110)는 매칭 서비스 식별자의 리스트에 의해 표현된 사용자들에 대해 예약되지(또는 구체적으로 지정되지) 않은 컨텐츠를 제공할 수 있다. 현재 예에서, 이 상황에서 사용자-특정 정보(U-S 컨텐츠 1(275))는 클라이언트 디바이스로 제공되지 않을 것이다.
위의 설명은 서비스 식별자(268)가 예를 들어 PID1의 게시자 식별자를 갖는 게시자에 대한 데이터 구조(260)에 포함되는지 여부를 결정하는 것을 지칭한다. 일부 구현에서, 각 서비스 식별자는 사용자를 포함하는 모든 게시자 리스트를 결정하기 위한 인덱스 키로서 사용된다. 예를 들어, 데이터 구조(260)는 게시자 식별자(예를 들어, PID) 및 대응 컨텐츠를 서비스 식별자에 매핑하는 것을 포함할 수 있는데, 서비스 식별자(268)를 사용하여, 사용자를 포함하는 모든 게시자 리스트 및 각 리스트의 사용자에게 배포될 대응하는 컨텐츠를 직접 조회할 수 있게 한다.
보다 구체적으로, 데이터 구조(260)가 다음의 매핑 SID1 → PID1 : U-S 컨텐츠 1, PID2 : U-S 컨텐츠 2, PID3 : U-S 컨텐츠 3을 포함한다고 가정한다. 이 예에서, 서비스 장치(110)는 수신된 서비스 식별자(SID1)를 게시자 리스트 데이터베이스(258) 및/또는 데이터 구조(260)를 검색하기 위한 질의 파라미터로서 사용할 수 있다. 질의에 대한 응답은 서비스 식별자(SID1)를 포함하는 게시자 리스트에 대응하는 게시자 식별자 리스트 및 그 게시자 리스트의 사용자에게 제공되도록 지정된 대응 컨텐츠이다. 이 응답은 또한 클라이언트 디바이스가 게시자(또는 다수의 게시자)에 대한 매칭 서비스 식별자 리스트에 포함된 서비스 식별자를 제공했다는 표시로서 간주된다. 서비스 장치(110)는 이 게시자 식별자 리스트 및 대응 컨텐츠를 사용하여 클라이언트 디바이스(106)로 실제로 전송될 컨텐츠를 결정할 수 있다. 예를 들어, 서비스 장치는 도 1을 참조하여 설명된 것과 유사한 컨텐츠 선택 프로세스를 수행할 수 있다.
위의 예에서, 서비스 장치(110)에 의해 제공되는 서비스는 검색 서비스로 지칭되지만, 서비스는 임의의 서비스일 수 있다. 예를 들어, 서비스는 컨텐츠 슬롯이 제3자 컨텐츠의 프리젠테이션을 위한 시간 슬롯인 음악 스트리밍 서비스일 수 있다. 서비스는 이메일 서비스, 소셜 미디어 서비스, 디지털 어시스턴트 서비스, 비디오 스트리밍 서비스, 다른 온라인 미디어 서비스, 쇼핑 서비스, 광고 서비스 또는 온라인으로 제공되는 임의의 다른 서비스일 수 있다.
일부 구현에서, 컨텐츠 및/또는 서비스는 컨텐츠가 궁극적으로 제공되는 게시자 및 서비스 장치(110) 각각과 상이한 제3자에 의해 제공될 수 있다. 이러한 상황에서, 서비스 장치(110)가 제3자에 의해 제공되는 컨텐츠 및/또는 서비스 내에서 서비스를 제공할 때 유사한 프로세스가 사용될 수 있다. 예를 들어, 제3자 컨텐츠가 서비스 장치(110)로 HTTP 요청을 생성하는 픽셀 또는 스크립트를 포함하는 경우, 그 HTTP 요청을 개시하는 브라우저(또는 애플리케이션)는 서비스 식별자(272)를 서비스 장치(110)로 제공할 수 있고, 서비스 장치(110)는 전술한 것과 유사한 방식으로 서비스 식별자(272)를 이용하여 클라이언트 디바이스(106)에서 제3자 컨텐츠 또는 서비스와 함께 제시될 컨텐츠를 선택할 수 있다.
도 3은 교차-도메인 컨텐츠 분배 환경에서 사용자 프라이버시를 강화하기 위한 예시적인 프로세스(300)의 흐름도이다. 프로세스(300)는 위에서 논의된 서비스 장치(110)와 같은 하나 이상의 데이터 처리 장치에 의해 수행될 수 있다. 프로세스는 또한 비-일시적 컴퓨터 판독 가능 매체에 저장된 명령들로서 구현될 수 있다. 명령들은 하나 이상의 데이터 처리 장치에 의해 실행될 수 있다. 명령들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(300)의 동작들을 수행하게 할 수 있다.
태그 정보는 클라이언트 디바이스로부터 네트워크 호출로 수신된다(302). 일부 구현에서, 태그 정보를 포함하는 네트워크 호출은 게시자 리소스에 임베딩된 태그(예를 들어, 픽셀)를 실행함으로써 생성된다. 예를 들어, 클라이언트 디바이스가 게시자 리소스를 렌더링할 때, 클라이언트 디바이스는 태그를 실행하여 태그를 실행함으로써 태그 정보를 서비스 장치로 전달하는 네트워크 호출을 생성한다. 일부 구현에서, 태그 정보는 게시자 리소스의 게시자에 대한 소정 게시자 식별자 및 그 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 포함한다. 소정 게시자 식별자는 게시자를 고유하게 식별할 수 있는 반면, 소정 클라이언트 식별자는 게시자의 도메인 내에서 사용자를 고유하게 식별할 수 있다.
소정 서비스 식별자가 클라이언트 디바이스(304)로부터 획득된다. 소정 서비스 식별자는 서비스 장치에 의해 사용자에게 할당된 식별자이다. 일부 구현에서, 소정 서비스 식별자는 서비스 제공자의 도메인 내의 다른 사용자들에 비해 사용자를 고유하게 식별한다. 소정 서비스 식별자는 예를 들어 서비스 장치에 의해 클라이언트 디바이스 상에 제공된 쿠키를 통해 획득될 수 있다.
예를 들어, 클라이언트 디바이스가 게시자 리소스에서 태그를 만나기 전에, 클라이언트 디바이스는 서비스 제공자에 의해 제공된 서비스에 액세스했을 수 있다. 이 예에서, 소정 서비스 식별자를 포함하는 쿠키는 서비스 장치에 의해 클라이언트 디바이스에서 제공되었을 수 있다. 태그가 클라이언트 디바이스에서 실행되어 네트워크 호출이 서비스 장치로 제출되는 경우, 클라이언트 디바이스에서 실행되는 브라우저(또는 다른 애플리케이션)는 (예를 들어, 태그 또는 네트워크 호출로부터) 서비스 장치의 도메인을 식별하고, 해당 도메인을 사용하여 도메인이 서비스 장치의 도메인과 매칭하는 쿠키를 식별하여, 소정 서비스 식별자를 포함할 수 있는 쿠키를 서비스 장치로 제출할 수 있다.
사용자의 난독화된 표현이 생성된다(306). 사용자의 난독화된 표현은 그 표현에 의해 사용자의 신원이 곧바로 결정되는 것을 방지하는데 도움이 되는 사용자의 임의의 표현일 수 있다. 사용자를 난독화하는데 사용되는 하나의 기술은 해싱이다. 일부 구현에서, 사용자의 표현은 게시자에 의해 사용자에게 할당된 소정 클라이언트 식별자를 해싱함으로써 난독화된다. 그러나, 2명의 상이한 게시자가 동일한 사용자에게 동일한 클라이언트 식별자를 할당했을 수 있으므로 동일한 해시값이 2개의 상이한 게시자 도메인(예를 들어, 2개의 상이한 쿠키 공간)에서 동일한 사용자를 나타낼 수 있다. 단일 사용자가 2개의 상이한 도메인에서 동일한 해시값으로 표시될 가능성을 줄이려면(예를 들어, 방지), 사용자 표현의 난독화는 위에서 논의된 바와 같이, 소정 클라이언트 식별자와 그 소정 클라이언트 식별자를 사용자에게 할당한 게시자의 게시자 식별자의 조합의 해시일 수 있다.
특정 예에서, 사용자의 해시 표현은 다음과 같은 방식으로 생성될 수 있다. 게시자의 소정 게시자 식별자(예를 들어, 태그 정보에 표시된)는 소정 클라이언트 식별자(예를 들어, 태그 정보에 표시된)와 결합될 수 있다. 이 조합은 다양한 방식으로 수행될 수 있지만, 일 예에서, 조합은 소정 게시자 식별자와 소정 클라이언트 식별자의 연결(concatenation)일 수 있다. 이어서 소정 게시자 식별자와 소정 클라이언트 식별자의 조합에 해시 함수가 적용되어 조합의 해시가 생성될 수 있다. 이러한 조합의 해시는 사용자의 해시 표현으로 사용될 수 있거나, 사용자의 난독화된 표현으로 지칭될 수 있다.
소정 클라이언트 식별자와 소정 서비스 식별자의 매핑이 생성된다(308). 일부 구현에서, 매핑은 위에서 논의된 바와 같이, 데이터베이스에 저장된 데이터 구조에서 생성된다. 예를 들어, 서비스 장치는 소정 클라이언트 식별자와 소정 서비스 식별자가 동일한 사용자를 나타내는 것을 링크, 연관 또는 표시하는 데이터 구조의 항목을 생성할 수 있다.
위에서 논의된 바와 같이, 서비스 장치는 서비스 장치가 다수의 서비스를 제공할 때 상이한 서비스 식별자를 동일한 사용자에게 할당할 수 있다. 예를 들어, 온라인 검색 서비스를 제공하는 서비스 장치는 특정 사용자에게 그 검색 서비스와 함께 사용하기 위해 제1 서비스 식별자를 할당할 수 있다. 한편, 서비스 장치가 또한 온라인 비디오 스트리밍 서비스를 제공하는 경우, 서비스 장치는 비디오 스트리밍 서비스와 함께 사용하기 위해 동일한 특정 사용자에게 상이한 서비스 식별자를 할당할 수 있다. 이 예에서, 특정 사용자는 서비스 장치에 의해 사용자에게 할당된 2개의 상이한 서비스 식별자를 가지지만, 사용자는 동일한 계정 식별자를 사용하여 예를 들어, 두 서비스 모두에 액세스하기 위해 동일한 로그인 자격 증명(크리덴셜)을 사용하는 것을 통해 2개의 서비스 모두에 액세스할 수 있다.
일부 구현에서, 서비스 장치는 예를 들어 서비스 장치의 상이한 서비스들에 사용되는 상이한 서비스 식별자들로 클라이언트 식별자의 매핑을 확장할 수 있다. 예를 들어, 태그 정보가 클라이언트 디바이스로부터 수신될 때(예를 들어, 사용자가 게시자 리소스를 방문할 때), 서비스 장치에 의해 제공되는 서비스(예를 들어, 비디오 스트리밍 서비스)에 사용자가 현재 로그인되어 있다고 가정한다. 이 예에서, 서비스 장치는 사용자의 계정 식별자를 식별하고, 그 계정 식별자를 사용하여 서비스 장치가 사용자에게 할당한 다른 서비스(예를 들어, 다른 쿠키 공간)에서 상이한 서비스 식별자를 식별할 수 있다. 예를 들어, 서비스 장치는 계정 식별자를 사용하여, 다른 서비스와 관련된 데이터베이스에서 계정 식별자와 서비스 식별자의 매핑을 검색할 수 있다. 계정 식별자 및 계정 식별자들과 서비스 식별자들의 매핑 사이의 매칭이 다른 서비스의 데이터베이스에서 발견될 때, 서비스 장치는 서비스 장치에 의해 제공된 상이한 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별하도록 진행할 수 있다. 클라이언트 식별자와 상이한 서비스 식별자 사이의 상이한 매핑은 위에서 논의된 것과 유사한 방식으로 생성될 수 있다.
클라이언트 식별자를 서비스 장치가 다양한 상이한 서비스에 대해 사용자에게 할당한 다양한 상이한 서비스 식별자에 매핑하는 것은, 서비스 장치가 공통의 사용자 식별자 공간(예를 들어, 쿠키 공간)을 공유하지 않더라도 서비스 장치가 서비스 장치에 의해 제공되는 다양한 상이한 서비스를 통해 (예를 들어, 게시자에 의해 사용자에게 할당된 클라이언트 식별자를 사용하여) 게시자에 의해 지정된 사용자 세트로 사용자-특정 정보의 전송을 수행할 수 있게 한다.
서비스 식별자에 대한 클라이언트 식별자의 매핑이 다른 쿠키 공간, 예를 들어 서비스 장치에 의해 제공되는 다른 서비스를 위해 확장될 때, 상이한 쿠키 공간으로부터의 정보를 집계하여 동일한 사용자에게 귀속시킬 수 없도록 보장하기 위해 추가 프라이버시 강화 기술이 사용될 수 있다. 예를 들어, 게시자에 의해 사용자에게 할당된 소정 클라이언트 식별자(예를 들어, 태그 정보로 수신된 단일 클라이언트 식별자)는 (예를 들어, 서비스 장치에 의해 제공되는 각 서비스에 대한) 각각의 상이한 쿠키 공간에 대해 상이한 해시 함수(또는 시드)를 사용하여 해시될 수 있다.
특정 예에서, 게시자가 특정 사용자에 대해 할당한 클라이언트 식별자는 CID1이고, 해당 사용자는 서비스 장치에 의해 제공되는 특정 서비스에 로그인되어 있다고 가정한다. 이 예에서, 소정 클라이언트 식별자(또는 소정 클라이언트 식별자와 게시자 식별자의 조합)는 제1 해시 함수(또는 시드)를 사용하여 해시되어, 제1 해시값을 획득한 후 특정 서비스에 대한 서비스 식별자에 매핑된다. 이 예를 계속하면, 소정 클라이언트 식별자가 서비스 장치에 의해 제공된 상이한 서비스의 상이한 서비스 식별자에 매핑되기 전에, 소정 클라이언트 식별자(또는 소정 클라이언트 식별자와 게시자 식별자의 조합)는 제2 해시 함수(또는 시드)를 사용하여 해시되어, 제1 해시값과는 상이하지만 제1 해시값과 동일한 사용자를 나타내는 제2 해시값을 획득할 수 있다. 상이한 서비스 식별자에 대한 제2 해시값의 매핑은 소정 클라이언트 식별자에 대응하는 사용자가 상이한 서비스의 컨텍스트 내에서 식별 될 수 있고 게시자에 의해 지정된 사용자-특정 정보를 제공할 수 있도록 생성될 수 있다.
일부 구현에서, 서비스 장치는 다른 컨텍스트에서 동일한 사용자에게 다수의 상이한 서비스 식별자를 할당할 수 있다. 예를 들어, 동일한 사용자가 다른 시간에 동일한 서비스에 액세스할 수 있는데, 여기서 동일한 사용자는 한 번의 방문 동안에는 로그인하고 다른 방문 동안에는 로그인하지 않는다. 이 상황에서, 서비스 장치는 동일한 사용자에게 2개의 상이한 서비스 식별자를 할당할 수 있다. 이 예에서 서비스 식별자들 중 하나는 로그인할 때 사용자를 나타내고, 상이한 서비스 식별자는 로그 아웃할 때 사용자를 나타낸다. 이러한 상황에서 위에서 설명한 것과 유사한 매핑 확장을 사용할 수도 있다.
클라이언트 식별자들의 리스트가 게시자(310)로부터 수신된다. 일부 구현에서, 클라이언트 식별자들의 리스트는 게시자가 클라이언트 식별자들을 서비스 장치에 업로드할 수 있게 하는 API를 통해 수신된다. 클라이언트 식별자 리스트에는 게시자가 다양한 사용자에게 할당한 클라이언트 식별자가 포함된다. 클라이언트 식별자 리스트는 이들 사용자가 서비스 장치에 의해 제공되는 서비스에 액세스할 때(예를 들어, 게시자와 상이한 도메인 및/또는 쿠키 공간에서) 게시자에 의해 지정된 사용자-특정 정보(예를 들어, 리마케팅 컨텐츠)를 수신하기 위해 게시자가 선택 (pick)한 사용자들을 나타낸다. 일부 구현에서, 클라이언트 식별자 리스트는 위에서 논의한 바와 같이, 게시자의 웹 사이트(또는 기타 속성)에서 특정 동작을 수행한 사용자들을 나타낸다.
게시자에 의해 제공되는 클라이언트 식별자 리스트가 소정 클라이언트 식별자를 포함한다는 결정이 내려진다(312). 클라이언트 식별자 리스트가 소정 클라이언트 식별자를 포함한다는 결정은 클라이언트 식별자 리스트를 서비스 식별자와 클라이언트 식별자의 매핑(예를 들어, 전술한 식별자 매핑)과 비교함으로써 이루어질 수 있다. 일부 구현에서, 클라이언트 식별자 리스트(또는 게시자 식별자와 각 클라이언트 식별자의 조합) 내의 각 클라이언트 식별자는 위에서 논의된 바와 같이, 매핑에서 사용자의 표현과 동일한 방식으로 해시된다. 이어서 해시된 버전의 클라이언트 식별자가 매핑에서 클라이언트 식별자 표현과 비교된다. 소정 클라이언트 식별자의 표현(예를 들어, 그의 해시된 표현) 사이의 매칭이 발견되면, 소정 클라이언트 식별자가 클라이언트 식별자 리스트에 포함된다는 결정이 내려진다. 리스트의 각 클라이언트 식별자에 대해 동일한 절차를 따를 수 있으며, 매핑에서 항목과 매칭하는 모든 클라이언트 식별자에 대한 결정이 이루어질 수 있다는 점에 유의한다. 또한, 클라이언트 식별자를 서비스 식별자로, 또는 그 반대로 매핑하는 것에 대한 참조는 클라이언트 식별자 및/또는 서비스 식별자의 (예를 들어, 오리지널, 해시된) 임의의 표현사이의 매핑을 고려한다는 점에 유의한다.
소정 클라이언트 식별자에 매핑된 서비스 식별자는 매칭(된) 서비스 식별자의 리스트에 저장된다(314). 일부 구현에서, 서비스 식별자는 소정 클라이언트 식별자가 게시자로부터 수신된 클라이언트 식별자 리스트에 포함된다는 결정에 기초하여 매칭 서비스 식별자 리스트에 저장된다. 매칭 서비스 식별자 리스트는 게시자로부터 수신된 클라이언트 식별자 리스트의 새로운/상이한 표현이다. 즉, 매칭 서비스 식별자 리스트는 서비스 장치에 의해 사용자에게 할당된 서비스 식별자를 사용하여, 게시자에 의해 해당 사용자들에게 할당된 클라이언트 식별자를 사용하여 게시자에 의해 지정된 사용자들을 나타낸다. 이것은 서비스 장치에 의해 제공되는 서비스 내에서(예를 들어, 게시자와 상이한 도메인 및/또는 쿠키 공간에서) 게시자에 의해 지정된 사용자의 식별을 가능하게 한다. 이와 같이, 매칭 서비스 식별자 리스트는 사용자들이 서비스 제공자에 의해 제공되는 서비스들에 액세스할 때 게시자에 의해 지정된 사용자들이 사용자-특정 정보를 수신하도록 보장하는데 사용될 수 있다. 이 절차는 클라이언트 식별자 리스트에 있는 모든 클라이언트 식별자에 대해 수행되어, 클라이언트 식별자 리스트에 해당하는 사용자를 나타내는 다수의 서비스 식별자 리스트를 생성할 수 있다. 이것은 다수의 상이한 게시자에 대해서도 수행될 수 있다. 위에서 논의된 바와 같이, 매핑은 서비스 식별자를 포함하는 리스트내의 사용자에게 분배하기 위해 지정된 서비스 컨텐츠 및 대응 컨텐츠를 포함하는 리스트에 대한 서비스 식별자의 단일 인스턴스와 모든 게시자 식별자 쌍 사이의 매핑일 수 있다. 이것은 다수의 상이한 게시자가 이 사용자에게 배포하도록 지정된 사용자-특정 컨텐츠를 직접 조회하는 것을 용이하게 한다. 이것은 사용자에게 배포하기 위해 고려해야 할 다양한 컨텐츠를 식별하는데 필요한 시간을 감소시키므로 시스템 자체의 성능이 향상(예를 들어, 컨텐츠를 선택하는 대기 시간 감소)된다.
일단 소정 클라이언트 식별자에 매핑된 서비스 식별자가 매칭 서비스 식별자 리스트에 저장되면, 소정 클라이언트 식별자는 삭제될 수 있다(316). 일부 구현에서, 소정 클라이언트 식별자는 예를 들어 클라이언트 식별자의 가능한 분배를 제한함으로써 사용자 프라이버시를 추가로 보호하기 위해 서비스 장치로부터 삭제된다.
일부 상황에서, 소정 게시자 식별자 및 소정 클라이언트 식별자를 포함하는 태그 정보는 상이한 서비스 식별자와 함께 수신될 수 있다(318). 예를 들어, 위에서 논의된 바와같이 사용자는 먼저 모바일 디바이스를 사용하여 게시자 리소스에 액세스하고 나중에 태블릿 디바이스를 사용하여 게시자 리소스에 액세스한다고 가정하다. 이 경우, 사용자에게 할당된 서비스 식별자는 디바이스마다 상이하다. 그러나, 소정 클라이언트 식별자와 소정 게시자 식별자는 동일할 수 있다. 이 상황에서, 서비스 식별자의 하나의 인스턴스만이 소정 클라이언트 식별자에 매핑될 수 있다. 일부 구현에서, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑이 삭제되고(320), 상이한 서비스 식별자와 소정 클라이언트 식별자의 상이한 매핑이 위에서 설명된 것과 유사한 방식으로 생성된다(322). 이 특정 솔루션은 가장 최근에 수신된 서비스 식별자 사이의 매핑을 유지하여 기존 서비스 식별자를 폐기하도록 선택한다. 물론, 이후의 매핑을 삭제하거나 이후의 매핑을 생성하지 않고 기존 서비스 식별자(및 오리지널 매핑)를 유지할 수 있다. 새로운/상이한 매핑이 서비스 식별자가 이미 매칭된 서비스 식별자 리스트에 포함되어 있는 기존의 매핑을 대체할 때, 상이한 서비스 식별자는 매칭(된) 서비스 식별자의 리스트에 저장될 수 있다(314).
일부 구현에서, 새로운 서비스 식별자가 동일한 사용자를 나타내는 기존(또는 상이한) 서비스 식별자를 대체할 때, 게시자의 추가 조치없이 게시자 식별자(들)와 대응하는 컨텐츠의 매핑이 유지되도록 매핑 수정이 이루어질 수 있다. 예를 들어, SID1a가 이미 SID1이 할당된 사용자에게 할당되었다고 가정하다. 이 상황에서, SID1과 게시자 식별자(예를 들어, PID1 및/또는 임의의 다른 PID) 간의 기존 연관이 SID1a에 다시 매핑될 수 있다. 이 예에서, 결과 매핑은 기존 매핑을 대체할 수 있으므로 게시자는 사용자가 (예를 들어, 게시자에 의해 이전에 지정된 클라이언트 식별자 리스트에 포함되어 있는 것을 통해) 이미 수신할 자격이 있는 사용자-특정 컨텐츠를 배포할 수 있도록 보장하기 위해 추가 조치를 취할 필요가 없다. 이러한 방식으로, 시스템은 원래 할당된 서비스 식별자가 변경될 때에도 클라이언트 식별자, 게시자 식별자 및 서비스 식별자의 리스트간의 연관성을 유지할 수 있다.
컨텐츠 요청은 서비스 장치(324)에 의해 제공되는 서비스에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 수신된다. 일부 구현에서, 컨텐츠 요청은 도 1을 참조하여 논의된 바와 같이 컴포넌트 요청이다. 컨텐츠 요청은 클라이언트 디바이스에서 디스플레이(또는 사용자 인터페이스)의 일부로 통합하기 위해 디바이스로 전달될 제3자 컨텐츠에 대한 요청일 수 있다. 일부 상황에서, 클라이언트에서 제3자 컨텐츠가 디스플레이(또는 사용자 인터페이스)의 일부에 통합될 수 있다. 일부 상황에서, 제3자 컨텐츠는 서비스 장치에 통합되어 그 서비스 장치에 의해 제공되는 서비스의 컨텐츠와 함께 전달될 수 있다. 일부 상황에서는, 서비스 장치에 의해 제공되는 서비스 내에서 컨텐츠를 전달하기 위해 컨텐츠 요청이 필요하지 않다. 예를 들어, 서비스 장치는 사용자가 서비스에 액세스하기 전 또는 액세스할 때 제3자 컨텐츠를 서비스에 삽입할 수 있다. 이 경우, 별도의 컨텐츠 요청은 필요하지 않다.
컨텐츠 요청들은 클라이언트 디바이스들이 매칭(된) 서비스 식별자들의 리스트에 포함된 서비스 식별자를 제공하는지 여부에 기초하여 응답한다(326). 예를 들어, 클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공할 때, 게시자에 의해 지정된 사용자들에 대해 예약된(예를 들어, 지정된) 제1 컨텐츠가 클라이언트 디바이스로 전송될 수 있다. 예를 들어, 게시자가 특정 컨텐츠(예를 들어, 이미지, 메시지 또는 비디오)를 게시자가 업로드한 클라이언트 식별자 리스트에 의해 표시된 사용자에게 제공했다고 가정한다. 이 상황에서, 이들 사용자에 대한 대응하는 서비스 식별자는 매칭 서비스 식별자 리스트에 포함될 것이며, 특정 컨텐츠는 서비스 식별자 리스트에 포함된 서비스 식별자를 제출 한 클라이언트 디바이스에 기초하여 클라이언트 디바이스로 전송(또는 분배)될 수 있다. 사용자-특정 정보는 사용자가 서비스 장치에 의해 제공되는 서비스에 액세스하는 동안 전달될 수 있어서, 컨텐츠는 사용자가 게시자의 도메인과 상이한 제2 레벨 도메인에 액세스하는 동안 제시된다.
클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않는 경우, 그 매칭 식별자 리스트에 대해 예약되지 않은 상이한 컨텐츠가 클라이언트 디바이스로 전송된다. 상이한 컨텐츠는, 예를 들어, 도 1을 참조하여 논의된 하나 이상의 인자에 기초하여, 클라이언트 디바이스에 분배하기 위해 이용 가능한 임의의 컨텐츠일 수 있다. 일부 구현에서, 클라이언트 디바이스가 매칭된 서비스 제공자들의 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않을 때, 사용자에 의해 액세스되는 서비스에 대한 프리젠테이션을 위한 제3자 컨텐츠는 제공되지 않을 것이다.
도 4는 전술한 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템(400)의 블록도이다. 시스템(400)은 프로세서(410), 메모리(420), 저장 디바이스(430) 및 입/출력 디바이스(440)를 포함한다. 컴포넌트(410, 420, 430 및 440) 각각은 예를 들어 시스템 버스(450)를 사용하여 상호 연결될 수 있다. 프로세서(410)는 시스템(400) 내에서 실행하기 위한 명령들을 처리할 수 있다. 일 구현에서, 프로세서(410)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(410)는 멀티 스레드 프로세서이다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령들을 처리할 수 있다.
메모리(420)는 시스템(400)내에 정보를 저장한다. 일 구현에서, 메모리(420)는 컴퓨터 판독 가능 매체이다. 일 구현에서, 메모리(420)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리(420)는 비 휘발성 메모리 유닛이다.
저장 디바이스(430)는 시스템(400)에 대용량 저장 디바이스를 제공할 수 있다. 일 구현에서, 저장 디바이스(430)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현에서, 저장 디바이스(430)는 예를 들어 하드 디스크 디바이스, 광 디스크 디바이스, 다수의 컴퓨팅 디바이스(예를 들어, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스, 또는 일부 다른 대용량 저장 디바이스를 포함할 수 있다.
입/출력 디바이스(440)는 시스템(400)에 대한 입/출력 동작을 제공한다. 일 구현에서, 입/출력 디바이스(440)는 하나 이상의 네트워크 인터페이스 디바이스, 예를 들어 이더넷 카드, 직렬 통신 디바이스(예를 들어 및 RS-232 포트), 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드)를 포함할 수 있다. 다른 구현에서, 입/출력 디바이스는 입력 데이터를 수신하고 다른 입/출력 디바이스, 예를 들어 키보드, 프린터 및 디스플레이 디바이스(360)로 출력 데이터를 전송하도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 셋탑 박스 텔레비전 클라이언트 디바이스 등과 같은 다른 구현도 사용될 수 있다.
예시적인 처리 시스템이 도 4에서 설명되었지만, 본 명세서에 기술된 주제 및 기능적 동작의 구현은 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나 이들 중 하나 이상의 조합으로 구현될 수 있다.
전자 문서(간결함을 위해 간단히 문서로 지칭됨)는 반드시 파일에 해당하지는 않는다. 문서는 다른 문서를 보유하는 파일의 일부, 해당 문서 전용의 단일 파일 또는 다수의 조정된 파일에 저장될 수 있다.
본 명세서에 기술된 주제 및 동작들의 실시예는 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령들은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의해 실행하기 위해 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합 일 수 있거나 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파된 신호로 인코딩된 컴퓨터 프로그램 명령들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 디바이스)일 수 있거나 그에 포함될 수 있다.
본 명세서에서 설명되는 동작은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩상의 시스템, 또는 다수의 것, 또는 이들의 조합을 포함하여 데이터를 처리하는 모든 종류의 장치, 디바이스 및 기계를 포함한다. 이 장치는 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)을 포함할 수 있다. 장치는 또한 하드웨어 외에, 당해 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨팅 환경에 사용하기에 적합한 모듈, 구성 요소, 서브 루틴 또는 기타 디바이스를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 당해 프로그램 전용의 단일 파일, 또는 다수의 조정 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수 있으며 장치는 또한 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예로서 범용 및 특수 목적 마이크로 프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 예를 들어 자기, 자기 광 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나 이로부터 데이터를 수신하거나 데이터를 전송하거나 또는 그 둘 모두를 하기 위해 동작적으로 연결될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 또한, 컴퓨터는 다른 디바이스, 예를 들어 모바일 전화기, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게인 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스(예를 들어, USB 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 내부 하드 디스크 및 이동식 디스크와 같은 자기 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(liquid crystal display) 디스플레이 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각적 피드백, 청각 피드백 또는 촉각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서를 전송하고 문서를 수신함으로써 사용자와 상호 작용할 수 있으며; 예를 들어, 웹 브라우저에서 받은 요청에 응답하여 웹 페이지를 사용자 클라이언트 디바이스의 웹 브라우저로 전송한다.
본 명세서에 기술된 주제의 실시예는 예를 들어, 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 사용자가 본 명세서에 기술된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트, 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프론트 엔드 컨토넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN") 및 광역 통신망 ("WAN"), 네트워크 간(예를 들어, 인터넷) 및 피어-투-피어 네트워크(예를 들어, 애드혹 피어- 피어-네트워크)를 포함할 수 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 (예를 들어, 클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 데이터를 수신하기 위해) 데이터(예를 들어, HTML 페이지를 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정된 특징의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명된 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예와 관련하여 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 설명되고 심지어 초기에 그렇게 부과될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합에서 제외될 수 있고, 그 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나 또는 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 전술한 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 여러 소프트웨어 제품에 패키지화될 수 있음을 이해해야 한다.
따라서, 주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음의 청구 범위의 범위 내에 있다. 일부 경우, 청구 범위에 언급된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 또한, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구할 필요는 없다. 특정 구현들에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 방법으로서,
    서비스 장치에 의해 클라이언트 디바이스로부터, 게시자의 리소스에 임베딩된 태그를 실행(fire)함에 의해 생성된 서비스 장치에 대한 네트워크 호출에서 태그 정보를 수신하는 단계, 상기 태그 정보는 게시자에 대한 소정(given) 게시자 식별자 및 그 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 지정하고;
    클라이언트 디바이스로부터, 서비스 장치에 의해 사용자에게 할당된 소정 서비스 식별자를 획득하는 단계;
    서비스 장치에 의해 데이터 구조에서, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계;
    게시자로부터 애플리케이션 프로그래밍 인터페이스(API)를 통해, 게시자에 의해 사용자 세트에 할당된 클라이언트 식별자 리스트를 수신하는 단계;
    클라이언트 식별자 리스트가 소정 서비스 식별자에 매핑된 소정 클라이언트 식별자를 포함하는지 결정하는 단계;
    서비스 장치에 의해, 그 결정에 기초하여 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭(matched) 서비스 식별자 리스트에 저장하는 단계;
    서비스 장치에 의해, 서비스 장치에 의해 제공된 서비스들에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 다수의 컨텐츠 요청을 수신하는 단계;
    클라이언트 디바이스들이 매칭 서비스 식별자 리스트에 포함된 서비스 식별자들을 제공하는지 여부에 기초하여 컨텐츠 요청들에 응답하는 단계로서:
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계;
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않는 경우 매칭 서비스 식별자 리스트에 대해 예약되지 않은 제2 컨텐츠를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    소정 게시자 식별자와 소정 클라이언트 식별자를 결합하는 단계; 및
    소정 게시자 식별자와 소정 클라이언트 식별자의 조합의 해시를 생성하는 단계를 포함하는,
    사용자의 해시 표현을 생성하는 단계를 더 포함하고,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 사용자의 해시 표현을 소정 서비스 식별자에 매핑하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    사용자가 서비스 장치에 의해 제공된 소정 서비스에 로그인한 것으로 결정하는 단계;
    사용자가 로그인한 서비스에 기초하여 사용자에 대한 계정 식별자를 식별하는 단계;
    계정 식별자를 사용하여, 서비스 장치에 의해 제공된 상이한 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별하는 단계; 및
    소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제1 해시 함수 또는 시드를 사용하여 생성된 제1 해시값에 대한 소정 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 그리고
    상기 소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제2 해시 함수 또는 시드를 사용하여 생성된 제2 해시값에 대한 상이한 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 상기 제2 해시값은 제1 해시값과 상이한 것을 특징으로 하는 방법.
  5. 선행하는 항 중 하나에 있어서,
    상이한 클라이언트 디바이스로부터, 태그 정보 및 상이한 서비스 식별자를 수신하는 단계;
    데이터 구조로부터, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 삭제하는 단계; 및
    데이터 구조에서, 상이한 서비스 식별자와 소정 클라이언트 식별자의 상이한 매핑을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭 소정 서비스 식별자 리스트에 저장하는 단계는,
    소정 클라이언트 식별자 및 게시자 리스트내의 사용자들에게 분배될 사용자-특정 컨텐츠를 포함하는 게시자 리스트의 게시자 식별자들을 지정하는 게시자 식별자-컨텐츠 쌍 세트와 함께 소정 서비스 식별자를 데이터 구조 항목에 저장하는 단계를 포함하고, 상기 방법은,
    소정 서비스 식별자와 게시자 식별자-컨텐츠 쌍 세트 사이의 기존 연관을 상이한 식별자에 재매핑하는 것을 포함하여, 사용자에게 상이한 서비스 식별자가 할당되었다는 결정에 응답하여 매칭 서비스 식별자 리스트를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 선행하는 항 중 하나에 있어서,
    소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매핑 서비스 식별자 리스트에 저장한 후 소정 클라이언트 식별자를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 선행하는 항 중 하나에 있어서,
    상기 클라이언트 디바이스가 매핑 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자의 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계는,
    사용자가 게시자의 도메인과 상이한 제2 레벨 도메인에 제공된 서비스에 액세스하는 동안 제1 컨텐츠를 제시하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 시스템으로서,
    명령들을 저장하는 하나 이상의 메모리 디바이스; 및
    하나 이상의 메모리 디바이스와 상호 작용하도록 구성되어 명령들을 실행할 때 동작들을 실행하는 하나 이상의 데이터 처리 장치를 포함하고, 상기 동작들은,
    클라이언트 디바이스로부터, 게시자의 리소스에 임베딩된 태그를 실행함에 의해 생성된 서비스 장치에 대한 네트워크 호출에서 태그 정보를 수신하는 단계, 상기 태그 정보는 게시자에 대한 소정 게시자 식별자 및 그 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 지정하고;
    클라이언트 디바이스로부터, 서비스 장치에 의해 사용자에게 할당된 소정 서비스 식별자를 획득하는 단계;
    데이터 구조에서, 소정 클라이언트 식별자와 소정 서비스 식별자의 매핑을 생성하는 단계;
    게시자로부터 애플리케이션 프로그래밍 인터페이스(API)를 통해, 게시자에 의해 사용자 세트에 할당된 클라이언트 식별자 리스트를 수신하는 단계;
    클라이언트 식별자 리스트가 소정 서비스 식별자에 매핑된 소정 클라이언트 식별자를 포함하는지 결정하는 단계;
    그 결정에 기초하여 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭 서비스 식별자 리스트에 저장하는 단계;
    서비스 장치에 의해 제공된 서비스에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 다수의 컨텐츠 요청을 수신하는 단계;
    클라이언트 디바이스들이 매칭 서비스 식별자 리스트에 포함된 서비스 식별자들을 제공하는지 여부에 기초하여 컨텐츠 요청들에 응답하는 단계로서:
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계;
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않는 경우 매칭 서비스 식별자 리스트에 대해 예약되지 않은 제2 컨텐츠를 전송하는 단계를 포함하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    상기 하나 이상의 데이터 처리 장치는,
    소정 게시자 식별자와 소정 클라이언트 식별자를 결합하는 단계; 및
    소정 게시자 식별자와 소정 클라이언트 식별자의 조합의 해시를 생성하는 단계를 포함하는,
    사용자의 해시 표현을 생성하는 단계를 더 포함하는 동작들을 수행하도록 구성되고,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 사용자의 해시 표현을 소정 서비스 식별자에 매핑하는 단계를 포함하는 것을 특징으로 하는 시스템.
  11. 제9항 또는 제10항에 있어서,
    상기 하나 이상의 데이터 처리 장치는,
    사용자가 서비스 장치에 의해 제공된 소정 서비스에 로그인한 것으로 결정하는 단계;
    사용자가 로그인한 서비스에 기초하여 사용자에 대한 계정 식별자를 식별하는 단계;
    계정 식별자를 사용하여, 서비스 장치에 의해 제공된 상이한 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별하는 단계; 및
    소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계를 더 포함하는 동작들을 수행하도록 구성되는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제1 해시 함수 또는 시드를 사용하여 생성된 제1 해시값에 대한 소정 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 그리고
    상기 소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제2 해시 함수 또는 시드를 사용하여 생성된 제2 해시값에 대한 상이한 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 상기 제2 해시값은 제1 해시값과 상이한 것을 특징으로 하는 시스템.
  13. 제9항 내지 제12항 중 어느 하나에 있어서,
    상기 하나 이상의 데이터 처리 장치는,
    상이한 클라이언트 디바이스로부터, 태그 정보 및 상이한 서비스 식별자를 수신하는 단계;
    데이터 구조로부터, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 삭제하는 단계; 및
    데이터 구조에서, 상이한 서비스 식별자와 소정 클라이언트 식별자의 상이한 매핑을 생성하는 단계를 더 포함하는 동작들을 수행하도록 구성되는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭 소정 서비스 식별자 리스트에 저장하는 단계는,
    소정 클라이언트 식별자 및 게시자 리스트내의 사용자들에게 분배될 사용자-특정 컨텐츠를 포함하는 게시자 리스트의 게시자 식별자들을 지정하는 게시자 식별자-컨텐츠 쌍 세트와 함께 소정 서비스 식별자를 데이터 구조 항목에 저장하는 단계를 포함하고, 상기 방법은,
    소정 서비스 식별자와 게시자 식별자-컨텐츠 쌍 세트 사이의 기존 연관을 상이한 식별자에 재매핑하는 것을 포함하여, 사용자에게 상이한 서비스 식별자가 할당되었다는 결정에 응답하여 매칭 서비스 식별자 리스트를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  15. 제9항 내지 제14항 중 어느 하나에 있어서,
    상기 하나 이상의 데이터 처리 장치는,
    소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매핑 서비스 식별자 리스트에 저장한 후 소정 클라이언트 식별자를 삭제하는 단계를 더 포함하는 동작들을 수행하도록 구성되는 것을 특징으로 하는 시스템.
  16. 제9항 내지 제15항 중 어느 하나에 있어서,
    상기 클라이언트 디바이스가 매핑 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자의 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계는,
    사용자가 게시자의 도메인과 상이한 제2 레벨 도메인에 제공된 서비스에 액세스하는 동안 제1 컨텐츠를 제시하는 단계를 포함하는 것을 특징으로 하는 시스템.
  17. 하나 이상의 데이터 처리 장치에 의해 실행될 때 하나 이상의 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은,
    클라이언트 디바이스로부터, 게시자의 리소스에 임베딩된 태그를 실행함에 의해 생성된 서비스 장치에 대한 네트워크 호출에서 태그 정보를 수신하는 단계, 상기 태그 정보는 게시자에 대한 소정 게시자 식별자 및 그 게시자에 의해 클라이언트 디바이스의 사용자에게 할당된 소정 클라이언트 식별자를 지정하고;
    클라이언트 디바이스로부터, 서비스 장치에 의해 사용자에게 할당된 소정 서비스 식별자를 획득하는 단계;
    데이터 구조에서, 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계;
    게시자로부터 애플리케이션 프로그래밍 인터페이스(API)를 통해, 게시자에 의해 사용자 세트에 할당된 클라이언트 식별자 리스트를 수신하는 단계;
    클라이언트 식별자 리스트가 소정 서비스 식별자에 매핑된 소정 클라이언트 식별자를 포함하는지 결정하는 단계;
    그 결정에 기초하여 소정 클라이언트 식별자에 매핑된 소정 서비스 식별자를 매칭 소정 서비스 식별자 리스트에 저장하는 단계;
    서비스 장치에 의해 제공된 서비스들에 액세스하는 다수의 상이한 클라이언트 디바이스로부터 다수의 컨텐츠 요청을 수신하는 단계;
    클라이언트 디바이스들이 매칭 서비스 식별자 리스트에 포함된 서비스 식별자들을 제공하는지 여부에 기초하여 컨텐츠 요청들에 응답하는 단계로서:
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하는 경우 매칭 서비스 식별자 리스트에 대해 예약된 제1 컨텐츠를 전송하는 단계;
    클라이언트 디바이스가 매칭 서비스 식별자 리스트에 포함된 대응하는 서비스 식별자를 제공하지 않는 경우 매칭 서비스 식별자 리스트에 대해 예약되지 않은 제2 컨텐츠를 전송하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서,
    상기 명령들은 하나 이상의 데이터 처리 장치로 하여금:
    소정 게시자 식별자와 소정 클라이언트 식별자를 결합하는 단계; 및
    게시자 식별자와 소정 클라이언트 식별자의 결합의 해시를 생성하는 단계를 포함하는,
    사용자의 해시 표현을 생성하는 단계를 포함하는 동작들을 수행하게 하고,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 사용자의 해시 표현을 소정 서비스 식별자에 매핑하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  19. 제17항 또는 제18항에 있어서,
    상기 명령들은 하나 이상의 데이터 처리 장치로 하여금:
    사용자가 서비스 장치에 의해 제공된 소정 서비스에 로그인한 것으로 결정하는 단계;
    사용자가 로그인한 서비스에 기초하여 사용자에 대한 계정 식별자를 식별하는 단계;
    계정 식별자를 사용하여, 서비스 장치에 의해 제공된 상이한 서비스에 대해 사용자에게 할당된 상이한 서비스 식별자를 식별하는 단계; 및
    소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계를 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  20. 제19항에 있어서,
    상기 소정 서비스 식별자와 소정 클라이언트 식별자의 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제1 해시 함수 또는 시드를 사용하여 생성된 제1 해시값에 대한 소정 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 그리고
    상기 소정 클라이언트 식별자 및 상이한 서비스 식별자 사이에 상이한 매핑을 생성하는 단계는 소정 클라이언트 식별자 및 제2 해시 함수 또는 시드를 사용하여 생성된 제2 해시값에 대한 상이한 서비스 식별자의 매핑을 생성하는 단계를 포함하고, 상기 제2 해시값은 제1 해시값과 상이한 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.













KR1020207020110A 2019-01-10 2019-12-05 강화된 온라인 프라이버시 KR20200098619A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/245,048 2019-01-10
US16/245,048 US11115479B2 (en) 2019-01-10 2019-01-10 Enhanced online privacy
PCT/US2019/064690 WO2020146066A1 (en) 2019-01-10 2019-12-05 Enhanced online privacy

Publications (1)

Publication Number Publication Date
KR20200098619A true KR20200098619A (ko) 2020-08-20

Family

ID=69024679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207020110A KR20200098619A (ko) 2019-01-10 2019-12-05 강화된 온라인 프라이버시

Country Status (6)

Country Link
US (3) US11115479B2 (ko)
EP (3) EP3724805B1 (ko)
JP (3) JP6995211B2 (ko)
KR (1) KR20200098619A (ko)
CN (2) CN116546080A (ko)
WO (1) WO2020146066A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115479B2 (en) * 2019-01-10 2021-09-07 Google Llc Enhanced online privacy
US11593510B1 (en) * 2019-05-01 2023-02-28 Meta Platforms, Inc. Systems and methods for securely sharing and processing data between parties
US11341605B1 (en) * 2019-09-30 2022-05-24 Amazon Technologies, Inc. Document rectification via homography recovery using machine learning
CN112231757B (zh) * 2020-11-03 2022-08-02 支付宝(杭州)信息技术有限公司 一种针对内嵌应用的隐私保护方法、装置以及设备
EP4220467A1 (en) * 2020-12-04 2023-08-02 Google LLC Secured management of data distribution restrictions

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6225920B1 (en) * 1997-04-14 2001-05-01 Randy A. Dayle Portable computer apparatus for assisting persons with cognitive disabilities
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6856991B1 (en) * 2002-03-19 2005-02-15 Cisco Technology, Inc. Method and apparatus for routing data to a load balanced server using MPLS packet labels
US20030149581A1 (en) * 2002-08-28 2003-08-07 Imran Chaudhri Method and system for providing intelligent network content delivery
US7716243B2 (en) * 2005-02-25 2010-05-11 Microsoft Corporation Provisions for validating content using a content registration authority
US9134884B2 (en) * 2005-03-30 2015-09-15 Ebay Inc. Methods and systems to process a selection of a browser back button
US7941448B2 (en) * 2005-08-26 2011-05-10 At&T Intellectual Property Ii, Lp System and method for event driven publish-subscribe communications
DE102006024882A1 (de) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Chipkarte
US20080222283A1 (en) * 2007-03-08 2008-09-11 Phorm Uk, Inc. Behavioral Networking Systems And Methods For Facilitating Delivery Of Targeted Content
US20090083155A1 (en) * 2007-09-21 2009-03-26 Espereka, Inc. Systems and Methods for Usage Measurement of Content Resources
US8560669B2 (en) * 2007-09-26 2013-10-15 Quantcast Corporation Tracking identifier synchronization
US9697507B2 (en) * 2008-03-14 2017-07-04 Ricoh Co., Ltd. Method for using a camera phone to acquire, store, manage and redeem discount coupons
WO2009134432A1 (en) * 2008-04-30 2009-11-05 Intertrust Technologies Corporation Data collection and targeted advertising systems and methods
US20100057832A1 (en) * 2008-08-28 2010-03-04 Google Inc. Requesting A Service
CN102203816A (zh) 2008-10-15 2011-09-28 康塔网络公司 用于使用ETag来显示因特网广告媒体的方法和系统
US20100131373A1 (en) * 2008-11-25 2010-05-27 Yahoo! Inc. Dynamic advertisement tags
US10064055B2 (en) * 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10841839B2 (en) * 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
EP2396742A2 (en) 2009-02-10 2011-12-21 Uniloc Usa, Inc. Web content access using a client device identifier
US20100211960A1 (en) * 2009-02-17 2010-08-19 Google Inc. Characterizing User Information
GB2469468B (en) * 2009-04-14 2015-01-21 Skype Method and system for data transmission
US8346808B2 (en) * 2009-08-12 2013-01-01 Westell Technologies, Inc. System and method of accessing resources in a computer network
CA2795128A1 (en) 2010-03-31 2011-10-06 Mediamath, Inc. Systems and methods for integration of a demand side platform
US8832559B2 (en) * 2010-06-25 2014-09-09 LeftsnRights, Inc. Content distribution system and method
CA2977942C (en) * 2010-12-20 2021-08-03 The Nielsen Company (Us), Llc Methods and apparatus to determine media impressions using distributed demographic information
US9185004B2 (en) * 2010-12-29 2015-11-10 Comcast Cable Communications, Llc Quality of service for distribution of content to network devices
US9792657B2 (en) * 2011-03-01 2017-10-17 Amobee, Inc. Methods and systems for leveraging social information, including a social graph, to identify and present content of interest
CA2810264C (en) * 2011-03-18 2020-06-09 The Nielsen Company (Us), Llc Methods and apparatus to determine media impressions
US9607105B1 (en) * 2011-03-30 2017-03-28 Amazon Technologies, Inc. Content searching techniques
US20130013428A1 (en) * 2011-07-08 2013-01-10 Cbs Interactive Inc. Method and apparatus for presenting offers
US10719836B2 (en) * 2011-09-16 2020-07-21 Amobee, Inc. Methods and systems for enhancing web content based on a web search query
JP2014532239A (ja) * 2011-10-04 2014-12-04 アブシオ コーポレイションAbsio Corporation ローカルに格納されているコンテンツとの精密な興味マッチングをするための方法および装置
US10339562B2 (en) * 2011-11-29 2019-07-02 Facebook, Inc. Protecting identities of users to whom advertising is targeted
US9009258B2 (en) * 2012-03-06 2015-04-14 Google Inc. Providing content to a user across multiple devices
US9485300B2 (en) * 2012-03-13 2016-11-01 Yahoo! Inc. Publish-subscribe platform for cloud file distribution
US9514446B1 (en) * 2012-04-27 2016-12-06 Google Inc. Remarketing content to a user associated with multiple devices
US8856168B2 (en) * 2012-04-30 2014-10-07 Hewlett-Packard Development Company, L.P. Contextual application recommendations
US20130332840A1 (en) * 2012-06-10 2013-12-12 Apple Inc. Image application for creating and sharing image streams
AU2013204865B2 (en) * 2012-06-11 2015-07-09 The Nielsen Company (Us), Llc Methods and apparatus to share online media impressions data
US10346867B2 (en) * 2012-06-11 2019-07-09 Retailmenot, Inc. Intents for offer-discovery systems
US11023088B2 (en) * 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US20140019424A1 (en) * 2012-07-11 2014-01-16 Google Inc. Identifier validation and debugging
US20160364771A1 (en) * 2012-08-15 2016-12-15 Ghostery, Inc. Methods, apparatus, and systems for surveillance of third-party digital technology vendors providing secondary content in a content publisher's web page
US8843514B1 (en) * 2012-08-31 2014-09-23 Google Inc. Identifier matching exchange
US20140074603A1 (en) * 2012-09-11 2014-03-13 Millmobile Bv Consumer advertisement targeting platform system
US9317490B2 (en) * 2012-09-19 2016-04-19 TagMan Inc. Systems and methods for 3-tier tag container architecture
US20140172999A1 (en) * 2012-12-16 2014-06-19 Deep River Ventures, Llc Methods, Systems, and Computer Program Products for Accessing a Service Via a Proxy Communications Agent
US11048858B2 (en) * 2012-11-21 2021-06-29 Roofoveryourhead Marketing Ltd. Browser extension for the collection and distribution of data and methods of use thereof
US9438684B2 (en) * 2012-11-29 2016-09-06 Ebay Inc. Automatic population of a network accessible content collection
US20140278950A1 (en) * 2013-03-14 2014-09-18 Retailmenot, Inc. Methods and systems for maximizing online coupon and deal commissions
US20140278948A1 (en) * 2013-03-14 2014-09-18 Retailmenot, Inc. Methods and systems for generating electronic deal summary
US20150046265A1 (en) * 2013-06-19 2015-02-12 David Wayne BULGER System and method for tailoring content without publisher access to consumer data
US20150032494A1 (en) 2013-07-29 2015-01-29 SquadUP Integrated event system
US9648125B2 (en) * 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation
US9237138B2 (en) 2013-12-31 2016-01-12 The Nielsen Company (Us), Llc Methods and apparatus to collect distributed user information for media impressions and search terms
US9870578B2 (en) * 2014-02-03 2018-01-16 Google Llc Scrolling interstitial advertisements
US10504200B2 (en) * 2014-03-13 2019-12-10 Verance Corporation Metadata acquisition using embedded watermarks
US10713686B2 (en) * 2014-03-22 2020-07-14 Retailmenot, Inc. Peer-to-peer geotargeting content with ad-hoc mesh networks
US9710567B1 (en) * 2014-03-27 2017-07-18 Hearsay Social, Inc. Automated content publication on a social media management platform
US10250698B2 (en) * 2014-08-25 2019-04-02 Futurewei Technologies, Inc. System and method for securing pre-association service discovery
US9875121B2 (en) * 2014-09-17 2018-01-23 International Business Machines Corporation API server
US9954818B2 (en) * 2014-10-23 2018-04-24 Go Daddy Operating Company, LLC Domain name hi-jack prevention
US10084838B2 (en) * 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
CN105614272A (zh) 2014-11-28 2016-06-01 广西大学 一种具有降糖功效的牛蒡布丁
US11423420B2 (en) * 2015-02-06 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to credit media presentations for online media distributions
US20170063969A1 (en) * 2015-06-30 2017-03-02 Mobex, Inc. Systems and methods for content distribution
US10075442B2 (en) * 2015-06-30 2018-09-11 Vmware, Inc. Methods and apparatus to grant access to cloud computing resources
CN107864677B (zh) * 2015-07-22 2022-05-27 爱维士软件有限责任公司 内容访问验证系统和方法
US10419577B2 (en) * 2016-03-01 2019-09-17 Nandbox Inc. Managing multiple profiles for a single account in an asynchronous messaging system
JP6668934B2 (ja) 2016-05-12 2020-03-18 株式会社リコー サービス提供システム、サービス提供装置、サービス提供方法、プログラム
US10110427B2 (en) * 2016-07-01 2018-10-23 Facebook, Inc. Distributing content based on weights associated with users specified by content provider systems
CN107944299B (zh) * 2017-12-29 2020-03-03 西安电子科技大学 一种隐私信息的处理方法、装置及系统
US10678818B2 (en) * 2018-01-03 2020-06-09 Snap Inc. Tag distribution visualization system
US20180260481A1 (en) * 2018-04-01 2018-09-13 Yogesh Rathod Displaying search result associated identified or extracted unique identity associated structured contents or structured website
CN109583228B (zh) * 2018-10-30 2021-05-07 中国科学院信息工程研究所 一种隐私信息管理方法、装置和系统
US11115479B2 (en) * 2019-01-10 2021-09-07 Google Llc Enhanced online privacy

Also Published As

Publication number Publication date
WO2020146066A1 (en) 2020-07-16
CN111684448A (zh) 2020-09-18
JP7331073B2 (ja) 2023-08-22
CN116546080A (zh) 2023-08-04
US11115479B2 (en) 2021-09-07
EP3724805A1 (en) 2020-10-21
EP3905091B1 (en) 2024-05-29
US20200228604A1 (en) 2020-07-16
US20220239747A1 (en) 2022-07-28
US11949744B2 (en) 2024-04-02
US11659044B2 (en) 2023-05-23
JP2022064883A (ja) 2022-04-26
JP6995211B2 (ja) 2022-01-14
EP3724805B1 (en) 2021-07-14
US20210099524A1 (en) 2021-04-01
EP4376360A2 (en) 2024-05-29
JP2023164813A (ja) 2023-11-14
JP2021516381A (ja) 2021-07-01
CN111684448B (zh) 2023-04-18
EP3905091A1 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
AU2018200833B2 (en) Providing content to a user across multiple devices
KR20200098619A (ko) 강화된 온라인 프라이버시
US10430830B2 (en) Advertisement selection using uncertain user data
US10455058B2 (en) Custom digital components
US20130290711A1 (en) Providing content to a user across multiple devices
US20130110985A1 (en) Systems and Methods for Geographical Location Based Cloud Storage
US20170148053A1 (en) Identification of installation conversion from online electronic resources
KR102285880B1 (ko) 데이터 유출 방지
US11532013B2 (en) Optimized simultaneous use of content experimentation and content caching
JP5986339B2 (ja) バーティカルベースのクエリのオプション化
US9258279B1 (en) Bookmarking content for users associated with multiple devices
US11875376B2 (en) Minimizing impact of experimental content delivery on computing devices
US12014039B2 (en) Interaction tracking controls
JP2023516541A (ja) プライバシー保護のための加法性雑音および減法性雑音
KR20220079797A (ko) 데이터 배포 제한의 안전한 관리
US20230035515A1 (en) Privacy enhanced personalization on public connections
GB2597384A (en) Custom digital components

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application