# US 2019/0356746 A1 · Providing Fallback Results With A Front End Server

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

- Number: US 2019/0356746 A1
- Document ID: US20190356746A1
- Status: Published application
- Kind: A1
- Application number: 15/983,941
- Filed: 2018-05-18
- Published: 2019-11-21
- Earliest claimed: 2018-05-18
- Assignees: Reflektion, Inc.
- Applicants: Reflektion, Inc.
- Inventors: Ali Mazouchi; Vivek Gupta
- Web page: https://patentgrep.com/patent/US20190356746A1

## CPC

- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06Q 30/0631: {Recommending goods or services}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/146: Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

## Abstract

Browser requests are received and data included in it is added to a vector. If explicit identification information (username, cookie data, etc.) is present, the vector is associated with a pre-existing user record, which is then updated. If not, candidate user records may be identified according to correspondence with values in the vector. Candidate vectors may be eliminated by identifying inconsistency in OS, device, and browser information. Probability assigned to each candidate vector may be adjusted, e.g., reduced, in response to inconsistency in other data relating to a browser. Personalized results are generated based on collected data for a user if possible. If not possible, fallback results are provided by a front end server based on values provided in a browser request matching entries in a fallback database accessed by the front end server. Default results may be provided where the fallback database does not provide a result.

## Claims

### Claim 1

A system comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code effective to cause the one or more processing devices to:
receive a first browser request from a user, the browser request including one or more first values;
attempt to obtain a personalized result for a user corresponding to the one or more first values from a back end server; and
when the back end server fails to provide the personalized result, return a fallback result to the browser.

### Claim 2 (depends on 1)

The system of claim 1, wherein the executable code is further effective to cause the one or more processing devices to return the fallback result to the browser by:
generating a first hash of the one or more first values; and
when a match of the first hash is found in a fallback database, return a fallback result mapped to the first hash in the fallback database to the browser.

### Claim 3 (depends on 2)

The system of claim 2, wherein the executable code is further effective to generate the fallback database by:
analyzing responses from the back end server to a plurality of second browser requests; and
generating second hashes for second values of the plurality of second browser requests and mapping the hashes to content of the responses from the back end server.

### Claim 4 (depends on 1)

The system of claim 1, wherein the executable code is further effective to cause the one or more processing devices to return the fallback result to the browser by:
select the one or more first values as a selected set of values;
(a) generate a first hash of the selected set of values;
(b) attempt to match the first hash to a plurality of second hashes in a fallback database;
(c) when a matching hash of the plurality of second hashes is found to match the first hash, return a result mapped to the matching hash in the fallback database as the fallback result; and
(d) when a matching hash of the plurality of second hashes is not found to match the first hash, select a subset of the first values as the selected set of values and repeat (a) through (c).

### Claim 5 (depends on 4)

The system of claim 4, wherein the executable code is further effective to cause the one or more processing devices to:
when no matching hash for the first hash is found in the plurality of second hashes after multiple iterations of (a) through (d), invoke selection of a default result from a default result set.

### Claim 6 (depends on 5)

The system of claim 5, wherein the executable code is further effective to cause the one or more processing devices to:
transmit the default result set to the browser; and
invoke selection of the default result from the default result set by instructing the browser to select the default result from the default result set.

### Claim 7 (depends on 1)

The system of claim 1, wherein the one or more first values include at least one of a device identifier, a URL (uniform resource locator), a browser type identifier, a search term, a referrer URL, a cookie, a time zone, a store identifier, a state, a city, an operating system type, a device type, whether the user is a new user or a former user, and number of pages visited by the user.

### Claim 8 (depends on 1)

The system of claim 1, further comprising the back end server, the back end server programmed to:
collect data regarding browsing activities of the user;
create a user history according to the browsing activities; and
select the personalized result according to the user history in response the attempt to obtain the personalized result.

### Claim 9 (depends on 1)

The system of claim 1, wherein the executable code is further effective to cause the one or more processing devices to:
determine that the back end server has failed to provide the personalized result in response to failure to receive a response from the back end server to a request for a personalized result within a predetermined time limit.

### Claim 10 (depends on 1)

The system of claim 1, wherein the executable code is further effective to cause the one or more processing devices to:
when the back end server provides the personalized result, return a webpage having the personalized result included therein.

### Claim 11

A method comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code effective to cause the one or more processing devices to:
receiving, by a first computing device comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices a first browser request from a user, the browser request including one or more first values;
attempting, by the first computing device, to obtain a personalized result for a user corresponding to the one or more first values from a back end server; and
when the back end server fails to provide the personalized result, returning, by the first computing device, a fallback result to the browser along with content referenced in the browser request.

### Claim 12 (depends on 11)

The method of claim 11, wherein returning the fallback result to the browser comprises:
generating a first hash of the one or more first values; and
when a match of the first hash is found in a fallback database, return a fallback result mapped to the first hash in the fallback database to the browser.

### Claim 13 (depends on 12)

The method of claim 12, further comprising generating, by one of the first computing device and the back end server, the fallback database by:
analyzing responses from the back end server to a plurality of second browser requests; and
generating second hashes for second values of the plurality of second browser requests and mapping the hashes to content of the responses from the back end server.

### Claim 14 (depends on 11)

The method of claim 11, wherein returning the fallback result to the browser further comprises:
selecting the one or more first values as a selected set of values;
(a) generating a first hash of the selected set of values;
(b) attempting to match the first hash to a plurality of second hashes in a fallback database;
(c) when a matching hash of the plurality of second hashes is found to match the first hash, returning a result mapped to the matching hash in the fallback database as the fallback result.

### Claim 15 (depends on 11)

The method of claim 11, wherein returning the fallback result to the browser further comprises:
selecting the one or more first values as a selected set of values;
(a) generating a first hash of the selected set of values;
(b) attempting to match the first hash to a plurality of second hashes in a fallback database;
(c) when a matching hash of the plurality of second hashes is not found to match the first hash, selecting a subset of the first values as the selected set of values and repeat (a) through (c).

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
when no matching hash for the first hash is found in the plurality of second hashes after multiple iterations of (a) through (d), invoking selection of a default result from a default result set.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
transmitting the default result set to the browser; and
invoking selection of the default result from the default result set by instructing the browser to select the default result from the default result set.

### Claim 18 (depends on 11)

The method of claim 11, wherein the one or more first values include at least one of a device identifier, a URL (uniform resource locator), a browser type identifier, a search term, a referrer URL, a cookie, a time zone, a store identifier, a state, a city, an operating system type, a device type, whether the user is a new user or a former user, and number of pages visited by the user.

### Claim 19 (depends on 11)

The method of claim 11, further comprising, by the back end server:
collecting data regarding browsing activities of the user;
creating a user history according to the browsing activities; and
selecting a second personalized result according to the user history in response to a request from the first computing device.

### Claim 20 (depends on 11)

The method of claim 11, further comprising:
determining, by the first computing device, that the back end server has failed to provide the personalized result in response to failure to receive a response from the back end server to a request for a personalized result within a predetermined time limit.
