sistema electronico para el control de aplicaciones en un pc nicolas

130
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

Upload: phamkien

Post on 12-Feb-2017

225 views

Category:

Documents


0 download

TRANSCRIPT

SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC

NICOLAS RIOS RODRIGUEZ

UNIVERSIDAD DE LA SALLEFACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN

ELECTRÓNICABOGOTA 2005

SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC

NICOLAS RIOS RODRIGUEZ

Trabajo de Grado

Doctor JAIME HUMBERTO CARVAJAL ROJASAsesor del Proyecto

UNIVERSIDAD DE LA SALLEFACULTAD DE INGENIERÍA DE DISEÑO Y AUTOMATIZACIÓN

ELECTRÓNICABOGOTA 2005

La responsabilidad delos conceptos emitidosen el presente escritoes exclusiva de suAutor.

Este trabajo en primer lugar lo dedico aDios, a mis Padres: Maria Elena una ejemplarmujer, madre y profesional que con su iniciativa yamor por las cosas que emprende nos ayuda acomprender el significado de la vida, GraciasMama y Hernando que con su dedicación, apoyo,esfuerzo y cariño hizo posible que las cosasdifíciles se tornaran divertidas y emotivas,Gracias Papa, siendo ellos quienes aportaron aéste trabajo su experiencia profesional, queante todo siempre me apoyaron y creyeron en mí,y son mi orgullo y ejemplo a seguir, agradezco aRex, su apoyo y determinación en momentoscruciales, agradezco a mis amigos: Andres,Ronald, William su invaluable amistad..

Pero Definitivamente éste trabajo se basó enel amor y confianza ilimitada de la mujer quealegra los días de mi vida, Diana LorenaSarmiento Rodríguez, mujer a la que Admiro,Respeto, Amo, Thanks Lips of FIRE.

CONTENIDO

I Objetivo General 1

II Objetivos Específicos 1

1 Capitulo I Introducción 2

2 Capitulo II Sistemas Distribuidos 3

2.1 Definición 3

2.2 Características 32.2.1 Concurrencia 32.2.2 Carencia de reloj global 32.2.3 Aislamiento del sistema 4

2.3 Desarrollo tecnológico 42.3.1 Historia 42.3.2 Modelo de procesamiento central 82.3.3 Modelo de servidores 92.3.4 Modelo Cliente Servidor 9

2.4 Conceptos Generales 102.4.1 Protocolo 102.4.2 Redes Lan 112.4.3 Redes Wan 122.4.4 Sockets 122.4.5 Mensajes 142.4.6 Modelo de referencia OSI 14

2.5 Modelo Cliente Servidor 162.5.1 Definición 162.5.2 Categorías del Servicio 182.5.3 Componentes de Software 202.5.4 Arquitecturas 212.5.5 Clasificación de los Sistemas Distribuidos 23

2.6 Protocolo de comunicaciones TCP/IP 262.6.1 Definición 262.6.2 Arquitectura 26

3 Capitulo III Sistemas Inalámbricos 29

3.1 Breve Introducción 29

3.2 Conceptos Generales 303.2.1 Transmisión Inalámbrica de datos 303.2.2 Medio de transporte 313.2.3 Modulación 333.2.4 Modulación ASK 33

3.3 Redes inalámbricas 353.3.1 Características 353.3.2 Redes Wi-Fi 373.3.3 Redes Bluetooth 393.3.4 Redes Gsm 43

4 Capitulo IV Identificación del entorno de Trabajo 46

4.1 Elementos Disponibles 474.2 Viabilidad del proyecto 47

5 Capitulo V Diseño de los Sistemas de Transmisión 53y Recepción de Datos

5.1 Modelo de Comunicación 53

5.2 Requerimientos de Hardware 55

5.3 Selección de componentes 55

5.3.1 Módulos RF 555.3.2 Lenguaje de Programación 57

5.4 Implementación del Sistema Inalámbrico 58

5.4.1 Consideraciones técnicas 585.4.2 Desarrollo y Construcción del Sistemas 61

Transmisor y Receptor

5.4.2.1 Circuito Transmisor 645.4.2.2 Circuito Receptor 685.4.3 Pruebas piloto 695.4.4 Puesta en funcionamiento 72

5.5 Implementación del Sistema Distribuido 74

5.5.1 Identificación del entorno 745.5.2 Requisitos previos 745.5.3 Desarrollo de la Aplicación Servidor 765.5.4 Desarrollo de la Aplicación Cliente 845.5.5 Diseño de la base de Datos 865.5.6 Pruebas Iniciales 885.5.7 Puesta en funcionamiento 95

6 Conclusiones 98

7 Bibliografía 101

8 ANEXOS

Anexo A 102Anexo B 103Anexo C 110Anexo D 117

1

OBJETIVO GENERAL

Optimización de las tareas y procedimientos a los cuales se someten las computadoras,

con el fin de garantizar una alta cobertura, soporte adecuado, a fin de que las actividades

desarrolladas en el laboratorio sean más eficientes, y fáciles de llevar a cabo.

OBJETIVOS ESPECÍFICOS

1. Implementar un medio efectivo de comunicación entre la aplicación y los

dispositivos electrónicos de RF.

2. Desarrollar una interfaz de aplicación interactiva y de fácil manejo para el

usuario.

3. Construir un circuito electrónico que garantice la conectividad y versatilidad

actual con un computador y su sistema operativo.

4. Supervisar el estado particular de alguna estación en servicio a fin de generar un

reporte de su operabilidad.

5. Diseñar estrategias que permitan el mejoramiento en cuanto a la asignación

programación y control de seguridad.

2

INTRODUCCIÓN

El presente trabajo contiene la descripción clara y detallada del diseño y construcción de

un sistema para personalizar el uso de las funciones de un computador, es decir controla

la forma en la cual uno o más usuarios hacen uso de aplicaciones del computador.

Dada las condiciones de uso de los computadores o PC´S y el avance en las aplicaciones

que se pueden llevar a cabo con estos equipos es lógico pensar que se debe implementar

una forma de controlar el uso de los computadores debido a que ni todas las personas

que los utilizan lo usan todo ni todo el tiempo se usa el mismo tipo de aplicaciones, es

por eso que con este trabajo académico se pretende dar a conocer una solución que

integra la tecnología electrónica y la tecnología de sistemas para brindar al usuario

como al administrador del computador facilidad y eficiencia al momento de utilizar el

equipo.

En este trabajo se encontraran los requerimientos básicos o necesidades a satisfacer con

el proyecto: la recopilación de datos, la planeación de las soluciones, la escogencia de

métodos y componentes, la evaluación de los procesos que intervienen y su puesta en

funcionamiento. Apoyado en el uso de aplicaciones basadas en el modelo cliente

servidor que permitirán un control justo de las acciones a tomar.

3

CAPITULO IISISTEMAS DISTRIBUIDOS

2.1 DEFINICIÓN

Sistemas cuyos componentes hardware y software, que están en ordenadores conectados

en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el

logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por

un esquema cliente-servidor”.

2.2 CARACTERÍSTICAS

2.2.1 Concurrencia

Esta característica de los sistemas distribuidos permite que los recursos disponibles en

la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que

interactúan en la red.

2.2.2 Carencia de reloj global

Las coordinaciones para la transferencia de mensajes entre los diferentes componentes

para la realización de una tarea, no tienen una temporización general, esta más bien

distribuida a los componentes.

4

2.2.3 Aislamiento del Sistema

Cada componente del sistema puede fallar independientemente, con lo cual los demás

pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor

efectividad, pues el sistema en su conjunto continua trabajando.

2.3 DESARROLLO TECNOLÓGICO

2.3.1 Historia

Los sistemas distribuidos han estado relacionados históricamente con la arquitectura de

las computadoras en las cuales se ejecutan, razón por la cual su historia puede analizarse

según las siguientes generaciones y sus principales características:

1. Generación Cero (década de 1940):

• Carencia total de sistema operativo.

• Completo acceso al lenguaje de máquina.

2. Primera generación (1945-1955): bulbos y conexiones:

• En los años cincuenta comienzan como transición entre trabajos,

haciendo la misma más simple.

3. Segunda generación (1955-1965): transistores y sistemas de procesamiento por

lotes (batch):

5

• En los años sesenta aparecen los sistemas distribuidos con:

• Multiprogramación: varios programas de usuarios se

encuentran al mismo tiempo en el almacenamiento

principal, cambiando el procesador rápidamente de un

trabajo a otro.

• Multiprocesamiento: varios procesadores se utilizan en un

mismo sistema para incrementar el poder de

procesamiento.

•Posteriormente aparece la independencia de dispositivo:

• El programa del usuario especifica las características de

los dispositivos que requieren los archivos.

• El sistema asigna los dispositivos correspondientes según

los requerimientos y las disponibilidades.

4. Tercera generación (1965-1980): circuitos integrados y multiprogramación:

• Difusión de la multiprogramación:

• Partición de la memoria en porciones, con trabajos

distintos en cada una de ellas.

• Aprovechamiento del tiempo de espera consecuencia de

operaciones de e / s, para utilizar la CPU para otros

procesos.

6

• Protección por hardware del contenido de cada partición

de memoria.

• Aparición de técnicas de spooling:

• Simultaneous Peripheral Operation On Line: operación

simultánea y en línea de periféricos.

• Almacenamiento de trabajos de entrada y de salida en

dispositivos transitorios rápidos (discos), para disminuir el

impacto de los periféricos más lentos.

• Son sistemas de modos múltiples, es decir que deben

soportar sistemas de propósitos generales; son grandes y

complejos pero muy poderosos.

• Interponen una capa de software entre el usuario y el

hardware.

• Aparecen los lenguajes de control de trabajos, necesarios

para especificar el trabajo y los recursos requeridos.

• Soportan timesharing (tiempo compartido), variante de la

multiprogramación con usuarios conectados mediante

terminales en línea, permitiendo la operación en modo

interactivo o conversacional.

• Aparecen los sistemas de tiempo real, que requieren

tiempos de respuesta muy exigentes, especialmente para

usos industriales o militares.

7

• Se difunden las computadoras de rango medio.

5. Cuarta generación (1980-1990): computadoras personales:

• Aparición de software amigable con el usuario, destinado

a usuarios no profesionales y con una interfase gráfica

muy desarrollada.

• Desarrollo de sistemas operativos de red y sistemas

operativos distribuidos.

• Sistemas operativos de red:

• Los usuarios están conscientes de la existencia de varias

computadoras conectadas.

• Cada máquina ejecuta su propio sistema operativo local.

• Son similares a los sistema operativo de un solo

procesador pero con el agregado de:

• Controlador de interfaz de la red y su software de bajo

nivel.

• Software para conexión y acceso a archivos remotos, etc.

• Sistemas operativos distribuidos:

• Aparece ante los usuarios como un sistema. de un solo

procesador, aún cuando de soporte a varios procesadores.

• Los usuarios no son conscientes del lugar donde se

ejecutan sus programas o donde se encuentran sus

8

archivos, ya que lo debe administrar el sistema

automáticamente.

• Deben permitir que un programa se ejecute mediante

varios procesadores a la vez, maximizando el paralelismo.

• Aparición de emuladores de terminal para el acceso a

equipos remotos desde computadoras personales (PC).

• Gran énfasis en la seguridad, en especial por el desarrollo

de los sistemas de comunicaciones de datos.

• El sistema crea un ambiente de trabajo según el concepto

de máquina virtual, que lo aísla del funcionamiento

interno de la máquina.

• Proliferación de sistemas de bases de datos, accesibles

mediante redes de comunicación.

2.3.2 Modelo de Procesamiento central (Host)

Uno de los primeros modelos de ordenadores interconectados, llamados centralizados,

donde todo el procesamiento de la organización se llevaba a cabo en una sola

computadora, normalmente un Mainframe, y los usuarios empleaban sencillos

ordenadores personales.

Los problemas de este modelo son:

9

• Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware

del Mainframe, lo cual es más costoso que añadir más computadores personales

clientes o servidores que aumenten las capacidades.

• El otro problema que surgió son las modernas interfases gráficas de usuario, las

cuales podían conllevar a un gran aumento de tráfico en los medios de

comunicación y por consiguiente podían colapsar.

2.3.3 Modelo de Servidores

Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un

grupo de ordenadores actuando como servidores, normalmente de archivos o de

impresión, poco inteligentes para un número de Minicomputadores que hacen el

procesamiento conectados a una red de área local. Los problemas de este modelo son:

• Podría generarse una saturación de los medios de comunicación entre los

servidores poco inteligentes y los minicomputadores, por ejemplo cuando se

solicitan archivos grades por varios clientes a la vez, podían disminuir en gran

medida la velocidad de transmisión de información.

2.3.4 Modelo Cliente Servidor

Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y

recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz

10

Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una

aplicación determinada y por lo tanto ejecutarla en forma eficiente.

2.4 CONCEPTOS GENERALES

2.4.1 Protocolo

Es un conjunto bien conocido de reglas y formatos que se utilizan para la comunicación

entre procesos que realizan una determinada tarea. Se requieren dos partes:

• Especificación de la secuencia de mensajes que se han de intercambiar.

• Especificación del formato de los datos en los mensajes.

Un protocolo permite que componentes heterogéneos de sistemas distribuidos puedan

desarrollarse independientemente, y por medio de módulos de software que componen

el protocolo, haya una comunicación transparente entre ambos componentes. Es

conveniente mencionar que estos componentes del protocolo deben estar tanto en el

receptor como en el emisor.

Los protocolos de comunicaciones definen las normas que posibilitan que se establezca

una comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser

diferentes entre sí. A continuación se presentan ejemplos de protocolos usados en los

sistemas distribuidos:

11

• IP: Protocolo de Internet

Protocolo de la capa de Red, que permite definir la unidad básica de transferencia de

datos y se encarga del direccionamiento de la información, para que llegue a su destino

en la red.

• TCP: Protocolo de Control de Transmisión

Protocolo de la capa de Transporte, que permite dividir y ordenar la información a

transportar en paquetes de menor tamaño para su transporte y recepción.

• HTTP: Protocolo de Transferencia de Hipertexto

Protocolo de la capa de aplicación, que permite el servicio de transferencia de páginas

de hipertexto entre el cliente WEB y los servidores.

• SMTP: Protocolo de Transferencia de Correo Simple

Protocolo de la capa de aplicación, que permite el envío de correo electrónico por la red.

• POP3: Protocolo de Oficina de Corre

Protocolo de la capa de aplicación, que permite la gestión de correos en Internet, es

decir, le permite a una estación de trabajo recuperar los correos que están almacenados

en el servidor.

2.4.2 Redes LAN (Local Area Network)

Son las redes de área local. La extensión de este tipo de redes suele estar restringida a

una sala o edificio, aunque también podría utilizarse para conectar dos o más edificios

próximos.

12

2.4.3 WAN (Wide Area Network)

Son redes que cubren un espacio muy amplio, conectando a ordenadores de una cuidad

o un país completo. Para ello se utilizan las líneas de teléfono y otros medios de

transmisión más sofisticados, como pueden ser las microondas. La velocidad de

transmisión suele ser inferior que en las redes locales.

2.4.4 Sockets

Los sockets no son más que puntos o mecanismos de comunicación entre procesos que

permiten que un proceso hable (emita o reciba información) con otro proceso incluso

estando estos procesos en distintas máquinas. Esta característica de interconectividad

entre máquinas hace que el concepto de socket nos sirva de gran utilidad. Esta interfaz

de comunicaciones es una de las distribuciones de Berkeley al sistema UNIX,

implementándose las utilidades de interconectividad de este Sistema Operativo (rlogin,

telnet, ftp, ...) usando sockets.

Un socket es al sistema de comunicación entre ordenadores lo que un buzón o un

teléfono es al sistema de comunicación entre personas: un punto de comunicación entre

dos agentes (procesos o personas respectivamente) por el cual se puede emitir o recibir

información. La forma de referenciar un socket por los procesos implicados es mediante

un descriptor del mismo tipo que el utilizado para referenciar ficheros. Debido a esta

característica, se podrá realizar redirecciones de los archivos de E/S estándar a los

sockets y así combinar entre ellos aplicaciones de la red. Todo nuevo proceso creado

13

heredará, por tanto, los descriptores de sockets de su padre.

La comunicación entre procesos a través de sockets se basa en la filosofía CLIENTE-

SERVIDOR: un proceso en esta comunicación actuará de proceso servidor creando un

socket cuyo nombre conocerá el proceso cliente, el cual podrá "hablar" con el proceso

servidor a través de la conexión con dicho socket nombrado.

El proceso crea un socket sin nombre cuyo valor de vuelta es un descriptor sobre el que

se leerá o escribirá, permitiéndose una comunicación bidireccional, característica propia

de los sockets y que los diferencia de los pipes, o canales de comunicación

unidireccional entre procesos de una misma máquina. El mecanismo de comunicación

vía sockets tiene los siguientes pasos:

El proceso servidor crea un socket con nombre y espera la conexión.

* El proceso cliente crea un socket sin nombre.

* El proceso cliente realiza una petición de conexión al socket servidor.

* El cliente realiza la conexión a través de su socket mientras el proceso servidor

mantiene el socket servidor original con nombre.

Es muy común en este tipo de comunicación lanzar un proceso hijo, una vez realizada la

conexión, que se ocupe del intercambio de información con el proceso cliente mientras

el proceso padre servidor sigue aceptando conexiones. Para eliminar esta característica

14

se cerrará el descriptor del socket servidor con nombre en cuanto realice una conexión

con un proceso socket cliente.

2.4.5 Mensajes

Es la implementación de los sockets para enviar desde un punto de origen, hasta un

punto de destino información. Esta información esta catalogada como “Mensaje”, el

cual se compone como en el caso de la lingüística de elementos como una introducción,

y el objeto del mensaje, un ejemplo de mensaje es el siguiente:

MENSAJE DE SOLICITUD DE INFORMACIÓN DE USUARIO:

______nicolas rios;00080040538;00003115784;000123456789

Donde el mensaje esta dividido en secciones o campos separados por punto y coma, este

mensaje en esencia es una cadena de caracteres que se transporta bajo el esquema del

socket hacia una máquina que pueda entender y resolver el tipo de solicitud requerida.

2.4.6 Modelo de Referencia OSI

El modelo OSI (Open System Interconection) es utilizado por prácticamente la totalidad

de las redes del mundo. Este modelo fue creado por el ISO (Organización Internacional

de Normalización), y consiste en siete niveles o capas donde cada una de ellas define las

15

funciones que deben proporcionar los protocolos con el propósito de intercambiar

información entre varios sistemas.

Esta clasificación permite que cada protocolo se desarrolle con una finalidad

determinada, lo cual simplifica el proceso de desarrollo e implementación. Cada nivel

depende de los que están por debajo de él, y a su vez proporciona alguna funcionalidad

a los niveles superiores.

Los siete niveles del modelo OSI son los siguientes:

Aplicación

El nivel de aplicación es el destino final de los

datos donde se proporcionan los servicios al

usuario.

PresentaciónSe convierten e interpretan los datos que se

utilizarán en el nivel de aplicación.

SesiónEncargado de ciertos aspectos de la

comunicación como el control de los tiempos.

Transporte

Transporta la información de una manera

fiable para que llegue correctamente a su

destino.

Red Nivel encargado de encaminar los datos hacia

16

su destino eligiendo la ruta más efectiva.

Enlace

Enlace de datos. Controla el flujo de los

mismos, la sincronización y los errores que

puedan producirse.

Físico

Se encarga de los aspectos físicos de la

conexión, tales como el medio de transmisión

o el hardware.

Tabla 1. Modelo de Referencia OSI

2.5 MODELO CLIENTE SERVIDOR

2.5.1 Definición

La arquitectura cliente-servidor es una forma específica de diseño de aplicaciones,

aunque también se conoce con este nombre a los ordenadores en los que se estas

aplicaciones son ejecutadas. Por un lado, el cliente es el ordenador que se encarga de

efectuar una petición o solicitar un servicio. El cliente no posee control sobre los

recursos, sino que es el servidor el encargado de manejarlos. Por otro lado, el ordenador

remoto que actúa como servidor evalúa la petición del cliente y decide aceptarla o

rechazarla consecuentemente.

17

Una vez que el servidor acepta el pedido la información requerida es suministrada al

cliente que efectuó la petición, siendo este último el responsable de proporcionar los

datos al usuario con el formato adecuado. Finalmente debemos precisar que cliente y

servidor no tienen que estar necesariamente en ordenadores separados, sino que pueden

ser programas diferentes que se ejecuten en el mismo ordenador.

Básicamente, se basa en la existencia de dos elementos enlazados dentro de un proceso

de comunicación; El Cliente y El Servidor, el cliente es una máquina que solicita un

determinado servicio y se denomina servidor a la máquina que lo proporciona. Los

servicios pueden ser:

• Ejecución de un determinado programa.

• Acceso a un determinado banco de información.

• Acceso a un dispositivo de hardware.

Es un elemento primordial, la presencia de un medio físico de comunicación entre las

máquinas, y dependerá de la naturaleza de este medio la viabilidad del sistema.

18

Figura 1. Esquema Cliente Servidor

2.5.2 Categorías de Servicio

• Servicio de archivos

Proporciona archivos para clientes. Si los archivos no fueran tan grandes y los

usuarios que comparten esos archivos no fueran muchos, esto sería una gran opción

de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el

servidor los ubica y se los envía.

•Servicio de Base de Datos

Son los que almacenan gran cantidad de datos estructurados, se diferencian de los de

archivos pues la información que se envía está ya resumida en la base de datos.

Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y

extrae solo la información pertinente y envía esa respuesta al cliente.

CLIENTE SERVICIOSolicitud de Recurso

Respuesta

PROGBD

SERVICIOS

19

• Servicio de Software de Grupo

El software de grupo es aquel, que permite organizar el trabajo de un grupo. El

servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar

las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una

tarea y el servidor se lo envía al resto del grupo.

• Servicio WEB

Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o

link hace un llamado de la página y el servidor recibe el mensaje y envía la página

correspondiente.

• Servicio de correo

Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no

necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.

• Servicio de objetos

Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden

ser capaces de activar los objetos que se encuentran en el servidor.

• Servicio de impresión

Gestionan las solicitudes de impresión de los clientes. El cliente envía la solicitud de

impresión, el servidor recibe la solicitud y la ubica en la cola de impresión, ordena a

la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente

que ya acabo su respectiva impresión.

20

• Servicio de aplicación

Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden

acceder los clientes.

2.5.3 Componentes de Software

Se distinguen tres componentes básicos de software:

• Presentación

Tiene que ver con la presentación al usuario de un conjunto de objetos visuales y

llevar a cabo el procesamiento de los datos producidos por el mismo y los devueltos

por el servidor.

• Lógica de aplicación

Esta capa es la responsable del procesamiento de la información que tiene lugar en

la aplicación.

• Base de datos

Esta compuesta de los archivos que contienen los datos de la aplicación.

21

2.5.4 Arquitecturas

Arquitectura Cliente-Servidor de Dos Capas

Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de

datos. Normalmente esta arquitectura se utiliza en las siguientes situaciones:

§ Cuando se requiera poco procesamiento de datos en la organización.

§ Cuando se tiene una base de datos centralizada en un solo servidor.

§ Cuando la base de datos es relativamente estática.

§ Cuando se requiere un mantenimiento mínimo.

Figura 2. Cliente Servidor de 2 Capas

Arquitectura Cliente-Servidor de Tres Capas

Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra

capa de la base de datos. Normalmente esta arquitectura se utiliza en las siguientes

situaciones:

SERVIDORCLIENTE

Base de Datos* Presentación* Lógica de la Aplicación.

22

§ Cuando se requiera mucho procesamiento de datos en la aplicación.

§ En aplicaciones donde la funcionalidad este en constante cambio.

§ Cuando los procesos no están relativamente muy relacionados con los

datos.

§ Cuando se requiera aislar la tecnología de la base de datos para que sea

fácil de cambiar.

§ Cuando se requiera separar el código del cliente para que se facilite el

mantenimiento.

§ Esta muy adecuada para utilizarla con la tecnología orientada a objetos.

Figura 3. Cliente Servidor de Tres Capas

Capa dePresentación

Capa de laAplicación

Capa de Basede Datos

Objetos deNegocios B/D

CLIENTES

SERVIDOR

SERVIDOR

23

2.5.5 Clasificación de los sistemas cliente servidor

Representación distribuida

La interacción con el usuario se realiza en el servidor, el cliente hace de pasarela entre

el usuario y el servidor.

Figura 4. Usuario Servidor

Representación Remota

La lógica de la aplicación y la base de datos se encuentran en el servidor. El cliente

recibe y formatea los datos para interactuar con el usuario.

Figura 5. Cliente Servidor Remotos

Lógica Distribuida

24

El cliente se encarga de la interacción con el usuario y de algunas funciones triviales de

la aplicación. Por ejemplo controles de rango de campos, campos obligatorios, etc.

Mientras que el resto de la aplicación, junto con la base de datos, están en el servidor.

Figura 6. Cliente Servidor de Control

Gestión Remota de Datos

El cliente realiza la interacción con el usuario y ejecuta la aplicación y el servidor es

quien maneja los datos.

Figura 7. Cliente Servidor de Gestión Remota

Base de Datos Distribuidas

El cliente realiza la interacción con el usuario, ejecuta la aplicación, debe conocer la

topología de la red, así como la disposición y ubicación de los datos. Se delega parte de

la gestión de la base de datos al cliente.

25

Figura 8. Cliente Servidores de Datos

Cliente servidor de tres niveles

El cliente se encarga de la interacción con el usuario, el servidor de la lógica de

aplicación y la base de datos puede estar en otro servidor.

Figura 9. Cliente Servidor de Gestión y Base de datos

26

2.6 PROTOCOLO DE COMUNICACIONES TCP/IP

2.6.1 Definición

TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet,

de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en

Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware

y software incompatibles en muchos casos, además de todos los medios y formas

posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues

este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es

compatible con cualquier sistema operativo y con cualquier tipo de hardware.

2.6.2 Arquitectura

TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este

nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI.

Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP

(Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian

cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los

niveles OSI de la siguiente manera:

• Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y

sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales

como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión

27

remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext

Transfer Protocol).

• Transporte: Coincide con el nivel de transporte del modelo OSI. Los

protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los

datos y proporcionar la fiabilidad necesaria en el transporte de los mismos.

• Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se

encarga de enviar los paquetes de información a sus destinos correspondientes.

Es utilizado con esta finalidad por los protocolos del nivel de transporte.

• Enlace: Los niveles OSI correspondientes son el de enlace y el nivel físico. Los

protocolos que pertenecen a este nivel son los encargados de la transmisión a

través del medio físico al que se encuentra conectado cada host, como puede ser

una línea punto a punto o una red Ethernet.

El Protocolo TCP/IP funciona sobre algún tipo de red o de medio físico que proporcione

sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener

en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no

forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto

que una de las funciones y ventajas principales del TCP/IP es proporcionar una

abstracción del medio de forma que sea posible el intercambio de información entre

medios diferentes y tecnologías que inicialmente son incompatibles.

28

Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de

menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se

transfieren y, por otro lado, esto es algo común en cualquier protocolo de

comunicaciones. En TCP/IP cada una de estas unidades de información recibe el

nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como

mensajes independientes.

29

CAPITULO III

SISTEMAS INALAMBRICOS

3.1 BREVE INTRODUCCIÓN

El simple hecho de ser seres humanos nos hace desenvolvernos en medios donde

tenemos que estar comunicados. Por eso la gran importancia de la transmisión y la

recepción de información, y en la época actual donde los computadores hacen parte de

la cotidianidad, es necesario establecer medios de comunicación eficaces entre ellos.

Una de las tecnologías más prometedoras y discutidas en esta década es la de poder

comunicar computadoras mediante tecnología inalámbrica. La conexión de

computadoras mediante Ondas de Radio o Luz Infrarroja, actualmente está siendo

ampliamente investigado. Las Redes Inalámbricas facilitan la operación en lugares

donde la computadora no puede permanecer en un solo lugar, como en almacenes o en

oficinas que se encuentren en varios pisos. Pero la realidad es que esta tecnología está

todavía en pañales y se deben de resolver varios obstáculos técnicos y de regulación

antes de que las redes inalámbricas sean utilizadas de una manera general en los

sistemas de cómputo de la actualidad.

No se espera que las redes inalámbricas lleguen a remplazar a las redes cableadas. Estas

ofrecen velocidades de transmisión mayores que las logradas con la tecnología

inalámbrica. Mientras que las redes inalámbricas actuales ofrecen velocidades de 2

Mbps, las redes cableadas ofrecen velocidades de 10 Mbps y se espera que alcancen

30

velocidades de hasta 100 Mbps. Los sistemas de Cable de Fibra Óptica logran

velocidades aún mayores, y pensando futuristamente se espera que las redes

inalámbricas alcancen velocidades de solo 10 Mbps.

Sin embargo se pueden mezclar las redes cableadas y las inalámbricas, y de esta manera

generar una "Red Híbrida" y poder resolver los últimos metros hacia la estación. Se

puede considerar que el sistema cableado sea la parte principal y la inalámbrica le

proporcione movilidad adicional al equipo y el operador se pueda desplazar con

facilidad dentro de un almacén o una oficina.

3.2 CONCEPTOS GENERALES

3.2.1 Transmisión y Recepción Inalámbrica de Datos

La transmisión en este esquema se basa en radiar energía electromagnética por medio de

una antena y luego se recibe esta energía con otra antena.

Hay dos configuraciones para la emisión y recepción de esta energía: direccional y

omnidireccional. En la direccional, toda la energía se concentra en un haz que es

emitido en una cierta dirección, por lo que tanto el emisor como el receptor deben estar

alineados. En el método omnidireccional, la energía es dispersada en múltiples

direcciones, por lo que varias antenas pueden captarla. Cuanto mayor es la frecuencia de

la señal a transmitir, más factible es la transmisión unidireccional.

31

Por tanto, para enlaces punto a punto se suelen utilizar microondas (altas frecuencias)

Para enlaces con varios receptores posibles se utilizan las ondas de radio (bajas

frecuencias).

3.2.3 Medios de Transporte

* Microondas terrestres

Suelen utilizarse antenas parabólicas. Para conexionas a larga distancia, se utilizan

conexiones intermedias punto a punto entre antenas parabólicas.

Se suelen utilizar en sustitución del cable coaxial o las fibras ópticas ya que se necesitan

menos repetidores y amplificadores, aunque se necesitan antenas alineadas. Se usan

para transmisión de televisión y voz.

La principal causa de pérdidas es la atenuación debido a que las pérdidas aumentan con

el cuadrado de la distancia (con cable coaxial y par trenzado son logarítmicas). La

atenuación aumenta con las lluvias.

Las interferencias es otro inconveniente de las microondas ya que al proliferar estos

sistemas, pude haber más solapamientos de señales.

* Microondas por satélite

El satélite recibe las señales y las amplifica o retransmite en la dirección adecuada.

32

Para mantener la alineación del satélite con los receptores y emisores de la tierra, el

satélite debe ser geoestacionario.

Se suele utilizar este sistema para:

à Difusión de televisión.

à Transmisión telefónica a larga distancia.

à Redes privadas

El rango de frecuencias para la recepción del satélite debe ser diferente del rango al que

este emite, para que no haya interferencias entre las señales que ascienden y las que

descienden

Debido a que la señal tarda un pequeño intervalo de tiempo desde que sale del emisor

en la Tierra hasta que es devuelta al receptor o receptores, ha de tenerse cuidado con el

control de errores y de flujo de la señal.

Las diferencias entre las ondas de radio y las microondas son:

• Las microondas son unidireccionales y las ondas de radio omnidireccionales

• Las microondas son más sensibles a la atenuación producida por la lluvia.

• En las ondas de radio , al poder reflejarse estas ondas en el mar u otros objetos

33

3.2.3 Modulación

La modulación nace de la necesidad de transportar una información a través de un canal

de comunicación a la mayor distancia y menor costo posible. Este es un proceso

mediante el cual dicha información (onda moduladora) se inserta a un soporte de

transmisión.

3.2.4 Modulación ASK

ASK (Amplitudes-shift keying), es una modulación de amplitud donde la señal

moduladora (datos) es digital. Los dos valores binarios se representan con dos

amplitudes diferentes y es usual que una de las dos amplitudes sea cero; es decir uno de

los dígitos binarios se representa mediante la presencia de la portadora a amplitud

constante, y el otro dígito se representa mediante la ausencia de la señal portadora.

En el caso de la señal moduladora se representa de la siguiente manera:

Figura 10. Valores para la señal moduladora

Mientras que el valor de la señal de transmisión (señal portadora) es dado por:

34

vp(t) = Vp sen(2ð fp t)Figura 11. Valores para la Señal Portadora

Donde Vp es el valor pico de la señal portadora y fp es la frecuencia de la señalportadora.

Figura 12. Modulación ASK

35

3.3 Redes Inalámbricas

3.3.1 Características

Actualmente el término se refiere a comunicación sin cables, usando frecuencias de

radio u ondas infrarrojas. Entre los usos más comunes se incluyen a IrDA y las redes

inalámbricas de computadoras. Ondas de radio de bajo poder, como los que se emplean

para transmitir información entre dispositivos, normalmente no tienen regulación, en

cambio, transmisiones de alto poder requieren un permiso del estado para poder

trasmitir en una frecuencia específica.

Es una red en la cual los medios de comunicación entre sus componentes son ondas

electromagnéticas.

Sus principales ventajas son que permiten una amplia libertad de movimientos, facilita

la reubicación de las estaciones de trabajo evitando la necesidad de establecer cableado

y la rapidez en la instalación, sumado a menores costos que permiten una mejor

inserción en economías reducidas.

Existen dos amplias categorías de redes Inalámbricas:

1. De Larga Distancia.- Estas son utilizadas para transmitir la información

en espacios que pueden variar desde una misma ciudad o hasta varios

países circunvecinos (mejor conocido como redes de Área Metropolitana

36

MAN); sus velocidades de transmisión son relativamente bajas, de 4.8 a

19.2 Kbps.

2. De Corta Distancia.- Estas son utilizadas principalmente en redes

corporativas cuyas oficinas se encuentran en uno o varios edificios que

no se encuentran muy retirados entre si, con velocidades del orden de 280

Kbps hasta los 2 Mbps.

Existen dos redes de larga distancia: redes de Conmutación de Paquetes (públicas y

privadas) y redes Telefónicas Celulares. Estas últimas son un medio para transmitir

información de alto precio. Debido a que los módems celulares actualmente son más

caros y delicados que los convencionales, ya que requieren circuiteria especial, que

permite mantener la pérdida de señal cuando el circuito se alterna entre una célula y

otra. Esta pérdida de señal no es problema para la comunicación de voz debido a que el

retraso en la conmutación dura unos cuantos cientos de milisegundos, lo cual no se nota,

pero en la transmisión de información puede hacer estragos. Otras desventajas de la

transmisión celular son:

à La carga de los teléfonos se termina fácilmente.

à La transmisión celular se intercepta fácilmente (factor importante

en lo relacionado con la seguridad).

37

à Las velocidades de transmisión son bajas.

Todas estas desventajas hacen que la comunicación celular se utilice poco, o

únicamente para archivos muy pequeños como cartas, planos, etc... Pero se espera que

con los avances en la compresión de datos, seguridad y algoritmos de verificación de

errores se permita que las redes celulares sean una opción redituable en algunas

situaciones.

La otra opción que existe en redes de larga distancia son las denominadas: Red Pública

De Conmutación De Paquetes Por Radio. Estas redes no tienen problemas de pérdida

de señal debido a que su arquitectura está diseñada para soportar paquetes de datos en

lugar de comunicaciones de voz. Las redes privadas de conmutación de paquetes

utilizan la misma tecnología que las públicas, pero bajo bandas de radio frecuencia

restringidas por la propia organización de sus sistemas de cómputo.

3.3.2 Redes Wi – Fi

Wi-Fi (o Wi-fi, WiFi, Wifi, wifi) es un conjunto de estándares para redes inalámbricas

Creado para ser utilizado en redes locales inalámbricas, es frecuente que en la

actualidad también se utilice para acceder a Internet.

Wi-Fi es una marca de la Wi-Fi Alliance (anteriormente la Wireless Ethernet

Compatibility Alliance).

38

El problema principal que pretende resolver la normalización es la compatibilidad. No

obstante existen distintos estándares que definen distintos tipos de redes inalámbricas.

Esta variedad produce confusión en el mercado y descoordinación en los fabricantes.

Para resolver este problema, los principales vendedores de soluciones inalámbricas

(3com, Airones, Intersil, Lucent, Technologies, Nokia y Symbol Technologies) crearon

en 1999 una asociación conocida como WECA (Wireless Ethernet Compability

Aliance, Alianza de Compatibilidad Ethernet Inalámbrica) . El objetivo de esta

asociación fue crear una marca que permitiese fomentar más fácilmente la tecnología

inalámbrica y asegurase la compatibilidad de equipos.

De esta forma en abril de 2000 WECA certifica la interoperatibilidad de equipos según

la norma IEEE 802.11b bajo la marca Wi-Fi (Wíreless Fidelity, Fidelidad Inalámbrica).

Esto quiere decir que el usuario tiene la garantía de que todos los equipos que tenga el

sello Wi-Fi pueden trabajar juntos sin problemas independientemente del fabricante de

cada uno de ellos. Se puede obtener un listado completo de equipos que tienen la

certificación Wi-Fi en www.wirelessethernet.org/certified_products.asp.

En el año 2002 eran casi 150 miembros de la asociación WECA. Como la norma

802.11b ofrece una velocidad máxima de transferencia de 11 Mbps ya existen

estándares que permiten velocidades superiores, WECA no se ha querido quedar atrás.

Por ese motivo, WECA anunció que empezaría a certificar también los equipos IEEE

802.11a de la banda de 5 Ghz mediante la marca Wi-Fi5. La norma IEEE.802.11 fue

diseñada para sustituir a las capas físicas y MAC de la norma 802.3 (Ethernet). Esto

39

quiere decir que en lo único que se diferencia una red Wi-Fi de una red Ethernet, es en

la forma como los ordenadores y terminales en general acceden a la red; el resto es

idéntico. Por tanto una red local inalámbrica 802.11 es completamente compatible con

todos los servicios de las redes locales de cable 802.3 (Ethernet).

3.3.3 Redes Bluetooth

Bluetooth es el nombre común de la especificación industrial, que define un estándar

global de comunicación inalámbrica que posibilita la transmisión de voz y datos entre

diferentes dispositivos mediante un enlace por radiofrecuencia segura, globalmente y

sin licencia de corto rango. Los principales objetivos que se pretende conseguir con esta

norma son:

• Facilitar las comunicaciones entre equipos móviles y fijos.

• Eliminar cables y conectores entre éstos.

• Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la

sincronización de datos entre nuestros equipos personales.

Los dispositivos que con mayor intensidad utilizan esta tecnología son los de los

sectores de las telecomunicaciones y la informática personal, como PDAs, teléfonos

celulares, ordenadores portátiles, PCs, impresoras y cámaras digitales.

La tecnología Bluetooth comprende hardware, software y requerimientos de

interoperatividad, por lo que para su desarrollo ha sido necesaria la participación de los

40

principales fabricantes de los sectores de las telecomunicaciones y la informática, tales

como: Ericsson, Nokia, Motorola, Toshiba, IBM e Intel, entre otros. Posteriormente se

han ido incorporando muchas más compañías, y se prevé que próximamente lo hagan

también empresas de sectores tan variados como automatización industrial, maquinaria,

ocio y entretenimiento, fabricantes de juguetes, electrodomésticos, etc., con lo que en

poco tiempo se nos presentará un panorama de total conectividad de nuestros aparatos

tanto en casa como en el trabajo.

El nombre Bluetooth procede del rey danés y noruego Harald Blåtand cuya traducción

al inglés sería Harold Bluetooth (Diente Azul, aunque en lengua danesa significa 'de tez

oscura') conocido por unificar las tribus noruegas, suecas y danesas.

De la misma manera, Bluetooth intenta unir diferentes tecnologías como las de los

ordenadores, los teléfonos móviles y el resto de periféricos. El símbolo de Bluetooth es

la unión de las runas nórdicas H y B.

En 1994, Ericsson inició un estudio para investigar la viabilidad de una nueva interfaz

de bajo costo y consumo para la interconexión vía radio (eliminando así cables) entre

dispositivos como teléfonos móviles y otros accesorios. El estudio partía de un largo

proyecto que investigaba unos multicomunicadores conectados a una red celular, hasta

que se llegó a un enlace de radio de corto alcance, llamado MC link. Conforme este

proyecto avanzaba se fue haciendo claro que éste tipo de enlace podía ser utilizado

ampliamente en un gran número de aplicaciones, ya que tenía como principal virtud que

se basaba en un chip de radio.

41

Bluetooth proporciona una vía de interconexión inalámbrica entre diversos aparatos que

tengan dentro de sí esta tecnología, como móviles (Nokia 6600), consolas (Nokia N-

Gage), dispositivos PDA, cámaras digitales, computadoras portátiles, impresoras, o

simplemente cualquier dispositivo que un fabricante considere oportuno, usando

siempre una conexión segura de radio de muy corto alcance. El alcance que logran tener

estos dispositivos es de 10 metros para ahorrar energía ya que generalmente estos

dispositivos utilizan mayoritariamente baterías. Sin embargo, se puede llegar a un

alcance de hasta 100 metros (similar a Wi-Fi) pero aumentando el consumo energético

considerablemente. Para mejorar la comunicación es recomendable que nada físico

como por ejemplo una pared se interponga.

El primer objetivo para los productos Bluetooth de primera generación eran los entornos

de la gente de negocios que viaja frecuentemente. Esto originaba una serie de cuestiones

previas que deberían solucionarse tales como:

• El sistema debería operar en todo el mundo.

• El emisor de radio deberá consumir poca energía, ya que debe integrarse en

equipos alimentados por baterías.

• La conexión deberá soportar voz y datos, y por lo tanto aplicaciones multimedia.

• La tecnología debería tener un bajo costo. Como objetivo se quiso alcanzar los 5

US $ por dispositivo.

• Muchos celulares han adquirido esta característica que por lo general es un gran

avance.

42

La especificación de Bluetooth define un canal de comunicación de máximo 720 kb/s (1

Mbps de capacidad bruta) con rango óptimo de 10 metros (opcionalmente 100 m con

repetidores).

La frecuencia de radio con la que trabaja está en el rango de 2,4 a 2,48 GHz con amplio

espectro y saltos de frecuencia con posibilidad de transmitir en Full Duplex con un

máximo de 1600 saltos/s. Los saltos de frecuencia se dan entre un total de 79

frecuencias con intervalos de 1Mhz; esto permite dar seguridad y robustez.

La potencia de salida para transmitir a una distancia máxima de 10 metros es de 0 dBm

(1 mW), mientras que la versión de largo alcance transmite entre 20 y 30 dBm (entre

100 mW y 1 W).

Para lograr alcanzar el objetivo de bajo consumo y bajo costo, se ideó una solución que

se puede implementar en un solo chip utilizando circuitos CMOS. De esta manera, se

logró crear una solución de 9x9 mm y que consume aproximadamente 97% menos

energía que un teléfono celular común.

El protocolo de banda base (canales simples por línea) combina conmutación de

circuitos y paquetes. Para asegurar que los paquetes no lleguen fuera de orden, los slots

pueden ser reservados por paquetes síncronos, un salto diferente de señal es usado para

cada paquete. Por otro lado, la conmutación de circuitos puede ser asíncrona o síncrona.

Tres canales de datos síncronos (voz), o un canal de datos síncrono y uno asíncrono,

pueden ser soportados en un solo canal. Cada canal de voz puede soportar una tasa de

43

transferencia de 64 kb/s en cada sentido, la cual es suficientemente adecuada para la

transmisión de voz. Un canal asíncrono puede transmitir como mucho 721 kb/s en una

dirección y 56 kb/s en la dirección opuesta, sin embargo, para una conexión asíncrona

es posible soportar 432,6 kb/s en ambas direcciones si el enlace es simétrico.

3.3.4 Redes GSM

Global System for Mobile communications (Sistema Global para las Comunicaciones

Móviles), anteriormente conocida como "Group Special Mobile" (GSM, Grupo

Especial Móvil) es un estándar mundial para teléfonos móviles digitales. El estándar fue

creado por la CEPT y posteriormente desarrollado por ETSI como un estándar para los

teléfonos móviles europeos, con la intención de desarrollar una normativa que fuera

adoptada mundialmente. El estándar es abierto, no propietario y evolutivo (aún en

desarrollo). Es el estándar predominante en Europa, así como el mayoritario en el resto

del mundo (alrededor del 70% de los usuarios de teléfonos móviles del mundo en 2001

usaban GSM).

GSM difiere de sus antecesores principalmente en que tanto los canales de voz como las

señales son digitales. Se ha diseñado así para un moderado nivel de seguridad.

GSM emplea una modulación GMSK (Gaussian Minimum Shift Keying) obtenida a

partir de una modulación MSK que es un tipo especial de FSK. Para el acceso en el

interfaz radio o Abis se utiliza el sistema TDMA de banda estrecha (Time Division

Multiple Access) entre la estación base y el teléfono celular utilizando 2 de canales de

44

radio de frecuencia dúplex. Para minimizar las fuentes de interferencia y conseguir una

mayor protección se utiliza el (frequency hopping) o salto en frecuencia entre canales,

con una velocidad máxima de 217 saltos/S. y siempre bajo mandato de la red.

GSM tiene cuatro versiones principales basadas en la banda: GSM-850, GSM-900,

GSM-1800 y GSM-1900. GSM-900 (900 MHz) y GSM-1800 (1,8 GHz) son utilizadas

en la mayor parte del mundo, salvo en Estados Unidos, Canadá y el resto de América

Latina que utilizan el CDMA, lugares en los que se utilizan las bandas de GSM-850 y

GSM-1900 (1,9 GHz), ya que en EE.UU. las bandas de 900 y 1800 MHz están ya

ocupadas para usos militares.

Inicialmente, GSM utilizó la frecuencia de 900 MHz con 124 pares de frecuencias

separadas entre si por 200 kHz, pero después las redes de telecomunicaciones públicas

utilizaron las frecuencias de 1800 y 1900 MHz, con lo cual es habitual que los teléfonos

móviles de hoy en día sean tribanda.

El GSM, se puede dedicar tanto a voz como a datos, una llamada de voz utiliza un

codificador GSM específico a velocidad total de 13Kbits/s, posteriormente se desarrolló

un codec a velocidad mitad de 6,5 kbits/s que permitirá duclicar la capacidad de los

canales TCH, se denomina FR (Full Rate) y HR (Half Rate)

Una conexión de datos, permite el que el usuario utilice el móvil como un módem de

9600 bps, ya sea en modos circuito o paquetes en régimen síncrono/asíncrono. También

45

admiten servicios de datos de una naturaleza no transparente con una velocidad neta de

12 kbits/s.

Las implementaciones más veloces de GSM se denominan GPRS y EDGE, también

denominadas generaciones intermedias o 2.5G, que conducen hacia la tercera

generación 3G o UMTS.

Los nuevos teléfonos GSM pueden ser controlados por un conjunto de comandos

estandarizados Hayes AT, mediante cable o mediante una conexión inalámbrica (IrDA o

Bluetooth, este último incorporado en los teléfonos actuales).

46

CAPITULO IV

IDENTIFICACIÓN DEL ENTORNO DE TRABAJO

4.1 Elementos Disponibles

Sin duda alguna este es uno de los puntos vitales para este proyecto, puesto que

dependiendo de la cantidad de equipos con las características requeridas (1), se puede

estimar características propias para la atención del personal que ingresa al laboratorio

como son:

• Tiempo de atención.

• Tiempo de espera en fila.

• Disponibilidad de Equipos.

Para determinar el impacto que tienen los anteriores aspectos sobre el funcionamiento

del laboratorio se han identificado los elementos más relevantes para este proyecto:

HARDWARE:

à Computadores: 15 computadores de escritorio.

à Monitores: 15 monitores asociados a cada computador.

à Puntos de Red: 30 puntos de acceso a la red local del laboratorio.

à Dispositivos de red: 2 switch´s.

47

à Cables de comunicación: 30 cables de red.

SOFTWARE (estándar instalado):

à Sistema operativo: Windows Xp sp1, con un total de 37 copias.

à Software específico: Mplab 7.0, Labview 7.0 Express, FluidSim 3.0 demo,

Microgrades, Acrobat Reder 5.0.

4.2 Viabilidad del proyecto

Entrando en detalle, se debe garantizar el correcto funcionamiento del proyecto, para lo

cual se utilizó un sistema de simulación probabilística, con el cual se pueden analizar

elementos y condiciones de uso, lo que en últimas es valioso para la implementación del

sistema de control.

Para determinar las condiciones de atención y disponibilidad de los equipos existentes,

se ha utilizado para este fin el software de simulación discreta WINQSB, y

particularmente en su entorno de trabajo Queuing Analysis:

48

Figura 13. Software de Simulación Discreta

Por medio de este programa se procede a elaborar un proyecto nuevo:

Figura 14. Gestor de Proyectos

49

Luego se asignan los campos de nombre y unidades de tiempo.

Figura 15. Asignación de Unidades

Una vez asignados los parámetros de nombre y unidad de tiempo procedemos a definir

nuestro problema el cual se establecen las siguientes condiciones:

• Se dispone de 1 Laboratorista.

• La tasa disponibilidad es de 30 personas por clase.

• El promedio de usuarios que llegan al laboratorio es de 30 por clase.

50

Figura 16. Condiciones Iniciales del Problema

Con la anterior información se procede a configurar la simulación con 1000 iteraciones

con el método FIFO:

Figura 17. Configuración del Análisis

51

Luego de esto procedemos a dar inicio al proceso de simulación el cual arroja los

siguientes resultados:

Figura 18. Resultados de la Simulación

Con lo que podemos determinar lo siguiente:

** El porcentaje de uso del sistema es 66.01%, lo que indica que es medio, lo que

sugiere que en una situación donde el número de alumnos puede superar

levemente los 20 habría una capacidad de atención adecuada hasta los 30

alumnos.

52

** El número promedio de usuarios en el sistema es de 20, lo cual concuerda con el

número de usuarios por computador que existe.

** La probabilidad de encontrar todos los computadores ocupados dentro del

sistema es del 33%.

** El promedio de alumnos en la fila de espera es de 1.

53

CAPITULO V

DISEÑO DE LOS SISTEMAS DE TRANSMISIÓN YRECEPCIÓN DE DATOS

5.1 MÓDELO DE COMUNICACIÓN

Como una forma de comprender el funcionamiento y operación del sistema para el

control de aplicaciones se ha diseñado un esquema en el cual un computador central,

atiende las solicitudes de los clientes quienes hacen sus respectivos requerimientos por

medio de la red ethernet y dependiendo del estado o disponibilidad de la misma reciben

la respuesta por medio del la red ethernet o a través del sistema inalámbrico.

Se escogió este modelo de funcionamiento ya que ofrece características de cobertura y

respuesta optimas ya que si el sistema solo hubiese sido concebido para ejercer la

comunicación por medio de la red de computadoras, no se podría sobre llevar o

controlar un evento como lo es el mantenimiento de la red o algún tipo de sabotaje, cabe

aclarar que el sistema inalámbrico propuesto es un sistema auxiliar de apoyo y que en

ningún momento reemplaza la totalidad de las funciones de la comunicación por red

ethernet. Es decir, en que en el momento que se suspenda el servicio de la red ethernet o

sistema principal de información entra en funcionamiento la red inalámbrica para

soportar el control de los equipos y su uso, como se muestra en el siguiente esquema:

55

5.2 Requerimientos de Hardware

Los requisitos para el funcionamiento del proyecto son:

à Computador basado en el procesador x86

à Procesador con frecuencia mínima de Pentium 200 MHz.

à Espacio libre en disco de 10 Mb

à Sistema operativo Windows 95 o superior.

à Puerto serial de 9 pines

5.3 Selección de componentes

5.3.1 Módulos RF

Los módulos de radio frecuencia escogidos para este proyecto son componentes para el

control de aplicaciones de forma inalámbrica:

à TLP434A (Transmisor)

à RLP434A (Receptor)

Estos dos componentes se caracterizan por su buena calidad al momento de

acondicionar las señales para ser transmitidas, lo que los hace ser una de las mejores

56

opciones para el control de aplicaciones vía radio frecuencia, a continuación se detallan

más características de estos módulos:

TLP434A (Transmisor)Dimensiones Ancho Alto Unidad

10.3 13.3 MilímetrosVoltaje de Trabajo Mínimo Máximo Unidad

2 12 VoltiosFrecuencia de Modulación Mínimo Máximo Unidad

314.8 315.2 MHzPotencia Entregada Mínimo Máximo Unidad

14 16 dBmTemperatura de Trabajo Mínimo Máximo Unidad

-2 25 CentígradosTransmisión de Bits Mínimo Máximo Unidad

512 200K bps

Tabla 2. Características principales del Circuito Transmisor

RPL434A (Receptor)Dimensiones Ancho Alto Unidad

43.42 11.5 MilímetrosVoltaje de Trabajo Mínimo Máximo Unidad

3.3 6 VoltiosFrecuencias de Demodulación 315 MHz 418 MHz 433.92MHzAncho de Banda 4 KHzDistancia Máxima de Recepción 100 metrosPotencia Disipada Mínimo Máximo Unidad

0 -110 dBmTemperatura de Trabajo Mínimo Máximo Unidad

-20 80 CentígradosTransmisión de Bits Mínimo Máximo Unidad

512 200K bps

Tabla 3. Características principales del Circuito Receptor

57

Dadas las características anteriores de los módulos y a su fácil consecución en el

mercado, se utilizaron para este proyecto por su buen alcance de transmisión. Sin lugar

a dudas una de las más fascinantes características de estos módulos es su fácil

instalación ya que poseen pocos pines y su interfase de comunicación es serial, lo que

implica un considerable ahorro de espacio.

5.3.2 Lenguaje de Programación

La herramienta de programación utilizada para este proyecto es Borland C++ Builder

6.0 de la Compañía Borland Software Inc. Este es un entorno de programación

desarrollado para aplicaciones de alto rendimiento y eficiencia, su interfaz gráfica y su

buena documentación hicieron que fuera la herramienta indicada para desarrollar las

aplicaciones del proyecto. Borland C++ Builder provee soporte para el lenguaje de

programación C, el cual es antecesor de C++, incluye innumerables herramientas para el

desarrollo de aplicaciones como lo son control integrado de excepciones lo que quiere

decir que se pueden monitorear “trazar” las anomalías de un programa cuando falla y en

consecuencia corregirlas. Borland C++ Builder no solo incluye soporte para la

tecnología basada en C, también incluye herramientas como el diseño de librerías,

aplicaciones gráficas, procesos remotos, entre otros. Sin duda este paquete de software

esta acorde al desarrollo que se desea de en el proyecto por lo anterior y por ser un

ambiente robusto y seguro por esto se escogió para desarrollar la plataforma distribuida

de esta Tesis.

58

5.4 Implementación del Sistema Inalámbrico

5.4.1 Consideraciones Técnicas

Como se vio en la sección 5.1.1 de este capitulo, se escogieron módulos RF dada su

versatilidad y fácil instalación, ahora bien, estos módulos pueden operar entre voltajes

comprendidos entre 5 y 12 voltios los cuales podemos obtener de diversas formas:

à Transformación de energía

à Uso de baterías

En este caso utilizaremos el método de Transformación de energía, provisto por el

mismo PC, es decir la fuente de alimentación de los circuitos del computador. En

esencia usaremos 5 voltios, como es de suponer es muy engorroso tomar la energía de

uno de los conectores libres de la salida de la fuente, por lo cual utilizaremos la energía

provista por el puerto serial del computador.

Cabe anotar que del mismo puerto obtendremos:

à Alimentación

à Comunicación serial

59

Y en detalle la descripción de los pines y su función:

Pin Señal Descripción E/S1 - Masa chasis -3 TxD Transmit Data S2 RxD Receive Data E7 RTS Request To Send S8 CTS Clear To Send E6 DSR Data Set Ready E5 SG Signal Ground -1 CD/DCD (Data) Carrier Detect E- TxC(*) Transmit Clock S- RxC(*) Receive Clock E4 DTR Data Terminal Ready S9 RI Ring Indicator E- RTxC(*) Transmit/Receive Clock S

Tabla 4. Pines y funciones del puerto serial

Como el tipo de sincronización entre los datos enviados y recibidos será asíncrona

utilizaremos 4 de los 9 pines para este propósito:

Pin Señal Descripción E/S3 TxD Transmit Data S2 RxD Receive Data E4 DTR Data Terminal Ready S5 Sg Signa Ground E

Tabla 5. Pines del puerto utilizados en el proyecto

60

Pero hasta este momento no es claro ¿Cómo? ó ¿De Dónde? Se va a sustentar el

suministro de un voltaje continuo, así que se realizó lo siguiente:

<<Provocar que el pin 4 tenga siempre una señal alta ósea 5 voltios, con esto podemos

aprovechar la diferencia de potencial para que el sistema se alimente, como se observa

en la figura: >>

Figura 19. Alimentación desde el puerto serie

Para lograr un nivel alto en el puerto lógicamente debemos programar el PC para que

brinde esta configuración.

Otro aspecto técnico a considerar para la implementación del sistema inalámbrico tiene

que ver con la adquisición y recepción de datos desde y hacia el puerto serial. Para lo

cual utilizaremos un dispositivo que sirva de interfase entre el puerto de comunicaciones

y el sistema inalámbrico, para lo cual se escogió un semiconductor integrado, el

MAX232, este semiconductor es típicamente utilizado en el sector de las

comunicaciones seriales por su eficiencia, operabilidad, y fácil montaje.

61

El Max232 es la herramienta que servirá de puente entre el computador y el sistema

electrónico acoplando las señales de niveles TTL (0-5 voltios) a niveles lógicos de

puerto (-15 a 15 voltios).

A continuación se presentan más características de funcionamiento del semiconductor:

Tabla 6. Características del max232

5.4.2 Desarrollo y Construcción de los Sistemas Transmisor y Receptor

Teniendo en cuenta las consideraciones técnicas y requisitos para la puesta en marcha

del sistema inalámbrico y de comunicaciones, se procede al diseño propio del sistema,

lo primero es localizar el puerto que se usará en este proyecto el cual está ubicado en la

parte posterior de los computadores.

Una vez se identifica el puerto se escribe un programa de computador para generar la

señal de alimentación del circuito, el programa se realizó con el lenguaje de

programación Borland C++ Builder, aunque realmente no importa cual sea el lenguaje

62

de programación ya que en este caso se trabajó con una aplicación la cual esta escrita en

lenguaje C, así que cualquier herramienta intérprete de este lenguaje funciona, a

continuación se muestra tanto el algoritmo como el programa desarrollado:

Inicio

Configuración del puerto

Encender el puerto

Estado del puerto Notificación al Usuario

SÍ ON / OFF NO

Fin

Figura 20. Algoritmo Generador de Voltaje continuo en el Puerto Serial

63

#include “iostream.h”

Int estado = 0;Int main(){

While(1){

If(estado == 0){

__asm{Mov al, 32Mov dx, 3F8Out dx, alLea dx, estado}

}Else{cout<<”Error en el puerto, revise la configuración local !”;return(0);}

}Return(0);}

Tabla 7. Rutina para generar una señal alta en el puerto serial

Con la anterior solución por software, obtenemos una fuente segura de alimentación

para alimentar tanto el circuito transmisor como el receptor.

64

5.4.2.1 CIRCUITO TRANSMISOR

Para empezar, y como ya se hablo, el circuito se compone de 3 bloques funcionales que

son; el computador, la unidad de acople serial y la unidad de transmisión inalámbrica:

PC INTERFASE RF

Figura 21. Diagrama de Bloques Funcionales del Circuito Transmisor

La interfase se realiza utilizando el circuito integrado MAX232, dado que este ofrece

alto aislamiento eléctrico entre las partes, garantizando la no interferencia de

perturbaciones desde los componentes. Es claro que como se necesita una comunicación

de tipo Simplex, lo que quiere decir que solo se realiza el proceso de transmisión ó el de

recepción de datos pero no los dos, utilizaremos ambos canales del MAX232 para tal

propósito:

Figura 22. Canales de datos del MAX232

65

Además como la comunicación es de tipo asíncrona, utilizaremos los pines

correspondientes a Rx(recepción), Tx(transmisión) y Gnd(tierra), una vez hecho esto, se

procede a enlazar la interfase con el computador que actúa como dispositivo de

procesamiento con el cual se manejarán las respectivas instrucciones que serán enviadas

hasta un destino remoto que será analizado en detalle más adelante.

Siguiendo el esquema de conexión y distribución de pines brindado por el fabricante de

la interfase se conectan tanto el buffer de entrada como el de salida del MAX232 hacia

los pines 3 y 5 del puerto serial.

Figura 23. Diagrama de conexión pin a pin entre el puerto serial y el max232

66

Con el objetivo de detectar la presencia del dispositivo electrónico y otras funciones se

han escrito una serie de tramas o secuencia de caracteres que se utilizaran para el

proceso de comunicación entre el PC y el circuito transmisor como se muestra a

continuación:

Trama Enviada Trama de Respuesta Descripción

Cok Cok Indica la conexión.

c = conectado

ok = ok

Dok Dok Indica la desconexión.

d = desconectado

ok = ok

Txxxux Txok Asigna tiempo a un usuario

t = tiempo

xxx = cifra en minutos

u = usuario

x = número de usuario

Hux Huxok Habilita un usuario

h = habilita

u = usuario

x = número del usuario

ok = ok

67

Dux Duxok Deshabilita un usuario

d = deshabilita

u = usuario

x = número del usuario

ok = ok

Pxux Pxuxok Asigna perfil a un usuario

p = perfil

x = tipo de perfil

u = usuario

x = número del usuario

ok = ok

Tabla 8. Tramas enviadas desde El PC hacia el Circuito Transmisor

Con las anteriores tramas se pretende simplificar la transmisión directa de las

instrucciones desde el puerto hacia el módulo RF ya que es una forma mucho más

simplificada de realizarlo ya que no se satura el puerto de información voluminosa sino

de instrucciones sutiles para ser interpretadas, cabe anotar que evidentemente todo esto

se logra gracias al SISTEMA DISTRIBUIDO, ya que este en últimas se encarga de

generar las tramas hacia el puerto para que sean transmitidas, por lo cual a éste sistema

se le dedica el próximo capitulo para su análisis.

68

5.4.2.2 CIRCUITO RECEPTOR

Al igual que el circuito transmisor, el receptor se compone de 3 bloques funcionales que

son; la unidad de Recepción Inalambrica, la unidad de acople serial y el computador:

RF INTERFASE PC

Figura 24. Diagrama de Bloques Funcionales del Circuito Transmisor

Y considerando que el receptor también deberá comunicarse de forma simplex, se hace

conexión con el pín 2 del puerto serial hacia el circuito de interfase ya que este recibe

los datos provenientes del exterior, como se muestra en la figura:

Figura 25. Conexión entre Reeceptor RF, el circuito de Interfase Max232

y el Puerto Serie

69

El circuito receptor, recibe las tramas (véase la tabla 8) emitidas por el transmisor, las

cuales son remoduladas por el circuito RPL434 que las convierte de nuevo a formato

digital por medio del adaptador de puerto MAX232 quien por último entrega estos datos

al puerto serie para su procesamiento en la aplicación Cliente, la cual se analizará más

adelante.

Las conexiones se realizaron en base a la hoja de datos técnicos suministrada por el

fabricante y se encuentra en el anexo A de éste documento.

5.4.3 Pruebas Piloto

Puesto que hasta este momento no contamos con una aplicación para la generación y

recepción de las tramas de control del sistema podemos utilizar una opción de

comunicación serial, que en este caso es Hyperterminal, la cual es un programa de

comunicaciones ofrecido con el sistema operativo Windows, para lo cual debemos

configurarlo y conectar el dispositivo de transmisión inalámbrica al puerto:

70

Figura 26. Hyperterminal de Windows

Figura 27. Selección del puerto

71

Figura 28. Configuración del puerto en Hyperterminal

La prueba piloto que se realizó para comprobar que el dispositivo respondía a las

instrucciones enviadas desde el PC, fueron simuladas por medio de Hyperterminal de la

siguiente forma:

à En la consola de edición de hyperterminal se escribió la trama “cok” para la

cual se recibió la respuesta esperada “cok”

à En la consola de edición de hyperterminal se escribió la trama “T001u1”

para la cual se recibió la respuesta esperada “T001u1ok”

72

Figura 29. Respuesta del Sistema Inalámbrico

Una vez comprobado que el sistema responde se puede decir que las pruebas fueron

satisfactorias ya que las tramas fueron respondidas correctamente por el

Microcontrolador lo que supone que el proceso de comunicación fue exitoso y que las

instrucciones son correctas.

5.4.4 Puesta en funcionamiento

Una vez aprobadas las pruebas piloto es necesario montar el sistema inalámbrico en una

placa especial para poder soldar los componentes de tal forma que estén sujetos, así que

por medio del programa Eagle 4.11 de CadSoftUsa, se diseño el circuito impreso para

73

su posterior “quemado” en una baquela o placa universal, a continuación se presenta el

diseño de la baquela para el transmisor y el receptor:

Figura 30. Placa de conexión del sistema Transmisor de datos

Figura 31. Placa de Conexión del sistema Receptor de datos

74

5.5 Implementación del Sistema Distribuido

5.5.1 Identificación del Entorno

En una visita programada realizada el día 1 de Agosto de 2006 se encontraron 15

computadores para uso de los estudiantes y 2 computadores para uso de los

laboratoristas, se encontró que los 9 computadores tenían sistema operativo Windows

XP; puerto serial; puerto de red ethernet, y que todos ellos pueden ser conectados a una

red local que existente en el sitio por medio de un switch de 24 puertos, por lo que se

puede perfectamente implementar el Sistema Distribuido sin inconvenientes.

5.5.2 Requisitos previos

Para implementar las aplicaciones tanto cliente como servidor en los computadores

objeto de estudio es necesario que los mismo cuenten con el sistema operativo Windows

95 o superior, puerto serial y un procesador superior o igual al Pentium MMX de 200

MHz, puerto de comunicación en red ethernet, y estar conectados a una red como se

muestra en la siguiente figura:

75

Figura 32. Computadores en Red por medio de un Switch

Es necesario que el dispositivo de permite la comunicación entre los computadores

preferiblemente sea un switch con capacidad para manejar canales de 10Mb hasta

100Mb con el objetivo de que la comunicación entre el computador que esta provisto

con la aplicación servidor sea más rápida con los computadores que tienen incorporado

la aplicación cliente.

Una vez tenidos estos requisitos se puede dar inicio al proceso de instalación del

software cliente y servidor en los computadores.

76

5.5.3 Desarrollo de la Aplicación Servidor

Teniendo en cuenta que el sistema se basa en la metodología Cliente-Servidor y de

acuerdo al propósito de este sistema en particular se tienen 2 servidores:

à Servidor de Aplicación de Control

à Servidor de Base de Datos

Esto con el objetivo de descentralizar las operaciones, el Servidor de Aplicación se

encarga de recibir y procesar las solicitudes de los clientes mientras que el Servidor de

Base de Datos contiene la información concerniente a los permisos de los clientes para

realizar alguna actividad, con esto las operaciones de los clientes son recibidas por el

Servidor son interpretadas por el y consultadas ante el Servidor de Base de Datos para

enviar una respuesta al cliente, como se muestra en la figura:

Figura 33. Modelo Cliente Servidor Propuesto

77

El esquema cliente servidor propuesto como se puede apreciar requiere para su

funcionamiento 2 máquinas que sirvan de servidores para atender a un número

indeterminado de clientes, por lo que la aplicación de aplicación estará ubicada en el

computador de la persona encargada del laboratorio, mientras que la base de datos se

ubicó en un computador alterno al sitio de operación.

El protocolo de comunicaciones utilizado en toda la red es el TCP – IP que en realidad

es el uso de dos protocolos el TCP y el IP vistos en la sección 6.4.1 de este documento,

evidentemente el esquema que se esta siguiendo es de tipo LAN ya que el alcance de

esta red en particular se define para un conjunto definido de computadores.

Los servicios que ofrece este modelo son el servicio de Base de Datos y el de Servicio

de Software de Grupo vistos en la sección 2.5.2 de este documento, la arquitectura que

se decidió entonces implantar se adapta a una arquitectura Cliente Servidor de Tres

capas (sección 2.5.4) donde las capas son:

à Clientes (capa de Presentación)

à Servidor (capa de Aplicación)

à Base de Datos (capa de datos)

Como ya se había mencionado la herramienta de programación escogida para

desarrollar las aplicaciones fue Borland C++ Builder 6.0, así que se lo primero que se

78

hizo fue evaluar que requerimientos debía tener el servidor, que en ultimas seria

manejado por los laboratoristas para hacer la gestión correspondiente a la asignación de

equipos, por lo que se diseño una aplicación con ambiente gráfico con las siguientes

funciones:

• Detección de los clientes conectados.

• Habilitación o Deshabilitación de los clientes.

• Asignación de Tiempo.

• Reportes históricos de uso

A continuación se explican estas funciones:

Detección de los clientes conectados

Función que permite establecer cuando un computador está conectado al servidor, es de

gran utilidad cuando se requiere saber rápidamente el estado de un equipo.

Habilitación o Deshabilitación de los Clientes

Esta función permite que desde el computador central el laboratorista asigne el uso de

un equipo a la persona interesada en utilizarlo.

79

Asignación de Tiempo

Permite al laboratorista asignar el uso de un equipo con un límite de tiempo para la

persona que lo utiliza, la medida del tiempo esta definida en minutos.

Reportes históricos de uso

Consiste en almacenar información en la base de datos para luego ser presentado en

forma de reportes gráficos que informan el estado, y características de uso de las

estaciones, estos reportes pueden ser emitidos según fecha o por equipos solicitados.

Figura 34. Interfase gráfica de la aplicación Servidor.

Como se puede ver en la figura 34, existe un pequeño panel de control por cada cliente

que exista dentro del sistema, este panel consiste en 2 botones que son: Activar y

80

Desactivar, los cuales de forma inmediata cambian sobre el cliente específico su estado

de operación bajo cualquier situación, es decir, si un cliente se encuentra en

funcionamiento ejecutando cualquier tarea dejara de interactuar con el usuario y

continuar con su tarea sin necesidad de apagar el computador en cuestión. Y sólo se

puede activar o habilitar desde el computador donde esté instalada la aplicación servidor

que en este caso es el computador de la persona encargada en el laboratorio. También se

puede ver que en cada cliente se tiene una casilla, el propósito de esta casilla es asignar

un determinado número que equivale a los minutos que estará dicha estación activa, una

vez se vence el tiempo fijado el computador cliente queda en un estado de no

interacción con el usuario o inactivo.

También se puede observar dentro de la aplicación servidor, las opciones Reporte y

Salir. El botón identificado como Reporte se encarga de presentar al usuario un

formulario de criterios para la generación de un reporte de uso de la máquina cliente,

esto con el objeto de determinar:

à Tiempos de Mantenimiento

à Operación de la Máquina

à Rendimiento

à Nivel del Servicio Prestado

81

Figura 35. Generador de Reportes

Figura 36. Resultado del Reporte

82

Como los computadores de los usuarios en estado inicial estarán limitados a la

aprobación del laboratorista lo que quiere decir que las aplicaciones cliente y servidor se

deben comunicar por medio de la red, se hará uso de sockets para transportar las tramas

de información (sección 5.4.2.1) desde el cliente hasta el servidor.

Para que la comunicación se pueda llevar a cabo de forma satisfactoria se debe seguir

un orden el cual establece que el servidor debe estar listo a recibir peticiones de sus

clientes para procesarlas por lo que se debe crear y configurar el socket en el servidor

para que “Escuche” todas y cada una de las peticiones que se le hagan, si la petición que

se le hace al servidor es comprendida por el según las tramas de información entonces el

servidor de Aplicación hará una consulta al Servidor de la Base de Datos para

determinar que permisos se pueden asignar al cliente, ya con esta información el

Servidor de Aplicación devolverá una respuesta consecuente a la solicitud.

De una manera más formal, se hizo uso de las herramientas de análisis vistas en la

asignatura Ingeniería de Software, para la identificación de los componentes que

intervienen en la aplicación Servidor, dicho análisis se muestra a continuación:

83

REPORTAtributos:CamposFormatoFunciones:Mostrar la información del Cliente

SOCKETPARAMETROS Atributos:Atributos: Puerto IPEstado del cliente Dirección IPNombre del cliente Buffer de entradaTrama generada Buffer de SalidaFunciones: Funciones:Configurar el futuro estado del cliente Establecer la comunicación con los clientesEnviar la configuración al socket Enviar información a los clientes

Recibir información de los clientesEnviar información a la base de datos

VISUALIZADOR Recibir información de la base de datosAtributos:Características del clienteEstado actual del clienteFunciones:Informar el estado actual del clienteInformar el estado asignado al cliente

Figura 37. Diagrama de Objetos de la Aplicación Servidor

Como se puede apreciar el objeto más importante es el socket puesto que este se

encarga de establecer la comunicación, envío y recepción de información a los objetos

locales como lo son el visualizador y el reporte, el socket como elemento central de esta

aplicación es en ultimas quien dirige el funcionamiento de la aplicación cliente, la cual

no es autónoma para tomar decisiones sin antes haber sido notificada y por el servidor.

El código Fuente de la aplicación se encuentra en el Anexo B de este documento.

84

5.5.4 Desarrollo de la Aplicación Cliente

Esta aplicación cumple con la función de atender las solicitudes de los usuarios con

respecto al uso que le quieran dar al computador, el principal requisito para que esta

aplicación sea funcional es que la aplicación servidor esté funcionando, puesto que si no

es así la aplicación no podrá realizar las solicitudes indicadas.

Dentro de las funciones principales de la aplicación están:

à Bloquear el equipo hasta que se haga una solicitud de habilitación y a su vez

esta sea validada.

à Informar al servidor el estado del equipo

à Controlar que la solicitud realizada al servidor sea cumplida a cabalidad.

à Interactuar fácilmente con el usuario.

Figura 38. Ambiente Gráfico de la aplicación Cliente.

Al igual que la aplicación Servidor, la aplicación cliente debe crear y configurar un

socket para que se “conecte” al servidor, al cual por medio del socket se le enviara la

solicitud en forma de tramas para que sea procesada y respondida.

85

Una vez más utilizando Ingeniería de Software se identificaron los objetos que

intervienen en la aplicación como se muestra a continuación:

SOCKET VISUALIZADORAtributos: Atributos:Puerto IP Tiempo transcurridoDirección IP Tiempo AsignadoBuffer de entrada Funciones:Buffer de Salida Informar al cliente el estado de la conexiónFunciones: Informar al cliente el tiempo de activaciónEstablecer la comunicación con el servidorEnviar información al servidorRecibir información de los clientes SISTEMA DE BLOQUEOEnviar información del servidor Atributos:

Evasión de ordenes del clienteTiempo de ejecución de bloqueoFunciones:Impedir que el cliente interactúe luego de untiempoDeshabilitar las funciones del escritorioDeshabilitar el uso de aplicaciones

Figura 39. diagrama de objetos de la Aplicación Cliente

Como se puede apreciar en la figura, el objeto central es el socket ya que como en el

caso del servidor el socket es el elemento de comunicación entre las aplicaciones, y en

este caso se encarga de no interactuar con el usuario de forma activa, sino de traducir las

tramas de información en tiempo y restricciones al sistema donde se ejecuta, por medio

de la información recibida en el socket otros objetos como lo son el visualizador y el

sistema de bloqueo pueden ejercer sus funciones de forma adecuada. El visualizador

indica el tiempo de actividad asignado y el transcurrido, el sistema de bloqueo en base a

86

la comparación de los anteriores tiempos actúa como un elemento de restricción a las

funciones de entrada para el usuario, como lo es el bloqueo del teclado, y la pantalla.

El código Fuente de esta aplicación se encuentra en el Anexo C de éste documento.

5.5.5 Diseño de la base de Datos

Siguiendo el esquema de la Figura 33, es necesario realizar el diseño de un diagrama

entidad relación el cual es una herramienta para determinar que alcance y que tipo de

información maneja el sistema de base de datos, para el diseño de la base de datos se

utilizó Microsoft Access 2003, puesto que para utilizar una herramienta más

especializada como lo es SQL Server 2000 se requieren licencias de uso que la

Universidad no dispone, así que se procede primero a establecer que necesidades se

generaran para que se construya la base de datos:

Necesidades:

à Almacenamiento de la información de forma sistemática y ordenada

à Descentralización de las actividades en un solo computador

à Seguridad que se ofrece al aislar los sistemas

87

USUARIOS CLASES SCORE

* Código * Código Clase*CódigoAlumno

Nombre* CódigoAlumno Store

Apellido 1 DuraciónApellido 2SemestreStore

Figura 40. Diagrama Entidad Relación de la Base de Datos

Con el anterior diagrama se procede a explicar la función de la base de datos:

En primer lugar, como la asignación de los equipos se puede hacer por clases lo que

facilita el proceso de identificación de los alumnos involucrados en ella, se creo una

tabla llamada CLASE en donde se registran los alumnos que ven esa clase, además de

esto se cuenta con la información detallada de los alumnos por clase, una característica

muy importante es el “Comportamiento” que tiene un alumno en algún determinado

momento, lo que se califica y envía a una tabla llamada SCORE, donde si se requiere

por el laboratorista se puede mirar que alumnos deben ser vigilados por conductas

sospechosas o recurrentes que puedan llegar a afectar el estado del lugar. Cabe aclarar

que el símbolo (*) se utiliza para denotar la no duplicidad de datos dentro de una de las

entidades, dado que por ejemplo no pueden existir dos alumnos con el mismo código, se

implementan estas medidas de control sobre las entidades o Tablas de la base de datos.

88

5.5.6 Pruebas Iniciales

Como parte fundamental de las pruebas primero se deben inicializar las aplicaciones

Cliente y Servidor en computadoras aparte, pero conectadas en Red por medio del cable

correspondiente al puerto ethernet, una vez realizado esto, la aplicación servidor

detectará por si misma la cantidad de clientes conectados a ella, que en este caso es uno

solo:

Figura 41. Inicialización de la Aplicación servidor reconociendo 1 cliente en estado de

conexión.

Cuando se detecta la presencia de un cliente, el servidor automáticamente permite la

edición de la casilla Tiempo, justamente para asignar si se requiere el tiempo de uso al

computador cliente.

89

Ahora que sabemos que hay cliente, además de probar las funciones de habilitación,

deshabilitación y tiempo, se debe probar la cobertura del sistema ante situaciones de

emergencia, para lo cual se optó por desconectar los computadores de la red,

provocando errores en la transmisión por sockets tanto del cliente como del servidor,

aprovechando estos eventos de error se enrutan todos los datos hacia el puerto COM1,

con la misma estructura de datos presentada en la sección (8.4.2.1 tabla 8).

Como medida de precaución antes de que el sistema RF actúe como mecanismo de

apoyo sobre el computador, se analizó la posibilidad de que el servicio de comunicación

por red ethernet dejara de funcionar en plena asignación de una instrucción al cliente y

por lo tanto la información se enviara a medias, ante este problema surgieron 3

soluciones:

1. Reenviar automáticamente el dato.

2. Enviar una petición de reenvío.

3. Colocar el o las instrucciones no enviadas en una cola de recuperación.

La primera opción no es la mejor dado que hacer esto implicaría resetear los parámetros

a la aplicación cliente al poco tiempo de haberle asignado parámetros.

La segunda opción es una solución lógica ante el problema de la falta de comunicación,

pero si definitivamente durante un largo periodo de tiempo la comunicación no se

90

presenta, se estaría perdiendo tiempo de procesamiento en la aplicación servidor, ya que

siempre estará haciendo un test del estado del puerto ethernet hasta que obtenga una

respuesta.

La tercera opción se adapta mejor a las necesidades de este proyecto ya que tras la

primera caída de la red ethernet, la aplicación evalúa y reconstruye la trama enviada al

cliente y la aloja en un archivo para colocarla en cola, y así sucesivamente con todas las

instrucciones atrasadas que se generen en el momento:

Figura 42. Alistamiento de las aplicaciones ante fallas en el puerto Ethernet.

Con la anterior explicación se probó que el procesamiento de instrucciones no se vio

afectado por la desconexión de los dispositivos de red de los computadores, cabe

91

recordar que como ya se había mencionado el sistema RF es solo de apoyo que en

ningún momento reemplaza todas las funciones del sistema principal de

comunicaciones ethernet.

Test:

Sistema de alimentación

Con el fin de detectar posibles peligros para el circuito transmisor y receptor, se

procedió a medir durante 30 minutos el comportamiento del voltaje, obteniendo los

siguientes resultados para 10 segundos de medición:

Time (s) Volts (V)

1 5.210

2 5.113

3 5.023

4 5.027

5 5.300

6 5.347

7 5.344

8 5.327

9 5.322

10 5.330

Tabla 9. Medición del voltaje sobre el puerto serie

92

Y a continuación se presenta un gráfico histórico durante 30 minutos:

Figura 43. Medición histórica de voltaje

Donde se observa que el sistema se energiza alrededor de los 5 voltios durante su

medición con un multímetro de interfase infrarroja para la adquisición de datos.

CPU:

El siguiente ítem a comprobar es el nivel del recurso de procesamiento requerido por las

aplicaciones, para lo cual se decidió hacer un seguimiento de 1 hora tanto al cliente

como al servidor, y al cabo de una hora se registro el comportamiento del procesador

mediante la herramienta TaskManager de Windows:

93

Figura 44. Rendimiento de la aplicación servidor

94

Figura 45. Rendimiento de la Aplicación Cliente

Se observa que en ningún momento las aplicaciones superan el 30% de procesamiento,

lo cual favorece el rendimiento general del PC, sin ocasionar interrupciones o molestias

a los usuarios.

Comunicaciones:

Por último se prueba que el sistema de transmisión y recepción inalámbrica funcione

correctamente, para lo cual se tomaron muestras de envió y aceptación de tramas cada

10 minutos durante 1 hora, obteniendo los siguientes resultados:

95

Minuto Trama Enviada Respuesta Acertada o Nó

1 Hux Huxok

10 Dux Sin respuesta

20 Hux Huxok

30 Dux Duxok

40 Hux Huxok

50 Dux Duxok

60 Hux Huxok

Tabla 10. Pruebas de Envío y recepción de tramas

Se observa que el rendimiento que alcanzó durante 1 hora de pruebas el sistema en un

ambiente ruidoso fue del 85.71% al fallar la prueba una vez de 7 veces.

5.5.7 Puesta en Funcionamiento

Por ultimo se debe instalar de forma adecuada los componentes de hardware y software

para el óptimo funcionamiento del proyecto.

En primer lugar se instalan en la parte posterior del computador las tarjetas de cliente y

servidor que se encuentran identificadas por una etiqueta en la superficie de las mismas,

luego se deben encender los PC, hasta hora solo están previamente listos los

96

computadores cliente y servidor quedado pendiente el computador que porta la base de

datos.

Para configurar el computador servidor de base de datos se procede a copiar e instalar el

archivo llamado bd.mdb en la ruta “c:\” del computador destinado para ello, luego de

esto se procede a enlazar este archivo para que el computador con la aplicación servidor

pueda comunicarse con la base de datos, para ello se le asigna bd.mdb un enlace ODBC

como se muestra a continuación:

Figura 46. Configuración del enlace ODBC y el computador de base de datos.

Una vez configurado esto, se puede dar inicio a la aplicación servidor y luego a todas o

cada una de las aplicaciones cliente para que se conecten al servidor, hagan la solicitud

97

de un servicio y este consulte con la base de datos por medio del enlace ODBC,

obteniendo resultados similares a los de la sección (8.4.3) de este documento.

98

CONCLUSIONES

• Se implementó un medio efectivo de comunicación, entre las aplicaciones y

el dispositivo electrónico, dado que se obtuvo un nivel de voltaje continuo

por medio del uso de un algoritmo el cual hace que el puerto genere una

diferencia de potencial de 5 voltios (sección 5.5.6, Test Alimentación), lo

que permitió el optimo funcionamiento del circuito de interfase RS232, el

cual adapta voltajes comprendidos entre +15 y -15 voltios en niveles TTl,

manejables para los módulos RF.

• Se desarrolló una plataforma totalmente interactiva con los usuarios tanto

clientes como servidores, siendo esta desarrollada con el entorno de

programación Borland C++ Builder, el cual ofrece componentes de

desarrollo altamente estables y personalizables. Además la plataforma

resulto ser lo bastante estable para manejar unos niveles realmente bajos de

procesamiento los cuales no comprometen de una forma alarmante el uso de

recursos del sistema, siendo para la aplicación servidor un consumo de

procesamiento cercano al 16%, mientras que para la aplicación cliente el

nivel de procesamiento estuvo el 17% y 19%, (sección 5.5.6, Test CPU), lo

cual garantiza el aprovechamiento optimo del procesador sin llegar a

99

perturbar el modo de operación de los computadores donde se tiene instalado

el sistema.

• El circuito electrónico garantizó la conectividad de los sistemas cliente y

servidor, como se vio en las pruebas iniciales de la sección 5.5.6, durante una

prueba de desconexión de los cables de red de los computadores el sistema

de apoyo inalámbrico tubo un rendimiento del 85.71% dado que el ambiente

donde se realizaron las pruebas fue un ambiente contaminado por emisiones

electromagnéticas fuertes como se llegó a determinar causadas en su mayoría

por las luces fluorescentes, las cuales perturbaban el medio de transmisión y

recepción, lo que ocasionó fallas en la transmisión de instrucciones de

control por parte del servidor hacia el cliente más no se registro ningún

cambio de estado con los clientes ante la interferencia magnética.

• Se logró establecer el estado particular de las estaciones, ya que Modelo

Cliente Servidor Propuesto en la sección 5.5.3, permitió que datos como los

de conexión y desconexión de la estación cliente llegaran sin ningún

contratiempo, esto asociado a las múltiples consultas que se realizan a la

base de datos para establecer que permisos efectivos tiene durante un

determinado periodo de tiempo la estación cliente.

100

• El diseño de estrategias como lo son la asignación de tiempo, habilitar o

deshabilitar clientes, y el control en el estado de conexión y desconexión

permitió realizar un seguimiento que se encuentra en el Anexo D, del cual se

pudo determinar:

a. las actividades propias de los computadores se estabilizan a los 3.5

segundos de su asignación.

b. El tiempo promedio para que una estación cliente entre en

funcionamiento es de aproximadamente 3.75 segundos.

c. el grado de conformidad con el sistema fue del 79.16%.

Con los anteriores indicadores se puede afirmar entonces que el sistema de

control de aplicaciones ayuda y permite organizar mejor las actividades en

un grupo de computadores, al controlar su tiempo de uso y su estado,

generando control y seguridad sobre los equipos cubiertos por estas medidas.

101

BIBLIOGRAFIA

TANENBAUM, ANDREW S.: "Redes de Ordenadores", 3 Ed., Prentice HallInternational, 1996.

STEVENS, W. R.: "TCP/IP Illustrated Vol. 1 The protocols" Prentice Hall, 1994

P. Mähönen, T Saarinen and Z Shelby, " Wireless internet over LMDS: Architectureand Experimental Implementation, " IEEE Magazine, Topic in Wireless, May 2001,Vol.39, N° 5, p.p 126-132.

J. Kuri and M. Gagnaire, ENST Paris, France "ATM Traffic Management in an LMDSWireless Access Network," IEEE Magazine-Inelligence in Optical Network. September.2001. Vol 39, N° 9, p.p 133-128.

Kalev, D. (1999). "The ANSI/ISO C++. Programmer's Handbook". Professional.ISBN 0-7897-2022-1 (ING 1627)

Main, M., Satvich, W. (2001). "Data Structures and Other Objects Using C++".Addison-Wesley. ISBN 0-201-70297-5

102

ANEXO A

103

ANEXO B

104

#include <vcl.h>AnsiString Men;#pragma hdrstop

#include "INTERCOMC.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "trayicon"#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender){ClientSocket1->Socket->SendText("Equipo1 conectado");}//---------------------------------------------------------------------------void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose){ClientSocket1->Socket->SendText("Equipo1 desconectado");}//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender){//keybd_event(VK_ESCAPE, NULL, NULL, 0);//Application->Restore();//Application->BringToFront();}//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender){

ClientSocket1->Port = 9921;if(ClientSocket1->Active){ClientSocket1->Active = false;}

105

else{ClientSocket1->Host = Edit1->Text;ClientSocket1->Active = true;}

Timer1->Enabled = true;}//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Read(TObject *Sender,TCustomWinSocket *Socket)

{Men = Socket->ReceiveText();if(Men == "chao"){ClientSocket1->Socket->SendText("Equipo1 desconectado");exit(0);}

}//---------------------------------------------------------------------------

COMPORTAMIENTO DEL SOCKET#include <vcl.h>#include <winsock.h>#include <iostream.h>#include <stdio.h>#include <stdarg.h>#include <string.h>

hostent *p;char *alias;int i;IN_ADDR add;char x[30];int k = 0;

#pragma hdrstop

#include "NIKO.h"

106

//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner){}//---------------------------------------------------------------------------

#pragma argsused

//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){Memo1->Text = "***";}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){

if(Edit1->Text == ""){

Edit1->Text = "error debe escribir un dominio!!";}

WSADATA wsaData;

if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){

Edit1->Text = "WSAStartup fallo";}

p=gethostbyname(x);

if (p==NULL){

strerror(errno);Edit1->Text = "error obteniendo el nombre";

}else{

Label7->Caption = p->h_name;

107

memcpy(&add.S_un,p->h_addr_list[0],p->h_length);

Label8->Caption = inet_ntoa(add);

Label9->Caption = p->h_addrtype;

Label10->Caption = p->h_length;

if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}

i=0;Memo1->Text = "";

while(p->h_addr_list[i]){

memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;

}

}

WSACleanup();}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key){x[k] = Key;k++;}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1Click(TObject *Sender){Edit1->Text = "";Label7->Caption = "***";Label8->Caption = "***";Label9->Caption = "***";Label10->Caption = "***";Label12->Caption = "***";

108

Memo1->Text = "";for(k=0;k<=30;k++){x[k] = NULL;}k=0;}//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender){if(Edit1->Text == "")

{Edit1->Text = "Debe escribir un dominio";

}

WSADATA wsaData;

if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){

Edit1->Text = "Error Externo";}

p=gethostbyname(x);

if (p==NULL){

strerror(errno);Edit1->Text = "No se pudo obtener el nombre";

}else{

Label7->Caption = p->h_name;

memcpy(&add.S_un,p->h_addr_list[0],p->h_length);

Label8->Caption = inet_ntoa(add);

Label9->Caption = p->h_addrtype;

Label10->Caption = p->h_length;

if(p->h_aliases[0]!=NULL){

109

Label12->Caption = p->h_aliases[0];}

else{Label12->Caption = "***";}

i=0;Memo1->Text = "";

while(p->h_addr_list[i]){

memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;

}

}

WSACleanup();}

110

ANEXO C

111

CONFIGURACION DEL SOCKET

//---------------------------------------------------------------------------

#include <vcl.h>#include <winsock.h>#include <iostream.h>#include <stdio.h>#include <stdarg.h>#include <string.h>

hostent *p;char *alias;int i;IN_ADDR add;char x[30];int k = 0;

#pragma hdrstop

#include "NIKO.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner){}//---------------------------------------------------------------------------

#pragma argsused

//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){Memo1->Text = "***";}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){

if(Edit1->Text == ""){

112

Edit1->Text = "error debe escribir un dominio!!";}

WSADATA wsaData;

if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){

Edit1->Text = "WSAStartup fallo";}

p=gethostbyname(x);

if (p==NULL){

strerror(errno);Edit1->Text = "error obteniendo el nombre";

}else{

Label7->Caption = p->h_name;

memcpy(&add.S_un,p->h_addr_list[0],p->h_length);

Label8->Caption = inet_ntoa(add);

Label9->Caption = p->h_addrtype;

Label10->Caption = p->h_length;

if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}

i=0;Memo1->Text = "";

while(p->h_addr_list[i]){

memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;

113

}

}

WSACleanup();}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key){x[k] = Key;k++;}//---------------------------------------------------------------------------void __fastcall TForm1::Edit1Click(TObject *Sender){Edit1->Text = "";Label7->Caption = "***";Label8->Caption = "***";Label9->Caption = "***";Label10->Caption = "***";Label12->Caption = "***";Memo1->Text = "";for(k=0;k<=30;k++){x[k] = NULL;}k=0;}//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender){if(Edit1->Text == "")

{Edit1->Text = "Debe escribir un dominio";

}

WSADATA wsaData;

if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0){

Edit1->Text = "Error Externo";}

114

p=gethostbyname(x);

if (p==NULL){

strerror(errno);Edit1->Text = "No se pudo obtener el nombre";

}else{

Label7->Caption = p->h_name;

memcpy(&add.S_un,p->h_addr_list[0],p->h_length);

Label8->Caption = inet_ntoa(add);

Label9->Caption = p->h_addrtype;

Label10->Caption = p->h_length;

if(p->h_aliases[0]!=NULL){Label12->Caption = p->h_aliases[0];}

else{Label12->Caption = "***";}

i=0;Memo1->Text = "";

while(p->h_addr_list[i]){

memcpy(&add.S_un,p->h_addr_list[i],p->h_length);Memo1->Text = Memo1->Text + inet_ntoa(add) + " / ";i++;

}

}

WSACleanup();}

115

//---------------------------------------------------------------------------

CLIENTE#include <vcl.h>AnsiString Men;#pragma hdrstop

#include "INTERCOMC.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "trayicon"#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender){ClientSocket1->Socket->SendText("Equipo1 conectado");}//---------------------------------------------------------------------------void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose){ClientSocket1->Socket->SendText("Equipo1 desconectado");}//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender){//keybd_event(VK_ESCAPE, NULL, NULL, 0);//Application->Restore();//Application->BringToFront();}//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender){

ClientSocket1->Port = 9921;if(ClientSocket1->Active)

116

{ClientSocket1->Active = false;}else{ClientSocket1->Host = Edit1->Text;ClientSocket1->Active = true;}

Timer1->Enabled = true;}//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Read(TObject *Sender,TCustomWinSocket *Socket)

{Men = Socket->ReceiveText();if(Men == "chao"){ClientSocket1->Socket->SendText("Equipo1 desconectado");exit(0);}

}

117

ANEXO D

118

Hora de Inicio

(hh:mm:ss)

Tiempo de

Habilitación(mm:ss)

Tiempo De

Estabilización (s)

Conformidad

Escala (1 - 10)

9:00 AM 3 5 8

9:00 AM 4 4 8

9:00 AM 4 4 5

9:00 AM 4 2 8

9:00 AM 5 4 8

9:01 AM 3 3 10

9:01 AM 4 2 9

9:01 AM 4 4 7

9:01 AM 3 4 8

9:01 AM 3 3 8

9:07 AM 4 3 9

9:07 AM 4 4 7

Tabla 10. Registro de Operaciones para la Asignación de equipos

Abstract- En este artículo se expone eldiseño, construcción e implementaciónde un circuito electrónico para el controlde aplicaciones en un computador, locual permitirá un control más específicopor parte de los laboratoristas, de lasactividades y usos dados a loscomputadores, garantizando el buendesempeño de los equipos bajo elcontrol del sistema inalámbrico.

Palabras Claves- Tramas, datos,transmisor, receptor, Interfase gráfica,puerto serial, sistema operativo.

1. INTRODUCCIÓN

El constante aumento del usoinadecuado de los computadores en laactualidad los convierte definitivamenteen herramientas subutilizadas, sin nisiquiera llegar en la actualidad a unnivel de uso del 50% útil, generando asíel desgaste de los equipos enactividades secundarias lo que preocupatanto a propietarios como aadministradores.

2. PUERTO SERIAL

El puerto serial es sin duda alguna el50% del proyecto ya que este es elencargado de disponer al alcance deldispositivo de control los pinesnecesarios para el manejo de señalestanto de datos como de alimentación.

Para que el proyecto funcioneadecuadamente se espera que el puertoserial que será utilizado, esté libre detodo uso por parte de otro dispositivocomo lo puede ser Mouse, teclado,impresora, etc.

Algunas de las características másimportantes del puerto serie son:

• Buena velocidad detransmisión.

• Mínimo espacio ocupado.

• Gran soporte actual.

3. SISTEMA DECOMUNICACIÓN

3.1 TRANSMISOR YRECEPTOR

Para la transmisión de información deun punto de origen a un punto dedestino se requiere el uso indispensablede un mecanismo electrónico el cualpueda transportar el dato necesario deforma eficiente, Los módulos de radiofrecuencia escogidos para este proyectoson componentes para el control deaplicaciones de forma inalámbrica:

à TLP434A(Transmisor)

à RLP434A (Receptor)

Estos dos componentes se caracterízanpor su buena calidad al momento deacondicionar las señales para sertransmitidas, lo que los hace ser una delas mejores opciones para el control deaplicaciones vía radio frecuencia.

Dadas las características anteriores delos módulos y a su fácil consecución enel mercado, se utilizaron para esteproyecto por su buen alcance de

SISTEMA ELECTRONICO PARA EL CONTROLDE APLICACIONES EN UN PC

Rios Rodríguez Nicolás

transmisión. Sin lugar a dudas una delas más fascinantes características deestos módulos es su fácil instalación yaque poseen pocos pines y su interfase decomunicación es serial, lo que implicaun considerable ahorro de espacio.

3.2 LENGUAJE DEPROGRAMACIÓN

La herramienta de programaciónutilizada para este proyecto es BorlandC++ Builder 6.0 de la CompañíaBorland Software Inc. Este es unentorno de programación desarrolladopara aplicaciones de alto rendimiento yeficiencia, su interfaz gráfica y su buenadocumentación hicieron que fuera laherramienta indicada para desarrollarlas aplicaciones del proyecto.

Borland C++ Builder provee soportepara el lenguaje de programación C, elcual es antecesor de C++, incluyeinnumerables herramientas para eldesarrollo de aplicaciones como lo soncontrol integrado de excepciones lo quequiere decir que se pueden monitorear“trazar” las anomalías de un programacuando falla y en consecuenciacorregirlas. Borland C++ Builder nosolo incluye soporte para la tecnologíabasada en C, también incluyeherramientas como el diseño delibrerías, aplicaciones gráficas, procesosremotos, entre otros. Sin duda estepaquete de software esta acorde aldesarrollo que se desea de en elproyecto por lo anterior y por ser unambiente robusto y seguro por esto seescogió para desarrollar la plataformadistribuida de esta Tesis.

3.3 SISTEMA DISTRIBUIDO

Teniendo en cuenta que el sistema sebasa en la metodología Cliente-Servidory de acuerdo al propósito de este

sistema en particular se tienen 2servidores:

à Servidor de Aplicación deControl

à Servidor de Base de Datos

Esto con el objetivo de descentralizarlas operaciones, el Servidor deAplicación se encarga de recibir yprocesar las solicitudes de los clientesmientras que el Servidor de Base deDatos contiene la informaciónconcerniente a los permisos de losclientes para realizar alguna actividad,con esto las operaciones de los clientesson recibidas por el Servidor soninterpretadas por el y consultadas anteel Servidor de Base de Datos paraenviar una respuesta al cliente.

Figura 1. Sistema Distribuido Propuesto

Funciones del sistema distribuido:

Detección de los clientes conectadosFunción que permite establecer cuandoun computador está conectado alservidor, es de gran utilidad cuando serequiere saber rápidamente el estado deun equipo.

Habilitación o Deshabilitación de losClientesEsta función permite que desde elcomputador central el laboratoristaasigne el uso de un equipo a la personainteresada en utilizarlo.

Asignación de TiempoPermite al laboratorista asignar el usode un equipo con un límite de tiempopara la persona que lo utiliza, la medidadel tiempo esta definida en minutos.

Reportes históricos de usoConsiste en almacenar información enla base de datos para luego serpresentado en forma de reportesgráficos que informan el estado, ycaracterísticas de uso de las estaciones,estos reportes pueden ser emitidossegún fecha o por equipos solicitados.

3.3.1 Trama de Datos

Con el objetivo de detectar la presenciadel dispositivo electrónico y otrasfunciones se han escrito una serie detramas o secuencia de caracteres que seutilizaran para el proceso decomunicación entre el PC y el circuitotransmisor como se muestra acontinuación:

TramaEnviada

Trama deRespuesta

Descripción

Cok Cok Indica laconexión.c = conectadook = ok

Dok Dok Indica ladesconexión.d =desconectadook = ok

Txxxux Txok Asignatiempo a unusuariot = tiempoxxx = cifra enminutosu = usuariox = númerode usuario

Hux Huxok Habilita unusuarioh = habilita

u = usuariox = númerodel usuariook = ok

Dux Duxok Deshabilitaun usuariod =deshabilitau = usuariox = númerodel usuariook = ok

Pxux Pxuxok Asigna perfila un usuariop = perfilx = tipo deperfilu = usuariox = númerodel usuariook = ok

Tabla 1. Trama de datos para lacomunicación de instrucciones

3.4 SISTEMAINALAMBRICO

El sistema inalámbrico es aquelcomponente que se encarga de laadquisición y recepción de datos desdey hacia el puerto serial. Para lo cualutilizaremos un dispositivo que sirva deinterfase entre el puerto decomunicaciones y el sistemainalámbrico, para lo cual se escogió unsemiconductor integrado, el MAX232,este semiconductor es típicamenteutilizado en el sector de lascomunicaciones seriales por sueficiencia, operabilidad, y fácil montaje.

El Max232 es la herramienta que serviráde puente entre el computador y elsistema electrónico acoplando lasseñales de niveles TTL (0-5 voltios) a

niveles lógicos de puerto (-15 a 15voltios).

3.4.1 Transmisor

Para empezar, y como ya se hablo, elcircuito se compone de 3 bloquesfuncionales que son; el computador, launidad de acople serial y la unidad detransmisión inalámbrica:

PC NTERFASE RF

Figura 2. Diagrama de BloquesFuncionales del Circuito Transmisor

La interfase se realiza utilizando elcircuito integrado MAX232, dado queeste ofrece alto aislamiento eléctricoentre las partes, garantizando la nointerferencia de perturbaciones desdelos componentes. Es claro que como senecesita una comunicación de tipoSimplex, lo que quiere decir que solo serealiza el proceso de transmisión ó el derecepción de datos pero no los dos.

3.4.2 Receptor

Al igual que el circuito transmisor, elreceptor se compone de 3 bloquesfuncionales que son; la unidad deRecepción Inalambrica, la unidad deacople serial y el computador:

RF INTERFASE PC

Figura 3. Diagrama de BloquesFuncionales del Circuito Transmisor

Y considerando que el receptor tambiéndeberá comunicarse de forma simplex,se hace conexión con el pín 2 del puerto

serial hacia el circuito de interfase yaque este recibe los datos provenientesdel exterior.

4. CONCLUSIONES

Se implementó un medio efectivo decomunicación, entre las aplicaciones yel dispositivo electrónico, dado que seobtuvo un nivel de voltaje continuo pormedio del uso de un algoritmo el cualhace que el puerto genere una diferenciade potencial de 5 voltios (sección 5.5.6,Test Alimentación), lo que permitió eloptimo funcionamiento del circuito deinterfase RS232, el cual adapta voltajescomprendidos entre +15 y -15 voltios enniveles TTl, manejables para losmódulos RF.

Se desarrolló una plataforma totalmenteinteractiva con los usuarios tantoclientes como servidores, siendo estadesarrollada con el entorno deprogramación Borland C++ Builder, elcual ofrece componentes de desarrolloaltamente estables y personalizables.Además la plataforma resulto ser lobastante estable para manejar unosniveles realmente bajos deprocesamiento los cuales nocomprometen de una forma alarmante eluso de recursos del sistema, siendo parala aplicación servidor un consumo deprocesamiento cercano al 16%, mientrasque para la aplicación cliente el nivel deprocesamiento estuvo el 17% y 19%,(sección 5.5.6, Test CPU), lo cualgarantiza el aprovechamiento optimodel procesador sin llegar a perturbar elmodo de operación de los computadoresdonde se tiene instalado el sistema.

El circuito electrónico garantizó laconectividad de los sistemas cliente yservidor, como se vio en las pruebasiniciales de la sección 5.5.6, durante unaprueba de desconexión de los cables dered de los computadores el sistema deapoyo inalámbrico tubo un rendimiento

del 85.71% dado que el ambiente dondese realizaron las pruebas fue unambiente contaminado por emisioneselectromagnéticas fuertes como se llegóa determinar causadas en su mayoríapor las luces fluorescentes, las cualesperturbaban el medio de transmisión yrecepción, lo que ocasionó fallas en latransmisión de instrucciones de controlpor parte del servidor hacia el clientemás no se registro ningún cambio deestado con los clientes ante lainterferencia magnética.

Se logró establecer el estado particularde las estaciones, ya que ModeloCliente Servidor Propuesto en lasección 5.5.3, permitió que datos comolos de conexión y desconexión de laestación cliente llegaran sin ningúncontratiempo, esto asociado a lasmúltiples consultas que se realizan a labase de datos para establecer quepermisos efectivos tiene durante undeterminado periodo de tiempo laestación cliente.

El diseño de estrategias como lo son laasignación de tiempo, habilitar odeshabilitar clientes, y el control en elestado de conexión y desconexiónpermitió realizar un seguimiento que seencuentra en el Anexo D, del cual sepudo determinar:

a. las actividades propias delos computadores seestabilizan a los 3.5segundos de suasignación.

b. El tiempo promedio paraque una estación clienteentre en funcionamientoes de aproximadamente3.75 segundos.

c. el grado de conformidadcon el sistema fue del79.16%.

Con los anteriores indicadores se puedeafirmar entonces que el sistema decontrol de aplicaciones ayuda y permiteorganizar mejor las actividades en ungrupo de computadores, al controlar sutiempo de uso y su estado, generandocontrol y seguridad sobre los equiposcubiertos por estas medidas.

5. REFERENCIAS

[1] TANENBAUM, ANDREW S.:"Redes de Ordenadores", 3 Ed., PrenticeHall International, 1996.

[2] STEVENS, W. R.: "TCP/IPIllustrated Vol. 1 The protocols"Prentice Hall, 1994

[3] P. Mähönen, T Saarinen and ZShelby, " Wireless internet over LMDS:Architecture and ExperimentalImplementation, " IEEE Magazine,Topic in Wireless, May 2001,Vol. 39,N° 5, p.p 126-132.

[4] J. Kuri and M. Gagnaire, ENSTParis, France "ATM TrafficManagement in an LMDS WirelessAccess Network," IEEE Magazine-Inelligence in Optical Network.September. 2001. Vol 39, N° 9, p.p 133-128.

[5] Kalev, D. (1999). "TheANSI/ISO C++. Programmer'sHandbook". Professional. ISBN 0-7897-2022-1 (ING 1627)