IP Library Granted Patent US 10,158,548
Granted Patent B2
US 10,158,548 · App. 15/246,096 · Granted Dec 18, 2018

Methods and systems for signing resource identifiers

Inventors: Dekel Shmuel Naar (Tel Aviv, IL); Itay Duvdevani (Rosh HaAyin, IL)
Assignee: Facebook, Inc.
H04L43/106H04L12/1496H04L67/02H04L67/2804H04L67/2871
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,158,548
App. No.
15/246,096
Granted
Dec 18, 2018
Kind
B2
Abstract

Methods and systems for processing web pages by a server system (e.g., a proxy server) are disclosed. The proxy server is coupled to a user device and a plurality of web servers. The proxy server receives a first request for a first web page provided by a first web server from the user device. The first web page is zero-rated. In response to receiving the first request, the proxy server retrieves the requested first web page from the first web server. The proxy server then processes the retrieved first web page. The proxy server identifies one or more resource identifiers contained within the retrieved first web page and appends one or more signatures to the identified one or more resource identifiers respectively. Each identified resource identifier is associated with a content item that is zero-rated. The proxy server further forwards the processed first web page to the user device.

Claims (67)

1. A method, comprising:

at a proxy server having one or more processors and memory storing instructions for execution by the one or more processors, wherein the proxy server is coupled to a user device and a plurality of web servers:

receiving, from the user device, a first request for a first web page provided by a first web server, wherein the first web page includes one or more zero-rated content items, each zero-rated content item comprising free content provided to a user at no cost to the user;

in response to receiving the first request, retrieving, from the first web server, the requested first web page;

processing the retrieved first web page, comprising:

identifying one or more resource identifiers contained within the retrieved first web page, each resource identifier associated with a respective zero-rated content item of the one or more zero-rated content items of the first web page;

for each of the identified one or more resource identifiers, appending a respective signature corresponding to the respective zero-rated content item of the one or more zero-rated content items;

forwarding the processed first web page to the user device;

receiving, from the user device, a second request that includes a first resource identifier of the retrieved first web page, the second request including a first signature appended to the first resource identifier, wherein the first resource identifier is associated with a first zero-rated content item;

validating the first signature; and

in accordance with a determination that the first signature is valid, retrieving the first zero-rated content item to provide to the user.

2. The method of claim 1 , further comprising:

storing a first whitelist of web pages; and

determining whether the retrieved first web page is included in the first whitelist;

wherein processing the retrieved first web page is performed in accordance with a determination that the retrieved first web page is included in the first whitelist.

3. The method of claim 2 , further comprising:

receiving, from the user device, a second request for a second web page provided by a second web server;

in response to receiving the second request, retrieving, from the second web server, the requested second web page;

determining whether the retrieved second web page is included in the first whitelist; and

in accordance with a determination that the retrieved second web page is not included in the first whitelist, sending an alert to the user device without processing the retrieved second web page.

4. The method of claim 1 , further comprising:

generating the one or more signatures in association with the one or more resource identifiers, wherein a respective signature of the one or more signatures is a hash value of a corresponding resource identifier of the one or more resource identifiers.

5. The method of claim 4 , further comprising:

storing the generated one or more signatures in association with the respective one or more resource identifiers and in association with the retrieved first web page in a database of the proxy server.

6. The method of claim 4 , wherein:

the first signature includes a timestamp that expires after a predetermined time period;

validating the first signature comprises determining whether the timestamp of the first signature has expired; and

retrieving the first zero-rated content item is performed in response to a determination that the first timestamp has not expired.

7. The method of claim 5 , wherein validating the first signature comprises checking the first signature against one or more signatures stored in the database of the proxy server.

8. The method of claim 7 , further comprising:

in accordance with a determination that the second request does not include a valid signature appended to the first resource identifier, blocking the second request.

9. The method of claim 1 , further comprising:

storing a second whitelist of zero-rated types of content items or zero-rated resource identifiers.

10. The method of claim 9 , further comprising:

storing a blacklist of resource identifiers or content item types that are not zero-rated.

11. The method of claim 10 , further comprising:

validating the first resource identifier in the second request against the second whitelist and the blacklist to determine whether the first zero-rated content item associated with the first resource identifier is zero-rated.

12. The method of claim 5 , wherein:

the first signature includes a timestamp that expires after a predetermined time period; and

the method further comprises:

determining whether the timestamp of the first signature has expired;

in accordance with a determination that the first timestamp has expired:

blocking the second request; and

sending a notification to the user device.

13. A method, comprising:

at a computing device having one or more processors and memory storing instructions for execution by the one or more processors, wherein the computing device is coupled to a proxy server for zero-rating:

sending, to the proxy server, a first request for a web page that includes one or more zero-rated content items, wherein the one or more zero-rated content items comprise free content items provided to a user at no cost to the user;

in response to the first request, rendering the web page received from the proxy server, the received web page including one or more resource identifiers, each resource identifier associated with a respective zero-rated content item of the one or more zero-rated content items of the first web page, appended with one or more signatures respectively;

generating a second request for obtaining a first zero-rated content item associated with a first resource identifier of the one or more resource identifiers, wherein the generated second request includes a first signature appended to the first resource identifier; and

sending the second request to the proxy server.

14. The method of claim 13 , wherein the one or more signatures are generated by the proxy server to be in association with the one or more resource identifiers, a respective signature of the one or more signatures being a hash value of a corresponding resource identifier of the one or more resource identifiers.

15. The method of claim 13 , wherein a respective signature of the one or more signatures includes a timestamp that expires after a predetermined time period.

16. The method of claim 13 , further comprising:

displaying a list of resource identifiers corresponding to one or more web pages provided by respective web servers, wherein the one or more web pages include one or more zero-rated content items;

receiving a user selection of a first resource identifier from the list of the resource identifiers; and

in response to receiving the user selection, generating the first request.

17. The method of claim 13 , wherein the second request is generated in response to rendering the web page on the user device.

18. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of an electronic device, the one or more programs including instructions for:

receiving, from the user device, a first request for a first web page provided by a first web server, wherein the first web page includes one or more zero-rated content items, each zero-rated content item comprising free content provided to a user at no cost to the user;

in response to receiving the first request, retrieving, from the first web server, the requested first web page;

processing the retrieved first web page, comprising:

identifying one or more resource identifiers contained within the retrieved first web page, each resource identifier associated with a respective zero-rated content item of the one or more zero-rated content items of the first web page;

for each of the identified one or more resource identifiers, appending a respective signature corresponding to the respective zero-rated content item of the one or more zero-rated content items;

forwarding the processed first web page to the user device;

receiving, from the user device, a second request that includes a first resource identifier of the retrieved first web page, the second request including a first signature appended to the first resource identifier, wherein the first resource identifier is associated with a first zero-rated content item;

validating the first signature; and

in accordance with a determination that the first signature is valid, retrieving the first zero-rated content item to provide to the user.

Assignments (2)
CHANGE OF NAME Recorded Dec 16, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058520/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: NAAR, DEKEL SHMUEL; DUVDEVANI, ITAY
To: FACEBOOK, INC.
Reel/Frame 041161/0539 →
Continuity (1)
Related Publication 20180063270A1 · Mar 1, 2018