From the World Wide Web to supply chains and scientific simulations, distributed systems are a widely used and important approach to building computational systems. Tracking provenance within these systems is crucial for determining the trustworthiness of data they produce, troubleshooting problems, assigning responsibility for decisions, and improving performance. To facilitate such tracking, the Open Provenance Model (OPM) has been created to enable the interchange of provenance between a distributed system's components. However, to date, the ability of OPM to represent distributed systems has not been verified. In this work, we show how OPM can be used to represent a set of distributed systems' patterns. We present a profile that shows that these patterns are a specialisation of OPM. Finally, we define a contract that enables participants in a distributed system to ensure that their provenance can be integrated cohesively. © 2011 Elsevier B.V. All rights reserved.