Systems and methods for identifying and characterizing client devices
First Claim
1. A system, comprising:
- a first computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the first computer to;
(i) associate each of one or more known client devices with a set of one or more tokens;
(ii) populate a data structure such that each set of one or more tokens corresponds to a key for the data structure that points to a corresponding client device identifier;
(iii) generate a whitelist of tokens;
a second computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the second computer to;
(iv) receive and store the data structure;
(v) receive a request for content from a client device;
(vi) generate particular one or more tokens from information in the request;
(vii) identify the client device as a particular one of one or more known client devices, wherein said identification step includes;
(a) creating a particular key from at least some of the particular one or more tokens that were generated from the information in the request;
(b) using the particular key to look up a particular client device identifier stored in the data structure;
(viii) wherein the executed instructions further will operate the second computer to;
receive the whitelist of tokens, and, when creating the particular key, to use only those tokens that were generated from the information the request and appear in the whitelist.
2 Assignments
0 Petitions
Accused Products
Abstract
The teachings herein generally relate to client-server communications and the delivery of content over computer networks to clients, and provide improved methods, systems, and apparatus for identifying and/or characterizing client devices that are requesting content from a server. For example, based on information sent in a client device'"'"'s request for content, a web server modified in accordance with the teachings hereof can identify a set of characteristics associated with that client device. Such characteristics might include the model name of the client device, the screen dimensions of the client device, information about the particular operating system or browser name/version it is running, content formats it is capable of consuming, and so on. The web server can use this information to modify and customize its response for the given client device.
60 Citations
24 Claims
-
1. A system, comprising:
-
a first computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the first computer to; (i) associate each of one or more known client devices with a set of one or more tokens; (ii) populate a data structure such that each set of one or more tokens corresponds to a key for the data structure that points to a corresponding client device identifier; (iii) generate a whitelist of tokens; a second computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the second computer to; (iv) receive and store the data structure; (v) receive a request for content from a client device; (vi) generate particular one or more tokens from information in the request; (vii) identify the client device as a particular one of one or more known client devices, wherein said identification step includes; (a) creating a particular key from at least some of the particular one or more tokens that were generated from the information in the request; (b) using the particular key to look up a particular client device identifier stored in the data structure; (viii) wherein the executed instructions further will operate the second computer to;
receive the whitelist of tokens, and, when creating the particular key, to use only those tokens that were generated from the information the request and appear in the whitelist. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method operable in one or more computers for identifying a client device making requests for content, the one or more computers comprising circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors and thereby perform the method, the method comprising:
-
receiving a request for content from a client device; generating one or more tokens from information in the request; identifying the client device as a particular one of one or more known client devices, wherein said identification step includes; creating a key from at least some of the tokens that were generated from the information in the request; using the key to look up a client device identifier in a data structure previously stored in the one or more computers; generating at least one of;
a whitelist of tokens and a blacklist of tokens;wherein, where the whitelist of tokens is generated, only those tokens that were generated from the information in the request and appear in the whitelist are used in creating the key; wherein, where the blacklist of tokens is generated, tokens that were generated from the information in the request but that appear in the blacklist are not used in creating the key. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
-
a first computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the first computer to; (i) associate each of one or more known client devices with a set of one or more tokens; (ii) populate a data structure such that each set of one or more tokens corresponds to a key for the data structure that points to a corresponding client device identifier; (iii) generate a blacklist of tokens; a second computer that has circuitry forming one or more processors and memory storing instructions to be executed by the one or more processors to operate the second computer to; (iv) receive and store the data structure; (v) receive a request for content from a client device; (vi) generate particular one or more tokens from information in the request; (vii) identify the client device as a particular one of one or more known client devices, wherein said identification step includes; (a) creating a particular key from at least some of the particular one or more tokens that were generated from the information in the request; (b) using the particular key to look up a particular client device identifier stored in the data structure; (viii) wherein, for the first computer being operative to generate the blacklist of tokens, the executed instructions further will operate the second computer to;
receive the blacklist of tokens and, when creating the particular key, to refrain from using tokens that appear in the blacklist. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification