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: 10616353
    Abstract: 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: Grant
    Filed: September 14, 2016
    Date of Patent: April 7, 2020
    Assignee: Facebook, Inc.
    Inventors: Alon Michael Shalita, Sergey Pupyrev, Igor Kabiljo
  • Patent number: 10395321
    Abstract: 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: Grant
    Filed: November 30, 2012
    Date of Patent: August 27, 2019
    Assignee: Facebook, Inc.
    Inventors: Alon Michael Shalita, Ming Hua, Ryan Allen Stout
  • Patent number: 10025867
    Abstract: 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: Grant
    Filed: September 29, 2015
    Date of Patent: July 17, 2018
    Assignee: Facebook, Inc.
    Inventors: Igor Kabiljo, Laxman Dhulipala, Alon Michael Shalita, Arun Dattaram Sharma, Brian Christopher Karrer
  • Patent number: 9934323
    Abstract: 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: Grant
    Filed: October 1, 2013
    Date of Patent: April 3, 2018
    Assignee: Facebook, Inc.
    Inventors: Alessandro Presta, Alon Michael Shalita
  • Publication number: 20180077251
    Abstract: 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: Application
    Filed: September 14, 2016
    Publication date: March 15, 2018
    Inventors: Alon Michael Shalita, Sergey Pupyrev, Ogor Kabiljo
  • Patent number: 9900223
    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.
    Type: Grant
    Filed: February 8, 2017
    Date of Patent: February 20, 2018
    Assignee: Facebook, Inc.
    Inventors: Alon Michael Shalita, Arun Dattaram Sharma
  • Patent number: 9860316
    Abstract: 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: Grant
    Filed: September 19, 2014
    Date of Patent: January 2, 2018
    Assignee: Facebook, Inc.
    Inventors: Alon Michael Shalita, Igor Kabiljo, Kenneth Lau, Arun Dattaram Sharma, Alexander Michael Laslavic
  • Publication number: 20170149620
    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.
    Type: Application
    Filed: February 8, 2017
    Publication date: May 25, 2017
    Inventors: Alon Michael Shalita, Arun Dattaram Sharma
  • Patent number: 9652554
    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.
    Type: Grant
    Filed: December 26, 2013
    Date of Patent: May 16, 2017
    Assignee: Facebook, Inc.
    Inventors: Alon Michael Shalita, Arun Sharma
  • Publication number: 20170091334
    Abstract: 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: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Inventors: Igor Kabiljo, Laxman Dhulipala, Alon Michael Shalita, Arun Dattaram Sharma, Brian Christopher Karrer
  • Publication number: 20160087880
    Abstract: 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: Application
    Filed: September 19, 2014
    Publication date: March 24, 2016
    Inventors: Alon Michael Shalita, Igor Kabiljo, Kenneth Lau, Arun Dattaram Sharma, Alexander Michael Laslavic
  • Publication number: 20150186492
    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.
    Type: Application
    Filed: December 26, 2013
    Publication date: July 2, 2015
    Applicant: Facebook, Inc.
    Inventors: Alon Michael Shalita, Arun Sharma
  • Publication number: 20150095348
    Abstract: 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: Application
    Filed: October 1, 2013
    Publication date: April 2, 2015
    Inventors: Alessandro PRESTA, Alon Michael SHALITA
  • Publication number: 20140156360
    Abstract: 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: Application
    Filed: November 30, 2012
    Publication date: June 5, 2014
    Applicant: Facebook, Inc.
    Inventors: Alon Michael Shalita, Ming Hua, Ryan Allen Stout