# US 10,120,909 B2 · Generating cards in response to user actions on online social networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,909 B2
- Document ID: US10120909B2
- Status: Granted
- Kind: B2
- Application number: 14/466,269
- Filed: 2014-08-22
- Published: 2016-02-25
- Granted: 2018-11-06
- Earliest claimed: 2014-08-22
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Alex Himel; Matej Hrescak; Samuel Wharton Lessin; Matthew D. Wyndowe; Henry Zheng Zhang
- Web page: https://patentgrep.com/patent/US10120909B2

## CPC

- G06F 16/24578: {using ranking}
- G06F 16/248: Presentation of query results
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a method includes accessing a social graph by a social-networking system. The social graph includes a plurality of nodes and a plurality of edges connecting the nodes. The social-networking system may receive a trigger action from a first user. In response to the trigger action, the social-networking system may generate reaction-cards based at least in part on the trigger action where each reaction-card is associated with a structured query referencing nodes and edges of the social graph. The social-networking system may calculate a reaction-card score for each reaction-card, where the reaction-card score is based on a relevance of the structured query associated with the reaction-card to the trigger action and user-engagement factors. The social-networking system may then send each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user for display on a page currently accessed by the first user.

## Claims

### Claim 1

A method comprising, by one or more computing devices of an online social network:
accessing, by one or more of the computing devices, a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:
a first node corresponding to a first user associated with the online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
receiving, at one or more of the computing devices from a client system associated with a first user of the online social network, an indication of a trigger action performed on the client system, wherein the trigger action is a user interaction with a content object, the content object being associated with a particular node of the plurality of second nodes;
generating, by one or more of the computing devices, a plurality of reaction-cards based at least in part on the trigger action, each reaction-card being associated with a structured query referencing the particular second node associated with the content object, each reaction-card comprising one or more search results referencing one or more second nodes of the plurality of second nodes, respectively, matching the structured query associated with the reaction-card;
calculating, by one or more of the computing devices, a reaction-card score for each reaction-card, wherein the reaction-card score is based at least in part on a relevance of the structured query associated with the reaction-card to the trigger action and further based on one or more user-engagement factors;
sending, from one or more of the computing devices to the client system, in response to receiving the trigger action from the first user, each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user for display on a page currently accessed by the client system;
receiving, at one or more of the computing devices from the client system, an input from the first user, the input corresponding to an interaction with a first reaction-card of the plurality of reaction-cards; and
sending, from one or more of the computing devices to the client system, instructions for displaying a second reaction-card to the first user in response to receiving the input from the first user, the second reaction-card being associated with a different structured query from that of the first reaction-card, wherein the structured query associated with the second reaction-card is generated by modifying the structured query associated with the first reaction-card based on the input from the first user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the relevance of the structured query associated with the reaction-card to the trigger action is based on a relevance of the reaction-card to the particular node associated with the content object.

### Claim 3 (depends on 1)

The method of claim 1, wherein the trigger action is associated with a post, a comment, a check-in, a like, a share, a tag, particular structured data associated with the online social network, or any combination thereof.

### Claim 4 (depends on 1)

The method of claim 1, wherein the trigger action is associated with an edge between the first node and the particular second node associated with the content object, the edge being created in response to the trigger action.

### Claim 5 (depends on 1)

The method of claim 1, wherein each structured query corresponds to a query-domain.

### Claim 6 (depends on 5)

The method of claim 5, wherein the query-domain is associated with places, people, groups, applications, events, or photos.

### Claim 7 (depends on 5)

The method of claim 5, wherein the structured query associated with the second reaction-card corresponds to the same query-domain as the structured query associated with the first reaction-card.

### Claim 8 (depends on 1)

The method of claim 1, further comprising receiving an indication that the first user is initiating the trigger action, and wherein generating the plurality of reaction-cards is responsive to receiving the indication that the first user is initiating the trigger action.

### Claim 9 (depends on 1)

The method of claim 1, wherein the user-engagement factors comprise one or more of demographic information, current information, and social-graph information of the first user.

### Claim 10 (depends on 9)

The method of claim 9, wherein the current information of the first user comprises one or more of a location history of the first user, personal preference of the first user, and a search history of the first user.

### Claim 11 (depends on 1)

The method of claim 1, wherein the user-engagement factors comprise social-graph information of a second user in relation to one or more of the second nodes, the second user having at least a subset of demographic information in common with demographic information of the first user.

### Claim 12 (depends on 1)

The method of claim 1, wherein the user-engagement factors comprise one or more of sensor information, current time, or one or more of capabilities of the mobile client device.

### Claim 13 (depends on 1)

The method of claim 1, wherein the user-engagement factors comprise social-graph affinity of the first user with respect to one or more second nodes referenced by the structured query.

### Claim 14 (depends on 1)

The method of claim 1, wherein a content object associated with each second node of the one or more second nodes of each reaction-card comprises references to one or more updates to the social graph.

### Claim 15 (depends on 1)

The method of claim 1, wherein the page is a user interface of a native application associated with the online social network or a webpage of a social-networking system accessed by a browser client.

### Claim 16 (depends on 1)

The method of claim 1, wherein each reaction-card comprises one or more links to content identified based on the structured query associated with the reaction card.

### Claim 17 (depends on 1)

The method of claim 1, wherein each reaction-card comprises at least one interactive element, an interaction with which causes the client system to send an additional trigger action to the one or more computing devices of the online social network.

### Claim 18

One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:
a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
receive, from a client system associated with a first user of the online social network, an indication of a trigger action performed on the client system, wherein the trigger action is a user interaction with a content object, the content object being associated with a particular node of the plurality of second nodes;
generate a plurality of reaction-cards based at least in part on the trigger action, each reaction-card being associated with a structured query referencing the particular second node associated with the content object, each reaction-card comprising one or more search results referencing one or more second nodes of the plurality of second nodes, respectively, matching the structured query associated with the reaction-card;
calculate a reaction-card score for each reaction-card, wherein the reaction-card score is based at least in part on a relevance of the structured query associated with the reaction-card to the trigger action and further based on one or more user-engagement factors;
send, to the client system, in response to receiving the trigger action from the first user, each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user for display on a page currently accessed by the client system;
receive, from the client system, an input from the first user, the input corresponding to an interaction with a first reaction-card of the plurality of reaction-cards; and
send, to the client system, instructions for displaying a second reaction-card to the first user in response to receiving the input from the first user, the second reaction-card being associated with a different structured query from that of the first reaction-card, wherein the structured query associated with the second reaction-card is generated by modifying the structured query associated with the first reaction-card based on the input from the first user.

### Claim 19

A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:
a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
receive, from a client system associated with a first user of the online social network, an indication of a trigger action performed on the client system, wherein the trigger action is a user interaction with a content object, the content object being associated with a particular node of the plurality of second nodes;
generate a plurality of reaction-cards based at least in part on the trigger action, each reaction-card being associated with a structured query referencing the particular second node associated with the content object, each reaction-card comprising one or more search results referencing one or more second nodes of the plurality of second nodes, respectively, matching the structured query associated with the reaction-card;
calculate a reaction-card score for each reaction-card, wherein the reaction-card score is based at least in part on a relevance of the structured query associated with the reaction-card to the trigger action and further based on one or more user-engagement factors;
send, to the client system, in response to receiving the trigger action from the first user, each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user for display on a page currently accessed by the client system;
receive, from the client system, an input from the first user, the input corresponding to an interaction with a first reaction-card of the plurality of reaction-cards; and
send, to the client system, instructions for displaying a second reaction-card to the first user in response to receiving the input from the first user, the second reaction-card being associated with a different structured query from that of the first reaction-card, wherein the structured query associated with the second reaction-card is generated by modifying the structured query associated with the first reaction-card based on the input from the first user.

### Claim 20 (depends on 1)

The method of claim 1, further comprising:
generating, by a card-aggregator module and responsive to the trigger action, a plurality of structured queries associated with the trigger action, each of the structured queries referencing the particular second node associated with the content object.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
generating, by one or more domain modules and for each of one or more of the structured queries, one or more search results, wherein each of the search results corresponds to a second node connected to the particular second node referenced by the structured query by an edge of the structured query.

### Claim 22 (depends on 1)

The method of claim 1, wherein the trigger action comprises an interaction by the first user with one or more elements of the page currently accessed by the client system.

### Claim 23 (depends on 22)

The method of claim 22, wherein sending each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user comprises:
sending, to the client system, instructions to refresh the page currently accessed by the client system to display an updated page on the client system, the updated page comprising the sent reaction-cards.

### Claim 24 (depends on 19)

The system of claim 19, wherein the relevance of the structured query associated with the reaction-card to the trigger action is based on a relevance of the reaction-card to the particular node associated with the content object.

### Claim 25 (depends on 19)

The system of claim 19, wherein the trigger action is associated with a post, a comment, a check-in, a like, a share, a tag, particular structured data associated with the online social network, or any combination thereof.

### Claim 26 (depends on 19)

The system of claim 19, wherein the trigger action is associated with an edge between the first node and the particular second node associated with the content object, the edge being created in response to the trigger action.

### Claim 27 (depends on 19)

The system of claim 19, wherein each structured query corresponds to a query-domain.

### Claim 28 (depends on 27)

The system of claim 27, wherein the query-domain is associated with places, people, groups, applications, events, or photos.

### Claim 29 (depends on 27)

The system of claim 27, wherein the structured query associated with the second reaction-card corresponds to the same query-domain as the structured query associated with the first reaction-card.

### Claim 30 (depends on 19)

The system of claim 19, wherein the processors are further operable when executing the instructions to:
receive an indication that the first user is initiating the trigger action, and wherein the instruction to generate the plurality of reaction-cards is executed responsive to receiving the indication that the first user is initiating the trigger action.

### Claim 31 (depends on 19)

The system of claim 19, wherein the user-engagement factors comprise one nor more of demographic information, current information, and social-graph information of the first user.

### Claim 32 (depends on 31)

The system of claim 31, wherein the current information of the first user comprises one or more of a location history of the first user, personal preference of the first user, and a search history of the first user.

### Claim 33 (depends on 19)

The system of claim 19, wherein the user-engagement factors comprise social-graph information of a second user in relation to one or more of the second nodes, the second user having at least a subset of demographic information in common with demographic information of the first user.

### Claim 34 (depends on 19)

The system of claim 19, wherein the user-engagement factors comprise one or more of sensor information, current time, or one or more of capabilities of the mobile client device.

### Claim 35 (depends on 19)

The system of claim 19, wherein the user-engagement factors comprise social-graph affinity of the first user with respect to one or more second nodes referenced by the structured query.

### Claim 36 (depends on 19)

The system of claim 19, wherein a content object associated with each second node of the one or more second nodes of each reaction-card comprises references to one or more updates to the social graph.

### Claim 37 (depends on 19)

The system of claim 19, wherein the page is a user interface of a native application associated with the online social network or a webpage of a social-networking system accessed by a browser client.

### Claim 38 (depends on 19)

The system of claim 19, wherein the processors are further operable when executing the instructions to:
generate, by a card-aggregator module and responsive to the trigger action, a plurality of structured queries associated with the trigger action, each of the structured queries referencing the particular second node associated with the content object.

### Claim 39 (depends on 38)

The system of claim 38, wherein the processors are further operable when executing the instructions to:
generate, by one or more domain modules and for each of one or more of the structured queries, one or more search results, wherein each of the search results corresponds to a second node connected to the particular second node referenced by the structured query by an edge of the structured query.

### Claim 40 (depends on 19)

The system of claim 19, wherein the trigger action comprises an interaction by the first user with one or more elements of the page currently accessed by the client system.

### Claim 41 (depends on 40)

The system of claim 40, wherein the instructions to send each reaction-card having a reaction-card score greater than a threshold reaction-card score to the first user comprise instructions to:
send, to the client system, instructions to refresh the page currently accessed by the client system to display an updated page on the client system, the updated page comprising the sent reaction-cards.

### Claim 42 (depends on 19)

The system of claim 19, wherein each reaction-card comprises one or more links to content identified based on the structured query associated with the reaction card.

### Claim 43 (depends on 19)

The system of claim 19, wherein each reaction-card comprises at least one interactive element, an interaction with which causes the client system to send an additional trigger action to the one or more computing devices of the online social network.
