Methods and systems for opportunistic cookie caching
First Claim
Patent Images
1. 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 structurewhose associated name is the same as the first name,whose associated path is a prefix of the first path, andfor which the path associated with the second cookie is a prefix of the path associated with the third cookie.
2 Assignments
0 Petitions
Accused Products
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.
18 Citations
22 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
- access a data structure that stores cookies, wherein the data structure associates a path, a name, and a value with each cookie stored;
-
15. 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. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. 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.
-
Specification