System and method for maintaining temporal data in data storage at the
logical device level. Embodiments of the temporal volume manager may
provide an interface that allows applications and/or application agents
to communicate with the temporal volume manager to manage and keep track
of the temporal information on one or more temporal volumes. Embodiments
may provide an infrastructure for applications that work on the history
of data such as temporal databases, versioning file-systems/repositories,
data archives, and streaming media to manage temporal data. In one
embodiment, if an application does not want to use the temporal volume
directly, application agents may be used to access the temporal volume.
Embodiments may provide I/O controlled, application-controlled, and/or
periodic checkpointing of temporal data on the temporal volume. One
embodiment may provide a mechanism for generating temporal images (e.g.
point-in-time and slice-in-time images) of a temporal volume that may
have their own independent history.