Patents by Inventor Alon Michael Shalita
Alon Michael Shalita has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10616353Abstract: The disclosure is directed to determining a social signature of a user of an application, e.g., a social networking application. The social signature can be a representation of social properties of a person, and can be determined based on various factors, e.g., user profile of the user and friends of the user. The social signature can be used for various applications, e.g., determining socially similarity of a user pair and determining if a user is a spammer. The social signature is determined as a vector of k buckets in which each of the k buckets indicates a count of friends of the user assigned to the corresponding bucket. A social similarity of a user pair is determined as a function of the social signatures of the user pair. A user is determined as likely to be a spammer if the social signature of the user is of a specified pattern.Type: GrantFiled: September 14, 2016Date of Patent: April 7, 2020Assignee: Facebook, Inc.Inventors: Alon Michael Shalita, Sergey Pupyrev, Igor Kabiljo
-
Patent number: 10395321Abstract: Online systems, for example, social networking systems evaluate expressions based on features describing relations between entities represented in the online system. These expressions are represented using an expression language. The expression language allows features to be specified as functions of attributes from user accounts. The expressions support use of variables to represent computations, for example, sub-expressions. The expressions are dynamic, since expressions can be specified and executed at call time. The same set of expressions is used many times, e.g., to compute the same function for multiple feature sets, for example, user accounts. Expressions are preferably represented using postfix representation. However some expressions, for example, expressions using variables are represented as trees. To optimize the expressions at runtime, the expressions are cached using a representation determined to be efficient for executing the expression.Type: GrantFiled: November 30, 2012Date of Patent: August 27, 2019Assignee: Facebook, Inc.Inventors: Alon Michael Shalita, Ming Hua, Ryan Allen Stout
-
Patent number: 10025867Abstract: Embodiments are disclosed for improving cache or memory efficiency of a social network system. A method according to some embodiments includes steps of: receiving an instruction to improve cache or memory efficiency of social graph data of a social graph; generating based on the social graph a partitioning tree including multiple bottom-level buckets, the partitioning tree dividing the vertices of the social graph into the bottom-level buckets and ordering the bottom-level buckets such that a social network metric regarding the vertices is optimized; assigning user IDs to the vertices of the social network in a numerical sequence based on the ordering of the bottom-level buckets; storing the social graph data of the users in storage locations in an order according to the numeral sequence of the assigned user IDs of the vertices.Type: GrantFiled: September 29, 2015Date of Patent: July 17, 2018Assignee: Facebook, Inc.Inventors: Igor Kabiljo, Laxman Dhulipala, Alon Michael Shalita, Arun Dattaram Sharma, Brian Christopher Karrer
-
Patent number: 9934323Abstract: To dynamically map nodes for locality and balance, computer implemented methods, systems, and computer readable media, in an embodiment, may compute histograms for nodes in a first partition. Histograms may be computed for nodes in a second partition. The second partition may be selected as a candidate partition for a set of nodes in the first partition based on the histograms for the nodes in the first partition. The first partition may be selected as a candidate partition for a set of nodes in the second partition based on the histograms for the nodes in the second partition. At least a portion of the set of nodes in the first partition may be mapped to the second partition and at least a portion of the set of nodes in the second partition may be mapped to the first partition based on load balancing.Type: GrantFiled: October 1, 2013Date of Patent: April 3, 2018Assignee: Facebook, Inc.Inventors: Alessandro Presta, Alon Michael Shalita
-
Publication number: 20180077251Abstract: The disclosure is directed to determining a social signature of a user of an application, e.g., a social networking application. The social signature can be a representation of social properties of a person, and can be determined based on various factors, e.g., user profile of the user and friends of the user. The social signature can be used for various applications, e.g., determining socially similarity of a user pair and determining if a user is a spammer. The social signature is determined as a vector of k buckets in which each of the k buckets indicates a count of friends of the user assigned to the corresponding bucket. A social similarity of a user pair is determined as a function of the social signatures of the user pair. A user is determined as likely to be a spammer if the social signature of the user is of a specified pattern.Type: ApplicationFiled: September 14, 2016Publication date: March 15, 2018Inventors: Alon Michael Shalita, Sergey Pupyrev, Ogor Kabiljo
-
Patent number: 9900223Abstract: 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.Type: GrantFiled: February 8, 2017Date of Patent: February 20, 2018Assignee: Facebook, Inc.Inventors: Alon Michael Shalita, Arun Dattaram Sharma
-
Patent number: 9860316Abstract: A technology for routing traffic from similar users to a same server cluster to improve data center efficiency is disclosed. When a traffic routing server receives a request from a user, the traffic routing server determines an identifier of a partition to which the user is assigned. The user and many other users with whom the user shares a social attribute are co-located in the same partition. The traffic routing server then computes a hash of the identifier using a hash function and locates a server cluster on a consistent hash ring using the computed hash. The traffic routing server then sends the request from the user to that server cluster. By consistently sending requests from users assigned to the same partition to the same server cluster, the technology improves cache hit rates and reduces data duplication across the server clusters, which in turn improves datacenter efficiency.Type: GrantFiled: September 19, 2014Date of Patent: January 2, 2018Assignee: Facebook, Inc.Inventors: Alon Michael Shalita, Igor Kabiljo, Kenneth Lau, Arun Dattaram Sharma, Alexander Michael Laslavic
-
Publication number: 20170149620Abstract: 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.Type: ApplicationFiled: February 8, 2017Publication date: May 25, 2017Inventors: Alon Michael Shalita, Arun Dattaram Sharma
-
Patent number: 9652554Abstract: 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.Type: GrantFiled: December 26, 2013Date of Patent: May 16, 2017Assignee: Facebook, Inc.Inventors: Alon Michael Shalita, Arun Sharma
-
Publication number: 20170091334Abstract: Embodiments are disclosed for improving cache or memory efficiency of a social network system. A method according to some embodiments includes steps of: receiving an instruction to improve cache or memory efficiency of social graph data of a social graph; generating based on the social graph a partitioning tree including multiple bottom-level buckets, the partitioning tree dividing the vertices of the social graph into the bottom-level buckets and ordering the bottom-level buckets such that a social network metric regarding the vertices is optimized; assigning user IDs to the vertices of the social network in a numerical sequence based on the ordering of the bottom-level buckets; storing the social graph data of the users in storage locations in an order according to the numeral sequence of the assigned user IDs of the vertices.Type: ApplicationFiled: September 29, 2015Publication date: March 30, 2017Inventors: Igor Kabiljo, Laxman Dhulipala, Alon Michael Shalita, Arun Dattaram Sharma, Brian Christopher Karrer
-
Publication number: 20160087880Abstract: A technology for routing traffic from similar users to a same server cluster to improve data center efficiency is disclosed. When a traffic routing server receives a request from a user, the traffic routing server determines an identifier of a partition to which the user is assigned. The user and many other users with whom the user shares a social attribute are co-located in the same partition. The traffic routing server then computes a hash of the identifier using a hash function and locates a server cluster on a consistent hash ring using the computed hash. The traffic routing server then sends the request from the user to that server cluster. By consistently sending requests from users assigned to the same partition to the same server cluster, the technology improves cache hit rates and reduces data duplication across the server clusters, which in turn improves datacenter efficiency.Type: ApplicationFiled: September 19, 2014Publication date: March 24, 2016Inventors: Alon Michael Shalita, Igor Kabiljo, Kenneth Lau, Arun Dattaram Sharma, Alexander Michael Laslavic
-
Publication number: 20150186492Abstract: 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.Type: ApplicationFiled: December 26, 2013Publication date: July 2, 2015Applicant: Facebook, Inc.Inventors: Alon Michael Shalita, Arun Sharma
-
Publication number: 20150095348Abstract: To dynamically map nodes for locality and balance, computer implemented methods, systems, and computer readable media, in an embodiment, may compute histograms for nodes in a first partition. Histograms may be computed for nodes in a second partition. The second partition may be selected as a candidate partition for a set of nodes in the first partition based on the histograms for the nodes in the first partition. The first partition may be selected as a candidate partition for a set of nodes in the second partition based on the histograms for the nodes in the second partition. At least a portion of the set of nodes in the first partition may be mapped to the second partition and at least a portion of the set of nodes in the second partition may be mapped to the first partition based on load balancing.Type: ApplicationFiled: October 1, 2013Publication date: April 2, 2015Inventors: Alessandro PRESTA, Alon Michael SHALITA
-
Publication number: 20140156360Abstract: Online systems, for example, social networking systems evaluate expressions based on features describing relations between entities represented in the online system. These expressions are represented using an expression language. The expression language allows features to be specified as functions of attributes from user accounts. The expressions support use of variables to represent computations, for example, sub-expressions. The expressions are dynamic, since expressions can be specified and executed at call time. The same set of expressions is used many times, e.g., to compute the same function for multiple feature sets, for example, user accounts. Expressions are preferably represented using postfix representation. However some expressions, for example, expressions using variables are represented as trees. To optimize the expressions at runtime, the expressions are cached using a representation determined to be efficient for executing the expression.Type: ApplicationFiled: November 30, 2012Publication date: June 5, 2014Applicant: Facebook, Inc.Inventors: Alon Michael Shalita, Ming Hua, Ryan Allen Stout