IP Library Granted Patent US 10,298,701
Granted Patent B2
US 10,298,701 · App. 15/010,714 · Granted May 21, 2019

Systems and methods for timely propagation of network content

Inventors: Wei Di (Cupertino, CA); Ho jeong Kim (Belmont, CA)
Assignee: Microsoft Technology Licensing, LLC
H04L67/22G06Q50/00G06Q50/01H04L67/10
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 10,298,701
App. No.
15/010,714
Granted
May 21, 2019
Kind
B2
Abstract

A content propagation system includes processors, memory storing user activity data and interaction data on a social network, and a content propagation engine configured to receive an indication of a share event from the sharing user, the share event including a content item, identify a plurality of target users for the share event, identify a plurality of time blocks, compute an activity value for each target user of the plurality of target users, and for each time block of the plurality of time blocks, the activity value is based on the user activity data, compute an engagement value for each target user based at least in part on the interaction data, determine a share time based at least in part on the plurality of activity values and the plurality of engagement values, and publish the content item to the plurality of target users at the share time.

Claims (82)

1. A content propagation system comprising:

one or more hardware processors;

a memory storing:

user activity data relating to activity of multiple target users on a social network; and

interaction data relating to interactions between a sharing user and the target users on the social network; and

a content propagation engine, executing on the one or more hardware processors, configured to:

receive an indication of a share event from the sharing user, the share event including a content item;

identify a plurality of target users for the share event;

identify a plurality of time blocks;

compute an activity value for each target user of the plurality of target users, and for each time block of the plurality of time blocks, the activity value is based on the user activity data, thereby generating plurality of activity values;

compute an engagement value for each target user of the plurality of target users, the engagement value is based at least in part on the interaction data between the sharing user and the target user, thereby generating a plurality of engagement values;

determine a share time based at least in part on the plurality of activity values and the plurality of engagement values, the share time being a time at which the content item is published to the plurality of target users; and

publish the content item to the plurality of target users at the share time.

2. The content propagation system of claim 1 , wherein the content propagation engine is further configured to:

compute a time block score for each time block of the plurality of time blocks, wherein computing the time block score includes:

for each target user of the plurality of target users, multiplying the activity value of the target user, and for the time block, by the engagement value of the target user, thereby generating a plurality of user-level scores for the time block; and

summing the plurality of user-level scores to generate the time block score, thereby generating a plurality of time block scores, each time block of the plurality of time blocks having one time block score,

wherein determining the share time further includes determining the share time based on the plurality of time block scores.

3. The content propagation system of claim 1 , wherein the content propagation engine is further configured to:

generate a plurality of pairings, each pairing including the sharing user and one target user of the plurality of target users;

identify input data associated with each pairing of the plurality of pairings, the input data including one or more of interaction data, shared content item data, and user profile data associated with the pairing; and

apply the input data to a model, the model outputting the engagement value for each associated target user.

4. The content propagation system of claim 1 , wherein the content propagation engine is further configured to:

identify a target time block based at least in part on the plurality of activity values,

wherein determining the share time is further based at least in part on the target time block.

5. The content propagation system of claim 1 , wherein the content propagation engine is further configured to:

identify historical interaction data between the sharing user and a first target user; and

train a model based at least in part on the historical interaction data between the sharing user and the first target user,

wherein computing the engagement value further includes computing a first engagement value for the first target user using the model.

6. The content propagation system of claim 5 , wherein the historical interaction data between the sharing user and the first target user includes historical re-sharing of content, posted by the sharing user, by the first target user.

7. The content propagation system of claim 5 , wherein the historical interaction data between the sharing user and the first target user includes content items having one or more of a title and a description of the content items, wherein training the model is further based at least in part on the one or more of the title and the description of the content items.

8. A computer-implemented method comprising:

receiving an indication of a share event from a sharing user, the share event including a content item;

identifying a plurality of target users for the share event;

identifying a plurality of time blocks;

computing an activity value for each target user of the plurality of target users, and for each time block of the plurality of time blocks, the activity value is based on user activity data, from a memory, relating to activity of a plurality of target users on a social network, thereby generating a plurality of activity values;

computing an engagement value for each target user of the plurality of target users, the engagement value is based at least in part on interaction data relating to interactions between the sharing user and the target user on the social network, thereby generating a plurality of engagement values;

determining a share time based at least in part on the plurality of activity values and the plurality of engagement values, the share time being a time at which the content item is published to the plurality of target users; and

publishing the content item to the plurality of target users at the share time.

9. The method of claim 8 , further comprising:

computing a time block score for each time block of the plurality of time blocks, wherein computing the time block score includes:

for each target user of the plurality of target users, multiplying the activity value of the target user, and for the time block, by the engagement value of the target user, thereby generating a plurality of user-level scores for the time block; and

summing the plurality of user-level scores to generate the time block score, thereby generating a plurality of time block scores, each time block of the plurality of time blocks having one time block score,

wherein determining the share time further includes determining the share time based on the plurality of time block scores.

10. The method of claim 8 , further comprising:

generating a plurality of pairings, each pairing including the sharing user and one target user of the plurality of target users;

identifying input data associated with each pairing of the plurality of pairings, the input data including one or more of interaction data, shared content item data, and user profile data associated with the pairing; and

applying the input data to a model, the model outputting the engagement value for each associated target user.

11. The method of claim 8 , further comprising:

identifying a target time block based at least in part on the plurality of activity values,

wherein determining the share time is further based at least in part on the target time block.

12. The method of claim 8 , further comprising:

identifying historical interaction data between the sharing user and a first target user; and

training a model based at least in part on the historical interaction data between the sharing user and the first target user,

wherein computing the engagement value further includes computing a first engagement value for the first target user using the model.

13. The method of claim 12 , wherein the historical interaction data between the sharing user and the first target user includes historical re-sharing of content, posted by the sharing user, by the first target user.

14. The method of claim 12 , wherein the historical interaction data between the sharing user and the first target user includes content items having one or more of a title and a description of the content items, wherein training the model is further based at least in part on the one or more of the title and the description of the content items.

15. A non-transitory machine-readable medium storing processor-executable instructions which, when executed by one or more processors, cause the one or more processors to:

receive an indication of a share event from a sharing user, the share event including a content item;

identify a plurality of target users for the share event;

identify a plurality of time blocks;

compute an activity value for each target user of the plurality of target users, and for each time block of the plurality of time blocks, the activity value is based on user activity data relating to activity of a plurality of target users on a social network, thereby generating a plurality of activity values;

compute an engagement value for each target user of the plurality of target users, the engagement value is based at least in part on interaction data relating to interactions between the sharing user and the target user on the social network, thereby generating a plurality of engagement values;

determine a share time based at least in part on the plurality of activity values and the plurality of engagement values, the share time being a time at which the content item is published to the plurality of target users; and

publish the content item to the plurality of target users at the share time.

16. The machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the one or more processors to:

generate a plurality of pairings, each pairing including the sharing user and one target user of the plurality of target users;

identify input data associated with each pairing of the plurality of pairings, the input data including one or more of interaction data, shared content item data, and user profile data associated with the pairing; and

apply the input data to a model, the model outputting the engagement value for each associated target user.

17. The machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the one or more processors to:

identify a target time block based at least in part on the plurality of activity values,

wherein determining the share time is further based at least in part on the target time block.

18. The machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the processor to:

compute a time block score for each time block of the plurality of time blocks, wherein computing the time block score includes:

for each target user of the plurality of target users, multiplying the activity value of the target user, and for the time block, by the engagement value of the target user, thereby generating a plurality of user-level scores for the time block; and

summing the plurality of user-level scores to generate the time block score, thereby generating a plurality of time block scores, each time block of the plurality of time blocks having one time block score,

wherein determining the share time further includes determining the share time based on the plurality of time block scores.

19. The machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the one or more processors to:

identify historical interaction data between the sharing user and a first target user; and

train a model based at least in part on the historical interaction data between the sharing user and the first target user,

wherein computing the engagement value further includes computing a first engagement value for the first target user using the model.

20. The machine-readable medium of claim 19 , wherein the historical interaction data between the sharing user and the first target user includes content items having one or more of a title and a description of the content items, wherein training the model is further based at least in part on the one or more of the title and the description of the content items.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2016
From: DI, WEI; KIM, HO JEONG
To: LINKEDIN CORPORATION
Reel/Frame 037622/0420 →
Continuity (1)
Related Publication 20170223122A1 · Aug 3, 2017