Capacity optimization is a general term for technologies used to improve storage use by shrinking stored data. Primary technologies used for capacity optimization are data deduplication and data compression. These are delivered as software or hardware, integrated with storage systems or delivered as standalone products. Deduplication algorithms look for redundancy in sequences of bytes across comparison windows. Typically using cryptographic hash functions as identifiers of unique sequences, sequences are compared to the history of other such sequences, and where possible, the first uniquely stored version of a sequence is referenced rather than stored again. Different methods for selecting data windows include 4KB blocks to full-file comparisons known as single-instance storage (SIS).
Capacity optimization generally refers to the use of this kind of technology in a storage system. An example of this kind of system is the Venti file system  in the Plan9 open source OS. There are also implementations in networking (especially wide-area networking), where they are sometimes called bandwidth optimization or WAN optimization. 
Commercial implementations of capacity optimization are most often found in backup/recovery storage, where storage of iterating versions of backups day to day creates an opportunity for reduction in space using this approach. The term was first used widely in 2005. 
- Venti filesystem Archived January 4, 2006, at the Wayback Machine.
- Spring and Wetherall, A Protocol Independent Technique for Eliminating Redundant Network Traffic
- F. Foukalas et. al, Capacity optimization through sensing threshold adaptation for cognitive radio networks
- "Capacity optimization" defined by searchstorage.com
Capacity optimization through sensing threshold adaptation for cognitive radio networks (http://www.springerlink.com/content/fx023575w0836l04/)
|This software-engineering-related article is a stub. You can help Wikipedia by expanding it.|