Creation and maintenance of social relationship network graphs
First Claim
1. A computerized method of creating and maintaining a relationship graph having nodes representing entities and edges representing relationships between entities, the method comprising:
- receiving data extracted from a private data source on a client device by a data extractor module, the received data being associated with a new entity and being in accordance with privacy criteria specified by a user, the privacy criteria prohibiting an extraction of at least one pre-defined type of data from the private data source on the client device, the at least one pre-defined type of data relating to a type of contact information;
adding a new node created from the received data to the relationship graph for the new entity;
calculating a strength of relationship value for a relationship between the new entity and an existing entity represented by an existing node in the relationship graph, the strength of relationship value being calculated based on a calculated quality of contact between the new entity and the existing entity and a frequency of contact between the new entity and the existing entity, wherein the quality of contact is calculated automatically based, at least in part, on what contact information is possessed by the new entity for the existing entity, without requiring a user to specify a quality of contact value;
creating an edge to represent the relationship in the relationship graph;
assigning the corresponding strength of relationship value to the edge linking the new node and the existing node;
automatically comparing the received data to existing data in any existing node to determine if any conflicts exist between the received data and the existing data, the existing data pertaining to the new entity or the existing entity; and
automatically reconciling, without user input, the received data with the existing data if a conflict is detected between the received data and the existing data, wherein reconciling includes determining an accuracy of the existing data and an accuracy of the received data, updating the existing data based on the received data if the received data has a higher accuracy, and updating the received data based on the existing data if the existing data has a higher accuracy.
1 Assignment
0 Petitions
Accused Products
Abstract
A relationship graph representing a social network connecting multiple entities is created and maintained as nodes and edges. Data received for an entity is used to create a new node. A strength of relationship value is calculated for each relationship between the new entity and an entity represented by an existing node and assigned to an edge is created to represent each relationship. Data received for an existing node causes the node to be updated, and the strength of relationship values for each of its relationships to be recalculated and assigned to the appropriate edge. More than one node may exist for an entity and conflicts among the data of the multiple nodes are reconciled. The received data may be extracted from data sources owned by a user in accordance with privacy criteria for the user, or may result from processing data in the relationship graph.
-
Citations
57 Claims
-
1. A computerized method of creating and maintaining a relationship graph having nodes representing entities and edges representing relationships between entities, the method comprising:
-
receiving data extracted from a private data source on a client device by a data extractor module, the received data being associated with a new entity and being in accordance with privacy criteria specified by a user, the privacy criteria prohibiting an extraction of at least one pre-defined type of data from the private data source on the client device, the at least one pre-defined type of data relating to a type of contact information; adding a new node created from the received data to the relationship graph for the new entity; calculating a strength of relationship value for a relationship between the new entity and an existing entity represented by an existing node in the relationship graph, the strength of relationship value being calculated based on a calculated quality of contact between the new entity and the existing entity and a frequency of contact between the new entity and the existing entity, wherein the quality of contact is calculated automatically based, at least in part, on what contact information is possessed by the new entity for the existing entity, without requiring a user to specify a quality of contact value; creating an edge to represent the relationship in the relationship graph; assigning the corresponding strength of relationship value to the edge linking the new node and the existing node; automatically comparing the received data to existing data in any existing node to determine if any conflicts exist between the received data and the existing data, the existing data pertaining to the new entity or the existing entity; and automatically reconciling, without user input, the received data with the existing data if a conflict is detected between the received data and the existing data, wherein reconciling includes determining an accuracy of the existing data and an accuracy of the received data, updating the existing data based on the received data if the received data has a higher accuracy, and updating the received data based on the existing data if the existing data has a higher accuracy. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 45)
-
-
20. An article of manufacture comprising a machine-readable storage medium having stored thereon executable instructions to cause a machine to perform a method comprising:
-
receiving data extracted from a private data source on a client device by a data extractor module, the received data being associated with a new entity and being in accordance with privacy criteria specified by a user, the privacy criteria prohibiting an extraction of at least one pre-defined type of data from the private data source on the client device, the at least one pre-defined type of data relating to a type of contact information; adding a new node created from the received data to the relationship graph for the new entity; calculating a strength of relationship value for each relationship between the new entity and an existing entity represented by an existing node in the relationship graph, the strength of relationship value being calculated based on a calculated quality of contact between the new entity and the existing entity and a frequency of contact between the new entity and the existing entity, wherein the quality of contact is calculated automatically based, at least in part, on what contact information is possessed by the new entity for the existing entity, without requiring a user to specify a quality of contact value; creating an edge to represent the relationship in the relationship graph; assigning the corresponding strength of relationship value to the edge linking the new node and the existing node; automatically comparing the received data to existing data in any existing node to determine if any conflicts exist between the received data and the existing data, the existing data pertaining to the new entity or the existing entity; and automatically reconciling, without user input, the received data with the existing data if a conflict is detected between the received data and the existing data, wherein reconciling includes updating at least one of the received data and the existing data based on the accuracy of the received data and the accuracy of the existing data. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A system comprising:
-
a processor coupled to a memory through a bus, and further coupled to an I/O interface through the bus; and a graph process executed from the memory by the processor to cause the processor to; receive data extracted from a private data source on a client device by a data extractor module, the received data being associated with a new entity and being in accordance with privacy criteria specified by a user, the privacy criteria prohibiting an extraction of at least one pre-defined type of data from the private data source on the client device, the at least one pre-defined type of data relating to a type of contact information, add, a new node created from the received data to a relationship graph for the new entity, calculate, based on a calculated quality of contact and a frequency of contact a strength of relationship value for a relationship between the new entity and a existing entity represented by an existing node in the relationship graph, wherein the quality of contact is calculated automatically based, at least in part, on what contact information is possessed by the new entity for a existing entity, without requiring a user to specify a quality of contact value, create an edge to represent the relationship in the relationship graph, assign the corresponding strength of relationship value to the edge linking the new node and the existing node, automatically compare the received data to existing data in any existing node to determine if any conflicts exist between the received data and the existing data, the existing data pertaining to the new entity or a existing entity, and automatically reconcile, without user input, the received data with the existing data if a conflict is detected between the received data and the existing data, wherein reconciling includes updating at least one of the received data and the existing data based on the accuracy of the received data and the accuracy of the existing data. - View Dependent Claims (40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
Specification