3. RTB
• Real Time Bidding
• real time auction for each ad impression to
decide price
4. Ad Request
Ad Server
Browser for Publisher
(SSP)
5. Bid Request
Ad Server
Browser for Publisher
(SSP) Ad Server
for
Advertiser
(DSP)
6. Bid
10
Ad Server 20
Browser for Publisher
(SSP) Ad Server
30 for
Advertiser
(DSP)
15
7. Auction
10
Ad Server 20
Browser for Publisher
(SSP) Ad Server
30 for
Advertiser
(DSP)
15
※usually “second price auction”
2nd highest bid price will be the contract price
8. Display winner Ad
10
Ad Server 20
Browser for Publisher
(SSP) Ad Server
30 for
Advertiser
(DSP)
15
15. Timeout
• timeout for each connection
• C socket API has “connect()” and “recv()”
•
need to manage each timeout
• what we need is “round trip” timeout
• timeout for total auction process
• hard to implement in some languages like C
•
watch dog thread for each processes?
•
multi processes + signal?
16. My options
• write in C with libev, libeio and so on
• use node.js (it uses libev libeio)
• light weight process(like Erlang)
26. Let’s go!
• implement RTB daemon in Erlang
• other system is not Erlang
• receive request from other system,
return auction result
• 120msec timeout in each process
27. Performance
• about 3 Billion bids/month
• about 110 Million bids/day
• about 5000 bids/sec (peak time)