ES2599072T3 - Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos - Google Patents

Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos Download PDF

Info

Publication number
ES2599072T3
ES2599072T3 ES13382555.4T ES13382555T ES2599072T3 ES 2599072 T3 ES2599072 T3 ES 2599072T3 ES 13382555 T ES13382555 T ES 13382555T ES 2599072 T3 ES2599072 T3 ES 2599072T3
Authority
ES
Spain
Prior art keywords
server
farm
client
protocol
application level
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.)
Active
Application number
ES13382555.4T
Other languages
English (en)
Inventor
Alex Massover
John Neystadt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonica Digital Espana SL
Original Assignee
Telefonica Digital Espana SL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonica Digital Espana SL filed Critical Telefonica Digital Espana SL
Application granted granted Critical
Publication of ES2599072T3 publication Critical patent/ES2599072T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

Método para el establecimiento de una comunicación bidireccional de servidor a servidor, en el que un balanceador de carga de una primera granja (LB_FARM_A) que tiene asociada una pluralidad de clientes servidores (A_Servidor_N) realiza las siguientes etapas: a) recibir una primera petición de protocolo del nivel de aplicación desde al menos uno de dichos clientes servidores (A_Servidor_N) para arrancar una primera sesión de comunicación con cualquiera de los clientes servidores asociados con un segundo balanceador de carga de una segunda granja (LB_FARM_B), incluyendo dicha primera petición de protocolo del nivel de aplicación parámetros de información que incluyen al menos un identificador de sesión (ID_A) que identifica dicho cliente servidor (A_Servidor_N); y b) enviar dicha primera petición de protocolo del nivel de aplicación al cliente servidor (B_Servidor_N) a través de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B), y responder dicho cliente servidor (B_Servidor_N) a la primera petición de protocolo del nivel de aplicación a través de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B), caracterizado porque dicho primer balanceador de carga de la primera granja (LB_FARM_A) realiza además las siguientes etapas: c) recibir una segunda petición de protocolo del nivel de aplicación desde dicho servidor (B_Servidor_N) para comenzar dicha segunda sesión de comunicación con el cliente servidor (A_Servidor_N) incluyendo dicha segunda petición de protocolo del nivel de aplicación parámetros de información que incluyen al menos un identificador de sesión (ID_B) que identifica el cliente servidor (B_Servidor_N) y el identificador de sesión (ID_A) que identifica el cliente servidor (A_Servidor_N); d) comprobar en dicha segunda petición recibida de protocolo del nivel de aplicación si el identificador de sesión (ID_A) que identifica el cliente servidor (A_Servidor_N) coincide con el incluido en el primer protocolo del nivel de aplicación; y e) en el caso de coincidencia, enviar dicha segunda petición de protocolo del nivel de aplicación al cliente servidor (A_Servidor_N), posibilitando al último para una respuesta.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Metodo y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicacion bidireccional de servidor a servidor y programa de ordenador para los mismos
DESCRIPCION
Campo de la invencion
La presente invencion se refiere en general al campo de los sistemas y metodos de comunicaciones de red. Particularmente, la presente invencion se refiere a un metodo, un dispositivo de balanceo de carga entre un agrupamiento de servidores (granja) y un producto de programa de ordenador para el establecimiento de afinidad bidireccional para la comunicacion de servidor a servidor.
Antecedentes de la invencion
En los balanceadores de carga existentes, hay muchos mecanismos para asegurar la afinidad entre un cliente / servidor y una granja de servidores balanceados, asegurando que todas las peticiones que pertenecen a la misma sesion se dirigen siempre al mismo caso de servidor dentro de la granja.
Un problema sin resolver en los escenarios de comunicacion de servidor a servidor (Fig. 1) es cuando una granja A consistente de multiples servidores balanceados quiere comunicar con una granja B, consistente tambien de multiples servidores balanceados. En este caso, cuando cada una de las granjas gestiona su propia sesion (servidores de estado de la aplicacion), se requiere una asociacion a una instancia espedfica de servidor de forma bidireccional, de modo que todas las peticiones que pertenecen a una sesion sobre una granja A siempre comunicaran con un servidor espedfico en la granja B y todas las peticiones pertenecientes a una sesion correspondiente sobre la granja B siempre se encaminaran al mismo servidor en la granja A.
Los balanceadores de carga existentes en el campo pueden realizar tal afinidad bidireccional para los protocolos de las Capas 3 y 4 (IP/UDP/TCP) como se describe en la patente US-B2-7380002, sin embargo no existe ninguna solucion actualmente para los protocolos de la Capa 7, tales como HTTP, RADIUS u otros.
Un metodo comun para la creacion de la afinidad cliente - servidor basada en cookies de HTTP se describe en la patente US-B2-6473802. Aunque dicha patente no resuelve el problema de la comunicacion de estado de servidor a servidor en el caso de que ambos servidores realicen ambos papeles de cliente y servidor en un modelo de cliente - servidor. Por ejemplo, cada uno de los balanceadores de carga (balanceadorCarga_Granja_A o
balanceadorCarga_Granja_B en la Fig.1) en dicha patente solo implementara el metodo de afinidad de cliente - servidor, esto es, una sesion comenzada desde la Granja A se asociara a algun servidor en la Granja B, y la sesion correspondiente desde la Granja B tambien se asociara a algun servidor en la Granja A, pero no se garantiza que se asocie al mismo servidor, que comenzo la sesion original. De este modo, el elemento que falta para la creacion de la afinidad bidireccional en este caso es el hecho de que ningun balanceador de carga es conocedor de ambas sesiones y por lo tanto no es capaz de mantener un mapeo de las sesiones.
Sumario de la Invencion
Por lo tanto, la presente invencion supera las limitaciones descritas anteriormente proporcionando un metodo que crea un punto unico en el flujo (balanceador de carga) por el que pasaran ambas sesiones en la capa de red. Ademas crea una asociacion basada en las peticiones de transaccion y la afinidad bidireccional correlacionando las peticiones de las diferentes sesiones y manteniendo el mapeo de la correlacion entre ellas.
La presente invencion posibilita el estableceruna sesion en una primera granja A, y correlacionarla con una nueva sesion correspondiente en una segunda granja B, que tiene un balanceador de carga para mantener un mapeo entre las dos sesiones de comunicacion (las sesiones se siguen mediante el uso de mecanismos conocidos tales como la cabecera de HTTP, las cookies, o los parametros de URL) para garantizar la asociacionde las dos sesiones de comunicacion a las mismas instancias de servidor.
De acuerdo con un primer aspecto se proporciona un metodo para el establecimiento de una comunicacion bidireccional de servidor a servidor, en el que un primer balanceador de carga de la granja que tiene asociada una pluralidad de clientes servidores comprende: a) recibir una primera peticion de protocolo del nivel de aplicacion desde al menos uno de dichos clientes servidores para comenzar una primera sesion de comunicacion con cualquiera de los clientes servidores asociados con un balanceador de carga de la segunda granja, incluyendo dicha primera peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion que identifica el cliente servidor del balanceador de carga de la primera granja; y b) enviar dicha primera peticion de protocolo del nivel de aplicacion a un cliente servidor del balanceador de carga de la segunda granja a traves de este ultimo. A continuacion, el cliente servidor del balanceador de carga de la segunda granja puede responder a la primera peticion de protocolo del nivel de aplicacion a traves de dicho balanceador de carga de la segunda granja.
Al contrario de las propuestas conocidas el balanceador de carga de la primera granja realiza ademas las siguientes etapas: c) recibir una segunda peticion de protocolo del nivel de aplicacion desde dicho cliente servidor del balanceador de carga de la segunda granja para comenzar una segunda sesion de comunicacion con el cliente servidor del balanceador de carga de la primera granja, incluyendo dicha segunda peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion que identifica el cliente servidor del balanceador de carga de la segunda granja y el identificador de sesion que identifica el cliente servidor del balanceador de carga de la primera granja; d) comprobar en dicha segunda peticion recibida del protocolo del nivel de aplicacion si el identificador de sesion que identifica el cliente servidor del balanceador de carga de la primera granja coincide con el
5
10
15
20
25
30
35
40
45
50
55
60
incluido en el primer protocolo del nivel de aplicacion; y e) en el caso de coincidencia, enviar dicha segunda peticion de protocolo del nivel de aplicacion al cliente servidor del balanceador de carga de la primera granja, posibilitando al ultimo para una respuesta.
De acuerdo con una realizacion, el identificador de sesion del cliente servidor del balanceador de carga de la primera granja se incluye en dicha segunda peticion de protocolo del nivel de aplicacion una vez extrafda, por dicho cliente servidor del balanceador de carga de la segunda granja, a partir de dicha primera peticion recibida de protocolo del nivel de aplicacion.
La segunda peticion de protocolo del nivel de aplicacion en dicha etapa c) se puede recibir bien directamente desde el cliente servidor del balanceador de carga de la segunda granja o indirectamente a traves del balanceador de carga de la segunda granja.
La respuesta del cliente servidor del balanceador de carga de la primera granja en dicha etapa e) tambien se puede realizar directamente al cliente servidor del balanceador de carga de la segunda granja o indirectamente a traves de este ultimo.
Los protocolos del nivel de aplicacion primero y segundo de acuerdo con las diferentes realizaciones pueden ser los mismos o diferentes protocolos. En general, los protocolos del nivel de aplicacion son protocolos de la capa de aplicacion que usan un modelo de cliente-servidor. De acuerdo con dichas realizaciones ambos protocolos diferentes del nivel de la aplicacion se seleccionaran a partir de al menos un Protocolo de Transporte de Hipertexto (HTTP), un protocolo del Marcacion de Autenticacion Remota de Llamada de Servicios del Usuario (RADIUS), un protocolo (SIP) protocolo de Iniciacion de Sesion o combinaciones de los mismos.
De acuerdo con un segundo aspecto se proporciona un dispositivo de balanceo de carga de la granja para el establecimiento de una comunicacion bidireccional de servidor a servidor, habiendo asociado dicho dispositivo de balanceo de carga de la granja con una pluralidad de clientes servidores y que se configuran para: recibir una primera peticion de protocolo del nivel de aplicacion desde al menos uno de dichos clientes servidores para comenzar una primera sesion de comunicacion con cualquiera de los clientes servidores asociados con un segundo balanceador de carga de la granja, incluyendo dicha primera peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion que identifica su cliente servidor, y enviar dicha primera peticion de protocolo del nivel de aplicacion a un cliente servidor del balanceador de carga de una segunda granja a traves de este ultimo. El dispositivo de balanceo de carga de la granja incluye tambien un primer medio para extraer de la primera peticion de protocolo del nivel de aplicacion dicho identificador de sesion incluido en la misma, que identifica su cliente servidor.
Al contrario de las propuestas conocidas, el dispositivo de balanceo de carga de la granja del segundo aspecto de la presente invencion esta ademas configurado para: recibir una segunda peticion de protocolo del nivel de aplicacion desde el cliente servidor del balanceador de carga de la segunda granja para comenzar una segunda sesion de comunicacion su propio cliente servidor, incluyendo dicha segunda peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion que identifica el cliente servidor del balanceador de carga de la segunda granja y el identificador de sesion que identifica su propio cliente servidor; y enviar, dependiendo de una operacion de comprobacion, dicha segunda peticion del protocolo del nivel de aplicacion a su propio cliente servidor (SA). Ademas, el dispositivo propuesto de balanceo de carga de la granja comprende ademas un segundo medio para la realizacion de dicha operacion de comprobacion, que consiste en comprobar en dicha segunda peticion recibida de protocolo del nivel de aplicacion si el identificador de sesion que identifica su propio cliente servidor coincide con el incluido en el primer protocolo del nivel de aplicacion.
De acuerdo con una realizacion, el dispositivo de balanceo de carga de la granja se configura ademas para recibir una respuesta a la primera peticion de protocolo del nivel de aplicacion desde el cliente servidor del balanceador de carga de la segunda granja a traves del ultimo y para retransmitir dicha respuesta a su propio cliente servidor.
Ademas, el dispositivo de balanceo de carga de la granja es capaz de forma similar de recibir una respuesta a la segunda peticion de protocolo del nivel de aplicacion desde su propio cliente servidor y para retransmitir dicha respuesta al cliente servidor del balanceador de carga de la segunda granja bien directamente o a traves de este ultimo.
El sistema del segundo aspecto se adapta para implementar el metodo del primer aspecto.
El tema objeto descrito en este documento se puede implementar en software en combinacion con hardware y/o firmware, o una combinacion adecuada de los mismos. Por ejemplo, el tema objeto descrito en este documento se puede implementar en software ejecutado por un procesador.
De acuerdo con un tercer aspecto se proporciona un producto de programa de ordenador que comprende un medio utilizable por ordenador que tiene un codigo de programa legible por ordenador incorporado en el mismo, adaptado dicho codigo legible por ordenador para ejecutarse para implementar un metodo para el establecimiento de una comunicacion bidireccional de servidor a servidor que comprende las etapas desde a hasta e de la reivindicacion 1.
Breve Descripcion de los Dibujos
Las anteriores y otras ventajas y caractensticas se entenderan mas completamente a partir de la siguiente descripcion detallada de las realizaciones, con referencia a los dibujos adjuntos que se deben considerar en un modo ilustrativo y no limitativo, en los que:
La Fig. 1 ilustra un escenario de comunicacion de servidor a servidor donde se puede implementar la presente invencion.
La Fig. 2 es un diagrama de flujo que ilustra el metodo del primer aspecto para la realizacion de una
5
10
15
20
25
30
35
40
45
50
55
60
comunicacion de servidor a servidor con una afinidad de sesion bidireccional de acuerdo con varias realizaciones, en este caso particularmente cuando los protocolos del nivel de aplicacion primero y segundo son el mismo protocolo, por ejemplo un protocolo HTTP.
La Fig. 3 es un ejemplo de la logica de decision que un balanceador de carga de la granja podna ejecutar para crear afinidad con un cliente servidor particular.
La Fig. 4 es un diagrama de flujo que ilustra el metodo del primer aspecto para la realizacion de comunicacion bidireccional de afinidad de sesion de servidor a servidor de acuerdo con diversas realizaciones, en este caso particularmente cuando los protocolos del nivel de aplicacion primero y segundo son protocolos diferentes, por ejemplo un protocolo HTTP y un protocolo RADIUS.
Descripcion Detallada de Varias Realizaciones
En referencia a la Fig. 2 se ilustra el metodo propuesto para el establecimiento de una comunicacion bidireccional de servidor a servidor. En esta realizacion particular, la afinidad de sesion bidireccional de servidor a servidor se realiza sobre protocolos del mismo nivel de aplicacion, en este caso un protocolo HTTP.
Como se ilustra en la Fig. 2, un evento externo o un cambio de estado interno instruye a un cliente servidor particular A_Servidor_N de un balanceador de carga de la primera granja LB_FARM_A a comenzar una sesion de comunicacion con un cliente servidor B_Servidor_M desde un balanceador de carga de la segunda granja LB_FARM_B (1). De este modo, el cliente servidor A_Servidor_N solicita el establecimiento de una sesion HTTP (peticion de la Sesion A como se denomina en la Fig. 2) al balanceador de carga de la primera granja LB_FARM_A incluyendo en la peticion de sesion de HTTP, parametros de informacion que identifican al cliente servidor A_Servidor_N tal como su identificador de sesion (2).
El balanceador de carga de la primera granja LB_Farm_A una vez que recibe dicha peticion de sesion de HTTP ejecuta una logica de decision, como se ilustra en la Fig. 3, para compaginar una regla pre-configurada (Regla 1) para una peticion saliente. Esto es, el balanceador de carga de la primera granja LB_Farm_A encuentra el identificador de la sesion A en la peticion de sesion de HTTP recibida y aprende la afinidad de sesion con dicho cliente servidor A_Servidor_N (3). A continuacion, el balanceador de carga de la primera granja LB_Farm_A envfa la peticion de sesion de HTTP a dicho balanceador de carga de la segunda granja LB_Farm_B (4) y el ultimo redirige la peticion de sesion de HTTP a dicho cliente servidor B_Servidor_M (5). El cliente servidor B_Servidor_M en ese momento puede enviar una respuesta a la peticion de sesion de HTTP a traves del balanceador de carga de la segunda granja LB_Farm_B (6, 7, y 8).
A continuacion el cliente servidor B_Servidor_M envfa una peticion de sesion de comunicacion (peticion de Sesion HTTP B como se denomina en la Fig. 1) al balanceador de carga de la primera granja LB_Farm_A bien directamente (9c) o alternativamente a traves del balanceador de carga de la segunda granja LB_Farm_B (9a y 9b). Dicha peticion de sesion de HTTP B incluye al menos un identificador de sesion que identifica el cliente servidor B_Servidor_M y el identificador de sesion que identifica el cliente servidor A_Servidor_N.
Por lo tanto, el balanceador de carga de la primera granja LB_Farm_A una vez recibida la peticion de sesion B de HTTP ejecuta dicha logica de decision ilustrada en la Fig. 3 para ejecutar una regla pre-configurada (Regla 2) relativa a la peticion entrante que comprueba si el identificador de sesion que identifica al cliente servidor A_Servidor_N que coincide con el incluido en la peticion de sesion A de HTTP (10). En caso de coincidencia, el balanceador de carga de la primera granja LB_Farm_A envfa la peticion de sesion B de HTTP a su cliente servidor A_Servidor_N (11), posibilitando al ultimo para una respuesta. Si el cliente servidor A_Servidor_N (12) responde a la peticion de sesion B de HTTP al balanceador de carga de la primera granja LB_Farm_A, el ultimo puede redirigir dicha respuesta bien directamente al cliente servidor B_Servidor_M (13c) o indirectamente a traves del balanceador de carga de la segunda granja LB_Farm_B (13a y 13b).
La sesion de HTTP solicitada por el cliente servidor A_Servidor_N (o peticion de Sesion A de HTTP) podna ser como sigue:
POS T/farm_b/form. asp HTTP/1.1
Host: farm_a
SID: ANON: farm_a: “NRviasdfmdkYB4W2471l"
Esto es, incluye la cabecera "SID", que identifica la sesion en el cliente servidor A_Servidor_N. En consecuencia, la sesion de HTTP solicitada por el cliente servidor B_Servidor_M o la peticion de Sesion B de HTTP seria como sigue:
POST/farm_a/form.asp HTTP/1.1
Host: farm_b
SID: ANON: farm_b: asdfVVdfmdkYB4wsrtV
OriginalJD: “NRviasdfmdkYB4W2471l"
Esto es, incluye la cabecera "SID", que identifica la sesion en el cliente servidor B_Servidor_M y la cabecera "OriginalJD', que identifica la sesion en el cliente servidor A_Servidor_N
En referencia a la Fig. 4, se ilustra el metodo propuesto para el establecimiento de afinidad de sesion en una comunicacion bidireccional de un servidor con estados a otro servidor con estados sobre protocolos diferentes de la Capa-7, que implementan un modelo de cliente-servidor tal como los protocolos de HTTP y RADIUS. Los flujos
5
10
15
20
25
30
descritos en este caso seran los mismos que los flujos descritos en la Fig. 2, con la unica diferencia de que la peticion de sesion B demandada por el cliente servidor B_Servidor_M sera una peticion de sesion RADIUS. La sesion RADIUS solicitada por el cliente servidor B_Servidor_M de acuerdo con esta realizacion particular podna ser como sigue:
1 Code = Access-Request (1)
11D = 0
2 Length = 56
16 Request Authenticator
Attributes:
6 User-Name = "nemo"
18 User-Password
6 NAS-IP-Address = 192.168.1.16
6 NAS-Port = 3
44 Acct-Session-Id= 00000016
50 Acct-Multi-Session-Id = “NRviasdfmdkYB4W2471l"
Esto es, incluye la cabecera "Acct-Session-Id", que identifica la sesion en el cliente servidor B_Servidor_M y la cabecera "Acct-Multi-Session-Id", que identifica la sesion en el cliente servidor A_Servidor_N.
Como una mejora de la invencion, el balanceador de carga de la primera granja LB_Farm_A, una vez ejecutadas dichas reglas y establecida la afinidad de los diferentes clientes servidores (A_Servidor_N con B_Servidor_M) puede crear una tabla de mapeo que almacena toda la informacion asociada. Por ejemplo, de acuerdo con la realizacion de la Fig. 2, una vez que se ha ejecutado dicha regla 1, flujo (3) de la figura, podna crear la siguiente tabla de mapeo.
Regla 1
Regla 2 Identificad or de la Sesion Saliente Identificad or de la Sesion Entrante Afinidad con el servidor
a) Detectar
c) Detectar protocolo HTTP NRviasdfm A Servidor
protocolo
d) Detectar correspondencia dkYB4W24 N
HTTP
entre el valor de la cabecera 711
b) Extraer el
'Original ID' con el identificador
Identificador de
de Sesion saliente
Sesion del
e) Extraer el Identificador de
valor del
Sesion Entrante del valor del
campo que
campo que incluye la URI de
incluye la URI
identificacion de Sesion
de
identificacion
de sesion
Y, una vez que se ha ejecutado dicha regla 2, el flujo (10) de la figura, podna crear la siguiente tabla de mapeo:
Regla 1
Regla 2 Identificad or de la Sesion Saliente Identificad or de la Sesion Entrante Afinidad con el servidor
a) Detectar
c) Detectar protocolo HTTP NRviasdfm asdfVVdfm A Servidor
protocolo
d) Detectar correspondencia dkYB4W24 dkYB4wsrt N
HTTP b) Extraer el Identificador de Sesion del valor del campo que incluye la URI de identificacion de sesion
entre el valor de la cabecera 'OriginaMD' con el identificador de Sesion saliente e) Extraer el Identificador de Sesion Entrante del valor del campo que incluye la URI de identificacion de Sesion 711 V
Del mismo modo, de acuerdo con la realizacion de la Fig. 4, se podnan tambien crear las siguientes tablas de
mapeo:
Regla 1
Regla 2 Identificad or de la Sesion Saliente Identificad or de la Sesion Entrante Afinidad con el servidor
a) Detectar protocolo HTTP b) Extraer el Identificador de Sesion del valor del campo que incluye la URI de identificacion de sesion
c) Detectar protocolo RADIUS d) Detectar correspondencia entre el valor del atributo Acct- Multi-Session-ID con el identificador de Sesion saliente e) Extraer el identificador de Sesion Entrante del valor del atributo Acct-Session-Id NRviasdfm dkYB4W24 711 A Servidor N
Regla 1
Regla 2 Identificad or de la Sesion Saliente Identificad or de la Sesion Entrante Afinidad con el servidor
a) Detectar protocolo HTTP b) Extraer el Identificador de Sesion del valor del campo que incluye la URI de identificacion de sesion
c) Detectar protocolo RADIUS d) Detectar correspondencia entre el valor del atributo Acct- Multi-Session-ID con el identificador de Sesion saliente e) Extraer el identificador de Sesion Entrante del valor del atributo Acct-Session-Id NRviasdfm dkYB4W24 711 00000016 A Servidor N
El alcance de la presente invencion se define en el siguiente conjunto de reivindicaciones.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Metodo para el establecimiento de una comunicacion bidireccional de servidor a servidor, en el que un balanceador de carga de una primera granja (LB_FARM_A) que tiene asociada una pluralidad de clientes servidores (A_Servidor_N) realiza las siguientes etapas:
    a) recibir una primera peticion de protocolo del nivel de aplicacion desde al menos uno de dichos clientes servidores (A_Servidor_N) para arrancar una primera sesion de comunicacion con cualquiera de los clientes servidores asociados con un segundo balanceador de carga de una segunda granja (LB_FARM_B), incluyendo dicha primera peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion (ID_A) que identifica dicho cliente servidor (A_Servidor_N); y
    b) enviar dicha primera peticion de protocolo del nivel de aplicacion al cliente servidor (B_Servidor_N) a traves de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B),
    y responder dicho cliente servidor (B_Servidor_N) a la primera peticion de protocolo del nivel de aplicacion a traves de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B),
    caracterizado porque dicho primer balanceador de carga de la primera granja (LB_FARM_A) realiza ademas las siguientes etapas:
    c) recibir una segunda peticion de protocolo del nivel de aplicacion desde dicho servidor (B_Servidor_N) para comenzar dicha segunda sesion de comunicacion con el cliente servidor (A_Servidor_N) incluyendo dicha segunda peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion (ID_B) que identifica el cliente servidor (B_Servidor_N) y el identificador de sesion (ID_A) que identifica el cliente servidor (A_Servidor_N);
    d) comprobar en dicha segunda peticion recibida de protocolo del nivel de aplicacion si el identificador de sesion (ID_A) que identifica el cliente servidor (A_Servidor_N) coincide con el incluido en el primer protocolo del nivel de aplicacion; y
    e) en el caso de coincidencia, enviar dicha segunda peticion de protocolo del nivel de aplicacion al cliente servidor (A_Servidor_N), posibilitando al ultimo para una respuesta.
  2. 2. El metodo de la reivindicacion 1, en el que dicho identificador de sesion (ID_A) que se incluye en dicha segunda peticion de protocolo del nivel de aplicacion una vez que se ha extrafdo, dicho cliente servidor (B_Servidor_N) desde dicha primera peticion de protocolo del nivel de aplicacion.
  3. 3. El metodo de la reivindicacion 1, en el que en dicha etapa c) la segunda peticion de protocolo del nivel de aplicacion se recibe bien directamente desde el cliente servidor (B_Servidor_N) o a traves del segundo balanceador de carga de la segunda granja (LB_FARM_B).
  4. 4. El metodo de la reivindicacion 1, que comprende en dicha etapa e) posibilitar dicha respuesta bien directamente al cliente servidor (B_Servidor_N) o a traves del segundo balanceador de carga de la segunda granja (LB_FARM_B).
  5. 5. El metodo de cualquiera de las reivindicaciones anteriores, en el que dichos protocolos del nivel de aplicacion primero y segundo comprenden un mismo protocolo.
  6. 6. El metodo de cualquiera de las reivindicaciones anteriores 1 a 4, en el que dichos protocolos del nivel de aplicacion primero y segundo comprenden protocolos diferentes.
  7. 7. El metodo de las reivindicaciones 5 o 6, en el que los protocolos del nivel de aplicacion primero y segundo son un protocolo de la capa de aplicacion con un modelo de cliente-servidor.
  8. 8. El metodo de las reivindicaciones 5 o 6, en el que los protocolos del nivel de aplicacion primero y segundo se seleccionan a partir de al menos un Protocolo de Transporte de Hipertexto (HTTP), un protocolo de Autenticacion Remota de Llamadas del Servicio de Usuario (RADIUS), un protocolo (SIP) o Protocolo de Iniciacion de Sesion o combinaciones de los mismos.
  9. 9. Un dispositivo de balanceo de carga de la granja para el establecimiento de una comunicacion bidireccional de servidor a servidor, teniendo asociada dicho dispositivo de balanceo de carga de la granja una pluralidad de clientes servidores (A_Servidor_N) y configurado para:
    recibir una primera peticion de protocolo del nivel de aplicacion desde al menos uno de dichos clientes servidores (A_Servidor_N) para comenzar una primera sesion de comunicacion con cualquiera de los clientes servidores asociados con un segundo balanceador de carga de una segunda granja (LB_FARM_B) incluyendo dicha peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion (ID_A) que identifica dicho cliente servidor (A_Servidor_N); y
    enviar dicha primera peticion de protocolo del nivel de aplicacion a un cliente servidor (B_Servidor_N) a traves de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B),
    y en que comprende un primer medio para la extraccion a partir de la primera peticion de protocolo del nivel de aplicacion dicho identificador de sesion (ID_A), incluido en dicha peticion, que identifica dicho cliente servidor (A_Servidor_N), caracterizado porque dicho dispositivo de balanceo de carga de la granja esta ademas configurado para:
    recibir una segunda peticion de protocolo del nivel de aplicacion desde dicho servidor (B_Servidor_N) para comenzar una segunda sesion de comunicacion con el cliente servidor (A_Servidor_N), incluyendo dicha peticion de protocolo del nivel de aplicacion parametros de informacion que incluyen al menos un identificador de sesion (ID_B) que identifica el cliente servidor espedfico (B_Servidor_N) y el identificador de sesion (ID_A) que identifica el cliente servidor (A_Servidor_N), y
    enviar, dependiendo de una operacion de comprobacion, dicha segunda peticion de protocolo del nivel de
    aplicacion al cliente servidor (A_Servidor_N),
    y en que comprende ademas un segundo medio para la realizacion de dicha operacion de comprobacion, que consiste en comprobar en dicha segunda peticion de protocolo del nivel de aplicacion si el identificador de sesion (ID_A) que identifica el cliente servidor (A_Servidor_N) coincide con el incluido en el primer protocolo del nivel de aplicacion.
    5 10. El dispositivo de balanceo de carga de la granja de la reivindicacion 9, en el que esta ademas configurado para
    recibir una respuesta a la primera peticion de protocolo del nivel de aplicacion desde el cliente servidor (B_Servidor_N) a traves de dicho segundo balanceador de carga de la segunda granja (LB_FARM_B) y redirigir dicha respuesta al cliente servidor (A_Servidor_N).
  10. 11. El dispositivo de balanceo de carga de la granja de las reivindicaciones 9 o 10, en el que esta ademas configurado 10 para recibir una respuesta a la segunda peticion de protocolo del nivel de aplicacion desde el cliente servidor
    (A_Servidor_N) y para redirigir dicha respuesta al cliente servidor (B_Servidor_N) bien directamente o a traves del segundo balanceador de carga de la segunda granja (LB_FARM_B).
  11. 12. Un producto de programa de ordenador que comprende un medio utilizable por ordenador que tiene un codigo de programa legible por ordenador incorporado en el mismo, adaptado dicho codigo legible por ordenador para ejecutarse
    15 para implementar un metodo para el establecimiento de una comunicacion bidireccional de servidor a servidor que comprende las etapas desde a hasta e de la reivindicacion 1.
ES13382555.4T 2013-12-26 2013-12-26 Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos Active ES2599072T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP13382555.4A EP2890086B1 (en) 2013-12-26 2013-12-26 Method and farm load balancing device for establishing a bi-directional server to server communication and computer program thereof

Publications (1)

Publication Number Publication Date
ES2599072T3 true ES2599072T3 (es) 2017-01-31

Family

ID=49917533

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13382555.4T Active ES2599072T3 (es) 2013-12-26 2013-12-26 Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos

Country Status (3)

Country Link
US (1) US20150189004A1 (es)
EP (1) EP2890086B1 (es)
ES (1) ES2599072T3 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591084B1 (en) * 2013-11-14 2017-03-07 Avi Networks Network devices using TLS tickets for session persistence
US9979674B1 (en) 2014-07-08 2018-05-22 Avi Networks Capacity-based server selection
US11082499B2 (en) * 2015-10-19 2021-08-03 Citrix Systems, Inc. Browser server session transfer
CN105635175B (zh) * 2016-02-04 2018-11-06 北京奇艺世纪科技有限公司 一种rtmp流服务器的负载均衡方法和***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374300B2 (en) 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
GB0207454D0 (en) * 2002-03-28 2002-05-08 British Telecomm Method of data transfer in mobile and fixed telecommunications systems
US7380002B2 (en) 2002-06-28 2008-05-27 Microsoft Corporation Bi-directional affinity within a load-balancing multi-node network interface
JPWO2004073269A1 (ja) * 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7672236B1 (en) * 2005-12-16 2010-03-02 Nortel Networks Limited Method and architecture for a scalable application and security switch using multi-level load balancing
US8582454B2 (en) * 2010-04-08 2013-11-12 Netscout Systems, Inc. Real-time adaptive processing of network data packets for analysis

Also Published As

Publication number Publication date
EP2890086A1 (en) 2015-07-01
US20150189004A1 (en) 2015-07-02
EP2890086B1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
US11394703B2 (en) Methods for facilitating federated single sign-on (SSO) for internal web applications and devices thereof
US8850553B2 (en) Service binding
CN103188207B (zh) 一种跨域的单点登录实现方法及***
CN101626369B (zh) 一种单点登录方法、设备及***
US9172753B1 (en) Methods for optimizing HTTP header based authentication and devices thereof
ES2599072T3 (es) Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos
US20100088698A1 (en) Techniques for managing communication sessions
JP2006134312A5 (es)
JP2017529793A5 (es)
TW200704100A (en) Encryption communication method and system
CN102754400B (zh) 用于在基于云的网络内实现集成的网络电话的方法和***
US20170134239A1 (en) Systems and methods for routing messages in distributed computing environments
CN104408777B (zh) 一种基于nat穿越实现p2p通信的互联网考勤管理***和方法
CN101350719A (zh) 新型的身份认证方法
US9635024B2 (en) Methods for facilitating improved user authentication using persistent data and devices thereof
WO2006110378A3 (en) Secure network sessions establishing and validating method
US8918847B2 (en) Layer 7 authentication using layer 2 or layer 3 authentication
US10986084B1 (en) Authentication data migration
US9774588B2 (en) Single sign off handling by network device in federated identity deployment
JP2015500599A5 (es)
CN104009972A (zh) 网络安全接入的认证***及其认证方法
CN104869121A (zh) 一种基于802.1x的认证方法及装置
US20140280989A1 (en) System and method for establishing peer to peer connections through symmetric nats
CN106936796B (zh) 一种基于sni的服务器负载均衡方法及设备
CN104009999B (zh) 防止arp欺骗的方法、装置及网络接入服务器