You are on page 1of 6

Evaluation oI the Response Time Ior an

Ophthalmologic Health Records System using


diIIerent XML databases


Isabel de la Torre, F. Javier Diaz, Beatriz Sainz, Miguel
Lopez-Coronado, Roberto Hornero, Miriam Anton, Mario
Martinez, Daniel Boto, J. Fernando Diez, David Gonzalez
Departamento de Teoria de la Seal, Comunicaciones e
Ingenieria Telematica, Universidad de Valladolid.
47011 Valladolid. Spain
e-mails: isatortel.uva.es, beasaitel.uva.es,
pacpertel.uva.es, migloptel.uva.es, robhortel.uva.es,
miranttel.uva.es, marmartel.uva.es, danbottel.uva.es,
josdietel.uva.es, davgontel.uva.es


Maria Isabel Lopez
Instituto Universitario de OItalmobiologia Aplicada
(IOBA), Universidad de Valladolid.
47011 Valladolid. Spain
e-mail: maribelioba.med.uva.es



$EVWUDFW-Measuring response times for a Web system is essential
to evaluate its performance. This paper presents a comparison of
the response times for a Web-based Electronic Health Records
(EHRs) system in Ophthalmology, TeleOftalWeb. It makes use of
different models of open-source native XML databases: dbXML
2.0, Xindice 1.2 and eXist 1.1.1. The system is modeled using
queueing theory (the M/M/1 model) and the service times for
each element are calculated. For finding these times a benchmark
model is proposed. The main goal of this benchmark is the
choosing of the database whose results are in less time.

.H\ZRUGVBase ae aatos, Digital Imaging ana Communications
in Meaicine (DICOM), eXtensible Markup Language (XML), Health
Level 7 (HL7), Historial Clinico Electronico (HCE).
I. INTRODUCCION
Los proIesionales de la salud al igual que el resto de
usuarios de Tecnologias de la InIormacion y las
Comunicaciones (TIC), demandan tiempos de respuesta
optimos a la hora de acceder a Internet, tanto para la busqueda
de inIormacion como para la realizacion de gestiones
concernientes a la practica mdica. La consulta e intercambio
de Historiales Clinicos Electronicos (HCEs) es una de las
tareas realizadas por especialistas de todos los ambitos. El
acceso a dicha inIormacion se realiza la mayoria de las
ocasiones via Web.
Para evaluar la calidad de servicio (QoS) de un sistema
Web es prioritario analizar el tiempo de respuesta del mismo
|1-3|. Este tiempo es una de las principales barreras en la
implantacion de un sistema eIectivo de HCEs |4,5|. Se trata de
un parametro diIicil de cuantiIicar, ya que depende de multitud
de variables entre las que destacan la velocidad de la CPU, la
red y la base de datos empleada |6|. La obtencion de tiempos
de respuesta Iavorables supone un aumento en la productividad
de cualquier organizacion |7|.
Para medir el tiempo de respuesta de un sistema Web se
emplean, en muchos casos, modelos de colas. Dichos modelos
permiten realizar un estudio independiente de cada uno de los
componentes del sistema (CPU, red y base de datos). Un
analisis del modelo nos Iacilita calcular los tiempos de servicio
asociados a las diIerentes colas del sistema por separado. De
esta Iorma, se puede estimar el rendimiento del sistema Web
completo. Los sistemas de colas se usan para modelar sistemas
que intercambian HCEs |8|. La notacion empleada para
caracterizar dichos modelos es la de Kendall (a/b/c). La
primera letra describe el proceso de llegada, la segunda el
tiempo de servicio y la tercera el numero de servidores del
sistema |9|.
Nosotros propusimos un sistema Web para el
almacenamiento e intercambio de HCEs en OItalmologia,
TeleOItalWeb |10|. La aplicacion Iue desarrollada utilizando
las tecnologias Java Servlets y Java Server Pages (JSP). Su
arquitectura tiene tres capas. La aplicacion es independiente de
la plataIorma empleada debido al empleo de los lenguajes Java
y eXtensible Markup Language (XML). Por motivos de
seguridad, todas las transmisiones se encriptaron empleando
los protocolos Secure Sockets Layer (SSL) y HyperText
TransIer Protocol over SSL (HTTPS). Ademas, la aplicacion
veriIica los estandares relativos a conIidencialidad y privacidad
de datos mdicos
Nuestra principal contribucion en este articulo, es justiIicar
cual de las bases de datos puestas en practica, las cuales
describiremos en esta Introduccion, oIrece los mejores tiempos
de respuesta a nuestro sistema Web, TeleOItalWeb. Para ello
se modela el sistema segun el modelo de colas M/M/1 descrito
en |8|, ya que se comprobo que era el mas adecuado en este
caso. La arquitectura propuesta es similar a la descrita en |1|.
Asi pues, en este trabajo, se estimaran los tiempos de
servicio asociados al modelo de colas propuesto (M/M/1). La
arquitectura de la aplicacion, el modelo de colas y las
estimaciones de los diIerentes tiempos de servicio del sistema
se explicaran en la seccion de Mtodos. Los tiempos de
respuesta obtenidos apareceran en la seccion de Resultados y
se analizaran con detalle.
II. MOTIVACION
Son muchos los estudios dedicados al analisis de los
tiempos de respuesta. Zgrzywa (1998) describe el analisis de
tiempos de respuesta de un sistema dedicado al turismo sobre
una base de datos Oracle, que ya empleaba el modelo de colas
para su evaluacion |11|. El paquete soItware que se
implemento Iue A Microcomputer Package Ior Solving
Queuing Networks Problems (AMOK). Pero al margen de este
soItware, existen paquetes comerciales tales como IBM`s
Research Queing Package (RESQ) y Queuing Network
Analysis Package (QNAP2) de la empresa Irancesa
SIMULOG, entre otros. Sudhakar (1993) empleo QNAP2 para
la evaluacion del tiempo de respuesta de una base de datos
mdica multimedia Oracle |12|. Otros autores, como
D`Ambrogio & Iazeolla (2003) propusieron un mtodo para la
evaluacion del Iuncionamiento de Iorma automatica de una
aplicacion Web |1|. Huang & Liou (2007) describieron un
modelo para el analisis del Iuncionamiento de un sistema de
intercambio de HCEs |8|.
Recordemos que las bases de datos son el nucleo
Iundamental de un sistema de inIormacion. El tiempo de
consulta de dichas bases de datos inIluye de Iorma decisiva en
el calculo total del tiempo de respuesta de un sistema |13|. Tras
el exhaustivo analisis de diIerentes bases de datos comerciales
y de soItware libre, se seleccionaron dbXML 2.0, Xindice 1.2 y
eXist 1.1.1. Recalcar que todas ellas permiten el
almacenamiento de HCEs en Iormato XML, con el Iin de que
la aplicacion cumpla estandares relativos al almacenamiento de
inIormacion clinica.
Las bases de datos nativas XML deIinen un modelo logico
para el documento XML. dbXML 2.0 es una base de datos
escrita en Java y disponible bajo licencia GNU |14|. Xindice
almacena e indexa documentos XML para proveer a otras
aplicaciones datos con muy poco procesamiento en el lado del
servidor |15|. Y Iinalmente, eXist soporta diIerentes lenguajes
de consultas XML, como son XQuery 1.0 y XPath 2.0 |16,17|.
Segun |18|, Xindice es una de las mas populares bases de datos
nativas XML (la evolucion de dbXML), que emplea una
tecnologia de compresion para reducir el tamao original de los
documentos XML. La usabilidad y la interoperabilidad de la
base de datos eXist son dos de sus caracteristicas
Iundamentales |16|.
En este articulo se muestra un mtodo para el calculo de
tiempos de respuesta de cualquier sistema Web que emplee una
arquitectura similar al sistema propuesto.
III. METODOS
A. Descripcion ae TeleOftalWeb
TeleOItalWeb es una aplicacion Web destinada a
almacenar e intercambiar HCEs en OItalmologia |10|. Cumple
los estandares Health Level 7 / Clinical Document Architecture
(HL7/CDA) Release 2.0 para HCE y Digital Imaging and
Communications in Medicine (DICOM) 3.0 para imagenes
mdicas.
En la actualidad, la aplicacion esta activa en el Instituto de
OItalmobiologia Aplicada (IOBA), de la Universidad de
Valladolid y se accede a ella a travs de direccion Web:
https://murphys.tel.uva.es/teleoItalweb.
A continuacion, se describen los dos modulos de que consta
TeleOItalWeb.
B. Moaulos ae TeleOftalWeb
TeleOItalWeb tiene dos modulos: gestor y usuario. El
administrador del sistema podra acceder a TeleOItalWeb a
travs de cualquier navegador. Podra realizar las siguientes
acciones: crear nuevos usuarios, mostrar la inIormacion de
usuario, borrar usuarios, modiIicar la inIormacion del mdico,
mostrar estadisticas del sistema (numero de historiales propios,
compartidos), presentar los HCEs y buscar usuarios atendiendo
a diIerentes criterios como apellidos, DNI, tipo de usuario y
numero de colegiado.
Al modulo usuario solo pueden acceder los usuarios
registrados. Ellos pueden crear nuevos historiales, borrarlos,
buscar historiales, crear revisiones en historiales existentes,
borrarlas, aadir imagenes en un historial, borrarlas, buscarlas
y editarlas. En la Figura 1 se observa el editor de imagenes, que
permite mostrar y cambiar la Iorma de la imagen, color,
aumentar, disminuir el tamao de todo tipo de imagenes
digitales. A su vez, se puede editar el brillo y el contraste. Otras
Iunciones permiten establecer una imagen Red, Green, Blue
(RGB), aadir, borrar texto y Ilechas.
C. Arquitectura ae TeleOftalWeb
La Figura 2 muestra la arquitectura de la aplicacion. Se
trata de una aplicacion de tres capas. Las base de datos nativa
XML empleada para almacenar, gestionar los HCEs y las
retinograIias son dbXML 2.0, eXist 1.1.1 y Xindice 1.2.
Apache Tomcat 5.5.9 es el servidor de aplicaciones elegido. La
aplicacion se ha realizado empleando las tecnologias Java
Servlet y Java Server Pages (JSP). Como entorno de desarrollo
se ha empleado NetBeans IDE 4.1 de Sun Microsystems. Java
y XML son las tecnologias base para el desarrollo de la
aplicacion.
En la comunicacion con la base de datos se emplearon los
lenguajes XML Path Language (XPath) y XUpdate.
La Figura 3 muestra el diagrama de la arquitectura del
sistema. Se trata de una aplicacion con tres capas. Como
servidor de aplicaciones se usa Apache Tomcat 5.5.9. Las redes
de area local LAN 1 y 2 son Ethernet (802.3). Los Gateways 1
y 2 son modelados segun |1|.
D. Moaelaao ae la aplicacion
A partir del modelo de colas de red de nuestro sistema
(vase Figura 4) estimamos los tiempos de respuesta medios,
empleando las bases de datos comentadas en el apartado A. El
tiempo de respuesta del sistema se calcula empleando la
ecuacion (1).

=
1
1
1
1
R
(1)

Donde es la tasa de llegadas y es la tasa de servicio. El
Iactor de utilizacion del sistema se observa en (2).

= (2)
Para que el sistema sea estable dicho Iactor tiene que ser
menor que 1 |19|.
El servidor empleado es un Intel Pentium 4 processor a 2.8
GHz con Hyper-Threading. Tiene 4GB de memoria de sistema
y emplea el sistema operativo Windows Server 2003 con
Service Pack 2. El cliente es un Intel Pentium 4 a 1.2 GHz con
Hyper-Threading. Tiene 1 GB de memoria y emplea Windows
XP Home Edition.
Asumimos que la tasa de llegada de una peticion en nuestro
sistema sigue una distribucion de Poisson. Para modelar el
tiempo medio de respuesta del sistema, es necesario estimar la
tasa de llegada y el tiempo de servicio 1/ de cada cola del
sistema.


Figura 1. Editor de imagenes


Figura 2. Arquitectura del sistema


Figura 3. Diagrama de la arquietectura

Figura 4. Modelo de colas del sistema
Se puede observar que hay 7 colas en el sistema. En la
Tabla 1 se pueden observar las colas del sistema, su
descripcion, tipo y los tiempos de servicio asociados a las
mismas.
Las colas Q
GW1
, Q
GW2
, Q
CA
son de tipo CPU; la cola Q
DB
es
de tipo base de datos y las colas Q
LAN1
, Q
WAN
, Q
LAN2
son tipo
red. Los tiempos de servicio asociados a las colas de tipo CPU
y red van a ser los mismos para los cuatro diIerentes modelos
de bases de datos. Lo que va a variar sera la cola de la base de
datos.
Es- diIicil estimar el tiempo de servicio para la red.
Nosotros aplicamos el modelo de Huang & Liou (2007). En
este caso, el tiempo minimo teorico para transmitir una pagina
Web de 5-kB en una conexion de 1-Mb es de
aproximadamente 129 ms.
Para la cola de la base de datos tenemos que hacer una
distincion entre: Q
DBXML
, Q
XINDICE
y Q
EXIST
. El tiempo de
servicio de cada una de las colas de base de datos va a
depender del numero de HCEs almacenados en el sistema y del
numero de consultas simultaneas a la base de datos.
En la Tabla 2 se muestran los tiempos de respuesta
asociados a las consultas de las diIerentes bases de datos
propuestas. Para calcular los tiempos de consulta asociados a
las bases de datos nativas XML se han realizado pruebas
propias analogas a las realizadas por el benchmark XMach-1
|20| para ocho consultas. Mabanza, et al. (2006) realizan una
comparativa de tiempos de respuesta de diversas bases de datos
nativas XML |21|.
Para estimar el tiempo de servicio de la CPU de Host A y
los tiempos de servicio asociados a los GWs realizamos las
estimaciones oportunas a partir de las especiIicaciones tcnicas
de los Iabricantes de los mismos.
Se asume que en la interaccion entre A y B emplean el
protocolo de nivel de aplicacion HTTPS. En la capa de
transporte se emplea el protocolo TCP sobre IP. Una vez
estimados todos los tiempos de servicio asociados a las
diIerentes colas podemos calcular el tiempo medio de respuesta
de una consulta desde el cliente A al servidor B.
El tiempo de respuesta medio de una consulta se puede
calcular de la siguiente manera (sumando todos los tiempos
medios asociados a cada dispositivo):
R
QUERY
R
CA
R
GW1
R
LAN1
R
WAN
R
LAN2
R
GW2
R
DB

donde, R
CA
1 / (
CA
-
CA
), R
GW1
1 / (
GW1
-
GW1
),
R
LAN1
1 / (
LAN1
-
LAN1
), R
WAN
1 / (
WAN
-
WAN
), R
LAN2

1 / (
LAN2
-
LAN2
), R
GW2
1 / (
GW2
-
GW2
) y R
DB
1
(
DB
-
DB
) ,
CA
1/ (T
1
T
13
) s
-1

GW1
1/ (T
2
T
12
) s
-1
,
LAN1
1/ (T
3
T
11
) s
-1

WAN
1/ (T
4
T
10
) s
-1
,
LAN2
1/ (T
5
T
9
) s
-1

GW2
1/ (T
6
T
8
) s
-1
,
DB
1/T
7
s
-1

TABLA 1. MODELO DE COLAS DEL SISTEMA

TABLA 2. TIEMPOS DE RESPUESTA DE LAS CONSULTAS EN DISTINTAS BASES DE
DATOS

T
i
es el tiempo de servicio asociado a las diIerentes colas.
Consideramos que:
T
1
T
8
0,5 s en todos los casos de estudio.
Tambin, T
10
T
12
T
3
T
5
0,005 s en todos los casos
de estudio.
Calculamos los tiempos de respuesta del sistema
empleando las diIerentes bases de datos para distintas tasas de
llegada (consultas/s), dependiendo del n de HCEs
intercambiados por hora. Por ejemplo, para 20 HCEs/hora
tenemos que:

CA
1/ (T
1
T
13
) 1/(0,5 0,129) 1,589 s
-1
,
CA

0,0076 s
-1

GW1
1/ (T
2
T
12
) 1/(0,129 0,005) 7,462 s
-1
,

GW1
0,0076 s
-1

LAN1
1/ (T
3
T
11
) 1/(0,005 0,129) 7,462 s
-1
,

LAN1
0,0076 s
-1

WAN
1/ (T
4
T
10
) 7,462 s
-1
,
WAN
0,0076 s
-1

LAN2
1/ (T
5
T
9
) 7,462 s
-1
,
LAN2
0,0076 s
-1

GW2
1/ (T
6
T
8
) 1/(0,129 0,5) 1,589 s
-1
,

GW2
0,0076 s
-1
,
DB
1/T
7
s
-1
,
DB
0,0076 s
-1

T
7
va a depender del modelo de base de datos empleado.

IV. RESULTADOS
A continuacion, en la Tabla 3 se muestran los tiempos de
respuesta medios del sistema con diIerentes tasas de llegadas
para los distintos modelados de bases de datos. Los resultados
mostrados han sido calculados usando MS-Excel.
TABLA 3. TIEMPOS DE RESPUESTA MEDIOS DEL SISTEMA

Se necesita como minimo un ancho de banda de 1Mb para
poder intercambiar 5000 HCEs o mas en una hora. Los mejores
resultados se obtienen con la base de datos eXist. La Figura 5
muestra los tiempos de respuesta en Iuncion del n de HCEs
intercambiados (por hora) en el caso de 1 Mb y la Figura 6 para
100 Kb.
V. DISCUSION Y CONCLUSIONES
El modelo de colas M/M/1 propuesto para calcular los
diIerentes tiempos de respuesta, ha dado como resultado la
deteccion de cuellos de botella en el backbone de la red y en la
base de datos empleada en el servidor. A medida que el ancho
de banda de la red aumenta, se puede observar que los tiempos
de respuesta del sistema son menores. Para tasas de llegadas
mayores dichos tiempos decrecen.
Con el Iin de decrementar los tiempos de respuesta del
sistema, aconsejamos aumentar el ancho de banda de la red y
emplear la base de datos con menores tiempos de servicio. En
nuestro caso de estudio la base de datos eXist.
Se han detectado tras el analisis una serie de limitaciones.
Los tiempos de servicio asociados a las CPUs y a los Gateways
1, 2 son estimados de Iorma teorica.
Con el cliente y el servidor empleados para realizar todas
las pruebas, cuyas caracteristicas aparecen en el apartado de
Mtodos, hemos obtenidos los resultados citados en este
articulo. Con el uso de otro tipo de maquinas obtendriamos
resultados diIerentes.
Las bases de datos nativas XML de soItware libre se
eligieron teniendo en cuenta las caracteristicas de escalabilidad,
usabilidad e interoperabilidad de las mismas (Noh, et al., 2008;
Meier, 2003).
Podemos aIirmar que nuestro sistema Web puede procesar
la HCE de hasta 7600 pacientes por hora empleando eXist
1.1.1 con una conexion de red de 1 Mb. Con dbXML 2.0 puede
procesar hasta 1500 HCEs en una hora y con Xindice 1.2 hasta
1300 HCEs en una hora con una conexion de 1Mb. No
obstante, la estimacion de los tiempos de servicio asociados a
las colas de CPU y a la red es una de las principales
limitaciones de nuestro estudio.


Figura 5. Tiempos de respuesta medios para 1 Mb

Figura 6. Tiempos de respuesta medios para 100 Kb

La aplicacion se desarrollo inicialmente para ser empleada
por especialistas pero la idea es que los pacientes tambin
pudieran acceder a su propio HCE.
Actualmente el sistema Web con la base de datos eXist esta
siendo utilizado por especialistas del Instituto de
OItalmobiologia Aplicada de la Universidad de Valladolid
(IOBA) y cuenta con mas de 1000 HCEs y mas de 2000
retinograIias.
El modelo empleado en este articulo puede ser utilizado
para calcular tiempos de respuesta de cualquier sistema Web
con una arquitectura similar al sistema evaluado.

REFERENCES

|1| A. D`Ambrogio, G. Iazeolla. 'Steps towards the automatic production oI
perIormance models oI web applications. Computer Networks, vol. 41:
pp. 29-39, 2003.
|2| H. Leung, S. Liang, C. Keith, C. Chan, M. Li. A Study oI PerIormance
Testing oI Web-based Systems. ISDB 2002, pp. 129-135.
|3| B.M. Subraya, S.V. Subrahmanya, Object Driven PerIormance Testing
in Web Applications. APAQS 2000, pp. 17-28.
|4| D.F. Sitting, G.J. Kuperman, J. Fiskio. Evaluating Physician SatisIaction
Regarding User Interactions with an Electronic Medical Record System.
Proc AMIA Symp. 1999, pp. 400-404.
|5| D.B. Hier, A. Rothschild, A. LeMaistre, J. Keeler. DiIIering Faculty and
HousestaII Acceptance oI an Electronic Health Record One-Year AIter
Implementation, MEDINFO 2004, pp. 1300-1303.
|6| W.S. Li, W.P. Hsiung, O. Po, K.S. Candan, D. Agrawal. 'Evaluations oI
architectural designs and implementation Ior database-driven web sites.
Data & Knowledge Engineering, 43: pp. 151-177, 2002.
|7| W.J. Doherty, A.J. Thadani. The Economic Value oI Rapid Response
Time. 1982.
|8| E.W. Huang, D. Liou. 'PerIormance Analysis oI a Medical Record
Exchanges Model. IEEE Trans on InIormation Technology in
Biomedicine, vol. 11, pp. 153-160, 2007.
|9| L. Kleinrock, L. Queueing Systems, Vol. I: Theory. Wiley, New York.
1975.
|10| I. De la Torre, R. Hornero, M. Lopez, M.I. Lopez.. Ophthalmologic
Electronic Health Records using HL7 and DICOM standards, Thirteenth
Annual International Meeting & Trade Show (ATA 2008), 16-18 April,
Seattle, USA. Telemedicine and e-Health Journal, pp. 100, 2008.
|11| A. Zgrzywa, A. 'The evaluation oI the response time Ior a tourist
agency`s service system. InIormation and SoItware Techonology, vol.
40: pp. 37-44, 1998.
|12| G.N.M. Sudhakar, A. Karmouch, N.D. Georganas. 'Design and
PerIormance Evaluation Considerations oI a Multimedia Medical
Database. IEEE Trans on Knowledge and Data Engineering, vol. 5, n.
5, pp. 888-894, 1993.
|13| S. Balsamo, M. Marzolla, A. Di Marco, P. Inverardi. Experimenting
diIIerent soItware architectures perIormance techniques: a case study.
WOSP 2004, pp. 115-119.
|14| The dbXML Group, L.L.C. DbXML. Native XML Database. Retrieved
June 30, 2009, Irom http://www.dbxml.com
|15| The Apache SoItware Foundation. Apache Xindice. Retrieved June 30,
2009, Irom http://xml.apache.org/xindice
|16| W. Meier. eXist: An Open Source Native XML Database, Lecture Notes
in Computer Science. Springer Berlin / Heidelberg, 2593, 2003, pp. 169-
183.
|17| K.C. Davis, Y. Zhan, R.B. Davis. An XML/XPath query language and
XMark perIormance study. Proceedings oI the 2003 Symposium on
Applications and the Internet, 2003, pp. 422- 427.
|18| S.Y. Noh, S.K. Gadia, S. Ma, 'An XML-based methodology Ior
parametric temporal database model implementation. The Journal oI
Systems and SoItware, 81: pp. 929948, 2008.
|19| K. Trivedi. Probability and statistics with reliability. Queuing and
Computer Science Application, 2nd ed. New York: Wisley, 2001.
|20| T. Bhme, E. Rahm, E. Multi-User Evaluation oI XML Data
Management Systems with XMach-1. Lecture Notes in Computer
Science (LNCS), 2590: 2003, pp. 148-159, Springer.
|21| N. Mabanza, J. Chadwick, G.S.V.R. Krishna Rao, PerIormance
evaluation oI Open Source Native XML databases - A Case Study. The
8th International ConIerence Advanced Communication Technology, 3,
2006, pp. 1861-1865.

You might also like