This document provides a survey of techniques for achieving metadata interoperability between heterogeneous metadata repositories. It begins by introducing the concept of metadata and identifying three key components: metadata instances, schemas, and schema definition languages. It then analyzes factors that can impede interoperability between distinct metadata descriptions, such as structural and semantic heterogeneities. Various techniques for establishing interoperability are categorized and described, with a focus on metadata mapping. Finally, the techniques are compared in terms of their ability to resolve different types of heterogeneities.