DISTRIBUIÇÃO BALANCEADA DE JOBS EM UMA REDE DE IMPRESSORAS
Trabalho de Conclusão 2
Lucas Eduardo WaechterOrientador: Prof. Eduardo Bezerra
Julho 2005 2
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 3
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 4
Objetivo Principal
Eliminar o software dos clientes (PCs), e transferir a funcionalidade para as impressoras.
Julho 2005 5
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 6
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 7
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 8
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 9
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 10
Conceitos Utilizados (continuação)
Julho 2005 11
Descrição do Sistema
Aplicação composta por dois módulos: Impressão Configuração
Julho 2005 12
Ready
Printing
X3
Descrição do Sistema (continuação)
Job
Job Job
OK1
Warning
OK2
??
Error
X4Job
Job
?Job
Julho 2005 13
Descrição do Sistema (continuação)
Classe Principalpublic static void discovery()
http://192.168.1.1/hp/device/this.tc2?discovery
+ SNMP Package
Julho 2005 14
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 15
Módulo de Configuração (continuação) Implementado em três classes
Julho 2005 16
Módulo de Configuração (continuação) Página principal
Julho 2005 17
Módulo de Configuração (continuação) Discovery
Procura impressoras
HP na rede Trabalha com 1-8
threads
Julho 2005 18
Módulo de Configuração (continuação) Lista de impressoras suportadas
Adiciona e Remove impressoras suportadas Impressoras encontradas no processo de
Discovery
Julho 2005 19
Módulo de Impressão Implementado em duas classes
Julho 2005 20
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 21
Módulo de Impressão (continuação)
Julho 2005 22
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.
Pronta 28,56 16,85
Impressão de um arquivo PDF com texto e gráficos.
Pronta 66,25 19,1
Impressão de uma imagem JPG de resolução 800x600
Pronta 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.
Erro Crítico 36,05 ND
Impressão de um arquivo PDF com texto e gráficos.
Erro Crítico 82,97 ND
Impressão de uma imagem JPG de resolução 800x600
Erro Crítico 73,14 ND
* Utilizando uma impressora na lista de impressoras suportadas
Julho 2005 23
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.
Resultado obtido.
Navegar pelas páginas de configuração sem apresentar erros ou lentidão.
Resultado obtido.
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. Resultado obtido.
Apresentar um volume contendo toda a descrição do sistema construído, assim como os planos de testes utilizados em sua qualificação.
Resultado obtido.
Um manual de usuário com informações para o carregamento e correta utilização do sistema.
Resultado obtido.
Julho 2005 24
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 25
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 26
Perguntas?
Obrigado!