Use of browser cookies to store structured data
AssigneeAmazon.com, Inc.
InventorEric A. Benson
Life of this patent
Estimating the term…
Abstract
A web site system implements a process for storing selected data structures within browser cookies. The data structures may contain a variety of different types of data elements, including N-bit integers and other non-character elements. A version tracking scheme provides forward and backward compatibility between client and server software. The process is implemented without the need for any browser extensions, and without the need for users to download any special code to their computers.
Claims46
In a web site system in which data structures used to customize web site content for users are stored within a database, a method of incorporating at least one data structure from the database into a browser cookie to reduce accesses to the database, the at least one data structure including a plurality of primitives, the primitives each comprising at least one byte, which plurality include at least one primitive of a non-character data type, the method comprising:
- storing, on a server of the web site, schema data which specifies a schema for encoding the at least one data structure within browser cookies;
- translating the at least one data structure, including the plurality of primitives, into a character string according to the schema;
- incorporating the character string into a browser cookie to be stored on a user computer;
- and
- subsequently, in response to the server receiving the browser cookie from the user computer, using the schema data to translate the character string back into the at least one data structure;
- wherein the step of translating the at least one data structure into a character string is performed by executable code according to the schema data, such that types of data structures encoded within browser cookies may be changed over time by modifying the schema, without modifying the executable code.
A method of generating a customized web page, comprising:
- at a server, receiving a cookie from a user computer, wherein the cookie includes an encoded representation of an entire data structure having non-character primitives, the primitives each comprising at least one byte;
- within a memory of the server, reproducing the data structure having non-character primitives from character data contained within the cookie;
- and
- generating a custom web page using information contained within the data structure as reproduced within the memory of the server;
- wherein reproducing the data structure comprises comparing a schema version identifier within the cookie to a schema representation stored on the server to identify types of data structures represented within the cookie.
A system for representing data structures within cookies, comprising:
- schema data that specifies past and present schemas used to encode data structures within cookies, including data structures having primitives of non-character data types;
- a first component that encodes data structures into cookies to be stored on user computers based on a current schema specified by the schema data, wherein the first component translates non-character data of the data structures into character data, and incorporates the character data into the cookies;
- and
- a second component that decodes cookies received from the user computers and reproduces data structures represented therein based on the schema data.
A method for efficiently generating personalized web pages, the method comprising:
- storing a data structure within a database of a web site system, wherein the data structure comprises non-character data used to personalize a web page for a user of the web site system;
- converting the data structure, including the non-character data thereof, into character data;
- storing the character data as cookie data on a computer of the user;
- and
- on a server of the web site system, in response to receiving the cookie data and a request for the web page from the computer of the user, regenerating the data structure in a local memory of the server from the cookie data, and using the data structure as regenerated in the local memory to personalize the web page for the user;
- wherein the data structure is converted to the character data, and is regenerated in the local memory of the server, by executable code that is not specific to a particular type of data structure, said executable code accessing schema data that specifies how the data structure is encoded within a cookie;
- whereby the data structure is used to personalize the web page without having to retrieve the data structure from the database in response to the request for the web page.
A method of generating a browser cookie, the method comprising:
- identifying a set of data structures that are used to personalize at least one web page for a user, wherein the set of data structures includes at least one data structure that contains non-character primitives;
- translating the set of data structures into character data according to a schema, such that the set of data structures may be encoded within a browser cookie;
- and
- incorporating the character data into a browser cookie for storage on a user computer;
- wherein new types of data structures may be added to the set of data structures over time by updating the schema, without modifying executable code used to translate the set of data structures into character data.
A method of generating a customized web page, comprising:
- at a server, receiving a cookie from a user computer, wherein the cookie includes an encoded representation of an entire data structure having non-character primitives, the primitives each comprising at least one byte;
- within a memory of the server, reproducing the data structure having non-character primitives from character data contained within the cookie;
- and
- generating a custom web page using information contained within the data structure as reproduced within the memory of the server;
- wherein the step of reproducing the data structure is performed by executable code that is not specific to a particular type of data structure, and is performed based on schema data that specifies how the data structure is encoded within the cookie.
Dependencies are inferred from the claim text.