1. A method in a computer system for retrieving data from one of multiple copies of the data, wherein the computer system has a processor and memory, the method comprising: receiving a request identifying at least one data object to be accessed; querying, by the computer system, an index to locate two or more data copies that contain the identified at least one data object, wherein for each of the two or more data copies the index contains an indication of an availability of the data copy relative to other data copies, wherein the two or more data copies are respectively stored on two or more different and separate data storage devices, wherein the two or more different and separate data storage devices are substantially permanent or non-volatile storage devices, wherein the data storage devices are coupled to the computer system via a computer network, wherein a first indication of the availability of a first data copy includes a first indication related to a first time M for providing or accessing the at least one data object in response to an access request, and wherein a second indication of the availability of a second data copy includes a second indication related to a second time M+N for providing or accessing the at least one data object in response to the access request, where M and N are positive quantities of time; automatically determining one of the two or more data copies to use to access the identified at least one data object, wherein the determination is made based at least in part on the indicated availability contained in the index for each of the two or more data copies; and providing an access request for accessing the identified at least one data object using the determined one of the two or more data copies, wherein the access request is provided to one of the two or more different and separate data storage devices.