Social graph based co-location of network users
First Claim
1. A method comprising:
- monitoring, using one or more processors, network activity of a plurality of users of a communication network;
generating social graph data for each user in the plurality of users based on the monitored network activity;
calculating a connectivity measure between each pair of users in the plurality of users based on the social graph data, the connectivity measure comprising a level of communication between users in each pair of users, wherein the level of communication includes a frequency of communication between the users in each pair of users;
identifying a geographic area associated with each of the plurality of users;
clustering the plurality of users into a plurality of groups based on the connectivity measures between each pair of users and based on the geographic area associated with each of the plurality of users; and
selecting a plurality of servers to be assigned to the plurality of groups, respectively,wherein selecting a first server included in the plurality of servers to be associated to a first group included in the plurality of groups includes;
selecting the first server that is at least one of;
within the geographic area associated with the first group, having a capacity to support an activity level associated with the users in the first group, or having assets available that are utilized by the users in the first group, andcausing mobile devices associated with the users in the first group to access network resources from the first server.
2 Assignments
0 Petitions
Accused Products
Abstract
User activity in a communication network is monitored to obtain social graph data for each user. This social graph data is used to cluster the users into groups of users that interact with each other regularly. The groups are analyzed to generate a profile for each group with respect to a set of relevant data points. The profiles can be based on identifying group social graph data that is related to a data point (e.g., user activity level) that is being used to provision network server resources. The profile for each group is then compared to corresponding data associated with a plurality of servers providing network services to the users. Each group is then assigned to one or more of the servers that best matches the profile of the group. Servers may be added to the network by comparing data regarding a proposed new server to existing group profiles.
-
Citations
12 Claims
-
1. A method comprising:
-
monitoring, using one or more processors, network activity of a plurality of users of a communication network; generating social graph data for each user in the plurality of users based on the monitored network activity; calculating a connectivity measure between each pair of users in the plurality of users based on the social graph data, the connectivity measure comprising a level of communication between users in each pair of users, wherein the level of communication includes a frequency of communication between the users in each pair of users; identifying a geographic area associated with each of the plurality of users; clustering the plurality of users into a plurality of groups based on the connectivity measures between each pair of users and based on the geographic area associated with each of the plurality of users; and selecting a plurality of servers to be assigned to the plurality of groups, respectively, wherein selecting a first server included in the plurality of servers to be associated to a first group included in the plurality of groups includes; selecting the first server that is at least one of;
within the geographic area associated with the first group, having a capacity to support an activity level associated with the users in the first group, or having assets available that are utilized by the users in the first group, andcausing mobile devices associated with the users in the first group to access network resources from the first server. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a processor; and memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to; monitor network activity of a plurality of users of a communication network; generate social graph data for each of the users based on the monitored activity; calculate a connectivity measure between each pair of users in the plurality of users based on the social graph data, the connectivity measure comprising a level of communication between users in each pair of users, wherein the level of communication includes a frequency of communication between the users in each pair of users; identify a geographic area associated with each of the plurality of users; cluster the plurality of users into a plurality of groups based on the connectivity measures between each pair of users and based on the geographic area associated with each of the plurality of users; and select a plurality of servers to be assigned to the plurality of groups, respectively, wherein to select a first server included in the plurality of servers to be associated to a first group included in the plurality of groups includes to; select the first server that is at least one of;
within the geographic area associated with the first group, having a capacity to support an activity level associated with the users in the first group, or having assets available that are utilized by the users in the first group, andto cause mobile devices associated with the users in the first group to access network resources from the first server. - View Dependent Claims (6, 7, 8)
-
-
9. A non-transitory computer-readable medium storing instructions that, when executed by a computer system, cause the computer system to perform operations comprising:
-
monitoring network activity of a plurality of users of a communication network; generating social graph data for each user in the plurality of users based on the monitored activity; calculating a connectivity measure between each pair of users in the plurality of users based on the social graph data, the connectivity measure comprising a level of communication between users in each pair of users, wherein the level of communication includes a frequency of communication between the users in each pair of users; clustering the plurality of users into a plurality of groups based on the connectivity measures between each pair of users and based on a geographic area associated with each of the plurality of users; and selecting a plurality of servers to be assigned to the plurality of groups, respectively, wherein selecting a first server included in the plurality of servers to be associated to a first group included in the plurality of groups includes; selecting the first server that is at least one of;
within the geographic area associated with the first group, having a capacity to support an activity level associated with the users in the first group, or having assets available that are utilized by the users in the first group, andcausing mobile devices associated with the users in the first group to access network resources from the first server. - View Dependent Claims (10, 11, 12)
-
Specification