Calculadora Descentralizada

Publicado en , el 05/octubre/2019
Aplica ahora

Habilidades requeridas

Java Jar Java SE Java

Descripción del proyecto:

Crear una calculadora descentralizada en java, en donde todos sean clientes y servidores al mismo tiempo. Todos los nodos (conectados por hilos) reciben información y se las mandan a sus células (conectadas por hilos) a través de tcp/ip cada nodo/célula o servidor tiene que tener un puerto diferente, las células reciben la información y la regresan a todos los nodos y a la calculadora. Se pueden crear n nodos, n células y n clientes con la calculadora. Para la calculadora (el cliente) se necesita una pequeña interfaz de una calculadora. Algo muy importante es que los mensajes enviados desde el cliente tiene que tener un código de contenido, por ejemplo: la suma = 1, la resta = 2, multiplicación = 3 y división = 4. La interfaz "transforma" los mensajes dependiendo si metemos una suma, resta, etc y lo manda a los nodos, ellos lo mandan a las células, las cuales reciben ese código de contenido y procesan la operación deseada. Cada célula tiene que tener tolerancia a fallas, si por ejemplo tiene una tolerancia a 4 fallas, tenemos que tener 3 instancias más de esa operación . El broadcast del cliente(interfaz de calculadora) es asíncrona, pero síncrona en el procesamiento. La calculadora manda el mensaje y no tiene que esperar el resultado para poder mandar otra operación, pero sí tiene que esperar a que las 4 instancias de la suma le manden un mensaje diciendo: "recibí operación", esto para ver si se cumple la tolerancia de fallas. El número de acuses de "recibí operación" tiene que ser igual al número de instancias de esa operación.El cliente tiene que esperar los acuses de las instancias para poder procesar otra suma. Cuando el cliente manda una operación, esta debe de tener un id único de operación que viaja a través de los nodos y llega a las células, las células tienen un id o huella como un timestamp o algo que las distinga. Debe funcionar así: Cliente o clientes(puede haber muchas calculadoras) mandan mensaje a través de la interfaz de la calculadora donde se envía su código de contenido, con su huella distintiva, el evento(generado al momento de ejecución) y los datos(3+3). Pasa por todos los nodos y le llega a todas las células, las cuales responden(sólo las que puedan hacer la suma) con un acuse ("recibí operación"), su huella, el nombre de la célula y el evento que se mandó desde el cliente. Si no le llegan los 4 acuses de la operación, se sigue mandando el mismo evento hasta que le regrese la respuesta. Los archivos tienen que ser Nodo1 (nodo.jar config.txt), Nodo2...Nodo n y así con todos CelulaServidor(celulaservidor.jar config.txt) CelulaServidor2(celulaservidor.jar config.txt)... CelulaServidor n CelulaCliente(celulacliente.jar config.txt) CelulaCliente2(celulacliente.jar config.txt)... CelulaCliente n y tienen que correr desde consola de Windows

Detalles adicionales

Fecha de inicio:
05/octubre/2019
Tiempo restante:
Vence en 20 días
Duración estimada:
1 mes
Presupuesto disponible:
US$25.00 - US$100.00
Aplicaciones recibidas:
2
Categoría:
Desarrollo de Software | Programación
Aplica ahora
Tienes alguna pregunta sobre este proyecto

Aplicaciones recibidas

Pablo Tomas
Pablo Tomas
Yo voy a: hacer lo mejor posible
PHP Wordpress Java Javascript PostgreSQL MySQL Oracle Html5 WooCommerce Java SE Java EE Bootstrap JQuery
Mauricio Orellana
Mauricio Orellana
Yo voy a: Ayudarte con tus necesidades de IT
Oracle JSF 1 y 2 Java EE JavaFX Spring Framework Amazon Appstore Amazon EC2 Amazon Web Services Java Java Core Hibernate Administración de bases de datos Oracle MySQL GlassFish API Rest AWS