General Architecture for Demand Migration in Distributed Systems