客户端-服务器系统中的动态超时技术方案

技术编号:2846986 阅读:201 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了用于动态超时的技术,包括以下步骤:接收来自请求者的请求(图3中要素350);并且如果应当发送临时消息到请求者,则向请求者发送涉及请求的临时消息(图3中要素350)。还提供了用于动态超时的技术(图3中要素360),包括以下步骤:发送请求到服务器;接收来自服务器的临时消息,其中临时消息(图3中要素350)包含一个或多个相关项;并且基于临时消息中一个或多个与响应相关的项来确定是否改变超时值(图3中要素370)。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及网络中的客户端-服务器系统。具体而言,本专利技术涉及客户端-服务器系统中的动态超时
技术介绍
在客户端-服务器计算机系统中,客户端依赖于服务器来提供所需的服务。在这样的系统中,服务器响应时间可能由于服务器处的工作负载而不同。在某些情况下,服务器对特定请求的响应速度不是固定的或确定的,而是由对请求作出响应所需的处理、对请求作出响应需要执行的通信和服务器上请求的积压或队列来规定。例如,认证、授权和计费(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通知消息。在另一方面,提供了一种承载用于动态超时的一个或多个指令序列的机器可读介质,该指令当被一个或多个处理器执行时,使得一个或多个处理器执行这里所描述的步骤。在另一方面,提供了一种用于动态超时的装置,该装置包括用于执行这里所描述的步骤的装置。在另一方面,提供了一种用于动态超时的装置,该装置包括耦合到数据网络用于从其接收一个或多个分组本文档来自技高网
...

【技术保护点】
一种用于动态超时的方法,包括以下由机器实现的步骤:    在服务器或通信地耦合到其的进程处接收来自请求者的请求;    确定是否应当发送临时消息到所述请求者;以及    如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。

【技术特征摘要】
【国外来华专利技术】US 2003-12-31 10/749,8971.一种用于动态超时的方法,包括以下由机器实现的步骤在服务器或通信地耦合到其的进程处接收来自请求者的请求;确定是否应当发送临时消息到所述请求者;以及如果应当发送所述临时消息到所述请求者,则向所述请求者发送涉及所述请求的临时消息,其中所述临时消息包含一个或多个与响应相关的项。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.一种用于动态超时的装置,包括耦合到数据网络用于从其接收一个或多个分组流的网络接口;处理器;一个或多个存储的指令序列,所述指令当被所述处理器执行时,使得所述处理器执行以下步骤在服务器或通信地耦合到其的进程处接...

【专利技术属性】
技术研发人员:亚瑟赞瓦勒科维斯克杰里米斯蒂格里兹
申请(专利权)人:思科技术公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1