KR20220077136A - 컨텐츠에 보안 워터마크 통합 - Google Patents

컨텐츠에 보안 워터마크 통합 Download PDF

Info

Publication number
KR20220077136A
KR20220077136A KR1020227013865A KR20227013865A KR20220077136A KR 20220077136 A KR20220077136 A KR 20220077136A KR 1020227013865 A KR1020227013865 A KR 1020227013865A KR 20227013865 A KR20227013865 A KR 20227013865A KR 20220077136 A KR20220077136 A KR 20220077136A
Authority
KR
South Korea
Prior art keywords
content
digital component
client device
watermark
watermarked
Prior art date
Application number
KR1020227013865A
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 KR20220077136A publication Critical patent/KR20220077136A/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Social Psychology (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방법은 하나 이상의 프로세서를 포함하는 컨텐츠 서버에 의해 클라이언트 디바이스로부터, 특정 컨텐츠 전달 기회의 하나 이상의 특성을 수신하는 단계와; 컨텐츠 서버에 의해, (i) 워터마크를 검출하는 클라이언트 디바이스에 의한 액션을 트리거하는 페이로드 및 (ii) 워터마크 검출에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된 워터마킹된 디지털 컴포넌트를 획득하는 단계와; 컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합하여 결합 컨텐츠를 생성하는 단계와; 그리고 컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계를 포함한다.

Description

컨텐츠에 보안 워터마크 통합
본 명세서는 컨텐츠에 통합되어 수신 시 디바이스가 지정된 동작들을 수행하도록 하는 태그에 관한 것이다.
일반적으로, 본 명세서에 기술된 주제의 하나의 혁신적인 양태는 하나 이상의 프로세서를 포함하는 컨텐츠 서버에 의해 클라이언트 디바이스로부터, 특정 컨텐츠 전달 기회의 하나 이상의 특성을 수신하는 단계와; 컨텐츠 서버에 의해, (i) 워터마크를 검출하는 클라이언트 디바이스에 의한 액션을 트리거하는 페이로드 및 (ii) 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된(stenographed) 워터마킹된 디지털 컴포넌트를 획득하는 단계와; 컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합하여 결합 컨텐츠를 생성하는 단계와; 그리고 컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계를 포함하는 방법으로 구현될 수 있다.
이들 및 다른 구현은 각각 다음의 특징 중 하나 이상을 선택적으로 포함할 수 있다. 일부 양태에서, 결합 컨텐츠를 생성하는 단계는 워터마킹된 디지털 컴포넌트를 컨텐츠 내의 특정 위치에 있는 컨텐츠에 통합하는 단계를 포함한다.
일부 양태에서, 컨텐츠는 비디오 스트림이고, 그리고 워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는 워터마킹된 디지털 컴포넌트를 재생 위치인 지정된 위치에 있는 비디오 스트림에 스플라이싱(splicing)하는 단계를 포함한다.
일부 양태에서, 워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는 워터마킹된 디지털 컴포넌트 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지 중 하나에 통합하는 단계를 포함한다.
일부 양태에서, 목적지 위치는 클라이언트 디바이스가 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 URL이고; 그리고 페이로드 데이터의 적어도 일부는 워터마크를 검출하는 클라이언트 디바이스에 응답하여 URL로 전송된다.
일부 양태에서, 페이로드의 주어진 부분은 암호화 서명되고, 그리고 암호화 서명된 페이로드의 주어진 부분은 워터마킹된 디지털 컴포넌트가 URL에 디스플레이되도록 하는 데이터와 함께 전송된다.
일부 양태에서, 컨텐츠 서버는 수신된 디지털 컴포넌트로부터 임베딩된 스크립트를 제거하도록 구성되고, 그리고 워터마크는 컨텐츠 서버에 의해 워터마킹된 디지털 컴포넌트로부터 워터마크가 제거되는 것을 방지하는 형태를 갖는다.
인터넷과 같은 네트워크 환경에서, 당사자 컨텐츠 제공자들은 웹 페이지 또는 애플리케이션 인터페이스와 같은 전자 문서로 프리젠테이션하기 위한 정보를 전달할 수 있다. 문서는 당사자 컨텐츠 제공자들과 제3자 컨텐츠 제공자들이 제공한 컨텐츠를 포함할 수 있다.
제3자 컨텐츠는 다양한 기술을 사용하여 전자 문서에 추가될 수 있다. 일부 문서에는 문서가 제공되는 클라이언트 컴퓨터에 제3자 컨텐츠 제공자로부터 직접 제3자 컨텐츠 아이템을 요청하도록 지시하는 태그가 포함되어 있다. 다른 문서에는 클라이언트 컴퓨터에 다수의 제3자 컨텐츠 공급자와 협력하는 중개 서비스를 호출하도록 지시하는 태그가 포함된다. 일부 경우, 제3자 컨텐츠 아이템들이 전자 문서로 프레젠테이션하기 위해 동적으로 선택되며, 문서의 주어진 제공을 위해 선택된 특정 제3자 컨텐츠 아이템들은 동일한 문서의 다른 제공을 위해 선택된 제3자 컨텐츠 아이템들과 다를 수 있다. 태그는 또한 클라이언트 컴퓨터에 특정 메트릭 측정과 같은 액션을 수행하도록 지시할 수 있다.
이러한 태그는 다른 요소 중에서 예를 들어 컨텐츠가 전달되었는지 여부, 컨텐츠가 표시되었는지 여부, 및 컨텐츠가 표시되는 시간을 측정하는데 사용될 수 있다. 이 정보는 컨텐츠 제공자가 컨텐츠를 개선하고 사용자 경험을 향상시키는데 유용할 수 있다. 추가적으로, 이 정보는 컨텐츠 제공자가 컨텐츠에 관심이 없을 것 같은 사용자에게 컨텐츠를 제공하는 것을 자제하고 네트워크를 통한 데이터 전송 및 관련 인프라 오버헤드를 줄임으로써 시스템의 효율성을 개선하는데 사용될 수 있다.
일부 경우, 이러한 측정은 컨텐츠를 발행, 전달 또는 배포하는 시스템에 의해 수행될 수 있으며, 컨텐츠 제공자들은 이 측정 데이터에 의존하여 수신 클라이언트 컴퓨터의 사용자에 대한 사용자 경험을 개선한다. 그러나, 컨텐츠 게시자가 이러한 측정을 수행할 때, 이것은 완전히 추적되고 측정된 컨텐츠 전달을 제공하는 것처럼 보이면서 덜 정확하고 일관성이 떨어지며 신뢰성이 떨어질 수 있다. 게다가, 일부 컨텐츠 게시자는 측정을 수행하지 않거나 수신 클라이언트 컴퓨터로부터 정보 또는 신호를 전혀 수집하지 않으며, 클라이언트 컴퓨터의 사용자가 컨텐츠가 전달된 후에 컨텐츠를 소비했는지 또는 컨텐츠에 참여했는지 여부를 보증하거나 결정할 수 없다. 이러한 신호가 없으면 컨텐츠 제공자들과 컨텐츠 제공 플랫폼은 컨텐츠 제공자가 클라이언트 컴퓨터에 배포할지 여부와 배포 대상을 포함하여 컨텐츠 배포 결정에 영향을 미치는 다른 메트릭 중에서도, 트래픽의 조회 가능성, 가청성 및 유효성과 같은 중요한 정보를 놓치게 될 것이다.
일부 경우, 태그들이 컨텐츠와 함께 전달되도록 컨텐츠 게시자들에게 제공될 때, 그 태그들은 전달되지 않거나 그 컨텐츠가 클라이언트 컴퓨터에 제공되기 전에 제거될 수 있다. 실제로, 태그들이 컨텐츠와 함께 클라이언트 컴퓨터의 최종 사용자에게 전달되지 않으면 정보를 측정하는 일부 방법이 작동하지 않을 수 있다.
다음 설명은 컨텐츠 제공자들에 의해 요청된 측정의 정확성 및 신뢰성을 개선하기 위한 다양한 기술 및 시스템에 대해 설명한다. 현재 측정 기술은 컨텐츠 게시 시스템의 협력이 필요하기 때문에, 컨텐츠 제공자들은 그 게시 시스템에 의해 수행되는 측정으로만 제한되며 이러한 측정은 컨텐츠 제공자의 목적에 충분히 정확하지 않거나 유용하지 않을 수 있다. 수신 클라이언트 컴퓨터로 하여금 클라이언트 컴퓨터가 수행하도록 구성된 지정된 측정을 수행하게 하는 워터마크를 포함시킴으로써, 제안된 시스템을 통해 컨텐츠 제공자는 자신의 필요에 맞춤화된 특정 데이터를 요청할 수 있으며 수집 및 전송되는 데이터의 양을 줄일 수 있다.
또한, 추가 디지털 컨텐츠를 식별하고 선택하기 위해 이러한 측정 신호를 사용하는 것은 부적절하거나 원치 않는 컨텐츠의 배포를 방지할 수 있고, 따라서 낭비되는 자원을 줄일 수 있다. 이 방법은 보거나 원하지 않으며 배포해서는 안 되는 컨텐츠를 배포하는데 소비되는 리소스의 양을 줄이고 네트워크를 통해 컨텐츠를 보다 효율적으로 제공한다. 이 방법은 컨텐츠를 실제로 소비(듣기 및/또는 보기)하지 않는 엔터티에 컨텐츠를 배포하는 것을 방지한다. 다시 말해서, 네트워크 대역폭, 프로세서 주기 및/또는 할당된 메모리와 같은 컴퓨팅 리소스는 이러한 리소스를 사용하여 배포해서는 안 되는 컨텐츠를 배포함으로써 낭비되지 않는다.
본 명세서에 기술된 주제의 하나 이상의 실시예의 세부사항은 첨부 도면 및 아래의 설명에 설명되어 있다. 주제의 다른 특징, 측면 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 이미지 워터마크를 사용자 디바이스로 전달되는 컨텐츠에 통합함으로써 개선된 데이터 무결성을 위한 예시적인 환경의 블록도이다.
도 2는 이미지 워터마크를 컨텐츠에 통합함으로써 데이터 무결성을 향상시키는 데이터 흐름을 도시한다.
도 3은 이미지 워터마크를 컨텐츠에 통합하는 예시적인 프로세스의 흐름도이다.
도 4는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
디지털 컴포넌트 및 컨텐츠를 선택하고 전달하는 프로세스에 대한 메트릭은 디지털 컴포넌트 및 컨텐츠와 함께 전달될 태그의 포함(inclusion)을 통해 얻을 수 있다. 게시자 또는 공급측 플랫폼(SSP)이 디지털 컴포넌트에 대한 서버측 요청을 발행할 때, 플랫폼은 컨텐츠 선택 프로세스에 참여하는 시스템이 참여하는 컨텐츠 제공자들 및 컨텐츠 게시자들에 의해 정의된 배포 파라미터들 및 제한을 충족하는지 확인하기 위해 예를 들어 선택 기준을 나타내는 특정 클라이언트 헤더 필드를 전달해야 한다. 각각 참여하는 교환기(exchange) 또는 교환기들은 후보 디지털 컴포넌트들에 대한 하나 이상의 선택 기준의 세트를 반환하며, 여기에서 SSP는 하나를 선택하고 선택 통지(알림)를 교환기로 보낸다. 그런 다음 교환기는 컨텐츠 제공자에게 선택 통지를 제공하며, 이 시점에서 컨텐츠 제공자는 디지털 컴포넌트 서버에 저장된 디지털 컴포넌트에 대한 링크를 반환한다. 그런 다음 SSP는 디지털 컴포넌트 및 요청된 컨텐츠를 클라이언트 디바이스에 제공할 수 있다.
그러나, 컨텐츠 제공자들이 그들의 제안(offerings) 및 사용자의 경험을 개선하는데 중요한 신호 및 특성을 측정하는 이 방법은 컨텐츠 제공자가 선택하고 제공한 태그들을 안정적으로 포워딩(전달)하는 컨텐츠 배포 시스템에 의존한다. 일부 경우, 태그들이 디지털 컴포넌트 및 컨텐츠와 함께 최종 사용자에게 포워딩되지 않으면, 컨텐츠 게시자에 의해 수집된 메트릭만 컨텐츠 제작자(content creator) 또는 제공자에게 제공될 것이다. 이로 인해 관련성이 없거나 일부 경우 컨텐츠 제작자에게 피드백으로서 데이터가 제공되지 않을 수 있다. 측정을 수행하고 데이터를 수집하기 위해 컨텐츠 게시자에 의존하는 시스템에서, 컨텐츠 제작자가 사용할 수 있는 피드백의 유형과 양은 전적으로 컨텐츠 게시자에 따라 다르다.
아래에 설명된 시스템 및 방법은 게시자 측 서버가 명령을 제거하지 않도록 하고, 게시자 측 서버 또는 기타 중개자의 간섭에 다소 탄력적이며, 클라이언트 디바이스에서 실행되는 미디어 플레이어가 지시된 대로 인식하고 액션(동작)을 취하도록 허용하는 방식으로 컨텐츠 제작자가 클라이언트에게 직접 명령들을 전달할 기회를 제공한다. 실제로, 컨텐츠 게시자와 게시자 측 서버는 요청된 디지털 컨텐츠와 함께 프리젠테이션하기 위해 제공되는 디지털 컴포넌트에 추가하여 포함된 명령들을 실행, 제거(strip) 또는 수정할 수 있지만, 그들은 디지털 컴포넌트 자체의 무결성을 보존해야 한다. .
본 문서 전체에 걸쳐 사용자(예를 들어, 다른 유형의 사용자 중에서 최종 사용자, 컨텐츠 생성자 또는 컨텐츠 제공자)는 본 명세서에 설명된 시스템, 프로그램 또는 기능이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능하게 할 수 있는지 여부와 사용자에게 서버로부터 컨텐츠 또는 통신이 전송되는지 여부에 대해 사용자가 선택할 수 있도록 하는 제어를 제공받을 수 있다. 또한, 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대한 개인 식별 정보가 확인될 수 없도록 처리되거나, 사용자의 지리적 위치는 사용자의 특정 위치가 확인될 수 없도록 위치 정보가 획득된 곳에서 일반화될 수 있다(예를 들어, 도시, 우편 번호 또는 주 수준). 따라서, 사용자는 사용자에 대해 수집되는 정보, 해당 정보가 사용되는 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
도 1은 이미지 워터마크를 사용자 디바이스에 전달되는 컨텐츠에 통합함으로써 개선된 데이터 무결성을 위한 예시적인 환경(100)의 블록도이다. 예시적인 환경(100)은 LAN(Local Area Network), WAN(Wide Area Network), 인터넷, 또는 이들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버(104)("Electronic Doc Servers"), 사용자 디바이스(106), 디지털 컴포넌트 배포 시스템(110)(DCDS(110)으로도 지칭됨), 교환기(140), 및 제3자(150)를 연결한다. 예시적인 환경(100)은 많은 상이한 전자 문서 서버(104), 사용자 디바이스(106), 교환기(140), 및 제3자(150)를 포함할 수 있다.
사용자 디바이스(106)는 네트워크(102)를 통해 리소스(예를 들어, 전자 문서)를 요청 및 수신할 수 있는 전자 디바이스이다. 예시적인 사용자 디바이스(106)는 개인용 컴퓨터, 웨어러블 디바이스, 스마트 스피커, 태블릿 디바이스, 모바일 통신 디바이스(예를 들어, 스마트 폰), 스마트 기기, 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 기타 디바이스를 포함한다. 일부 구현에서, 사용자 디바이스는 가청 정보를 사용자에게 출력하는 스피커, 및 사용자로부터 가청 입력(예를 들어, 발화된 단어 입력)을 수용하는 마이크로폰을 포함할 수 있다. 사용자 디바이스는 또한 입력을 제출하고 및/또는 입력에 응답하여 제공되는 출력을 수신하기 위한 대화형(interactive) 음성 인터페이스를 제공하는 디지털 어시스턴트를 포함할 수 있다. 사용자 디바이스는 또한 시각적 정보(예를 들어, 텍스트, 이미지, 및/또는 비디오)를 제시하기 위한 디스플레이를 포함할 수 있다. 사용자 디바이스(106)는 일반적으로 네트워크(102)를 통한 데이터의 송수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 사용자 디바이스(106)에 의해 실행되는 네이티브(기본) 애플리케이션도 네트워크(102)를 통한 데이터의 송수신을 용이하게 할 수 있다.
사용자 디바이스(106)는 브라우저 또는 운영 체제와 같은 소프트웨어를 포함한다. 일부 구현에서, 소프트웨어는 사용자가 네트워크(102)와 같은 네트워크를 통해 정보에 액세스하고, 서버로부터 정보를 검색하고, 사용자 디바이스(106)의 디스플레이에 정보를 디스플레이할 수 있게 한다. 일부 구현에서, 소프트웨어는 사용자 디바이스(106)의 하드웨어 및 소프트웨어 리소스를 관리하고 사용자 디바이스(106) 상의 다른 프로그램에 대한 공통 서비스를 제공한다. 소프트웨어는 프로그램과 사용자 디바이스(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)에 의해 선택 및 배포될 디지털 컨텐츠는 제3자(150)에 의해 제공된다. 제3자(150)는 예를 들어 디지털 컴포넌트를 생성하는 컨텐츠 제공자일 수 있다. 일부 구현에서, 제3자(150)는 디지털 컴포넌트를 큐레이팅하는 컨텐츠 제공자이다. 제3자(150)는 다른 유형의 선택 기준 중에서, 입찰 금액, 디지털 컴포넌트가 반응하는 키워드 세트, 디지털 컴포넌트가 선택될 때 임계 전달 속도, 최종 사용자에게 전달될 때 디지털 컴포넌트에 대한 사용자 참여의 임계량, 및 최종 사용자에게 전달될 때 디지털 컴포넌트에 대한 특정 유형의 사용자 참여의 임계량과 같은 특정 선택 기준과 함께 후보 디지털 컴포넌트를 제공할 수 있다.
사용자 디바이스(106)는 일반적으로 네트워크(102)를 통한 데이터의 송수신을 용이하게 하기 위해 웹 브라우저 및/또는 네이티브 애플리케이션과 같은 애플리케이션을 포함한다. 네이티브 애플리케이션은 특정 플랫폼 또는 특정 디바이스(예를 들어, 특정 운영 체제가 있는 모바일 디바이스)용으로 개발된 애플리케이션이다. 게시자는 사용자 디바이스(106)에 대한 네이티브 애플리케이션을 개발하고 제공, 예를 들어 다운로드하게 만들 수 있다. 웹 브라우저는 예를 들어 사용자 디바이스(106)의 사용자가 웹 브라우저의 주소 표시줄에 리소스에 대한 리소스 주소를 입력하거나 리소스 주소를 참조하는 링크를 선택하는 것에 응답하여 게시자의 웹사이트를 호스팅하는 웹 서버로부터 리소스(105)를 요청할 수 있다. 마찬가지로, 네이티브 애플리케이션은 게시자의 원격 서버로부터 애플리케이션 컨텐츠를 요청할 수 있다. 일부 게시자는 SSP를 사용하여 리소스 및/또는 애플리케이션의 디지털 컴포넌트 슬롯에 대한 디지털 컴포넌트를 획득하는 프로세스를 관리한다. SSP는 리소스 및/또는 애플리케이션에 대한 디지털 컴포넌트를 획득하는 프로세스를 자동화하는 하드웨어 및/또는 소프트웨어로 구현된 기술 플랫폼이다. SSP는 하나 이상의 수요측 플랫폼("DSP")과 상호 작용하여 디지털 컴포넌트 슬롯에 대한 디지털 컴포넌트를 선택하는데 사용할 수 있는 선택 기준과 같은 정보를 획득할 수 있다. 일부 구현에서, 각 게시자는 대응하는 SSP 또는 다수의 SSP를 가질 수 있다. 일부 게시자는 동일한 SSP를 사용할 수 있다.
일부 구현에서 DCDS(110)는 SSP 및 DSP 중 하나 또는 둘 모두의 동작을 수행할 수 있다. 이 특정 예에서, DCDS(110)는 컨텐츠 게시자와 상호 작용하고 컨텐츠를 클라이언트 디바이스(106)로 전달함으로써 SSP의 동작을 수행한다.
시스템(100)은 또한 하나 이상의 교환기(140)를 포함한다. 교환기(140)는 요청된 디지털 컨텐츠와 함께 프리젠테이션할 디지털 컴포넌트의 제공(offering) 및 선택을 가능하게 하는 디지털 플랫폼이다. 제3자(150)와 같은 디지털 컴포넌트 제공자들은 게시자의 리소스 및 애플리케이션의 디지털 컴포넌트 슬롯에 제시되는 디지털 컴포넌트를 생성(또는 발행)할 수 있다. 디지털 컴포넌트 제공자들(150)은 DSP를 사용하여 디지털 컴포넌트 슬롯에서의 프리젠테이션을 위한 디지털 컴포넌트의 제공(provisioning)을 관리할 수 있다. DSP는 리소스 및/또는 애플리케이션과 함께 프레젠테이션하기 위한 디지털 컴포넌트들을 배포하는 프로세스를 자동화하는 하드웨어 및/또는 소프트웨어로 구현된 기술 플랫폼이다. DSP는 디지털 컴포넌트 제공자들(150)을 대신하여 다수의 교환기와 상호 작용하여 다수의 상이한 게시자의 리소스 및/또는 애플리케이션과 함께 프리젠테이션하기 위한 디지털 컴포넌트들을 제공할 수 있다. 일반적으로 DSP는 (예를 들어, SSP로부터 직접 또는 교환기를 통해) 디지털 컴포넌트에 대한 요청을 수신하고, 요청에 기초하여 하나 이상의 디지털 컴포넌트 제공자에 의해 생성된 하나 이상의 디지털 컴포넌트에 대한 선택 파라미터를 생성(또는 선택)하고, 디지털 컴포넌트(예를 들어, 디지털 컴포넌트 자체) 및 선택 파라미터와 관련된 데이터를 SSP에 제공한다.
DCDS(110)는 다수의 컴퓨팅 디바이스 세트로부터 수신된 결과를 집계하고, 집계된 결과와 관련된 정보를 사용하여 요청(108)에 응답하여 제공될 디지털 컨텐츠의 하나 이상의 인스턴스를 선택한다. 차례로, DCDS(110)는 네트워크(102)를 통해 사용자 디바이스(106)가 디지털 컨텐츠의 선택된 세트를 주어진 전자 문서에 통합할 수 있게 하는 응답 데이터(114)(예를 들어, 응답을 나타내는 디지털 데이터)를 생성 및 전송할 수 있어서, 디지털 컨텐츠의 선택된 세트 및 전자 문서의 컨텐츠가 사용자 디바이스(106)의 디스플레이에 함께 제시된다.
제3자(150)는 워터마크 생성 시스템(120) 및 컨텐츠 전달 시스템(130)을 각각 포함할 수 있다.
워터마크 생성 시스템(120)은 최종 사용자에게 제공되는 컨텐츠에 통합될 워터마크를 생성한다. 워터마크 생성 시스템(120)은 컨텐츠 분배 시스템 및/또는 컨텐츠 제공자가 제공하는 메트릭의 컨텐츠 분배 시스템 및/또는 컨텐츠 제공자에 의해 제공되는 표시자들에 기초하여 워터마크를 생성한다. 예를 들어, 워터마크 시스템(120)은 어떤 종류의 메트릭이 수집되어야 하는지를 결정하기 위해 최종 사용자에게 전달될 때 디지털 컴포넌트가 활발하게 시청되고 있었던 시간의 양을 포함하는 메트릭을 나타내는 데이터를 컨텐츠 제공자로부터 수신할 수 있다. 워터마크 생성 시스템(120)은 입력 데이터로부터 이미지를 생성하도록 구성된다. 특히, 워터마크 생성 시스템은 인코딩 입력 생성기 및 워터마크 생성기를 포함한다.
인코딩 입력 생성기는 평문 데이터 아이템을 처리하여 평문 데이터 아이템을 인코딩하는 인코딩 이미지를 생성한다. 평문 데이터 아이템은 인코딩 입력 생성기의 제약 조건 내에서 인코딩될 수 있는 모든 데이터일 수 있다. 예를 들어, 인코딩 이미지의 크기는 기정의된 최대 n 문자의 길이까지만 텍스트 샘플에 대해 무손실 인코딩을 제공할 수 있기 때문에, 평문 데이터 아이템은 최대 n 문자의 길이의 텍스트 샘플 또는 문자열일 수 있다. 일부 구현에서, 평문 데이터 아이템은 클라이언트 컴퓨터(106)로부터의 요청에 대한 응답이 제공되는 동안 클라이언트 컴퓨터(106)와 컨텐츠 서버 사이의 네트워크 세션을 고유하게 식별하는 세션 식별자를 포함한다.
일부 구현에서, 평문 데이터 아이템은 클라이언트 컴퓨터(106)에 제공되는 특정 소스 컨텐츠를 식별하는 소스 컨텐츠 데이터 또는 소스 컨텐츠와 관련된 정보(예를 들어, 소스 컨텐츠 제공자 중 어느 제공자가 클라이언트 컴퓨터(106)에 제공되는 특정 소스 컨텐츠를 제공했는지를 나타내는 정보 및 소스 이미지가 제공되거나 요청된 시간을 나타내는 타임스탬프)를 포함하거나 참조한다. 일부 구현에서, 데이터베이스는 세션 식별자 또는 평문 데이터 아이템에 의해 표시되는 기타 정보를 통해 액세스 가능한 세부 정보를 만들기 위해, 소스 컨텐츠 또는 특정 요청에 대해 제공된 응답에 대한 이러한 정보를 상관시키는 데이터를 저장한다. 응답 기록 데이터베이스는 또한 세션 식별자를 소스 컨텐츠 데이터와 연관시킬 수 있으므로 평문 데이터 아이템에 의해 표시되는 세션 식별자를 사용하여 데이터베이스를 쿼리함으로써 소스 컨텐츠 데이터에 액세스할 수 있도록 한다. 그런 다음 사용자는 예를 들어 평문 데이터 항목의 세션 식별자를 사용하기 위해 어떤 소스 컨텐츠 아이템이 클라이언트 컴퓨터에 언제, 어떤 소스 컨텐츠 제공자로부터 제공되었는지 식별할 수 있다. 소스 컨텐츠는 시각적 데이터, 오디오 데이터 또는 조합의 형태일 수 있다. 예를 들어, 소스 컨텐츠는 다른 유형의 컨텐츠 중에서, 평문 데이터, 이미지 데이터, 비디오 데이터 및/또는 오디오 데이터일 수 있다. 단순화를 위해, 다음의 논의는 일반적으로 이미지 데이터에 관한 것이다. 그러나, 다른 유형의 데이터에 대해 설명된 시스템의 적용이 고려되고 일부 예시적인 구현이 설명된다.
평문 데이터는 클라이언트 디바이스에 의해 실행될 때 클라이언트 디바이스가 하나 이상의 지정된 측정을 수행하게 하는 정보를 포함할 수 있으며, 이는 아래에서 더 자세히 설명된다. 예를 들어, 평문 데이터는 클라이언트 디바이스가 컨텐츠 또는 디지털 컴포넌트가 클라이언트 디바이스에 의해 시청되는 시간량 및 클라이언트 디바이스의 사용자가 컨텐츠 또는 디지털 컴포넌트와 수행한 상호 작용의 유형의 측정을 수행하게 하는 측정 스크립트를 포함할 수 있다. .
인코딩 이미지는 평문 데이터 아이템을 인코딩하는 이미지이다. 일부 구현에서, 인코딩 이미지는 평문 데이터 아이템을 나타내는 매트릭스 유형(matrix-type) 바코드이다. 적합한 매트릭스 유형 바코드의 한 예는 QR 코드이다. 인코딩 이미지는 픽셀의 행과 열 수와 관련하여 기정의된 크기를 가질 수 있다. 인코딩 이미지의 각 픽셀은 데이터의 이진 비트를 인코딩할 수 있으며, 여기서 각 비트의 값은 상이한 색상으로 표시된다. 예를 들어, 이진 값 '1'을 인코딩하는 픽셀은 검은색일 수 있고 이진 값 '0'을 인코딩하는 픽셀은 흰색일 수 있다. 일부 구현에서, 인코딩 이미지의 가장 작은 인코딩 단위는 실제로 단일 픽셀보다 클 수 있다. 그러나 본 명세서에 설명된 예의 목적을 위해, 가장 작은 인코딩 단위는 단일 픽셀로 가정된다. 그러나, 본 명세서에 설명된 기술은 최소 인코딩 단위가 다중 픽셀 세트, 예를 들어, 픽셀의 2×2 또는 3×3 세트인 구현으로 확장될 수 있음을 이해해야 한다.
워터마크 생성 시스템(120)은 워터마킹 이미지 생성기를 더 포함한다. 워터마킹 이미지 생성기는 인코딩 이미지를 처리하여 반투명 워터마킹 이미지를 생성하도록 구성된다. 반투명 워터마킹 이미지는 인코딩 이미지로부터 도출되며 또한 평문 데이터 아이템을 인코딩한다. 그러나, 투명도, 색상, 인코딩된 픽셀의 배열 및/또는 워터마킹 이미지의 기타 특징은 투명도, 색상, 인코딩된 픽셀의 배열 및/또는 인코딩 이미지의 기타 특징으로부터 변경될 수 있다. 예를 들어, 인코딩 이미지가 균일하게 불투명하고 서로 인접하여 밀접하게 패킹된 인코딩된 픽셀들로 구성될 수 있는 반면, 워터마킹 이미지는 일부 완전 투명 픽셀 및 일부 부분 투명 픽셀을 포함할 수 있다. 더욱이, 워터마킹 이미지의 인코딩된 픽셀은 각각의 인코딩된 픽셀이 인코딩되지 않은 픽셀(즉, "블랭크" 픽셀)에 의해 둘러싸이도록 서로에 대해 이격될 수 있다. 워터마킹 이미지에 대한 인코딩 이미지의 변환은 워터마킹 이미지가 배경 소스 이미지에 오버레이 및 병합된 후, 예를 들어, 인코딩 이미지 또는 워터마킹 이미지를 재구성함으로써 상기 인코딩된 정보가 디코딩될 수 있도록 수행될 수 있다. 일부 구현에서, 워터마킹 이미지는 워터마킹 이미지를 수신하는 클라이언트 디바이스의 사용자에게 보이지 않는다. 예를 들어, 워터마킹 이미지는 디지털 컴포넌트 또는 컨텐츠에 비해 너무 작아서 인간 사용자가 볼 수 없도록 제공된다.
컨텐츠 전달 시스템(130)은 컨텐츠 패키징 및 전달을 수행한다. 예를 들어, 컨텐츠 전달 시스템(130)은 컨텐츠를 포맷하고, 미디어 컨텐츠를 결합하고, 컨텐츠를 사용자 디바이스에 전달할 수 있다. 컨텐츠 전달 시스템(130)은 예를 들어 사용자 디바이스(106)와 같은 사용자 디바이스에 전달되는 미디어 컨텐츠 내에서 디지털 컨텐츠가 전달될 것으로 예상되는 디지털 컨텐츠 슬롯을 검출할 수 있다. 컨텐츠 전달 시스템(130)은 또한 전달을 위해 선택된 디지털 컴포넌트를 포함하도록 컨텐츠를 포맷할 수 있다. 예를 들어, 컨텐츠 전달 시스템(130)은 컨텐츠를 사용자 디바이스에 전달하기 전에 디지털 컴포넌트와 컨텐츠를 결합할 수 있다. 컨텐츠 전달 시스템(130)은 또한 워터마크 이미지를 포함하도록 디지털 컴포넌트를 포맷할 수 있다. 예를 들어, 컨텐츠 전달 시스템(130)은 사용자에게 보이지 않는 부분적으로 투명한 QR 코드와 같은 워터마킹 이미지(122)를 사용자 디바이스에 대한 요청 컨텐츠를 포함하는 응답(114)으로서 전달될 디지털 컴포넌트에 통합할 수 있다. 일부 구현에서, 디지털 컨텐츠 슬롯은 추가 디지털 컨텐츠가 제공되어야 함을 컨텐츠 전달 시스템(130)에 표시하는 마커 또는 기타 플래그에 의해 표시된다. 이러한 마커는 미디어 컨텐츠 제공자 및/또는 제작자가 정의할 수 있다. 일부 구현에서, 컨텐츠 전달 시스템(130)은 이러한 마커가 미디어 컨텐츠 내에 배치되어야 하는 위치를 결정할 수 있다. 예를 들어, 컨텐츠 전달 시스템(130)은 이미지 파일 내에서 자연스럽게 비어 있거나 눈에 거슬리지 않는 위치를 검출하고 워터마크 이미지 또는 제공될 추가 디지털 컨텐츠에 대한 마커를 배치할 수 있다.
일부 구현에서, 컨텐츠 전달 시스템(130)은 정의된 슬롯 내의 미디어 컨텐츠의 스트림 내에 추가 디지털 컨텐츠를 제공할 수 있다. 예를 들어, 일부 구현에서, 컨텐츠 전달 시스템(130)은 추가 컨텐츠가 통합될 수 있는 마커의 오디오 파일 내에서 정의된 슬롯 역할을 하는 일시 중지(pause)를 삽입할 수 있다.
일부 구현에서, 컨텐츠 전달 시스템(130)은 마커가 검출될 때 미디어 컨텐츠 스트림의 전달을 일시 중지하고, 추가 디지털 컨텐츠를 개별적으로 전달한 다음, 미디어 컨텐츠의 전달을 재개할 수 있다
일부 구현에서, 워터마킹 이미지는 워터마크 이미지를 얻기 위한 중간 동작으로서 인코딩 이미지를 명시적으로 생성하지 않고 평문 데이터로부터 직접 생성될 수 있다. 더욱이, 제3자(150)가 클라이언트 컴퓨터(106)로 병합된 이미지의 제공을 위해 소스 이미지의 상단에 워터마킹 이미지를 직접 병합하기 위해 소스 이미지 인코더를 사용하는 구현의 경우, 제3자(150)는 인코딩 이미지, 워터마킹 이미지 또는 둘 다를 명시적으로 생성하지 않고 소스 이미지의 워터마크를 직접 인코딩할 수 있다. 소스 이미지의 인코딩/워터마킹의 보다 직접적인 형태를 제공하기 위해 이러한 동작들 중 하나 이상이 통합될 수 있는 방법은 당업자에게 명백할 것이다.
도 2는 도 1의 예시적인 환경에서 이미지 워터마크를 컨텐츠에 통합함으로써 데이터 무결성을 개선하기 위한 방법의 데이터 흐름(200)을 도시한다. 데이터 흐름(200)의 동작들은 시스템(100)의 다양한 컴포넌트에 의해 수행된다. 예를 들어, 데이터 흐름(200)의 동작들은 DCDS(110) 및 클라이언트 디바이스(106)와 통신하는 제3자 컨텐츠 제공자(150)에 의해 수행될 수 있다.
흐름은 클라이언트 디바이스가 게시자 측 서버 또는 SSP에 컨텐츠 요구 사항을 제공하는 단계(A)로 시작한다. 예를 들어, 클라이언트 디바이스(106)는 SSP의 기능을 수행하는 DCDS(110)에 컨텐츠 요건 사항을 제공할 수 있다. 컨텐츠 요구 사항은 다른 정보 중에서도 클라이언트 디바이스(106)의 능력(capabilities)에 관한 정보, 클라이언트(106)가 네트워크(102)와 같은 네트워크에 액세스하는 연결의 특성, 요청된 컨텐츠의 위치, 요청된 컨텐츠의 유형, 및 클라이언트 디바이스(106)의 사용자의 현재 및/또는 과거 활동에 관한 정보를 포함할 수 있다. 예를 들어, 컨텐츠 요구 사항은 클라이언트 디바이스(106)와 네트워크(102) 사이의 연결을 통해 이용 가능한 대역폭에 대한 정보를 포함할 수 있다.
일부 구현에서, 컨텐츠 요구 사항은 컨텐츠 아이템 제시 기회의 하나 이상의 특성을 포함한다. 예를 들어, 컨텐츠 요구 사항은 디지털 컴포넌트가 요청된 컨텐츠와 함께 제시되기 위한 요청을 수신하는 것을 포함할 수 있다. 일부 구현에서, 컨텐츠 요구 사항은 단순히 특정 컨텐츠가 사용자에게 전달될 것임을 나타내는 정보를 포함한다.
흐름은 SSP가 컨텐츠에 대한 요청을 컨텐츠 제공자에게 전송하는 단계(B)로 계속된다. 예를 들어, DCDS(110)는 특정 웹 페이지에 대한 요청을 전자 문서 서버(104)로 전송할 수 있다. 전자 문서(doc) 서버(104)는 예를 들어 특정 웹사이트 또는 도메인을 호스팅하고 다양한 컨텐츠를 발행하는 컨텐츠 게시자일 수 있다. 요청된 컨텐츠는 다른 유형의 컨텐츠 중에서도 이미지 컨텐츠, 비디오 컨텐츠, 오디오 컨텐츠 또는 텍스트 컨텐츠일 수 있고, 전자 문서 서버(104) 내에 저장되거나 요청 시 생성될 수 있다. 예를 들어, 요청된 컨텐츠는 전자 문서 서버(104)에 의해 호스팅되는 비디오일 수 있다.
흐름은 컨텐츠 저장소가 요청된 컨텐츠를 SSP에 제공하는 단계(C)에서 계속된다. 예를 들어, 전자 문서 서버(104)는 요청된 웹 페이지를 DCDS(110)로 전송할 수 있다. 전자 문서 서버(104)는 요청된 컨텐츠 자체를 DCDS(110)에 제공할 수 있다. 예를 들어, 전자 문서 서버(104)는 비디오 파일을 DCDS(110)에 제공할 수 있다. 일부 구현에서, 전자 문서 서버(104)는 요청된 컨텐츠의 위치를 DCDS(110)에 제공한다. 예를 들어, 전자 문서 서버(104)는 요청된 비디오 파일이 저장된 위치를 DCDS(110)에 반환할 수 있다.
흐름은 SSP가 후보 디지털 컴포넌트의 선택 기준에 대한 요청을 교환기로 전송하는 단계(D)에서 계속된다. 선택 기준에 대한 요청은 다른 정보 중에서도, 클라이언트 디바이스(106)의 능력에 관한 정보, 클라이언트(106)가 네트워크(102)와 같은 네트워크에 액세스하는 연결의 특성, 전자 문서 서버(104)로부터 요청된 컨텐츠의 특성, 및 클라이언트 디바이스(106)의 사용자의 현재 및/또는 이력 활동에 관한 정보를 포함할 수 있다. 예를 들어, 컨텐츠 요구 사항은 사용자가 전자 문서 서버(104)로부터 요청된 컨텐츠로 이동한 웹사이트에 관한 정보를 포함할 수 있다.
일 예에서, SSP는 DCDS(110)로서 구현되고 하나 이상의 후보 디지털 컴포넌트의 선택 기준에 대한 요청을 교환기(140)로서 구현되는 교환기에 제공할 수 있다. 교환기(140)는 요청된 컨텐츠와 함께 프리젠테이션하기 위해 선택될 수 있는 하나 이상의 후보 디지털 컴포넌트에 대한 선택 기준을 수집하고 관리한다. 교환기(140)는 제3자 컨텐츠 제공자(150)와 같은 하나 이상의 제3자 컨텐츠 제공자로부터 선택 기준 및 후보 디지털 컴포넌트를 수신한다. 교환기(140)는 후보 디지털 컴포넌트의 선택 기준에 대한 요청에 응답하여 모든 후보 디지털 컴포넌트 및 디지털 컴포넌트에 대한 선택 기준을 DCDS(110)에 제공할 수 있다. 일부 구현에서, 교환기(140)은 DCDS(110)에 제공할 다수의 후보 디지털 컴포넌트 중에서 하나 이상의 디지털 컴포넌트를 선택하기 위해 예비 선택 프로세스를 수행할 수 있다. DCDS(110)는 후보 디지털 컴포넌트에 대한 선택 기준을 하나 이상의 교환기(140)에 요청할 수 있다.
흐름은 교환기가 후보 디지털 컴포넌트의 선택 기준에 대한 요청을 컨텐츠 제작자에게 제공하는 단계(E)에서 계속된다. 예를 들어, 교환기(140)는 제3자 컨텐츠 제공자(150)에 후보 디지털 컴포넌트를 요청할 수 있다. 교환기(140)에 의해 제공되는 요청은 DCDS(110)에 의해 제공되는 요청과 동일한 정보를 포함할 수 있다. 일부 구현에서, 교환기(140)에 의해 제공되는 요청은 더 많은 정보 또는 제한을 포함할 수 있다. 교환기(140)는 하나 이상의 제3자 컨텐츠 제공자(150)로부터 후보 디지털 컴포넌트를 요청할 수 있다.
흐름은 제3자 컨텐츠 제공자가 하나 이상의 선택 기준을 교환기에 반환하는 단계(F)에서 계속된다. 예를 들어, 제3자 컨텐츠 제공자(150)는 교환기(140)에 후보 디지털 컴포넌트에 대한 하나 이상의 선택 기준을 제공할 수 있다. 이 특정 예에서, 제3자 컨텐츠 제공자(150)는 후보 디지털 컴포넌트(114)의 선택 기준을 제공하는데, 이는 사용자가 귀여운 새에 대해 배우기 위해 그것을 클릭할 수 있게 하는 이미지이다. 일부 구현에서, 둘 이상의 제3자 컨텐츠 제공자(150)는 교환기(140)와 통신하고 교환기(140)에 하나 이상의 후보 디지털 컴포넌트 및 그들의 선택 기준을 각각 반환할 수 있다.
일부 구현에서, 제3자 컨텐츠 제공자(150)는 후보 디지털 컴포넌트에 대한 요청에 앞서 교환기(140)에 후보 디지털 컴포넌트 및 그 후보 디지털 컴포넌트의 선택 기준을 제공한다. 교환기(140)는 예비 선택 프로세스를 수행하여 DCDS(110)로 전송되는 후보 디지털 컴포넌트 및 그 후보 디지털 컴포넌트의 선택 기준의 수를 줄일 수 있다. 예를 들어, 교환기(140)는 제공할 후보 디지털 컴포넌트의 임계 갯수를 결정할 수 있거나 또는 이를 제공받을 수 있다. 일부 구현에서, 교환기(140)는 후보 디지털 컴포넌트의 선택 기준에 대한 특정 요구 사항에 따라 예비 선택 프로세스를 수행할 수 있다. 예를 들어, 교환기(140)는 DCDS(110)로부터 후보 디지털 컴포넌트의 하나 이상의 선택 기준에 대한 임계값을 수신한 다음 그 임계값을 충족하는 선택 기준을 갖는 후보 디지털 컴포넌트만을 선택할 수 있다.
흐름은 교환기가 최종 선택 프로세스를 위해 SSP에 후보 디지털 컴포넌트의 하나 이상의 선택 기준을 제공하는 단계(G)에서 계속된다. 예를 들어, 교환기(140)는 후보 디지털 컴포넌트의 하나 이상의 선택 기준을 DCDS(110)에 반환할 수 있다. DCDS(110)는 하나 이상의 교환기(140)와 통신하고 그로부터 선택 기준을 수신할 수 있다.
DCDS(110)는 컨텐츠 선택 기술에 따라 교환기(140)로부터 수신된 후보 디지털 컴포넌트의 선택 기준을 사용하여 최종 선택 프로세스를 수행할 수 있다. 예를 들어, DCDS(10)는 교환기(140)로부터 수신된 후보 디지털 컴포넌트의 선택 기준을 사용하여 컨텐츠 경매를 수행할 수 있고, 낙찰(winning) 디지털 컴포넌트의 선택 기준에 기초하여 전자 문서 서버(104)에 의해 제공되는 요청된 웹 페이지와 함께 프리젠테이션하기 위한 낙찰 디지털 컴포넌트를 선택할 수 있다.
흐름은 SSP가 교환기에 선택 통지를 제공하는 단계(H)에서 계속된다. 예를 들어, DCDS(110)는 교환기(140)에 선택 통지를 제공할 수 있다. 선택 통지는 낙찰 디지털 컴포넌트 및/또는 디지털 컴포넌트의 선택 기준으로서 선택된 디지털 컴포넌트를 식별할 수 있다. 예를 들어, 선택 통지는 디지털 컴포넌트에 대한 식별자를 포함할 수 있다.
흐름은 교환기가 선택된 디지털 컴포넌트의 제3자 컨텐츠 제공자에게 선택 통지를 제공하는 단계(I)에서 계속된다. 예를 들어, 교환기(140)는 낙찰 디지털 컴포넌트로서 선택된 후보 디지털 컴포넌트의 선택 기준을 제공한 제3자 컨텐츠 제공자(150)에 선택 통지를 제공할 수 있다. 교환기(140)는 DCDS(110)로부터 수신된 선택 통지에 기초하여 제3자 컨텐츠 제공자(150)에 제공될 선택 통지를 생성할 수 있다. 일부 구현에서, 교환(140)은 단순히 선택된 디지털 컴포넌트의 제3자 컨텐츠 제공자(150)에 선택 통지를 전달한다. 이 특정 예에서, 선택된 디지털 컴포넌트는 사용자가 이미지 자체와 상호 작용하여 귀여운 새에 대해 배울 수 있는 이미지(114)일 수 있다.
일단 후보 디지털 컴포넌트가 제시되도록 선택되면 선택 통지가 제3자 컨텐츠 제공자(150)에 제공되기 때문에, 시스템은 제3자 컨텐츠 제공자(150)에게 워터마크를 생성하고 간섭으로부터 보호되도록 워터마크를 디지털 컴포넌트에 삽입할 수 있는 기회를 제공한다. 예를 들어 워터마크에 포함된 스크립트 및 데이터는 클라이언트 디바이스로 하여금 디지털 컴포넌트의 컨텐츠 제공자에게 핑(ping)을 전송하여, 컨텐츠 제공자가 그 통신을 예상된 상호 작용 데이터와 비교하여 컨텐츠를 개선하고, 사기를 검출하고, 사용자 경험을 개선할 수 있도록 하는 것과 같은 측정 액션을 수행하게 할 수 있다.
흐름은 제3자 컨텐츠 제공자가 워터마크를 생성하고 그 워터마크를 선택된 디지털 컴포넌트에 삽입하는 단계(J)에서 계속된다. 예를 들어, 제3자 컨텐츠 제공자(150)는 워터마크 생성 시스템(120)을 사용하여 워터마킹 이미지(122)와 같은 워터마킹 이미지를 생성할 수 있다. 특정 예에서, 워터마킹 이미지(122)는 QR 코드이다. 워터마킹 이미지(122)는 URL 목적지 및 페이로드를 포함한다. URL 목적지는 워터마킹 이미지(122)가 검출 및/또는 판독될 때 페이로드가 전송될 위치를 나타낸다. 워터마킹 이미지(122)는 사람에게 보이지 않는다. 예를 들어, 워터마킹 이미지(122)는 사람의 눈에 보이기에 투명하거나 너무 작을 수 있다. 워터마킹 이미지(122)는 사람에게 보이지 않기 때문에, 요청된 컨텐츠를 소비할 때 사용자의 경험에 영향을 미치지 않는다.
워터마킹 이미지를 디지털 컴포넌트에 임베딩하거나 속기하는 것 (stenographing)은 예를 들어 워터마킹 이미지가 디지털 컴포넌트로부터 분리하여 검출할 수 없도록 워터마킹 이미지를 디지털 컴포넌트에 통합하는 것을 포함할 수 있다. 예를 들어, 워터마킹 이미지는 워터마킹 이미지를 디지털 컴포넌트 이미지에 추가 계층(layer)으로서 오버레이한 다음 단일 엔티티가 되도록 그 계층들을 병합함으로써 디지털 컴포넌트에 임베딩될 수 있다. 일부 구현에서, 워터마킹 이미지는 계층을 구별할 수 없게 만들지 않고 추가 계층으로서 추가하기만 하면 디지털 컴포넌트에 임베딩될 수 있다.
워터마킹 이미지(122)는 사람에게 보이지 않지만, 워터마킹 이미지(122)가 임베딩된 디지털 컴포넌트를 디스플레이하는 애플리케이션은 워터마킹 이미지(122)의 존재를 검출하고 클라이언트 디바이스(106)로 하여금 지정된 액션(동작)을 수행하게 하는 워터마킹 이미지(122)를 판독할 수 있다. 예를 들어, 클라이언트 디바이스가 임베딩된 워터마크를 가진 디지털 컴포넌트와 함께 요청된 컨텐츠를 다운로드한 다음 디지털 컴포넌트를 시청하거나 소비될 때, 클라이언트 디바이스가 디지털 컴포넌트를 소비하고 있는 애플리케이션은 워터마킹 이미지를 검출할 수 있다. 그러면 애플리케이션은 워터마킹 이미지를 판독하고 워터마킹 이미지 내에 인코딩된 명령들은 클라이언트 디바이스에 의해 실행될 것이다. 워터마킹 이미지가 디지털 컴포넌트내에 임베딩되어 있기 때문에, 일부 구현에서 애플리케이션은 디지털 컴포넌트가 다운로드 및 소비되는 경우에만 워터마킹 이미지를 검출할 수 있으므로 추가 보안 계층을 제공한다. 일부 구현에서, 디지털 컴포넌트(114)는 클라이언트 디바이스(106) 상의 애플리케이션이 워터마킹 이미지(122)와 같은 서명 또는 태그를 감시하도록 마킹되거나 플래그될 수 있다. 예를 들어, 디지털 컴포넌트(114)는 워터마킹 이미지(122)의 존재, 워터마킹 이미지(122)의 위치, 및/또는 워터마킹 이미지(122)의 포맷을 나타내도록 플래그될 수 있다. 일부 구현에서, 애플리케이션은 워터마킹 이미지의 존재에 대해 수신된 디지털 컴포넌트를 스캔하도록 구성된다. 예를 들어, 클라이언트 디바이스(106)의 비디오 플레이어는 비디오 또는 오디오 형태로 워터마크에 대한 비디오를 스캔하도록 구성될 수 있다.
워터마킹 이미지(122)는 클라이언트 디바이스(106)로 하여금 클라이언트 디바이스(106)의 사용자가 디지털 컴포넌트를 수신하고 소비했다는 영수증(receipt)을 URL에 의해 표시된 목적지로 제공하게 할 수 있다.
워터마킹 이미지(122)의 페이로드는 단순히 URL 목적지로 포워딩될 페이로드일 수 있다. 일부 구현에서, 페이로드는 클라이언트 디바 이스(106)로 하여금 다른 액션들 중에서도 측정 액션을 수행하고, 지정된 디바이스 또는 위치에 핑(ping)하고, 지정된 디바이스 또는 위치로 측정치를 전송하는 것을 포함하여 스크립트에 의해 지정된 액션들을 수행하게 하는 측정 스크립트를 포함한다.
일부 구현에서, 워터마킹 이미지(122) 페이로드 및 디지털 컴포넌트 내의 위치는 디지털 컴포넌트와 별도로 이전에 제공되어 제거되거나 변조되기 쉬운 추가 측정 스크립트의 수를 대체하거나 감소시키도록 맞춤화될 수 있다.
일부 구현에서, 워터마킹 이미지(122)는 DCDS(110)와 같은 SSP에 의해 포워딩되어야 하는 특정 헤더 필드에 워터마킹 이미지(122)를 묶는(tie) 암호화 서명된 메타데이터를 임베딩함으로써 변조 방지될 수 있다. 암호화 서명된 메타데이터를 포함함으로써, 제3자 컨텐츠 제공자(150)와 같은 컨텐츠 제공자는 페이로드를 제3자 컨텐츠 제공자(150)에 반환하고 있는 클라이언트 디바이스(106)가 컨텐츠 요청에 의해 제공되거나 표시되는 프레젠테이션 기회의 선택 기준 및 기타 특성과 일치하는지 검증(확인)할 수 있다.
흐름은 제3자 컨텐츠 제공자가 임베딩된 워터마크와 함께 선택된 디지털 컴포넌트를 SSP에 제공하는 단계(K)에서 계속된다. 예를 들어, 제3자 컨텐츠 제공자(150)는 사람에게 보이지 않는 임베딩된 워터마킹 이미지(122)를 갖는 디지털 컴포넌트(114)를 DCDS(110)로 전송할 수 있다.
흐름은 SSP가 임베딩된 워터마크를 갖는 컨텐츠 및 디지털 컴포넌트를 클라이언트 디바이스에 제공하는 단계(L)에서 계속된다. 예를 들어, DCDS(110)는 요청된 웹 페이지 및 디지털 컴포넌트(114)에 임베딩된 워터마킹 이미지(122)를 제공하여 사용자에게 제시될 클라이언트 디바이스(106)에 제공할 수 있다.
일부 구현에서, SSP는 컨텐츠를 클라이언트 디바이스로 전송하기 전에 디지털 컴포넌트(따라서 워터마킹 이미지)를 요청된 컨텐츠에 결합한다. 다른 구현에서, SSP는 디지털 컴포넌트(따라서 워터마킹 이미지) 및 요청된 컨텐츠를 클라이언트 디바이스에 별도로 제공할 수 있다. 어떤 유형의 구현에서도 워터마킹 이미지내에 포함된 측정 정보의 무결성이 유지된다.
설명의 편의를 위해 이미지 컨텐츠 데이터를 중심으로 시스템을 설명하였지만, 시스템은 임의의 유형의 컨텐츠와 함께 사용하도록 고려된다. 예를 들어, 일부 구현에서 요청된 컨텐츠는 스트리밍 비디오일 수 있다. 워터마킹 이미지는 다른 배치 중에서, 비디오의 각 프레임 내에 임베딩되거나, 비디오 위에 오버레이 또는 투명 계층으로으로 임베딩되거나, 특정 비디오 프레임 내에 임베딩될 수 있다. 예를 들어, 요청된 컨텐츠는 다른 플레이어와 실시간으로 온라인에서 재생되는 비디오 게임일 수 있다. 워터마킹 이미지는 비디오 내에서 두 개 이상의 특정 프레임에 임베딩될수 있다. 일부 구현에서, 요청된 컨텐츠는 스트리밍 오디오일 수 있고, 워터마킹 이미지는 예를 들어 메타데이터 또는 사람이 들을 수 없지만 컨텐츠가 클라이언트 디바이스에서 재생되는 애플리케이션에 의해 검출 가능한 오디오 데이터로 제공될 수 있다.
보안 워터마킹 시스템은 많은 이점을 제공한다. 기존 시스템에서, 수집된 데이터는 클라이언트 디바이스를 대신하여 측정 스크립트를 실행하고 관련 측정 액션을 수행하는 SSP의 변덕에 따라 측정 및 배포된다. 그러나, 기존 방법은 컨텐츠 제공자가 디지털 컴포넌트와 사용자 경험을 개선하는데 사용하려는 데이터에 대해 신뢰할 수 없을 수 있다. 특정 컨텐츠 제작자 또는 개발자가 지정한 메트릭을 수집하도록 허용 함으로써 보안 워터마킹 시스템을 통해 컨텐츠 제공자는 컨텐츠를 개선하고 사용자 요구를 더 잘 해결할 수 있다. 또한, 디지털 컴포넌트를 요청된 컨텐츠와 결합하면 컨텐츠 제공자가 각 환경에 맞게 특별히 포멧팅된 고유한 컨텐츠를 개발할 필요가 없기 때문에 시스템을 여러 환경으로 쉽게 확장할 수 있다.
시스템은 또한 네트워크(102)와 같은 네트워크를 통한 트래픽의 양을 감소시키는데, 그 이유는 시스템이 통해 컨텐츠 제공자가 수행중인 측정 액션과 수집되는 데이터의 유형 및 양을 제어할 수 있게 해주기 때문이다. 컨텐츠 제공자의 디지털 컴포넌트 또는 사용자 경험의 개선에 유용하지 않을 수 있는 데이터를 컨텐츠 게시자가 제공하기를 기다리는 대신, 컨텐츠 제공자는 측정 방법과 대상을 제어할 수 있다.
일부 구현에서, 시스템은 워터마킹 이미지 내의 페이로드의 암호화를 허용함으로써 컨텐츠 제공자를 보호한다. 예를 들어 컨텐츠 제공자는 컨텐츠 제공자만 해독할 수 있도록 페이로드를 암호화할 수 있다. 클라이언트 디바이스가 임베딩된 워터마크가 있는 디지털 컴포넌트와 함께 요청된 컨텐츠를 다운로드한 다음 디지털 컴포넌트를 보거나 다른 방식으로 소비할 때, 클라이언트 디바이스가 디지털 컴포넌트를 소비하는 애플리케이션은 워터마킹 이미지를 거출한다. 그러면 애플리케이션이 워터마킹 이미지를 판독하고 워터마킹 이미지 내에 인코딩된 명령들이 클라이언트 디바이스에 의해 실행될 것이다. 이 특정 예에서, 클라이언트 디바이스는 페이로드를 복호화(해독)하거나 페이로드로 동작을 수행하지 않고도 컨텐츠 제공자가 액세스할 수 있는 URL 목적지로 암호화된 페이로드를 간단히 포워딩할 수 있다. 그런 다음 컨텐츠 제공자는 페이로드를 복호화하여 변경 사항이 발생하지 않았는지, 페이로드를 반환한 클라이언트 디바이스가 페이로드가 전송된 클라이언트 디바이스인지 검증할 수 있다.
설명된 시스템은 측정 스크립트를 제공하고 실행하기 위해 SSP에 의존하는 컨텐츠 제공자의 중간 단계를 제거한다. 따라서 시스템은 디지털 컴포넌트의 전달 및 소비에 관한 데이터를 수집하고 측정하는 기존 방법보다 더 효율적이고 더 정확하고 더 나은 측정을 제공한다.
SSP는 더 이상 컨텐츠 제공자에 의해 제공되는 측정 명령을 포워딩하고 실행할 책임이 없기 때문에, 시스템은 또한 SSP 수준에서 워크로드(작업 부하)를 단순화하고 감소시킨다. 추가적으로, 시스템은 클라이언트 디바이스가 수행하도록 지시받은 관련 없는 측정 액션의 수를 줄이고, 클라이언트가 측정 결과를 전송하거나 SSP 또는 기타 중개자를 통하지 않고 컨텐츠 제공자에게 직접 핑을 제공할 수 있도록 허용함으로써 워크플로우를 단순화하고 클라이언트 디바이스의 워크로드와 네트워크를 통한 트래픽을 줄이는 측정 프로세스의 통합을 제공한다.
게다가, 워터마킹 이미지는 더 정확하고 더 세분화된 측정이 수행되도록 한다. 예를 들어, 컨텐츠 제공자는 비디오의 시작 부분과 비디오의 끝 부분에 워터마크를 임베딩하여 전체 비디오가 소비되었는지 여부를 결정할 수 있다. 워터마크가 비디오 내에 임베딩되어 있기 때문에, 워터마크를 검출하고 클라이언트 디바이스가 측정 액션을 실행하거나 페이로드를 포워딩하여 응답하기 위해서는 비디오가 클라이언트 디바이스의 애플리케이션에서 재생되어야 한다.
다른 예에서, 컨텐츠 제공자는 디지털 컴포넌트 내에 하나보다 많은 워터마크를 임베딩할 수 있다. 예를 들어, 컨텐츠 제공자는 디지털 컴포넌트의 특정 부분이 보이도록 하기 위해 디지털 컴포넌트 내의 다양한 위치에 워터마크를 임베딩할 수 있다.
시스템은 컨텐츠 게시자를 포함하는 중개자에 의해 취해지는 간섭 또는 무효 동작을 방지하고 보다 안전한 측정 방법을 제공한다. 예를 들어, 시스템은 측정 스크립트가 컨텐츠 제공자에 의해 제공되고 컨텐츠 게시자 또는 SSP가 제거할 수 없고 제거할 필요도 없는 방식으로 디지털 컴포넌트에 임베딩되기 때문에 컨텐츠 제공자로부터 클라이언트 디바이스로 직접 측정 명령을 전달할 수 있다. 실제로, 컨텐츠 제공자가 임베딩된 워터마크의 배치 및 포멧을 제어할 수 있도록 함으로써, 시스템은 SSP는 디지털 컴포넌트 자체를 변경하지 않으며 SSP가 디지털 컴포넌트를 변경하려고 시도하는 경우에도 워터마크가 어디에 있는지 또는 어떤 포멧인인지 알 수 없기 때문에 워터마크의 향상된 보안을 제공한다. 기존의 방법은 측정 스크립트를 제거하거나 측정 스크립트를 충실하게 실행하고 클라이언트 디바이스로 포워딩하는 것을 자제하는 SSP에 의존했으며, 디지털 컴포넌트가 클라이언트 디바이스에 제시되었는지 여부와 방법을 검출하는 기능을 방지하는 SSP의 가능성을 허용했다. 설명된 방법은 SSP와 같은 중개자에 대해 쉽게 제거하거나 검출할 수 없는 임베딩된 워터마크를 사용하여 클라이언트 디바이스에 의한 액션을 트리거함으로써 이 문제를 해결한다.
보안 워터마크 시스템은 SSP와 같은 시스템이 무효 트래픽을 검출하고 컨텐츠 제공자들에게 제공되는 디바이스 및 상호 작용에 관한 정보의 조작을 방지할 수 있게 한다. 예를 들어, SSP는 컨텐츠 제공자 간의 특정 유형의 상호 작용에 대한 성공률을 검토하여 특정 컨텐츠 제공자가 무효 트래픽에 더 취약한지 여부를 결정할 수 있다. SSP는 이 데이터에 기초하여 선택 기준 및 후보 디지털 컴포넌트(예를 들어, 교환기를 통해)를 요청하는 컨텐츠 제공자 세트를 조정할 수 있다. 컨텐츠 제공자들은 측정 방법과 대상을 선택할 수 있지만, SSP는 수집된 데이터로 시스템을 개선할 수도 있다.
도 3은 공간 효율적인 확률적 데이터 구조를 사용하는 데이터 수집 및 분석을 위한 프라이버시 보호 프로세스의 예시적인 프로세스의 흐름도이다. 일부 구현에서, 프로세스(300)는 하나 이상의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(300)는 도 1-2의 DCDS(110) 및/또는 사용자 디바이스(들)(106)에 의해 구현될 수 있다. 일부 구현에서, 프로세스(300)는 컴퓨터 판독가능 매체에 저장된 명령들로서 구현될 수 있으며, 이는 비일시적일 수 있고, 명령들이 하나 이상의 서버에 의해 실행될 때, 명령들은 하나 이상의 서버로 하여금 프로세스(300)의 동작들을 수행하게 할 수 있다.
프로세스(300)는 하나 이상의 프로세서를 포함하는 컨텐츠 서버에 의해 클라이언트 디바이스로부터, 특정 컨텐츠 전달 기회의 하나 이상의 특성을 수신하는 단계로 시작한다(302). 예를 들어, DCDS(110)는 클라이언트 디바이스(106)로부터, 전자 문서 서버(104)와 같은 컨텐츠 서버로부터 컨텐츠에 대한 요청을 수신할 수 있다. 일부 구현에서, 요청은 요청된 컨텐츠가 전달되는 컨텍스트를 포함하고, 제3자 컨텐츠 제공자(150)는 컨텍스트 정보가 있는 워터마크(122)를 생성하고 이를 디지털 컴포넌트(114)에 임베딩하여 다시 제공될 수 있도록 하고, 해당 컨텐츠는 조정되지 않은 상태로 사용자에게 제공될 수 있거나 DCDS(110)와 같은 중개자가 다른 정보를 추가한 다음 디지털 컴포넌트와 컨텐츠를 클라이언트 디바이스(106)로 제공할 수 있다. 클라이언트 디바이스(106)의 애플리케이션은 DCDS(110)에 의해 추가된 정보 및/또는 워터마크의 포함(inclusion)을 찾도록 구성되고 워터마크에서 요청된 정보를 전달하기 위해 위치를 핑하는 것과 같은 액션을 취할 수 있다. 일부 구현에서, DCDS(110)는 클라이언트 디바이스(106)로부터의 정보에 기초하여, 전자 문서 서버(104)로부터의 특정 컨텐츠가 사용자에게 전달될 것임을 간단히 결정할 수 있다.
전술한 바와 같이, 컨텐츠 서버로부터 요청된 컨텐츠는 다른 유형의 데이터중에서도, 스트리밍 오디오 또는 비디오 데이터, 이미지 데이터 및 텍스트 데이터를 포함하여 임의의 유형의 데이터일 수 있다. 예를 들어, 컨텐츠는 클라이언트 디바이스(106)에서 재생되고 있는 온라인 비디오 게임일 수 있다. DCDS(110)는 클라이언트 디바이스(106)로부터의 정보에 기초하여, 스트리밍 비디오 게임 컨텐츠가 전자 문서 서버(104)로부터 요청되고 있고 클라이언트 디바이스(106)의 사용자에게 전달될 것임을 결정할 수 있다.
프로세스(300)는 컨텐츠 서버에 의해, (i) 워터마크를 검출하는 클라이언트 디바이스에 의한 액션을 트리거하는 페이로드 및 (ii) 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된(stenographed) 워터마킹된 디지털 컴포넌트를 획득하는 단계로 계속된다(302). 예를 들어, DCDS(110)는 제3자 컨텐츠 제공자(150)로부터, 워터마킹 이미지(122)가 임베딩된 워터마킹된 디지털 컴포넌트(114)를 수신할 수 있다. 디지털 컴포넌트(114)는 제3자 컨텐츠 제공자(150)에 의해 워터마킹 이미지(122)로 임베딩되었다. 이 예에서, 워터마킹 이미지(122)는 워터마킹 이미지(122)의 검출시에 클라이언트 디바이스(106)에 의한 액션을 트리거하는 페이로드를 나타내고, 워터마킹 이미지(122)는 또한 워터마킹 이미지(122)를 검출하는 것에 응답하여 클라이언트 디바이스(106)에 의해 접촉되는 제3자 컨텐츠 제공자(150)에 대한 URL 목적지와 같은 보고 위치를 나타낸다.
일부 구현에서, 액션은 보고 위치로 전송되는 핑을 생성하는 것일 수 있다. 보고 위치는 예를 들어 제3자 컨텐츠 제공자, SSP(이 예에서는 DCDS 110) 또는 기타 지정된 위치일 수 있다. 일부 구현에서, 액션은 지정된 측정 동작을 수행하는 측정 스크립트와 같이 클라이언트 디바이스(106)에 이미 설치된 스크립트를 시작하는 것일 수 있다. 일부 구현에서 액션은 지정된 위치로부터 스크립트 또는 기타 데이터를 다운로드하는 것일 수 있다.
일부 구현에서, 워터마킹 이미지(122)는 페이로드와 함께 프리젠테이션 데이터에 대한 요청을 포함한다. 예를 들어, 클라이언트 디바이스(106)는 다른 메트릭들 중에서도, 디지털 컴포넌트가 실제로 제시되었는지 또는 디지털 컴포넌트의 얼마나 많은 양이 실제로 제시되었는지에 대한 표시를 제공할 수 있다.
일부 구현에서, 목적지 위치는 클라이언트 디바이스가 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 URL(Uniform Resource Locator)이고, 페이로드 데이터의 적어도 일부는 워터마크를 검출하는 클라이언트 디바이스에 응답하여 URL로 전송된다. 예를 들어, 목적지 위치는 클라이언트 디바이스(106)가 워터마킹 이미지(122)를 검출하는 것에 응답하여 핑하도록 요청되는 URL 목적지일 수 있다. 페이로드 데이터는 예를 들어 클라이언트 디바이스(106)에 대한 신원 증명으로서 URL 목적지에 제공되도록 요청되는 데이터의 일부를 포함할 수 있다.
일부 구현에서, 페이로드의 주어진 부분은 암호화 서명되고, 암호로 서명된 페이로드의 주어진 부분은 워터마킹된 디지털 컴포넌트가 URL에 디스플레이되도록 하는 데이터와 함께 전송된다. 예를 들어, 페이로드는 제3자 컨텐츠 제공자(150)만이 암호를 해독할 수 있도록 제3자 컨텐츠 제공자(150)에 의해 암호화 서명될 수 있으며, 이는 임의의 변조가 제3자 컨텐츠 제공자(150)에 의해 검출될 수 있음을 보장하고, 클라이언트 디바이스(106)가 아니거나 페이로드를 포함하지 않는 디바이스로부터 무효 응답의 검출을 허용한다.
일부 구현에서, 컨텐츠 서버는 수신된 디지털 컴포넌트로부터 임베딩된 스크립트를 제거하도록 구성되고, 워터마크는 컨텐츠 서버에 의해 워터마킹된 디지털 컴포넌트로부터 워터마크가 제거되는 것을 방지하는 형태를 갖는다. 예를 들어, DCDS(110)는 수신하는 디지털 컴포넌트로부터 내장된 스크립트를 제거하도록 구성될 수 있다. 워터마킹 이미지(122)는 디지털 컴포넌트(114)와 통합되도록 디지털 컴포넌트(114)에 임베딩되기 때문에, 워터마킹 이미지(122)를 제거하는 것은 DCDS(110)와 같은 SSP가 컨텐츠 자체를 방해하거나 변경하지 않고 컨텐츠를 전달하도록 구성된 경우에는 불가능하다.
프로세스(300)는 컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합함으로써 결합 컨텐츠를 생성하는 단계로 계속된다(306). 예를 들어, DCDS(110)는 컨텐츠 및 디지털 컴포넌트를 클라이언트 디바이스(106)에 제공하기 전에 전자 문서 서버(104)로부터의 요청된 컨텐츠와 워터마킹된 디지털 컴포넌트를 통합할 수 있다.
일부 구현에서, 결합 컨텐츠를 생성하는 단계는 워터마킹된 디지털 컴포넌트를 컨텐츠 내의 지정된 재생 위치에서 컨텐츠에 통합하는 단계를 포함한다. 예를 들어, 요청된 컨텐츠는 비디오 스트림일 수 있고, DCDS(110)는 워터마킹된 디지털 컴포넌트를 비디오 내의 특정 재생 위치에 통합할 수 있다.
일부 구현에서, 컨텐츠는 비디오 스트림이고, 워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 것은 워터마킹된 디지털 컴포넌트를 비디오 스트림으로 스플라이싱(접합)하는 것을 포함한다. 예를 들어, DCDS(110)는 워터마킹된 디지털 컴포넌트를 비디오 스트림에 삽입하여 특정 재생 위치에서 비디오 스트림과 결합되도록 할 수 있다.
일부 구현에서, 워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 것은 워터마킹된 디지털 컴포넌트를 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지 중 하나로 통합하는 것을 포함한다. 위에서 설명된 바와 같이, DCDS(110)는 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지를 포함하는 임의의 유형의 컨텐츠에 워터마킹된 디지털 컴포넌트를 삽입할 수 있다.
프로세스(300)는 컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계로 계속된다(308). 예를 들어, DCDS(110)는 요청된 컨텐츠 및 워터마킹된 디지털 컴포넌트를 클라이언트 디바이스(106)에 제공할 수 있다.
프로세스(300) 및 도 1 내지 도 3과 관련하여 설명된 프로세스(300) 및 시스템은 다른 환경 중에서도 특히 TV, 영화, 온라인 게임과 같은 임의의 스트리밍 환경에 적용될 수 있다.
도 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 카드) 중 하나 이상을 포함할 수 있다. 다른 구현에서, 입/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 입/출력 디바이스, 예를 들어, 키보드, 프린터 및 디스플레이 디바이스(460)로 보내도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 셋탑 박스 텔레비전 클라이언트 디바이스 등과 같은 다른 구현도 사용될 수 있다.
예시적인 처리 시스템이 도 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) 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된 워터마킹된 디지털 컴포넌트를 획득하는 단계;
    컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합하여 결합 컨텐츠를 생성하는 단계; 및
    컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    결합 컨텐츠를 생성하는 단계는,
    워터마킹된 디지털 컴포넌트를 컨텐츠 내의 특정 위치에 있는 컨텐츠에 통합하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    컨텐츠는 비디오 스트림이고,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트를 지정된 위치에 있는 비디오 스트림에 스플라이싱(splicing)하는 단계를 포함하고,
    지정된 위치는 재생 위치인 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지 중 하나에 통합하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 임의의 선행하는 항에 있어서,
    목적지 위치는 클라이언트 디바이스가 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 URL이고; 그리고
    페이로드 데이터의 적어도 일부는 워터마크를 검출하는 클라이언트 디바이스에 응답하여 URL로 전송되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    페이로드의 주어진 부분은 암호화 서명되고, 그리고
    암호화 서명된 페이로드의 주어진 부분은 워터마킹된 디지털 컴포넌트가 URL에 디스플레이되도록 하는 데이터와 함께 전송되는 것을 특징으로 하는 방법.
  7. 임의의 성행하는 항에 있어서,
    컨텐츠 서버는 수신된 디지털 컴포넌트로부터 임베딩된 스크립트를 제거하도록 구성되고, 그리고
    워터마크는 컨텐츠 서버에 의해 워터마킹된 디지털 컴포넌트로부터 워터마크가 제거되는 것을 방지하는 형태를 갖는 것을 특징으로 하는 방법.
  8. 시스템으로서,
    하나 이상의 프로세서; 및
    실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령들을 포함하는 하나 이상의 메모리 엘리먼트를 포함하고, 상기 동작들은,
    하나 이상의 프로세서를 포함하는 컨텐츠 서버에 의해 클라이언트 디바이스로부터, 특정 컨텐츠 전달 기회의 하나 이상의 특성을 수신하는 단계;
    컨텐츠 서버에 의해, (i) 워터마크를 검출하는 클라이언트 디바이스에 의한 액션을 트리거하는 페이로드 및 (ii) 워터마크 검출에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된 워터마킹된 디지털 컴포넌트를 획득하는 단계;
    컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합하여 결합 컨텐츠를 생성하는 단계; 및
    컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    결합 컨텐츠를 생성하는 단계는,
    워터마킹된 디지털 컴포넌트를 컨텐츠 내의 특정 위치에 있는 컨텐츠에 통합하는 단계를 포함하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    컨텐츠는 비디오 스트림이고,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트를 지정된 위치에 있는 비디오 스트림에 스플라이싱하는 단계를 포함하고,
    지정된 위치는 재생 위치인 것을 특징으로 하는 시스템.
  11. 제9항에 있어서,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트를 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지 중 하나에 통합하는 단계를 포함하는 것을 특징으로 하는 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    목적지 위치는 클라이언트 디바이스가 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 URL이고; 그리고
    페이로드 데이터의 적어도 일부는 워터마크를 검출하는 클라이언트 디바이스에 응답하여 URL로 전송되는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    페이로드의 주어진 부분은 암호화 서명되고, 그리고
    암호화 서명된 페이로드의 주어진 부분은 워터마킹된 디지털 컴포넌트가 URL에 디스플레이되도록 하는 데이터와 함께 전송되는 것을 특징으로 하는 시스템.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    컨텐츠 서버는 수신된 디지털 컴포넌트로부터 임베딩된 스크립트를 제거하도록 구성되고, 그리고
    워터마크는 컨텐츠 서버에 의해 워터마킹된 디지털 컴포넌트로부터 워터마크가 제거되는 것을 방지하는 형태를 갖는 것을 특징으로 하는 시스템.
  15. 분산 컴퓨팅 시스템에 의해 실행될 때 분산 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령들로 인코딩된 컴퓨터 저장 매체로서, 상기 동작들은,
    하나 이상의 프로세서를 포함하는 컨텐츠 서버에 의해 클라이언트 디바이스로부터, 특정 컨텐츠 전달 기회의 하나 이상의 특성을 수신하는 단계;
    컨텐츠 서버에 의해, (i) 워터마크를 검출하는 클라이언트 디바이스에 의한 액션을 트리거하는 페이로드 및 (ii) 워터마크 검출에 응답하여 클라이언트 디바이스에 의해 접촉되는 보고 위치를 나타내는 워터마크로 속기된 워터마킹된 디지털 컴포넌트를 획득하는 단계;
    컨텐츠 서버에 의해, 워터마킹된 디지털 컴포넌트를 디지털 컴포넌트의 소스와 상이한 소스로부터의 컨텐츠와 결합하여 결합 컨텐츠를 생성하는 단계; 및
    컨텐츠 서버에 의해 클라이언트 디바이스로, 결합 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
  16. 제15항에 있어서,
    결합 컨텐츠를 생성하는 단계는,
    워터마킹된 디지털 컴포넌트를 컨텐츠 내의 특정 위치에 있는 컨텐츠에 통합하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
  17. 제16항에 있어서,
    컨텐츠는 비디오 스트림이고,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트를 지정된 위치에서 비디오 스트림에 스플라이싱하는 단계를 포함하고,
    지정된 위치는 재생 위치인 것을 특징으로 하는 컴퓨터 저장 매체.
  18. 제16항에 있어서,
    워터마킹된 디지털 컴포넌트를 컨텐츠에 통합하는 단계는,
    워터마킹된 디지털 컴포넌트를 스트리밍 오디오, 스트리밍 비디오, 게임 컨텐츠 또는 이미지 중 하나에 통합하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서,
    목적지 위치는 클라이언트 디바이스가 워터마크를 검출하는 것에 응답하여 클라이언트 디바이스에 의해 접촉되는 URL이고; 그리고
    페이로드 데이터의 적어도 일부는 워터마크를 검출하는 클라이언트 디바이스에 응답하여 URL로 전송되는 것을 특징으로 하는 컴퓨터 저장 매체.
  20. 제19항에 있어서,
    페이로드의 주어진 부분은 암호화 서명되고, 그리고
    암호화 서명된 페이로드의 주어진 부분은 워터마킹된 디지털 컴포넌트가 URL에 디스플레이되도록 하는 데이터와 함께 전송되는 것을 특징으로 하는 컴퓨터 저장 매체.
KR1020227013865A 2020-11-30 2020-11-30 컨텐츠에 보안 워터마크 통합 KR20220077136A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/062594 WO2022115111A1 (en) 2020-11-30 2020-11-30 Integrating secure watermarks into content

Publications (1)

Publication Number Publication Date
KR20220077136A true KR20220077136A (ko) 2022-06-08

Family

ID=73856592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013865A KR20220077136A (ko) 2020-11-30 2020-11-30 컨텐츠에 보안 워터마크 통합

Country Status (6)

Country Link
US (1) US20230022018A1 (ko)
EP (1) EP4035411A1 (ko)
JP (1) JP7405969B2 (ko)
KR (1) KR20220077136A (ko)
CN (1) CN115244942A (ko)
WO (1) WO2022115111A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL251149A0 (en) * 2017-03-14 2017-06-29 Google Inc Semi-transparent marks for transferred content

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2386782B (en) * 2002-03-22 2005-09-21 Sony Uk Ltd Material storage
JP2005184524A (ja) * 2003-12-19 2005-07-07 Victor Co Of Japan Ltd 電子透かしを利用した電子メール配信システム
WO2006012629A2 (en) * 2004-07-23 2006-02-02 Nielsen Media Research, Inc. Methods and apparatus for monitoring the insertion of local media content into a program stream
US8494903B2 (en) * 2007-03-16 2013-07-23 Activated Content Corporation Universal advertising model utilizing digital linkage technology “U AD”
US8356247B2 (en) * 2008-12-16 2013-01-15 Rich Media Worldwide, Llc Content rendering control system and method
US9607131B2 (en) * 2010-09-16 2017-03-28 Verance Corporation Secure and efficient content screening in a networked environment
CA2810264C (en) * 2011-03-18 2020-06-09 The Nielsen Company (Us), Llc Methods and apparatus to determine media impressions
US9148438B2 (en) * 2012-06-25 2015-09-29 Salesforce.Com, Inc. System, method and computer program product for publishing non-malicious third party content to a data feed
RU2634837C2 (ru) * 2012-11-23 2017-11-07 Сони Корпорейшн Устройство обработки информации и способ обработки информации
US9596521B2 (en) * 2014-03-13 2017-03-14 Verance Corporation Interactive content acquisition using embedded codes
US20160050468A1 (en) * 2014-08-14 2016-02-18 Nagravision S.A. Mitigation of collusion attacks against watermarked content
US9986288B2 (en) * 2014-08-21 2018-05-29 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
JP2017011503A (ja) * 2015-06-22 2017-01-12 ソニー株式会社 受信装置、送信装置、及び、データ処理方法
US10825043B2 (en) * 2017-01-31 2020-11-03 Oath Inc. Methods and systems for processing viewability metrics

Also Published As

Publication number Publication date
US20230022018A1 (en) 2023-01-26
CN115244942A (zh) 2022-10-25
EP4035411A1 (en) 2022-08-03
JP2023508123A (ja) 2023-03-01
JP7405969B2 (ja) 2023-12-26
WO2022115111A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US20200236569A1 (en) Cross-channel user tracking systems, methods, and devices
US11375044B2 (en) Custom digital components
US9633358B2 (en) Interactive presentations with integrated tracking systems
US9154388B2 (en) Data delivery
US8160926B1 (en) Privacy-sensitive cookies
CN105450724B (zh) 监测媒体呈现装置的方法、设备和有形的计算机可读存储介质
EP3008906B1 (en) Providing supplemental content in relation to embedded media
CN102057372A (zh) 生成站点地图
JP2018200702A (ja) アプリケーションインストールコンバージョンおよび識別
US8775321B1 (en) Systems and methods for providing notification of and access to information associated with media content
US20220405407A1 (en) Privacy preserving cross-domain machine learning
US20230022018A1 (en) Integrating secure watermarks into content
CN104471559B (zh) 用于模块的有效执行的方法和设备
US11836209B2 (en) Tamper-proof interaction data
US20220122121A1 (en) Combating false information with crowdsourcing
WO2014203015A1 (en) Cross-channel user tracking systems, methods and devices
US10846738B1 (en) Engaged view rate analysis
US20240202360A1 (en) Privacy preserving custom embeddings
US20240160678A1 (en) Distributing digital components based on predicted attributes
CN116368488A (zh) 用于隐私保护的本地化密码技术
US9330072B1 (en) Serving content for a space based on a probabilistic distribution

Legal Events

Date Code Title Description
E902 Notification of reason for refusal