Reduction of perceived DNS lookup latency
First Claim
1. A method, performed by one or more server devices, for improving latency of a browser program on a client device that is separate from the one or more server devices, the method comprising:
- receiving, by one or more processors of the one or more server devices, a document requested by the browser program on the client device;
analyzing, by one or more processors of the one or more server devices, the document to generate a list of domain names associated with a plurality of links, within the document, that are selectable via the browser program,the analyzing including;
determining, based on historical data, for which links, of the plurality of links within the document, to include associated domain names in the list of names,the historical data being based on at least one of;
a quantity of times that a particular link, of the plurality of links, has been accessed, or an amount of time spent by users accessing documents linked to by the plurality of links, the list of domain names being ordered based on a relevance of documents, associated with the domain names, to the document;
transmitting, from the one or more server devices, the list to the client device, the list permitting the client device to perform domain name system (DNS) lookups for the domain names in the list prior to receiving a selection, at the client device, of any of the plurality of links within the document;
transmitting, from the one or more server devices, the document to the client device; and
performing, by the client device and in an order indicated by the list, one or more DNS lookups for one or more of the domain names in the list without receiving a selection of any of the plurality of links within the document.
3 Assignments
0 Petitions
Accused Products
Abstract
Perceived domain name service (DNS) lookup latency can be reduced for the user of a browser program. A server determines domain names that the user is likely to request in the future. In one implementation, a list of these domain names is transmitted to the browser program as a separate command. The browser program may then lookup up the domain names in the background before the user selects a link corresponding to the domain names. In another implementation, the domain names are transmitted to the browser program by embedding the domain names in a web document, in which the embedded information is not visible in the rendered version of the web document.
35 Citations
18 Claims
-
1. A method, performed by one or more server devices, for improving latency of a browser program on a client device that is separate from the one or more server devices, the method comprising:
-
receiving, by one or more processors of the one or more server devices, a document requested by the browser program on the client device; analyzing, by one or more processors of the one or more server devices, the document to generate a list of domain names associated with a plurality of links, within the document, that are selectable via the browser program, the analyzing including; determining, based on historical data, for which links, of the plurality of links within the document, to include associated domain names in the list of names, the historical data being based on at least one of; a quantity of times that a particular link, of the plurality of links, has been accessed, or an amount of time spent by users accessing documents linked to by the plurality of links, the list of domain names being ordered based on a relevance of documents, associated with the domain names, to the document; transmitting, from the one or more server devices, the list to the client device, the list permitting the client device to perform domain name system (DNS) lookups for the domain names in the list prior to receiving a selection, at the client device, of any of the plurality of links within the document; transmitting, from the one or more server devices, the document to the client device; and performing, by the client device and in an order indicated by the list, one or more DNS lookups for one or more of the domain names in the list without receiving a selection of any of the plurality of links within the document. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium, comprising:
-
a plurality of computer-executable instructions, which, when executed by one or more processors, cause the one or more processors to; receive a document requested by a browser program on a client device; analyze the document to generate a list of domain names associated with a plurality of links, within the document, that are selectable via the browser program, the instructions, which cause the one or more processors to analyze the document further causing the one or more processors to; determine, based on historical data, for which links, of the plurality of links within the document, to include associated domain names in the list of names, the historical data being based on at least one of; a quantity of times that a particular link, of the plurality of links, has been accessed, or an amount of time spent by users accessing documents linked to by the plurality of links the list of domain names being ordered based on a relevance of documents, associated with the domain names, to the document; transmit the list to the client device, the list permitting the client device to perform domain name system (DNS) lookups for the domain names in the list prior to receiving a selection, at the client device, of any of the plurality of links within the document; transmit the document to the client device; and perform, in an order indicated by the list, one or more DNS lookups for one or more of the domain names in the list without receiving a selection of any of the plurality of links within the document. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more devices to; receive a document requested by a browser program on a client device; analyze the document to generate a list of domain names associated with a plurality of links, within the document, that are selectable via the browser program, the instructions, which cause the one or more processors to analyze the document further causing the one or more processors to; determine, based on historical data, for which links, of the plurality of links within the document, to include associated domain names in the list of names, the historical data being based on at least one of; a quantity of times that a particular link, of the plurality of links, has been accessed, or an amount of time spent by users accessing documents linked to by the plurality of links, the list of domain names being ordered based on a relevance of documents, associated with the domain names, to the document; transmit the list to the client device, the list permitting the client device to perform domain name system (DNS) lookups for the domain names in the list prior to receiving a selection, at the client device, of any of the plurality of links within the document; transmit the document to the client device; and perform, in an order indicated by the list, one or more DNS lookups for one or more of the domain names in the list without receiving a selection of any of the plurality of links within the document. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification