IP Library Patent Application 13899507
Patent Application
App. No. 13/899,507

Filtering and Transforming a Graph Representing an Application

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.
13/899,507
Abstract

A graph representing code element and relationships between code elements may have elements combined to consolidate or collapse portions of the graph. A filter may operate between the graph data and a renderer to show the graph in different states. The graph may be implemented with an interactive user interface through which a user may select a node, edge, or groups of nodes and edges, then apply a filter or other transformation. When the user selects to combine a group of code elements, the combined elements may be displayed as a single element. In some cases, the single element may be presented with visual differentiation to show that the element is a collapsed or combined element, as opposed to a singleton element.

Claims (34)

1 . A method performed by a computer processor, said method comprising:

receiving a set of graph data comprising nodes and edges, said nodes corresponding to code elements and said edges corresponding to relationships between said code elements, said graph data comprising nodes representing individual instances of said code elements;

receiving a filter definition, said filter definition defining a group of said code elements and said relationships; and

displaying said set of graph data using said filter definition on a display such that said nodes and edges are grouped according to said filter definition, said set of graph data being displayed as an interactive graph.

2 . The method of claim 1 , said filter definition comprising representing a first set of said code elements as a combined single node.

3 . The method of claim 2 further comprising:

displaying said combined single node using a first visual differentiator applied to said combined single node, said first visual differentiator being different from a second node, said second node not being a combined node.

4 . The method of claim 2 further comprising:

displaying said combined single node using a first visual differentiator applied to a group of edges connected to said combined single node, said first visual differentiator being different from a second edge, said second edge connecting a first node and a second node, said first node and said second node not being a combined node.

5 . The method of claim 2 , said first set of code elements being different instances of a single code element.

6 . The method of claim 5 , said different instances being instances of said single code element operating on different processors.

7 . The method of claim 5 , said different instances being instances of said single code element operating on a single processor.

8 . The method of claim 2 , said first set of code elements being members of a common code base.

9 . The method of claim 8 , said common code base being a single library.

10 . The method of claim 8 , said common code base being a common source code file.

11 . The method of claim 2 , said filter definition being initiated from an interaction with said interactive graph.

12 . The method of claim 11 , said interaction comprising selecting a first node, said first node being a member of said group.

13 . The method of claim 11 , said interaction comprising selecting an item from a legend, said item being related to said group.

14 . The method of claim 2 further comprising:

receiving a second filter definition, said second filter definition defining a second group of said code elements and said relationships; and

displaying said set of graph data using said filter definition and said second filter definition.

15 . A system comprising:

a user interface comprising a display and a user input mechanism;

a processor that:

receives a set of graph data comprising nodes and edges, said nodes corresponding to code elements and said edges corresponding to relationships between said code elements, said graph data comprising nodes representing individual instances of said code elements;

receives a filter definition, said filter definition defining a group of said code elements and said relationships; and

displays said set of graph data using said filter definition on a display such that said nodes and edges are grouped according to said filter definition, said set of graph data being displayed as an interactive graph.

16 . The system of claim 15 , said filter definition comprising representing a first set of said code elements as a combined single node.

17 . The system of claim 16 , said processor that further:

displays said combined single node using a first visual differentiator applied to said combined single node, said first visual differentiator being different from a second node, said second node not being a combined node.

18 . The system of claim 17 , said processor that further:

displays said combined single node using a first visual differentiator applied to a group of edges connected to said combined single node, said first visual differentiator being different from a second edge, said second edge connecting a first node and a second node, said first node and said second node not being a combined node.

19 . The system of claim 16 , said first set of code elements being different instances of a single code element.

20 . The system of claim 19 , said different instances being instances of said single code element operating on different processors.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: CONCURIX CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036139/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2013
From: GOUNARES, ALEXANDER G.
To: CONCURIX CORPORATION
Reel/Frame 031253/0630 →