viernes, 29 de noviembre de 2013

Justificación por la cual nuestro sistema es distribuido

JUSTIFICACIÓN


Los sistemas distribuidos son sistemas cuyos componentes hardware y software, están en  ordenadores conectados en red, se comunican y coordinan sus acciones mediante el intercambio de mensajes, para lograr un  determinado objetivo. 

Tienen las siguientes caracteristicas:


Transparencia

La transparencia se define como la ocultación al usuario y al programador de aplicaciones de la separación de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una colección de componentes independientes. La transparencia ejerce una gran influencia en el diseño del software de sistema.

Tolerancia a Fallos

Los sistemas informáticos a veces fallan. Cuando se producen fallos en el software o en el hardware, los programas podrían producir resultados incorrectos o podrían pararse antes de terminar la computación que estaban realizando. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: Redundancia hardware (uso de componentes redundantes) y recuperación del software (diseño de programas que sean capaces de recuperarse de los fallos).

En los sistemas distribuidos la redundancia puede plantearse en un grano mas fino que el hardware, pueden replicarse los servidores individuales que son esenciales para la operación continuada de aplicaciones criticas.

La recuperación del software tiene relación con el diseño de software que sea capaz de recuperar (roll-back) el estado de los datos permanentes antes de que se produjera el fallo.

Los sistemas distribuidos también proveen un alto grado de disponibilidad en la vertiente de fallos hardware. La disponibilidad de un sistema es una medida de la proporción de tiempo que esta disponible para su uso. Un fallo simple en una maquina multiuruario resulta en la no disponibilidad del sistema para todos los usuarios. Cuando uno de los componentes de un sistema distribuidos falla, solo se ve afectado el trabajo que estaba realizando el componente averiado. Un usuario podría desplazarse a otra estación de trabajo; un proceso servidor podría ejecutarse en otra maquina.

Escalabilidad

Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala más pequeña consiste en dos estaciones de trabajo y un servidor de ficheros, mientras que un sistema distribuido construido alrededor de una red de área local simple podría contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresión y otros servidores de propósito especifico. A menudo se conectan varias redes de área local para formar internetworks, y éstas podrían contener muchos miles de ordenadores que forman un único sistema distribuido, permitiendo que los recursos sean compartidos entre todos ellos.

Concurrencia

Cuando existen varios procesos en una única maquina decimos que se están ejecutando concurrentemente. Si el ordenador esta equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos. Si la computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a la vez hasta N procesos.
En los sistemas distribuidos hay muchas maquinas, cada una con uno o mas procesadores centrales. Es decir, si hay M ordenadores en un sistema distribuido con un procesador central cada una entonces hasta M procesos estar ejecutándose en paralelo.

JUSTIFICACIÓN POR LA CUAL NUESTRO PROYECTO ES DISTRIBUIDO

Ya una vez entendido el concepto de sistema distribuido,se puede afirmar lo siguiente:




Nuestro proyecto es distribuido ya que se encuentra en el modelo compartición de recursos,es decir, esta conformado por un grupo de ordenadores que contienen diferentes módulos del sistema,esto tiene muchas ventajas ya que no solo permite ejecutar varias acciones al mismo tiempo sino tambien facilita la solución de fallos,ya sean físicos (hardware) o de sistema (software).

Cada ordenador es parte del sistema y al momento de ser ejecutado por un usuario,este lo percibe como un todo y no como un sistema dividido. Ademas,
es posible que mas ordenadores sean parte posteriormente del sistema para así optimizar el rendimiento del mismo y puede llegar ser tan extenso como se requiera y/o desee.

Como se muestra en el diagrama,el proyecto comparte recursos entre los ordenadores que lo componen,por lo que de este modo permite que varios usuarios accedan a este mas eficientemente.









jueves, 21 de noviembre de 2013

Juego sistemas distribuidos




//buscaminas.java

import javax.swing.*;
import java.util.*;
import java.awt.event.*;
public class buscaminas extends JFrame  implements ActionListener{

    int i=0, j=0, x=0, y=0, aux=0,aux2=0, puntaje=0;
int[] bombapos = new int[100];
int cont = 0;
String nombre="";
JButton[] boton = new JButton[375];
JLabel jugador1 = new JLabel();
JLabel puntaje1 = new JLabel();
public static ImageIcon pre = new ImageIcon("sand.jpeg");
public static ImageIcon bomba = new ImageIcon("bomba.gif");
public static ImageIcon click = new ImageIcon("gris.jpg");
Random aleatorio = new Random();
boolean sibomb2;
    public buscaminas() {
        setLayout(null);
nombre = JOptionPane.showInputDialog("Introduce tu nombre:");
for(aux=0;aux<100;aux++){//Aqui se crean las posiciones de las bombas-
bombapos[aux] = aleatorio.nextInt(375+1);
}
for(i=0;i<15;i++){
y += 30;
for(j=0;j<25;j++){
JButton tmp = new JButton();
x +=30;
tmp.setIcon(pre);
tmp.setBounds(10+(x),10+(y),30,30);
boton[cont] = tmp;
boton[cont].addActionListener(this);
add(boton[cont]);
/*for(aux=0;aux<100;aux++){//Colocar bombas al azar
if(cont == bombapos[aux]){
tmp.setIcon(bomba);
tmp.setBounds(10+(x),10+(y),30,30);
boton[cont] = tmp;
add(boton[cont]);
}
}*/
cont++;
}
x=0;
}
// jugador1.setText();
    }
    
public boolean comprobarbomba (int clickeado){//clickado es el boton al que el usuario dio click
for(int aux2=0;aux2<100;aux2++){
if(bombapos[aux2] == clickeado){//Hay una bomba en el mismo lugar
sibomb2 = true;
break;
}
else{
sibomb2 = false;
}
}
return sibomb2;
}
    public void actionPerformed(ActionEvent e) {
for(aux=0;aux<375;aux++){
if(e.getSource() == boton[aux]){
boolean sibomb = comprobarbomba(aux);
if(sibomb == true){//colocar imagen de Bomba.
boton[aux].setIcon(bomba);
add(boton[aux]);
boton[aux].setEnabled(false);
JOptionPane.showMessageDialog(null, "GAME OVER.\n Puntaje Total: "+puntaje); 
for(aux=0;aux<375;aux++)
boton[aux].setEnabled(false);
break;
}
else{
puntaje += 10;
boton[aux].setIcon(click);
add(boton[aux]);
boton[aux].setEnabled(false);
//JOptionPane.showMessageDialog(null, "NO HAY BOMBA, casilla no: "+aux); 
break;
}
}
}
    }
    
    public static void main(String[] args) {
        buscaminas buscaminas1 = new buscaminas();
        buscaminas1.setBounds(0,0,850,700);
buscaminas1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        buscaminas1.setVisible(true);
    }
}

















domingo, 8 de septiembre de 2013

Modelo OSI

INTRODUCCIÓN

El modelo OSI surge como una búsqueda de solución al problema de incompatibilidad de las redes de los años 60. Fue desarrollado por la ISO (International Organization for Standardization) en 1977 y adoptado por UIT-T.

Consiste de una serie de niveles que contienen las normas funcionales que cada nodo debe seguir en la Red para el intercambio de información y la ínter- operabilidad de los sistemas independientemente de suplidores o sistemas.



DEFINICIÓN
El modelo de referencia OSI es el modelo principal para las comunicaciones por red. Aunque existen otros modelos, en la actualidad la mayoría de los fabricantes de redes relacionan sus productos con el modelo de referencia OSI, especialmente cuando desean enseñar a los usuarios cómo utilizar sus productos.

El modelo de referencia OSI permite que los usuarios vean las funciones de red que se producen en cada capa; es un marco que se puede utilizar para comprender cómo viaja la información a través de una red.

Se puede usar el modelo de referencia OSI para visualizar cómo la información o los paquetes de datos viajan desde los programas de aplicación (por ej., hojas de cálculo,documentos, etc.) a través de un medio de red (por ej., cables, etc.), hasta otro programa de aplicación ubicado en otro computador de la red, aún cuando el transmisor y el receptor tengan distintos tipos de medios de red.

En el modelo de referencia OSI, hay siete capas numeradas, cada una de las cuales ilustra una función de red específica. Esta división de las funciones de networking se denomina división en capas,las cuales son:




Capa 7: La capa de aplicación
Capa 6: La capa de presentación
Capa 5: La capa de sesión
Capa 4: La capa de transporte
Capa 3: La capa de red
Capa 2: La capa de enlace de datos
Capa 1: La capa física


A continuación, se presentará una breve descripción de cada capa del modelo de referencia OSI .

Capa 7 (La capa de aplicación) : Es la capa del modelo OSI más cercana al usuario; suministra servicios de red a las aplicaciones del usuario. 
Difiere de las demás capas debido a que no proporciona servicios a ninguna otra capa OSI, sino solamente a aplicaciones que se encuentran fuera del modelo OSI. Algunos ejemplos de aplicaciones son los programas de procesamiento de texto o los de las terminales bancarias.
 La capa de aplicación establece la disponibilidad de los potenciales socios de comunicación, sincroniza y establece acuerdos sobre los procedimientos de recuperación de errores y control de la integridad de los datos.




Capa 6 (La capa de presentación) : Garantiza que la información que envía la capa de aplicación de un sistema pueda ser leída por la capa de aplicación de otro. 
De ser necesario, la capa de presentación traduce entre varios formatos de datos utilizando un formato común.

Capa 5 (La capa de sesión) :Como su nombre lo indica, la capa de sesión establece, administra y finaliza las sesiones entre dos hosts que se están comunicando. La capa de sesión proporciona sus servicios a la capa de presentación. 
También sincroniza el diálogo entre las capas de presentación de los dos hosts y administra su intercambio de datos. Además de regular la sesión, la capa de sesión ofrece disposiciones para una eficiente transferencia de datos, clase de servicio y un registro de excepciones acerca de los problemas de la capa de sesión, presentación y aplicación.

Capa 4 (La capa de transporte) ::Segmenta los datos originados en el host emisor y los reensambla en una corriente de datos dentro del sistema del host receptor. El límite entre la capa de transporte y la capa de sesión puede imaginarse como el límite entre los protocolos de aplicación y los protocolos de flujo de datos.
 Mientras que las capas de aplicación, presentación y sesión están relacionadas con asuntos de aplicaciones, las cuatro capas inferiores se encargan del transporte de datos.

Intenta suministrar un servicio de transporte de datos que aísla las capas superiores de los detalles de implementación del transporte. Específicamente, temas como la confiabilidad del transporte entre dos hosts es responsabilidad de la capa de transporte. Al proporcionar un servicio de comunicaciones, la capade transporte establece, mantiene y termina adecuadamente los circuitos virtuales. Al proporcionar un servicio confiable, se utilizan dispositivos de detección y recuperación de errores de transporte.

Capa 3 (La capa de red) :Es una capa compleja que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas.

Capa 2 (La capa de enlace de datos) :Proporciona tránsito de datos confiable através de un enlace físico. Al hacerlo, la capa de enlace de datos se ocupa del direccionamiento físico (comparado con el lógico) , la topología de red, el acceso a la red, la notificación de errores, entrega ordenada de tramas y control de flujo.

Capa 1 (La capa física) :Define las especificaciones eléctricas, mecánicas, de procedimiento y funcionales para activar, mantener y desactivar el enlace físico entre sistemas finales. Las características tales como niveles de voltaje, temporización de cambios de voltaje, velocidad de datos físicos, distancias de transmisión máximas, conectores físicos y otros atributos similares son definidos por las especificaciones de la capa física


DESAROLLO

Unidad de información de protocolo del modelo OSI

Para que los paquetes de datos puedan viajar desde el origen hasta su destino, cada capa del modelo OSI en el origen debe comunicarse con su capa igual en el lugar destino. Esta forma de comunicación se conoce como comunicaciones de par-a-par. Durante este proceso, cada protocolo de capa intercambia información, que se conoce como unidades de datos o información de protocolo (PDU), entre capas iguales . Cada capa de comunicación, en el computador origen, se comunica con un PDU específico de capa y con su capa igual en el computador destino.

PDU describe como la información es representada en una determinada capa. El modelo OSI tiene su propio sistemas de capas y su PDU’s respectivo. El modelo OSI se refiere a las siguientes capas con los siguientes PDU’s:

CAPAS              PDU
Aplicación         Datos
Presentación    Datos
Sesión              Datos
Transporte       Segmento
Red                  Paquete
Enlace              Marco
Físico                Bits

Los paquetes de datos de una red parten de un origen y se envían a un destino. Cada capa depende de la función de servicio de la capa OSI que se encuentra debajo de ella.  a medida que los datos se desplazan hacia abajo a través de las capas del modelo OSI, se agregan encabezados e información final adicionales. Después de que las Capas 7, 6 y 5 han agregado la información, la Capa 4 agrega más información. Este agrupamiento de datos, la PDU de Capa 4, se denomina segmento.
Por ejemplo, la capa de red presta un servicio a la capa de transporte y la capa de transporte presentadatos al subsistema de internet work. La tarea de la capa de red consiste en trasladar esos datos a través de la internet work. Ejecuta esta tarea encapsulando los datos y agregando un encabezado, con lo que crea un paquete (PDU de Capa 3). Este encabezado contiene la información necesaria para completar la transferencia, como por ejemplo, las direcciones lógicas origen y destino.

La capa de enlace de datos suministra un servicio a la capa de red. Encapsula la información de la capa de red en una trama (la PDU de Capa 2); el encabezado de la trama contiene información (por ej., direcciones físicas) que es necesaria para completar las funciones de enlace de datos. La capa de enlace de datos suministra un servicio a la capa de red encapsulando la información de la capa de red en una trama.
La capa física también suministra un servicio a la capa de enlace de datos. La capa física codifica los datos de
la trama de enlace de datos en un patrón de unos y ceros (bits) para su transmisión a través del medio (generalmente un cable) en la Capa 1. 


REFERENCIAS

·         Protocolos y modelo
                 OSI, Recuperado el 8 de septiembre de 2013, de                                                                                                                    http://www.tyr.unlu.edu.ar/TYR-publica/02-Protocolos-y-OSI.pdf
·         Definición de Modelo
                  OSI Recuperado el 25 de septiembre de 2013, de                                                                                                                   http://labv87.blogspot.mx/2011/05/modelo-osi.html
·         El modelo OSI
                  y sus caracteristicas Recuperado el 8 de septiembre de 2013, de                                                                                       http://www.exa.unicen.edu.ar/catedras/comdat1/material/ElmodeloOSI.pdf