KR102268529B1 - 공동 전송 커밋 시뮬레이션 - Google Patents

공동 전송 커밋 시뮬레이션 Download PDF

Info

Publication number
KR102268529B1
KR102268529B1 KR1020197032190A KR20197032190A KR102268529B1 KR 102268529 B1 KR102268529 B1 KR 102268529B1 KR 1020197032190 A KR1020197032190 A KR 1020197032190A KR 20197032190 A KR20197032190 A KR 20197032190A KR 102268529 B1 KR102268529 B1 KR 102268529B1
Authority
KR
South Korea
Prior art keywords
transfer
commit
digital component
transmission
commits
Prior art date
Application number
KR1020197032190A
Other languages
English (en)
Other versions
KR20190137118A (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 KR20190137118A publication Critical patent/KR20190137118A/ko
Application granted granted Critical
Publication of KR102268529B1 publication Critical patent/KR102268529B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Abstract

디지털 리소스들을 할당하기 위한 다수의 상이한 공존 커밋을 충족시키기 위한 공동 시뮬레이션을 수행하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치가 개시된다. 일 양태에서, 방법은 디지털 리소스들의 사전 할당을 위해 로그 데이터에 액세스하는 단계를 포함하고, 상기 로그 데이터는 디지털 리소스들의 개별 할당과 관련된 적어도 하나의 속성을 포함한다. 로그 데이터에 포함된 디지털 리소스들의 상이한 할당은 다수의 상이한 커밋 중들 상이한 하나에 할당된다. 디지털 리소스들을 할당하기 위한 각 커밋에 대해, 다수의 상이한 커밋에 할당된 로그 데이터의 디지털 리소스들의 할당에 기초하여 상기 커밋이 최소한 지정된 최소 리소스를 할당하게 하는 예상된 필요 리소스 양이 결정된다.

Description

공동 전송 커밋 시뮬레이션
본 명세서는 디지털 리소스의 할당에 관한 것이다.
인터넷은 전세계 사용자들 간의 정보 교환을 용이하게 한다. 이러한 정보 교환은 하나 이상의 디지털 리소스가 다수의 분산된 사용자에 의해 액세스될 수 있게 하여 사용자가 디지털 리소스 및 컨텐츠를 공유할 수 있게 한다. 예를 들어, 클라우드 컴퓨팅 환경에서, 액세스는 다수의 사용자에게 데이터 저장 및 데이터 처리와 같은 구성 가능한 시스템 리소스 및 서비스의 공유 풀로 제공될 수 있다. 또한 여러 다른 제공자의 컨텐츠를 단일 전자 문서에 통합하여 복합 문서를 작성할 수 있다. 예를 들어, 전자 문서에 포함된 컨텐츠의 일부는 전자 문서의 출판사에 의해 선택(또는 지정)될 수 있다. 컨텐츠의 다른 부분(예를 들어, 제3자 컨텐츠)은 제3자(예를 들어, 전자 문서의 발행자가 아닌 엔티티)에 의해 제공될 수 있다.
일반적으로, 제1 양태에서, 본 명세서에 기술된 주제는 디지털 리소스들의 사전 할당(prior allocation)을 위해 로그 데이터에 액세스하는 단계와, 상기 로그 데이터는 디지털 리소스들의 개별 할당과 관련된 적어도 하나의 속성을 포함하고; 상기 로그 데이터에 포함된 디지털 리소스들의 상이한 할당을 다수의 상이한 커밋들 중 상이한 하나에 할당에 배정(assign)하는 단계로서: 로그 데이터내의 디지털 리소스들의 특정 할당에 대해, 디지털 리소스들을 할당하기 위한 주어진 커밋의 속성들이 상기 디지털 리소스들의 특정 할당의 속성들과 매칭하는 디지털 리소스들을 할당하기 위한 상기 주어진 커밋에 디지털 리소스들의 특정 할당을 배정하는 단계를 포함하고; 그리고 상기 다수의 상이한 커밋들의 디지털 리소스를 할당하기 위한 각 커밋에 대해, 다수의 상이한 커밋에 배정된 로그 데이터의 디지털 리소스들의 할당에 기초하여 디지털 리소스들을 할당하기 위한 커밋이 적어도 지정된 최소 리소스에 할당되게 하는 예상 필수 리소스를 결정하는 단계의 동작들을 포함하는 방법으로 구현될 수 있다.
이들 및 다른 실시예는 각각 다음 특징들 중 하나 이상을 임의로 포함할 수 있다.
일부 구현에서, 상기 디지털 리소스들의 특정 할당을 디지털 리소스들을 할당하기 위한 주어진 커밋에 배정하는 단계는, (i) 상기 커밋의 배포 기준이 디지털 리소스들의 특정 할당을 트리거한 기준과 매칭하고, (ii) 커밋을 완료하기 위한 시간 기간이 디지털 리소스들의 특정 할당의 할당 시간과 매칭하는 경우 디지털 리소스들을 할당하기 위한 다수의 커밋을 식별하는 단계; 및 상기 식별된 커밋들에 대한 확률 분포에 따라 상기 식별된 커밋들로부터 주어진 커밋을 선택하는 단계를 포함한다. 상기 확률 분포는 식별된 커밋들 각각을 완료하기 위한 시간 기간 동안 디지털 리소스들의 지정된 최소 할당 횟수에 의해 파라미터화될 수 있다.
일부 구현에서, 상기 디지털 리소스들의 특정 할당을 디지털 리소스들을 할당하기 위한 주어진 커밋에 배정하는 단계는, 상기 디지털 리소스들의 특정 할당을 트리거한 기준이 특정 배포 기준을 포함한다고 결정하는 단계와; 상기 주어진 커밋에 이전에 배정된 디지털 리소스들의 제1 횟수의 할당을 결정하는 단계와; 상기 디지털 리소스들의 할당을 트리거한 배포 기준이 상기 특정 배포 기준을 포함하기 때문에 상기 주어진 커밋에 이전에 배정된 디지털 리소스들의 제2 횟수의 할당을 결정하는 단계와; 상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 포함할 수 있다.
일부 구현에서, 상기 디지털 리소스의 할당을 트리거한 배포 기준은 디지털 리소스들이 할당된 디바이스들의 특성을 포함한다.
일부 구현에서, 상기 방법은 디지털 리소스들의 각 할당에 대해, 상기 커밋의 전송 기준이 디지털 리소스를 할당하기 위한 적어도 하나의 상이한 커밋의 전송 기준의 세트와 겹치는지를 결정하는 단계를 포함한다.
이 양태의 다른 실시예는 컴퓨터 저장 디바이스 상에 인코딩된 방법들의 동작들을 수행하도록 구성된 대응하는 시스템, 장치 및 컴퓨터 프로그램을 포함한다.
일반적으로, 제2 양태에서, 본 명세서에 기술된 주제는 디지털 컴포넌트들의 사전 전송을 위해 로그 데이터에 액세스하는 단계와, 상기 로그 데이터는 디지털 컴포넌트들의 전송에 대한 전송 스코어, 디지털 컴포넌트들의 전송을 트리거한 배포 기준 및 디지털 컴포넌트들의 전송의 전달 시간을 포함하고; 상기 로그 데이터에 포함된 상이한 디지털 컴포넌트 전송들을 다수의 상이한 전송 커밋들 중 상이한 하나에 할당(assign)하는 단계로서: 로그 데이터내의 특정 디지털 컴포넌트 전송에 대해, 주어진 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 분배 기준과 매칭하고 상기 주어진 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 특정 디지털 컴포넌트 전송을 상기 주어진 전송 커밋에 할당하는 단계를 포함하고; 그리고 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 각 디지털 컴포넌트 전송 커밋에 대해, 상기 다수의 상이한 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트 전송들에 기초하여 상기 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 디지털 컴포넌트 전송 커밋이 적어도 지정된 최소 횟수의 디지털 컴포넌트 전송에 할당되게 하는 예상 비용을 결정하는 단계의 동작들을 포함하는 방법으로 구현될 수 있다.
이들 및 다른 실시예는 각각 다음 특징들 중 하나 이상을 임의로 포함할 수 있다.
일부 구현에서, 상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는, (i) 상기 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고,(ii) 상기 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 다수의 전송 커밋을 식별하는 단계와; 그리고 상기 식별된 전송 커밋들에 대한 확률 분포에 따라 상기 식별된 전송 커밋들로부터 상기 주어진 전송 커밋을 선택하는 단계를 포함할 수 있고, 상기 확률 분포는 상기 식별된 각각의 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 지정된 최소 횟수의 디지털 컴포넌트 전송에 의해 파라미터화된다.
일부 구현에서, 상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는, 특정 디지털 컴포넌트의 전송을 트리거한 배포 기준이 특정 배포 기준을 포함한다고 결정하는 단계와; 상기 소정 전송 커밋에 이전에 할당된 제1 횟수의 디지털 컴포넌트 전송을 결정하는 단계와; 상기 디지털 컴포넌트들의 전송을 트리거한 배포 기준이 상기 특정 배포 기준을 포함하기 때문에 상기 주어진 전송 커밋에 이전에 할당된 제2 횟수의 디지털 컴포넌트 전송을 결정하는 단계와; 상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 포함할 수 있다.
일부 구현에서, 상기 디지털 컴포넌트들의 전송을 트리거한 배포 기준은, 디지털 컴포넌트들의 전송 후 그 디지털 컴포넌트들이 제시된 전자 문서들의 특성; 및 전자 문서가 디스플레이된 디바이스들의 특성 중 하나 또는 둘 모두를 포함한다.
일부 구현에서, 상기 방법은 각 디지털 컴포넌트 전송 커밋에 대해, 그 디지털 컴포넌트 전송 커밋의 전송 기준이 적어도 하나의 상이한 디지털 컴포넌트 전송 커밋의 전송 기준 세트와 겹치는지를 결정하는 단계를 포함할 수 있다.
일부 구현에서, 상기 방법은 상기 결정된 디지털 컴포넌트 전송 커밋의 예상 비용과 상기 디지털 컴포넌트 전송 커밋의 초기 예상 비용 사이의 차이를 계산하는 단계를 포함하여, 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 각 디지털 컴포넌트 전송 커밋에 대한 전송 비용을 결정하는 단계와; 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트에 포함되지 않는 상이한 디지털 컴포넌트 전송 커밋에 대해: 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자(risk factor)를 결정하는 단계와; (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 디지털 컴포넌트 전송 커밋들에 대한 상기 결정된 전송 비용들에 기초하여 상이한 디지털 컴포넌트 전송 커밋에 부과될 고정 금액(fixed amount)을 결정하는 단계를 포함할 수 있다.
일부 구현에서, 상기 방법은 상이한 디지털 컴포넌트 전송 커밋의 완료 후, (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 상이한 디지털 컴포넌트 전송 커밋의 실제 비용에 기초하여 상이한 디지털 컴포넌트 전송 커밋의 이득을 결정하는 단계를 포함할 수 있다.
일부 구현에서, 상기 방법은 다수의 상이한 전송 커밋들의 제1 서브 세트의 각각의 전송 커밋을 완료하기 위한 시간 기간을 상이한 전송 커밋을 완료하기 위한 시간 기간과 동일하도록 조정하는 단계를 포함할 수 있다.하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
일부 구현에서, 상기 상이한 전송 커밋에 대한 위험 인자는 상이한 디지털 컴포넌트 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트들의 송신에 대한 송신 스코어의 변동 척도에 적어도 부분적으로 기초한다.
일부 구현에서, 상기 상이한 전송 커밋에 대한 위험 인자는 상이한 전송 커밋을 완료하기 위한 시간 기간에 적어도 부분적으로 기초한다.
일부 구현에서, 상기 방법은 디지털 컴포넌트의 전송을 트리거한 배포 기준이 상이한 전송 커밋의 전송 기준과 매칭하고 상기 디지털 컴포넌트 전송의 전달 시간이 상이한 전송 커밋을 완료하기 위한 시간 주기와 매칭하는 상기 로그 데이터에 포함된 디지털 컴포넌트 전송들의 총 횟수를 결정하는 단계와; 상이한 전송 커밋을 완료하기 위한 시간 주기 동안 지정된 최소 횟수의 디지털 컴포넌트 전송이 총 횟수에 기초하여 임계값을 초과한다고 결정하는 단계; 및 상이한 전송 커밋이 유효하지 않도록 부과될 고정 금액을 결정하는 단계를 포함할 수 있다.
이 양태의 다른 실시예는 컴퓨터 저장 디바이스 상에 인코딩된 방법의 동작들을 수행하도록 구성된 대응하는 시스템, 장치 및 컴퓨터 프로그램을 포함한다.
본 명세서에 기술된 주제의 특정 실시예들은 다음 장점들 중 하나 이상을 실현하도록 구현될 수 있다. 본 문서에 기술된 주제는 하나 이상의 커밋(예를 들어, 분산 컴퓨팅 환경 또는 클라우드 컴퓨팅 환경을 통한 데이터 처리와 같은 컴퓨팅 리소스들을 제공하거나 지정된 시간 기간 내에 적어도 지정된 최소 횟수만큼 제3자에 대해 하나 이상의 디지털 컴포넌트를 전송하는 계약)을 공동으로 완료하는데 필요한 예상 리소스들을 허용하여 결정될 리소스들을 제공한다. 다수의 상이한 커밋들이 시간상 겹치면 이들 커밋의 공존은 해당 시간 기간 동안 필요한 리소스들에 영향을 줄 수 있으므로, 주어진 커밋을 충족시키는데 필요한(필수인) 리소스들을 결정할 때 각각 다른 커밋을 고려함으로써 각 커밋을 완료하는데 필요한 예상 리소스들의 보다 적확한 추정치가 결정된다.
디지털 리소스들의 사용 특성으로 인해 그리고 제안된 커밋을 충족시키는데 필요한 총 리소스는 기존 커밋들을 공동으로 서비스함으로써 영향을 받을 수 있으므로(즉, 제안된 커밋과 경쟁할 수 있음) 제안된 커밋을 완료하는데 필수인 리소스들을 정확하게 예측하는 것은 어려울 수 있다. 예를 들어, 리소스가 다수의 사용자에게 할당되는 컴퓨팅 환경에서, 다른 사용자에 의한 리소스 이용 및 다른 사용자에 대한 필수 리소스 할당은 일반적으로 그 리소스를 제공하기 위한 커밋의 기간에 따라 다르다. 본 문서에 기술된 주제는 디지털 자원을 제공하려는 커밋과 관련된 특성들에 기초하여 디지털 리소스들을 제공하려는 제안된 커밋의 완료를 위해 필요한 리소스 량이 결정될 수 있게 한다.
본 명세서에서 기술된 주제의 하나 이상의 실시예의 세부 사항은 첨부 도면들 및 아래의 설명에서 설명된다. 본 주제의 다른 특징, 양태 및 이점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 디지털 컴포넌트가 분배되는 예시적인 환경의 블록도이다.
도 2는 다수의 상이한 전송 커밋 각각에 대한 예상 비용을 결정하기 위해 공동 시뮬레이션을 수행하기 위한 예시적인 데이터 흐름의 블록도이다.
도 3은 다수의 상이한 전송 커밋 각각에 대한 예상 비용을 결정하기 위해 공동 시뮬레이션을 수행하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 시뮬레이션 시스템에서 특정 사전 전송을 전송 커밋에 할당하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 제안된 전송 커밋의 완료를 위해 제3자에게 부과될 고정 금액을 결정하고 완료 후 제안된 전송 커밋의 이득을 결정하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
본 문서는 커밋(commitment)을 완료하기 위한 예상 필수 리소스를 결정하여 리소스를 제공하기 위한 다수의 상이한 공존 커밋 세트 중에서 리소스를 제공하기 위해 동시 시뮬레이션을 수행하는 방법, 시스템, 장치 및 컴퓨터 판독 가능 매체를 개시한다. 본 문서 전체에서 사용된 바와같이, 커밋은 디지털 리소스의 할당을 제공하는 계약을 지칭한다. 커밋의 사용은 일반적으로 디지털 컴포넌트 전송 커밋과 관련하여 아래에서 설명되며, 간결성을 위해 전송 커밋이라고도 지칭되고, 지정된 시간 내에 적어도 지정된 최소 횟수만큼 제3자에 대해 하나 이상의 디지털 컴포넌트를 전송하는 계약을 지칭한다. 일부 구현에서, 제3자는 지정된 배포 기준에 따라 디지털 컴포넌트의 전송에 대해 고정 금액(fixed amount)을 제출한다. 아래에 설명된 기술들은 클라우드 컴퓨팅 환경에서 리소스를 제공하기 위한 커밋과 같은 디지털 컴포넌트 전송 커밋 이외의 리소스를 제공하기 위한 커밋에도 적용할 수 있음을 이해할 것이다. 리소스는 예를 들어 데이터 저장 리소스 또는 데이터 처리 리소스일 수 있다.
본 문서 전체에서 사용되는 "디지털 컴포넌트"라는 문구는 디지털 컨텐츠의 개별 단위 또는 디지털 정보(예를 들어, 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 다른 컨텐츠 단위)를 지칭한다. 디지털 컴포넌트는 물리적 메모리 디바이스에 단일 파일 또는 파일 모음으로 전자적으로 저장될 수 있으며, 디지털 컴포넌트들은 비디오 파일, 오디오 파일, 멀티미디어 파일, 이미지 파일 또는 텍스트 파일의 형태를 취하며 광고가 일종의 디지털 컴포넌트가 되도록 광고 정보를 포함할 수 있다.
이하에서 보다 상세히 설명되는 바와 같이, 리소스의 양은 시뮬레이션 기술을 사용하여 결정되며, 이는 디지털 컴포넌트의 이력 전송과 같은 리소스의 이력 할당에 관한 정보뿐만 아니라 이미 작성된 임의의 다른 기존의 전송 커밋을 고려한다. 예를 들어, 하나 이상의 기존 전송 커밋과 공존하는 제안된 전송 커밋을 완료하는데 필요한 고정 금액은 제안된 전송 커밋과 기존 전송 커밋의 예상 비용을 제공하는 공동 시뮬레이션의 결과에 기초하여 결정될 수 있다. 아래에서 논의되는 바와 같이, 시뮬레이션은 전송(transfer) 비용, 예를 들어, 제안된 전송 커밋과 공동으로 기존 전송 커밋을 완료하는 예상 비용의 변화 및 그 제안된 전송 커밋의 예상 비용을 결정할 때의 위험 인자(risk factor)를 고려할 수 있다. 위험 인자는 기존 전송 커밋과 공동으로 제안된 전송 커밋을 완료하는데 필요한 예상 비용의 정확성에 대한 불확실성에 기초할 수 있다. 보다 구체적으로, 미래 전송 비용의 동적 특성으로 인해, 위험 인자는 미래 전송 비용 예측과 관련된 불확실성을 정량화한다.
도 1은 전자 문서로 제시하기 위한 디지털 컴포넌트가 분배되는 예시적인 환경(100)의 블록도이다. 예시적인 환경(100)은 근거리 통신망(LAN), 광역 통신망 (WAN), 인터넷 또는 이들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버들(104), 사용자 디바이스들(106), 디지털 컴포넌트 서버들(108) 및 디지털 컴포넌트 배포 시스템(110)을 연결한다. 예시적인 환경(100)은 맣은 상이한 전자 문서 서버(104), 사용자 디바이스들(106) 및 디지털 컴포넌트 서버들(108)을 포함할 수 있다.
사용자 디바이스(106)는 네트워크(102)를 통해 리소스들을 요청 및 수신할 수 있는 전자 디바이스이다. 예시적인 사용자 디바이스(106)는 개인용 컴퓨터, 이동 통신 디바이스 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 다른 디바이스를 포함한다. 사용자 디바이스(106)는 일반적으로 네트워크(102)를 통한 데이터의 전송 및 수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 사용자 디바이스(106)에 의해 실행되는 기본(native) 애플리케이션 역시 네트워크(102)를 통한 데이터의 전송 및 수신을 용이하게 할 수 있다.
전자 문서는 사용자 디바이스(106)에서 일련의 컨텐츠를 제공하는 데이터이다. 전자 문서의 예는 웹 페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스를 포함한다. 모바일, 태블릿 또는 데스크탑 컴퓨팅 디바이스에 설치된 애플리케이션과 같은 기본 애플리케이션(예를 들어, "앱")도 전자 문서의 예이다. 전자 문서는 전자 문서 서버(104)에 의해 사용자 디바이스(106)로 제공될 수 있다. 예를 들어, 전자 문서 서버(104)는 발행자 웹 사이트를 호스팅하는 서버를 포함할 수 있다. 이 예에서, 사용자 디바이스(106)는 주어진 발행자 웹 페이지에 대한 요청을 개시할 수 있고, 주어진 발행인 웹 페이지를 호스팅하는 전자 서버(104)로 사용자 디바이스(106)에서 주어진 웹 페이지의 프리젠테이션을 개시하는 기계 실행 가능 명령을 전송함으로써 그 요청에 응답할 수 있다.
다른 예에서, 전자 문서 서버(104)는 사용자 디바이스(106)가 앱을 다운로드할 수 있는 앱 서버를 포함할 수 있다. 이 예에서, 사용자 디바이스(106)는 사용자 디바이스(106)에서 앱을 설치하는데 필요한 파일을 다운로드한 후, 그 다운로드 된 앱을 로컬로 실행할 수 있다.
전자 문서는 다양한 컨텐츠를 포함할 수 있다. 예를 들어, 전자 문서는 전자 문서 자체 내에 있고 및/또는 시간이 지나도 변하지 않는 정적 컨텐츠(예를 들어, 텍스트 또는 다른 지정된 컨텐츠)를 포함할 수 있다. 전자 문서는 또한 시간이 지남에 따라 또는 요청별로 변할 수 있는 동적 컨텐츠를 포함할 수 있다. 예를 들어, 주어진 전자 문서의 발행자는 전자 문서의 일부를 채우는데 사용되는 데이터 소스를 보유할 수 있다. 이 예에서, 주어진 전자 문서는 그 주어진 전자 문서가 사용자 디바이스(106)에 의해 처리(예를 들어, 렌더링 또는 실행)될 때 사용자 디바이스(106)로 하여금 데이터 소스로부터 콘텐츠를 요청하게 하는 태그 또는 스크립트를 포함할 수 있다. 사용자 디바이스(106)는 데이터 소스로부터 획득된 컨텐츠를 주어진 전자 문서에 통합하여, 데이터 소스로부터 획득된 컨텐츠를 포함하는 복합 전자 문서를 생성한다.
일부 상황에서, 주어진 전자 문서는 디지털 컴포넌트 배포 시스템(110)을 참조하는 디지털 컴포넌트 태그 또는 디지털 컴포넌트 스크립트를 포함할 수 있다. 이들 상황에서, 디지털 컴포넌트 태그 또는 디지털 컴포넌트 스크립트는 주어진 전자 문서가 사용자 디바이스(106)에 의해 처리될 때 사용자 디바이스(106)에 의해 실행된다. 디지털 컴포넌트 태그 또는 디지털 컴포넌트 스크립트의 실행은 네트워크(102)를 통해 디지털 컴포넌트 배포 시스템(110)으로 전송되는 디지털 컴포넌트(112)에 대한 요청을 생성하도록 사용자 디바이스(106)를 구성한다. 예를 들어, 디지털 컴포넌트 태그 또는 디지털 컴포넌트 스크립트는 사용자 디바이스(106)가 헤더 및 페이로드 데이터를 포함하는 패킷화된 데이터 요청을 생성할 수 있게 한다. 요청(112)은 디지털 컴포넌트가 요청 중인 서버의 이름(또는 네트워크 위치), 요청하는 디바이스(예를 들어, 사용자 디바이스(106))의 이름(또는 네트워크 위치) 및/또는 디지털 컴포넌트 배포 시스템(110)이 그 요청에 응답하여 제공된 디지털 컴포넌트를 선택하기 위해 사용할 수 있는 정보와 같은 데이터를 포함할 수 있다. 요청(112)은 사용자 디바이스에 의해, 네트워크(예를 들어, 통신 네트워크)를 통해 디지털 컴포넌트 배포 시스템(110)의 서버로 전송된다.
요청(112)은 전자 문서를 특정하는 데이터 및 디지털 컴포넌트가 제시될 수 있는 위치들의 특성을 포함할 수 있다. 예를 들어, 디지털 컴포넌트들이 제공될 전자 문서(예를 들어, 웹 페이지)에 대한 참조(예를 들어, URL)를 지정하는 데이터, 디지털 컴포넌트를 제공하기 위해 이용 가능한 전자 문서의 사용 가능한 위치들, 사용 가능한 위치들의 크기, 및/또는 해당 위치들에서 제시하기에 적합한 미디어 유형들이 컨텐츠 배포 시스템(110)에 제공될 수 있다. 유사하게, 전자 문서와 관련된 키워드("문서 키워드") 또는 전자 문서에 의해 참조되는 엔티티(예를 들어, 사람, 장소 또는 사물)를 지정하는 데이터가 또한 (페이로드 데이터로서) 요청(112)에 포함될 수 있고, 전자 문서로 제시되기에 적합한 디지털 컴포넌트의 식별을 용이하게 하기 위해 컨텐츠 배포 시스템(110)에 제공된다.
요청(112)은 사용자가 제공한 정보, 요청이 제출된 상태 또는 지역을 나타내는 지리 정보, 또는 디지털 컴포넌트가 디스플레이될 환경에 대한 컨텍스트를 제공하는 다른 정보(예를 들어, 모바일 디바이스 또는 태블릿 디바이스와 같이 디지털 컴포넌트가 디스플레이될 디바이스의 유형)와 같은 다른 정보와 관련된 데이터를 포함할 수도 있다. 요청(112)은 예를 들어 패킷화된 네트워크를 통해 전송될 수 있고, 요청(112) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷될 수 있다. 헤더는 패킷의 목적지를 지정할 수 있고, 페이로드 데이터는 위에서 논의된 임의의 정보를 포함할 수 있다.
디지털 컴포넌트 배포 시스템(110)은 요청(112)을 수신하고 및/또는 그 요청(112)에 포함된 정보를 사용하는 것에 응답하여 상기 주어진 전자 문서와 함께 제시될 디지털 컴포넌트를 선택한다. 일부 구현에서, 디지털 컴포넌트는 디지털 컴포넌트의 지연된 선택에 의해 야기될 수 있는 오류를 피하기 위해 1 초 이내에 선택된다. 예를 들어, 요청(112)에 응답하여 디지털 컴포넌트를 제공하는데 지연이 발생하면 사용자 디바이스(106)에서 페이지 로드 오류가 발생하거나 전자 문서의 다른 부분이 사용자 디바이스(106)에서 제시된 후에도 전자 문서의 일부가 채워지지 않을 수 있다. 또한, 디지털 컴포넌트를 사용자 디바이스(106)로 제공하는데 지연이 증가함에 따라, 디지털 컴포넌트가 제공될 때 전자 문서가 더 이상 사용자 디바이스(106)에 제시되지 않을 가능성이 높아져, 전자 문서에 대한 사용자의 경험에 부정적인 영향을 미친다. 또한, 예를 들어, 디지털 컴포넌트가 제공될 때 전자 문서가 더 이상 사용자 디바이스(106)에 제시되지 않는 경우, 디지털 컴포넌트를 제공할 때의 지연은 디지털 컴포넌트의 전달 실패를 유발할 수 있다.
일부 구현에서, 디지털 컴포넌트 배포 시스템(110)은 요청들(112)에 응답하여 디지털 컴포넌트들을 식별하고 분배하는데 사용되는 다수의 컴퓨팅 디바이스들(114)의 세트를 포함한다. 다수의 컴퓨팅 디바이스(114)의 세트는 함께 작동하여, 수백만 개의 이용 가능한 디지털 컴포넌트의 코퍼스 중에서 전자 문서에 제시되기에 적합한 디지털 컴포넌트 세트를 식별한다. 수백만 개의 이용 가능한 디지털 컴포넌트는 예를 들어 디지털 컴포넌트 코퍼스 데이터베이스(116)에서 인덱스될 수 있다. 각각의 디지털 컴포넌트 인덱스 엔트리는 대응하는 디지털 컴포넌트를 참조할 수 있고 및/또는 대응하는 디지털 컴포넌트의 분배를 조건화하는 배포 기준을 포함할 수 있다.
디지털 컴포넌트들에 대한 배포 기준은 전송 후에 디지털 컴포넌트가 제시되는 전자 문서들의 특성 및 전송 후에 전자 문서가 디스플레이되는 디바이스들의 특성을 포함할 수 있다. 일부 구현에서, 특정 디지털 컴포넌트에 대한 배포 기준은 디지털 컴포넌트들이 제시되기에 적합(적격)하도록 하기 위해 (예를 들어, 요청(112)에 지정된 전자 문서들 또는 용어들에 의해) 매칭되어야 하는 분배 키워드들을 포함할 수 있다. 배포 기준은 또한 요청(112)이 특정 지리 영역(예를 들어, 국가 또는 주)을 지정하는 정보 및/또는 요청(112)이 디지털 컴포넌트가 제시되기에 적합하도록 하기 위해 특정 유형의 사용자 디바이스(예를 들어, 모바일 디바이스 또는 태블릿 디바이스)에서 발신되었음을 지정하는 정보를 포함하도록 요구할 수 있다.
적격 디지털 컴포넌트의 식별은 다수의 태스크로 분할된 다음 다수의 컴퓨팅 디바이스(114)의 세트 내의 컴퓨팅 디바이스 사이에 할당된다. 예를 들어, 세트(114) 내의 상이한 컴퓨팅 디바이스들은 디지털 컴포넌트 코퍼스 데이터베이스(116)의 상이한 부분을 각각 분석하여, 요청(112)에 포함된 정보와 매칭하는 배포 기준을 갖는 다양한 디지털 컴포넌트를 식별할 수 있다. 일부 구현에서, 세트(114)내의 각각의 주어진 컴퓨팅 디바이스는 다른 데이터 치수(또는 치수 세트)을 분석하여, 그 분석 결과(118)를 다시 디지털 컴포넌트 배포 시스템(110)으로 전달할 수 있다. 예를 들어, 세트 내의 각각의 컴퓨팅 디바이스에 의해 제공된 결과(118)는 그 요청에 응답하여 배포에 적격인 디지털 컴포넌트들의 서브 세트 및/또는 특정 배포 기준 또는 속성을 갖는 디지털 컴포넌트들의 서브 세트를 식별할 수 있다.
디지털 컴포넌트 배포 시스템(110)은 다수의 컴퓨팅 디바이스(114) 세트로부터 수신된 결과(118)를 집계하고, 그 결과와 관련된 정보를 사용하여 요청(112)에 응답하여 제공될 하나 이상의 디지털 컴포넌트를 선택한다. 예를 들어, 디지털 컴포넌트 배포 시스템(110)은 디지털 컴포넌트 선택 프로세스의 결과에 기초하여 위닝(winning) 디지털 컴포넌트의 세트를 선택할 수 있다. 결과적으로, 디지털 컴포넌트 배포 시스템(110)은 네트워크(102)를 통해, 사용자 디바이스(106)가 위닝 디지털 컴포넌트들의 세트를 상기 주어진 전자 문서에 통합할 수 있게 하는 응답 데이터(120)를 생성 및 송신할 수 있어서, 위닝 디지털 컴포넌트의 세트 및 전자 문서의 컨텐츠가 사용자 디바이스(106)의 디스플레이에 함께 제시될 수 있다.
일부 구현에서, 사용자 디바이스(106)는 사용자 디바이스(106)가 하나 이상의 디지털 컴포넌트 서버로부터 위닝 디지털 컴포넌트들의 세트를 획득하도록 구성하고 가능하게 하는 응답 데이터(120)에 포함된 명령들을 실행한다. 예를 들어, 응답 데이터(120)내의 명령은 사용자 디바이스(106)가 디지털 컴포넌트 서버(108)로부터 주어진 위닝 디지털 컴포넌트를 요청하게 하는 네트워크 위치(예를 들어, URL) 및 스크립트를 포함할 수 있다. 요청에 응답하여, 디지털 컴포넌트 서버(108)는 주어진 위닝 디지털 컴포넌트가 사용자 디바이스(106)에 제시되게 하는 디지털 컴포넌트 데이터(122)를 사용자 디바이스(106)로 송신할 것이다.
디지털 컴포넌트 배포 시스템(110)의 디지털 컴포넌트 선택 프로세스는 디지털 컴포넌트와 관련된 입찰에 적어도 부분적으로 기초하여, 위닝 디지털 컴포넌트들 및 그 위닝 디지털 컴포넌트들의 전송 비용을 식별하는 프로세스일 수 있다. 예를 들어, 각각의 제시 위치에 대한 위닝 디지털 컴포넌트는 (예를 들어, 주어진 전자 문서에서 다른 제시 위치에 대한 위닝 디지털 컴포넌트로서 아직 선택되지 않은 다른 디지털 컴포넌트의 입찰에 비해) 가장 높은 입찰을 갖는 디지털 컴포넌트일 수 있다. 다른 예로서, 각각의 제시 위치에 대한 위닝 디지털 컴포넌트는 (예를 들어, 주어진 전자 문서에서 다른 제시 위치에 대한 위닝 디지털 컴포넌트로서 아직 선택되지 않은 다른 디지털 컴포넌트의 선택 스코어에 비해) 가장 높은 선택 스코어를 갖는 디지털 컴포넌트일 수 있다.
각각의 디지털 컴포넌트에 대한 선택 스코어는 예를 들어 디지털 컴포넌트 및/또는 하나 이상의 다른 파라미터에 대응하는 입찰의 함수에 기초하여 결정될 수 있다. 예를 들어, 각 디지털 컴포넌트에 대한 입찰은 해당 디지털 컴포넌트에 대한 선택 스코어에 도달하기 위해 해당 디지털 컴포넌트에 특정한 일부 속성 값에 의해 스케일링될 수 있다. 디지털 컴포넌트 입찰을 스케일링하는데 사용되는 속성 값은 예를 들어 컨텐츠 배포 시스템(110)의 관리자에 의해 선택된 성능(또는 품질) 측정치일 수 있다.
일부 상황에서, 제3자는 고정 금액으로 지정된 횟수만큼 하나 이상의 디지털 컴포넌트를 사용자 디바이스로 전송하기를 원할 수 있다. 그러나, 시간에 따른 전송에 필요한 양의 동적 특성으로 인해 지정된 횟수의 전송을 완료하는데 필요한 미래의 양을 정확하게 예측하기가 어려울 수 있다. 또한, 다수의 상이한 전송 커밋이 시간상 중복될 때, 이러한 전송 커밋의 공존은 그 시간 기간 동안 전송에 필요한 양에 영향을 줄 수 있다. 아래에서 논의되는 기술은, 예를 들어, 공동 시뮬레이션의 결과에 기초하여 기존의 전송 커밋과 시간이 겹치는 제안된 전송 커밋의 완료를 위한 고정 금액을 결정할 때 알려진 전송 커밋을 설명함으로써 이러한 어려움을 해결한다. 더욱이, 아래에서 논의되는 기술은 정규화 루틴을 수행하여, 동일 시간에서 서비스중인 다수의 공존 전송 커밋이 있을 때 각각의 전송 커밋이 시스템에 의해 만들어진 이득(예를 들어, 수입 또는 이익)에 대한 그의 기여도에 대한 적절한 양의 크레딧을 수신하도록 보장한다. 일부 구현에서, 디지털 컴포넌트 배포 시스템(110)은 본 문서 전체에서 논의된 기술들을 구현하는 (도 2를 참조하여 논의된) 시뮬레이션 디바이스를 포함한다.
도 2는 다수의 상이한 전송 커밋 각각에 대한 예상 비용을 결정하기 위한 예시적인 데이터 흐름의 블록도이다. 데이터 흐름(200)은 기존의 전송 커밋, 제안된 전송 커밋 또는 둘 다를 포함할 수 있는 다수의 상이한 전송 커밋(222)의 세트를 수신하는 시뮬레이션 장치(212)로 시작한다. 다수의 상이한 전송 커밋(202, 204, 206 및 208) 각각은 제3자에 의해 지정된 개별 전송 커밋 조건(term)들의 세트와 관련된다. 전송 커밋 조건에는 전송될 제3자 디지털 컴포넌트, 제3자 디지털 컴포넌트의 전송을 트리거하는데 사용되는 개별 배포 기준, 요청되는 개별 최소 전송 횟수 및 전송을 완료하기 위한 개별 미래의 시간 기간(또는 종료 날짜)이 포함된다.
일부 상황에서, 전송 커밋(222)의 제3자 디지털 컴포넌트의 전송을 완료하기 위한 개별 배포 기준 및/또는 개별 시간 기간은 서로 중첩될 수 있다. 제1 전송 커밋의 배포 기준이 제2 전송 커밋의 배포 기준과 동일한 경우, 제1 전송 커밋의 배포 기준은 제2 전송 커밋의 배포 기준과 겹치는 것으로 간주된다. 시간 기간은 동일한 시간 기간의 적어도 일부를 각각 포함할 때 겹치는 것으로 간주된다. 예를 들어, 동일한 웹 페이지(또는 동일한 유형의 웹 페이지)상의 제시를 위해 그리고 특정 속성(예를 들어, 관심)을 갖는 사용자에게 전송될 두 개의 상이한 디지털 컴포넌트는 중첩되는 배포 기준을 갖는 것으로 간주될 수 있다. 한편, 동일한 시간, 일, 주 또는 월에 서비스되는 두 개의 전송 커밋은 시간 기간이 겹치는 것으로 간주된다.
전송 커밋(202, 204, 206 및 208) 각각은 제3자로부터 수신될 때 상이한 시간에 처리될 수 있다. 예를 들어, 전송 커밋(202)은 시간(t1)에서 처리될 수 있는 반면, 전송 커밋(204)은 t1이후인 시간(t2)에서 처리될 수 있다. 한편, 전송 커밋들(206 및 208) 및 임의의 다른 전송 커밋들은 나중에(예를 들어, 전송 커밋(202), 전송 커밋(204) 및/또는 임의의 다른 전송 커밋의 처리 후에) 처리될 수 있다. 임의의 다른 전송 커밋(204, 206 및/또는 208)의 처리 이전에 전송 커밋(202)의 처리는 전송 커밋(202)에 대해 결정된 예상 비용이 전송 커밋(204, 206 또는 208) 처리될 것이라는 임의의 표시 이전에 시뮬레이션 장치(212)에 의해 결정될 것임을 의미한다. 이와 같이, 전송 커밋(202)의 특성에 기초하여 시뮬레이션 장치(212)가 결정하는 예상 비용은 전송 커밋(204, 206 또는 208)을 고려하지 않을 것이다. 유사하게, 전송 커밋(204)이 전송 커밋(206 및/또는 208)을 처리하기 전에 시뮬레이션 장치(212)에 의해 처리되면, 전송 커밋(202 및 204)에 대해 결정된 예상 비용은 전송 커밋(206 또는 208)을 고려하지 않고 시뮬레이션 장치(212)에 의해 결정될 것이다.
시뮬레이션 장치(212)는 디지털 컴포넌트의 사전 전송(214)(예를 들어, PT1, PT2, PT3,...) 즉, 디지털 컴포넌트들에 대한 요청(112)에 응답하여 배포 시스템(110)에 의한 전송을 위해 선택된 디지털 컴포넌트들에 기초한 디지털 컴포넌트의 사전 전송에 대응하는 로그 데이터(210)에 액세스한다. 로그 데이터는 사전 전송에 대한 전송 스코어, 사전 전송에 대한 배포 기준 및 사전 전송의 전달 시간을 포함한다. 사전 전송에 대한 전송 스코어는 사전 전송을 트리거한 디지털 컴포넌트 요청에 응답하여 전송을 위해 선택된 위닝 디지털 컴포넌트의 입찰 또는 선택 스코어를 지칭한다. 사전 전송에 대한 배포 기준은 그 전송을 트리거한 디지털 컴포넌트 요청에 응답하여 전송을 위해 선택된 위닝 디지털 컴포넌트의 배포 기준을 지칭한다. 사전 전송의 전달 시간은 예를 들어 사전 전송을 트리거한 요청에 응답하여 전송을 위해 선택된 디지털 컴포넌트가 사용자 디바이스에서 제시을 위해 전자 문서와 통합되도록 전송된 시간을 지칭한다.
시뮬레이션 시스템(212)은 할당 제약에 따라, 로그 데이터(210)의 사전 전송(214)을 개별 전송 커밋(216)(예를 들어, TC1, TC2, TC3,...,TCN)에 할당한다. 특히, 할당 제약은 개별 전송 커밋에 할당된 사전 전송의 배포 기준이 그 개별 전송 커밋의 배포 기준과 매칭하고, 개별 전송 커밋에 할당된 사전 전송의 전달 시간이 개별 전송 커밋을 완료하기 위한 시간 기간과 매칭할 것을 요구한다. 또한, 할당 제약은 배포 기준의 임의의 특정 값에 대해, 주어진 전송 커밋에 할당된 사전 전송의 고정(된) 비율(fixed fraction) 이하로 배포 기준의 특정 값을 지정하도록 요구하는 다이버시티 제약(diversity constraint)을 추가로 포함할 수 있다. 예를 들어, 다이버시티 제약은 주어진 전송 커밋에 할당된 사전 전송의 고정 비율 이하로 디지털 컴포넌트가 제시되는 임의의 특정 웹 사이트를 지정하는 배포 기준을 포함할 것을 요구할 수 있다. 다이버시티 제약은 시뮬레이션 시스템(212)에 의해 생성된 예상 비용의 견고성 및 안정성을 증가시킬 수 있다. 예를 들어, 디지털 컴포넌트들이 제공되는 웹 사이트에 대한 전술한 다이버시티 제약은 전송 커밋(222)을 완료하기 위한 시간 기간 동안 임의의 특정 웹 사이트가 예기치 않게 이용 불가능한 위험을 완화하는 역할을 하며, 이는 해당 특정 웹 사이트와의 제시를 위한 디지털 컴포넌트의 배포를 방지할 것이다.
각각의 전송 커밋(216)에 할당된 사전 전송들(214)에 기초하여, 시뮬레이션 시스템(212)은 각각의 전송 커밋에 대해, 그 전송 커밋을 완료하기 위한 시간 기간에 걸쳐 그 전송 커밋의 제3자 디지털 컴포넌트의 전송 스코어들과 대응하는 예상 전송 횟수사이의 전송 스코어-전송율 관계를 획득한다. 도 2는 TCN(즉, N번째 전송 커밋)에 대한 그러한 관계(220)의 예를 포함한다.
전송 스코어-전송율 관계(220)는 x축을 따라 다양한 전송 스코어(이 경우 입찰)를 나타내고, y축을 따라 다양한 예상 전송 횟수를 나타낸다. 특히, 전송 스코어-전송율 관계(220)는 x축을 따라 2$, 4$ 및 6$의 입찰을 나타내고, y축을 따라 6000, 7000 및 7500의 예상 전송 횟수를 나타낸다. 곡선(224)은 2$ 입찰 및 6000 전송, 4$ 입찰 및 7000 전송, 및 6$ 입찰 및 7500 전송에 대응하는 포인트를 통과한다. 곡선(224)을 따르는 이들 포인트 및 다른 포인트는 제3자 디지털 컴포넌트가 특정 전송 스코어(예를 들어, 입찰)와 관련될 때 전송 커밋의 제3자 디지털 컴포넌트의 예상 전송 횟수에 대응한다. 일단 전송 스코어-전송율 관계가 각각의 전송 커밋(216)에 대해 생성되면, 이들은 아래에서 보다 상세히 설명되는 바와같이, 각각의 전송 커밋을 공동으로 완료하기 위한 예상 비용(218)(예를 들어, EC1, EC2, EC3,...,ECN)을 식별하는데 사용될 수 있다.
도 3은 다수의 상이한 공존 전송 커밋 세트의 각각의 전송 커밋을 완료하기 위한 예상 비용을 결정하기 위해 공동 시뮬레이션을 수행하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터를 포함하는 장치에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 본 명세서에 따라 적절히 프로그래밍된 시뮬레이션 장치, 예를 들어 도 2의 시뮬레이션 장치(212)는 프로세스(300)를 수행할 수 있다.
장치는 다수의 상이한 전송 커밋들(222)의 세트를 수신한다(302). 다수의 상이한 전송 커밋 각각은 개별 전송 커밋 조건 세트와 관련된다. 전송 커밋 조건에는 전송될 제3자 디지털 컴포넌트, 제3자 디지털 컴포넌트의 전송을 트리거하는데 사용되는 개별 배포 기준, 요청되는 개별 최소 전송 횟수 및 그 전송을 완료하기 위한 개별 미래 시간 기간(또는 종료 날짜)이 포함된다. 일부 상황에서, 전송 커밋(222)의 제3자 디지털 컴포넌트의 전송을 완료하기 위한 개별 배포 기준 및/또는 개별 시간 기간은 서로 중첩될 수 있다.
장치는 디지털 컴포넌트들의 사전 전송들(214)에 대응하는 로그 데이터(210)에 액세스한다(304). 일부 구현에서, 사전 전송들은 디지털 컴포넌트들에 대한 요청들(112)에 응답하여 배포 시스템(110)에 의해 전송을 위해 선택된 디지털 컴포넌트들에 기초한 디지털 컴포넌트들의 사전 전송이다. 로그 데이터는 사전 전송에 대한 전송 스코어, 사전 전송에 대한 배포 기준 및 사전 전송의 전달 시간을 포함한다.
장치는 할당 제약에 따라, 로그 데이터(210)의 사전 전송(214)을 개별 전송 커밋(216)에 할당한다(306). 전송 커밋에 특정 사전 전송을 할당하기 위한 예시적인 프로세스가 도 4를 참조하여 설명된다.
장치는 각각의 전송 커밋에 대해, 전송 스코어-전송율 관계를 획득한다(308). 일부 구현에서, 전송 스코어-전송율 관계는 전송 커밋을 완료하기 위한 시간 주기에 걸쳐 전송 커밋의 제3자 디지털 컴포넌트의 전송 스코어들 및 대응하는 예상 전송 횟수들 사이의 관계를 제공한다(단계 308). 도 2는 TCN(즉, N번째 전송 커밋)에 대한 예시적인 관계(220)를 포함한다. 특정 전송 스코어 및 특정 전송 커밋에 대해, 장치는 특정 제3자 디지털 컴포넌트가 특정 전송 스코어와 관련되어 전송을 위해 선택되고 디지털 컴포넌트 선택 프로세스에 포함된 특정 전송 커밋에 할당된 사전 전송 횟수를 결정함으로써 특정 제3자 디지털 컴포넌트의 대응하는 예상 전송 횟수를 얻을 수 있다. 특정 전송 스코어와 연관되어 있고 디지털 컴포넌트 선택 프로세스에 포함되어 있으면 전송을 위해 구성 요소를 선택했을 것이다. 일부 경우에, 특정 전송 스코어가 사전 전송의 전송 스코어(즉, 사전 전송을 트리거한 디지털 컴포넌트 요청에 응답하여 실제로 전송을 위해 이전에 선택된 위닝 디지털 컴포넌트와 관련된 전송 스코어)보다 큰 경우 특정 제3자 디지털 컴포넌트가 전송을 위해 선택되었을 것이다.
일부 경우, 장치는 전술한 바와같이, 다수의 특정 전송 스코어 각각에 대해 특정 제3자 디지털 컴포넌트의 예상 전송 횟수를 먼저 결정(예를 들어, 곡선(224)상에서 포인트들을 결정)한 다음 이들 데이터 포인트로부터 나머지 전송 스코어-전송율 관계를 추정함으로써 특정 전송 커밋에 대한 전송 스코어-전송율 관계를 획득한다. 예를 들어, 나머지 전송 스코어-전송율 관계는 파라메트릭 함수(예를 들어, 선형 또는 이차 함수)를 데이터 포인트들에 피팅(예를 들어, 최소 제곱 피팅)함으로써 추정될 수 있다. 일부 구현에서, 전송 스코어-전송율 관계가 외삽되는 다수의 특정 전송 스코어는 특정 전송 커밋에 할당된 사전 전송들의 전송 스코어의 범위를 균일하게 세분하기 위해 선택된다.
장치는 각 전송 커밋에 대해 결정된 전송 스코어-전송율 관계를 사용하여 각 전송 커밋의 예상 비용을 결정한다(310). 전송 커밋의 예상 비용은 전송 커밋의 조건에 지정된 적어도 최소 횟수로 전송 커밋의 제3자 디지털 컴포넌트를 전송하기 위해 배포 시스템에 의해 (예를 들어, 제3자 디지털 컴포넌트가 제시를 위해 통합된 전자 문서 발행자에게) 제공해되어야 하는 예상 보상 금액을 나타낸다.
특정 전송 커밋에 대해, 장치는 그 특정 전송 커밋의 전송 스코어-전송율 관계를 사용하여, 대응하는 예상 전송 횟수가 적어도 특정 전송 커밋의 조건에 지정된 최소 전송 횟수만큼 크도록 특정 전송 스코어를 결정한다. 장치는 특정 전송 스코어와 관련된 특정 디지털 컴포넌트가 그 특정 전송 커밋에 할당된 각각의 사전 전송에 대한 디지털 컴포넌트 선택 프로세스에 포함된 경우에 제공될 보상량으로서 예상 비용을 결정한다. 일부 구현에서, 디지털 컴포넌트의 전송을 위해 제공되어야 하는 보상량은 전송을 위해 선택된 디지털 컴포넌트의 전송 스코어에 기초하여 결정된다. 이러한 구현들에서, 장치는 특정 전송 커밋의 예상 비용을 특정 전송 스코어와 그 전송 커밋의 조건에 지정된 최소 전송 횟수의 곱(product)의 함수로서 결정할 수 있다. 일부 다른 구현에서, 디지털 컴포넌트의 전송을 위해 제공되어야 하는 보상량은 디지털 컴포넌트 선택 프로세스에 포함된 디지털 컴포넌트들의 전송 스코어 중 두 번째로 높은 전송 스코어에 기초하여 결정된다. 이들 구현에서, 장치는 특정 전송 스코어보다 작은 특정 전송 커밋에 할당된 사전 전송들의 전송 스코어들의 합의 함수로서 특정 전송 커밋의 예상 비용을 결정할 수 있다.
도 4는 특정 사전 전송을 전송 커밋에 할당하기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터를 포함하는 장치에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 본 명세서에 따라 적절히 프로그래밍된 시뮬레이션 장치, 예를 들어 도 2의 시뮬레이션 장치(212)는 프로세스(400)를 수행할 수 있다.
장치는 할당 제약(조건)에 따라 특정 사전 전송의 할당을 수신하기에 적격인 전송 커밋을 식별한다(402). 할당 제약은 특정 사전 전송의 배포 기준이 특정 전송 커밋의 배포 기준과 매칭하고 특정 사전 전송의 전달 시간이 그 특정 전송 커밋을 완료하기 위한 시간 주기와 매칭할 때만 특정 사전 전송이 특정 전송 커밋에 할당될 수 있음을 지정한다.
일부 구현에서, 사전 전송의 배포 기준이 전송 커밋의 배포 기준과 동일한 경우, 사전 전송의 배포 기준은 전송 커밋의 배포 기준과 일치한다고 한다. 일부 다른 구현에서, 전송 커밋의 배포 기준이 사전 전송의 배포 기준에 포함되는 경우, 사전 전송의 배포 기준은 전송 커밋의 배포 기준과 일치한다고 한다. 예를 들어, 디지털 컴포넌트가(전송될 때) 특정 카테고리의 웹 사이트(예를 들어, 스포츠 뉴스 웹 사이트)상에 제시되어야 하고 그 웹 사이트는 특정 키워드를 포함해야 한다는 것을 지정하는 사전 전송의 배포 기준은, 그 디지털 컴포넌트가 특정 카테고리의 웹 사이트에 디스플레이되어한다는 것을 지정하는 전송 커밋의 배포 기준과 매칭한다.
일부 구현에서, 사전 전송의 전달 시간은 (예를 들어, 로그 데이터의 기준 시간 프레임에서) 그 사전 전송의 전달 시간이 전송 커밋을 완료하기 위한 시간 기간에 포함되는 경우 전송 커밋을 완료하기 위한 기간과 매칭한다고 한다. 예를 들어, 사전 전송이 이전 달의 첫 2주의 전달 시간을 갖고 전송 커밋을 완료하기 위한 시간 기간은 다음 2주인 경우, 그 사전 전송의 전달 시간은 전송 커밋을 완료하기 위한 시간 기간과 매칭할 것이다.
할당 제약은 특정 사전 전송이 특정 배포 기준을 포함하는 경우, 그 특정 사전 전송이 전송 커밋에 이미 할당된 고정 비율이하의 사전 전송이 동일한 특정 배포 기준을 지정하는 전송 커밋에만 할당될 수 있음을 명시하는 다이버시티 제약을 추가로 포함할 수 있다. 예를 들어, 특정 배포 기준은 디지털 컴포넌트가 특정 웹 사이트에 제시될 것을 지정할 수 있다.
장치는 페이싱(pacing) 로직에 기초하여 특정 사전 전송의 할당을 위한 적격 전송 커밋을 선택한다(404). 일부 구현에서, 페이싱 로직은 적격 전송 커밋들에 대한 확률 분포에 따라 특정 사전 전송이 적격 전송 커밋에 할당되어야 한다고 지정한다. 일부 경우, 확률 분포는 균일한 분포이다(즉, 특정 사전 전송은 적격 전송 커밋에 랜덤하게 할당된다). 일부 경우, 확률 분포는 전송 커밋의 조건에서 지정된 최소 전송 횟수가 더 큰 전송 커밋들에 더 많은 가중치를 부여할 수 있고, 전송 커밋의 조건에서 지정된 최소 전송 횟수가 더 적은 전송 커밋들에 더 적은 가중치를 부여할 수 있다. 일부 경우에, 확률 분포는 적격 전송 커밋들 각각에 대한 지정된 최소 디지털 컴포넌트 전송 횟수에 의해 파라미터화될 수 있다. 경우에 따라, 확률 분포는 전송 커밋의 조건에 지정된 최소 전송 횟수를 충족시키는데 훨씬 미흡(behind)하는 전송 커밋들에 더 많은 가중치를 부여할 수 있고, 전송 커밋의 조건에 지정된 최소 전송 횟수를 충족시키는데 덜 미흡한 전송 커밋에 대해서는 더 적은 가중치를 부여할 수 있다. 전송 커밋에 할당된 사전 전송의 수가 전송 커밋의 조건에 지정된 최소 전송 수보다 작은 경우, 전송 커밋은 그 전송 커밋의 조건에 지정된 최소 전송 수를 충족시키는데 미흡하다고 한다.
장치는 선택된 적격 전송 커밋에 특정 사전 전송을 할당한다(406). 할당은 예를 들어, 특정 사전 전송에 할당된 메모리 위치에 전송 커밋에 대한 참조를 저장함으로써 발생할 수 있다.
도 5는 제안된 전송 커밋의 완료를 위해 제3자에게 부과될 고정 금액을 결정하고, 완료 후 제안된 전송 커밋의 이득을 결정하기 위한 예시적인 프로세스의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다.
기존의 각 전송 커밋은 그 전송 커밋의 각각의 제3자에게 부과될 고정 금액과 관련된다. 일반적으로 위험 인자는 시간이 지남에 따라 전송에 필요한 보상의 동적 특성으로 인해 미래에 완료될 전송 커밋 비용을 예측하는 불확실성을 반영하는 척도이다. 시스템은 제안된 전송 커밋과 기존 전송 커밋들의 예상 비용을 결정하기 위해 예를 들어 도 2를 참조하여 논의된 시뮬레이션 장치를 사용하여 공동 시뮬레이션을 수행한다(502). 일부 구현에서, 시뮬레이션을 위해, 각각의 기존 전송 커밋들을 완료하기 위한 시간 기간은 제안된 전송 커밋을 완료하기 위한 시간 기간과 동일한 것으로 간주된다. 일부 구현에서, 공동 시뮬레이션은 전송 커밋의 배포 기준이 적어도 하나의 다른 전송 커밋의 배포 기준과 겹치는 전송 커밋에 대해서만 수행되며, 이는 공동 시뮬레이션의 효율을 증가시킬 수 있다.
시스템은 제안된 전송 커밋에 대한 위험 인자(factor)를 결정한다(504). 일부 구현에서, 시스템은 사전 전송들의 배포 기준이 전송 커밋의 배포 기준들과 매칭하고 사전 전송들의 전달 시간은 그 전송 커밋을 완료하기 위한 시간 기간과 매칭하는 로그 데이터에서 사전 전송들의 전송 스코어의 변동에 적어도 부분적으로 기초하여 전송 커밋에 대한 위험 인자를 결정한다. 예를 들어, 위험 인자는 사전 전송들의 배포 기준이 전송 커밋의 배포 기준들과 매칭하고 사전 전송들의 전달 시간은 전송 커밋을 완료하기 위한 시간 기간과 매칭하는 로그 데이터에서 사전 전송들의 전송 스코어의 표준 편차의 함수(예를 들어, 상수 배수)에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 다른 구현에서, 시스템은 (도 3을 참조하여 설명된) 공동 시뮬레이션 프로세스에 의해 전송 커밋에 할당된 사전 전송들의 전송 스코어의 변동에 적어도 부분적으로 기초하여 전송 커밋에 대한 위험 인자를 결정한다. 예를 들어, 위험 인자는 공동 시뮬레이션 프로세스에 의해 전송 커밋에 할당된 사전 전송들의 전송 스코어의 표준 편차의 함수(예를 들어, 상수 배수)에 적어도 부분적으로 기초하여 결정될 수 있다.
시스템은 전송 커밋을 완료하기 위한 시간 기간에 적어도 부분적으로 기초하여 전송 커밋에 대한 위험 인자를 결정할 수 있다. 일부 구현에서, 전송 커밋을 완료하기 위한 시간 기간이 더 미래로 가면(더 멀어지면) 그 전송 커밋에 대해 더 높은 위험 인자가 결정된다. 예를 들어, 위험 인자는 전송의 위험 인자가 결정되는 시점과 전송 커밋을 완료하기 위한 시간 기간의 종료점 사이의 지속 시간의 함수(예를 들어, 상수 배수 배수)에 적어도 부분적으로 기초하여 결정될 수 있다.
시스템은 각각의 기존 전송 커밋에 대한 전송 비용을 결정한다(506). 기존 전송 커밋의 전송 비용은 다른 기존 전송 커밋들과 함께 제안된 전송 커밋을 공동으로 완료함으로 인해 기존 전송 커밋을 완료하는 비용의 예상 변경을 반영한다. 기존 전송 커밋에 대한 전송 비용은 공동 시뮬레이션에 의해 생성된 기존 전송 커밋의 예상 비용 및 기존 전송 커밋에 대해 부과될 고정 금액이 결정될 때 수행된 이전의 공동 시뮬레이션에 의해 생성된 기존 전송 커밋의 예상 비용 사이의 차이에 적어도 부분적으로 기초하여 결정될 수 있다. 구체적으로, 이전의 공동 시뮬레이션은 기존 전송 커밋 및 그 기존 전송 커밋에 대해 부과될 고정 금액이 결정될 때 존재했던 임의의 다른 전송 커밋들을 포함하였다. 그들의 배포 기준은 임의의 다른 전송 커밋들의 배포 기준과 겹치지 않기 때문에 공동 시뮬레이션에서 제외된 전송 커밋의 경우, 전송 비용은 0으로 결정될 수 있다.
시스템은 제안된 전송 커밋의 완료를 위해 부과될 고정 금액을 결정한다 (508). 일반적으로, 시스템은 공동 시뮬레이션에 기초하여 제안된 전송 커밋의 예상 비용, 기존 전송 커밋의 전송 비용 및 제안된 전송 커밋의 위험 인자에 적어도 부분적으로 기초하여 제안된 전송 커밋의 완료를 위해 부과될 고정 금액을 결정한다. 예를 들어, 일부 경우, 시스템은 제안된 전송 커밋의 예상 비용, 기존 전송 커밋의 전송 비용 및 제안된 전송 커밋의 위험 인자의 합으로 제안된 전송 커밋의 완료를 위해 부과될 고정 금액을 결정한다.
일부 경우에, 시스템은 예를 들어 제안된 전송 커밋이 달성될 수 없기 때문에 그 제안된 전송 커밋이 유효하지 않다고 결정할 수 있다. 예를 들어, 제안된 전송 커밋이 배포 기준 및 전달 시간에서 상기 제안된 전송과 매칭하는 로그 데이터의 너무 많은 사전 전송의 할당을 요구하면, 시스템은 제안된 전송 커밋이 유효하지 않다고 결정할 수 있다. 제안된 전송 커밋은 그 제안된 전송 커밋의 조건에 명시된 최소 전송 횟수가 분배 기준 및 전달 시간에서 상기 제안된 전송 커밋과 매칭하는 사전 전송의 총 수에 기초한 임계값보다 큰 경우, 로그 데이터의 너무 많은 사전 전송의 할당을 요구하는 것으로 결정될 수 있다. 배포 기준 및 배달 시간에서 제안된 전송 커밋과 일치한다. 예를 들어, 임계값은 제안된 전송 커밋과 매칭하는 사전 전송의 총 수의 고정 비율(예를 들어, 80% 또는 일부 다른 부분)로서 결정될 수 있다.
시스템은 정규화 루틴을 수행함으로써 제안된 전송 커밋을 완료한 후 제안된 전송 커밋의 이득(예를 들어, 수입 또는 이익)을 결정하여, 제안된 전송 커밋이 시스템에 의해 만들어진 이득에 대한 기여도에 대한 적절한 양의 크레딧을 수신하도록 보장한다(510). 일부 경우, 시스템은 공동 시뮬레이션에 의해 결정된 제안된 전송 커밋의 예상 비용, 제안된 전송 커밋의 위험 인자 및 제안된 전송 커밋의 실제 비용(즉, 제안된 전송 커밋의 완료를 위해 시스템이 제공한 실제 보상)에 기초하여 제안된 전송 커밋의 이득을 결정한다. 예를 들어, 시스템은 예상 비용과 위험 인자를 합산하고 실제 비용을 빼서 이득을 결정할 수 있다. 이러한 경우, 제안된 전송 커밋을 완료하기 위해 부과될 고정 금액을 결정하는데 기존 전송 커밋들의 전송 비용이 사용되었지만, 그들은 다른 전송 커밋을 완료하는 비용의 예상 증가를 반영하기 때문에 이득 계산에 반드시 반영되는 것은 아니다.
전송 커밋의 예상 비용 및 위험 인자에 대해 시스템에 의해 결정된 값은 시스템이 그것들을 계산하는 시간에 따라 달라질 수 있다. 예를 들어, 로그 데이터에 포함된 사전 전송들은 더 최근의 사전 전송들 포함하거나 및/또는 덜 최근의 사전 전송들을 배제하기 위해 시간 경과에 따라 업데이트될 수 있으며, 이에 의해 로그 데이터에 기초하여 시스템에 의해 결정된 예상 비용 및 위험 인자를 잠재적으로 변경시킬 수 있다. 전송 커밋의 예상 비용 및 위험 인자에 대해 상이한 시간에 시스템에 의해 결정된 값들의 변화를 측정하는 드리프트 에러가 계산될 수 있다. 예를 들어, 드리프트 에러는 전송 커밋의 완료를 위해 부과될 고정 금액이 결정되는 시점과 나중 사이의 전송 커밋들에 대해 시스템에 의해 결정된 예상 비용 및 위험 인자의 값들 사이의 차이의 절대 값을 결정함으로써 계산될 수 있다. 일부 경우, 전송 커밋의 예상 비용에서의 드리프트 에러는 임의의 다른 전송 커밋을 포함하지 않는 전송 커밋의 예상 비용을 결정하기 위한 시뮬레이션을 참조하여 결정된다.
제안된 전송 커밋을 완료하기 위한 실제 비용은 제안된 전송 커밋을 완료하기 위한 예상 비용과 다를 수 있다(예를 들어, 도 2를 참조하여 논의된 시뮬레이션 장치를 사용하여 제안된 전송 커밋을 완료하기 전에 결정됨). 제안된 전송 커밋을 완료하기 위한 실제 비용과 예상 비용의 차이를 측정하는 실현 에러는 예를 들어 제안된 전송 커밋을 완료하기 위한 실제 비용과 예상 비용 사이의 차이의 절대 값을 계산함으로써 시스템에 의해 결정될 수 있다. 실현 에러의 일관된 편향(bias)을 결정하는 것에 응답하여, 향후 제안된 전송 커밋(즉, 향후에 수신되는 제안된 전송 커밋)의 완료를 위해 부과될 고정 비용이 이에 따라 조정될 수 있다. 예를 들어, 전송 커밋을 완료하기 위한 예상 비용이 그 전송 커밋을 완료하기 위한 실제 비용보다 지속적으로 낮다는 결정에 응답하여, 향후 제안된 전송 커밋을 완료하기 위해 부과될 고정 비용이 증가될 수 있다. 반대로, 전송 커밋을 완료하기 위한 예상 비용이 그 전송 커밋을 완료하기 위한 실제 비용보다 지속적으로 높다는 결정에 응답하여, 향후 제안된 전송 커밋을 완료하기 위해 부과될 고정 비용이 감소될 수 있다.
전자 문서(간략화를 위해 위해 간단히 문서라고 지칭되는)는 반드시 파일에 대응하지는 않는다. 문서는 다른 문서를 보유하는 파일의 일부, 당해 문서 전용의 단일 파일 또는 다수의 조정된 파일에 저장될 수 있다.
본 명세서에 기술된 주제 및 동작들의 실시예는 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령들은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의해 실행하기 위해 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합 일 수 있거나 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파된 신호로 인코딩된 컴퓨터 프로그램 명령들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 디바이스)일 수 있거나 그에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대한 데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩상의 시스템, 또는 다수의 것, 또는 이들의 조합을 포함하여 데이터를 처리하는 모든 종류의 장치, 디바이스 및 기계를 포함한다. 이 장치는 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)을 포함할 수 있다. 장치는 또한 하드웨어 외에, 당해 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨팅 환경에 사용하기에 적합한 모듈, 구성 요소, 서브 루틴 또는 기타 디바이스를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 당해 프로그램 전용의 단일 파일, 또는 다수의 조정 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수 있으며 장치는 또한 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예로서 범용 및 특수 목적 마이크로 프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 예를 들어 자기, 자기 광 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나 이로부터 데이터를 수신하거나 데이터를 전송하거나 또는 그 둘 모두를 하기 위해 동작적으로 연결될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 또한, 컴퓨터는 다른 디바이스, 예를 들어 모바일 전화기, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게인 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스(예를 들어, USB 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 내부 하드 디스크 및 이동식 디스크와 같은 자기 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(liquid crystal display) 디스플레이 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각적 피드백, 청각 피드백 또는 촉각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각적 피드백, 청각 피드백 또는 촉각 피드백 일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서를 전송하고 문서를 수신함으로써 사용자와 상호 작용할 수 있으며; 예를 들어, 웹 브라우저에서 받은 요청에 응답하여 웹 페이지를 사용자 클라이언트 디바이스의 웹 브라우저로 전송한다.
본 명세서에 기술된 주제의 실시예는 예를 들어, 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 사용자가 본 명세서에 기술된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트, 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN") 및 광역 통신망( "WAN"), 네트워크 간(예를 들어, 인터넷) 및 피어-투-피어 네트워크(예를 들어, 애드혹 피어- 피어-네트워크)를 포함할 수 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 (예를 들어, 클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 데이터를 수신하기 위해) 데이터(예를 들어, HTML 페이지를 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명의 범위 또는 부과될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정된 특징의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명된 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예와 관련하여 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 설명되고 심지어 초기에 그렇게 부과될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합에서 제외될 수 있고, 그 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나 또는 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 전술한 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 여러 소프트웨어 제품에 패키지화될 수 있음을 이해해야 한다 .
따라서, 주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음의 청구 범위의 범위 내에 있다. 일부 경우, 청구 범위에 언급된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 또한, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구할 필요는 없다. 특정 구현들에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (26)

  1. 디지털 리소스들을 할당하기 위한 다수의 상이한 공존 커밋(commitments)에 대한 공동 시뮬레이션을 수행하는 방법으로서,
    데이터 처리 장치에 의해, 디지털 리소스들의 사전 할당(prior allocation)을 위해 로그(logged) 데이터에 액세스하는 단계와, 상기 로그 데이터는 디지털 리소스들의 개별 할당과 관련된 적어도 하나의 속성을 포함하고;
    데이터 처리 장치에 의해, 상기 로그 데이터에 포함된 디지털 리소스들의 상이한 할당을 다수의 상이한 커밋들 중 각각에 배정(assign)하는 단계로서:
    로그 데이터 내의 디지털 리소스들의 특정 할당에 대해, 디지털 리소스들을 할당하기 위한 주어진 커밋의 속성들이 디지털 리소스들의 특정 할당의 속성들과 매칭하는 디지털 리소스들을 할당하기 위해 상기 주어진 커밋에 디지털 리소스들의 특정 할당을 배정하는 단계를 포함하고; 그리고
    다수의 상이한 커밋들의 디지털 리소스를 할당하기 위한 각 커밋에 대해, 데이터 처리 장치에 의해, 다수의 상이한 커밋에 배정된 로그 데이터의 디지털 리소스들의 할당에 기초하여 상기 디지털 리소스들을 할당하기 위한 커밋에 전송 커밋 조건(commitment term)에 지정된 적어도 최소 리소스가 할당되도록 하는 예상 필요 (required) 리소스를 결정하는 단계를 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  2. 제1항에 있어서,
    상기 디지털 리소스들을 할당하기 위해 상기 주어진 커밋에 디지털 리소스들의 특정 할당을 배정하는 단계는,
    (i) 상기 커밋의 배포 기준이 디지털 리소스들의 특정 할당을 트리거한 기준과 매칭하고, (ii) 커밋을 완료하기 위한 시간 기간이 디지털 리소스들의 특정 할당의 할당 시간과 매칭하는 디지털 리소스들을 할당하기 위한 다수의 커밋을 식별하는 단계와; 그리고
    상기 식별된 커밋들에 대한 확률 분포에 따라 상기 식별된 커밋들로부터 주어진 커밋을 선택하는 단계를 포함하고, 상기 확률 분포는 식별된 커밋들 각각을 완료하기 위한 시간 기간 동안 디지털 리소스들의 지정된 최소 할당 횟수에 의해 파라미터화되는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  3. 제1항에 있어서,
    상기 디지털 리소스들을 할당하기 위해 상기 주어진 커밋에 디지털 리소스들의 특정 할당을 배정하는 단계는,
    상기 디지털 리소스들의 특정 할당을 트리거한 기준이 특정 배포 기준을 포함한다고 결정하는 단계와;
    상기 주어진 커밋에 이전에 배정된 디지털 리소스들의 제1 횟수의 할당을 결정하는 단계와;
    상기 주어진 커밋에 이전에 배정되었고 각각이 특정 배포 기준을 포함하는 개별(respective) 배포 기준을 갖는 디지털 리소스들의 제2 횟수의 할당을 결정하는 단계와;
    상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  4. 제1항에 있어서,
    상기 디지털 리소스의 할당을 트리거한 배포 기준은,
    상기 디지털 리소스들이 할당된 디바이스들의 특성을 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  5. 제1항에 있어서,
    상기 로그 데이터에 포함된 디지털 리소스들의 상이한 할당을 다수의 상이한 커밋에 배정하기 전에, 데이터 처리 장치에 의해, 상기 디지털 리소스들을 할당하기 위한 다수의 상이한 커밋 각각에 대해, 상기 커밋의 전송 기준이 디지털 리소스를 할당하기 위해 적어도 하나의 상이한 커밋의 전송 기준 세트와 겹친다고 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  6. 제1 항 내지 제5항 중 어느 한 항의 동작들을 수행하도록 구성된 컴퓨터 시스템.
  7. 다수의 상이한 공존 디지털 컴포넌트 전송 커밋들에 대한 공동 시뮬레이션을 수행하는 방법으로서,
    데이터 처리 장치에 의해, 디지털 컴포넌트들의 사전 전송을 위해 로그 데이터에 액세스하는 단계와, 상기 로그 데이터는 디지털 컴포넌트들의 전송에 대한 전송 스코어, 디지털 컴포넌트들의 전송을 트리거한 배포 기준 및 디지털 컴포넌트들의 전송의 전달 시간(delivery times)을 포함하고;
    데이터 처리 장치에 의해, 상기 로그 데이터에 포함된 상이한 디지털 컴포넌트 전송들을 다수의 상이한 전송 커밋들 중 각각에 할당(assign)하는 단계로서:
    로그 데이터의 특정 디지털 컴포넌트 전송에 대해, 주어진 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고 상기 주어진 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 상기 특정 디지털 컴포넌트 전송을 상기 주어진 전송 커밋에 할당하는 단계를 포함하고; 그리고
    다수의 상이한 디지털 컴포넌트 전송 커밋의 각 디지털 컴포넌트 전송 커밋에 대해, 데이터 처리 장치에 의해, 다수의 상이한 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트 전송들에 기초하여 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 디지털 컴포넌트 전송 커밋에 전송 커밋 조건에 지정된 적어도 최소 횟수의 디지털 컴포넌트 전송이 할당되도록 하는 예상 비용을 결정하는 단계를 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  8. 제7항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    (i) 상기 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고, (ii) 상기 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 다수의 전송 커밋을 식별하는 단계와; 그리고
    상기 식별된 전송 커밋들에 대한 확률 분포에 따라 상기 식별된 전송 커밋들로부터 상기 주어진 전송 커밋을 선택하는 단계를 더 포함하고,
    상기 확률 분포는 상기 식별된 각각의 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 지정된 최소 횟수의 디지털 컴포넌트 전송에 의해 파라미터화되는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  9. 제7항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    상기 특정 디지털 컴포넌트의 전송을 트리거한 배포 기준이 특정 배포 기준을 포함한다고 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당된 제2 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당되었고 각각이 특정 배포 기준을 포함하는 개별 배포 기준을 갖는 제2 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  10. 제7항에 있어서,
    상기 디지털 컴포넌트들의 전송을 트리거한 배포 기준은,
    상기 디지털 컴포넌트들의 전송 후 그 디지털 컴포넌트들이 제시된 전자 문서들의 특성과; 그리고
    상기 전자 문서가 디스플레이된 디바이스들의 특성 중 하나 또는 둘 모두를 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  11. 제7항에 있어서,
    상기 로그 데이터에 포함된 디지털 리소스들의 상이한 할당을 다수의 상이한 커밋에 배정하기 전에, 데이터 처리 장치에 의해, 각 디지털 컴포넌트 전송 커밋에 대해, 그 디지털 컴포넌트 전송 커밋의 전송 기준이 적어도 하나의 상이한 디지털 컴포넌트 전송 커밋의 전송 기준 세트와 겹친다고 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  12. 제7항에 있어서,
    데이터 처리 장치에 의해, 상기 결정된 디지털 컴포넌트 전송 커밋의 예상 비용과 상기 디지털 컴포넌트 전송 커밋의 초기 예상 비용 사이의 차이를 계산하는 단계를 포함하여, 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 각 디지털 컴포넌트 전송 커밋에 대한 전송 비용을 결정하는 단계와;
    상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트에 포함되지 않는 상이한 디지털 컴포넌트 전송 커밋에 대해:
    데이터 처리 장치에 의해, 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자(risk factor)를 결정하는 단계와;
    데이터 처리 장치에 의해, (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 디지털 컴포넌트 전송 커밋들에 대한 상기 결정된 전송 비용들에 기초하여 상이한 디지털 컴포넌트 전송 커밋에 부과될 고정 금액(fixed amount)을 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  13. 제12항에 있어서,
    상기 상이한 디지털 컴포넌트 전송 커밋의 완료 후, (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 상이한 디지털 컴포넌트 전송 커밋의 실제 비용에 기초하여 상이한 디지털 컴포넌트 전송 커밋의 이득을 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  14. 제13항에 있어서,
    상기 다수의 상이한 전송 커밋들의 제1 서브 세트의 각각의 전송 커밋을 완료하기 위한 시간 기간을 상이한 전송 커밋을 완료하기 위한 시간 기간과 동일하도록 조정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  15. 제14항에 있어서,
    상기 상이한 전송 커밋에 대한 위험 인자는,
    상기 상이한 디지털 컴포넌트 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트의 전송에 대한 전송 스코어들의 변동 척도에 적어도 부분적으로 기초하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  16. 제15항에 있어서,
    상기 상이한 전송 커밋에 대한 위험 인자는,
    상기 상이한 전송 커밋을 완료하기 위한 시간 기간에 적어도 부분적으로 기초하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  17. 제7항에 있어서,
    상기 예상 비용을 결정하는 단계는,
    상기 디지털 컴포넌트의 전송을 트리거한 배포 기준이 상이한 전송 커밋의 전송 기준과 매칭하고 상기 디지털 컴포넌트 전송의 전달 시간이 상이한 전송 커밋을 완료하기 위한 시간 기간과 매칭하는 상기 로그 데이터에 포함된 디지털 컴포넌트 전송들의 총 횟수를 결정하는 단계와;
    상기 상이한 전송 커밋을 완료하기 위한 시간 기간 동안 상기 지정된 최소 횟수의 디지털 컴포넌트 전송이 총 횟수에 기초하여 임계값을 초과한다고 결정하는 단계와; 그리고
    상기 지정된 최소 횟수의 디지털 컴포넌트 전송이 임계값을 초과한다는 결정에 응답하여, 상기 상이한 전송 커밋에 대해 부과될 고정 금액을 무효(invalid)로 결정하는 단계를 더 포함하는 것을 특징으로 하는 공동 시뮬레이션을 수행하는 방법.
  18. 데이터 처리 장치에 의해 실행될 때 그 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램으로 인코딩된 컴퓨터 저장 매체에 있어서, 상기 동작들은:
    디지털 컴포넌트들의 사전 전송을 위해 로그 데이터에 액세스하는 단계와, 상기 로그 데이터는 디지털 컴포넌트들의 전송에 대한 전송 스코어, 디지털 컴포넌트들의 전송을 트리거한 배포 기준 및 디지털 컴포넌트들의 전송의 전달 시간을 포함하고;
    상기 로그 데이터에 포함된 상이한 디지털 컴포넌트 전송들을 다수의 상이한 전송 커밋들 중 각각에 할당(assign)하는 단계로서:
    로그 데이터의 특정 디지털 컴포넌트 전송에 대해, 주어진 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고 상기 주어진 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 상기 주어진 전송 커밋에 특정 디지털 컴포넌트 전송을 할당하는 단계를 포함하고; 그리고
    상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 각 디지털 컴포넌트 전송 커밋에 대해, 상기 다수의 상이한 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트 전송들에 기초하여 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 디지털 컴포넌트 전송 커밋에 전송 커밋 조건에 지정된 적어도 최소 횟수의 디지털 컴포넌트 전송이 할당되도록 하는 예상 비용을 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
  19. 제18항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    (i) 상기 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고, (ii) 상기 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 다수의 전송 커밋을 식별하는 단계와; 그리고
    상기 식별된 전송 커밋들에 대한 확률 분포에 따라 상기 식별된 전송 커밋들로부터 주어진 전송 커밋을 선택하는 단계를 더 포함하고,
    상기 확률 분포는 상기 식별된 각각의 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 지정된 최소 횟수의 디지털 컴포넌트 전송에 의해 파라미터화되는 것을 특징으로 하는 컴퓨터 저장 매체.
  20. 제19항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    상기 특정 디지털 컴포넌트의 전송을 트리거한 배포 기준이 특정 배포 기준을 포함한다고 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당된 제1 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당되었고 각각이 특정 배포 기준을 포함하는 개별 배포 기준을 갖는 제2 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 것을 특징으로 하는 컴퓨터 저장 매체.
  21. 제20항에 있어서,
    상기 결정된 디지털 컴포넌트 전송 커밋의 예상 비용과 디지털 컴포넌트 전송 커밋의 초기 예상 비용 사이의 차이를 계산하는 단계를 포함하여, 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 각 디지털 컴포넌트 전송 커밋에 대한 전송 비용을 결정하는 단계와;
    상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트에 포함되지 않는 상이한 디지털 컴포넌트 전송 커밋에 대해:
    상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자(risk factor)를 결정하는 단계와;
    (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 상기 디지털 컴포넌트 전송 커밋들에 대한 상기 결정된 전송 비용들에 기초하여 상이한 디지털 컴포넌트 전송 커밋에 부과될 고정 금액(fixed amount)을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
  22. 시스템으로서,
    디지털 컴포넌트들의 사전 전송을 위해 로그 데이터를 저장하는 데이터 저장소와, 상기 로그 데이터는 디지털 컴포넌트들의 전송에 대한 전송 스코어, 디지털 컴포넌트들의 전송을 트리거한 배포 기준 및 디지털 컴포넌트들의 전송의 전달 시간을 포함하고;
    하나 이상의 프로세서를 포함하고 동작들을 수행하게 하는 명령들을 실행하는 시뮬레이션 장치를 포함하고, 상기 동작들은:
    데이터 저장소에 저장된 로그 데이터에 액세스하는 단계와;
    로그 데이터에 포함된 상이한 디지털 컴포넌트 전송들을 다수의 상이한 전송 커밋들 중 각각에 할당하는 단계로서:
    로그 데이터의 특정 디지털 컴포넌트 전송에 대해, 주어진 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고 상기 주어진 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 상기 주어진 전송 커밋에 특정 디지털 컴포넌트 전송을 할당하는 단계와; 그리고
    다수의 상이한 디지털 컴포넌트 전송 커밋의 각 디지털 컴포넌트 전송 커밋에 대해, 상기 다수의 상이한 전송 커밋에 할당된 로그 데이터의 디지털 컴포넌트 전송들에 기초하여 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 디지털 컴포넌트 전송 커밋에 전송 커밋 조건에 지정된 적어도 최소 횟수의 디지털 컴포넌트 전송이 할당되도록 하는 예상 비용을 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  23. 제22항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    (i) 상기 전송 커밋의 배포 기준이 특정 디지털 컴포넌트 전송을 트리거한 배포 기준과 매칭하고, (ii) 상기 전송 커밋을 완료하기 위한 시간 기간이 특정 디지털 컴포넌트 전송의 전달 시간과 매칭하는 다수의 전송 커밋을 식별하는 단계와; 그리고
    상기 식별된 전송 커밋들에 대한 확률 분포에 따라 상기 식별된 전송 커밋들로부터 상기 주어진 전송 커밋을 선택하는 단계를 더 포함하고,
    상기 확률 분포는 식별된 각각의 디지털 컴포넌트 전송 커밋을 완료하기 위한 시간 기간 동안 상기 지정된 최소 횟수의 디지털 컴포넌트 전송에 의해 파라미터화되는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서,
    상기 특정 디지털 컴포넌트 전송을 주어진 전송 커밋에 할당하는 단계는,
    상기 특정 디지털 컴포넌트의 전송을 트리거한 배포 기준이 특정 배포 기준을 포함한다고 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당된 제1 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 주어진 전송 커밋에 이전에 할당되었고 각각이 특정 배포 기준을 포함하는 개별 배포 기준을 갖는 제2 횟수의 디지털 컴포넌트 전송을 결정하는 단계와;
    상기 제2 횟수가 제1 횟수에 기초하여 임계값을 초과하지 않는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 것을 특징으로 하는 시스템.
  25. 제24항에 있어서,
    상기 시뮬레이션 장치는,
    상기 결정된 디지털 컴포넌트 전송 커밋의 예상 비용과 디지털 컴포넌트 전송 커밋의 초기 예상 비용 사이의 차이를 계산하는 단계를 포함하여, 상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 각 디지털 컴포넌트 전송 커밋에 대한 전송 비용을 결정하는 단계와;
    상기 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트에 포함되지 않는 상이한 디지털 컴포넌트 전송 커밋에 대해:
    상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자(risk factor)를 결정하는 단계와;
    (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 다수의 상이한 디지털 컴포넌트 전송 커밋의 제1 서브 세트의 디지털 컴포넌트 전송 커밋들에 대한 상기 결정된 전송 비용들에 기초하여 상이한 디지털 컴포넌트 전송 커밋에 부과될 고정 금액을 결정하는 단계를 포함하는 동작들을 더 수행하는 것을 특징으로 하는 시스템.
  26. 제25항에 있어서,
    상기 시뮬레이션 장치는,
    상기 상이한 디지털 컴포넌트 전송 커밋의 완료 후, (i) 상이한 디지털 컴포넌트 전송 커밋에 대한 위험 인자, (ii) 상이한 디지털 컴포넌트 전송 커밋의 예상 비용 및 (iii) 상이한 디지털 컴포넌트 전송 커밋의 실제 비용에 기초하여 상기 상이한 디지털 컴포넌트 전송 커밋의 이득을 결정하는 단계를 포함하는 동작들을 더 수행하는 것을 특징으로 하는 시스템.
KR1020197032190A 2017-12-20 2017-12-20 공동 전송 커밋 시뮬레이션 KR102268529B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/067607 WO2019125434A1 (en) 2017-12-20 2017-12-20 Joint transmission commitment simulation

Publications (2)

Publication Number Publication Date
KR20190137118A KR20190137118A (ko) 2019-12-10
KR102268529B1 true KR102268529B1 (ko) 2021-06-23

Family

ID=61006351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032190A KR102268529B1 (ko) 2017-12-20 2017-12-20 공동 전송 커밋 시뮬레이션

Country Status (6)

Country Link
US (1) US11294731B2 (ko)
EP (1) EP3602461A1 (ko)
JP (1) JP6928115B2 (ko)
KR (1) KR102268529B1 (ko)
CN (1) CN110914854B (ko)
WO (1) WO2019125434A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736490B (zh) * 2020-07-22 2023-09-05 北京润科通用技术有限公司 联合仿真方法、装置、系统及电子设备
KR102312206B1 (ko) 2020-11-20 2021-10-13 강다현 화학약품을 사용하지 않는 두피교정 모발교정 방법, 그리고 그 두피 및 헤어케어 조성물

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680923B1 (en) 2016-10-06 2017-06-13 Pranav Jain Platform and network for joint distribution of content by multiple publishers

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593871B1 (en) * 2004-06-14 2009-09-22 Ewinwin, Inc. Multiple price curves and attributes
US20020124246A1 (en) 2001-03-02 2002-09-05 Kaminsky David Louis Methods, systems and program products for tracking information distribution
US20030225648A1 (en) * 2002-05-28 2003-12-04 Ronald Hylton Constant leverage synthetic assets
US20040033806A1 (en) * 2002-08-16 2004-02-19 Cellglide Technologies Corp. Packet data traffic management system for mobile data networks
JP4423026B2 (ja) 2003-12-24 2010-03-03 株式会社クライテリア・コミュニケーションズ 広告配信システム及び方法
US7975270B2 (en) 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
KR20070050091A (ko) 2004-09-30 2007-05-14 사이트릭스 시스템스, 인크. 소프트웨어 애플리케이션의 실행을 분리하는 방법 및 장치
US8170913B1 (en) 2004-11-10 2012-05-01 Google Inc. Optimizing placement and delivery of advertisements
US20060253328A1 (en) 2005-05-06 2006-11-09 Ujjal Kohli Targeted advertising using verifiable information
EP3136671A1 (en) * 2005-10-21 2017-03-01 Apple Inc. Multiplexing schemes for ofdma
WO2008095140A1 (en) * 2007-01-31 2008-08-07 Bids Trading, L.P. Electronic block trading system and method of operation
JP5083311B2 (ja) * 2007-03-16 2012-11-28 富士通株式会社 制御プログラム、制御装置、制御方法、中継プログラム
US20080243601A1 (en) 2007-03-27 2008-10-02 Google Inc. Advertisement inventory processing
KR20080091189A (ko) 2008-07-31 2008-10-09 노키아 코포레이션 접근 관리
KR101461371B1 (ko) * 2008-09-02 2014-11-13 알까뗄 루슨트 무선 액세스 네트워크에서 업링크 자원 할당을 요청 및 처리하기 위한 방법 및 장치
US8145530B2 (en) 2008-10-01 2012-03-27 Google Inc. Targeting based placement identification
US8335721B2 (en) 2008-10-01 2012-12-18 Google Inc. Placement identification and reservation
US20100100422A1 (en) 2008-10-22 2010-04-22 Yahoo! Inc. Apparatus and methods for pricing guaranteed delivery contracts
US8515814B2 (en) * 2008-11-11 2013-08-20 Combinenet, Inc. Automated channel abstraction for advertising auctions
US9557889B2 (en) * 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
WO2010088605A2 (en) * 2009-01-30 2010-08-05 Invidi Technologies Corporation System and method for auctioning avails
US8645190B1 (en) * 2009-05-28 2014-02-04 Google Inc. Providing pricing guidance for content items in publications
JP5349544B2 (ja) 2011-06-27 2013-11-20 株式会社ゼンリンデータコム ガイド情報提供支援装置、支援方法およびそのプログラム
US20150088997A1 (en) * 2011-08-29 2015-03-26 Google Inc. Method and System for Tracking Estimated Cost of Events
JP2014052920A (ja) 2012-09-07 2014-03-20 Shigeto Umeda 広告等のシステム
JP5683626B2 (ja) 2013-03-18 2015-03-11 ヤフー株式会社 広告配信装置、広告配信方法及び広告配信プログラム
US20180357678A1 (en) * 2013-07-16 2018-12-13 Google Inc. Offline conversion tracking
US10467693B2 (en) * 2013-11-07 2019-11-05 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US20150127509A1 (en) * 2013-11-07 2015-05-07 Chicago Mercantile Exchange Inc. Transactionally Deterministic High Speed Financial Exchange Having Improved, Efficiency, Communication, Customization, Performance, Access, Trading Opportunities, Credit Controls, and Fault Tolerance
US9213576B2 (en) * 2014-01-31 2015-12-15 Google Inc. Efficient resource utilization in data centers
US11057446B2 (en) * 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
JP6034481B1 (ja) 2015-06-04 2016-11-30 株式会社デジタルインテリジェンス 広告配信システム及び方法、並びにプログラム
JP6130034B1 (ja) * 2016-07-07 2017-05-17 ヤフー株式会社 広告配信装置、広告配信方法、及び広告配信プログラム
US10748210B2 (en) * 2016-08-09 2020-08-18 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of scheduled instructions across multiple components
KR102393818B1 (ko) 2017-02-02 2022-05-03 구글 엘엘씨 커스텀 디지털 컴포넌트
CN109377273B (zh) 2018-10-10 2020-10-30 上海晶赞融宣科技有限公司 广告投放方法、装置以及计算机可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680923B1 (en) 2016-10-06 2017-06-13 Pranav Jain Platform and network for joint distribution of content by multiple publishers

Also Published As

Publication number Publication date
JP2020530143A (ja) 2020-10-15
US11294731B2 (en) 2022-04-05
KR20190137118A (ko) 2019-12-10
US20210294666A1 (en) 2021-09-23
CN110914854B (zh) 2024-04-09
JP6928115B2 (ja) 2021-09-01
CN110914854A (zh) 2020-03-24
WO2019125434A1 (en) 2019-06-27
EP3602461A1 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
US10515132B2 (en) Optimizing transmission of digital components
KR102196404B1 (ko) 지연 감소
US20190080019A1 (en) Predicting Non-Observable Parameters for Digital Components
US10686718B1 (en) Allocating resources
US20170358000A1 (en) Intraday modeling to adjust online ad distribution
US9256688B2 (en) Ranking content items using predicted performance
JP6617193B2 (ja) 最適化されたデジタル・コンポーネント分析システム
KR102268529B1 (ko) 공동 전송 커밋 시뮬레이션
US10140256B2 (en) Location specific content visualization formatting
WO2018034719A1 (en) Optimized machine learning system
US20140379464A1 (en) Budget distribution in online advertising
US20170132667A1 (en) Requesting publisher information for resource presentation
US10102304B1 (en) Multi-stage digital content evaluation
US11080762B1 (en) Content item auction bidding
US20180324478A1 (en) System and method for managing content presentation on client devices
JP7239758B2 (ja) デジタルコンポーネントをフォーマットするための確率的技法
US20240160678A1 (en) Distributing digital components based on predicted attributes
JP7227349B2 (ja) 寄与増分機械学習モデル
US20190332975A1 (en) Dynamic segment access optimization
WO2023234938A1 (en) Distributing digital components based on predicted attributes

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