Patent Document ID: 9583016
Application ID: 13408914
Patent Flag: 1

Claim One:
1. A method, comprising: maintaining for a plurality of users of an online system, profiles, wherein the profile maintained for each of the plurality of users describes one or more attributes associated with the corresponding user of the plurality of users; wherein a first profile that is associated with a first user of the plurality of users includes first attribute values, and a second profile that is associated with a second user of the plurality of users includes second attribute values; automatically inferring one or more of the first attribute values based, at least in part, on data collected by the online system for the first user; automatically inferring one or more of the second attribute values based, at least in part, on data collected by the online system for the second user; in response to a request, from the first user, to interact with one or more other users of the plurality of users: detecting which particular subject matter the first user is currently working on; identifying a particular set of other users that are currently working on the particular subject matter or subject matter related to the particular subject matter; wherein identifying the particular set of other users that are currently working on the particular subject matter or subject matter related to the particular subject matter includes detecting that the second user is currently working on second subject matter that is associated with a course of study that the particular subject matter is associated with; wherein the particular set of other users includes the second user; based on a comparison between the first profile that is associated with the first user and the second profile that is associated with the second user, determining that the first attribute values of the first profile are similar to the second attribute values of the second profile; selecting the second user from among the particular set of other users based, at least in part, on the determination that the first attribute values of the first profile are similar to the second attribute values of the second profile; facilitating interaction between the first user and the second user; wherein the method is performed by one or more computing devices.