Temporal based data string intern pools
First Claim
1. A machine-implemented method comprising:
- allocating memory for a first data structure;
designating the first data structure as a dead intern pool;
allocating memory for a second data structure;
designating the second data structure as a live intern pool;
during a first interval that is part of a rolling window of time,obtaining a first string extracted from low-latency web traffic data,determining the live intern pool does not store the first string,adding the first string to the live intern pool responsive to the determination that the live intern pool does not store the first string,obtaining a second string from the low-latency web traffic data,determining the live intern pool stores the second string, andassigning a pointer identifying a memory location storing the second string responsive to the determination that the live intern pool stores the second string; and
at an end of the first interval that is part of the rolling window of time,deallocating memory storing the dead intern pool,designating the live intern pool as the dead intern pool,allocating memory for a new data structure, anddesignating the new data structure as the live intern pool.
2 Assignments
0 Petitions
Accused Products
Abstract
Configurations for providing temporal based data string intern pools that reuse data strings and decrease unnecessary operations to memory. A data structure representing a string intern pool is allocated for a first time period and one or more strings associated with event data communications are stored in the data structure. To optimize memory usage, if a string associated with an event tracking data communication is located within the data structure, a pointer is then assigned to the string instead of storing the string in the data structure. In a second time period, a second data structure is allocated for another string intern pool and matching strings from event tracking data communications are assigned to pointers for existing strings in the second data structure. The first data structure is maintained during the second time period but no additional strings are written to the first data structure.
65 Citations
20 Claims
-
1. A machine-implemented method comprising:
-
allocating memory for a first data structure; designating the first data structure as a dead intern pool; allocating memory for a second data structure; designating the second data structure as a live intern pool; during a first interval that is part of a rolling window of time, obtaining a first string extracted from low-latency web traffic data, determining the live intern pool does not store the first string, adding the first string to the live intern pool responsive to the determination that the live intern pool does not store the first string, obtaining a second string from the low-latency web traffic data, determining the live intern pool stores the second string, and assigning a pointer identifying a memory location storing the second string responsive to the determination that the live intern pool stores the second string; and at an end of the first interval that is part of the rolling window of time, deallocating memory storing the dead intern pool, designating the live intern pool as the dead intern pool, allocating memory for a new data structure, and designating the new data structure as the live intern pool. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system of maintaining string intern pools, comprising:
-
a first data structure designated as a dead intern pool; a second data structure designated as a live intern pool; a buffer module queuing and transmitting low-latency web tracking data; an extraction module extracting a first string and a second string from a low-latency web tracking datum; a time interval manager keeping track of one or more contiguous time intervals; a data structure manger determining the live intern pool does not store a first string, adding the first string to the live intern pool responsive to the determination that the live intern pool does not store the first string, determining the live intern pool stores the second string, assigning a pointer identifying a memory location storing the second string responsive to the determination that the live intern pool stores the second string; and an intern pool manager, at each end of an interval that is part of a rolling window of time, deallocating a memory storing the dead intern pool, designating the live intern pool as the dead intern pool, allocating memory for a new data structure, and designating the new data structure as the live intern pool. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification