IP Library Patent Application 15158197
Patent Application
App. No. 15/158,197

SYSTEM AND METHOD OF RENDERING MULTI-VARIANT GRAPHS

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 None
App. No.
15/158,197
Abstract

The presently disclosed subject matter includes a computer-implemented method and system adapted for graphically visualizing both data and metadata in a single graph layout. The generated graph can be displayed on a computer display device to collectively show in a single graph, and in a visually appealing and comprehensive manner, both the data and metadata pertaining to the data object represented by a graph.

Claims (74)

1 . A computer implemented method of generating a graph layout for collectively visualizing both graph data and graph metadata on a computer display device; the computer comprising at least one computer processor; the method comprising operating the at least one computer processor for:

obtaining an initial graph comprising two or more nodes, wherein at least two nodes in the initial graph are connected by an edge; wherein nodes in the initial graph represent respective data objects and have metadata associated therewith and are assigned to a respective category based on respective metadata values of the node;

recording the number of each different type of diverse node-pair and deleting edges between diverse node pairs; wherein a diverse node pair includes two connected nodes, each node assigned to a different category;

generating a cluster-graph; the cluster graph comprising a cluster node for each category of nodes in the diverse-node pairs and an edge connecting any two cluster nodes representing a respective diverse node pair;

generating a cluster sub-graph connecting all nodes in the initial graph which are assigned to the same category;

assigning each cluster sub-graph to a respective cluster node in the cluster graph;

applying a graph drawing algorithm on each cluster sub-graph;

rendering a final graph comprising the cluster graph and a cluster sub-graph within each respective cluster node of the cluster graph; wherein cluster nodes graphically indicate respective metadata and nodes in each cluster sub-graph graphically indicate respective data.

2 . The method of claim 1 further comprising: applying a graph drawing algorithm on the cluster graph.

3 . The method of claim 1 wherein generating a cluster sub-graph further comprises:

adding virtual edges connecting between all nodes assigned to the same category.

4 . The method of claim 3 wherein the virtual edges are not displayed on the displayed device and remain hidden from the eyes of the user.

5 . The method of claim 3 wherein rendering a final graph comprises:

iteratively applying the graph drawing algorithm on each cluster sub-graph, and for each iteration:

determining distance between two most distanced nodes in each cluster sub-graph; and

updating perimeter of a respective cluster node based on the distance.

6 . The method of claim 5 wherein rendering the final graph further comprises:

applying linear transformation for transforming the graph layout of each cluster sub-graph resulting from the graph drawing algorithm to a respective graph layout adapted to the world confined by the perimeter of a respective cluster node.

7 . The method of claim 1 wherein determining distance between two most distanced nodes in each cluster sub-graph comprises applying a minimum spanning tree algorithm on the cluster sub-graph.

8 . The method of claim 1 wherein the graph drawing algorithm is a force directed graph algorithm.

9 . The method of claim 1 further comprising displaying the final graph on a computer display device.

10 . The method of claim 1 wherein rendering the final graph comprises:

graphic visualization with respect to an edge connecting two cluster nodes, of information pertaining to the number of diverse node pairs.

11 . The method of claim 1 wherein rendering the final graph comprises:

rendering each cluster node using one or more graphic design elements to indicate the respective metadata category of the cluster node.

12 . The method of claim 1 wherein each node in each cluster sub-graph is linked to a respective data object, the method further comprising: graphically displaying data pertaining to the respective data object responsive to user interaction with the given node.

13 . The method of claim 5 further comprising:

for each iteration, updating the cluster graph and the cluster sub-graph in each cluster node and graphically displaying on a computer display the updated cluster graph and updated cluster sub-graphs thereby visualizing in real-time changes to the cluster graph until it reaches a state of the final graph.

14 . The method of claim 1 wherein an addition or a deletion of a node from the final graph involves application of operations only with respect to a restricted area of the final graph.

15 . The method of claim 14 wherein the restricted area comprises: a respective cluster sub-graph to which the node is related, a cluster node comprising the respective cluster graph and any cluster node immediately connected to the cluster node; thereby limiting performance degradation resulting from addition or deletion of a node.

16 . The method of claim 14 wherein adding a new node to the graph comprises:

assigning the new node to a respective category;

connecting the new node to an existing cluster sub-graph of the respective category;

applying a graph drawing algorithm to the existing cluster sub-graph; a respective cluster node of the existing cluster sub-graph and to cluster nodes immediately connected to the respective cluster node.

17 . The method of claim 1 wherein the metadata pertains to a plurality of metadata types, the method comprising, calculating a compiled metadata value based on the values of the plurality of metadata types.

18 . The method of claim 1 wherein the data object is a table comprising business intelligence information.

19 . A computer-implemented system of generating a graph layout for collectively visualizing both graph data and graph metadata on a computer display device; the system comprising at least one computer processor operatively connected to a computer memory; the at least one computer processor being configured, responsive to instructions loaded on the computer memory, to:

assign each node in an initial graph to a respective category based on respective metadata values of the node; wherein the initial graph comprises two or more nodes, wherein at least two nodes in the initial graph are connected by an edge; wherein nodes in the initial graph represent respective data objects and have metadata associated therewith;

record the number of each different type of diverse node-pair and deleting edges between diverse node pairs; wherein a diverse node pair includes two connected nodes, each node assigned to a different category;

generate a cluster-graph; the cluster graph comprising a cluster node for each category of nodes in the diverse-node pairs and an edge connecting any two cluster nodes representing respectively a respective diverse node pair; generate a cluster sub-graph connecting all nodes in the initial graph which are assigned to the same category;

assign each cluster sub-graph to a respective cluster node in the cluster graph;

apply a graph drawing algorithm on each cluster sub-graph;

render a final graph comprising the cluster graph and a cluster sub-graph within each respective cluster node of the cluster graph; wherein cluster nodes graphically indicate respective metadata and nodes in each cluster sub-graph graphically indicate respective data.

20 . The system of claim 19 wherein the at least one processor is further configured to apply a graph drawing algorithm on the cluster graph.

21 . The system of claim 19 wherein the at least one computer processor is further configured for generating a cluster sub-graph, to:

add virtual edges connecting between all nodes assigned to the same category.

22 . The system of claim 21 wherein the virtual edges are not displayed on the displayed device and remain hidden from the eyes of the user.

23 . The system of claim 22 wherein the at least one computer processor is configured for rendering a final graph to:

iteratively apply the graph drawing algorithm on each cluster sub-graph, and for each iteration:

determine distance between two most distanced nodes in each cluster sub-graph; and

update perimeter of a respective cluster node based on the distance.

24 . The system of claim 23 wherein the at least one computer processor is further configured for rendering a final graph to:

apply linear transformation for transforming the graph layout of each cluster sub-graph resulting from the graph drawing algorithm to a respective graph layout adapted to the world confined by the perimeter of a respective cluster node.

25 . The system of claim 19 wherein the at least one computer processor is configured for determining distance between two most distanced nodes in each cluster sub-graph, to apply a minimum spanning tree algorithm on the cluster sub-graph.

26 . The system of claim 19 further comprising a computer display device and wherein the at least one computer processor is configured to display the final graph on the computer display device.

27 . The system of claim 19 wherein the at least one computer processor is configured for rendering a final graph to: graphically visualize, with respect to an edge connecting two cluster nodes, information pertaining to the number of diverse node pairs.

28 . The system of claim 19 wherein the at least one computer processor is configured for rendering a final graph to: render each cluster node using one or more graphic design elements to indicate the respective metadata category of the cluster node.

29 . The system of claim 19 wherein each node in each cluster sub-graph is linked to a respective data object, the at least one computer processor is further configured to: graphically display data pertaining to the respective data object responsive to user interaction with the given node.

30 . The system of claim 23 wherein the at least one computer processor is configured to:

for each iteration, update the cluster graph and the cluster sub-graph in each cluster node and graphically display on a computer display the updated cluster graph and updated cluster sub-graphs thereby visualizing in real-time changes to the cluster graph until it reaches a state of the final graph.

31 . The system of claim 19 wherein an addition or deletion of a node from the final graph involves application of operation only with respect to a restricted area of the final graph.

32 . The system of claim 31 wherein the at least one computer processor is configured for adding a new node to the graph to:

assign the new node to a respective category;

connect the new node to an existing cluster sub-graph of the respective category;

apply a graph drawing algorithm to: the existing cluster sub-graph; a respective cluster node of the existing cluster sub-graph; and to cluster nodes immediately connected to the respective cluster node.

33 . A non-transitory program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method of generating a graph layout for collectively visualizing both graph data and graph metadata on a computer display device; the computer comprising at least one computer processor; the method comprising:

obtaining an initial graph comprising two or more nodes, wherein at least two nodes in the initial graph are connected by an edge; wherein nodes in the initial graph represent respective data objects and have metadata associated therewith;

assigning each node in the initial graph to a respective category based on respective metadata values of the node;

recording the number of each different type of diverse node-pair and deleting edges between diverse node pairs; wherein a diverse node pair includes two connected nodes, each node assigned to a different category;

generating a cluster-graph; the cluster graph comprising a cluster node for each category of nodes in the diverse-node pairs and an edge connecting any two cluster nodes representing respectively a respective diverse node pair;

generating a cluster sub-graph connecting all nodes in the initial graph which are assigned to the same category;

assigning each cluster sub-graph to a respective cluster node in the cluster graph;

applying a graph drawing algorithm on each cluster sub-graph;

rendering a final graph comprising the cluster graph and a cluster sub-graph within each respective cluster node of the cluster graph; wherein cluster nodes graphically indicate respective metadata and nodes in each cluster sub-graph graphically indicate respective data.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: COMERICA BANK
To: SISENSE LTD.
Reel/Frame 063915/0257 →
SECURITY INTEREST Recorded Sep 24, 2021
From: SISENSE LTD.
To: COMERICA BANK
Reel/Frame 057588/0698 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2021
From: SILICON VALLEY BANK
To: SISENSE LTD
Reel/Frame 057594/0867 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2021
From: SILICON VALLEY BANK, AS AGENT
To: SISENSE LTD
Reel/Frame 057594/0926 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 30, 2020
From: SISENSE LTD
To: SILICON VALLEY BANK
Reel/Frame 052267/0313 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 30, 2020
From: SISENSE LTD
To: SILICON VALLEY BANK, AS AGENT
Reel/Frame 052267/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2016
From: FARKASH, ELDAD; SHUB, DEAN; BOYANGU, GUY
To: SISENSE LTD.
Reel/Frame 039634/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2016
From: FARKASH, ELDAD; SHUB, DEAN; BOYANGU, GUY
To: SISENSE LTD.
Reel/Frame 039504/0119 →