Compartir a través de


Chunking

La fragmentación puede considerarse similar a la segmentación. (Para obtener más información, vea Entrega de segmentos). La distinción es que la segmentación viene determinada por el vínculo de comunicaciones entre el nodo local y el sistema remoto, mientras que la fragmentación viene determinada por el vínculo de comunicaciones entre la aplicación y el nodo local.

La aplicación indica en la solicitud Open(SSCP) si admite la fragmentación y, si es así, el tamaño del fragmento en bytes que quiere usar. A continuación, el nodo local usa el tamaño de la unidad de solicitud/respuesta (RU), el tamaño del fragmento y el tamaño del segmento (si procede) para determinar si es necesario fragmentar. A continuación, especifica los tamaños de fragmento usados para el flujo entrante y saliente (que no necesitan ser iguales) en la Open(PLU) Request. Estos valores se especifican en unidades de elementos. (Para obtener más información, vea Mensajes). Un valor de cero para cualquiera de estos tamaños indica que la fragmentación no es necesaria porque el tamaño del fragmento no es el factor de limitación. Tenga en cuenta que, al fragmentar los datos, una RU no se dividirá en medio de un elemento. Esto evita la copia de datos.

Por ejemplo, supongamos que el nodo local usa un tamaño de RU de 8 kilobytes (KB) y segmentos de 2 KB, y la solicitud Open(SSCP) de la aplicación especifica la entrega de segmentos y un tamaño de fragmento de 4 KB. La fragmentación se usará en el flujo de datos de entrada (porque el tamaño del fragmento es menor que el tamaño de RU), pero no es necesario en el flujo de datos saliente (ya que los datos se entregarán en segmentos que son más pequeños que el tamaño del fragmento).

Si se usa la fragmentación en cualquier dirección, todos los valores de crédito especifican el número de fragmentos que se pueden enviar en esa dirección, no el número de RU. Tenga en cuenta que la opción de entrega de segmentos se incluye en la solicitud Open(SSCP) para permitir que el nodo local calcule los valores de crédito del fragmento inicial en la conexión PLU correspondiente. La aplicación también debe establecer esta opción en la respuesta Open(PLU). Si la solicitud Open(SSCP) y la respuesta open(PLU) tienen una configuración diferente de esta opción, se usará la configuración de la respuesta Open(PLU). Esto puede significar que el valor de crédito inicial utilizado no es adecuado.

Si se usa el ritmo de nivel de sesión, el nodo local lo vincula al crédito de fragmentación. En concreto, si la aplicación retiene el crédito, el nodo local retrasará el envío de una respuesta de ajuste de ritmo al host, aplicando así una presión de retroceso al host. Esta vinculación se controla mediante el nodo local y la aplicación no necesita gestionarlo.

Las marcas de aplicación en fragmentos de RU se controlan de la misma manera que las de los segmentos. (Para obtener más información, vea Marcas de aplicación y entrega de segmentos). En particular:

  • FMHI, BCI, COMMIT, BBI, EBI, CODE, ENCRYP, ENPAD, QRI y CEI solo se establecen en el primer fragmento de una RU.

  • ECI y CDI solo se establecen en el último fragmento de una RU.

  • BBIUI siempre se establece en el primer fragmento de una RU.

  • EBIUI siempre se establece en el último fragmento de una RU.

    Tenga en cuenta que EBI se establece en el primer fragmento de la última RU entre corchetes y no en el último fragmento como se esperaba. Este es el mismo comportamiento que para la entrega de segmentos. La aplicación debe usar el mensaje Status-Session(BETB), no la marca EBI, para determinar cuándo ha finalizado un corchete.

    Los fragmentos se identifican mediante las marcas de segmentación BBIUI y EBIUI, por lo que la aplicación no puede distinguir entre fragmentos y segmentos si se usan la segmentación y la fragmentación a la vez. Sin embargo, por lo general no es necesario distinguirla. La aplicación puede realizar sombreado de ventana mostrando cada unidad de datos a medida que se recibe, tanto si la unidad de datos es un segmento como un fragmento. (Para obtener más información, vea Entrega de segmentos).

Nota:

Las versiones anteriores de este documento indicaron esto como una característica futura. La compatibilidad está habilitada en Host Integration Server. Las aplicaciones pueden probar la versión del producto devuelta en una llamada a sepdgetinfo para la versión 1.2 o posterior antes de usar el sistema de fragmentación.

En algunos casos, el tamaño de RU usado por el nodo local puede ser demasiado grande para la longitud de la ruta entre el nodo local y una aplicación FMI, por ejemplo, al usar un enlace token-ring de 16 megabytes (MB), que puede soportar tramas de 16 kilobytes (KB). El nodo local permite a una aplicación FMI especificar que la transferencia de datos debe estar en unidades más pequeñas, denominadas fragmentos.

Véase también

Apertura de la conexión PLU
Sesión de PLU
Encadenamiento saliente
Encadenamiento de entrada
Entrega de segmentos
corchetes
Dirección
Ritmo y división en partes
Confirmación y rechazo de datos]
Apagado y suspensión temporal
Recuperación
Application-Initiated Terminación
LUSTATs]
Datos del monitor de tiempo de respuesta