Computación Evolutiva Descentralizada de Modelo Híbrido usando Blockchain y Prueba de Trabajo de Optimización. Harvey D. Bastidas C.
|
|
- Arturo Figueroa Correa
- hace 5 años
- Vistas:
Transcripción
1 Computación Evolutiva Descentralizada de Modelo Híbrido usando Blockchain y Prueba de Trabajo de Optimización Harvey D. Bastidas C. 1
2 Tabla de Contenido Introducción Marco Teórico Computación Evolutiva Distribuida Redes Descentralizadas Blockchain Trabajos Previos Prueba de Trabajo Criptográfica Pruebas de Trabajo Útil Propuesta : Prueba de Trabajo de Optimización Plataforma de Software Experimentos de Validación Trabajo Futuro y Conclusiones 2
3 Introducción Que propone el proyecto? Realizar trazabilidad de un proceso de optimización con algoritmos evolutivos en una arquitectura descentralizada. Se propone una nueva prueba de trabajo útil basada en optimización con Algoritmos Evolutivos (EA). Se usa un incremento en desempeño en una optimización con EA en lugar del desafío criptográfico usado por Bitcoin. 3
4 Marco Teórico Computación Evolutiva Computación Evolutiva Distribuida Redes Descentralizadas Blockchain 4
5 Computación Evolutiva Optimización con algoritmos evolutivos Computación Evolutiva (EC): Técnicas para buscar parámetros óptimos de modelos matemáticos. Algoritmos Evolutivos (EA): Inspirados en la evolución biológica, usan reproducción, mutación y cruce en cada iteración. Los parámetros se representan como genes (ej: Sinapsis de una red neuronal). El conjunto de genes constituyen un genoma (ej: Neuronas y sinapsis en red neuronal). El estado de optimización es una población de genomas (ej: Conjunto de redes neuronales) El estado cambia en cada iteración del EA. 5 Ejemplos de gen, genoma y población
6 Computación Evolutiva Distribuída Escalabilidad de Algoritmos evolutivos Los EA permiten procesamiento distribuido (dea) El modelo de Islas y modelos híbridos permiten optimización en arquitectura descentralizada. En el modelo de islas, se migran los mejores especímenes entre optimizadores. En una red descentralizada, la configuración de tiempo puede ser diferente en cada nodo. Patron Arquitectural Descentralizado o P2P. Un dea en una arquitectura descentralizada no podría tener trazabilidad por el problema del tiempo (número variable de saltos). 6
7 Redes Descentralizadas Que son y que ventajas tienen? En redes centralizadas, los clientes consume servicios de servidores. En redes descentralizadas, los clientes consumen servicios de cualquier nodo. Comunicación entre nodos por flooding controlado (TTL y/o Sequence Number Controlled Flooding). Proveen tolerancia a fallas y escalabilidad. Los relojes de los nodos pueden no estar sincronizados. Es difícil establecer el orden de eventos (trazabilidad) ya que el número de saltos es variable. Para esto se propone el uso de un blockchain. 7
8 Blockchain Trazabilidad en redes descentralizadas Bitcoin es una red descentralizada para transacciones financieras donde ocurre el problema de double spending. El Blockchain y la prueba de trabajo implementan un un servicio de timestamping (marca de tiempo) distribuido. Se establece un consenso en el orden de las transacciones almacenadas. Las transacciones se almacenan en bloques enlazados criptográficamente. El blockchain provee trazabilidad de las transacciones, el orden en el que se ejecutan y los saldos en las cuentas (direcciones de Bitcoin) En caso de fragmentación se usa la cadena mas larga. 8 Fuente: Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, 2008
9 Trabajos Previos Prueba de Trabajo Criptográfica Pruebas de Trabajo Útil 9
10 Prueba de Trabajo Criptográfica Control de tiempo de bloque Fuente: Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, 2008 La generación de una prueba de trabajo (PoW) se basa en resolver un desafío de dificultad variable para controlar el tiempo de bloque. El desafío es encontrar un hash (SHA-256) que tenga un número de ceros al inicio, de un bloque que incluye un contador (nonce), la dificultad es el número de ceros. La dificultad del desafío sirve para controlar el tiempo que se tarda en encontrar una nueva PoW. Los nodos aceptan por consenso el orden de las transacciones de un bloque con una PoW válida, solucionando el problema del double spending. La generación de una PoW tiene un consumo eléctrico gastado en un cálculo inútil. 10
11 Pruebas de Trabajo Útil (upow) Control de tiempo de bloque con trabajo útil Deben ser fáciles de validar, pero difíciles de producir, así controlan el tiempo de bloque y pueden ser validadas con bajo costo computacional. Existen varios problemas que pueden ser usados para producir una prueba de trabajo útil, como vectores ortogonales, 3SUM y problemas que se reducen a ellos. Las upow encontradas no son función del contenido de los bloques y no protegen al blockchain contra reuso. Mitigar el problema del reuso, las upow son un hash de un bloque que contenga una solución válida. Algunas de las pruebas de trabajo usan un conjunto de problemas y datos (problem board), generando un bloque con la solución de uno de ellos. 11 Fuente: Proofs of Useful Work, Marshall Ball et al., 2017
12 Propuesta Prueba de Trabajo Útil usando Optimización con dec 12
13 Contexto Porque es importante la descentralización y trazabilidad? Modelo de islas o modelos híbridos para computación evolutiva (dec) distribuida. Servicio de timestamping distribuido usando blockchain. Las redes descentralizadas tienen la ventaja de la escalabilidad y tolerancia a fallos. La trazabilidad permite hacer depuración de la implementación de un algoritmo evolutivo en una red descentralizada. Permite establecer el orden de las acciones de los dispositivos que participan en optimización descentralizada (ej: eventos de seguridad o creación de nuevos usuarios). Permite, usar los registros de eventos, para cobrar por servicios prestados y consumidos por los dispositivos participantes. 13
14 Prueba de Trabajo de Optimización (OPoW) Control de tiempo de bloque con trabajo de optimización Fuente: Proofs of Useful Work, Marshall Ball et al., 2017 La OPoW usa como desafío, alcanzar un incremento en el desempeño en la optimización de un modelo matemático. La OPoW se usa para controlar el tiempo de bloque como otros upow. La OPoW es un hash de un bloque que contenga los parámetros de un modelo con un incremento ( performance) en desempeño respecto al anterior bloque. La magnitud de performance determina la dificultad del desafío y sirve para controlar el tiempo que se tarda en encontrar una nueva PoW. Los nodos aceptan por consenso el orden de las transacciones de un bloque con una OPoW válida. El bloque puede contener cualquier información, en la implementación actual es usado para almacenar las solicitudes a los nodos y sus respuestas (event log). 14
15 Prueba de Trabajo de Optimización Usabilidad y Seguridad Debido a que una solución está en cada bloque, y no es función del él, se podrían re-usar las soluciones encontradas. En OPoW se puede usar adicionalmente un desafío similar al de Bitcoin, lo que permitiría adicionar seguridad contra modificaciones del blockchain. Se puede usar performance y adicionalmente los ceros iniciales del hash del bloque como dificultad dependiendo de la seguridad requerida. La implementación actual solo usa performance, sin protección contra cambios en el blockchain. Como trabajo futuro se puede implementar el número de ceros iniciales como medida de seguridad adicional si una aplicación lo requiere. 15 Fuente: Proofs of Useful Work, Marshall Ball et al., 2017
16 Plataforma de Sofware Proceso de Diseño Componentes Funcionamiento Caso de Aplicación Uso de la Plataforma 16
17 Diseño de Plataforma de Software Proceso de Diseño Se diseñó una plataforma para optimización descentralizada con EC. Permite evaluación de datos externos en el modelo que es optimizado. Se definieron requerimientos funcionales y no funcionales desde un caso de uso. Arquitectura de Nodos Se usó una metodología basada en Attribute- Driven Design (escalabilidad, trazabilidad y tolerancia a fallas). Se definieron los componentes de la plataforma. Se seleccionaron los patrones arquitecturales para satisfacer los atributos seleccionados para cada componente. Arquitectura de Plataforma 17
18 Componentes de Plataforma de Software Nodos, Optimizadores, Evaluadores y Clientes Nodos: Generan la OPoW como hash de bloque de registro de eventos que contenga nuevo óptimo. Blockchain es una tabla de SQLite. Patrón arquitectural descentralizado y MVC. Almacenan datos de optimización y evaluaciones. Realizan autenticación, autorización y registro de eventos (solicitudes y respuestas) de otros componentes. Optimizadores: Realizan optimización, envían a nodos los parámetros óptimos. Evaluadores: Usan el último estado de optimización para evaluar datos de los clientes. Arquitectura de Nodos Cientes: Envían datos a los nodos para ser evaluados por los evaluadores. Arquitectura de Plataforma 18
19 Funcionamiento de Plataforma de Software Interacción entre Componentes Los optimizadores, evaluadores y clientes usan un REST API para enviar solicitudes a los nodos. Los optimizadores buscan constantemente los mejores parámetros. Cuando encuentran parámetros optimizados, los envían a cualquier nodo. Los evaluadores traen de los nodos los parámetros optimizados y las evaluaciones pendientes. Cuando los evaluadores han realizado una evaluación, envían el resultado a los nodos. Los clientes envían solicitudes de evaluación que quedan como pendientes en los nodos hasta que un evaluador haya enviado una respuesta. Funcionamiento de la Plataforma 19
20 Caso de Aplicación Ejemplo de optimización de una red neuronal para Forex trading Automatización de toma de decisiones de clientes usando una red neuronal que está en optimización en una red descentralizada. Un grupo de dispositivos optimizan continuamente la red neuronal usando algoritmos evolutivos (NEAT). La red neuronal toma información del mercado y la orden actual para generar la mejor acción a tomar (buy/sell/nop). Parámetros Optimizados Los evaluadores descargan las mejores redes neuronales (topología y pesos) y en ellas evalúan entradas enviadas por clientes. Todas las solicitudes (y respuestas) de optimizadores, evaluadores y optimizadores se almacenan en un Blockchain. En una applicación comercial, el blockchain serviría para cobrar por los servicios consumidos. Acción a Tomar Market Info 20
21 Nodos Los nodos usan un patrón arquitectural MVC, usan flooding controlado para enviar los registros de eventos a otros nodos y realizan autenticación, autorización y registro de requests. Cada API endpoint es una ruta, un método HTTP (POST,GET,DELETE) y sus parámetros. Ej: GET /evaluations/<id>, para descargar una evaluación o: POST /flood, para hacer flooding. Existe un método en el controlador para implementar el funcionamiento de cada API endpoint. Ej: EvaluationsController.getItem(id). Las respuestas del controlador a las solicitudes se hace usando unas plantillas llamadas vistas en las que se insertan los datos a retornar. Ej: el formato JSON-RPC v2.0. Se usa un modelo para representar los objetos a acceder en la base de datos independientemente del motor de BD usando ActiveQuery. 21 Arquitectura de Nodos
22 Nodos y Optimizadores Los bloques, evaluaciones, parámetros optimizados, usuarios, autorizaciones y registro de eventos son tablas en una base de datos (SQLite) en los nodos con métodos para: Obtener una lista de metadatos de elementos: GetList(), endpoint: GET /tabla Obtener un elemento con dado su id: GetItem(), endpoint: GET /tabla/<id> Crear un elemento: CreateItem,() endpoint: POST /tabla Borrar un elemento: DeleteItem(), endpoint: DELETE /tabla/<id> Los optimizadores realizan las siguientes solicitudes entre iteraciones del algoritmo evolutivo: Obtienen una lista de bloques para seleccionar el último. Obtienen el último bloque y de el extraen el id de los parámetros mas optimizados. Descargan los parámetros mas optimizados (si no los está usando ya) para usarlos en la siguiente iteración. Si encuentran un nuevo óptimo, lo envían a un nodo y si supera performance, el nodo crea un nuevo bloque. 22
23 Uso de la Plataforma Como usa un desarrollador la plataforma para escalabilidad de un EA Se deben instalar los nodos desde y configurarlos vía Web o CLI. Para cada nodo se deben configurar sus nodos vecinos para flooding y los usuarios (si se requiere más de uno). En sistemas operativos multi-tarea se puede instalar un optimizador (algoritmo evolutivo) y un nodo en el mismo dispositivo. Los desarrolladores deben modificar el código fuente de un EA (optimizador) que se encuentre funcionando correctamente. Estos cambios se muestran en el video y se implementó un ejemplo con NEAT. Entre iteraciones del EA, se deben hacer requests que descargan los mejores parámetros desde un nodo para reemplazarlos por los peores de la población (migración). 23 Navegador Web con manual de instalación en Github e interfaz de configuración de vecinos de red para flooding
24 Experimentos de Validación Descripción de Experimentos Resultados 24
25 Experimentos de Validación Validación de atributos de calidad provistos por descentralización Topología usada, cada dispositivo es un nodo y un optimizador Escalabilidad: Al adicionar optimizadores a una red, su capacidad computacional dedicada a optimización debería incrementarse respecto a unsolo dispositivo. Tolerancia a Fallas: El remover cualquier nodo, la optimización en otros dispositivos de la red no se debe detener y al reconectarse, se deben usar los parámetros más óptimos encontrados hasta el momento. Rechazo de resultados inválidos: El intento de introducir un resultado inválido debería ser futil debido a que los optimizadores validan los parámetros antes de usarlos. 25
26 Resultados de Experimentos Descripción de los experimentos Se usó: performance = capital_final / capital_inicial El promedio de ejecutar 10 veces la medición para cada etapa es Avg.Performance. Escalabilidad: Al realizar la optimización con 6 equipos se logró un mayor incremento en el desempeño que con uno. Stage Avg. Performance Control Table 3 Invalid Result Rejection Experiment Results Stage Number of Optimizers Avg. Performance Table 1 - Scalability Experiment Results Rechazo de resultado inválido: Al enviar un resultado inválido a un nodo (etapa 2), los optimizadores no lo usaron sino el mejor conocido hasta entonces, sin afectar significativamente el desempeño alcanzado. Stage Time [minutes] 3 Optimizers Group 2 Optimizers Group 1 Optimizer Table 2 Fault-tolerance Experiment Results Tolerancia a fallas: Al fragmentar la red en 3 grupos, cada uno progresó independientemente(etapa 2) y al reconectarse se usaron los parámetros más optimizados hasta el momento (etapa 3). 26
27 Trabajo Futuro y Conclusiones Trabajo Futuro Conclusiones 27
28 Conclusiones Es posible usar una prueba de trabajo de optimización para controlar el tiempo de bloque de un blockchain en una red descentralizada. Se puede usar el blockchain para almacenar en los nodos eventos de aplicación (autenticaciones, evaluaciones) y el estado de optimización para que los optimizadores puedan usar los parámetros mas optimizados encontrados hasta el momento. La plataforma implementada permite a un desarrollador usar un REST API entre iteraciones de un algoritmo genético para sincronizar su estado de optimización con otros optimizadores, proveyendo además registro de eventos, autenticación y autorización en una arquitectura descentralizada. El problema de la modificación del blockchain puede ser mitigado requiriendo una prueba de trabajo criptográfica similar a la de Bitcoin pero de menor dificultad en adición a que se requiera que el bloque contenga parámetros con un incremento suficiente en desempeño. 28
29 Trabajo Futuro Implementar una prueba de trabajo criptográfica adicional a la OPoW para obtener seguridad respecto a re-uso de la prueba de trabajo. Implementar un problema-board para usar múltiples problemas de optimización para la generación de prueba de trabajo como se hace en algunas upow Comparar diferentes funciones de migración para verificar como influyen en el desempeño de la optimización. Comparar diferentes configuraciones de las generaciones (iteraciones de EA) que se saltan entre migraciones. Probar diferentes algoritmos evolutivos y técnicas de optimización multi-nivel como CoDeepNEAT. 29
30 30 Gracias por su Atención
Criptomonedas y Tecnología
Criptomonedas y Tecnología Alejandro Hevia, Ph.D. Depto. Ciencias de la Computación, Universidad de Chile Jornada Temática Criptomonedas, Oportunidades y Desafíos desde Tres Perspectivas, Comisión de Hacienda,
Más detallesBitcoin Daniela Caballero Díaz 19-junio-2013
Bitcoin Daniela Caballero Díaz 19-junio-2013 Agenda Un recuerdo de Introducción a la Economía Bitcoin Conceptos Básicos Seguridad y Anonimato Consejos Un recuerdo de Introducción a la Economía Trueque:
Más detallesAPI: REST o RESTful WEB-SERVICES
API: REST o RESTful JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES API: Qué? y Por qué? Si estás construyendo apps o sitios Web, es probable que ya hayas oído hablar de APIs REST o incluso ya hasta las hayas utilizado,
Más detallesInteligencia Artificial
Algoritmos genéticos Bases En la naturaleza todos los seres vivos se enfrentan a problemas que deben resolver con éxito, como conseguir más luz solar o conseguir comida. La Computación Evolutiva interpreta
Más detalles4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:
4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: A continuación se muestran los objetivos así como los mapas funcionales según la línea de acentuación y la línea
Más detallesINVESTIGACIÓN OPERATIVA Redes Neuronales Artificiales y Aplicaciones INTEGRANTES: Armijos Mauricio Jara Iza Rony
INVESTIGACIÓN OPERATIVA Redes Neuronales Artificiales y Aplicaciones INTEGRANTES: Armijos Mauricio Jara Iza Rony Técnicas De La Inteligencia Artificial Programación Heurística Redes Neuronales. Evolución
Más detallesPruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba
Pruebas de Software R. Casallas Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes 1 Agenda Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba 2 1 Pruebas de Programas
Más detallesLa seguridad de blockchain como disrupción global para bitcoin y otras aplicaciones. Alejandro Hernandez 01/11/2018
La seguridad de blockchain como disrupción global para bitcoin y otras aplicaciones Alejandro Hernandez 01/11/2018 N 1 N 1 Bitcoin Es una divisa? Un bien de cambio? Un activo? Una burbuja? Siempre se habla
Más detallesAnexo 10. Pruebas verificadas
1 Anexo 10. Pruebas verificadas Introducción El proceso de pruebas inició con una revisión conceptual para la identificación de las pruebas por realizar, a partir de las características del proyecto. En
Más detallesIntroducción a GAM. Ahora queremos agregarle Seguridad a la aplicación, tanto a la parte web como a la de Smart Devices. Page1
Page1 Introducción a GAM En videos anteriores hemos venido desarrollando una aplicación web y para dispositivos móviles para administrar los datos de un evento, con información de sus conferencias, oradores,
Más detallesARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.
ARQUITECTURAS 1 IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI Carlos Reveco D. creveco@dcc.uchile.cl Arquitectura de una aplicación 2 Arquitectura: desarrolla un plan general del
Más detallesUNIVERSIDAD DON BOSCO
UNIVERSIDAD DON BOSCO Facultad: Ingeniería Escuela: Computación CONTROL DE LECTURA No 3 PRUEBAS DE SOFTWARE INGENIERIA DE SOFTWARE ING. MILTON NARVAEZ INTEGRANTES HERNÁNDEZ DOÑO NORBERTO ANTONIO MARROQUIN
Más detallesJorge De Nova Segundo
Jorge De Nova Segundo Una red peer-to-peer, red de pares, red entre iguales, red entre pares o red punto a punto (P2P, por sus siglas en inglés) es una red de computadoras en la que todos o algunos aspectos
Más detallesSDD-Documento de diseño del sistema
Bogotá 2016 SDD-Documento de diseño del sistema Cesar Sacristan y Manuel Morón PONTIFICIA UNIVERSIDAD JAVERIANA Contenido 1 Introducción... 2 2 Arquitectura... 3 2.1 Vista Lógica del Sistema... 3 2.1.1
Más detallesBlockchain. Tendencias de transformación digital
Blockchain Tendencias de transformación digital La tecnología de Blockchain surgió en el 2008 como la arquitectura que permitió la creación de la moneda virtual Bitcoin. Sin embargo, en los últimos años
Más detallesAnexo 1 Documento de Catálogo de Requisitos
Anexo 1 Documento de Catálogo de Requisitos 1. Objetivos El presente documento tiene como objetivo puntualizar los requerimientos funcionales y no funcionales del sistema de fichas bibliográficas que se
Más detallesNÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO
PACK FORMATIVO EN DESARROLLO DE APLICACIONES CON TECNOLOGÍA WEB NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO - Identificar la estructura de una página web conociendo los lenguajes
Más detallesSistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones
Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 29/08/2014 1.0 Versión Inicial Guillermo López 30/08/2014 1.1 Verificación
Más detallesPlaneador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software
Planeador de Torneos y Competencias: PLATYCO Documentación de la Arquitectura de Software Daniel Santiago Vásquez Acero 22/08/2014 Tabla de figuras Ilustración 1: Modelo "4+1"[1]... 4 Ilustración 2: Servicio
Más detallesBASES DE DATOS DISTRIBUIDAS
BASES DE DATOS DISTRIBUIDAS Una Base de Datos Distribuida entonces es una colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido en varios "sitios" de
Más detallesPROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
Más detallesSISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA
SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA PARA INARGOS LTDA. DOCUMENTO DE ARQUITECTURA DE SOFTWARE VERSIÓN 3.0 BOGOTÁ,
Más detallesFACULTAD DE INGENIERÍA
FACULTAD DE INGENIERÍA FORMACIÓN EN INGENIERÍA DE SOFTWARE Y BASES DE DATOS EN LOS ESTUDIANTES DE LA CARRERA DE ING. EN COMPUTACIÓN DE LA FI, UNAM EN EL PLAN DE ESTUDIOS 2015 MAYO, 2015 Porcentaje de alumnos
Más detallesBases de datos 1. Teórico: Introducción
Bases de datos 1 Teórico: Introducción Conceptos generales Base de Datos: Es un conjunto de datos relacionados Representa algún aspecto del mundo real Es construida para un propósito específico Database
Más detallesDeveloping ASP.NET MVC 4 Web Applications
Código: S28 Duración: 25 horas En este curso, los estudiantes aprenderán a desarrollar aplicaciones ASP.NET MVC con avanzadas tecnologías y herramientas de.net Framework 4.5. Se centrará en la codificación
Más detallesBases de Datos 2. Teórico
Bases de Datos 2 Teórico Modelos de Datos: definición Lenguajes usados para especificar BDs. Un Modelo de Datos permite expresar : Estructuras Objetos de los problemas: Por ejemplo: CURSOS( nro_curso,
Más detallesDocumento de Arquitectura XDS Versión 2.1
Documento de Arquitectura XDS Versión 2.1 Julio/2017 Equipo de Arquitectura Dirección del Proyecto Contenido Contenido... 2 Introducción... 4 Objetivo del Documento... 4 Interesados... 4 Listado... 4 Interesados
Más detallesUniversidad de Los Andes. Propuesta de Metodología de Arquitectura
Universidad de Los Andes Propuesta de Metodología de Arquitectura Febrero - 2011 El Método de Diseño Centrado en Arquitectura (ACDM) El ACDM es un método desarrollado por Anthony Lattanze de la Universidad
Más detallesCarrera : Academia de Sistemas y Computación. a) RELACIÓN CON OTRAS ASIGNATURAS DEL PLAN DE ESTUDIOS ASIGNATURAS TEMAS ASIGNATURAS TEMAS
1.- IDENTIFICACION DE LA ASIGNATURA Nombre de la asignatura : Bases de datos distribuidas Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : Horas teoría-horas práctica-créditos
Más detallesCurso Developing ASP.NET MVC 4 Web Applications (20486)
Curso Developing ASP.NET MVC 4 Web Applications (20486) Programa de Estudio Curso Developing ASP.NET MVC 4 Web Applications (20486) Aprende a desarrollar aplicaciones avanzadas de ASP.NET MVC usando tecnologías
Más detallesEspecificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor
Especificación de Requerimientos Nombre del Grupo de Desarrollo o Asignatura [Este documento es la plantilla base para elaborar el documento Especificación de Requerimientos. Los textos que aparecen entre
Más detallesArquitectura de Manejadores de Base de Datos
Arquitectura de Manejadores de Base de Datos Bases de Datos 2 - Tecnologo de Informatica Outline 1 Arquitectura de DBMS Modelos de Datos Arquitectura en 3 niveles e Independencia de datos Lenguajes e Interfaces
Más detallesCONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR.
CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR. La tecnología Cliente/Servidor es el procesamiento cooperativo de la información por medio de un conjunto de procesadores, en el cual múltiples clientes, distribuidos
Más detallesArquitectura ANSI/SPARC
Arquitectura ANSI/SPARC La arquitectura ANSI / SPARC se divide en 3 niveles denominados: 1. EL NIVEL INTERNO es el más cercano al almacenamiento físico. Es el que se ocupa de la forma como se almacenan
Más detallesFacultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS
PROCESOS DISTRIBUIDOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El proceso cliente servidor es la clave para comprender el potencial de los sistemas de información y las redes
Más detallesJavier Garson Desarrollador web Abril CSRF Falsificando peticiones
Javier Garson Desarrollador web Abril 2016 CSRF Falsificando peticiones Acerca de mi Javier Garson Aparicio Desarrollador web 4 años de experiencia en desarrollo web 2 años de experiencia haciendo pruebas
Más detallesSolución Integral de. TITULO Firma Electrónica en Cliente
Solución Integral de TITULO Firma Electrónica en Cliente Origen de FIRe: Cl@ve Firma Cl@ve Firma Plataforma de firma en la nube de las AA.PP Usuarios de Cl@ve Servicio de e- Admon GISS Proveedor del servicio
Más detallesSISTEMAS DE INFORMACIÓN: UNA INTRODUCCIÓN
SISTEMAS DE INFORMACIÓN: UNA INTRODUCCIÓN Maestría en Bioinformática Marzo 2010 Contenidos Datos, Información y Conocimiento Qué es un sistema de información? Cómo se desarrolla un sistema de información?
Más detallesGlosario Bitcoin. Por Tracey B. Young, ECC
Glosario Bitcoin Por Tracey B. Young, ECC Altura del Bloque Altura del bloque se refiere al número de bloques conectados entre sí en la cadena de bloques. Por ejemplo, Altura 0, sería el primer bloque
Más detallesSIGPRE Sistema de Gestión Presupuestaria
SIGPRE Sistema de Gestión Presupuestaria Plan de Pruebas UTN Histórico de Revisiones Fecha Versión Descripción Autor 10/1/2008 1.0 Borrador Roberto López Hinojosa 3/11/2008 1.1 Tipos de pruebas Roberto
Más detallesMVC(Modelo Vista - Controlador)
CakePHP Qué es un framework? Un framework es un ambiente universal y reusable de software, que provee de funcionalidades particulares como parte de una plataforma mas grande de software para facilitar
Más detallesAnálisis y comparación de monedas criptográficas basadas en la tecnología blockchain
Análisis y comparación de monedas criptográficas basadas en la tecnología blockchain Máster Universitario En Seguridad De Las Tecnologías De La Información Y De Las Comunicaciones (Mistic) Trabajo de Fin
Más detallesLa secuencia de referencias a páginas para el proceso B es:
SISTEMAS OPERATIVOS (Código: 71902048) Enero 2017 Material permitido: Solo calculadora no programable Tiempo: 2 horas N1 Aviso 1: Todas las respuestas deben estar debidamente razonadas. Aviso 2: Escriba
Más detallesTema: Despliegue de portal de servicios cautivos con autenticación proxy
Facultad: Ingeniería Escuela: Electrónica Asignatura: Seguridad en redes Seguridad en redes. Guía 12 1 Tema: Despliegue de portal de servicios cautivos con autenticación proxy Contenidos Servicios AAA
Más detallesCOPYRIGHT El copyright de este documento es propiedad de Camerfirma.
COPYRIGHT El copyright de este documento es propiedad de Camerfirma. No está permitido su reproducción total o parcial ni su uso con otras organizaciones para ningún otro propósito, excepto autorización
Más detallesMarcelo H. Gonzalez. 1, 2, 3 y 4 de octubre de 2017 Buenos Aires Argentina
Marcelo H. Gonzalez 1, 2, 3 y 4 de octubre de 2017 Buenos Aires Argentina 1, 2, 3 y 4 de octubre de 2017 Buenos Aires Argentina La interacción digital es la clave del futuro 1, 2, 3 y 4 de octubre de 2017
Más detallesPROGRAMA DE ESTÍMULOS A LA INNOVACIÓN
TÍTULO DEL PROYECTO: Diseño y Pruebas de servidor de alto desempeño, procesador gráfico e investigación en IoT EMPRESA BENEFICIADA: Intel Tecnología de México, S.A. de C.V. MODALIDAD: INNOVATEC MONTO DE
Más detallesImplementación y Evaluación del algoritmo de sincronización RBS para redes inalámbricas de sensores
PROYECTO DE TESIS DE MAESTRÍA EN INGENÍERIA DE TELECOMUNICACIONES Implementación y Evaluación del algoritmo de sincronización RBS para redes inalámbricas de sensores Alumno: Seyed Mohammad Pakdaman Tutor:
Más detallesAlejandro Ardila Schickler 9/4/2013
PONTIFICIA UNIVERSIDAD JAVERIANA MOOSTREAM Software Architecture Document (SAD) Alejandro Ardila Schickler 9/4/2013 Historial de Cambios FECHA DESCRIPCIÓN 05/09/2013 Creación de secciones 1 a 5 21/10/2013
Más detallesEspecificaciones de Actualización de Sistema Aplicación de Plataforma Zen: Sistema de Nodo Multinivel y Cadenas Laterales para Descentralizar la Red
Especificaciones de Actualización de Sistema Aplicación de Plataforma Zen: Sistema de Nodo Multinivel y Cadenas Laterales para Descentralizar la Red Abril 2018 Pier Stabilini, Robert Viglione y Alberto
Más detallesSISTEMA ELECTRÓNICO DE CONTRATACIONES MANUAL DE USUARIO FINAL MÓDULO DE PROVEEDORES Y CONTRATISTAS
HOJA 1 DE 32 SISTEMA ELECTRÓNICO DE CONTRATACIONES MANUAL DE USUARIO FINAL MÓDULO DE PROVEEDORES Y CONTRATISTAS Versión 1.0 HOJA 2 DE 32 1. Contenido 1. Requerimientos... 4 1.1. Instalación de Navegador
Más detallesCapítulo 3: Implementación hardware mediante plataforma en tiempo real. Capítulo 3 Implementación hardware mediante plataforma en tiempo real 33
Capítulo 3 Implementación hardware mediante plataforma en tiempo real 33 Capítulo 3: Implementación hardware mediante plataforma en tiempo real En el presente capítulo se va a describir los desarrollos
Más detallesUn importante problema para sistemas de la nueva generación
Un importante problema para sistemas de la nueva generación J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988. Manifestar
Más detallesArquitectura de un Controlador Electrónico de Procesos
Arquitectura de un Controlador Electrónico de Procesos Unidad Central de Procesamiento (CPU) La unidad central de procesamiento es el elemento más importante de un controlador electrónico de procesos.
Más detallesRedes de Computadoras. Obligatorio
Redes de Computadoras Obligatorio 3-2018 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente el Reglamento del
Más detallesoctubre de 2007 Arquitectura de Software
octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la
Más detallesAranda SERVICE DESK WEB
NOMBRE DEL PRODUCTO: ARANDA SERVICE DESK WEB 8.15.1 VERSIÓN DE ACTUALIZACIÓN QUE SE LIBERA: 8.15.1 FECHA DE LIBERACIÓN: 27/10/2017 LISTADO DE ARCHIVOS Nombre de Archivo Versión Tamaño (En Bytes) Destino
Más detallesAplicación Android con Web Service Catálogo de productos en Android. Aplicación dirigida a: Accesorios Alma Mística.
Aplicación Android con Web Service Catálogo de productos en Android Aplicación dirigida a: Accesorios Alma Mística Instituto: UneWeb Elaborado: Ing.Yesid Steven Hernández Sossa 1. Denominación del proyecto
Más detallesBootstrapping Databases en equipos móviles
+ Bootstrapping Databases en equipos móviles Carlos Andrés Gajardo Maureira Profesor Guía: Jérémy Barbay Miembros de la comisión: Benjamín Bustos C. Javier Bustos J. + Índice 1 1. Introducción 2 2. Análisis,
Más detallesIngeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0
Ingeniería de Software II SETEPROS Versión 1.0 Historial de revisiones Date Version Description Author 1.0 Primera versión Marcos Duque Oviedo Ingeniería de Software II, 2010 Página 2 de 11 Tabla de contenidos
Más detallesSoftware Design Document. SENTINEL: Analítica sobre percepción de corrupción en Facebook. Trabajo de grado Ingeniería de Sistemas
Software Design Document SENTINEL: Analítica sobre percepción de corrupción en Facebook Trabajo de grado 2017-30 Ingeniería de Sistemas Pontificia Universidad Javeriana Manuela Forero Pedreros Jeffrey
Más detallescuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar
cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Realizado por: Raúl García Calvo Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar Objetivos Implementar un algoritmo
Más detallesArquitectura e Integración de Sistemas Software. Proyecto: Gestión de Almacenes de Libros
Arquitectura e Integración de Sistemas Software Proyecto: Gestión de Almacenes de Libros Realizado por: Sergio Rodríguez Calvo, Juan Manuel López Pazos y Sebastián Rodríguez García Ingeniería del Software,
Más detallesDOCUMENTO DE ARQUITECTURA DE SOFTWARE JAVIER FELIPE VASQUEZ ROLDAN PABLO ROBAYO RODRIGUEZ
DOCUMENTO DE ARQUITECTURA DE SOFTWARE JAVIER FELIPE VASQUEZ ROLDAN PABLO ROBAYO RODRIGUEZ PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS BOGOTÁ, D.C. 2017 Tabla
Más detallesAnexo 9. Plataformas MV3D y LMS integradas
1 Anexo 9. Plataformas MV3D y LMS integradas El desarrollo de componentes, como se plantea en la arquitectura propuesta, comprende tres niveles identificados por la plataforma: servidor de recursos, LMS
Más detallesMetaheurísticas
UNIVERSIDAD DE GRANADA E.T.S.I. INFORMÁTICA Y TELECOMUNICACIÓN Departamento de Ciencias de la Computación e Inteligencia Artificial Metaheurísticas http://sci2s.ugr.es/graduatecourses/metaheuristicas https://decsai.ugr.es
Más detallesDesarrollo de soluciones de Microsoft SharePoint Server 2013 Core Duración: 40 horas Código: MS-20488
Desarrollo de soluciones de Microsoft SharePoint Server 2013 Core Duración: 40 horas Código: MS-20488 Descripción: En este curso, los estudiantes aprenden habilidades esenciales que son comunes a casi
Más detallesDesarrollo ágil basado en pruebas de aceptación
Desarrollo ágil basado en pruebas de aceptación Patricio Letelier letelier@dsic.upv.es Qué resultados de I+D tenemos? TUNE-UP Process: enfoque y herramienta de apoyo para gestión ágil de proyectos (equipos
Más detallesDESCUENTOS SICO MOBILE
SCUENTOS /5. OBJETIVO Dar a conocer el proceso a realizar para la correcta configuración de las promociones y descuentos ofrecidos por la empresa Coexito S.A.S. a los clientes en la aplicación web para
Más detallesCómo Impacta la Tecnología Blockchain* en el Sector Energético?
Fuente: Con información de PwC y Energy Web Foundation. Cómo Impacta la Tecnología Blockchain* en el Sector Energético? El empleo de esta tecnología financiera podría simplificar las transacciones en mercados
Más detallesTécnicas de Pruebas de
Técnicas de Pruebas de Software Lecturas Pruebas de Unidades Pruebas Integración Docente Beatriz E. Florián bflorian@eisc.edu.co Mayo 3 de 2005 Pruebas Reglas de oro para pruebas Límites de Pruebas: Probar
Más detallesTÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE CONTROLADORES LÓGICOS PROGRAMABLES
TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE CONTROLADORES LÓGICOS PROGRAMABLES 1. Competencias Desarrollar y conservar sistemas automatizados
Más detallesExperto en Desarrollo GIS
Experto en Desarrollo GIS 2018 2019 Introducción El programa Experto en Desarrollo GIS nace de la demanda de mercado de desarrolladores con conocimientos de Plataforma ArcGIS y que a día de hoy no está
Más detallesInspección de Diseño Similar a la inspección de código, pero se realiza sobre los documentos de diseño.
Clasificación Ortogonal de Defectos Atributo Actividad Se refiere a la actividad que se estaba realizando cuando se produce la falla. En el caso de inspecciones, es la actividad que detecta el defecto
Más detallesMS_10554 Developing Rich Internet Applications Using Microsoft Silverlight 4
Developing Rich Internet Applications Using Microsoft Silverlight 4 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso
Más detallesintechractive.com Funciones Hash: Aplicaciones en los Sistemas Computacionales Elaborado por: Gimer A. Cervera Evia, Ph.D.
Funciones Hash: Aplicaciones en los Sistemas Computacionales Elaborado por: Gimer A. Cervera Evia, Ph.D. Funciones Hash: Aplicaciones en los Sistemas Computacionales. Qué es una función hash? Cómo funciona
Más detallesDiseño: Arquitectura de Software. IF 7100 Ingeniería del Software
Diseño: Arquitectura de Software IF 7100 Ingeniería del Software 1 Qué es arquitectura de software? Es la definición de una solución estructurada que cumpla todos los requerimientos técnicos y operacionales,
Más detallesBases de Datos Distribuidas IFM Participantes. Integrantes de la Academia de Sistemas Computacionales
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas-teoría-practica-crédito: Bases de Datos Distribuidas Ingeniería en Sistemas Computacionales IFM - 0406 3-2-8 2.-
Más detallesMODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL
MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL Requerimientos del sistema de información son predecibles. Requiere almacenamiento de datos en archivos y BD. Sirve para modelar sistema
Más detallesCertificados e Infraestructura de Llave Pública
Certificados e Infraestructura de Llave Pública Francisco Rodríguez-Henríquez CINVESTAV-IPN Depto. de Ingeniería Eléctrica Sección de Computación Conceptos Básicos Autenticación: Definición La Autenticación
Más detallesBlockChain: Una base de datos distribuida de solo escritura para mantener libros de
BlockChain: Una base de datos distribuida de solo escritura para mantener libros de cuentas distribuidos. Joaquín Salvachúa ( joaquin.salvachua@upm.es), Juan Quemada, Alvaro Alonso Fecha Indice Bitcoin
Más detallesGive me Your Coins Quienes Somos?
Give me Your Coins Quienes Somos? Albert Puigsech Albert Sellarès @apuigsech apuigsech @whatsbcn whats Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. Creador de la publicación
Más detallesClústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17
Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17 Al escuchar la palabra clúster se piensa en grandes maquinas exclusivas de los grandes de la computación
Más detallesAhora queremos agregarle Seguridad a la aplicación, tanto a la parte Web como a la de Smart Devices.
Introducción GAM Nuestro problema a resolver será construir una aplicación para una inmobiliaria, con una parte Web y una parte para Smart Devices para ser utilizada por los agentes inmobiliarios en su
Más detallesLos niveles de acceso que trata el literal b) son:
Anexo Documento de condiciones mínimas de seguridad e integridad para la transmisión de las lecturas desde los medidores hacia el Centro de Gestión de Medidas y entre este último y el ASIC Agosto de 2017
Más detallesCAPITULO 2: MARCO TEÓRICO. En el desarrollo de este capítulo se presentan descripciones generales,
CAPITULO 2: MARCO TEÓRICO En el desarrollo de este capítulo se presentan descripciones generales, definiciones y métodos, que nos pueden ayudar a entender con claridad el método que desarrolló en esta
Más detallesSistemas Distribuidos. Prog. Distribuida bajo Internet
Sistemas Distribuidos Prog. Distribuida bajo Internet Definición Hay muchas definiciones Básicamente, varios computadores o nodos de computación en lazados mediante una red y que comparten datos, procesamiento,
Más detallesSISTEMAS MULTIAGENTES EN AUTOMATIZACION INDUSTRIAL INTELIGENTE
Universidad de Los Andes Facultad de Ingeniería Dpto. de Sistemas de Control Maestría en Ingeniería de Control y Automatización Centro de estudios en Microelectrónica y sistemas Distribuidos Mérida - Venezuela
Más detallesANEXO APLICACIÓN DE FIRMA
ANEXO APLICACIÓN DE FIRMA Como se ha comentado anteriormente, uno de los principales usos del DNI electrónico es la realización de firma electrónica. Para utilizar esta funcionalidad de firma, numerosas
Más detallesCapítulo 3: Método propuesto: Sistema Distribuido de Realidad Aumentada
Capítulo 3: Método propuesto: Sistema Distribuido de Realidad Aumentada En este capítulo se describe el desarrollo del framework de Realidad Aumentada distribuido que se propone en este proyecto de tesis,
Más detallesComputación en Internet: Librería MALLBA para problemas de optimización
Computación en Internet: Librería MALLBA para problemas de optimización Maria J. Blesa Jordi Petit Fatos Xhafa Departament de Llenguatges i Sistemes Informàtics Universitat Politècnica de Catalunya Campus
Más detallesEgdares Futch H. CISSP, CISA, CobIT, ITIL, SSGB, MCP IV Foro de Seguridad Digital Colombia 2017
Ajiaco con Blockchain, arepa con Blockchain, todo con Blockchain! Egdares Futch H. CISSP, CISA, CobIT, ITIL, SSGB, MCP IV Foro de Seguridad Digital Colombia 2017 Blockchain en las noticias Floyd Mayweather
Más detallesSistemas Distribuidos: Migración de Procesos
Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre 2013 Febrero 2014 Objetivos Entender la importancia
Más detallesSistemas Distribuidos de Tiempo Real
MASTER EN COMPUTACIÓN Sistemas Distribuidos de Tiempo Real PRÁCTICAS: Distribución con Ada y CORBA Por: J. Javier Gutiérrez gutierjj@unican.es Héctor Pérez Tijero perezh@unican.es http://www.ctr.unican.es/
Más detallesCapítulo 1. Introducción
Capítulo 1. Introducción Capítulo 1 Introducción 1.1 Contexto El trabajo tiene por cuadro científico el Equipo Tecnologías de Bases de Datos del Centro de Investigación en Tecnologías de Información y
Más detallesComputación distribuida usando redes P2P: Caso práctico en el área de recuperación de Información
Computación distribuida usando redes P2P: Caso práctico en el área de recuperación de Información jor-cama@uniandes.edu.co April 24, 2008 Introduccón Conceptos IR en redes P2P Retos Agenda 1 Introduccón
Más detallesCAPÍTULO 5 DESARROLLO DEL SISTEMA
DESARROLLO DEL SISTEMA CAPÍTULO 5 DESARROLLO DEL SISTEMA 5.1 IMPLEMENTACIÓN DE BASE DE DATOS La implementación de la base de datos se realizó usando el manejador de Bases de datos Microsoft SQL Server
Más detallesFORMACIÓN ESPECIALIZADA EN CRIPTO ECONOMÍA
FORMACIÓN ESPECIALIZADA EN CRIPTO ECONOMÍA QUÉ ES LA CRIPTOECONOMIA? Es una nueva forma de pensar y desarrollar mecanismos económicos aplicando técnicas criptográficas y herramientas tecnológicas. La criptoeconomía
Más detallesII Unidad EL ALGORITMO GENETICO BINARIO. Rafael Vazquez Perez
II Unidad EL ALGORITMO GENETICO BINARIO Rafael Vazquez Perez Contenido 2.1.- Algoritmos Genéticos: La Selección Natural en una Computadora 2.2.- Componentes de un Algoritmo Genético 2.2.1.- Selección de
Más detalles