1. A method, the method comprising: receiving an instruction to migrate a first session; wherein the first session comprises a first tree of a first plurality of duration data structures (DDSs) that each corresponds to a different duration and a separate allocated area of memory; wherein each DDS of the first plurality of DDSs is associated with an area of memory that is different relative to the areas of memory associated with the other DDSs in the first tree; wherein a particular DDS of the first plurality of DDSs, if terminated, would terminate one or more other DDSs; wherein an area of memory that corresponds to the one or more other DDSs would be deallocated by, at least in part, termination of the particular DDS; wherein each DDS of the first plurality of DDSs is associated with an identifier that is unique relative to the identifiers of the other DDSs in the first tree; in response to the instruction, migrating the first session; wherein a second session comprises a second tree of a second plurality of DDSs; wherein each DDS of the second plurality of DDSs is associated with an identifier that is unique relative to the identifiers of the other DDS in the second tree; wherein each DDS of the first tree and second tree is associated with a different area of memory; generating a set of one or more mappings; wherein each mapping of the set of mappings is between an identifier associated with a DDS of the first tree and a new identifier for the DDS; wherein the new identifier is unique relative to the identifiers of each DDS in the first tree and the second tree; wherein the method is performed by one or more computing devices.