Entre as abordagens existentes para middleware de grade, um simples, poderoso e flexível consiste em usar os servidores disponíveis em diferentes domínios administrativos através dos paradigmas tradicionais do cliente-servidor ou da Chamada de Procedimento Remoto (RPC). Servidores habilitados para rede (NES) implementam este modelo, também chamado Grid-RPC. Os clientes enviam pedidos de computação para um agendador cujo objetivo é encontrar um servidor disponível nos recursos. O objetivo do projeto DIET é desenvolver um conjunto de ferramentas para construir servidores computacionais. Grandes problemas podem agora ser computados através da Internet graças aos ambientes de computação de grade – como Globus ou Legion – ou através de soluções em nuvem – como a Amazon EC2. Como a maioria das aplicações atuais são numéricas, o uso de bibliotecas como BLAS, LAPACK, ScaLAPACK ou PETSc é obrigatório. A integração de tais bibliotecas em aplicações de alto nível usando linguagens como Fortran ou C está longe de ser fácil. Além disso, as necessidades de energia e memória computacionais dessas aplicações podem, naturalmente, não estar disponíveis em cada estação de trabalho. Assim, o RPC parece ser um bom candidato para construir ambientes de resolução de problemas na grade. O projeto DIET está focado no desenvolvimento de middleware escalável com esforços iniciais focados na distribuição do problema de agendamento em vários agentes. DIET consiste em um conjunto de elementos que podem ser usados juntos para construir aplicações usando o paradigma Grid-RPC. Este middleware é capaz de encontrar um servidor apropriado de acordo com as informações fornecidas no pedido do cliente (por exemplo, problema a ser resolvido, tamanho dos dados envolvidos,) o desempenho da plataforma de destino (por exemplo, carga de servidor, memória disponível, desempenho de comunicação) e a disponibilidade local de dados armazenados durante as computações anteriores. O programador é distribuído usando várias hierarquias de colaboração conectadas estaticamente ou dinamicamente (em uma moda peer-2-peer). O gerenciamento de dados é fornecido para permitir que os dados persistentes permaneçam dentro do sistema para reutilização futura.