KR102216628B1 - 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법 - Google Patents

클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102216628B1
KR102216628B1 KR1020197012710A KR20197012710A KR102216628B1 KR 102216628 B1 KR102216628 B1 KR 102216628B1 KR 1020197012710 A KR1020197012710 A KR 1020197012710A KR 20197012710 A KR20197012710 A KR 20197012710A KR 102216628 B1 KR102216628 B1 KR 102216628B1
Authority
KR
South Korea
Prior art keywords
content
content item
application
interaction
client device
Prior art date
Application number
KR1020197012710A
Other languages
English (en)
Other versions
KR20190061050A (ko
Inventor
프리얀슈 제인
투나 토크소즈
스펜서 존슨
알렉스 제이콥슨
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20190061050A publication Critical patent/KR20190061050A/ko
Application granted granted Critical
Publication of KR102216628B1 publication Critical patent/KR102216628B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 시스템 및 방법. 방법은 제1 컨텐츠 아이템, 제2 컨텐츠 아이템 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 수신하는 단계를 포함하며, 상기 인터렉션 확인 스크립트는 어플리케이션 내에서 실행되고 상기 어플리케이션으로 하여금 상기 제시된 제1 컨텐츠 아이템에 응답하여 상기 제1 컨텐츠 아이템 상의 제1 인터렉션 이벤트를 검출하고; 상기 제1 컨텐츠 아이템 상의 상기 제1 인터렉션 이벤트를 검출함에 따라, 상기 제2 컨텐츠 아이템을 제시하고; 상기 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하고; 상기 제2 인터렉션 이벤트를 검출함에 따라, 상기 제1 인터렉션 이벤트의 확인을 전송하고; 상기 제2 컨텐츠 아이템과 링크된 정보 리소스에 액세스하기 위한 요청을 전송하게 하도록 구성된다. 상기 방법은 상기 제2 컨텐츠 아이템 상의 상기 제2 인터렉션 이벤트에 응답하여 상기 정보 리소스를 제시하는 단계를 더 포함할 수 있다.

Description

클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법
관련 출원
본 출원은 2017년 3월 3일자로 출원된 "클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법"이라는 제목의 PCT 출원번호 PCT/US2017/020735에 대한 우선권을 주장하며, 그 내용 전체는 본 명세서에 참조로서 통합된다.
인터넷과 같은 컴퓨터 네트워크 환경에서, 서버로부터의 데이터는 컨텐츠에 대한 요청에 응답하여 클라이언트 디바이스에게로 전달될 수 있다. 클라이언트 디바이스는 서버로부터 데이터를 수신한다. 데이터는 클라이언트 디바이스에서 디스플레이하기 위한 데이터에 대응하는 컨텐츠를 렌더링하기 위한 명령어들을 포함할 수 있다. 컨텐츠 퍼블리셔는 컨텐츠 아이템(예: 네이티브 컨텐츠 아이템)의 제시 파라미터들에 대응하는 명령어들을 지정할 수 있다.
적어도 하나의 양태는 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법에 관한 것이다. 상기 방법은 어플리케이션들에 의한 컨텐츠 아이템의 부적절한 제시로 인해 클라이언트 디바이스들에서 실행되는 어플리케이션들에서 네이티브 컨텐츠 아이템들과 부주의한 인터렉션들을 검출할 수 있다. 상기 방법은 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 방법으로서,
하나 이상의 데이터 프로세서들을 포함하는 클라이언트 디바이스에서 실행되는 어플리케이션에 의해, 제1 서버로부터, 제1 컨텐츠 아이템, 제2 컨텐츠 아이템 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 수신하는 단계를 포함할 수 있고, 상기 인터렉션 확인 스크립트는 상기 클라이언트 디바이스에서 실행되는 상기 어플리케이션 내에서 실행되고, 상기 어플리케이션으로 하여금: 상기 클라이언트 디바이스에서 상기 어플리케이션 내에서 제시된 상기 제1 컨텐츠 아이템에 응답하여, 상기 제1 컨텐츠 아이템과의 제1 인터렉션 이벤트를 검출하고; 상기 제1 컨텐츠 아이템에서 상기 제1 인터렉션 이벤트를 검출함에 응답하여, 상기 어플리케이션 내에서 상기 제2 컨텐츠 아이템을 제시하고; 상기 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하고; 상기 제2 인터렉션 이벤트를 검출함에 따라, 상기 제1 인터렉션 이벤트의 확인을 상기 제1 서버에 전송하고; 그리고 상기 제2 컨텐츠 아이템에 링크된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송하게 하도록 구성된다. 상기 방법은 상기 클라이언트 디바이스에 의해, 상기 제2 컨텐츠 아이템 상의 상기 제2 인터렉션 이벤트에 응답하여 상기 정보 리소스를 제시하는 단계를 더 포함할 수 있다.
일부 구현예들에서, 상기 제1 컨텐츠 아이템은 상기 어플리케이션의 다른 컨텐츠 아이템들의 디스플레이 파라미터들과 매칭되도록 구성된 네이티브 컨텐츠 아이템을 포함한다. 일부 구현예들에서, 상기 제2 컨텐츠 아이템은 디스플레이되는 경우 상기 어플리케이션의 디스플레이 영역의 주요 부분을 차지하도록 구성된 간입형(intersitial) 컨텐츠 아이템을 포함한다. 일부 구현예들에서, 상기 제2 컨텐츠 아이템은 상기 어플리케이션이 상기 제2 인터렉션 이벤트를 검출하고 상기 제1 인터렉션 이벤트의 확인을 전송하게 하기 위한 명령어들을 포함하는 스크립트를 포함한다. 일부 구현예들에서, 상기 제1 컨텐츠 아이템은 상기 제2 컨텐츠 아이템에 포함된 텍스트와 동일한 텍스트를 포함한다.
일부 구현예들에서, 상기 인터렉션 확인 스크립트는 상기 어플리케이션에 의해 실행될 때, 상기 어플리케이션이 상기 제1 인터렉션 이벤트를 검출함에 따라 상기 제1 서버에 상기 제1 인터렉션 이벤트의 표시를 전송하게 하는 컴퓨터 실행가능 명령어들을 더 포함한다. 일부 구현예들에서, 상기 제1 서버는 데이터베이스 내에 컨텐츠 제한 리스트를 유지하도록 구성되고, 상기 컨텐츠 제한 리스트는 복수의 어플리케이션에 대응하는 복수의 어플리케이션 식별자들을 포함하고, 상기 컨텐츠 제한 리스트는 상기 리스트 상의 어플리케이션 식별자들이 대응하는 상기 복수의 어플리케이션들로부터의 컨텐츠 요청들에 응답하여 전송하기 위한 상기 제1 컨텐츠 아이템의 선택을 제한하는데 사용된다. 일부 구현예에서, 상기 제1 서버는: 상기 어플리케이션으로부터 상기 확인을 수신하는 것에 실패함에 응답하여, 상기 컨텐츠 제한 리스트에 상기 어플리케이션의 어플리케이션 식별자를 추가하고; 후속 컨텐츠 요청을 수신하는 것에 응답하여, 상기 컨텐츠 제한 리스트 상의 상기 어플리케이션 식별자가 대응하는 상기 어플리케이션에 대한 전송을 위한 상기 제1 컨텐츠 아이템의 선택을 제한할 것을 결정하도록 더 구성된다. 일부 구현예들에서, 상기 제1 인터렉션 이벤트의 상기 확인은 상기 어플리케이션을 식별하기 위한 어플리케이션 식별자를 포함한다.
적어도 하나의 양태는 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 시스템에 관한 것이다. 상기 시스템은 어플리케이션들에 의한 컨텐츠 아이템의 부적절한 제시로 인해 클라이언트 디바이스들에서 실행되는 어플리케이션들에서 네이티브 컨텐츠 아이템들과 부주의한 인터렉션들을 검출할 수 있다. 상기 시스템은 프로세서 및 상기 프로세서에 연결된 메모리를 포함할 수 있다. 상기 메모리는 컴퓨터 실행가능 명령어들을 저장하며, 상기 명령어들은 상기 프로세서에 의해 실행시, 상기 프로세서로 하여금: 클라이언트 디바이스에서 실행되는 어플리케이션에 의해, 제1 서버로부터, 제1 컨텐츠 아이템, 제2 컨텐츠 아이템 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 수신하게 한다. 상기 인터렉션 확인 스크립트는 상기 클라이언트 디바이스에서 실행되는 상기 어플리케이션 내에서 실행되고, 상기 어플리케이션으로 하여금: 상기 클라이언트 디바이스에서 상기 어플리케이션 내에서 제시된 상기 제1 컨텐츠 아이템에 응답하여, 상기 제1 컨텐츠 아이템과의 제1 인터렉션 이벤트를 검출하고; 상기 제1 컨텐츠 아이템에서 상기 제1 인터렉션 이벤트를 검출함에 응답하여, 상기 어플리케이션 내에서 상기 제2 컨텐츠 아이템을 제시하고; 상기 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하고; 상기 제2 인터렉션 이벤트를 검출함에 따라, 상기 제1 인터렉션 이벤트의 확인을 상기 제1 서버에 전송하고; 그리고 상기 제2 컨텐츠 아이템에 링크된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송하게 하도록 구성된다. 상기 컴퓨터 실행가능 명령어들은 상기 프로세서로 하여금 상기 클라이언트 디바이스에 의해, 상기 제2 컨텐츠 아이템 상의 상기 제2 인터렉션 이벤트에 응답하여 상기 정보 리소스를 제시하게 한다.
일부 구현예들에서, 상기 제1 컨텐츠 아이템은 상기 어플리케이션의 다른 컨텐츠 아이템들의 디스플레이 파라미터들과 매칭되도록 구성된 네이티브 컨텐츠 아이템을 포함한다. 일부 구현예들에서, 상기 제2 컨텐츠 아이템은 디스플레이되는 경우 상기 어플리케이션의 디스플레이 영역의 주요 부분을 차지하도록 구성된 간입형(intersitial) 컨텐츠 아이템을 포함한다. 일부 구현예들에서, 상기 제2 컨텐츠 아이템은 상기 어플리케이션이 상기 제2 인터렉션 이벤트를 검출하고 상기 제1 인터렉션 이벤트의 확인을 전송하게 하기 위한 명령어들을 포함하는 스크립트를 포함한다. 일부 구현예들에서, 상기 제1 컨텐츠 아이템은 상기 제2 컨텐츠 아이템에 포함된 텍스트와 동일한 텍스트를 포함한다.
일부 구현예들에서, 상기 인터렉션 확인 스크립트는 상기 어플리케이션에 의해 실행될 때, 상기 어플리케이션이 상기 제1 인터렉션 이벤트를 검출함에 따라 상기 제1 서버에 상기 제1 인터렉션 이벤트의 표시를 전송하게 하는 컴퓨터 실행가능 명령어들을 더 포함한다. 일부 구현예들에서, 상기 제1 서버는 데이터베이스 내에 컨텐츠 제한 리스트를 유지하도록 구성되고, 상기 컨텐츠 제한 리스트는 복수의 어플리케이션에 대응하는 복수의 어플리케이션 식별자들을 포함하고, 상기 컨텐츠 제한 리스트는 상기 리스트 상의 어플리케이션 식별자들이 대응하는 상기 복수의 어플리케이션들로부터의 컨텐츠 요청들에 응답하여 전송하기 위한 상기 제1 컨텐츠 아이템의 선택을 제한하는데 사용된다. 일부 구현예에서, 상기 제1 서버는: 상기 어플리케이션으로부터 상기 확인을 수신하는 것에 실패함에 응답하여, 상기 컨텐츠 제한 리스트에 상기 어플리케이션의 어플리케이션 식별자를 추가하고; 후속 컨텐츠 요청을 수신하는 것에 응답하여, 상기 컨텐츠 제한 리스트 상의 상기 어플리케이션 식별자가 대응하는 상기 어플리케이션에 대한 전송을 위한 상기 제1 컨텐츠 아이템의 선택을 제한할 것을 결정하도록 더 구성된다. 일부 구현예들에서, 상기 제1 인터렉션 이벤트의 상기 확인은 상기 어플리케이션을 식별하기 위한 어플리케이션 식별자를 포함한다.
적어도 하나의 양태는 클라이언트 디바이스들에서 실행되는 어플리케이션들에서 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법에 관한 것이다. 상기 방법은 어플리케이션들에 의한 컨텐츠 아이템의 부적절한 제시로 인해 클라이언트 디바이스들에서 실행되는 어플리케이션들에서 네이티브 컨텐츠 아이템들과 부주의한 인터렉션들을 검출할 수 있다. 상기 방법은 하나 이상의 프로세서들을 포함하는 데이터 프로세싱 시스템에 의해, 복수의 클라이언트 디바이스들로부터 컨텐츠 요청들을 수신하는 단계를 포함하며, 상기 컨텐츠 요청들 각각은 상기 복수의 클라이언트 디바이스들 중 각각의 클라이언트 디바이스에서 실행되는 어플리케이션에 의해 생성된다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 클라이언트 디바이스로부터의 컨텐츠 요청에 응답하여, 상기 복수의 클라이언트 디바이스들 중 제1 서브셋의 각 클라이언트 디바이스에 제1 컨텐츠 아이템, 제2 컨텐츠 아이템 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 전송하는 단계, 상기 인터렉션 확인 스크립트는 상기 어플리케이션으로 하여금: 제1 제시 포맷에서 제시될 상기 제1 컨텐츠 아이템을 구성하고, 제1 제시 포맷에서 상기 제1 컨텐츠 아이템을 제시하고, 상기 제1 컨텐츠 아이템 상의 제1 인터렉션 이벤트를 검출함에 응답하여 상기 제2 컨텐츠 아이템을 디스플레이하고, 그리고 상기 제2 컨텐츠 아이템 상의 제2 인터렉션 이벤트를 검출함에 응답하여 확인을 상기 데이터 프로세싱 시스템에 전송하게 한다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 클라이언트 디바이스로부터의 컨텐츠 요청에 응답하여, 상기 복수의 클라이언트 디바이스들 중 제2 서브셋의 각 클라이언트 디바이스에 상기 제1 컨텐츠 아이템을 전송하는 단계를 더 포함할 수 있다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 복수의 클라이언트 디바이스들의 상기 제1 서브셋으로부터 수신된 확인들에 기초하여 상기 제1 컨텐츠 패키지의 제1 성능 메트릭을 결정하는 단계를 더 포함할 수 있다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 클라이언트 디바이스들의 상기 제2 서브셋으로부터 수신된 확인들에 기초하여 상기 제1 컨텐츠 아이템의 제2 성능 메트릭을 결정하는 단계를 더 포함할 수 있다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 제1 성능 메트릭을 상기 제2 성능 메트릭과 비교하는 단계를 더 포함할 수 있다. 상기 방법은 상기 데이터 프로세싱 시스템에 의해, 상기 비교에 기초하여, 상기 어플리케이션을 식별하는 후속 컨텐츠 요청에 응답하여 전송하기 위한 상기 제1 컨텐츠 아이템의 선택을 제한하기 위해 상기 어플리케이션의 어플리케이션 식별자를 컨텐츠 제한 리스트에 추가하는 단계를 더 포함할 수 있다.
일부 구현예들에서, 상기 제1 컨텐츠 아이템은 상기 어플리케이션의 다른 컨텐츠 아이템들의 디스플레이 파라미터들과 매칭되도록 구성된 네이티브 컨텐츠 아이템을 포함한다.
이들 및 다른 양태들 및 구현예들은 아래에서 상세히 논의된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태들 및 구현예들의 예시적 실시예를 포함하고, 청구된 양태들 및 구현예들의 본질 및 특성을 이해하기 위한 개요 또는 프레임워크를 제공한다. 도면은 다양한 양태들 및 구현예들의 예시 및 추가 이해를 제공하며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다. 양태들 및 구현예들은 조합될 수 있고, 하나의 양태 또는 구현예의 맥락에서 기술된 구성들은 다른 양태들 또는 구현예들의 맥락에서 구현될 수 있다는 것이 인식될 것이다.
첨부된 도면은 일정한 비율로 도시된 것이 아니다. 다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다. 명확성을 위해 모든 도면에서 모든 컴포넌트가 라벨링된 것은 아니다. 도면에서:
도 1은 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 환경을 도시하는 블록도이다.
도 2는 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 시스템을 도시하는 블록도이다.
도 3은 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 환경 내의 통신을 도시하는 신호 도면이다.
도 4는 일부 구현예에 따라 네이티브 컨텐츠 아이템들과의 부주의한 인터렉션들을 검출하기 위한 방법을 도시하는 흐름도이다.
도 5는 일부 구현예에 따라 도 4와 관련하여 기술된 클라이언트 디바이스들에서 실행되는 어플리케이션들과 통신하는 데이터 프로세싱 시스템에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법을 도시하는 흐름도이다.
도 6은 일부 구현예에 따라 본 명세서에 기술되고 도시된 시스템 및 방법의 구성요소를 구현하기 위해 사용될 수 있는 컴퓨터 시스템을 위한 일반적인 아키텍처를 나타내는 블록도이다.
아래에 설명되는 것은 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현예들에 대한 보다 상세한 설명이다. 상기 소개되고 아래에서 더 자세히 논의되는 다양한 개념들은 기술된 개념들이 임의의 특정한 구현 방식에 제한되지 않기 때문에, 임의의 다수의 방식들로 구현될 수 있다.
본 발명은 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 시스템 및 방법과 관련된다. 특히, 본 발명은 모바일 컴퓨팅 디바이스에서 실행되는 어플리케이션에서 컨텐츠 아이템들과의 거짓 인터렉션들을 검출하기 위한 시스템 및 방법과 관련된다.
모바일 어플리케이션 내에서, 이미지, 비디오 또는 기타 디스플레이 가능한 컨텐츠와 같이 동적으로 로딩된 컨텐츠 아이템들은 네이티브 포맷이나 간입형 포맷으로 어플리케이션의 모양과 느낌 내에 내장될 수 있다. 네이티브 포맷에서, 컨텐츠 아이템 퍼블리셔는 폰트, 색상, 컨텐츠 아이템 컴포넌트들의 위치 또는 컨텐츠 아이템들의 기타 세부사항과 같은 컨텐츠 아이템들의 특성들을 컨텐츠 아이템들이 사실상 디스플레이되는 모바일 어플리케이션과 독립적으로, 자유롭게 커스터마이징할 수 있다. 간입형 포맷에서, 컨텐츠 아이템들은 일반적으로 어플리케이션의 흐름 내에서 자연적 전환 포인트 또는 논리적 브레이크에 디스플레이되며, 어플리케이션의 정규 사용자 인터페이스에 오버레이될 수 있다(예: 간입형 컨텐츠 아이템은 전체화면으로 디스플레이될 수 있다).
네이티브 포맷의 컨텐츠 아이템들의 경우, 일반적으로 네이티브 컨텐츠 아이템을 제공하는 것은 컨텐츠 퍼블리셔가 그가 맞다고 보는 바에 따라 자유롭게 구현하거나 디스플레이하는 컨텐츠 아이템의 개별 컴포넌트들(예: 제목, 이미지, 설명 등)을 제공하는 것을 포함한다. 그러나 퍼블리셔는 종종 네이티브 컨텐츠 아이템을 부적절하게 표시하여 부주의한 사용자 인터렉션들로 인한 나쁜 사용자 경험을 겪게 한다. 예를 들어, 모바일 디바이스의 잠긴 화면을 스와이핑함으로써 모바일 디바이스를 잠금 해제할 수 있는 "밀어서 잠금해제” 기능을 고려해본다. 잠긴 화면에서, 모바일 디바이스는 스와이핑에 의해 활성화되는 컨텐츠 아이템도 디스플레이할 수 있다. 컨텐츠 아이템이 "밀어서 잠금해제” 영역에 또는 그와 매우 가까이에 잘못 디스플레이될 수 있다. 이와 같이, 사용자가 모바일 디바이스를 잠금해제하기 위해 스와이핑하는 경우, 상기 스와이핑은 잠금해제를 하기 위한 스와이핑으로 인식될 뿐만 아니라, 추가적으로 컨텐츠 아이템과의 인터렉션으로도 (부정확하게) 인식되어, 부주의하게 스와이핑된 컨텐츠 아이템과 연관된 브라우저의 링크를 여는 것과 같은 모바일 디바이스가 원하지 않은 동작을 수행하게 한다.
클라이언트 디바이스의 어플리케이션 내에서 부정확하게 제시된 컨텐츠 아이템들(예: 어플리케이션 내에서 부적절하게 렌더링된 컨텐츠 아이템들)과 관련하여 기술적 문제들이 있다. 예를 들어, 클라이언트 디바이스로 하여금 컴퓨터 실행가능 명령어들을 실행하게 하여 부적절하게 디스플레이되거나 제시된 컨텐츠 아이템의 부주의한 클릭을 프로세싱하게 하는 것은 증가된 배터리 소비, 부주의하게 클릭된 컨텐츠 아이템과 연관된 데이터를 제공하는데 있어서의 네트워크 리소스의 낭비 및 클라이언트 디바이스의 성능에 불리한 영향을 미칠 수 있는 추가적 컴퓨팅 리소스들을 초래할 수 있다. 또한, 컨텐츠 아이템들과의 부주의한 인터렉션들으로 인한 좋지 않은 사용자 경험을 가져올 수 있다.
도 1은 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 환경을 도시하는 블록도이다. 환경(100)은 적어도 하나의 데이터 프로세싱 시스템(110)을 포함한다. 데이터 프로세싱 시스템(110)은 적어도 하나의 프로세서(또는 프로세싱 회로) 및 메모리를 포함할 수 있다. 메모리는 프로세서에서 실행될 때 프로세서로 하여금 본 명세서에 기술된 하나 이상의 동작들을 수행하게 하는 프로세서 실행가능 명령어들을 저장한다. 프로세서는 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 등, 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기 또는 프로세서에 프로그램 명령어들을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 한정되지 않는다. 메모리는 플로피 디스크, CD-ROM, DVD, 자기 디스크, 메모리 칩, ASIC, FPGA, ROM, RAM, EEPROM(electrically-erasable ROM), EPROM(erasable-programmable ROM), 플래시 메모리, 광학 매체, 또는 프로세서가 명령어들을 판독할 수 있는 임의의 기타 적절한 메모리를 포함할 수 있다. 명령어들은 임의의 적절한 컴퓨터 프로그래밍 언어의 코드가 포함될 수 있다. 데이터 프로세싱 시스템(110)은 다양한 기능들을 수행할 수 있는 하나 이상의 컴퓨팅 디바이스들 또는 서버들을 포함할 수 있다.
네트워크(105)는 인터넷, 로컬, 와이드, 메트로 또는 다른 영역 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 모바일폰 통신 네트워크와 같은 다른 컴퓨터 네트워크들 및 이들의 조합과 같은 컴퓨터 네트워크를 포함할 수 있다. 환경(100)의 데이터 프로세싱 시스템(110)은 예를 들어 적어도 하나의 컨텐츠 제공자 컴퓨팅 디바이스(115), 적어도 하나의 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 또는 적어도 하나의 클라이언트 디바이스(125)와 네트워크(105)를 통해 통신할 수 있다. 네트워크(105)는 클라이언트 디바이스(125), 데이터 프로세싱 시스템(110) 및 특히 웹 서버, 컨텐츠 서버와 같은 하나 이상의 컨텐츠 소스들 간의 정보를 중계하는 임의의 형태의 컴퓨터 네트워크일 수 있다. 예를 들어, 네트워크(105)는 근거리 통신망(LAN), 광역 통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 다른 유형의 데이터 네트워크와 같은 인터넷 및 / 또는 다른 유형의 데이터 네트워크를 포함할 수 있다. 네트워크(105)는 또한 네트워크(105) 내에서 데이터를 수신 및/또는 전송하도록 구성된 임의의 수의 컴퓨팅 디바이스(예를 들어, 컴퓨터, 서버, 라우터, 네트워크 스위치 등)를 포함할 수 있다. 네트워크(105)는 임의의 수의 고정 배선 및/또는 무선 연결을 더 포함할 수 있다. 예를 들어, 클라이언트 디바이스(125)는 (예를 들어, 광섬유 케이블, CAT5 케이블 등을 통해) 배선된 송수신기와 무선으로(예를 들어, WiFi, 셀룰러, 라디오 등을 통해) 네트워크(105) 내 다른 컴퓨팅 디바이스들과 통신할 수 있다.
컨텐츠 제공자 컴퓨팅 디바이스(115)는 클라이언트 디바이스(125)에서 정보 리소스에 디스플레이하기 위한 하나 이상의 컨텐츠 아이템을 제공하기 위해 컨텐츠 제공자 엔티티에 의해 동작되는 서버 또는 다른 컴퓨팅 디바이스들을 포함할 수 있다. 컨텐츠 제공자 컴퓨팅 디바이스(115)에 의해 제공된 컨텐츠는 예를 들어 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 제공된 컨텐츠와 같은 주요 컨텐츠를 포함하는 웹사이트 또는 웹페이지와 같은 정보 리소스에 디스플레이하기 위한 서드파티 컨텐츠 아이템들을 포함할 수 있다. 컨텐츠 아이템들은 검색 결과 웹페이지에도 디스플레이될 수 있다. 예를 들어, 컨텐츠 제공자 컴퓨팅 디바이스(115)는 웹페이지의 주요 컨텐츠가 그 회사에 의해 제공되는 회사의 웹페이지와 같은 컨텐츠 웹페이지들의 컨텐츠 슬롯들에 디스플레이하기 위한 또는 검색 엔진에 의해 제공된 검색 결과들 랜딩 페이지에 디스플레이하기 위한 하나 이상의 컨텐츠 아이템들의 소스를 제공하거나 그 소스일 수 있다. 컨텐츠 제공자 컴퓨팅 디바이스(115)와 연관된 컨텐츠 아이템들은 스마트폰 또는 다른 클라이언트 디바이스(125)에서 (GPS 또는 맵 어플리케이션 또는 다른 유형의 어플리케이션와 같은) 어플리케이션 실행의 일부로서 디스플레이된 컨텐츠와 같이 웹페이지들이 아닌 정보 리소스들에 디스플레이될 수 있다.
컨텐츠 제공자 컴퓨팅 디바이스(120)는 네트워크(105)를 통해 디스플레이하기 위한 주요 컨텐츠를 제공하기 위해 컨텐츠 퍼블리싱 개체에 의해 동작되는 서버들 또는 다른 컴퓨팅 디바이스들을 포함할 수 있다. 예를 들어, 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 웹페이지에 디스플레이하기 위한 주요 컨텐츠를 제공하는 웹페이지 운영자를 포함할 수 있다. 주요 컨텐츠는 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 제공되는 것과 다른 컨텐츠를 포함할 수있고, 웹페이지는 컨텐츠 제공자 컴퓨팅 디바이스(115)로부터의 서드파티 컨텐츠 아이템들의 디스플레이를 위해 구성된 컨텐츠 슬롯들을 포함할 수 있다. 예를 들어, 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 회사의 웹사이트를 운영할 수 있고, 웹사이트의 웹페이지에 디스플레이하기 위해 그 회사에 관한 컨텐츠를 제공할 수 있다. 웹페이지들은 컨텐츠 제공자 컴퓨팅 디바이스(115)의 서드파티 컨텐츠 아이템들의 디스플레이를 위해 구성된 컨텐츠 슬롯들을 포함할 수 있다. 일부 구현예에서, 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 검색 엔진 웹사이트를 운영하는 검색 엔진 운영자의 검색 엔진 컴퓨팅 디바이스(예를 들어, 서버)를 포함한다. 검색 엔진 웹페이지의 주요 컨텐츠(예를 들어, 결과 또는 랜딩 웹페이지)는 검색 결과뿐만 아니라 컨텐츠 제공자 컴퓨팅 디바이스(115)로부터의 컨텐츠 아이템들과 같은 컨텐츠 슬롯에 디스플레이된 서드파티 컨텐츠 아이템을 포함할 수 있다. 일부 구현예에서, 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 비디오 컨텐츠를 서비스하기 위한 서버를 포함할 수 있다.
클라이언트 디바이스(125)는 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 제공된 컨텐츠(예를 들어, 주 웹페이지 컨텐츠 또는 다른 정보 리소스) 및 컨텐츠 제공자 컴퓨팅 디바이스(115)에 의해 제공된 컨텐츠(예를 들어, 웹페이지 또는 어플리케이션이 컨텐츠 슬롯에 디스플레이하기 위해 구성된 서드 파티 컨텐츠 아이템들)와 같은 데이터를 디스플레이하기 위해 네트워크(105)를 통해 통신하도록 구성된 컴퓨팅 디바이스들을 포함할 수 있다. 예를 들어, 클라이언트 디바이스(125)는 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 생성되거나 퍼블리싱된 어플리케이션을 실행하도록 구성될 수 있고, 어플리케이션은 그 안에 컨텐츠 아이템(예를 들어, 네이티브 컨텐츠 아이템)을 디스플레이하도록 구성될 수 있다. 클라이언트 디바이스(125), 컨텐츠 제공자 컴퓨팅 디바이스(115) 및 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기, 모바일 디바이스, 컨슈머 컴퓨팅 디바이스, 서버, 클라이언트, 디지털 비디오 레코더, 텔레비전용 셋톱 박스, 비디오 게임 콘솔 또는 네트워크(105)를 통해 통신하도록 구성된 임의의 기타 컴퓨팅 디바이스일 수 있다. 클라이언트 디바이스(125)는 최종 사용자가 컨텐츠를 수신하기 위한 요청을 제출할 수 있는 통신 디바이스들일 수 있다. 요청은 검색 엔진에 대한 요청일 수 있으며, 요청에는 검색 쿼리가 포함될 수 있다. 일부 구현예에서, 요청은 웹페이지에 대한 액세스 요청을 포함할 수 있다.
컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및 클라이언트 디바이스(125)는 프로세서 및 메모리, 즉 프로세싱 회로를 포함할 수 있다. 메모리는 프로세서에서 실행될 때 프로세서로 하여금 본 명세서에 기술된 하나 이상의 동작들을 수행하게 하는 기계 명령어들을 저장한다. 프로세서는 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 등, 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기 또는 프로세서에 프로그램 명령어들을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 한정되지 않는다. 메모리는 플로피 디스크, CD-ROM, DVD, 자기 디스크, 메모리 칩, ASIC, FPGA, ROM, RAM, EEPROM(electrically-erasable ROM), EPROM(erasable-programmable ROM), 플래시 메모리, 광학 매체, 또는 프로세서가 명령어들을 판독할 수 있는 임의의 기타 적절한 메모리를 포함할 수 있다. 명령어들은 임의의 적절한 컴퓨터 프로그래밍 언어의 코드가 포함될 수 있다.
컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및 클라이언트 디바이스(125)는 하나 이상의 사용자 인터페이스 디바이스들을 포함할 수 있다. 일반적으로, 사용자 인터페이스 디바이스는 감각 정보(예를 들어, 디스플레이상의 시각화, 하나 이상의 사운드 등)를 생성함으로써 사용자에게 데이터를 전달하고 및/또는 사용자로부터 수신된 감각 정보를 전자 신호(예를 들어, 키보드, 마우스, 포인팅 디바이스, 터치 스크린 디스플레이, 마이크로폰 등)로 변환하는 임의의 전자 디바이스를를 지칭한다. 다양한 구현예들에 따라, 하나 이상의 사용자 인터페이스 디바이스들은 컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및 클라이언트 디바이스(125)의 하우징 내부(예를 들어, 내장 디스플레이, 마이크로폰 등) 또는 컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및 클라이언트 디바이스(125)의 하우징 외부(예를 들어, 사용자 컴퓨팅 디바이스(115)에 연결된 모니터, 사용자 컴퓨팅 디바이스(1150에 연결된 스피커 등)에 있을 수 있다. 예를 들어, 컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및 클라이언트 디바이스(125)는 하나 이상의 컨텐츠 소스들 및/또는 네트워크(105)를 통해 데이터 프로세싱 시스템(110)으로부터 수신된 웹페이지 데이터를 사용하여 웹페이지를 시각적으로 디스플레이하는 전자 디스플레이를 포함할 수 있다. 일부 구현예에서, 컨텐츠 배치 캠페인 관리자 또는 서드파티 컨텐츠 제공자는 컨텐츠 제공자는 컨텐츠 제공자 컴퓨팅 디바이스(115)를 통해 데이터 프로세싱 시스템(110)과 통신할 수 있다. 일부 구현예에서, 컨텐츠 배치 캠페인 관리자 또는 서드파티 컨텐츠 제공자는 컨텐츠 제공자 컴퓨팅 디바이스(115)의 사용자 인터페이스 디바이스들에 디스플레이된 사용자 인터페이스를 통해 데이터 프로세싱 시스템(110)과 통신할 수 있다.
데이터 프로세싱 시스템(110)은 적어도 하나의 서버를 포함할 수 있다. 예를 들어, 데이터 프로세싱 시스템(110)은 적어도 하나의 데이터 센터 또는 서버 팜에 위치된 복수의 서버들 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 서드파티 컨텐츠 배치 시스템, 예를 들어 컨텐츠 서버를 포함할 수 있다. 데이터 프로세싱 시스템(110)은 적어도 하나의 컨텐츠 요청 모듈(130), 적어도 하나의 컨텐츠 선택 모듈(135), 적어도 하나의 스크립트 제공자 모듈(140) 및 적어도 하나의 데이터베이스(145)를 포함할 수 있다. 컨텐츠 요청 모듈(130), 컨텐츠 선택 모듈(135) 및 스크립트 제공자 모듈(140)은 각각 적어도 하나의 프로세싱 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 네트워크(105)를 통해 데이터베이스(145) 및 다른 컴퓨팅 디바이스(예를 들어, 컨텐츠 제공자 컴퓨팅 디바이스(115), 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120) 또는 클라이언트 디바이스(125))와 통신하도록 구성된 프로그래머블 로직 어레이들과 같은 다른 로직 디바이스를 포함할 수 있다.
컨텐츠 요청 모듈(130), 컨텐츠 선택 모듈(135) 및 스크립트 제공자 모듈(140)은 적어도 하나의 컴퓨터 프로그램 또는 적어도 하나의 스크립트를 포함하거나 실행할 수 있다. 컨텐츠 요청 모듈(130), 컨텐츠 선택 모듈(135) 및 스크립트 제공자 모듈(140)은 별개의 컴포넌트들, 단일 컴포넌트 또는 데이터 프로세싱 시스템(110)의 일부일 수 있다. 컨텐츠 요청 모듈(130), 컨텐츠 선택 모듈(135) 및 스크립트 제공자 모듈(140)은 하나 이상의 스크립트들을 실행하도록 구성된 하나 이상의 프로세서들과 같은 소프트웨어 및 하드웨어의 조합을 포함할 수 있다.
데이터 프로세싱 시스템(110)은 또한 하나 이상의 컨텐츠 저장소들 또는 데이터베이스(145)를 포함할 수 있다. 데이터베이스(145)는 데이터 프로세싱 시스템(110)에 로컬적일 수 있다. 일부 구현예에서, 데이터베이스(145)는 데이터 프로세싱 시스템(110)에 대해 원격일 수 있지만, 네트워크(105)를 통해 데이터 프로세싱 시스템(110)과 통신할 수 있다. 데이터베이스(145)는 클라이언트 디바이스(125)에 서비스하기 위해 다른 것들 중에서도 웹페이지, 웹페이지 부분, 서드파티 컨텐츠 아이템 및 비동기 클릭 송신 스크립트를 포함할 수 있다. 일부 구현예에서, 데이터베이스(145)는 컨텐츠 제한 리스트(150)를 저장하도록 구성된다. 컨텐츠 제한 리스트(150)는 네이티브 컨텐츠를 부적절하게 제시하고 따라서 네이티브 컨텐츠를 수신하는 것이 제한되어야 하는 (예를 들어, 컨텐츠 제한 리스트(150)에 의해 식별된 것과 같은) 클라이언트 디바이스(125)상에서 실행되는 어플리케이션들을 식별할 수 있다. 컨텐츠 제한 리스트(150)에 관한 더 상세한 설명은 아래에 제시된다.
컨텐츠 요청 모듈(130)은 클라이언트 디바이스(125)로부터 컨텐츠에 대한 요청을 수신할 수 있다. 컨텐츠에 대한 요청은 정보 리소스에 대한 요청, 하나 이상의 서드파티 컨텐츠 아이템들에 대한 요청, 스크립트에 대한 요청 또는 이들의 조합을 포함할 수 있다. 일부 구현예에서, 컨텐츠에 대한 요청은 서드파티 컨텐츠에 대한 요청을 포함할 수 있다. 일부 구현예에서, 서드파티 컨텐츠에 대한 요청은 서드파티 컨텐츠가 디스플레이 될 정보 리소스의 어드레스 또는 식별자를 포함할 수 있다. 서드파티 컨텐츠에 대한 요청은 또한 컨텐츠에 대한 요청에 응답하여 제공할 컨텐츠를 결정하기 위해 데이터 프로세싱 시스템(110)에 의해 사용될 수 있는 하나 이상의 파라미터들을 포함하거나 식별할 수 있다. 예를 들어, 파라미터들은 요청된 컨텐츠를 삽입할 컨텐츠 슬롯의 크기를 식별할 수 있다. 파라미터들은 정보 리소스과 연관된 유형의 컨텐츠, 요청된 서드파티 컨텐츠의 유형(예: 텍스트, 이미지, 비디오 등), 클라이언트 디바이스 정보, 요청된 서드파티 컨텐츠 아이템의 크기 정보 또는 이들의 조합을 식별할 수 있다.
컨텐츠 선택 모듈(135)은 수신된 컨텐츠에 대한 요청에 응답하여 클라이언트 디바이스(125)에 전송될 컨텐츠를 결정하도록 구성될 수 있다. 컨텐츠 선택 모듈(135)은 수신된 컨텐츠에 대한 요청에 포함된 정보에 기초하여 클라이언트 디바이스(125)에 송신될 컨텐츠를 결정할 수 있다. 예를 들어, 정보 리소스에 대한 요청을 수신하면, 컨텐츠 선택 모듈(135)은 컨텐츠에 대한 요청에서 정보 리소스의 어드레스 또는 식별자를 사용하여 클라이언트 디바이스에 송신할 컨텐츠를 결정할 수 있다. 하나 이상의 서드파티 컨텐츠 아이템들에 대한 요청을 수신하는 경우, 컨텐츠 선택 모듈(135)은 서드파티 컨텐츠(들)이 제시될 정보 리소스에 대한 어드레스 또는 식별자, 정보 리소스에 대한 컨텐츠 유형 정보(예: 스포츠, 뉴스, 음악, 영화, 여행 등), 서드파티 컨텐츠 아이템(들)이 디스플레이될 있는 슬롯(들)의 크기 정보, 클라이언트 디바이스 정보(예: 디바이스 유형, 디바이스 식별자, 디바이스 위치 등)에 기초하여 서드 파티 컨텐츠 아이템(들)을 선택할 수 있다. 일부 구현예에서, 컨텐츠 선택 모듈(135)은 데이터베이스(145)에 액세스하여 클라이언트 디바이스(125)로 송신하기 위한 컨텐츠를 검색할 수 있다.
일부 구현예들에서, 컨텐츠 선택 모듈(135)은 컨텐츠에 대한 요청에 응답하여 스크립트가 클라이언트 디바이스(125)에 전송될지 아닐지 여부를 결정하도록 구성될 수 있다. 컨텐츠 선택 모듈(135)은 컨텐츠 요청의 유형(예를 들어, 네이티브 컨텐츠에 대한 요청), 컨텐츠에 대한 요청에서의 정보 리소스 식별자 또는 이들의 조합에 기초하여 스크립트가 클라이언트 디바이스(125)에 전송될지 아닐지 여부를 결정할 수 있다. 일부 구현예들에서, 컨텐츠 선택 모듈(135)은 인터렉션 확인 프로토콜의 활용을 위해 수신된 컨텐츠 요청를 분류함으로써 스크립트가 클라이언트 디바이스(125)에 전송될지 아닐지 여부를 결정할 수 있다. 스크립트가 클라이언트 디바이스(125)로 송신될 것으로 결정하면, 컨텐츠 선택 모듈(135)은 컨텐츠에 대한 요청 또는 그 표시를 스크립트 제공자 모듈(140)에 포워딩할 수 있다. 일부 구현예에서, 컨텐츠 선택 모듈(135)은 인터렉션 확인 스크립트와 같은 스크립트와 함께 클라이언트 디바이스(125)에 송신할 서드파티 컨텐츠 아이템을 선택할 수 있다.
스크립트 제공자 모듈(140)은 데이터베이스(145)로부터 인터렉션 확인 스크립트를 검색하고, 상기 검색된 스크립트를 클라이언트 디바이스(125)(또는 클라이언트 디바이스(125)로 송신하기 위한 다른 엔터티)에 전송하도록 구성될 수 있다. 일부 구현예에서, 인터렉션 확인 스크립트는 서드파티 컨텐츠 아이템과 별도로 또는 함께 클라이언트 디바이스(125)에 전송될 수 있다. 예를 들어, 스크립트 제공자 모듈(140), 컨텐츠 선택 모듈(135) 또는 데이터 프로세싱 시스템(110)의 다른 엔터티는 서드파티 컨텐츠 아이템을 클라이언트 디바이스(125)에 보내기 전에 인터렉션 확인 스크립트를 서드 파티 컨텐츠 아이템에 포함시킬 수 있다. 일부 구현예들에서, 스크립트 제공자 모듈(140), 컨텐츠 선택 모듈(135) 또는 데이터 프로세싱 시스템(110)의 다른 엔터티는 요청된 정보 리소스와 함께 인터렉션 확인 스크립트를 클라이언트 디바이스(125)에 송신할 수 있다.
인터렉션 확인 스크립트는 컴퓨터 실행가능 명령어들을 포함할 수 있다. 컴퓨터 실행가능한 명령어들은 HTML(HyperText Markup Language), XHTML(Extensible HyperText Markup Language), XML(Extensible Markup Language), CSS(Cascading Style Sheets) 및 JavaScript와 같은 스크립트를 포함할 수 있다. 컴퓨터 실행가능 명령어들은 클라이언트 디바이스(125)가 컨텐츠 요청 모듈(130)에 의해 수신된 컨텐츠 요청을 전송하게 하는 어플리케이션과 같은 클라이언트 디바이스(125)의 어플리케이션 내에서 실행될 수 있다. 어플리케이션은 예를 들어 인터넷 브라우저, 모바일 어플리케이션, 게임 어플리케이션, GPS 어플리케이션, 또는 컴퓨터 실행가능 명령어들을 판독하고 실행할 수 있는 임의의 기타 컴퓨터 프로그램을 포함할 수 있다.
간략한 개요에서, 컴퓨터 실행가능 명령어들은 클라이언트 디바이스(125)의 프로세서에 의해 실행시 상기 클라이언트 디바이스의 어플리케이션으로 하여금: (a) 상기 클라이언트 디바이스에서 상기 어플리케이션 내에서 제시된 상기 제1 컨텐츠 아이템에 응답하여, 상기 제1 컨텐츠 아이템과의 제1 인터렉션 이벤트를 검출하고; (b) 상기 제1 컨텐츠 아이템에서 상기 제1 인터렉션 이벤트를 검출함에 응답하여, 상기 어플리케이션 내에서 상기 제2 컨텐츠 아이템을 제시하고; (c) 상기 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하고; (d) 상기 제2 인터렉션 이벤트를 검출함에 따라, 상기 제1 인터렉션 이벤트의 확인을 상기 제1 서버에 전송하고; 그리고 (e) 상기 제2 컨텐츠 아이템에 링크된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송한다. 인터렉션 확인 스크립트에 관한 추가 세부 사항은 도 2, 3, 4 및 5와 관련하여 본 명세서에서 추가로 제공된다.
도 2는 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 시스템을 도시하는 블록도이다. 인터렉션 확인 시스템(200)은 어플리케이션(205), 정보 리소스(210), 인터렉션 이벤트 검출 모듈(220), 컨텐츠 아이템 제시 모듈(225), 확인 생성 모듈(230) 및 요청 생성 모듈(235)을 포함할 수 있다. 일부 구현예에서, 인터렉션 이벤트 검출 모듈(220), 컨텐츠 아이템 제시 모듈(225), 확인 생성 모듈(230) 및 요청 생성 모듈(235)은 인터렉션 확인 스크립트(215) 내의 모듈들일 수 있다. 인터렉션 확인 스크립트 시스템(200)은 도 6에서 후술되는 것과 같은 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행될 수 있다. 일부 구현예에서, 인터렉션 이벤트 검출 모듈(220), 컨텐츠 아이템 제시 모듈(225), 확인 생성 모듈(230) 및 요청 생성 모듈(235) 중 임의의 것은 어플리케이션(205), 정보 리소스(210) 또는 인터렉션 확인 스크립트(215)의 일부일 수 있다.
일부 구현예에서, 인터렉션 확인 스크립트(215)는 클라이언트 디바이스(125)에서 실행되는 어플리케이션(205)을 통해 클라이언트 디바이스(125)에 의해 수신된다. 인터렉션 확인 스크립트(215)는 클라이언트 디바이스(125)에 의해 데이터 프로세싱 시스템(110)에 전송된 컨텐츠 요청에 응답하여, 데이터 프로세싱 시스템(110)에 의해 클라이언트 디바이스(125)로 송신될 수 있다. 일부 구현예에서, 클라이언트 디바이스(125)에 의해 송신된 컨텐츠 요청은 네이티브 컨텐츠에 대한 요청을 포함한다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 인터렉션 확인 스크립트(215)를 포함하는 컨텐츠 패키지(240)를 전송한다. 컨텐츠 패키지(240)는 어플리케이션(205)에 의한 렌더링 및 제시를 위한 제1 컨텐츠 아이템(245) 및 제2 컨텐츠 아이템(250)을 더 포함할 수 있다. 일부 구현예에서, 제1 컨텐츠 아이템(245)은 네이티브 컨텐츠 아이템을 포함하고, 제2 컨텐츠 아이템(250)은 간입형 컨텐츠 아이템을 포함한다.
일부 구현예에서, 클라이언트 디바이스(125)로부터 수신된 컨텐츠 요청에 응답하여, 데이터 프로세싱 시스템(110)은 상기 수신된 요청을 선택된 네이티브 컨텐츠 요청(예: 제1 컨텐츠 아이템(245)) 및 유사한 간입형 컨텐츠 아이템(예: 제2 컨텐츠 아이템(250))과 함께 클라이언트 디바이스(125)로의 인터렉션 확인 스크립트(215)의 패키징 및 전송을 트리거링할 것으로서 분류할 수 있다. 컨텐츠 패키지(240), 제1 컨텐츠 아이템(245), 및 제2 컨텐츠 아이템(250)에 관한 더 상세한 설명이 아래에 제시된다.
어플리케이션(205)은 예를 들어 인터넷 브라우저, 모바일 어플리케이션, 게임 어플리케이션, GPS 어플리케이션, 또는 정보 리소스(210)에 포함된 컴퓨터 실행가능 명령어들과 같은 컴퓨터 실행가능 명령어들을 실행하거나 호출할 수 있는 임의의 기타 컴퓨터 프로그램, 인터렉션 확인 스크립트(215), 인터렉션 이벤트 검출 모듈(220), 컨텐츠 아이템 제시 모듈(225), 확인 생성 모듈(230) 및 요청 생성 모듈(235)을 포함할 수 있다. 어플리케이션(205)은 컨텐츠 퍼브리셔(120)의 서버, 컨텐츠 제공자(115)의 서버 또는 데이터 프로세싱 시스템(110)의 서버와 같은 정보 리소스을 호스팅하는 서버로부터 정보 리소스(210)을 획득하거나 수신할 수 있다.
도 3은 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 환경 내의 통신을 도시하는 신호 도면이다. 이제 도 1 내지 3을 함께 참조하면, 클라이언트 디바이스(125)는 (예를 들어, 어플리케이션(205)을 통해) 신호(302)에서 컨텐츠 요청을 데이터 프로세싱 시스템(110)에 전송할 수 있다. 일부 구현예에서, 컨텐츠 요청은 네이티브 컨텐츠 아이템에 대한 요청이다. 일부 구현예에서, 네이티브 컨텐츠 아이템은 어플리케이션(205)의 환경 내에서 컨텐츠 퍼블리셔(120)에 의해 생성된 컨텐츠와 동일한 룩앤필을 갖는 것처럼 보일 수 있다. 예를 들어, 네이티브 컨텐츠 아이템은 네이티브 컨텐츠 아이템이 디스플레이 될 어플리케이션(205)의 주변 환경과 매칭되거나 실질적으로 매칭되는 시각적 특성들을 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템을 구성하는 복수의 컨텐츠 컴포넌트들의 형태로 네이티브 컨텐츠 아이템을 클라이언트 디바이스(125)에 송신하고, 컨텐츠 컴포넌트들은 어플리케이션(205)에 의해 클라이언트 디바이스(125)에서 렌더링된다. 예를 들어, 컨텐츠 컴포넌트들은 광고 제목, 이미지, 본문, 액션에 대한 콜, 로고, 속성, 클릭 연결 URL 등을 포함할 수 있지만, 이에 한정되지는 않는다.
일부 구현예에서, 블록(303)에서, 컨텐츠 요청 모듈(130)이 클라이언트 디바이스(125)로부터 컨텐츠 요청을 수신함에 응답하여, 컨텐츠 선택 모듈(135)은 상기 수신된 요청을 선택된 네이티브 컨텐츠 아이템 및 유사한 간입형 컨텐츠 아이템과 함께 클라이언트 디바이스(125)에 인터렉션 확인 스크립트(215)의 패키징과 전송을 트리거링하는 것으로서 분류할 수 있다. 일부 구현예들에서, 컨텐츠 요청은 상기 어플리케이션(205)을 식별하기 위한 어플리케이션 식별자를 포함한다. 따라서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠가 적절히 디스플레이되는지 여부에 대한 결정이 이루어질 후보 어플리케이션들인 어플리케이션의 리스트를 (예를 들어, 데이터베이스(145)에) 유지할 수 있다. 일부 구현예에서, 어플리케이션 식별자들은 어플리케이션(205) 및 식별된 어플리케이션(205)의 특정한 버전을 식별한다. 일부 구현예에서, 어플리케이션 식별자는 (예를 들어, 어플리케이션(205)이 설치된 클라이언트 디바이스(125)의 유형에 기초하여) 어플리케이션(205)의 유형을 식별한다. 예를 들어, 어플리케이션 식별자는 클라이언트 디바이스(125)가 동작하고 어플리케이션(205)이 호환 가능한 특정한 운영 체제를 식별할 수 있다.
이와 같이, 일부 구현예에서, 컨텐츠 요청 모듈(130)은 데이터베이스(125)에서 조회를 수행하여 컨텐츠 요청에서 수신된 어플리케이션 식별자(예를 들어, 요청이 어플리케이션(205)으로부터 송신됨을 식별하는 어플리케이션 식별자)가 후보 어플리케이션들을 식별하기 위한 저장된 어플리케이션 식별자들 중 하나와 매칭되는지 결정하여 네이티브 컨텐츠가 적절하게 디스플레이되는지 여부를 결정하는 것을 트리거링한다.
일부 구현예에서, 컨텐츠 요청 모듈(130)이 네이티브 컨텐츠 제시 성능(performance)에 대해 평가되어야 하는 것으로서 어플리케이션(205)을 식별하면, 컨텐츠 요청 모듈(130)은 컨텐츠 요청을 보낸 클라이언트 디바이스(125)가 선택한 네이티브 컨텐츠 아이템을 가지는 인터렉션 확인 스크립트(215)를 수신할 것이다. 예를 들어, 또한 데이터베이스(145)에 저장되는 것은 후보 어플리케이션 식별자들에 의해 식별된 어플리케이션들에 관한 네이티브 컨텐츠 제시 성능 평가를 트리거하기 위해 저장되는 후보 어플리케이션 식별자들 각각에 할당되거나 그렇지 않으면 그와 연관된 미리 결정된 퍼센티지일 수 있다. 미리 결정된 퍼센티지는 스크립트 요청으로 분류된 컨텐츠 요청에 응답하여 인터렉션 확인 스크립트(215)를 송신하기 위한 스크립트 요청들로서 분류될 컨텐츠 요청들의 퍼센티지를 식별할 수 있다.
예를 들어, 어플리케이션(205)의 어플리케이션 식별자가 35%의 미리 결정된 퍼센티지에 할당되면, 컨텐츠 요청 모듈(130)은 어플리케이션(205)으로부터 수신된 컨텐츠 요청의 35%를(예를 들어, 복수의 클라이언트 디바이스들(215)에 걸쳐서) 스크립트 요청들로서 분류하여, 인터렉션 확인 스크립트(215)가 스크립트 요청들로 분류된 컨텐츠 요청을 보낸 클라이언트 디바이스(125)에 송신되도록 한다. 일부 구현예에서, 어플리케이션(205)은 단일 클라이언트 디바이스에 설치된 하나의 어플리케이션 인스턴스에 대응한다. 일부 구현예에서, 어플리케이션(205)은 복수의 클라이언트 디바이스에 걸쳐 설치된 특정한 어플리케이션의 특정한 버전에 대응한다. 일부 구현예에서, 어플리케이션(205)은 복수의 클라이언트 디바이스들(125)에 걸쳐 어플리케이션(205)의 임의의 버전에 대응한다. 따라서, 컨텐츠 요청들의 나머지 65%는 비-스크립트 요청들로서 분류되어, 데이터 프로세싱 시스템(110)이 비-스크립트 컨텐츠 요청들로 분류한 컨텐츠 요청들을 보낸 클라이언트 디바이스들(125)이 인터렉션 확인 스크립트(215)를 수신하지 않고, 요청한 네이티브 컨텐츠 아이템을 수신하도록 한다. 일부 구현예에서, 컨텐츠 요청 모듈(130)은 컨텐츠 요청들을 스크립트 컨텐츠 요청 또는 비-스크립트 컨텐츠 요청인 것으로 랜덤하게 분류한다(예를 들어, 할당된 미리 결정된 퍼센티지에 의해 지시된 비율로). 일부 구현예에서, 컨텐츠 요청 모듈(130)은 미리 결정된 패턴에 기초하여 컨텐츠 요청들을 스크립트 컨텐츠 요청인 것으로 분류한다(예를 들어, 모든 제4 컨텐츠 요청은 미리 결정된 비율이 25%인 경우 스크립트 컨텐츠 요청으로 분류된다).
스크립트 컨텐츠 요청들로서 분류된 컨텐츠 요청들에 응답하여 인터렉션 확인 스크립트(215)를 송신하는 것에 더하여, 컨텐츠 선택 모듈(135)은 네이티브 컨텐츠 아이템(예를 들어. 원래 요구된 것으로서) 및 간입형 컨텐츠 아이템을 선택하여 제공할 수 있어, 데이터 프로세싱 시스템(110)은 신호(304)에서 인터렉션 확인 스크립트(215), 요청된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 포함하는 컨텐츠 패키지를 제공하도록 한다. 간입형 컨텐츠 아이템은 어플리케이션(205)의 디스플레이 영역의 상당 부분을 차지하기 위해 제시되고 디스플레이되는 컨텐츠 아이템을 포함할 수 있다. 예를 들어, 간입형 컨텐츠 아이템은 어플리케이션(205)의 디스플레이를 오버레이할 수 있다. 일부 구현예에서, 간입형 컨텐츠 아이템의 내용은 컨텐츠 패키지에 포함된 네이티브 컨텐츠 아이템의 내용과 실질적으로 동일하다. 일부 구현예에서, 간입형 컨텐츠 아이템은 네이티브 컨텐츠 아이템과 함께 송신되는 인라인 HTML 코드를 포함한다.
일부 구현예에서, 네이티브 컨텐츠는 어플리케이션(205)에 의해 렌더링될 수 있고, 블록(305) 및 신호(306)에서 각각 어플리케이션(205)의 환경 내의 디스플레이를 위해 제시될 수 있다. 이러한 구현에서, 하나 이상의 컨텐츠 컴포넌트들을 포함하는 네이티브 컨텐츠 아이템이 데이터 프로세싱 시스템(110)으로부터 클라이언트 디바이스(125)에 전송되고, 여기서 클라이언트 디바이스(125)의 어플리케이션(205)은 어플리케이션(205)의 미리 결정된 파라미터에 따라 컨텐츠 아이템의 컨텐츠 컴포넌트들을 어셈블링한다. 일단 어플리케이션(205)이 컨텐츠 컴포넌트들을 사용하여 네이티브 컨텐츠를 렌더링하면, 어플리케이션(205)은 렌더링된 컨텐츠가 어플리케이션(205) 내에서 컨텐츠 퍼블리셔(120)에 의해 생성된 컨텐츠와 동일한 룩앤필을 갖는 것처럼 보이도록 어플리케이션(205)의 환경 내에 디스플레이하기 위해 렌더링 된 네이티브 컨텐츠를 제시한다. 일부 구현예에서, 컨텐츠 퍼블리셔(120)는 어플리케이션(205)이 네이티브 컨텐츠 아이템을 어셈블링하고 제시하는데 활용하는 미리 결정된 파라미터들을 설정할 수 있다. 그러나, 이들 파라미터들은 어플리케이션마다 다르며, 개별 컨텐츠 퍼블리셔(120)가 설정하는 것에 의존하기 때문에, 일부 컨텐츠 퍼블리셔들(120)은 부정확하게 파라미터들을 구현하여, 네이티브 컨텐츠 아이템들이 클라이언트 디바이스(125)에서 부정확하게 제시되도록 하며, 이는 부정확하게 제시된 네이티브 컨텐츠 아이템들과의 부적절한 인터렉션들을 결과할 수 있다.
예를 들어, 컨텐츠 퍼블리셔(120)는 그들의 어플리케이션과 관련하여 디스플레이하기 위한 파라미터들을 설정할 수 있다. 파라미터들은 데이터 프로세싱 시스템(110)으로부터 수신된 네이티브 컨텐츠 컴포넌트들의 모습을 지시할 수 있다. 예시로서, 수신된 네이티브 컨텐츠 컴포넌트들은 제목, 이미지, 본문, 액션에 대한 콜, 로고, 속성, 클릭 연결 URL 등을 포함할 수 있지만, 이에 한정되지는 않는 네이티브 컨텐츠 아이템의 엘리먼트들을 포함할 수 있다. 설정된 파라미터들은 네이티브 컨텐츠 아이템 내의 위치, 색상, 글꼴, 글꼴 크기, 인터렉션 유형(예: 인터렉션을 위한 탭 또는 스와이프) 등과 같은 네이티브 컨텐츠 컴포넌트들의 모습을 지시할 수 있다. 이와 같이, 파라미터들은 어플리케이션 내에서 수신된 네이티브 컨텐츠 컴포넌트들을 렌더링하고 제시하기 위한 지시들을 제공한다. 일부 구현예에서, 컨텐츠 퍼블리셔(120)는 컨텐츠 퍼블리셔(120)의 어플리케이션 내에 네이티브 컨텐츠 파라미터들을 제공한다.
그러나, 컨텐츠 파라미터들이 각각의 컨텐츠 퍼블리셔들(120)에 의해 설정되고 구현되기 때문에, 네이티브 컨텐츠 컴포넌트들이 어플리케이션들 내에서 어떻게 디스플레이되는지에 대해 다양한 변화가 있을 수 있다. 또한, 컨텐츠 퍼블리셔들(120)은 그들의 파라미터들을 부적절하게 설정하여, 네이티브 컨텐츠 컴포넌트들이 어플리케이션 내에서 잘못 렌더링되고 디스플레이되도록 할 수 있으며, 이는 사용자에 의한 어플리케이션의 부적절하게 디스플레이된 네이티브 컨텐츠 아이템과의 부주의한 인터렉션들을 야기할 수 있다(예를 들어, 컨텐츠 아이템이 부적절하게 사용자가 클릭하기를 원하는 별도의 링크를 오버레이하는 경우). 이러한 네이티브 컨텐츠 디스플레이 파라미터들은 어플리케이션마다, 동일한 어플리케이션의 버전마다(예: 2.0 버전과 1.0 버전) 또는 동일한 어플리케이션의 다른 유형들마다(예: 한 운영 체제에 대해 구성된 어플리케이션과 다른 운영 체제에 대해 구성된 동일한 어플리케이션) 다른 운영 체제에 대해 구성된 동일한 어플리케이션과 비교할 때) 다양할 수 있으므로, 유사하게, 컨텐츠 퍼블리셔(120)에 의해 설정된 파라미터들은 상이한 어플리케이션들, 어플리케이션들의 상이한 버전들, 어플리케이션들의 상이한 유형들에 대해 다양할 수 있고, 그러므로 네이티브 컨텐츠 아이템들은 동일한 어플리케이션의 상이한 버전들 또는 유형들과 관련하여 부적절하게 디스플레이될 수 있다.
일부 구현예에서, 신호(308)에서, 클라이언트 디바이스(125)에서 실행되는 인터렉션 이벤트 검출 모듈(220)은 클라이언트 디바이스(125)가 어플리케이션(205) 내의 제시된 네이티브 컨텐츠 아이템에 대한 인터렉션 이벤트를 검출하게 할 수 있다. 예를 들어, 인터렉션 이벤트는 클릭, 스와이프, 탭, 커서로 가리키거나 제시된 네이티브 컨텐츠 아이템과의 임의의 기타 인터렉션을 포함할 수 있다.
일부 구현예들에서, 블록(311)에서, 신호(308)에서 인터렉션 이벤트를 검출하는 것에 응답하여, 클라이언트 디바이스(125)에서 실행되는 컨텐츠 아이템 제시 모듈(225)은 클라이언트 디바이스(125)가 신호(304)에서 컨텐츠 패키지에서 수신된 간입형 컨텐츠 아이템을 렌더링하게 한다. 일부 구현예에서, 클라이언트 디바이스(125)에서 실행되는 어플리케이션(205)은 클라이언트 디바이스(125)가 제시된 네이티브 컨텐츠 아이템에 대응하는 간입형 컨텐츠 아이템(예를 들어, 네이티브 컨텐츠 아이템에 제시된 동일하거나 유사한 정보를 포함)이 수신되었는지 여부를 검출하게 할 수 있다. 예를 들어, 어플리케이션(205)은 클라이언트 디바이스(125)가 블록(304)에서의 컨텐츠 패키지가 요청된 네이티브 컨텐츠 아이템보다 많은 것을 포함하는지 검출하게 할 수 있다. 일부 구현예에서, 어플리케이션(205)은 클라이언트 디바이스(125)로 하여금 간입형 컨텐츠 아이템이 표현하는 HTML 인라인 코드가 컨텐츠 패키지에 존재하는지 여부를 결정함으로써 컨텐츠 패키지가 간입형 컨텐츠 아이템을 포함함을 검출하게 할 수 있다. 일부 구현예에서, 컨텐츠 패키지는 상기 컨텐츠 패키지가 네이티브 컨텐츠 아이템에 더하여 간입형 컨텐츠 아이템을 포함함을 표시하기 위해 플래그 또는 임의의 기타 표시자를 포함하고, 어플리케이션(205)는 클라이언트 디바이스(125)가 컨텐츠 패키지에 플래그의 존재를 검출하게 할 수 있다.
일부 구현예들에서, 수신된 컨텐츠 패키지에서 간입형 컨텐츠 아이템의 존재를 검출하는 것에 응답하여, 그리고 신호(308)에서 인터렉션 이벤트를 검출하는 것에 응답하여, 클라이언트 디바이스(125)에서 실행되는 컨텐츠 아이템 제시 모듈(225)은 클라이언트 디바이스(125)가 신호(304)에서 컨텐츠 패키지에서 수신된 간입형 컨텐츠 아이템을 렌더링하게 한다. 일부 구현예에서, 컨텐츠 아이템 제시 모듈(225)은 클라이언트 디바이스(125)로 하여금 간입형 컨텐츠 아이템을 렌더링하는 명령어들에 대해 컨텐츠 패키지에서 수신된 인라인 HTML 코드를 파싱하게 한 다음 명령어들에 기초하여 간입형 컨텐츠 아이템을 렌더링한다. 간입형 컨텐츠 아이템이 렌더링되면, 컨텐츠 아이템 제시 모듈(225)은 클라이언트 디바이스(125)가 어플리케이션(205) 내에 간입형 컨텐츠 아이템을 제시하게 할 수 있다. 예를 들어, 간입형 컨텐츠 아이템은 정보 리소스(210)에 제시될 수 있다(예를 들어, 정보 리소스(210) 내의 공간의 상당 부분을 차지함으로써).
일부 구현예에서, 신호(312)에서, 클라이언트 디바이스(125)에서 실행되는 확인 생성 모듈(230)은 클라이언트 디바이스(125)가 어플리케이션(205) 내의 제시된 간입형 컨텐츠 아이템에 대한 인터렉션 이벤트를 검출하게 할 수 있다. 예를 들어, 인터렉션 이벤트는 클릭, 스와이프, 탭, 커서로 가리키거나 제시된 간입형 컨텐츠 아이템과의 임의의 기타 인터렉션을 포함할 수 있다. 간입형 컨텐츠 아이템에 관한 인터렉션 이벤트를 검출하는 것에 응답하여, 확인 생성 모듈(230)은 클라이언트 디바이스(125)로 하여금 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트의 확인을 데이터 프로세싱 시스템(110)에 송신하게 할 수 있다.
일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트의 확인을 수신하고, 복수의 클라이언트 디바이스들(125)에 걸쳐 네이티브 컨텐츠 인터렉션 이벤트의 수신된 확인들에 기초하여 성능 평가들을 구현할 수 있다. 예를 들어, 상기 기술된 바와 같이, 데이터 프로세싱 시스템(110)은 어플리케이션(205)을 통해 네이티브 컨텐츠 아이템들을 요청하는 클라이언트 디바이스들(125)의 미리 결정된 퍼센티지를 선택하여, 네이티브 컨텐츠 아이템, 간입형 컨텐츠 아이템 및 인터렉션 확인 스크립트(예를 들어, 어플리케이션(205)로부터 네이티브 컨텐츠 아이템 요청을 하는 전체 클라이언트 디바이스(125)의 컨텐츠 패키지 서브셋)를 포함하는 컨텐츠 패키지를 수신하는 클라이언트 디바이스들(125)이게 하고, 클라이언트 디바이스(125)의 나머지 퍼센티지는 간입형 컨텐츠 아이템 및 인터렉션 확인 스크립트 없이 네이티브 컨텐츠 아이템을 수신하게 한다(예를 들어, 어플리케이션(205)로부터 네이티브 컨텐츠 아이템 요청을 하는 전체 클라이언트 디바이스(125)의 비-컨텐츠 패키지 서브셋). 따라서, 일부 구현예에서, 데이터 프로세싱 시스템(110)은 컨텐츠 퍼블리셔(120)가 네이티브 컨텐츠 아이템들을 정확하게 렌더링하고 디스플레이하는지 여부를 결정함에 있어 컨텐츠 패키지 서브셋 및 비-컨텐츠 패키지 서브셋의 성능 메트릭들을 비교하고 분석한다(예를 들어, 신호(208)에서 네이티브 컨텐츠 아이템에 관한 제1 인터렉션 이벤트가 의도적이었는지 또는 네이티브 컨텐츠 아이템의 부적절한 제시로 인해 우발적이었는지).
일부 구현예에서, 데이터 프로세싱 시스템(110)은 어플리케이션(205)으로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들(125)의 컨텐츠 패키지 서브셋에 관한 성능 메트릭(performance metric)을 결정한다. 예를 들어, 성능 메트릭은 컨텐츠 패키지를 송신했던 클라이언트 디바이스들(125)의 수(예를 들어, 신호(304)에서)와 비교된 데이터 프로세싱 시스템(110)에 의해 수신된 다수의 확인들(예를 들어, 신호(314)에서)을 나타내는 퍼센티지 또는 비율을 포함할 수 있다. 따라서, 컨텐츠 패키지 서브셋의 성능 메트릭은 어플리케이션(205)로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들(125)의 컨텐츠 패키지 서브셋에 송신한 개별 컨텐츠 패키지들의 수와 관련한 네이티브 컨텐츠 아이템과 의도적으로 인터렉션한 사용자들의 퍼센티지를 표현할 수 있다. 유사하게, 일부 구현예에서, 데이터 프로세싱 시스템(110)은 어플리케이션(205)으로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들(125)의 비-컨텐츠 패키지 서브셋에 관한 성능 메트릭을 결정한다. 예를 들어, 성능 메트릭은 요청된 컨텐츠 패키지를 송신되었던 클라이언트 디바이스들(125)의 수와 비교된 데이터 프로세싱 시스템(110)에 의해 수신된 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트들의 표시들의 수를 나타내는 퍼센티지 또는 비율을 포함할 수 있다. 따라서, 비-컨텐츠 패키지 서브셋의 성능 메트릭은 어플리케이션(205)로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들(125)의 비-컨텐츠 패키지 서브셋에 송신한 개별 컨텐츠 패키지들의 수와 관련한 네이티브 컨텐츠 아이템과 인터렉션한 사용자들의 퍼센티지를 표현할 수 있다(예: 의도적 우발적 둘 모두).
일부 구현예에서, 데이터 프로세싱 시스템은 네이티브 컨텐츠 아이템이 어플리케이션(205)에 부적절하게 디스플레이되는지 여부를 결정함에 있어서, 컨텐츠 패키지 서브셋의 성능 메트릭을 비-컨텐츠 패키지 서브셋의 성능 메트릭과 비교한다. 예를 들어, 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋의 성능 메트릭과 비-컨텐츠 패키지 서브셋의 성능 메트릭 사이의 차이를 미리 결정된 임계치와 비교할 수 있다. 일부 구현예에서, 2개의 성능 메트릭 사이의 차이가 미리 결정된 임계치를 초과하면, 데이터 프로세싱 시스템(110)은 어플리케이션(205)이 네이티브 컨텐츠 아이템들을 부적절하게 디스플레이하는 것으로 식별한다. 예시로서, 데이터 프로세싱 시스템(110)은 비-컨텐츠 패키지 서브셋의 성능 메트릭이 컨텐츠 패키지 서브셋의 성능 메트릭보다 적어도 미리 결정된 임계치만큼 큰 경우, 어플리케이션(205)(예를 들어, 어플리케이션(205)의 특정한 버전, 다수의 버전들에 걸친 어플리케이션(205), 어플리케이션(205)의 이러한 특정한 인스턴스 등)을 부적절하게 네이티브 컨텐츠를 디스플레이하는 것으로서 식별할 수 있다. 일부 구현예에서, 미리 결정된 임계치는 데이터 프로세싱 시스템(110)에서 입력되고 데이터베이스(145)에 저장되며, 성능 메트릭들 간의 어떤 차이(예를 들어, 퍼센티지로 표현)가 어플리케이션(205)이 부적절하게 네이티브 컨텐츠 아이템들을 디스플레이한다고 결정하는지 결정하기 위한 임의의 적절한 값일 수 있다(예를 들어, 미리 결정된 임계치의 값은 5 %, 10 %, 15 % 등일 수 있음).
일부 구현예에서, 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋의 성능 메트릭에 기초하지만, 비-컨텐츠 패키지 서브셋의 성능 메트릭에는 기초하지 않고, 어플리케이션(205)이 네이티브 컨텐츠 아이템들을 부적절하게 디스플레이한다고 결정한다. 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋 그 자체의 성능 메트릭을 미리 결정된 임계치와 비교하고, 상기 비교에 기초하여 결정을 내릴 수 있다. 예를 들어, 성능 메트릭은 컨텐츠 패키지가 송신되었된 클라이언트 디바이스(125)의 수와 비교하여 데이터 프로세싱 시스템(110)에 의해 수신된 확인들의 수를 나타내는 퍼센티지 또는 비율을 포함하며, 데이터 프로세싱 시스템(110)은 퍼센티지 성능 메트릭을 임계 퍼센티지와 비교하여, 성능 메트릭이 임계 퍼센티지보다 낮으면, 데이터 프로세싱 시스템(110)은 어플리케이션(205)이 네이티브 컨텐츠를 부적절하게 디스플레이하는 것으로 식별할 수 있다.
일부 구현예에서, 네이티브 컨텐츠를 부적절하게 디스플레이하는 것으로 어플리케이션(205)을 식별하는 것에 응답하여, 데이터 프로세싱 시스템(110)은 어플리케이션(205)에 대해 하나 이상의 제한 절차들을 수행할 수 있다. 예를 들어, 데이터 프로세싱 시스템(110)은 어플리케이션(205)을 컨텐츠 제한 리스트(150)에 추가할 수 있다. 컨텐츠 제한 리스트(150)는 데이터베이스(145)에 저장될 수 있고, 어플리케이션(205)을 식별하는 어플리케이션 식별자를 포함할 수 있어서, 어플리케이션(205)의 어플리케이션 식별자를 포함하는 착신 후속 컨텐츠 요청들이 데이터 프로세싱 시스템(110)에 의해 수신되는 경우 데이터 프로세싱 시스템(110)이 리스트를 상호-참조할 수 있도록 한다. 데이터 프로세싱 시스템(110)이 요청하는 어플리케이션의 어플리케이션 식별자를 컨텐츠 제한리스트(150) 상의 어플리케이션 식별자와 매칭시키는 경우, 데이터 프로세싱 시스템(110)은 그 요청에 응답하여 네이티브 컨텐츠 아이템을 전송하는 것을 스스로 제한할 수 있다(예를 들어, 네이티브 컨텐츠 아이템 디스플레이 수행이 컨텐츠 퍼블리셔(120)에 의해 어플리케이션(205)에서 고정될 때까지). 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠의 부적절한 제시가 해결되었다는 것을 표시하는 알림을 어플리케이션(205)의 컨텐츠 퍼블리셔(120)로부터 수신한다(예를 들어, 그들의 어플리케이션(205)이 네이티브 컨텐츠를 부적절하게 디스플레이한다고 표시하는 컨텐츠 퍼블리셔(120)에 대해 송신된 대응 알림에 응답하여). 일부 구현예에서, 네이티브 컨텐츠 아이템의 인터렉션 이벤트의 확인을 송신하는 어플리케이션(205)에 더하여, 신호(312)에서의 인터렉션 이벤트를 검출하는 것에 응답하여, 클라이언트 디바이스(125)에서 실행되는 요청 생성 모듈(235)은 클라이언트 디바이스(125)가 간입형 컨텐츠 아이템에 의해 링크 된 정보 리소스에 액세스하기 위한 요청을 전송하게 할 수 있다. 요청은 어플리케이션(205)에 디스플레이된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 제공한 컨텐츠 제공자(115)의 서버로 송신될 수 있다.
도 4는 일부 구현예들에 따라 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법을 도시하는 블록도(400)이다.
일부 구현예에서, 방법(400)은 컨텐츠 아이템에 대한 컨텐츠 요청을 전송하는 클라이언트 디바이스(125)(블록 405) 및 컨텐츠 아이템에 대한 컨텐츠 요청을 수신하는 데이터 프로세싱 시스템(110)을 포함한다(블록 410). 방법(400)은 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 전송하는 데이터 프로세싱 시스템(110)(블록 415) 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 수신하는 클라이언트 디바이스(125)를 더 포함한다(블록 420). 방법(400)은 제1 컨텐츠 아이템을 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 425). 방법(400)은 제시된 제1 컨텐츠 아이템과의 제1 인터렉션 이벤트를 검출하는 클라이언트 디바이스(125)를 더 포함한다(블록 430). 방법(400)은 제2 컨텐츠 아이템을 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 435). 방법(400)은 제시된 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하는 클라이언트 디바이스(125)를 더 포함한다(블록 440). 방법(400)은 제1 인터렉션 이벤트의 확인을 전송하는 클라이언트 디바이스(125)를 더 포함한다(블록 445). 방법(400)은 제1 인터렉션 이벤트의 확인을 수신하는 데이터 프로세싱 시스템(110)를 더 포함한다(블록 450). 방법(400)은 제2 컨텐츠 아이템의 정보 리소스에 대한 요청을 전송하는 클라이언트 디바이스(125)를 더 포함한다(블록 455). 방법(400)은 제2 컨텐츠 아이템의 정보 리소스를 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 460).
특히, 일부 구현예에서, 방법(400)은 컨텐츠 아이템에 대한 컨텐츠 요청을 전송하는 클라이언트 디바이스(125)(블록 405) 및 컨텐츠 아이템에 대한 컨텐츠 요청을 수신하는 데이터 프로세싱 시스템(110)을 포함한다(블록 410). 클라이언트 디바이스(125)는 컨텐츠 요청을 데이터 프로세싱 시스템(110)에 전송할 수 있다. 일부 구현예에서, 컨텐츠 요청은 네이티브 컨텐츠 아이템에 대한 요청이다. 일부 구현예에서, 네이티브 컨텐츠 아이템은 어플리케이션의 환경 내에서 컨텐츠 퍼블리셔(120)에 의해 생성된 컨텐츠와 동일한 룩앤필을 갖는 것처럼 보일 수 있다. 예를 들어, 네이티브 컨텐츠 아이템은 네이티브 컨텐츠 아이템이 디스플레이 될 어플리케이션의 주변 환경과 매칭되거나 실질적으로 매칭되는 시각적 특성들을 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템을 구성하는 복수의 컨텐츠 컴포넌트들의 형태로 네이티브 컨텐츠 아이템을 클라이언트 디바이스(125)에 송신하고, 컨텐츠 컴포넌트들은 어플리케이션에 의해 클라이언트 디바이스(125)에서 렌더링된다. 예를 들어, 컨텐츠 컴포넌트들은 광고 제목, 이미지, 본문, 액션에 대한 콜, 로고, 속성, 클릭 연결 URL 등을 포함할 수 있지만, 이에 한정되지는 않는다.
스크립트 컨텐츠 요청들로서 분류된 컨텐츠 요청들에 응답하여 인터렉션 확인 스크립트(215)를 송신하는 것에 더하여, 컨텐츠 선택 모듈(135)은 네이티브 컨텐츠 아이템(예를 들어. 원래 요구된 것으로서) 및 간입형 컨텐츠 아이템을 선택하여 제공할 수 있어, 데이터 프로세싱 시스템(110)은 신호(304)에서 인터렉션 확인 스크립트(215), 요청된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 포함하는 컨텐츠 패키지를 제공하도록 한다. 간입형 컨텐츠 아이템은 어플리케이션(205)의 디스플레이 영역의 상당 부분을 차지하기 위해 제시되고 디스플레이되는 컨텐츠 아이템을 포함할 수 있다. 예를 들어, 간입형 컨텐츠 아이템은 어플리케이션(205)의 디스플레이를 오버레이할 수 있다. 일부 구현예에서, 간입형 컨텐츠 아이템의 내용은 컨텐츠 패키지에 포함된 네이티브 컨텐츠 아이템의 내용과 실질적으로 동일하다. 일부 구현예에서, 간입형 컨텐츠 아이템은 네이티브 컨텐츠 아이템과 함께 송신되는 인라인 HTML 코드를 포함한다.
방법(400)은 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 전송하는 데이터 프로세싱 시스템(110)(블록 415) 및 인터렉션 확인 스크립트를 포함하는 컨텐츠 패키지를 수신하는 클라이언트 디바이스(125)를 더 포함한다(블록 420). 컨텐츠 요청들에 응답하여 인터렉션 확인 스크립트들을 송신하는 것에 더하여, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템(예를 들어. 원래 요구된 것으로서) 및 간입형 컨텐츠 아이템을 선택하여 제공할 수 있어, 데이터 프로세싱 시스템(110)은 인터렉션 확인 스크립트, 요청된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 포함하는 컨텐츠 패키지를 제공하도록 한다. 간입형 컨텐츠 아이템은 어플리케이션의 디스플레이 영역의 상당 부분을 차지하기 위해 제시되고 디스플레이되는 컨텐츠 아이템을 포함할 수 있다. 예를 들어, 간입형 컨텐츠 아이템은 어플리케이션의 디스플레이를 오버레이할 수 있다. 일부 구현예에서, 간입형 컨텐츠 아이템의 내용은 컨텐츠 패키지에 포함된 네이티브 컨텐츠 아이템의 내용과 실질적으로 동일하다. 일부 구현예에서, 간입형 컨텐츠 아이템은 네이티브 컨텐츠 아이템과 함께 송신되는 인라인 HTML 코드를 포함한다.
방법(400)은 제1 컨텐츠 아이템을 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 425). 일부 구현예에서, 네이티브 컨텐츠는 어플리케이션에 의해 렌더링될 수 있고, 어플리케이션의 환경 내의 디스플레이를 위해 제시될 수 있다. 이러한 구현에서, 하나 이상의 컨텐츠 컴포넌트들을 포함하는 네이티브 컨텐츠 아이템이 데이터 프로세싱 시스템(110)으로부터 클라이언트 디바이스(125)에 전송되고, 여기서 클라이언트 디바이스(125)의 어플리케이션은 어플리케이션의 미리 결정된 파라미터에 따라 컨텐츠 아이템의 컨텐츠 컴포넌트들을 어셈블링한다. 일단 어플리케이션이 컨텐츠 컴포넌트들을 사용하여 네이티브 컨텐츠를 렌더링하면, 어플리케이션은 렌더링된 컨텐츠가 어플리케이션 내에서 컨텐츠 퍼블리셔(120)에 의해 생성된 컨텐츠와 동일한 룩앤필을 갖는 것처럼 보이도록 어플리케이션의 환경 내에 디스플레이하기 위해 렌더링 된 네이티브 컨텐츠를 제시한다. 일부 구현예에서, 컨텐츠 퍼블리셔(120)는 어플리케이션이 어떻게 네이티브 컨텐츠 아이템을 어셈블링하고 제시할지에 대한 명령어들로서 활용하는 미리 결정된 파라미터들을 설정할 수 있다. 그러나, 이들 파라미터들은 어플리케이션마다 다르며, 개별 컨텐츠 퍼블리셔(120)가 설정하는 것에 의존하기 때문에, 일부 컨텐츠 퍼블리셔들(120)은 부정확하게 파라미터들을 구현하여, 네이티브 컨텐츠 아이템들이 클라이언트 디바이스(125)에서 부정확하게 제시되도록 하며, 이는 부정확하게 제시된 네이티브 컨텐츠 아이템들과의 부적절한 인터렉션들을 결과할 수 있다.
예를 들어, 컨텐츠 퍼블리셔(120)는 그들의 어플리케이션과 관련하여 디스플레이하기 위한 파라미터들을 설정할 수 있다. 파라미터들은 데이터 프로세싱 시스템(110)으로부터 수신된 네이티브 컨텐츠 컴포넌트들의 모습을 지시할 수 있다. 예시로서, 수신된 네이티브 컨텐츠 컴포넌트들은 제목, 이미지, 본문, 액션에 대한 콜, 로고, 속성, 클릭 연결 URL 등을 포함할 수 있지만, 이에 한정되지는 않는 네이티브 컨텐츠 아이템의 엘리먼트들을 포함할 수 있다. 설정된 파라미터들은 네이티브 컨텐츠 아이템 내의 위치, 색상, 글꼴, 글꼴 크기, 인터렉션 유형(예: 인터렉션을 위한 탭 또는 스와이프) 등과 같은 네이티브 컨텐츠 컴포넌트들의 모습을 지시할 수 있다. 이와 같이, 파라미터들은 어플리케이션 내에서 수신된 네이티브 컨텐츠 컴포넌트들을 렌더링하고 제시하기 위한 지시들을 제공한다. 일부 구현예에서, 컨텐츠 퍼블리셔(120)는 컨텐츠 퍼블리셔(120)의 어플리케이션 내에 네이티브 컨텐츠 파라미터들을 제공한다.
그러나, 컨텐츠 파라미터들이 각각의 컨텐츠 퍼블리셔들(120)에 의해 설정되고 구현되기 때문에, 네이티브 컨텐츠 컴포넌트들이 어플리케이션들 내에서 어떻게 디스플레이되는지에 대해 다양한 변화가 있을 수 있다. 또한, 컨텐츠 퍼블리셔들(120)은 그들의 파라미터들을 부적절하게 설정하여, 네이티브 컨텐츠 컴포넌트들이 어플리케이션 내에서 잘못 렌더링되고 디스플레이되도록 할 수 있으며, 이는 사용자에 의한 어플리케이션의 부적절하게 디스플레이된 네이티브 컨텐츠 아이템과의 부주의한 인터렉션들을 야기할 수 있다(예를 들어, 컨텐츠 아이템이 부적절하게 사용자가 클릭하기를 원하는 별도의 링크를 오버레이하는 경우). 이러한 네이티브 컨텐츠 디스플레이 파라미터들은 어플리케이션마다, 동일한 어플리케이션의 버전마다(예: 2.0 버전과 1.0 버전) 또는 동일한 어플리케이션의 다른 유형들마다(예: 한 운영 체제에 대해 구성된 어플리케이션과 다른 운영 체제에 대해 구성된 동일한 어플리케이션) 다른 운영 체제에 대해 구성된 동일한 어플리케이션과 비교할 때) 다양할 수 있으므로, 유사하게, 컨텐츠 퍼블리셔(120)에 의해 설정된 파라미터들은 상이한 어플리케이션들, 어플리케이션들의 상이한 버전들, 어플리케이션들의 상이한 유형들에 대해 다양할 수 있고, 그러므로 네이티브 컨텐츠 아이템들은 동일한 어플리케이션의 상이한 버전들 또는 유형들과 관련하여 부적절하게 디스플레이될 수 있다.
방법(400)은 제시된 제1 컨텐츠 아이템과의 제1 인터렉션 이벤트를 검출하는 클라이언트 디바이스(125)를 더 포함한다(블록 430). 일부 구현예에서, 클라이언트 디바이스(125)는 어플리케이션 내에서 제시된 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트를 검출한다. 예를 들어, 인터렉션 이벤트는 클릭, 스와이프, 탭, 커서로 가리키거나 제시된 네이티브 컨텐츠 아이템과의 임의의 기타 인터렉션을 포함할 수 있다.
방법(400)은 제2 컨텐츠 아이템을 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 435). 일부 구현예에서, 인터렉션 이벤트를 검출하는 것에 응답하여, 클라이언트 디바이스(125)는 컨텐츠 패키지에 수신된 간입형 컨텐츠 아이템을 렌더링한다. 일부 구현예에서, 클라이언트 디바이스(125)에서 실행되는 어플리케이션은 클라이언트 디바이스(125)가 제시된 네이티브 컨텐츠 아이템에 대응하는 간입형 컨텐츠 아이템(예를 들어, 네이티브 컨텐츠 아이템에 제시된 동일하거나 유사한 정보를 포함)이 수신되었는지 여부를 검출하게 할 수 있다. 예를 들어, 어플리케이션은 클라이언트 디바이스(125)가 컨텐츠 패키지가 요청된 네이티브 컨텐츠 아이템보다 많은 것을 포함하는지 검출하게 할 수 있다. 일부 구현예에서, 어플리케이션은 클라이언트 디바이스(125)로 하여금 간입형 컨텐츠 아이템이 표현하는 HTML 인라인 코드가 컨텐츠 패키지에 존재하는지 여부를 결정함으로써 컨텐츠 패키지가 간입형 컨텐츠 아이템을 포함함을 검출하게 할 수 있다. 일부 구현예에서, 컨텐츠 패키지는 상기 컨텐츠 패키지가 네이티브 컨텐츠 아이템에 더하여 간입형 컨텐츠 아이템을 포함함을 표시하기 위해 플래그 또는 임의의 기타 표시자를 포함하고, 어플리케이션는 클라이언트 디바이스(125)가 컨텐츠 패키지에 플래그의 존재를 검출하게 할 수 있다.
일부 구현예들에서, 수신된 컨텐츠 패키지에서 간입형 컨텐츠 아이템의 존재를 검출하는 것에 응답하여, 그리고 인터렉션 이벤트를 검출하는 것에 응답하여, 클라이언트 디바이스(125)에서 실행되는 어플리케이션은 클라이언트 디바이스(125)가 컨텐츠 패키지에서 수신된 간입형 컨텐츠 아이템을 렌더링하게 한다. 일부 구현예에서, 어플리케이션은 클라이언트 디바이스(125)로 하여금 간입형 컨텐츠 아이템을 렌더링하는 명령어들에 대해 컨텐츠 패키지에서 수신된 인라인 HTML 코드를 파싱하게 한 다음 명령어들에 기초하여 간입형 컨텐츠 아이템을 렌더링하게 한다. 간입형 컨텐츠 아이템이 렌더링되면, 어플리케이션은 클라이언트 디바이스(125)가 어플리케이션 내에 간입형 컨텐츠 아이템을 제시하게 할 수 있다.
방법(400)은 제시된 제2 컨텐츠 아이템과의 제2 인터렉션 이벤트를 검출하는 클라이언트 디바이스(125)를 더 포함한다(블록 440). 일부 구현예에서, 클라이언트 디바이스(125)에서 실행되는 어플리케이션은 클라이언트 디바이스(125)가 어플리케이션 내의 제시된 간입형 컨텐츠 아이템에 대한 인터렉션 이벤트를 검출하게 할 수 있다. 예를 들어, 인터렉션 이벤트는 클릭, 스와이프, 탭, 커서로 가리키거나 제시된 간입형 컨텐츠 아이템과의 임의의 기타 인터렉션을 포함할 수 있다.
방법(400)은 제1 인터렉션 이벤트의 확인을 전송하는 클라이언트 디바이스(125)를 더 포함한다(블록 445). 방법(400)은 제1 인터렉션 이벤트의 확인을 수신하는 데이터 프로세싱 시스템(110)를 더 포함한다(블록 450). 간입형 컨텐츠 아이템에 관한 인터렉션 이벤트를 검출하는 것에 응답하여, 어플리케이션은 클라이언트 디바이스(125)로 하여금 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트의 확인을 데이터 프로세싱 시스템(110)에 송신하게 할 수 있다.
방법(400)은 제2 컨텐츠 아이템의 정보 리소스에 대한 요청을 전송하는 클라이언트 디바이스(125)를 더 포함한다(블록 455). 방법(400)은 제2 컨텐츠 아이템의 정보 리소스를 제시하는 클라이언트 디바이스(125)를 더 포함한다(블록 460). 요청은 어플리케이션(205)에 디스플레이된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 제공한 컨텐츠 제공자(115)의 서버로 송신될 수 있다.
도 5는 일부 구현예에 따라 도 4와 관련하여 기술된 클라이언트 디바이스들에서 실행되는 어플리케이션들과 통신하는 데이터 프로세싱 시스템에 의한 컨텐츠 아이템들의 부적절한 제시를 검출하기 위한 방법(500)을 도시하는 흐름도이다. 일부 구현예에서, 방법(500)은 복수의 클라이언트 디바이스들로부터 복수의 컨텐츠 요청들을 수신하는 데이터 프로세싱 시스템(110)을 포함한다(블록 505). 방법(500)은 컨텐츠 패키지를 복수의 클라이언트 디바이스들의 제1 서브셋으로 전송하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 510). 방법(500)은 제1 컨텐츠 아이템을 복수의 클라이언트 디바이스들의 제2 서브셋으로 전송하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 515). 방법(500)은 전송된 컨텐츠 패키지에 관한 제1 성능 메트릭을 결정하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 520). 방법(500)은 제1 컨텐츠 아이템에 관한 제2 성능 메트릭을 결정하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 525). 방법(500)은 제1 성능 메트릭과 제2 성능 메트릭을 비교하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 530). 방법(500)은 비교에 기초하여 어플리케이션 식별자를 컨텐츠 제한 리스트에 추가하는 것을 더 포함한다(블록 535).
특히, 일부 구현예에서, 방법(500)은 복수의 클라이언트 디바이스들로부터 복수의 컨텐츠 요청들을 수신하는 데이터 프로세싱 시스템(110)을 포함한다(블록 505). 일부 구현예에서, 클라이언트 디바이스들로부터 컨텐츠 요청들을 수신함에 응답하여, 데이터 프로세싱 시스템(110)은 상기 수신된 요청을 선택된 네이티브 컨텐츠 아이템 및 유사한 간입형 컨텐츠 아이템과 함께 인터렉션 확인 스크립트의 패키징과 전송을 트리거링하는 것으로서 분류할 수 있다. 일부 구현예들에서, 컨텐츠 요청은 어플리케이션을 식별하기 위한 어플리케이션 식별자를 포함한다. 따라서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠가 적절히 디스플레이되는지 여부에 대한 결정이 이루어질 후보 어플리케이션들인 어플리케이션의 리스트를 유지할 수 있다. 일부 구현예에서, 어플리케이션 식별자들은 어플리케이션 및 식별된 어플리케이션의 특정한 버전을 식별한다. 일부 구현예에서, 어플리케이션 식별자는 (예를 들어, 어플리케이션이 설치된 클라이언트 디바이스의 유형에 기초하여) 어플리케이션의 유형을 식별한다. 예를 들어, 어플리케이션 식별자는 클라이언트 디바이스가 동작하고 어플리케이션이 호환 가능한 특정한 운영 체제를 식별할 수 있다.
이와 같이, 일부 구현예에서, 데이터 프로세싱 시스템(110)은 데이터베이스에서 조회를 수행하여 컨텐츠 요청에서 수신된 어플리케이션 식별자(예를 들어, 요청이 어플리케이션으로부터 송신됨을 식별하는 어플리케이션 식별자)가 후보 어플리케이션들을 식별하기 위한 저장된 어플리케이션 식별자들 중 하나와 매칭되는지 결정하여 네이티브 컨텐츠가 적절하게 디스플레이되는지 여부를 결정하는 것을 트리거링한다.
방법(500)은 컨텐츠 패키지를 복수의 클라이언트 디바이스들의 제1 서브셋으로 전송하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 510). 방법(500)은 제1 컨텐츠 아이템을 복수의 클라이언트 디바이스들의 제2 서브셋으로 전송하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 515). 일부 구현예에서, 데이터 프로세싱 시스템(110)이 네이티브 컨텐츠 제시 성능에 대해 평가되어야 하는 것으로서 어플리케이션을 식별하면, 데이터 프로세싱 시스템(110)은 컨텐츠 요청을 보낸 클라이언트 디바이스가 선택한 네이티브 컨텐츠 아이템을 가지는 인터렉션 확인 스크립트를 수신할 것이다. 예를 들어, 또한 데이터베이스에 저장되는 것은 후보 어플리케이션 식별자들에 의해 식별된 어플리케이션들에 관한 네이티브 컨텐츠 제시 성능 평가를 트리거하기 위해 저장되는 후보 어플리케이션 식별자들 각각에 할당되거나 그렇지 않으면 그와 연관된 미리 결정된 퍼센티지일 수 있다. 미리 결정된 퍼센티지는 스크립트 요청으로 분류된 컨텐츠 요청에 응답하여 인터렉션 확인 스크립트를 송신하기 위한 스크립트 요청들로서 분류될 컨텐츠 요청들의 퍼센티지를 식별할 수 있다.
예를 들어, 어플리케이션의 어플리케이션 식별자가 35%의 미리 결정된 퍼센티지에 할당되면, 데이터 프로세싱 시스템(110)은 어플리케이션으로부터 수신된 컨텐츠 요청의 35%를(예를 들어, 복수의 클라이언트 디바이스들에 걸쳐서) 스크립트 요청들로서 분류하여, 인터렉션 확인 스크립트가 스크립트 요청들로 분류된 컨텐츠 요청을 보낸 클라이언트 디바이스에 송신되도록 한다. 일부 구현예에서, 어플리케이션은 단일 클라이언트 디바이스에 설치된 하나의 어플리케이션 인스턴스에 대응한다. 일부 구현예에서, 어플리케이션은 복수의 클라이언트 디바이스에 걸쳐 설치된 특정한 어플리케이션의 특정한 버전에 대응한다. 일부 구현예에서, 어플리케이션은 복수의 클라이언트 디바이스들에 걸쳐 어플리케이션의 임의의 버전에 대응한다. 따라서, 컨텐츠 요청들의 나머지 65%는 비-스크립트 요청들로서 분류되어, 데이터 프로세싱 시스템(110)이 비-스크립트 컨텐츠 요청들로 분류한 컨텐츠 요청들을 보낸 클라이언트 디바이스들이 인터렉션 확인 스크립트(215)를 수신하지 않고, 요청한 네이티브 컨텐츠 아이템을 수신하도록 한다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 컨텐츠 요청들을 스크립트 컨텐츠 요청 또는 비-스크립트 컨텐츠 요청인 것으로 랜덤하게 분류한다(예를 들어, 할당된 미리 결정된 퍼센티지에 의해 지시된 비율로). 일부 구현예에서, 데이터 프로세싱 시스템(110)은 미리 결정된 패턴에 기초하여 컨텐츠 요청들을 스크립트 컨텐츠 요청인 것으로 분류한다(예를 들어, 모든 제4 컨텐츠 요청은 미리 결정된 비율이 25%인 경우 스크립트 컨텐츠 요청으로 분류된다).
스크립트 컨텐츠 요청들로서 분류된 컨텐츠 요청들에 응답하여 인터렉션 확인 스크립트들을 송신하는 것에 더하여, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템(예를 들어. 원래 요구된 것으로서) 및 간입형 컨텐츠 아이템을 선택하여 제공할 수 있어, 데이터 프로세싱 시스템(110)은 인터렉션 확인 스크립트(215), 요청된 네이티브 컨텐츠 아이템 및 간입형 컨텐츠 아이템을 포함하는 컨텐츠 패키지를 제공하도록 한다. 간입형 컨텐츠 아이템은 어플리케이션의 디스플레이 영역의 상당 부분을 차지하기 위해 제시되고 디스플레이되는 컨텐츠 아이템을 포함할 수 있다. 예를 들어, 간입형 컨텐츠 아이템은 어플리케이션의 디스플레이를 오버레이할 수 있다. 일부 구현예에서, 간입형 컨텐츠 아이템의 내용은 컨텐츠 패키지에 포함된 네이티브 컨텐츠 아이템의 내용과 실질적으로 동일하다. 일부 구현예에서, 간입형 컨텐츠 아이템은 네이티브 컨텐츠 아이템과 함께 송신되는 인라인 HTML 코드를 포함한다.
방법(500)은 전송된 컨텐츠 패키지에 관한 제1 성능 메트릭을 결정하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 520). 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트의 확인을 수신하고, 복수의 클라이언트 디바이스들에 걸쳐 네이티브 컨텐츠 인터렉션 이벤트의 수신된 확인들에 기초하여 성능 평가들을 구현할 수 있다. 예를 들어, 상기 기술된 바와 같이, 데이터 프로세싱 시스템(110)은 어플리케이션을 통해 네이티브 컨텐츠 아이템들을 요청하는 클라이언트 디바이스들의 미리 결정된 퍼센티지를 선택하여, 네이티브 컨텐츠 아이템, 간입형 컨텐츠 아이템 및 인터렉션 확인 스크립트(예를 들어, 어플리케이션로부터 네이티브 컨텐츠 아이템 요청을 하는 전체 클라이언트 디바이스의 컨텐츠 패키지 서브셋)를 포함하는 컨텐츠 패키지를 수신하는 클라이언트 디바이스들이게 하고, 클라이언트 디바이스의 나머지 퍼센티지는 간입형 컨텐츠 아이템 및 인터렉션 확인 스크립트 없이 네이티브 컨텐츠 아이템을 수신하게 한다(예를 들어, 어플리케이션로부터 네이티브 컨텐츠 아이템 요청을 하는 전체 클라이언트 디바이스의 비-컨텐츠 패키지 서브셋). 따라서, 일부 구현예에서, 데이터 프로세싱 시스템(110)은 컨텐츠 퍼블리셔가 네이티브 컨텐츠 아이템들을 정확하게 렌더링하고 디스플레이하는지 여부를 결정함에 있어 컨텐츠 패키지 서브셋 및 비-컨텐츠 패키지 서브셋의 성능 메트릭들을 비교하고 분석한다(예를 들어, 신호(308)에서 네이티브 컨텐츠 아이템에 관한 제1 인터렉션 이벤트가 의도적이었는지 또는 네이티브 컨텐츠 아이템의 부적절한 제시로 인해 우발적이었는지).
일부 구현예에서, 데이터 프로세싱 시스템(110)은 어플리케이션으로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들의 컨텐츠 패키지 서브셋에 관한 성능 메트릭을 결정한다. 예를 들어, 성능 메트릭은 컨텐츠 패키지를 송신했던 클라이언트 디바이스들의 수와 비교된 데이터 프로세싱 시스템(110)에 의해 수신된 다수의 확인들을 나타내는 퍼센티지 또는 비율을 포함할 수 있다. 따라서, 컨텐츠 패키지 서브셋의 성능 메트릭은 어플리케이션로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들의 컨텐츠 패키지 서브셋에 송신한 개별 컨텐츠 패키지들의 수와 관련한 네이티브 컨텐츠 아이템과 의도적으로 인터렉션한 사용자들의 퍼센티지를 표현할 수 있다.
방법(500)은 제1 컨텐츠 아이템에 관한 제2 성능 메트릭을 결정하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 525). 유사하게, 일부 구현예에서, 데이터 프로세싱 시스템(110)은 어플리케이션으로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들의 비-컨텐츠 패키지 서브셋에 관한 성능 메트릭을 결정한다. 예를 들어, 성능 메트릭은 요청된 컨텐츠 패키지를 송신되었던 클라이언트 디바이스들의 수와 비교된 데이터 프로세싱 시스템(110)에 의해 수신된 네이티브 컨텐츠 아이템에 관한 인터렉션 이벤트들의 표시들의 수를 나타내는 퍼센티지 또는 비율을 포함할 수 있다. 따라서, 비-컨텐츠 패키지 서브셋의 성능 메트릭은 어플리케이션로부터 네이티브 컨텐츠 아이템 요청을 한 전체 클라이언트 디바이스들의 비-컨텐츠 패키지 서브셋에 송신한 개별 컨텐츠 패키지들의 수와 관련한 네이티브 컨텐츠 아이템과 인터렉션한 사용자들의 퍼센티지를 표현할 수 있다(예: 의도적 우발적 둘 모두).
방법(500)은 제1 성능 메트릭과 제2 성능 메트릭을 비교하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 530). 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠 아이템이 어플리케이션에 부적절하게 디스플레이되는지 여부를 결정함에 있어서, 컨텐츠 패키지 서브셋의 성능 메트릭을 비-컨텐츠 패키지 서브셋의 성능 메트릭과 비교한다. 예를 들어, 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋의 성능 메트릭과 비-컨텐츠 패키지 서브셋의 성능 메트릭 사이의 차이를 미리 결정된 임계치와 비교할 수 있다. 일부 구현예에서, 2개의 성능 메트릭 사이의 차이가 미리 결정된 임계치를 초과하면, 데이터 프로세싱 시스템(110)은 어플리케이션이 네이티브 컨텐츠 아이템들을 부적절하게 디스플레이하는 것으로 식별한다. 예시로서, 데이터 프로세싱 시스템(110)은 비-컨텐츠 패키지 서브셋의 성능 메트릭이 컨텐츠 패키지 서브셋의 성능 메트릭보다 적어도 미리 결정된 임계치만큼 큰 경우, 어플리케이션(예를 들어, 어플리케이션의 특정한 버전, 다수의 버전들에 걸친 어플리케이션, 어플리케이션의 이러한 특정한 인스턴스 등)을 부적절하게 네이티브 컨텐츠를 디스플레이하는 것으로서 식별할 수 있다. 일부 구현예에서, 미리 결정된 임계치는 데이터 프로세싱 시스템(110)에서 입력되고 데이터베이스에 저장되며, 성능 메트릭들 간의 어떤 차이(예를 들어, 퍼센티지로 표현)가 어플리케이션이 부적절하게 네이티브 컨텐츠 아이템들을 디스플레이한다고 결정하는지 결정하기 위한 임의의 적절한 값일 수 있다(예를 들어, 미리 결정된 임계치의 값은 5 %, 10 %, 15 % 등일 수 있음).
일부 구현예에서, 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋의 성능 메트릭에 기초하지만, 비-컨텐츠 패키지 서브셋의 성능 메트릭에는 기초하지 않고, 어플리케이션(205)이 네이티브 컨텐츠 아이템들을 부적절하게 디스플레이한다고 결정한다. 데이터 프로세싱 시스템(110)은 컨텐츠 패키지 서브셋 그 자체의 성능 메트릭을 미리 결정된 임계치와 비교하고, 상기 비교에 기초하여 결정을 내릴 수 있다. 예를 들어, 성능 메트릭은 컨텐츠 패키지가 송신되었된 클라이언트 디바이스(125)의 수와 비교하여 데이터 프로세싱 시스템(110)에 의해 수신된 확인들의 수를 나타내는 퍼센티지 또는 비율을 포함하며, 데이터 프로세싱 시스템(110)은 퍼센티지 성능 메트릭을 임계 퍼센티지와 비교하여, 성능 메트릭이 임계 퍼센티지보다 낮으면, 데이터 프로세싱 시스템(110)은 어플리케이션이 네이티브 컨텐츠를 부적절하게 디스플레이하는 것으로 식별할 수 있다.
방법(500)은 비교에 기초하여 어플리케이션 식별자를 컨텐츠 제한 리스트에 추가하는 데이터 프로세싱 시스템(110)을 더 포함한다(블록 535). 일부 구현예에서, 네이티브 컨텐츠를 부적절하게 디스플레이하는 것으로 어플리케이션을 식별하는 것에 응답하여, 데이터 프로세싱 시스템(110)은 어플리케이션에 대해 하나 이상의 제한 절차들을 수행할 수 있다. 예를 들어, 데이터 프로세싱 시스템(110)은 어플리케이션을 컨텐츠 제한 리스트에 추가할 수 있다. 컨텐츠 제한 리스트는 데이터베이스에 저장될 수 있고, 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있어서, 어플리케이션의 어플리케이션 식별자를 포함하는 착신 후속 컨텐츠 요청들이 데이터 프로세싱 시스템(110)에 의해 수신되는 경우 데이터 프로세싱 시스템(110)이 리스트를 상호-참조할 수 있도록 한다. 데이터 프로세싱 시스템(110)이 요청하는 어플리케이션의 어플리케이션 식별자를 컨텐츠 제한리스트 상의 어플리케이션 식별자와 매칭시키는 경우, 데이터 프로세싱 시스템(110)은 그 요청에 응답하여 네이티브 컨텐츠 아이템을 전송하는 것을 스스로 제한할 수 있다(예를 들어, 네이티브 컨텐츠 아이템 디스플레이 수행이 컨텐츠 퍼블리셔(120)에 의해 어플리케이션에서 고정될 때까지). 일부 구현예에서, 데이터 프로세싱 시스템(110)은 네이티브 컨텐츠의 부적절한 제시가 해결되었다는 것을 표시하는 알림을 어플리케이션의 컨텐츠 퍼블리셔로부터 수신한다(예를 들어, 그들의 어플리케이션이 네이티브 컨텐츠를 부적절하게 디스플레이한다고 표시하는 컨텐츠 퍼블리셔에 대해 송신된 대응 알림에 응답하여).
도 6은 일부 구현예들에 따라 본 명세서에서 기술되고 도시된 시스템 및 방법(시스템(110) 및 컨텐츠 요청 모듈(130), 컨텐츠 선택 모듈(135) 및 스크립트 제공자 모듈(140)을 포함)의 엘리먼트들을 구현하는데 이용될 수 있는 컴퓨터 시스템(600)에 대한 일반적인 아키텍처를 도시하는 블록도이다. 컴퓨터 시스템(600)은 디스플레이를 위해 네트워크(105)를 통해 정보를 제공하는데 사용될 수 있다. 도 6의 컴퓨터 시스템(600)은 메모리(625)에 통신적으로 연결된 하나 이상의 프로세서들(620), 하나 이상의 통신 인터페이스(605), 및 하나 이상의 출력 디바이스들(610)(예를 들어, 하나 이상의 디스플레이 유닛들) 및 하나 이상의 입력 디바이스들(615)을 포함한다. 프로세서(620)는 데이터 프로세싱 시스템(110) 또는 컨텐츠 요청 모듈(130) 및 컨텐츠 선택 모듈(135)과 같은 시스템(110)의 다른 컴포넌트들에 포함될 수 있다.
도 6의 컴퓨터 시스템(600)에서, 메모리(625)는 임의의 컴퓨터 판독가능 저장 매체를 포함할 수있고, 각각의 시스템emf에 대해 본 명세서에서 기술된 다양한 기능들을 구현하기 위한 프로세서-실행가능 명령어들과 같은 컴퓨터 명령어들 뿐만 아니라 그와 연관된 임의의 데이터, 그에 의해 생성된 임의의 데이터 또는 통신 인터페이스(들) 또는 입력 디바이스(들)(있는 경우)을 통해 수신된 임의의 데이터를 저장할 수 있다. 다시 도 1의 시스템(110)을 참조하면, 데이터 프로세싱 시스템(110)은 하나 이상의 컨텐츠 유닛들의 인벤토리의 가용성, 하나 이상의 컨텐츠 유닛들의 예약 등과 관련된 정보를 저장하는 메모리(625)를 포함할 수 있다. 메모리(625)는 데이터베이스(145)를 포함할 수 있다. 도 6에 도시된 프로세서(들)(620)은 메모리(625)에 저장된 명령어들을 실행하는데 사용될 수 있고, 그렇게 함으로써, 명령어들의 실행에 따라 프로세싱되거나 생성된 다양한 정보를 메모리로부터 판독하거나 메모리에 기록할 수 있다.
도 6에 도시된 컴퓨터 시스템(600)의 프로세서(620)는 또한 명령어들의 실행에 따라 다양한 정보를 전송 또는 수신하도록 통신 인터페이스(들)(605)에 통신적으로 연결되거나 제어될 수 있다. 예를 들어, 통신 인터페이스(들)(605)는 유선 또는 무선 네트워크, 버스, 또는 기타 통신 수단에 연결될 수 있으며, 따라서 컴퓨터 시스템(600)이 다른 디바이스들(예를 들어, 다른 컴퓨터 시스템들)에 정보를 전송하거나 또는 그로부터 정보를 수신하게 할 수 있다. 도 1의 시스템에서 명시적으로 도시되지 않았지만, 하나 이상의 통신 인터페이스는 시스템(600)의 컴포넌트들 간의 정보 흐름을 용이하게 한다. 일부 구현예에서, 통신 인터페이스(들)는 컴퓨터 시스템(600)의 적어도 일부 양태들에 대한 액세스 포털로서 웹사이트를 제공하도록(예를 들어, 다양한 하드웨어 컴포넌트들 또는 소프트웨어 컴포넌트들을 통해) 구성될 수 있다. 통신 인터페이스(605)의 예는 사용자가 데이터 프로세싱 시스템(110)과 통신할 수 있는 사용자 인터페이스(예를 들어, 웹페이지)를 포함한다.
도 6에 도시된 컴퓨터 시스템(600)의 출력 디바이스들(610)은 예를 들어, 명령어들의 실행과 관련하여 다양한 정보가 보여 지거나 인식될 수 있도록 제공될 수 있다. 입력 디바이스(들)(615)은 예를 들어, 사용자가 수동 조절을 하거나, 선택을 하거나, 데이터를 입력하거나 또는 명령어들의 실행 중에 프로세서와 다양한 방식으로 인터렉션할 수 있도록 제공될 수 있다. 본 명세서에서 논의된 다양한 시스템들에 이용될 수 있는 일반적인 컴퓨터 시스템 아키텍처에 관한 추가 정보가 본 명세서에서 더 제공된다.
본 발명의 구현예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 구현예들은 하나 이상의 컴퓨터 프로그램들 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또느전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 엑세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨텅 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지를 포함할 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다.
본 명세서에 개시된 구성들은 보다 전통적인 텔레비전 프로그래밍 소스들(예를 들어 케이블, 위성, 공중파 또는 기타 신호을 통해 수신됨)과 인터넷 연결을 통합하도록 구성된 프로세싱 모듈을 포함할 수 있는, 스마트 텔레비전 모듈(또는 연결된 텔레비전 모듈, 하이브리드 텔레비전 모듈 등)에서 구현될 수 있다. 스마트 텔레비전 모듈은 텔레비전 세트에 물리적으로 통합될 수 있거나 셋톱 박스, 블루레이 또는 다른 디지털 미디어 플레이어, 게임 콘솔, 호텔 텔레비전 시스템 및 다른 컴패니언 디바이스와 같은 별도의 디바이스를 포함할 수 있다. 스마트 텔레비전 모듈은 시청자가 웹, 로컬 케이블 TV 채널, 위성 TV 채널에서 또는 로컬 하드 드라이브에 저장된 비디오, 영화, 사진 및 기타 컨텐츠를 검색하고 찾을 수 있도록 구성될 수 있다. 셋톱 박스(STB) 또는 셋톱 유닛(STU)은 튜너를 포함하고 텔레비전 세트 및 외부 신호 소스에 연결될 수 있는 정보 기기 디바이스를 포함할 수있으며, 그 신호는 컨텐츠로 변환되어 텔레비전 스크린 또는 기타 디스플레이 디바이스에 디스플레이될 수 있다. 스마트 텔레비전 모듈은 웹브라우저 및 복수의 스트리밍 미디어 서비스들, 연결된 케이블 또는 위성 미디어 소스, 다른 웹 "채널”들 등과 같은 복수의 상이한 어플리케이션들에 대한 아이콘들을 포함하는 홈스크린 또는 최상위 레벨 스크린을 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈은 또한 사용자에게 전자적 프로그래밍 가이드를 제공하도록 구성될 수 있다. 스마트 텔레비전 모듈에 대한 동반 어플리케이션은 모바일 컴퓨팅 디바이스에서 사용가능 프로그램에 관한 추가 정보를 사용자에게 제공하여 사용자가 스마트 텔레비전 모듈 등을 제어할 수 있게 동작가능할 수 있다. 대안적 구현예에서, 상기 구성들은 랩톱 컴퓨터 또는 다른 개인용 컴퓨터, 스마트폰, 다른 모바일폰, 핸드헬드 컴퓨터, 태블릿 PC 또는 다른 컴퓨팅 디바이스에서 구현될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 “데이터 프로세싱 장치”, “데이터 프로세싱 시스템”, “사용자 디바이스” 또는 “컴퓨팅 디바이스”는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다. 컨텐츠 요청 모듈(130) 및 컨텐츠 선택 모듈(135)은 하나 이상의 데이터 프로세싱 장치, 컴퓨팅 디바이스 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 구현예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 포함할 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를송수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 구현예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
시스템(600) 또는 시스템(110)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 예를 들어, 데이터 프로세싱 시스템(110)은 적어도 하나의 데이터 센터 또는 서버 팜에 위치된 복수의 서버들 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 구현예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 본 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 본 명세서에 기술된 시스템 및 방법의 특정한 구현예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 구현예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 구현예에서 조합하여 구현될 수 있다. 반대로, 단일 구현예의 맥락에서 기술된 다양한 구성들은 또한 다수의 구현예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다.
특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 구현예에서 다양한 시스템 컴포넌트들의 분리는 모든 구현예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다. 예를 들어, 컨텐츠 요청 모듈(130) 및 컨텐츠 선택 모듈(135)은 데이터 프로세싱 시스템(110)의 일부, 단일 모듈, 하나 이상의 프로세싱 모듈을 갖는 논리 디바이스, 하나 이상의 서버 또는 검색 엔진의 일부일 수 있다.
일부 예시적 구현 및 구현예들을 설명하였지만, 전술한 예는 예시적인 것이며 제한적인 것은 아니며 예시로서 제시되었다. 특히, 본 명세서에 제시된 많은 예들이 방법 동작들 또는 시스템 엘리먼트들의 특정 조합을 포함하지만, 그러한 동작들 및 엘리먼트들은 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수 있다. 하나의 구현예와 관련하여 논의된 동작, 엘리먼트 및 구성들은 다른 구현 또는 구현예에서 유사한 역할로부터 배제되지 않는다.
본 개시의 구현예에서, 컨텐츠 또는 컨텐츠 아이템은 임의의 적절한 컨텐츠일 수 있다. 일부 적용에서, 컨텐츠 또는 컨텐츠 아이템은 광고( "광고")일 수 있지만, 본 개시는 이에 한정되지는 않는다. 컨텐츠 또는 컨텐츠 아이템이 광고인 경우, 컨텐츠 서버(205)는 광고 서버일 수 있고 및/또는 서드파티 컨텐츠 제공자는 광고주일 수 있다.
일부 구현예에서, 서드파티 컨텐츠에 대한 요청은 서드파티 컨텐츠 아이템을 정보 리소스 상에 디스플레이하기 위한 최소 수입 금액(또는 최소 입찰가)을 포함할 수 있다. 일부 구현예에서, 컨텐츠 선택 모듈(135)은 경매 시스템, 예를 들어 광고 경매 시스템과 통신할 수있고, 클라이언트 디바이스로부터 수신된 서드파티 컨텐츠에 대한 요청에 포함된 경매 시스템 정보를 제공할 수 있다. 컨텐츠 선택 모듈(135)은 또한 서드파티 컨텐츠에 대한 요청에 포함된 정보를 제공하는 것에 응답하여 경매 시스템으로부터 하나 이상의 서드파티 컨텐츠 아이템들을 수신할 수 있다.
일부 구현예에서, 데이터 프로세싱 시스템(110)은 경매를 호스트하도록 구성된 경매 시스템, 예를 들어 광고 경매 시스템을 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 시스템(110)은 경매 시스템을 포함하지 않지만 네트워크(105)를 통해 경매 시스템과 통신하도록 구성된다.
일부 구현예에서, 랜딩 페이지는 컨텐츠 아이템에 광고되는 제품의 추가 제품 정보를 포함할 수 있다. 컨텐츠 아이템과 관련된 전환은 랜딩 페이지에서 발생할 수 있고, 예를 들어 사용자는 랜딩 페이지를 통해 컨텐츠 아이템에 의해 광고된 제품이나 서비스를 구매할 수 있다. 전환은 사용자가 컨텐츠 아이템을 클릭한 다음 랜딩 페이지를 통해 구매, 가입, 등록 등과 같은 액션을 수행하면 발생할 수 있다.
본 명세서에서 사용된 문구 및 용어는 설명의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. "포함(including)" "포함(comprising)" "포함(having)" "포함(containing)" "포함(involving)" "포함(characterized by)" "포함(characterized in that)” 및 본 명세서에서 이들의 변형들은 열거된 아이템들, 그 균등물 및 추가 아이템들뿐만 아니라 배타적으로 열거된 아이템들로 구성되는 대안적 구현예들을 포함하는 것을 의미한다. 일 구현예에서, 본 명세서에 기술된 시스템 및 방법은 설명된 엘리먼트들, 동작들 또는 컴포넌트들 중 하나, 하나 이상의 조합 또는 전부로 구성된다.
단수형으로 본 명세서에서 언급된 시스템 및 방법의 구현 또는 엘리먼트에 관한 참조는 이들 엘리먼트들 복수형을 포함하는 구현예들을 포함할 수 있고, 복수형으로 본 명세서에서 언급된 임의의 구현예 또는 엘리먼트에 대한 임의의 참조는 단수형 엘리먼트를 포함하는 구현예들을 포함할 수 있다. 단수 또는 복수 형태의 참조는 현재 개시된 시스템 또는 방법, 그들의 컴포넌트들, 동작 또는 엘리먼트를 단수 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 엘리먼트에 기초한 임의의 동작 또는 엘리먼트에 대한 참조는 해당 동작 또는 엘리먼트가 적어도 부분적으로 임의의 정보, 동작 또는 엘리먼트에 기초하는 구현예를 포함할 수 있다.
본 명세서에 개시된 임의의 구현예는 임의의 다른 구현예와 결합될 수 있으며, "구현", "일부 구현", "대안적 구현", "다양한 구현", "하나의 구현” 등은 반드시 상호 배타적이지 않고, 구현예과 관련하여 기술된 특정한 구성, 구조 또는 특성이 적어도 하나의 구현예에 포함될 수 있음을 나타내는 것이다. 본 명세서에 사용된 용어들은 반드시 모두 동일한 구현예를 지칭하는 것은 아니다. 임의의 구현예는 본 명세서에 개시된 양태들 및 구현예들과 일관된 방식으로 임의의 다른 구현예와 포괄적으로 또는 배타적으로 결합될 수 있다.
“또는"에 대한 참조는 "또는"을 사용하여 기술된 임의의 용어가 기술된 용어들 중 하나, 하나 이상 및 전부를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다.
도면, 상세한 설명 또는 청구범위의 기술적 구성에 참조 부호가 있는 경우, 상기 참조 부호는 도면, 상세한 설명 및 청구 범위의 명료성을 증가시키는 목적으로만으로 포함되었다. 따라서, 참조 부호들 또는 그것들의 부재는 임의의 청구항 엘리먼트들의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템 및 방법은 그 특성을 벗어나지 않고 다른 특정 형태로 구체화될 수 있다. 본 명세서에서 제공된 예시들은 정보 리소스의 컨텐츠의 디스플레이를 제어하는 것에 관한 것이지만, 본 명세서에 기술된 시스템 및 방법은 다른 환경에 적용되는 것을 포함할 수 있다. 전술한 구현예들은 기술된 시스템 및 방법을 제한하는 것이라기 보다는 예시적인 것이다. 따라서, 본 명세서에 기술된 시스템 및 방법의 범위는 상술한 설명보다는 첨부된 청구범위에 의해 표시되며, 청구범위의 의미 및 범위 내에서의 변경들도 그 안에 포함된다.

Claims (20)

  1. 방법으로서,
    하나 이상의 프로세서들 및 메모리를 갖는 클라이언트 디바이스에서 실행되는 어플리케이션에 의해, 제1 서버로부터 컨텐츠 패키지를 수신하는 단계, 상기 컨텐츠 패키지는 제1 액션가능한 오브젝트 및 스크립트를 포함하는 제1 컨텐츠 아이템을 포함하며, 상기 스크립트는 상기 어플리케이션 내에서 실행되는 명령어를 포함하며, 상기 명령어는 상기 어플리케이션으로 하여금:
    상기 제1 액션가능한 오브젝트를 포함하는 상기 제1 컨텐츠 아이템을 디스플레이하는 상기 어플리케이션과의 제1 인터렉션을 검출하게 하고;
    상기 제1 인터렉션을 검출함에 응답하여, 복수의 컨텐츠 컴포넌트들을 포함하는 제2 컨텐츠 아이템을 수신하게 하고, 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 제2 액션가능한 오브젝트를 포함하며, 그리고 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 비디오를 포함하며;
    상기 스크립트에서 정의된 컨텐츠 파라미터들을 사용하여, 상기 복수의 컴포넌트들을 사용하여 제시하기 위한 상기 제2 컨텐츠 아이템을 어셈블링하게 하고;
    상기 제2 컨텐츠 아이템을 어셈블링함에 응답하여, 상기 제2 컨텐츠 아이템이 상기 어플리케이션의 인터페이스의 일부에 오버레이되도록 상기 어플리케이션 내에 상기 제2 컨텐츠 아이템을 제시하게 하고;
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 제2 인터렉션을 검출하게 하고; 그리고
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트에 의해 식별된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송하게 하고; 및
    상기 클라이언트 디바이스에 의해, 상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 상기 제2 인터렉션에 응답하여 상기 요청에서 식별된 상기 정보 리소스를 제시하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다고 결정하게 하고; 그리고
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다는 결정에 응답하여 제3 컨텐츠 아이템을 제시하게 하는, 방법.
  3. 청구항 1에 있어서, 상기 어플리케이션은 웹브라우저이고, 초기 정보 리소스에 대한 초기 요청에 응답하여 상기 클라이언트 디바이스에서 디스플레이되는 웹페이지의 일부로서 상기 제1 컨텐츠 아이템을 렌더링하도록 구성되는, 방법.
  4. 청구항 1에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    스와이프 인터렉션을 상기 제1 인터렉션으로서 검출하게 하는, 방법.
  5. 청구항 1에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    상기 제2 컨텐츠 아이템을 제시하면, 상기 제2 컨텐츠 아이템의 제시의 확인을 상기 제1 서버에 전송하게 하는, 방법.
  6. 청구항 1에 있어서, 상기 제1 컨텐츠 아이템은 상기 어플리케이션의 다른 컨텐츠 아이템들의 디스플레이 파라미터와 매칭되도록 구성되는, 방법.
  7. 청구항 1에 있어서, 상기 제2 컨텐츠 아이템은 상기 컨텐츠 패키지에서 수신되며, 상기 클라이언트 디바이스에서 실행되는 상기 어플리케이션은 상기 제2 컨텐츠 아이템이 수신되었다는 것을 검출함에 응답하여 상기 컨텐츠 패키지에 포함된 상기 제2 컨텐츠 아이템을 어셈블링하도록 구성되는, 방법.
  8. 청구항 1에 있어서,
    상기 어플리케이션에 의해 수신된 상기 복수의 컨텐츠 파라미터들은 이미지, 액션에 대한 콜, 클릭 연결 URL 또는 비디오 중 적어도 하나를 포함하는, 방법.
  9. 시스템으로서,
    어플리케이션을 실행시키기 위한 기계 판독가능 명령어에 의해 구성된 하나 이상의 프로세서를 포함하는 클라이언트 디바이스를 포함하며, 상기 기계 판독가능명령어는:
    제1 서버로부터 컨텐츠 패키지를 수신하고, 상기 컨텐츠 패키지는 제1 액션가능한 오브젝트 및 스크립트를 포함하는 제1 컨텐츠 아이템을 포함하며, 상기 스크립트는 상기 어플리케이션 내에서 실행되는 명령어를 포함하며, 상기 명령어는 상기 어플리케이션으로 하여금:
    상기 제1 액션가능한 오브젝트를 포함하는 상기 제1 컨텐츠 아이템을 디스플레이하는 상기 어플리케이션과의 제1 인터렉션을 검출하게 하고;
    상기 제1 인터렉션을 검출함에 응답하여, 복수의 컨텐츠 컴포넌트들을 포함하는 제2 컨텐츠 아이템을 수신하게 하고, 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 제2 액션가능한 오브젝트를 포함하며, 그리고 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 비디오를 포함하며;
    상기 스크립트에서 정의된 컨텐츠 파라미터들을 사용하여, 상기 복수의 컴포넌트들을 사용하여 제시하기 위한 상기 제2 컨텐츠 아이템을 어셈블링하게 하고;
    상기 제2 컨텐츠 아이템을 어셈블링함에 응답하여, 상기 제2 컨텐츠 아이템이 상기 어플리케이션의 인터페이스의 일부에 오버레이되도록 상기 어플리케이션 내에 상기 제2 컨텐츠 아이템을 제시하게 하고;
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 제2 인터렉션을 검출하게 하고; 그리고
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트에 의해 식별된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송하게 하고; 및
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 상기 제2 인터렉션에 응답하여 상기 요청에서 식별된 상기 정보 리소스를 제시하도록 구성되는, 시스템.
  10. 청구항 9에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다고 결정하게 하고; 그리고
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다는 결정에 응답하여 제3 컨텐츠 아이템을 제시하게 하는, 시스템.
  11. 청구항 9에 있어서, 상기 어플리케이션은 웹브라우저이고, 초기 정보 리소스에 대한 초기 요청에 응답하여 상기 클라이언트 디바이스에서 디스플레이되는 웹페이지의 일부로서 상기 제1 컨텐츠 아이템을 렌더링하도록 구성되는, 시스템.
  12. 청구항 9에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    스와이프 인터렉션을 상기 제1 인터렉션으로서 검출하게 하는, 시스템.
  13. 청구항 9에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    상기 제2 컨텐츠 아이템을 제시하면, 상기 제2 컨텐츠 아이템의 제시의 확인을 상기 제1 서버에 전송하게 하는, 시스템.
  14. 청구항 9에 있어서, 상기 제1 컨텐츠 아이템은 상기 어플리케이션의 다른 컨텐츠 아이템들의 디스플레이 파라미터와 매칭되도록 구성되는, 시스템.
  15. 청구항 9에 있어서, 상기 제2 컨텐츠 아이템은 상기 컨텐츠 패키지에서 수신되며, 상기 클라이언트 디바이스에서 실행되는 상기 어플리케이션은 상기 제2 컨텐츠 아이템이 수신되었다는 것을 검출함에 응답하여 상기 컨텐츠 패키지에 포함된 상기 제2 컨텐츠 아이템을 어셈블링하도록 구성되는, 시스템.
  16. 청구항 9에 있어서,
    상기 어플리케이션에 의해 수신된 상기 복수의 컨텐츠 파라미터들은 이미지, 액션에 대한 콜, 클릭 연결 URL 또는 비디오 중 적어도 하나를 포함하는, 시스템.
  17. 명령어가 수록된 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 명령어는 동작들을 실행시키기 위해 클라이언트 디바이스의 하나 이상의 프로세서들에 의해 실행가능하며, 상기 동작들은:
    클라이언트 디바이스에서 실행되는 어플리케이션에 의해, 제1 서버로부터 컨텐츠 패키지를 수신하는 동작, 상기 컨텐츠 패키지는 제1 액션가능한 오브젝트 및 스크립트를 포함하는 제1 컨텐츠 아이템을 포함하며, 상기 스크립트는 상기 어플리케이션 내에서 실행되는 명령어를 포함하며, 상기 명령어는 상기 어플리케이션으로 하여금:
    상기 제1 액션가능한 오브젝트를 포함하는 상기 제1 컨텐츠 아이템을 디스플레이하는 상기 어플리케이션과의 제1 인터렉션을 검출하게 하고;
    상기 제1 인터렉션을 검출함에 응답하여, 복수의 컨텐츠 컴포넌트들을 포함하는 제2 컨텐츠 아이템을 수신하게 하고, 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 제2 액션가능한 오브젝트를 포함하며, 그리고 상기 복수의 컨텐츠 컴포넌트들 중 적어도 하나는 비디오를 포함하며;
    상기 스크립트에서 정의된 컨텐츠 파라미터들을 사용하여, 상기 복수의 컴포넌트들을 사용하여 제시하기 위한 상기 제2 컨텐츠 아이템을 어셈블링하게 하고;
    상기 제2 컨텐츠 아이템을 어셈블링함에 응답하여, 상기 제2 컨텐츠 아이템이 상기 어플리케이션의 인터페이스의 일부에 오버레이되도록 상기 어플리케이션 내에 상기 제2 컨텐츠 아이템을 제시하게 하고;
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 제2 인터렉션을 검출하게 하고; 그리고
    상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트에 의해 식별된 정보 리소스에 액세스하기 위한 요청을 제2 서버에 전송하게 하고; 및
    상기 클라이언트 디바이스에 의해, 상기 제2 컨텐츠 아이템의 상기 제2 액션가능한 오브젝트와의 상기 제2 인터렉션에 응답하여 상기 요청에서 식별된 상기 정보 리소스를 제시하는 동작을 포함하는, 컴퓨터 판독가능 저장 매체.
  18. 청구항 17에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다고 결정하게 하고; 그리고
    상기 컨텐츠 패키지가 인라인 HTML 코드를 포함한다는 결정에 응답하여 제3 컨텐츠 아이템을 제시하게 하는, 컴퓨터 판독가능 저장 매체.
  19. 청구항 17에 있어서, 상기 어플리케이션은 웹브라우저이고, 초기 정보 리소스에 대한 초기 요청에 응답하여 상기 클라이언트 디바이스에서 디스플레이되는 웹페이지의 일부로서 상기 제1 컨텐츠 아이템을 렌더링하도록 구성되는, 컴퓨터 판독가능 저장 매체.
  20. 청구항 17에 있어서, 상기 명령어는 상기 어플리케이션으로 하여금 추가로:
    스와이프 인터렉션을 상기 제1 인터렉션으로서 검출하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020197012710A 2017-03-03 2017-12-12 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법 KR102216628B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USPCT/US2017/020735 2017-03-03
PCT/US2017/020735 WO2018160199A1 (en) 2017-03-03 2017-03-03 Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices
PCT/US2017/065828 WO2018160249A1 (en) 2017-03-03 2017-12-12 Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices

Publications (2)

Publication Number Publication Date
KR20190061050A KR20190061050A (ko) 2019-06-04
KR102216628B1 true KR102216628B1 (ko) 2021-02-17

Family

ID=58361108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197012710A KR102216628B1 (ko) 2017-03-03 2017-12-12 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (4) US10687111B2 (ko)
EP (1) EP3513329A1 (ko)
JP (1) JP6806894B2 (ko)
KR (1) KR102216628B1 (ko)
CN (2) CN114579774A (ko)
DE (2) DE112017000054T5 (ko)
GB (2) GB2568323A (ko)
WO (2) WO2018160199A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2568323A (en) 2017-03-03 2019-05-15 Google Llc Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices
US11704300B2 (en) * 2017-06-23 2023-07-18 Charter Communications Operating, Llc Apparatus and methods for packetized data management and delivery in a digital content distribution network
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11307880B2 (en) * 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
KR20210104152A (ko) * 2018-12-31 2021-08-24 구글 엘엘씨 베이지안 추론을 이용하여 정합 그래프에서 검토 결정들 예측
KR102305845B1 (ko) 2020-12-21 2021-09-29 쿠팡 주식회사 코드의 검증을 위한 전자 장치 및 그 방법
US11630878B2 (en) * 2021-01-20 2023-04-18 Google Llc System and method for creating responsive display content
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US20220366170A1 (en) * 2021-04-21 2022-11-17 Meta Platforms, Inc. Auto-Capture of Interesting Moments by Assistant Systems
CN113468536A (zh) * 2021-05-27 2021-10-01 北京达佳互联信息技术有限公司 检测方法、装置、系统、电子设备及存储介质
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055314A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page rendering for dynamic web pages
US20120296745A1 (en) 2011-05-20 2012-11-22 Echostar Technologies Llc Using a media content receiver to provide promotional information to a mobile device
WO2013192379A1 (en) 2012-06-20 2013-12-27 Google Inc. Content category management systems and methods
KR101378549B1 (ko) 2013-03-11 2014-03-27 주식회사 예티소프트 패턴을 이용한 동적 웹 컨텐츠 보안 서버 및 방법
KR101680948B1 (ko) 2011-07-06 2016-11-29 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 최적의 디스플레이를 위한 컨텐츠의 트랜스코딩 검출 및 조정

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900905A (en) * 1996-06-05 1999-05-04 Microsoft Corporation System and method for linking video, services and applications in an interactive television system
WO1998006219A1 (en) * 1996-08-06 1998-02-12 Starsight Telecast, Incorporated Electronic program guide with interactive areas
US6557171B1 (en) * 1998-02-02 2003-04-29 Matsushita Electric Industrial Co., Ltd. Digital tv broadcast sending apparatus, digital tv broadcast receiving apparatus, and digital tv broadcast sending / receiving system which facilitate preselection of tv programs, and computer readable recording medium storing a program for achieving a function of the digital tv broadcast receiving apparatus
US6356903B1 (en) * 1998-12-30 2002-03-12 American Management Systems, Inc. Content management system
US6522342B1 (en) * 1999-01-27 2003-02-18 Hughes Electronics Corporation Graphical tuning bar for a multi-program data stream
US6891561B1 (en) * 1999-03-31 2005-05-10 Vulcan Patents Llc Providing visual context for a mobile active visual display of a panoramic region
US6460180B1 (en) * 1999-04-20 2002-10-01 Webtv Networks, Inc. Enabling and/or disabling selected types of broadcast triggers
US6999117B2 (en) * 2000-05-16 2006-02-14 Fuji Photo Film Co., Ltd. Image pickup device and method for automatically inputting predefined information and processing images thereof
US20020065912A1 (en) * 2000-11-30 2002-05-30 Catchpole Lawrence W. Web session collaboration
GB0105994D0 (en) * 2001-03-10 2001-05-02 Pace Micro Tech Plc Video display resizing
US20020156815A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
WO2003096669A2 (en) * 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
US8086750B2 (en) * 2002-06-17 2011-12-27 Darby & Mohaine, L.L.C. Method and system for delivering content over a network
WO2004002139A1 (ja) * 2002-06-19 2003-12-31 Matsushita Electric Industrial Co., Ltd. テレビジョン受信機およびこれを含んだシステム
KR101003646B1 (ko) * 2002-06-21 2010-12-23 소니 주식회사 송신장치 및 수신장치
US20050182928A1 (en) * 2004-02-12 2005-08-18 Chandar Kamalanathan System and method for secure HTML links
GB0413848D0 (en) * 2004-06-21 2004-07-21 British Broadcasting Corp Accessing broadcast media
US8321269B2 (en) * 2004-10-26 2012-11-27 Validclick, Inc Method for performing real-time click fraud detection, prevention and reporting for online advertising
JP2006155047A (ja) * 2004-11-26 2006-06-15 Nec Electronics Corp 検証システム及び検証方法
JP4258473B2 (ja) * 2005-01-31 2009-04-30 ブラザー工業株式会社 サーバ装置及びコンテンツ提供システム
GB0503253D0 (en) * 2005-02-17 2005-03-23 Univ Northumbria Newcastle User control of a hand-held device
JP4507994B2 (ja) * 2005-06-14 2010-07-21 船井電機株式会社 Avネットワークシステム、及び同システムに含まれるディスプレイ機器側サブシステム
US9118774B2 (en) * 2005-07-21 2015-08-25 Google Inc. Dispatch system to remote devices
US8209424B2 (en) * 2006-12-20 2012-06-26 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US8607144B2 (en) * 2007-01-08 2013-12-10 Apple Inc. Monitor configuration for media device
US20100324992A1 (en) * 2007-03-02 2010-12-23 Birch James R Dynamically reactive response and specific sequencing of targeted advertising and content delivery system
TW200910959A (en) * 2007-05-30 2009-03-01 Sony Corp Content download system, content download method, content supplying apparatus, content supplying method, content receiving apparatus, content receiving method, and program
US8065624B2 (en) * 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
CN101843041B (zh) * 2007-08-17 2013-01-02 谷歌公司 在线社交网络中的多社区内容共享
WO2009089489A1 (en) * 2008-01-09 2009-07-16 Harmonic Inc. Browsing and viewing video assets using tv set-top box
NZ566291A (en) * 2008-02-27 2008-12-24 Actionthis Ltd Methods and devices for post processing rendered web pages and handling requests of post processed web pages
US8561097B2 (en) * 2008-09-04 2013-10-15 Beezag Inc. Multimedia content viewing confirmation
JP4675410B2 (ja) * 2008-12-16 2011-04-20 シャープ株式会社 画像送信装置及びプレビュー表示方法
US20100269093A1 (en) * 2009-04-17 2010-10-21 iBiz Framework, Inc. Content Management System and Method for Generating Dynamic Applications
US8893119B2 (en) * 2009-04-29 2014-11-18 Adobe Systems Incorporated Software selection based on estimated available storage space
TW201104495A (en) * 2009-07-22 2011-02-01 Novatek Microelectronics Corp Remote control device for a multimedia device and related multimedia system
US20110063508A1 (en) * 2009-09-15 2011-03-17 Hayato Nishimura Information processing apparatus and its display method
US8646012B2 (en) * 2010-02-02 2014-02-04 Ericsson Television Inc System and method of mapping customer premise equipment in a VOD system of a cable service provider
JP5588992B2 (ja) * 2010-03-10 2014-09-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 押し込み位置制御装置、押し込み位置制御方法及びタッチセンサシステム
US20110231819A1 (en) * 2010-03-19 2011-09-22 Emdigo Inc. Content Availability Determination, Representation And Acquisition System
US8723986B1 (en) * 2010-11-04 2014-05-13 MCube Inc. Methods and apparatus for initiating image capture on a hand-held device
JP5730092B2 (ja) * 2011-03-28 2015-06-03 株式会社電通 詳細情報管理システム
US20130124299A1 (en) * 2011-09-06 2013-05-16 Epic Media Group, INC. Optimizing Communication of Content Through Networked Media
US9020476B2 (en) * 2011-09-12 2015-04-28 Leipzig Technology, Llc System and method for remote care and monitoring using a mobile device
JP6433111B2 (ja) * 2011-12-26 2018-12-05 ネイバー コーポレーションNAVER Corporation モバイルディスプレイ広告を提供する広告提供システム及び方法
CN102693280B (zh) * 2012-04-28 2014-08-13 广州市动景计算机科技有限公司 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端
US9083844B2 (en) * 2012-06-01 2015-07-14 Nintendo Co., Ltd. Computer-readable medium, information processing apparatus, information processing system and information processing method
US10037310B1 (en) * 2012-08-10 2018-07-31 Google Llc Evaluating content in a computer networked environment
US9591050B1 (en) * 2013-02-28 2017-03-07 Google Inc. Image recommendations for thumbnails for online media items based on user activity
US9203891B2 (en) * 2013-03-13 2015-12-01 Qualcomm Incorporated System and method to enable web property access to a native application
JP5722376B2 (ja) * 2013-03-29 2015-05-20 シャープ株式会社 ユーザ状況確認システム、ユーザ状況確認方法、通信端末装置、ユーザ状況通知方法、及びコンピュータプログラム
CN105144052B (zh) * 2013-04-26 2019-02-15 意美森公司 用于柔性显示器的被动刚度和主动变形触觉输出设备
US9880994B1 (en) * 2013-06-21 2018-01-30 Nativo, Inc. Detecting compatible layouts for content-based native ads
CN103533448B (zh) * 2013-10-31 2017-12-08 乐视致新电子科技(天津)有限公司 智能电视的光标控制方法和光标控制装置
US9883057B2 (en) * 2013-12-12 2018-01-30 Fuji Xerox Co., Ltd. Processing apparatus and program product for creating, in response to user instruction, process receiving portions to be displayed differently and to perform a different process
US9578270B2 (en) * 2014-01-23 2017-02-21 EchoStar Technologies, L.L.C. Methods and systems for ignoring unintentional key presses
US20160012023A1 (en) * 2014-07-10 2016-01-14 MyMojo Corporation Self-Referencing of Running Script Elements in Asynchronously Loaded DOM Modules
US10462505B2 (en) * 2014-07-14 2019-10-29 Sonos, Inc. Policies for media playback
JP6130336B2 (ja) * 2014-07-29 2017-05-17 ヤフー株式会社 端末装置、配信装置、表示方法及び表示プログラム
WO2016030950A1 (ja) * 2014-08-25 2016-03-03 日立マクセル株式会社 携帯情報端末
US9628861B2 (en) * 2014-08-27 2017-04-18 Echostar Uk Holdings Limited Source-linked electronic programming guide
JP2016081199A (ja) * 2014-10-15 2016-05-16 ブランドマーケティングジャパン株式会社 広告配信システム
US10104450B2 (en) * 2014-10-17 2018-10-16 Samsung Electronics Co., Ltd. Method and device for controlling implementation of application and recording medium thereof
US20160162779A1 (en) * 2014-12-05 2016-06-09 RealMatch, Inc. Device, system and method for generating a predictive model by machine learning
HK1201022A2 (en) * 2014-12-10 2015-08-14 Concept Infinity Ltd Method and system for personalized text and illustration creation
JP6097360B2 (ja) * 2015-08-20 2017-03-15 ヤフー株式会社 管理装置、管理方法及び管理プログラム
KR20170046958A (ko) * 2015-10-22 2017-05-04 삼성전자주식회사 전자 장치 및 그의 음성 인식을 이용한 기능 실행 방법
US9681165B1 (en) * 2016-04-11 2017-06-13 Rovi Guides, Inc. Methods and systems for enhancing media viewing experiences on multiple devices
US9986113B2 (en) * 2016-05-06 2018-05-29 Fuji Xerox Co., Ltd. Information processing apparatus and nontransitory computer readable medium
US10509487B2 (en) * 2016-05-11 2019-12-17 Google Llc Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment
JP6690439B2 (ja) * 2016-07-01 2020-04-28 ブラザー工業株式会社 画像処理装置
US10656984B2 (en) * 2016-08-08 2020-05-19 Quantum Metric, Inc. Techniques for monitoring user interactions and operation of a website to detect frustration events
US10915929B1 (en) * 2016-08-18 2021-02-09 Amazon Technologies, Inc. Detecting user interaction and delivering content using interaction metrics
WO2018039650A1 (en) * 2016-08-25 2018-03-01 Through The Lens Entertainment, Inc. System and method for managing interactive media
US10866851B2 (en) * 2016-09-28 2020-12-15 Netflix, Inc. Determining the failure resiliency of a service in a distributed computing system
US10984460B2 (en) * 2016-10-14 2021-04-20 Under Armour, Inc. Medium, method and apparatus for native page generation
US20180191798A1 (en) * 2016-12-30 2018-07-05 Google Inc. Methods and systems for server-side rendering of native content for presentation
US20210297739A1 (en) * 2017-01-03 2021-09-23 Bliss Point Media, Inc. Optimization of broadcast event effectiveness
US10728261B2 (en) * 2017-03-02 2020-07-28 ResponSight Pty Ltd System and method for cyber security threat detection
GB2568323A (en) 2017-03-03 2019-05-15 Google Llc Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices
US10469881B2 (en) * 2017-12-29 2019-11-05 Dish Network L.L.C. Methods and apparatus for responding to inoperative commands
US20190295123A1 (en) * 2018-03-26 2019-09-26 Free Stream Media Corporation d/b/a Samba TV Evaluating media content using synthetic control groups
TWI719353B (zh) 2018-10-29 2021-02-21 緯創資通股份有限公司 具判斷使用意圖的助行器及其操作方法
US20210117825A1 (en) * 2019-10-16 2021-04-22 Visably, LLC Method and system for processing a search result of a search engine system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055314A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page rendering for dynamic web pages
US20120296745A1 (en) 2011-05-20 2012-11-22 Echostar Technologies Llc Using a media content receiver to provide promotional information to a mobile device
KR101680948B1 (ko) 2011-07-06 2016-11-29 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 최적의 디스플레이를 위한 컨텐츠의 트랜스코딩 검출 및 조정
WO2013192379A1 (en) 2012-06-20 2013-12-27 Google Inc. Content category management systems and methods
KR101378549B1 (ko) 2013-03-11 2014-03-27 주식회사 예티소프트 패턴을 이용한 동적 웹 컨텐츠 보안 서버 및 방법

Also Published As

Publication number Publication date
CN108811514A (zh) 2018-11-13
GB201800964D0 (en) 2018-03-07
KR20190061050A (ko) 2019-06-04
US20190082221A1 (en) 2019-03-14
US10687111B2 (en) 2020-06-16
CN114579774A (zh) 2022-06-03
CN108811514B (zh) 2022-03-01
DE212017000015U1 (de) 2018-02-27
US20200314492A1 (en) 2020-10-01
JP2020501222A (ja) 2020-01-16
EP3513329A1 (en) 2019-07-24
DE112017000054T5 (de) 2019-01-31
US11785297B2 (en) 2023-10-10
US11350165B2 (en) 2022-05-31
US20230362442A1 (en) 2023-11-09
GB2568323A (en) 2019-05-15
GB201721011D0 (en) 2018-01-31
US20220286743A1 (en) 2022-09-08
JP6806894B2 (ja) 2021-01-06
WO2018160249A1 (en) 2018-09-07
WO2018160199A1 (en) 2018-09-07

Similar Documents

Publication Publication Date Title
KR102216628B1 (ko) 클라이언트 디바이스들에서 실행되는 어플리케이션들에 의한 컨텐츠 아이템들의 제시의 부적절한 구현을 검출하기 위한 시스템 및 방법
US10838609B2 (en) Systems and methods for dynamically appending supplemental content to an information resource responsive to scroll activity
US20210133823A1 (en) Systems and methods for automatically managing placement of content slots in an information resource
US11080767B2 (en) Systems and methods for creating an interstitial ad experience within a scrolling content frame
US20230368250A1 (en) Systems and methods for dynamically inserting content item slots in an information resource
US11886546B2 (en) Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources
US12002072B1 (en) Systems and methods for automatically managing placement of content slots in an information resource

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant