Methods and systems for opportunistic cookie caching
AssigneeGoogle Inc.
InventorBjorn Marius Aamodt Eriksen
Life of this patent
Estimating the term…
Abstract
Caching cookies in a server includes observing cookies in document requests generated from a client and in responses from web hosts and storing them in a data structure based on certain conditions to maintain a path invariance condition. The cookies may be stored in a trie data structure. Upon certain conditions, cookies in the trie may be coalesced if they are equivalent and nodes of the trie may be collapsed. A server may retrieve cookies from the cache for use in a prefetch operation.
Claims22
A method of utilizing cookies, comprising:
- at a server,
- accessing a data structure that stores cookies, wherein the data structure associates a path, a name, and a value with each cookie stored;
- receiving a first cookie, the first cookie having a first path, a first name, and a first value;
- not storing the first cookie in the data structure if a condition is met, and storing the first cookie in the data structure if the condition is not met;
- wherein the condition is that there is a second cookie in the data structure whose associated name and value are the same as the first name and first value respectively, the path associated with the second cookie is a prefix of the first path, and there is no third cookie in the data structure
- whose associated name is the same as the first name,
- whose associated path is a prefix of the first path, and
- for which the path associated with the second cookie is a prefix of the path associated with the third cookie.
A computer program product stored in one or more memory devices, comprising one or more programs configured for execution by one or more processors at a server, the one or more programs comprising instructions to:
- access a data structure that stores cookies, wherein the data structure associates a path, a name, and a value with each cookie stored;
- receive a first cookie, the first cookie having a first path, a first name, and a first value;
- not store the first cookie in the data structure if a condition is met, and store the first cookie in the data structure if the condition is not met;
- wherein the condition is that there is a second cookie in the data structure whose associated name and value are the same as the first name and first value respectively, the path associated with the second cookie is a prefix of the first path, and there is no third cookie in the data structure whose associated name is the same as the first name, whose associated path is a prefix of the first path, and for which the path associated with the second cookie is a prefix of the path associated with the third cookie.
A system for utilizing cookies, comprising:
- a server with one or more processors and memory;
- a data structure stored in the memory, wherein the data structure is configured to store a plurality of cookies, including a path, a name, and a value for each respective cookie stored;
- and
- a data structure interface module stored in the memory, the data structure interface module executing on the one or more processors to:
- receive a first cookie, the first cookie having a first path, a first name, and a first value;
- not store the first cookie in the data structure if a condition is met, and store the first cookie in the data structure if the condition is not met;
- wherein the condition is that there is a second cookie in the data structure whose name and value are the same as the first name and first value respectively, the path of the second cookie is a prefix of the first path, and there is no third cookie stored in the data structure
- whose name is the same as the first name,
- whose path is a prefix of the first path, and
- for which the path of the second cookie is a prefix of the path of the third cookie.
A server system for utilizing cookies, comprising:
- one or more processors, and memory storing programs executed by the one or more processors;
- means for accessing a data structure that stores cookies, wherein the data structure associates a path, a name, and a value with each cookie stored;
- means for receiving a first cookie, the first cookie having a first path, a first name, and a first value;
- means for not storing the first cookie in the data structure if a condition is met, and means for storing the first cookie in the data structure if the condition is not met;
- wherein the condition is that there is a second cookie in the data structure whose associated name and value are the same as the first name and first value respectively, the path associated with the second cookie is a prefix of the first path, and there is no third cookie in the data structure
- whose associated name is the same as the first name,
- whose associated path is the same as the first path, and
- for which the path associated with the second cookie is a prefix of the path associated with the third cookie.
Dependencies are inferred from the claim text.