Distributed Systems of today have evolved from tightly coupled architectures such as CORBA and DCOM to loosely coupled service-oriented architectures such as Web Services. The success of such architectures depends upon availability of supporting functions such as security, systems management, service level agreements and development environments with associated tooling. An important management component of such an infrastructure is the metering and accounting for service usage which is essential for successful deployments in commercial environments. This paper explores the problem space and presents an architecture that addresses this need. We start by defining taxonomy of services from the perspective of usage metering, charging and business models. We discuss how service usage can be measured, aggregated and communicated in a uniform way. Finally, we report on a prototype design and implementation.