Upload
phamkien
View
225
Download
0
Embed Size (px)
Citation preview
SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC
NICOLAS RIOS RODRIGUEZ
UNIVERSIDAD DE LA SALLEFACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN
ELECTRÓNICABOGOTA 2005
SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC
NICOLAS RIOS RODRIGUEZ
Trabajo de Grado
Doctor JAIME HUMBERTO CARVAJAL ROJASAsesor del Proyecto
UNIVERSIDAD DE LA SALLEFACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN
ELECTRÓNICABOGOTA 2005
La responsabilidad delos conceptos emitidosen el presente escritoes exclusiva de suAutor.
Este trabajo en primer lugar lo dedico aDios, a mis Padres: Maria Elena una ejemplarmujer, madre y profesional que con su iniciativa yamor por las cosas que emprende nos ayuda acomprender el significado de la vida, GraciasMama y Hernando que con su dedicación, apoyo,esfuerzo y cariño hizo posible que las cosasdifíciles se tornaran divertidas y emotivas,Gracias Papa, siendo ellos quienes aportaron aéste trabajo su experiencia profesional, queante todo siempre me apoyaron y creyeron en mí,y son mi orgullo y ejemplo a seguir, agradezco aRex, su apoyo y determinación en momentoscruciales, agradezco a mis amigos: Andres,Ronald, William su invaluable amistad..
Pero Definitivamente éste trabajo se basó enel amor y confianza ilimitada de la mujer quealegra los días de mi vida, Diana LorenaSarmiento Rodríguez, mujer a la que Admiro,Respeto, Amo, Thanks Lips of FIRE.
CONTENIDO
I Objetivo General 1
II Objetivos Específicos 1
1 Capitulo I Introducción 2
2 Capitulo II Sistemas Distribuidos 3
2.1 Definición 3
2.2 Características 32.2.1 Concurrencia 32.2.2 Carencia de reloj global 32.2.3 Aislamiento del sistema 4
2.3 Desarrollo tecnológico 42.3.1 Historia 42.3.2 Modelo de procesamiento central 82.3.3 Modelo de servidores 92.3.4 Modelo Cliente Servidor 9
2.4 Conceptos Generales 102.4.1 Protocolo 102.4.2 Redes Lan 112.4.3 Redes Wan 122.4.4 Sockets 122.4.5 Mensajes 142.4.6 Modelo de referencia OSI 14
2.5 Modelo Cliente Servidor 162.5.1 Definición 162.5.2 Categorías del Servicio 182.5.3 Componentes de Software 202.5.4 Arquitecturas 212.5.5 Clasificación de los Sistemas Distribuidos 23
2.6 Protocolo de comunicaciones TCP/IP 262.6.1 Definición 262.6.2 Arquitectura 26
3 Capitulo III Sistemas Inalámbricos 29
3.1 Breve Introducción 29
3.2 Conceptos Generales 303.2.1 Transmisión Inalámbrica de datos 303.2.2 Medio de transporte 313.2.3 Modulación 333.2.4 Modulación ASK 33
3.3 Redes inalámbricas 353.3.1 Características 353.3.2 Redes Wi-Fi 373.3.3 Redes Bluetooth 393.3.4 Redes Gsm 43
4 Capitulo IV Identificación del entorno de Trabajo 46
4.1 Elementos Disponibles 474.2 Viabilidad del proyecto 47
5 Capitulo V Diseño de los Sistemas de Transmisión 53y Recepción de Datos
5.1 Modelo de Comunicación 53
5.2 Requerimientos de Hardware 55
5.3 Selección de componentes 55
5.3.1 Módulos RF 555.3.2 Lenguaje de Programación 57
5.4 Implementación del Sistema Inalámbrico 58
5.4.1 Consideraciones técnicas 585.4.2 Desarrollo y Construcción del Sistemas 61
Transmisor y Receptor
5.4.2.1 Circuito Transmisor 645.4.2.2 Circuito Receptor 685.4.3 Pruebas piloto 695.4.4 Puesta en funcionamiento 72
5.5 Implementación del Sistema Distribuido 74
5.5.1 Identificación del entorno 745.5.2 Requisitos previos 745.5.3 Desarrollo de la Aplicación Servidor 765.5.4 Desarrollo de la Aplicación Cliente 845.5.5 Diseño de la base de Datos 865.5.6 Pruebas Iniciales 885.5.7 Puesta en funcionamiento 95
6 Conclusiones 98
7 Bibliografía 101
8 ANEXOS
Anexo A 102Anexo B 103Anexo C 110Anexo D 117
1
OBJETIVO GENERAL
Optimización de las tareas y procedimientos a los cuales se someten las computadoras,
con el fin de garantizar una alta cobertura, soporte adecuado, a fin de que las actividades
desarrolladas en el laboratorio sean más eficientes, y fáciles de llevar a cabo.
OBJETIVOS ESPECÍFICOS
1. Implementar un medio efectivo de comunicación entre la aplicación y los
dispositivos electrónicos de RF.
2. Desarrollar una interfaz de aplicación interactiva y de fácil manejo para el
usuario.
3. Construir un circuito electrónico que garantice la conectividad y versatilidad
actual con un computador y su sistema operativo.
4. Supervisar el estado particular de alguna estación en servicio a fin de generar un
reporte de su operabilidad.
5. Diseñar estrategias que permitan el mejoramiento en cuanto a la asignación
programación y control de seguridad.
2
INTRODUCCIÓN
El presente trabajo contiene la descripción clara y detallada del diseño y construcción de
un sistema para personalizar el uso de las funciones de un computador, es decir controla
la forma en la cual uno o más usuarios hacen uso de aplicaciones del computador.
Dada las condiciones de uso de los computadores o PC´S y el avance en las aplicaciones
que se pueden llevar a cabo con estos equipos es lógico pensar que se debe implementar
una forma de controlar el uso de los computadores debido a que ni todas las personas
que los utilizan lo usan todo ni todo el tiempo se usa el mismo tipo de aplicaciones, es
por eso que con este trabajo académico se pretende dar a conocer una solución que
integra la tecnología electrónica y la tecnología de sistemas para brindar al usuario
como al administrador del computador facilidad y eficiencia al momento de utilizar el
equipo.
En este trabajo se encontraran los requerimientos básicos o necesidades a satisfacer con
el proyecto: la recopilación de datos, la planeación de las soluciones, la escogencia de
métodos y componentes, la evaluación de los procesos que intervienen y su puesta en
funcionamiento. Apoyado en el uso de aplicaciones basadas en el modelo cliente
servidor que permitirán un control justo de las acciones a tomar.
3
CAPITULO IISISTEMAS DISTRIBUIDOS
2.1 DEFINICIÓN
Sistemas cuyos componentes hardware y software, que están en ordenadores conectados
en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el
logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por
un esquema cliente-servidor”.
2.2 CARACTERÍSTICAS
2.2.1 Concurrencia
Esta característica de los sistemas distribuidos permite que los recursos disponibles en
la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que
interactúan en la red.
2.2.2 Carencia de reloj global
Las coordinaciones para la transferencia de mensajes entre los diferentes componentes
para la realización de una tarea, no tienen una temporización general, esta más bien
distribuida a los componentes.
4
2.2.3 Aislamiento del Sistema
Cada componente del sistema puede fallar independientemente, con lo cual los demás
pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor
efectividad, pues el sistema en su conjunto continua trabajando.
2.3 DESARROLLO TECNOLÓGICO
2.3.1 Historia
Los sistemas distribuidos han estado relacionados históricamente con la arquitectura de
las computadoras en las cuales se ejecutan, razón por la cual su historia puede analizarse
según las siguientes generaciones y sus principales características:
1. Generación Cero (década de 1940):
• Carencia total de sistema operativo.
• Completo acceso al lenguaje de máquina.
2. Primera generación (1945-1955): bulbos y conexiones:
• En los años cincuenta comienzan como transición entre trabajos,
haciendo la misma más simple.
3. Segunda generación (1955-1965): transistores y sistemas de procesamiento por
lotes (batch):
5
• En los años sesenta aparecen los sistemas distribuidos con:
• Multiprogramación: varios programas de usuarios se
encuentran al mismo tiempo en el almacenamiento
principal, cambiando el procesador rápidamente de un
trabajo a otro.
• Multiprocesamiento: varios procesadores se utilizan en un
mismo sistema para incrementar el poder de
procesamiento.
•Posteriormente aparece la independencia de dispositivo:
• El programa del usuario especifica las características de
los dispositivos que requieren los archivos.
• El sistema asigna los dispositivos correspondientes según
los requerimientos y las disponibilidades.
4. Tercera generación (1965-1980): circuitos integrados y multiprogramación:
• Difusión de la multiprogramación:
• Partición de la memoria en porciones, con trabajos
distintos en cada una de ellas.
• Aprovechamiento del tiempo de espera consecuencia de
operaciones de e / s, para utilizar la CPU para otros
procesos.
6
• Protección por hardware del contenido de cada partición
de memoria.
• Aparición de técnicas de spooling:
• Simultaneous Peripheral Operation On Line: operación
simultánea y en línea de periféricos.
• Almacenamiento de trabajos de entrada y de salida en
dispositivos transitorios rápidos (discos), para disminuir el
impacto de los periféricos más lentos.
• Son sistemas de modos múltiples, es decir que deben
soportar sistemas de propósitos generales; son grandes y
complejos pero muy poderosos.
• Interponen una capa de software entre el usuario y el
hardware.
• Aparecen los lenguajes de control de trabajos, necesarios
para especificar el trabajo y los recursos requeridos.
• Soportan timesharing (tiempo compartido), variante de la
multiprogramación con usuarios conectados mediante
terminales en línea, permitiendo la operación en modo
interactivo o conversacional.
• Aparecen los sistemas de tiempo real, que requieren
tiempos de respuesta muy exigentes, especialmente para
usos industriales o militares.
7
• Se difunden las computadoras de rango medio.
5. Cuarta generación (1980-1990): computadoras personales:
• Aparición de software amigable con el usuario, destinado
a usuarios no profesionales y con una interfase gráfica
muy desarrollada.
• Desarrollo de sistemas operativos de red y sistemas
operativos distribuidos.
• Sistemas operativos de red:
• Los usuarios están conscientes de la existencia de varias
computadoras conectadas.
• Cada máquina ejecuta su propio sistema operativo local.
• Son similares a los sistema operativo de un solo
procesador pero con el agregado de:
• Controlador de interfaz de la red y su software de bajo
nivel.
• Software para conexión y acceso a archivos remotos, etc.
• Sistemas operativos distribuidos:
• Aparece ante los usuarios como un sistema. de un solo
procesador, aún cuando de soporte a varios procesadores.
• Los usuarios no son conscientes del lugar donde se
ejecutan sus programas o donde se encuentran sus
8
archivos, ya que lo debe administrar el sistema
automáticamente.
• Deben permitir que un programa se ejecute mediante
varios procesadores a la vez, maximizando el paralelismo.
• Aparición de emuladores de terminal para el acceso a
equipos remotos desde computadoras personales (PC).
• Gran énfasis en la seguridad, en especial por el desarrollo
de los sistemas de comunicaciones de datos.
• El sistema crea un ambiente de trabajo según el concepto
de máquina virtual, que lo aísla del funcionamiento
interno de la máquina.
• Proliferación de sistemas de bases de datos, accesibles
mediante redes de comunicación.
2.3.2 Modelo de Procesamiento central (Host)
Uno de los primeros modelos de ordenadores interconectados, llamados centralizados,
donde todo el procesamiento de la organización se llevaba a cabo en una sola
computadora, normalmente un Mainframe, y los usuarios empleaban sencillos
ordenadores personales.
Los problemas de este modelo son:
9
• Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware
del Mainframe, lo cual es más costoso que añadir más computadores personales
clientes o servidores que aumenten las capacidades.
• El otro problema que surgió son las modernas interfases gráficas de usuario, las
cuales podían conllevar a un gran aumento de tráfico en los medios de
comunicación y por consiguiente podían colapsar.
2.3.3 Modelo de Servidores
Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un
grupo de ordenadores actuando como servidores, normalmente de archivos o de
impresión, poco inteligentes para un número de Minicomputadores que hacen el
procesamiento conectados a una red de área local. Los problemas de este modelo son:
• Podría generarse una saturación de los medios de comunicación entre los
servidores poco inteligentes y los minicomputadores, por ejemplo cuando se
solicitan archivos grades por varios clientes a la vez, podían disminuir en gran
medida la velocidad de transmisión de información.
2.3.4 Modelo Cliente Servidor
Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y
recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz
10
Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una
aplicación determinada y por lo tanto ejecutarla en forma eficiente.
2.4 CONCEPTOS GENERALES
2.4.1 Protocolo
Es un conjunto bien conocido de reglas y formatos que se utilizan para la comunicación
entre procesos que realizan una determinada tarea. Se requieren dos partes:
• Especificación de la secuencia de mensajes que se han de intercambiar.
• Especificación del formato de los datos en los mensajes.
Un protocolo permite que componentes heterogéneos de sistemas distribuidos puedan
desarrollarse independientemente, y por medio de módulos de software que componen
el protocolo, haya una comunicación transparente entre ambos componentes. Es
conveniente mencionar que estos componentes del protocolo deben estar tanto en el
receptor como en el emisor.
Los protocolos de comunicaciones definen las normas que posibilitan que se establezca
una comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser
diferentes entre sí. A continuación se presentan ejemplos de protocolos usados en los
sistemas distribuidos:
11
• IP: Protocolo de Internet
Protocolo de la capa de Red, que permite definir la unidad básica de transferencia de
datos y se encarga del direccionamiento de la información, para que llegue a su destino
en la red.
• TCP: Protocolo de Control de Transmisión
Protocolo de la capa de Transporte, que permite dividir y ordenar la información a
transportar en paquetes de menor tamaño para su transporte y recepción.
• HTTP: Protocolo de Transferencia de Hipertexto
Protocolo de la capa de aplicación, que permite el servicio de transferencia de páginas
de hipertexto entre el cliente WEB y los servidores.
• SMTP: Protocolo de Transferencia de Correo Simple
Protocolo de la capa de aplicación, que permite el envío de correo electrónico por la red.
• POP3: Protocolo de Oficina de Corre
Protocolo de la capa de aplicación, que permite la gestión de correos en Internet, es
decir, le permite a una estación de trabajo recuperar los correos que están almacenados
en el servidor.
2.4.2 Redes LAN (Local Area Network)
Son las redes de área local. La extensión de este tipo de redes suele estar restringida a
una sala o edificio, aunque también podría utilizarse para conectar dos o más edificios
próximos.
12
2.4.3 WAN (Wide Area Network)
Son redes que cubren un espacio muy amplio, conectando a ordenadores de una cuidad
o un país completo. Para ello se utilizan las líneas de teléfono y otros medios de
transmisión más sofisticados, como pueden ser las microondas. La velocidad de
transmisión suele ser inferior que en las redes locales.
2.4.4 Sockets
Los sockets no son más que puntos o mecanismos de comunicación entre procesos que
permiten que un proceso hable (emita o reciba información) con otro proceso incluso
estando estos procesos en distintas máquinas. Esta característica de interconectividad
entre máquinas hace que el concepto de socket nos sirva de gran utilidad. Esta interfaz
de comunicaciones es una de las distribuciones de Berkeley al sistema UNIX,
implementándose las utilidades de interconectividad de este Sistema Operativo (rlogin,
telnet, ftp, ...) usando sockets.
Un socket es al sistema de comunicación entre ordenadores lo que un buzón o un
teléfono es al sistema de comunicación entre personas: un punto de comunicación entre
dos agentes (procesos o personas respectivamente) por el cual se puede emitir o recibir
información. La forma de referenciar un socket por los procesos implicados es mediante
un descriptor del mismo tipo que el utilizado para referenciar ficheros. Debido a esta
característica, se podrá realizar redirecciones de los archivos de E/S estándar a los
sockets y así combinar entre ellos aplicaciones de la red. Todo nuevo proceso creado
13
heredará, por tanto, los descriptores de sockets de su padre.
La comunicación entre procesos a través de sockets se basa en la filosofía CLIENTE-
SERVIDOR: un proceso en esta comunicación actuará de proceso servidor creando un
socket cuyo nombre conocerá el proceso cliente, el cual podrá "hablar" con el proceso
servidor a través de la conexión con dicho socket nombrado.
El proceso crea un socket sin nombre cuyo valor de vuelta es un descriptor sobre el que
se leerá o escribirá, permitiéndose una comunicación bidireccional, característica propia
de los sockets y que los diferencia de los pipes, o canales de comunicación
unidireccional entre procesos de una misma máquina. El mecanismo de comunicación
vía sockets tiene los siguientes pasos:
El proceso servidor crea un socket con nombre y espera la conexión.
* El proceso cliente crea un socket sin nombre.
* El proceso cliente realiza una petición de conexión al socket servidor.
* El cliente realiza la conexión a través de su socket mientras el proceso servidor
mantiene el socket servidor original con nombre.
Es muy común en este tipo de comunicación lanzar un proceso hijo, una vez realizada la
conexión, que se ocupe del intercambio de información con el proceso cliente mientras
el proceso padre servidor sigue aceptando conexiones. Para eliminar esta característica
14
se cerrará el descriptor del socket servidor con nombre en cuanto realice una conexión
con un proceso socket cliente.
2.4.5 Mensajes
Es la implementación de los sockets para enviar desde un punto de origen, hasta un
punto de destino información. Esta información esta catalogada como “Mensaje”, el
cual se compone como en el caso de la lingüística de elementos como una introducción,
y el objeto del mensaje, un ejemplo de mensaje es el siguiente:
MENSAJE DE SOLICITUD DE INFORMACIÓN DE USUARIO:
______nicolas rios;00080040538;00003115784;000123456789
Donde el mensaje esta dividido en secciones o campos separados por punto y coma, este
mensaje en esencia es una cadena de caracteres que se transporta bajo el esquema del
socket hacia una máquina que pueda entender y resolver el tipo de solicitud requerida.
2.4.6 Modelo de Referencia OSI
El modelo OSI (Open System Interconection) es utilizado por prácticamente la totalidad
de las redes del mundo. Este modelo fue creado por el ISO (Organización Internacional
de Normalización), y consiste en siete niveles o capas donde cada una de ellas define las
15
funciones que deben proporcionar los protocolos con el propósito de intercambiar
información entre varios sistemas.
Esta clasificación permite que cada protocolo se desarrolle con una finalidad
determinada, lo cual simplifica el proceso de desarrollo e implementación. Cada nivel
depende de los que están por debajo de él, y a su vez proporciona alguna funcionalidad
a los niveles superiores.
Los siete niveles del modelo OSI son los siguientes:
Aplicación
El nivel de aplicación es el destino final de los
datos donde se proporcionan los servicios al
usuario.
PresentaciónSe convierten e interpretan los datos que se
utilizarán en el nivel de aplicación.
SesiónEncargado de ciertos aspectos de la
comunicación como el control de los tiempos.
Transporte
Transporta la información de una manera
fiable para que llegue correctamente a su
destino.
Red Nivel encargado de encaminar los datos hacia
16
su destino eligiendo la ruta más efectiva.
Enlace
Enlace de datos. Controla el flujo de los
mismos, la sincronización y los errores que
puedan producirse.
Físico
Se encarga de los aspectos físicos de la
conexión, tales como el medio de transmisión
o el hardware.
Tabla 1. Modelo de Referencia OSI
2.5 MODELO CLIENTE SERVIDOR
2.5.1 Definición
La arquitectura cliente-servidor es una forma específica de diseño de aplicaciones,
aunque también se conoce con este nombre a los ordenadores en los que se estas
aplicaciones son ejecutadas. Por un lado, el cliente es el ordenador que se encarga de
efectuar una petición o solicitar un servicio. El cliente no posee control sobre los
recursos, sino que es el servidor el encargado de manejarlos. Por otro lado, el ordenador
remoto que actúa como servidor evalúa la petición del cliente y decide aceptarla o
rechazarla consecuentemente.
17
Una vez que el servidor acepta el pedido la información requerida es suministrada al
cliente que efectuó la petición, siendo este último el responsable de proporcionar los
datos al usuario con el formato adecuado. Finalmente debemos precisar que cliente y
servidor no tienen que estar necesariamente en ordenadores separados, sino que pueden
ser programas diferentes que se ejecuten en el mismo ordenador.
Básicamente, se basa en la existencia de dos elementos enlazados dentro de un proceso
de comunicación; El Cliente y El Servidor, el cliente es una máquina que solicita un
determinado servicio y se denomina servidor a la máquina que lo proporciona. Los
servicios pueden ser:
• Ejecución de un determinado programa.
• Acceso a un determinado banco de información.
• Acceso a un dispositivo de hardware.
Es un elemento primordial, la presencia de un medio físico de comunicación entre las
máquinas, y dependerá de la naturaleza de este medio la viabilidad del sistema.
18
Figura 1. Esquema Cliente Servidor
2.5.2 Categorías de Servicio
• Servicio de archivos
Proporciona archivos para clientes. Si los archivos no fueran tan grandes y los
usuarios que comparten esos archivos no fueran muchos, esto sería una gran opción
de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el
servidor los ubica y se los envía.
•Servicio de Base de Datos
Son los que almacenan gran cantidad de datos estructurados, se diferencian de los de
archivos pues la información que se envía está ya resumida en la base de datos.
Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y
extrae solo la información pertinente y envía esa respuesta al cliente.
CLIENTE SERVICIOSolicitud de Recurso
Respuesta
PROGBD
SERVICIOS
19
• Servicio de Software de Grupo
El software de grupo es aquel, que permite organizar el trabajo de un grupo. El
servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar
las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una
tarea y el servidor se lo envía al resto del grupo.
• Servicio WEB
Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o
link hace un llamado de la página y el servidor recibe el mensaje y envía la página
correspondiente.
• Servicio de correo
Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no
necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.
• Servicio de objetos
Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden
ser capaces de activar los objetos que se encuentran en el servidor.
• Servicio de impresión
Gestionan las solicitudes de impresión de los clientes. El cliente envía la solicitud de
impresión, el servidor recibe la solicitud y la ubica en la cola de impresión, ordena a
la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente
que ya acabo su respectiva impresión.
20
• Servicio de aplicación
Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden
acceder los clientes.
2.5.3 Componentes de Software
Se distinguen tres componentes básicos de software:
• Presentación
Tiene que ver con la presentación al usuario de un conjunto de objetos visuales y
llevar a cabo el procesamiento de los datos producidos por el mismo y los devueltos
por el servidor.
• Lógica de aplicación
Esta capa es la responsable del procesamiento de la información que tiene lugar en
la aplicación.
• Base de datos
Esta compuesta de los archivos que contienen los datos de la aplicación.
21
2.5.4 Arquitecturas
Arquitectura Cliente-Servidor de Dos Capas
Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de
datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones:
§ Cuando se requiera poco procesamiento de datos en la organización.
§ Cuando se tiene una base de datos centralizada en un solo servidor.
§ Cuando la base de datos es relativamente estática.
§ Cuando se requiere un mantenimiento mínimo.
Figura 2. Cliente Servidor de 2 Capas
Arquitectura Cliente-Servidor de Tres Capas
Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra
capa de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes
situaciones:
SERVIDORCLIENTE
Base de Datos* Presentación* Lógica de la Aplicación.
22
§ Cuando se requiera mucho procesamiento de datos en la aplicación.
§ En aplicaciones donde la funcionalidad este en constante cambio.
§ Cuando los procesos no están relativamente muy relacionados con los
datos.
§ Cuando se requiera aislar la tecnología de la base de datos para que sea
fácil de cambiar.
§ Cuando se requiera separar el código del cliente para que se facilite el
mantenimiento.
§ Esta muy adecuada para utilizarla con la tecnología orientada a objetos.
Figura 3. Cliente Servidor de Tres Capas
Capa dePresentación
Capa de laAplicación
Capa de Basede Datos
Objetos deNegocios B/D
CLIENTES
SERVIDOR
SERVIDOR
23
2.5.5 Clasificación de los sistemas cliente servidor
Representación distribuida
La interacción con el usuario se realiza en el servidor, el cliente hace de pasarela entre
el usuario y el servidor.
Figura 4. Usuario Servidor
Representación Remota
La lógica de la aplicación y la base de datos se encuentran en el servidor. El cliente
recibe y formatea los datos para interactuar con el usuario.
Figura 5. Cliente Servidor Remotos
Lógica Distribuida
24
El cliente se encarga de la interacción con el usuario y de algunas funciones triviales de
la aplicación. Por ejemplo controles de rango de campos, campos obligatorios, etc.
Mientras que el resto de la aplicación, junto con la base de datos, están en el servidor.
Figura 6. Cliente Servidor de Control
Gestión Remota de Datos
El cliente realiza la interacción con el usuario y ejecuta la aplicación y el servidor es
quien maneja los datos.
Figura 7. Cliente Servidor de Gestión Remota
Base de Datos Distribuidas
El cliente realiza la interacción con el usuario, ejecuta la aplicación, debe conocer la
topología de la red, así como la disposición y ubicación de los datos. Se delega parte de
la gestión de la base de datos al cliente.
25
Figura 8. Cliente Servidores de Datos
Cliente servidor de tres niveles
El cliente se encarga de la interacción con el usuario, el servidor de la lógica de
aplicación y la base de datos puede estar en otro servidor.
Figura 9. Cliente Servidor de Gestión y Base de datos
26
2.6 PROTOCOLO DE COMUNICACIONES TCP/IP
2.6.1 Definición
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet,
de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en
Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware
y software incompatibles en muchos casos, además de todos los medios y formas
posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues
este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es
compatible con cualquier sistema operativo y con cualquier tipo de hardware.
2.6.2 Arquitectura
TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este
nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI.
Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP
(Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian
cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los
niveles OSI de la siguiente manera:
• Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y
sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales
como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión
27
remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext
Transfer Protocol).
• Transporte: Coincide con el nivel de transporte del modelo OSI. Los
protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los
datos y proporcionar la fiabilidad necesaria en el transporte de los mismos.
• Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se
encarga de enviar los paquetes de información a sus destinos correspondientes.
Es utilizado con esta finalidad por los protocolos del nivel de transporte.
• Enlace: Los niveles OSI correspondientes son el de enlace y el nivel físico. Los
protocolos que pertenecen a este nivel son los encargados de la transmisión a
través del medio físico al que se encuentra conectado cada host, como puede ser
una línea punto a punto o una red Ethernet.
El Protocolo TCP/IP funciona sobre algún tipo de red o de medio físico que proporcione
sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener
en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no
forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto
que una de las funciones y ventajas principales del TCP/IP es proporcionar una
abstracción del medio de forma que sea posible el intercambio de información entre
medios diferentes y tecnologías que inicialmente son incompatibles.
28
Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de
menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se
transfieren y, por otro lado, esto es algo común en cualquier protocolo de
comunicaciones. En TCP/IP cada una de estas unidades de información recibe el
nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como
mensajes independientes.
29
CAPITULO III
SISTEMAS INALAMBRICOS
3.1 BREVE INTRODUCCIÓN
El simple hecho de ser seres humanos nos hace desenvolvernos en medios donde
tenemos que estar comunicados. Por eso la gran importancia de la transmisión y la
recepción de información, y en la época actual donde los computadores hacen parte de
la cotidianidad, es necesario establecer medios de comunicación eficaces entre ellos.
Una de las tecnologías más prometedoras y discutidas en esta década es la de poder
comunicar computadoras mediante tecnología inalámbrica. La conexión de
computadoras mediante Ondas de Radio o Luz Infrarroja, actualmente está siendo
ampliamente investigado. Las Redes Inalámbricas facilitan la operación en lugares
donde la computadora no puede permanecer en un solo lugar, como en almacenes o en
oficinas que se encuentren en varios pisos. Pero la realidad es que esta tecnología está
todavía en pañales y se deben de resolver varios obstáculos técnicos y de regulación
antes de que las redes inalámbricas sean utilizadas de una manera general en los
sistemas de cómputo de la actualidad.
No se espera que las redes inalámbricas lleguen a remplazar a las redes cableadas. Estas
ofrecen velocidades de transmisión mayores que las logradas con la tecnología
inalámbrica. Mientras que las redes inalámbricas actuales ofrecen velocidades de 2
Mbps, las redes cableadas ofrecen velocidades de 10 Mbps y se espera que alcancen
30
velocidades de hasta 100 Mbps. Los sistemas de Cable de Fibra Óptica logran
velocidades aún mayores, y pensando futuristamente se espera que las redes
inalámbricas alcancen velocidades de solo 10 Mbps.
Sin embargo se pueden mezclar las redes cableadas y las inalámbricas, y de esta manera
generar una "Red Híbrida" y poder resolver los últimos metros hacia la estación. Se
puede considerar que el sistema cableado sea la parte principal y la inalámbrica le
proporcione movilidad adicional al equipo y el operador se pueda desplazar con
facilidad dentro de un almacén o una oficina.
3.2 CONCEPTOS GENERALES
3.2.1 Transmisión y Recepción Inalámbrica de Datos
La transmisión en este esquema se basa en radiar energía electromagnética por medio de
una antena y luego se recibe esta energía con otra antena.
Hay dos configuraciones para la emisión y recepción de esta energía: direccional y
omnidireccional. En la direccional, toda la energía se concentra en un haz que es
emitido en una cierta dirección, por lo que tanto el emisor como el receptor deben estar
alineados. En el método omnidireccional, la energía es dispersada en múltiples
direcciones, por lo que varias antenas pueden captarla. Cuanto mayor es la frecuencia de
la señal a transmitir, más factible es la transmisión unidireccional.
31
Por tanto, para enlaces punto a punto se suelen utilizar microondas (altas frecuencias)
Para enlaces con varios receptores posibles se utilizan las ondas de radio (bajas
frecuencias).
3.2.3 Medios de Transporte
* Microondas terrestres
Suelen utilizarse antenas parabólicas. Para conexionas a larga distancia, se utilizan
conexiones intermedias punto a punto entre antenas parabólicas.
Se suelen utilizar en sustitución del cable coaxial o las fibras ópticas ya que se necesitan
menos repetidores y amplificadores, aunque se necesitan antenas alineadas. Se usan
para transmisión de televisión y voz.
La principal causa de pérdidas es la atenuación debido a que las pérdidas aumentan con
el cuadrado de la distancia (con cable coaxial y par trenzado son logarítmicas). La
atenuación aumenta con las lluvias.
Las interferencias es otro inconveniente de las microondas ya que al proliferar estos
sistemas, pude haber más solapamientos de señales.
* Microondas por satélite
El satélite recibe las señales y las amplifica o retransmite en la dirección adecuada.
32
Para mantener la alineación del satélite con los receptores y emisores de la tierra, el
satélite debe ser geoestacionario.
Se suele utilizar este sistema para:
à Difusión de televisión.
à Transmisión telefónica a larga distancia.
à Redes privadas
El rango de frecuencias para la recepción del satélite debe ser diferente del rango al que
este emite, para que no haya interferencias entre las señales que ascienden y las que
descienden
Debido a que la señal tarda un pequeño intervalo de tiempo desde que sale del emisor
en la Tierra hasta que es devuelta al receptor o receptores, ha de tenerse cuidado con el
control de errores y de flujo de la señal.
Las diferencias entre las ondas de radio y las microondas son:
• Las microondas son unidireccionales y las ondas de radio omnidireccionales
• Las microondas son más sensibles a la atenuación producida por la lluvia.
• En las ondas de radio , al poder reflejarse estas ondas en el mar u otros objetos
33
3.2.3 Modulación
La modulación nace de la necesidad de transportar una información a través de un canal
de comunicación a la mayor distancia y menor costo posible. Este es un proceso
mediante el cual dicha información (onda moduladora) se inserta a un soporte de
transmisión.
3.2.4 Modulación ASK
ASK (Amplitudes-shift keying), es una modulación de amplitud donde la señal
moduladora (datos) es digital. Los dos valores binarios se representan con dos
amplitudes diferentes y es usual que una de las dos amplitudes sea cero; es decir uno de
los dígitos binarios se representa mediante la presencia de la portadora a amplitud
constante, y el otro dígito se representa mediante la ausencia de la señal portadora.
En el caso de la señal moduladora se representa de la siguiente manera:
Figura 10. Valores para la señal moduladora
Mientras que el valor de la señal de transmisión (señal portadora) es dado por:
34
vp(t) = Vp sen(2ð fp t)Figura 11. Valores para la Señal Portadora
Donde Vp es el valor pico de la señal portadora y fp es la frecuencia de la señalportadora.
Figura 12. Modulación ASK
35
3.3 Redes Inalámbricas
3.3.1 Características
Actualmente el término se refiere a comunicación sin cables, usando frecuencias de
radio u ondas infrarrojas. Entre los usos más comunes se incluyen a IrDA y las redes
inalámbricas de computadoras. Ondas de radio de bajo poder, como los que se emplean
para transmitir información entre dispositivos, normalmente no tienen regulación, en
cambio, transmisiones de alto poder requieren un permiso del estado para poder
trasmitir en una frecuencia específica.
Es una red en la cual los medios de comunicación entre sus componentes son ondas
electromagnéticas.
Sus principales ventajas son que permiten una amplia libertad de movimientos, facilita
la reubicación de las estaciones de trabajo evitando la necesidad de establecer cableado
y la rapidez en la instalación, sumado a menores costos que permiten una mejor
inserción en economías reducidas.
Existen dos amplias categorías de redes Inalámbricas:
1. De Larga Distancia.- Estas son utilizadas para transmitir la información
en espacios que pueden variar desde una misma ciudad o hasta varios
países circunvecinos (mejor conocido como redes de Área Metropolitana
36
MAN); sus velocidades de transmisión son relativamente bajas, de 4.8 a
19.2 Kbps.
2. De Corta Distancia.- Estas son utilizadas principalmente en redes
corporativas cuyas oficinas se encuentran en uno o varios edificios que
no se encuentran muy retirados entre si, con velocidades del orden de 280
Kbps hasta los 2 Mbps.
Existen dos redes de larga distancia: redes de Conmutación de Paquetes (públicas y
privadas) y redes Telefónicas Celulares. Estas últimas son un medio para transmitir
información de alto precio. Debido a que los módems celulares actualmente son más
caros y delicados que los convencionales, ya que requieren circuiteria especial, que
permite mantener la pérdida de señal cuando el circuito se alterna entre una célula y
otra. Esta pérdida de señal no es problema para la comunicación de voz debido a que el
retraso en la conmutación dura unos cuantos cientos de milisegundos, lo cual no se nota,
pero en la transmisión de información puede hacer estragos. Otras desventajas de la
transmisión celular son:
à La carga de los teléfonos se termina fácilmente.
à La transmisión celular se intercepta fácilmente (factor importante
en lo relacionado con la seguridad).
37
à Las velocidades de transmisión son bajas.
Todas estas desventajas hacen que la comunicación celular se utilice poco, o
únicamente para archivos muy pequeños como cartas, planos, etc... Pero se espera que
con los avances en la compresión de datos, seguridad y algoritmos de verificación de
errores se permita que las redes celulares sean una opción redituable en algunas
situaciones.
La otra opción que existe en redes de larga distancia son las denominadas: Red Pública
De Conmutación De Paquetes Por Radio. Estas redes no tienen problemas de pérdida
de señal debido a que su arquitectura está diseñada para soportar paquetes de datos en
lugar de comunicaciones de voz. Las redes privadas de conmutación de paquetes
utilizan la misma tecnología que las públicas, pero bajo bandas de radio frecuencia
restringidas por la propia organización de sus sistemas de cómputo.
3.3.2 Redes Wi – Fi
Wi-Fi (o Wi-fi, WiFi, Wifi, wifi) es un conjunto de estándares para redes inalámbricas
Creado para ser utilizado en redes locales inalámbricas, es frecuente que en la
actualidad también se utilice para acceder a Internet.
Wi-Fi es una marca de la Wi-Fi Alliance (anteriormente la Wireless Ethernet
Compatibility Alliance).
38
El problema principal que pretende resolver la normalización es la compatibilidad. No
obstante existen distintos estándares que definen distintos tipos de redes inalámbricas.
Esta variedad produce confusión en el mercado y descoordinación en los fabricantes.
Para resolver este problema, los principales vendedores de soluciones inalámbricas
(3com, Airones, Intersil, Lucent, Technologies, Nokia y Symbol Technologies) crearon
en 1999 una asociación conocida como WECA (Wireless Ethernet Compability
Aliance, Alianza de Compatibilidad Ethernet Inalámbrica) . El objetivo de esta
asociación fue crear una marca que permitiese fomentar más fácilmente la tecnología
inalámbrica y asegurase la compatibilidad de equipos.
De esta forma en abril de 2000 WECA certifica la interoperatibilidad de equipos según
la norma IEEE 802.11b bajo la marca Wi-Fi (Wíreless Fidelity, Fidelidad Inalámbrica).
Esto quiere decir que el usuario tiene la garantía de que todos los equipos que tenga el
sello Wi-Fi pueden trabajar juntos sin problemas independientemente del fabricante de
cada uno de ellos. Se puede obtener un listado completo de equipos que tienen la
certificación Wi-Fi en www.wirelessethernet.org/certified_products.asp.
En el año 2002 eran casi 150 miembros de la asociación WECA. Como la norma
802.11b ofrece una velocidad máxima de transferencia de 11 Mbps ya existen
estándares que permiten velocidades superiores, WECA no se ha querido quedar atrás.
Por ese motivo, WECA anunció que empezaría a certificar también los equipos IEEE
802.11a de la banda de 5 Ghz mediante la marca Wi-Fi5. La norma IEEE.802.11 fue
diseñada para sustituir a las capas físicas y MAC de la norma 802.3 (Ethernet). Esto
39
quiere decir que en lo único que se diferencia una red Wi-Fi de una red Ethernet, es en
la forma como los ordenadores y terminales en general acceden a la red; el resto es
idéntico. Por tanto una red local inalámbrica 802.11 es completamente compatible con
todos los servicios de las redes locales de cable 802.3 (Ethernet).
3.3.3 Redes Bluetooth
Bluetooth es el nombre común de la especificación industrial, que define un estándar
global de comunicación inalámbrica que posibilita la transmisión de voz y datos entre
diferentes dispositivos mediante un enlace por radiofrecuencia segura, globalmente y
sin licencia de corto rango. Los principales objetivos que se pretende conseguir con esta
norma son:
• Facilitar las comunicaciones entre equipos móviles y fijos.
• Eliminar cables y conectores entre éstos.
• Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la
sincronización de datos entre nuestros equipos personales.
Los dispositivos que con mayor intensidad utilizan esta tecnología son los de los
sectores de las telecomunicaciones y la informática personal, como PDAs, teléfonos
celulares, ordenadores portátiles, PCs, impresoras y cámaras digitales.
La tecnología Bluetooth comprende hardware, software y requerimientos de
interoperatividad, por lo que para su desarrollo ha sido necesaria la participación de los
40
principales fabricantes de los sectores de las telecomunicaciones y la informática, tales
como: Ericsson, Nokia, Motorola, Toshiba, IBM e Intel, entre otros. Posteriormente se
han ido incorporando muchas más compañías, y se prevé que próximamente lo hagan
también empresas de sectores tan variados como automatización industrial, maquinaria,
ocio y entretenimiento, fabricantes de juguetes, electrodomésticos, etc., con lo que en
poco tiempo se nos presentará un panorama de total conectividad de nuestros aparatos
tanto en casa como en el trabajo.
El nombre Bluetooth procede del rey danés y noruego Harald Blåtand cuya traducción
al inglés sería Harold Bluetooth (Diente Azul, aunque en lengua danesa significa 'de tez
oscura') conocido por unificar las tribus noruegas, suecas y danesas.
De la misma manera, Bluetooth intenta unir diferentes tecnologías como las de los
ordenadores, los teléfonos móviles y el resto de periféricos. El símbolo de Bluetooth es
la unión de las runas nórdicas H y B.
En 1994, Ericsson inició un estudio para investigar la viabilidad de una nueva interfaz
de bajo costo y consumo para la interconexión vía radio (eliminando así cables) entre
dispositivos como teléfonos móviles y otros accesorios. El estudio partía de un largo
proyecto que investigaba unos multicomunicadores conectados a una red celular, hasta
que se llegó a un enlace de radio de corto alcance, llamado MC link. Conforme este
proyecto avanzaba se fue haciendo claro que éste tipo de enlace podía ser utilizado
ampliamente en un gran número de aplicaciones, ya que tenía como principal virtud que
se basaba en un chip de radio.
41
Bluetooth proporciona una vía de interconexión inalámbrica entre diversos aparatos que
tengan dentro de sí esta tecnología, como móviles (Nokia 6600), consolas (Nokia N-
Gage), dispositivos PDA, cámaras digitales, computadoras portátiles, impresoras, o
simplemente cualquier dispositivo que un fabricante considere oportuno, usando
siempre una conexión segura de radio de muy corto alcance. El alcance que logran tener
estos dispositivos es de 10 metros para ahorrar energía ya que generalmente estos
dispositivos utilizan mayoritariamente baterías. Sin embargo, se puede llegar a un
alcance de hasta 100 metros (similar a Wi-Fi) pero aumentando el consumo energético
considerablemente. Para mejorar la comunicación es recomendable que nada físico
como por ejemplo una pared se interponga.
El primer objetivo para los productos Bluetooth de primera generación eran los entornos
de la gente de negocios que viaja frecuentemente. Esto originaba una serie de cuestiones
previas que deberían solucionarse tales como:
• El sistema debería operar en todo el mundo.
• El emisor de radio deberá consumir poca energía, ya que debe integrarse en
equipos alimentados por baterías.
• La conexión deberá soportar voz y datos, y por lo tanto aplicaciones multimedia.
• La tecnología debería tener un bajo costo. Como objetivo se quiso alcanzar los 5
US $ por dispositivo.
• Muchos celulares han adquirido esta característica que por lo general es un gran
avance.
42
La especificación de Bluetooth define un canal de comunicación de máximo 720 kb/s (1
Mbps de capacidad bruta) con rango óptimo de 10 metros (opcionalmente 100 m con
repetidores).
La frecuencia de radio con la que trabaja está en el rango de 2,4 a 2,48 GHz con amplio
espectro y saltos de frecuencia con posibilidad de transmitir en Full Duplex con un
máximo de 1600 saltos/s. Los saltos de frecuencia se dan entre un total de 79
frecuencias con intervalos de 1Mhz; esto permite dar seguridad y robustez.
La potencia de salida para transmitir a una distancia máxima de 10 metros es de 0 dBm
(1 mW), mientras que la versión de largo alcance transmite entre 20 y 30 dBm (entre
100 mW y 1 W).
Para lograr alcanzar el objetivo de bajo consumo y bajo costo, se ideó una solución que
se puede implementar en un solo chip utilizando circuitos CMOS. De esta manera, se
logró crear una solución de 9x9 mm y que consume aproximadamente 97% menos
energía que un teléfono celular común.
El protocolo de banda base (canales simples por línea) combina conmutación de
circuitos y paquetes. Para asegurar que los paquetes no lleguen fuera de orden, los slots
pueden ser reservados por paquetes síncronos, un salto diferente de señal es usado para
cada paquete. Por otro lado, la conmutación de circuitos puede ser asíncrona o síncrona.
Tres canales de datos síncronos (voz), o un canal de datos síncrono y uno asíncrono,
pueden ser soportados en un solo canal. Cada canal de voz puede soportar una tasa de
43
transferencia de 64 kb/s en cada sentido, la cual es suficientemente adecuada para la
transmisión de voz. Un canal asíncrono puede transmitir como mucho 721 kb/s en una
dirección y 56 kb/s en la dirección opuesta, sin embargo, para una conexión asíncrona
es posible soportar 432,6 kb/s en ambas direcciones si el enlace es simétrico.
3.3.4 Redes GSM
Global System for Mobile communications (Sistema Global para las Comunicaciones
Móviles), anteriormente conocida como "Group Special Mobile" (GSM, Grupo
Especial Móvil) es un estándar mundial para teléfonos móviles digitales. El estándar fue
creado por la CEPT y posteriormente desarrollado por ETSI como un estándar para los
teléfonos móviles europeos, con la intención de desarrollar una normativa que fuera
adoptada mundialmente. El estándar es abierto, no propietario y evolutivo (aún en
desarrollo). Es el estándar predominante en Europa, así como el mayoritario en el resto
del mundo (alrededor del 70% de los usuarios de teléfonos móviles del mundo en 2001
usaban GSM).
GSM difiere de sus antecesores principalmente en que tanto los canales de voz como las
señales son digitales. Se ha diseñado así para un moderado nivel de seguridad.
GSM emplea una modulación GMSK (Gaussian Minimum Shift Keying) obtenida a
partir de una modulación MSK que es un tipo especial de FSK. Para el acceso en el
interfaz radio o Abis se utiliza el sistema TDMA de banda estrecha (Time Division
Multiple Access) entre la estación base y el teléfono celular utilizando 2 de canales de
44
radio de frecuencia dúplex. Para minimizar las fuentes de interferencia y conseguir una
mayor protección se utiliza el (frequency hopping) o salto en frecuencia entre canales,
con una velocidad máxima de 217 saltos/S. y siempre bajo mandato de la red.
GSM tiene cuatro versiones principales basadas en la banda: GSM-850, GSM-900,
GSM-1800 y GSM-1900. GSM-900 (900 MHz) y GSM-1800 (1,8 GHz) son utilizadas
en la mayor parte del mundo, salvo en Estados Unidos, Canadá y el resto de América
Latina que utilizan el CDMA, lugares en los que se utilizan las bandas de GSM-850 y
GSM-1900 (1,9 GHz), ya que en EE.UU. las bandas de 900 y 1800 MHz están ya
ocupadas para usos militares.
Inicialmente, GSM utilizó la frecuencia de 900 MHz con 124 pares de frecuencias
separadas entre si por 200 kHz, pero después las redes de telecomunicaciones públicas
utilizaron las frecuencias de 1800 y 1900 MHz, con lo cual es habitual que los teléfonos
móviles de hoy en día sean tribanda.
El GSM, se puede dedicar tanto a voz como a datos, una llamada de voz utiliza un
codificador GSM específico a velocidad total de 13Kbits/s, posteriormente se desarrolló
un codec a velocidad mitad de 6,5 kbits/s que permitirá duclicar la capacidad de los
canales TCH, se denomina FR (Full Rate) y HR (Half Rate)
Una conexión de datos, permite el que el usuario utilice el móvil como un módem de
9600 bps, ya sea en modos circuito o paquetes en régimen síncrono/asíncrono. También
45
admiten servicios de datos de una naturaleza no transparente con una velocidad neta de
12 kbits/s.
Las implementaciones más veloces de GSM se denominan GPRS y EDGE, también
denominadas generaciones intermedias o 2.5G, que conducen hacia la tercera
generación 3G o UMTS.
Los nuevos teléfonos GSM pueden ser controlados por un conjunto de comandos
estandarizados Hayes AT, mediante cable o mediante una conexión inalámbrica (IrDA o
Bluetooth, este último incorporado en los teléfonos actuales).
46
CAPITULO IV
IDENTIFICACIÓN DEL ENTORNO DE TRABAJO
4.1 Elementos Disponibles
Sin duda alguna este es uno de los puntos vitales para este proyecto, puesto que
dependiendo de la cantidad de equipos con las características requeridas (1), se puede
estimar características propias para la atención del personal que ingresa al laboratorio
como son:
• Tiempo de atención.
• Tiempo de espera en fila.
• Disponibilidad de Equipos.
Para determinar el impacto que tienen los anteriores aspectos sobre el funcionamiento
del laboratorio se han identificado los elementos más relevantes para este proyecto:
HARDWARE:
à Computadores: 15 computadores de escritorio.
à Monitores: 15 monitores asociados a cada computador.
à Puntos de Red: 30 puntos de acceso a la red local del laboratorio.
à Dispositivos de red: 2 switch´s.
47
à Cables de comunicación: 30 cables de red.
SOFTWARE (estándar instalado):
à Sistema operativo: Windows Xp sp1, con un total de 37 copias.
à Software específico: Mplab 7.0, Labview 7.0 Express, FluidSim 3.0 demo,
Microgrades, Acrobat Reder 5.0.
4.2 Viabilidad del proyecto
Entrando en detalle, se debe garantizar el correcto funcionamiento del proyecto, para lo
cual se utilizó un sistema de simulación probabilística, con el cual se pueden analizar
elementos y condiciones de uso, lo que en últimas es valioso para la implementación del
sistema de control.
Para determinar las condiciones de atención y disponibilidad de los equipos existentes,
se ha utilizado para este fin el software de simulación discreta WINQSB, y
particularmente en su entorno de trabajo Queuing Analysis:
48
Figura 13. Software de Simulación Discreta
Por medio de este programa se procede a elaborar un proyecto nuevo:
Figura 14. Gestor de Proyectos
49
Luego se asignan los campos de nombre y unidades de tiempo.
Figura 15. Asignación de Unidades
Una vez asignados los parámetros de nombre y unidad de tiempo procedemos a definir
nuestro problema el cual se establecen las siguientes condiciones:
• Se dispone de 1 Laboratorista.
• La tasa disponibilidad es de 30 personas por clase.
• El promedio de usuarios que llegan al laboratorio es de 30 por clase.
50
Figura 16. Condiciones Iniciales del Problema
Con la anterior información se procede a configurar la simulación con 1000 iteraciones
con el método FIFO:
Figura 17. Configuración del Análisis
51
Luego de esto procedemos a dar inicio al proceso de simulación el cual arroja los
siguientes resultados:
Figura 18. Resultados de la Simulación
Con lo que podemos determinar lo siguiente:
** El porcentaje de uso del sistema es 66.01%, lo que indica que es medio, lo que
sugiere que en una situación donde el número de alumnos puede superar
levemente los 20 habría una capacidad de atención adecuada hasta los 30
alumnos.
52
** El número promedio de usuarios en el sistema es de 20, lo cual concuerda con el
número de usuarios por computador que existe.
** La probabilidad de encontrar todos los computadores ocupados dentro del
sistema es del 33%.
** El promedio de alumnos en la fila de espera es de 1.
53
CAPITULO V
DISEÑO DE LOS SISTEMAS DE TRANSMISIÓN YRECEPCIÓN DE DATOS
5.1 MÓDELO DE COMUNICACIÓN
Como una forma de comprender el funcionamiento y operación del sistema para el
control de aplicaciones se ha diseñado un esquema en el cual un computador central,
atiende las solicitudes de los clientes quienes hacen sus respectivos requerimientos por
medio de la red ethernet y dependiendo del estado o disponibilidad de la misma reciben
la respuesta por medio del la red ethernet o a través del sistema inalámbrico.
Se escogió este modelo de funcionamiento ya que ofrece características de cobertura y
respuesta optimas ya que si el sistema solo hubiese sido concebido para ejercer la
comunicación por medio de la red de computadoras, no se podría sobre llevar o
controlar un evento como lo es el mantenimiento de la red o algún tipo de sabotaje, cabe
aclarar que el sistema inalámbrico propuesto es un sistema auxiliar de apoyo y que en
ningún momento reemplaza la totalidad de las funciones de la comunicación por red
ethernet. Es decir, en que en el momento que se suspenda el servicio de la red ethernet o
sistema principal de información entra en funcionamiento la red inalámbrica para
soportar el control de los equipos y su uso, como se muestra en el siguiente esquema:
55
5.2 Requerimientos de Hardware
Los requisitos para el funcionamiento del proyecto son:
à Computador basado en el procesador x86
à Procesador con frecuencia mínima de Pentium 200 MHz.
à Espacio libre en disco de 10 Mb
à Sistema operativo Windows 95 o superior.
à Puerto serial de 9 pines
5.3 Selección de componentes
5.3.1 Módulos RF
Los módulos de radio frecuencia escogidos para este proyecto son componentes para el
control de aplicaciones de forma inalámbrica:
à TLP434A (Transmisor)
à RLP434A (Receptor)
Estos dos componentes se caracterizan por su buena calidad al momento de
acondicionar las señales para ser transmitidas, lo que los hace ser una de las mejores
56
opciones para el control de aplicaciones vía radio frecuencia, a continuación se detallan
más características de estos módulos:
TLP434A (Transmisor)Dimensiones Ancho Alto Unidad
10.3 13.3 MilímetrosVoltaje de Trabajo Mínimo Máximo Unidad
2 12 VoltiosFrecuencia de Modulación Mínimo Máximo Unidad
314.8 315.2 MHzPotencia Entregada Mínimo Máximo Unidad
14 16 dBmTemperatura de Trabajo Mínimo Máximo Unidad
-2 25 CentígradosTransmisión de Bits Mínimo Máximo Unidad
512 200K bps
Tabla 2. Características principales del Circuito Transmisor
RPL434A (Receptor)Dimensiones Ancho Alto Unidad
43.42 11.5 MilímetrosVoltaje de Trabajo Mínimo Máximo Unidad
3.3 6 VoltiosFrecuencias de Demodulación 315 MHz 418 MHz 433.92MHzAncho de Banda 4 KHzDistancia Máxima de Recepción 100 metrosPotencia Disipada Mínimo Máximo Unidad
0 -110 dBmTemperatura de Trabajo Mínimo Máximo Unidad
-20 80 CentígradosTransmisión de Bits Mínimo Máximo Unidad
512 200K bps
Tabla 3. Características principales del Circuito Receptor
57
Dadas las características anteriores de los módulos y a su fácil consecución en el
mercado, se utilizaron para este proyecto por su buen alcance de transmisión. Sin lugar
a dudas una de las más fascinantes características de estos módulos es su fácil
instalación ya que poseen pocos pines y su interfase de comunicación es serial, lo que
implica un considerable ahorro de espacio.
5.3.2 Lenguaje de Programación
La herramienta de programación utilizada para este proyecto es Borland C++ Builder
6.0 de la Compañía Borland Software Inc. Este es un entorno de programación
desarrollado para aplicaciones de alto rendimiento y eficiencia, su interfaz gráfica y su
buena documentación hicieron que fuera la herramienta indicada para desarrollar las
aplicaciones del proyecto. Borland C++ Builder provee soporte para el lenguaje de
programación C, el cual es antecesor de C++, incluye innumerables herramientas para el
desarrollo de aplicaciones como lo son control integrado de excepciones lo que quiere
decir que se pueden monitorear “trazar” las anomalías de un programa cuando falla y en
consecuencia corregirlas. Borland C++ Builder no solo incluye soporte para la
tecnología basada en C, también incluye herramientas como el diseño de librerías,
aplicaciones gráficas, procesos remotos, entre otros. Sin duda este paquete de software
esta acorde al desarrollo que se desea de en el proyecto por lo anterior y por ser un
ambiente robusto y seguro por esto se escogió para desarrollar la plataforma distribuida
de esta Tesis.
58
5.4 Implementación del Sistema Inalámbrico
5.4.1 Consideraciones Técnicas
Como se vio en la sección 5.1.1 de este capitulo, se escogieron módulos RF dada su
versatilidad y fácil instalación, ahora bien, estos módulos pueden operar entre voltajes
comprendidos entre 5 y 12 voltios los cuales podemos obtener de diversas formas:
à Transformación de energía
à Uso de baterías
En este caso utilizaremos el método de Transformación de energía, provisto por el
mismo PC, es decir la fuente de alimentación de los circuitos del computador. En
esencia usaremos 5 voltios, como es de suponer es muy engorroso tomar la energía de
uno de los conectores libres de la salida de la fuente, por lo cual utilizaremos la energía
provista por el puerto serial del computador.
Cabe anotar que del mismo puerto obtendremos:
à Alimentación
à Comunicación serial
59
Y en detalle la descripción de los pines y su función:
Pin Señal Descripción E/S1 - Masa chasis -3 TxD Transmit Data S2 RxD Receive Data E7 RTS Request To Send S8 CTS Clear To Send E6 DSR Data Set Ready E5 SG Signal Ground -1 CD/DCD (Data) Carrier Detect E- TxC(*) Transmit Clock S- RxC(*) Receive Clock E4 DTR Data Terminal Ready S9 RI Ring Indicator E- RTxC(*) Transmit/Receive Clock S
Tabla 4. Pines y funciones del puerto serial
Como el tipo de sincronización entre los datos enviados y recibidos será asíncrona
utilizaremos 4 de los 9 pines para este propósito:
Pin Señal Descripción E/S3 TxD Transmit Data S2 RxD Receive Data E4 DTR Data Terminal Ready S5 Sg Signa Ground E
Tabla 5. Pines del puerto utilizados en el proyecto
60
Pero hasta este momento no es claro ¿Cómo? ó ¿De Dónde? Se va a sustentar el
suministro de un voltaje continuo, así que se realizó lo siguiente:
<<Provocar que el pin 4 tenga siempre una señal alta ósea 5 voltios, con esto podemos
aprovechar la diferencia de potencial para que el sistema se alimente, como se observa
en la figura: >>
Figura 19. Alimentación desde el puerto serie
Para lograr un nivel alto en el puerto lógicamente debemos programar el PC para que
brinde esta configuración.
Otro aspecto técnico a considerar para la implementación del sistema inalámbrico tiene
que ver con la adquisición y recepción de datos desde y hacia el puerto serial. Para lo
cual utilizaremos un dispositivo que sirva de interfase entre el puerto de comunicaciones
y el sistema inalámbrico, para lo cual se escogió un semiconductor integrado, el
MAX232, este semiconductor es típicamente utilizado en el sector de las
comunicaciones seriales por su eficiencia, operabilidad, y fácil montaje.
61
El Max232 es la herramienta que servirá de puente entre el computador y el sistema
electrónico acoplando las señales de niveles TTL (0-5 voltios) a niveles lógicos de
puerto (-15 a 15 voltios).
A continuación se presentan más características de funcionamiento del semiconductor:
Tabla 6. Características del max232
5.4.2 Desarrollo y Construcción de los Sistemas Transmisor y Receptor
Teniendo en cuenta las consideraciones técnicas y requisitos para la puesta en marcha
del sistema inalámbrico y de comunicaciones, se procede al diseño propio del sistema,
lo primero es localizar el puerto que se usará en este proyecto el cual está ubicado en la
parte posterior de los computadores.
Una vez se identifica el puerto se escribe un programa de computador para generar la
señal de alimentación del circuito, el programa se realizó con el lenguaje de
programación Borland C++ Builder, aunque realmente no importa cual sea el lenguaje
62
de programación ya que en este caso se trabajó con una aplicación la cual esta escrita en
lenguaje C, así que cualquier herramienta intérprete de este lenguaje funciona, a
continuación se muestra tanto el algoritmo como el programa desarrollado:
Inicio
Configuración del puerto
Encender el puerto
Estado del puerto Notificación al Usuario
SÍ ON / OFF NO
Fin
Figura 20. Algoritmo Generador de Voltaje continuo en el Puerto Serial
63
#include “iostream.h”
Int estado = 0;Int main(){
While(1){
If(estado == 0){
__asm{Mov al, 32Mov dx, 3F8Out dx, alLea dx, estado}
}Else{cout<<”Error en el puerto, revise la configuración local !”;return(0);}
}Return(0);}
Tabla 7. Rutina para generar una señal alta en el puerto serial
Con la anterior solución por software, obtenemos una fuente segura de alimentación
para alimentar tanto el circuito transmisor como el receptor.
64
5.4.2.1 CIRCUITO TRANSMISOR
Para empezar, y como ya se hablo, el circuito se compone de 3 bloques funcionales que
son; el computador, la unidad de acople serial y la unidad de transmisión inalámbrica:
PC INTERFASE RF
Figura 21. Diagrama de Bloques Funcionales del Circuito Transmisor
La interfase se realiza utilizando el circuito integrado MAX232, dado que este ofrece
alto aislamiento eléctrico entre las partes, garantizando la no interferencia de
perturbaciones desde los componentes. Es claro que como se necesita una comunicación
de tipo Simplex, lo que quiere decir que solo se realiza el proceso de transmisión ó el de
recepción de datos pero no los dos, utilizaremos ambos canales del MAX232 para tal
propósito:
Figura 22. Canales de datos del MAX232
65
Además como la comunicación es de tipo asíncrona, utilizaremos los pines
correspondientes a Rx(recepción), Tx(transmisión) y Gnd(tierra), una vez hecho esto, se
procede a enlazar la interfase con el computador que actúa como dispositivo de
procesamiento con el cual se manejarán las respectivas instrucciones que serán enviadas
hasta un destino remoto que será analizado en detalle más adelante.
Siguiendo el esquema de conexión y distribución de pines brindado por el fabricante de
la interfase se conectan tanto el buffer de entrada como el de salida del MAX232 hacia
los pines 3 y 5 del puerto serial.
Figura 23. Diagrama de conexión pin a pin entre el puerto serial y el max232
66
Con el objetivo de detectar la presencia del dispositivo electrónico y otras funciones se
han escrito una serie de tramas o secuencia de caracteres que se utilizaran para el
proceso de comunicación entre el PC y el circuito transmisor como se muestra a
continuación:
Trama Enviada Trama de Respuesta Descripción
Cok Cok Indica la conexión.
c = conectado
ok = ok
Dok Dok Indica la desconexión.
d = desconectado
ok = ok
Txxxux Txok Asigna tiempo a un usuario
t = tiempo
xxx = cifra en minutos
u = usuario
x = número de usuario
Hux Huxok Habilita un usuario
h = habilita
u = usuario
x = número del usuario
ok = ok
67
Dux Duxok Deshabilita un usuario
d = deshabilita
u = usuario
x = número del usuario
ok = ok
Pxux Pxuxok Asigna perfil a un usuario
p = perfil
x = tipo de perfil
u = usuario
x = número del usuario
ok = ok
Tabla 8. Tramas enviadas desde El PC hacia el Circuito Transmisor
Con las anteriores tramas se pretende simplificar la transmisión directa de las
instrucciones desde el puerto hacia el módulo RF ya que es una forma mucho más
simplificada de realizarlo ya que no se satura el puerto de información voluminosa sino
de instrucciones sutiles para ser interpretadas, cabe anotar que evidentemente todo esto
se logra gracias al SISTEMA DISTRIBUIDO, ya que este en últimas se encarga de
generar las tramas hacia el puerto para que sean transmitidas, por lo cual a éste sistema
se le dedica el próximo capitulo para su análisis.
68
5.4.2.2 CIRCUITO RECEPTOR
Al igual que el circuito transmisor, el receptor se compone de 3 bloques funcionales que
son; la unidad de Recepción Inalambrica, la unidad de acople serial y el computador:
RF INTERFASE PC
Figura 24. Diagrama de Bloques Funcionales del Circuito Transmisor
Y considerando que el receptor también deberá comunicarse de forma simplex, se hace
conexión con el pín 2 del puerto serial hacia el circuito de interfase ya que este recibe
los datos provenientes del exterior, como se muestra en la figura:
Figura 25. Conexión entre Reeceptor RF, el circuito de Interfase Max232
y el Puerto Serie
69
El circuito receptor, recibe las tramas (véase la tabla 8) emitidas por el transmisor, las
cuales son remoduladas por el circuito RPL434 que las convierte de nuevo a formato
digital por medio del adaptador de puerto MAX232 quien por último entrega estos datos
al puerto serie para su procesamiento en la aplicación Cliente, la cual se analizará más
adelante.
Las conexiones se realizaron en base a la hoja de datos técnicos suministrada por el
fabricante y se encuentra en el anexo A de éste documento.
5.4.3 Pruebas Piloto
Puesto que hasta este momento no contamos con una aplicación para la generación y
recepción de las tramas de control del sistema podemos utilizar una opción de
comunicación serial, que en este caso es Hyperterminal, la cual es un programa de
comunicaciones ofrecido con el sistema operativo Windows, para lo cual debemos
configurarlo y conectar el dispositivo de transmisión inalámbrica al puerto:
71
Figura 28. Configuración del puerto en Hyperterminal
La prueba piloto que se realizó para comprobar que el dispositivo respondía a las
instrucciones enviadas desde el PC, fueron simuladas por medio de Hyperterminal de la
siguiente forma:
à En la consola de edición de hyperterminal se escribió la trama “cok” para la
cual se recibió la respuesta esperada “cok”
à En la consola de edición de hyperterminal se escribió la trama “T001u1”
para la cual se recibió la respuesta esperada “T001u1ok”
72
Figura 29. Respuesta del Sistema Inalámbrico
Una vez comprobado que el sistema responde se puede decir que las pruebas fueron
satisfactorias ya que las tramas fueron respondidas correctamente por el
Microcontrolador lo que supone que el proceso de comunicación fue exitoso y que las
instrucciones son correctas.
5.4.4 Puesta en funcionamiento
Una vez aprobadas las pruebas piloto es necesario montar el sistema inalámbrico en una
placa especial para poder soldar los componentes de tal forma que estén sujetos, así que
por medio del programa Eagle 4.11 de CadSoftUsa, se diseño el circuito impreso para
73
su posterior “quemado” en una baquela o placa universal, a continuación se presenta el
diseño de la baquela para el transmisor y el receptor:
Figura 30. Placa de conexión del sistema Transmisor de datos
Figura 31. Placa de Conexión del sistema Receptor de datos
74
5.5 Implementación del Sistema Distribuido
5.5.1 Identificación del Entorno
En una visita programada realizada el día 1 de Agosto de 2006 se encontraron 15
computadores para uso de los estudiantes y 2 computadores para uso de los
laboratoristas, se encontró que los 9 computadores tenían sistema operativo Windows
XP; puerto serial; puerto de red ethernet, y que todos ellos pueden ser conectados a una
red local que existente en el sitio por medio de un switch de 24 puertos, por lo que se
puede perfectamente implementar el Sistema Distribuido sin inconvenientes.
5.5.2 Requisitos previos
Para implementar las aplicaciones tanto cliente como servidor en los computadores
objeto de estudio es necesario que los mismo cuenten con el sistema operativo Windows
95 o superior, puerto serial y un procesador superior o igual al Pentium MMX de 200
MHz, puerto de comunicación en red ethernet, y estar conectados a una red como se
muestra en la siguiente figura:
75
Figura 32. Computadores en Red por medio de un Switch
Es necesario que el dispositivo de permite la comunicación entre los computadores
preferiblemente sea un switch con capacidad para manejar canales de 10Mb hasta
100Mb con el objetivo de que la comunicación entre el computador que esta provisto
con la aplicación servidor sea más rápida con los computadores que tienen incorporado
la aplicación cliente.
Una vez tenidos estos requisitos se puede dar inicio al proceso de instalación del
software cliente y servidor en los computadores.
76
5.5.3 Desarrollo de la Aplicación Servidor
Teniendo en cuenta que el sistema se basa en la metodología Cliente-Servidor y de
acuerdo al propósito de este sistema en particular se tienen 2 servidores:
à Servidor de Aplicación de Control
à Servidor de Base de Datos
Esto con el objetivo de descentralizar las operaciones, el Servidor de Aplicación se
encarga de recibir y procesar las solicitudes de los clientes mientras que el Servidor de
Base de Datos contiene la información concerniente a los permisos de los clientes para
realizar alguna actividad, con esto las operaciones de los clientes son recibidas por el
Servidor son interpretadas por el y consultadas ante el Servidor de Base de Datos para
enviar una respuesta al cliente, como se muestra en la figura:
Figura 33. Modelo Cliente Servidor Propuesto
77
El esquema cliente servidor propuesto como se puede apreciar requiere para su
funcionamiento 2 máquinas que sirvan de servidores para atender a un número
indeterminado de clientes, por lo que la aplicación de aplicación estará ubicada en el
computador de la persona encargada del laboratorio, mientras que la base de datos se
ubicó en un computador alterno al sitio de operación.
El protocolo de comunicaciones utilizado en toda la red es el TCP – IP que en realidad
es el uso de dos protocolos el TCP y el IP vistos en la sección 6.4.1 de este documento,
evidentemente el esquema que se esta siguiendo es de tipo LAN ya que el alcance de
esta red en particular se define para un conjunto definido de computadores.
Los servicios que ofrece este modelo son el servicio de Base de Datos y el de Servicio
de Software de Grupo vistos en la sección 2.5.2 de este documento, la arquitectura que
se decidió entonces implantar se adapta a una arquitectura Cliente Servidor de Tres
capas (sección 2.5.4) donde las capas son:
à Clientes (capa de Presentación)
à Servidor (capa de Aplicación)
à Base de Datos (capa de datos)
Como ya se había mencionado la herramienta de programación escogida para
desarrollar las aplicaciones fue Borland C++ Builder 6.0, así que se lo primero que se
78
hizo fue evaluar que requerimientos debía tener el servidor, que en ultimas seria
manejado por los laboratoristas para hacer la gestión correspondiente a la asignación de
equipos, por lo que se diseño una aplicación con ambiente gráfico con las siguientes
funciones:
• Detección de los clientes conectados.
• Habilitación o Deshabilitación de los clientes.
• Asignación de Tiempo.
• Reportes históricos de uso
A continuación se explican estas funciones:
Detección de los clientes conectados
Función que permite establecer cuando un computador está conectado al servidor, es de
gran utilidad cuando se requiere saber rápidamente el estado de un equipo.
Habilitación o Deshabilitación de los Clientes
Esta función permite que desde el computador central el laboratorista asigne el uso de
un equipo a la persona interesada en utilizarlo.
79
Asignación de Tiempo
Permite al laboratorista asignar el uso de un equipo con un límite de tiempo para la
persona que lo utiliza, la medida del tiempo esta definida en minutos.
Reportes históricos de uso
Consiste en almacenar información en la base de datos para luego ser presentado en
forma de reportes gráficos que informan el estado, y características de uso de las
estaciones, estos reportes pueden ser emitidos según fecha o por equipos solicitados.
Figura 34. Interfase gráfica de la aplicación Servidor.
Como se puede ver en la figura 34, existe un pequeño panel de control por cada cliente
que exista dentro del sistema, este panel consiste en 2 botones que son: Activar y
80
Desactivar, los cuales de forma inmediata cambian sobre el cliente específico su estado
de operación bajo cualquier situación, es decir, si un cliente se encuentra en
funcionamiento ejecutando cualquier tarea dejara de interactuar con el usuario y
continuar con su tarea sin necesidad de apagar el computador en cuestión. Y sólo se
puede activar o habilitar desde el computador donde esté instalada la aplicación servidor
que en este caso es el computador de la persona encargada en el laboratorio. También se
puede ver que en cada cliente se tiene una casilla, el propósito de esta casilla es asignar
un determinado número que equivale a los minutos que estará dicha estación activa, una
vez se vence el tiempo fijado el computador cliente queda en un estado de no
interacción con el usuario o inactivo.
También se puede observar dentro de la aplicación servidor, las opciones Reporte y
Salir. El botón identificado como Reporte se encarga de presentar al usuario un
formulario de criterios para la generación de un reporte de uso de la máquina cliente,
esto con el objeto de determinar:
à Tiempos de Mantenimiento
à Operación de la Máquina
à Rendimiento
à Nivel del Servicio Prestado
82
Como los computadores de los usuarios en estado inicial estarán limitados a la
aprobación del laboratorista lo que quiere decir que las aplicaciones cliente y servidor se
deben comunicar por medio de la red, se hará uso de sockets para transportar las tramas
de información (sección 5.4.2.1) desde el cliente hasta el servidor.
Para que la comunicación se pueda llevar a cabo de forma satisfactoria se debe seguir
un orden el cual establece que el servidor debe estar listo a recibir peticiones de sus
clientes para procesarlas por lo que se debe crear y configurar el socket en el servidor
para que “Escuche” todas y cada una de las peticiones que se le hagan, si la petición que
se le hace al servidor es comprendida por el según las tramas de información entonces el
servidor de Aplicación hará una consulta al Servidor de la Base de Datos para
determinar que permisos se pueden asignar al cliente, ya con esta información el
Servidor de Aplicación devolverá una respuesta consecuente a la solicitud.
De una manera más formal, se hizo uso de las herramientas de análisis vistas en la
asignatura Ingeniería de Software, para la identificación de los componentes que
intervienen en la aplicación Servidor, dicho análisis se muestra a continuación:
83
REPORTAtributos:CamposFormatoFunciones:Mostrar la información del Cliente
SOCKETPARAMETROS Atributos:Atributos: Puerto IPEstado del cliente Dirección IPNombre del cliente Buffer de entradaTrama generada Buffer de SalidaFunciones: Funciones:Configurar el futuro estado del cliente Establecer la comunicación con los clientesEnviar la configuración al socket Enviar información a los clientes
Recibir información de los clientesEnviar información a la base de datos
VISUALIZADOR Recibir información de la base de datosAtributos:Características del clienteEstado actual del clienteFunciones:Informar el estado actual del clienteInformar el estado asignado al cliente
Figura 37. Diagrama de Objetos de la Aplicación Servidor
Como se puede apreciar el objeto más importante es el socket puesto que este se
encarga de establecer la comunicación, envío y recepción de información a los objetos
locales como lo son el visualizador y el reporte, el socket como elemento central de esta
aplicación es en ultimas quien dirige el funcionamiento de la aplicación cliente, la cual
no es autónoma para tomar decisiones sin antes haber sido notificada y por el servidor.
El código Fuente de la aplicación se encuentra en el Anexo B de este documento.
84
5.5.4 Desarrollo de la Aplicación Cliente
Esta aplicación cumple con la función de atender las solicitudes de los usuarios con
respecto al uso que le quieran dar al computador, el principal requisito para que esta
aplicación sea funcional es que la aplicación servidor esté funcionando, puesto que si no
es así la aplicación no podrá realizar las solicitudes indicadas.
Dentro de las funciones principales de la aplicación están:
à Bloquear el equipo hasta que se haga una solicitud de habilitación y a su vez
esta sea validada.
à Informar al servidor el estado del equipo
à Controlar que la solicitud realizada al servidor sea cumplida a cabalidad.
à Interactuar fácilmente con el usuario.
Figura 38. Ambiente Gráfico de la aplicación Cliente.
Al igual que la aplicación Servidor, la aplicación cliente debe crear y configurar un
socket para que se “conecte” al servidor, al cual por medio del socket se le enviara la
solicitud en forma de tramas para que sea procesada y respondida.
85
Una vez más utilizando Ingeniería de Software se identificaron los objetos que
intervienen en la aplicación como se muestra a continuación:
SOCKET VISUALIZADORAtributos: Atributos:Puerto IP Tiempo transcurridoDirección IP Tiempo AsignadoBuffer de entrada Funciones:Buffer de Salida Informar al cliente el estado de la conexiónFunciones: Informar al cliente el tiempo de activaciónEstablecer la comunicación con el servidorEnviar información al servidorRecibir información de los clientes SISTEMA DE BLOQUEOEnviar información del servidor Atributos:
Evasión de ordenes del clienteTiempo de ejecución de bloqueoFunciones:Impedir que el cliente interactúe luego de untiempoDeshabilitar las funciones del escritorioDeshabilitar el uso de aplicaciones
Figura 39. diagrama de objetos de la Aplicación Cliente
Como se puede apreciar en la figura, el objeto central es el socket ya que como en el
caso del servidor el socket es el elemento de comunicación entre las aplicaciones, y en
este caso se encarga de no interactuar con el usuario de forma activa, sino de traducir las
tramas de información en tiempo y restricciones al sistema donde se ejecuta, por medio
de la información recibida en el socket otros objetos como lo son el visualizador y el
sistema de bloqueo pueden ejercer sus funciones de forma adecuada. El visualizador
indica el tiempo de actividad asignado y el transcurrido, el sistema de bloqueo en base a
86
la comparación de los anteriores tiempos actúa como un elemento de restricción a las
funciones de entrada para el usuario, como lo es el bloqueo del teclado, y la pantalla.
El código Fuente de esta aplicación se encuentra en el Anexo C de éste documento.
5.5.5 Diseño de la base de Datos
Siguiendo el esquema de la Figura 33, es necesario realizar el diseño de un diagrama
entidad relación el cual es una herramienta para determinar que alcance y que tipo de
información maneja el sistema de base de datos, para el diseño de la base de datos se
utilizó Microsoft Access 2003, puesto que para utilizar una herramienta más
especializada como lo es SQL Server 2000 se requieren licencias de uso que la
Universidad no dispone, así que se procede primero a establecer que necesidades se
generaran para que se construya la base de datos:
Necesidades:
à Almacenamiento de la información de forma sistemática y ordenada
à Descentralización de las actividades en un solo computador
à Seguridad que se ofrece al aislar los sistemas
87
USUARIOS CLASES SCORE
* Código * Código Clase*CódigoAlumno
Nombre* CódigoAlumno Store
Apellido 1 DuraciónApellido 2SemestreStore
Figura 40. Diagrama Entidad Relación de la Base de Datos
Con el anterior diagrama se procede a explicar la función de la base de datos:
En primer lugar, como la asignación de los equipos se puede hacer por clases lo que
facilita el proceso de identificación de los alumnos involucrados en ella, se creo una
tabla llamada CLASE en donde se registran los alumnos que ven esa clase, además de
esto se cuenta con la información detallada de los alumnos por clase, una característica
muy importante es el “Comportamiento” que tiene un alumno en algún determinado
momento, lo que se califica y envía a una tabla llamada SCORE, donde si se requiere
por el laboratorista se puede mirar que alumnos deben ser vigilados por conductas
sospechosas o recurrentes que puedan llegar a afectar el estado del lugar. Cabe aclarar
que el símbolo (*) se utiliza para denotar la no duplicidad de datos dentro de una de las
entidades, dado que por ejemplo no pueden existir dos alumnos con el mismo código, se
implementan estas medidas de control sobre las entidades o Tablas de la base de datos.
88
5.5.6 Pruebas Iniciales
Como parte fundamental de las pruebas primero se deben inicializar las aplicaciones
Cliente y Servidor en computadoras aparte, pero conectadas en Red por medio del cable
correspondiente al puerto ethernet, una vez realizado esto, la aplicación servidor
detectará por si misma la cantidad de clientes conectados a ella, que en este caso es uno
solo:
Figura 41. Inicialización de la Aplicación servidor reconociendo 1 cliente en estado de
conexión.
Cuando se detecta la presencia de un cliente, el servidor automáticamente permite la
edición de la casilla Tiempo, justamente para asignar si se requiere el tiempo de uso al
computador cliente.
89
Ahora que sabemos que hay cliente, además de probar las funciones de habilitación,
deshabilitación y tiempo, se debe probar la cobertura del sistema ante situaciones de
emergencia, para lo cual se optó por desconectar los computadores de la red,
provocando errores en la transmisión por sockets tanto del cliente como del servidor,
aprovechando estos eventos de error se enrutan todos los datos hacia el puerto COM1,
con la misma estructura de datos presentada en la sección (8.4.2.1 tabla 8).
Como medida de precaución antes de que el sistema RF actúe como mecanismo de
apoyo sobre el computador, se analizó la posibilidad de que el servicio de comunicación
por red ethernet dejara de funcionar en plena asignación de una instrucción al cliente y
por lo tanto la información se enviara a medias, ante este problema surgieron 3
soluciones:
1. Reenviar automáticamente el dato.
2. Enviar una petición de reenvío.
3. Colocar el o las instrucciones no enviadas en una cola de recuperación.
La primera opción no es la mejor dado que hacer esto implicaría resetear los parámetros
a la aplicación cliente al poco tiempo de haberle asignado parámetros.
La segunda opción es una solución lógica ante el problema de la falta de comunicación,
pero si definitivamente durante un largo periodo de tiempo la comunicación no se
90
presenta, se estaría perdiendo tiempo de procesamiento en la aplicación servidor, ya que
siempre estará haciendo un test del estado del puerto ethernet hasta que obtenga una
respuesta.
La tercera opción se adapta mejor a las necesidades de este proyecto ya que tras la
primera caída de la red ethernet, la aplicación evalúa y reconstruye la trama enviada al
cliente y la aloja en un archivo para colocarla en cola, y así sucesivamente con todas las
instrucciones atrasadas que se generen en el momento:
Figura 42. Alistamiento de las aplicaciones ante fallas en el puerto Ethernet.
Con la anterior explicación se probó que el procesamiento de instrucciones no se vio
afectado por la desconexión de los dispositivos de red de los computadores, cabe
91
recordar que como ya se había mencionado el sistema RF es solo de apoyo que en
ningún momento reemplaza todas las funciones del sistema principal de
comunicaciones ethernet.
Test:
Sistema de alimentación
Con el fin de detectar posibles peligros para el circuito transmisor y receptor, se
procedió a medir durante 30 minutos el comportamiento del voltaje, obteniendo los
siguientes resultados para 10 segundos de medición:
Time (s) Volts (V)
1 5.210
2 5.113
3 5.023
4 5.027
5 5.300
6 5.347
7 5.344
8 5.327
9 5.322
10 5.330
Tabla 9. Medición del voltaje sobre el puerto serie
92
Y a continuación se presenta un gráfico histórico durante 30 minutos:
Figura 43. Medición histórica de voltaje
Donde se observa que el sistema se energiza alrededor de los 5 voltios durante su
medición con un multímetro de interfase infrarroja para la adquisición de datos.
CPU:
El siguiente ítem a comprobar es el nivel del recurso de procesamiento requerido por las
aplicaciones, para lo cual se decidió hacer un seguimiento de 1 hora tanto al cliente
como al servidor, y al cabo de una hora se registro el comportamiento del procesador
mediante la herramienta TaskManager de Windows:
94
Figura 45. Rendimiento de la Aplicación Cliente
Se observa que en ningún momento las aplicaciones superan el 30% de procesamiento,
lo cual favorece el rendimiento general del PC, sin ocasionar interrupciones o molestias
a los usuarios.
Comunicaciones:
Por último se prueba que el sistema de transmisión y recepción inalámbrica funcione
correctamente, para lo cual se tomaron muestras de envió y aceptación de tramas cada
10 minutos durante 1 hora, obteniendo los siguientes resultados:
95
Minuto Trama Enviada Respuesta Acertada o Nó
1 Hux Huxok
10 Dux Sin respuesta
20 Hux Huxok
30 Dux Duxok
40 Hux Huxok
50 Dux Duxok
60 Hux Huxok
Tabla 10. Pruebas de Envío y recepción de tramas
Se observa que el rendimiento que alcanzó durante 1 hora de pruebas el sistema en un
ambiente ruidoso fue del 85.71% al fallar la prueba una vez de 7 veces.
5.5.7 Puesta en Funcionamiento
Por ultimo se debe instalar de forma adecuada los componentes de hardware y software
para el óptimo funcionamiento del proyecto.
En primer lugar se instalan en la parte posterior del computador las tarjetas de cliente y
servidor que se encuentran identificadas por una etiqueta en la superficie de las mismas,
luego se deben encender los PC, hasta hora solo están previamente listos los
96
computadores cliente y servidor quedado pendiente el computador que porta la base de
datos.
Para configurar el computador servidor de base de datos se procede a copiar e instalar el
archivo llamado bd.mdb en la ruta “c:\” del computador destinado para ello, luego de
esto se procede a enlazar este archivo para que el computador con la aplicación servidor
pueda comunicarse con la base de datos, para ello se le asigna bd.mdb un enlace ODBC
como se muestra a continuación:
Figura 46. Configuración del enlace ODBC y el computador de base de datos.
Una vez configurado esto, se puede dar inicio a la aplicación servidor y luego a todas o
cada una de las aplicaciones cliente para que se conecten al servidor, hagan la solicitud
97
de un servicio y este consulte con la base de datos por medio del enlace ODBC,
obteniendo resultados similares a los de la sección (8.4.3) de este documento.
98
CONCLUSIONES
• Se implementó un medio efectivo de comunicación, entre las aplicaciones y
el dispositivo electrónico, dado que se obtuvo un nivel de voltaje continuo
por medio del uso de un algoritmo el cual hace que el puerto genere una
diferencia de potencial de 5 voltios (sección 5.5.6, Test Alimentación), lo
que permitió el optimo funcionamiento del circuito de interfase RS232, el
cual adapta voltajes comprendidos entre +15 y -15 voltios en niveles TTl,
manejables para los módulos RF.
• Se desarrolló una plataforma totalmente interactiva con los usuarios tanto
clientes como servidores, siendo esta desarrollada con el entorno de
programación Borland C++ Builder, el cual ofrece componentes de
desarrollo altamente estables y personalizables. Además la plataforma
resulto ser lo bastante estable para manejar unos niveles realmente bajos de
procesamiento los cuales no comprometen de una forma alarmante el uso de
recursos del sistema, siendo para la aplicación servidor un consumo de
procesamiento cercano al 16%, mientras que para la aplicación cliente el
nivel de procesamiento estuvo el 17% y 19%, (sección 5.5.6, Test CPU), lo
cual garantiza el aprovechamiento optimo del procesador sin llegar a
99
perturbar el modo de operación de los computadores donde se tiene instalado
el sistema.
• El circuito electrónico garantizó la conectividad de los sistemas cliente y
servidor, como se vio en las pruebas iniciales de la sección 5.5.6, durante una
prueba de desconexión de los cables de red de los computadores el sistema
de apoyo inalámbrico tubo un rendimiento del 85.71% dado que el ambiente
donde se realizaron las pruebas fue un ambiente contaminado por emisiones
electromagnéticas fuertes como se llegó a determinar causadas en su mayoría
por las luces fluorescentes, las cuales perturbaban el medio de transmisión y
recepción, lo que ocasionó fallas en la transmisión de instrucciones de
control por parte del servidor hacia el cliente más no se registro ningún
cambio de estado con los clientes ante la interferencia magnética.
• Se logró establecer el estado particular de las estaciones, ya que Modelo
Cliente Servidor Propuesto en la sección 5.5.3, permitió que datos como los
de conexión y desconexión de la estación cliente llegaran sin ningún
contratiempo, esto asociado a las múltiples consultas que se realizan a la
base de datos para establecer que permisos efectivos tiene durante un
determinado periodo de tiempo la estación cliente.
100
• El diseño de estrategias como lo son la asignación de tiempo, habilitar o
deshabilitar clientes, y el control en el estado de conexión y desconexión
permitió realizar un seguimiento que se encuentra en el Anexo D, del cual se
pudo determinar:
a. las actividades propias de los computadores se estabilizan a los 3.5
segundos de su asignación.
b. El tiempo promedio para que una estación cliente entre en
funcionamiento es de aproximadamente 3.75 segundos.
c. el grado de conformidad con el sistema fue del 79.16%.
Con los anteriores indicadores se puede afirmar entonces que el sistema de
control de aplicaciones ayuda y permite organizar mejor las actividades en
un grupo de computadores, al controlar su tiempo de uso y su estado,
generando control y seguridad sobre los equipos cubiertos por estas medidas.
101
BIBLIOGRAFIA
TANENBAUM, ANDREW S.: "Redes de Ordenadores", 3 Ed., Prentice HallInternational, 1996.
STEVENS, W. R.: "TCP/IP Illustrated Vol. 1 The protocols" Prentice Hall, 1994
P. Mähönen, T Saarinen and Z Shelby, " Wireless internet over LMDS: Architectureand Experimental Implementation, " IEEE Magazine, Topic in Wireless, May 2001,Vol.39, N° 5, p.p 126-132.
J. Kuri and M. Gagnaire, ENST Paris, France "ATM Traffic Management in an LMDSWireless Access Network," IEEE Magazine-Inelligence in Optical Network. September.2001. Vol 39, N° 9, p.p 133-128.
Kalev, D. (1999). "The ANSI/ISO C++. Programmer's Handbook". Professional.ISBN 0-7897-2022-1 (ING 1627)
Main, M., Satvich, W. (2001). "Data Structures and Other Objects Using C++".Addison-Wesley. ISBN 0-201-70297-5
104
#include <vcl.h>AnsiString Men;#pragma hdrstop
#include "INTERCOMC.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "trayicon"#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender){ClientSocket1->Socket->SendText("Equipo1 conectado");}//---------------------------------------------------------------------------void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose){ClientSocket1->Socket->SendText("Equipo1 desconectado");}//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender){//keybd_event(VK_ESCAPE, NULL, NULL, 0);//Application->Restore();//Application->BringToFront();}//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender){
ClientSocket1->Port = 9921;if(ClientSocket1->Active){ClientSocket1->Active = false;}
105
else{ClientSocket1->Host = Edit1->Text;ClientSocket1->Active = true;}
Timer1->Enabled = true;}//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,TCustomWinSocket *Socket)
{Men = Socket->ReceiveText();if(Men == "chao"){ClientSocket1->Socket->SendText("Equipo1 desconectado");exit(0);}
}//---------------------------------------------------------------------------
COMPORTAMIENTO DEL SOCKET#include <vcl.h>#include <winsock.h>#include <iostream.h>#include <stdio.h>#include <stdarg.h>#include <string.h>
hostent *p;char *alias;int i;IN_ADDR add;char x[30];int k = 0;
#pragma hdrstop
#include "NIKO.h"
106
//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){}//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){Memo1->Text = "***";}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
if(Edit1->Text == ""){
Edit1->Text = "error debe escribir un dominio!!";}
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){
Edit1->Text = "WSAStartup fallo";}
p=gethostbyname(x);
if (p==NULL){
strerror(errno);Edit1->Text = "error obteniendo el nombre";
}else{
Label7->Caption = p->h_name;
107
memcpy(&add.S_un,p->h_addr_list[0],p->h_length);
Label8->Caption = inet_ntoa(add);
Label9->Caption = p->h_addrtype;
Label10->Caption = p->h_length;
if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}
i=0;Memo1->Text = "";
while(p->h_addr_list[i]){
memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;
}
}
WSACleanup();}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key){x[k] = Key;k++;}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1Click(TObject *Sender){Edit1->Text = "";Label7->Caption = "***";Label8->Caption = "***";Label9->Caption = "***";Label10->Caption = "***";Label12->Caption = "***";
108
Memo1->Text = "";for(k=0;k<=30;k++){x[k] = NULL;}k=0;}//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender){if(Edit1->Text == "")
{Edit1->Text = "Debe escribir un dominio";
}
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){
Edit1->Text = "Error Externo";}
p=gethostbyname(x);
if (p==NULL){
strerror(errno);Edit1->Text = "No se pudo obtener el nombre";
}else{
Label7->Caption = p->h_name;
memcpy(&add.S_un,p->h_addr_list[0],p->h_length);
Label8->Caption = inet_ntoa(add);
Label9->Caption = p->h_addrtype;
Label10->Caption = p->h_length;
if(p->h_aliases[0]!=NULL){
109
Label12->Caption = p->h_aliases[0];}
else{Label12->Caption = "***";}
i=0;Memo1->Text = "";
while(p->h_addr_list[i]){
memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;
}
}
WSACleanup();}
111
CONFIGURACION DEL SOCKET
//---------------------------------------------------------------------------
#include <vcl.h>#include <winsock.h>#include <iostream.h>#include <stdio.h>#include <stdarg.h>#include <string.h>
hostent *p;char *alias;int i;IN_ADDR add;char x[30];int k = 0;
#pragma hdrstop
#include "NIKO.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){}//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){Memo1->Text = "***";}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
if(Edit1->Text == ""){
112
Edit1->Text = "error debe escribir un dominio!!";}
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){
Edit1->Text = "WSAStartup fallo";}
p=gethostbyname(x);
if (p==NULL){
strerror(errno);Edit1->Text = "error obteniendo el nombre";
}else{
Label7->Caption = p->h_name;
memcpy(&add.S_un,p->h_addr_list[0],p->h_length);
Label8->Caption = inet_ntoa(add);
Label9->Caption = p->h_addrtype;
Label10->Caption = p->h_length;
if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}
i=0;Memo1->Text = "";
while(p->h_addr_list[i]){
memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;
113
}
}
WSACleanup();}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key){x[k] = Key;k++;}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1Click(TObject *Sender){Edit1->Text = "";Label7->Caption = "***";Label8->Caption = "***";Label9->Caption = "***";Label10->Caption = "***";Label12->Caption = "***";Memo1->Text = "";for(k=0;k<=30;k++){x[k] = NULL;}k=0;}//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender){if(Edit1->Text == "")
{Edit1->Text = "Debe escribir un dominio";
}
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){
Edit1->Text = "Error Externo";}
114
p=gethostbyname(x);
if (p==NULL){
strerror(errno);Edit1->Text = "No se pudo obtener el nombre";
}else{
Label7->Caption = p->h_name;
memcpy(&add.S_un,p->h_addr_list[0],p->h_length);
Label8->Caption = inet_ntoa(add);
Label9->Caption = p->h_addrtype;
Label10->Caption = p->h_length;
if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}
else{Label12->Caption = "***";}
i=0;Memo1->Text = "";
while(p->h_addr_list[i]){
memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;
}
}
WSACleanup();}
115
//---------------------------------------------------------------------------
CLIENTE#include <vcl.h>AnsiString Men;#pragma hdrstop
#include "INTERCOMC.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "trayicon"#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender){ClientSocket1->Socket->SendText("Equipo1 conectado");}//---------------------------------------------------------------------------void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose){ClientSocket1->Socket->SendText("Equipo1 desconectado");}//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender){//keybd_event(VK_ESCAPE, NULL, NULL, 0);//Application->Restore();//Application->BringToFront();}//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender){
ClientSocket1->Port = 9921;if(ClientSocket1->Active)
116
{ClientSocket1->Active = false;}else{ClientSocket1->Host = Edit1->Text;ClientSocket1->Active = true;}
Timer1->Enabled = true;}//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,TCustomWinSocket *Socket)
{Men = Socket->ReceiveText();if(Men == "chao"){ClientSocket1->Socket->SendText("Equipo1 desconectado");exit(0);}
}
118
Hora de Inicio
(hh:mm:ss)
Tiempo de
Habilitación(mm:ss)
Tiempo De
Estabilización (s)
Conformidad
Escala (1 - 10)
9:00 AM 3 5 8
9:00 AM 4 4 8
9:00 AM 4 4 5
9:00 AM 4 2 8
9:00 AM 5 4 8
9:01 AM 3 3 10
9:01 AM 4 2 9
9:01 AM 4 4 7
9:01 AM 3 4 8
9:01 AM 3 3 8
9:07 AM 4 3 9
9:07 AM 4 4 7
Tabla 10. Registro de Operaciones para la Asignación de equipos
Abstract- En este artículo se expone eldiseño, construcción e implementaciónde un circuito electrónico para el controlde aplicaciones en un computador, locual permitirá un control más específicopor parte de los laboratoristas, de lasactividades y usos dados a loscomputadores, garantizando el buendesempeño de los equipos bajo elcontrol del sistema inalámbrico.
Palabras Claves- Tramas, datos,transmisor, receptor, Interfase gráfica,puerto serial, sistema operativo.
1. INTRODUCCIÓN
El constante aumento del usoinadecuado de los computadores en laactualidad los convierte definitivamenteen herramientas subutilizadas, sin nisiquiera llegar en la actualidad a unnivel de uso del 50% útil, generando asíel desgaste de los equipos enactividades secundarias lo que preocupatanto a propietarios como aadministradores.
2. PUERTO SERIAL
El puerto serial es sin duda alguna el50% del proyecto ya que este es elencargado de disponer al alcance deldispositivo de control los pinesnecesarios para el manejo de señalestanto de datos como de alimentación.
Para que el proyecto funcioneadecuadamente se espera que el puertoserial que será utilizado, esté libre detodo uso por parte de otro dispositivocomo lo puede ser Mouse, teclado,impresora, etc.
Algunas de las características másimportantes del puerto serie son:
• Buena velocidad detransmisión.
• Mínimo espacio ocupado.
• Gran soporte actual.
3. SISTEMA DECOMUNICACIÓN
3.1 TRANSMISOR YRECEPTOR
Para la transmisión de información deun punto de origen a un punto dedestino se requiere el uso indispensablede un mecanismo electrónico el cualpueda transportar el dato necesario deforma eficiente, Los módulos de radiofrecuencia escogidos para este proyectoson componentes para el control deaplicaciones de forma inalámbrica:
à TLP434A(Transmisor)
à RLP434A (Receptor)
Estos dos componentes se caracterízanpor su buena calidad al momento deacondicionar las señales para sertransmitidas, lo que los hace ser una delas mejores opciones para el control deaplicaciones vía radio frecuencia.
Dadas las características anteriores delos módulos y a su fácil consecución enel mercado, se utilizaron para esteproyecto por su buen alcance de
SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC
Rios Rodríguez Nicolás
transmisión. Sin lugar a dudas una delas más fascinantes características deestos módulos es su fácil instalación yaque poseen pocos pines y su interfase decomunicación es serial, lo que implicaun considerable ahorro de espacio.
3.2 LENGUAJE DEPROGRAMACIÓN
La herramienta de programaciónutilizada para este proyecto es BorlandC++ Builder 6.0 de la CompañíaBorland Software Inc. Este es unentorno de programación desarrolladopara aplicaciones de alto rendimiento yeficiencia, su interfaz gráfica y su buenadocumentación hicieron que fuera laherramienta indicada para desarrollarlas aplicaciones del proyecto.
Borland C++ Builder provee soportepara el lenguaje de programación C, elcual es antecesor de C++, incluyeinnumerables herramientas para eldesarrollo de aplicaciones como lo soncontrol integrado de excepciones lo quequiere decir que se pueden monitorear“trazar” las anomalías de un programacuando falla y en consecuenciacorregirlas. Borland C++ Builder nosolo incluye soporte para la tecnologíabasada en C, también incluyeherramientas como el diseño delibrerías, aplicaciones gráficas, procesosremotos, entre otros. Sin duda estepaquete de software esta acorde aldesarrollo que se desea de en elproyecto por lo anterior y por ser unambiente robusto y seguro por esto seescogió para desarrollar la plataformadistribuida de esta Tesis.
3.3 SISTEMA DISTRIBUIDO
Teniendo en cuenta que el sistema sebasa en la metodología Cliente-Servidory de acuerdo al propósito de este
sistema en particular se tienen 2servidores:
à Servidor de Aplicación deControl
à Servidor de Base de Datos
Esto con el objetivo de descentralizarlas operaciones, el Servidor deAplicación se encarga de recibir yprocesar las solicitudes de los clientesmientras que el Servidor de Base deDatos contiene la informaciónconcerniente a los permisos de losclientes para realizar alguna actividad,con esto las operaciones de los clientesson recibidas por el Servidor soninterpretadas por el y consultadas anteel Servidor de Base de Datos paraenviar una respuesta al cliente.
Figura 1. Sistema Distribuido Propuesto
Funciones del sistema distribuido:
Detección de los clientes conectadosFunción que permite establecer cuandoun computador está conectado alservidor, es de gran utilidad cuando serequiere saber rápidamente el estado deun equipo.
Habilitación o Deshabilitación de losClientesEsta función permite que desde elcomputador central el laboratoristaasigne el uso de un equipo a la personainteresada en utilizarlo.
Asignación de TiempoPermite al laboratorista asignar el usode un equipo con un límite de tiempopara la persona que lo utiliza, la medidadel tiempo esta definida en minutos.
Reportes históricos de usoConsiste en almacenar información enla base de datos para luego serpresentado en forma de reportesgráficos que informan el estado, ycaracterísticas de uso de las estaciones,estos reportes pueden ser emitidossegún fecha o por equipos solicitados.
3.3.1 Trama de Datos
Con el objetivo de detectar la presenciadel dispositivo electrónico y otrasfunciones se han escrito una serie detramas o secuencia de caracteres que seutilizaran para el proceso decomunicación entre el PC y el circuitotransmisor como se muestra acontinuación:
TramaEnviada
Trama deRespuesta
Descripción
Cok Cok Indica laconexión.c = conectadook = ok
Dok Dok Indica ladesconexión.d =desconectadook = ok
Txxxux Txok Asignatiempo a unusuariot = tiempoxxx = cifra enminutosu = usuariox = númerode usuario
Hux Huxok Habilita unusuarioh = habilita
u = usuariox = númerodel usuariook = ok
Dux Duxok Deshabilitaun usuariod =deshabilitau = usuariox = númerodel usuariook = ok
Pxux Pxuxok Asigna perfila un usuariop = perfilx = tipo deperfilu = usuariox = númerodel usuariook = ok
Tabla 1. Trama de datos para lacomunicación de instrucciones
3.4 SISTEMAINALAMBRICO
El sistema inalámbrico es aquelcomponente que se encarga de laadquisición y recepción de datos desdey hacia el puerto serial. Para lo cualutilizaremos un dispositivo que sirva deinterfase entre el puerto decomunicaciones y el sistemainalámbrico, para lo cual se escogió unsemiconductor integrado, el MAX232,este semiconductor es típicamenteutilizado en el sector de lascomunicaciones seriales por sueficiencia, operabilidad, y fácil montaje.
El Max232 es la herramienta que serviráde puente entre el computador y elsistema electrónico acoplando lasseñales de niveles TTL (0-5 voltios) a
niveles lógicos de puerto (-15 a 15voltios).
3.4.1 Transmisor
Para empezar, y como ya se hablo, elcircuito se compone de 3 bloquesfuncionales que son; el computador, launidad de acople serial y la unidad detransmisión inalámbrica:
PC NTERFASE RF
Figura 2. Diagrama de BloquesFuncionales del Circuito Transmisor
La interfase se realiza utilizando elcircuito integrado MAX232, dado queeste ofrece alto aislamiento eléctricoentre las partes, garantizando la nointerferencia de perturbaciones desdelos componentes. Es claro que como senecesita una comunicación de tipoSimplex, lo que quiere decir que solo serealiza el proceso de transmisión ó el derecepción de datos pero no los dos.
3.4.2 Receptor
Al igual que el circuito transmisor, elreceptor se compone de 3 bloquesfuncionales que son; la unidad deRecepción Inalambrica, la unidad deacople serial y el computador:
RF INTERFASE PC
Figura 3. Diagrama de BloquesFuncionales del Circuito Transmisor
Y considerando que el receptor tambiéndeberá comunicarse de forma simplex,se hace conexión con el pín 2 del puerto
serial hacia el circuito de interfase yaque este recibe los datos provenientesdel exterior.
4. CONCLUSIONES
Se implementó un medio efectivo decomunicación, entre las aplicaciones yel dispositivo electrónico, dado que seobtuvo un nivel de voltaje continuo pormedio del uso de un algoritmo el cualhace que el puerto genere una diferenciade potencial de 5 voltios (sección 5.5.6,Test Alimentación), lo que permitió eloptimo funcionamiento del circuito deinterfase RS232, el cual adapta voltajescomprendidos entre +15 y -15 voltios enniveles TTl, manejables para losmódulos RF.
Se desarrolló una plataforma totalmenteinteractiva con los usuarios tantoclientes como servidores, siendo estadesarrollada con el entorno deprogramación Borland C++ Builder, elcual ofrece componentes de desarrolloaltamente estables y personalizables.Además la plataforma resulto ser lobastante estable para manejar unosniveles realmente bajos deprocesamiento los cuales nocomprometen de una forma alarmante eluso de recursos del sistema, siendo parala aplicación servidor un consumo deprocesamiento cercano al 16%, mientrasque para la aplicación cliente el nivel deprocesamiento estuvo el 17% y 19%,(sección 5.5.6, Test CPU), lo cualgarantiza el aprovechamiento optimodel procesador sin llegar a perturbar elmodo de operación de los computadoresdonde se tiene instalado el sistema.
El circuito electrónico garantizó laconectividad de los sistemas cliente yservidor, como se vio en las pruebasiniciales de la sección 5.5.6, durante unaprueba de desconexión de los cables dered de los computadores el sistema deapoyo inalámbrico tubo un rendimiento
del 85.71% dado que el ambiente dondese realizaron las pruebas fue unambiente contaminado por emisioneselectromagnéticas fuertes como se llegóa determinar causadas en su mayoríapor las luces fluorescentes, las cualesperturbaban el medio de transmisión yrecepción, lo que ocasionó fallas en latransmisión de instrucciones de controlpor parte del servidor hacia el clientemás no se registro ningún cambio deestado con los clientes ante lainterferencia magnética.
Se logró establecer el estado particularde las estaciones, ya que ModeloCliente Servidor Propuesto en lasección 5.5.3, permitió que datos comolos de conexión y desconexión de laestación cliente llegaran sin ningúncontratiempo, esto asociado a lasmúltiples consultas que se realizan a labase de datos para establecer quepermisos efectivos tiene durante undeterminado periodo de tiempo laestación cliente.
El diseño de estrategias como lo son laasignación de tiempo, habilitar odeshabilitar clientes, y el control en elestado de conexión y desconexiónpermitió realizar un seguimiento que seencuentra en el Anexo D, del cual sepudo determinar:
a. las actividades propias delos computadores seestabilizan a los 3.5segundos de suasignación.
b. El tiempo promedio paraque una estación clienteentre en funcionamientoes de aproximadamente3.75 segundos.
c. el grado de conformidadcon el sistema fue del79.16%.
Con los anteriores indicadores se puedeafirmar entonces que el sistema decontrol de aplicaciones ayuda y permiteorganizar mejor las actividades en ungrupo de computadores, al controlar sutiempo de uso y su estado, generandocontrol y seguridad sobre los equiposcubiertos por estas medidas.
5. REFERENCIAS
[1] TANENBAUM, ANDREW S.:"Redes de Ordenadores", 3 Ed., PrenticeHall International, 1996.
[2] STEVENS, W. R.: "TCP/IPIllustrated Vol. 1 The protocols"Prentice Hall, 1994
[3] P. Mähönen, T Saarinen and ZShelby, " Wireless internet over LMDS:Architecture and ExperimentalImplementation, " IEEE Magazine,Topic in Wireless, May 2001,Vol. 39,N° 5, p.p 126-132.
[4] J. Kuri and M. Gagnaire, ENSTParis, France "ATM TrafficManagement in an LMDS WirelessAccess Network," IEEE Magazine-Inelligence in Optical Network.September. 2001. Vol 39, N° 9, p.p 133-128.
[5] Kalev, D. (1999). "TheANSI/ISO C++. Programmer'sHandbook". Professional. ISBN 0-7897-2022-1 (ING 1627)