  We define an algebra on the space of BPS states in theories with extended
supersymmetry. We show that the algebra of perturbative BPS states in toroidal
compactification of the heterotic string is closely related to a generalized
Kac-Moody algebra. We use D-brane theory to compare the formulation of
RR-charged BPS algebras in type II compactification with the requirements of
string/string duality and find that the RR charged BPS states should be
regarded as cohomology classes on moduli spaces of coherent sheaves. The
equivalence of the algebra of BPS states in heterotic/IIA dual pairs elucidates
certain results and conjectures of Nakajima and Gritsenko & Nikulin, on
geometrically defined algebras and furthermore suggests nontrivial
generalizations of these algebras. In particular, to any Calabi-Yau 3-fold
there are two canonically associated algebras exchanged by mirror symmetry.
