MXPA02005419A - Metodo y sistema para clasificacion de protocolo y cuadro. - Google Patents

Metodo y sistema para clasificacion de protocolo y cuadro.

Info

Publication number
MXPA02005419A
MXPA02005419A MXPA02005419A MXPA02005419A MXPA02005419A MX PA02005419 A MXPA02005419 A MX PA02005419A MX PA02005419 A MXPA02005419 A MX PA02005419A MX PA02005419 A MXPA02005419 A MX PA02005419A MX PA02005419 A MXPA02005419 A MX PA02005419A
Authority
MX
Mexico
Prior art keywords
processing
information
unit
frame
information unit
Prior art date
Application number
MXPA02005419A
Other languages
English (en)
Inventor
Mitchell Bass Brian
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/479,028 external-priority patent/US6633920B1/en
Priority claimed from US09/479,027 external-priority patent/US6775284B1/en
Application filed by Ibm filed Critical Ibm
Publication of MXPA02005419A publication Critical patent/MXPA02005419A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

Un sistema y metodo para clasificacion de protocolo de. cuadro y procesamiento en un sistema para procesamiento de datos (por ejemplo conmutacion o direccionamiento de paquetes o cuadros de datos). La presente invencion incluye analizar una porcion del cuadro de acuerdo con pruebas. predeterminadas, luego almacenar caracteristicas clave del paquete para utilizar en procesamiento subsecuente del cuadro. Las caracteristicas clave para el cuadro (o unidad de informacion de alimentacion) incluyen el tipo de protocolo capa 3 empleado en el cuadro, la tecnica de encapsulacion de capa 2, la direccion de instruccion de inicio, banderas que indican si el cuadro utiliza una red de area local virtual y la identidad del flujo de datos al cual pertenece el cuadro. Gran parte del analisis de preferencia se realiza utilizando equipo fisico, de manera tal que pueda completarse rapidamente y en un periodo de tiempo uniforme. Las caracteristicas almacenadas del cuadro luego se utilizan por el complejo de procesamiento de red en su procesamiento del cuadro. El procesador se pre-acondiciona con una direccion de instruccion de inicio o de partida y la ubicacion de inicio del cabezal de capa 3 al igual que banderas para el tipo de cuadro. Esto es, la direccion de instruccion o punto de entrada de codigo se utiliza por el procesador para empezar el procesamiento para un cuadro en el sitio correcto, con base en el tipo de cuadro. Pueden apilarse direcciones de instruccion adicionales y utilizarse secuencialmente en ramificaciones para evitar pruebas adicionales e instrucciones de ramificacion. Adicionalmente, cuadros que comprenden un* flujo de datos pueden procesarse y enviarse en el mismo orden en el que se recibieron.

Description

MÉTODO Y SISTEMA PARA CLASIFICACIÓN DE PROTOCOLO Y CUADRO Antecedentes de la Invención Campo de la Invención La presente invención se refiere a un aparato de red de comunicaciones, tal como el que se emplea para enlazar sistemas de manejo de información o computadoras de diversos tipos y capacidades y a componentes y métodos para procesamiento de datos en este aparato. Más particularmente, la presente invención se refiere a un sistema y método mejorados para administrar flujo de datos en un dispositivo de procesamiento acoplado a una red de transmisión de datos, incluyendo un método y sistema para manejar una pluralidad de unidades de información de alimentación (de otra forma conocidas como "paquetes" o "cuadros") que pueden procesarse simultáneamente por una pluralidad de procesadores independientes y estas unidades de información de alimentación pueden tener uno de una variedad de diferentes protocolos. Técnica Previa La presente modalidad se relaciona a los siguientes documentos, todos los cuales cedidos a la cesionaria de la presente invención.
Solicitud de Patente de los E.U.A. No. de Serie 09/384,691, presentada en agosto 27 de 1999 por Brian Bass y colaboradores con título "Network Processor Processing Complex and Methods" (Complejo y Métodos de Procesamiento de Procesador de Red) , en ocasiones referida aquí como la Patente de Unidad de Procesamiento de Red o Patente NPU (NPU = Net Processing Unit) . La Patente de los E.U.A. No. 5,724,348 con titulo "Efficient Hardware/Software Interface for a Data Switch" (Interfase eficiente de equipo físico/soporte lógico para una conmutador de datos) otorgada en marzo 3 de 1998, esta patente en ocasiones se refiere como la Patente de Interfase . . La solicitud de Patente de los E.U.A. No. de Serie 09/330,968 presentada en junio 11, 1999 y con titulo "High Speed Parallel/Serial Link for Data Communications" (Enlace serial/paralelo de alta velocidad para comunicaciones de datos) , en ocasiones referida como la Patente de Enlace. Diversas patentes y solicitudes otorgadas a IBM por sus servicios de conmutación de multiprotocolos, en ocasiones referida como "MSS" (Multiprotocol Switching Services) , algunas de las cuales incluyen a Cedric Alexander como inventor, y que en ocasiones se refieren como las Patentes MSS.
La descripción de la presente modalidad que sigue se basa en el supuesto de que el lector tiene un conocimiento básico de comunicaciones de datos en red y a los encaminadores y conmutadores que son útiles en estas comunicaciones de red. En particular, esta descripción presupone familiaridad con el modelo de Organización Estándar Internacional ("ISO" = International Standards Organization) de la arquitectura de red que divide la operación de red en capas. Una arquitectura típica con base en el modelo ISO se extiende desde una Capa 1 (que en ocasiones se refiere como "Ll") que es la ruta física o medio a través del cual se pasan señales hacia arriba a la capa 2 (o "L2") o 3 (o " 3") y así en adelante a la capa 7 (o "L7") que es la capa de programación de aplicación residente en un sistema de computadora enlazado a la red. A través de este documento, referencias a estas capas Ll , L2 , L3 , se pretende que sean a la capa correspondiente de la arquitectura de red. La presente descripción también presupone una comprensión fundamental de las sartas de bits, conocidas como paquetes o cuadros, empleadas en comunicación de red. Consideraciones de ancho de banda (o la cantidad de datos que un sistema puede manejar en una unidad de tiempo) se vuelven cada vez más importantes en la visión actual de las operaciones de red. El tráfico de red ha incrementado dramáticamente en los últimos años, dirigido substancialmente por el crecimiento explosivo de Internet (una red pública de computadoras enlazadas sueltas, en ocasiones referida como la red mundial) y en una menor proporción el crecimiento en popularidad de Intranets o redes de transmisión de datos privadas. Internet e Intranet involucran la transmisión de grandes cantidades de información entre sitios remotos para satisfacer una necesidad siempre creciente por acceso remoto a información y aplicaciones emergentes. Internet ha abierto a grandes cantidades de usuarios en áreas geográficamente dispersas, una cantidad explosiva de información remota y ha permitido una variedad de nuevas aplicaciones tales como comercio electrónico, que ha resultado en la carga incrementada y cada vez creciente en las redes. Otras aplicaciones, tales como correo electrónico, transferencia de archivos y acceso a bases de datos, agregan adicional carga a las redes, algunas de las cuales ya están bajo tensión debido a altos niveles de tráfico de la red. El tráfico sobre las redes también se vuelve cada vez más diverso. En algún momento, algunas redes se emplearon primordialmente para ciertos tipos de tráfico de comunicaciones, tales como de voz en una red de telefonía y datos digitales sobre una red de transmisión de datos. Por supuesto, además de las señales de voz, una red de telefonía también transportará una cantidad limitada de "datos" (tales como el número que llama y el número llamado, para propósitos de direccionamiento y facturación) , pero el uso primario para algunas redes en algún punto en tiempo han sido paquetes substancialmente homogéneos . Actualmente, sin embargo el tráfico de voz y datos convergen de manera incrementada en las mismas redes. Conforme Internet continua expandiéndose y la tecnología mejora en áreas como confiabilidad y seguridad, ha presentado una oportunidad por transmitir muy diferentes tipos de información, incluyendo mezclas de diferentes tipos de información tales como voz y datos, en forma relativamente simultánea. Los datos actualmente se transmiten en Internet (a través del protocolo de Internet o IP) sin cargo, y el tráfico de voz típicamente sigue la ruta del costo más bajo. Tecnologías tales como de voz sobre IP (VoIP = Voice over IP) y voz sobre modo de transferencia asincrono o ATM (VoATM = voice over asynchronous transfer mode) o voz sobre retransmisión de cuadro (VoFR = voice over frame relay) son alternativas efectivas en costo para transmisión de tráfico de voz en el ambiente actual. Conforme estos servicios migran, la industria atenderá aspectos tales como la estructura de costo cambiante y consideraciones sobre la compensación entre costo de servicio y calidad de servicio en la transmisión de información entre procesadores. Aspectos de calidad de servicio incluyen la capacidad o ancho de banda, el tiempo de repuesta (que tanto tarda en procesar un cuadro) y la flexibilidad del procesamiento (responde a diferentes protocolos y configuraciones de cuadro, .tales como diferente encapsulación o métodos de cabezal o encabezamiento de cuadro) . Aquellos que utilizan un recurso considerarán la calidad de servicio así como el costo del servicio, con las compensaciones dependientes de la situación presentada . Algunos sistemas de la técnica previa que dirigen paquetes de datos, requieren que el paquete sea de un solo protocolo o formato, o uno de un número limitado de estos protocolos o formatos que se permiten. Este sistema tiene ventajas de velocidad y sensibilidad de respuesta incrementadas debido a la simplicidad relativa del diseño, cuando paquetes de un solo tipo de protocolo (o un número limitado de protocolos) se encuentran en el sistema, ya que el sistema puede ajustarse a la medida para el o los protocolos permitidos. Cuando todo el sistema de transmisión de datos estaba bajo el control de una sola entidad, era fácil que la entidad controladora respaldara un solo protocolo de transmisión estándar en los usuarios (ya sea usuarios que siguen el o los protocolos permitidos o no utilizan la red, debido a que la red estaba programada para permitir solo el o los protocolos especificados y no podía manejar variaciones en los protocolos, incluso variaciones aparentemente menores. Sin embargo, incluso cuadros de una "norma" de comunicaciones como Ethernet pueden formatearse utilizando uno de varios protocolos y pueden encapsularse en un mensaje utilizando diferentes técnicas de encapsulación. Estos diferentes protocolos y técnicas de encapsulación proporcionan una cantidad variante de datos, típicamente al inicio de un cuadro y antes de otra información clave tal como el inicio del mensaje L3. De esta manera, información clave de un cuadro de Ethernet puede localizarse en diferentes sitios dentro del cuadro, dependiendo del protocolo Ethernet L3 o forma de Ethernet y la técnica de encapsulación, de estar presentes. Un sistema que proporciona procesamiento del mensaje L3 requiere encontrarlo primero y eso puede ser un reto en sistema de múltiples protocolos. Así, por ejemplo la versión 2 de Ethernet DIX difiere de Ethernet 802.3, IPX sobre Ethernet difiere de IPX sobre Ethernet 802.3 que en sí tiene tres diferentes formatos (propiedad de Novell, LLC y SNAP) . Además, cada versión de IPX puede o no soportar una LAN virtual (o VLAN) utilizando la así denominada norma IEEE 802. lq, que también tiene el efecto de cambiar el formato del cuadro y de esta manera la ubicación del mensaje L3. En esos sistemas previos en donde los cuadros en una multitud de protocolos estaban soportados, en ocasiones era necesario proporcionar una cantidad significante de carga general sobre la programación de una computadora, que en ocasiones incluyen más de 100 líneas de código con comparaciones e instrucciones de ramificación (para identificar el protocolo y traducir un cuadro de un protocolo a otro, o retirar información innecesaria) tal como información de encapsulación) de un cuadro. Este procesamiento de múltiples protocolos era consumidor de tiempo y además, a menudo tomado una cantidad variable de tiempo para identificar el protocolo. Cuando estos sistemas requerían una cantidad variable de tiempo para identificar el protocolo y proporcionar el procesamiento necesario, el sistema tendría que configurarse para permitir el tiempo más largo necesario (para manejar el peor caso) frenando el procesamiento de todos los cuadros al peor caso o creando la posibilidad de que algunos cuadros no se procesaran en el tiempo permitido para categorización. La mayoría de los procesadores inician el procesamiento desde un principio común de un juego de instrucciones (el mismo sitio para todos los datos) y ajustan banderas que el procesador lee selectivamente cuando requiere determinar adonde ir y que instrucciones ejecutar. De esta manera, la ejecución de muchos procesadores realiza una cantidad de pruebas para determinar que tipo de datos tiene y en donde empezar el procesamiento substantivo, pruebas que involucran una cantidad de ciclos y pueden involucrar mucho procesamiento. Sistemas multiprocesadores para manejar datos se conocen en la técnica previa, que utilizan procesamiento de datos rígido primero-en-entrar-primero-en- salir. Mientras que esto trabaja bien cuando el procesamiento ocurre en una forma rutinaria, este sistema se queda enfrascado o comprometido y deja de funcionar cuando el procesamiento de una alimentación se retarda. El retardo del procesamiento de una alimentación tiene el efecto de frenar el procesamiento de otras,. Otros sistemas de la técnica previa se conoce que dan seguimiento a unidades de mensajes de alimentación durante el procesamiento. Estos sistemas tienen la limitación y desventaja de que una cantidad significante de poder de procesamiento deben dedicarse a dar seguimiento adonde está cada unidad de información en el sistema, y algunos no permiten unidades de información de alimentación adicionales tales como de nuevos flujos de datos o de mensajes generados internamente. De esta manera, los sistemas de la técnica previa para manejar paquetes de datos tenían desventajas y limitaciones indeseables que han tenido un efecto ya sea en la versatilidad del sistema o en la velocidad con la cual pueden operar o ambos. Otras desventajas y limitaciones de los sistemas de la técnica previa serán notables para aquellos con destreza en la especialidad en vista de la siguiente descripción de la presente invención. COMPENDIO DE LA INVENCIÓN La presente modalidad de la invención supera las desventajas y limitaciones de los sistemas de la técnica previa al proporcionar una forma simple, sin embargo efectiva, para manejar el flujo de datos sobre una red de cuadros o paquetes que se crearon utilizando uno de una pluralidad de diferentes protocolos de mensajes permitidos y que pueden o no emplear un sistema de red de área local virtual (o VLAN) . Al analizar cada paquete o cuadro en una forma rápida y eficiente, el tipo de cuadro y características clave del cuadro pueden determinarse y guardarse para futura referencia y procesamiento respecto a ese cuadro, por ejemplo en un procesador de red del tipo descrito en la Patente NPU referida anteriormente. Es una ventaja de la presente modalidad que es rápido y eficiente en el manejo de paquetes que tienen diferentes protocolos y proporciona un procesamiento más rápido y más fácil de los paquetes, permitiendo que todo el sistema opere a altas velocidades de procesamiento de cuadros . La presente modalidad permite que un encaminador o conmutador procese paquetes o cuadros sucesivos en formatos variantes, sin conocer con anticipación en que formato se creó el cuadro o paquete particular. Esta modalidad incluye identificar el formato de encapsulación de capa 2 (L2) del mensaje o paquete y luego aplicar reglas almacenadas para identificar la encapsulación L2 , el protocolo L3 y la presencia de una red de área local virtual (VLAN) . Como resultado de esta determinación, el procesador está listo para operar a una dirección de instrucción de partida, esto es, el procesador está pre-acondicionado con la dirección de partida de instrucciones, que se basa en la identificación del cuadro. El procesador de esta manera tiene una dirección de instrucción de partida así como un puntero al inicio del cabezal L3 en la porción de datos del cuadro, así como banderas indicando el protocolo, presencia de VLAN y el formato de encapsulación. La presente modalidad tiene la ventaja de que configura y almacena información clave respecto a un paquete durante el procesamiento inicial del paquete, luego, esa información almacenada respecto al paquete o cuadro puede utilizarse posteriormente en el procesamiento para aprovechar, permitiendo un procesamiento más rápido y más eficiente del paquete en sus etapas posteriores, por ejemplo por complejos de unidad de procesamiento de red descritos en la Patente NPU. La presente modalidad tiene la ventaja de que permite alimentar paquetes o cuadros de un solo flujo de datos para asignarse a uno de una pluralidad de procesadores independientes para procesar, luego permite que los paquetes o cuadros de salida (procesados) sean re-ensamblados en el mismo orden en el que se recibieron los paquetes o cuadros de alimentación. La presente modalidad tiene la ventaja de que múltiples flujos de datos pueden procesarse sin influenciarse entre sí, y un flujo de datos no bloqueará a los otros flujos de datos. Esto es, cuando el procesamiento de un flujo de datos se detiene esperando a terminar el procesamiento de una porción, el procesamiento de los otros flujos de datos puede continuar . La presente modalidad también permite una descarga del sistema o despacho inmediato de cuadros completos sin consideración al orden, si se desea, reemplazando o superando la operación normal del manejo de cada flujo de datos, en el orden en que se recibió. La presente modalidad también tiene la ventaja de que es eficiente en su uso de memorias intermedias y dispositivos de almacenamiento y que opera rápidamente, de manera tal que la velocidad de procesamiento no se reduce por los gastos generales 'de administración de los flujos de datos. La presente modalidad contempla que puede implementarse en el mismo substrato semiconductor como un conjunto de procesadores de red y sus componentes de almacenamiento asociados, permitiendo rápida transmisión de datos entre los componentes. La presente modalidad también puede implementarse en equipos físico, en vez de soporte lógico, y las pruebas de formato requeridas pueden completarse en un tiempo uniforme, independientemente del formato y que tantas comparaciones deben realizarse antes que se determine la técnica de encapsulación o formato. En el diseño mostrado, dentro de dos ciclos del reloj , la clasificación de un cuadro puede completarse, con los indicadores necesarios, ajustados para indicar que tipo de cuadro está presente (por ejemplo que técnica de encapsulación y que protocolo capa 3 se emplearon) y si se soporta una LAN virtual (o VLAN) así como información clave respecto al cuadro. Durante los mismos dos ciclos, un cuadro puede dirigirse por un despachador a una unidad de procesamiento de red en reposo (como se describe en la patente NPU de referencia) . Como resultado del procesamiento del cuadro para determinar el protocolo y método de encapsulación, una dirección de inicio para el procesador puede determinarse y pasarse al procesador, de manera tal que el procesador puede empezar su trabajo en el cuadro, pre-cargado con la misma dirección (un puntero al almacenamiento de instruc ión relevante) y otra información relevante para su procesamiento. Esta precarga del procesador con una dirección de partida para procesar, en ocasiones se refiere como preacondicionamiento del procesador y permite eficiencia del procesador -- no requiere pasar a través de una cantidad de instrucciones de prueba y saltar instrucciones con base en los resultados de la prueba, sino que por el contrario empieza en la dirección inicial para el formato particular del mensaje presentado. El sistema de la presente modalidad también tiene la ventaja de que la clasificación y pre-procesamiento de un cuadro pueden ocurrir en paralelo con la distribución de ese cuadro a un complejo de procesamiento de red. Este procesamiento paralelo permite un manejo más eficiente de cuadros y permite que el sistema opere más rápido. A través del uso de la presente modalidad, múltiples unidades de prosesamiento pueden ser independientes entre sí, sin embargo procesar el mismo flujo de datos sin permitir que porciones pasen a un orden diferente y no deseable. La salida de los paquetes o cuadros procesados para un flujo de datos determinado estará en el mismo orden que el sistema recibe cuadros o paquetes de alimentación de ese flujo de datos, a menos de que sea superado por un comando vaciar. Finalmente, la presente modalidad permite la inserción de nuevos flujos de -datos y la creación de paquetes o cuadros por el sistema, sin afectar el procesamiento que mantiene el orden de los flujos de datos recibidos de la red. Una mejora a la presente modalidad no solo permite el pre-acondicionamiento del procesador (almacenar la dirección de la primer instrucción) , sino también almacenar direcciones adicionales de instrucciones para ejecución posterior. De esta manera, el procesador tiene la dirección de la primer instrucción y también tiene la dirección para instrucciones en puntos de ramificación posteriores (o bifurcación) evitando pruebas innecesarias (condición si, luego ir al instrucción # 1 de otra forma ir a instrucción # 2) en la ejecución del código. Esto permite que el código se ejecute más eficientemente. Otros objetivos y ventajas de la presente modalidad serán aparentes a aquellos con destreza en la técnica relevante en vista de la siguiente descripción de la modalidad preferida, tomada en conjunto con los dibujos acompañantes y las reivindicaciones anexas. BREVE DESCRIPCIÓN DE LOS DIBUJOS Habiendo de esta manera establecido algunas de las limitaciones y desventajas de la técnica previa y algunos objetos y ventajas de la presente invención, otros objetos y ventajas serán aparentes para aquellos con destreza en la técnica relevante, en vista de la siguiente descripción de los dibujos que ilustran la presente invención de un método y sistema de direccionamiento mejorado, en donde: La Figura 1 es un diagrama de bloques para un dispositivo de interfase que incluye un complejo procesador incrustado que se describe en ía patente NPU y es útil para practicar la presente invención; La Figura 2 es un diagrama de bloques de un complejo procesador incrustado del tipo mostrado en la Figura 1, con un asistente de equipo físico clasificador, útil en la presente invención; Las Figuras 3A-3T son diagramas que ilustran los diversos formatos de protocolo Ethernet empleados en el clasificador de equipo físico de la presente invención; La Figura 4 es un diagrama de flujo del auxiliar de equipo físico clasificador de la presente invención, que muestra la lógica empleada por el clasificador para procesar porciones de cuadro en la presente invención; La Figura 5 es un diagrama funcional que ilustra el clasificador de la presente invención; La Figura 6 es una modalidad alterna del clasificador de equipo físico de la presente invención, con mejoras opcionales mostradas, permitiendo que una serie de direcciones sean almacenadas en una pila además de la dirección de la primer instrucción; La Figura 7 es una ilustración esquemática de las listas de espera asociadas con cada cuadro; La Figura 8 es una vista detallada de la unidad de terminación de la presente invención, con almacenamientos de dos etiquetas por cada uno de los N procesadores ; La Figura 9 es una ilustración esquemática del formato de un almacenamiento de etiqueta para dar seguimiento al flujo de datos que se maneja por cada uno de los N procesadores; La Figura 10 es un diagrama de flujo que ilustra la lógica que se realiza por la unidad de terminación para recibir y procesar una indicación de que un nuevo cuadro se ha despachado a una de las unidades de procesamiento; La Figura 11 es un diagrama de flujo que ilustra el proceso lógico realizado por la unidad de terminación cuando se procesa un reporte de que el procesamiento de un cuadro se ha completado; y La Figura 12 es otra vista la unidad de terminación de la Figura 8, que contiene datos para ilustrar la operación de la unidad de terminación en su modalidad preferida. DESCRIPCIÓN DETALLADA DE LA MODALIDAD PREFERIDA En la siguiente descripción de la modalidad preferida, la mejor implementación para práctica de la invención actualmente conocida por los inventores, se describirá con cierta particularidad. Sin embargo, esta descripción se pretende como una enseñanza amplia, general de los conceptos de la presente invención en una modalidad específica, pero no se pretende que limite la presente invención a la mostrada en esta modalidad, especialmente ya que aquellos con destreza en la técnica relevante reconocerán muchas variaciones y cambios a la estructura y operación específicas ilustradas y descritas con respecto a estas Figuras. La Figura 1 es un diagrama de bloques funcional de un sistema de procesamiento, adecuado para conectar a una red de transmisión de datos para recibir, procesar y retransmitir datos a la red en la forma de paquetes o unidades de información (también en ocasiones referidos como cuadros, términos que, para el - propósito del presente documento se utilizarán en forma intercambiable) . Como se ilustra en la Figura 1, el sistema para procesamiento de datos incluye una pluralidad de sub-montajes, que como se describe en la Patente NPU, se integran ventajosamente en un solo substrato. La integración de todo el conjunto en un solo substrato permite empaque cerrado de los diversos componentes del sistema, reduciendo el tiempo requerido para comunicación entre componentes y por lo tanto incrementar la velocidad en la cual puede operar el sistema. El uso de un solo substrato para los múltiples procesadores y la lógica de soporte y memoria también pueden reducir la incidencia de fallas debido a interconexión e incrementa la resistencia a interferencia u otras señales parásitas que pueden corromper la transmisión de datos en la red. Los sub-montajes dispuestos en el substrato 10 se disponen en una configuración hacia arriba y una configuración hacia abajo, con la configuración "hacia arriba" en ocasiones referida como un "ingreso" (que se refiere a aquellos componentes referentes a datos que ingresan al circuito integrado o lasca (chip) de una red de transmisión de datos (hacia o dentro del chip) y "hacia abajo" (en ocasiones referido como "salida o egreso") refiriéndose a aquellos componentes cuya función es transmitir datos desde el chip o circuito integrado hacia la red de transmisión de datos en una forma de salida (lejos del chip) o hacia abajo y dentro de la red) . Flujos de datos siguen los arreglos respectivos de las configuraciones hacia arriba y hacia abajo; de esta manera, hay un flujo de datos hacia arriba y un flujo de datos hacia abajo en el sistema de la Figura 1. Los elementos de configuración de ingreso hacia arriba incluyen una lógica hacia arriba de programación para poner en cola o lista de espera - sacar de lista de espera (EDS-UP = Enqueue-Dequeue-Scheduling UP) 16, MAC's-UP múltiples multiplejados (PMM-UP) 14, desplazador de datos de conmutador-hacia arriba (SDM-UP) 18, Interfase de sistema (SIF = System Interface) 20, Enlace Serial de Alineación de Datos A (DASL-A = Data Align Serial Link A) 22 y Enlace Serial de Alineación de Datos B (DASL-B = Data Align Serial Link B) 24. Enlaces de datos se describen más completamente en la Patente Link previamente referida, y deberá hacerse referencia a ese documento para una mayor comprensión de esta porción de sistema. Habrá de entenderse que la modalidad preferida de la presente invención utiliza los enlaces de datos como se describe más completamente en esa patente, otros sistemas pueden emplearse para aprovechar con la presente invención, particularmente aquellos que soportan relativamente altos flujos de datos y requerimientos de sistema ya que la presente invención no se limita a aquellos dispositivos auxiliares específicos tales como los enlaces de datos que se emplean en la modalidad preferida . Los componentes ilustrados en . el lado hacia abajo (o de salida) del sistema incluyen enlace de datos DASL-A 26 y DASL-B 28, interfase del sistema SIF 30, desplazador de datos de conmutador SDN-DN 32, programador para poner en lista de espera-sacar en lista de espera EDS-DN 34 y MAC ' s múltiples multiplejados para el PMM-DN de egreso o de salida 36. El substrato 10 también incluye una pluralidad de componentes de memoria de acceso aleatorio estática internos (S-RAM's), un programador para administración de tráfico (TRAFFIC MGT SCHEDULER) 40 y un complejo procesador incrustado 12 descrito con mayor profundidad en la Patente NPU referida anteriormente. Un dispositivo de interfase 38 se acopla por los ductos o colectores DMU respectivos a PMM 14, 36. El dispositivo de interfase 38 puede ser cualquier aparato conveniente para conectar a los circuitos Ll , tales como dispositivos físicos de Ethernet (ENET PHY) o equipo formador de cuadros en modo de transferencia asincrona (ATM FRAMER) , ambos de los cuales son ejemplos de dispositivos que son bien conocidos y están generalmente disponibles para este propósito en el comercio. El tipo y tamaño del dispositivo de interfase se determinan, al menos en parte por el medio de red al cual se conectan la presente lasca (chip) y su sistema. Una pluralidad de dispositivos de memoria de acceso aleatorio dinámico externo (D-RAMS) y un S-RAM están disponibles para utilizar por la lasca (chip) .
Mientras que aquí se describe particularmente para redes en donde el flujo de datos general fuera de los dispositivos de direccionamiento y conmutación relevantes, se pasa a través de conductores eléctricos tales como alambres y cables en construcciones, la presente invención contempla que- los conmutadores de red y componentes de los mismos pueden emplearse en un ambiente inalámbrico por igual. Por ejemplo, los elementos de control de acceso de medio (MAC = Media Access Control) aquí descritos, pueden estar reemplazados con dispositivos de radiofrecuencia convenientes, tales como aquellos hechos a partir de tecnología de silicio germanio, que resultarán en la conexión del dispositivo descrito, directamente a una red inalámbrica. Cuando esta tecnología se emplea apropiadamente, los elementos de radiofrecuencia pueden integrarse en las estructuras VLSI aquí descritas, por una persona con destreza en las técnicas apropiadas. En forma alterna, dispositivos de radiofrecuencia u otros de respuesta inalámbrica tales como dispositivos de respuesta infrarroja (IR) pueden montarse en una cuchilla con otros elementos aquí descritos, para lograr un aparato de conmutación que es útil con un aparato de red inalámbrico. Las flechas muestran el flujo general de datos dentro del sistema de interfase ilustrado en la Figura 1.
Cuadros de datos o mensajes recibidos de una Ethernet MAC 14 fuera del bloque ENET PHY 38 mediante el ducto DMU, se colocan en las memorias intermedias para almacenamiento de datos internas 16a por el dispositivo EDS-UP 16. Los cuadros pueden ser identificados ya sea como cuadros normales o cuadros guiados, que luego se relacionan al método y ubicación del procesamiento subsecuente en la pluralidad de procesadores. La Figura 2 es un diagrama de bloques de un sistema de procesamiento 100 ' que puede emplear la presente invención para aprovechamiento. En esta Figura 2, una pluralidad de unidades de procesamiento 110 se localizan entre una unidad despachadora 112 y una unidad de terminación 114. Cada cuadro de ingreso F de una red (no mostrada) conectada al sistema de procesamiento de datos actual (se recibe y guarda en un almacenamiento de datos UP 116, que se conecta a las unidades de procesamiento 110 a través de una interfase UP DS I/F 117 que tiene la capacidad de leer y escribir datos en el almacenamiento de datos. Los cuadros secuencialmente se retiran por el despachador 112 y asignan a una de la pluralidad de unidades de procesamiento 110, con base en una determinación por el despachador 112 que la unidad de procesamiento está disponible para procesar el cuadro. Esta indicación puede ser que la unidad de procesamiento a la cual el cuadro F se asigna, ha enviado una señal al despachador 112 indicando que la unidad de procesamiento particular estaba en reposo y disponible para trabajar. Aunque métodos alternos para asignar trabajo (tales como una asignación de circuito cíclico o al menos un algoritmo recientemente empleado) pueden también ser utilizados para aprovechar en el presente sistema. Mayores detalles en la estructura y función de las unidades de procesamiento 110 en particular y el sistema de procesamiento en general, pueden encontrarse en las referencias de la Patente NPU anterior. Intercalado entre el despachador 112 y la pluralidad de unidades de procesamiento 110 está un auxiliar clasificador de equipo físico 118 como se describirá con mayor detalle posteriormente en este documento, particularmente en conexión con las Figuras 4 y 5. También asociado con las unidades de procesamiento 110 está un almacenamiento de instrucciones 122 (ilustrado en la Figura 4) en donde una pluralidad de diferentes juegos de instrucciones, se almacenan para recuperación y ejecución por las unidades de procesamiento individuales 110. Como se describirá posteriormente, las instrucciones de partida o de inicio en el almacenamiento de instrucciones 122 se atienden de acuerdo con una dirección que se basa en el tipo de mensaje -- su protocolo y método de encapsulación -- como se determina por el auxiliar de clasificador de equipo físico 118. Una unidad de terminación 114 se acopla operativamente entre la pluralidad de procesadores 110 y el sistema para poner en lista de espera hacia abajo (elemento - poner en lista de espera DN etiquetada 34 en la Figura 1) así como un sistema para poner en lista de espera hacia arriba (elemento 16 en la Figura 1) . El sistema para poner en lista de espera DN 34, se emplea para enviar cuadros procesados fuera del complejo de procesamiento hacia abajo de la red u otro sistema al cual se conecta el complejo y el sistema para poner en lista de espera UP 16 se emplea para enviar cuadros procesados al tejido de conmutación. El despachador 112 puede diseñarse para asignar y almacenar información de identificación relacionada a cada cuadro y a la unidad de procesamiento asignada para procesar ese cuadro. Esta información de identificación luego puede ser empleada por la unidad de terminación 114, para asegurar que cuadros procesados que constituyen un flujo de datos simple, se envíen en el orden en que se recibieron. Este aspecto de la presente invención se discutirá con mayor detalle posteriormente en esta especificación. La Figura 3 (que consiste de sus diversas sub-ilustraciones, Figuras 3A-3T) ilustra una pluralidad de formatos de mensaje (componentes y variaciones en el formato de mensaje Ethernet) en que está programado el presente sistema de procesamiento para aceptar y procesar, aunque el repertorio de formatos de mensajes o cuadros es algo que puede variarse por aquellos con destreza ordinaria en la especialidad para ajustar el ambiente del sistema bajo consideración. El presente sistema también puede re-diseñarse para aceptar otros formatos de mensajes, incluyendo aquellos formatos de mensajes y variaciones que puedan designarse en el futuro. Como tal, los formatos de mensajes de la Figura 3 son con el propósito de ilustración de diferentes formatos de cuadros con diferentes tipos de protocolo y encapsulación, y la presente invención es un sistema flexible diseñado para aceptar diferentes formatos de protocolo y encapsulación y proporcionar un auxilio al procesamiento de aquellos cuadros al proporcionar un puntero al tipo de encapsulación y protocolo y proporcionar una dirección de inicio en el almacenamiento de instrucciones para que el procesador maneje un cuadro determinado . La Figura 3A ilustra el formato de mensaje Ethernet base o genérico, que en ocasiones se denomina Ethernet Versión 2.0/DIX. Este es un formato de mensaje en donde el mensaje incluye una dirección de destino DN (Destination Address) , una dirección fuente SA (Source Address) , un bloque que indica el tipo de mensaje (tipo) , los datos o texto de mensaje y un finalizador para verificación de redundancia cíclica o CRC para verificación de integridad de mensaje. La dirección de destino DA y la dirección fuente SA ambas se especifican como 6 octetos (48 bits) y el bloque que indica tipo se especifica como 2 octetos, mientras que el finalizador CRC se especifica como 4 octetos. En general, el resto del mensaje -- los datos -- puede ser de cualquier longitud hasta 1500 octetos, aunque como se verá posteriormente, algunos tipos de Ethernet proporcionan límites en esta flexibilidad para lograr otras ventajas. La dirección fuente SA puede indicar ya sea que el mensaje es un mensaje individual, destinado para una sola dirección de red en un nodo en la red o que es un mensaje de amplia difusión o de multi-difusión (multicast o broadcast) . Un mensaje de multi difusión (multicast) se dirige a un grupo de nodos en la red y un mensaje de difusión (broadcast) se dirige a todas las estaciones. El bloque que indica tipo es de 16 bits, que identifica el protocolo de capa más superior que se emplea. A cada protocolo Ethernet registrado se le da un código de equipo único, un valor que siempre es mayor que el valor máximo en el campo de longitud del campo de longitud Ethernet 802.3, para permitir que co-existe el campo. El campo de datos típicamente es de 46 a 1500 octetos de longitud, considerando que las capas superiores asegurarán que la longitud de campo mínimo de 46 octetos se cumple antes de pasar datos a la capa MAC. Mensajes que son más largos que la longitud permitida de un cuadro deben dividirse en una pluralidad de mensajes que sean más cortos que la longitud máxima permitida del campo de datos . La Figura 3B ilustra una variación del estilo Ethernet general que se refiere como el formato Ethernet IEEE 802.3. Es similar al formato de mensajes Ethernet genérico de la Figura 1, excepto que el campo de tipo se reemplaza por un campo de longitud LEN, que es de 16 bits, que indica la longitud del campo de datos que sigue, excluyendo cualquier relleno. Esta norma impone una longitud de tamaño mínimo del paquete como 64 octetos, de manera tal que el campo de datos Data debe de ser de al menos 46 octetos. Si los datos actuales para el campo de datos Data es menos que 46 octetos, entonces la capa MAC debe agregar ahorradores de sitio (caracteres de relleno) para el campo de datos LLC, para hacer el tamaño mínimo antes de enviar el paquete sobre la red. Sin embargo, el campo de longitud es la longitud sin los caracteres de relleno, lo que permite a un sistema receptor el identificar y descartar cualesquiera caracteres de relleno que se hayan agregado. La Figura 3C ilustra un formato de información para control de etiqueta para los mensajes Ethernet, particularmente con referencia a la norma IEEE 802. lq. Consiste de 3 bits de prioridad de usuario, un bit de indicador de formato canónico o (CFI = Canonical Format Indicator) y 12 bits de identificador de VID o LAN virtual (o VLAN) . Una red de área local o LAN virtual es una identificación de un grupo de nodos que se han identificado como una red de área local virtual, al definir las direcciones que comprenden una VLAN, permitiendo a aquellos nodos que no están asociados físicamente que estén asociados lógicamente y direccionados como un grupo, en vez de individualmente. La Figura 3D ilustra un formato RIF incrustado o insertado (E-RIF = Embedded RIF) que se utiliza en algunos formatos de mensajes de protocolo de Ethernet, de nuevo siguiendo la norma IEEE 802. lq. En este formato, un tipo de ruta (RT = Route Type) se indica por los primeros 3 bits, una longitud LTH por los siguientes 5 bits (indicando la longitud en octetos de la porción E-RIF total, incluyendo el control de ruta E-RIF y el descriptor de ruta E-RIF (y una dirección del descriptor de ruta D por 1 bit) normalmente un "0" indicando que recorra el descriptor de ruta en el orden hacia adelante, pero si es un "1" en algunos cuadros especialmente dirigidos indicar que el descriptor de ruta está en un orden inverso) . El formato E-RIF incluye un indicador del cuadro más grande de 6 bits y un indicador de formato no canónico (NCFI = Non Canonical Format Indicator) de 1 bit. El tipo de ruta RT es cualquiera de 00X, 01X, 10X o 11X, para indicar que el cuadro ya es un cuadro esencialmente dirigido, un cuadro transparente, un cuadro explorador de toda ruta, o un cuadro explorador de árbol de extensión, respectivamente. El campo de cuadro más grande (LF = Largest Frame) es de 1470 octetos o menos, de acuerdo con la norma IEEE 802.3 para Ethernet. El NCFI indica ya sea que las direcciones MAC especificadas están en la forma no canónica (de ser 0) o en forma canónica (de ser 1) . La Figura 3E ilustra el formato descriptor de ruta E-RIF que incluye una identificación de red de área local (LAN ID = Local Área Network Identification) de 12 bits y un número de puente (puente #) de 4 bits. Un campo de formato descriptor de ruta E-RIF también es bien conocido en la industria y este uso sigue la norma (o campo) . La Figura 3F y la Figura 3G ilustran componentes de formatos LLC para utilizar en un mensaje de Ethernet, incluyendo un formato 802.2 LPDU en la Figura 3F y un formato SNAP genérico en la Figura 3G. El formato LPDU de la Figura 3F incluye un punto de acceso de servicio de destino (DSAP = Destination Service Access Point) de 1 octeto (8 bits) , un punto de acceso de servicio fuente (SSAP = Source Service Access Point) de 1 octeto y un control de campo de Control de 1 a 2 octetos incluyendo comando (s), respuesta (s) , número (s) de secuencia y bits de escrutinio/finales. En este contexto, un punto de acceso de servicio es de 6 bits más un bit U y un bit final (1 bit I individual para el punto de acceso de servicio de destino y 1 bit C para el indicador de comando/respuesta para la fuente) . La Figura 3G ilustra el formato SNAP, incluyendo 3 octetos que indican la organización (el identificador único organizacional, (OUI = Organizationally Unique Identifier) y 2 octetos indicando el tipo asignado al formato bajo la norma Internet 0002. Ejemplos del campo tipo son 0800 para IP, 8137 para IPX, 0806 para ARP, 8035 para RARP, 8100 para 802. lg VLAN, 86DD para IPv6, 80DB para Appletalk y 80F3 para Appletalk AARP . La Figura 3H ilustra el formato de un mensaje en el formato IPX sobre Ethernet, incluyendo un cabezal Ethernet MAC y un cabezal IPX, con el cabezal Ethernet MAC que tiene una dirección fuente SA y una dirección de destino DA de 6 octetos cada uno, seguido por un tipo de dos octetos de 8137, indicando que este cuadro es del formato IPX. El cabezal IPX luego incluye los componentes indicados, es decir dos octetos para una suma de verificación, dos octetos para la longitud de paquete, 1 octeto para TC, 1 octeto para PT, 4 octetos para la red de destino, 6 octetos para el nodo de destino, 2 octetos para el enchufe de destino, 4 octetos para el nodo fuente, seis octetos para el nodo fuente y dos octetos para el enchufe fuente. La Figura 31 muestra el formato de mensaje para IPX sobre una versión de propiedad de Ethernet 802.3 (en ocasiones referida como formato Novell) incluyendo un cabezal Ethernet 802.3 MAC, en donde la longitud del mensaje se especifica en el tercer campo (en vez de un tipo en el IPX sobre Ethernet mostrado en la Figura 3H) . La suma de verificación en este formato se ajusta a "FFFF" de acuerdo con su protocolo. La Figura 3J indica un IPX sobre Ethernet 802.3 con 802.2, en donde el mensaje incluye un cabezal MAC con un cabezal IPX (como aquellos mostrados en la Figura 3H) separados por los campos LLC LPDU para el 802.2. La Figura 3K ilustra el formato de un cuadro IPX sobre 802.3 con SNAP en donde, como el formato descrito en conexión con la Figura 3J, el mensaje incluye un cabezal 802.3 MAC seguido por el campo LLC LPDU y concluyendo con el cabezal IPX. Dispuesto entre la porción LLC LPDU y el cabezal IPX está el campo SNAP (para indicar el OUI y un campo de tipo E (Etype) de 8137. La Figura 3L ilustra el formato de un IPX sobre Ethernet con 802. lq VLAN de soporte, en donde el campo tipo se indica como 8100 y el paquete VLAN se dispone entre el cabezal de Ethernet MAC y el cabezal IPX (el cabezal IPX está en el mismo formato que. se describe en conexión con las Figuras 3H, 3J y 3K anteriores) . El paquete VLAN incluye el campo TCI de dos octetos y una longitud de LEN o campo de tipo E de dos octetos, entonces un campo de control E-RIF y un número variable de campo descriptores E-RIF el número de los cuales se indica por la formula (LEN-2)/2. La Figura 3M ilustra un formato de un IPX sobre Ethernet 802.3 (de propiedad) utilizando un soporte 802. lq VLAN. El campo de tipo es 8100 y el paquete VLAN es similar a aquel en el ejemplo VLAN previo, Figuras 3L. El cabezal IPX es similar a aquel mostrado en el cuadro de propiedad 802.3 previo, Figura 31, con el campo de suma de verificación ajustado igual a "FFFF" . La Figura 3N muestra el arreglo de cuadro, para un cuadro que utiliza IPX sobre Ethernet 802.3 con soporte VLAN. Incluye un cabezal 802.3 MAC con un tipo de 8100 indicando la presencia de un paquete VLAN (como la Figura 3M) , un paquete VLAN (también en un formato como el de la Figura 3M) , un LLC LDPU (similar a aquel mostrado y descrito en conexión con la Figura 3J) y un cabezal IPX (como se ilustra en la Figura 3H) . La Figura 30 muestra la configuración o formato de un mensaje de IPX sobre Ethernet 802.3 con soporte SNAP y VLAN utilizando 802. lq. Es similar al formato de la Figura 3N, con la adición de un campo SNAP entre el campo LLC LPDU y el cabezal IPX. La Figura 3P muestra el formato de Ipv4 sobre Ethernet, en donde el mensaje incluye un cabezal de Ethernet MAC y un cabezal IPv4. La longitud de cada uno de los campos se ilustra en esta vista. La Figura 3Q ilustra el formato de mensaje para IPv4 sobre Ethernet 802.3 con 802.2, mostrando el cabezal MAC seguido por LLC LPDU, luego el cabezal IPv4. La Figura 3R ilustra el formato de mensaje para un cuadro IPv4 sobre Ethernet 802.3 con SNAP, en donde el cabezal 802.3 MAC está seguido por LLC LPDU, luego el cabezal IPv4 (y con un finalizador mostrado opcional para UDP o TCP si aplica) . La Figura 3S ilustra el formato de mensaje para IPv4 sobre Ethernet con soporte 802. lq de VLAN. Este formato tiene las características de IPv4 al igual que el paquete VLAN que se ve en otras instancias del soporte 802.lq VLAN. La Figura 3T ilustra el formato de mensaje para IPv4 sobre Ethernet 802.3 (con 802.2) con soporte 802. lq VLAN combinando los atributos de IPv4 sobre 802.3 con 802.2, con las características de mensaje del paquete VLAN. En cada una de las Figuras 3H a 3T, la línea inferior representa la porción de capa 3 (o L3) del cuadro de mensaje y debido a las variaciones en el tamaño de material que precede la porción L3 del mensaje, la porción L3 del mensaje empieza en diferentes sitios, dependiendo del tipo de mensaje -- el protocolo y el método de encapsulación. Aunque el procesamiento de un mensaje L3 se desea (ignorando la encapsulación) puede ser difícil en un sistema de multi-protócolos y multi-encapsulaciones, encontrar el inicio del mensaje L3. Además, ya que las instrucciones llevadas a cabo por uno de la pluralidad de los procesadores 110 en el cuadro dependen del tipo de protocolo de cuadro y método de encapsulación, es conveniente que algo (en este caso, el auxiliar clasificador de equipo físico 118) proporcione un puntero a la instrucción de inicio correcta para el procesador en la memoria de instrucciones 122.
La Figura 4 ilustra un diagrama de bloques para el auxiliar de equipo físico clasificador mostrado como elemento 118 en la Figura 2, junto con porciones selectas de la memoria de instrucciones 122 y una de la pluralidad de unidades de procesamiento 110. El auxiliar de equipo físico clasificador 118 opera en segmentos de 128 bits asociados con la unidad de información de alimentación (o cuadro) que estos segmentos de 128 bits, en ocasiones se denominan "FISH" y se reciben por el auxiliar de equipo físico clasificador 118 (así como una de las unidades de procesamiento individuales 110) desde el despachador 112. Esta función de clasificación opera hasta los primeros tres FISH (o los primeros 384 bits asociados con un cuadro, en ocasiones denominados FISH1, FISH2 y FISH3 para distinguir un FISH de otro) . El primer FISH (FISH1) de hecho no es el cuadro recibido, sino un conjunto de información relacionada a ese cuadro, tal como por que puerto llegó el cuadro, un punto de entrada de código predefinido 291 y un indicador 292 (si o no) si se activa clasificación de cuadro utilizando el clasificador de equipo físico de la presente invención. En el bloque 210, el tipo de Ethernet se compara en sitios variantes en el cuadro, para determinar si los campos corresponden con un protocolo actualmente configurado, por ejemplo, una primer versión de Ethernet (por ejemplo IPX) , o una segunda versión de Ethernet (por ejemplo IPv4 en el bloque 220, se determina si el campo de punto de acceso de servicio (SAP = Service Access Point) corresponde con un protocolo actualmente configurado, de nuevo como se específica en un registro (por ejemplo un valor almacenado específico, indicando un tipo de protocolo) . El sistema también determina si un campo SNAP que representa un tipo diferente de encapsulación está presente (un campo especificado tal como "AAAA03" en el bloque 240 y detecta la presencia de uso de una red de área local virtual (VLAN) en el mensaje en el bloque 250. El bloque 260 es control de clasificación, que cuando se activa por la clasificación de activación 292, es responsable por almacenar los parámetros asociados con el cuadro y proporcionar una salida indicativa del tipo de protocolo, un puntero de capa 3, y banderas de clasificación en las líneas 270, 272, 274. Un punto de entrada de control por cada mensaje (el inicio de procesamiento, la dirección de la primer instrucción en la memoria de instrucciones 122) puede determinarse con anticipación por cada formato definido y almacenado en una tabla 280. Esto es, para un ETYPE = 0 y sin VLAN, entonces el punto de entrada de control (la dirección de inicio) es la dirección 122a en la memoria de instrucción y para un ETYPE = 1 y sin VLAN, el punto de entrada de control es la dirección 122b. Similarmente, para ETYPE = 0 con una VLAN y ETYPE = 1 con VLAN, los puntos de entrada de control respectivos (el sitio en el cual empieza el procesamiento del mensaje actual) son las instrucciones 122c y 122d, respectivamente. El procesamiento empezará en la instrucción 122f para cuadros con un campo ERIF y en la instrucción 122f para programas predefinidos, en donde el protocolo o el método de encapsulación no se encuentran. En cualquier caso, un punto de entrada de control predefinido está contenido en FISHl del mensaje y se lee en el bloque 290. El bloque 295 luego determina si se utiliza el punto de entrada de control predefinido -- si se activa la clasificación de equipo físico en la línea 295 y no se determina punto de entrada de control diferente del bloque 280, entonces se utiliza la entrada predefinida; de otra forma, el punto 'de entrada de control de la tabla 280 se emplea. Las líneas 270, 272, (con las banderas de clasificación y la dirección base L3 determinada por el auxiliar clasificador de equipo físico 118, respectivamente) del clasificador de equipo físico 118, se alimentan al procesador individual 110 que se asigna para procesar el cuadro y se almacenan en los registros de propósito general 110a asociados con una unidad de procesamiento que procesa el cuadro que se almacena en la memoria de datos 110b. La línea de salida 276 del dispositivo 295 proporciona la dirección de inicio para la memoria de instrucción 122 para el tipo particular de cuadro, datos que se almacenan en la lógica de control de instrucción 110c. Una unidad aritmética/lógica (ALU = arithmetic/logic unit) y es una parte de la unidad de procesamiento 110. El procesador 110 utiliza el contador de instrucciones en la lógica de control de instrucciones 110c, para buscar una instrucción de la memoria de instrucciones 122. De esta manera, con base en el protocolo y el método de encapsulación como se determina por el auxiliar de clasificador de equipo físico 118, la unidad de procesamiento 110 se pre-acondiciona con la dirección de partida del juego de instrucciones que es apropiado para el cuadro que se procesa, y banderas apropiadas que indican el tipo de cuadro, se ajustan para permitir que el procesador 110 empiece a procesar el cuadro utilizando las instrucciones correctas. La Figura 5 ilustra la lógica que se emplea para determinar la categorización del formato de mensaje. Esto empieza en el bloque 310 en donde FISH2 se elige, luego en el bloque 320, los octetos 13-14 del cuadro (los dos octetos que incluirán la información de tipo en un cuadro que incluye la dirección de destino de 6 octetos DA y la dirección fuente de 6 octetos SA, seguido por el tipo), se prueban. Si estos -octetos corresponden al contenido ya sea para ETYPEO o ETYPE1, entonces el proceso identifica la información de protocolo al establecer la bandera apropiada en el bloque 323 y concluye el proceso en el bloque 325. De otra forma, si el bloque de tipo es menos que 06000H (hexadecimal) , entonces el cuadro está en el formato de cuadro Ethernet 802.3 y no el formato Ethernet V2.0DIX) y el campo es un campo de longitud en vez de un campo tipo y se procesa en el lado izquierdo del diagrama de la Figura 5. Si este bloque de tipo es 8100, entonces el cuadro es un cuadro que emplea el soporte 802. lq VLAN (ver por ejemplo Figuras 3L, 3M, 3N, 30, 3S y 3T) y se procesa en el lado derecho del diagrama de la Figura 5. Si el campo de tipo es cualquier otra cosa, entonces el control pasa al bloque 325 en donde la clasificación se considera completa sin registrar ninguna información de protocolo, ya que este cuadro aparentemente es un protocolo desconocido. Si en el bloque 320 se determina que los octetos 13-14 fueron menos que 0600H, entonces en el bloque 322, los octetos se analizan para determinar si se conocen como un campo SAP o un LLC o campo de control de enlace lógico del tipo (por ejemplo AAAA03 empleada en la Figura 3K) . Si este campo se reconoce como uno de los campos SAP, entonces el campo SAP se ajusta y se guarda la información de protocolo en el bloque 323 antes de considerar la clasificación completa en el bloque 325. Si este un campo SNAP, entonces el control continua al bloque 324 en donde FISH3 se obtiene y los octetos 2-6 del mismo se analizan para un ETYPE. Si el ETYPE se reconoce, entonces la información de protocolo se guarda en el bloque 323 antes de salir en el bloque 325. Si en el bloque 320 se determina que los octetos 13-14 fueron iguales a 8100 indicando que esta es una red de área local virtual (VLAN) como se especifica en la norma IEEE 802. lq, entonces la existencia de la VLAN se guarda en el bloque 330,_ luego en el bloque 340, la presencia de un campo CFI, se verifica. Si está presente, entonces la clasificación es completa y el control pasa al bloque 325. De no ser así, en el bloque 350, los octetos 1-2 de FISH3 se prueban para determinar si proporcionan un ETYPE (conocido como en la prueba en el bloque 320) o una longitud (menor que 0600H) . Si proporcionan un ETYPE, entonces la información de protocolo se guarda en el bloque 323 y el control pasa al bloque 325 en donde la clasificación se considera completa. Si el campo en el bloque 325 no se reconoce como un ETYPE, entonces el proceso de clasificación de considera completo en el bloque 325. Si la prueba en el bloque 350 proporciona una longitud, menor que 0600H) , entonces en el bloque 360 los octetos 3-5 'se prueban para un SAP conocidos. Si es AAAA03, entonces el control pasa al bloque 370 para determinar los octetos 6-10 para un ETYPE conocido. La Figura 6 ilustra una versión mejorada de clasificador de equipo físico, particularmente de los elementos de la Figura 4. En esta Figura 6, el clasificador de equipo físico incluye los elementos de la Figura 4 con una mejora a la lógica de control de instrucciones 110c, incluyendo en lugar de una sola dirección de inicio, una serie de direcciones almacenadas en una pila de instrucciones llOd. Esta pila de instrucciones incluye la dirección de instrucción inicial, seguida por otras direcciones requeridas cuando el procesador alcanza una ramificación o bifurcación, para evitar mayor procesamiento o declaraciones de condición en posteriores ramificaciones. Las direcciones de inicio luego se almacenan en orden en una pila y retiran de la pila cuando se requiera una instrucción de ramificación . Para mayor información respecto al contenido de definición de mensajes de Ethernet de diversos protocolos o técnicas de encapsulación, se dirige el lector a la guía de referencia o norma apropiada para la construcción de un cuadro Ethernet . Algunos documentos generalmente disponibles que pueden ser útiles en la comprensión de protocolos de Ethernet y técnicas de encapsulación, y las normas y opciones relacionadas son: ISO/IEC Final CD 15802-3, IEEE P802.1D/D15, Noviembre 24, .1997, Anexo C; IEEE Draft Standard 802.1Q/D9 fechado febrero 20, 1998; RFC 1700 - Números asignados por J. Reynolds y J. Postel, Octubre, 1994 (un documento que también está disponible en http : //www/isi . edu/rfc-editor/rfc . html) ; " IBM Token Ring Network Architecture Reference" (IBM Referencia de arquitectura de red de anillo de señales) ; y el Resumen de Conmutación y Puente de IBN LAN (Bridge and Switch Summary). Número de Publicación SG24-5000-00 , Versión 1.3, January, 1996, particularmente Capítulo 1.1.1. El clasificador de equipo físico puede diseñarse en diversas formas incluyendo a través del uso de una de una variedad de herramientas de soporte lógico generalmente disponibles para diseñar y fabricar diseños lógicos en configuración de equipo físico (o en implementación actual en el substrato de silicio) , así como diseñados en forma tradicional a mano por un diseñador lógico. En este ejemplo, las pruebas deseadas se programan utilizando un lenguaje de . soporte lógico conocido como un lenguaje para definición de equipo físico VLSI o abreviado en (VHDL) y luego poner a través de una porción o parte conocida de soporte lógico (tal como el distribuido por IBM o uno distribuido por Synopsis) para crear un diseño con las puertas y lógica necesarias para lograr las pruebas deseadas en una forma de equipo físico. Otros sistemas de diseño similares existen y pueden emplearse para aprovechar, de manera tal que el diseñador de la lógica no requiere conocer la estructura de las compuertas o su ubicación, solo su función lógica de alimentaciones y pruebas y salidas deseadas . Como se mencionó anteriormente, puede ser conveniente en algunos sistemas incluir en el sistema de procesamiento de la presente invención, la capacidad por enviar cuadros procesados de un flujo de datos en el orden en el que se recibieron, independiente de que procesadores se asignan para procesar cada cuadro. En este sistema, el despachador 112, después de identificar una unidad de procesamiento disponible y asignar un cuadro recibido a la unidad de procesamiento para procesar, creará y almacenará información de identificación para el cuadro y la unidad de procesamiento a la cual se asignó.
Cuadros típicamente llegan con información de identificación tal como número de mensaje (en ocasiones referido como MAC) y la dirección de la fuente (en ocasiones designada como SA) y destino (en ocasiones designada como DA) del cuadro. La ubicación y contenido de esta información pueden variar dependiendo del formato del mensaje y su técnica de encapsulación, pero esta información permite que el cuadro se dirija adecuadamente al destino a través del sistema y los conmutadores y encaminadores y se ha ensamblado en un mensaje completo en el orden adecuado, incluso si todo el mensaje es más largo que un solo cuadro. Típicamente, los componentes de un mensaje se refieren como un flujo de datos y cada porción del flujo de datos incluirá la misma información de identificación tal como MAC, SA y DA. La etiqueta actual (o información de identificación asignada a un cuadro de alimentación por la unidad de despachador 112 puede crearse en una variedad de formas tales como MAC-SA + DA o por o-exclusivo (XOR-ing)_ lógicamente del LID con los campos MID en otros formatos de mensaje. Como se ilustra en la Figura 7, el almacenamiento en tres listas o listas de espera puede crearse para cada cuadro. Primero, una lista de espera 400 de cuadros procesados se define para contener trabajo completo (una salida o cuadro procesado) que se recibe del procesador que procesó un cuadro determinado) , requiriendo un espacio de memoria o memoria intermedia por al menos un cuadro completo por cada procesador, ilustrado como cuadro-0 a cuadro-N (frame-0 a frame-N) en donde los procesadores identificados como NPU-0 a NPU-N se acoplan al cuadro respectivo. Cuando el despachador 112 envía un cuadro a una unidad de procesamiento, envía el identificador para ese cuadro a una segunda memoria o lista de espera 410 que incluye ubicaciones de almacenamiento 0 a N, correspondientes a las unidades de procesamiento de red respectivas NPU-0 a NPU-N. Cuando un cuadro con el identificador o etiqueta M se envía a NPU-0, entonces la memoria 0 correspondiente a la etiqueta para el NPU-0 se envía el m identificado para almacenamiento, indicando que NPU-0 está procesando una unidad de información de alimentación cuyo identificador es m. Se recordará que un cuadro posterior que tiene el mismo identificador m, pertenecerá al mismo flujo de datos y un cuadro que tiene un identificador o etiqueta diferente representará un flujo de datos diferente. De esta manera, si una unidad de información de alimentación que tiene la etiqueta de 0 se recibe y despacha a NPU-1, entonces un 0 se registra en el almacenamiento 1 correspondiente a NPU-1. Luego, si posteriormente se recibe una segunda unidad de información de alimentación del mismo flujo de datos (también con una etiqueta de 0) por el despachador 112 y asigna al procesador NPU-N, la memoria N también tiene almacenada la etiqueta de cero que representa esa unidad de información asignada al procesador N. La tercer memoria 420 incluye almacenamiento por cada una de las etiquetas actualmente procesadas por las n unidades de procesamiento. Por cada una de las etiquetas, el identificador del procesador asignado se almacena y ya que la lista ocurre secuencialmente, el primer procesador asignado a un flujo de mensaje particular aparece primero en la memoria. En este caso, para la etiqueta m, una entrada cero en la memoria 422, indica que NPU-0 está procesando una unidad de información de alimentación de ese flujo y para la etiqueta cero, una primer unidad se procesa por el procesador NPU-N, como se ilust-ra por la memoria 424 y una segunda unidad se procesa por el procesador NPU-1 como se ilustra por la memoria 426. Para un flujo determinado, el orden en el cual las unidades de información de alimentación llegan en el despachador se va a mantener de manera tal que la transmisión subsecuente del mismo flujo de datos puede ocurrir en el mismo orden en el que se recibió, de manera tal que se verá que las memorias de etiqueta 424, 426 tienen las NPUs o unidades de procesamiento enlistadas en el orden en el que los cuadros de alimentación se recibieron de la red y despacharon a los N procesadores . La Figura 8 ilustra una estructura más detallada de la unidad de terminación 114 empleada para procesar cuadros de alimentación y que emplean las técnicas de administración de datos descritas . La unidad de terminación 114 como se ilustra en esta modalidad se comunica con una pluralidad de dispositivos de circuito cíclico (round-robin) para distribuir la salida (por ejemplo unidades de información procesadas) de las unidades de procesamiento, no mostradas en esta Figura 4. La pluralidad de dispositivos de circuito cíclico incluyen uno de circuito cíclico ascendente 450 y dos dispositivos de circuito cíclico descendentes, un dispositivo de circuito cíclico identificado como 460 para puertos objetivo (una pequeña cantidad de puertos frecuentemente empleados direccionados específicamente) y un dispositivo de circuito cíclico 470 para distribución general (información procesada > direccionada a puertos diferentes a los puertos objetivo específicamente direccionados) . Las compuertas lógicas Y (AND) 452, 462, 472 proporcionan las compuertas para los dispositivos de circuito cíclico 450, 460, 470, respectivamente. Para la compuerta Y (AND) 452 que proporciona un cuadro al dispositivo de circuito cíclico ascendente 450, las alimentaciones son que puede ser un cuadro ascendente o hacia arriba (UP) (del bloque UP asociado con la página FCB listo (ready FCB) 510) , que el cuadro sea un cuadro válido (el indicador VF que es un cuadro válido, listo para transmisión) que el campo de etiqueta sea válido en el campo de etiqueta de cuadro asociado (MOI a M92) y que la etiqueta se asocie con un cuadro de cabeza (o más anterior) de un flujo de datos. El despachador 112 proporciona dos partes de información para poner en lista de espera de etiquetas 480, cuando un cuadro se despacha a un procesador determinado -- una etiqueta para el cuadro en la línea 482 y la identidad del procesador al cual se ha asignado el cuadro en la línea 484. La etiqueta para el cuadro identifica el flujo de datos al cual pertenece el cuadro, que en la modalidad preferida se basa en MAC más la dirección fuente menos la dirección de destino, con el objetivo de proporcionar un identificador único por cada flujo de datos, de manera tal que los cuadros para el mismo flujo de datos tendrán la misma etiqueta y cuadros de flujo de datos diferentes tendrán diferentes etiquetas o identificadores.
La Figura 9 ilustra un formato para el elemento del campo de etiqueta 500 que almacena información asociada con cada uno de los procesadores N. Cada uno de los N procesadores tiene dos de estos campos de etiquetas asociados, uno para el cuadro procesado y uno para el cuadro que se ha procesado y espera transferencia desde el complejo de procesamiento. El cuadro procesado listo para transferirse se mantiene en una memoria o almacenamiento 510 que en ocasiones se refiere como superior como una página FCB listo (Ready FCB) y uno de estos almacenamientos existe por cada uno de los N procesadores . El elemento de campo de etiqueta 500 incluye una etiqueta L, un campo de cabezal H, un campo válido V, un campo de cola T y un campo siguiente N. La etiqueta L se deriva del contenido de mensaje y representa un identificador único por cada uno de los flujos de datos. El campo de cabezal H identifica ' el inicio de un flujo de datos o una cadena de cuadros relacionados que actualmente se maneja por las N unidades de procesamiento, ya sea como trabajo que se procesa o cuadros procesados que esperan transferencia desde el complejo de procesamiento. Cada flujo de datos que se procesa en el complejo de procesamiento de N procesadores tiene un cabezal o inicio (o primer cuadro recibido para este flujo de datos) en algún lugar en los N procesadores, y ese inicio se identifica como su "cabeza" con un 1 en el campo de cabezal H por su elemento de campo de etiquetas asociado. Similarmente, cada flujo de datos en los procesadores también tiene un último cuadro actualmente en los N procesadores, y este último cuadro se identifica como cola por un 1 en el campo de cola T. El campo válido V indica si el procesador contiene datos reales (como sería de procesar) indicado por un 1 en el campo válido o si no lo es, que se indica por un 0 en el campo válido V. Cuando el procesamiento primero empieza, no existen datos reales o válidos en el sistema, de manera tal que el campo válido V se ajusta a 0 como parte de la inicialización del sistema. Posteriormente, conforme se leen datos de la página FCB listo (Ready FCB) 510 para un procesador determinado, entonces el campo válido V correspondiente a esa página FCB de procesadores se ajusta a 0, indicando que el procesador no tiene más información válida correspondiente a esa etiqueta (ya que la información en la página FCB ya se ha pasado junto con los dispositivos de circuito cíclico; aunque el procesador aún puede tener información válida en el otro campo de etiqueta asociado con este procesador, debido a que el propio procesador puede estar trabajando en un cuadro diferente) . El siguiente campo N indica el campo de etiqueta asociado con el siguiente cuadro en el mismo flujo de datos -- otro de los dos N campos de etiquetas asociados con los N procesadores. Una lista de espera de etiquetas 480 recibe un mensaje del despachador por cada unidad de información de alimentación o cuadro que un cuadro determinado se ha despachado con su identificador para el flujo de datos y el procesador al cual se ha despachado el cuadro. La Figura 10 ilustra el flujo de la puesta en lista de espera de etiquetas 480 de la Figura 4. Cuando un cuadro se envía del despachador 112 a uno de los n procesadores en el bloque 600, una etiqueta para un cuadro o unidad de información de alimentación se envía a la puesta en lista de espera de etiquetas 480 en la línea 482 y una identificación de la cual de los n procesadores maneja el cuadro en la línea 484. El primer procesamiento por la puesta en lista de espera de etiquetas 550 está en el bloque 602, para determinar si el campo V es 1 para el almacenamiento en el cual señala el primer campo de etiquetas. Si el campo válido V es 1, entonces el almacenamiento señalado está ocupado, y los datos deberán guardarse en el otro almacenamiento como se indica por el bloque 606, de otra forma el almacenamiento señalado deberá ser utilizado en el bloque 604. A continuación, en el bloque 650, él campo válido V para el almacenamiento apropiado se ajusta en 1 para indicar que los datos válidos se guardan en ese almacenamiento y en el bloque 640 el indicador de cola T para .la ubicación de almacenamiento actual, se ajusta para indicar que este es el último de la corriente de datos actual (hasta que el siguiente cuadro para el mismo flujo de datos se reciba, en cuyo tiempo se reajusta el campo de cola T) . A continuación, en el bloque 610, la etiqueta se compara con las etiquetas actuales que se manejan por cualquiera de los procesadores (por supuesto, el campo válido V deberá ser 1 para estos, indicando que este es un cuadro válido) . El resultado de esta comparación es que cualquiera de la etiqueta actual es igual a 1, ya está en proceso en cuyo caso el control pasa al bloque 670 o que no corresponde a cualquier etiqueta actualmente en proceso, en cuyo caso el control pasó al bloque 630. Si hay una correspondencia con una de las etiquetas actuales, entonces el cuadro es una parte de un flujo de datos existente, de manera tal que en el bloque 670, el campo de etiqueta T del extremo previo del flujo de datos se reinicia (de manera tal que T = 0), .y el siguiente puntero de campo para este campo de etiqueta se ajusta para señalar a la ubicación de cuadro actual. Luego, en el bloque 680, el campo de cabezal H se ajusta a 0 indicando que el cuadro actual no es la cabeza de un flujo de datos. Si la etiqueta para el cuadro actual no es igual a cualquier etiqueta actualmente almacenada, entonces el cuadro actual es un nuevo flujo de datos y el cuadro corriente o actual es el inicio del mismo, de manera tal que el campo de cabeza H se ajusta a 1 para indicar ese estado en el bloque 630. Después de procesar el bloque 630 o el bloque 680, para configurar las banderas apropiadas, particularmente el campo de cabezal H, el proceso de enlazar con flujos de datos existentes y configurar los campos o banderas, se concluye. En la Figura 11, se ilustra el proceso para enviar de salida un cuadro desde los procesadores. Primero, el primer indicador de campo se voltea, de manera tal que el puntero señala al otro almacenamiento como el primer o siguiente campo para el procesador en el bloque 710. Luego, en el bloque 720, el campo válido V se reinicia o inicia de nuevo a 0, indicando que los datos no son más válidos (el cuadro se ha despachado y los datos no representan un cuadro actualmente procesado) . El bloque 725 prueba si el campo de cola T está ajustado (T=l) indicando -que este es el último cuadro de un flujo de datos particular. De serlo, entonces el control pasa al bloque 740, indicando que el proceso terminó. De no ser, en el bloque 730, entonces el siguiente cuadro en la sucesión se localiza (por el puntero en el siguiente campo) y su bit de cabeza o bandera H se ajusta para indicar que es el primer cuadro en este flujo de datos actualmente en los procesadores. Luego, del bloque 730, el ajuste de banderas se efectúa como se indica por el bloque 740. La Figura 12 ilustra el sistema de la presente invención por un ejemplo, mostrando como varios flujos de datos pueden alojarse por la unidad de terminación anteriormente descrita con la lógica de la Figura 10. Los N procesadores con el despachador 112 y la unidad de terminación han estado trabajando por algún tiempo, de manera tal que la Figura 12 representa una instantánea de datos almacenados en una porción de la unidad de terminación, particularmente con referencia al almacenamiento de etiquetas. Como se ilustra en esta Figura, la puesta en lista de espera de etiquetas se acopla a la pluralidad de memorias de etiqueta, dos por cada uno de los N procesadores. Cada uno de los procesadores también tiene asociada con él una memoria intermedia de salida (en ocasiones referida como la página FCB lista (Ready FCB page) ) para aquellos cuadros procesados que esperan transmisión a los tres circuito s cíclicos mostrados. Asociada con cada una del par de memorias de etiqueta está la primer memoria de etiqueta para indicar cual de las memorias de etiquetas se recibió primero (y cuando ambas memorias de etiqueta son válidas, la primer etiqueta representa aquella que es la memoria intermedia de la página FCB listo (Ready FCB page) y la segunda o etiqueta recibida posteriormente, representa aquella actualmente procesada en el procesador respectivo) . Cinco flujos de datos separados se ilustran en esta Figura, aunque el número de flujos de datos que están en progreso en cualquier tiempo determinado depende del sistema (particularmente de su tamaño y el tráfico de red) y puede variar con el tiempo. En este ejemplo, los diez procesadores se identifican como procesadores 0 a 9 y las memorias de etiqueta se identifican como memorias MOI y M02 para el procesador 0 hasta las memorias de etiqueta M91 y M92 para el procesador 9, aunque el número de procesadores es una elección de diseño y sujeto a cambio, si se desea. Un primer flujo de datos con el identificador A empieza en la memoria de etiqueta MOI como se ilustra por la indicación (H = 1) que la etiqueta de memoria MOI (y la referencia correspondiente al procesador 0) representan una cabeza de una cadena o flujo de datos. El siguiente campo N de la memoria de etiqueta MOI señala a la memoria de etiqueta M21 para indicar si el procesador 2 está manejando la siguiente unidad de información asociada con este flujo de datos.
El siguiente campo de la memoria de etiqueta M21 señala a la memoria de etiqueta M52 que indica que el procesador 5 tiene la siguiente porción de este flujo de datos. El campo ajustar cola para la memoria de etiqueta M52, indica que esta es la porción • final de este flujo de datos actualmente procesados en los N procesadores. La secuencia de flujo de datos en este ejemplo se ilustra por las flechas Al que señalan desde la memoria de etiqueta MOI a la memoria de etiqueta M21 y la flecha A2 que señala desde la memoria de etiqueta M21 a la memoria de etiqueta M52, para ilustrar la conexión lógica entre elementos del flujo de datos (las flechas representan lógicamente los punteros en el siguiente campo y no existen físicamente en la •implementación actual) . Similarmente, un flujo de datos desde la memoria de etiqueta M02 a la memoria de etiqueta Mil indica por la flecha A3 un orden en el mismo flujo de datos (aunque un flujo de datos diferente de aquel descrito en conexión con las memorias de etiquetas MOI, M21 y M52) . Un tercer flujo de datos se indica con la flecha A4 en conexión con las memorias de etiqueta M31 y M42 con un cuarto flujo de datos indicado por la flecha A5 entre las memorias de etiqueta M71 y M72. Finalmente, - un quinto flujo de datos se indica en la memoria de etiqueta M41 que no tiene flecha ya que es un flujo de datos que actualmente •^tfB^a^db^Hl^^aka incluye solo una memoria de etiqueta sencilla. Esta memoria de etiqueta M41 es tanto la cabeza como la cola del flujo de datos y no tiene siguiente campo, ya que no hay otra memoria de etiqueta asociada con este flujo de datos . Se recordará que, cuando hay dos memorias de etiqueta asociadas con un solo procesador, una de las memorias de etiqueta representa una unidad de información completa o procesada, almacenada en una memoria intermedia y en ocasiones referida como una página FCB listo (Ready FCB page) , lista para transferencia a la siguiente unidad de circuito cíclico apropiada para transmisión desde el complejo de procesamiento, ya sea hacia arriba o hacia abajo según pueda ser el caso, indicando que, para transferencias hacia arriba, se transferirá al dispositivo de interfase y para transferencia hacia abajo que se transfiere de regreso hacia la red de transmisión de datos. En este caso, el procesador 0, el procesador 4 y el procesador 7 incluyen datos en ambas memorias de etiquetas asociadas. Asociados con cada página FCB listo (Ready FCB page) también está un campo arriba (up) (indicando si esta es una página hacia arriba o hacia abajo) , así como un indicador de si, si esta es una página hacia abajo, el cuadro se direcciona a un puerto objetivo o un puerto general, que determina si se transfiere una página hacia abajo al circuito cíclico de puerto objetivo hacia abajo o al circuito cíclico de puerto general. Si el cuadro previo recibido para el procesador 0 era la memoria de etiqueta M02 y que es tanto una cabeza de flujo de datos como un cuadro hacia arriba seleccionado por el dispositivo de circuito cíclico hacia arriba para la siguiente transmisión fuera del complejo procesador y su memoria intermedia, entonces la página FCB y campos de datos asociados se retiran de la página FCB listo (Ready FCB page) transfiriendo la información al circuito cíclico de arriba. Luego, el primer indicador de etiqueta se pasa al otro estado para señalar que la otra memoria de etiqueta MOI para el procesador 1 es ahora la primera, y el campo válido V para la memoria de etiqueta M02 se ajusta a 0 indicando que esta memoria de etiqueta no es más activa o válida y el campo válido VF para la página FCB asociada se ajusta de nuevo a 0. La presente invención soporta nuevos flujos de datos sin perturbar los flujos de datos existentes y sin requerir el saber respecto a un nuevo flujo de datos, con anticipación. Un paquete que representa un nuevo flujo de datos (por ejemplo mensaje de una de las unidades de procesamiento respecto a su estado) simplemente se almacena con sus datos de identificación y sin referencia a otro flujo de datos. Carece de un identificador sin correspondencia al identificador para cualquiera de los flujos de datos existentes, con un ajuste de campo "sin etiqueta", un mensaje que puede salir en cualquier momento . La presente invención también permite un comando vaciar, para sobreponerse al procesamiento de los flujos de datos en orden respectivo, al permitir que el sistema procese cuadros completos en el orden en el que esos cuadros completos se reciben, ignorando la formación de cadena de campo de etiqueta (los siguientes punteros y el requerimiento que dan un cuadro que sea una cabeza antes de tener acceso a los dispositivos de circuito cíclico que envían los cuadros) . Esto puede lograrse al portar "sin campo de etiqueta" en la página FCB. Un flujo de datos sencillo permanecerá bloqueado hasta que la cabeza de flujo de datos sea procesada, ya que en operación normal (sin la alternativa vaciar) solo cuadros que son la cabeza del flujo de mensaje se considerarán para enviar de salida a los dispositivos de circuito cíclico por la unidad de terminación. Sin embargo, cada flujo de datos tiene su propia cabeza, de manera tal que un flujo de datos puede bloquearse, pero los otros flujos de datos pueden continuar procesando y enviando unidades de información completas a los dispositivos de circuito cíclico sin interrupción o impedimento y sin intervención. Esto es particularmente útil en el caso en donde un solo flujo de datos se detiene (por ejemplo un procesador falla o no puede procesar un elemento de un flujo de datos sencillo) ya que los otros flujos de datos no se detienen. De otra forma, todo el procesamiento se detendrá hasta que se rectificara el bloqueo de flujo de datos sencillo. Por supuesto, muchas' modificaciones de la presente invención serán aparentes a aquellas personas con destreza en la técnica relevante, en vista de la descripción anterior de la modalidad preferida, tomadas en conjunto con los dibujos acompañantes. Por ejemplo, el tipo actual de equipo físico de implementación para el clasificador, está sujeto a muchas selecciones de diseño, y las selecciones particulares descritas, dependen del contenido del mensaje, y el método de encapsulación de mensaje y el procesamiento a realizar. Pueden efectuarse muchas modificaciones a la implementación del sistema y la configuración de mensaje que puede manejar el sistema sin apartarse del espíritu de la presente invención. Las etiquetas que se almacenan pueden generarse en otras formas no basadas en el contenido del mensaje, o simplemente pueden ser una numeración consecutiva de flujos de datos identificados por el despachador. Muchas otras modificaciones y adaptaciones al presente sistema pueden emplearse para aprovechar sin apartarse del espíritu de la presente invención, y algunas de las ventajas de la presente invención pueden lograrse sin el uso correspondiente de otras características relacionadas. De acuerdo con esto, la descripción anterior de la modalidad preferida deberá considerarse como simplemente ilustrativa de los principios de la presente invención y no limitada a los mismos.

Claims (1)

  1. REIVINDICACIONES 1. - Un aparato que comprende : un substrato semiconductor; N unidades de procesamiento fabricadas en el substrato en donde N>1; una primera memoria de datos interna fabricada en el substrato, la memoria de datos para almacenar información es accesible a las N unidades de procesamiento; un despachador acoplado operativamente a las N unidades de procesamiento para recibir y transmitir a una de las N unidades de procesamiento, una unidad de información de alimentación; un clasificador acoplado al despachador, el clasificador incluye una unidad de comparación para determinar un formato de datos para una unidad de información de alimentación y para generar y almacenar en la memoria de datos interna, indicadores de salida para la unidad de información de alimentación, los indicadores de salida indican el formato de datos de la unidad de información de alimentación y una dirección de inicio o de partida para la unidad de información de alimentación, indicadores y la dirección de partida que están disponibles para una de las N unidades de procesamiento durante su procesamiento de la unidad de información de alimentación y utilizan se el procesamiento de la unidad de alimentación de información; y una unidad de terminación transportada en el substrato semiconductor y conectada operativamente a las N unidades de procesamiento para recibir la unidad de información que se procesa por una de las N unidades de procesamiento . 2. - Aparato del tipo descrito en la 5 reivindicación 1, caracterizado porque la unidad de comparación incluye una prueba para un campo de red de área local virtual, contenido en los datos de información de alimentación y los indicadores de salida generados incluyen un indicador para identificar la presencia de un 10 campo de red de área local virtual en la unidad de información de alimentación. 3. - El aparato de conformidad con la reivindicación 1 o 2, caracterizado porque el clasificador incluye una pluralidad de dispositivos de 15 equipo físico formados en el substrato. . - Aparato del tipo descrito en las reivindicaciones 1, 2 o 3, caracterizado porque los indicadores de salida incluyen indicadores que identifican el tipo de unidad de información de 20 alimentación y su técnica de encapsulación capa 2. 5. - Aparato del tipo descrito en las reivindicaciones 1, 2, 3 o 4, caracterizado porque los indicadores incluyen un punto de entrada de código predefinido . --^•""*- • - -- 6. - Aparato del tipo descrito en cualquiera de las reivindicaciones 1 a 5, caracterizado porque el clasificador incluye un sistema para determinar un punto de entrada de código, con base en el tipo de unidad de información de alimentación y su técnica de encapsulación como se determina por el clasificador. 7.- Aparato del tipo descrito en cualquiera de las reivindicaciones 1 a 6, caracterizado porque el clasificador incluye un sistema para determinar un punto de entrada de código predefinido y un punto de entrada de código con base en el tipo de unidad de información de alimentación . 8. - Aparato del tipo descrito en la reivindicación 7, caracterizado porque el aparato además incluye un selector para el punto de entrada de código predefinido y el punto de entrada de código, con base en el tipo de unidad de información de alimentación. 9. - Aparato del tipo descrito en la reivindicación 8, caracterizado porque además incluye un sistema parta identificar si se incluye información de red de área local y virtual en la unidad de información de alimentación. 10.- Aparato del tipo descrito en cualquiera de las reivindicaciones 1 a 9, caracterizado porque los indicadores además incluyen la identidad de una de las N unidades de procesamiento a la cual se asignó la unidad de información de alimentación. 11.- Aparato del tipo descrito en la reivindicación 10, caracterizado porque además incluye una bandera que indica que las unidades de información procesadas se van a transmitir desde el substrato en el orden en el que se reciben las. unidades de información procesadas, con la unidad de terminación que responde a la bandera para despachar unidades de información procesadas conforme se completan por una de las N unidades de procesamiento. 12. - Aparato del tipo descrito en la reivindicación 11, caracterizado porque el clasificador incluye un sistema para generar y almacenar en la memoria de datos internos un identificador por cada unidad de información de alimentación que -indica su flujo de datos y que enlaza posteriormente unidades de información desde el mismo flujo de datos a la unidad de información previa del mismo flujo de datos, con la más anterior en los procesadores identificada como la primer unidad de información en un flujo de datos particular y la transmisión de unidades de información desde las unidades de procesamiento se limita a aquellas unidades de información que se identifican como la primer unidad de información para el flujo de datos particular. 13. - Aparato del tipo descrito en cualquiera de las reivindicaciones 1 a 12, caracterizado porque la unidad de despacho además almacena secuencialmente en una lista de espera, un identificador por cada unidad de información y la identidad de la unidad de procesamiento a la cual se despacha para procesamiento la unidad de información; y en donde la unidad de terminación además se acopla a la lista de espera secuencial y utiliza el identificador por cada unidad de información asignada por el despachador y la identidad de la unidad de procesamiento a la cual se despacha la unidad de información, a fin de ensamblar las unidades de información procesadas en el mismo orden en el que se recibieron las unidades de información. 14. - Aparato del tipo descrito en la reivindicación 13, caracterizado porque además incluye una señal para reemplazar el orden y para transferir unidades de información procesadas a la red, en el orden en el que se completan las unidades de información. 15.- Un método para procesar una unidad de información de alimentación, que comprende las etapas de: recibir la unidad de información de alimentación en un despachador; enviar la unidad de información de alimentación desde el despachador a uno de una pluralidad de procesadores, para procesamiento; leer bits selectos de la unidad de información de alimentación, mientras que la unidad de información se envía desde el despachador a uno de la pluralidad de procesadores; probar los bits de lectura desde la unidad de información de alimentación contra indicadores conocidos que identifican tipos predeterminados de unidades de información de alimentación, para identificar el tipo y protocolo de la unidad de información de alimentación o que la unidad de información de alimentación no cumple con ningún tipo de identificación predeterminado de la unidad de información de alimentación; y con base en los resultados de la prueba de bits desde la unidad de información de alimentación, almacenar indicadores de tipo de la unidad de información de alimentación y otra información respecto a esa unidad de información de alimentación; y utilizar en una de la pluralidad de unidades de procesamiento los indicadores almacenados y la otra información almacenada respecto a la unidad de información de alimentación en el procesamiento de la unidad de información de alimentación. 16. - Un método que incluye las etapas de la reivindicación 15, caracterizado porque la etapa de generar los indicadores y almacenar los indicadores, ocurre mientras que la unidad de información de alimentación se envía a uno de la pluralidad de procesadores de manera tal que, cuando uno de las pluralidades de procesadores procesa la unidad de información de alimentación, los indicadores y la otra información se han determinado y almacenado y aquel de la 5 pluralidad de procesadores utiliza los indicadores y otra información respecto a la unidad de información de alimentación, para procesar esa unidad de información de alimentación. 17.- Un método que incluye las etapas de las 10 reivindicaciones 15 o 16, caracterizado porque además incluye la etapa de generar una dirección de partida o de inicio para el adicional procesamiento de la unidad de información de alimentación con base en el contenido de la unidad de información de alimentación y la etapa de 15 utilizar los indicadores almacenados en aquella de la pluralidad de unidades de procesamiento incluye utilizar la dirección de inicio. 18.- Un método que incluye las etapas de las reivindicaciones 15, 16 o 17, caracterizado porque la 20 etapa de leer y probar se logra en equipo físico, con lo que el proceso se logra en menos ciclos de procesamiento que si la lectura y prueba se logran al ejecutar una serie de instrucciones almacenadas. 19.- Un método que incluye las etapas de la 25 reivindicación 18, caracterizado porque la etapa de ata-u-aaM. utilizar equipo físico para lograr la identificación del tipo de unidad de información de _ alimentación y almacenar indicadores, se logra dentro de dos ciclos de máquina, con lo que la etapa de utilizar los indicadores en una de 5 la pluralidad de unidades de procesamiento, ocurre previo a que si las pruebas se lograran al ejecutar una serie de instrucciones programadas en secuencia. 20.- Método para procesar unidades de información del tipo descrito en la reivindicación 19, 10 caracterizado porque la etapa de probar y almacenar indicadores para una unidad de información de alimentación se superpone con la etapa de recibir la unidad de información de alimentación desde el despachador en una de la pluralidad de unidades de 15 procesamiento. 21.- Un método que incluye las etapas de cualquiera de las reivindicaciones 15 a 20, caracterizado porque además incluye las etapas de : generar y almacenar un identificador para la unidad de información de 20 alimentación; almacenar en . asociación con el identificador, la identidad de la unidad de procesamiento a la cual se asigna la unidad de información; y utilizar el identificador y la identidad de la unidad de procesamiento a la cual se asigna la unidad de bMÉfl|Bife -^**^^^"^- * información para transmitir unidades de información procesada en el orden en el que se recibieron. 22. - Un método que incluye las etapas de la reivindicación 21, caracterizado porque además incluye la etapa de responder a un cuadro generado por una unidad de procesamiento al incluir una bandera sin etiqueta en el cuadro . 23. - Método para procesar unidades de información del tipo descrito en la reivindicación 22, caracterizado porque el sistema responde a un cuadro con una bandera sin etiqueta al pasar el cuadro a la red sin mayor almacenamiento. 24. - Método para identificar un cuadro de alimentación y proporcionar indicadores referentes a ese cuadro para mayor procesamiento del cuadro, las etapas del método se caracterizan porque comprenden: determinar del cuadro de alimentación un tipo de encapsulación y un tipo de protocolo al comparar una sección del cuadro de alimentación con un contenido predeterminado indicativo de un tipo de encapsulación y un tipo de protocolo; generar y almacenar con respecto a cada uno de los indicadores de los cuadros de alimentación del tipo de encapsulación y tipo de protocolo para este cuadro de alimentación; determinar y almacenar la ubicación de un cabezal de nivel 3 para el cuadro de alimentación; y determinar y almacenar un punto de inicio para mayor procesamiento del cuadro de alimentación, con base en el tipo determinado de protocolo y método de encapsulación, con lo que la ubicación y punto de inicio pueden emplearse en mayor procesamiento del cuadro de alimentación . 25.- Método para determinar las características de un cuadro de alimentación que incluye las etapas de la reivindicación 24, caracterizado porque la etapa de determinar un punto de inicio para mayor procesamiento incluye la etapa de determinar un punto de entrada de código predefinido desde el cuadro de alimentación, luego utilizar el protocolo de cuadro de alimentación y método de encapsulación para determinar si un punto de entrada de control almacenado se ha guardado o almacenado para esta combinación de encapsulación de protocolo, utilizando el punto de entrada de control almacenado para el punto de partida o de inicio, para mayor procesamiento si uno existe y de otra forma, utilizar el punto de entrada de código predefinido como el punto de partida para mayor procesamiento. 26. - Dispositivo para recibir de una red y procesar paquetes de datos de formatos variantes, caracterizado porque comprende: una pluralidad de procesadores, cada uno opera independiente del otro, para procesar paquetes de datos y proporcionar un paquete de datos de salida, que se basa en el paquete de datos de alimentación; una unidad de despacho conectada a los procesadores para recibir un paquete de datos desde la red y asignar el paquete a uno de la pluralidad de procesadores independientes; un dispositivo de clasificación conectado a la unidad de despacho para recibir el paquete y determinar su protocolo y técnica de encapsulación al igual que una dirección de inicio o de partida para adicional procesamiento del cuadro por las unidades de procesamiento, el dispositivo de clasificación incluye: lógica para determinar la técnica de encapsulación con base en una porción del cuadro; lógica para determinar la presencia de información de una red de área local virtual en el cuadro; y una salida por cada cuadro que incluye el tipo de encapsulación y la dirección de partida o de inicio, para adicional procesamiento . 27.- Aparato del tipo descrito en la reivindicación 26, caracterizado porque el clasificador se incorpora en equipo físico sin un programa almacenado. 28.- Aparato del tipo descrito en la reivindicación 26, caracterizado porque la clasificación ocurre en dos ciclos, de manera tal . que adicional procesamiento del cuadro por una de las unidades de procesamiento pueden empezar dentro de dos ciclos después de que el cuadro se despacha por la unidad de despacho. 29.- Aparato del tipo descrito en la reivindicación 26, caracterizado porque la dirección de inicio o partida se determina al generar una dirección de inicio o partida predefinida desde el cuadro y utilizar esa dirección predefinida como la dirección de inicio para procesar el cuadro al menos de que se almacene una dirección de inicio diferente para el método de encapsulación y protocolo determinado por el sistema de clasificación. 30.- Aparato del tipo descrito en la reivindicación 26, caracterizado porque además incluye un sistema de manejo para procesar nuevas unidades de información que no se recibieron • de la red, el sistema de manejo pone un símbolo en nuevas unidades de información que indica que estas nuevas unidades de información no se recibieron de la red. 31.- Aparato para analizar un cuadro de información que tiene un protocolo variable y encapsulación y para proporcionar una ubicación de inicio para procesar ese cuadro y un puntero a la instrucción inicial para procesar ese cuadro, el aparato se caracteriza porque comprende: un comparador para buscar octetos predeterminados del cuadro y determinar si esos octetos indican una longitud o un protocolo, lógica para determinar el protocolo y sistema de encapsulación para el cuadro; utilizar el protocolo y sistema de encapsulación para determinar una ubicación de inicio para procesar el cuadro y un puntero a la instrucción inicial para procesar el cuadro. RESUMEN DE LA INVENCIÓN Un sistema y método para clasificación de protocolo de cuadro y procesamiento en un sistema para procesamiento de datos (por ejemplo conmutación o 5 direccionamiento de paquetes o cuadros de datos) . La presente invención incluye analizar una porción del cuadro de acuerdo con pruebas predeterminadas, luego almacenar características clave del paquete para utilizar en procesamiento subsecuente del cuadro. Las 10 características clave para el cuadro (o unidad de información de alimentación) incluyen el tipo de protocolo capa 3 empleado en el cuadro, la técnica de encapsulación de capa 2, la dirección de instrucción de inicio, banderas que indican si el cuadro utiliza una red 15 de área local virtual y la identidad del flujo de datos al cual pertenece el cuadro. Gran parte 'del análisis de preferencia se realiza utilizando equipo físico, de manera tal que pueda completarse rápidamente y en un periodo de tiempo uniforme. Las características 20 almacenadas del cuadro luego se utilizan por el complejo de procesamiento de red en su procesamiento del cuadro. El procesador se pre-acondiciona con una dirección de instrucción de inicio o de partida y la ubicación de inicio del cabezal de capa 3 al igual que banderas para 25 el tipo de cuadro. Esto es, la dirección de instrucción ?«Mii iitittaritili o punto de entrada de código se utiliza por el procesador para empezar el procesamiento para un cuadro en el sitio correcto, con base en el tipo de cuadro. Pueden apilarse direcciones de instrucción adicionales y utilizarse secuencialmente en ramificaciones para evitar pruebas adicionales e instrucciones de ramificación. Adicionalmente, cuadros que comprenden un flujo de datos pueden procesarse y enviarse en el mismo orden en el que se recibieron. zJ s1H
MXPA02005419A 2000-01-07 2000-12-21 Metodo y sistema para clasificacion de protocolo y cuadro. MXPA02005419A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/479,028 US6633920B1 (en) 2000-01-07 2000-01-07 Method and system for network data flow management with improved completion unit
US09/479,027 US6775284B1 (en) 2000-01-07 2000-01-07 Method and system for frame and protocol classification
PCT/GB2000/004950 WO2001050259A1 (en) 2000-01-07 2000-12-21 Method and system for frame and protocol classification

Publications (1)

Publication Number Publication Date
MXPA02005419A true MXPA02005419A (es) 2002-11-29

Family

ID=27046095

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA02005419A MXPA02005419A (es) 2000-01-07 2000-12-21 Metodo y sistema para clasificacion de protocolo y cuadro.

Country Status (19)

Country Link
EP (1) EP1244964B1 (es)
JP (1) JP4095802B2 (es)
KR (1) KR100505498B1 (es)
CN (1) CN100339832C (es)
AT (1) ATE280411T1 (es)
AU (1) AU2016601A (es)
BR (2) BR0015717A (es)
CA (1) CA2385339C (es)
CZ (1) CZ20021442A3 (es)
DE (1) DE60015186T2 (es)
ES (1) ES2226958T3 (es)
HK (1) HK1054098A1 (es)
HU (1) HUP0203823A2 (es)
IL (1) IL150587A0 (es)
MX (1) MXPA02005419A (es)
MY (1) MY122998A (es)
PL (1) PL355786A1 (es)
TW (1) TW526453B (es)
WO (1) WO2001050259A1 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020159466A1 (en) * 2001-02-14 2002-10-31 John Rhoades Lookup engine
US6973503B2 (en) 2002-05-23 2005-12-06 International Business Machines Corporation Preventing at least in part control processors from being overloaded
US7242682B1 (en) 2002-10-09 2007-07-10 Storage Technology Corporation Hardware frame modifier apparatus and method for storage virtualization
US7715350B2 (en) 2003-06-12 2010-05-11 Broadcom Corporation Classifier for communication device
TWI283976B (en) * 2003-09-30 2007-07-11 Broadcom Corp Classifier for IEEE 802.11g receiver
FR2867642B1 (fr) * 2004-03-09 2006-08-18 Cit Alcatel Dispositif et procede de traitement de trames a champ a utilisation multiprotocolaire, pour un reseau de communications
CN100466594C (zh) * 2004-10-09 2009-03-04 华为技术有限公司 一种对报文进行分类处理的方法
CN100421481C (zh) * 2005-03-09 2008-09-24 华为技术有限公司 基站中处理帧协议控制帧的方法
US7881475B2 (en) 2005-05-17 2011-02-01 Intel Corporation Systems and methods for negotiating security parameters for protecting management frames in wireless networks
KR100713483B1 (ko) 2005-08-05 2007-04-30 삼성전자주식회사 연성 재질을 이용한 슬라이딩 타입 휴대 단말기
US8229525B2 (en) 2006-09-26 2012-07-24 Samsung Electronics Co., Ltd. Semi-automatic sliding device for a portable terminal and portable terminal having the same
KR100800769B1 (ko) 2007-01-29 2008-02-01 삼성전자주식회사 멀티미디어 휴대 통신 장치
CN101242344B (zh) * 2007-02-05 2013-03-20 财团法人工业技术研究院 网络封包分类器与其方法
KR100891775B1 (ko) 2007-05-14 2009-04-07 삼성전자주식회사 멀티미디어 휴대 전자 장치
TWI387268B (zh) * 2009-04-03 2013-02-21 Hon Hai Prec Ind Co Ltd 路由器及其處理IPv6資料包的方法
JP5770925B2 (ja) 2011-04-06 2015-08-26 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 直列バスシステム内でデータ伝送容量を上げるための方法及び装置
ES2595155T3 (es) 2011-04-06 2016-12-28 Robert Bosch Gmbh Método y dispositivo para adaptar la seguridad de transmisión de datos en un sistema de bus en serie
KR101936450B1 (ko) 2011-04-26 2019-01-08 로베르트 보쉬 게엠베하 메모리 크기에 매칭하여 직렬 데이터 전송을 하는 방법 및 장치
RU2603534C2 (ru) 2011-06-29 2016-11-27 Роберт Бош Гмбх Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
WO2014038582A1 (ja) * 2012-09-04 2014-03-13 日本電気株式会社 パケット振分装置、パケット振分方法、およびパケット振分プログラム
US10579578B2 (en) * 2017-10-24 2020-03-03 Micron Technology, Inc. Frame protocol of memory device
WO2020062181A1 (zh) * 2018-09-29 2020-04-02 Oppo广东移动通信有限公司 无线通信方法、终端设备和接入网设备
CN112260896B (zh) * 2020-10-16 2022-05-10 山东云海国创云计算装备产业创新中心有限公司 一种网络传输测试方法、装置、设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5870394A (en) * 1996-07-23 1999-02-09 Northern Telecom Limited Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system
US5748905A (en) * 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys

Also Published As

Publication number Publication date
EP1244964B1 (en) 2004-10-20
MY122998A (en) 2006-05-31
KR20020071911A (ko) 2002-09-13
JP2003519944A (ja) 2003-06-24
CZ20021442A3 (cs) 2002-07-17
EP1244964A1 (en) 2002-10-02
KR100505498B1 (ko) 2005-07-29
CA2385339A1 (en) 2001-07-12
CA2385339C (en) 2005-06-28
ES2226958T3 (es) 2005-04-01
HK1054098A1 (en) 2003-11-14
DE60015186T2 (de) 2006-02-02
PL355786A1 (en) 2004-05-17
BRPI0015717B1 (pt) 2018-03-13
CN100339832C (zh) 2007-09-26
AU2016601A (en) 2001-07-16
IL150587A0 (en) 2003-02-12
TW526453B (en) 2003-04-01
CN1433543A (zh) 2003-07-30
ATE280411T1 (de) 2004-11-15
JP4095802B2 (ja) 2008-06-04
WO2001050259A1 (en) 2001-07-12
DE60015186D1 (de) 2004-11-25
BR0015717A (pt) 2002-07-23
HUP0203823A2 (en) 2003-05-28
BRPI0015717B8 (pt) 2020-05-26

Similar Documents

Publication Publication Date Title
US7440417B2 (en) Method and system for frame and protocol classification
MXPA02005419A (es) Metodo y sistema para clasificacion de protocolo y cuadro.
US6430184B1 (en) System and process for GHIH-speed pattern matching for application-level switching of data packets
US7095742B2 (en) Packet processing unit
US6658458B1 (en) Cascading associative memory arrangement
US7453892B2 (en) System and method for policing multiple data flows and multi-protocol data flows
US7706302B2 (en) Optimization of routing forwarding database in a network processor
US6744783B1 (en) Frame identifier for identifying layer 2 data packet types for upper layer packet classification in a network switch port
US8121148B2 (en) Protocol stack using shared memory
US6522188B1 (en) High-speed data bus for network switching
US7751319B2 (en) Method and processor for classifying data packet units
EP1588530A2 (en) Method and device for the classification and redirection of data packets in a heterogeneous network
WO1999053646A2 (en) System and process for application-level flow connection of data processing networks
JP2003508957A (ja) ネットワーク・プロセッサ処理コンプレックス及び方法
KR100755979B1 (ko) 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법
US6711165B1 (en) Apparatus and method for storing min terms in network switch port memory for access and compactness
KR100682645B1 (ko) 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법
US7444562B2 (en) Trie-type memory device with a compression mechanism
US6741594B1 (en) Arrangement for identifying data packet types from multiple protocol formats on a network switch port
JP2003218907A (ja) パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ
US6728255B1 (en) Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time

Legal Events

Date Code Title Description
FG Grant or registration