Home
Sistemas Distribuídos Sistemas Distribuídos
Contents
1. Sistemas Distribu dos Relat rio 2 Meta Miguel Alexandre da Mota Mendes Andrade Silva 501031238 Rafael Jos Mendes Marmelo 501031259 Richard Eduardo Nuno 501031269 Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos Relat rio Meta Il ndice 1 Horas dispendidas usasse go steacs Togo RT RT teaaa EaD RO TT UR a ea KASNE 2 INLrOdU O usage ani Rea Lada Rd TAS RO LS RE a iara Da 3 Arquitectura da aplica o as as inina ninnan dana aa nO Rad DURA DR na a na a ea 3 1 Estrutura sersan aran rania ria nad sa asia EEE AENEA EROAA a ss Rasa sia man asa sda sad a 3 20 CONTIQUrA ES asastainses a neisaado asda cathasasas DEL Gaara Dneda dada Td dae a ada Guns asi da io eme LOGON sssapaisapaaeasissnsa dan masa dae A T Formato das mensagens da aplica o s ssssssssrrrrsrtsrrsstrrettt nene trtne trn en encena e nana rara eer aa Tratamento de falhas transit rias iiiiiisiiicestereea serrana ra 4 5 6 Implementa o do mecanismo de replica o ciciiserereserterenenrenene nene rena ne rae nen aranas 7 Integra o entre a vers o de Sockets e a vers o de RMI sssssssssrssssrrsrrrsrrrnnrnnrrrnnrrnerrneren 8 Manual do utilizador casa sesaaa fds nara e T AE dotada ud es a a 9 Manual de instala o e configura o siititeeeerereneere rena e raraa arara emana area c en en rrenan rena 10 Descri
2. ara o ficheiro de texto J 4 Formato das mensagens da aplica o Na aplica o existem duas packages que cont m as mensagens utilizadas a package messages client e messages server Todas as classes nelas contidas extendem uma classe gen rica Message que serializ vel de modo a poder ser transmitida De uma forma geral as mensagens cont m informa o que permita identificar os intervenientes na comunica o e informa o a ser alterado pelo receptor da mensagem Quando o cliente tem informa o a transmitir cria uma mensagem do tipo mensagem de cliente o servidor ao receber esta mensagem trata a informa o nela contida e normalmente cria uma mensagem do tipo mensagem de servidor O processo inverso quando o servidor a tomar a iniciativa de enviar informa o Para mais informa o acerca de cada mensagem existente nas duas packages poder o ser consultados os diagramas anexados ao documento 5 Tratamento de falhas transit rias As falhas transit rias da conex o entre o cliente e servidor s o tratadas de formas semelhante tanto na vers o de Sockets como na vers o de RMI Por m existem tamb m algumas caracter sticas individuais a real ar Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos Relat rio Meta Il No ficheiro de configura o est definida a entrada clientNumReconnects Como indicado no ponto 3 1 tem como f
3. de estar autenticado existindo para o caso de utilizadores novos a op o de registo na janela de autentica o 3 Arquitectura da aplica o Este projecto foge ligeiramente ao enunciado do projecto usando o motor de base de dados PostgreSQL em alternativa aos ficheiros de forma a garantir a persist ncia dos dados 3 1 Estrutura A arquitectura da aplica o pode ser consultada atrav s dos diagramas de classes que se encontram em anexo O fluxo da informa o vai ser explicitado atrav s de diagramas de sequ ncia UML que se encontram em http student dei uc pt richard sdist O setup inicial de um cliente encontra se descrito em ClientSetup O fluxo da thread que vai receber as mensagens do servidor est em ClientReaderThread O setup inicial do servidor prim rio encontra se descrito em PrimaryServerSetup Do mesmo modo o funcionamento de um servidor em watch dog mode encontra se em WatchDogServer A thread do servidor principal que responde aos watch dogs tem o seu funcionamento descrito em AliveSenderThread As threads de resposta aos pedidos dos clientes t m o seu funcionamente delineado em ResponseThread As threads que recebem as mensagens do cliente est o em ConnectionThreads O fluxo gen rico de acesso Base de Dados encontra se em DataBaseAcess 3 2 Configura es Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos Relat rio M
4. elat rio Meta Il 8 Manual do utilizador O manual do utilizador encontra se em http student dei uc pt richard sdist 9 Manual de instala o e configura o O manual de instala o e configura o encontra se em http student dei uc pt richard sdist 10 Descri o dos testes efectuados aplica o Al m de existir um processo de teste cont nuo medida que se desenvolvia a aplica o no fim desta estar conclu da foram efectuados os seguintes testes e Em caso de falha do servidor a aplica o mant m o seu funcionamento mecanismo de watch dogs e As mensagens s o recebidas como s o enviadas tanto em mensagens p blicas sala de chat inicial como em mensagens privadas e O funcionamento entre clientes Socket foi testado O funcionamento entre clientes RMI tamb m foi testado Estes testes foram feitos para toda a aplica o mensagem chat publica mensagem chat privada e jogo e A interoperabilidade entre clientes de Socket e RMI quando um cliente de RMI convida um cliente de Socket e vice versa tamb m foi testada para toda a aplica o e A situa o particular da cria o de novos jogadores e come ar a jogar com eles imediatamente h um problema Para funcionar tem desligar os clientes e voltar a tentar fazer login com eles
5. eta Il De forma a ser usado um ficheiro de configura o de forma simples recorreu se ferramenta YAML Esta permite armazenar dados serializ veis num ficheiro de texto de uma forma leg vel e edit vel pelo utilizador Neste contexto limitou se defini o de simples valores dentro de uma Hashtable De seguida apresenta se a descri o de cada entrada no ficheiro de configura o e respectivos valores por defeito Este ficheiro chama se config ym e pode ser encontrado na raiz da aplica o mo EE e C 127 0 0 1 endere o IP do servidor endere o IP do grupo de multicast usado pra enviar multicastGroupIP 234 234 234 234 mensagens dentro da lounge 12345 porta TCP do servidor er cpPort serverUdpPort 12345 porta UDP do servidor multicastSocketPort 6666 porta Multicast do servidor mer serverRegistryNaming nome do servidor a usar ao fazer rebind no rmiregistry erT er serverRegistryPort 7000 porta do rmiregistry intervalo de tempo em que cada watchdog deve aliveTi 1000 na S periodicamente fazer ping ao servidor prim rio intervalo de tempo m ximo em que cada watchdog 1300 espera antes de tentar passar a servidor prim rio responseThreadsNumber n mero de threads de resposta mensagem usada nos watchdogs para averiguar se existe aliveMsgQuestion ALIVE servidor prim rio mensagem usava pelo servidor prim rio para indicar aos l alive Mans ALIYE watchdogs que se encontra vivo clientN iiReconnec
6. inalidade definir quantas tentativas deve o cliente efectuar de forma a tentar reestabelecer a conex o e por conseguinte enviar as mensagens desejadas Do lado do servidor existe tamb m suporte em caso de falhas de conex o bem como oferece uma forma persistente de salvaguardar as mensagens ainda n o processadas Foi implementada uma queue tendo como base o motor de base de dados PostgreSQL Quando uma mensagem chega ao servidor esta colocada na queue Existe depois um n mero pr determinado de threads de resposta definido em responseThreadsNumber respons veis por esperarem que alguma mensagem entre na queue de forma a ser processada Isto permite que em caso de o servidor falhar imediatamente antes da mensagem ser processada esta seja processada pelo watchdogs que passou entretanto a ser o servidor prim rio 6 Implementa o do mecanismo de replica o O servidor deve registar se de duas formas diferentes Por um lado sockets deve tentar registar se no porto pr definido sob a entrada serverTcpPort no ficheiro de configura o Por outro lado RMI deve substituir o binding para o nome pr definido sob a entrada serverRegistry Naming no ficheiro de configura o com a refer ncia do servidor Dado que em caso de esta refer ncia j existir e se for feito rebind de um nome j existente a refer ncia antiga ser ignorada tem se que ter o cuidado especial em tentar registar se primeiro no porto de sockets e apenas depois faze
7. o dos testes efectuados aplica o s sseserrrssrrsrrsrrrerrrrerrsrnrrrrrrerrerrerrrrreree Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos Relat rio Meta Il 1 Horas dispendidas Meta 1 72 horas Meta 2 23 horas 2 Introdu o A aplica o Connect4 foi elaborada no mbito da disciplina de Sistemas Distribu dos Pretende ser um jogo de quatro em linha num ambiente distribu do Para tal contamos com uma aplica o do lado do cliente e outra do lado do servidor Para al m de jogar quatro em linha existe a possibilidade de conversar com o advers rio enquanto joga O utilizador poder tamb m conversar numa sala de conversa o Nessa sala de conversa o todos os participantes que nela se encontram recebem as mensagens enviadas aproximando se portanto do conceito de chat room Para al m de se poder conversar com outras pessoas na sala de conversa o que o utilizador poder iniciar um novo jogo com outro participante e consultar a listagem das pontua es das pessoas que se encontram ligadas na altura A aplica o suporta a possibilidade de se estar a jogar em v rios jogos em simult neo desde que seja com participantes diferentes Nada impede no entanto que os jogadores comecem um novo jogo depois de ter terminado outro n o tendo de abrir uma nova janela de jogo para o efeito Para o utilizador poder participar ter
8. r o rebind em RMI No caso de sockets os watchdogs enviam para o servidor a mensagem definida sob aliveMsgQuestion e ficam espera duma mensagem do servidor com o conte do definido em aliveMsgAnswer Caso um watchdog n o receba a resposta do servidor prim rio num certo intervalo de tempo definido em receiveTimeout compete pelo lugar como servidor prim rio Sempre que um servidor ganha o lugar de servidor prim rio este tem a responsabilidade de ir buscar a informa o dos jogos activos base de dados e fazer dispatch de poss veis mensagens que ainda se encontrem na queue A primeira vista este mecanismo de dispatch parece algo imposs vel Um servidor prim rio que terminou agora de arrancar n o possui os Sockets abertos com os clientes que usam sockets nem tem a refer ncia aos objectos remotos no caso dos clientes RMI Posto isto foi implementado um mecanismo do lado do cliente que tem como finalidade enviar ao servidor a informa o do cliente Caso seja um cliente de sockets tenta abrir um novo socket caso seja um cliente RMI envia ao servidor a inst ncia do objecto remoto 7 Integra o entre a vers o de Sockets e a vers o de RMI Esta integra o ocorreu de forma completamente transparente dada a peculiar estrutura do lado do servidor queue de mensagens e threads de resposta Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos R
9. ts 5 n mero de tentativas que cada cliente tenta efectuar antes de maxLo ngelenath 256 tamanho m ximo das mensagens a serem trocadas na g g lounge 3 3 Logging Com vista a ser mantido um og do lado do servidor n o s na consola mas tamb m de forma persisitente foi usada a API de Logging do Java Esta encontra se configur vel atrav s do ficheiro logging properties que pode ser encontrado na raiz da aplica o De seguida apresenta se a descri o das entradas usadas e respectivo valores por defeito descri o cria o de dois Departamento de Engenharia Inform tica FCTUC FACULDADE DE CI NCIAS E TECNOLOGIA da UNIVERSIDADE DE COIMBRA Sistemas Distribu dos Relat rio Meta Il java util logging FileHandler handlers um para logging na consola e outro para um ficheiro de texto define o n vel de detalhe para o root logger define o n vel de detalhe de logging para a consola define a classe respons vel pela java util logging ConsoleHandler formatter connect4 config LogFormatter formata o do logging para a consola define o n vel de detalhe de logging para o ficheiro de texto java util logging ConsoleHandler level java util logging FileHandler level define o pattern a java util logging FileHandler pattern connect4 log usar no nome do ficheiro de textp define a classe respons vel pela ava util logging FileHandler formatter connect4 config LogFormatter formata o do logging p
Download Pdf Manuals
Related Search
Related Contents
Guide de dselect pour les débutants Rexel Wizard 2 BB-HCM735 Mars Manual corso di programmazione microcontrollori - 物 理 学 分 野 - 生命物質科学 機材調達支援業務ガイドライン(本邦調達)(2015年9月版)(PDF/1.26MB) Manuel d`utilisation - walcor - valcor Protocole pédiculose (version 2014) Copyright © All rights reserved.
Failed to retrieve file