CN101436961B - 会话管理系统和方法 - Google Patents

会话管理系统和方法 Download PDF

Info

Publication number
CN101436961B
CN101436961B CN200810166287XA CN200810166287A CN101436961B CN 101436961 B CN101436961 B CN 101436961B CN 200810166287X A CN200810166287X A CN 200810166287XA CN 200810166287 A CN200810166287 A CN 200810166287A CN 101436961 B CN101436961 B CN 101436961B
Authority
CN
China
Prior art keywords
server apparatus
client devices
session
request
server
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
CN200810166287XA
Other languages
English (en)
Other versions
CN101436961A (zh
Inventor
川端邦明
冈本康介
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101436961A publication Critical patent/CN101436961A/zh
Application granted granted Critical
Publication of CN101436961B publication Critical patent/CN101436961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

提供一种管理客户机设备和多个服务器设备之间的会话的系统,包括:接收器,作为多个服务器设备中的每个服务器设备的代理,接收从客户机设备给多个服务器设备中的每个服务器设备的请求;确定单元,当收到从客户机设备给多个服务器设备中的任意一个服务器设备的请求时,确定是否维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的会话;断开单元,在客户机设备和多个服务器设备中的至少任意一个服务器设备之间的会话已断开时,断开客户机设备和所述多个服务器设备中除所述至少一个服务器设备之外的服务器设备之间建立的会话;转发单元,若客户机设备和所有多个服务器设备之间建立的会话被维持,把接收的请求转发给请求的目的地服务器设备。

Description

会话管理系统和方法
技术领域
本发明涉及管理会话的技术。更具体地说,本发明涉及管理在客户机设备和多个服务器设备中的每个服务器设备之间建立的会话的技术。
背景技术
近年来,使用了由反向代理服务器实现的单点登录(SSO:SingleSign-On)验证系统。在SSO验证系统中,充当多个服务器设备的代理的反向代理服务器集体处理从客户机设备接收的验证请求。当验证成功时,建立客户机设备和多个服务器中的每个服务器之间的会话。如所述那样,在SSO验证系统中,通过仅仅进行一次登录操作,用户就能够访问多个服务器设备中的每个服务器设备(例如,参见专利文献1的0219段)
[日本专利申请公开No.2005-11098]
发明内容
在SSO验证系统中,多个服务器设备各自的验证状态最好应同步。在包括按照协同方式工作的多个服务器设备的系统中,当在某一服务器设备中会话被断开时,即,当只在系统的某一部分中会话被断开时,可能发生意外的错误。不过,当考虑到验证状态的各种组合而构建系统时,与系统的开发相关的工作量和成本不利地增大。
同时,现有的服务器设备自身具备在许多情况下断开会话的功能,比如超时探测和退出(log-out)探测。具体地说,用户自己通过从服务器退出断开与每个服务器设备的会话,或者每个服务器设备可使用超时探测功能断开会话。为此,当在SSO验证系统中没有任何修改的情况下使用这样的服务器设备时,会发生验证状态的不一致。
为此,现有的服务器设备不能原样用于SSO验证系统的实现,从而需要开发专用于该系统的不同服务器,或者现有服务器设备的一些功能需要被修改。
在这点上,本发明的目的是提供能够解决上述问题的系统、方法和程序。该目的是通过组合在权利要求的范围的独立权利要求中列举的特征实现的。另外,从属权利要求限定本发明的更多有利的具体例子。
为了解决上述问题,本发明的第一方面提供一种管理客户机设备和多个服务器设备之间的会话的系统,所述系统包括:接收器,确定单元,断开单元和转发单元。接收器作为多个服务器设备中的每个服务器设备的代理,接收从客户机设备给多个服务器设备中的每个服务器设备的请求。当收到从客户机设备给多个服务器设备中的任意一个服务器设备的请求时,确定单元确定是否维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的会话。在客户机设备和多个服务器设备中的至少任意一个服务器设备之间的会话已被断开的条件下,断开单元断开在客户机设备和所述多个服务器设备中不同于所述至少一个服务器设备的每个服务器设备之间建立的会话。如果在客户机设备和所有多个服务器设备之间建立的会话被维持,那么转发单元把接收的请求转发给该请求的目的地服务器设备。此外,本发明提供一种使计算机起所述系统作用的程序,和借助所述系统管理会话的方法。
应注意本发明的上述概述并未列举本发明的所有基本方面。这些基本方面的子组合也可属于本发明。
附图说明
图1表示按照本实施例的通信网络10的整体配置。
图2表示验证状态的转变的例子。
图3表示按照本实施例的验证状态的转变的例子。
图4表示按照本实施例的验证系统306的功能配置。
图5表示存储单元304的数据配置的例子。
图6表示保存在存储单元304中的URL对应数据500A会话ID对应数据500B的例子。
图7表示保存在存储单元304中的确认数据500C和断开数据500D的例子。
图8表示按照本实施例的反向代理服务器系统300的处理流程的例子。
图9表示按照本实施例的变型的验证系统306的功能配置。
图10表示按照本实施例的变型的URL对应数据500A的例子。
图11表示按照本实施例的变型的反向代理服务器系统300的处理流程的例子。
图12表示起按照本实施例或者本实施例的变型的反向代理服务器系统300作用的计算机600的硬件配置的例子。
10   通信网络
20   状态
30   状态
100  客户机设备
102  通信接口
104  存储单元
106  web浏览器
200  服务器设备
202  通信接口
204  存储单元
206  web服务器
300  反向代理服务器系统
302  通信接口
304  存储单元
306  验证系统
400  接收器
405  验证单元
410  确定单元
420  断开单元
430  ID管理单元
440  转发单元
450  维持单元
600  计算机
具体实施方式
下面,利用实现本发明的优选方式(下面称为实施例)说明本发明。不过,下面的实施例并不限制在权利要求的范围中详述的本发明,在实施例中描述的特征的所有组合对本发明的解决手段来说不一定是必不可少的。
图1表示按照本实施例的通信网络10的整个配置。通信网络10包括客户机设备100,多个服务器设备200(例如,服务器设备200A-200C)和反向代理服务器系统300。客户机设备100作为基本硬件的通信接口102,比如网络接口卡,和存储单元104,比如硬盘驱动器。从而,通过由CPU执行从存储单元104读取的程序,客户机设备100起web浏览器106的作用。
同样地,每个服务器设备200A-200C包括作为基本硬件的通信接口202,比如网络接口卡,和存储单元204,比如硬盘驱动器。上面描述的组件被称为通信接口202A-202C和存储单元204A-204C。从而,通过分别由CPU执行从存储单元204A-204C读取的程序,服务器设备200A-200C起web服务器206A-206C的作用。
同样地,反向代理服务器系统300包括作为基本硬件的通信接口302,比如网络接口卡,和存储单元304,比如硬盘驱动器。从而,通过由CPU执行从存储单元304读取的程序,反向代理服务器系统300起验证系统306的作用。验证系统306执行各种控制,以便客户机设备100的用户通过登录一次,就能够利用每个服务器设备200A-200C。具体地说,所述各种控制如下所述。
首先,验证系统306按照来自客户机设备100的请求验证用户。当验证成功时,验证系统306建立客户机设备100和反向代理服务器系统300之间的会话。此时,反向代理服务器系统300充当客户机设备100的代理,并建立客户机设备100和每个服务器设备200A-200C之间的会话。
这里使用的术语“会话”指的是用户对网站进行的访问的一个单元。会话指的是从用户以用户名登录网站开始,到用户退出网站为止,要执行的一系列的处理(例如,请求或响应的传送和接收)。在持续预定时间(事实上的标准为30分钟)没有任何访问的情况下,即使不存在明确的退出,由于超时探测的缘故,会话也会终止。此外,会话的建立指的是在服务器设备200或反向代理服务器系统300中分配用于会话管理的存储区,以便允许会话的上述管理。
在建立会话之后,反向代理服务器系统300把从客户机设备100接收的发给反向代理服务器系统300的请求的目的地URL转换成服务器设备200A-200C中的指定服务器设备的URL,从而有选择地把所述请求转发给服务器设备200A-200C之一。另外,反向代理服务器系统300进行会话ID的转换,并适当地管理会话。
在上面说明的通信网络中,除非每个服务器设备200A-200C中关于相同用户的验证状态都同步,否则难以正确地操作服务器设备200A-200C,因为存在在服务器设备200A-200C中发生意外错误的情况。就这种情况来说,本发明的目的是通过适当地使验证状态同步,由反向代理服务器系统300适当地操作服务器设备200A-200C。下面将对此进行具体说明。
图2表示验证状态的转变的例子。为了简化说明,图2中假定代理服务器系统300充当服务器设备200A-200B的代理,并执行服务器设备200A-200B的验证,而不涉及服务器设备200C的验证。在初始状态,即,整个系统被重置的状态下,不建立任何会话(20A)。反向代理服务器系统300按照从客户机设备100接收的请求,建立客户机设备100和反向代理服务器系统300之间的会话(20B)。
如果在建立该会话的状态下,登录成功,那么依次建立客户机设备100与服务器设备200A之间的会话和客户机设备100与服务器设备200B之间的会话(20C和20F)。假定验证状态不同步地改变,那么可能有选择地只断开会话之一。例如,在20C中所示的状态下,可只断开客户机设备100和反向代理服务器系统300之间的会话(20D)。
此外,在20C中所示的状态下,例如可只断开客户机设备100和服务器设备200A之间的会话(20E)。此外,在20F中所示的状态下,可只断开客户机设备100和服务器设备200A之间的会话(20G),或者可只断开客户机设备100和服务器设备200B之间的会话(20H),或者可只断开客户机设备100和反向代理服务器系统300之间的会话(20I)。
如上所述,如果各个服务器设备200A-200B中的验证状态可不同,那么要假定的验证状态的组合数变大。在服务器设备200A和200B协调工作的情况下,必须准备支持所有这些组合的错误处理功能,从而存在开发成本和工作量增大的顾虑。
图3表示按照本实施例的验证状态的转变的例子。为了简化说明,图3中假定代理服务器系统300充当服务器200A和200B的代理,并执行服务器设备200A-200B的验证,而不涉及服务器设备200C的验证。在初始状态,即整个系统被重置的状态下,不建立任何会话(30A)。反向代理服务器系统300按照从客户机设备100接收的请求,建立客户机设备100和反向代理服务器系统300之间的会话(30B)。
如果在建立该会话的状态下,登录成功,那么依次建立客户机设备100与服务器设备200B之间的会话以及客户机设备100与服务器设备200A之间的会话(30C和30D)。在服务器设备200A和200B之一探测到超时,或者用户退出服务器200A和200B之一的情况下,已建立的任何会话被断开,验证状态返回状态30A。如果按照上述方式控制验证状态,那么能够减少在服务器设备200A和200B的管理中要考虑的状态的组合数。
图4表示按照本实施例的验证系统306的功能配置。验证系统306包括接收器400,验证单元405,确定单元410,断开单元420,ID管理单元430和转发单元440。接收器400作为服务器设备200A-200C的代理,从客户机设备100接收对每个服务器设备200A-200C的请求。
在验证单元405收到用户登录到反向代理服务器系统300的请求的条件下,验证单元405根据登录ID,口令等验证用户。先前保存在存储单元304中的验证数据可用于所述验证。在验证成功的条件下,验证单元405向客户机设备100返回该客户机设备100和反向代理服务器系统300之间的会话ID。该会话ID在web浏览器106上被设为一个cookie,随后连同该客户机设备100之后将传送的请求一起以反向代理服务器系统300为目的地被传给反向代理服务器系统300。
此外,在验证成功的条件下,通过充当客户机设备100的代理,验证单元405可建立客户机设备100和每个服务器设备200A-200C之间的会话。按照上述方式建立的会话的ID由ID管理单元430保存在存储单元304中。之后,响应从客户机设备100收到对服务器设备200A-200C任意之一的请求,确定单元410确定是否维持在客户机设备100和每个服务器设备200A-200C之间建立的会话。尽管所述确定的实现方法将在后面详细说明,不过该实现方法的概述如下所示。
确定单元410通过扫描存储单元304,读取诸如会话ID之类的信息,随后识别具有与客户机设备100建立的会话的服务器设备200。这里,例如,假定已在客户机设备100和每个服务器设备200A-200C之间建立了会话。随后,确定单元410向每个服务器设备200A-200C传送确认请求。该确认请求是确认维持服务器设备200和客户机设备100之间的会话的请求。所述确认请求可预先保存在存储单元304中。
随后,确定单元410根据对确认请求的响应,确定会话是否被断开。具体地说,确定单元410确定响应是否和预定的预期响应相符。所述预期响应是指示维持服务器设备200和客户机设备100之间的会话的预定响应。所述预期响应可预先保存在存储单元304中。
随后,在响应与预期响应相符的条件下,确定单元410确定维持服务器设备200和客户机设备100之间的会话。按照上述方式,对于每个服务器设备200A-200C,确定单元410确定是否维持服务器设备200和客户机设备100之间的会话。
在客户机设备100和服务器设备200A-200C中的至少一个服务器设备200之间的会话已被断开的条件下,断开单元420断开在客户机设备100和服务器设备200A-200C中不同于前述至少一个服务器设备200的每个服务器设备200之间建立的会话。具体地说,断开单元420从存储单元304读取预先与待断开的服务器设备200关联地保存在存储单元304中的断开请求,随后传送该请求。
这种情况下,接收器400向客户机设备100返回指示会话已被断开的错误消息。同时,在客户机设备100和所有服务器设备200A-200C之间的会话被维持的条件下,转发单元440把接收器400接收的请求转发给请求目的地的服务器设备200。
因此,通过利用上述功能,在任意会话被断开之前,能够适当地维持每个会话。同时,在任意会话被断开的情况下,通过强制断开其它会话,可使所有会话的状态同步(维持或断开)。
ID管理单元430允许另外建立一个会话。具体地说,ID管理单元430监视按照由客户机设备100传送,随后由转发单元440转发的请求,将由任意服务器设备200A-200C返回的响应。从而,在从任意服务器设备200A-200C接收的响应指出将建立一个新会话的情况下,ID管理单元430使识别该新会话的会话ID被保存在存储单元304中。
例如,当在客户机设备100和服务器设备200A-200B之间已建立了会话的情况下,在客户机设备100和服务器设备200C之间建立新的会话时,新会话的会话ID从服务器设备200C返回给客户机设备100。ID管理单元430从响应从读取会话ID,并使该会话ID与已在客户机设备100和反向代理服务器系统300之间建立的会话的ID关联地被保存在存储单元304中。因此,即使在已确定将同步的会话的组合之后,仍然能够增加新的会话。
下面,参考图5-7说明会话管理的具体实现例子。
图5表示按照本实施例的存储单元304的数据配置的例子。存储单元304是按照本实施例的第一到第三存储单元的例子。从而,存储单元304把URL对应数据500A,会话ID对应数据500B,确认数据500C和断开数据500D保存于其中。
图6表示将保存在按照本实施例的存储单元304中的URL对应数据500A和会话ID对应数据500B的例子。URL对应数据500A包括分别与记录于其中的服务器URL关联的客户机URL。URL对应数据500A由通信网络10的开发者预先创建,随后被保存在存储单元304中。转发单元440参考URL对应数据500A,把请求转发给适当的服务器设备200。
具体地说,转发单元440从请求消息中读取由接收器400接收的请求的目的地URL。随后,转发单元440搜索URL对应数据500A,寻找与读取的目的地URL相符的客户机端URL。转发单元440从URL对应数据500A中读取与已搜出的客户机端URL对应的服务器端URL。随后,转发单元440以读取的服务器端URL作为目的地,转发接收器400接收的请求
从而,例如,以“http://www.ΔΔ.com/jct1/index.html”为目的地的请求被转发给服务器设备200A。此外,目的地为“http://www.ΔΔ.com/jct2/index.html”的请求被转发给服务器设备200B。另外,目的地为“http://www.ΔΔ.com/jct3/index.html”的请求被转发给服务器设备200C。
如上所述,通过利用URL对应数据500A,能够使多个服务器设备200如同它们是单一网站那样地运行。
此外,会话ID对应数据500B包括相互关联地记录于其中的客户机端会话ID,服务器端会话ID和服务器端URL。每个客户机端会话ID识别已在客户机设备100和反向代理服务器系统300之间建立的会话。每个服务器端会话ID识别在客户机设备100和至少一个服务器设备200之间建立的会话。
利用这些数据的处理的一个例子如下所述。首先,当接收器400收到请求时,转发单元440读取设置在所述请求中的会话ID。同时,如前所述,转发单元440根据URL对应数据500A,指定与接收器400接收的请求的目的地URL对应的服务器端URL。
转发单元440把读取的会话ID设为客户机端ID,并从会话ID对应数据500B中搜索与指定的服务器端URL对应的条目。随后,转发单元440从会话ID对应数据500B中读取包含在所述条目中的服务器端ID。转发单元440在接收器400接收的请求中设置读取的服务器端ID,以代替已设置的会话ID。随后,转发单元400把其中设置了所述服务器ID的请求转发给目的地服务器设备200。
在已在接收的请求中设置的目的地的客户机端URL是“http://www.ΔΔ.com/jct1/index.html”,并且在该请求中,35352被设为会话ID的情况下,对应的服务器端ID51552被转发单元440读取,因为目的地是服务器设备200A。随后,转发单元440在接收的请求中设置该读取的服务器ID51552,并把该请求转发给服务器设备200A。
如上所述,按照会话ID对应数据500B,可使客户机设备100好像会话是单一会话似地识别在客户机设备100和每个服务器设备200A-200C之间建立的会话。
此外,向会话ID对应数据500B登记新的会话ID的处理的例子如下所述。通过监视从任意服务器设备200返回的以客户机设备100为目的地的响应,ID管理单元430确定在客户机设备100和另一服务器设备200之间是否建立了新的会话。
例如,ID管理单元430监视以cookie的形式向web浏览器106登记会话ID的响应。随后,在探测到这种响应的条件下,ID管理单元430确定在客户机设备100和尚未与该客户机设备100建立会话的服务器设备之间建立了新的会话。
当建立了新的会话时,ID管理单元430从所述响应中读取待登记的会话ID。随后,ID管理单元430与该新的不同服务器设备200的URL关联地向会话ID对应数据500B登记读取的会话ID。
例如,当在客户机设备100和服务器设备200A-200B之间已建立了会话的情况下,在客户机设备100和服务器设备200C之间建立新的会话时,以cookie的形式向web浏览器106登记会话ID的指令被包含在从服务器设备200C发给客户机设备100的响应中。通过监视所述响应并读取会话ID,ID管理单元430能够向会话ID对应数据500B登记该会话ID。
除了上述处理之外,URL对应数据500A和会话ID对应数据500B被用于在每个服务器200向客户机设备100返回的响应中设置的URL和会话ID的转换。例如,当从某一服务器设备200收到响应时,反向代理服务器系统300从URL对应数据500A的服务器端URL字段中搜索包含在该响应中的URL。随后,反向代理服务器系统300把包含在该响应中的URL变为与搜出的服务器端URL对应的客户机端URL。
同样地,当从某一服务器设备200收到响应时,反向代理服务器系统300从URL对应数据500B的服务器端会话ID字段中搜索包含在该响应中的会话ID。随后,反向代理服务器系统300把包含在该响应中的会话ID变成与搜出的服务器端会话ID对应的客户机端会话ID。
按照上述方式,从服务器设备200到客户机设备100的响应可被认为好像返回自单一网站。
图7表示保存在按照本实施例的存储单元304中的确认数据500C和断开数据500D的例子。这些数据由熟悉服务器设备200A-200C的操作的工程师预先创建,随后被保存在存储单元304中。确认数据500C相互关联地记录服务器端URL,确认请求和预期响应。关于该数据执行的处理如下所述。
当接收器400收到请求时,确定单元410首先搜索会话ID对应数据500B,随后选择其对应于所述请求的会话ID已被记录在会话ID对应数据500B中的至少一个服务器设备200。例如,在所述请求中设置会话ID35352的情况下,确定单元410读取均把该会话ID作为客户机端ID的所有服务器端URL。随后,确定单元410选择由相应服务器端URL指定的服务器设备200至少之一。在图6的例子中,选择所有的服务器设备200A-200C。
选择的服务器设备200是具有已与客户机设备100建立的会话的服务器设备200。不过,不知道在服务器设备200和客户机设备100之间建立的会话是否仍然被维持。因此,确定单元410传送确认请求,以确定在选择的至少一个服务器设备200和该客户机设备100之间的会话是否已被断开。
具体地说,对于每个选择的服务器设备,确定单元410从确认数据500C中读取与该服务器设备200对应的确认请求。随后,确定单元410把读取的确认请求传给对应的服务器设备200。例如,由“POST/”开始的确认请求,由“GET/”开始的确认请求,和由“POST/”开始的确认请求分别被传给服务器设备200A、200B和200C。
随后,确定单元410从确认数据500C中读取与作为确认请求的目的地的服务器设备200对应的预期响应。随后,确定单元410比较与确认请求对应的服务器设备200的响应和所述预期响应。在这些响应不同的条件下,确定单元410确定服务器设备200和客户机设备100之间的会话被断开。
对于多个服务器设备200中的每一个来说,识别该服务器设备200的服务器端URL和待传送的,用于断开该服务器设备200和客户机设备100之间的会话的断开请求被相互关联地记录在断开数据500D中。关于该数据进行的处理如下所述。
在客户机设备100和所有服务器设备200之间的会话将被断开的情况下,确定单元410首先从断开数据500D中读取与相应服务器设备200对应的断开请求。随后,确定单元410分别把读取的断开请求传给对应的服务器设备200。
例如,每个断开请求将请求强制退出或者强制超时探测。按照该请求,每个服务器设备200A-200C断开会话,从而,能够释放为维持相应会话而保证的存储区等等。
图8表示按照本实施例的反向代理服务器系统300的处理流程的一个例子。当接收器400从客户机设备100收到请求用户验证的请求时,验证单元405根据登录ID、口令等等,验证用户(S800)。
验证单元05充当客户机设备100的代理,在验证成功的条件下,向每个服务器设备200A-200C传送在客户机设备100和每个服务器设备200A-200C之间建立会话的请求。随同该操作一起,验证单元405向客户机设备100返回会话ID(例如,35352),用于识别客户机设备100和反向代理服务器系统300之间的会话(S810)。客户机设备100的web浏览器106把该会话ID设为cookie等,从而该会话ID能够被设置在稍后要传送的请求中。
ID管理单元430从服务器设备200A-200C接收均分别用于识别客户机设备100和每个服务器设备200A-200C之初的新会话的会话ID。例如,在客户机设备100和服务器设备200A之间建立的会话的ID为51552,在客户机设备100和服务器设备200B之间建立的会话的ID为48232。此外,在客户机设备100和服务器设备200C之间建立的会话的ID为56521。
随后,ID管理单元430使接收的会话ID与已在客户机设备100和反向代理服务器系统300之间建立的会话的会话ID(例如,35352)相关联地被保存在存储单元304中(S820)。待保存的会话ID的数据结构与上面说明的会话ID对应数据500B相同。
当在上述操作之后,接收器400从客户机设备100收到对任意服务器设备200的请求时,确定单元410确定是否维持在客户机设备100和每个服务器设备200之间建立的会话(S830)。为了指定已在客户机设备100和每个服务器设备200之间建立的会话,确定单元410可查阅会话ID对应数据500B,如上所述。另外,为了确定是否维持每个会话,确定单元410可利用确认数据500C传送确认请求,如上所述。
确认请求起避免对正在维持的会话的超时探测的作用,以及确认会话被维持的作用。例如,当收到确认请求时,每个服务器设备200A-200C重置用于超时探测的计时器。因此,使相应会话的计时器同步,从而使会话状态的匹配更容易。应注意在计时器未被确认请求重置的情况下,通过在确认请求中增加重置计时器的请求,确认单元410可传送该重置计时器的请求。
在已在客户机设备100和服务器设备之间建立的所有会话被维持的条件下(S840:Yes),转发单元440把接收器400接收的请求转发给该请求的目的地服务器设备200(S850)。下面将详细说明该处理。转发单元440首先根据该请求的目的地URL,如上所述确定将向其转发该请求的转发目的地服务器设备200。这种确定是通过匹配目的地URL和URL对应数据500A来实现的。这里,服务器设备200A被确定为所述目的地。
此外,转发单元440从验证系统306的会话ID对应数据500B中读取与确定的服务器设备200对应的会话ID。随后,转发单元440在请求中设置读取的会话ID。这里,设置51552,它是对应于服务器设备200A的会话ID。随后,转发单元440把包含其中设置的会话ID的请求转发给作为目的地的服务器设备200A。
每次接收器400收到请求时,重复上述从S830-S850的处理。
同时,在客户机设备100和至少一个服务器设备200之间的会话已被断开的条件下(S840:No),断开单元420断开在客户机设备100和服务器设备200A-200C中,除已使会话断开的服务器设备200(例如,服务器设备200A)之外的每个服务器设备200(例如,服务器设备200B和200C)之间建立的会话(S860)。
例如,断开单元420可从断开数据500D中读取分别对应于服务器设备200B和200C的断开请求,随后把读取的断开请求传给相应的服务器设备200B和200C。代替该操作,断开单元420可向与客户机设备100建立了会话的所有服务器设备200(这种情况下,所有的服务器设备200A-200C)传送断开请求,而不管服务器设备200是否已使该会话断开。随后,接收器400向客户机设备100返回指出会话已被断开的错误消息(S870)。
如上参考图1-8所述,就按照本实施例的通信网络10来说,即使在每个服务器设备200A-200C自身具备退出或超时探测功能的情况下,也能够使在客户机设备100和每个服务器设备200A-200C之间建立的会话的状态同步。从而,即使在使用均独立工作的现有服务器设备200的情况下,也不需要处理由于会话的状态不同步而导致的错误。因此,能够减少与整个系统的设计、开发和维护相关的工作量和成本。
下面,作为本实施例的一种变型,将说明允许会话状态的同步的另一实施例。
图9表示按照本实施例的变型的验证系统306的功能配置。在该变型中,和上述实施例的情况一样,验证系统306也包括接收器400,验证单元405,确定单元410,断开单元420,ID管理单元430和转发单元440。在该变型中,除了上述组件之外,验证系统306还包括维持单元450。
本变型中的接收器400,验证单元405和ID管理单元430基本上和上述实施例中的接收器400,验证单元405和ID管理单元430相同。具体地说,作为每个服务器设备200A-200C的代理,接收器400从客户机设备100接收对每个服务器设备200A-200C的请求。
另外,在收到用户登录到反向代理服务器系统300的请求的条件下,验证单元405根据登录ID,口令等验证用户。随后,在验证成功的条件下,验证单元405向客户机设备100返回客户机设备100和反向代理服务器系统300之间的会话ID。此外,在验证成功的条件下,验证单元405可使ID管理单元430充当客户机设备100的代理,并通过指令ID管理单元430在客户机设备100和每个服务器设备200A-200C之间建立会话。
ID管理单元430还允许另外建立新的会话。具体地说,按照从客户机设备100传送的,并且随后由转发单元440转发的请求,ID管理单元430监视将由任意服务器设备200A-200C返回的反应。随后,在从任意服务器设备200A-200C收到的响应指示将建立新会话的条件下,ID管理单元430使用于识别新会话的会话ID被保存在存储单元304中。
另一方面,确定单元410,断开单元420和转发单元440不同于上述实施例中的确定单元410,断开单元420和转发单元440。首先,维持单元450以比对应于服务器设备200确定的超时时段短的周期,向均已与客户机设备100建立了会话的多个服务器设备200中的每一个传送维持会话的请求。每个已建立的会话是如上参考图6所述那样,根据会话ID对应数据500B指定的。另外,最好应预先禁用最初包括在每个服务器设备200A-200C中的退出功能。
随后,确定单元410根据从客户机设备100接收的发给任意服务器设备200的请求,确定是否要断开已在客户机设备100和多个服务器设备200之间建立的所有会话。例如,确定单元410可探测会话的超时。具体地说,确定单元410确定在预定的超时时段内,是否从客户机设备100向均与客户机设备100建立了会话的任意服务器设备200传送了请求。随后,在超时时段内没有传送任何请求的条件下,确定单元410确定断开已建立的所有会话。
作为另一例子,确定单元410可探测诸如退出之类的明确指令。具体地说,确定单元410确定是否从客户机设备100收到断开已建立的所有会话的指令。在收到这种指令的条件下,确定单元410确定断开已在客户机设备100和多个服务器设备之间建立的所有会话。例如,这种明确指令可以是用户从该用户已登录的反向代理服务器系统300退出的请求。
随后,在确定单元410确定断开所有会话的条件下,断开单元420断开客户机设备100和多个服务器设备200之间的会话。通过传送如上参考图6所述从断开数据500D读取的断开请求,断开会话。此外,断开单元420断开客户机设备100和反向代理服务器系统300之间的会话。
此外,在接收器收到以任意服务器设备200为目的地的请求的条件下,转发单元440只是把所述请求转发给目的地服务器设备200。具体地说,不同于上述实施例,所述请求只是被转发,而不确认会话是否被维持。如同参考图6所述那样,目的地是根据URL对应数据500A指定的。另外,转发单元440在待转发的请求中设置服务器端会话ID。如上参考图6所述根据会话ID对应数据500B指定服务器端会话ID。
图10表示按照本实施例的变型的URL对应数据500A的例子。客户机端URL和服务器端URL,以及关于均由每个服务器端URL识别的各个服务器设备200设置的超时时段被相互关联地记录在URL对应数据500A中。
每个超时时段是根据安装在每个服务器设备200上的程序的规范等预先确定的。具体地说,在其间没有收到任何请求的周期超过关于每个服务器设备200设置的超时时段的条件下,每个服务器设备200断开会话。随后,通过伴有URL对应数据500A,管理员等预先记录先前确定的超时时段。
关于URL对应数据500A进行的处理的一个例子如下所述。首先,维持单元450根据会话ID对应数据500B,定期选择均与客户机设备100建立了会话的服务器设备200。随后,维持单元450从URL对应数据500A中读取分别对应于选择的服务器设备200的超时时段。
随后,对于每个服务器设备200,维持单元450确定在最后一次传送请求之后过去的时间是否接近对应于服务器设备200的超时时段。例如,维持单元450确定在最后一次传送请求之后的时间是否已变成对应于服务器设备200的超时时段之前的1分钟。在确定结果为真的条件下,维持单元450传送重置超时探测计时器的请求。
如上所述,通过利用按照这种变型的URL对应数据500A,维持单元450能够通过间隔比超时时段短的时间传送请求,维持会话。
图11表示按照本实施例的变型的反向代理服务器系统300的处理流程的一个例子。按照这种变型的处理(S1000-S1020)基本上与参考图8描述的处理(S800-S820)相同。具体地说,如下描述所述处理。当接收器400从客户机设备100收到请求用户验证的消息时,验证单元405根据登录ID,口令等验证用户(S1000)。
验证单元405充当客户机设备100的代理,并在验证成功的条件下,向每个服务器设备200A-200C传送在客户机设备100和每个服务器设备200A-200C之间建立会话的请求。随同该操作一起,验证单元405向客户机设备100返回会话ID(例如,35352),用于识别客户机设备100和反向代理服务器系统300之间的会话(S1010)。客户机设备100的web浏览器106把该会话ID设置成cookie或类似物,从而能够在随后要传送的请求中设置该会话ID。
ID管理单元430从每个服务器设备200A-200C接收分别用于识别客户机设备100和每个服务器设备200A-200C之间的新会话的会话ID。例如,在客户机设备100和服务器设备200A之间建立的会话的ID为51552,在客户机设备100和服务器设备200B之间建立的会话的ID为48232。此外,在客户机设备100和服务器设备200C之间建立的会话的ID为56521。
随后,ID管理单元430使接收的会话ID与已在客户机设备100和反向代理服务器系统300之间建立的会话的会话ID(例如,35352)相关联地被保存在存储单元304中(S1020)。待保存的会话ID的数据结构与上面说明的会话ID对应数据500B的相同。
在S1030之后执行的处理不同于参考图8说明的处理。在接收器400收到以任意服务器设备200(例如,服务器设备200A)为目的地的请求的条件下,转发单元440把请求转发给目的地服务器设备200。服务器端会话ID被设置在该待转发的请求中。在本例中,设置用于识别服务器设备200A和客户机设备100之间的会话的ID35352。
与该转发操作无关,维持单元450间隔预定时间向每个服务器设备200A-200C传送维持已在客户机设备100和多个服务器设备200A-200C中的每一个之间建立的会话的请求(S1040)。
随后,当确定单元410从客户机设备100收到断开所有已建立的会话的指令时,确定单元410确定断开已在客户机设备100和多个服务器设备之间建立的所有会话。按照所述确定,断开单元420断开在客户机设备100和多个服务器设备200之间建立的会话(S1050)。随后,在会话被断开的条件下,接收器400向客户机设备100返回已恰当完成断开会话的处理的通知。
如上参考图9-11所述,就所述变型来说,反向代理服务器系统300同样恰当地维持已建立的会话,除非存在超时探测或者明确的指令。然后,反向代理服务器系统300按照超时探测等的存在,立刻断开所有会话。从而,能够使已建立的会话的状态同步。按照这种变型,不同于上面提及的实施例,能够减少通信量,因为不需要为每次访问传送确认请求。
图12表示起按照本实施例或该实施例的变型的反向代理服务器系统300作用的计算机600的硬件配置的例子。计算机600包括CPU外围单元,输入/输出单元和遗留输入/输出单元。CPU外围单元包括均通过主控制器1082相互连接的CPU1000,RAM1020和图形控制器1075。输入/输出单元包括均通过输入/输出控制器1084与主控制器1082连接的通信接口1030,硬盘驱动器1040和CD-ROM驱动器1060。遗留输入/输出单元包括与输入/输出控制器1084连接的ROM1010,软盘驱动器1050和输入/输出芯片1070。
主控制器1082相互连接RAM1020与CPU1000和图形控制器1075,CPU1000和图形控制器1075都以高的传输速率访问RAM1020。CPU1000按照保存在ROM1010和RAM1020中的程序工作,并控制每个组件。图形控制器1075获得设置在RAM1020中的帧缓存器之中的由CPU1000等产生的图像数据,并使获得的图像数据被显示在显示装置1080上。作为替代,图形控制器1075可内部包括保存CPU1000等产生的图像数据的帧缓存器。
输入/输出控制器1084连接主控制器1082与通信接口1030,硬盘驱动器1040和CD-ROM驱动器1060,通信接口1030,硬盘驱动器1040和CD-ROM驱动器1060都是速度较高的输入/输出装置。通信接口1030起上述通信接口302的作用,并通过网络与外部设备通信。硬盘驱动器1040起上述存储单元304的作用,保存将由计算机600使用的程序和数据。CD-ROM驱动器1060从CD-ROM1095读取程序或数据,并把读出的程序或数据提供给RAM1020或硬盘1040。
此外,输入/输出控制器1084与速度较低的输入/输出装置,比如ROM1010,软盘驱动器1050和输入/输出芯片1070连接。ROM1010保存程序,比如启动计算机600时,CPU1000执行的引导程序,和取决于计算机600的硬件的程序。软盘驱动器1050从软盘1090读取程序或数据,并通过输入/输出芯片1070,把读出的程序或数据提供给RAM1020或硬盘驱动器1040。输入/输出芯片1070通过并行端口,串行端口,键盘端口,鼠标端口等连接各种输入/输出装置。
将提供给计算机600的程序由用户提供,所述程序被保存在诸如软盘1090,CD-ROM1095和IC卡之类的存储介质中。程序通过输入/输出芯片1070和/或输入/输出控制器1084从存储介质读出,在并计算机600上安装和执行。由于所述程序使计算机600等执行的操作和实施例中参考图1-11说明的反向代理服务器系统300的操作相同,因此这里省略其描述。
上面说明的程序可被保存在外部存储介质中。除了软盘1090和CD-ROM1095之外,还可使用任意下述介质作为所述外部存储介质:诸如DVD或PD之类的光学记录介质;诸如MD之类的磁光记录介质;磁带介质;和诸如IC卡之类的半导体存储器。另一方面,通过使用诸如设置在与专用通信网络或因特网连接的服务器系统中的硬盘或RAM之类存储单元作为记录介质,可通过网络向计算机600提供程序。
上面利用实施例说明了本发明。不过,本发明的技术范围并不限于在上述实施例中描述的范围。对本领域的技术人员来说,显然可对实施例做出各种修改和改进。此外,根据在本发明的范围中的描述,这样的修改和改进实施例显然也包含在本发明的技术范围中。

Claims (14)

1.一种管理客户机设备和多个服务器设备之间的会话的系统,所述系统包括:
接收器,用于作为多个服务器设备中的每个服务器设备的代理,接收从客户机设备给多个服务器设备中的任意一个服务器设备的请求;
确定单元,用于当接收器收到从客户机设备给多个服务器设备中的任意一个服务器设备的请求时,确定是否维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的所有会话;
断开单元,用于如果确定单元确定在客户机设备和多个服务器设备中的任意一个或多个服务器设备之间的会话已被断开,那么断开在客户机设备和所述多个服务器设备中除会话已被断开的所述任意一个或多个服务器设备之外的每个服务器设备之间建立的所有会话;和
转发单元,用于如果确定单元确定维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的所有会话,那么把接收器接收的请求转发给多个服务器设备中的相应服务器设备。
2.按照权利要求1所述的系统,其中确定单元向多个服务器设备中的每个服务器设备传送确认是否维持该服务器设备和客户机设备之间的会话的确认请求,随后根据多个服务器设备中的每个服务器设备对该确认是否维持该服务器设备和客户机设备之间的会话的确认请求的响应,确定客户机设备和多个服务器设备中的任意一个或多个服务器设备之间的会话是否已被断开。
3.按照权利要求2所述的系统,还包括:
第一存储单元,用于把确认请求和预期响应与多个服务器设备中的每个服务器设备相关联地保存于其中,确认请求是要传送的、以确认是否维持该服务器设备和客户机设备之间的会话的请求,预期响应是在维持该服务器设备和客户机设备之间的会话的情况下要由该服务器设备返回的响应,
其中对于多个服务器设备中的每个服务器设备,确定单元从第一存储单元读取对应于该服务器设备的确认请求,把读取的确认请求传给服务器设备,并从第一存储单元读取对应于该服务器设备的预期响应,以比较读取的预期响应和该服务器设备对确认请求的响应,随后在这两个响应彼此不同的条件下,确定该服务器设备和客户机设备之间的会话已被断开。
4.按照权利要求1所述的系统,还包括:
第二存储单元,用于把断开请求与多个服务器设备中的每个服务器设备相关联地保存于其中,断开请求是断开该服务器设备和客户机设备之间的会话的请求,
其中在客户机设备和多个服务器设备中的任意一个或多个服务器设备之间的会话已被断开的条件下,断开单元从第二存储单元读取与除多个服务器设备中会话已被断开的所述任意一个或多个服务器设备之外的每个服务器设备对应的断开请求,随后把读取的断开请求传送给该服务器设备,从而客户机设备和该服务器设备之间的会话被断开。
5.按照权利要求1所述的系统,其中所述系统是有选择地把从客户机设备接收的请求转发给所述多个服务器设备之一的反向代理服务器系统,所述系统还包括:
第三存储单元,用于为均与客户机设备建立了会话的任意一个或多个服务器设备保存会话ID,所述会话ID用于识别该服务器设备和客户机设备之间的会话,
其中转发单元根据接收器接收的请求,识别将向哪个服务器设备转发请求,随后从第三存储单元读取与识别的服务器设备对应的会话ID,随后在所述请求中设置读取的会话ID,之后把所述请求转发给服务器设备。
6.按照权利要求5所述的系统,还包括:
ID管理单元,用于响应于在客户机设备和还未与客户机设备建立任何会话的服务器设备之间建立了会话,把识别所述建立的会话的会话ID与该服务器设备相关联地保存在第三存储单元中。
7.按照权利要求5所述的系统,其中确定单元扫描第三存储单元,随后选择至少一个服务器设备,以确定在所选择的至少一个服务器设备中的每一个和客户机设备之间建立的会话是否已被断开,所选择的至少一个服务器设备中的每一个把该服务器设备的会话ID保存在第三存储单元中,和
在所选择的至少一个服务器设备中的任意一个或多个服务器设备和客户机设备之间的会话已被断开的条件下,断开单元断开客户机设备与在所选择的至少一个服务器设备中、除已使会话被断开的任意一个或多个服务器设备外的每个服务器设备之间的会话。
8.按照权利要求1所述的系统,其中
确定单元根据接收器从客户机设备接收的、以多个服务器设备中的任意一个服务器设备为目的地的请求,确定是否维持已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话,并且
在确定单元确定要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话的情况下,断开单元断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话。
9.一种管理客户机设备和多个服务器设备之间的会话的系统,所述系统包括:
接收器,用于作为多个服务器设备中的每个服务器设备的代理,从客户机设备接收以多个服务器设备中的任意一个服务器设备为目的地的请求和指令;
确定单元,用于根据接收器从客户机设备接收的、以多个服务器设备中的任意一个服务器设备为目的地的请求,确定是否要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话;
断开单元,用于在确定单元确定要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话的情况下,断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话;
维持单元,用于通过在比先前为所述多个服务器设备中的每个服务器设备设置的超时时段短的时间内,向每个服务器设备传送维持会话请求,来维持已在该服务器设备和客户机设备之间建立的会话,其中在服务器设备未收到维持会话请求的时间段超过先前为每个服务器设备设置的超时时段的条件下,所述多个服务器设备中的每个服务器设备断开与客户机设备的会话;以及
转发单元,用于把接收器接收的以多个服务器设备中的任意一个服务器设备为目的地的请求转发给多个服务器设备中的相应服务器设备。
10.按照权利要求9所述的系统,其中如果针对与所述多个服务器设备中的每个服务器设备在与该服务器设备对应的先前设置的超时时段内未从客户机设备向该服务器设备传送所述请求,那么确定单元确定要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话。
11.按照权利要求9所述的系统,其中如果接收器从客户机设备收到断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话的指令,那么确定单元确定要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话。
12.一种管理客户机设备和多个服务器设备之间的会话的方法,所述方法包括:
接收步骤,用于利用作为多个服务器设备中的每个服务器设备的代理的接收器,接收从客户机设备给多个服务器设备中的任意一个服务器设备的请求;
确定步骤,用于当在接收步骤收到从客户机设备给多个服务器设备中的任意一个服务器设备的请求时,确定是否维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的所有会话;
断开步骤,用于如果确定步骤确定客户机设备和多个服务器设备中的任意一个或多个服务器设备之间的会话已被断开,那么断开在客户机设备和所述多个服务器设备中除会话已被断开的所述任意一个或多个服务器设备之外的每个服务器设备之间建立的所有会话;和
转发步骤,用于如果确定步骤确定维持在客户机设备和多个服务器设备中的每个服务器设备之间建立的所有会话,那么把接收步骤接收的请求转发给多个服务器设备中的每个相应服务器设备。
13.按照权利要求12所述的方法,其中
在确定步骤中,根据接收器从客户机设备接收的、以多个服务器设备中的任意一个服务器设备为目的地的请求,确定是否维持已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话,和
在断开步骤中,在确定步骤确定要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话的情况下,断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话。
14.一种管理客户机设备和多个服务器设备之间的会话的方法,所述方法包括下述步骤:
接收步骤,用于利用作为多个服务器设备中的每个服务器设备的代理的接收器,从客户机设备接收以多个服务器设备中的任意一个服务器设备为目的地的请求和指令;
确定步骤,用于根据在接收步骤中从客户机设备接收的、以多个服务器设备中的任意一个服务器设备为目的地的请求,确定是否要断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话;
断开步骤,用于在确定步骤中确定要断开所有已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话的情况下,断开已在客户机设备和所述多个服务器设备中的每个服务器设备之间建立的所有会话;维持步骤,用于通过在比先前为所述多个服务器设备中的每个服务器设备设置的超时时段短的时间内,向每个服务器设备传送维持会话请求,来维持已在该服务器设备和客户机设备之间建立的会话,其中在服务器设备未收到维持会话请求的时间段超过先前为每个服务器设备设置的超时时段的条件下,所述多个服务器设备中的每个服务器设备断开与客户机设备的会话;以及
转发步骤,用于把在接收步骤接收的以多个服务器设备中的任意一个服务器设备为目的地的请求转发给多个服务器设备中的相应服务器设备。
CN200810166287XA 2007-11-12 2008-09-25 会话管理系统和方法 Active CN101436961B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007292974A JP5159261B2 (ja) 2007-11-12 2007-11-12 セッションを管理する技術
JP2007292974 2007-11-12
JP2007-292974 2007-12-11

Publications (2)

Publication Number Publication Date
CN101436961A CN101436961A (zh) 2009-05-20
CN101436961B true CN101436961B (zh) 2012-07-11

Family

ID=40711193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810166287XA Active CN101436961B (zh) 2007-11-12 2008-09-25 会话管理系统和方法

Country Status (3)

Country Link
US (3) US8195808B2 (zh)
JP (1) JP5159261B2 (zh)
CN (1) CN101436961B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566118B (zh) * 2014-11-14 2017-01-11 Mitsubishi Electric Corp A servo device, a client device, and a servo device program, a session management method, a client servo system

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5527216B2 (ja) * 2008-12-03 2014-06-18 日本電気株式会社 識別情報管理システム、識別情報の生成方法及び管理方法、端末、並びに生成及び管理プログラム
JP5533300B2 (ja) * 2010-06-10 2014-06-25 日本電気株式会社 ルーティング管理システム、その処理方法及びプログラム
JP5418681B2 (ja) * 2010-08-06 2014-02-19 富士通株式会社 仲介処理方法、仲介装置及びシステム
US9965613B2 (en) * 2010-12-03 2018-05-08 Salesforce.Com, Inc. Method and system for user session discovery
US8984616B2 (en) * 2010-12-08 2015-03-17 International Business Machines Corporation Efficient routing for reverse proxies and content-based routers
JP2013008284A (ja) * 2011-06-27 2013-01-10 Canon Inc 画像処理装置及びその制御方法、並びにプログラム
JP5617108B2 (ja) * 2011-07-14 2014-11-05 岩▲崎▼ 哲夫 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置
WO2013080166A1 (en) * 2011-12-02 2013-06-06 Entersekt (Pty) Ltd Mutually authenticated communication
JP2013125285A (ja) * 2011-12-13 2013-06-24 Nomura Research Institute Ltd 情報処理装置および情報処理方法
US20130339532A1 (en) * 2012-06-18 2013-12-19 Richard Nelson System and method for cookie-based browser identification and tracking
JP6538675B2 (ja) * 2013-07-15 2019-07-03 上海ハイウェイテクノロジー有限公司 データ処理システム、センタ装置、及びプログラム
CN106487774B (zh) * 2015-09-01 2019-06-25 阿里巴巴集团控股有限公司 一种云主机服务权限控制方法、装置和系统
US10686884B2 (en) 2017-07-19 2020-06-16 Citrix Systems, Inc. Method for managing sessions using web sockets
CN109544195A (zh) * 2018-12-24 2019-03-29 联想(北京)有限公司 一种信息处理方法和电子设备
US11165586B1 (en) * 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
CN113676373B (zh) * 2021-08-12 2022-08-19 深圳追一科技有限公司 会话测试方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587880B1 (en) * 1998-01-22 2003-07-01 Fujitsu Limited Session management system and management method
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN1937608A (zh) * 2005-09-22 2007-03-28 国际商业机器公司 管理客户机-服务器通信的方法和计算机系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4076117B2 (ja) * 1997-07-25 2008-04-16 シーメンス アクチエンゲゼルシヤフト ネットワークコンテンツの同期表示方法
JP3733218B2 (ja) * 1997-09-30 2006-01-11 キヤノン株式会社 中継装置及びその制御方法及び記憶媒体
US6807529B2 (en) * 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication
US7793342B1 (en) * 2002-10-15 2010-09-07 Novell, Inc. Single sign-on with basic authentication for a transparent proxy
US20040205068A1 (en) * 2002-11-05 2004-10-14 Everypath, Inc. Unified platform for building and operating connected and disconnected mobile applications
US7219154B2 (en) * 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
JP4487490B2 (ja) * 2003-03-10 2010-06-23 ソニー株式会社 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム
JP4467256B2 (ja) 2003-06-19 2010-05-26 富士通株式会社 代理認証プログラム、代理認証方法、および代理認証装置
US20050251855A1 (en) * 2004-05-04 2005-11-10 Hob Gmbh & Co. Kg Client-server-communication system
US20060026286A1 (en) * 2004-07-06 2006-02-02 Oracle International Corporation System and method for managing user session meta-data in a reverse proxy
JP2006031064A (ja) * 2004-07-12 2006-02-02 Hitachi Ltd セッション管理システム及び管理方法
US9112831B2 (en) * 2004-07-28 2015-08-18 International Business Machines Corporation Scalable infrastructure for handling light weight message protocols
GB0419479D0 (en) * 2004-09-02 2004-10-06 Cryptomathic Ltd Data certification methods and apparatus
US8613048B2 (en) * 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
JP5037806B2 (ja) * 2005-10-14 2012-10-03 キヤノン株式会社 情報提供装置及びその制御方法及びそのプログラム及び情報提供システム
US20070124345A1 (en) * 2005-11-30 2007-05-31 Heinz Kathy K Library backup
US8024439B2 (en) * 2006-03-17 2011-09-20 Microsoft Corporation Server session management application program interface and schema
US8996857B1 (en) * 2006-06-05 2015-03-31 Thomson Financial Llc Single sign-on method in multi-application framework
JP2008015786A (ja) * 2006-07-06 2008-01-24 Hitachi Ltd アクセス制御システム及びアクセス制御サーバ
FR2908880B1 (fr) * 2006-11-21 2009-01-16 Centre Nat Rech Scient Dispositif de detection d'interferences monolithique integre
US8418238B2 (en) * 2008-03-30 2013-04-09 Symplified, Inc. System, method, and apparatus for managing access to resources across a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587880B1 (en) * 1998-01-22 2003-07-01 Fujitsu Limited Session management system and management method
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN1937608A (zh) * 2005-09-22 2007-03-28 国际商业机器公司 管理客户机-服务器通信的方法和计算机系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566118B (zh) * 2014-11-14 2017-01-11 Mitsubishi Electric Corp A servo device, a client device, and a servo device program, a session management method, a client servo system

Also Published As

Publication number Publication date
US20120278491A1 (en) 2012-11-01
US9055054B2 (en) 2015-06-09
US20150121502A1 (en) 2015-04-30
US10097532B2 (en) 2018-10-09
US20090150485A1 (en) 2009-06-11
CN101436961A (zh) 2009-05-20
JP2009122734A (ja) 2009-06-04
US8195808B2 (en) 2012-06-05
JP5159261B2 (ja) 2013-03-06

Similar Documents

Publication Publication Date Title
CN101436961B (zh) 会话管理系统和方法
CN109981789B (zh) 一种基于代理模式的微服务引擎
CN1882933B (zh) 用于客户端-服务器系统中的动态超时的方法和装置
TW406228B (en) Reliable event delivery system
EP1449345B1 (en) Servicing requests that are issued in a protocol other than the protocol expected by the service
US20070266145A1 (en) Method, system and program product for collecting web metric data
CN105306433B (zh) 一种访问虚拟机服务器的方法和装置
EP2839629B1 (en) Binding crud-type protocols in distributed agreement protocols
CN101997903A (zh) 用于处理超文本传输协议请求的方法和系统
CN110278187A (zh) 多终端单点登录方法、系统、同步服务器及介质
JP2008546071A (ja) 重複ログイン検出方法及びシステム
CN1985492A (zh) 支持iSCSI读操作和iSCSI烟囱的方法和系统
JP2010273045A (ja) サーバ装置
CN101163072A (zh) 一种注册服务器自动选择最优路由登录通讯的方法
WO2000002365A1 (en) Systems and methods for utilizing a communications network for providing mobile users access to legacy systems
CN102170366B (zh) 与单板进行通信的方法、装置和系统
CN101682804A (zh) 远距离控制系统、设备侧控制装置、设备装置的控制程序以及设备装置的控制方法
JP5112138B2 (ja) セッション管理方法、ストレージ装置、及び、計算機システム
US7120837B1 (en) System and method for delayed error handling
CN103684837B (zh) 通信消息的备份处理方法、系统和备份处理服务器
CN102065451B (zh) Wap网络故障定位的方法与系统
CN102118389B (zh) 一种通过iSCSI多路径访问存储设备的方法和一种存储设备
EP1220513A2 (en) Method and apparatus for handling services by a proxy
CN113965950A (zh) 一种支持远程无线通信链路测试的虚实协同平台
CN111490997B (zh) 任务处理方法、代理系统、服务系统和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant