IP Library › Granted Patent US 12,299,011
Granted Patent B2
US 12,299,011 · App. 18/244,440 · Granted May 13, 2025

Connection nature between nodes in graph structure

Inventors: Leo Moreno Betthauser (Kirkland, WA); Maurice Diesendruck (Bellevue, WA); Harsh Shrivastava (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/288G06F16/2264
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 12,299,011
App. No.
18/244,440
Granted
May 13, 2025
Kind
B2
Abstract

The interpretation of a graph data structure represented on a computing system in which the connection between a pair of nodes in the graph may be interpreted by which intermediary entity (node or edge) on a path (e.g., a shortest path) between the node pair is most dominant. That is, if the intermediary entity were not present, a detour path is determined. The greater the difference between the detour path and the original path, the more significant that intermediary entity is. The significance of multiple intermediary entities in the original path may be determined in this way.

Claims (42)

1. A computing system comprising:

one or more processors; and

one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computing system to:

determine a first path between a set of nodes, which includes a first terminal node, a second terminal node, and a first intermediary node;

determine a first detour path between the first terminal node and the second terminal node, wherein the first detour path (i) routes from the first terminal node along the first path up to the first intermediary node, (ii) routes around the first intermediary node via use of a second intermediary node such that the first detour path omits the first intermediary node, and (iii) uses a first shortest path from the second intermediary node to the second terminal node;

determine a second detour path between the first terminal node and the second terminal node, wherein the second detour path, which also omits the first intermediary node, is a second shortest path from the first terminal node to the second terminal node;

determine a first number of network hops in the first path, a second number of network hops in the first detour path, and a third number of network hops in the second detour path;

determine a difference between (i) the first number of network hops and (ii) a combination of the second and third numbers of network hops; and

assign a significance score to the first intermediary node based on the determined difference.

2. The computing system of claim 1 , wherein a visualization size of one of the first or second intermediary nodes is modified based on the significance score.

3. The computing system of claim 1 , wherein a third intermediary node is included in the first path and at least one of the first or second detour paths.

4. The computing system of claim 1 , wherein the difference is zero hops.

5. The computing system of claim 1 , wherein the first path is a shortest path between the first and second terminal nodes.

6. The computing system of claim 1 , wherein the difference is at least one hop.

7. The computing system of claim 1 , wherein a relatively higher value for the significance score indicates the difference is a relatively larger difference, and wherein a relatively lower value for the significance score indicates the difference is a relatively smaller difference.

8. The computing system of claim 1 , wherein a visualization thickness of one or more intermediary edges is modified based on the significance score.

9. The computing system of claim 1 , wherein, while the first path is being evaluated, edges in the first path are visually emphasized.

10. A method comprising:

determining a first path between a set of nodes, which includes a first terminal node, a second terminal node, and a first intermediary node;

determining a first detour path between the first terminal node and the second terminal node, wherein the first detour path (i) routes from the first terminal node along the first path up to the first intermediary node, (ii) routes around the first intermediary node via use of a second intermediary node such that the first detour path omits the first intermediary node, and (iii) uses a first shortest path from the second intermediary node to the second terminal node;

determining a second detour path between the first terminal node and the second terminal node, wherein the second detour path, which also omits the first intermediary node, is a second shortest path from the first terminal node to the second terminal node;

determining a first number of network hops in the first path, a second number of network hops in the first detour path, and a third number of network hops in the second detour path;

determining a difference between (i) the first number of network hops and (ii) a combination of the second and third numbers of network hops; and

assigning a significance score to the first intermediary node based on the determined difference.

11. The method of claim 10 , wherein the set of nodes are included in a graph data structure.

12. The method of claim 11 , wherein a visualization size of the first intermediary node in the graph data structure is either increased or decreased.

13. The method of claim 11 , wherein a visualization size of the second intermediary node in the graph data structure is either increased or decreased.

14. The method of claim 11 , wherein visualization sizes of both the first intermediary node and the second intermediary node in the graph data structure are either increased or decreased.

15. A computer system comprising:

one or more processors; and

one or more hardware storage devices that store instructions that are executable by the one or more processors to cause the computer system to:

determine a first path between a set of nodes, which includes a first terminal node, a second terminal node, and a first intermediary node;

determine a first detour path between the first terminal node and the second terminal node, wherein the first detour path (i) routes from the first terminal node along the first path up to the first intermediary node, (ii) routes around the first intermediary node via use of a second intermediary node such that the first detour path omits the first intermediary node, and (iii) uses a first shortest path from the second intermediary node to the second terminal node;

determine a second detour path between the first terminal node and the second terminal node, wherein the second detour path, which also omits the first intermediary node, is a second shortest path from the first terminal node to the second terminal node;

determine a first number of network hops in the first path, a second number of network hops in the first detour path, and a third number of network hops in the second detour path;

determine a difference between (i) the number of network hops and (ii) a combination of the second and third numbers of network hops;

assign a significance score to the first intermediary node based on the determined difference; and

modify a visualization size of at least one of the first intermediary node or the second intermediary node in a graph data structure.

16. The computer system of claim 15 , wherein a third intermediary node is included in the first path.

17. The computer system of claim 15 , wherein a third intermediary node is included in the first or second detour paths.

18. The computer system of claim 15 , wherein the difference is zero hops.

19. The computer system of claim 15 , wherein the difference is one or more hops.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2023
From: BETTHAUSER, LEO MORENO; DIESENDRUCK, MAURICE; SHRIVASTAVA, HARSH
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064858/0051 →
Continuity (2)
Continuation 17556622 · Dec 20, 2021
Related Publication 20230418845A1 · Dec 28, 2023
References Cited (19)
US 5963948A · Shilcrat · 1999 [cited by examiner]
US 6489968B1 · Ortega · 2002 [cited by examiner]
US 9779147B1 · Sherman · 2017 [cited by examiner]
US 10789526B2 · Wilson · 2020 [cited by examiner]
US 11187546B2 · Rolf · 2021 [cited by examiner]
US 11526480B2 · Rolf · 2022 [cited by examiner]
US 20020130907A1 · Chi · 2002 [cited by examiner]
US 20040122803A1 · Dom · 2004 [cited by examiner]
US 20110169833A1 · Basak · 2011 [cited by examiner]
US 20110184945A1 · Das · 2011 [cited by examiner]
US 20120131460A1 · Coyle-Gilchrist · 2012 [cited by examiner]
US 20150142796A1 · Floreskul · 2015 [cited by examiner]
US 20160117602A1 · Hassanzadeh · 2016 [cited by examiner]
US 20170060989A1 · Shinkuma · 2017 [cited by examiner]
US 20180224293A1 · Xu · 2018 [cited by examiner]
US 20190287018A1 · Coupe · 2019 [cited by examiner]
US 20210064595A1 · Lee · 2021 [cited by examiner]
US 20210390395A1 · Ait-Mokhtar · 2021 [cited by examiner]
US 20220053011A1 · Rao · 2022 [cited by examiner]