Um Arquivo Seguro e Tolerante a Faltas para Corba utilizando Fragmentação e
description
Transcript of Um Arquivo Seguro e Tolerante a Faltas para Corba utilizando Fragmentação e
Um Arquivo Seguro
e Tolerante a Faltas para
Corba utilizando Fragmentação e Fragmentação e
Dispersão com RedundânciaDispersão com RedundânciaCristina Silva Luis Rodrigues
FCULFCUL
IndiceIndice
Cristina Silva - FC/UL
• Fragmentação e Dispersão com Redundância
Luis Rodrigues - FC/UL
IndiceIndice
Cristina Silva - FC/UL
• Fragmentação e Dispersão com Redundância
• Corba
Luis Rodrigues - FC/UL
IndiceIndice
Cristina Silva - FC/UL
• Fragmentação e Dispersão com Redundância
• Corba
• Segurança
Luis Rodrigues - FC/UL
IndiceIndice
Cristina Silva - FC/UL
• Fragmentação e Dispersão com Redundância
• Corba
• Segurança
• Persistência
Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
Serviço de Fragmentação e Dispersão com RedundânciaServiço de Fragmentação e Dispersão com Redundância
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
1 – É adicionado, se necessário, “padding” ao ficheiro2 – É dividido em páginas
User Site 3 - É cifrado4 – São criados os fragmentos para cada página5 – São efectuadas réplicas dos fragmentos
Network 6 - Difusão dos fragmentos para os armazéns
Storage Site 7 – Algoritmo de aceitação dos fragmentos
CORBACORBACommon Object Request Borker Arquitecture (2.0)Common Object Request Borker Arquitecture (2.0)
Cristina Silva - FC/UL
Object Request Broker Core (IIOP)
Interface Repository
Implementation Repository
DynamicInvocation
ClientIDL Stubs
ORBInterface
StaticSkeletons
DynamicSkeleton Object
Adapter
Client
ObjectImplementation
Luis Rodrigues - FC/UL
OMAOMAThe Object Management ArquitectureThe Object Management Arquitecture
Cristina Silva - FC/UL
Object Request Broker (ORB)
Application Objects
CorbaFacilities
DomainServices
CorbaServices
Naming Persistence Collections SecurityLife Cycle Properties
Externalization Events Transactions
Concurrency Trader
Relationships Time LicensingQuery
Distributed Documents
SystemManagemnt
Information Management
Luis Rodrigues - FC/UL
COSSCOSSSegurançaSegurança
Cristina Silva - FC/UL
Identificação e autenticação Autorização e controlo de acesso• Auditoria de segurança• Segurança nas comunicações• Não repudiação• Administração
Luis Rodrigues - FC/UL
AutenticaçãoAutenticação
Cristina Silva - FC/UL
ClienteServidor de Segurança
Luis Rodrigues - FC/UL
AutenticaçãoAutenticação
Cristina Silva - FC/UL
ClienteServidor de Segurança
Luis Rodrigues - FC/UL
Acesso aos Objectos ArquivadosAcesso aos Objectos Arquivados
Cristina Silva - FC/UL
ClienteServidor de Segurança
Luis Rodrigues - FC/UL
Acesso aos Objectos Arquivados Acesso aos Objectos Arquivados
Cristina Silva - FC/UL
ClienteServidor de Segurança
Luis Rodrigues - FC/UL
ConcretizaçãoConcretização
Cristina Silva - FC/UL
ClienteServidor de Segurança
Luis Rodrigues - FC/UL
COSS - PersistênciaCOSS - Persistência
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
• PO– Objecto Persistente
• POM– Gestor de Objectos Persistentes
• PDS– Serviço de Persistência de Dados
• Datastore
• PID – Identificação do objecto no arquivo
COSS - PersistênciaCOSS - Persistência
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
•O PDSPDS suporta uma colecção de pares de <Arquivo, Protocolo>.
• O ArquivoArquivo guarda os objectos persistentes e o Protocolo descreve o modo como o estado do objecto é transferido de e para o PO
•O PDSPDS comunica com o PO através de um Protocolo e com o Arquivo através de uma interface especifica.
• O POMPOM resolve dinamicamente a associação entre PO’s e os diferentes PDS’s.
• A identificação do objecto persistente no Arquivo é efectuado através do PIDPID ("Persistent Identifier").
COSS - PersistênciaCOSS - Persistência
Cristina Silva - FC/UL
Client Aplication
POPO
POPO
POPO
POPO
POPOPID
POM
PDS
DataStore
Protocol
Luis Rodrigues - FC/UL
COSS - PersistênciaCOSS - Persistência
Cristina Silva - FC/UL
Cliente Fragmentador Armazéns
POPO
POPOPOPO
POPO
PID
POM
PDS
Protocol
Datastore Concretizado
Luis Rodrigues - FC/UL
Arquitectura dos ObjectosArquitectura dos Objectos
Cristina Silva - FC/UL
Cliente Fragmentador
Luis Rodrigues - FC/UL
Servidor de Segurança
Arquitectura dos ObjectosArquitectura dos Objectos
Escreve(stream)
Cristina Silva - FC/UL
Cliente Fragmentador
Luis Rodrigues - FC/UL
Arquitectura dos ObjectosArquitectura dos Objectos
Escreve(stream)
Cristina Silva - FC/UL
Cliente Fragmentador Armazéns
Luis Rodrigues - FC/UL
Arquitectura dos Objectos - LeituraArquitectura dos Objectos - Leitura
Cristina Silva - FC/UL
ler(stream)
Cliente Fragmentador Armazéns
Quero_fragmento(fragmento)
Tenho_fragmento(fragmento)
Luis Rodrigues - FC/UL
Arquitectura dos Objectos - SalvaguardaArquitectura dos Objectos - Salvaguarda
Escreve(stream)
Cristina Silva - FC/UL
Guarda(stream)
Cliente Fragmentador Armazéns
Guarda_fragmento(fragmento)
Luis Rodrigues - FC/UL
Problema da DistribuiçãoProblema da Distribuição
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
• Distribuição Estática– a dispersão dos fragmentos é efectuada com
base num conjunto pré-definido e estático de armazéns.
• Distribuição Dinâmica– os Fragmentadores efectuam a distribuição de
acordo com a disponibilidade dos Armazéns na altura da operação de salvaguarda
Arquitectura GeralArquitectura Geral
Cristina Silva - FC/UL
Cliente Fragmentador Armazéns
POPO
POPOPOPO
POPO
PID
POM
PDS
Protocol
PDS Concretizado
IIOPIIOPDCE/EISOPDCE/EISOP
ProprietarioProprietario
Luis Rodrigues - FC/UL
Servidor de Segurança
Conclusões e Trabalho FuturoConclusões e Trabalho Futuro
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
• Conclusões– Arquivo seguro e tolerante a faltas em CORBA– Utiliza apenas interacções normalizadas
• Trabalho futuro– Diversos parâmetros de configuração– Adquirir experiência com a concretização
FIM
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
COSSCOSSSegurançaSegurança
Cristina Silva - FC/UL
User Sponsor
Principal Autentication
Credentials Current
Client
OR B
user
Create
RequestAu
then
tica
te
Luis Rodrigues - FC/UL
COSSCOSSSegurançaSegurança
Cristina Silva - FC/UL
ClientTargetObject
Securityand OtherServices
ORBServices
ORBServices
ORB Core
Security Technology
Basic Protection & communications
request request
Luis Rodrigues - FC/UL
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
interface CosPersistencePID::PID {
attribute string Arquivo-FDR;
string get_PIDString();
};
interface PID: CosPersistencePID::PID {
attribute string ID;
void open();
void store(in stream Sobj);
void restore(in stream Sobj);
void close ();
void delete();
};
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
interface PIDFactory{
PID create_unique_PID();
PID create_PID_from_string(in string id_string);
};
interface POProtocol {
void save_state(in PID pid);
void load_state(in PID pid);
};
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
interface PDS {
PDS connect( in POProtocol object, in PID pid);
void disconnect(in POProtocol object, in PID pid);
void store( in POProtocol object, in PID pid);
void restore(in POProtocol object, in PID pid);
void delete(in POProtocol object, in PID pid);
};
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
interface Fragmentador{
void store(in ID id, in stream Sobj);
void restore(in ID id, out stream Sobj);
void delete(in ID id);
void receive-fragment(in FRAG fragment); //call-back
};
Cristina Silva - FC/UL Luis Rodrigues - FC/UL
interface Armazem{
void store-fragment(in FRAG fragment);
void delete-fragment(in FRAG fragment);
void restore-fragment(in FRAG frgament);
}: