SlideShare a Scribd company logo
1 of 36
Download to read offline
Comparativo -
Cirrus x JXTA



Afif Fikani, Heron Barreto, Ricardo Teixeira
Roteiro
1.   Motivação
2.   A Plataforma Flash
3.   Flash Player
4.   Cirrus
5.   Protocolo RTMP
6.   Protocolo RTMFP
     a.   Modelagem
     b.   Arquitetura
     c.   Topologia
     d.   Exemplo de Uso
7. JXTA
     a.   Introdução
     b.   Protocolos e Serviços
8. Comparativo Cirrus x JXTA
Motivação
1. Nova visão da Adobe para aplicações web
    a.   Web Console
    b.   Alta qualidade gráfica
    c.   Grandes players abraçando a plataforma (Square Enix, Unreal, etc)

1. Uso do P2P nessa nova visão
    a.   Jogos multiplayer.
    b.   Media Streaming de áudio e vídeo com economia de banda.
    c.   Aplicações colaborativas
Plataforma Flash
A Plataforma Flash
•   Flash
•   Flash Professional
•   Flash Builder
•   Flex
•   AIR
•   ActionScript
•   MXML
•   Flash Media Server
Flash Player
1.   AVM 1
2.   AVM 2
3.   Render Engine
4.   Stage3D
Arquitetura do Flash Player
Camadas do Flash Player
Protocolo RTMP
•   Utiliza TCP para transmissão dos dados
•   A mensagem passa por um servidor de streaming de mídia ( Flash
    Media Server )
•   Utiliza objetos no servidor compartilhados entre os usuários
Cirrus
Cirrus
•   Servidor de encontro (rendezvous server) online que permite
    utilizar o protocolo RTMFP
•   Pode ser implementado utilizando um serdidor Flash Media Server
    Enterprise
Protocolo RTMFP
•   Real-Time Media Flow Protocol (RTMFP)
•   Permite aplicações entre múltiplas instâncias de Flash Players e/ou
    Adobe AIR.
•   Permite comunicação em tempo real.
•   Flash Media Enterprise Server
Protocolo RTMFP
•   Reduz os custos de banda em aplicações de tempo real.
•   RTMFP é capaz de enviar dados diretamente ao clientes sem
    necessidade de passar por um servidor.
•   Solução mais barata para escalar aplicações.
Protocolo RTMFP
•   Rápida Reconexão: Conexões são rapidamente reestabelecidas e
    voltam ao mesmo estado deixado.
•   Mobilidade de IP: Sessões são mantidas mesmo se houver uma
    troca de ip pelo cliente.
Protocolo RTMFP
•   RTMFP é baseado em UDP.
•   Todo o tráfego é encripado com uma cifra de 128 bits.
•   Cada cliente possui um identificador único de 256bits.
Protocolo RTMFP - cirrus 1
Protocolo RTMFP - cirrus 2
Protocolo RTMFP - cirrus 2
•   Suporte para grupos.
•   Multicast em nivel de aplicação.
•   Contato direto com um vizinho do grupo.
•   Posting em grupos.
•   Replicação de objetos.
Protocolo RTMFP - Caatinga Wars
Protocolo RTMFP - Exemplo Código
private var _outgoingStream:NetStream;
   // We create a stream in our net connection for P2P outgoing
   _outgoingStream = new NetStream( _netConnection, _groupSpec );
   // We add a net status listener to the NetStream
   _outgoingStream.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus );

var camera:Camera = Camera.getCamera();

  var mic:Microphone = Microphone.getMicrophone();
  _outgoingStream.attachAudio(mic);
  _outgoingStream.attachCamera(camera);
  _outgoingStream.publish( "P2PVideo" );
Protocolo RTMFP - Exemplo de Uso
•   Exemplo da Adobe -
    http://labs.adobe.com/technologies/cirrus/samples/
•   ReticUI - ReticularSpaces: Activity-Based Computing Support
    for Physically Distributed and Collaborative Smart Spaces
ReticUI
JXTA
(Juxtapose)
JXTA - Introdução


•   Tecnologia peer-to-peer multi plataforma desenvolvida pela Sun
    em 2001
•   Consiste na definição de um conjunto de 7 protocolos de
    comunicação em XML, que provêm serviços para dar suporte a
    estas redes
•   A tecnologia é independente de sistema operacional e de
    linguagem
•   Centrada nos conceitos de Peer e Grupo
JXTA - Introdução - Peers


•   No JXTA, peers são definidos como pontos virtuais de comunicação
    (nodos) da rede
    o   Podem ou não disponibilizar serviços
    o   Possuem um identificador próprio (peerID)
•   Peers podem assumir 2 funções especiais na rede JXTA:
    o   servir de ponto de encontro e distribuição para trocas de pedidos
        entre outros peers (Rendezvous Peer)
    o   um papel de roteador ao implementar um protocolo de
        comunicação fim a fim entre peers(Relay Peer)
JXTA - Rendezvous Peer
JXTA - Introdução - Grupos


•   Em JXTA, Grupos são conjuntos de peers que compartilham
    serviços e dados
•   Autenticação é requerida para participar desses grupos
    o   Feita mediante um protocolo JXTA
•   Peers autenticados nesse grupo adquirem credenciais, necessárias
    para acessar serviços nesse grupo
    o   Serviços podem conter níveis de segurança para restringir seu uso
        por membros não autorizados
JXTA - Introdução - Grupos
JXTA - Protocolos e Serviços


•   Os 7 Protocolos JXTA abrangem as seguintes funções:
    o   Descoberta de peers na rede
    o   Interações entre peers
    o   Administração das aplicações p2p
    o   Segurança e monitoramento
•   Nem todos precisam ser implementados por cada peer
    o   Alguns cabem apenas aos peers especiais
•   Os protocolos podem ser estendidos e/ou modificados
    o   Permite ao JXTA se adaptar aos requisitos da aplicação
JXTA - Protocolos e Serviços



•   Peer Discovery Protocol - Permite que um peer descubra outros
    peers, grupos, e serviços na rede. É o serviço de busca usado para
    localizar informação
•   Peer Resolver Protocol - Permite que um peer envie um pedido a
    outro. É o responsável por toda a comunicação, sendo usado por
    outros protocolos para enviar seus pedidos
JXTA - Protocolos e Serviços



•   Peer Information Protocol - Permite que um peer obtenha
    informações sobre o estado de outro. Usado parcialmente como
    um ping e com um corpo de mensagem adaptável
•   Peer Membership Protocol - Permite a um peer entrar ou sair de
    um grupo. Também é o responsável pelos serviços de
    autenticação, autorização e credenciais
JXTA - Protocolos e Serviços
•   Pipe Biding Protocol - Usado para criar uma via de comunicação
    física entre peers. Fundamentado em informações obtidas pelo
    endpoint protocol
•   Peer Endpoint Protocol - Gera o roteamento das mensagens entre
    peers, para uso do pipe binding protocol.
•   Rendezvous Protocol - Controla a propagação de mensagens
    dentro de um grupo
Cirrus x JXTA
Cirrus x JXTA
1. 1 Peer = Flash Player         1. 1 Peer = 1 JVM
2. Suporte a grupos; imbutido    2. Suporte a grupos; precisam
   no flash player                  ser implementados
3. Pré-definido e implementado   3. Estensível e modificável
4. Topologias diversas           4. Topologia padrão, porém
5. UDP, porém pode mudar            estensível
   para TCP se necessário        5. Puramente TCP
Bibliografia
• JXTA: Java P2P Programming; por Daniel Brookshier, Darren Govoni, Navaneeth
  Krishnan e Juan Carlos Soto; em 22 de Março de 2002
• ReticularSpaces: Activity-Based Computing Support for Physically Distributed and
  Collaborative Smart Spaces - Jakob E. Bardram; Sofiane Gueddana; Steven
  Houben; Søren Nielsen
• SIP APIs for Voice and Video Communications on the Web - C. Davids et. all
• Cirrus - http://labs.adobe.com/technologies/cirrus/
• Next Generation Flash Player -
  http://www.adobe.com/kr/events/max2005/agenda/presentation/b1_flashplayer
  .swf

More Related Content

What's hot

IMS - IP Multimedia Subsystem
IMS - IP Multimedia SubsystemIMS - IP Multimedia Subsystem
IMS - IP Multimedia SubsystemFrederico Madeira
 
Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#Max Jeison Prass
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxFrederico Madeira
 
Redes Avançadas - 6.QoS
Redes Avançadas - 6.QoSRedes Avançadas - 6.QoS
Redes Avançadas - 6.QoSMauro Tapajós
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault ToleranceFrederico Madeira
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSMauro Tapajós
 
Seguranca da Informação - VPN
Seguranca da Informação - VPNSeguranca da Informação - VPN
Seguranca da Informação - VPNLuiz Arthur
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
MQTT: Message Queuing Telemetry Transport (IoT)
MQTT: Message Queuing Telemetry Transport (IoT)MQTT: Message Queuing Telemetry Transport (IoT)
MQTT: Message Queuing Telemetry Transport (IoT)Norberto Enomoto
 
Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolosDayane Sousa
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 

What's hot (17)

Cap06a
Cap06aCap06a
Cap06a
 
Core Network e MPLS
Core Network e MPLSCore Network e MPLS
Core Network e MPLS
 
IMS - IP Multimedia Subsystem
IMS - IP Multimedia SubsystemIMS - IP Multimedia Subsystem
IMS - IP Multimedia Subsystem
 
Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#
 
Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Redes Avançadas - 6.QoS
Redes Avançadas - 6.QoSRedes Avançadas - 6.QoS
Redes Avançadas - 6.QoS
 
Artigo IPv6
Artigo IPv6Artigo IPv6
Artigo IPv6
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault Tolerance
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
 
Seguranca da Informação - VPN
Seguranca da Informação - VPNSeguranca da Informação - VPN
Seguranca da Informação - VPN
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Livro cisco
Livro ciscoLivro cisco
Livro cisco
 
MQTT: Message Queuing Telemetry Transport (IoT)
MQTT: Message Queuing Telemetry Transport (IoT)MQTT: Message Queuing Telemetry Transport (IoT)
MQTT: Message Queuing Telemetry Transport (IoT)
 
Artigo ipv6
Artigo ipv6Artigo ipv6
Artigo ipv6
 
Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolos
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 

Viewers also liked

RevalidaçãO De Diploma TraduçãO Juramentada
RevalidaçãO De Diploma   TraduçãO JuramentadaRevalidaçãO De Diploma   TraduçãO Juramentada
RevalidaçãO De Diploma TraduçãO Juramentadaguest696633f
 
การจัดการระบบเครือข่ายนำเสนอ111
การจัดการระบบเครือข่ายนำเสนอ111การจัดการระบบเครือข่ายนำเสนอ111
การจัดการระบบเครือข่ายนำเสนอ111Kanokkorn Harsuk
 
ServiçOs Consulares
ServiçOs ConsularesServiçOs Consulares
ServiçOs Consularesguest696633f
 
Concurso para Turismólogo
Concurso para TurismólogoConcurso para Turismólogo
Concurso para TurismólogoEdilenePequeno
 
Aniversario Los Flamencos
Aniversario Los FlamencosAniversario Los Flamencos
Aniversario Los FlamencosJorge Mira
 
Tradutor Juramentado Servicos Consulares
Tradutor Juramentado Servicos ConsularesTradutor Juramentado Servicos Consulares
Tradutor Juramentado Servicos Consularesguest696633f
 
Wix 1102 jm
Wix 1102 jmWix 1102 jm
Wix 1102 jmviviana_
 
Liatna izlojba-2012eng
Liatna izlojba-2012engLiatna izlojba-2012eng
Liatna izlojba-2012engSim Aleksiev
 
Concurso para Turismólogo
Concurso para TurismólogoConcurso para Turismólogo
Concurso para TurismólogoEdilenePequeno
 
CONTAMINACION AUDITIVA
CONTAMINACION AUDITIVACONTAMINACION AUDITIVA
CONTAMINACION AUDITIVAleopoldo
 
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจง
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจงการตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจง
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจงCharinee Puttasorn
 

Viewers also liked (20)

Wix sll
Wix sllWix sll
Wix sll
 
RevalidaçãO De Diploma TraduçãO Juramentada
RevalidaçãO De Diploma   TraduçãO JuramentadaRevalidaçãO De Diploma   TraduçãO Juramentada
RevalidaçãO De Diploma TraduçãO Juramentada
 
การจัดการระบบเครือข่ายนำเสนอ111
การจัดการระบบเครือข่ายนำเสนอ111การจัดการระบบเครือข่ายนำเสนอ111
การจัดการระบบเครือข่ายนำเสนอ111
 
ServiçOs Consulares
ServiçOs ConsularesServiçOs Consulares
ServiçOs Consulares
 
Criminologia Qdc 16
Criminologia Qdc 16Criminologia Qdc 16
Criminologia Qdc 16
 
Wi x
Wi xWi x
Wi x
 
Logo PharmacyandMarket
Logo PharmacyandMarketLogo PharmacyandMarket
Logo PharmacyandMarket
 
Criminologia Qdc13
Criminologia Qdc13 Criminologia Qdc13
Criminologia Qdc13
 
C arolina
C arolinaC arolina
C arolina
 
The omo kuraz sugar development project-Amharic
The omo kuraz sugar development project-AmharicThe omo kuraz sugar development project-Amharic
The omo kuraz sugar development project-Amharic
 
Concurso para Turismólogo
Concurso para TurismólogoConcurso para Turismólogo
Concurso para Turismólogo
 
Me sorprende
Me sorprendeMe sorprende
Me sorprende
 
Aniversario Los Flamencos
Aniversario Los FlamencosAniversario Los Flamencos
Aniversario Los Flamencos
 
Tradutor Juramentado Servicos Consulares
Tradutor Juramentado Servicos ConsularesTradutor Juramentado Servicos Consulares
Tradutor Juramentado Servicos Consulares
 
Me sorprende
Me sorprendeMe sorprende
Me sorprende
 
Wix 1102 jm
Wix 1102 jmWix 1102 jm
Wix 1102 jm
 
Liatna izlojba-2012eng
Liatna izlojba-2012engLiatna izlojba-2012eng
Liatna izlojba-2012eng
 
Concurso para Turismólogo
Concurso para TurismólogoConcurso para Turismólogo
Concurso para Turismólogo
 
CONTAMINACION AUDITIVA
CONTAMINACION AUDITIVACONTAMINACION AUDITIVA
CONTAMINACION AUDITIVA
 
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจง
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจงการตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจง
การตีราคาสินค้าคงเหลือ แบบวิธีเฉพาะเจาะจง
 

Similar to Cirrus x JXTA - Comparativo das plataformas P2P

S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00doctorweb
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportNorberto Enomoto
 
Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Isac Moura
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT SpecialistAlan Carlos
 
IntroducaoRedesInternet.ppt redes de computadores
IntroducaoRedesInternet.ppt redes de computadoresIntroducaoRedesInternet.ppt redes de computadores
IntroducaoRedesInternet.ppt redes de computadoresLinaKelly3
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Jeff Prestes
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)#Jão Pablo
 
Referencia de redes.pdf
Referencia de redes.pdfReferencia de redes.pdf
Referencia de redes.pdfProfTelmaLcia
 
CCNA 3 - Introdução à Redes de Computadores
CCNA 3 - Introdução à Redes de ComputadoresCCNA 3 - Introdução à Redes de Computadores
CCNA 3 - Introdução à Redes de ComputadoresFerNandoSantos287416
 
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...CPqD
 

Similar to Cirrus x JXTA - Comparativo das plataformas P2P (20)

aula-13-revisc3a3o.pdf
aula-13-revisc3a3o.pdfaula-13-revisc3a3o.pdf
aula-13-revisc3a3o.pdf
 
Protocolos de Rede para Internet das Coisas
Protocolos de Rede para Internet das CoisasProtocolos de Rede para Internet das Coisas
Protocolos de Rede para Internet das Coisas
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
 
Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT Specialist
 
IntroducaoRedesInternet.ppt
IntroducaoRedesInternet.pptIntroducaoRedesInternet.ppt
IntroducaoRedesInternet.ppt
 
IntroducaoRedesInternet.ppt redes de computadores
IntroducaoRedesInternet.ppt redes de computadoresIntroducaoRedesInternet.ppt redes de computadores
IntroducaoRedesInternet.ppt redes de computadores
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Aula2 protocolos
Aula2 protocolosAula2 protocolos
Aula2 protocolos
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)
 
Referencia de redes.pdf
Referencia de redes.pdfReferencia de redes.pdf
Referencia de redes.pdf
 
CCNA 3 - Introdução à Redes de Computadores
CCNA 3 - Introdução à Redes de ComputadoresCCNA 3 - Introdução à Redes de Computadores
CCNA 3 - Introdução à Redes de Computadores
 
http
httphttp
http
 
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
Projeto InterVoIP: contexto e desafios - I Workshop CPqD de Inovação Tecnológ...
 

Cirrus x JXTA - Comparativo das plataformas P2P

  • 1. Comparativo - Cirrus x JXTA Afif Fikani, Heron Barreto, Ricardo Teixeira
  • 2. Roteiro 1. Motivação 2. A Plataforma Flash 3. Flash Player 4. Cirrus 5. Protocolo RTMP 6. Protocolo RTMFP a. Modelagem b. Arquitetura c. Topologia d. Exemplo de Uso 7. JXTA a. Introdução b. Protocolos e Serviços 8. Comparativo Cirrus x JXTA
  • 3. Motivação 1. Nova visão da Adobe para aplicações web a. Web Console b. Alta qualidade gráfica c. Grandes players abraçando a plataforma (Square Enix, Unreal, etc) 1. Uso do P2P nessa nova visão a. Jogos multiplayer. b. Media Streaming de áudio e vídeo com economia de banda. c. Aplicações colaborativas
  • 5.
  • 6. A Plataforma Flash • Flash • Flash Professional • Flash Builder • Flex • AIR • ActionScript • MXML • Flash Media Server
  • 7. Flash Player 1. AVM 1 2. AVM 2 3. Render Engine 4. Stage3D
  • 10. Protocolo RTMP • Utiliza TCP para transmissão dos dados • A mensagem passa por um servidor de streaming de mídia ( Flash Media Server ) • Utiliza objetos no servidor compartilhados entre os usuários
  • 12. Cirrus • Servidor de encontro (rendezvous server) online que permite utilizar o protocolo RTMFP • Pode ser implementado utilizando um serdidor Flash Media Server Enterprise
  • 13. Protocolo RTMFP • Real-Time Media Flow Protocol (RTMFP) • Permite aplicações entre múltiplas instâncias de Flash Players e/ou Adobe AIR. • Permite comunicação em tempo real. • Flash Media Enterprise Server
  • 14. Protocolo RTMFP • Reduz os custos de banda em aplicações de tempo real. • RTMFP é capaz de enviar dados diretamente ao clientes sem necessidade de passar por um servidor. • Solução mais barata para escalar aplicações.
  • 15. Protocolo RTMFP • Rápida Reconexão: Conexões são rapidamente reestabelecidas e voltam ao mesmo estado deixado. • Mobilidade de IP: Sessões são mantidas mesmo se houver uma troca de ip pelo cliente.
  • 16. Protocolo RTMFP • RTMFP é baseado em UDP. • Todo o tráfego é encripado com uma cifra de 128 bits. • Cada cliente possui um identificador único de 256bits.
  • 17. Protocolo RTMFP - cirrus 1
  • 18. Protocolo RTMFP - cirrus 2
  • 19. Protocolo RTMFP - cirrus 2 • Suporte para grupos. • Multicast em nivel de aplicação. • Contato direto com um vizinho do grupo. • Posting em grupos. • Replicação de objetos.
  • 20. Protocolo RTMFP - Caatinga Wars
  • 21. Protocolo RTMFP - Exemplo Código private var _outgoingStream:NetStream; // We create a stream in our net connection for P2P outgoing _outgoingStream = new NetStream( _netConnection, _groupSpec ); // We add a net status listener to the NetStream _outgoingStream.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus ); var camera:Camera = Camera.getCamera(); var mic:Microphone = Microphone.getMicrophone(); _outgoingStream.attachAudio(mic); _outgoingStream.attachCamera(camera); _outgoingStream.publish( "P2PVideo" );
  • 22. Protocolo RTMFP - Exemplo de Uso • Exemplo da Adobe - http://labs.adobe.com/technologies/cirrus/samples/ • ReticUI - ReticularSpaces: Activity-Based Computing Support for Physically Distributed and Collaborative Smart Spaces
  • 25. JXTA - Introdução • Tecnologia peer-to-peer multi plataforma desenvolvida pela Sun em 2001 • Consiste na definição de um conjunto de 7 protocolos de comunicação em XML, que provêm serviços para dar suporte a estas redes • A tecnologia é independente de sistema operacional e de linguagem • Centrada nos conceitos de Peer e Grupo
  • 26. JXTA - Introdução - Peers • No JXTA, peers são definidos como pontos virtuais de comunicação (nodos) da rede o Podem ou não disponibilizar serviços o Possuem um identificador próprio (peerID) • Peers podem assumir 2 funções especiais na rede JXTA: o servir de ponto de encontro e distribuição para trocas de pedidos entre outros peers (Rendezvous Peer) o um papel de roteador ao implementar um protocolo de comunicação fim a fim entre peers(Relay Peer)
  • 28. JXTA - Introdução - Grupos • Em JXTA, Grupos são conjuntos de peers que compartilham serviços e dados • Autenticação é requerida para participar desses grupos o Feita mediante um protocolo JXTA • Peers autenticados nesse grupo adquirem credenciais, necessárias para acessar serviços nesse grupo o Serviços podem conter níveis de segurança para restringir seu uso por membros não autorizados
  • 30. JXTA - Protocolos e Serviços • Os 7 Protocolos JXTA abrangem as seguintes funções: o Descoberta de peers na rede o Interações entre peers o Administração das aplicações p2p o Segurança e monitoramento • Nem todos precisam ser implementados por cada peer o Alguns cabem apenas aos peers especiais • Os protocolos podem ser estendidos e/ou modificados o Permite ao JXTA se adaptar aos requisitos da aplicação
  • 31. JXTA - Protocolos e Serviços • Peer Discovery Protocol - Permite que um peer descubra outros peers, grupos, e serviços na rede. É o serviço de busca usado para localizar informação • Peer Resolver Protocol - Permite que um peer envie um pedido a outro. É o responsável por toda a comunicação, sendo usado por outros protocolos para enviar seus pedidos
  • 32. JXTA - Protocolos e Serviços • Peer Information Protocol - Permite que um peer obtenha informações sobre o estado de outro. Usado parcialmente como um ping e com um corpo de mensagem adaptável • Peer Membership Protocol - Permite a um peer entrar ou sair de um grupo. Também é o responsável pelos serviços de autenticação, autorização e credenciais
  • 33. JXTA - Protocolos e Serviços • Pipe Biding Protocol - Usado para criar uma via de comunicação física entre peers. Fundamentado em informações obtidas pelo endpoint protocol • Peer Endpoint Protocol - Gera o roteamento das mensagens entre peers, para uso do pipe binding protocol. • Rendezvous Protocol - Controla a propagação de mensagens dentro de um grupo
  • 35. Cirrus x JXTA 1. 1 Peer = Flash Player 1. 1 Peer = 1 JVM 2. Suporte a grupos; imbutido 2. Suporte a grupos; precisam no flash player ser implementados 3. Pré-definido e implementado 3. Estensível e modificável 4. Topologias diversas 4. Topologia padrão, porém 5. UDP, porém pode mudar estensível para TCP se necessário 5. Puramente TCP
  • 36. Bibliografia • JXTA: Java P2P Programming; por Daniel Brookshier, Darren Govoni, Navaneeth Krishnan e Juan Carlos Soto; em 22 de Março de 2002 • ReticularSpaces: Activity-Based Computing Support for Physically Distributed and Collaborative Smart Spaces - Jakob E. Bardram; Sofiane Gueddana; Steven Houben; Søren Nielsen • SIP APIs for Voice and Video Communications on the Web - C. Davids et. all • Cirrus - http://labs.adobe.com/technologies/cirrus/ • Next Generation Flash Player - http://www.adobe.com/kr/events/max2005/agenda/presentation/b1_flashplayer .swf