SlideShare une entreprise Scribd logo
1  sur  23
SMD0050 - SISTEMAS
              DISTRIBUÍDOS




Prof. Dr. Windson Viana de Carvalho
Créditos : 64h
Prática e Teórica




                                      1
Livro Adotado


Coulouris, Dollimore, Kindberg and Blair
Distributed Systems:
          Concepts and Design
Edition 5, © Addison-Wesley 2012
Sistemas Distribuídos?
  -Sistemas compostos por hardware e software
localizados em lugares físicos distintos que se
comunicam através de mensagens enviadas via uma
rede 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
Exemplo de
Sistema Distribuído com múltiplos dispositivos
Domínios de Aplicação e suas tecnologias de SD
Finance and commerce       eCommerce e.g. Amazon and eBay, PayPal,
                           online banking and trading
The 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, Flickr
Healthcare                 health informatics, on online patient records,
                           monitoring patients
Education                  e-learning, virtual learning environments;
                           distance learning
Transport and logistics    GPS in route finding systems, map services:
                           Google Maps, Google Earth
Science                    The Grid as an enabling technology for
                           collaboration between scientists
Environmental management   sensor technology to monitor earthquakes,
                           floods or tsunamis
                                                                        5
Ementa
I. Introdução a Sistemas Distribuídos
  I.   Capítulos 1 e 2
II. Comunicação Interprocessos
  I.   Capítulo 4
III. Processos e Threads
  I. Parte do Capítulo 6
  II. Atividades Práticas com programação em sockets
IV. Objetos Distribuídos
  I.   Capítulo 5 e material adicional de OSGi

                                                  6
Ementa
V. Sistemas P2P
  I.   Capítulo 10 e Capítulo 2 do Kurose (Redes)
V. Coordenação
  I.   Capítulo 12
V. Distributed Shared Memory
  I. Capítulo 18 (Espaço de tuplas)
  II. Atividades Práticas
V. Web Services e Cloud Computing
  I. Capítulo 19 e material professor Fernando Trinta
  II. Trabalho de Implementação
                                                    7
Avaliações
• Duas provas
• Atividades práticas em laboratório
• Trabalho de Implementação


• Média Final: (2*MP + Trabalho +
  MPráticas) /4




                                       8
A WEB
• Aplicações e protocolos executando na Web são o
tí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
Quão grande é o número de servidores?



  Date          Computers     Web servers     Percentage

1993, July        1,776,000            130         0.008
1995, July        6,642,000          23,500          0.4
1997, July       19,540,000       1,203,096            6
1999, July       56,218,000       6,598,697           12
2001, July      125,888,197      31,299,592           25
2003, July     ~200,000,000      42,298,371          21
2005, July      353,284,187      67,571,581          19


                 + de 600 milhões em 2012
Desafios de SD

I. Heterogeneidade
II. Abertura (openess)
III. Segurança
IV. Escalabilidade
V. Tratamento e Recuperação de Falhas
VI. Concorrência
VII. Transparência



                                        14
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
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.
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
Memória Compartilhada



       <“olá!”, 4, 3.15>




  Memória Compartilhada



                           Middleware
Orientado a Mensagem

        “olá!”




        Fila



                       Middleware
RPC/Objetos

   “olá!”




              Middleware
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
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
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
Transparência
Access 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.
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.org

File system of                                                          http://www.w3.org/standards/faq.html#conformance
www.w3c.org          standards

             faq.html



                        Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
                                                                     © Pearson Education 2012
Exercícios

1.4

1.14




                    26

Contenu connexe

Tendances

SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaFrederico Madeira
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosValberto Carneiro
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realRogério Cardoso
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidosJesse Teixeira
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosMessias Batista
 

Tendances (20)

SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas Distribuidos
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
WebServices
WebServicesWebServices
WebServices
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo real
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidos
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 

En vedette

Prezentace twinspace
Prezentace twinspacePrezentace twinspace
Prezentace twinspacehanulka
 
Competencias docentes para el nuevo siglo diapositivas
Competencias docentes para el nuevo siglo diapositivasCompetencias docentes para el nuevo siglo diapositivas
Competencias docentes para el nuevo siglo diapositivaspatico2011
 
Sistemas operacionais e multimidia
Sistemas operacionais e multimidiaSistemas operacionais e multimidia
Sistemas operacionais e multimidiaWesley Rabêlo
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
2014 - Multimídia e Internet - 01 Introdução
2014 - Multimídia e Internet - 01 Introdução2014 - Multimídia e Internet - 01 Introdução
2014 - Multimídia e Internet - 01 IntroduçãoWillian Magalhães
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoDaniel Brandão
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Arthur Emanuel
 
Sistemas Operacionais Multimidia Cap7 Tanenbaum
Sistemas Operacionais Multimidia   Cap7 TanenbaumSistemas Operacionais Multimidia   Cap7 Tanenbaum
Sistemas Operacionais Multimidia Cap7 Tanenbaumandfelipe
 
Introdução à Multimídia
Introdução à Multimídia Introdução à Multimídia
Introdução à Multimídia Windson Viana
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebRafael Chagas
 

En vedette (10)

Prezentace twinspace
Prezentace twinspacePrezentace twinspace
Prezentace twinspace
 
Competencias docentes para el nuevo siglo diapositivas
Competencias docentes para el nuevo siglo diapositivasCompetencias docentes para el nuevo siglo diapositivas
Competencias docentes para el nuevo siglo diapositivas
 
Sistemas operacionais e multimidia
Sistemas operacionais e multimidiaSistemas operacionais e multimidia
Sistemas operacionais e multimidia
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
2014 - Multimídia e Internet - 01 Introdução
2014 - Multimídia e Internet - 01 Introdução2014 - Multimídia e Internet - 01 Introdução
2014 - Multimídia e Internet - 01 Introdução
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a Educação
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
 
Sistemas Operacionais Multimidia Cap7 Tanenbaum
Sistemas Operacionais Multimidia   Cap7 TanenbaumSistemas Operacionais Multimidia   Cap7 Tanenbaum
Sistemas Operacionais Multimidia Cap7 Tanenbaum
 
Introdução à Multimídia
Introdução à Multimídia Introdução à Multimídia
Introdução à Multimídia
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na Web
 

Similaire à Sistemas Distribuídos: Conceitos e Projeto

Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
Integração de Aplicações
Integração de AplicaçõesIntegração de Aplicações
Integração de AplicaçõesMichel Candido
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...Eduardo Hahn
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Jukebox Webpanel Datasul
Jukebox Webpanel DatasulJukebox Webpanel Datasul
Jukebox Webpanel Datasuldatasul20
 
Jukebox Webpanel
Jukebox WebpanelJukebox Webpanel
Jukebox Webpanelguesta3ecbb
 
Workshop: Drupal para Bioinformática
Workshop: Drupal para BioinformáticaWorkshop: Drupal para Bioinformática
Workshop: Drupal para Bioinformáticaintrofini
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud ComputingFrederico Madeira
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...tdc-globalcode
 

Similaire à Sistemas Distribuídos: Conceitos e Projeto (20)

Grids computacionais
Grids computacionaisGrids computacionais
Grids computacionais
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Sd capitulo01
Sd capitulo01Sd capitulo01
Sd capitulo01
 
Integração de Aplicações
Integração de AplicaçõesIntegração de Aplicações
Integração de Aplicações
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Organizações virtuais
Organizações virtuaisOrganizações virtuais
Organizações virtuais
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Serviços e Redes inspiradas Biologicamente
Serviços e Redes inspiradas BiologicamenteServiços e Redes inspiradas Biologicamente
Serviços e Redes inspiradas Biologicamente
 
Jukebox Webpanel Datasul
Jukebox Webpanel DatasulJukebox Webpanel Datasul
Jukebox Webpanel Datasul
 
Jukebox Webpanel
Jukebox WebpanelJukebox Webpanel
Jukebox Webpanel
 
Workshop: Drupal para Bioinformática
Workshop: Drupal para BioinformáticaWorkshop: Drupal para Bioinformática
Workshop: Drupal para Bioinformática
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
 

Dernier

FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 

Dernier (20)

Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 

Sistemas Distribuídos: Conceitos e Projeto

  • 1. SMD0050 - SISTEMAS DISTRIBUÍDOS Prof. Dr. Windson Viana de Carvalho Créditos : 64h Prática e Teórica 1
  • 2. Livro Adotado Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012
  • 3. Sistemas Distribuídos? -Sistemas compostos por hardware e software localizados em lugares físicos distintos que se comunicam através de mensagens enviadas via uma rede 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 de Sistema Distribuído com múltiplos dispositivos
  • 5. Domínios de Aplicação e suas tecnologias de SD Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading The 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, Flickr Healthcare health informatics, on online patient records, monitoring patients Education e-learning, virtual learning environments; distance learning Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth Science The Grid as an enabling technology for collaboration between scientists Environmental management sensor technology to monitor earthquakes, floods or tsunamis 5
  • 6. Ementa I. Introdução a Sistemas Distribuídos I. Capítulos 1 e 2 II. Comunicação Interprocessos I. Capítulo 4 III. Processos e Threads I. Parte do Capítulo 6 II. Atividades Práticas com programação em sockets IV. Objetos Distribuídos I. Capítulo 5 e material adicional de OSGi 6
  • 7. Ementa V. Sistemas P2P I. Capítulo 10 e Capítulo 2 do Kurose (Redes) V. Coordenação I. Capítulo 12 V. Distributed Shared Memory I. Capítulo 18 (Espaço de tuplas) II. Atividades Práticas V. 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 o tí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 Percentage 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 2001, July 125,888,197 31,299,592 25 2003, July ~200,000,000 42,298,371 21 2005, July 353,284,187 67,571,581 19 + de 600 milhões em 2012
  • 11. Desafios de SD I. Heterogeneidade II. Abertura (openess) III. Segurança IV. Escalabilidade V. Tratamento e Recuperação de Falhas VI. Concorrência VII. 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ência Access 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.org File system of http://www.w3.org/standards/faq.html#conformance www.w3c.org standards faq.html Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012