System and method for storage and retrieval of arbitrary content and application data
First Claim
1. A system comprising:
- a data processor; and
a memory coupled to the data processor;
wherein the data processor is configured to;
implement a cache system that stores a plurality of data objects and corresponding keys within a first internal data structure in the memory,store data in the first internal data structure,monitor usage of the cache system,associate costs with one or more operations on the first internal data structure,determine a first cost of operation associated with the first internal data structure based on the costs associated with the one or more or operations, andif the first cost of operation is greater than a second cost of operation associated with a second data structure which is distinct from the first internal data structure,create the second data structure,migrate the data stored in the first internal data structure to the second data structure, andswitch operations from the first internal data structure to the second data structure.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for improving the performance of a data storage and retrieval system by enabling dynamic switching from one internal data structure to another in response to detecting conditions indicating that a switch would improve performance. In one embodiment, a network proxy implements a cache using a first internal data structure. The caches objects comprise Web pages, and the cache keys comprise URLs corresponding to the Web pages. The proxy monitors cache usage and periodically determines costs associated with usage of the first data structure and an alternative data structure. If the costs associated with the alternative data structure are less than the costs associated with the first data structure, the proxy crates the alternative data structure, migrates data from the first data structure to the alternative data structure, begins using the alternative data structure for the cache, and deletes the first data structure.
-
Citations
45 Claims
-
1. A system comprising:
-
a data processor; and a memory coupled to the data processor; wherein the data processor is configured to; implement a cache system that stores a plurality of data objects and corresponding keys within a first internal data structure in the memory, store data in the first internal data structure, monitor usage of the cache system, associate costs with one or more operations on the first internal data structure, determine a first cost of operation associated with the first internal data structure based on the costs associated with the one or more or operations, and if the first cost of operation is greater than a second cost of operation associated with a second data structure which is distinct from the first internal data structure, create the second data structure, migrate the data stored in the first internal data structure to the second data structure, and switch operations from the first internal data structure to the second data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
providing a first internal data structure for storing a plurality of objects; storing objects in the first internal data structure; using the first internal data structure; monitoring usage of the first internal data structure; associating costs with one or more operations on the first internal data structure; determining a first cost of operation associated with the first internal data structure based on the costs associated with the one or more operations; determining a second cost of operation associated with a second internal data structure which is distinct from the first internal data structure; comparing the first cost of operation to the second cost of operation; and if the first cost of operation is greater than the second cost of operation, creating the second internal data structure; and migrating the objects stored in the first internal data structure to the second internal data structure. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer readable storage medium embodying a plurality of instructions readable by a data processor, wherein the instructions are configured to cause the data processor to perform the method comprising:
-
providing a first internal data structure for storing a plurality of objects; storing objects in the first internal data structure; using the first internal data structure; monitoring usage of the first internal data structure; associating costs with one or more operations on the first internal data structure; determining a first cost of operation associated with the first internal data structure based on the costs associated with the one or more operations; determining a second cost of operation associated with a second internal data structure which is distinct from the first internal data structure; comparing the first cost of operation to the second cost of operation; and if the first cost of operation is greater than the second cost of operation, creating the second internal data structure and migrating the objects stored in the first internal data structure to the second internal data structure. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification