使用连接端点代理的基于规则的事务预取制造技术

技术编号:5556100 阅读:191 留言:0更新日期:2012-04-11 18:40
网络代理减少响应来自客户机应用程序的请求序列的服务器等待时间。网络代理截取客户机和服务器的消息。将所截取的客户机请求与规则相比较。当客户机请求与规则匹配时,代表客户机应用程序向服务器发送附加请求消息。服务器响应于该附加请求消息提供相应的响应消息。网络代理截取并高速缓存该响应消息。网络应用程序代理截取后续客户机请求并将其与高速缓存的消息相比较。如果高速缓存的响应消息对应于客户机请求消息,则响应消息被立即返回至客户机应用程序而不是向服务器重新请求同一信息。服务器方代理能将客户机请求与规则相比较并发送附加请求消息。相应的响应消息可以被发送至客户机方网络代理用于高速缓存。

【技术实现步骤摘要】
【国外来华专利技术】使用连接端点代理的基于规则的事务预取 相关申请的交叉引用本申请要求于2005年3月15日提交的题为"Rule-Based Transaction Prefetching Using Connection End-Point Proxies"的第60/662,452号美国临时专 利申请的优先权,该申请所揭示的内容被援引于此用于各种用途。本申请涉及 于2002年10月30日提交的题为"Transaction Accelerator for Client-Server Communication Systems"(下文称为"McCanne I")的美国专利申请第10/285,351 号;于2003年8月12日提交的题为"Transparent Client-Server Transaction Accelerator"(下文称为"McCanneIII")的美国专利申请申请第10/640,405; 于2003年8月12日提交的题为"Cooperative Proxy Auto-Discovery and Connection Interception"(下文称为"McCanne IV")的美国专利申请第10/640,562 号;以及于2003年8月12日提交的题为"Content Delivery for Client-Server Protocols with User Affinities using Connection End-Point Proxies"(下文称为 "McCanneV")的美国专利申请第10/640,459号,它们均被援引于此用于各种 用途
技术介绍
本专利技术一般涉及加速网络上的客户机一服务器事务。许多典型的计算机应 用使用基于请求一响应的消息接发方案用于客户机一服务器交互。在此方案 中,客户机发出请求,然后在发出下一请求之前等待来自服务器的响应。在某 些情形中,服务器可向客户机初启一个请求或"回叫"消息。由客户机初启的事务由一个或多个请求一响应消息对组成。当客户机和服 务器端点是通过网络通道通信的分离的实体时,网络通道的等待时间特性在整 个事务时间中起着重要的作用。通常,与局域网(LAN)相比,广域网(WAN) 具有较长的往返传输时间(RTT)。因此,从客户机发出请求到它从服务器接收响应要较长时间。另外,对于包括多个请求一响应消息对的事务,因为客户 机只在接收到对前一请求的响应之后才发出下一请求,整个事务时间由于较长 的往返传输时间而增加。在高等待时间WAN的情形中,整个事务时间可以通过修改客户机执行事 务的方式来减少。如果两个请求相互独立,则客户机无需在发出下一请求之前 等待接收对第一未完成的请求的响应。通常,存在至少两种形式的独立数据 独立和定时独立。无论从第一请求接收到的响应消息如何第二请求的内容都是 相同的,则该对请求是数据独立的。如果没有服务器所对第一请求的肯定地确 认(通常由响应消息传送)就能发出第二请求,则该对请求是相互定时独立的。 所有定时独立的请求也是数据独立的,但反过来不成立。两个或多个独立的请 求消息可以同时或接二连三地由客户机发出,减少了减少事务所花费的所有时 间。然而,此方法并不适用于所有情形,因为请求常常是相互依赖的。甚至在这此改进是可能的并且独立的事务可以被标识的情形中,客户机应 用程序常常不能被容易地修改。源代码可能由于法律或商业原因而不可得到; 对源变化的改变可能由于可支持性原因而不被允许;或者可能得不到改变客户 机应用程序的技术人员。因此,希望一个系统或方法,不需要修改应用程序而减少客户机一服务器 事务的时间。概述在本专利技术的一个实施例中,网络应用代理可用于提高客户机一服务器事务 的速度而不修改客户机应用程序。特别地,网络应用代理能用于减少服务器响 应于来自客户机应用程序的请求序列的等待时间。网络应用程序代理被用于客 户机和/或服务器端以截取在客户机和服务器之间建立的网络连接。将网络应用 程序代理所截取的客户机请求与一组规则相比较。当客户机请求匹配一个或多 个规则时,称为预取请求的附加消息以客户机应用程序的名义被发送至服务 器。在一个实施例中,根据系统上的特定应用程序来定义规则。响应于发送至服务器的一个或多个预取消息,服务器能提供相应的响应消息。网络应用代理截取该响应消息并高速缓存与预取消息相对应的响应。当后 续客户机请求被网络应用程序代理截取时,它们与高速缓存的预取消息相比 较。如果客户机请求与高速缓存的消息相匹配,则相关联的所得消息立即被返 回至客户机应用程序而不是重新向服务器请求相同的信息。在另一实施例中,此功能是用客户机方和服务器方网络代理两者实现的。 服务器方网络代理能将客户机请求与该组规则相比较,创建预取消息,并接收 对预取消息的响应消息。服务器方代理随后可将包括对客户机方网络代理的响 应消息在内的数据送至高速缓存。客户机方网络代理截取进一步的客户机请求 并将它们与本地高速缓存的预取消息相比较。如果客户机请求与高速缓存的预 取消息匹配,则客户机方代理能立即向客户机应用程序返回相关联的所得消 息。相反,若客户机请求不与高速缓存的预取消息相匹配,则客户机方代理能 向服务器方代理发送该客户机请求,用于与该组规则相比较并由服务器作出最 终处理。在又一实施例中,如果客户机发出的请求消息不是预先发出并被高速缓存 的请求消息,则客户机代理向服务器方代理发送无序的请求消息。在接收到此 消息时,服务器方代理的一个实施例确定该消息是否使所有预取的响应无效, 根本不影响它们,还是导致不可恢复的事务故障。如果所有预取的消息需要被 无效,则服务器方代理将该决定中继至客户机方代理,该客户机方代理清除其 所有或部分高速缓存。如果无序消息导致不可恢复的事务故障,则服务器方代 理关闭其与服务器以及与其对等客户机方代理的连接,并且客户机代理被强制 向客户机节点返回一个错误。某些服务器应用程序支持异步客户机通知,其中当某状况出现时由服务器 向客户机发送一个消息。通知可用作对客户机的回叫以确保由一个或多个客户 机节点和/或服务器节点共享的状态信息的一致性。例如,如果服务器用作数据 库服务器并且许多客户机访问数据库,则客户机可能很希望在另一客户机修改 它从先前与服务器的的读取事务中记录的某个数据库项目时接收到通知。为了 确保一致性,客户机的一个实施例更新或擦除先前记录的数据库项目。为了在 网络层应用代理被使用时维持此一致性,代理应知道当这类回叫发生时何时使预取的响应无效或更新预取的响应。规则确定当服务器发起的回叫消息与指定 的正规表达式相匹配时采取什么动作。通常,该动作是在客户机方代理处清除 预取的响应。在一个实施例中,用户指定的规则准确地指定用于判定哪个客户机或服务 器生成的请求是匹配的准则。另外,该规则指定当匹配时应采取的适当动作。 用于判定匹配的准则取决于请求/响应消息的结构。为了示例目的,考虑客户机使用明文查询和/或诸如在由Sybase、微软实现的表列数据流(TDS)协议中编 码的远程过程调用(RPC)以及可在www.freetds.org处获得的程序来访问数据 库应用服务器。在此例子中,用户在明文查询的情形中指定全文或部分文本匹 配的正规表达式。对于RPC本文档来自技高网
...

【技术保护点】
一种用于加速客户机-服务器事务的方法,所述方法包括: (a)接收来自客户机应用程序的第一消息; (b)将所述第一消息与一组规则相比较; (c)响应于与所述规则组中的至少一个规则匹配的所述第一消息,将所述第一消息和至少一个附 加消息发送至服务器应用程序; (d)从所述服务器应用程序接收至少一个与所述附加消息相对应的响应消息; (e)将与所述附加消息相对应的响应消息存储在消息高速缓存中; (f)接收来自所述客户机应用程序的第二消息; (g) 确定所述第二消息是否类似于所述附加消息;以及 (h)响应于类似于所述附加消息的所述第二响应消息,将存储在所述消息高速缓存中的所述响应消息发送至所述客户机应用程序。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:DTS吴V凯斯万尼C拉森
申请(专利权)人:河床技术股份有限公司
类型:发明
国别省市:US[美国]

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

1