Resolving the online/offline service conundrum using virtualization