sistema electronico para el control de aplicaciones en un pc nicolas

Anuncio
SISTEMA ELECTRONICO PARA EL CONTROL
DE APLICACIONES EN UN PC
NICOLAS RIOS RODRIGUEZ
UNIVERSIDAD DE LA SALLE
FACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN
ELECTRÓNICA
BOGOTA 2005
SISTEMA ELECTRONICO PARA EL CONTROL
DE APLICACIONES EN UN PC
NICOLAS RIOS RODRIGUEZ
Trabajo de Grado
Doctor JAIME HUMBERTO CARVAJAL ROJAS
Asesor del Proyecto
UNIVERSIDAD DE LA SALLE
FACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN
ELECTRÓNICA
BOGOTA 2005
La responsabilidad de
los conceptos emitidos
en el presente escrito
es exclusiva de su
Autor.
Este trabajo en primer lugar lo dedico a
Dios, a mis Padres: Maria Elena una ejemplar
mujer, madre y profesional que con su iniciativa y
amor por las cosas que emprende nos ayuda a
comprender el significado de la vida, Gracias
Mama y Hernando que con su dedicación, apoyo,
esfuerzo y cariño hizo posible que las cosas
difíciles se tornaran divertidas y emotivas,
Gracias Papa, siendo ellos quienes aportaron a
éste trabajo su experiencia profesional, que
ante todo siempre me apoyaron y creyeron en mí,
y son mi orgullo y ejemplo a seguir, agradezco a
Rex, su apoyo y determinación en momentos
cruciales, agradezco a mis amigos: Andres,
Ronald, William su invaluable amistad..
Pero Definitivamente éste trabajo se basó en
el amor y confianza ilimitada de la mujer que
alegra los días de mi vida, Diana Lorena
Sarmiento 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
2.2.1 Concurrencia
2.2.2 Carencia de reloj global
2.2.3 Aislamiento del sistema
3
3
3
4
2.3
Desarrollo tecnológico
2.3.1 Historia
2.3.2 Modelo de procesamiento central
2.3.3 Modelo de servidores
2.3.4 Modelo Cliente Servidor
4
4
8
9
9
2.4
Conceptos Generales
2.4.1 Protocolo
2.4.2 Redes Lan
2.4.3 Redes Wan
2.4.4 Sockets
2.4.5 Mensajes
2.4.6 Modelo de referencia OSI
10
10
11
12
12
14
14
2.5
Modelo Cliente Servidor
2.5.1 Definición
2.5.2 Categorías del Servicio
2.5.3 Componentes de Software
2.5.4 Arquitecturas
2.5.5 Clasificación de los Sistemas Distribuidos
16
16
18
20
21
23
2.6
3
4
5
Protocolo de comunicaciones TCP/IP
2.6.1 Definición
2.6.2 Arquitectura
26
26
26
Capitulo III Sistemas Inalámbricos
29
3.1
Breve Introducción
29
3.2
Conceptos Generales
3.2.1 Transmisión Inalámbrica de datos
3.2.2 Medio de transporte
3.2.3 Modulación
3.2.4 Modulación ASK
30
30
31
33
33
3.3
Redes inalámbricas
3.3.1 Características
3.3.2 Redes Wi-Fi
3.3.3 Redes Bluetooth
3.3.4 Redes Gsm
35
35
37
39
43
Capitulo IV Identificación del entorno de Trabajo
46
4.1
4.2
47
47
Elementos Disponibles
Viabilidad del proyecto
Capitulo V
Diseño de los Sistemas de Transmisión
y Recepción de Datos
53
5.1
Modelo de Comunicación
53
5.2
Requerimientos de Hardware
55
5.3
Selección de componentes
55
5.4
5.3.1 Módulos RF
5.3.2 Lenguaje de Programación
55
57
Implementación del Sistema Inalámbrico
58
5.4.1 Consideraciones técnicas
5.4.2 Desarrollo y Construcción del Sistemas
Transmisor y Receptor
58
61
5.5
5.4.2.1 Circuito Transmisor
5.4.2.2 Circuito Receptor
5.4.3 Pruebas piloto
5.4.4 Puesta en funcionamiento
64
68
69
72
Implementación del Sistema Distribuido
74
5.5.1
5.5.2
5.5.3
5.5.4
5.5.5
5.5.6
5.5.7
Identificación del entorno
Requisitos previos
Desarrollo de la Aplicación Servidor
Desarrollo de la Aplicación Cliente
Diseño de la base de Datos
Pruebas Iniciales
Puesta en funcionamiento
74
74
76
84
86
88
95
6
Conclusiones
98
7
Bibliografía
101
8
ANEXOS
Anexo A
Anexo B
Anexo C
Anexo D
102
103
110
117
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.
1
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.
2
CAPITULO II
SISTEMAS 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.
3
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):
4
• 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.
5
• 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.
6
• 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
7
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:
8
• 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
9
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:
10
• 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.
11
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
12
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 CLIENTESERVIDOR: 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
13
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
14
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:
El nivel de aplicación es el destino final de los
Aplicación
datos donde se proporcionan los servicios al
usuario.
Se convierten e interpretan los datos que se
Presentación
utilizarán en el nivel de aplicación.
Encargado de ciertos aspectos de la
Sesión
comunicación como el control de los tiempos.
Transporta la información de una manera
Transporte
fiable para que llegue correctamente a su
destino.
Red
Nivel encargado de encaminar los datos hacia
15
su destino eligiendo la ruta más efectiva.
Enlace de datos. Controla el flujo de los
Enlace
mismos, la sincronización y los errores que
puedan producirse.
Se encarga de los aspectos físicos de la
Físico
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.
16
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.
17
Solicitud de Recurso
CLIENTE
SERVICIO
Respuesta
PROG
BD
SERVICIOS
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.
18
• 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.
19
• 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.
20
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.
CLIENTE
SERVIDOR
* Presentación
* Lógica de la Aplicación.
Base de Datos
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:
21
§
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.
Capa de
Presentación
Capa de la
Aplicación
Capa de Base
de Datos
Objetos de
Negocios
B/D
CLIENTES
SERVIDOR
SERVIDOR
Figura 3. Cliente Servidor de Tres Capas
22
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
23
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.
24
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
25
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
26
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.
27
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.
28
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
29
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.
30
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.
31
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
32
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:
33
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ñal
portadora.
Figura 12. Modulación ASK
34
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
35
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).
36
à
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).
37
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
38
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
39
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.
40
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 NGage), 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.
41
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
42
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
43
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
44
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).
45
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.
46
à 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:
47
Figura 13. Software de Simulación Discreta
Por medio de este programa se procede a elaborar un proyecto nuevo:
Figura 14. Gestor de Proyectos
48
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.
49
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
50
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.
51
**
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.
52
CAPITULO V
DISEÑO DE LOS SISTEMAS DE TRANSMISIÓN Y
RECEPCIÓ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:
53
54
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
55
opciones para el control de aplicaciones vía radio frecuencia, a continuación se detallan
más características de estos módulos:
Dimensiones
Voltaje de Trabajo
Frecuencia de Modulación
Potencia Entregada
Temperatura de Trabajo
Transmisión de Bits
TLP434A (Transmisor)
Ancho
10.3
Mínimo
2
Mínimo
314.8
Mínimo
14
Mínimo
-2
Mínimo
512
Alto
13.3
Máximo
12
Máximo
315.2
Máximo
16
Máximo
25
Máximo
200K
Unidad
Milímetros
Unidad
Voltios
Unidad
MHz
Unidad
dBm
Unidad
Centígrados
Unidad
bps
Tabla 2. Características principales del Circuito Transmisor
Dimensiones
Voltaje de Trabajo
Frecuencias de Demodulación
Ancho de Banda
Distancia Máxima de Recepción
Potencia Disipada
RPL434A (Receptor)
Ancho
43.42
Mínimo
3.3
315 MHz
Mínimo
0
Mínimo
-20
Mínimo
512
Temperatura de Trabajo
Transmisión de Bits
Alto
11.5
Máximo
6
418 MHz
4 KHz
100 metros
Máximo
-110
Máximo
80
Máximo
200K
Tabla 3. Características principales del Circuito Receptor
56
Unidad
Milímetros
Unidad
Voltios
433.92MHz
Unidad
dBm
Unidad
Centígrados
Unidad
bps
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.
57
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
58
Y en detalle la descripción de los pines y su función:
Pin Señal
Descripción
E/S
1
-
Masa chasis
-
3
TxD
Transmit Data
S
2
RxD
Receive Data
E
7
RTS
Request To Send
S
8
CTS
Clear To Send
E
6
DSR
Data Set Ready
E
5
SG
Signal Ground
-
1 CD/DCD (Data) Carrier Detect
E
-
TxC(*)
Transmit Clock
S
-
RxC(*)
Receive Clock
E
4
DTR
Data Terminal Ready
S
9
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/S
3
TxD
Transmit Data
S
2
RxD
Receive Data
E
4
DTR Data Terminal Ready S
5
Sg
Signa Ground
E
Tabla 5. Pines del puerto utilizados en el proyecto
59
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.
60
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
61
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
SÍ
ON / OFF
Notificación al Usuario
NO
Fin
Figura 20. Algoritmo Generador de Voltaje continuo en el Puerto Serial
62
#include “iostream.h”
Int estado = 0;
Int main()
{
While(1)
{
If(estado == 0)
{
__asm
{
Mov al, 32
Mov dx, 3F8
Out dx, al
Lea 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.
63
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
64
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
65
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
66
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.
67
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
68
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:
69
Figura 26. Hyperterminal de Windows
Figura 27. Selección del puerto
70
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”
71
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
72
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
73
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:
74
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.
75
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
76
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
77
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.
78
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
79
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
80
Figura 35. Generador de Reportes
Figura 36. Resultado del Reporte
81
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:
82
REPORT
Atributos:
Campos
Formato
Funciones:
Mostrar la información del Cliente
SOCKET
Atributos:
Puerto IP
Dirección IP
Buffer de entrada
Buffer de Salida
Funciones:
Establecer la comunicación con los clientes
Enviar información a los clientes
Recibir información de los clientes
Enviar información a la base de datos
Recibir información de la base de datos
PARAMETROS
Atributos:
Estado del cliente
Nombre del cliente
Trama generada
Funciones:
Configurar el futuro estado del cliente
Enviar la configuración al socket
VISUALIZADOR
Atributos:
Características del cliente
Estado actual del cliente
Funciones:
Informar el estado actual del cliente
Informar 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.
83
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.
84
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
VISUALIZADOR
Atributos:
Tiempo transcurrido
Tiempo Asignado
Funciones:
Informar al cliente el estado de la conexión
Informar al cliente el tiempo de activación
Atributos:
Puerto IP
Dirección IP
Buffer de entrada
Buffer de Salida
Funciones:
Establecer la comunicación con el servidor
Enviar información al servidor
Recibir información de los clientes
Enviar información del servidor
SISTEMA DE BLOQUEO
Atributos:
Evasión de ordenes del cliente
Tiempo de ejecución de bloqueo
Funciones:
Impedir que el cliente interactúe luego de un
tiempo
Deshabilitar las funciones del escritorio
Deshabilitar 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
85
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
86
USUARIOS
CLASES
* Código
* Código Clase
* Código
Alumno
Duración
Nombre
Apellido 1
Apellido 2
Semestre
Store
SCORE
*Código
Alumno
Store
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.
87
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.
88
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
89
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
90
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
91
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:
92
Figura 44. Rendimiento de la aplicación servidor
93
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:
94
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
95
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
96
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.
97
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
98
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.
99
•
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.
100
BIBLIOGRAFIA
TANENBAUM, ANDREW S.: "Redes de Ordenadores", 3 Ed., Prentice Hall
International, 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: Architecture
and 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 LMDS
Wireless 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
101
ANEXO A
102
ANEXO B
103
#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;
}
104
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"
105
//--------------------------------------------------------------------------#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;
106
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 = "***";
107
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)
{
108
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();
}
109
ANEXO C
110
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 == "")
{
111
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++;
112
}
}
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";
}
113
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();
}
114
//--------------------------------------------------------------------------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)
115
{
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);
}
}
116
ANEXO D
117
Hora de Inicio
Tiempo de
Tiempo De
Conformidad
(hh:mm:ss)
Habilitación(mm:ss)
Estabilización (s)
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
118
SISTEMA ELECTRONICO PARA EL CONTROL
DE APLICACIONES EN UN PC
Rios Rodríguez Nicolás
Abstract- En este artículo se expone el
diseño, construcción e implementación
de un circuito electrónico para el control
de aplicaciones en un computador, lo
cual permitirá un control más específico
por parte de los laboratoristas, de las
actividades y usos dados a los
computadores, garantizando el buen
desempeño de los equipos bajo el
control del sistema inalámbrico.
Algunas de las características más
importantes del puerto serie son:
Palabras ClavesTramas, datos,
transmisor, receptor, Interfase gráfica,
puerto serial, sistema operativo.
3. SISTEMA DE
COMUNICACIÓN
1. INTRODUCCIÓN
El constante aumento del uso
inadecuado de los computadores en la
actualidad los convierte definitivamente
en herramientas subutilizadas, sin ni
siquiera llegar en la actualidad a un
nivel de uso del 50% útil, generando así
el desgaste de los equipos en
actividades secundarias lo que preocupa
tanto
a
propietarios
como
a
administradores.
2. PUERTO SERIAL
El puerto serial es sin duda alguna el
50% del proyecto ya que este es el
encargado de disponer al alcance del
dispositivo de control los pines
necesarios para el manejo de señales
tanto de datos como de alimentación.
Para que el proyecto funcione
adecuadamente se espera que el puerto
serial que será utilizado, esté libre de
todo uso por parte de otro dispositivo
como lo puede ser Mouse, teclado,
impresora, etc.
•
Buena
velocidad
transmisión.
•
Mínimo espacio ocupado.
•
Gran soporte actual.
3.1
de
TRANSMISOR Y
RECEPTOR
Para la transmisión de información de
un punto de origen a un punto de
destino se requiere el uso indispensable
de un mecanismo electrónico el cual
pueda transportar el dato necesario de
forma eficiente, 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 caracterízan
por su buena calidad al momento de
acondicionar las señales para ser
transmitidas, lo que los hace ser una de
las mejores opciones para el control de
aplicaciones vía radio frecuencia.
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.
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.
3.3 SISTEMA DISTRIBUIDO
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.
Figura 1. Sistema Distribuido Propuesto
Funciones del sistema distribuido:
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.
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.
3.3.1 Trama de Datos
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
Cok
Dok
Txxxux
Hux
Trama de Descripción
Respuesta
Cok
Indica
la
conexión.
c = conectado
ok = ok
Dok
Indica
la
desconexión.
d
=
desconectado
ok = ok
Txok
Asigna
tiempo a un
usuario
t = tiempo
xxx = cifra en
minutos
u = usuario
x = número
de usuario
Huxok
Habilita un
usuario
h = habilita
Dux
Duxok
Pxux
Pxuxok
u = usuario
x = número
del usuario
ok = ok
Deshabilita
un usuario
d
=
deshabilita
u = usuario
x = número
del usuario
ok = ok
Asigna perfil
a un usuario
p = perfil
x = tipo de
perfil
u = usuario
x = número
del usuario
ok = ok
Tabla 1. Trama de datos para la
comunicación de instrucciones
3.4 SISTEMA
INALAMBRICO
El sistema inalámbrico es aquel
componente que se encarga de 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.
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).
serial hacia el circuito de interfase ya
que este recibe los datos provenientes
del exterior.
3.4.1 Transmisor
4. CONCLUSIONES
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:
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.
PC
NTERFASE
RF
Figura 2. 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.
3.4.2 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 3. 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
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 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.
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.
5. REFERENCIAS
[1] TANENBAUM, ANDREW S.:
"Redes de Ordenadores", 3 Ed., Prentice
Hall International, 1996.
[2]
STEVENS, W. R.: "TCP/IP
Illustrated Vol. 1 The protocols"
Prentice Hall, 1994
[3]
P. Mähönen, T Saarinen and Z
Shelby, " Wireless internet over LMDS:
Architecture and Experimental
Implementation, " IEEE Magazine,
Topic in Wireless, May 2001,Vol. 39,
N° 5, p.p 126-132.
[4]
J. Kuri and M. Gagnaire, ENST
Paris, France "ATM Traffic
Management in an LMDS Wireless
Access Network," IEEE MagazineInelligence in Optical Network.
September. 2001. Vol 39, N° 9, p.p 133128.
[5]
Kalev, D. (1999). "The
ANSI/ISO C++. Programmer's
Handbook". Professional. ISBN 07897-2022-1 (ING 1627)
Descargar