Pessoal, estou disponibilizando os códigos do cliente e do servidor feitos em java utilizando Socket.
Criem essas classes porque continuaremos a utilizá-las na próxima aula.
Um abraço,
Izalmo
cliente.java
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Cliente {
Socket cliente;
public Cliente()
{
try {
cliente = new Socket("127.0.0.1",4321);
PrintStream saida = new PrintStream(cliente.getOutputStream());
saida.print("Aula de Sistemas Distribuídos Fializada!");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
cliente.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void
main(String[] args)
{
new Cliente();
}
}
servidor.java
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor
{
ServerSocket servidor;
public Servidor()
{
try {
servidor = new ServerSocket(4321);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Bem Vindo!");
while (true)
{
try {
Socket cliente = servidor.accept();
System.out.println("Ip:"+cliente.getInetAddress());
DataInputStream dis = new DataInputStream(cliente.getInputStream());
System.out.println(dis.readLine());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Requisição Recebida!");
}
}
public static void
main(String[] args)
{
new Servidor();
}
}
sexta-feira, 28 de março de 2008
Redes P2P: Middleware X-Peer e Aplicações P2P
Redes P2P vem sendo uma área de constante pesquisa e evolução, mostrando o interesse da comunidade num modelo de paradigma diferente do mais utilizado normalmente – cliente-servidor. O middleware XPeer torna-se bastante interessante com o objetivo de divulgar a tecnologia, estimulando assim o desenvolvimento de aplicações P2P. Aqui são apresentados, entre outras coisas, estudos relacionados à viabilidade de se utilizar o Chord.
A computação peer-to-peer (P2P) tem promovido uma grande modificação nos padrões de uso da Internet nos últimos anos. Sua grande vantagem, em relação à computação cliente/servidor, é possibilitar a colaboração e acesso direto entre os usuários e seus recursos, mesmo que as máquinas estejam escondidas atrás de firewalls e NATs, sem a dependência de uma organização central ou hierárquica, dispondo aos seus integrantes as mesmas capacidades e responsabilidades.
Um sistema P2P puro é totalmente descentralizado e se subdivide em sistemas puros estruturados e não estruturados, que se diferenciam, respectivamente, pela capacidade de recuperar todas as informações disponíveis na rede ou apenas parte delas. Exemplos de sistemas estruturados são os sistemas baseados em tabelas hash distribuídas (DHT – Distributed Hash Tables), como Chord, Pastry, Tapestry e CAN.
Foi proposto o middleware X-Peer, que define um novo modelo de arquitetura que utiliza o melhor dos modelos P2P citados. O X-Peer utiliza o conceito de super-nós que se comunicam através de uma rede estruturada baseada em DHT [10]. Isto garante ao X-Peer os benefícios da escalabilidade e robustez.
Dentre os algoritmos analisados para ser utilizado neste sistema estão o Chord, o Pastry e a plataforma JXTA. O Pastry apresentou a melhor opção de implementação, fica encapsulada sob uma interface genérica DHT, e, portanto, pode ser substituída por outra solução DHT que forneça a mesma API, como o Chord.
O X-Peer foi desenvolvido com o objetivo de construir um mecanismo para facilitar o desenvolvimento de aplicações P2P. Entretanto, o X-Peer é um middleware que pode ser utilizado em corporações de pequeno, médio e grande porte como substrato básico para a construção de aplicações P2P de larga escala. O X-Peer é escalável e flexível, pois organiza super-nós sobre um modelo estruturado DHT. Além disso, pela estruturação das meta-informações proposta, amplia os tipos de consulta possíveis, permitindo vários tipos de consultas por palavras-chave.
Como trabalho futuro, espera-se que várias características como gerenciamento e suporte a aplicações moveis e dispositivos sem fio sejam adicionados ao X-Peer. Assim também se espera desenvolver aplicações móveis que se utilizam do X-Peer.
link: http://www.cin.ufpe.br/~tds/ic1/tarciana-silva-04-02.doc
A computação peer-to-peer (P2P) tem promovido uma grande modificação nos padrões de uso da Internet nos últimos anos. Sua grande vantagem, em relação à computação cliente/servidor, é possibilitar a colaboração e acesso direto entre os usuários e seus recursos, mesmo que as máquinas estejam escondidas atrás de firewalls e NATs, sem a dependência de uma organização central ou hierárquica, dispondo aos seus integrantes as mesmas capacidades e responsabilidades.
Um sistema P2P puro é totalmente descentralizado e se subdivide em sistemas puros estruturados e não estruturados, que se diferenciam, respectivamente, pela capacidade de recuperar todas as informações disponíveis na rede ou apenas parte delas. Exemplos de sistemas estruturados são os sistemas baseados em tabelas hash distribuídas (DHT – Distributed Hash Tables), como Chord, Pastry, Tapestry e CAN.
Foi proposto o middleware X-Peer, que define um novo modelo de arquitetura que utiliza o melhor dos modelos P2P citados. O X-Peer utiliza o conceito de super-nós que se comunicam através de uma rede estruturada baseada em DHT [10]. Isto garante ao X-Peer os benefícios da escalabilidade e robustez.
Dentre os algoritmos analisados para ser utilizado neste sistema estão o Chord, o Pastry e a plataforma JXTA. O Pastry apresentou a melhor opção de implementação, fica encapsulada sob uma interface genérica DHT, e, portanto, pode ser substituída por outra solução DHT que forneça a mesma API, como o Chord.
O X-Peer foi desenvolvido com o objetivo de construir um mecanismo para facilitar o desenvolvimento de aplicações P2P. Entretanto, o X-Peer é um middleware que pode ser utilizado em corporações de pequeno, médio e grande porte como substrato básico para a construção de aplicações P2P de larga escala. O X-Peer é escalável e flexível, pois organiza super-nós sobre um modelo estruturado DHT. Além disso, pela estruturação das meta-informações proposta, amplia os tipos de consulta possíveis, permitindo vários tipos de consultas por palavras-chave.
Como trabalho futuro, espera-se que várias características como gerenciamento e suporte a aplicações moveis e dispositivos sem fio sejam adicionados ao X-Peer. Assim também se espera desenvolver aplicações móveis que se utilizam do X-Peer.
link: http://www.cin.ufpe.br/~tds/ic1/tarciana-silva-04-02.doc
Marcadores:
Jeovane Firmo
A performance vs. cost framework for evaluating DHT design tradeoffs under churn
Este artigo apresenta performance versus custo Framework (PVC), que permite designers comparar os efeitos de diferentes características de protocolos e valores dos parâmetros. PVC vistas como um protocolo consumindo uma certa quantidade de largura de banda, a fim de alcançar um certa latência, e ajuda a revelar a eficiência dos protocolos adicionais com os quais utilizam recursos de rede para melhorar a latência. Para demonstrar o valor de PVC, o presente documento simula Corda, Kademlia, Kelips, OneHop, Tapestry e sob diferentes trabalhos e utiliza PVC para entender quais recursos são mais importante. PVC análisa e mostra que a chave para usar banda adicional de um protocolo é ajustando o tamanho da tabela de roteamento. Demonstra também que a estabilização da tabela de roteamento é inútil e pode ser substituído por aprendizagem oportunistas através tráfego normal. Estas percepções combinadas demonstram que o PVC é um instrumento precioso para DHT designers.
Fonte:
http://pdos.csail.mit.edu/papers/dhtcomparison:infocom05/paper.pdf
Lucas Carvalho Teixeira
Fonte:
http://pdos.csail.mit.edu/papers/dhtcomparison:infocom05/paper.pdf
Lucas Carvalho Teixeira
Kenosis: A P2P RPC system using the Kademlia DHT
O artigo: Kenosis: A P2P RPC system using the Kademlia DHT, de Baris Boyvat, disponivel em http://www.tml.tkk.fi/Publications/C/18/boyvat.pdf, acessado em 13 de março de 2008, apresenta um sistema remoto peer-to-peer, baseado no Kademlia distribuído em uma tabela hash para descobertas de nós e rotas na rede.
O Kademlia é um método DHT desenvolvido pela Universidade de Nova York A maior inovação desse algoritmo é que as distancias entre os pontos na rede são gerenciados por uma métrica XOR. Esse método é completamente descentralizado como o Chord (outro conhecido método DHT).
Este artigo aborda o desenvolvimento do sistema Kenosis. Esse sistema utiliza a tabela Hash de distribuição Kademila para a descoberta de nós e de rotas. Para as chamadas remotas o Kenosis utiliza o framework XML-RPC.
COMENTÁRIO:
O referente artigo aborda resumidamente os aspectos referentes a construção do Kenosis. A abordagem introdutória foi razoável (tendo duas seções dedicadas a este fim), porém descrição sobre o sistema em si foi extremamente superficial. Algo também não muito apropriado no artigo são as referencias bibliográficas. Este baseou-se principalmente em fóruns e wikis. Apesar de o tema ser interessante, o projeto aparentemente resumiu-se a um protótipo estudantil sem maiores pretensões.
20 de março de 2008
Leandro Moraes V. Cruz
O Kademlia é um método DHT desenvolvido pela Universidade de Nova York A maior inovação desse algoritmo é que as distancias entre os pontos na rede são gerenciados por uma métrica XOR. Esse método é completamente descentralizado como o Chord (outro conhecido método DHT).
Este artigo aborda o desenvolvimento do sistema Kenosis. Esse sistema utiliza a tabela Hash de distribuição Kademila para a descoberta de nós e de rotas. Para as chamadas remotas o Kenosis utiliza o framework XML-RPC.
COMENTÁRIO:
O referente artigo aborda resumidamente os aspectos referentes a construção do Kenosis. A abordagem introdutória foi razoável (tendo duas seções dedicadas a este fim), porém descrição sobre o sistema em si foi extremamente superficial. Algo também não muito apropriado no artigo são as referencias bibliográficas. Este baseou-se principalmente em fóruns e wikis. Apesar de o tema ser interessante, o projeto aparentemente resumiu-se a um protótipo estudantil sem maiores pretensões.
20 de março de 2008
Leandro Moraes V. Cruz
Assinar:
Comentários (Atom)