US Pat. No. 9,325,778

WIRELESS DATA PRIVACY MAINTAINED THROUGH A SOCIAL NETWORK

Facebook, Inc., Menlo Pa...

1. A method, comprising:
by one or more servers of a system providing an online service, sending a token to a first client computing device associated
with a first user of the online service, the token being generated by the servers based at least in part on a user identifier
of the first user;

by the servers, receiving the token from a second client computing device associated with a second user of the online service,
the token being sent to the second client computing device from the first client computing device through a wireless connection;

by the servers, verifying the token based at least in part on the user identifier of the first user and a least number of
edges traversed in a social graph from a first node corresponding to the first user to a second node corresponding to the
second user;

by the servers, determining data accessible to the second user in an event that the token is verified, wherein said determining
includes determining a list of nodes in the social graph for access to the second user, the list of nodes representing connections
common to both the first node and the second node; and

by the servers, sending to the second client computing device at least some of the data accessible to the second user.

US Pat. No. 9,047,361

TRACKING USAGE OF A MEDIA ASSET

FACEBOOK, INC., Menlo Pa...

9. A method comprising:
determining, using at least one processor, information regarding usage of a digital media file by a first user that receives
the digital media file, the information being integrated within the digital media file, wherein the digital media file comprises
a media content portion and a media history portion;

storing the information in a database;
receiving, from a second user associated with the first user, a request for the information regarding usage of the digital
media file; and

providing, to the second user, access to the information.

US Pat. No. 9,208,189

DISTRIBUTED REQUEST PROCESSING

Facebook, Inc., Menlo Pa...

1. A system for processing a request, comprising:
a communication interface configured to receive a request associated with an associated identifier; and
a processor configured to:
select among a group of request handlers a selected request handler to process the request, wherein the selection of the selected
request handler is based at least in part on the associated identifier; and

process the request using an included identifier included in the request,
wherein processing the request includes using a local version of a data associated with the included identifier and stored
in a storage managed by the selected request handler,

processing the request includes determining a hash value using at least the included identifier and using the hash value to
obtain the local version of the data,

the local version of the data has been updated using a centralized version of the data,
the centralized version of the data has been determined using processing performed at least by a plurality of request handlers
included in the group of request handlers, and

the centralized version of the data has been determined using processing performed at least by the selected request handler.

US Pat. No. 9,504,158

METAL-FREE MONOLITHIC EPITAXIAL GRAPHENE-ON-DIAMOND PWB

Facebook, Inc., Menlo Pa...

1. An apparatus comprising:
a circuit board made of polycrystalline diamond; and
a substantially hollow tube formed within the circuit board, the tube terminating at one or more surfaces of the circuit board,
the tube comprising a layer of graphene that is operable to permit the tube to conduct electrical current.

US Pat. No. 9,317,265

OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR ATOMIC EXECUTION

Facebook, Inc., Menlo Pa...

1. A method, comprising:
generating, at a computer in a computer system, an intermediate representation of a script code, the intermediate representation
having intermediate code representing the script code;

identifying, at the computer, a unit of intermediate code, the unit of intermediate code including (i) a checkpoint that evaluates
to a first value or a second value and (ii) the intermediate code associated with the checkpoint, the intermediate code associated
with the checkpoint including:

a first set of code associated with a variable on which the checkpoint is operating, the first set of code causing the variable
to evaluate to the first value or the second value and executing prior to execution of the checkpoint, and

a second set of code that is dependent on a value of the variable; and
regenerating, by the computer and in the intermediate representation, the unit of intermediate code as a transaction, the
regenerating as a transaction including:

causing, upon execution of the intermediate representation, to abort execution of the unit of intermediate code when the checkpoint
evaluates to the second value, and

causing, upon abortion of the execution of the unit of intermediate code, a current state of execution of the intermediate
representation to revert to a state that existed before the beginning of execution of the unit of intermediate code.

US Pat. No. 9,158,707

STATISTICAL CACHE PROMOTION

Facebook, Inc., Menlo Pa...

1. A system for storing data in a cache, comprising:
a processor configured to:
determine that a data record is not stored in a cache;
generate a first random value using a threshold value;
determine whether to store the data record in the cache based at least in part on the generated first random value;
generate a second random value using the threshold value; and
determine whether to store the data record in the cache based at least in part on the generated second random value; and
a memory coupled to the processor and configured to provide the processor with instructions.

US Pat. No. 9,485,772

TECHNIQUES FOR PEER-TO-PEER NETWORK SHARING

FACEBOOK, INC., Menlo Pa...

1. A computer-implemented method, comprising:
transmitting an offer from a first mobile device to a second mobile device, the offer comprising a request for the second
mobile device to act as a proxy for the first mobile device for the performance of network services and an amount of sharing
credits to be transferred from a first account to a second account with a sharing authority when the network services are
performed, the first account associated with the first mobile device, the second account associated with the second mobile
device;

receiving an offer acceptance from the second mobile device;
receiving configuration information; and
configuring the first mobile device to use the second mobile device as a network proxy using the configuration information.

US Pat. No. 9,131,381

MOBILE DEVICE AUTO WIPE

Facebook, Inc., Menlo Pa...

1. A method comprising:
by a mobile computing device, providing on a display of the mobile computing device a visual cue to a user to prompt the user
to perform an incorrect touch gesture;

by the mobile computing device, automatically determining an occurrence of a security event associated with the mobile computing
device, wherein the security event comprises the user performing the incorrect touch gesture to unlock the mobile computing
device; and

by the mobile computing device, automatically erasing all software and data on the mobile computing device.

US Pat. No. 9,201,904

SHARING TELEVISION AND VIDEO PROGRAMMING THROUGH SOCIAL NETWORKING

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more computer systems of a social-networking system, identifying a first user viewing video content on a first display
device;

by one or more computer systems of the social-networking system, identifying the video content being viewed on the first display
device by the first user;

by one or more computer systems of the social-networking system, determining a second display device associated with the first
user;

by one or more computer systems of the social-networking system, accessing chat messages from second users, wherein the chat
messages are associated with the video content;

by one or more computer systems of the social-networking system, applying an automatic filter to the chat messages to identify
those that are of particular relevance to the first user; and

by one or more computer systems of the social-networking system, sending one or more instructions to the second display device
to display the chat messages, as filtered, to the first user;

wherein a chat message that is of particular interest to the first user, as identified according to the automatic filter:
is associated with a second user who is a friend of the first user as determined from a social graph of the social-networking
system;

is associated with a second user who has a level of affinity with the first user that is at or above a particular affinity
threshold, as determined from a social graph of the social-networking system;

has received a number of endorsements from second users that is at or above a particular endorsement threshold; or
has received a number of replies from second users that is at or above a particular reply threshold.

US Pat. No. 9,135,555

ENHANCED PREDICTIVE INPUT UTILIZING A TYPEAHEAD PROCESS

Facebook, Inc., Menlo Pa...

1. A method comprising:
retrieving, from one or more data stores, information associated with one or more nodes, a node comprising a user node or
a concept node, each node being connected by edges to other nodes of a social graph;

detecting that a first user is entering an input term, the first user being associated with a first user node of the social
graph;

providing predictive typeahead results as the first user enters the input term, the predictive typeahead results being based
on the input term, each predictive typeahead result corresponding to at least one node of the social graph, each predictive
typeahead result including at least one image associated with one of the at least one node.

US Pat. No. 9,130,997

UPDATING SYSTEM BEHAVIOR DYNAMICALLY USING FEATURE EXPRESSIONS AND FEATURE LOOPS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
maintaining, in an online system, a set of feature loops, wherein a feature loop comprises an expression capable of being
processed by a computer processor to map a set of input values to an output value, the expression evaluating to a value describing
one or more entities in the online system, wherein evaluating the feature loop comprises aggregating values of the expression
across a plurality of user actions;

receiving information describing a modification to the set of feature loops, wherein the modification to the set of feature
loops is performed while the online system is executing;

responsive to the set of feature loops being modified, evaluating feature loops of the set of modified feature loops for a
subsequent user action; and

responding to the subsequent user action based on the values of feature loops from the set of modified feature loops.

US Pat. No. 9,055,050

USER AUTHENTICATION OF APPLICATIONS ON THIRD-PARTY DEVICES VIA USER DEVICES

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving, at a first computing device, an access token from a second computing device, the access token being generated by
the second computing device for a specific software application executing on a specific computing device;

storing, by the first computing device, the access token;
receiving, at the first computing device, a request for the access token from a software application executing on a third
computing device;

verifying, by the first computing device, whether the software application is the same as the specific software application
and the third computing device is the same as the specific computing device for which the access token is generated; and

sending, by the first computing device, the access token to the third computing device only when the software application
is the same as the specific software application and the third computing device is the same as the specific computing device
for which the access token is generated.

US Pat. No. 9,408,329

SERVER DEVICE COOLING SYSTEM

FACEBOOK, INC., Menlo Pa...

1. A server device, comprising:
an elongated chassis having a first end and a second end;
one or more fans positioned within the elongated chassis to draw air in an initial direction from the first end and towards
the second end, the initial direction corresponding to a flow direction of the one or more fans;

a radiator block having a first end and a second end, the radiator block being oriented substantially parallel to the flow
direction of the one or more fans, the radiator block comprising a plurality of air passageways through which the air passes,
the plurality of air passageways being orientated substantially orthogonal to the initial direction;

a first baffle in contact with the first end of the radiator block to re-direct air from the initial direction through the
plurality of air passageways in a direction orthogonal to the initial direction;

a second baffle in contact with the radiator block to re-direct air passing through the plurality of air passageways back
to the initial direction and towards the second end of the elongated chassis;

one or more cold plates; and
one or more liquid tubes that couple the one or more cold plates to the radiator block.

US Pat. No. 9,196,060

TEXTURE REPOSITORY FOR IMAGE PROCESSING APPLICATIONS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
storing a plurality of canvases in a data store, each canvas having a resolution and associated with a texture identifier
associated with a texture to be applied to an image by an image manipulation application, wherein the canvas is invariant
with respect to image content of the image to which the texture is applied;

receiving a request for a canvas from the image manipulation application that is configured to apply the requested canvas
to alter one or more images, the request specifying a target texture identifier and a target resolution for the requested
canvas;

determining whether the requested canvas exists among the stored plurality of canvases;
if the requested canvas exists among the stored plurality of canvases, providing the requested canvas to the image manipulation
application;

if the requested canvas does not exist among the stored plurality of canvases, generating a canvas, the generating comprising
at least one of:

transforming an existing canvas from the stored plurality of canvases, the existing canvas associated with a texture identifier
matching the target texture identifier, the transforming including resizing the existing canvas to the target resolution,
and

executing a procedural generation function associated with the target texture identifier to procedurally generate a canvas
at the target resolution; and

providing the generated canvas to the image manipulation application.

US Pat. No. 9,510,191

AUTHORIZATION OF NETWORK ADDRESS TRACKING

FACEBOOK, INC., Menlo Pa...

1. A computer-implemented method for providing user tracking authorization, comprising:
detecting, by a mobile device, a signal from a kiosk, the mobile device associated with a unique identifier;
extracting, by the mobile device, a verification from the signal from the kiosk, wherein the verification is associated with
a kiosk identifier, wherein the kiosk identifier includes a rotating key identifier and a local identifier;

determining, by the mobile device, that the kiosk is authentic using the verification; and
transmitting, by the mobile device, an authorization to track the unique identifier, wherein the authorization is determined
at least based on the kiosk identifier.

US Pat. No. 9,122,381

SHARING ANNOTATIONS OF DIGITAL ITEMS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving, at one or more servers, a request from a user of a social network to navigate to a collection of digital items
associated with a co-user of the social network;

providing to the user, by the one or more servers, a graphical user interface comprising digital items posted to the social
network by the co-user;

receiving, at the one or more servers, a comment from the user to add to the collection of digital items associated with the
co-user;

determining whether the user is on a friend list of the co-user;
identifying permissions set by the co-user granting access to the digital items posted to the social network by the co-user;
and

posting the comment from the user to the collection of digital items associated with the co-user based on the user being on
the friend list of the co-user and the user being granted access to the digital items by the permissions set by the co-user.

US Pat. No. 9,070,363

SPEECH TRANSLATION WITH BACK-CHANNELING CUES

Facebook, Inc., Menlo Pa...

1. A method of translating speech from a first language to a second language, the method comprising:
recognizing speech by a speaker;
identifying the speech by the speaker as being in the first language;
initiating a translation of the speech in the first language, by a speech translation system, into the second language;
recognizing, by the speech translation system, one or more prosodic cues in the speech in the first language, one or more
of the prosodic cues being of a specific type of prosodic cue;

responsive to recognizing the prosodic cues, producing a back-channel cue corresponding to the specific type of prosodic cue;
providing, by the speech translation system, the produced back-channel cue to the speaker, the back-channel cue comprising
an audible confirmation that initiation of the translation of the speech in the first language has occurred; and

determining a translation result in the second language.

US Pat. No. 9,344,338

FACILITATING FILE TRANSFERS USING AN ICON

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing a stand-alone graphical object that represents a first user of a communications program that facilitates communications
across a network, the stand-alone graphical object being configured to allow a user to perform an action otherwise available
through an interface of the communications program regardless of whether the interface of the communications program is running
when an operation corresponding to the action is performed via the stand-alone graphical object;

detecting, using at least one processor, that a second user has positioned a first icon representing a file to be transferred
from the second user to the first user of the communications program on or near the stand-alone graphical object; and

sending the file represented by the first icon to the first user of the communications program regardless of whether the interface
of the communications program is running.

US Pat. No. 9,069,449

METHODS OF GRANTING PERMISSION TO ANNOTATE DIGITAL ITEMS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing co-users associated with a user of a communications system access to digital items associated with the user of the
communication system;

receiving a first annotation for a specific digital item from a specific first co-user;
identifying a first indication from the user of whether the specific first co-user is to be granted permission to annotate
the specific digital item;

if the first indication from the user grants the specific first co-user permission to associate annotations with the specific
digital item, posting the first annotation with the specific digital item such that the first annotation is available to the
co-users when accessing the specific digital item; and

if the first indication from the user denies the specific first co-user permission to associate annotations with the specific
digital item, allowing only the user to access the first annotation.

US Pat. No. 9,606,717

CONTENT COMPOSER

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
creating and presenting a first content item on a user interface (UI) of an electronic device for editing by a first user;
presenting a plurality of icons respectively representing a plurality of content types;
in response to the first user selecting a specific icon representing a specific content type, presenting a plurality of second
content items of the specific content type in an icon-series portion concurrently with the first content item and the plurality
of icons on the UI, wherein the icon-series portion is presented by gradually sliding the icon-series portion into view until
the plurality of second content items are displayed on the UI;

in response to the first user selecting a specific second content item,
visually displaying dragging of the second content item from a position in the icon-series portion and then dropping of the
second content item to a predetermined position on the UI to represent the second content item being incorporated into the
first content item, the predetermined position being associated with the first content item and separate from the position
associated with the plurality of second content items, and

removing the icon-series portion comprising the plurality of second content items from display on the UI; and
adjusting the second content item to a final size at the predetermined position on the UI based on the specific content type
of the specific second item.

US Pat. No. 9,491,251

TRANSMISSION OF NOTIFICATIONS TO MULTIPLE DEVICES ASSOCIATED WITH A USER

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
generating a notification associated with a user;
identifying a plurality of user devices eligible to receive the notification, each user device associated with the user and
configured to provide an acknowledgment responsive to the user interacting with the notification;

selecting a user device from the plurality of user devices based at least in part on a profile comprising a frequency with
which user interactions are received from user devices in the plurality of user devices;

transmitting the notification to the selected user device;
identifying a set of acknowledgment times received from the selected user device for previous messages sent to the selected
user device;

determining, for the selected user device, a percentile of the acknowledgment times based on a drop-off point in the distribution
of the set of acknowledgment times of the selected user device;

determining a percentile acknowledgement time corresponding to the determined percentile of the acknowledgment times;
determining an acknowledgment delay period based on the percentile acknowledgement time;
responsive to an acknowledgment not being received within the acknowledgement delay period:
selecting an additional user device based at least in part on the profile;
removing the selected user device from the plurality of user devices eligible to receive the notification; and
transmitting the notification to the selected additional user device.

US Pat. No. 9,367,625

SEARCH QUERY INTERACTIONS ON ONLINE SOCIAL NETWORKS

Facebook, Inc., Menlo Pa...

1. A method comprising:
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges
between two of the nodes representing a single degree of separation between them, the nodes comprising:

a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
receiving from the first user a structured query comprising references to one or more selected nodes from the plurality of
nodes and one or more selected edges from the plurality of edges;

generating a query command based on the structured query, wherein the query command comprises an inner query constraint and
an outer query constraint;

identifying a first set of nodes matching the inner query constraint and at least in part matching the outer query constraint;
identifying a second set of nodes matching the outer query constraint; and
generating one or more search results based on the first and second sets of nodes, wherein each search result corresponds
to a node of the plurality of nodes.

US Pat. No. 9,164,924

SOFTWARE CRYPTOPROCESSOR

FACEBOOK, INC., Menlo Pa...

1. A method for securing information stored by a computer, the computer having a processor and a main memory, the processor
having a core with cache memory for storing instructions for execution by the core, the method comprising:
loading an agent into the processor and storing the agent into the cache memory so that the agent is resident in the cache
memory; and

under control of the core executing instructions of the agent:
upon detecting transmission of encrypted content from the main memory to the cache memory,
retrieving the encrypted content from the cache memory;
decrypting the encrypted content; and
storing the decrypted content into the cache memory;
when the decrypted content is to be evicted from the cache memory to the main memory,
retrieving the decrypted content from cache memory;
encrypting the decrypted content as newly encrypted content;
storing the newly encrypted content into the cache memory so that the encrypted content, rather than the decrypted content,
is evicted;

computing a validation value for the newly encrypted content; and
associating the newly encrypted content with the validation value for detecting a change to the newly encrypted content that
is stored in the main memory;

wherein, after the newly encrypted content is transmitted from the main memory to the cache memory and prior to decrypting
the newly encrypted content, the validation value for the newly encrypted content is re-computed and the re-computed validation
value is compared to the validation value associated with the newly encrypted content to detect changes to the newly encrypted
content.

US Pat. No. 9,161,303

DUAL MODE WIRELESS COMMUNICATIONS DEVICE

Facebook, Inc., Menlo Pa...

1. A wireless communications device comprising:
a battery configured to provide power to operate the wireless communications device in a first mode of operation;
an RF interface configured to:
receive an RF signal; and
generate operating power for direct use by the wireless communications device from the RF signal in a second mode of operation;
and

a processing section comprising one or more processors;
wherein the wireless communications device is configured to:
operate on battery power in the first mode of operation;
detect available RF power;
enter the second mode of operation from the first mode of operation, wherein, during the second mode of operation, the generated
operating power is used for operation of the device; and

detect a fill state of a memory and, based on the fill state, change the processing section from the second mode to the first
mode and conduct data transfer with the memory.

US Pat. No. 9,148,068

BACKUP POWER SYSTEM FOR RACK-MOUNTED EQUIPMENT

Facebook, Inc., Menlo Pa...

1. A power supply system comprising:
an input from three-phase alternating current (AC) power grid lines;
an output for supplying electrical power to rack-mounted computing equipment;
a main power circuit including a power factor correction (PFC) module and a PFC bulk capacitor coupled to the output, wherein
the main power circuit is configured to draw power from one or more of the three-phase power grid lines; and

a bypass power circuit including a rectifier and a shelf bulk capacitor coupled in parallel to the PFC bulk capacitor, wherein
the bypass power circuit is configured to draw power from each of the power grid lines, and rectify the three-phase AC current
from the power grid lines to produce a rectified output across the shelf bulk capacitor,

wherein the main power circuit is configured to provide electrical power to the output during normal operation, and the bypass
power circuit is configured to provide electrical power to the output during bypass operation upon failure of the PFC module.

US Pat. No. 9,413,812

MANAGING INFORMATION ABOUT RELATIONSHIPS IN A SOCIAL NETWORK VIA A SOCIAL TIMELINE

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
maintaining in a computer system a plurality of relationships among a plurality of users of a social networking system;
receiving information at a social networking system about a plurality of events that pertain to the users of the social networking
system;

generating a social timeline, the social timeline comprising a visual representation for a subset of the plurality of the
events associated with a subject user of the social networking system;

sending the social timeline for display to a viewing user of the plurality of users of the social networking system;
receiving from the viewing user a request to add a new event to the social timeline;
editing the social timeline, based on the request, to include the new event; and
sending the edited social timeline for display to the viewing user.

US Pat. No. 9,361,659

SYSTEMS AND METHODS FOR OPTIMIZING ORDER OF IMAGE TRANSFORMATIONS

Facebook, Inc., Menlo Pa...

1. A computer implemented method comprising:
applying, by a computer system, one or more ordering cost functions to each possible transformation ordering of a plurality
of image transformations of a user-selected transformation ordering, each ordering cost function comprising a plurality of
transformation cost functions, and each transformation cost function being associated with an image transformation and based
on a per-pixel cost value;

determining, by the computer system, computing costs for each of the one or more applied ordering cost functions; and
selecting, by the computer system, an optimal transformation ordering of the plurality of image transformations based on the
determined computing costs.

US Pat. No. 9,361,344

SYSTEM AND METHOD FOR DISTRIBUTED DATABASE QUERY ENGINES

FACEBOOK, INC., Menlo Pa...

1. A system, comprising:
a gateway server configured to generate a plurality of partial queries from a database query for a database containing data
stored in a distributed storage cluster that has a plurality of data nodes, and to construct a query result based on a plurality
of intermediate results; and

a plurality of worker nodes, the worker nodes being separate from the data nodes, wherein each worker node of the plurality
of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related
to the respective partial query and stored on at least one data node of the distributed storage cluster, and wherein each
worker node of the plurality of worker nodes is further configured to generate an intermediate result of the plurality of
intermediate results that is stored in a memory of that worker node;

wherein the gateway server is further configured to identify a straggling worker node and further divide a partial query that
is assigned to the straggling worker node into a plurality of subordinate partial queries and assign the plurality of subordinate
partial queries to some of the plurality of worker nodes, and wherein the partial query is divided into the subordinate partial
queries based on quantity and location information of input file blocks of the query.

US Pat. No. 9,319,472

FACILITATING GENERATION OF USER CONTENT FOR AGGREGATED STORY UNITS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
receiving, from a viewing user of a social networking system, a request for stories describing one or more actions of one
or more users of the social networking system;

identifying one or more users of the social networking system connected to the viewing user;
obtaining interaction data describing one or more actions performed by the one or more users connected to the viewing user
on one or more objects associated with the social networking system;

generating an aggregated story unit from the interaction data, the aggregated story unit including two or more content items
associated with a common characteristic and identifying a plurality of actions performed by the one or more users connected
to the viewing user;

determining, based on one more input selection policies, whether to include in the aggregated story unit:
(1) an input element associated with a collection of all of the content items included in the aggregated story unit, or
(2) an input element associated with each individual content item included in the aggregated story unit,
wherein an input selection policy is based at least in part on prior user interactions with other aggregated story units including
other content items associated with the same common characteristic as the content items included in the aggregated story unit;
and

providing, for display to the viewing user, the aggregated story unit with one or more input elements based on the determining.

US Pat. No. 9,177,206

AUTOMATIC PHOTO ALBUM CREATION BASED ON SOCIAL INFORMATION

Facebook, Inc., Menlo Pa...

1. A method comprising:
storing user profiles for each of a plurality of users of a social networking system;
storing information for each of a plurality of objects in the social networking system;
storing a plurality of connections between each of the plurality of the users and the other users or objects in the social
networking system;

accessing a plurality of images provided by a posting user of the plurality of users;
receiving a request to access an album, the album comprising a set of images selected from the plurality of images;
identifying one or more tagged objects in the images in the album, where a tagged object is an object of the plurality of
objects in the social networking system;

computing a score for one or more of the plurality of images, where the score for an image is based at least in part on an
association between information from a user profile of the posting user and the one or more tagged objects in the image;

selecting a subset of the plurality of images based on the computed scores, wherein one or more of the computed scores are
adjusted to select a diverse subset of images that include a diversity of tagged objects across the one or more of the plurality
of images; and

sending for display to the viewing user an album, the album comprising the selected subset of the plurality of images.

US Pat. No. 9,369,983

STATISTICS FOR CONTINUOUS LOCATION TRACKING

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more computing devices, receiving, from each of a plurality of mobile computing devices associated with a plurality
of users, a plurality of data sets that each comprise data identifying:

the user that the data set corresponds to;
one or more locations where the user was or is at;
an acceleration or speed associated with the user, and
for each of the locations, a corresponding time when the user was or is at the location;
by one or more computing devices, for a first user from the plurality of users, identifying one or more second users of the
plurality of users, wherein:

each of the second users have a social-networking connection with the first user; and
a data set corresponding to each of the second users and a data set corresponding to the first user share:
one or more previous common locations; and
for each of the previous common locations, a common time when both the second user and the first user were at the common location;
by one or more computing devices, generating one or more statistics based at least in part on the data sets corresponding
to the second users, wherein the statistics represent behavioral patterns of the second users, and one or more of the behavioral
patterns comprises an inferred activity of the second users based at least in part on the accelerations or the speeds;

by one or more computing devices, generating a recommendation for a current time for the first user based at least in part
on one or more of the statistics, wherein:

the recommendation comprises one or more activities at a particular location where at least one of the second users is located
at the current time;

the recommendation corresponds to the inferred activity of the second users; and
the first user is not associated with the one or more activities at the particular location; and
by one or more computing devices, sending the recommendation to the first user.

US Pat. No. 9,471,692

SEARCH QUERY INTERACTIONS ON ONLINE SOCIAL NETWORKS

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving, from a client system of a first user of an online social network, a structured query comprising references to one
or more selected objects associated with the online social network;

generating a query command based on the structured query, wherein the query command comprises an inner query constraint and
an outer query constraint;

identifying a first set of objects matching the inner query constraint and at least in part matching the outer query constraint;
identifying a second set of objects matching the outer query constraint; and
generating one or more search results based on the first and second sets of objects, wherein each search result corresponds
to an object of the plurality of objects.

US Pat. No. 9,177,072

SOCIAL CACHE

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving, in a networking platform system, a data item generated by a posting user of the networking platform system;
determining, by the networking platform system, a popularity score associated with the posting user, wherein determining the
popularity score includes:

computing a friend interest value and a mutual-friend interest value, the friend interest value computed as an average number
of interest indicators, received from multiple users having a social network connection to the posting user in a social network
of the posting user, for past data items of the posting user, the mutual-friend interest value computed as the average number
of interest indicators received from a subgroup of users connected within corresponding social networks of one another in
addition to being connected within the social network of the posting user;

determining an interest probability based on the friend interest value and the mutual-friend interest value; and
computing the popularity score based on the interest probability;
determining, by the networking platform system, a queue location for the data item based on the popularity score, the queue
location being a location in a cache queue of the networking platform system; and

inserting the data item into the cache queue at the determined queue location.

US Pat. No. 9,165,069

RANKING VIDEOS FOR A USER

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more computing devices, determining a plurality of videos a user may watch;
by one or more computing devices, for each of the videos:
determining a coefficient value for each of a plurality of coefficient factors comprising:
a number of others users currently watching the video that are connected to the user within a social-networking system;
a number of users, regardless of connection to the user within the social-networking system, that are currently watching the
video;

an immediacy of the video; and
a current value to an entity of the user watching the video; and
calculating a video coefficient based on the coefficient values of each of the plurality of coefficient factors;
by one or more computing devices, ranking the videos based on their video coefficients; and
by one or more computing devices, providing the ranking of the videos for presentation to the user.

US Pat. No. 9,407,592

ENABLING MAPPING IDENTIFICATION OF ONLINE IDENTITIES BETWEEN DIFFERENT MESSAGING SERVICES

FACEBOOK, INC., Menlo Pa...

1. A method computer-implemented method for identifying identities in a message service, the method comprising:
identifying, using at least one processor, a first messaging service list for a first messaging service, the first messaging
service list being associated with a user and including user identities for other users of the first messaging service;

identifying a mapping of user identities associated with the first messaging service to user identities associated with a
second messaging service, the second messaging service being different from the first messaging service;

determining user identities for the second messaging service that correspond to entries in the first messaging service list
based, at least in part, on the mapping;

registering a user of the first messaging service with the second messaging service; and
populating a second messaging service list for the user with at least one of the identified user identities for the second
messaging service that mapped to an entry in the first messaging service list.

US Pat. No. 9,391,934

CAPTURING AND SENDING MULTIMEDIA AS ELECTRONIC MESSAGES

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing, to a touch screen display of a computing device, a messaging graphical user interface comprising a communication
thread comprising a plurality of electronic messages exchanged between a user and one or more co-users;

detecting, by at least one processor of the computing device, a selection of a camera viewfinder input control;
providing a camera viewfinder that provides a live data stream from a camera of the computing device in the messaging graphical
user interface in response to the detection of the selection of the camera viewfinder input control;

detecting, by the at least one processor of the computing device, a first type of user interaction with the camera viewfinder;
and

in response to the detected first type of user interaction, capturing, by the camera of the computing device, a multimedia
content item and sending, by the computing device, the captured multimedia content item as an electronic message.

US Pat. No. 9,363,223

OPTIMIZING MESSAGES TO USERS OF A SOCIAL NETWORK USING A MESSAGE THAT INCLUDES A USER'S PERFORMANCE OF A DESIRED ACTIVITY ASSOCIATED WITH A LINK INCLUDED IN THE MESSAGE

Facebook, Inc., Menlo Pa...

1. A method comprising:
logging one or more user activities associated with a user of an online system, the user activities including the user's responses
to one or more messages sent to the user, time that the user is active on the online system, and a type of activity performed
by the user on the online system;

generating at least one message to send to the user when the logged activities indicate that the user's last engagement with
the online system occurred more than a predetermined time interval ago, the at least one message including a link associated
with a desired activity;

applying attributes of the one or more messages sent to the user and the logged activities to a message response prediction
model for the user, the message response prediction model determining a prediction of whether the user's response to receiving
the at least one message will include the user's performance of the desired activity associated with the link included in
the at least one message; and

determining whether to send the generated message based on the prediction, the message being sent when the prediction indicates
more than a threshold likelihood of the user's response including the user's performance of the desired activity.

US Pat. No. 9,264,466

DISPLAYING NEWS TICKER CONTENT IN A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
monitoring actions associated with users connected to a target user in a social networking system;
responsive to identifying a first action associated with a first user connected to the target user, updating a news ticker
interface in real time to display the first action and the associated first user as a story within the news ticker interface,
the news ticker interface displaying a plurality of stories; and

responsive to receiving a selection of a displayed story from a user within the news ticker interface:
displaying a story interface containing additional information related to the context of the selected story;
identifying a second action of a second user connected to the first user associated with the selected story; and
displaying information related to the second action in the story interface.

US Pat. No. 9,298,295

GESTURES FOR AUTO-CORRECT

Facebook, Inc., Menlo Pa...

1. A method comprising:
in response to a user entering a string of one or more characters on a computing device, displaying the string on a display
of the computing device and determining a plurality of auto-suggestion for the string;

displaying all or a portion of exactly one of the auto-suggestion on the display with the string, wherein the displayed auto-suggestion
is located substantially adjacent to the string and wherein no other auto-suggestion of the plurality of auto-suggestions
is displayed simultaneously;

in response to a swipe touch gesture on the display detected over a region defined by the displayed auto-suggestion, causing
the displayed auto-suggestion to disappear;

determining a second one of the auto-suggestions for the string; and
displaying all or a portion of the second auto-suggestion on the display with the string.

US Pat. No. 9,360,996

INTELLIGENTLY ENABLED MENU CHOICES BASED ON ONLINE PRESENCE STATE IN ADDRESS BOOK

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
detecting, within a first user interface area of a first communication system, a selection of a contact within the first communication
system by a user of the first communication system;

determining, by at least one processor, whether the contact is on a list of contacts of the user with a second communication
system stored on a server by:

identifying a screen name from an e-mail address corresponding to the contact in the first communication system; and
utilizing the screen name from the e-mail address corresponding to the contact in the first communication system to identify
a screen name corresponding to the contact in the second communication system;

enabling one or more menu options based upon whether the contact is on the list of contacts of the user with the second communication
system, wherein the enabled one or more menu options when the contact is on the list of contacts of the user with the second
communication system are different from the enabled one or more menu options when the contact is not on the list of contacts
of the user with the second communication system; and

presenting to the user, within a second user interface area, the enabled one or more menu options that are based upon whether
the contact is on the list of contacts of the user with the second communication system.

US Pat. No. 9,299,230

MODULAR EXOSKELETAL FORCE FEEDBACK CONTROLLER

Facebook, Inc., Menlo Pa...

1. A force feedback controller comprising:
a wrist module, said wrist module including a first limb attachment configured to couple said force feedback controller to
the user's arm; and

a grip module coupled to said wrist module, said grip module being moveable in a first and second direction relative to said
wrist module, said first direction being substantially perpendicular to said second direction, said grip module including:

a linear slide mechanism having a grip attachment, said grip attachment constrained to linear motion in a third direction
substantially perpendicular to at least one of said first and second directions, and wherein said grip attachment is configured
to couple a grip to said grip module.

US Pat. No. 9,258,604

COMMERCIAL DETECTION BASED ON AUDIO FINGERPRINTING

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
receiving an audio signal including a plurality of frames, each frame representing a portion of the audio signal, the audio
signal associated with a media stream on a broadcast channel;

generating a probe audio fingerprint based on one or more of the plurality of frames;
comparing the probe audio fingerprint with one or more reference audio fingerprints from a plurality of reference audio fingerprints,
a reference audio fingerprint of the plurality of reference audio fingerprints representing a set of acoustic features of
an audio signal associated with commercial content;

determining whether the probe audio fingerprint matches a reference audio fingerprint of the plurality of reference audio
fingerprints based on comparison of the probe audio fingerprint and the reference audio fingerprint; and

responsive to a match between the probe audio fingerprint and the reference audio fingerprint of the plurality of reference
audio fingerprints:

determining whether an audio fingerprint associated with a media stream broadcast over a channel of a plurality of other broadcast
channels matches the reference audio fingerprint: and

determining that the media stream associated with the probe audio fingerprint has commercial content in response to the number
of matches between the audio fingerprints associated with the plurality of other broadcast channels and the reference audio
fingerprint exceeding a predetermined threshold.

US Pat. No. 9,363,147

INDICATING STATUS USING A STANDALONE ICON

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing a graphical object independent of an interface of a communications program that represents a component of the communications
program, the component comprising one or more of: a contact of a user of the communications program, one or more files of
the user for transferring to one or more contacts of the user, or one or more files of contacts of the user for transferring
to the user, wherein:

the communications program facilitates exchanges of communications between users across a network, and
the graphical object allows the user to perform an action otherwise available through the interface of communications program
regardless of whether the interface of the communications program is running when an operation corresponding to the action
is performed;

determining, by at least one processor, a status of the component of the communications program; and
updating, regardless of whether the interface of the communications program is running, a visual representation of the graphical
object to convey the status of the component of the communications program.

US Pat. No. 9,298,827

MEDIA RECORDER

Facebook, Inc., Menlo Pa...

1. A system comprising:
an API server configured to receive requests to record media retrieved from websites, the requests being received from remote
clients of the API server;

a plurality of recorders each configured to record a received request to record media retrieved from websites that includes
a specified type of media using a virtualized browser environment disposed on the respective recorder; and

a recording queue manager configured to:
determine whether a first recorder of the plurality of recorders is available to process the received request to record media
retrieved from websites,

responsive to a determination that the first recorder is unavailable to process the received request to record media retrieved
from websites, determine a request type of the received request, the request type of the received request associated with
a type of content associated with the request, and

assign requests to record media retrieved from websites to a second recorder, the second recorder configured to process requests
to record media retrieved from websites having a type that matches the determined type of the received request.

US Pat. No. 9,280,511

SHARING DIGITAL ITEMS

FACEBOOK, INC., Menlo Pa...

1. A method, comprising:
receiving, from a user, a plurality of digital items to share with co-users;
accessing, from one or more computer-readable storage devices, a first list of one or more co-users selected by the user,
the first list identifying a first set of co-users granted permission, by the user, to view the plurality of digital items
received from the user;

receiving an annotation of a digital item of the plurality of digital items from a first co-user on the first list;
adding the annotation of the digital item to a comment list associated with the digital item, the comment list comprising
annotations of the digital item;

accessing a second list of one or more co-users designated by the first co-user, the second list comprising at least one co-user
not on the first list;

identifying an access control permission associated with the digital item set by the user;
if the access control permission is activated, providing the user, the first set of co-users on the first list, and the at
least one co-user on the second list not on the first list, access to the digital item and the comment list associated with
the digital item; and

if the access control permission is not activated, providing the user and the first set of co-users on the first list access
to the digital item and the comment list associated with the digital item while preventing the at least one co-user on the
second list not on the first list access to the digital item and the comment list associated with the digital item.

US Pat. No. 9,286,378

SYSTEM AND METHODS FOR URL ENTITY EXTRACTION

Facebook, Inc., Menlo Pa...

1. A distributed computer system implemented method comprising:
extracting, by a computer system, identifiers from URLs, each of the identifiers identifying an entity associated with a URL
from among the URLs;

classifying the extracted identifiers of the URLs as parent identifiers and child identifiers;
designating, by the computer system, a sequence of identifiers as attributable for a URL from among the URLs by:
(1) determining whether any of one or more child identifiers of a parent identifier of the URLs account for more than a threshold
percentage of traffic flowing from the computer system to an entity associated with the parent identifier,

(2) responsive to a negative determination, designating a sequence of identifiers including the parent identifier as attributable,
and

(3) responsive to a positive determination, designating a sequence of identifiers including the one or more child identifiers
as attributable; and

attributing responsibility for each of the URLs to the entity associated with one of the designated attributable sequences
of the URL.

US Pat. No. 9,313,046

PRESENTING DYNAMIC LOCATION OF A USER

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing a display of a group of co-users of a communications system, the co-users being associated with a user of the communications
system;

detecting, by at least one processor, a user selection of a co-user from the group of co-users; and
in response to detecting the user selection of the co-user, providing a display of recent online locations and associated
geographic locations of a mobile device of the selected co-user used to access the recent online locations.

US Pat. No. 9,298,835

SOCIAL STATIC RANKING FOR SEARCH

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more computing devices:
receiving, from a client device of a first user, a query from the first user;
searching a social graph to identify one or more nodes of the social graph that are relevant to the query;
obtaining a static rank for each identified node, wherein the static rank is based at least in part on a number of edges of
a particular edge type that are connected to the node in the graph or attributes of edges connected to the node in the graph
and based at least in part on a value for each node assigned to one of a plurality of search indices, wherein the value is
calculated based at least in part on one or more factors, wherein the factors comprise a number of edges of a particular edge
type that are connected to the node in the graph or attributes of edges connected to the node in the graph, and wherein the
value comprises a combination of sub-values, each sub-value being calculated for one of a plurality of edge types connected
to the node; and

sending to the client device of the first user for display, a search-results page responsive to the received query, the search-results
page comprising reference to one or more nodes having a static rank greater than a threshold rank.

US Pat. No. 9,280,534

GENERATING A SOCIAL GLOSSARY

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more computer servers associated with a social-networking system, determining that a textual term is not associated
with a known meaning, wherein the textual term is related to one or more users of the social-networking system, the user being
associated with a user node in a social graph of the social-networking system, the social graph comprising:

a plurality of nodes, the plurality of nodes comprising user nodes and concept nodes, wherein each user node corresponds to
a user of the social-networking system; and

a plurality of edges, wherein one or more edges connect two nodes, the one or more edges representing a relationship between
the two nodes;

by the one or more computer servers, determining that the textual term should be added to a social glossary;
by the one or more computer servers, adding the textual term to the social glossary;
by the one or more computer servers, adding to the social graph a new element representing the textual term, wherein the new
element comprises:

a new concept node, wherein the textual term is a noun,
a new edge, wherein the textual term is a verb, or
a new attribute for the user node, wherein the textual term is an adjective; and
by the one or more computer servers, providing information related to one or more textual terms in the social glossary.

US Pat. No. 9,276,960

POLICY PARTIAL RESULTS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving a policy comprising at least two rules with an order indicated among the at least two rules;
receiving reduction parameters that specify a minimum amount of savings that a reduced rule policy should achieve, wherein
the reduction parameters comprise one or more of:

an indication of a cost savings, as a value, that the reduced rule policy should achieve,
an indication of a cost savings, as a percentage of a calculated initial cost of the policy, that the reduced rule policy
should achieve,

an indication of a cost savings amount that should be achieved by removing a selected rule, as a function of an amount of
increased likelihood of false allow or false deny resulting from removing the selected rule, that qualifies the selected rule
for removal, or

any combination thereof;
selecting, as a candidate rule set, one or more rules of the at least two rules, wherein the candidate rule set is removable
from the policy;

determining a cascade rule set, wherein each rule of the cascade rule set is rendered duplicative by removal of:
the at least one rule of the candidate rule set, and/or
at least one rule of the cascade rule set,
wherein a combination of the candidate rule set and the cascade rule set are removable from the policy;
combining, into a result set, the candidate rule set and the cascade rule set; and
providing an indication of the rules in the result set,
wherein a subsequent evaluation of the policy uses a reduced rule version of the policy that excludes the indicated rules
of the result set.

US Pat. No. 9,369,891

SENSING PROXIMITY UTILIZING A WIRELESS RADIO SUBSYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
by an RF transceiver of a wireless communications device associated with a first user of an online social-networking system,
transmitting an RF reference signal to each antenna of a plurality of antennas coupled to the transceiver, wherein:

a social graph associated with the social-networking system comprises a plurality of nodes and a plurality of edges connecting
the nodes, each of the nodes representing a user or a concept, and each edge between two nodes representing a single degree
of separation between the two nodes; and

the first user is represented by a first user node in the social graph;
by a processor of the wireless communications device, determining, for each antenna of the plurality of antennas, at least
one characteristic of the RF reference signal reflected back from the antenna;

by the processor of the wireless communications device, characterizing, based on the at least one determined characteristic,
at least one aspect of an environment around the device to determine that an object is approaching the device; and

by the processor of the wireless communications device, retrieving from the online social-networking system, based on determining
that the object is approaching the device, information associated with the first user.

US Pat. No. 9,262,044

METHODS, SYSTEMS, AND USER INTERFACES FOR PROMPTING SOCIAL VIDEO CONTENT INTERACTION

FACEBOOK, INC., Menlo Pa...

1. A method, comprising:
responsive to a performance of a video asset reaching a first interaction point where a representation of a person, place,
or thing (PPT) is included in an audio track of the video asset or depicted in a video track of the asset, causing a first
interaction user interface (UI) prompt to be presented to a first user of a social networking system using a display, the
first interaction UI prompt comprising a first interaction UI element allowing the first user to provide a first input that
is related to the PPT;

receiving the first input that is related to the PPT based on the first user utilizing the first interaction UI element of
the first interaction UI prompt;

responsive to a second performance of the video asset reaching the first interaction point, causing a second interaction UI
prompt to be presented to a second user of the social networking system using a second display of a second user device, the
second interaction UI prompt comprising a second interaction UI element allowing the second user to provide a second input
that is related to the PPT;

receiving the second input that is related to the PPT based on the second user utilizing the second interaction UI element
of the second interaction UI prompt; and

causing a post to be presented to one or more other users of the social networking system in response to the first and second
inputs, wherein the post references both of the first and second users and the PPT based upon an aggregation of the first
and second inputs.

US Pat. No. 9,307,051

SELECTING CONFIGURATIONS FOR PRESENTATION OF STORY UNITS TO SOCIAL NETWORKING SYSTEM USERS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
using a computer hardware processor to perform steps comprising:
presenting one or more story units having a particular type to a plurality of users of a social networking system in an initial
configuration, wherein a story unit includes one or more stories describing actions performed by a user of the social networking
system and having a common characteristic, wherein the actions described by the one or more stories in a story unit are defined
by an external system connected to the social networking system;

presenting one or more story units having the particular type to an additional plurality of users of the social networking
system in an alternative configuration, the alternative configuration being different from the initial configuration;

capturing different types of interactions by more than one distinct user of the plurality of users of the social networking
system with the one or more story units presented in the initial configuration;

capturing different types of interactions by the additional plurality of users of the social networking system with the one
or more story units presented in the alternative configuration;

associating weights with different types of interactions performed by the plurality of users of the social networking system
with the one or more story units presented in the initial configuration;

generating an interaction score for the initial configuration based on a number for each of the different types of interactions
performed by the plurality of users and the associated weights;

associating weights with different types of interactions performed by the additional plurality of users of the social networking
system with the one or more story units presented in the alternative configuration;

generating an interaction score for the alternative configuration based on a number for each of the different types of interactions
performed by the additional plurality of users and the associated weights;

selecting a default configuration based at least in part on the interaction score for the initial configuration and the interaction
score for the alternative configuration; and

presenting a story unit having the particular type to a viewing user in the selected default configuration.

US Pat. No. 9,183,573

ÜBERFEED

Facebook, Inc., Menlo Pa...

1. A method comprising:
collecting, by one or more computing devices, a plurality of information items of a plurality of types relevant to a user,
wherein:

the information items are collected from at least one social-networking system and at least one third-party system; and
the user is a member of the at least one social-networking system;
determining, by one or more computing devices, a relevance value for each of the information items, wherein the relevance
value is based at least in part on:

how close a time associated with the information item is to a current time; and
how close a node representing the information item is to a node representing the user in a graph associated with the social-networking
system, the graph representing information contained in the social-networking system;

classifying, by one or more computing devices, one or more of the information items as being non-deterministic based at least
in part on each of the non-deterministic information items having a relevance value that decreases with time;

classifying, by one or more computing devices, one or more other ones of the information items as being deterministic based
at least in part on each of the deterministic information items having a relevance value that remains substantially constant
over time;

sending, by one or more computing devices, one or more push notifications to one or more client devices associated with the
user, the push notifications comprising one or more of the non-deterministic information items sent in an order of their respective
relevance values; and

storing, by one or more computing devices, the deterministic information items for later retrieval by the user.

US Pat. No. 9,367,628

OBJECT RECOMMENDATION BASED UPON SIMILARITY DISTANCES

FACEBOOK, INC., Menlo Pa...

1. A computer-implemented method comprising:
receiving a candidate object with which a user can interact within a network service;
determining, for each of a first plurality of objects with which the user has had a positive interaction, a first value representing
a commonality between the candidate object and each of the first plurality of objects;

determining, for each of a second plurality of objects with which a user has had a negative interaction, a second value representing
a commonality between the candidate object and each of the second plurality of objects;

determining an aggregate positive distance using a plurality of the first values, wherein the aggregate positive distance
is determined by dividing a sum or average of the plurality of the first values by a first outlier value, the first outlier
value corresponding to an object with which the user has had a positive interaction and having less in common with the candidate
object than each of the first plurality of objects;

determining an aggregate negative distance using a plurality of the second values, wherein the aggregate negative distance
is determined by dividing a sum or average of the plurality of the second values by a second outlier value, the second outlier
value corresponding to an object with which the user has had a negative interaction and having less in common with the candidate
object than each of the second plurality of objects; and

recommending the candidate object to the user in response to determining from a difference between the aggregate positive
distance and the aggregate negative distance that the candidate object is more in common with objects with which a user has
had a positive interaction than objects with which a user has had a negative interaction.

US Pat. No. 9,807,901

MULTIPLE GRAPHICS PROCESSING UNIT PLATFORM

Facebook, Inc., Menlo Pa...

1. A multiple graphics processing unit (multi-GPU) platform, comprising:
a cubby chassis including one or more partitions defining a plurality of sled positions;
at least one multi-GPU sled located in a corresponding one of the plurality of sled positions, the multi-GPU sled comprising:
a sled chassis having a sidewall and a bottom wall, wherein the sled chassis has an open top and an open side opposite the
sidewall;

a vertically oriented side-plane printed circuit board (PCB) mounted to the sidewall;
a plurality of dividers attached to the bottom wall and oriented substantially perpendicular to the side-plane PCB;
one or more GPU cards connected to the side-plane PCB and supported by a pair of the plurality of dividers, the one or more
GPU cards comprising:

a GPU PCB having a first side facing the bottom wall and an outward facing second side; and
one or more GPU components coupled to the second side of the GPU PCB; and
a cover coupled to the horizontal bottom wall and configured to enclose the open side of the sled chassis.

US Pat. No. 9,264,463

METHOD AND SYSTEM OF MANAGING EPHEMERAL POST IN A SOCIAL NETWORKING SYSTEM

FACEBOOK, INC., Menlo Pa...

1. A computer-implemented method comprising:
receiving, from a first user of a social network, a request to post an ephemeral post;
posting the ephemeral post to the social network on behalf of the first user;
monitoring for an occurrence of a first threshold event;
allowing the ephemeral post to be accessible to a plurality of viewers other than the first user when the first threshold
event has not occurred, wherein the ephemeral post includes an indication of its ephemeral nature to the plurality of viewers;
and

blocking the ephemeral post from being accessible by the plurality of viewers other than the first user when the first threshold
event has occurred, wherein the first threshold event is a plurality of user interactions with the ephemeral post since the
posting.

US Pat. No. 9,405,722

METHOD AND APPARATUS FOR FORM FILLING

FACEBOOK, INC., Menlo Pa...

1. A method, comprising:
detecting, by a first application, that a second application has loaded a form, wherein the form comprises one or more fields;
accessing, by the first application, user data for a first user stored by the first application, the user data comprising
one or more data values;

based on tracked information indicating values entered by a set of one or more other users into the one or more fields of
the form, identifying, by at least one processor, a correspondence between the one or more fields of the form loaded by the
second application and the one or more data values of the user data for the first user stored by the first application, wherein
the set of one or more other users does not include the first user; and

completing the identified one or more fields of the form loaded by the second application with the corresponding one or more
data values of the user data for the first user stored by the first application and identified based on the tracked information
indicating values entered by the one or more other users into the one or more fields of the form.

US Pat. No. 9,367,568

AGGREGATING TAGS IN IMAGES

Facebook, Inc., Menlo Pa...

1. A method comprising, by a client system of a first user associated with an online social network:
receiving, at the client system from a social-networking system of the online social network, an image associated with the
online social network, wherein the image comprises a plurality of tags corresponding to a plurality of users associated with
the online social network, respectively, and wherein each tag is associated with a particular location within the image;

generating, by the client system, an aggregated tag for two or more of the plurality of tags based on a distance of the locations
of the tags to each other, wherein tags associated with locations within a threshold distance of each other are aggregated
with the aggregated tag;

accessing, from the social-networking system, a social-graph affinity for each user associated with the aggregated tag;
rendering, by the client system, the image with a tag-label for the aggregated tag, wherein the tag-label comprises a name
of the user having the strongest social-graph affinity with respect to the first user and a counter indicating a number of
users corresponding to the aggregated tag; and

providing, to a display of the client system, the rendered image for presentation to the first user.

US Pat. No. 9,274,766

TREATMENT OF LAYER TREE AS VIDEO

Facebook, Inc., Menlo Pa...

1. A method comprising:
by a computing device, rendering, as a first frame of a video in a video compression format, a graphical user interface (GUI)
of a software application on the computing device based on a multi-layered-tree representation of the GUI;

by the computing device, modifying the multi-layered-tree representation of the GUI in response to an input or output event
associated with one or more content items of the GUI, wherein the modifying comprises modifying a transformation of a structural
layer of the multi-layered-tree representation, wherein the structural layer contains a content layer that represents the
content items;

calculating a placement of each of the content items in the content layer by traversing a multi-layer tree from the root layer
to the content layer and by multiplying a transformation of the content layer by the modified transformation of the structural
layer; and

by the computing device, rendering, as a second frame of the video in the video compression format, the GUI based on the multi-layered-tree
representation of the GUI as modified.

US Pat. No. 9,361,278

OVERLAYING PHOTOGRAPHS WITH TEXT ON A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving information about a story in a social networking system, the story comprising a plurality of images and text associated
with the plurality of images, wherein the plurality of images are part of a photographic album;

determining a plurality of configurations, wherein each configuration of the plurality of configurations comprises the plurality
of images arranged in a different order;

combining the text with each configuration of the plurality of configurations and computing a respective readability score
for that combination, the readability score indicating a measure of a likelihood of a user of the social networking system
is able to read the text when overlaid onto the respective configuration and the readability score is based at least in part
on one or more attributes of the plurality of images, one or more attributes of the text, or any combination thereof;

comparing the readability scores with a threshold value;
selecting the configuration having the highest readability score;
generating the story including the text and the selected configuration based on the comparison, wherein if the readability
score for the selected configuration of the plurality of images equals or exceeds the threshold value, the text is overlaid
onto an area of the selected configuration, and if the readability score for the selected configuration is less than the threshold
value, the text is positioned adjacent to the selected configuration of the plurality of images; and

sending the story for display to a client device associated with the user.

US Pat. No. 9,177,346

FACILITATING INTERACTION AMONG USERS OF A SOCIAL NETWORK

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more computing systems, receiving an indication of a first user action by a first user;
by one or more computing systems, when the indication is received:
analyzing content of the first user action;
determining a topic of the first user action based at least in part on the analysis;
determining whether the topic is trending;
determining whether the first user has indicated a preference to exclude posts associated with the topic or a category associated
with the topic; and

in response to a determining that the topic is trending and there is no indication of the preference, then:
notifying the first user that the topic is trending;
identifying a second user action by a second user that relates to the topic;
determining whether the first user has indicated a preference to exclude posts associated with the second user; and
in response to a determining that there is no indication of the preference, sending to the first user information associated
with the second user action with a graphical user interface (GUI) element configured to enable the first user to interact
with the second user action.

US Pat. No. 9,723,759

COOLING SERVERS IN A DATA CENTER USING FANS EXTERNAL TO SERVERS

Facebook, Inc., Menlo Pa...

1. A data center system comprising:
a partition arranged between a cold aisle on a first side of the partition and a hot aisle on a second side of the partition;
a plurality of servers arranged in the partition so that each server has an input opening positioned on the first side of
the partition in communication with the cold aisle and an output opening on the second side of the partition in communication
with the hot aisle, wherein the partition is arranged so that an airflow path of least resistance from the cold aisle to the
hot aisle is through the servers, wherein one or more of the plurality of servers further includes a fan internal to the server
and an internal fan control system, the internal fan configured to remain off until the internal fan control system identifies
an air pressure difference between the input opening and the output opening exceeding a threshold difference;

an air supply unit, located external to the plurality of servers, configured to pressurize the cold aisle relative to the
hot aisle, so that air flows from the cold aisle to the hot aisle through the servers.

US Pat. No. 9,177,347

GROUP RECOMMENDATIONS BASED ON ANSWERED QUESTIONS IN A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
identifying a target user of a social networking system;
accessing a user profile in the social networking system including information about the target user;
presenting one or more questions retrieved from the social networking system to the target user, the one or more questions
for identifying subject matter associated with the target user, the subject matter comprising at least one of an interest
of the target user, an association of the target user, a characteristic of the target user, or an affiliation of the target
user;

receiving at least one answer to a question from the target user;
determining subject matter associated with the received at least one answer;
identifying one or more groups maintained by the social networking system associated with the determined subject matter, the
identified one or more groups each comprising a plurality of group members each associated with the determined subject matter;
and

presenting the identified one or more groups to the target user.

US Pat. No. 10,067,561

DISPLAY VISIBILITY BASED ON EYE CONVERGENCE

Facebook, Inc., Menlo Pa...

1. A method comprising:determining cornea center locations and pupil center locations for two eyes of a user using image data of the two eyes;
determining an optical axis for each of the two eyes of the user based on the cornea center locations and the pupil center locations;
determining a first three-dimensional (3D) point of regard of the user based on the optical axes for the two eyes of the user at a first time;
displaying a virtual object on a display of an augmented reality headset;
responsive to a determination that the first 3D point of regard of the user matches a position associated with the virtual object, the position having a different depth than a depth associated with the display of the augmented reality headset, adjusting a transparency of the display in a manner that increases visibility of the virtual object by increasing an opacity of the display at a rate of increase;
determining a second 3D point of regard of the user based on the optical axes for the two eyes of the user at a second time after the first time; and
responsive to a determination that the second 3D point of regard of the user does not match the position associated with the virtual object, adjusting a transparency of the display in a manner that decreases visibility of the virtual object by decreasing the opacity of the display at a rate of decrease, the rate of decrease being faster than the rate of increase.

US Pat. No. 9,292,884

NETWORK-AWARE PRODUCT ROLLOUT IN ONLINE SOCIAL NETWORKS

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more processors associated with one or more computing devices:
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges
between two of the nodes representing a single degree of separation between them, the plurality of nodes corresponding to
a plurality of users associated with an online social network, respectively;

identifying a plurality of non-overlapping clusters in the social graph using graph clustering, each cluster comprising a
discrete set of nodes from the plurality of nodes;

providing a treatment to at least a first set of users and a second set of users, the first and second sets of users corresponding
to a first set of clusters and a second set of clusters of the plurality of clusters, respectively, the first set of clusters
being discrete from the second set of clusters; and

determining, for each of at least the first and second sets of users, a treatment effect of the treatment on the users of
the set of users based on a network exposure to the treatment for each user, wherein, for each respective cluster, the network
exposure of the nodes in the cluster is absolute k-neighborhood exposure, absolute k-core exposure, fractional q-neighborhood
exposure, or fractional q-core exposure.

US Pat. No. 9,275,101

SEARCH QUERIES WITH PREVIEWS OF SEARCH RESULTS ON ONLINE SOCIAL NETWORKS

Facebook, Inc., Menlo Pa...

1. A method comprising, by a computing device:
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges
between two of the nodes representing a single degree of separation between them, the nodes comprising:

a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
generating a plurality of structured queries that each comprise references to one or more nodes of the plurality of nodes
and one or more edges of the plurality of edges;

generating one or more search results corresponding to at least one of the structure queries; and
sending one or more of the structured queries for display on a page currently accessed by the first user, at least one of
the structured queries being displayed with a preview of one or more of the search results corresponding to the structured
query.

US Pat. No. 9,131,019

PROMPTING SOCIAL NETWORKING SYSTEM USERS TO PROVIDE ADDITIONAL USER PROFILE INFORMATION

Facebook, Inc., Menlo Pa...

1. A method comprising:
presenting a plurality of questions requesting information items associated with data describing characteristics of a user
of a social networking system;

logging, in a database, a plurality of responses from the user to the plurality of questions;
maintaining a profile for the user, the profile including one or more information items associated with data describing characteristics
of the user and a set of unknown information items not associated with data;

obtaining a plurality of questions associated with one or more information items from the set of unknown information items;
determining, for each of the plurality of questions associated with the one or more information items from the set of unknown
information items, a response probability based at least in part on one or a combination of questions previously presented
to the user and the logged plurality of responses from the user, the response probability indicating a likelihood of receiving
a response to a question when presented;

determining a data acquisition value for each of a plurality of the unknown information items in the set of unknown information
items, the data acquisition value of an unknown information item based at least in part on a value to the social networking
system of associating data with the unknown information item and the determined response probability;

selecting an unknown information item from the set of unknown information items based at least in part on the data acquisition
values; and

selecting a question associated with the selected unknown information item for presentation to the user based at least in
part on the response probabilities of one or more questions associated with the selected unknown information item.

US Pat. No. 10,568,242

DYNAMIC ADJUSTMENT OF PLACEMENT PARAMETERS FOR LIGHT EMITTING DIODES

Facebook Technologies, LL...

1. A method, comprising:(a) placing one or more light emitting diodes (LEDs) onto conductive protrusions on a substrate;
(b) applying a voltage difference across the conductive protrusions;
(c) determining emitting states of the LEDs indicating emission of light from the LEDs responsive to placing the LEDs on the substrate and applying the voltage difference; and
(d) responsive to the determined emitting states of the LEDs failing one or more criteria, adjusting placement of the LEDs on the substrate.

US Pat. No. 9,286,575

ADAPTIVE RANKING OF NEWS FEED IN SOCIAL NETWORKING SYSTEMS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
determining, by a computer, a plurality of demographic groups of users of a social networking system, the determining comprising,
for each demographic group of users, selecting as plurality of users based on demographic characteristics of the users;

for each demographic group of users, generating a model configured to rank news feed stories for presentation to users from
the demographic group, the model configured to receive as input, one or more user attributes describing a viewing user and
ranking newsfeed stories for the viewing user based on the one or more user attributes, the generating of the model comprising:

selecting a set of features for the demographic group based on the characteristics of the users of the demographic group;
training the model the training utilizing training sets obtained from the demographic group of users, the model comprising
the selected set of features;

identifying stories for presentation to a user belonging to a demographic group;
providing one or more attributes describing the user as input to the model; and
ranking the stories identified for presentation to the user using the model and sending the stories for presentation to the
user based on the ranking.

US Pat. No. 9,264,392

DYNAMIC TAGGING RECOMMENDATION

Facebook, Inc., Menlo Pa...

1. A method, by one or more computing devices, comprising:
receiving, at a computing device, a message including a multimedia file, the message sent by a computing device of a first
user;

determining a location of the first user;
accessing a data store to retrieve a set of social contacts associated with the first user;
accessing spatio-temporal information for one or more social contacts identified in the set of social contacts;
prior to conducting a face matching procedure based on the multimedia file, ranking the set of social contacts based on spatio-temporal
proximity to the location of the first user; and

sending identifiers corresponding to the one or more top ranked social contacts in the set of social contacts to the computing
device of the first user.

US Pat. No. 10,033,685

SOCIAL NETWORK SITE RECOMMENDER SYSTEM AND METHOD

Facebook, Inc., Menlo Pa...

1. A method comprising:by one or more computing devices, analyzing one or more pieces of content of a content page to identify one or more topics associated with the content page;
by the one or more computing devices, identifying a set of related content pages, the related content pages including content related to the one or more topics;
by the one or more computing devices, analyzing a set of links in the set of related content pages to identify a set of proposed links; and
by the one or more computing devices, sending one or more of the proposed links for addition to the content page in association with the one or more pieces of content, respectively.

US Pat. No. 9,264,258

PRESENCE AND GEOGRAPHIC LOCATION NOTIFICATION BASED ON A SETTING

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
maintaining settings for disseminating information associated with a user to one or more other users, the maintained settings
including one or more settings that prevent users associated with the one or more settings from receiving notification information
associated with the user;

receiving notification information associated with the user;
detecting delivery of a message from the user to another user of the one or more users;
identifying at least one setting from the one or more settings that prevents the another user from receiving the notification
information;

in response to detecting delivery of the message from the user to the another user of the one or more users, overriding the
at least one setting that prevents the another user from receiving the notification information; and

disseminating the received notification information to the another user in accordance with the override of the at least one
setting that prevents the another user from receiving the notification information.

US Pat. No. 9,264,335

ADAPTIVE PACKAGING OF NETWORK RESOURCES

Facebook, Inc., Menlo Pa...

1. A method comprising:
accessing, by one or more computer servers, a first data store comprising a log of requests transmitted by a plurality of
remote hosts, each request corresponding to one or more resources of a plurality of resources;

analyzing, by the computer servers, the requests and one or more attributes of the resources using a cost function, wherein
a first component of the cost function is directed to a performance improvement achieved by grouping one or more of the resources
for transmission to one or more remote hosts and a second component is directed to a performance inefficiency caused by the
grouping the one or more of the resources;

identifying, by the computer servers, one or more groupings of the resources to be included in a package of resources; and
transmitting the package of resources in a single response to a request corresponding to at least one of the resources in
the package.

US Pat. No. 9,998,969

PORTABLE PLATFORM FOR NETWORKED COMPUTING

Facebook, Inc., Menlo Pa...

1. A portable computing device comprising:a processor;
a plurality of radios; and
a memory coupled to the processor comprising instructions executable by the processor, the processor being operable when executing the instructions to:
pair, by at least one of the radios, the portable computing device with one or more devices associated with a first user of the portable computing device;
monitor, by one or more of the radios, a signal for a connection established with a first communication network, wherein the portable computing device has previously connected to the first communication network, and
wherein the first communication network was selected based at least in part on social-graph information representing a social-networking relationship between the first user of the portable computing device and a second user associated with the first communication network;
determine that the signal for the first communication network has dropped below a threshold level of quality; and
based on the determination, enable an access point mode to provide connectivity using a second communication network for at least one of the paired devices through the portable computing device, wherein in the access point mode, the portable computing device provides network connectivity for the paired devices to the second communication network,
wherein the instructions to enable the access point mode comprise instructions to facilitate a soft handoff for the at least one of the paired devices from one communication network to another communication network.

US Pat. No. 9,918,397

OPEN CHASSIS AND SERVER MODULE INCORPORATING THE SAME

Facebook, Inc., Menlo Pa...

1. A modular chassis configurable for use with a server module, comprising:
an end frame having opposed lower corner portions;
first and second beams spaced apart from each other and each having a proximal end portion connected to a respective lower
corner portion of the end frame, the first and second beams being configured to receive and retain server components;

first and second upper beams, each having a proximal end portion connected to a respective upper corner portion of the end
frame;

a cross-member extending between distal end portions of the first and second beams; and
a plurality of spaced apart stanchions each attached to one of the first and second beams, wherein each of the plurality of
spaced apart stanchions terminates between the first and second beams and the first and second upper beams, and wherein selected
ones of the plurality of stanchions include a keyhole mounting pin configured to mate with a corresponding keyhole slot of
a printed circuit board;

wherein the first and second beams, the cross-member, and the stanchions being interconnected to define an open interior area
configured to provide substantially open access to the server components.

US Pat. No. 10,555,024

GENERATING A FEED OF CONTENT FOR PRESENTATION BY A CLIENT DEVICE TO USERS IDENTIFIED IN VIDEO DATA CAPTURED BY THE CLIENT DEVICE

Facebook, Inc., Menlo Pa...

1. A method comprising:capturing video data of a local area within a field of view of an image capture device included in a client device;
identifying a user of an online system included in the captured video data;
identifying an additional user of the online system included in the captured video data;
transmitting a request for content items for presentation on the client device to the online system from the client device, the request including information identifying the user of the online system and information identifying the additional user from the client device to the online system;
receiving, at the client device, one or more content items from the online system, each content item selected by the online system for presentation to the user;
receiving, at the client device, one or more additional content items from the online system, each content item selected by the online system for presentation to the additional user;
generating, by the client device, a feed of content including one or more of the content items selected by the online system for presentation to the user and one or more of the additional content items selected by the online system for presentation to the additional user based on characteristics of the content items and of the additional content items; and
presenting the feed of content by a display device of the client device.

US Pat. No. 9,385,987

CONTROLLING NOTIFICATION BASED ON POWER EXPENSE AND SOCIAL FACTORS

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more computing devices of a social-networking system:
receiving, from a mobile device of a first user, an indication of a radio-network state of the mobile device of the first
user;

identifying a plurality of messages to be sent to the mobile device of the first user from one or more mobile devices each
associated with second user, each of the plurality of messages having a message size;

determining, for each message of the plurality of messages,
a transmit cost of the message based at least in part on the radio-network state of the mobile device of the first user and
the message size of the message, and

a value of the message;
determining a priority score for each message of the plurality of messages based at least in part on the transmit cost and
the value of each of the messages; and

transmitting at least one message of the plurality of messages to the mobile device of the first user based at least in part
on the priority score associated with the message.

US Pat. No. 10,477,707

APPARATUSES, SYSTEMS, AND METHODS FOR PERFORMING HARDWARE ACCELERATION VIA DUAL-COMPACT-FORM-FACTOR EXPANSION CARDS

Facebook, Inc., Menlo Pa...

1. An expansion card comprising:a printed circuit board;
at least one hardware accelerator, disposed on the printed circuit board, that:
comprises application-specific hardware circuitry designed to perform a computing task; and
offloads at least a portion of the computing task from a central processing unit of a computing device by executing, via the application-specific hardware circuitry, the portion of the computing task; and
an edge connector, disposed on a connecting edge of the printed circuit board, that is dimensioned to be inserted into an expansion socket of the computing device, wherein the edge connector:
couples the hardware accelerator to the central processing unit via a computing bus connected to the expansion socket when inserted into the expansion socket; and
comprises a primary pinout, disposed within a primary portion of the edge connector, and a secondary pinout, disposed within a secondary portion of the edge connector, wherein:
each of the primary pinout and the secondary pinout conform to a compact pinout specification included in a compact expansion card specification; and
the compact pinout specification is more compact than a pinout specification defined for the computing bus.

US Pat. No. 10,140,955

DISPLAY LATENCY CALIBRATION FOR ORGANIC LIGHT EMITTING DIODE (OLED) DISPLAY

Facebook Technologies, LL...

1. A system comprising:an organic light emitting diode (OLED) display having a plurality of illumination elements organized in a two-dimensional array;
one or more photodiodes coupled to at least a portion of the illumination elements, the one or more photodiodes configured to
measure, for each illumination element in at least the portion of the illumination elements, a latency for that illumination element to illuminate image light of each of a plurality of brightness levels, and
measure, for each illumination element in at least the portion of the illumination elements, a time rise to reach each of the plurality of brightness levels;
a controller coupled to the one or more photodiodes, the controller configured to:
obtain, for each illumination element in at least the portion of the illumination elements, information about brightness levels associated with image light emitted from that illumination element for at least two consecutive video frames, and
determine, for each illumination element in at least the portion of the illumination elements, a driving signal based on the measured latency, the measured time rise and the information about brightness levels; and
a driver circuit coupled to the controller, the driver circuit configured to apply the determined driving signal to that illumination element.

US Pat. No. 10,181,200

CIRCULARLY POLARIZED ILLUMINATION AND DETECTION FOR DEPTH SENSING

Facebook Technologies, LL...

1. A depth camera assembly (DCA) comprising:a polarized light generator configured to illuminate a local area with polarized light in accordance with emission instructions, the polarized light generator comprising:
an illumination source configured to emit one or more optical beams,
a modulator configured to modulate the one or more optical beams based in part on the emission instructions to generate modulated light, and
a projection assembly configured to project the modulated light into the local area as the polarized light having a first polarization;
an imaging device configured to:
receive light from the local area, the received light including ambient light and a portion of the polarized light reflected from one or more objects in the local area,
reduce an intensity of the received light having polarization different from a second polarization to generate filtered light substantially composed of light of the second polarization, and
detect the portion of the polarized light reflected from the one or more objects in the local area having the second polarization using the filtered light; and
a controller configured to:
generate the emission instructions,
provide the emission instructions to the polarized light generator, and
determine depth information for the one or more objects based at least in part on the detected portion of the reflected polarized light.

US Pat. No. 10,151,961

SWITCHABLE BRAGG GRATINGS FOR CHROMATIC ERROR CORRECTION OF PANCHARATNAM BERRY PHASE (PBP) COMPONENTS

Facebook Technologies, LL...

1. A Pancharatnam Berry Phase (PBP) color corrected structure comprising:a plurality of switchable gratings that are each configured to have an inactive mode to reflect light of a specific color channel, of a set of color channels, and transmit light of other color channels in the set of color channels, wherein the specific color channel is different for each of the plurality of switchable gratings, and to have an active mode to transmit light that is inclusive of the set of color channels; and
a plurality of PBP active elements that receive light output from at least one of the plurality of switchable gratings, and the plurality of PBP active elements are each configured to adjust light of a different color channel of the set of color channels by a same amount to output light corrected for chromatic aberration for the set of color channels.

US Pat. No. 10,140,695

HEAD-MOUNTED COMPOUND DISPLAY INCLUDING A HIGH RESOLUTION INSET

Facebook Technologies, LL...

1. A head-mounted display (HMD) comprising:a high resolution (HR) inset display that is configured to display an inset region, the inset region comprising a high resolution (HR) inset portion of an image and a transitional portion of the image, the HR inset portion at a first resolution, and the transitional portion is blended such that there is a smooth change in resolution from the first resolution to a second resolution that is lower than the first resolution;
a peripheral display that is configured to display a background region, the background region having a second resolution that is less than the first resolution, the second resolution corresponding to a resolution of a non-fovea region of the human eye;
an eye tracking unit that is configured to detect movement of an eye of a user of the HMD;
an optics block configured to:
combine the inset region and the background region to create composite content, wherein the inset region is inset into the background region, and
direct the composite content to an exit pupil of the HMD corresponding to a location of the eye; and
a controller configured to:
receive, from the eye tracking unit, information related to movement of the eye,
determine, based on the information, a gaze direction of the user representing an axis between a fovea of the eye of the user and a center of a pupil of the eye, and
send steering instructions to a steering element of the optical block to adjust a position of the inset region relative to the background region such that the inset region is centered on the determined gaze direction.

US Pat. No. 9,363,237

SECURE DATA EXCHANGE BETWEEN DATA PROCESSING SYSTEMS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
intercepting, by a proxy server over a network, a data request from a first computing device that is directed to a web server;
modifying the data request to include user profile information;
sending the modified data request to the web server;
sending information to the web server for controlling a manner for how data sent to the web server is cached in the web server;
receiving, by the proxy server, a response from the web server, wherein the response to the proxy server includes information
for controlling a manner for how data received from the web server is cached in the proxy server;

caching the data received from the web server in the proxy server; and
sending at least a portion of the cached data from the proxy server to the first computing device.

US Pat. No. 9,117,249

SELECTIVELY PROVIDING CONTENT ON A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method, comprising:
storing a view state for a user of a social networking system, the view state including a first order of a plurality of news
feed stories previously presented to the user in a user interface;

receiving a request for new news feed stories from the user;
obtaining the requested new news feed stories for the user;
responsive to determining that the plurality of previously presented news feed stories have been consumed by the user, providing
the new news feed stories in a user interface for display to the user;

updating the view state for the user with a second order of a plurality of news feed stories presented to the user in the
user interface, the plurality of presented news feed stories including the new news feed stories and the plurality of news
feed stories previously presented to the user; and

responsive to determining that the plurality of previously presented news feed stories have not been consumed by the user,
providing a link in the user interface to indicate that the new news feed stories have been generated.

US Pat. No. 10,254,507

DEVICES AND METHODS FOR ADJUSTING AN INTERPUPILLARY DISTANCE BASED ON ENCODED LIGHT PATTERNS

FACEBOOK TECHNOLOGIES, LL...

1. A device, comprising:a first light source device configured to transmit a first light in a first direction and a second light in a second direction that is distinct from the first direction; and
a first set of one or more lenses configured for directing the first light and the second light from the first light source device toward a first eye of a user, wherein the first light is spatially offset from the second light and one or more of the first light and the second light provide a cue for adjusting a location of the first set of one or more lenses.

US Pat. No. 9,407,711

SYSTEMS AND METHODS FOR RECEIVING AND PROCESSING DETECTED EVENTS

Facebook, Inc., Menlo Pa...

1. A computer implemented method comprising:
receiving, by a computer system, a bit array from a device, wherein each bit value in the bit array indicates whether a user
interacted with a website by performing an event;

receiving, by the computer system, time information associated with the bit array, the information indicating a start time
at which a first bit value in the bit array was determined, wherein each subsequent bit value in the bit array is determined
at a predetermined time increment after the start time; and

determining, by the computing system, a time interval that identifies an amount of time that the user interacted with the
website based at least in part on the time information and the bit array.

US Pat. No. 9,261,367

HUMAN-LIKE GLOBAL POSITIONING SYSTEM (GPS) DIRECTIONS

Facebook, Inc., Menlo Pa...

1. A method comprising:
by one or more processors of a computing device, receiving a request for a route from a first geolocation to a second geolocation;
by one or more processors of the computing device, calculating the route from the first geolocation to the second geolocation;
by one or more processors of the computing device, accessing a social graph comprising a plurality of nodes and a plurality
of edges connecting the nodes, and each node corresponding to an object associated with a social network, wherein a geolocation
associated with a user corresponds to a particular node of the social graph;

by one or more processors of the computing device, identifying one or more logged paths of the user that coincide with at
least a portion of the route, wherein one or more of the logged paths comprise the geolocation associated with the user;

by one or more processors of the computing device, updating one or more navigation instructions for the route based on the
identified logged paths of the user; and

by one or more processors of the computing device, displaying the updated navigation instructions on a display of a client
device of the user.

US Pat. No. 9,110,889

METHODS AND SYSTEMS FOR GENERATION OF FLEXIBLE SENTENCES IN A SOCIAL NETWORKING SYSTEM

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing a developer interface to define a flexible sentence syntax based on an edge configuration;
generating one or more edge tokens on the developer interface for a developer to choose a first property expression of a specific
edge in the flexible sentence syntax;

providing a tense option on the developer interface for the developer to select one or more tenses of the specific edge in
the flexible sentence syntax; and

based on the specific edge, generating a plurality of relevant flexible sentences for the developer to determine the flexible
sentence syntax.

US Pat. No. 10,209,775

USING A MAGNETIC ACTUATION MECHANISM TO PROVIDE TACTILE FEEDBACK TO A USER INTERACTING WITH A VIRTUAL ENVIRONMENT

Facebook Technologies, LL...

1. A system comprisinga console coupled to an electronic display in a head mounted display, the console configured to provide content to the electronic display for presentation to a user; and
an input control comprising:
a glove configured to be worn on a hand of the user and coupled to the console, the glove including at least one joint portion configured to contain a joint of a finger of the hand of the user, the glove including a tendon extending across the joint portion of the glove, one or more magnets coupled to the tendon along a length of the tendon, the one or more magnets comprising electromagnets configured to be activated in response to receiving an instruction from the console, a strength of a magnetic field of an activated magnet specified by the instruction from the console based on a position of the finger of the hand of the user inserted into the glove relative to a reference position; and
one or more additional magnets fixed relative to the glove and oriented so magnetic fields from one or more magnets and from at least one or more of the additional magnets restrict movement of the tendon of the glove in a direction.

US Pat. No. 10,015,903

HIGH POWER SAFETY SLED

Facebook, Inc., Menlo Pa...

1. A device platform, comprising:a power tray, comprising:
a tray chassis having a tray sidewall and a tray bottom wall;
a pair of conductors extending along at least a portion of the tray chassis; and
a conductor cover moveable between a first position where the pair of conductors are covered and a second position where the pair of conductors are exposed;
a power supply connected to the pair of conductors; and
a device sled moveably positioned on the power tray and moveable relative to the pair of conductors between an unpowered position where the conductor cover is in the first position and a powered position where the conductor cover is in the second position, the device sled comprising:
a sled chassis having a chassis sidewall and a chassis bottom wall;
a chassis panel mounted to the sled chassis; and
two or more conductive elements mounted on the chassis panel and positioned for sliding contact with the pair of conductors when the device sled is in the powered position.

US Pat. No. 9,356,890

ENHANCED BUDDY LIST USING MOBILE DEVICE IDENTIFIERS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
providing, using at least one processor, a list of potential message recipients to a sender, the list comprising one or more
identifiers for at least one of the potential message recipients on a first communication system, wherein the first communication
system uses a first communication protocol;

sending an electronic message to a selected recipient via the first communication system, the electronic message including
a first identifier associated with the selected recipient within the first communication system;

receiving an electronic reply message from the selected recipient sent via a second communication system, wherein the second
communication system uses a second communication protocol, and wherein the electronic reply message includes a second identifier
associated with the selected recipient within the second communication system, the second identifier being different than
the first identifier;

converting the electronic reply message from a text message protocol associated with the second communication system to an
Internet-based message protocol associated with the first communication system; and

providing, using the at least one processor, the electronic reply message to the sender via the first communication system
after replacing the second identifier with the first identifier.

US Pat. No. 10,168,537

SINGLE CHIP SUPERLUMINOUS LIGHT EMITTING DIODE ARRAY FOR WAVEGUIDE DISPLAYS

Facebook Technologies, LL...

1. A source assembly comprising:a source element array comprising a super luminous diode (SLED) array of SLEDs that are arranged on a single chip, the SLED array configured to emit light; and
a scanning mirror assembly configured to scan the light to an entrance location of an output waveguide as scanned image light.

US Pat. No. 9,253,136

ELECTRONIC MESSAGE DELIVERY BASED ON PRESENCE INFORMATION

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving a setting associated with an intended recipient defining a concurrent delivery mechanism that is designated to receive
all electronic messages;

identifying that the intended recipient is a recipient of an electronic message;
identifying a user-defined delivery precedence for a plurality of delivery mechanisms;
determining, using at least one processor, presence information associated with a delivery mechanism with a highest precedence;
based on the intended recipient being present on the delivery mechanism with the highest precedence, concurrently sending
the electronic message to the intended recipient via the delivery mechanism with the highest precedence and via the concurrent
delivery mechanism;

based on the intended recipient not being present on the delivery mechanism with the highest precedence, determining presence
information associated with a delivery mechanism with a second highest precedence;

based on the intended recipient being present on the delivery mechanism with the second highest precedence, concurrently sending
the electronic message to the intended recipient via the delivery mechanism with the second highest precedence and via the
concurrent delivery mechanism; and

based on the intended recipient not being present on the delivery mechanism with the second highest precedence, sending the
electronic message via the concurrent delivery mechanism.

US Pat. No. 10,168,531

LIGHTFIELD WAVEGUIDE INTEGRATED EYE TRACKING

Facebook Technologies, LL...

1. An eye tracker comprising:one or more waveguides, wherein each of the one or more waveguides comprises an array of grating structures configured to selectively out couple light from that waveguide;
an array of light sources coupled to the one or more waveguides;
a detector coupled to the one or more waveguides; and
a controller coupled to the array of grating structures, the array of light sources, and the detector, the controller configured to:
instruct at least one light source in the array of light sources to emit at least one light beam that propagates through the one or more waveguides, and
activate at least one grating structure of the array of grating structures to out-couple the at least one light beam from the one or more waveguides toward an eye,
wherein the one or more waveguides in-couple one or more light signals reflected from at least one surface of the eye that originates from the at least one light beam out-coupled from the one or more waveguides, and the detector detects the one or more reflected light signals, and
the controller is further configured to
calculate one or more magnitudes of the one or more reflected light signals detected by the detector to obtain a signature of converted light signals, and
determine a position of the eye based on the signature of converted light signals.

US Pat. No. 9,999,096

WIRELESS AD-HOC SOCIAL NETWORKING

FACEBOOK, INC., Menlo Pa...

1. A method comprising:discovering, by one or more processors of a first wireless device, a plurality of wireless devices in an ad-hoc network of wireless devices;
identifying, by the one or more processors, a social interest characteristic associated with the first wireless device;
identifying, by the one or more processors, wireless devices of the plurality of wireless devices that are within a predefined number of hops from the first wireless device; and
enabling communications to be exchanged between the first wireless device and the wireless devices that share, the social interest characteristic with the first wireless device within the predefined number of hops from the first wireless device by identifying a communications pathway from the first wireless device to each of the wireless devices that shares, the social interest characteristic with the first wireless device within the predefined number of hops from the first wireless device, each communications pathway being through one or more of the plurality of wireless devices in the ad-hoc network of wireless devices.

US Pat. No. 10,209,202

OPTICAL CHARACTERIZATION SYSTEM FOR WIDE FIELD OF VIEW DIFFRACTIVE OPTICAL ELEMENTS

Facebook Technologies, LL...

1. An optical characterization system comprising:a camera assembly including a plurality of optical heads, the optical heads including a camera and an integrating sphere, the camera assembly configured to measure different portions of a structured light pattern in accordance with imaging instructions, the structured light pattern generated by a diffractive optical element (DOE) under test, and the structured light pattern having a field of view that is larger than a field of view of the camera assembly, and each measured different portion of the structured light pattern is captured at a same radial distance from a reference point on the DOE under test; and
a workstation configured to:
provide the imaging instructions to the camera assembly, the imaging instructions causing the camera assembly to use the camera head to capture images of the different portions of the structured light pattern,
stitch the captured images together to form a pattern image, wherein the pattern image is a single image of the entire structured light pattern, and
characterize performance of the DOE under test using the pattern image and a performance metric.

US Pat. No. 10,211,371

SEMICONDUCTOR MODIFICATION PROCESS FOR CONDUCTIVE AND MODIFIED ELECTRICAL REGIONS AND RELATED STRUCTURES

Facebook Technologies, LL...

1. A fabrication process for electronic components, comprising:depositing a spreading layer on top of a GaN p-layer;
depositing a mask feature onto the spreading layer to form a structure with at least part of the structure protected by the mask feature, and at least another part of the structure not protected by the mask feature to form an unprotected mask region; and
processing the unprotected mask region to form an area with modified electrical characteristics from the GaN p-layer, wherein the processing includes:
exposing the structure having the mask feature to a plasma treatment;
removing the mask feature from the structure after exposing the structure to the plasma treatment and prior to annealing the plasma treated structure; and
annealing the plasma treated structure, wherein;
the at least other part of the structure not protected by the mask feature is exposed to the plasma treatment and forms a modified p-GaN region that blocks current flow due to the plasma treatment and annealing process; and
the at least part of the structure protected by the mask is shielded from the plasma treatment and forms a conductive contact after the annealing.

US Pat. No. 10,168,466

CORNER CUT LIQUID CRYSTAL DISPLAY

Facebook Technologies, LL...

1. A liquid crystal display (LCD) device, comprising:an LCD panel including at least a first portion and a second portion adjacent to the first portion along a width dimension, the first portion having a first width along the width dimension and the second portion having a second width along the width dimension smaller than the first width; and
a backlight for illuminating the LCD panel, the backlight disposed behind the LCD panel and including:
a first light guide portion of a light guide disposed behind the first portion of the LCD panel, the first light guide portion having the first width along the width dimension;
a first light emitting diode (LED) disposed along a side surface of the first light guide portion to emit first light in a first direction along the first width of the first light guide portion, the first light guide portion receiving the first light from the first LED and directing the first light in a second direction toward the first portion of the LCD panel;
a second light guide portion of the light guide disposed behind the second portion of the LCD panel adjacent to the first light guide portion along the width dimension, the second light guide having the second width along the width dimension; and
a second LED disposed along a side surface of the second light guide portion to emit second light in the first direction along the second width of the second light guide portion, the second light guide portion receiving the second light from the second LED and directing the second light in the second direction toward the second portion of the LCD panel, wherein:
the first light guide portion includes a first variable thickness along the first width and the second light guide portion includes a second variable thickness along the second width; and
the first variable thickness decreases along the first width in the first direction more gradually than the second variable thickness decreases along the second width in the first direction.

US Pat. No. 10,165,703

DATA-CENTER DRAWER AND CABLE TRACK ASSEMBLY

Facebook, Inc., Menlo Pa...

1. A data-center drawer comprising:an outer assembly configured to be removably attached to a data-center rack;
an inner assembly that houses at least one computing component and that is configured to extend between:
a closed position in which the inner assembly is enclosed within the outer assembly; and
an open position in which the inner assembly is at least partially extended from the outer assembly; and
a cable track, positioned within the inner assembly, that is dimensioned to house at least one cable that provides connectivity to the computing component, wherein at least a portion of a distal end of the cable passes through an opening in a back wall of the inner assembly and connects through the back wall to the outer assembly, such that the opening in the back wall of the inner assembly passes over a middle section of the cable track, and wherein the cable track is configured to:
at least partially fold upon itself as the inner assembly moves from the open position to the closed position; and
at least partially unfold as the inner assembly extends from the closed position to the open position.

US Pat. No. 10,182,284

CONNECTOR ASSEMBLY FOR DETACHABLE AUDIO SYSTEM

Facebook Technologies, LL...

17. A connector assembly for use with an audio module mountable to a head strap, comprising:an outer plate structure having a first planar portion and a first strap supporting portion, the outer plate structure having an outer rim portion and a recessed receiving area, and a threaded attachment member projecting from the first planar portion;
a non-conductive insert in the recessed receiving area with a second planar portion substantially coplanar with the outer rim portion at the first planar portion, and a second strap supporting portion substantially coplanar with the outer rim portion at the first strap supporting portion, the second planar portion having a first aperture having the threaded attachment member extending through the first aperture and projecting beyond the second planar portion, the second planar portion having a spaced apart first and second hollow cylindrical bosses on opposing sides of the first aperture and projecting away from the second planar portion, wherein the first and second bosses and the threaded attachment member are arranged linearly;
a flex circuit in the receiving area between the first and second planar portions, the flex circuit having a first electrical contact portion aligned with the first boss, and a second electrical contact portion aligned with the second boss;
first and second spring-biased pogo pin connectors connected to the flex circuit, the first pogo pin connector electrically engaging the first electrical contact portion and having a retractable first tip portion projecting from the first boss, and the second pogo pin connector electrically engaging the second electrical contact portion and having a retractable second tip portion projecting from the second boss; and
a flexible strain relief member having a first relief portion connected to the outer plate structure adjacent to the a portion of the flex circuit and the first strap supporting portion, and a second relief portion extending away from the outer plate structure, the strain relief member having an internal channel extending through the first and second relief portions and configure to receive an electrical wire that can connect to the flex circuit.

US Pat. No. 9,854,697

MODULAR NETWORK SWITCHES, ASSOCIATED STRUCTURES, AND ASSOCIATED METHODS OF MANUFACTURE AND USE

Facebook, Inc., Menlo Pa...

1. A computer system comprising:
a cabinet having a plurality of side walls defining an internal volume;
a plurality of first circuit boards operably positioned parallel to each other in a first portion of the internal volume,
wherein each of the first circuit boards includes a first connector positioned proximate an aft edge portion thereof; and

a plurality of second circuit boards operably positioned parallel to each other in a second portion of the internal volume,
wherein the plurality of second circuit boards are positioned in edgewise, nonparallel orientation relative to the plurality
of first circuit boards, wherein each of the second circuit boards includes a second connector positioned proximate a forward
edge portion thereof, and wherein each of the second connectors is directly mated to a corresponding first connector to electrically
connect each of the first circuit boards to a corresponding second circuit board;

a plurality of third circuit boards positioned parallel to each other in the first portion of the internal volume,
wherein the cabinet includes a front side toward one end of the side walls and a back side toward an opposite end of the side
walls,

wherein the front side of the cabinet includes a plurality of first openings that removably contain the first circuit boards,
whereby individual first circuit boards can be removed from the cabinet and replaced while the other of the first circuit
boards remain in situ, and

wherein the front side of the cabinet further includes a plurality of second openings that removably contain the third circuit
boards, whereby individual third circuit boards can be removed from the cabinet and replaced while other of the third circuit
boards remain in situ.

US Pat. No. 10,198,978

VIEWING OPTICS TEST SUBSYSTEM FOR HEAD MOUNTED DISPLAYS

Facebook Technologies, LL...

1. An optical evaluation workstation comprising:an enclosure that encloses the workstation and is configured to block light from entering the workstation;
a contrast test target;
a light source configured to backlight the contrast test target with diffuse light, the light source comprising a light panel and a light diffuser, the light panel configured to generate light and positioned to illuminate at least a portion of the light diffuser, the light diffuser configured to substantially and evenly diffuse light received from the light source;
an optical element feed assembly configured to:
receive an optical element of a head mounted display (HMD), and
position the optical element at a first distance from the contrast test target, the first distance corresponding to a distance between an optics block in the HMD and an electronic display in the HMD;
a camera configured to capture one or more images of the contrast test target through the optical element, the camera at a second distance from the contrast test target, the second distance corresponding to a distance between an exit pupil of the HMD and the electronic display in the HMD, wherein the contrast test target is positioned between the light source and the camera such that the contrast test target is illuminated with diffuse light from the light diffuser; and
a control module configured to evaluate optical contrast of the optical element using the one or more images of the contrast test target.

US Pat. No. 10,191,561

TRACKING CONTROLLERS OF A VIRTUAL REALITY SYSTEM

Facebook Technologies, LL...

1. A method comprising:receiving a first real-world image captured by an image tracking system remote to a user, the first real-world image including a first real-world view of a controller held by a user from a first perspective;
receiving a second real-world image captured by an imaging device located on a virtual reality (VR) headset worn by the user, the VR headset displaying a virtual environment to the user, the second real-world image captured at substantially the same time as the first real-world image, the second real-world image including a second real-world view of the controller from a second perspective different from the first perspective;
identifying a first set of features of the controller in the first real-world image, the first set of features representing locators on the controller depicted in the first real-world image;
identifying a second set of features of the controller in the second real-world image, the second set of features representing locators on the controller depicted in the second real-world image;
determining a pose of the controller using the first set of features and the second set of features, the pose specifying a location of the controller and further specifying a rotational orientation of the controller, wherein determining the pose of the controller comprises:
identifying a plurality of candidate poses of a virtual model of the controller,
performing a first set of comparisons between the first set of features in the first real-world image with each of a first plurality of virtual feature sets, each of the first plurality of virtual feature sets associated with one of the candidate poses from the first perspective,
performing a second set of comparisons between the second set of features in the second real-world image with each of a second plurality of virtual feature sets, each of the second plurality of virtual feature sets associated with one of the candidate poses from the second perspective,
identifying, based on both the first set of comparisons and the second set of comparisons, one of the plurality of candidate poses of the virtual model as being consistent with both the first set of features in the first real-world image and the second set of features in the second real-world image, and
determining that the pose of the controller is the identified candidate pose of the virtual model; and
responsive to determining the pose of the controller, performing an action within the virtual environment to update a position and orientation of a virtual object in the virtual environment controlled by the determined pose of the controller.

US Pat. No. 10,162,182

ENHANCED PIXEL RESOLUTION THROUGH NON-UNIFORM OCULAR PROJECTION

Facebook Technologies, LL...

1. A display device, comprising:a two-dimensional array of tiles, each tile comprising:
a two-dimensional array of pixels, wherein each pixel is configured to output light so that the two-dimensional array of pixels outputs a respective pattern of light; and
a lens, of a two-dimensional array of lenses, configured to direct at least a portion of the respective pattern of light from the two-dimensional array of pixels to a pupil of an eye of a user; and
one or more processors coupled with the two-dimensional array of tiles and configured to:
obtain a transformed image for projecting a non-transformed image on a retina of the eye of the user, wherein the transformed image is distinct from the non-transformed image in that a first portion of the non-transformed image and a second portion of the non-transformed image have a same size and a first portion of the transformed image that corresponds to the first portion of the non-transformed image and a second portion of the transformed image that corresponds to the second portion of the non-transformed image have distinct sizes;
activate a first subset of the two-dimensional array of tiles for projecting, from the first subset of the two-dimensional array of tiles, the first portion of the transformed image on the retina of the eye of the user; and
activate a second subset of the two-dimensional array of tiles, that is distinct from the first subset of the two-dimensional array of tiles, for projecting, from the second subset of the two-dimensional array of tiles, the second portion of the transformed image, that is distinct from the first portion of the transformed image, on the retina of the eye of the user, wherein:
the two-dimensional array of lenses is configured to project, from the first subset of the two-dimensional array of tiles, the first portion of the transformed image with a first demagnification ratio and project, from the second subset of the two-dimensional array of tiles, the second portion of the transformed image with a second demagnification ratio that is distinct from the first demagnification ratio so that the first portion of the transformed image, when projected on the retina of the eye, has a first pixel resolution and the second portion of the transformed image, when projected on the retina of the eye, has a second pixel resolution that is distinct from the first pixel resolution.

US Pat. No. 10,257,507

TIME-OF-FLIGHT DEPTH SENSING FOR EYE TRACKING

Facebook Technologies, LL...

1. An eye tracking system comprising:an illumination source configured to illuminate an eye with an irradiance pattern producing a distorted illumination pattern after reflection of the irradiance pattern from one or more surfaces of the eye;
a detector including a plurality of pixels, the detector configured to capture the distorted illumination pattern at one or more pixels of the plurality of pixels, each pixel having a plurality of storage units that capture light signals related to the distorted illumination pattern over a plurality of time instants; and
a controller configured to:
determine one or more phase differences between the distorted illumination pattern and the irradiance pattern, based on the light signals captured in the storage units of the one or more pixels,
calculate one or more distances from the detector to the one or more surfaces of the eye, based on the determined one or more phase differences, and
estimate a position and orientation of the eye based on the determined one or more distances.

US Pat. No. 10,162,254

COMPACT LIGHT PROJECTION SYSTEM INCLUDING AN ANAMORPHIC REFLECTOR ASSEMBLY

Facebook Technologies, LL...

1. A system comprising:an anamorphic reflector assembly including a first reflective surface and a second reflective surface of a monolithic optical element, the first reflective surface configured to reflect image light toward the second reflective surface which reflects the reflected image light to output it from the anamorphic reflector assembly, and the first reflective surface and the second reflective surface are both curved and non-rotationally symmetric such that the light output from the anamorphic reflector assembly is collimated image light; and
a correction element configured to mitigate chromatic aberration based in part on the correction element having an Abbe number that is opposite in sign to an Abbe number of the monolithic optical element, and
wherein the collimated image light is optically corrected based in part on mitigation of chromatic aberration by the correction element.

US Pat. No. 9,471,943

USER-SPECIFIED DISTRIBUTION OF STORIES DESCRIBING USER ACTIONS IN A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
providing a sponsored story unit to one or more client devices for initial presentation to one or more users of the social
networking system connected to an acting user of the social networking system, the sponsored story unit including descriptions
of a first action and a second action associated with the acting user;

responsive to the initial presentation of the sponsored story unit to the one or more users of the social networking system,
providing instructions to a client device associated with the acting user that cause the client device to present a notification
to the acting user, the notification including information describing the presented sponsored story unit including the descriptions
of the first and the second action associated with the acting user and including one or more settings for preventing inclusion
of the first action associated with the acting user in one or more sponsored story units, wherein the one or more settings
at least identify an action prevented from inclusion in the one or more sponsored story units based on the identity of a promoting
user that provided the one or more sponsored story units;

receiving one or more selected settings included in the notification from the client device associated with the acting user,
the selected settings identifying the first action to be prevented from inclusion in the one or more sponsored story units;

storing the one or more selected settings in a user profile associated with the acting user and maintained by the social networking
system; and

modifying the sponsored story unit for presentation based on the one or more selected settings, the modified sponsored story
unit not including a description of the first action.

US Pat. No. 10,203,566

ENHANCED SPATIAL RESOLUTION USING A SEGMENTED ELECTRODE ARRAY

Facebook Technologies, LL...

1. A device, comprising:a light intensity modulator array defining a two-dimensional array of pixels, the light intensity modulator comprising:
a first substrate with a two-dimensional array of electrodes, wherein:
the two-dimensional array of electrodes is arranged on the first substrate in a first direction and a second direction that is not parallel to the first direction; and
a respective electrode of the two-dimensional array of electrodes on the first substrate is distinct and separate from a first adjacent electrode and a second adjacent electrode of the two-dimensional array of electrodes on the first substrate, the first adjacent electrode being adjacent to the respective electrode in the first direction and the second adjacent electrode being adjacent to the respective electrode in the second direction;
a second substrate with one or more electrodes, wherein the second substrate is distinct and separate from the first substrate;
liquid crystal located between the first substrate and the second substrate, wherein the light intensity modulator array has a first surface and a second surface that is opposite to the first surface;
one or more light sources located on the first surface of the light intensity modulator; and
one or more detectors located on the first surface of the light intensity modulator, wherein a respective pixel of the two-dimensional array of pixels is configured to transmit light based on voltages applied to the two-dimensional array of electrodes arranged on the first substrate and the one or more electrodes for the second substrate so that light emitted by the one or more light sources is transmitted through the respective pixel from the one or more light sources located on the first surface of the light intensity modulator array to the second surface of the light intensity modulator array and light is transmitted through the respective pixel from the second surface of the light intensity modulator array to the one or more detectors located on the first surface of the light intensity modulator.

US Pat. No. 10,191,565

ALIGNING COORDINATE SYSTEMS OF TWO DEVICES BY TAPPING

Facebook Technologies, LL...

1. An apparatus for aligning coordinate systems of interacting devices, the apparatus comprising:a first interface circuit configured to receive a first sensor signal from a first accelerometer of a head mounted display that is configured to display images in accordance with a first coordinate system, the first sensor signal representing a first impact on the head mounted display responsive to tapping of the head mounted display and a controller;
a second interface circuit configured to receive a second sensor signal from a second accelerometer of the controller that is configured to receive at least one user input associated with a second coordinate system, the second coordinate system misaligned with the first coordinate system prior to the tapping, the second sensor signal representing a second impact on the second device responsive to the tapping; and
a processor configured to:
determine a direction of the first impact represented by the first sensor signal;
determine a direction of the second impact represented by the second sensor signal; and
adjust at least one of the first coordinate system of the head mounted display or the second coordinate system of the controller according to the direction of the first impact and the direction of the second impact to reduce misalignment of the second coordinate system with the first coordinate system.

US Pat. No. 10,149,039

AUDIO HEADPHONES FOR VIRTUAL REALITY HEAD-MOUNTED DISPLAY

Facebook Technologies, LL...

1. An audio headphone to couple to a strap for a head-mounted display, the audio headphone comprising:a headphone speaker;
a strap connector; and
a four-bar linkage coupled to the strap connector to provide movement of the headphone speaker with respect to a user's ear, the four-bar linkage comprising:
a first member with a first end portion coupled to the strap connector via a first joint;
a second member with a first end portion coupled to a second end portion of the first member via a second joint;
a third member with a first end portion coupled to a second end portion of the second member via a third joint; and
a fourth member with a first portion coupled to a second end portion of the third member, and with first and second sides that are connected by the first portion and that extend to a second portion of the fourth member, wherein the first member is further coupled to the first and second sides of the fourth member via a fourth joint.

US Pat. No. 10,178,457

AUDIO OUTPUT ASSEMBLY FOR A HEAD-MOUNTED DISPLAY

Facebook Technologies, LL...

1. A head-mounted display (HMD), comprising:a housing defining an enclosure having an aperture;
a speaker positioned within the enclosure, the speaker having a back side facing an interior surface of the housing and a front side facing away from the interior surface of the housing, a back volume defined between at least a portion of the housing and the back side of the speaker for enhancing sound generated by the speaker; and
a sound conduit having an end open to the enclosure and extending outside the housing through the aperture, the sound conduit having another end open toward a rear direction to transmit the sound generated by the speaker.

US Pat. No. 10,170,060

INTERLACED LIQUID CRYSTAL DISPLAY PANEL AND BACKLIGHT USED IN A HEAD MOUNTED DISPLAY

Facebook Technologies, LL...

1. A display device, comprising:a liquid crystal display (LCD) panel including at least a first group of pixel lines and a second group of pixel lines;
a backlight disposed behind the LCD panel to emit light toward the first and second groups of pixel lines;
a shift grating disposed between the LCD and the backlight, the shift grating configured to block the light from the backlight from reaching either the first group of pixel lines or the second group of pixel lines; and
a controller configured to:
while the shift grating is blocking the light from the backlight from reaching the first group of pixel lines, set the first group of pixel lines with first group line data for a video frame;
control the backlight and the shift grating such that the light from the backlight illuminates the first group of pixel lines when the first group of pixel lines are set with the first group line data;
while the backlight is illuminating the first group of pixel lines, the first group line data is set on the first group of pixel lines, and the shift grating is blocking the light from reaching the second group of pixels lines, set the second group of pixel lines with second group line data for the video frame; and
control the backlight and the shift grating such that the light from the backlight illuminates the second group of pixel lines and the shift grating blocks the light from reaching the first group of pixel lines when the second group of pixel lines are set with the second group line data.

US Pat. No. 10,219,413

AIR BLOCKING PANEL ASSEMBLIES FOR COMPONENT RACKS

Facebook, Inc., Menlo Pa...

1. An air blocking panel assembly mountable to a component rack, the air blocking panel assembly comprising:a frame portion configured to block air from passing through a slot within the component rack when the slot is empty;
a plurality of first engagement features arranged on opposing end regions of the frame portion, wherein the first engagement features are positioned to releasably mate with corresponding second engagement features of the component rack; and
a plurality of selectively removable tooling features arranged across a front side of the frame portion, wherein the selectively removable tooling features comprise selectively removable portions of the frame portion that, when removed, leave remaining knockout holes that are configured to receive retention members from an external accessory.

US Pat. No. 9,219,644

AUTOMATED CONFIGURATION OF NEW RACKS AND OTHER COMPUTING ASSETS IN A DATA CENTER

Facebook, Inc., Menlo Pa...

1. A method comprising:
scanning each server rack within a data center to request virtual locations associated with the server rack from the server
rack, the scanning comprising:

sending a message to each of a plurality of racks in the data center;
receiving a set of responses to the messages, each response indicative of a virtual location of a corresponding rack;
identifying a physical server rack associated with a physical location and with a plurality of virtual locations based on
the scanning; and

responsive to identifying the server rack:
determining the physical location of the identified server rack based on a virtual location associated with the identified
server rack; and

reporting an error condition indicating that the identified server rack is associated with a plurality of virtual locations.

US Pat. No. 10,231,053

BONE-CONDUCTION HEADSET WITH CROSSTALK CANCELATION FUNCTION

Facebook Technologies, LL...

1. A head-mounted display (HMD) comprising:a first bone conduction transducer configured to contact a user's first patch of skin in a first ear region, the first bone conduction transducer configured to transmit first vibrations responsive to receiving a first bone conduction signal;
a second bone conduction transducer configured to contact the user's second patch of skin in a second ear region, the second bone conduction transducer configured to transmit second vibrations;
a first vibration sensor separated from the first bone conduction transducer and configured to detect crosstalk vibrations responsive to transmitting of the first vibrations; and
a bone conduction signal generator configured to generate or update at least one parameter for modifying at least one of a second bone conduction signal for the first bone conduction transducer or a third bone conduction signal for the second bone conduction transducer.

US Pat. No. 10,198,032

PASSIVE LOCATORS FOR A VIRTUAL REALITY HEADSET

Facebook Technologies, LL...

1. A virtual reality (VR) headset comprising:an electronic display configured to present content to a user of the VR headset; and
a plurality of marker groups, each marker group corresponding to a different location on the VR headset and comprising one or more passive locators having positions relative to each other, each passive locator having a respective reflectance type, that identities a band of light of a plurality of different bands of light, and the band of light is reflected by the passive locator, and each marker group has a unique reflectance configuration that describes a spatial configuration of the one or more passive locators within the marker group and one or more reflectance types of the one or more passive locators within the marker group.

US Pat. No. 10,175,414

CHANNEL CUT BACKLIGHT FOR LIQUID CRYSTAL DISPLAY

Facebook Technologies, LL...

1. A liquid crystal display (LCD) device, comprising:a LCD panel including a first panel portion and a second panel portion adjacent to the first panel portion;
a backlight for illuminating the LCD panel, including:
a light guide including a top surface, a bottom surface, and a side surface, the light guide including an array of notches on the bottom surface to define an array of light channels along the side surface, the array of light channels including a first light channel and a second light channel adjacent to the first light channel; and
light emitting diodes (LEDs) disposed along the side surface of the light guide to emit light in a first direction into the array of light channels of the light guide, the first light channel receiving first light from a first LED and directing the first light in a second direction from the top surface of the light guide toward the first panel portion of the LCD panel, the second light channel receiving second light from a second LED and directing the second light in the second direction from the top surface of the light guide toward the second panel portion of the LCD panel; and
a controller configured to:
in a first time period, program the first panel portion;
in a second time period subsequent to the first time period, program the second panel portion while liquid crystals in the first panel portion transition states;
in a third time period subsequent to the second time period, control the first LED to emit the first light into the first light channel and toward the first panel portion while liquid crystals in the second panel portion transition states; and
in a fourth time period subsequent to the third time period, control the second LED to emit the second light into the second light channel and toward the second panel portion.

US Pat. No. 10,148,324

POSITIONAL TRACKING ASSISTED BEAM FORMING IN WIRELESS VIRTUAL REALITY SYSTEMS

Facebook Technologies, LL...

1. An apparatus comprising:a positional tracking system having built-in sensors, the positional tracking system configured to:
track, over a time period using the built-in sensors, a position of a head-mounted display (HMD) relative to the apparatus that wirelessly communicates with the HMD, and
generate positional information describing the tracked position of the HMD over the time period relative to the apparatus;
a beam controller configured to:
determine a change in the position of the HMD relative to the apparatus based on the positional information over the time period,
determine a directional beam of a plurality of directional beams of the HMD, based in part on the determined change, and
generate communication instructions identifying the determined directional beam; and
a transceiver configured to:
communicate directly with the HMD via a wireless channel, and
transmit the communication instructions to the HMD instructing the HMD to adjust a direction of wireless communication with the apparatus to the determined directional beam.

US Pat. No. 10,115,205

EYE TRACKING SYSTEM WITH SINGLE POINT CALIBRATION

Facebook Technologies, LL...

1. A method comprising:obtaining cornea information for an eye of a user, the cornea information including a radius of a corneal sphere of the eye and location of a center of the corneal sphere;
capturing one or more reflections of a pupil of the eye of the user while the user is viewing content displayed on a head-mounted display (HMD);
determining a shape of the pupil based on the one or more captured pupil reflections;
identifying a three-dimensional plane parallel to the pupil, the three-dimensional plane identified based on the obtained cornea information and the identified pupil shape;
identifying a ray originating from the three-dimensional plane and perpendicular to a surface of the corneal sphere;
determining a pupillary axis for the pupil of the user based on the identified ray; and
performing an optical action based in part on the determined pupillary axis.

US Pat. No. 10,180,720

HAND-HELD CONTROLLER WITH PRESSURE-SENSING SWITCH FOR VIRTUAL-REALITY SYSTEMS

Facebook Technologies, LL...

15. A virtual-reality system, comprising:a head-mounted display (HMD) configured to display an image of a hand; and
a hand-held controller, wherein:
the hand-held controller comprises a grip, a user-input surface, and a cage;
the user-input surface includes a user-input key that is mounted, at least in part, on the grip, wherein the user input key includes an analog pressure sensor;
the cage has a ring shape that is coupled to the user-input surface at first and second points, without the grip being interposed between the cage and the first point, and without the grip being interposed between the cage and the second point, wherein the cage includes a plurality of illumination sources on an outer surface of the cage; and
the hand-held controller is configured to sense pressure applied to the analog pressure sensor by a user holding the hand-held controller and wearing the HMD, wherein the HMD displays a degree of closing of the image of the hand in proportion to the pressure applied to the analog pressure sensor.

US Pat. No. 10,107,950

FLEXIBLE LIGHT COMBINER BACKLIGHT USED IN A HEAD MOUNTED DISPLAY

Facebook Technologies, LL...

1. A liquid crystal display (LCD) device, comprising:an LCD panel; and
a backlight for illuminating the LCD panel, the backlight including:
an LED assembly, including:
a first color LED emitting a first light at a first wavelength;
a second color LED emitting a second light at a second wavelength; and
a flexible light combiner, the flexible light combiner including a flexible core including: a first light channel to transmit first light generated by the first color LED, a first end of the first light channel optically coupled with the first color LED; a second light channel to transmit second light generated by the second color LED, a first end of the second light channel optically coupled with the second color LED; and a light output terminal defined by second ends of the first and second light channels to output the first light and the second light, respectively, in a first direction, the light output terminal disposed behind the LCD panel along an edge of the LCD panel; and
a light guide configured to:
combine the first light and second light received from the light output terminal of the flexible light combiner into combined light; and
direct the combined light to the pixels of the LCD panel in a second direction to illuminate the LCD panel;
wherein:
the first color LED includes a first emission response time and the second color LED includes a second emission response time different from the first emission response time; and
the display device further includes a controller configured to adjust for the first emission response time being different from the second emission response time based on providing a first control signal to drive the first color LED and a second control signal to drive the second color LED, the first control signal including a timing offset relative to the second control signal.

US Pat. No. 9,538,683

CIRCUIT BOARD EJECTOR SYSTEM

Facebook, Inc., Menlo Pa...

1. A circuit board ejector for installing or ejecting a circuit board from a chassis, the circuit board ejector comprising:
a hub rotatably mountable to a chassis;
a plurality of ejector teeth extending from the hub; and
a lever coupled to the hub by a plurality of gears;
wherein the plurality of ejector tooth teeth are mateable with a circuit board housed in the chassis, whereby movement of
the lever causes the teeth to move the circuit board, wherein the at least one ejector tooth is mateable with at least one
notch formed along an edge of the circuit board, whereby movement of the lever causes the tooth to move the circuit board.

US Pat. No. 9,391,971

AUTHORIZATION AND AUTHENTICATION BASED ON AN INDIVIDUAL'S SOCIAL NETWORK

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving, at a service provider, a request from a first user to access content on the service provider, the request identifying
a user identifier (ID) of the first user;

transmitting, to a social networking system that is external to the service provider, a request to determine whether the first
user is authorized to access content on the service provider based on a gray list comprising user IDs of the users who are
not authorized to access content on the service provider, wherein the gray list is based on a black list; and

permitting, at the service provider, the content to be accessed by the first user if an indication is received from the social
networking system that the first user is authorized to access the content based on the gray list.

US Pat. No. 9,325,731

IDENTIFICATION OF AND COUNTERMEASURES AGAINST FORGED WEBSITES

Facebook, Inc., Menlo Pa...

1. A computer implemented method comprising:
receiving a page included in a website at a client device associated with a user, the page having executable scripting code
that, when executed by a processor, determines whether a network domain from which the page was served is a domain authorized
to serve the page, the determining based at least in part on comparing the network domain from which the page was served with
the domain authorized to serve the page;

responsive to execution of the executable scripting code determining the network domain from which the page was served is
not a domain authorized to serve the page, the executable scripting code providing an identification of the domain from which
the page was served to an authorized server associated with the domain authorized to serve the page; and

responsive to execution of the executable scripting code determining the network domain from which the page was served is
not a domain authorized to serve the page, executing countermeasure code included in the page that, when executed by the processor
of the client device, modifies operation of the page to prevent phishing of user credentials.

US Pat. No. 10,228,727

ADJUSTABLE FRONT ASSEMBLY IN HEAD-MOUNTED DISPLAY

Facebook Technologies, LL...

1. A head-mounted display, comprising:a front end assembly located at a front portion of the head-mounted display;
a back end assembly located behind the front end assembly, wherein the back end assembly includes a facial interface assembly attached to a rear portion of the back end assembly, the facial interface assembly contoured to contact a user's face; and
a first adjustable arm between the front end assembly and the back end assembly, the first adjustable arm comprising:
a front end assembly link attached to the front end assembly to adjust tilting of the front end assembly relative to the back end assembly,
a back end assembly link rotatably coupled to the back end assembly, and
an interlink having an end coupled to the front end assembly link and another end rotatably coupled to the back end assembly link, the interlink adjusting a height of the front end assembly relative to the back end assembly.

US Pat. No. 10,209,524

FACIAL INTERFACE ASSEMBLIES FOR USE WITH HEAD MOUNTED DISPLAYS

Facebook Technologies, LL...

1. A facial interface assembly for use with a head mounted display having a display housing, comprising:a contoured spacer frame removably connectable to the display housing, including:
a forehead interface portion,
a pair of cheek interface portions,
and
one or more attachment mounts configured to mate with a housing of the head mounted display; and
a face gasket removably attached to the contoured spacer frame, including:
at least one foam layer, and
a fabric layer over the at least one foam layer,
wherein the contoured spacer frame has a depth for adjusting a distance between a user's face and the display housing.

US Pat. No. 10,185,393

WAVEGUIDE DISPLAY WITH SPATIALLY SWITCHABLE GRATING

Facebook Technologies, LL...

1. A near-eye-display (NED) system comprising:an eye tracking system configured to track a location of an eye of a user of the NED;
a light source configured to emit an image light;
an output waveguide comprising:
an input grating configured to receive the image light emitted from the light source and expand the received image light in at least one dimension to transmit an expanded image light, and
a dynamic output grating comprising a plurality of liquid crystal (LC) pixels that are arranged in a two-dimensional array, the plurality of LC pixels including an active subset of LC pixels that are configured to out-couple the expanded image light from the output waveguide to the tracked location in accordance with switching instructions; and
a controller configured to generate the switching instructions and provide the switching instructions to the dynamic output grating.

US Pat. No. 10,165,702

OPEN CHASSIS AND SERVER MODULE INCORPORATING THE SAME

Facebook, Inc., Menlo Pa...

1. A modular chassis configurable for use with a server module, comprising:an end frame having opposed upper corner portions and opposed lower corner portions;
first and second lower beams, each having a proximal end portion connected to a respective lower corner portion of the end frame, the first and second lower beams being configured to support server components;
first and second upper beams, each having a proximal end portion connected to a respective upper corner portion of the end frame;
a first column extending between distal end portions of the first lower and first upper beams;
a second column extending between distal end portions of the second lower and second upper beams; and
a cross-member extending between the distal end portions of the first and second lower beams;
wherein:
the first and second lower beams and the first and second upper beams each include an outward facing surface and an inward facing surface;
at least one of the first and second lower beams includes a fan pocket formed in the inward facing surface and configured to retain a corner of a fan; and
at least one of the first and second upper beams includes a fan notch formed in the inward facing surface and configured to retain another portion of the fan.

US Pat. No. 10,110,330

RELAY SYSTEM CALIBRATION FOR WIRELESS COMMUNICATIONS BETWEEN A HEAD-MOUNTED DISPLAY AND A CONSOLE

Facebook Technologies, LL...

1. A calibration system for calibrating a relay coupled to a console and a head mounted device, comprising:a first path coupling a first antenna array of the relay and a second antenna array of the relay, the first antenna array for coupling with the console and the second antenna array for coupling with the head mounted display, the first path including a variable gain amplifier;
a second path between a single tone generator and the second antenna array,
a frequency mixer configured to combined a first signal on the first path and a second signal on the second path to generate a combined signal;
a baseband processor configured to measure a difference between the combined signal and the second signal, the difference between the combined signal and the second signal for controlling a gain of the variable gain amplifier.

US Pat. No. 9,448,962

USER EXPERIENCE/USER INTERFACE BASED ON INTERACTION HISTORY

Facebook, Inc., Menlo Pa...

1. A method comprising:
by a computing device, accessing a base user experience (UX) of a social-networking system comprising a user interface (UI)
corresponding to one or more features of the social-networking system;

by the computing device, computationally determining one or more user categories based at least in part on information associated
with previous interactions by a plurality of users with the social-networking system;

by the computing device, classifying a particular user into one or more of the user categories based at least in part on the
interactions of the particular user with the social-networking system, wherein the classification comprises applying a machine-learning
algorithm to the interactions of the particular user, and wherein the machine-learning algorithm is trained using the previous
interactions by the plurality of users;

by the computing device, determining, relative to the base UX, one or more modifications comprising an addition of one or
more graphical elements of the UI for display to the particular user, one or more of the graphical elements comprising a guided
tour illustrating one or more of the features of the UI, the modifications being configured to personalize the UI individually
to the particular user based at least in part on the computational determination of one or more of the user categories applicable
to the particular user;

by the computing device, assigning a value to a particular functionality based at least in part on an objective of a computing
system comprising the computing device;

by the computing device, selecting one or more of the graphical elements corresponding to the particular functionality with
a highest value relative to the objective;

by the computing device, applying the modifications to the UI; and
by the computing device, providing the UI as modified for display to the particular user.

US Pat. No. 9,047,847

DISPLAYING CLUSTERS OF MEDIA ITEMS ON A MAP USING REPRESENTATIVE MEDIA ITEMS

Facebook, Inc., Menlo Pa...

1. A method of displaying media items on a map, comprising:
obtaining a plurality of media items;
selecting a first representative media item that defines a first region, wherein the first region is defined based at least
in part on a pixel location associated with the selected first representative media item;

determining, using one or more computer processors, a first set of media items that belong to the first region;
selecting a second representative media item, wherein the second representative media item does not belong to the first region,
and the second representative media item defines a second region, wherein the second region is defined based at least in part
on a pixel location associated with the selected second representative media item;

determining a second set of media items that belong to the second region; and
displaying on the map the first set of media items that belong to the first region and the second set of media items that
belong to the second region, including displaying the first representative media item on the map at a first location corresponding
to the first region, and displaying the second representative media item on the map at a second location corresponding to
the second region.

US Pat. No. 9,203,787

IDENTIFYING USERS SHARING COMMON CHARACTERISTICS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
determining, by at least one processor, a location of a mobile device associated with a first user of a communications system
based on location information of the mobile device associated with the first user;

identifying, by the at least one processor, a plurality of descriptions of the location of the mobile device associated with
the first user;

receiving, based on input by the first user, a selection of a description of the location from the plurality of descriptions;
determining that a second user of the communications system is at or near a geographic location associated with the selected
description of the location of the mobile device; and

sending an electronic message to the mobile device associated with the first user indicating that the second user is at or
near the geographic location associated with the selected description of the location of the mobile device.

US Pat. No. 10,255,881

PRODUCTION CHARACTERIZATION OF PANEL AGING

Facebook Technologies, LL...

1. A method comprising:drive an electronic display under an input setting;
measure a first measurement of luminance of the electronic display while driving the electronic display under the input setting;
drive the electronic display with an input sequence;
drive the electronic display under a same input setting;
measure a second measurement of luminance of the electronic display while driving the electronic display under the same input setting;
determine one or more compensation factors for each subpixel of the electronic display by extrapolating a degradation curve based on the first luminance measurement, the second luminance measurement, and a previous characterization of a subpixel on a second electronic display; and
store the one or more compensation factors for use by a head-mounted display.

US Pat. No. 10,228,565

VARIABLE FOCUS WAVEGUIDE DISPLAY

Facebook Technologies, LL...

1. A waveguide display, comprising:a light source configured to emit image light in accordance with scanning instructions;
a first source waveguide including a first entrance area and a first exit area, the first source waveguide configured to receive the image light from the light source at the entrance area, expand the image light in at least one dimension, and output a first expanded image light from the first exit area, a first curvature of the first source waveguide being adjustable;
an output waveguide including an input area and an output area, the output waveguide positioned to receive the first expanded image light emitted from the first source waveguide at the input area, and output the first expanded image light from the output area, a second curvature of the output waveguide being adjustable and orthogonal to the first curvature;
an actuator assembly including a first set of actuators and a second set of actuators and configured to adjust the first curvature of the first source waveguide and the second curvature of the second source waveguide, the first set of actuators configured to adjust the first curvature of the first source waveguide and the second set of actuators configured to adjust the second curvature of the second source waveguide; and
a controller configured to generate the scanning instructions and provide the scanning instructions to the light source and the actuator assembly.

US Pat. No. 10,161,791

MEASUREMENT OF DISPLAY CHARACTERISTICS OF ELECTRONIC DISPLAY PANEL USING OPTICAL TAPERS

Facebook Technologies, LL...

1. An apparatus for measuring characteristics of a display panel, the apparatus comprising:an array of optical elements, each of the optical elements comprising:
a first surface configured to receive light from a plurality of pixels of the display panel, the first surface facing the display panel and having a first area;
a second surface configured to emit light, the emitted light corresponding to a combined version of the light received by the first surface, the second surface facing away from the display panel and having a second area smaller than the first area; and
a light sensor facing the second surface of each of the optical elements to measure one or more parameters of the emitted light.

US Pat. No. 9,298,890

PREVENTING UNAUTHORIZED ACCOUNT ACCESS USING COMPROMISED LOGIN CREDENTIALS

Facebook, Inc., Menlo Pa...

1. A computer implemented method comprising:
receiving a list of login credentials for a plurality of users, the list comprising a plurality of user account identifiers,
each user account identifier being associated with a password, the login credentials on the list being known to have been
compromised due to the list of login credentials having been obtained by a malicious party;

receiving first login information submitted from a client device in connection with an attempt to login to an online system,
the login information including a submitted user account identifier and a submitted password;

determining whether the received first login information matches login credentials on the list of known compromised login
credentials;

responsive to the received first login information matching any of the known compromised login credentials on the list,
identifying a source location from which the first login information was received, and
determining that the source location may be suspicious since the first login information is on the list, however the attempt
to login could be a valid attempt by a valid user who is an owner of the first login information;

receiving second login information submitted from a client device in connection with an attempt to login to an online system,
the second login information being different from the first login information;

responsive to the received second login information matching any of the login credentials on the list of known compromised
login credentials,

identifying a source location from which the second login information was received,
determining that the source location from which the second login information was received is the same as the source location
from which the first login information was received,

based on the determination, requiring a security challenge associated with the attempt to login to the online system with
the second login information, and

based on a failure to meet the security challenge, denying the attempt to login to the online system with the second login
information; and

denying login for each subsequent login attempt from the same source location, including denying login attempts with login
information that is not on the list of known compromised login credentials.

US Pat. No. 10,203,504

SCANNING WAVEGUIDE DISPLAY

Facebook Technologies, LL...

1. A waveguide display, comprising:a first light source configured to emit first image light within a first band of light in accordance with scanning instructions;
a second light source configured to emit second image light within a second band of light in accordance with the scanning instructions, the second band of light different from the first band of light;
a first source waveguide including a first entrance area and a first exit area, the first source waveguide configured to receive the first image light from the first light source at the first entrance area, expand the first image light in at least one dimension, and output a first expanded image light from the first exit area;
a second source waveguide including a second entrance area and a second exit area, the second source waveguide configured to receive the second image light from the second light source at the second entrance area, expand the second image light in at least one dimension, and output a second expanded image light from the second exit area,
an output waveguide including an input area and an output area, the output waveguide positioned to receive the first expanded image light emitted from the first source waveguide and the second expanded image light from the second source waveguide at the input area, and to output the first expanded image light combined with the second expanded image light as a polychromatic image from the output area; and
a controller configured to generate the scanning instructions and provide the scanning instructions to the first light source and the second light source.

US Pat. No. 10,177,196

REDUNDANCY IN INORGANIC LIGHT EMITTING DIODE DISPLAYS

Facebook Technologies, LL...

1. A method for manufacturing a display device comprising pixels, each pixel comprising sub-pixels, each sub-pixel configured to provide light of a given wavelength, the method comprising:performing, using a pick up tool (PUT), a first placement cycle comprising:
picking up first light emitting diode (LED) dies, the first LED dies including a first LED die including at least one LED emitter; and
placing the first LED dies on a substrate of the display device at locations corresponding to the pixels of the display device, the at least one LED emitter of the first LED die is placed at a location corresponding to a sub-pixel of a pixel;
determining a number of subsequent placement cycles based on a model that defines the number of subsequent placement cycles based on predicted device yields of a fabrication process for the first LED dies; and
performing, using the PUT, one or more subsequent placement cycles, a subsequent placement cycle comprising:
picking up second LED dies, the second LED dies including a second LED die including at least one second LED emitter; and
placing the second LED dies on the substrate of the display device at the locations corresponding to the pixels of the display device, the at least one second LED emitter is placed at a second location corresponding to the sub-pixel of the pixel.

US Pat. No. 10,133,076

HYBRID FRESNEL LENS WITH REDUCED ARTIFACTS

FACEBOOK TECHNOLOGIES, LL...

1. A display device, comprising:a lens, defined by a first lens surface and a second lens surface opposite to the first lens surface, wherein:
a first portion of the first lens surface is defined by a smooth surface profile function;
a second portion of the first lens surface is defined by a Fresnel surface profile function;
the second portion of the first lens surface is around the first portion of the first lens surface;
the first portion and the second portion of the first lens surface are defined by a sum of two surface profile functions;
a first surface profile function of the two surface profile functions defines a smooth surface profile across the first portion and the second portion of the first lens surface;
the smooth surface profile defined by the first surface profile function corresponds to an aspheric curve; and
a second surface profile function of the two surface profile functions defines:
a smooth surface profile across the first portion of the first lens surface; and
a Fresnel surface profile across the second portion of the first lens surface; and
an array of light emitting devices coupled with the lens for outputting light through the lens.

US Pat. No. 10,031,921

METHODS AND SYSTEMS FOR STORAGE OF MEDIA ITEM METADATA

FACEBOOK, INC., Menlo Pa...

1. A method, comprising:at a server system with one or more processors and memory:
maintaining a database storing metadata for a plurality of media items, the plurality of media items including a first media item, wherein the first media item corresponds to a first node in a tree, the tree including nodes corresponding to the plurality of media items, and wherein the database stores a first metadata structure for the first media item;
causing, based upon the metadata stored in the database, a first graphical representation of the tree to be displayed on a user interface at a client device, the first graphical representation including a first graphical element representing the first node;
receiving, from the client device, metadata corresponding to a modified media item, wherein the modified media item is a modified version of the first media item, and wherein the metadata corresponding to the modified media item is received in connection with a user selection of the first graphical element in the first graphical representation of the tree for modifying the first media item, and user input modifying the first media item; and
in response to receiving the metadata corresponding to the modified media item, adding a second metadata structure to the database for the modified media item, the second metadata structure including the metadata corresponding to the modified media item, and appending, to the tree, a new leaf node that is linked to the first node, wherein the new leaf node corresponds to the modified media item.

US Pat. No. 9,342,831

FACILITATING SAME DAY PAYMENT TRANSACTIONS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving, at one or more servers from a first client device associated with a user, a payment message from the user directed
to a co-user, the payment message including a payment amount associated with a payment transaction between the user and the
co-user;

sending, by the one or more servers, the payment message to a second client device associated with the co-user;
sending, by the one or more servers to a payment network, a charge request against a payment credential of the user for the
payment amount of the payment message; and

sending, by the one or more servers in response to the payment message, a push-to-debit request to the payment network to
credit funds for the payment amount of the payment message to a debit card of the co-user as an unreferenced refund to the
debit card of the co-user, the push-to-debit request being formatted for same day processing.

US Pat. No. 10,163,360

NAVIGATION CONTROLLER FOR VIRTUAL-REALITY SYSTEMS

Facebook Technologies, LL...

1. A virtual-reality navigation controller, comprising:a base;
a seating portion, including:
a seat for supporting a weight of a user seated thereon; and
a back-rest coupled to the seat to move integrally with the seat and to support the user's back;
a displacement connector between the seating portion and the base to reciprocate the seating portion upwards and downwards, wherein the displacement connector includes a piston, a first check-valve, in the piston, having a first cross-sectional area, and a second check-valve, in the piston, having a second cross sectional area smaller than the first cross-sectional area;
wherein:
when the user ascends from the seat, the first check-valve is configured to open and the second check-valve is configured to close, thereby moving the seating portion upwards at a first speed as a compressible fluid in the displacement connector moves through the first check-valve in a first direction; and
when the user's body rests back on the seat, the first check-valve is configured to close and the second check-valve is configured to open, thereby moving the seat portion downwards at a second speed as the compressible fluid moves through the second check-valve in a second direction, opposite the first direction, the second speed being slower than the first speed.

US Pat. No. 10,133,168

COMPACT LIGHT PROJECTION SYSTEM INCLUDING AN ANAMORPHIC REFLECTOR ASSEMBLY

Facebook Technologies, LL...

1. A light projection system comprising:a light source configured to emit image light;
a correction element configured to mitigate aberration; and
an anamorphic reflector assembly including a first surface and a second surface, the first surface configured to reflect the image light toward the second surface which reflects the reflected image light to output it from the anamorphic reflector assembly, and the first surface and the second surface are both curved and non-rotationally symmetric such that the light output from the anamorphic reflector assembly is collimated image light; and
wherein the collimated image light is optically corrected based in part on mitigation of aberration by the correction element.

US Pat. No. 10,068,258

SPONSORED STORIES AND NEWS STORIES WITHIN A NEWSFEED OF A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:logging, by a social networking computer system, information related to actions performed by users of a social networking system;
receiving, by the social networking computer system, an advertisement request from an advertiser to sponsor stories for display in user interfaces for viewing users, each of the sponsored stories comprising:
a message to a viewing user of the social networking system that includes information related to an action performed by one or more users with whom the viewing user is connected in the social networking system,
wherein the action is selectable by the advertiser from a plurality of actions provided to the advertiser by the social networking computer system;
for each of the viewing users:
selecting, by the social networking computer system, information about one or more actions performed by other users with whom the viewing user is connected in the social networking system to identify candidate information to include in stories for display to the viewing user in a newsfeed;
identifying, from the candidate information, matches with an action of the advertisement request;
generating, by a computer processor of the social networking computer system, a plurality of news stories based on the selected candidate information and a plurality of sponsored stories based on the selected candidate information that was identified as a match with an action of the advertisement request;
generating, by the social networking computer system, a feed that comprises:
the generated sponsored stories; and
the generated plurality of news stories,
wherein the feed includes a combination of generated news stories and generated sponsored stories that are personalized to the viewing user; and
providing, for display by the social networking computer system, user interfaces including each of the generated feeds for each of the viewing users such that the feeds are different for different viewing users, wherein some of the stories that are sponsored stories in one feed appear as non-sponsored news stories in other feeds.

US Pat. No. 9,230,265

MANAGING TARGETING OF ADVERTISEMENTS BASED ON USER ASSOCIATIONS WITH SOCIAL NETWORKING OBJECTS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
storing, by a social networking computer system, an object associated with an entity;
storing, by the social networking computer system, a set of connections between the object and one or more users of the social
networking computer system;

receiving, from the entity, a competitive block list associated with the object, the competitive block list including one
or more advertisers whom the entity identified as ones to be prevented from targeting advertisements to users based on the
users having connections to the object associated with the entity;

receiving an advertisement associated with an advertiser other than the entity;
determining, by the social networking computer system, whether the advertisement is associated with targeting criteria specifying
users connected to the object;

responsive to determining the advertisement is associated with targeting criteria specifying users connected to the object,
retrieving the competitive block list associated with the object;

preventing, by the social networking computer system, use of the targeting criteria specifying users connected to the object
if the advertiser is included on the competitive block list associated with the object; and

determining, by the social networking computer system, that the targeting criteria specifying users connected to the object
are valid if the advertiser is not included on the competitive block list associated with the object.

US Pat. No. 9,401,956

SYSTEMS AND METHODS FOR PERFORMING GROUP ACTIONS BASED ON MACHINE-READABLE CODES

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
obtaining, by a computing system, data describing a machine-readable code that references a group, the data being provided
by a computing device of a user;

identifying, by the computing system, the group based at least in part on the machine-readable code;
determining, by the computing system, that the user satisfies one or more criteria that needs to be satisfied before the user
is permitted to become a member of the group; and

associating, by the computing system, the user with the group, wherein, upon becoming a member of the group, the user is permitted
to perform one or more actions with respect to other members of the group.

US Pat. No. 9,380,065

SYSTEMS AND METHODS FOR IDENTIFYING ILLEGITIMATE ACTIVITIES BASED ON HISTORICAL DATA

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
acquiring, by a computing system, historical data including a plurality of features associated with known legitimate activities
and with known illegitimate activities, wherein at least some of the known legitimate activities and the known illegitimate
activities include one or more financial transactions;

applying, by the computing system, a machine learning technique to the historical data to gain information about the plurality
of features associated with the known legitimate activities and with the known illegitimate activities;

generating, by the computing system, a decision tree based on at least a portion of the information about the plurality of
features;

identifying, by the computing system, a node in the decision tree that satisfies specified precision criteria;
creating, by the computing system, a rule based on the node identified in the decision tree, wherein the rule corresponds
to a conditional rule which indicates that a particular activity is illegitimate when one or more features associated with
the particular activity respectively meet one or more feature values specified by the rule; and

identifying, by the computing system, one or more illegitimate activities based on the rule, wherein applying the machine
learning technique to the acquired historical data to gain the information about the plurality of features further comprises:

determining a respective information gain for each feature in the plurality of features;
identifying a feature having a highest information gain; and
selecting a feature value, for the feature, that partitions the historical data into a first data subset and a second data
subset, wherein the feature value is selected such that a largest possible amount of known legitimate activities is in the
first data subset and a largest possible amount of known illegitimate activities is in the second data subset.

US Pat. No. 9,119,027

SHARING OF LOCATION-BASED CONTENT ITEM IN SOCIAL NETWORKING SERVICE

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving location information for a communication device of a first user of a social networking service;
determining a list of distinct locations where a first user is likely to be located based on the received location information
and a user profile of the first user;

sending the list of distinct locations to the communication device;
receiving selection of a location from the list from the communication device by the first user to indicate the location of
the first user;

retrieving additional information about the selected location of the first user from a service distinct from the social networking
service, the additional information comprising flight information or vehicle information;

determining an updated location of the first user based on the selected location and the additional information obtained from
a service distinct from the social networking service, the updated location distinct from the selected location and representing
a location of the first user after the first user was at the selected location; and

making the updated location available to a second user.

US Pat. No. 10,207,403

ROBOTIC PLATFORM AND ASSEMBLY

Facebook Technologies, LL...

1. A robotic platform, comprising:a chassis having oppositely disposed top and bottom sides, a fore end and an aft end;
a drive assembly arranged on the chassis, the drive assembly comprising a drive motor and a drive belt that is controlled by the drive motor; and
a pair of fore wheel assemblies disposed on the fore end of the chassis and a pair of aft wheel assemblies disposed on the aft end of the chassis, each of the fore and aft wheel assemblies comprising:
a caster wheel mounted to an axle for rotation about a drive axis and steering about a substantially vertical steering axis, and
a drive shaft extending along the steering axis from a first drive shaft end to a second drive shaft end, the first drive shaft end being connected to the axle and the second drive shaft end being wrapped by the drive belt such that the drive belt controls rotation of the drive shaft about the steering axis.

US Pat. No. 10,152,121

EYE TRACKING THROUGH ILLUMINATION BY HEAD-MOUNTED DISPLAYS

Facebook Technologies, LL...

1. A headset comprising:a display element configured to display content to a user wearing the headset, the display element comprising a plurality of pixels including one or more tracking pixels and a plurality of content pixels, the one or more tracking pixels configured to provide tracking light and the plurality of content pixels configured to provide light corresponding to the displayed content, wherein the plurality of content pixels are further configured to provide the light corresponding to the displayed content during a first time period of an image frame, the first time period different from a second time period of the image frame when the one or more tracking pixels are configured to provide the tracking light;
an optics block configured to direct light from the display element to an exit pupil of the headset; and
a camera configured to capture one or more images of an eye of the user in response to projecting the tracking light on the eye, the one or more captured images comprising a distortion of the projected tracking light and used in determining an orientation of the eye at a time of capturing the one or more images of the eye.

US Pat. No. 9,298,433

OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR FAST PATH EXECUTION

Facebook, Inc., Menlo Pa...

1. A method, comprising:
generating, by a computer, an intermediate representation of a script code from the script code, the script code expressed
in a computer programming language;

identifying, by the computer, a checkpoint in the intermediate representation, the checkpoint being a condition that evaluates
to at least a first value or a second value, and wherein generation of the intermediate representation following the checkpoint
is dependent on a value of the checkpoint, the checkpoint including a first intermediate representation for decrementing a
reference count of an object;

regenerating, by the computer, the checkpoint as a labeled checkpoint in a revised intermediate representation, the labeled
checkpoint including a label referencing a first portion of the intermediate representation to which execution of the script
code is to be transferred when the labeled checkpoint evaluates to the second value, wherein the first portion is separate
from a main path of execution represented by an executable control region, the regenerating including regenerating the first
intermediate representation to include the label, the label identifying the portion of the intermediate representation to
which the execution of the script code is to be transferred when the reference count evaluates to zero; and

regenerating the intermediate representation such that a second portion of the intermediate representation following the labeled
checkpoint is in the main path of execution in which the labeled checkpoint evaluates to the first value.

US Pat. No. 10,219,415

SERVER FACILITY COOLING SYSTEM

Facebook, Inc., Menlo Pa...

1. A server cooling system, comprising:a tank containing an electrically insulating liquid;
one or more servers submerged in the liquid, wherein at least a portion of the heat generated by the one or more servers is transferred to the liquid;
an elongated cooling loop extending vertically between a first end portion and a second end portion, wherein the first end portion is located in the surrounding air and the second end portion is located beneath the surface of the earth; and
a heat exchanger positioned between the tank and the cooling loop configured to transfer heat from the liquid to the cooling loop,
wherein the heat exchanger comprises a thermally conductive wall in contact with the liquid on one side and in contact with the cooling loop on an opposite side.

US Pat. No. 10,209,412

DISPLAY WITH MULTILAYER DIFFRACTIVE OPTICAL ELEMENTS

Facebook Technologies, LL...

1. A display headset comprising:an electronic display configured to emit image light in a first direction toward an exit pupil corresponding to a location of an eye of a user; and
an optics block configured to direct the image light from the electronic display to the exit pupil, the optics block comprising:
a first diffractive optical element between the exit pupil and the electronic display having a first diffractive surface facing away from the electronic display;
a second diffractive optical element positioned between the first diffractive optical element and the exit pupil, and having a second diffractive surface facing the first diffractive surface and away from the exit pupil;
a first protective layer to protect the first diffractive optical element, disposed on and covering the first diffractive surface of the first diffractive optical element facing the second diffractive optical element; and
a second protective layer to protect the second diffractive optical element, disposed on and covering the second diffractive surface of the second diffractive optical element facing the first diffractive optical element, the first protective layer and the second protective layer to compensate for a variation in a diffraction efficiency at different wavelengths and incident angles of the image light, and
wherein each of the first diffractive optical element, the second diffractive optical element, the first protective layer, and the second protective layer at least partially overlap with each other along a second direction substantially parallel to the electronic display, and intersect with center line that is substantially perpendicular to a surface of the electronic display extending from the surface of the electronic display to the exit pupil,
such that the image light emitted from the electronic display travels through the components of the optics block in the order of the first diffractive optical element, the first protective layer, the second protective layer, and the second diffractive optical element to reach the exit pupil.

US Pat. No. 10,127,732

STEREO-BASED CALIBRATION APPARATUS

Facebook Technologies, LL...

1. A method comprising:capturing a plurality of images of a virtual reality (VR) headset in a plurality of orientations;
for each orientation of the plurality of orientations of the VR headset:
receiving a signal output by an inertial measurement unit (IMU),
calculating expected orientation of the VR headset based on the received signal output by the IMU,
determining an actual orientation of the VR headset based on the plurality of captured images, and
comparing the actual orientation of the VR headset and the expected orientation of the VR headset;
generating calibration parameters for the plurality of orientations based on the comparison; and
storing the calibration parameters for the plurality of orientations of the VR headset, the calibration parameters usable to identify orientations of the VR headset during use of the VR headset.

US Pat. No. 9,300,741

CONTENT SURFACING BASED ON GEO-SOCIAL FACTORS

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more processors of a social-networking system:
accessing, by one or more of the processors, social-networking information of a user from a data store of the social-networking
system;

receiving, from a client system of the user, a location associated with the user; and
calculating, by one or more of the processors, a novelty score of the location for the user, wherein the novelty score is
inversely related to an estimate of a familiarity of the user with the location, the estimated familiarity being based on
the accessed social-networking information of the user.

US Pat. No. 9,195,632

CUSTOMIZING CONTENT DELIVERY FROM A BRAND PAGE TO A USER IN A SOCIAL NETWORKING ENVIRONMENT

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
storing, in a social networking system, a brand page associated with an entity;
storing one or more user profiles of users of the social networking system and a set of connections among the users, each
user profile including information corresponding to at least one user interest, and wherein one or more of the user profiles
includes a connection to the brand page, the information of each user profile including at least one affinity corresponding
to the at least one user interest;

receiving, from the entity, content for posting to the brand page, the content including an additional content message for
accessing additional content and at least one of: information about the entity associated with the brand page, information
about a brand of the brand page, and information about a product associated with a brand of the brand page, and the content
associated with one or more keywords describing at least one of the brand of the brand page and the information about the
product associated with the brand of the brand page, each of the one or more keywords defined by the entity;

receiving, at the social networking system, a request to access the brand page from a viewing user, the viewing user associated
with a corresponding user profile connected to the brand page stored in the social networking system;

selecting, by the social networking system, content posted to the brand page based on:
an affinity of the at least one affinity, the affinity between the at least one user interest and the content
the one or more keywords associated with the content; and
the information corresponding to the user interest in the user profile associated with the viewing user; and
presenting the selected content to the viewing user.

US Pat. No. 9,301,016

SHARING TELEVISION AND VIDEO PROGRAMMING THROUGH SOCIAL NETWORKING

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more computing systems:
receiving at a social-networking system from a video-content-provider system a request comprising a user identifier associated
with a user of the social-networking system;

querying a social graph of the social-networking system for stories generated by one or more connections of the user on the
social-networking system, the social graph comprising a plurality of nodes and edges connecting the nodes, the nodes comprising
user nodes that are each associated with a particular user of the social-networking system, wherein edges between the user
nodes identify relationships between the users of the social-networking system;

sending one or more of the stories from the social-networking system for use in connection with a service provided to the
user by the video-content provider;

receiving, at the social-networking system from the video-content provider, an indication that the user has selected a user
interface element to post a new story on the social-networking system that indicates that the user is currently watching particular
content, the user interface element being displayed along with the particular content being watched;

creating, by the social-networking system, a new edge in the social graph between a user node associated with the user and
a content node associated with the particular content that the user is currently watching;

receiving, at the social-networking system from the video-content provider, an indication that the user has selected an option
to passively share what the user watches in the future without any further explicit action from the user; and

automatically posting, by the social-networking system after receiving the indication that the user has selected the option
to passively share what the user watches in the future, new stories on the social-networking system as the user watches new
content, each new story comprising an indication of the particular new content being watched by the user, wherein the new
stories are automatically posted on the social-networking system only if the user has continuously watched the new content
longer than a predetermined amount of time.

US Pat. No. 9,251,468

INFERRING USER PROFILE ATTRIBUTES FROM SOCIAL INFORMATION

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:
selecting a user from a plurality of users of a social networking system, each user of the plurality of users being associated
with a user profile comprising a set of user profile attributes, wherein the social networking system configures a user interface
for a user to provide value for each user provided attribute and stores each user provided value as a user profile attribute;

identifying, by a computer, one or more of a set of users who are connected to the selected user in the social networking
system;

inferring, by the computer, a value of a first user profile attribute of the user profile, the first user profile attribute
storing a first type of information for the selected user, the first user profile attribute inferred based on values of a
second user profile attribute of the user profiles of the one or more of the set of users connected to the selected user in
the social networking system, the second user profile attribute storing a second type of information distinct from the first
type of information;

storing the inferred value of the user profile attributes in association with the user profile of the selected user;
determining relevant information for the selected user based on the inferred value of the first user provided attribute of
the user profile; and

sending the relevant information to the selected user.

US Pat. No. 10,330,789

PROXIMITY SENSOR SYSTEM WITH AN INFRARED OPTICAL ELEMENT

Facebook Technologies, LL...

1. A proximity sensor system for detecting presence of an object proximate to the proximity sensor system, the proximity sensor system comprising:a light emitter configured to project light in a first direction;
an optical element configured to steer the light from the light emitter from the first direction to a second direction that is non-parallel to the first direction, the optical element having:
a first surface configured to receive the light from the light emitter;
a second surface that is non-parallel to the first surface, the second surface configured to transmit a first portion of the light in the second direction and internally reflect a second portion of the light from the light emitter that is distinct from the first portion of the light from the light emitter; and
a third surface configured to prevent internal reflection of the second portion of the light by the third surface; and
a sensor configured to detect at least a portion of the first portion of the light returned from the object and transmitted through the second surface and the first surface of the optical element.

US Pat. No. 9,974,204

CABLE MANAGEMENT SYSTEM

Facebook, Inc., Menlo Pa...

1. A cable management system for use in a rack, the system comprising:a cable management panel mountable to the rack,
wherein the cable management panel includes a plurality of parallel concave grooves; and
a plurality of magnetic cable rings each sized and configured for magnetic attachment to a corresponding one of the plurality of parallel concave grooves,
wherein each magnetic cable ring includes a pair of ring halves magnetically attached to each other, whereby one or more cables can be positioned between the pair of ring halves and secured to the cable management panel.

US Pat. No. 9,305,003

RELATIONSHIP CONFIRMATION IN AN ONLINE SOCIAL NETWORK

Facebook, Inc., Menlo Pa...

1. A computer-implemented method, comprising:
receiving, from a client device of a first user of an online social network, a request to invite a second user to join the
online social network, the request comprising a user identifier of the second user, wherein the second user is not a member
of the online social network;

generating, by the one or more computer systems, an invitation based on the request, wherein the invitation comprises a mini-profile
of the first user, wherein the mini-profile is a user-specified subset of a full version of a user profile of the first user,
the user-specified subset being based on a visibility setting of the first user defining one or more elements of the user
profile of the first user viewable by other users;

sending, to a client device of a second user of the online social network, the invitation for display to the second user,
wherein the mini-profile of the first user is provided for display to the second user; and

responsive to the second user accepting the invitation to join the online social network, sending a prompt to the client device
of the second user for display, the prompt allowing the second user to confirm the relationship between the first user and
the second user within the online social network, wherein a relationship database of the online social network is updated
with the relationship between the first and second users in response to the confirming of the relationship via the prompt.

US Pat. No. 9,299,110

PERIODIC AMBIENT WAVEFORM ANALYSIS FOR DYNAMIC DEVICE CONFIGURATION

Facebook, Inc., Menlo Pa...

1. A method comprising:
by a computing system, generating a waveform fingerprint based on captured ambient audio data;
by the computing system, calculating a self-determined location of the computing system;
by the computing system, sending the generated waveform fingerprint and the self-determined location to a server;
by the computing system, receiving instructions from the server to adjust one or more device settings of the computing system,
the instructions based at least in part on identifying one or more audio fingerprints that match the generated waveform fingerprint
and correlating metadata of one or more of the identified audio fingerprints to refine the self-determined location of the
computing system; and

by the computing system, adjusting one or more of the device settings of the computing system in accordance with the received
instructions.

US Pat. No. 9,246,961

COMMUNICATION USER INTERFACE SYSTEMS AND METHODS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
presenting a graphical user interface comprising a composition area for composing an electronic communication, and a tray
area comprising a graphical element associated with a content item;

detecting, using at least one processor, a user interaction with the graphical element associated with the content item;
in response to the user interaction, presenting a preview of the content item in the composition area,
wherein the graphical user interface further comprises a plurality of modes, each mode being associated with a particular
type of content item,

wherein at least one of the plurality of modes is a text mode, a contacts mode, a places mode, or a camera mode;
detecting a second user interaction; and
in response to detecting the second user interaction, navigating from a first mode of the plurality of modes to a second mode
of the plurality of modes,

wherein the graphical user interface further comprises a menu area, wherein the menu area includes a plurality of menu items
corresponding to the plurality of modes.

US Pat. No. 10,121,823

LIGHT EMITTING DIODE CHIP

Facebook Technologies, LL...

1. An electronic display device, comprising:a light emitting diode (LED) chip, including:
a substrate; and
an array of LEDs on the substrate arranged in a plurality of rows along a longitudinal direction of the substrate, adjacent LEDs in a row of the array longitudinally offset by a longitudinal pitch that corresponds to multiples of a diameter of an LED in the row, LEDs in the row longitudinally offset from LEDs in an adjacent row of LEDs.

US Pat. No. 9,342,321

SYSTEM AND METHOD FOR CROSS-PLATFORM APPLICATIONS ON A WIRELESS PHONE

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving, at a mobile device, an application, the application comprising:
at least one display area for display on the mobile device, and
one or more rendering instructions for the at least one display area, the one or more rendering instructions comprising a
first virtual position tag specifying a generic display position of a first display element relative to a generic display
area and a second virtual position tag specifying a generic display position of a second display element relative to the generic
display position of the first display element specified by the first virtual position tag, wherein the generic display position
is device independent;

determining, by at least one processor, at least one hardware display parameter of the mobile device;
determining a specific position for the first display element based on the first virtual position tag and the at least one
hardware display parameter;

determining a specific position for the second display element based on the second virtual position tag and the determined
specific position for the first display element; and

generating a display layout for the at least one display area that includes the first display element in the specific position
for the first display element and the second display element in the specific position for the second display element.

US Pat. No. 10,330,887

FLEXIBLE MEMBRANES CONNECTED TO MOVABLE LENSES OF HEAD-MOUNTED DISPLAY SYSTEMS AND RELATED TECHNOLOGY

Facebook Technologies, LL...

1. A head-mounted display system, comprising:a display housing;
one or more displays within the display housing;
a first lens and a second lens operably associated with the one or more displays, wherein a lateral distance between the first and second lenses is adjustable such that an adjustment of the lateral distance changes dimensions of internal areas around the first lens and second lens;
a perimeter frame coupled to a proximal perimeter portion of the display housing; and
a flexible membrane having a region extending between the first and second lenses, wherein:
the region of the membrane is configured to resiliently expand as the lateral distance between the first and second lenses increases and to resiliently contract as the lateral distance between the first and second lenses decreases, rather than leaving the internal areas around the first lens and second lens exposed, such that the flexible membrane shields the one or more displays of the display housing from at least one of light, dust, and impact;
the flexible membrane is configured to cover a user's nose when the user is wearing the display system;
the flexible membrane is made at least primarily of fabric or polymeric material;
the region of the membrane is a first region of the membrane;
the membrane has a second region extending between the first lens and the perimeter frame; and
the second region of the membrane is configured to resiliently contract as the lateral distance between the first and second lenses increases and to resiliently expand as the lateral distance between the first and second lenses decreases.

US Pat. No. 9,622,373

HIGH VOLTAGE DIRECT CURRENT POWER SYSTEM FOR DATA CENTERS

Facebook, Inc., Menlo Pa...

5. A shelf adapted to fit in a server rack, comprising:
an external power connector adapted to access high voltage direct current (HVDC) power from a power rail pair traversing or
crossing shelves in the server rack;

a power distribution board electrically coupled to the external power connector;
a step down direct current to direct current (DC-DC) converter electrically coupled to the power distribution board and adapted
to convert the HVDC power to a lower DC voltage usable by information technology (IT) load; and

an IT power connector electrically coupled to the power distribution board and adapted to provide the lower DC voltage to
an IT device in the shelf.

US Pat. No. 9,356,902

STRUCTURING NOTIFICATIONS OF EVENTS TO USERS IN A SOCIAL NETWORKING SYSTEM

Facebook, Inc., Menlo Pa...

1. A method comprising:
receiving a request for an invitation to an event;
generating, by the social networking system, an event page that includes content associated with the event and user responses
to invitations to the event;

communicating an invitation to the event to one or more users of a social networking system invited to the event;
receiving a response to the invitation to the event from a plurality of responding users included in the one or more users
of the social networking system invited to the event;

determining a set of uncommitted users from which the social networking system has not received a response to the invitation
to the event;

determining an affinity between each of the plurality of responding users and at least one uncommitted user of the set of
uncommitted users;

selecting a set of responding users from the plurality of responding users based on the determined affinities, wherein selecting
the set of responding users from the plurality of responding users comprises:

ranking affinities between each of the plurality of responding users and the at least one uncommitted user, wherein the affinities
between each user in the set of responding users and the at least one uncommitted user are based at least in part on historical
activity of the at least one uncommitted user with different users in the set of responding users, and

selecting one or more responding users from the plurality of responding users having a highest affinity of the ranked affinities;
and

communicating, via the event page, to the at least one uncommitted user a notification identifying the response to the invitation
to the event received from at least one user from the set of responding users.

US Pat. No. 9,232,372

SERVER-SIDE RATE-LIMITING ALGORITHMS FOR PIGGYBACKING SOCIAL UPDATES FOR MOBILE DEVICES

Facebook, Inc., Menlo Pa...

1. A method, by one or more computing devices, comprising:
receiving, from a mobile device of a first user, device status information selected from the group consisting of: information
related to power for the device, information related to network connectivity of the device, or a notification mode of the
device;

identifying one or more outgoing messages to be sent to the first user;
computing a value for each of the outgoing messages, the computed value being based on an affinity score determined with respect
to an originator of the message and the first user;

selecting, based on the computed value, at least one of the outgoing messages for placement into an outgoing message queue;
and

upon the detection of a triggering condition, sending the messages in the outgoing message queue to the mobile device, the
triggering condition based on the device status information and the respective values of the outgoing messages.

US Pat. No. 9,225,788

METHOD AND APPARATUS FOR IDENTIFYING COMMON INTEREST BETWEEN SOCIAL NETWORK USERS

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
identifying, by a social networking system, a first content object with which a first user of the social networking system
has interacted;

identifying, by the social networking system, a second content object with which a second user of the social networking system
has interacted;

associating, by the social networking system, a first keyword phrase with the first user, wherein the first keyword phrase
is associated with the first content object by conducting a reverse keyword search on the first content object, wherein the
reverse keyword search includes searching a social network search pattern database containing information of social network
relationships between content objects of the social network system and keyword phrases, and wherein the reverse keyword search
receives the first content object or an identifier of the first content object as an input, and generates a keyword phrase
that is related to the first content object as an output, and wherein the social network search pattern database is updated
by results of a new reverse keyword search;

associating, by the social networking system, a second keyword phrase with the second user, wherein the second keyword phrase
is associated with the second content object by conducting a reverse keyword search of the second content object; and

determining, by the social networking system, a common interest for the first user and the second user of the social networking
system toward a topic by identifying a match between the first keyword phrase associated with the first user with the second
keyword phrase associated with the second user.

US Pat. No. 10,276,130

DISPLAY LATENCY CALIBRATION FOR ORGANIC LIGHT EMITTING DIODE (OLED) DISPLAY

Facebook Technologies, LL...

1. A system comprising:a display having a plurality of illumination elements;
a controller configured to:
obtain, for an illumination element of the plurality of illumination elements, information about brightness levels associated with light emitted from the illumination element for at least two consecutive video frames,
retrieve information about a latency for the illumination element emitting light of a specific brightness, based on the information about brightness levels,
retrieve information about a time period for the illumination element to reach the specific brightness, and
determine a driving signal for the illumination element based on the latency, the time period and the brightness levels; and
a driver configured to apply the determined driving signal to the illumination element.

US Pat. No. 9,507,718

INTELLIGENT CACHING

Facebook, Inc., Menlo Pa...

1. A method comprising:
generating, at a computer system and in response to receiving a specified query from a client, a first read request for obtaining
a result of the specified query from a storage system;

extracting, from a plurality of candidate queries and at the computer system, a plurality of features of the candidate queries,
wherein the features are characteristics of a query;

correlating the features of each of the candidate queries to identify a usage pattern of the features, the correlating including:
identifying a specified feature of the features based on a derived value of the specified feature, the derived value being
derived from an actual value of the specified feature, the actual value and the specified feature specified in one or more
of the candidate queries;

predicting, based on the usage pattern of the features, a set of queries to be received at the computer system in the future;
executing a query of the set of queries to obtain data corresponding to the query from the storage system, the data including
time series data, wherein the data is stored at a first granularity level in the storage system, wherein executing the query
includes:

generating a second read request to obtain the data corresponding to the query,
combining the first read request and the second read request to generate a combined read request, and
executing the combined read request at the storage system to obtain the result of the specified query and the data corresponding
to the query;

determining, based on the predicting, a second granularity level at which the data is to be cached, the second granularity
level being different from the first granularity level;

processing the data from the first granularity level to the second granularity level to generate processed data; and
updating a cache of the computer system with the processed data, the updating to be performed before any of the set of queries
is received at the computer system.

US Pat. No. 9,471,516

TECHNIQUES FOR TRANSMITTING A COMMAND TO CONTROL A PERIPHERAL DEVICE THROUGH AN AUDIO PORT

FACEBOOK, INC., Menlo Pa...

1. A method comprising:
receiving, at a processor circuit for a computing device, a command originating from an application, the command to update
a display of a peripheral device coupled to the computing device via an interconnect having an audio jack coupled with an
audio port of the computing device;

generating analog signals that include the command and a clock signal, the analog signals configured to be converted into
a serial output signal by the interconnect; and

transmitting the analog signals through the audio port coupled with the audio jack.

US Pat. No. 9,448,599

HIGH-DENSITY STORAGE SERVER CHASSIS

FACEBOOK, INC., Menlo Pa...

1. A storage server chassis for supporting one or more storage devices, comprising:
a frame;
a plurality of partitions mounted to the frame;
at least one opposed pair of support ledges disposed on corresponding partitions and positioned to support a storage device
therebetween;

wherein selected support ledges include at least one protrusion positioned to space the storage device away from a portion
of the support ledge thereby defining an air flow region between the storage device and the support ledge; and

at least one retainer moveably attached to a corresponding partition and operative to retain a corresponding storage device
in the frame, wherein the retainer is movable relative to the corresponding partition between an open position and a closed
position.