• Save
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris

  • 2,049 views
Uploaded on

Introdução a Sistemas Distribuídos, cadeira do curso de Sistemas e Mídias Digitais

Introdução a Sistemas Distribuídos, cadeira do curso de Sistemas e Mídias Digitais

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,049
On Slideshare
2,049
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. SMD0050 - SISTEMAS DISTRIBUÍDOSProf. Dr. Windson Viana de CarvalhoCréditos : 64hPrática e Teórica 1
  • 2. Livro AdotadoCoulouris, Dollimore, Kindberg and BlairDistributed Systems: Concepts and DesignEdition 5, © Addison-Wesley 2012
  • 3. Sistemas Distribuídos? -Sistemas compostos por hardware e softwarelocalizados em lugares físicos distintos que secomunicam através de mensagens enviadas via umarede de computadores -Concorrência entre processos -Processos executam em paralelo -Não existe relógio global -Coordenação por mensagens -Falhas independentes -Tratamento de exceções, design pensando em falhas 3
  • 4. Exemplo deSistema Distribuído com múltiplos dispositivos
  • 5. Domínios de Aplicação e suas tecnologias de SDFinance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and tradingThe information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.Creative industries and online gaming, music and film in the home, user-entertainment generated content, e.g. YouTube, FlickrHealthcare health informatics, on online patient records, monitoring patientsEducation e-learning, virtual learning environments; distance learningTransport and logistics GPS in route finding systems, map services: Google Maps, Google EarthScience The Grid as an enabling technology for collaboration between scientistsEnvironmental management sensor technology to monitor earthquakes, floods or tsunamis 5
  • 6. EmentaI. Introdução a Sistemas Distribuídos I. Capítulos 1 e 2II. Comunicação Interprocessos I. Capítulo 4III. Processos e Threads I. Parte do Capítulo 6 II. Atividades Práticas com programação em socketsIV. Objetos Distribuídos I. Capítulo 5 e material adicional de OSGi 6
  • 7. EmentaV. Sistemas P2P I. Capítulo 10 e Capítulo 2 do Kurose (Redes)V. Coordenação I. Capítulo 12V. Distributed Shared Memory I. Capítulo 18 (Espaço de tuplas) II. Atividades PráticasV. Web Services e Cloud Computing I. Capítulo 19 e material professor Fernando Trinta II. Trabalho de Implementação 7
  • 8. Avaliações• Duas provas• Atividades práticas em laboratório• Trabalho de Implementação• Média Final: (2*MP + Trabalho + MPráticas) /4 8
  • 9. A WEB• Aplicações e protocolos executando na Web são otípicos exemplos de SD • HTTP, DNS, SMTP, Browser• Qual o grande objetivo? • Compartilhamento de recursos• Modelo arquitetural cliente-servidor • Cliente : invoca uma operação no servidor remoto • Servidor: responde a invocação com um recurso ou resultado de um método • Múltiplos clientes! 9
  • 10. Quão grande é o número de servidores? Date Computers Web servers Percentage1993, July 1,776,000 130 0.0081995, July 6,642,000 23,500 0.41997, July 19,540,000 1,203,096 61999, July 56,218,000 6,598,697 122001, July 125,888,197 31,299,592 252003, July ~200,000,000 42,298,371 212005, July 353,284,187 67,571,581 19 + de 600 milhões em 2012
  • 11. Desafios de SDI. HeterogeneidadeII. Abertura (openess)III. SegurançaIV. EscalabilidadeV. Tratamento e Recuperação de FalhasVI. ConcorrênciaVII. Transparência 14
  • 12. Heterogeneidade• Múltiplos dispositivos, plataformas, modelos de codificação dos dados, tipos de navegadores, condições de acesso• Soluções • Máquinas Virtuais • Standards • Middlewares • Mecanismos de Adaptação 15
  • 13. Middleware• Middleware mascara heterogeneidade de sistemas distribuídos • Java VM: SO • CORBA: Linguagem • OSGi• Trata de concorrência, portabilidade, interoperabilidade • API única, protocolo comum, conjunto de serviços• Middlewares tradicionais facilitam a vida do desenvolvedor pela abstração de transparência.
  • 14. Modelos de Middleware Tradicionais• Middleware orientados a transação• Middleware com memória compartilhada• Middleware orientados a mensagem• Middleware orientados a RPC• Middleware orientados a Objetos• Middleware Adaptativo• Middleware Multimídia
  • 15. Memória Compartilhada <“olá!”, 4, 3.15> Memória Compartilhada Middleware
  • 16. Orientado a Mensagem “olá!” Fila Middleware
  • 17. RPC/Objetos “olá!” Middleware
  • 18. Abertura ou Sistemas Abertos• Sistemas capazes de serem acessados, integrados e modificados facilmente por terceiros Não dependem de um único vendedor ou proprietário para serem utilizados• Exige o uso de Padrões (Standards) abertos • HTTP, XML, WSDL, HTML, SOAP • WIFI, Bluetooth, DLNA, UPNP • OSGi https://api.twitter.com/1.1/statuses/mentions_timeline.jso n?count=2&since_id=14927799 21
  • 19. Escalabilidade• Suportar aumento de carga e de clientes conectados Sem perda de performance Sem aumento de custos desnecessários Evitando gargalos (bottlenecks)• Uso de elasticidade, virtualização e replicação• Modelos arquiteturais descentralizados ou menos dependentes de um único ponto (gargalo) 22
  • 20. Tratamento de Falhas• Detecção de Faltas ou Falhas• Mascarar Falhas• Tolerar Falhas• Recuperação em caso de falhas• Soluções• Redundância• Controle de Transações 23
  • 21. TransparênciaAccess transparency: enables local and remote resources to be accessed using identical operations.Location transparency: enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address).Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them.Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components.Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs.Performance transparency: allows the system to be reconfigured to improve performance as loads vary.Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.
  • 22. Como ficam esses conceitos na Web? Web servers Browsers http://www.google.comlsearch?q=obama www.google.com www.cdk5.net Internet http://www.cdk5.net/ www.w3c.orgFile system of http://www.w3.org/standards/faq.html#conformancewww.w3c.org standards faq.html Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012
  • 23. Exercícios1.41.14 26