Vous êtes sur la page 1sur 11

Anlisis de Symbian OS para desarrollar aplicaciones distribuidas sobre terminales GPRS

Almudena Daz, Pedro Merino, F Javier Rivas


Dept. de Lenguajes y Ciencias de la Computacin ETSI de Telecomunicacin Univ. de Mlaga 29071 Mlaga {almudiaz,pedro}@lcc.uma.es, javier_rivas@eresmas.com

Resumen
El papel que desempean los telfonos mviles en en el mbito de los sistemas distribuidos ha evolucionado en los ltimos aos hasta llegar a convertirse en entornos en los que se pueden desarrollar complejas aplicaciones. Por esta razn han surgido numerosas plataformas, tales como Symbian, cuyo objetivo es adaptarse a las limitaciones de los terminales mviles y proveer al desarrollador de las herramientas necesarias para la programacin de aplicaciones en terminales mviles. Symbian OS es un sistema operativo especialmente diseado para adaptarse a los requerimientos de un telfono mvil. En este artculo se revisan loas aspectos que pueden tener ms impacto en las aplicaciones desarrolladas sobre este sistema operativo en los terminales GPRS actuales. Tambin se lleva a cabo una evaluacin cuantitativa de las comunicaciones de datos sobre dicha plataforma que permite extraer conclusiones acerca de la experiencia de los usuarios de aplicaciones en terminales mviles.

1. Introduccin
Los telfonos mviles con tecnologa GPRS (General Packet Radio Service) o UMTS (Universal Mobile Telecommunications System) comienzan a sustituir a los ordenadores personales como terminales de Internet tanto en uso profesional como de ocio. Sin embargo, al tratarse de dispositivos con caractersticas propias como

las limitaciones de memoria, CPU o batera resulta necesario desarrollar nuevos sistemas operativos y entornos de desarrollo especficos que se ajusten a las exigencias de dichos terminales. En este artculo se revisan nuestras experiencias con el sistema operativo Symbian OS, tanto desde el punto de vista del desarrollador como de las prestaciones que ofrecen al usuario final. En este trabajo nos centramos en los aspectos que se han revelado crticos para mejorar la percepcin del usuario cuando emplea TCP/IP sobre estos terminales. Muchas de las experiencias provienen de desarrollos recientes como clientes de correo [1] y clientes para domtica [2][3] para terminales mviles. Las velocidades proporcionadas por GPRS han propiciado el desarrollo de aplicaciones que hacen un uso intensivo de las comunicaciones. Con la reciente puesta en marcha de UMTS las velocidades medias alcanzadas pueden llegar hasta los 384 kbits. Esto junto con las elevadas prestaciones de los telfonos de ltima generacin, usualmente llamados smartphones, permite el desarrollo aplicaciones multimedia que explotan el concepto de movilidad en su sentido ms amplio. En este escenario han ido surgiendo una gran variedad de sistemas operativos y plataformas orientadas al desarrollo de aplicaciones para dispositivos mviles: Symbian OS [12], Linux Embedded[16], Microsoft CE[19], Blackberry OS[20], Brew[18], J2ME[14], Mophun[17]. De todas ellas, el sistema operativo Symbian OS

Actas de las XIII Jornadas de Concurrencia y Sistemas Distribuidos, pp.259-269 ISBN: 84-9732-432-3 2005 Los autores, Thomson

260

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) Java, OPL y C++. Siendo este ltimo el lenguaje nativo de Symbian y el que proporciona acceso a un mayor nmero de funcionalidades. Existen diferentes SDKs (Software Development Kit) para el desarrollo. El SDK proporciona las herramientas y la documentacin necesarias para el desarrollo de aplicaciones en Symbian y un emulador del terminal mvil para PC. Los distintos SDKs estn ligados a diferentes plataformas. Cada una de estas plataformas proporciona una interfaz de usuario y un conjunto de aplicaciones del sistema para mensajera, telefona, multimedia, agenda y otras tareas, que permite a los diferentes fabricantes personalizar sus entornos de desarrollo. Estas aplicaciones hacen uso de los motores de aplicacin genricos proporcionados por Symbian OS. Las principales plataformas existentes son UIQ, Nokia Serie 60 y Nokia Communicator.

tiene dos caractersticas que posiblemente lo harn destacarse a medio plazo. Por una parte, su diseo se realiz directamente para terminales mviles, en lugar de ser una adaptacin de otro sistema existente. Por otra parte, no est ligado a un nico fabricante, sino que es fruto de un consorcio en el que participan la mayora de ellos. En este artculo se lleva a cabo un anlisis del sistema operativo Symbian centrndose en el soporte que ofrece para las comunicaciones y en las decisiones adoptadas en su diseo para adaptarse a las peculiaridades de los terminales mviles. El objetivo es dar una visin de los aspectos ms relevantes que deben conocer los desarrolladores de nuevos servicios telemticos. La organizacin del artculo es la siguiente. En la seccin 2 se describe la arquitectura del sistema operativo. En la seccin 3 se describe el modelo de programacin de objetos activos y las particularidades de la programacin sobre Symbian. La seccin 4 trata la problemtica asociada a los contextos PDP y el uso de NAT por parte de los operadores. En la seccin 5 se discuten aspectos de rendimiento de las comunicaciones a partir de experiencias de proyectos concretos. Finalmente se presentan las conclusiones.

2. Visin general de Symbian OS


El consorcio Symbian fue constituido en 1998 y esta integrado por los principales fabricantes del sector de la telefona mvil Fig 1. Su objetivo de partida fue el desarrollo de un sistema operativo especfico para telfonos mviles con capacidad para la comunicacin de datos. Symbian OS se asienta en la experiencia de Psion en el desarrollo de EPOC, el primer sistema operativo verdaderamente enfocado hacia terminales mviles con capacidades para comunicaciones. Symbian OS es actualmente un sistema operativo multitarea de 32 bits basado en ROM con una arquitectura de micro-kernel altamente modular que ofrece numerosas APIs (Application Programming Interfaces) para el desarrollo de aplicaciones de comunicaciones y soporta los principales estndares de la industria inalmbrica WAP, XHTML, J2ME, MIDP, MMS, Bluetooth, GPRS, CDMA, SyncML, IPv6, IPsec, etc. Para la programacin de aplicaciones se pueden utilizar distintos lenguajes: Visual Basic,

Figura 1. Fabricantes de telfonos mviles con licencia Symbian en 2005

2.1. Arquitectura en capas El sistema operativo Symbian presenta una estructura en capas (Fig 2). La capa base constituye el ncleo de Symbian y est formada por las libreras de usuario, el servidor de ficheros, el microkernel, y los controladores de dispositivos. El microkernel separa el ncleo funcional del sistema operativo de extensiones y partes especficas del sistema. El tamao del ncleo del kernel en Symbian OS constituye aproximadamente un 5% del tamao total del sistema operativo. Esta separacin proporciona al sistema una alta modularidad y mejora la portabilidad, el refinamiento y la personalizacin

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) de la plataforma. Las funciones que no se pueden incluir en el microkernel debido a su complejidad son separadas en servidores internos. Los servidores internos extienden la funcionalidad del ncleo. El kernel se ejecuta en modo privilegiado, posee los controladores de dispositivos, implementa la poltica de planificacin, gestiona el consumo de potencia y la asignacin de memoria tanto para l como para los procesos que se ejecutan en modo usuario. Se ejecuta nativamente sobre ncleos ARM (menor consumo que los procesadores x86 de Intel y mejor relacin rendimiento-precio). El kernel implementa un marco de trabajo de paso de mensajes usado para la comunicacin cliente-servidor.

261

Los subsistemas ms destacados, en cuanto a la funcionalidad que ofrecen, son el de telefona, el de comunicaciones y el de mensajera. El subsistema de telefona proporciona un API multimodo para sus clientes. Entres las redes mviles abstradas se encuentras GSM, GPRS, EDGE, CDMA (IS-95) , 3GPP cdma2000 y 3GPP W-CDMA. El subsistema de comunicaciones proporciona el marco de trabajo y los servicios del sistema para las comunicaciones y el establecimiento de conexiones de red. Este subsistema ser analizado con ms detalle en el siguiente apartado. El marco de trabajo de mensajera proporciona soporte para los protocolos de envi y recepcin de SMS (Short Message Service), EMS (Enhanced Message System), MMS (Multimedia Message System), correo electrnico y fax.

Figura 2.

Arquitectura en capas de Symbian

262

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) tanto batera. Esta forma de operar es diferente a la de los de los sistemas orientados al manejo de hebras en los cuales se llevan a cabos sondeos para detectar si en algunas de las hebras se ha producido algn cambio, y por tanto existe consumo de batera en periodos en los que en teora el sistema no debera estar operando. 3.2. Arquitectura cliente-servidor La arquitectura cliente-servidor es otra de las claves del diseo de Symbian OS. Las aplicaciones de los usuarios y los procesos del sistema son clientes que comparten los recursos de una amplia variedad de servidores del sistema. Prcticamente todos los servidores se ejecutan con una prioridad alta, pero sin privilegios para asegurar una respuesta puntual a sus clientes mientras controlan el acceso a los recursos del sistema. La arquitectura cliente servidor permite mejorar la extensibilidad (a travs del uso de plugins), la eficiencia (varios clientes pueden ser atendidos por el mismo servidor), la seguridad (los servidores y sus clientes se ejecutan en procesos separados y se comunican a travs de un mecanismo de paso de mensajes proporcionado por el kernel,) y la asincrona (los servidores son implementados a travs de objetos activos de forma que los clientes se suspenden mientras esperan a que sus peticiones sean atendidas en lugar de llevar a cabo sondeos para comprobar el estado de esta, con la consecuente reduccin en el nmero de ciclos de procesador necesarios para atenderla). 3.3. Mecanismos de gestin de memoria A la hora de programar en Symbian es necesario tener en cuenta ciertas peculiaridades que ayudan a evitar errores y a entender mejor su estilo de programacin. Pila Existen ciertas divergencias entre el espacio de pila disponible en el emulador para PC y el disponible en el terminal. El tamao de la pila en el emulador para PC no est limitado como ocurre en el terminal ya que se usa la propia pila de Windows. Para prevenir desbordamientos de la

3. Desarrollo de servicios para Internet


Una de las caractersticas ms representativas de Symbian OS es que se trata de un sistema operativo orientado al manejo de eventos en lugar de al manejo de hebras. Aunque la programacin multihebra est soportada y es usada internamente en el sistema operativo, para las aplicaciones se recomienda evitar su uso debido a la sobrecarga que introducen, ya que, en principio, en una aplicacin basada en eventos no se necesitara realizar ningn cambio de contexto, con lo cual la sobrecarga, en este caso, sera menor que si se emplearan hebras. A continuacin se analizarn algunas de los aspectos ms relevantes de Symbian, como son el concepto de objeto activo y las tcnicas de gestin de memoria usadas. 3.1. Modelo de programacin: Objetos Activos Un objeto activo es una entidad manejadora de eventos. Un planificador coordina los diferentes objetos activos existentes para gestionar los eventos procedentes del terminal y de las aplicaciones. Cada objeto activo tiene una funcin virtual llamada RunL(). Esta funcin es atmica y es llamada cuando tiene lugar un evento del cual el objeto activo es responsable. Dentro de esta funcin se lleva a cabo un preprocesamiento del evento para identificarlo y actuar en consecuencia. Los objetos activos son planificados en funcin de su prioridad al igual que las hebras. La planificacin de los objetos activos se lleva a cabo de forma no expropiativa, es decir, la planificacin slo se lleva a cabo cuando la funcin RunL() en ejecucin se ha completado, en este momento el objeto activo con mayor prioridad que est esperando pasa a ejecutarse, si no existe ningn objeto activo el sistema operativo se mantiene a la espera de nuevos eventos. De esta forma al no planificarse expropiativamente no es necesaria la utilizacin de semforos, secciones crticas u otras tcnicas de sincronizacin, que implican una sobrecarga significativa del sistema. La eleccin de un sistema basado en eventos tambin influye en el ahorro de batera ya que el sistema slo acta cuando se produce un evento, mientras tanto el sistema se mantiene a la espera sin consumir ningn ciclo del procesador y por

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) pila es recomendable localizar los descriptores en el heap, usar nicamente objetos automticos para datos y cadenas de pequeo tamao y evitar programar recursivamente (si esto ltimo fuera inevitable deberan ser minimizados los tamaos de los parmetros pasados y de las variables automticas usadas en la parte recursiva). CleanUp Stack En un sistema limitado en memoria como es un telfono mvil se debe prestar especial atencin a la gestin de la memoria, para este fin Symbian implementa un mecanismo propio denominado Cleanup Stack. El Cleanup Stack es una pila especial que almacena los punteros a los objetos que necesitan ser liberados cuando ocurre una excepcin. Todas las aplicaciones tienen su propio Cleanup Stack que es creado por defecto. Cualquier puntero definido localmente que apunte a un objeto localizado en el heap debe ser aadido al Cleanup Stack si existe riesgo de que una excepcin tenga lugar y no hay ninguna otra referencia al objeto. Si no tiene lugar ninguna excepcin los punteros debern ser borrados de la pila por el programador. Los datos pertenecientes a las instancias de una clase no pueden ser aadidos al Cleanup Stack ya que son eliminados por el destructor de la clase. Construccin en dos fases Por el mismo motivo que antes los constructores y los destructores de los objetos no pueden generar excepciones ya que si esto ocurre se podran producir fugas de memoria. Para solucionar esto la construccin de objetos se lleva a cabo en dos fases. En una primera fase se procede a la inicializacin del objeto y en una segunda fase, y usando el CleanUp Stack, se lleva a cabo la asignacin de memoria, de forma que si en esta fase se produjera alguna excepcin la memoria asignada hasta ese momento sera correctamente liberada. Manejo de excepciones Symbian proporciona sus propios mecanismos para el manejo de excepciones. El sistema de

263

excepciones de Symbian est adaptado a las normas de programacin usadas en Symbian (clases C, clases T, cdigos de error de 32 bits) con esto se evita la sobrecarga introducida por el mecanismo de manejo de excepciones de C++ (try, catch y throw). El manejo de excepciones empleado en Symbian se basa fundamentalmente en la macro TRAP y sus variantes (p.e. TRAPD permite que el cdigo se ejecute en un ambiente protegido (trap harness)) y en la llamada User::Leave() la cual, en caso de malfuncionamiento, termina la ejecucin de la funcin actual y devuelve el cdigo del error. Procesador Los procesadores de los dispositivos ms recientes son procesadores RISC con frecuencias de reloj que rondan los 200MHz, frecuencia que resulta adecuada para la mayora de las aplicaciones. Sin embargo el desarrollador debera tener en mente que los procesadores no disponen de unidad de punto flotante (UPF). Por este motivo se recomienda evitar en la medida de lo posible el uso de notacin en punto flotante, ya que la velocidad de ejecucin de la aplicacin podra experimentar una disminucin considerable.

3.4. Subsistema de comunicaciones El subsistema de comunicaciones de Symbian OS proporciona los siguientes servicios: Gestor de base de datos que se encarga de controlar la configuracin de todo el sistema de comunicaciones. Servidor de sockets y un API de cliente que permite la implementacin de distintos protocolos de comunicacin a travs del interfaz de sockets. Los protocolos pueden ser cargados dinmicamente a travs de plugins. Administrador de red que proporciona el marco de trabajo para la conexin con otros ordenadores o redes. El administrador proporciona los mecanismos necesarios para que el cliente pueda monitorizar el progreso a travs de, por ejemplo, una conexin PPP.

264

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) Servidor de comunicaciones serie que proporciona la abstraccin de un puerto serie (RS232C) lo que permite a los telfonos Symbian actuar como un DCE y un DTE. Los mdulos de comunicacin se pueden cargar dinmicamente para comunicarse con los controladores y las diferentes pilas de protocolos. Un terminal mvil puede tener ms de un contexto PDP activo a la vez, y tener por tanto ms de una direccin IP, lo que a todo los efectos supone tener ms de un interfaz de red. Es decir, si un terminal mvil soporta varios contextos PDP un navegador WAP puede usar un punto de acceso para wap mientras un cliente de correo usa un punto de acceso GPRS, y estar ambas aplicaciones conectadas y transmitiendo datos. Cuando el terminal est negociando con la red el establecimiento de una sesin de datos se debe especificar el nombre del punto de acceso (APN). El punto de acceso puede identificar un servicio o una red externa (p.e. Internet) y suele expresarse a travs de un identificador de red que no es ms que la URL usada por el SGSN (Serving GPRS Support Node) para consultar en el DNS del operador la GGSN que proporciona el APN solicitado por el cliente. Este mecanismo permite enrutar el trfico desde y hacia la intranet del operador.

Symbian proporciona una pila dual que soporta tanto IPv4 como IPv6. La pila IP proporciona una arquitectura basada en plugins que permite la implementacin de extensiones. Los plugins pueden interactuar con los niveles OSI 2, 3 y 4, y pueden ser instalados, cargados y descargados y en tiempo de ejecucin. Uno de los plugin ms destacados es el IPSec, para la seguridad en las comunicaciones. 3.5. Contextos PDP (Packet Data Protocol) Para el establecimiento de una comunicacin de datos a travs de GPRS el usuario debe proporcionar los datos de la sesin y enviar la peticin a la red. Para establecer una sesin con una red de paquetes (PDN) como Internet se debe aportar una descripcin de las caractersticas del flujo de datos que se desea establecer y la red GSM/GPRS en funcin los datos recibidos analizar la viabilidad del establecimiento de dicho flujo de datos. Se denomina contexto PDP a la conexin entre el terminal de usuario y la GGSN (Gateway GPRS Support Node) del operador. Para el establecimiento de esta conexin es necesario el envo de un paquete de activacin del contexto PDP en el que se incluye informacin acerca del tipo de red de paquetes de datos (p. e IPv4), la direccin de red asignada (p.e. una direccin IPv4 192.168.2.1), los requerimientos de calidad de servicio (QoS) y el nombre del punto de acceso (APN), a travs del cual el trfico ser enrutado hacia la red de paquetes de datos. Actualmente el campo de la direccin IP se enva en blanco y es el operador el encargado de asignar una direccin IP dinmica que puede ser pblica o privada, implicando esta ltima opcin la imposibilidad de establecer comunicaciones directas entre terminales.

4. Eficiencia de las comunicaciones


A la hora de evaluar las caractersticas de la comunicacin sobre Symbian, se ha aprovechado la experiencia obtenida en la evaluacin de aplicaciones sobre otras plataformas como Mophun [1][2][3]. Los resultados obtenidos para dichas plataformas han ayudado a identificar aspectos de inters y puntos fuertes de Symbian OS.

Figura 3.

Escenario de captura de trfico

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) 4.1. Escenarios de captura de trfico Durante las primeras fases del desarrollo de una aplicacin las pruebas se realizan normalmente utilizando un emulador sobre un PC. Este tipo de herramienta resulta apropiado en primera instancia al no requerirse de terminales reales, pero por otro lado puede enmascarar posibles limitaciones de las implementaciones en terminales reales. Sin embargo, para analizar el comportamiento de una aplicacin sobre un terminal real, es necesario utilizar una configuracin como la de la Fig. 3. Para reproducir un escenario habitual, se ha utilizado un equipo conectado a Internet a travs de un router ADSL, la transmisin de datos con el terminal mvil se realiza mediante una conexin GPRS, la red GPRS empleadas es una red en explotacin. El trfico generado por la aplicacin se ha capturado utilizando un analizador de protocolos en la red local del equipo servidor. 4.2. Pruebas con terminales Symbian Para la realizacin de pruebas con terminales reales se han utilizado los telfonos Nokia 6600 y Nokia 7610 que incorporan la versin 7.0 de Symbian OS. Con el objetivo de caracterizar el comportamiento de las comunicaciones se ha utilizado una aplicacin de FTP para generar dos tipos de trfico diferenciados: interactivo e intensivo. El trfico interactivo se caracteriza por el envo de mensajes de tamao reducido en ambos sentidos. La latencia en la transmisin, y no el throughput, es el parmetro ms importante en una comunicacin de este tipo, ya que el dilogo entre las dos partes requiere para avanzar de un intercambio continuo en ambos sentidos. Este tipo de comportamiento se ajusta al proporcionado por la conexin de control FTP, ya que el protocolo se basa en la transmisin de peticiones y respuestas de pequeo tamao (normalmente menor de 64 bytes). En la Fig. 4 se muestra la evolucin del tiempo de ida y vuelta (Round Trip Time) de una conexin de control FTP. Tambin puede observarse cmo para determinados grupos de paquetes el tiempo de ida y vuelta es mayor. Esto se debe a que, paralelamente a la conexin de control FTP,

265

eventualmente se establecen conexiones de datos. La finalidad de estas conexiones de datos es la transferencia de datos de tamao algo mayor, como listados de directorios. Aunque los datos transmitidos en estas conexiones son menos de 264 bytes en las pruebas realizadas se ha observado que el tiempo de ida y vuelta se llega a incrementar en ms 500 ms con respecto al valor tpico. Para conseguir mejorar los tiempos de respuesta de las aplicaciones resulta necesario reducir al mnimo posible el tamao de los mensajes enviados. En la Fig.4 se puede observar que el tiempo de ida y vuelta mximo llega a ser de 2,8 segundos. Aprovechando que las implementaciones probadas de TCP soportan la utilizacin de marcas de tiempo se ha podido llegar a la conclusin de que este excesivo retardo se ha originado en el sentido del terminal mvil al servidor. La causa de este retraso puede estar en el mecanismo de retransmisin que incorporan los protocolos de acceso radio para ofrecer una transmisin de datos fiable ante eventuales prdidas de tramas. Por otro lado, el trfico intensivo se caracteriza por el envo continuo de datos en el mismo sentido de transmisin. El tamao de los mensajes es mayor que en el trfico interactivo. Para estudiar este tipo de transmisiones se han analizado las conexiones de datos para la descarga de ficheros va FTP. En las siguientes grficas se representa la transferencia de un fichero de 70 KBytes. Como se aprecia en la Fig. 5, el tiempo de ida y vuelta medio para una conexin de datos es mayor que para la conexin de control (unos 2 segundos), pero esto no es crtico, ya que en este caso la magnitud que determina la percepcin que el usuario tiene del rendimiento es el tiempo total de transferencia, que est estrechamente relacionado con el throughput. El throughput medio observado en la Fig. 6 es de unos 27kbps, tardndose 20,5 segundos en transmitir los 70KBytes del fichero. Para archivos de mayor tamao podra resultar algo mayor, ya que durante la transferencia llegan a alcanzarse los 32kbps. La Fig.7 representa la evolucin de los nmeros de secuencia enviados y confirmados. En la aplicacin utilizada los ficheros se envan en bloques de 4096 bytes, pero estos se fragmentan en segmentos TCP de tamao mximo 1356 bytes.

266

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005)

Figura 4.

Tiempo de ida y vuelta de una conexin de control Ftp

Figura 5.

Evolucin de la conexin de datos de una sesin Ftp

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) Puede apreciarse cmo el tamao de la ventana de recepcin del terminal mvil tiene un tamao considerable, 48KBytes. Disponer de una ventana de recepcin suficientemente grande permite obtener un buen aprovechamiento de la conexin GPRS, al posibilitarse el envo de mltiples mensajes simultneamente por parte del emisor. 4.3. Pruebas con otra plataforma Para hacernos una idea ms precisa de la bondad de Symbian OS en lo referido a comunicaciones, resulta adecuado realizar una comparacin con otras plataformas que permitan la ejecucin de aplicaciones. Una tendencia muy comn actualmente es la utilizacin de mquinas virtuales para conseguir una mayor portabilidad, un ejemplo de ello es Mophun. Se han realizado pruebas similares a las anteriores utilizando los terminales T310 y T610 de SonyEricsson.

267

Como resultado de las pruebas realizadas se ha detectado que existe un problema en el interfaz entre la pila de comunicaciones TCP/IP del terminal y la aplicacin Mophun cuando los mensajes intercambiados no son de tamao reducido. El problema detectado consiste en que, cuando una aplicacin que corre sobre el terminal mvil est recibiendo datos, la aplicacin deja de recibir datos sin motivo aparente. Las implementaciones probadas presentan limitaciones en el tamao mximo de bloque ledo, que es de 255 bytes. As, al disponer los terminales utilizados de una ventana de recepcin de 1536 bytes (bastante ms reducida que en los terminales Symbian utilizados), la aplicacin debe realizar varias lecturas para poder leer todos los datos disponibles. Aunque a partir de los retardos de transmisin observados la comunicacin podra ser moderadamente ms rpida, los retardos en el interfaz con la aplicacin y la reduccin del tamao de los mensajes enviados para garantizar la fiabilidad reduce el rendimiento considerablemente, obtenindose un throughput menor de 3 kbps.

Figura 6.

Throughput de una conexin de datos Ftp

268

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005)

Figura 7.

Evolucin de la conexin de datos de una sesin FTP

Cuando la ventana de recepcin se llena, tras varias lecturas consecutivas se llega a un estado en el que no se informa a la aplicacin de que quedan datos disponibles. Sin embargo, analizando el trfico generado, se observa que en la ventana de recepcin todava hay datos que no han sido entregados a la aplicacin. Para evitar esto los bloques de datos intercambiados a nivel de aplicacin deben ser de tamao reducido. Una importante deficiencia encontrada reside en que la interaccin con la aplicacin introduce mucho retardo en las comunicaciones, una confirmacin a nivel de aplicacin acarrea un retardo unos 600ms mayor que el asociado a las confirmaciones propias de TCP. Esto contrasta claramente con los resultados obtenidos para Symbian donde no da tiempo a que se enven mensajes nicamente de confirmacin TCP cuando se responde a nivel de aplicacin. Resulta aparente que el interfaz entre la capa de comunicaciones y la aplicacin es mucho ms fluido en Symbian.

5. Conclusiones
Debido a la especial problemtica de las plataformas mviles, resulta necesario llevar a cabo un anlisis de las comunicaciones a distintos niveles para detectar posibles cuellos de botella y causas de error para las aplicaciones. A la vista de las pruebas realizadas, se ha puesto de manifiesto que en entornos de ejecucin de tipo mquina virtual es necesario tener en cuenta posibles deficiencias y prdidas de rendimiento en el acceso a las funciones propias de los terminales. Symbian es un sistema operativo que ha demostrado ser altamente eficiente, permitiendo el desarrollo de aplicaciones en el lenguaje nativo del terminal, por lo que desde el punto de vista del rendimiento resulta ser una buena base para el desarrollo de aplicaciones de comunicacin. Aunque desde el punto de vista del desarrollador Symbian presenta carencias en la documentacin de las APIS (escasez de ejemplos, funciones no documentadas, funciones que si

XIII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2005) estn documentadas pero no estn implementadas) como en las herramientas de depuracin, tanto para el terminal como para el emulador. Por otra parte, los retardos observados en las conexiones GPRS sobre Symbian pueden ser excesivos para aplicaciones sujetas a requisitos estrictos de tiempo real (como aplicaciones de voz sobre IP), sobre todo si el trfico generado es fuertemente bidireccional (full-duplex). Sin embargo, ya que el throughput obtenido es bastante alto, se abre la posibilidad para el desarrollo de aplicaciones con requisitos ms relajados como el streaming (que admite latencias mayores pero con jitter acotado) o el Push To Talk (punto a multipunto). Uno de los puntos hacia los que se enfocarn futuros trabajos es al anlisis de las prestaciones obtenidas para aplicaciones sobre terminales UMTS Symbian, donde es posible especificar distintos grados de calidad de servicio para ajustarse a necesidades especficas.

269

Referencias
[1] Almudena Daz PFC Cliente de Correo para telfonos mviles ETSIT Universidad de Mlaga. 2004 [2] F. Javier Rivas PFC Plataforma mvil para acceso a servicios domticos ETSIT Universidad de Mlaga. 2004 [3] Juan C. Cuevas, Pedro Merino, F. Javier Rivas, Pedro J. Reche Migrando una aplicacin domtica a entornos mviles XIV Jornadas Telecom I+D 2004 [4] Leigh Edwars, Richard Barker, and the Staff of EMCC of Software Ltd. Developing Series 60 Applications. A Guide for Symbian OS C++ Developers Addison Wesley, 2004

[5] Richard Harrison Symbian OS C++ for Mobile Phones Ed. John Wiley and Sons, LTD.2003 [6] Digia Inc Programming for the Series 60 Platform and Symbian OS Ed. John Wiley and Sons, LTD. 2002 [7] Kevin Dixon Symbian OS Version 7.0s. Functional description Revision 2.1, Junio 2003, Symbian Ltd. [8] RFC 3235 Network Address Translator (NAT)-Friendly Design Guidelines 2002 [9] ] RFC 3314 Recommendations for IPv6 in Third Generation Partnership Project (3GPP) Standars 2002 [10] The 3G Partnership Project: http://www.3gpp.org [11] Symbian OS - the mobile operating system: www.symbian.com [12] Forum Nokia - Developer Resources www.forum.nokia.com [13] NewLC, the Symbian OS C++ developer portal: www.newlc.com [14] Sun Developer Network Site: http://developers.sun.com/techtopics/mobility/ [15] Embedded Linux Consortium: http://www.embedded-linux.org [16] Mophun web site: http://www.mophun.com [17] Qualcomm brew home: http://brew.qualcomm.com/brew/es/ [18] Microsoft Windows Embedded Developer Center: http://msdn.microsoft.com/embedded/default. aspx [19] Blackberry Developer Home: http://www.blackberry.com/developers/index. shtml

Vous aimerez peut-être aussi