CN1493139A - 具有基于内容的信息转向器用于可伸缩性的级联网络装置 - Google Patents

具有基于内容的信息转向器用于可伸缩性的级联网络装置 Download PDF

Info

Publication number
CN1493139A
CN1493139A CNA018228267A CN01822826A CN1493139A CN 1493139 A CN1493139 A CN 1493139A CN A018228267 A CNA018228267 A CN A018228267A CN 01822826 A CN01822826 A CN 01822826A CN 1493139 A CN1493139 A CN 1493139A
Authority
CN
China
Prior art keywords
information
packet
server
xml
fields
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
Application number
CNA018228267A
Other languages
English (en)
Other versions
CN1493139B (zh
Inventor
J
J·阿布亚尼克
M·S·埃利斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1493139A publication Critical patent/CN1493139A/zh
Application granted granted Critical
Publication of CN1493139B publication Critical patent/CN1493139B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

这里描述用于级联网络装置的不同的实施例,用于基于内容的切换,例如验证器、转换器和交换机或者它们的组合作为范例。

Description

具有基于内容的信息 转向器用于可伸缩性的级联网络装置
相关申请的相互参照
该申请是美国申请序号09/566,800,题为″SCALABLE NETWORKAPPARATUS FOR CONTENT BASED SWITCHING OR VALIDATIONACCELERATION″的一个延续部分,它是美国申请序号09/549,041,题为″A NETWORK APPARATUS FOR SWITCHING BASED ON CONTENT OFAPPLICATION DATA″和美国申请序号09/562,104,题为″A NETWORKAPPARATUS FOR VALIDATING DOCUMENTS″的一个延续部分,所有的文件合并在此处用于参考。
技术领域
本发明总体上涉及计算机和计算机网络,特别地涉及用于级联网络的一种技术。
背景技术
当计算机网络(例如互联网)在作为存储和转发数据的系统方面更加成功时,计算机网络作为基于事务处理的、任务关键的商业应用和网站所有者正在经历巨大的增长,并且,商业服务器被爆炸性的业务量增长所淹没。
XML或者可扩展的标示语言v.1.0由万维网协会(W3C)在1998年2月10日采纳。XML为数据交换提供一种结构化的句法。XML是一种标示语言,类似超文本标示语言(HTML)。类似HTML的大部分的标示语言是固定的标示语言。也就是说,例如HTML的固定标示语言包括一组用于制作文件的固定标记。另一方面,XML没有定义一组固定标记,而是仅仅定义了用户可通过它来定义自己的XML标记组的一种句法或者结构化格式。目前有许多基于XML的语言,它们使用XML句法来定义它们自己的标记组。XML具有更进一步的优点,因为实际数据与数据的表示是分离的,这与组合这两项的HTML形成对比。作为结果,XML有可能变成这样一种标准,使大部分的计算机、服务器和应用程序可通过该标准来交换或者传递数据。
作为结果,需要提供这样的一种网络装置,该网络装置可以进行伸缩以适应互联网络业务量的这种爆炸性增长。还希望允许这种网络装置以各种格式(例如XML)处理或者操作信息。
附图说明
当结合附图一起阅读时,根据下列示范性实施例和权利要求书的详细说明,(所有的这些组成了本发明公开的一部分)可以使本发明的上面和更好的理解将变得更清楚。虽然上面和后面写下的和解释的公开集中在本发明的实施例公开上,但是应该清楚地理解到:这只是用作解释和举例,而不用作对其的限制。本发明的精神和范围仅由后附权利要求的条款限制。
下面表示附图的简要说明,其中:
图1是按照一种范例实施例的网络系统的方框图。
图2是解释按照一种范例实施例的基于内容的信息导向器的操作的一个流程图。
图3是解释按照一种范例实施例的包括一个验证加速器的网络系统的方框图。
图4是解释按照一种范例实施例的一种样本信息的框图。
图5是解释按照一种范例实施例的用于基于内容的信息导向器的另一个范例操作环境的方框图。
图6是解释按照一种范例实施例的一种转换交换机的方框图。
图7是解释按照另一个范例实施例的一种转换交换机的方框图。
图8是解释按照一种范例实施例的一种系统的方框图。
图9是解释按照一种范例实施例的两个设备级联的方框图。
图10是解释一个XML设备处理不匹配XML设备配置的事务处理或者信息的操作的框图。
图11是解释一个XML设备处理匹配于XML设备配置的事务处理或者信息的操作的框图。
图12是解释按照一种范例实施例的多个设备级联的方框图。
图13是解释按照一种范例实施例的多个验证器级联的框图。
图14是解释按照一种范例实施例的多个变换器级联的方框图。
图15是解释按照一种范例实施例的多个基于内容的交换机的级联框图。
具体实施方式
1、基于内容的切换
参考附图(其中相同数字指示相同组成部分),图1是按照一种范例实施例的网络系统的方框图。如图1中所示,各种客户可以通过例如互联网130的网络耦合或者连接到数据中心135。例如,客户可以包括其中包含应用程序112的服务器110、其中包含网页浏览器122的计算机120(例如个人电脑或者便携式电脑)和无线设备132,所述无线设备132例如是个人数字助理(PDA)或者无线(或者蜂窝)电话。无线设备132可以分别通过通信链路134和136连接到互联网130或者数据中心135。链路134和136的每一个可以包括一个或多个无线链路(例如蜂窝链路或其它链路)或者有线链路。包括服务器110、计算机120和设备132的每一个客户可以通过互联网130发送和接收信息,并且可以使用各种不同的协议或者传送器。
提供数据中心135用于发送、接收并处理多种类的信息、请求、商业事务处理、采购定单、股票报价或股票交易及其它信息。数据中心135包括几个处理节点,例如服务器,所述服务器包括用于处理各种定单、商业事务处理及其它要求的服务器150、服务器160和服务器170。数据中心135中的不同服务器可被进行分配以提供不同服务乃至不同的服务水平。按照一种范例实施例,客户和数据中心135通过发送和接收包含提供于XML或者基于XML的语言中的数据的XML信息,或基于用于数据交换的另一种结构化的句法的信息,来互换商业事务处理信息或者其它信息。
各种服务器,例如服务器150、160和170通过一个交换机165耦合到业务量管理器140。业务量管理器140可以执行与业务量管理有关的各种功能,包括负载平衡,例如按照某些策略(例如循环法、最小连接数目或者其它负载平衡技术)来使可用服务器上的输入信息或请求平衡。
再次参考图1中的客户,应用程序112可以是一个商业程序或者一个用于管理库存、定单或者其它商务事务处理的程序。例如,应用程序112可以自动地并且电子地检测库存已经减少到一个阈值以下,然后自动地产生并发送一个采购定单给数据中心135上的供应者服务器以请求运输额外的供应或者库存。由此,服务器110可以通过发送电子定单到位于数据中心135的供应者远程服务器来开始例如一个商业对商业(B2B)的事务处理。
作为另一个范例,网页浏览器122可以从一个例如位于数据中心135的远程服务器请求网页、商业信息或者其它信息。网页浏览器122还可发送或者邮寄采购定单、商业事务处理或者其它商业信息到可能位于数据中心135上的远程服务器。无线设备132可以从位于数据中心135上的服务器接收与采购定单、商业事务处理、网页、股票报价、比赛得分等相关的信息或者数据。
按照一种实施例,服务器110、计算机120和无线设备132的每一个可以通过发送并接收XML数据来与一个或多个远程服务器(例如服务器150、160和170)传递或者互换数据,XML数据可以是按照XML标准或者按照一个或多个以XML为基础的语言而编码或者格式化的应用数据。
按照一种范例实施例,业务量管理器140包括基于内容的信息导向器145来引导或者切换信息到一个基于应用数据(例如商业事务处理信息,作为一个例子,该商业事务处理信息可以作为XML数据提供)的内容而选择的服务器。业务量管理器140和/或信息导向器145可以是软件、硬件或者两者的组合,并且甚至可以是提供在网络处理机上或者作为网络处理机的一部分。应该注意到:导向器145可能独立工作,或者作为较大的网络装置的一部分工作,例如作为业务量管理器140的一部分工作。
按照一种范例实施例,由于XML的优点,应用数据可以通过发送并且接收包括按照XML标准编码或者格式化的应用数据的信息,来有利地在数据中心135的服务器和一个或多个客户或者计算节点之间交换。因此,按照一种实施例,导向器145可以是一个XML导向器,因为它根据信息中XML数据来引导或者切换输入信息到一个特定的服务器。XML数据最好遵照XML标准所需的格式或者句法。使用标记格式(例如开始标记和结束标记)及其它遵照XML标准的句法或者标示数据的文件被认为是一个″很好地格式化的″XML文件。
因此,在一个示范性的实施例里,基于内容的信息导向器145是一个XML导向器。然而可以理解:导向器145可以引导或者切换基本上具有任何类型结构化句法的信息,包括任何类型的标示语言。
图1中所示的业务量管理器140和导向器145的实施例的一个有益方面是:该业务量管理器140和该导向器145位于一个或多个应用服务器或者处理节点的前面。通过将业务量管理器140和导向器145定位在处理节点或服务器(如图1中所示)的前面,例如耦合在网络130和服务器之间,就可以把业务量管理功能和导向器145的功能从应用服务器卸载到一个单独的和/或专用的网络装置或者网络系统上。这可以有利地减轻处理节点或者应用服务器的这个附加处理开销。
作为替换,导向器145可以包括一个具有多个输出端口(物理端口)的内建交换机,同时一个服务器耦合到每一个物理输出端口。在此情况下,一组服务器可以具有相同的IP地址或者媒体存取控制(MAC)地址,或者可以具有不同的地址。导向器145然后通过物理输出端口之一简单地输出或者切换或者转发包含具有XML商业事务处理信息的消息的数据分组到一个特定的服务器。不管导向器145是否包括一个内建的交换机或者使用交换机165来向服务器切换信息,导向器145都要切换或者引导信息到不同的服务器。交换机165和导向器145还可根据数据分组中的其它信息(例如一个源地址或者目的地地址)来切换数据分组。
图2是解释按照一个范例实施例的基于内容的信息导向器操作的流程图。在块210,导向器145接收一个信息。该信息可以通过任何传送器或者协议发送,所述协议例如是传输控制协议(TCP)、文件传送协议(FTP)、简单邮件传送协议(SMTP)、无线应用协议(WAP,可以使用无线设备发送和接收信息)和超文本传输协议(HTTP)等等。本发明总体的教导和工作不依赖于任何特定的传送器或者协议,而是独立于传送器的。
HTTP邮件(POST)是信息的一个范例。用于HTTP邮件信息(或者HTTP请求)的格式可以表示为:
请求线路(URL);确定一个用于处理信息的程序
报头(0或更多)
<空行>
主体(应用数据或者XML数据;仅用于邮件)
这里是一个范例:
POST www;acme.com/purchasing/order.cgi HTTP/1.1

    Content-Type:text/xml

    Content-Length:1230

    User-Agent:Cern-Line Mode/2.15

    Date:3/27/00

    <XML>

    <From>intel.com</From>

    <To>bookstore.com</To>

    <PurchaseBook>

    <ISBN>02013798233</ISBN>

    <PurchaseAmount>98</PurchaseAmount>

    </PurchaseBook>

    </XML>
在这个范例里,在请求线路里提供URL(或者请求线路)来标识一个程序或者应用来处理该信息。几个报头行(内容类型、内容长度、日期等等)组成一个HTTP报头。在HTTP报头之后提供应用数据,在这个范例里提供作为XML数据。开始标记<XML>,和</XML>,结束标记,分别标识应用数据(或者XML数据)的开始和结束。XML应用数据也被称作XML文件。XML文件包括描述数据的标示字符(或者标记)和数据字符。举例来说,上述XML文件的″To″元素写成:<To>bookstore.com</To>.其中<To>是一个开始标记并且</To>是一个结束标记,因为它们描述XML数据字符(bookstore.com),所以是标示字符。商业事务处理信息(到何处、从哪里来、购买的项目、购买数量、数目等等)描述商业事务处理,而且不包括在URL、HTTP报头或者任何其它报头内,例如用于发送该信息的包络的IP报头、TCP报头。这仅仅是信息中的商业事务处理信息的类型的范例,根据该信息,导向器145可以分析并且路径或者切换用于该信息的决定。
在图2的块215上,导向器145(图1)分析应用数据(这范例中的XML数据)的部分或者全部并且检查以保证XML文件或者应用数据被良好地形成。例如,导向器145可以检查以保证XML文件的至少一部分符合被称作良好形成的限制,或者XML规范或标准中的需要。分析泛指将组成XML文件的字符或XML数据分类为标示(例如<To>)或字符数据(例如bookstore.com)的处理。
在图2.的块220上,包括标示字符和/或字符数据的应用数据或XML数据与一个或多个可能被保存在导向器145中的配置模型或者查询相比,以确定是否存在匹配。按照一个实施例,该配置模型可以通过用户或者程序或者应用程序动态地改变或者更新。例如,一个程序可以检测一个或多个服务器的故障和/或检测服务器的响应时间,然后更新该配置模型以便在网络中计及这些变化,例如,将特定信息从繁忙的服务器转向至不太忙的服务器,或从有故障的服务器转向至可用的服务器。
在块225上,如果信息的应用数据的内容和配置模型或者查询之间存在一个匹配,(其中该信息可包括作为XML数据提供的商业事务处理信息)那么导向器145引导或者切换该信息到相应的服务器或者数据中心里的处理节点,例如其中该信息导向由配置模型表明的指定服务器。如果存在许多匹配,则导向器145可以仅根据第一匹配引导信息,或者可使用负载平衡策略来在一组服务器中平衡信息。如果没有匹配,该信息可以导向一个默认服务器或者可以被阻断。作为替换,该配置模型还可以标识用于阻断发送的某一类型的信息。在这方面,导向器145还可作为一个滤波器,以便基于该应用数据有选择地穿过或者转发某些信息而阻断其它的信息。
例如,可以配置导向器145以便基于下列配置模型或者查询来引导或者切换信息:
服务器         IP地址     端口    XML模型
-----          ------      ---    -------
S1(例如150)    10.1.1.1    80     To=bookstore.com
S2(例如160)    10.1.1.2    80     To=stockquote.com
S3(例如170)    10.1.1.3    80     To=computerstore.com
基于上述的配置模型,如果用于商业事务处理信息的To元素的数据是bookstore.com,则导向器145将引导一个信息到服务器S1(具有IP地址10.1.1.1和端口80)。如果用于商业事务处理信息的To元素的数据是stockquote.com,则该信息将被引导到服务器S2(具有IP地址10.1.1.2和端口80)。并且,如果用于商业事务处理信息的To元素的数据是computerstore.com,则导向器145将引导任何信息到服务器S3。必要时,导向器145将翻译数据分组的目的地地址和端口号为恰当的目的地地址和端口号(也就是,成为目的地服务器的地址)。
这有利地允许了根据应用数据的内容(例如信息中的商业事务处理信息)为信息提供不同类型的服务(或者服务的不同水平)。在该范例里,服务器S1可被分配以便处理对于发送给bookstore.com的书的采购定单。服务器S2可被分配以便处理对于实时股票报价的请求,而服务器S3可被分配以便处理对于发送给computerstore.com的计算机的采购定单。
存在许多范例,其中以应用数据的内容或者商业事务处理信息为基础的基于内容的切换可被用于提供不同的或者区别的服务,甚至提供不同的或者区别的服务水平。作为另一个范例,导向器145可被配置以便根据下列配置模型或者查询来引导或者切换信息:
服务器         IP地址     端口    XML模型
-----          ------      ---    -------
S1(例如150)    10.1.1.1    80     购买数量<$100
S2(例如160)    10.1.1.2    80     $100<购买数量<$1000
S3(例如170)    10.1.1.3    80     $1000<购买数量
S4(未显示)     10.1.1.4    80     $1000<购买数量
在该范例里,如果购买数量小于$100,则用于采购定单的信息被发给服务器S1;如果购买数量小于$1000而多于$100,则用于采购定单的信息被发给S2;并且对于高额美元购买,用于购买大于$1000的采购定单的信息被发给两个服务器中任何一个。用这种方式,导向器145(图1)可以根据该信息中的应用数据或者商业事务处理信息来引导或者路由接收的信息。这允许网站或者电子商务根据应用数据的内容或者事务处理信息来提供不同的或者区别的服务水平。
在特定的范例里,已经分配了两个服务器(S3和S4)来处理最高美元采购定单。因此,对于与低额购买相比,通过为高额数量购买特殊分配更大的资源(也就是说,同仅仅一个服务器相比的两个或更多服务器),工作在数据中心135上的电子商务可以为具有高额购买数量的采购定单信息提供一个更高水平的服务。用这样的方式,导向器145可以根据多种类的商业事务处理信息或者应用数据来切换或者引导信息到另一个网络装置或者一个指定的服务器。
II.验证加速
图3是解释按照一个范例实施例的包括验证加速器142的网络的方框图。按照一个优选实施例,数据中心135还包括一个验证加速器142,以便在信息被发给应用服务器或者处理节点以前对接收的信息进行预先验证。按照一个范例实施例,验证加速器142作为一个网络装置被提供。换句话说,按照一个范例实施例,验证加速器142可以耦合在网络130和多个处理节点或者应用服务器(例如服务器150、160和170)之间。提供验证加速器142作为一个与应用服务器相分离的网络装置,这样的提供就允许将文件验证在计算上的繁重任务从应用服务器卸载到验证加速器142。作为替换,可以提供多个验证加速器142,一个验证加速器142被提供用于一个或多个应用服务器或者其它处理节点。
如上所述,必须检查XML文件以保证它满足XML的基本句法和格式,例如,以便确定该文件是否是″很好地形成的″。另外,XML标准也选择性地允许验证一个文件,这是一种更严格的检查以便确定XML文件的结构或者语法是否遵照特定的基于XML的语言所需的结构或者句法。XML允许依照验证模板来验证文件。验证模板定义XML文件的文法和结构,包括需要的元素或者标记等等。
可能有许多类型的验证模板,作为范例,例如XML或者模式中的文件类型定义(DTD)。这两个验证模板被用作范例来解释按照范例实施例的某些特征。许多其它类型的验证模板也是可能的。一种模式类似于DTD,因为它定义文件必须符合以有效的语法和结构。然而,模式比DTD更具体,因为它还包括定义数据类型(例如字符、数字、整数、浮点或者习惯数据类型等等)的能力。另外,不同于DTD(在当前标准下),可能要求模式是良好地形成的。因此,应用数据和模式都可被分析和检查基本的句法或者良好形成。因此,至少对于某些应用程序,可以预期将来模式可能变得比DTDs更通用。
如上所述,按照XML标准,对比验证模板来验证一个接收文件是可选择的。如果文件是对比一个特定的验证模板来验证的,则XML文件将在文件开始处包括验证指令(或者验证码)。验证指令的一个范例可以是一个文件类型的说明,如在XML中众所周知的。另一个范例是一个模式或者对于外部模式的一个参照。按照当前的XML,验证指令(例如文件类型说明或者模式等)是该文件的可选择的区域,它说明验证模板的结构、元素类型、属性等等。例如,如果验证指令被包括在该文件里,则对于一个有效文件来说,该文件中的应用数据的结构和语法必须与由该验证模板定义的结构和语法相匹配。验证模板可提供到该文件内部(或者在内部提供)和/或提供到该文件外部。
图4是解释按照一个范例实施例的范例信息的框图。图4中所示的范例信息包括一个XML文件410。XML文件410包括XML应用数据420,例如,包括商业事务处理信息和验证指令415。
应用数据420是那些将要由应用服务器处理的应用数据。应用数据420可以包括例如商业事务处理信息,例如要购买的列表商品、价格、数目或者事务处理或信息请求的其它细节,例如一个对股票报价、事务处理详情等等的请求。
按照一个实施例,一个或多个验证指令415的存在指示:可在处理应用数据420之前,根据提供于内部和/或由验证指令415标识模板来验证该文件。换句话说,按照一个实施例,验证指令的存在可能指示:在将该数据传送给一个应用服务器进行进一步处理之前,应用数据应该在网络装置(例如验证加速器142,也称作验证器)上预先验证。为了指示应用服务器文件或应用数据已被验证了,验证指令可以从该文件上去掉,和/或可给出一个指示(例如设置在该信息中的数据或字段中的注解或指令)来表明应用数据或信息已经被验证了(也就是,预先验证)。按照当前XML,即使在验证指令415存在时,文件验证也是例如由应用服务器可选择的。然而,将来有可能需要XML或其它语言中的验证。
如果该文件应该与验证模板(例如一个文件类型定义、模式等)相联系,那么对于文件验证,该文件可以典型地包括一个或多个验证指令415。验证指令415提供或标识验证模板或文件类型定义,文件类型定义定义文件410的应用数据420必须符合的文件结构和语法,例如元素、属性等。验证模板可以包括一个内部组成部分和/或一个外部组成部分。
在显示的范例里,验证指令415或验证模板作为一个文件类型说明提供。验证指令415以DOCTYPE语句″<DOCTYPE hogsforsale…″开始,该语句指示存在一个可被提供在该文件内的验证模板,例如,作为内部组成部分419,或提供在该文件外部,例如此该范例中标识为″hogs.dtd″417的外部组成部分。因此,在该范例里,验证指令415提供验证模板的内部组成部分419和一个标识外部组成部分的外部组成部分标识符417。内部组成部分419和外部组成部分(没有显示)共同形成用于该文件的验证模板,以便验证用于文件410的应用数据420。按照一个实施例,如果验证正在执行,那么DOCTYPE语句或其它验证指令的存在典型地将使应用程序或应用服务器依照验证模板来验证该信息中的应用数据420。
验证模板的内部组成部分419定义一个有效的hosgsforsale文件必须包括下列元素:类型、平均重量、数目和价格/hog等等。这只是一个范例。
在这范例里,标识符″hogs.dtd″标识一个外部实体或者是验证模板外部组成部分的文件。根据外部组成部分标识符417,外部组成部分可以位于远程服务器或者其它位置上。验证模板的外部组成部分(标识为″hogs.dtd″)可以包括关于文件410的应用数据420的结构或者语法的额外要求。外部组成部分标识符417可以作为完整地址提供,或者作为一个相对地址或者指示器提供,例如,相对于该信号的源节点或发起节点的地址或位置。例如,列在验证指令415上的″hogs.dtd″标识符实际上可以参照″hogs.dtd″外部组成部分417,它可以在例如下面的地址处发现:oasis.xml.org/farming/livestock/hogs.dtd。如上所述,验证模板的范例包括一个用于XML、模式等等的文件类型定义。
除删去该验证指令之外(或者不删去该验证指令),可以向该信息添加一个指示,向应用服务器指示应用数据或者信息已经被验证(也就是,预先验证)。例如,预先验证指示可被提供作为该信息中的一个字段,作为应用数据本身里的一个指令或者注解,或者使用另一种技术。例如,在XML技术规范里,除了元素标记,和数据,存在被称为处理指令标记的某些东西,它允许指定信息给一个被嵌入XML文件的应用程序。处理指令不认为是XML文件字符数据内容的一部分,但是它们始终通过解析程序传递到XML应用程序上。对于处理指令标记,格式是<?......?>。因此,按照一个实施例,在删去验证指令(或者DTD或者模式或者对其的参照)之后,可以在该文件的开头处(或者其它位置)添加下列注解或者指令标记:<?由intel验证?>。
作为替换,不同的目的地地址或者端口号可被用于分组报头以便指示该数据分组中的XML信息已经预先验证了。例如,代替端口80,端口87能被作为目的地端口使用以便为XML文件指示一个预先验证的信息。这里有一些范例方法,它们可用于向服务器指示那些XML文件已经被验证了,或者不必再验证。
通过预先验证该文件然后从该文件删去该验证指令,和/或添加一个预先验证指示给该文件或者信息,验证的繁琐步骤从应用服务器卸载到一个网络装置、网络设备或可被称为例如验证加速器142的其它系统。
III.转换
图5是解释按照一个范例实施例的另一个对于基于内容的信息导向器145的操作环境的方框图。信息导向器145和交换机165在一起可被认为是一个基于内容的交换机146。
按照本发明一个有利方面,交换机146可以接收一个XML信息,将应用数据或者商业事务处理信息与一个指定的配置模型比较,然后切换该信息到一个恰当的处理节点或者服务器而不管由该信息使用的基于XML语言的类型。一旦配置交换机146的信息导向器145来检测或者识别一个或多个指定的标记和相应的数据(例如,购买数量>$100),则基于内容的交换机146可以引导或者路由或者切换基于应用数据内容的信息,例如,基于商业事务处理信息,作为XML数据提供,不管由该信息使用的基于XML的语言类型。
如图5中所示,存在三组耦合到该交换机165的服务器,包括:一组BizTalk服务器610(包括服务器1和2),它使用称为BizTalk的基于XML的语言传递数据;一组Ariba服务器615(包括服务器3和4),它使用被称为CXML的基于XML的语言传递数据;以及一组无线服务器620(包括服务器5和6),它仅仅使用被称为无线标示语言或者WML的基于XML的语言传递数据。提供这些仅仅作为范例。
信息可以以许多不同的数据格式到达交换机146,这些数据格式包括电子数据互换(EDI)、平(flat)字母数字文件格式、一个或多个XML语言或者格式(例如WML、CXML、BizTalk、eBXML等)、HTML等等。某些特定的客户计算机能使用一种数据格式(或者很少种类的格式)传递,而应用服务器(例如服务器610、615、620)的每一个可以使用一种不同类型数据格式传递。
图6是解释按照一个范例实施例的转换交换机。转换交换机710包括一个转换器715以便转换或者翻译至少一部分信息从第一数据格式到第二数据格式,或者到从多个第二格式中选择的一个格式。信息导向器145(在某些实施例里是可选择的)被连接到转换器715的输出端。信息导向器145基于应用数据内容(例如商业事务处理信息,这些信息可以作为XML数据或者另一格式数据提供)来引导或者切换信息到一个选择的服务器。如上面所述,按照一个范例实施例,信息导向器145可以基于如与一种模型(或者一个或多个模型)相比的信息的商业事务处理信息而输出一个切换判定给交换机165。交换机165然后基于来自信息导向器145的判定或者指令而切换该转换的信息给多个输出端口之一,或者给多个服务器(例如服务器150、160以及170)之一。因为基于内容的信息导向器145在有些情况下是可选择的,所以交换机165可以使用基于地址的路由或切换技术来切换转换的信息,例如以该信息中的或者携带该信息的数据分组报头中的源和/或目的地地址和端口号为基础,切换到交换机165的一个特定输出端口。
转换器715可以按照需要在许多不同种数据格式之间转换信息。一个范例通信可能包括后面跟随一个响应的请求,但本发明不局限于这个方面。例如,第一节点可以通过网络或者互联网130发出一个由第二节点接收的请求。第二节点可以发送一个响应回到第一节点。请求和响应典型地都可以通过互联网或者网络130以及转换交换机710来路由。请求和响应都可以包括那些需要被转换的数据。转换交换机接收一个或多个数据分组中提供的该信息,确定该数据分组(s)内的数据是否需要转换,执行任何需要的转换,然后通过一个或多个数据分组发送该信息。
存在四个涉及转换的常规情况:转换可以仅仅在该请求里的数据上执行,仅仅在该响应里的数据上执行,在该请求和该响应里的数据上执行,和在不存在于这两者中的数据上执行。最后一种情况包括具有这样一种数据的信息,如果有的话,该数据已经是和接收节点相适合的格式了,因此,不一定必须要转换。
例如,计算机120的网页浏览器122可以使用HTTP″Get″信息发出一个对股票报价的请求,并且能够处理仅仅是格式A的数据。该请求可通过网络130和交换机710发送给服务器150而不变化,例如,因为服务器150和浏览器122都与HTTP信息兼容。服务器150然后发出具有格式D的数据(股票报价)的响应。格式D中的数据可以被放入另一HTTP信息中。虽然浏览器122和服务器150都是HTTP兼容的,服务器150处理格式D中的数据而浏览器122处理格式A中的数据。因此,交换机710内的转换器715将作为响应从格式D到数据格式A转换该数据,然后通过网络130发送该响应回到网页浏览器122。
在另一范例里,在商业到商业(B2B)事务处理中,服务器150通过互联网或者网络130和交换机710从服务器110获得一个空白发货单。服务器150上的软件程序填写或者完成该接收的发货单并且返回该完成的发货单。交换机710以一个或多个数据分组从服务器110接收格式A的发货单,从格式A到格式D转换该发货单,然后例如通过一个或多个在互联网或者网络130上发送的数据分组以格式D输出完成的发货单到服务器150。
按照一个范例实施例,交换机710可以建立与一个第一节点的连接,然后在第一连接上通过一个或多个数据分组从第一节点接收一个包括应用数据等等的信息。交换机710然后在该信息上执行任何需要的转换,如果有的话,然后在交换机710和第二节点之间建立一个第二连接。转换的信息然后作为一个或多个数据分组在第二连接上切换或者输出到第二节点。因此,转换交换机710可以作为一个网络装置操作以便接收或者截取信息,如果需要则在该信息一部分上执行任何格式转换,然后通过一个或多个数据分组切换或者转发该信息到一个目的地处理节点。在很多情况中,转换交换机的存在和数据或者信息可以单向或者双向转换的事实对于一个或者两个处理节点是显然的。
图7是解释按照另一范例实施例的一个转换交换机的方框图。转换交换机710A类似于图6中所示的转换交换机710,因为它包括一个转换器715、一个信息导向器145和一个交换机165。转换交换机710A可以更进一步包括两个附加元件,包括一个安全加速器815和/或一个验证加速器142。
如上所述,验证加速器142通过将应用数据420的结构和语法与验证模板定义的或者需要的结构和语法进行比较,验证至少一部分信息(例如,验证应用数据420,图4)。如果文件或者信息有效,则验证加速器142之后选择性地删去该验证指令,包括可以使文件被验证的任何语句(例如,DOCTYPE语句),验证模板的任何内部组成部分(s)和对于验证模板外部组成部分的任何参照或者标识符。另外,验证加速器142可以给该信息添加用于指示应用数据或者信息已经被验证(也就是预先验证)的指示。如果验证指令(例如对于外部验证模板的验证模板或者参照)被从该文件上删去,则验证加速器142应该传送验证指令给交换机715,例如,以便用于标识正确的转换模板。与其剥除或者删去验证指令,不如将验证指令留在该信息里,以便执行变换,或者确定转换是否是需要的,并确定那些应该执行的转换的类型。交换机710同时可以给该信息添加该信息已经被转换的指示,或者该信息已经转换并且验证的指示,以便通知接收信息的处理节点这些功能、转换和验证已经执行了,并且不必重复。
因此,如图7范例实施例中所示,验证加速器142在该信息或者文件被转换之前验证它们。这保证在转换该信息以前,该信息具有正确的格式和句法。除此之外(或者作为替代),验证加速器142可以在该信息已经转换到新数据格式之后验证该信息,(例如,验证加速器142可以从信息导向器145接收转换的信息的一份副本,验证它,然后在导向器145输出该信息到交换机165用于切换以前通知导向器145它的有效性)。在转换之后进行的信息验证保证在变换期间没有发生错误。第二验证不是必须的。验证可以在转换以前执行、转换之后执行,既在之前又在之后执行,或者根本不执行。
安全加速器815加密发出的信息和/或解码从网络130接收的输入信息。按照一个实施例,安全加速器815可以是一个加密套接字协议层(SSL)加速器。安全加速器815允许与安全有关的任务(例如加密和/或解密)从应用服务器卸载到加速器815。安全加速器815是可选择的。
IV级联网络装置
图8是解释按照一个范例实施例的一个系统的方框图。XML装置810耦合在客户805和服务器820之间。客户805可以例如是一个请求访问服务器820上的资源的处理节点。客户805典型地发起一个连接申请,而服务器820典型地是用于连接申请的目标或者目的地。例如,装置810可以是一个执行验证的验证加速器(或者验证器)142,转换器715转换该数据或者信息从第一数据格式到第二数据格式,如果商业事务处理信息或者在该信息或者数据里的其它字段与一个预定的模型或者数值匹配,则一个交换机146切换该数据或者信息到一个特定的输出端口或者处理节点。装置810还可以是这些功能或装置的一个组合或者群集。例如,装置810可以包括一个验证器、一个转换器和一个交换机。
装置810与现存的服务器820成行放置,使得从客户805导向至服务器820和从服务器820导向至客户805的数据分组或者业务量典型地在到达目的地以前应该先穿过装置810。按照一个范例实施例,当正确地配置时,装置810典型地不对数据进行任何变换地从客户805向与之成行排列的服务器820传送除了匹配于装置810的结构的装置810的数据或者信息之外的业务量。例如,用于装置810的配置参数可以包括一个互联网协议(IP)地址和一个端口号,该装置810可以为互联网协议(IP)地址和端口号检测连接申请,然后创建连接。
当流过装置810的数据匹配于它的配置参数时,装置810典型地在本地存储信息,而不是传送它到服务器820,然后在其上执行一个操作,典型地是一个与XML相关的操作。如上所述,例如,与XML相关的操作可以是XML验证、转换或者基于内容的切换(例如基于XML的切换)。在XML操作执行之后,该数据将被转发到原始服务器上(在XML验证或者转换情况下),或者到另一选择的服务器,该服务器在XML切换情况下匹配一个预先决定的模型。被转发的处理数据看来似乎来自原始的客户805,虽然数据或者信息的内容可以从原始的信息根据装置的结构和执行的XML操作而变换。
通过将XML装置810放置在网络上,物理地位于客户805和服务器820之间,可使从客户805到服务器820的连接通过XML装置810传递。XML装置810使物理地址或者MAC(媒体存取控制)地址迷失方向,并且典型地没有它自己的IP地址,因此可能在层2及以上是透明的。XML装置810包括一个配置,例如一个指定的IP地址和端口号。XML装置并不典型地拥有它自己的IP地址。相反,每个XML装置810映射到一个IP地址和端口号,其中该装置将接受连接申请以便接收信息或者数据。XML装置810已经映射到的IP地址和端口号被称作该装置的配置。装置的配置作为替换地可以由其它数值或者字段定义。有时,XML装置810可被配置成接收送往一个或多个服务器或者它后面的处理节点的信息。
装置的MAC地址的迷失将被简要地解释。客户805发出一个地址解析协议(ARP)信息,该信息请求一个相应于服务器IP地址(IP1.2.3.4)的MAC地址,图8中的箭头1。装置810然后转发该ARP信息给服务器820,箭头2。服务器820对它的MAC地址(MAC 05:06:07:08)作出反应,箭头3。XML装置810然后转发该答复给客户805,提供服务器820的MAC地址,图8中的箭头4。执行一个对于服务器的MAC地址的ARP经常得不到响应,因为服务器820和客户不是位于相同的网络段或者链接上。然而,XML装置810用服务器的MAC地址响应客户的ARP,因此向客户805显示为是服务器820。同样地,当服务器820对于该客户执行一个ARP时,XML装置810对客户的MAC地址作出反应。XML装置810因此可以对于网络上的其它装置是不可见的。
按照图8中所示的范例实施例,XML装置810接收客户805和服务器820之间传送的全部网络业务量,并且相对于它的配置比较目的地IP地址和新连接尝试(又名同步或者SYN数据分组)的目的地端口号。如果数据分组不是一个新的连接尝试,或者与XML装置的配置不匹配,它可以被发送到服务器820上,典型地没有(既是有的话也是很小)改变(包括MAC改变)。如果数据分组是一个新的连接尝试,并且匹配XML装置的配置(例如IP地址和端口号),则XML装置本身将接收来自客户的信息(而不是转发该数据分组到该服务器上)。装置的配置可能包括很多种的字段或者参数,例如IP地址、端口号,或者提供于数据分组另一字段的特殊值,例如IP选项或者其它提供于报头或者数据分组中的字段。IP地址和端口号仅仅是范例,但是该装置配置不限制于此。
当客户805已经完成发送它的请求给XML装置(它认为是服务器820的XML装置)时,XML装置810将在该数据上执行一个操作。该操作可以是XML验证或者XML转换,或者XML切换。如果不执行XML操作,那么从客户805接受的数据将要发送到服务器820上而不处理。操作不执行可能有几个理由,例如:数据分组或者信息与装置的配置不相配,该装置没有可用资源来执行该操作,一个转换模板不能用来执行该转换,该信息或者数据不是有效的(或者不能被验证),或者该信息或者数据与用于切换的预定模型不相配。
如果执行XML操作,则XML装置810将发送(可能改进的)XML内容到服务器820上。接收这个XML内容的服务器可以是与原始目标服务器820相同的服务器,具有不同的端口号的相同(例如,具有相同的IP地址)的服务器,或者一个完全不同的服务器。
图9是解释按照一个范例实施例的两个装置级联的方框图。目的地IP地址或者信息或者数据分组中的目的地端口号的可能变换允许许多XML装置级联或者串连耦合在一起。按照一个实施例,XML装置都可以具有相同的配置。在此情况下,第一XML装置(装置#1)可以在该信息或者数据上执行一个事务处理,改变用于信息或者数据的目的地IP地址或者端口号,然后将该经过操作的信息转发至第二XML装置(装置#2)。因为目的地端口或者IP地址已经由第一XML装置改变了,然而,它不再与第二XML装置的配置匹配,在这范例里,第二XML装置的配置和第一个一样。因为只有当它匹配XML装置的配置时一个装置才可以在该信息(或者一组数据分组)上操作,第二装置将在不对其进行操作的情况下将信息或者数据分组转发到服务器820。因此,该数据透明地通过2号XML设备转发到服务器820上。这种机制允许任意数的XML装置级联或者串连。
这允许在网络里处理的XML的可伸缩性。例如,许多验证器可以串连耦合,每个具有相同的配置。这允许验证的负担被分散在多个器件上。同样地,多个转换器或者多个基于内容的交换机也可串连耦合以便提供处理数量增加的信息或者事务处理的能力。
例如,如果一个装置接收一个信息,但是正处于繁忙阶段或者没有足够的资源来处理或者操作该信息,或者如果该装置出现故障,该装置可能之后在不对其进行处理的情况下转发该信息到串连的装置或者一连串装置中的下一个装置上。如果发生故障,则失效的XML装置可以典型地发送接收的数据分组或者信息给下一个装置而不处理该信息。例如,如果一连串中的第一XML装置失效,它可以利用一个内部中继在物理上变成一段以太网电缆等等,并且数据分组将透明地穿过它到第二XML装置上。这允许到XML处理的容错。XML处理能力可以仅仅通过加入额外的XML装置而得以伸缩。任何XML装置的故障不具有对XML处理能力的严重影响,因为额外的级联XML装置将处理该事务处理。
以下是按照一个范例实施例描述XML装置操作的伪代码。
If((Packet==SYN packet)&amp;&amp;(Destination IP and Port==
Configured Destination and Port)&amp;&amp;(Resources>Minimum
Required))

    {

    Do XML Processing  ()

    }

    else if(Packet==ARP Request)

    {

    Forward packet onto Server and remember response(MAC/IP
correspondence for server)

    }

    else

    {

    Forward packet onto Server

    }
XML处理根据下面的处理进行:
Do XML Processing

    {

    Collect XML Data from Client(for example,receive all
				
				<dp n="d19"/>
packets for message)

    Perform XML Operation

    if(XML Operation Successful)

    {

    Send resultant XML Data to Server with new IP Address
and/or Port using Client MAC Address

    }

    else(XML operation is not successful)

    {

    Send original XML Data to Server with original IP Address
and Port using Client MAC Address

    }

    }
图10是阐明一种XML装置处理那些没有匹配XML装置配置的事务处理或者信息的操作的框图。以下的号码1-14与图10中所示的框图中的每个箭头的标号对应。
1.客户通过发送一个SYN数据分组(一个请求在客户和服务器之间的连接的同步请求分组)开始到服务器的连接/插入。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
2.XML装置接收SYN数据分组,并且比较字段(目的地IP地址和端口号)与XML装置的配置。XML装置决定SYN数据分组目的地端口没有匹配该装置的配置,因此它转发该数据分组给服务器而不改变该数据分组。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
3.服务器发送SYN-ACK(Syn数据分组的确认)回到该客户。
源IP/MAC:1.2.3.4/05:06:07:08
目的地IP/MAC:9.8.7.6/00:01:02:03
4.XML装置不处理该连接,因此它转发数据分组回到该客户。
源IP/MAC:1.2.3.4/05:06:07:08
目的地IP/MAC:9.8.7.6/00:01:02:03
5.客户发送ACK数据分组以便完成插入的开口。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
6.XML装置注意到数据分组不是同步的数据分组,并且转发数据分组到服务器。
源IP/MAC 9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
图10中的箭头7到14遵循类似的操作。因为没有随后的数据分组是连接请求数据分组(例如SYN数据分组),XML装置仅仅在客户和服务器之间转发数据分组。箭头7-10指的是从客户通过装置810传送数据给服务器,同时箭头11-12阐明通过装置810从服务器到客户传送数据。箭头13和14指的是关闭该连接。
图11是阐明一种XML装置处理那些匹配XML装置配置的事务处理或者信息的操作的框图。
1.客户通过发送一个同步的数据分组开始到服务器的连接。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1381
2.XML装置确定同步数据分组的目的地IP地址和端口号与该装置的配置匹配,并且发送SYN-ACK回到客户。
源IP/MAC:1.2.3.4/05:06:07:08
目的地IP/MAC:9.8.7.6/00:01:02:03
3.客户发送ACK(确认)数据分组,以便完成连接/插入的开口。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1381
4.客户开始发送XML数据给形成作为服务器的XML装置。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1381
5.客户发送剩余XML数据给形成作为服务器的XML装置。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1381
6.XML装置执行XML操作(例如,XML验证或者XML转换),然后在新的目的端口号上发送SYN数据分组给服务器,形成作为客户,在XML装置和服务器之间请求一个(新的)连接。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
7.服务器发送SYN-ACK(确认)回到形成作为客户的XML装置。
源IP/MAC:1.2.3.4/05:06:07:08
目的地IP/MAC:9.8.7.6/00:01:02:03
8.XML装置发送ACK数据分组,以便完成连接/插入的开口。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
9.XML装置开始发送XML数据给形成作为客户的服务器。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
10.XML装置发送剩余XML数据给形成作为客户的服务器。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
目的地端口:1380
11.服务器发送响应给输入XML装置的XML数据。
源IP/MAC:1.2.3.4/05:06:07:08
目的地IP/MAC:9.8.7.6/00:01:02:03
12.XML装置使用由服务器发送的数据来发送响应给客户(XML装置可以在响应数据上执行另一操作,例如验证、转换或还有响应数据的XML切换)。
源IP/MAC:9.8.7.6/00:01:02:03
目的地IP/MAC:1.2.3.4/05:06:07:08
数据分组13和14遵循与11和12一样的相同模型,但用于关闭TCP连接。
如果额外的XML装置放置在XML装置和服务器之间,那么由第一XML装置处理的数据将穿过的随后的XML装置,如上所述。
对于某些操作,例如基于内容的切换,装置不必接收用于将执行的操作的全部信息。XML装置可以排列一部分信息,足够进行一个切换决定,然后通过改变它们的IP address和/或端口号,可使剩余数据分组转发并且切换到恰当的处理节点。
图12是解释按照一个范例实施例的多个装置级联的一个框图。在图12中所示的范例实施例里,验证器1220(例如一个验证加速器)、一个转换器1230(例如转换器715)和一个交换机1240(例如基于内容的交换机146)级联在一起(串行耦合)。客户(或者其它处理节点)耦合到该验证器1220,同时服务器(或者其它处理节点)耦合到交换机1240。验证器1220配置有IP地址1.2.3.4,并且同意或者接受在端口号84上接收的输入连接请求。转换器1230配置有IP地址1.2.3.4并且同意或者接受在端口号81上接收的输入连接请求。交换机配置有IP地址1.2.3.4并且同意或者接受在端口号82上接收的输入连接请求。
在图12系统的操作中,SYN数据分组由验证器1220从客户收到(请求一个连接),具有一个目的地IP地址1.2.3.4和一个目的地端口号84。因此,数据分组或者信息包括与验证器1220的配置匹配的参数或者字段。因此,验证器1220建立请求的连接并且接收该数据或者信息。验证器1220可以之后检索一个验证模板,或者验证模板可以提供在该信息内。该信息然后被验证。
验证器1220然后发送一个SYN数据分组给转换器1230,指定一个1.2.3.4的目的地IP地址,和一个号码为81的目的地端口,它们和1230的配置匹配。号码为81的目的地端口用来指示该验证功能已经执行了。因为SYN数据分组匹配转换器1230的配置,转换器1230接受或者建立请求的连接以便接收该验证的信息。转换器1230然后可以检索一个转换模板,该模板规定该信息如何从第一格式转换到第二格式。转换器1230然后从第一格式到第二格式转换验证的信息。
交换机1230然后发送一个SYN数据分组给交换机1240。SYN数据分组包括和交换机1240配置相匹配的一个目的地IP地址1.2.3.4和一个号码为82的目的地端口。号码为82的目的地端口由转换器1230使用以便指示在该信息上已经执行转换操作。因为数据分组或者信息与交换机1240的配置匹配,所以交换机1240接受或者建立请求的连接以便接收验证的和转换的信息。交换机1240然后在接收的信息上执行基于内容的切换。例如,如果一部分信息匹配预定的模型或者数值(例如,如果″价格″大于$1000),则交换机1240可以切换或者输出该信息给一个物理输出端口或者给一个处理节点或者服务器。如果在信息和一个或多个预定的模型或者数值之间没有找到匹配,则该信息被转发到它原先规定的服务器或者处理节点,如上面对于基于内容的切换所述的。交换机1240通过使用目的地端口83输出该信息,该信息可以指示该信息已经被切换了。
图13是解释按照一个范例实施例的许多验证器级联的框图。参考图13,三个验证器在客户和服务器之间级联在一起(或者串行耦合),三个验证器包括验证器1305、1310和1315。全部三个验证器1305、1310和1315具有相同的配置(目的地IP地址1.2.3.4和目的端口号84)。
如图13中所示,接收一个规定目的地IP地址1.2.3.4和目的地端口号84的连接请求。因为连接请求与验证器1305的配置匹配,所以验证器1305接受连接请求。该信息或者文件通过一个或多个数据分组接收,并且通过验证器1305验证。因为该信息已经被验证,所以验证器1305将用于数据分组(用于转发该信息)的目的地端口号从84改为81。验证器1305然后通过发送一个连接请求到验证器1310,规定目的地IP地址1.2.3.4和目的地端口81,来转发验证的信息到下一个节点上。连接的端口号81与验证器1310的配置不匹配。因此,验证器1310不接受或者建立请求的连接。相反,验证器1310仅仅转发连接申请到下一个节点上,该节点是验证器1315。因为数据分组与验证器1315的配置不匹配,所以验证器1315重复与验证器1310相同的处理。验证器1315然后转发连接请求的数据分组给该服务器。服务器然后接受或者建立与验证器1305的请求的连接,并且接收该验证的信息。用这样的方式,许多验证器可以透明地级联在一起,以便提供可伸缩性和容错。
图14是解释按照一个范例实施例的多个转换器级联的一个框图。转换器1405、1410和1415级联(或者串行耦合)在客户和服务器之间。每个转换器1405、1410和1415配置有IP地址1.2.3.4并且在端口81上接受连接。转换器1405从客户接收一个连接请求的数据分组(或者SYN数据分组),该数据分组规定目的地IP地址1.2.3.4和目的地端口号81。然而,转换器1405没有足够的资源来处理(或者转换)该信息,例如,因为它忙着处理其它信息。因此,转换器1405转发连接请求数据分组给转换器1410。然而,转换器1410已经失效或者不起作用了,因此也转发该连接请求给转换器1415。转换器1415是起作用的并且具有可用的资源以一种及时的方式处理或者转换该信息。因此,转换器1415将连接请求数据分组的参数或者字段与它的配置相比较。因为请求数据分组的目的地IP地址(1.2.3.4)和端口号(81)与转换器1415的配置相匹配,所以转换器1415接受连接请求以便建立与客户的连接并且通过一个或多个数据分组接收信息或者数据。转换器1415然后从第一数据格式到第二数据格式转换信息或者数据,然后通过一个或多个数据分组使用新的连接来转发转换的信息到服务器。用于转发转换的信息到服务器的数据分组包括一个目的地端口号82以便指示该信息已经被转换了。如果交换机1415不能处理或者转换该信息,那么连接请求和信息将仅仅无改变地发送到可能处理所述连接请求和信息的服务器。
图15是解释按照一个范例实施例的多个基于内容的交换机的级联框图。基于内容的交换机1505、1510和1515在客户和服务器之间级联在一起。按照图15中所示的实施例,基于内容的交换机的每一个配置有IP地址1.2.3.4并且在端口号82上接受连接请求。交换机1505从客户接收一个连接请求,该连接请求规定目的地IP地址1.2.3.4和目的地端口号82。虽然数据分组或者连接请求与交换机1505的配置匹配,但交换机1505不能处理该信息,于是,转发该数据分组到交换机1510,该数据分组包括该连接请求和发送将被处理的数据或者信息的后续数据分组。交换机1510具有足够的资源来处理或者切换该信息,因此接受该连接请求,并通过一个或多个额外的数据分组从客户接收该信息。
基于内容的交换机1510然后通过将该信息或者XML数据与一个或多个预定模型或者数值相比较来在该信息上执行基于内容的切换。例如,提供在XML数据或者信息内的模型″To=Bookstore.com″可以指示该信息应该引导到或者切换到服务器S1,该服务器S1具有一个IP地址10.1.1.1(图15中所示的),并且检测或者监听端口号80上的连接,端口号80是一个对于HTTP公知的端口。
服务器      IP地址      端口    XML模型
------      ------      ----    -------
S1          10.1.1.1    80      To=bookstore.com
因为接收的信息与模型″To=Bookstore.com″匹配,所以该交换机然后将目的地IP地址和端口号分别改为数据分组中的10.1.1.1和80,并且转发一个或多个数据分组中的信息到交换机1515。另外地,交换机可以通过一个或多个数据分组输出信息到一个直接到该服务器S1的不同的物理端口。
交换机1515接收包括目的地IP地址10.1.1.1和端口号80的连接请求数据分组,连接请求分组与它的配置不匹配。因此,交换机1515转发该连接请求和另一个发送该信息到服务器上的信息。另外,该信息可以穿过可以基于IP地址和端口号引导该信息到恰当的服务器的另一交换机。最后,该信息将到达希望的服务器S1。用这样的方式,多个基于内容的交换机可以级联在一起以便处理大量信息或者业务的切换,这也提供了容错。
在这里特别地阐明和/或描述本发明的几个实施例。然而,可以理解本发明的修正和改变通过上述教导涵盖,并且在附加权利请求的权限之内,并且没有背离本发明的精神和预定的范围。

Claims (25)

1.一种装置,该装置包括:
耦合在客户和服务器之间一个装置,该装置具有一个配置,该装置通过一个或多个接收的数据分组接收一个信息,并且只有当接收的数据分组具有一个或多个与装置配置匹配的字段时才处理该信息,该装置通过不同于接收的数据分组的具有一个或多个字段的一个或多个数据分组来转发处理的信息。
2、根据权利要求1所述装置,其中该装置包括如果接收的数据分组的一个或多个字段与该装置配置不相配则转发具有一个或多个字段的接收的数据分组和未改变的信息的一个装置。
3、根据权利要求1所述的装置,其中该装置包括一个或多个验证器、转换器和基于内容的交换机。
4、根据权利要求1所述的装置,其中与该装置的配置匹配的一个或多个字段包括一个目的地IP地址和目的地端口号。
5.一种装置,该装置包括:
耦合在客户和服务器之间的多个装置,这些装置具有同样的配置,这些装置通过一个或多个接收的数据分组接收信息,并且只有当接收的数据分组具有一个或多个与装置的配置匹配的字段时才处理该信息,如果接收的数据分组的一个或多个字段与该装置的配置不相配,则这些装置转发具有一个或多个字段的接收的数据分组和未改变的信息,这些装置通过不同于接收的数据分组的具有一个或多个字段的一个或多个数据分组来转发处理的信息。
6、根据权利要求5所述的装置,其中多个装置包括多个验证器。
7、根据权利要求6所述的装置,其中至少一个验证器包括一个验证加速器以便验证XML文件或者信息。
8、根据权利要求5所述的装置,其中多个装置包括多个转换器。
9、根据权利要求8所述的装置,其中转换器中的至少一个包括一个用于将该信息从第一格式转换到第二格式的转换器。
10、根据权利要求5所述的装置,其中多个装置包括多个交换机。
11、根据权利要求10所述的装置,其中交换机中的至少一个包括在该信息的内容与一个或多个预定模型或者数值匹配时切换该信息到一个选择的处理节点或者服务器的一个基于内容的交换机。
12、根据权利要求11所述的装置,其中基于内容的切换机包括在信息中的商业事务处理信息与预定模型或者数值匹配时切换该信息到一个选择的处理节点或者服务器的一个基于内容的交换机。
13、根据权利要求5所述的装置,其中与该装置配置匹配的一个或多个字段包括一个地址。
14、根据权利要求5所述的装置,其中与该装置配置匹配的一个或多个字段包括一个目的地地址。
15、根据权利要求5所述的装置,其中与该装置配置匹配的一个或多个字段包括一个目的地地址和目的地端口号。
16、根据权利要求5所述的装置,其中与该装置配置匹配的一个或多个字段包括一个目的地IP地址和目的地端口号。
17、根据权利要求5所述的装置,其中与该装置配置匹配的一个或多个字段包括一个目的地IP地址和目的地端口号,该装置在目的地端口号上接受连接请求。
18、一种装置,该装置包括:
一个具有第一配置的第一装置;
一个耦合到第一装置的第二装置,第二装置具有一个第二配置;
第一装置通过一个或多个接收的数据分组来接收信息,并且只有当接收的数据分组具有与第一装置配置匹配的一个或多个字段时才处理该信息,如果接收的数据分组的一个或多个字段与第一配置不相配,则第一装置转发具有一个或多个字段的接收的数据分组和未改变的信息到第二装置。
19、根据权利要求18所述的装置,其中第一装置通过具有与第二配置匹配的一个或多个字段的一个或多个数据分组转发处理的信息到第二装置。
20、根据权利要求18所述的装置,其中第一和第二装置中的每一个包括一个或多个验证器、转换器以及交换机。
21、一种方法,该方法包括:
配置一个装置;
通过一个或多个数据分组在该装置上接收信息;
只有当接收的数据分组具有与该装置配置匹配的一个或多个字段时才处理该信息;以及
通过不同于接收的数据分组的具有一个或多个字段的一个或多个数据分组转发处理的信息。
22、根据权利要求21所述的方法,进一步地包括如果接收的数据分组的一个或多个字段与该装置配置不相配则转发具有一个或多个字段的接收的数据分组和未改变的信息。
23、根据权利要求21所述的方法,进一步地包括:
产生一个响应信息;
通过一个或多个数据分组在该装置上接收响应信息;
如果该响应信息的一个或多个数据分组与该装置配置匹配,则处理该响应信息。
24、一种包括其上包含指令的媒体的装置,当执行所述指令时会产生下列结果:
配置一个装置;
通过一个或多个数据分组在该装置上接收一个信息;
只有当接收的数据分组具有与该装置配置匹配的一个或多个字段时才处理该信息;并且
通过不同于接收的数据分组的具有一个或多个字段的一个或多个数据分组来转发处理的信息。
25、根据权利要求24所述的装置,进一步地包括:如果接收的数据分组的一个或多个字段与该装置配置不相配则转发具有一个或多个字段的接收的数据分组和未改变的信息。
CN01822826.7A 2000-12-22 2001-11-27 具有基于内容的消息转向器用于可伸缩性的级联网络装置和方法 Expired - Fee Related CN1493139B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/741,805 US7162542B2 (en) 2000-04-13 2000-12-22 Cascading network apparatus for scalability
US09/741,805 2000-12-22
PCT/US2001/044638 WO2002052814A1 (en) 2000-12-22 2001-11-27 Cascading network apparatus with content based message redirector for scalability

Publications (2)

Publication Number Publication Date
CN1493139A true CN1493139A (zh) 2004-04-28
CN1493139B CN1493139B (zh) 2010-05-26

Family

ID=24982281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01822826.7A Expired - Fee Related CN1493139B (zh) 2000-12-22 2001-11-27 具有基于内容的消息转向器用于可伸缩性的级联网络装置和方法

Country Status (7)

Country Link
US (2) US7162542B2 (zh)
EP (1) EP1344371B1 (zh)
CN (1) CN1493139B (zh)
AT (1) ATE400126T1 (zh)
DE (1) DE60134664D1 (zh)
HK (1) HK1058115A1 (zh)
WO (1) WO2002052814A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253646A (zh) * 2011-04-08 2011-11-23 江苏达胜加速器制造有限公司 一种加速器控制系统
CN103064854A (zh) * 2011-10-21 2013-04-24 镇江雅迅软件有限责任公司 一种基于xml技术的自动检测库存系统

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162542B2 (en) * 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
US7564957B1 (en) * 2000-10-20 2009-07-21 Verizon Corporate Services Group Inc. Method and system for call center screening
US20020152307A1 (en) * 2001-04-12 2002-10-17 Doyle Ronald Patrick Methods, systems and computer program products for distribution of requests based on application layer information
US7305615B2 (en) * 2001-07-30 2007-12-04 Gigalogix, Inc. Methods and apparatus for accelerating data parsing
ATE368900T1 (de) * 2001-09-21 2007-08-15 Koninkl Kpn Nv Computersystem, datenübertragungsnetz, computerprogramm und datenträger, alle zur filterung von einen inhalt gemäss einer markierungssprache einschliessenden nachrichten
US8660537B2 (en) 2001-11-16 2014-02-25 At&T Mobility Ii Llc System for the storage and retrieval of messages
US7793334B2 (en) 2001-11-16 2010-09-07 At&T Mobility Ii Llc System and method for password protecting a distribution list
US7454195B2 (en) 2001-11-16 2008-11-18 At&T Mobility Ii, Llc System for the centralized storage of wireless customer information
US7657253B2 (en) 2001-11-16 2010-02-02 At&T Mobility Ii Llc System and method for providing message notification
US20030095555A1 (en) * 2001-11-16 2003-05-22 Mcnamara Justin System for the validation and routing of messages
US7487262B2 (en) * 2001-11-16 2009-02-03 At & T Mobility Ii, Llc Methods and systems for routing messages through a communications network based on message content
US7685314B2 (en) * 2002-06-27 2010-03-23 Siebel Systems, Inc. System integration system and method
US7639654B2 (en) * 2002-08-29 2009-12-29 Alcatel-Lucent Usa Inc. Method and apparatus for mobile broadband wireless communications
US7529842B2 (en) * 2002-12-17 2009-05-05 International Business Machines Corporation Method, system and program product for detecting an operational risk of a node
US7809698B1 (en) * 2002-12-24 2010-10-05 International Business Machines Corporation System and method remapping identifiers to secure files
US7774831B2 (en) * 2002-12-24 2010-08-10 International Business Machines Corporation Methods and apparatus for processing markup language messages in a network
US7334064B2 (en) * 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
US20050010668A1 (en) * 2003-07-07 2005-01-13 Shiwen Chen Traversable network address translation with hierarchical internet addressing architecture
US8145793B1 (en) * 2003-11-04 2012-03-27 At&T Intellectual Property Ii, L.P. System and method for distributed content transformation
US20050096999A1 (en) * 2003-11-05 2005-05-05 Chicago Mercantile Exchange Trade engine processing of mass quote messages and resulting production of market data
US7831491B2 (en) 2003-11-05 2010-11-09 Chicago Mercantile Exchange Inc. Market data message format
US20050108316A1 (en) * 2003-11-18 2005-05-19 Sbc Knowledge Ventures, L.P. Methods and systems for organizing related communications
US20050192880A1 (en) * 2003-12-08 2005-09-01 Tomihiro Yamamoto Data transmission system and method
US20050235715A1 (en) * 2004-04-23 2005-10-27 Devine Alice A Cattle waste composting
US8600020B2 (en) * 2004-06-30 2013-12-03 ITXC IP Holdings S.à r.l. System and method for facilitating a telephony carrier to make transactions
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8170019B2 (en) * 2004-11-30 2012-05-01 Broadcom Corporation CPU transmission of unmodified packets
US9021456B2 (en) * 2004-12-22 2015-04-28 International Business Machines Corporation Using collaborative annotations to specify real-time process flows and system constraints
US7496891B2 (en) * 2004-12-22 2009-02-24 International Business Machines Corporation Real-time dynamic modification of service-oriented systems using annotations to specify real-time system constraints
US8135814B2 (en) * 2005-06-29 2012-03-13 At&T Intellectual Property I, L.P. Network capacity management system
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US8701119B1 (en) * 2007-08-28 2014-04-15 Richard A. Ross Parsing XML in software on CPU with multiple execution units
US8266630B2 (en) * 2007-09-03 2012-09-11 International Business Machines Corporation High-performance XML processing in a common event infrastructure
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US7849055B2 (en) * 2007-10-18 2010-12-07 International Business Machines Corporation Method and system for limiting instances of a client-server program within a restricted distributed network
US8515946B2 (en) * 2008-02-28 2013-08-20 Microsoft Corporation Location description for federation and discoverability
CN102301652A (zh) * 2009-04-27 2011-12-28 国际商业机器公司 消息转换
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US8478965B2 (en) * 2009-10-30 2013-07-02 International Business Machines Corporation Cascaded accelerator functions
US8369708B2 (en) * 2009-12-21 2013-02-05 The Invention Science Fund I, Llc Data center with free-space optical communications
US8588618B2 (en) * 2009-12-21 2013-11-19 The Invention Science Fund I, Llc Data center with free-space optical communications
US8712250B2 (en) * 2009-12-21 2014-04-29 The Invention Science Fund I, Llc Data center with free-space optical communications
US8655187B2 (en) * 2009-12-21 2014-02-18 Invention Science Fund I Data center with free-space optical communications
US8452182B2 (en) * 2009-12-21 2013-05-28 The Invention Science Fund I, Llc Data center with free-space optical communications
US8483568B2 (en) 2009-12-21 2013-07-09 The Invention Science Fund I, Llc Data center with free-space optical communications
US8483569B2 (en) 2009-12-21 2013-07-09 The Invention Science Fund I, Llc Data center with free-space optical communications
US8301028B2 (en) * 2009-12-21 2012-10-30 The Invention Science Fund I, Llc Data center with free-space optical communications
US8818196B2 (en) 2009-12-21 2014-08-26 The Invention Science Fund I, Llc Data center with free-space optical communications
US8401393B2 (en) * 2009-12-21 2013-03-19 The Invention Science Fund I, Llc Data center with free-space optical communications
US20110164880A1 (en) * 2010-01-06 2011-07-07 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Data center with free-space optical communications
US8516362B2 (en) * 2010-09-14 2013-08-20 Usablenet Inc. Methods for extending a document transformation server to process multiple documents from multiple sites and devices thereof
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US9129124B2 (en) * 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US9716657B1 (en) * 2013-09-27 2017-07-25 Google Inc. TCP connection resiliency in multipath networks
GB2537949B (en) * 2014-12-10 2021-02-24 Pismo Labs Technology Ltd Methods and systems for processing messages at a network node
US10270724B2 (en) 2015-03-02 2019-04-23 Pismo Labs Technology Limited Methods and systems for processing messages at a multi-SIM network node
KR102421791B1 (ko) * 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
GB2305270A (en) * 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US5867153A (en) * 1996-10-30 1999-02-02 Transaction Technology, Inc. Method and system for automatically harmonizing access to a software application program via different access devices
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
IL121071A0 (en) * 1997-03-27 1997-11-20 El Mar Software Ltd Automatic conversion server
US6192406B1 (en) * 1997-06-13 2001-02-20 At&T Corp. Startup management system and method for networks
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6553000B1 (en) * 1998-01-27 2003-04-22 Alcatel Internetworking (Pe), Inc. Method and apparatus for forwarding network traffic
GB9806918D0 (en) * 1998-03-31 1998-05-27 British Telecomm Software access
US6466971B1 (en) * 1998-05-07 2002-10-15 Samsung Electronics Co., Ltd. Method and system for device to device command and control in a network
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6167448A (en) * 1998-06-11 2000-12-26 Compaq Computer Corporation Management event notification system using event notification messages written using a markup language
US6226675B1 (en) * 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
US6490615B1 (en) 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
US6442589B1 (en) * 1999-01-14 2002-08-27 Fujitsu Limited Method and system for sorting and forwarding electronic messages and other data
US6480860B1 (en) * 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US6507857B1 (en) * 1999-03-12 2003-01-14 Sun Microsystems, Inc. Extending the capabilities of an XSL style sheet to include components for content transformation
US6826597B1 (en) 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US6195689B1 (en) * 1999-05-05 2001-02-27 Mediaone Group, Inc. Headend provisioning agent
US7020681B1 (en) * 1999-06-14 2006-03-28 Sun Microsystems, Inc. Method for caching XML documents viewable on devices with different displays
US6742045B1 (en) * 1999-07-02 2004-05-25 Cisco Technology, Inc. Handling packet fragments in a distributed network service environment
US6735169B1 (en) * 1999-07-02 2004-05-11 Cisco Technology, Inc. Cascading multiple services on a forwarding agent
US6650641B1 (en) * 1999-07-02 2003-11-18 Cisco Technology, Inc. Network address translation using a forwarding agent
US6760324B1 (en) * 1999-09-10 2004-07-06 Array Telecom Corporation Method, system, and computer program product for providing voice over the internet communication
US6430624B1 (en) * 1999-10-21 2002-08-06 Air2Web, Inc. Intelligent harvesting and navigation system and method
US6854120B1 (en) * 2000-01-14 2005-02-08 International Business Machines Corporation Accessing a ERP application over the internet using strongly typed declarative language files
US6810429B1 (en) * 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
US7162542B2 (en) * 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
US6772216B1 (en) * 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US7149969B1 (en) * 2000-10-18 2006-12-12 Nokia Corporation Method and apparatus for content transformation for rendering data into a presentation format
US7134075B2 (en) * 2001-04-26 2006-11-07 International Business Machines Corporation Conversion of documents between XML and processor efficient MXML in content based routing networks
US7171457B1 (en) * 2001-09-25 2007-01-30 Juniper Networks, Inc. Processing numeric addresses in a network router
US7418508B2 (en) * 2004-01-26 2008-08-26 International Machines Corporation System and method to facilitate XML enabled IMS transactions between a remote client and an IMS application program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253646A (zh) * 2011-04-08 2011-11-23 江苏达胜加速器制造有限公司 一种加速器控制系统
CN103064854A (zh) * 2011-10-21 2013-04-24 镇江雅迅软件有限责任公司 一种基于xml技术的自动检测库存系统

Also Published As

Publication number Publication date
DE60134664D1 (de) 2008-08-14
WO2002052814A1 (en) 2002-07-04
HK1058115A1 (en) 2004-04-30
CN1493139B (zh) 2010-05-26
US7631103B2 (en) 2009-12-08
US20070220170A1 (en) 2007-09-20
ATE400126T1 (de) 2008-07-15
EP1344371A1 (en) 2003-09-17
US20040230660A1 (en) 2004-11-18
US7162542B2 (en) 2007-01-09
EP1344371B1 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
CN1493139A (zh) 具有基于内容的信息转向器用于可伸缩性的级联网络装置
CN1700641A (zh) 数字签名保证系统、方法和装置
CN100337455C (zh) 用于压缩消息头部的方法
CN1143208C (zh) 用于消息转换的装置和方法
CN1349625A (zh) 数据网络中使用自动增量证书公开的相互认证
CN1901490A (zh) 用于提供Web服务的方法、装置以及程序产品
CN1479896A (zh) 内容发行系统、内容发行方法和客户机终端
CN1591335A (zh) 事务型处理过程的数据流分析
CN1776704A (zh) 安全系统、认证服务器、认证方法和程序
CN1554053A (zh) 服务提供系统和服务提供方法
CN1514616A (zh) 联合体环境中用户属性存储的用户登记方法和系统
CN1701318A (zh) web服务中的安全互操作性
CN1771496A (zh) 涉及信息访问的系统和方法
CN1946023A (zh) 用于接入网关的认证和授权体系结构
CN1249041A (zh) 定义、使用和操纵权限管理数据结构的技术
CN1636217A (zh) 用于控制一个电子合同的生命周期的方法和装置
CN1906575A (zh) 动态软件更新系统、方法及程序产品
CN1365472A (zh) 用于注册与应用有关的域名的共享注册系统
CN1487711A (zh) 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN1853189A (zh) 电子商务交易的客户验证
CN1759376A (zh) 用于加载到一装置上的程序数据的排序
CN1703001A (zh) 程序、通信设备、数据处理方法及通信系统
CN1818941A (zh) 信息处理系统、信息提供与处理设备及其方法、以及程序
CN1902560A (zh) 内容分发系统,许可证分发方法和终端设备
CN1214779A (zh) 在寻呼系统中确认数据包的方法及设备

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20171127

CF01 Termination of patent right due to non-payment of annual fee