US 12,079,780 B2
Intelligent processing and presentation of user-connection data on a computing device
Aleksander Øhrn, Oslo (NO); Nir Netes, Oslo (NO); Kateryna Solonko, Oslo (NO); and Ute Katja Schiehlen, Oslo (NO)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Jun. 30, 2021, as Appl. No. 17/364,461.
Prior Publication US 2023/0004943 A1, Jan. 5, 2023
Int. Cl. G06Q 10/1093 (2023.01); G06Q 50/00 (2024.01)
CPC G06Q 10/1095 (2013.01) [G06Q 50/01 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computer system to determine user-connection data for a plurality of users, the computer system comprising:
at least one processor; and
computer memory having computer-readable instructions embodied thereon that when executed by the at least one processor perform operations comprising:
for the plurality of users, each user having corresponding user data characterizing the user, programmatically evaluating the user data for each pair of users in the plurality to determine whether at least one relationship exists between the pair of users, thereby forming a set of user-pair relationships for the pairs of users determined to have at least one relationship existing between the pair;
based on the set of user-pair relationships, generating a graph data structure comprising a plurality of nodes and one or more edges connecting each node to another node, each node corresponding to a user in the set of user-pair relationships, and each edge corresponding to a relationship of one of a plurality of relationship types existing between users corresponding to the nodes that are connected by the edge;
detecting an interaction between a first user and a graphical user interface (GUI) element displayed on a user interface of a communication application, the GUI element identifying a second user;
in response to detection of the interaction, querying the graph data structure to identify connection data describing a path within the graph data structure that extends between a first node corresponding to the first user and a second node corresponding to the second user, the connection data identifying:
a user identifier of a third user corresponding to a third node in the path between the first node and the second node;
a relationship type identifier for each edge in the path identifying a relationship between users corresponding to nodes connected by the edge; and
presenting the connection data in the GUI element on the user interface.