Patent ID: 8732211

Claim:
A method for organizing data into data structures, the method comprising: monitoring usage of the data using a processing device; detecting a pattern in the usage of the data using the processing device, the pattern of usage based on a plurality of data remove events and data add events; assigning a first concrete implementation associated with a first data structure to the data, based, in part, on the detected pattern of usage of the data using the processing device; identifying a change in the pattern of usage of the data using the processing device, after the step of assigning; switching, using the processing device, the first concrete implementation associated with the first data structure to a second concrete implementation, based, in part, on the change in the pattern of usage, the second concrete implementation associated with a second data structure that is different from the first data structure; importing data from the first concrete implementation and transforming the imported data into the second concrete implementation using the processing device; and continuing to route calls to the first concrete implementation during the importing with the processing device.