This is admittedly an open question.

I've seen the following story play out enough times now, that I have to ask: is there a better way?

This story is when one team sets up their SOA-flavored service; other teams start calling it, or accidentally hammer it. Service falls over. And a negotiation ensues as to whether the caller should call less, or the callee should beef up their capacity to support the call volume.

It's a very manual, piecemeal negotiation. 

Is there any literature out there on different approaches? One idea off the top of my head: a service owner would require "caller credits" (think currency, or permission slips) on the part of each caller. These credits would be issued by the service itself (or some adjunct ServieCallAdministrationService. Yeah, horrible name). In that manner, the service owner can better guarantee service quality by limiting their service volume?

Put another way: who should "own" this problem of managing overall service call volume? The service itself? Callers? Something else?