Distributed quantum computing