IP Library Granted Patent US 9,721,039
Granted Patent B2
US 9,721,039 · App. 13/328,989 · Granted Aug 1, 2017

Generating a relationship visualization for nonhomogeneous entities

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,721,039
App. No.
13/328,989
Granted
Aug 1, 2017
Kind
B2
Abstract

A relationship visualization system displays contextual information for a relationship between two entities of a document management system, such as for a user and a document. The system can receive a request for a relationship visualization from a user, such that the request indicates the user and a document. Then, the system determines, from a multipartite graph, a set of relationship paths coupling entity nodes that correspond to the user and the document. A relationship path can include one or more entity nodes indicating contextual information for the relationship between the user and the document. Then, the system selects a first group of entity nodes from the set of relationship paths to represent the relationship between the user and the document. The system then provides a relationship visualization that displays contextual information from the first group of entity nodes to illustrate the relationship between the user and the document.

Claims (108)

1. A computer-implemented method comprising:

receiving, by a computing device, a first request for a relationship visualization, wherein the request includes a date range, a user, and a target entity;

selecting, from a multipartite graph, a first set of relationship paths that each includes an entity node representing the user at one end and an entity node representing the target entity at the opposite end, wherein a relationship path includes one or more internal entity nodes that represent a person, an organization, or a document;

selecting, from the first set of relationship paths, a date-range entity node whose corresponding date range overlaps with the included date range;

selecting, from the first set of relationship paths, a first group of entity nodes that form a relationship path between the user and the target entity and that traverses the selected date-range entity node;

obtaining contextual information associated with the first group of entity nodes in the first set of relationship paths; and

providing a first relationship visualization that displays the contextual information from the first group of entity nodes in the first set of relationship paths to illustrate a relationship between the user and the target entity.

2. The method of claim 1 , wherein an entity node of the multipartite graph corresponds to an entity type selected from the group consisting of:

a person;

a document;

a project;

a topic;

an activity;

a date range;

a company;

an address; and

a phone number.

3. The method of claim 2 , wherein providing the first relationship visualization comprises generating a date-centric relationship visualization by:

determining a visualization position for an entity node, which involves:

determining a position along a first axis for the entity node based on an entity type for the entity node; and

determining a position along a second axis for the entity node based on a date associated with the entity node; and

generating a visualization that displays contextual information for the entity node at the corresponding visualization position.

4. The method of claim 1 , wherein selecting the first set of relationship paths comprises:

determining a weighted value for each entity node and each edge in the multipartite graph; and

selecting one or more shortest paths between the user's entity node and the target entity's entity node, which involves computing a path's length by:

for each edge in the path, adding an inverse of the edge's weighted value to the path's length; and

subtracting, from the path's length, a weighted value for each entity node in the path.

5. The method of claim 1 , wherein selecting the group of entity nodes comprises selecting, from the relationship paths, an entity node based on a corresponding significance score.

6. The method of claim 5 , further comprising determining a significance score for an entity node by:

computing an initial flow through the relationship paths from the user's entity node to the target entity's entity node;

determining a reduced flow associated with the entity node, which involves computing a flow through the relationship paths without traversing the entity node; and

assigning a significance score to the entity node based on a difference between the initial flow and the reduced flow.

7. The method of claim 1 , further comprising:

receiving a second request for a relationship visualization, wherein the second request indicates the target entity of a first entity type and a distal entity of a second entity type;

determining, from the multipartite graph, a second set of relationship paths coupling entity nodes for the target entity and the distal entity;

selecting, from the second set of relationship paths, a second group of entity nodes; and

providing a second relationship visualization, which displays contextual information from the second group of entity nodes to illustrate the relationship between the target entity and the distal entity.

8. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

receiving a first request for a relationship visualization, wherein the request includes a date range, a user, and a target entity;

selecting, from a multipartite graph, a first set of relationship paths that each includes an entity node representing the user at one end and an entity node representing the target entity at the opposite end, wherein a relationship path includes one or more internal entity nodes that represent a person, an organization, or a document;

selecting, from the first set of relationship paths, a date-range entity node whose corresponding date range overlaps with the included date range;

selecting, from the first set of relationship paths, a first group of entity nodes that form a relationship path between the user and the target entity and that traverses the selected date-range entity node;

obtaining contextual information associated with the first group of entity nodes in the first set of relationship paths; and

providing a first relationship visualization that displays the contextual information from the first group of entity nodes in the first set of relationship paths to illustrate the relationship between the user and the target entity.

9. The computer-readable storage medium of claim 8 , wherein an entity node of the multipartite graph corresponds to an entity type selected from the group consisting of:

a person;

a document;

a project;

a topic;

an activity;

a date range;

a company;

an address; and

a phone number.

10. The computer-readable storage medium of claim 9 , wherein providing the first relationship visualization comprises generating a date-centric relationship visualization by:

determining a visualization position for an entity node, which involves:

determining a position along a first axis for the entity node based on an entity type for the entity node; and

determining a position along a second axis for the entity node based on a date associated with the entity node; and

generating a visualization that displays contextual information for the entity node at the corresponding visualization position.

11. The computer-readable storage medium of claim 8 , wherein selecting the first set of relationship paths comprises:

determining a weighted value for each entity node and each edge in the multipartite graph; and

selecting one or more shortest paths between the user's entity node and the target entity's entity node, which involves computing a path's length by:

for each edge in the path, adding an inverse of the edge's weighted value to the path's length; and

subtracting, from the path's length, a weighted value for each entity node in the path.

12. The computer-readable storage medium of claim 8 , wherein selecting the group of entity nodes comprises selecting, from the relationship paths, an entity node based on a corresponding significance score.

13. The computer-readable storage medium of claim 12 , further comprising determining a significance score for an entity node by:

computing an initial flow through the relationship paths from the user's entity node to the target entity's entity node;

determining a reduced flow associated with the entity node, which involves computing a flow through the relationship paths without traversing the entity node; and

assigning a significance score to the entity node based on a difference between the initial flow and the reduced flow.

14. The computer-readable storage medium of claim 8 , further comprising:

receiving a second request for a relationship visualization, wherein the second request indicates the target entity of a first entity type and a distal entity of a second entity type;

determining, from the multipartite graph, a second set of relationship paths coupling entity nodes for the target entity and the distal entity;

selecting, from the second set of relationship paths, a second group of entity nodes; and

providing a second relationship visualization, which displays contextual information from the second group of entity nodes to illustrate the relationship between the target entity and the distal entity.

15. An apparatus comprising:

a processor;

a memory;

a receiving module to receive a first request for a relationship visualization, wherein the request includes a date range, a user and a target entity;

an analysis module to select, from a multipartite graph, a first set of relationship paths that each includes an entity node representing the user at one end and an entity node representing the target entity at the opposite end, wherein a relationship path includes one or more internal entity nodes that represent a person, an organization or a document;

a date-range selection module to select, from the first set of relationship paths, a date-range entity node whose corresponding date range overlaps with the included date range;

a node-selecting module to select, from the first set of relationship paths, a first group of entity nodes that form a relationship path between the user and the target entity and that traverses the selected date-range entity node;

a contextual information obtaining module to obtain contextual information associated with the first group of entity nodes in the first set of relationship paths; and

a display module to provide a first relationship visualization which displays contextual information from the first group of entity nodes in the first set of relationship paths to illustrate the relationship between the user and the target entity.

16. The apparatus of claim 15 , wherein an entity node of the multipartite graph corresponds to an entity type selected from the group consisting of:

a person;

a document;

a project;

a topic;

an activity;

a date range;

a company;

an address; and

a phone number.

17. The apparatus of claim 16 , wherein the display module is further configured to generate a date-centric relationship visualization by:

determining a visualization position for an entity node, which involves:

determining a position along a first axis for the entity node based on an entity type for the entity node; and

determining a position along a second axis for the entity node based on a date associated with the entity node; and

generating a visualization that displays contextual information for the entity node at the corresponding visualization position.

18. The apparatus of claim 15 , wherein while selecting the first set of relationship paths, the analysis module is further configured to:

determine a weighted value for each entity node and each edge in the multipartite graph; and

select one or more shortest paths between the user's entity node and the target entity's entity node, which involves computing a path's length by:

for each edge in the path, adding an inverse of the edge's weighted value to the path's length; and

subtracting, from the path's length, a weighted value for each entity node in the path.

19. The apparatus of claim 15 , wherein while selecting the group of entity nodes, the node-selecting module is further configured to select, from the relationship paths, an entity node based on a corresponding significance score.

20. The apparatus of claim 19 , wherein the node-selecting module is further configured to determine a significance score for an entity node by:

computing an initial flow through the relationship paths from the user's entity node to the target entity's entity node;

determining a reduced flow associated with the entity node, which involves computing a flow through the relationship paths without traversing the entity node; and

assigning a significance score to the entity node based on a difference between the initial flow and the reduced flow.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073842/0479 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →