Cópia de Disseminação Eficiente de Arquivo- Linguagem Java

Terminado

Publicado: Hace 2 meses Plazo: 2 días Propuestas: 2 Freelancers interesados: 3

Abierto

Descripción:

Obrigatorio utilização : API Sockets; Sistema Linux; Linguagem JAVA

Deverá ser projetado um programa para disseminação eficiente de arquivo, inspirado no protocolo BitTorrent, com a comunicação entre os processos realizada através da API sockets (fluxo de bytes TCP e/ou datagramas UDP). O programa deverá utilizar arquitetura par-a-par e apresentar uma escalabilidade melhor do que protocolos de transferência de arquivos que utilizem arquitetura cliente/ servidor (ex.: FTP, HTTP)

REQUISITOS DO SISTEMA:
O programa deverá prover as seguintes funcionalidades BÁSICAS:
• Projetar o formato do arquivo de metadados (DICA: inspire-se no formato de arquivo .torrent);
• Implementar mecanismo de transferência de arquivo entre pares (par-a-par) que receba como entrada o arquivo de metadados e obtenha completamente o arquivo desejado por meio dos pares;
• Implementar mecanismos de verificação e garantia da integridade do arquivo;
• Prover alguma interface com o usuário (CLI ou GUI) para acesso às funcionalidades do programa;

O programa deverá prover as seguintes funcionalidades INTERMEDIÁRIAS:
• Implementar política de seleção de peças (partes do arquivo), que garanta uma boa distribuição das partes do arquivo entre os pares que estejam compartilhando-o;
• Implementar mecanismo de rastreamento para que os pares que estejam compartilhando um mesmo arquivo (enxame) encontrarem-se dinamicamente;
• Implementar mecanismos de incentivo, visando evitar congestionamento da rede e free-riders;
• Prover uma disseminação eficiente do arquivo a partir de uma fonte inicial (semeador inicial);
• Garantir a escalabilidade do sistema, evitando a degradação na taxa de dados (bytes/seg.) pelo aumento da quantidade de pares compartilhando o mesmo arquivo;

O programa OPCIONALMENTE poderá prover as seguintes funcionalidades AVANÇADAS:
• O programa pode ser capaz de realizar controle de fluxo, ajustando a taxa do transmissor à taxa de um receptor mais lento;
• O programa pode implementar um limitador de taxa de dados (quantidade de dados enviada por unidade de tempo), evitando o congestionamento da rede;
• O programa pode ser capaz de permitir que pares que estejam em LANs diferentes possam se encontrar e conectar, lidando com peculiaridades da infraestrutura de rede.

Categoria: IT & Programação
Subcategoria: Outros
Tamanho do projeto: Pequeño
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário

Freelancers que ya aplicaron para este trabajo

Blupink S. Diretora de estúdio de jogos, formada em Ciências da Computação. Nosso estúdio oferece serviços de outsourcing em programação e arte visual. Diversos jogos já lançados no mercado. ÁREAS DE ATUAÇÃO: Desenvolvimento ... + detalles

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.

Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana