# US 10,482,506 B2 · Client caching identification tracking

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,506 B2
- Document ID: US10482506B2
- Status: Granted
- Kind: B2
- Application number: 13/918,132
- Filed: 2013-06-14
- Published: 2014-12-18
- Granted: 2019-11-19
- Earliest claimed: 2013-06-14
- Assignees: Blue Kai, Inc.
- Applicants: Blue Kai, Inc.
- Inventors: Omar Tawakol; David Abraham Wiener; Fang Fang; Jason Leon Walsh; Raja Bishara Daoud; Jeffrey Charles Frantz
- Web page: https://patentgrep.com/patent/US10482506B2

## CPC

- G06Q 30/0267: {Wireless devices}
- G06F 7/00: Methods or arrangements for processing data by operating upon the order or content of the data handled (logic circuits H03K19/00)
- G06Q 30/0269: {based on user profile or attribute}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments are directed towards employing multiple profiles to track identification of users across multiple domains. Multiple application-domain profiles and multiple web-domain profiles may each include a statistical identifier. A profile enrichment store may be generated from the application-domain profiles and web-domain profiles, where each entry in the profile enrichment store may be based on statistical identifiers. The profile enrichment store may be utilized to determine categories associated with a statistical identifier for a request from a client device. A targeted advertisement may be determined based on the determined category and may be provided to the client device. A client caching identifier may be used in a mobile web domain, in combination with the statistical identifier, to track mobile web users. If a request is associated with a profile that includes an affirmative opt-out flag, categories in the profile enrichment store for a corresponding statistical identifier may be cleaned up.

## Claims

### Claim 1

A computer-implemented method comprising:
defining a first data structure associated with an application domain, the application domain representing a plurality of application domain profiles, each application domain profile of the plurality of application domain profiles being generated based on a request for content originating from a native application executing on a first client device, the first data structure including at least a first row, the first row corresponding to at least a first column and a second column, the first column being defined to store a first statistical identifier representing a first client device, the first statistical identifier being generated using a first client device parameter of the first client device, the second column being defined to store one or more first categories associated with the first statistical identifier, and the one or more first categories representing one or more application activities performed on the first client device;
defining a second data structure associated with a web domain, the web domain representing a plurality of web domain profiles, each web domain profile of the plurality of web domain profiles being generated based on a request for content originating from a web browser executing on a second client device, the second data structure including at least a second row, the second row corresponding to at least a third column and a fourth column, the third column being defined to store a second statistical identifier representing a second client device, the second statistical identifier being generated using a second client device parameter of the second client device, the fourth column being defined to store one or more second categories associated with the second statistical identifier, and the one or more second categories representing one or more web browser activities performed on the second client device receiving a new request for content from a particular client device; and
in response to receiving the new request:
determining whether the new request originates from a native application executing on the particular client device or a web browser executing on the particular client device,
generating a statistical identifier for the particular client device, the statistical identifier being generated using a device parameter associated with the particular client device, and the statistical identifier being generated using data common to each of the web domain and the application domain,
evaluating each of the first data structure and the second data structure to identify whether the statistical identifier matches any first statistical identifiers stored in the first column of the first data structure and any second statistical identifiers stored in the third column of the second data structure,
determining that the statistical identifier matches each of the first statistical identifier stored in the first data structure and the second statistical identifier stored in the second data structure, the determination that the statistical identifier, the first statistical identifier and the second statistical identifier match indicating that the first client device, the second client device, and the particular client device are a same device,
in response to determining that the statistical identifier matches the first statistical identifier and the second statistical identifier, accessing each of the first data structure and the second data structure to aggregate the one or more first categories and the one or more second categories,
determining a response to the new request for content from the particular client device by selecting at least one category from the aggregated one or more first categories and one or more second categories,
selecting a content object from a plurality of content objects, the selected content object being associated with the selected at least one category,
transmitting the selected content object to the particular client device, the transmission of the selected content object being the response to the new request for content, and
storing the statistical identifier in a cache of the particular client device, such that the stored statistical identifier is independent of browser persistent identification cookie mechanisms, and such that the particular client device is trackable across either the application domain or the web domain by performing a hash of the statistical identifier and one or more additional identifiers.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the statistical identifier is determined based on at least one parameter of the particular client device.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising, if the new request is associated with the application domain, modifying an application profile store to include a profile, wherein each profile in the application profile store includes an associated statistical identifier.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising, if the new request is associated with the web domain, modifying a web profile store to include a profile, wherein each profile in the web profile store includes a unique identifier based on an associated statistical identifier and an associated client caching identifier.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
employing the determined statistical identifier with a profile enrichment store to determine a category for the new request, wherein the profile enrichment store is generated based on at least an associated statistical identifier for each of a plurality of profiles and at least one category associated with at least one of the plurality of profiles; and
providing to the particular client device, content that is based at least on the category.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
providing to the particular client device, content that is based on categories associated with the determined statistical identifier in a profile enrichment store, wherein the profile enrichment store is generated from a plurality of application domain profiles and a plurality of web domain profiles that each include at least an associated statistical identifier.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
if the new request is from the application domain, employing an application profile store to determine a category for content;
if the new request is from the web domain, employing a web profile store to determine the category for the content; and
providing the content to the particular client device.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising, if an application domain profile or a web domain profile includes an affirmative opt-out status indication, removing at least one category associated with the determined statistical identifier in a profile enrichment store.

### Claim 9

A processor readable non-transitory storage media that includes instructions for tracking user profiles over a network, wherein execution of the instructions by a processor enables actions, comprising:
defining a first data structure associated with an application domain, the application domain representing a plurality of application domain profiles, each application domain profile of the plurality of application domain profiles being generated based on a request for content originating from a native application executing on a first client device, the first data structure including at least a first row, the first row corresponding to at least a first column and a second column, the first column being defined to store a first statistical identifier representing a first client device, the first statistical identifier being generated using a first client device parameter of the first client device, the second column being defined to store one or more first categories associated with the first statistical identifier, and the one or more first categories representing one or more application activities performed on the first client device;
defining a second data structure associated with a web domain, the web domain representing a plurality of web domain profiles, each web domain profile of the plurality of web domain profiles being generated based on a request for content originating from a web browser executing on a second client device, the second data structure including at least a second row, the second row corresponding to a third column and a fourth column, the third column being defined to store a second statistical identifier representing a second client device, the second statistical identifier being generated using a second client device parameter of the second client device, the fourth column being defined to store one or more second categories associated with the second statistical identifier, and the one or more second categories representing one or more web browser activities performed on the second client device receiving a new request for content from a particular client device; and
in response to receiving the new request:
determining whether the new request originates from a native application executing on the particular client device or a web browser executing on the particular client device,
generating a statistical identifier for the particular client device, the statistical identifier being generated using a device parameter associated with the particular client device, and the statistical identifier being generated using data common to each of the web domain and the application domain,
evaluating each of the first data structure and the second data structure to identify whether the statistical identifier matches any first statistical identifiers stored in the first column of the first data structure and any second statistical identifiers stored in the third column of the second data structure,
determining that the statistical identifier matches each of the first statistical identifier stored in the first data structure and the second statistical identifier stored in the second data structure, the determination that the statistical identifier, the first statistical identifier and the second statistical identifier match indicating that the first client device, the second client device, and the particular client device are a same device,
in response to determining that the statistical identifier matches the first statistical identifier and the second statistical identifier, accessing each of the first data structure and the second data structure to aggregate the one or more first categories and the one or more second categories,
determining a response to the new request for content from the particular client device by selecting at least one category from the aggregated one or more first categories and one or more second categories selecting a content object from a plurality of content objects, the selected content object being associated with the selected at least one category,
transmitting the selected content object to the particular client device, the transmission of the selected content object being the response to the new request for content, and
storing the statistical identifier in a cache of the particular client device, such that the stored statistical identifier is independent of browser persistent identification cookie mechanisms, and such that the particular client device is trackable across either the application domain or the web domain by performing a hash of the statistical identifier and one or more additional identifiers.

### Claim 10 (depends on 9)

The non-transitory storage media of claim 9, wherein the statistical identifier is determined based on at least one parameter of the particular client device.

### Claim 11 (depends on 9)

The non-transitory storage media of claim 9, further comprising, if the new request is associated with the application domain, modifying an application profile store to include an application domain profile, wherein each profile in the application profile store includes an associated statistical identifier.

### Claim 12 (depends on 9)

The non-transitory storage media of claim 9, further comprising, if the new request is associated with the web domain, modifying a web profile store to include a web domain profile, wherein each profile in the web profile store includes a unique identifier based on an associated statistical identifier and an associated client caching identifier.

### Claim 13 (depends on 9)

The non-transitory storage media of claim 9, further comprising:
employing the determined statistical identifier with a profile enrichment store to determine a category for the new request, wherein the profile enrichment store is generated based on at least an associated statistical identifier for each of a plurality of profiles and at least one category associated with at least one of the plurality of profiles; and
providing to the particular client device, content that is based at least on the category.

### Claim 14 (depends on 9)

The non-transitory storage media of claim 9, further comprising:
providing to the particular client device, content that is based on categories associated with the determined statistical identifier in a profile enrichment store, wherein the profile enrichment store is generated from the plurality of application domain profiles and the plurality of web domain profiles that each include at least an associated statistical identifier.

### Claim 15 (depends on 9)

The non-transitory storage media of claim 9, further comprising, if the application domain profile or the web domain profile includes an affirmative opt-out status indication, removing at least one category associated with the determined statistical identifier in a profile enrichment store.

### Claim 16

A system for tracking user profiles over a network, comprising:
a plurality of client devices enabled to provide requests for content to network devices; and
at least one network device, including:
a memory for storing data and instructions; and
a processor that executes the instructions to enable actions, including:
defining a first data structure associated with an application domain, the application domain representing a plurality of application domain profiles, each application domain profile of the plurality of application domain profiles being generated based on a request for content originating from a native application executing on a first client device, the first data structure including at least a first row, the first row corresponding to a first column and a second column, the first column being defined to store a first statistical identifier representing a first client device, the first statistical identifier being generated using a first client device parameter of the first client device, the second column being defined to store one or more first categories associated with the first statistical identifier, and the one or more first categories representing one or more application activities performed on the first client device;
defining a second data structure associated with a web domain, the web domain representing a plurality of web domain profiles, each web domain profile of the plurality of web domain profiles being generated based on a request for content originating from a web browser executing on a second client device, the second data structure including at least a second row, the second row corresponding to at least a third column and a fourth column, the third column being defined to store a second statistical identifier representing a second client device, the second statistical identifier being generated using a second client device parameter of the second client device, and the fourth column being defined to store one or more second categories associated with the second statistical identifier, and the one or more second categories representing one or more web browser activities performed on the second client device receiving a new request for content from a particular client device; and
in response to receiving the new request:
determining whether the new request originates from a native application executing on the particular client device or a web browser executing on the particular client device,
generating a statistical identifier for the particular client device, the statistical identifier being generated using a device parameter associated with the particular client device, and the statistical identifier being generated using data common to each of the web domain and the application domain,
evaluating each of the first data structure and the second data structure to identify whether the statistical identifier matches any first statistical identifiers stored in the first column of the first data structure and any second statistical identifiers stored in the third column of the second data structure,
determining that the statistical identifier matches each of the first statistical identifier stored in the first data structure and the second statistical identifier stored in the second data structure, the determination that the statistical identifier, the first statistical identifier and the second statistical identifier match indicating that the first client device, the second client device, and the particular client device are a same device,
in response to determining that the statistical identifier matches the first statistical identifier and the second statistical identifier, accessing each of the first data structure and the second data structure to aggregate the one or more first categories and the one or more second categories,
determining a response to the new request from the particular client device by selecting at least one category from the aggregated one or more first categories and one or more second categories;
selecting a content object from a plurality of content objects, the selected content object being associated with the selected at least one category,
transmitting the selected content object to the particular client device, the transmission of the selected content object being the response to the new request for content, and
storing the statistical identifier in a cache of the particular client device, such that the stored statistical identifier is independent of browser persistent identification cookie mechanisms, and such that the particular client device is trackable across either the application domain or the web domain by performing a hash of the statistical identifier and one or more additional identifiers.

### Claim 17 (depends on 16)

The system of claim 16, wherein the statistical identifier is determined based on at least one parameter of the particular client device.

### Claim 18 (depends on 16)

The system of claim 16, further comprising, if the new request is associated with the application domain, modifying an application profile store to include an application domain profile, wherein each profile in the application profile store includes an associated statistical identifier.

### Claim 19 (depends on 16)

The system of claim 16, further comprising, if the new request is associated with the web domain, modifying a web profile store to include a web domain profile, wherein each profile in the web profile store includes a unique identifier based on an associated statistical identifier and an associated client caching identifier.

### Claim 20 (depends on 16)

The system of claim 16, further comprising;
employing the determined statistical identifier with a profile enrichment store to determine a category for the new request, wherein the profile enrichment store is generated based on at least an associated statistical identifier for each of a plurality of profiles and at least one category associated with at least one of the plurality of profiles; and
providing to the particular client device, content that is based at least on the category.

### Claim 21 (depends on 16)

The system of claim 16, further comprising,
providing to the particular client device, content that is based on categories associated with the determined statistical identifier in a profile enrichment store, wherein the profile enrichment store is generated from a plurality of application domain profiles and a plurality of web domain profiles that each include at least an associated statistical identifier.

### Claim 22 (depends on 16)

The system of claim 16, further comprising:
if the new request is from the application domain, employing an application profile store to determine a category for content;
if the new request is from the web domain, employing a web profile store to determine the category for the content; and
providing the content to the particular client device.

### Claim 23 (depends on 16)

The system of claim 16, further comprising, if an application domain profile or a web domain profile includes an affirmative opt-out status indication, removing at least one category associated with the determined statistical identifier in a profile enrichment store.

### Claim 24

A network device for tracking user profiles over a network, comprising:
a memory for storing data and instructions; and
a processor that executes the instructions to enable actions, including:
defining a first data structure associated with an application domain, the application domain representing a plurality of application domain profiles, each application domain profile of the plurality of application domain profiles being generated based on a request for content originating from a native application executing on a first client device, the first data structure including at least a first row, the first row corresponding to at least a first column and a second column, the first column being defined to store a first statistical identifier representing a first client device, the first statistical identifier being generated using a first client device parameter of the first client device, a second column being defined to one or more first categories associated with the first statistical identifier, and the one or more first categories representing one or more application activities performed on the first client device;
defining a second data structure associated with a web domain, the web domain representing a plurality of web domain profiles, each web domain profile of the plurality of web domain profiles being generated based on a request for content originating from a web browser executing on a second client device, the second data structure including at least a second row, the second row corresponding to at least a third column and a fourth column, the third column being defined to store a second statistical identifier representing a second client device, the second statistical identifier being generated using a second client device parameter of the second client device, the fourth column being configured to store one or more second categories associated with the second statistical identifier, and the one or more second categories representing one or more web browser activities performed on the second client device receiving a new request for content from a particular client device; and
in response to receiving the new request:
determining whether the new request originates from a native application executing on the particular client device or a web browser executing on the particular client device,
generating a statistical identifier for the particular client device, the statistical identifier being generated using a device parameter associated with the particular client device, and the statistical identifier being generated using data common to each of the web domain and the application domain,
evaluating each of the first data structure and the second data structure to identify whether the statistical identifier matches any first statistical identifiers stored in the first column of the first data structure and any second statistical identifiers stored in the third column of the second data structure,
determining that the statistical identifier matches each of the first statistical identifier stored in the first data structure and the second statistical identifier stored in the second data structure, the determination that the statistical identifier, the first statistical identifier and the second statistical identifier match indicating that the first client device, the second client device, and the particular client device are a same device,
in response to determining that the statistical identifier matches the first statistical identifier and the second statistical identifier, accessing each of the first data structure and the second data structure to aggregate the one or more first categories and the one or more second categories,
determining a response to the new request for content from the particular client device by selecting at least one category from the aggregated one or more first categories and one or more second categories,
selecting a content object from a plurality of content objects, the selected content object being associated with the selected at least one category, transmitting the selected content object to the particular client device, the transmission of the selected content object being the response to the new request for content, and
storing the statistical identifier in a cache of the particular client device, such that the stored statistical identifier is independent of browser persistent identification cookie mechanisms, and such that the particular client device is trackable across either the application domain or the web domain by performing a hash of the statistical identifier and one or more additional identifiers.

### Claim 25 (depends on 24)

The network device of claim 24, wherein the statistical identifier is determined based on at least one parameter of the particular client device.

### Claim 26 (depends on 24)

The network device of claim 24, further comprising, if the new request is associated with the application domain, modifying an application profile store to include an application domain profile, wherein each profile in the application profile store includes an associated statistical identifier.

### Claim 27 (depends on 24)

The network device of claim 24, further comprising, if the new request is associated with the web domain, modifying a web profile store to include a web domain profile, wherein each profile in the web profile store includes a unique identifier based on an associated statistical identifier and an associated client caching identifier.

### Claim 28 (depends on 24)

The network device of claim 24, further comprising:
employing the determined statistical identifier with a profile enrichment store to determine a category for the new request, wherein the profile enrichment store is generated based on at least an associated statistical identifier for each of a plurality of profiles and at least one category associated with at least one of the plurality of profiles; and
providing to the particular client device, content that is based at least on the category.

### Claim 29 (depends on 24)

The network device of claim 24, further comprising:
providing to the particular client device, content that is based on categories associated with the determined statistical identifier in a profile enrichment store, wherein the profile enrichment store is generated from a plurality of application domain profiles and a plurality of web domain profiles that each include at least an associated statistical identifier.

### Claim 30 (depends on 24)

The network device of claim 24, further comprising, if an application domain profile or a web domain includes an affirmative opt-out status indication, removing at least one category associated with the determined statistical identifier in a profile enrichment store.

### Claim 31 (depends on 1)

The computer-implemented method of claim 1, further comprising:
storing a new client caching identifier associated with a web browser executing on the particular client device, the new client caching identifier being stored in a cookie associated with the web browser, the cookie comprising a persistent identification mechanism stored on the particular client device, and the new client caching identifier being retrieved from the cookie and transmitted as part of a request for content.

### Claim 32 (depends on 9)

The non-transitory storage media of claim 9, further comprising:
storing a new client caching identifier associated with a web browser executing on the particular client device, the new client caching identifier being stored in a cookie associated with the web browser, the cookie comprising a persistent identification mechanism stored on the particular client device, and the new client caching identifier being retrieved from the cookie and transmitted as part of a request for content.

### Claim 33 (depends on 16)

The system of claim 16, further comprising:
storing a new client caching identifier associated with a web browser executing on the particular client device, the new client caching identifier being stored in a cookie associated with the web browser, the cookie comprising a persistent identification mechanism stored on the particular client device, and the new client caching identifier being retrieved from the cookie and transmitted as part of a request for content.

### Claim 34 (depends on 24)

The network device of claim 24, further comprising:
storing a new client caching identifier associated with a web browser executing on the particular client device, the new client caching identifier being stored in a cookie associated with the web browser, the cookie comprising a persistent identification mechanism stored on the particular client device, and the new client caching identifier being retrieved from the cookie and transmitted as part of a request for content.

### Claim 35 (depends on 1)

The computer-implemented method of claim 1, wherein using data common to each of the web domain and the application domain to generate the statistical identifier creates a bridge between the web domain and the application domain that enables activity associated with the particular client device to be tracked across the web domain and the application domain.
