UM SERVIÇO DE PRESENÇA INSTÂNTANEA COM SUPORTE A GRUPOS DE INDÍVIDUOS



Documentos relacionados
H.323: Visual telephone systems and equipment for local area networks which provide a nonguaranteed

Protocolos Sinalização

O protocolo H.323 UNIP. Renê Furtado Felix.

Introdução ao Modelos de Duas Camadas Cliente Servidor

REDES DE COMPUTADORES

SEGURANÇA EM PROTOCOLO SIP

Protocolo de Sinalização SIP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Processos Técnicos - Aulas 4 e 5

PARANÁ GOVERNO DO ESTADO

SISTEMAS DISTRIBUIDOS

Manual SAGe Versão 1.2 (a partir da versão )

Computer Supported Cooperative Work - CSCW

UFG - Instituto de Informática

:: Telefonia pela Internet

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Engenharia de Requisitos Estudo de Caso

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

NOTAS DE AULA - TELECOMUNICAÇÕES

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Sistemas Distribuídos

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Módulo II - Aula 3 Comunicação

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Arquitetura de Rede de Computadores

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Arquitetura dos Sistemas de Informação Distribuídos

Administração de Sistemas de Informação I

PROJETO E IMPLANTAÇÃO DE INTRANETS

Capítulo 9. Gerenciamento de rede

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Introdução ao protocolo SIP*

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Documento de Análise e Projeto VideoSystem

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

2 Diagrama de Caso de Uso

1

Engenharia de Software III

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

3 SCS: Sistema de Componentes de Software

UNIVERSIDADE. Sistemas Distribuídos

Thalita Moraes PPGI Novembro 2007

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Manual dos Serviços de Interoperabilidade

Manual do usuário - Service Desk SDM - COPASA. Service Desk

Sistemas Cooperativos

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Aplicação Prática de Lua para Web

Tutorial 7 Fóruns no Moodle

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Chamada de Participação V Competição de Avaliação - IHC 2012

CRIAÇÃO DE SITES (AULA 1)

Noções de. Microsoft SQL Server. Microsoft SQL Server

SISTEMAS DISTRIBUÍDOS

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

CAPÍTULO 2. Este capítulo tratará :

Sistemas Colaborativos Simulado

Considerações no Projeto de Sistemas Cliente/Servidor

SMS Corporativo Manual do Usuário

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Manual do Usuário - ProJuris Web - Fila de s Página 1 de 8

Portal do Projeto Tempo de Ser

Apresentação. Vitae Tec Tecnologia a Serviço da Vida!

Instituto Superior Técnico. Projecto VoIP. Sistema IVVR

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

MÓDULO MULTIMÉDIA PROFESSOR: RICARDO RODRIGUES. MAIL: URL:

15 Computador, projeto e manufatura

BlackBerry Mobile Voice System

Sistemas Distribuídos

Entendendo como funciona o NAT

Protocolos de Redes Revisão para AV I

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

Prof. Marcelo Machado Cunha

TACTIUM ecrm Guia de Funcionalidades

Unidade 1. Conceitos Básicos

Transcrição:

UNIVERSIDADE FEDERAL DA PARAÍBA DEPARTAMENTO DE INFORMÁTICA CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA UM SERVIÇO DE PRESENÇA INSTÂNTANEA COM SUPORTE A GRUPOS DE INDÍVIDUOS

JOÃO PESSOA 2008 MARCO VASCONCELOS ii

UM SERVIÇO DE PRESENÇA INSTÂNTANEA COM SUPORTE A GRUPOS DE INDÍVIDUOS Dissertação apresentada ao programa de Mestrado em Informática da Universidade Federal da Paraíba, como requisito para a obtenção do título de Mestre em Informática. Linha de pesquisa: Computação Distribuída. Orientação: Guido Lemos de Souza Filho JOÃO PESSOA 2008 iii

V331s Vasconcelos, Marco Antonio Vieira Maia de. Um serviço de presença instantânea com o suporte a grupos de indivíduos / Marco Antonio Vieira Maia de. - - João Pessoa: UFPB, 2008. 78f. : il. Orientador: Guido Lemos de Sousa Filho. Dissertação (Mestrado) UFPB, CT, Programa de Pós Graduação em Informática. 1. Informática. 2. Mensagem instantânea. 3. Sistemas colaborativos. UFPB/BC CDU: 004(043)

MARCO VASCONCELOS Um Serviço de Presença Instantânea com Suporte a Grupos de Indivíduos Dissertação apresentada ao programa de Mestrado em Informática da Universidade Federal da Paraíba, como requisito para a obtenção do título de Mestre em Informática. Linha de pesquisa: Computação Distribuída. Data de aprovação: / / 2008. Banca examinadora: Prof. Dr. Guido Lemos de Sousa Filho Orientador Prof a. Dr a. Tatiana Aires Tavares Orientadora Prof a. Dr a. Magdala de Araújo Novaes Universidade Federal da Paraíba Examinadora Prof. Dr. Lucídio dos Anjos Formiga Cabral Universidade Federal da Paraíba Examinador iv

Dedicatória Aos meus pais v

Agradecimentos Ao Doutor Guido Lemos pela oportunidade e (im)paciência. A sempre perseverante Tatiana. A minha família. A amiga de todas as horas Maine. Andrea e Expedito pela força no momento de fraqueza. Aos demais integrantes do quarteto fantástico: mestre Emerson, mestre Marcial e mestre Vital. A todo o pessoal do Lavid, A Tião e a toda a turma da Budegga. A Lu e a quem quer que tenha inventado a cafeteria elétrica. Obrigado, Senhor. vi

Os que só andam muito devagar podem avançar bem mais se seguirem sempre pelo caminho reto, do que os que correm e dele se afastam. René Descartes Discurso do Método - 1637 vii

Resumo Hoje em dia, é notória a demanda por ferramentas computacionais para comunicação de grupos. Essa necessidade é deflagrada nas grandes organizações que trabalham com equipes geograficamente distribuídas. Por outro lado, usuários comuns também utilizam ferramentas de comunicação no seu dia-a-dia, especialmente, as ferramentas de comunicação on-line ou sistemas de mensagem e presença instantâneas (MPI). Um MPI permite que usuários possam inscrever-se mutuamente em suas respectivas listas de contatos para se manterem informados sobre suas mudanças de estado (presença) e trocarem mensagens curtas. Esse tipo de sistema tem sua principal vantagem na possibilidade de agilizar atividades colaborativas e de comunicação. Buscando facilitar o desenvolvimento de suítes de protocolos que forneçam tais serviços, o IETF desenvolveu uma série de padrões que descrevem modelos para tais sistemas. A partir desses modelos foram desenvolvidos os dois mais utilizados protocolos de MPI da atualidade: o SIMPLE e o XMPP. A despeito do objetivo de facilitar a comunicação entre pessoas, tanto o modelo do IETF quanto seus protocolos derivados carecem de um bom suporte ao tratamento de grupos de comunicação. Implementações como o XMPP, que possibilitam a criação de grupos, o fazem de uma forma limitada, não prevendo nenhum esquema que notifique seus integrantes acerca de possíveis mudanças no estado do grupo. Dentro desse contexto, o presente trabalho estende o conceito de presença do modelo conceitual proposto pelo IETF para a comunicação de grupos. É apresentado um novo modelo onde o conceito presença é aplicado a grupos e não a indivíduos. Além disso, utilizamos o modelo proposto em um sistema de videoconferência, o que permitiu testar as novas funcionalidades utilizando uma infra-estrutura de comunicação multimídia. Por fim, são discutidos os resultados oriundos de uma implementação dessa proposta em XMPP e com suporte a videoconferência. Palavras-chave Mensagem instantânea, presença instantânea, Sistemas Colaborativos, Percepção. viii

Abstract Nowadays, the demand for computer tools for group communication is remarkable. This need was triggered by the big organizations that work with a geographically varied staff. On the other hand, common users also use communication tools daily, specially, the online communication tools or instant messaging and presence system (MPI). A MPI allows the users to inscribe themselves in their respective contact list, in order to keep informed about their mutual status (presence) changes and to exchange short messages. The main advantage of this type of system is the possibility of speeding up collaborative and communication activities. For facilitating the development of the protocols suites that provide such services, the IETF developed a series of patterns that describe models for such systems. From these models, two of the most currently used MPI protocol were developed: the SIMPLE and the XMPP. Although the aim of these models is facilitating people communication, the IETF model, as well as its derived protocols, lacks a good support when dealing with communication groups. As the XMPP, implementations that makes possible to create groups do so in a limited manner. They do not foresee any schema that notifies their users about the possible changes occurred in the group status. Considering the described situation, the present work extends the concept of presence from the conceptual model proposed by the IETF for group communication. A new model is presented, in which the concept presence is applied to groups and not to individuals. Besides, we used the proposed model in a videoconference system, which allowed testing the new functionalities using multimedia communication infrastructure. Eventually, the results, which emerged from the implementation of this proposal in XMMP with videoconference support, were discussed. Key-words Instant Messaging, Instant Presence, CSCW, Awareness. ix

Sumário 1 INTRODUÇÃO... 16 1.1 MOTIVAÇÃO... 16 1.2 OBJETIVOS... 18 1.3 JUSTIFICATIVA... 18 1.4 CONSIDERAÇÕES FINAIS... 19 1.5 ESTRUTURA DA DISSERTAÇÃO... 20 2 FUNDAMENTAÇÃO TEÓRICA... 21 2.1 GROUPWARE... 21 2.2 SISTEMAS DE VIDEOCONFERÊNCIA... 23 2.2.1 Sistemas de Videoconferência com Múltiplos Usuários... 24 2.2.2 Padrões para Videoconferência... 27 2.2.3 ITU-T H.323... 27 2.2.4 Session Initiation Protocol (SIP)... 28 2.2.5 Comparação entre SIP e H.323... 32 2.3 SISTEMAS DE NOTIFICAÇÃO... 33 2.3.1 Presence e Instant Messaging... 34 2.3.1.1 Serviço de Presença... 36 2.3.1.2 Serviço de Mensagem Instantânea (IM)... 38 2.4 PROTOCOLOS... 39 2.4.1 Zephyr... 39 2.4.1.1 Ferramentas do Cliente... 42 2.4.2 SIMPLE... 43 2.4.3 XMPP... 45 2.4.4 Discussão... 49 3 TRABALHOS RELACIONADOS... 51 3.1 OPENMEETINGS... 51 3.2 SISTEMA WANG E SHANG... 52 3.3 GIGA-COLAB... 53 3.4 ANÁLISE COMPARATIVA... 53 4 SERVIÇO DE PRESENÇA DE GRUPOS DE INDIVÍDUOS... 55 4.1 MODELO CONCEITUAL: PRESENÇA INSTANTÂNEA EM GRUPOS... 55 4.2 ARQUITETURA DO SERVIÇO... 56 4.3 MODELO FUNCIONAL... 57 4.4 DETALHES DE IMPLEMENTAÇÃO... 60 4.5 INTEGRAÇÃO COM O SISTEMA DCS... 62 x

4.6 SUPORTE A VÍDEO DE ALTA QUALIDADE... 64 5 ESTUDO DE CASO... 65 5.1 CONTEXTO... 65 6 CONSIDERAÇÕES FINAIS... 70 7 REFERÊNCIAS BIBLIOGRÁFICAS... 72 xi

Lista de ilustrações Figura 1 Videoconferência broadcast... 25 Figura 2 Conferência multiponto descentralizada... 26 Figura 3 Videoconferência centralizada com Bridge/MCU... 27 Figura 4 Estabelecimento de uma sessão SIP entre dois usuários... 31 Figura 5 Exemplo de cabeçalho de uma requisição INVITE... 32 Figura 6 Estatística de utilização da Internet na América Latina por serviço... 35 Figura 7 Modelo do serviço de presença para Entidade de Presença / Fetcher... 37 Figura 8 Modelo de serviço de presença para Entidade de Presença / Assinante... 38 Figura 9 Arquitetura do serviço de mensagens instantâneas... 38 Figura 10 WindowGram do zwgc exibindo uma notificação de logon de um usuário... 42 Figura 11 Fluxos assinatura e notificação no protocolo SIP... 45 Figura 12 Seqüência de passos para assinatura de atualizações entre dois clientes XMPP.... 48 Figura 13 Interface do Openmeetings... 51 Figura 14 Interface do sistema Wang e Shang... 52 Figura 15 Interface do sistema Giga-Colab... 53 Figura 16 (a) e (b) Arquitetura do serviço proposto... 57 Figura 17 Diagrama de Casos de Uso UML.... 59 Figura 18 Relação entre as classes do cliente XMPP e do DCS para o cliente.... 63 Figura 19 Integração entre as classes do servidor XMPP e do servidor DCS... 64 Figura 20 Organograma do Lavid... 66 Figura 21 Cadastramento de um novo grupo... 67 Figura 22 Lista de grupos cadastrados para o Lavid... 67 Figura 23 Cadastramento de uma nova reunião para o grupo Xtation... 68 Figura 24 Lista de reuniões para o grupo Xtation, inclusive já ultrapassadas... 68 Figura 25 Cliente em uma reunião.... 69 xii

Lista de tabelas Tabela 1 Classificação de sistemas de groupware quanto à dimensão espaço-tempo... 21 Tabela 2 Principais métodos do SIP para estabelecimento de sessão.... 30 Tabela 3 Classes de códigos de resposta do SIP... 30 Tabela 4 Formato do datagrama de notificação do Zephyr... 40 Tabela 5 Tipos de pacotes do protocolo de presença do XMPP... 47 Tabela 6 Comparação entre SIMPLE e XMPP.... 50 Tabela 7 Comparativo entre as ferramentas analisadas... 54 Tabela 8 Comparativo entre o sistemas relacionados e o trabalho atual... 71 xiii

ABREVIATURAS Sigla 3G 3GPP ABTU ANS.1 AOL ATM CCITT CORBA CSCW GUI HTTP ICQ IETF IM InfraVIDA IP ISDN ITU JID LAVID MCU MPI QoS RFC RNP RTCP RTP RUTE SBTVD SIMPLE SIP SSL TCP TLS Significado 3 rt Generation 3 rt Generation Partnership Project Associação Brasileira de Televisão Universitária Abstract Syntax Notation One America On Line Asynchronous Transfer Mode Commite Consultatif International de Telegraphique et Telephonique Common Object Request Broker Architecture Computer Supported Cooperative Work Graphical User Interface Hypertext Transfer Protocol I Seek You International Engeneering Task Force Instant Messaging Infraestrutura de Vídeo Digital para Aplicações de Telemedicina Internet Protocol Integrated Services Digital Network International Telecommunication Union Jabber Identifier Laboratório de Aplicações de Vídeo Digital Multipoint Control Unit Mensagem e Presença Instantânea Quality of Service Request for Comment Rede Nacional de Ensino e Pesquisa Real Time Control Protocol Real Time Protocol Rede Universitária de Telemedicina Sistema Brasileiro de TV Digital SIP for Instant Messaging and Presence Leveraging Extension Session Initiation Protocol Security Sockets Layer Transport Control Protocol Transport Layer Security xiv

Sigla UA UDP URI VoIP W3C XML XMPP ZID Significado User Agent User Datagram Protocol Uniform Resource Identifier Voice over IP World Wide Web Consortium Extensible Markup Language Extensible Messaging and Presence Protocol Zephyr Identifier xv

1 INTRODUÇÃO Hoje em dia, é crescente a necessidade de ferramentas computacionais que suportem operações sobre grupos. Essa necessidade é latente nas grandes organizações que trabalham com equipes geograficamente distribuídas. Por outro lado, usuários comuns também utilizam ferramentas de comunicação no seu dia-a-dia, especialmente, as ferramentas de comunicação on-line como sistemas de mensagem e presença instantâneas (MPI). Dentro desse contexto, o presente trabalho estende o conceito de presença do modelo conceitual proposto pelo IETF 1 para a comunicação de grupos [15]. É apresentado um novo modelo onde o conceito presença é aplicado a grupos e não a indivíduos. Além disso, o modelo proposto é integrado a um sistema de videoconferência, o que permitiu testar as novas funcionalidades oferecidas utilizando uma infra-estrutura de comunicação multimídia. Por fim, são discutidos os resultados oriundos de uma implementação dessa proposta em XMPP 2 e com suporte a videoconferência. 1.1 MOTIVAÇÃO As ferramentas de comunicação constituem um aspecto essencial na implementação de ambientes virtuais multiusuário. Muitas vezes, o que torna esses ambientes diferenciados para os usuários não é a aplicação ou a interface do ambiente, mas sim a possibilidade de se comunicar com outros usuários, de compartilhar experiências e trocar informações. A videoconferência, prática que inicialmente era restrita ao ambiente de grandes corporações, está atualmente presente em diversas outras aplicações, como ensino à distância, telemedicina e comunicação pessoal. As razões para essa disseminação incluem o advento comercial da Internet, a grande potência dos computadores pessoais atuais e a popularização de periféricos de multimídia, como as câmeras de vídeo para Internet (webcam). Outro grande fator de disseminação da videoconferência é a padronização H.323 dada pelo ITU-T 3, que provê uma base tecnológica para comunicações de dados, áudio e 1 Internet Engeneering Task Force, entidade que produz e promove padrões abertos para uso na Internet 2 Extensible Messaging and Presence Protocol 3 International Telecommunication Union Telecommunication Standardization Sector, antigo CCITT, é um órgão de padronização de telecomunicações ligado às Nações Unidas [32]

17 vídeo em redes IP. Esta padronização permite interoperabilidade entre equipamentos e softwares de diferentes fabricantes em diferentes plataformas. Embora existam diversos clientes H.323 gratuitos, como o Microsoft NetMeeting [40] e o Ekiga[18], tipicamente sua configuração inclui parâmetros como endereço de Gatekeeper 4, largura de banda utilizada e codec (codificador) preferencial de áudio e vídeo. A definição desses parâmetros nem sempre é de fácil entendimento para o usuário comum. Além do mais, a realização de conferência multiponto H.323 é provida por sistemas, em hardware ou software, que custam alguns milhares de dólares. Além do custo, outro problema que chama atenção de pesquisadores hoje em dia é o gerenciamento das políticas para estabelecer a comunicação on-line em grupos que utilizam videoconferência. Políticas que tratam, por exemplo, dos problemas de percepção. A percepção denota como os participantes são notados numa sala virtual de bate-papo. É importante salientar que a comunicação só é possível a partir da percepção. Em um cenário unidimensional o texto (como <nome do usuário>) pode ser um mecanismo de percepção. Já em um ambiente com videoconferência, isto é, multimídia, a forma como os usuários são identificados no ambiente também pode ser multimídia. Desta forma, temos que administrar uma área de visualização limitada (tela de computador) para n participantes simultâneos que podem ser representados por uma imagem ou vídeo. Se por um lado é difícil se fazer representado em grupo multiusuário, também não é trivial mostrar aos demais participantes do grupo que um novo participante está online. Nesse caso, estamos falando de mecanismos de notificação capazes de avisar aos participantes grupos de comunicação online a entrada de novos participantes. O suporte a esses mecanismos é objetivo de um sistema de MPI, que permite que usuários possam inscrever-se mutuamente em suas respectivas listas de contatos para se manterem informados sobre suas mudanças de estado (presença) e trocarem mensagens curtas. Neste trabalho visamos o estudo, avaliação e a proposição de estratégias para implementação de mecanismos de notificação baseados em grupos para ferramentas de comunicação online. Para tanto, foi feito um estudo sobre o modelo proposto pelo IETF que embasa os principais protocolos e principais sistemas de MPI utilizados no mundo. Com base 4 Gatekeeper é um componente de uma rede H.323. Mais detalhes no capítulo 2

18 no estudo realizado foi elaborada uma proposta de extensão de tal modelo, visando a possibilidade de notificações que incluem grupos de usuários e suas atividades, proporcionando uma ferramenta que suporte uma completa percepção por parte dos usuários de suas tarefas e seus papéis a serem cumpridos dentro dos trabalhos do grupo. Por fim, chegou-se a uma implementação de referência deste modelo que foi integrado em um sistema de videoconferência H.323 desenvolvido pelo LAVID 5. 1.2 OBJETIVOS O objetivo principal deste trabalho é a implementação de mecanismos de notificação para comunicação de grupos em sistemas de videoconferência, ou seja, a implementação de serviços de notificação, criação e gerenciamento de grupos de usuários conectados em um sistema de videoconferência. Para atingir esse objetivo geral, foram definidos os seguintes objetivos específicos: Estudo de ferramentas de comunicação online baseados em vídeo com suporte a grupos de usuários simultâneos; Estudo de estratégias para percepção e notificação de grupos de usuários ao invés de indivíduos. Implementação de uma ferramenta para comunicação online integrada a um sistema de videoconferência; Implementação dos mecanismos de notificação; Desenvolvimento de casos de teste e avaliação. 1.3 JUSTIFICATIVA Ferramentas de comunicação para grupos de usuários têm sido desenvolvidos desde a década de 1990, especialmente dentro de trabalhos relativos a sistemas colaborativos. Dentro destes esforços, o conceito de percepção das atividades dos grupos tem sido valorizado como forma de aumentar a compreensão das tarefas desenvolvidas pelos diversos usuários envolvidos. Parte de tal funcionalidade é delegada a sistemas de notificação que levem aos 5 Laboratório de Aplicações de Vídeo Digital [38]

19 envolvidos o conhecimento sobre atividades, mensagens e outros eventos que possam ocorrer sobre o grupo [47]. Alguns sistemas têm implementado esse tipo de funcionalidade, mas via de regra, todos começam seu desenvolvimento a partir do zero, baseados meramente em frameworks de apoio à percepção, sem contar com algum protocolo ou implementação na qual possam se basear. Por outro lado, sistemas de presença e mensagem instantâneas são largamente utilizados, tendo grande aceitação por parte dos usuários de computador, sendo um dos softwares mais utilizados enquanto estes estão conectados à Internet [14]. E mesmo a despeito de existirem diversos protocolos (abertos ou proprietários) para tais sistemas, a funcionalidade e interface com o usuário diferem muito pouco de um para outro. Uma das razões para tais semelhanças é o fato de que em maior ou menor grau, praticamente todos os sistemas de MPI modernos se baseiam no modelo definido pelo IETF nas RFCs 2778 a 2779, e 3859 a 3862, que estabelecem um modelo conceitual e funcionalidades comuns para sistemas desse tipo. Ocorre que tal modelo não suporta operações sobre grupos de usuários, mas sim sobre indivíduos. E a despeito de praticamente todos os clientes de MPI permitirem a criação de grupos, o fazem da perspectiva do usuário, meramente para melhor catalogação de sua lista de contatos. A extensão do modelo para suporte a grupos e notificação de atividades dos mesmos de uma perspectiva centralizada e sua conseqüente validação e implementação em um sistema de videoconferência, podem auxiliar na criação de sistemas colaborativos de maneira mais rápida e reutilizável, valendo-se de protocolos largamente testados e interfaces que já são intuitivas para a grande maioria dos usuários de computador. 1.4 CONSIDERAÇÕES FINAIS A principal contribuição deste trabalho foi a definição de um modelo flexível de notificação baseado nos protocolos de MPI baseados no modelo estabelecido pelo IETF, mas que inclui suporte a operações sobre grupos. Outra contribuição foi o desenvolvimento de uma implementação de referência para o modelo proposto, sobre o qual sistemas colaborativos podem ser facilmente construídos para propósitos específicos de comunicação síncrona via texto, áudio ou vídeo. Foram também desenvolvidas ferramentas de videoconferência multiplataforma com suporte a alta qualidade

20 (som e imagem), que minimizam o esforço de configuração necessário para que o usuário participe de uma videoconferência. 1.5 ESTRUTURA DA DISSERTAÇÃO Esta dissertação está organizada nos seguintes capítulos: No Capítulo 1 é feita uma introdução, são apresentados os objetivos e contribuições da dissertação. O Capítulo 2 apresenta a fundamentação teórica do trabalho alicerçada nas áreas temáticas de groupware, sistemas de videoconferência e sistemas de notificação, particularmente, sistemas de mensagem e presença instantânea. Esse capítulo também apresenta três diferentes protocolos para serviços de notificação: o pioneiro Zephyr, o SIMPLE e o XMPP. O Capítulo 3 apresenta os trabalhos relacionados descritos através de arquiteturas de referência e de sistemas com funcionalidades semelhantes ao sistema implementado para validação do modelo proposto. O Capítulo 4 apresenta a proposta de extensão ao conceito de presença para suportar o gerenciamento de grupos em sistemas de videoconferência. O Capítulo 5 apresenta uma implementação de referência para o serviço proposto onde utilizamos o protocolo XMPP para prover serviços de notificação de grupos em sistemas de videoconferência. Por fim, o Capítulo 6 apresenta as conclusões e trabalhos futuros.

21 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo apresentamos os conceitos básicos das principais áreas temáticas que fundamentam o trabalho ora proposto: sistemas de groupware, sistemas de videoconferência e sistemas de notificação e seus protocolos. 2.1 GROUPWARE O trabalho em grupo é uma forma eficiente de se aumentar a produtividade na realização de uma tarefa. O ser humano percebeu isso desde a pré-história, quando usando da cooperação, conseguia abater animais dezenas de vezes maiores que ele. Por outro lado, hoje em dia parte significativa dos trabalhadores das grandes cidades gasta horas do seu dia de trabalho em frente a um computador. Somando-se a isso o alto grau de conectividade dos computadores atuais, nada mais natural que levar para o ambiente computacional, esse modo de trabalho em cooperação que já era um sucesso desde a última era glacial. Sistemas de groupware, ou sistemas de suporte ao trabalho cooperativo (sistemas CSCW do inglês Computer Supported Cooperative Work) ou simplesmente sistemas colaborativos, auxiliam grupos de pessoas na comunicação, colaboração e coordenação de suas atividades. Groupware é definido por [19] como: sistemas baseados em computador que suportam grupos de pessoas engajadas em uma tarefa comum e fornecem uma interface para um ambiente compartilhado. Devido à complexidade e diversidade das aplicações de sistemas de groupware, há mais de uma forma de categorizá-los. A primeira delas é em relação à dimensão espaçotemporal. Em relação ao tempo, a interação pode ocorrer ao mesmo tempo ou em momentos distintos. Já com respeito ao espaço, dá-se o mesmo. Essas duas dimensões geram a matriz de classificação mostrada na Tabela 1. Mesmo Tempo Tempos Distintos Mesmo Lugar Interação cara a cara Interação assíncrona Lugares Distintos Interação síncrona distribuída Interação assíncrona distribuída Tabela 1 Classificação de sistemas de groupware quanto à dimensão espaço-tempo

22 Sistemas com tempo igual/local igual caracterizam uma interação cara a cara entre os participantes, acrescida de alguma ferramenta computacional para geração ou manipulação de informações em grupo. Um exemplo de sistema mesmo lugar/tempos distintos são programas no estilo do post-it [2], que possibilitam que usuários distintos de um mesmo computador possam trocar pequenos recados. Sistemas que utilizam uma abordagem lugares distintos/tempos distintos incluem listas de discussão e boletins eletrônicos. Sistemas classificados como mesmo tempo/lugares distintos incluem programas de edição colaborativa de documento. Por sua própria natureza, são sistemas que exigem maior poder computacional, devido ao fato de exigir sincronia, comunicação em tempo real e coordenação de atividades. Graças ao avanço nas áreas de computação e redes de comunicação, cada vez mais esses sistemas utilizam aplicações multimídia com o objetivo de melhorar as funcionalidades e experiências dos usuários no processo de colaboração [60]. De acordo com [39], existem sete dimensões de análise obtidas do estudo de sistemas colaborativos, de modo que cada dimensão representa um requisito ou decisão de projeto para a aplicação. São elas: interação, participação, visualização, notificação, coordenação, distribuição e suporte. Outro aspecto importante em sistemas de groupware é a percepção (do inglês awareness). A percepção reflete informação que os membros do grupo possuem sobre o conhecimento das atividades do grupo no passado (saber o que aconteceu), no presente (saber o que está acontecendo) e/ou no futuro (saber o que poderá acontecer) [47]. Entre as principais funções de um sistema de groupware identificadas por [11], estão as funções de suporte à decisão, troca de emails e conferência. Esta última pode ocorrer via texto, vídeo ou ambos, e é de suma importância na agilidade conferida a sistemas de groupware, por reduzir o tempo necessário para reunir equipes separadas por grandes distâncias. Nesse contexto se inserem sistemas de videoconferência detalhados na sessão seguinte.

23 2.2 SISTEMAS DE VIDEOCONFERÊNCIA Videoconferência é a transmissão em tempo real de áudio e vídeo entre dois ou mais locais separados fisicamente. Não é um conceito novo, pois produtos como o picturephone [7] existem desde a década de 1960. Nesse sistema a videoconferência era realizada em salas especiais com equipamento dedicado. Devido ao alto custo destas primeiras soluções, ele foi adotado inicialmente por grandes corporações, devido às vantagens do barateamento dos custos de deslocamento de executivos e agilidade na tomada de decisões [11]. Hoje a videoconferência tem se difundido rapidamente, especialmente a chamada videoconferência pessoal (realizada através de um computador) e as razões para essa disseminação incluem o advento comercial da Internet, a grande potência dos computadores pessoais atuais e a popularização de periféricos multimídia, como câmeras. Além da comunicação pessoal e corporativa, pode-se encontrar a videoconferência presente em uma série de áreas de aplicações, como: Educação à distância, Teletrabalho, Telemedicina e Aplicações Jurídicas. A área de Educação à distância reflete uma modalidade de ensino na qual não há necessariamente interação física entre professor e aluno. Os mesmos podem estar separados pelo tempo (como em cursos por correspondência ou vídeo-aula) ou fisicamente e interagindo online. Neste segundo caso, a videoconferência é primordial para promover a interação entre professor e sala de aula, até mesmo integrando várias salas diferentes, permitindo a criação de grupos virtuais de educação [64] e possibilitando a presença virtual de mais de um professor, aumentando o intercâmbio de conhecimentos [43]. Tanto para pequenas quanto grandes organizações, o simples deslocamento de seus empregados de casa para o escritório dispende uma parte do tempo que poderia ser gasto com o trabalho. Para minimizar esse problema, muitas empresas têm adotado a prática de teletrabalho, onde os empregados dispõem da possibilidade de trabalhar parte do seu tempo em casa. Nesse contexto, a videoconferência aparece de maneira muito natural como suporte à interação trabalhador/empresa, melhorando a comunicação entre trabalhadores que estão em casa e os que estão no escritório, possibilitando ainda apresentações remotas e conferências entre um número arbitrário de pessoas lotadas em diferentes organizações [64].

24 Outra área que tem se beneficiado bastante com serviços de videoconferência é a Telemedicina, que compreende a oferta de serviços ligados ao cuidado com a saúde, nos casos em que a distância é um fator crítico. A idéia principal é permitir que profissionais da saúde possam ter acesso a seus pacientes mesmo estando em locais distantes. Isso permite, por exemplo, que um especialista auxilie na consulta a um paciente que pode estar até mesmo em outro país. Nesse contexto, a videoconferência médica é uma das práticas de telemedicina mais comuns. Duas iniciativas acadêmicas brasileiras na área de telemedicina que merecem menção são a RUTE [49] e o projeto InfraVIDA [20]. O translado de presidiários até o fórum onde eles devem participar de audiências envolve além do custo do transporte (alguns fóruns podem estar a centenas de quilômetros do presídio), o custo da escolta, que cresce com a periculosidade do prisioneiro, acarretando aumento de gastos e problemas de segurança para os policiais e a população. A videoconferência tem sido encarada pelo sistema judicial como uma tecnologia adequada às suas necessidades de custo e segurança. Recentemente a lei brasileira passou a autorizar a realização de audiências por meio de videoconferência [48]. Nas próximas subseções serão abordados alguns dos principais conceitos de videoconferência, bem como serão introduzidos os dois mais utilizados padrões da indústria atualmente, o H.323 e o Session Initiation Protocol (SIP) [51]. 2.2.1 Sistemas de Videoconferência com Múltiplos Usuários Uma das formas de classificar videoconferências é quanto ao número de participantes envolvidos. Por participante, entenda-se o número de terminais de rede envolvidos na conferência, não o número de participantes humanos. Pela classificação do ITU-T [33], quanto ao tráfego, videoconferências são classificadas em: Videoconferência ponto-a-ponto; Videoconferência broadcast; Videoconferência multiponto: o Videoconferência multiponto descentralizada; o Videoconferência multiponto centralizada.

25 A videoconferência ponto-a-ponto envolve apenas dois participantes, trocando áudio e vídeo mutuamente. Constitui a forma mais simples de videoconferência e é análoga a uma chamada telefônica comum. A videoconferência broadcast denota uma conferência onde há um único transmissor de áudio e vídeo e muitos receptores, não havendo fluxo de controle ou mídia (áudio ou vídeo) bidirecional (Figura 1). Terminal Terminal Terminal Fonte Terminal Terminal Terminal Figura 1 Videoconferência broadcast Videoconferência multiponto envolve vários participantes que enviam e recebem áudio e vídeo ao mesmo tempo. Essa modalidade ainda é subdividida em: Videoconferência multiponto descentralizada [33]: Todos os participantes recebem e enviam áudio e vídeo de e para todos os outros. Idealmente, essa transmissão deveria se dar via multicast. Como na maioria dos casos a videoconferência envolve pontos distantes geograficamente e que obrigam o tráfego a passar por uma série de outras redes sobre as quais os participantes não têm controle, na prática é muito difícil se conseguir muticast em videoconferências que não envolvam redes locais ou pertencentes a uma mesma corporação. O modo mais comum de videoconferência muiltiponto descentralizada é obrigar cada participante a enviar áudio e vídeo para todos os outros de modo unicast. É fácil perceber que esse modelo tem graves problemas de escalabilidade, uma vez que cada novo participante adiciona n 1 novos fluxos multimídia na rede, onde n é o número de participantes após a entrada no novo usuário (Figura 2).