IP Library Granted Patent US 9,652,554
Granted Patent B2
US 9,652,554 · App. 14/141,103 · Granted May 16, 2017

Systems and methods for adding users to a networked computer system

Inventors: Alon Michael Shalita (Palo Alto, CA); Arun Sharma (Union City, CA)
Assignee: Facebook, Inc.
G06F17/30958G06F17/30587
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,652,554
App. No.
14/141,103
Granted
May 16, 2017
Kind
B2
Abstract

Systems and methods are provided for adding new nodes to a computer networked system. The systems and methods may identify a first set of nodes in a networked computer system. The first set of nodes may be included in a first hash computation that clusters the first set of nodes into communities. An application shard space including a first space and a second space may be generated. The first set of nodes may be mapped to application shards in the first space based on the first hash computation. The application shards in the first space may be assigned to a first set of machines of the networked computer system. The second space may be maintained for mappings of nodes not included in the first hash computation to application shards in the second space.

Claims (57)

1. A computer implemented method comprising:

identifying, by a computer, a first set of nodes in a networked computer system, the first set of nodes included in a first hash computation that clusters the first set of nodes into communities, wherein

each node of the first set of nodes is associated with a user on a social networking system, and

the first hash computation clusters the first set of nodes into communities based on connections between the users on the social networking system;

generating, by the computer, an application shard space including a first space and a second space;

mapping, by the computer, the first set of nodes to application shards in the first space based on the first hash computation, the application shards in the first space assigned to a first set of machines of the networked computer system; and

maintaining, by the computer, the second space for mappings of nodes not included in the first hash computation to application shards in the second space, wherein

the second space is reserved for nodes that have not been included in any hash computation.

2. The computer implemented method of claim 1 , further comprising:

routing a node of the first set of nodes to a machine assigned to an application shard in the first space, wherein nodes include users.

3. The computer implemented method of claim 1 , wherein the nodes not included in the first hash computation include new nodes added to the networked computer system after the first hash computation.

4. The computer implemented method of claim 1 , wherein the nodes not included in the first hash computation include existing nodes having insufficient information to be classified within a community at the time of the first hash computation.

5. The computer implemented method of claim 1 , further comprising:

identifying a node not included in the first hash computation; and

mapping the node not included in the first hash computation to an application shard in the second space.

6. The computer implemented method of claim 5 , further comprising:

routing the node not included in the first hash computation to a machine assigned to an application shard in the second space.

7. The computer implemented method of claim 1 , further comprising:

performing the first hash computation on the first set of nodes.

8. The computer implemented method of claim 1 , further comprising:

identifying a second set of nodes in the networked computer system, the second set of nodes including the first set of nodes and one or more nodes not included in the first hash computation;

performing a second hash computation on the second set of nodes, the second hash computation clustering the second set of nodes into communities;

mapping the second set of nodes to the application shards in the first space based on the second hash computation; and

maintaining the second space for mappings of nodes not included in the second hash computation to application shards in the second space.

9. The computer implemented method of claim 8 , further comprising:

routing a node of the second set of nodes to a machine assigned to an application shard in the first space.

10. The computer implemented method of claim 8 , wherein the nodes not included in the second hash computation include new nodes added to the networked computer system after the second hash computation.

11. The computer implemented method of claim 8 , wherein the nodes not included in the second hash computation include existing nodes having insufficient information to be classified within a community at the time of the second hash computation.

12. The computer implemented method of claim 8 , further comprising:

identifying a node not included in the second hash computation; and

mapping the node not included in the second hash computation to an application shard in the second space.

13. The computer implemented method of claim 12 , further comprising:

routing the node not included in the second hash computation to a machine assigned to an application shard in the second space.

14. The computer implemented method of claim 8 , further comprising:

adding one or more new application shards to the application shard space to accommodate the second set of users.

15. The computer implemented method of claim 8 , wherein the second hash computation is performed after a predetermined time period.

16. The computer implemented method of claim 1 , wherein the application shards in the first space and the application shards in the second space remain a constant size.

17. The computer implemented method of claim 1 , wherein the size of the intermediate node space is 25% or less than the size of the application shard space.

18. The computer implemented method of claim 1 , the second space is reserved for users that have not yet joined the social networking system or users of the social networking system for which there is insufficient information to be classified into a community at the time of the hash computation.

19. A system comprising:

at least one processor, and

a memory storing instructions configured to instruct the at least one processor to perform:

identifying a first set of nodes in a networked computer system, the first set of nodes included in a first hash computation that clusters the first set of nodes into communities, wherein

each node of the first set of nodes is associated with a user on a social networking system, and

the first hash computation clusters the first set of nodes into communities based on connections between the users on the social networking system;

generating an application shard space including a first space and a second space;

mapping the first set of nodes to application shards in the first space based on the first hash computation, the application shards in the first space assigned to a first set of machines of the networked computer system; and

maintaining the second space for mappings of nodes not included in the first hash computation to application shards in the second space, wherein

nodes mapped to the second space have not been included in any hash computation.

20. A non-transient computer storage medium storing computer-executable instructions that, when executed, cause a computer system to perform computer-implemented method comprising:

identifying a first set of nodes in a networked computer system, the first set of nodes included in a first hash computation that clusters the first set of nodes into communities, wherein

each node of the first set of nodes is associated with a user on a social networking system, and

the first hash computation clusters the first set of nodes into communities based on connections between the users on the social networking system;

generating an application shard space including a first space and a second space;

mapping the first set of nodes to application shards in the first space based on the first hash computation, the application shards in the first space assigned to a first set of machines of the networked computer system; and

maintaining the second space for mappings of nodes not included in the first hash computation to application shards in the second space, wherein

nodes mapped to the second space have not been included in any hash computation.

Assignments (2)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058234/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2014
From: SHARLITA, ALON MICHAEL; SHARMA, ARUN DATTARAM
To: FACEBOOK, INC.
Reel/Frame 032202/0454 →
Continuity (1)
Related Publication 20150186492A1 · Jul 2, 2015