Propostas Submetidas MEI 2014/2015

DEI - FCTUC
Gerado a 2024-11-21 19:20:33 (Europe/Lisbon).
Voltar

Titulo Estágio

Implementação de uma design pattern para comunicação TCP fiável

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI

Enquadramento

A crescente importância da Internet na vida das pessoas e nos negócios aumenta a necessidade de aplicações distribuídas confiáveis ​​de grande escala. No coração da maioria das aplicações distribuídas que precisam de confiabilidade, encontramos o Transmission Control Protocol (TCP). No entanto, se a conectividade for perdida durante algum tempo, a conexão TCP irá perder-se, tornando muito difícil qualquer tipo de recuperação.

Em muitos programas e protocolos, como o FTP, SSH, X Windows ou streaming de multimédia seria útil manter a interação viva, mesmo depois de uma desconexão do TCP. No entanto, a assincronia e a falta de fiabilidade da rede dificultam grandemente a deteção atempada de perdas de mensagens.

Ainda assim, o TCP pode garantir comunicação confiável, com a ajuda de alguns componentes e princípios de programação simples. O objetivo deste estágio será o de garantir a duração das interações TCP, usando design patterns.

Objetivo

Para tolerar falhas do TCP, vamos adotar alguns padrões já existentes, que foram desenvolvidos ao longo dos anos para simplificar a programação distribuída. Por exemplo, o Acceptor-Connector, o Publisher-Subscriber, o Líder-Seguidor, o Reactor, o Proactor, e assim por diante. Um dos componentes chave a utilizar neste trabalho será um buffer circular que armazena todos os dados em trânsito na ligação TCP, com um mínimo de impacto no desempenho. Recorrendo a este buffer e aos padrões referidos anteriormente, poderemos criar um novo padrão de comunicação que suporte múltiplos clientes em simultâneo e capaz de restabelecer ligações TCP sem qualquer perda de dados. O estagiário deverá implementar a design pattern tolerante a falhas do TCP num browser, de forma a que este ofereça comunicação fiável nas tags

Plano de Trabalhos - Semestre 1

Estudo do estado da arte e familiarização com a design pattern atualmente existente (meses 1-2)

Implementação da design pattern no browser (meses 3-4)

Escrita do relatório intermédio (mês 5)

Plano de Trabalhos - Semestre 2

Inclusão de características adicionais, como segurança ou multi-threading (meses 6-7)

Avaliação experimental (meses 8-9)

Escrita do relatório final (mês 10)

Condições

Estágio não remunerado.

Orientador

Filipe Araújo, Fernando Barros
filipius@uc.pt 📩