MOBILET
Arquitetura global do sistema
Log
Rede
Controle
Agente Móvel Único:
Vantagens
 Execução
 Menor
em um nó por vez
tráfego na rede
 Independência
 Pode
de controle
gerenciar múltiplas plataformas
 Construção
relativamente simples
Abordagem escolhida
Monitor
1
2
3
Agente Móvel
2
Repositório
LOGs
3
1 - VOYAGER Universal ORB
2 - VISIBROKER (CORBA)
3 - Interoperabilidade Voyager x CORBA
Resultados Obtidos
 Maior
conhecimento da arquitetura:
 Estudo
do motor de inferência JEOPS
 Estudo dos ORBs Voyager e VisiBroker
 Obtenção
de uma arquitetura original e
eficiente de mobilidade
 Arquitetura
 Criação
totalmente reconfigurável
de condições para avaliação de
desempenho e estudo comparativo
 Possibilidade de aproveitamento real do
agente em ambiente de produção
MOBILET
Em cada máquina...
Arquivo com
limites de
utilização para
cada tipo de
partição
IMAGE
TEXT
EXEC
CORE
HTML
CACHE
TEMP
MAIL
LOG
BACKUP
MQUEUE
PRINT
UNKNOWN
Classifica partições
Para cada partição com
problema...
Classifica arquivos
MANTER
APAGAR
COMPACTAR
COMPACTAR E RECRIAR
MOVER
INFORMAR
Age sobre arquivos
ROOT
VAR
TMP
VAR_MAIL
EXPORT
USR
OPT
PROC
DEV_FD
CDROM
DEFAULT
Regras
MOBILET
1) Se %Utilizado da partição <= Ideal da partição, então partição está Ok!
 f Filesystem(f)  (PercUsado(f) <= Ideal(f)) => Situacao(f,OK);
2) Se tipo do arquivo for CORE, então apague-o e atualize a partição!
 f,a Filesystem(f)  File(a)  ( Type(a) = CORE) => Apague(f,a) 
Decremente(f, Size(a));
3) Se tipo do filesystem for ROOT, então nada pode ser feito!
 f Filesystem(f)  ( Type(f) = ROOT) => Situação(f,OK);
...
12) Se partição ainda não está Ok e tipo do arquivo for EXEC e tipo da partição
for EXPORT, então não mexa no arquivo!
 f,a Filesystem(f)  File(a)  Situação(f,Not)  (Type(a) = EXEC)
 (Type(f) = EXPORT) => Maintain(f,a);
...
17) Se partição ainda não está Ok e tamanho do arquivo > 5Mb e tipo da partição
for VAR_MAIL, então mova arquivo e atualize a utilização da partição!
 f,a Filesystem(f)  File(a)  Situação(f,Not)  (Size(a) >
5000000)  (Type(f)= VAR_MAIL) => Move(f,a)  Decrease(f, Size(a));
MOBILET
Objetos...
Filesystem
Name: String;
Partition: String;
Size:
int;
Used:
int;
Type:
int;
Ideal:
int;
Files:
Arq[]
NFiles: int
Filesystem(...); // construtor
float computePerc();
decrease(int valor, int fator);
boolean isUsedOk();
setIdeal(Config config_table);
gets e sets..
Arq
Name:
String;
Type:
int;
LifeTime:
int;
Checksum:
int;
Size:
int;
Owner:
String;
CompactDegree: int;
Situation:
int
Arq(); // construtor
remove(Log log), compact(...),
compact_create(...), move(...),
maintain(...), inform(...);
setCompactDegree();
gets e sets...
Download

MOBILET: Um Agente Móvel para Gerência de Espaço em Disco