In recent years, service overlay networks have been proposed as a promising solution to provide end-to-end QoS without changing the current Internet architecture. In deploying service overlay networks, one major issue is how to efficiently allocate resources (e.g., link bandwidth) on a substrate network to each application with end-to-end QoS requirement. This paper proposes a novel decentralized architecture that achieves efficient resource allocation using a market mechanism. Resources on a substrate network are priced and each application provider aims to buy resources needed to satisfy its QoS requirement with minimum cost, which leads to globally efficient resource allocation. In order to further enhance efficiency in resource allocation, the proposed architecture enables trade of resources between applications. Trade of resources allows an application provider to buy resources from other application providers when resources on a substrate network are unavailable or expensive. Simulation results demonstrate the validity of the proposed architecture in improving efficiency of resource allocation.