A computer system comprising: a first host configured to store a plurality of backup files on a backup medium, wherein each backup file includes one or more data segments of a plurality of data segments (470B-480B), wherein in said storing the plurality of backup files, the first host is configured to: store the plurality of data segments on the backup medium; and for each respective backup file of the plurality of backup files, store on the backup medium a respective data object (420, 430, 440, 450, 460) that references the one or more data segments of the respective file; and a backup catalog configured to store metadata describing the plurality of backed up files, wherein the metadata includes a separate entry (411A-417A) for each of the backed up files, and wherein the entry for each respective file includes a filename that corresponds to the respective file and a pointer (411C-417C) to the respective data object that references the one or more data segments of the respective file; a second host configured to convey to the first host a request to open a first backup file stored on the backup medium, wherein the first backup file corresponds to a first data object; wherein in response to the request to open the first backup file, the first host is configured to: create a new data object on the backup medium corresponding to a new version of the first backup file; and copy each pointer referencing each of the one or more data segments of the first backup file from the first data object to the new data object; and wherein the second host is further configured to: after said conveying the request to open the first backup file, convey to the first host one or more modification requests to modify the first backup file, wherein the one or more modification requests include one or more new data segments; and wherein, in response to receiving the one or more modification requests, the first host is further configured to: store the one or more new data segments on the backup medium; and for each respective data segment of the one or more new data segments, add a new pointer referencing the respective data segment to the new data object. a first host configured to store a plurality of backup files on a backup medium, wherein each backup file includes one or more data segments of a plurality of data segments (470B-480B), wherein in said storing the plurality of backup files, the first host is configured to: store the plurality of data segments on the backup medium; and for each respective backup file of the plurality of backup files, store on the backup medium a respective data object (420, 430, 440, 450, 460) that references the one or more data segments of the respective file; and store the plurality of data segments on the backup medium; and for each respective backup file of the plurality of backup files, store on the backup medium a respective data object (420, 430, 440, 450, 460) that references the one or more data segments of the respective file; and a backup catalog configured to store metadata describing the plurality of backed up files, wherein the metadata includes a separate entry (411A-417A) for each of the backed up files, and wherein the entry for each respective file includes a filename that corresponds to the respective file and a pointer (411C-417C) to the respective data object that references the one or more data segments of the respective file; a second host configured to convey to the first host a request to open a first backup file stored on the backup medium, wherein the first backup file corresponds to a first data object; wherein in response to the request to open the first backup file, the first host is configured to: create a new data object on the backup medium corresponding to a new version of the first backup file; and copy each pointer referencing each of the one or more data segments of the first backup file from the first data object to the new data object; and create a new data object on the backup medium corresponding to a new version of the first backup file; and copy each pointer referencing each of the one or more data segments of the first backup file from the first data object to the new data object; and wherein the second host is further configured to: after said conveying the request to open the first backup file, convey to the first host one or more modification requests to modify the first backup file, wherein the one or more modification requests include one or more new data segments; and wherein, in response to receiving the one or more modification requests, the first host is further configured to: store the one or more new data segments on the backup medium; and for each respective data segment of the one or more new data segments, add a new pointer referencing the respective data segment to the new data object. store the one or more new data segments on the backup medium; and for each respective data segment of the one or more new data segments, add a new pointer referencing the respective data segment to the new data object.