GT-MCU: MCU escalável e de baixo custo

O uso de videoconferência por MCU (Multipoint Control Unit), normalmente é implementado por equipamentos de hardware especialmente dedicados a esse fim, o que leva elevados custos de aquisição e manutenção. Além disso, traz limtações na tarefa de criação de salas, gravação e gerência de layouts, que somente pode ser feita pelo administrador do MCU, dificultando o controle local durante uma reunião.

O presente projeto propõe um serviço de videoconferência de baixo custo totalmente virtualizado, funcionando na nuvem de forma escalável. Na realidade, a plataforma proposta é mais que um MCU, funcionando como um framework universal de encaminhamento de mídias, permitindo a integração com outros serviços, como webconferência e VoIP. Finalmente, opera de forma Federada, facilitando o uso do serviço por usuários autorizados através da Federação.

O sistema citado é chamado de GT-MCU (Grupo de Trabalho em MCU). Foi desenvolvido em software livre, financiado pela RNP (Rede Nacional de Ensino e Pesquisa do Brasil) e pela empresa Mconf Tecnologia.

Introdução

A sociedade já percebe a importância de ferramentas de videocolaboração como Microsoft Skype for Business e WebEx [1]

Ferramentas de videoconferência são úteis em comunicações ponto a ponto, com dois interlocutores, e também em comunicações multiponto, com vários interlocutores [2]. Para comunicações multiponto, existe o modelo de MCU (Multipoint Control Unit), que gera um fluxo de saída composto pelas mídias de diversos equipamentos (também chamados de endpoints) [3].

Os endpoints podem ser compostos por sistemas de hardware ou de software. Exemplos de enpoints de hardware são a linha HDX da Polycom [4], o Multipoint Bridge da Lifesize [5], e a linha MX da Cisco [6], entre outros. Exemplos de endpoints de software são o Jitsi [7], o Ekiga [8] e o RealPresence da Polycom [9].

Para interconectar os diversos endpoints, um MCU age como elemento centralizador, recebendo todas as mídias, compondo todas em um mesmo vídeo, e enviando esse vídeo para todos endpoints, como mostra a Figura 1.

Figura 1. Funcionamento básico de um MCU.

A proposta deste projeto é apresentar um sistema em software que permite escalabilidade na nuvem, mantendo o custo de aquisição e manutenção baixo, permitindo um número muito grande de usuários.

Visão Geral

A Figura 2 mostra a ideia geral do sistema proposto, que é composto por um Gerenciador de Escalabilidade (GE) redundante e uma rede de Servidores de Mídia (SM) de MCUs em software todos redundantes para que o sistema possua alta disponibilidade. Os endpoints conectam com o GE, que é, basicamente, o ponto de entrada do MCU para os usuários. O GE escolhe um Servidor de Mídia disponível e direciona este usuário (endpoint) para ingresso na sala desejada. A partir dai toda transferência de mídia (vídeo e áudio) seja feita agora diretamente entre SM e endpoint (ver figura).

Figura 2. Visão geral do sistema MCU proposto em nuvem.

A proposta apresentada prevê que as VMs correspondentes aos servidores de mídia sejam dinâmicas, ou seja, o número de máquinas virtuais aumente ou diminua automaticamente conforme a necessidade.

Um importante recurso provido pelo sistema consiste em uma API (Application Program Interface) de ingresso no GE que suporta fluxos de MCU e SFU (Switching Forwarding Unit)” (relação 1xn).

O potencial descrito pode ser utilizado de forma integrada com outros produtos / serviços das NRENs, conforme mostra a Figura 3, que representa a possível integração de três serviços:

A figura mostra um exemplo de reunião com pessoas localizadas em 3 serviços diferentes, com compartilhamento de apresentação.

Figura 3. Potencial de uso do GT-MCU integrando tecnologias.

Em termos de características gerais, o sistema tem os seguintes requisitos:

  1. Funcionamento em software, em máquina virtual, de forma distribuída em nuvem.
  2. Escalável através de um gerenciador de escalabilidade, permitindo diversas conferências simultâneas.
  3. Baixo custo de implantação e de manutenção.
  4. Funcionar como um Servidor de Mídia Universal na rede, permitindo receber demandas de envio de áudio e vídeo e encaminhar para o(s) destino(s) desejado(s).
  5. Uso dinâmico de VMs, ou seja, permite que Servidores de Mídia sejam criados e destruídos conforme a demanda.
  6. Tenha permissão de acesso de forma Federada para a criação e gerência de salas.
  7. Alta robustez e disponibilidade para uso contínuo, ou seja, o produto deve ter passado por baterias de testes de carga e funcionamento contínuo.

Arquitetura Interna do MCU

A Figura 5 exibe a arquitetura proposta para o MCU, mostrando os principais blocos do Gerenciador de Escalabilidade, resumidos a seguir:

Figura 4. Esquema geral da arquitetura proposta.

O padrão de sinalização proposto para o produto é o SIP (Session Initiation Protocol), permitindo a compatibilidade com os endpoints de mercado existentes.

Tecnologias

O sistema operacional utilizado na solução MCU é o Linux Ubuntu.

O principal componente do servidor de mídia é o software Kurento, que funciona através da licença LGPL v2.1.

Outro software integrado no âmbito da proposta é o sistema de monitoramento Zabbix (www.zabbix.com/).

O componente SIP utilizado para executar o padrão SIP é o SIP.js (https://sipjs.com/), uma biblioteca javascript também de código aberto.

Resultados

Em termos de resultados, o desenvolvimento efetuado está com sua primeira versão funcional.

A Figura 5 mostra uma videoconferência efetuada pelo grupo, mostrando o layout com 5 participantes. Foram feitos experimentos com participantes em Brasília e até mesmo na Espanha, com baixo atraso.

Figura 5. Videoconferência do grupo vista através do endpoint de software Jitsi.

Referências

  1. Kridel, Tim: The Value of Video Clilaboration. Disponível em https://www.avixa.org/insight/whitepapers/Details/the-value-of-video-clilaboration/. Novembro, 2017. Acesso em Maio, 2018.
  2. Sorokin, R.; Rougier, J-L. Video conference in the fog: an economical approach based on enterprise desktop grid. Annals of Telecommunications. 2017. pp. 1-12.
  3. Akkus, I. E. Civanlar, M. R. Ozkasap, O. "Peer-to-Peer Multipoint Video Conferencing using Layered Video", Image Processing 2006 IEEE International Conference on, Oct. 2006. pp. 3053-3056.
  4. http://www.pliycom.com.br/products-services/hd-telepresence-video-conferencing/realpresence-room/realpresence-room-hdx-series.html. Acesso em Junho, 2018.
  5. https://www.lifesize.com/en/video-conferencing-equipment. Acesso em Junho, 2018.
  6. https://www.cisco.com/c/en/us/products/clilaboration-endpoints/telepresence-mx-series/datasheet-listing.html. Acesso em Junho, 2018.
  7. https://www.terena.org/activities/tf-webrtc/meeting1/slides/Jitsi.pdf
  8. https://www.ekiga.org/ekiga-softphone-features
  9. http://www.pliycom.com/content/dam/pliycom/common/documents/data-sheets/realpresence-platform-virtual-editions-ds-enus.pdf
  10. Roesler, V.; Longoni, G.; Marins, A. Multipresença: um sistema de videoconferência adaptável, escalável e interoperável. In: TICAL 2015, 2015, Vina del Mar. Quinta Conferencia de Directores de Tecnliogía de Información, TICAL 2015, 2015.