Vistas de página en total

miércoles, 18 de mayo de 2011

Ponencias Congreso Cajamarca

METODOS DE SEGURIDAD EN REDES DE ALTA VELOCIDAD

La expansión y evolucion que han alcanzado las redes informaticos a todo nivel: Empresarial, institucional y gubernamental a hecho que los temas relacionados con la seguridad sea un factor primordial en el desarrollo cotidiano de las organizaciones. Sociedades con tecnologías de banda ancha han permitido modificar drásticamente el manejo de las transacciones en empresas u organizaciones, las tendencias de cloud computing o desarrollo en la nube, han hecho que la seguridad sea característica primordial a terner en cuenta en la infraestructura de red
.
Los principales puntos a tener en cuenta para considerar la seguridad en las redes de alta velocidad son:
AUTENTICACION.- Es el proceso de verificar la identidad de los usuarios antes de dejarlos ingresar al sistema el cual se realiza confrontando la información recibida, aquella almacenada en una base de datos.

CONTROL DE ACCESO.- su función es proteger contra accesos no autorizados a cualquier recuerso. El termino acceso no autorizado involucra la falta de permiso para el uso, modificación, destrucción, etc. De los recursos del sistema del usuario.

CONFIDENCIALIDAD E INTEGRIDAD.-  significa asegurar que la información no se revele a personas no autorizadas y que se protejan los datos transmitidos contra ataques pasivos, como la intercepción. Garantiza que los datos no hayan sido alterados interna o externamente en el sistema.

NO REPUDIO.- es el proceso con el que se obtiene una prueba irrefutable de la identidad del emisor, asi como de la integridad de los datos recibidos y/o enviados. Con este servicio, ni el transmisor, ni el receptor del mensaje serán capaces de negar su transferencia.

CRIPTOGRAFIA.- son los métodos o algoritmos que se usan para proteger los datos de posibles intercepciones.

De acuerdo a la presentación, se muestran los tipos de tecnologías existentes en este momento en el mercado informatico, para tratar de dar solución de una manera pro-activa a las amenazas de seguridad manifestadas anteriormente para esto podemos realizar una diferencia en el uso de tecnologías para prevenir tanto ataques internos como ataques externos.

Tenemos herramientas y dispositivos tanto de software como de hardware, para prvenir ataques externos, a los cuales podemos denominarlos como  Dispositivo de seguridad de perímetro, encontrándose dentro de esta clasificación los firewalls, los switches, con aplicaciones en conjunto para sistemas de detección de intrusos, Zone Defense.

La primera línea de defensa de una organización debe de ser la Autenticacion y validadcion de los usuarios a la red, luego tener una lista de accesos autorizados, la cual puede darse en los dispositivos capa 2 como los switches o los puntos de acceso inalámbricos para saber que dispositivos están permitidos de ingresar a la red y a que recursos tiene derecho.
También se tienen dispositivos y herramientas para prevenir ataques internos, en este caso algunos dispositivos de redes como tarjetas, switches y otros vienen incorporando protocolos de seguridad como  IPSEC, o traen herramientas de inspección de trafico malicioso a fin de preveer ataques al interior de la red. Con eso se protegen los puntos finales de la red de toda la gama de intrusiones no validas, pudiendo mostrar alarmas a toda la red de intentos de intrusión.
Existen también los software de gestión de seguridad que permite tener una visión consolidada de todos los


SILVERLIGHT

Microsoft Silverlight es un complemento para navegadores de Internet basado en la plataforma Windows que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones y de entorno de desarrollo; en forma similar a lo que hace Adobe Flash.

Microsoft Silverlight es un complemento de Microsoft que nos permite desarrollar aplicaciones enriquecidas para la web. Silverlight funciona sobre varias plataformas y múltiples exploradores y proporciona una nueva generación de experiencias de usuario basadas en .NET
       Permite crear experiencias multimedia enriquecidas para la web.
       Graficos Vectoriales, archivos Multimedia, animacion y capas superpuestas.
       Basada en .Net Framework
       Diferentes opciones de lenguajes de desarrollo
       Silverlight conserva un modo de gráficos de sistema, similar al del WPF e integra en un solo complemento multimedia, gráficos de computador, animaciones e interactividad. La base de su programación es XAML y el acceso a los objetos esta dado por C# y Visual Basic (aunque la versión 1.0 trabajaba a partir de JavaScript). El XAML puede ser usado para marcar los gráficos vectoriales y las animaciones.
       Microsoft Expression Blend es la herramienta de Microsoft que se utiliza para crear las animaciones en Silverlight.
       Silverlight soporta playback del formato de video VC-1 en todos los navegadores compatibles sin requerir el control ActiveX del Reproductor de Windows Media. Sin embargo, la EULA dice que la licencia del VC-1 es "sólo para uso personal y no-comercial de un consumidor". El contenido creado con Silverlight sería más "buscable" e "indexable" que aquel que fue creado con Adobe Flash por no estar compilado, pues se representa como un texto XAML.
       Con Silverlight es posible cargar dinámicamente un contenido XML que puede ser manipulado a través de una interfaz DOM, una técnica que es compatible con aquellas convencionales del lenguaje AJAX. Silverlight tiene un "Downloader" (descargador) para tomar scripts u otros medios y guardarlos en el equipo, cuando es requerido por la aplicación. También soporta lenguajes dinámicos de programación como Ruby y Python.

Arquitectura silverlight

  •        Input - Maneja la información que aportan los dispositivos de entrada como los teclados, el ratón, el stylus, etc.
  •        Núcleo UI - Maneja el rendimiento de las imágenes bitmap (incluyendo las imágenes raster como JPEG, los gráficos vectoriales, el texto y las animaciones).
  •        Media - Reproducción en línea de MP3, Windows Media y VC-1.
  •     XAML - Permite que la disposición de UI sea creada usando el lenguaje de marcas XAML.


RELACION CON LOS ESTANDARES ACTUALES DE INTERNET
De acuerdo con el organismo internacional sin fines de lucro, el Comité Internacional Europeo para la Interoperación entre Sistemas ("European Committee for Interoperable Systems") existe cierta preocupación de que con Silverlight Microsoft trata de introducir contenido en la red al que sólo se podría acceder desde la plataforma Windows. Argumentan que el uso deXAML en Silverlight se coloca para reemplazar al estándar HTML que es multi-plataforma. Efectivamente, si Silverlight llega a ser usado de forma amplia por mucha gente, existe el riesgo de que los usuarios tengan que llegar a comprar productos de Microsoft para poder acceder al contenido de internet.
CONTROLES BASICOS DE SILVERLIGTH
Se tienen los siguientes controles básicos como los RadioButton, Button, TextBox, TextBlock, Label, CheckBox, Calendario, etc y se pueden agregar más con los tollkits. 


PROGRAMACION PARALELA APLICADA A TECNICAS DE INTELIGENCIA ARTIFICIAL

Las técnicas de Programación Paralela se han venido aplicando a diversos campos para resolver problemas de una alta dimensionalidad o mejorar los tiempos de repuestas de las soluciones computacionales de algunos problemas. En el campo de la Inteligencia Artificial (IA) se han consolidado, en los últimos años, varias meta heurísticas aplicadas a la solución de diversos problemas fundamentalmente de optimización.

Introducción

La Computación Paralela es el empleo de una computadora paralela y la concurrencia para:
        Disminuir el tiempo de ejecución en la solución de problemas costosos  computacionalmente.
          Aumentar la dimensión del problema que puede resolverse.
Cuando se habla de Computación Paralela, generalmente se deben tener en consideración dos aspectos: el hardware y el software necesario para realizar este procesamiento de altas prestaciones. De este modo, un Computador Paralelo es un conjunto de procesadores que es capaz de trabajar de forma cooperativa para resolver un problema computacional. Definido en estos términos se abarca los grandes supercomputadores paralelos, muy costosos en su momento, los clusters de computadoras, es decir, un grupo de computadoras conectadas casi siempre en una red privada para ejecutar programas como si fuesen una sola computadora, así como maquinas multiprocesadores como lo son los actuales Core 2 Duo, QuatCore, etc. En estas arquitecturas múltiples flujos de instrucciones operan sobre múltiples flujos de datos y el modelo de computador paralelo se conoce por sus siglas del Inglés MIMD (multiple instructions, multiple data). Una importante diferencia existe entre la arquitectura de los supercomputadores y los computadores multiprocesadores con respecto a los clusters de computadoras, en los primeros la memoria es compartida y por lo tanto los programas que se ejecuten en paralelo tendrán acceso a toda ella al mismo tiempo dando lugar a posibles secciones críticas. 

El proceso de diseñar y construir programas paralelos podría resumirse en los pasos siguientes:
1- Si tienes el programa serie que resuelve el problema, ejecútalo paso a paso y trata de conocer sus interioridades.
2- Identifica las partes del programa/problema que puedan ejecutarse concurrentemente.
Requiere comprensión del algoritmo
Explota el paralelismo inherente que pueda existir
Puede requerir reestructuración del programa y/o del algoritmo.      
Puede ser que se necesite un algoritmo totalmente nuevo.
3- Decomponer el programa.
            Paralelismo Funcional (o de Control)
            Paralelismo de Datos
            Paralelismo de Flujo
            Combinación de las anteriores fuentes de paralelismo.
4- Desarrollo de la codificación del programa.
El código puede estar influenciado/determinado por la arquitectura de la computadora
Seleccione el paradigma de programación
Determine las comunicaciones
Adicione código asociado a las tareas de mapeo, control y comunicación
5- Compile, ponga a punto y pruebe.
6- Optimización.
Mida el rendimiento y mejórelo si es posible.
Se debe insistir en la idea que aplicar alguna metodología para realizar el proceso de diseño de la solución paralela es beneficioso dada la necesidad de extraer correctamente el paralelismo y teniendo en cuenta la mayor complejidad de programar y poner a punto programas paralelos.

Técnicas de Inteligencia Artificial y su paralelización.

La Inteligencia Artificial (IA) es un área dentro de la Computación de gran desarrollo e interés. Dentro de la IA los métodos de búsqueda han jugado un rol primordial en la exploración del espacio de búsqueda de soluciones. En la actualidad se estudian y desarrollan meta heurísticas, como estrategias de alto nivel que “guían” el proceso de exploración del espacio de búsqueda, utilizando diferentes métodos.

Como parte de esta presentación centraremos el estudio en tres estrategias: la Búsqueda Tabú (perteneciente a los llamados métodos de trayectoria), los Algoritmos Genéticos y la Optimización basada en Colonias de Hormigas (estos últimos pertenecientes a los llamados métodos poblacionales).

Búsqueda Tabú (TS).
La búsqueda Tabú es una de las más exitosas meta heurísticas aplicadas en la solución de problemas de optimización. 
Durante los últimos 15 años se han reportado varios trabajos de paralelización de esta técnica. En el 2004 se reporta el trabajo en el que se presenta un framework que implementa los modelos paralelos para esta estrategia.
Generalmente las implementaciones paralelas de la búsqueda Tabú se dividen en dos variantes, aunque se pueden encontrar otras en la literatura:
a)    modelo paralelo de movimientos
Este modelo se basa en aprovechar las fuentes de paralelismo presentes en esta técnica, fundamentalmente el paralelismo en la evaluación de la función de costo y el paralelismo en la evaluación y examen de la vecindad del estado actual para decidir hacia que estado se debe hacer el próximo movimiento.
b)    modelo paralelo multi-inicio.
Este modelo se basa en realizar una ejecución paralela del algoritmo con diferente solución inicial y diferentes valores de  los parámetros. Estos algoritmos pueden ejecutarse concurrentemente totalmente independientes uno de otros, o también pueden cooperar a través del intercambio de las mejores soluciones encontradas por cada uno de ellos.

No hay comentarios:

Publicar un comentario