Na schemacie widoczne są najważniejsze tabele projektu:
- host - zawiera informacje o komputerach (hostach) na których uruchomiony jest proces Worker_Manager, każdy host posiada unikalny identyfikator, wartość "n" określa ilość instancji procesu Worker_Manager jaką powinien uruchomić proces Watchdog, wartość "t" określa maksymalną ilość wątków (procesów Worker) w puli jednego procesu Worker_Manager.
- node - informacje o pojedynczych wątkach, każdy wątek posiada swój identyfikator, status, wskazanie na hosta który go uruchomił, zapisany jest również czas uruchomienia. Procedura "node_status_update" (uruchamiana przez zewnętrzny proces jak np. cron) zmienia status wątku na "done" jeżeli dany wątek w ciągu ostatnich 30 minut nie wykonał wpisu w tablicy wyników (aktualnie smtp).
- ipv4class - lista adresów do przeskanowania wraz ze statusem (TODO: status powinien być wartością liczbową, informującą o liczbie "skanów" danej podsieci, aktualnie status informuje tylko o tym czy sieć została już przeskanowana czy nie, co nie będzie problemem do chwili zakończenia pierwszego skanu wszystkich zdefiniowanych sieci).
- module - mapa typów procesów Worker na tabele wyników (do wykorzystania w przyszłości).
- check - opis pracy procesów Worker - tabela zawiera informacje o procesie Worker, wskazanie na typ tego procesu i informację o skanowanej podsieci - klucz główny tej tabeli identyfikuje wyniki zapisane w tabeli wyników.
- smtp - tabela wyników dla procesów Worker typu Worker_SMTP.
- Projekt Rummager: http://luka.sh/projekty/rummager