Rethinking traditional client-server computing