IP Library › Granted Patent US 12,639,140
Granted Patent B2
US 12,639,140 · App. 18/405,550 · Granted May 26, 2026

Real-time data processing pipeline and pacing control systems and methods

Inventors: Charles Brian O'Kelley (New York, NY); Catherine Mary Williams (Seattle, WA); Taylor Edward Burmeister (Brooklyn, NY); Yaron Lissack (Great Neck, NY); Justin Pines (New York, NY); Samuel Seljan (Portland, OR); Jaidev Sridhar (New York, NY)
Assignee: Microsoft Technology Licensing, LLC
G06F9/546G06F9/466G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,639,140
App. No.
18/405,550
Granted
May 26, 2026
Kind
B2
Abstract

A data processing system includes a transaction bus, a console application in communication with the transaction bus, and a view predictor subsystem in communication with the transaction bus. The transaction bus receives, from a user application executing on a client device, a call for visual information to be provided to the user application. The view predictor subsystem determines a likelihood that the visual information will be viewable within a viewport of the user application, and a plurality of respective values for a plurality of sources of the visual information are computed based on the likelihood and a respective priority for each source. The console application provides to the transaction bus the set of potential sources of the visual information, and the transaction bus selects, based on the computed values, one of the potential sources of the visual information to be the result, which is provided to the user application.

Claims (60)

1 . A device, comprising:

a processing system including a processor; and

a memory that stores executable instructions that, when executed by the device, facilitate performance of operations, the operations comprising:

transmitting an instruction to a communication device, wherein the instruction causes the communication device to dynamically determine, in real-time, first viewability data of advertisement space presented in a user interface of the communication device, wherein the first viewability data indicates whether the advertisement space is viewable in the user interface of the communication device;

receiving the first viewability data of the advertisement space during a first time interval;

dynamically determining, based on the first viewability data, second viewability data of the advertisement space during a second time interval, wherein the second viewability data indicates a likelihood of the advertisement space being viewable during the second time interval; and

sending a first bid request to a computing device associated with a bidder, wherein the first bid request comprises a request for a real time bid on the advertisement space during the second time interval, and the first bid request includes the second viewability data.

2 . The device of claim 1 , wherein the operations comprise:

receiving a bid from the computing device resulting in a first group of bids; and

selecting a first bid from the first group of bids, wherein the first bid is a highest bid from among the first group of bids.

3 . The device of claim 1 , wherein the first bid request is associated with a bid, wherein the sending of the first bid request to the computing device comprises sending a first bid discount associated with the bid.

4 . The device of claim 3 , wherein the first bid discount is based on the second viewability data of the advertisement space.

5 . The device of claim 3 , wherein the first bid discount is based on a historical viewability of the advertisement space.

6 . The device of claim 3 , wherein the operations comprise:

determining an actual viewability data of the advertisement space;

determining an accuracy of the second viewability data of the advertisement space with the actual viewability data of the advertisement space resulting in a first determination;

computing a first payment for a first bidder associated with a first bid based on the first bid, the first bid discount, and the first determination; and

providing the first payment to the first bidder.

7 . The device of claim 6 , wherein the operations comprise adjusting the first bid discount to a second bid discount based on the first determination.

8 . The device of claim 7 , wherein the operations comprise sending a second bid request to the computing device, wherein the second bid request comprises the second viewability data of the advertisement space and the second bid discount during a third time interval.

9 . The device of claim 8 , wherein the operations comprise:

receiving another bid from the computing device resulting in a second group of bids; and

selecting a second bid from the second group of bids, wherein the second bid is a highest bid from among the second group of bids.

10 . The device of claim 9 , wherein the operations comprise:

determining an updated actual viewability of the advertisement space;

determining an updated accuracy of the second viewability data of the advertisement space with the updated actual viewability of the advertisement space resulting in a second determination;

computing a second payment for a second bidder associated with the second bid based on the second bid, the second bid discount, and the second determination; and

providing the second payment to the second bidder.

11 . A non-transitory, machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:

transmitting an instruction to a communication device, wherein the instruction causes the communication device to dynamically determine, in real-time, first viewability data of advertisement space presented in a user interface of the communication device, wherein the first viewability data indicates whether the advertisement space is viewable in the user interface of the communication device;

receiving the first viewability data of the advertisement space during a first time interval;

dynamically determining, based on the first viewability data, second viewability data of the advertisement space during a second time interval, wherein the second viewability data indicates a likelihood of the advertisement space ‘being viewable during the second time interval; and

sending a first bid request to a computing device associated with a bidder, wherein the first bid request comprises a request for a real time bid on the advertisement space during the second time interval, and the first bid request includes the second viewability data.

12 . The non-transitory, machine-readable medium of claim 11 ,

wherein the first bid request is associated with a bid, wherein the sending of the first bid request to the computing device comprises sending a first bid discount associated with the bid, and

the first bid discount is based on the second viewability data of the advertisement space.

13 . The non-transitory, machine-readable medium of claim 12 , wherein the first bid discount is based on a historical viewability of the advertisement space.

14 . The non-transitory, machine-readable medium of claim 12 , wherein the operations comprise:

determining an actual viewability data of the advertisement space;

determining an accuracy of the second viewability data of the advertisement space with the actual viewability data of the advertisement space resulting in a first determination;

computing a first payment for a first bidder associated with a first bid based on the first bid, the first bid discount, and the first determination; and

providing the first payment to the first bidder.

15 . The non-transitory, machine-readable medium of claim 14 , wherein the operations comprise adjusting the first bid discount to a second bid discount based on the first determination.

16 . The non-transitory, machine-readable medium of claim 15 , wherein the operations comprise sending a second bid request to the computing device, wherein the second bid request comprises the second viewability data of the advertisement space and the second bid discount during a third time interval.

17 . The non-transitory, machine-readable medium of claim 16 , wherein the operations comprise:

receiving another bid from the computing device resulting in a second group of bids; and

selecting a second bid from the second group of bids, wherein the second bid is a highest bid from among the second group of bids.

18 . The non-transitory, machine-readable medium of claim 17 , wherein the operations comprise:

determining an updated actual viewability of the advertisement space;

determining an updated accuracy of the second viewability data of the advertisement space with the updated actual viewability of the advertisement space resulting in a second determination;

computing a second payment for a second bidder associated with the second bid based on the second bid, the second bid discount, and the second determination; and

providing the second payment to the second bidder.

19 . The non-transitory, machine-readable medium of claim 11 , wherein the operations comprise:

receiving a bid from the computing device resulting in a first group of bids; and

selecting a first bid from the first group of bids, wherein the first bid is a highest bid from among the first group of bids.

20 . A method, comprising:

transmitting an instruction to a communication device, wherein the instruction causes the communication device to dynamically determine, in real-time, first viewability data of advertisement space presented in a user interface of the communication device, wherein the first viewability data indicates whether the advertisement space is viewable in the user interface of the communication device;

receiving the first viewability data of the advertisement space during a first time interval;

dynamically determining, based on the first viewability data, second viewability data of the advertisement space during a second time interval, wherein the second viewability data indicates a likelihood of the advertisement space being viewable during the second time interval; and

sending a first bid request to a computing device associated with a bidder, wherein the first bid request comprises a request for a real time bid on the advertisement space during the second time interval, and the first bid request includes the second viewability data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2024
From: XANDR INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 066578/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2024
From: O'KELLEY, BRIAN; BURMEISTER, TAYLOR
To: APPNEXUS INC.
Reel/Frame 066036/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2024
From: WILLIAMS, CATHERINE MARY; LISSACK, YARON; PINES, JUSTIN; SELJAN, SAMUEL; SRIDHAR, JAIDEV
To: XANDR INC.
Reel/Frame 066037/0162 →
CHANGE OF NAME Recorded Jan 5, 2024
From: APPNEXUS INC.
To: XANDR INC.
Reel/Frame 066208/0230 →
Continuity (4)
Continuation 17502621 · Oct 15, 2021
Continuation 17077472 · Oct 22, 2020
Continuation 16037621 · Jul 17, 2018
Related Publication 20240184650A1 · Jun 6, 2024
References Cited (12)
US 9747618B1 · Reiss · 2017 [cited by examiner]
US 20090030829A1 · Chatter · 2009 [cited by examiner]
US 20160335664A1 · Ray · 2016 [cited by examiner]
US 20160373513A1 · Kim · 2016 [cited by examiner]
US 20170222940A1 · O'kelley et al. · 2017 [cited by applicant]
US 20170358009A1 · Shah et al. · 2017 [cited by applicant]
US 20180218389A1 · Walker · 2018 [cited by examiner]
US 20190340653A1 · Kumar · 2019 [cited by examiner]
Communication under Rule 71(3) received in European Application No. 19837139.5, mailed on Aug. 2, 2024, 8 pages. [cited by applicant]
Decision to grant a European patent pursuant to Article 97(1) received in European Application No. 19837139.5, mailed on Dec. 12, 2024, 2 pages. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC received in European Application No. 19837139.5, mailed on Mar. 29, 2022, 1 page. [cited by applicant]
Extended European Search Report received in European Application No. 19837139.5, mailed on Mar. 10, 2022, 11 pages. [cited by applicant]