在网络元件中代表应用执行消息有效载荷处理功能的制作方法

文档序号:6553240阅读:293来源:国知局
专利名称:在网络元件中代表应用执行消息有效载荷处理功能的制作方法
技术领域
本发明 一般地涉及计算机网络中的网络元件,例如交换机和路由器。 更具体地说,本发明涉及用于在网络元件中代表应用执行消息有效载荷处 理功能的方法和装置。
背景技术
本部分所述的方法可以被实现,但是不一定是先前已被设想出或者已 实现的方法。因此,除非这里另行指出,本发明所述的方法不是相对于本 申请所要求的现有技术,并且不因为被包括在该部分中而承认是现有技 术。
在企业对企业环境中,在计算机中执行的应用通常与在其他计筇机上
执行的其他应用通信。例如,在计算机"X"中执行的应用"A"可能向 在计算机"Y"中执行的应用"B"发送指示购买订单的内容的消息。
计算机"X"可能远离计算机"Y"。为了计算机"X"能够发送消总 到计算机"Y",计算机"X"可能通过计算机网络发送该消息,所述M-算机网络例如是局域网(LAN)、广域网(WAN),或者例如因特网之 类的网间网。为了通过这种网络传输分组,计算机"X"可能使用-组通 信协议。例如,计算机"X"可能结合传输层协议(例如,传输控制协 议,TCP)使用网络层协议(例如,因特网协议,IP)来传输消息。
假设使用TCP传输消息,则该消息被封装成一个或多个数据分组;同 一消息的不同部分可能在不同的分组中被发送。继续上例,计算机"X" 通过网络向计算机"Y"发送数据分组。在计算机"X"和计算机"Y"中 间的一个或多个网络元件可能接收到这些分组,为这些分组确定F — "跳",然后将这些分组发送向计算机"Y"。
例如,路由器"U"可能接收到来自计算机"X"的分组,并且基于
这些分组去往计算机"Y"确定出这些分组应当被转发向另一个路由器 "V"(路由上的下一 "跳")。路由器"V"可能接收到来自路由器 "U"的分组并且将这些分组发送到计算机"Y"。在计算机"Y"处,这 些分组的内容可以被提取出并且被重组装来形成原始消息,该原始消息可 以被提供给应用"B"。应用"A"和"B"可以遗忘这些分组是通过路由 器"U"和"V"被路由的这一事实。实际上,不同的分组可以沿不同的 路由通过网络。
可以结合上面讨论的网络层和传输层协议使用若干种应用层协议中的 任意协议来传输消息。例如,应用"A"可以指定计算机"X"利用超文 本传输协议(HTTP)来发送消息。相应地,计算机"X"可以在如上所述 将消息封装到TCP分组中之前在消息的前面添加HTTP专用头部。如果应 用"B"被配置为根据HTTP接收消息,则计算机"Y"可以使用HTTP专 用头部来处理该消息。
除了上述所有内容之外,消息可以根据若干消息格式中的任意格式被 构造。消息格式一般指示消息的结构。例如,如果购买订单包括地址和递 送日期,则可以利用消息格式专用的机制在消息内将地址和递送日期彼此 区分开。例如,应用"A"可以利用可扩展标记语言(XML)指示购买订 单的格式。利用XML作为消息格式,地址可以被包围在"<addresS>"和 "</address>"标签内,并且递送日期可以被包围在"<delivery-date>"和 "</delivery-date>"标签内。如果应用"B"被配置来解释XML格式的消 息,则应用"B"可以利用这些标签,以便确定该消息的哪部分包含地址
以及该消息的哪部分包含递送日期。
通常不同的应用被设计为使用不同的应用层协议来发送和接收消息。 例如,应用"A"可以被设计为仅利用HTTP来发送消息,而应用"B"可 能被设计为仅利用作为另一种应用层协议的文件传输协议(FTP)来接收 消息。此外,不同的应用可能被设计为使用不同的消息格式来格式化消息 和解释消息。例如,应用"A"可能被设计为仅利用XML来格式化消息, 而应用"B"可能被设计为仅利用电子数据交换(EDI)来解释消息。
通常,设计或者升级一个应用使得该应用能够使用所有可能的消息格
式和应用层协议来与其他应用会话是不实际的也是不可能的。 一些消息格 式和应用层协议可能是专用的并且未对外公开。 一些消息格式和应用层协 议可能相对较新并且不明确。 一些消息格式和应用层协议可能是如此陈旧 以至于通常被认为是过时的。
为了减少允许一种应用与可能使用不同消息格式和/或应用层协议的其 他应用会话所要求应用修改量,可以设计将这种应用隔离的中间网络元件 来接收消息、"翻译"消息,并且然后发送这些消息。这种翻译可以通过 查找从分组中的指定位位置开始的指定的位图案,并且然后如果找到/指 定的位图案则改变该指定位位置处的位来实现。例如,网络设备"J"可能
被设计为接收已利用HTTP发送的消息,并且利用FTP作为替换来发送那 些消息。对于另一个例子,网络设备"K"可能被设计为接收XML格式的 消息,并且将那些消息翻译成EDI格式。因此,如果应用"A"利用 HTTP发送XML格式的消息,并且应用"B"利用FTP接收EDI格式的消 息,则应用"A"可以被配置为使得应用"A"通常会编址为去往应用 "B"的消息被编址为去往网络设备"J"。网络管理员可以对网络设备 "J"进行配置来将消息发送到网络设备"K",并且网络管理员a」'以将网 络设备"K"配置为年个消息发送到应用"B"。
遗憾地是,这种方法要求网络管理员付出大量的工作。随着」-卜:通信的
应用所使用的可能的不同应用层协议和消息格式的数目增加,网络设备和 那些网络设备之间的路径的数目也迅速增加。对于每对发送和接收应用, 釆用这种方法的网络管理员必须对所涉及的应用和网络设备进行配置,以 确保消息将沿正确的路径通过相关网络设备。因此,如果需要应用
"A" 、 "B" 、 "C" 、 "D"和"E"中的每个彼此通信,则采用这种方 法的网络管理员可能需要逐个地为一个或多个网络设备配置25条不同的
"路径"。当应用被添加、删除和修改时,网络管理员可能需要从某些应 用对之间的路径中删除某些网络设备。在涉及许多应用时,这种负担可能 远超过大多数网络管理员可以承受的负担。
另外,如果多条路径被配置为包含同一个网络设备,则该网络设备可 能变成使网络性能下降的瓶颈。
因此,这种"逐对路径配置"方法在被应用到其中大量不同的应用进 行通信的系统时是不实际的。所以需要允许大量不同的应用进行通信的更 实际的技术。
此外,现有的中间网络元件在这些网络元件可以对分组执行的处理的 种类方面,以及这些网络元件可以对分组执行的动作的种类方面受到限 制。 一般来说,现有的中间网络元件仅对数据分组执行仅单个专门操作, 该专门操作处理那些数据分组的头部中的匹配参数。参数和操作二者一般 都是固定的,并且不能由最终用户定制。因此,需要用于允许对数据流执 行大量各种可定制操作的技术。


在附图的图示中,作为示例而非作为限制示出了本发明,其中类似的 标号指示相似的元素,在附图中
图1是示出了其中一个或多个网络元件代表应用执行消息有效载荷处 理功能的系统的一个实施例的概括的框图2图示了示出了在网络元件处代表客户端应用执行消息有效战荷处 理功能的方法的一个实施例的概括的流程图3A-B图示了示出了在网络元件处代表应用执行消息有效载荷处理
功能的方法的一个实施例的流程图4图示了可能被与特定消息分类相关联的简单流程;
图5是示出了可以在其上实现一个实施例的计算机系统的框图6A是示出了其中监督刀片将一些分组流导向AONS刀片和/或其他
刀片的路由器的一个实施例的框图6B图示了示出了用于对要针对其执行消息级处理的分组进行过滤
的方法的一个实施例的流程图7是示出了根据本发明一个实施例的AONS网络中包含的各个组件
的图8是示出了示例AONS节点内的功能模块的框图9是示出了可以对消息流量执行来产生仅在AONS层处要处理的流
量的选择集合的过滤的多个层次的图IO是根据云视角示出了 AONS云内的消息路径的图IIA和图11B是示出了请求/响应消息流的图12A和图12B是示出了替换的请求/响应消息流的图13是示出了单向消息流的图14是示出了替换单向消息流的图15A和图15B是示出了具有可靠消息递送的请求/响应消息流的
图16是示出了具有可靠消息递送的单向消息流的图17是示出了同步请求和响应消息的图18是示出了简单的单向端到端消息流的图19是示出了 AONS节点内的消息处理模块的图20是示出了 AONS节点内的消息处理的图21、图22和图23是示出了 AONS配置和管理框架内的实体的阁;
以及
图24是示出了 AONS监控体系结构的图。 贼錯诚
下面描述用于在网络元件中代表应用执行消息有效载荷处理功能的方 法和装置。在下面的描述中,为了说明目的,阐述了若干具体细节以便更 全面地理解本发明。本发明在一个方面和包括用于在网络元件中代表应用 执行消息有效载荷处理功能的方法。根据一个实施例,网络元件接收指示 特定消息分类的用户指定输入。网络元件还接收一个或多个数据分组。基 于这些数据分组,网络元件确定在这些数据分组的有效载荷部分中总地包 含的并且被导向该应用的应用层消息是否与特定消息分类相匹配。网络元 件通过对至少一部分消息并且代表该应用对该至少一部分消息(a)在用 户指定输入中指定的,并且(b)与所述特定消息分类相关联的一个或多 个动作。
根据一个实施例,对应用层消息的该部分执行的处理在概念上包括从这一个或多个数据分组的剩余部分中分离出该应用层消息的内容,并且以 基于与这些内容相关联的语义的方式对这些内容进行检査和解释。这种类 型的检査比分组级别的检査更精细,可以被称作"深度内容检査"。例
如,多部分(MIME)消息的每部分可以基于与该部分相关联的语义被分 离地解释和检查。例如,如果多部分消息的一部分是JPEG图像,则该部 分基于JPEG语义被检査;如果多部分消息的一部分是XML文档,则该 部分基于XML语义被检査;其他部分也可以基于不同的语义被检查。消 息的不同组成部分利用与该部分相关联的语义理解。
因为网络元件可以对该网络元件接收到的数据载荷的有效载荷部分屮 包含的消息执行任何所要求的"翻译",发送和接收这些消息的应用无需 被修改来自己执行这些翻译。发送和接收消息的应用可能在毫不"觉察" 那些消息正被修改的情况下执行发送和接收(基于安全原因,假设在应用 和网络元件之间存在受信关系)。应用可以彼此通信,好像每个另一个应 用利用相同的消息格式和应用层协议进行通信一样。
此外,因为在多个客户端和服务器应用中间的单个网络元件町以利用
用户指定输入被配置来将不同的数据分组流与关联有不同的用户指定动作 的不同用户指定消息分类相匹配,所以在网络管理员选择的某些路径中有 选择地放置专用网络设备变得不必要了。单个网络元件可以执行原本由多 个专用网络设备另外执行的所有动作。例如,网络元件可以是已在网络中 执行路由选择功能的网络路由器或者交换机;因此,利用这里所述方法, 设置在客户端和服务器应用之间的中间网络元件的数目不需要增多。作为 另一个示例,网络元件可以是附接或连接到交换机或路由器并且执行OSI 第2层或者更高层处理(包括分组级和消息级处理)的网络设备和/或设 备。
在其他方面中,本发明包括配置来实现前述步骤的计算机装置和计算 机可读介质。
2.0结构和功能概述
图1是示出了其中网络元件102、 104、 106和108中的一个或多个代
表应用执行消息有效载荷处理功能的系统100的一个实施例的框图。网络 元件102、 106和108可以例如是代理设备。网络元件104例如可以是网络 路由器或交换机,例如图6中所示的路由器600。
客户端应用IIO被与网络元件102通信耦合。服务器应用112被通信 耦合到网络元件106。服务器应用114被通信耦合到网络元件108。客户 端应用IIO和服务器应用112及114每个都可以是分离的计算机。或者, 客户端应用IIO和服务器应用112及114每个都可以是在分离的计算机上 执行的分离进程。
网络元件102和104被与网络116通信耦合。网络元件104和106被 与网络118通信耦合。网络元件104和108被与网络120通信耦合。网络 116、 118和120每个都是计算机网络,例如局域网(LAN)、广域网 (WAN),或者例如因特网之类的网间网。网络116、 118和120可以包 含额外的网络元件,例如路由器。
在一个实施例中,客户端应用110将消息编址为去往服务器应用112 和114,并且网络元件102、 104、 106和108拦截包含该消息的数据分 组。在替换实施例中,客户端应用110显示地将消息编址去往网络元件 102。网络元件102、 104、 106和108组装一个或多个数据分组来确定其 中包含的消息的至少一部分。基于该消息,网络元件102、 104、 106和 108执行一个或多个动作。这些动作中的一些的示例将在下面更详细描 述。
图2图示了示出了用于在网络元件处代表客户端应用执行消息有效载 荷处理功能的方法的一个实施例的概述的流程图200。这种方法例如可由 网络元件102、 104、 106和108中任一个执行。
在框202中,网络元件接收到用户指定输入。该用户指定输入指示消 息分类和与该消息分类相关联的一个或多个动作。例如,网络元件104可 以从网络管理员接收到这种用户指定的消息。消息分类定义消息的类属或 者种类。例如,所有购买订单可能都属于同一消息分类。满足与一个消息 分类相关联的用户指定的标准或规则的消息属于该消息分类,而不满足这 些标准或者规则的消息不属于该消息分类。
在块204中,网络元件接收到一个或多个数据负分组。例如,网络元 件104可以拦截到去往服务器应用112的一个或多个数据分组。作为另一 个示例,网络元件102可以接收到去往网络元件102的一个或多个数据分 组。网络元件102能够确定应用层消息边界,所以在一个实施例中,即使 网络元件102尚未接收到包含应用层消息的所有部分的全部数据分组,网 络元件102也可以对流中包含的应用层消息或者该应用层消息的多个部分 执行操作(下面将描述)。
在块206中,基于数据分组,确定出在多个数据分组的有效载荷部分 中总地包含的一个应用层消息属于特定消息分类。例如,网络元件104可 以组装至少一些数据分组。网络元件104可以对所组装的数据分组的有效 载荷部分的内容进行检査来确定客户端应用110正尝试发送的应用层消息 的至少一部分。该消息例如可以是根据XML格式格式化并且利用HTTP 传输的购买订单。这样,该该消息可能包含HTTP和XML头部。基于数 据分组头部中的消息内容和/或信息,网络元件104可以确定出该消息屈于: 在用户指定输入中指出的特定消息分类。例如,网络元件104可以基于部 分消息确定出该消息是购买订单。
在框208中,通过对至少部分消息执行与特定消息分类相关联的动 作,该至少部分消息被处理。例如,响应于确定出该消息属于"购买订 单"消息分类,网络元件104可以执行与"购买订单"消息分类相关联的 一个或多个指定动作。这些指定动作可以包括例如修改消息的格式(例 如,从XML到EDI)和利用与客户端应用110用来发送该消息的协议不 同的应用层协议(例如,FTP)将该消息发向服务器应用112。
3.0实现方式示例
3.1多刀片体系结构
根据一个实施例,路由器或交换机中的面向应用网络服务(AONS) 刀片执行上述动作。图6A是示出了其中监督刀片602将分组流610A-B中 的一些导向AONS刀片和/或其他刀片606N的路由器600的一个示例的框 图。路由器600包括监督刀片602、 AONS刀片604和其他刀片606A-N。
刀片602、 604和606A-N中的每个是安装有组件单个电路板,其中所述组 件是例如通常在多个板上可以找到的处理器、存储器和网络连接。刀片 602、 604和606A-N被设计为可添加到路由器600和从路由器600移除。 路由器600的功能由其中的刀片的功能确定。添加刀片到路由器600可以 扩展路由器600的功能,但是如果希望的话路由器600可以以更少的成本 利用更少的刀片提供较少的功能。刀片中的一个或多个可以是可选的。
路由器600接收分组流,例如分组流610A-B。更具体地说,在一个 实施例中,路由器600接收到的分组流610A-B是由监督刀片602接收到 的。监督刀片602可以包括转发引擎和/或路由处理器,例如可从Cisco Systems公司购买的那些。在替换实施例中,路由器600包括一个或多个 可以包括转发引擎的网络I/O模块;在这种替换实施例中,由监督刀片 602执行的下述操纵是由不位于监督刀片602内的转发引擎替代执行的, 这使得分组可以在不通过监督刀片602的情况下被转发到AONS刀片 604。
在一个实施例中,监督刀片602基于分组流610A-B的分组头部中包 含的一个或多个参数对那些分组流进行分类。如果特定分组的分组头部中 包含的参数与指定的参数匹配,则监督刀片602将这些分组发送到AONS 刀片604和/或其他刀片606A-N中指定的一个。或者,如果分组头部中包 含的参数与任何指定的参数都不匹配,则监督刀片602对该特定分组执行 路由选择功能,并且将该特定分组转发向该特定分组的目的地。
例如,监督刀片602可以确定出分组流610B中的分组头部与指定参 数匹配。结果,监督刀片602可以将分组流610B中的分组发送向AONS 刀片604。监督刀片602可以接收从AONS刀片604和/或其他刀片606A-N返回的分组,并且将那些分组发送到去往那些分组的目的地的网络路径 中的下一跳。作为另一个示例,监督刀片602可以确定出分组流610A中 的分组头部与任何指定的参数都不匹配。结果,不将分组流610A中的任 何分组发送向AONS刀片604或其他刀片606A-N,监督刀片602而是町 以将分组流610A中的分组发送向去往那些分组的目的地的网络路径中的 下一跳。AONS刀片604和其他刀片606A-N接收来自监督刀片602的分组, 并且对这些分组执行操纵,然后将这些分组返回到监督刀片602。监督刀 片602可以在将分组发送到路由器600外之前将那些分组发送向多个刀片 或者从多个刀片接收那些分组。例如,监督刀片602可以发送特定一组分 组到其他刀片606A。其他刀片606A对那些分组执行防火墙功能,然后将 那些分组发送回监督刀片602。监督刀片602可以从其他刀片606A接收分 组并将分组发送到AONS刀片604。 AONS刀片604可以对分组执行一个 或多个基于消息有效载荷的操作然后将分组发送回监督刀片602。
根据一个实施例,下面的事件在例如路由器600之类的AONS路由器 处发生。首先,包含从客户端到服务器的消息的分组被接收到。接下来, 对分组执行基于访问控制列表的过滤,并且一些分组被发送到AONS刀片 或模块。然后,对分组执行TCP终止。然后,如果必要的话对分组执行安 全套接字层(SSL)终止。然后对分组执行基于统一资源定位符(URL) 的过滤。然后,对分组执行基于消息头部和基于消息内容的过滤。然后, 分组中包含的消息被分类到多个AONS消息类型。然后,选择与AONS消 息类型相对应的策略流。然后执行所选择的策略流。然后,按照所选择的 策略流所指定的,分组被转发、重定向、丢弃、拷贝、修改或者扇出。
3.2在网络元件处执行消息有效载荷处理功能
图3A-B图示了示出了用于在网络元件处代表应用执行消息有效载荷 功能的方法一个实施例的了流程图300。例如,网络元件102、 104、 106 和108中的一个或多个可以执行这种方法。更具体地说,AONS刀片604 可以执行这种方法的一个或多个步骤。其他实施例可以省略流程图300中 示出的一个或多个操作。其他实施例可以包含流程图300中示出的操作之 外的操作。其他实施例可以以与流程图300中所示顺序不同的顺序执行流 程图300中示出的操作。
首先参考图3A,在框302中,在网络元件处接收到用户指定输入。 用户指定输入指定以下内容要与特定消息分类相关联的一个或多个标 准,以及要与该特定消息分类相关联的一个或多个动作。用户指定输入可 以指示该一个或多个动作要被执行的顺序。用户指定输入可以指示动作的
输出要作为输入被提供给其他动作。例如,网络元件104,更具体地说, AONS刀片604可以从网络管理员接收到这种用户指定输入。
用户指定输入可以指示要分别与多个独立的消息分类相关联的多组标 准,以及要与这多个消息分类相关联的多组动作。例如,用户指定输入可 以指示要与第一消息分类相关联的第一组标准、要与第二消息分类相关联 的第二组标准、要与第一消息分类相关联的第一组动作,以及要与第二消 息分类相关联的第二组动作。
在框304中,特定消息分类与一个或多个标准之间的关联在网络元件-处被建立。例如,AONS刀片604可以建立特定消息分类与一个或多个标 准之间的关联。例如,标准可以指示对于属于所关联的消息分类的一个消 息,该消息需要顺序包含的特定文本串。作为另一个示例,标准可以指示 对于属于所关联的消息列表的一个XML格式化的消息(或者基于Xpath 布尔表达式的消息),在该消息的分层结构中需要顺序存在的特定路径。 作为另一个示例,标准可以指示对于属于所关联的消息分类的一个消息, 该消息需要被顺序编址来自或去往的一个或多个源IP地址和/或目的地IP 地址。
可以建立独立的多组标准和独立的多个消息分类之间的多个关联。例 如,AONS刀片604可以建立第一组标准和第一消息分类之间的第一关 联,以及第二组标准和第二组消息分类之间的第二关联。
在框306中,特定消息分类和一个或多个动作之间的关联在网络元件 处被建立。与特定消息分类相关联的一个或多个动作包括与该特定消息分 类相关联的"策略"。策略可以包括根据在用户指定输入中指定的特定顺 序排序的一个或多个动作的"流",以及/或者未排序的一个或多个其他动 作。例如,AONS刀片604可以建立特定消息分类与一个或多个动作之间 的关联。总地来说,框302-306的操作包括"设置"网络元件。
可以建立独立的多组动作和独立的多个消息分类之间的多个关联。例 如,AONS刀片604可以建立第一组动作和第一消息分类之间的第一关 联,以及第二组动作和第二组消息分类之间的第二关联。
在框308中,去往网络元件之外的设备的一个或多个数据分组被该网
络元件接收到。这些数据分组可以例如是包含IP和TCP头部的数据分 组。这些数据分组的IP头部中指示出的IP地址可能与网络元件的IP地址 不同;因此,这些数据分组可能去往网络元件之外的设备。例如,网络元 件104,更具体地说,监督刀片602可能拦截到最初由客户端应用110发 送的数据分组。这些数据分组例如可能去往服务器应用112。
在框310中,基于数据分组的头部中指示出的一个或多个信息项,确 定出被用来发送这些数据分组的有效载荷部分中包含的消息(下文称作 "消息")的应用层协议。所述信息项例如可以包括IP头部中的源IP地 址、IP头部中的目的地IP地址、TCP头部中的TCP源端口,以及TCP头 部中的TCP目的地端口。例如,网络元件104,更具体地说,AONS刀片 604可以存储将FTP (—种应用层协议)映射到IP地址和/或TCP端口的 第一组合,并且将HTTP (另一种应用层协议)映射到IP地址和/或TCP 端口的第二组合的映射信息。基于该映射信息和由数据分组指示出的IP地 址和/或TCP端口,网络元件104可以确定出被用来传输该消息的应用层 协议(FTP、 HTTP、简单邮件传输协议(SMTP)等)。
在框312中,确定出与用来传输消息的应用层协议相关联的消息终止 技术。例如,网络元件104,更具体地说,AONS刀片604可以存储将 FTP映射到第一过程,将HTTP映射到第二过程,并且将SMTP映射到第 三过程的映射信息。第一过程可以可以采用第一消息终止技术,该技术可 以用来从数据分组中提取已利用FTP终止的消息。第二过程可以采用第二 消息终止技术,该技术可以用来从数据分组中提取已利用HTTP终止的消 息。第三过程可以采用第三消息终止技术,该技术可以用来从数据分组中 提取已利用SMTP终止的消息。基于该映射信息和用来传输消息的应用层 协议,网络元件104可以确定应当被调用来从数据分组中提取消息的过 程。
在框314中,基于与用来传输消息的应用层协议相关联的终止技术, 该消息的内容被确定出。例如,网络元件104,更具体地说,AONS刀片 604可以将数据分组作为输入提供给在框312中确定出的映射到应用层协 议的过程。该过程可以使用合适的消息终止技术来从数据分组中提取消息
的内容。该过程可以将该消息作为输出返回给AONS刀片604。因此,在 一个实施例中,从数据分组中提取出的消息与用来传输该消息的应用层协 议是独立的。
在一个实施例中,确定消息的内容包括对两个或更多个数据分组的有 效载荷部分的内容进行组装。例如,网络元件104可以(例如基于TCP顺 序号)确定两个或者更多个TCP数据分组的正确顺序,提取出这些TCP 数据分组的有效载荷部分的内容,根据该正确的顺序对内容进行连接来形 成至少部分消息。该消息可以是多部分(MIME)消息,并且每部分可以 独立地被处理,如同其是独立的消息一样;每部分可以被与不同的消息分 类相关联。
在框316中,与消息所满足的标准相关联的消息分类被确定出。例 如,网络元件104可以存储将不同的标准映射到不同的消息分类的映射信 息。映射信息从许多可能的不同映射中指示出在框304中建立的关联。网 络元件104可以确定消息的内容是否满足与任何已知消息分类相关联的标 准。在一个实施例中,如果消息的内容满足与一种特定消息分类相关联的 标准,则确定出该消息属于该特定消息分类。
在一个实施例中,尽管消息的内容被用来确定该消息的分类,伹是在 替换实施例中,消息中包含的信息之外的信息也可以被用来确定消息的分 类。例如,在一个实施例中,包含该消息的数据分组中指示出的一个或多 个IP地址和/或TCP端口和该消息的内容的组合被用来确定消息的分类。 作为另一个示例,在一个实施例中,在包含消息的数据分组中指示出的一 个或多个IP地址和/或TCP端口被用来确定该消息的分类,而不考虑该消 息的内容。
在框318中,与在框316中确定出的消息分类相关联的一个或多个动 作被执行。如果两个或更多个动作关联有用户指定输入所指定的执行顺 序,则那些动作按照该指定顺序被执行。如果任何动作的输出按照用户指 定输入指示要作为输入被提供给任何动作,则该指定动作的输出作为输入 被提供给其他指定动作。
可以对消息执行各种不同的动作。例如, 一个动作可能指示该消息要
被丢弃。在这种情形中,阻止该消息被转发出网络元件去往该消息的目的 地。作为另一个示例, 一个动作可能指示一个消息在被转发出网络元件之 前要利用指定的压縮技术被压縮。
作为另一个示例, 一个动作可能指示消息的内容要以指定的方式被改 变。例如, 一个动作可能指示指定的文本要被插入到该消息中的指定位置
中。消息的XML分层结构中的路径也可能指定这种位置,例如,或者在 消息中出现的指定文本串可能指定这种位置。作为另一个示例, 一个动作 可能指示要从消息中删除指定的文本。作为另一个示例, 一个动作可能指 示指定文本要被用来替换消息中的其他指定文本。插入到消息中的文本可 以从在网络元件外部的数据库动态("及时")获得。
作为另一个示例, 一个动作可能指示一个消息的消息格式要以指定的 方式被改变。例如, 一个动作可能指示消息的格式要从XML被改变成一 些其他格式,例如EDI。作为另一个示例, 一个动作可能指示消息的格式 要从XML之外的一些其他格式被改变成XML。消息的格式可以在不改变 消息的核心内容的情况下被改变,消息的核心内容是独立于消息格式的。
作为另一个示例, 一个动作可能指示一个消息要利用最初用来传输该 消息的应用层协议之外的指定的应用层协议被转发。例如,客户端应用 110可能使用了第一应用层协议(例如,HTTP)传输消息。因此,当被网 络元件104,更具体地说AONS刀片604拦截到时,该消息可能已包含了 HTTP头部。但是,根据一个指定的动作,在网络元件104将向该消息的 目的地转发该消息之前,网络元件104,更具体地说AONS刀片604可以 对该消息进行修改,使得该消息将利用HTTP之外的应用层协议(例如, FTP、 SMTP等)被传送。
作为另一个示例, 一个动作可能指示消息的目的地要被改变,使得该 消息将被转发到与该消息的源最初指定的设备不同的设备。例如,根据一 个指定的动作,网络元件104,更具体地说AONS刀片604可能将消息封
装到一个或多个新IP数据分组中,这些IP分组指示与原始拦截到的IP数 据分组所指示的目的地IP地址不同的新目的地IP地址。网络元件104然 后可以将这些新IP分组转发向该新的目的地。这样,可以实现基于消息内
容的路由选择。
作为另一个示例, 一个动作可能指示指定的事件要被写入到可能在网
络元件外部的指定的日志。例如,根据一个指定的动作,网络元件104, 更具体地说AONS刀片604可能将至少一部分消息和从其接收到该消息的 IP地址一起写入到日志文件。
作为另一个示例, 一个动作可能指示消息在被转发向目的地之前耍利 用指定的密钥被加密。例如,根据一个指定的动作,网络元件104,更具 体地说AONS刀片604可能利用指定的密钥对至少一部分消息进行加密, 然后将包含该经加密消息的数据分组转发向该消息的目的地。加密还对后 续动作施加了约束(例如,经加密的部分不能被修改)。
作为另一个示例, 一个动作可能指示如果响应被缓存在网络元件处则 在该网络元件处缓存的响应将被返回到该消息源自的设备。例如,网络元 件104,更具体地说AONS刀片604可以确定处对消息的响应是否被缓存 在网络元件104处;这种响应在对相同消息的先前响应传递过网络元件 104时可能已被缓存在网络元件104处。如果网络元件104确定出这种响 应已被缓存,则网络元件104可以将该响应返回到消息的出发点。对于没 有任何持久状态改变的只读操作,网络元件104不需要将消息转发到该消 息的目的地,并且该消息的目的地也不需要对该消息发布另一个响应。
作为另一个示例, 一个动作可能指示消息中的一些认证信息(例如, 用户标识符和关联的口令)要被用来对该消息进行认证。例如,网络元件 104,更具体地说AONS刀片604可能通过将消息中的认证信息与存储在 网络元件104处的受信信息进行比较来对该消息进行认证。
如果在执行动作期间消息以某种方式被修改(例如,内容、格式或者 协议修改),并且如果假设修改后的消息要被转发出网络元件,则该网络 元件将修改后的消息封装到新的数据分组中,并且将这些新的数据分组发 送向修改后的消息的目的地,该目的地也可能已被修改。
一个消息可能不属于任何已知的消息分类。在这种情形中,根据--个 实施例,网络元件不对该消息执行任何用户指定的动作。相反,网络元件 仅将数据分组转发向沿到达这些数据分组的指示出的目的地的路径的下一跳。
可以对多组数据分组(其中每组承载一个独立的消息)执行流程图
300中示出的方法。例如,网络元件104可以对承载第一消息的第一组数 据分组执行所示的方法,然后网络元件104可以对称作第二消息的第二组 数据分组执行所示的方法。第一消息可能满足与第一消息分类相关联的第 一组标准,并且第二消息可能满足与第二消息分类相关联的第二组标准。 因此,网络元件104对第一消息执行第一组动作,并且对第二消息执行第 二组动作。
作为流程图300所示方法的结果,诸如客户端应用110、服务器应用 112和服务器应用114之类的应用可以彼此通信,如同没有网络元件充当 中间元件一样,并且如同每个其他应用都使用相同的消息格式和应用层协 议通信一样。
3.3动作流
图4示出了可能与一种特定的消息分类相关联的简单流程400。流程 400顺序包括动作402-404;其他流程可以包括一个或多个其他动作。动作 402指示消息的内容应当以指定的方式被修改。动作404指示指定的事件 应当被写入到指定的日志。动作406指示消息的目的地应当被改变成指定 的目的地。动作408指示消息的格式应当被翻译成指定的消息格式。动作 410指示用来传输消息或者内容的应用层协议应当被改变成指定的应用层 协议。动作412指示消息或内容应当利用特定的密钥被加密。动作414指 示消息应当被转发向该消息的目的地。其他动作例如可能包括信令和验证 动作。
在其他实施例中,动作402-414中的任意一个可以被单独执行,或者 与动作402-414中的任何其他动作结合执行。 3.4过滤处理
一般而言,检査、解析和修改应用层消息是处理资源密集操作,这种 操作不能同仅基于TCP和IP分组头部中的信息的路由选择操作一样快地 被执行。在参考图6A,利用分组级处理而不是消息级处理,监督刀片602 可能能够比AONS刀片604处理分组中包含的应用层消息更快地对那些分
组进行处理并且将它们发送到AONS刀片604。实际上,可能存在一些包 含应用层消息的分组,AONS刀片604根本都不需要对这些分组进行处 理。将这种分组发送到AONS刀片604仅会浪费处理资源,并且导致 AONS刀片604的分组缓冲器变得堆满分组。
因此,在一个实施例中,监督刀片602仅将一些选出的分组发送到 AONS刀片604。监督刀片602用来选择这些分组的技术可以被称作"过 滤"。作为过滤的结果,AONS刀片604不会接收到AONS刀片604可能 不对其执行任何操作的那么多分组。
图6B图示了示出了用于过滤将对其执行消息级处理的分组的方法的 一个实施例的流程图650。在框652中,确定分组或帧的第2-4层头部中 包含的信息是否满足指定的标准。标准可能指定这些分组需要来自和/或去 往的特定源和/或特定目的地,以便确定出消息级处理。例如,监督刀片 602可能确定分组的源地IP地址、源TCP端口 、目的地IP地址和目的地 TCP端口中的一个或多个的组合是否与这些地址和端口的任何用户指定的 组合匹配。如果头部信息满足指定的标准,则控制传递到框654。否则, 控制传递到框656。
在框654中,分组被发送到AONS刀片。例如,监督刀片602可以将 分组导向AONS刀片604。 AONS刀片604然后可以对至少部分被包含在 该分组中的应用层消息执行资源更密集的消息级处理。
或者,在框656中,分组被转发向该分组的目的地。例如,监督刀片 602可以在不将该分组发送向AONS刀片604的情况下将该分组路由向该 分组的下一跳。对该分组未执行消息级处理。
3.5 AONS示例 3.5.1 AONS综述
面向应用网络系统(AONS)是一种用于构建一类产品的技术基础, 该类产品将智能嵌入到网络中来更好地满足应用布署的需求。AONS通过 提供以下内容对现有技术提供了补充对正在网络中流动的信息类型的更 高程度的感知和帮助客户通过以适当的目的地所期望的格式将信息路山到 该目的地来集成不同的应用;用于信息访问和交换的强制策略;针对网络
带宽和处理开销二者对应用流量的流进行优化;提供对信息流的增加的可 管理性,包括对信息流进行监控和度量以用于商业和底层结构目的;以及 通过透明地备份或重路由关键商业数据来提供早期的商业连续性。
AONS通过更多地理解信息流的内容和上下文,从而提供了这种增强 的支持。这样,AONS主要工作在消息级别而不是分组级别。 一般而言, 对信息执行的AONS处理终止TCP连接以对整个消息进行检查,包括 "有效载荷"以及所有头部。AONS还理解并且协助流行的应用层协议, 例如,HTTP、 FTP、 SMTP,以及事实上的标准中间件协议。
AONS与运行在通用计算系统中的中间件产品的不同之处在于,就其 简单性、所有者的纵成本和性能来说,AONS的行为更类似于网络设备。 此外,AONS与网络层支持相集成来对信息流和管理、在应用层所要求的 特征到由路由器、交换机、防火墙和其他联网系统实现的低层联网特征的 映射提供更全盘的方法。
尽管在来自Cisco Systems公司的现有产品线中提供了一些具有AONS 类似功能的元件,但是这种产品一般都在只有对信息的非常有限的感知 (例如,IP/端口地址或HTTP头部)的情况下工作来提供载荷均衡和故障 恢复解决方案。AONS提供了一种框架,该框架具有更广泛的功能支持、 更广泛类型的应用和对应用数据的更高程度的控制和管理。 3.5.2 AONS术语
"应用"是在服务器或台式系统中运行的执行商业功能的软件实体。 应用可以打包的应用程序,在应用服务器中运行的软件,在主机中运行的 遗留应用程序,或者内部开发的用来满足商业求的定制或者专用软件, 或者执行一些操作的脚本。这些应用可以与同一部门中的其他应用通信 (部门内),在单个企业中跨部门通信(企业内),在企业与其伙伴之间 通信(企业间或者B2B)或者在企业与其客户之间通信(客户或者 B2C)。对于上述任何场景,AONS都提供了增值服务。
"应用消息"是由一个应用产生来与另一个应用通信的消息。应用消 息可以指定在对该消息进行处理时应当执行的不同的商业级步骤,并且应 用消息可以是下面部分中描述的任何消息格式的。在本文档的余下部分
中,除非另行明确指定,术语"消息"也指应用消息。
"AONS"节点是AONS系统(或者网络)中的主要AONS组件。稍 后将描述,AONS节点可以采用客户端代理、服务器代理、或者对应用消 息进行路由的中间设备的形式。
每个应用消息在被第一 AONS节点接收到时,被分配一个AONS消息 ID,并且被认为是"AONS消息",直到该消息每递送到目的地AONS节 点为止。AONS消息的概念存在于AONS云中。单个应用消息可以映射到 多于一个AONS消息。例如如果应用消息要求由多于一个商业功能的处理 就是这种情形。例如,由请求应用提交的并且需要被"CreditCheck"应用 和"LoanProcessing"应用二者处理的"LoanRequest"消息将要求多于一 个商业功能的处理。在本示例中,从AONS的视角看,存在两个AONS消 息从请求应用到CreditCheck应用的"LoanRequest"到"CreditCheck" AONS消息;以及从CreditCheck应用至!] LoanProcessing应用的 "LoanRequest"到"LoanProcessing" AONS消息。
在一个实施例中,AONS消息被封装到包含AONP (AON协议)头部 的AONP消息中,然后被翻译成"规范"格式。AONP是用来实现两个或 更多个AONS节点之间联合的一种机制。例如,第一AONS节点可能知道 其正与第二或者其他AONS节点协同动作;因此这些AONS节点被"联 合"。第一 AONS节点可能已对一个特定的消息执行了一个或多个动作, 例如,加密、信令、认证等。第一AONS节点可能在一个或多个AONP头 部中指示第一 AONS节点执行的动作。在接收到该AONP消息时,第二 AONS节点可以从AONP头部确定出已被执行的动作。结果,第二 AONS 节点可以先执行那些动作,或者以高效和优化的方式执行其他功能。从 AONS消息视角来看,提供了可靠性、日志登记和安全性服务。
应用一般用来彼此通信的协议或方法的集合从AONS视角来看被称作 "应用访问协议"(或方法)。应用可以利用任何得到支持的应用访问方 法来与AONS网络(一般是末端代理客户端代理和服务器代理)通信。 应用访问协议的一些示例包括IBMMQSeries、 Java消息服务(JMS)、 TIBCO、基于超文本传输协议(HTTP) /HTTPS的简单对象访问协议(SOAP)、简单邮件传输协议(SMTP)、文件传输协议(FTP) 、 Java 数据库连接(JDBC) 、 TCP等。在本文档的后面部分中将对关于各种访 问方法的细节进行解释。
存在非常多种由应用使用的"消息格式"。这些消息格式包括定制或 专用格式、工业专用格式、标准化格式。可扩展标记语言(XML)作为一 种用于应用彼此通信的通用语言或消息格式,正日益流行。AONS支持这 些格式中的非常多种。
另外,在一个实施例中,AONS提供基于应用需求从一种格式到另一 种格式的内容翻译服务。 一种典型的布置可能包括接收到应用消息的第一 AONS节点(客户端代理),消息被翻译成"规范"格式,然后作为 AONS消息被传递过AONS网络。服务器代理可以在递送消息之前将该消 息从"规范"格式翻译成接收应用可理解的格式。但是,代理不是必需 的。为了理解某些非工业标准格式,可以使用消息字典。
执行多种应用访问方法或协议之间的网关功能的节点被称作"协议网 关"。协议网关的一个示例是通过文件传输协议(FTP)接收到应甩-消息 并且将同一消息作为HTTP post发送向另一个应用的节点。在AONS中, 一般期望客户端代理和服务器代理执行协议网关功能。
如果应用以电子数据交换(EDI)格式产生消息,并且如果接收应用 期望XML格式的消息,则消息格式需要被翻译,但是该消息的内容需耍 在翻译时保持完整。在AONS中,末端代理一般执行这种"消息格式翻 译"功能。
在一些情形中,即使发送和接收应用使用相同的消息格式,但是需要 针对接收应用对内容进行翻译。例如,如果位于美国的应用正与位于英国 的应用通信,则这两个应用之间的消息中的日期格式可能需要被翻译(从 mm/dd/yyyy到dd/mm/yyyy),即使这些应用使用相同的数据表示(或者 消息格式)也是如此。这种翻译被称作"内容翻译"。 3.5.3 AONS功能概述
如前面所定义的,AONS可以被定义为基于网络的智能中间系统,这 些系统高效并且有效地将商业和应用需求与更灵活并且及时响应的网络访
问相集成。
具体而言,可以通过下面的特性理解AONS。
AONS在比传统的网络元件产品(第2-4层)更高的层处工作(第5-6 层)。AONS通过理解应用消息来使用消息级检査作为分组级检査的补 偿,AONS使"消息交换路由"上的多个网络元件产品增值,所述网络元 件产品例如是交换机、防火墙、内容缓存系统和载荷均衡器。AONS还提 供了灵活性和就安全性、可靠性、流量优化(压縮、缓存)、可见性(商 业事件和网络事件)和变换(例如,从XML到EDI)而言网络响应的粒 度。
AONS是一种全面的技术平台,而不是仅点解决方案。AONS可以通 过位于分布式企业内和企业间环境中的应用、中间件和数据库之间的分布 式智能中间系统实现(路由消息、执行变换等)。AONS提供了一种灵活 的框架,用于商业流和策略的最终用户配置,以及AONS服务的伙伴驱动 可扩展性。
AONS尤其适用于基于网络的布署。AONS是基于网络的而不是基于 通用服务器的。AONS是基于混合软件和基于硬件的(即,基于专用集成 电路(ASIC) /现场可编程门阵列(FPGA)加速)。AONS按照策略所确 定的使用流量的带外(out-fo-band)或线内(in-line)处理。AONS被布署 在孤立产品(网络设备)以及嵌入式产品(用于多个交换、路由选择和存 储平台的服务刀片)中。 3.5.4 AONS系统概述
本部分概括示例AONS系统的系统概略。图7是示出了根据本发明一 个实施例的示例AONS网络702中包括的各个组件的图700。
在AONS网络702内,关键构建模块包括AONS末端代理(AEP) 704-710和AONS路由器(AR),末端代理704-710位于AONS网络的边 沿并且充当进入和离开点,AONS路由器位于AONS网络内。对应用意图 的可见性可以从置于逻辑AONS "云"边沿处的AEP 704开始。作为试图 发送消息通过网络到服务器应用716A-N和718A-N中的特定服务器应用 目的地的客户端应用714A-N中的一个特定客户端应用,该特定客户端应 用首先将与AEP704交互。
AEP 704充当透明的或显示的消息传递网关,其将网络分组聚合成应 用消息,并且通过检査给定消息的头部和有效载荷,将该消息与适当的上 下文相关联,并且可选地应用适当的策略(例如,消息加密、变换等)并 且然后经由网络交换机将该消息转发向该消息的应用目的地,来推断消息 级意图。
AONS路由器(AR) 712可以拦截消息然后将该消息路由到其目的地 末端。基于消息头部内容,AR712可以确定新的路由将更好地服务于给定 应用系统的需要。AR712可以基于企业级策略,在考虑到当前网络状况的 情况下作出这种确定。当消息接近其目的地时,该消息可能遇到AEP 706, AEP706可以在该消息到达目的地之前执行最后一组操作(例如,消 息解密、递送确认)。在一个实施例中,每个消息仅被解析一次在该消 息第一次进入AONS云时。消息通过的第一个AEP负责准备在下层网络 中对消息进行最优处理。
AEP 704-708可以进一步被分类成AEP客户端代理和AEP服务器代 理,以明确突出代表具体末端应用的AEP执行的角色和操作。
典型的消息流包括特定客户端应用714A利用AONS所支持的多种访 问协议之一来提交消息到AEP客户端代理(CP) 704。 一旦接收到该消 息,AEP 704分配一个AONS消息ID给该消息,利用AONP头部对该消 息进行封装,执行于AONS网络相关的任何必要的操作(例如,安全性和 可靠性服务)。另外,如果必要的话,该消息被AEP CP 704翻译成"规 范"格式。该消息通过TCP连接沿到目的地应用718A的路径被传递到 AR 710。沿该路径的AONS路由器或交换机执行该消息必需的底层结构服 务,并且可以基于由客户配置的策略改变路由选择。该消息在目的地AEP 服务器代理(SP) 706处被接收到。AEP SP 706执行必要的安全性和可靠 性功能,并且如果必要的话将该消息翻译成接收应用理解的格式。AEP SP 706然后利用应用718A和AONS支持的任何访问协议将该消息发送到接 收应用718A。在稍后部分中将描述通过AONS网络702的详细消息流。
这里所述的消息处理可以针对AONS节点可能遇到的不同类型的消息
而被执行。AONS节点可以处理请求消息、响应消息、从AONS节点呼出 的消息或者被带入AONS节点的消息、或者异常消息;AONS节点可以对 在客户端应用和服务器应用之间发送的消息类型的消息的内容,或者那些 消息之外的消息的内容进行处理。例如,响应于拦截到来自客户端应用的 消息,AONS节点可以产生另一个消息并将其发送向数据库服务器。 AONS随后可以接收来自该数据库服务器的又一个消息。AONS节点以这 里所述的方式对上述任何消息执行消息处理,而不是仅对来自客户端的消 息执行消息处理。
AONS节点可以响应于确定出消息的递送将导致故障而执行指定的动 作。例如,AONS可以确定出一个消息比该消息去往的服务器应用可以接 受的最大大小大。响应于此,AONS节点可以阻止该消息被转发到服务器 应用。相反,AONS可以将该消息记入日志,用于稍后由管理员检査。作 为另一个示例,响应于确定出一个消息包含病毒或者其他恶意内容, AONS节点可以对该消息"杀毒"(例如,通过对消息内容进行加密和/或 压縮),然后将"经杀毒"消息存储到日志中用于稍后由管理员检仓。 3.5.5 AONS系统元件
本部分概括从AONS视角看所使用的不同的概念。 "AEP客户端代理"是执行消息发送方(客户端)的应用所必需的服 务的AONS节点。在本文档的余下部分中,末端代理也指客户端代理或者 服务器代理。尽管AONS节点可以实现代理的角色,但是它们一般不被这 样指定;"AEP代理"是用于定义角色的一个术语。客户端代理在处理消 息时的一般责任是消息预分类&早期拒绝、协议管理、消息标识管理、 AONP头部中的消息封装、可靠递送的末端起点、安全末端服务起点(加 密、数字签名、认证)、流选择&执行/底层结构服务(日志登记、压缩、 内容变换等)、路由到下一跳AONS节点或目的地、AONS节点和路由发 现/通告角色和路由,以及可靠递送机制的起点(有保证的递送路由器)。
对于每个消息,并不需要执行上述所有功能。对消息执行的功能由为 AONS节点配置的策略控制。
"AEP服务器代理"是执行消息接收方(服务器)的应用所必需的服务的AONS节点。在本文档的余下部分中,服务器代理也被称作末端代
理。服务器代理在处理消息时的一般责任是协议管理、可靠递送的末端
终止、安全末端服务终止(解密、数字前面验证等)、流选择&执行/底层
结构服务(日志登记、压缩、内容变换等)、AONP头部中的消息封装、 对发送AONS节点的确认、到目的地的应用路由选择/请求消息递送、响 应消息关联,以及到进入AONS节点的路由选择。
注意,对于每个消息,并不需要执行上列所有功能。对消息执行的功 能由为AONS节点配置的策略和该消息头部所指示的内容控制。
"AONS路由器"是与AONS网络中的其他底层结构服务一起提供消息 转发功能的AONS节点。AONS路由器与客户端代理、服务器代理,以及 其他AONS路由器通信。AONS路由器可以在不解析消息的情况下提供服 务;AONS可以依靠AONP消息头部和在AONS网络中配置的策略,而不 是解析消息。AONS路由器提供以下功能就所需TCP连接的数目而言 AONS网络中的可扩展性;基于消息目的地、在AONS云中配置的策略、 该消息中指定的路由和/或该消息的内容的消息路由选择;在期望ll的地处 的载荷-如果需要的话重路由;目的地可用性-如果必要的话重路由;传输 成本(从多个服务提供商中选择);以及底层结构服务,例如,发送到目 志登记设施、发送到存储区域网(SAN)用以备份,以及对于可缓存消总 用接口连接到缓存引擎(类似的分类)。
AONS路由器不需要理解任何应用访问协议,并且在一个实施例中, 仅处理利用AONP头部封装的消息。
面向应用的联网协议(AONP)是一种用于AONS网络中的节点之间 的通信的协议。在一个实施例中,每个AONS消息承载有AONP头部, AONP头部运送该消息的目的地和用于在后续节点中对该消息进行处理的 额外信息。AONP还解决策略交换(静态或动态的)、节点之间的故障恢 复、AONS节点之间的载荷均衡,以及路由选择信息交换。AONP还在多 个网络元件(例如,防火墙、缓存引擎和路由器/交换机)中实现面向应用 的消息处理。AONP支持固定头部和可变头部二者(利用类型-长度-值 (TLV)字段形成的),以支持中间节点中的高效处理以及额外服务的灵
活性。
除非另行明确指出,"路由器"或"交换机"在这里指当前商用的典型的第3层或者第2层交换机或路由器。
3.5.6 AONS示例特征
在一个实施例中,下层的"AONS子系统服务基础平台"(AOS)提 供了一套通用服务,包括对安全性、压縮、缓存、可靠性、策略管理和其 他服务的支持。在该平台的最顶上,AONS提供了一套精心设计的功能组 件,这些组件可以被有线连接到一起以提供对进入数据流量的总体处现。 这些"bladelet "目的在于,在应用或者信息技术(IT)经理所要求的具 体策略或动作的上下文中实现独立的服务。 一系列访问方法适配器确保对 一套进入和外出格式的支持。最后, 一组面向用户的工具使得经理能够适 当地查看、配置和设置用于AONS解决方案的策略。这四类功能组合来提 供一条最终客户功能,包括增强的安全性、底层结构优化、商业连续性、 应用集成和操作可见性。
由AONS解决方案实现的增强的可见性和增强的响应度提供了许多智 能的、面向应用的网络服务。这些智能服务可以被归纳成四个主耍分炎:增强的安全性和可靠性在现有网络级安全性之外,实现—fiJ靠的消息 递送和提供消息级安全性。
底层结构优化通过利用消息级缓存和压縮以及将应用与网络服务质 量(QoS)集成,更有效地利用网络资源。
商业和底层结构活动监控和管理通过读取应用层消息中包含的信 息,AONS可以记入日志、审核和管理应用级商业事件,并且在通常的策 略驱动管理环境中将这些与网络、服务器、以及存储底层结构事件组合。
基于内容的路由选择和变换基于消息的路由选择以及对协议、内 容、数据和消息格式进行变换(例如,XML变换)。下面更详细地描述 属于这些主要分类中的每个的各个特征。 3.5.6.1增强的安全性和可靠性
认证AONS可以基于给定消息内包含的多个信息片段(用户名/口 令、数字证书、安全断言标记语言(SAML)断言等)来验证入境消息的
发送者的标识,并且基于这些证明确定该消息是否应当被进一步处理。
授权一旦通过消息检查获得主要证明,AONS可以确定该消息的始
发者对其正试图调用的服务应当具有的访问级别。AONS也可以基于这种
导出的特权执行路由选择判决,或者在消息一旦处于AONS网络中就适当
地阻断或者掩掉该消息中的某些数据元素。
加密/解密基于策略,AONS可以对消息元素(整个消息、消息t
体,或者独立的元素,例如信用卡号)执行加密,来在消息通过AONS网
络时维持端到端的秘密性。相反,AONS在这些元素到达给定末端之前nj'
以对这些元素执行解密。
数字签名为了确保消息完整性并且允许认可消息事务,AONS n丁以
在给定的AEP处对整个消息或者独立的消息元素执行数字签名。对签名内
容的判决将由被应用到从每个消息的内容或上下文导出的信息的策略确定。
可靠性AONS可以通过在不同的专用机制之间居间处理从而对现有 的有保证消息传输系统作出补充。也可以向当前缺乏可靠递送的基f HTTP的应用(包括web服务)提供可靠性。作为附加的特征,AONS W 以产生成功消息递送的确认,以及在递送不能得到确认时自动产生异常响 应。
3.5.6.2底层结构优化
压縮和基于流的数据提取AEP可以在将消息数据发送过网络之約'对 消息数据进行压縮以便节约带宽,并且在到达末端递送之前相反对消息数 据进行解压縮。AEP还可以提取数据来在不用等待整个消息都被读入的情 况下执行消息分类。
缓存AONS可以基于针对一类请求定义的规则或者基于响应中设置 的指示符缓存先前消息查询的结果。可以对整个消息或者对消息的某些元 素执行缓存,以便减少应用响应时间并且节约网络带宽使用。消息元素缓 存使得能够实现对后续消息请求的5处理。
TCP连接池处理通过充当消息客户端和服务器之间的中介,AONS 可以合并在应用之间所要求的所有数目的持久连接。AONS从而减少了与
不断进行的初始化和拆掉末端网格之间的连接相关联的客户端和服务器处 理载荷。
批处理AONS中介可以对去往多个目的地的事务消息进行批处理, 以减少发送系统上的盘I/O开销。类似地,来自多个源的事务消息也可以 被批处理,以减少在接收系统上的盘I/0开销。
硬件加速通过利用专用硬件高效执行AONS网络设备屮的计算密鬼 功能(例如,加密和可扩展样式表语言变换(XSLT)变换),AONS可 以对末端服务器的计算资源减载,从而提供了可能的低成本处理能力。
服务质量AONS可以在检测到具体的消息时,基于明确的消息优先 级划分(例如,标记为"高优先级"的消息),或者用于确定对于一个消 息何时要求较高的网络服务质量的策略,将应用层QoS与网络层QoS特 征集成。
策略实施处于对整个AONS方案进行优化的核心的是确保商业级策 略被底层结构表达、实现和实施的能力。AONS策略管理器确保一旦消息 被检查,就适当地对该消息执行适当的动作(加密、压縮、路山选栉 等)。
3.5.6.3活动监控和管理
审核/日志登记/度量AONS可以有选择地过滤消息,并且将它们发 送到节点或控制台用以聚合或者后续分析。工具使得能够实现査看消息流 量和对消息流量进行分析。AONS还可以对重要的实时事件(包括商业相 关和底层结构相关的事件)产生自动响应。通过智能收集统计数据并且将 它们发送以记入日志,AONS可以产生用于审核或者帐单目的的度量数 据。
管理AONS可以将消息级和网络底层结构级事件组合来获得对整个 系统的健康状况的更深理解。AONS管理接口自身可以被用作希望编程访 问其的人员的web服务。
测试和确认AONS的拦截消息流量的能力可以被用来在允许消息到 达目的地应用之前对消息进行确认。除了保护免受可能的应用或服务器故 障影响之外,这种能力可以在生产布置之前通过对来自客户端和服务器的
实际消息流进行检査,从而有助于对新web服务和其他功能进行测试。 AONS还提供"调试模式",该模式可以在可疑故障之后被自动启动或者 在协助对设备的整体管理的通知之后被手动启动。
工作载荷均衡和故障恢复AONS提供了一种工作载荷均衡和故障恢 复的方法,该方法既是策略驱动的也是内容驱动的。例如,给定AONS节 点的在异构系统之间中介的能力,AONS节点可以在按照消息的内容所耍 求的提供对共同信息访问的不同系统之间均衡。AONS还可以解决确保在 消息级而不是大多现有解决方案所执行的仅在会话级的故障恢复所必需的 消息类似关系(message affinity)的问题。均匀还可以考虑用于获得消息 答复、如果优选目标临时响应较慢则路由到替换目的地的时间。
商业连续性通过提供将入境消息复制到远程目的地的能力,AONS 使得客户能够从系统停歇快速恢复。AONS还可以探测到故障的消总递 送,并且自动将其重路由到替换末端。AONAEP和AR自身具有内建的组 件级冗余能力和故障恢复,并且可以被组织成集群来确保高可用性。
3.5.6.4基于内容的路由选择和变换
基于内容的路由选择基于其检查和理解消息的内容和上下文的能 力,AONS提供了通过将内容元素与预先建立的策略配置匹配来将消息路 由到适当的目的地的能力。这种能力允许AONS提供用于由不同应用处理 的消息的公共接口 (服务可视化),同时AONS检查内容中的消息类型或 字段(部分号、账号类型、雇员为止、客户邮编等)来将消息路由到适当 应用。这种能力还允许AONS将消息发送到多个目的地(基于静态定义的 消息类型或信息主题或者对消息类型或信息主题的动态订阅),同时通过 AONS路由器最优地扇出。这种能力还允许AONS对先前发送向一个应用 的所有消息重定向,以使得其可以被新的应用处理。这种能力还允许 AONS对被认为是在接收消息之前所要求的预处理步骤(例如,引入针对 所有旅行请求的管理预批准步骤)的消息进行路由。这种能力还允许 AONS将超过某一标准(例如,订单值)的消息的拷贝路由到审核系统, 以及将该消息转发到预期目的地。这种能力还允许AONS处于工作载荷或 者故障恢复原因而将消息路由到特定服务器。这种能力还允许AONS基于 先前的路由选择判决将消息路由到特定服务器(例如,路由服务器处于原
始订单所基于的査询请求)。这种能力还允许AONS基于消息的源进行路 由。这种能力还允许AONS将消息路由通过由源或者前一个中介定义的步 骤序列。
消息协议网关AONS可以充当利用不同的传输协议的应用之间的网 关。AONS支持开放的标准协议(例如,HTTP、 FTP、 SMTP),以及流 行的或者事实上的标准专用协议,例如,IBMMQ和JMS。
消息变换AONS可以对消息的内容进行变换来使它们适于特定的接 收应用。这可以针对XML和非XML消息二者执行,对于后者利用消息字 典定义或者合式的工业标准格式的协助执行。
3.5.7 AONS功能模块
图8是示出了一个示例AONS节点内的功能模块的框图。AONS节点 800包括AOS配置和管理模块802、流/规则804、 AOS公共服务806、 AOS消息执行控制器808、 AOS协议访问方法810,以及AOS平台专用 "胶水"812。 AONS节点800用接口与互连网络操作系统(IOS) 814及 Linux操作系统816连接。流/规则804包括bladelet 818、 scriptlet 820 和scriptlet"^容器822。
在一个实施例中,AOS公共服务806包括安全性服务、标准压缩服 务、S压縮服务、缓存服务、消息日志服务、策略管理服务、可靠消总传 递服务、发布/订阅服务、活动监控服务、消息分发服务、XML解析服 务、XSLT变换服务,以及QoS管理服务。
在一个实施例中,AOS协议访问方法810包括TCP/SSL、 HTTP/HTTPS、 SOAP/HTTP、 SMTP、 FTP、 JMS/MQ和JMS/RV,以及 Java数据库连接ODBC)。
在一个实施例中,AOS消息执行控制器808包括执行控制器、流子 系统,以及bladelet 子系统。
在一个实施例中,blades 818和scriptlet 820包括消息输入 (读消息)、消息输出(发送消息)、日志登记/审核、判决、外部数据访 问、XML解析、XML变换、缓存、scriptlet容器、发布、订阅、消息确认
(模式、格式等)、过滤/掩码、信令、认证、授权、加密、解密、获得监 控起源、活动监控标记、活动监控处理、活动监控通知、消息丢弃、防火 墙阻挡、防火墙解阻挡、消息拦截,以及消息停止拦截。
在一个实施例中,AOS配置和管理模块802包括配置、监控、拓扑 管理、能力交换、故障恢复冗余、可靠性/可用性/可服务性(RAS)服务 (跟踪、调试等)、存档、安装、升级、许可、样本SCriptletTM、样本 流、文档、在线帮助和语言本地化。
在一个实施例中,所支持的平台包括Cisco Catalyst 6503、 Cisco Catalyst 6505、 Cisco Catalyst 6509和Cisco Catalyst 6513。这些产品一般被 部署在数据中心。还支持其他产品,例如"分办公室路由器"(例如, Cisco Volant路由器系列)和"边沿路由器"。在一个实施例中,所支持 的监督模块包括Sup2和Sup720。在一个实施例中,与平台相关的具体 功能区域包括优化的TCP、 SSL,公钥底层结构(PKI),加密/解密, 接口到Cat6K监督者,故障恢复/冗余,图像管理,以及QoS功能。尽管 这里参考PKI密钥描述了本发明的一些实施例,但是本发明的实施例不限 于PKI密钥。其他密钥和/或令牌(例如,Kerberos令牌和/或PGP令牌) 也可以结合本发明的实施例被使用。
在一个实施例中,密码密钥分发和处理由与密钥一起被存储在被称作 AMC的中央控制台处的用户指定策略控制。策略可以例如阐述不同类观 的密钥将被用来对不同类型的数据流量进行加密/解密/签名。密钥可以被 与策略相关联。AMC可以自动地分发密钥对策略关联到用户指定的 AONS节点。
3.5.8 AONS的工作模式
AONS可以被配置为根据应用集成需求和部署场景而在多种模式中工 作。根据一个实施例,主要的工作模式包括隐含模式、显示模式和代理模 式。在隐含模式中,AONS节点透明地拦截相关流量,而不改变应用。在 显示模式中,应用显示地将流量编址去往中间AONS节点。在代理模式 中,应用被配置为结合AONS节点工作,但是应用不显示地将流量编址去 往AONS节点。
在隐含模式中,应用不知道AONS的存在。消息被编址为去往接收应 用。利用应用"代理"或者中间件系统的配置,消息被重定向到AONS, 以并_17或者利用网络的配置(分组拦截)来将消息路由到AONS。例如, 基于域名服务器(DNS)的重定向可以被用来路由消息。作为另一个示 例,可以使用交换机或路由器上的基于5元组的访问控制列表(ACL)。 基于网络的应用识别和内容切换模块也可以被配置为用于URL/URI重定 向。基于消息的检査可以被用来确定消息类型和分类。在隐含模式屮,利 用应用原始协议,应用借助作为中介的AONS彼此通信(隐含地)。
可以利用多种机制实现流量重定向、消息分类和"早期拒绝"(在完 成AONS层中的处理之前将流量发送出AONS层),例如图9中示出的那 些机制。图9是示出了可以对消息流量执行来产生仅在AONS层处耍处理 的流量的选择集合的过滤的多个层次的图。在AONS层处不被处现的流量 可以作为任何其他流量对待。
所有流量都穿过最低层,即层902。在下一个最高层处,即层904 处,可以基于5元组对流量进行过滤。监督刀片或装入互连网络操作系统 (IOS)之类的网络操作系统可以执行这种过滤。穿过层904处的过滤器 的流量然后传递到层卯6。在层906处,流量可以基于类似于基于网络的 应用识别的过滤和/或消息分类和拒绝而被进一步过滤。穿过层906处的过 滤器的流量传递到层908。在层908处,流量可以基于协议头部而被进一 步过滤。例如,流量可以基于流量中的URL/URI而被过滤。穿过层908 处的过滤器的流量传递到层910。在层910处,流量可以基于包括头部和 内容的应用层消息而被处理。例如,在消息中,XPath内容标识技术可以 被用来在层910处对流量进行处理。AONS刀片可以在层910处执行处 理。因此,全部网络流量的被选出的子集可以被提供给AONS刀片。
在显示模式中,应用明确知道AONS存在。消息被明确编址为期望 AONS节点。应用可以利用AONP与AONS通信。AONS可以执行服务可
视化和目的地选择。
在代理模式中,应用明显不知道AONS存在。消息被编制为去往它们 的最终目的地(即,应用)。但是,客户端应用被配置为利用代理模式对
流量进行导向。
3.5.9 AONS消息路由选择
可以从两个视图视角来看AONS中的消息管理组件节点视角和云视角。
图IO是示出了根据云视角在AONS云1010内消息的路径的图。客户 端应用1004将消息发送向AONS客户端代理(CP) 1006。如果AONS CP 1006不存在,则客户端应用1004可以将该消息发送到AONS服务器代理 (SP) 1008。该消息在AONS CP 1006处被处理。如果消息进入AONS云 1010则AONS CP 1006将该消息变换成AONP格式。
在AONS云1010内,消息利用AONP被路由。因此,利用AONP, 消息可以从AONS CP 1006被路由到AONS路由器1012,或者从AONS CP 1006被路由到AONS SP 1008,或者从AONS路由器1012被路由到另 一个AONS路由器,或者从AONS路由器1012被路由到AONSSP 1008。 在AONS节点处被处理的消息以AONP格式被处理。
当消息到达AONS SP 1008时,AONS SP 1008将该消息变换成服务器 应用1014所使用的消息格式。AONS SP 1008利用服务器应用1014的消 息协议将该消息路由到服务器应用1014。或者,如果AONS SP 1008不存 在,则AONS CP 1006可以将该消息路由到服务器应用1014。
从下面的视角可以理解AONS云1010内的消息处理的细节请求/响 应消息流,单向消息流,可靠传递的消息流,节点到节点通信,以及多播 发布-订阅。
图IIA和图11B是示出了请求/响应消息流的图。参考图11A,在标 号1处,发送应用1102向接收应用1104发送消息。在标号2处,AEPCP 1106拦截到该消息并且将AONP头部添加到该消息,形成AONP消息。 在标号3处,AEPCP 1106将该AONP消息发送向AONS路由器1108。在 标号4处,AONS路由器1108接收到该AONP消息。在标号5处,AONS 路由器1108将该AONP消息发送向AEP SP 1110。在标号6处,AEP SP 1110接收到该AONP消息并且从该消息移除AONP头部,从而对该消息 解封装。在标号7处,AEP SP 1110将该消息发送到接收应用1104。
参考图IIB,在标号8处,接收应用1104向发送应用1102发送响应 消息。在标号9处,AEP SP 1110拦截到该消息并且将AONP头部添加到 该消息,形成AONP消息。在标号10处,AEP SP 1110将该AONP消息 发送向AONS路由器1108。在标号11处,AONS路由器1108接收到该 AONP消息。在标号12处,AONS路由器1108将该AONP消息发送向 AEP CP 1106。在标号13处,AEP CP 1106接收到该AONP消息并且从该 消息移除AONP头部,从而对该消息解封装。在标号14处,AEP CP 1106 将该消息发送到发送应用1102。从而,请求被从发送应用1102路由到接 收应用1104,并且响应被从接收应用1104路由到发送应用1102。
图12A和图12B是示出了替换的请求/响应消息流的图。图12A示出 了消息从发送应用1202到接收应用1204可能经过的三条可能的路由。根 据第一路由,发送应用1202将消息发送向接收应用1204,但是AEPCP 1206拦截到该消息并且将该消息发送到接收应用1204。根据第二路由, 发送应用1202将消息发送向接收应用1204,但是AEP CP 1206拦截到该 消息,利用AONP消息对该消息进行封装,然后将该AONP消息发送向 AEP SP 1208, AEP SP 1208从该AONP消息解封装出消息,并且将该消总 发送向接收应用1204。根据第三路由,发送应用1202将消息发送向接收 应用1204,但是AEP SP 1208拦截到该消息并且将该消息发送到接收应用 1204。
图12B示出了响应消息从接收应用1204到发送应用1202可能经过的 三条可能的路由。根据第一路由,接收应用1204将消息发送向发送应用 1202,但是AEP CP 1206拦截到该消息并且将该消息发送到发送应用 1202。根据第二路由,接收应用1204将消息发送向发送应用1202,但是 AEP SP 1208拦截到该消息,利用AONP消息对该消息进行封装,然后将 该AONP消息发送向AEP CP 1206, AEP CP 1206从该AONP消息解封装 出消息,并且将该消息发送向发送应用1202。根据第三路由,接收应用 1204将消息发送向发送应用1202,但是AEP SP 1208拦截到该消息并且 将该消息发送到发送应用1202。
图13是示出了单向消息流的图。在标号l处,发送应用1302向接收
应用1304发送消息。在标号2处,AEP CP 1306拦截到该消息并且将 AONP头部添加到该消息,形成AONP消息。在标号3处,AEP CP 1306 将ACK (确认)发送回发送应用1302。在标号4处,AEP CP 1306将该 AONP消息发送向AONS路由器1308。在标号5处,AONS路由器1308 接收到该AONP消息。在标号6处,AONS路由器1308将该AONP消总 发送向AEP SP 1310。在标号7处,AEP SP 1310接收到该AONP消息并 且从该消息移除AONP头部,从而对该消息解封装。在标号8处,AEPSP 1310将该消息发送到接收应用1304。
图14是示出了替换的单向消息流的图。图14示出了消息从发送应用 1402到接收应用1404可能经过的三条可能的路由。根据第--路由,发送 应用1402将消息发送向接收应用1404,但是AEPCP 1406拦截到该消息 并且将该消息发送到接收应用1404。 ACP CP 1406将ACK (确认)发送 到发送应用1402。根据第二路由,发送应用1402将消息发送向接收应片J 1404,但是AEPCP 1406拦截到该消息,利用AONP消息对该消息进行封 装,然后将该AONP消息发送向AEP SP 1408, AEP SP 1408从该AONP 消息解封装出消息,并且将该消息发送向接收应用1404。同样,AEP CP 1406将ACK发送到发送应用1402。根据第三路由,发送应用1402将消 息发送向接收应用1404,但是AEP SP 1408拦截到该消息并且将该消息发 送到接收应用1404。在这种情形中,AEP SP 1480将ACK发送到发送应 用1402。从而,当AEP拦截到消息时,拦截AEP向发送应用发送ACK。
根据一个实施例,AONP被用在具有下一跳的节点到节点通信中。在 一个实施例中,AONP利用HTTP。 AONP头部可以包括HTTP或者TCP 头部。AONP可以包括RM ACK、 QoS级别、消息优先级、以及消息上下 文(连接、消息顺序号、消息上下文标识符、进入节点信息,等等)。实 际的消息有效载荷在消息体内。在AONS节点之间可以使用异步消息传 输。AONS可以利用静态配置(下一跳)和/或利用动态发现和路由通告 ("懒"发现)来执行路由和节点发现。
图15A和图15B是示出了具有可靠消息递送的请求/响应消息流的 图。参考图15A,在标号1处,发送应用1502向接收应用1504发送消
息。在标号2处,AEP CP 1506拦截到该消息并且将AONP头部添加到该 消息,形成AONP消息。在标号3处,AEPCP 1506将该AONP消息保存 到数据存储设备1512中。因此,如果在发送该消息时出现任何问题,AEP CP 1506就可以重发被存储在数据存储设备1512中的消息的拷贝。
在标号4处,AEP CP 1506将该AONP消息发送向AONS路由器 1508。在标号5处,AONS路由器1508接收到该AONP消息。在标号6 处,AONS路由器1508将该AONP消息发送向AEP SP 1510。在标号7 处,AEPSP 1510接收到该AONP消息并且从该消息移除AONP头部,从 而对该消息解封装。在标号8处,AEP SP 1510将该消息发送到接收应用 1504。
在标号9处,AEPSP 1510发送可靠消息传递(RM)确认(ACK)到 AONS路由器1508。在标号10处,AONS路由器1508接收到该RM ACK,然后将该RM ACK发送向AEP CP 1506。在标号11处,AEP CP 1506接收到该RM ACK,并且响应于此,删除在数据存储设备1512中存 储的消息的拷贝。因为消息的递送已经得到确认,所以不再需要在数据存 储设备1512中存储该消息的拷贝。或者,如果AEP CP 1506在指定的时 间段内没接收到RM ACK,则AEP CP 1506重复该消息。
参考图15B,在标号12处,接收应用1504向发送应用1502发送响应 消息。在标号13处,AEPSP 1510拦截到该消息并且将AONP头部添加到 该消息,形成AONP消息。在标号14处,AEP SP 1510将该AONP消总 发送向AONS路由器1508。在标号15处,AONS路由器1508接收到该 AONP消息。在标号16处,AONS路由器1508将该AONP消息发送向 AEP CP 1506。在标号17处,AEP CP 1506接收到该AONP消息并且从该 消息移除AONP头部,从而对该消息解封装。在标号18处,AEP CP 1506 将该消息发送到发送应用1502。
图16是示出了具有可靠消息传递的单向消息流的图。在标号1处, 发送应用1602向接收应用1604发送消息。在标号2处,AEP CP 1606拦 截到该消息并且将AONP头部添加到该消息,形成AONP消息。在标号3 处,AEPCP 1606将消息保存到数据存储设备1612中。因此,如果在发送 该消息时出现任何问题,AEP CP 1606就可以重发被存储在数据存储设备 1612中的消息的拷贝。在标号4处,AEP CP 1606将ACK (确认)发送 回发送应用1602。在标号5处,AEP CP 1606将AONP消息发送向AONS 路由器1608。在标号6处,AONS路由器1608接收到该AONP消息。在 标号7处,AONS路由器1608将该AONP消息发送向AEP SP 1610。在标 号8处,AEP SP 1610接收到该AONP消息并且从该消息移除AONP头 部,从而对该消息解封装。在标号9处,AEP SP 1610将该消息发送到接 收应用1604。
在标号10处,AEP SP 1610发送可靠消息传递(RM)确认(ACK) 到AONS路由器1608。在标号11处,AONS路由器1608接收到该RM ACK,然后将该RM ACK发送向AEP CP 1606。在标号12处,AEP CP 1606接收到该RM ACK,并且响应于此,删除在数据存储设备1612中存 储的消息的拷贝。因为消息的递送已经得到确认,所以不再需要在数据存 储设备1612中存储该消息的拷贝。或者,如果AEP CP 1606在指定的时 间段内没接收到RMACK,则AEPCP 1606重复该消息。如果在超时时间 段中重发没有成功,则"递送失败"通知消息将被发送到原始发送应用。
图17是示出了同步请求和响应消息的图。在标号1处,AONS节点 1704在隐含模式或者显示模式中接收到来自客户端1702的请求消息。在 标号2处,AONS节点1704读取该消息,选择并且执行流,将AONP头 部添加到该消息。在标号3处,AONS节点1704将该消息发送向下一跳节 点,艮卩,AONS节点1706。在标号4处,AONS节点1706读取该消息, 选择并执行流,并且从该消息移除AONP头部,从而根据服务器1708所 期望的消息格式对该消息进行格式化。在标号5处,AONS节点1706将该 消息发送向该消息的目的地,即服务器1708。
在标号6处,AONS节点1706在AONS节点1706发送请求消息的同 一连接上接收到来自服务器1708的响应消息。在标号7处,AONS节点 1706读取该消息,将该消息与请求消息相关联,执行流,并且将AONP头 部添加到该消息。在标号8处,AONS节点1706将该消息发送向AONS 节点1704。在标号9处,AONS节点1704读取该消息,将该消息与请求
消息相关联,执行流,并且从该消息移除AONP头部,从而根据客户端 1702所期望的消息格式对该消息进行格式化。在标号10处,AONS节点 1704在客户端1702将请求消息发送向AONS节点1704的同一连接上将该 消息发送向客户端1702。
图18是示出了简单的单向端到端消息流的图。在标号1处,AONS节 点1804在隐含模式或者显示模式中接收到来自客户端1802的请求消息。 在标号2处,AONS节点1804读取该消息,选择并且执行流,将AONP 头部添加到该消息。在标号3处,AONS节点1804向客户端1802发送确 认。在标号4处,AONS节点1804将该消息发送向下一跳节点,即, AONS节点1806。在标号5处,AONS节点1806读取该消息,选择并执 行流,并且从该消息移除AONP头部,从而根据服务器1808所期望的消 息格式对该消息进行格式化。在标号6处,AONS节点1806将该消息发送 向该消息的目的地,即服务器1808。
根据节点视角,消息在AONS节点内的生命期包括进入/外出处理、 消息处理、消息执行控制和流执行。
图19是示出了 AONS节点1900内的消息处理模块的图。AONS W点 1900包括AONS消息执行控制器(AMEC)框架1902、策略管理子系统 1904、 AONS消息处理底层结构子系统1906和AOSS l卯8。 AMEC框架 1902包括流管理子系统1910、 bladeletTM执行子系统1912和消息执行控制 器1914。策略管理子系统1904与流管理子系统1910通信。AOSS 1908与 bladeletw执行子系统1912及AONS消息处理底层结构子系统1906通信。 AONS消息处理底层结构子系统1906与消息执行控制器1914通信。流管 理子系统1910、 bladelet,行子系统1912以及消息执行控制器1914都彼 此通信。
图20是示出了 AONS节点1900内的消息处理的图。AMEC框架 1902是基于事件的多线程机制,用于在使AONS节点中的消息的等待时间 最小化的同时使吞吐量最大化。根据一个实施例,接收到的分组被重定 向,TCP终止被执行,如果需要的话SSL终止也被执行,第5层协议适配 器和访问方法处理被执行(利用诸如HTTP、 SMTP、 FTP、 JMS/MQ、 JMS/RV、 JDBC之类的访问方法),AONS消息(用于内部AONS处理的 规范话的消息格式)被形成,消息被排入队列,消息基于处理线程可用性 被出队列,流(或者规则)被选择,所选择的流被执行,消息被转发向该 消息的目的地,并且对于基于请求/响应语义利用在AMEC框架1902中维 护的连接/会话状态响应被处理。
在一个实施例中,执行流包括执行流的每个步骤(即,bladeletTM/动 作)。如果bladeleFM要在独立的上下文中被运行,则AMEC框架1902可 以将其排入bladele,专用队列,然后基于线程可用性使适当的bladdetTM 状态从每个bladeletTM队列出列。
3.5.10流、BLADELEHM和SCRIPTLET
根据一个实施例,流将多个bladeletTM (即,动作)串连起来定制消息 处理逻辑。ScriptletTM向客户和伙伴提供了 一种机制用于定制或者扩展原始 AONS功能。 一些bladeletTM和服务可以与AONS节点一起被提供。
3.5.11 AONS月艮务
正如前面部分所述,AONS可以提供一组核心服务来形成W利用 AONS节点提供的增值功能的底层功能。在一个实施例中,这些包括安 全性服务、标准压縮服务、数据压縮服务、缓存服务、消息日志登记服 务、策略管理服务(策略管理器)、可靠消息传递服务、发布/订阅服务、 活动监控服务、消息分发服务、XML解析服务、XSLT变换服务和QoS管 理服务。在一个实施例中,每个AONS核心服务在服务框架的上下文中被 实现。
3.5.12 AONS配置和管理
在一个实施例中,AONS节点被设置并配置为用于一类应用消息,其 中其施行代表应用端点、商业域、安全性域、管理域和网络域声明定义的 策略。此外,AONS节点利用针对给定的部署场景,利用不同软件和硬件 子系统的可配置性和可扩展性,推动不同产品功能特征的灵活创建和定 制。由于AONS功能的应用和网络实施例,AONS体系结构框架应当有效 并且一致地解决各个系统组件和它们的环境的可配置性、可管理性和可监 控性的不同方面。
AONS配置和管理框架基于ISO网络管理论坛所推荐的用于网络管理 的5个功能区域("FCAPS")。这些功能区域包括默认管理、配置管 理、记帐管理、性能管理和安全性管理。默认管理是发现、隔离和修复 AONS中的问题或故障的过程。配置管理是发现并建立AONS节点的过 程。记帐管理包括跟踪AONS资源的用途和利用来辅助实现它们的正确用 途。性能管理是测量AONS系统组件和整个系统的性能的过程。安全性管 理控制对AONS系统中的信息的访问。上述功能中的许多是利用作为整个 AONS解决方案的一部分的合适的仪器、编程接口和工具处理的。
图21、图22和图23是示出了 AONS配置和管理框架中的实体的图。 AONS管理控制台(AMC)是集中化的网络中心,用于配置和管理AONS 策略、流、scriptletTM和其他可管理实体。可配置的数据从AONS设计工作 室(流工具)被推到AMC, AONS管理然后可以将该数据提供给生成部 署。促进过程也可以被提供通过开发到展示/证明到生产首发过程来来测试 和确认改变。AONS管理代理(AMA)驻留在独立的AONS刀片中,并 且提供AONS的本地控制和分派功能。AMA与AMC交互来获得更新。 AMA采用适当的动作来实现改变。AMA还用来收集监控数据以报告向第 三方控制台。
3.5.13 AONS监控
在一个实施例中,AONS被提供工具来支持合式的事件,用以适当地 监控和查看内部处理活动。对AONS节点的监控可以利用预先定义的在每 个AONS节点中运行的JMX Mbean代理完成。这种代理与PC联合体上的 远程JMX Mbean服务器通信。AONS MIB用以帮助实现将SNMP集成到 第三方控制台。图24是示出了 AONS监控体系结构的图。
3.5.14 AONS工具
在一个实施例中,下述工具集合被提供来用于AONS的各种功能需 求设计工作室、管理工作室和消息日志查看器。设计工作室是一种可视 工具,用于设计流、应用消息分类和映射策略。管理工作室是一种基于 web的接口,用于执行所有管理和配置功能。消息日志査看器是一种可视 接口,用于分析消息流量、模式和跟踪信息。
4.0实现机制一5更件概述
图5是示出了可在其上实现本发明实施例的计算机系统500的框图。 优选实施例是利用在诸如代理设备之类的网络元件上运行的一个或多个计 算机程序实现的。因此,在本实施例中,计算机系统500是代理设备,例 如,载荷均衡器。
计算机系统500包括总线502或用于传输信息的其他通信机构,以及 与总线502相耦合用于处理信息的处理器504。计算机500还包括耦合到 总线502用于存储信息和要由处理器504执行的指令的主存储器506,例 如,随机访问存储器(RAM)、闪存或者其他动态存储设备。主存储器 506还可以用于在执行要由处理器504执行的指令期间存储临时变量或其 他中间信息。计算机系统500还包括只读存储器(ROM) 508或者其他静 态存储设备,它们被耦合到总线502用于存储用于处理器504的静态信息 和指令。存储设备510 (例如,磁盘、闪存或光盘)被提供并且耦合到总 线502用于存储信息和指令。
通信接口 518可以被耦合到总线502用于向处理器504传输信息和命 令选择。接口 518是传统的串口,例如,RS-232或者RS-322接口。外部 终端512或者其他计算机系统连接到计算机系统500并且利用接口 514向 其提供命令。在计算机系统500中运行的固件或软件提供终端接口或者基 于字符的命令接口,使得可以将外部命令提供给该计算机系统。
开关系统516被耦合到总线502,并且具有到一个或多个外部网络元 件的输入接口 514和输出接口 519。外部网络元件可以包括耦合到一个或 多个主机524的本地网络522,或者具有一个或多个服务器530的诸如因 特网之类的全球网络。开关系统516根据预先确定的协议或者公知的协定 将在输入接口 514上到达的信息切换到输出接口 514上。例如,开关系统 516与处理器504协作可以确定在输入接口 514上到达的数据分组的目的 地,并且利用输出接口 519将其发送向正确的目的地。目的地可以包括主 机524、服务器530、其他末端站、或者本地网络522或因特网528中的 其他路由选择和交换设备。
本发明涉及对用以避免在计算机系统500上存储客户端状态的计算机 系统500的使用。根据本发明一个方面,计算机系统500响应于处理器 504执行主存储器506中包含的一条或多条指令的一个或多个序列,提供 这种更新。这种指令可以从另一个计算机可读介质(例如,存储设备 510)中被读入到主存储器506。执行主存储器506中包含的指令的序列导 致处理器504执行这里所述的处理步骤。多处理器布置中的一个或多个处 理器也可以被采用来执行主存储器506中包含的指令序列。在替换实施例 中,硬连线电路可以被用来替换软件指令或者与软件指令结合来实现本发 明。因此,本发明的实施例不限于硬件电路和软件的任何具体组合。
这里所使用的术语"计算机可读介质"指参与向处理器504提供指令 用以执行的任何介质。这种介质可以采用多种形式,包括但不限于非易失 性介质、易失性介质和传输介质。非易失性介质包括例如光或磁盘,例如 存储设备510。易失性介质包括动态存储器,例如主存储器506。传输介 质包括同轴线缆、铜线和光纤,包括包含总线502在内的线路。传输介质 也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生 的那些。
计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、或 者任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡、纸带、任何其 他具有孔状图案的物理介质,RAM、 PROM和EPROM, FLASH-EPROM,任何其他存储器芯片或卡,后面将描述的载波,或者计算机可 从其读取的任何其他介质。
在向处理器504传送一条或多条指令的一个或多个序列用以执行时可 能涉及多种形式的计算机可读介质。例如,指令最初可能由远程计算机的 磁盘存储。远程计算机可以将指令载入到其动态存储器,然后利用调制解 调器通过电话线发送这些指令。计算机系统500本地的调制解调器可以接 收到电话线上的数据,并且利用红外发射器来将该数据转换成红外信号。 耦合到总线502的红外探测器可以接收到该红外信号中承载的数据,并且 将该数据放置到总线502上。总线502将该数据传送到主存储器506,处 理器504从主存储器506提取出指令并执行指令。由主存储器506接收到
的指令也可以在被处理器504执行之前或之后可选地被存储到存储设备 510中。
通信接口 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可以以载波形式获得应用代码。
5.0扩展和替换
在前面的说明书中,已参考本发明的具体实施例描述了本发明。但 是,很明显,在不脱离本发明的宽广精神和范围的情况下,可以对其作出
各种修改和改变。因此,说明书和附图应当被认为是说明性的而非限制性 的。
权利要求
1.一种用于在网络元件中代表应用执行消息有效载荷处理功能的方法,该方法包括计算机实现的以下步骤在所述网络元件处接收用户指定输入;在所述网络元件处接收一个或多个数据分组;基于所述一个或多个数据分组确定在所述用户指定输入中指示的特定消息分类;以及通过对所述一个或多个数据分组的一个或多个有效载荷部分中包含的应用层消息的至少一部分执行(a)在所述用户指定输入中指定的并且(b)与所述特定消息分类相关联的一个或多个动作,从而处理所述消息的所述部分;其中,所述消息被导向到所述应用,并且所述动作是代表所述应用被执行的。
2. 如权利要求1所述的方法,其中,处理所述应用层消息的所述部分 包括在概念上使所述应用层消息的内容与所述一个或多个数据分组的剩余 部分相分离,并且以基于与所述内容相关联的语义的方式对所述内容进行 检查。
3. 如权利要求1所述的方法,其中,所述用户指定输入指示所述一个 或多个动作将与所述特定消息分类相关联。
4. 如权利要求1所述的方法,还包括从所述网络元件发送包含修改后消息的一个或多个数据分组; 其中,所述一个或多个动作中的至少一个包括对所述消息的所述部分 进行修改来产生所述修改后消息。
5. 如权利要求1所述的方法,其中,执行所述一个或多个动作包括按 照所述用户指定输入中指示的顺序执行所述一个或多个动作。
6. 如权利要求1所述的方法,其中,确定所述消息的所述部分包括在 所述网络元件处对所述数据分组中的两个或更多个数据分组的有效载荷部 分的内容进行组装。
7. 如权利要求1所述的方法,其中,所述一个或多个数据分组是去往 第一目的地的,并且所述一个或多个动作中的至少一个包括对与所述一个 或多个数据分组相关联的一个或多个头部进行修改,以使得所述一个或多 个数据分组去往包括与所述第一 目的地不同的第二目的地的一个或多个目 的地。
8. 如权利要求1所述的方法,其中,所述一个或多个动作中的至少一 个包括阻止所述一个或多个数据分组被递送到所述一个或多个数据分组耍 去往的目的地。
9. 如权利要求1所述的方法,其中,所述一个或多个动作中的至少一 个包括将所述消息的至少一部分写入日志。
10. 如权利要求i所述的方法,其中,所述一个或多个动作中的辛:少 一个包括对所述消息的至少一部分进行加密。
11. 如权利要求1所述的方法,其中,所述一个或多个动作中的至少 一个包括对所述消息的至少一部分进行签名。
12. 如权利要求1所述的方法,其中,所述一个或多个动作中的至少 一个包括对所述消息的至少一部分进行验证。
13. 如权利要求i所述的方法,其中,所述一个或多个动作中的t:少 一个包括将在所述网络元件处缓存的响应发送到所述一个或多个数据分组 起源的源。
14. 如权利要求1所述的方法,其中,所述网络元件是网络交换机或路由器。
15. 如权利要求1所述的方法,其中,所述一个或多个动作包括对所 述消息的所述部分进行修改,以使得所述消息的所述部分按某种消息格式 被格式化、被改变或者被变换,其中所述消息格式是与当所述一个或多个 数据分组在所述网络元件处被接收到时所述消息的所述部分被格式化、被 改变或被变换所依据的消息格式不同的消息格式。
16. 如权利要求1所述的方法,其中,所述一个或多个动作包括对所 述消息的所述部分迸行修改,以使得所述消息的所述部分根据某种应用层 协议被运载,其中所述应用层协议是与当所述一个或多个数据分组在所述网络元件处被接收到时运载所述消息所依据的应用层协议不同的应用层协 议。
17. 如权利要求1所述的方法,还包括将所述消息的所述部分封装到包含有指示前一个节点所执行的一个或 多个动作的头部的消息中。
18. 如权利要求1所述的方法,其中,所述应用层消息包括多部分MIME消息,并且所述方法还包括独立地分开处理所述多部分MIME消息 的每个部分。
19. 一种用于在网络路由器或交换机中代表应用执行消息有效载荷处 理功能的方法,该方法包括计算机实现的以下步骤在所述网络路由器处接收一个或多个第一数据分组; 基于所述一个或多个第一数据分组的一个或多个有效载荷部分中包含的第一应用层消息的至少第一部分,确定第一消息分类;通过对所述第一消息执行与所述第一消息分类相关联的一个或多个笫一动作来在所述网络路由器处处理所述第一消息;在所述网络路由器处接收一个或多个第二数据分组; 基于所述一个或多个第二数据分组的一个或多个有效载荷部分中包含的第二应用层消息的至少第二部分,确定与所述第一消息分类不同的第二'.消息分类;以及通过对所述第二消息执行与所述第二消息分类相关联的一个或多个第 二动作来在所述网络路由器处处理所述第二消息。
20. 如权利要求19所述的方法,其中,所述一个或多个第一动作与所 述一个或多个第二动作不同。
21. —种存储有一个或多个指令序列的计算机可读介质,所述指令用 于在网络元件中代表应用执行消息有效载荷处理功能,其中所述指令在被 一个或多个处理器执行时使所述一个或多个处理器实现以下步骤在所述网络元件处接收用户指定输入; 在所述网络元件处接收一个或多个数据分组;基于所述一个或多个数据分组确定在所述用户指定输入中指示的特定 消息分类;以及通过对所述一个或多个数据分组的一个或多个有效载荷部分中包含的 应用层消息的至少一部分执行(a)在所述用户指定输入中指定的并且 (b)与所述特定消息分类相关联的一个或多个动作,从而处理所述消息 的所述部分;其中,所述消息被导向到所述应用,并且所述动作是代表所述应用被 执行的。
22. —种用于在网络元件中代表应用执行消息载荷处理功能的装置, 包括用于在所述网络元件处接收用户指定输入的装置;用于在所述网络元件处接收一个或多个数据分组的装置;用于基于所述一个或多个数据分组确定在所述用户指定输入中指示的特定消息分类的装置;以及用于通过对所述一个或多个数据分组的一个或多个有效载荷部分中包含的应用层消息的至少一部分执行(a)在所述用户指定输入中指定的并且(b)与所述特定消息分类相关联的一个或多个动作,从而处理所述消息的所述部分的装置;其中,所述消息被导向到所述应用,并且所述动作是代表所述应用被执行的。
23. —种用于在网络元件中代表应用执行消息有效载荷处理功能的装 置,包括网络接口,所述网络接口被耦合到数据网络以用于接收来自所述数据 网络的一个或多个分组流; 处理器;一个或多个存储的指令序列,所述指令序列在被所述处理器执行时使 所述处理器实现以下步骤在所述网络元件处接收用户指定输入;在所述网络元件处接收一个或多个数据分组;基于所述一个或多个数据分组确定在所述用户指定输入中指示 的特定消息分类;以及通过对所述一个或多个数据分组的一个或多个有效载荷部分中 包含的应用层消息的至少一部分执行(a)在所述用户指定输入中指 定的并且(b)与所述特定消息分类相关联的一个或多个动作,从而 处理所述消息的所述部分;其中,所述消息被导向到所述应用,并且所述动作是代表所述 应用被执行的。
24. —种用于对将对其执行消息级处理的分组进行过滤的方法,该方 法包括计算机实现的以下步骤确定分组的第2-4层头部中包含的信息是否满足指定标准; 如果所述信息满足所述指定标准,则基于至少部分包含在所述分组中的应用层消息的至少一部分,将所述分组导向到执行消息级处理的刀片; 如果所述信息不满足所述指定标准,则向所述分组的目的地转发所述分组,而不将所述分组发送到所述刀片。
25. 如权利要求24所述的方法,其中,所述信息包括源IP地址和目的 地IP地址中的一个或多个。
26. 如权利要求24所述的方法,其中,所述信息包括源TCP端口和日 的地TCP端口中的一个或多个。
27. —种用于在网络元件中代表应用透明地执行消息有效载荷处理功 能的方法,该方法包括计算机实现的以下步骤在所述网络元件处拦截去往除所述网络元件之外的设备的一个或多个 数据分组,其中所述设备容宿所述应用;确定(a)包含在所述一个或多个数据分组的一个或多个有效载荷部 分中并且(b)被导向到所述应用的应用层消息的至少一部分;以及基于所述消息的所述部分代表所述应用执行一个或多个动作。
28. 如权利要求27所述的方法,还包括 基于所述消息的所述部分确定特定消息分类;以及 确定所述特定消息分类所关联的一个或多个动作;其中,执行所述一个或多个动作包括响应于确定所述特定消息分类与 所述一个或多个动作相关联而执行所述一个或多个动作。
29. 如权利要求27所述的方法,还包括从所述网络元件发送包含修改后消息的一个或多个数据分组; 其中,所述一个或多个动作中的至少一个包括对所述消息的所述部分 进行修改来产生所述修改后消息。
30. 如权利要求27所述的方法,还包括从所述网络元件发送包含修改后消息的一个或多个数据分组; 其中,所述一个或多个动作中的至少一个包括对所述消息的所述部分 进行修改来产生所述修改后消息。
31. 如权利要求27所述的方法,还包括在所述网络元件处接收用户指定输入,其中所述用户指定输入指示所述一个或多个动作要被执行的顺序;其中,执行所述一个或多个动作包括按照所述顺序执行所述一个或多 个动作。
32. 如权利要求27所述的方法,还包括在所述网络元件处接收用户指定输入,其中所述用户指定输入指示---个或多个标准;以及确定所述消息的所述部分是否满足所述一个或多个标准;其中,执行所述一个或多个动作包括执行与所述一个或多个标准相关联的所述一个或多个动作。
33. 如权利要求27所述的方法,其中,确定所述消息的所述部分是否 满足所述一个或多个标准包括确定在所述消息的所述部分中是否出现指定 的文本串。
34. 如权利要求27所述的方法,其中,所述消息的所述部分被按照可 扩展标记语言(XML)格式化,并且确定所述消息的所述部分是否满足所 述一个或多个标准包括确定在所述消息的所述部分中是否出现指定路径。
35. 如权利要求27所述的方法,其中,所述一个或多个动作中的至少一个包括阻止所述一个或多个数据分组被递送到所述一个或多个数据分组 要去往的目的地。
36. 如权利要求27所述的方法,其中,所述一个或多个动作中的至少 一个包括将信息写入日志。
37. 如权利要求27所述的方法,其中,所述一个或多个动作中的至少 一个包括将在所述网络元件处缓存的响应发送到所述一个或多个数据分组 起源的源。
38. 如权利要求27所述的方法,其中,所述网络元件是网络交换机或 路由器。
39. 如权利要求27所述的方法,其中,所述网络元件是代理设备。
40. 如权利要求27所述的方法,其中所述一个或多个动作包括对所述 消息的一部分进行修改,以使得所述消息的所述部分按某种消息格式被格 式化,其中所述消息格式是与当所述一个或多个数据分组在所述网络元件 处被接收到时所述消息的所述部分被格式化所依据的消息格式不同的消总 格式。
41. 如权利要求27所述的方法,还包括在所述网络元件处对不是去往容宿所述应用的设备的消息进行处理。
42. 如权利要求27所述的方法,还包括确定在一个实体接收到所述消息的情况下,所述消息的所述部分足否 将导致所述实体发生故障;以及响应于确定在所述实体接收到所述消息的情况下所述消息的所述部分 将导致所述实体发生故障,而执行一个或多个指定动作。
43. 如权利要求27所述的方法,还包括在所述网络元件处,对如下消息执行操作,所述消息是请求消息、响 应消息、异常处理消息,或者不在客户端应用和服务器应用之间发送的消 息。
44. 如权利要求1所述的方法,还包括在所述网络元件处,对如下消息执行操作,所述消息是请求消息、响 应消息、异常处理消息,或者不在客户端应用和服务器应用之间发送的消息o
全文摘要
公开了一种用于在网络元件中代表应用执行消息有效载荷处理功能的方法。根据一个方面,网络元件接收指示特定消息分类的用户指定输入。网络元件还接收一个或多个数据分组。基于这些数据分组,网络元件确定在这些数据分组的有效载荷部分中总地包含的应用层消息是否与特定消息分类相匹配。网络元件通过代表该消息被导向的应用对该消息的至少一部分执行(a)在用户指定输入中指定并且(b)与所述特定消息分类相关联的一个或多个动作,从而对所述消息的至少所述部分执行处理。
文档编号G06F15/16GK101371237SQ200580041797
公开日2009年2月18日 申请日期2005年12月2日 优先权日2004年12月6日
发明者德凡奥斯·安思亚斯, 桑迪普·库马尔, 瑞克·胡, 萨哈瓦纳库马尔·哈简德兰 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1