DISTRIBUIÇÃO BALANCEADA DE JOBS EM UMA REDE DE IMPRESSORAS Trabalho de Conclusão 2 Lucas Eduardo Waechter Orientador: Prof. Eduardo Bezerra
Agenda Motivação Objetivos Principais e Específicos Conceitos Utilizados Descrição do Sistema Implementação Módulo de Impressão Módulo de Configuração Resultados Esperados e Obtidos Conclusão Julho 2005
Motivação Uso de uma tecnologia promissora (ChaiVM) Oportunidade de unir trabalho e estudos Pesquisa em uma área desconhecida Programação Java Estudo da arquitetura de baixo nível das impressoras HP Julho 2005
Objetivo Principal Eliminar o software dos clientes (PCs), e transferir a funcionalidade para as impressoras. Julho 2005
Objetivos Específicos Construir uma chailet que possa redirecionar jobs de impressão automaticamente quando a impressora que o recebe não tem condições de iniciar o processo de impressão imediatamente Trabalhar com produtos HP Estudar o funcionamento interno de impressoras HP Julho 2005
Conceitos Utilizados Sistemas Distribuídos O sistema distribui jobs em uma rede de impressoras Pretende aumentar o throughput da rede de impressoras Utilização de impressoras diferentes (sistema não homogêneo) Julho 2005
Conceitos Utilizados (continuação) Redes de Impressoras Formação de uma rede de impressoras com o auxílio do sistema implementado Portar a funcionalidade oferecida por softwares comerciais para dentro da impressora Julho 2005
Conceitos Utilizados (continuação) Sistemas Embarcados Uso de um sistema embarcado na impressora Aproveitamento das funcionalidades oferecidas pelo sistema operacional disponível na impressora Recursos de rede Console (debugging) Interface com o controle de impressão da impressora Julho 2005
Conceitos Utilizados (continuação) Máquina Virtual Utilização de ChaiVM (máquina virtual da HP) Portabilidade Cerca de 12 modelos de impressoras HP suportadas Abstração de recursos de baixo nível I/O Memória Threads Julho 2005
Conceitos Utilizados (continuação) Julho 2005
Descrição do Sistema Aplicação composta por dois módulos: Impressão Configuração Julho 2005
Descrição do Sistema (continuação) Ready Job Job Job Job Error OK X 1 Job ? 4 ? ? Job Warning Printing OK X 2 3 Julho 2005
Descrição do Sistema (continuação) Classe Principal http://192.168.1.1/hp/device/this.tc2?discovery public static void discovery() + SNMP Package Julho 2005
Implementação – Módulo de Configuração Interface para configuração do sistema - páginas WEB Execução do Discovery Parar o serviço de Impressão Carregar/Descarregar o sistema da impressora Julho 2005
Módulo de Configuração (continuação) Implementado em três classes Julho 2005
Módulo de Configuração (continuação) Página principal Julho 2005
Módulo de Configuração (continuação) Discovery Procura impressoras HP na rede Trabalha com 1-8 threads Julho 2005
Módulo de Configuração (continuação) Lista de impressoras suportadas Adiciona e Remove impressoras suportadas Impressoras encontradas no processo de Discovery Julho 2005
Módulo de Impressão Implementado em duas classes Julho 2005
Módulo de Impressão (continuação) Escuta requisições na porta 9100 Substitui o serviço de impressão nativo Utiliza o sistema de arquivos local para guardar jobs temporários Implementa o sistema de detecção do estado das impressoras e o redirecionamento dos jobs Julho 2005
Módulo de Impressão (continuação) Julho 2005
Modo inicial da impressora Tempo para impressão (s) Resultados Nome do teste Modo inicial da impressora Tempo para impressão (s) Com o sistema* Sem o sistema Impressão de um arquivo texto ASCII. Pronta 22,04 18,8 Impressão de um arquivo PDF contendo texto somente. 28,56 16,85 Impressão de um arquivo PDF com texto e gráficos. 66,25 19,1 Impressão de uma imagem JPG de resolução 800x600 55,25 16,06 Impressão de um arquivo texto ASCII. Erro Crítico 25,96 ND Impressão de um arquivo PDF contendo texto somente. 36,05 Impressão de um arquivo PDF com texto e gráficos. 82,97 Impressão de uma imagem JPG de resolução 800x600 73,14 * Utilizando uma impressora na lista de impressoras suportadas Julho 2005
Resultados Esperados e Obtidos Resultado esperado Resultado final Carregar e executar o sistema proposto em uma impressora sem erros. Resultado obtido. Verificar a funcionalidade proposta utilizando um mínimo de duas impressoras interligadas em rede. Navegar pelas páginas de configuração sem apresentar erros ou lentidão. Não interferir no funcionamento normal da impressora, tornando-a lenta ou suscetível a erros decorrentes do carregamento do sistema proposto. Resultado parcialmente obtido. Adicionar e remover impressoras da lista de impressoras suportadas. Apresentar um volume contendo toda a descrição do sistema construído, assim como os planos de testes utilizados em sua qualificação. Um manual de usuário com informações para o carregamento e correta utilização do sistema. Julho 2005
Conclusão As impressoras disponibilizam um hardware poderoso para aplicações embarcadas A tecnologia da ChaiVM ainda é sub utilizada Existe uma possibilidade muito grande de disponibilizar mais serviços dentro da impressora Julho 2005
Conclusão – Trabalhos Futuros Adicionar funcionalidades na máquina cliente Busca automática por impressoras na rede Administração dos jobs temporários Melhoramento do processo de Discovery Melhoramento do processo de recebimento e criação do job temporário no disco rígido da impressora Julho 2005
Perguntas? Obrigado! Julho 2005