Facebook Patent Grants

Techniques for asynchronous rendering

Granted: February 21, 2017
Patent Number: 9575634
Techniques for asynchronous rendering are described. An apparatus may comprise a layout component, a view component, and a display component. The layout component may be operative on one or more background threads to receive a plurality of layout objects and to calculate layout parameters for each of the plurality of layout objects. The view component may be operative on a main thread to instantiate a plurality of view objects, wherein a view object is created for and associated with…

Enhanced predictive input utilizing a typeahead process

Granted: February 21, 2017
Patent Number: 9575956
Particular embodiments may retrieve information associated with one or more nodes of a social graph from one or more data stores. A node may comprise a user node or a concept node. Each node may be connected by edges to other nodes of a social graph. A first user may be associated with a first user node of the social graph. Particular embodiments may detect that the first user is entering an input term. Predictive typeahead results may be provided as the first user enters the input term.…

Targeting stories based on influencer scores

Granted: February 21, 2017
Patent Number: 9576016
A story describing an activity performed by an interacting user is distributed to viewing users according to the influencer scores for the viewing users. Each influencer score can be calculated based at least in part on the influence of a viewing user on those users connected to the viewing user, and on the influencer scores for the users connected to the viewing user. Based on the determined influencer scores, at least one of the viewing users can be provided with the story describing…

Tagging questions from users on a social networking system

Granted: February 21, 2017
Patent Number: 9576045
Users of a social networking system post questions for other users to answer. Questions are automatically tagged based on keywords extracted from text within the posted questions as well as user-selected tags. Answers may be voted on and sorted by social information related to the browsing user. Affinities for tags are recorded based on users' interactions with the question and answer service. Affinities for tags may also be used to target questions to other users and sort answers.

Determining accuracies with which types of user identifying information identify online system users

Granted: February 21, 2017
Patent Number: 9576058
An online system matches a user with a user of a third party system by comparing user identifying information maintained by the online system with user identifying information maintained by the third party system. To determine how accurately different types of user identifying information identify an online system user, types of user identifying information maintained by the online system are compared to types of user identifying information maintained by the third party system. A score…

Composite term index for graph data

Granted: February 21, 2017
Patent Number: 9576060
This application is directed to an indexing system for graph data. In particular implementations, the indexing system uses a database index infrastructure that provides for flexible search capability to data objects and associations between data objects. Particular embodiments relate to an indexing system for storing and serving information modeled as a graph that includes nodes and edges that define associations or relationships between nodes that the edges connect in the graph.

Preventing phishing attacks based on reputation of user locations

Granted: February 21, 2017
Patent Number: 9576119
User sessions are authenticated based on locations associated with a user account used for sending a request for creating a session. Examples of locations of a source of a request include a geographical location, a network address, or a machine cookie associated with a device sending the request. Locations of the request are compared with stored safe locations associated with the user account and a suspiciousness index is determined for the session. The level of authentication required…

Systems and methods for simultaneously providing and reading machine-readable codes

Granted: February 21, 2017
Patent Number: 9576172
Systems, methods, and non-transitory computer-readable media can acquire a first machine-readable code. The first machine-readable code can be provided on a display element. A reader tool for reading a second machine-readable code can be provided on the display element in conjunction with the providing of the first machine-readable code on the display element. In some instances, the second machine-readable code can be read using the reader tool. The second machine-readable code can be…

Recommending additional users for an event using a social networking system

Granted: February 21, 2017
Patent Number: 9576325
Social networking system users may create events where a group of other users invited to the event meet at a specified time and location. While an inviting user initially specifies the group of users to invite to the event, the social networking system suggests additional users to invite to the event. The social networking system suggests additional users based on a prediction that the users would attend the event if invited. Various factors may be used to make the prediction, such as an…

Linking multiple entities associated with media content

Granted: February 21, 2017
Patent Number: 9577975
In one embodiment, a method includes determining that media content being viewed by a user comprises a plurality of entities, accessing information indicative of the plurality of entities, and querying a social graph of the social-networking system for social content associated with each of the plurality of entities and one or more other users of the social-networking system. The social graph includes user nodes that are each associated with a particular user of the social-networking…

Proxy bypass login for applications on mobile devices

Granted: February 21, 2017
Patent Number: 9578011
In one embodiment, an intermediate server receives a request with a secure ID to authorize a software application, transmits the secure ID to a system, receives an access token from the system indicating that the software application has been authorized, evaluates the access token for validity, and transmits a response to the mobile device indicating the software application is authorized.

Sharing television and video programming through social networking

Granted: February 21, 2017
Patent Number: 9578390
In particular embodiments, a social TV dongle receives a first video stream from a content source using a first interface and receives social content from a social-networking system using a second interface. The social TV dongle generates a modified video stream using at least the first video stream and the social content and sends the modified video stream to a display device using a third interface.

Authenticating user sessions based on information obtained from mobile devices

Granted: February 21, 2017
Patent Number: 9578499
An online system determines whether a request for creating a session with the online system is suspicious. The online system associates a user account with a mobile key of a mobile device and geographical locations of the mobile device. The mobile key comprises unique identifier of the mobile device that is permanently stored on the mobile device. Upon receiving a request to create a session for the user account, the online system compares information associated with the user request…

Asynchronous execution of animation tasks for a GUI

Granted: February 14, 2017
Patent Number: 9569062
Particular embodiments of a computing device may provide a main thread, a graphics thread to handle tasks related to rendering and presenting a graphical user interface (GUI), and an input thread to handle tasks related to processing input-related events. The GUI may comprise at least one animated component associated with a set of state variables. The main thread may handle tasks to generate a GUI hierarchy and provide copies of the GUI hierarchy to the input thread and the graphics…

Partitioning shared caches

Granted: February 14, 2017
Patent Number: 9569360
Technology is provided for partitioning a shared unified cache in a multi-processor computer system. The technology can receive a request to allocate a portion of a shared unified cache memory for storing only executable instructions, partition the cache memory into multiple partitions, and allocate one of the partitions for storing only executable instructions. The technology can further determine the size of the portion of the cache memory to be allocated for storing only executable…

Optimizing electronic layouts for media content

Granted: February 14, 2017
Patent Number: 9569501
In one embodiment, a method includes accessing N electronic media-content items and a plurality of media-content templates, where each of the media-content templates includes a pre-determined number of surface areas for a pre-determined number of media-content items. The method includes scoring, based on one or more features, for each of one or more of the media-content templates, the placement of X of the electronic media-content items in the media-content template, where X equals the…

Personalized bookmarks for social networking system actions based on user activity

Granted: February 14, 2017
Patent Number: 9569553
A social networking system provides a personalized set of bookmarks to a user based on the user's interactions with the bookmarks and/or the items associated with the bookmarks. The personalized set of bookmarks is grouped by category, and the categories are ordered in accordance with rankings for the categories. The rankings for the categories are determined based on the highest ranked item from each category of item, and the ranking of the items is determined based on the user's…

Predicting computer model accuracy

Granted: February 14, 2017
Patent Number: 9569727
A social networking system receives messages from users that include hashtags. The social networking system may use a natural language model to identify terms in the hashtag corresponding to words or phrases of the hashtag. The words or phrases may be used to modify a string of the hashtag. The social networking system may also generate computer models to determine likely membership of a message with various hashtags. Prior to generating the computer models, the social networking system…

Systems and methods for notification delivery

Granted: February 14, 2017
Patent Number: 9571439
An electronic message may be reconfigured to effect an enhanced notification using an input interface to receive at least one electronic message created by or on behalf of a message source for delivery to an intended recipient. A matching engine determines whether the electronic message corresponds to a predetermined definition of an enhanced notification. An enhancement engine reconfigures the electronic message to the enhanced notification if stored information related to the intended…

Notification archive

Granted: February 14, 2017
Patent Number: 9571440
An electronic message may be reconfigured to effect an enhanced notification using an input interface to receive at least one electronic message created by or on behalf of a message source for delivery to an intended recipient. A matching engine determines whether the electronic message corresponds to a predetermined definition of an enhanced notification. An enhancement engine reconfigures the electronic message to the enhanced notification if stored information related to the intended…