IP Library Granted Patent US 11,962,665
Granted Patent B2
US 11,962,665 · App. 16/391,109 · Granted Apr 16, 2024

Automatically redirecting mobile client devices to optimized mobile content

Inventors: Igor Postelnik (Austin, TX); Mohd Fairuz Irtefa (Cedar Park, TX)
Assignee: CLOUDFLARE, INC.
H04L67/563H04L67/04H04L67/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 11,962,665
App. No.
16/391,109
Granted
Apr 16, 2024
Kind
B2
Abstract

A server receives a request for a document from a client device. The server determines from the request that the client device is a mobile client device. The server determines that the requested document is not for an optimized mobile version and that there is an optimized mobile version of the document that is located at a different location. Instead of transmitting the requested document to the client device, the server transmits a redirect message to the client device to the optimized mobile version of the document. The server receives a request for the optimized mobile version of the document, retrieves that version of the document, and transmits that version of the document to the mobile client device.

Claims (68)

1. A method in a server, comprising:

receiving, from a first client device, a first request for a first document;

determining, from the first request, that the first client device is a mobile client device;

determining that the first request includes a URL matching a mobile redirect URL pattern;

retrieving a canonical version of the first document;

analyzing the canonical version of the first document to determine whether the canonical version of the first document requested in the first request is an optimized mobile version that obeys a set of validation rules or is a non-optimized mobile version;

determining that the canonical version of the first document requested in the first request is a non-optimized mobile version, and responsive to this determination, determining that there is an optimized mobile version of the first document that is located at a different location from a location of the requested first document based on analyzing structure of HTML of the canonical version of the first document requested and identifying an HTML link tag that points to the optimized mobile version of the first document;

instead of transmitting the first document requested in the first request to the first client device, transmitting a redirect message to the first client device to the optimized mobile version of the first document that is located at the different location using the identified HTML link tag that points to the optimized mobile version of the first document;

receiving, from the first client device, a second request for the optimized mobile version of the first document that is located at the different location;

retrieving the optimized mobile version of the first document; and

transmitting, to the first client device, the optimized mobile version of the first document.

2. The method of claim 1 , wherein determining that the first client device is the mobile client device includes examining a user-agent in a header of the first request.

3. The method of claim 1 , wherein determining that there is an optimized mobile version of the first document that is located at the different location includes accessing information stored on the server that indicates that the optimized mobile version of the first document is located at the different location.

4. The method of claim 1 , wherein determining that there is an optimized mobile version of the first document includes:

retrieving the first document requested in the first request; and

analyzing the first document and locating the HTML link tag that points to the optimized mobile version of the first document.

5. The method of claim 1 , further comprising:

receiving, from a second client device, a third request for a second document;

determining, from the third request, that the second client device is not a mobile client device; and

responsive to determining that the second client device is not a mobile client device, performing the following:

retrieving the second document, and

transmitting, to the second client device, the second document.

6. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor of a server, will cause said processor to perform operations comprising:

receiving, from a first client device, a first request for a first document;

determining, from the first request, that the first client device is a mobile client device;

determining that the first request includes a URL matching a mobile redirect URL pattern;

retrieving a canonical version of the first document;

analyzing the canonical version of the first document to determine whether the canonical version of the first document requested in the first request is an optimized mobile version that obeys a set of validation rules or is a non-optimized mobile version;

determining that the canonical version of the first document requested in the first request is a non-optimized mobile version, and responsive to this determination, determining that there is an optimized mobile version of the first document that is located at a different location from a location of the requested first document based on analyzing structure of HTML of the canonical version of the first document requested and identifying an HTML link tag that points to the optimized mobile version of the first document;

instead of transmitting the first document requested in the first request to the first client device, transmitting a redirect message to the first client device to the optimized mobile version of the first document that is located at the different location using the identified HTML link tag that points to the optimized mobile version of the first document;

receiving, from the first client device, a second request for the optimized mobile version of the first document that is located at the different location;

retrieving the optimized mobile version of the first document; and

transmitting, to the first client device, the optimized mobile version of the first document.

7. The non-transitory machine-readable storage medium of claim 6 , wherein determining that the first client device is the mobile client device includes examining a user-agent in a header of the first request.

8. The non-transitory machine-readable storage medium of claim 6 , wherein determining that there is an optimized mobile version of the first document that is located at the different location includes accessing information stored on the server that indicates that the optimized mobile version of the first document is located at the different location.

9. The non-transitory machine-readable storage medium of claim 6 , wherein determining that there is an optimized mobile version of the first document includes:

retrieving the first document requested in the first request; and

analyzing the first document and locating the HTML link tag that points to the optimized mobile version of the first document.

10. The non-transitory machine-readable storage medium of claim 6 , wherein the operations further comprise:

receiving, from a second client device, a third request for a second document;

determining, from the third request, that the second client device is not a mobile client device; and

responsive to determining that the second client device is not a mobile client device, performing the following:

retrieving the second document, and

transmitting, to the second client device, the second document.

11. A server, comprising:

a processor; and

a non-transitory machine-readable storage medium that provides instructions that, if executed by the processor, causes the server to perform operations including:

receive, from a first client device, a first request for a first document;

determine, from the first request, that the first client device is a mobile client device;

determine that the first request includes a URL matching a mobile redirect URL pattern;

retrieve a canonical version of the first document;

analyze the canonical version of the first document to determine whether the canonical version of the first document requested in the first request is an optimized mobile version that obeys a set of validation rules or is a non-optimized mobile version;

determine that the canonical version of the first document requested in the first request is a non-optimized mobile version, and responsive to this determination, determine that there is an optimized mobile version of the first document that is located at a different location from a location of the requested first document based on analyzing structure of HTML of the canonical version of the first document requested and identifying an HTML link tag that points to the optimized mobile version of the first document;

instead of transmitting the first document requested in the first request to the first client device, transmit a redirect message to the first client device to the optimized mobile version of the first document that is located at the different location using the identified HTML link tag that points to the optimized mobile version of the first document;

receive, from the first client device, a second request for the optimized mobile version of the first document that is located at the different location;

retrieve the optimized mobile version of the first document; and

transmit, to the first client device, the optimized mobile version of the first document.

12. The server of claim 11 , wherein the determination that the first client device is the mobile client device includes an examination of a user-agent in a header of the first request.

13. The server of claim 11 , wherein the determination that there is an optimized mobile version of the first document that is located at the different location includes the server to access information stored on the server that indicates that the optimized mobile version of the first document is located at the different location.

14. The server of claim 11 , wherein the determination that there is an optimized mobile version of the first document includes:

retrieve the first document requested in the first request; and

analyze the first document and locate the HTML link tag that points to the optimized mobile version of the first document.

15. The server of claim 11 , wherein the operations further include:

receive, from a second client device, a third request for a second document;

determine, from the third request, that the second client device is not a mobile client device; and

responsive to the determination that the second client device is not a mobile client device, perform the following:

retrieve the second document, and

transmit, to the second client device, the second document.

Assignments (2)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2019
From: POSTELNIK, IGOR; IRTEFA, MOHD FAIRUZ
To: CLOUDFLARE, INC.
Reel/Frame 048960/0591 →
Continuity (2)
Provisional Application 62681940 · Jun 7, 2018
Related Publication 20190379756A1 · Dec 12, 2019