US2004103197A1PendingUtilityA1

Use of browser cookies to store structured data

Priority: Feb 2, 1999Filed: Oct 27, 2003Published: May 27, 2004
Est. expiryFeb 2, 2019(expired)· nominal 20-yr term from priority
Inventors:Eric A. Benson
Y10S707/99943Y10S707/99932H04L 67/02Y10S707/99942
33
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A system for servicing web page requests, the system comprising a server that responds to user requests for web pages, said server comprising a memory; 
 schema data stored in the memory of the server, said schema data specifying past and present schemas used to encode data structures into cookies stored on user computers;    a conversion component executed by the server, said conversion component configured to use the schema data to identify and decode the data structures encoded within cookies received from user computers to generate temporary data structures within the memory of the server; and    application code executed by the server, said application code configured to use the temporary data structures to customize web pages requested by the user computers.    
     
     
         2 . The system of  claim 1;  wherein the conversion component is not specific to a particular type of data structure.  
     
     
         3 . The system of  claim 1 , wherein the conversion component supports a plurality of different types of data structures.  
     
     
         4 . The system of  claim 1 , wherein the schema data specifies the content and format of each of a plurality of data structures that are encoded within the cookies.  
     
     
         5 . The system of  claim 1 , wherein the schema data includes, for a given data structure that is encoded within cookies, an identification of primitive fields of the given data structure and datatypes of said primitive fields.  
     
     
         6 . The system of  claim 5 , wherein the schema data further includes address offsets of the primitive fields.  
     
     
         7 . The system of  claim 1 , wherein the schema data includes, for a given data structure that is encoded within cookies, an indication of a range of schema versions for which the data structure is valid, wherein the conversion component uses said range to determine whether a particular data structure encoded within a cookie is valid.  
     
     
         8 . The system of  claim 1 , wherein the schema data includes information about at least one data structure that is no longer in use.  
     
     
         9 . The system of  claim 1 , wherein the conversion component uses the schema data to determine which of a set of the data structures encoded within a received cookie are to be decoded for use.  
     
     
         10 . The system of  claim 1 , wherein the conversion component uses the schema data to determine whether a particular data structure that is encoded within a received cookie is to be decoded for use.  
     
     
         11 . The system of  claim 1 , wherein the conversion component is an executable function that is called by the application code.  
     
     
         12 . The system of  claim 1 , wherein the schema data is cached with random access memory of the server.  
     
     
         13 . The system of  claim 1 , wherein the schema data is stored within a file in the memory of the server.  
     
     
         14 . The system of  claim 1 , wherein the schema data is stored within a table in the memory of the server.  
     
     
         15 . The system of  claim 1 , wherein the conversion component uses a checksum included within a received cookie to evaluate whether the cookie has been modified.  
     
     
         16 . The system of  claim 1 , wherein the conversion component applies a decryption algorithm to encrypted information contained in the cookies received from the user computers.  
     
     
         17 . The system of  claim 1 , further comprising an encoding component that encodes data structures into cookies according to a current schema specified by the schema data.  
     
     
         18 . A method of extracting information from cookies, the method comprising 
 (a) receiving, at a server, cookie data that has a data structure encoded therein, said cookie data received from a user computer;    (b) determining whether the data structure encoded within the cookie data is valid; and    (c) if and only if the data structure encoded within the cookie data is determined to be valid in step (b), decoding the encoded data structure to reproduce the data structure within a memory of the server.    
     
     
         19 . The method of  claim 18 , wherein the validity of the data structure as determined in step (b) reflects whether the data structure is currently used by any applications running on the server.  
     
     
         20 . The method of  claim 18 , wherein step (b) comprises identifying a version of a schema used to encode the data structure within the cookie data.  
     
     
         21 . The method of  claim 18 , wherein step (b) comprises using schema data stored within the memory of the server to determine whether the data structure is valid.  
     
     
         22 . The method of  claim 18 , wherein a plurality of data structures are encoded within the cookie data, and the method comprises determining which of the plurality of data structures should be fully decoded.  
     
     
         23 . The method of  claim 18 , further comprising using the data structure as reproduced in step (c) to customize a web page requested by the user computer.  
     
     
         24 . The method of  claim 18 , wherein step (c) is performed by executable code that is not specific to a particular type of data structure.  
     
     
         25 . The method of  claim 18 , wherein the data structure includes primitives of at least one of the following data types: 16-bit integers, 32-bit integers.  
     
     
         26 . A server system that performs the method of  claim 18 .  
     
     
         27 . A computer program that embodies the method of  claim 18  stored within a computer readable medium.  
     
     
         28 . A method of generating cookie data for storage on a computer of a user, the method comprising: 
 identifying a set of data structures to be encoded within the cookie data;    encoding the set of data structures within the cookie data according to schema data stored within a computer memory, said schema data specifying how the set of data structures is to be encoded within the cookie data; and    incorporating into the cookie data at least one of the following to facilitate extraction of the set of data structures from the cookie data: (a) a schema identifier, (b) the schema data.    
     
     
         29 . The method of  claim 28 , wherein the method comprises incorporating the schema data into the cookie data.  
     
     
         30 . The method of  claim 28 , wherein the method comprises incorporating a schema identifier into the cookie data, said schema identifier identifying one of a plurality of schemas used over a period of time to encode data structures within cookie data.  
     
     
         31 . The method of  claim 28 , wherein the set of data structures is encoded within the cookie data using executable code that is not specific to a particular type of data structure.  
     
     
         32 . The method of  claim 28 , wherein the set of data structures includes noncharacter. primitives.  
     
     
         33 . The method of  claim 28 ,.wherein the set of data structures includes primitives of at least one of the following data types 16-bit integers, 32-bit integers.  
     
     
         34 . The method of  claim 28 , further comprising incorporating a checksum into the cookie data to permit subsequent detection of whether the cookie data has been modified.  
     
     
         35 . The method of  claim 28 , wherein the method is performed in an off-line mode to reduce a delay experienced by a user.  
     
     
         36 . A computer-readable medium comprising cookie data generated according to the method of  claim 28 .  
     
     
         37 . A computer system configured to perform the method of  claim 28 .  
     
     
         38 . A computer-readable medium that stores a computer program embodying the method of  claim 28 .  
     
     
         39 . A method for using browser cookies to store structured data, the method comprising: 
 storing schema data on at least one server computer of a web site system, said schema data specifying schemas used by executable software to (a) encode data structures within cookies for storage on user computers, and (b) decode said cookies to extract the data structures when the cookies are returned by the user computers; and    modifying the schema data over time to add data structures to, and remove data structures from, a set of data structures encoded within cookies by the executable software.    
     
     
         40 . The method of  claim 39 , wherein the schema data is modified according to a set of rules to enable the executable software to decode cookies encoded using both past and present schemas.  
     
     
         41 . The method of  claim 40 , wherein the rules are enforced by a management layer.  
     
     
         42 . The method of  claim 39 , wherein the executable software is not specific to a particular type of data structure.

Join the waitlist — get patent alerts

Track US2004103197A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.