CN1878170A - 用于管理会话标识符的方法和设备 - Google Patents

用于管理会话标识符的方法和设备 Download PDF

Info

Publication number
CN1878170A
CN1878170A CN200610004270.5A CN200610004270A CN1878170A CN 1878170 A CN1878170 A CN 1878170A CN 200610004270 A CN200610004270 A CN 200610004270A CN 1878170 A CN1878170 A CN 1878170A
Authority
CN
China
Prior art keywords
session
server
cookie
copy
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.)
Granted
Application number
CN200610004270.5A
Other languages
English (en)
Other versions
CN100544361C (zh
Inventor
彼得·S.·卡尔弗特
布赖恩·伊顿
本杰明·B.·哈莫恩
埃里克·J.·伍德
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.)
IBM China Co Ltd
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 CN1878170A publication Critical patent/CN1878170A/zh
Application granted granted Critical
Publication of CN100544361C publication Critical patent/CN100544361C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了一种用于管理一组服务器中的会话标识符的方法。所述服务器接收来自客户端的资源请求,并且所述服务器维护具有会话状态信息的会话,其中每一会话与一会话标识符相关联。当服务器向客户端发送响应时,所述响应伴随有第一cookie和第二cookie,其中所述第一cookie包含会话标识符的副本,而第二cookie包含已经使用密钥进行加密保护的会话标识符的副本,其中该组服务器中的每一服务器均具有密钥的副本。如果服务器没有识别出第一cookie中的会话标识符,那么所述服务器解密第二cookie,并且如果来自cookie的会话标识符是相同的,那么服务器将重新使用会话标识符而不是生成新的会话标识符。

Description

用于管理会话标识符的方法和设备
技术领域
本发明涉及一种改善的数据处理系统,并且尤其涉及一种用于多计算机数据传送的方法和设备。更具体而言,本发明提供了一种用于进行计算机至计算机的会话建立和会话参数设定的方法和设备。
背景技术
在网络应用环境中,企业经常使用支持服务器作为前端向网络应用服务器提供授权、验证和会话管理服务。当数据处理环境要求是高性能和/或故障容限的时,如果服务器出现故障,那么常用的开发方案利用负载平衡器来分布负载和/或动态地进行补偿。在此方案中,不仅网络应用必须是冗余的,而且所述支持服务器也必须是冗余的。
在故障转移(failover)事件或者某些其它使用户会话在服务器之间移动的事件或者确定之后,当试图跨越冗余服务器来维护用户的会话状态时,会出现问题。用户会话的管理需要唯一的会话状态信息,并且需要一种机制来复制或者再生会话状态信息,以便代表所述用户继续支持操作。在某些环境中,用于支持冗余的操作是重复的:用户的操作可以故障转移或者可以移动到冗余服务器,所述冗余服务器获得副本,或者它早已拥有了用户的会话状态信息的依照某种方式的阴影(shadow)副本。此类环境中的故障转移事件或者其它事件应该导致完全连续的用户服务。
在其它环境中,用于支持冗余的操作是可再生的:用户的操作可以故障转移或者可以移动到冗余服务器,所述冗余服务器自动地对用户进行验证,并且为该用户在冗余服务器上建立新的会话,此处也将冗余服务器称为服务器复制品(replica)。此类环境中的故障转移事件或者其它事件使得在每一个新的服务器复制品处创建新的会话,由此在用户服务的连续性方面产生了问题。尤其是,用户会话被唯一地标识;通常利用一个唯一的会话标识符、即会话ID把用户链接到用户会话。故障转移事件或者其它事件使得在每一个新的服务器复制品处创建新的会话标识符,并且会话标识符既不能由其它服务器复制品共享,也无法由它们识别。
由于除故障转移事件以外的原因,在单数据处理环境内的多个服务器处可以为给定用户生成用户会话信息。例如,某些数据处理系统采用所谓的无粘性(nonsticky)负载平衡环境。无粘性负载平衡器不维护有关用户会话的状态信息,并且可以把来自客户端的对用户操作的请求按照其选择的那样引导至任何应用服务器。因此,来自特殊用户的一系列请求未必被粘到同一服务器上,即,未必由同一服务器跨越一组用户请求来处理。每当把用户请求引导至新的服务器时,即使在该服务器处为先前的用户请求已经事先建立了会话,也要在每一服务器处创建新的会话。虽然可能会因为无粘性的行为而引起某些服务器侧性能的恶化,但是其它服务器侧的优点还是可以实现的。然而,此类服务器行为会给用户带来性能瓶颈,尤其是当在用户会话期间要求用户响应多个验证操作时尤其明显。
因此,获得一种用于在负载平衡的计算环境内提供对服务器的鲁棒会话管理的方法和系统将会是十分有益的。
发明内容
提供了一种用于在一组服务器当中管理会话标识符的方法。所述服务器接收来自客户端的资源请求,并且所述服务器维护具有会话状态信息的会话,其中每一会话与一会话标识符相关联。当服务器向客户端发送响应时,所述响应伴随有第一cookie和第二cookie,其中所述第一cookie包含会话标识符的副本,而第二cookie包含已经使用密钥进行加密保护的会话标识符的副本,其中该组服务器中的每一个服务器均具有密钥的副本。如果服务器没有识别出第一cookie中的会话标识符,那么所述服务器解密第二cookie,并且如果来自所述cookie的会话标识符是相同的,那么服务器将重新使用会话标识符而不是生成新的会话标识符。
附图说明
在所附权利要求书中将阐明被认为是本发明的特性的新颖性特征。当结合附图阅读时,通过参考下列详细说明将会更好地理解本发明自身、它的其它目的和优点,其中:
图1A描述了每个均可以实现本发明的数据处理系统的典型网络;
图1B描述了在可以实现本发明的数据处理系统内可以使用的典型计算机体系结构;
图1C描述了用于举例说明当客户端试图访问服务器处的受保护资源时可以使用的典型验证处理的数据流程图;
图2A描述了示出典型企业数据处理系统的框图;
图2B描述了示出包括具有多个反向代理服务器的负载平衡服务器的典型企业数据处理系统的框图;
图2C描述了示出依照本发明实施例的包括具有多个反向代理服务器的负载平衡服务器的数据处理系统的框图,所述多个反向代理服务器包括用于创建并且管理会话支持cookie的功能;
图2D描述了示出依照本发明实施例在客户端和反向代理服务器之间交换会话cookie和会话支持cookie的框图;
图3A-3B描述了示出依照本发明实施例用于确定反向代理服务器复制品何时应该为所接收的资源请求生成新的会话标识符的处理的一对流程图;并且
图4A-4H描述了依照本发明实施例在处理来自用户/客户端的请求的时间段上、相对于部分有代表性的会话环境示出了一组反向代理服务器复制品的一组框图。
具体实施方式
总体上讲,可以包括或者涉及本发明的装置包括各式各样的数据处理技术。因此,在比较详细地描述本发明之前,作为背景技术,首先描述分布式数据处理系统内的硬件和软件组件的典型结构。
现在参考附图,图1A描述了每个均可以实现本发明的一部分的数据处理系统的典型网络。分布式数据处理系统100包含网络101,它是可用来在分布式数据处理系统100内的连接在一起的各种装置和计算机之间提供通信链路的介质。网络101可以包括固定连接,诸如电线或者光缆,或者可以包括经由电话或者无线通信进行的暂时连接。在所述的例子中,服务器102和服务器103连同存储单元104一起与网络101相连。另外,客户端105-107也与网络101相连。客户端105-107和服务器102-103可以由各种计算装置、诸如大型机、个人计算机、个人数字助理(PDA)等表示。分布式数据处理系统100可以包括另外的未示出的服务器、客户端、路由器、其它装置以及对等体系结构。
在所述的例子中,分布式数据处理系统100可以包括互联网(网络101表示网络的世界范围的集合)以及使用各种协议彼此通信的网关,所述协议诸如是轻量级目录访问协议(LDAP)、传输控制协议/网际协议(TCP/IP)、文件传送协议(FTP)、超文本传输协议(HTTP)、无线应用协议(WAP)等。当然,分布式数据处理系统100还可以包括多种不同类型的网络,诸如例如企业内部网、局域网(LAN)或者广域网(WAN)。例如,服务器102直接支持客户端109以及网络110,其中网络110采用无线通信链路。能够联网的电话111通过无线链路112与网络110连接,并且PDA 113通过无线链路114与网络110连接。电话111以及PDA 113还可以使用适当的技术在无线链路115上在它们自身之间直接传送数据,以便创建所谓的个人区域网(PAN)或者个人特设(ad-hoc)网络,所述适当的技术诸如是BluetoothTM无线技术。按类似的方式,PDA 113可以经由无线通信链路116向PDA 107传送数据。
本发明可以在各种硬件平台上实现;图1A用作异类计算环境的一个例子,而不是作为对本发明的体系结构的限制。
现在参考图1B,该图描述了可以实现本发明的数据处理系统、诸如图1A中示出的那些系统的典型计算机体系结构。数据处理系统120包含一个或多个连接至内部系统总线123的中央处理单元(CPU)122,所述内部系统总线123用于互联随机存取存储器(RAM)124、只读存储器126和用于支持各种输入/输出(I/O)装置的输入/输出适配器128,所述输入/输出装置诸如是打印机130、盘单元132或者其它未示出的装置,诸如音频输出系统等。系统总线123还连接用于提供对通信链路136的访问的通信适配器134。用户接口适配器148连接各种用户装置,诸如键盘140和鼠标142或者其它未示出的装置,诸如触摸屏、输入笔、麦克风等等。显示适配器144把系统总线123连接至显示装置146。
本领域中普通技术人员将理解的是,图1B中的硬件可以根据系统实现方式来改变。例如,所述系统可以具有一个或多个处理器,诸如基于IntelPentium的处理器和数字信号处理器(DSP),并且具有一种或多种类型的易失性和非易失性存储器。可以使用其它外围装置来代替图1B中描述的硬件。所述的例子不意味着暗示对本发明的体系结构的限制。
除了能够在各种硬件平台上实现以外,本发明还可以在各种软件环境中实现。典型的操作系统可用来控制每一数据处理系统内的程序执行。例如,一个装置可以运行Unix操作系统,而另一装置包含简单的Java运行时间环境。有代表性的计算机平台可以包括浏览器,它是用于访问具有各种格式的超文本文档的众所周知的软件应用程序,所述文档诸如是图形文件、字处理文件、可扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML)以及各种其它格式和类型的文件。
本发明可以在各种硬件和软件平台上实现,如上文中就图1A和图1B所述的那样。更具体地说,本发明致力于一种改善的分布式数据处理环境。在更加详细地描述本发明之前,描述典型的分布式数据处理环境的某些方面。
此处对附图的描述可以涉及客户端装置或者客户端装置的用户所执行的某些动作。本领域普通技术人员将理解的是,往返于客户端的响应和/或请求有时由用户启动,而其它时候可由通常代表客户端用户的客户端自动地启动。因此,当在对附图的描述中提及客户端或者客户端用户时,应该理解的是,术语“客户端”和“用户”可以互换使用,而不会显著影响所描述的处理的含义。
某些计算任务在下文可以描述为由功能单元执行。功能单元可以由例程、子例程、处理、子处理、过程、功能、方法、面向对象的对象、软件模块、小应用程序、插件程序、ActiveXTM控制、脚本或者其它用于执行计算任务的固件或软件组件来表示。
此处对附图的描述可涉及在各种组件之间交换信息,并且按照经由消息交换来实现的方式来描述信息的交换,所述消息诸如是继之以响应消息的请求消息。应该注意的是,在计算组件之间交换信息(可能包括同步或者异步请求/响应交换)可以经由各种数据交换机制来等效地实现,所述机制诸如是消息传送、方法调用、远程过程调用、事件信号通知或其它机制。
现在参考图1C,数据流程图举例说明了当客户端试图访问服务器处的受保护资源时可使用的典型验证过程。如图所示,处于客户端工作站150的用户试图通过在客户端工作站上执行的用户网络浏览器来经由计算机网络对服务器151上的受保护资源进行访问。受保护资源是对其的访问受到控制或者限制的资源(应用程序、对象、文档、页面、文件、可执行代码、或者其它计算资源、通信型资源等)。受保护资源可以由统一资源定位符(URL)来标识,或者更一般地,可以由统一资源标识符(URI)来标识,所述资源只能由经过验证和授权的用户访问。计算机网络可以是互联网、企业内部网或者其它网络,如图1A或者图1B所示,并且服务器可以是网络应用服务器(WAS)、服务器应用程序、小服务程序处理等。
当用户请求服务器侧的受保护资源时启动处理,所述资源诸如为域“ibm.com”中的网页(步骤152)。术语“服务器侧”和“客户端侧”指的是在联网环境内、分别处于服务器或者客户端处的动作或者实体。网络浏览器(或者相关联的应用程序或者小应用程序)生成HTTP请求,所述HTTP请求被发送至网络服务器,所述网络服务器管理域“ibm.com”(步骤153)。术语“请求”和“响应”应该被理解为包括适合于传送特殊操作中所涉及的信息的数据格式化,所述信息诸如是消息、通信协议信息或者其它相关联的信息。
所述服务器确定它没有用于客户端的有效会话(步骤154),因此服务器通过向客户端发送某些类型的验证难题来要求用户执行验证处理(步骤155)。所述验证难题可以具有各种格式,诸如是HTML形式。然后,用户提供所请求的或者所要求的信息(步骤156),诸如用户标识符和相关联的密码,或者客户端可以自动地返回诸如数字证书之类的某些信息。
把验证响应信息发送给服务器(步骤157),此刻,所述服务器例如通过检索先前提交的注册信息并且把给出的验证信息与用户的存储信息相匹配来验证用户或者客户端(步骤158)。假定验证成功,则为经过验证的用户或者客户端建立有效会话。
然后服务器检索所请求的网页并且向客户端发送HTTP响应消息(步骤159)。此刻,用户可以在浏览器内通过点击超文本链接来请求“ibm.com”中的另一页面(步骤160),并且浏览器向服务器发送另一HTTP请求消息(步骤161)。此刻,服务器基于会话状态信息识别出用户具有有效会话(步骤162),其中所述会话状态信息由服务器维护。例如,因为用户的客户端在HTTP请求消息内返回会话ID,所以服务器识别出请求用户的适当会话状态信息。基于经高速缓存的用户会话信息,所述服务器例如通过用户凭证(credential)副本的可利用性来确定用户早已经被验证过了;服务器因此能确定在满足用户请求之前不需要执行某些操作,诸如验证操作。所述服务器在另一HTTP响应消息中把所请求的网页送回客户端(步骤163),由此来满足用户对受保护资源的原始请求。
现在参考图2A,框图描述了典型的企业数据处理系统。图1C描述了当客户端试图访问服务器处的受保护资源时可以使用的典型验证处理,相比之下,图2A示出了可用来支持图1C中示出的验证处理并且支持后续的客户端请求的某些服务器侧实体。
正如典型的公司计算环境或者基于互联网的计算环境中那样,企业域200管理受控资源,其中用户202例如通过使用客户端206上的浏览器应用程序204通过网络208来访问所述受控资源;所述计算机网络可以是互联网、企业内部网或者其它网络,如图1A或者图1B所示。受保护或者受控的资源是只有当提出请求的客户端或者提出请求的用户被验证并且被授权时才可进行访问或检索的资源(应用程序、对象、文档、页面、文件、可执行代码或者其它计算资源、通信类型资源等);在某些情况下,通过验证的用户默认为是经授权的用户。
企业域200支持多个服务器。应用服务器210通过基于网络的应用程序或者其它类型的后端应用程序(包括传统应用程序)支持受控和/或不受控制的资源。反向代理服务器214、或简称为代理服务器214执行企业域200的各种各样的功能,例如,高速缓存网页,以便对来自应用服务器的内容进行镜像,或者过滤输入和输出数据流,以便对输入的请求和输出的响应执行各种处理任务;可以依照各种企业策略中指定的目标和条件来执行每一检查。
企业域200内的上述实体表示许多计算环境内的典型实体。正如根据图1C所示的那样,基于网络的应用程序通常利用各种手段来提示用户输入验证信息,通常作为在HTML形式内的用户名/密码组合。在图2A所示的例子中,在客户端206有权访问资源之前,可以要求对用户202进行验证,在这之后,以与上文图1C中所述方式类似的方式来为客户端206建立会话。在可替代的实施例中,在向用户提供对域200上的资源的访问之前,不执行验证和授权操作;用户会话在不伴随验证操作的情况下创建。
验证服务器212可以支持各种验证机制,诸如用户名/密码、X.509证书或者安全标志;多个验证服务器可以用于专门的验证方法。
在接收到来自客户端206的输入的请求之后,代理服务器214的处理任务之一可以是确定客户端206是否早已建立了会话。代理服务器214维护会话高速缓存216;对于每个被激活的会话,代理服务器214把会话标识符与维护会话状态所要求的任何信息相关联。在图2A所示的例子中,会话高速缓存216被配置为包含会话高速缓存条目218的简单二维表,所述会话高速缓存条目218可通过会话标识符220来搜索。例如,把会话ID 222与会话高速缓存条目相关联,所述会话高速缓存条目包含用户凭证224和/或其它会话环境数据226,诸如用于表明各种会话状态信息的标志;用户凭证224可以从验证服务器中检索或者获得。
如果客户端206尚未建立会话,这例如可以通过识别或者检验来自客户端206的会话ID失败来确定,和/或通过缺乏客户端206的会话高速缓存条目来表明,则可以启用验证服务器212上的验证服务以便验证用户202。如果用户202成功通过验证,则为客户端206激活会话,并且创建会话高速缓存条目。验证服务返回一凭证,所述凭证可与任何后续处理结合使用,所述后续处理是代表企业域200内的客户端206而执行的;把所述凭证存储在与客户端206相关联的会话高速缓存条目中。
如果客户端206早已建立了会话,则在允许访问受控资源之前,可由代理服务器214对输入的请求执行额外的授权检查。在启动授权操作以前,代理服务器214定位与客户端206相关联的会话高速缓存条目,从所述会话高速缓存条目中获得凭证,即,当用户202被验证时、先前与客户端206相关联的凭证,并且把所述凭证和任何其它适当的信息传递到授权服务器228。
由于先前的一系列动作,代理服务器214能够为输入的请求定位适当的凭证。在典型的网络服务器环境内,可以通过各种机制从用户的浏览器应用程序传回用户会话的会话标识符,所述机制例如是URL改写和HTTP cookie。对于使用URL改写的会话标识符管理而言,当把先前网页返回到客户端206时,网页内的URL、例如与链接至受控资源的超级链接相关联的那些URL往往已经被改写了,以便把适当的会话标识符附加到每一超级链接上。当用户202选择了该网页内的超级链接时,浏览器204生成对企业域200的网页或者其它资源的请求,所述资源由与所选超级链接相关联的URL来标识。代理服务器214分析输入的请求中的URL,以便检索相关联的会话标识符。对于使用HTTP cookie的会话标识符管理而言,HTTP响应消息包含特殊的“SET-COOKIE”头,其具有至少一个名称值对,其中所述cookie的值包括依照某种方式的会话标识符。当用户的浏览器应用程序识别出HTTP响应消息中的“SET-COOKIE”头时,浏览器把cookie置于其cookie高速缓存中,其中把cookie与发送域的域名相关联地存储。当浏览器随后向该域发送HTTP请求消息时,浏览器把适当的cookie包括在HTTP请求消息中。当所述cookie包含会话ID时,把会话ID返回到所述域,由此所述域可以采用所述会话ID来识别将与输入的请求相关联的适当的会话状态信息。依照此方式,网络应用服务器随每一响应向用户的客户端返回具有会话ID的cookie,并且当向网络应用程序发送后续请求时,用户的客户端传回任何适当的一个或多个cookie。
授权服务器228可以采用授权数据库230,其包含诸如访问控制列表232、授权策略234、与周户组或作用有关的信息236以及与特殊的管理员组内的管理员用户有关的信息238之类的信息。使用这些信息,授权服务器228向代理服务器214提供指示,以表明是否应该允许进行特定的请求,例如,响应于来自客户端206的请求是否应该允许访问受控资源。应注意的是,本发明可以结合各种验证和授权应用程序来实现,并且就验证和授权服务的配置而言,此处所描述的本发明的实施例不应该被解释为限制本发明的范围。
现在参考图2B,框图描述了典型的企业数据处理系统,其包括具有多个反向代理服务器的负载平衡服务器。图2B与图2A相似;共同的元件具有相同的参考标记,不过某些共同的元件在每一个附图中没有示出。图2A示出了具有可用来支持客户端请求的某些服务器侧实体的数据处理系统,其中包括反向代理服务器214,而图2B示出了类似的具有多个冗余反向代理服务器的数据处理系统,所述冗余反向代理服务器在下文也称为代理服务器复制品或者反向代理服务器复制品。负载平衡服务器250接受来自客户端的请求,并且依照适当的负载平衡算法,在一组代理服务器复制品上分配所述请求。代理服务器252和254与代理服务器214相似,如此使得每一代理服务器包含类似组件;图2A示出了每一代理服务器包含用于存储会话管理信息的高速缓存,而图2B示出了每一代理服务器包含用于管理会话的功能单元。
代理服务器254包含会话管理功能单元256,其用于执行相对于代理服务器254适合于管理用户会话的服务器侧操作,例如如上文中就图2A所述那样。所述代理服务器复制品接收来自负载平衡服务器250的输入的请求;代理服务器复制品执行关于所述输入的请求和相关联会话信息的某些服务器侧支持操作,例如如上文中就代理服务器214所述那样。然后,代理服务器把输入的请求转发或者发送至适当的应用服务器;在已经处理了所述请求之后,应用服务器向代理服务器复制品返回响应,然后所述代理服务器复制品把响应直接或者间接地发送或者转发至正确的请求客户端。会话管理功能单元256包含会话cookie生成功能单元258,其用于生成包含会话标识符的会话cookie;在适当时,代理服务器254把会话cookie连同响应一起返回至客户端206处的浏览器应用程序204,由此把会话cookie 260连同其它cookie一起存储在其cookie高速缓存262中。依照众所周知的方式,当向企业域200发送请求时,浏览器应用程序204在后来的时间点提交会话cookie 260;企业域200可以提取会话cookie内的会话标识符以便把输入的请求与先前高速缓存的会话信息相关联,由此提供对输入的请求的处理环境。
给出对图1A-2B的描述作为背景信息,对其余附图的描述涉及本发明。
现在参考图2C,框图描述了依照本发明实施例的包括具有多个反向代理服务器的负载平衡服务器的数据处理系统,所述反向代理服务器包括用于创建并且管理会话支持cookie的功能。图2C与图2B相似;共同的元件具有相同的参考标记。然而,图2C示出了增强的会话管理功能单元270,其包含优于图2B示出的会话管理功能单元256的额外功能。增强的会话管理功能单元270包括会话支持cookie生成功能单元272和用于生成并且管理会话支持cookie的任何其它功能组件。依照类似于任何其它通信协议cookie的方式,例如依照类似于会话cookie的方式,把会话支持cookie发送到提出请求的客户端并且从中接收会话支持cookie。由此,客户端206处的浏览器应用程序204依照类似于存储并检索会话cookie 260的方式来存储并且检索cookie高速缓存262内的会话支持cookie 274。
每一代理服务器复制品均可以访问会话支持加密密钥276的相同副本,可以把会话支持加密密钥276作为其配置信息的一部分提供给代理服务器复制品。能够依照安全的方式通过安全的管理过程或者安全的可编程过程来获得、检索会话支持加密密钥,或者将其提供给代理服务器复制品。会话支持加密密钥276可以是对称的密钥;作为选择,每一代理服务器复制品均可以共享不对称的密钥对,以便使得会话支持加密密钥276表示公共/私人密钥对。
现在参考图2D,框图描述了依照本发明实施例在客户端和反向代理服务器之间进行会话cookie和会话支持cookie的交换。在本发明中,把会话支持cookie逻辑上与会话cookie配对;优选的是,代理服务器复制品在每当它产生会话cookie时产生会话支持cookie。图2C和图2D中共同的元件具有相同的参考标记。如图2D中所示那样,每当由代理服务器复制品254把会话cookie传输到客户端206或者从中接收会话cookie时,会话支持cookie应该伴随有该会话cookie。会话cookie 260包含会话标识符280的副本,而会话支持cookie包含具有受保护的保密格式的会话标识符的副本,诸如加密的会话标识符282。
如上所述,可以在客户端处由服务器经由HTTP响应消息来设定cookie,其中所述HTTP响应消息包含特殊的“SET-COOKIE”头,其具有至少一个名称值对,其中cookie的值包括依照某种方式的会话标识符。在本发明的一个优选实施例中,可以在客户端处由代理服务器通过把“SET-COOKIE”头置于HTML消息中来设定会话支持cookie。用于设定会话支持cookie的头的例子为:
SET-COOKIE:SessionSupport=B238F917AC32820D52,其中“SessionSupport”是cookie的名称,而“BF917AC32820D52”是作为ASCII串格式化的十六进制值;在cookie头内还可以包括诸如期满时间的附加参数。SessionSupport cookie的值表示加密的会话标识符,即,已经使用会话支持加密密钥的副本加密的会话标识符,其中所述会话支持加密密钥由已经生成SessionSupport cookie的代理服务器复制品拥有。
在下文中更加详细地解释由代理服务器复制品采用会话支持cookie和会话支持加密密钥的方式。
现在参考图3A-3B,一对流程图描述了依照本发明实施例用于确定反向代理服务器复制品何时应当为所接收的资源请求生成新的会话标识符的处理。图3A-3B中示出的处理由反向代理服务器在其接收到访问资源的输入请求时执行,例如当图2C中示出的代理服务器复制品254接收到来自客户端206的请求消息时执行,其中所述请求消息诸如是访问受保护资源的HTML请求消息。
所述处理从反向代理服务器确定输入请求是否伴随有例如具有作为输入的HTML消息上的头的HTML cookie形式的会话cookie(步骤302)而开始。就所举例说明的本发明的实施例而言,如果输入请求不伴随有会话cookie,则代理服务器无法检索到这样的会话标识符,其中所述会话标识符也许与输入请求以及来自请求客户端的其它请求相关联。由于代理服务器不具有经由会话标识符把输入请求与进行请求的用户/客户端的有效会话相关联的能力,所以代理服务器无法在先前创建的会话环境内处理该请求,其中先前创建的会话环境往往包含验证凭证和/或其它会话状态信息。因此,所述代理服务器执行一系列步骤来为客户端创建有效会话。
所述代理服务器例如通过与验证服务器交互来启动对用户的验证操作(步骤304),其中所述验证服务器用于执行对用户/客户端的验证操作。假定验证操作成功,那么代理服务器为用户生成新的会话标识符(会话ID)(步骤306)。代理服务器生成并且高速缓存会话cookie和会话支持cookie(步骤308),它们均包含具有某种格式的新生成的会话标识符;所述cookie可以被高速缓存在会话环境信息内以便于进行检索。所述代理服务器例如通过执行额外的步骤来创建所要求的任何会话状态信息,由此来为用户创建有效会话(步骤310)。然后,代理服务器继续处理有效会话状态信息环境内的输入请求(步骤312),并且结束所述处理。
应注意的是,必要时,可以在步骤304对用户进行重新验证。换言之,从用户/客户端的角度来看,即,在从用户到一个或多个应用服务器的一系列资源请求上,图3A-3B中举例说明的处理支持这样的方案,其中用户在单个用户会话内可能需要被验证多次;此类方案将在下文中更加详细地论述。
返回到步骤302,如果输入的请求伴随有会话cookie,则代理服务器能够从所述会话cookie中检索会话标识符,其中所述会话标识符可能与输入请求以及来自请求客户端的其它请求相关联。就从会话cookie中检索到的会话标识符是否与当前代理服务器所维护的有效会话相关联来做出确定(步骤314)。倘若如此,则代理服务器具有经由会话标识符把输入的请求与进行请求的用户/客户端相关联的能力,并且在步骤312,代理服务器可以在先前创建的会话环境内处理该请求,此后结束所述处理。
返回到步骤314,如果所述输入的请求伴随有会话cookie,但是从所述会话cookie中检索到的会话标识符不与当前代理服务器所维护的有效会话相关联,则就所述输入的请求是否伴随有会话支持cookie做出确定(步骤316)。如果不是,则代理服务器没有机会从会话支持cookie提取会话标识符。由于代理服务器不具有把经由会话标识符输入的请求与进行请求的用户/客户端的有效会话相关联的能力,所以代理服务器无法在先前创建的会话环境内处理该请求。因此,所述代理服务器在步骤312在新创建的会话环境内处理请求之前执行一系列步骤,以便经由步骤304-310为客户端创建有效会话,之后结束所述处理。
返回到步骤316,所述输入的请求已经伴随有会话cookie,正如在步骤302所确定的那样,但是从所述会话cookie中检索到的会话标识符不与当前代理服务器所维护的有效会话相关联,正如在步骤314所确定的那样。如果输入的请求伴随有会话支持cookie,如在步骤316确定的那样,则代理服务器执行一系列步骤来检查会话支持cookie。
代理服务器例如通过解密会话支持cookie内的命名值参数来解密会话支持cookie(步骤318)。例如,特别是如果解密的值包含除会话标识符以外的其它信息,则代理服务器可以从解密的值中提取会话标识符(步骤320)。然后,所述代理服务器把从会话支持cookie中提取的会话标识符与来自会话cookie的会话标识符进行比较(步骤322)。然后就会话标识符是否匹配做出确定(步骤324)。
如果在步骤324所述会话标识符不匹配,那么代理服务器无法确信会话cookie内的会话标识符或者会话支持cookie内的会话标识符先前是有效的。换言之,代理服务器无法确定会话cookie内的会话标识符或者会话支持cookie内的会话标识符是否是由代理服务器或者其它某些反向代理服务器复制品发布的。在这一点上,可能有许多原因来假定某些恶意的第三方与输入的请求有所牵连。例如,会话标识符也许是恶意的代理伪造的,或者恶意的代理也许试图重新使用失效的会话标识符,即,所谓的重放攻击。在任何情况下,所述代理服务器都确定为用户创建新的会话。所述处理分支转移到步骤304,以便使代理服务器可以执行一系列步骤来基于新创建的会话标识符为客户端创建有效会话。然后在步骤312,在新创建的会话环境内处理所述输入的请求,此后结束所述处理。
如果在步骤324所述会话标识符匹配,那么代理服务器可以确信会话标识符由于如下原因是有效的。给定数据处理系统内的一组反向代理服务器复制品已经依照如下这种方式进行了配置,所述方式为:使它们自身之间具有信任关系;只有给定数据处理系统内的反向代理服务器复制品应该具有给定会话支持加密密钥的副本。由于代理服务器能够解密会话支持cookie内的会话标识符并且使之有效,所以只有反向代理服务器复制品能够加密会话支持cookie内的会话标识符。换言之,在适当的最近时间段期间,在反向代理服务器复制品处,所述代理服务器可以假定会话标识符在有效的用户会话的环境内由反向代理服务器复制品发布。因此,所述代理服务器确定为用户创建新的会话,同时重新使用提取出的会话标识符,即,来自会话cookie或者会话支持cookie的会话标识符。所述处理分支转移到步骤310,以便使代理服务器可以基于先前发布的会话标识符来为客户端创建有效会话。然后在步骤312,在新创建的会话环境内处理所述输入的请求,此后结束所述处理。
现在参考图3B,依照本发明的可替代实施例示出了可替代的一组步骤,这些步骤可用来替代图3A中的步骤312。依照与上文中就步骤324所述方式类似的方式,可能有许多原因来假定某些恶意的第三方与输入的请求有所牵连。例如,会话标识符也许是残缺的,以致于使代理服务器可能怀疑它是由恶意的代理伪造的,或者恶意的代理也许试图重新使用失效的会话标识符,即,所谓的重放攻击。图3B中示出的流程图举例说明了可替代的实施例,其中可以通过发布会话标识符来解决这种担心。
图3B中示出的可替代的子处理从确定代理服务器当前是否怀疑或者检测到已经出现了某些类型的安全违反而开始(步骤352)。如果不是,则继续在与所述会话标识符相关联的适当的会话环境内处理输入的请求(步骤354),此后结束所述处理。如果代理服务器怀疑或者检测到安全违反,则代理服务器生成新的会话标识符(步骤356)。所述代理服务器还基于新的会话标识符来生成并且高速缓存新的会话cookie和新的会话支持cookie(步骤358)。修改与先前会话标识符相关联的会话环境信息,以便使它与新的会话标识符相关联(步骤360)。在步骤354继续处理请求,此后结束所述处理。在下文中就图4F-4H更加详细地解释在有效用户会话期间、会话标识符的替代结果。
现在参考图4A-4H,一组框图描述了依照本发明实施例在处理来自用户/客户端的请求的时间段内相对于部分有代表性的会话环境的一组反向代理服务器复制品。图4A-4H中共同的元件具有相同的参考标记。图4A-4H依照类似于图2C中示出的方式描述了具有反向代理服务器复制品404-410的负载平衡服务器402。在这些例子中,代理服务器复制品410最初依照离线方式来示出,这是因为已经将其保留作为故障转移备份服务器。然而,应该注意的是,在下文论述的故障转移方案不要求离线备份;如果该组代理服务器复制品中的一个代理服务器发生故障,则仅仅使其离线即可,而不需要激活特殊的备份代理服务器。
如上所述,负载平衡服务器402接受来自客户端的请求,并且依照适当的负载平衡算法在一组代理服务器复制品上分配所述请求。图4A-4H描述了在一系列时间点上一组代理服务器的状态瞬态图,在这期间,所述代理服务器处理一个或多个输入的请求;例如,图4A描述了初始状态,继之以图4B中的后续状态。虽然该组代理服务器复制品可以处理来自多个客户端的请求,但图4A-4H仅仅涉及举例说明对于给定客户端的某些动作。代理服务器复制品404-410可以处理来自其它客户端的其它请求,但图4A-4H没有举例说明响应于这些请求而可能出现的其状态的任何改变。在图4A中,没有代理服务器再为给定客户端创建会话环境。
在图4B中,代理服务器404包含会话环境412。会话环境412表示任何数据结构、所存储的数据或者任何其它元素,这些元素由代理服务器404采用以便在特定时间段内为给定用户/客户端提供会话的服务器侧支持。在这个例子中,因为代理服务器404接收到来自负载平衡服务器402的输入的资源请求,并且所述输入的请求不伴随有会话cookie,所以创建了会话环境412。例如,所述输入的请求可以是来自给定用户/客户端的第一请求。因此,所述代理服务器生成与所接收的请求以及来自同一用户/客户端的后续请求相关联的新的会话标识符。把会话环境412与唯一的会话标识符相关联并且用该唯一的会话标识符来标识,在图4B中该会话标识符显示为会话标识符“Xi”。图4B可以表示在执行如图3A所示的步骤302-310之后的代理服务器404的状态。
现在参考图4C,在某些稍晚的时间点上,代理服务器406包含会话环境414;依照与图4B类似的方式,会话环境414与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Xi”。图4C举例说明了这样的方案,其中由负载平衡服务器102接收来自给定客户端的后续输入请求,然后由负载平衡服务器102把所述请求转发到代理服务器406;在本发明的一个实施例中,所述负载平衡服务器不确保来自给定客户端的一系列请求在用户会话内被路由到同一代理服务器。因此,在图4B-4C示出的例子中,把来自给定客户端的初始请求路由到代理服务器404,并且可以把来自同一客户端的后续请求路由到代理服务器404,但是负载平衡服务器402往往不确保这些后续请求或者任何另外的后续请求将被路由到代理服务器404。因此,在某些时间点上,负载平衡服务器402已经把至少一个请求路由到代理服务器406。当代理服务器406接收到输入的请求时,所述输入的请求往往伴随有会话cookie和会话支持cookie,这些cookie已经由代理服务器404响应于处理初始请求和同样由代理服务器404处理的任何另外的后续请求、在给定客户端处设定好了。代理服务器406依照图3A中所举例说明的方式使用会话cookie和会话支持cookie以接受cookie中的会话标识符,由此能够在代理服务器上为源于代理服务器404的会话标识符的使用提供连续性,而不需要在负载平衡服务器402处就会话标识符进行特殊处理。
现在参考图4D,在某些稍晚的时间点上,代理服务器408包含会话环境416;依照与图4B和图4C类似的方式,会话环境414与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Xi”。图4D举例说明了这样的方案,其中来自给定客户端的后续输入请求由负载平衡服务器402接收,然后由负载平衡服务器402把所述请求转发到代理服务器408;换言之,图4D中举例说明的方案与图4C中举例说明的方案相似。
在图4D示出的例子中,来自给定客户端的任何输入请求可以由负载平衡服务器402路由到代理服务器404、代理服务器406或者代理服务器408。返回参考图3A,当在步骤302和314代理服务器识别出输入请求伴随有包含合法的、已识别的、有效会话标识符的会话cookie时,所述代理服务器将依照与会话标识符相关联的会话环境来继续处理输入请求。由此,对于某些时间段来说,来自给定客户端的输入请求可以被路由至多个代理服务器,每个代理服务器均拥有会话环境信息,以便支持来自给定客户端的输入请求,而无需根据识别相关联的会话标识符失败而触发额外的授权操作或者任何其它类型的操作。换言之,那些输入的后续请求上的相关联会话标识符将被识别,并且输入请求将得以有效处理。在某些后续的时间点上,代理服务器可以执行清除操作以便删除或者清除会话环境。然而,所述代理服务器复制品可以被配置为:在执行已经因超时违反而触发的清除操作以便删除或者清除会话环境信息之前、在阈值时间段内保持会话环境;如果所述会话cookie或者会话支持cookie包含期满参数,则将据此来设定cookie的期满期间。
现在参考图4E,在某些稍晚的时间点上,代理服务器410包含会话环境418;依照与图4B-4D类似的方式,会话环境418与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Xi”。图4E举例说明了这样的方案,其中来自给定客户端的后续输入请求由负载平衡服务器402接收,然后由负载平衡服务器402把所述请求转发到代理服务器410;换言之,图4E中举例说明的方案与图4C或图4D中举例说明的方案相似。
然而,图4E还举例说明了可以在支持在冗余服务器当中进行故障转移操作的数据处理系统内实现本发明。如上所述,图4D表示当前时间一组代理服务器复制品的状态的瞬态图,而图4E表示在后续时间的瞬态图。在所举例说明的时间点之间的时间段期间,代理服务器408已经发生了故障并且已经离线,而代理服务器410已经进入在线状态。使用本发明中的会话支持cookie机制在代理服务器410上创建用于给定客户端的会话环境,而无需中断关于该客户端的操作流程。例如,代理服务器410现在具有用于支持来自给定客户端的请求的会话环境,可是代理服务器410没有把任何不希望的操作、诸如重新验证用户的操作插入到有关给定客户端的事务中来创建其会话环境。通过识别先前由其它代理服务器采用的会话标识符,代理服务器410能够被并入关于给定客户端的操作中,从而使得代理服务器410的操作相似于代理服务器404或者代理服务器406的那些操作,而不要求在代理服务器之间进行任何集中的协调。此外,故障转移事件的结果已经通过图3A中示出的过程处理了,而不需要再进行关于存在故障转移事件的任何考虑或者特地通知。
现在参考图4F,在某些稍晚的时间点上,代理服务器410包含会话环境420;会话环境420与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Yi”。图4F举例说明了这样的方案,其中由负载平衡服务器402接收来自给定客户端的后续输入请求,然后由负载平衡服务器402把所述请求转发到代理服务器410。然而,根据可配置的规则组,代理服务器410可能检测到或者怀疑存在安全违反。当其自身启动时,例如就图3B所讨论的那样,代理服务器410丢弃先前已经在多个代理服务器上采用的另外的有效的会话标识符,即会话标识符“Xi”,如图4B-4E所示。因此,代理服务器已经发布了新的会话标识符,即,会话标识符“Yi”,其已经与给定客户端的会话环境信息相关联,并且已经包括在返回到给定客户端的会话cookie和会话支持cookie内。
依照此方式,任何代理服务器复制品可以用新的会话标识符来替代另外的有效的会话标识符,而不会中断关于给定客户端的操作流程。换言之,代理服务器410现在具有用于支持来自给定客户端的请求的新的会话标识符,可是代理服务器410没有在创建新的会话标识符后、把任何不希望的操作、诸如重新验证用户的操作插入到有关给定客户端的事务中。不过应当指出,如果期望的话,例如可以根据检测到的或者怀疑存在的安全违反的严重性来对用户/客户端重新验证;图3A中的步骤304表明:图3A内举例说明的处理支持重新验证操作。
现在参考图4G,在某些稍晚的时间点上,代理服务器406包含会话环境422;依照类似于图4F的方式,会话环境422与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Yi”。图4G举例说明了这样的方案,其中由负载平衡服务器402接收来自给定客户端的后续输入请求,然后由负载平衡服务器402把所述请求转发到代理服务器406。
当代理服务器406从伴随输入请求的会话cookie中提取新的会话标识符、即会话标识符“Yi”时,代理服务器406将不会识别新的会话标识符。然而,代理服务器406依照图3A中所举例说明的方式使用会话cookie和会话支持cookie来接收cookie中的新的会话标识符,由此为源于代理服务器410的会话标识符的使用在代理服务器410和406之间提供连续性,而不需要在负载平衡服务器402处就所述会话标识符进行特殊处理。此外,在无需对新的会话标识符进行任何集中通信或者无需在代理服务器之间对新会话标识符进行任何反向信道或侧信道通信的情况下,代理服务器406已经接受了新的会话标识符。
现在参考图4H,在某些稍晚的时间点上,代理服务器404包含会话环境424;依照类似于图4F和图4G的方式,会话环境424与唯一的会话标识符相关联并且由该唯一的会话标识符来标识,该会话标识符显示为会话标识符“Yi”。图4H举例说明了这样的方案,其中来自给定客户端的后续输入请求由负载平衡服务器402接收,然后由负载平衡服务器402把所述请求转发到代理服务器404,其最初未能识别新的会话标识符、可是仍接受新的会话标识符。换言之,图4H中举例说明的方案与图4G中举例说明的方案相似。在图4H示出的例子中,可以由负载平衡服务器402把来自给定客户端的输入请求路由到代理服务器404、代理服务器406或者代理服务器410;通过使用伴随的会话cookie,所述请求将由代理服务器复制品使用当前会话环境信息来处理。
鉴于如上文所述的本发明的示例性实施例,本发明的优点应当是明显的。在典型的、现有技术中的、集中式解决方案中,服务器在集中式数据存储器中的多个服务器复制品上维护会话状态,或者充当集中式通信路由器,以确保所有服务器接收到会话状态信息的更新。例如,服务器在建立新的会话之前联系集中式服务器。在这种集中式解决方案中,容错和冗余可能要求复杂的修改。
相比之下,本发明提供了分散式的解决方案。利用本发明,不要求额外的集中式服务器;所述代理服务器本身确定何时应该并且可以创建新的会话。利用本发明,代理服务器不发布新的会话标识符,除非它确定它必须这样做。代理服务器试图在能够使会话标识符有效时重新使用会话标识符;当拥有会话cookie或者会话支持cookie内的会话标识符时,如果代理服务器可以使所述会话标识符有效,则它重新使用所述会话标识符。
假定所述代理服务器维护持续了一定时间段的会话环境。因此,本发明提供的解决方案具有“完全解扣(round tripping)”会话标识符的益处。例如,在给定的用户会话内,如果用户提交了一资源请求,所述资源请求被路由至早已处理了来自该用户的请求的代理服务器,那么根据先前已处理的请求,所述代理服务器仍可具有有效的会话环境。
本发明的两个重要的优点涉及故障转移操作和负载平衡操作。首先,本发明可以被集成在支持故障转移的数据处理环境内,其中包括代理服务器当中的故障转移机制。其次,本发明可以被集成在支持无粘性负载平衡操作的数据处理环境内。
此外,如果代理服务器例如根据可疑请求而检测到某些类型的安全薄弱性或者异常,其中所述可疑请求是由先前通过验证的用户/客户端来按照推测发布的,则所述代理服务器可以改变会话标识符,这最终导致在同一用户会话期间、新的会话标识符由所有其它代理服务器复制品来使用,由此改善了性能。
重要的是应该注意到,虽然已经在完全发挥功能的数据处理系统的环境中描述了本发明,但是本领域普通技术人员将理解的是,本发明中的处理能够以计算机可读介质中的指令的形式以及各种其它形式来分配,而不管实际上用于执行所述分配的信号承载介质的特殊类型如何。计算机可读介质的例子包括诸如EPROM、ROM、磁带、纸张、软盘、硬盘驱动器、RAM和CD-ROM之类的介质,并且还包括诸如数字和模拟通信链路之类的传输型介质。
方法总体上被设想为是导致所期望的结果的自相一致的步骤序列。这些步骤要求物理量的物理操作。通常但不是必需的,这些量采用能够进行存储、传送、组合、比较等操作的电或者磁信号的形式。有时为了方便,主要是为了通用,把这些信号称为比特、值、参数、项、元素、对象、符号、字符、术语、数字等。然而,应当指出,所有这些术语和类似术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。
已经为了举例说明的目的给出了对本发明的描述,但是这不意味着是穷举的或者把本发明限制为所公开的实施例。许多修改和变化对于本领域普通技术人员来说将是显而易见的。选择这些实施例,以解释本发明的原理及其实际应用,并且使其它本领域普通技术人员理解本发明,以便利用适合于其它所设想的用途的各种修改来实现各种实施例。

Claims (16)

1.一种用于在数据处理系统内的一组服务器当中管理会话标识符的方法,该计算机实现的方法包括:
在该组服务器中的第一服务器处接收来自客户端的第一资源请求;
响应于对第一资源请求不伴随有包含会话标识符的cookie的确定,在第一服务器上生成第一会话标识符,并且由第一服务器把第一会话标识符与在第一服务器上新创建的第一会话相关联,其中所述第一会话具有对于来自客户端的资源请求而言将由第一服务器采用的会话状态信息;并且
把对第一资源请求的响应从第一服务器发送至客户端,其中对第一资源请求的响应伴随有由第一服务器生成的第一cookie和第二cookie,其中第一cookie包含第一会话标识符的副本,而第二cookie包含已经使用密钥进行加密保护的第一会话标识符的副本,其中该组服务器中的每一服务器均具有所述密钥的副本。
2.如权利要求1所述的方法,还包括:
在第一服务器上创建第一会话之前,对于客户端的用户成功地执行验证操作。
3.如权利要求1所述的方法,还包括:
在该组服务器中的第二服务器处接收来自客户端的第二资源请求,其中所述第二资源请求伴随有第一cookie的副本和第二cookie的副本。
4.如权利要求3所述的方法,还包括:
从第一cookie的副本中获得第一会话标识符;并且
响应于对第二服务器从第一cookie的副本中识别出第一会话标识符的确定,相对于与第二服务器上维护的第一会话标识符相关联的会话状态信息来处理第二资源请求。
5.如权利要求3所述的方法,还包括:
从第一cookie的副本中获得第一会话标识符;
响应于对第二服务器没有从第一cookie的副本中识别出第一会话标识符的确定,在第二服务器处使用密钥的副本来解密至少一部分第二cookie;
响应于第二服务器对来自第二cookie的解密部分的会话标识符与第一会话标识符相同的确定,由第二服务器把第一会话标识符与在第二服务器上新创建的第二会话相关联,其中第二会话具有对于来自客户端的资源请求而言将由第二服务器采用的会话状态信息。
6.如权利要求3所述的方法,还包括:
从第一cookie的副本中获得第一会话标识符;
响应于对第二服务器没有从第一cookie的副本中识别出第一会话标识符的确定,在第二服务器处使用密钥的副本来解密至少一部分第二cookie;
响应于第二服务器对来自第二cookie的解密部分的会话标识符与第一会话标识符不相同的确定,在第二服务器上生成第二会话标识符,并且由第二服务器把第二会话标识符与在第二服务器上新创建的第二会话相关联,其中第二会话具有对于来自客户端的资源请求而言将由第二服务器采用的会话状态信息。
7.如权利要求3所述的方法,还包括:
在数据处理系统内的负载平衡服务器处接收来自客户端的第二资源请求;
在所述负载平衡服务器处评估负载平衡算法;
确定适当的服务器来接收第二资源请求,而不需要检查伴随第二资源请求的会话标识符;并且
在第二服务器处接收第二资源请求之前,把第二资源请求从负载平衡服务器转发至第二服务器。
8.如权利要求3所述的方法,其中所述第二服务器是第一服务器。
9.如权利要求3所述的方法,还包括:
把对第二资源请求的第二响应从第二服务器发送到客户端,其中所述第二响应伴随有由第二服务器生成的第一cookie的副本和第二cookie的副本。
10.如权利要求3所述的方法,还包括:
在该组服务器中的第三服务器处接收来自客户端的第三资源请求,其中所述第三资源请求伴随有第一cookie的副本和第二cookie的副本;
响应于第三服务器确定对于第三资源请求有检测到的安全违反或者受到质疑的安全违反,在第三服务器上生成第三会话标识符,并且用第三会话标识符替代第一会话标识符,由此由第三服务器把第三会话标识符与第三服务器上的第三会话相关联,其中第三会话具有对于来自客户端的资源请求而言将由第三服务器采用的会话状态信息;并且
把对第三资源请求的响应从第三服务器发送至客户端,其中对第三资源请求的响应伴随有由第三服务器生成的第三cookie和第四cookie,其中所述第三cookie包含第三会话标识符的副本,而第四cookie包含已经使用密钥进行加密保护的第三会话标识符的副本。
11.如权利要求1所述的方法,还包括:
检测该组服务器中的服务器的故障;并且
支持数据处理系统内的故障转移操作,由此在不用为客户端替代由发生故障的服务器维护的会话的会话标识符的情况下,把发生故障的服务器从该组服务器内的在线状态中移除。
12.一种用于在数据处理系统内的一组服务器当中管理会话标识符的设备,所述设备包括:
用于在该组服务器中的第一服务器处接收来自客户端的第一资源请求的装置;
用于响应于对第一资源请求不伴随有包含会话标识符的cookie的确定,在第一服务器上生成第一会话标识符并且由第一服务器把第一会话标识符与在第一服务器上新创建的第一会话相关联的装置,其中所述第一会话具有对于来自客户端的资源请求而言将由第一服务器采用的会话状态信息;
用于把对第一资源请求的响应从第一服务器发送至客户端的装置,其中对第一资源请求的响应伴随有由第一服务器生成的第一cookie和第二cookie,其中第一cookie包含第一会话标识符的副本,而第二cookie包含已经使用密钥进行加密保护的第一会话标识符的副本,其中该组服务器中的每一服务器均具有所述密钥的副本。
13.如权利要求12所述的设备,还包括:
用于在该组服务器中的第二服务器处接收来自客户端的第二资源请求的装置,其中所述第二资源请求伴随有第一cookie的副本和第二cookie的副本;
用于从第一cookie的副本中获得第一会话标识符的装置;以及
用于响应于对第二服务器从第一cookie的副本中识别出第一会话标识符的确定,相对于与第二服务器上维护的第一会话标识符相关联的会话状态信息来处理第二资源请求的装置。
14.如权利要求12所述的设备,还包括:
用于在该组服务器中的第二服务器处接收来自客户端的第二资源请求的装置,其中所述第二资源请求伴随有第一cookie的副本和第二cookie的副本;
用于从第一cookie的副本中获得第一会话标识符的装置;
用于响应于对第二服务器没有从第一cookie的副本中识别出第一会话标识符的确定,在第二服务器处使用密钥的副本来解密至少一部分第二cookie的装置;
用于响应于第二服务器对来自第二cookie的解密部分的会话标识符与第一会话标识符相同的确定,由第二服务器把第一会话标识符与在第二服务器上新创建的第二会话相关联的装置,其中第二会话具有对于来自客户端的资源请求而言将由第二服务器采用的会话状态信息。
15.如权利要求12所述的设备,还包括:
用于在该组服务器中的第二服务器处接收来自客户端的第二资源请求的装置,其中所述第二资源请求伴随有第一cookie的副本和第二cookie的副本;
用于从第一cookie的副本中获得第一会话标识符的装置;
用于响应于对第二服务器没有从第一cookie的副本中识别出第一会话标识符的确定,在第二服务器处使用密钥的副本来解密至少一部分第二cookie的装置;
用于响应于第二服务器对来自第二cookie的解密部分的会话标识符与第一会话标识符不相同的确定,在第二服务器上生成第二会话标识符并且由第二服务器把第二会话标识符与在第二服务器上新创建的第二会话相关联的装置,其中第二会话具有对于来自客户端的资源请求而言将由第二服务器采用的会话状态信息。
16.一种在计算机可读介质上的计算机程序产品,用于在数据处理系统内使用,以便在一组服务器当中管理会话标识符,所述计算机程序产品包括用于实现如先前方法权利要求所述的任一方法的指令。
CN200610004270.5A 2005-06-06 2006-02-13 用于管理会话标识符的方法和设备 Expired - Fee Related CN100544361C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/146,969 2005-06-06
US11/146,969 US20060277596A1 (en) 2005-06-06 2005-06-06 Method and system for multi-instance session support in a load-balanced environment

Publications (2)

Publication Number Publication Date
CN1878170A true CN1878170A (zh) 2006-12-13
CN100544361C CN100544361C (zh) 2009-09-23

Family

ID=37495624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610004270.5A Expired - Fee Related CN100544361C (zh) 2005-06-06 2006-02-13 用于管理会话标识符的方法和设备

Country Status (2)

Country Link
US (1) US20060277596A1 (zh)
CN (1) CN100544361C (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783771A (zh) * 2010-03-24 2010-07-21 杭州华三通信技术有限公司 一种实现负载均衡持续性的方法和设备
CN102104592A (zh) * 2009-12-17 2011-06-22 丛林网络公司 网络策略服务器之间的会话迁移
CN102356620A (zh) * 2009-03-17 2012-02-15 英国电讯有限公司 网络应用访问
CN102394857A (zh) * 2011-06-29 2012-03-28 福建星网锐捷网络有限公司 以太网上点对点协议会话建立方法、装置及设备
WO2012163016A1 (zh) * 2011-10-21 2012-12-06 华为技术有限公司 识别服务请求类型的方法、媒体服务器和终端设备
CN103999413A (zh) * 2011-12-19 2014-08-20 阿尔卡特朗讯公司 在云端传送消息的方法和装置
CN106487859A (zh) * 2015-09-01 2017-03-08 北京国双科技有限公司 监测用户访问行为的方法、装置、终端设备及系统
CN110913011A (zh) * 2019-12-05 2020-03-24 东软集团股份有限公司 会话保持方法、会话保持装置、可读存储介质及电子设备
CN113014562A (zh) * 2015-06-25 2021-06-22 微软技术许可有限责任公司 用于建立媒体会话的方法和装置

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636941B2 (en) 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
RU2005125057A (ru) * 2005-08-08 2007-02-20 Аби Софтвер Лтд. (Cy) Способ и устройство сканирования документов
US7716721B2 (en) * 2005-10-18 2010-05-11 Cisco Technology, Inc. Method and apparatus for re-authentication of a computing device using cached state
GB0601939D0 (en) * 2006-01-31 2006-03-15 Speed Trap Com Ltd Website monitoring and cookie setting
EP1979840B1 (en) * 2006-01-31 2014-04-23 Speed-trap.com Ltd. Website monitoring and cookie setting
US8533808B2 (en) * 2006-02-02 2013-09-10 Check Point Software Technologies Ltd. Network security smart load balancing using a multiple processor device
US7797432B2 (en) * 2006-10-25 2010-09-14 Microsoft Corporation Sharing state information between dynamic web page generators
US9800614B2 (en) * 2007-05-23 2017-10-24 International Business Machines Corporation Method and system for global logoff from a web-based point of contact server
US20080306875A1 (en) * 2007-06-11 2008-12-11 Ebay Inc. Method and system for secure network connection
US8201016B2 (en) * 2007-06-28 2012-06-12 Alcatel Lucent Heartbeat distribution that facilitates recovery in the event of a server failure during a user dialog
US8429734B2 (en) * 2007-07-31 2013-04-23 Symantec Corporation Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes
US8001582B2 (en) * 2008-01-18 2011-08-16 Microsoft Corporation Cross-network reputation for online services
US7870418B2 (en) * 2008-02-27 2011-01-11 Microsoft Corporation Enhanced presence routing and roster fidelity by proactive crashed endpoint detection
CN101562784B (zh) * 2008-04-14 2012-06-06 华为技术有限公司 报文分发方法、设备及系统
EP2311233A1 (en) * 2008-05-21 2011-04-20 Uniloc Usa, Inc. Device and method for secured communication
US8631134B2 (en) * 2008-07-30 2014-01-14 Visa U.S.A. Inc. Network architecture for secure data communications
US9684628B2 (en) * 2008-09-29 2017-06-20 Oracle America, Inc. Mechanism for inserting trustworthy parameters into AJAX via server-side proxy
US20100325719A1 (en) * 2009-06-19 2010-12-23 Craig Stephen Etchegoyen System and Method for Redundancy in a Communication Network
US8452960B2 (en) 2009-06-23 2013-05-28 Netauthority, Inc. System and method for content delivery
US8736462B2 (en) * 2009-06-23 2014-05-27 Uniloc Luxembourg, S.A. System and method for traffic information delivery
US8903653B2 (en) * 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes
US20100325703A1 (en) * 2009-06-23 2010-12-23 Craig Stephen Etchegoyen System and Method for Secured Communications by Embedded Platforms
US20100321207A1 (en) * 2009-06-23 2010-12-23 Craig Stephen Etchegoyen System and Method for Communicating with Traffic Signals and Toll Stations
US9015136B2 (en) * 2010-01-22 2015-04-21 Microsoft Technology Licensing, Llc Storing temporary state data in separate containers
US8930443B1 (en) 2010-03-19 2015-01-06 Amazon Technologies, Inc. Distributed network page generation
US8321681B2 (en) * 2010-07-19 2012-11-27 Google Inc. Managing user accounts
US8838962B2 (en) * 2010-09-24 2014-09-16 Bryant Christopher Lee Securing locally stored Web-based database data
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
KR101544480B1 (ko) * 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US8458210B2 (en) * 2011-05-06 2013-06-04 Verizon Patent And Licensing Inc. Database load balancing through dynamic database routing
US9292248B2 (en) 2011-06-22 2016-03-22 Microsoft Technology Licensing, Llc Span out load balancing model
US9118619B2 (en) 2011-11-07 2015-08-25 Qualcomm Incorported Prevention of cross site request forgery attacks by conditional use cookies
AU2012100463B4 (en) 2012-02-21 2012-11-08 Uniloc Usa, Inc. Renewable resource distribution management system
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US9253011B2 (en) * 2012-09-27 2016-02-02 Intuit Inc. Session-server affinity for clients that lack session identifiers
WO2014124014A1 (en) * 2013-02-05 2014-08-14 Vynca, L.L.C. Method and apparatus for collecting an electronic signature on a first device and incorporating the signature into a document on a second device
US9838375B2 (en) 2013-02-28 2017-12-05 Microsoft Technology Licensing, Llc RESTlike API that supports a resilient and scalable distributed application
US8972733B1 (en) * 2013-03-07 2015-03-03 Facebook, Inc. Techniques to prime a stateful request-and-response communication channel
US10951726B2 (en) 2013-07-31 2021-03-16 Citrix Systems, Inc. Systems and methods for performing response based cache redirection
US9961125B2 (en) * 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
US9544293B2 (en) 2013-09-20 2017-01-10 Oracle International Corporation Global unified session identifier across multiple data centers
US9866640B2 (en) * 2013-09-20 2018-01-09 Oracle International Corporation Cookie based session management
US10440066B2 (en) 2013-11-15 2019-10-08 Microsoft Technology Licensing, Llc Switching of connection protocol
US10068014B2 (en) * 2014-02-06 2018-09-04 Fastly, Inc. Security information management for content delivery
US9565271B1 (en) * 2014-10-10 2017-02-07 Go Daddy Operating Company, LLC Methods for website version control using bucket cookies
US9672494B2 (en) * 2014-11-25 2017-06-06 Sap Se Light-weight lifecycle management of enqueue locks
US9612925B1 (en) * 2014-12-12 2017-04-04 Jpmorgan Chase Bank, N.A. Method and system for implementing a distributed digital application architecture
US9769147B2 (en) 2015-06-29 2017-09-19 Oracle International Corporation Session activity tracking for session adoption across multiple data centers
US10693859B2 (en) 2015-07-30 2020-06-23 Oracle International Corporation Restricting access for a single sign-on (SSO) session
US10581826B2 (en) 2015-10-22 2020-03-03 Oracle International Corporation Run-time trust management system for access impersonation
US10454936B2 (en) 2015-10-23 2019-10-22 Oracle International Corporation Access manager session management strategy
US10505982B2 (en) 2015-10-23 2019-12-10 Oracle International Corporation Managing security agents in a distributed environment
GB2546800B (en) * 2016-01-29 2020-08-05 Tectonic Interactive Ltd System and method for managing communication sessions between clients and a server
CN107104929B (zh) * 2016-02-23 2021-03-09 阿里巴巴集团控股有限公司 防御网络攻击的方法、装置和系统
US10623501B2 (en) 2016-09-15 2020-04-14 Oracle International Corporation Techniques for configuring sessions across clients
US10977376B1 (en) * 2016-10-04 2021-04-13 Hrl Laboratories, Llc Method for session workflow information flow analysis
US11017082B1 (en) * 2016-10-04 2021-05-25 Hrl Laboratories, Llc Method for session workflow information flow analysis
GB2560952A (en) * 2017-03-29 2018-10-03 Cloudiq Ltd Reconciling received messages
US11063853B2 (en) * 2017-05-25 2021-07-13 Lenovo (Singapore) Pte. Ltd. Method and device to transfer to a virtual browser session based on responsiveness
US11290438B2 (en) 2017-07-07 2022-03-29 Oracle International Corporation Managing session access across multiple data centers
US10587703B2 (en) * 2017-08-18 2020-03-10 Citrix Systems, Inc. Providing communication connectivity between disparate network entities located in isolated communication networks through a centralized cloud service
US11050730B2 (en) 2017-09-27 2021-06-29 Oracle International Corporation Maintaining session stickiness across authentication and authorization channels for access management
US10157275B1 (en) 2017-10-12 2018-12-18 Oracle International Corporation Techniques for access management based on multi-factor authentication including knowledge-based authentication
US10938801B2 (en) * 2018-09-21 2021-03-02 Microsoft Technology Licensing, Llc Nonce handler for single sign on authentication in reverse proxy solutions
US11115483B2 (en) * 2019-03-28 2021-09-07 The Nielsen Company (Us), Llc Methods and apparatus for census and panel matching using session identifiers positioned in an HTTP header
US11263201B2 (en) * 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US11134078B2 (en) 2019-07-10 2021-09-28 Oracle International Corporation User-specific session timeouts
US11297110B2 (en) * 2020-04-08 2022-04-05 Arista Networks, Inc. Load balancing for control session and media session in a communication flow
US11271996B1 (en) * 2020-04-09 2022-03-08 Parallels International Gmbh Client-side load balancing for remote application servers
US11356502B1 (en) 2020-04-10 2022-06-07 Wells Fargo Bank, N.A. Session tracking
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
US11956219B2 (en) * 2021-06-24 2024-04-09 Citrix Systems, Inc. Systems and methods to detect and prevent bots from random access by randomized HTTP URLs in real time in distributed systems
CN113535187B (zh) * 2021-07-16 2024-03-22 北京百度网讯科技有限公司 服务上线方法、服务更新方法及服务提供方法
WO2023144758A2 (en) * 2022-01-27 2023-08-03 Bubble Workspace Ltd Proxy gateway-based security for rdp-type communications sessions
US11601518B1 (en) 2022-02-09 2023-03-07 Coretech LT, UAB Managed exit nodes and third party proxies

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US6615166B1 (en) * 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6704873B1 (en) * 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6609128B1 (en) * 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US20020059274A1 (en) * 2000-03-03 2002-05-16 Hartsell Neal D. Systems and methods for configuration of information management systems
US20020095400A1 (en) * 2000-03-03 2002-07-18 Johnson Scott C Systems and methods for managing differentiated service in information management environments
US20030009437A1 (en) * 2000-08-02 2003-01-09 Margaret Seiler Method and system for information communication between potential positionees and positionors
JP3501361B2 (ja) * 2000-09-04 2004-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータネットワークシステム、コンピュータシステム、コンピュータシステム間の通信方法、コンピュータシステムのパフォーマンス測定方法および記録媒体
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US20030149746A1 (en) * 2001-10-15 2003-08-07 Ensoport Internetworks Ensobox: an internet services provider appliance that enables an operator thereof to offer a full range of internet services
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
JP4055393B2 (ja) * 2001-10-30 2008-03-05 ソニー株式会社 データ処理装置およびその方法とプログラム
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US6931530B2 (en) * 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102356620A (zh) * 2009-03-17 2012-02-15 英国电讯有限公司 网络应用访问
CN102356620B (zh) * 2009-03-17 2014-07-23 英国电讯有限公司 网络应用访问
CN102104592A (zh) * 2009-12-17 2011-06-22 丛林网络公司 网络策略服务器之间的会话迁移
US10523656B2 (en) 2009-12-17 2019-12-31 Pulse Secure, Llc Session migration between network policy servers
US10057239B2 (en) 2009-12-17 2018-08-21 Pulse Secure, Llc Session migration between network policy servers
CN102104592B (zh) * 2009-12-17 2014-08-13 丛林网络公司 网络策略服务器之间的会话迁移
CN101783771A (zh) * 2010-03-24 2010-07-21 杭州华三通信技术有限公司 一种实现负载均衡持续性的方法和设备
CN102394857B (zh) * 2011-06-29 2015-02-25 福建星网锐捷网络有限公司 以太网上点对点协议会话建立方法、装置及设备
CN102394857A (zh) * 2011-06-29 2012-03-28 福建星网锐捷网络有限公司 以太网上点对点协议会话建立方法、装置及设备
CN103181140B (zh) * 2011-10-21 2016-09-14 华为技术有限公司 识别服务请求类型的方法、媒体服务器和终端设备
US9882794B2 (en) 2011-10-21 2018-01-30 Huawei Technologies Co., Ltd. Method, media type server and terminal device for identifying service request type
CN103181140A (zh) * 2011-10-21 2013-06-26 华为技术有限公司 识别服务请求类型的方法、媒体服务器和终端设备
WO2012163016A1 (zh) * 2011-10-21 2012-12-06 华为技术有限公司 识别服务请求类型的方法、媒体服务器和终端设备
CN103999413A (zh) * 2011-12-19 2014-08-20 阿尔卡特朗讯公司 在云端传送消息的方法和装置
CN113014562A (zh) * 2015-06-25 2021-06-22 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN113014562B (zh) * 2015-06-25 2024-01-05 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN106487859A (zh) * 2015-09-01 2017-03-08 北京国双科技有限公司 监测用户访问行为的方法、装置、终端设备及系统
US11044330B2 (en) 2015-09-01 2021-06-22 Beijing Gridsum Technology Co., Ltd. Method, device, terminal equipment and system for monitoring user's access behavior
CN110913011A (zh) * 2019-12-05 2020-03-24 东软集团股份有限公司 会话保持方法、会话保持装置、可读存储介质及电子设备
CN110913011B (zh) * 2019-12-05 2022-12-20 东软集团股份有限公司 会话保持方法、会话保持装置、可读存储介质及电子设备

Also Published As

Publication number Publication date
CN100544361C (zh) 2009-09-23
US20060277596A1 (en) 2006-12-07

Similar Documents

Publication Publication Date Title
CN100544361C (zh) 用于管理会话标识符的方法和设备
JP4886508B2 (ja) 既存のsslセッションを中断することなく証明書ベースの認証にステップアップするための方法及びシステム
KR100615793B1 (ko) 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체
KR100800339B1 (ko) 제휴 환경에서 사용자에 의해 결정된 인증 및 단일 사인온을 위한 방법 및 시스템
US8375425B2 (en) Password expiration based on vulnerability detection
JP5030967B2 (ja) 認証方法を拡張するための方法及びシステム
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
CN100581103C (zh) 安全地处理被用于基于web的资源访问的客户证书
US8640202B2 (en) Synchronizing user sessions in a session environment having multiple web services
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
CN1783052A (zh) 便携式计算环境
US8555365B2 (en) Directory authentication method for policy driven web filtering
CN1701295A (zh) 用于对计算机网格进行单次登录访问的方法和系统
CN1820481A (zh) 在客户机-服务器环境中认证客户机的系统和方法
CN101779413A (zh) 用于通信的方法和设备以及用于控制通信的方法和设备
JP2005149121A (ja) セキュリティ確保支援プログラム及びそのプログラムを実行するサーバ装置並びにそのプログラムを記憶した記憶媒体
CN111988275A (zh) 一种单点登录方法、单点登录服务器集群及电子设备
JP4608929B2 (ja) 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム
JP2005070979A (ja) 情報処理装置、認証装置、認証方法、認証プログラム及び記録媒体
CN108737331B (zh) 跨域通信方法及跨域通信系统
JP4303988B2 (ja) ユーザ認証方法
JP2004078622A (ja) ユーザ認証の統合管理

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
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20101101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, UNITED STATES TO: 201203 7/F, BUILDING 10, ZHANGJIANG INNOVATION PARK, NO.399, KEYUAN ROAD, ZHANGJIANG HIGH-TECH PARK, PUDONG NEW DISTRICT, SHANGHAI, CHINA

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 201203 Chinese Shanghai Pudong New Area Zhang Jiang high tech Park Keyuan Road No. 399 Zhang Jiang Innovation Park Building No. 10 7 floor

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090923

Termination date: 20170213

CF01 Termination of patent right due to non-payment of annual fee