adaptação de conteúdo - endler/courses/mobile/transp/content... · laptop pc, pda, celular õdhd...

23
1 Adaptação de Conteúdo Agenda • Motivação Adaptação de conteúdo Adaptação de conteúdo – Técnicas de adaptação de conteúdo • Arquiteturas • Sistemas para desenvolvimento de aplicações adaptáveis 2

Upload: dangkhuong

Post on 02-Dec-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

1

Adaptação de Conteúdo

Agenda

• Motivação• Adaptação de conteúdoAdaptação de conteúdo

– Técnicas de adaptação de conteúdo

• Arquiteturas• Sistemas para desenvolvimento de

aplicações adaptáveis

22

2

Motivação

celularlaptop

Ambiente móvel

PDA

Limitações da rede sem fio:

Dispositivos Heterogêneos:laptop PC, PDA, celular

õ d h d

33

Limitações da rede sem fio:Largura de banda reduzida

Variações na rede Conexão intermitente

Limitações de hardware:Baixo poder processamento,memória, energia, display,

Limitações de software: codificadores, protocolos disponíveis

Adaptação de Conteúdo

CondiçõesCondições

Conteúdo Conteúdo Original Original

Conteúdo adaptado

Adaptador de

ConteúdoConteúdo

Adapta natureza ou estrutura da informação/

44

Rede sem Fio

Perfil de usuário

a uma série de restrições/condições

Dispositivo

Objetivo: transmissão e apresentação otimizada de conteúdo no dispositivo móvel

3

Tipos de Adaptação

• Múltiplas versões (Multi-authoring)– Estático– Adaptador simpesmente seleciona a versão/formato

mais adequada/o• Mais adequado ao contexto de dispositivo

Incapacidade para adaptação apropriada ao contexto dinâmico (e.g. qualidade do enlace, energia restante)Alto custo de desenvolvimento e manutençãoMaior fidelidade semântica e interfaces otimizadas

• Adaptação sob demanda– Dinâmica

55

Dinâmica– Mantém-se somente a versão original do conteúdo

Adaptação de acordo com o contexto corrente (rede, usuário, dispositivo)

• Uso de diferentes técnicas: Transcoding, summarization…Baixo custo de desenvolvimento e manutençãoMais difícil de manter a fidelidade e de garantir uma apresentação satisfatória

Adaptação dinâmica de conteúdo

• Principais técnicas de adaptação:– Personalização

• Reestruturação da apresentação do conteúdo de acordo com preferências do usuário, localização, comportamento, p , ç , p ,contexto de uso

– Anotação• Geração de meta-informações (resumos, palavras

chave,…), que podem ser apresentadas no lugar do conteúdo

– Agregação• Agrupamento de conteúdos de diferentes fontes

66

• Agrupamento de conteúdos de diferentes fontes, compilando-os e enviando da melhor forma.

– Transcoding: • Transformação de conteúdo para diferentes formatos,

adequando a apresentação a diversos dispositivos e a características da rede sem fio, otimizando a transmissão neste enlace.

4

Transcoding

• Transcoding– Processo de transformação do formato e

representação de conteúdorepresentação de conteúdo• Conversão entre formatos, filtragem, resumo,

compressão, etc

• Sub categorias– Destilação (Distillation)– Refinamento (Refinement)

77

– Resumo (Summarization)– Filtragem inteligente (Intelligent filtering)– Transcoding

Distillation

• Destilação é um processo de compressão com perdas, executado em tempo de execução

• Objetivo: Eliminar informações redundantes ou desnecessárias, mas preservando a semântica do conteúdo

• Pode ou não ser baseado em padrões de codificação– 1) Compressão JPEG com certa qualidade

2) Escalar uma imagem em cada eixo reduzindo seu

88

– 2) Escalar uma imagem em cada eixo, reduzindo seu tamanho em representação binária

• Específico para cada tipo de dados– Imagens, texto, vídeo

• Pode ocorrer em diferentes aspectos ortogonais

5

Distillation: Exemplo

• Texto– Codificações: plano,

PostScript, PDF, HTML– Destilações:

formatação, compressão, conversão entre codificações,..

Ex: compressão e transformação de

Rich-text

99

PostScript, substituindo as informações de formatação PS por tags HTML ou de rich-text, preservando a posição das palavras Post-script (ghostview)

1010

6

Distillation: Exemplo

• Imagens– Codificações: GIF, JPEG, PPM, TIF, BMP,...

D til õ C i ( t ) l – Destilações: Cropping (recorte), escala, compressão com perda na qualidade, redução da paleta de cores, conversão para preto-branco ou escala de cinza

Exemplos de utilização

1111

– Para displays pequenos• Cropping, scaling

– Para largura de banda reduzida• Cropping, color-depth reduction, scaling• Lossy compression, de-animation

JPEG baixa qualidadeJPEG baixa qualidade10 KB10 KBGrayscale, 85 KB Original, 116 KB

Distillation

1212

Thumbnail, 2 KBCrop, 40 KB Transliterar, poucos bytes

Estrada com névoa e folhagens no outono

7

Distillation

• Exemplo da latência fim a fim, para imagens com e sem destilação

1313

Fonte: [Fox,96]

Distillation

• Vídeo– Codificações

• MPEG NV VQ H 261• MPEG, NV, VQ, H.261

– Destilações: nos seguintes aspectos• Temporais

– Limitar a taxa de quadros (frames) a uma dada taxa de bits

» Redução de 400 kbps para 128 kbps

1414

– Condensação de tempo (acelerar a apresentação)

• Espaciais– Mudar a resolução, requantização, redução de cores

8

Refinamento

• Refinamento: Processo de selecionar partes de um documento em sua qualidade original.

• Exemplo:• Exemplo:– Fazer um “zoom” em parte de um gráfico ou mapa

• Pode ser fixo ou progressivo• Pela qualidade

• Pela resolução

1515

• Destilação e refinamento são ortogonais

Compressed Image bitstream

Refinamento progressivo pela qualidade

1616

0.125bpp 0.25bpp 1bpp lossless

9

Compressed Image bitstream

Refinamento progressivo pela resolução

1717

Summarization

• Um tipo de compressão onde partes específicascontendo as informações mais relevantes são

l i dselecionadas

• Grande remoção de informação, mas com perda mínima possível da compreensão da mensagem

• Mais utilizada para– Texto

1818

– Texto• Extração pequena e não-redundante de um texto

– Vídeo• Apresentação de uma seqüência de clips, com ou sem

áudio, com versão concisa do conteúdo; mantendo a mensagem essencial (video digest)

10

Summarization - Texto

• Técnica com origem nos anos 60– Máquinas de busca Web e dispositivos móveis ->

criaram nova demanda• Idéia central: capturar a essência de um texto• Idéia central: capturar a essência de um texto• A extração de texto utiliza métodos estatísticos,

lingüísticos e heurísticos. • Técnicas utilizadas:

– Posição no texto• Política de posição ótima de sentenças• Método de Títulos/cabeçalhos

– Palavras chaves ou pistas em sentenças

1919

p ç– Freqüência de palavras– Coesão: links entre palavras

• co-ocorrência de palavras, co-referência, cadeias léxicas– Estrutura discursiva do texto– Extração de informação: parsing e análise

[Automated Text summarization, Eduard Hovy e Daniel Marcu, Tutorial — COLING/ACL’98www.isi.edu/~marcu/acl-tutorial.ppt]

Summarization - Texto

• Algumas Ferramentas – Microsoft Word tem um summarizer para documentos.– Intelligent Miner for Text (IBM)

Inxight (XEROX) – Inxight (XEROX) – Datahammer (Glucose Development Corporation) – Corporum Summarizer- Cognit AS (Norway)– Pertinence (France)– Copernic Summarizer– MuST Prototype– Automated Text Summarization (SUMMARIST) – Columbia Newsblaster

h // 1 l bi d / l / bl

2020

http://www1.cs.columbia.edu/nlp/newsblaster– OracleContext – Autonomy

http://www.nada.kth.se/~hercules/HDbookmarks.htmhttp://www.ics.mq.edu.au/~swan/summarization/projects_full.htm

11

Summarization

• Vídeo– Versão curta de um vídeo montado com

segmentos importantes ousegmentos importantes, ou– Série de pequenos clipes contendo a essência

do original; ou– Sinopse (ou trailler), em conexões de baixa

vazão, permitindo a obtenção rápida de conteúdo de forma compreensível

2121

Video Summarization

VídeoVídeo

Técnicas de Técnicas de SummarizationSummarization

2222

“Important Shots”“Important Shots”

12

Summarization -Video

• Técnicas de resumo de vídeos– Escolha de trechos importantes

• Agrupamento de quadros baseado em propriedades visuais, escolhendo-se os quadros centrais

• Considerar restrições de áudio e vídeo– Seleção de trechos de diálogos, incluindo todas as frases

significativas» Funções de análise de conteúdo de áudio seleção de

clipes determinado pelo áudio

2323

– Resumo hierárquico• Representação multi-modo e multi-resolução de conteúdo

multimídia– InfoPyramid, IBM [Moham,99]

Restrições de áudio e vídeo

2424[Chang, IWDC 02]

13

Análise de conteúdo de áudio

2525

Filtragem inteligente

• Objetivo principal: otimizar transmissão• Mecanismo para transformar, excluir ou atrasar a

entrega de dadosentrega de dados– Uso de filtros no caminho dos dados de acordo com as

condições da rede ou dispositivo

• Filtros ativos [Balachandran,97]– Adapta fluxos de áudio/vídeo devido a mudanças na

qualidade da rede sem fio

2626

– Filtros de mídia: escala espacial e temporal de fluxos de áudio e vídeo

– Filtros adaptativos de FEC (Forward Error Correction): protege conteúdo de falhas no enlace de rádio

14

Transcoding

• Processo de conversão de conteúdo entre diferentes formatos– Adequar às capacidades do dispositivo

Otimizar a transmissão sobre o enlace sem fio– Otimizar a transmissão sobre o enlace sem fio– Freqüentemente, com perda de fidelidade

• Técnicas:– Compressão, conversão, transformação, re-formatação,

filtragem, redução, re-codificação– Ex:

• Conversão de formatos de vídeo– QuickTime para MPEG, MPEG para H.261

2727

QuickTime para MPEG, MPEG para H.261• Ajuste de HTML para restrições do dispositivo

– HTML para WML, segmentação de HTML• Transformação de textos

– PDF para HTML, PDF para imagem• Conversão de imagens

– BMP para WBMP, GIF para JPEG

Video Transcoding Gateway

LDCTEncoder

MPEGDecoder

Layered DCT

High BandwidthAudio/Video Stream

1 2 mbps

NvDecoder

IpadvqEncoder

H.261Decoder

H.261Encoder

1 - 2 mbps

128 kbps

2828

Decoder Encoder

Infopad VQ

128 kbps256 kbps

MPEG- High bitrate- DVD, TV Digital - 1.5 Mbps, 30 fps

H.263- Low bitrate- Wireless, etc.- 500 kbps, 10fps

Transcoding

15

Transcoding

• Duas abordagens para transcoding– Transformação dependente apenas do tipo de

conteúdoconteúdo• Decisão de qual adaptação aplicar tem como base o

tipo de conteúdo: imagem, texto, vídeo...– Uso de tipos MIME

• Mais comum

– Transformação especificada por anotação externa

2929

• Anotação descreve requisitos/condições e adaptações que devem ser aplicadas

– Uso de meta-informações indicando papel ou funcionalidade e nível de importância de cada elemento

Arquiteturas

• Abordagens– Agentes móveis

– Adaptação no cliente• Em geral, não é eficiente, pois requer muito

processamento, além de não permitir adaptações de acordo com estado da rede

• Apenas para pequenas funções

3030

– Adaptação no servidor

– Uso de proxies

16

Abordagem baseada em agentes

• Agentes, componentes leves, colocados na rede ou nos dispositivos móveis– Intermedeiam a comunicação e executam operações de ç p ç

transformação e filtragem– Podem migrar para a rede fixa em momentos de

desconexão, atuando em favor (como) do cliente

3131

Adaptação no servidor

• Servidores armazenam múltiplas versões ou efetuam adaptação sob-demanda de acordo com o contexto do cliente (rede, dispositivo, perfil)

• Desvantagens: – Abordagem estática: falta de escalabilidade– Abordagem dinâmica: alta carga de processamento– Difícil manuntenção (replicar em todos os servidores)

3232

17

Soluções baseadas em proxies

• Proxies: – Responsáveis por intermediar a comunicação ente

cliente e servidor– Realizam adaptações pesadas– Em geral executam na rede fixa– Permitem atendimento a “clientes magros”

3333

Sistemas - Exemplos

• Necessidade de ferramentas que facilitem o desenvolvimento de aplicações adaptativasadaptativas– Toolkits, APIs, Middlewares, Frameworks

• Alguns sistemas – Barwan

WBI

3434

– WBI– MoCA

18

BARWAN

• Projeto BARWAN (UC/Berkeley): – Suporta acesso a serviços de clientes móveis migrando entre

diferentes redes sem fio

– Separação de serviços de rede e de aplicação (adaptação)

– Framework p/ composição de adaptadores

– Componente básico: TACC workers

• Scalable Network Services• Servidores TACC para criar Proxies Ativos

3535

• Suporte a funcionalidades como transformação, agregação, customização, caching.

• destilação específica por tipo de dados

WBI

• WBI - Web Intermediaries,IBM– WBI é um proxy ou servidor Web programável– Permite a criação de sistemas complexos a partir de

componentes mais simples

• Framework de composição– Baseado em cinco “building blocks”:

• MEGs: request editors, generators, document editors, monitores e funções autonomas(para logging)

– São agrupados em “fluxos de informação”, empacotados como l i WBI t id

componentes mais simples

3636

plugins WBI, e conectam servidores com dispositivos

– Múltiplos plugins WBI podem ser compostos formando serviços WBI.

– A composição dos plugins WBI pode ser dinâmica, usando uma abordagem baseada em regras

19

MoCA

Clientes MóveisServidor de Aplicação

MoCA Serviços de

MoCA Serviços de

Proxy

• White-box framework• Adaptações ativadas por

eventos de mudança decontexto

3737

Serviços de Provisão

Contexto

Serviços de Provisão

Contexto

contexto• “policy-driven” proxy:

adaptações x contexto --configurado por regras(ou políticas)

Wired Network Wireless Network

MoCA’s ProxyFramework

Profile Mngt

ProtocolTranslation

Cache Mngt

AdaptationMngt

Handover Mngt

Server Client

Mngt

Content Adapters

ContextMngt

3838

pg

MoCA’s CIS (or LIS)

Subscribe Contextnotifications

RegrasXML

20

Proxy Framework

3939

Contextos e Ações no XML

<?xml version="1.0" encoding="ISO-8859-1" ?><ProxyConf>

<State><Expression>

<![CDATA[ OnLine = false AND DeltaT > 3000 ]]></Expression><Action class="moca.core.proxy.actions.listeners.DefaultCacheListener">

<Parameter name="cacheClassName">moca.core.proxy.cache.FIFOCacher</Parameter>

</Action></State><State>

<Expression><![CDATA[ CPU > 60 AND FreeMemory < 10000 ]]>

</Expression><Rule priority="1">

<Filter><And>

<!-- tipo de dados da mensagem --><StartWith>

<FieldValue><Literal>datatype</Literal>

</FieldValue><Literal>image/</Literal>

</StartWith><!-- e protocolo --><Equals>

4040

<Equals><FieldValue>

<Literal>protocol</Literal></FieldValue><Literal>TCP</Literal>

</Equals></And>

</Filter><Action class="moca.core.proxy.actions.adapters.ConvertToJPEGAdapter">

<Parameter name="compressionQuality">0.3</Parameter></Action>

</Rule></State>

</ProxyConf>

21

ProxyFramework

• Toda mensagem recebida pelo framework é repassada para a aplicação proxy, que deve decidir se a mensagem deve ou não ser retransmitida (através de callbacks) retransmitida (através de callbacks)

• O desenvolvedor da aplicação proxy deve implementar uma interface listener MessageListener para o recebimento das mensagens (onReceiveMessage).

• Para receber mensagens vindas dos clientes deve-se cadastrar no framework um MessageListener através do método

4141

gaddClientMsgListener (classe ProxyFramework).

• Para recebimento de mensagens vindas do servidor deve-se cadastrar um MessageListener através do método addServerMsgListener

ProxyFramework

• Ações do tipo adapter são ações acionadas no momento do envio de uma mensagem a um cliente dependendo de seu contexto a um cliente, dependendo de seu contexto corrente.

• Para criar uma ação adapter, deve-se estender a classe abstrata proxy.actions.adpter.Adapter.

• Esta classe possui o método e ec te que

4242

• Esta classe possui o método execute, que recebe ID do destinatário da mensagem e a própria mensagem a ser adaptada, e retorna a mensagem processada pelo adapter.

22

Referências

• [Fox 96] A. Fox, E. Brewer, S. Gribble, and E. Amir, “Adapting to Network and Client Variability via On-Demand Dynamic Distillation,” ASPLOS, 1996.

• [Mohan 99] R. Mohan, J. R. Smith and C.-S. Li, “Adapting Multimedia Internet Content for Universal Access”, IEEE Transactions on Multimedia, 1(1):104-114, 1999.

• [Pham 00] T.-L. Pham, G. Schneider and S. Goose, A situated computing framework for mobile and [ ] , , p gubiquitous multimedia access using small screen and composite devices,“ ACM Multimedia Conference, Oct.2000, Los Angeles, CA.

• [Chang, IWDC 02] S.F. Chang, “Optimal Video Adaptation and Skimming Using a Utility-Based Framework, Tyrrhenian International Workshop on Digital Communications (IWDC-2002), Capri Island, Italy, Sept. 2002.

• S. Ardon, P. Gunningberg, B. LandFeldt, M. Portmann Y. Ismailov, and A. Seneviratne. March:a distributed content adaptation architecture. International Journal of Communication 16(1):97-115,2003.

• A. Balachandran, A.T. Campbell, and M.E. Kounavis. Active ¯lters: Delivering scalable media to mobile devices. In Seventh Intl. Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), St Louis, May 1997

• E. Brewer and et al. A network architecture for heterogeneous mobile computing. IEEE Personal Communications Magazine, oct 1998.

4343

g ,

• Yih-Farn Chen, Huale Huang, Rittwik Jana, Trevor Jim, Matti Hiltunen, Sam John, Serban Jora, Radhakrishnan Muthumanickam, and Bin Wei. iMobile ee: an enterprise mobile service platform. Wireless Networks, 9(4):283–297, 2003.

• Steven C. Ihde, Paul P. Maglio, Jörg Meyer, and Rob Barrett. Intermediary-based transcoding framework. In Ninth International World Wide Web Conference, Amsterdam, The Netherlands, 2000.

• H.K. Rubinsztejn, M. Endler, and N. Rodrigues. A Framework for Building Customized Adaptation Proxies for Mobile Computing. Proceedings of Intelligence Communication Systems (INTELLCOMM 2005), 1-11, 2005

• iMobile (ATT research):– iProxy: programmable proxy server designed

to host agents and services in Javato host agents and services in Java.– Programming abstractions:

• devlets, • applets,• infolets.

4444

23

MARCH

4545