專利名稱:具有基于內(nèi)容的信息轉(zhuǎn)向器用于可伸縮性的級聯(lián)網(wǎng)絡(luò)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計算機和計算機網(wǎng)絡(luò),特別地涉及用于級聯(lián)網(wǎng)絡(luò)的一種技術(shù)。
背景技術(shù):
當(dāng)計算機網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))在作為存儲和轉(zhuǎn)發(fā)數(shù)據(jù)的系統(tǒng)方面更加成功時,計算機網(wǎng)絡(luò)作為基于事務(wù)處理的、任務(wù)關(guān)鍵的商業(yè)應(yīng)用和網(wǎng)站所有者正在經(jīng)歷巨大的增長,并且,商業(yè)服務(wù)器被爆炸性的業(yè)務(wù)量增長所淹沒。
XML或者可擴展的標(biāo)示語言v.1.0由萬維網(wǎng)協(xié)會(W3C)在1998年2月10日采納。XML為數(shù)據(jù)交換提供一種結(jié)構(gòu)化的句法。XML是一種標(biāo)示語言,類似超文本標(biāo)示語言(HTML)。類似HTML的大部分的標(biāo)示語言是固定的標(biāo)示語言。也就是說,例如HTML的固定標(biāo)示語言包括一組用于制作文件的固定標(biāo)記。另一方面,XML沒有定義一組固定標(biāo)記,而是僅僅定義了用戶可通過它來定義自己的XML標(biāo)記組的一種句法或者結(jié)構(gòu)化格式。目前有許多基于XML的語言,它們使用XML句法來定義它們自己的標(biāo)記組。XML具有更進一步的優(yōu)點,因為實際數(shù)據(jù)與數(shù)據(jù)的表示是分離的,這與組合這兩項的HTML形成對比。作為結(jié)果,XML有可能變成這樣一種標(biāo)準(zhǔn),使大部分的計算機、服務(wù)器和應(yīng)用程序可通過該標(biāo)準(zhǔn)來交換或者傳遞數(shù)據(jù)。
作為結(jié)果,需要提供這樣的一種網(wǎng)絡(luò)裝置,該網(wǎng)絡(luò)裝置可以進行伸縮以適應(yīng)互聯(lián)網(wǎng)絡(luò)業(yè)務(wù)量的這種爆炸性增長。還希望允許這種網(wǎng)絡(luò)裝置以各種格式(例如XML)處理或者操作信息。
當(dāng)結(jié)合附圖一起閱讀時,根據(jù)下列示范性實施例和權(quán)利要求書的詳細(xì)說明,(所有的這些組成了本發(fā)明公開的一部分)可以使本發(fā)明的上面和更好的理解將變得更清楚。雖然上面和后面寫下的和解釋的公開集中在本發(fā)明的實施例公開上,但是應(yīng)該清楚地理解到這只是用作解釋和舉例,而不用作對其的限制。本發(fā)明的精神和范圍僅由后附權(quán)利要求的條款限制。
下面表示附圖的簡要說明,其中圖1是按照一種范例實施例的網(wǎng)絡(luò)系統(tǒng)的方框圖。
圖2是解釋按照一種范例實施例的基于內(nèi)容的信息導(dǎo)向器的操作的一個流程圖。
圖3是解釋按照一種范例實施例的包括一個驗證加速器的網(wǎng)絡(luò)系統(tǒng)的方框圖。
圖4是解釋按照一種范例實施例的一種樣本信息的框圖。
圖5是解釋按照一種范例實施例的用于基于內(nèi)容的信息導(dǎo)向器的另一個范例操作環(huán)境的方框圖。
圖6是解釋按照一種范例實施例的一種轉(zhuǎn)換交換機的方框圖。
圖7是解釋按照另一個范例實施例的一種轉(zhuǎn)換交換機的方框圖。
圖8是解釋按照一種范例實施例的一種系統(tǒng)的方框圖。
圖9是解釋按照一種范例實施例的兩個設(shè)備級聯(lián)的方框圖。
圖10是解釋一個XML設(shè)備處理不匹配XML設(shè)備配置的事務(wù)處理或者信息的操作的框圖。
圖11是解釋一個XML設(shè)備處理匹配于XML設(shè)備配置的事務(wù)處理或者信息的操作的框圖。
圖12是解釋按照一種范例實施例的多個設(shè)備級聯(lián)的方框圖。
圖13是解釋按照一種范例實施例的多個驗證器級聯(lián)的框圖。
圖14是解釋按照一種范例實施例的多個變換器級聯(lián)的方框圖。
圖15是解釋按照一種范例實施例的多個基于內(nèi)容的交換機的級聯(lián)框圖。
具體實施例方式
1、基于內(nèi)容的切換參考附圖(其中相同數(shù)字指示相同組成部分),圖1是按照一種范例實施例的網(wǎng)絡(luò)系統(tǒng)的方框圖。如圖1中所示,各種客戶可以通過例如互聯(lián)網(wǎng)130的網(wǎng)絡(luò)耦合或者連接到數(shù)據(jù)中心135。例如,客戶可以包括其中包含應(yīng)用程序112的服務(wù)器110、其中包含網(wǎng)頁瀏覽器122的計算機120(例如個人電腦或者便攜式電腦)和無線設(shè)備132,所述無線設(shè)備132例如是個人數(shù)字助理(PDA)或者無線(或者蜂窩)電話。無線設(shè)備132可以分別通過通信鏈路134和136連接到互聯(lián)網(wǎng)130或者數(shù)據(jù)中心135。鏈路134和136的每一個可以包括一個或多個無線鏈路(例如蜂窩鏈路或其它鏈路)或者有線鏈路。包括服務(wù)器110、計算機120和設(shè)備132的每一個客戶可以通過互聯(lián)網(wǎng)130發(fā)送和接收信息,并且可以使用各種不同的協(xié)議或者傳送器。
提供數(shù)據(jù)中心135用于發(fā)送、接收并處理多種類的信息、請求、商業(yè)事務(wù)處理、采購定單、股票報價或股票交易及其它信息。數(shù)據(jù)中心135包括幾個處理節(jié)點,例如服務(wù)器,所述服務(wù)器包括用于處理各種定單、商業(yè)事務(wù)處理及其它要求的服務(wù)器150、服務(wù)器160和服務(wù)器170。數(shù)據(jù)中心135中的不同服務(wù)器可被進行分配以提供不同服務(wù)乃至不同的服務(wù)水平。按照一種范例實施例,客戶和數(shù)據(jù)中心135通過發(fā)送和接收包含提供于XML或者基于XML的語言中的數(shù)據(jù)的XML信息,或基于用于數(shù)據(jù)交換的另一種結(jié)構(gòu)化的句法的信息,來互換商業(yè)事務(wù)處理信息或者其它信息。
各種服務(wù)器,例如服務(wù)器150、160和170通過一個交換機165耦合到業(yè)務(wù)量管理器140。業(yè)務(wù)量管理器140可以執(zhí)行與業(yè)務(wù)量管理有關(guān)的各種功能,包括負(fù)載平衡,例如按照某些策略(例如循環(huán)法、最小連接數(shù)目或者其它負(fù)載平衡技術(shù))來使可用服務(wù)器上的輸入信息或請求平衡。
再次參考圖1中的客戶,應(yīng)用程序112可以是一個商業(yè)程序或者一個用于管理庫存、定單或者其它商務(wù)事務(wù)處理的程序。例如,應(yīng)用程序112可以自動地并且電子地檢測庫存已經(jīng)減少到一個閾值以下,然后自動地產(chǎn)生并發(fā)送一個采購定單給數(shù)據(jù)中心135上的供應(yīng)者服務(wù)器以請求運輸額外的供應(yīng)或者庫存。由此,服務(wù)器110可以通過發(fā)送電子定單到位于數(shù)據(jù)中心135的供應(yīng)者遠程服務(wù)器來開始例如一個商業(yè)對商業(yè)(B2B)的事務(wù)處理。
作為另一個范例,網(wǎng)頁瀏覽器122可以從一個例如位于數(shù)據(jù)中心135的遠程服務(wù)器請求網(wǎng)頁、商業(yè)信息或者其它信息。網(wǎng)頁瀏覽器122還可發(fā)送或者郵寄采購定單、商業(yè)事務(wù)處理或者其它商業(yè)信息到可能位于數(shù)據(jù)中心135上的遠程服務(wù)器。無線設(shè)備132可以從位于數(shù)據(jù)中心135上的服務(wù)器接收與采購定單、商業(yè)事務(wù)處理、網(wǎng)頁、股票報價、比賽得分等相關(guān)的信息或者數(shù)據(jù)。
按照一種實施例,服務(wù)器110、計算機120和無線設(shè)備132的每一個可以通過發(fā)送并接收XML數(shù)據(jù)來與一個或多個遠程服務(wù)器(例如服務(wù)器150、160和170)傳遞或者互換數(shù)據(jù),XML數(shù)據(jù)可以是按照XML標(biāo)準(zhǔn)或者按照一個或多個以XML為基礎(chǔ)的語言而編碼或者格式化的應(yīng)用數(shù)據(jù)。
按照一種范例實施例,業(yè)務(wù)量管理器140包括基于內(nèi)容的信息導(dǎo)向器145來引導(dǎo)或者切換信息到一個基于應(yīng)用數(shù)據(jù)(例如商業(yè)事務(wù)處理信息,作為一個例子,該商業(yè)事務(wù)處理信息可以作為XML數(shù)據(jù)提供)的內(nèi)容而選擇的服務(wù)器。業(yè)務(wù)量管理器140和/或信息導(dǎo)向器145可以是軟件、硬件或者兩者的組合,并且甚至可以是提供在網(wǎng)絡(luò)處理機上或者作為網(wǎng)絡(luò)處理機的一部分。應(yīng)該注意到導(dǎo)向器145可能獨立工作,或者作為較大的網(wǎng)絡(luò)裝置的一部分工作,例如作為業(yè)務(wù)量管理器140的一部分工作。
按照一種范例實施例,由于XML的優(yōu)點,應(yīng)用數(shù)據(jù)可以通過發(fā)送并且接收包括按照XML標(biāo)準(zhǔn)編碼或者格式化的應(yīng)用數(shù)據(jù)的信息,來有利地在數(shù)據(jù)中心135的服務(wù)器和一個或多個客戶或者計算節(jié)點之間交換。因此,按照一種實施例,導(dǎo)向器145可以是一個XML導(dǎo)向器,因為它根據(jù)信息中XML數(shù)據(jù)來引導(dǎo)或者切換輸入信息到一個特定的服務(wù)器。XML數(shù)據(jù)最好遵照XML標(biāo)準(zhǔn)所需的格式或者句法。使用標(biāo)記格式(例如開始標(biāo)記和結(jié)束標(biāo)記)及其它遵照XML標(biāo)準(zhǔn)的句法或者標(biāo)示數(shù)據(jù)的文件被認(rèn)為是一個″很好地格式化的″XML文件。
因此,在一個示范性的實施例里,基于內(nèi)容的信息導(dǎo)向器145是一個XML導(dǎo)向器。然而可以理解導(dǎo)向器145可以引導(dǎo)或者切換基本上具有任何類型結(jié)構(gòu)化句法的信息,包括任何類型的標(biāo)示語言。
圖1中所示的業(yè)務(wù)量管理器140和導(dǎo)向器145的實施例的一個有益方面是該業(yè)務(wù)量管理器140和該導(dǎo)向器145位于一個或多個應(yīng)用服務(wù)器或者處理節(jié)點的前面。通過將業(yè)務(wù)量管理器140和導(dǎo)向器145定位在處理節(jié)點或服務(wù)器(如圖1中所示)的前面,例如耦合在網(wǎng)絡(luò)130和服務(wù)器之間,就可以把業(yè)務(wù)量管理功能和導(dǎo)向器145的功能從應(yīng)用服務(wù)器卸載到一個單獨的和/或?qū)S玫木W(wǎng)絡(luò)裝置或者網(wǎng)絡(luò)系統(tǒng)上。這可以有利地減輕處理節(jié)點或者應(yīng)用服務(wù)器的這個附加處理開銷。
作為替換,導(dǎo)向器145可以包括一個具有多個輸出端口(物理端口)的內(nèi)建交換機,同時一個服務(wù)器耦合到每一個物理輸出端口。在此情況下,一組服務(wù)器可以具有相同的IP地址或者媒體存取控制(MAC)地址,或者可以具有不同的地址。導(dǎo)向器145然后通過物理輸出端口之一簡單地輸出或者切換或者轉(zhuǎn)發(fā)包含具有XML商業(yè)事務(wù)處理信息的消息的數(shù)據(jù)分組到一個特定的服務(wù)器。不管導(dǎo)向器145是否包括一個內(nèi)建的交換機或者使用交換機165來向服務(wù)器切換信息,導(dǎo)向器145都要切換或者引導(dǎo)信息到不同的服務(wù)器。交換機165和導(dǎo)向器145還可根據(jù)數(shù)據(jù)分組中的其它信息(例如一個源地址或者目的地地址)來切換數(shù)據(jù)分組。
圖2是解釋按照一個范例實施例的基于內(nèi)容的信息導(dǎo)向器操作的流程圖。在塊210,導(dǎo)向器145接收一個信息。該信息可以通過任何傳送器或者協(xié)議發(fā)送,所述協(xié)議例如是傳輸控制協(xié)議(TCP)、文件傳送協(xié)議(FTP)、簡單郵件傳送協(xié)議(SMTP)、無線應(yīng)用協(xié)議(WAP,可以使用無線設(shè)備發(fā)送和接收信息)和超文本傳輸協(xié)議(HTTP)等等。本發(fā)明總體的教導(dǎo)和工作不依賴于任何特定的傳送器或者協(xié)議,而是獨立于傳送器的。
HTTP郵件(POST)是信息的一個范例。用于HTTP郵件信息(或者HTTP請求)的格式可以表示為請求線路(URL);確定一個用于處理信息的程序報頭(0或更多)<空行>
主體(應(yīng)用數(shù)據(jù)或者XML數(shù)據(jù);僅用于郵件)
這里是一個范例<pre listing-type="program-listing"><![CDATA[POST www;acme.com/purchasing/order.cgi HTTP/1.1Content-Typetext/xmlContent-Length1230User-AgentCern-Line Mode/2.15Date3/27/00<XML><From>intel.com</From><To>bookstore.com</To><PurchaseBook><ISBN>02013798233</ISBN><PurchaseAmount>98</PurchaseAmount></PurchaseBook></XML>]]></pre>在這個范例里,在請求線路里提供URL(或者請求線路)來標(biāo)識一個程序或者應(yīng)用來處理該信息。幾個報頭行(內(nèi)容類型、內(nèi)容長度、日期等等)組成一個HTTP報頭。在HTTP報頭之后提供應(yīng)用數(shù)據(jù),在這個范例里提供作為XML數(shù)據(jù)。開始標(biāo)記<XML>,和</XML>,結(jié)束標(biāo)記,分別標(biāo)識應(yīng)用數(shù)據(jù)(或者XML數(shù)據(jù))的開始和結(jié)束。XML應(yīng)用數(shù)據(jù)也被稱作XML文件。XML文件包括描述數(shù)據(jù)的標(biāo)示字符(或者標(biāo)記)和數(shù)據(jù)字符。舉例來說,上述XML文件的″To″元素寫成<To>bookstore.com</To>.其中<To>是一個開始標(biāo)記并且</To>是一個結(jié)束標(biāo)記,因為它們描述XML數(shù)據(jù)字符(bookstore.com),所以是標(biāo)示字符。商業(yè)事務(wù)處理信息(到何處、從哪里來、購買的項目、購買數(shù)量、數(shù)目等等)描述商業(yè)事務(wù)處理,而且不包括在URL、HTTP報頭或者任何其它報頭內(nèi),例如用于發(fā)送該信息的包絡(luò)的IP報頭、TCP報頭。這僅僅是信息中的商業(yè)事務(wù)處理信息的類型的范例,根據(jù)該信息,導(dǎo)向器145可以分析并且路徑或者切換用于該信息的決定。
在圖2的塊215上,導(dǎo)向器145(圖1)分析應(yīng)用數(shù)據(jù)(這范例中的XML數(shù)據(jù))的部分或者全部并且檢查以保證XML文件或者應(yīng)用數(shù)據(jù)被良好地形成。例如,導(dǎo)向器145可以檢查以保證XML文件的至少一部分符合被稱作良好形成的限制,或者XML規(guī)范或標(biāo)準(zhǔn)中的需要。分析泛指將組成XML文件的字符或XML數(shù)據(jù)分類為標(biāo)示(例如<To>)或字符數(shù)據(jù)(例如bookstore.com)的處理。
在圖2.的塊220上,包括標(biāo)示字符和/或字符數(shù)據(jù)的應(yīng)用數(shù)據(jù)或XML數(shù)據(jù)與一個或多個可能被保存在導(dǎo)向器145中的配置模型或者查詢相比,以確定是否存在匹配。按照一個實施例,該配置模型可以通過用戶或者程序或者應(yīng)用程序動態(tài)地改變或者更新。例如,一個程序可以檢測一個或多個服務(wù)器的故障和/或檢測服務(wù)器的響應(yīng)時間,然后更新該配置模型以便在網(wǎng)絡(luò)中計及這些變化,例如,將特定信息從繁忙的服務(wù)器轉(zhuǎn)向至不太忙的服務(wù)器,或從有故障的服務(wù)器轉(zhuǎn)向至可用的服務(wù)器。
在塊225上,如果信息的應(yīng)用數(shù)據(jù)的內(nèi)容和配置模型或者查詢之間存在一個匹配,(其中該信息可包括作為XML數(shù)據(jù)提供的商業(yè)事務(wù)處理信息)那么導(dǎo)向器145引導(dǎo)或者切換該信息到相應(yīng)的服務(wù)器或者數(shù)據(jù)中心里的處理節(jié)點,例如其中該信息導(dǎo)向由配置模型表明的指定服務(wù)器。如果存在許多匹配,則導(dǎo)向器145可以僅根據(jù)第一匹配引導(dǎo)信息,或者可使用負(fù)載平衡策略來在一組服務(wù)器中平衡信息。如果沒有匹配,該信息可以導(dǎo)向一個默認(rèn)服務(wù)器或者可以被阻斷。作為替換,該配置模型還可以標(biāo)識用于阻斷發(fā)送的某一類型的信息。在這方面,導(dǎo)向器145還可作為一個濾波器,以便基于該應(yīng)用數(shù)據(jù)有選擇地穿過或者轉(zhuǎn)發(fā)某些信息而阻斷其它的信息。
例如,可以配置導(dǎo)向器145以便基于下列配置模型或者查詢來引導(dǎo)或者切換信息服務(wù)器 IP地址 端口XML模型----- ------ ----------S1(例如150)10.1.1.180 To=bookstore.comS2(例如160)10.1.1.280 To=stockquote.comS3(例如170)10.1.1.380 To=computerstore.com基于上述的配置模型,如果用于商業(yè)事務(wù)處理信息的To元素的數(shù)據(jù)是bookstore.com,則導(dǎo)向器145將引導(dǎo)一個信息到服務(wù)器S1(具有IP地址10.1.1.1和端口80)。如果用于商業(yè)事務(wù)處理信息的To元素的數(shù)據(jù)是stockquote.com,則該信息將被引導(dǎo)到服務(wù)器S2(具有IP地址10.1.1.2和端口80)。并且,如果用于商業(yè)事務(wù)處理信息的To元素的數(shù)據(jù)是computerstore.com,則導(dǎo)向器145將引導(dǎo)任何信息到服務(wù)器S3。必要時,導(dǎo)向器145將翻譯數(shù)據(jù)分組的目的地地址和端口號為恰當(dāng)?shù)哪康牡氐刂泛投丝谔?也就是,成為目的地服務(wù)器的地址)。
這有利地允許了根據(jù)應(yīng)用數(shù)據(jù)的內(nèi)容(例如信息中的商業(yè)事務(wù)處理信息)為信息提供不同類型的服務(wù)(或者服務(wù)的不同水平)。在該范例里,服務(wù)器S1可被分配以便處理對于發(fā)送給bookstore.com的書的采購定單。服務(wù)器S2可被分配以便處理對于實時股票報價的請求,而服務(wù)器S3可被分配以便處理對于發(fā)送給computerstore.com的計算機的采購定單。
存在許多范例,其中以應(yīng)用數(shù)據(jù)的內(nèi)容或者商業(yè)事務(wù)處理信息為基礎(chǔ)的基于內(nèi)容的切換可被用于提供不同的或者區(qū)別的服務(wù),甚至提供不同的或者區(qū)別的服務(wù)水平。作為另一個范例,導(dǎo)向器145可被配置以便根據(jù)下列配置模型或者查詢來引導(dǎo)或者切換信息服務(wù)器 IP地址 端口XML模型----- ------ ----------S1(例如150)10.1.1.180 購買數(shù)量<$100S2(例如160)10.1.1.280 $100<購買數(shù)量<$1000S3(例如170)10.1.1.380 $1000<購買數(shù)量S4(未顯示) 10.1.1.480 $1000<購買數(shù)量在該范例里,如果購買數(shù)量小于$100,則用于采購定單的信息被發(fā)給服務(wù)器S1;如果購買數(shù)量小于$1000而多于$100,則用于采購定單的信息被發(fā)給S2;并且對于高額美元購買,用于購買大于$1000的采購定單的信息被發(fā)給兩個服務(wù)器中任何一個。用這種方式,導(dǎo)向器145(圖1)可以根據(jù)該信息中的應(yīng)用數(shù)據(jù)或者商業(yè)事務(wù)處理信息來引導(dǎo)或者路由接收的信息。這允許網(wǎng)站或者電子商務(wù)根據(jù)應(yīng)用數(shù)據(jù)的內(nèi)容或者事務(wù)處理信息來提供不同的或者區(qū)別的服務(wù)水平。
在特定的范例里,已經(jīng)分配了兩個服務(wù)器(S3和S4)來處理最高美元采購定單。因此,對于與低額購買相比,通過為高額數(shù)量購買特殊分配更大的資源(也就是說,同僅僅一個服務(wù)器相比的兩個或更多服務(wù)器),工作在數(shù)據(jù)中心135上的電子商務(wù)可以為具有高額購買數(shù)量的采購定單信息提供一個更高水平的服務(wù)。用這樣的方式,導(dǎo)向器145可以根據(jù)多種類的商業(yè)事務(wù)處理信息或者應(yīng)用數(shù)據(jù)來切換或者引導(dǎo)信息到另一個網(wǎng)絡(luò)裝置或者一個指定的服務(wù)器。
II.驗證加速圖3是解釋按照一個范例實施例的包括驗證加速器142的網(wǎng)絡(luò)的方框圖。按照一個優(yōu)選實施例,數(shù)據(jù)中心135還包括一個驗證加速器142,以便在信息被發(fā)給應(yīng)用服務(wù)器或者處理節(jié)點以前對接收的信息進行預(yù)先驗證。按照一個范例實施例,驗證加速器142作為一個網(wǎng)絡(luò)裝置被提供。換句話說,按照一個范例實施例,驗證加速器142可以耦合在網(wǎng)絡(luò)130和多個處理節(jié)點或者應(yīng)用服務(wù)器(例如服務(wù)器150、160和170)之間。提供驗證加速器142作為一個與應(yīng)用服務(wù)器相分離的網(wǎng)絡(luò)裝置,這樣的提供就允許將文件驗證在計算上的繁重任務(wù)從應(yīng)用服務(wù)器卸載到驗證加速器142。作為替換,可以提供多個驗證加速器142,一個驗證加速器142被提供用于一個或多個應(yīng)用服務(wù)器或者其它處理節(jié)點。
如上所述,必須檢查XML文件以保證它滿足XML的基本句法和格式,例如,以便確定該文件是否是″很好地形成的″。另外,XML標(biāo)準(zhǔn)也選擇性地允許驗證一個文件,這是一種更嚴(yán)格的檢查以便確定XML文件的結(jié)構(gòu)或者語法是否遵照特定的基于XML的語言所需的結(jié)構(gòu)或者句法。XML允許依照驗證模板來驗證文件。驗證模板定義XML文件的文法和結(jié)構(gòu),包括需要的元素或者標(biāo)記等等。
可能有許多類型的驗證模板,作為范例,例如XML或者模式中的文件類型定義(DTD)。這兩個驗證模板被用作范例來解釋按照范例實施例的某些特征。許多其它類型的驗證模板也是可能的。一種模式類似于DTD,因為它定義文件必須符合以有效的語法和結(jié)構(gòu)。然而,模式比DTD更具體,因為它還包括定義數(shù)據(jù)類型(例如字符、數(shù)字、整數(shù)、浮點或者習(xí)慣數(shù)據(jù)類型等等)的能力。另外,不同于DTD(在當(dāng)前標(biāo)準(zhǔn)下),可能要求模式是良好地形成的。因此,應(yīng)用數(shù)據(jù)和模式都可被分析和檢查基本的句法或者良好形成。因此,至少對于某些應(yīng)用程序,可以預(yù)期將來模式可能變得比DTDs更通用。
如上所述,按照XML標(biāo)準(zhǔn),對比驗證模板來驗證一個接收文件是可選擇的。如果文件是對比一個特定的驗證模板來驗證的,則XML文件將在文件開始處包括驗證指令(或者驗證碼)。驗證指令的一個范例可以是一個文件類型的說明,如在XML中眾所周知的。另一個范例是一個模式或者對于外部模式的一個參照。按照當(dāng)前的XML,驗證指令(例如文件類型說明或者模式等)是該文件的可選擇的區(qū)域,它說明驗證模板的結(jié)構(gòu)、元素類型、屬性等等。例如,如果驗證指令被包括在該文件里,則對于一個有效文件來說,該文件中的應(yīng)用數(shù)據(jù)的結(jié)構(gòu)和語法必須與由該驗證模板定義的結(jié)構(gòu)和語法相匹配。驗證模板可提供到該文件內(nèi)部(或者在內(nèi)部提供)和/或提供到該文件外部。
圖4是解釋按照一個范例實施例的范例信息的框圖。圖4中所示的范例信息包括一個XML文件410。XML文件410包括XML應(yīng)用數(shù)據(jù)420,例如,包括商業(yè)事務(wù)處理信息和驗證指令415。
應(yīng)用數(shù)據(jù)420是那些將要由應(yīng)用服務(wù)器處理的應(yīng)用數(shù)據(jù)。應(yīng)用數(shù)據(jù)420可以包括例如商業(yè)事務(wù)處理信息,例如要購買的列表商品、價格、數(shù)目或者事務(wù)處理或信息請求的其它細(xì)節(jié),例如一個對股票報價、事務(wù)處理詳情等等的請求。
按照一個實施例,一個或多個驗證指令415的存在指示可在處理應(yīng)用數(shù)據(jù)420之前,根據(jù)提供于內(nèi)部和/或由驗證指令415標(biāo)識模板來驗證該文件。換句話說,按照一個實施例,驗證指令的存在可能指示在將該數(shù)據(jù)傳送給一個應(yīng)用服務(wù)器進行進一步處理之前,應(yīng)用數(shù)據(jù)應(yīng)該在網(wǎng)絡(luò)裝置(例如驗證加速器142,也稱作驗證器)上預(yù)先驗證。為了指示應(yīng)用服務(wù)器文件或應(yīng)用數(shù)據(jù)已被驗證了,驗證指令可以從該文件上去掉,和/或可給出一個指示(例如設(shè)置在該信息中的數(shù)據(jù)或字段中的注解或指令)來表明應(yīng)用數(shù)據(jù)或信息已經(jīng)被驗證了(也就是,預(yù)先驗證)。按照當(dāng)前XML,即使在驗證指令415存在時,文件驗證也是例如由應(yīng)用服務(wù)器可選擇的。然而,將來有可能需要XML或其它語言中的驗證。
如果該文件應(yīng)該與驗證模板(例如一個文件類型定義、模式等)相聯(lián)系,那么對于文件驗證,該文件可以典型地包括一個或多個驗證指令415。驗證指令415提供或標(biāo)識驗證模板或文件類型定義,文件類型定義定義文件410的應(yīng)用數(shù)據(jù)420必須符合的文件結(jié)構(gòu)和語法,例如元素、屬性等。驗證模板可以包括一個內(nèi)部組成部分和/或一個外部組成部分。
在顯示的范例里,驗證指令415或驗證模板作為一個文件類型說明提供。驗證指令415以DOCTYPE語句″<DOCTYPE hogsforsale…″開始,該語句指示存在一個可被提供在該文件內(nèi)的驗證模板,例如,作為內(nèi)部組成部分419,或提供在該文件外部,例如此該范例中標(biāo)識為″hogs.dtd″417的外部組成部分。因此,在該范例里,驗證指令415提供驗證模板的內(nèi)部組成部分419和一個標(biāo)識外部組成部分的外部組成部分標(biāo)識符417。內(nèi)部組成部分419和外部組成部分(沒有顯示)共同形成用于該文件的驗證模板,以便驗證用于文件410的應(yīng)用數(shù)據(jù)420。按照一個實施例,如果驗證正在執(zhí)行,那么DOCTYPE語句或其它驗證指令的存在典型地將使應(yīng)用程序或應(yīng)用服務(wù)器依照驗證模板來驗證該信息中的應(yīng)用數(shù)據(jù)420。
驗證模板的內(nèi)部組成部分419定義一個有效的hosgsforsale文件必須包括下列元素類型、平均重量、數(shù)目和價格/hog等等。這只是一個范例。
在這范例里,標(biāo)識符″hogs.dtd″標(biāo)識一個外部實體或者是驗證模板外部組成部分的文件。根據(jù)外部組成部分標(biāo)識符417,外部組成部分可以位于遠程服務(wù)器或者其它位置上。驗證模板的外部組成部分(標(biāo)識為″hogs.dtd″)可以包括關(guān)于文件410的應(yīng)用數(shù)據(jù)420的結(jié)構(gòu)或者語法的額外要求。外部組成部分標(biāo)識符417可以作為完整地址提供,或者作為一個相對地址或者指示器提供,例如,相對于該信號的源節(jié)點或發(fā)起節(jié)點的地址或位置。例如,列在驗證指令415上的″hogs.dtd″標(biāo)識符實際上可以參照″hogs.dtd″外部組成部分417,它可以在例如下面的地址處發(fā)現(xiàn)oasis.xml.org/farming/livestock/hogs.dtd。如上所述,驗證模板的范例包括一個用于XML、模式等等的文件類型定義。
除刪去該驗證指令之外(或者不刪去該驗證指令),可以向該信息添加一個指示,向應(yīng)用服務(wù)器指示應(yīng)用數(shù)據(jù)或者信息已經(jīng)被驗證(也就是,預(yù)先驗證)。例如,預(yù)先驗證指示可被提供作為該信息中的一個字段,作為應(yīng)用數(shù)據(jù)本身里的一個指令或者注解,或者使用另一種技術(shù)。例如,在XML技術(shù)規(guī)范里,除了元素標(biāo)記,和數(shù)據(jù),存在被稱為處理指令標(biāo)記的某些東西,它允許指定信息給一個被嵌入XML文件的應(yīng)用程序。處理指令不認(rèn)為是XML文件字符數(shù)據(jù)內(nèi)容的一部分,但是它們始終通過解析程序傳遞到XML應(yīng)用程序上。對于處理指令標(biāo)記,格式是<?......?>。因此,按照一個實施例,在刪去驗證指令(或者DTD或者模式或者對其的參照)之后,可以在該文件的開頭處(或者其它位置)添加下列注解或者指令標(biāo)記<?由intel驗證?>。
作為替換,不同的目的地地址或者端口號可被用于分組報頭以便指示該數(shù)據(jù)分組中的XML信息已經(jīng)預(yù)先驗證了。例如,代替端口80,端口87能被作為目的地端口使用以便為XML文件指示一個預(yù)先驗證的信息。這里有一些范例方法,它們可用于向服務(wù)器指示那些XML文件已經(jīng)被驗證了,或者不必再驗證。
通過預(yù)先驗證該文件然后從該文件刪去該驗證指令,和/或添加一個預(yù)先驗證指示給該文件或者信息,驗證的繁瑣步驟從應(yīng)用服務(wù)器卸載到一個網(wǎng)絡(luò)裝置、網(wǎng)絡(luò)設(shè)備或可被稱為例如驗證加速器142的其它系統(tǒng)。
III.轉(zhuǎn)換圖5是解釋按照一個范例實施例的另一個對于基于內(nèi)容的信息導(dǎo)向器145的操作環(huán)境的方框圖。信息導(dǎo)向器145和交換機165在一起可被認(rèn)為是一個基于內(nèi)容的交換機146。
按照本發(fā)明一個有利方面,交換機146可以接收一個XML信息,將應(yīng)用數(shù)據(jù)或者商業(yè)事務(wù)處理信息與一個指定的配置模型比較,然后切換該信息到一個恰當(dāng)?shù)奶幚砉?jié)點或者服務(wù)器而不管由該信息使用的基于XML語言的類型。一旦配置交換機146的信息導(dǎo)向器145來檢測或者識別一個或多個指定的標(biāo)記和相應(yīng)的數(shù)據(jù)(例如,購買數(shù)量>$100),則基于內(nèi)容的交換機146可以引導(dǎo)或者路由或者切換基于應(yīng)用數(shù)據(jù)內(nèi)容的信息,例如,基于商業(yè)事務(wù)處理信息,作為XML數(shù)據(jù)提供,不管由該信息使用的基于XML的語言類型。
如圖5中所示,存在三組耦合到該交換機165的服務(wù)器,包括一組BizTalk服務(wù)器610(包括服務(wù)器1和2),它使用稱為BizTalk的基于XML的語言傳遞數(shù)據(jù);一組Ariba服務(wù)器615(包括服務(wù)器3和4),它使用被稱為CXML的基于XML的語言傳遞數(shù)據(jù);以及一組無線服務(wù)器620(包括服務(wù)器5和6),它僅僅使用被稱為無線標(biāo)示語言或者WML的基于XML的語言傳遞數(shù)據(jù)。提供這些僅僅作為范例。
信息可以以許多不同的數(shù)據(jù)格式到達交換機146,這些數(shù)據(jù)格式包括電子數(shù)據(jù)互換(EDI)、平(flat)字母數(shù)字文件格式、一個或多個XML語言或者格式(例如WML、CXML、BizTalk、eBXML等)、HTML等等。某些特定的客戶計算機能使用一種數(shù)據(jù)格式(或者很少種類的格式)傳遞,而應(yīng)用服務(wù)器(例如服務(wù)器610、615、620)的每一個可以使用一種不同類型數(shù)據(jù)格式傳遞。
圖6是解釋按照一個范例實施例的轉(zhuǎn)換交換機。轉(zhuǎn)換交換機710包括一個轉(zhuǎn)換器715以便轉(zhuǎn)換或者翻譯至少一部分信息從第一數(shù)據(jù)格式到第二數(shù)據(jù)格式,或者到從多個第二格式中選擇的一個格式。信息導(dǎo)向器145(在某些實施例里是可選擇的)被連接到轉(zhuǎn)換器715的輸出端。信息導(dǎo)向器145基于應(yīng)用數(shù)據(jù)內(nèi)容(例如商業(yè)事務(wù)處理信息,這些信息可以作為XML數(shù)據(jù)或者另一格式數(shù)據(jù)提供)來引導(dǎo)或者切換信息到一個選擇的服務(wù)器。如上面所述,按照一個范例實施例,信息導(dǎo)向器145可以基于如與一種模型(或者一個或多個模型)相比的信息的商業(yè)事務(wù)處理信息而輸出一個切換判定給交換機165。交換機165然后基于來自信息導(dǎo)向器145的判定或者指令而切換該轉(zhuǎn)換的信息給多個輸出端口之一,或者給多個服務(wù)器(例如服務(wù)器150、160以及170)之一。因為基于內(nèi)容的信息導(dǎo)向器145在有些情況下是可選擇的,所以交換機165可以使用基于地址的路由或切換技術(shù)來切換轉(zhuǎn)換的信息,例如以該信息中的或者攜帶該信息的數(shù)據(jù)分組報頭中的源和/或目的地地址和端口號為基礎(chǔ),切換到交換機165的一個特定輸出端口。
轉(zhuǎn)換器715可以按照需要在許多不同種數(shù)據(jù)格式之間轉(zhuǎn)換信息。一個范例通信可能包括后面跟隨一個響應(yīng)的請求,但本發(fā)明不局限于這個方面。例如,第一節(jié)點可以通過網(wǎng)絡(luò)或者互聯(lián)網(wǎng)130發(fā)出一個由第二節(jié)點接收的請求。第二節(jié)點可以發(fā)送一個響應(yīng)回到第一節(jié)點。請求和響應(yīng)典型地都可以通過互聯(lián)網(wǎng)或者網(wǎng)絡(luò)130以及轉(zhuǎn)換交換機710來路由。請求和響應(yīng)都可以包括那些需要被轉(zhuǎn)換的數(shù)據(jù)。轉(zhuǎn)換交換機接收一個或多個數(shù)據(jù)分組中提供的該信息,確定該數(shù)據(jù)分組(s)內(nèi)的數(shù)據(jù)是否需要轉(zhuǎn)換,執(zhí)行任何需要的轉(zhuǎn)換,然后通過一個或多個數(shù)據(jù)分組發(fā)送該信息。
存在四個涉及轉(zhuǎn)換的常規(guī)情況轉(zhuǎn)換可以僅僅在該請求里的數(shù)據(jù)上執(zhí)行,僅僅在該響應(yīng)里的數(shù)據(jù)上執(zhí)行,在該請求和該響應(yīng)里的數(shù)據(jù)上執(zhí)行,和在不存在于這兩者中的數(shù)據(jù)上執(zhí)行。最后一種情況包括具有這樣一種數(shù)據(jù)的信息,如果有的話,該數(shù)據(jù)已經(jīng)是和接收節(jié)點相適合的格式了,因此,不一定必須要轉(zhuǎn)換。
例如,計算機120的網(wǎng)頁瀏覽器122可以使用HTTP″Get″信息發(fā)出一個對股票報價的請求,并且能夠處理僅僅是格式A的數(shù)據(jù)。該請求可通過網(wǎng)絡(luò)130和交換機710發(fā)送給服務(wù)器150而不變化,例如,因為服務(wù)器150和瀏覽器122都與HTTP信息兼容。服務(wù)器150然后發(fā)出具有格式D的數(shù)據(jù)(股票報價)的響應(yīng)。格式D中的數(shù)據(jù)可以被放入另一HTTP信息中。雖然瀏覽器122和服務(wù)器150都是HTTP兼容的,服務(wù)器150處理格式D中的數(shù)據(jù)而瀏覽器122處理格式A中的數(shù)據(jù)。因此,交換機710內(nèi)的轉(zhuǎn)換器715將作為響應(yīng)從格式D到數(shù)據(jù)格式A轉(zhuǎn)換該數(shù)據(jù),然后通過網(wǎng)絡(luò)130發(fā)送該響應(yīng)回到網(wǎng)頁瀏覽器122。
在另一范例里,在商業(yè)到商業(yè)(B2B)事務(wù)處理中,服務(wù)器150通過互聯(lián)網(wǎng)或者網(wǎng)絡(luò)130和交換機710從服務(wù)器110獲得一個空白發(fā)貨單。服務(wù)器150上的軟件程序填寫或者完成該接收的發(fā)貨單并且返回該完成的發(fā)貨單。交換機710以一個或多個數(shù)據(jù)分組從服務(wù)器110接收格式A的發(fā)貨單,從格式A到格式D轉(zhuǎn)換該發(fā)貨單,然后例如通過一個或多個在互聯(lián)網(wǎng)或者網(wǎng)絡(luò)130上發(fā)送的數(shù)據(jù)分組以格式D輸出完成的發(fā)貨單到服務(wù)器150。
按照一個范例實施例,交換機710可以建立與一個第一節(jié)點的連接,然后在第一連接上通過一個或多個數(shù)據(jù)分組從第一節(jié)點接收一個包括應(yīng)用數(shù)據(jù)等等的信息。交換機710然后在該信息上執(zhí)行任何需要的轉(zhuǎn)換,如果有的話,然后在交換機710和第二節(jié)點之間建立一個第二連接。轉(zhuǎn)換的信息然后作為一個或多個數(shù)據(jù)分組在第二連接上切換或者輸出到第二節(jié)點。因此,轉(zhuǎn)換交換機710可以作為一個網(wǎng)絡(luò)裝置操作以便接收或者截取信息,如果需要則在該信息一部分上執(zhí)行任何格式轉(zhuǎn)換,然后通過一個或多個數(shù)據(jù)分組切換或者轉(zhuǎn)發(fā)該信息到一個目的地處理節(jié)點。在很多情況中,轉(zhuǎn)換交換機的存在和數(shù)據(jù)或者信息可以單向或者雙向轉(zhuǎn)換的事實對于一個或者兩個處理節(jié)點是顯然的。
圖7是解釋按照另一范例實施例的一個轉(zhuǎn)換交換機的方框圖。轉(zhuǎn)換交換機710A類似于圖6中所示的轉(zhuǎn)換交換機710,因為它包括一個轉(zhuǎn)換器715、一個信息導(dǎo)向器145和一個交換機165。轉(zhuǎn)換交換機710A可以更進一步包括兩個附加元件,包括一個安全加速器815和/或一個驗證加速器142。
如上所述,驗證加速器142通過將應(yīng)用數(shù)據(jù)420的結(jié)構(gòu)和語法與驗證模板定義的或者需要的結(jié)構(gòu)和語法進行比較,驗證至少一部分信息(例如,驗證應(yīng)用數(shù)據(jù)420,圖4)。如果文件或者信息有效,則驗證加速器142之后選擇性地刪去該驗證指令,包括可以使文件被驗證的任何語句(例如,DOCTYPE語句),驗證模板的任何內(nèi)部組成部分(s)和對于驗證模板外部組成部分的任何參照或者標(biāo)識符。另外,驗證加速器142可以給該信息添加用于指示應(yīng)用數(shù)據(jù)或者信息已經(jīng)被驗證(也就是預(yù)先驗證)的指示。如果驗證指令(例如對于外部驗證模板的驗證模板或者參照)被從該文件上刪去,則驗證加速器142應(yīng)該傳送驗證指令給交換機715,例如,以便用于標(biāo)識正確的轉(zhuǎn)換模板。與其剝除或者刪去驗證指令,不如將驗證指令留在該信息里,以便執(zhí)行變換,或者確定轉(zhuǎn)換是否是需要的,并確定那些應(yīng)該執(zhí)行的轉(zhuǎn)換的類型。交換機710同時可以給該信息添加該信息已經(jīng)被轉(zhuǎn)換的指示,或者該信息已經(jīng)轉(zhuǎn)換并且驗證的指示,以便通知接收信息的處理節(jié)點這些功能、轉(zhuǎn)換和驗證已經(jīng)執(zhí)行了,并且不必重復(fù)。
因此,如圖7范例實施例中所示,驗證加速器142在該信息或者文件被轉(zhuǎn)換之前驗證它們。這保證在轉(zhuǎn)換該信息以前,該信息具有正確的格式和句法。除此之外(或者作為替代),驗證加速器142可以在該信息已經(jīng)轉(zhuǎn)換到新數(shù)據(jù)格式之后驗證該信息,(例如,驗證加速器142可以從信息導(dǎo)向器145接收轉(zhuǎn)換的信息的一份副本,驗證它,然后在導(dǎo)向器145輸出該信息到交換機165用于切換以前通知導(dǎo)向器145它的有效性)。在轉(zhuǎn)換之后進行的信息驗證保證在變換期間沒有發(fā)生錯誤。第二驗證不是必須的。驗證可以在轉(zhuǎn)換以前執(zhí)行、轉(zhuǎn)換之后執(zhí)行,既在之前又在之后執(zhí)行,或者根本不執(zhí)行。
安全加速器815加密發(fā)出的信息和/或解碼從網(wǎng)絡(luò)130接收的輸入信息。按照一個實施例,安全加速器815可以是一個加密套接字協(xié)議層(SSL)加速器。安全加速器815允許與安全有關(guān)的任務(wù)(例如加密和/或解密)從應(yīng)用服務(wù)器卸載到加速器815。安全加速器815是可選擇的。
IV級聯(lián)網(wǎng)絡(luò)裝置圖8是解釋按照一個范例實施例的一個系統(tǒng)的方框圖。XML裝置810耦合在客戶805和服務(wù)器820之間??蛻?05可以例如是一個請求訪問服務(wù)器820上的資源的處理節(jié)點??蛻?05典型地發(fā)起一個連接申請,而服務(wù)器820典型地是用于連接申請的目標(biāo)或者目的地。例如,裝置810可以是一個執(zhí)行驗證的驗證加速器(或者驗證器)142,轉(zhuǎn)換器715轉(zhuǎn)換該數(shù)據(jù)或者信息從第一數(shù)據(jù)格式到第二數(shù)據(jù)格式,如果商業(yè)事務(wù)處理信息或者在該信息或者數(shù)據(jù)里的其它字段與一個預(yù)定的模型或者數(shù)值匹配,則一個交換機146切換該數(shù)據(jù)或者信息到一個特定的輸出端口或者處理節(jié)點。裝置810還可以是這些功能或裝置的一個組合或者群集。例如,裝置810可以包括一個驗證器、一個轉(zhuǎn)換器和一個交換機。
裝置810與現(xiàn)存的服務(wù)器820成行放置,使得從客戶805導(dǎo)向至服務(wù)器820和從服務(wù)器820導(dǎo)向至客戶805的數(shù)據(jù)分組或者業(yè)務(wù)量典型地在到達目的地以前應(yīng)該先穿過裝置810。按照一個范例實施例,當(dāng)正確地配置時,裝置810典型地不對數(shù)據(jù)進行任何變換地從客戶805向與之成行排列的服務(wù)器820傳送除了匹配于裝置810的結(jié)構(gòu)的裝置810的數(shù)據(jù)或者信息之外的業(yè)務(wù)量。例如,用于裝置810的配置參數(shù)可以包括一個互聯(lián)網(wǎng)協(xié)議(IP)地址和一個端口號,該裝置810可以為互聯(lián)網(wǎng)協(xié)議(IP)地址和端口號檢測連接申請,然后創(chuàng)建連接。
當(dāng)流過裝置810的數(shù)據(jù)匹配于它的配置參數(shù)時,裝置810典型地在本地存儲信息,而不是傳送它到服務(wù)器820,然后在其上執(zhí)行一個操作,典型地是一個與XML相關(guān)的操作。如上所述,例如,與XML相關(guān)的操作可以是XML驗證、轉(zhuǎn)換或者基于內(nèi)容的切換(例如基于XML的切換)。在XML操作執(zhí)行之后,該數(shù)據(jù)將被轉(zhuǎn)發(fā)到原始服務(wù)器上(在XML驗證或者轉(zhuǎn)換情況下),或者到另一選擇的服務(wù)器,該服務(wù)器在XML切換情況下匹配一個預(yù)先決定的模型。被轉(zhuǎn)發(fā)的處理數(shù)據(jù)看來似乎來自原始的客戶805,雖然數(shù)據(jù)或者信息的內(nèi)容可以從原始的信息根據(jù)裝置的結(jié)構(gòu)和執(zhí)行的XML操作而變換。
通過將XML裝置810放置在網(wǎng)絡(luò)上,物理地位于客戶805和服務(wù)器820之間,可使從客戶805到服務(wù)器820的連接通過XML裝置810傳遞。XML裝置810使物理地址或者MAC(媒體存取控制)地址迷失方向,并且典型地沒有它自己的IP地址,因此可能在層2及以上是透明的。XML裝置810包括一個配置,例如一個指定的IP地址和端口號。XML裝置并不典型地?fù)碛兴约旱腎P地址。相反,每個XML裝置810映射到一個IP地址和端口號,其中該裝置將接受連接申請以便接收信息或者數(shù)據(jù)。XML裝置810已經(jīng)映射到的IP地址和端口號被稱作該裝置的配置。裝置的配置作為替換地可以由其它數(shù)值或者字段定義。有時,XML裝置810可被配置成接收送往一個或多個服務(wù)器或者它后面的處理節(jié)點的信息。
裝置的MAC地址的迷失將被簡要地解釋??蛻?05發(fā)出一個地址解析協(xié)議(ARP)信息,該信息請求一個相應(yīng)于服務(wù)器IP地址(IP1.2.3.4)的MAC地址,圖8中的箭頭1。裝置810然后轉(zhuǎn)發(fā)該ARP信息給服務(wù)器820,箭頭2。服務(wù)器820對它的MAC地址(MAC 05060708)作出反應(yīng),箭頭3。XML裝置810然后轉(zhuǎn)發(fā)該答復(fù)給客戶805,提供服務(wù)器820的MAC地址,圖8中的箭頭4。執(zhí)行一個對于服務(wù)器的MAC地址的ARP經(jīng)常得不到響應(yīng),因為服務(wù)器820和客戶不是位于相同的網(wǎng)絡(luò)段或者鏈接上。然而,XML裝置810用服務(wù)器的MAC地址響應(yīng)客戶的ARP,因此向客戶805顯示為是服務(wù)器820。同樣地,當(dāng)服務(wù)器820對于該客戶執(zhí)行一個ARP時,XML裝置810對客戶的MAC地址作出反應(yīng)。XML裝置810因此可以對于網(wǎng)絡(luò)上的其它裝置是不可見的。
按照圖8中所示的范例實施例,XML裝置810接收客戶805和服務(wù)器820之間傳送的全部網(wǎng)絡(luò)業(yè)務(wù)量,并且相對于它的配置比較目的地IP地址和新連接嘗試(又名同步或者SYN數(shù)據(jù)分組)的目的地端口號。如果數(shù)據(jù)分組不是一個新的連接嘗試,或者與XML裝置的配置不匹配,它可以被發(fā)送到服務(wù)器820上,典型地沒有(既是有的話也是很小)改變(包括MAC改變)。如果數(shù)據(jù)分組是一個新的連接嘗試,并且匹配XML裝置的配置(例如IP地址和端口號),則XML裝置本身將接收來自客戶的信息(而不是轉(zhuǎn)發(fā)該數(shù)據(jù)分組到該服務(wù)器上)。裝置的配置可能包括很多種的字段或者參數(shù),例如IP地址、端口號,或者提供于數(shù)據(jù)分組另一字段的特殊值,例如IP選項或者其它提供于報頭或者數(shù)據(jù)分組中的字段。IP地址和端口號僅僅是范例,但是該裝置配置不限制于此。
當(dāng)客戶805已經(jīng)完成發(fā)送它的請求給XML裝置(它認(rèn)為是服務(wù)器820的XML裝置)時,XML裝置810將在該數(shù)據(jù)上執(zhí)行一個操作。該操作可以是XML驗證或者XML轉(zhuǎn)換,或者XML切換。如果不執(zhí)行XML操作,那么從客戶805接受的數(shù)據(jù)將要發(fā)送到服務(wù)器820上而不處理。操作不執(zhí)行可能有幾個理由,例如數(shù)據(jù)分組或者信息與裝置的配置不相配,該裝置沒有可用資源來執(zhí)行該操作,一個轉(zhuǎn)換模板不能用來執(zhí)行該轉(zhuǎn)換,該信息或者數(shù)據(jù)不是有效的(或者不能被驗證),或者該信息或者數(shù)據(jù)與用于切換的預(yù)定模型不相配。
如果執(zhí)行XML操作,則XML裝置810將發(fā)送(可能改進的)XML內(nèi)容到服務(wù)器820上。接收這個XML內(nèi)容的服務(wù)器可以是與原始目標(biāo)服務(wù)器820相同的服務(wù)器,具有不同的端口號的相同(例如,具有相同的IP地址)的服務(wù)器,或者一個完全不同的服務(wù)器。
圖9是解釋按照一個范例實施例的兩個裝置級聯(lián)的方框圖。目的地IP地址或者信息或者數(shù)據(jù)分組中的目的地端口號的可能變換允許許多XML裝置級聯(lián)或者串連耦合在一起。按照一個實施例,XML裝置都可以具有相同的配置。在此情況下,第一XML裝置(裝置#1)可以在該信息或者數(shù)據(jù)上執(zhí)行一個事務(wù)處理,改變用于信息或者數(shù)據(jù)的目的地IP地址或者端口號,然后將該經(jīng)過操作的信息轉(zhuǎn)發(fā)至第二XML裝置(裝置#2)。因為目的地端口或者IP地址已經(jīng)由第一XML裝置改變了,然而,它不再與第二XML裝置的配置匹配,在這范例里,第二XML裝置的配置和第一個一樣。因為只有當(dāng)它匹配XML裝置的配置時一個裝置才可以在該信息(或者一組數(shù)據(jù)分組)上操作,第二裝置將在不對其進行操作的情況下將信息或者數(shù)據(jù)分組轉(zhuǎn)發(fā)到服務(wù)器820。因此,該數(shù)據(jù)透明地通過2號XML設(shè)備轉(zhuǎn)發(fā)到服務(wù)器820上。這種機制允許任意數(shù)的XML裝置級聯(lián)或者串連。
這允許在網(wǎng)絡(luò)里處理的XML的可伸縮性。例如,許多驗證器可以串連耦合,每個具有相同的配置。這允許驗證的負(fù)擔(dān)被分散在多個器件上。同樣地,多個轉(zhuǎn)換器或者多個基于內(nèi)容的交換機也可串連耦合以便提供處理數(shù)量增加的信息或者事務(wù)處理的能力。
例如,如果一個裝置接收一個信息,但是正處于繁忙階段或者沒有足夠的資源來處理或者操作該信息,或者如果該裝置出現(xiàn)故障,該裝置可能之后在不對其進行處理的情況下轉(zhuǎn)發(fā)該信息到串連的裝置或者一連串裝置中的下一個裝置上。如果發(fā)生故障,則失效的XML裝置可以典型地發(fā)送接收的數(shù)據(jù)分組或者信息給下一個裝置而不處理該信息。例如,如果一連串中的第一XML裝置失效,它可以利用一個內(nèi)部中繼在物理上變成一段以太網(wǎng)電纜等等,并且數(shù)據(jù)分組將透明地穿過它到第二XML裝置上。這允許到XML處理的容錯。XML處理能力可以僅僅通過加入額外的XML裝置而得以伸縮。任何XML裝置的故障不具有對XML處理能力的嚴(yán)重影響,因為額外的級聯(lián)XML裝置將處理該事務(wù)處理。
以下是按照一個范例實施例描述XML裝置操作的偽代碼。
<pre listing-type="program-listing"><![CDATA[If((Packet==SYN packet)&&(Destination IP and Port==Configured Destination and Port)&&(Resources>MinimumRequired)){Do XML Processing ()}else if(Packet==ARP Request){Forward packet onto Server and remember response(MAC/IPcorrespondence for server)}else{Forward packet onto Server}]]></pre>XML處理根據(jù)下面的處理進行<pre listing-type="program-listing"><![CDATA[Do XML Processing{Collect XML Data from Client(for example,receive allpackets for message)Perform XML Operationif(XML Operation Successful){Send resultant XML Data to Server with new IP Addressand/or Port using Client MAC Address}else(XML operation is not successful){Send original XML Data to Server with original IP Addressand Port using Client MAC Address}}]]></pre>圖10是闡明一種XML裝置處理那些沒有匹配XML裝置配置的事務(wù)處理或者信息的操作的框圖。以下的號碼1-14與圖10中所示的框圖中的每個箭頭的標(biāo)號對應(yīng)。
1.客戶通過發(fā)送一個SYN數(shù)據(jù)分組(一個請求在客戶和服務(wù)器之間的連接的同步請求分組)開始到服務(wù)器的連接/插入。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13802.XML裝置接收SYN數(shù)據(jù)分組,并且比較字段(目的地IP地址和端口號)與XML裝置的配置。XML裝置決定SYN數(shù)據(jù)分組目的地端口沒有匹配該裝置的配置,因此它轉(zhuǎn)發(fā)該數(shù)據(jù)分組給服務(wù)器而不改變該數(shù)據(jù)分組。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13803.服務(wù)器發(fā)送SYN-ACK(Syn數(shù)據(jù)分組的確認(rèn))回到該客戶。
源IP/MAC1.2.3.4/05060708目的地IP/MAC9.8.7.6/000102034.XML裝置不處理該連接,因此它轉(zhuǎn)發(fā)數(shù)據(jù)分組回到該客戶。
源IP/MAC1.2.3.4/05060708目的地IP/MAC9.8.7.6/000102035.客戶發(fā)送ACK數(shù)據(jù)分組以便完成插入的開口。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13806.XML裝置注意到數(shù)據(jù)分組不是同步的數(shù)據(jù)分組,并且轉(zhuǎn)發(fā)數(shù)據(jù)分組到服務(wù)器。
源IP/MAC 9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口1380圖10中的箭頭7到14遵循類似的操作。因為沒有隨后的數(shù)據(jù)分組是連接請求數(shù)據(jù)分組(例如SYN數(shù)據(jù)分組),XML裝置僅僅在客戶和服務(wù)器之間轉(zhuǎn)發(fā)數(shù)據(jù)分組。箭頭7-10指的是從客戶通過裝置810傳送數(shù)據(jù)給服務(wù)器,同時箭頭11-12闡明通過裝置810從服務(wù)器到客戶傳送數(shù)據(jù)。箭頭13和14指的是關(guān)閉該連接。
圖11是闡明一種XML裝置處理那些匹配XML裝置配置的事務(wù)處理或者信息的操作的框圖。
1.客戶通過發(fā)送一個同步的數(shù)據(jù)分組開始到服務(wù)器的連接。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13812.XML裝置確定同步數(shù)據(jù)分組的目的地IP地址和端口號與該裝置的配置匹配,并且發(fā)送SYN-ACK回到客戶。
源IP/MAC1.2.3.4/05060708目的地IP/MAC9.8.7.6/000102033.客戶發(fā)送ACK(確認(rèn))數(shù)據(jù)分組,以便完成連接/插入的開口。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13814.客戶開始發(fā)送XML數(shù)據(jù)給形成作為服務(wù)器的XML裝置。
源IP/MAC9.8.7.6/00010203
目的地IP/MAC1.2.3.4/05060708目的地端口13815.客戶發(fā)送剩余XML數(shù)據(jù)給形成作為服務(wù)器的XML裝置。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13816.XML裝置執(zhí)行XML操作(例如,XML驗證或者XML轉(zhuǎn)換),然后在新的目的端口號上發(fā)送SYN數(shù)據(jù)分組給服務(wù)器,形成作為客戶,在XML裝置和服務(wù)器之間請求一個(新的)連接。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13807.服務(wù)器發(fā)送SYN-ACK(確認(rèn))回到形成作為客戶的XML裝置。
源IP/MAC1.2.3.4/05060708目的地IP/MAC9.8.7.6/000102038.XML裝置發(fā)送ACK數(shù)據(jù)分組,以便完成連接/插入的開口。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口13809.XML裝置開始發(fā)送XML數(shù)據(jù)給形成作為客戶的服務(wù)器。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口138010.XML裝置發(fā)送剩余XML數(shù)據(jù)給形成作為客戶的服務(wù)器。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708目的地端口138011.服務(wù)器發(fā)送響應(yīng)給輸入XML裝置的XML數(shù)據(jù)。
源IP/MAC1.2.3.4/05060708目的地IP/MAC9.8.7.6/0001020312.XML裝置使用由服務(wù)器發(fā)送的數(shù)據(jù)來發(fā)送響應(yīng)給客戶(XML裝置可以在響應(yīng)數(shù)據(jù)上執(zhí)行另一操作,例如驗證、轉(zhuǎn)換或還有響應(yīng)數(shù)據(jù)的XML切換)。
源IP/MAC9.8.7.6/00010203目的地IP/MAC1.2.3.4/05060708數(shù)據(jù)分組13和14遵循與11和12一樣的相同模型,但用于關(guān)閉TCP連接。
如果額外的XML裝置放置在XML裝置和服務(wù)器之間,那么由第一XML裝置處理的數(shù)據(jù)將穿過的隨后的XML裝置,如上所述。
對于某些操作,例如基于內(nèi)容的切換,裝置不必接收用于將執(zhí)行的操作的全部信息。XML裝置可以排列一部分信息,足夠進行一個切換決定,然后通過改變它們的IP address和/或端口號,可使剩余數(shù)據(jù)分組轉(zhuǎn)發(fā)并且切換到恰當(dāng)?shù)奶幚砉?jié)點。
圖12是解釋按照一個范例實施例的多個裝置級聯(lián)的一個框圖。在圖12中所示的范例實施例里,驗證器1220(例如一個驗證加速器)、一個轉(zhuǎn)換器1230(例如轉(zhuǎn)換器715)和一個交換機1240(例如基于內(nèi)容的交換機146)級聯(lián)在一起(串行耦合)??蛻?或者其它處理節(jié)點)耦合到該驗證器1220,同時服務(wù)器(或者其它處理節(jié)點)耦合到交換機1240。驗證器1220配置有IP地址1.2.3.4,并且同意或者接受在端口號84上接收的輸入連接請求。轉(zhuǎn)換器1230配置有IP地址1.2.3.4并且同意或者接受在端口號81上接收的輸入連接請求。交換機配置有IP地址1.2.3.4并且同意或者接受在端口號82上接收的輸入連接請求。
在圖12系統(tǒng)的操作中,SYN數(shù)據(jù)分組由驗證器1220從客戶收到(請求一個連接),具有一個目的地IP地址1.2.3.4和一個目的地端口號84。因此,數(shù)據(jù)分組或者信息包括與驗證器1220的配置匹配的參數(shù)或者字段。因此,驗證器1220建立請求的連接并且接收該數(shù)據(jù)或者信息。驗證器1220可以之后檢索一個驗證模板,或者驗證模板可以提供在該信息內(nèi)。該信息然后被驗證。
驗證器1220然后發(fā)送一個SYN數(shù)據(jù)分組給轉(zhuǎn)換器1230,指定一個1.2.3.4的目的地IP地址,和一個號碼為81的目的地端口,它們和1230的配置匹配。號碼為81的目的地端口用來指示該驗證功能已經(jīng)執(zhí)行了。因為SYN數(shù)據(jù)分組匹配轉(zhuǎn)換器1230的配置,轉(zhuǎn)換器1230接受或者建立請求的連接以便接收該驗證的信息。轉(zhuǎn)換器1230然后可以檢索一個轉(zhuǎn)換模板,該模板規(guī)定該信息如何從第一格式轉(zhuǎn)換到第二格式。轉(zhuǎn)換器1230然后從第一格式到第二格式轉(zhuǎn)換驗證的信息。
交換機1230然后發(fā)送一個SYN數(shù)據(jù)分組給交換機1240。SYN數(shù)據(jù)分組包括和交換機1240配置相匹配的一個目的地IP地址1.2.3.4和一個號碼為82的目的地端口。號碼為82的目的地端口由轉(zhuǎn)換器1230使用以便指示在該信息上已經(jīng)執(zhí)行轉(zhuǎn)換操作。因為數(shù)據(jù)分組或者信息與交換機1240的配置匹配,所以交換機1240接受或者建立請求的連接以便接收驗證的和轉(zhuǎn)換的信息。交換機1240然后在接收的信息上執(zhí)行基于內(nèi)容的切換。例如,如果一部分信息匹配預(yù)定的模型或者數(shù)值(例如,如果″價格″大于$1000),則交換機1240可以切換或者輸出該信息給一個物理輸出端口或者給一個處理節(jié)點或者服務(wù)器。如果在信息和一個或多個預(yù)定的模型或者數(shù)值之間沒有找到匹配,則該信息被轉(zhuǎn)發(fā)到它原先規(guī)定的服務(wù)器或者處理節(jié)點,如上面對于基于內(nèi)容的切換所述的。交換機1240通過使用目的地端口83輸出該信息,該信息可以指示該信息已經(jīng)被切換了。
圖13是解釋按照一個范例實施例的許多驗證器級聯(lián)的框圖。參考圖13,三個驗證器在客戶和服務(wù)器之間級聯(lián)在一起(或者串行耦合),三個驗證器包括驗證器1305、1310和1315。全部三個驗證器1305、1310和1315具有相同的配置(目的地IP地址1.2.3.4和目的端口號84)。
如圖13中所示,接收一個規(guī)定目的地IP地址1.2.3.4和目的地端口號84的連接請求。因為連接請求與驗證器1305的配置匹配,所以驗證器1305接受連接請求。該信息或者文件通過一個或多個數(shù)據(jù)分組接收,并且通過驗證器1305驗證。因為該信息已經(jīng)被驗證,所以驗證器1305將用于數(shù)據(jù)分組(用于轉(zhuǎn)發(fā)該信息)的目的地端口號從84改為81。驗證器1305然后通過發(fā)送一個連接請求到驗證器1310,規(guī)定目的地IP地址1.2.3.4和目的地端口81,來轉(zhuǎn)發(fā)驗證的信息到下一個節(jié)點上。連接的端口號81與驗證器1310的配置不匹配。因此,驗證器1310不接受或者建立請求的連接。相反,驗證器1310僅僅轉(zhuǎn)發(fā)連接申請到下一個節(jié)點上,該節(jié)點是驗證器1315。因為數(shù)據(jù)分組與驗證器1315的配置不匹配,所以驗證器1315重復(fù)與驗證器1310相同的處理。驗證器1315然后轉(zhuǎn)發(fā)連接請求的數(shù)據(jù)分組給該服務(wù)器。服務(wù)器然后接受或者建立與驗證器1305的請求的連接,并且接收該驗證的信息。用這樣的方式,許多驗證器可以透明地級聯(lián)在一起,以便提供可伸縮性和容錯。
圖14是解釋按照一個范例實施例的多個轉(zhuǎn)換器級聯(lián)的一個框圖。轉(zhuǎn)換器1405、1410和1415級聯(lián)(或者串行耦合)在客戶和服務(wù)器之間。每個轉(zhuǎn)換器1405、1410和1415配置有IP地址1.2.3.4并且在端口81上接受連接。轉(zhuǎn)換器1405從客戶接收一個連接請求的數(shù)據(jù)分組(或者SYN數(shù)據(jù)分組),該數(shù)據(jù)分組規(guī)定目的地IP地址1.2.3.4和目的地端口號81。然而,轉(zhuǎn)換器1405沒有足夠的資源來處理(或者轉(zhuǎn)換)該信息,例如,因為它忙著處理其它信息。因此,轉(zhuǎn)換器1405轉(zhuǎn)發(fā)連接請求數(shù)據(jù)分組給轉(zhuǎn)換器1410。然而,轉(zhuǎn)換器1410已經(jīng)失效或者不起作用了,因此也轉(zhuǎn)發(fā)該連接請求給轉(zhuǎn)換器1415。轉(zhuǎn)換器1415是起作用的并且具有可用的資源以一種及時的方式處理或者轉(zhuǎn)換該信息。因此,轉(zhuǎn)換器1415將連接請求數(shù)據(jù)分組的參數(shù)或者字段與它的配置相比較。因為請求數(shù)據(jù)分組的目的地IP地址(1.2.3.4)和端口號(81)與轉(zhuǎn)換器1415的配置相匹配,所以轉(zhuǎn)換器1415接受連接請求以便建立與客戶的連接并且通過一個或多個數(shù)據(jù)分組接收信息或者數(shù)據(jù)。轉(zhuǎn)換器1415然后從第一數(shù)據(jù)格式到第二數(shù)據(jù)格式轉(zhuǎn)換信息或者數(shù)據(jù),然后通過一個或多個數(shù)據(jù)分組使用新的連接來轉(zhuǎn)發(fā)轉(zhuǎn)換的信息到服務(wù)器。用于轉(zhuǎn)發(fā)轉(zhuǎn)換的信息到服務(wù)器的數(shù)據(jù)分組包括一個目的地端口號82以便指示該信息已經(jīng)被轉(zhuǎn)換了。如果交換機1415不能處理或者轉(zhuǎn)換該信息,那么連接請求和信息將僅僅無改變地發(fā)送到可能處理所述連接請求和信息的服務(wù)器。
圖15是解釋按照一個范例實施例的多個基于內(nèi)容的交換機的級聯(lián)框圖。基于內(nèi)容的交換機1505、1510和1515在客戶和服務(wù)器之間級聯(lián)在一起。按照圖15中所示的實施例,基于內(nèi)容的交換機的每一個配置有IP地址1.2.3.4并且在端口號82上接受連接請求。交換機1505從客戶接收一個連接請求,該連接請求規(guī)定目的地IP地址1.2.3.4和目的地端口號82。雖然數(shù)據(jù)分組或者連接請求與交換機1505的配置匹配,但交換機1505不能處理該信息,于是,轉(zhuǎn)發(fā)該數(shù)據(jù)分組到交換機1510,該數(shù)據(jù)分組包括該連接請求和發(fā)送將被處理的數(shù)據(jù)或者信息的后續(xù)數(shù)據(jù)分組。交換機1510具有足夠的資源來處理或者切換該信息,因此接受該連接請求,并通過一個或多個額外的數(shù)據(jù)分組從客戶接收該信息。
基于內(nèi)容的交換機1510然后通過將該信息或者XML數(shù)據(jù)與一個或多個預(yù)定模型或者數(shù)值相比較來在該信息上執(zhí)行基于內(nèi)容的切換。例如,提供在XML數(shù)據(jù)或者信息內(nèi)的模型″To=Bookstore.com″可以指示該信息應(yīng)該引導(dǎo)到或者切換到服務(wù)器S1,該服務(wù)器S1具有一個IP地址10.1.1.1(圖15中所示的),并且檢測或者監(jiān)聽端口號80上的連接,端口號80是一個對于HTTP公知的端口。
服務(wù)器 IP地址 端口XML模型------ ------ -----------S1 10.1.1.180 To=bookstore.com因為接收的信息與模型″To=Bookstore.com″匹配,所以該交換機然后將目的地IP地址和端口號分別改為數(shù)據(jù)分組中的10.1.1.1和80,并且轉(zhuǎn)發(fā)一個或多個數(shù)據(jù)分組中的信息到交換機1515。另外地,交換機可以通過一個或多個數(shù)據(jù)分組輸出信息到一個直接到該服務(wù)器S1的不同的物理端口。
交換機1515接收包括目的地IP地址10.1.1.1和端口號80的連接請求數(shù)據(jù)分組,連接請求分組與它的配置不匹配。因此,交換機1515轉(zhuǎn)發(fā)該連接請求和另一個發(fā)送該信息到服務(wù)器上的信息。另外,該信息可以穿過可以基于IP地址和端口號引導(dǎo)該信息到恰當(dāng)?shù)姆?wù)器的另一交換機。最后,該信息將到達希望的服務(wù)器S1。用這樣的方式,多個基于內(nèi)容的交換機可以級聯(lián)在一起以便處理大量信息或者業(yè)務(wù)的切換,這也提供了容錯。
在這里特別地闡明和/或描述本發(fā)明的幾個實施例。然而,可以理解本發(fā)明的修正和改變通過上述教導(dǎo)涵蓋,并且在附加權(quán)利請求的權(quán)限之內(nèi),并且沒有背離本發(fā)明的精神和預(yù)定的范圍。
權(quán)利要求
1.一種裝置,該裝置包括耦合在客戶和服務(wù)器之間一個裝置,該裝置具有一個配置,該裝置通過一個或多個接收的數(shù)據(jù)分組接收一個信息,并且只有當(dāng)接收的數(shù)據(jù)分組具有一個或多個與裝置配置匹配的字段時才處理該信息,該裝置通過不同于接收的數(shù)據(jù)分組的具有一個或多個字段的一個或多個數(shù)據(jù)分組來轉(zhuǎn)發(fā)處理的信息。
2.根據(jù)權(quán)利要求1所述裝置,其中該裝置包括如果接收的數(shù)據(jù)分組的一個或多個字段與該裝置配置不相配則轉(zhuǎn)發(fā)具有一個或多個字段的接收的數(shù)據(jù)分組和未改變的信息的一個裝置。
3.根據(jù)權(quán)利要求1所述的裝置,其中該裝置包括一個或多個驗證器、轉(zhuǎn)換器和基于內(nèi)容的交換機。
4.根據(jù)權(quán)利要求1所述的裝置,其中與該裝置的配置匹配的一個或多個字段包括一個目的地IP地址和目的地端口號。
5.一種裝置,該裝置包括耦合在客戶和服務(wù)器之間的多個裝置,這些裝置具有同樣的配置,這些裝置通過一個或多個接收的數(shù)據(jù)分組接收信息,并且只有當(dāng)接收的數(shù)據(jù)分組具有一個或多個與裝置的配置匹配的字段時才處理該信息,如果接收的數(shù)據(jù)分組的一個或多個字段與該裝置的配置不相配,則這些裝置轉(zhuǎn)發(fā)具有一個或多個字段的接收的數(shù)據(jù)分組和未改變的信息,這些裝置通過不同于接收的數(shù)據(jù)分組的具有一個或多個字段的一個或多個數(shù)據(jù)分組來轉(zhuǎn)發(fā)處理的信息。
6.根據(jù)權(quán)利要求5所述的裝置,其中多個裝置包括多個驗證器。
7.根據(jù)權(quán)利要求6所述的裝置,其中至少一個驗證器包括一個驗證加速器以便驗證XML文件或者信息。
8.根據(jù)權(quán)利要求5所述的裝置,其中多個裝置包括多個轉(zhuǎn)換器。
9.根據(jù)權(quán)利要求8所述的裝置,其中轉(zhuǎn)換器中的至少一個包括一個用于將該信息從第一格式轉(zhuǎn)換到第二格式的轉(zhuǎn)換器。
10.根據(jù)權(quán)利要求5所述的裝置,其中多個裝置包括多個交換機。
11.根據(jù)權(quán)利要求10所述的裝置,其中交換機中的至少一個包括在該信息的內(nèi)容與一個或多個預(yù)定模型或者數(shù)值匹配時切換該信息到一個選擇的處理節(jié)點或者服務(wù)器的一個基于內(nèi)容的交換機。
12.根據(jù)權(quán)利要求11所述的裝置,其中基于內(nèi)容的切換機包括在信息中的商業(yè)事務(wù)處理信息與預(yù)定模型或者數(shù)值匹配時切換該信息到一個選擇的處理節(jié)點或者服務(wù)器的一個基于內(nèi)容的交換機。
13.根據(jù)權(quán)利要求5所述的裝置,其中與該裝置配置匹配的一個或多個字段包括一個地址。
14.根據(jù)權(quán)利要求5所述的裝置,其中與該裝置配置匹配的一個或多個字段包括一個目的地地址。
15.根據(jù)權(quán)利要求5所述的裝置,其中與該裝置配置匹配的一個或多個字段包括一個目的地地址和目的地端口號。
16.根據(jù)權(quán)利要求5所述的裝置,其中與該裝置配置匹配的一個或多個字段包括一個目的地IP地址和目的地端口號。
17.根據(jù)權(quán)利要求5所述的裝置,其中與該裝置配置匹配的一個或多個字段包括一個目的地IP地址和目的地端口號,該裝置在目的地端口號上接受連接請求。
18.一種裝置,該裝置包括一個具有第一配置的第一裝置;一個耦合到第一裝置的第二裝置,第二裝置具有一個第二配置;第一裝置通過一個或多個接收的數(shù)據(jù)分組來接收信息,并且只有當(dāng)接收的數(shù)據(jù)分組具有與第一裝置配置匹配的一個或多個字段時才處理該信息,如果接收的數(shù)據(jù)分組的一個或多個字段與第一配置不相配,則第一裝置轉(zhuǎn)發(fā)具有一個或多個字段的接收的數(shù)據(jù)分組和未改變的信息到第二裝置。
19.根據(jù)權(quán)利要求18所述的裝置,其中第一裝置通過具有與第二配置匹配的一個或多個字段的一個或多個數(shù)據(jù)分組轉(zhuǎn)發(fā)處理的信息到第二裝置。
20.根據(jù)權(quán)利要求18所述的裝置,其中第一和第二裝置中的每一個包括一個或多個驗證器、轉(zhuǎn)換器以及交換機。
21.一種方法,該方法包括配置一個裝置;通過一個或多個數(shù)據(jù)分組在該裝置上接收信息;只有當(dāng)接收的數(shù)據(jù)分組具有與該裝置配置匹配的一個或多個字段時才處理該信息;以及通過不同于接收的數(shù)據(jù)分組的具有一個或多個字段的一個或多個數(shù)據(jù)分組轉(zhuǎn)發(fā)處理的信息。
22.根據(jù)權(quán)利要求21所述的方法,進一步地包括如果接收的數(shù)據(jù)分組的一個或多個字段與該裝置配置不相配則轉(zhuǎn)發(fā)具有一個或多個字段的接收的數(shù)據(jù)分組和未改變的信息。
23.根據(jù)權(quán)利要求21所述的方法,進一步地包括產(chǎn)生一個響應(yīng)信息;通過一個或多個數(shù)據(jù)分組在該裝置上接收響應(yīng)信息;如果該響應(yīng)信息的一個或多個數(shù)據(jù)分組與該裝置配置匹配,則處理該響應(yīng)信息。
24.一種包括其上包含指令的媒體的裝置,當(dāng)執(zhí)行所述指令時會產(chǎn)生下列結(jié)果配置一個裝置;通過一個或多個數(shù)據(jù)分組在該裝置上接收一個信息;只有當(dāng)接收的數(shù)據(jù)分組具有與該裝置配置匹配的一個或多個字段時才處理該信息;并且通過不同于接收的數(shù)據(jù)分組的具有一個或多個字段的一個或多個數(shù)據(jù)分組來轉(zhuǎn)發(fā)處理的信息。
25.根據(jù)權(quán)利要求24所述的裝置,進一步地包括如果接收的數(shù)據(jù)分組的一個或多個字段與該裝置配置不相配則轉(zhuǎn)發(fā)具有一個或多個字段的接收的數(shù)據(jù)分組和未改變的信息。
全文摘要
這里描述用于級聯(lián)網(wǎng)絡(luò)裝置的不同的實施例,用于基于內(nèi)容的切換,例如驗證器、轉(zhuǎn)換器和交換機或者它們的組合作為范例。
文檔編號G06F17/30GK1493139SQ01822826
公開日2004年4月28日 申請日期2001年11月27日 優(yōu)先權(quán)日2000年12月22日
發(fā)明者J·阿布亞尼克, M·S·埃利斯, J 阿布亞尼克, 埃利斯 申請人:英特爾公司