Patent ID: 8713125
Filing Date: 2014-04-29
Classification: G06Q,H04L

Abstract:
1. A method for scaling usage of a social based application on an online social network, the online social network comprising a plurality of user profiles, each user profile associated with one user of a plurality of users, the plurality of users selectively interacting in online relationships with each other in the social based application; a plurality of servers interconnected by a communications network, the plurality of servers comprising a plurality of processors and a plurality of computer readable non-transitory data storages, the plurality of non-transitory computer readable data storages comprising a plurality of partitions; each user profile of the plurality of user profiles being associated with a single master replica of the user profile and a plurality of master's slave replica of the user profile, for each respective user, the master replica being stored in one partition in one of the servers of the plurality of server, the one partition also storing a master replica or a master's slave replica of all the neighbor users of the respective user, the neighbor users being defined as the users with an online relationship established with the respective user; when a new online relationship is created between a first user and a second user of the plurality of users, the first user having first user profile, a first master replica, and a first master's slave replica and a second user having a second user profile, a second master replica, and a second master's slave replica, the method executing on a respective one of the processors and comprising the steps of: wherein step (c) is performed so that the plurality of master replicas are balanced among the plurality of partitions; every user has at least K replica slaves, where K is a design parameter, and every master replica of a user has, on the same partition where said master replica is stored, a master replica or a master's slave replica of all the users with an online relationship established with said user; and (d) selecting and applying from the previous configurations of step (c) the one yielding a smallest aggregate number of replicas.