Tra gli approcci esistenti per il middleware grid, uno semplice, potente e flessibile consiste nell'utilizzare i server disponibili in diversi domini amministrativi attraverso i tradizionali paradigmi client-server o Remote Procedure Call (RPC). Server abilitati alla rete (NES) implementano questo modello, chiamato anche Grid-RPC. I client inviano richieste di calcolo a uno scheduler il cui obiettivo è trovare un server disponibile sulle risorse.
Lo scopo del progetto DIET è sviluppare una serie di strumenti per costruire server di calcolo. Enormi problemi possono ora essere calcolati su Internet grazie a Grid Computing Environments - come Globus o Legion - o tramite soluzioni cloud - come Amazon EC2. Poiché la maggior parte delle applicazioni correnti sono numeriche, l'uso di librerie come BLAS, LAPACK, ScaLAPACK o PETSc è obbligatorio. L'integrazione di tali librerie in applicazioni di alto livello che utilizzano linguaggi come Fortran o C è tutt'altro che facile. Inoltre, le esigenze di potenza computazionale e di memoria di tali applicazioni potrebbero ovviamente non essere disponibili su ogni workstation. Pertanto, l'RPC sembra essere un buon candidato per costruire ambienti di problem solving sulla griglia.
Il progetto DIET è focalizzato sullo sviluppo di middleware scalabile con gli sforzi iniziali focalizzati sulla distribuzione del problema di pianificazione tra più agenti. DIET è costituito da un insieme di elementi che possono essere utilizzati insieme per creare applicazioni utilizzando il paradigma Grid-RPC. Questo middleware è in grado di trovare un server appropriato in base alle informazioni fornite nella richiesta del client (ad es. Problema da risolvere, dimensione dei dati coinvolti), alle prestazioni della piattaforma di destinazione (ad es. Carico del server, memoria disponibile, prestazioni di comunicazione) e la disponibilità locale dei dati memorizzati durante i calcoli precedenti. Lo scheduler viene distribuito utilizzando diverse gerarchie collaboranti collegate staticamente o dinamicamente (in modo peer-2-peer). La gestione dei dati viene fornita per consentire ai dati persistenti di rimanere all'interno del sistema per essere riutilizzati in futuro.