KR20220061239A - 프라이버시 보호 데이터 수집 및 분석 - Google Patents

프라이버시 보호 데이터 수집 및 분석 Download PDF

Info

Publication number
KR20220061239A
KR20220061239A KR1020227012623A KR20227012623A KR20220061239A KR 20220061239 A KR20220061239 A KR 20220061239A KR 1020227012623 A KR1020227012623 A KR 1020227012623A KR 20227012623 A KR20227012623 A KR 20227012623A KR 20220061239 A KR20220061239 A KR 20220061239A
Authority
KR
South Korea
Prior art keywords
content
content item
user device
user
data
Prior art date
Application number
KR1020227012623A
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 KR20220061239A publication Critical patent/KR20220061239A/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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
    • G06Q30/0277Online advertisement
    • 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/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

방법은 데이터 처리 장치에 의해 컨텐츠 배포 시스템으로부터, 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 확률적 데이터 구조, 제공 가능한 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터, 및 임의의 컨텐츠 아이템 데이터가 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계와; 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 컨텐츠 아이템 세트 내에 있을 수 있기 때문에 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로서, 유효하지 않은 것으로 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계 및 주어진 컨텐츠 아이템을 포함하는 컨텐츠 아이템의 배포를 방지하는 단계를 포함한다.

Description

프라이버시 보호 데이터 수집 및 분석
본 명세서는 사용자 경험을 개선하기 위해 사용자 데이터를 수집 및 분석할 때 데이터 처리 및 사용자 프라이버시 보호에 관한 것이다.
일반적으로, 본 명세서에 기술된 주제의 하나의 혁신적인 양태는 데이터 처리 장치에 의해 컨텐츠 배포 시스템으로부터, 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 확률적 데이터 구조, 사용자 디바이스로 제공 가능한 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터, 및 확률적 데이터 구조에 기초하여 임의의 컨텐츠 아이템 데이터가 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계와; 확률적 데이터 구조를 사용하는 데이터 처리 장치에 의해 컨텐츠 아이템 중에서 주어진 컨텐츠 아이템에 대해, 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있으므로 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로서, 데이터 처리 장치에 의해 컨텐츠 아이템 데이터로부터, 유효하지 않은 것으로 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계; 및 데이터 처리 장치에 의해, 사용자 디바이스로 컨텐츠를 제공하라는 요청에 응답하여 주어진 컨텐츠 아이템을 포함하는 하나 이상의 컨텐츠 아이템 세트의 배포를 방지하는 단계를 포함하는 방법으로 구현될 수 있다.
일부 구현에서, 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있으므로 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계는 데이터 처리 장치에 의해, 사용자 디바이스에 제시되지 않아야 하는 컨텐츠 아이템 세트 및 사용자 디바이스에 제시될 수 있는 컨텐츠 아이템을 제공하는 확률적 데이터 구조에 쿼리하는 단계를 더 포함하고; 그리고 데이터 처리 장치는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 및 사용자에게 제공 가능한 컨텐츠 아이템을 제공하는 컨텐츠 배포 시스템 및 컨텐츠 제공자와 독립적인 서버이다.
일부 구현에서, 방법은 데이터 처리 장치에 의해, 데이터 처리 장치에 의해서만 보유되는 개인키를 사용하여 확률적 데이터 구조를 복호화하는 단계를 더 포함하고, 확률적 데이터 구조는 개인키에 대응하는 공개키를 사용하여 암호화되었다.
일부 구현에서, 확률적 데이터 구조는 사용자 디바이스, 웹 페이지, 게시자의 웹사이트, 또는 사용자 디바이스로 컨텐츠를 제공하라는 요청 중 하나에 특정되는 블룸(bloom) 필터이다.
일부 구현에서, 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트는 사용자 디바이스로 제공되어서는 안되는 제1 컨텐츠 아이템 세트 및 랜덤하게 선택된 제2 컨텐츠 아이템 세트의 합집합으로 구성된다.
일부 구현에서, 컨텐츠 아이템 세트의 배포를 방지하는 단계는 특정 유형의 컨텐츠를 갖는 컨텐츠 아이템을 사용자에게 제공하는 것을 억제하는 단계를 포함한다.
일부 구현에서, 컨텐츠 아이템 각각에 대한 컨텐츠 아이템 데이터는 컨텐츠 제공자의 도메인, 각 컨텐츠 제공자 내에서 고유한 컨텐츠 아이템 식별자, 컨텐츠 제공자의 비밀키, 신뢰 토큰에 의해 생성된 브라우저의 공개키 중 적어도 하나에 기초하여 해시 함수를 사용하여 생성된 글로벌 고유 식별자를 포함한다.
이 양태의 다른 실시예는 컴퓨터 저장 디바이스상에 인코딩된, 방법의 동작들을 수행하도록 구성된 대응하는 시스템, 장치, 및 컴퓨터 프로그램을 포함한다.
사용자 데이터를 수집하고 분석하는 것은 사용자 경험을 개선하는 맥락에서 컨텐츠 제공자와 배포 시스템에 유익할 수 있다. 그러나, 제공자들은 일반적으로 충분한 프라이버시 보호를 제공하면서 자신의 분석을 수행하기에 충분한 형식으로 데이터를 보유하지 못할 수 있다. 다음 설명은 사용자에 대한 컨텐츠 배포를 조정하거나 맞춤형 사용자 경험을 제공하기 위해 컨텐츠를 수정할지 여부 또는 방법을 결정하는데 사용되는 분석을 제공자들이 수행할 수 있는 형식으로 데이터를 유지하면서 사용자들로부터 수집된 데이터와 관련하여 사용자 프라이버시를 보호하기 위한 다양한 기술 및 시스템에 대해 설명한다.
본 명세서에 기술된 주제의 특정 실시예들은 다음 이점 중 하나 이상을 실현하도록 구현될 수 있다. 예를 들어, 시스템은 사용자 데이터를 마스킹하는 확률적 데이터 구조를 전송하여 컨텐츠를 배포하는데 필요한 컨텐츠 제공자들과 배포자들에게 최소한의 정보만 제공할 수 있다. 또한 본 명세서에 설명된 솔루션은 또한 원시 사용자 데이터 저장과 관련된 프라이버시 위험(예를 들어, 데이터 누출 또는 사용자 데이터에 대한 무단 액세스)을 줄인다. 일반적으로, 제공자는 사용자 데이터를 원시 형식으로 저장할 수 있지만 이러한 원시 데이터 저장소는 무단 액세스에 취약하다. 예를 들어, 악의적인 당사자가 제공자의 시스템에 액세스하는 경우, 해당 시스템에 저장된 원시 사용자 데이터에 쉽게 액세스될 수 있다. 본 명세서에 설명된 솔루션은 사용자 데이터의 해시 표현과 같은 사용자 데이터의 프라이버시 강화 표현을 사용자 데이터를 추가로 마스킹하는 확률적 데이터 구조에 삽입함으로써 이러한 위험을 줄인다. 보다 구체적으로, 확률적 데이터 구조와 결합하여 사용자 데이터의 해시 표현을 사용하는 조합은 (예를 들어, 실제 사용자 데이터가 아닌 해시 표현을 사용하여) 데이터 자체를 마스킹할 뿐만 아니라 특정 사용자 데이터 세트를 갖는 사용자 수를 마스킹하여 강화된 데이터 프라이버시 보호를 제공한다. 이는 확률적 데이터 구조가, 쿼리될 때 그 쿼리와 실제로 매칭하는 아이템(즉, 참 긍정(true positives))과 그 쿼리와 매칭하지 않는 아이템(예를 들어, 거짓 긍정(false positives))을 식별할 수 있기 때문이다. 따라서, 악의적인 당사자가 확률적 데이터 구조에 액세스할 수 있더라도, 악의적인 당사자는 이 데이터 구조에 저장된 사용자 데이터 또는 지정된 사용자 속성 조합을 가진 실제 사용자 수를 확실하게 식별할 수 없다. 이는 확률적 데이터 구조가 특정 사용자 데이터가 확률적 데이터 구조에 존재할 가능성 또는 확률을 나타내기 때문이다.
한편, 시스템은 특정 사용자의 데이터에 직접 액세스하지 않고도 데이터를 이용하여 정확한 분석을 수행할 수 있다. 일부 구현에서, 독립 서버는 컨텐츠 제공자의 서버 또는 컨텐츠 배포 시스템의 일부일 수 있다. 예를 들어, 컨텐츠 아이템이 사용자에게 표시된 횟수를 저장하는 확률적 데이터 구조에 대해, 독립 서버는 어떤 항목이 특정 사용자에 해당하는지 알지 못한다. 게다가, 확률적 데이터 구조를 통해 독립 서버가 컨텐츠 배포 데이터를 분석할 수 있으므로, 독립 서버는 원시 포멧으로 사용자 데이터에 액세스하거나 저장할 필요가 없어 식별 가능한 사용자 데이터가 노출되는 데이터 누출 가능성이 더욱 줄어든다. 이와 관련하여, 본 명세서에 설명된 혁신은 제공자가 (상당한 양의 리소스를 소비할 수 있는) 원시 사용자 데이터를 폐기하고 대신 훨씬 적은 리소스를 필요로 하는 확률적 데이터 구조에 이 데이터의 프라이버시 강화 표현을 저장할 수 있도록 함으로써 상당한 리소스 절약(예를 들어, 대역폭 사용 감소 및 메모리 리소스 사용 감소)을 허용한다. 확률적 구조는 그 구조가 원시 데이터 자체보다 훨씬 작은 데이터 표현을 저장하기 때문에 더 적은 리소스를 필요로 한다. 따라서, 확률적 데이터 구조를 사용하면 저장뿐만 아니라 데이터 전송에 필요한 리소스를 줄일 수 있다. 예를 들어, 확률적 구조는 원시 데이터를 전송하거나 저장하는 것에 비해 더 적은 데이터를 전송하거나 저장해야 하므로 확률적 구조에 의해 표현되는 데이터의 전송 및 저장을 더 빠르고 효율적으로 허용한다.
데이터가 저장되는 확률적 구조에 추가하여, 본 명세서에 설명된 솔루션은 개별 브라우저 또는 운영 체제(OS) 수준에서의 공개 및 개인 키 암호화를 포함하여 사용자 데이터에 대한 추가 보호 계층을 적용한다. 각 브라우저에 대해 특정 키를 사용함으로써, 본 발명은 악의적인 당사자가 암호화된 데이터를 추론하기 위해 작업해야 하는 규모로 인해(각 브라우저는 암호화된 확률적 데이터를 수집하기 위해 개별 수준에서 타겟팅해야 하며 그런 다음 암호 해독 및 분석이 필요함) 사용자 데이터를 재생성하려고 시도하는 악의적인 당사자의 의욕을 떨어뜨린다. 또한, 데이터는 특정 브라우저 또는 OS와 관련되어 있기 때문에, 복제된 브라우저 고유(specific) 키를 사용하여 다수의 브라우저를 가로채려는 시도는 트래픽 분석을 통해 쉽게 감지되고 차단될 수 있다.
아래에서 설명되는 프라이버시 보호 기술은 상이한 유형의 상이한 데이터에 대한 액세스를 갖고 및/또는 상이한 카테고리의 컨텐츠를 대상으로 하는 별도의 엔티티에 의해 유지 관리되는 플랫폼 전반에 걸쳐 일관된 사용자 경험을 제공하는 것을 용이하게 한다. 제공자들이 일관된 브라우징 경험에 필요한 최소한의 데이터에만 액세스할 수 있도록 함으로써, 이 기술은 사용자들이 기대하는 컨텐츠 전달 경험을 유지하면서 사용자의 프라이버시를 보호한다.
컨텐츠를 이미 보았거나 컨텐츠 제시에 관심이 없음을 표시한 엔티티에 대한 컨텐츠 배포를 완전히 줄이거나 제거함으로써, 이 방법은 컨텐츠에 참여할 가능성이 없는 엔티티에 컨텐츠를 배포하는데 소비되는 리소스의 양을 줄이고 네트워크를 통해 컨텐츠를 보다 효율적으로 제공한다. 이 방법은 실제로 컨텐츠를 보고 있지 않은 엔티티에 컨텐츠가 배포되는 것을 방지한다. 다시 말해서, 네트워크 대역폭, 프로세서 사이클 및/또는 할당된 메모리와 같은 컴퓨팅 리소스는 컨텐츠를 보는데 실제로 관심이 없는 엔터티에 컨텐츠를 배포하기 위해 이러한 리소스를 사용함으로써 낭비되지 않는다.
본 명세서에서 설명된 주제의 하나 이상의 실시예의 세부 사항은 첨부 도면 및 아래의 설명에서 설명된다. 주제의 다른 특징, 측면 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 프라이버시 보호 데이터 수집 및 분석을 위한 예시적인 환경의 블록도이다.
도 2는 데이터 수집 및 분석을 위한 프라이버시 보호 방법의 스윔레인(swimlane) 흐름도이다.
도 3은 데이터 수집 및 분석을 위한 프라이버시 보호 방법의 데이터 흐름을 도시한다.
도 4는 공간 효율적인 확률적 데이터 구조를 사용하는 데이터 수집 및 분석을 위한 프라이버시 보호 프로세스의 예시적인 프로세스의 흐름도이다.
도 5는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
본 개시는 사용자 데이터를 수집 및 분석할 때 사용자 프라이버시를 보존하는 컴퓨터 구현 방법 및 시스템에 관한 것이다.
사용자와 제공자들 간의 정보 교환 및 거래를 통해, 제공자들은 예를 들어 사용자가 액세스하는 컨텐츠 유형, 사용자가 공급자의 웹사이트에 마지막으로 액세스한 시간, 공급자 및/또는 공급자의 웹사이트와의 사용자 상호 작용과 관련된 기타 정보와 같은 상당한 양의 사용자 데이터를 수신할 수 있다. 공급자가 이러한 사용자 데이터를 수집하도록 사용자가 허용하는 경우, 공급자들은 이 데이터를 분석하여 공급자의 운영을 개선하고 및/또는 사용자 경험을 개선할 수 있다. 예를 들어, 제공자들은 사용자 데이터를 사용하여 사용자가 가장 많이 본 컨텐츠 유형을 식별하고 사용자가 관심을 나타내지 않은 다른 유형의 컨텐츠에 대한 정보의 배포를 방지하면서 이러한 유형의 컨텐츠와 관련된 추가 정보를 제공할 수 있다. 본 문서의 설명을 위해, "컨텐츠"는 컨텐츠 제공자들이 제공하는 제3자 컨텐츠를 포함하여 디지털 컨텐츠를 지칭한다. 컨텐츠 아이템은 컨텐츠의 특정 부분을 지칭하며, 사용자가 요청한 다른 컨텐츠와 함께 프리젠테이션하기 위한 디지털 컴포넌트를 포함한다.
(예를 들어, 제3자 쿠키를 수락하는 것을 거부함으로써) 그러한 활동 데이터에 대한 자신의 프라이버시 철회 제공자의 액세스를 유지하기를 원하지만 자신의 사용자 경험에 대해 유사한 수준의 제어(또는 개인화)를 기대하는 사용자가 점점 늘어나고 있다. 예를 들어, 사용자는 일반적으로 여러 웹사이트를 탐색할 때 동일한 제3자 컨텐츠가 계속 표시되지 않는 것을 선호하므로 동일한 제3자 컨텐츠를 여러 다른 웹사이트에서 동일한 사용자에게 지속적으로 배포하면 사용자가 보고 싶지 않고 무시할 가능성이 있는 컨텐츠를 배포하는데 사용되는 컴퓨팅 리소스가 낭비된다. 특정 사용자가 동일한 제3 컨텐츠에 노출되는 횟수를 제한하는 한 가지 방법은 동일한 사용자가 지정된 횟수 이상 동일한 제3자 컨텐츠에 노출되는 것을 방지하는 빈도 제어 기술을 활용하는 것이다.
특정 컨텐츠 아이템이 사용자에게 제공되는 빈도에 관한 브라우징 경험에 대한 제어를 사용자에게 제공하는 기존 방법은 사용자가 특정 컨텐츠 아이템 또는 컨텐츠 카테고리가 자신에게 흥미롭지 않다고 표시하여 이 컨텐츠 또는 컨텐츠 카테고리를 다시 보고 싶지 않다고 표시했는지 여부, 또는 특정 컨텐츠 아이템이 임계 횟수만큼 사용자에게 제공되어 사용자가 그 컨텐츠를 너무 많이 보았거나 일정 기간 내에 너무 많이 봤다고 나타낼 수 있지 여부를 결정하기 위해 사용자 정보에 대한 액세스를 제공하는 사용자에 의존한다. 예를 들어, 기존의 빈도 제한(frequency capping) 방법은 예를 들어 사용자가 쿠키를 수락하거나, 디바이스 ID에 대한 액세스를 제공하는데 동의하거나, 계정에 로그인하는 방식에 의존한다. 이 사용자 데이터에 액세스하지 않으면, 빈도 제어의 일부 방법이 효과적이지 않거나 다른 플랫폼에서 효과적이지 않을 수 있다. 본 명세서에 기술된 혁신은 빈도 제어를 구현하고, 사용자 경험을 개선하는 동시에 사용자 프라이버시를 보호하고 (예를 들어, 원치 않는 컨텐츠를 사용자에게 배포하는데 사용되는) 낭비되는 컴퓨팅 리소스를 줄이는 기존 방법의 문제를 극복한다.
본 명세서 전반에 걸쳐 상세히 설명되는 바와 같이, 이러한 혁신적인 기술은 시스템이 사용자 데이터에 대한 분석을 수행할 수 있는 형식으로 데이터를 유지하면서 사용자들로부터 수집된 데이터와 관련하여 사용자 프라이버시를 보호할 수 있다. 하나 이상의 속성을 지정하는 사용자 데이터를 수신하면, 사용자 디바이스의 브라우저, OS 또는 기타 소프트웨어는 예를 들어 하나 이상의 해시 함수를 사용하여 사용자 데이터의 프라이버시 강화 표현을 생성한다. 예를 들어, 컨텐츠 제공자 서버 또는 독립 서버와 같은 서버는 사용자 데이터의 프라이버시 강화 표현을 수신하고 수신된 확률적 데이터 구조로 저장한다. 일부 구현에서, 독립 서버는 원시 데이터를 수신하지 않고 확률적 데이터 구조를 수신하거나 원시 데이터를 수신하고 확률적 데이터 구조를 구성한 다음 원시 사용자 데이터를 폐기함으로써 승인되지 않은 제3자가 시스템에 액세스한 경우에도 해당 데이터에 대한 직접 액세스를 방지하고 원시 사용자 데이터의 정보를 보다 간결하고 효율적인 형태로 유지한다.
본 문서 전체에 걸쳐 사용되는 바와 같이, "거짓 긍정율(false positive rate)"이라는 문구는 확률적 데이터 구조와 관련된 거짓 긍정의 예상 비율 또는 횟수를 식별하는 값을 지칭한다. 거짓 긍정율은 예를 들어 확률적 데이터 구조에 삽입된 아이템의 수와 확률적 데이터 구조의 크기의 함수일 수 있다.
본 문서 전체에 걸친 설명에 더하여, 사용자는 본 명세서에 설명된 시스템, 프로그램 또는 기능이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능하게 할 수 있는지 여부와, 사용자에게 서버로부터 컨텐츠 또는 통신이 전송되는지 여부에 대해 사용자가 선택할 수 있도록 하는 제어를 제공받을 수 있다. 또한, 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대한 개인 식별 정보가 확인될 수 없도록 처리되거나, 사용자의 지리적 위치는 사용자의 특정 위치가 확인될 수 없도록 위치 정보가 획득된 곳에서 일반화될 수 있다(예를 들어, 도시, 우편 번호 또는 주 수준). 따라서, 사용자는 사용자에 대해 수집되는 정보, 해당 정보가 사용되는 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
도 1은 프라이버시 보호 데이터 수집 및 분석을 위한 예시적인 환경(100)의 블록도이다. 예시적인 환경(100)은 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷, 또는 이들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버(104)("Electronic Doc Servers"), 사용자 디바이스(106), 디지털 컴포넌트 배포 시스템(110)(DCDS(110)으로도 지칭됨), 및 프라이버시 서버(120)를 연결한다. 예시적인 환경(100)은 많은 상이한 전자 문서 서버(104) 및 사용자 디바이스(106)를 포함할 수 있다.
사용자 디바이스(106)는 네트워크(102)를 통해 리소스(예를 들어, 전자 문서)를 요청 및 수신할 수 있는 전자 디바이스이다. 예시적인 사용자 디바이스(106)는 개인용 컴퓨터, 웨어러블 디바이스, 스마트 스피커, 태블릿 디바이스, 모바일 통신 디바이스(예를 들어, 스마트 폰), 스마트 기기, 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 기타 디바이스를 포함한다. 일부 구현에서, 사용자 디바이스는 가청 정보를 사용자에게 출력하는 스피커, 및 사용자로부터 가청 입력(예를 들어, 발화된 단어 입력)을 수용하는 마이크로폰을 포함할 수 있다. 사용자 디바이스는 또한 입력을 제출하고 및/또는 입력에 응답하여 제공되는 출력을 수신하기 위한 대화형 음성 인터페이스를 제공하는 디지털 어시스턴트를 포함할 수 있다. 사용자 디바이스는 또한 시각적 정보(예를 들어, 텍스트, 이미지, 및/또는 비디오)를 제시하기 위한 디스플레이를 포함할 수 있다. 사용자 디바이스(106)는 일반적으로 네트워크(102)를 통한 데이터의 송수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 사용자 디바이스(106)에 의해 실행되는 네이티브 애플리케이션도 네트워크(102)를 통한 데이터의 송수신을 용이하게 할 수 있다.
사용자 디바이스(106)는 소프트웨어(107)를 포함한다. 소프트웨어(107)는 예를 들어 브라우저 또는 운영 체제일 수 있다. 일부 구현에서, 소프트웨어(107)는 사용자가 네트워크(102)와 같은 네트워크를 통해 정보에 액세스하고 서버로부터 정보를 검색하고 사용자 디바이스(106)의 디스플레이에 정보를 디스플레이할 수 있게 한다. 일부 구현에서, 소프트웨어(107)는 사용자 디바이스(106)의 하드웨어 및 소프트웨어 리소스를 관리하고 사용자 디바이스(106)의 다른 프로그램에 대한 공통 서비스를 제공한다. 소프트웨어(107)는 프로그램과 사용자 디바이스(106)의 하드웨어 사이에서 중개자 역할을 할 수 있다.
소프트웨어(107)는 각 사용자 디바이스(106)에 특정적이다. 아래에서 상세히 설명되는 바와 같이, 프라이버시 보호 데이터 분석 및 수집 혁신은 리소스 효율적이고 안전한 디바이스 특정 솔루션을 제공한다.
전자 문서는 사용자 디바이스(106)에서 컨텐츠 세트를 나타내는 데이터이다. 전자 문서의 예는 웹페이지, 워드 프로세싱 문서, PDF 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스를 포함한다. 모바일, 태블릿 또는 데스크톱 컴퓨팅 디바이스에 설치된 애플리케이션과 같은 네이티브(기본) 애플리케이션(예를 들어, "앱")도 전자 문서의 예이다. 전자 문서(105)("Electronic Docs")는 전자 문서 서버(104)에 의해 사용자 디바이스(106)에 제공될 수 있다. 예를 들어, 전자 문서 서버(104)는 게시자 웹사이트를 호스팅하는 서버를 포함할 수 있다. 이 예에서, 사용자 디바이스(106)는 주어진 게시자 웹페이지에 대한 요청을 개시할 수 있고, 주어진 게시자 웹페이지를 호스팅하는 전자 문서 서버(104)는 사용자 디바이스(106)에서 주어진 웹페이지의 프리젠테이션을 개시하는 기계 HTML 코드를 전송함으로써 요청에 응답할 수 있다.
전자 문서는 다양한 컨텐츠를 포함할 수 있다. 예를 들어, 전자 문서(105)는 전자 문서 자체 내에 있고 및/또는 시간이 지남에 따라 변경되지 않는 정적 컨텐츠(예를 들어, 텍스트 또는 기타 지정된 컨텐츠)를 포함할 수 있다. 전자 문서는 또한 시간이 지남에 따라 또는 요청별로 변경될 수 있는 동적 컨텐츠를 포함할 수 있다. 예를 들어, 주어진 전자 문서의 게시자는 전자 문서의 일부를 채우는데 사용되는 데이터 소스를 유지할 수 있다. 이 예에서, 주어진 전자 문서는 주어진 전자 문서가 사용자 디바이스(106)에 의해 처리(예를 들어, 렌더링 또는 실행)될 때 사용자 디바이스(106)가 데이터 소스로부터 컨텐츠를 요청하게 하는 태그 또는 스크립트를 포함할 수 있다. 사용자 디바이스(106)는 데이터 소스로부터 획득된 컨텐츠를 주어진 전자 문서의 프리젠테이션으로 통합하여 데이터 소스로부터 획득된 컨텐츠를 포함하는 복합 전자 문서를 생성한다.
일부 상황에서, 주어진 전자 문서는 DCDS(110)를 참조하는 디지털 컨텐츠 태그 또는 디지털 컨텐츠 스크립트를 포함할 수 있다. 이러한 상황에서, 디지털 컨텐츠 태그 또는 디지털 컨텐츠 스크립트는 주어진 전자 문서가 사용자 디바이스(106)에 의해 처리될 때 사용자 디바이스(106)에 의해 실행된다. 디지털 컨텐츠 태그 또는 디지털 컨텐츠 스크립트의 실행은 네트워크(102)를 통해 DCDS(110)로 전송되는 디지털 컨텐츠에 대한 요청(108)을 생성하도록 사용자 디바이스(106)를 구성한다. 예를 들어, 디지털 컨텐츠 태그 또는 디지털 컨텐츠 스크립트는 사용자 디바이스(106)가 헤더 및 페이로드 데이터를 포함하는 패킷화된 데이터 요청을 생성하는 것을 가능하게 할 수 있다. 요청(108)은 디지털 컨텐츠가 요청되고 있는 서버의 이름(또는 네트워크 위치), 요청하는 디바이스(예를 들어, 사용자 디바이스(106))의 이름(또는 네트워크 위치), 및/또는 DCDS(110)가 요청에 응답하여 제공되는 디지털 컨텐츠를 선택하는데 사용할 수 있는 정보와 같은 데이터를 포함할 수 있다. 요청(108)은 사용자 디바이스(106)에, 의해 네트워크(102)(예를 들어, 통신 네트워크)를 통해 DCDS(110)의 서버로 전송된다.
요청(108)은 전자 문서 및 디지털 컨텐츠가 제시될 수 있는 위치의 특성을 지정하는 데이터를 포함할 수 있다. 예를 들어, 디지털 컨텐츠가 제시될 전자 문서(예를 들어, 웹 페이지)에 대한 참조(예를 들어, URL), 디지털 컨텐츠를 제시하는데 사용할 수 있는 전자 문서의 사용 가능한 위치(예를 들어, 디지털 컨텐츠 슬롯), 사용 가능한 위치의 크기, 전자 문서의 프리젠테이션 내의 사용 가능한 위치들(location)의 위치(position), 및/또는 그 위치들에서 제공하는데 적격인 미디어 유형을 지정하는 데이터가 DCDS(110)에 제공될 수 있다. 유사하게, 전자 문서에 의해 참조되는 전자 문서("문서 키워드") 또는 엔티티(예를 들어, 사람, 장소 또는 사물)의 선택을 위해 지정된 키워드를 지정하는 데이터도 (예를 들어, 페이로드 데이터로서) 요청(108)에 포함될 수 있고 전자 문서와 함께 프리젠테이션하기에 적격인 디지털 컨텐츠 아이템의 식별을 용이하게 하기 위해 DCDS(110)에 제공된다.
요청(108)은 또한 사용자가 제공한 정보, 요청이 제출된 주(state) 또는 지역을 나타내는 지리 정보, 또는 디지털 컨텐츠가 디스플레이될 표시될 환경에 대한 컨텍스트를 제공하는 기타 정보(예를 들어, 모바일 디바이스 또는 태블릿 디바이스와 같이 디지털 컨텐츠가 디스플레이될 디바이스 유형)와 같은 기타 정보와 관련된 데이터를 포함할 수 있다. 사용자 제공 정보는 사용자 디바이스(106)의 사용자에 대한 인구 통계 데이터를 포함할 수 있다. 예를 들어, 인구 통계 정보에는 다른 특성 중에서도 연령, 성별, 지리적 위치, 교육 수준, 결혼 여부, 가구 소득, 직업, 취미, 소셜 미디어 데이터 및 사용자가 특정 아이템을 소유하고 있는지 여부가 포함될 수 있다.
사용자 디바이스(106)의 모델, 사용자 디바이스(106)의 구성, 또는 크기(예를 들어, 물리적 크기 또는 해상도), 또는 전자 문서가 제시되는 전자 디스플레이(예를 들어, 터치스크린 또는 데스크탑 모니터)의 크기(예를 들어, 물리적 크기 또는 해상도)를 식별하는 정보와 같은 사용자 디바이스(106)의 특성을 지정하는 데이터가 요청(108)에 제공될 수도 있다. 요청(108)은 예를 들어 패킷화된 네트워크를 통해 전송될 수 있고, 요청(108) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷될 수 있다. 헤더는 패킷의 목적지를 지정할 수 있고 페이로드 데이터는 위에서 논의된 임의의 정보를 포함할 수 있다.
DCDS(110)는 요청(108)을 수신하는 것 및/또는 요청(108)에 포함된 정보를 사용하는 것에 응답하여 주어진 전자 문서와 함께 프리젠테이션하기 위해 제공될 디지털 컨텐츠를 선택한다. 일부 구현에서, DCDS(110)는 예를 들어 요청(108)에 응답하여 디지털 컨텐츠를 식별 및 배포하고 상호 연결되어 있는 서버 및 다수의 컴퓨팅 디바이스 세트를 포함하는 분산 컴퓨팅 시스템(또는 환경)에서 구현된다. 다수의 컴퓨팅 디바이스 세트는 수백만 개 이상의 이용 가능한 디지털 컨텐츠 코퍼스 중에서 전자 문서에 제시되기에 적격인 디지털 컨텐츠 세트를 식별하기 위해 함께 작동한다. 수백만 또는 그 이상의 이용 가능한 디지털 컨텐츠가 예를 들어 디지털 컴포넌트 데이터베이스(112)에서 인덱싱될 수 있다. 각각의 디지털 컨텐츠 인덱스 항목은 대응하는 디지털 컨텐츠를 참조할 수 있고 및/또는 대응하는 디지털 컨텐츠의 배포를 조절하는 배포 파라미터(예를 들어, 선택 기준)를 포함할 수 있다.
적격 디지털 컨텐츠의 식별은 다수의 컴퓨팅 디바이스 세트 내의 컴퓨팅 디바이스 사이에 할당되는 다수의 작업으로 분할될 수 있다. 예를 들어, 상이한 컴퓨팅 디바이스는 디지털 컴포넌트 데이터베이스(112)의 상이한 부분을 각각 분석하여 요청(108)에 포함된 정보와 매칭하는 배포 파라미터를 갖는 다양한 디지털 컨텐츠를 식별할 수 있다.
DCDS(110)는 다수의 컴퓨팅 디바이스 세트로부터 수신된 결과를 집계하고, 요청(108)에 응답하여 제공될 디지털 컨텐츠의 하나 이상의 인스턴스를 선택하기 위해 상기 집계된 결과와 관련된 정보를 사용한다. 차례로, DCDS(110)는 네트워크(102)를 통해 사용자 디바이스(106)가 디지털 컨텐츠의 선택 세트를 주어진 전자 문서에 통합할 수 있게 하는 응답 데이터(114)(예를 들어, 응답을 나타내는 디지털 데이터)를 생성 및 전송하여, 디지털 컨텐츠의 선택된 세트 및 전자 문서의 컨텐츠는 사용자 디바이스(106)의 디스플레이에 함께 제시되도록 한다.
프라이버시 서버(120)는 시스템(100)의 선택적(optional) 컴포넌트이다. 프라이버시 서버(120)는 전자 문서 서버(104) 및/또는 DCDS(110)와 독립적인 서버이다. 프라이버시 서버(120)는 사용자의 프라이버시를 보존하면서 브라우징 경험에 대한 제어를 사용자에게 제공한다. 프라이버시 서버(120)는 컨텐츠 배포 프로세스에 빈도 제어를 적용한다. 일부 구현에서, 프라이버시 서버(120)는 디지털 컴포넌트 배포 시스템(110)의 일부이다. 본 문서에서 "빈도 제어"라는 용어는 컨텐츠가 특정 사용자에게 제시되는 빈도를 제어하는 하나 이상의 기능을 나타낸다.
예를 들어, 빈도 제어는 컨텐츠 제공자가 컨텐츠 아이템이 표시되는 횟수를 제한할 수 있도록 하는 기능인 빈도 제한(frequency capping)을 나타낼 수 있다. 빈도 제한은 DCDS(110) 및/또는 프라이버시 서버(120)에 의해 부분적으로 그리고 사용자 디바이스(106)의 브라우저(107)에 의해 부분적으로 구현될 수 있다. 예를 들어, DCDS(110) 및/또는 프라이버시 서버(120)는 각 컨텐츠 아이템이 표시될 수 있는 최대 임계 횟수 및/또는 컨텐츠 아이템이 표시될 수 있는 기간의 기록을 유지할 수 있으며, 사용자 디바이스(106)의 브라우저(107)는 특정 컨텐츠 아이템이 표시된 횟수를 유지할 수 있다. 브라우저(107)가 특정 컨텐츠 아이템에 대해 최대 임계 횟수에 도달했다고 결정하는 경우, 컨텐츠 아이템은 다시 제공되지 않아야 하거나 일정 기간 내에 제공되지 않아야 하는 컨텐츠 아이템 목록에 추가될 수 있다. 동일한 컨텐츠를 과도하게 보는 것은 사용자에게 불쾌하거나 짜증나게 할 수 있고 사용자에게 반복적인 컨텐츠 아이템을 전송 및 제시할 때 컨텐츠 제공자 리소스를 낭비하고 사용자의 경험을 감소시킬 수 있으므로 빈도 제한은 사용자의 브라우징 경험과 시스템 효율성 향상에 중요하다.
다른 예에서, 빈도 제어는 특정 컨텐츠 아이템 또는 컨텐츠 카테고리가 그들에게 흥미롭지 않고 및/또는 다시 보고 싶지 않다고 컨텐츠 제공자에게 시그널링하는 사용자의 입력을 수집하는 기능을 지칭할 수 있다. 예를 들어, 컨텐츠 아이템이 해당 순간에 그들에게 제시되는 것을 중지하고 컨텐츠 아이템이 미래에 그들에게 제시되는 것을 방지하는 옵션이 사용자에게 제시될 수 있다. 사용자는 버튼, 체크 박스 또는 기타 엘리먼트와 같은 사용자 인터페이스 엘리먼트와 상호 작용할 수 있다. 예를 들어 사용자는 버튼을 선택하여 컨텐츠를 닫을 수 있다. 추가적으로, 사용자는 컨텐츠가 제시되는 것을 중단할 때 컨텐츠에 관한 주관적인 피드백을 제공할 수 있다. 예를 들어, 사용자는 다른 유형의 입력 중에서 "이 제안을 전에 본 적이 있어", "이 것이 마음에 들지 않아", "이것을 다시 표시하지 마"과 같은 피드백을 입력할 수 있다. 일부 구현에서, 이러한 종류의 사용자 입력은 컨텐츠 아이템을 "뮤팅(muting)"하는 것으로 지칭될 수 있다. 일부 구현에서, 뮤팅은 일정 기간과 연관된다. 예를 들어, 사용자는 컨텐츠 아이템을 보고 싶지 않은 기간을 선택할 수 있다. 일부 구현에서, 사용자가 컨텐츠 아이템을 뮤팅할 때 디폴트 기간이 적용될 수 있거나, 다른 요인들 중에서 컨텐츠 아이템의 유형 및/또는 사용자에 의해 제공되는 피드백의 유형에 기초하여 선택된 기간이 적용될 수 있다.
일부 구현에서, 프라이버시 서버(120)는 예를 들어 빈도 제어를 적용하라는 요청에 응답하여 상호 연결된 서버 및 다수의 컴퓨팅 디바이스의 세트를 포함하는 분산 컴퓨팅 시스템(또는 환경)에서 구현된다. 다수의 컴퓨팅 디바이스 세트는 수백만 개 이상의 이용 가능한 디지털 컨텐츠 코퍼스 중에서 전자 문서에 제시될 수 있는 디지털 컨텐츠 세트를 식별하기 위해 함께 작동한다. 수백만 개 이상의 사용 가능한 디지털 컨텐츠가 예를 들어 컨텐츠가 특정 사용자에게 제시된 횟수 및/또는 사용자가 컨텐츠 아이템을 제시받지 않도록 요청되었는지 여부에 따라 프라이버시 서버 데이터베이스(122)에 인덱싱될 수 있다.
초기 단계로서, 각 컨텐츠 아이템 배포 캠페인은 각 컨텐츠 배포 시스템 내에서 고유한 캠페인 ID로 표현될 수 있다. "글로벌(globally)" 고유 캠페인 ID는 컨텐츠 아이템 배포 캠페인이 전체 인터넷에 걸쳐 고유하게 식별되도록 하며, 컨텐츠 배포 시스템 도메인의 eTLD+1(유효한 최고 순위 도메인보다 한 레벨 더 높음) 및 컨텐츠 배포 시스템 도메인 내의 캠페인에 대한 캠페인 ID의 조합을 사용하여 생성된다. 예를 들어, 글로벌 고유 캠페인 ID는 컨텐츠 배포 시스템 도메인의 eTLD+1과 캠페인 ID의 암호화 해시로서 생성될 수 있다. 이러한 암호화 해시 중 하나는 32바이트 단어의 결과를 생성하기 위해 SHA-256과 같은 보안 해시 알고리즘을 사용하여 구현된 해시 기반 메시지 인증 코드(HMAC)일 수 있다. 글로벌 고유 캠페인 ID를 계산하는 예시적인 함수는 식(1)로 표시된다.
Si = HMAC(campaign_ID,content_distribution_system_domain)......식(1)
컨텐츠 아이템의 유한 이산 세트는 예를 들어 식(2)로 표시된 세트로 표시된다.
S={S1,S2,…,SZ}...................식(2)
HMAC를 사용하여 각각의 글로벌 고유 캠페인 ID를 정의하는 것의 한 가지 이점은 추가 정보 없이는 글로벌 고유 캠페인 ID를 조사하는 것만으로 컨텐츠 배포 시스템의 ID 또는 캠페인 ID를 확인할 수 없다는 것이다. 따라서, 글로벌 고유 캠페인 ID는 다른 정보 중에서 현재 실행 중인 컨텐츠 아이템 배포 캠페인의 수, 중지된 컨텐츠 아이템 배포 캠페인의 수, 시작된 컨텐츠 아이템 배포 캠페인의 수와 같은 기밀 정보를 보호한다.
이러한 글로벌 고유 캠페인 ID는 사용자 디바이스의 사용자가 인터넷을 탐색하고 브라우징할 때 각 사용자의 디바이스에서 실행되는 소프트웨어에 제공된다. 예를 들어, 소프트웨어(107)는 글로벌 고유 캠페인 ID에 관한 데이터를 저장할 수 있다. 일부 구현에서, 글로벌 고유 캠페인 ID는 사용자 디바이스에 로컬로 저장된다. 소프트웨어(107)는 사용자 디바이스 상의 다양한 소프트웨어를 포함할 수 있으며, 설명의 편의를 위해, 사용자 디바이스의 브라우저 프로그램(107)과 관련하여 다음 설명이 제공된다.
추가 보호를 제공하기 위해, 각 컨텐츠 배포 시스템은 비밀키를 생성할 수 있다. 예를 들어, DCDS(110)는 비밀키(DCDS_key)를 생성할 수 있다. 각 브라우저에 대해, 컨텐츠 배포 시스템은 자체 비밀키 및 신뢰 토큰 API에 의해 생성된 브라우저의 공개키를 사용하여 브라우저 고유(specific) 비밀키를 생성할 수 있다. 예를 들어, DCDS(110)는 식(3)에 따라 브라우저의 공개키(browser_public_key) 및 DCDS(110)의 비밀키(DCDS_key)를 해싱함으로써 브라우저(107)에 대한 브라우저 고유 비밀키를 생성할 수 있다.
browser_specific_key=HMAC(browser_public_key,DCDS_key).....식(3)
그런 다음 컨텐츠 배포 시스템은 브라우저에 제시된 컨텐츠 아이템에 대한 글로벌 고유 캠페인 ID를 생성할 수 있다. 일부 구현에서, 컨텐츠 배포 시스템은 결정론적 암호화 알고리즘을 사용할 수 있다. 예를 들어, DCDS(110)는 식(4)에 따른 결정론적 대칭 암호화 알고리즘을 사용하여 브라우저(107)에 제시된 컨텐츠 아이템에 대한 글로벌 고유 캠페인 ID를 생성할 수 있다.
Si = Encrypt(campaign_ID,browser_specific_key).............식(4)
다음으로 컨텐츠 배포 시스템은 Si를 암호화하고 빈도 제어를 적용하라는 요청에 포함된 파라미터로서 암호문을 전송한다. 일부 구현에서, 컨텐츠 배포 시스템은 확률적 암호화 알고리즘을 사용할 수 있다. 예를 들어, DCDS(110)는 식(5)에 따라 Si를 암호화하고 빈도 제어를 호출할 때 브라우저(107)에 그 결과를 전송할 수 있다.
Si = PubKeyEncrypt(Si,browser_public_key)..........식(5).
빈도 제어를 호출하라는 요청을 수신하면, 브라우저는 신뢰 토큰 API에 의해 생성된 브라우저 고유 개인키를 사용하여 요청과 Si를 복호화할 수 있다. 컨텐츠 배포 시스템의 비밀키가 기밀로 유지되는 한, 악의적인 당사자들은 인터셉트한 트래픽을 사용하여도 식(3)에 의해 계산된 브라우저 고유키를 결정(확인)할 수 없다. 더욱이, 브라우저 고유 비밀 키의 브라우저 고유 특성은 악의적인 당사자가 컨텐츠 제공자 정보에 액세스할 목적으로 글로벌 고유 캠페인 ID(Si)를 수집할 수 있는 확장 가능하거나 경제적인 방법이 없으므로 악의적인 당사자를 저지한다.
빈도 제어 기술을 구현하기 위해, 컨텐츠 아이템 내의 스크립트는 예를 들어 컨텐츠 아이템이 디스플레이되는 사용자 디바이스의 브라우저에 (1) 컨텐츠 아이템이 관련되는 캠페인 ID 및 (2) 캠페인에 대해 정의된 모든 빈도 제어 규칙을 알릴 수 있다. 예를 들어, 빈도 제한 규칙은 컨텐츠 아이템의 분당 프레젠테이션이 2회를 넘지 않아야 하고 시간당 프레젠테이션이 5회를 넘지 않아야 한다는 것이다. 브라우저는 각각의 글로벌 고유 캠페인 ID에 대해, (1) 빈도 제한 규칙 및 (2) 컨텐츠 아이템이 제시된 시간의 타임스탬프 목록을 나타내는 데이터 구조를 유지할 수 있다. 일부 구현에서, 브라우저는 데이터를 저장하고 유지 관리하는데 필요한 메모리 리소스를 줄이기 위해 빈도 제한에 정의된 가장 긴 시간 프레임을 초과하는 과거에 발생한 타임스탬프를 제거할 수 있다. 예를 들어 빈도 제한이 시간당 5회 이하의 프리젠테이션으로 지정되어 있는 경우, 브라우저는 1시간 이상 전에 발생한 타임스탬프를 제거할 수 있다. 브라우저는 가장 최근 발생의 타임스탬프와 문제의 발생 사이의 차이를 찾아 두 발생 사이의 시간 프레임을 결정할 수 있다. 이 데이터를 통해 브라우저는 캠페인이 브라우저에서 최대 빈도 제한에 도달했는지 여부를 결정하거나 용이하게 결정할 수 있다.
추가적으로, 각 브라우저는 브라우저에 제시되지 않아야 하는 컨텐츠 아이템 세트(D)를 유지한다. 세트(D)는 컨텐츠 아이템의 유한한 이산 세트의 서브 세트이며, 빈도 제어 규칙 또는 명시적인 사용자 요청으로 인해 제시되지 않아야 한다. 예를 들어, 브라우저가 실행되고 있는 사용자 디바이스의 사용자가 컨텐츠 아이템에 관심이 없거나 컨텐츠 아이템을 다시 보고 싶지 않다는 입력을 제공했기 때문에 또는 빈도 제어 규칙에 따라 사용자에게 컨텐츠 아이템이 너무 자주 제시되기 때문에 세트(D)의 컨텐츠 아이템은 제시되어서는 안된다.
브라우저는 다양한 조건이 발생할 때 세트(D)를 업데이트할 수 있다. 예를 들어, 브라우저는 사용자가 컨텐츠 아이템을 보고 싶지 않거나 컨텐츠 아이템과 같은 컨텐츠에 관심이 없음을 나타내는 피드백을 제공하는 경우, 사용자에게 제시되는 컨텐츠 아이템이 빈도 제어 규칙에 지정된 빈도 제한에 도달한 경우 및 사용자의 피드백 및/또는 빈도 제어 규칙에 의해 지정된 기간이 만료되는 경우 세트(D)를 업데이트할 수 있다. 일반적으로, 세트(D) 내의 아이템 수는 세트(S) 내의 아이템 수보다 훨씬 작아서 사용자 선호도 또는 빈도 제어 규칙으로 인해 사용자에게 프리젠테이션하기 위한 부적격한 컨텐츠 아이템의 수는 사용 가능한 모든 컨텐츠 아이템의 수보다 적다.
컨텐츠 배포 시스템은 브라우저가 실행되고 있는 사용자 디바이스의 특정 사용자에게 프리젠테이션하기 위해 컨텐츠 아이템 또는 디지털 컴포넌트를 선택할 때 브라우저 고유 세트(D)를 사용한다. 예를 들어, 컨텐츠 배포 시스템은 선택된 컨텐츠 아이템이 세트(D)로 표시되는 빈도 제어 규칙 및 사용자 선호도를 준수하도록
Figure pct00001
이라는 조건에 따라 세트(S)로부터 컨텐츠 아이템(Si)를 선택할 수 있다.
세트(D)는 컨텐츠 배포 시스템이 빈도 제어 규칙을 준수하고 사용자의 기대에 따라 사용자 경험을 제공할 수 있으므로 유리하다. 그러나, 컨텐츠 제공자 또는 컨텐츠 배포 시스템에 세트(D)에 대한 직접 엑세스 권한이 제공되는 경우, 세트(D)는 사용자 추적을 용이하게 하는 신호가 될 수 있다. 다양한 플랫폼과 도메인에 걸쳐 빈도 제어 규칙을 준수하면서 세트(D)를 사용하여 수행될 수 있는 임의의 점진적(incremental) 추적을 제한하기 위해, 각 브라우저는 무작위로 선택된 노이즈로 세트(D)를 확장할 수 있다. 예를 들어, 브라우저는 아이템들이 빈도 제어 규칙 또는 사용자 선호도에 따라 적격한지 여부에 관계없이 프레젠테이션에 부적격한 것으로 식별된 랜덤 컨텐츠 아이템을 나타내는 랜덤 세트(D')를 생성할 수 있다. 그런 다음 브라우저는 세트 D와 D'의 합집합(D∪D')을 계산하고 컨텐츠 아이템 요청과 함께 결과를 제공하기 전에 엘리먼트들을 무작위로 섞을 수 있다. 세트(D')는 부적격한 컨텐츠 아이템의 실제 세트를 난독화하는 랜덤 노이즈를 제공하여 세트(D∪D')를 특정 사용자와 상관시키는 것을 어렵거나 불가능하게 만든다. 브라우저는 D'를 선택하여 컴퓨팅 리소스 측면에서 복잡성과 채택 비용이 엄청나게 높지 않도록 효율성을 유지하면서 특정 수준의 프라이버시 보호를 제공한다.
브라우저는 상황에 기초하여 세트(D')를 조정할 수 있다. 브라우저는 무엇보다도 각 웹 페이지 고유 식별자의 수명, 각 웹 페이지 방문, 각 컨텐츠 아이템 요청, 및 각 프로그램 또는 플랫폼에 대해 세트(D')를 선택할 수 있다. 예를 들어, 사이트가 동일한 웹 페이지 방문 내에서 각 컨텐츠 아이템 요청과 세트(D')를 상관시킬 수 있는 경우, 브라우저는 동일한 웹 페이지 방문에서 비롯된 다수의 컨텐츠 아이템 요청에 대해 단 하나의 세트(D')를 생성하는 것이 가장 효율적이라고 결정할 수 있다. 웹 페이지가 세트(D')를 지속적으로 추적하는 것을 방지하기 위해, 브라우저는 컨텐츠 아이템 요청의 헤더에 (D∪D')를 삽입하거나 해당 서버만 메시지를 복호할 수 있도록 특정 서버의 공개키를 사용하여 암호화(D∪D')할 수 있다.
랜덤하게 생성된 노이즈 외에도, 브라우저는 사용자 데이터에 확률적 보호 계층을 추가할 수 있다. 예를 들어, 브라우저는 사용자를 추적하는데 사용될 수 있는 세트(D)를 추가로 난독화하기 위해 블룸(bloom) 필터를 선택 및 구성하고 컨텐츠 아이템 요청과 함께 그 필터를 전송할 수 있다. 블룸 필터는 엘리먼트가 세트에 속하는지 여부를 빠르게 체크할 수 있는 공간 효율적인 확률 데이터 구조이다. 그 결과는 "세트에 있음(possibly in set)" 또는 "확실히 세트에 없음(definitely not in set)"이다.
블룸 필터는 예를 들어 엘리먼트당 10비트 미만을 사용할 수 있으므로 해시된 세트의 32바이트와 비교하여 세트의 엘리먼트의 크기 또는 수와 무관한 거짓 긍정율을 제공하여 스토리지 및 대역폭 요구 사항 측면에서 막대한 절감 효과를 제공한다. 이러한 확률적 데이터 구조는 원시 데이터에 비해 리소스가 거의 필요하지 않은 확률적 데이터 구조에 이 데이터의 프라이버시 강화(privacy-enhanced) 표현을 저장하고 원시 데이터를 폐기함으로써 데이터 처리 리소스 및/또는 메모리 리소스의 사용을 크게 줄일 수 있다. 따라서, 확률적 데이터 구조의 사용은 또한 데이터를 처리하는데 필요한 리소스의 양을 줄인다. 확률적 구조는 원시 데이터를 전송하거나 저장하는 것에 비해 더 적은 데이터를 전송 및/또는 저장할 것을 요구하므로 확률적 구조로 표현되는 데이터의 전송 및 저장이 더 빠르고 효율적이다.
게다가, 블룸 필터 결과 아이템이 부적격 컨텐츠 아이템 세트(D∪D')에 대해 "확실히 세트에 없음"을 나타내는 경우에만 컨텐츠 아이템들을 제시하도록 컨텐츠 배포 시스템이 제한되는 경우, 프로세스는 빈도 제어가 제한이 준수되도록 보장한다. 브라우저는 블룸 필터의 변형 또는 블룸 필터와 유사한 다른 확률적 데이터 구조를 사용할 수 있다. 예를 들어 브라우저는 쿠쿠(cuckoo) 필터를 사용할 수 있다. 일부 구현에서, 브라우저는 블룸 필터와 유사한 여러 확률적 구조를 평가하여 가장 적절한 구조를 선택할 수 있다.
거짓 긍정의 확률은 기본적으로 아이템이 빈도 제어 규칙 또는 사용자 선호도에 따라 적격한지 여부에 관계없이 프레젠테이션에 부적격한 것으로 식별된 추가 컨텐츠 아이템 세트를 나타내는 세트(D")를 생성한다. 블룸 필터는 Si∈D∪D'∪D"일 때 "세트에 있음"으로 응답하기 때문에, 블룸 필터는 특정 사용자와 세트(D∪D'∪D")을 상관시킬 가능성을 더욱 좌절시킨다. 프레젠테이션에 부적격한 컨텐츠 아이템 세트은 효과적으로 무작위로 두 번 확장되었다.
도 2는 데이터 수집 및 분석을 위한 프라이버시 보호 방법(200)의 스윔레인(swimlane) 흐름도이다. 방법(200)의 동작들은 시스템(100)의 다양한 컴포넌트에 의해 수행된다. 예를 들어, 방법(200)의 동작들은 사용자 디바이스(106)와 통신하는 프라이버시 서버(120) 및 DCDS(110)에 의해 수행될 수 있다.
방법(200)은 상술한 프라이버시 및 보안 특징들 각각을 캡슐화하고, 컨텐츠 배포 시스템이 블룸 필터를 쿼리하고, 디스플레이할 컨텐츠 아이템의 최종 선택을 수행하는데 필수적인 최소한의 정보에만 액세스할 수 있다. 더욱이, 방법(200)은 상이한 유형의 데이터 또는 데이터 세트에 액세스하여 상이한 플랫폼을 방문하는 사용자가 컨텐츠 아이템 제공과 관련하여 일관된 경험을 갖도록 허용한다. 예를 들어, 방법(200)은 사용자가 제1 엔티티에 의해 소유 및 운영되는 판매용 사용자 제작 아이템을 브라우징하기 위해 웹사이트를 방문하는지 또는 완전히 상이한 제2 엔티티에 의해 소유 및 운영되는 소셜 네트워크 플랫폼을 방문하는지 여부에 대한 사용자의 프라이버시 기대가 준수되도록 허용한다. .
이 방법은 사용자 디바이스의 소프트웨어에 의해 수행되는 단계 1 내지 3으로 시작한다. 단계 1에서, 사용자 디바이스의 소프트웨어는 블룸 필터를 선택하고 선택된 블룸 필터를 구성한다. 예를 들어, 사용자 디바이스(106)의 브라우저(107)는 사용자 디바이스(106)로부터 수신된 상호 작용 데이터에 기초하여, 특정 사용자와 관련된 빈도 제어 규칙을 시행하기 위해 적절한 블룸 필터 및 블룸 필터 파라미터를 결정할 수 있다. 브라우저(107)는 예를 들어 블룸 필터에 대한 거짓 긍정율을 선택할 수 있다. 일부 구현에서, 블룸 필터 구성 비용을 상각(amortize)하기 위해, 브라우저는 나중에 적용 가능한 요청을 위해 상기 구성된 블룸 필터를 선택적으로 캐시할 수 있다. 브라우저(107)는 블룸 필터에 대한 파라미터들을 선택하고 DCDS(110) 또는 컨텐츠 제공자와 같은 당사자들로부터의 입력 없이 블룸 필터를 구성한다.
방법은 브라우저가 비대칭 암호화 알고리즘을 사용하여 블룸 필터를 포함하는 메시지를 암호화하는 단계 2로 계속된다. 브라우저(107)는 적어도 (1) 구성 및/또는 캐시된 블룸 필터 및 (2) 컨텐츠 아이템이 사용자 디바이스(106)를 통해 요청된 시간을 식별하는 컨텐츠 아이템 요청 타임스탬프를 포함하는 메시지를 구성한다. 브라우저는 블룸 필터를 암호화하고 암호화된 블룸 필터를 메시지에 포함할 수 있다. 일부 구현에서, 브라우저(107)는 프라이버시 서버(120)만이 결과를 복호화할 수 있도록 프라이버시 서버(120)의 공개키를 사용하여 블룸 필터를 암호화한다.
방법은 브라우저가 사용자 디바이스에 디스플레이하기 위한 디지털 컴포넌트에 대한 요청을 생성하는 단계 3로 계속된다. 예를 들어, 브라우저(107)는 사용자 디바이스(106)에서의 디스플레이를 위한 컨텐츠 아이템 요청(108)을 생성할 수 있다.
방법은 DCDS(110)에 의해 수행되는 단계 4 내지 6으로 계속된다. 일부 구현에서, 단계 4 및 5는 DCDS(110)에 참여하는 각 컨텐츠 제공자에 대해 병렬로 발생한다.
단계 4에서, 컨텐츠 배포 시스템은 브라우저로부터 디지털 컴포넌트에 대한 요청을 수신하고 입찰 요청을 생성하여, 컨텐츠를 사용자 디바이스에 제공하기 위해 컨텐츠 제공자들로부터 입찰을 요청한다. 예를 들어, DCDS(110)는 사용자 디바이스(106)에 디스플레이할 컨텐츠 아이템에 대한 요청(108)을 수신한다. DCDS(110)는 컨텐츠 제공자들로부터 입찰을 요청하는 입찰 요청을 생성할 수 있다. 일부 구현에서, DCDS(110)는 입찰 응답을 요청하기 위해 경매 프로세스를 수행한다. 예를 들어, DCDS(110)는 컨텐츠 배포 시스템에서 일반적으로 사용되는 표준 경매 프로세스를 수행할 수 있다.
단계 5에서, 컨텐츠 배포 시스템은 컨텐츠 제공자들로부터 입찰 응답을 수신한다. 예를 들어, DCDS(110)는 사용자 디바이스(106)에 컨텐츠를 제공하기 위한 입찰에 대한 요청에 응답하여 컨텐츠 제공자들로부터 특정 컨텐츠 아이템 및 관련 입찰 가격을 나타내는 응답을 수신한다. 일부 구현에서, 예를 들어 위에서 설명된 바와 같이 글로벌 고유 캠페인 ID를 포함하는 입찰가가 제공될 수 있다.
일부 구현에서, 컨텐츠 제공자들은 구매 기회를 잃지 않기 위해 입찰 요청에 응답하여 다수의 입찰가를 반환할 수 있는데, 그 이유는 컨텐츠 제공자들은 블룸 필터를 인식하지 못하며 빈도 제어 파라미터에 기초하여 후보 컨텐츠 아이템을 사전 필터링할 수 없으며 나중에 차단될 컨텐츠 아이템을 반환할 수 있기 때문이다(예를 들어, 컨텐츠 아이템은 단계 10에서 부적격으로 결정될 수 있음).
단계 6에서, 컨텐츠 배포 시스템은 수신된 입찰 응답 중에서 최고 입찰가의 수를 선택한다. 예를 들어, DCDS(110)는 표준 경매 프로세스에서 상위 3개 최고 입찰가를 선택할 수 있다. 일부 구현에서, DCDS(110)는 다른 인자들 중에서도, 수신된 응답의 수, 빈도 제어 파라미터, 및/또는 블룸 필터 파라미터에 기초하여 선택된 최고 입찰가의 수를 조정할 수 있다.
단계 7에서, 컨텐츠 배포 시스템은 독립적인 프라이버시 서버에 쿼리함으로써 컨텐츠 빈도 제한을 적용할 수 있다. 예를 들어, DCDS(110)는 적어도 (1) 선택된 최고 입찰가의 정렬된 목록 및 (2) 컨텐츠 아이템 요청 타임스탬프가 있는 암호화된 블룸 필터를 포함하는 메시지를 전송함으로써 경매 결과에 블룸 필터를 적용하도록 프라이버시 서버(120)에 요청할 수 있다.
방법은 컨텐츠 배포 시스템 및/또는 프라이버시 서버 데이터베이스와 통신하는 독립적인 프라이버시 서버에 의해 수행되는 단계 8 내지 10으로 계속된다. 일부 구현에서, 독립적인 프라이버시 서버(120)는 컨텐츠 배포 시스템의 일부이고 컨텐츠 배포 시스템이 컨텐츠 배포를 수행하는데 필요한 것보다 더 많은 정보를 수집하기 위해 동일한 블룸 필터를 반복적으로 쿼리하지 않도록 컨텐츠 배포 시스템 활동을 제한한다.
단계 8에서, 컨텐츠 배포 시스템 및/또는 프라이버시 서버는 수신된 블룸 필터를 복호화한다. 예를 들어, DCDS(110) 및/또는 프라이버시 서버(120)는 브라우저(107)가 DCDS(110)/프라이버시 서버(120)의 공개키를 사용하여 암호화한 블룸 필터를 복호화하기 위해 자신의 개인키를 사용할 수 있다.
선택 사항인 단계 9에서, 프라이버시 서버가 컨텐츠 배포 시스템과 독립적인 경우, 프라이버시 서버는 블룸 필터와 컨텐츠 요청 타임스탬프를 사용하여 프라이버시 서버 저장소를 참조하여 빈도 제어 규칙을 시행한다. 타임스탬프는 컨텐츠 배포 시스템의 잠재적인 남용을 감지하는데 사용할 수 있다. 예를 들어, 프라이버시 서버(120)는 특정 블룸 필터가 컨텐츠 배포 시스템에 의해 임계 횟수보다 많이 쿼리되었음을 결정할 수 있고 컨텐츠 배포가 의심스럽거나 사기성 활동에 관여하고 있다고 결정할 수 있다.
단계 9에서, 컨텐츠 배포 시스템 또는 프라이버시 서버는 블룸 필터를 쿼리함으로써 빈도 제어 규칙을 시행한다. 예를 들어, DCDS(110) 및/또는 프라이버시 서버(120)는 블룸 필터를 사용하여, 컨텐츠 아이템이 사용자 디바이스(106)에서의 디스플레이에 적격한지 여부를 결정할 수 있다. 일 예에서, 빈도 제어 규칙은 특정 컨텐츠 아이템이 지난 M분 내에 N번 이상 제공되는 것을 제한하는 것을 포함한다. DCDS(110) 및/또는 프라이버시 서버(120)는 예를 들어 DCDS(110)에 의해 제공된 목록에서 입찰에 의해 표시된 특정 컨텐츠 아이템이 지난 25분 이내에 2회 미만으로 제공되었으며 따라서 특정 컨텐츠 아이템이 적격하다고 결정할 수 있다.
단계 10에서, 컨텐츠 배포 시스템 및/또는 프라이버시 서버는 블룸 필터를 사용하여 데이터베이스를 참조한 후에도 여전히 적격한 최고 순위 입찰가를 선택한다. 예를 들어, 프라이버시 서버(120)는 프라이버시 서버 데이터베이스(122)에 적용된 블룸 필터에 따라 적격으로 남아 있는 단계 7에서 수신된 리스트로부터 최고 순위 입찰을 선택할 수 있다.
방법은 프라이버시 서버에 의해 수행되는 선택적 단계 11로 계속된다. 단계 11에서, 프라이버시 서버는 여전히 사용자 디바이스에 디스플레이하기에 적격인 선택된 최고 순위 입찰을 컨텐츠 배포 시스템으로 전송한다. 예를 들어, 프라이버시 서버(120)는 사용자 디바이스(106)에서 디스플레이하기에 여전히 적격인 선택된 최고 순위 입찰을 DCDS(110)로 전송할 수 있다.
방법은 컨텐츠 배포 시스템에 의해 수행되는 단계 12로 계속된다. 단계 12에서, 컨텐츠 배포 시스템은 사용자 디바이스에서 프라이버시 서버에 의해 제공되는 선택된 최고 순위 입찰과 관련된 컨텐츠 아이템의 디스플레이를 용이하게 하는 데이터를 사용자 디바이스로 전송한다. 예를 들어, DCDS(110)는 브라우저(107)의 사용자 디바이스(106)에서 프라이버시 서버(120)에 의해 제공되는 선택된 최고 순위 입찰과 관련된 컨텐츠 아이템의 디스플레이를 용이하게 하는 데이터를 사용자 디바이스(106)에 전송한다.
일부 구현에서, 컨텐츠 분배 시스템의 다른 수준에서 빈도 제한을 적용할 수 있는 빈도 제한의 계층적 적용이 있을 수 있다. 예를 들어, 빈도 제어는 그룹 수준, 캠페인 수준 및 캠페인 그룹 수준에서 적용될 수 있다. 일부 구현에서, 특정 컨텐츠 아이템이 사용자 디바이스에 디스플레이될 때, 컨텐츠 아이템 스크립트는 모든 적용 가능한 수준에서 빈도 카운트를 업데이트하도록 브라우저에 지시한다. 일부 구현에서, 컨텐츠 아이템 요청 블룸 필터는 빈도 제어에 부적격으로 도달한 모든 그룹, 캠페인 및 캠페인 그룹을 포함할 수 있다.
일부 구현에서, 빈도 제어 규칙의 카테고리 전반에 걸친 적용이 있을 수 있다. 특정 산업에 대한 사용자의 기대와 일치하는 내추럴 계층 구조를 가진 업계 전반의 분류 체계가 있을 수 있다. 사용자가 한 컨텐츠 제공자의 한 컨텐츠 아이템에 관심이 없음을 표시하는 경우, 브라우저는 컨텐츠 배포 시스템에 제공된 컨텐츠 아이템 요청에 포함된 블룸 필터에서 사용자 빈도 제어 피드백을 인코딩할 수 있다. 예를 들어, 사용자가 새와 관련된 컨텐츠 아이템을 더 이상 보고 싶지 않다고 표시하는 경우, 모든 컨텐츠 제공자는 특정 사용자의 브라우저에 알바트로스와 관련된 컨텐츠 아이템을 제공하는 것을 중지할 수 있다. 따라서, 본 명세서에 설명된 혁신적인 프로세스는 참여할 가능성이 낮거나 사용자 경험이 감소될 수 있는 사용자에게 컨텐츠를 제공하는데 사용되는 리소스를 줄인다.
사용자 데이터 수집 및 분석을 위한 혁신적인 기술은 컨텐츠 제공자와 컨텐츠 배포 시스템에 미치는 영향을 최소화하면서 바람직한 수준의 프라이버시 보호를 달성할 수 있는 다양한 옵션을 제공한다. 더욱이, 프로세스의 효율적인 특성은 업계에 합리적인 채택 비용을 부과한다. 이 기술은 사용자의 프라이버시 선호도와 컨텐츠 제공자의 배포 선호도에 맞게 조정할 수 있다. 예를 들어, 하나의 특정 구현에서 브라우저는 (1) 제공되기에 부적격한 컨텐츠 아이템 세트 및/또는 그 세트 크기를 랜덤하게 확장하는 시기 및 방법을 결정하고, (2) 제공되기에 부적격한 컨텐츠 아이템 세트를 다시 랜덤하게 확장하는 블룸 필터에 대한 적절한 블룸 필터 알고리즘 및 거짓 긍정율을 선택하고, (3) 제공되기에 부적격한 컨텐츠 아이템 세트를 추가로 난독화하여 사용자 프라이버시를 더욱 보호하기 위해 프라이버시 서버(120)와 같은 독립적인 프라이버시 서버를 채택할지 여부를 선택할 수 있다.
도 3은 도 1의 예시적인 환경에서 데이터 수집 및 분석을 위한 프라이버시 보호 방법의 데이터 흐름(300)을 도시한다. 데이터 흐름(300)의 동작들은 시스템(100)의 다양한 컴포넌트에 의해 수행된다. 예를 들어, 데이터 흐름(200)의 동작들은 사용자 디바이스(106)와 통신하는 DCDS(110) 및 프라이버시 서버(120)에 의해 수행될 수 있다. 흐름은 사용자 디바이스(106)가 사용자 디바이스(106)의 사용자에 의해 수행된 상호작용을 나타내고 컨텐츠 아이템 요청을 트리거하는 상호작용 데이터를 수신하는 단계(A)로 시작한다. 예를 들어, 사용자 디바이스(106)는 사용자가 어린 동물에 관한 컨텐츠를 제공하는 웹 페이지를 클릭했다는 상호작용 통지를 브라우저(107)로부터 수신할 수 있다.
흐름은 브라우저(107)가 컨텐츠 요청을 생성하고 DCDS(110)에 그 요청을 제공하는 단계(B)로 계속된다. 예를 들어, 브라우저(107)는 사용자 디바이스(106)에 디스플레이될 컨텐츠에 대한 요청(108)을 생성할 수 있다. 브라우저(107)는 또한 사용자 디바이스(106)와 웹 페이지의 사용자에 대한 빈도 제어 규칙에 기초하여, 전술한 바와 같이 프라이버시 서버(120)용 개인키를 사용하여 블룸 필터를 생성하고 블룸 필터를 암호화할 수 있다. 예를 들어, 브라우저(107)는 블룸 필터의 유형을 선택하고, 블룸 필터에 대한 거짓 긍정율을 선택하고, 블룸 필터를 구성할 수 있다. 브라우저(107)는 또한 컨텐츠 아이템 요청이 생성된 시간을 나타내는 타임스탬프를 기록한다. 브라우저(107)는 암호화된 블룸 필터 및 타임스탬프를 포함하는 메시지를 컨텐츠 요청(108)과 함께 DCDS(110)로 전송할 수 있다.
흐름은 DCDS(110)가 컨텐츠 아이템 요청에 응답하여 컨텐츠 아이템 경매 프로세스를 수행하여 사용자 디바이스(106)에서 컨텐츠 제공을 위한 입찰을 요청하고 수신하는 단계(C)로 계속된다. 예를 들어, DCDS(110)는 도 2와 관련하여 위에서 설명된 바와 같이 단계(4~6)를 수행할 수 있다.
흐름은 DCDS(110)가 경매 프로세스로부터 선택된 최고 입찰 응답에 빈도 제어 규칙의 적용을 요청하는 단계(D)로 계속된다. 예를 들어, DCDS(110)는 프라이버시 서버(120)에 빈도 제어를 적용하라는 요청을 전송할 수 있다. 요청에는 최고 순위 입찰 목록, 암호화된 블룸 필터 및 타임스탬프가 포함된다. 예를 들어, 목록에는 상위 3개의 순위의 입찰가가 포함될 수 있다.
흐름은 DCDS(110)가 최고 순위 입찰 목록에 빈도 제어 규칙을 적용하는 단계(E)로 계속된다. 예를 들어, DCDS(110)는 자신의 개인키를 사용하여, DCDS(110)의 공개키를 사용하여 브라우저(107)에 의해 암호화된 암호화된 블룸 필터를 복호화(해독)할 수 있다. 그런 다음 DCDS(110)는 최고 순위 입찰 목록에 빈도 제어를 적용할 수 있다. 일부 구현에서, 프라이버시 서버(120)는 단계(E)를 수행한다. 프라이버시 서버(120)는 DCDS(110)와 분리될 수 있다. 일부 구현에서, 프라이버시 서버(120)는 DCDS(110)의 일부이고 DCDS(110)가 컨텐츠 배포를 수행하는데 필요한 것보다 더 많은 정보를 수집하기 위해 동일한 블룸 필터를 반복적으로 쿼리하지 않도록 한다.
흐름은 프라이버시 서버(120)가 부적격한 것으로 결정되지 않은 나머지 입찰들 중에서, 최고 입찰가를 선택하고 DCDS(110)에 입찰가를 반환하는 단계(F)로 계속된다. 예를 들어, 프라이버시 서버(120)는 블룸 필터의 쿼리에 기초하여 부적격한 것으로 결정되지 않은 2개의 입찰 중에서 가장 높은 입찰가를 식별하고 그 입찰가를 DCDS(110)에 반환할 수 있다.
흐름은 DCDS(110)가 사용자 디바이스(106)에서 프라이버시 서버(120)에 의해 식별된 입찰과 관련된 컨텐츠 아이템의 디스플레이를 용이하게 하는 데이터를 전송하는 단계(G)로 종료한다. 예를 들어, DCDS(110)는 사용자 디바이스(106)의 요청(108)에 대한 응답(114)을 전송할 수 있다. 응답(114)은 사용자 디바이스(106)에서 프라이버시 서버(120)에 의해 식별된 입찰과 관련된 컨텐츠 아이템의 디스플레이를 용이하게 하는 데이터를 포함한다. 예를 들어, 컨텐츠 아이템은 사용자 디바이스(106)의 사용자가 어린 동물과 관련된 웹 페이지를 보고 있던 브라우저(107)에 디스플레이될 귀여운 강아지의 비디오(동영상)인 디지털 컴포넌트일 수 있다.
도 4는 공간 효율적인 확률적 데이터 구조를 사용하는 데이터 수집 및 분석을 위한 프라이버시 보호 프로세스의 예시적인 프로세스의 흐름도이다. 일부 구현에서, 프로세스(400)는 하나 이상의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(400)는 도 1-3의 DCDS(110), 프라이버시 서버(120) 및/또는 사용자 디바이스(들)(106)에 의해 구현될 수 있다. 일부 구현에서, 프로세스(400)는 비-일시적 컴퓨터 판독가능 매체에 저장된 명령들로 구현될 수 있고, 명령들이 하나 이상의 서버에 의해 실행될 때, 명령들은 하나 이상의 서버로 하여금 프로세스(400)의 동작들을 수행하게 할 수 있다. .
프로세스(400)는 데이터 처리 장치에 의해 컨텐츠 배포 시스템으로부터, (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 암호화된 확률적 데이터 구조, (ii) 사용자 디바이스로 제공 가능한 컨텐츠 아이템들에 대한 컨텐츠 아이템 데이터, 및 (iii) 임의의 컨텐츠 아이템 데이터가 확률적 데이터 구조(402)에 기초하여 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계로 시작한다. 예를 들어, 프라이버시 서버(120)는 DCDS(110)로부터, 암호화된 블룸 필터, 입찰가 세트, 및 세트 내의 입찰가들이 빈도가 설정되었거나 사용자에 의해 뮤트된 음소거된 컨텐츠 아이템에 해당하는지 여부를 결정함으로써 컨텐츠 배포 프로세스에 빈도 제어를 적용하라는 요청을 포함하는 메시지를 수신할 수 있다.
일부 구현에서, 메시지는 컨텐츠 요청이 이루어진 때의 타임스탬프를 포함한다. 예를 들어, 메시지는 브라우저(107)가 컨텐츠(108) 요청을 생성한 때의 타임스탬프를 포함할 수 있다.
일부 구현에서, 블룸 필터에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트는 (1) 사용자 디바이스로 제공되어서는 안되는 제1 컨텐츠 아이템 세트 및 (2) 랜덤하게 선택된 제2 컨텐츠 아이템 세트의 합집합을 포함한다. 예를 들어, 사용자 디바이스(106)에 제공되지 않아야 하는 컨텐츠 아이템 세트(D)에는 (1) 빈도가 설정되었거나 사용자에 의해 뮤트된 컨텐츠 아이템 및 (2) 노이즈를 추가하기 위해 랜덤하게 선택된 컨텐츠 아이템이 포함될 수 있다.
일부 구현에서, 위에서 설명된 바와 같이, 블룸 필터는 사용자 디바이스, 웹 페이지, 또는 사용자 디바이스에게 컨텐츠를 제공하라는 요청에 특정된다. 일부 구현에서, 블룸 필터는 사용자 디바이스의 브라우저 또는 OS에 특정된다.
컨텐츠 아이템 세트의 각 컨텐츠 아이템 입찰은 컨텐츠 제공자의 도메인에 기초한 암호화 해시 함수를 사용하여 생성된 글로벌(전역) 고유 식별자, 각 컨텐츠 제공자 내에서 고유한 컨텐츠 아이템 식별자, 컨텐츠 제공자의 비밀키, 신뢰 토큰에 의해 생성된 브라우저의 공개키, 또는 위 정보의 서브 세트를 사용하여 컨텐츠 아이템을 식별할 수 있다. 예를 들어, 각 컨텐츠 아이템 입찰에는 입찰과 관련된 컨텐츠 아이템에 대한 글로벌 고유 캠페인 ID가 포함될 수 있으며, 여기서 글로벌 고유 캠페인 ID는 컨텐츠 제공자의 도메인과 컨텐츠 제공자에 고유한 컨텐츠 아이템 식별자에 기초하여 HMAC SHA-256을 사용하여 생성되었다.
프로세스(400)는 데이터 처리 장치에 의해 데이터 처리 장치에 의해서만 보유되는 개인키를 사용하여, 개인키에 대응하는 공개키를 사용하여 암호화된 상기 암호화된 확률 데이터 구조를 복호화하는 단계로 계속된다(404). 예를 들어, 프라이버시 서버(120)는 암호화된 블룸 필터가 프라이버시 서버(120)의 공개키를 사용하여 암호화된 경우 자신의 개인키를 사용하여 상기 암호화된 블룸 필터를 복호화할 수 있다.
프로세스(400)는 복호화된 확률적 데이터 구조를 사용하는 데이터 처리 장치에 의해 컨텐츠 아이템들 중 주어진 컨텐츠 아이템에 대해, 주어진 컨텐츠 아이템이 복호화된 확률 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 내에 있을 수 있기 때문에, 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로 시작한다(406). 예를 들어, 프라이버시 서버(120)는 컨텐츠 아이템이 블룸 필터에 의해 표현되는 세트 내에 있을 수 있기 때문에 최고 순위 입찰 목록 내의 컨텐츠 아이템 입찰이 사용자 디바이스(106)에 디스플레이하기에 부적격한 컨텐츠 아이템과 관련되어 있다고 결정할 수 있다.
일부 구현에서, 주어진 컨텐츠 아이템이 복호화된 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 내에 있을 수 있기 때문에 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계는, 데이터 처리 장치에 의해 블룸 필터 또는 다른 확률을 사용하여, 데이터 처리 장치에 의해서만 액세스할 수 있는 암호화된 데이터베이스에 쿼리하는 단계를 포함하고, 데이터 처리 장치는 i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 및 (ii) 사용자 디바이스로 제공 가능한 컨텐츠 아이템을 제공하는 컨텐츠 배포 시스템 및 컨텐츠 제공자와 독립적인 서버이다.
일부 구현에서, 컨텐츠 아이템 입찰이 유효하지 않다고 결정하는 단계는 타임스탬프에 기초하여 블룸 필터가 부실하다고(stale) 결정하는 단계를 포함한다. 예를 들어, 프라이버시 서버(120)는 타임스탬프에 기초하여, 블룸 필터가 부실하다고 결정하거나, 프라이버시 서버 데이터베이스(122)의 이전 쿼리 기록에 기초하여 컨텐츠 배포 시스템이 동일한 블룸 필터를 과도하게 쿼리했다고 결정할 수 있다. 그런 다음 프라이버시 서버(120)는 컨텐츠 아이템이 사용자에게 제공하기에 부적격하다고 결정할 수 있다.
프로세스(400)는 데이터 처리 장치에 의해 컨텐츠 아이템 데이터로부터, 유효하지 않은 것으로 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계로 계속된다(408). 예를 들어, 프라이버시 서버(120)는 사용자 디바이스(106)의 사용자에게 제공하기에 부적격하다고 결정된 컨텐츠 아이템에 대한 입찰을 제거할 수 있다.
프로세스(400)는 데이터 처리 장치에 의해, 사용자 디바이스로 컨텐츠를 제공하라는 요청에 응답하여 주어진 컨텐츠 아이템을 포함하는 하나 이상의 컨텐츠 아이템 세트의 배포를 방지하는 단계로 끝난다(410). 예를 들어, 프라이버시 서버(120)는 입찰과 관련된 컨텐츠 아이템이 부적격한 것으로 결정되지 않은 경우에만 컨텐츠 아이템 입찰을 낙찰(winning) 입찰로 선택한다. 따라서, 프라이버시 서버(120)는 빈도 제한, 사용자에 의한 뮤팅, 랜덤 노이즈 또는 블룸 필터 거짓 긍정으로 인해 부적격한 것으로 결정된 임의의 컨텐츠 아이템의 배포를 방지한다. 일부 구현에서, 컨텐츠 세트의 배포를 방지하는 단계는 지정된 유형의 컨텐츠를 사용자에게 제공하는 것을 억제하는 단계를 포함한다. 일부 구현에서, 컨텐츠 아이템 세트의 배포를 방지하는 단계는 특정 유형의 컨텐츠를 갖는 컨텐츠 아이템을 사용자에게 제공하는 것을 억제하는 단계를 포함하고, 컨텐츠 아이템 세트 내의 각각의 컨텐츠 아이템은 상이한 컨텐츠 제공자에 의해 제공되어, 상이한 컨텐츠 제공자로부터 공통 유형을 갖는 컨텐츠 아이템이 각각 사용자에게 배포되는 것을 방지할 수 있다. 예를 들어, 프라이버시 서버(120)가 스낵 식품과 관련된 컨텐츠 아이템이 빈도 제한때문에 사용자에게 제공하기에 부적격하다고 결정하는 경우, 프라이버시 서버(120)는 스낵 식품과 관련된 더 많은 컨텐츠 아이템이 사용자를 성가시게 할 수 있고 사용자가 컨텐츠와 상호 작용하거나 컨텐츠를 보지 않을 수 있으므로 다른 스낵 식품과 관련된 다른 컨텐츠 아이템이 사용자 디바이스의 사용자에게 제공되는 것을 방지할 수 있다.
도 5는 위에서 설명된 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템(500)의 블록도이다. 시스템(500)은 프로세서(510), 메모리(520), 저장 디바이스(530) 및 입/출력 디바이스(540)를 포함한다. 컴포넌트(510, 520, 530, 540) 각각은 예를 들어 시스템 버스(550)를 사용하여 상호 연결될 수 있다. 프로세서(510)는 시스템(500) 내에서 실행하기 위한 명령들을 처리할 수 있다. 일 구현에서, 프로세서(510)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(510)는 다중 스레드 프로세서이다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령들을 처리할 수 있다.
메모리(520)는 시스템(500) 내의 정보를 저장한다. 일 구현에서, 메모리(520)는 컴퓨터 판독 가능 매체이다. 일 구현에서, 메모리(520)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리(520)는 비-휘발성 메모리 유닛이다.
저장 디바이스(530)는 시스템(500)을 위한 대용량 저장소를 제공할 수 있다. 일 구현에서, 저장 디바이스(530)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현들에서, 저장 디바이스(530)는 예를 들어, 하드 디스크 디바이스, 광 디스크 디바이스, 네트워크를 통해 여러 컴퓨팅 디바이스(예를 들어, 클라우드 저장 디바이스)에 의해 공유되는 저장 디바이스, 또는 일부 다른 대용량 저장 디바이스를 포함할 수 있다.
입/출력 디바이스(540)는 시스템(500)에 대한 입/출력 동작을 제공한다. 일 구현에서, 입/출력 디바이스(540)는 네트워크 인터페이스 디바이스(예를 들어, 이더넷 카드), 직렬 통신 디바이스(예를 들어, RS-232 포트), 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현에서, 입/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 입/출력 디바이스, 예를 들어, 키보드, 프린터 및 디스플레이 디바이스(560)로 보내도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 셋탑 박스 텔레비전 클라이언트 디바이스 등과 같은 다른 구현도 사용될 수 있다.
예시적인 처리 시스템이 도 5에 설명되었지만, 본 명세서에 설명된 주제 및 기능적 동작의 구현은 본 명세서에 개시된 구조 및 그의 구조적 등가물 포함하여 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다.
미디어는 반드시 파일에 대응하는 것은 아니다. 미디어는 다른 문서를 포함하는 파일의 일부, 문제의 문서 전용 단일 파일 또는 다수의 통합 파일에 저장될 수 있다.
본 명세서에 기술된 주제 및 동작들의 실시예는 디지털 전자 회로, 또는 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체(또는 매체)에 인코딩된, 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하기 위해 정보를 인코딩하도록 생성되는 인공적으로 생성된 전파 신호, 예를 들어 기계 생성의 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다중 CD, 디스크 또는 기타 저장 디바이스)이거나 이에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩(system on chip), 또는 다수의 것, 또는 이들의 조합을 포함하여 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 이 장치는 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)와 같은 특수 목적 논리 회로를 포함할 수 있다. 장치는 또한 하드웨어 외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 플랫폼 간 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 포함하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 여러 조정 파일(예를 들어, 파일 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있고 장치도 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 엘리먼트는 명령들에 따라 동작들을 수행하기 위한 프로세서와 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 연결된다. 그러나 컴퓨터에는 그러한 디바이스가 필요하지 않다. 더욱이, 컴퓨터는 휴대 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)와 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광자기 디스크, 및 CD-ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 주제의 실시예는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스를 사용하여 사용자와의 상호 작용도 제공할 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어 웹 브라우저에서 수신된 요청에 응답하여 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있다.
본 명세서에 설명된 주제의 실시예는 백엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터), 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN") 및 광역 네트워크("WAN"), 상호 네트워크(예를 들어, 인터넷) 및 피어 투 피어 네트워크(예를 들어, 애드 혹 피어-투-피어 네트워크)를 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램 덕분에 발생한다. 일부 실시예에서, 서버는 데이터(예를 들어, HTML 페이지)를 (클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 표시하고 사용자 입력을 수신하기 위해) 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이는 임의의 발명 또는 청구될 수 있는 것의 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정된 특징의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 개별적으로 또는 임의의 적절한 하위 조합으로 다수의 실시예에서 구현될 수도 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합의 하나 이상의 특징은 일부 경우에 조합에서 제거될 수 있으며 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에 특정 순서로 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 도시된 동작들이 수행되어야 함을 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 상술한 실시예에서 다양한 시스템 컴포넌트의 분리가 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품에 패키지될 수 있음을 이해해야 한다.
따라서, 주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음 청구항의 범위 내에 있다. 일부 경우, 청구범위에 인용된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 컴퓨터 구현 방법으로서,
    데이터 처리 장치에 의해 컨텐츠 배포 시스템으로부터, (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 확률적 데이터 구조, (ii) 사용자 디바이스로 제공 가능한 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터, 및 (iii) 확률적 데이터 구조에 기초하여 임의의 컨텐츠 아이템 데이터가 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계와;
    확률적 데이터 구조를 사용하는 데이터 처리 장치에 의해 컨텐츠 아이템 중에서 주어진 컨텐츠 아이템에 대해, 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로서,
    데이터 처리 장치에 의해 컨텐츠 아이템 데이터로부터, 유효하지 않다고 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계; 및
    데이터 처리 장치에 의해, 사용자 디바이스로 컨텐츠를 제공하라는 요청에 응답하여 주어진 컨텐츠 아이템을 포함하는 하나 이상의 컨텐츠 아이템 세트의 배포를 방지하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계는,
    데이터 처리 장치에 의해, (i) 사용자 디바이스에 제시되지 않아야 하는 컨텐츠 아이템 세트 및 (ii) 사용자 디바이스에 제시될 수 있는 컨텐츠 아이템을 제공하는 확률적 데이터 구조에 쿼리하는 단계를 더 포함하고; 그리고
    데이터 처리 장치는 (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 및 (ii) 사용자에게 제공 가능한 컨텐츠 아이템을 제공하는 컨텐츠 배포 시스템 및 컨텐츠 제공자와 독립적인 서버인 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 임의의 선행하는 항에 있어서,
    데이터 처리 장치에 의해 데이터 처리 장치에 의해서만 보유되는 개인키를 사용하여, 확률적 데이터 구조를 복호화하는 단계를 더 포함하고,
    확률적 데이터 구조는 개인키에 대응하는 공개키를 사용하여 암호화된 것임을 특징으로 하는 컴퓨터 구현 방법.
  4. 임의의 선행하는 항에 있어서,
    확률적 데이터 구조는,
    사용자 디바이스, 웹 페이지, 게시자의 웹사이트, 또는 사용자 디바이스로 컨텐츠를 제공하라는 요청 중 하나에 특정되는 블룸(bloom) 필터인 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 임의의 선행하는 항에 있어서,
    확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트는,
    (1) 사용자 디바이스로 제공되어서는 안되는 제1 컨텐츠 아이템 세트 및 (2) 랜덤하게 선택된 제2 컨텐츠 아이템 세트의 합집합으로 구성되는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 임의의 선행하는 항에 있어서,
    컨텐츠 아이템 세트의 배포를 방지하는 단계는,
    특정 유형의 컨텐츠를 갖는 컨텐츠 아이템을 사용자에게 제공하는 것을 억제하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 임의의 선행하는 항에 있어서,
    컨텐츠 아이템 각각에 대한 컨텐츠 아이템 데이터는,
    컨텐츠 제공자의 도메인, 각 컨텐츠 제공자 내에서 고유한 컨텐츠 아이템 식별자, 컨텐츠 제공자의 비밀키, 신뢰 토큰에 의해 생성된 브라우저의 공개키 중 적어도 하나에 기초하여 해시 함수를 사용하여 생성된 글로벌 고유 식별자를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 시스템으로서,
    하나 이상의 프로세서; 및
    실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령들을 포함하는 하나 이상의 메모리 엘리먼트를 포함하고, 동작들은,
    하나 이상의 프로세서에 의해 컨텐츠 배포 시스템으로부터, (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 확률적 데이터 구조, (ii) 사용자 디바이스로 제공 가능한 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터, 및 (iii) 확률적 데이터 구조에 기초하여 임의의 컨텐츠 아이템 데이터가 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계와;
    확률적 데이터 구조를 사용하는 하나 이상의 프로세서에 의해 컨텐츠 아이템 중에서 주어진 컨텐츠 아이템에 대해, 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로서,
    하나 이상의 프로세서에 의해 컨텐츠 아이템 데이터로부터, 유효하지 않다고 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계; 및
    하나 이상의 프로세서에 의해, 사용자 디바이스로 컨텐츠를 제공하라는 요청에 응답하여 주어진 컨텐츠 아이템을 포함하는 하나 이상의 컨텐츠 아이템 세트의 배포를 방지하는 단계를 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계는,
    하나 이상의 프로세서에 의해, 데이터 처리 장치에 의해 독점적으로 액세스 가능한 암호화된 데이터베이스를 쿼리하는 단계를 더 포함하고; 그리고
    하나 이상의 프로세서는 (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 및 (ii) 사용자에게 제공 가능한 컨텐츠 아이템을 제공하는 컨텐츠 배포 시스템 및 컨텐츠 제공자와 독립적인 서버인 것을 특징으로 하는 시스템.
  10. 제8항 또는 제9항에 있어서,
    하나 이상의 프로세서에 의해 하나 이상의 프로세서에 의해서만 보유되는 개인키를 사용하여, 확률적 데이터 구조를 복호화하는 단계를 더 포함하고,
    확률적 데이터 구조는 개인키에 대응하는 공개키를 사용하여 암호화된 것임을 특징으로 하는 시스템.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    확률적 데이터 구조는,
    사용자 디바이스, 웹 페이지, 게시자의 웹사이트, 또는 사용자 디바이스로 컨텐츠를 제공하라는 요청 중 하나에 특정되는 블룸 필터인 것을 특징으로 하는 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트는,
    (1) 사용자 디바이스로 제공되어서는 안되는 제1 컨텐츠 아이템 세트 및 (2) 램덤하게 선택된 제2 컨텐츠 아이템 세트의 합집합으로 구성되는 것을 특징으로 하는 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    컨텐츠 아이템 세트의 배포를 방지하는 단계는,
    특정 유형의 컨텐츠를 갖는 컨텐츠 아이템을 사용자에게 제공하는 것을 억제하는 단계를 포함하는 것을 특징으로 하는 시스템.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    컨텐츠 아이템 각각에 대한 컨텐츠 아이템 데이터는,
    컨텐츠 제공자의 도메인, 각 컨텐츠 제공자 내에서 고유한 컨텐츠 아이템 식별자, 컨텐츠 제공자의 비밀키, 신뢰 토큰에 의해 생성된 브라우저의 공개키 중 적어도 하나에 기초하여 해시 함수를 사용하여 생성된 글로벌 고유 식별자를 포함하는 것을 특징으로 하는 시스템.
  15. 분산 컴퓨팅 시스템에 의해 실행될 때 분산 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령들로 인코딩된 비-일시적 컴퓨터 저장 매체로서,
    동작들은,
    하나 이상의 프로세서에 의해 컨텐츠 배포 시스템으로부터, (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트를 나타내는 확률적 데이터 구조, (ii) 사용자 디바이스로 제공 가능한 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터, 및 (iii) 확률적 데이터 구조에 기초하여 임의의 컨텐츠 아이템 데이터가 유효하지 않은지 여부를 결정하기 위한 요청을 포함하는 메시지를 수신하는 단계와;
    확률적 데이터 구조를 사용하는 하나 이상의 프로세서에 의해 컨텐츠 아이템 중에서 주어진 컨텐츠 아이템에 대해, 주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계로서,
    하나 이상의 프로세서에 의해 컨텐츠 아이템 데이터로부터, 유효하지 않다고 결정된 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터를 제거하는 단계; 및
    하나 이상의 프로세서에 의해, 사용자 디바이스로 컨텐츠를 제공하라는 요청에 응답하여 주어진 컨텐츠 아이템을 포함하는 하나 이상의 컨텐츠 아이템 세트의 배포를 방지하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  16. 제15항에 있어서,
    주어진 컨텐츠 아이템이 확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트에 있을 수 있어서 주어진 컨텐츠 아이템에 대한 컨텐츠 아이템 데이터가 유효하지 않다고 결정하는 단계는,
    하나 이상의 프로세서에 의해, 데이터 처리 장치에 의해서만 액세스 가능한 암호화된 데이터베이스를 쿼리하는 단계를 더 포함하고; 그리고
    하나 이상의 프로세서는 (i) 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트 및 (ii) 사용자에게 제공 가능한 컨텐츠 아이템을 제공하는 컨텐츠 배포 시스템 및 컨텐츠 제공자와 독립적인 서버인 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  17. 제15항 또는 제16항에 있어서,
    하나 이상의 프로세서에 의해 하나 이상의 프로세서에 의해서만 보유되는 개인키를 사용하여, 확률적 데이터 구조를 복호화하는 단계를 더 포함하고,
    확률적 데이터 구조는 개인키에 대응하는 공개키를 사용하여 암호화된 것임을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    확률적 데이터 구조는,
    사용자 디바이스, 웹 페이지, 게시자의 웹사이트, 또는 사용자 디바이스로 컨텐츠를 제공하라는 요청 중 하나에 특정되는 블룸 필터인 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서,
    확률적 데이터 구조에 의해 표현되는 사용자 디바이스로 제공되어서는 안되는 컨텐츠 아이템 세트는,
    (1) 사용자 디바이스로 제공되어서는 안되는 제1 컨텐츠 아이템 세트 및 (2) 랜덤하게 선택된 제2 컨텐츠 아이템 세트의 합집합으로 구성되는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    컨텐츠 아이템 세트의 배포를 방지하는 단계는,
    특정 유형의 컨텐츠를 갖는 컨텐츠 아이템을 사용자에게 제공하는 것을 억제하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
KR1020227012623A 2020-07-15 2021-02-08 프라이버시 보호 데이터 수집 및 분석 KR20220061239A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IL276076 2020-07-15
IL276076A IL276076A (en) 2020-07-15 2020-07-15 Maintaining privacy in data collection and analysis
PCT/US2021/017069 WO2022015371A1 (en) 2020-07-15 2021-02-08 Privacy preserving data collection and analysis

Publications (1)

Publication Number Publication Date
KR20220061239A true KR20220061239A (ko) 2022-05-12

Family

ID=79555835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227012623A KR20220061239A (ko) 2020-07-15 2021-02-08 프라이버시 보호 데이터 수집 및 분석

Country Status (7)

Country Link
US (1) US20220374546A1 (ko)
EP (1) EP4022468A1 (ko)
JP (1) JP7301223B2 (ko)
KR (1) KR20220061239A (ko)
CN (1) CN114631092A (ko)
IL (1) IL276076A (ko)
WO (1) WO2022015371A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194803B (zh) * 2023-11-07 2024-01-23 人民法院信息技术服务中心 一种用户隐私增强的序列推荐方法、装置及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548908B2 (en) * 2005-06-24 2009-06-16 Yahoo! Inc. Dynamic bloom filter for caching query results
US8560558B2 (en) * 2010-04-28 2013-10-15 Fujitsu Limited Computer product, search apparatus, management apparatus, search method, and management method
WO2014020605A1 (en) * 2012-07-31 2014-02-06 Sqream Technologies Ltd A method for pre-processing and processing query operation on multiple data chunk on vector enabled architecture
JP2014033256A (ja) * 2012-08-01 2014-02-20 Soka Univ 広告配信ネットワーク
US9535658B2 (en) * 2012-09-28 2017-01-03 Alcatel Lucent Secure private database querying system with content hiding bloom filters
US10445769B2 (en) 2013-12-24 2019-10-15 Google Llc Systems and methods for audience measurement
US10108817B2 (en) * 2014-09-26 2018-10-23 Microsoft Technology Licensing, Llc Privacy-preserving cookies for personalization without user tracking
EP3649605A4 (en) 2018-07-18 2020-12-02 Triapodi Ltd. REAL-TIME SELECTION OF TARGETED ADVERTISEMENTS BY TARGET DEVICES, WHILE PRIVACY PRIVACY

Also Published As

Publication number Publication date
EP4022468A1 (en) 2022-07-06
WO2022015371A1 (en) 2022-01-20
JP2023503802A (ja) 2023-02-01
IL276076A (en) 2022-02-01
JP7301223B2 (ja) 2023-06-30
CN114631092A (zh) 2022-06-14
US20220374546A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US9838839B2 (en) Repackaging media content data with anonymous identifiers
US10460098B1 (en) Linking devices using encrypted account identifiers
JP7238213B2 (ja) コンテンツ選択プロセスの完全性を改善するためのセキュアマルチパーティ計算の使用
US20220374546A1 (en) Privacy preserving data collection and analysis
JP2021519022A (ja) 自己認証ドメイン固有のブラウザ識別子
JP7267471B2 (ja) データ配布制限のセキュアな管理
US11379604B2 (en) Systems and methods for encryption of content request data
US20220122121A1 (en) Combating false information with crowdsourcing
US10129323B1 (en) Sharing data across partner websites
JP7279209B2 (ja) 不正行為の検出のためのクロスドメイン頻度フィルタ
KR20230003536A (ko) 프라이버시 보호형 교차 도메인 실험 그룹 분할 및 모니터링
JP2023551077A (ja) プライバシー保護のための局所的暗号技法