SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket
PC
J. Gabriel González Serna1, 2
, Azucena Montes Rendón1
,Victor J. Sosa Sosa.1
y Juan Carlos Olivares R.1
{jcolivares04c, gabriel, amr, vjsosa}@cenidet.edu.mx
1
Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET)
Cuernavaca, Morelos, México.
2
Centro de Investigación en Computación (CIC-IPN)
México, D.F.
Resumen: Este trabajo presenta una propuesta
de solución para el problema de las frecuentes
desconexiones en clientes móviles del tipo
Pocket PC, en lo referente a la visualización de
páginas Web. También se muestra el estado de
arte y marco teórico de esta tecnología.
Abstract: This paper shows a methodology to
resolve the problem of the frequent
disconnections in mobile clients like Pocket PC,
in the context of Web pages visualization.
Keywords: Pocket PC, Hoarding, Transcoding,
Mobile clients, Wireless networks.
Introducción
En la actualidad, gracias a los grandes
descubrimientos en ciencia y tecnología, es
posible que las personas puedan entre otras
cosas, comunicarse y compartir información
entre sí en cualquier momento, a toda hora y en
todo lugar; a esto se le ha denominado cómputo
penetrante (pervasive computing). Uno de los
avances tecnológicos que ha hecho posible todo
esto es, sin duda, los dispositivos móviles.
Los dispositivos móviles son hoy en día muy
diversos, entre los que destacan los teléfonos
inteligentes (smart phones), los asistentes
personales digitales (PDA ), las computadoras
portátiles, las computadoras de mano (handheld)
o de bolsillo (Pocket PC), así como los sistemas
integrados (embedded systems) tales como
terminales de punto de venta, cajeros
automáticos, etc. Dichos equipos se han vuelto
muy populares debido principalmente a que su
costo disminuye día con día, mientras que su
poder de procesamiento aumenta
vertiginosamente. Entre las características
principales de estos dispositivos se encuentran
dos: su reducido tamaño y su conectividad con
otros equipos; la conectividad se logra
generalmente mediante el uso de redes
inalámbricas.
Según [1], durante el último trimestre de 2004,
se han vendido 1.4 millones de PDA (Pocket
PC) con Windows CE, lo cual supone que
Microsoft lidera el mercado con un 48.1% a
diferencia del 41.2% del año anterior. Palm OS
ha disminuido un 28% sus ventas, llegando a
850,000 ventas, mientras que el año pasado
fueron 1.2 millones los dispositivos que se
vendieron bajo el sistema Palm OS. Su porción
de mercado es ahora del 29.8%. Estas
estadísticas permiten ver que el crecimiento de
dispositivos móviles, en especial de equipos
Pocket PC, va aumentando a buen ritmo; poco a
poco, estos dispositivos empiezan a apoderarse
del mercado de computadoras.
Una de las mayores problemáticas que
presentan los dispositivos móviles es el
problema de la continua desconexión a la que se
ven sometidos, la cual se presenta de manera
más atenuada en este tipo de arquitectura que en
una plataforma de cómputo convencional. Este
problema genera, entre otras cosas, que se
pierda información o que no se pueda realizar
algún proceso como es debido [2]. Otro de los
problemas inherentes a este tipo de nuevas
tecnologías es la forma en como se presenta la
información, debido principalmente a las
limitaciones de las pantallas de despliegue y al
limitado poder de procesamiento (comparado
con equipos convencionales o de sobremesa) de
estos dispositivos.
La tendencia más generalizada en nuestros días
es que los equipos móviles converjan junto a las
plataformas convencionales en una sola; es
decir, en un futuro no muy lejano, se espera que
no exista mucha diferencia entre estas
arquitecturas. Internet está jugando un papel
muy importante en este menester, actuando
como catalizador para lograr la convergencia.
Marco conceptual
Para el buen entendimiento de este artículo, es
necesario explicar algunos conceptos que
aclaren básicamente las siguientes preguntas:
¿Qué es acaparamiento? ¿En qué consiste la
transformación (transcodificación) de
contenidos Web? ¿Qué es un dispositivo Pocket
PC?
Acaparamiento
El acaparamiento (hoarding) lo podemos definir
como el proceso de replicación y procesamiento
en desconexión de datos previamente
seleccionados y copiados localmente en el
cliente móvil [3].
El acaparamiento surge del hecho de que las
desconexiones, tanto planeadas como
accidentales, no están consideradas en las
arquitecturas tradicionales, en particular con la
arquitectura cliente/servidor.
En informática, el concepto de acaparamiento es
un proceso integral, el cual incluye las etapas de
acaparamiento de datos, desconexión y
reintegración.
Estado de acaparamiento de datos: Los
recursos requeridos para las operaciones son
precargados en la unidad móvil. La reubicación
de los datos es simple, debido a que los datos
son inaccesibles para otros sitios y para otros
nodos.
Para predecir las desconexiones de los equipos
móviles, se deben acaparar los recursos
periódicamente para poder trabajar en modo
desconexión. La pregunta medular en esta fase
consiste en ¿cómo anticipar las necesidades
futuras de los usuarios móviles? Una alternativa
consiste en que los usuarios especifican
explícitamente los datos que quieren; otra
alternativa es de manera implícita, la cual
consiste en examinar el historial de acceso a los
datos por parte del usuario, para tratar de
predecir de manera más óptima los recursos a
acaparar.
Estado de desconexión: En este estado, las
aplicaciones usan solamente los datos
disponibles de manera local. La petición de los
recursos se puede realizar insertado dichas
peticiones en una estructura de datos del tipo
cola para ser atendida a la brevedad, cuando
ocurra un evento de reconexión.
En esta fase surgen diversas dificultades como
las siguientes:
1. ¿Qué información debe mantenerse en una
bitácora para su correcta reintegración?
2. ¿Se deben mantener bitácoras pequeñas con
el objeto de ahorrar memoria y reducir el tiempo
del retardo de actualización y reintegración
cuando ocurra una reconexión?
Estado de reintegración: Al ser el
acaparamiento un proceso muy complejo,
surgen diversas inquietudes que tienen que ser
resueltas de manera apropiada para su correcta
operación:
1. ¿Cuál debe ser la unidad de acaparamiento:
bloques de archivos, archivos, grupos de
archivos o directorios?
2. ¿Cuándo se debe acaparar? La respuesta es:
cuando se necesita la información (i.e., cuando
la información es crítica).
3. ¿Qué recursos se deben acaparar? En esta
pregunta existe una gran diversidad de
respuestas; por ejemplo, se deben acaparar los
recursos de mayor prioridad, los recursos
definidos por el usuario, o los recursos más
accedidos.
4. ¿Cómo acaparar? Esta pregunta es
sumamente difícil de contestar, debido a que
existen diversas metodologías de solución, las
cuales resuelven problemas específicos.
Acaparamiento de sitios Web
Una de las características más preponderantes
que tienen las páginas Web, es que son más
usadas para la visualización que para las
actualizaciones, por lo que este hecho conlleva
un nuevo replanteamiento de la metodología de
acaparamiento, en este caso se debe determinar
¿qué páginas se deben acaparar?
Para soportar operaciones en modo
desconexión, la política de acaparamiento debe
ser extendida para cargar todos los documentos
de páginas previamente visitadas por el usuario
o anticipar las páginas que pueden ser visitadas
por el usuario.
Otro de los retos a resolver con respecto al
acaparamiento de páginas Web consiste en la
persistencia de la caché, la cual es crítica
durante las frecuentes desconexiones de los
equipos móviles. El acaparamiento no se puede
dar con la falta o ausencia de la caché.
En resumen, el esquema de acaparamiento
consta de los siguientes pasos:
1. Identificación de patrones de acceso.
2. Selección de los recursos que serán
replicados.
3. Control de reintegración de réplicas.
Transformador (transcodificador) de
contenidos Web
Por transcodificación (transcoding) se entiende
el proceso de convertir un formato o código a
otro, con la finalidad de que este nuevo formato
o código se adapte a la plataforma indicada para
su correcta visualización [4].
Dicha transformación surge del hecho de que las
personas de manera general representan las
mismas ideas con diferentes simbologías. En
este caso, no todos los equipos de cómputo
cuentan con las mismas capacidades técnicas
para desplegar a los usuarios la información, por
lo que, para que la información sea
comprendida de mejor forma, se hace necesario
realizar una adaptación del contenido de la
información.
El mecanismo de transformación o
transcodificación de contenidos Web, lleva a
cabo una reorganización y agrupación de los
elementos contenidos en la página Web
solicitada, y de acuerdo a la delimitación del
lenguaje de entrada (HTML ), dicho mecanismo
se aplica sólo a un subconjunto del universo de
documentos que se encuentran en Internet[5].
Como resultado final de la transcodificación, se
obtienen páginas Web cuyo formato de
presentación o visualización es óptimo para un
dispositivo de despliegue limitado, tratando de
respetar fielmente la semántica original del
documento o página.
Pocket PC
Es una de las plataformas no convencionales de
mayor proyección en el futuro inmediato, por lo
que es muy importante describir su arquitectura.
El objetivo de este apartado es dar una idea
general sobre el tema, por lo que no
profundizamos en términos técnicos referentes a
la electrónica de estos dispositivos.
Historia: El primer antecedente de lo que ahora
conocemos como Pocket PC (PPC), fue el
Newton de la compañía Apple desarrollado en
1993; sin embargo, fue un fracaso total, debido
en parte a sus altos costos y a que la tecnología
para estos dispositivos aún se encontraba en
pañales.
En 1996 surge la Palm Pilot, la cual se
convertiría en un éxito total, llamando la
atención del mercado y convirtiéndose en el
primer PDA en ser popular. Por las mismas
fechas, y como respuesta de Microsoft por tener
una parte del negocio de los dispositivos
móviles, aparece Windows CE. Dicho sistema
operativo portó la mayoría de las bibliotecas de
Windows de 32 bits para hacerlo lo más
compatible posible permitiendo a los usuarios
realizar las mismas acciones que en su PC de
escritorio.
Es hasta el año 2000 cuando aparece la versión
3.0 de Windows CE y con ella la plataforma
Pocket PC. Si bien Windows CE 3.0 es el
sistema operativo, la palabra Pocket PC (PPC)
designa dispositivos con ciertas características
impuestas por Microsoft a los fabricantes para
sus dispositivos.
En el 2002 surge la plataforma Pocket PC 2002
(PPC 2002), que aunque bien se basa en
Windows CE 3.0 toma algunas ideas de
Windows CE .NET.
En el 2003, Microsoft evoluciona su concepto
de cómputo móvil y presenta la plataforma
Windows Mobile, que tiende a agrupar tanto a
dispositivos PPC 2003 como teléfonos
inteligentes. La versión más actual de esta
arquitectura recibe el nombre de Windows
Mobile 2003 Second Edition, la cual tiene como
sistema operativo Windows CE 4.2.
Se acaba de anunciar la nueva versión de la
plataforma Pocket PC cuyo nombre será
Windows Mobile 5, el cual se lanzará a finales
de este año. Su característica principal será el
fuerte reconocimiento de voz para la mayoría de
las acciones del sistema.
Características: Entre las principales
características de estos dispositivos se
encuentran:
• Funcionalidad PIM (Personal Information
Manager), lo que en español conocemos como
Organizador electrónico, el cual, lejos de ser
una simple agenda electrónica, incluye
herramientas de gestión de información personal
tales como la posibilidad de enviar correos
electrónicos, programar tareas y notas. Un
programa PIM muy famoso es el Outlook de
Microsoft.
• Poseen algún tipo de conectividad, es decir,
cuentan con algún tipo de Interfaz de red,
actualmente la gran mayoría posee interfaces de
red inalámbrica del tipo WiFi (IEEE 802.11)
y/o Bluetooth (IEEE 802.15).
• Tienen despliegue de pantallas muy limitados.
Por ejemplo, la resolución debe ser de 240x320
píxeles, deben contar con pantallas a color con
por lo menos 16 colores, capacidad de
iluminación de la pantalla, pantalla táctil
(sensible al tacto).
• Deben contar con un dispositivo señalador de
tipo pluma, conector de audífonos, micrófono
integrado, bocinas, puerto externo (serial o
USB) de sincronización, ranura para tarjetas de
expansión (PCMCIA, Compact Flash, SD, etc.),
además de baterías recargables.
• Baja capacidad de procesamiento de datos, en
comparación con arquitecturas tradicionales,
pero dichos procesadores se encuentran
optimizados para las tareas que realizan.
• Cuentan con memoria limitada tanto de
almacenamiento primario como secundario,
generalmente las memorias son del tipo
FlashROM las cuales permiten grabar y borrar
datos de manera permanente. Aquí tanto la
RAM como la ROM sirven para almacenar
datos como programas, esto debido a que,
mientras tenga energía la batería, alimentará la
memoria RAM evitando la pérdida de
información.
Procesadores: Al ser una arquitectura abierta,
se han utilizado hardware muy diverso en su
construcción, en particular a lo referente a sus
microprocesadores, de los cuales se tienen
varios y que es necesario describirlos
brevemente [6] y [7].
Familia ARM: El primer microprocesador para
PPC y el más popular, fue el ARM (Advanced
RISC Machines), el cual fue diseñado y
manufacturado por Acorn Computer Group a
mediados de los 80s.
El ARM es un microprocesador CMOS de 32
bits diseñado en arquitectura RISC , lo cual
significa que tiene un reducido conjunto de
instrucciones en comparación con arquitecturas
CISC como x86 (familia de microprocesadores
de Intel) o m68k (familia de microprocesadores
de Motorola). Las ventajas de RISC incluyen la
posibilidad de optimizar la velocidad de
procesamiento, usando por ejemplo técnicas
como el pipelining (entubamiento).
Esta familia de microprocesadores es famosa
por tener entre sus dispositivos algunas consolas
como Nintendo 64, PlayStation, y la nueva
consola portátil de Nintendo: la Nintendo DS
(Dual Screen).
StrongARM, resultado del trabajo de ARM Ltd.
y Digital, usa el conjunto de instrucciones de los
procesadores ARM, pero el cual es construido
con los chips de bajo costo de las series Alpha.
Digital vendió su manufacturación de chips a
Intel Corporation. La famosa iPaq (la PPC más
vendida) de Compaq (ahora HP) utiliza este
microprocesador. La iPaq es la PPC donde más
esfuerzo se ha realizado para tratar de portar
Linux al mundo de las PPC; de hecho,
actualmente existen versiones muy estables de
Linux como los proyectos Pocket Linux, iPaq
Linux, Opie, Familiar, entre otros.
Xscale es un microcroprocesador del tipo RISC
SIMD (Single Instruction Multiple Data). En
arquitecturas RISC tradicionales, se tiene un
conjunto mínimo de instrucciones que un
microprocesador puede entender y ejecutar; por
el contrario, este tipo de arquitecturas híbridas,
se cuentan con un gran número de registros y
memoria de control, lo cual permite que su
desempeño sea más óptimo y veloz. Este chip es
fabricado por Intel, por lo que actualmente su
uso está creciendo enormemente.
Con la aparición de Windows Mobile 2003,
Microsoft ha determinado que dejará de ofrecer
su sistema operativo Windows CE para PPC
para microprocesadores que no sean
descendientes de la familia ARM; esto debido
principalmente a dos razones: la primera,
referente a la dificultad de mantener códigos
diferentes de distintos microprocesadores y
segunda, porque ARM está dominando y según
Microsoft dominará el mercado de PPC por
muchas años más, gracias a la participación
activa de Intel.
Familia MIPS: MIPS es un microprocesador
del tipo VLSI RISC de 32 bits desarrollado por
la compañía japonesa NEC, que cuenta entre sus
características principales que permite
entubamiento y cuenta con un software
reorganizador de códigos, que entre otras cosas,
permite un mayor rendimiento. Cada instrucción
en promedio es realizada en dos ciclos de reloj.
Ejemplos de este tipo de micro es el MIPS-X.
Este tipo de microprocesadores son muy usados
en ambientes de servidores, estaciones de
trabajo y mainframes. Desde su diseño se trató
de portar toda la funcionalidad y robustez con
que cuentan estos microprocesadores al
ambiente móvil.
Entre sus mayores glorias cuentan con ser el
microprocesador con el que se construyen las
famosas estaciones de trabajo Silicion Graphics
(SGI) las cuales han creado la mayoría de las
películas animadas y efectos visuales de las
películas más recientes. La PPC más venida en
Japón, la Cassiopedia de la compañía Casio
utiliza este microprocesador. En consolas de
videojuegos, la PlaySation 2 de Sony utiliza una
versión especial de este microprocesador.
Familia SH: SH3 es desarrollado por la
compañía japonesa Hitachi, pertenece a la
familia de microprocesadores Super H
(Hitachi), los cuales son microprocesadores de
32 bits con instrucciones de 16 bits.
Entre las características principales de un
microprocesador SH3 podemos destacar las
siguientes: su diminuto tamaño y su bajo
consumo de energía, lo cual lo hacen ideal para
sistemas de cómputo móviles o sistemas
multimedia.
Entre los máximos exponentes de dispositivos
que emplean estos microprocesadores para su
CPU se encuentran la consola de Videojuegos
DreamCast de la compañía japonesa Sega y la
ahora extinta, PPC Jornada de la compañía HP.
Actualmente, están disponibles en el mercado
las mejoras de este procesador llamadas SH4 y
SH5.
Antecedentes del proyecto
Este proyecto de tesis forma parte de la
arquitectura del proyecto “Moviware” [8].
La finalidad de Moviware consiste en dar
soporte a clientes móviles inalámbricos que
operan en un ambiente de red inestable, sujetos
a experimentar diversos fenómenos mientras se
encuentran trabajando.
Es una plataforma prototipo que se compone de
los siguientes módulos:
1. Gestor (“broker”) de desconexión y
reconexión. Este componente se encarga de
gestionar y procesar los eventos de desconexión
que se puedan presentar de manera voluntaria
(si el cliente lo solicita explícitamente) o
involuntaria (sin previo aviso).
2. Generador de patrones de acceso a sitios Web
basado en algoritmos de minería de reglas de
asociación. Estos componentes extraen patrones
de acceso en base a mecanismos de minería de
datos. Los patrones generados son clasificados y
colocados en un contenedor para su posterior
recuperación en base a criterios de selección que
el gestor de acaparamiento determina.
3. Gestor de acaparamiento de recursos
informáticos. Tiene la función de interpretar el
perfil de conducta de los usuarios móviles para
poder identificar el patrón de acceso que
permita la precarga de los recursos informáticos
que el patrón indique. También proporciona los
servicios para el procesamiento de los recursos
acaparados en modo de desconexión.
4. Gestor de contenidos Web. Este componente
se encarga de devolver recursos Web a
dispositivos móviles, atendiendo a las
características particulares de esos dispositivos.
La arquitectura de MoviWare es la siguiente:
Intermediario
Patrones
Gestor de Cache
de Acaparamiento
Recurso
Acaparado
Historial
De
Accesos
Minero
Encapsulador de
patrón
Identificador de
Patrón
Cliente Móvil
Inalámbrico
Gestor Local de
Acaparamiento
Gestor de
Acaparamiento
Clasificador de
Patrones
Aplicación
(Netscape, Explorer,
Pocket IE
Transcodificador
de contenidos Web
Identificador
De perfil de dispositivo
Generador de
Patrones
Generador de
árbol Patrón
Analizador de
Página HTML
Generador de página
Web
Transcodificada
Gestor de
Desconexión
Gestor de
Desconexión
HTTPHTTP
FTPFTP
Proxy Cache Squid
Cache
transcodificada
Cache
Gestor de
caches
Intranet
IEEE802.11
Intermediario
Patrones
Gestor de Cache
de Acaparamiento
Recurso
Acaparado
Historial
De
Accesos
Minero
Encapsulador de
patrón
Identificador de
Patrón
Cliente Móvil
Inalámbrico
Gestor Local de
Acaparamiento
Gestor de
Acaparamiento
Clasificador de
Patrones
Aplicación
(Netscape, Explorer,
Pocket IE
Transcodificador
de contenidos Web
Identificador
De perfil de dispositivo
Generador de
Patrones
Generador de
árbol Patrón
Analizador de
Página HTML
Generador de página
Web
Transcodificada
Gestor de
Desconexión
Gestor de
Desconexión
HTTPHTTP
FTPFTP
Gestor de
Desconexión
Gestor de
Desconexión
HTTPHTTP
FTPFTP
Proxy Cache Squid
Cache
transcodificada
Cache
Gestor de
caches
Intranet
IEEE802.11
Figura 1. Arquitectura Moviware.
Objetivo del proyecto
El objetivo general de este proyecto consiste en
diseñar e implementar un prototipo de agente
intermediario para plataforma Pocket PC 2000,
que gestione el acaparamiento de páginas Web
transcodificadas cuando se presenten eventos de
desconexión.
Beneficios: entre los beneficios que se desean
obtener de este tema de tesis se encuentran:
1. Visualización de páginas Web en modo de
desconexión en dispositivos PPC, de manera
transparente para el usuario.
2. Agilizar los tiempos de acceso a las páginas
Web, al tener un sitio Web acaparado de manera
local, cuando se presenten desconexiones.
3. Visualización de páginas Web de forma
adecuada, de tal forma que su visualización no
dependa de las limitantes de su pantalla.
4. La facilidad de administración y, por ende de
programación, al no tener páginas distintas para
distintas plataformas.
5. Ahorro de energía en dispositivos que
dependen de un suministro finito, esto como
consecuencia de trabajar en modo de
desconexión.
Descripción del problema
La Web es uno de los servicios más utilizados
de la Internet, razón por la cual se ha convertido
en una de las principales fuentes de búsqueda de
información, de ocio, de negocio, de
intercambio de datos, etcétera; motivo por el
cual su funcionamiento es crítico en muchos
entornos de nuestra sociedad.
Desgraciadamente, los equipos móviles están
propensos a constantes desconexiones y, por
otra parte, la Web por naturaleza, requiere de
una conexión permanente para poder operar. Si
no existe tal conexión, los recursos solicitados a
través de la Web no se encuentran disponibles.
Por este motivo, es necesario un mecanismo
para poder hacer accesible los recursos de un
sitio Web sin necesidad de conexión.
Por otra parte, debido a las limitantes de los
dispositivos móviles, los sitios Web no pueden
ser visualizados correctamente en esta clase de
dispositivos, razón por la cual se requiere de un
mecanismo para poder visualizar correctamente
las páginas Web en un dispositivo móvil con
despliegue limitado.
El nivel de complejidad que se identifica en el
desarrollo de aplicaciones para plataforma PPC
es sumamente alto, el problema fundamental es
el siguiente: Se pueden encontrar dispositivos
PPC con diferentes microprocesadores (e.g.
ARM, SH3, MIPS, etc.); para cada
microprocesador se debe desarrollar una
aplicación, lo que conlleva a la transportabilidad
del código fuente para crear código ejecutable
para cada plataforma, lo cual implica la
existencia de un compilador para cada
microprocesador. En este apartado, debemos
tener en cuenta que la diversidad de
microprocesadores puede llevar a cambios en la
forma de implementar algunas funciones o
instrucciones, sin embargo, la lógica del
programa no cambia por que la implementación
de nuestro agente intermediario se hará en
lenguajes de alto nivel, en contraste con un
lenguaje de bajo nivel (ensamblador), donde
cada programa es dependiente de la arquitectura
(un programa para un tipo de microprocesador
es único para ese tipo de microprocesador).
Se ha identificado que otro de los problemas
más complejos a resolver, consiste en lograr la
interoperabilidad entre los distintos módulos
que componen la arquitectura Moviware, dicha
interoperabilidad se logra integrando y
coordinando los módulos respectivos en uno
solo. El problema de lograr esta
interoperabilidad se debe a que dichos módulos
han sido desarrollados en diferentes lenguajes
de programación (Java, C++), por diferentes
personas y con distintos enfoques; lograr esta
integración requiere entender su funcionamiento
y sobre todo, conocer sus interfaces de entrada y
salida.
Otro de los problemas de mayor complejidad
que presenta esta tesis, consiste en el manejo del
acaparamiento de sitios Web transcodificados
en un dispositivo PPC, debido principalmente a
los siguientes subproblemas:
1. Los mecanismos de replicación o precarga
están muy orientados a base de datos y memoria
caché, y prácticamente no existen mecanismos
que permitan el acaparamiento de recursos
informáticos, en especial con sitios Web y en
particular con los dispositivos móviles PPC.
2. La mayor problemática que presenta el
acaparamiento consiste en el control de las
réplicas tanto de manera local como del lado del
servidor, es por ello que se necesita un módulo
o mecanismo controlador que gestione la
negociación de dichas réplicas de tal forma que
sea automatizado y transparente para el usuario.
3. Otros de los factores a considerar en cuanto a
la cuestión del acaparamiento es el tamaño de
los recursos, debido a las limitantes de
almacenamiento impuestas a los dispositivos
PPC, esto hace necesario que exista un
mecanismo que controle el tamaño máximo de
los recursos a acaparar, el tipo de archivos a
acaparar, el tamaño máximo destinado al
acaparamiento en general, el directorio local de
almacenamiento, por mencionar algunas
restricciones
Tanto el manejo de eventos de conexión cómo
de reconexión, no están pensados en una
arquitectura cliente servidor tradicional, ya que
el modelo cliente/servidor en clientes móviles
esta inmerso en un ambiente de continuas
desconexiones, se hace necesario de un
mecanismo que controle y administre los
eventos de desconexión. Esto con lleva a un
cambio de paradigmas en la forma de realizar
software de red, debemos tener presente que las
desconexiones ocurren de forma más seguida
que en otro tipo de plataformas.
Metodología de la solución
El esquema de solución que se propone consiste
en una adaptación del esquema cliente/servidor
orientada a clientes móviles, este modelo consta
tanto de clientes móviles, como de un servidor
encargado de brindar servicios de recursos Web;
en medio de nuestros clientes y servicios se
encuentra nuestra capa de intermediarios, tanto
del lado del cliente como del lado del servidor,
el modelo general propuesto puede visualizarse
en la figura 4.
El modelo conceptual con la que se pretende
solucionar el problema se esquematiza en la
figura 2.
Esta arquitectura consta de manera general de
dos partes, la primera parte del lado del
dispositivo cliente móvil PPC, del otro lado, se
muestra el mecanismo del lado del servidor.
Entre estas dos partes, se encuentra la interfaz
de red inalámbrica (en nuestro caso IEEE
802.11).
Del lado cliente, se encuentran dos partes
claramente diferenciadas, la primera es la
aplicación final al usuario, en nuestro caso, el
navegador (e.g. Pocket Internet Explorer u
otros.) que solicita recursos Web.
La arquitectura de solución se muestra en la
figura 3.
Por el otro, se encuentra el intermediario que se
va a desarrollar, en nuestro caso lo hemos
denominado GAP (Gestor de Acaparamiento
Pocket). Dicho intermediario consta de los
siguientes componentes:
MIPS
SH3
ARMARM
Internet
GAP (Gestor de Acaparamiento Pocket)
GAS (Gestor de Acaparamiento del Servidor):
SQUID
Figura 2. Esquema general de la arquitectura propuesta.
Navegador (IPE, Netscape)Navegador (IPE, Netscape)
GAP
Cliente Pocket PC
WiFi
¿Conexión?
¿Caché?
T
Caché transcodificada
Sí
No
No à Error
Sí
Conversión
local / Web
Analizador
HTTP
GAS
W
Internet
Squid
¿Transcodificada?
Transcodificador
¿Actual?
Acaparador
T
Caché transcodificada
Sincronizador
Caché servidor
Sincronizador
Caché local
Sí
Sí
No
No
Éxito
G
D
L
GAL
MT
MA
Arquitectura propuesta
Observador
Gestor de
Desconexión
Módulos a integrar pertenecientes a Moviware
Figura 3. Arquitectura propuesta.
1. Observador.- También llamado vigía, su
objetivo fundamental es revisar y procesar las
peticiones tanto de entrada como de salida que
van o vienen dirigidas a la aplicación
(navegador Web).
2. Gestor de Desconexión (GDL).- Tiene la
función de revisar el medio físico de conexión y
determinar si el cliente se encuentra conectado o
no.
3. Gestor de Acaparamiento Local (GAL).-
Cuya misión consiste fundamentalmente en dos
cosas:
a. Revisar si existe un recurso acaparado, en
caso de existir se manda el recurso solicitado
(en este caso el Observador debe de cambiar el
encabezado para hacer creer al navegador que la
solicitud viene del exterior); en caso de no
existir el recurso acaparado, se manda un
mensaje de error, el observador deberá construir
una página Web con un mensaje de error que el
usuario visualizará.
b. Controlar la sincronización de la caché
transcodificada local con la caché del Servidor.
Del lado del servidor, encontramos dos
elementos principales: el servidor Proxy caché
Squid, encargado de obtener los recursos Web
solicitados; y el intermediario del lado del
servidor, el cual hemos denominado GAS
(Gestor de Acaparamiento del Servidor), esta
arquitectura consta de los siguientes elementos:
1. Mecanismo Transcodificador (MT).- Es el
encargado de transcodificar (transformar una
página Web para su correcta visualización en un
dispositivo de despliegue limitado) los recursos
Web obtenidos del servidor Squid. (Este módulo
es parte de Moviware y se le harán las
modificaciones pertinentes a fin de integrarlo en
este trabajo de tesis).
2. Analizador HTTP.- Es el encargado de
analizar el contenido del encabezado HTTP de
la solicitud del cliente, en este caso nos interesa
encontrar información como el recurso
solicitado, el tipo de cliente que realiza la
petición (sistema operativo, tipo de
microprocesador), la fecha de modificación del
recurso solicitado, entre otros campos. Este
analizador es similar a un módulo identificador
de dispositivo.
3. Mecanismo Acaparador (MA).- Se encarga
de dos funciones básicas, acaparar un sitio Web
transcodificado y sincronización de la caché
transcodificada, para esta última opción debe
haber un control de versiones entre la caché
local y la caché del servidor (este módulo existe
en Moviware pero en la versión sin
transcodificar, la intención es integrar este
módulo y el intermediario que se desarrollará,
de tal forma que detecte el dispositivo desde el
cual se está realizando una petición de un
recurso Web y se envié el recurso
transcodificado o no).
4. Gestor de desconexión (GD).- Es el
encargado de revisar el medio inalámbrico y,
procesar todas las peticiones realizadas por el
cliente que no pudieron ser atendidas, cuando se
presentó el evento de desconexión.
En lo referente a herramientas a utilizar, aun no
se han definido las herramientas definitiva de
desarrollo, actualmente, nos encontramos en una
fase de investigación en cuanto a herramientas y
entornos de programación se refiere; como
posibles alternativas se tienen el uso de
herramientas como el Microsoft eMbedded
Tools (eMbedded Visual Basic y eMbedded
Visual C++), Visual Studio .NET (Visual Basic
.NET y Visual C#), así como analizar algunas
variantes de Java (se deben tener máquinas
virtuales especiales para PPC), como es el caso
J2ME (Java 2 Micro Edition), Personal Java y
Embedded Java.
Limitaciones
Entre las limitantes que tiene nuestro trabajo de
tesis se encuentran las siguientes:
1. El GAP sólo se implementará para plataforma
PPC 2000 (no se garantiza que trabaje sobre
otras plataformas de PPC como PPC 2002 o
Windows Mobile 2003).
2. Los microprocesadores para los cuales se
generará código ejecutable del GAP son: SH3,
ARM y MIPS (tampoco se garantiza que corra
sobre arquitecturas de microprocesadores más
modernos).
3. El acaparamiento en el GAP estará limitado a
las características propias del PPC (definiremos
un sistema con características mínimas para
realizar el acaparamiento).
4. El GAS se limitará a los servicios
proporcionados por la arquitectura Moviware
(no pretendemos en principio realizar
modificaciones a las funcionalidad de cada
módulo a integrar, es decir, los módulos a
integrar se quedarán con sus alcances y
limitaciones respectivos, simplemente se
realizarán modificaciones para lograr su
coordinación).
Trabajos relacionados
Aunque existen muchos trabajos relacionados
con el acaparamiento, éstos se enfocan a base de
datos (replicación) y memoria (precarga), por lo
que el abanico de trabajos relaciones disminuye
considerable.
En [9] trabajo plantea una metodología (la cual
nos servirá de base para replantear nuestra
propia metodología) para realizar acaparamiento
en dispositivos móviles, desgraciadamente estos
dispositivos móviles comprenden plataformas
convencionales (laptops y computadoras de
escritorios) con interfaces de red inalámbricas.
Otra deficiencia que presente este trabajo,
consiste en que no realiza transcodificación de
contenidos Web.
En [3] sirve de base para realizar el
acaparamiento, es decir, mediante algoritmos de
minería de uso Web aplicados a bitácoras de
servidores Web, encuentra un conjunto de
Reglas de asociación que permiten predecir los
posibles recursos que el usuario podría
necesitar; dichas reglas se guardan en un
contenedor de patrones, y es de aquí de donde
nuestro proyecto va partir para realizar el
acaparamiento.
Esta aplicación no realiza acaparamiento, es
decir, por si sola no tiene una aplicación final
visible a los usuarios. Actualmente se esta
realizando un trabajo de tesis dentro del cenidet
que pretende mejorar la funcionalidad de este
trabajo, pero como aun no está terminado, no lo
estamos tomando de referencia.
En [5] propone una metodología (la cual se
tiene contemplada integrar en este trabajo de
tesis) para realizar la transcodificación de
páginas Web, desgraciadamente no realiza
acaparamiento de estas páginas ya
transcodificadas y aunque está enfocada para
dispositivos PPC, no se realiza ningún
procesamiento (programación) en éste, el
trabajo de transcodificación se realiza en un
intermediario que se encuentra del lado del
servidor, el cual pertenece a un equipo de
cómputo tradicional.
En [10] consiste en un middleware para
dispositivos móviles que gestiona diversos
recursos cuando se presentan eventos de
desconexión, en este sentido este trabajo tiene
una gran similitud con nuestro tema de tesis, la
primera diferencia fundamental consiste en el
área que se cubre. En nuestro tema de tesis el
enfoque es de manera general para cualquier
sitio (con sus respectivas limitantes), mientras
que en este trabajo relacionado, se enfoca hacia
una aplicación de aprendizaje móvil (M-
Learning) denominada m-Eldit (versión móvil
del programa de e-Learning ‘Eldit’ ).
Otro aspecto muy similar de este proyecto con
el nuestro, consiste en que este trabajo
relacionado realiza acaparamiento basado en el
seguimiento (tracking) del usuario, es decir, la
predicción de los recursos a acaparar se realiza
de manera más sencilla, debido a que deduce los
posibles recursos a acaparar en base a los
recursos faltantes que tiene que completar dicho
usuario; es decir, el acaparamiento se realiza de
manera especial para cada usuario, mientras que
en nuestro tema de tesis el acaparamiento se
realiza de manera general para todos los
usuarios. Para dejar más claro esto, supongamos
que el usuario X ha tomado los temas uno, dos y
cinco de un curso de 6 lecciones, por lo que lo
más probable es que a futuro, el usuario ocupe
los cursos tres, cuatro y seis. Mientras que en un
sitio Web, determinar que recursos se deben
acaparar a los usuarios es más complejos, ya
que las preferencias de los usuarios son
extremadamente variantes.
Este trabajo de tesis utiliza y propone una
metodología de acaparamiento que está
enfocada hacia dispositivos PPC; también
realiza un tipo especial de transcodificación,
dicha transformación se realiza de forma
personalizada gracias a que se cuenta con el
perfil del usuario. La personalización realizada
en este trabajo, consiste simplemente en el
cambio de parámetros a visualizar, como son los
colores de la interfaz, el tamaño de las letras
etc.; mientras que en nuestro trabajo la
transcodificación se realiza de manera genérica
de todos los sitios Web.
Referencias bibliográficas
[1] Gold Jack, “Pocket PC: An Evolutionary Advance
Infrastructure Strategies, Web & Collaboration
Strategies”, febrero de 2005, http://www.gartner.com/
[2] Alarcón Gálvez Fernando, “Mecanismo para Gestión
de Conexión en Sistemas Cliente/Servidor Móviles”,
tesis de maestría, cenidet, agosto de 2002.
[3] Valenzuela Molina David R., “Mecanismo para
Predicción de Acaparamiento de Datos en Sistemas
Cliente/Servidor Móviles”, tesis de maestría, cenidet,
agosto de 2002.
[4] Chanchaem Thong, “A Survey on Internet Content
Transcoding for Universal Access”, Department of
Computer Science, Kent State University, mayo de
2003.
[5] Uriarte Cabada Claudia Selene. “Transformador de
Contenidos Web para Asistentes Personales Digitales”,
tesis de maestría, cenidet, julio de 2004.
[6] Clark David, “Mobile processors begin to grow up”,
revista IEEE Computer, pp. 22-25, marzo de 2002.
[7] Hattori Toshihiro, et al., “Design Methodology of a
200MHz superscalar microprocessor: SH-4” Hitachi,
Ltd., Tokio, Japón. 249 IEEE Proceedings of the 35th
Design Automation Conference (DAC’98) 0-89791-
964-5/98.
[8] González Serna Juan Gabriel. “Plataforma middleware
reflexiva para aplicaciones de cómputo móvil en
Internet (Movirware)”, Centro Nacional de
Investigación y Desarrollo Tecnológico (CENIDET),
de septiembre de 2001 a agosto de 2003,
financiamiento COSNET: 570.01-P.
[9] Verduzco Reyes Gustavo, “Gestor de Acaparamiento
de Patrones de Sitios Web en Clientes Móviles”, tesis
de maestría, cenidet, agosto de 2003.
[10] Trifonova Anna, “Hoarding Content in M-Learning
Context”, tesis doctoral en desarrollo, Universidad de
Trento, Italia, 2004.
V. Rodolfo García Colón Hernández
Ingeniero Mecánico Electricista egresado de la
Universidad Veracruzana en 1986. Obtuvo el
grado de Maestría en Sistemas de Potencia en
1990 y Doctorado en 1994 en el Instituto de
Ciencia y Tecnología de la Universidad de
Manchester, UMIST Inglaterra. Regresó al IIE
en 1994, como jefe del proyecto de
“Diagnóstico de transformadores de potencia y
equipo de subestaciones”. Es miembro del
Comité de Normalización de Transformadores
de Potencia de Distribución CFE-LAPEM-IIE y
del Comité Consultivo Nacional de
Normalización de Instalaciones Eléctricas de
Secretaría de Energía. Está reconocido por
CONACYT como evaluador de proyectos
tecnológicos y fue presidente del Capítulo de
Potencia del IEEE hasta el 2000. Actualmente
es presidente de la Sección Morelos IEEE y
Vicepresidente de Amime Sede Morelos.
Juan Carlos Olivares Rojas
Ingeniero en Sistemas Computacionales
egresado del Instituto Tecnológico de Morelia
en 2004. Es estudiante de la especialidad de
sistemas distribuidos en la Maestría en Ciencias
en Ciencias Computacionales en el Centro
Nacional de Investigación y Desarrollo
Tecnológico (CENIDET). Sus áreas de interés
son el cómputo móvil, sistemas de
telecomunicaciones y base de datos
Actualmente es vicepresidente de la rama
estudiantil de la IEEE del CENIDET.
Dirección del autor:
Laboratorio de Sistemas Distribuidos, Interior
Internado Palmira, col. Palmira, Cuernavaca,
Morelos, email: jcolivares04c@cenidet.edu.mx

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Modelos emergentes de bases de datos
Modelos emergentes de bases de datos Modelos emergentes de bases de datos
Modelos emergentes de bases de datos
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
Leomar martinez
Leomar martinezLeomar martinez
Leomar martinez
 
Cap1 sistemas
Cap1 sistemasCap1 sistemas
Cap1 sistemas
 
vicrael pineda
vicrael pinedavicrael pineda
vicrael pineda
 
Smbd
SmbdSmbd
Smbd
 
informatica
informaticainformatica
informatica
 
Tipos de Bases de Datos
Tipos de Bases de DatosTipos de Bases de Datos
Tipos de Bases de Datos
 
Andrews lugo
Andrews lugoAndrews lugo
Andrews lugo
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Bd en paginas web
Bd en paginas webBd en paginas web
Bd en paginas web
 

Destacado

El pensamiento humano y el conocimiento
El pensamiento humano y el conocimientoEl pensamiento humano y el conocimiento
El pensamiento humano y el conocimientoEuler
 
Aujourdhui Seulement
Aujourdhui SeulementAujourdhui Seulement
Aujourdhui Seulementguestfaa252
 
Plan D Action 2009
Plan D Action 2009Plan D Action 2009
Plan D Action 2009cdtsomme
 
Radiografía del agua en Chile. Visión desde el agro
Radiografía del agua en Chile. Visión desde el agroRadiografía del agua en Chile. Visión desde el agro
Radiografía del agua en Chile. Visión desde el agrocongresochile
 
Comment nettoyer votre carrelage avec la rotowash
Comment nettoyer votre carrelage avec la rotowashComment nettoyer votre carrelage avec la rotowash
Comment nettoyer votre carrelage avec la rotowashAngel FERRI
 
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...Manuel Mujica
 
Présentation espace rdv offre d'essai 1 mois
Présentation espace rdv offre d'essai 1 moisPrésentation espace rdv offre d'essai 1 mois
Présentation espace rdv offre d'essai 1 moisJulien Audran
 
La ciencia y su relacion con el pensamiento y la realidad
La ciencia y su relacion con el pensamiento y la realidadLa ciencia y su relacion con el pensamiento y la realidad
La ciencia y su relacion con el pensamiento y la realidadEuler
 
Desarrollo extensiones en OpenOffice.org
Desarrollo extensiones en OpenOffice.orgDesarrollo extensiones en OpenOffice.org
Desarrollo extensiones en OpenOffice.orgAlexandro Colorado
 
Paris2.0 Ubimedia et hyperlieu Sqliagency
Paris2.0 Ubimedia et hyperlieu SqliagencyParis2.0 Ubimedia et hyperlieu Sqliagency
Paris2.0 Ubimedia et hyperlieu SqliagencyFrançois VERRON
 
Statistiques web du CDT 80 d'août 2009
Statistiques web du CDT 80 d'août 2009Statistiques web du CDT 80 d'août 2009
Statistiques web du CDT 80 d'août 2009cdtsomme
 
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...Juan Carlos Olivares Rojas
 
La curation de contenu en quelques minutes !
La curation de contenu en quelques minutes !La curation de contenu en quelques minutes !
La curation de contenu en quelques minutes !Grégory MAUBON, PhD
 

Destacado (20)

Reformateador
ReformateadorReformateador
Reformateador
 
Ortodigital
OrtodigitalOrtodigital
Ortodigital
 
Cirtapres
CirtapresCirtapres
Cirtapres
 
VTS Tanger
VTS TangerVTS Tanger
VTS Tanger
 
#25ansAPESS. L'APESS et l'évolution de l'élevage par Loïc Barbedette
#25ansAPESS. L'APESS et l'évolution de l'élevage par Loïc Barbedette#25ansAPESS. L'APESS et l'évolution de l'élevage par Loïc Barbedette
#25ansAPESS. L'APESS et l'évolution de l'élevage par Loïc Barbedette
 
El pensamiento humano y el conocimiento
El pensamiento humano y el conocimientoEl pensamiento humano y el conocimiento
El pensamiento humano y el conocimiento
 
Aujourdhui Seulement
Aujourdhui SeulementAujourdhui Seulement
Aujourdhui Seulement
 
Plan D Action 2009
Plan D Action 2009Plan D Action 2009
Plan D Action 2009
 
Postiaux jfk2011
Postiaux jfk2011Postiaux jfk2011
Postiaux jfk2011
 
Radiografía del agua en Chile. Visión desde el agro
Radiografía del agua en Chile. Visión desde el agroRadiografía del agua en Chile. Visión desde el agro
Radiografía del agua en Chile. Visión desde el agro
 
Comment nettoyer votre carrelage avec la rotowash
Comment nettoyer votre carrelage avec la rotowashComment nettoyer votre carrelage avec la rotowash
Comment nettoyer votre carrelage avec la rotowash
 
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...
Plataforma de Comunicación Remota para la Enseñanza a Distancia en el área de...
 
Présentation espace rdv offre d'essai 1 mois
Présentation espace rdv offre d'essai 1 moisPrésentation espace rdv offre d'essai 1 mois
Présentation espace rdv offre d'essai 1 mois
 
La ciencia y su relacion con el pensamiento y la realidad
La ciencia y su relacion con el pensamiento y la realidadLa ciencia y su relacion con el pensamiento y la realidad
La ciencia y su relacion con el pensamiento y la realidad
 
Desarrollo extensiones en OpenOffice.org
Desarrollo extensiones en OpenOffice.orgDesarrollo extensiones en OpenOffice.org
Desarrollo extensiones en OpenOffice.org
 
Paris2.0 Ubimedia et hyperlieu Sqliagency
Paris2.0 Ubimedia et hyperlieu SqliagencyParis2.0 Ubimedia et hyperlieu Sqliagency
Paris2.0 Ubimedia et hyperlieu Sqliagency
 
Elections
ElectionsElections
Elections
 
Statistiques web du CDT 80 d'août 2009
Statistiques web du CDT 80 d'août 2009Statistiques web du CDT 80 d'août 2009
Statistiques web du CDT 80 d'août 2009
 
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
 
La curation de contenu en quelques minutes !
La curation de contenu en quelques minutes !La curation de contenu en quelques minutes !
La curation de contenu en quelques minutes !
 

Similar a Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móviles Heterogeneos

GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...
GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...
GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...Juan Carlos Olivares Rojas
 
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...Juan Carlos Olivares Rojas
 
Guía didactica módulo iv sub ii
Guía didactica módulo iv sub iiGuía didactica módulo iv sub ii
Guía didactica módulo iv sub iijacob_188
 
proyecto final de redes
proyecto final de redesproyecto final de redes
proyecto final de redeselena medrano
 
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...Juan Carlos Olivares Rojas
 
CUESTIONARIO SISTEMA OPERATIVO
CUESTIONARIO SISTEMA OPERATIVOCUESTIONARIO SISTEMA OPERATIVO
CUESTIONARIO SISTEMA OPERATIVOangelaq121
 
Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Roberto Encarnación
 
Unidad 4
Unidad 4Unidad 4
Unidad 4mi casa
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Software libre en la educacion
Software libre en la educacionSoftware libre en la educacion
Software libre en la educacionbettyespinoza
 
Software libre en la educacion
Software libre en la educacionSoftware libre en la educacion
Software libre en la educacionbettyespinoza
 
Base de datos distribuidos 2
Base de datos distribuidos 2Base de datos distribuidos 2
Base de datos distribuidos 2leybit
 
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...Juan Carlos Olivares Rojas
 
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)LuisEnriqueMerinoSul
 

Similar a Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móviles Heterogeneos (20)

Propuestafinal
PropuestafinalPropuestafinal
Propuestafinal
 
GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...
GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...
GAP: Una Herramienta para Visualizar Páginas Web en Dispsitvos M´poviles Hete...
 
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...
Ahorro de Energía en la Visualización de Sitios Web en Dispositivos Móviles H...
 
Premio intel
Premio intelPremio intel
Premio intel
 
Guía didactica módulo iv sub ii
Guía didactica módulo iv sub iiGuía didactica módulo iv sub ii
Guía didactica módulo iv sub ii
 
Reporte1
Reporte1Reporte1
Reporte1
 
Creatividad
CreatividadCreatividad
Creatividad
 
Olivares
OlivaresOlivares
Olivares
 
proyecto final de redes
proyecto final de redesproyecto final de redes
proyecto final de redes
 
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...
Moviweb: A Platform to Solve the Web Content Visualization Problem on Heterog...
 
CUESTIONARIO SISTEMA OPERATIVO
CUESTIONARIO SISTEMA OPERATIVOCUESTIONARIO SISTEMA OPERATIVO
CUESTIONARIO SISTEMA OPERATIVO
 
Proyecto Factible
Proyecto FactibleProyecto Factible
Proyecto Factible
 
Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Software libre en la educacion
Software libre en la educacionSoftware libre en la educacion
Software libre en la educacion
 
Software libre en la educacion
Software libre en la educacionSoftware libre en la educacion
Software libre en la educacion
 
Base de datos distribuidos 2
Base de datos distribuidos 2Base de datos distribuidos 2
Base de datos distribuidos 2
 
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...
MoviWeb: Plataforma para Soportar el Acceso a Sitios Web desde Dispositivos M...
 
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)
Paper dialnet desarrollo-e_implementaciondeunprototipoparaunaplata-6523321 (1)
 

Más de Juan Carlos Olivares Rojas

Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersJuan Carlos Olivares Rojas
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasJuan Carlos Olivares Rojas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoJuan Carlos Olivares Rojas
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoJuan Carlos Olivares Rojas
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainJuan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityJuan Carlos Olivares Rojas
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Juan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionJuan Carlos Olivares Rojas
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
 

Más de Juan Carlos Olivares Rojas (20)

Ieee itmsb20
Ieee itmsb20Ieee itmsb20
Ieee itmsb20
 
Ropec20neural stick
Ropec20neural stickRopec20neural stick
Ropec20neural stick
 
Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board Computers
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las Cosas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en México
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobility
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer Interaction
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas Inteligentes
 
Estrategias didacticas
Estrategias didacticasEstrategias didacticas
Estrategias didacticas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas Inteligentes
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
 

Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móviles Heterogeneos

  • 1. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC J. Gabriel González Serna1, 2 , Azucena Montes Rendón1 ,Victor J. Sosa Sosa.1 y Juan Carlos Olivares R.1 {jcolivares04c, gabriel, amr, vjsosa}@cenidet.edu.mx 1 Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) Cuernavaca, Morelos, México. 2 Centro de Investigación en Computación (CIC-IPN) México, D.F. Resumen: Este trabajo presenta una propuesta de solución para el problema de las frecuentes desconexiones en clientes móviles del tipo Pocket PC, en lo referente a la visualización de páginas Web. También se muestra el estado de arte y marco teórico de esta tecnología. Abstract: This paper shows a methodology to resolve the problem of the frequent disconnections in mobile clients like Pocket PC, in the context of Web pages visualization. Keywords: Pocket PC, Hoarding, Transcoding, Mobile clients, Wireless networks. Introducción En la actualidad, gracias a los grandes descubrimientos en ciencia y tecnología, es posible que las personas puedan entre otras cosas, comunicarse y compartir información entre sí en cualquier momento, a toda hora y en todo lugar; a esto se le ha denominado cómputo penetrante (pervasive computing). Uno de los avances tecnológicos que ha hecho posible todo esto es, sin duda, los dispositivos móviles. Los dispositivos móviles son hoy en día muy diversos, entre los que destacan los teléfonos inteligentes (smart phones), los asistentes personales digitales (PDA ), las computadoras portátiles, las computadoras de mano (handheld) o de bolsillo (Pocket PC), así como los sistemas integrados (embedded systems) tales como terminales de punto de venta, cajeros automáticos, etc. Dichos equipos se han vuelto muy populares debido principalmente a que su costo disminuye día con día, mientras que su poder de procesamiento aumenta vertiginosamente. Entre las características principales de estos dispositivos se encuentran dos: su reducido tamaño y su conectividad con otros equipos; la conectividad se logra generalmente mediante el uso de redes inalámbricas. Según [1], durante el último trimestre de 2004, se han vendido 1.4 millones de PDA (Pocket PC) con Windows CE, lo cual supone que Microsoft lidera el mercado con un 48.1% a diferencia del 41.2% del año anterior. Palm OS ha disminuido un 28% sus ventas, llegando a 850,000 ventas, mientras que el año pasado fueron 1.2 millones los dispositivos que se vendieron bajo el sistema Palm OS. Su porción de mercado es ahora del 29.8%. Estas estadísticas permiten ver que el crecimiento de dispositivos móviles, en especial de equipos Pocket PC, va aumentando a buen ritmo; poco a poco, estos dispositivos empiezan a apoderarse del mercado de computadoras. Una de las mayores problemáticas que presentan los dispositivos móviles es el problema de la continua desconexión a la que se ven sometidos, la cual se presenta de manera más atenuada en este tipo de arquitectura que en una plataforma de cómputo convencional. Este problema genera, entre otras cosas, que se pierda información o que no se pueda realizar algún proceso como es debido [2]. Otro de los problemas inherentes a este tipo de nuevas tecnologías es la forma en como se presenta la información, debido principalmente a las limitaciones de las pantallas de despliegue y al limitado poder de procesamiento (comparado con equipos convencionales o de sobremesa) de estos dispositivos. La tendencia más generalizada en nuestros días es que los equipos móviles converjan junto a las plataformas convencionales en una sola; es decir, en un futuro no muy lejano, se espera que no exista mucha diferencia entre estas arquitecturas. Internet está jugando un papel muy importante en este menester, actuando como catalizador para lograr la convergencia. Marco conceptual Para el buen entendimiento de este artículo, es necesario explicar algunos conceptos que aclaren básicamente las siguientes preguntas: ¿Qué es acaparamiento? ¿En qué consiste la transformación (transcodificación) de contenidos Web? ¿Qué es un dispositivo Pocket PC?
  • 2. Acaparamiento El acaparamiento (hoarding) lo podemos definir como el proceso de replicación y procesamiento en desconexión de datos previamente seleccionados y copiados localmente en el cliente móvil [3]. El acaparamiento surge del hecho de que las desconexiones, tanto planeadas como accidentales, no están consideradas en las arquitecturas tradicionales, en particular con la arquitectura cliente/servidor. En informática, el concepto de acaparamiento es un proceso integral, el cual incluye las etapas de acaparamiento de datos, desconexión y reintegración. Estado de acaparamiento de datos: Los recursos requeridos para las operaciones son precargados en la unidad móvil. La reubicación de los datos es simple, debido a que los datos son inaccesibles para otros sitios y para otros nodos. Para predecir las desconexiones de los equipos móviles, se deben acaparar los recursos periódicamente para poder trabajar en modo desconexión. La pregunta medular en esta fase consiste en ¿cómo anticipar las necesidades futuras de los usuarios móviles? Una alternativa consiste en que los usuarios especifican explícitamente los datos que quieren; otra alternativa es de manera implícita, la cual consiste en examinar el historial de acceso a los datos por parte del usuario, para tratar de predecir de manera más óptima los recursos a acaparar. Estado de desconexión: En este estado, las aplicaciones usan solamente los datos disponibles de manera local. La petición de los recursos se puede realizar insertado dichas peticiones en una estructura de datos del tipo cola para ser atendida a la brevedad, cuando ocurra un evento de reconexión. En esta fase surgen diversas dificultades como las siguientes: 1. ¿Qué información debe mantenerse en una bitácora para su correcta reintegración? 2. ¿Se deben mantener bitácoras pequeñas con el objeto de ahorrar memoria y reducir el tiempo del retardo de actualización y reintegración cuando ocurra una reconexión? Estado de reintegración: Al ser el acaparamiento un proceso muy complejo, surgen diversas inquietudes que tienen que ser resueltas de manera apropiada para su correcta operación: 1. ¿Cuál debe ser la unidad de acaparamiento: bloques de archivos, archivos, grupos de archivos o directorios? 2. ¿Cuándo se debe acaparar? La respuesta es: cuando se necesita la información (i.e., cuando la información es crítica). 3. ¿Qué recursos se deben acaparar? En esta pregunta existe una gran diversidad de respuestas; por ejemplo, se deben acaparar los recursos de mayor prioridad, los recursos definidos por el usuario, o los recursos más accedidos. 4. ¿Cómo acaparar? Esta pregunta es sumamente difícil de contestar, debido a que existen diversas metodologías de solución, las cuales resuelven problemas específicos. Acaparamiento de sitios Web Una de las características más preponderantes que tienen las páginas Web, es que son más usadas para la visualización que para las actualizaciones, por lo que este hecho conlleva un nuevo replanteamiento de la metodología de acaparamiento, en este caso se debe determinar ¿qué páginas se deben acaparar? Para soportar operaciones en modo desconexión, la política de acaparamiento debe ser extendida para cargar todos los documentos de páginas previamente visitadas por el usuario o anticipar las páginas que pueden ser visitadas por el usuario. Otro de los retos a resolver con respecto al acaparamiento de páginas Web consiste en la persistencia de la caché, la cual es crítica durante las frecuentes desconexiones de los equipos móviles. El acaparamiento no se puede dar con la falta o ausencia de la caché. En resumen, el esquema de acaparamiento consta de los siguientes pasos: 1. Identificación de patrones de acceso. 2. Selección de los recursos que serán replicados. 3. Control de reintegración de réplicas. Transformador (transcodificador) de contenidos Web Por transcodificación (transcoding) se entiende el proceso de convertir un formato o código a otro, con la finalidad de que este nuevo formato o código se adapte a la plataforma indicada para su correcta visualización [4].
  • 3. Dicha transformación surge del hecho de que las personas de manera general representan las mismas ideas con diferentes simbologías. En este caso, no todos los equipos de cómputo cuentan con las mismas capacidades técnicas para desplegar a los usuarios la información, por lo que, para que la información sea comprendida de mejor forma, se hace necesario realizar una adaptación del contenido de la información. El mecanismo de transformación o transcodificación de contenidos Web, lleva a cabo una reorganización y agrupación de los elementos contenidos en la página Web solicitada, y de acuerdo a la delimitación del lenguaje de entrada (HTML ), dicho mecanismo se aplica sólo a un subconjunto del universo de documentos que se encuentran en Internet[5]. Como resultado final de la transcodificación, se obtienen páginas Web cuyo formato de presentación o visualización es óptimo para un dispositivo de despliegue limitado, tratando de respetar fielmente la semántica original del documento o página. Pocket PC Es una de las plataformas no convencionales de mayor proyección en el futuro inmediato, por lo que es muy importante describir su arquitectura. El objetivo de este apartado es dar una idea general sobre el tema, por lo que no profundizamos en términos técnicos referentes a la electrónica de estos dispositivos. Historia: El primer antecedente de lo que ahora conocemos como Pocket PC (PPC), fue el Newton de la compañía Apple desarrollado en 1993; sin embargo, fue un fracaso total, debido en parte a sus altos costos y a que la tecnología para estos dispositivos aún se encontraba en pañales. En 1996 surge la Palm Pilot, la cual se convertiría en un éxito total, llamando la atención del mercado y convirtiéndose en el primer PDA en ser popular. Por las mismas fechas, y como respuesta de Microsoft por tener una parte del negocio de los dispositivos móviles, aparece Windows CE. Dicho sistema operativo portó la mayoría de las bibliotecas de Windows de 32 bits para hacerlo lo más compatible posible permitiendo a los usuarios realizar las mismas acciones que en su PC de escritorio. Es hasta el año 2000 cuando aparece la versión 3.0 de Windows CE y con ella la plataforma Pocket PC. Si bien Windows CE 3.0 es el sistema operativo, la palabra Pocket PC (PPC) designa dispositivos con ciertas características impuestas por Microsoft a los fabricantes para sus dispositivos. En el 2002 surge la plataforma Pocket PC 2002 (PPC 2002), que aunque bien se basa en Windows CE 3.0 toma algunas ideas de Windows CE .NET. En el 2003, Microsoft evoluciona su concepto de cómputo móvil y presenta la plataforma Windows Mobile, que tiende a agrupar tanto a dispositivos PPC 2003 como teléfonos inteligentes. La versión más actual de esta arquitectura recibe el nombre de Windows Mobile 2003 Second Edition, la cual tiene como sistema operativo Windows CE 4.2. Se acaba de anunciar la nueva versión de la plataforma Pocket PC cuyo nombre será Windows Mobile 5, el cual se lanzará a finales de este año. Su característica principal será el fuerte reconocimiento de voz para la mayoría de las acciones del sistema. Características: Entre las principales características de estos dispositivos se encuentran: • Funcionalidad PIM (Personal Information Manager), lo que en español conocemos como Organizador electrónico, el cual, lejos de ser una simple agenda electrónica, incluye herramientas de gestión de información personal tales como la posibilidad de enviar correos electrónicos, programar tareas y notas. Un programa PIM muy famoso es el Outlook de Microsoft. • Poseen algún tipo de conectividad, es decir, cuentan con algún tipo de Interfaz de red, actualmente la gran mayoría posee interfaces de red inalámbrica del tipo WiFi (IEEE 802.11) y/o Bluetooth (IEEE 802.15). • Tienen despliegue de pantallas muy limitados. Por ejemplo, la resolución debe ser de 240x320 píxeles, deben contar con pantallas a color con por lo menos 16 colores, capacidad de iluminación de la pantalla, pantalla táctil (sensible al tacto). • Deben contar con un dispositivo señalador de tipo pluma, conector de audífonos, micrófono integrado, bocinas, puerto externo (serial o USB) de sincronización, ranura para tarjetas de expansión (PCMCIA, Compact Flash, SD, etc.), además de baterías recargables. • Baja capacidad de procesamiento de datos, en comparación con arquitecturas tradicionales, pero dichos procesadores se encuentran optimizados para las tareas que realizan.
  • 4. • Cuentan con memoria limitada tanto de almacenamiento primario como secundario, generalmente las memorias son del tipo FlashROM las cuales permiten grabar y borrar datos de manera permanente. Aquí tanto la RAM como la ROM sirven para almacenar datos como programas, esto debido a que, mientras tenga energía la batería, alimentará la memoria RAM evitando la pérdida de información. Procesadores: Al ser una arquitectura abierta, se han utilizado hardware muy diverso en su construcción, en particular a lo referente a sus microprocesadores, de los cuales se tienen varios y que es necesario describirlos brevemente [6] y [7]. Familia ARM: El primer microprocesador para PPC y el más popular, fue el ARM (Advanced RISC Machines), el cual fue diseñado y manufacturado por Acorn Computer Group a mediados de los 80s. El ARM es un microprocesador CMOS de 32 bits diseñado en arquitectura RISC , lo cual significa que tiene un reducido conjunto de instrucciones en comparación con arquitecturas CISC como x86 (familia de microprocesadores de Intel) o m68k (familia de microprocesadores de Motorola). Las ventajas de RISC incluyen la posibilidad de optimizar la velocidad de procesamiento, usando por ejemplo técnicas como el pipelining (entubamiento). Esta familia de microprocesadores es famosa por tener entre sus dispositivos algunas consolas como Nintendo 64, PlayStation, y la nueva consola portátil de Nintendo: la Nintendo DS (Dual Screen). StrongARM, resultado del trabajo de ARM Ltd. y Digital, usa el conjunto de instrucciones de los procesadores ARM, pero el cual es construido con los chips de bajo costo de las series Alpha. Digital vendió su manufacturación de chips a Intel Corporation. La famosa iPaq (la PPC más vendida) de Compaq (ahora HP) utiliza este microprocesador. La iPaq es la PPC donde más esfuerzo se ha realizado para tratar de portar Linux al mundo de las PPC; de hecho, actualmente existen versiones muy estables de Linux como los proyectos Pocket Linux, iPaq Linux, Opie, Familiar, entre otros. Xscale es un microcroprocesador del tipo RISC SIMD (Single Instruction Multiple Data). En arquitecturas RISC tradicionales, se tiene un conjunto mínimo de instrucciones que un microprocesador puede entender y ejecutar; por el contrario, este tipo de arquitecturas híbridas, se cuentan con un gran número de registros y memoria de control, lo cual permite que su desempeño sea más óptimo y veloz. Este chip es fabricado por Intel, por lo que actualmente su uso está creciendo enormemente. Con la aparición de Windows Mobile 2003, Microsoft ha determinado que dejará de ofrecer su sistema operativo Windows CE para PPC para microprocesadores que no sean descendientes de la familia ARM; esto debido principalmente a dos razones: la primera, referente a la dificultad de mantener códigos diferentes de distintos microprocesadores y segunda, porque ARM está dominando y según Microsoft dominará el mercado de PPC por muchas años más, gracias a la participación activa de Intel. Familia MIPS: MIPS es un microprocesador del tipo VLSI RISC de 32 bits desarrollado por la compañía japonesa NEC, que cuenta entre sus características principales que permite entubamiento y cuenta con un software reorganizador de códigos, que entre otras cosas, permite un mayor rendimiento. Cada instrucción en promedio es realizada en dos ciclos de reloj. Ejemplos de este tipo de micro es el MIPS-X. Este tipo de microprocesadores son muy usados en ambientes de servidores, estaciones de trabajo y mainframes. Desde su diseño se trató de portar toda la funcionalidad y robustez con que cuentan estos microprocesadores al ambiente móvil. Entre sus mayores glorias cuentan con ser el microprocesador con el que se construyen las famosas estaciones de trabajo Silicion Graphics (SGI) las cuales han creado la mayoría de las películas animadas y efectos visuales de las películas más recientes. La PPC más venida en Japón, la Cassiopedia de la compañía Casio utiliza este microprocesador. En consolas de videojuegos, la PlaySation 2 de Sony utiliza una versión especial de este microprocesador. Familia SH: SH3 es desarrollado por la compañía japonesa Hitachi, pertenece a la familia de microprocesadores Super H (Hitachi), los cuales son microprocesadores de 32 bits con instrucciones de 16 bits. Entre las características principales de un microprocesador SH3 podemos destacar las siguientes: su diminuto tamaño y su bajo consumo de energía, lo cual lo hacen ideal para sistemas de cómputo móviles o sistemas multimedia.
  • 5. Entre los máximos exponentes de dispositivos que emplean estos microprocesadores para su CPU se encuentran la consola de Videojuegos DreamCast de la compañía japonesa Sega y la ahora extinta, PPC Jornada de la compañía HP. Actualmente, están disponibles en el mercado las mejoras de este procesador llamadas SH4 y SH5. Antecedentes del proyecto Este proyecto de tesis forma parte de la arquitectura del proyecto “Moviware” [8]. La finalidad de Moviware consiste en dar soporte a clientes móviles inalámbricos que operan en un ambiente de red inestable, sujetos a experimentar diversos fenómenos mientras se encuentran trabajando. Es una plataforma prototipo que se compone de los siguientes módulos: 1. Gestor (“broker”) de desconexión y reconexión. Este componente se encarga de gestionar y procesar los eventos de desconexión que se puedan presentar de manera voluntaria (si el cliente lo solicita explícitamente) o involuntaria (sin previo aviso). 2. Generador de patrones de acceso a sitios Web basado en algoritmos de minería de reglas de asociación. Estos componentes extraen patrones de acceso en base a mecanismos de minería de datos. Los patrones generados son clasificados y colocados en un contenedor para su posterior recuperación en base a criterios de selección que el gestor de acaparamiento determina. 3. Gestor de acaparamiento de recursos informáticos. Tiene la función de interpretar el perfil de conducta de los usuarios móviles para poder identificar el patrón de acceso que permita la precarga de los recursos informáticos que el patrón indique. También proporciona los servicios para el procesamiento de los recursos acaparados en modo de desconexión. 4. Gestor de contenidos Web. Este componente se encarga de devolver recursos Web a dispositivos móviles, atendiendo a las características particulares de esos dispositivos. La arquitectura de MoviWare es la siguiente: Intermediario Patrones Gestor de Cache de Acaparamiento Recurso Acaparado Historial De Accesos Minero Encapsulador de patrón Identificador de Patrón Cliente Móvil Inalámbrico Gestor Local de Acaparamiento Gestor de Acaparamiento Clasificador de Patrones Aplicación (Netscape, Explorer, Pocket IE Transcodificador de contenidos Web Identificador De perfil de dispositivo Generador de Patrones Generador de árbol Patrón Analizador de Página HTML Generador de página Web Transcodificada Gestor de Desconexión Gestor de Desconexión HTTPHTTP FTPFTP Proxy Cache Squid Cache transcodificada Cache Gestor de caches Intranet IEEE802.11 Intermediario Patrones Gestor de Cache de Acaparamiento Recurso Acaparado Historial De Accesos Minero Encapsulador de patrón Identificador de Patrón Cliente Móvil Inalámbrico Gestor Local de Acaparamiento Gestor de Acaparamiento Clasificador de Patrones Aplicación (Netscape, Explorer, Pocket IE Transcodificador de contenidos Web Identificador De perfil de dispositivo Generador de Patrones Generador de árbol Patrón Analizador de Página HTML Generador de página Web Transcodificada Gestor de Desconexión Gestor de Desconexión HTTPHTTP FTPFTP Gestor de Desconexión Gestor de Desconexión HTTPHTTP FTPFTP Proxy Cache Squid Cache transcodificada Cache Gestor de caches Intranet IEEE802.11 Figura 1. Arquitectura Moviware. Objetivo del proyecto El objetivo general de este proyecto consiste en diseñar e implementar un prototipo de agente intermediario para plataforma Pocket PC 2000,
  • 6. que gestione el acaparamiento de páginas Web transcodificadas cuando se presenten eventos de desconexión. Beneficios: entre los beneficios que se desean obtener de este tema de tesis se encuentran: 1. Visualización de páginas Web en modo de desconexión en dispositivos PPC, de manera transparente para el usuario. 2. Agilizar los tiempos de acceso a las páginas Web, al tener un sitio Web acaparado de manera local, cuando se presenten desconexiones. 3. Visualización de páginas Web de forma adecuada, de tal forma que su visualización no dependa de las limitantes de su pantalla. 4. La facilidad de administración y, por ende de programación, al no tener páginas distintas para distintas plataformas. 5. Ahorro de energía en dispositivos que dependen de un suministro finito, esto como consecuencia de trabajar en modo de desconexión. Descripción del problema La Web es uno de los servicios más utilizados de la Internet, razón por la cual se ha convertido en una de las principales fuentes de búsqueda de información, de ocio, de negocio, de intercambio de datos, etcétera; motivo por el cual su funcionamiento es crítico en muchos entornos de nuestra sociedad. Desgraciadamente, los equipos móviles están propensos a constantes desconexiones y, por otra parte, la Web por naturaleza, requiere de una conexión permanente para poder operar. Si no existe tal conexión, los recursos solicitados a través de la Web no se encuentran disponibles. Por este motivo, es necesario un mecanismo para poder hacer accesible los recursos de un sitio Web sin necesidad de conexión. Por otra parte, debido a las limitantes de los dispositivos móviles, los sitios Web no pueden ser visualizados correctamente en esta clase de dispositivos, razón por la cual se requiere de un mecanismo para poder visualizar correctamente las páginas Web en un dispositivo móvil con despliegue limitado. El nivel de complejidad que se identifica en el desarrollo de aplicaciones para plataforma PPC es sumamente alto, el problema fundamental es el siguiente: Se pueden encontrar dispositivos PPC con diferentes microprocesadores (e.g. ARM, SH3, MIPS, etc.); para cada microprocesador se debe desarrollar una aplicación, lo que conlleva a la transportabilidad del código fuente para crear código ejecutable para cada plataforma, lo cual implica la existencia de un compilador para cada microprocesador. En este apartado, debemos tener en cuenta que la diversidad de microprocesadores puede llevar a cambios en la forma de implementar algunas funciones o instrucciones, sin embargo, la lógica del programa no cambia por que la implementación de nuestro agente intermediario se hará en lenguajes de alto nivel, en contraste con un lenguaje de bajo nivel (ensamblador), donde cada programa es dependiente de la arquitectura (un programa para un tipo de microprocesador es único para ese tipo de microprocesador). Se ha identificado que otro de los problemas más complejos a resolver, consiste en lograr la interoperabilidad entre los distintos módulos que componen la arquitectura Moviware, dicha interoperabilidad se logra integrando y coordinando los módulos respectivos en uno solo. El problema de lograr esta interoperabilidad se debe a que dichos módulos han sido desarrollados en diferentes lenguajes de programación (Java, C++), por diferentes personas y con distintos enfoques; lograr esta integración requiere entender su funcionamiento y sobre todo, conocer sus interfaces de entrada y salida. Otro de los problemas de mayor complejidad que presenta esta tesis, consiste en el manejo del acaparamiento de sitios Web transcodificados en un dispositivo PPC, debido principalmente a los siguientes subproblemas: 1. Los mecanismos de replicación o precarga están muy orientados a base de datos y memoria caché, y prácticamente no existen mecanismos que permitan el acaparamiento de recursos informáticos, en especial con sitios Web y en particular con los dispositivos móviles PPC. 2. La mayor problemática que presenta el acaparamiento consiste en el control de las réplicas tanto de manera local como del lado del servidor, es por ello que se necesita un módulo o mecanismo controlador que gestione la negociación de dichas réplicas de tal forma que sea automatizado y transparente para el usuario. 3. Otros de los factores a considerar en cuanto a la cuestión del acaparamiento es el tamaño de los recursos, debido a las limitantes de almacenamiento impuestas a los dispositivos PPC, esto hace necesario que exista un mecanismo que controle el tamaño máximo de los recursos a acaparar, el tipo de archivos a acaparar, el tamaño máximo destinado al acaparamiento en general, el directorio local de almacenamiento, por mencionar algunas restricciones
  • 7. Tanto el manejo de eventos de conexión cómo de reconexión, no están pensados en una arquitectura cliente servidor tradicional, ya que el modelo cliente/servidor en clientes móviles esta inmerso en un ambiente de continuas desconexiones, se hace necesario de un mecanismo que controle y administre los eventos de desconexión. Esto con lleva a un cambio de paradigmas en la forma de realizar software de red, debemos tener presente que las desconexiones ocurren de forma más seguida que en otro tipo de plataformas. Metodología de la solución El esquema de solución que se propone consiste en una adaptación del esquema cliente/servidor orientada a clientes móviles, este modelo consta tanto de clientes móviles, como de un servidor encargado de brindar servicios de recursos Web; en medio de nuestros clientes y servicios se encuentra nuestra capa de intermediarios, tanto del lado del cliente como del lado del servidor, el modelo general propuesto puede visualizarse en la figura 4. El modelo conceptual con la que se pretende solucionar el problema se esquematiza en la figura 2. Esta arquitectura consta de manera general de dos partes, la primera parte del lado del dispositivo cliente móvil PPC, del otro lado, se muestra el mecanismo del lado del servidor. Entre estas dos partes, se encuentra la interfaz de red inalámbrica (en nuestro caso IEEE 802.11). Del lado cliente, se encuentran dos partes claramente diferenciadas, la primera es la aplicación final al usuario, en nuestro caso, el navegador (e.g. Pocket Internet Explorer u otros.) que solicita recursos Web. La arquitectura de solución se muestra en la figura 3. Por el otro, se encuentra el intermediario que se va a desarrollar, en nuestro caso lo hemos denominado GAP (Gestor de Acaparamiento Pocket). Dicho intermediario consta de los siguientes componentes: MIPS SH3 ARMARM Internet GAP (Gestor de Acaparamiento Pocket) GAS (Gestor de Acaparamiento del Servidor): SQUID Figura 2. Esquema general de la arquitectura propuesta.
  • 8. Navegador (IPE, Netscape)Navegador (IPE, Netscape) GAP Cliente Pocket PC WiFi ¿Conexión? ¿Caché? T Caché transcodificada Sí No No à Error Sí Conversión local / Web Analizador HTTP GAS W Internet Squid ¿Transcodificada? Transcodificador ¿Actual? Acaparador T Caché transcodificada Sincronizador Caché servidor Sincronizador Caché local Sí Sí No No Éxito G D L GAL MT MA Arquitectura propuesta Observador Gestor de Desconexión Módulos a integrar pertenecientes a Moviware Figura 3. Arquitectura propuesta. 1. Observador.- También llamado vigía, su objetivo fundamental es revisar y procesar las peticiones tanto de entrada como de salida que van o vienen dirigidas a la aplicación (navegador Web). 2. Gestor de Desconexión (GDL).- Tiene la función de revisar el medio físico de conexión y determinar si el cliente se encuentra conectado o no. 3. Gestor de Acaparamiento Local (GAL).- Cuya misión consiste fundamentalmente en dos cosas: a. Revisar si existe un recurso acaparado, en caso de existir se manda el recurso solicitado (en este caso el Observador debe de cambiar el encabezado para hacer creer al navegador que la solicitud viene del exterior); en caso de no existir el recurso acaparado, se manda un mensaje de error, el observador deberá construir una página Web con un mensaje de error que el usuario visualizará. b. Controlar la sincronización de la caché transcodificada local con la caché del Servidor. Del lado del servidor, encontramos dos elementos principales: el servidor Proxy caché Squid, encargado de obtener los recursos Web solicitados; y el intermediario del lado del servidor, el cual hemos denominado GAS (Gestor de Acaparamiento del Servidor), esta arquitectura consta de los siguientes elementos: 1. Mecanismo Transcodificador (MT).- Es el encargado de transcodificar (transformar una página Web para su correcta visualización en un dispositivo de despliegue limitado) los recursos Web obtenidos del servidor Squid. (Este módulo es parte de Moviware y se le harán las modificaciones pertinentes a fin de integrarlo en este trabajo de tesis). 2. Analizador HTTP.- Es el encargado de analizar el contenido del encabezado HTTP de la solicitud del cliente, en este caso nos interesa encontrar información como el recurso solicitado, el tipo de cliente que realiza la petición (sistema operativo, tipo de microprocesador), la fecha de modificación del recurso solicitado, entre otros campos. Este analizador es similar a un módulo identificador de dispositivo. 3. Mecanismo Acaparador (MA).- Se encarga de dos funciones básicas, acaparar un sitio Web transcodificado y sincronización de la caché transcodificada, para esta última opción debe haber un control de versiones entre la caché local y la caché del servidor (este módulo existe en Moviware pero en la versión sin transcodificar, la intención es integrar este módulo y el intermediario que se desarrollará,
  • 9. de tal forma que detecte el dispositivo desde el cual se está realizando una petición de un recurso Web y se envié el recurso transcodificado o no). 4. Gestor de desconexión (GD).- Es el encargado de revisar el medio inalámbrico y, procesar todas las peticiones realizadas por el cliente que no pudieron ser atendidas, cuando se presentó el evento de desconexión. En lo referente a herramientas a utilizar, aun no se han definido las herramientas definitiva de desarrollo, actualmente, nos encontramos en una fase de investigación en cuanto a herramientas y entornos de programación se refiere; como posibles alternativas se tienen el uso de herramientas como el Microsoft eMbedded Tools (eMbedded Visual Basic y eMbedded Visual C++), Visual Studio .NET (Visual Basic .NET y Visual C#), así como analizar algunas variantes de Java (se deben tener máquinas virtuales especiales para PPC), como es el caso J2ME (Java 2 Micro Edition), Personal Java y Embedded Java. Limitaciones Entre las limitantes que tiene nuestro trabajo de tesis se encuentran las siguientes: 1. El GAP sólo se implementará para plataforma PPC 2000 (no se garantiza que trabaje sobre otras plataformas de PPC como PPC 2002 o Windows Mobile 2003). 2. Los microprocesadores para los cuales se generará código ejecutable del GAP son: SH3, ARM y MIPS (tampoco se garantiza que corra sobre arquitecturas de microprocesadores más modernos). 3. El acaparamiento en el GAP estará limitado a las características propias del PPC (definiremos un sistema con características mínimas para realizar el acaparamiento). 4. El GAS se limitará a los servicios proporcionados por la arquitectura Moviware (no pretendemos en principio realizar modificaciones a las funcionalidad de cada módulo a integrar, es decir, los módulos a integrar se quedarán con sus alcances y limitaciones respectivos, simplemente se realizarán modificaciones para lograr su coordinación). Trabajos relacionados Aunque existen muchos trabajos relacionados con el acaparamiento, éstos se enfocan a base de datos (replicación) y memoria (precarga), por lo que el abanico de trabajos relaciones disminuye considerable. En [9] trabajo plantea una metodología (la cual nos servirá de base para replantear nuestra propia metodología) para realizar acaparamiento en dispositivos móviles, desgraciadamente estos dispositivos móviles comprenden plataformas convencionales (laptops y computadoras de escritorios) con interfaces de red inalámbricas. Otra deficiencia que presente este trabajo, consiste en que no realiza transcodificación de contenidos Web. En [3] sirve de base para realizar el acaparamiento, es decir, mediante algoritmos de minería de uso Web aplicados a bitácoras de servidores Web, encuentra un conjunto de Reglas de asociación que permiten predecir los posibles recursos que el usuario podría necesitar; dichas reglas se guardan en un contenedor de patrones, y es de aquí de donde nuestro proyecto va partir para realizar el acaparamiento. Esta aplicación no realiza acaparamiento, es decir, por si sola no tiene una aplicación final visible a los usuarios. Actualmente se esta realizando un trabajo de tesis dentro del cenidet que pretende mejorar la funcionalidad de este trabajo, pero como aun no está terminado, no lo estamos tomando de referencia. En [5] propone una metodología (la cual se tiene contemplada integrar en este trabajo de tesis) para realizar la transcodificación de páginas Web, desgraciadamente no realiza acaparamiento de estas páginas ya transcodificadas y aunque está enfocada para dispositivos PPC, no se realiza ningún procesamiento (programación) en éste, el trabajo de transcodificación se realiza en un intermediario que se encuentra del lado del servidor, el cual pertenece a un equipo de cómputo tradicional. En [10] consiste en un middleware para dispositivos móviles que gestiona diversos recursos cuando se presentan eventos de desconexión, en este sentido este trabajo tiene una gran similitud con nuestro tema de tesis, la primera diferencia fundamental consiste en el área que se cubre. En nuestro tema de tesis el enfoque es de manera general para cualquier sitio (con sus respectivas limitantes), mientras que en este trabajo relacionado, se enfoca hacia una aplicación de aprendizaje móvil (M- Learning) denominada m-Eldit (versión móvil del programa de e-Learning ‘Eldit’ ). Otro aspecto muy similar de este proyecto con el nuestro, consiste en que este trabajo
  • 10. relacionado realiza acaparamiento basado en el seguimiento (tracking) del usuario, es decir, la predicción de los recursos a acaparar se realiza de manera más sencilla, debido a que deduce los posibles recursos a acaparar en base a los recursos faltantes que tiene que completar dicho usuario; es decir, el acaparamiento se realiza de manera especial para cada usuario, mientras que en nuestro tema de tesis el acaparamiento se realiza de manera general para todos los usuarios. Para dejar más claro esto, supongamos que el usuario X ha tomado los temas uno, dos y cinco de un curso de 6 lecciones, por lo que lo más probable es que a futuro, el usuario ocupe los cursos tres, cuatro y seis. Mientras que en un sitio Web, determinar que recursos se deben acaparar a los usuarios es más complejos, ya que las preferencias de los usuarios son extremadamente variantes. Este trabajo de tesis utiliza y propone una metodología de acaparamiento que está enfocada hacia dispositivos PPC; también realiza un tipo especial de transcodificación, dicha transformación se realiza de forma personalizada gracias a que se cuenta con el perfil del usuario. La personalización realizada en este trabajo, consiste simplemente en el cambio de parámetros a visualizar, como son los colores de la interfaz, el tamaño de las letras etc.; mientras que en nuestro trabajo la transcodificación se realiza de manera genérica de todos los sitios Web. Referencias bibliográficas [1] Gold Jack, “Pocket PC: An Evolutionary Advance Infrastructure Strategies, Web & Collaboration Strategies”, febrero de 2005, http://www.gartner.com/ [2] Alarcón Gálvez Fernando, “Mecanismo para Gestión de Conexión en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [3] Valenzuela Molina David R., “Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [4] Chanchaem Thong, “A Survey on Internet Content Transcoding for Universal Access”, Department of Computer Science, Kent State University, mayo de 2003. [5] Uriarte Cabada Claudia Selene. “Transformador de Contenidos Web para Asistentes Personales Digitales”, tesis de maestría, cenidet, julio de 2004. [6] Clark David, “Mobile processors begin to grow up”, revista IEEE Computer, pp. 22-25, marzo de 2002. [7] Hattori Toshihiro, et al., “Design Methodology of a 200MHz superscalar microprocessor: SH-4” Hitachi, Ltd., Tokio, Japón. 249 IEEE Proceedings of the 35th Design Automation Conference (DAC’98) 0-89791- 964-5/98. [8] González Serna Juan Gabriel. “Plataforma middleware reflexiva para aplicaciones de cómputo móvil en Internet (Movirware)”, Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), de septiembre de 2001 a agosto de 2003, financiamiento COSNET: 570.01-P. [9] Verduzco Reyes Gustavo, “Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles”, tesis de maestría, cenidet, agosto de 2003. [10] Trifonova Anna, “Hoarding Content in M-Learning Context”, tesis doctoral en desarrollo, Universidad de Trento, Italia, 2004. V. Rodolfo García Colón Hernández Ingeniero Mecánico Electricista egresado de la Universidad Veracruzana en 1986. Obtuvo el grado de Maestría en Sistemas de Potencia en 1990 y Doctorado en 1994 en el Instituto de Ciencia y Tecnología de la Universidad de Manchester, UMIST Inglaterra. Regresó al IIE en 1994, como jefe del proyecto de “Diagnóstico de transformadores de potencia y equipo de subestaciones”. Es miembro del Comité de Normalización de Transformadores de Potencia de Distribución CFE-LAPEM-IIE y del Comité Consultivo Nacional de Normalización de Instalaciones Eléctricas de Secretaría de Energía. Está reconocido por CONACYT como evaluador de proyectos tecnológicos y fue presidente del Capítulo de Potencia del IEEE hasta el 2000. Actualmente es presidente de la Sección Morelos IEEE y Vicepresidente de Amime Sede Morelos. Juan Carlos Olivares Rojas Ingeniero en Sistemas Computacionales egresado del Instituto Tecnológico de Morelia en 2004. Es estudiante de la especialidad de sistemas distribuidos en la Maestría en Ciencias en Ciencias Computacionales en el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET). Sus áreas de interés son el cómputo móvil, sistemas de telecomunicaciones y base de datos Actualmente es vicepresidente de la rama estudiantil de la IEEE del CENIDET. Dirección del autor: Laboratorio de Sistemas Distribuidos, Interior Internado Palmira, col. Palmira, Cuernavaca, Morelos, email: jcolivares04c@cenidet.edu.mx