Patent Publication Number: US-9900394-B2

Title: User-specific and user-activity-based routing within a website

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application Ser. No. 62/005,861, entitled “User-Activity-Based Routing Within a Website,” by Haifeng Ji, Erica Lockheimer, Peter Rusev, Aatif Awan, Yang Zhou, Lili Wu, Manas Khadilkar and Samir M. Shah, filed on May 30, 2014, the contents of which are herein incorporated by reference. 
     This application is related to U.S. Non-provisional application Ser. No. 14/056,777, entitled “Site-Flow Optimization,” by Samir M. Shah, Lili Wu, and Manas Khadilkar, filed on Oct. 17, 2013, the content of which are herein incorporated by reference. 
    
    
     BACKGROUND 
     Field 
     The described embodiments relate to techniques for routing a user within a website. More specifically, the described embodiments relate to techniques for routing the user to different web pages within the website based on a history of user activity and one or more user-experience criteria. 
     Related Art 
     Social networks are an increasingly popular format for aggregating and interconnecting individuals who have similar interests. For example, a website may provide a professional social network for individuals in the workforce. These users may ‘connect’ with each other, thereby defining subsets of interrelated users in the social network. In principle, these interrelated users can facilitate a wide variety of value-added services, such as helping: the users find employment, employers recruit employees, educational institutions identify prospective students, etc. More generally, the interrelated users in a social network may facilitate targeted communication among the users. 
     In practice, in order to optimally achieve these capabilities, a social network typically needs to have a minimum size (i.e., a minimum number of users and/or a minimum number of interrelated users). Furthermore, the quality of the value-added services provided via a social network is usually increased as the number of users and the number of interrelated users in the social network increases. Consequently, a provider of the social network typically wants to increase the number of users and their interrelationships in the social network. 
     One approach for growing the size of the social network (i.e., adding more users) is to provide invitation messages. For example, invitation messages to connect with a user may be provided to other users in the social network and/or individuals who are not currently users of the social network. Note that the former are sometimes referred to as ‘in-network people,’ and the latter are sometimes referred to as ‘out-of-network people.’ In addition, note that invitation messages provided to the in-network people are sometimes referred to as ‘member-to-member invitations,’ and invitation messages provided to the out-of-network people are sometimes referred to as ‘member-to-guest invitations.’ 
     Typically, potential in-network or out-of-network people who may be possible connections for the user are displayed to the user. Then, if the user selects one of the possible connections, an invitation message (such as an email) is provided to the possible connections. If this individual accepts the invitation (e.g., by activating a link included in the invitation message), they will be ‘connected’ or interrelated with the user in the social network if they already use the social network or they will be invited to join the social network if they do not already use the social network. 
     However, this process poses several challenges. Notably, the user may become bored after repeatedly viewing lists of possible connections. In particular, user fatigue and the relevance of the possible connections may, over time, reduce user interest in selecting possible connections, which may reduce the number of invitation messages that are provided (and, thus, may constrain the number of interrelated users and/or the number of users in the social network). 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1  is a block diagram illustrating a system that provides invitation messages in accordance with an embodiment of the present disclosure. 
         FIG. 2  is a flow chart illustrating a method for providing an invitation message in accordance with an embodiment of the present disclosure. 
         FIG. 3  is a flow chart illustrating the method of  FIG. 2  in accordance with an embodiment of the present disclosure. 
         FIG. 4  is a drawing illustrating the method of  FIG. 2  in accordance with an embodiment of the present disclosure. 
         FIG. 5  is a drawing illustrating a social graph in accordance with an embodiment of the present disclosure. 
         FIG. 6  is a block diagram illustrating a computer system that performs the methods of  FIGS. 2-4  in accordance with an embodiment of the present disclosure. 
         FIG. 7  is a block diagram illustrating a data structure for use in the computer system of  FIG. 6  in accordance with an embodiment of the present disclosure. 
     
    
    
     Note that like reference numerals refer to corresponding parts throughout the drawings. Moreover, multiple instances of the same part are designated by a common prefix separated from an instance number by a dash. 
     DETAILED DESCRIPTION 
     Embodiments of a system and a technique for providing an invitation message for use with the system are described. When a user of a social network accepts an invitation message to connect with another user of the social network, the system may use a history of user activity and one or more user-experience criteria (which may assess freshness of the information presented to the user, such as a number of impressions of the information, user action in response to the information, variation in user behavior during a time interval, etc.) to determine where to direct the user within the social-network website. In particular, based on the history of user activity associated with an in-network page (such as a web page) with recommendations for possible connections for the user within the network of users (which are sometimes referred to as ‘in-network connections’), the system may determine whether or not the one or more user-experience criteria have been met (e.g., has the user been served a sufficient number of impressions of a particular in-network page). 
     If not, the system may present the in-network page with a recommendation for one or more possible in-network connections for the user within the network of users. Then, if the system receives a user selection of a recommended in-network connection, the system may provide an invitation message inviting the selected in-network connection to connect with the user by activating a link in the invitation message. 
     Alternatively, if the one or more user-experience criteria are satisfied or achieved, the system may select a page to present to the user, from a set of candidate pages, based on a predetermined supervised-learning model that predicts relevance of the set of pages to the user based on the history of user activity and/or a user profile. For example, the selected page may have a maximum relevance for the user at a given time. Then, the system may present the selected page to the user. In some embodiments, the system imports an address of an individual (who is currently outside of the network of users) that communicated with the user using a communication protocol (such as email). Moreover, the system may present an out-of-network page with a recommendation for a possible out-of-network connection for the user outside of the network of users (which is sometimes referred to as an ‘out-of-network connection’). Furthermore, if the system receives a user selection of the possible out-of-network connection, the system may provide an invitation message inviting the possible out-of-network connection to become a user of the system and possibly connect with the user by activating a link in the invitation message. Alternatively or additionally, the set of pages may include a home page for the user and/or a profile-editing page for the user. 
     In this way, the system may allow the number of users and/or the number of interrelated users (i.e., users who are connected to each other) in the social network to increase over time. In particular, the system may ensure that the pages (such as the in-network page or the out-of-network page) that the user views at a given time are interesting, do not become tedious or overly repetitive, and that the recommendations for possible in-network and/or out-of-network connections are relevant. This capability may increase the value of value-added services provided via the social network. Thus, this communication technique may increase: the quality of the user experience, and/or user satisfaction and retention. 
     In the discussion that follows, an individual or a user may include a person (for example, an existing user of a social network, a new user of the social network, an individual who does not currently use the social network, etc.). More generally, the communication technique may be used by an organization, a business and/or a government agency. Furthermore, a ‘business’ should be understood to include for-profit corporations, non-profit corporations, groups (or cohorts) of individuals, sole proprietorships, government agencies, partnerships, etc. 
     We now describe embodiments of the system and its use.  FIG. 1  presents a block diagram illustrating a system  100  that performs the communication technique. In this system, users of electronic devices  110  may use a software product, such as instances of a software application that is resident on and that executes on electronic devices  110 . In some implementations, the users may interact with a web page that is provided by communication server  114  via network  112 , and which is rendered by web browsers on electronic devices  110 . For example, at least a portion of the software application executing on electronic devices  110  may be an application tool that is embedded in the web page, and that executes in a virtual environment of the web browsers. Thus, the application tool may be provided to the users via a client-server architecture. 
     The software application operated by the users may be a standalone application or a portion of another application that is resident on and that executes on electronic devices  110  (such as a software application that is provided by communication server  114  or that is installed and that executes on electronic devices  110 ). 
     Using one of electronic devices  110  (such as electronic device  110 - 1 ) as an illustrative example, a user of electronic device  110 - 1  may use the software application to interact with other users in a social network (and, more generally, a network of users), such as a professional social network, that facilitates interactions among the users. As described further below with reference to  FIG. 5 , the interactions among the users may specify a social graph in which nodes correspond to the users and edges between the nodes correspond to the users&#39; interactions, interrelationships, and/or connections. Note that each of the users of the software application may have an associated user profile that includes personal and professional characteristics and experiences (such as education, employment history, demographic information, work locations, etc.), which are collectively referred to as ‘attributes’ in the discussion that follows. 
     While the users of electronic devices  110  are using the software application, communication server  114  may provide content to one or more of electronic devices  110  via network  112 . For example, the content may include an invitation message with an invitation to connect with another user of the social network, which may be termed a member-to-member invitation. (In the discussion that follows, an ‘invitation’ or an ‘invitation message’ may include a verbal, written, or recorded communication sent to or left for a recipient with an invitation to connect with another user of the social network.) In particular, the invitation message may be an email that includes a link and that is addressed to the user of electronic device  110 - 1 . (Note that the email may be communicated via the software application or may be communicated to a separate email application that executes in the environment of electronic device  110 - 1 .) If the user activates this link (e.g., by clicking on the link using a mouse, touching a virtual icon associated with the link in a user interface, etc.), information indicating activation of the link, and thus acceptance of the invitation, may be communicated, via network  112 , to communication server  114 . 
     This information may be provided to landing hub  118  via network  116  (which is associated with system  100 ). In response, landing hub  118  may have user-experience engine  120  determine if at least one user-experience criterion is satisfied or achieved based on a history of user activity during a time interval (such as one week, two weeks, a month, etc.). In particular, user-experience engine  120  may access, via network  116 , data in the history of user activity in a data structure (which is stored in a computer-readable memory, such as storage system  122  that may encompass multiple devices, i.e., a large-scale storage system). Note that the history of user activity may be associated with viewing and/or interaction with an in-network page (such as a web page in a website for the social network) with recommendations for possible in-network connections for the user within the social network. Moreover, the in-network page may be hosted by one of web-page servers  126 . 
     For example, the at least one user-experience criterion may include: a number of views of impressions of the in-network page greater than a threshold value (such as two views within two weeks); a number of user actions associated with an out-of-network page (described below) greater than another threshold value (such as the user already viewing the out-of-network page once during the time interval); and/or time variation in user behavior. In particular, the time variation in the user behavior may be associated with a day of the week, a time of year, or some other time period. In an exemplary embodiment, the user may prefer to view the out-of-network page: on Tuesdays or Wednesdays (or other specific day(s)), at certain times of the month, and/or at certain times of the year (e.g., there may be a seasonal variation in the user&#39;s viewing preferences). Thus, user-experience engine  120  may compare data in the history of user activity to one or more threshold values to determine if the one or more user-experience criteria are achieved. For example, for each of the pages in a set of multiple pages, user-experience engine  120  may compare the number of views of the page to a corresponding view threshold value. Alternatively or additionally, for one or more of the multiple pages, user-experience engine  120  may compare the number of user actions with the one or more pages to a corresponding action threshold value. In addition, user-experience engine  120  may compare the variation in the behavior of the user to a behavior threshold value. 
     If the at least one user-experience criterion is not achieved, landing hub  118  may, via network  116 , instruct one of web-page servers  126  to present or provide the in-network page with recommendations of one or more other users in the network of users as possible new in-network connections for the user. For example, one of web-page servers  126  may communicate the in-network page (or information specifying the in-network page) via network  112  to electronic device  110 - 1 . Then, the in-network page may be displayed on electronic device  110 - 1  using a web browser and/or within the software application. Moreover, if the user selects a recommended in-network connection with another user (e.g., by clicking on it with a mouse, touching an associated virtual icon in a user interface), this selection may be communicated, via network  112 , to communication server  114 . In response, communication server  114  may instruct messaging server  128  to provide, via network  112 , an invitation message (i.e., a member-to-member invitation) to another of electronic devices  110  (such as electronic device  110 - 2 ) that is associated with the other user. This invitation message may invite the other user to form a new in-network connection with the user by activating a link in the invitation message. 
     Alternatively, if the at least one user-experience criterion is achieved, landing hub  118  may cause relevance engine  124  to select a page to present to the user (such as another web page in the website for the social network), from a candidate set of pages, based on a predetermined supervised-learning model that predicts relevance of the set of pages to the user based on the history of user activity and a user profile for the social network (which collectively are sometimes referred to as ‘features’). For example, relevance engine  124  may access a user profile stored in a data structure (which is stored in storage system  122 ), via network  116 , to facilitate the selection. Note that the selected page may have a maximum relevance for the user. Moreover, note that the set of pages may be hosted by another one of web-page servers  126 . Furthermore, after the page is selected, landing hub  118  may, via network  116 , instruct the associated one of web-page servers  126  to provide the selected page to the user. In particular, the instructed web-page server may, via network  112 , present or provide the selected page (or information specifying the selected page) to electronic device  110 - 1 . Then, the selected page may be displayed on electronic device  110 - 1  using a web browser and/or within the software application. 
     In an exemplary embodiment, the set of pages includes two or more pages. For example, the set of pages may include: a home page for the user in the social network, a profile-editing page for the user, the in-network page, and/or an out-of-network page. Illustratively, the out-of-network page may include one or more recommendations for possible new out-of-network connections for the user (e.g., with people outside of the social network). An out-of-network connection may be identified by a web-page server  126  by importing addresses of one or more individuals (who are not users of the social network) that communicated with the user using a communication method such as electronic mail, Short Message Service, and/or telephone. 
     Furthermore, if the user selects a recommended or possible out-of-network connection (e.g., by clicking on it with a mouse, touching an associated virtual icon in a user interface, etc.), this selection may be communicated, via network  112 , to communication server  114 . In response, communication server  114  may instruct messaging server  128  to provide, via network  112 , an invitation message (i.e., a member-to-guest invitation) to yet another of electronic devices  110  that is associated with the selected possible out-of-network connection. This invitation message may invite the possible out-of-network connection to connect with the user by activating a link in the invitation message. 
     By selectively presenting or providing different pages in system  100  to the user, system  100  may help prevent fatigue when viewing potential in-network or out-of-network connections, and/or may increase the relevance of the potential in-network or out-of-network connections. This capability may increase the number of invitation messages that are issued by messaging server  128 . Therefore, system  100  may increase the number of connections and/or the number of users in the social network. Furthermore, system  100  may offer improved service to the users and advertisers, in the form of more effective advertisements (which are presented to the users of the social network), recommendations, employment opportunities, and/or interesting content. Consequently, the communication technique implemented in system  100  may increase the satisfaction both users and advertisers. 
     Note that information in system  100  may be stored at one or more locations (i.e., locally and/or remotely). Moreover, because this data may be sensitive in nature, it may be encrypted. For example, stored data and/or data communicated via networks  112  and/or  116  may be encrypted. 
     We now describe embodiments of the communication technique.  FIG. 2  presents a flow chart illustrating a method  200  for providing an invitation message, which may be performed by a computer system (such as system  100  in  FIG. 1  or computer system  600  in  FIG. 6 ). During operation, the computer system receives, from an electronic device operated by a first user, activation of a link (operation  210 ) in an invitation delivered to the first user, where the invitation is an invitation to connect with a second user in a network of users of the computer system. 
     Then, the computer system selects, based on a history of user activity during a time interval (such as two weeks), one of multiple pages (operation  212 ) to serve to the first user in response to activation of the link, where each of the multiple pages facilitates connections with additional people. For example, the history of user activity may include: a number of views of each of the multiple pages; a number of user actions with the multiple pages; and/or variation in user behavior during the time interval. Thus, when selecting a page the computer system may, for each of the multiple pages, compare the number of views of the page to a corresponding view threshold value and compare the number of user actions with the page to a corresponding action threshold value, and may also compare variation in the behavior of the first user to a behavior threshold value. 
     For example, if the number of views of an in-network page (which allows the first user to send invitations to other users within the network so that they can connect with the first user) is less than three, a user-experience criterion may not be deemed met, and the computer system may select the in-network page. Alternatively or additionally, if the first user has already viewed an out-of-network page (which allows the user to solicit identified individuals outside of the network of users so that they can join the network and connect with the first user), then another page (such as a home page or a profile-editing page) may be selected. Note the selection may also be based on a predetermined variation in user behavior as a function of time. Consequently, on certain days of the week (such as Tuesday or Wednesday), when the first user is less busy and, therefore, more receptive to possible connections outside of the network, the computer system may select the out-of-network page. 
     When one or more of the threshold values is triggered, the computer system may select one of the multiple pages by executing a predetermined supervised-learning model that predicts relevance of the multiple pages to the first user based on the history of user activity and a user profile of the first user, where the selected page has a maximum relevance for the first user. For example, the supervised-learning model may predict the user response to different pages based on covariates w, such as: features or attributes in the user profile, user behavior, user demographics, and/or connections in the network of users. Illustrative features may include: user covariates (such as age, gender, industry, title, etc.), page covariates (such as the page-response rates), contextual flow (such as when pages are viewed and how long the pages are viewed), the user location, and/or interactions between the covariates. Then, given covariates w and visits in a flow x, the computer system may select page y in set of pages (or possible actions z), and look at the predicted user response Y wxyz  (such as the probability of a click through or, in other words, whether the user is likely to select a possible connection). Note that the selected page y may be the one with the highest predicted user-response rate and/or business value. In an exemplary embodiment, the supervised-learning model is trained using L1 regularization (such as Lasso) with tens to hundreds of millions of observations and hundreds of thousands to millions of covariates. The supervised-learning model may use logistic regression to select the page y with the maximum relevance. 
     Moreover, the computer system serves the selected page (operation  214 ) to the electronic device. 
     Next, the computer system receives, from the electronic device, selection of an additional person (operation  216 ) to whom the first user is not connected in the network. For example, if the in-network page is displayed, the selected additional person may be an existing member of the network (i.e., a possible connection within the network). Alternatively, if the out-of-network page is displayed, the selected additional person may be outside of the network (e.g., a possible connection with a guest who may join the network if they accept an invitation message to connect with the user). 
     Furthermore, the computer system provides, to an electronic device associated with the additional person, an additional invitation (operation  218 ) to join the network (if the additional person is not in the network) or to connect with the first user (if the additional person is in the network). Thus, the additional invitation may include a member-to-guest invitation or a member-to-member invitation. 
     In this way, the communication technique can ensure that the page displayed to the first user is fresh and relevant, or at least that it is not served so frequently that the user ignores it. This approach may prevent user fatigue and may thus help increase the number of invitation messages that are provided (based on selections by the first user) and/or accepted. Consequently, the communication technique may improve the social network by increasing the number of connections or interrelationships between the users in the social network and/or by increasing the number of individuals who join the social network. 
     In some embodiments of method  200 , there may be additional or fewer operations. For example, prior to serving the out-of-network page, the computer system may import addresses of one or more individuals who communicated with the first user using a communication protocol such as: an email, a Short Message Service message, and/or a telephone communication protocol. Moreover, the order of the operations may be changed, and/or two or more operations may be combined into a single operation. 
     In an exemplary embodiment, the communication technique is implemented using one or more electronic devices and at least one server (and, more generally, a computer system), which communicate through a network, such as a cellular-telephone network and/or the Internet (e.g., using a client-server architecture). This is illustrated in  FIG. 3 , which presents a flow chart illustrating method  200  ( FIG. 2 ). During this method, a user of one of electronic devices  110  in  FIG. 1  (such as the first user of electronic device  110 - 1 ) may accept an invitation (operation  312 ) to connect with a second user in a network of users of the social network (which may be implemented using computer system  310 , which, in turn, may include one or more of the servers and computers in  FIG. 1 ). For example, the first user may activate a link in the invitation or an invitation message (such as an email or a web page) that was previously provided by computer system  310 . 
     After receiving the acceptance (operation  314 ) of the invitation, computer system  310  may select, based on a history of user activity during a time interval, one of multiple landing pages (operation  316 ) to serve to the first user in response to activation of the link. As noted previously, the selection may involve computer system  310  determining whether one or more user-experience criteria are met based on the history of user activity (such as page views or impressions, user actions when viewing the pages, etc.) and one or more threshold values, and/or executing a predetermined supervised-learning model that predicts relevance of the multiple pages to the first user based on a user profile of the first user and/or the history of user activity. 
     Moreover, computer system  310  serves the selected page (operation  318 ) to electronic device  110 - 1 , which subsequently receives (operation  320 ) and presents the page to the first user. If the selected page is the in-network page, the user may be presented with one or more possible connections with other users of the network. Alternatively, if the selected page is the out-of-network page, the user may be presented with one or more possible connections with individuals who are outside of or who are not currently members of the network. Note that prior to presenting the out-of-network page, computer system  310  may identify the individuals by importing addresses of one or more individuals who previously communicated with the first user. 
     In response, the first user of electronic device  110 - 1  may select an additional person (operation  322 ) to whom the first user is not connected in the network. Next, computer system  310  receives the selection of the additional person (operation  324 ). 
     Furthermore, computer system  310  provides an additional invitation (operation  326 ) to join the network (if the additional person is not in the network) or to connect with the first user (if the additional person is in the network). Thus, the additional invitation or invitation message (such as another email or another web page) may include a member-to-guest invitation or a member-to-member invitation. Subsequently, another one of electronic devices  110  in  FIG. 1  (such as electronic device  110 - 2 ) may receive (operation  328 ) and present the additional invitation to the additional person. This additional invitation may include a link that, when activated by the additional person, connects the additional person to the first user in the network. If the additional person is not currently a member or a user of the network, they may first be asked to enroll in the network (e.g., by setting up a user account and/or a user profile) before they are connected with the first user. 
     In an exemplary embodiment, the communication technique is used to route or steer the first user through a website associated with the network of users (such as a social network) based on the first user&#39;s history of user activity with one or more web pages in the website, the supervised-learning model and/or one or more covariates (such as the features in the first user&#39;s user profile in the network). 
       FIG. 4  illustrates an exemplary embodiment of method  200  ( FIG. 2 ). A first user, Fred, may receive a member-to-member (M2M) invitation  410 - 1  to connect with Steve. If Fred activates a link in M2M invitation  410 - 1  (thereby accepting the invitation), landing hub  118  receives notification of the activation and assesses a number of impressions or views (which is sometimes referred to as ‘impression capping’) presented to Fred during a time interval (such as a two-week time interval or ‘cooling-off period’). If the number of views is less than a threshold value (such as three views), in-network page  412  (which is sometimes referred to as a ‘people you may know’ or a PYMK page) may be displayed. When Fred selects one of the possible connections listed in in-network page  412 , an additional M2M invitation  410 - 2  may be sent to the associated user, thereby continuing the process of establishing connections between existing users of the network. 
     Alternatively, if the number of views exceeds the threshold value, additional user-experience criteria may be assessed using the supervised-learning model or SLM  414  (which is sometimes referred to as ‘site-flow optimization’) to maximize the relevance. For example, the supervised-learning model may assess the number of user actions, such as whether Fred has previously been served out-of-network page  416  (which is sometimes referred to as an ‘address-import page’), possibly within some specified time period, and if yes, may direct Fred to or serve Fred a different page (such as Fred&#39;s home page  418  or a profile-editing page  420 ). Alternatively or additionally, the supervised-learning model may assess variations in user behavior (such as presenting out-of-network page  444  on Tuesdays or Wednesdays, etc.). More generally, the supervised-learning model may use multiple covariates to predict the page that is likely to generate the best user response (in terms of additional invitations). 
     If out-of-network page  444  is selected, an import page  422  may be presented, and Fred may be asked to select one or more communication protocols (such as different email applications), which are then mined to identify individuals who Fred has communicated with and who are not currently members of the network. Next, out-of-network page  416  is presented. When Fred selects one of the possible connections listed in out-of-network page  416 , an additional member-to-guest (M2G) invitation  424  may be sent to the associated individual, thereby continuing the process of inviting new users to join the network. 
     Thus, the communication technique may provide reinforcement that helps Fred reinforce the expansion of the network (e.g., by maximizing the yield on requests to send member-to-member invitations and member-to-guest invitations). In the process, the communication technique may help increase engagement of the users in the network. 
     We now further describe the profiles of the users. The profile of a user may, at least in part, specify a social graph or a portion of a social graph.  FIG. 5  presents a drawing illustrating a social graph  500 . This social graph may represent the connections or interrelationships among nodes  510  (corresponding to entities) using edges  512 . In the context of the communication technique, one of nodes  510  (such as node  510 - 1 ) may correspond to the user, and the remainder of nodes  510  may correspond to other users (or groups of users) in the social network. Therefore, edges  512  may represent interrelationships among these users, such as companies where they worked, schools they attended, organizations (companies, schools, etc.) that the individuals are (or used to be) associated with, etc. 
     In general, a given node in social graph  500  may be associated with a wide variety of information that is included in user profiles, including attributes such as: age, gender, geographic location, work industry for a current employer, functional area (e.g., engineering, sales, consulting), seniority in an organization, employer size, schools attended, previous employers, current employer, professional development, interest segments, target groups, additional professional attributes and/or inferred attributes (which may include or be based on user behaviors). Furthermore, user behaviors may include log-in frequencies, search frequencies, search topics, browsing certain web pages, locations (such as IP addresses) associated with the users, advertising or recommendations presented to the users, user responses to the advertising or recommendations, likes or shares exchanged by the users, and/or interest segments for the likes or shares. As noted previously, one or more of these features may be used in the supervised-learning model to select one of the multiple pages. 
     We now describe embodiments of the computer system and its use.  FIG. 6  presents a block diagram illustrating a computer system  600  that performs method  200  ( FIGS. 2 and 3 ), such as computer system  310  in  FIG. 3 . Computer system  600  includes one or more processing units or processors  610 , a communication interface  612 , a user interface  614 , memory  624 , and one or more signal lines  622  coupling these components together. Note that the one or more processors  610  may support parallel processing and/or multi-threaded operation, the communication interface  612  may have a persistent communication connection, and the one or more signal lines  622  may constitute a communication bus. Moreover, the user interface  614  may include: a display  616  (such as a touchscreen), a keyboard  618 , and/or a pointer  620  (such as a mouse). 
     Memory  624  in computer system  600  may include volatile memory and/or non-volatile memory. More specifically, memory  624  may include: ROM, RAM, EPROM, EEPROM, flash memory, one or more smart cards, one or more magnetic disc storage devices, and/or one or more optical storage devices. Memory  624  may store an operating system  626  that includes procedures (or a set of instructions) for handling various basic system services for performing hardware-dependent tasks. Memory  624  may also store procedures (or a set of instructions) in a communication module  628 . These communication procedures may be used for communicating with one or more computers and/or servers, including computers and/or servers that are remotely located with respect to computer system  600 . 
     Memory  624  may also include multiple program modules (or sets of instructions), including: user-experience module  630  (or a set of instructions), relevance module  632  (or a set of instructions), analysis module  634  (or a set of instructions) and/or encryption module  636  (or a set of instructions). Note that one or more of these program modules (or sets of instructions) may constitute a computer-program mechanism. 
     During operation of computer system  600 , user-experience module  630  receives, via communication interface  612  and communication module  628 , information  638  indicating that a user in network  640  of users activated a link in an invitation message connecting the user to another user in network  640 . In response, user-experience module  630  may access the user&#39;s history  642  of user activity (such as behavior of the user when using network  640 ) to determine whether or not one or more user-experience criteria  644  are met during time interval  648 . This may involve comparing values in history  642  to one or more threshold values  646 . Based on this analysis, user-experience module  630  may select one of multiple pages  650  (such as in-network page  652 , out-of-network page  654 , home page  656 , profile-editing page  658 ) in a website associated with network  640  to provide to the user. 
     In addition, relevance module  632  may use features in the user&#39;s user profile  660  and a supervised-learning model  662  to assist user-experience module  630  in the selection. In general, user profile  660  may include attributes of the user, including information specified directly by the user and/or information inferred (i.e., gathered indirectly) about the user (which may sometimes be referred to as ‘inferred attributes’). This is shown in  FIG. 7 , which presents a block diagram illustrating a data structure  700  storing user profile  660  ( FIG. 6 ). In particular, data structure  700  may include: an identifier  710  for the user, direct attributes  712  and inferred attributes  714 . For example, direct attributes  712  and/or inferred attributes  714  may include: skills, jobs, companies, schools, locations, etc. 
     Referring back to  FIG. 6 , user-experience module  630  may then present or serve the selected page to the user via communication module  628  and communication interface  612 . If the selected page is in-network page  652 , the user may be presented with one or more possible connections with other users of network  640 . Alternatively, if the selected page is out-of-network page  654 , the user may be presented with one or more possible connections with individuals who are outside of or who are not currently members of network  640 . Note that prior to presenting out-of-network page  654 , analysis module  634  may identify the individuals by importing addresses  664  of one or more individuals who previously communicated with the first user using messages  666  (such as emails, texts or Short Message Service messages, telephone calls, tweets, etc.). 
     Next, user-experience module  630  may receive, via communication interface  612  and communication module  628 , a selection  668  by the user of a person to whom the user is not connected in network  640 . In response, user-experience module  630  may provide an additional invitation  670  to the person to join network  640  (if the person is not in network  640 ) or to connect with the first user via communication module  628  and communication interface  612  (if the person is a member of network  640 ). 
     Because information in computer system  600  may be sensitive in nature, in some embodiments at least some of the data stored in memory  624  and/or at least some of the data communicated using communication module  628  is encrypted using encryption module  636 . 
     Instructions in the various modules in memory  624  may be implemented in a high-level procedural language, an object-oriented programming language, and/or in an assembly or machine language. Note that the programming language may be compiled or interpreted, e.g., configurable or configured, to be executed by the one or more processors. 
     Although computer system  600  is illustrated as having a number of discrete items,  FIG. 6  is intended to be a functional description of the various features that may be present in computer system  600  rather than a structural schematic of the embodiments described herein. In practice, and as recognized by those of ordinary skill in the art, the functions of computer system  600  may be distributed over a large number of servers or computers, with various groups of the servers or computers performing particular subsets of the functions. In some embodiments, some or all of the functionality of computer system  600  is implemented in one or more application-specific integrated circuits (ASICs) and/or one or more digital signal processors (DSPs). 
     Computer systems (such as computer system  600 ), as well as electronic devices, computers and servers in system  100  ( FIG. 1 ), may include one of a variety of devices capable of manipulating computer-readable data or communicating such data between two or more computing systems over a network, including: a personal computer, a laptop computer, a tablet computer, a mainframe computer, a portable electronic device (such as a cellular phone or PDA), a server and/or a client computer (in a client-server architecture). Moreover, network  112  ( FIG. 1 ) may include: the Internet, World Wide Web (WWW), an intranet, a cellular-telephone network, LAN, WAN, MAN, or a combination of networks, or other technology enabling communication between computing systems. 
     System  100  ( FIG. 1 ), computer system  600  and/or data structure  700  ( FIG. 7 ) may include fewer components or additional components. Moreover, two or more components may be combined into a single component, and/or a position of one or more components may be changed. In some embodiments, the functionality of system  100  ( FIG. 1 ) and/or computer system  600  may be implemented more in hardware and less in software, or less in hardware and more in software, as is known in the art. 
     While a social network has been used as an illustration in the preceding embodiments, more generally the communication technique may be used to route a user to an appropriate landing page or determine which web pages in a website to serve to the user from a wide variety of websites, including websites that are associated with other types of groups of people. For example, the website may be associated with a group of people who are loosely affiliated with a website (such as viewers or users of the web site), and which may include people who do not have predefined user accounts. Thus, the in-network and out-of-network connections may be defined less stringently, such as people who have previously communicated with each other (or not) using a communication protocol, or people who have previously viewed each other&#39;s home pages (or not), etc. In this way, the communication technique may be used to expand interactions among relevant or potentially interesting people in a more loosely defined group of people. 
     In the preceding description, we refer to ‘some embodiments.’ Note that ‘some embodiments’ describes a subset of all of the possible embodiments, but does not always specify the same subset of embodiments. 
     The foregoing description is intended to enable any person skilled in the art to make and use the disclosure, and is provided in the context of a particular application and its requirements. Moreover, the foregoing descriptions of embodiments of the present disclosure have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present disclosure to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Additionally, the discussion of the preceding embodiments is not intended to limit the present disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.