Why not just have a very high resistance (weight?) value for links that go between service area? Of course, the tracing has to start at the node of the requester, not the server.