A backup storage system includes a server having a restore operation that
is independent from browse, mark and submit operations. A restore engine
process is created as part of a restore session initiated by a client for
retrieving a list of restorable objects to be displayed to a user via a
graphical user interface. The user can browse the list of restorable
objects, mark or select objects for restoration and submit the list of
mark objects. Multiple restore submissions can be made prior to the user
commanding the restore engine process, via a remote procedure call, to
execute the submitted restore requests. To support new backup techniques
and storage devices, a corresponding library can be added for processing
with minimal impact to the overall restore system.