IP Library Granted Patent US 11,005,957
Granted Patent B2
US 11,005,957 · App. 15/721,598 · Granted May 11, 2021

Distributed generation of live feed updates in a social networking system

Inventor: Gary Horen (Seattle, WA)
Assignee: salesforce.com, inc.
H04L67/26G06F16/24544G06F16/951G06Q50/01H04L67/10H04L67/42G06F3/04842
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 11,005,957
App. No.
15/721,598
Granted
May 11, 2021
Kind
B2
Abstract

Each user from the users of the social networking system accesses the social networking system through a client device coupled with one of the servers on which the social networking system is implemented. In response to an occurrence of an information update, a first server from the multiple servers, transmits a representation of the information update to each one of other servers from the multiple servers; a second server from the other servers determines a set of active feeds associated with one or more active users that are connected to the social networking service through the second server; and for each active feed from the set of active feeds, the social networking system updates a view of the active feed to include the information update.

Claims (37)

1. A method comprising:

in response to an occurrence of an information update that relates to a feed in a social networking system that is implemented on a plurality of servers, wherein each one of a plurality of users accesses the social networking system through a client device from a plurality of client devices, performing the following:

transmitting, from a first server from the plurality of servers, a representation of the information update to other servers from the plurality of servers, wherein each one of the other servers is coupled with a respective distinct subset of client devices from the plurality of client devices;

determining, at a second server from the other servers, for the information update a subset of active feeds from a plurality of active feeds, the subset of active feeds being less than the plurality of feeds, wherein the determining includes determining the users of client devices that are coupled to the second server for push notifications, wherein at the moment of occurrence of the information update the users are logged-in to the social networking system and viewing a feed or a stream through a graphical user interface of the social networking system; and

for an active feed from the subset of active feeds, updating a view of the active feed to include the information update.

2. The method of claim 1 , wherein determining, at the second server from the other servers, the subset of active feeds includes:

determining a query plan;

transmitting the query plan including the rules that define the feeds for the information update; and

receiving the subset set of active feeds.

3. The method of claim 1 , wherein updating a view of the active feed to include the information update includes causing display of the information update as part of a graphical user interface including the active feed, wherein the graphical user interface is displayed on a display device of a client device used by an active user that is connected to the social networking system, and wherein the client device is coupled to the second server.

4. The method of claim 1 , wherein updating a view of the active feed to include the information update is performed without receiving a request for the information update from a client device of a user of the social networking system.

5. The method of claim 1 , wherein the representation of the information update is a cache key that is used to retrieve the information update from a cache.

6. A system comprising:

a first server from a plurality of servers implementing a social networking system, wherein each one of a plurality of users accesses the social networking system through a client device from a plurality of client devices, the first server including a first processor and a first non-transitory computer readable storage medium storing instructions which when executed by the first processor cause the first server to:

in response to an occurrence of an information update relates to a feed in the social networking system, transmit a representation of the information update to other servers from the plurality of servers, wherein each one of the other servers is coupled with a respective distinct subset of client devices from the plurality of client devices; and

a second server from the other servers, the second server including a second processor and a second non-transitory computer readable storage medium storing instructions which when executed by the second processor cause the second server to:

determine for the information update a subset of active feeds from a plurality of active feeds, the subset of the active feeds being less than the plurality of active feeds, wherein to determine includes to determine the users of client devices that are coupled to the second server for push notifications, wherein at the moment of occurrence of the information update the users are logged-in to the social networking system and viewing a feed or a stream through a graphical user interface of the social networking system; and

for an active feed from the subset of active feeds, update a view of the active feed to include the information update.

7. The system of claim 6 , wherein to determine the subset of active feeds includes to:

determine a query plan;

transmit the query plan including the rules that define the feeds for the information update; and

receive the subset of active feeds.

8. The system of claim 6 , wherein to update a view of the active feed to include the information update includes to cause display of the information update as part of a graphical user interface including the active feed, wherein the graphical user interface is displayed on a display device of a client device used by an active user that is connected to the social networking system, and wherein the client device is coupled to the second server.

9. The system of claim 6 wherein to update a view of active feed to include the information update is performed without receiving a request for the information update from a client device of a user of the social networking system.

10. The system of claim 6 , wherein the representation of the information update is a cache key that is used to retrieve the information update from a cache.

11. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a server, to perform operations comprising:

in response to an occurrence of an information update that relates to a feed in a social networking system that is implemented on a plurality of servers, wherein each one of a plurality of users accesses the social networking system through a client device from a plurality of client devices, performing the following:

transmitting, from a first server from the plurality of servers, a representation of the information update to other servers from the plurality of servers, wherein each one of the other servers is coupled with a respective distinct subset of client devices from the plurality of client devices,

determining, at a second server from the other servers, for the information update a subset of active feeds from a plurality of active feeds, the subset of the active feeds being less than the plurality of feeds, wherein the determining includes determining the users of client devices that are coupled to the second server for push notifications, wherein at the moment of occurrence of the information update the users are logged-in to the social networking system and viewing a feed or a stream through a graphical user interface of the social networking system, and

for an active feed from the subset of active feeds, update a view of the active feed to include the information update.

12. The non-transitory computer-readable storage medium of claim 11 , wherein determining, at the second server from the other servers, the subset of active feeds includes:

determining a query plan;

transmitting the query plan including the rules that define the feeds for the information update; and

receiving the subset of active feeds.

13. The non-transitory computer-readable storage medium of claim 11 , wherein updating a view of the active feed to include the information update includes causing display of the information update as part of a graphical user interface including the active feed, wherein the graphical user interface is displayed on a display device of a client device used by an active user that is connected to the social networking system, and wherein the client device is coupled to the second server.

14. The non-transitory computer-readable storage medium of claim 11 , wherein updating a view of the active feed to include the information update is performed without receiving a request for the information update from a client device of a user of the social networking system.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the representation of the information update is a cache key that is used to retrieve the information update from a cache.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2017
From: HOREN, GARY
To: SALESFORCE.COM, INC.
Reel/Frame 043746/0387 →
Continuity (1)
Related Publication 20190104189A1 · Apr 4, 2019