CN1882933A - 客户端-服务器系统中的动态超时 - Google Patents
客户端-服务器系统中的动态超时 Download PDFInfo
- Publication number
- CN1882933A CN1882933A CN200480033530.0A CN200480033530A CN1882933A CN 1882933 A CN1882933 A CN 1882933A CN 200480033530 A CN200480033530 A CN 200480033530A CN 1882933 A CN1882933 A CN 1882933A
- Authority
- CN
- China
- Prior art keywords
- request
- message
- server
- response
- interim
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了用于动态超时的技术,包括以下步骤:接收来自请求者的请求(图3中要素350);并且如果应当发送临时消息到请求者,则向请求者发送涉及请求的临时消息(图3中要素350)。还提供了用于动态超时的技术(图3中要素360),包括以下步骤:发送请求到服务器;接收来自服务器的临时消息,其中临时消息(图3中要素350)包含一个或多个相关项;并且基于临时消息中一个或多个与响应相关的项来确定是否改变超时值(图3中要素370)。
Description
技术领域
本发明涉及网络中的客户端-服务器系统。具体而言,本发明涉及客户端-服务器系统中的动态超时。
背景技术
在客户端-服务器计算机系统中,客户端依赖于服务器来提供所需的服务。在这样的系统中,服务器响应时间可能由于服务器处的工作负载而不同。在某些情况下,服务器对特定请求的响应速度不是固定的或确定的,而是由对请求作出响应所需的处理、对请求作出响应需要执行的通信和服务器上请求的积压或队列来规定。例如,认证、授权和计费(AAA)服务器可能需要请求来自轻量目录访问协议(LDAP)服务器的用户信息,以处理远程认证拨号用户服务(RADIUS)访问请求。
在服务器满足请求所需的时间可变以及服务器也可能崩溃或不能对来自客户端的请求作出响应的情况下,许多客户端实现有超时机制。“超时机制”允许在服务器不会发送及时响应的情况下,客户端在重发请求、发送请求到另一个服务器、或者采取任何其他适当的动作之前等待适量的时间。
一种用于实现超时机制的方法,固定超时方法,是在客户端上使用固定超时。在固定超时方法中,客户端发送请求,并且如果对请求的响应未在预定时间段内到达,则客户端“超时”。在超时后,客户端或者会重发请求到相同服务器,或者会发送请求到另一个服务器(“故障转移(failover)”到另一个服务器)。
在固定超时方法中,给定特定请求,客户端会针对来自服务器的响应等待时间T,并且会重试请求R次,对每一次重试同样等待时间T。在或者因为服务器down机(发生故障)或者因为请求处理花费时间太长而使得服务器不能在时间T内对请求作出响应的情况下,客户端等待R*T的总时间,而没有收到对请求的响应,然后故障转移到另一个服务器。在某些方法中,时间T随着请求被重发的次数而变化。例如,在动态主机配置协议(DHCP)中,超时值按对数关系随着执行的重试次数而增大。
该超时方法的一个问题是客户端浪费了R*T的故障转移总时间。该超时方法的另一个问题是对于特定客户端故障转移时间是恒定的或预定义的。例如,考虑发送请求到服务器S的客户端C。客户端具有配置的T秒的固定超时。在服务器花费了T+1秒对请求作出响应的情况下,客户端会在T秒后超时,并且重发消息到服务器S。这浪费了客户端上的时间,因为其会在故障转移到另一个服务器之前重试请求R次,从而花费了R*T秒的总时间。这还会在服务器上浪费R*(T+1)秒的时间,因为服务器接收R次请求,并且对每个请求花费T+1秒。理想情况下,客户端只需发送一次请求,并且等待在T+1秒后到达的响应。这样,服务器只用处理一个请求。
因此,很显然需要一种能够使客户端针对对发送到服务器的请求的响应等待适量的时间的系统。
这一部分中描述的方法是可实现的方法,但是并不一定是先前已构想或已实现的方法。因此,除非特别指明,否则不应当假设仅因为并入这一部分就可将这一部分中描述的方法中的任何一部分当作现有技术。
附图说明
在附图中以示例方式而非限制方式图示了本发明,附图中相似的标号指代类似的元件,在附图中:
图1图示了网络系统的示例性体系结构组件和布局的框图。
图2图示了用于确定何时发送临时消息的示例性方法的流程图。
图3图示了用于确定对临时消息的适当反应的示例性方法的流程图。
图4图示了执行前述步骤的AAA服务器的示例性体系结构元件的框图。
图5是图示了可以实现本发明实施例的计算机系统的框图。
具体实施方式
本发明描述了一种用于客户端-服务器系统中的动态超时的方法和装置。在下面的描述中,出于说明目的,给出了大量具体细节以提供对本发明的完全理解。然而,本领域普通技术人员应当清楚,没有这些具体细节也可以实施本发明。在其他情况下,公知的结构和设备以框图形式示出,以避免不必要地混淆本发明。
概述
在本发明中实现了前述背景技术中给出的需要以及其他需要和目的,这些将从下面的描述中变清楚,本发明在一个方面包括用于动态超时的技术,包括以下由机器实现的步骤:在服务器或通信地耦合到其的进程处接收来自请求者的请求;确定是否应当发送临时消息到请求者;以及如果应当发送临时消息到请求者,则向请求者发送涉及请求的临时消息,其中临时消息包含一个或多个与响应相关的项。
在相关特征中,一个或多个与响应相关的项包括以下各项中的一个或多个:与发送对请求的响应相关的时间估计;与发送关于请求的后续临时消息相关的时间估计;关于请求已被服务器或通信地耦合到其的进程接收到的指示,描述请求格式是否适当的指示;关于服务器所处状态的指示;在处理请求包括多个步骤的情况下关于多个步骤中的哪些步骤已被执行的指示;以及在处理请求包括发送第二请求到外部资源服务器的情况下关于第二请求的状态的指示。
在相关特征中,这些步骤由AAA服务器执行,并且请求者是AAA客户端;请求是RADIUS访问请求消息;临时消息是RADIUS访问质询(Challenge)消息,该消息在RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。在另一个相关特征中,这里所描述的步骤由AAA服务器执行,并且请求者是EAP恳求者(supplicant),请求是EAP请求,临时消息是包含一个或多个与响应相关的项的EAP通知消息。
在相关特征中,确定是否应当发送临时消息到请求者的步骤包括确定以下各项中的一个或多个是否已经发生:请求已被接收到;请求已被成功解析;服务器已开始处理请求;服务器的CPU使用满足某些标准;服务器的存储器使用满足某些标准;以及等待服务器的响应的消息队列满足某些标准。在相关特征中,确定是否应当发送临时消息到请求者的步骤包括确定第二请求是否已被发送到外部资源服务器。在相关特征中,确定是否应当发送临时消息到请求者的步骤包括确定在服务器处是否已接收到来自外部资源服务器的对第二请求的第二响应。
在另一方面,提供了用于动态超时的技术,包括以下由机器实现的步骤:发送请求到服务器;接收来自服务器的临时消息,其中临时消息包含一个或多个与响应相关的项;以及基于临时消息中一个或多个与响应相关的项来确定是否改变超时值。
在相关特征中,一个或多个与响应相关的项包括以下各项中的一个或多个:与发送对请求的响应相关的时间估计;与发送关于请求的后续临时消息相关的时间估计;关于请求已被服务器或通信地耦合到其的进程接收到的指示,描述请求格式是否适当的指示;关于服务器所处的状态的指示;在处理请求包括多个步骤的情况下关于多个步骤中的哪些步骤已被执行的指示;以及在处理请求包括发送第二请求到外部资源服务器的情况下关于第二请求的状态的指示。
在相关特征中,这些步骤由AAA客户端执行,并且服务器是AAA服务器,请求是RADIUS访问请求消息,临时消息是RADIUS访问质询消息,该消息在RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。在相关特征中,这些步骤由EAP恳求者执行,并且服务器是AAA服务器,请求是EAP请求,临时消息是包含一个或多个与响应相关的项的EAP通知消息。
在另一方面,提供了一种承载用于动态超时的一个或多个指令序列的机器可读介质,该指令当被一个或多个处理器执行时,使得一个或多个处理器执行这里所描述的步骤。
在另一方面,提供了一种用于动态超时的装置,该装置包括用于执行这里所描述的步骤的装置。
在另一方面,提供了一种用于动态超时的装置,该装置包括耦合到数据网络用于从其接收一个或多个分组流的网络接口;处理器;一个或多个存储的指令序列,该指令当被处理器执行时,使得处理器执行这里所描述的步骤。
结构概述
图1图示了网络系统的示例性体系结构组件和布局的框图。
一个或多个恳求者101A、101B、101C通信地耦合到网络设备105A、105B。在一个实施例中,恳求者101A、101B、101C与网络设备105A、105B的通信是经由网络155进行的。在各种实施例中,网络155是无线网络、拨号接入网、因特网、局域网(LAN)、或者任何其他通信网络。在各种实施例中,网络设备105A、105B是无线接入点、虚拟私有网络设备、网络接入服务器、交换机、路由器、或者任何其他适当的设备。
网络设备105A、105B通信地耦合到网络150。在各种实施例中,网络150是无线网络、拨号接入网、因特网、或者任何其他适当的通信网络。网络设备105A还通信地耦合到日志135。在各种实施例中,日志是数据库、扁平文件(flat file)、或者任何其他适当的存储介质。
一个或多个服务器110A、110B、110C通信地耦合到网络150和相应日志136A、136B、136C。在各种实施例中,服务器是AAA服务器、应用服务器、数据库服务器、或任何其他适当的服务器。根据这里描述的技术的一个实施例,服务器110A、110B、110C是AAA服务器,网络设备105A、105B是AAA客户端。在另一个实施例中,服务器110A、110B、110C是AAA服务器,恳求者101A、101B、101C是EAP恳求者。
一个或多个外部资源服务器140通信地耦合到网络150。这一个或多个资源服务器140可以是身份信息服务器、目录服务器、或者任何其他适当的资源服务器。
考虑图1的功能系统的示例。网络设备105A充当恳求者101A的访问调节者,控制恳求者101A可以到达系统100的剩余部分中的哪些部分。网络设备105A经由日志135来考虑到经过其的所有行为。当恳求者101A请求来自系统100中的服务器110A的服务时,网络设备105A与服务器110A通信,以经由网络150转发来自恳求者101A的请求。在服务器110A处的所有行为都在日志136A中被考虑到。
功能概述
下面的功能描述不需要特定硬件、操作系统、软件系统或者其他细节来实现。另外,给出的流程图是可能的算法流程的示例,并不是要以任何方式限制本发明的范围。本发明的实施例可以以多种方式利用不同的算法流程实施在不同的硬件和软件环境中。
临时消息
在客户端发送请求到服务器并且等待来自服务器的响应的场景中,临时消息是这样的消息,其提供了来自服务器的关于服务器在可以发送对请求的实质响应之前对请求进行的处理的信息。在各种实施例中,临时消息是基于已经对请求执行的处理来构造的,或者是基于要对请求执行的处理来构造的。例如,临时消息可以包含表明已经进行对请求进行了50%的处理或者要执行特定操作的信息。
在各种实施例中,临时消息由AAA服务器传输,并且遵从RADIUS、终端访问控制器访问控制系统(TACACS+)、Diameter、可扩展认证协议(EAP)、Kerberos、超文本传送协议(HTTP)、块可扩展交换协议(BEEP)或者任何其他适当的协议。在各种实施例中,临时消息包含与消息的有效性相关的信息、指示服务器何时希望发送实质响应的时间估计以及与发送后续临时消息相关的时间估计。在相关实施例中,所包含的信息被包含在RADIUS访问质询消息内的厂商特定属性(VSA)或EAP通知中。在一个实施例中,临时消息中的信息被用任何适当的格式(包括关键字-值对)编码。
确定何时发送临时消息
图2图示了用于确定何时发送临时消息的示例性方法的流程图。
在步骤210中,接收到请求。在各种实施例中,请求被服务器或任何通信地耦合到其的进程接收。在各种实施例中,请求是经由网络、FTP、HTTP、HTTPS、TCP/IP套接字或者其他适当的数据传输机制接收的。在各种实施例中,请求遵从RADIUS、TACACS+、Diameter、EAP、Kerberos、HTTP、BEEP或任何其他适当的协议。在各种实施例中,请求是RADIUS授权请求消息、EAP请求、或者任何其他适当的请求。在各种实施例中,请求被客户端或恳求者接收。
例如,在图1的上下文中,服务器110A是AAA服务器,网络设备105A是AAA客户端,服务器110A经由网络150接收来自网络设备105A的RADIUS访问请求。
在步骤220中,请求被处理。在各种实施例中,请求被服务器或任何通信地耦合到其的进程处理。在各种实施例中,处理请求包括基于请求内容执行操作或者基于请求内容将消息发送到其他服务器或服务,这又使得这些服务器或服务基于请求执行操作。例如,在图1的上下文中,服务器110A在处理来自网络设备105A的请求时,发送消息到外部资源服务器140以获得帮助处理请求的信息。
在步骤230中,确定请求的处理是否完成。在各种实施例中,确定请求的处理是否完成的操作是由服务器或通信地耦合到其的进程执行的。如果处理完成,则在步骤240中发送实质响应。在一个实施例中,响应是基于对由客户端或恳求者发送的请求执行的处理来构造的。在各种实施例中,响应是经由网络、FTP、HTTP、HTTPS、TCP/IP套接字或者其他适当的数据传输机制发送的。在各种实施例中,响应遵从RADIUS、TACACS+、Diameter、EAP、Kerberos、HTTP、BEEP或任何其他适当的协议。在各种实施例中,响应被发送到发送请求的客户端或恳求者。
在图1的上下文中,服务器110A监视其自身在处理请求中的进度。如果请求的处理完成,则AAA服务器110A向网络设备105A发送RADIUS访问响应。
如果处理未完成,则在步骤250中,确定临时消息是否应当被发送。在各种实施例中,确定临时消息是否应当被发送的操作是由服务器或通信地耦合到其的进程执行的。在一个实施例中,确定临时消息是否应当被发送的操作包括在接受者确定该请求已超时之后估计响应是否会到达接受者。在各种相关实施例中,确定临时消息是否应当被发送的操作包括执行计算以估计在对请求的响应准备好之前会经过的时间量,或者执行计算以估计客户端或恳求者在超时之前会等待多久。在相关实施例中,确定临时消息是否应当被发送的操作包括将所估计的响应被发送之前的时间量与客户端或恳求者会等待的估计时间量、预定阈值等相比较。
在一个实施例中,确定临时消息是否应当被发送的操作包括确定服务器是否处于发送临时消息的特定状态。在相关实施例中,发送临时消息的特定状态包括消息接收、消息的成功解析、消息的初始处理、发送请求到外部资源服务器、接收来自外部资源服务器的答复、服务器上的CPU或存储器使用满足某些标准、等待服务器响应的消息队列满足某些标准、或者任何其他适当的状态。在相关实施例中,服务器将其已接收的请求保存在队列中,或者服务器利用操作系统呼叫来监视其CPU和存储器使用情况。
在图1的上下文中,服务器110A监视其自身在处理请求中的进度。如果请求的处理未完成,则AAA服务器110A通过比较响应会花费的估计时间量和所估计的使客户端等待多长时间适当(这是通过考虑例如客户端上的超时估计来实现的)来确定是否发送临时消息。
如果在步骤250中确定临时消息不应当被发送,则请求被处理(步骤220)。在一个实施例中,请求在步骤230、240、250和260被执行的同时被连续处理。在相关实施例中,一个进程执行步骤230、240、250和260,另一个进程执行步骤220。
如果在步骤250中确定临时消息应当被发送,则在步骤260中临时消息被发送到客户端。临时消息在上文中标题为“临时消息”的部分中有详细描述。在各种实施例中,临时消息是由服务器或通信地耦合到其的进程发送的。在各种实施例中,临时消息是经由网络、FTP、HTTP、HTTPS、TCP/IP套接字或者其他适当的数据传输机制发送的。在一个实施例中,响应被发送到发送请求的客户端或恳求者。
在图1的上下文中,如果服务器110A确定其不需要发送临时消息到网络设备105A,则其不发送临时消息并继续处理请求。
另一方面,如果服务器110A确定其应当发送临时消息,则AAA服务器110A将包含临时消息的RADIUS访问质询发送到网络设备105A。
图2的各种实施例克服了客户端使用超时机制的需要,并且允许服务器或通信地耦合到其的进程向客户端或通信地耦合到其的进程指示传输这样的信息,客户端可以使用该信息来改变其对对请求的响应何时会到达的预期。这些指示使客户端能够对关于何时确定特定请求超时进行基于可靠信息的判决。而且,各种实施例通过减少由请求者进行的请求重发的数目,减少了与超时、故障转移和重连接相关联的网络流量。
尽管图2图示了某一事件流程,但是本发明并不限于这些步骤或这一流程。可以执行额外的步骤,可以省去某些步骤,并且可以并行地或者以不同的顺序执行这些步骤。
对临时消息的反应
图3图示了用于确定对临时消息的适当反应的示例性方法的流程图。
首先,在步骤310中发送请求。在各种实施例中,客户端或通信地耦合到其的进程发送请求到服务器或通信地耦合到其的进程。在各种实施例中,请求是经由网络、FTP、HTTP、HTTPS、TCP/IP套接字或者其他适当的数据传输机制发送的。在各种实施例中,请求是以RADIUS、TACACS+、Diameter、EAP、Kerberos、HTTP、BEEP或任何其他适当的协议发送的。
一旦发送了请求(步骤310),就等待对该请求的响应(步骤320)。在各种实施例中,客户端或通信地耦合到其的进程等待响应。在各种实施例中,响应是通过监听FTP、HTTP、HTTPS、或TCP/IP连接或任何其他适当的端口或数据传输机制接口来等待的。
在图1的上下文中,例如,服务器110A是AAA服务器110A,网络设备105A是AAA客户端,这种情况下网络设备105A发送RADIUS访问请求到AAA服务器110A,并等待对请求的响应。
如果接收到响应,则在步骤330中,按照响应动作(步骤340)。在各种实施例中,客户端或通信地耦合到其的进程按照响应动作。基于响应执行的动作对于这里所描述的技术是无关紧要的。然而,在各种实施例中,这些动作包括认证用户、不认证用户、或者任何其他适当的动作。
如果在步骤330中未接收到响应,则进行检查以确定是否已接收到临时消息。在各种实施例中,客户端或通信地耦合到其的进程确定是否已接收到临时消息。在一个实施例中,确定是否已接收到临时消息的操作包括解析传入消息并确定该消息是否有对应于请求的ID。临时消息的细节如上所述。
如果在步骤350中接收到临时消息,则确定是否应当改变请求的超时值。在各种实施例中,请求的超时值被存储在客户端或通信地耦合到其的进程可访问的存储器中。在一个实施例中,基于存储在临时消息中的信息来确定是否改变超时值。
如果确定应当改变超时值,则在步骤370中改变超时值。在各种实施例中,客户端或通信地耦合到其的进程改变其内部维护的超时值。在各种实施例中,超时值是基于临时消息中的信息改变的。在各种相关实施例中,超时值被改变以允许有足够的时间来接收与请求相关的后续临时消息或对请求的响应。改变可以由服务器提供的建议值指示。在一个实施例中,临时消息包含描述消息状态的人类可读文本。在相关实施例中,人类可读文本被显示给通信地耦合到客户端的人类操作者,以通知人类操作者对请求的响应的状态。
在图1的上下文中,如果网络设备105A接收到RADIUS访问质询形式的临时消息,则其解析包含临时消息的VSA。然后,网络设备105A基于临时消息确定请求的超时值应当被设为30秒,这是因为AAA服务器110A已在临时消息中指明AAA服务器110A会在小于30秒内完成请求的处理。
如果未接收到临时消息,则无论超时值是否改变,都进行检查以确定超时是否必要(步骤380)。在一个实施例中,确定超时是否必要的操作包括比较从请求被发送开始已经经过的时间量与存储在客户端或通信地耦合到其的进程上的超时值。如果超时是必要的,则客户端或通信地耦合到其的进程在步骤390中确定该消息超时。在各种实施例中,这可以包括故障转移到新的服务器,并且发送请求到新的服务器,将请求重发到相同服务器,或者不执行动作并停止等待对请求的响应。
在图1的上下文中,如果网络设备105A在其超时值规定的时间内未接收到临时消息或对其请求的响应,则其确定超时,并将请求重发到AAA服务器110A。
如果超时是不必要的,则等待对请求的响应(步骤320)。在一个实施例中,持续等待对请求的响应。在各种相关实施例中,一个进程等待对请求的响应,一个或多个其他进程执行步骤330、340、250、360、370、380和390。
图3的各种实施例使客户端能够对与请求相关的临时消息作出反应。基于临时消息,客户端可以确定改变对请求的响应(或者对应于请求的另一个临时消息)的超时值是否适当,或者是否要故障转移到替换服务器。
尽管图3图示了某一事件流程,但是本发明并不限于这些步骤或这一流程。可以执行额外的步骤,可以省去某些步骤,并且可以并行地或者以不同的顺序执行这些步骤。
利用EAP协议进行的动态超时的示例性实施例
下面是根据本发明一个实施例的示例性实施例,该实施例用于AAA服务器110A以及AAA客户端(网络设备)105A、105B、105C和EAP恳求者101A、101B、101C。该示例是结合图1、2、3描述的,并且提供用于示例性目的,而不应被认为以任何方式限制权利要求。
在该示例中,EAP协议被用于AAA服务器110A和EAP恳求者101A之间的通信。网络设备105A是利用RADIUS协议与AAA服务器通信的AAA客户端。在各种实施例中,网络设备105A利用802.11b、802.11g或任何其他适当的协议与EAP恳求者101A通信。作为网络设备105A与AAA服务器110A和EAP恳求者101A中的每一个之间的通信的一部分,网络设备105A在AAA服务器110A和EAP恳求者101A之间转发EAP消息,但是并不处理EAP消息的内容。在各种实施例中,AAA服务器110A和EAP恳求者101A之间传输的EAP消息被在AAA服务器110A和网络设备105A之间发送,作为RADIUS或任何其他适当的协议的消息中的内容。在各种实施例中,AAA服务器110A和EAP恳求者101A之间传输的EAP消息被在网络设备105A和EAP恳求者101A之间发送,作为802.11b、802.11g或任何其他适当协议的消息中的内容。实际效果是EAP请求和响应在EAP恳求者101A和AAA服务器110A之间传输。在EAP恳求者101A和AAA服务器110A之间发送消息的过程在下文中详细描述为“发送”,并且应当被解释为包括用于执行通信的任何适当的方法,包括将EAP消息发送作为包括RADIUS、802.11b和802.11g在内的任何适当的协议的消息中的内容。
在步骤305中,AAA服务器110A将EAP身份请求发送到EAP恳求者101A。EAP恳求者101A在步骤310中作出响应,并且在步骤320中等待来自服务器的EAP成功消息。在各种实施例中,在EAP恳求者101A等待EAP成功消息之前,在EAP恳求者101A和AAA服务器110A之间发送其他EAP请求和响应消息。如上所述,EAP恳求者101A和AAA服务器110A之间的通信是经由网络设备105A执行的。
如上所述,AAA服务器接收消息(步骤210),并在发送EAP成功消息之前执行必要的处理(步骤220)。然后,AAA服务器110A确定处理是否已发生从而允许发送EAP成功消息(230)。如果可以发送EAP成功消息,则EAP成功消息被经由网络设备105A发送到EAP恳求者101A(步骤240)。如果EAP成功消息所需的处理未完成,则AAA服务器110A确定其是否应当发送临时消息(步骤250)。如上所述,确定AAA服务器110A是否应当向EAP恳求者101A发送临时消息可以是基于多个因素的,包括关于对在AAA服务器110A有时间向EAP恳求者101A发送EAP成功消息之前,EAP恳求者101A是否会超时的预测。
如果AAA服务器确定其不需要发送临时消息,则没有临时消息被发送到EAP恳求者,并且AAA服务器继续处理(步骤220)。如果AAA服务器确定其需要发送临时消息,则临时消息被发送到EAP恳求者(步骤260),并且服务器继续执行在其可以发送EAP成功消息之前必要的处理(步骤220)。
临时消息可以利用任何适当的通信机制以任何适当的格式来发送。一个示例是将临时消息格式化为一组关键字-值对,并将其嵌入到EAP通知消息中。在一个实施例中,EAP通知消息被利用RADIUS访问质询消息经由网络设备105A发送到EAP恳求者101A。RADIUS访问质询消息是适当的,这是因为其不会终止网络设备105A和AAA服务器110A之间的会话。
如果EAP恳求者接收到来自AAA服务器的EAP成功消息(步骤330),则EAP恳求者按照EAP成功消息动作(步骤340)。实际上EAP恳求者是如何对EAP成功消息作出反应的对于这里描述的技术来说是无关紧要的。
如果EAP恳求者接收到来自AAA服务器的临时消息(步骤350),则EAP恳求者确定其是否需要改变与接收EAP成功消息相关联的超时值(步骤340)。在各种实施例中,临时消息包含关于AAA服务器110A的状态、下一临时消息之前的时间、发送EAP成功消息之前的时间的信息,或者这里描述的任何其他适当的信息。基于临时消息中的信息,EAP恳求者例如可以将与EAP成功消息相关联的超时值重设为足够长的时间,以等待下一临时消息或EAP成功(步骤370)。
无论是否改变超时值,EAP恳求者都会进行检查以查看EAP成功消息是否超时(步骤380)。如果EAP成功消息已超时,则EAP恳求者会执行适当的动作以确定EAP成功消息超时(步骤390)。为确定消息超时而执行的动作对于这里描述的技术并不重要,但是例如可以包括重新启动与AAA服务器110A的EAP会话或者使故障转移到不同的AAA服务器110B。
如果EAP请求还未超时,则EAP恳求者继续等待EAP成功消息(步骤320)。
功能体系结构
图4图示了执行前述步骤的AAA服务器的示例性体系结构元件的框图。
在各种实施例中,服务器具有多种服务。管理服务410提供用于服务器内的多个同时会话的AAA管理的内建web服务器。授权服务420认证用户,给予或拒绝服务特权,管理AAA数据库,并处理外部数据库认证转发。数据库同步服务430管理到其他AAA服务器的数据库同步和复制。日志服务440监视和记录用户和管理员活动以及与备份和恢复、数据库复制、同步、TACACS+和RADIUS通信、VOIP活动和任何其他需要的服务计费相关的活动。TACACS+服务450和RADIUS服务460处理在设备和服务之间传递的消息的通信和解析。监视服务470监视AAA服务的状态和服务器资源,记录所有严重的错误并报告到日志,向管理员发送注明任何潜在问题的电子邮件告警,自动检测并重启AAA服务,并详审用户的登录频率。
图2的步骤可以实现在临时消息信号器480中。在各种实施例中,前述步骤由服务410、420、430、440、450、460、470中的一个或多个执行;完全由服务480执行;或者由服务480与服务410、420、430、440、450、460、470中的一个或多个服务的组合来执行。例如,在图1的上下文中,服务器110A是AAA服务器,这种情况下,作为AAA服务器110A的一部分,监视设备470提供关于从网络设备105A到临时消息信号器480的请求的状态的信息,并且如果有必要发送临时消息,则临时消息信号器480构造临时消息,该临时消息由RADIUS服务460在RADIUS访问质询VSA中发送到网络设备105A,以通知网络设备105A对请求的响应的状态。
图4中所列举的服务并没有假设任何特定的硬件配置。服务可以运行作为单线程或进程的一部分,可以是同一物理计算机上的分离线程或进程,或者可以运行在多个计算机上。
硬件概述
图5是图示了可以实现本发明实施例的计算机系统的框图。计算机系统500包括总线502或用于传输信息的其他通信机构和耦合到总线502用于处理信息的处理器504。计算机系统500还包括主存储器506,如随机存取存储器(RAM)或其他动态存储设备,其耦合到总线502,用于存储信息和处理器504执行的指令。主存储器506还可用于存储在处理器504要执行指令的执行期间的临时变量或其他中间信息。计算机系统500还包括只读存储器(ROM)508或其他静态存储设备,其耦合到总线502,用于存储静态信息和处理器504的指令。提供了诸如磁盘或光盘之类的存储设备510,其耦合到总线502,用于存储信息和指令。
计算机系统500可以经由总线502耦合到显示器512,显示器512例如是阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字键和其他键的输入设备514耦合到总线502,用于将信息和命令选择传输到处理器504。另一类用户输入设备是光标控制516,如鼠标、跟踪球、或光标方向键,其用于将方向信息和命令选择传输到处理器504,并控制显示器512上的光标移动。该输入设备一般具有两轴(第一轴(例如x)和第二轴(例如y))上的两个自由度,其允许设备指定平面中的位置。
本发明涉及使用计算机系统500来实现这里描述的技术。根据本发明的一个实施例,这些技术是响应于处理器504执行包含在主存储器506中的一条或多条指令的一个或多个序列而由计算机系统500执行的。这些指令可以从另一个机器可读介质(如存储设备510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使得处理器504执行这里描述的过程步骤。在替换实施例中,硬连线电路可用来替代软件指令或与软件指令相组合以实现本发明。从而,本发明的实施例并不限于硬件电路和软件的任何特定组合。
这里所用的术语“机器可读介质”指参与提供使得机器以特定方式工作的数据的任何介质。在利用计算机系统500实现的实施例中,例如在向处理器504提供指令以供执行时,涉及各种机器可读介质。这种介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,如存储设备510。易失性介质包括动态存储器,如主存储器506。传输介质包括同轴电缆、铜线和光纤,包括包含总线502的线路。传输介质还可以采用声波或光波的形式,如在无线电波和红外数据通信期间生成的声波或光波。
机器可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带、或任何其他磁介质、CD-ROM、任何其他光介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、和EPROM、FLASH-EPROM、任何其他存储器芯片或存储器盒、这里所描述的载波、或者计算机可以读取的任何其他介质。
机器可读介质的各种形式可用来承载供处理器504执行的一条或多条指令的一个或多个序列。例如,指令可以最初承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。位于计算机系统500本地的调制解调器可以接收电话线上的数据,并使用红外发送器将数据转换为红外信号。红外检测器可以接收红外信号中承载的数据,并且适当的电路可以将数据放到总线502上。总线502将数据携带到主存储器506,处理器504从主存储器506取得数据并执行指令。主存储器506接收的指令可以可选地在处理器504执行之前或之后存储在存储设备510上。
计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供了到连接到本地网络522的网络链路520的双向数据通信耦合。例如,通信接口518可以是集成业务数字网络(ISDN)卡或调制解调器,以提供到相应类型的电话线的数据通信连接。作为另一个示例,通信接口518可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这样的实现方式中,通信接口518发送和接收电的、电磁的或光信号,这些信号承载了代表各类信息的数字数据流。
网络链路520一般经由一个或多个网络提供到其他数据服务的数据通信。例如,网络链路520可以经由本地网络522提供到主机计算机524的连接,或者提供到由因特网服务供应商(ISP)526操作的数据设备的连接。ISP 526又经由环球分组数据通信网络(现在通常称为“因特网”528)提供数据通信服务。本地网络522和因特网528都使用电的、电磁的或光信号,这些信号承载数字数据流。经过各种网络的信号和网络链路520上并且经过通信接口518的信号(其承载去往和来自计算机系统500的数字数据)是传输信息的载波的示例性形式。
计算机系统500可以经由网络、网络链路520和通信接口518发送消息和接收包括程序代码在内的数据。在因特网示例中,服务器530可以经由因特网528、ISP 526、本地网络522和通信接口518发送对应用程序的请求代码。
接收代码可由处理器504在接收时执行,和/或存储在存储设备510或其他非易失性存储介质中以供随后执行。以这种方式,计算机系统500可以获得载波形式的应用代码。
扩展和替换
在前述说明书中,已参考大量的具体细节描述了本发明的实施例,这些细节可依据实现方式而有所不同。从而,关于本发明的限定以及申请人希望对本发明的限定的唯一且排他的指标是本申请提出权利要求时的特定形式的权利要求集合,其中包括任何后续的改动。在这里对于包含在这些权利要求中的术语明确给出的任何定义都应当决定这种术语用在权利要求中时的含义。因而,未在权利要求中明确阐述的任何限制、要素、属性、特征、优点都不应当以任何方式限制这种权利要求的范围。因此,说明书和附图是示例性的,而非限制性的。
权利要求书
(按照条约第19条的修改)
1.一种用于动态超时的方法,包括以下由机器实现的步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定对所述请求的处理是否未完成;以及
如果对所述请求的处理未完成,则基于所述请求者使用的超时值确定是否应当发送临时消息,并且响应于其向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
2.如权利要求1所述的方法,其中所述一个或多个与响应相关的项包括以下各项中的一个或多个:
与发送对所述请求的响应相关的时间估计;
与发送关于所述请求的后续临时消息相关的时间估计;
关于所述请求已被所述服务器或通信地耦合到其的进程接收到的指示,以及描述所述请求格式是否适当的指示;
关于所述服务器所处的状态的指示;
在处理所述请求包括多个步骤的情况下关于所述多个步骤中的哪些步骤已被执行的指示;以及
在处理所述请求包括发送第二请求到外部资源服务器的情况下关于所述第二请求的状态的指示。
3.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定以下各项中的一个或多个是否已经发生:
所述请求已被接收到;
所述请求已被成功解析;
所述服务器已开始处理所述请求;
所述服务器的CPU使用满足某些标准;
所述服务器的存储器使用满足某些标准;以及
等待所述服务器的响应的消息队列满足某些标准。
4.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定第二请求是否已被发送到外部资源服务器。
5.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定在所述服务器处是否已接收到来自外部资源服务器的对第二请求的第二响应。
6.一种用于动态超时的方法,包括以下由机器实现的步骤:
发送请求到服务器;
在接收对所述请求的响应之前接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值;
基于所述临时消息中一个或多个与响应相关的项来改变超时值以防止在接收到所述服务器响应之前超时。
7.如权利要求6所述的方法,其中所述一个或多个与响应相关的项包括以下各项中的一个或多个:
与发送对所述请求的响应相关的时间估计;
与发送关于所述请求的后续临时消息相关的时间估计;
关于所述请求已被所述服务器或通信地耦合到其的进程接收到的指示,以及描述所述请求格式是否适当的指示;
关于所述服务器所处的状态的指示;
在处理所述请求包括多个步骤的情况下关于所述多个步骤中的哪些步骤已被执行的指示;以及
在处理所述请求包括发送第二请求到外部资源服务器的情况下关于所述第二请求的状态的指示。
8.一种承载用于动态超时的一个或多个指令序列的机器可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定对所述请求的处理是否未完成;以及
如果对所述请求的处理未完成,则基于所述请求者使用的超时值确定是否应当发送临时消息,并且响应于其向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
9.如权利要求8所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
10.如权利要求8所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
11.一种承载用于动态超时的一个或多个指令序列的机器可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
发送请求到服务器;
在接收对所述请求的响应之前接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值;
基于所述临时消息中一个或多个与响应相关的项来改变超时值以防止在接收到所述服务器响应之前超时。
12.如权利要求11所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA客户端,开且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
13.如权利要求11所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当EAP恳求者,并且所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
14.一种用于动态超时的装置,包括:
耦合到数据网络用于从其接收一个或多个分组流的网络接口;
处理器;
一个或多个存储的指令序列,所述指令当被所述处理器执行时,使得所述处理器执行以下步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定对所述请求的处理是否未完成;以及
如果对所述请求的处理未完成,则基于所述请求者使用的超时值确定是否应当发送临时消息,并且响应于其向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
15.如权利要求14所述的装置,其中所述装置是AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
16.如权利要求14所述的装置,其中所述装置是AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
17.一种用于动态超时的装置,包括:
耦合到数据网络用于从其接收一个或多个分组流的网络接口;
处理器;
一个或多个存储的指令序列,所述指令当被所述处理器执行时,使得所述处理器执行以下步骤:
发送请求到服务器;
在接收对所述请求的响应之前接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值;
基于所述临时消息中一个或多个与响应相关的项来改变超时值以防止在接收到所述服务器响应之前超时。
18.如权利要求17所述的装置,其中所述装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
19.如权利要求17所述的装置,其中所述装置是EAP恳求者,并且其中所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
20.一种用于动态超时的装置,包括:
用于在服务器或通信地耦合到其的进程处接收来自请求者的请求的装置;
用于确定对所述请求的处理是否未完成的装置;以及
用于在对所述请求的处理未完成的情况下基于所述请求者使用的超时值确定是否应当发送临时消息,并且响应于其向所述请求者发送涉及所述请求的临时消息的装置,其中所述临时消息包含一个或多个与响应相关的项。
21.如权利要求20所述的装置,其中所述用于执行步骤的装置是AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
22.如权利要求20所述的装置,其中所述用于执行步骤的装置是AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
23.一种用于动态超时的装置,包括:
用于发送请求到服务器的装置;
用于在接收对所述请求的响应之前接收来自所述服务器的临时消息的装置,其中所述临时消息包含一个或多个与响应相关的项;
用于基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值的装置;
用于基于所述临时消息中一个或多个与响应相关的项来改变超时值以防止在接收到所述服务器响应之前超时的装置。
24.如权利要求23所述的装置,其中所述用于执行步骤的装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
25.如权利要求23所述的装置,其中所述用于执行步骤的装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
26.一种用于AAA服务器的动态超时的方法,包括以下由机器实现的步骤:
在AAA服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定对所述请求的处理是否未完成;以及
如果对所述请求的处理未完成,则基于所述请求者使用的超时值确定是否应当发送临时消息,并且响应于其向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
27.如权利要求26所述的方法,其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
28.如权利要求26所述的方法,其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
29.一种用于动态超时的方法,包括以下由机器实现的步骤:
发送请求到AAA服务器;
在接收对所述请求的响应之前接收来自所述AAA服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值;
基于所述临时消息中一个或多个与响应相关的项来改变超时值以防止在接收到所述AAA服务器响应之前超时。
30.如权利要求29所述的方法,其中所述步骤由AAA客户端执行,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
31.如权利要求29所述的方法,其中所述步骤由EAP恳求者执行,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
Claims (31)
1.一种用于动态超时的方法,包括以下由机器实现的步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定是否应当发送临时消息到所述请求者;以及
如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
2.如权利要求1所述的方法,其中所述一个或多个与响应相关的项包括以下各项中的一个或多个:
与发送对所述请求的响应相关的时间估计;
与发送关于所述请求的后续临时消息相关的时间估计;
关于所述请求已被所述服务器或通信地耦合到其的进程接收到的指示,以及描述所述请求格式是否适当的指示;
关于所述服务器所处的状态的指示;
在处理所述请求包括多个步骤的情况下关于所述多个步骤中的哪些步骤已被执行的指示;以及
在处理所述请求包括发送第二请求到外部资源服务器的情况下关于所述第二请求的状态的指示。
3.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定以下各项中的一个或多个是否已经发生:
所述请求已被接收到;
所述请求已被成功解析;
所述服务器已开始处理所述请求;
所述服务器的CPU使用满足某些标准;
所述服务器的存储器使用满足某些标准;以及
等待所述服务器的响应的消息队列满足某些标准。
4.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定第二请求是否已被发送到外部资源服务器。
5.如权利要求1所述的方法,其中所述确定是否应当发送临时消息到所述请求者的步骤包括确定在所述服务器处是否已接收到来自外部资源服务器的对第二请求的第二响应。
6.一种用于动态超时的方法,包括以下由机器实现的步骤:
发送请求到服务器;
接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;以及
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值。
7.如权利要求6所述的方法,其中所述一个或多个与响应相关的项包括以下各项中的一个或多个:
与发送对所述请求的响应相关的时间估计;
与发送关于所述请求的后续临时消息相关的时间估计;
关于所述请求已被所述服务器或通信地耦合到其的进程接收到的指示,以及描述所述请求格式是否适当的指示;
关于所述服务器所处的状态的指示;
在处理所述请求包括多个步骤的情况下关于所述多个步骤中的哪些步骤已被执行的指示;以及
在处理所述请求包括发送第二请求到外部资源服务器的情况下关于所述第二请求的状态的指示。
8.一种承载用于动态超时的一个或多个指令序列的机器可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定是否应当发送临时消息到所述请求者;以及
如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
9.如权利要求8所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
10.如权利要求8所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
11.一种承载用于动态超时的一个或多个指令序列的机器可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
发送请求到服务器;
接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;以及
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值。
12.如权利要求11所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当AAA客户端,并且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
13.如权利要求11所述的机器可读介质,其中所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器充当EAP恳求者,并且所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
14.一种用于动态超时的装置,包括:
耦合到数据网络用于从其接收一个或多个分组流的网络接口;
处理器;
一个或多个存储的指令序列,所述指令当被所述处理器执行时,使得所述处理器执行以下步骤:
在服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定是否应当发送临时消息到所述请求者;以及
如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
15.如权利要求14所述的装置,其中所述装置是AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
16.如权利要求14所述的装置,其中所述装置是AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
17.一种用于动态超时的装置,包括:
耦合到数据网络用于从其接收一个或多个分组流的网络接口;
处理器;
一个或多个存储的指令序列,所述指令当被所述处理器执行时,使得所述处理器执行以下步骤:
发送请求到服务器;
接收来自所述服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;以及
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值。
18.如权利要求17所述的装置,其中所述装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
19.如权利要求17所述的装置,其中所述装置是EAP恳求者,并且其中所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
20.一种用于动态超时的装置,包括:
用于在服务器或通信地耦合到其的进程处接收来自请求者的请求的装置;
用于确定是否应当发送临时消息到所述请求者的装置;以及
用于在应当发送所述临时消息到所述请求者的情况下向所述请求者发送涉及所述请求的临时消息的装置,其中所述临时消息包含一个或多个与响应相关的项。
21.如权利要求20所述的装置,其中所述用于执行步骤的装置是AAA服务器,并且其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
22.如权利要求20所述的装置,其中所述用于执行步骤的装置是AAA服务器,并且其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
23.一种用于动态超时的装置,包括:
用于发送请求到服务器的装置;
用于接收来自所述服务器的临时消息的装置,其中所述临时消息包含一个或多个与响应相关的项;以及
用于基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值的装置。
24.如权利要求23所述的装置,其中所述用于执行步骤的装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
25.如权利要求23所述的装置,其中所述用于执行步骤的装置是AAA客户端,并且其中所述服务器是AAA服务器,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
26.一种用于AAA服务器的动态超时的方法,包括以下由机器实现的步骤:
在AAA服务器或通信地耦合到其的进程处接收来自请求者的请求;
确定是否应当发送临时消息到所述请求者;以及
如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。
27.如权利要求26所述的方法,其中所述请求者是AAA客户端,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
28.如权利要求26所述的方法,其中所述请求者是EAP恳求者,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
29.一种用于动态超时的方法,包括以下由机器实现的步骤:
发送请求到AAA服务器;
接收来自所述AAA服务器的临时消息,其中所述临时消息包含一个或多个与响应相关的项;以及
基于所述临时消息中一个或多个与响应相关的项来确定是否改变超时值。
30.如权利要求29所述的方法,其中所述步骤由AAA客户端执行,所述请求是RADIUS访问请求消息,所述临时消息是RADIUS访问质询消息,该消息在所述RADIUS访问质询消息的厂商特定属性中包含一个或多个与响应相关的项。
31.如权利要求29所述的方法,其中所述步骤由EAP恳求者执行,所述请求是EAP请求,所述临时消息是包含一个或多个与响应相关的项的EAP通知消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110103293.2A CN102176715B (zh) | 2003-12-31 | 2004-12-21 | 用于客户端-服务器系统中的动态超时的方法和装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/749,897 US7493394B2 (en) | 2003-12-31 | 2003-12-31 | Dynamic timeout in a client-server system |
US10/749,897 | 2003-12-31 | ||
PCT/US2004/043237 WO2005065261A2 (en) | 2003-12-31 | 2004-12-21 | Dynamic timeout in a client-server system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110103293.2A Division CN102176715B (zh) | 2003-12-31 | 2004-12-21 | 用于客户端-服务器系统中的动态超时的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1882933A true CN1882933A (zh) | 2006-12-20 |
CN1882933B CN1882933B (zh) | 2011-06-15 |
Family
ID=34749311
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480033530.0A Active CN1882933B (zh) | 2003-12-31 | 2004-12-21 | 用于客户端-服务器系统中的动态超时的方法和装置 |
CN201110103293.2A Active CN102176715B (zh) | 2003-12-31 | 2004-12-21 | 用于客户端-服务器系统中的动态超时的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110103293.2A Active CN102176715B (zh) | 2003-12-31 | 2004-12-21 | 用于客户端-服务器系统中的动态超时的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7493394B2 (zh) |
EP (1) | EP1700230B1 (zh) |
CN (2) | CN1882933B (zh) |
AU (1) | AU2004311818A1 (zh) |
CA (1) | CA2546627C (zh) |
WO (1) | WO2005065261A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101932122A (zh) * | 2009-06-26 | 2010-12-29 | 鸿富锦精密工业(深圳)有限公司 | 用户终端设备、基站及其建立业务流的方法 |
CN104462447A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 访问超时的数据处理方法和装置 |
CN104935612A (zh) * | 2014-03-17 | 2015-09-23 | 深圳市金蝶友商电子商务服务有限公司 | 一种数据处理方法及服务器 |
US10284626B2 (en) | 2011-06-29 | 2019-05-07 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US10630781B2 (en) | 2011-09-09 | 2020-04-21 | Microsoft Technology Licensing, Llc | SMB2 scaleout |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7787497B1 (en) * | 2003-03-03 | 2010-08-31 | Cisco Technology, Inc. | System for grouping attributes in packets in a radius protocol |
US7673025B2 (en) * | 2004-04-29 | 2010-03-02 | Cisco Technology, Inc. | Controlling access message flow |
US8090845B2 (en) * | 2004-10-18 | 2012-01-03 | Audiocodes Texas, Inc. | Apparatus and method for firewall traversal |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US20070133511A1 (en) * | 2005-12-08 | 2007-06-14 | International Business Machines Corporation | Composite services delivery utilizing lightweight messaging |
US8615591B2 (en) * | 2006-01-11 | 2013-12-24 | Cisco Technology, Inc. | Termination of a communication session between a client and a server |
US20080109396A1 (en) * | 2006-03-21 | 2008-05-08 | Martin Kacin | IT Automation Appliance And User Portal |
KR20080060927A (ko) * | 2006-12-27 | 2008-07-02 | 삼성전자주식회사 | 서버, 클라이언트 및 그 업데이트 방법 |
DE102007009023B4 (de) | 2007-02-23 | 2011-12-22 | Siemens Ag | Vorrichtung und Verfahren zum Bereitstellen von RFID-Identifizierungsdaten für einen Authentisierungsserver |
US9635135B1 (en) | 2008-04-21 | 2017-04-25 | United Services Automobile Association (Usaa) | Systems and methods for handling replies to transaction requests |
US8150965B2 (en) * | 2008-11-07 | 2012-04-03 | At&T Intellectual Property I, L.P. | Method of generating round robin service order lists for improving service performance during server failures |
EP2320601B1 (en) * | 2009-11-05 | 2017-01-04 | Amadeus S.A.S. | Method and system for adapting a session timeout period |
US8938510B2 (en) | 2010-04-26 | 2015-01-20 | Bittan Inc. | On-demand mailbox synchronization and migration system |
US8307031B1 (en) * | 2010-04-28 | 2012-11-06 | Google Inc. | Processing data requests using multiple request timers |
US8713163B2 (en) * | 2010-09-17 | 2014-04-29 | Microsoft Corporation | Monitoring cloud-runtime operations |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
JP5924883B2 (ja) * | 2011-08-19 | 2016-05-25 | キヤノン株式会社 | 情報処理システム、情報処理方法、情報処理装置 |
US8745245B1 (en) | 2011-09-15 | 2014-06-03 | Google Inc. | System and method for offline detection |
US9317395B2 (en) * | 2011-11-14 | 2016-04-19 | Microsoft Technology Licensing, Llc | Usage reporting from a cloud-hosted, distributed system |
US9497270B2 (en) | 2012-08-30 | 2016-11-15 | Novell, Inc. | Federated timeout |
US9654436B2 (en) * | 2012-11-27 | 2017-05-16 | BitTitan Inc. | Systems and methods for migrating mailbox data from systems with limited or restricted remote access |
US9229839B2 (en) * | 2013-01-09 | 2016-01-05 | Microsoft Technology Licensing, Llc | Implementing rate controls to limit timeout-based faults |
US9223658B2 (en) * | 2013-05-13 | 2015-12-29 | Lenovo (Singapore) Pte. Ltd. | Managing errors in a raid |
FR3006838B1 (fr) * | 2013-06-06 | 2016-10-21 | Christophe Desnoyer | Procede de gestion de file d'attente de donnees |
US9549040B2 (en) | 2014-03-12 | 2017-01-17 | Instart Logic, Inc. | First cache purge optimization handling of unavailable nodes |
US9002990B1 (en) * | 2014-03-12 | 2015-04-07 | Instart Logic, Inc. | Fast cache purge in content delivery network |
GB2530533A (en) * | 2014-09-25 | 2016-03-30 | Ibm | A method of processing a message received by a message server, and a message server |
WO2016100631A1 (en) * | 2014-12-17 | 2016-06-23 | Convida Wireless, Llc | Methods for enabling delay-awareness in the constrained application protocol (coap) |
CN105868002B (zh) | 2015-01-22 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种用于在分布式计算中处理重发请求的方法与设备 |
US10116543B2 (en) | 2015-02-11 | 2018-10-30 | Red Hat, Inc. | Dynamic asynchronous communication management |
US10091629B2 (en) * | 2015-04-07 | 2018-10-02 | At&T Intellectual Property I, L.P. | Method and system for providing broadcast media services in a communication system |
US9710302B2 (en) * | 2015-11-24 | 2017-07-18 | International Business Machines Corporation | Dynamic timeout period adjustment of service requests |
JP7051396B2 (ja) * | 2017-11-30 | 2022-04-11 | キヤノン株式会社 | 通信装置、通信方法、およびプログラム |
CN110875952A (zh) * | 2018-09-04 | 2020-03-10 | 中国移动通信有限公司研究院 | 一种基于物联网的数据响应处理方法及设备、存储介质 |
US11375023B2 (en) * | 2019-12-02 | 2022-06-28 | International Business Machines Corporation | Dynamically configuring a web server timeout |
US11249798B1 (en) | 2020-09-16 | 2022-02-15 | International Business Machines Corporation | Personalized timeout control |
JP2023045641A (ja) * | 2021-09-22 | 2023-04-03 | 株式会社日立製作所 | ストレージシステム及び制御方法 |
US11729081B2 (en) | 2022-01-20 | 2023-08-15 | International Business Machines Corporation | Enhancing software application hosting in a cloud environment |
CN114430396B (zh) * | 2022-04-06 | 2022-07-05 | 中国光大银行股份有限公司 | 交易频率控制方法、装置、存储介质和电子设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719882A (en) | 1992-04-28 | 1998-02-17 | Hewlett-Packard Company | Reliable datagram packet delivery for simple network management protocol (SNMP) |
US5471564A (en) | 1992-07-10 | 1995-11-28 | Microsoft Corporation | System and method for dynamic printer timeout |
US5774479A (en) * | 1995-03-30 | 1998-06-30 | Motorola, Inc. | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
US5664091A (en) | 1995-08-31 | 1997-09-02 | Ncr Corporation | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol |
US5699511A (en) | 1995-10-10 | 1997-12-16 | International Business Machines Corporation | System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth |
US5894583A (en) | 1996-04-09 | 1999-04-13 | International Business Machines Corporation | Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems |
US6016508A (en) * | 1997-07-02 | 2000-01-18 | Microsoft Corporation | Server-determined client refresh periods for dynamic directory services |
US5907681A (en) * | 1997-10-20 | 1999-05-25 | International Business Machines Corporation | Intelligent method, apparatus and computer program product for automated refreshing of internet web pages |
US6446225B1 (en) | 1998-04-23 | 2002-09-03 | Microsoft Corporation | Server system with scalable session timeout mechanism |
US6473399B1 (en) | 1998-11-30 | 2002-10-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter |
US6363496B1 (en) | 1999-01-29 | 2002-03-26 | The United States Of America As Represented By The Secretary Of The Air Force | Apparatus and method for reducing duration of timeout periods in fault-tolerant distributed computer systems |
US6405337B1 (en) | 1999-06-21 | 2002-06-11 | Ericsson Inc. | Systems, methods and computer program products for adjusting a timeout for message retransmission based on measured round-trip communications delays |
US6526433B1 (en) | 1999-12-15 | 2003-02-25 | International Business Machines Corporation | Adaptive timeout value setting for distributed computing environment (DCE) applications |
US7085932B1 (en) * | 2001-05-25 | 2006-08-01 | Evresearch, Ltd. | Extensible and flexible electronic information tracking systems and methods |
US6950885B2 (en) | 2001-09-25 | 2005-09-27 | Intel Corporation | Mechanism for preventing unnecessary timeouts and retries for service requests in a cluster |
US7127485B2 (en) * | 2002-01-18 | 2006-10-24 | Telcordia Technologies, Inc. | Adaptive polling for asynchronous notification |
US7330894B2 (en) | 2002-04-19 | 2008-02-12 | International Business Machines Corporation | System and method for preventing timeout of a client |
US7284062B2 (en) * | 2002-12-06 | 2007-10-16 | Microsoft Corporation | Increasing the level of automation when provisioning a computer system to access a network |
US7421695B2 (en) * | 2003-11-12 | 2008-09-02 | Cisco Tech Inc | System and methodology for adaptive load balancing with behavior modification hints |
-
2003
- 2003-12-31 US US10/749,897 patent/US7493394B2/en active Active
-
2004
- 2004-12-21 CN CN200480033530.0A patent/CN1882933B/zh active Active
- 2004-12-21 WO PCT/US2004/043237 patent/WO2005065261A2/en not_active Application Discontinuation
- 2004-12-21 AU AU2004311818A patent/AU2004311818A1/en not_active Abandoned
- 2004-12-21 CA CA2546627A patent/CA2546627C/en not_active Expired - Fee Related
- 2004-12-21 EP EP20040815331 patent/EP1700230B1/en active Active
- 2004-12-21 CN CN201110103293.2A patent/CN102176715B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101932122A (zh) * | 2009-06-26 | 2010-12-29 | 鸿富锦精密工业(深圳)有限公司 | 用户终端设备、基站及其建立业务流的方法 |
US10284626B2 (en) | 2011-06-29 | 2019-05-07 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US10630781B2 (en) | 2011-09-09 | 2020-04-21 | Microsoft Technology Licensing, Llc | SMB2 scaleout |
CN104935612A (zh) * | 2014-03-17 | 2015-09-23 | 深圳市金蝶友商电子商务服务有限公司 | 一种数据处理方法及服务器 |
CN104462447A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 访问超时的数据处理方法和装置 |
CN104462447B (zh) * | 2014-12-15 | 2018-04-03 | 北京国双科技有限公司 | 访问超时的数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102176715B (zh) | 2015-07-08 |
AU2004311818A1 (en) | 2005-07-21 |
WO2005065261B1 (en) | 2006-05-26 |
EP1700230A4 (en) | 2013-05-01 |
WO2005065261A3 (en) | 2006-04-06 |
CA2546627C (en) | 2013-10-08 |
US7493394B2 (en) | 2009-02-17 |
EP1700230B1 (en) | 2015-05-06 |
CA2546627A1 (en) | 2005-07-21 |
CN102176715A (zh) | 2011-09-07 |
US20050198190A1 (en) | 2005-09-08 |
EP1700230A2 (en) | 2006-09-13 |
CN1882933B (zh) | 2011-06-15 |
WO2005065261A2 (en) | 2005-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1882933A (zh) | 客户端-服务器系统中的动态超时 | |
CN1311380C (zh) | 有助于从网络的移动设备中选择本地注册表主机的方法和系统 | |
EP3847781B1 (en) | Application of machine learning for building predictive models enabling smart fail over between different network media types | |
US20200051046A1 (en) | Smart broadcasting method and apparatus | |
CN101772141B (zh) | 用于降功率状态网络处理的方法和计算设备 | |
JP2006268855A (ja) | 適応認証用のシステムおよび方法 | |
US6920637B2 (en) | Method and apparatus for implementing alerts on a browser running on a portable handheld device | |
US11516160B1 (en) | Techniques for efficient messaging client communication by updating user subscription stores based on subscription type and commands | |
EP1978767A2 (en) | Configuration and management of wireless network devices | |
CN105557036A (zh) | 装置之间的网络接入的高效自动共享 | |
CN104303455B (zh) | 社交媒体客户端设备及其方法和介质 | |
CN1496088A (zh) | 用于专用无线网络中短信服务的服务器和方法 | |
EP3917109A1 (en) | Computer program for first terminal device performing a dpp provisioning of a communication device | |
US20160192314A1 (en) | Positioning Method and Apparatus and Computer Program Product | |
CN111049946A (zh) | 一种Portal认证方法、系统及电子设备和存储介质 | |
US20160057215A1 (en) | Methods and systems for delegating group ownership for the formation of a new group | |
JP6464931B2 (ja) | 通信装置、通信方法、通信プログラム及び通信システム | |
JP2007257525A (ja) | デバイス管理装置 | |
JP2019068204A (ja) | 通信装置と端末装置のためのコンピュータプログラム | |
CN1708946A (zh) | 用于更新群通信系统中的群成员视图的方法和装置 | |
KR100549530B1 (ko) | 컴퓨터, 액세스 포인트, 네트워크 시스템 및 그 제어방법 | |
JPWO2009087885A1 (ja) | サーバシステムとそのイベントメッセージ送信方法、クライアント端末とその接続方法とプログラム、記録媒体 | |
EP3917110A1 (en) | Computer program for first terminal device performing a dpp provisioning of a communication device | |
KR101860764B1 (ko) | 멀티미디어 메시지 전송 방법 및 이를 위한 장치 | |
JP2005216153A (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 |