wiki:SessionMulticast
Last modified 7 years ago Last modified on 05/31/10 10:09:57

NOTA: Información a espera de ser confirmada por el grupo.

updcast (udp-sender; udp-receiver) - Implementación Multicast linux-gnu

version: 20100130

Introducción comunicación udp-sender y udp-receiver

Un cliente (udp-receiver), cuando se inicia, espera hasta encontrar, por broadcast, al equipo que por defecto tenga abierto el puerto (portbase) 9000.

El servidor (udp-sender) recibe las peticiones de participar en la sesión multicast en el puerto (portbase). Después utilizará otro puerto de control (portbase +1; por defecto el 9001) y una dirección de mulitcast donde enviará los datos, y los cliente estará escuchando. (Estos dos últimos valores se los proporciona el servidor a los cliente.

NOTA: el portbase será usado por OpengGnSys? como identificador de sessión mulitcast.

SESION MULTICAST

Para opengnsys, inicialmente una sesión multicast el formato o sintaxis es diferente para el servidor y los clientes (el identificador de la sessión es el $PORTBASE) NOTA: $PORTBASE será el identificador de la sessión.

Descripción de las opcciones de la sesión multicast:

  • PORTBASE:
    • Identificador de la sessión: Puerto utilizado por los clientes para detectar al host que serve el mulsticast.
    • El valor de este puerto por defecto es el 9000, aúnque también utiliza el portbase+1 (9001) para el control de la transferencia multicast.
    • Si qeremos utilizar varias sesiones multicast al mismo tiempo en una misa subred debemos utilizar como PORTBASE 9000 9002 9004 9006 ... . NOTA, los impares (9001,9003,9005 ....) son utilizados como control de transferencia.
  • METHOD:
    • full-duplex
    • half-duplex
    • broadcast
  • ADDRESS:
  • BITRATE:
    • Tasa de transferencia en Mega bits / segundos.
    • Máximo soportado por udpcast 100M
  • NCLIENTS:
    • número de clientes que participarán en la sesión.
    • El servidor esperará el inicio de su sesión hasta que este número de clientes esten unidos a la sessión. * ver MAXTIME
  • MAXTIME:
    • Valor que modifica al NCLIENTS.
    • En el caso de que el tiempo indicado en segundos se haya agotado, se inicia la transferencia, aunque el NCLIENTS no

FUNCIONES ENGINE Protocol.lib

  • Composición de la instrucción.
    • ogGenerateSintaxMcast
  • Envio de ficheros por multicast para UpdateCache
    • ogSendFileMcast
    • ogReceiveFileMcast
  • Envio por multicast del contenido de los ficheros-imagenes directamente a las particiones destino - Para !restorePartition.
    • ogSendImageMcast
    • ogRestoreMcastImage
  • Envio por multicast el contenido de una particion a multiples particiones destinio - Para CloneRemotePartition
    • ogSendPartitionMcast
    • ogReceivePartitionMcast

Ejemplo Sesión Multicast para el servidor

Formato: PORTBASE:METHOD:ADDRESS:BITRATE:NCLIENTS:MAXTIME

Ejemplo Sesión Multicast para el/los cliente/s

Formato: PORTBASE

Ejemplo de un Deploy (UpdateCache?+restore) con multicast con OG

NOTA: observar que el identificador de la sesión es el PORTBASE (9000)

El REPO - usa la función ogMcastSendFile-

sintaxis scripts-proceso para el REPO:

sendFileMcast "path_file" "SESSIONMULTICASTserver"

ejemplo scripts-proceso para el REPO:

 sendFileMcast "/opt/opengnsys/images/PS1_PH1.img" "9000:full-duplex:239.194.17.36:90M:15:120"

El cliente -usa la función ogMcastReceiverFile-

sintaxis scripts:

restoreImage CACHE /imagen 1 1 MULTICAST $SESSIONMULTICASTclient

ejemplo scripts:

restoreImage CACHE /PS1_PH1 1 1 MULTICAST 9000

Funciones usadas por sendFileMcast y restoreImage [MULTICAST]

Explicación sintaxis de función ogMcastSendFile(origen destino) usada por el scripts-proceso sendFileMcast

* Origen: file
   1 parametro:   /path_fichero
   2-3   parámetros:  ContenedorIMAGEN  /file                   -- contenedor específico para los ficheros_imagenes
   2-3-4 parámetros:  int_disk          int_partition  /file
* Destinio SESSIONMULTICASTserver
    PORTBASE:METHOD:ADDRESS:BITRATE:NCLIENTS:MAXTIME

Sintaxis funcion: ogMcastReceiverFile Origen Destino

* param 1 Origen: SESSIONMULTICASTclient
* param 2-3 Destino: 
   2     parametro:   /path_fichero
   2-3   parámetros:  ContenedorIMAGEN  /file                   -- específico para las imagenes
   2-3-4 parámetros:  int_disk          int_partition  /file

Ejemplo de un restoreImage por multicast con OG

Ejemplo de una Clonación por multicast con OG