SlideShare a Scribd company logo
1 of 31
Download to read offline
S.E.P. S.E.S. D.G.E.S.T.
CENTRO NACIONAL DE INVESTIGACIÓN
Y DESARROLLO TECNOLÓGICO
cenidet
“GESTOR DE ACAPARAMIENTO DE SITIOS WEB
TRANSCODIFICADOS PARA PLATAFORMA
POCKET PC”
PROPUESTA DE TESIS
PRESENTA
ING. JUAN CARLOS OLIVARES ROJAS
Director de Tesis
M.C. JUAN GABRIEL GONZÁLEZ SERNA
Codirector de Tesis
DRA. AZUCENA MONTES RENDÓN
CUERNAVACA, MORELOS AGOSTO DE 2005
i
Índice
1. Introducción___________________________________________________________ 1
2. Marco conceptual ______________________________________________________ 2
2.1 Acaparamiento____________________________________________________________ 2
2.1.1 Estado de acaparamiento de datos__________________________________________________ 3
2.1.2 Estado de desconexión __________________________________________________________ 3
2.1.3 Estado de reintegración__________________________________________________________ 4
2.1.4 Acaparamiento de sitios Web _____________________________________________________ 4
2.2 Transcodificación de contenidos Web _________________________________________ 5
2.3 Pocket PC ________________________________________________________________ 5
3. Antecedentes del proyecto ________________________________________________ 7
4. Objetivos del proyecto de tesis_____________________________________________ 9
4.1 Objetivo general___________________________________________________________ 9
4.2 Objetivos particulares ______________________________________________________ 9
5. Justificación y beneficios del proyecto ______________________________________ 9
5.1 Justificación ______________________________________________________________ 9
5.2 Beneficios _______________________________________________________________ 10
6. Trabajos relacionados con el proyecto _____________________________________ 11
6.1 Hoarding Content in M-Learning Context ____________________________________ 11
6.2 Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles __________ 12
6.3 Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor
Móviles ____________________________________________________________________ 12
6.4 Transformador de Contenidos Web para Asistentes Personales Digitales___________ 13
6.7 Avantgo_________________________________________________________________ 13
6.8 Web Clipping ____________________________________________________________ 13
7. Descripción del problema _______________________________________________ 14
8. Descripción de la complejidad del problema ________________________________ 14
9. Metodología de la solución ______________________________________________ 16
10. Alcance y limitaciones del proyecto ______________________________________ 20
10.1 Alcances _______________________________________________________________ 20
10.2 Limitaciones ____________________________________________________________ 21
11. Cronograma de actividades_____________________________________________ 21
12. Glosario ____________________________________________________________ 23
13. Referencias bibliográficas______________________________________________ 26
ii
Figuras
Figura 1. Esquema general del proceso de acaparamiento._______________________________________ 2
Figura 2. iPaq, Pocket PC de la compañia Compaq. ____________________________________________ 7
Figura 3. Arquitectura Moviware. __________________________________________________________ 8
Figura 4. Esquema general de la arquitectura propuesta. _______________________________________ 17
Figura 5. Arquitectura propuesta.__________________________________________________________ 18
Figura 6. Cronograma de actividades septiembre-diciembre de 2005. _____________________________ 22
Figura 7. Cronograma de actividades enero-abril de 2006.______________________________________ 22
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
1
1. 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 (PDA1
), 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.
Según [Gol05], durante el último trimestre de 2004, se han vendido 1.4 millones de PDAs
(Pocket PC) con Windows CE, lo cual supone que Microsoft encabeza 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 problemáticas que presentan los dispositivos móviles es la continua desconexión
a la que se ven sometidos, la cual se presenta de manera más frecuente 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.
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 de estos dispositivos (comparado con
equipos convencionales o de escritorio).
Los problemas anteriores conllevan a un cambio de paradigma en la forma de realizar
software y hardware para este tipo de dispositivos, razón por la cual se plantea la creación
de nuevos mecanismos o metodologías para trabajar sin conexión y lograr un mejor
despliegue de la información en dispositivos móviles.
1
Personal Digital Asistant, por sus siglas en inglés.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
2
2. Marco conceptual
Para el buen entendimiento de esta propuesta de tesis, es necesario explicar algunos
conceptos que aclaren básicamente las siguientes preguntas: ¿Qué es acaparamiento? ¿En
qué consiste la transcodificación de contenidos Web? ¿Qué es un dispositivo Pocket PC?
Al final de esta propuesta se muestra un glosario con algunos términos mencionados
durante el transcurso de este trabajo y que no se consideraron para aparecer en esta sección,
pero que se recomienda leer para aclarar algunos conceptos.
2.1 Acaparamiento
Antes de describir el concepto de acaparamiento, y en especial el concepto de
acaparamiento de sitios Web, es necesario definir una serie de conceptos que en esencia son
muy similares, pero que se enfocan a resolver problemáticas un tanto diferentes. Los
conceptos a los cuales se hace referencia son: la replicación, la precarga (prefetching) y la
caché (caching).
El acaparamiento (hoarding) se puede definir como el proceso de replicación y
procesamiento en desconexión de datos previamente seleccionados y copiados localmente
en el cliente móvil [Val02].
Como dato anecdótico, muchos animales como los roedores, hacen uso del concepto de
acaparamiento, para ello acumulan alimento para sobrevivir en épocas de invierno. De
hecho, algunos lingüistas creen que la palabra hámster (un tipo de roedor) deriva del inglés
hoarding que significa acaparamiento [dmc05].
En informática, el concepto de acaparamiento es un proceso integral, el cual incluye tres
etapas: desconexión, reintegración y propiamente el acaparamiento. A continuación se
describe cada una de las partes que componen el proceso completo de acaparamiento.
Reintegración
Acaparamiento
Desconexión
Figura 1. Esquema general del proceso de acaparamiento.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
3
2.1.1 Estado de acaparamiento de datos
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.
Los recursos requeridos para las operaciones son cargados 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 definan 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 los recursos que podría solicitar.
Se deben considerar los siguientes aspectos a la hora de realizar acaparamiento:
1. ¿Cuál debe ser la unidad de acaparamiento: bloques de archivos, archivos, grupos
de archivos o directorios?
2. ¿Cuándo se debe acaparar? Cuando se necesita la información (i.e., cuando la
información es crítica. En nuestro caso la información crítica corresponde a los
sitios Web que visitan los usuarios y que se necesitan acaparar).
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. De forma general el acaparamiento se realiza a través de los usuarios,
ya que éstos proporcionan información ya sea de forma explícita o implícita.
2.1.2 Estado de desconexión
En este estado, las aplicaciones utilizan los datos disponibles de manera local. La petición
de los recursos se puede realizar insertando dichas peticiones en una estructura de datos del
tipo FIFO2
para ser atendida a la brevedad, cuando ocurra un evento de reconexión.
En esta fase surgen diversas dificultades como las siguientes:
2
FIFO (First In First Out. Primero en entrar, primero en salir) Estructura de datos del tipo cola.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
4
1. ¿Qué información debe mantenerse en una caché para su correcta reintegración?
2. ¿Se deben mantener caches pequeñas para ahorrar memoria y reducir el tiempo del
retardo de actualización y reintegración cuando ocurra una reconexión?
2.1.3 Estado de reintegración
Cuando un cliente se encuentra en estado de desconexión, generalmente realiza
modificaciones a los recursos informáticos acaparados de manera local. Al realizar dichos
cambios y volver a un estado de conexión, se presenta una inconsistencia entre los datos
locales y los del servidor. Para evitar dichas inconsistencias, es necesario realizar una
conciliación (ponerse de acuerdo dos entidades sobre un problema común) entre la copia
del cliente y la del servidor.
Existen varias alternativas para realizar una conciliación una de ellas descarta los cambios
realizados en la copia local, dejando como válida la del servidor. Otro esquema consiste en
invalidar la copia del servidor y dejar como válidas las copias del cliente. El problema se
presenta cuando varios clientes modifican la misma copia con valores distintos.
Para el acaparamiento de sitios Web no es necesario realizar una reintegración, ya que las
páginas acaparadas en el cliente no son modificadas por el usuario. Los recursos desde el
lado cliente son de solo lectura, lo cual implica que no existan copias modificadas que
reconciliar.
2.1.4 Acaparamiento de sitios Web
Una de las características más preponderantes que tienen las páginas Web, es que son más
para la visualización que para actualización, por lo que este hecho conduce a un nuevo
planteamiento de la metodología de acaparamiento, en este caso se debe determinar ¿qué
páginas se deben acaparar?
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 modo desconexión, la comunicación se realiza de manera asíncrona, lo cual permite
realizar peticiones automáticamente que serán puestas en un buffer (contenedor) cuando la
conexión se haya perdido, y debe continuar cuando la conexión sea restablecida. Al final,
los usuarios pueden realizar múltiples peticiones de páginas Web sin tener que esperar las
respuestas. Las respuestas recibidas del cliente son puestas en una cola en el servidor para
su posterior reintegración.
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.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
5
3. Control de reintegración de réplicas.
2.2 Transcodificación de contenidos Web
Transcodificación (transcoding) se define como 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 [Cha03].
Para dejar más claro el concepto de transcodificación, se pondrá el siguiente ejemplo: el
sistema de transmisión de televisión norteamericano NTSC3
, es usado en muchos países
incluido México, pero desgraciadamente es incompatible con el sistema europeo de
transmisión: el PAL4
. Ambos sistemas manejan diferentes formas de visualizar las
imágenes en pantalla, mientras en NTSC se transmiten 525 líneas en una frecuencia de 60
hertz (hz), el sistema PAL maneja 625 líneas con 50 hz como frecuencia. Debido a estas
diferencias, no se pueden visualizar secuencias de video grabadas en un formato a otro,
aunque se trate del mismo video. Para poder realizar una conversión de un formato a otro se
necesita de un transcodificador. Éste recibe una señal de video en un formato dado y la
transforma a otro formato conservando la misma secuencia de imágenes que componen el
video.
Cabe hacer mención que el término transcodificación sólo se aplica cuando existe una
transformación de códigos, cuyo objetivo fundamental tiene que ver con la adaptación de su
contenido para su correcta visualización; por ejemplo, la transformación de un código de un
lenguaje de programación de alto nivel (Pascal) a otro de alto nivel (C), no se considera
transcodificación, por que, si bien se realiza una transformación de código de un lenguaje a
otro, dicha transformación no tiene como objetivo final una adaptación del mismo para su
correcto despliegue.
El mecanismo de transcodificación de contenidos Web, lleva a cabo una reorganización y
agrupación de los elementos contenidos en la página Web solicitada de acuerdo a la
delimitación del lenguaje de entrada (HTML5
). 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 (estructura) original del documento o página.
2.3 Pocket PC
Es una de las plataformas no convencionales cuya porción de mercado con respecto a
plataformas tradicionales ha ido en amplio aumento en estos días. El objetivo de este
apartado es dar una idea general sobre el tema, por lo que se trata de no profundizar en
términos técnicos referentes a la electrónica de estos dispositivos.
3
National Television Standards Comitte
4
Phase Alternating Line
5
Hyper Text Markup Language
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
6
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
popular es Outlook de Microsoft.
• Cuentan con herramientas precargadas que varían dependiendo del modelo y
fabricante, las cuales incluyen entre otras, las versiones de Pocket Word (procesador
de textos), Pocket Excel (hoja de cálculo), Pocket Internet Explorer (navegador
Web), entre otros.
• 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 WiFi6
(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 de por lo menos 16 colores,
capacidad de iluminación de la pantalla y 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 de sincronización (serial o USB),
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. Dichos procesadores se encuentran optimizados para las tareas que
realizan; es decir, se utilizan procesadores (descritos más adelante en esta sección)
no muy comunes en arquitecturas tradicionales.
• 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.
• Utilizan hardware muy diverso en su construcción. Destaca el uso de una gran
variedad de microprocesadores de los cuales sobre salen tres: ARM, SH3 y MIPS.
6
Wireless Fidelity.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
7
Figura 2. iPaq, Pocket PC de la compañia Compaq.
3. Antecedentes del proyecto
Este proyecto de tesis forma parte de la arquitectura del proyecto Moviware [Gon03].
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 eventos mientras se
encuentran trabajando.
Es una plataforma prototipo que se compone de los siguientes módulos:
1. Gestor 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) [Ala02].
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 [Val02] [Hen05].
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 [Ver03].
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
8
4. Transcodificador de contenidos Web. Este componente se encarga de devolver
recursos Web a dispositivos móviles, atendiendo a las características particulares de
esos dispositivos [Uri04].
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
FTP
FTP
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
FTP
FTP
Gestor de
Desconexión
Gestor de
Desconexión
HTTPHTTP
FTP
FTP
Proxy Cache Squid
Cache
transcodificada
Cache
Gestor de
caches
Intranet
IEEE802.11
Figura 3. Arquitectura Moviware.
Esta propuesta de tesis se centrará en la parte que tiene que ver con los módulos que
conforman el cliente móvil inalámbrico (en nuestro caso dispositivos PPC), en particular
con el intermediario que interactúa con el gestor de acaparamiento local y el
transcodificador de contenidos Web. Además, nuestro trabajo partirá de los módulos que
corresponden al minero para obtener el conjunto de datos que se habrán de replicar en el
cliente móvil.
En el óvalo con línea continua se muestra el área principal donde se enfocará la tesis
propuesta en este documento. Es en este punto, donde se espera lograr la mayor aportación
de este trabajo que consistente el desarrollo de servicios en esta plataforma.
En los óvalos con líneas punteadas en cuadros se muestran los dos módulos con los que
habrá que integrar y/o adaptar su funcionalidad para que trabajen en conjunto con la
finalidad de servir a los dispositivos PPC. Por otra parte, en el óvalo con líneas punteadas
en círculo se muestra el módulo del cual se obtendrán los patrones de acceso a los sitios
Web para realizar acaparamiento.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
9
4. Objetivos del proyecto de tesis
4.1 Objetivo general
El objetivo de este tema de tesis 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.
4.2 Objetivos particulares
Entre los objetivos particulares se encuentran:
1. Evaluación de nuevas tecnologías y herramientas de programación para
dispositivos PPC.
2. Desarrollo de software propietario en plataformas no convencionales,
específicamente para microprocesadores ARM, MIPS y SH3.
3. Integración y/o adaptación del módulo de gestión de acaparamiento de sitios Web
[Ver03] perteneciente a la arquitectura Moviware, para la gestión de los recursos
que se acapararán en el PPC.
4. Integración y/o adaptación del módulo transcodificador de contenidos Web
[Uri04] perteneciente a la arquitectura Moviware, para realizar la transformación
de las páginas Web que se van a acaparar en el PPC.
5. Justificación y beneficios del proyecto
5.1 Justificación
La Web se ha convertido en una de las principales fuentes de búsqueda de información, de
ocio, de negocio, de intercambio de datos, entre otras características. Debido a esto, su
funcionamiento es crítico en muchos entornos de nuestra sociedad. Sin embargo, 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. Por este motivo, es
necesario un mecanismo para hacer accesibles los recursos de un sitio Web sin necesidad
de conexión. Dicho mecanismo consiste en el acaparamiento de sitios Web.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
10
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. Dicho mecanismo consiste en la transcodificación de sitios Web.
Otra problemática que se presentan en dispositivos PPC, radica en el hecho de que existen
pocas herramientas que tratan resolver el acaparamiento de páginas Web, así como de su
correcta visualización en pantallas con poca resolución. Dichas herramientas son muy caras
y en la mayoría de los casos poco prácticas. Esto ha motivado a que se desarrolle
investigación que pueda mejorar la infraestructura y los servicios brindados por esta clase
de dispositivos.
Actualmente se han manejado como clientes móviles equipos portátiles que, de manera
general, no dejan de ser equipos de cómputo tradicionales, con la única salvedad que dichos
equipos poseen interfaces de red inalámbricas. La tendencia es hacia dispositivos de un
tamaño cada vez más pequeño, razón por la cual se hace necesario el conocimiento y
desarrollo de aplicaciones en plataformas no convencionales como PPC.
El desarrollo de servicios en plataforma PPC lo consideramos como el punto medular de
esta propuesta por varias razones. La primera de ellas, porque es la parte en la cual se
espera que esta propuesta de mayor innovación y aportación. Otro argumento a su favor
consiste en que el grado de dificultad de esta actividad es bastante complejo (se debe
recordar que la complejidad es una métrica que no se puede medir tangiblemente, ya que
representa un concepto meramente subjetivo). Además, esta actividad es la que
consideramos que tiene mayor afinidad con el área de sistemas distribuidos. Por último,
creemos que el diseño y la implementación de servicios en dispositivos PPC, es la actividad
que refleja más fielmente la esencia de esta propuesta de tesis.
5.2 Beneficios
Entre los beneficios que deseamos 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 páginas Web, al tener sitios Web acaparados 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.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
11
5. Ahorro de energía en dispositivos que dependen de un suministro finito. Esto como
consecuencia de trabajar en modo de desconexión.
6. Ahorro en tiempo aire de equipos que se conecten a través de la red de telefonía
celular para transmitir información.
6. Trabajos relacionados con el proyecto
Se han encontrado varios trabajos relacionados con la temática de esta propuesta de tesis;
sin embargo, la mayoría están enfocados hacia base de datos, sistemas de archivos
distribuidos y precarga. De entre esos trabajos destacan: Ficus [RHD+99], Coda [Sat98a]
[Sat98b], SEER [Kue97] y las bases de datos móviles [BP98].
Otros trabajos están relacionados con la transcodificación de contenidos Web [HKS03]
[Cha03] y el manejo de la caché en la Web [VwL97]. Por lo que a continuación, sólo se
presentan aquellos trabajos que tiene mayor grado de afinidad con la temática general de
esta propuesta de tesis.
6.1 Hoarding Content in M-Learning Context
En [Tri04] se trabaja en un middleware para dispositivos móviles que gestiona diversos
recursos cuando se presentan eventos de desconexión. Este trabajo tiene una gran similitud
con el tema de tesis que se propone en este documento; sin embargo hay algunas
diferencias, la primera consiste en el área que se cubre. En esta propuesta de tesis, el
enfoque es de dominio generalizado; es decir, para cualquier sitio (con sus respectivas
limitantes); mientras que 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’7
).
Otro aspecto similar de este proyecto con el propuesto en este documento, 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. En este trabajo, el acaparamiento se realiza de manera
especial para cada usuario; mientras que en nuestra propuesta 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 temas tres, cuatro y seis. En un
sitio Web, determinar que recursos se deben acaparar a los usuarios, es más complejo, ya
que las preferencias de los usuarios son extremadamente variantes.
7
Diccionario electrónico alemán-italiano, por sus siglas en alemán.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
12
Este trabajo relacionado propone utilizar una metodología de acaparamiento que está
enfocada hacia dispositivos PPC; también realiza un tipo especial de transcodificación, la
cual 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 esta propuesta de tesis, la transcodificación se realizará de manera genérica para todos
los sitios Web.
6.2 Gestor de Acaparamiento de Patrones de Sitios Web en
Clientes Móviles
En [Ver03] se plantea una metodología para realizar acaparamiento en dispositivos
móviles. Una de las limitantes de este trabajo corresponde a que se utilizó como
dispositivos móviles a plataformas convencionales (laptops y computadoras de escritorios)
con interfaces de red inalámbricas. Otra limitante que presenta este trabajo, consiste en que
no realiza transcodificación de contenidos Web.
En nuestra propuesta de tesis, el acaparamiento se realizará específicamente para
dispositivos PPC. Este trabajo nos servirá de base para replantear la metodología de
acaparamiento y adaptarla a dispositivos móviles PPC. Se tiene contemplado integrar este
trabajo en nuestra propuesta de tesis para que, junto a los módulos a implementar, sea capaz
de realizar acaparamiento tanto en dispositivos móviles convencionales como PPC.
6.3 Mecanismo para Predicción de Acaparamiento de Datos en
Sistemas Cliente/Servidor Móviles
En [Val02] se muestra un modelo base para detectar patrones de uso de la Web. Este
modelo se realiza mediante algoritmos de minería de uso Web que se aplican a bitácoras de
sitios Web. Los patrones obtenidos permiten predecir los posibles recursos que el usuario
podría necesitar. Dichas reglas se guardan en un contenedor de patrones. De aquí partirá
esta propuesta de tesis para realizar el acaparamiento.
La limitante de este trabajo radica en que sólo se obtienen patrones de comportamiento sin
realizar propiamente el proceso de acaparamiento. Por si sola no tiene una aplicación final
visible a los usuarios.
Actualmente se está realizando un trabajo de tesis [Hen05] dentro del cenidet que pretende
mejorar la funcionalidad de este trabajo, por lo que es muy probable que se utilice éste para
la obtención de los patrones de acceso a sitios Web.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
13
6.4 Transformador de Contenidos Web para Asistentes
Personales Digitales
En [Uri04] se propone una metodología (la cual se tiene considerada integrar en esta
propuesta de tesis) para realizar la transcodificación de páginas Web. Este trabajo
relacionado no realiza el acaparamiento de estas páginas ya transcodificadas, y aunque está
enfocada para dispositivos PPC, no se realizó ningún software para esta plataforma. El
trabajo de transcodificación se realiza con un intermediario que se encuentra del lado del
servidor, el cual pertenece a un equipo de cómputo tradicional.
6.7 Avantgo
Avantgo (http://www.avantgo.com) es una herramienta comercializada por suscripción; es
decir, se cobra de manera periódica por el servicio (aunque se puede tener acceso a algunas
características de manera gratuita). Este programa está basado en canales (micrositios o
miniportales) que se orientan a temas específicos: clima, deportes, cine, etc. No se realiza
de manera formal el acaparamiento. El proceso que se realiza consiste de una replicación
con diferentes niveles de profundidad (en base a los enlaces o hipervínculos). El usuario
elige el límite de niveles, por lo que en general se trata de una replicación total del
contenido del sitio. Una replicación selectiva involucra el tamaño y el tipo de los recursos,
entre otros factores. Está disponible para PPC, Palm OS y algunos celulares con sistema
operativo Symbian.
El tema de tesis que se propone en este documento realiza un acaparamiento basado en
patrones de acceso a sitios Web, por lo que de manera general, es diferente a esta
herramienta. La idea de poner este trabajo, consiste en verificar que existen soluciones
parciales al problema que se pretende atacar con el desarrollo del tema de tesis que se
propone.
6.8 Web Clipping
Palm Web Clipping (http://www.palmos.com/dev/tech/webclipping/) es un producto que se
ejecuta en arquitecturas con sistema operativo Palm OS, por lo que aquí radica su principal
diferencia en relación a nuestra propuesta de tesis. También está basado en canales al igual
que avantgo, los cuales reciben el nombre de PQA8
, pero difiere del producto anterior, en
que se realiza una replicación selectiva de los recursos indicados. Los PQA son pequeñas
aplicaciones desarrolladas para obtener “recortes” (clippings) de páginas Web normales, los
cuales permiten tener a los usuarios los recursos de la forma en que a ellos más les guste.
Estos recortes son en cierta medida una especie de personalización de contenidos.
Esta herramienta trata de implementar una especie de replicación de contenidos Web con
ajuste de contenido. La diferencia fundamental con el tema de tesis que se propone, por una
parte consiste en que la transcodificación se realiza de manera general mientras que la que
8
Palm Query Application
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
14
de este trabajo relacionado se realiza por usuario. Por otra parte el esquema de
almacenamiento de recursos Web en el cliente es más transparente al usuario en esta
propuesta de tesis que en dicho trabajo relacionado, ya que en éste último, el usuario debe
seleccionar explícitamente los recursos que se deben almacenar; mientras que en esta
propuesta de tesis la selección de los recursos se realiza de manera explícita.
7. Descripción del problema
Al estar conectado un dispositivo PPC, esté puede acceder a múltiples recursos a través de
la Web. Debido a la dinámica de estos dispositivos, éstos se encuentran en constante
movimiento, lo cual da como resultado que la conexión se pierda y con ello no se pueda
acceder a los recursos en la Web. En algunos casos, la conexión se pierde de manera
voluntaria cuando el usuario decide desconectar su interfaz de red. En la mayoría de los
casos esta desconexión voluntaria se realiza para ahorrar energía en un cliente PPC. Ante
las necesidades actuales, estos acontecimientos no pueden suceder y si suceden se deben
minimizar lo más que se pueda.
Para poder acceder a recursos Web sin conexión se necesita que éstos estén en el
dispositivo cliente. La única manera de garantizar con éxito que un usuario pudiese trabajar
sin conexión es teniendo todos los recursos Web disponibles de manera local. Esto es
imposible de tener ya que cada usuario utiliza diferentes recursos Web. Por otra parte, una
de las limitantes más importantes de las PPC es el espacio de almacenamiento, lo cual
limita la cantidad de recursos con los que se puede trabajar sin conexión. Por si fuera poco
un usuario no necesita de todos los recursos Web de un sitio particular.
Otro problema que se presenta, radica en que la gran mayoría de los recursos en la Web
están optimizados para dispositivos que cuentan con pantallas de mayor tamaño. Además,
las herramientas existentes para solucionar los problemas descritos en esta sección, no son
transparentes para los usuarios. Se dice que no son transparentes, por que el usuario tiene
en principio que acaparar recursos (ya sea de manera manual o por medio de algún
software) en el dispositivo cliente. Una vez obtenido los recursos Web, el usuario tiene que
convertir o ajustar el recurso Web para que se despliegue de forma óptima en la pantalla de
su PPC. Todo esto conlleva a que el usuario invierta demasiado tiempo en realizar un
proceso en modo de desconexión.
8. Descripción de la complejidad del problema
Para el desarrollo del tema de tesis propuesto, se han detectado gran cantidad de problemas
a resolver. A continuación se describirán aquellos que se han considerado que su nivel de
complejidad se encuentra por encima de los demás.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
15
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 (ARM, SH3, MIPS, etc.). Para cada
microprocesador se debe desarrollar una aplicación, lo cual debe implicar la existencia de
un compilador para cada microprocesador o que exista alguna herramienta intermediaria
(máquina virtual) que interprete el mismo código en distintas arquitecturas.
En este apartado, se debe 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 debiera cambiar porque la implementación de nuestro
agente intermediario se hará en lenguajes de alto nivel.
La integración y/o adaptación de algunos de los módulos de la arquitectura Web se ha
considera un problema de complejidad interesante para el desarrollo de esta propuesta. En
este sentido, se necesita desglosar que componentes dentro de cada módulo pueden ser
reutilizables de la forma en la que actualmente se encuentran desarrollados, y cuales
necesitan adaptarse para resolver la problemática que pretende resolver esta propuesta de
tesis.
Otra complejidad que presenta la tesis propuesta, 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 orientados a bases de datos y
memoria caché. 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. Otro 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 y el directorio local de
almacenamiento, por mencionar algunas restricciones.
En este contexto el principal problema está con los navegadores, como el IPE
(Internet Pocket Explorer), Opera y otros; ya que tienen sus propios mecanismos de
control de caché, lo cual dificulta el accionar de nuestro prototipo de agente
intermediario, lo que conlleva a que el usuario deba configurar su navegador Web
de tal forma que el navegador no controle su caché. Aquí se proponen dos
alternativas:
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
16
a. Automatizar el proceso de configuración de la caché del navegador para que
sea transparente para el usuario [Lan04].
b. Plantear un mecanismo de acceso a los recursos informáticos más eficiente.
Otro problema potencial que presenta el desarrollo del tema de tesis propuesto es en lo
referente al sistema operativo a utilizar para el desarrollo del prototipo de agente
intermediario en la PPC, se realizó una investigación entre el sistema operativo para
dispositivos móviles Windows CE (adaptado para PPC) y una distribución de Linux llama
Familiar [fam05].
La elección de un sistema operativo a otro, implica un reto de complejidad de considerable
importancia, debido a que se manejan distintos enfoques para la gestión y planificación de
procesos, recursos y en general, una filosofía muy distinta en la forma de interactuar con el
usuario. Por medio de este trabajo de investigación se determinó que es más factible el
desarrollo en plataforma Windows CE debido a diversos factores entre los que destacan:
Windows CE se encuentra implementado en diferentes arquitecturas de
microprocesadores, tales como: ARM, MIPS, SH3; Mientras que Linux (proyecto
familiar y semejantes) sólo se encuentra implementado en arquitecturas ARM.
Inclusive, no se ha portado a todos los dispositivos PPC con este tipo de
microprocesador. Este factor juega un papel clave en nuestra decisión de sistema
operativo a realizar ya que uno de nuestros principales objetivos consiste en el
desarrollo de servicios en tres microprocesadores distintos y con Linux hasta el
momento sólo se podría desarrollar en uno.
Mayor cantidad de herramientas, documentación y entornos de programación
disponibles para está plataforma; la mayoría de los cuales están disponibles de
manera gratuita.
De manera predeterminada, Windows CE viene instalado en dispositivos PPC. El
proceso de instalación es bastante complejo para un usuario normal, ya que se
necesitan tener sólidos conocimientos en computación para llevarla acabo. Es por
esta razón de que existe una mayor cantidad de usuarios que utilizan dispositivos
PPC con Windows CE que su contraparte con Linux.
Por el contrario, Linux permite el diseño y la implementación de servicios más
especializados que su contraparte Windows CE. Esto se debe a que Linux está
implementado con una versión de su kernel muy similar a su contraparte en
servidores y estaciones de trabajo. Mientras que Windows CE es un subconjunto
mínimo de las APIs de Windows de 32 bits.
9. 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 servidores se encuentra nuestra capa de intermediarios, tanto del lado del cliente
como del lado del servidor. El modelo general propuesto consiste en lo siguiente:
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
17
MIPS
SH3
ARMARM
Internet
GAP (Gestor de Acaparamiento Pocket)
GAS (Gestor de Acaparamiento del Servidor):
SQUID
Figura 4. Esquema general de la arquitectura propuesta.
La metodología que se propone para resolver este problema consiste de las siguientes
actividades:
1. Evaluar herramientas y entornos de programación para plataforma Pocket PC.
2. Analizar los recursos informáticos a acaparar (tipo, tamaño, tiempo de
permanencia en el PPC, etc.).
3. Estudiar la(s) herramienta(s) seleccionadas.
4. Estudiar los módulos de la arquitectura Moviware correspondientes al gestor de
acaparamiento y al transcodificador de sitios Web.
5. Diseñar e implementar el módulo GAP.
6. Adaptar el GAP para los microprocesadores (ARM, MIPS, SH3).
7. Diseñar e implementar el módulo GAS.
8. Probar el sistema (GAP y GAS).
9. Redactar la documentación de la tesis.
El modelo conceptual o arquitectura con la que se pretende solucionar el problema es la
siguiente:
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
18
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
Observador
Gestor de
Desconexión
Módulos a integrar pertenecientes a Moviware
Figura 5. Arquitectura propuesta.
Esta arquitectura consta de dos partes: la primera parte del lado del dispositivo cliente
móvil PPC, y 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 (v.g. Pocket Internet Explorer)
que solicita recursos Web.
La segunda parte consiste en el intermediario que se va a desarrollar, al que se ha
denominado GAP (Gestor de Acaparamiento Pocket). Dicho intermediario constará de los
siguientes componentes:
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 Local (GDL).- Tiene la función de revisar el medio físico de
conexión y determinar si el cliente se encuentra conectado o no.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
19
3. Gestor de Acaparamiento Local (GAL).- Su función consiste fundamentalmente en :
a. Revisar si existe un recurso acaparado. En caso de existir, se manda el
recurso solicitado (en este caso el Observador deberá cambiar el encabezado
para hacer creer al navegador que la solicitud viene del exterior) al
navegador local. En caso de no existir el recurso acaparado, se mandará 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, al cual se ha denominado como GAS (Gestor de Acaparamiento del Servidor). La
arquitectura en el lado del servidor consta de los siguientes elementos:
1. Mecanismo Transcodificador (MT). Es el encargado de transcodificar los recursos
Web obtenidos del servidor Squid. Este módulo es parte de Moviware [Uri04] y se
le harán las modificaciones pertinentes a fin de integrarlo en el software que se
pretende desarrollar a través de esta propuesta de tesis.
2. Analizador HTTP. Es el encargado de analizar el contenido de los encabezado
HTTP de las solicitudes realizadas por los clientes. En este caso nos interesa
encontrar información como el recurso solicitado, el tipo de cliente que realiza la
petición (sistema operativo y tipo de microprocesador) y la fecha de modificación
del recurso solicitado, entre otros campos. Este analizador identifica el tipo de
dispositivo que realiza la conexión.
3. Mecanismo Acaparador (MA). Se encarga de dos funciones: 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 [Ver03] 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 se detecte el dispositivo desde el cual se está
realizando una petición de un recurso Web y se envié al cliente, 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. Existe la alternativa de integrar un
servidor Proxy caché con soporte a operaciones en modo de desconexión en redes
inalámbricas [Jua05], pero como se verá en la sección de alcances, no es vital para
el trabajo que se pretende desarrollar a través de esta propuesta de tesis. En caso de
que se integre dicho módulo, la conexión con el servidor Squid no se realizará de
manera directa, sino a través de este módulo.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
20
En lo referente a herramientas y entorno de programación a utilizar, aún no se han definido
las herramientas definitivas de desarrollo. Actualmente nos encontramos en una fase de
investigación y evaluación de dichas herramientas. Como posibles alternativas se tiene 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.
Por el momento no se han definido más herramientas con las cuales trabajar. Esto se
definirá completamente durante la fase de implementación del prototipo.
10. Alcance y limitaciones del proyecto
10.1 Alcances
Entre los compromisos que se pretenden alcanzar con el desarrollo del tema de tesis
propuesto, se encuentran los siguientes:
1. Análisis de los recursos a acaparar para plataformas PPC (prioridad alta).
2. Implementación de servicios para la gestión de la caché local en PPC (prioridad
alta).
3. Diseño e implementación del intermediario acaparador en el PPC (prioridad alta).
4. Integración de módulos en la arquitectura Moviware:
• Transcodificador (prioridad alta).
• Acaparador (prioridad alta).
• Gestor de desconexión (prioridad baja).
En este documento se definen como alcances de prioridad alta aquellas actividades que
están altamente acopladas al tema de tesis que se propone, y que es necesario desarrollar
para resolver la problemática general descrita en este documento.
Los alcances de prioridad media son aquellos que a pesar de ser importantes para la
solución de la problemática existente, su realización no es tan crítica como los de prioridad
alta. En este sentido, las actividades de prioridad media pueden ser factibles de sufrir
cambios o en su defecto se pudiere llegar el caso de omitirse si el tiempo de desarrollo del
tema de tesis propuesto se encuentra retrasado.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
21
Las actividades con nivel de prioridad baja son aquellas que se realizarán dependiendo de si
se cuenta con el tiempo suficiente para ello. Dichas actividades no forman la parte medular
del tema de tesis propuesto y son consideradas como actividades auxiliares o
complementarias.
10.2 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 se ejecute sobre arquitecturas de
microprocesadores más modernos).
3. El acaparamiento en el GAP estará limitado a las características propias con que
cuente cada dispositivo PPC (se definirá un sistema con características mínimas
para realizar el acaparamiento).
4. No se realizará reintegración de páginas Web, sólo se hará la sincronización del
contenido de las cachés.
5. 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
correcta integración).
11. Cronograma de actividades
Se han dividido las actividades a realizar en periodos cuatrimestrales, esto con el objetivo
de ser más claros y por cuestión de espacio. Se han marcado con una ‘X’, las semanas
donde se tienen contempladas vacaciones y en las cuales el trabajo se tiene que realizar
antes.
La calendarización de actividades a realizar el primer cuatrimestre (septiembre-diciembre
de 2005) es la siguiente:
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
22
SEPT OCT NOV DIC
# Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Evaluación de herramientas
Embedded Visual Tools
Visual Studio .Net
Java 2 Micro Edition
Otras herramientas de programación
Comparativas de las herramientas
2 Análisis de los recursos a acaparar
Tamaño
Tipo de recursos
Estructura de almacenamiento
Documentación
3 Estudio herramienta seleccionada
4 Estudio de Moviware
Acaparador
Contenedor de Patrones
Transcodificador
Gestor de desconexión
Documentación
5 Diseño e implementación del GAP X X
Observador
Primera presentación cuatrimestral
Gestor de Desconexión Local X X
Figura 6. Cronograma de actividades septiembre-diciembre de 2005.
Las actividades planeadas para el cuatrimestre (enero-abril 2006) son las siguientes:
ENE FEB MAR ABR
# Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
5 Diseño e implementación del GAP
Gestor de Acaparamiento Local
Pruebas
6 Adaptación del GAP
ARM
MIPS
SH3
7 Diseño e implementación del GAS X X
Analizador HTTP
Integración del transcodificador X X
Integración del acaparador
Segunda presentación cuatrimestral
Redacción de un artículo de divulgación
Sincronizador de cachés
Figura 7. Cronograma de actividades enero-abril de 2006.
El último cuatrimestre corresponde al período mayo-agosto de 2006, en el cual se han
planeado realizar las siguientes actividades:
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
23
MAY JUN JUL AGO
# Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
7 Diseño e implementación del GAS
Gestor de desconexión
Pruebas
8 Pruebas
Integración GAP y GAS
Depuración
9 Redacción de tesis X X
Pruebas
Capítulos X X
Revisiones
Tercera presentación cuatrimestral
Redacción de artículos de divulgación
Examen de grado
12. Glosario
Agente Es un componente de software intermedio (middleware) que capacita a un objeto
que resida en un cliente para enviar un mensaje a un método que esté encapsulado
en otro objeto que resida en el servidor [Way95].
Son programas altamente compatibles, interoperables, corriendo en una
infraestructura de red ubicua, tolerante a fallas, orientada a objetos, y un espacio
de memoria seguro.
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. La meta inicial era construir un microprocesador de
bajo costo, con poco consumo de energía y alto rendimiento.
El ARM es un microprocesador CMOS de 32 bits diseñado en arquitectura RISC,
lo cual significa que tiene un conjunto pequeño de instrucciones en comparación
con arquitecturas CISC como x86 (familia de microprocesadores de Intel) o m68k
(familia de microprocesadores de Motorola). RISC permite optimizar la velocidad
de procesamiento usando 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.
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.
Este es el tipo de microprocesador más usado en dispositivos PPC; de hecho, la
famosa iPaq (la PPC más vendida en el mercado) 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
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
24
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,
las arquitecturas híbridas como Xscale, 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.
Caching Es la replicación y almacenamiento de datos en el cliente o cerca del Proxy
(intermediario) siguiendo la petición de datos hecha al servidor remoto por el
cliente. Las copias son creadas y gestionadas por el cliente o proxy (basado en los
patrones de acceso de los clientes) y no están controladas de ninguna forma por el
servidor que provee los datos.
Las cachés de sitios Web pueden utilizar precarga (petición de documentos antes
de que sean pedidos por el cliente) en orden de disminuir la latencia de respuesta
de futuras peticiones del cliente. La predicción de que páginas serán pedidas por el
cliente es la clave de esta metodología. Estudios revelan que la eficiencia del
caching oscila entre el 40% y 50% [Wan02].
El caching de páginas Web reduce el consumo de ancho de banda, disminuyendo
el tráfico de la red evitando congestiones. Se reduce la latencia de acceso a los
datos por dos razones:
1. Los documentos frecuentemente accedidos están cargados cerca del
Proxy caché y no en el servidor, por lo que el retardo en la transmisión es
minimizado.
2. El caching de páginas Web reduce la carga de trabajo de los servidores
Web. Si el servidor remoto no está disponible, los clientes pueden obtener
una copia del servidor a través del Proxy.
CISC Complex Reduction Set Code. Es una arquitectura de microprocesadores que
contienen una gran cantidad de instrucciones, para resolver diversos problemas,
tiene la ventaja que en una sola instrucción se resuelve un solo problema, su
desventaja radica en el tiempo que se tarda en buscar una instrucción.
CMOS Semiconductor de Metal-Óxido complementario. Familia lógica de Circuitos
Integrados (CI) que contienen transistores unipolares de efecto de campo
(MOSFET).
Gestor Implica la planificación, supervisión y control de procesos y eventos que ocurren
entre estos procesos.
Intermediario Software que conecta dos aplicaciones separadas.
Middleware Se define como una capa de software ubicada entre el sistema operativo y las
aplicaciones distribuidas que interactúan vía la red. No existe una definición única
para el término middleware, debido principalmente a que su significado depende
del ambiente de la aplicación. Middleware es una arquitectura de tres capas:
clientes, intermediarios, y servidores. Esta infraestructura facilita la interacción
entre módulos de software distribuido.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
25
La función principal de una capa middleware es ocultar la complejidad del
ambiente de red, ya que el middleware enmascara la heterogeneidad de
plataformas de cómputo, sistemas operativos, lenguajes de programación,
tecnologías de red, etc [Pre02].
MIPS MIPS es un microprocesador del tipo VLSI RISC de 32 bits desarrollado por la
compañía japonesa NEC, cuya característica principal es el entubamiento. Cada
instrucción en promedio es realizada en dos ciclos de reloj.
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 vendida 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.
Pipelining “Entubamiento”. Modo de ejecución que tienen algunos microprocesadores de
ejecutar dos o más instrucciones de manera paralela, esto se logra canalizando
cada nueva instrucción después de un ciclo de reloj de la anterior instrucción.
Precarga Es un proceso concurrente; es decir, en línea, que transfiere de la caché los
archivos necesitados durante periodos de bajo tráfico en la red [CF03].
De manera general, la precarga es una técnica que reduce el costo de la falta de
caché durante desconexión. Es decir, la carga se hace antes de la desconexión y
está lista para su uso en cualquier momento.
La precarga se basa en el hecho de que la mayoría de los archivos (información)
son leídos de manera secuencial, a este hecho se le llama lectura anticipada. La
precarga hace énfasis en la reutilización de la información, por lo que trata de
lograr un ahorro de lecturas. Para saber que recursos se deben precargar
generalmente se utilizan técnicas que tratan de predecir o “Adivinar” los posibles
recursos que el usuario podría utilizar.
La precarga puede traer un exceso en el tráfico de la red, y si no se hace de manera
adecuada, puede traer como resultado la transmisión de páginas que nunca pueden
ser requeridas por los clientes. La precarga puede ser mejorada basada en la
sintaxis de los prefijos URL o modelos estadísticos capturando patrones de acceso
temporales de páginas Web.
Proxy Servidor que actúa como intermediario entre el cliente y el servidor, haciendo las
solicitudes del cliente y pasando los resultados nuevamente al cliente.
Replicación En computación es de manera muy simple, el almacenamiento o respaldo de la
información [rh05].
Con respecto a la teoría de base de datos, la replicación es el proceso de crear y
manejar versiones duplicadas de una base de datos. No solo incluye la copia de
información, sino involucra que los cambios realizados en una réplica se reflejen
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
26
en las demás réplicas (proceso de sincronización).
Entre las características que posee la replicación se encuentran las siguientes:
1. Aumentar la confiabilidad al tener respaldos independientes de cada
archivo.
2. Permitir el acceso al archivo aunque falle un servidor de archivos. El
lema aquí es el “espectáculo debe continuar”.
3. Repartir la carga de trabajo entre varios servidores.
En lo referente a cómputo móvil y/o nómada, la replicación de la información
debe ser dinámica, i.e., los datos y los servicios deben seguir a los usuarios.
RISC Reduce Instruction Set Code. Es una arquitectura de microprocesadores que se
caracteriza por tener pocas instrucciones, las cuáles, son lo mas sencillas posibles,
además, se cuentan con gran cantidad de memoria auxiliar (registros) para que su
velocidad sea más rápido; es decir, en pocos ciclos de reloj se realizan muchas
instrucciones.
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 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.
SH4 es un microprocesador RISC multimedia, su característica principal es que
usa vectores de punto flotante de longitud 4 para mejorar el procesamiento de
imágenes digitales. Actualmente acaba de salir al mercado el SH5.
SIMD Instrucciones simples múltiples datos, es el esquema general donde trabajan los
microprocesadores RISC.
VLSI Very Large Scale Integration. Integración en un solo chip de 10,000 a 99,999
compuertas.
13. Referencias bibliográficas
[Ala02] 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.
[BP98] Badrinath B. R., Phatak S.H., “An Architecture for Mobile Databases”, Dept. of
Computer Science, Rutgers University. 1998.
[CF03] Cherniack Mitch, Franklin Michael J., “Expressing User Profiles for Data
Recharging”, Brandeis University, University of California at Santa Cruz. 2003.
[Cha03] Chanchaem Thong, “A Survey on Internet Content Transcoding for Universal
Access”, Department of Computer Science, Kent State University, mayo de 2003.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
27
[Cla02] Clark David, “Mobile processors begin to grow up”, revista IEEE Computer, pp. 22-
25, marzo de 2002.
[dmc05] “Data management for Mobile Computing, Case Studies”,
http://www.cs.ucv.ac.cy/courses/EPL651/Schedule__Readings/
Chapter 3/body_chapter_3.html, Departamento de Ciencias Computacionales,
Universidad de Chipre, marzo de 2005.
[fam05] “Familiar Linux Project”. http://familiar.handhelds.org/ Última consulta: julio de
2005.
[Gol05] Gold Jack, “Pocket PC: An Evolutionary Advance
Infrastructure Strategies, Web & Collaboration Strategies”,
febrero de 2005, http://www.gartner.com/
[Gon03] 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.
[Hen05] Hernández Méndez Gabriel. “Generador de patrones de navegación de usuarios
aplicando Web log mining”, tesis de maestría en desarrollo, cenidet, junio de 2005.
[HKS03] Hwang Yonghyun, Kim Jihong, Seo Eunkyong. “Structure-AwareWeb Transcoding
for Mobile Devices”. Universidad Nacional de Seul. Revista IEEE Internet
Computing. Septiembre-octubre de 2003.
[HNS+98] Hattori Toshihiro, Nitta Yusuke, Seki Mitsuho, Narita Susumu, Uchiyama Kunio,
Takahashi Tsuyoshi, Satomura Ryuichi, “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.
[Kue97] Kuenning Geofrrey H. “Seer: Predictive file hoarding for Mobile Operation”.
Universidad de California en Los Àngeles. Mayo de 1997.
[Jua05] Juárez Pérez Fredy, “Servidor Proxy Caché con Soporte a Operaciones en Modo
Desconexión en Redes Inalámbricas”, tesis de maestría, cenidet, febrero de 2005.
[Lan04] Landa Miguez Xochitl. “Mecanismos de configuración dinámica para grupos de
Proxy-caches cooperativas en la Web”, tesis de maestría, cenidet, diciembre de 2004.
[Man02] Manrique López de la Fuente José
“¡¡ Hay un pingüino en mi bolsillo!!“, AsturLinux
http://www.asturlinux.org/~jsmanrique/odblinux.html, julio de 2002.
[McPh05] McPherson Frank. “Pocket PC a su alcance”. Tercera edición, México, 2005, ISBN:
970-10-4731-1
[Pre02] Pressman Roger S., “Ingeniería del Software. Un enfoque práctico” Quinta edición,
España, 2002, ISBN: 84-481-3214-9, pp. 601.
Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC
28
[rh05] “Replication Vs Hoarding“,
http://www.cs.berkeley.edu/~adj/cs2941.s98/dbmate/sld008.htm, febrero de 2005.
[RHD+99] Reiher P., Heidemann J., Ratner D., Skinner G., Popek G., “Resolving File Conflicts
in the Ficus File System”, Department of Computer Science, University. 1999.
[Sat98a] Satyanarayanan M., “The Coda Distributed File System”. Linux Journal, no. 50,
junio de 1998.
[Sat98b] Satyanarayanan M., “Fundamental Challenges in Mobile Computing”, School of
Computer Science, Carnegie Mellon University, 1998
[Tri04] Trifonova Anna, “Hoarding Content in M-Learning Context”, tesis doctoral en
desarrollo, Universidad de Trento, Italia, 2004.
[Uri04] Uriarte Cabada Claudia Selene. “Transformador de Contenidos Web para Asistentes
Personales Digitales”, tesis de maestría, cenidet, julio de 2004.
[Val02] 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.
[Ver03] Verduzco Reyes Gustavo, “Gestor de Acaparamiento de Patrones de Sitios Web en
Clientes Móviles”, tesis de maestría, cenidet, agosto de 2003.
[VwL97] VanderWiel Steven P. y Lilja David J. “When Caches Aren’t Enough: Data
Prefetching Techniques”. Universidad de Minnesota. 1997.
[Wan02] Wang Jia, “A Survey of Web Caching Schemes for the Internet”, 2002.
[Way95] Wayner Meter, “Agents unleashed: a public domain look at agent technology”,
Estados Unidos, 1995, ISBN: 0-12-738765-x, pp. 358.
[web05] “A Word Definition From the Webopedia Computer Dictionary”,
http://www.webopedia.com, febrero de 2005.

More Related Content

Viewers also liked

Créez votre cabinet d'affaires international dans le développement des entrep...
Créez votre cabinet d'affaires international dans le développement des entrep...Créez votre cabinet d'affaires international dans le développement des entrep...
Créez votre cabinet d'affaires international dans le développement des entrep...patrickserge
 
Nouveautés Sage Crm Vente Partner v11
Nouveautés Sage Crm Vente Partner v11Nouveautés Sage Crm Vente Partner v11
Nouveautés Sage Crm Vente Partner v11Fred Canevet
 
La prévoyance autrement 2015
La prévoyance autrement 2015La prévoyance autrement 2015
La prévoyance autrement 2015Charles-Antoine
 
Images etonnantes
Images etonnantesImages etonnantes
Images etonnanteslyago
 
Opusculo defensa disertacion nov 2010
Opusculo defensa disertacion nov 2010Opusculo defensa disertacion nov 2010
Opusculo defensa disertacion nov 2010Liz Pagan
 
Les actualités de la Roumanie pour le Mois de Septembre 2015
Les actualités de la Roumanie pour le Mois de Septembre 2015Les actualités de la Roumanie pour le Mois de Septembre 2015
Les actualités de la Roumanie pour le Mois de Septembre 2015Marc Pasal Huot
 
Fundación Rafael Preciado
Fundación Rafael PreciadoFundación Rafael Preciado
Fundación Rafael PreciadoNaxhieli
 
Vantorre remy (virelles)
Vantorre remy (virelles)Vantorre remy (virelles)
Vantorre remy (virelles)Fabrice Carlier
 
Réseau ACCTIFS Saint Etienne : La visibilité sur le web
Réseau ACCTIFS Saint Etienne : La visibilité sur le webRéseau ACCTIFS Saint Etienne : La visibilité sur le web
Réseau ACCTIFS Saint Etienne : La visibilité sur le webBrioude Internet
 
Présentation de Xplanner pour Sage CRM
Présentation de Xplanner pour Sage CRMPrésentation de Xplanner pour Sage CRM
Présentation de Xplanner pour Sage CRMFred Canevet
 
Dossier de Presse Ouest Numérique
Dossier de Presse Ouest NumériqueDossier de Presse Ouest Numérique
Dossier de Presse Ouest NumériqueSimon Robic
 
Tu familia es un tesoro ii
Tu familia es un tesoro iiTu familia es un tesoro ii
Tu familia es un tesoro iikatrojcr
 
Ruta de Calidad Solidaria. Transferencia
Ruta de Calidad Solidaria. TransferenciaRuta de Calidad Solidaria. Transferencia
Ruta de Calidad Solidaria. TransferenciaLluís Arague
 
NX 9.0 Examples
NX 9.0 ExamplesNX 9.0 Examples
NX 9.0 ExamplesGil Stark
 
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuits
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuitsCircuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuits
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuitsHorizon-Vietnam-Voyage
 
Clase 8 equilibrio quimico
Clase 8 equilibrio quimicoClase 8 equilibrio quimico
Clase 8 equilibrio quimicojorge garcia
 

Viewers also liked (20)

Créez votre cabinet d'affaires international dans le développement des entrep...
Créez votre cabinet d'affaires international dans le développement des entrep...Créez votre cabinet d'affaires international dans le développement des entrep...
Créez votre cabinet d'affaires international dans le développement des entrep...
 
GEDI Martinique
GEDI MartiniqueGEDI Martinique
GEDI Martinique
 
Nouveautés Sage Crm Vente Partner v11
Nouveautés Sage Crm Vente Partner v11Nouveautés Sage Crm Vente Partner v11
Nouveautés Sage Crm Vente Partner v11
 
La prévoyance autrement 2015
La prévoyance autrement 2015La prévoyance autrement 2015
La prévoyance autrement 2015
 
AMfine Dissémination
AMfine DisséminationAMfine Dissémination
AMfine Dissémination
 
Images etonnantes
Images etonnantesImages etonnantes
Images etonnantes
 
Garcia Marquez
Garcia MarquezGarcia Marquez
Garcia Marquez
 
Curso
CursoCurso
Curso
 
Opusculo defensa disertacion nov 2010
Opusculo defensa disertacion nov 2010Opusculo defensa disertacion nov 2010
Opusculo defensa disertacion nov 2010
 
Les actualités de la Roumanie pour le Mois de Septembre 2015
Les actualités de la Roumanie pour le Mois de Septembre 2015Les actualités de la Roumanie pour le Mois de Septembre 2015
Les actualités de la Roumanie pour le Mois de Septembre 2015
 
Fundación Rafael Preciado
Fundación Rafael PreciadoFundación Rafael Preciado
Fundación Rafael Preciado
 
Vantorre remy (virelles)
Vantorre remy (virelles)Vantorre remy (virelles)
Vantorre remy (virelles)
 
Réseau ACCTIFS Saint Etienne : La visibilité sur le web
Réseau ACCTIFS Saint Etienne : La visibilité sur le webRéseau ACCTIFS Saint Etienne : La visibilité sur le web
Réseau ACCTIFS Saint Etienne : La visibilité sur le web
 
Présentation de Xplanner pour Sage CRM
Présentation de Xplanner pour Sage CRMPrésentation de Xplanner pour Sage CRM
Présentation de Xplanner pour Sage CRM
 
Dossier de Presse Ouest Numérique
Dossier de Presse Ouest NumériqueDossier de Presse Ouest Numérique
Dossier de Presse Ouest Numérique
 
Tu familia es un tesoro ii
Tu familia es un tesoro iiTu familia es un tesoro ii
Tu familia es un tesoro ii
 
Ruta de Calidad Solidaria. Transferencia
Ruta de Calidad Solidaria. TransferenciaRuta de Calidad Solidaria. Transferencia
Ruta de Calidad Solidaria. Transferencia
 
NX 9.0 Examples
NX 9.0 ExamplesNX 9.0 Examples
NX 9.0 Examples
 
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuits
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuitsCircuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuits
Circuit au Vietnam - Vietnam essentiel en 10 jours et 09 nuits
 
Clase 8 equilibrio quimico
Clase 8 equilibrio quimicoClase 8 equilibrio quimico
Clase 8 equilibrio quimico
 

Similar to Propuestafinal

Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...
Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...
Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...Juan Carlos Olivares Rojas
 
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PC
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PCGestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PC
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PCJuan 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
 
Administracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareAdministracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareMario José Marazzi
 
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
 
Memoria pfc, Metaproxy documentation
Memoria pfc,  Metaproxy documentationMemoria pfc,  Metaproxy documentation
Memoria pfc, Metaproxy documentationslok69
 

Similar to Propuestafinal (20)

Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...
Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...
Gestor de Acaparamiento y Transcodificación de Sitios Web en Dispositivos Móv...
 
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PC
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PCGestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PC
Gestor de Acaparamiento y Transcodificación de Sitios Web para Pocket PC
 
Reporte1
Reporte1Reporte1
Reporte1
 
Creatividad
CreatividadCreatividad
Creatividad
 
Jiisic
JiisicJiisic
Jiisic
 
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
 
Premio intel
Premio intelPremio intel
Premio intel
 
Administracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de softwareAdministracion de proyectos en areas dedesarrollo de software
Administracion de proyectos en areas dedesarrollo de software
 
METODOLOGIA EMPLEADA
METODOLOGIA EMPLEADAMETODOLOGIA EMPLEADA
METODOLOGIA EMPLEADA
 
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...
 
Tema 3
Tema 3Tema 3
Tema 3
 
Tic guía 1
Tic  guía 1Tic  guía 1
Tic guía 1
 
Presente Y Futuro De Los Si
Presente Y Futuro De Los SiPresente Y Futuro De Los Si
Presente Y Futuro De Los Si
 
EXPOSICION DE LA METODOLOGIA
EXPOSICION DE LA METODOLOGIAEXPOSICION DE LA METODOLOGIA
EXPOSICION DE LA METODOLOGIA
 
Carlos arteche gonzalez
Carlos arteche gonzalezCarlos arteche gonzalez
Carlos arteche gonzalez
 
P cosnet
P cosnetP cosnet
P cosnet
 
Bbdd
BbddBbdd
Bbdd
 
Reporte3
Reporte3Reporte3
Reporte3
 
Repositorio
RepositorioRepositorio
Repositorio
 
Memoria pfc, Metaproxy documentation
Memoria pfc,  Metaproxy documentationMemoria pfc,  Metaproxy documentation
Memoria pfc, Metaproxy documentation
 

More from 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
 

More from 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...
 

Propuestafinal

  • 1. S.E.P. S.E.S. D.G.E.S.T. CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO cenidet “GESTOR DE ACAPARAMIENTO DE SITIOS WEB TRANSCODIFICADOS PARA PLATAFORMA POCKET PC” PROPUESTA DE TESIS PRESENTA ING. JUAN CARLOS OLIVARES ROJAS Director de Tesis M.C. JUAN GABRIEL GONZÁLEZ SERNA Codirector de Tesis DRA. AZUCENA MONTES RENDÓN CUERNAVACA, MORELOS AGOSTO DE 2005
  • 2. i Índice 1. Introducción___________________________________________________________ 1 2. Marco conceptual ______________________________________________________ 2 2.1 Acaparamiento____________________________________________________________ 2 2.1.1 Estado de acaparamiento de datos__________________________________________________ 3 2.1.2 Estado de desconexión __________________________________________________________ 3 2.1.3 Estado de reintegración__________________________________________________________ 4 2.1.4 Acaparamiento de sitios Web _____________________________________________________ 4 2.2 Transcodificación de contenidos Web _________________________________________ 5 2.3 Pocket PC ________________________________________________________________ 5 3. Antecedentes del proyecto ________________________________________________ 7 4. Objetivos del proyecto de tesis_____________________________________________ 9 4.1 Objetivo general___________________________________________________________ 9 4.2 Objetivos particulares ______________________________________________________ 9 5. Justificación y beneficios del proyecto ______________________________________ 9 5.1 Justificación ______________________________________________________________ 9 5.2 Beneficios _______________________________________________________________ 10 6. Trabajos relacionados con el proyecto _____________________________________ 11 6.1 Hoarding Content in M-Learning Context ____________________________________ 11 6.2 Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles __________ 12 6.3 Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor Móviles ____________________________________________________________________ 12 6.4 Transformador de Contenidos Web para Asistentes Personales Digitales___________ 13 6.7 Avantgo_________________________________________________________________ 13 6.8 Web Clipping ____________________________________________________________ 13 7. Descripción del problema _______________________________________________ 14 8. Descripción de la complejidad del problema ________________________________ 14 9. Metodología de la solución ______________________________________________ 16 10. Alcance y limitaciones del proyecto ______________________________________ 20 10.1 Alcances _______________________________________________________________ 20 10.2 Limitaciones ____________________________________________________________ 21 11. Cronograma de actividades_____________________________________________ 21 12. Glosario ____________________________________________________________ 23 13. Referencias bibliográficas______________________________________________ 26
  • 3. ii Figuras Figura 1. Esquema general del proceso de acaparamiento._______________________________________ 2 Figura 2. iPaq, Pocket PC de la compañia Compaq. ____________________________________________ 7 Figura 3. Arquitectura Moviware. __________________________________________________________ 8 Figura 4. Esquema general de la arquitectura propuesta. _______________________________________ 17 Figura 5. Arquitectura propuesta.__________________________________________________________ 18 Figura 6. Cronograma de actividades septiembre-diciembre de 2005. _____________________________ 22 Figura 7. Cronograma de actividades enero-abril de 2006.______________________________________ 22
  • 4. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 1 1. 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 (PDA1 ), 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. Según [Gol05], durante el último trimestre de 2004, se han vendido 1.4 millones de PDAs (Pocket PC) con Windows CE, lo cual supone que Microsoft encabeza 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 problemáticas que presentan los dispositivos móviles es la continua desconexión a la que se ven sometidos, la cual se presenta de manera más frecuente 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. 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 de estos dispositivos (comparado con equipos convencionales o de escritorio). Los problemas anteriores conllevan a un cambio de paradigma en la forma de realizar software y hardware para este tipo de dispositivos, razón por la cual se plantea la creación de nuevos mecanismos o metodologías para trabajar sin conexión y lograr un mejor despliegue de la información en dispositivos móviles. 1 Personal Digital Asistant, por sus siglas en inglés.
  • 5. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 2 2. Marco conceptual Para el buen entendimiento de esta propuesta de tesis, es necesario explicar algunos conceptos que aclaren básicamente las siguientes preguntas: ¿Qué es acaparamiento? ¿En qué consiste la transcodificación de contenidos Web? ¿Qué es un dispositivo Pocket PC? Al final de esta propuesta se muestra un glosario con algunos términos mencionados durante el transcurso de este trabajo y que no se consideraron para aparecer en esta sección, pero que se recomienda leer para aclarar algunos conceptos. 2.1 Acaparamiento Antes de describir el concepto de acaparamiento, y en especial el concepto de acaparamiento de sitios Web, es necesario definir una serie de conceptos que en esencia son muy similares, pero que se enfocan a resolver problemáticas un tanto diferentes. Los conceptos a los cuales se hace referencia son: la replicación, la precarga (prefetching) y la caché (caching). El acaparamiento (hoarding) se puede definir como el proceso de replicación y procesamiento en desconexión de datos previamente seleccionados y copiados localmente en el cliente móvil [Val02]. Como dato anecdótico, muchos animales como los roedores, hacen uso del concepto de acaparamiento, para ello acumulan alimento para sobrevivir en épocas de invierno. De hecho, algunos lingüistas creen que la palabra hámster (un tipo de roedor) deriva del inglés hoarding que significa acaparamiento [dmc05]. En informática, el concepto de acaparamiento es un proceso integral, el cual incluye tres etapas: desconexión, reintegración y propiamente el acaparamiento. A continuación se describe cada una de las partes que componen el proceso completo de acaparamiento. Reintegración Acaparamiento Desconexión Figura 1. Esquema general del proceso de acaparamiento.
  • 6. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 3 2.1.1 Estado de acaparamiento de datos 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. Los recursos requeridos para las operaciones son cargados 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 definan 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 los recursos que podría solicitar. Se deben considerar los siguientes aspectos a la hora de realizar acaparamiento: 1. ¿Cuál debe ser la unidad de acaparamiento: bloques de archivos, archivos, grupos de archivos o directorios? 2. ¿Cuándo se debe acaparar? Cuando se necesita la información (i.e., cuando la información es crítica. En nuestro caso la información crítica corresponde a los sitios Web que visitan los usuarios y que se necesitan acaparar). 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. De forma general el acaparamiento se realiza a través de los usuarios, ya que éstos proporcionan información ya sea de forma explícita o implícita. 2.1.2 Estado de desconexión En este estado, las aplicaciones utilizan los datos disponibles de manera local. La petición de los recursos se puede realizar insertando dichas peticiones en una estructura de datos del tipo FIFO2 para ser atendida a la brevedad, cuando ocurra un evento de reconexión. En esta fase surgen diversas dificultades como las siguientes: 2 FIFO (First In First Out. Primero en entrar, primero en salir) Estructura de datos del tipo cola.
  • 7. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 4 1. ¿Qué información debe mantenerse en una caché para su correcta reintegración? 2. ¿Se deben mantener caches pequeñas para ahorrar memoria y reducir el tiempo del retardo de actualización y reintegración cuando ocurra una reconexión? 2.1.3 Estado de reintegración Cuando un cliente se encuentra en estado de desconexión, generalmente realiza modificaciones a los recursos informáticos acaparados de manera local. Al realizar dichos cambios y volver a un estado de conexión, se presenta una inconsistencia entre los datos locales y los del servidor. Para evitar dichas inconsistencias, es necesario realizar una conciliación (ponerse de acuerdo dos entidades sobre un problema común) entre la copia del cliente y la del servidor. Existen varias alternativas para realizar una conciliación una de ellas descarta los cambios realizados en la copia local, dejando como válida la del servidor. Otro esquema consiste en invalidar la copia del servidor y dejar como válidas las copias del cliente. El problema se presenta cuando varios clientes modifican la misma copia con valores distintos. Para el acaparamiento de sitios Web no es necesario realizar una reintegración, ya que las páginas acaparadas en el cliente no son modificadas por el usuario. Los recursos desde el lado cliente son de solo lectura, lo cual implica que no existan copias modificadas que reconciliar. 2.1.4 Acaparamiento de sitios Web Una de las características más preponderantes que tienen las páginas Web, es que son más para la visualización que para actualización, por lo que este hecho conduce a un nuevo planteamiento de la metodología de acaparamiento, en este caso se debe determinar ¿qué páginas se deben acaparar? 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 modo desconexión, la comunicación se realiza de manera asíncrona, lo cual permite realizar peticiones automáticamente que serán puestas en un buffer (contenedor) cuando la conexión se haya perdido, y debe continuar cuando la conexión sea restablecida. Al final, los usuarios pueden realizar múltiples peticiones de páginas Web sin tener que esperar las respuestas. Las respuestas recibidas del cliente son puestas en una cola en el servidor para su posterior reintegración. 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.
  • 8. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 5 3. Control de reintegración de réplicas. 2.2 Transcodificación de contenidos Web Transcodificación (transcoding) se define como 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 [Cha03]. Para dejar más claro el concepto de transcodificación, se pondrá el siguiente ejemplo: el sistema de transmisión de televisión norteamericano NTSC3 , es usado en muchos países incluido México, pero desgraciadamente es incompatible con el sistema europeo de transmisión: el PAL4 . Ambos sistemas manejan diferentes formas de visualizar las imágenes en pantalla, mientras en NTSC se transmiten 525 líneas en una frecuencia de 60 hertz (hz), el sistema PAL maneja 625 líneas con 50 hz como frecuencia. Debido a estas diferencias, no se pueden visualizar secuencias de video grabadas en un formato a otro, aunque se trate del mismo video. Para poder realizar una conversión de un formato a otro se necesita de un transcodificador. Éste recibe una señal de video en un formato dado y la transforma a otro formato conservando la misma secuencia de imágenes que componen el video. Cabe hacer mención que el término transcodificación sólo se aplica cuando existe una transformación de códigos, cuyo objetivo fundamental tiene que ver con la adaptación de su contenido para su correcta visualización; por ejemplo, la transformación de un código de un lenguaje de programación de alto nivel (Pascal) a otro de alto nivel (C), no se considera transcodificación, por que, si bien se realiza una transformación de código de un lenguaje a otro, dicha transformación no tiene como objetivo final una adaptación del mismo para su correcto despliegue. El mecanismo de transcodificación de contenidos Web, lleva a cabo una reorganización y agrupación de los elementos contenidos en la página Web solicitada de acuerdo a la delimitación del lenguaje de entrada (HTML5 ). 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 (estructura) original del documento o página. 2.3 Pocket PC Es una de las plataformas no convencionales cuya porción de mercado con respecto a plataformas tradicionales ha ido en amplio aumento en estos días. El objetivo de este apartado es dar una idea general sobre el tema, por lo que se trata de no profundizar en términos técnicos referentes a la electrónica de estos dispositivos. 3 National Television Standards Comitte 4 Phase Alternating Line 5 Hyper Text Markup Language
  • 9. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 6 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 popular es Outlook de Microsoft. • Cuentan con herramientas precargadas que varían dependiendo del modelo y fabricante, las cuales incluyen entre otras, las versiones de Pocket Word (procesador de textos), Pocket Excel (hoja de cálculo), Pocket Internet Explorer (navegador Web), entre otros. • 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 WiFi6 (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 de por lo menos 16 colores, capacidad de iluminación de la pantalla y 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 de sincronización (serial o USB), 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. Dichos procesadores se encuentran optimizados para las tareas que realizan; es decir, se utilizan procesadores (descritos más adelante en esta sección) no muy comunes en arquitecturas tradicionales. • 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. • Utilizan hardware muy diverso en su construcción. Destaca el uso de una gran variedad de microprocesadores de los cuales sobre salen tres: ARM, SH3 y MIPS. 6 Wireless Fidelity.
  • 10. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 7 Figura 2. iPaq, Pocket PC de la compañia Compaq. 3. Antecedentes del proyecto Este proyecto de tesis forma parte de la arquitectura del proyecto Moviware [Gon03]. 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 eventos mientras se encuentran trabajando. Es una plataforma prototipo que se compone de los siguientes módulos: 1. Gestor 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) [Ala02]. 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 [Val02] [Hen05]. 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 [Ver03].
  • 11. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 8 4. Transcodificador de contenidos Web. Este componente se encarga de devolver recursos Web a dispositivos móviles, atendiendo a las características particulares de esos dispositivos [Uri04]. 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 FTP FTP 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 FTP FTP Gestor de Desconexión Gestor de Desconexión HTTPHTTP FTP FTP Proxy Cache Squid Cache transcodificada Cache Gestor de caches Intranet IEEE802.11 Figura 3. Arquitectura Moviware. Esta propuesta de tesis se centrará en la parte que tiene que ver con los módulos que conforman el cliente móvil inalámbrico (en nuestro caso dispositivos PPC), en particular con el intermediario que interactúa con el gestor de acaparamiento local y el transcodificador de contenidos Web. Además, nuestro trabajo partirá de los módulos que corresponden al minero para obtener el conjunto de datos que se habrán de replicar en el cliente móvil. En el óvalo con línea continua se muestra el área principal donde se enfocará la tesis propuesta en este documento. Es en este punto, donde se espera lograr la mayor aportación de este trabajo que consistente el desarrollo de servicios en esta plataforma. En los óvalos con líneas punteadas en cuadros se muestran los dos módulos con los que habrá que integrar y/o adaptar su funcionalidad para que trabajen en conjunto con la finalidad de servir a los dispositivos PPC. Por otra parte, en el óvalo con líneas punteadas en círculo se muestra el módulo del cual se obtendrán los patrones de acceso a los sitios Web para realizar acaparamiento.
  • 12. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 9 4. Objetivos del proyecto de tesis 4.1 Objetivo general El objetivo de este tema de tesis 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. 4.2 Objetivos particulares Entre los objetivos particulares se encuentran: 1. Evaluación de nuevas tecnologías y herramientas de programación para dispositivos PPC. 2. Desarrollo de software propietario en plataformas no convencionales, específicamente para microprocesadores ARM, MIPS y SH3. 3. Integración y/o adaptación del módulo de gestión de acaparamiento de sitios Web [Ver03] perteneciente a la arquitectura Moviware, para la gestión de los recursos que se acapararán en el PPC. 4. Integración y/o adaptación del módulo transcodificador de contenidos Web [Uri04] perteneciente a la arquitectura Moviware, para realizar la transformación de las páginas Web que se van a acaparar en el PPC. 5. Justificación y beneficios del proyecto 5.1 Justificación La Web se ha convertido en una de las principales fuentes de búsqueda de información, de ocio, de negocio, de intercambio de datos, entre otras características. Debido a esto, su funcionamiento es crítico en muchos entornos de nuestra sociedad. Sin embargo, 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. Por este motivo, es necesario un mecanismo para hacer accesibles los recursos de un sitio Web sin necesidad de conexión. Dicho mecanismo consiste en el acaparamiento de sitios Web.
  • 13. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 10 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. Dicho mecanismo consiste en la transcodificación de sitios Web. Otra problemática que se presentan en dispositivos PPC, radica en el hecho de que existen pocas herramientas que tratan resolver el acaparamiento de páginas Web, así como de su correcta visualización en pantallas con poca resolución. Dichas herramientas son muy caras y en la mayoría de los casos poco prácticas. Esto ha motivado a que se desarrolle investigación que pueda mejorar la infraestructura y los servicios brindados por esta clase de dispositivos. Actualmente se han manejado como clientes móviles equipos portátiles que, de manera general, no dejan de ser equipos de cómputo tradicionales, con la única salvedad que dichos equipos poseen interfaces de red inalámbricas. La tendencia es hacia dispositivos de un tamaño cada vez más pequeño, razón por la cual se hace necesario el conocimiento y desarrollo de aplicaciones en plataformas no convencionales como PPC. El desarrollo de servicios en plataforma PPC lo consideramos como el punto medular de esta propuesta por varias razones. La primera de ellas, porque es la parte en la cual se espera que esta propuesta de mayor innovación y aportación. Otro argumento a su favor consiste en que el grado de dificultad de esta actividad es bastante complejo (se debe recordar que la complejidad es una métrica que no se puede medir tangiblemente, ya que representa un concepto meramente subjetivo). Además, esta actividad es la que consideramos que tiene mayor afinidad con el área de sistemas distribuidos. Por último, creemos que el diseño y la implementación de servicios en dispositivos PPC, es la actividad que refleja más fielmente la esencia de esta propuesta de tesis. 5.2 Beneficios Entre los beneficios que deseamos 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 páginas Web, al tener sitios Web acaparados 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.
  • 14. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 11 5. Ahorro de energía en dispositivos que dependen de un suministro finito. Esto como consecuencia de trabajar en modo de desconexión. 6. Ahorro en tiempo aire de equipos que se conecten a través de la red de telefonía celular para transmitir información. 6. Trabajos relacionados con el proyecto Se han encontrado varios trabajos relacionados con la temática de esta propuesta de tesis; sin embargo, la mayoría están enfocados hacia base de datos, sistemas de archivos distribuidos y precarga. De entre esos trabajos destacan: Ficus [RHD+99], Coda [Sat98a] [Sat98b], SEER [Kue97] y las bases de datos móviles [BP98]. Otros trabajos están relacionados con la transcodificación de contenidos Web [HKS03] [Cha03] y el manejo de la caché en la Web [VwL97]. Por lo que a continuación, sólo se presentan aquellos trabajos que tiene mayor grado de afinidad con la temática general de esta propuesta de tesis. 6.1 Hoarding Content in M-Learning Context En [Tri04] se trabaja en un middleware para dispositivos móviles que gestiona diversos recursos cuando se presentan eventos de desconexión. Este trabajo tiene una gran similitud con el tema de tesis que se propone en este documento; sin embargo hay algunas diferencias, la primera consiste en el área que se cubre. En esta propuesta de tesis, el enfoque es de dominio generalizado; es decir, para cualquier sitio (con sus respectivas limitantes); mientras que 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’7 ). Otro aspecto similar de este proyecto con el propuesto en este documento, 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. En este trabajo, el acaparamiento se realiza de manera especial para cada usuario; mientras que en nuestra propuesta 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 temas tres, cuatro y seis. En un sitio Web, determinar que recursos se deben acaparar a los usuarios, es más complejo, ya que las preferencias de los usuarios son extremadamente variantes. 7 Diccionario electrónico alemán-italiano, por sus siglas en alemán.
  • 15. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 12 Este trabajo relacionado propone utilizar una metodología de acaparamiento que está enfocada hacia dispositivos PPC; también realiza un tipo especial de transcodificación, la cual 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 esta propuesta de tesis, la transcodificación se realizará de manera genérica para todos los sitios Web. 6.2 Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles En [Ver03] se plantea una metodología para realizar acaparamiento en dispositivos móviles. Una de las limitantes de este trabajo corresponde a que se utilizó como dispositivos móviles a plataformas convencionales (laptops y computadoras de escritorios) con interfaces de red inalámbricas. Otra limitante que presenta este trabajo, consiste en que no realiza transcodificación de contenidos Web. En nuestra propuesta de tesis, el acaparamiento se realizará específicamente para dispositivos PPC. Este trabajo nos servirá de base para replantear la metodología de acaparamiento y adaptarla a dispositivos móviles PPC. Se tiene contemplado integrar este trabajo en nuestra propuesta de tesis para que, junto a los módulos a implementar, sea capaz de realizar acaparamiento tanto en dispositivos móviles convencionales como PPC. 6.3 Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor Móviles En [Val02] se muestra un modelo base para detectar patrones de uso de la Web. Este modelo se realiza mediante algoritmos de minería de uso Web que se aplican a bitácoras de sitios Web. Los patrones obtenidos permiten predecir los posibles recursos que el usuario podría necesitar. Dichas reglas se guardan en un contenedor de patrones. De aquí partirá esta propuesta de tesis para realizar el acaparamiento. La limitante de este trabajo radica en que sólo se obtienen patrones de comportamiento sin realizar propiamente el proceso de acaparamiento. Por si sola no tiene una aplicación final visible a los usuarios. Actualmente se está realizando un trabajo de tesis [Hen05] dentro del cenidet que pretende mejorar la funcionalidad de este trabajo, por lo que es muy probable que se utilice éste para la obtención de los patrones de acceso a sitios Web.
  • 16. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 13 6.4 Transformador de Contenidos Web para Asistentes Personales Digitales En [Uri04] se propone una metodología (la cual se tiene considerada integrar en esta propuesta de tesis) para realizar la transcodificación de páginas Web. Este trabajo relacionado no realiza el acaparamiento de estas páginas ya transcodificadas, y aunque está enfocada para dispositivos PPC, no se realizó ningún software para esta plataforma. El trabajo de transcodificación se realiza con un intermediario que se encuentra del lado del servidor, el cual pertenece a un equipo de cómputo tradicional. 6.7 Avantgo Avantgo (http://www.avantgo.com) es una herramienta comercializada por suscripción; es decir, se cobra de manera periódica por el servicio (aunque se puede tener acceso a algunas características de manera gratuita). Este programa está basado en canales (micrositios o miniportales) que se orientan a temas específicos: clima, deportes, cine, etc. No se realiza de manera formal el acaparamiento. El proceso que se realiza consiste de una replicación con diferentes niveles de profundidad (en base a los enlaces o hipervínculos). El usuario elige el límite de niveles, por lo que en general se trata de una replicación total del contenido del sitio. Una replicación selectiva involucra el tamaño y el tipo de los recursos, entre otros factores. Está disponible para PPC, Palm OS y algunos celulares con sistema operativo Symbian. El tema de tesis que se propone en este documento realiza un acaparamiento basado en patrones de acceso a sitios Web, por lo que de manera general, es diferente a esta herramienta. La idea de poner este trabajo, consiste en verificar que existen soluciones parciales al problema que se pretende atacar con el desarrollo del tema de tesis que se propone. 6.8 Web Clipping Palm Web Clipping (http://www.palmos.com/dev/tech/webclipping/) es un producto que se ejecuta en arquitecturas con sistema operativo Palm OS, por lo que aquí radica su principal diferencia en relación a nuestra propuesta de tesis. También está basado en canales al igual que avantgo, los cuales reciben el nombre de PQA8 , pero difiere del producto anterior, en que se realiza una replicación selectiva de los recursos indicados. Los PQA son pequeñas aplicaciones desarrolladas para obtener “recortes” (clippings) de páginas Web normales, los cuales permiten tener a los usuarios los recursos de la forma en que a ellos más les guste. Estos recortes son en cierta medida una especie de personalización de contenidos. Esta herramienta trata de implementar una especie de replicación de contenidos Web con ajuste de contenido. La diferencia fundamental con el tema de tesis que se propone, por una parte consiste en que la transcodificación se realiza de manera general mientras que la que 8 Palm Query Application
  • 17. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 14 de este trabajo relacionado se realiza por usuario. Por otra parte el esquema de almacenamiento de recursos Web en el cliente es más transparente al usuario en esta propuesta de tesis que en dicho trabajo relacionado, ya que en éste último, el usuario debe seleccionar explícitamente los recursos que se deben almacenar; mientras que en esta propuesta de tesis la selección de los recursos se realiza de manera explícita. 7. Descripción del problema Al estar conectado un dispositivo PPC, esté puede acceder a múltiples recursos a través de la Web. Debido a la dinámica de estos dispositivos, éstos se encuentran en constante movimiento, lo cual da como resultado que la conexión se pierda y con ello no se pueda acceder a los recursos en la Web. En algunos casos, la conexión se pierde de manera voluntaria cuando el usuario decide desconectar su interfaz de red. En la mayoría de los casos esta desconexión voluntaria se realiza para ahorrar energía en un cliente PPC. Ante las necesidades actuales, estos acontecimientos no pueden suceder y si suceden se deben minimizar lo más que se pueda. Para poder acceder a recursos Web sin conexión se necesita que éstos estén en el dispositivo cliente. La única manera de garantizar con éxito que un usuario pudiese trabajar sin conexión es teniendo todos los recursos Web disponibles de manera local. Esto es imposible de tener ya que cada usuario utiliza diferentes recursos Web. Por otra parte, una de las limitantes más importantes de las PPC es el espacio de almacenamiento, lo cual limita la cantidad de recursos con los que se puede trabajar sin conexión. Por si fuera poco un usuario no necesita de todos los recursos Web de un sitio particular. Otro problema que se presenta, radica en que la gran mayoría de los recursos en la Web están optimizados para dispositivos que cuentan con pantallas de mayor tamaño. Además, las herramientas existentes para solucionar los problemas descritos en esta sección, no son transparentes para los usuarios. Se dice que no son transparentes, por que el usuario tiene en principio que acaparar recursos (ya sea de manera manual o por medio de algún software) en el dispositivo cliente. Una vez obtenido los recursos Web, el usuario tiene que convertir o ajustar el recurso Web para que se despliegue de forma óptima en la pantalla de su PPC. Todo esto conlleva a que el usuario invierta demasiado tiempo en realizar un proceso en modo de desconexión. 8. Descripción de la complejidad del problema Para el desarrollo del tema de tesis propuesto, se han detectado gran cantidad de problemas a resolver. A continuación se describirán aquellos que se han considerado que su nivel de complejidad se encuentra por encima de los demás.
  • 18. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 15 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 (ARM, SH3, MIPS, etc.). Para cada microprocesador se debe desarrollar una aplicación, lo cual debe implicar la existencia de un compilador para cada microprocesador o que exista alguna herramienta intermediaria (máquina virtual) que interprete el mismo código en distintas arquitecturas. En este apartado, se debe 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 debiera cambiar porque la implementación de nuestro agente intermediario se hará en lenguajes de alto nivel. La integración y/o adaptación de algunos de los módulos de la arquitectura Web se ha considera un problema de complejidad interesante para el desarrollo de esta propuesta. En este sentido, se necesita desglosar que componentes dentro de cada módulo pueden ser reutilizables de la forma en la que actualmente se encuentran desarrollados, y cuales necesitan adaptarse para resolver la problemática que pretende resolver esta propuesta de tesis. Otra complejidad que presenta la tesis propuesta, 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 orientados a bases de datos y memoria caché. 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. Otro 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 y el directorio local de almacenamiento, por mencionar algunas restricciones. En este contexto el principal problema está con los navegadores, como el IPE (Internet Pocket Explorer), Opera y otros; ya que tienen sus propios mecanismos de control de caché, lo cual dificulta el accionar de nuestro prototipo de agente intermediario, lo que conlleva a que el usuario deba configurar su navegador Web de tal forma que el navegador no controle su caché. Aquí se proponen dos alternativas:
  • 19. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 16 a. Automatizar el proceso de configuración de la caché del navegador para que sea transparente para el usuario [Lan04]. b. Plantear un mecanismo de acceso a los recursos informáticos más eficiente. Otro problema potencial que presenta el desarrollo del tema de tesis propuesto es en lo referente al sistema operativo a utilizar para el desarrollo del prototipo de agente intermediario en la PPC, se realizó una investigación entre el sistema operativo para dispositivos móviles Windows CE (adaptado para PPC) y una distribución de Linux llama Familiar [fam05]. La elección de un sistema operativo a otro, implica un reto de complejidad de considerable importancia, debido a que se manejan distintos enfoques para la gestión y planificación de procesos, recursos y en general, una filosofía muy distinta en la forma de interactuar con el usuario. Por medio de este trabajo de investigación se determinó que es más factible el desarrollo en plataforma Windows CE debido a diversos factores entre los que destacan: Windows CE se encuentra implementado en diferentes arquitecturas de microprocesadores, tales como: ARM, MIPS, SH3; Mientras que Linux (proyecto familiar y semejantes) sólo se encuentra implementado en arquitecturas ARM. Inclusive, no se ha portado a todos los dispositivos PPC con este tipo de microprocesador. Este factor juega un papel clave en nuestra decisión de sistema operativo a realizar ya que uno de nuestros principales objetivos consiste en el desarrollo de servicios en tres microprocesadores distintos y con Linux hasta el momento sólo se podría desarrollar en uno. Mayor cantidad de herramientas, documentación y entornos de programación disponibles para está plataforma; la mayoría de los cuales están disponibles de manera gratuita. De manera predeterminada, Windows CE viene instalado en dispositivos PPC. El proceso de instalación es bastante complejo para un usuario normal, ya que se necesitan tener sólidos conocimientos en computación para llevarla acabo. Es por esta razón de que existe una mayor cantidad de usuarios que utilizan dispositivos PPC con Windows CE que su contraparte con Linux. Por el contrario, Linux permite el diseño y la implementación de servicios más especializados que su contraparte Windows CE. Esto se debe a que Linux está implementado con una versión de su kernel muy similar a su contraparte en servidores y estaciones de trabajo. Mientras que Windows CE es un subconjunto mínimo de las APIs de Windows de 32 bits. 9. 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 servidores se encuentra nuestra capa de intermediarios, tanto del lado del cliente como del lado del servidor. El modelo general propuesto consiste en lo siguiente:
  • 20. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 17 MIPS SH3 ARMARM Internet GAP (Gestor de Acaparamiento Pocket) GAS (Gestor de Acaparamiento del Servidor): SQUID Figura 4. Esquema general de la arquitectura propuesta. La metodología que se propone para resolver este problema consiste de las siguientes actividades: 1. Evaluar herramientas y entornos de programación para plataforma Pocket PC. 2. Analizar los recursos informáticos a acaparar (tipo, tamaño, tiempo de permanencia en el PPC, etc.). 3. Estudiar la(s) herramienta(s) seleccionadas. 4. Estudiar los módulos de la arquitectura Moviware correspondientes al gestor de acaparamiento y al transcodificador de sitios Web. 5. Diseñar e implementar el módulo GAP. 6. Adaptar el GAP para los microprocesadores (ARM, MIPS, SH3). 7. Diseñar e implementar el módulo GAS. 8. Probar el sistema (GAP y GAS). 9. Redactar la documentación de la tesis. El modelo conceptual o arquitectura con la que se pretende solucionar el problema es la siguiente:
  • 21. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 18 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 Observador Gestor de Desconexión Módulos a integrar pertenecientes a Moviware Figura 5. Arquitectura propuesta. Esta arquitectura consta de dos partes: la primera parte del lado del dispositivo cliente móvil PPC, y 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 (v.g. Pocket Internet Explorer) que solicita recursos Web. La segunda parte consiste en el intermediario que se va a desarrollar, al que se ha denominado GAP (Gestor de Acaparamiento Pocket). Dicho intermediario constará de los siguientes componentes: 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 Local (GDL).- Tiene la función de revisar el medio físico de conexión y determinar si el cliente se encuentra conectado o no.
  • 22. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 19 3. Gestor de Acaparamiento Local (GAL).- Su función consiste fundamentalmente en : a. Revisar si existe un recurso acaparado. En caso de existir, se manda el recurso solicitado (en este caso el Observador deberá cambiar el encabezado para hacer creer al navegador que la solicitud viene del exterior) al navegador local. En caso de no existir el recurso acaparado, se mandará 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, al cual se ha denominado como GAS (Gestor de Acaparamiento del Servidor). La arquitectura en el lado del servidor consta de los siguientes elementos: 1. Mecanismo Transcodificador (MT). Es el encargado de transcodificar los recursos Web obtenidos del servidor Squid. Este módulo es parte de Moviware [Uri04] y se le harán las modificaciones pertinentes a fin de integrarlo en el software que se pretende desarrollar a través de esta propuesta de tesis. 2. Analizador HTTP. Es el encargado de analizar el contenido de los encabezado HTTP de las solicitudes realizadas por los clientes. En este caso nos interesa encontrar información como el recurso solicitado, el tipo de cliente que realiza la petición (sistema operativo y tipo de microprocesador) y la fecha de modificación del recurso solicitado, entre otros campos. Este analizador identifica el tipo de dispositivo que realiza la conexión. 3. Mecanismo Acaparador (MA). Se encarga de dos funciones: 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 [Ver03] 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 se detecte el dispositivo desde el cual se está realizando una petición de un recurso Web y se envié al cliente, 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. Existe la alternativa de integrar un servidor Proxy caché con soporte a operaciones en modo de desconexión en redes inalámbricas [Jua05], pero como se verá en la sección de alcances, no es vital para el trabajo que se pretende desarrollar a través de esta propuesta de tesis. En caso de que se integre dicho módulo, la conexión con el servidor Squid no se realizará de manera directa, sino a través de este módulo.
  • 23. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 20 En lo referente a herramientas y entorno de programación a utilizar, aún no se han definido las herramientas definitivas de desarrollo. Actualmente nos encontramos en una fase de investigación y evaluación de dichas herramientas. Como posibles alternativas se tiene 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. Por el momento no se han definido más herramientas con las cuales trabajar. Esto se definirá completamente durante la fase de implementación del prototipo. 10. Alcance y limitaciones del proyecto 10.1 Alcances Entre los compromisos que se pretenden alcanzar con el desarrollo del tema de tesis propuesto, se encuentran los siguientes: 1. Análisis de los recursos a acaparar para plataformas PPC (prioridad alta). 2. Implementación de servicios para la gestión de la caché local en PPC (prioridad alta). 3. Diseño e implementación del intermediario acaparador en el PPC (prioridad alta). 4. Integración de módulos en la arquitectura Moviware: • Transcodificador (prioridad alta). • Acaparador (prioridad alta). • Gestor de desconexión (prioridad baja). En este documento se definen como alcances de prioridad alta aquellas actividades que están altamente acopladas al tema de tesis que se propone, y que es necesario desarrollar para resolver la problemática general descrita en este documento. Los alcances de prioridad media son aquellos que a pesar de ser importantes para la solución de la problemática existente, su realización no es tan crítica como los de prioridad alta. En este sentido, las actividades de prioridad media pueden ser factibles de sufrir cambios o en su defecto se pudiere llegar el caso de omitirse si el tiempo de desarrollo del tema de tesis propuesto se encuentra retrasado.
  • 24. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 21 Las actividades con nivel de prioridad baja son aquellas que se realizarán dependiendo de si se cuenta con el tiempo suficiente para ello. Dichas actividades no forman la parte medular del tema de tesis propuesto y son consideradas como actividades auxiliares o complementarias. 10.2 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 se ejecute sobre arquitecturas de microprocesadores más modernos). 3. El acaparamiento en el GAP estará limitado a las características propias con que cuente cada dispositivo PPC (se definirá un sistema con características mínimas para realizar el acaparamiento). 4. No se realizará reintegración de páginas Web, sólo se hará la sincronización del contenido de las cachés. 5. 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 correcta integración). 11. Cronograma de actividades Se han dividido las actividades a realizar en periodos cuatrimestrales, esto con el objetivo de ser más claros y por cuestión de espacio. Se han marcado con una ‘X’, las semanas donde se tienen contempladas vacaciones y en las cuales el trabajo se tiene que realizar antes. La calendarización de actividades a realizar el primer cuatrimestre (septiembre-diciembre de 2005) es la siguiente:
  • 25. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 22 SEPT OCT NOV DIC # Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Evaluación de herramientas Embedded Visual Tools Visual Studio .Net Java 2 Micro Edition Otras herramientas de programación Comparativas de las herramientas 2 Análisis de los recursos a acaparar Tamaño Tipo de recursos Estructura de almacenamiento Documentación 3 Estudio herramienta seleccionada 4 Estudio de Moviware Acaparador Contenedor de Patrones Transcodificador Gestor de desconexión Documentación 5 Diseño e implementación del GAP X X Observador Primera presentación cuatrimestral Gestor de Desconexión Local X X Figura 6. Cronograma de actividades septiembre-diciembre de 2005. Las actividades planeadas para el cuatrimestre (enero-abril 2006) son las siguientes: ENE FEB MAR ABR # Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 5 Diseño e implementación del GAP Gestor de Acaparamiento Local Pruebas 6 Adaptación del GAP ARM MIPS SH3 7 Diseño e implementación del GAS X X Analizador HTTP Integración del transcodificador X X Integración del acaparador Segunda presentación cuatrimestral Redacción de un artículo de divulgación Sincronizador de cachés Figura 7. Cronograma de actividades enero-abril de 2006. El último cuatrimestre corresponde al período mayo-agosto de 2006, en el cual se han planeado realizar las siguientes actividades:
  • 26. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 23 MAY JUN JUL AGO # Concepto 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 7 Diseño e implementación del GAS Gestor de desconexión Pruebas 8 Pruebas Integración GAP y GAS Depuración 9 Redacción de tesis X X Pruebas Capítulos X X Revisiones Tercera presentación cuatrimestral Redacción de artículos de divulgación Examen de grado 12. Glosario Agente Es un componente de software intermedio (middleware) que capacita a un objeto que resida en un cliente para enviar un mensaje a un método que esté encapsulado en otro objeto que resida en el servidor [Way95]. Son programas altamente compatibles, interoperables, corriendo en una infraestructura de red ubicua, tolerante a fallas, orientada a objetos, y un espacio de memoria seguro. 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. La meta inicial era construir un microprocesador de bajo costo, con poco consumo de energía y alto rendimiento. El ARM es un microprocesador CMOS de 32 bits diseñado en arquitectura RISC, lo cual significa que tiene un conjunto pequeño de instrucciones en comparación con arquitecturas CISC como x86 (familia de microprocesadores de Intel) o m68k (familia de microprocesadores de Motorola). RISC permite optimizar la velocidad de procesamiento usando 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. 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. Este es el tipo de microprocesador más usado en dispositivos PPC; de hecho, la famosa iPaq (la PPC más vendida en el mercado) 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
  • 27. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 24 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, las arquitecturas híbridas como Xscale, 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. Caching Es la replicación y almacenamiento de datos en el cliente o cerca del Proxy (intermediario) siguiendo la petición de datos hecha al servidor remoto por el cliente. Las copias son creadas y gestionadas por el cliente o proxy (basado en los patrones de acceso de los clientes) y no están controladas de ninguna forma por el servidor que provee los datos. Las cachés de sitios Web pueden utilizar precarga (petición de documentos antes de que sean pedidos por el cliente) en orden de disminuir la latencia de respuesta de futuras peticiones del cliente. La predicción de que páginas serán pedidas por el cliente es la clave de esta metodología. Estudios revelan que la eficiencia del caching oscila entre el 40% y 50% [Wan02]. El caching de páginas Web reduce el consumo de ancho de banda, disminuyendo el tráfico de la red evitando congestiones. Se reduce la latencia de acceso a los datos por dos razones: 1. Los documentos frecuentemente accedidos están cargados cerca del Proxy caché y no en el servidor, por lo que el retardo en la transmisión es minimizado. 2. El caching de páginas Web reduce la carga de trabajo de los servidores Web. Si el servidor remoto no está disponible, los clientes pueden obtener una copia del servidor a través del Proxy. CISC Complex Reduction Set Code. Es una arquitectura de microprocesadores que contienen una gran cantidad de instrucciones, para resolver diversos problemas, tiene la ventaja que en una sola instrucción se resuelve un solo problema, su desventaja radica en el tiempo que se tarda en buscar una instrucción. CMOS Semiconductor de Metal-Óxido complementario. Familia lógica de Circuitos Integrados (CI) que contienen transistores unipolares de efecto de campo (MOSFET). Gestor Implica la planificación, supervisión y control de procesos y eventos que ocurren entre estos procesos. Intermediario Software que conecta dos aplicaciones separadas. Middleware Se define como una capa de software ubicada entre el sistema operativo y las aplicaciones distribuidas que interactúan vía la red. No existe una definición única para el término middleware, debido principalmente a que su significado depende del ambiente de la aplicación. Middleware es una arquitectura de tres capas: clientes, intermediarios, y servidores. Esta infraestructura facilita la interacción entre módulos de software distribuido.
  • 28. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 25 La función principal de una capa middleware es ocultar la complejidad del ambiente de red, ya que el middleware enmascara la heterogeneidad de plataformas de cómputo, sistemas operativos, lenguajes de programación, tecnologías de red, etc [Pre02]. MIPS MIPS es un microprocesador del tipo VLSI RISC de 32 bits desarrollado por la compañía japonesa NEC, cuya característica principal es el entubamiento. Cada instrucción en promedio es realizada en dos ciclos de reloj. 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 vendida 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. Pipelining “Entubamiento”. Modo de ejecución que tienen algunos microprocesadores de ejecutar dos o más instrucciones de manera paralela, esto se logra canalizando cada nueva instrucción después de un ciclo de reloj de la anterior instrucción. Precarga Es un proceso concurrente; es decir, en línea, que transfiere de la caché los archivos necesitados durante periodos de bajo tráfico en la red [CF03]. De manera general, la precarga es una técnica que reduce el costo de la falta de caché durante desconexión. Es decir, la carga se hace antes de la desconexión y está lista para su uso en cualquier momento. La precarga se basa en el hecho de que la mayoría de los archivos (información) son leídos de manera secuencial, a este hecho se le llama lectura anticipada. La precarga hace énfasis en la reutilización de la información, por lo que trata de lograr un ahorro de lecturas. Para saber que recursos se deben precargar generalmente se utilizan técnicas que tratan de predecir o “Adivinar” los posibles recursos que el usuario podría utilizar. La precarga puede traer un exceso en el tráfico de la red, y si no se hace de manera adecuada, puede traer como resultado la transmisión de páginas que nunca pueden ser requeridas por los clientes. La precarga puede ser mejorada basada en la sintaxis de los prefijos URL o modelos estadísticos capturando patrones de acceso temporales de páginas Web. Proxy Servidor que actúa como intermediario entre el cliente y el servidor, haciendo las solicitudes del cliente y pasando los resultados nuevamente al cliente. Replicación En computación es de manera muy simple, el almacenamiento o respaldo de la información [rh05]. Con respecto a la teoría de base de datos, la replicación es el proceso de crear y manejar versiones duplicadas de una base de datos. No solo incluye la copia de información, sino involucra que los cambios realizados en una réplica se reflejen
  • 29. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 26 en las demás réplicas (proceso de sincronización). Entre las características que posee la replicación se encuentran las siguientes: 1. Aumentar la confiabilidad al tener respaldos independientes de cada archivo. 2. Permitir el acceso al archivo aunque falle un servidor de archivos. El lema aquí es el “espectáculo debe continuar”. 3. Repartir la carga de trabajo entre varios servidores. En lo referente a cómputo móvil y/o nómada, la replicación de la información debe ser dinámica, i.e., los datos y los servicios deben seguir a los usuarios. RISC Reduce Instruction Set Code. Es una arquitectura de microprocesadores que se caracteriza por tener pocas instrucciones, las cuáles, son lo mas sencillas posibles, además, se cuentan con gran cantidad de memoria auxiliar (registros) para que su velocidad sea más rápido; es decir, en pocos ciclos de reloj se realizan muchas instrucciones. 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 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. SH4 es un microprocesador RISC multimedia, su característica principal es que usa vectores de punto flotante de longitud 4 para mejorar el procesamiento de imágenes digitales. Actualmente acaba de salir al mercado el SH5. SIMD Instrucciones simples múltiples datos, es el esquema general donde trabajan los microprocesadores RISC. VLSI Very Large Scale Integration. Integración en un solo chip de 10,000 a 99,999 compuertas. 13. Referencias bibliográficas [Ala02] 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. [BP98] Badrinath B. R., Phatak S.H., “An Architecture for Mobile Databases”, Dept. of Computer Science, Rutgers University. 1998. [CF03] Cherniack Mitch, Franklin Michael J., “Expressing User Profiles for Data Recharging”, Brandeis University, University of California at Santa Cruz. 2003. [Cha03] Chanchaem Thong, “A Survey on Internet Content Transcoding for Universal Access”, Department of Computer Science, Kent State University, mayo de 2003.
  • 30. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 27 [Cla02] Clark David, “Mobile processors begin to grow up”, revista IEEE Computer, pp. 22- 25, marzo de 2002. [dmc05] “Data management for Mobile Computing, Case Studies”, http://www.cs.ucv.ac.cy/courses/EPL651/Schedule__Readings/ Chapter 3/body_chapter_3.html, Departamento de Ciencias Computacionales, Universidad de Chipre, marzo de 2005. [fam05] “Familiar Linux Project”. http://familiar.handhelds.org/ Última consulta: julio de 2005. [Gol05] Gold Jack, “Pocket PC: An Evolutionary Advance Infrastructure Strategies, Web & Collaboration Strategies”, febrero de 2005, http://www.gartner.com/ [Gon03] 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. [Hen05] Hernández Méndez Gabriel. “Generador de patrones de navegación de usuarios aplicando Web log mining”, tesis de maestría en desarrollo, cenidet, junio de 2005. [HKS03] Hwang Yonghyun, Kim Jihong, Seo Eunkyong. “Structure-AwareWeb Transcoding for Mobile Devices”. Universidad Nacional de Seul. Revista IEEE Internet Computing. Septiembre-octubre de 2003. [HNS+98] Hattori Toshihiro, Nitta Yusuke, Seki Mitsuho, Narita Susumu, Uchiyama Kunio, Takahashi Tsuyoshi, Satomura Ryuichi, “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. [Kue97] Kuenning Geofrrey H. “Seer: Predictive file hoarding for Mobile Operation”. Universidad de California en Los Àngeles. Mayo de 1997. [Jua05] Juárez Pérez Fredy, “Servidor Proxy Caché con Soporte a Operaciones en Modo Desconexión en Redes Inalámbricas”, tesis de maestría, cenidet, febrero de 2005. [Lan04] Landa Miguez Xochitl. “Mecanismos de configuración dinámica para grupos de Proxy-caches cooperativas en la Web”, tesis de maestría, cenidet, diciembre de 2004. [Man02] Manrique López de la Fuente José “¡¡ Hay un pingüino en mi bolsillo!!“, AsturLinux http://www.asturlinux.org/~jsmanrique/odblinux.html, julio de 2002. [McPh05] McPherson Frank. “Pocket PC a su alcance”. Tercera edición, México, 2005, ISBN: 970-10-4731-1 [Pre02] Pressman Roger S., “Ingeniería del Software. Un enfoque práctico” Quinta edición, España, 2002, ISBN: 84-481-3214-9, pp. 601.
  • 31. Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC 28 [rh05] “Replication Vs Hoarding“, http://www.cs.berkeley.edu/~adj/cs2941.s98/dbmate/sld008.htm, febrero de 2005. [RHD+99] Reiher P., Heidemann J., Ratner D., Skinner G., Popek G., “Resolving File Conflicts in the Ficus File System”, Department of Computer Science, University. 1999. [Sat98a] Satyanarayanan M., “The Coda Distributed File System”. Linux Journal, no. 50, junio de 1998. [Sat98b] Satyanarayanan M., “Fundamental Challenges in Mobile Computing”, School of Computer Science, Carnegie Mellon University, 1998 [Tri04] Trifonova Anna, “Hoarding Content in M-Learning Context”, tesis doctoral en desarrollo, Universidad de Trento, Italia, 2004. [Uri04] Uriarte Cabada Claudia Selene. “Transformador de Contenidos Web para Asistentes Personales Digitales”, tesis de maestría, cenidet, julio de 2004. [Val02] 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. [Ver03] Verduzco Reyes Gustavo, “Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles”, tesis de maestría, cenidet, agosto de 2003. [VwL97] VanderWiel Steven P. y Lilja David J. “When Caches Aren’t Enough: Data Prefetching Techniques”. Universidad de Minnesota. 1997. [Wan02] Wang Jia, “A Survey of Web Caching Schemes for the Internet”, 2002. [Way95] Wayner Meter, “Agents unleashed: a public domain look at agent technology”, Estados Unidos, 1995, ISBN: 0-12-738765-x, pp. 358. [web05] “A Word Definition From the Webopedia Computer Dictionary”, http://www.webopedia.com, febrero de 2005.