一种用于验证文档的网络装置的制作方法

文档序号:7659886阅读:144来源:国知局
专利名称:一种用于验证文档的网络装置的制作方法
技术领域
本发明通常涉及计算机和计算机网络而且尤其涉及一种用于验证文档的网络装置。
背景技术
虽然诸如Internet的计算机网络在它们作为存储转发数据系统的角色中获得了越来越多的成功,但是计算机网络作为基于事务的、任务关键性的商业应用正在经历巨大的增长,网站所有者、以及商业服务器正被爆炸性的通信增长所压倒。应用服务器及其它处理结点能够被执行各种功能的责任所压倒,这些功能包含和远程服务器或者客户机建立连接、加密和解密传输的信息、处理接收的数据或者交易信息(例如,采购订单、网页请求、等)、格式信息用于显示或者处理等。为了解决高容量的通信和越来越复杂数量的、需要应用服务器的任务,传统的解决方案曾经是购买更多的服务器和更多的网络带宽,其能够花费价格过高。
XML,或者可扩展的标记语言v.1.0由World Wide WebConsortium(W3C)在1998年2月10日所采用。XML提供了一种用于数据交换的结构化语法。XML是一种标记语言,类似于超文本标记语言(HTML)。与把实际数据和数据的呈现组合在一起的HTML形成对比,在XML中,实际数据和数据的呈现分离。大多数的标记语言,类似于HTML,是固定的标记语言。也就是说,固定的标记语言(包括HTML)包含一组固定的标记用于精巧地制作一个文档。在另一方面,XML没有定义一个固定组的标记,而是,仅仅定义了一种语法或者结构化格式,通过该语法或者结构化格式用户能够定义他们自己的标记组。目前有多种基于XML的语言(例如,WML、CXML、CBL),它们定义了它们自己的、使用该XML语法的XML标记组。
XML标准仅仅要求一个接收的文档被检查以确认它符合XML的基本语法和格式(即,确定该文档是否是“格式良好的”)。此外,XML标准同样允许一个文档被验证,其为一种更严格的检查以确定该XML文档的结构或者语法是否根据由该特定的、基于XML的语言所要求的结构。虽然这不由XML规范所要求,许多处理XML文档的应用服务器或者其它处理结点包含一个验证XML处理器(或者一个验证XML分析器)以相对于一个验证模板检查XML应用程序数据的正确性。验证是重要的,这是因为它能够保证在该XML文档中的应用数据(例如,交易信息)以正确的格式被提供并且应当由该应用服务器正确地解释。
当前的XML处理通常涉及一个XML应用服务器从一个源应用程序接收一个XML文档然后完全地处理该文档并且选择性地提供一个响应到该源应用程序。一个XML文档典型地通过三个步骤处理。
1)一次检查以确定该文档是否是“格式良好的”。
2)一个可选的验证检查以保证该语法和文法和一个特定的验证模板匹配。
3)把用于装置和应用程序内容传统地分析到问题域(例如,处理应用数据或者交易数据)。
从一个处理器和耗费时间的角度上看,第二个步骤、验证,能够是在计算上非常昂贵的。为了验证一个文档,一个XML应用程序必须从在网络上的某处检索一个验证模板或者必须从该XML文档本身中分析(或者标识)出该验证模板(如果在该XML文档内提供了该验证模板的话)。一旦该应用服务器具有该验证模板,然后它必须分析该应用数据并且检查它是否匹配该验证模板规则。因此执行文档验证的负担能够显著地减少能够由应用服务器或者处理结点处理的文档或者交易的数量。
附图简要说明通过以下对示范性实施例的详细说明以及权利要求,以及阅读时结合的附图,所有这些构成了这个发明公开的一部分,本发明的上述和一个更好的理解将会是显然的。虽然以上和随后撰写和说明的公开集中于本发明的公开示例实施例上,但是显然应该明白,它仅仅是作为说明和例子,而不是局限于此。本发明的精神和范围仅仅由在附加权利要求中的项限制。
例如,将参考一个XML消息和XML处理来说明和描述本发明的某些技术。一个XML消息和XML处理的使用仅仅被使用来阐明和描述本发明的技术。然而,本发明不局限于XML或者类似的语言,而是适用于以各式各样的结构化的格式或者语言提供的消息。
以下表示附图的简要说明,其中

图1是依据一个示例实施例的一个网络系统的框图。
图2是一个依据一个示例实施例、说明一个验证加速器的操作的流程图。
图3是一个依据一个示例实施例、说明一个验证加速器的示例操作的流程图。
图4是一个依据另一个示例实施例、说明一个验证加速器的操作的流程图。
图5是依据另一个示例实施例说明一个网络装置的框图。
详细说明依据一个示例实施例,在一个网络和多个处理结点(例如,网络服务器、应用服务器、XML服务器、路由器、交换机或者其它设备)之间提供了一个网络装置。该网络装置包含一个验证加速器来预先验证文档。
依据一个实施例,接收了一个包含验证指令和应用数据的消息。可以提供一个内容(例如,在该文档内部作为验证指令的一部分)或者作为一个外部验证模板的一个验证模板。如果该验证文档是外部的,则能够从一个网络(或者远程服务器)中检索该模板并且在本地缓存该模板用于将来使用以提高验证速度。然后基于该模板验证该文档,并且然后从该文档中删除验证指令。该预先验证的文档然后被发送到一个处理结点或者应用服务器。
因为已经从该文档中删除了验证指令(包含一个内部验证模板和/或一个指向外部模板的指针),该应用服务器将不会验证该文档并且将假定该文档是正确的。用这样的方式,文档验证的昂贵任务能够从应用服务器卸载到一个诸如验证加速器的网络装置。
依据另一个实施例,网络装置可以包含其它的功能或者块,诸如一个安全加速器、一个基于内容的消息定向器和/或一个负载均衡器。
参考其中类似的数字指示类似单元的附图,图1是依据一个示例实施例的一个网络系统的框图。
如图1所示,各个客户可以经由一个诸如Internet 130的网络连接或者连接到一个数据中心135。客户,例如,可以包含一台包括一个应用程序112的服务器110、一台可以包含一个网络浏览器122的计算机120(例如一台个人计算机或者膝上计算机)和一个诸如个人数字助理(PDA)或者无线(或者蜂窝)电话的无线设备132。无线设备132可以分别经由通信链路134和/或136连接到Internet 130或者数据中心135。链接134和136每个都可以包含无线链接(例如,蜂窝或者其它链接)或者有线链接的一个或多个。包含服务器110、计算机120和设备132的每一个客户端都能够经由Internet 130发送和接收消息并且可以使用各种不同的协议或者传输器。
提供了数据中心135用于发送、接收、处理和满足各种消息和请求,诸如业务交易、采购订单、股票行情或者股票贸易、及其它信息。数据中心135包含几个处理结点(例如,服务器),其包含服务器150、服务器160和服务器170用于处理不同的定单、业务交易及其它请求。依据一个示例实施例,客户和数据中心的实体交换包含要由一个应用程序(诸如一个XML处理器)处理的应用数据消息。在该消息中的应用数据可以包含可以描述或者涉及一个或多个交易的业务交易信息。依据一个实施例,在一个消息中提供的应用数据可以有利地被提供为XML数据(例如,作为一个XML文档)或者以另一种结构化格式或者其它标记语言提供以便于数据交换。在该消息中的XML数据更可取地是符合由XML标准所要求的格式或者语法。一个使用标记格式(例如,开始标记、结束标记)及其它语法(例如,来标记数据)的、符合XML标准的文档被认为是一个“格式良好的”XML文档。
再次参考在图1中的客户,应用程序112可以是一个商业程序或者一个用于管理库存、定单或者其它业务交易的程序。例如,应用程序112可以自动和电子地检测到库存已经减小到一个阈值之下,然后自动地产生和发送一个购货单到在数据中心135的一个供应商服务器以请求额外提供或者库存的一次发货。因此,服务器110可以,例如通过发送一个电子定单到位于数据中心135的供应商远程服务器来启动一个商业-到-商业(B2B)交易。
作为另一个示例,网络浏览器122可以从一个远程服务器(例如,位于数据中心135的)中请求网页、商业信息或者其它信息。Web浏览器122,可以同时发送或者公布采购订单、业务交易或者其它商业信息到一个可以位于数据中心135的远程服务器。无线设备132可以从一个或多个远程服务器(诸如位于数据中心135的服务器)接收与采购订单、业务交易、网页、股票行情、游戏得分等等相关的信息或者数据。
依据一个实施例,服务器110、计算机120和无线设备132每个都可以通过发送和接收XML数据(即,依据XML标准或者依据一个或多个基于XML的语言编码或者格式化的应用数据或者业务交易信息)来与一个或多个远程服务器(例如,服务器150、160和170)通讯或者交换数据。
依据一个有利的实施例,数据中心135同样包含一个验证加速器142以在把该消息发送到应用服务器或者处理结点中的一个之前预先验证接收的消息。依据一个示例实施例,验证加速器142被提供作为一个网络装置。换句话说,依据一个示例实施例,验证加速器142能够连接在网络130和多个处理结点或者应用服务器(例如,服务器150、160和170)之间。把该验证加速器142提供作为一个网络装置(即,从应用服务器中分开)允许昂贵的文档验证计算任务从应用服务器卸载到了验证加速器142。做为选择,可以提供多个验证加速器142,其中为一个或多个应用服务器或者其它处理结点提供一个验证加速器142。
如上所述,必须检查一个XML文档以确认它满足XML的基本语法和格式(即,确定该文档是否是“格式良好的”)。此外,XML标准同样可选地允许一个文档被验证,其为一种更严格的检查以确定该XML文档的结构或者语法是否符合由该特定的、基于XML的语言所要求的结构或者文法。XML允许相对于一个验证模板验证一个文档。一个验证模板定义了XML文档(包含要求的元素或者标记,等)的文法和结构。
能有许多类型的验证模板,诸如作为示例,一个在XML中的文件类型定义(DTD)或者一个模式。这两个验证模板被用作示例以依据示例实施例阐明某些特征。同样可能有许多其它类型的验证模板。模式类似于DTD,这是因为它定义文档必须符合的文法和结构是有效的。然而,模式能够比DTD更具体因为它还包含定义数据类型(例如,字符、数字、整数、浮点数、或者定制的数据类型)的能力。此外,不同于DTD(在当前标准下面),模式可能被要求是格式良好的。因此,应用数据和模式都能够为基本语法(或者格式良好性)进行分析和检查。因此,至少对于某些应用程序,可以期望模式将有可能在将来变得比DTD更通用。
如上所述,依据XML标准,相对于一个验证模板验证一个接收的文档是可选的。如果要相对于一个特定验证模板验证一个文档,则该XML文档将在该文档的开始处包含验证指令(或者验证代码)。验证指令的一个示例能够是一个文件类型声明,如在XML中通常所知的那样。另一个示例是一个模式(或者对一个外部模式的引用)。依据当前的XML,验证指令(例如,文档类型声明或者模式,等)是声明该验证模板的结构、元素类型、属性等的一个文档可选区域。要成为一个正确的文档、在该文档中的应用数据结构和文法必须匹配由验证模板定义的结构和文法(如果验证指令被包含在文档中的话)。能够在该文档内部(或者里面)和/或在该文档之外提供验证模板。
图2是一个框图,说明了依据一个示例实施例的一个示例消息。图2所示的示例消息包含一个XML文档210。XML文档210包含XML应用数据220(例如,包含业务交易信息)和验证指令215。
应用数据220是将由一个应用服务器处理的应用数据。应用数据220可以包含,例如,业务交易信息,诸如要购买的一个列表项、价格、数量或者一个交易的其它指定详情;或者一个信息请求(例如,股票行情、交易详情的请求)。
依据一个实施例,一条或多条验证指令215的存在指示在处理应用数据220之前,能够基于在该文档内提供的和/或由该验证指令215标识的一个验证模板验证该文档。换句话说,依据一个实施例,验证指令的存在可以指示在传递该数据到一个应用服务器用于进一步处理之前,应当在一个网络装置(诸如验证加速器142)处预先验证该应用数据。为向应用服务器指示该文档(或者应用数据)已经被验证了,可以从该文档中删除验证指令和/或可以提供一个指示(诸如在该数据中的一个注释或者指令,或者在该消息中设置的一个字段)以指示该应用数据或者消息已经被验证了(即,预先验证了)。依据当前的XML,即使当给出了验证指令215时,文档验证也是可选的(例如,通过应用服务器)。然而,有可能在将来,验证(在XML或者其它语言中)可以是必需的。
如果该文档应当与一个用于文档验证的验证模板(文档类型定义、模式,等)相关联(即,允许文档验证),则该文档将一般包含一条或多条验证指令215。验证指令215提供或者标识了验证模板(或者文档类型定义),该验证模板定义了文档210的应用数据220必须遵守的文档结构和文法(例如,元素、属性)。该验证模板能够包含一个内部组件和/或一个外部组件。
在这个显示示例中(例如,用于XML),验证指令215(或者验证模板)被提供作为一个文档类型说明。验证指令215从DOCTYPE语句“<DOCTYPE hogsforsale...”开始,其指示存在一个验证模板,该验证模板可以在该文档内提供(即,作为内部组件219)或者在该文档之外提供(即,被标识为“hogs.dtd”的一个外部组件)。因此,在这个示例中,验证指令215提供了验证模板的一个内部组件219以及标识一个外部组件的外部组件标识符217。内部组件219和外部组件(没有显示)一起形成了用于这个文档的验证模板(即,用于为文档210验证应用数据220)。依据一个实施例,如果正在执行验证,DOCTYPE语句(或者其它验证指令)的存在一般将导致一个应用程序或者应用服务器相对于该验证模板验证在该消息中的应用数据220。
验证模板中的内部组件219定义了一个正确的hosgsforsale文档必须包含下列元素type、avg wt、quantity和price/hog,等。这仅仅是一个示例。
在这个示例中,标识符“hogs.dtd”标识一个是该验证模板的一个外部组件的外部实体或者文件。基于该外部组件标识符217,该外部组件能够位于一个远程服务器或者其它位置上。验证模板的外部组件(标识为“hogs.dtd”)可以包含在文档210的应用数据220的结构或者文法上的附加要求。外部组件标识符217可以被提供为详细地址、或者一个相对地址或者指针(例如,相对于该消息的源或者起源节点的地址或者位置)。例如,在验证指令215中列出的“hogs.dtd”标识符可以实际上引用可以在(例如)oasis.xml.org/farming/livestock/hogs.dtd处找到的“hogs.dtd”外部组件217。如上所述,验证模板的示例包含文档类型定义(例如,用于XML)、模式、等。
图3是一个依据一个示例实施例、说明一个验证加速器的示例操作的流程图。在块310处,验证加速器142接收一个消息。该消息可以经由任何传输或者协议发送,这些协议诸如传输控制协议(TCP)、文件传输协议(FTP)、简易邮件传输协议(SMTP)、无线应用协议(WAP,其可以用来利用无线设备发送和接收信息)、超文本传输协议(HTTP)、等。本发明的一般示教和操作不取决于任何特定的传输或者协议、而是传输无关的。
在块315处,由验证加速器142获得用于验证该文档或者消息的一个验证模板(例如,用于验证在文档210中的应用数据220)。这可以包含首先确定验证指令是否存在于该文档或者消息中。如果没有给出验证指令、则将不会执行验证。如果给出了验证指令,则验证加速器142基于在验证指令215中的一个或多个语句的语法确定用于该文档的验证模板是否被提供为一个内部组件和/或一个外部组件。
如果在该文档内提供了验证模板(即,作为一个内部组件),则从该文档的剩余部分中分析或者分离出验证模板。如果验证指令215提供了一个外部组件标识符217,则验证加速器142然后检索或者获得该外部组件(例如,从一个远程服务器或节点)。
在图3中的块320处,验证加速器142通过把应用数据220结构和文法和由该验证模板定义或者要求的结构和文法进行比较,来验证该消息的至少一部分(例如,验证应用数据220)。
在块325处,如果文档或者消息是正确的,则验证加速器142删除(更可取地是所有的)验证指令,包含任何可以导致该文档被验证的语句(例如,一个DOCTYPE语句)、该验证模板的任何内部组件、以及对该验证模板的外部组件的任何引用或者标识符。
在块330处,验证了的文档(已删除了验证指令)然后发送到一个应用服务器或者其它处理结点用于处理。
通过验证该文档以及然后删除该验证指令(包含验证模板或者指向其的标识符),任何接收该文档的应用程序或者应用服务器将仅仅检查该文档是否是“格式良好的”(或者满足XML基本语法)。由于没有验证指令,应用服务器不能验证该文档,而且将假定该文档或者应用数据是正确的。用这样的方式,执行文档验证的负担能够从应用服务器移动到验证加速器142。
图4是一个依据另一个示例实施例、说明一个验证加速器的操作的流程图。接收一个消息,诸如XML文档402。在菱形404处,验证加速器检查在该文档中是否存在验证指令。如果没有的话,因为不能执行验证,所以在块424处,不变地把该文档从验证加速器142输出。
如果在该文档402中存在验证指令,接下来在菱形406处,验证加速器142确定验证模板是否在该文档的内部(或者嵌入该文档)。如果是这样的话,则在块414处基于内部验证模板验证该文档。
如果验证模板不在该文档内部(或者嵌入该文档)(这指示模板应当作为一个外部组件被找到),则在菱形408处,验证加速器142确定该验证模板(例如,一个外部组件)是否保存在高速缓存中。验证加速器142包含一个高速存储器或者本地模板高速缓存420,其中能够存储一个或多个验证模板(例如,诸如文件“hogs.dtd”)的拷贝,以及这些拷贝然后随后被检索。如果验证模板存在于高速缓存420中,则在块418处检索出该验证模板,并且在块414处,用该模板来验证文档。
如果验证模板不存在于模板高速缓存420中,则在块410和405处,验证加速器142从网络(例如,从一台远程服务器)中检索该验证模板。则在块412中把检索的验证模板添加(或者保存在)模板高速缓存420中。然后在块414处验证该文档。
在在块414处验证该文档(或者消息)之后,在块422处,从该文档中剥离或者删除验证指令(包含任何内部验证模板或者外部模板标识符)。验证加速器142然后输出预先验证的文档或者消息到应用服务器或者处理结点中的一个(例如,到在数据中心135处的一个服务器)用于处理。
做为选择(或者除了删除验证指令之外),能够添加一个指示到该消息中,以向应用服务器指示已经验证了该应用数据或者消息(即,预先验证了)。能够例如,作为在该信息中的一个字段、作为在该应用数据本身中的一条指令或者注释、或者使用另一种技术提供这个预先验证的指示。例如,XML规范中,除元素标记、和数据之外,有一些被称为处理指令标记的东西,其提供了一个“安全舱口”以允许一个应用程序特有的信息被嵌入到一个XML文档中。处理指令不被考虑是一个XML文档字符数据内容的一部分,而是它们总是由分析器传递到XML应用程序上。格式为用于处理指令标记的是<?.........?>。因此,依据一个实施例,在已经删除了验证指令(或者DTD或者模式或者对其的引用)之后,下列注释或者指令标记能够添加到靠近该文档开始(或者其它位置)的地方<?validated by intel?>。
通过预先验证文档然后从该文档中删除验证指令(及/或增加一个预先验证指示到该文档或者消息),昂贵的验证步骤从应用服务器卸载到一个网络装置、网络应用或者其它系统(其可以被称为,例如,验证加速器142)。
此外,提供了一个本地高速缓存420来动态地高速缓存最近使用的(或者最通用的)验证模板组。因此,每个需要验证的文档一般将包含一个嵌入的验证模板(或者在该文档之内)或者将包含一个引用或者指针(例如,一个通用资源标识符或者URI)来标识一个外部模板。查询或者查阅本地高速缓存以确定需要的模板是否被本地存储了。如果没有的话,则从网络中检索该模板并且然后本地高速缓存用于将来使用。这允许验证加速器142显著地减小验证一个文档的时间或者延迟,这是因为必须从该网络中仅仅检索一次模板。此后,将内部地或者嵌入地提供该模板或者能够从本地高速缓存中检索该模板。
依据一个示例实施例,高速缓存能够被实现为一个固定尺寸、基于使用的堆栈,以便当它溢出时,被更经常访问的验证模板自动地把较少使用的模板推出该堆栈。依据一个实施例,一个最近最少使用的(LRU)算法能够用来在本地高速缓存中保持最近使用的验证模板,并且丢弃(或者移动到其它存储器,诸如RAM或者硬盘驱动器)该较不经常使用的模板。用这样的方式,能够大大地减小检索或者获得一个验证模板的外部组件(或者一个外部验证模板)的时间。
再次参考图4,在块414处验证该文档。如果它是正确的,该预先验证的文档(与预先验证指示一起)被发送到一个应用服务器。然而,如果该文档是无效的(即,不匹配由该验证模板所要求的结构和文法),则存在几个可能性。该无效的文档能够被转送(不去除验证指令而且不增加一个预先验证的指示)到一个应用服务器。做为选择,能够堵塞该无效消息或者没有发送该无效消息到一个服务器。无论堵塞或者转送,验证加速器142可以发送一个消息到源节点(或者发送器)其指示该消息或者文档是无效的)。
如上所述,能够在该消息或者数据已经被验证了之后添加一个预先验证的指示到一个文档或者消息。这个预先验证指示能够是以一个隐含的遗漏(或者删除了的)验证指令的形式(即,缺少验证指令指示该文档是正确的或者已经被验证了)。做为选择,该预先验证指示能够以一个明确的语句或者指示的形式(例如,被添加到该消息或者文档中的一个语句、指令或者注释),以指示该消息或者应用数据已经被验证了。
虽然在上面已经把验证加速器142描述为使用一个验证模板执行验证,在另一个实施例中,验证加速器142可以仅仅分析该文档并且确定在该文档中的应用数据是否是格式良好的(即,满足用于该语言要求的基本语法和格式)。则可以添加一个预先验证指示以向该应用服务器指示该消息或者文档是格式良好的(例如,满足要求的语法)。
图5是依据另一个示例实施例说明一个网络装置的框图。依据一个示例实施例,网络装置505可以包含一个或多个在图5中显示的块。例如,除了验证加速器142之外,网络装置505可以包含一个安全加速器515、一个基于内容的消息定向器545和/或一个负载均衡器550。做为选择,能够在一个网络装置505中提供所有四个组件,或者它们的任何子组合。
提供了安全加速器515用于加密外出的消息和/或解密从网络130接收的输入消息。依据一个实施例,安全加速器515是一个可以从Intel公司获得的安全套接字层(SSL)加速器。该安全加速器515允许诸如加密和/或解密的、安全相关的任务从应用服务器卸载到该安全加速器515。
提供了该基于内容的消息定向器545(例如,一个XML定向器),基于在该消息中的应用数据的内容、包括业务交易信息,路由或者引导接收的消息到一个处理结点或者应用服务器。应用数据(包括业务交易信息)可以有利地被提供为一种基于XML的语言。
提供了负载均衡器550,以基于一个或多个负载平衡算法、诸如循环复用或者其它算法,在在数据中心135内的一个或多个服务器或者处理结点当中平衡或者调整通信量或者消息。
依据一个实施例,当负载均衡器550和消息定向器545被一起使用时,消息定向器545可以基于该应用数据的内容(包括业务交易信息)进行一个交换判定。负载均衡器550然后可以(部分地)基于该交换判定交换或者路由该消息到一个服务器或节点。做为选择,消息定向器545可以做出一个交换判定并且然后仅仅路由或者引导该消息到一个特定的服务器或节点。
在这里具体说明和/或描述了本发明的几个实施例。然而,应当理解本发明的修改和变化由上述示教覆盖并且在附加权利要求的范围之内,而不背离本发明的精神上和想要的范围。
权利要求
1.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个验证加速器以验证一个消息的至少一部分并且在发送该消息到一个应用服务器或者其它处理结点之前从该消息中删除验证指令。
2.如权利要求1所述的网络装置,其特征在于该验证加速器包含一个XML验证加速器以验证XML消息。
3.如权利要求1所述的网络装置,其特征在于该验证加速器进一步包含一个本地高速缓存来存储验证模板。
4.一个连接在一个网络和多个处理结点或者应用服务器之间的验证加速器,该验证加速器验证一个消息的至少一部分并且在发送该消息到一个应用服务器或者其它处理结点之前从该消息中删除验证指令。
5.如权利要求4所述的网络装置,其特征在于该验证加速器包含一个XML验证加速器以验证XML消息。
6.如权利要求4所述的网络装置,其特征在于该验证加速器进一步包含一个本地高速缓存来存储验证模板。
7.如权利要求4所述的网络装置,其特征在于该验证加速器在发送该消息到一个应用服务器或者其它处理结点之前增加一个预先验证指示到该消息。
8.一个数据中心包含多个处理结点来处理消息;以及一个连接在一个网络和多个处理结点之间的验证加速器,该验证加速器验证一个消息的至少一部分并且在发送该消息到一个处理结点之前从该消息中删除验证指令。
9.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个安全加速器;一个连接到安全加速器的验证加速器,以验证一个消息的至少一部分并且从该消息中删除验证指令;与安全加速器和验证加速器中的一个相连的一个基于内容的消息定向器,该基于内容的消息定向器基于在接收的消息中的交易信息,为一个接收的消息进行一个交换或者路由判断;以及一个与基于内容的消息定向器相连的负载均衡器,基于该交换判定路由或者交换该消息到多个处理结点或者应用服务器中的一个。
10.如权利要求9所述的网络装置,其特征在于该交易信息包含在XML中提供的业务交易信息,而且其中该基于内容的消息定向器包含一个XML定向器,基于XML数据的内容为路由一个接收的消息做出一个路由或交换判定。
11.如权利要求9所述的网络装置,其特征在于该安全加速器包含一个SSL加速器。
12.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个安全加速器;一个与安全加速器相连的验证加速器,来验证一个消息的至少一部分;以及一个与该验证加速器相连的、基于内容的消息定向器,基于在接收的消息中的交易信息路由或者引导的一个接收的消息到一个处理结点或者应用服务器。
13.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个安全加速器;以及一个与安全加速器相连的验证加速器,来验证一个消息的至少一部分并且在发送正确的消息到一个处理结点或者应用服务器之前从该消息中删除验证指令或者增加一个预先验证指示到该消息。
14.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个验证加速器,来验证一个消息的至少一部分;以及一个与该验证加速器相连的、基于内容的消息定向器,基于在接收的消息中的交易信息,路由或者引导一个接收的消息到一个处理结点或者应用服务器。
15.如权利要求14所述的网络装置,其特征在于该基于内容的消息定向器包含一个XML定向器,来基于在以一种基于XML的语言提供的消息中的交易信息,路由消息。
16.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个验证加速器,来验证一个消息的至少一部分;以及一个与验证加速器相连的负载均衡器,以路由或者交换该消息到多个处理结点或者应用服务器中的一个。
17.一种方法,包含接收一个包括应用数据和验证指令的消息;基于该验证指令获得用于该消息的一个验证模板;基于该验证模板验证该应用数据的至少一部分;从该消息中删除该验证指令;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理。
18.如权利要求17所述的方法,其特征在于获得一个验证模板包含从在该消息中的验证指令中分析一个内部验证模板。
19.如权利要求17所述的方法,其特征在于获得一个验证模板包含基于一个外部标识符、从一个网络中获得一个外部验证模板。
20.如权利要求17所述的方法,其特征在于该验证模板包含一个文档类型定义。
21.如权利要求17所述的方法,其特征在于该验证模板包含一个模式。
22.如权利要求21所述的方法,其特征在于该模式定义了一个正确的文档所要求的文法、结构和数据类型。
23.如权利要求17所述的方法,其特征在于该消息包含一个XML文档,该XML文档包含要被验证的XML应用数据和验证指令。
24.如权利要求17所述的方法,进一步包含在从网络中检索该模板之后存储该外部验证模板的一个本地拷贝。
25.一种方法包含接收一个包含验证指令的消息;依据下列、基于该验证指令获得用于该消息的一个验证模板如果该验证模板被内部提供了或者嵌入到该消息中的话,则使用一个内部验证模板;如果该模板被本地存储并且不在该文档内部,则使用一个验证模板的一个本地拷贝;以及否则,从一个网络检索一份验证模板的拷贝;基于该验证模板验证该应用数据的至少一部分;从该消息中删除该验证指令;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理。
26.如权利要求25所述的方法,进一步包含 如果是从网络中检索该验证模板的话,本地存储一份验证模板的拷贝用于将来使用。
27.一个存储了一个计算机程序的有形介质,当由一台计算机或者计算节点执行该计算机程序时,导致下列发生接收一个包括应用数据和验证指令的消息;基于该验证指令获得用于该消息的一个验证模板;基于该验证模板验证该应用数据的至少一部分;从该消息中删除该验证指令;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理。
28.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个验证加速器以验证一个消息的至少一部分,并且在发送该消息到一个应用服务器或者其它处理结点之前添加一个预先验证指示到该消息中。
29.一个连接在一个网络和多个处理结点或者应用服务器之间的网络装置,该网络装置包含一个验证加速器以确认一个消息满足一种语言的基本语法或者是格式良好的,并且然后在发送该消息到一个应用服务器或者其它处理结点之前添加一个格式良好的指示到该消息。
30.一种方法包含接收一个包含应用数据的消息;获得一个用于该消息的验证模板;基于该验证模板验证该应用数据的至少一部分;添加一个预先验证指示到该消息中;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理。
31.如权利要求30所述的方法,其特征在于该消息进一步包含验证指令,而且该方法进一步包含在发送该消息到一个处理结点或者应用服务器之前从该消息中删除验证指令。
32.如权利要求30所述的方法,其特征在于添加包含在该消息中一个字段中指示该应用数据的至少一部分已经被验证了。
33.如权利要求30所述的方法,其特征在于添加包含在应用数据本身中添加一条指令或者注释来指示该应用数据已经被预先验证了。
34.如权利要求33所述的方法,其特征在于 添加包含添加一个处理指令标记,其指示该应用数据已经被预先验证了。
35.一种方法包含接收一个包含应用数据的消息;获得一个用于该消息的验证模板;同验证模板相比,确定该消息是否是正确的;以及如果该消息是正确的,则发送该验证消息到一个处理结点或者应用服务器用于处理;否则,堵塞或者禁止转发或者发送该消息。
36.如权利要求35所述的方法,以及如果该消息是正确的,改变该消息以在发送该消息到一个处理结点或者应用服务器之前,包含一个明确或者隐含的预先验证指示。
37.一种方法包含接收一个包括应用数据和验证指令的消息;基于该验证指令获得用于该消息的一个验证模板;同验证模板相比,确定该消息是否是正确的;以及如果该消息是正确的,则删除该验证指令;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理;以及否则,包含该验证指令,发送该消息到一个处理结点或者应用服务器。
38.如权利要求37所述的方法,以及如果消息是正确的在发送该正确的消息到一个处理结点或者应用服务器之前进一步添加一个预先验证指示到该消息。
39.一种方法包含接收一个包括应用数据和验证指令的消息;基于该验证指令获得用于该消息的一个验证模板,包含如果本地给出了的话,从局部存储器或者高速缓存中获得验证模板;否则,从一个远程位置检索该验证模板;基于该验证模板验证该应用数据的至少一部分;从该消息中删除该验证指令;以及发送该验证了的消息到一个处理结点或者应用服务器用于处理。
40.如权利要求39所述的方法,进一步包含如果该验证模板没有已经被本地存储了,则存储该验证模板的一个本地拷贝。
全文摘要
在一个网络和多个处理结点或者应用服务器之间提供了一个网络装置。该网络装置包含一个验证加速器以基于在该文档中提供的验证指令验证(或者预先验证)一个文档。在该文档被验证了之后,从该文档中删除或者去除该验证指令,而且然后把该文档发送给一个处理结点或者应用服务器用于处理。
文档编号H04L29/08GK1439132SQ01811843
公开日2003年8月27日 申请日期2001年4月3日 优先权日2000年5月1日
发明者D·马拉特, J·阿布亚尼克 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1