IP Library Granted Patent US 10,657,322
Granted Patent B2
US 10,657,322 · App. 14/931,111 · Granted May 19, 2020

Systems and methods to optimize acquisition of templates for content items in news feed

Inventors: Brian Daniel Amerige (Menlo Park, CA); Tirunelveli R. Vishwanath (Sunnyvale, CA)
Assignee: Facebook, Inc.
G06F40/186G06F40/14G06F40/197H04L67/42G06Q50/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,657,322
App. No.
14/931,111
Granted
May 19, 2020
Kind
B2
Abstract

Systems, methods, and non-transitory computer readable media are configured to maintain a plurality of templates that specify presentation of types of content items in a news feed, each template of the plurality of templates having an identifier. An identifier of a template associated with a content item to be presented in the news feed is received. It is determined whether the identifier of the template associated with the content item matches an identifier of a template of the plurality of templates.

Claims (42)

1. A computer-implemented method comprising:

receiving, at a computing system in communication with a social networking system, a plurality of templates that specify presentation of types of content items in a news feed of the social networking system from one or more publishers different from the social networking system, wherein the computer system is a client computing device;

maintaining, at the computing system, the plurality of templates, each template of the plurality of templates having a template identifier and a template version number;

receiving a content item to be presented in the news feed;

receiving from the social networking system, by the computing system, metadata associated with the content item, wherein the metadata includes a content identifier and a content version number for identifying a particular template to generate a layout for presenting the content item;

determining, by the computing system, that a template identifier of a template in the plurality of templates matches the content identifier of the content item and a template version number of the template matches the content version number provided in the metadata associated with the content item; and

presenting, by the computing system, the content item in a layout determined based at least in part on the determined template.

2. The computer-implemented method of claim 1 , wherein the types of content items includes at least one of a type of content items having text, a type of content items having a photo, and a type of content items having a video.

3. The computer-implemented method of claim 1 , wherein the maintaining the plurality of templates further comprises:

storing the plurality of templates and associated identifiers in a cache of the client computing device.

4. The computer-implemented method of claim 3 , further comprising:

obviating communication of a request for the template to a server system based on a match between the identifier of the template associated with the content item and an identifier of a template of the plurality of templates stored in the cache; and

parsing the template to present the content item in the news feed.

5. The computer-implemented method of claim 1 , wherein the template is designed in a domain specific language.

6. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

receiving, at a computing system in communication with a social networking system, a plurality of templates that specify presentation of types of content items in a news feed of the social networking system from one or more publishers different from the social networking system, wherein the computer system is a client computing device;

maintaining the plurality of templates, each template of the plurality of templates having a template identifier and a template version number;

receiving a content item to be presented in the news feed;

receiving from the social networking system metadata associated with the content item, wherein the metadata includes a content identifier and a content version number for identifying a particular template to generate a layout for presenting the content item;

determining, by the computing system, that a template identifier of a template in the plurality of templates matches the content identifier of the content item and a template version number of the template matches the content version number provided in the metadata associated with the content item; and

presenting, by the computing system, the content item in a layout determined based at least in part on the determined template.

7. The system of claim 6 , wherein the types of content items includes at least one of a type of content items having text, a type of content items having a photo, and a type of content items having a video.

8. The system of claim 6 , wherein the maintaining the plurality of templates further comprises:

storing the plurality of templates and associated identifiers in a cache of the client computing device.

9. The system of claim 8 , further comprising:

obviating communication of a request for the template to a server system based on a match between the identifier of the template associated with the content item and an identifier of a template of the plurality of templates stored in the cache; and

parsing the template to present the content item in the news feed.

10. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

receiving, at a computing system in communication with a social networking system, a plurality of templates that specify presentation of types of content items in a news feed of the social networking system from one or more publishers different from the social networking system, wherein the computer system is a client computing device;

maintaining the plurality of templates, each template of the plurality of templates having a template identifier and a template version number;

receiving a content item to be presented in the news feed;

receiving from the social networking system metadata associated with the content item, wherein the metadata includes a content identifier and a content version number for identifying a particular template to generate a layout for presenting the content item;

determining, by the computing system, that a template identifier of a template in the plurality of templates matches the content identifier of the content item and a template version number of the template matches the content version number provided in the metadata associated with the content item; and

presenting, by the computing system, the content item in a layout determined based at least in part on the determined template.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the maintaining the plurality of templates further comprises:

storing the plurality of templates and associated identifiers in a cache of the client computing device.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the types of content items includes at least one of a type of content items having text, a type of content items having a photo, and a type of content items having a video.

13. The non-transitory computer-readable storage medium of claim 12 , further comprising:

obviating communication of a request for the template to a server system based on a match between the identifier of the template associated with the content item and an identifier of a template of the plurality of templates stored in the cache; and

parsing the template to present the content item in the news feed.

Assignments (2)
CHANGE OF NAME Recorded Nov 24, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058957/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2016
From: AMERIGE, BRIAN DANIEL; VISHWANATH, TIRUNELVELI R.
To: FACEBOOK, INC.
Reel/Frame 038206/0774 →