ES2326538T3 - Sistema y metodo para la gestion de las caracteristicas de funcionamiento en un entorno informatico de varios niveles. - Google Patents
Sistema y metodo para la gestion de las caracteristicas de funcionamiento en un entorno informatico de varios niveles. Download PDFInfo
- Publication number
- ES2326538T3 ES2326538T3 ES05103034T ES05103034T ES2326538T3 ES 2326538 T3 ES2326538 T3 ES 2326538T3 ES 05103034 T ES05103034 T ES 05103034T ES 05103034 T ES05103034 T ES 05103034T ES 2326538 T3 ES2326538 T3 ES 2326538T3
- Authority
- ES
- Spain
- Prior art keywords
- request
- context
- level
- agent
- incoming
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 135
- 238000012545 processing Methods 0.000 claims description 120
- 230000008569 process Effects 0.000 claims description 45
- 238000007726 management method Methods 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 23
- 230000000694 effects Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims 2
- 230000004044 response Effects 0.000 description 29
- 238000005259 measurement Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010263 activity profiling Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
- Transmitters (AREA)
- Mobile Radio Communication Systems (AREA)
- Radio Relay Systems (AREA)
Abstract
Aparato para controlar un nivel seleccionado en un entorno informático multinivel, comprendiendo dicho aparato: un agente de contexto asociado a dicho nivel seleccionado de dicho entorno informático, dicho agente de contexto siendo acoplado a otros agentes de contexto, cada uno de dichos agentes de contexto asociados a un nivel respectivo de dicho entorno informático; y una extensión de nivel dinámico, dicha extensión de nivel dinámico acoplada a dicho agente de contexto y con al menos un puerto de entrada de petición de dicho nivel seleccionado, al menos para controlar el tráfico de peticiones que pasa a través de dicho nivel seleccionado, dicho tráfico de petición controlado incluyendo al menos una petición de entrada recibida en dicho puerto de entrada de petición desde un nivel contiguo de dicho entorno informático, dicha extensión de nivel dinámico suministrando información de petición a dicho agente de contexto, dicha información de petición al menos identificando cada petición incluida en dicho tráfico de petición controlado, donde dicho agente de contexto recibe información de contexto, de otro agente de contexto asociado a dicho nivel contiguo, dicha información de contexto recibida acerca del contexto de la petición de dicha al menos una petición entrante, dicha información de contexto recibida incluyendo al menos un único identificador de transacción; y donde para cada una de dicha al menos una petición entrante, dicho agente de contexto asocia dicha información de contexto con dicha información de petición, respectivamente.
Description
Sistema y método para la gestión de las
características de funcionamiento en un entorno informático de
varios niveles.
La técnica descrita se refiere a administrar
entornos informáticos distribuidos en general, y a un sistema y un
método para la gestión de rendimiento de la aplicación en un
entorno informático multinivel, en particular.
La tecnología de la información (IT) es
responsable de entregar servicios de aplicación usando un medio de
producción multinivel cada vez más complejo con una mezcla de
aplicación heterogénea. Las operaciones de IT están luchando para
encontrar los niveles de servicio requeridos en cuanto a
rendimiento y disponibilidad, mientras que son agilizadas para
aumentar la eficiencia y utilización de los recursos. La
consolidación de los recursos IT, junto con la empresa comercial,
exacerba este efecto, extendiendo la capacidad de las operaciones
IT para encontrar cualquier cambio en las peticiones para recursos
informáticos. Los enfoques tradicionales y herramientas para el
rendimiento y gestión de disponibilidad son variaciones del ciclo
perpetuo "control-tono-fijo",
que implica la identificación de que existe un problema (es decir,
control), aumentar el rendimiento global para superar el problema
(es decir, sintonía), y realizar el análisis de la causa primera
para descubrir la causa precisa de cada ejemplo específico de un
problema (es decir, fijación). Los enfoques de este tipo son
incapaces de afrontar la complejidad y variabilidad del medio IT en
continuo cambio.
Ahora se hace referencia a la figura 1, que es
una ilustración esquemática de un entorno informático multinivel,
generalmente referenciados con el 50, que es conocido en la
técnica. El entorno informático 50 incluye un primer cliente 62 que
ejecuta una primera aplicación, un segundo cliente 64 que ejecuta
una segunda aplicación, un primer nivel 52, un segundo nivel 54, un
tercer nivel 56, un cuarto nivel 58, y un quinto nivel 60. El primer
nivel 52 es un servidor web. El segundo nivel 54 es un servidor de
aplicación, servidor de aplicación A. El tercer nivel 56 es otro
servidor de aplicación, servidor de aplicación B. El cuarto nivel
58 es otro servidor de aplicación, servidor de aplicación C. El
quinto nivel 60 es una base de datos. El primer nivel 52 es
acoplado al primer cliente 62, con el segundo cliente 64, y con el
segundo nivel 54. El segundo nivel 54 es posteriormente acoplado al
tercer nivel 56 y al cuarto nivel 58. El tercer nivel 56 es
posteriormente acoplado al cuarto nivel 58 y al quinto nivel 60. El
cuarto nivel 58 es posteriormente acoplado al quinto nivel 60.
Un "nivel" representa un tipo determinado
de procesamiento que es parte de la entrega global de un servicio
IT (p. ej., procesamiento de niveles de presentación en un nivel de
servidor web o procesamiento de datos informática en un nivel de
base de datos). Cada nivel normalmente se ejecuta en una máquina
huésped diferente.
La primera aplicación inicia una petición del
usuario R1 y manda la petición del usuario R1 al primer nivel 52.
La petición del usuario R1 es parte de una transacción global
iniciada por el usuario. La petición del usuario R1 puede ser, por
ejemplo, una web basada en preguntas para recuperar información de
una aplicación determinada. La petición del usuario R1 puede
requerir los servicios de diferentes niveles en el entorno
informático 50 y puede generar peticiones adicionales para obtener
estos servicios. El nivel que recibe una petición sea contesta al
nivel que envía la petición, o sea manda una nueva petición a un
nivel diferente. Finalmente una respuesta es devuelta en respuesta
a la petición del usuario original R1. Un nivel dado sólo puede
pedir un servicio de otro nivel en el entorno informático 50 si los
dos niveles son directamente acoplados entre sí.
La gestión global del entorno informático
distribuido 50 requiere el conocimiento de cómo procesa cada nivel
su carga de trabajo. Por ejemplo, si se da una escasez de recursos
en un nivel, un administrador del sistema puede escalar este nivel
creando clones del nivel, tanto verticalmente (es decir, dentro de
la misma máquina huésped) como horizontalmente (es decir, a través
de máquinas huéspedes múltiples). Por ejemplo, en el entorno
informático 50, el administrador del sistema puede añadir un
servidor de aplicación adicional A2 (no mostrado) al servidor de
aplicación A del segundo nivel 54, donde el servidor de aplicación
A2 es un clon del servidor de aplicación A. Por la misma señal, si
existe una sobreabundancia de recursos en un nivel, el administrador
de sistema puede transferir recursos libres a otro nivel que tenga
una escasez de recursos. El administrador del sistema puede además
configurar un nivel determinado para mejorar el rendimiento global
o indicar modificaciones para optimizar la ejecución de la
aplicación en el nivel. Éste es un ejemplo de control de la
aplicación específica de nivel para la gestión de rendimiento. Se
observa que una petición puede alcanzar sólo determinados niveles
en el entorno informático 50. Además, la misma petición puede
alcanzar determinados niveles usando recorridos múltiples. Por
ejemplo, en entorno informático 50, una petición puede alcanzar la
base de datos del quinto nivel 60 mediante servidor de aplicación B
del tercer nivel 56, o mediante el servidor de aplicación C del
cuarto nivel 58. Como los recorridos de petición no son constantes a
través del medio entero, la resolución de la escasez de recursos en
un nivel no garantiza necesariamente el rendimiento de la
aplicación global, que puede extenderse a múltiples niveles. Un
cuello de botella de procesamiento en cualquier nivel retrasa todas
las funciones de aplicación que dependen de ese nivel.
El primer nivel 52 recibe la petición del
usuario R1. El primer nivel 52 asigna un enclave de procesamiento
X1 para procesar la petición del usuario R1. Mientras que se
procesa la petición del usuario R1, la lógica de aplicación que se
está ejecutando en el enclave de procesamiento X1 determina que no
puede completar el procesamiento de la petición del usuario R1 sin
información u operaciones adicionales que han de ser proporcionadas
por el segundo nivel 54. El primer nivel 52 manda entonces una
petición posterior R2 al segundo nivel 54, solicitando la
información u operaciones adicionales. El segundo nivel 54 asigna
un enclave de procesamiento X2 para procesar la petición R2. La
lógica de aplicación que se está ejecutando en el enclave de
procesamiento X2 determina que la petición R2 requiere información
u operaciones adicionales que han de ser proporcionadas por el
cuarto nivel 58. El segundo nivel 54 manda entonces una petición
posterior R3 al cuarto nivel 58. El cuarto nivel 58 asigna un
enclave de procesamiento X4 para procesar la petición R3.
El enclave de procesamiento X4 completa la
ejecución. El cuarto nivel 58 devuelve una respuesta R3' al segundo
nivel 54, en respuesta a la petición anterior R3 del segundo nivel
54. El enclave de procesamiento X2 recibe la respuesta R3' y
recupera el procesamiento. Un vez que el enclave de procesamiento
X2 ha completado su ejecución, el segundo nivel 54 devuelve una
respuesta R2' al primer nivel 52, en respuesta a la petición
anterior R2 del primer nivel 52. El enclave de procesamiento X2
recibe la respuesta R2' y resume el procesamiento. Una vez que el
enclave de procesamiento X1 ha completado su ejecución, el primer
nivel devuelve una respuesta R1' a la petición del usuario R1, cuyo
servicio ahora ha sido completado.
En el entorno informático 50, cada uno de los
diferentes niveles se aíslan de los niveles que no están acoplados
directamente entre sí. Por ejemplo, la petición R3 del segundo
nivel 54 al cuarto nivel 58, directamente acoplado con él, no
incluye necesariamente información acerca de una petición anterior
R2, que fue recibida en el segundo nivel 54 desde el primer nivel
52, ni la petición R3 incluye información acerca de la petición del
usuario R1. Un nivel dado no tiene manera de obtener determinada
información relacionada con la petición que es procesada en ese
nivel, tal como que el usuario inició la transacción, estas
peticiones precedieron la petición que está siendo procesada en el
nivel dado, o características de las peticiones que precedieron esa
petición. Por ejemplo, el segundo nivel 54 no puede identificar
características de petición R2, como si la petición fuera precedida
por la petición del usuario R1 enviada a la primer nivel 52, o que
la transacción se originara a petición del usuario R1 de la primera
aplicación 62. Como resultado, si un nivel de prioridad es asignado
a un enclave de procesamiento que procesa una petición dentro de un
nivel determinado, ese nivel de prioridad es asignado teniendo en
cuenta sólo la información mínima que está disponible en el nivel.
Esta información incluye las características de petición (p. ej.,
los credenciales de registro de nivel usados por la petición) y
quizás información sobre el enclave de procesamiento que procesa
esa petición (p. ej., la identificación de sesión de la base de
datos). Las peticiones son generalmente procesadas en una base de
igual prioridad (p. ej., el que llega primero, se sirve primero),
aunque los mecanismos operativos para diferenciar los niveles de
prioridad están disponibles localmente en un nivel dado. La gestión
de rendimiento debe ser hecha en una base de nivel individual,
puesto que el otro nivel en entorno informático 50 no puede ser
contabilizado cuando se trata de un nivel específico. Normalmente,
un administrador del sistema que es responsable de administrar un
entorno informático multinivel tal como
el entorno informático 50 intenta mejorar el rendimiento ajustando la asignación de recursos a un nivel dado.
el entorno informático 50 intenta mejorar el rendimiento ajustando la asignación de recursos a un nivel dado.
La patente estadounidense nº. 5,958,010 de
Agarwal et al. titulada "Systems and methods for
monitoring distributed applications including an interface running
in an operating system kernel", se refiere a sistemas y métodos
para controlar la operación amplia en una empresa de un sistema
informático distribuido para desarrollar datos de gestión de nivel
de transacción de negocios para el rendimiento del sistema,
tendencias de uso, auditoria de seguridad, planificación de
capacidad, y excepciones. Un sistema que tiene una arquitectura
informática distribuida incluye estaciones de trabajo múltiples,
servidores, y dispositivos de red. Cada estación de trabajo es
representativa de una configuración acoplada a una red. Cada
estación de trabajo es capaz de solicitar servicio de cualquiera de
los servidores. Cada estación de trabajo tiene una pila de
comunicación para intercambiar datos con la red. El sistema además
incluye una pluralidad de agentes de control, y un módulo de consola
con una base de datos conectada a él. Cada agente de control tiene
una interfaz de evento externo que proporciona información de
eventos sobre distintos componentes de una empresa. Cada uno de los
agentes de control está unido con su respectivo de las estaciones
de trabajo o servidores.
El agente de control puede residir físicamente
en el cliente asociado o servidor del mismo. Los agentes de control
controlan y recogen datos que son intercambiados entre un cliente y
la red, y entre un servidor y la red. Cada agente de control puede
ser un módulo de software, un dispositivo de hardware, o una
combinación de los mismos. Cada agente de control pasa información
representativa de los datos recogidos al módulo de consola. El
módulo de consola almacena esta información dentro de la base de
datos para su análisis por un operador. Un programa de aplicación
que se ejecuta en el módulo de consola puede ver los datos
recogidos para mostrar el rendimiento del sistema de cualquier
proceso o componente de la empresa. Un administrador de sistema
puede desarrollar estadísticas de uso de nivel de empresa y tiempos
de respuesta, desarrollar tablas e informes, y desempeñar otro
análisis de datos pertinente para determinar estadísticas definidas
de usuario pertinentes a la operación de la empresa.
La patente estadounidense nº. 6,108,700 de
Maccabee et al titulada "Application
end-to-end response time measurement
and decomposition", se refiere a un método y sistema para medir
y reportar la disponibilidad y el rendimiento de las transacciones
comerciales de extremo a extremo. El sistema funciona en una
arquitectura de aplicación cliente-servidor. El
sistema incluye tres componentes lógicos: generación de eventos,
generación de transacciones, y generación de informes, al igual que
control del servicio global mediante la administración del
sistema.
El componente de generación de eventos existe en
todos los ordenadores que son medidos en la arquitectura. Cada
ordenador tiene un agente, una pluralidad de sensores y una
pluralidad de procesadores. Los sensores interactúan con
componentes de la plataforma sobre los cuales tienen lugar las
aplicaciones de negocios, se controlan las actividades de
aplicación, y se detectan cambios de estado. Cuando es apropiado,
cada uno de los sensores genera un evento que describe el cambio de
estado, cuándo y dónde ocurrió el evento, y cualquier dato extra
necesario para identificar únicamente el evento. Un evento contiene
una marca de tiempo y los datos de correlación usados más tarde por
el sistema para asociar el evento con otros eventos en las
transacciones. Los sensores envían los eventos generados a sus
respectivos agentes. Los agentes almacenan temporalmente los datos y
pueden distribuir los datos a otros componentes del sistema que han
registrado interés en el evento. Un procesador analiza los eventos,
además de deducir los cambios en estado. Los cambios en estado
pueden estar directamente relacionados con acciones que ocurren
dentro de los componentes de la plataforma de transacciones de
negocios o derivados combinando los eventos previamente generados
de sensores u otros procesadores para describir los estados
conseguidos. Los procesadores envían los eventos generados a sus
respectivos agentes.
El componente de generación de transacciones
normalmente existe en uno de los ordenadores en la red e incluye un
director. El director recibe eventos de los agentes bajo control
del mismo. Los eventos son examinados, y correlacionados y
verificados en transacciones basadas en reglas de generación de
transacciones. El administrador del sistema determina qué
transacciones generar.
El componente de generación de informes incluye
un administrador. El administrador recolecta las transacciones de
los directores. Las transacciones recogidas son manipuladas para
obtener información acerca de la disponibilidad y el rendimiento de
las transacciones comerciales. Un informe o gráfico continuo puede
ser producido sobre una petición específica o periódica de una
interfaz gráfica de usuario (GUI). La generación del informe incluye
una definición de la selección inicial y procesamiento de
transacciones, al igual que la clasificación y métodos de
agregación usados para consolidar los datos de evento de
transacciones en disponibilidad e información de rendimiento.
La solicitud de patente estadounidense nº.
2002/0129137 A1 de Mills et al. titulada "Method and
system for embedding correlated performance measurements for
distributed application performance decomposition", se refiere a
técnicas para insertar mediciones de rendimiento correlacionadas en
transacciones asociadas con una aplicación distribuida. Las técnicas
son usadas conforme a la descomposición de rendimiento de la
aplicación. Los datos son introducidos en un protocolo de
comunicaciones usado para llevar a cabo una transacción entre
componentes de aplicación en una red de computación distribuida,
mejor que alterando los mismos datos de transacción actuales. Los
datos introducidos pueden incluir una marca temporal y datos de
medición de la duración. El formato de los datos introducidos
combina un prefijo clave bien definido con un sufijo variable que
identifica la fuente de señales de sincronización, seguida de unos
puntos suspensivos y espacios en blanco, y seguidos del sello del
tiempo e información de la duración.
Los estadios de procesamiento posterior de la
aplicación distribuida pueden interpretar el protocolo de
comunicaciones para recabar duraciones de procesamiento de estadios
precedentes, para tomar decisiones que consideren el procesamiento
de la transacción. La información de la medición es introducida
dentro de la misma aplicación distribuida descrita por la
información de medición, de modo que la finalización de la
transacción ocurre de forma simultánea o contemporánea con
disponibilidad de conocimiento de las características del
rendimiento de transacción.
Un protocolo de comunicaciones posible es el
Protocolo de transferencia de Hipertexto (HTTP). Una red de
computación posible distribuida es la Red Global Mundial (WWW). Los
componentes de la aplicación pueden ser una aplicación de cliente
que tiene lugar en un cliente y una aplicación de servidor que
tiene lugar en un servidor de aplicación. Por ejemplo, la aplicación
de cliente es un navegador web, y la aplicación de servidor tiene
lugar en un servidor web. Una transacción de aplicación es la
aplicación del cliente que solicita contenido del servidor de
aplicación y el servidor de aplicación que responde. La información
de rendimiento es generada para medir el tiempo de respuesta desde
la perspectiva de la aplicación del cliente, al igual que para
descomponer el tiempo de respuesta en el tiempo tomado por la
aplicación del servidor al servicio la petición y generar una
respuesta. En particular, las líneas son agregadas a las cabeceras
HTTP para llevar datos de medición de rendimiento, permitiendo al
cliente recibir la duración de medición del servidor en la cabecera
de respuesta HTTP.
El documento de la técnica anterior US
2004/0006602 expone una arquitectura de sistema que comprende un
proxy de web y uno o más servidores web. El sistema habilita
aplicaciones para optimizar su tráfico.
Conforme a la técnica descrita, se proporciona
por consiguiente un aparato para controlar un nivel seleccionado en
un entorno informático multinivel. El aparato incluye un agente de
contexto y una extensión del nivel dinámico.
Así, la invención proporciona un aparato según
la reivindicación 1 que es un aparato de control de nivel medio en
el entorno informático multinivel.
Así, la invención también proporciona un aparato
como se reivindica en la reivindicación independiente 23 que es un
aparato de control de nivel inicial en el entorno informático
multinivel.
Conforme a la técnica descrita, se proporciona
además un sistema para la gestión de rendimiento de la aplicación
en un entorno informático multinivel incluyendo una pluralidad de
niveles. El sistema incluye, para cada uno de al menos dos niveles
controlados de la pluralidad de niveles, una respectiva extensión
de nivel dinámico y un agente de contexto respectivo. La extensión
de nivel dinámico es acoplada a al menos un puerto de entrada de
petición del nivel controlado. El agente de contexto es acoplado
con la extensión de nivel dinámico y con otros agentes de contexto
asociados a los niveles que son directamente acoplados con el nivel
controlado. La extensión de niveles dinámicos controla el tráfico
de peticiones que pasa a través del nivel seleccionado, el tráfico
de peticiones controladas incluyendo al menos una petición de
introducción recibida en un puerto de introducción de petición de un
nivel contiguo. La extensión del nivel dinámico identifica cada
petición en el tráfico de peticiones controladas y manda al menos
el identificador de peticiones al agente de contexto. El agente de
contexto también recibe información acerca del contexto de
peticiones de la petición de entrada desde el agente de contexto
asociado al nivel contiguo. El agente de contexto asocia la
información acerca del contexto de la petición de entrada con la
petición de entrada, conforme al identificador de peticiones
recibidas. El sistema además incluye un servidor de gestión de red
de contexto. El servidor de gestión de red de contexto es acoplado
a los agentes de contexto. El servidor de gestión de red de
contexto recoge y analiza los datos de rendimiento recibidos de los
agentes de contexto.
Conforme a la técnica descrita, se proporciona
un método adicional para la gestión de rendimiento de la aplicación
en un entorno informático multinivel incluyendo una pluralidad de
niveles. El método incluye, para cada uno de al menos dos niveles
controlados de la pluralidad de niveles, el procedimiento de
recepción de información acerca del contexto de la petición de al
menos una petición de entrada, la información incluyendo al menos
un identificador de petición y un identificador de transacción. El
método incluye adicionalmente el procedimiento de controlar el
tráfico de peticiones que pasa a través del nivel controlado, el
tráfico de peticiones gestionadas incluyendo al menos la petición
de entrada. El método además incluye los procedimientos de
identificación de la petición de entrada conforme al identificador
de peticiones, y asociación de la petición de entrada con una
transacción conforme al identificador de transacciones.
Conforme a la técnica descrita, se proporciona
adicionalmente otro método para la gestión del rendimiento de
aplicación en un entorno informático multinivel incluyendo una
pluralidad de niveles. El método incluye, para cada uno de al menos
dos niveles controlados de la pluralidad de niveles, el
procedimiento de controlar el tráfico de peticiones que pasa a
través del nivel controlado, el tráfico de peticiones controladas
incluyendo al menos una petición de entrada y una petición de
salida, la petición de salida enviada desde el nivel controlado a
un nivel contiguo. El método además incluye los procedimientos de
determinar la información acerca del contexto de la petición de la
petición de entrada, y de identificar cada petición en el tráfico de
peticiones controladas. El método además incluye los procedimientos
de asociar la petición de entrada con la petición de salida, y el
envío de información acerca del contexto de la petición de la
petición de salida a un agente de contexto asociado en el nivel
contiguo.
La técnica descrita se entenderá y apreciará de
forma más completa por la siguiente descripción detallada tomada
conjuntamente con los dibujos donde:
La figura 1 es una ilustración esquemática de un
entorno informático multinivel, que es conocido en la técnica;
La figura 2 es una ilustración esquemática de un
sistema de gestión de rendimiento de la aplicación, construido y
operativo conforme a una forma de realización de la técnica
descrita;
La figura 3 es una ilustración esquemática de
transmisión de información entre dos de los agentes de contexto del
sistema de la figura 2;
La figura 4 es una ilustración esquemática de un
ciclo de vida de la petición de muestra sobre dos de los niveles
del sistema de la figura 2;
La figura 5 es una ilustración esquemática de un
sistema de gestión de rendimiento de aplicación, construido y
operativo conforme a otra forma de realización de la técnica
descrita;
La figura 6 es una ilustración esquemática de
dos de los niveles del entorno informático multinivel de la figura
5;
La figura 7 es una ilustración esquemática de
una extensión de nivel dinámico del sistema de la figura 5;
La figura 8 es una ilustración esquemática de un
agente de contexto del sistema de la figura 5;
La figura 9 es un diagrama de bloques que
demuestra los estadios implicados para capturar un contexto
petición y procesamiento posterior, operativos conforme a otra
forma de realización de la técnica descrita;
La figura 10 es un diagrama de bloques que
demuestra los estadios implicados para capturar una asignación UOW
en un nivel local del sistema de la figura 5 y asociar una petición
con la UOW, operativos conforme a otra forma de realización
adicional de la técnica descrita; y
La figura 11 es un diagrama de bloques que
demuestra los estadios implicados para capturar una petición de
salida enviada a un nivel remoto del sistema de la figura 5, y
asociar la petición enviada con el contexto de la petición,
operativos conforme a otra forma de realización adicional de la
técnica descrita.
La técnica descrita supera las desventajas de la
técnica anterior suministrando un sistema y método para la gestión
de rendimiento de la aplicación en un entorno informático
multinivel. El sistema controla los puertos de entrada de petición
y los puertos de salida de petición de cada nivel, y detecta la
entrada o salida de peticiones hacia o desde un nivel dado, mediante
una pluralidad de agentes de contexto. Cada agente de contexto está
unido con un nivel en el entorno informático multinivel, y es capaz
de comunicarse con otros agentes de contexto. Un agente de contexto
recoge información acerca de la ejecución de pedidos en el nivel
asociado con el mismo. El agente de contexto identifica el contexto
de la petición de una petición del usuario. El agente de contexto
clasifica la petición del usuario en una clase de petición. El
agente de contexto transfiere las características de una petición
que existe en el nivel asociado con el mismo, a un agente de
contexto posterior asociado al nivel al que se envía la
petición.
El agente de contexto asocia una petición con
una petición del usuario y con otras peticiones precedentes en la
misma transacción. El agente de contexto asigna una clase de
servicio a la petición conforme a la clase de petición y un
servicio de política activo almacenado localmente. El agente de
contexto puede realizar una intervención para influir en el
procesamiento de la petición, tal como ajustar el orden de la
petición en la cola en un puerto de entrada de petición al nivel,
alterar la prioridad de un enclave de procesamiento que ejecuta la
petición, alterar el tipo de procesamiento de un enclave de
procesamiento que ejecuta la petición, instruir el nivel para
asignar, o para denegar, recursos computacionales (p. ej. unidad de
procesamiento central - CPU, memoria, y similares) para procesar la
petición, poner la petición en retención y liberar el enclave de
procesamiento, o terminar la petición. Un servidor de gestión de
red de contexto puede perfilar el comportamiento de diferentes
tipos de peticiones a través de diferentes niveles y pueden
establecer una política de clase de servicio de nivel cruzado
apropiado. De este modo, el sistema proporciona al contexto una
gestión de
recurso relacionado a un nivel de transacción, a través de los diferentes niveles en el entorno informático multinivel.
recurso relacionado a un nivel de transacción, a través de los diferentes niveles en el entorno informático multinivel.
La técnica descrita proporciona la capacidad de
gestión de la carga de trabajo de transacción preventiva a través
de todos los niveles en una cadena de infraestructura IT. El
sistema integra con la infraestructura IT los niveles, tales como
red, aplicación, base de datos y servidores de software
personalizados. El sistema automáticamente perfila cargas de
trabajo, ayuda a clasificar la carga de trabajo, y habilita a un
usuario para crear políticas de rendimiento de clases de servicios
apropiadas. El sistema aplica continuamente estas políticas para
transacciones a través del nivel en el entorno informático. El
sistema utiliza la infraestructura IT existente y aumenta la
infraestructura IT existente para permitir la entrega equilibrada
de servicios a niveles de servicios óptimos consistentes con
intereses de negocio. Los términos siguientes son usados en todas
partes de la descripción de las formas de realización:
El término "nivel" aquí abajo, se refiere a
una entidad que entrega un determinado tipo de servicio, donde el
servicio es parte de la entrega global de una transacción IT. El
servicio puede ser el procesamiento de niveles de presentación en
un nivel de servidor web, la funcionalidad de la aplicación en un
nivel de servidor de aplicación, el procesamiento de datos en un
nivel de base de datos, y similares. Cada nivel normalmente se
encuentra en una máquina huésped diferente, aunque puede haber más
de un nivel operativo en una única máquina huésped, y un único
nivel puede incluir componentes múltiples que residen en más de una
máquina huésped. La máquina huésped sobre la que se encuentra al
menos un nivel, es denominada aquí abajo como un "nivel
huésped". Algunos ejemplos de un nivel incluyen pero no se
limitan sólo a eso: un Java 2 Platform, ejemplo de servidor de
aplicación Enterprise Edition (J2EE); un cluster de ejemplos de
servidor de aplicación J2EE; un ejemplo de servidor de base de
datos incluyendo los componentes de acceso al servidor de base de
datos tal como controladores de Conectividad de Base de Datos
Java/Conectividad Abierta de Base de Datos (JDBC/ODBC); una base de
datos de clusters, y similares.
El término "transacción" representa un
único proceso iniciado por un usuario, tal como una fase de un
proceso de negocio dentro de una aplicación de negocio. Un ejemplo
de una transacción es la asignación de una puja en un servicio de
subasta online o la abertura de una cuenta de un cliente nuevo en
una institución financiera. Una transacción se compone de una cadena
de peticiones entre niveles, partiendo con una petición del
usuario. En consecuencia cada petición es únicamente asociada a una
petición del usuario (es decir, la petición del usuario de la
transacción). Cada transacción es identificada mediante un único
identificador, conocido como una "identificación de la
transacción". Se observa que una "serie de transacciones
relacionadas" se refiere a diferentes transacciones que son
interrelacionadas (p. ej., cada transacción representa estadios
diferentes de un único proceso para la empresa). La manipulación de
una petición dentro de una transacción puede tener en cuenta no
sólo la transacción, sino también la serie de transacciones
relacionadas a la que pertenece la petición.
El término "petición" aquí abajo, se
refiere a una petición de sistema de un nivel a otro nivel, para
proporcionar un servicio determinado que es parte de la
transacción. Cada petición se identifica mediante un único
identificador, conocido como una "identificación de la
petición". Cada petición resulta en una unidad de trabajo (UOW)
en el nivel invocado. Algunos ejemplos de una petición incluyen,
pero no se limitan sólo a estos: un navegador web de cliente que
emite una petición de Protocolo de Transferencia de Hipertexto
(HTTP) a un servidor web; un programa java que emite una llamada de
Invocación de Método Remoto (RMI) a un servidor de aplicación; una
sesión de servidor de aplicación J2EE que invoca un bean de entidad
en un servidor de aplicación remoto (vía RMI), y similares.
El término "petición de usuario" aquí
abajo, se refiere a la petición inicial iniciada por un usuario o
por una aplicación, que se origina en un nivel no vigilado por la
técnica descrita. La petición de usuario es la primera petición en
la cadena de peticiones que completa una transacción. La cadena de
peticiones puede ser representada como una estructura con la
petición del usuario en el nodo de la raíz del árbol.
El término "UOW" aquí abajo se refiere al
código de aplicación que se ejecuta en el enclave de procesamiento
asignado a la petición aplicable en ese nivel (es decir, una
invocación UOW). Una UOW está unida con una fuente y un destino,
puede tener parámetros (que son directivas para el comportamiento
del código de aplicación), y recursos de niveles de usos dentro de
un único nivel.
El término "enclave de procesamiento" aquí
abajo, se refiere a cualquier thread, sub-proceso,
sesión de base de datos, y similares, que ejecuta una UOW en un
nivel dado. Una petición es puesta a la cola en el nivel hasta que
un enclave de procesamiento disponible es asignado y el código de
aplicación (es decir, una UOW) es asignado al enclave de
procesamiento. Las unidades del enclave de procesamiento son
ejecuciones genéricas que a su vez ejecutan diferentes códigos de
aplicación.
El término "contexto de la petición" aquí
abajo se refiere a un grupo de características que son inicialmente
capturadas de la petición de usuario, enviadas a peticiones
posteriores a lo largo de la cadena de peticiones de la
transacción, y pueden ser modificadas en cualquier nivel a lo largo
del recorrido. El contexto de la petición habilita la técnica
descrita para identificar, seguir la pista y dar prioridad a la
cadena de peticiones resultante como parte de la única transacción
iniciada por una petición de usuario. El contexto de la petición
puede incluir, por ejemplo, las características del usuario que
presentó la petición, las características del artículo que es el
sujeto de la petición, la ubicación geográfica desde la cual la
petición se originó, la hora y fecha en el que se hizo la petición,
el grupo de transacciones relacionadas a las que pertenece la
petición, y similares. Determinadas partes del contexto de la
petición pueden ser modificadas a niveles posteriores. Por ejemplo,
la clase de servicio de la petición de usuario que es añadida al
contexto de la petición en el primer nivel, puede ser invalidada
por un nivel posterior (es decir, según otra forma de realización
de la técnica descrita).
El término "clase de petición" aquí abajo,
se refiere a una categoría de transacciones que comparten una o más
características de contexto de la petición predefinidas. Por
ejemplo, una "búsqueda de resumen de catálogo en existencia"
puede ser clasificada como una petición de "búsqueda de resumen
de catálogo en existencia", o puede ser parte de una petición más
grande "búsqueda de catálogo en existencia" junto con otra
transacción, tal como una "búsqueda de antecedentes de catálogo
en existencia". Cada clase de petición es procesada conforme a
una política de servicio activo. Una vez una clase de petición es
asignada a la petición del usuario, esa clase de petición es
automáticamente asignada a cada una de las peticiones posteriores en
la transacción iniciada por esa petición del usuario.
El término "clase de servicio" aquí abajo,
se refiere a un grupo de clasificaciones para varios parámetros que
indican el nivel de importancia para el procesamiento de la
petición. Los parámetros pueden incluir: la prioridad que se le ha
de asignar a la petición, el porcentaje de CPU que se le ha de
asignar a la petición, la memoria que se le ha de asignar a la
petición, la prioridad para asignar y acceder a los dispositivos de
entrada/salida (I/O) de la petición, y similares. La clase de
servicio es asignada a una petición que se ejecuta en un nivel dado
por el agente de contexto respectivo, conforme a la política de
clase de servicio activo apropiada.
El término "política de clase de servicio"
aquí abajo, se refiere a una regla que asigna una clase de servicio
a una petición dentro de una clase de petición, con respecto al
nivel sobre el que la petición está siendo procesada. Cada agente
de contexto contiene un conjunto de políticas de clases de
servicios de niveles específicos, cada una de las cuales traza un
mapa de una clase de servicio para una clase de petición para un
nivel específico asociado a ese agente de contexto. Una "base de
datos de políticas de clases de servicios de niveles cruzados"
describe el conjunto de rutas de clases de servicios para clases de
peticiones para todos los niveles en el entorno informático
multinivel. Se observa que un usuario puede definir un conjunto de
políticas de clases de servicios. Las políticas de este tipo son
denominadas aquí abajo como "políticas de servicio definidas por
el usuario".
El término "política de servicio activo"
contiene la clase de petición para la clase de servicio trazada que
está habitualmente vigente. Las políticas de clases de servicios
múltiples son soportadas y una política de servicio diferente puede
ser programada a tiempos diferentes de operación de sistema para
reflejar cargas de trabajo variables o varios eventos de sistema, o
simplemente como una decisión ad hoc.
Ahora se hace referencia a la figura 2, que es
una ilustración esquemática de un sistema de gestión de rendimiento
de aplicación, generalmente referenciado 100, construido y
operativo conforme a una forma de realización de la técnica
descrita. El sistema 100 funciona en un entorno informático
multinivel, generalmente referenciado 132. El entorno informático
132 incluye un primer cliente 112 que lleva a cabo una primera
aplicación, un segundo cliente 114 que lleva a cabo una segunda
aplicación, un primer nivel 102, un segundo nivel 104, un tercer
nivel 106, un cuarto nivel 108, y un quinto nivel 110. El primer
nivel 102 es un servidor web. El segundo nivel 104 es un servidor
de aplicación, el servidor de aplicación A. El tercer nivel 106 es
otro servidor de aplicación, el servidor de aplicación B. El cuarto
nivel 108 es otro servidor de aplicación, el servidor de aplicación
C. El quinto nivel 110 es una base
de datos.
de datos.
El primer nivel 102 es acoplado con el primer
cliente 112, con el segundo cliente 114, y con el segundo nivel
104. El segundo nivel 104 es posteriormente acoplado con el tercer
nivel 106. El tercer nivel 106 es posteriormente acoplado con el
cuarto nivel 108 y con el quinto nivel 110. El cuarto nivel 108 es
posteriormente acoplado con el quinto nivel 110. La primera
aplicación que se ejecuta en el primer cliente 112 inicia una
petición de usuario R1. La segunda aplicación que se ejecuta en el
segundo cliente 114 inicia una petición de usuario 118.
El sistema 100 incluye una pluralidad de agentes
de contexto 122, 124, 126, 128 y 130, y un servidor de gestión de
red de contexto (CNMS) 120. En el ejemplo expuesto en la figura 2,
hay un único agente de contexto asociado con cada nivel. En
particular, los agentes de contexto 122, 124, 126, 128 y 130 están
asociados al primer nivel 102, el segundo nivel 104, el tercer nivel
106, el cuarto nivel 108 y el quinto nivel 110, respectivamente.
Los agentes de contexto 122, 124, 126, 128 y 130 son acoplados con
CNMS 120. Cada agente de contexto es también acoplado con otros
agentes de contexto conforme al acoplamiento del nivel en el
entorno informático 132. En particular, el agente de contexto 122
es acoplado con el agente de contexto 124, el agente de contexto
124 es posteriormente acoplado con el agente de contexto 126, el
agente de contexto 126 es posteriormente acoplado con el agente de
contexto 128 y con el agente de contexto 130, y el agente de
contexto 128 es posteriormente acoplado con el agente de contexto
130.
El primer cliente 112 requiere un servicio del
primer nivel 102 y el primer cliente 112 manda una petición de
usuario R1 al primer nivel 102. La petición de usuario R1 espera en
una cola en un puerto de entrada de petición del primer nivel 102.
El primer nivel 102 asigna un enclave de procesamiento disponible
X1 para procesar la petición del usuario R1. Mientras se procesa la
petición del usuario R1, la lógica de aplicación que se ejecuta en
el enclave de procesamiento X1 determina que el enclave de
procesamiento X1 no puede completar el procesamiento de la petición
del usuario R1 sin información adicional u operaciones que han de
ser proporcionadas por el segundo nivel 104. En consecuencia, el
primer nivel 102 manda una petición nueva R2 al segundo nivel 104,
solicitando la información adicional u operaciones. El segundo
nivel 104 asigna un enclave de procesamiento disponible X2 a la
petición de proceso R2. La lógica de aplicación que se ejecuta en el
enclave de procesamiento X2 determina que el enclave de
procesamiento X2 requiere información adicional u operaciones que
han de ser proporcionadas por el tercer nivel 106. En consecuencia,
el segundo nivel 104 manda una petición nueva R3 al tercer nivel
106. El tercer nivel 106 asigna un enclave de procesamiento
disponible X3 para procesar la petición R3. Se observa que cada una
de las peticiones R1, R2, y R3 son parte de una única transacción
que se origina de la aplicación ejecutada en el primer cliente
112.
El enclave de procesamiento X3 completa el
procesamiento. El tercer nivel 106 devuelve una respuesta R3' al
segundo nivel 104, en respuesta a la petición anterior R3 del
segundo nivel 104. La lógica de aplicación que se ejecuta en el
enclave de procesamiento X2 recibe la respuesta R3' y recupera la
ejecución. Una vez que el enclave de procesamiento X2 ha completado
el procesamiento, el segundo nivel 104 le devuelve una respuesta
R2' al primer nivel 102 en respuesta a la petición anterior R2 del
primer nivel 102. La lógica de aplicación que se ejecuta en el
enclave de procesamiento X1 recibe la respuesta R2' y continua la
ejecución. Una vez que el enclave de procesamiento X1 ha completado
el procesamiento, el primer nivel 102 le devuelve una respuesta R1'
a la petición del usuario R1, que se ha completado ahora.
Cada agente de contexto controla el nivel
asociado al mismo en los puertos de entrada de petición y en los
puertos de salida de petición del nivel (representados como
círculos pequeños en las figuras 2 y 3). El agente de contexto
controla el tráfico de petición que pasa a través del nivel
asociado, para detectar que una petición ha entrado o salido del
nivel asociado. Si la petición es una petición de usuario (es
decir, la petición inicial en una cadena de peticiones), el agente
de contexto del primer nivel identifica el contexto de la petición
de la petición del usuario, clasifica la petición del usuario en una
clase de petición, y asigna una clase de servicio a la petición del
usuario basada en los contenidos de la política de servicio activo.
Cada agente de contexto tiene un caché de política (no mostrado)
que contiene el grupo de políticas de clase de servicio específico
de niveles para el nivel asociado al agente de contexto respectivo.
CNMS 120 actualiza periódicamente cada agente de contexto con las
políticas de clase de servicio activo de nivel específico. Si la
petición no es una petición de usuario, el agente de contexto
recibe información acerca del contexto de la petición de la
petición, junto con información adicional relacionada con la
petición (es decir, "información de contexto"), del agente de
contexto asociado al nivel donde esa petición se originó. Se observa
que la información mínima incluida en la información de contexto
que un agente de contexto transmite a otro agente de contexto es al
menos: la identidad de la petición, la identidad de la transacción,
la clase de petición, y los datos relacionados con el contexto
asociados a la petición. Los datos relacionados con el contexto
pueden incluir el contexto de la petición mismo, o una indicación
(p. ej., un indicador) para el contexto de la petición que reside en
otra asignación.
El agente de contexto asocia la información de
contexto recibida con la petición que se ejecuta en el nivel. El
agente de contexto puede influenciar en el procesamiento de la
petición, por el nivel respectivo, conforme a la clase de servicio
asignada a la petición. Por ejemplo, el agente de contexto puede
ajustar el orden de la petición en la cola en un puerto de entrada
de petición al nivel, o puede instruir el nivel para asignar, o de
forma alternativa, para denegar, recursos computacionales del nivel
para ejecutar la petición. Si el agente de contexto detecta que una
petición ha salido del nivel asociado, el agente de contexto
transmite información de contexto a otro agente de contexto
asociado al nivel al que la petición ha sido enviada. Este otro
agente de contexto asocia la información de contexto recibida con
la petición per-
tinente, y con el enclave de procesamiento ejecutando la petición en el nivel asociado a este otro agente de contexto.
tinente, y con el enclave de procesamiento ejecutando la petición en el nivel asociado a este otro agente de contexto.
Se observa que el agente de contexto controla
los puertos de entrada de petición y los puertos de salida de
petición del nivel, más que controlar extensamente la actividad que
ocurre dentro del nivel mismo (p. ej., el enclave de procesamiento
que ejecuta una petición). Como resultado, el sistema 100 no
interfiere en la operación real de un nivel dado o el código de
aplicación de usuario que se ejecuta en el nivel desde una
perspectiva de software, y el sistema 100 añade una carga mínima
complementaria a los niveles.
El agente de contexto también es acoplado con el
nivel asociado mediante una extensión de nivel dinámico (DTE - no
mostrado en la figura 2). La DTE habilita al agente de contexto
para recoger datos acerca de la ejecución de UOWs en ese nivel. Los
agentes de contexto pueden enviar datos sin procesar al CNMS 120
para archivar objetivos. Los agentes de contexto pueden además
enviar a CNMS 120 datos estadísticos para el análisis agregado. Los
agentes de contexto pueden recibir información de CNMS 120 así como
perfiles de actividad (definidos aquí abajo con referencia a la
figura 6) y nuevas políticas de clases servicios activos para la
manipulación de diferentes tipos de clases de peticiones. El agente
de contexto es elaborado con detalle en la figura 8 aquí abajo.
En particular, el agente de contexto 122
controla el primer nivel 102 y detecta que la petición de usuario
R1 ha entrado en el primer nivel 102. El agente de contexto 122
identifica el contexto de la petición de la petición de usuario R1
y asocia la petición de usuario R1 con el enclave de procesamiento
X1 que procesa la petición. El agente de contexto 122 clasifica la
petición de usuario R1 en una clase de petición apropiada. El
agente de contexto 122 determina la clase de servicio de petición
de usuario R1 en el primer nivel 102, recuperando la política de
clase servicio activo apropiado en el grupo de políticas de clase
de servicio que el agente de contexto 122 ha almacenado, y asigna a
la petición del usuario R1 la clase de servicio determinado. El
agente de contexto 122 añade la clase de servicio asignado al
contexto de la petición. Cuando la nueva petición R2 sale del
primer nivel 102 en dirección al segundo nivel 104, el agente de
contexto 122 detecta que la petición R2 está relacionada con la
petición del usuario R1. El agente de contexto 122 entonces manda
al agente de contexto 124 información acerca del contexto de la
petición de la petición de usuario R1, con la identidad de petición,
la clase de petición, y la identidad de transacción asociada a la
petición R2.
Ahora se hace referencia a la figura 3, que es
una ilustración esquemática de la transferencia de información
entre dos de los agentes de contexto del sistema de la figura 2. El
agente de contexto 122 le manda al agente de contexto 124 un
mensaje 134. El mensaje 134 incluye la identidad de petición de la
petición R2, la identidad de transacción de la petición R2, la
clase de petición en la que el agente de contexto 122 clasificó la
petición R2, y el contexto de la petición de la petición R2. El
agente de contexto 124 recibe el mensaje 134 y determina la clase
de servicio de la petición R2 que ha de ser ejecutada en el segundo
nivel 104, recuperando la política de clase de servicio activo
apropiada en el conjunto de políticas de clase de servicio cuyo
agente de contexto 124 ha almacenado. El agente de contexto 124
asigna a la petición R2 la clase de servicio determinado. Por
ejemplo, la clase de petición de la petición R2 es el grupo
"15". El agente de contexto 124 recupera la política de
servicio activo que traza un mapa de una clase de servicio para las
peticiones de la clase de petición "15" que son ejecutadas en
el segundo nivel 104. La política de clase de servicio apropiada
asigna una prioridad de "5" para tal petición, una asignación
de CPU de "90", una asignación de memoria de "48", y
prioridad de acceso de dispositivo I/O de "2". El agente de
contexto 124 puede entonces influir en el procesamiento de la
petición R2 conforme a la clase de servicio asignada.
El sistema 100 ejecuta la gestión de rendimiento
de aplicación en una base de contexto de la petición. El sistema
100 identifica las peticiones, y las características referentes a
cada petición están disponibles en el agente de contexto asociado
al nivel. Estas características pueden incluir donde se inició esa
petición, qué peticiones precedieron a la petición en la
transacción, y qué tipo de petición es. Por ejemplo, el agente de
contexto 124 identifica que la petición R2 que opera en el segundo
nivel 104 está unida con la petición de usuario R1 que fue
procesada por el primer nivel 102 e iniciada en el primer cliente
112. Puesto que el agente de contexto de un nivel dado es consciente
del contexto de la petición y de la clase de petición de cada
petición que está siendo ejecutada en el nivel respectivo, el
agente de contexto puede determinar la clase de servicio específico
del nivel apropiado de la petición respectivo basada en la política
de clase de servicio. CNMS 120 puede establecer la política de
gestión global a través de diferentes niveles, respectivas de
diferentes clases de petición, y por consiguiente actualizar los
agentes de contexto.
Ahora se hace referencia a la figura 4, que es
una ilustración esquemática de un ciclo de vida de petición de
muestra, generalmente referenciado 140, sobre dos de los niveles
del sistema de la figura 2. El ciclo de vida de muestra 140
representa los estadios que sufre una petición puesto que la
petición está siendo servida en un entorno informático multinivel
132 (figura 2). Hay que recordar que una petición causa una
invocación de una UOW, que puede además generar peticiones
adicionales, bien internamente dentro del mismo nivel (enviando una
petición al mismo nivel sobre el que está siendo ejecutada la UOW),
o externamente (enviando peticiones a otros niveles). Por lo tanto,
una petición del usuario normalmente genera una serie de
invocaciones de UOWs, cada una de las cuales pueden ser realizadas
en un nivel diferente. Las invocaciones de UOWs pueden ser
sincrónicas (es decir, el enclave de procesamiento que ejecuta la
invocación UOW espera una respuesta de la UOW invocada antes de
reanudar el procesamiento) o asincrónico (es decir, el enclave de
procesamiento que ejecuta la invocación UOW continúa procesando la
invocación de UOW sin esperar una respuesta de la UOW invocada). En
ambos casos, la UOW en el nivel invocado N+1 está dedicada al
servicio solicitado por el nivel de invocación N. En el
procesamiento sincrónico hay casos donde la invocación UOW en el
nivel N espera a la UOW invocada en el extremo de nivel N+1 (es
decir, la UOW en el nivel N+1 es desasignada). En otros casos, la
UOW invocada en el nivel N+1 puede ser referenciada múltiples veces
por el nivel de invocación, hasta que la UOW invocada acaba en el
nivel N+1.
En la fase 142, una primera petición es enviada
al nivel N (es decir, cualquier nivel representativo) en el entorno
informático 132. La primera petición resulta en una invocación UOW
en el nivel N para proporcionar un servicio, bien para un nivel
precedente o para una aplicación de usuario. La primera petición
espera en una cola 158 en el nivel N.
En la fase 144, la primera petición sale de la
cola 158 y se asigna una UOW, UOW-A, en el nivel N.
Una asignación de UOW implica asignar un enclave de procesamiento
disponible de uno de los enclaves de procesamiento 162 en el nivel
N y enviar el código de aplicación de petición para seguir en el
enclave del procesamiento. La asignación de UOW ocurre una vez que
los recursos de nivel de objetivo están disponibles y es posible
asignar el código de aplicación a un enclave de procesamiento
disponible en el nivel N. En el ciclo de vida de muestra 140,
UOW-A comienza la ejecución en el nivel N.
En la fase 146, UOW-A emite una
segunda petición al nivel N+1. El nivel N+1 luego invoca a
UOW-B para ejecutar esta petición del nivel N. En la
fase 148, el nivel N+1 invoca a UOW-B para ejecutar
la segunda petición enviada por el nivel N. La segunda petición
espera en una cola 160 en el nivel N+1. En la fase 150, la segunda
petición sale de la cola 160 y el UOW-B se asigna a
la segunda petición. La asignación UOW-B resulta en
la atribución de un enclave de procesamiento disponible de uno de
los enclaves de procesamiento 164 en el nivel N+1 al código de
aplicación de la invocación UOW y enviar el código de aplicación de
petición para seguir en ese enclave de procesamiento. La UOW- B
entonces comienza la ejecución en el nivel N+1. Se observa que la
invocación de UOW-B es sincrónica, y así el enclave
de procesamiento que procesa la UOW-A no continúa
procesando mientras que espera una respuesta de la
UOW-B.
En el caso de que la invocación de
UOW-B sea asincrónica, el enclave de procesamiento
que procesa UOW-A recibe un acuse de que el nivel
N+1 que la segunda petición envió de UOW-A al nivel
N+1 fue aceptado. Al recibir el acuse, el enclave de procesamiento
que procesa UOW-A recupera la ejecución hasta que
el enclave de procesamiento finalmente devuelve una respuesta a la
primera petición. Después de que el nivel N+1 acepte la segunda
petición asincrónica, la segunda petición espera en la cola 160. La
segunda petición es posteriormente leída por uno o más enclaves de
procesamiento que manipulan la segunda petición, hasta que uno de
esos enclaves de procesamiento también retira la segunda petición
de la cola 160. Cada enclave de procesamiento que manipula la
segunda petición puede también convertir la segunda petición en una
petición del usuario nuevo, el cual puede iniciar a su vez otra
cadena de peticiones, comenzando de este modo una transacción
nueva.
Por ejemplo, una transacción que implica una
petición asincrónica puede ser un usuario que confirma la compra de
un libro en una página web de comercio electrónico. La petición de
compra devuelve al usuario a una pantalla informando de que la
orden está siendo procesada y se le notificará al usuario (p. ej.,
vía e-mail o mensaje de texto). La misma petición de
compra es simultáneamente colocada en una cola de mensajes donde la
petición de compra es procesada más tarde por: un enclave de
procesamiento que envía una petición de aprobación final a la
empresa de tarjetas de crédito; un enclave de procesamiento que
envía una petición de orden de compra al almacén; un enclave de
procesamiento que envía una petición de contabilidad al sistema de
facturación; y similares.
En la fase 152, UOW-B devuelve
una respuesta a UOW-A en respuesta a la invocación
anterior de UOW-A, y la ejecución de
UOW-B es ahora completada. La segunda petición
ahora ha terminado. En la fase 154, UOW-A recibe la
respuesta y recupera la ejecución, punto en el que
UOW-B es liberado por el nivel N+1.
UOW-A puede entonces continuar ejecutándose. La
duración de tiempo entre cuando una UOW de invocación hace una
petición y cuando UOW de invocación recibe una respuesta de la UOW
invocada, es conocida como el periodo "latencia", o el tiempo
de respuesta para una petición de UOW dada.
En la fase 156, UOW-A completa
la ejecución y la primera petición termina. Se observa que antes de
la finalización, UOW-A puede requerir los servicios
de otro nivel y puede invocar otra petición para proporcionar ese
servicio.
Se observa que después de que
UOW-B sea asignado en la fase 150, y comience la
ejecución en el nivel N+1, puede ocurrir un error no recuperable (p.
ej., una excepción del programa). Conforme a una forma de
realización de la técnica descrita, el agente de contexto asociado
al nivel N+1 registrará el error y asociará el error a la
transacción que comenzó con la petición del usuario que invocó
UOW-A en el nivel N, proporcionando información como
en cuanto a la naturaleza del error que ocurrió en el nivel
N+1.
Ahora se hace referencia a la figura 5, que es
una ilustración esquemática de un sistema de gestión de rendimiento
de aplicación, generalmente referenciado 200, construido y
operativo conforme a otra forma de realización de la técnica
descrita. El sistema 200 funciona en un entorno informático
multinivel, generalmente referenciado 248. El entorno informático
248 incluye un cliente 214, un primer nivel 202, un segundo nivel
204, un tercer nivel 206, un cuarto nivel 208, y un quinto nivel
210. El primer nivel 202 es un servidor web. El segundo nivel 204
es un servidor de aplicación A. El tercer nivel 206 es un servidor
de aplicación B. El segundo nivel 204 y tercer nivel 206 residen
ambos en una única máquina huésped 212. El cuarto nivel 208 es otro
servidor de aplicación, el servidor de aplicación C. El quinto nivel
210 es una base de datos. El primer nivel 202 es acoplado al
cliente 214, y al huésped 212. El huésped 212 es posteriormente
acoplado al cuarto nivel 208 y al nivel quinto 210. El cuarto nivel
208 es posteriormente acoplado al quinto nivel 210.
El sistema 200 incluye una pluralidad de
extensiones de nivel dinámicos 222, 224, 226, 228 y 230, una
pluralidad de agentes de contexto 232, 234, 236 y 238, una
pluralidad de registros locales 240, 242, 244 y 246, un servidor de
gestión de red de contexto (CNMS) 216, una base de datos de
políticas de objetivo de nivel de servicio (SLO) 218, y una
estación de trabajo de supervisor 220. Cada nivel contiene una
extensión de nivel dinámico (DTE). Hay un agente de contexto
asociado a cada nivel. Hay un registro local asociado a cada agente
de contexto. Un agente de contexto de un nivel dado es acoplado al
DTE (o diferentes DTEs) dentro del nivel, con el registro local
asociado al agente de contexto, y con otros agentes de contexto
conforme al acoplamiento del nivel en el entorno informático. Cada
agente de contexto es también acoplado a CNMS 216. El CNMS 216 es
acoplado con la base de datos de políticas de SLO 218. La estación
de trabajo de supervisor 220 es acoplada al CNMS 216 y a la base de
datos de políticas de SLO 218.
En particular, el primer nivel 202 incluye DTE
222. El agente de contexto 232 está unido con el primer nivel 202.
El registro local 240 está unido con el agente de contexto 232. El
segundo nivel 204 incluye DTE 224. El tercer nivel 206 incluye DTE
226. Puesto que el segundo nivel 204 y el tercer nivel 206 residen
ambos en el huésped 212, hay sólo un único agente de contexto 234
asociado al segundo nivel 204 y al tercer nivel 206. Se observa que
el agente de contexto 234 está directamente acoplado al DTE 224 y
DTE 226. El registro local 242 está unido al agente de contexto
234. El cuarto nivel 208 incluye DTE 228. El agente de contexto 236
está unido al cuarto nivel 208. El registro local 244 está unido al
agente de contexto 236. Finalmente, el quinto nivel 210 incluye DTE
230. El agente de contexto 238 está unido al quinto nivel 210. El
registro local 246 está unido al agente de contexto 238. El agente
de contexto 232 está acoplado al agente de contexto 234. El agente
de contexto 234 está posteriormente acoplado al agente de contexto
236 y al agente de contexto 238. El agente de contexto 236 está
posteriormente acoplado al agente de contexto 238.
Una extensión de nivel dinámico es acoplada al
nivel en puntos específicos predeterminados. Estos puntos
predeterminados son: los puertos de entrada de petición del nivel,
los puertos de salida de petición del nivel, y posiblemente áreas
adicionales dentro del nivel (p. ej., un puerto de control del
nivel). Un puerto de petición según la técnica descrita es un módulo
dentro de un nivel que administra peticiones, bien antes de ser
procesadas por el nivel, o después de ser procesadas por el nivel.
Un puerto de petición de este tipo puede ser un punto de la
interfaz (es decir, entrada, salida o cualquier otro mecanismo de
acceso) para una cola de petición en la entrada de un nivel. Puesto
que una petición requiere el servicio de un código de aplicación que
tiene lugar en el nivel mediante un enclave de procesamiento, el
puerto de petición respectivo reside en un nivel de aplicación y no
en un nivel de conexión de redes. Se observa que los puertos de
petición según la técnica descrita, no están a un nivel de red (p.
ej., no en puertos TCP/IP o UDP).
La DTE está localizado en el mismo nivel huésped
que el nivel asociado a éste (es decir, la DTE está localizada en
al menos una de las máquinas huésped en la que el nivel tiene
lugar). Entre las responsabilidades de la DTE está la de capturar
un contexto de la petición. La DTE además observa las aberturas de
introducción de petición y las aberturas de salida de petición de un
nivel, para detectar las peticiones entrantes y salientes. La DTE
asigna una identidad de transacción a una petición del usuario, y
obtiene la identidad de la petición de cada petición que entra o
sale del nivel. La DTE es explicada con detalle en la figura 7
descrita aquí abajo.
El agente de contexto mantiene asociaciones
entre una petición dada, el UOW invocada de la petición, y el
contexto de la petición de la petición de la usuario en la misma
transacción que la petición. El agente de contexto transmite el
contexto de la petición asignado a cada petición (es decir, los
datos relacionados con el contexto) a otros agentes de contexto que
procesan otros niveles. El agente de contexto puede transmitir todo
el contexto de la petición, o una parte del contexto de la
petición. Además, el agente de contexto puede transmitir el
contexto de la petición mismo, o una indicación (p. ej., un
indicador) al contexto de la petición que reside en otra asignación.
Se observa que el agente de contexto no necesita necesariamente
residir en la misma máquina huésped que el nivel, pero éste es el
caso en una forma de realización preferida de la técnica descrita.
El agente de contexto es explicado con detalle en la figura 8
descrita aquí abajo. CNMS 216 recoge y analiza los datos de
rendimiento. La base de datos de políticas de SLO 218 almacena
políticas de clase de servicio de nivel cruzado, y se actualiza
continuamente.
Ahora se hace referencia a la figura 6, que es
una ilustración esquemática de dos de los niveles del entorno
informático multinivel de la figura 5. Se observa que tanto el
cuarto nivel 208 como el quinto nivel 210 ilustrados en la figura 6
son representativos de dos niveles consecutivos cualquiera (p. ej.,
el nivel N y el nivel N+1) en el entorno informático 248.
Una petición que entra en el cuarto nivel 208
espera a un puerto de entrada de petición del cuarto nivel 208 en
una cola 262. El cuarto nivel 208 invoca una UOW para ejecutar la
petición. La petición sale de la cola 262 y el cuarto nivel 208
asigna la UOW a la petición, asignando un enclave de procesamiento
disponible a la UOW de los enclaves de procesamiento 252 y
despachando el código de aplicación de la petición para llevar a
cabo el enclave de procesamiento. La UOW se ejecuta en el cuarto
nivel 208. La UOW puede entonces pedir un servicio del quinto nivel
210. La petición nueva sale del cuarto nivel 208 a un puerto de
salida de petición y espera en un puerto de entrada de petición del
quinto nivel 210 en una cola 264. El quinto nivel 210 invoca una
UOW para ejecutar la petición nueva. La petición nueva sale de la
cola 264 y el quinto nivel 210 asigna la UOW a la petición nueva,
para asignar un enclave de procesamiento disponible a la UOW del
enclave de procesamiento 254, y despachar el código de aplicación
de la petición nueva para llevar a cabo el enclave de
procesamiento. La DTE 228 observa los puertos de entrada de
petición y los puertos de salida de petición del cuarto nivel 208
para detectar la petición que entra y sale del cuarto nivel 208,
respectivamente.
Las extensiones de nivel dinámico están
implicadas en trazar una petición en todo su ciclo de vida, sin
cambiar el código de aplicación. La DTE se conecta dinámicamente al
entorno del nivel donde la DTE intercepta el contexto de la
petición externa al código de aplicación. El rastreo de la petición
incluye capturar el contexto de la petición, asociar la petición a
una UOW en un nivel, y desasociar la petición de una UOW en un
nivel. La DTE además recoge el rendimiento, la disponibilidad, y el
error métrico del nivel. La DTE también puede ajustar dinámicamente
el procesamiento de petición en el nivel, ajustando el orden de una
petición en la cola en un puerto de entrada de petición del nivel,
asignando recursos computacionales para procesar la petición (p.
ej., CPU, memoria, I/O, y similares) o alterando la prioridad del
enclave de procesamiento o los recursos asignados. Estas tareas son
explicadas con referencia a las figuras 9, 10 y 11 descritas aquí
abajo.
Se observa que hay dos alternativas para el
contexto de la petición transmitidas entre los agentes de contexto:
dentro de banda y fuera de banda. En la transmisión de contexto
dentro de banda, el contexto de la petición se añade a la petición
misma (es decir, sobre la carga útil), cuando la petición sale de
un nivel determinado en dirección al siguiente nivel. En
consecuencia, como una petición y peticiones descendientes de los
mismos son procesados entre niveles diferentes, el contexto de la
petición actualizado se añade a las invocaciones de petición. Por
el contrario, la transmisión fuera de banda no implica que el
contexto de la petición se añada a las invocaciones de petición.
Más bien los agentes de contexto envían la información de contexto
directamente entre sí. Un agente de contexto envía un contexto de la
petición a otro agente de contexto. Una DTE recupera el contexto de
la petición del agente de contexto. Se observa que cada agente de
contexto de un sistema similar al sistema 200 (figura 5) transmite
el contexto de la petición a otro agente de contexto usando la
técnica de fuera de banda.
Haciendo referencia de nuevo a la figura 5, el
sistema 200 ejecuta un perfilado de la actividad. El perfilado de
la actividad implica crear un perfil de actividad. El perfil de
actividad incluye la transacción integrada, el nivel, y métrica de
rendimiento de nivel del sistema y análisis estadístico, que se
obtienen durante el rastreo de la petición. Por ejemplo, la métrica
de rendimiento puede incluir: tiempo transcurrido de petición,
tiempo de servicio de petición, tiempo de CPU consumido en el nivel,
y similares. Los datos del perfil de la actividad son recogidos en
el tiempo y usados para controlar (es decir, presentar en el GUI) y
para soportar la creación de una política de servicio definida para
un usuario. Una consola de perfilado de la actividad (no mostrada)
es un componente del GUI que muestra el rendimiento y la
disponibilidad de los datos agregados recogidos por el agente de
contexto. El rendimiento y la disponibilidad de los datos agregados
incluyen vistas de resumen de los datos de perfil de actividad por
varias categorías tales como: nivel, clase de petición, transacción
y similares. Una actividad que perfila el motor (no mostrado)
localizado en CNMS 216 ejecuta el perfil de la actividad.
Cada agente de contexto tiene la tarea de
recoger información sobre los detalles de ejecución en cada nivel.
La DTE habilita el agente de contexto para recopilar datos acerca
de la ejecución de UOWs en ese nivel. Los agentes de contexto
entonces envían la información recogida a CNMS 216. La información
almacenada para cada UOW incluye: hora de comienzo, identidad de
petición de la petición a la que la UOW es asignada, identidad de
transacción de la petición a la que la UOW es asignada, clase de
petición a la que la UOW es asignada, detalles de usuario, detalles
de la dirección de la red de origen, clase de servicio de la
petición a la que la UOW es asignada, hora de finalización, consumo
de recursos (tal como una CPU), y similares.
El agente de contexto almacena la información
acerca de las UOWs ejecutadas habitualmente en una memoria (no
mostrada). Una vez que la UOW ha terminado de ejecutarse en el
nivel, el agente de contexto transfiere la información a un almacén
de datos de historial reciente (no mostrado), que es almacenado en
un disco (no mostrado) localmente en el mismo huésped de nivel del
agente de contexto. Después de un determinado periodo de tiempo, el
agente de contexto mueve las entradas del almacén de datos de
historial reciente a un almacén de resumen de datos (no mostrado).
Esta información es almacenada como un resumen en un periodo de
tiempo dado (p. ej., un promedio de recogida métrica sobre un
periodo de media hora). La información en el depósito de resumen de
datos es almacenada por cambios. Los cambios se guardan en una base
periódica (es decir, se reciclan después de que haya acumulado un
número de cambios).
El sistema 200 incluye además políticas de clase
de servicio. Cabe recordar que una política de servicio se refiere
a una regla que asigna una clase de servicio a una petición dentro
de una clase de petición, con respecto al nivel sobre el que la
petición está siendo procesado. Un motor de política de servicio a
tiempo real, localizado en el agente de contexto, asigna una clase
de servicio apropiado a la petición conforme a la información en el
contexto de la petición, tal como la clase de petición, las
características de rendimiento de ejecuciones precedentes de
peticiones con el mismo contexto de la petición, y de acuerdo con
una política de servicio activo. Además, la atribución de una clase
de servicio puede tener en cuenta consideraciones adicionales, tales
como un grupo de métricas de rendimiento para cada clase de
petición. Este grupo de métricas de rendimiento caracteriza la
clase de petición y crean una línea base para el comportamiento de
rendimiento típico. Este proceso utiliza los datos de registro
creados a través de todos los niveles y las clases de peticiones
asociadas a los mismos. Las clases de petición son almacenadas en
una estructura de árbol en la base de datos de políticas de SLO 218.
El motor de la política de servicio añade y actualiza información
acerca de cada clase de petición, y por consiguiente actualiza la
base de datos de políticas de SLO 218.
La clase de servicio es determinada para la
petición del usuario en el primer nivel y luego pasada de nivel a
nivel con la petición en el contexto de la petición (de agente de
contexto a agente de contexto). No hay necesidad de acceder a CNMS
216 para determinar la política de servicio activo y el mapeo para
la clase de servicio. Más bien, cada agente de contexto tiene un
caché de política en su interior (no mostrado) almacenado hasta la
fecha, de modo que el mapeo para la clase de servicio apropiado se
desempeña localmente.
El motor de perfilado de actividad emite a los
agentes de contexto locales información sobre las peticiones
completadas y llevadas a cabo actualmente en intervalos periódicos,
o siempre que sea necesario y esté disponible (p. ej., cuando un
usuario desea ver el estado actual de las peticiones en la consola
de rendimiento). De forma alternativa, el motor de perfilado de la
actividad puede instruir a cada agente de contexto a iniciar el
envío de registros nuevos al motor de perfilado de actividad a
intervalos fijos o cuando un umbral (es decir, número de registros)
es alcanzado. El motor de perfilado de actividad recoge los datos
de cada petición, realiza cálculos (p. ej., promedio, varianza, y
similares) y almacena los resultados a varios intervalos en la base
de datos de políticas de SLO 218, como una línea base para el
análisis de cada clase de petición. En base a los datos disponibles
almacenados en la base de datos de política de SLO 218, un motor de
generación de políticas de servicio localizado en CNMS 216 crea un
grupo de reglas que sirven de recomendaciones para políticas de
clase de servicio nuevas. CNMS 216 determina las políticas de clase
de servicio que usan estas recomendaciones. Las políticas de clase
de servicio son almacenadas en la base de datos de políticas de SLO
218.
Se observa que la base de datos de políticas de
SLO 218 almacena políticas que son generadas automáticamente al
igual que las políticas de clase de servicio de usuario definido.
Un usuario puede crear un grupo de políticas de clase de servicio
(es decir, políticas de clase de servicio de usuario definido)
mediante la interfaz de usuario (no mostrado) de sistema 200, o
editando un fichero de configuración del agente de contexto. La
creación de políticas de clase de servicio de usuario definido
implica el análisis de usuario de los perfiles de la actividad, y
la obtención de la aprobación de la política de servicio sugerida
por CNMS 216.
El agente de contexto recibe políticas de clase
de servicio actualizadas de CNMS 216. Se observa que si la política
de servicio nueva es generada automáticamente o de usuario definido
es transparente para el agente de contexto. El agente de contexto
asigna a una petición la clase de servicio designada en la política
de servicio activo del nivel especifico apropiado, localizada
dentro del caché de política local del agente de contexto.
De forma alternativa, el agente de contexto
puede asignar a la petición una clase de servicio diferente de
aquella designada por la política de servicio activo en
determinadas situaciones (p. ej., si el nivel es habitualmente
incapaz de proporcionar todos los recursos requeridos para ejecutar
la clase de servicio, si una cantidad significante de peticiones de
alta prioridad introducen el nivel y pueden suponer la extinción de
recursos para peticiones de prioridad baja, y similares). Además de
forma alternativa, el agente de contexto puede alterar la clase de
petición de la petición, y posteriormente asignar a la petición la
clase de servicio designada por la política de servicio activo del
nivel específico apropiada para la clase de petición nueva.
El sistema 200 también realiza la clasificación
de la petición. Esto implica la clasificación de peticiones
múltiples (cada una designada por su identidad de transacción y el
contexto de la petición) en clases de petición según varios
criterios. Un proceso de clasificación de petición automático reúne
la información genérica asociada a una petición (p. ej., información
de cabecera, parámetros tales como serie de preguntas, parámetros
de Localizador Uniforme de Recursos (URL) en el caso de un tipo de
petición HTTP, y similares). Cuando llega otra petición de la misma
clase de petición, esta petición será procesada de una manera
similar a la otra petición dentro de la clase de petición. Las
clases de petición pueden ser reagrupadas en varias categorías
conforme a las características de rendimiento de clase de petición
en los perfiles de actividad pertinentes (p. ej., un grupo de clases
de petición que tienen un tiempo de respuesta mayor que dos
segundos). El agrupamiento de clases de peticiones se usa para
reportar objetivos, permitir un nivel más alto de vistas resumidas
de datos de rendimiento de clases de petición.
El sistema 200 también soporta un proceso de
clasificación de usuario definido donde el usuario crea reglas que
clasifican las peticiones basadas en la misma información de
petición usada para el proceso de clasificación automática. Un
usuario puede crear reglas de clasificación mediante la interfaz de
usuario (no mostrado) del sistema 200. El proceso de clasificación
de peticiones automático usa un algoritmo "gestión de caché
basada en la clase", como se describe por H. Zhu y T. Yang
("Class-based cache management for dynamic web
contents", Tech. Rep. TRCS00-13, Dept. de
Ciencias informáticas, Universidad de California, Santa Bárbara,
2000). La salida del proceso de clasificación es un árbol que
representa la clase de petición y las clases parentales (es decir,
en un proceso de clasificación de petición automático) o un grupo
de reglas de clasificación (es decir, en un proceso de
clasificación de usuario definido). Todos los resultados de los
procesos de clasificación son almacenados en la base de datos de
políticas de SLO 218.
El sistema 200 es también operativo para aplicar
la clase de servicio, tal y como se define en la política de
servicio activo, en todos y cada uno de los niveles controlados. La
aplicación de política es realizada por la DTE y el agente de
contexto. La aplicación puede ser implementada bien controlando la
cola de peticiones en cada nivel (es decir, el orden en que la
petición es en realidad procesada dentro del nivel), o cambiando
temporalmente la prioridad de procesamiento del enclave de
procesamiento que realiza la petición durante la ejecución.
La implementación depende de la arquitectura del
nivel particular. Por ejemplo, la implementación en un nivel de
base de datos puede implicar el uso de un esquema de gestión de
recursos de base de datos para manipular la asignación de recursos
de sesión según la política de servicio apropiada. Otro ejemplo es
la implementación en un nivel de servidor de aplicación
implementado usando una aplicación de servidor de aplicación J2EE
que puede implicar: extensión de la cola de servidor web de
aplicación para sostener la prioridad de la petición, extensión de
la cola de Enterprise JavaBeans (EJB) para soportar la
prioritización, controlar la prioridad de threads en JAVA, y
similares.
Ahora se hace referencia a la figura 7, que es
una ilustración esquemática de una extensión de nivel dinámico del
sistema de la figura 5. Se observa que DTE 228 del cuarto nivel
208, representada en la figura 5, es representativa de todas las
extensiones de nivel dinámico en el sistema 200. DTE 228 incluye
una serie de ganchos blandos o puntos de intercepción en el cuarto
nivel 208. Estos ganchos, referenciados con 266 y 268, sirven para
recopilar información relacionada con la petición y datos del
rendimiento. Los ganchos también pueden alterar la prioridad de un
enclave de procesamiento que ejecuta una UOW. Un gancho posiciona
la información recogida en una cola de mensaje dedicada 270. El
gancho blando y la técnica de intercepción dependen del medio
particular. Por ejemplo, el medio puede ser: un servidor web, un
servidor de aplicación J2EE basado en JAVA, una base de datos, un
servidor de mensajes, y similares. Se observa que los puntos de
intercepción 266 y 268 pueden ser instantáneamente activados o
desactivados por un operador.
DTE 228 incluye además un proceso llevado a cabo
dentro del cuarto nivel 208. El proceso se encarga de los mensajes
de los puntos de intercepción, comunica los mensajes al agente de
contexto 236, devuelve los mensajes a los puntos de intercepción, y
ejecuta funciones de control administrativas de la DTE (p. ej.
peticiones de inicio/parada de seguimiento, instalación y
eliminación de ganchos blandos). DTE 228 incluye un demonio DTE 272,
un administrador DTE 274, un módulo de mensajería DTE 276, un
manipulador de eventos registrados de DTE 278 y una interfaz de
comunicación de DTE 280.
El demonio DTE 272 es un enclave de
procesamiento creado artificialmente que opera dentro del nivel. El
demonio DTE 272 ejecuta un procesamiento asincrónico asociado a
eventos proporcionados donde la petición no necesita ser detenida.
Hay dos tipos de escenarios en lo que se refiere a informe de
eventos. En el primer escenario, no hay necesidad de detener la
petición hasta que se reciba una respuesta. Por ejemplo, cuando se
informa de que una petición ha terminado, no hay ninguna necesidad
de retrasar la petición hasta después de que el agente de contexto
haya sido notificado en realidad. En el segundo escenario, la
petición necesita ser mantenida durante un periodo determinado
antes de que el procesamiento se reanude. Por ejemplo, cuando se
obtiene la clase de servicio de una petición o cuando se realiza la
clasificación de una petición, el procesamiento no puede comenzar
hasta que la clase de petición y clase de servicio sea determinada
por el agente de contexto, de lo contrario el procesamiento puede
ser hecho usando una clase de servicio incorrecto o una clase de
petición incorrecta.
El demonio DTE 272 procesa los eventos del
primer escenario, donde la petición no necesita ser detenida. El
procesamiento es hecho asíncronamente, de manera que la petición no
se retrasa. De este modo la petición sale rápidamente, casi
instantáneamente. El demonio DTE 272 tiene una cola 270 asociada a
él. Después de que las entradas de petición y las salidas de la
petición relacionadas sean notificadas por puntos de intercepción
266 y 268, el demonio DTE 272 recoge estas notificaciones de la
cola 270 y ejecuta cualquier procesamiento adicional que sea
necesario.
El administrador de DTE 274 habilita a la DTE
228 para recibir mensajes acerca de cómo las peticiones deberían
ser procesadas. Por ejemplo, los mensajes de este tipo pueden
incluir: parar el seguimiento de una petición, continuar el
seguimiento de la petición pero parar de priorizar, y similares. El
módulo de mensajes de DTE 276 se comunica con el agente de contexto
236 usando mensajes. Por ejemplo, los mensajes de este tipo pueden
incluir: inicio o final de una UOW, asociar una UOW con una
petición dada, y similares. El manipulador de eventos de registro
de DTE 278 registra información de trazado en lo que se refiere a
operaciones de DTE y registra alertas formuladas por DTE 228. Estos
eventos registrados podrían ser enviados a destinos múltiples tales
como un fichero local, una consola de mensajes de sistema, un
registro del sistema, y similares. El manipulador de eventos de
registro de DTE 278 soporta protocolos estándar de industria
múltiple tal como Protocolo Simple de Gestión de Red (SNMP), y
similares. La interfaz de comunicación de DTE 280 sirve como
interfaz entre DTE 228 y el agente de contexto 236. La interfaz de
comunicación de DTE 280 transmite mensajes enviados desde un módulo
de mensajería de agente 286 de agente de contexto 236 a DTE 228. La
interfaz de comunicación de DTE 280 también transmite mensajes
enviados del módulo de mensajería de DTE 276 de DTE 228 al agente
de contexto 236. Múltiples protocolos de comunicación son
soportados, y cada DTE usa el método de comunicación más eficaz
disponible dentro de su arquitectura, tal como una comunicación
entre procesos, Protocolo de control de transmisión/Protocolo de
Internet (TCP/IP), y similares.
Ahora se hace referencia a la figura 8, que es
una ilustración esquemática de un agente de contexto del sistema de
la figura 5. Se observa que el agente de contexto 236 del cuarto
nivel 208, representado en la figura 5, es representativo de todos
los agentes de contexto en el sistema 200. El agente de contexto
236 recibe notificaciones de DTE 228 mediante una variedad de
mecanismos, tales como TCP/IP, canales de comunicación entre
procesos, y similares. Las notificaciones son de eventos que ocurren
dentro del nivel, tales como: la captura de un contexto de
petición, el inicio de una UOW, el fin de una UOW, el consumo de
recursos de una UOW, la invocación/asignación de una UOW en un
nivel remoto, la respuesta/liberación de una UOW en un nivel
remoto, y similares. El agente de contexto 236 incluye un
manipulador de eventos de registros de agente 282, una interfaz de
comunicación de agente 284, un módulo de mensajería de agente 286,
un gestor de tabla de contexto 288, un gestor de la clasificación
290, un gestor de políticas 292, y un administrador de agente
294.
El manipulador de eventos de registro de agente
282 se usa por el agente de contexto 236 para los fines de tareas
domésticas internas y para alertas de registros aumentadas por el
agente de contexto 236. El manipulador de eventos de registro de
agente 282 registra información que entra en la tabla de contexto
(como se describe aquí abajo), pero es también usado para el
trazado interno y los fines de mensajería, así como para detectar
irregularidades operacionales (es decir, problemas o errores) que
pueden ocurrir dentro del agente de contexto 236. Estos eventos
registrados pueden ser enviados a múltiples destinos tales como un
fichero local, una consola de mensajes del sistema, un registro del
sistema, y similares. El manipulador de eventos de registro de
agente 282 soporta protocolos estándares de industria múltiple
tales como SNMP, y similares.
La interfaz de comunicación de agente 284 sirve
como una interfaz entre DTE 228 y el agente de contexto 236. La
interfaz de comunicación de agente 284 transmite mensajes enviados
desde el módulo de mensajería de DTE 276 de DTE 228 al agente de
contexto 236. La interfaz de comunicación de agente 284 también
transmite mensajes enviados desde el módulo de mensajería de agente
286 del agente de contexto 236 a DTE 228. Pueden haber diversos
canales que conectan la DTE 228 y el agente de contexto 236, para
asegurar una comunicación rápida y fiable entre los dos, y al menos
diversos canales se quedan abiertos en todo momento, por ejemplo un
canal de prioridad alta y un canal administrativo. También pueden
haber diferentes conexiones de cada tipo de canal, para diferentes
tipos de mensajes. Como resultado, la interfaz del agente de
comunicación 284 es operativa para considerar estas diferentes
posibilidades.
El módulo de mensajería de agente 286 notifica a
otros agentes de contexto asociados a los niveles remotos que una
petición fue enviada al nivel remoto. El módulo de mensajería de
agente 286 además se comunica con DTE 228 usando mensajes. Por
ejemplo, este tipo de mensajes incluyen: iniciar o finalizar una
UOW, asociar una UOW con una petición, y similares. El módulo de
mensajería de agente 286 se comunica con DTE 228 mediante la
interfaz del agente de comunicación 284.
El gestor de la tabla de contexto 288 funciona
como el contable del agente de contexto. El gestor de la tabla de
contexto 288 mantiene una tabla de referencia cruzada, conocida
como una "tabla de contexto", usada para asociar UOWs llevadas
a cabo en el nivel para su contexto de petición. El contexto de
petición puede ser del nivel corriente (es decir, en el caso de una
petición de usuario), transmitido desde un nivel precedente de la
cadena de ejecución de petición, o ambos (es decir, el contexto de
la petición es modificado o se añade información nueva en su
interior). La tabla de contexto almacena información asociada con
cada petición (p. ej., identidad de transacción, clase de petición,
clase de servicio, origen de petición, y similares). El módulo de
mensajería de agente 286 accede a la tabla de contexto y busca un
registro de interés después de que el módulo de mensajería de agente
286 haya recibido la información de DTE 228. El gestor de la tabla
de contexto 288 identifica una petición basada en la información
asociada a la petición y los datos almacenados en la tabla de
contexto. Así, el agente de contexto 236 obtiene información acerca
de la petición que entra en el nivel, tal como la clase de
petición, clase de servicio, y otra información pertinente asociada
a la petición.
El gestor de la clasificación 290 y el gestor de
políticas 292 procesan cada petición de usuario que entra en el
primer nivel. La primera vez que una petición de usuario entra en
el entorno informático no hay ninguna información en la tabla de
contexto en lo que se refiere a esta petición de usuario. Como
consecuencia, la petición de usuario es requerida para someterse a
la clasificación. Durante el proceso de clasificación, toda la
información conocida sobre la petición de usuario es recogida en un
puerto de entrada de petición. Por ejemplo, si la petición de
usuario es una petición HTTP, entonces la información de este tipo
incluye el encabezamiento HTTP, la serie de preguntas, los
parámetros URL, y similares. Para cada tipo de protocolo usado en
cada una de los niveles, hay un plug-in genérico que
en efecto clasifica la petición del usuario.
El proceso de clasificación esencialmente extrae
la perspectiva de negocio desde la petición del usuario,
traduciendo la información relacionada con la petición técnica (p.
ej., una petición HTTP) en una clasificación de petición formal
relacionada con un proceso de negocio (p. ej., recuperar el
equilibrio de una cuenta bancaria). Una petición de usuario es
colocada en una clase de petición específica. La petición de
usuario puede ser identificada como parte de un proceso de negocio
o una serie de transacciones relacionadas. Por ejemplo, la
recuperación del saldo de una cuenta puede ser parte de un proceso
mayor para solicitar una hipoteca. Cuando la información es
transferida del agente de contexto 236 a CNMS 216, CNMS 216 puede
determinar el perfil de actividad y detectar tendencias de
comportamiento de petición para clases de petición.
El gestor de políticas 292 asigna una clase de
servicio a las peticiones. El gestor de políticas 292 recibe la
salida del gestor de la clasificación 290, y basándose en la clase
de petición, el contexto de la petición, y la política de servicio
activo, determina la clase de servicio de una petición dada. Por
ejemplo, el gestor de políticas 292 puede establecer todas las
peticiones de una clase de petición determinada para tener una
clase de servicio con una prioridad más alta que todas las
peticiones de una clase de petición diferente. Un agente de
contexto asigna una clase de servicio a una petición que es
procesada en el nivel asociado al mismo, actualizando el contexto de
la petición con la clase de servicio apropiado según la política de
servicio activo.
La base de datos de políticas de servicio de
nivel cruzado incluye el grupo de mapeos de clases de servicios
para clases de peticiones para todos los niveles en el entorno
informático multinivel. A cada petición perteneciente a una clase
de petición determinada se le puede asignar una clase de servicio
diferente dependiendo del nivel en el que la petición está siendo
procesada. Con referencia a la figura 2, a la petición del usuario
R1 se le puede asignar una clase de servicio con una prioridad baja
en el primer nivel 102, a la petición R2 se le puede asignar una
clase de servicio con una alta prioridad en el segundo nivel 104 y
a la petición R3 se le puede asignar una clase de servicio con una
prioridad media en el tercer nivel 106. Las políticas de clase de
servicio del nivel cruzado son almacenadas en la base de datos de
políticas de SLO 218. Las políticas de clase de servicio de nivel
cruzado pueden ser generadas automáticamente (es decir, sistema
definido) o definidas por un usuario del sistema.
Además, un supervisor de un nivel local (p. ej.,
un administrador de base de datos) tiene el control administrativo
del nivel y puede decidir anular una política de servicio en ese
nivel si se cree necesario. El supervisor de nivel puede alterar la
clase de servicio asignada a una petición por el agente de contexto
de este nivel. El supervisor del nivel tiene una vista global
sustancialmente de todo lo que se encuentra en el nivel. Se observa
que también puede haber un supervisor global del sistema, que es
normalmente una persona que lleva a cabo la aplicación de usuario y
le interesa la imagen global.
Se observa que después de la clasificación
inicial y la atribución de política de una petición de usuario, la
clase de petición es mantenida para posteriores peticiones de la
misma transacción, puesto que los agentes de contexto transfieren
esta información de nivel a nivel (es decir, almacenada en la tabla
de contexto de cada nivel). De esta manera, en cada nivel el agente
de contexto identifica a qué clase de petición pertenece la
petición, cuál es el servicio específico de la clase de nivel de la
petición, y otras Informaciones asociadas a la petición.
El agente administrador 294 es una interfaz para
CNMS 216. El agente administrador 294 informa de los datos
históricos a CNMS 216. Por ejemplo, cuando una DTE indica que una
UOW ha terminado, no es necesario que la información asociada con
la UOW permanezca en la tabla de contexto. La información es
entonces enviada desde la tabla de contexto al agente administrador
294, que archiva la información y periódicamente manda la
información a CNMS 216. El agente administrador 294 también recibe
de CNMS 216 nuevas políticas de clase de servicio activo, nuevas
configuraciones del agente de contexto, y similares. El agente
administrador 294 puede también ser interrogado en tiempo real para
obtener una indicación de estado. La indicación de estado puede
incluir qué información está habitualmente en la tabla de contexto,
qué UOWs se llevan a cabo ahora, y similares.
Ahora se hace referencia a la figura 9, que es
un diagrama de bloques que demuestran los estadios implicados al
capturar un contexto de la petición y su procesamiento posterior,
operativo conforme a otra forma de realización de la técnica
descrita. En el procedimiento 310, un contexto de la petición es
capturado. Una petición del usuario nuevo es identificado y el
contexto de la petición de éste es interceptado por el gancho
blando de DTE. Con referencia a la figura 5, DTE 222 captura un
contexto de la petición de una petición de usuario que ha entrado
en el primer nivel 202.
En el procedimiento 312, el contexto de la
petición capturado es normalizado. La DTE convierte el contexto de
la petición en un formato estándar, idéntico para todos los tipos
de nivel (p. ej., bases de datos, servidores de aplicación, y
similares). La DTE asigna a la petición del usuario una única
identificación (es decir, identidad de transacción) que identificará
la petición de usuario y sus peticiones posteriores en la
transacción iniciada por la petición de usuario. La DTE además
obtiene la identidad de petición de la petición de usuario desde el
nivel. Con referencia a la figura 5, DTE 222 convierte el contexto
de la petición capturado en un formato estándar, asigna una
identidad de transacción a la petición de usuario, y obtiene la
identidad de petición de la petición de usuario.
En el procedimiento 314, la DTE manda el
contexto de la petición, la identidad de transacción, y la
identidad de petición al agente de contexto asociado a ese nivel.
La DTE notifica al agente de contexto que un contexto de la
petición nueva ha sido enviado. Con referencia a la figura 5, la DTE
222 manda el contexto de la petición, la identidad de transacción,
y la identidad de petición de la petición de usuario al agente de
contexto 232.
En el procedimiento 316, la petición de usuario
es clasificada. El agente de contexto se aplica a un esquema de
clasificación específica de nivel que determina la clase de
petición basada en el contexto de la petición. Con referencia a la
figura 5, el agente de contexto 232 clasifica la petición de
usuario en una clase de petición determinada.
En el procedimiento 318, la política de servicio
activo apropiada es recuperada de las políticas de clase de
servicio almacenadas en el caché de política local. El agente de
contexto recupera la política de servicio activo usando la clase de
petición, y posiblemente otros campos de contexto de la petición.
Con referencia a la figura 5, el agente de contexto 232 recupera la
política de servicio activo apropiada para la petición de usuario,
conforme a la clase de petición de la petición de usuario, y
específica para el primer nivel 202.
En el procedimiento 320, la clase de servicio
para la petición de usuario es determinada según la política de
servicio recuperada, y asignada a la petición. El agente de
contexto puede entonces añadir la clase de servicio asignado al
contexto de la petición. Con referencia a la figura 5, el agente de
contexto 232 asigna a la petición de usuario la clase de servicio de
la política de servicio apropiado recuperada, y añade la clase de
servicio al contexto de la petición.
En el procedimiento 322, la prioridad de nivel
es determinada para la UOW invocada por la petición del usuario.
Una prioridad local para el enclave de procesamiento que ejecuta la
UOW es extraída de la clase de servicio. Con referencia a la figura
5, el agente de contexto 232 extrae la prioridad local para el
enclave de procesamiento asignado a la petición del usuario para
ejecutar la UOW, de la clase de servicio asignado.
En el procedimiento 324, el agente de contexto
le envía la clase de petición e información de prioridad al DTE.
Esta información es necesaria para ciertas tareas, tales como
alterar la prioridad de un enclave de procesamiento, que se
desarrolla dentro de la DTE. Con referencia a la figura 5, el agente
de contexto 232 manda la clase de petición asignada y la prioridad
local para el enclave de procesamiento ejecutando la UOW para DTE
222.
En el procedimiento 326, el contexto de la
petición y la información relacionada (tales como clase de petición
e identidad de transacción) es reenviado por otros agentes de
contexto y por componentes internos del agente de contexto, sobre
todo la tabla de contexto que almacena la petición, lo cual indexa
el contexto de la petición y la información relacionada para una
referencia adicional. Con referencia a la figura 5, el agente de
contexto 232 adelanta el contexto de la petición, con información
adicional acerca de la petición (p. ej., la identidad de petición,
identidad de transacción, y clase de petición) a otros agentes de
contexto acoplados a éste (p. ej., agente de contexto 234), al
igual que para componentes internos del agente de contexto 232,
tales como gestor de la tabla de contexto 288, gestor de la
clasificación 290, y gestor de políticas 292 (con referencia a la
figura 8).
Ahora se hace referencia a la figura 10, que es
un diagrama de bloques que demuestra los estadios implicados al
capturar una asignación UOW en un nivel local del sistema de la
figura 5 y asocia una petición con la UOW, operativa conforme a
otra forma de realización de la técnica descrita. Cabe destacar que
una UOW es la lógica de aplicación que se ejecuta en el enclave de
procesamiento asociado a la petición en ese nivel. En el
procedimiento 340, una asignación UOW es capturada por la DTE. La
captura puede ocurrir cuando la UOW es inicialmente invocado por el
nivel, puesto que una petición de entrada entra en la cola de un
puerto de entrada de la petición del nivel, mientras la petición de
entrada permanece en la cola, o una vez que los recursos están
disponibles en el nivel y la petición sale de la cola. Con
referencia a la figura 5, la DTE 228 captura una asignación UOW
mediante el cuarto nivel 208.
En el procedimiento 342, la DTE determina la
identidad de la petición de la petición de entrada asociada a la
asignación de UOW. La identidad de la petición se determina en base
a la información enviada desde el nivel precedente, incluyendo el
contexto de la petición junto con una clave de asociación que
enlaza la UOW a la petición, tal como identificadores de zócalo, y
similares. Con referencia a la figura 5, la DTE 228 determina la
identidad de petición de la petición de introducción asociada a la
asignación de UOW capturada, basada en la información recibida de
un nivel acoplado precedente (p. ej., tercer nivel 206).
Pueden haber situaciones en las que el contexto
de la petición y la clave de asociación no alcancen la DTE en el
momento en que el procedimiento 342 se desarrolla. Como
consecuencia el sistema podría ser configurado para proceder
esperando esta información o asignando una identidad de petición
temporal y asociando la petición de introducción con una asignación
de UOW en una fase posterior.
En el procedimiento 344, la DTE envía
información acerca de la identificación de UOW así como la
identidad de petición determinada de la petición de entrada, al
agente de contexto. Una identificación de UOW es un conjunto de
características que únicamente identifican el enclave de
procesamiento que ejecuta la UOW. La identificación de UOW es usada
por el agente de contexto para seguirle la pista a la UOW. Con
referencia a la figura 5, la DTE envía información de asociación
para la UOW (p. ej., una clave de asociación que enlaza la UOW con
la petición, tal como los identificadores de zócalo), al igual que
la identidad de petición determinada de la petición entrante, para
el agente de contexto 236.
En el procedimiento 346, el agente de contexto
recupera la entrada en la tabla de contexto asociada a la
identificación de UOW o la identidad de petición. Con referencia a
la figura 5, el agente de contexto 232 localiza la entrada en la
tabla de contexto mediante un gestor de la tabla de contexto 288
(figura 8) asociado a la asignación de UOW o la identidad de
petición determinada.
Si se encuentra la entrada, entonces en el
procedimiento 348, esa entrada es actualizada con la identificación
de UOW e información relacionada. Con referencia a la figura 5, el
agente de contexto 232 actualiza la entrada pertinente en la tabla
de contexto mediante el gestor de la tabla de contexto 288 (figura
8) con la identificación de la asignación UOW capturada e
información relacionada.
Si la entrada no es encontrada, entonces en el
procedimiento 350, se añade una entrada nueva en la tabla de
contexto. La entrada nueva incluye la identidad de petición de la
petición de entrada y la identificación de la asignación de UOW
asociada. La clase de petición por defecto y la clase de servicio
están asociadas a la entrada recién añadida. Con referencia a la
figura 5, el agente de contexto 232 añade una entrada nueva a la
tabla de contexto mediante un gestor de la tabla de contexto 288
(figura 8) que incluye la identidad de petición de la petición de
entrada y la identificación de la asignación de UOW, y asocia una
clase de petición por defecto y una clase de servicio a la entrada
recién añadida.
En el procedimiento 352, el agente de contexto
determina la prioridad local para el enclave de procesamiento que
ejecuta la UOW, y reúne una estadística de petición si es
necesario. Con referencia a la figura 5, el agente de contexto 232
extrae la prioridad local para el enclave de procesamiento que
ejecuta la UOW invocada por la petición de la clase de servicio
asignada a la petición.
En el procedimiento 354, el agente de contexto
impone la clase de servicio asignada a la petición de entrada. Con
referencia a la figura 5, el agente de contexto 232 influye en el
procesamiento de la petición entrante en el primer nivel 202, por
ejemplo, alterando el nivel de prioridad del enclave de
procesamiento que ejecuta la UOW invocada por la petición, alterando
el tipo de ejecución del enclave de procesamiento, o asignando o
denegando recursos computacionales para procesar la petición.
Se observa que el agente de contexto puede
modificar posteriormente la clase de servicio, clase de petición, u
otros parámetros del contexto de la petición, si el agente de
contexto recibe información de asociación nueva acerca de la
petición. Esto ocurre en una situación donde el contexto de la
petición llega al agente de contexto asociado al nivel desde un
agente de contexto remoto (p. ej., con referencia a la figura 5, el
agente de contexto 234 recibe información sobre una petición de un
agente de contexto 232). Debido a las salidas temporizadas, un
agente de contexto puede capturar la asignación de UOW asociada a
una petición, y luego recibir el contexto de la petición de la
petición en una fase posterior.
Ahora se hace referencia a la figura 11, que es
un diagrama de bloques que demuestra los estadios implicados al
capturar una petición saliente enviada a un nivel remoto del
sistema de la figura 5, y asociando la petición enviada con el
contexto de la petición, operativo conforme a otra forma de
realización de la técnica descrita. En el procedimiento 370, una
petición enviada a un segundo nivel de un primer nivel es capturada
por la DTE del primer nivel. Con referencia a la figura 5, una
petición es enviada del primer nivel 202 al segundo nivel 204. La
DTE 222 captura la petición saliente en el primer nivel 202.
En el procedimiento 372, la DTE determina la
identidad de petición de la petición saliente. Con referencia a la
figura 5, la DTE 222 determina la identidad de petición de una
petición saliente enviada desde el primer nivel 202 al segundo
nivel 204.
En el procedimiento 374, la DTE envía
información acerca de la identificación de UOW, al igual que la
identidad de petición determinada de la petición saliente, al
agente de contexto local. Con referencia a la figura 5, la DTE 228
envía información acerca de la identificación de UOW, al igual que
la identidad de petición determinada de la petición saliente, al
agente de contexto 236.
En el procedimiento 376, el agente de contexto
local recupera la entrada en la tabla de contexto asociada a la
identidad de petición de la petición saliente o la identificación
de UOW. Con referencia a la figura 5, el agente de contexto 232
localiza la entrada en la tabla de contexto mediante el gestor de la
tabla de contexto 288 (figura 8) asociado con la identidad de la
petición saliente determinada o mediante la identificación de
UOW.
Si la entrada es encontrada, entonces en el
procedimiento 378, esa entrada es actualizada con la identificación
de UOW y la información relacionada. Por ejemplo, la entrada puede
ser actualizada con información en el contexto de la petición de la
petición saliente que habitualmente no está en la entrada. Con
referencia a la figura 5, el agente de contexto 232 actualiza la
entrada pertinente en la tabla de contexto mediante el gestor de la
tabla de contexto 288 (figura 8) con la identificación de UOW y con
información en el contexto de la petición de la petición saliente
que no fue previamente almacenada en la entrada pertinente.
Si la entrada no es encontrada, entonces en el
procedimiento 380, se añade una entrada nueva a la tabla de
contexto. La entrada nueva incluye la identidad de petición de la
petición saliente y la identificación de la asignación de UOW
asociada. La clase de petición, la clase de servicio, y otras
características de la petición almacenada en el contexto de la
petición son agregadas a la entrada nueva. Si determinadas
características no están presentes en el contexto de la petición,
entonces las características por defecto (p. ej., la clase de
petición y la clase de servicio) son asociadas a la entrada recién
añadida. Con referencia a la figura 5, el agente de contexto 232
añade una entrada nueva a la tabla de contexto mediante el gestor
de tabla de contexto 288 (figura 8) que incluye la identidad de
petición de la petición saliente y características de la petición
almacenada en el contexto de la petición de la petición
saliente.
En el procedimiento 382, el agente de contexto
local manda un mensaje al agente de contexto remoto (es decir, el
agente de contexto al que la petición saliente fue enviada). El
mensaje incluye la identidad de petición de la petición saliente,
al igual que la identidad de transacción y la clase de petición. Con
referencia a la figura 5, el agente de contexto 232 asociado al
primer nivel 202 envía un mensaje al agente de contexto 235
asociado al segundo nivel 204. El mensaje incluye la identidad de
petición de la petición saliente, al igual que la identidad de
transacción y la clase de petición de la misma.
En otra forma de realización de la técnica
descrita, puede haber un único agente de contexto asociado a
huéspedes de nivel múltiple. Se observa que la manera en la que un
agente de contexto se comunica con un DTE, hace posible que el
agente de contexto resida en cualquier sitio en la red. También se
observa que el agente de contexto sigue la pista de la petición y
UOWs uniendo un identificador de nivel al mismo, de ese modo
manteniendo la contabilidad para cada nivel. Tal forma de
realización puede ser usada, por ejemplo, debido a las
preocupaciones de seguridad o preocupaciones de extra superioridad
de un usuario que resulta de la adición del agente de contexto al
huésped del nivel.
Los expertos en la técnica apreciarán que la
técnica descrita no se limita a lo que se ha mostrado
particularmente y descrito anteriormente. Más bien el objetivo de
la técnica descrita se define sólo por las reivindicaciones a
continuación.
\vskip1.000000\baselineskip
Esta lista de documentos citados por el
solicitante ha sido recopilada exclusivamente para la información
del lector y no forma parte del documento de patente europea. La
misma ha sido confeccionada con la mayor diligencia; la OEP sin
embargo no asume responsabilidad por eventuales errores u
omisiones.
\bullet US 5958010 A [0010]
\bullet US 6108700 A [0012]
\bullet US 20020129137 A1 [0016]
\bullet US 20040006602 A [0019]
Claims (61)
1. Aparato para controlar un nivel seleccionado
en un entorno informático multinivel, comprendiendo dicho
aparato:
un agente de contexto asociado a dicho nivel
seleccionado de dicho entorno informático, dicho agente de contexto
siendo acoplado a otros agentes de contexto, cada uno de dichos
agentes de contexto asociados a un nivel respectivo de dicho
entorno informático; y
una extensión de nivel dinámico, dicha extensión
de nivel dinámico acoplada a dicho agente de contexto y con al
menos un puerto de entrada de petición de dicho nivel seleccionado,
al menos para controlar el tráfico de peticiones que pasa a través
de dicho nivel seleccionado, dicho tráfico de petición controlado
incluyendo al menos una petición de entrada recibida en dicho
puerto de entrada de petición desde un nivel contiguo de dicho
entorno informático, dicha extensión de nivel dinámico
suministrando información de petición a dicho agente de contexto,
dicha información de petición al menos identificando cada petición
incluida en dicho tráfico de petición controlado,
donde dicho agente de contexto recibe
información de contexto, de otro agente de contexto asociado a
dicho nivel contiguo, dicha información de contexto recibida acerca
del contexto de la petición de dicha al menos una petición
entrante, dicha información de contexto recibida incluyendo al
menos un único identificador de transacción; y
donde para cada una de dicha al menos una
petición entrante, dicho agente de contexto asocia dicha
información de contexto con dicha información de petición,
respectivamente.
2. Aparato según la reivindicación 1, donde
dicha extensión de nivel dinámico es posteriormente acoplada con al
menos un puerto de salida de petición de dicho nivel seleccionado,
y donde dicho tráfico de petición controlado incluye además al
menos una petición saliente recibida en dicho al menos un puerto de
salida de petición, dicho nivel seleccionado suministrando dicha al
menos una petición saliente a otro nivel contiguo de dicho entorno
informático,
donde dicho agente de contexto asocia entre
dicha al menos una petición saliente y dicha al menos una petición
entrante; y envía información de contexto acerca del contexto de la
petición de dicha al menos una petición saliente a un agente de
contexto adicional asociado a dicho otro nivel contiguo.
3. Aparato según la reivindicación 1, donde
dicha extensión de nivel dinámico es posteriormente acoplada a un
puerto de control de nivel de dicho nivel seleccionado.
4. Aparato según la reivindicación 3, donde
dicho agente de contexto altera además el nivel de prioridad de un
enclave de procesamiento que ejecuta dicha al menos una petición
entrante.
5. Aparato según la reivindicación 3, donde
dicho agente de contexto altera además el tipo de ejecución de un
enclave de procesamiento que ejecuta dicha al menos una petición
entrante.
6. Aparato según cualquiera de las
reivindicaciones 1 ó 3, donde dicho agente de contexto ajusta
además el orden de al menos dicha petición de entrada en una cola
en dicho puerto de entrada de petición.
7. Aparato según cualquiera de las
reivindicaciones 1 ó 3, donde dicho agente de contexto instruye
además dicho nivel seleccionado para asignar recursos
computacionales para procesar dicha al menos una petición
entrante.
8. Aparato según cualquiera de las
reivindicaciones 1 ó 3, donde dicho agente de contexto instruye
además dicho nivel seleccionado para denegar recursos
computacionales para procesar dicha al menos una petición
entrante.
9. Aparato según la reivindicación 1, donde
dicha información de contexto incluye además al menos un
identificador de petición, una clase de petición, y datos
relacionados con el contexto.
10. Aparato según la reivindicación 9, donde
dichos datos relacionados con el contexto incluyen todo el contexto
de la petición de dicha al menos una petición entrante.
11. Aparato según la reivindicación 9, donde
dichos datos relacionados con el contexto incluyen una parte de
dicho contexto de dicha al menos una petición entrante.
12. Aparato según la reivindicación 9, donde
dichos datos relacionados con el contexto incluyen una indicación
para dicho contexto de la petición de dicha al menos una petición
entrante.
13. Aparato según la reivindicación 2, donde
dicho agente de contexto comprende:
una interfaz de un agente de comunicación,
transmisión de mensajes de entre dicha extensión de nivel dinámico
y dicho agente de contexto;
un módulo de mensajería de agente, que notifica
a dicho agente de contexto adicional que dicha al menos una
petición saliente ha sido enviada a dicho otro nivel contiguo,
dicho módulo de mensajería de agente además se comunica con dicha
extensión de nivel dinámico usando mensajes; y
un gestor de tabla de contexto, manteniendo una
tabla de referencia que asocia al menos una unidad de trabajo
ejecutada en dicho nivel seleccionado con dicho contexto de la
petición de al menos dicha petición entrante para la cual dicha
unidad de trabajo ha sido asignada, dicha tabla de referencia
siendo una tabla de contexto, dicha tabla de contexto además
almacena información asociada con dicha al menos una petición
entrante,
dicho gestor de la tabla de contexto además
identifica dicha al menos una petición entrante basada en
información almacenada en dicha tabla de contexto.
14. Aparato según la reivindicación 13, donde
dicho agente de contexto además comprende:
un gestor de clasificación, que realiza la
clasificación de dicha al menos una petición entrante basada en
dicha información de contexto recibida, dicho gestor de
clasificación además identifica dicha al menos una petición
entrante como parte de una transacción.
15. Aparato según la reivindicación 13, donde
dicho agente de contexto además comprende:
un gestor de políticas, asignando una política
de servicio para dicha al menos una petición entrante según una
política de servicio activo y dicha clasificación de dicha al menos
una petición entrante.
16. Aparato según la reivindicación 13, donde
dicho agente de contexto además comprende:
un manipulador de eventos de registro de agente,
que realiza los registros de eventos, trazado interno y mensajería,
y detección de irregularidades operacionales dentro de dicho agente
de contexto.
17. Aparato según la reivindicación 13, donde
dicho agente de contexto además comprende:
un administrador de agente, archivo de
información, envío de datos históricos a un servidor de gestión de
red de contexto (CNMS) y recepción de políticas de clase de
servicio activo y datos adicionales de dicho CNMS.
18. Aparato según la reivindicación 3, donde
dicha extensión de nivel dinámico comprende:
un demonio de extensión de nivel dinámico, que
realiza un procesamiento asincrónico asociado a eventos
proporcionados donde dicha al menos una petición entrante no es
detenida;
un módulo de mensajería de la extensión de nivel
dinámico, que se comunica con dicho agente de contexto usando
mensajes; y
una interfaz de comunicación de extensión de
nivel dinámico, transfiriendo mensajes entre dicha extensión de
nivel dinámico y dicho agente de contexto.
19. Aparato según la reivindicación 18, donde
dicha extensión de nivel dinámico además comprende:
un administrador de extensión de nivel dinámico,
que permite a dicha extensión de nivel dinámico recibir mensajes
acerca de cómo se debería procesar dicha al menos una petición
entrante.
20. Aparato según la reivindicación 18, donde
dicha extensión de nivel dinámico además comprende:
un manipulador de eventos de registro de
extensión de nivel dinámico, información de trazado de registro
referente a la operación de dicha extensión de nivel dinámico y
registro de alertas aumentadas por dicha extensión de nivel
dinámico.
21. Aparato según la reivindicación 1, donde
dicho agente de contexto reside en la misma máquina huésped que
dicho nivel seleccionado.
22. Aparato según la reivindicación 3, donde
dicha extensión de nivel dinámico recoge rendimiento,
disponibilidad, y error métrico de dicho nivel seleccionado.
23. Aparato para controlar un nivel
seleccionado en un entorno informático multinivel, dicho aparato
comprendiendo:
un agente de contexto asociado a dicho nivel
seleccionado, dicho agente de contexto siendo acoplado con al menos
otro agente de contexto, cada uno de los otros agentes de contexto
siendo asociados a un nivel respectivo de dicho entorno
informático; y
una extensión de nivel dinámico, dicha extensión
de nivel dinámico acoplada con dicho agente de contexto y con al
menos un puerto de entrada de petición y un puerto de salida de
petición de dicho nivel seleccionado, dicha extensión de nivel
dinámico al menos controlando el tráfico de petición que pasa a
través de dicho nivel seleccionado, dicho tráfico de petición
controlado incluyendo al menos una petición entrante recibida en
dicho puerto de entrada de petición y al menos una petición
saliente respectiva en dicho puerto de salida de petición, dicho
nivel seleccionado suministrando dicha al menos una petición
saliente respectiva a un nivel contiguo, dicha extensión de nivel
dinámico capturando un contexto de la petición de dicha al menos
una petición entrante, dicha extensión de nivel dinámico asignando
un único identificador de transacción a dicho contexto de la
petición capturado, dicha extensión de nivel dinámico suministrando
información de petición e información de contexto a dicho agente de
contexto, dicha información de petición al menos identificando cada
petición incluida en dicho tráfico de petición controlado, dicha
información de contexto acerca de dicho contexto de petición
capturado de dicha al menos una petición entrante, dicha
información de contexto incluyendo al menos dicho único
identificador de transacción,
donde dicho agente de contexto asocia dicha al
menos una petición entrante con al menos una petición saliente,
y
donde dicho agente de contexto proporciona
información de contexto acerca del contexto de la petición de dicha
al menos una petición saliente respectiva a otro agente de contexto
asociado a dicho nivel contiguo.
24. Aparato según la reivindicación 23, donde
dicha al menos una petición entrante es una petición del usuario
recibida de una aplicación de usuario.
25. Aparato según la reivindicación 23, donde
dicha información de contexto incluye además al menos un
identificador de petición, una clase de petición, y datos
relacionados con el contexto.
26. Aparato según la reivindicación 23, donde
dicho agente de contexto clasifica dicha al menos una petición
entrante en una clase de petición conforme a dicha información de
contexto.
27. Aparato según la reivindicación 26, donde
dicho agente de contexto contiene un grupo de políticas de clase de
servicio específicas del nivel, cada una de dichas políticas de
clase de servicio específicas del nivel mapeando una clase de
servicio a una clase de petición para dicho nivel seleccionado,
donde una política de servicio activo contiene
la clase de petición para mapeo de clase de servicio que está
habitualmente vigente; y
donde dicho agente de contexto asigna una clase
de servicio a dicha al menos una petición entrante basada en dicha
clase de petición y la política de servicio activo apropiada en
dicho grupo de políticas de clase de servicio de nivel
específico.
28. Aparato según la reivindicación 26, donde
dicho agente de contexto contiene un grupo de políticas de clase de
servicio específicas del nivel, cada una de dichas políticas de
clase de servicio específicas del nivel trazando una clase de
servicio para una clase de petición para dicho nivel
seleccionado,
donde una política de servicio activo contiene
la clase de petición para la clase de servicio trazado que está
habitualmente vigente; y
donde dicho agente de contexto asigna una clase
de servicio para dicha al menos una petición entrante diferente de
la clase de servicio designada por dicha clase de petición y la
política de servicio activo apropiada en dicho grupo de políticas
de clase de servicio específicas del nivel.
29. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dicha clase de servicio incluye la
prioridad que debe ser asignada a dicha al menos una petición
entrante.
30. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dicha clase de servicio incluye el
porcentaje de unidad de procesamiento central que debe ser asignado
a dicha al menos una petición entrante.
31. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dicha clase de servicio incluye la
memoria que debe ser asignada a dicha al menos una petición
entrante.
32. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dicha clase de servicio incluye la
prioridad para asignar y acceder a los dispositivos de entrada y de
salida para dicha al menos una petición entrante.
33. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dichas políticas de clase de
servicio son actualizadas periódicamente.
34. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dichas políticas de clase de
servicio son definidas por un usuario de dicho entorno informático
multinivel.
\newpage
\global\parskip0.950000\baselineskip
35. Aparato según cualquiera de las
reivindicaciones 27 ó 28, donde dicho agente de contexto añade
dicha clase de servicio asignada a dicho contexto de petición.
36. Aparato según la reivindicación 23, donde
dicha extensión de nivel dinámico es además acoplada a un puerto de
control de nivel de dicho nivel seleccionado.
37. Aparato según la reivindicación 36, donde
dicho agente de contexto altera además el nivel de prioridad de un
enclave de procesamiento que ejecuta dicha al menos una petición
entrante.
38. Aparato según la reivindicación 36, donde
dicho agente de contexto altera además el tipo de ejecución de un
enclave de procesamiento que ejecuta dicha al menos una petición
entrante.
39. Aparato según cualquiera de las
reivindicaciones 23 ó 36, donde dicho agente de contexto ajusta
además el orden de dicha al menos una petición entrante en una cola
en dicho puerto de entrada de petición.
40. Aparato según cualquiera de las
reivindicaciones 23 ó 36, donde dicho agente de contexto instruye
además dicho nivel seleccionado para asignar recursos
computacionales para procesar dicha al menos una petición
entrante.
41. Aparato según cualquiera de las
reivindicaciones 23 ó 36, donde dicho agente de contexto instruye
además dicho nivel seleccionado para denegar recursos
computacionales para procesar dicha al menos una petición
entrante.
42. Aparato según la reivindicación 23, donde
dicha extensión de nivel dinámico asigna un identificador de
transacción para cada petición incluida en dicho tráfico de
petición controlado.
43. Aparato según la reivindicación 23, donde
dicha extensión de nivel dinámico obtiene un identificador de
petición de cada petición incluida en dicho tráfico de petición
controlado.
44. Aparato según la reivindicación 23, donde
dicho agente de contexto comprende:
una interfaz de agente de comunicación,
transmisión de mensajes entre dicha extensión de nivel dinámico y
dicho agente de contexto;
un módulo de mensajería de agente, que notifica
a dicho otro agente de contexto que dicha al menos una petición
saliente ha sido enviada a dicho otro nivel contiguo, dicho módulo
de mensajería de agente además se comunica con dicha extensión de
nivel dinámico usando mensajes;
un gestor de tabla de contexto, manteniendo una
tabla de referencia que asocia al menos una unidad de trabajo
ejecutada en dicho nivel seleccionado con dicho contexto de
petición de dicha al menos una petición entrante a la que dicha
unidad de trabajo ha sido asignada, dicha tabla de referencia
siendo una tabla de contexto, dicha tabla de contexto almacenando
información asociada a dicha al menos una petición entrante, dicho
gestor de tabla de contexto además identificando al menos una
petición entrante basada en información almacenada en dicha tabla
de contexto;
un gestor de clasificación, que realiza la
clasificación de dicha al menos una petición entrante basada en
dicha información de contexto recibida, dicho gestor de
clasificación además identifica a dicha al menos una petición
entrante como parte de una transacción; y
un gestor de políticas, que asigna una política
de servicio a dicha al menos una petición entrante según una
política de servicio activo y dicha clasificación de dicha al menos
una petición entrante.
45. Aparato según la reivindicación 44, donde
dicho agente de contexto además comprende:
un manipulador de eventos de registro de agente,
que realiza registros de eventos, trazado interno y mensajería, y
detección de irregularidades operacionales dentro de dicho agente
de contexto.
46. Aparato según la reivindicación 44, donde
dicho agente de contexto además comprende:
un administrador de agente, archivo de
información, envío de datos históricos a un servidor de gestión de
red de contexto (CMNS) y recepción de políticas de clase de
servicio activo y datos adicionales de dicho CNMS.
47. Aparato según la reivindicación 36, donde
dicha extensión de nivel dinámico comprende:
un demonio de extensión de nivel dinámico, que
realiza un procesamiento asincrónico asociado a eventos
proporcionados donde al menos una petición entrante no es
detenida;
un módulo de mensajería de extensión de nivel
dinámico, que se comunica con dicho agente de contexto usando
mensajes; y
una interfaz de comunicación de extensión de
nivel dinámico, que transfiere mensajes entre dicha extensión de
nivel dinámico y dicho agente de contexto.
\global\parskip1.000000\baselineskip
48. Aparato según la reivindicación 47, donde
dicha extensión de nivel dinámico además comprende:
un administrador de extensión de nivel dinámico,
que le permite a dicha extensión de nivel dinámico recibir mensajes
sobre cómo al menos una petición entrante debería ser
procesada.
49. Aparato según la reivindicación 47, donde
dicha extensión de nivel dinámico además comprende:
un manipulador de registro de eventos de nivel
dinámico, que traza el registro de información en lo que se refiere
a la operación de dicha extensión de nivel dinámico y registro de
alertas aumentado por dicha extensión de nivel dinámico.
50. Aparato según la reivindicación 23, donde
dicho agente de contexto reside en la misma máquina huésped que
dicho nivel seleccionado.
51. Aparato según la reivindicación 36, donde
dicha extensión de nivel dinámico recoge rendimiento,
disponibilidad, y error métrico de dicho nivel seleccionado.
52. Entorno informático multinivel incluyendo
una pluralidad de niveles, un sistema para la gestión de
rendimiento de aplicación, asociada a al menos los niveles
seleccionados vigilados de dicha pluralidad de niveles,
comprendiendo el sistema:
para cada uno de dichos al menos dos niveles
vigilados, una extensión de nivel dinámico respectiva que es
acoplada con al menos un puerto de entrada de petición de dicho
nivel controlado, dicha extensión de nivel dinámico al menos
controlando el tráfico de petición que pasa a través de dicho nivel
respectivo controlado, dicho tráfico de petición controlado
incluyendo al menos una petición entrante recibida en dicho puerto
de entrada de petición; y
para cada uno de dichos al menos dos de los
niveles controlados, un agente de contexto respectivo, acoplado con
dicha extensión de nivel dinámico respectiva, dicho agente de
contexto siendo acoplado con otros dichos agentes de contexto
asociados al nivel que son directamente acoplados con dicho nivel
respectivo, dicha información de petición de la extensión de nivel
dinámico, dicha información de petición al menos identificando cada
petición incluida en dicho tráfico de petición controlado, dicho
agente de contexto respectivo recibe además información de contexto
acerca del contexto de la petición de al menos una petición
entrante de otro agente de contexto asociado a dicho nivel
contiguo, dicha información de contexto recibida incluyendo al menos
un único identificador de transacción, para cada uno al menos una
petición entrante, dicho agente de contexto asocia dicha
información de contexto respectiva con dicha información de
petición, respectivamente.
53. Entorno informático multinivel incluyendo
una pluralidad de niveles, un sistema para la gestión de
rendimiento de aplicación, asociada con al menos niveles vigilados
seleccionados de dicha pluralidad de niveles, el sistema
comprendiendo:
para cada uno de al menos dos de dichos niveles
vigilados, una extensión de nivel dinámico respectiva que es
acoplada con al menos un puerto de entrada de petición y un puerto
de salida de petición de dicho nivel controlado, dicha extensión de
nivel dinámico al menos controlando el tráfico de petición que pasa
a través de dicho nivel respectivo vigilado, dicho tráfico de
petición controlado incluyendo al menos una petición de entrada
recibida en dicho puerto de entrada de petición y al menos una
petición saliente respectiva en dicho puerto de salida de petición,
dicho nivel seleccionado suministrando al menos una petición
saliente respectiva a un nivel contiguo respectivo vigilado, dicha
extensión de nivel dinámico capturando un contexto de petición de
al menos una petición entrante, dicha extensión de nivel dinámico
asignando un único identificador de transacción para dicho contexto
de la petición capturado; y
para cada una de al menos dos de dichos niveles
vigilados, un agente de contexto respectivo, acoplado con dicha
extensión de nivel dinámico respectiva, dicho agente de contexto
siendo acoplado con otros de dichos agentes de contexto asociados a
niveles que son directamente acoplados con dicho nivel respectivo,
dicho agente de contexto respectivo recibiendo información de
petición de dicha extensión de nivel dinámico, dicha información de
petición al menos identificando cada petición incluida en dicho
tráfico de petición controlado, dicho agente de contexto respectivo
recibe además información de contexto acerca del contexto de la
petición de dicha al menos una petición entrante de dicha extensión
de nivel dinámico respectiva, dicha información de contexto
recibida incluye al menos dicho identificador único de transacción,
para cada uno al menos una petición entrante, dicho agente de
contexto respectivo asocia al menos una petición entrante con dicha
al menos una petición saliente, y dicho agente de contexto
respectivo proporciona información de contexto acerca del contexto
de la petición de al menos una petición saliente respectiva a otro
agente de contexto asociado a dicho nivel contiguo, dicha
información de contexto proporcionada incluyendo al menos dicho
único identificador de transacción.
54. Sistema según cualquiera de las
reivindicaciones 52 ó 53, comprendiendo además:
un servidor de gestión de red de contexto (CMNS)
acoplado con dichos agentes de contexto, dicho CNMS al menos
recopilando y analizando los datos de rendimiento recibidos de
dichos agentes de contexto.
\newpage
55. Sistema según cualquiera de las
reivindicaciones 52 ó 53, donde al menos una petición entrante es
una petición de usuario recibida de una aplicación de usuario.
56. Sistema según la reivindicación 52, donde
cada una de dichas extensiones de nivel dinámico son posteriormente
acopladas con al menos un puerto de salida de petición de dicho
nivel respectivo, y donde dicho tráfico de petición controlado
incluye además al menos una petición saliente recibida en dicho
puerto de salida de petición, dicho nivel seleccionado suministra
al menos una petición saliente a otro nivel contiguo de dicho
entorno informático,
donde dicho agente de contexto asocia al menos
una petición que existe con al menos una petición entrante; y manda
información de contexto acerca del contexto de la petición de al
menos una petición saliente a un agente de contexto adicional
asociado a dicho otro nivel contiguo.
57. Sistema según la reivindicación 54, que
además incluye una base de datos de políticas acoplada con dicho
CNMS, dicha base de datos de políticas almacena al menos políticas
de clase de servicio.
58. Sistema según la reivindicación 57, que
además incluye una estación de trabajo de supervisor acoplado con
dicho CNMS y con dicha base de datos de políticas.
59. Sistema según la reivindicación 54, donde
dicho CNMS ejecuta además un perfilado de la actividad, creando un
perfil de actividad incluyendo transacción integrada, nivel, y
métrica de rendimiento de nivel de sistema y análisis
estadístico.
60. Método de gestión de rendimiento de
aplicación para controlar, en un entorno informático multinivel
incluyendo una pluralidad de niveles, un nivel seleccionado vigilado
de dicha pluralidad niveles, el método comprendiendo los
procedimientos de:
recibir información de contexto acerca del
contexto de la petición de al menos una petición entrante, dicha
información de contexto incluyendo al menos un identificador de
petición y un único identificador de transacción;
controlar el tráfico de petición que pasa a
través de dicho nivel controlado, dicho tráfico de petición
controlado incluyendo al menos dicha petición entrante;
identificar dicha al menos una petición entrante
conforme a dicho identificador de petición; y
asociar ésta con dicha al menos una petición
entrante con una transacción conforme a dicho identificador de
transacción.
61. Método de gestión de rendimiento de
aplicación para controlar, en un entorno informático multinivel
incluyendo una pluralidad de niveles, un nivel seleccionado
controlado de dicha pluralidad de niveles, el método comprendiendo
los procedimientos de:
control de tráfico de petición que pasa a través
de dicho nivel controlado, dicho tráfico de petición controlado
incluyendo al menos una petición entrante y al menos una petición
saliente respectiva, dicho nivel seleccionado suministrando al
menos una petición saliente respectiva a un nivel contiguo;
determinar información de contexto acerca del
contexto de la petición de al menos una petición entrante, dicha
información de contexto incluyendo al menos un único identificador
de transacción;
identificar cada petición incluida en dicho
tráfico de petición controlada;
asociar al menos una petición entrante con al
menos una petición saliente; y enviar información de contexto
acerca del contexto de la petición de dicha petición saliente a
otro agente de contexto asociado a dicho nivel contiguo, dicha
información de contexto incluyendo al menos dicho único
identificador de transacción.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US57680504P | 2004-06-04 | 2004-06-04 | |
| US576805P | 2004-06-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2326538T3 true ES2326538T3 (es) | 2009-10-14 |
Family
ID=34981259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05103034T Expired - Lifetime ES2326538T3 (es) | 2004-06-04 | 2005-04-15 | Sistema y metodo para la gestion de las caracteristicas de funcionamiento en un entorno informatico de varios niveles. |
Country Status (11)
| Country | Link |
|---|---|
| US (3) | US7805509B2 (es) |
| EP (1) | EP1603307B1 (es) |
| JP (1) | JP2008502044A (es) |
| CN (1) | CN100568193C (es) |
| AT (1) | ATE431668T1 (es) |
| AU (1) | AU2005249056B2 (es) |
| CA (1) | CA2503987C (es) |
| DE (1) | DE602005014415D1 (es) |
| ES (1) | ES2326538T3 (es) |
| IL (1) | IL167628A (es) |
| WO (1) | WO2005119611A2 (es) |
Families Citing this family (180)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| MXPA06004071A (es) * | 2003-10-29 | 2006-06-27 | Ibm | Sistema de informacion, metodo de control de carga, programa de control de carga y medio de grabacion. |
| US7546308B1 (en) * | 2004-09-17 | 2009-06-09 | Symantec Operating Corporation | Model and method of an n-tier quality-of-service (QoS) |
| US7769784B2 (en) * | 2005-01-27 | 2010-08-03 | International Business Machines Corporation | System for autonomically improving performance of Enterprise Java Beans through dynamic workload management |
| US7406689B2 (en) * | 2005-03-22 | 2008-07-29 | International Business Machines Corporation | Jobstream planner considering network contention & resource availability |
| US8280867B2 (en) * | 2005-10-20 | 2012-10-02 | Teradata Us, Inc. | Identifying database request sources |
| US8510429B1 (en) | 2006-01-19 | 2013-08-13 | Sprint Communications Company L.P. | Inventory modeling in a data storage infrastructure for a communication network |
| US20070189509A1 (en) * | 2006-02-13 | 2007-08-16 | Foody Daniel M | Data path identification and analysis for distributed applications |
| US8291066B2 (en) * | 2006-02-21 | 2012-10-16 | Trading Systems Associates (Ts-A) (Israel) Limited | Method and system for transaction monitoring in a communication network |
| US8037127B2 (en) * | 2006-02-21 | 2011-10-11 | Strangeloop Networks, Inc. | In-line network device for storing application-layer data, processing instructions, and/or rule sets |
| US8166114B2 (en) * | 2006-02-21 | 2012-04-24 | Strangeloop Networks, Inc. | Asynchronous context data messaging |
| US7937435B2 (en) * | 2006-02-21 | 2011-05-03 | Strangeloop Networks, Inc. | Identifying, storing, and retrieving context data for a network message |
| US8892737B2 (en) * | 2006-03-06 | 2014-11-18 | Vmware, Inc. | Network sniffer for performing service level management |
| US20070257354A1 (en) * | 2006-03-31 | 2007-11-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Code installation decisions for improving aggregate functionality |
| US8316439B2 (en) * | 2006-05-19 | 2012-11-20 | Iyuko Services L.L.C. | Anti-virus and firewall system |
| US20080005317A1 (en) * | 2006-06-30 | 2008-01-03 | International Business Machines Corporation | Method and apparatus for cross-tier management in multi-tier computing system architecture |
| US7921075B2 (en) * | 2006-09-29 | 2011-04-05 | International Business Machines Corporation | Generic sequencing service for business integration |
| US9274857B2 (en) | 2006-10-13 | 2016-03-01 | International Business Machines Corporation | Method and system for detecting work completion in loosely coupled components |
| US9514201B2 (en) | 2006-10-13 | 2016-12-06 | International Business Machines Corporation | Method and system for non-intrusive event sequencing |
| EP2092441A1 (en) * | 2006-10-31 | 2009-08-26 | Nielsen Media Research, Inc. et al | Methods and systems to retrieve information from data sources |
| WO2008101022A2 (en) * | 2007-02-13 | 2008-08-21 | The Nielsen Company (Us), Llc | Methods and apparatus to reach through to business logic services |
| US8731998B2 (en) * | 2007-03-01 | 2014-05-20 | Sap Ag | Three dimensional visual representation for identifying problems in monitored model oriented business processes |
| US9135075B2 (en) * | 2007-03-09 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Capacity planning for computing systems hosting multi-tier application based on think time value and resource cost of composite transaction using statistical regression analysis |
| US8166157B2 (en) * | 2007-03-23 | 2012-04-24 | Fmr Llc | Enterprise application performance monitors |
| US8504995B2 (en) * | 2007-05-09 | 2013-08-06 | Accenture Global Services Limited | Process flow analysis based on processing artifacts |
| US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
| US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
| US20090043881A1 (en) * | 2007-08-10 | 2009-02-12 | Strangeloop Networks, Inc. | Cache expiry in multiple-server environment |
| WO2009027961A2 (en) * | 2007-08-27 | 2009-03-05 | Correlsense Ltd. | Apparatus and method for tracking transaction related data |
| WO2009044589A1 (ja) * | 2007-10-03 | 2009-04-09 | Nec Corporation | 階層型負荷推定システム、方法およびプログラム |
| US8102876B2 (en) | 2007-12-20 | 2012-01-24 | British Telecommunications Plc | Client/server adaptation scheme for communications traffic |
| WO2009122390A2 (en) | 2008-03-30 | 2009-10-08 | Correlsense Ltd. | Apparatus and method for tracking requests in a multi threaded multi tier computerized environment |
| US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
| US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
| US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
| US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
| US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
| US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
| US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
| US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
| US20090254707A1 (en) * | 2008-04-08 | 2009-10-08 | Strangeloop Networks Inc. | Partial Content Caching |
| US9906620B2 (en) | 2008-05-05 | 2018-02-27 | Radware, Ltd. | Extensible, asynchronous, centralized analysis and optimization of server responses to client requests |
| JP5104529B2 (ja) * | 2008-05-08 | 2012-12-19 | 富士通株式会社 | 分析支援プログラム、分析支援方法および分析支援装置 |
| US7937619B2 (en) * | 2008-05-30 | 2011-05-03 | Red Hat, Inc. | Fine grained failure detection in distributed computing |
| US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
| US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
| US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
| US9418005B2 (en) | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
| US8793398B2 (en) * | 2008-08-29 | 2014-07-29 | Red Hat, Inc. | Facilitating client server interaction |
| US8793339B2 (en) * | 2008-08-29 | 2014-07-29 | Red Hat, Inc. | Facilitating client server interaction |
| US20100076812A1 (en) * | 2008-09-24 | 2010-03-25 | Bank Of America Corporation | Business performance measurements |
| US20100111105A1 (en) * | 2008-10-30 | 2010-05-06 | Ken Hamilton | Data center and data center design |
| US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
| US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
| US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
| US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
| US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
| US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
| US20100161344A1 (en) * | 2008-12-12 | 2010-06-24 | Dyson David S | Methods and apparatus to prepare report requests |
| US9391825B1 (en) * | 2009-03-24 | 2016-07-12 | Amazon Technologies, Inc. | System and method for tracking service results |
| US8893156B2 (en) * | 2009-03-24 | 2014-11-18 | Microsoft Corporation | Monitoring of distributed applications |
| US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
| US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
| US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
| US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
| US9549039B2 (en) | 2010-05-28 | 2017-01-17 | Radware Ltd. | Accelerating HTTP responses in a client/server environment |
| US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
| US8630229B2 (en) * | 2009-07-06 | 2014-01-14 | Intel Corporation | Base station and method for reducing asynchronous interference in a multi-tier OFDMA overlay network |
| US9210050B2 (en) * | 2009-07-09 | 2015-12-08 | Centurylink Intellectual Property Llc | System and method for a testing vector and associated performance map |
| US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
| US8938533B1 (en) | 2009-09-10 | 2015-01-20 | AppDynamics Inc. | Automatic capture of diagnostic data based on transaction behavior learning |
| US9167028B1 (en) | 2009-09-10 | 2015-10-20 | AppDynamics, Inc. | Monitoring distributed web application transactions |
| EP2486698B1 (en) | 2009-09-23 | 2013-06-12 | Correlix Ltd. | Method and system for reconstructing transactions in a communication network |
| US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
| US20110167033A1 (en) * | 2010-01-05 | 2011-07-07 | Strelitz David | Allocating resources in a data warehouse |
| US20110167034A1 (en) * | 2010-01-05 | 2011-07-07 | Hewlett-Packard Development Company, L.P. | System and method for metric based allocation of costs |
| US8260763B2 (en) * | 2010-01-15 | 2012-09-04 | Hewlett-Packard Devlopment Company, L.P. | Matching service entities with candidate resources |
| US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
| US20110231482A1 (en) * | 2010-03-22 | 2011-09-22 | Strangeloop Networks Inc. | Automated Optimization Based On Determination Of Website Usage Scenario |
| US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
| US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
| US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
| US20130024494A1 (en) * | 2011-06-13 | 2013-01-24 | Steven Guarrieri | Methods and systems for platform optimized design |
| US8904511B1 (en) * | 2010-08-23 | 2014-12-02 | Amazon Technologies, Inc. | Virtual firewalls for multi-tenant distributed services |
| US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
| US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
| US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
| US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
| US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
| US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
| US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
| US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
| US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
| US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
| US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
| US8510603B2 (en) * | 2010-11-24 | 2013-08-13 | Sap Ag | Systems and methods providing an exception buffer to facilitate processing of event handler errors |
| US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
| WO2012095839A2 (en) * | 2011-01-10 | 2012-07-19 | Optier Ltd. | Systems and methods for performing online analytical processing |
| US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
| US9542501B2 (en) | 2011-01-28 | 2017-01-10 | Radware Ltd. | System and method for presenting content in a client/server environment |
| US20120197787A1 (en) * | 2011-01-31 | 2012-08-02 | Bank Of America Corporation | Mobile wallet experience for resolving conflicts between different financial institutions and payment vehicles |
| JP5686001B2 (ja) | 2011-03-14 | 2015-03-18 | 富士通株式会社 | 情報処理装置、メッセージ切分け方法およびメッセージ切分けプログラム |
| US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
| US8473643B2 (en) * | 2011-05-05 | 2013-06-25 | Hitachi, Ltd. | Method and apparatus of tier storage management awareness networking |
| US10157236B2 (en) | 2011-05-23 | 2018-12-18 | Radware, Ltd. | Optimized rendering of dynamic content |
| US9785470B2 (en) * | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Memory management model and interface for unmodified applications |
| US8732302B2 (en) | 2011-07-15 | 2014-05-20 | Inetco Systems Limited | Method and system for monitoring performance of an application system |
| US11233709B2 (en) | 2011-07-15 | 2022-01-25 | Inetco Systems Limited | Method and system for monitoring performance of an application system |
| CN102916906B (zh) * | 2011-08-01 | 2016-06-29 | 华为技术有限公司 | 一种实现应用性能自适应的方法、装置及系统 |
| WO2013038320A1 (en) | 2011-09-16 | 2013-03-21 | Strangeloop Networks, Inc. | Mobile resource accelerator |
| US9378058B2 (en) * | 2011-10-17 | 2016-06-28 | Excalibur Ip, Llc | Method and system for dynamic control of a multi-tier processing system |
| US9491247B2 (en) | 2012-02-02 | 2016-11-08 | AppDynamics, Inc. | Automatic capture of detailed analysis information based on remote server analysis |
| US9311598B1 (en) | 2012-02-02 | 2016-04-12 | AppDynamics, Inc. | Automatic capture of detailed analysis information for web application outliers with very low overhead |
| US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
| US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
| US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
| US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
| US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
| KR101389214B1 (ko) * | 2012-09-04 | 2014-04-24 | 주식회사 엘지씨엔에스 | 원격 관리 시스템 및 방법 |
| US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
| US9037705B2 (en) | 2012-11-28 | 2015-05-19 | Ca, Inc. | Routing of performance data to dependent calculators |
| US9519803B2 (en) * | 2012-11-30 | 2016-12-13 | Intel Corporation | Secure environment for graphics processing units |
| US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
| US9338255B1 (en) | 2013-03-14 | 2016-05-10 | Dell Software Inc. | System and method for correlating end-user experience data and backend-performance data |
| US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
| US9432270B2 (en) | 2013-07-30 | 2016-08-30 | Draios Inc. | Performance and security management of applications deployed in hosted computing environments |
| US9246773B2 (en) | 2013-07-30 | 2016-01-26 | Draios Inc. | System, method, and graphical user interface for application topology mapping in hosted computing environments |
| US10984175B2 (en) | 2013-08-09 | 2021-04-20 | Yottaa Inc. | Systems and methods for dynamically modifying a requested web page from a server for presentation at a client |
| US9870349B2 (en) | 2013-09-20 | 2018-01-16 | Yottaa Inc. | Systems and methods for managing loading priority or sequencing of fragments of a web object |
| US20160105347A1 (en) | 2014-10-13 | 2016-04-14 | AppFirst, Inc. | Method of tracing a transaction in a network |
| WO2016089787A1 (en) * | 2014-12-01 | 2016-06-09 | Informatical Llc | Message broker system with parallel persistence |
| US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
| US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
| US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
| US10460254B2 (en) * | 2015-03-17 | 2019-10-29 | Vmware, Inc. | System and method for reducing state space in reinforced learning by using decision tree classification |
| US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
| US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
| US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
| US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
| US10163083B2 (en) | 2015-04-13 | 2018-12-25 | Bank Of America Corporation | Account activity management system |
| US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
| US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
| RU2714726C2 (ru) | 2015-06-30 | 2020-02-20 | Закрытое акционерное общество "Лаборатория Касперского" | Архитектура безопасности автоматизированных систем |
| US10015178B2 (en) | 2015-07-28 | 2018-07-03 | Sap Se | Real-time contextual monitoring intrusion detection and prevention |
| US10419452B2 (en) | 2015-07-28 | 2019-09-17 | Sap Se | Contextual monitoring and tracking of SSH sessions |
| US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
| US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
| US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
| US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
| US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
| US9928153B2 (en) | 2015-11-10 | 2018-03-27 | International Business Machines Corporation | Determining where bottlenecks occur in multi-threaded multi-path computing systems |
| US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
| US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
| US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
| CN107135191B (zh) * | 2016-02-29 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 检查分布式业务处理完整度的方法及装置 |
| US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
| US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
| US10318450B2 (en) * | 2016-07-01 | 2019-06-11 | Intel Corporation | Efficient context based input/output (I/O) classification |
| US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
| US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
| US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
| US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
| US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
| US10609006B2 (en) | 2017-01-13 | 2020-03-31 | Fortanix, Inc. | Self-encrypting key management system |
| US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
| US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
| US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
| US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
| US10545786B2 (en) | 2017-09-22 | 2020-01-28 | International Business Machines Corporation | Accounting and enforcing non-process execution by container-based software transmitting data over a network |
| US10810038B2 (en) | 2017-09-22 | 2020-10-20 | International Business Machines Corporation | Accounting and enforcing non-process execution by container-based software receiving data over a network |
| US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
| US10382278B1 (en) * | 2018-01-31 | 2019-08-13 | EMC IP Holding Company LLC | Processing platform with independent definition and mutual enforcement of operational and application policies |
| US10691493B1 (en) * | 2018-01-31 | 2020-06-23 | EMC IP Holding Company LLC | Processing platform with distributed policy definition, enforcement and monitoring across multi-layer infrastructure |
| US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
| US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
| US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
| US10931513B2 (en) * | 2019-01-31 | 2021-02-23 | Cisco Technology, Inc. | Event-triggered distributed data collection in a distributed transaction monitoring system |
| CN112182557B (zh) * | 2019-09-19 | 2022-05-03 | 中国科学院信息工程研究所 | 一种芯片级内置式的主动安全监控架构实现方法及电子装置 |
| US11443320B2 (en) | 2020-01-07 | 2022-09-13 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event using a dashboard |
| US11238459B2 (en) | 2020-01-07 | 2022-02-01 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event |
| CN112615935B (zh) * | 2020-12-25 | 2022-08-05 | 武汉华中数控股份有限公司 | 一种终端设备联网参考系统及其交互方法 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5655081A (en) * | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
| US5958010A (en) * | 1997-03-20 | 1999-09-28 | Firstsense Software, Inc. | Systems and methods for monitoring distributed applications including an interface running in an operating system kernel |
| US6108700A (en) * | 1997-08-01 | 2000-08-22 | International Business Machines Corporation | Application end-to-end response time measurement and decomposition |
| US6597684B1 (en) * | 1997-12-24 | 2003-07-22 | Nortel Networks Ltd. | Distributed architecture and associated protocols for efficient quality of service-based route computation |
| US6070190A (en) * | 1998-05-11 | 2000-05-30 | International Business Machines Corporation | Client-based application availability and response monitoring and reporting for distributed computing environments |
| US6748416B2 (en) * | 1999-01-20 | 2004-06-08 | International Business Machines Corporation | Client-side method and apparatus for improving the availability and performance of network mediated services |
| US6636847B1 (en) * | 1999-07-01 | 2003-10-21 | Sandia Corporation | Exhaustive search system and method using space-filling curves |
| US6621895B1 (en) * | 1999-08-31 | 2003-09-16 | Nortel Networks Limited | Enhanced communication services for data networks |
| US7003781B1 (en) * | 2000-05-05 | 2006-02-21 | Bristol Technology Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
| US6865153B1 (en) | 2000-09-20 | 2005-03-08 | Alcatel | Stage-implemented QoS shaping for data communication switch |
| US20020078382A1 (en) * | 2000-11-29 | 2002-06-20 | Ali Sheikh | Scalable system for monitoring network system and components and methodology therefore |
| US7720958B2 (en) * | 2001-03-09 | 2010-05-18 | International Business Machines Corporation | Method and system for embedding correlated performance measurements for distributed application performance decomposition |
| US6823382B2 (en) * | 2001-08-20 | 2004-11-23 | Altaworks Corporation | Monitoring and control engine for multi-tiered service-level management of distributed web-application servers |
| US7139551B2 (en) * | 2002-01-19 | 2006-11-21 | Sasken Communication Technologies Ltd. | System and method for automatically downloading software applications to a remote terminal |
| US6993683B2 (en) * | 2002-05-10 | 2006-01-31 | Microsoft Corporation | Analysis of pipelined networks |
| US7023843B2 (en) | 2002-06-26 | 2006-04-04 | Nokia Corporation | Programmable scheduling for IP routers |
| US7337236B2 (en) * | 2002-07-02 | 2008-02-26 | International Business Machines Corporation | Application prioritization in a stateless protocol |
| CA2463562A1 (en) * | 2004-04-07 | 2005-10-07 | Alcatel | Agent based router monitoring, diagnostic and maintenance |
-
2005
- 2005-03-23 IL IL167628A patent/IL167628A/en unknown
- 2005-03-23 US US11/088,277 patent/US7805509B2/en not_active Expired - Lifetime
- 2005-03-31 JP JP2007514318A patent/JP2008502044A/ja active Pending
- 2005-03-31 CN CNB2005800258934A patent/CN100568193C/zh not_active Expired - Fee Related
- 2005-03-31 AU AU2005249056A patent/AU2005249056B2/en not_active Ceased
- 2005-03-31 WO PCT/IL2005/000361 patent/WO2005119611A2/en not_active Ceased
- 2005-04-07 CA CA2503987A patent/CA2503987C/en not_active Expired - Fee Related
- 2005-04-15 ES ES05103034T patent/ES2326538T3/es not_active Expired - Lifetime
- 2005-04-15 EP EP05103034A patent/EP1603307B1/en not_active Expired - Lifetime
- 2005-04-15 DE DE602005014415T patent/DE602005014415D1/de not_active Expired - Lifetime
- 2005-04-15 AT AT05103034T patent/ATE431668T1/de not_active IP Right Cessation
-
2010
- 2010-08-20 US US12/860,239 patent/US8214495B2/en not_active Expired - Fee Related
-
2012
- 2012-06-26 US US13/533,498 patent/US20120278482A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| CA2503987A1 (en) | 2005-12-04 |
| US20060015512A1 (en) | 2006-01-19 |
| WO2005119611A2 (en) | 2005-12-15 |
| JP2008502044A (ja) | 2008-01-24 |
| US8214495B2 (en) | 2012-07-03 |
| WO2005119611A3 (en) | 2006-07-27 |
| US7805509B2 (en) | 2010-09-28 |
| EP1603307A3 (en) | 2006-05-17 |
| ATE431668T1 (de) | 2009-05-15 |
| EP1603307B1 (en) | 2009-05-13 |
| AU2005249056B2 (en) | 2009-07-09 |
| CN100568193C (zh) | 2009-12-09 |
| US20100312888A1 (en) | 2010-12-09 |
| CN101044462A (zh) | 2007-09-26 |
| DE602005014415D1 (de) | 2009-06-25 |
| IL167628A (en) | 2010-11-30 |
| CA2503987C (en) | 2015-12-01 |
| AU2005249056A1 (en) | 2005-12-15 |
| EP1603307A2 (en) | 2005-12-07 |
| US20120278482A1 (en) | 2012-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2326538T3 (es) | Sistema y metodo para la gestion de las caracteristicas de funcionamiento en un entorno informatico de varios niveles. | |
| US11550630B2 (en) | Monitoring and automatic scaling of data volumes | |
| US9300523B2 (en) | System and method for performance management in a multi-tier computing environment | |
| US8892737B2 (en) | Network sniffer for performing service level management | |
| US11165707B2 (en) | Dynamic policy implementation for application-aware routing based on granular business insights | |
| US6754707B2 (en) | Secure computer support system | |
| KR101634409B1 (ko) | 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법 | |
| US7693996B2 (en) | Service level management system | |
| JP2008502044A5 (es) | ||
| US11349875B2 (en) | Dynamic balancing of security rules execution in a database protection system | |
| US11381451B2 (en) | Methods, systems, and computer readable mediums for selecting and configuring a computing system to support a replicated application | |
| US5857076A (en) | Program product for obtaining the state of network resources in A distributed computing environment | |
| US5781736A (en) | Method for obtaining the state of network resources in a distributed computing environment by utilizing a provider associated with indicators of resource states | |
| Kozina et al. | Data consistency protocol for multicloud systems | |
| CN111913732B (zh) | 一种服务更新方法、装置及管理服务器、存储介质 | |
| Anastopoulos et al. | A structured methodology for deploying log management in WANs | |
| Lee et al. | Enabling actionable analytics for mobile devices: performance issues of distributed analytics on Hadoop mobile clusters | |
| US20170223136A1 (en) | Any Web Page Reporting and Capture | |
| US12348505B2 (en) | Byte code monitoring to avoid certificate-based outages | |
| Song et al. | Zero+: Monitoring Large-Scale Cloud-Native Infrastructure Using One-Sided RDMA | |
| Kovala | Edge computing platforms for internet of things | |
| Nath et al. | Microservices Mesh Orchestration: A Comprehensive Review of Design Decisions, Performance Optimization in terms of Instance Selection & Self Adaptation. |