Architektura

Poznaj architekturę aukcji w usługach określania stawek i usługach aukcji

Omówienie

Usługi określania stawek i usługi aukcyjne to zestaw usług dla kupujących i sprzedawców, który działa w zaufanym środowisku wykonawczym (TEE), aby ułatwić przeprowadzanie aukcji Protected Audience. Na tej stronie opisujemy różne konfiguracje aukcji, w których można używać B&A w aukcji PA.

Definicje

Termin Opis
Aukcja Protected Audience Aukcja reklamy, która wykorzystuje dane z wielu witryn
Aukcja kontekstowa Aukcja reklam, która nie obejmuje danych między witrynami. Ta aukcja przebiega zgodnie z dotychczasową ścieżką aukcji określania stawek w czasie rzeczywistym (RTB).
Żądanie dotyczące ujednoliconej aukcji Żądanie wysyłane przez kod JavaScript sprzedawcy z przeglądarki, które zawiera ładunek zarówno dla aukcji Protected Audience, jak i aukccji kontekstowej.
Usługa reklamowa dla sprzedawców (SAS) Usługa odpowiedzialna za obsługę żądania ujednoliconej aukcji z przeglądarki. Może to być dotychczasowy serwer reklam RTB sprzedawcy. SAS odpowiada za prowadzenie aukcji kontekstowych i z użyciem listy chronionych odbiorców.
Usługa reklamowa dla kupujących Usługa odpowiedzialna za przesyłanie stawki aukcji kontekstowej. Może to być dotychczasowy serwer reklam ORTB kupującego.

Usługi dla kupujących i sprzedających

Usługi fuzji i przejęcia obejmują 4 usługi dla kupujących i sprzedających:

  • W przypadku kupujących dostępne są usługa ustalania stawek i usługa frontendu kupującego.
  • Dla sprzedawców dostępne są usługi aukcji i front-end dla sprzedawców.
Uczestnik Usługa Opis
Osoba odpowiadająca za zakupy Usługa front-end kupującego Usługa obsługuje GetBids żądanie z SFE sprzedawcy. Jest ona odpowiedzialna za odszyfrowywanie danych, pobieranie sygnałów K/V i wywoływanie funkcji GenerateBids Usługi ustalania stawek.
Usługa określania stawek Usługa obsługuje żądanie GenerateBidsBFE. Jest odpowiedzialny za stosowanie logiki ustalania stawek przez kupującego i generowanie stawki.
Sprzedawca Usługa interfejsu sprzedawcy (SFE) Usługa obsługuje żądanie SelectAdusługi reklamowej sprzedawcy. Jest ona odpowiedzialna za odszyfrowywanie ładunku, wywoływanie operacji GetBidsBFE, pobieranie sygnałów K/V, wywoływanie operacji ScoreAdusłudze aukcji, a następnie zwracanie zaszyfrowanego wyniku aukcji B&A do SAS.

Jeśli usługa jest częścią pakietu usług sprzedawcy najwyższego poziomu w ramach aukcji wielosprzedawców sterowanej przez serwer, obsługuje ona również żądanie GetComponentAuctionCiphertextsSAS.

Serwis aukcyjny Usługa obsługuje żądanie ScoreAdSFE. Jest odpowiedzialny za uruchamianie logiki punktacji sprzedawcy i za podanie wyniku atrakcyjności stawki.

Architektura aukcji PA B&A w internecie

Na poniższym diagramie opisano podstawową aukcję Protected Audience z usługami B&A z jednym sprzedawcą i jednym kupującym. Grube czerwone ramki oznaczają usługi działające w TEE:

Kod JavaScript po stronie klienta wysyła żądanie zunifikowanej aukcji do SSP. SAS wysyła żądanie do SFE, a SFE wysyła żądanie do BFE o stawkę
(Diagram w pełnej wielkości)
  1. Kod JavaScript SSP na stronie wydawcy generuje zaszyfrowane dane aukcji reklam B&A, wywołując funkcję navigator.getInterestGroupAdAuctionData().
    • Zaszyfrowany ładunek zawiera dane kupującego i może zostać odszyfrowany tylko w ramach SFE w TEE.
  2. Kod JavaScript SSP wysyła żądanie dotyczące zunifikowanej aukcji do usługi reklamowej sprzedawcy.
    • Żądanie ujednoliconej aukcji zawiera zarówno ładunek aukcji kontekstowej ORTB w postaci tekstu zwykłego, jak i zaszyfrowany ładunek aukcji typu B&A.
    • Usługa reklamowa sprzedawcy to dotychczasowy serwer reklam, który nie działa w enklawie TEE.
  3. Usługa reklamy sprzedawcy wywołuje usługę RTB platformy DSP, aby poprosić o stawkę aukcji kontekstowej i sygnały kupującego, które mają zostać przekazane do kolejnej aukcji PA.
    • Może to być krok, w którym kupujący sygnalizuje chęć udziału w aukcji PA.
  4. Po zakończeniu aukcji kontekstowej usługa SAS wysyła SelectAd do usługi SFE.
    • Do ładunku SelectAd żądania są dodawane sygnały dotyczące zwycięskiej stawki i kupujących w kontekstualnej aukcji.
  5. Usługa SFE dostawcy usług reklamowych wywołuje usługę BFE dostawcy usług reklamowych z żądaniem GetBids.
  6. BFE w DSP wywołuje usługę ustalania stawek z żądaniem GenerateBids.
  7. Gdy SFE otrzyma stawkę, wywołuje usługę aukcji ScoreAd.
    • Stawka o najwyższym wyniku pożądania jest zwracana do SAS, a potem przekazywana do kodu JavaScript na stronie.
  8. Aukcja kończy się w przeglądarce, gdy wynik zaszyfrowanej aukcji B&A zostanie przekazany do wywołania navigator.runAdAuction().

Konfiguracje aukcji

Aukcję Protected Audience z usługami B&A można skonfigurować na kilka sposobów:

  • Aukcja pojedynczego sprzedawcy z kupującymi korzystającymi z B&A
  • Aukcja w trybie mieszanym z kupującymi na urządzeniu i kupującymi w ramach B&A
  • aukcja wielosprzedawców, która może być sterowana na poziomie urządzenia lub serwera;

Uczestnicy

Aby opisać poszczególne konfiguracje aukcji, w tym przewodniku używamy następujących nazw:

Uczestnik Opis
DSP-A Kupujący na urządzeniu
DSP-B Kupujący na urządzeniu
DSP-X Kupujący w ramach fuzji i przejęcia
DSP-Y Kupujący w ramach fuzji i przejęcia
SSP-TOP Najlepszy sprzedawca
SSP-OD Sprzedawca tylko na urządzeniu
SSP-BA sprzedawca, który oferuje tylko produkty B&A,
SSP-MIX Sprzedawca w trybie mieszanym

Istnieją 4 platformy DSP:

  • DSP-ADSP-B uczestniczą tylko w aukcjach na urządzeniu
  • DSP-XDSP-Y biorą udział zarówno w aukcjach na urządzeniu, jak i w aukcjach typu B&A

Istnieją 4 SSP, a każdy sprzedawca korzysta z innej konfiguracji aukcji:

  • SSP-OD przeprowadza aukcję tylko na urządzeniu.
  • SSP-BA przeprowadza aukcję tylko z uwzględnieniem B&A,
  • SSP-MIX przeprowadza aukcję w trybie mieszanym
  • SSP-TOP przeprowadza aukcję wielu sprzedawców:
    • SSP-OD/BA/MIX biorą udział w aukcji wielu sprzedawców SSP-TOP jako sprzedawcy komponentów.

Aukcja B&A z jednym sprzedawcą

W przypadku konfiguracji z jednym sprzedawcą jeden sprzedawca prowadzi aukcję, w której bierze udział wielu kupujących. Jeśli sprzedawca prowadzi aukcję B&A, kupujący muszą korzystać ze zbioru usług kupującego w ramach usług B&A, aby zgłaszać stawki do aukcji. Kupujący i sprzedający nie muszą korzystać z tego samego dostawcy usług w chmurze.

Architektura pojedynczego sprzedawcy, w której jeden SFE komunikuje się z wieloma BFE, aby otrzymywać oferty.
(Diagram w pełnej wielkości)

W poprzedniej konfiguracji SSP-BA prowadzi aukcję B&A, w której DSP-XDSP-Y biorą udział za pomocą zbioru usług dla kupujących B&A. Usługa reklamowa sprzedawcy najpierw przeprowadza aukcję kontekstową dla DSP-XDSP-Y, a potem przeprowadza aukcję Protected Audience, wysyłając żądanie SelectAd do usługi SFE sprzedawcy. Wygrana stawka w aukcji kontekstowej i sygnały dotyczące każdego kupującego są przekazywane do wywołania SelectAd. Następnie usługa SFE wysyła żądania GetBids do usług DSP-X i DSP-Y, które wywołają usługę ustalania stawek, aby wygenerować stawkę.

Zaszyfrowany wynik aukcji B&A jest zwracany do klienta i przekazywany do wywołania runAdAuction(). Konfiguracja aukcji pojedynczego sprzedawcy wygląda tak:

await navigator.runAdAuction({
  seller: 'https://ssp-ba.example',
  requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
  serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
})

Wartość requestId pochodzi z wywołania getInterestGroupAdAuctionData() na kliencie, a dane serverResponse pochodzą z aukcji B&A po stronie serwera.

Aukcja w trybie mieszanym

W konfiguracji mieszanej kupujący mogą brać udział w aukcji sprzedawcy na urządzeniu lub w ramach usługi B&A. Niebieskie strzałki wskazują ścieżkę aukcji na urządzeniu, a czerwone – ścieżkę aukcji B&A:

Architektura sprzedawcy w trybie mieszanym, w której kupujący mogą przesyłać stawki z urządzenia lub z aplikacji B&A.
(Diagram w pełnej wielkości)

W tej konfiguracji DSP-ADSP-B to kupujący, którzy przesyłają stawki na urządzeniu, a DSP-XDSP-Y to kupujący, którzy przesyłają stawki za pomocą B&A. Kupujący na urządzeniu biorą udział w aukcji na urządzeniu w ramach pakietu reklamowego w przeglądarce, a kupujący w ramach pakietu reklamowego biorą udział w aukcji w ramach pakietu reklamowego opisanej w sekcji Aukcja na urządzeniu.

Aukcja kontekstowa jest uruchamiana najpierw dla wszystkich kupujących, aby zebrać zwycięską stawkę i sygnały kupujących. Następnie przeprowadzana jest aukcja B&A, a sygnały kupującego z aukcji kontekstowej są przekazywane do SelectAd w ramach żądania wysyłanego do SFE. Zaszyfrowany wynik aukcji B&A zwrócony przez SFE jest przekazywany do przeglądarki. Po aukcji B&A jej wynik jest przekazywany do aukcji na urządzeniu, w której biorą udział kupujący na urządzeniu.

Konfiguracja aukcji w trybie mieszanym dla jednego sprzedawcy na potrzeby części aukcji na urządzeniu wygląda mniej więcej tak:

await navigator.runAdAuction({
  seller: 'https://ssp-mix.example',
  decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
  componentAuctions: [
    // B&A auction
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 14, ]
    },
    // On-device auction
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
    }
  ]
})

równoległość aukcji na urządzeniu i aukcji B&A,

Bez równoległości aukcje są wykonywane sekwencyjnie: najpierw aukcja kontekstowa, potem aukcja B&A, a na końcu aukcja na urządzeniu. Po wdrożeniu równoległości aukcja kontekstowa jest nadal uruchamiana jako pierwsza, ale jej wynik i sygnały są przesyłane z powrotem do klienta, aby można było równolegle rozpocząć aukcję na urządzeniu jeszcze przed zakończeniem aukcji B&A.

Diagram pokazujący, jak wynik aukcji kontekstowej, sygnały i wynik SelectAd są przesyłane z powrotem do kodu JavaScript przeglądarki
(Diagram w pełnej wielkości)

Kod JavaScriptu na kliencie wysyła żądanie dotyczące aukcji zunifikowanej do SAS, a SAS uruchamia aukcję kontekstową i aukcję B&A z ofertą preferencyjną. Gdy SAS otrzyma odpowiedź od serwera RTB kupującego, sygnały kupującego dotyczące aukcji na urządzeniu mogą zostać przesłane z powrotem do przeglądarki wraz z zwycięzcą aukcji kontekstowej po otrzymaniu wszystkich stawek. Przesyłane sygnały dotyczące kupujących są wykorzystywane do generowania stawki na urządzeniu, a zwycięzca aukcji kontekstowej służy jako minimalna stawka podczas oceniania stawek.

W przypadku SAS sprzedawca generuje UUID nonce, który jest ustawiany w nagłówku odpowiedzi Ad-Auction-Result-Nonce podczas przesyłania strumieniowego danych aukcji kontekstowej do przeglądarki. Ta sama wartość jednorazowa jest używana w wywołaniu SelectAd do SFE na potrzeby aukcji B&A, a ta wartość jest uwzględniana w odpowiedzi SelectAd z SFE. Na etapie aukcji po stronie klienta przeglądarka sprawdza, czy losowy ciąg znaków w nagłówku odpowiedzi Ad-Auction-Result-Nonce jest zgodny z losowym ciągiem znaków w zaszyfrowanym ładunku danych z wynikiem aukcji.

Aby dowiedzieć się więcej o równoległym przetwarzaniu w trybie mieszanym, zapoznaj się z tym artykułem.

Aukcja wielu sprzedawców

Istnieją 2 sposoby przeprowadzania aukcji wielosprzedawców z uwzględnieniem PA:

  1. aukcja sterowana przez urządzenie, w której wywołanie usługi reklamowej każdego sprzedawcy komponentów pochodzi z przeglądarki;
  2. aukcji sterowanej przez serwer, w której wywołanie usługi reklamowej każdego sprzedawcy komponentów pochodzi z usługi reklamowej sprzedawcy najwyższego poziomu;

Aukcja wielu sprzedawców sterowana na urządzeniu

W aukcji wielu sprzedawców sterowanej przez urządzenie każdy sprzedawca komponentów może prowadzić aukcję w dowolnej konfiguracji. W aukcji najwyższego poziomu mogą brać udział sprzedawcy na urządzeniu, sprzedawcy w trybie B&A i sprzedawcy w trybie mieszanym.

Diagram pokazujący, jak wielu sprzedawców korzystających z różnych konfiguracji aukcji może przesyłać wyniki aukcji do sprzedawcy najwyższego poziomu.
(Diagram w pełnej wielkości)
W tym przypadku usługa SSP-TOP, która jest usługą na najwyższym poziomie, przeprowadza aukcję wielosprzedawców, w której uczestniczą usługi SSP-OD, SSP-BA i SSP-MIX: * Usługa SSP-OD, która przeprowadza aukcję PA tylko na urządzeniu, przesyła konfigurację aukcji komponentów na urządzeniu do usługi na najwyższym poziomie. * `SSP-BA`, który prowadzi aukcję B&A, wysyła żądanie ujednoliconej aukcji do usługi reklamowej sprzedawcy i prowadzi własne aukcje kontekstowe i B&A. Wyniki są przesyłane do sprzedawcy najwyższego poziomu. * `SSP-MIX`, który przeprowadza aukcję w trybie mieszanym, najpierw przeprowadza aukcję B&A na serwerze, a potem przesyła wynik aukcji B&A i konfigurację aukcji na urządzeniu. Sprzedawca najwyższego poziomu zbiera konfiguracje aukcji komponentów od każdego sprzedawcy i tworzy konfigurację aukcji, która wygląda mniej więcej tak: ```js await navigator.runAdAuction({ seller: 'https://ssp-top.example', decisionLogicURL: 'https://ssp-top.example/score-ad.js', componentAuctions: [ // Aukcja B&A tylko dla SSP-BA { seller: 'https://ssp-ba.example', requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c', serverResponse: Uint8Array(560) [193, 120, 4, …] // Zaszyfrowany wynik aukcji B&A }, // Aukcja B&A w trybie mieszanym w SSP-MIX { seller: 'https://ssp-mix.example', requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c', serverResponse: Uint8Array(560) [133, 20, 4, …] // Zaszyfrowany wynik aukcji B&A }, // Aukcja na urządzeniu w trybie mieszanym w SSP-MIX { seller: 'https://ssp-mix.example', interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'], decisionLogicURL: 'https://ssp-mix.example/score-ad.js', }, // Aukcja na urządzeniu w trybie mieszanym w SSP-OD { seller: 'https://ssp-od.example', interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'], decisionLogicURL: 'https://ssp-od.example/score-ad.js', } ] }) ``` ### Aukcja wielosprzedawców sterowana na serwerze W aukcji wielosprzedawców sterowanej na serwerze wywołania usług reklamowych sprzedawcy komponentu są wykonywane z usługi reklamowej sprzedawcy najwyższego poziomu. W takim przypadku sprzedawcy komponentów nie mogą prowadzić aukcji na urządzeniu ani w trybie mieszanym. Wszyscy sprzedawcy muszą używać B&A, a wszyscy kupujący muszą przesyłać stawki za pomocą B&A.
SSP najwyższego poziomu wysyła żądanie ujednoliconej aukcji do usługi reklamowej sprzedawcy. Usługa reklamy sprzedawcy wywołuje usługę SFE, aby wykonać operację GetComponentAuctionCipherTexts. Zwrócone teksty zaszyfrowane są następnie wysyłane do usługi reklamowej każdego sprzedawcy komponentów, która przeprowadza własne aukcje B&A.
(Diagram w pełnej wielkości)

Na tym schemacie SSP-TOP przeprowadza skoordynowaną przez serwer aukcję wielosprzedawców, w której uczestniczą SSP-BA-X i SSP-BA-Y.

Z przeglądarki do usługi reklamowej sprzedawcy na najwyższym poziomie jest wysyłane jedno żądanie ujednoliconej aukcji, które zawiera ładunek kontekstowych i aukcji PA dla wszystkich uczestników. Następnie SAS wywołuje GetComponentAuctionCiphertexts w SFE z ładunkiem. SFE odszyfruje ładunek, rozdzieli go według każdego sprzedawcy komponentów i zwróci ponownie zaszyfrowane ładunki do usługi SAS sprzedawcy najwyższego poziomu.

Definicje proto żądania i odpowiedzi GetComponentAuctionCiphertexts:

// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
  bytes protected_auction_ciphertext = 1; // Generated in the browser
  repeated string component_sellers = 2; // The list of all component sellers
}

// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
  // A map of component sellers and their re-encrypted payloads
  map<string, bytes> seller_component_ciphertexts = 1;
}

W przypadku każdego komponentu sprzedawcy ładunek SAS sprzedawcy na najwyższym poziomie wywołuje SAS sprzedawców komponentów, a każdy SAS komponentu przeprowadza aukcję B&A komponentu. Następnie wyniki aukcji komponentów są zwracane do usługi aukcji sprzedawcy najwyższego poziomu, a stawki z aukcji komponentów są oceniane przez usługę aukcji sprzedawcy najwyższego poziomu. Stawka z najwyższą oceną pożądania jest zwracana do SFE, a zaszyfrowany ładunek jest wysyłany do SAS, aby został zwrócony klientowi. W przeglądarce sprzedawca najwyższego poziomu kończy aukcję, wywołując funkcję navigator.runAdAuction() i przekazując zaszyfrowany ładunek z wynikiem aukcji serwera.

Dalsze kroki

Po przeczytaniu tego przewodnika wykonaj te czynności:

Więcej informacji

Masz pytania?