IP Library Granted Patent US 9,692,768
Granted Patent B1
US 9,692,768 · App. 14/789,933 · Granted Jun 27, 2017

Sharing confidential graph data using multi-level graph summarization with varying data utility and privacy protection

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 9,692,768
App. No.
14/789,933
Granted
Jun 27, 2017
Kind
B1
Abstract

A first graph comprises multiple nodes and edges. At least one successive summary graph is created, using the original graph as a predecessor. To create a second graph from a first, nodes of the first graph are grouped into a plurality of subsets, and each subset becomes a super-node. For each super-node, the edges of each corresponding node are replaced with one or more super-edges. Each super-edge represents a relationship between a pair of super-nodes. The nodes of the successor graph comprise the super-nodes and the edges of the successor graph comprise the super-edges. The steps are tracked for restoring each omitted edge of each predecessor graph. Based on a determined quantified value for the restoration of each omitted edge of each predecessor graph, customized summary graphs can be created for and presented to specific parties. Determined values can be, for example, monetary or based on trust levels.

Claims (73)

1. A computer implemented method for maintaining graphs for sharing confidential data using multiple levels of summarization with varying data utility and privacy protection, the method comprising:

maintaining, by a computer, a first graph comprising a plurality of nodes and a plurality of edges, each node comprising content and each edge representing a relationship between a pair of nodes, at least some of the edges representing confidential data;

creating, by the computer, a second graph from the first graph, the creating of the second graph from the first graph comprising at least: grouping the nodes of the first graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node into at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node;

maintaining the second graph, the nodes of the second graph comprising the created super-nodes and the edges of the second graph comprising the created super-edges, at least one edge of the first graph being omitted from the second graph, and the second graph lacking confidential data represented by the at least one omitted edge of the first graph;

tracking, by the computer, steps for restoring each edge of the first graph omitted from the second graph; and

providing, by the computer, the second graph to at least one party.

2. The method of claim 1 further comprising:

determining a quantified value for restoration of each omitted edge of the first graph.

3. The method of claim 1 further comprising:

providing the second graph to the at least one party responsive to the at least one party meeting a given threshold.

4. The method of claim 1 further comprising:

creating, by the computer, a third graph from the second graph, the creating of the third graph from the second graph comprising at least: grouping the nodes of the second graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node into at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node;

maintaining the third graph, the nodes of the third graph comprising the created super-nodes and the edges of the third graph comprising the created super-edges, at least one edge of the second graph being omitted from the third graph, and the third graph lacking confidential data represented by the at least one omitted edge of the second graph;

tracking, by the computer, steps for restoring each edge of the second graph omitted from the third graph; and

providing the third graph to at least one specific party meeting a specific threshold.

5. The method of claim 1 wherein combining at least one edge of each node that was combined into the specific super-node with at least one super-edge further comprises:

eliminating at least one edge that expresses a relationship between two nodes of the first graph that are being combined into a single super-node.

6. The method of claim 1 wherein combining at least one edge of each node that was combined into the specific super-node with at least one super-edge further comprises:

replacing at least one edge that expresses a relationship between a first node being combined into a first super-node and a second node being combined into a second super-node with a super-edge expressing a relationship between the first super-node and the second super-node.

7. The method of claim 1 wherein combining at least one edge of each node that was combined into the specific super-node with at least one super-edge further comprises:

replacing multiple edges that express separate relationships between at least one node being combined into a first super-node and at least one node being combined into a second super-node with a single super-edge expressing a relationship between the first super-node and the second super-node.

8. The method of claim 1 wherein grouping the nodes of the first graph into a plurality of subsets further comprises:

grouping nodes into specific subsets based on logical proximity.

9. The method of claim 1 wherein grouping the nodes of the first graph into a plurality of subsets further comprises:

weighting nodes according to confidentiality and/or utility of their content; and

grouping nodes into specific subsets based on their weights.

10. The method of claim 1 wherein grouping the nodes of the first graph into a plurality of subsets further comprises:

weighting edges between nodes according to confidentiality and/or utility of relationships represented by the edges; and

grouping nodes into specific subsets based on weights of their edges.

11. The method of claim 1 further comprising:

creating a plurality of successive summary graphs from a plurality of predecessor graphs, the first graph comprising a first predecessor graph and the second graph comprising a first summary graph, the creating of the each specific successive summary graph from its specific predecessor graph comprising at least: grouping the nodes of the specific predecessor graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node into at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node; wherein the nodes of the specific successive summary graph comprise the created super-nodes and the edges of the specific successive summary graph comprise the created super-edges, at least one edge of the specific predecessor graph being omitted from the specific successive summary graph, and the specific successive summary graph lacking confidential data represented by the at least one omitted edge of the specific predecessor graph; and

tracking steps for restoring each omitted edge of each predecessor graph.

12. The method of claim 11 wherein tracking steps for restoring each omitted edge of each predecessor graph further comprises:

as multiple recursive passes of graph summarization are made, tracking and maintaining sets of steps for restoring omitted graph data represented by edges eliminated during multiple generations of graph consolidation.

13. The method of claim 11 further comprising:

determining a quantified value for restoration of each omitted edge of each predecessor graph.

14. The method of claim 11 further comprising:

determining a quantified monetary value for restoration of each omitted edge of each predecessor graph;

receiving a specific monetary value from a specific party;

creating a custom summary graph by making restorations of omitted edges corresponding to the received monetary value; and

providing the custom summary graph to the specific party.

15. The method of claim 11 further comprising:

determining a quantified trust level for restoration of each omitted edge of each predecessor graph;

creating a custom summary graph by making restorations of omitted edges corresponding to a trust level of a specific party; and

providing the custom summary graph to the specific party.

16. At least one non-transitory computer readable medium for maintaining graphs for sharing confidential data using multiple levels of summarization with varying data utility and privacy protection, the at least one non-transitory computer readable medium storing computer executable instructions that, when loaded into computer memory and executed by at least one processor of at least one computing device, cause the at least one computing device to perform the following steps:

maintaining a first graph comprising a plurality of nodes and a plurality of edges, each node comprising content and each edge representing a relationship between a pair of nodes, at least some of the edges representing confidential data;

creating a second graph from the first graph, the creating of the second graph from the first graph comprising at least: grouping the nodes of the first graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node into at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node;

maintaining the second graph, the nodes of the second graph comprising the created super-nodes and the edges of the second graph comprising the created super-edges, at least one edge of the first graph being omitted from the second graph, and the second graph lacking confidential data represented by the at least one omitted edge of the first graph;

tracking steps for restoring each edge of the first graph omitted from the second graph; and

providing the second graph to at least one party.

17. The at least one non-transitory computer readable medium of claim 16 further storing computer executable instructions for:

creating a plurality of successive summary graphs from a plurality of predecessor graphs, the first graph comprising a first predecessor graph and the second graph comprising a first summary graph, the creating of the each specific successive summary graph from its specific predecessor graph comprising at least: grouping the nodes of the specific predecessor graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node into at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node;

wherein the nodes of the specific successive summary graph comprise the created super-nodes and the edges of the specific successive summary graph comprise the created super-edges, at least one edge of the specific predecessor graph being omitted from the specific successive summary graph, and the specific successive summary graph lacking confidential data represented by the at least one omitted edge of the specific predecessor graph;

tracking steps for restoring each omitted edge of each predecessor graph; and

providing the second graph to at least one party.

18. The at least one non-transitory computer readable medium of claim 17 further storing computer executable instructions for:

determining a quantified monetary value for restoration of each omitted edge of each predecessor graph;

receiving a specific monetary value from a specific party;

creating a custom summary graph by making restorations of omitted edges corresponding to the received monetary value; and

providing the custom summary graph to the specific party.

19. The at least one non-transitory computer readable medium of claim 17 further storing computer executable instructions for:

determining a quantified trust level for restoration of each omitted edge of each predecessor graph;

creating a custom summary graph by making restorations of omitted edges corresponding to a trust level of a specific party; and

providing the custom summary graph to the specific party.

20. A computer system for detecting electronic messaging threats by using metric trees and similarity hashes, the computer system comprising:

a processor;

system memory;

a graph maintaining module residing in the system memory, the graph maintaining module being programmed to maintain a first graph comprising a plurality of nodes and a plurality of edges, each node comprising content and each edge representing a relationship between a pair of nodes, at least some of the edges representing confidential data;

a summary graph creating module residing in the system memory, the summary graph creating module being programmed to create a second graph from the first graph, the creating of the second graph from the first graph comprising at least: grouping the nodes of the first graph into a plurality of subsets; for each specific grouped subset of nodes, combining each node of the specific subset into a super-node comprising content of each node of the specific subset; and, for each specific super-node, combining at least one edge of each node that was combined into the specific super-node with at least one super-edge, wherein each super-edge represents a relationship between the specific super-node and another super-node;

the graph maintaining module being further programmed to maintain the second graph, the nodes of the second graph comprising the created super-nodes and the edges of the second graph comprising the created super-edges, at least one edge of the first graph being omitted from the second graph, and the second graph lacking confidential data represented by the at least one omitted edge of the first graph;

a restoration step tracking module residing in the system memory, the restoration step tracking module being programmed to track steps for restoring each edge of the first graph omitted from the second graph; and

a user interface programmed to provide the second graph to at least one party.

Assignments (5)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: KAYYOOR, ASHWIN KUMAR; NANDA, SUSANTA K; EFSTATHOPOULOS, PETROS
To: SYMANTEC CORPORATION
Reel/Frame 035969/0954 →