The IBM Tivoli Storage Manager, a client/server product providing backup, archive, and space management functions in heterogeneous distributed environments, performs extensive storage management after client data have reached the server. Beyond minimizing the amount of data that a client needs to send on successive backup operations, Tivoli Storage Manager optimizes data placement for disaster recovery, for restore operations, and for fault tolerant access. It also adapts to changes in device technology. The original design points of the product in research have been expanded to provide a comprehensive set of functions that not only facilitate backup but also support content managers and deep storage applications. The design points and functions are described in this paper.