ES2371378T3 - Sistema de gestión de sesiones y método para controlar las mismas. - Google Patents

Sistema de gestión de sesiones y método para controlar las mismas. Download PDF

Info

Publication number
ES2371378T3
ES2371378T3 ES09156871T ES09156871T ES2371378T3 ES 2371378 T3 ES2371378 T3 ES 2371378T3 ES 09156871 T ES09156871 T ES 09156871T ES 09156871 T ES09156871 T ES 09156871T ES 2371378 T3 ES2371378 T3 ES 2371378T3
Authority
ES
Spain
Prior art keywords
session
server
communication
address
client
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
ES09156871T
Other languages
English (en)
Inventor
Katsuhiro Wada
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of ES2371378T3 publication Critical patent/ES2371378T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

Sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una serie de direcciones y un cliente, caracterizado por: medios de determinación (404) configurados para determinar, en un caso en el que una aplicación dispuesta en el cliente solicite comunicarse con el servidor, si una sesión en la que se utiliza una dirección diferente de una dirección designada por la aplicación ya está establecida o no entre el cliente y el servidor; y medios de control (401) configurados para hacer que la aplicación comunique con el servidor utilizando la sesión ya establecida cuando se determina que la sesión ya se ha establecido y hacer que la aplicación se comunique con el servidor utilizando una sesión recién establecida cuando se determina que la sesión no se ha establecido.

Description

Sistema de gestión de sesiones y método para controlar las mismas
ANTECEDENTES DE LA INVENCIÓN
Campo de la invención
La presente invención se refiere a una técnica para gestionar una sesión indicativa de una relación de conexión lógica en la comunicación entre aplicaciones.
Descripción de la técnica anterior
Tradicionalmente, se conocen diversos tipos de aparatos para el tratamiento de información, incluyendo PCs (ordenadores personales), impresoras y MFPs (periféricos multifunción) como aparatos de comunicación para utilizar en una red (una intranet, tal como una red LAN (red de área local) o Internet).
En la actualidad, los protocolos IP son utilizados ampliamente entre aparatos para el tratamiento de información conectados a una red, y en virtud de los protocolos IP, se asigna una dirección IP única (dirección de comunicación) a cada aparato para el tratamiento de la información, mediante lo cual los aparatos conectados pueden ser identificados entre sí.
En general, en virtud de los protocolos IP convencionales (IPv4 (IP versión 4)), se asigna una única dirección IP a una única interfaz de red como una dirección IP para identificar un aparato para el tratamiento de información con respecto a otros.
Por otra parte, en virtud del IPv6 (IP versión 6), que recientemente ha pasado a utilizarse ampliamente, un aparato terminal se comunica con un router al conectarse al mismo para obtener automáticamente una dirección IP. Además, para permitir la comunicación incluso cuando no existe un router, se asigna una dirección IPv6 en base a una interfaz de red, además de la dirección IP.
Además, a veces existe un servidor DHCP (protocolo de configuración dinámica de host). En un entorno en el que se utiliza el IPv6, se asignan una serie de direcciones IPv6 a una única interfaz de red, tal como se ha mencionado anteriormente. Como consecuencia, en un aparato para el tratamiento de información que soporta IPv6, se asigna a una única interfaz de red una dirección IPv4 y diversas direcciones IPv6.
En el caso en que los aparatos para el tratamiento de información se comunican entre sí, se crea un conector (“socket”) de red de un emisor de la transmisión y de un destino de la transmisión, es decir, pares de una dirección IP y un número de puerto. El proceso para crear un conector de red consume espacio de memoria como recurso de red de cada aparato para el tratamiento de información y tiempo de procesamiento de la CPU del mismo.
Por esta razón, un servidor conectado a numerosos aparatos para el tratamiento de información para comunicación consume sus recursos de red correspondientes en cantidad al número de conexiones. Por otra parte, la cantidad de recursos de red disponibles para una impresora, un MFP, o aparatos para el tratamiento de información similares es menor que la de los recursos de red disponibles para el servidor y, por tanto, el número de aparatos de comunicación que se pueden conectar al aparato para el tratamiento de información al mismo tiempo también es menor.
Además, en una comunicación TCP en la que un periodo de tiempo necesario antes de abrir un conector de red se fija de manera que sea mayor que en la comunicación UDP independientemente del tamaño de los datos, el número de conexiones simultáneas que se pueden establecer por unidad de tiempo está limitado a un valor menor que en la comunicación UDP y, por tanto, una avalancha de peticiones de los clientes provoca un error de conexión en el servidor.
Para solucionar este problema, se ha propuesto una técnica que hace posible ahorrar recursos de red en un caso en el que una serie de aplicaciones dispuestas para un cliente en un sistema cliente-servidor establecen una serie de sesiones con un servidor asignado con una dirección idéntica para comunicarse con el mismo (ver solicitud de patente japonesa abierta a inspección pública número H10-177548).
No obstante, cuando se asignan una serie de direcciones IPv6 a una única interfaz de red, la técnica dada a conocer en la solicitud de patente japonesa abierta a inspección pública número H10-177548 no es capaz de ahorrar recursos de red consumidos para establecer las conexiones con una serie de direcciones de servidor incluso cuando se encuentran en comunicación con el mismo servidor.
La solicitud de patente US, US 2006/221977 A1, da a conocer un sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una serie de direcciones y un cliente.
65 E09156871 08-11-2011
CARACTERÍSTICAS DE LA INVENCIÓN
La presente invención da a conocer un sistema de gestión de sesiones y un método para controlar las mismas.
En un primer aspecto de la presente invención, se da a conocer un sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una serie de direcciones y un cliente, tal como se especifica en las reivindicaciones 1 a 7.
En un segundo aspecto de la presente invención, se da a conocer un método para controlar un sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una serie de direcciones y un cliente, tal como se especifica en la reivindicación 8.
Según la presente invención, es posible hacer un uso eficiente de los recursos de red o ahorrar los mismos cuando se asignan una serie de direcciones de comunicación a una única interfaz de red.
Características adicionales de la presente invención se harán evidentes a partir de la siguiente descripción de las realizaciones de ejemplo con referencia a los dibujos adjuntos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los dibujos adjuntos, que se incorporan y forman parte de la especificación, muestran realizaciones de la invención y, conjuntamente con la descripción, sirven para explicar el principio de la invención.
La figura 1 es un diagrama de la configuración de software de un sistema cliente-servidor al que se aplica un sistema de gestión de sesiones según las realizaciones primera a tercera y séptima de la presente invención.
La figura 2 es un diagrama de bloques que muestra la configuración de hardware de un PC cliente o de un PC servidor que aparecen en la figura 1 (realizaciones primera a tercera).
La figura 3 es un diagrama de bloques que muestra en detalle la configuración de software de una sección de comunicación entre procesos de servidor del PC servidor (realizaciones primera a tercera).
La figura 4 es un diagrama de bloques que muestra en detalle la configuración de software de una sección de comunicación entre procesos de cliente del PC cliente (realizaciones primera a tercera).
La figura 5 es un diagrama de un ejemplo de la información de gestión de sesiones (realizaciones primera a séptima (sexta)).
La figura 6 es un diagrama de flujo de un proceso de gestión de sesiones ejecutado por la sección de comunicación entre procesos de servidor del PC servidor de la primera realización.
La figura 7 es un diagrama de flujo de un proceso de gestión de sesiones ejecutado por la sección de comunicación entre procesos de cliente del PC cliente de la primera realización.
Las figuras 8A y 8B son unos diagramas de secuencia de un ejemplo de los procesos de las figuras 6 y 7 (en un caso en el que no se encuentra presente ninguna sesión existente).
Las figuras 9A y 9B son unos diagramas de secuencia de un ejemplo de los procesos de las figuras 6 y 7 (en un caso en el que se encuentra presente una sesión existente).
Las figuras 10A y 10B son diagramas de flujo de un proceso de gestión de sesiones ejecutado por la sección de comunicación entre procesos de cliente del PC cliente de la segunda realización de la presente invención.
Las figuras 11A y 11B son diagramas de secuencia del proceso de gestión de sesiones ejecutado entre el PC servidor y el PC cliente de la segunda realización.
Las figuras 12A y 12B son diagramas de flujo de un proceso de gestión de sesiones ejecutado por la sección de comunicación entre procesos de cliente del PC cliente de la tercera realización de la presente invención.
Las figuras 13A y 13B son diagramas de secuencia del proceso de gestión de sesiones ejecutado entre el PC servidor y el PC cliente de la tercera realización.
La figura 14 es un diagrama de la configuración de software de un sistema cliente-servidor al que se aplica el sistema de gestión de sesiones, según las realizaciones cuarta a sexta de la presente invención.
65 E09156871 08-11-2011
La figura 15 es un diagrama de bloques que muestra en detalle la configuración de software de una sección de comunicación entre procesos de cliente de un PC cliente, según la cuarta realización.
La figura 16 es un diagrama de la información de la lista de direcciones de la cuarta realización.
La figura 17 es un diagrama de un ejemplo de la información de gestión de sesiones de la cuarta realización.
La figura 18 es un diagrama de flujo de un proceso de gestión de sesiones ejecutado en la cuarta realización.
La figura 19 es un diagrama de flujo que muestra en detalle un proceso de obtención de la lista de direcciones ejecutado en una etapa S1801 de la figura 18.
La figura 20 es un diagrama de flujo de un proceso de gestión de sesiones ejecutado en el proceso de obtención de la lista de direcciones de la quinta realización.
La figura 21 es una continuación del diagrama de flujo de la figura 20.
Las figuras 22A y 22B son diagramas de flujo de un proceso de gestión de sesiones ejecutado en la sexta realización.
La figura 23 es un diagrama de un ejemplo de la información de la lista de direcciones en un caso en el que se designa un servidor idéntico mediante diferentes elementos de información de identificación.
La figura 24 es un diagrama de bloques que muestra en detalle la configuración de software de una sección de comunicación entre procesos de cliente de un PC cliente, según la séptima realización.
La figura 25 es un diagrama de un ejemplo de la información de gestión de sesiones de la séptima realización.
Las figuras 26A y 26B son diagramas de flujo de un proceso de gestión de sesiones ejecutado en la séptima realización.
La figura 27 es una continuación del diagrama de flujo de la figura 26A.
DESCRIPCIÓN DE LAS REALIZACIONES
A continuación se describirá en detalle la presente invención haciendo referencia a los dibujos adjuntos que muestran realizaciones de la misma. Se debe observar que la presente invención no está limitada a las realizaciones primera a séptima descritas a continuación. Además, no todas las combinaciones de las características, según las realizaciones primera a séptima, son absolutamente esenciales para la presente invención.
La figura 1 es un diagrama de la configuración de software de un sistema cliente-servidor al que se aplica un sistema de gestión de sesiones, según las realizaciones primera a tercera y séptima de la presente invención.
Tal como se muestra en la figura 1, un PC cliente -100- (terminal cliente) y un PC servidor -105- están interconectados a través de una red -106-. En las realizaciones primera a tercera y séptima, se supone que la red -106- se implementa mediante una red LAN o una red WAN, pero es posible emplear un tipo de red diferente de la LAN y de la WAN. Además, el PC cliente -100- y el PC servidor -105- pueden no estar conectados mediante la red -106- sino mediante una interfaz (cable) definida por la norma IEEE 1394 ó 1284 o similar.
En las realizaciones primera a séptima, se supone que el PC cliente -100- está implementado mediante un PC general (ordenador personal), pero en lugar del PC, se puede utilizar una impresora o un MFP (periférico multifunción). Es decir, las características de las realizaciones primera a séptima se pueden aplicar a una amplia variedad de aparatos equipados con funciones de comunicación en red, tal como un terminal de información portátil, un escáner y un aparato facsímil.
El PC cliente -100- incorpora aplicaciones cliente -101- y -101a-. La primera realización también se puede aplicar a un caso en el que el PC cliente -100- incorpora únicamente una o más de dos aplicaciones cliente (esto también se aplica a las realizaciones segunda a séptima).
Las aplicaciones cliente -101- y -101a- llevan a cabo la comunicación utilizando objetos stub -102- y -102a-, respectivamente. En este caso, el proceso de comunicación actual se lleva a cabo mediante una sección -103- de comunicación entre procesos de cliente.
La sección -103- de comunicación entre procesos de cliente se comunica con el PC servidor -105- utilizando una biblioteca de comunicación -104a- de un sistema operativo. La comunicación llevada a cabo utilizando la biblioteca de comunicación -104a- no sólo incluye una comunicación por conector (dirección IP + número de puerto), sino
65 E09156871 08-11-2011
también una RPC (llamada a procedimiento remoto), una LPC (llamada a procedimiento local) y una comunicación mediante servicios web o similar.
Una aplicación servidor -108- funciona sobre el PC servidor -105-. La aplicación servidor -108- lleva a cabo la comunicación utilizando una sección -107- de comunicación entre procesos de servidor. La sección -107- de comunicación entre procesos de servidor se comunica con el PC cliente -100- utilizando una biblioteca de comunicación -104b-, a través de la red -106-. Se pueden disponer una o más aplicaciones servidor -108-.
El proceso de comunicación actual entre la aplicación cliente -101- ó -101a- y la aplicación servidor -108- se ejecuta mediante la sección -103- de comunicación entre procesos de cliente y la sección -107- de comunicación entre procesos de servidor, tal como se ha descrito anteriormente. Este proceso de comunicación actual incluye un proceso de gestión de sesiones que implica una serie de solicitudes y respuestas. En otras palabras, el proceso de gestión de sesiones exclusivo de la presente invención es ejecutado mediante la sección -103- de comunicación entre procesos de cliente y la sección -107- de comunicación entre procesos de servidor.
Aunque en el sistema cliente-servidor de la figura 1 el cliente y el servidor están implementados cada uno mediante un PC (ordenador personal), las realizaciones primera a tercera se pueden aplicar a un sistema cliente-servidor compuesto por otros dispositivos de red, aparatos para el tratamiento de información equipados con funciones de comunicación, aparatos periféricos y así sucesivamente. En este caso, sólo se requiere que el sistema esté configurado de manera que las operaciones de programa llevadas a cabo mediante el PC cliente -100- o el PC servidor -105- en el sistema de cliente-servidor de la figura 1 se ejecuten utilizando una CPU, una memoria ROM o una memoria RAM dispuestas en un dispositivo de red o similar que no sean el PC cliente -100- y el PC servidor -105-.
Tanto el PC cliente -100- como el PC servidor -105- están implementados mediante un ordenador -2000- que tiene el hardware configurado tal como se muestra en la figura 2.
El ordenador -2000- está compuesto por un controlador principal -200- y un teclado -209-, un dispositivo de visualización -210- y una memoria externa -211- como equipo periférico. El controlador principal -200- está compuesto por una CPU -201-, una memoria RAM -202-, una memoria ROM -203-, un controlador -205- de teclado, un controlador -206- de visualización, un controlador -207- de disco y un controlador -208- de red.
La CPU -201- lleva a cabo un control centralizado de los dispositivos conectados a un bus de sistema -204-. La CPU -201- ejecuta diversos procesos incluyendo el procesamiento de documentos y el proceso que proporciona servicios basado en aplicaciones (un programa de procesamiento de documentos, un programa que proporciona servicios y así sucesivamente) almacenados en una memoria ROM -203b- de programa en la memoria ROM -203- o en la memoria externa (HD) -211-.
El programa de procesamiento de documentos se dispone para el procesamiento de documentos para procesar un documento que contiene gráficos, imágenes, texto y tablas (incluyendo hojas de cálculo) de forma mezclada. Además, la memoria externa -211- puede almacenar no sólo aplicaciones para el procesamiento de documentos sino también aplicaciones para obtener y procesar diversos tipos de información, tal como información de imágenes en imágenes fijas o imágenes en movimiento, e información de vídeo incluyendo información de música, información de sonido, etc.
La CPU -201- lleva a cabo el procesamiento para rasterizar una fuente de contorno, por ejemplo, en una memoria RAM de visualización incluida en la memoria RAM -202-, para visualizar, mediante la misma, las cadenas de caracteres en el dispositivo de visualización -210- a través del controlador -206- de visualización. Además, en base a una instrucción designada por un cursor de ratón (no mostrado) o similar en el dispositivo de visualización -210-, la CPU -201- abre una de las diversas ventanas asociadas y ejecuta uno de los diversos procesos de datos o procesos que proporcionan servicios asociados. En el caso de utilizar la aplicación cliente -101- ó -101a- o la aplicación servidor -108-, un usuario puede abrir una ventana de configuración para que la aplicación configure diversos ajustes en la ventana. El dispositivo -210- de visualización se puede implementar mediante cualquier dispositivo de visualización CRT, un dispositivo de visualización de cristal líquido, un dispositivo de visualización de plasma y similares.
La memoria RAM -202- se utiliza como una memoria principal, un área de trabajo, etc. de la CPU -201-. La memoria ROM -203- está compuesta por una memoria ROM -203a-de fuente, la memoria ROM -203b- de programa y una memoria ROM -203c- de datos.
La memoria ROM -203a- de fuente y la memoria externa -211- almacenan datos de fuente y similares para utilizarlos en el procesamiento de documentos y en el proceso de suministro de servicios. La memoria ROM -203b- de programa y la memoria externa -211- almacenan un sistema operativo como un programa de control de la CPU -201- y otros programas similares. La memoria ROM -203c- de datos y la memoria externa -211- almacenan varios tipos de datos (incluyendo programas) para utilizar en el procesamiento de documentos y en el proceso que proporciona servicios. Los programas almacenados en la memoria externa -211- están cargados cada uno en la
65 E09156871 08-11-2011
memoria RAM -202- cuando se ejecutan.
El controlador -205- de teclado controla los datos y las instrucciones de entrada del teclado -209- y de un dispositivo de puntero (no mostrado). El controlador -206- de visualización controla la operación de visualización del dispositivo -210- de visualización. El controlador -207- de disco controla el acceso a la memoria externa -211-.
El controlador -208- de red está conectado a la red -106- a través de una interfaz bidireccional -212-. El controlador -208- de red lleva a cabo la conexión o desconexión de la red y una sesión mediante la sección -103- ó -107- de comunicación entre procesos de cliente y la biblioteca de comunicación -104a- ó -104b-, mostrándose cada una de ellas en la figura 1.
El teclado -209- está dotado de teclas para introducir diversos tipos de datos e instrucciones. El dispositivo -210-de visualización muestra los diversos tipos de información implicados en el procesamiento de documentos, en el proceso de suministro de servicios, etc. La memoria externa -211- se implementa mediante un disco duro (HD), un disco flexible (FD), etc. La memoria externa -211- almacena un programa de inicio, diversas aplicaciones, datos de fuente, archivos de usuario, archivos editados, etc. La memoria externa -211- también almacena los programas de control como aplicaciones para ejecutar los respectivos procesos descritos más adelante en este documento con referencia a los diagramas de flujo y a los diagramas de secuencia mostrados en las figuras 6 a 9B, figuras 10A a 11B y figuras 12A a 13B.
La figura 3 es un diagrama de bloques que muestra en detalle la configuración de software de la sección -107- de comunicación entre procesos de servidor del PC servidor -105-.
La sección -107- de comunicación entre procesos de servidor está compuesta por un controlador -301- de comunicación entre procesos de servidor y una sección -302- de envío del identificador de servidor, y responde a una solicitud de comunicación del PC cliente -100-. Más específicamente, en respuesta a una solicitud del PC cliente -100-, el controlador -301- de comunicación entre procesos de servidor hace que la sección -302- de envío del identificador del servidor envíe un identificador -504- de servidor (ver la figura 5) o datos de respuesta generados por la aplicación -108- de servidor de vuelta al PC cliente -100-. El proceso para enviar el identificador -504- de servidor como respuesta se describirá en detalle más adelante en este documento.
La figura 4 es un diagrama de bloques que muestra en detalle la configuración de software de la sección -103- de comunicación entre procesos de cliente del PC cliente -100-. En la figura 4 se omiten los objetos stub -102- y -102adescritos con referencia a la figura 1 (lo mismo se aplica a las figuras 15 y 24). Tal como se muestra en la figura 4, la sección -103- de comunicación entre procesos de cliente está compuesta por un controlador -401- de comunicación entre procesos, una sección -402- de obtención del identificador de servidor, una sección -403- de gestión de sesiones, una sección -405- de gestión de la BD (base de datos), una sección -407- de gestión de la desconexión de la sesión y una sección -409- de gestión de la reconexión de la sesión. La sección -103- de comunicación entre procesos de cliente incluye, además, una sección -404- de determinación de la sesión, una BD -406- de información de gestión de sesiones y una sección -408- de almacenamiento del cómputo de referencia de conexiones.
La sección -103- de comunicación entre procesos de cliente lleva a cabo la gestión de sesiones bajo el control del controlador -401- de comunicación entre procesos para controlar, de esta manera, las operaciones de comunicación que se van a llevar a cabo entre las aplicaciones cliente -101- y -101a- y la aplicación servidor -108-. La sección -402- de obtención del identificador de servidor obtiene el identificador -504- de servidor devuelto desde la sección -302- de envío del identificador del servidor del PC servidor -105-. El identificador -504- de servidor se utiliza para seleccionar la sesión a utilizar.
La sección -403- de gestión de sesiones lleva a cabo el proceso para generar la información de la sesión o determina si eliminar o no la parte de la información de gestión almacenada en la BD -406- de información de gestión de sesiones. La sección -404- de determinación de la sesión determina si las sesiones existentes para las direcciones de destino diferentes de una dirección de destino, designada al solicitar la conexión, incluyen o no una que implique el mismo servidor que se ha identificado mediante el identificador -504- de servidor (información de identificación de servidor). En otras palabras, la sección -404- de determinación de la sesión determina si llevar a cabo la comunicación estableciendo una nueva sesión o utilizando una sesión existente.
La sección -405- de gestión de la BD controla el acceso a la BD -406- de información de gestión de sesiones (ver la figura 5). La sección -407- de gestión de la desconexión de la sesión gestiona la desconexión de la sesión en base a un cómputo de referencia de conexiones. La sección -408- de almacenamiento del cómputo de referencia de conexiones almacena el cómputo de referencia de conexiones. Este cómputo de referencia de conexiones se utiliza a efectos de determinar la sincronización para cerrar una sesión. La sección -409- de gestión de la reconexión de sesiones lleva a cabo el control a efectos de continuar una comunicación llevada a cabo actualmente en una sesión en la que ha ocurrido un error de comunicación, mediante la reconexión a otra dirección (conector).
La figura 5 es un diagrama de un ejemplo de la información de gestión de sesiones registrada en la BD -406- de la información de gestión de sesiones. Un identificador -501- de la aplicación es un identificador (etiqueta de instancia)
65 E09156871 08-11-2011
para identificar la aplicación cliente -101- ó -101a- que ha emitido una solicitud de conexión.
La información -502- de la dirección de la solicitud es indicativa de una dirección de destino, designada por la aplicación cliente -101- ó -101a-, cuando la aplicación cliente -101- ó -101a- solicita una conexión a la misma. La dirección de destino incluye una dirección IP -502a- y un número de puerto -502b-. La información -503- de la dirección de comunicación es indicativa de la dirección de un destino de conexión (PC servidor -105-) de una sesión seleccionada para la comunicación actual después de que se haya determinado la disponibilidad de una sesión existente en base a la dirección de destino designada. Esta dirección de comunicación incluye una dirección IP -503a- y un número de puerto -503b-.
La información -503- de la dirección de comunicación puede incluir, además de la dirección IP -503a- y del número de puerto -503b-, un punto terminal como información alternativa para el número de puerto -503b- o una información de canal como información alternativa para la dirección IP -503a- y el número de puerto -503b-.
El identificador -504- de servidor (etiqueta de instancia) se obtiene mediante la aplicación cliente -101- ó -101a- en un lado de la solicitud de conexión solicitando al PC servidor -105-, en base a una dirección de destino (una dirección IP, un número de puerto y así sucesivamente). Un número de sesión -505- es un número de identificación asignado a cada sesión establecido en base a una serie de solicitudes y respuestas (transferencia de datos) intercambiadas entre la aplicación cliente -101- ó -101a- en el lado de la solicitud de conexión y la aplicación -108de servidor como un destino de conexión, a efectos de identificar una sesión de otra.
A continuación, el proceso de gestión de sesiones ejecutado por la sección -107- de comunicación entre procesos de servidor del PC servidor -105- se describirá haciendo referencia al diagrama de flujo de la figura 6.
Al recibir una solicitud de conexión desde un PC cliente -100-, el controlador -301- de comunicación entre procesos de servidor de la sección -107- de comunicación entre procesos de servidor hace que la sección -302- de envío del identificador de servidor genere un identificador -504- de servidor (etapa S601). Se utiliza un UUID (identificador universalmente único) o similar, que permite la identificación única, como identificador -504- del servidor. A partir de entonces, la sección -107- de comunicación entre procesos de servidor del PC servidor -105- devuelve el mismo identificador -504- de servidor independientemente de la dirección IP y del número de puerto de un conector que ha recibido los paquetes.
A continuación, el controlador -301- de comunicación entre procesos de servidor recibe un paquete desde el PC cliente -100- a través de la biblioteca de comunicación -104b- (etapa S602). Posteriormente, el controlador -301- de comunicación entre procesos de servidor determina si el paquete recibido desde el PC cliente -100- se debe utilizar
o no para solicitar la obtención del identificador -504- de servidor (etapa S603).
Si el paquete es para solicitar la obtención del identificador -504- de servidor, el controlador -301- de comunicación entre procesos de servidor devuelve el identificador -504- de servidor generado por la sección -302- de envío del identificador de servidor en la etapa S601 al PC cliente que solicita el identificador -504- de servidor. Este proceso se lleva a cabo en una etapa S604. En este caso, el identificador -504- de servidor se devuelve como paquete de respuesta al PC cliente -100- a través de la red -106-, utilizando la biblioteca de comunicación -104b-.
Posteriormente, el controlador -301- de comunicación entre procesos de servidor determina si se ha recibido o no una instrucción de final de servicio (etapa S608). Si no se ha recibido la instrucción de final de servicio, el proceso vuelve a la etapa S602 y se proporciona el servicio de manera continua.
Por otra parte, si el paquete recibido no es para solicitar la obtención del identificador -504- de servidor, el controlador -301- de comunicación entre procesos de servidor determina si el paquete recibido es o no una solicitud para la transmisión de nuevos datos (etapa S605).
Si el paquete recibido solicita la transmisión de nuevos datos, el controlador -301- de comunicación entre procesos de servidor genera un conector para la transferencia de datos al PC cliente -100- (etapa S606). Este procedimiento de generación de conector se lleva a cabo utilizando la biblioteca de comunicación -104b- mediante el proceso de aceptación en base al protocolo TCP como protocolo de comunicación.
Tras la ejecución de la etapa S606, el proceso avanza a la etapa S607. Por otra parte, si el paquete recibido no solicita la transmisión de nuevos datos, el proceso salta el proceso de generación de conector de la etapa S606 a la etapa S607.
En la etapa S607, el controlador -301- de comunicación entre procesos de servidor hace que la aplicación -108- de servidor ejecute el proceso de servicios para el paquete recibido en la etapa S602. Más específicamente, el controlador -301- de comunicación entre procesos de servidor transfiere los datos recibidos desde el PC cliente -100- a la aplicación -108- de servidor, y la aplicación -108- de servidor genera unos datos de respuesta según la solicitud del PC cliente -100-. Además, la aplicación -108- de servidor transfiere los datos de respuesta generados al controlador -301- de comunicación entre procesos de servidor. El controlador -301- de comunicación entre procesos
65 E09156871 08-11-2011
de servidor devuelve los datos de respuesta al PC cliente -100- a través de la red -106-, utilizando la biblioteca de comunicación -104b-. Entonces, el controlador -301- de comunicación entre procesos de servidor ejecuta la etapa S608.
A continuación, un proceso de gestión de sesiones ejecutado por la sección -103- de comunicación entre procesos de cliente del PC cliente -100- se describirá con referencia a un diagrama de flujo de la figura 7. El proceso del presente diagrama de flujo es actualmente o directamente ejecutado por el controlador -401- de comunicación entre procesos (lo mismo se aplica a las figuras 10A, 10B, 12A, 12B, 18, 20, 21, 26A y 26B).
El controlador -401- de comunicación entre procesos de la sección -103- de comunicación entre procesos de cliente acepta una solicitud de conexión a realizar a la aplicación -108- de servidor del PC servidor -105- (etapa S701). Esta solicitud de conexión se realiza desde la aplicación cliente -101- ó -101a-.
Posteriormente, el controlador -401- de comunicación entre procesos obtiene el identificador -504- de servidor devuelto desde el PC servidor -105- en respuesta a la solicitud de conexión enviada a la dirección de destino, a través de la sección -402- de obtención del identificador de servidor (etapa S702). Más específicamente, bajo el control del controlador -401- de comunicación entre procesos, la sección -402- de obtención del identificador de servidor utiliza la biblioteca de comunicación -104a- para enviar información de la solicitud de obtención para obtener el identificador -504- de servidor al PC servidor -105- a través de la red -106-. Además, bajo el control del controlador -401- de comunicación entre procesos, la sección -402- de obtención del identificador del servidor obtiene el identificador -504- de servidor enviado desde el PC servidor -105-.
Posteriormente, bajo el control del controlador -401- de comunicación entre procesos, la sección -403- de gestión de sesiones determina si se encuentra presente o no una sesión existente asociada al mismo identificador -504- de servidor que el obtenido en la etapa S702 (etapa S703).
En este caso, la sección -403- de gestión de sesiones hace que la sección -405- de gestión de la BD obtenga la información de gestión de sesiones de la BD -406- de información de gestión de sesiones. Entonces, la sección -403- de gestión de sesiones determina, en base a la información de gestión de sesiones, si una sesión existente asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión realizada en este momento se encuentra presente o no entre las sesiones existentes que se encuentran en comunicación actualmente utilizando otras direcciones. Este proceso de determinación se lleva a cabo actualmente mediante la sección -404- de determinación de la sesión.
Haciendo referencia a un ejemplo de la información de gestión de sesiones de la figura 5, en las comunicaciones indicadas por los números de gestión 1 y 2, se realizan las solicitudes de conexión desde la aplicación cliente -101ó -101a- para conectarse a diferentes direcciones. Aunque las direcciones son diferentes, estas comunicaciones se llevan a cabo con el mismo PC servidor -105-. En este caso, no es eficiente crear una serie de sesiones para comunicarse con el mismo PC servidor -105- y, por tanto, las comunicaciones indicadas por los números de gestión 1 y 2 se llevan a cabo utilizando una única sesión.
Más específicamente, por ejemplo, en el caso de inicio de la comunicación indicada por el número de gestión 2 en un estado en el que la comunicación indicada por el número de gestión 1 se ha iniciado primero, el controlador -401de comunicación entre procesos no crea una nueva sesión. En su lugar, el controlador -401- de comunicación entre procesos selecciona la sesión existente indicada por el número de gestión 1 como una sesión de transferencia de datos para la comunicación indicada por el número de gestión 2 (etapa S707). Posteriormente, el proceso avanza a una etapa S708, descrita más adelante en este documento.
Cuando se selecciona una sesión existente, no se requiere la desconexión de la sesión si la sesión está basada en una comunicación con protocolo UDP (protocolo de tipo sin conexión), mientras que se requiere la desconexión de la sesión si la sesión se basa en una comunicación con protocolo TCP (protocolo de tipo con conexión). Esto se aplica a una etapa S707 en cada una de las figuras 10A a 12B.
Si no se encuentra presente ninguna sesión existente asociada al mismo identificador -504- de servidor que se obtiene en este momento, la sección -403- de gestión de sesiones crea un conector nuevo a efectos de establecer una nueva sesión (etapa S704). En este caso, la sección -403- de gestión de sesiones utiliza la biblioteca de comunicación -104a- para crear el conector nuevo en base a la dirección de destino designada por la aplicación cliente -101- ó -101a-.
A continuación, la sección -403- de gestión de sesiones hace que la sección -405- de gestión de la BD registre la información de la nueva sesión, incluyendo el conector nuevo, en la BD -406- de la información de gestión de sesiones (etapa S705). Posteriormente, el controlador -401- de comunicación entre procesos selecciona la nueva sesión en base a la dirección de destino designada por la aplicación cliente -101- ó -101a-, para la presente sesión de transferencia de datos (etapa S706).
A continuación, el controlador -401- de comunicación entre procesos transfiere los datos desde la aplicación cliente
65 E09156871 08-11-2011
-101- ó -101a- a la aplicación -108- de servidor mediante la sesión seleccionada en la etapa S706 ó S707 (etapa S708).
Se debe observar que cuando se selecciona una sesión nueva como sesión de transferencia de datos, la dirección de destino designada por la aplicación cliente -101- ó -101a- y una dirección de comunicación para la comunicación actual se vuelven idénticas entre sí en las etapas S704 a S708. De esta manera, el proceso de comunicación mediante la sesión nueva es el mismo que el llevado a cabo en la RCP (llamada a procedimiento remoto) como una técnica de comunicación entre procesos convencional.
Por otra parte, cuando se selecciona una sesión existente, la dirección de destino designada por la aplicación cliente -101- ó -101a- y una dirección de comunicación para la comunicación actual difieren entre sí. No obstante, el identificador -504- de servidor obtenido en la etapa S702 como una respuesta a la solicitud de conexión realizada en este momento es idéntica al identificador -504- de servidor de la sesión existente. Por tanto, la sección -103- de comunicación entre procesos de cliente del PC cliente -100- puede comunicarse con la sección -107- de comunicación entre procesos de servidor del PC servidor -105- idéntico.
Por esta razón, en la presente realización, en el proceso de la etapa S707, una sesión existente asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión realizada en este momento se selecciona para la presente sesión de comunicación de datos. En este caso, no se crea un conector nuevo (sesión) para la comunicación de datos en base a la dirección de destino designada por la aplicación cliente -101- ó -101a-.
Por tanto, llevando a cabo la comunicación mediante una sesión existente sin crear un conector nuevo, el PC cliente -100- y el PC servidor -105-pueden conseguir la reducción del número de conectores de comunicación, lo que contribuye al ahorro de recursos de red.
A continuación, el controlador -401- de comunicación entre procesos determina si se ha recibido o no una solicitud de cierre desde la aplicación cliente -101- ó -101a- o una solicitud de desconexión desde la biblioteca de comunicación -104a- (etapa S709). Si no se ha recibido una solicitud de cierre ni una solicitud de desconexión, el proceso vuelve a la etapa S701 para continuar la ejecución de las etapas S701 a S709.
Por otra parte, si se ha recibido la solicitud de cierre o la solicitud de desconexión, la sección -403- de gestión de sesiones hace que la biblioteca de comunicación -104a- ejecute el proceso de cierre para cerrar la sesión o conector utilizando la dirección asociada a la solicitud de cierre (desconexión) (etapa S710). Entonces, la sección -403- de gestión de sesiones hace que la sección -405- de gestión de la BD actualice la información de gestión de sesiones en la BD -406- de información de gestión de sesiones en base a un resultado del proceso en la etapa S710 (etapa S711).
A continuación, se describirán los ejemplos de los procesos mostrados en las figuras 6 y 7 con referencia a los diagramas de secuencia mostrados en las figuras 8A a 9B. Las figuras 8A y 8B muestran una secuencia de proceso en el caso de ninguna sesión existente mencionado anteriormente.
En un proceso P801 de la figura 8A, cuando la aplicación -108- de servidor inicia el servicio, la sección -107- de comunicación entre procesos de servidor inicia un proceso de escucha para recibir los paquetes del PC cliente -100-. Además, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso para crear un UUID para utilizar como identificador -504- de servidor en la etapa S601.
Además, en el proceso P801, la sección -107- de comunicación entre procesos de servidor crea un conector de recepción a efectos de llevar a cabo la recepción en la dirección IPv4 [10.0.0.10] y número de puerto [1025] en el proceso de escucha. De manera similar, la sección -107- de comunicación entre procesos de servidor también crea un conector de recepción para la dirección IPv6 [2001::10] y número de puerto [1025].
En un proceso P802, la aplicación cliente -101- ó -101a- efectúa una solicitud a la sección -103- de comunicación entre procesos de cliente para conectarse a la dirección IPv4 [10.0.0.10] con número de puerto [1025]. En un proceso P803, la sección -103- de comunicación entre procesos de cliente recibe la solicitud de conexión y lleva a cabo el proceso de la etapa S702 para obtener el identificador -504- de servidor. En un proceso P804, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso de la etapa S604 para devolver el identificador -504- de servidor.
La negociación en los procesos P803 y P804 se lleva a cabo preferentemente utilizando una comunicación UDP que es ligeramente inferior en fiabilidad a la comunicación TCP pero permite una comunicación de alta velocidad. No obstante, la comunicación TCP se puede utilizar para la negociación. Esto también se aplica a las negociaciones en las figuras 9A, 9B, 11A, 11B, 13A y 13B.
En un proceso P805, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de la etapa S703, es decir, el proceso para determinar, en base a la información de gestión de sesiones, si se encuentra
65 E09156871 08-11-2011
presente o no una sesión existente asociada al mismo identificador -504- de servidor. En el ejemplo de secuencia de las figuras 8A y 8B, se determina en el proceso que no se encuentra presente ninguna sesión existente. Como consecuencia, en un proceso P806, el proceso de las etapas S704 a 706 se ejecuta para crear una sesión nueva.
En un proceso P807, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso de aceptación basado en TCP para crear, de esta manera, un conector para la sesión nueva. En un proceso P808, la sección -103- de comunicación entre procesos de cliente devuelve el resultado del proceso de conexión llevado a cabo en respuesta a la solicitud de conexión en el proceso P802 a la aplicación cliente -101- ó -101a-.
En un proceso P809, se lleva a cabo el proceso de la etapa S708. Más específicamente, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de transmisión de datos para transmitir datos a la dirección IPv4 [10.0.0.10] con número de puerto [1025] designada por la aplicación cliente -101- ó -101a-.
Siguiendo este proceso de transmisión, la sección -103- de comunicación entre procesos de cliente transfiere datos al PC servidor -105- en los procesos P810-1 a P810-n, según la cantidad de datos de la aplicación cliente -101- ó -101a-.
En un proceso P811, la sección -107- de comunicación entre procesos de servidor recibe los datos desde la aplicación cliente -101- ó -101a- y transfiere los datos a la aplicación -108- de servidor. Al finalizar la transferencia de datos, la sección -103- de comunicación entre procesos de cliente notifica un resultado de la transferencia de datos a la aplicación cliente -101- ó -101a- en un proceso P812.
La comunicación de datos actual en los procesos P809 a P810-n se lleva a cabo preferentemente utilizando la comunicación TCP que es inferior en velocidad de comunicación pero superior en fiabilidad a la comunicación UDP. No obstante, se puede utilizar la comunicación UDP para la comunicación de datos actual. Esto se aplica a las negociaciones de las figuras 9A, 9B, 11A, 11B, 13A y 13B.
En un proceso P813, la aplicación cliente -101- ó -101a- emite una solicitud de desconexión (cierre) para cerrar la conexión con la dirección IPv4 [10.0.0.10] con número de puerto [1025] a la sección -103- de comunicación entre procesos de cliente. En respuesta a la solicitud de desconexión, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de desconexión en la etapa S710.
En un proceso P814, la sección -107- de comunicación entre procesos de servidor recibe una instrucción para cerrar la conexión con la dirección IPv4 [10.0.0.10] con número de puerto [1025] desde la sección -103- de comunicación entre procesos de cliente y lleva a cabo el proceso de desconexión de la sesión. En un proceso P815, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso en la etapa S711 y notifica la desconexión de la sesión a la aplicación cliente -101- ó -101a-.
Las figuras 9A y 9B muestran una secuencia de procesos ejecutados por el sistema de gestión de sesiones, según la primera realización, en un caso en el que se encuentra presente una sesión existente. En un proceso P901 de la figura 9A, cuando la aplicación -108- de servidor inicia el servicio, la sección -107- de comunicación entre procesos de servidor inicia un proceso de escucha y crea un identificador -504- de servidor (UUID) en la etapa S601, a efectos de recibir un paquete desde un cliente.
Además, en el proceso P901, la sección -107- de comunicación entre procesos de servidor crea un conector de recepción a efectos de llevar a cabo el proceso de recepción en la dirección IPv4 [10.0.0.10] con número de puerto [1025] en el proceso de escucha. La sección -107- de comunicación entre procesos de servidor también crea un conector de recepción para la dirección IPv6 [2001::10] con número de puerto [1025].
En un proceso P902, la aplicación cliente -101- ó -101a- emite una solicitud de conexión a la dirección IPv4
[10.0.0.10] con número de puerto [1025] a la sección -103- de comunicación entre procesos de cliente. En un proceso P903, la sección -103- de comunicación entre procesos de cliente recibe la solicitud de conexión y lleva a cabo el proceso en la etapa S702 para obtener el identificador -504- de servidor. En un proceso P904, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso en la etapa S604 para devolver el identificador -504- de servidor como respuesta.
En un proceso P905, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso en la etapa S703, es decir, el proceso para determinar, en base a la información de gestión de sesiones, si se encuentra presente o no una sesión existente asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión. En el ejemplo de secuencia de las figuras 9A y 9B, se determina en el proceso de determinación del proceso P905 que no se encuentra presente ninguna sesión existente. Como consecuencia, en un proceso P906, el proceso en las etapas S704 a S706 se ejecuta para crear una sesión nueva.
En un proceso P907, la sección -107- de comunicación entre procesos de servidor crea un conector para la nueva sesión ejecutando un proceso de aceptación basado en TCP. En un proceso P908, la sección -103- de comunicación entre procesos de cliente devuelve el resultado del proceso de conexión realizado en respuesta a la
65 E09156871 08-11-2011
solicitud de conexión en el proceso P802 a la aplicación cliente -101- ó -101a-.
En un proceso P909, se lleva a cabo el proceso de la etapa S708. Más específicamente, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de transmisión de datos para transmitir datos a la dirección IPv4 [10.0.0.10] con número de puerto [1025] designado por la aplicación cliente -101- ó -101a-. Siguiendo este proceso de transmisión, la sección -103- de comunicación entre procesos de cliente transfiere datos al PC servidor -105- en los procesos P910-1 a P910-n, según la cantidad de datos de la aplicación cliente -101- ó -101a-.
En un proceso P911, la sección -107- de comunicación entre procesos de servidor transfiere los datos recibidos desde la aplicación cliente -101- ó -101a- a la aplicación -108- de servidor. Al finalizar la transferencia de datos, la sección -103- de comunicación entre procesos de cliente notifica la finalización de la transferencia de datos a la aplicación cliente -101- ó -101a- en un proceso P912.
En un proceso P913, la aplicación cliente -101- ó -101a- emite una solicitud de conexión para conectar con la dirección IPv6 [2001::10] con número de puerto [1025] a la sección -103- de comunicación entre procesos de cliente. En un proceso P914, la sección -107- de comunicación entre procesos de servidor recibe la solicitud de conexión de la sección -103- de comunicación entre procesos de cliente y lleva a cabo el proceso en la etapa S604 para devolver al identificador -504- de servidor como respuesta. En este caso, la aplicación cliente -101- ó -101a- obtiene el identificador -504- de servidor asociado a la dirección IPv6 [2001::10] con número de puerto [1025].
En un proceso P915, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso en la etapa S703, es decir, el proceso para determinar, en base a la información de gestión de sesiones, si se encuentra presente o no una sesión existente asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión.
En el ejemplo de secuencia de las figuras 9A y 9B, el mismo identificador que el identificador de servidor “10” obtenido para la dirección IPv6 [2001::10] con número de puerto [1025] se devuelve desde la dirección IPv4
[10.0.0.10] con número de puerto [1025] con el que ya se ha establecido una sesión. Por tanto, la sección -103- de comunicación entre procesos de cliente determina que se encuentra presente una sesión existente asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión, y no establece ninguna sesión para la dirección IPv6 [2001::10] con número de puerto [1025].
A partir de entonces, la sección -103- de comunicación entre procesos de cliente transfiere datos que están asociados originalmente a la dirección IPv6 [2001::10] con número de puerto [1025] a la dirección IPv4 [10.0.0.10] con número de puerto [1025].
Más específicamente, en un proceso P916, la aplicación cliente -101- ó -101a- solicita a la sección -103- de comunicación entre procesos de cliente que transfiera datos a la dirección IPv6 [2001::10] con número de puerto [1025].
En respuesta a esta solicitud de transferencia de datos, en un proceso P917, la sección -103- de comunicación entre procesos de cliente transfiere datos asociados a la solicitud a la dirección IPv4 [10.0.0.10] con número de puerto [1025] que es una dirección diferente de la dirección IPv6 [2001::10] con número de puerto [1025] designada por la aplicación cliente -101- ó -101a- para la transferencia de datos.
En un proceso P918, la sección -103- de comunicación entre procesos de cliente lleva a cabo repetidamente el proceso de transferencia requerido utilizando la sesión existente, según la cantidad de datos de la aplicación cliente -101- ó -101a-, hasta que finaliza la transferencia de datos.
En un proceso P919, la sección -107- de comunicación entre procesos de servidor transfiere los datos recibidos desde la aplicación cliente -101- ó -101a- a la aplicación -108- de servidor. En un proceso P920, la aplicación cliente -101- ó -101a- ordena a la sección -103- de comunicación entre procesos de cliente que desconecte (cierre) la conexión con la dirección IPv4 [10.0.0.10] con número de puerto [1025]. En respuesta a esta instrucción de desconexión, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de desconexión en la etapa S710.
En un proceso P921, la sección -107- de comunicación entre procesos de servidor recibe una instrucción de desconexión desde la sección -103- de comunicación entre procesos de cliente y lleva a cabo el proceso de desconexión para desconectar la sesión para la dirección IPv4 [10.0.0.10] con número de puerto [1025].
Tal como se ha descrito anteriormente, según la primera realización, una sesión existente establecida para una dirección que es diferente de una dirección de destino designada por la aplicación cliente -101- ó -101a- pero asociada a un identificador -504- de servidor idéntico, se utiliza como una sesión para comunicación de datos.
Esto hace posible utilizar o ahorrar de manera eficiente los recursos de red, tal como conectores. Las realizaciones segunda y tercera descritas a continuación en este documento también pueden proporcionar el mismo efecto
65 E09156871 08-11-2011
ventajoso.
En la primera realización, por ejemplo, cuando la aplicación cliente -101- desconecta una primera sesión, la aplicación cliente -101a- que utiliza la primera sesión como una sesión existente no puede realizar la comunicación de datos por más tiempo.
No obstante, si la sección -103- de comunicación entre procesos de cliente está configurada para incrementar o disminuir únicamente el contador de referencia de una sesión en respuesta a una solicitud de conexión o una solicitud de cierre desde la aplicación cliente -101- ó -101a-y desconectar en realidad la sesión cuando el contador de referencia es igual a 0, es posible evitar que ocurra un problema debido a la desconexión de la sesión incluso cuando la sesión se comparte por las aplicaciones cliente -101- ó -101a-.
Para este fin, la segunda realización está configurada de manera que incluso cuando la transmisión de datos se lleva a cabo en una sesión existente establecida para una dirección diferente de una dirección de destino designada por una de las aplicaciones cliente -101- ó -101a-, se evita que una comunicación mediante la sesión existente se desconecte involuntariamente por una instrucción de desconexión desde otra de las aplicaciones cliente -101- y -101a-.
Las figuras 10A y 10B son diagramas de flujo de un proceso de gestión de sesiones ejecutado por la sección -103de comunicación entre procesos de cliente de un sistema de gestión de sesiones según la segunda realización. La configuración del sistema de gestión de sesiones según la segunda realización es la misma que la del sistema de gestión de sesiones según la primera realización y, por tanto, se omite la descripción de la misma (lo mismo se aplica a la tercera realización). Además, el proceso de las etapas S701 a S711 de la figura 10B es el mismo que el de las etapas S701 a S711 del diagrama de flujo de la figura 7 y, por tanto, se ofrecerá la descripción del mismo únicamente cuando se requiera.
Haciendo referencia a la figura 10B, en una etapa S1001, el controlador -401- de comunicación entre procesos incrementa en 1 el cómputo de un contador de referencia de cierres para una sesión seleccionada en la etapa S706 ó S707. El contador de referencia de cierres se corresponde con el contador de referencia mencionado anteriormente o con el contador de referencia de conexiones de la figura 4, y cuenta el número de solicitudes de conexión. La sección -407- de gestión de la desconexión de la sesión del PC cliente -100- almacena los cómputos de los contadores de referencia de cierres de las respectivas sesiones en la sección -408- de almacenamiento del cómputo de referencia de conexiones y determina, en base a cada uno de los cómputos, si desconectar o no una sesión asociada.
A continuación, el controlador -401- de comunicación entre procesos transfiere datos desde las aplicaciones cliente -101- y -101a- a la aplicación -108- de servidor mediante la sesión seleccionada en la etapa S706 ó S707 (etapa S708). Cuando se selecciona la sesión existente establecida para la dirección diferente de la dirección de destino en la etapa S707, se incrementa en 1 el cómputo del contador de referencia de cierres de la sesión existente para la transferencia de datos, sin crear una sesión nueva.
Posteriormente, el controlador -401- de comunicación entre procesos determina si se ha recibido o no una solicitud de cierre desde la aplicación cliente -101- ó -101a- o una solicitud de desconexión desde la biblioteca de comunicación -104a- (etapa S709). Si no se ha recibido la solicitud de cierre o la solicitud de desconexión, el proceso vuelve a la etapa S701 para continuar la ejecución de las etapas S701 a S709.
Por otra parte, si se ha recibido la solicitud de cierre o la solicitud de desconexión, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones solicite a la sección -407- de gestión de la desconexión de la sesión que ejecute el proceso de cierre para cerrar la sesión para la dirección asociada a la solicitud de cierre o a la solicitud de desconexión (etapa S1002). En este caso, la sección -407- de gestión de la desconexión de la sesión disminuye en 1 el cómputo del contador de referencia de cierres para la sesión en la sección -408- de almacenamiento del cómputo de referencia de conexiones (etapa S1002).
A continuación, el controlador -401- de comunicación entre procesos determina si el cómputo del contador de referencia de cierres es igual o no a 0 después de haberse disminuido en 1 (etapa S1003). Si el cómputo no es igual a 0 el proceso vuelve a la etapa S701.
Por otra parte, si el cómputo del contador de referencia de cierres es igual a 0, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones y la biblioteca de comunicación -104a- lleven a cabo el proceso de cierre para cerrar la sesión o el conector asociados a la solicitud de cierre (desconexión) (etapa S710). Posteriormente, la sección -403- de gestión de sesiones hace que la sección -405- de gestión de la BD actualice la información de gestión de sesiones en la BD -406- de información de gestión de sesiones en base al resultado del proceso de la etapa S710 (etapa S711).
A continuación, se describirá un ejemplo del proceso de gestión de sesiones de las figuras 10A y 10B con referencia a un diagrama de secuencia mostrado en las figuras 11A y 11B. Se debe observar que las secuencias de las figuras
65 E09156871 08-11-2011
11A y 11B muestran un caso en el que la transmisión de datos se lleva a cabo mediante una sesión existente establecida para una dirección diferente de una dirección de destino. En la secuencia descrita a continuación, se lleva a cabo la desconexión de la sesión existente de tal manera que evita que la comunicación mediante la sesión existente se desactive involuntariamente.
En un proceso P1101, dado que la nueva sesión se establece en la etapa S706, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso en la etapa S1001 para aumentar en 1 el cómputo del contador de referencia de cierres. Este contador de referencia de cierres funciona como un contador para contar el número de solicitudes de conexión y de solicitudes de desconexión para cada dirección de destino a la que se ha realizado una solicitud de conexión.
En un proceso P1102, se hace uso de la sesión existente establecida para la dirección diferente de la dirección de destino en la etapa S707. Por tanto, la sección -103- de comunicación entre procesos de cliente no crea una sesión nueva, sino que lleva a cabo el proceso en la etapa S1001 para aumentar en 1 el cómputo del contador de referencia de cierres.
En este momento, el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones para el PC servidor -105- asignado con el identificador -504- de servidor “10” es igual a “2”. La dirección actual de comunicación se fija a la dirección IPv4 [10.0.0.10] con número de puerto [1025].
Además de la dirección IPv4 [10.0.0.10] con número de puerto [1025], existe la dirección IPv6 [2001::10] con número de puerto [1025] como una dirección de destino y ambas direcciones se encuentran en un estado de conexión.
En un proceso P1103, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de cierre para la dirección IPv4 [10.0.0.10] con número de puerto [1025]. En este momento, se ejecuta el proceso en la etapa S1002, mediante el cual el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones asociado a la sesión se disminuye en 1.
Cuando se ejecuta este proceso de cierre, el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones para el PC servidor -105- asignado con el identificador de servidor “10” es igual a 1. Además, la dirección de comunicación actual sigue siendo la dirección IPv4 [10.0.0.10] con número de puerto [1025]. Además, la dirección IPv6 [2001::10] con número de puerto [1025] existe como la dirección de destino y la dirección se encuentra en un estado conectado.
En un proceso P1104, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de cierre para la dirección IPv6 [2001::10] con número de puerto [1025]. En este momento, se ejecuta el proceso en la etapa S1002, mediante el cual el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones se disminuye en 1.
Cuando se ejecuta el proceso de cierre, el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones asociado al PC servidor -105- asignado con el identificador de servidor “10” es igual a 0. Dado que el cómputo del contador de referencia de cierres es igual a 0, la sección -103- de comunicación entre procesos de cliente lleva a cabo el proceso de cierre de la sesión en la etapa S710 en un proceso P1105. En el presente ejemplo, la aplicación cliente -101- ó -101a- da una instrucción de desconexión para la dirección IPv6 [2001::10] con número de puerto [1025] a la sección -103- de comunicación entre procesos de cliente.
No obstante, la sección -103- de comunicación entre procesos de cliente que ha recibido la instrucción de desconexión desde la aplicación cliente -101- ó -101a- lleva a cabo el proceso de desconexión para la dirección IPv4
[10.0.0.10] con número de puerto [1025] como la dirección de comunicación actual. Este proceso de desconexión se ejecuta en las etapas S710 y S711.
A continuación, en un proceso P1106, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso siguiente: en respuesta a la instrucción de desconexión para la dirección IPv4 [10.0.0.10] con número de puerto [1025] de la sección -103- de comunicación entre procesos de cliente, la sección -107- de comunicación entre procesos de servidor lleva a cabo el proceso de desconexión para desconectar la sesión asociada, utilizando la biblioteca de comunicación -104b-.
Esto significa lo siguiente: supongamos que cuando la comunicación se lleva a cabo en una sesión existente establecida para una dirección diferente de una dirección de destino designada por una aplicación, se emite desde otra aplicación una instrucción de desconexión para desconectar la sesión existente. En este caso, la sesión existente no se desconecta.
En otras palabras, según la segunda realización, incluso en un caso en el que la transmisión de datos se lleva a cabo en una sesión existente establecida para una dirección diferente de una dirección de destino, la comunicación
65 E09156871 08-11-2011
mediante la sesión existente no se desconecta de manera involuntaria mediante una instrucción de desconexión de otra aplicación.
Supongamos, por ejemplo, que cuando la aplicación cliente -101- desconecta una sesión que la aplicación cliente -101a- está utilizando como una sesión existente para la comunicación de datos, la aplicación cliente -101a- se vuelve incapaz de llevar a cabo la comunicación de datos por más tiempo.
No obstante, configurando, por ejemplo, de manera que la sección -103- de comunicación entre procesos de cliente únicamente incrementa y disminuye el cómputo de un contador de referencia, dispuesto para una sesión existente para el mismo servidor, en respuesta a cada solicitud de conexión y a cada solicitud de cierre (desconexión) de la misma desde la aplicación cliente -101- ó -101a-, y la sesión se desconecta en realidad únicamente cuando el contador de referencia es igual a 0, es posible evitar que tenga lugar el problema mencionado anteriormente al desconectar la sesión incluso si la sesión es compartida por las aplicaciones cliente -101- ó -101a-.
Según la primera realización, incluso cuando las aplicaciones cliente -101- ó -101a- designan diferentes direcciones de destino, respectivamente, se puede utilizar la misma sesión. En este caso, una dirección de comunicación utilizada actualmente para la comunicación se fija a una primera dirección de destino utilizada para crear la sesión.
No obstante, si tiene lugar un problema de comunicación en la comunicación que utiliza la primera dirección de destino utilizada para crear la sesión, incluso cuando una segunda dirección de destino se encuentra disponible para la comunicación, una aplicación cliente que originalmente tenía designada la segunda dirección de destino y actualmente lleva a cabo la comunicación en la misma sesión ya que la otra no puede realizar la comunicación por más tiempo.
Según la tercera realización, incluso si una sesión se encuentra con dicho problema de comunicación, desde el momento en que existe una dirección de destino disponible para la comunicación, se hace posible realizar la comunicación en la sesión.
Las figuras 12A y 12B son diagramas de flujo de un proceso de gestión de sesiones ejecutado por la sección -401de comunicación entre procesos de cliente del PC cliente -100- de un sistema de gestión de sesiones según la tercera realización de la presente invención. Se debe observar que las etapas S701 a S711 en las figuras 12A y 12B son las mismas que las etapas S701 a S711 de los diagramas de flujo de las figuras 7A y 7B y, por tanto, no se describirán todas las etapas sino únicamente las etapas únicas a la tercera realización.
Haciendo referencia a las figuras 12A y 12B, el controlador -401- de comunicación entre procesos transfiere datos desde la aplicación cliente -101- ó -101a- a la aplicación -108- de servidor mediante la sesión seleccionada en la etapa S706 ó S707 (etapa S708).
A continuación, el controlador -401- de comunicación entre procesos determina si tiene éxito o no la transferencia de datos (etapa S1201). Si la transferencia de datos tiene éxito, el controlador -401- de comunicación entre procesos determina si se ha recibido o no una solicitud de cierre desde la aplicación cliente -101- ó -101a- o una solicitud de desconexión desde la biblioteca de comunicación -104a- (etapa S709).
Por otra parte, si la transferencia de datos no tiene éxito, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones determine si existe o no otra dirección de destino asociada al mismo identificador de servidor -504- (etapa S1202).
Cuando no existe ninguna otra dirección de destino asociada al mismo identificador -504- de servidor, el controlador -401- de comunicación entre procesos ejecuta el proceso de error en la transferencia de datos (etapa S1206) y el proceso avanza a la etapa S709.
Por otra parte, cuando existe otra dirección de destino asociada al mismo identificador -504- de servidor, el controlador -401- de comunicación entre procesos hace que la sección -409- de gestión de reconexiones establezca una sesión de reconexión para la otra dirección de destino asociada al mismo identificador -504- de servidor (S1203). En este caso, se crea un conector nuevo utilizando una dirección diferente de la dirección de comunicación que ha sufrido el fallo de comunicación.
A continuación, el controlador -401- de comunicación entre procesos registra la sesión de reconexión en la BD -406de la información de gestión de sesiones a través de la sección -405- de gestión de la BD (etapa S1204). Posteriormente, el controlador -401- de comunicación entre procesos selecciona la sesión de reconexión como una sesión de transferencia de datos (etapa S1205). Entonces, el proceso vuelve a la etapa S708, en la que la transferencia de datos se lleva a cabo utilizando la sesión de reconexión.
Las figuras 13A y 13B son diagramas de secuencia del proceso de gestión de sesiones ejecutado entre el PC servidor -105- y el PC cliente en la tercera realización. Esta secuencia hace posible llevar a cabo el proceso de reconexión de la sesión en un caso en el que se lleva a cabo la transmisión de datos utilizando una sesión existente
65 E09156871 08-11-2011
establecida para una dirección diferente de una dirección de destino. Se omitirá la descripción del proceso de las figuras 13A y 13B idéntico a la secuencia de proceso de las figuras 9A y 9B.
En un proceso P1301, el controlador -401- de comunicación entre procesos lleva a cabo el proceso en la etapa S1201 para comprobar si tiene éxito o no la transferencia de datos. En este momento, el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones para el PC servidor -105- asignado al identificador -504- de servidor “10” es igual a 2. Una dirección de comunicación actual se fija a la dirección IPv4 [10.0.0.10] con número de puerto [1025].
Además, en este momento, existen dos direcciones de destino de la dirección IPv4 [10.0.0.10] con número de puerto [1025] y la dirección IPv6 [2001::10] con número de puerto [1025] cada una en un estado conectado.
En el presente ejemplo de secuencia, el controlador -401- de comunicación entre procesos determina en el proceso P1301 que la transferencia de datos llevada a cabo utilizando la dirección IPv4 [10.0.0.10] con número de puerto [1025] como la dirección de comunicación actual no tiene éxito.
En un proceso P1302, el controlador -401- de comunicación entre procesos hace que la sesión -409- de gestión de la reconexión de la sesión lleve a cabo el proceso en la etapa S1202 para determinar si existe o no otra dirección de destino asociada al mismo identificador -504- de servidor.
En el presente ejemplo de secuencia, la sección -409- de gestión de la reconexión de la sesión determina que existe otra dirección de destino asociada al mismo identificador -504- de servidor y establece una sesión de reconexión (proceso P1303). La sección -409- de gestión de la reconexión de la sesión hace que la sección -405- de gestión de la BD registre la sesión de reconexión en la BD -406- de información de gestión de sesiones.
En este momento, el cómputo del contador de referencia de cierres almacenado en la sección -408- de almacenamiento del cómputo de referencia de conexiones para el PC servidor -105- asignado al identificador de servidor “10” es igual a 2.
Una dirección de comunicación actual se fija a la dirección IPv6 [2001::10] con número de puerto [1025]. Además, como direcciones de destino, la dirección IPv4 [10.0.0.10] con número de puerto [1025] y la dirección IPv6 [2001::10] con número de puerto [1025] existen ambas en estado conectado.
En un proceso P1304, el controlador -401- de comunicación entre procesos utiliza la dirección IPv6 [2001::10] con número de puerto [1025] para transmitir los datos designados por la aplicación cliente -101- ó -101a-.
De esta manera, en un caso en el que las sesiones asociadas con un identificador de servidor idéntico incluyen una
o más direcciones de destino a las que se puede conectar, es posible que las aplicaciones cliente -101- y -101acontinúen la comunicación sin ser conscientes de ningún problema de comunicación.
En las realizaciones primera a tercera, el PC cliente -100- determina, en base a un identificador de servidor, es decir, a la información de identificación de servidor obtenida desde el PC servidor -105-, si se encuentra presente o no una sesión existente.
No obstante, a efectos de realizar esto, se requiere dotar al PC servidor -105- de una función de retorno del identificador de servidor (información de identificación de servidor), es decir, la sección -302- de envío del identificador de servidor, para devolver el identificador de servidor bajo el control del controlador -301- de comunicación entre procesos de servidor. Esto no sólo aumenta la carga de proceso aplicada al PC servidor -105para comunicarse con un gran número de PCs, sino que también dificulta el uso efectivo de los recursos de red.
Para solucionar este problema, según la cuarta realización, el PC cliente -100- está configurado para realizar la determinación de si hay o no una sesión existente, no en base al identificador de servidor obtenido desde el PC servidor -105-. En otras palabras, el PC cliente -100- está configurado para determinar si se encuentra presente o no una sesión existente, sin cooperar con el PC servidor -105-.
La figura 14 es un diagrama de la configuración de software de un sistema de cliente-servidor al que se aplica cada uno de los sistemas de gestión de sesiones según las realizaciones cuarta a sexta de la presente invención.
El sistema cliente-servidor mostrado en la figura 14 es diferente del sistema cliente-servidor de la figura 1 al que se aplica cada uno de los sistemas de gestión de sesiones según las realizaciones primera a tercera en que un servidor -1401- DSN (sistema de nombres de dominio) está conectado a la red -106-.
En la cuarta realización, utilizando el servidor DSN -1401- o similar, el PC cliente -100- determina si se encuentra presente o no una sesión existente, sin cooperar con el PC servidor -105-. El servicio DNS que funciona en el servidor DSN -1401- se basa en una especificación técnica IETF (grupo especial sobre ingeniería de internet). Específicamente, el servidor DSN -1401- proporciona un servicio de solución de problemas de dirección según una
65 E09156871 08-11-2011
especificación definida, por ejemplo, en la RFC (petición de comentarios) -1034-, la RFC -1035- o similar.
La RFC -1034-, la RFC -1035- o similar describen la especificación de un registro A y la implementación de una respuesta compatible con la IPv4. Además, la RFC -1886- o similar describe la especificación de un registro AAAA y la implementación de una respuesta compatible con la IPv6. Estas RFC se pueden consultar en http://www.ietf.org/rfc.html.
La figura 15 es un diagrama de bloques que muestra en detalle la configuración de software de una sección -103- de comunicación entre procesos de cliente del PC cliente -100- del sistema cliente-servidor al que se aplica el sistema de gestión de sesiones según la cuarta realización.
En respuesta a una solicitud de la aplicación cliente -101- ó -101a-, el PC cliente -100- se comunica con el PC servidor -105-, a través de un objeto stub (no mostrado), utilizando la sección -103- de comunicación entre procesos de cliente y la biblioteca de comunicación -104a-.
Como en las realizaciones primera a tercera, la sección -103- de comunicación entre procesos de cliente incluye el controlador -401- de comunicación entre procesos, la sección -403- de gestión de sesiones, la BD -406- de información de gestión de sesiones y la sección -404- de determinación de la sesión.
La sección -103- de comunicación entre procesos de cliente también incluye la sección -407- de gestión de la desconexión de la sesión y la sección -409- de gestión de la reconexión de la sesión de manera similar a las realizaciones primera a tercera. Además, la sección -103- de comunicación entre procesos de cliente está dotada de una sección -1501- de obtención de la lista de direcciones y de una sección -1502- de almacenamiento de la lista de direcciones como software específico de la cuarta realización.
El controlador -401- de comunicación entre procesos lleva a cabo el control global centralizado de la comunicación llevada a cabo entre las aplicaciones cliente -101- y -101a- y la aplicación -108- de servidor, a la vez que gestiona las sesiones. La sección -1501- de obtención de la lista de direcciones obtiene una o más direcciones asociadas a las direcciones de destino designadas por las aplicaciones cliente -101- y -101a- del servidor DNS -1401- y almacena secuencialmente las direcciones obtenidas en la sección -1502- de almacenamiento de la lista de direcciones. La información de la lista de direcciones almacenada en la sección -1502- de almacenamiento de la lista de direcciones se describirá en detalle a continuación en este documento con referencia a las figuras 16 y 23.
La sección -403- de gestión de sesiones gestiona la información de gestión de sesiones a registrar en la BD -406- de información de gestión de sesiones. La información de gestión de sesiones de la cuarta realización se describirá en detalle a continuación en este documento con referencia a la figura 17. La sección -404- de determinación de la sesión lleva a cabo la determinación en cuanto a la creación de una sesión nueva o la disponibilidad de una sesión existente, en base a una lista de direcciones y a la información de gestión de sesiones.
Cada una de la sección -407- de gestión de la desconexión de la sesión, la sección -408- de almacenamiento del cómputo de referencia de conexiones y la sección -409- de gestión de la reconexión de la sesión lleva a cabo el mismo proceso que en las realizaciones primera a tercera.
A continuación, la información de la lista de direcciones almacenada en la sección -1502- de almacenamiento de la lista de direcciones se describirá en detalle con referencia a la figura 16. Los elementos de información de la lista de direcciones en relación a los destinos (servidores) obtenidos desde el servidor DNS -1401-se almacenan secuencialmente en la sección -1502- de almacenamiento de la lista de direcciones y se forman en una base de datos.
Un identificador -1601- de servidor es información de identificación de servidor para identificar un servidor (PC servidor -105-) asociado a un destino (destino de conexión) designado por la aplicación cliente -101- ó -101a- en un lado que solicita la conexión. El identificador -1601- de servidor puede ser, por ejemplo, un nombre de equipo, un nombre NetBIOS, un nombre de ordenador o un número de dominio completamente cualificado (FQDN).
No obstante, en la cuarta realización, cuando las aplicaciones cliente -101- y -101a- solicitan una conexión utilizando un forma diferente de información de identificación de servidor, la sección -1501- de obtención de la lista de direcciones convierte la forma diferente de la información de identificación del servidor en un nombre de equipo, tal como se menciona más adelante en este documento. La sección -1501- de obtención de la lista de direcciones obtiene una lista de direcciones de los nombres de equipo del servidor DNS -1401-.
Por tanto, cada identificador -1601- de servidor de la información de la lista de direcciones de la figura 16 está representado en realidad por un nombre de equipo. Por la misma razón, cada identificador -504- de servidor de la información de gestión de sesiones de la figura 17 también está representado en la actualidad por un nombre de equipo. No obstante, cada identificador -1601- de servidor de la información de la lista de direcciones de la figura 23 se muestra como un identificador de servidor (información de identificación de servidor) actualmente designado por la aplicación cliente -101- ó -101a-, por conveniencia de la descripción, aunque en realidad tiene la forma de un
65 E09156871 08-11-2011
nombre de equipo.
Un método -1602- de obtención de la dirección es información indicativa de un protocolo utilizado para obtener una dirección de destino (servidor) asociada del servidor DNS -1401- y un método de obtención de la misma. Un tipo de dirección -1603- es información indicativa del tipo de dirección actualmente obtenida del servidor DNS -1401-. Una dirección IP -1604- es información indicativa de la propia dirección (dirección IP) actualmente obtenida del servidor DNS -1401-.
En el ejemplo de la figura 16, para un servidor que tiene un identificador -1601- de servidor representado por “AppServer: nombre de equipo”, se obtiene la dirección IPv4 [10.0.0.10] para las comunicaciones indicadas por los números 1 y 4 de la lista. Además, para el servidor que tiene el identificador -1601- de servidor representado por “AppServer: nombre de equipo”, se obtiene la dirección IPv6 [2001::10] para una comunicación indicada por el número 2 de la lista y se obtiene la dirección IPv6 [fe80::10] para una comunicación indicada por el número 3 de la lista.
Además, para un servidor que tiene un identificador -1601- de servidor representado por “AppServer 2: nombre de equipo”, se obtiene la dirección IPv4 [10.0.0.20] para una comunicación indicada por el número 5 de la lista y se obtiene la dirección IPv6 [2001::20] para una comunicación indicada por el número 6 de la lista.
La figura 17 es un diagrama de un ejemplo de la información de gestión de sesiones. El identificador -501- de la aplicación es un identificador (etiqueta de instancia) para identificar la aplicación cliente -101- ó -101a- en el lado de la solicitud de conexión. La información -502- de la dirección de la solicitud indica una dirección de destino designada como un destino de conexión por la aplicación cliente -101- ó -101a- cuando se solicita una conexión a la misma. Esta dirección de destino (información -502- de la dirección de la solicitud) incluye la información de identificador del servidor (nombre de equipo, FQDN, etc.) de una dirección IP -502a-, tal como una dirección IPv4 o una dirección IPv6, y un número de puerto -502b-.
La información -503- de la dirección de comunicación indica la dirección de un destino de conexión de una sesión seleccionada para la comunicación actual tras haber llevado a cabo la determinación en cuanto a la disponibilidad de sesiones existentes en base a la dirección de destino. La información -503- de la dirección de comunicación incluye una dirección IP -503a- y un número de puerto -503b-.
Un identificador -504- de servidor indica el identificador de servidor (nombre de equipo en el presente ejemplo) de un servidor al que la aplicación cliente -101- ó -101a- ha solicitado al servidor DNS -1401- que suministre una lista de direcciones de destino para conexión. Un número -505- de sesión indica el número de gestión (etiqueta de instancia de identificación de sesión) de una sesión para la comunicación actual.
A continuación, se describirá un proceso de gestión de sesiones según la cuarta realización, que es ejecutado por el controlador -401- de comunicación entre procesos de la sección -103- de comunicación entre procesos de cliente, con referencia a un diagrama de flujo mostrado en la figura 18. Se debe observar que en la figura 18, las mismas etapas que en la figura 7 se indican con números de etapa idénticos (lo mismo se aplica a las figuras 20, 21, 22A, 22B, 26A, 26B y 27).
El controlador -401- de comunicación entre procesos de la sección -103- de comunicación entre procesos de cliente recibe una solicitud para conectarse a la aplicación -108- de servidor del PC servidor -105- (etapa S701). Esta solicitud de conexión se emite desde la aplicación cliente -101-ó -101a-.
Posteriormente, el controlador -401- de comunicación entre procesos hace que la sección -1501- de obtención de la lista de direcciones obtenga una lista de direcciones en relación a la dirección de destino (etapa S1801).
En este caso, la sección -1501- de obtención de la lista de direcciones utiliza la biblioteca de comunicación -104apara emitir una solicitud de obtención al servidor DNS -1401- a través de la red -106-a efectos de obtener los registros A, los registros AAAA, etc. de la lista de direcciones. El servidor DNS -1401- devuelve la lista de direcciones asociada en respuesta a la solicitud de obtención de la lista de direcciones de la sección -1501- de obtención de la lista de direcciones.
Se debe observar que en la etapa S1801, la sección -1501- de obtención de la lista de direcciones lleva a cabo el proceso de obtención de la lista de direcciones haciendo uso de diversos servicios de solución de problemas de dirección además del servidor DNS -1401-. Los ejemplos de los servicios de solución de problemas de dirección incluyen el LLMNR (resolución de nombres de multidifusión de vínculo local) y la búsqueda de emisión mediante NetBIOS.
Cuando se designa la “dirección numérica de equipo” como la información de identificación de servidor en la dirección de destino, la sección -1501- de obtención de la lista de direcciones convierte la “dirección numérica de equipo” en un nombre de equipo y posteriormente ejecuta el proceso de obtención de la lista de direcciones.
65 E09156871 08-11-2011
El proceso de obtención de la lista de direcciones ejecutado en la etapa S1801 se describirá en detalle con referencia a un diagrama de flujo de la figura 19.
La sección -1501- de obtención de la lista de direcciones determina si se va a utilizar la información de identificación de servidor de tipo nombre de equipo o la información de identificador de servidor de tipo dirección para designar un servidor en la información de destino de la aplicación cliente -101- ó -101a- (etapa S1901). Aquí, el término “dirección” se refiere a la “dirección numérica de equipo”.
Cuando se designa un servidor utilizando la información de identificación de servidor de tipo dirección, la sección -1501- de obtención de la lista de direcciones busca en el servidor DNS -1401- un nombre de equipo asociado a la dirección (etapa S1902). En este caso, por ejemplo en la programación de conector C/C++, la sección -1501- de obtención de la lista de direcciones busca un nombre de equipo asociado a la dirección designada mediante la función getnameinfo().
Posteriormente, la sección -1501- de obtención de la lista de direcciones designa el nombre de equipo encontrado en base a la función de obtención de la dirección, para obtener, de esta manera, una lista de direcciones de un servidor asociado al nombre de equipo del servidor DNS -1401- (etapa S1903). En este caso, en la programación de conector C/C++, la sección -1501- de obtención de la lista de direcciones fija ai_family de una función getaddrinfo() a un valor AF_UNSPEC y llama a la función para obtener, de esta manera, la lista de direcciones asociada al nombre del equipo.
Por otra parte, cuando se designa un servidor utilizando la información de identificación de servidor de tipo nombre de equipo, se salta la etapa S1902 hasta la etapa S1903. Tras finalizar la etapa S1903, la sección -1501- de obtención de la lista de direcciones registra el nombre del equipo y la lista de direcciones asociada al nombre del equipo en la sección -1502- de almacenamiento de la lista de direcciones (etapa S1904) y el proceso vuelve al proceso principal de la figura 18.
Posteriormente, bajo el control del controlador -401- de comunicación entre procesos, la sección -404- de determinación de la sesión lleva a cabo la determinación en cuanto a la disponibilidad de una sesión existente en base a la lista de direcciones obtenida en la etapa S1801 y a la información de la BD -406- de información de la gestión de sesiones (etapa S1802).
En este caso, la sección -404- de determinación de la sesión determina que las sesiones existentes se encuentran disponibles que están registradas en la BD -406- de información de gestión de sesiones en relación a las direcciones introducidas en la lista de direcciones obtenida, como las asociadas al equipo central (servidor) que tiene el mismo nombre de equipo.
Más específicamente, la sección -404- de determinación de la sesión determina si, entre las sesiones existentes que están realizando una comunicación en este momento utilizando direcciones diferentes de la dirección utilizada para la obtención de la lista de direcciones obtenida (que puede contener únicamente una dirección), existen o no sesiones asociadas al mismo servidor del que se obtuvo la lista de direcciones. Cuando se encuentra una sesión existente con el mismo servidor, la sección -404- de determinación de la sesión determina que la sesión existente se encuentra disponible.
En este caso, la lista de direcciones se obtiene en un estado en el que la información de identificación del servidor se convierte de manera uniforme en nombres de equipo tal como se ha mencionado anteriormente en este documento. Por tanto, la sección -404- de determinación de la sesión identifica un servidor en base a un nombre de equipo.
Esto significa sustancialmente que, incluso si los elementos de información de identificación del servidor asociados a las direcciones de destino designadas por las aplicaciones cliente -101- y -101a- cuando solicitan conexiones son diferentes entre sí, siempre que los elementos de la información de identificador del servidor estén asociados al mismo servidor se manipulan como la misma información de identificación.
De esta manera, incluso cuando un servidor está designado por diferentes elementos de información de identificación del servidor, es posible realizar la determinación correcta en cuanto a disponibilidad de una sesión existente, permitiendo, de esta manera, un uso más eficiente de los recursos de red. Este efecto ventajoso se describirá en detalle con referencia a la figura 23.
Entonces, cuando la sesión existente se encuentra disponible, el controlador -401- de comunicación entre procesos selecciona la sesión existente como sesión para la transferencia de datos a ejecutar en este momento (etapa S1803).
Por ejemplo, en el ejemplo de información de gestión de sesiones mostrado en la figura 17, las sesiones indicadas por los números de gestión 1 y 2 son las de diferentes direcciones de destino respectivas designadas por la aplicación cliente (1). No obstante, en el caso del número de gestión 2, existe una sesión existente (asociada al
65 E09156871 08-11-2011
número de gestión 1 y asignada con número de sesión 1) ya establecida en relación al mismo identificador de servidor “AppServer”. En este caso, el controlador -401- de comunicación entre procesos selecciona la sesión existente como sesión para la transferencia de datos sin crear una sesión nueva.
En el ejemplo de la lista de direcciones de la figura 16, dado que las direcciones IP [10.0.0.10] y [2001::10] están asociadas al mismo identificador de servidor “AppServer”, es posible determinar, tal como se ha mencionado anteriormente, que se encuentra presente una sesión existente asociada al mismo identificador de servidor.
En los ejemplos mostrados en las figuras 16 y 17, en cuanto a la comunicación en relación a una solicitud de conexión a la dirección [2001::10] asociada al número de gestión/lista 2, la transferencia de datos se lleva a cabo utilizando la sesión existente para la dirección [10.0.0.10] asociada al número de gestión 1 y al mismo identificador de servidor “AppServer” que el asociado a la dirección [2001::10].
De esta manera, el uso de una sesión existente permite que el PC cliente -100- y el PC servidor -105- eliminen la necesidad de crear un nuevo conector de comunicación para una dirección de destino, lo que hace posible ahorrar recursos de red, tal como conectores de comunicación.
Las etapas S704, S705 y S708 a S711 de la figura 18 son exactamente las mismas que las etapas indicadas por números de etapa idénticos en la figura 7 y, por tanto, se omitirá la descripción de las mismas.
A continuación, se proporcionará una descripción de un caso en el que las aplicaciones de cliente primera y segunda designan un servidor mediante diferentes elementos de información de identificación del servidor (número de equipo, FQDN, etc.) respectivamente.
Tal como se ha descrito anteriormente en este documento, en la cuarta realización, incluso cuando los elementos de información de identificación del servidor utilizados para designar un destino son diferentes entre sí, siempre que los elementos de información de identificación del servidor sean para identificar el mismo servidor, se manipulan como la misma información de identificación del servidor, mediante lo cual es posible determinar adecuadamente la disponibilidad de una sesión existente.
La figura 23 muestra un ejemplo de la información de la lista de direcciones obtenida en tal caso. Los elementos de información de la información de la lista de direcciones de la figura 23 son exactamente los mismos que los de la información de la lista de direcciones de la figura 16 y, por tanto, se omitirá la descripción de los mismos, con los mismos números de referencia indicando los mismos elementos de información, respectivamente. No obstante, los identificadores de servidor -1601- de la información de la lista de direcciones de la figura 23 están representados, no mediante los nombres de equipo obtenidos convirtiendo uniformemente los datos de la información de identificación del servidor designado en formas diferentes en nombres de equipo, sino mediante los datos de información de identificación del servidor utilizados originalmente para su designación antes de la conversión, por conveniencia de la descripción.
En el ejemplo de la figura 23, un servidor identificado por un identificador de servidor “AppServer.foo.test” y un servidor identificado por un identificador de servidor “AppServer” están asociados a la misma dirección IP “fe80::10” (ver los números de lista 2 y 3).
En tal caso, los identificadores de servidor “AppServer.foo.test” y “AppServer” se convierten uniformemente en el nombre de equipo, tal como se ha mencionado anteriormente, mediante lo cual estos servidores se manipulan como el mismo servidor. Posteriormente, la sección -404- de determinación de la sesión determina, en base a la información de la lista de direcciones que contiene estos dos identificadores de servidor que son prácticamente uno, si se encuentra disponible o no una sesión existente.
Supongamos, por ejemplo, que el identificador de servidor “AppServer.foo.test” está designado en la información de destino cuando se solicita la conexión al mismo, pero que no existe ninguna sesión existente para una dirección IP asociada al identificador de servidor. Supongamos también, en este caso, que existe una sesión para la dirección IP [2001::10] como una sesión existente asociada al identificador de servidor “AppServer” que identifica al mismo servidor que identifica el identificador de servidor “AppServer.foo.test”.
En este caso, la sección -404- de determinación de la sesión determina que la sesión existente para la dirección IP [2001::10] asociada al identificador de servidor “AppServer” se encuentra disponible en respuesta a una solicitud de conexión que utiliza el identificador de servidor “AppServer.foo.test”.
De esta manera, los identificadores de servidor diferentes entre sí, pero asociados a un servidor idéntico se manipulan como el mismo identificador de servidor tal como se ha descrito anteriormente y, por tanto, incluso cuando el servidor es designado por un identificador de servidor diferente, es posible utilizar una sesión existente del servidor, permitiendo, de esta manera, un uso más eficiente de los recursos de red, tal como los conectores.
En las realizaciones primera a cuarta, incluso cuando las aplicaciones cliente -101- y -101a- designan diferentes
65 E09156871 08-11-2011
direcciones de destino respectivas, las dos aplicaciones de cliente utilizan a veces la misma sesión. En este caso, la sección -103- de comunicación entre procesos de cliente lleva a cabo la comunicación actual utilizando una de las direcciones de destino para la que se ha establecido una sesión anteriormente (la misma sesión).
No obstante, cuando tiene lugar un problema de comunicación en la comunicación llevada a cabo con la dirección de destino designada anteriormente, aún siendo posible la comunicación utilizando la otra dirección, la otra aplicación cliente que lleva a cabo una comunicación mediante la misma sesión también es incapaz de llevar a cabo la comunicación.
Para solucionar este problema, una quinta realización está configurada de tal manera que incluso si tiene lugar un problema de comunicación, siempre que exista otra dirección con la que es posible la conexión, se establece una sesión para la otra dirección con la que es posible realizar la conexión, para llevar a cabo, de esta manera, la comunicación.
A continuación, se describirá un proceso de gestión de sesiones que se ejecuta mediante el controlador -401- de comunicación entre procesos del PC cliente -100- de un sistema de gestión de sesiones según la quinta realización, con referencia a un diagrama de flujo mostrado en las figuras 20 y 21. El diagrama de flujo mostrado en las figuras 20 y 21 es parcialmente idéntico al de la figura 18. Por tanto, en las figuras 20 y 21, las etapas idénticas a las de la figura 18 se indican mediante números de etapa idénticos, y se omitirá la descripción de las mismas. A continuación, sólo se describirán los puntos diferentes a la cuarta realización.
En una etapa S2001 de la figura 21, el controlador -401- de comunicación entre procesos determina si la transferencia de datos llevada a cabo utilizando una sesión seleccionada en la etapa S708 tiene éxito o no. Si la transferencia de datos tiene éxito, se ejecutan las etapas S709 a S711.
Por otra parte, si la transferencia de datos no tiene éxito, la sección -404- de determinación de la sesión determina, bajo el control del controlador -401- de comunicación entre procesos, si existen o no otras direcciones asociadas a la misma información de identificación del servidor (nombre de equipo, etc.) en la BD -406- de información de gestión de sesiones (etapa S2002). Si no existen otras direcciones asociadas a la misma información de identificación del servidor, el controlador -401- de comunicación entre procesos ejecuta el proceso de error en la transferencia de datos (etapa S2006) y el proceso avanza a la etapa S709.
Por otra parte, si existe otra dirección asociada a la misma información de identificación de servidor, el controlador -401- de comunicación entre procesos establece una sesión para la reconexión a las otra dirección asociada a la misma información de identificación del servidor (nombre de equipo) (etapa S2003). En este caso, el controlador -401- de comunicación entre procesos crea un conector nuevo para la dirección asociada a la misma información de identificación de servidor (nombre de equipo).
Si existen una serie de otras direcciones asociadas a la misma información de identificación del servidor (nombre de equipo), el controlador -401- de comunicación entre procesos establece preferentemente una sesión para una dirección designada por la aplicación cliente -101- ó -101a-.
A continuación, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones registre la información de la sesión para la reconexión en la BD -406- de información de gestión de sesiones (etapa S2004). Posteriormente, el controlador -401- de comunicación entre procesos selecciona la sesión para la reconexión como una sesión para la transferencia de datos (etapa S2005) y el proceso vuelve a la etapa S708.
Tal como se ha descrito anteriormente, según la quinta realización, incluso cuando tiene lugar un problema durante la comunicación utilizando una aplicación mientras una serie de aplicaciones están llevando a cabo la transferencia de datos mediante la misma sesión, la otra aplicación o las otras aplicaciones pueden continuar la comunicación. Por tanto, la quinta realización hace posible construir un sistema de comunicación resistente a los problemas de comunicación y con una transferencia de datos altamente fiable.
En las realizaciones cuarta y quinta, por ejemplo cuando la aplicación -101- desconecta una primera sesión, la aplicación -101a- que también utiliza la primera sesión es incapaz de llevar a cabo la comunicación.
Una sexta realización de la presente invención proporciona una solución a este problema de la siguiente manera: el controlador -401- de comunicación entre procesos no cierra cada sesión cada vez que se recibe una solicitud de cierre para la sesión, sino que cierra cada sesión en base a un contador de referencia de cierres proporcionado para la sesión. En la sexta realización, los contadores de referencia de cierres se almacenan en la sección -408- de almacenamiento del cómputo de referencia de conexiones.
Un proceso de gestión de sesiones de la sexta realización se describirá con referencia a un diagrama de flujo mostrado en las figuras 22A y 22B. Los diagramas de flujo mostrados en las figuras 22A y 22B son parcialmente idénticos a los de la figura 18. Por tanto, en las figuras 22A y 22B, las etapas idénticas a las de la figura 7 y de la
65 E09156871 08-11-2011
figura 18 se indican con números de etapa idénticos, y se omitirá la descripción de las mismas. A continuación, se describirán únicamente los puntos diferentes a la cuarta realización.
En una etapa S2201 de la figura 22B, bajo el control del controlador -401- de comunicación entre procesos, la sección -407- de gestión de la desconexión de la sesión incrementa en 1 el cómputo de un contador de referencia de cierres para una sesión seleccionada en la etapa S706 ó S707. En este momento, la sección -407- de gestión de la desconexión de la sesión almacena el cómputo del contador de referencia de cierres incrementado en 1 en la sección -408- de almacenamiento del cómputo de referencia de conexiones.
A continuación, el controlador -401- de comunicación entre procesos lleva a cabo la transferencia de datos mediante la sesión seleccionada en la etapa S706 ó S707 (etapa S708). Posteriormente, el controlador -401- de comunicación entre procesos determina si se ha recibido o no una solicitud de cierre desde la aplicación cliente -101- ó -101a- o una solicitud de desconexión desde la biblioteca de comunicaciones -104a- (etapa S709). Si no se ha recibido la solicitud de cierre o la solicitud de desconexión, el proceso vuelve a la etapa S701.
Por otra parte, si se ha recibido bien la solicitud de cierre o la solicitud de desconexión, la sección -407- de gestión de la desconexión de la sesión disminuye en 1 el cómputo del contador de referencia de cierres para una sesión establecida para una dirección asociada a la solicitud (etapa S2202). Tal como se ha descrito anteriormente, para cada dirección de destino asociada a una sesión, la sección -407- de gestión de la desconexión de la sesión incrementa en 1 el cómputo de un contador de referencia de cierres asociado en respuesta a una solicitud de conexión para la conexión a la dirección de destino y disminuye en 1 el mismo en respuesta a una solicitud de desconexión.
Posteriormente, el controlador -401- de comunicación entre procesos determina si el cómputo del contador de referencia de cierres es igual o no a 0 (etapa S2203) debido a la disminución en 1 del cómputo del contador de referencia de cierres. Si el cómputo del contador de referencia de cierres no es igual a 0, el proceso vuelve a la etapa S701.
Por otra parte, si el cómputo del contador de referencia de cierres es igual a 0, el proceso avanza a la etapa S710, en la que el controlador -401- de comunicación entre procesos lleva a cabo el proceso de cierre para cerrar la sesión para la dirección asociada a la solicitud de cierre o la solicitud de desconexión y el conector para el mismo.
Tal como se ha descrito anteriormente, según la sexta realización, no se cierra cada sesión siempre que se recibe una solicitud de cierre para la sesión, sino que el cierre se basa en un contador de referencia de cierres dispuesto para la sesión.
Por tanto, en el caso en el que diferentes aplicaciones de cliente utilizan una sesión idéntica para la transferencia de datos, es posible evitar que una instrucción de desconexión de una de las aplicaciones de cliente desactive la transferencia de datos mediante la otra aplicación cliente. Esto permite un uso más eficiente de los recursos de red, tal como conectores.
En las realizaciones primera a sexta, cuando se encuentra disponible una sesión existente, la comunicación siempre se lleva a cabo utilizando la sesión existente. No obstante, en comparación con una sesión existente establecida para una primera comunicación iniciada anteriormente, una sesión nueva que se establece originalmente para una segunda comunicación iniciada posteriormente a veces es superior en eficiencia de comunicación en términos de velocidad de comunicación, el número de routers a través de los que se realiza la comunicación, etc.
Por esta razón, una séptima realización de la presente invención está configurada de manera que, incluso en un caso en el que existe una sesión disponible cuando se va a establecer una sesión nueva para la presente comunicación que es superior en eficiencia de comunicación que la sesión existente, se establece la sesión nueva para continuar la comunicación.
En la séptima realización, tal como se muestra en la figura 24, la sección -103- de comunicación entre procesos de cliente está dotada de una sección -2401- de obtención de la información de la línea para obtener la información de la línea bajo el control del controlador -401- de comunicación entre procesos, en cuanto a determinar la eficiencia de la comunicación.
La otra parte de la configuración de software del PC cliente -100-es sustancialmente idéntica a la parte correspondiente de la primera realización mostrada en la figura 4 y, por tanto, se ofrecerá la siguiente descripción únicamente de los puntos diferentes. Se debe observar que la sección -407- de gestión de la desconexión de la sesión, la sección -408- de almacenamiento del cómputo de referencia de conexiones y la sección -409- de gestión de la reconexión de la sesión de la figura 4 se omiten de la ilustración de la figura 24.
La sección -2401- de obtención de la información de la línea obtiene la información de la línea en una ruta de comunicación a una dirección de destino de la red -106-, desde la biblioteca de comunicación -104a-. Posteriormente, la sección -2401- de obtención de la información de la línea registra la información de la línea como
65 E09156871 08-11-2011
información de gestión de sesiones en la BD -406- de la información de gestión de sesiones a través de la sección -405- de gestión de la BD.
La información de la línea obtenida por la sección -2401- de obtención de la información de la línea incluye la clase de tráfico, la etiqueta de flujo y el límite de saltos de una cabecera IPv6, el tipo de servicio y el tiempo de vida de una cabecera IPv4 y, además, una banda de comunicación.
La sección -2401- de obtención de la información de la línea es capaz de detectar una ruta MTU (unidad máxima de transmisión) que utiliza un descubrimiento de MTU de ruta del protocolo IP. El descubrimiento de MTU de ruta detecta automáticamente el valor máximo de un datagrama que se puede transmitir mediante una transferencia de datos de una sola vez. El descubrimiento de MTU de ruta está definido por la RFC (petición de comentarios).
La sección -2401- de obtención de la información de la línea obtiene el descubrimiento de MTU de ruta para la IP versión 6 definida en la RFC -1981-, el descubrimiento de MTU de ruta definido en la RFC -1191- y similar desde la biblioteca de comunicación -104a-.
En cuanto a la banda de comunicación, la sección -2401- de obtención de la información de la línea puede obtener la información de banda de una tarjeta de red montada en el PC cliente -100-. Además, la sección -2401- de obtención de la información de la línea puede obtener la información de banda de una banda controlada por una aplicación cliente, utilizando un protocolo de control de red definido por la RFC -2205-.
La figura 25 es un diagrama de la información de gestión de sesiones utilizada en un sistema de gestión de sesiones según la séptima realización. Esta información de gestión de sesiones se almacena como una base de datos en la BD -406- de la información de gestión de sesiones.
La información de gestión de sesiones de la figura 25 utilizada por el sistema de gestión de sesiones según la séptima realización se distingue de la información de gestión de sesiones de la figura 5 utilizada por el sistema de gestión de sesiones según la primera realización en que la información de la línea -2501- se añade a los mismos elementos de datos como los de la información de gestión de sesiones de la figura 5. Esta información de la línea -2501- indica una condición de la línea de una ruta de comunicación a una dirección de destino designada por la aplicación cliente -101- ó -101a- cuando se solicita una conexión a la misma y un número de puerto asociado.
La información de la línea -2501- incluye información de banda -2501a-, un cómputo de router -2501b- y una ruta MTU -2501c-, por ejemplo. No obstante, también es posible determinar la eficiencia de la comunicación utilizando información de la línea que no sean estos datos de información.
A continuación, la información de gestión de sesiones mediante el sistema de gestión de sesiones según la séptima realización se describirá con referencia a un diagrama de flujo mostrado en las figuras 26A, 26B y 27. Este diagrama de flujo incluye un número de etapas de proceso idénticas a las del diagrama de flujo de la figura 7 de la primera realización. Estas etapas se indican mediante los mismos números de etapa correspondientes y se omite la descripción de las mismas.
En la etapa S702, el controlador -401- de comunicación entre procesos obtiene un identificador de servidor del PC servidor -105- según una dirección de destino designada por la aplicación cliente -101- ó -101a-. Además, el controlador -401- de comunicación entre procesos hace que la sección -2401- de obtención de la información de la línea obtenga la información de la línea sobre una ruta de comunicación a la dirección de destino designada por la aplicación cliente -101- ó -101a- (etapa S2601).
En este caso, la sección -2401- de obtención de la información de la línea puede obtener la información sobre la ruta de comunicación desde la biblioteca de conectores de un SO del PC cliente -100- en base a una función getsockopt. Además, la sección -2401- de obtención de la información de la línea puede obtener el descubrimiento de MTU de ruta desde la biblioteca de comunicaciones -104a- en el SO y posteriormente obtener una ruta MTU -2501c- en relación a la ruta de comunicación que utiliza el descubrimiento de MTU de ruta. La sección -2401- de obtención de la información de la línea también puede obtener la información TTL (tiempo de vida) en una cabecera IPv4 o la información de límite de saltos en una cabecera IPv6.
A continuación, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones determine si se encuentra presente o no una sesión existente establecida en asociación con el identificador -504- de servidor idéntico al obtenido en la etapa S702 (etapa S703).
En este caso, la sección -403- de gestión de sesiones obtiene la información de gestión de sesiones desde la BD -406- de información de gestión de sesiones a través de la sección -405- de gestión de la BD. Posteriormente, la sección -403- de gestión de sesiones determina, en base a la información de gestión de sesiones obtenida, si existe
o no una sesión existente asociada al mismo identificador -504- de servidor que el obtenido cuando la presente solicitud de conexión se realiza entre las sesiones existentes actualmente en comunicación utilizando otras direcciones. Este proceso de determinación se lleva a cabo en realidad mediante la sección -404- de determinación
65 E09156871 08-11-2011
de la sesión.
Cuando existe una sesión existente asociada al mismo identificador -504- de servidor que el obtenido en la etapa S702, el proceso avanza a una etapa S2602.
En la etapa S2602, el controlador -401- de comunicación entre procesos hace que la sección -404- de determinación de la sesión determine, mediante la comparación entre una condición de la línea de la sesión existente ya conectada y una condición de la línea en relación a la dirección de destino designada en la presente solicitud de conexión, si esta última es o no más favorable.
En el ejemplo de la información de gestión de sesiones de la figura 25, las comunicaciones asignadas a los números de gestión 1 y 2 respectivos están basadas en las solicitudes de conexión emitidas desde una aplicación cliente a direcciones que son diferentes pero son de servidores que tienen el mismo identificador de servidor. Cuando se comparan las dos comunicaciones con respecto a la ruta MTU -2501c-, la ruta MTU -2501c- del número de gestión 1 es 1500, mientras que la ruta MTU -2501c- del número de gestión 2 es 9000. A partir de esto, se determina que una condición de la línea del número de gestión 2 que tiene una mayor ruta MTU (menor tara de comunicación) es más favorable.
Además, cuando se comparan las dos comunicaciones con respecto al cómputo del router -2501b-, el cómputo del router del número de gestión 1 es 3, mientras que el cómputo del router del número de gestión 2 es 1. A partir de esto, se determina que la condición de la línea del número de gestión 2, en la que el número de routers a través de los que se realiza la comunicación es menor (es decir, la tara de comunicación es menor), es más favorable. A continuación se describirá en detalle en este documento un método de obtención de la información de banda -2501a-.
Se pueden imaginar casos en los que los resultados de las determinaciones en cuanto a si la condición de la línea es favorable mediante los respectivos métodos en base a la información de banda -2501a-, el cómputo del router -2501b- y la ruta MTU -2501c- se contradicen entre sí, pero en dichos casos, la determinación se puede llevar a cabo en base a la tara de comunicación total obtenida sumando los resultados de las determinaciones.
Además, es posible determinar si la condición de la línea es favorable en base a otras condiciones de la comunicación diferentes de la información de banda -2501a-, el cómputo del router -2501b- y la ruta MTU -2501c-. Por ejemplo, se puede utilizar una condición de comunicación en cambio constante, tal como el tráfico de una ruta de comunicación. Además, es posible determinar si la condición de la línea es favorable en base a la tara de comunicación total o similar obtenidos ponderando cada uno de los parámetros incluyendo la información de banda -2501a-, el cómputo del router -2501b- y la ruta MTU -2501c-, tal como designe el usuario.
Cuando la condición de la línea en relación a la dirección de destino designada en la presente solicitud de conexión es más favorable que la condición de línea en relación a la sesión existente ya conectada, el controlador -401- de comunicación entre procesos hace que la sección -403- de gestión de sesiones establezca una sesión nueva (etapa S2603). En este caso, la sección -403- de gestión de sesiones crea un conector nuevo en base a la dirección de destino designada por la aplicación cliente -101- ó -101a- utilizando la biblioteca de comunicación -104a-.
A continuación, la sección -403- de gestión de sesiones hace que la sección -405- de gestión de la BD registre la información de la nueva sesión incluyendo el conector nuevo en la BD -406- de la información de la gestión de sesiones (etapa S2604). Posteriormente, el controlador -401- de comunicación entre procesos selecciona la nueva sesión establecida para la dirección de destino designada por la aplicación cliente -101- ó -101a- como una sesión para la presente transferencia de datos (etapa S2605).
A continuación, el controlador -401- de comunicación entre procesos cambia la sesión existente con el mismo servidor con el que se ha llevado a cabo la comunicación para la transferencia de datos, a la nueva sesión (etapa S2606). Posteriormente, el controlador -401- de comunicación entre procesos elimina la sesión existente de la BD -406- de la información de gestión de sesiones (etapa S2607).
En el ejemplo de la información de gestión de sesiones de la figura 25, en cuanto a las comunicaciones de los respectivos números de gestión 3 y 2, la comunicación del número de gestión 2 se encuentra en una condición de la línea más favorable. Supongamos que en esta condición de la línea la aplicación cliente -101- emite solicitudes de conexión en el orden de números de gestión 3 y 2.
En este caso, primero se crea de nuevo una sesión indicada por el número de gestión 3. En esta sesión, una dirección de comunicación a la que la aplicación cliente -101- realiza actualmente la transferencia de datos es [2001::20] con número de puerto 1025.
Posteriormente, si la aplicación cliente -101a- emite una solicitud de conexión del número de gestión 2, dado que la condición de la línea del número de gestión 2 es más favorable que la del número de gestión 3, se crea de nuevo una sesión para el número de gestión 2.
65 E09156871 08-11-2011
Posteriormente, se ejecutan las etapas S2605 a S2607, mediante las cuales se llevan a cabo las subsiguientes transferencias de datos mediante las aplicaciones de cliente -101- y -101a- utilizando la nueva sesión del número de gestión 2 para la dirección de comunicación [2001::20] con número de puerto 1025.
Cuando la condición de la línea de la sesión existente ya conectada es más favorable que la de la dirección de destino designada de nuevo, el proceso avanza a la etapa S707. En la etapa S707, el controlador -401- de comunicación entre procesos selecciona la sesión existente ya conectada asociada al mismo identificador -504- de servidor que el obtenido como respuesta a la solicitud de conexión del presente bucle, como una sesión para la presente transferencia de datos.
A continuación, se ofrecerá una descripción del método de obtención de la información de banda -2501a- incluida en la información de la línea -2501-. La información de banda -2501a- se obtiene mediante la sección -2401- de obtención de la información de la línea en la etapa S2601 de la figura 26A, según una dirección de destino designada por la aplicación cliente -101- ó -101a-.
En este caso, la sección -2401- de obtención de la información de la línea obtiene el LinkSpeed, que indica una velocidad de enlace a la dirección de destino desde una dirección del emisor, de un adaptador de red del PC cliente -100- desde la biblioteca del conector en el SO del PC cliente -100-, mediante una función de obtención del LinkSpeed.
Se debe observar que la sección -2401- de obtención de la información de la línea puede obtener un protocolo de control de red para realizar la QoS (calidad de servicio) del equipo de red desde la biblioteca del conector en el SO para reconocer, de esta manera, la información de la banda -2501a-. En este caso, la sección -2401- de obtención de la información de la línea obtiene los ajustes del RSVP (protocolo de reserva de recursos) (RFC -2205-) del protocolo de control de red.
La sección -2401- de obtención de la información de la línea comprueba estos ajustes y obtiene el LinkSpeed del adaptador de red del PC cliente -100- y la información sobre el uso del ancho de banda de un dispositivo de red de la ruta de comunicación para determinar, de esta manera, si la condición de la línea es favorable.
Posteriormente, la sección -103- de comunicación entre procesos de cliente determina totalmente la información de la banda -2501a-, el cómputo del router -2501b- y la ruta MTU -2501c- para seleccionar mediante esto una dirección para utilizar en la transferencia de datos mediante la sesión establecida para una dirección diferente. Posteriormente, la sección -103- de comunicación entre procesos de cliente selecciona una sesión para la dirección seleccionada como una sesión a utilizar en la transferencia de datos actual.
Al determinar si la condición de la línea es favorable, no se requiere necesariamente utilizar toda la información de la banda -2501a-, el cómputo del router -2501b- y la ruta MTU -2501c-. Se puede utilizar uno de estos datos o una combinación de los mismos para determinar si la condición de la línea es favorable.
La presente invención se puede aplicar a un sistema que comprende una serie de aparatos o una unidad formada por un único aparato. Además, aunque en cada una de las realizaciones descritas anteriormente se supone que la dirección IPv6 se utiliza principalmente como un protocolo de comunicación, también se pueden aplicar las ideas técnicas según las realizaciones a un caso en el que se utiliza cualquier otro protocolo de comunicación en el que se puede asignar una serie de direcciones a un único nodo o similar.
Se debe entender que la presente invención también se puede conseguir suministrando un sistema o un aparato con un medio de almacenamiento en el que se almacena un código de programa de software, que realiza las funciones de cualquiera de las realizaciones descritas anteriormente, y hace que un ordenador (o CPU o MPU) del sistema o aparato lea y ejecute el código de programa almacenado en el medio de almacenamiento.
En este caso, el mismo código de programa leído desde el medio de almacenamiento realiza las funciones de cualquiera de las realizaciones descritas anteriormente y, por tanto, el código de programa y el medio de almacenamiento en el que se almacena el código de programa constituyen la presente invención.
Los ejemplos del medio de almacenamiento para suministrar el código de programa incluyen un disquete (“floppy”, marca registrada), un disco duro, un disco magneto-óptico, un disco óptico, tal como un CD-ROM, un CD-R, un CD-RW, un DVD-ROM, un DVD-RAM, un DVD-RW o un DVD+RW, una cinta magnética, una tarjeta de memoria no volátil y una memoria ROM. De manera alternativa, el programa se puede descargar a través de una red.
Además, se debe entender que las funciones de cualquiera de las realizaciones descritas anteriormente se pueden conseguir no sólo ejecutando el código de programa leído por un ordenador, sino también haciendo que un SO (sistema operativo) o similar que funciona en el ordenador realice una parte o todas las operaciones actuales en base a las instrucciones del código de programa.
Además, se debe entender que las funciones de cualquiera de las realizaciones descritas anteriormente se pueden conseguir escribiendo un código de programa leído desde el medio de almacenamiento a una memoria dispuesta en una tarjeta de ampliación insertada en un ordenador o a una memoria dispuesta en una unidad de ampliación conectada al ordenador y después haciendo que una CPU o similar dispuesta en la tarjeta de ampliación o en la
5 unidad de ampliación realice parte o todas las operaciones actuales en base a las instrucciones del código de programa.
Aunque la presente invención se ha descrito con referencia a realizaciones de ejemplo, se debe entender que la invención no está limitada a las realizaciones de ejemplo expuestas. El alcance de las siguientes reivindicaciones 10 será de acuerdo a la interpretación más amplia a efectos de englobar todas las modificaciones, estructuras y funciones equivalentes.
Un sistema de gestión de sesiones que permite que los recursos de red se ahorren o utilicen de manera eficiente cuando las direcciones de comunicación se asignan a una interfaz de red. El sistema gestiona sesiones entre un 15 servidor que tiene una serie de direcciones y un cliente. Se determina, en un caso en el que una aplicación dispuesta con el cliente solicita comunicarse con el servidor, si una sesión en la que se utiliza una dirección diferente de una dirección designada por la aplicación ya está establecida o no entre el cliente y el servidor. Se hace que la aplicación se comunique con el servidor utilizando la sesión ya establecida cuando se determina que la sesión ya se ha establecido y se comunica con el servidor utilizando una sesión recién establecida cuando se determina que la
20 sesión no se había establecido.

Claims (7)

  1. REIVINDICACIONES
    1. Sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una serie de direcciones y un cliente, caracterizado por:
    5 medios de determinación (404) configurados para determinar, en un caso en el que una aplicación dispuesta en el cliente solicite comunicarse con el servidor, si una sesión en la que se utiliza una dirección diferente de una dirección designada por la aplicación ya está establecida o no entre el cliente y el servidor; y
    10 medios de control (401) configurados para hacer que la aplicación comunique con el servidor utilizando la sesión ya establecida cuando se determina que la sesión ya se ha establecido y hacer que la aplicación se comunique con el servidor utilizando una sesión recién establecida cuando se determina que la sesión no se ha establecido.
  2. 2. Sistema de gestión de sesiones, según la reivindicación 1, en el que los medios de determinación (404) llevan a cabo la determinación en base a una información de identificación para identificar el servidor.
  3. 3. Sistema de gestión de sesiones, según la reivindicación 2, que comprende, además, unos primeros medios de 20 obtención (402) configurados para obtener la información de identificación del servidor.
  4. 4. Sistema de gestión de sesiones, según la reivindicación 2, que comprende, además, unos segundos medios de obtención (1501) configurados para obtener la información de identificación de un aparato externo.
    25 5. Sistema de gestión de sesiones, según la reivindicación 4, en el que el aparato externo es un servidor DNS.
  5. 6. Sistema de gestión de sesiones, según la reivindicación 1, que comprende, además, unos medios de gestión
    (408) configurados para gestionar un valor que se actualiza en base a una solicitud de conexión y a una solicitud de desconexión de la aplicación,
    30 donde los medios de control (401) desconectan una sesión que se ha establecido entre el cliente y el servidor en base al valor gestionado.
  6. 7. Sistema de gestión de sesiones, según la reivindicación 1, en el que los medios de control (401) hacen que la
    35 aplicación comunique con el servidor utilizando una sesión recién establecida, en un caso en el que una sesión en la que se utiliza la dirección designada por la aplicación, es más eficiente que la sesión ya establecida, incluso cuando se determina que la sesión ya se ha establecido.
  7. 8. Método de control de un sistema de gestión de sesiones para gestionar sesiones entre un servidor que tiene una 40 serie de direcciones y un cliente, caracterizado por:
    determinar, en un caso en el que una aplicación a la que se le proporcionan solicitudes de cliente para comunicarse con el servidor, si una sesión en la que se utiliza una dirección diferente de una dirección designada por la aplicación ya se ha establecido o no entre el cliente y el servidor;
    45 hacer que la aplicación comunique con el servidor utilizando la sesión ya establecida cuando se determina que la sesión ya se ha establecido, y
    hacer que la aplicación comunique con el servidor utilizando una sesión nuevamente establecida cuando se 50 determina que la sesión no está establecida.
    ORDENADOR
    CONTROLADOR PRINCIPAL
    CPU
    RAM
    MEMORIA ROM DE FUENTE
    MEMORIA ROM DE PROGRAMA
    MEMORIA
    ROM DE
    DATOS CONTROLADOR TECLADO DE TECLADO
    DISPOSITIVO
    CONTROLADOR
    DE
    DE VISUALIZACIÓN
    VISUALIZACIÓN MEMORIA
    CONTROLADOR EXTERNA DE DISCO (HD, FD)
    CONTROLADOR DE RED
    RED
    INICIO
    RECIBIR LA SOLICITUD DE CONEXIÓN DE
    LA APLICACIÓN
    OBTENER EL IDENTIFICADOR DE SERVIDOR PARA LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN
    BUSCAR SESIÓN EXISTENTE EN BASE A LA INFORMACIÓN DE GESTIÓN DE SESIONES. ¿SE ENCUENTRA PRESENTE UN IDENTIFICADOR DE SERVIDOR IDÉNTICO?
    NO
    ESTABLECER NUEVA SESIÓN (CREARCONECTOR NUEVO PARA LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN)
    REGISTRAR LA NUEVA SESIÓN EN LA
    INFORMACIÓN DE GESTIÓN DE SESIONES
    SELECCIONAR LA NUEVA SESIÓN COMO
    SESIÓN DE TRANSFERENCIA DE DATOS
    TRANSFERIR DATOS MEDIANTE LA SESIÓN
    SELECCIONADA
    ¿SE HA
    NO
    RECIBIDO LA SOLICITUD DE CIERRE DESDE LA APLICACIÓN?
    CERRAR SESIÓN PARA LA DIRECCIÓN
    DE LA SOLICITUD DE CIERRE
    ACTUALIZAR LA INFORMACIÓN DE
    GESTIÓN DE SESIONES
    FINAL
    SÍ SELECCIONAR LA SESIÓN EXISTENTE ASOCIADA AL MISMO IDENTIFICADOR DE SERVIDOR COMO SESIÓN DE TRANSFERENCIA DE DATOS
    INICIO
    RECIBIR LA SOLICITUD DE CONEXIÓN DE
    LA APLICACIÓN
    OBTENER LA LISTA DE DIRECCIONES ASOCIADA AL DESTINO DE LA SOLICITUD DE CONEXIÓN (DIRECCIÓN/NOMBRE DE EQUIPO)
    COMPROBAR LA SESIÓN EXISTENTE EN BASE A LA INFORMACIÓN DE GESTIÓN DE SESIONES. ¿SE ENCUENTRA DISPONIBLE LA SESIÓN EXISTENTE PARA EL MISMO SERVIDOR EN LA LISTA DE DIRECCIONES?
    NO
    ESTABLECER UNA SESIÓN NUEVA (CREAR UN CONECTOR NUEVO PARA LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN)
    REGISTRAR LA SESIÓN NUEVA EN LA
    INFORMACIÓN DE GESTIÓN DE SESIONES
    SELECCIONAR LA SESIÓN NUEVA COMO
    SESIÓN DE TRANSFERENCIA DE DATOS
    TRANSFERIR DATOS MEDIANTE LA SESIÓN
    SELECCIONADA
    ¿SE HA
    NO
    RECIBIDO UNA SOLICITUD DE CIERRE DESDE LA APLICACIÓN?
    CERRAR LA SESIÓN PARA LA DIRECCIÓN
    DE LA SOLICITUD DE CIERRE
    ACTUALIZAR LA INFORMACIÓN DE
    GESTIÓN DE SESIONES
    FINAL
    SÍ SELECCIONAR LA SESIÓN EXISTENTE PARA EL MISMO SERVIDOR COMO SESIÓN DE TRANSFERENCIA DE DATOS
    INICIO
    RECIBIR LA SOLICITUD DE CONEXIÓN
    DESDE LA APLICACIÓN
    OBTENER LA LISTA DE DIRECCIONES ASOCIADA AL DESTINO DE LA SOLICITUD DE CONEXIÓN (DIRECCIÓN/NOMBRE DE EQUIPO)
    BUSCAR UNA SESIÓN EXISTENTE EN BASE A LA INFORMACIÓN DE GESTIÓN DE SESIONES. ¿SE ENCUENTRA DISPONIBLE UNA SESIÓN EXISTENTE PARA EL MISMO SERVIDOR EN LA LISTA DE DIRECCIONES?
    NO
    ESTABLECER UNA SESIÓN NUEVA (CREAR
    UN CONECTOR NUEVO PARA LA DIRECCIÓN
    DE LA SOLICITUD DE CONEXIÓN)
    REGISTRAR UNA SESIÓN NUEVA EN LA
    INFORMACIÓN DE GESTIÓN DE SESIONES
    SELECCIONAR LA NUEVA SESIÓN COMO
    SESIÓN DE TRANSFERENCIA DE DATOS SÍ
    SELECCIONAR LA SESIÓN EXISTENTE ASOCIADA AL MISMO IDENTIFICADOR DE SERVIDOR COMO SESIÓN DE TRANSFERENCIA DE DATOS
    INICIO
    RECIBIR LA SOLICITUD DE CONEXIÓN DESDE LA APLICACIÓN
    OBTENER EL IDENTIFICADOR DE SERVIDOR PARA LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN
    OBTENER LA INFORMACIÓN DE LA LÍNEA EN RELACIÓN A LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN
    BUSCAR UNA SESIÓN EXISTENTE EN BASE A LA INFORMACIÓN DE GESTIÓN DE SESIONES. ¿SE ENCUENTRA PRESENTE EL MISMO IDENTIFICADOR DE SERVIDOR?
    NO
    ESTABLECER UNA SESIÓN NUEVA (CREARUN CONECTOR NUEVO PARA LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN)
    REGISTRAR LA NUEVA SESIÓN EN LA INFORMACIÓN DE GESTIÓN DE SESIONES
    SELECCIONAR LA NUEVA SESIÓN COMO SESIÓN DE TRANSFERENCIA DE DATOS
    ¿ES MÁS FAVORABLE LA CONDICIÓN DE LA
    SÍLÍNEA EN RELACIÓN A LA DIRECCIÓN DE LA SOLICITUD DE CONEXIÓN?
    NO
    SELECCIONAR LA SESIÓN EXISTENTE ASOCIADA AL MISMO IDENTIFICADOR DE SERVIDOR COMO SESIÓN DE TRANSFERENCIA DE DATOS
ES09156871T 2008-04-04 2009-03-31 Sistema de gestión de sesiones y método para controlar las mismas. Active ES2371378T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008098363 2008-04-04
JP2008098363 2008-04-04
JP2009002433 2009-01-08

Publications (1)

Publication Number Publication Date
ES2371378T3 true ES2371378T3 (es) 2011-12-30

Family

ID=41156777

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09156871T Active ES2371378T3 (es) 2008-04-04 2009-03-31 Sistema de gestión de sesiones y método para controlar las mismas.

Country Status (3)

Country Link
JP (1) JP5425320B2 (es)
CN (1) CN101552788B (es)
ES (1) ES2371378T3 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312683B (zh) * 2012-03-16 2018-12-21 中兴通讯股份有限公司 Tdf会话的处理方法及pcrf
JP6403976B2 (ja) * 2014-04-09 2018-10-10 アルパイン株式会社 コンピュータプログラム、情報処理装置及び処理実行方法
JP6179492B2 (ja) * 2014-09-11 2017-08-16 コニカミノルタ株式会社 通信中継装置、プログラム及び通信中継方法
JP6531497B2 (ja) 2015-06-02 2019-06-19 富士通株式会社 無線通信システム、送信周期調整装置および移動機
CN106776063B (zh) * 2016-11-29 2020-12-01 北京元心科技有限公司 移动终端、容器电话通讯功能实现方法及跨容器通信方法
CN108632265B (zh) * 2018-04-26 2021-06-29 广州视源电子科技股份有限公司 客户端的通讯连接方法、装置、系统和存储介质
CN110731073B (zh) 2019-02-01 2022-05-24 蚂蚁双链科技(上海)有限公司 在区块链系统中的节点之间建立通信的方法和设备
JP7439717B2 (ja) 2020-09-30 2024-02-28 株式会社デンソー 車両システムにおける通信方法、および、車載ネットワークの通信管理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177548A (ja) * 1996-12-18 1998-06-30 Casio Comput Co Ltd セッション管理システム
JP3855595B2 (ja) * 2000-04-25 2006-12-13 株式会社日立製作所 通信システム、通信方法及び通信装置
JP2002199004A (ja) * 2000-12-26 2002-07-12 Matsushita Electric Ind Co Ltd Ipネットワークを介した移動通信方法
US20020087722A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A/ Fatpipe Networks Domain name resolution making IP address selections in response to connection status when multiple connections are present
US7117266B2 (en) * 2001-07-17 2006-10-03 Bea Systems, Inc. Method for providing user-apparent consistency in a wireless device
JP4270888B2 (ja) * 2003-01-14 2009-06-03 パナソニック株式会社 Wlan相互接続におけるサービス及びアドレス管理方法
JP4263915B2 (ja) * 2003-01-21 2009-05-13 株式会社テレマン・コミュニケーションズ データ通信システム
US7577151B2 (en) * 2005-04-01 2009-08-18 International Business Machines Corporation Method and apparatus for providing a network connection table
US8166175B2 (en) * 2005-09-12 2012-04-24 Microsoft Corporation Sharing a port with multiple processes
JP2007174106A (ja) * 2005-12-20 2007-07-05 Ricoh Co Ltd 画像処理装置
JP4333723B2 (ja) * 2006-09-29 2009-09-16 株式会社日立製作所 通信ログ管理システム

Also Published As

Publication number Publication date
JP5425320B2 (ja) 2014-02-26
JP2013118663A (ja) 2013-06-13
CN101552788A (zh) 2009-10-07
CN101552788B (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
ES2371378T3 (es) Sistema de gestión de sesiones y método para controlar las mismas.
EP2107762B1 (en) Session management system and method of controlling the same
JP4304593B2 (ja) 情報処理システム、情報処理装置および方法、並びにプログラム
EP2499787B1 (en) Smart client routing
US9407456B2 (en) Secure access to remote resources over a network
US7222359B2 (en) System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
CN100477619C (zh) 用于建立双向隧道的方法和系统
JP4354532B2 (ja) 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法
US8094337B2 (en) Device and system for assisting printer selection through a network
US8055771B2 (en) Network traversal method for establishing connection between two endpoints and network communication system
US20120191769A1 (en) Site-aware distributed file system access from outside enterprise network
EP2223549B1 (en) Enabling provider network inter-working with mobile access
US7701934B2 (en) System and method for managing devices within a private network via a public network
JP2020109996A (ja) リソース取得方法および装置
TWI270278B (en) System and method of providing computer networking
US11632431B2 (en) Policy-based connection provisioning using domain name system (DNS) requests
EP2656590B1 (en) DNS forwarder for multi-core platforms
US20060085851A1 (en) Systems, Methods, and Computer Readable Medium for Avoiding a Network Address Collision
KR101160382B1 (ko) 세션 관리 시스템 및 그 제어 방법
US20130219486A1 (en) Vpn deep packet inspection
WO2023035660A1 (zh) 资源请求方法、系统、装置、设备及存储介质
JP4930856B2 (ja) 通信システム、ゲートウェイ装置、クライアント装置、コンピュータ名変換方法およびプログラム
JP2004080630A (ja) 広域ネットワークシステム及び広域ネットワーク通信方法
JPH10301864A (ja) 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、情報交換方法及び記憶媒体