Leveraging a social graph for use with electronic messaging
First Claim
1. A method comprising:
- using a computer processor;
receiving information identifying a plurality of message recipients to whom electronic messages are to be communicated;
analyzing a social graph to identify a plurality of connection paths, each connection path connecting a first node representing a first entity associated with a message sender with a second node representing at least one of the message recipients selected from the plurality of message recipients specified by the message sender, the social graph represented by a graph data structure having nodes representing various entities and edges representing associations between entities, each edge connecting two nodes included in a connection path assigned an edge score representing an estimated strength of connection between two entities represented by the two nodes, wherein the estimated strength of connection is determined according to a shared number of nodes in the social graph that the first node and the second node have in common based on an edge type connecting the shared number of nodes with the first node and the second node;
deriving a path score for at least, one connection path of the plurality of connection paths by aggregating edge scores of the edges in the at least one connection path;
applying one or more user-specified filter criterion to one or more connection paths of the plurality of connection paths to filter the one or more connection paths, the one or more filter criterion comprising at least one of;
a particular entity, a particular entity type, or a specific edge type;
generating a visual representation of at least one of the one or more filtered connection paths satisfying the applied one or more filter criterion, the at least one of the one or more filtered connection paths connecting the first node representing the first entity with the second node;
generating a plurality of customized instances of an electronic message by automatically modifying a generic electronic message to include information identifying entities represented by the shared number of nodes for at least one connection path of the plurality of connection paths; and
presenting the visual representation of at least one connection path selected from the plurality of connection paths within at least one generated customized instance of the electronic message addressed to at least one message recipient selected from the plurality of message recipients.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for analyzing a social graph of a social network service to identify and then present connection paths connecting various entities are described. With some embodiments, subsequent to a user selecting or otherwise identifying a person to whom a message is to be communicated, a social graph is analyzed to identify connection paths connecting the message sender, or an entity on whose behalf the message sender is acting, to the message recipient. The social graph is implemented with a graph data structure having nodes and edges representing entities and associations between entities, respectively. With some embodiments, the nodes represent people, companies, educational institutions (e.g., schools, universities, etc.), and groups. After identifying the connection paths, the connection path having the highest path score, as derived by aggregating edge scores assigned to the edges, may be presented.
97 Citations
20 Claims
-
1. A method comprising:
-
using a computer processor; receiving information identifying a plurality of message recipients to whom electronic messages are to be communicated; analyzing a social graph to identify a plurality of connection paths, each connection path connecting a first node representing a first entity associated with a message sender with a second node representing at least one of the message recipients selected from the plurality of message recipients specified by the message sender, the social graph represented by a graph data structure having nodes representing various entities and edges representing associations between entities, each edge connecting two nodes included in a connection path assigned an edge score representing an estimated strength of connection between two entities represented by the two nodes, wherein the estimated strength of connection is determined according to a shared number of nodes in the social graph that the first node and the second node have in common based on an edge type connecting the shared number of nodes with the first node and the second node; deriving a path score for at least, one connection path of the plurality of connection paths by aggregating edge scores of the edges in the at least one connection path; applying one or more user-specified filter criterion to one or more connection paths of the plurality of connection paths to filter the one or more connection paths, the one or more filter criterion comprising at least one of;
a particular entity, a particular entity type, or a specific edge type;generating a visual representation of at least one of the one or more filtered connection paths satisfying the applied one or more filter criterion, the at least one of the one or more filtered connection paths connecting the first node representing the first entity with the second node; generating a plurality of customized instances of an electronic message by automatically modifying a generic electronic message to include information identifying entities represented by the shared number of nodes for at least one connection path of the plurality of connection paths; and presenting the visual representation of at least one connection path selected from the plurality of connection paths within at least one generated customized instance of the electronic message addressed to at least one message recipient selected from the plurality of message recipients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
at least one processor for executing instructions; a memory device in communication with the at least one processor and storing instructions representing a pathfinder module, which, when executed by the at least one processor is to; receive a request including information identifying a first entity associated with a message sender and a plurality of message recipients to whom electronic messages are to be communicated; responsive to receiving the request, analyze a social graph to identify a plurality of connection paths, each connection path connecting a first node representing the first entity with a second node representing at least one of the message recipients selected from the plurality of message recipients, the social graph represented by a graph data structure having nodes representing various entities and edges representing associations between entities, each edge connecting two nodes included in a connection path assigned an edge score representing an estimated strength of connection between two entities represented by the two nodes, wherein the estimated strength of connection is determined according to a shared number of nodes in the social graph that the first node and the second node have in common based on an edge type connecting the shared number of nodes with the first node and the second node; derive a path score for at least one connection path of the plurality of connection paths by aggregating edge scores of the edges in the at least one connection path; apply one or more user-specified filter criterion to the one or more connection paths of the plurality of connection paths to filter the one or more connection paths, the one or more filter criterion comprising at least one of;
a particular entity, a particular entity type, or a specific edge type;generate a visual representation of at least one of the one or more filtered connection paths satisfying the applied one or more filter criterion, the at least one of the one or more filtered connection paths connecting the node representing the first entity with the second node; generate a plurality of customized instances of an electronic message by automatically modifying a generic electronic message to include information identifying entities represented by the shared number of nodes for at least one connection path of the plurality of connection paths; and facilitate presentation of the visual representation of at least one connection path selected from the plurality of connection paths within at least one generated customized instance of the electronic message addressed to at least one message recipient selected from the plurality of message recipients.
-
-
20. A non-transitory, machine-readable medium having computer-executable instructions stored thereon that, when executed by one or more hardware processors, cause a system to perform a plurality of operations comprising:
-
receiving information identifying a plurality of message recipients to whom electronic messages are to be communicated; analyzing a social graph to identify a plurality of connection paths, each connection path connecting a first node representing a first entity associated with a message sender with a second node representing at least one of the message recipients selected from the plurality of message recipients specified by the message sender, the social graph represented by a graph data structure having nodes representing various entities and edges representing associations between entities, each edge connecting two nodes included in a connection path assigned an edge score representing an estimated strength of connection between two entities represented by the two nodes, wherein the estimated strength of connection is determined according to a shared number of nodes in the social graph that the first node and the second node have in common based on an edge type connecting the shared number of nodes with the first node and the second node; deriving a path score for at least one connection path of the plurality of connection paths by aggregating edge scores of the edges in the at least one connection path; applying one or more user-specified filter criterion to one or more connection paths of the plurality of connection paths to filter the one or more connection paths, the one or more filter criterion comprising at least one of;
a particular entity, a particular entity type, or a specific edge type;generating a visual representation of at least one of the one or more filtered connection paths satisfying the applied one or more filter criterion, the at least one of the one or more filtered connection paths connecting the first node representing the first entity with the second node; generating a plurality of customized instances of an electronic message by automatically modifying a generic electronic message to include information identifying entities represented by the shared number of nodes for at least one connection path of the plurality of connection paths; and presenting the visual representation of at least one connection path selected from the plurality of connection paths within at least one generated customized instance of the electronic message addressed to at least one message recipient selected from the plurality of message recipients.
-
Specification