A Tale of 3 Patents

Before Lucia and me decided to take a more systematic and scalable approach towards the selection of relevant patents, I performed a manual, preliminary search at Fresh Patents which yielded around 100 results containing certain important keywords in the title (e.g.: categorizing, targeting, clustering, etc). From this preliminary selection, I read three patents:

  • US 0221013 A1 – Routine Estimation
  • US 0212664 A1 – Presenting suggestion content in reaction to content generation
  • US 8978133 B2 – Categorizing social networking system users based on user connections to objects

US 0221013 A1 – Routine Estimation

This patent was published on August 7th, 2014 and describes methods for determining time-based routines of users based on geo-location data from their mobile computing devices.

In order to do so, a geo-location centroid is calculated for each geo-location cluster. A geo-location cluster is formed based on time of the day and day of the week, and contains several geo-location data points received from a given user’s mobile device. Once calculated, geo-location centroids are put into one or more groups and used to infer the user’s routine. For example, the proposed method might infer a given user’s home location based on non-work hours, and, likewise, workplace location based on work hours.

Figure 5 – Example method for grouping ambient-location updates

Figure 6 – Example method for routine estimation

Figure 7 – Example method for labeling a pattern of a user

Another possible application of the Routine Estimation method concerns itself with the sending of notifications about the current geo-location of a given user to other users having a relationship with said user, assuming that there is a significant deviation from previously inferred routines. For example: “The notification that the first user is deviating from his routine by being in San Francisco may be sent to ‘friends’ with a current geo-location in San Francisco.”

Figure 8 – Example method for providing a routine deviation notification.

US 0212664 A1 – Presenting suggestion content in reaction to content generation

This patent was published on July 27th, 2017 and describes a method for presenting reaction content items to users who recently posted content to a page where they might hold a certain role, such as page administrator. These reaction content items can, for example, alert the user to new features they can use, contain analytical information about the page and/or provide tips.

Whilst I didn’t consider the actual description of the method claimed by this specific patent to be of much relevance for our research, there were still certain insights that the reading of this document provided me with, namely as regards the storage of different types of content by Facebook’s system.

User Profile Store

As the name indicates, the user profile store stores Facebook user’s profiles. A user profile may contain information that the user explicitly shared, as well as profile information inferred by the social networking system. Some examples of stored information are biographic info, demographic info, work experience, educational history, gender, hobbies or preferences, location, images, videos, etc.

A user profile in the user profile store might also be connected to actions, stored in the action store, performed by the user on content items, stored in the content store.

Content Store

The content store stores objects representing different types of content, such as page posts, status updates, photos, videos, links, shared content items, check-in events, brand pages, etc. The objects might be received from third party applications or third party applications independent from Facebook.

Action Store

The action store stores information about user actions, and is populated with the help of the action logger. The action logger not only receives communications about user actions on Facebook, but also about user actions performed on third party systems that communicate information to Facebook. Some examples of actions are adding a friend, sending a message, uploading an image, reading a message, viewing content associated with another user, commenting posts, sharing links, joining a group, creating an event, liking a page, etc.
Data from the action store may be used to infer interests and preferences of a user.

Edge Store

The edge store not only stores information about connections between users and other objects on Facebook, but also information about affinity scores for interests, objects and other users. This affinity score is calculated on the basis of user action.

“For example, a feature may represent the level of interest that a user has in a particular topic, the rate at which the user logs into the social networking system, or information describing demographic information about a user.”

US 8978133 B2 – Categorizing social networking system users based on user connections to objects

This patent was published on March 10th, 2015 and describes a method for calculating disabled connectivity scores for a user reporting malicious activity or a user identified by the report. This disabled connectivity score is calculated on the basis of the connections a given user has to other objects that have been disabled by Facebook. This disabled connectivity score then provides a measure “of the user’s trustworthiness” and determines which action will be taken in response to the report, that is, if the report will be ignored, further reviewed or taken action on.

Figure 3 – Flow chart of a method for determining an action to be taken in response to a report of malicious activity

Inferences of a user’s character might be a result of the methods described within this document:

“For example, the disabled connectivity score indicates that a report of malicious activity should be ignored because many of the objects to which the target user is connected have been determined to be malicious and disabled or deleted by the social networking system, suggesting that the user does not have good character

The disabled connectivity score for a target user is based on:

a) 1st order connections (e.g.: percentage of users connected with target user that has been disabled, percentage of liked pages that have been disabled, percentage of deleted groups that the target user has created and/or administered, etc.)

b) Second order connections (e.g.: percentage of disabled users or administrators that the target user also liked or administered, percentage of disabled administrators or members of groups that the target user created, administrated or joined, etc)

Figure 1 – Process flow diagram of data for calculating a disabled connectivity score for a target user

First order connections weigh more than second order connections for the purposes of this calculation. Facebook also stores the reason why objects have been disabled/deleted, as well as the different weights of the target user’s connections.

As specified by the document, this method of scoring based on first and second order connections might also be used to categorize a target user based on religious activities, sports activities, academic activities, music interests, etc.

This document provides us also with information regarding an additional store to the ones previously mentioned (user profile store, content store, etc) – the object store.
The object store stores information about content maintained by Facebook (e.g.: applications, events, groups, pages, products or services, media items, locations associated with a user, concepts or other terms (e.g.:’Victorian literature’), etc). An object may represent an entity existing on Facebook, an entity existing outside the domain of Facebook (e.g.: a website), or a real-world entity (e.g.: a retail store). The object store may also store the metadata associated with these objects.