IP Library › Granted Patent US 12,579,467
Granted Patent B2
US 12,579,467 · App. 17/735,020 · Granted Mar 17, 2026

Decentralized cross-node learning for audience propensity prediction

Inventors: Boyi Chen (Cupertino, CA); Tong Zhou (Sunnyvale, CA); Siyao Sun (Santa Clara, CA); Lijun Peng (Mountain View, CA); Xinruo Jing (Foster City, CA); Vakwadi Thejaswini Holla (San Jose, CA); Yi Wu (Palo Alto, CA); Pankhuri Goyal (San Jose, CA); Souvik Ghosh (Saratoga, CA); Zheng Li (Palo Alto, CA); Yi Zhang (Los Altos, CA); Onkar A. Dalal (Santa Clara, CA); Jing Wang (Los Altos, CA); Aarthi Jayaram (Palo Alto, CA)
Assignee: Microsoft Technology Licensing, LLC
G06N20/00
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,579,467
App. No.
17/735,020
Granted
Mar 17, 2026
Kind
B2
Abstract

Embodiments of the disclosed technologies receive a first-party trained model and a first-party data set from a first-party system into a protected environment, receive a first third-party data set into the protected environment, and, in a data clean room, joining the first-party data set and the first third-party data set to create a joint data set for the particular segment, tuning a first-party trained model with the joint data set to create a third-party tuned model, sending model parameter data learned in the data clean room as a result of the tuning to an aggregator node, receiving a globally tuned version of the first-party trained model from the aggregator node, applying the globally tuned version of the first-party trained model to a second third-party data set to produce a scored third-party data set, and providing the scored third-party data set to a content distribution service of the first-party system.

Claims (66)

1 . A method comprising:

receiving a first-party trained model and a first-party data set from a first-party system into a protected environment of the first-party system;

the first-party trained model models propensity correlations between first-party entities and third-party segments;

the protected environment comprises a plurality of third-party nodes and an aggregator node;

a third-party node of the plurality of third-party nodes comprises a data clean room;

the third-party node is associated with a source of a content distribution;

the data clean room is associated with a particular segment;

receiving a first third-party data set for the particular segment into the protected environment; and

in the data clean room of the third-party node, (i) semantically aligning and joining the first-party data set and the first third-party data set to create a joint data set for the particular segment, (ii) tuning the first-party trained model with the joint data set to create a third-party tuned model for the particular segment, (iii) sending model parameter data learned in the data clean room as a result of the tuning to the aggregator node, (iv) receiving a globally tuned version of the first-party trained model from the aggregator node, (v) applying the globally tuned version of the first-party trained model to a second third-party data set for the particular segment to produce a scored third-party data set, and (vi) providing the scored third-party data set to a content distribution service of the first-party system.

2 . The method of claim 1 , further comprising, at the protected environment, mapping the second third-party data set to the third-party node.

3 . The method of claim 1 , further comprising, in the data clean room, using the globally tuned version of the first-party trained model to create the third-party tuned model.

4 . The method of claim 1 , further comprising, at the third-party node, creating a second data clean room in the protected environment for a second particular segment.

5 . The method of claim 1 , further comprising, at the protected environment, creating a second third-party node for a second source of a second content distribution.

6 . The method of claim 5 , further comprising, at the protected environment:

logically isolating the third-party node from the second third-party node.

7 . The method of claim 1 , further comprising, at the protected environment:

logically isolating the aggregator node from the third-party node.

8 . The method of claim 1 , further comprising:

checking an opt-in flag of the third-party node;

when the opt-in flag indicates that the source has opted in to aggregation, sending the model parameter data to the aggregator node; and

when the opt-in flag indicates that the source has not opted in to the aggregation, skipping the sending of the model parameter data to the aggregator node.

9 . The method of claim 1 , further comprising:

checking an opt-in flag of the third-party node;

when the opt-in flag indicates that the source has opted in to aggregation, receiving the globally tuned version of the first-party trained model from the aggregator node; and

when the opt-in flag indicates that the source has not opted in to the aggregation, skipping the receiving of the globally tuned version of the first-party trained model from the aggregator node.

10 . A system comprising:

a processor; and

memory coupled to the processor, wherein the memory comprises instructions that when executed by the processor cause the processor to:

receive a first-party trained model and a first-party data set from a first-party system into a protected environment of the first-party system;

the first-party trained model models propensity correlations between first-party entities and third-party segments;

the protected environment comprises a plurality of third-party nodes and an aggregator node;

a third-party node of the plurality of third-party nodes comprises a data clean room;

the third-party node is associated with a source of a content distribution;

the data clean room is associated with a particular segment;

receive a first third-party data set for the particular segment into the protected environment; and

in the data clean room of the third-party node, (i) semantically align and join the first-party data set and the first third-party data set to create a joint data set for the particular segment, (ii) tune the first-party trained model with the joint data set to create a third-party tuned model for the particular segment, (iii) send model parameter data learned in the data clean room as a result of the tuning to the aggregator node, (iv) receive a globally tuned version of the first-party trained model from the aggregator node, (v) apply the globally tuned version of the first-party trained model to a second third-party data set for the particular segment to produce a scored third-party data set, and (vi) provide the scored third-party data set to a content distribution service of the first-party system.

11 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, at the protected environment, map the second third-party data set to the third-party node.

12 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, in the data clean room, use the globally tuned version of the first-party trained model to create the third-party tuned model.

13 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, at the third-party node, create a second data clean room in the protected environment for a second particular segment.

14 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, at the protected environment, create a second third-party node for a second source of a second content distribution.

15 . The system of claim 14 , wherein the instructions, when executed by the processor, cause the processor to, at the protected environment:

logically isolate the third-party node from the second third-party node.

16 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, at the protected environment:

logically isolate the aggregator node from the third-party node.

17 . The system of claim 10 , wherein the instructions, when executed by the processor, cause the processor to, at the protected environment, at least one of:

map the second third-party data set to the third-party node;

create a second third-party node for a second source of a second content distribution;

logically isolate the third-party node from the second third-party node; or

logically isolate the aggregator node from the third-party node.

18 . A non-transitory computer-readable medium comprising instructions that when executed by a processor cause the processor to:

receive a first-party trained model and a first-party data set from a first-party system into a protected environment of the first-party system;

the first-party trained model models propensity correlations between first-party entities and third-party segments;

the protected environment comprises a plurality of third-party nodes and an aggregator node;

a third-party node of the plurality of third-party nodes comprises a data clean room;

the third-party node is associated with a source of a content distribution;

the data clean room is associated with a particular segment;

receive a first third-party data set for the particular segment into the protected environment; and

in the data clean room of the third-party node, (i) semantically align and join the first-party data set and the first third-party data set to create a joint data set for the particular segment, (ii) tune the first-party trained model with the joint data set to create a third-party tuned model for the particular segment, (iii) send model parameter data learned in the data clean room as a result of the tuning to the aggregator node, (iv) receive a globally tuned version of the first-party trained model from the aggregator node, (v) apply the globally tuned version of the first-party trained model to a second third-party data set for the particular segment to produce a scored third-party data set, and (vi) provide the scored third-party data set to a content distribution service of the first-party system.

19 . The non-transitory computer-readable medium of claim 18 , wherein the instructions, when executed by the processor, cause the processor to:

check an opt-in flag of the third-party node;

when the opt-in flag indicates that the source has opted in to aggregation, send the model parameter data to the aggregator node; and

when the opt-in flag indicates that the source has not opted in to the aggregation, skip the sending of the model parameter data to the aggregator node.

20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed by the processor, cause the processor to:

check an opt-in flag of the third-party node;

when the opt-in flag indicates that the source has opted in to aggregation, receive the globally tuned version of the first-party trained model from the aggregator node; and

when the opt-in flag indicates that the source has not opted in to the aggregation, skip the receiving of the globally tuned version of the first-party trained model from the aggregator node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2022
From: CHEN, BOYI; ZHOU, TONG; SUN, SIYAO; PENG, LIJUN; JING, XINRUO; HOLLA, VAKWADI THEJASWINI; WU, YI; GOYAL, PANKHURI; GHOSH, SOUVIK; LI, ZHENG; ZHANG, YI; DALAL, ONKAR A.; WANG, JING; JAYARAM, AARTHI
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060325/0176 →
Continuity (1)
Related Publication 20230351247A1 · Nov 2, 2023
References Cited (10)
US 11138340B1 · Blum · 2021 [cited by examiner]
US 11216580B1 · Holboke · 2022 [cited by examiner]
US 12277113B2 · McCray · 2025 [cited by examiner]
US 20210125051A1 · Linton · 2021 [cited by examiner]
US 20210403004A1 · Alvarez · 2021 [cited by examiner]
US 20220108026A1 · Ortiz · 2022 [cited by examiner]
US 20220414267A1 · Bennati · 2022 [cited by examiner]
US 20240005341A1 · Ouyang · 2024 [cited by examiner]
Yang, et al., “Applied Federated Learning: Improving Google Keyboard Query Suggestions”, Google LLC, Dec. 7, 2018, 9 Pages. [cited by applicant]
Bonawitz et al., “Towards Federated Learning at Scale: System Design”, Proceedings of the 2nd SysML Conference, Palo Alto, CA, USA, 2019, 15 pages. [cited by applicant]