US20150106371A1 - Generating connection recommendations based on recent connections and connections of close connections - Google Patents
Generating connection recommendations based on recent connections and connections of close connections Download PDFInfo
- Publication number
- US20150106371A1 US20150106371A1 US14/515,995 US201414515995A US2015106371A1 US 20150106371 A1 US20150106371 A1 US 20150106371A1 US 201414515995 A US201414515995 A US 201414515995A US 2015106371 A1 US2015106371 A1 US 2015106371A1
- Authority
- US
- United States
- Prior art keywords
- member profile
- connection
- profile
- connection activity
- connections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F17/30386—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Abstract
The present disclosure is directed to methods, systems, and computer program products for rendering member profile suggestions based on data derived from a social graph and activity data derived from a social network service operation on the social graph. A social network service may store member or organization profiles as nodes on the social graph. In response to a recommendation event, the social network service may identify a source profile having direct connections to a first set of profiles. The social network service may then determine a second set of profiles that are directly connected to one or more profiles of the first set of profiles. The profiles may be further associated with connection activity information, and the social network service may select one or more of the profiles from the second set of profiles as recommended profiles for the source profile based on the connection activity information.
Description
- This application claims the benefit of priority to U.S. Pat. App. No. 61/891,787, filed Oct. 16, 2013 and titled “GENERATING CONNECTION RECOMMENDATIONS BASED ON RECENT CONNECTIONS AND CONNECTIONS OF CLOSE CONNECTIONS,” the disclosure of which is incorporated by reference herein in its entirety.
- The present disclosure generally relates to information retrieval and processing. More specifically, the present disclosure relates to methods, systems and computer program products for generating connection recommendations based on data derived from a social network service.
- Online social network services provide members with a mechanism for defining, and memorializing in a digital format, representations of themselves (e.g., member profiles) and their relationships with other people. This digital representation of relationships between members is frequently referred to as a social graph. Many social network services utilize a social graph to facilitate electronic communications and the sharing of information between its users or members. For instance, the relationship between two members of a social network service, as defined in the social graph of the social network service, may determine the access and sharing privileges that exist between the two members. As such, the social graph in use by a social network service may determine the manner in which two members of the social network service can interact with one another via the various communication and sharing mechanisms supported by the social network service.
- Some social network services aim to enable friends and family to communicate and share with one another, while others are specifically directed to business users with a goal of facilitating the establishment of professional networks and the sharing of business information. For purposes of the present disclosure, the terms “social network” and “social network service” are used in a broad sense and are meant to encompass services aimed at connecting friends and family (often referred to simply as “social networks”), as well as services that are specifically directed to enabling business people to connect and share business information (also commonly referred to as “social networks” but sometimes referred to as “business networks” or “professional networks”).
- With many social network services, members are prompted to provide a variety of personal information, which may be displayed in a member's personal web page. Such information is commonly referred to as “personal profile information”, or simply “profile information”, and when shown collectively, it is commonly referred to as a member's profile. For example, with some of the many social network services in use today, the personal information that is commonly requested and displayed as part of a member's profile includes a member's age (e.g., birth date), gender, contact information, home town, address, the name of the member's spouse and/or family members, a photograph of the member, interests, and so forth. With certain social network services, such as some business network services, a member's personal information may include information commonly included in a professional resume or curriculum vitae, such as information about a person's education, employment history, job skills, professional organizations, and so forth. With some social network services, a member's profile may be viewable to the public by default, or alternatively, the member may specify that only some portion of the profile is to be public by default. As such, many social network services serve as a sort of directory of people to be searched and browsed.
- Some embodiments of the technology are illustrated by way of example and not limitation in the figures of the accompanying drawings.
-
FIG. 1 is a block diagram illustrating various functional components of a suitable computing environment, consistent with some embodiments, for rendering connection information based on social network activities. -
FIGS. 2-4 are diagrams illustrating example data models used by the recommendation engine to generate connection recommendations consistent with some embodiments. -
FIGS. 5-6 are flow charts illustrating methods for generating connection recommendations, consistent with some embodiments. -
FIG. 7 is a block diagram of a machine in the form of a computing device within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. - The present disclosure describes, among other things, methods, systems, and computer program products, which individually provide functionality for rendering member profile suggestions based on a data derived from a social graph and activity data derived from a social network service operation on the social graph.
- Example embodiments may include systems and methods to generate connection recommendations based on data derived from social graph data. As is explained in greater detail below, social graph data may include data identifying member profiles in a social network service and member connections between these member profiles. As is also explained in greater detail below, a connection recommendation may be data that suggests a member profile in the social network service that may be of interest to another member profile, where the two members do not have a direct member connection in the social graph.
- One type of connection recommendation may be generated based on timing data of member connections in a social graph. That is, some embodiments may generate, for a source member profile, a connection recommendation for member profiles of indirect connections (e.g., second-degree connections, third-degree connections, and so forth) of the source member based on timing data related to member connections in a social graph of the source member. For example, a recommendation engine may identify a first connection path to a first indirect connection of a source member profile. In one case, the first connection path to the first indirect connection may include a member connection between the source member profile and a first direct connection and a member connection between the first direct connection and the first indirect connection.
- The recommendation engine may then, in some embodiments, identify a second connection path to a second indirect connection of the source member profile. In one case, the second connection path to the second indirect connection may include a member connection between the source member profile and a second direct connection and a member connection between the second direct connection and the second indirect connection.
- The recommendation engine may then select the first indirect connection based on a timing function that compares the first connection path to the second connection path. The timing function may compare the connection paths based on time data assigned to the member connections of the connection path.
- A presentation engine may then surface the selected indirect connection to the source member profile as a connection recommendation. The connection recommendation may be configured to cause a client device operated by the source member to display information from the member profile of the selected indirect connection (e.g., name, title, profile image, and the like). The connection recommendation may also be configured to cause the client device to display an interface element that, if activated by the source member, causes the social network service to form a direct connection between the source member and the selected indirect connection.
- Another type of connection recommendation may be generated based on common connections shared by member profiles in a social graph. That is, some example embodiments may generate, for a source member profile, a connection recommendation specifying member profiles selected based on a number of common connections shared between indirect connections (e.g., second-degree connections, third-degree connections, and so forth) of the source member and the source member. For example, a recommendation engine may identify a first connection path to a first indirect connection of a source member profile. In one case, the first connection path to the first indirect connection may include a member connection between the source member profile and a first direct connection and a member connection between the first direct connection and the first indirect connection.
- The recommendation engine may then, in some embodiments, identify a second connection path to a second indirect connection of the source member profile. In one case, the second connection path to the second indirect connection may include a member connection between the source member profile and a second direct connection and a member connection between the second direct connection and the second indirect connection.
- The recommendation engine may then select the first indirect connection based on a shared connection function that compares the number of shared connections along the first connection path to the number of shared connection along the second connection path.
- A presentation engine may then surface the selected indirect connection to the source member profile in the form of a connection recommendation. The connection recommendation may be configured to cause a client device to display information from the member profile of the selected indirect connection (e.g., name, title, profile image, and the like). The connection recommendation may also be configured to cause the client device to display an interface element that, if activated by the source member, causes the social network service to form a direct connection between the source member and the selected indirect connection.
- Example embodiments may provide many practical applications. For example, some systems and methods may leverage information associated with member connections between members of a social network service in order to provide targeted, actionable information to the members, in order to encourage and/or prompt the members to seek additional connections within the social network service, encourage outside users to join the social network service, and other benefits.
- In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various aspects of different embodiments of the present invention. It will be evident, however, to one skilled in the art, that the present invention may be practiced without all of the specific details.
- Other advantages and aspects of the inventive subject matter will be readily apparent from the description of the figures that follows.
-
FIG. 1 is a block diagram illustrating various components or functional modules of asocial network service 100, consistent with some embodiments. As shown inFIG. 1 , the front end consists of a user interface module (e.g., a web server) 112, which receives requests from various client-computing devices, and communicates appropriate responses to the requesting client devices. For example, the user interface module(s) 112 may receive requests in the form of Hypertext Transport Protocol (HTTP) requests, or other web-based, application programming interface (API) requests. The application logic layer includes variousapplication server modules 114, which, in conjunction with the user interface module(s) 112, generates various user interfaces (e.g., web pages) with data retrieved from various data sources in the data layer. With some embodiments, individualapplication server modules 114 are used to implement the functionality associated with various services and features of the social network service. For instance, the ability to generate connection recommendations for a source member may be service (or services) implemented in independentapplication server modules 114. Similarly, a variety of other applications or services that are made available to members of the social network service will be embodied in their ownapplication server modules 114. For example, with some embodiments, thesocial network system 110 includes modules that may individually or in combination provide connection recommendations, such as arecommendation engine 116 and apresentation engine 117. Therecommendation engine 116 may be a computer-implemented module configured to generate connection recommendations. Example embodiments may use a variety of information to generate the connection recommendations, such as data derived from member connections in a social graph. - The
presentation engine 117 may be a computer-implemented module configured to generate user interface elements for interacting with the connection recommendations. For instance, thepresentation engine 117 may generate user interface elements that may execute on a client device. For example, thepresentation engine 117 may generate user interface elements that, when executed on a client device operated by the source member, display one or more connection recommendations and user interface control elements for interacting with the displayed colleague recommendations. - As shown in
FIG. 1 , the data layer includes several databases, such as a database 118 for storing profile data. Consistent with some embodiments, when a person initially registers to become a member of the social network service, the person will be prompted to provide some personal information, such as his or her name, age (e.g., birthdate), gender, interests, contact information, home town, address, the names of the member's spouse and/or family members, educational background (e.g., schools, majors, matriculation and/or graduation dates, etc.), employment history, skills, professional organizations, and so on. This information is stored, for example, in the database with reference number 118. - Once registered, a member may invite other members, or be invited by other members, to connect via the social network service. A “member connection, or simply “connection,” may require a bi-lateral agreement by the members, such that both members acknowledge the establishment of the connection. It is to be appreciated that members may “connect” with entities other than member profiles, such as companies, groups, or any other suitable cohort. The various associations and relationships that the members establish with other members, or with other entities represented by date stored in the database 118, are stored and maintained within the social graph, shown in
FIG. 1 with reference number 120. - The
social network service 100 may provide a broad range of other applications and services that allow members the opportunity to share and receive information, often customized to the interests of the member. For example, with some embodiments, the social network service may include a photo sharing application that allows members to upload and share photos with other members. With some embodiments, members may be able to self-organize into groups, or interest groups, organized around a subject matter or topic of interest. With some embodiments, thesocial network service 100 may host various job listings providing details of job openings with various organizations. - As members interact with the various applications, services and content made available via the social network service, the members' behavior (e.g., content (e.g., profiles) viewed, links selected, messages sent, etc.) may be monitored and information concerning the member's behavior may be stored, for example, as indicated in
FIG. 1 by the database with reference number 122. One type of behavior data that may be stored in database 122 is member activity between a member having one member profile with another member having another member profile. As described above, examples of member activities include activities where one member: visits a profile page of a member, messages the member, saves the member in a contact list, introduces the member to another member profile. -
FIG. 2 illustrates an example of asocial graph 200 that includesmember connections 204A-E andmember profiles 202A-F. For clarity of description, thesocial graph 200 may be the social graph for themember profile 202A. That is, thesocial graph 200 may be the social graph that illustrates how themember profile 202A is connected to other member profiles within the social network service. The member profiles 202A-F, commonly referred to as nodes, may each represent a member profile of a user of the social network service. As used herein, the term “connection” can mean any node within a member profile's social graph. - The
member connections 204A-E may be data and/or logic that represents that two members have initiated a member connection with each other through the social networking service. - As shown in
FIG. 2 ,member profile 202A has “direct” member connections withmember profiles member profile 202A has two first-degree connections (e.g.,member profile - In the
social graph 200, it is possible for member profiles to be indirectly connected to other member profiles through first-degree connections (e.g., connections of connections). The number of edges (e.g., member connections) in a minimum path that connects a member profile to another profile is considered the degree of the connection between the member profiles. For example,FIG. 2 shows that the member profiles 202C and 202F are second-degree connections to themember profile 202A because the minimum path from 202A to 202C includes two member connections (204C and 204E), and the minimum path from 202A to 202F also includes two member connections (204C and 204D). For the same reason, it should be appreciated thatmember profile 202E is also a second-degree connection. - The limit on the number of degrees of separation for member connections that a member profile is allowed is typically dictated by the restrictions and policies implemented by the social networking service.
- In some embodiments, the member connections can be unidirectional (e.g., formed by following or subscribing) or bidirectional (e.g., formed by “connecting” or “friending”). It is also not a limitation of this description that two member connections who are deemed “connections” for the purposes of this disclosure are not necessarily connected in real life, but that can be the case.
- As described herein, in some example embodiments, the
recommendation engine 116 ofFIG. 1 generates connection recommendations based on data derived from member connections in a social graph, and surfaces, through thepresentation engine 117, selected member profiles in order to facilitate a member connection between the source member and the selected member profiles, among other things. Thus, therecommendation engine 116 and thepresentation engine 117 include components that perform algorithmic processes configured to facilitate members connecting with other members.FIGS. 3-4 are diagrams illustrating example data models used by therecommendation engine 116 to generate connection recommendations, consistent with some embodiments. - As illustrated in
FIG. 3 , thesocial graph 200 may include connection time data associated with the member connections. In comparison toFIG. 2 , thesocial graph 200 themember connections 204A-E now each include respective connection time data 306A-E. “Connection time data,” as used herein, may include any suitable data that represents a relative timing in which a connection activity occurred. A connection activity may be any event or activity that is associated with one member connecting with and/or attempting to connect with another member, a member viewing or accessing information indicating potential connections (e.g., “people you may know” information), among other things. - Example connection activity include: a member accepting a connection request or invite from another member; a member sending a connection request or invite to another member; a member importing information from an address book or other database or online location that includes information identifying users or people that are associated with the member; a member following another member; a member viewing the member profile or another member or viewing information identifying potential connections, such as potential connections inferred and/or suggested to the member by the social network service 130; and so on.
- With continued reference to
FIG. 3 , themember connections 204A-E each have connection time data (e.g., connection time data 306A-E) that indicate when the corresponding member connection was formed within the social network service. For example, themember profile 202A and themember profile 202B formed themember connection 204C on “1:15:35 PM, Sep. 12, 2013.” In other embodiments, the time data may be expressed using alternative expressions, such as a measurement of length of time from the creation of the connection activity and the current time. The connection time data may be a time stamp field with a value specified by the social network service when the connection activity is created. For example, a member connection data structure may include, among other things, two fields containing the member profiles being connected and a time stamp field to indicate when the two members formed the member connection. - As illustrated in
FIG. 4 , thesocial graph 200 may additionally or alternatively include data specifying the number of shared connections member profiles have with a particular member profile. For example, in comparison toFIG. 2 , thedata model 200 may include commonconnection activity data 408A-E. “Common connection activity data,” as used herein, may include any suitable data that represents a connection activity that is shared between two member profiles. As described above, a connection activity may be any event or activity that is associated with one member connecting with and/or attempting to connect with another member, a member viewing or accessing information indicating potential connections, among other things (e.g., a member accepting a connection request or invite from another member, a member sending a connection request or invite to another member, a member importing information from an address book or other database or online location that includes information identifying users or people that are associated with the member, a member following another member, a member viewing the member profile or another member or viewing information identifying potential connections, and so on). Accordingly, common connection activity data may characterize when two member profiles share a member activity involving the same member activity. By way of example and not limitation, two member profiles being connected to the same member profile is an example of a common connection activity. - With reference back to
FIG. 4 , the member profiles 202B-F each have common connection activity data (e.g., commonconnection activity data 408B-E) that represents a connection activity that is shared withmember profile 202A. For example, themember profile 202B shares ‘10’ common connections withmember profile 202A, while themember profile 202C shares ‘5’ common connections. - As described herein, the
recommendation engine 116 may perform various methods when generating connection recommendations, such as information rendered for members of the social network service 130.FIG. 5 is a flow diagram illustrating anexample method 500 for generating connection recommendations based on social network activities, consistent with some embodiments. Themethod 500 may be performed by therecommendation engine 116 andpresentation engine 117, accordingly, is described herein merely by way of reference thereto. However, it will be appreciated that themethod 500 may be performed on any suitable hardware. Themethod 500 may also be performed by operating on thesocial graph 200 shown inFIGS. 2 , 3, and 4, accordingly, is described herein merely by way of reference thereto. However, it will be appreciated that themethod 500 may be performed on any suitable data structure. - In
operation 502, therecommendation engine 116 may detect a recommendation event. A recommendation event may be an event that indicates that therecommendation engine 116 is to generate a connection recommendation for a source member. In some cases, therecommendation engine 116 may detect the recommendation event through an explicit request through an application programmable interface (e.g., a function call or web-based service request) or based on detecting that the source member profile logged into or otherwise accessed the social network. The recommendation event may include data that specifies a source member profile for the connection recommendation. - At
operation 504, responsive to detecting the recommendation event, therecommendation engine 116 may identify a first connection path to a first indirect connection of the source member profile. In one case, the first connection path to the first indirect connection may include a member connection between the source member profile and a first direct connection and a member connection between the first direct connection and the first indirect connection. - At
operation 506, therecommendation engine 116 may then, in some embodiments, identify a second connection path to a second indirect connection of the source member profile. In one case, the second connection path to the second indirect connection may include a member connection between the source member profile and a second direct connection and a member connection between the second direct connection and the second indirect connection. - At
operation 508, therecommendation engine 116 may then select the first indirect connection based on a timing function that compares the first connection path to the second connection path. The timing function may compare the connection paths based on time data assigned to the member connections of the connection path. In one embodiment, the timing function determines which of the first connection path or the second connection path occurred earlier in time. In another embodiment, the timing function determines which of the first connection path or the second connection path occurred later in time. - At
operation 510, a presentation engine may then surface the selected indirect connection to the source member profile. - Thus, the
method 500 ofFIG. 5 may be performed, in some cases, to generate connection recommendations for a member of the social network service based on how recent the connections between members formed. Another type of connection recommendation may be generated based on common connections shared by member profiles. Example embodiments may generate, for a source member profile, a recommendation for member profiles of indirect connections based on shared connection data related to a number of shared connections between the source member and one or more member connections in a connection path to an indirect connection. -
FIG. 6 is a flow diagram illustrating anexample method 600 for generating connection recommendations based on social network activities, consistent with some embodiments. Themethod 600 may be performed by therecommendation engine 116 andpresentation engine 117, accordingly, is described herein merely by way of reference thereto. However, it will be appreciated that themethod 600 may be performed on any suitable hardware. Themethod 600 may also be performed by operating on thesocial graph 200 shown inFIGS. 2 , 3, and 4, accordingly, is described herein merely by way of reference thereto. However, it will be appreciated that themethod 600 may be performed on any suitable data structure. - The
method 600 may begin atoperation 602 when therecommendation engine 116 detects a recommendation event. As discussed above, a recommendation event may be an event that indicates that therecommendation engine 116 is to generate a connection recommendation for a source member. In some cases, therecommendation engine 116 may detect the recommendation event through an explicit request through an application programmable interface (e.g., a function call or web-based service request) or based on detecting that the source member profile logged into or otherwise accessed the social network. The recommendation event may include data that specifies a source member profile for the connection recommendation. - At
operation 604, therecommendation engine 116 may identify a first connection path to a first indirect connection of a source member profile. In one case, the first connection path to the first indirect connection may include a member connection between the source member profile and a first direct connection and a member connection between the first direct connection and the first indirect connection. - At
operation 606, therecommendation engine 116 may then, in some embodiments, identify a second connection path to a second indirect connection of the source member profile. In one case, the second connection path to the second indirect connection may include a member connection between the source member profile and a second direct connection and a member connection between the second direct connection and the second indirect connection. - At
operation 608, therecommendation engine 116 may then select the first indirect connection based on a shared connection function that compares the number of shared connections along the first connection path to the number of shared connection along the second connection path. In one embodiment, the shared connection function selects the first connection path or the second connection path based on the first connection path or the second connection path having a greater number of shared connections. In another embodiment, the shared connection function selects the first connection path or the second connection path based on the first connection path or the second connection path having a fewer number of shared connections. - At
operation 610, thepresentation engine 117 may then surface the selected indirect connection to the source member profile in the form of a member profile recommendation. The member profile recommendation may be configured to cause a client device to display information from the member profile of the selected indirect connection (e.g., name, title, profile image, and the like). The member profile recommendation may also be configured to cause the client device to display an interface element that, if activated by the source member, causes the social network service to form a direct connection between the source member and the selected indirect connection. - The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules, engines, objects or devices that operate to perform one or more operations or functions. The modules, engines, objects and devices referred to herein may, in some example embodiments, comprise processor-implemented modules, engines, objects and/or devices.
- Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain operations may be distributed among the one or more processors, not only residing within a single machine or computer, but deployed across a number of machines or computers. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or at a server farm), while in other embodiments the processors may be distributed across a number of locations.
-
FIG. 7 is a block diagram of a machine in the form of a computer system or computing device within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In some embodiments, the machine will be a desktop computer, or server computer, however, in alternative embodiments, the machine may be a tablet computer, a mobile phone, a personal digital assistant, a personal audio or video player, a global positioning device, a set-top box, a web appliance, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. - The
example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), amain memory 704 and astatic memory 706, which communicate with each other via a bus 708. Thecomputer system 700 may further include adisplay unit 710, an alphanumeric input device 712 (e.g., a keyboard), and a user interface (UI) navigation device 714 (e.g., a mouse). In one embodiment, thedisplay unit 710,alphanumeric input device 712, and userinterface navigation device 714 are a touch screen display. Thecomputer system 700 may additionally include a storage unit 716 (e.g., drive unit), a signal generation device 718 (e.g., a speaker), anetwork interface device 720, and one or more sensors, such as a global positioning system sensor, compass, accelerometer, or other sensor. - The
storage unit 716 includes a machine-readable medium 722 on which is stored one or more sets of instructions and data structures (e.g., instructions 724) embodying or utilized by any one or more of the methodologies or functions described herein. Theinstructions 724 may also reside, completely or at least partially, within themain memory 704 and/or within theprocessor 702 during execution thereof by thecomputer system 700, themain memory 704 and theprocessor 702 also constituting machine-readable media. - While the machine-
readable medium 722 is illustrated in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. - The
instructions 724 may further be transmitted or received over acommunications network 726 using a transmission medium via thenetwork interface device 720 utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi® and WiMax® networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. - Although some embodiments has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Claims (20)
1. A method comprising:
receiving, with one or more processors, a recommendation event, the recommendation event identifying an activity having been performed by a first member of a social network service;
identifying, from a plurality of member profiles stored in a non-transitory, computer-readable memory in communication with the one or more processors, a first member profile associated with the first member, the plurality of member profiles being represented as corresponding nodes in a social graph;
selecting, with the one or more processors, from the plurality of member profiles, a second member profile indirectly connected to the first member profile by a first plurality of edges in the social graph;
selecting, with the one or more processors, from the plurality of member profiles, a third member profile indirectly connected to the first member profile by a second plurality of edges in the social graph;
selecting, with the one or more processors, first connection activity information associated with the second member profile;
selecting, with the one or more processors, second connection activity information associated with the third member profile;
determining, with the one or more processors, a recommended member profile from the second member profile and the third member profile based on a comparison of the first connection activity information and the second connection activity information; and
providing, with the one or more processors, the recommended member profile in response to the received recommendation event.
2. The method of claim 1 , wherein the second member profile is directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
3. The method of claim 2 , wherein:
the third member profile is directly connected to a fifth member profile;
the fifth member profile is directly connected to the first member profile; and
the fourth member profile and the fifth member profile are different member profiles.
4. The method of claim 1 , wherein the second member profile and the third member profile are each directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
5. The method of claim 1 , wherein:
the first connection activity information comprises connection time data associated with a first edge selected from the first plurality of edges;
the second connection activity information comprises connection time data associated with a second edge selected from the second plurality of edges; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first connection time data with the second connection time data.
6. The method of claim 5 , wherein the recommended member profile is determined based on the first connection time data indicating that the first connection activity occurred more recent than the second connection activity.
7. The method of claim 1 , wherein;
the first connection activity information comprises a first number of connections shared between the first member profile and the second member profile;
the second connection activity information comprises a second number of connections shared between the first member profile and the third member profile; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first number of shared connections with the second number of shared connections.
8. A system comprising:
a non-transitory, computer-readable memory storing computer-executable instructions; and
one or more processors in communication with the non-transitory, computer-readable memory that, having executed the computer-executable instructions, are configured to:
receive a recommendation event, the recommendation event identifying an activity having been performed by a first member of a social network service;
identify, from a plurality of member profiles, a first member profile associated with the first member, the plurality of member profiles being represented as corresponding nodes in a social graph;
select, from the plurality of member profiles, a second member profile indirectly connected to the first member profile by a first plurality of edges in the social graph;
select, from the plurality of member profiles, a third member profile indirectly connected to the first member profile by a second plurality of edges in the social graph;
select first connection activity information associated with the second member profile;
select second connection activity information associated with the third member profile; and
determine a recommended member profile from the second member profile and the third member profile based on a comparison of the first connection activity information and the second connection activity information;
provide the recommended member profile in response to the received recommendation event.
9. The system of claim 8 , wherein the second member profile is directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
10. The system of claim 9 , wherein:
the third member profile is directly connected to a fifth member profile;
the fifth member profile is directly connected to the first member profile; and
the fourth member profile and the fifth member profile are different member profiles.
11. The system of claim 8 , wherein the second member profile and the third member profile are each directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
12. The system of claim 8 , wherein:
the first connection activity information comprises connection time data associated with a first edge selected from the first plurality of edges;
the second connection activity information comprises connection time data associated with a second edge selected from the second plurality of edges; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first connection time data with the second connection time data.
13. The system of claim 8 , wherein the recommended member profile is determined based on the first connection time data indicating that the first connection activity occurred more recent than the second connection activity.
14. The system of claim 8 , wherein;
the first connection activity information comprises a first number of connections shared between the first member profile and the second member profile;
the second connection activity information comprises a second number of connections shared between the first member profile and the third member profile; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first number of shared connections with the second number of shared connections.
15. A non-transitory, computer-readable medium storing computer-executable instructions thereon that, when executed by one or more processors, cause the one or more processors to perform a method, the method comprising:
receiving, with the one or more processors, a recommendation event, the recommendation event identifying an activity having been performed by a first member of a social network service;
identifying, from a plurality of member profiles stored in a non-transitory, computer-readable memory in communication with the one or more processors, a first member profile associated with the first member, the plurality of member profiles being represented as corresponding nodes in a social graph;
selecting, with the one or more processors, from the plurality of member profiles, a second member profile indirectly connected to the first member profile by a first plurality of edges in the social graph;
selecting, with the one or more processors, from the plurality of member profiles, a third member profile indirectly connected to the first member profile by a second plurality of edges in the social graph;
selecting, with the one or more processors, first connection activity information associated with the second member profile;
selecting, with the one or more processors, second connection activity information associated with the third member profile;
determining, with the one or more processors, a recommended member profile from the second member profile and the third member profile based on a comparison of the first connection activity information and the second connection activity information; and
providing, with the one or more processors, the recommended member profile in response to the received recommendation event.
16. The non-transitory, computer-readable medium of claim 15 , wherein the second member profile is directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
17. The non-transitory, computer-readable medium of claim 15 , wherein the second member profile and the third member profile are each directly connected to a fourth member profile, the fourth member profile being directly connected to the first member profile.
18. The non-transitory, computer-readable medium of claim 15 , wherein:
the first connection activity information comprises connection time data associated with a first edge selected from the first plurality of edges;
the second connection activity information comprises connection time data associated with a second edge selected from the second plurality of edges; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first connection time data with the second connection time data.
19. The non-transitory, computer-readable medium of claim 18 , wherein the recommended member profile is determined based on the first connection time data indicating that the first connection activity occurred more recent than the second connection activity.
20. The non-transitory, computer-readable medium of claim 15 , wherein;
the first connection activity information comprises a first number of connections shared between the first member profile and the second member profile;
the second connection activity information comprises a second number of connections shared between the first member profile and the third member profile; and
the comparison of the first connection activity and the second connection activity comprises a comparison of the first number of shared connections with the second number of shared connections.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/515,995 US20150106371A1 (en) | 2013-10-16 | 2014-10-16 | Generating connection recommendations based on recent connections and connections of close connections |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361891787P | 2013-10-16 | 2013-10-16 | |
US14/515,995 US20150106371A1 (en) | 2013-10-16 | 2014-10-16 | Generating connection recommendations based on recent connections and connections of close connections |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150106371A1 true US20150106371A1 (en) | 2015-04-16 |
Family
ID=52810556
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/144,402 Active 2034-06-15 US9361006B2 (en) | 2013-10-16 | 2013-12-30 | Generating member profile recommendations based on connection timing data in a social graph |
US14/191,867 Abandoned US20150106361A1 (en) | 2013-10-16 | 2014-02-27 | Generating member profile recommendations based on common connection data in a social graph |
US14/515,995 Abandoned US20150106371A1 (en) | 2013-10-16 | 2014-10-16 | Generating connection recommendations based on recent connections and connections of close connections |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/144,402 Active 2034-06-15 US9361006B2 (en) | 2013-10-16 | 2013-12-30 | Generating member profile recommendations based on connection timing data in a social graph |
US14/191,867 Abandoned US20150106361A1 (en) | 2013-10-16 | 2014-02-27 | Generating member profile recommendations based on common connection data in a social graph |
Country Status (1)
Country | Link |
---|---|
US (3) | US9361006B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361006B2 (en) | 2013-10-16 | 2016-06-07 | Linkedin Corporation | Generating member profile recommendations based on connection timing data in a social graph |
US20170061201A1 (en) * | 2015-08-31 | 2017-03-02 | Orcam Technologies Ltd. | Systems and methods for determining an emotional environment from facial expressions |
US10692120B2 (en) * | 2016-11-28 | 2020-06-23 | Sap Se | System, method, and computer-readable storage medium for determining a trust circle through machine learning |
US20220070187A1 (en) * | 2018-06-29 | 2022-03-03 | Snap Inc | Additive friend suggestion for account security |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140059054A (en) * | 2012-11-07 | 2014-05-15 | 한국전자통신연구원 | Method and apparatus for visualizing social network elements |
WO2017007810A1 (en) * | 2015-07-06 | 2017-01-12 | Equifax, Inc. | Modifying data structures to indicate derived relationships among entity data objects |
US10275837B2 (en) * | 2015-10-30 | 2019-04-30 | Microsoft Technology Licensing, Llc | Recommending a social structure |
KR102416914B1 (en) * | 2015-12-01 | 2022-07-06 | 삼성디스플레이 주식회사 | Flexible display device |
US10482137B2 (en) * | 2017-12-22 | 2019-11-19 | Microsoft Technology Licensing, Llc | Nonlinear models for member searching |
US20190236719A1 (en) * | 2018-01-31 | 2019-08-01 | Microsoft Technology Licensing, Llc | Selective identification of social network connections |
US11921881B2 (en) * | 2019-08-01 | 2024-03-05 | EMC IP Holding Company LLC | Anonymous ranking service |
US20210304213A1 (en) * | 2020-03-28 | 2021-09-30 | Amod Ashok Dange | System and method of sharing information between entities to enable a transaction |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090271370A1 (en) * | 2008-04-28 | 2009-10-29 | Yahoo! Inc. | Discovery of friends using social network graph properties |
US20090319288A1 (en) * | 2008-06-24 | 2009-12-24 | Yahoo Inc. | Suggesting contacts for social networks |
US20110145719A1 (en) * | 2009-12-14 | 2011-06-16 | International Business Machines Corporation | People recommendation indicator method and apparatus in a social networking site |
US20110182482A1 (en) * | 2010-01-27 | 2011-07-28 | Winters Dustin L | Method of person identification using social connections |
US20120041907A1 (en) * | 2010-08-16 | 2012-02-16 | James Wang | Suggesting Connections to a User Based on an Expected Value of the Suggestion to the Social Networking System |
US20120094762A1 (en) * | 2010-10-13 | 2012-04-19 | Sony Computer Entertainment America Inc. | Online process for recommending friends based on game playing habits |
US20120131171A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Invite abuse prevention |
US20130103758A1 (en) * | 2011-10-19 | 2013-04-25 | c/o Facebook, Inc. | Filtering and ranking recommended users on a social networking system |
US20130173633A1 (en) * | 2011-12-28 | 2013-07-04 | Brian Piepgrass | Social Discovery and Ranking of Pages |
US20130318180A1 (en) * | 2012-05-25 | 2013-11-28 | Mohammad Shafkat Amin | Leveraging a social graph to deliver relevant recommendations |
US20140074893A1 (en) * | 2012-09-13 | 2014-03-13 | Cisco Technology, Inc. | Activity Based Recommendations within a Social Networking Environment Based Upon Graph Activation |
US8738634B1 (en) * | 2010-02-05 | 2014-05-27 | Google Inc. | Generating contact suggestions |
US20140189530A1 (en) * | 2012-12-27 | 2014-07-03 | Facebook, Inc. | Implicit social graph connections |
US20140274358A1 (en) * | 2013-03-13 | 2014-09-18 | Andrew Hoskins | Suggesting Friends for Playing A Game |
US8909559B1 (en) * | 2013-03-28 | 2014-12-09 | Linkedin Corporation | Techniques to facilitate recommendations for non-member connections |
US8924496B1 (en) * | 2013-07-30 | 2014-12-30 | Linkedin Corporation | Tracking the virality of user actions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055720B2 (en) * | 2009-01-27 | 2011-11-08 | Microsoft Corporation | Cluster-based friend suggestion aggregator |
US20100257023A1 (en) * | 2009-04-07 | 2010-10-07 | Facebook, Inc. | Leveraging Information in a Social Network for Inferential Targeting of Advertisements |
US8560678B2 (en) * | 2010-12-22 | 2013-10-15 | Facebook, Inc. | Providing relevant notifications based on common interests between friends in a social networking system |
US20120324004A1 (en) * | 2011-05-13 | 2012-12-20 | Hieu Khac Le | Systems and methods for analyzing social network user data |
US9300620B2 (en) * | 2013-03-08 | 2016-03-29 | International Business Machines Corporation | Sharing topics in social networking |
US9361006B2 (en) * | 2013-10-16 | 2016-06-07 | Linkedin Corporation | Generating member profile recommendations based on connection timing data in a social graph |
-
2013
- 2013-12-30 US US14/144,402 patent/US9361006B2/en active Active
-
2014
- 2014-02-27 US US14/191,867 patent/US20150106361A1/en not_active Abandoned
- 2014-10-16 US US14/515,995 patent/US20150106371A1/en not_active Abandoned
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090271370A1 (en) * | 2008-04-28 | 2009-10-29 | Yahoo! Inc. | Discovery of friends using social network graph properties |
US20090319288A1 (en) * | 2008-06-24 | 2009-12-24 | Yahoo Inc. | Suggesting contacts for social networks |
US20110145719A1 (en) * | 2009-12-14 | 2011-06-16 | International Business Machines Corporation | People recommendation indicator method and apparatus in a social networking site |
US20110182482A1 (en) * | 2010-01-27 | 2011-07-28 | Winters Dustin L | Method of person identification using social connections |
US8738634B1 (en) * | 2010-02-05 | 2014-05-27 | Google Inc. | Generating contact suggestions |
US20120041907A1 (en) * | 2010-08-16 | 2012-02-16 | James Wang | Suggesting Connections to a User Based on an Expected Value of the Suggestion to the Social Networking System |
US20120094762A1 (en) * | 2010-10-13 | 2012-04-19 | Sony Computer Entertainment America Inc. | Online process for recommending friends based on game playing habits |
US20120131171A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Invite abuse prevention |
US20130103758A1 (en) * | 2011-10-19 | 2013-04-25 | c/o Facebook, Inc. | Filtering and ranking recommended users on a social networking system |
US20130173633A1 (en) * | 2011-12-28 | 2013-07-04 | Brian Piepgrass | Social Discovery and Ranking of Pages |
US20130318180A1 (en) * | 2012-05-25 | 2013-11-28 | Mohammad Shafkat Amin | Leveraging a social graph to deliver relevant recommendations |
US20140074893A1 (en) * | 2012-09-13 | 2014-03-13 | Cisco Technology, Inc. | Activity Based Recommendations within a Social Networking Environment Based Upon Graph Activation |
US20140189530A1 (en) * | 2012-12-27 | 2014-07-03 | Facebook, Inc. | Implicit social graph connections |
US20140274358A1 (en) * | 2013-03-13 | 2014-09-18 | Andrew Hoskins | Suggesting Friends for Playing A Game |
US8909559B1 (en) * | 2013-03-28 | 2014-12-09 | Linkedin Corporation | Techniques to facilitate recommendations for non-member connections |
US8924496B1 (en) * | 2013-07-30 | 2014-12-30 | Linkedin Corporation | Tracking the virality of user actions |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361006B2 (en) | 2013-10-16 | 2016-06-07 | Linkedin Corporation | Generating member profile recommendations based on connection timing data in a social graph |
US20170061201A1 (en) * | 2015-08-31 | 2017-03-02 | Orcam Technologies Ltd. | Systems and methods for determining an emotional environment from facial expressions |
US10523991B2 (en) * | 2015-08-31 | 2019-12-31 | Orcam Technologies Ltd. | Systems and methods for determining an emotional environment from facial expressions |
US10692120B2 (en) * | 2016-11-28 | 2020-06-23 | Sap Se | System, method, and computer-readable storage medium for determining a trust circle through machine learning |
US20220070187A1 (en) * | 2018-06-29 | 2022-03-03 | Snap Inc | Additive friend suggestion for account security |
US11677766B2 (en) * | 2018-06-29 | 2023-06-13 | Snap Inc. | Additive friend suggestion for account security |
Also Published As
Publication number | Publication date |
---|---|
US20150106361A1 (en) | 2015-04-16 |
US9361006B2 (en) | 2016-06-07 |
US20150106365A1 (en) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150106371A1 (en) | Generating connection recommendations based on recent connections and connections of close connections | |
US20150242967A1 (en) | Generating member profile recommendations based on community overlap data in a social graph | |
US9661039B2 (en) | Recommending resources to members of a social network | |
JP6615260B2 (en) | Generating offline content | |
US20140297748A1 (en) | Performing actions associated with positive feedback events | |
KR101779530B1 (en) | Client-side modification of search results based on social network data | |
AU2017208325B2 (en) | Image filtering based on social context | |
US10423689B2 (en) | Guided browsing experience | |
US20150006242A1 (en) | Techniques for quantifying the intent and interests of members of a social networking service | |
EP3753209B1 (en) | Sharing content in a messaging application | |
US20140143166A1 (en) | Identifying members of a social network as candidate referral sources | |
US20140108383A1 (en) | Method and System for Filtering Search Results for Maps Using Social Graph | |
US20140245184A1 (en) | Presenting actionable recommendations to members of a social network | |
KR20160144481A (en) | Eliciting user sharing of content | |
US20160378865A1 (en) | Search relevance using past searchers' reputation | |
US20170061377A1 (en) | Educational institution hierarchy | |
US9477992B2 (en) | Settings page redesign | |
US20170032471A1 (en) | Social proofing for suggested profile edits | |
US10313294B2 (en) | Pending invitations at onboarding | |
US20150278353A1 (en) | Methods and systems for surfacing content items based on impression discounting | |
US10860982B2 (en) | Code-free ingestion of job postings | |
JP2021509493A (en) | Providing content across multiple devices | |
US20170257448A1 (en) | Develop and multiply your network at events | |
US20190166079A1 (en) | Contextual conversations on online social networking systems | |
US20190236719A1 (en) | Selective identification of social network connections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LINKEDIN CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHAH, SAMIR M.;REEL/FRAME:034022/0767 Effective date: 20141020 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LINKEDIN CORPORATION;REEL/FRAME:044746/0001 Effective date: 20171018 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |