Dynamic multi-pathing (DMP) é um tipo de aplicação de software de controlo de caminhos de comunicação. O controle de caminhos é uma abordagem para otimizar a configuração e o gerenciamento de roteamento para redes de armazenamento; o DMP é usado para automatizar esses processos de backup e restauração de dados da rede de armazenamento. O DMP foi projetado em resposta às complexas necessidades das redes de armazenamento, em comparação com as redes de dados comuns: Falhas de conexão em redes de dados geralmente significam apenas que a conexão deve ser testada novamente; em redes de armazenamento, entretanto, uma falha é mais provável de causar uma falha no sistema. A margem de erro é menor também para redes de armazenamento: enquanto a recuperação de erros em minutos é aceitável para redes de dados em bom funcionamento, para redes de armazenamento deve ser dentro de segundos - e de preferência milissegundos.
Para resolver essas diferenças, as redes de armazenamento devem ser projetadas para permitir a maior flexibilidade possível de configuração e disponibilidade do sistema. Entretanto, a flexibilidade adicional também aumenta a possibilidade de falhas de conexão: onde um sistema de armazenamento de uma vez pode ter consistido em um único dispositivo de armazenamento conectado a um único host por um único cabo, um sistema de armazenamento hoje normalmente consiste de vários dispositivos diversos em uma topologia de rede interligada. Os aplicativos de software DMP redirecionam automaticamente os dados através de caminhos alternativos no caso de uma falha de conexão.