两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

自適應(yīng)多協(xié)議通信系統(tǒng)的制作方法

文檔序號(hào):7733455閱讀:1375來(lái)源:國(guó)知局
專利名稱:自適應(yīng)多協(xié)議通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)通信。更具體地說(shuō),本發(fā)明涉及在不同通信協(xié)議之間的轉(zhuǎn)換,以及通過(guò)不同的計(jì)算機(jī)網(wǎng)絡(luò)傳送數(shù)據(jù)。
背景技術(shù)
在過(guò)去的50年里,已經(jīng)編出了成千種的程序以實(shí)現(xiàn)商業(yè)上的各種功能。由于商用的需要,匯集了更多不同功能的計(jì)算機(jī)系統(tǒng),從而匯集了更多的不同計(jì)算機(jī)程序。由于技術(shù)的發(fā)展,可每隔特定的一段時(shí)間,商用升級(jí)現(xiàn)有的系統(tǒng)以獲得新的系統(tǒng)。商用的需求以及廣泛的技術(shù)革新,商用方面在時(shí)間上的積累,使得可在不同系列的計(jì)算機(jī)系統(tǒng)上運(yùn)行不同系列的計(jì)算機(jī)程序。
在過(guò)去的20年里,商用的主流已經(jīng)使用硬件和軟件將所有的計(jì)算機(jī)系統(tǒng)互連在一起。當(dāng)今網(wǎng)絡(luò)硬件,諸如交換機(jī)和路由器,網(wǎng)絡(luò)軟件,萬(wàn)維網(wǎng)服務(wù)器以及防火墻,已經(jīng)成為如何構(gòu)建和使用商用計(jì)算機(jī)系統(tǒng)的基礎(chǔ)。當(dāng)今由計(jì)算機(jī)軟件提供的許多的功能,要求每個(gè)計(jì)算機(jī)連接到一個(gè)共享的網(wǎng)絡(luò)。從宏觀上講,因特網(wǎng)只是商業(yè)機(jī)構(gòu)、教育機(jī)構(gòu)以及政府部門的計(jì)算機(jī)網(wǎng)絡(luò)的世界范圍的合并。
要求每個(gè)計(jì)算機(jī)連接到網(wǎng)絡(luò)的改變已經(jīng)極大地影響了計(jì)算機(jī)軟件。特別地,現(xiàn)在許多類型的計(jì)算機(jī)軟件要求能通過(guò)相互共享的網(wǎng)絡(luò)與其它軟件通信以實(shí)現(xiàn)其功能。電子郵件、網(wǎng)頁(yè)和文件服務(wù)器都是在一個(gè)共享的網(wǎng)絡(luò)上進(jìn)行計(jì)算機(jī)軟件之間信息傳輸?shù)睦C。
為便于在一個(gè)共享網(wǎng)絡(luò)上運(yùn)行的各計(jì)算機(jī)軟件之間的信息共享,已經(jīng)產(chǎn)生了多種多樣的計(jì)算機(jī)協(xié)議,從而為這種共享定義語(yǔ)義。進(jìn)一步又在過(guò)去的30年里定義出了眾多分立但又相互依存的計(jì)算機(jī)協(xié)議層。例如,OSI網(wǎng)絡(luò)疊層模型就是這些協(xié)議及其相互關(guān)系的一種模型。
在此情況下,計(jì)算機(jī)協(xié)議可以分為三種通用的層物理層、網(wǎng)絡(luò)層及應(yīng)用層。物理層網(wǎng)絡(luò)協(xié)議關(guān)系到定義用于實(shí)現(xiàn)計(jì)算機(jī)連網(wǎng)的硬件以及線路的物理特性。例如,電子信令以及在一個(gè)字節(jié)中的比特?cái)?shù)即在物量層協(xié)議中加以定義。
網(wǎng)絡(luò)協(xié)議關(guān)系則到限定計(jì)算機(jī)網(wǎng)絡(luò)的組織、表達(dá)以及識(shí)別語(yǔ)義的特性。例如,基本的數(shù)據(jù)單元、幀結(jié)構(gòu)、差錯(cuò)恢復(fù)/重發(fā)機(jī)制及以分組(拆)裝即在網(wǎng)絡(luò)協(xié)議中加以定義。
應(yīng)用協(xié)議關(guān)系到會(huì)話協(xié)商、線路參數(shù)(壓縮及解壓縮等)、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)顯示格式、數(shù)據(jù)模式、事務(wù)語(yǔ)義以及請(qǐng)求-應(yīng)答語(yǔ)義。該協(xié)議基于當(dāng)今其如何由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)而從OSI疊層的各概念性聚集層中分離出來(lái)。應(yīng)用協(xié)議以計(jì)算機(jī)軟件實(shí)現(xiàn),其中要求訪問(wèn)數(shù)據(jù)的特定軟件程序使用這樣的協(xié)議。
已設(shè)計(jì)出多種多樣的計(jì)算機(jī)硬件系統(tǒng)和計(jì)算機(jī)軟件程序以實(shí)現(xiàn)物理和網(wǎng)絡(luò)協(xié)議層。要求特別設(shè)計(jì)的硬件來(lái)實(shí)現(xiàn)物理網(wǎng)絡(luò)協(xié)議,如特殊的布線和電子信令特點(diǎn)必須在硅中實(shí)現(xiàn),并通過(guò)物理網(wǎng)絡(luò)插頭而成為可連接的。網(wǎng)絡(luò)協(xié)議層最初(在1990年前)是通過(guò)在通用計(jì)算機(jī)上運(yùn)行的軟件來(lái)實(shí)現(xiàn)的。最近,網(wǎng)絡(luò)協(xié)議已經(jīng)使用定制的專用集成電路(ASICs)或可編程網(wǎng)絡(luò)處理器來(lái)實(shí)現(xiàn)。這些單獨(dú)的進(jìn)行物理和網(wǎng)絡(luò)層協(xié)議處理的部件被集成到包括交換機(jī)和路由器的產(chǎn)品中。
由于種種原因,應(yīng)用協(xié)議尚未以硬件實(shí)現(xiàn)。首先,由于性能和可編程性的原因,以硬件集成系統(tǒng)連接應(yīng)用邏輯電路被認(rèn)為是不可行的。第二,這樣的硬件集成系統(tǒng)的可預(yù)想到的經(jīng)濟(jì)價(jià)值不足以保證其開發(fā)和商業(yè)化應(yīng)用。第三,在工業(yè)技術(shù)上的快速技術(shù)變革以及在硬件方面的較長(zhǎng)設(shè)計(jì)周期也造成了經(jīng)濟(jì)動(dòng)機(jī)上的問(wèn)題。第四,許多歷史上的協(xié)議為某些公司的專利,導(dǎo)致其硬件實(shí)現(xiàn)會(huì)造成侵犯知識(shí)產(chǎn)權(quán)。第五,許多軟件工程師沒(méi)有意識(shí)到需要一個(gè)基于硬件的集成系統(tǒng)。第六,對(duì)于軟件或硬件工程師來(lái)說(shuō),在硬件上實(shí)現(xiàn)集成系統(tǒng)不被認(rèn)為是一種工程中最好的實(shí)踐。第七,缺乏普遍接受的協(xié)議標(biāo)準(zhǔn),從而使得以硬件集成系統(tǒng)支持?jǐn)?shù)以百計(jì)的應(yīng)用協(xié)議成為不可實(shí)行的要求。第八,軟件工程師在如何用硬件方式實(shí)現(xiàn)綜合的計(jì)算機(jī)軟件方面缺乏最好的實(shí)踐以及先例。
由于每一層均存在許多計(jì)算機(jī)協(xié)議,總是需要一個(gè)解決方案以便于使用不同通信協(xié)議的系統(tǒng)間進(jìn)行通信以交換數(shù)據(jù)。所有這些解決方案能實(shí)現(xiàn)這樣的功能,即使得多個(gè)系統(tǒng)通過(guò)了解和橋接所述協(xié)議接口來(lái)交換數(shù)據(jù),其中每個(gè)分立的系統(tǒng)通過(guò)其網(wǎng)絡(luò)連通性而暴露出來(lái);對(duì)于本文,所有能實(shí)現(xiàn)適用于該功能描述的技術(shù)方案均被概括地稱為集成系統(tǒng)。
始于1980年代中期,多協(xié)議網(wǎng)絡(luò)路由器開創(chuàng)了不同種類物理和網(wǎng)絡(luò)層協(xié)議的綜合化。特別是多協(xié)議網(wǎng)絡(luò)路由器實(shí)現(xiàn)了在運(yùn)行不同類型的物理和網(wǎng)絡(luò)層協(xié)議的網(wǎng)絡(luò)之間交換數(shù)據(jù)所必須的功能。這類本發(fā)明的一個(gè)典型例子是路由硬件的開發(fā),該硬件能在擁有專利權(quán)的IBMSNA協(xié)議和因特網(wǎng)協(xié)議(IP)之間交換數(shù)據(jù)。
以此類推到應(yīng)用層,其中應(yīng)用層協(xié)議處于交換層面,具有不同種類的應(yīng)用層面的協(xié)議的計(jì)算機(jī)之間在軟件層面上所進(jìn)行的數(shù)據(jù)交換充其量也是復(fù)雜化的。參照?qǐng)D1,原有技術(shù)例如在有n個(gè)應(yīng)用協(xié)議在計(jì)算機(jī)系統(tǒng)101和102之間交換時(shí)要求有大量的軟件轉(zhuǎn)換。由于每個(gè)轉(zhuǎn)換都是唯一的,原有技術(shù)要求n2次轉(zhuǎn)換映射例程103,其中n為被交換的不同應(yīng)用程序的數(shù)目,以完全地覆蓋轉(zhuǎn)換的組合。隨n變大,支持n2次轉(zhuǎn)換流程是不可行的。由于這種n2的復(fù)雜性,原有技術(shù)導(dǎo)致高支出和長(zhǎng)開發(fā)周期。
原有技術(shù)同時(shí)還要求以許多不同的軟件組件用于交換中的每個(gè)應(yīng)用協(xié)議。因此,對(duì)于用戶來(lái)說(shuō),難以在多個(gè)系統(tǒng)之間進(jìn)行交換,這是因?yàn)樗鼈儽仨氝B續(xù)地適應(yīng)其系統(tǒng)及軟件以使用這些不同的組件。進(jìn)一步的說(shuō),每個(gè)數(shù)據(jù)交換組成部分的設(shè)計(jì)基于許多諸如程序語(yǔ)言、協(xié)議類型、及操作系統(tǒng)等不同因素而不同。因此,原有技術(shù)不僅技術(shù)上復(fù)雜,同時(shí)還因其缺乏共同的方案或者執(zhí)行工具而難以應(yīng)用。
故提供一種自適應(yīng)的多協(xié)議通信系統(tǒng)是有益的,所述系統(tǒng)提供一種硬件集成系統(tǒng),該系統(tǒng)在多應(yīng)用協(xié)議之間通信并顯著減少所需的轉(zhuǎn)換處理次數(shù)。更為有益的是提供一種允許用戶容易地適應(yīng)于附加的應(yīng)用協(xié)議而擴(kuò)展該系統(tǒng)的自適應(yīng)多協(xié)議通信系統(tǒng)。


發(fā)明內(nèi)容
本發(fā)明提供了一種自適應(yīng)多協(xié)議通信系統(tǒng)。所述系統(tǒng)提供了一種能在多應(yīng)用協(xié)議之間進(jìn)行通信并將所需轉(zhuǎn)換處理的次數(shù)減少到n的硬件集成系統(tǒng)。另外,本發(fā)明提供了一種模塊化系統(tǒng),其允許用戶容易地適應(yīng)附加的應(yīng)用協(xié)議而擴(kuò)展該系統(tǒng)。
本發(fā)明提供了多個(gè)單個(gè)的計(jì)算機(jī)接口卡,其連接到一個(gè)公用底板或者互連??▋?nèi)部的通信通過(guò)存儲(chǔ)器映射的方式完成。每個(gè)接口卡傳送和接收特定應(yīng)用協(xié)議的比特流。接口卡在各種可能的不同應(yīng)用協(xié)議之間交換數(shù)據(jù)。
接口卡饋送輸入的二進(jìn)制數(shù)據(jù)流至有限狀態(tài)機(jī)。每個(gè)有限狀態(tài)機(jī)專用于將一個(gè)特定的應(yīng)用協(xié)議比特流轉(zhuǎn)換為一個(gè)多維矩陣表示。有限狀態(tài)機(jī)處理比特流并為一特定通信協(xié)議如EDI、XML生成一個(gè)多維模式的矩陣,或者是本發(fā)明的中間轉(zhuǎn)換表示。
有限狀態(tài)機(jī)使用一個(gè)后備緩沖器,以利用先前的狀態(tài)值生成多維矩陣。后備緩沖器保持由有限狀態(tài)機(jī)存放在后備緩沖器中的先前數(shù)據(jù)流的數(shù)值。
用戶可以用一組系統(tǒng)配置表和一異常表調(diào)整有限狀態(tài)機(jī)的行為。配置表允許用戶定義有限狀態(tài)機(jī)如何在輸入的比特流上操作,從而為所述模式的矩陣取得正確的語(yǔ)法。所述的異常表是一系列對(duì)矩陣的多維區(qū)域的約束條件。
本發(fā)明的一個(gè)優(yōu)選實(shí)施例使用兩級(jí)方法轉(zhuǎn)換比特流。在一個(gè)接收接口卡上的第一有限狀態(tài)機(jī)被用于將輸入比特流轉(zhuǎn)換為該比特流的應(yīng)用協(xié)議的一個(gè)多維矩陣表示。一第二有限狀態(tài)機(jī)被用于將該應(yīng)用協(xié)議多維矩陣轉(zhuǎn)換為一個(gè)中間表示(intermediate representation)多維矩陣。
所述中間表示多維矩陣被傳送到一個(gè)目的接口卡。該目的接口卡具有第一有限狀態(tài)機(jī),用來(lái)將該中間表示多維矩陣轉(zhuǎn)換為一個(gè)應(yīng)用協(xié)議多維矩陣。第二有限狀態(tài)機(jī)用于將該應(yīng)用協(xié)議多維矩陣轉(zhuǎn)換為一個(gè)應(yīng)用協(xié)議比特流。之后該應(yīng)用協(xié)議比特流被送到一計(jì)算機(jī)系統(tǒng)。
本發(fā)明的另一個(gè)優(yōu)選實(shí)施例使用復(fù)合的有限狀態(tài)機(jī)。復(fù)合有限狀態(tài)機(jī)從最初的通信協(xié)議直接轉(zhuǎn)換到本發(fā)明的中間表示,在接收接口卡上的有限狀態(tài)機(jī)用于將輸入的比特流轉(zhuǎn)換為中間表示多維矩陣。
中間表示多維矩陣被傳送到目的接口卡。該目的接口卡有一有限狀態(tài)機(jī),用于將中間表示多維矩陣轉(zhuǎn)換到應(yīng)用協(xié)議比特流。之后該應(yīng)用協(xié)議比特流被送到一計(jì)算機(jī)系統(tǒng)。
本發(fā)明的其它方面及優(yōu)點(diǎn)通過(guò)下面結(jié)合附圖、示意圖、以舉例方式進(jìn)行的詳細(xì)說(shuō)明將會(huì)更加顯而易見(jiàn)。


圖1所示為根據(jù)本發(fā)明的現(xiàn)有技術(shù)方法的示意框圖,其使用n2個(gè)根據(jù)本發(fā)明的轉(zhuǎn)換例程來(lái)轉(zhuǎn)換應(yīng)用協(xié)議;圖2所示為一個(gè)示范性例子的示意框圖,其展示出根據(jù)本發(fā)明的有代表性的多個(gè)系統(tǒng)通過(guò)根據(jù)本發(fā)明的多個(gè)接口相連接;圖3所示為本發(fā)明的一個(gè)優(yōu)選實(shí)施例的示意框圖,其中根據(jù)本發(fā)明使用了一種多計(jì)算體系統(tǒng)結(jié)構(gòu)以提供應(yīng)用協(xié)議轉(zhuǎn)換;圖4所示為一個(gè)配置操作的示范性例子的示意框圖,該操作涉及用戶、本發(fā)明以及多個(gè)根據(jù)本發(fā)明的互連系統(tǒng);圖5所示為根據(jù)本發(fā)明的一個(gè)包括本發(fā)明和大量互連系統(tǒng)的集成操作的一個(gè)示范性的例子的示意框圖;圖6是一示意框圖,其展示了根據(jù)本發(fā)明使用說(shuō)明配置(declarativeconfiguration)的通用配置功能的一個(gè)優(yōu)選實(shí)施例;圖7所示為根據(jù)本發(fā)明而執(zhí)行本發(fā)明的應(yīng)用協(xié)議轉(zhuǎn)換的多計(jì)算機(jī)系統(tǒng)的示意框圖;圖8所示為根據(jù)本發(fā)明的兩種類型的單板機(jī)的主要部件的示意框圖;圖9所示為根據(jù)本發(fā)明的在單板機(jī)之間的高層級(jí)PCI對(duì)PCI(PCI-to-PCI)橋接示意框圖;圖10所示為根據(jù)本發(fā)明的圍繞在單板機(jī)的CPU周圍的主要部件的示意框圖;圖11所示為根據(jù)本發(fā)明的一個(gè)比特流轉(zhuǎn)換成為一多維矩陣表示的示意框圖;圖12所示為根據(jù)本發(fā)明的三級(jí)轉(zhuǎn)換流水線的示意框圖;圖13所示為根據(jù)本發(fā)明使用復(fù)合有限狀態(tài)機(jī)的一個(gè)兩級(jí)多維矩陣轉(zhuǎn)換方法的示意框圖;圖14所示為根據(jù)本發(fā)明使用復(fù)合有限狀態(tài)機(jī)的一個(gè)一級(jí)多維矩陣轉(zhuǎn)換方法的示意框圖;
圖15所示為根據(jù)本發(fā)明的源多維矩陣表示、目標(biāo)多維矩陣表示、和連續(xù)的多級(jí)情況數(shù)據(jù)流的示意框圖;圖16所示為根據(jù)本發(fā)明的前綴(prefix)流水線、中綴(infix)流水線以及后綴(suffix)流水線的示意框圖;圖17所示為根據(jù)本發(fā)明的多個(gè)前綴流水線、中綴流水線、后綴流水線以及流水線交叉的示意框圖;圖18所示為根據(jù)本發(fā)明的前綴流水線的連續(xù)多級(jí)情況數(shù)據(jù)流的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖19所示為根據(jù)本發(fā)明的中綴流水線的連續(xù)多級(jí)情況數(shù)據(jù)流的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖20所示為根據(jù)本發(fā)明的后綴流水線的連續(xù)多級(jí)情況數(shù)據(jù)流的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖21所示為根據(jù)本發(fā)明的多維矩陣的一個(gè)優(yōu)選實(shí)施例的示意框圖,該多維矩陣使用了時(shí)隙、維、及多維區(qū)域;圖22所示為根據(jù)本發(fā)明的本發(fā)明多維矩陣的一個(gè)優(yōu)選實(shí)施例的各維上時(shí)隙間關(guān)系的示意框圖;圖23所示為根據(jù)本發(fā)明的本發(fā)明多維矩陣的一個(gè)優(yōu)選實(shí)施例的時(shí)隙注釋(annotation)的示意框圖;圖24所示為根據(jù)本發(fā)明的本發(fā)明多維矩陣的一個(gè)優(yōu)選實(shí)施例的時(shí)隙注釋的一個(gè)示范性例子;圖25所示為根據(jù)本發(fā)明在兩個(gè)多維矩陣上定義的抽象功能性操作的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖26所示為根據(jù)本發(fā)明在兩個(gè)多維矩陣上定義的抽象功能性操作中的一個(gè)導(dǎo)出運(yùn)算的優(yōu)選實(shí)施例的示意框圖;圖27所示為根據(jù)本發(fā)明的本發(fā)明的有限狀態(tài)機(jī)的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖28所示為一個(gè)根據(jù)本發(fā)明的本發(fā)明有限狀態(tài)機(jī)的優(yōu)選實(shí)施例的一個(gè)示范性例子的示意框圖;圖29所示為根據(jù)本發(fā)明的本發(fā)明有限狀態(tài)機(jī)的一個(gè)優(yōu)選實(shí)施例的示意框圖;圖30所示為根據(jù)本發(fā)明的帶有多個(gè)與對(duì)空格(pairspace)抽象公式相關(guān)聯(lián)節(jié)點(diǎn)的對(duì)空格的示意框圖;圖31為根據(jù)本發(fā)明的p操作的操作組成部分的方框圖,p操作和對(duì)空格抽象公式相關(guān)聯(lián);圖32為根據(jù)本發(fā)明用于與對(duì)空格抽象公式相關(guān)聯(lián)的讀原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖33為根據(jù)本發(fā)明用于與對(duì)空格抽象公式相關(guān)聯(lián)的寫原語(yǔ)操作的有限狀態(tài)機(jī)的框圖;圖34為根據(jù)本發(fā)明用于與對(duì)空格抽象公式相關(guān)聯(lián)的移位原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖35為根據(jù)本發(fā)明用于與對(duì)空格抽象公式相關(guān)聯(lián)的有限狀態(tài)機(jī)通知的原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖36為根據(jù)本發(fā)明用于與對(duì)空格抽象公式相關(guān)聯(lián)white-lambda處理的有限狀態(tài)機(jī)的方框圖;圖37為根據(jù)本發(fā)明的與對(duì)空格抽象公式相關(guān)聯(lián)的測(cè)試和設(shè)置原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖38為根據(jù)本發(fā)明的用于與對(duì)空格抽象公式相關(guān)聯(lián)的取和加原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖39為根據(jù)本發(fā)明的對(duì)空格抽象公式產(chǎn)生時(shí)間-動(dòng)態(tài)屬性的方框圖;圖40為根據(jù)本發(fā)明為對(duì)空格抽象公式指定非不連貫性的操作表示的方框圖;圖41為根據(jù)本發(fā)明的在臨時(shí)狀態(tài)和永久狀態(tài)對(duì)空格提抽象公式之間的時(shí)間-動(dòng)態(tài)對(duì)比;圖42為根據(jù)本發(fā)明的TDGC抽象公式的主要組成部分的方框圖;圖43為根據(jù)本發(fā)明的在GIRC對(duì)和(名稱,值)對(duì)之間的對(duì)應(yīng)性的圖解方框圖;圖44為根據(jù)本發(fā)明用于鎖定與對(duì)空格抽象公式相關(guān)的原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖45為根據(jù)本發(fā)明用于有限狀態(tài)機(jī)復(fù)合解鎖與對(duì)空格抽象公式抽象公式相關(guān)的原語(yǔ)操作的有限狀態(tài)機(jī)的方框圖;圖46為根據(jù)本發(fā)明的為對(duì)空格抽象公式的分布式廢料收集算法的一個(gè)優(yōu)選實(shí)施例的方框圖;圖47為根據(jù)本發(fā)明的為對(duì)空格抽象公式的分布式廢料收集算法的一個(gè)優(yōu)選實(shí)施例的一個(gè)節(jié)點(diǎn)可達(dá)圖解例子的方框圖;圖48為根據(jù)本發(fā)明的對(duì)空格抽象公式的在AFO和(名稱,值)對(duì)之間的對(duì)應(yīng)性的一個(gè)圖形表示;圖49為根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例在ADPM中為對(duì)空格抽象公式實(shí)現(xiàn)目標(biāo)調(diào)用的有限狀態(tài)機(jī)的方框圖;圖50為根據(jù)本發(fā)明的有限狀態(tài)機(jī)圖示現(xiàn)有技術(shù)實(shí)現(xiàn)代理目標(biāo)調(diào)用的方框圖;圖51為根據(jù)本發(fā)明的用于自適應(yīng)地為對(duì)空格抽象公式的強(qiáng)型的目標(biāo)調(diào)用授權(quán)的一個(gè)優(yōu)選實(shí)施例的有限狀態(tài)機(jī)的方框圖;圖52為根據(jù)本發(fā)明的用于為對(duì)空格抽象公式的在TGAD與橋之間的邏輯對(duì)應(yīng)的示意方框圖;圖53為根據(jù)本發(fā)明的用于為對(duì)空格抽象公式通過(guò)橋和利用多種應(yīng)用協(xié)議的分布式系統(tǒng)實(shí)現(xiàn)TGAD的一個(gè)優(yōu)選實(shí)施例的有限狀態(tài)機(jī)的方框圖;圖54a為根據(jù)本發(fā)明的自動(dòng)化系統(tǒng)綜合方法的子集的方框圖;圖54b為根據(jù)本發(fā)明的自動(dòng)化系統(tǒng)綜合方法的子集的方框圖;圖55為根據(jù)本發(fā)明的自動(dòng)化系統(tǒng)綜合方法的多個(gè)順序的重復(fù)之間的相應(yīng)性的示意方框圖;圖56為根據(jù)本發(fā)明帶有不重疊的delta設(shè)置的自動(dòng)化系統(tǒng)綜合方法的實(shí)施方案的多例示的流程圖;圖57為根據(jù)本發(fā)明帶有重疊的delta設(shè)置的自動(dòng)化系統(tǒng)綜合方法的實(shí)施方案的多例示的流程圖;圖58為根據(jù)本發(fā)明為自動(dòng)化系統(tǒng)綜合方法的實(shí)施方案的多例子的無(wú)變化的連續(xù)時(shí)間減少的示意流程圖;圖59為根據(jù)本發(fā)明為自動(dòng)化系統(tǒng)綜合方法的實(shí)施方案的單個(gè)的重復(fù)的初級(jí)組成部分的方框圖;圖60為根據(jù)本發(fā)明為自動(dòng)化系統(tǒng)綜合方法的實(shí)施方案的裝置的時(shí)間動(dòng)態(tài)組成部分的演變以及合成部分的流程框圖。
具體實(shí)施例方式
本發(fā)明實(shí)施為一種自適應(yīng)多協(xié)議通信系統(tǒng)。根據(jù)本發(fā)明的系統(tǒng)提供了一種硬件集成系統(tǒng),其可在多應(yīng)用協(xié)議之間通信并能將所要求的轉(zhuǎn)換次數(shù)減少至n。另外,本發(fā)明提供了一種模塊化系統(tǒng),所述系統(tǒng)使用戶易于擴(kuò)展該系統(tǒng)以適應(yīng)附加的應(yīng)用協(xié)議。
正如多協(xié)議網(wǎng)絡(luò)路由器能適配任何與物理和網(wǎng)絡(luò)協(xié)議通信的硬件部件,本發(fā)明提供一個(gè)集成系統(tǒng)包括能和任何應(yīng)用協(xié)議通信的硬件部件。根據(jù)本發(fā)明的應(yīng)用協(xié)議包括所有在應(yīng)用層上考慮時(shí)明顯相互關(guān)聯(lián)而為術(shù)語(yǔ)(term)協(xié)議的通常解釋所隱含的內(nèi)容,諸如數(shù)據(jù)協(xié)議、數(shù)據(jù)格式、數(shù)據(jù)模式、請(qǐng)求-應(yīng)答語(yǔ)義、應(yīng)用程序間同步語(yǔ)義、和應(yīng)用程序間事務(wù)處理語(yǔ)義。
參照?qǐng)D2,本發(fā)明包括多個(gè)接口。每個(gè)接口由單個(gè)的計(jì)算機(jī)接口卡組成并接收一個(gè)或多個(gè)網(wǎng)絡(luò)流201。該網(wǎng)絡(luò)流被饋送進(jìn)有限狀態(tài)機(jī)202。有限狀態(tài)機(jī)202對(duì)網(wǎng)絡(luò)流201工作以生成一個(gè)中間虛擬表示204。有限狀態(tài)機(jī)202的運(yùn)行在后面詳細(xì)闡述。中間虛擬表示204可以特別對(duì)應(yīng)于某個(gè)諸如EDI、XML的應(yīng)用協(xié)議或者本發(fā)明的中間虛擬轉(zhuǎn)換。
后備緩沖器203可以被有限狀態(tài)機(jī)202用來(lái)正確地生成中間虛擬表示204。對(duì)于一些數(shù)據(jù)交換操作,有限狀態(tài)機(jī)202必須能夠向回查看以前數(shù)據(jù)流數(shù)值以將正確值代入中間表示204中。后備緩沖器203包含以前數(shù)據(jù)流數(shù)值,或者根據(jù)一個(gè)或多個(gè)以前數(shù)據(jù)流數(shù)值導(dǎo)出合成值,該合成值被存放在后備緩沖器203中,隨后可以被有限狀態(tài)機(jī)202讀取。假如多個(gè)有限狀態(tài)機(jī)202全部集合在同一接口上,則它們可以共用后備緩沖器203或者中間表示204。
有限狀態(tài)機(jī)202特別地為某個(gè)應(yīng)用協(xié)議而產(chǎn)生,以便于生成一個(gè)合適的中間虛擬表示204。中間虛擬表示204隨后被另一個(gè)接口或者另一個(gè)有限狀態(tài)機(jī)202使用,如以下所說(shuō)明的。另外,本發(fā)明可以在一個(gè)中間虛擬表示204被另一個(gè)接口或者另一個(gè)有限狀態(tài)機(jī)使用之前,在該中間虛擬表示上進(jìn)行多個(gè)定義好的操作。
參照?qǐng)D3,一個(gè)二進(jìn)制數(shù)字序列脫離位于一個(gè)接口上的網(wǎng)絡(luò)接口卡(NIC)301。該二進(jìn)制數(shù)字被有限狀態(tài)機(jī)302映射到多維模式的矩陣303。在此例中,源協(xié)議是EDI而目的協(xié)議是XML。本領(lǐng)域技術(shù)人員會(huì)立刻認(rèn)識(shí)到本例中的EDI和XML協(xié)議相當(dāng)于任何兩個(gè)應(yīng)用協(xié)議。
多維模式矩陣表示應(yīng)用協(xié)議和數(shù)據(jù)二者的結(jié)構(gòu)屬性,其中應(yīng)用協(xié)議通常涉及模式,而數(shù)據(jù)通常涉及到數(shù)值,其結(jié)構(gòu)依附于該應(yīng)用協(xié)議。模式矩陣的一個(gè)優(yōu)選實(shí)施例描述于下。
EDI矩陣303被傳送到有限狀態(tài)機(jī)304。有限狀態(tài)機(jī)304將EDI矩陣303轉(zhuǎn)換成本發(fā)明的中間轉(zhuǎn)換虛擬表示矩陣305。中間虛擬表示矩陣305通過(guò)例如使用存儲(chǔ)器映射方式的互連而被轉(zhuǎn)送到目的地一側(cè)的接口卡。
虛擬中間表示允許任何計(jì)算機(jī)接口卡轉(zhuǎn)送數(shù)據(jù)到任何其它計(jì)算機(jī)接口卡,而該接口卡無(wú)需知道目的協(xié)議。計(jì)算機(jī)接口卡可連接到另一個(gè)接口卡以進(jìn)行通信,并且自由地交換虛擬表示矩陣以傳送數(shù)據(jù)。
目的地一側(cè)的有限狀態(tài)機(jī)307讀出其虛擬表示矩陣306的拷貝。如下文所述,互連可以為有限狀態(tài)機(jī)307提供一種在沒(méi)有復(fù)制的情況下直接使用中間虛擬表示矩陣305的手段,比如使用一種零復(fù)制(zero-copy)通信模式。有限狀態(tài)機(jī)307將矩陣306轉(zhuǎn)換成XML多維矩陣308。XML多維矩陣308傳遞到有限狀態(tài)機(jī)309。有限狀態(tài)機(jī)309將XML矩陣308轉(zhuǎn)換成一個(gè)XML字節(jié)流并使該XML字節(jié)流流入NIC310。
參照?qǐng)D4,本發(fā)明的一個(gè)優(yōu)選實(shí)施例使用復(fù)合的有限狀態(tài)機(jī)。復(fù)合的有限狀態(tài)機(jī)直接在通信協(xié)議和本發(fā)明的虛擬表示之間直接轉(zhuǎn)換。NIC401比如對(duì)有限狀態(tài)機(jī)402發(fā)出一個(gè)EDI流。有限狀態(tài)機(jī)402將初始的EDI映射到單個(gè)的中間虛擬表示矩陣403。
目的地側(cè)的有限狀態(tài)機(jī)405讀取其虛擬表示矩陣404的拷貝。之后有限狀態(tài)機(jī)405將虛擬表示矩陣404轉(zhuǎn)換成一個(gè)XML流,并使其流入NIC 406。
用一種或多種特定的中間至中間轉(zhuǎn)換方法將中間虛擬表示矩陣403轉(zhuǎn)換成中間虛擬表示矩陣404,這不被認(rèn)為是本發(fā)明的屬性(attribute)。
參照?qǐng)D5,本發(fā)明將有限狀態(tài)機(jī)501和后備緩沖器502組合以生成模式矩陣505。如上所述,該有限狀態(tài)機(jī)為一個(gè)特定的通信協(xié)議而生成。當(dāng)一個(gè)用戶要求修改或定制有限狀態(tài)機(jī)的交換或轉(zhuǎn)換方法時(shí),本發(fā)明為該用戶提供一個(gè)配置表503以及一個(gè)異常表504以調(diào)整有限狀態(tài)機(jī)的動(dòng)作狀態(tài)。
可以基于用戶直接或間接規(guī)定的要求、或者基于有限狀態(tài)機(jī)501處理的運(yùn)行屬性,任意地修改或定制每個(gè)有限狀態(tài)機(jī)501。配置表503允許一個(gè)用戶定義有限狀態(tài)機(jī)501如何在輸入字節(jié)流506上工作。本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到用戶如何提供這類指令來(lái)進(jìn)行修改或者定制卻并非本發(fā)明的屬性。
異常表504是在矩陣505的多維區(qū)域上的一組約束,以及一組相應(yīng)于這些約束被違反時(shí)所采取動(dòng)作的選項(xiàng)。作為異常表504的一個(gè)示范性例子,約束可被有限狀態(tài)機(jī)501用作規(guī)則,以強(qiáng)制輸入字節(jié)流使用一種適合于模式矩陣505正確的語(yǔ)法。
在前面為本發(fā)明定義了屬性?,F(xiàn)在來(lái)描述本發(fā)明的優(yōu)選實(shí)施例。
參照?qǐng)D6,本發(fā)明的一個(gè)優(yōu)選實(shí)施例可以以許多不同方式包含在一種自適應(yīng)多協(xié)議通信系統(tǒng)中。作為一個(gè)例子,系統(tǒng)601提供了一個(gè)多處理器系統(tǒng),其適用于使用不同應(yīng)用協(xié)議606、607的計(jì)算機(jī)系統(tǒng)。本發(fā)明連接一個(gè)或多個(gè)源計(jì)算機(jī)系統(tǒng)602,同時(shí)連接一個(gè)或多個(gè)目的計(jì)算機(jī)系統(tǒng)603。每個(gè)源計(jì)算機(jī)系統(tǒng)602使用一個(gè)或多個(gè)應(yīng)用協(xié)議606,而每個(gè)目的計(jì)算機(jī)系統(tǒng)603使用一個(gè)或多個(gè)應(yīng)用協(xié)議607。依據(jù)慣例為了減少不必要的細(xì)節(jié),許多元件和隱含在其中的電連接以及后續(xù)的方框圖都沒(méi)有示出。
每個(gè)源和目的計(jì)算機(jī)系統(tǒng)602、603通過(guò)接口604連接到系統(tǒng)601。每個(gè)接口604由許多分立部分組成,如下所述。多個(gè)接口604能夠通過(guò)內(nèi)部互連605而直接內(nèi)部通信,接口604通過(guò)互連605而直接內(nèi)部通信的方式,以及各接口604與源及目的計(jì)算機(jī)系統(tǒng)602、603通信的方式,不是所述系統(tǒng)的限定屬性。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,所述的互連605用來(lái)在每個(gè)接口604中實(shí)現(xiàn)電連接,因此,互連605可以由任何分立或合成的一系列便于所述電連接的元件組成。
雖然如圖2所示的源和目的計(jì)算機(jī)系統(tǒng)602、603為不同實(shí)體,本發(fā)明的一個(gè)優(yōu)選實(shí)施例可以等效地支持一個(gè)單個(gè)的計(jì)算機(jī)系統(tǒng)既作為源計(jì)算機(jī)系統(tǒng)602又作為目的計(jì)算機(jī)系統(tǒng)603。連接到系統(tǒng)601的一個(gè)或多個(gè)源計(jì)算機(jī)系統(tǒng)602或目的計(jì)算機(jī)系統(tǒng)603可以同時(shí)用兩個(gè)或更多應(yīng)用協(xié)議連接。一個(gè)或多個(gè)源計(jì)算機(jī)系統(tǒng)602或一個(gè)或多個(gè)目的計(jì)算機(jī)系統(tǒng)603能使用同樣的應(yīng)用協(xié)議同時(shí)執(zhí)行兩個(gè)或更多的交換。每個(gè)應(yīng)用協(xié)議606、607連接一個(gè)源或目的計(jì)算機(jī)系統(tǒng)602、603,并且接口604既可以為單向也可以為雙向,及單播(unicast)或多播(multicast)。
應(yīng)用協(xié)議606、607,接口604以及源和目的系統(tǒng)602、603的精確數(shù)目和物理塊的規(guī)范,應(yīng)該被認(rèn)為是本發(fā)明的一個(gè)優(yōu)選實(shí)施例的屬性,而不是本發(fā)明的限定屬性。
參照?qǐng)D7,該圖為聚焦于本發(fā)明的圖6的一個(gè)放大視圖,其聚焦于在每個(gè)接口704上實(shí)現(xiàn)一個(gè)或多個(gè)有限狀態(tài)機(jī)703。本發(fā)明中的每個(gè)接口有效地生成一個(gè)用有限狀態(tài)機(jī)703交換的數(shù)據(jù)的中間虛擬表示,有限狀態(tài)機(jī)703經(jīng)過(guò)互連而使用一個(gè)公共的中間虛擬達(dá)表示304在接口之間通信。一個(gè)中間虛擬表示被用于在使用不同應(yīng)用協(xié)議301、302的計(jì)算機(jī)系統(tǒng)之間交換數(shù)據(jù)。
圖6和圖7圖解說(shuō)明為什么本發(fā)明實(shí)現(xiàn)的數(shù)據(jù)交換只要求n次轉(zhuǎn)換處理。特別地,用于交換的處理n的次數(shù)上限是由兩個(gè)原因決定的。首先,任何應(yīng)用協(xié)議606、607均可通過(guò)一個(gè)合適的有限狀態(tài)機(jī)703轉(zhuǎn)換為一個(gè)中間虛擬表示704。第二,對(duì)于一個(gè)給定的應(yīng)用協(xié)議,有限狀態(tài)機(jī)703和相應(yīng)的中間虛擬表示704既相當(dāng)于本發(fā)明的輸入(應(yīng)用協(xié)議701、702到中間虛擬表示704)也相當(dāng)于本發(fā)明的輸出(中間虛擬表示704到應(yīng)用協(xié)議701、702)。
本發(fā)明被非正式地稱為通用綜合平臺(tái)(universal integrationplatform,UIP),這是由于本發(fā)明確定了一種可擴(kuò)展的硬件結(jié)構(gòu),其為在所有的應(yīng)用層協(xié)議606、607之間的交換提供了支持,其中應(yīng)用協(xié)議606、607通過(guò)本發(fā)明是可經(jīng)由一個(gè)共享網(wǎng)絡(luò)訪問(wèn)的。本發(fā)明在任何數(shù)目的任意的計(jì)算機(jī)系統(tǒng)(諸如源和目標(biāo)計(jì)算機(jī)系統(tǒng)602、603)中實(shí)現(xiàn)數(shù)據(jù)交換處理,其中每個(gè)計(jì)算機(jī)系統(tǒng)通過(guò)本發(fā)明經(jīng)網(wǎng)絡(luò)連接而網(wǎng)際互連。進(jìn)一步地說(shuō),假設(shè)其通過(guò)一個(gè)通用的共享網(wǎng)絡(luò)而網(wǎng)際互連,本發(fā)明就為任意的計(jì)算機(jī)系統(tǒng)支持這些能力,而無(wú)論其位于專用內(nèi)部互連網(wǎng)還是位于公共因特網(wǎng)上。本發(fā)明的裝置能經(jīng)任一網(wǎng)絡(luò)連接到任何計(jì)算機(jī)系統(tǒng),所述網(wǎng)絡(luò)提供的連接在邏輯上等同于例如直接在交換/路由網(wǎng)絡(luò)或者因特網(wǎng)上提供的連接。應(yīng)用協(xié)議606、607、701和702施行于本發(fā)明裝置和任意計(jì)算機(jī)系統(tǒng)之間的網(wǎng)絡(luò)連接上。
在上述情況下,本發(fā)明為一種可編程計(jì)算機(jī)系統(tǒng)提供了硬件實(shí)現(xiàn),并通過(guò)已建立的應(yīng)用協(xié)議的遠(yuǎn)端調(diào)用功能,在本發(fā)明的內(nèi)部或者在及任意的計(jì)算機(jī)系統(tǒng)的外部,簡(jiǎn)化了任意計(jì)算操作的執(zhí)行。因此,本發(fā)明還不同于計(jì)算機(jī)硬件實(shí)現(xiàn)的物理和網(wǎng)絡(luò)層協(xié)議,這是由于本發(fā)明能被動(dòng)態(tài)地配置,從而在交換數(shù)據(jù)上實(shí)現(xiàn)任意的邏輯轉(zhuǎn)換。本領(lǐng)域技術(shù)人員會(huì)因此認(rèn)識(shí)到本發(fā)明能支持任何轉(zhuǎn)換,該轉(zhuǎn)換可以用一種通用程序語(yǔ)言來(lái)指定。這些概括化的邏輯轉(zhuǎn)換的實(shí)施例在后面提供。這種通用性及可擴(kuò)展性與網(wǎng)絡(luò)路由器及交換機(jī)形成對(duì)比,路由器及交換機(jī)的主要功能一般是不能編程的。
使用上面討論的OSI網(wǎng)絡(luò)模型作為一個(gè)基準(zhǔn),本發(fā)明關(guān)系到實(shí)現(xiàn)集成處理的能力,所述處理在會(huì)話層(第5層)和以上影響數(shù)據(jù)和計(jì)算邏輯,并支持多個(gè)應(yīng)用層協(xié)議。進(jìn)一步,本發(fā)明只對(duì)自身以及外部計(jì)算系統(tǒng)的OSI層1-4之間的相互關(guān)系作了單獨(dú)一個(gè)假設(shè)在本發(fā)明和多個(gè)計(jì)算系統(tǒng)之間必須建立物理網(wǎng)絡(luò)連接(PNC)。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到PNC的屬性,例如諸如它是面向連接的還是無(wú)連接的,不是本發(fā)明的限定屬性。
由于上述原因,對(duì)于多個(gè)外部計(jì)算系統(tǒng)來(lái)說(shuō),諸如PNC以及其中固有的OSI 1-4層的協(xié)議棧的操作是如何建立和保持的語(yǔ)義和執(zhí)行的細(xì)節(jié),不認(rèn)為與本發(fā)明相關(guān)。同樣,這樣的裝置經(jīng)物理網(wǎng)絡(luò)電纜而物理連接到該外部計(jì)算機(jī)系統(tǒng)。假設(shè)這樣的連接存在,精確地講,該連接如何實(shí)現(xiàn)與本發(fā)明無(wú)關(guān)。
根據(jù)本發(fā)明裝置的透視圖,每個(gè)PNC通過(guò)雙向網(wǎng)絡(luò)通信抽象(abstraction)而被可編程地建模為一個(gè)抽象網(wǎng)絡(luò)連接端點(diǎn)。這種網(wǎng)絡(luò)通信抽象的一個(gè)優(yōu)選實(shí)施例是網(wǎng)絡(luò)插座。插座是一種流行的在網(wǎng)絡(luò)程序設(shè)計(jì)中運(yùn)用的抽象概念,用于仿真一種在兩個(gè)計(jì)算機(jī)系統(tǒng)之間的雙向I/O能力。使用這種由插座抽象來(lái)表達(dá)的網(wǎng)絡(luò)通信抽象概念就保證了本發(fā)明獨(dú)立于、或者等效地說(shuō)不依賴于PNC協(xié)議類型或者執(zhí)行機(jī)制的特定屬性。因此,本發(fā)明不依賴于物理和網(wǎng)絡(luò)協(xié)議的處理,因其由諸如路由器和交換機(jī)之類的系統(tǒng)來(lái)執(zhí)行。
本發(fā)明的一個(gè)優(yōu)選實(shí)施例通過(guò)一種緊湊的不對(duì)稱的多計(jì)算、多處理裝置而在多個(gè)應(yīng)用協(xié)議間實(shí)現(xiàn)數(shù)據(jù)交換。上述裝置定義為緊湊的是因?yàn)樗性锢淼乇话趩为?dú)一個(gè)外殼中。而其被定義為多計(jì)算的,是因上述外殼支持多個(gè)物理上獨(dú)立的單板機(jī)(SBC)的插入。它進(jìn)一步被定義為多處理的,是因每個(gè)SBC能包括多個(gè)中央處理單元(CPU)。每個(gè)CPU不必是通用CPU,因此之故其可以為一個(gè)專用處理器如ASIC、FPGA或者網(wǎng)絡(luò)處理器。圖6中的每個(gè)接口604包含在一個(gè)SBC上。本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到在接口和SBC之間的通信不是本發(fā)明的限定屬性。
每個(gè)SBC通過(guò)專用和高速的互連而互相連接。這種專用的互連起到圖2中的互連205的作用。本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到該專用互連可由便于SBC電連接的任何物理元件(通常指底板或總線)來(lái)實(shí)現(xiàn)。代表性的例子包括共享總線、交換式總線、綜合交換機(jī)、交換式結(jié)構(gòu)(switched fabric)或一個(gè)或多個(gè)特定的橋接芯片(bridge chip)。
上述裝置的一個(gè)關(guān)鍵的限定屬性為SBC可獨(dú)立編程。這相當(dāng)于每CPU的每個(gè)SBC執(zhí)行一個(gè)獨(dú)立的計(jì)算機(jī)指令流,并且利用獨(dú)立的隨機(jī)存取存儲(chǔ)器(RAM)。本發(fā)明適應(yīng)性和擴(kuò)展性部分地得自于SBC的獨(dú)立性,這使本發(fā)明的功能要由分立的在本發(fā)明中插入的各個(gè)SBC確定。比如,SBC m的CPU n不能通過(guò)直接地處理器尋址訪問(wèn)SBC m之外的其它SBC的RAM,可用不同的外殼包含這些SBC并提供互連,每個(gè)外殼可以包含不同數(shù)目的這類計(jì)算單元。
本發(fā)明的許多屬性如適用性能以及并行多處理性能有賴于設(shè)計(jì)方面的因素,即由單個(gè)的專用SBC處理的每個(gè)應(yīng)用層協(xié)議(ALP)的數(shù)據(jù)交換操作。由于SBC和應(yīng)用協(xié)議之間的耦合,在本文等效地將SBC作為ALP邏輯適配器(ALA)。
等效地說(shuō),本發(fā)明的優(yōu)點(diǎn)取決于不對(duì)稱結(jié)構(gòu),而且使用缺乏這種不對(duì)稱的系統(tǒng)是不能實(shí)現(xiàn)本發(fā)明的優(yōu)點(diǎn)的。因此本裝置明顯區(qū)別于一般的對(duì)稱多計(jì)算和多處理機(jī)(通常指的諸如為SMP、NUMA或同等機(jī)器),其中每個(gè)CPU為通用處理器。在這樣一種對(duì)比設(shè)計(jì)中,從操作系統(tǒng)以及在操作系統(tǒng)上工作的應(yīng)用層軟件的角度上看,每個(gè)CPU主要為可互換的(雖然在有些情況下是可區(qū)分的)。因此,對(duì)于實(shí)現(xiàn)任何數(shù)據(jù)交換功能,或者說(shuō)機(jī)器用戶通過(guò)處理調(diào)度或者其它應(yīng)用層軟件編程以任何數(shù)據(jù)交換功能來(lái)規(guī)定對(duì)特定CPU和SBC的編程任務(wù)分配而言,每個(gè)CPU有一個(gè)確定的正的概率。
不僅是一種特定的硬件結(jié)構(gòu),本發(fā)明密切依賴于功能是如何分解成各部分并由此以裝置中的SBC實(shí)現(xiàn)的。裝置中的每個(gè)SBC實(shí)現(xiàn)單獨(dú)一組特定的已定義的能力。UIP包括兩種通常被稱為適配器的不同類型的這類SBC(1)可編程的解釋適配器和(2)ALP邏輯適配器。在這種可擴(kuò)展的多協(xié)議集成系統(tǒng)中的PIA和ALA SBC的設(shè)計(jì)和意圖為靈活的功能特定元件組成的單元。
參照?qǐng)D8、9、10和11,它們是本發(fā)明的部件級(jí)的示范性示意圖,其中展示了多個(gè)適配器(SBC)803、816、817、818、819。SBC 803、816、817、818、819經(jīng)一個(gè)緊致型共享外圍元件接口(CompactPCI)總線底板800而在內(nèi)部互連。如上所述,本優(yōu)選實(shí)施例的緊致型PCI總線底板可以等效地用于提供等效電學(xué)能力的硬件部件替換,該硬件部件例如為共享總線,交換式總線,綜合交換機(jī),交換式結(jié)構(gòu),或者一個(gè)或多個(gè)特定的橋接芯片。
用戶811通過(guò)一個(gè)任意的網(wǎng)絡(luò)電纜(810)將各單獨(dú)的適配器(809)從外部連接到支持連接性的網(wǎng)絡(luò)結(jié)構(gòu)813,或者從外部連接到單個(gè)的LRCS 812、826、827、828;每個(gè)適配器通過(guò)一個(gè)獨(dú)立和分立的網(wǎng)絡(luò)結(jié)構(gòu)833、829、830、831從外部連接到一個(gè)LCRS,從而提供在該適配器和該LRCS之間的并行連接。術(shù)語(yǔ)網(wǎng)絡(luò)結(jié)構(gòu)(network fabric)定義為表示通過(guò)帶有任選的中間橋接系統(tǒng)如交換機(jī)或路由器的網(wǎng)絡(luò)電纜提供連接性的裝置。
適配器803是可編程的解釋適配器(PIA SBC),其以803加以區(qū)分,連接到用戶811。SBC 818、817、818、819為ALP邏輯適配器,其每個(gè)分別連接到其LRCS 812、826、827和828。注意為清楚起見(jiàn),關(guān)于適配器817、818、819的細(xì)節(jié)被省略,因?yàn)樗鼈兊陌迳显旧吓c適配器816相似。
在一個(gè)優(yōu)選實(shí)施例中,每個(gè)SBC通過(guò)一個(gè)PCI接口801、802插入底板800,該接口提供了每個(gè)適配器與底板800之間的電學(xué)連接性。等效地,提供各SBC間電學(xué)連接性的機(jī)制有賴于互連的屬性。例如有些互連類型可能不依賴插入而是使用網(wǎng)絡(luò)電纜以進(jìn)行電連接;PCI接口801為空的PCI接口,當(dāng)前沒(méi)有SBC插入其中;PCI接口802為非空的PCI接口,而導(dǎo)致適配器803插入到底板800中。在PCI接口801中沒(méi)有SBC而使得將來(lái)有機(jī)會(huì)插入附加的SBC,這是本發(fā)明的可擴(kuò)展性的基礎(chǔ)。在將來(lái)任一時(shí)刻,可將一附加的SBC(未示出,但其匹配PCI接口總線的電學(xué)要求)插入PCI接口801以提供額外的容量和性能。
PCI總線能支持廣泛數(shù)量的適配器,數(shù)量范圍可以從一到數(shù)十個(gè)或更多個(gè)。進(jìn)一步地說(shuō),存在范圍寬廣的與PCI總線結(jié)構(gòu)如Intel Pentium和Sun Sparc SBC兼容的計(jì)算設(shè)備,其可實(shí)現(xiàn)在本文中作為適配器必須達(dá)到的功能。因此,所述適配器的精確數(shù)目和物理塊特性被認(rèn)為是本發(fā)明的一個(gè)實(shí)施例的屬性,而不是本發(fā)明的一個(gè)限定屬性。無(wú)論如何,適配器的類型與PCI總線兼容的程度示例性地說(shuō)明了本發(fā)明所提供的自適應(yīng)性和可擴(kuò)展性的固有靈活性。
SBC 803、816、818、818、819可以由CPU 807、RAM 806和永久性存儲(chǔ)器805、及所包含的其它在緊致型PCI結(jié)構(gòu)中使用的板級(jí)元件的任一種通常的混合構(gòu)成。進(jìn)一步,在每個(gè)SBC上的處理器的數(shù)目為一個(gè)單獨(dú)的實(shí)施方案的細(xì)節(jié),這是由于在一個(gè)SBC上可容納任意小數(shù)目的CPU 807(典型為4個(gè)或更少)而無(wú)需對(duì)圖8所示的框圖做任何實(shí)質(zhì)上的修改。對(duì)于該實(shí)施例,每個(gè)SBC為單個(gè)的CPU。RAM 806和永久性存儲(chǔ)器805的尺寸和類型也是實(shí)施方案細(xì)節(jié),因?yàn)槠渚_的尺寸、類型以及定時(shí)與本發(fā)明的實(shí)現(xiàn)無(wú)關(guān)。
本發(fā)明限定的兩種區(qū)別類型的SBC適配器PIA和ALA示于圖8中。SBC 803為PIA適配器,以網(wǎng)絡(luò)連接810區(qū)別接至RSC 811。SBC816、817、818、819為ALA適配器,以網(wǎng)絡(luò)連接器832、820、822、824區(qū)別分別接至LRCS 812、826、827、828。
在PIA803和ALA 816、817、818、819適配器之間存在幾種通用性。具體地說(shuō),PIA和ALA適配器有同樣的結(jié)構(gòu)CPU和面向網(wǎng)絡(luò)I/O的SBC,它們將高性能的CPU 907、915與具有高性能的網(wǎng)絡(luò)I/O(在此例中為以太網(wǎng))907相結(jié)合。CPU 907和915是明顯不同的,用以清楚地例證CPU的類型、速度和別的實(shí)現(xiàn)屬性可以在SBC之間顯著不同而不影響本發(fā)明的功能。在此例中,CPU 907、915在性質(zhì)上是相似的其基于相同的結(jié)構(gòu),只是基于SBC所處理的ALP的復(fù)雜性而有不同的速度。進(jìn)一步,由于同樣的原因,網(wǎng)絡(luò)I/O 907對(duì)每個(gè)SBC可以是不同的;但為簡(jiǎn)化說(shuō)明起見(jiàn),在本實(shí)施例中所有網(wǎng)絡(luò)I/O 907均由以太網(wǎng)元件和10/100BaseT網(wǎng)絡(luò)適配器組成。依據(jù)計(jì)算SBC的需要,每個(gè)適配器還包括RAM 906和永久性存儲(chǔ)器905。出于同樣理由,本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,永久性存儲(chǔ)器可以是常規(guī)的硬盤(基于磁電機(jī)的物理旋轉(zhuǎn)特性)或如閃存的固態(tài)裝置。在任一情況下,永久存儲(chǔ)設(shè)備805均提供對(duì)本發(fā)明所要求的軟件編碼和數(shù)據(jù)的永久存儲(chǔ)。另外,本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,永久存儲(chǔ)器的大小、存取速度和其它工作參數(shù)與本發(fā)明的實(shí)現(xiàn)不直接相關(guān)。
兩種PIA和ALA SBC適配器803、816、817、818、819均如上所述,各自依據(jù)連接性上的約束而由其與多個(gè)LRCS 811、812、826、827、828的網(wǎng)絡(luò)連接加以區(qū)分,這有意識(shí)地調(diào)用了本發(fā)明提供的能力。作為說(shuō)明現(xiàn)考慮單個(gè)SBC的連接,SBC 803通過(guò)一個(gè)網(wǎng)絡(luò)連接810連接到用戶811,用戶811通常經(jīng)插座809物理插入SBC 803。網(wǎng)絡(luò)連接810通過(guò)任意一組交換式或橋接式網(wǎng)絡(luò)連接(合稱為網(wǎng)絡(luò)結(jié)構(gòu)813)連接到用戶811。
本發(fā)明最低限度對(duì)PIA SBC要求n路連接,而對(duì)每個(gè)ALA SBC適配器要求有雙向連接。PIA SBC必需能和每個(gè)ALA適配器雙向通信,而ALA適配器并不最低限度地要求彼此之間互通。但本實(shí)施例概括了對(duì)于所有的適配器(PIA和ALA),支持n路連接的最低限度的要求,或者任一SBC i和任一SBC j通信的能力(其中i≠j)。在一個(gè)優(yōu)選實(shí)施例中,這種概括是從處于每個(gè)SBC上或者集成在互連(本例中的緊致型PCI底板)的PCI對(duì)PCI橋接芯片(PBC)中得出的。
圖10所示為圖8和圖9中與PCI對(duì)PCI橋接芯片(PBC)和底板有關(guān)的子集,該子集為使用一個(gè)緊致型PCI互連的優(yōu)選實(shí)施例所特有。下面為一個(gè)優(yōu)選實(shí)施例的屬性,它們不應(yīng)被認(rèn)為是本發(fā)明的限定屬性。例如,一個(gè)等量的(isometric)交換式結(jié)構(gòu)諸如無(wú)限帶(Infiniband),既不依賴于常規(guī)的PBC又不依賴于“主”與“從”之間的不同,如下所述。PBC 804為一個(gè)不透明的PBC,其位于PIA SBC 803上并通過(guò)1001而電連接到在底板800上的PCI接口802。PBC 914為透明的PBC,每ALA PBC一個(gè),其通過(guò)910電連接到PCI接口802。
在一個(gè)優(yōu)選實(shí)施例中,PIA SBC可電學(xué)上作為總線主設(shè)備(在優(yōu)選實(shí)施例的緊致型PCI的底板中稱為“主”或“系統(tǒng)”SBC),從而控制附加的PCI外部的外圍設(shè)備的計(jì)數(shù)(enumeration),它使用了一種不透明的PCI對(duì)PCI橋。ALA SBC使用透明的PCI對(duì)PCI橋以防止總線干擾,這如同它們?cè)赑CI信令中起到“從”或“外圍設(shè)備”的作用。對(duì)于PCI總線結(jié)構(gòu),PIA和ALA SBC PBC實(shí)現(xiàn)標(biāo)準(zhǔn)的行為。
如上所述,本發(fā)明有賴于一種抽象的網(wǎng)絡(luò)連接性和通信的抽象概念,所述通信在端點(diǎn)之間提供雙向的網(wǎng)絡(luò)通信。這種抽象概念的一個(gè)優(yōu)選實(shí)施例是網(wǎng)絡(luò)插座,其用以為各SBC適配器之間的通信指定了規(guī)定的習(xí)慣用語(yǔ)。一個(gè)可替代的優(yōu)選實(shí)施例可以是分布式共享存儲(chǔ)器,其通過(guò)在一個(gè)邏輯平直(logically-flat)的存儲(chǔ)空格上仿真網(wǎng)絡(luò)連接和通信抽象概念而提供可對(duì)比的抽象概念,其中存儲(chǔ)空格是由在UIP中的一個(gè)或多個(gè)SBC中的物理存儲(chǔ)器組成的。
PBC 904和914限定了在總線定時(shí)、信令和其它面向總線的電操作方面的功能。因此,PBC/底板實(shí)現(xiàn)不適于提供所需的插座抽象概念,這是由于該概念依賴于一個(gè)不包括任何面向總線的功能性操作的雙向通信路徑。
圖11所示為包括在仿真處理中涉及的主要元件。如慣例減少不必要細(xì)節(jié),圖中未示許多元件和框圖中內(nèi)含的電連接。為取得這樣的抽象概念,在每個(gè)SBC上的CPU 807和PBC 804配合,以使用設(shè)備驅(qū)動(dòng)程序軟件仿真網(wǎng)絡(luò)插座。這種設(shè)備驅(qū)動(dòng)程序軟件從永久存儲(chǔ)器805中裝載到RAM 806中,以在運(yùn)行于CPU 807上的操作系統(tǒng)內(nèi)核中使用。與設(shè)備驅(qū)動(dòng)程序相同,所述驅(qū)動(dòng)程序在CPU 807上的OS引導(dǎo)程序期間被裝載到內(nèi)核中。網(wǎng)絡(luò)仿真通過(guò)在CPU 807上的設(shè)備驅(qū)動(dòng)程序?qū)⒉遄?qǐng)求轉(zhuǎn)換為在底板800上經(jīng)過(guò)PCI接口802的PCI總線操作來(lái)實(shí)現(xiàn),反之亦然。
數(shù)據(jù)值通過(guò)PBC 804、CPU 807和存儲(chǔ)器直接存取(DMA)1103之間的協(xié)作被存放到RAM 806中。當(dāng)通過(guò)PCI接口802從底板800讀出數(shù)據(jù)時(shí),PBC 804和CPU 807上的設(shè)備驅(qū)動(dòng)程序協(xié)作將總線信號(hào)轉(zhuǎn)換為插座讀取操作,通過(guò)DMA 1103將讀取操作的結(jié)果移送到RAM806。插座的逆向操作即通過(guò)PCI接口802寫入到底板800也是相似的。
本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,其它幾種用于SBC連接的技術(shù)是通用的。例如,通過(guò)將每個(gè)SBC經(jīng)由一個(gè)外部的以太網(wǎng)適配器而連接到一個(gè)以太網(wǎng)交換機(jī),同樣功能的實(shí)施方案也是可能的。因此,各卡之間存在n路電連接;其中以太網(wǎng)交換機(jī)(未示出)和SBC以太網(wǎng)芯片907提供與PBC 804、814和底板800相同的功能。在此例中,以太網(wǎng)芯片907實(shí)現(xiàn)了一種活的(live)網(wǎng)絡(luò)棧,其在使用PBC時(shí)取代CPU 807、815仿真一種功能相同的網(wǎng)絡(luò)棧。作為另一個(gè)例子,所述互連可以自主地執(zhí)行仿真的網(wǎng)絡(luò)通信操作,其可實(shí)施為直接從源RAM 806中復(fù)制到不同SBC中的一個(gè)或多個(gè)RAM 806,而不涉及與DMA 1103或CPU 807的協(xié)作。
注意,在本發(fā)明中運(yùn)行的嵌入式計(jì)算機(jī)軟件(固件)可編程地實(shí)現(xiàn)了抽象的PPF模型,其如下所述使用可擴(kuò)展的不對(duì)稱多計(jì)算裝置。本發(fā)明有賴于一個(gè)抽象編程系統(tǒng),該系統(tǒng)對(duì)于諸如插座網(wǎng)絡(luò)抽象概念的編程結(jié)構(gòu)的可用性而言符合特定要求;由此,符合這些條件的任何通用編程語(yǔ)言均能實(shí)現(xiàn)在此限定的最低限度的功能。本領(lǐng)域技術(shù)人員還會(huì)立即認(rèn)識(shí)到,下述的抽象PPF模型可以由一個(gè)或一組ASIC、FPGA或者本發(fā)明中功能相似的硅元件等效地實(shí)現(xiàn)。因此,PPF是實(shí)現(xiàn)為固件、硅元件或者它們的組合,這是一個(gè)實(shí)施例的屬性而不是本發(fā)明的限定屬性。
在描述了用于實(shí)現(xiàn)在多協(xié)議集成系統(tǒng)中的裝置的優(yōu)選實(shí)施例的硬件組件之后,關(guān)于其結(jié)構(gòu)和相互依賴性的觀測(cè)值就可以得到識(shí)別。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,在所述裝置中的一個(gè)單獨(dú)SBC可以組合一個(gè)可編程轉(zhuǎn)換適配器和一個(gè)ALP邏輯適配器的功能,而不在實(shí)質(zhì)上影響后面的說(shuō)明。這樣一種組合的適配器能提供兩種類型適配器的功能上的組合。對(duì)于本發(fā)明來(lái)說(shuō),一個(gè)裝置的特例可包括任一數(shù)目的可編程轉(zhuǎn)換適配器和ALP邏輯適配器。因此,本發(fā)明中的適配器的數(shù)量和組合應(yīng)被確認(rèn)為是本發(fā)明的一個(gè)實(shí)施例的屬性,而不是本發(fā)明的限定屬性。在后面規(guī)定多個(gè)這種適配器的細(xì)節(jié)和解釋。
參照?qǐng)D12,其示出了本發(fā)明的一個(gè)適配器級(jí)示范性框圖,其中帶有多個(gè)適配器(SBC)1202、1207。在裝置中的每個(gè)可編程轉(zhuǎn)換適配器(PIA SBC)1202實(shí)現(xiàn)控制UIC中的功能執(zhí)行的功能。每個(gè)PIA SBC能提供管理、操縱、配置或者由裝置的用戶所要求的任何類似功能。用于配置目的的PIA SBC的實(shí)施例在后面描述。
與現(xiàn)有系統(tǒng)相比,每個(gè)PIA SBC 1202不執(zhí)行特定于任一ALP的軟件指令(其中可能要排除的應(yīng)用協(xié)議是用戶1204要求訪問(wèn)PIA SBC1202,如下面所述的RFC 854或RFC 2068)。因此,PIA SBC 1201完成必要的管理或者代理功能,如前面定義的,這是為實(shí)現(xiàn)這樣的通用綜合平臺(tái)所必須實(shí)現(xiàn)的屬性。所述裝置的用戶1204通過(guò)以PIA SBC1202建立一個(gè)PNC 1206而向UIC 1201請(qǐng)求和接收功能。
在所述多協(xié)議集成系統(tǒng)的背景下,每個(gè)PIA SBC 1202為一個(gè)入口點(diǎn),系統(tǒng)的用戶1204能在入口點(diǎn)向系統(tǒng)請(qǐng)求服務(wù)。為實(shí)現(xiàn)這樣的服務(wù)請(qǐng)求,在PIA SBC 1202和各用戶1204之間建立PNC 1206,要求執(zhí)行一個(gè)輸入用戶請(qǐng)求(IUR)。在UIC 1201中的每個(gè)PIA SBC 1202通過(guò)一個(gè)特定于UIC的定義好的ALP 1205為用戶提供一個(gè)入口點(diǎn)。該UIC特定的ALP 1205被稱為PIAP。任一得到同意的ALP均要滿足PIAP;本發(fā)明的優(yōu)選實(shí)施例使用開放的、標(biāo)準(zhǔn)化的因特網(wǎng)超文本傳輸協(xié)議(HTTP)作為PIAP,如RFC 2068中的規(guī)定。
除了作為入口點(diǎn)之外,每個(gè)PIA SBC 1201從請(qǐng)求用戶1204的角度看提供了可編程的系統(tǒng)控制。如上所述,這種系統(tǒng)上的可編程性(不管是對(duì)于管理、操縱、配置或相似功能而言)為一種限定屬性,該屬性使得本發(fā)明不同于執(zhí)行物理和網(wǎng)絡(luò)層協(xié)議的裝置??刂七@些裝置的用戶1204通過(guò)PIA SBC的兩種廣泛應(yīng)用定制UIP的功能性首先,用戶1204可將軟件指令裝入PIA SBC 1201,其語(yǔ)義不是由本發(fā)明決定的,因此可在此情況下使用任何支持插座抽象概念的編程語(yǔ)言;其次,用戶1204可以使用如下面規(guī)定的特定的配置能力,其由PIA SBC 1202提供用以配置裝置1201,而不使用程序編碼或軟件指令。
由于各種操作上的原因(諸如增加帶寬、減少等待時(shí)間、增加冗余度、提供容錯(cuò)、或者擴(kuò)展用戶連接能力),所述裝置在一個(gè)單個(gè)的UIC外殼1201中可被配置以一個(gè)或多個(gè)PIA SBC 1202。UIC 1201中的每個(gè)PIA SBC 1202自動(dòng)地參照所有其它在底板上的PIA SBC操作,如同每個(gè)SBC執(zhí)行一個(gè)獨(dú)立的指令流并利用獨(dú)立的RAM。等效地,每個(gè)PIA SBC 1202提供一種并行的實(shí)現(xiàn)機(jī)制,該機(jī)制能接受并處理來(lái)自用戶1204的輸入請(qǐng)求,而不分享與輸入請(qǐng)求的處理相關(guān)的任何動(dòng)態(tài)信息(被稱為動(dòng)態(tài)服務(wù)狀態(tài)信息或者DSSI),其中所述輸入請(qǐng)求被UIC1201中的所有其它PIA SBC處理。
繼續(xù)參照?qǐng)D12,ALP邏輯適配器(ALA SBC)1207完全實(shí)現(xiàn)一個(gè)應(yīng)用層協(xié)議。雖然最多能支持一個(gè)應(yīng)用協(xié)議,每個(gè)ALA SBC可以支持該應(yīng)用協(xié)議的許多個(gè)不同的版本、次版本、修訂版或其它相似的改進(jìn)版。在每個(gè)ALA SBC 1207和ALP之間實(shí)現(xiàn)的一對(duì)一關(guān)系是本發(fā)明的一個(gè)獨(dú)特屬性。特別地,認(rèn)識(shí)到應(yīng)由一個(gè)專用SBC來(lái)實(shí)現(xiàn)每個(gè)ALP是本發(fā)明所獨(dú)有的。使用目前常規(guī)方式構(gòu)建的綜合解決方案并未使用這樣的方法。
每個(gè)ALA SBC 1207實(shí)現(xiàn)不僅不對(duì)稱、而且還被邏輯性地限制到一個(gè)固定的邏輯功能集(FLFS)的功能。該FLFS事先基于計(jì)算系統(tǒng)的特定類型的功能要求而規(guī)定,其中計(jì)算系統(tǒng)將要和ALA SBC 1207連接,且ALP的屬性由ALA SBC實(shí)現(xiàn)。在此與ALA SBC及任何其它實(shí)現(xiàn)應(yīng)用層協(xié)議的計(jì)算機(jī)硬件或軟件系統(tǒng)之間形成對(duì)比每個(gè)ALASBC特定地且單獨(dú)地專用于實(shí)現(xiàn)計(jì)算機(jī)指令,其中計(jì)算機(jī)指令與ALASBC 1207所支持的單個(gè)ALP有關(guān)。等效地,ALA SBC 1207將不執(zhí)行任何無(wú)需支持該單個(gè)ALP的指令;ALA SBC 1207不執(zhí)行任何通用計(jì)算機(jī)指令。
參照?qǐng)D13,其為本發(fā)明的一個(gè)適配器級(jí)的第二個(gè)示范性框圖,其中展示了多個(gè)適配器(SBC)1302、1303、1304。該圖說(shuō)明了由裝置1301中的ALA SBC 1302、1303、1304在3個(gè)LRCS 1306、1307之中所作的代表性的數(shù)據(jù)交換和譯碼操作。兩個(gè)源LRCS 1306使用應(yīng)用協(xié)議1309和1310、通過(guò)對(duì)應(yīng)的PNC 1308而連接到裝置1301中的ALASBC 1302、1303。一個(gè)目的地LRCS 1307使用應(yīng)用協(xié)議1311、通過(guò)PNC 1308而連接到裝置1301中的ALA SBC 1304。如上所述,所有ALA SBC均通過(guò)互連1305連接。在該實(shí)施例中,通過(guò)轉(zhuǎn)換發(fā)自源LRCS1306的數(shù)據(jù)并將該數(shù)據(jù)交換到目的LRCS 1307而產(chǎn)生數(shù)據(jù)交換和轉(zhuǎn)換。該圖假設(shè)為此數(shù)據(jù)交換和轉(zhuǎn)換所必需的配置是在此之前使用PIASBC完成的,與前面所述的一致。如前所述,包含在圖13中的ALA SBC的數(shù)目和類型應(yīng)確認(rèn)為本發(fā)明的一個(gè)實(shí)施例的屬性,而不是本發(fā)明的一個(gè)限定屬性。
進(jìn)一步地說(shuō),邏輯遠(yuǎn)的其中每個(gè)ALA SBC 1207支持并行連接的計(jì)算系統(tǒng)(LRCS)1209的數(shù)目與現(xiàn)有技術(shù)形成對(duì)比。具體地說(shuō),每個(gè)ALA SBC 1207可對(duì)于能并行連接到每個(gè)ALA SBC 1207的LRCS的數(shù)目實(shí)施一種有界限制。對(duì)于LRCS的數(shù)目的有界限制可由用戶指定或者可以是ALA SBC 1207的特權(quán)。因此,本發(fā)明進(jìn)一步與其它此類解決方案形成對(duì)比,所述其它解決方案設(shè)計(jì)為連接到任何數(shù)目的LRCS,其彼此之間完成任何數(shù)目的同時(shí)連接。
進(jìn)一步地說(shuō),所有ALA SBC 1207可能不接受來(lái)自用戶的IUR,它們也不實(shí)現(xiàn)與這類用戶IUR相關(guān)的通常目的邏輯。在上述內(nèi)容中,每個(gè)LRCS 1209可依據(jù)對(duì)邏輯計(jì)算系統(tǒng)的各種操作要求,通過(guò)一個(gè)或多個(gè)物理上獨(dú)立的計(jì)算系統(tǒng)實(shí)現(xiàn)。例如,必須對(duì)運(yùn)行故障、軟件編程錯(cuò)誤有彈性的計(jì)算系統(tǒng)(或出于性能原因)通常集合到一起,形成群集或故障克服對(duì)(fail-over pair)。
本發(fā)明的獨(dú)特之處在于,每個(gè)ALA SBC 1207被用戶訪問(wèn)、而僅通過(guò)UIP 1201中的SBC 1202取得上述功能的能力。等效的是,每個(gè)ALA SBC 1207通過(guò)調(diào)用PIA SBC 1202中的能力而實(shí)現(xiàn)了只被用戶訪問(wèn)的能力,其中該P(yáng)IA SBC 1202中的能力隨后由PIA SBC 1202授權(quán)給為ALP所特定的ALA SBC 1207。這與缺乏這種不對(duì)稱性的其它系統(tǒng)形成對(duì)比,有利于用戶通過(guò)系統(tǒng)中的任一通用CPU訪問(wèn)ALP的能力。
進(jìn)一步被認(rèn)為是本發(fā)明獨(dú)特之處的是,LRCS 1209被要求通過(guò)每ALA SBC 1207的特定PNC 1210提供單獨(dú)一個(gè)類型的功能,其中該P(yáng)NC 1210將UIP 1201互連到LRCS 1209。這個(gè)限制緊跟著每個(gè)ALASBC 1207執(zhí)行與單個(gè)ALP相關(guān)邏輯的要求得出。該功能特定的LRCS1209被稱為FS-LRCS,以強(qiáng)調(diào)約束在于LRCS 1209是唯一受限的,從而通過(guò)一個(gè)固定的功能集提供來(lái)自該特定邏輯功能的能力。例如,LRCS 1209通過(guò)PNC 1210能實(shí)現(xiàn)一個(gè)特定類型的計(jì)算機(jī)數(shù)據(jù)庫(kù)連接,用以存取以任意格式存儲(chǔ)的數(shù)據(jù),該格式例如為結(jié)構(gòu)化查詢語(yǔ)言(SQL)所要求的矩形列表格式。
本發(fā)明還有賴于特定的隱含關(guān)系,即在ALA SBC 1207和ALP之間的這種一對(duì)一的關(guān)系,由于這樣的關(guān)系限定了UIR之間的關(guān)系,PIASBC 1202處理UIR,并且一個(gè)或多個(gè)ALA SBC 1207執(zhí)行在UIR中請(qǐng)求的ALP。如上所述,在ALA SBC和PNC SBC之間的連接是通過(guò)互連1203提供的。由于每個(gè)SBC-to-LRCA PNC 1210是基于一組定義好的特征的交換,每個(gè)SBC使用特定于該組特征的網(wǎng)絡(luò)編碼的ALP。從而連接UIP 1201和FS-LRCS 1209的PNC 1210可被稱為FS-PNC,這是因?yàn)镻NC 1210邏輯上被限制為實(shí)現(xiàn)單個(gè)的適合于由FS-LRCS所提供功能的ALP。因此,每個(gè)SBC不只是包括了固定且定義好的一組功能,還通過(guò)固定且定義好的ALP唯一地和LRCS互連。盡管SBC的功能限于一個(gè)特定的功能組中,該組內(nèi)由ALP規(guī)定的功能可以被循環(huán)組構(gòu)從而組合成任何復(fù)雜的操作。例如,關(guān)于數(shù)據(jù)庫(kù)連接性示例的FS-NIC的ALP可以是一種足以代表SQL語(yǔ)言的功能要求的網(wǎng)絡(luò)編碼。
與多個(gè)PIA SBC 1202在一個(gè)單一的UIP中得到支持相似,由于各種操作的原因,可以在單獨(dú)一個(gè)UIP中存在多個(gè)ALA SBC 1207,它們實(shí)現(xiàn)相同的ALP。盡管只有單獨(dú)一個(gè)ALA SBC 1207被嚴(yán)格要求支持由用戶1204請(qǐng)求的每個(gè)ALP,但可包括多個(gè)ALA SBC 1207以改進(jìn)操作性能(如增加帶寬、減少等待時(shí)間、增加冗余度、提供容錯(cuò)、或擴(kuò)展用戶的連接能力)。和PIA SBC 1202相似,在UIC 1201中的每個(gè)ALASBC 1207相應(yīng)于底板中的所有其它PIA SBC 1202自動(dòng)操作。等效的是,每個(gè)ALA SBC 1207提供一種并行的實(shí)現(xiàn)機(jī)制,可從任意數(shù)目的LRCS 1209同時(shí)接受和處理ALP,而不分享與輸入請(qǐng)求的處理有關(guān)的任何DSSI,其中該輸入請(qǐng)求被UIC中的所有其它ALA SBC處理。
補(bǔ)充部分前面通過(guò)一個(gè)裝置來(lái)說(shuō)明本發(fā)明的一個(gè)優(yōu)選實(shí)施例,該裝置包含一種多協(xié)議集成系統(tǒng),如上面限定的。以下是一種多協(xié)議集成系統(tǒng)的附加的補(bǔ)充部分的描述,所述多協(xié)議集成系統(tǒng)在裝置中的性能是優(yōu)越的。因此,本領(lǐng)域技術(shù)人員立即會(huì)認(rèn)識(shí)到后面的部分既不是本發(fā)明的限定屬性,也不是優(yōu)選實(shí)施例的限定屬性。此補(bǔ)充部分分別為方法或過(guò)程,如下面將要描述的。
下面描述的部分可以等效地根據(jù)本發(fā)明、任一特定的優(yōu)選實(shí)施例、或本發(fā)明的裝置而獨(dú)立地限定。以下在一個(gè)多協(xié)議集成系統(tǒng)情況下描述各部分內(nèi)容,以清楚地展示其優(yōu)點(diǎn)及改進(jìn)之處。
對(duì)補(bǔ)充部分的討論分為兩組配置和運(yùn)行。這種分組方式是經(jīng)過(guò)考慮的,因?yàn)樵摲绞桨朔椒ê陀捎脩?配置)根據(jù)預(yù)配置的集成處理而驅(qū)動(dòng)的進(jìn)程之間的差別,其中集成處理是由多協(xié)議集成系統(tǒng)實(shí)現(xiàn)的。和現(xiàn)有技術(shù)系統(tǒng)形成根本對(duì)比的是,所述補(bǔ)充部分明顯地將這兩個(gè)組分割開。
下面描述的配置的補(bǔ)充部分由通用功能集成處理(GFIP)組成,這是用于配置的獨(dú)立于應(yīng)用協(xié)議的一種抽象公式及其實(shí)施例。如下所述,用戶獨(dú)立于應(yīng)用協(xié)議而對(duì)多協(xié)議集成系統(tǒng)指定配置指令的能力在本質(zhì)上和現(xiàn)有系統(tǒng)不同。GFIP的一個(gè)優(yōu)選實(shí)施例被稱為程序處理流程(PPF),將在下面描述。GFIP的一個(gè)優(yōu)選實(shí)施例依賴于PPF,被稱為說(shuō)明性配置,將在下面描述。提供了說(shuō)明性配置的一個(gè)優(yōu)選實(shí)施例。在上述特征的情況下,描述并典型化了可在一個(gè)實(shí)施例中組成這類系統(tǒng)特定的硬件元件,及其在多處理/多計(jì)算裝置中的相互關(guān)系。
在配置的補(bǔ)充部分的討論之后,下面將描述補(bǔ)充部分的多種操作。具體地說(shuō),用于一個(gè)多協(xié)議集成系統(tǒng)中的邏輯數(shù)據(jù)流的方法被描述為通用邏輯綜合數(shù)據(jù)流(ULID),其中有相應(yīng)的數(shù)據(jù)處理算法。在前述情況下,ULID包含了限定如何在接口間交換時(shí)處理中間虛擬表示的操作。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,ULID能被任何提供一組特定先決條件的系統(tǒng)包含,如下面所述。因此,在一個(gè)裝置中實(shí)施用于一個(gè)多協(xié)議集成系統(tǒng)的ULID被恰當(dāng)?shù)卣J(rèn)為是ULID的一個(gè)優(yōu)選實(shí)施例。
通用功能集成處理將使用現(xiàn)有系統(tǒng)的具有不同應(yīng)用層協(xié)議的計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)交換的上述復(fù)雜性作為基準(zhǔn),使用GFIP對(duì)于多協(xié)議集成系統(tǒng)的配置可與現(xiàn)有系統(tǒng)形成對(duì)比。GFIP便于使用一種獨(dú)立于應(yīng)用協(xié)議的通用處理為一個(gè)多協(xié)議集成系統(tǒng)設(shè)定一種綜合處理。在本發(fā)明的裝置中,GFIP便于在本發(fā)明中對(duì)每個(gè)ALA SBC的配置表的配置。這與缺乏這種配置通用性的現(xiàn)有技術(shù)系統(tǒng)形成本質(zhì)上的對(duì)比,因現(xiàn)有技術(shù)系統(tǒng)的配置依賴于被配置的綜合處理所涉及的一個(gè)或多個(gè)應(yīng)用協(xié)議。
通用功能集成處理(GFIP)為一種對(duì)所有應(yīng)用協(xié)議均通用的處理,其便于用戶為一個(gè)多協(xié)議集成系統(tǒng)配置綜合處理。如下面將要描述的,在一個(gè)優(yōu)選實(shí)施例的情況下,配置通用性起源于在各種各樣SBC適配器之間定義好的計(jì)劃性交互作用,每一個(gè)SBC適配器如GFIP的規(guī)定完成一個(gè)特定的定義好的部分,該定義好的部分在完成各UIR的較大服務(wù)處理之內(nèi)。
GFIP由下列步驟組成(1)通過(guò)一個(gè)PNC從用戶接受IUR;(2)解釋該UIR并識(shí)別被配置的特定綜合處理,以及為實(shí)現(xiàn)這樣的處理所要求的ALP;(3)識(shí)別實(shí)現(xiàn)每個(gè)相應(yīng)ALP的每個(gè)ALA SBC;(4)與每個(gè)ALA雙向通信,以便為每個(gè)ALP的配置處理各自的請(qǐng)求和應(yīng)答處理;(5)集合在前面步驟中得到的所有ALA SBC的結(jié)果;并且(6)將綜合配置的結(jié)果返回到請(qǐng)求原始IUR的用戶。該處理進(jìn)程為功能性語(yǔ)義的抽象公式,是為實(shí)現(xiàn)這樣的一種通用性綜合平臺(tái)所必需的。
GFIP的一個(gè)優(yōu)選實(shí)施例由13步程序處理流程(PPF)組成。其中,在前面描述的本發(fā)明裝置的情況下,PPF定義出在PIA和ALA SBC之間為便于一個(gè)多協(xié)議集成系統(tǒng)的配置所必需的交互作用。GFIP、PPF和PIA SBC之間的關(guān)系如下PPF為GFIP的一個(gè)優(yōu)選實(shí)施例,而每個(gè)PIA SBC實(shí)現(xiàn)PPF的一個(gè)實(shí)施例。
GFIP和PPF組合表達(dá)出便于本發(fā)明對(duì)綜合處理的配置的優(yōu)選實(shí)施例的基本意圖和設(shè)計(jì)。進(jìn)一步,這例證了本發(fā)明通過(guò)使用與特定集成方法組合的特定配置的硬件,為通用集成系統(tǒng)傳送一種獨(dú)立于應(yīng)用協(xié)議的配置。
對(duì)于單個(gè)用戶對(duì)本發(fā)明的綜合配置請(qǐng)求來(lái)說(shuō),13步程序處理流程為一個(gè)請(qǐng)求-應(yīng)答周期。在操作性方面,PPF描述一個(gè)用戶如何和UIP通信以執(zhí)行每個(gè)要求綜合多應(yīng)用層協(xié)議的任務(wù)。在該P(yáng)PF中的每個(gè)步驟的特定實(shí)現(xiàn)語(yǔ)義,與在這個(gè)裝置中實(shí)現(xiàn)相同,可以通過(guò)任一種符合對(duì)該抽象計(jì)算系統(tǒng)的的功能性要求的控制機(jī)制來(lái)具體例證;不要求特定的軟件實(shí)施例,因?yàn)榭梢跃幊淘S多這樣的實(shí)施例以符合上述要求。
PPF處理如下,其用于對(duì)給定的IUR,由一給定PIA SBC所執(zhí)行的給定IUR。如前面的詳細(xì)描述,PPF的本質(zhì)限定特征為它是獨(dú)立于應(yīng)用協(xié)議的,并且因此對(duì)于任意的在本發(fā)明中使用多個(gè)任意應(yīng)用協(xié)議的綜合處理來(lái)說(shuō)是通用的。在此情況下,術(shù)語(yǔ)具體例證被規(guī)定含義為完成一個(gè)特定處理所需步驟的程序方式的實(shí)現(xiàn)。
在此情況下,一個(gè)IUR相應(yīng)于一個(gè)或多個(gè)配置指令,其結(jié)構(gòu)和組織為實(shí)施例的屬性。最后,在本文中,術(shù)語(yǔ)配置更新相應(yīng)于更新多協(xié)議集成系統(tǒng)的一個(gè)或多個(gè)參數(shù)的指令,該參數(shù)諸如為有限狀態(tài)機(jī)、邏輯路徑、連接點(diǎn)、存儲(chǔ)值。
該P(yáng)PF的步驟如下(1)IUR開始用戶通過(guò)在該用戶的邏輯遠(yuǎn)計(jì)算系統(tǒng)LRCS和PIASBC(其收聽(tīng)這樣的PNC建立請(qǐng)求)之間建立PNC而從UIP請(qǐng)求功能,之后使用由取得一致的PIAP所定義的格式和語(yǔ)義提交IUR;具體地說(shuō),用戶寫入一系列字節(jié)或者任一等效的計(jì)算式,其符合由PIAP規(guī)定的約束,通過(guò)PIA SBC-to-LRCS PNC將IUR提供給UIP。
(2)請(qǐng)求接收PIA SBC通過(guò)在步驟(1)中建立的PIA SBC-to-LRCS PNC接收該IUR,并分析字節(jié)序列或任何其它等效計(jì)算式,將IUR(符合PIAP約束)表示為一個(gè)可被UIP使用的表達(dá)式中。IUR的表達(dá)式既取決于PIAP又取決于配置更新的特定實(shí)施例的計(jì)算表達(dá)式。特別是,利用位于PIA SBC上的RAM將IUR從為PIAP所要求的網(wǎng)絡(luò)編碼轉(zhuǎn)換為一個(gè)中間綜合表示(IIR)。IIR與前面定義的中間虛擬表示無(wú)關(guān),也不被它所包含。
(3)請(qǐng)求解釋PIA SBC解釋在步驟(2)中接收的IIR,以實(shí)現(xiàn)封裝在IUR中的一個(gè)或多個(gè)用戶配置請(qǐng)求。在此過(guò)程中,對(duì)IIR的解釋指示必須請(qǐng)求哪些ALA SBC(且因此還有LCRS和ALP)的功能。IIR被解釋為、或者被譯為一組機(jī)器碼指令,該指令由PIA SBC中的一個(gè)或多個(gè)CPU執(zhí)行。如上所述,解釋的精確語(yǔ)義依賴于配置更新的實(shí)施例。由PIA SBC CPU所作的解釋處理與實(shí)施例無(wú)關(guān)的,其通過(guò)計(jì)數(shù)為實(shí)現(xiàn)IUR所需的不同功能集合而唯一地識(shí)別出應(yīng)該請(qǐng)求哪些ALASBC,這可以選擇性地要求為綜合處理估計(jì)一個(gè)或多個(gè)參數(shù),所述綜合處理通過(guò)前面的PPF示例或功能等效方案而在UIP中被配置或部分地配置??赡茉贏LA SBC中互不相容而必須由每個(gè)特定的ALA SBC執(zhí)行的UIR的子集被稱為對(duì)應(yīng)于該ALA SBC的應(yīng)用特定IUR(ASIUR)。
(4)IUR授權(quán)對(duì)于被要求用于實(shí)現(xiàn)相應(yīng)于(3)中的ASIUR的配置更新的每個(gè)ALA SBC,PLA SBC建立與正確ALA SBC的動(dòng)態(tài)服務(wù)狀態(tài)信息連接(C-DSSI)。對(duì)每個(gè)ALA SBC,有與PIA SBC的一對(duì)一關(guān)系處理在步驟(1)中規(guī)定的用戶請(qǐng)求。因此,如果存在必須被執(zhí)行的n個(gè)ASUIR,則要建立與n個(gè)ALA SBC的n個(gè)C-DSSI;PIA SBC使用合適的連接信令機(jī)制由互連物理地請(qǐng)求C-DSSI連接。
(5)ALA連接對(duì)每個(gè)在步驟(4)中建立與PIA SBC的C-DSSI的ALA SBC,所述PIA SBC通過(guò)C-DSSI傳送特定于該ALA的ASUIR;PIA SBC傳送一個(gè)字節(jié)序列或任何等效的計(jì)算表達(dá)式,這將ASIUR編碼為適于在C-DSSI上與對(duì)應(yīng)ALA SBC通信的形式。
(6)ALA解釋對(duì)于每個(gè)在步驟(5)中從PIA SBC接收ASUIR的ALA SBC,ALA解釋該ASIUR并將ASIUR請(qǐng)求轉(zhuǎn)換為配置更新指令的序列,其可能特定于該ALA SBC,該指令可以由ALA SBC執(zhí)行以完成ASIUR。與IUR解釋相同,ASIUR的ALA SBC解釋可能依賴于特定的實(shí)施例,即配置更新是如何由IUR和PIAP以計(jì)算的形式表示的實(shí)施例。這種ALA特定的指令序列被稱為應(yīng)用特定綜合表示(ASIR)。特別地,ALA SBC通過(guò)C-DSSI接收ASUIR,分析字節(jié)序列或者任何等效的計(jì)算形式,使其成為存儲(chǔ)在RAM中的一個(gè)內(nèi)部功能表示。該內(nèi)部表示經(jīng)過(guò)適當(dāng)構(gòu)造以在ALA上執(zhí)行,按需求實(shí)現(xiàn)IUR所請(qǐng)求的配置更新,其常常定義為適用于ALP的一個(gè)指令序列,ALA使用該指令序列與LRCS通信以完成ASIUR。
(7)ALA-LRCS通信IUR可能要求ALA SBC將配置參數(shù)的改變傳播到一個(gè)或多個(gè)LRCS,其中該LRCS相應(yīng)于由IUR規(guī)定的該特定ALA SBC。此時(shí),對(duì)于每個(gè)在步驟(6)中定義了ASIR以執(zhí)行ASIUR的ALA SBC,該ALA SBC建立與相應(yīng)LRCS的PNC并且通過(guò)ALP雙向傳送適于該LRCS的ASIR的子集的適當(dāng)轉(zhuǎn)換,其中該ALP由始發(fā)的ALA SBC和LRCS共同分享。這種在PNC上的雙向通信導(dǎo)致ALP特定的格式化和邏輯的實(shí)現(xiàn),其中該格式化和邏輯是為使用LRCS所用的ALP以將IUR的LRCS特定的轉(zhuǎn)換后子集的語(yǔ)義傳達(dá)到LRCS所必需的。由ALA SBC實(shí)現(xiàn)的ALP特定的邏輯導(dǎo)致ALA SBC產(chǎn)生一組ASIR參數(shù)結(jié)果(ASIRPR),基于LRCS返回的結(jié)果以響應(yīng)來(lái)自ALASBC的特定結(jié)果,ALA SBC嵌入在PNC上的ALP中。特別地,ALASBC依據(jù)需要建立與LRCS的一個(gè)或多個(gè)物理PNC;ALA SBC經(jīng)該P(yáng)NC而將LRCS特定的經(jīng)過(guò)轉(zhuǎn)換的ASIR的子集傳送到LRCS;ALASBC將在ALA SBC和LRCS之間雙向通信的中間結(jié)果存儲(chǔ)到RAM中。
(8)PIA結(jié)果接收對(duì)于每個(gè)在步驟(7)中產(chǎn)生ASIRPR的ALASBC,該ALA SBC通過(guò)C-CSSI傳送該ASIRPR到步驟(6)中的始發(fā)PIA SBC,每個(gè)ALA SBC將來(lái)自相應(yīng)LRCS的ASIR參數(shù)結(jié)果轉(zhuǎn)換為一個(gè)字節(jié)序列或者任何等效的計(jì)算形式,其隨后通過(guò)在步驟(4)中建立于PIA和ALA SBC之間的C-DSSI而被物理地傳送。
(9)結(jié)果解釋在PIA接收每個(gè)ASIRPR時(shí),對(duì)于在步驟(3)中規(guī)定的各個(gè)ALA,PIA解釋ASIRPR的編碼并且存儲(chǔ)結(jié)果以完成IIR的解釋;PIA通過(guò)C-DSSI接收ASIRPR,解釋字節(jié)序列或者等效的計(jì)算形式,ALA SBC將ASIRPR編碼以在C-DSSI上傳輸,之后將中間結(jié)果存儲(chǔ)在PIA SBC上的RAM中。
(10)中間IUR結(jié)束對(duì)于每個(gè)在步驟(3)中建立C-DSSI的ALA SBC,該C-DSSI的PNC可選擇性地?cái)嚅_,這反映出PIA SBC從ALA SBC接收了所有需用于實(shí)現(xiàn)相應(yīng)于特定的ALA SBC的IUR的子集的參數(shù)之后ASIUR的完成;PIA可選擇使用適當(dāng)?shù)倪B接信令機(jī)制,物理性地請(qǐng)求C-DSSI從互連斷開。
(11)結(jié)果合成PIA SBC集聚所有在步驟(8)中通過(guò)每個(gè)ALASBC傳達(dá)至PIA SBC的ASIRPR,完成對(duì)由UIR組成的IIR的所有必需解釋,之后使用PIAP所要求的約束格式化參數(shù)結(jié)果集合;存儲(chǔ)在PIA SBC的RAM中的ASIRPR結(jié)果集合基于在IUR中指定的功能性要求而被一起作功能性轉(zhuǎn)換;在功能性轉(zhuǎn)換之后,其結(jié)果被編碼成一個(gè)輸出字節(jié)序列,該序列匹配PIAP的格式要求。IUR所要求的精確解釋和轉(zhuǎn)換可以依賴于配置更新實(shí)施例的特定計(jì)算表示。
(12)結(jié)果傳送在步驟(10)和(11)中規(guī)定的輸出字節(jié)序列可通過(guò)在步驟(1)中建立于PIA SBC和用戶之間的PNC傳送到用戶?;蛘撸诓襟E(10)和(11)中定義的輸出字節(jié)序列可以通過(guò)在PIA SBC和用戶之間建立的第二PNC傳送到用戶,其等效于步驟(1)中規(guī)定的方法,可以由用戶(同步)也可以由PIA SBC(不同步)發(fā)起。字節(jié)序列或其它等效計(jì)算式,將由UIR規(guī)定的功能性轉(zhuǎn)換的結(jié)果封裝物理寫入在(1)中建立的PNC。
(13)IUR結(jié)束選擇性地基于PIAP的合適的約定,邏輯關(guān)閉在步驟(1)中在PIA和RCS之間建立的C-DSSI以示IUR完成;如果C-DSSI沒(méi)有從邏輯上關(guān)閉,則使用某種PIAP特定的機(jī)制以示一個(gè)IUR請(qǐng)求-應(yīng)答周期的結(jié)束。PIA SBC使用合適的連接信令機(jī)制,以物理方式請(qǐng)求C-DSSI從互連斷開,中斷線對(duì)之間的通信路徑。如果PNC未物理關(guān)閉關(guān)閉,則從PIA SBC交替地將一個(gè)PIAP特定權(quán)標(biāo)(token)通過(guò)PNC(不斷開)傳送到LRCS以示IUR完成;該信號(hào)隱式地表示,另一個(gè)IUR可被RCS遞交到PIA以便在UIC中處理,。
PPF規(guī)定為一個(gè)用戶執(zhí)行單個(gè)IUR配置更新的上述13個(gè)必要的步驟。在任一給定時(shí)刻,一個(gè)PIA能并行處理任意數(shù)目的獨(dú)立IUR請(qǐng)求。對(duì)于由PIA SBC解釋的每個(gè)獨(dú)立的IUR,該處理是作為一個(gè)整體來(lái)執(zhí)行的。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,為諸如復(fù)用在PIA SBC和ALASBC之間的C-DSSI連接這樣的多個(gè)并行IUR請(qǐng)求而執(zhí)行的邏輯優(yōu)化是PPF的一個(gè)實(shí)施例的屬性,因此不是GFIP的限定屬性,也不是本發(fā)明的限定屬性。
在確定PPF的處理步驟后,關(guān)于在復(fù)合的裝置中對(duì)各個(gè)硬件元件的要求的幾個(gè)抽象概念是值得注意的。這些抽象概念進(jìn)一步例證了本發(fā)明如何有賴于特定計(jì)算機(jī)硬件被組合(而不是其中元件本身的物理特性或者設(shè)計(jì)特性)后用于實(shí)現(xiàn)一個(gè)定義好的綜合方法。
第一,至少要求一個(gè)PIA SBC和一個(gè)ALA SBC實(shí)現(xiàn)IUR所要求的不退化的配置更新功能。不退化的功能被定義為任何要求訪問(wèn)一個(gè)或多個(gè)LRCS以存取一個(gè)或多個(gè)數(shù)據(jù)或者調(diào)用一個(gè)或多個(gè)遠(yuǎn)端應(yīng)用軟件能力的功能。對(duì)于不退化的功能,要求至少一個(gè)PIA SBC提供所要求的可編程解釋以滿足IUR。對(duì)于不退化的功能,要求至少一個(gè)ALASBC訪問(wèn)LRCS并實(shí)現(xiàn)其中要求的ALP。
第二,PIA和ALA SBC互相共享以上定義的動(dòng)態(tài)服務(wù)狀態(tài)信息(DSSI)。一個(gè)IUR的實(shí)現(xiàn)依靠在PIA SBC和ALA之間實(shí)時(shí)而動(dòng)態(tài)地共享狀態(tài)信息,其中PIA SBC驅(qū)動(dòng)IUR的解釋,ALA實(shí)現(xiàn)為用戶通過(guò)IUR所請(qǐng)求的應(yīng)用特定的任務(wù)所必需的邏輯。一ALA SBC可以相應(yīng)于單個(gè)IUR而精確地與一個(gè)PIA SBC共享DSSI。與PIA SBC共享DSSI的ALA SBC的數(shù)目基于需用于實(shí)現(xiàn)在IUR中所定義功能的LRCS連接的數(shù)目。
第三,PIA和ALA SBC建立與相互分離的LRCS組的PNC,因?yàn)橛?jì)算系統(tǒng)用戶發(fā)起的IUR獨(dú)立于LRCS實(shí)現(xiàn)每個(gè)ALA所要求的ALP。本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,用戶能操作應(yīng)用于LRCS上的一個(gè)分立軟件并訪問(wèn)PIA SBC以便配置而不破壞約束。
精確地說(shuō),PIA和ALA物理共享上述DSSI可通過(guò)任何支持在兩個(gè)SBC之間電連接的方法來(lái)實(shí)現(xiàn)。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,SBC理想地通過(guò)在底板上互連之間建立的物理連接來(lái)共享DSSI。這種物理連接在以前被稱為C-DSSI。但任何滿足這個(gè)要求的連接機(jī)制都是充分的。例如,一個(gè)用于連接的示意性方式可以是在兩個(gè)SBC之間的外部以太網(wǎng)連接,其為直接連接或通過(guò)一個(gè)交換機(jī)或路由器的橋接。
下面為一個(gè)13步PPF模型實(shí)現(xiàn)的實(shí)施例,使用一個(gè)上述的多協(xié)議集成系統(tǒng)的硬件實(shí)施例。該流程模型抽象了物理元件的細(xì)節(jié),以代替依賴于一個(gè)流程框圖來(lái)清楚地說(shuō)明該程序處理如何映射到特理實(shí)施例。圖8和9能被分解成三個(gè)分立的區(qū)域,它們相應(yīng)于(1)PCI底板800;(2)PBI SBC適配器,該左分支線由方框811和802界定;(3)代表性的ALA SBC適配器,該右分支線由方框812和802界定。
下面的13步處理描述了PPF的一個(gè)實(shí)施例。在本實(shí)施例之后描述配置更新的一個(gè)實(shí)施例,該實(shí)施例提供了由用戶體驗(yàn)到的IUR請(qǐng)求和IUR的操作語(yǔ)義的另一優(yōu)選實(shí)施例。下面將功能規(guī)定映射到實(shí)現(xiàn)該處理的特定元件。
(1)IUR開始用戶811打開一個(gè)PNC到SBC 803(907在SBC 803上實(shí)現(xiàn)必需的以太網(wǎng)協(xié)議棧)以提示IUR,通過(guò)結(jié)構(gòu)813并通過(guò)網(wǎng)絡(luò)810物理連接到SBC 803。PNC 810要求通用的與以太網(wǎng)芯片907的TCP/IP連接,使用抽象的網(wǎng)絡(luò)插座而提供用戶811和SBC 803之間的雙向數(shù)據(jù)交換能力。在此例中,該P(yáng)NC的PAIP通過(guò)在TCP/IP的HTTP定義并使用通用的請(qǐng)求-應(yīng)答模型以交換實(shí)現(xiàn)IUR所必需的數(shù)據(jù)。
(2)請(qǐng)求的接收PIA SBC 803的CPU 807通過(guò)常規(guī)的中斷信令從以太網(wǎng)芯片接收對(duì)IUR的請(qǐng)求,并接受輸入PNC為一個(gè)依賴以太網(wǎng)芯片907和OS以實(shí)現(xiàn)框架(framing)和協(xié)議層語(yǔ)義的網(wǎng)絡(luò)插座。CPU807和RAM 806一道,使用由CPU 807進(jìn)行的通用詞匯分析將HTTP解析成其組成部分。該解析結(jié)果存儲(chǔ)在RAM 806中以便在PIA SBC803上快速存取。
(3)請(qǐng)求解釋基于以HTTP解析的請(qǐng)求,仿真來(lái)自用戶811的IUR,SBC 803解釋要求哪個(gè)ALA SBC適配器(從可利用的816、818、818和819中)實(shí)現(xiàn)在IUR中定義的功能。本實(shí)施例依賴于將HTTP請(qǐng)求格式定為明確指定在URL中的ALP,正如通用于為因特網(wǎng)設(shè)計(jì)的編程系統(tǒng)。由于ALP從IUR看是透明可識(shí)的,故PIA SBC只必須在ALP到ALA SBC之間實(shí)現(xiàn)一個(gè)簡(jiǎn)單的映射。特別是,PIA SBC必須維持一個(gè)實(shí)現(xiàn)操作f的散列表,其中f(ALPj)->ALA SBCj。任何通用散列表的實(shí)現(xiàn)將足以實(shí)現(xiàn)該簡(jiǎn)單功能。
在此例中,來(lái)自用戶811的IUR被假定指定要求至多一個(gè)ALASBC來(lái)實(shí)現(xiàn)功能。這一簡(jiǎn)單化的假設(shè)僅是為清楚起見(jiàn)做出的,不應(yīng)認(rèn)為是本發(fā)明的屬性。同樣的處理可以用其它ALA SBC適配器并行執(zhí)行,使用在此描述的同樣實(shí)現(xiàn)手段。并且,ASIUR的格式和字節(jié)流表示可以被各種各樣的處理來(lái)表示;本實(shí)施例依靠由用戶811基于HTTP提供的IUR的簡(jiǎn)單正文表示。因此,本實(shí)施例的IIR和IUR請(qǐng)求是一樣的,這在許多實(shí)施例中是普遍的。IUR的該中間表示存儲(chǔ)在PIA 803的RAM 806中。
(4)IUR授權(quán)PIA 803使用抽象的插座建立與ALA SBCj的C-DSSI。該C-DSSI連接是通過(guò)底板800、PBC 804和814、RAM 806、連接901和910以及DMA 903實(shí)現(xiàn)的,其使用了運(yùn)用上述PCB橋接技術(shù)的網(wǎng)絡(luò)插座仿真技術(shù)并示意于圖10中。
(5)ALA連接PIA 803使用步驟(4)中構(gòu)想的仿真插座連接將ASIUR傳送到ALA SBCj。特別是,存儲(chǔ)在SBC 803的RAM 806中的IIR被利用連接901和910、通過(guò)PBC 804和814而在底板800上傳輸,其中連接901和910為底板上的電連接。一旦被PBC 814接收,CPU 815和DMA 903就合作通過(guò)電連接904和905將ASUIR存儲(chǔ)到RAM 806。這導(dǎo)致ASUIR存儲(chǔ)在RAM 806中并可由ALA SBCj的CPU 815用于解釋。
(6)ALA解釋ALA SBCj使用CPU 815將ASIUR轉(zhuǎn)換為ASIR,在準(zhǔn)備將ASIR編碼為ALP以傳輸?shù)絃RCS 812時(shí),已通過(guò)C-DSSI接收到ASUIR。在此例中,ASIR和ASIUR是完全相同的。LRCS 812期望的ALP和LRCS 811在原始IUR中提供的是完全一樣的。因此,ALA SBCj不要求ASIUR的任何中間轉(zhuǎn)換。ASIR存儲(chǔ)在在ALA SBCj上的RAM 806中,等待傳輸?shù)絃RCS 812。對(duì)于其它簡(jiǎn)化的假設(shè),相關(guān)領(lǐng)域的普通技術(shù)人員將會(huì)注意到,通過(guò)替代性的實(shí)施例可實(shí)現(xiàn)許多其它復(fù)雜的編碼和ASIUR->ASIR轉(zhuǎn)換。但此例意圖是更有效地表達(dá)突出的實(shí)現(xiàn)屬性,而不是過(guò)度復(fù)雜化。
(7)ALA-LRCS通信如果特定IUR的語(yǔ)義要求,依據(jù)前面以抽象公式定義的方式,ALA SBCj以上面定義的特定于ALA SBC適配器的方式建立對(duì)LRCS 812的PNC,并以ALA SBCj和LRCS 812互相一致的ALP格式傳送ASIR。CPU 815通過(guò)電連接908和909、用以太網(wǎng)芯片907以抽象插座的方式請(qǐng)求構(gòu)建一個(gè)PNC。與其它網(wǎng)絡(luò)連接相似,LRCS 812接受網(wǎng)絡(luò)連接并在LRCS 812和CPU 815之間建立一個(gè)雙向通信路徑。以通常方式,將通過(guò)以太網(wǎng)芯片907傳送的數(shù)據(jù)的中間表示存儲(chǔ)在ALA SBCj的RAM 806中。由于ASIR和ALP完全相同,在該實(shí)施例中,ALA SBCj只是經(jīng)PNC將ASIR傳送到ALP。一旦接收到,LRCS 812即響應(yīng)而將在ASIR中定義的請(qǐng)求的ASIRPR返回給ALA SBCj。一旦接收到,ALA SBCj將該參數(shù)結(jié)果存儲(chǔ)到RAM 806中。
(8)PIA結(jié)果接收使用在(5)中C-DSSI所定義的相同的雙向處理,但是是逆向的,ALA SBCj傳送在(7)中從LRCS 812接收的參數(shù)結(jié)果到SBC 803,以響應(yīng)相應(yīng)的ASIR請(qǐng)求,該ASIR請(qǐng)求對(duì)應(yīng)于來(lái)自原始用戶811的IUR,在(4)中PIA 803授權(quán)ASIR到ALA SBCj。PIA SBC 803將ASIRPR存儲(chǔ)在RAM 806中,以便后續(xù)解釋和傳送回用戶811。
(9)結(jié)果解釋在(8)中通過(guò)C-DSSI從ALA SBCj接收而被臨時(shí)存儲(chǔ)在806中的ASIRPR由PIA 803中的CPU 807加以解釋。在此例中,ASIRPR被逐字返回至用戶811不作中間轉(zhuǎn)換。這導(dǎo)致ASIRPR被直接返回至用戶811,而沒(méi)有加入具有轉(zhuǎn)換復(fù)雜性的中間層。如上相同,該簡(jiǎn)化設(shè)想為一個(gè)實(shí)施例的實(shí)現(xiàn)細(xì)節(jié)但不是本發(fā)明的限定屬性。
(10)中間IUR的結(jié)束通過(guò)在仿真插座上的關(guān)閉操作將建立于PIA SBC 803和ALA SBCj之間的C-DSSI連接斷開。特別是,在CPU807中的OS中執(zhí)行的設(shè)備驅(qū)動(dòng)程序發(fā)信號(hào)到PBC 804以示應(yīng)關(guān)閉該仿真插座,之后該信號(hào)被轉(zhuǎn)換為PCI總線信號(hào)以適于用信號(hào)通知PBC 814關(guān)閉連接。PBC 714向CPU 815通報(bào)該關(guān)閉,之后信號(hào)通知PBC 804接受該關(guān)閉。最后,PBC 804將仿真插座關(guān)閉的物理接受信號(hào)通知CPU807,并且由CPU 807和CPU805獨(dú)立地終止連接。
(11)結(jié)果合成在僅涉及單獨(dú)一個(gè)ALA SBC時(shí),復(fù)合結(jié)果不是必需的;涉及像在(3)中被IUR識(shí)別的多個(gè)ALA SBC時(shí),則在PIA803上的CPU 807通過(guò)公共正文的連接運(yùn)算對(duì)來(lái)自(9)中的每個(gè)ALASBC的ASIRPR執(zhí)行簡(jiǎn)單的聚集。所連接的正文即被認(rèn)為是組合的ASIRPR且其合成結(jié)果存儲(chǔ)在RAM 806中。
(12)結(jié)果傳送在PIA 803和用戶811之間建立的PNC隨后被用于通過(guò)相同但反方向的抽象插座傳送合成ASIRPR至LRCS,傳送使用了如(1)中定義的連接810、結(jié)構(gòu)813、以太網(wǎng)芯片907、連接908和909。ASIRPR編碼為PIAL以通信返回到用戶811;在該實(shí)施例中,PIAP是在TCP/IP上的HTTP,這導(dǎo)致由CPU 807和以太網(wǎng)芯片907產(chǎn)生一個(gè)標(biāo)準(zhǔn)化HTTP響應(yīng)分組,該CPU 807和以太網(wǎng)芯片907響應(yīng)來(lái)自用戶811的原始IUR封裝合成的ASIRPR。由于此例(HTTP)中的PIAP為一個(gè)通用的請(qǐng)求-應(yīng)答協(xié)議,在(1)中啟用的PNC能在此例中被用于將應(yīng)答返回到用戶,其中該應(yīng)答經(jīng)過(guò)編碼以適用于PIAP。
(13)IUR結(jié)束PNC可依據(jù)用戶811完成的要求由用戶811選擇關(guān)閉。在本實(shí)施例中的PIAP ALP、HTTP包括規(guī)定用戶811或者PIASBC在該步驟選擇性地指定物理關(guān)閉。如果用戶811選擇物理關(guān)閉PNC,則以太網(wǎng)芯片907通過(guò)常用的TCP/IP連接語(yǔ)義被通報(bào)關(guān)閉請(qǐng)求,以太網(wǎng)芯片907轉(zhuǎn)送該關(guān)閉請(qǐng)求到CPU 807,CPU 807隨后斷開抽象插座,并釋放在RAM 806中被分配用于該處理的計(jì)算資源。注意,在此例中,PIAP ALP(HTTP)通過(guò)底板200的OK結(jié)果狀態(tài)碼實(shí)現(xiàn)了可選的PIAP特定的非物理標(biāo)記的關(guān)閉機(jī)制。底板200結(jié)果碼指示成功完成通過(guò)PNC傳遞的最后請(qǐng)求。
說(shuō)明性配置參照?qǐng)D14定義被稱為說(shuō)明性配置1403的配置方法。說(shuō)明性配置1403用來(lái)實(shí)現(xiàn)由用戶1401進(jìn)行解釋處理的任意配置,而用戶1401無(wú)需明確地或隱含地指定程序代碼。在此情況下。程序代碼被定義為任何人類可讀、機(jī)器可讀或其組合的代碼,即源碼、目標(biāo)碼、可執(zhí)行碼或者任一在寫入之中或之間等效的中間形式,其以使用編程語(yǔ)言或邏輯上等效于編程語(yǔ)言的方式寫入。說(shuō)明性配置的一個(gè)優(yōu)實(shí)施例將在下面描述。
說(shuō)明性配置1403是在此所述配置多協(xié)議集成系統(tǒng)以作綜合處理的三個(gè)優(yōu)選實(shí)施例之一。說(shuō)明性配置1403對(duì)于本發(fā)明是特有的,而另外兩個(gè)則通用于現(xiàn)有系統(tǒng),即程序代碼和圖形。因此,說(shuō)明性配置為抽象公式的一個(gè)實(shí)施例,其可如上所述在GFIP的一個(gè)諸如PPF的實(shí)施例中用于解釋IUR。
將說(shuō)明性配置和現(xiàn)有系統(tǒng)進(jìn)行對(duì)比,描述了程序代碼配置的概要和圖形。特別地,程序代碼配置使用戶能例如通過(guò)依附于特定應(yīng)用編程接口(API)的寫入以及編譯程序碼(如在Java中)而指示特定的程序指令。經(jīng)過(guò)編譯的程序代碼應(yīng)該在其可利用時(shí)被安裝或卸載。另外,圖形配置使得用戶能夠例如通過(guò)使用圖形化用戶界面(GUI)而指示特定的程序指令,該圖形化用戶界面例如是以HTML編寫而通過(guò)因特網(wǎng)瀏覽器或者M(jìn)icrosoft Windows的一個(gè)定制程序來(lái)使用的程序。實(shí)現(xiàn)GUI的系統(tǒng)使用由用戶通過(guò)GUI提供的配置指令而產(chǎn)生某種程序代碼,無(wú)論其經(jīng)過(guò)編譯、解釋或其它轉(zhuǎn)換從而成為可在計(jì)算機(jī)系統(tǒng)中執(zhí)行的形式或者其功能等效的形式。
說(shuō)明性配置1403的限定屬性是其提供了一種方法,其中用戶1401可以提供配置指令到多協(xié)議集成系統(tǒng)的實(shí)施例1402的情況中,而不需要和現(xiàn)有系統(tǒng)一樣,寫入任何程序代碼或者用圖形化用戶界面生成代碼。以下是說(shuō)明性配置1403的屬性,如圖14所示,這進(jìn)一步地展示出和現(xiàn)有系統(tǒng)的對(duì)比。第一,由于說(shuō)明性配置1403是由用戶1401發(fā)起的,非程序化配置是GFIP的能力,而不是獨(dú)立或擴(kuò)展從而為添加的或者等同的功能。第二,由用戶1401提供給說(shuō)明性指令1403的指令不產(chǎn)生隨后必須被編譯、解釋、裝載的程序代碼(或者否則也要由用戶以類似于程序代碼的方式管理)。第三,抽象公式或?qū)嵤├灰笳f(shuō)明性配置1402的結(jié)構(gòu)由用于編碼或等效于編碼的應(yīng)用編程接口(API)限定、依附于該接口或受其影響。
繼續(xù)參照?qǐng)D14,說(shuō)明性配置1403所提供的方法是將來(lái)自用戶1401的一個(gè)或多個(gè)配置指令(比如,如上所述被IUR包含或者任何邏輯上等同的配置指令)轉(zhuǎn)換為一個(gè)或多個(gè)配置表1406,該一個(gè)或多個(gè)配置表與有限狀態(tài)機(jī)1407的復(fù)合裝置1405的一個(gè)或多個(gè)實(shí)例、字節(jié)流1409和中間虛擬表示1408相關(guān),如上所述。說(shuō)明性配置1403依賴于通過(guò)連接1404與各復(fù)合裝置1405通信。該連接1404的抽象公式已經(jīng)在上面提供,同時(shí)在下面還為這樣的連接1404提供了一個(gè)優(yōu)選實(shí)施例。配置表1406在多協(xié)議集成系統(tǒng)中與有限狀態(tài)機(jī)1407和異常表(為清楚起見(jiàn)未示出,見(jiàn)下面的描述)相對(duì)應(yīng)的抽象的功能性作用在下面描述。
本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,雖然圖14顯示2個(gè)復(fù)合裝置有兩個(gè)配置表,但是復(fù)合裝置的數(shù)目不是說(shuō)明性配置1403的限定屬性。相反,說(shuō)明性配置1403可以配置任一數(shù)量的配置表以及相應(yīng)的復(fù)合裝置。另外,為了更加清楚,圖14省略了關(guān)于復(fù)合裝置的特定細(xì)節(jié),這在上面和下面以更詳細(xì)的方式描述。
與現(xiàn)有系統(tǒng)形成對(duì)比的特定于多協(xié)議集成系統(tǒng)的說(shuō)明性配置的一個(gè)優(yōu)選實(shí)施例可以是兩個(gè)部件的組合。首先,一個(gè)部件能夠?yàn)橛脩?401提供一個(gè)命令行接口(CLI),支持在諸如RFC 854(該實(shí)施例可選擇包括如VT 100的終端仿真)的連接1410上的網(wǎng)絡(luò)協(xié)議。其次,一個(gè)部件能夠?qū)⒂脩?401通過(guò)連接1410所提供的CLI命令轉(zhuǎn)換為適于配置表1406的格式。用于提供一個(gè)或多個(gè)配置指令(其可嵌入在一個(gè)或多個(gè)CLI命令中)的這種轉(zhuǎn)換的一個(gè)優(yōu)選實(shí)施例,如上面對(duì)RFC 268的描述。
說(shuō)明性配置1403的這樣一個(gè)優(yōu)選實(shí)施例可提供一個(gè)實(shí)例,該實(shí)例提供了一種非程序化的、人類可讀的顯示格式,使得用戶1401能夠?yàn)槿我獾木C合處理指定任意的配置指令。
多維表示變換和事務(wù)處理表示在此提供一個(gè)中間虛擬表示的優(yōu)選實(shí)施例,其屬性應(yīng)被認(rèn)為是特定于實(shí)施例,因此不是本發(fā)明的特征的限定屬性。中間虛擬表示的下面實(shí)施例被稱為多維表示變換和事務(wù)處理表示(MRTR)。
參照?qǐng)D21,該實(shí)施例通過(guò)一個(gè)或多個(gè)邏輯相連序列2102說(shuō)明中間虛擬表示,邏輯相連序列2102具有零或多個(gè)邏輯單元2103。序列2102的每一個(gè)邏輯單元2103被稱為一個(gè)時(shí)隙。邏輯時(shí)隙2102的每個(gè)邏輯相連序列被稱為一“維”。相應(yīng)于該實(shí)施例的每一例中間表示由一個(gè)或多個(gè)維2102組成,被稱為一個(gè)區(qū)域2101。圖21中維的數(shù)量為一個(gè)特定的區(qū)域?qū)嵗膶傩?;同樣地,在一個(gè)區(qū)域中的維的數(shù)目不是該實(shí)施例的屬性。
在本文中,每個(gè)時(shí)隙2103應(yīng)被解釋為一個(gè)“占位符”或者“邏輯單元”,而不是源自任何特定的物理解釋(如可能在如上所述的一個(gè)硬件實(shí)施例找到的)的一個(gè)插入點(diǎn)或類似解釋。因此,時(shí)隙在解釋中可能是不透明的,它們的結(jié)構(gòu)不隱含一個(gè)特殊的例證(諸如在字節(jié)和時(shí)隙間的一對(duì)一映射),不過(guò)如此定義的結(jié)構(gòu)可以由一個(gè)實(shí)施例或者實(shí)施例的一個(gè)特例來(lái)圖示。時(shí)隙的不透明性提供了很多益處,比如能使多個(gè)并行數(shù)據(jù)用戶以邏輯上不一致的方式看到相同的維數(shù)。另外,本發(fā)明不限定通過(guò)計(jì)算實(shí)現(xiàn)時(shí)隙2103、維2102和區(qū)域2101的機(jī)制。
參照?qǐng)D22,一個(gè)多維區(qū)域2101由維2102組成,與圖21相同。時(shí)隙2201、2203、2206的相連范圍包含在其各自的維2101中,其中一個(gè)范圍被限定為一個(gè)或多個(gè)在同一個(gè)維中相連的時(shí)隙。在一個(gè)區(qū)域中的維可以有零或多種關(guān)系,不是明顯的就是隱含的。在此情況下,關(guān)系定義為邏輯對(duì)應(yīng),該邏輯對(duì)應(yīng)可以本質(zhì)上影響一個(gè)或多個(gè)在區(qū)域2101上執(zhí)行的操作。在一個(gè)MRTR中的操作關(guān)系的一個(gè)實(shí)施例是通過(guò)注解來(lái)體現(xiàn)的,如下面描述。本領(lǐng)域技術(shù)人員會(huì)理解能被計(jì)算性地限定的任何標(biāo)準(zhǔn)可等效地表達(dá)為維之間的關(guān)系,或者適用于所有的MRTR中間表示,或者只特定于一個(gè)或一組協(xié)議或者格式。
參照?qǐng)D23,顯式注釋(explicit annotation)2302為一種通過(guò)特定的對(duì)應(yīng)值來(lái)表示的關(guān)系,該對(duì)應(yīng)值在同一個(gè)維2101中的一個(gè)或多個(gè)時(shí)隙2301中。隱式注釋(implicit annotation)2303為一種不是通過(guò)在同一個(gè)維中的一個(gè)或多個(gè)時(shí)隙中的特定對(duì)應(yīng)值來(lái)表示的關(guān)系,反之,隱式關(guān)系的相應(yīng)注釋值是通過(guò)任何能臨時(shí)存儲(chǔ)對(duì)應(yīng)值的機(jī)制從維2101以及相應(yīng)的維的外部保持的。因此,一個(gè)注釋可為顯式也可以為隱式的。對(duì)于隱式關(guān)系,可能要求一個(gè)或多個(gè)類型的注釋識(shí)別符2304以從邏輯上使存儲(chǔ)對(duì)應(yīng)值的注釋和一個(gè)或多個(gè)時(shí)隙2301相關(guān)聯(lián)。在區(qū)域中關(guān)系的數(shù)目和類型或其運(yùn)行表示(假定可能有多種這類關(guān)系)不被認(rèn)為是MRTR的屬性。
參照?qǐng)D24,在MRTR中的注釋的第二功能是,為在維中的各個(gè)時(shí)隙2402或者時(shí)隙的范圍2404提供屬性。屬性的一個(gè)例子可以為類型,正如在編程語(yǔ)言原理中定義的,如圖24所示。因此,圖24中的方框應(yīng)被認(rèn)為是實(shí)現(xiàn)和解釋一個(gè)維的特定實(shí)例的類型屬性的屬性,因此沒(méi)有為MRTR注釋限定特征。特別是,維2401能夠保持用于一個(gè)或多個(gè)并行綜合處理數(shù)據(jù)操作2403的數(shù)據(jù)。每個(gè)數(shù)據(jù)操作可以察看由時(shí)隙用類型不一致的方式保持的帶有類型注釋的數(shù)據(jù)。例如,一個(gè)代表性的數(shù)據(jù)操作1能察看時(shí)隙數(shù)據(jù)如類型t1 2405,而數(shù)據(jù)操作2和n解釋時(shí)隙數(shù)據(jù)如類型t2 2406和t3 2407,其中每個(gè)類型t1、t2、t3互不相同。術(shù)語(yǔ)察看在此情況下應(yīng)得到廣義解釋,指的是邏輯解釋的處理或者類似處理。在圖24中以時(shí)隙圖2405、2406、2407中不同視覺(jué)模式表示出類型中的差別。該視覺(jué)模式只是為了顯示清楚而非MRTR的限定屬性。
參照?qǐng)D25,MRTR支持任意的計(jì)算操作的限定、例示和操作化,該計(jì)算操作被限定在時(shí)隙、范圍、維和區(qū)域的任何組合上,正如這樣的操作能被限定在一個(gè)定義好的抽象公式上。另外,可以導(dǎo)出基本的和復(fù)合的操作,和為本發(fā)明所必需的一樣,該操作是為完成任意的復(fù)雜數(shù)據(jù)交換和轉(zhuǎn)換算法所必需的。
對(duì)MRTR的計(jì)算操作2501的抽象公式的一個(gè)實(shí)施例是限定在源區(qū)域2502和目的區(qū)域2503之間的功能關(guān)系。來(lái)自源區(qū)域的功能輸入由一個(gè)或多個(gè)時(shí)隙或范圍2504組成。進(jìn)入目的區(qū)域2503的功能輸出由一個(gè)或多個(gè)時(shí)隙或范圍2505組成。輸入時(shí)隙和范圍2504與輸出時(shí)隙或范圍2505之間的關(guān)系為獨(dú)立的。因此,功能操作可能導(dǎo)致輸出時(shí)隙或范圍2505的數(shù)目、大小、形狀的不同。另外,功能操作可能導(dǎo)致與源區(qū)域2502相比在目的區(qū)域2503的不同維中時(shí)隙的改變。最后,功能操作可能導(dǎo)致在源區(qū)域2502中相連的時(shí)隙或范圍2504在目的區(qū)域2503中變得不相連。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到操作2501可以被循環(huán)構(gòu)成,并且也可以利用邏輯條件,完成隱式的在操作中和操作之間的相關(guān)性。
該類型的靈活計(jì)算操作的一個(gè)關(guān)鍵優(yōu)點(diǎn)是,有能力使用單獨(dú)一種邏輯操作來(lái)指定在時(shí)隙、范圍、維或區(qū)域上的運(yùn)算,而否則的話運(yùn)算將會(huì)是復(fù)雜并可能是復(fù)合的(比如在一個(gè)常規(guī)如Java的編程語(yǔ)言中要求許多獨(dú)立的編程代碼行)。最后,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到能通過(guò)組合分立的計(jì)算操作2501來(lái)規(guī)定任意的多對(duì)多的計(jì)算操作。
參照?qǐng)D26,其中2501、2502和2503為清楚起見(jiàn)排除了圖25中的細(xì)節(jié)。導(dǎo)出的操作2601是如前面定義的計(jì)算操作,,該操作被隱式地調(diào)用以響應(yīng)計(jì)算操作2501的引用。MRTR調(diào)用隱式操作的能力從操作2501的調(diào)用角度上看是透明的,提供了許多益處。比如,對(duì)綜合處理的一個(gè)普通請(qǐng)求可被加入到本地或分布式的事務(wù)處理中。因此,一例導(dǎo)出的操作2601能調(diào)用開始處理操作,而一個(gè)隨后的導(dǎo)出操作能調(diào)用確認(rèn)或回退操作。這樣一種隨后導(dǎo)出的操作可以相關(guān)于同一個(gè)操作2501、另一個(gè)功能操作、任一種不對(duì)稱功能(如計(jì)算器終止)、或任何等效操作。在此情況下的開始、確認(rèn)和回退操作的定義等同于它們?cè)谠谑聞?wù)處理原理中所接受的定義。一個(gè)導(dǎo)出操作從邏輯調(diào)用該操作的角度上看可以透明也可以不透明,且可以要求也可以不要求配置??苫謴?fù)的推出流(pull stream)自動(dòng)機(jī)參照?qǐng)D27,一個(gè)特殊的處理提供如最初參照?qǐng)D3描述的有限狀態(tài)機(jī)的一個(gè)優(yōu)選實(shí)施例,并提供典型的計(jì)算優(yōu)點(diǎn)以及與現(xiàn)有技術(shù)系統(tǒng)的對(duì)比。該處理的限定部分為其屬性在下面限定的字節(jié)流2702和適當(dāng)限定的可恢復(fù)的推出流自動(dòng)機(jī)(RPSA)2701,如下所述。由于RPSA 2701為從圖3中的有限狀態(tài)機(jī)303的一個(gè)實(shí)施例,因此其不應(yīng)認(rèn)為是本發(fā)明的限定屬性。為描述清楚,我們從抽象自動(dòng)機(jī)的角度以及從操作的角度兩方面來(lái)描述如何實(shí)際應(yīng)用RPSA的例子。這些限定部分的組合、對(duì)字節(jié)流的后附要求、及可選的字節(jié)流2702的集合等條件用于將該處理與現(xiàn)有技術(shù)系統(tǒng)對(duì)比。盡管對(duì)處理的定義不做要求,所述處理仍可能要求在該處理的估算期間保持一個(gè)標(biāo)量整數(shù)V的數(shù)值。V不是該處理的屬性,因?yàn)閂只被要求用于有限長(zhǎng)度的字節(jié)流。另外,V被計(jì)算機(jī)存儲(chǔ)的物理位置也不被認(rèn)為是該處理的限定屬性,因?yàn)樗梢源鎯?chǔ)在模式矩陣中、后備緩沖器中、或者任何其它在本發(fā)明之內(nèi)的臨時(shí)存儲(chǔ)裝置中。在進(jìn)入開始狀態(tài)2706時(shí),V的數(shù)值設(shè)為數(shù)字零(0)。
為說(shuō)明該處理中的PRSA的屬性,我們?cè)O(shè)想一例單個(gè)的通信處理的重復(fù)。作為一個(gè)說(shuō)明性示例,我們?cè)O(shè)想一例該通信處理的實(shí)施例,該通信處理從字節(jié)流中讀取N個(gè)字節(jié)。本領(lǐng)域技術(shù)人員立即會(huì)認(rèn)識(shí)到多例RPCS的任一序列能被限定為獨(dú)立的一例RPCS的順序臨時(shí)組合。另外,本領(lǐng)域技術(shù)人員立即會(huì)認(rèn)識(shí)到字節(jié)作為待處理數(shù)據(jù)的量度及作為通信處理的基本單元能與任一通信的量度互換,其中通信支持在字節(jié)和替換基本單元之間的兼容的變換。
對(duì)字節(jié)流2702的要求是數(shù)據(jù)能被單向地恢復(fù)并且被稱為R 2713的特定邏輯操作2713能在字節(jié)流上用特定的語(yǔ)義定義。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到R 2713不是在RPSC 2701中的狀態(tài)或轉(zhuǎn)變,而是一個(gè)可被RPSA調(diào)用以從字節(jié)流2702請(qǐng)求數(shù)據(jù)的操作。特別是操作R 2713的語(yǔ)義是在請(qǐng)求時(shí),操作R或者從字節(jié)流返回一個(gè)正總數(shù)(positive amount)的數(shù)據(jù),或者返回當(dāng)前沒(méi)有可用數(shù)據(jù)的表示。該正總數(shù)的數(shù)據(jù)若返回的話被稱為D。如果D被返回以便調(diào)用R 2713的話,D的長(zhǎng)度被表示為|D|,如果R 2713不返回一個(gè)正總數(shù)的數(shù)據(jù),則出自R 2713的結(jié)果被表示為_,并且沒(méi)有為_定義相應(yīng)長(zhǎng)度的度量。該讀出操作如何精確地在字節(jié)流上實(shí)現(xiàn)(如操作名稱、參數(shù)值、緩沖器空格或者數(shù)據(jù)調(diào)整)為該處理的實(shí)施例的屬性。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到字節(jié)流2792可以等效為一個(gè)雙向的字節(jié)流而并不實(shí)質(zhì)上變更該處理的定義。另外,本領(lǐng)域技術(shù)人員立即會(huì)認(rèn)識(shí)到該處理為對(duì)稱的,因此對(duì)于輸入和輸出處理都適用,正如字節(jié)流2702和模式矩陣2794可以被交換而在實(shí)質(zhì)上沒(méi)有變更該處理的定義。
該處理假設(shè)在處理字節(jié)流2702時(shí)可能發(fā)生下列情況。關(guān)聯(lián)、正則性以及其它與這類條件相關(guān)的操作參數(shù)不被認(rèn)為與該處理有關(guān)。第一種條件是字節(jié)流2702在通信處理期間會(huì)停止零次或多次,術(shù)語(yǔ)停止在此情況下被定義為表示在通信操作期間(在開始之后和結(jié)束之前)存在非零長(zhǎng)度的時(shí)間,在該時(shí)間中沒(méi)有數(shù)據(jù)可用。當(dāng)考慮輸入/輸出現(xiàn)有技術(shù)系統(tǒng)時(shí),響應(yīng)于一個(gè)停止而出現(xiàn)的情況被通稱為“阻塞”,特別是當(dāng)字節(jié)流2702停止時(shí)R返回_。若停止發(fā)生,在停止之間接收到的關(guān)于字節(jié)流2702的數(shù)據(jù)序列在通信處理期間被稱為一個(gè)字節(jié)塊。第二種條件是字節(jié)流2792可以只能被該處理以一種嚴(yán)格的順序(非隨機(jī)存取)讀取一次。此時(shí)字節(jié)流2702可等效地被稱為順序字節(jié)流。第三種條件是字節(jié)流2702可以有一有限(有界限)或無(wú)限(無(wú)界限)長(zhǎng)度,因此不要求字節(jié)流依附于任何界限約束。
當(dāng)限定本發(fā)明的屬性時(shí),對(duì)于有限狀態(tài)機(jī)的優(yōu)選實(shí)施例并不要求模式矩陣2704和后備緩沖器2703。如果它們可選擇地用于該處理,則連接處理狀態(tài)2708和模式矩陣2704及后備緩沖器2703的虛線即代表從各自的中間虛擬表示或后備緩沖器進(jìn)行讀取和寫入數(shù)值所必需的功能。由觀察會(huì)產(chǎn)生可被本領(lǐng)域技術(shù)人員認(rèn)識(shí)到的它們的不必要性(non-necessity),即模式矩陣2704或后備緩沖器2703均可被一個(gè)支持讀-寫操作的等效設(shè)備的無(wú)效功能(null function)代替。在此情況下一個(gè)無(wú)效操作被規(guī)定為指一個(gè)其調(diào)用執(zhí)行非實(shí)質(zhì)計(jì)算操作的功能。
由圖27繼續(xù),RPSA由5種狀態(tài)組成開始2706、推出2707、處理2708、停止2710和結(jié)束2712。自動(dòng)機(jī)狀態(tài)轉(zhuǎn)換為開始推出、推出處理、推出停止、推出結(jié)束,停止推出、處理推出。由RPSA的外部邏輯調(diào)用的動(dòng)作由虛線表示開始動(dòng)作2705、重新開始動(dòng)作2711和繼續(xù)動(dòng)作2709。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,在RPSA中的動(dòng)作不是狀態(tài)也不是轉(zhuǎn)變(雖然它們可能在RPSA中觸發(fā)轉(zhuǎn)變以響應(yīng)其調(diào)用)。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,推出狀態(tài)2707和處理狀態(tài)2708可以組合成為單一一個(gè)復(fù)合狀態(tài),而并不在實(shí)質(zhì)上影響RPSA的定義或該處理。推出狀態(tài)2707的功能和處理狀態(tài)2708的功能示于圖27中,在此為清楚說(shuō)明起見(jiàn)嚴(yán)格地描述為不同的自動(dòng)機(jī)狀態(tài)。
由RPSA處理的通信操作在狀態(tài)開始2706開始一個(gè)通信處理。RPSA保持于開始狀態(tài)直到開始操作被調(diào)用為止,導(dǎo)致開始推出轉(zhuǎn)換發(fā)生。在調(diào)用開始操作2705時(shí),控制直到后續(xù)狀態(tài)之前并不返回到調(diào)用RPSA的邏輯。在此情況下,術(shù)語(yǔ)控制指的是所執(zhí)行的單個(gè)指令序列(例如在一個(gè)優(yōu)選實(shí)施例中,當(dāng)CPU在執(zhí)行一個(gè)指令流并且任意的操作f被調(diào)用時(shí),調(diào)用程序必須等待,直到f完全執(zhí)行再繼續(xù))。
推出狀態(tài)2702執(zhí)行復(fù)合操作比較V和N的值,如果V<N則調(diào)用R 2713,并且基于結(jié)果的估計(jì)導(dǎo)致一個(gè)狀態(tài)轉(zhuǎn)變。如果V≥N則推出狀態(tài)將調(diào)用推出結(jié)束轉(zhuǎn)變。RPSA將保持在結(jié)束狀態(tài)直到開始動(dòng)作2705在開始狀態(tài)2706上被調(diào)用。若R 2713的調(diào)用結(jié)果為D,則發(fā)生推出處理轉(zhuǎn)變。若R 2713調(diào)用結(jié)果為_,則發(fā)生推出_停止轉(zhuǎn)變。
在進(jìn)入處理狀態(tài)2708時(shí),則調(diào)用一個(gè)處理操作。每次進(jìn)入處理狀態(tài)時(shí),V遞增1。該處理操作可以導(dǎo)致從模式矩陣或后備緩沖器二者或其中之一讀或?qū)憯?shù)據(jù),如前所述。一旦完成處理操作(稱為處理完成),RPSA就將控制返回到調(diào)用RPSA的邏輯,但RPSA仍保持在處理狀態(tài)2708。因此,自動(dòng)機(jī)控制狀態(tài)獨(dú)立于與任何調(diào)用RPSA的邏輯相關(guān)的狀態(tài)。RPSA將控制返回到調(diào)用RPSA的邏輯而同時(shí)保持在處理狀態(tài)(而且可選擇保留對(duì)模式矩陣2704和后備緩沖器2703的引用)的能力是該處理的一個(gè)與現(xiàn)有技術(shù)系統(tǒng)形成對(duì)比的關(guān)鍵性區(qū)別屬性。
當(dāng)處于停止?fàn)顟B(tài)2701或處于處理狀態(tài)2708的處理完成狀態(tài)時(shí),調(diào)用RPSA的邏輯可以隨后在任一時(shí)刻通過(guò)相應(yīng)的繼續(xù)動(dòng)作2709或重新開始動(dòng)作2711請(qǐng)求RPSA繼續(xù)處理通信(因?yàn)楫?dāng)進(jìn)入停止?fàn)顟B(tài)2701或當(dāng)處于處理狀態(tài)2708的處理操作完成時(shí)控制被返回)。在調(diào)用重新開始動(dòng)作2711時(shí)發(fā)生停止推出轉(zhuǎn)變。在調(diào)用繼續(xù)動(dòng)作2709時(shí)發(fā)生處理_推出轉(zhuǎn)變。
參照?qǐng)D28,描述一個(gè)使用該處理以實(shí)現(xiàn)本發(fā)明的一個(gè)服務(wù)質(zhì)量實(shí)施例的簡(jiǎn)單的說(shuō)明性例子。在此情況下,服務(wù)質(zhì)量(QoS)定義為表示支持不同級(jí)別性能的優(yōu)先權(quán),不過(guò)對(duì)于不同的RPSA處理,其基于外部配置的因素(通常由用戶配置)以實(shí)施例來(lái)定義。雖然通用的QoS的抽象公式不是本發(fā)明所特有的,在集成系統(tǒng)中將QoS規(guī)則用于應(yīng)用協(xié)議則是本發(fā)明所特有的。
QoS實(shí)施例2801由任一種支持執(zhí)行一系列指令并保持臨時(shí)數(shù)據(jù)的能力的計(jì)算實(shí)施方案(如與RAM結(jié)合的CPU)構(gòu)成。QoS環(huán)2801執(zhí)行處理循環(huán)2804,其被定義為在一組固定操作上的一個(gè)有限或無(wú)限流量控制環(huán);比如在許多編程語(yǔ)言(如Java)中含有的“for”流量控制語(yǔ)句就是足夠的。處理循環(huán)2804為定義于多個(gè)RPSA 2803上的調(diào)用操作,圖28中展示了3個(gè)RPSA 2803。如圖27的上下文所述,每個(gè)RPSA依據(jù)以上描述通過(guò)單獨(dú)一個(gè)字節(jié)流2802供給數(shù)據(jù)。
由該處理循環(huán)2804可實(shí)現(xiàn)一個(gè)簡(jiǎn)單的QoS優(yōu)先化算法。具體地說(shuō),定義術(shù)語(yǔ)循環(huán)以表示對(duì)RPSA的復(fù)合處理操作因?yàn)槿缟纤鲋匦麻_始動(dòng)作2711或繼續(xù)動(dòng)作2709均適用于RPSA的當(dāng)前狀態(tài)。概念上說(shuō),QoS的每次邏輯循環(huán)為每個(gè)RPSA提供一“輪”來(lái)處理數(shù)據(jù)。對(duì)于每個(gè)循環(huán),定義術(shù)語(yǔ)freq(RPCS)作為關(guān)于QoS邏輯2804調(diào)用了多少個(gè)分立的處理操作的量度,相應(yīng)于每個(gè)RPSA2803。在此例中,計(jì)數(shù)不同的RPCS從1-n。因此,基本的QoS區(qū)分優(yōu)先秩序可以定義n個(gè)RPCS例子的每一個(gè)freq(RPCS)的不同值。比如,如果n=3并且要求相等的優(yōu)先級(jí)freq(1)=freq(2)=freq(3)=1。作為另一個(gè)例子,如果n=3,并且RPCS1的優(yōu)先級(jí)應(yīng)該兩倍于RPCS2的優(yōu)先級(jí),這將分別地兩倍于RPCS3的優(yōu)先級(jí)freq(1)=4,freq(2)=2,freq(3)=1。
動(dòng)態(tài)自適應(yīng)自動(dòng)控制圖29示出了與一個(gè)動(dòng)態(tài)有限狀態(tài)機(jī)2901相關(guān)的邏輯部件,看起來(lái)和圖11相似,該圖的區(qū)別在于,它去除了細(xì)節(jié),細(xì)節(jié)已在前面的圖中出現(xiàn)過(guò),為了清楚地圖示有限狀態(tài)機(jī)。
描述的有限狀態(tài)機(jī)到此為止為靜態(tài)的一個(gè)固定自動(dòng)控制,其屬性依賴于其實(shí)例的屬性,及可選擇的一個(gè)配置表,如上所述。圖29中所示的有限狀態(tài)機(jī)為動(dòng)態(tài)有限狀態(tài)機(jī)2901。動(dòng)態(tài)有限狀態(tài)機(jī)的定義為狀態(tài)設(shè)置和轉(zhuǎn)變以及所有的相應(yīng)的應(yīng)用在其中的計(jì)算上的實(shí)例,可能改變以響應(yīng)于特定的定義好的情況。注意,自動(dòng)控制是靜態(tài)的還是動(dòng)態(tài)的,是本發(fā)明的一個(gè)實(shí)施例的屬性,因此限定了本發(fā)明的屬性。
動(dòng)態(tài)有限狀態(tài)機(jī)2901和有限狀態(tài)機(jī)包括相的部件,如前所述。對(duì)于該描述,特別重要的是字節(jié)流2904和中間虛擬表示2905。正如對(duì)于一個(gè)靜態(tài)有限狀態(tài)機(jī),動(dòng)態(tài)的有限狀態(tài)機(jī)2901執(zhí)行如前面定義的將字節(jié)流從字節(jié)流移入中間虛擬表示以輸入,并將中間虛擬表示的數(shù)據(jù)移動(dòng)字節(jié)流以輸出的處理。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到動(dòng)態(tài)有限狀態(tài)機(jī)既可用于輸入處理又可用于輸出處理,由于其限定的對(duì)稱性。
動(dòng)態(tài)有限狀態(tài)機(jī)2901可以定義為狀態(tài)的設(shè)置和轉(zhuǎn)變的規(guī)則Z12903和Z22902。我們定義術(shù)語(yǔ)空格對(duì)為對(duì){狀態(tài)設(shè)置,轉(zhuǎn)變規(guī)則},為定義動(dòng)態(tài)有限狀態(tài)機(jī)所必需的。因此,Z12903和Z22902都是空格對(duì)的例子。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,狀態(tài)設(shè)置和轉(zhuǎn)變規(guī)則足以唯一地限定一個(gè)有限狀態(tài)機(jī),如上面的定義。如果這樣不夠時(shí),例如可能在一個(gè)實(shí)施例中要求包括附加的功能調(diào)用,Z12903和Z22902的定義可以適當(dāng)?shù)胤艑挘绫匦璧囊蕴峁┻@樣的附加值。
限定一個(gè)動(dòng)態(tài)有限狀態(tài)機(jī)2901的是它的空格對(duì)在執(zhí)行期間改改的能力。定時(shí)、間隔、頻率及其它特定的臨時(shí)參數(shù),不認(rèn)為限定了動(dòng)態(tài)有限狀態(tài)機(jī)的屬性。進(jìn)一步,圖29中的兩個(gè)空格對(duì)(state pairs)的圖示為圖的屬性,而不是對(duì)動(dòng)態(tài)有限狀態(tài)機(jī)的屬性的限定。更特別的是,動(dòng)態(tài)有限狀態(tài)機(jī)2901可能有大量的電位狀態(tài)設(shè)置的例子,動(dòng)態(tài)有限狀態(tài)機(jī)可以由這些實(shí)例限定。術(shù)語(yǔ)分配在本文定義為有限狀態(tài)機(jī)2901被分配到一個(gè)特定的例示的值(Z12903和Z22902)的處理方法。導(dǎo)致分配一個(gè)動(dòng)態(tài)有限狀態(tài)機(jī)發(fā)生的,情況、定時(shí)及其它操作屬性不認(rèn)為限定了一個(gè)動(dòng)態(tài)有限狀態(tài)機(jī)2901的屬性。
兩個(gè)優(yōu)選實(shí)施例都和現(xiàn)有系統(tǒng)形成對(duì)比,因?yàn)樵诖硕x了這樣的分配情況,以提供圖示例子,即在本發(fā)明的一個(gè)實(shí)施例或者裝置中如何使用動(dòng)態(tài)有限狀態(tài)機(jī)2901動(dòng)態(tài)自動(dòng)產(chǎn)生和動(dòng)態(tài)刺激。同樣地,空格對(duì)分配到一個(gè)動(dòng)態(tài)有限狀態(tài)機(jī),導(dǎo)致在綜合處理期間使用的抽象公式以及自動(dòng)控制的操作屬性的改變,該改變是基于定量的參數(shù)。進(jìn)一步,由于這些實(shí)施例示范了,定進(jìn)分配能夠發(fā)生于實(shí)施例的任何操作期間,并且,因此執(zhí)行定時(shí)不是一個(gè)通用集成系統(tǒng)的分配情況的必需限定的屬性。
動(dòng)態(tài)的自動(dòng)產(chǎn)生為一個(gè)附加條件的分配,這導(dǎo)致了反映了配置參數(shù)的空格對(duì)的產(chǎn)生,并共同由用戶提供。特別地,如上定義的一個(gè)配置更新,可能由一個(gè)用戶來(lái)執(zhí)行,這導(dǎo)致為一個(gè)或多個(gè)動(dòng)態(tài)有限狀態(tài)機(jī)動(dòng)態(tài)地生成合適的相應(yīng)的空格對(duì)。在此例中,Z22902能表示一個(gè)空格對(duì),該空格對(duì)被生成以響應(yīng)于由用戶執(zhí)行的配置更新。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到動(dòng)態(tài)自動(dòng)生成獨(dú)立于為一個(gè)特定有限狀態(tài)機(jī)的狀態(tài)設(shè)置或轉(zhuǎn)變規(guī)則,因此在本發(fā)明中,是通用適用的。
動(dòng)態(tài)刺激為一個(gè)條件性的分配,它修改了由動(dòng)態(tài)有限狀態(tài)機(jī)2901基于定量的動(dòng)態(tài)參數(shù)使用的空格對(duì),從屬于或者獨(dú)立于當(dāng)時(shí)特定的綜合處理發(fā)生的規(guī)定。動(dòng)態(tài)刺激源可能以至少兩種方式發(fā)生自-反射或非自反射。自反射動(dòng)態(tài)刺激分配由于一個(gè)條件分配限定,該條件分配由一個(gè)動(dòng)態(tài)狀態(tài)機(jī)器自己調(diào)用等效地,動(dòng)態(tài)狀態(tài)機(jī)器調(diào)用必需的操作,無(wú)論如何,這可以在一個(gè)實(shí)施例中實(shí)現(xiàn),以執(zhí)行分配。非自反射動(dòng)態(tài)刺激分配被限定為,為動(dòng)態(tài)有限狀態(tài)機(jī)分配任一的空格對(duì),該分配產(chǎn)生以響應(yīng)于定量的動(dòng)態(tài)參數(shù),如此所定義的,由除了有限狀態(tài)機(jī)以外的任一的邏輯執(zhí)行,有限狀態(tài)機(jī)的空格對(duì)此時(shí)正被修改。
通用邏輯綜合數(shù)據(jù)流多協(xié)議集成系統(tǒng)步驟的一個(gè)操作的補(bǔ)充部分是,為多協(xié)議集成系統(tǒng)的邏輯數(shù)據(jù)流的方法定義,被稱為通用邏輯綜合數(shù)據(jù)流(ULID)。更特別地是,該定義表達(dá)了使用本發(fā)明的實(shí)施方案實(shí)現(xiàn)一個(gè)功能性的多協(xié)議綜合方法基本意圖和設(shè)計(jì)。進(jìn)定步,ULID的式子進(jìn)一步例證了本發(fā)明在一個(gè)多協(xié)議集成系統(tǒng)上使用一個(gè)獨(dú)立于應(yīng)用協(xié)議的綜合的方法傳遞操作。ULID進(jìn)一步示范了本發(fā)明如何和以前的系統(tǒng)對(duì)比,以及和通用計(jì)算機(jī)對(duì)比,由于ULID特別地限定了不是通常的可編程的數(shù)據(jù)流的公式。
ULID由多個(gè)分立成分組成,其中各部分合作為本發(fā)明的邏輯數(shù)據(jù)流限定實(shí)施方案。對(duì)ULID的討論從對(duì)結(jié)合圖2和3如上所述接口、有限狀態(tài)機(jī)、和虛擬中間表示詳細(xì)說(shuō)明數(shù)據(jù)流開始。該使用這些成分最初的數(shù)據(jù)流足以符合本發(fā)明作為一個(gè)通用集成系統(tǒng)的要求。連續(xù)的多級(jí)條件數(shù)據(jù)流(SMCD)在下面描述,它是ULID的一個(gè)優(yōu)選實(shí)施例。另外所使用的技術(shù)概念性地相似于上面一為PPF的優(yōu)選實(shí)施例描述的方法,ULID的一個(gè)優(yōu)選實(shí)施例能相似地使用如上所述本發(fā)明的硬件實(shí)施方案來(lái)實(shí)現(xiàn)。
連續(xù)的多級(jí)條件數(shù)據(jù)流已經(jīng)對(duì)包含在ULID的獨(dú)立部分的多個(gè)分立成分的抽象公式進(jìn)行了描述,下面將描述一個(gè)被稱為連接多級(jí)條件數(shù)據(jù)流(SMCD)的邏輯數(shù)據(jù)流實(shí)施方案,其為分立成分提供了一個(gè)統(tǒng)一的框架。特別地,一個(gè)可自適應(yīng)配置的連續(xù)的三流水線流結(jié)構(gòu)獨(dú)立于描述的以及圖示的應(yīng)用協(xié)議。
圖15提供了圖13的一個(gè)放大視圖,以集中圖示附加的數(shù)據(jù)流和相應(yīng)的綜合交換和轉(zhuǎn)換操作1501,可以任選地在中間虛擬表示矩陣1303、1304之間被簡(jiǎn)化??紤]到圖15,下面描述上述的接口、有限狀態(tài)機(jī)和虛擬中間表示的數(shù)據(jù)流如何合并入一個(gè)復(fù)合的抽象公式,由于數(shù)據(jù)流被稱為連續(xù)多級(jí)條件數(shù)據(jù)流(SMCD)1501。
圖16提供了在圖13上重疊了三個(gè)流水線1601、1602、1603的圖。該圖中的成分代表ULID的SMCD實(shí)施方案的屬性,由此不能被認(rèn)為限定了本發(fā)明的屬性。特別地,在SMCD中的數(shù)據(jù)流分至三個(gè)流水線中,并且都是并行的一個(gè)前綴流水線、一個(gè)中綴流水線和一個(gè)后綴流水線。流水線單獨(dú)立地運(yùn)行,如它們最的互相依賴起于在它們之間連接通過(guò)的數(shù)據(jù)。進(jìn)一步,可能有每個(gè)流水線獨(dú)立和并行運(yùn)行的一個(gè)或多個(gè)例子,依特定的被本發(fā)明處理的綜合方法。
如上所述接口、有限狀態(tài)機(jī)和中間虛擬表示的一個(gè)或多個(gè)例子,可能為一個(gè)包括了前綴流水線1601和后綴流水線1603兩者或其中之一的部分。如下面要詳細(xì)說(shuō)明的,前綴流水線1601或者后綴流水線1603的屬性可能隱含對(duì)于就有限狀態(tài)機(jī)的某個(gè)功能性的要求。
數(shù)據(jù)流連續(xù)地從前綴1601到中綴并以后綴結(jié)束。無(wú)論如何,如果對(duì)一個(gè)給定的處理的綜合要求不要求中綴流水線提供的能力,則它可能在每處理、每數(shù)據(jù)或其它突出的要素的處理過(guò)程中被漏掉。前綴流水線1601和后綴流水線1603為物理的流水線,正如它們?cè)谔囟ǖ?即預(yù)先限定的)綜合接口被執(zhí)行在一個(gè)輸入接口上執(zhí)行的前綴流水線和在一個(gè)輸出流水線上執(zhí)行的后綴流水線。中綴流水線1602可能為一個(gè)虛擬的流水線,可能由于概念上的便利而存在,因此不歸于一個(gè)特定的集成卡。而中綴流水線可能由能分配到輸入和輸出接口上的復(fù)合的轉(zhuǎn)換操作組成。本領(lǐng)域技術(shù)人中會(huì)認(rèn)識(shí)到,該3級(jí)SMCD設(shè)計(jì)可以等效地用公式表示為一個(gè)2級(jí)設(shè)計(jì),因?yàn)橹芯Y流水線可以為虛擬的。在此提出的3級(jí)設(shè)計(jì)只是為了描述清楚。
參照?qǐng)D17,SMCD 1700為一個(gè)或多個(gè)前綴流水線1701、零個(gè)或多個(gè)中綴流水線1702、及一個(gè)或多個(gè)后綴流水線1703的集合。一個(gè)單獨(dú)受到綜合處理的數(shù)據(jù)被一個(gè)前綴流水線1704所接收,并任選地傳遞到一個(gè)中綴流水線1702,傳遞到一個(gè)后綴流水線1704,之后被后綴流水線1704傳送到目的系統(tǒng)。任何流水線的單獨(dú)一次重復(fù)被稱為一個(gè)周期;通過(guò)整個(gè)處理的數(shù)據(jù)的邏輯片的傳送(即通過(guò)所有流水線的重復(fù),如由可配置的轉(zhuǎn)換規(guī)則,諸如通過(guò)1704、1705、1706圖示的例子)被稱為完成。
數(shù)據(jù)流的設(shè)計(jì)最低限度要求一個(gè)單個(gè)交叉,一個(gè)交叉被定義為一個(gè)簡(jiǎn)化交換的邏輯互連,也被稱為在一個(gè)或多個(gè)流水線之中的中間虛擬表示的表示交換。對(duì)于一個(gè)單個(gè)的交叉設(shè)計(jì),該設(shè)計(jì)使用中綴交叉。對(duì)于一個(gè)三交叉設(shè)計(jì),該設(shè)計(jì)使用所有的三個(gè)圖解的交叉1708。為了說(shuō)明,我們假設(shè)在本發(fā)明的一個(gè)特定的例子中有α個(gè)前綴流水線,β個(gè)中綴流水線,以及X個(gè)后綴流水線。因此,最少的交叉要求α-到-β互連。交叉1707為一個(gè)前綴交叉,在α個(gè)前綴流水線和β個(gè)中綴流水線以及X個(gè)后綴流水線之間提供了連接。交叉1708為中綴交叉連接了β個(gè)中綴流水線的每一個(gè)。中綴流水線交換在下面描述。
本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,由于在前綴流水線和后綴流水線之間通過(guò)交叉提供了直接的連接,交叉1707和1709是等效的。因此,是有兩個(gè)還是有三個(gè)交叉是實(shí)施方案的細(xì)節(jié),并不是數(shù)據(jù)流交叉結(jié)構(gòu)的一個(gè)限定的屬性。交叉的電學(xué)互連、光學(xué)互連及其它操作屬性(如阻塞、交換、蠕蟲洞)也被認(rèn)為是實(shí)施方案的細(xì)節(jié)。交叉是否為依據(jù)流水線的周期時(shí)間時(shí)分,也不被認(rèn)為是數(shù)據(jù)流交叉結(jié)構(gòu)的限定的屬性,而是一個(gè)實(shí)施方案的屬性。
在該數(shù)據(jù)流結(jié)構(gòu)中的所有轉(zhuǎn)換被稱為實(shí)質(zhì)上的順序,由于所有的轉(zhuǎn)換是在字節(jié)(等效地被稱為流)的邏輯序列上執(zhí)行的,并且轉(zhuǎn)換實(shí)質(zhì)上假設(shè)在整個(gè)序列中的字節(jié)可以隨機(jī)存取的方式存取,雖然字節(jié)不能在同一時(shí)間都存放在存儲(chǔ)器中,并且不能被隨機(jī)存取(例如它們可以被重復(fù)地處理)。進(jìn)一步,使用RPSA的SMCD的一個(gè)優(yōu)選實(shí)施例將便于SPCD處理邏輯有限(有界限)和無(wú)限(無(wú)界限)長(zhǎng)的流,不象現(xiàn)有技術(shù)系統(tǒng)只支持邏輯有限的流。
雖然不是SMCD的一個(gè)限定的屬性,SMCD的一個(gè)優(yōu)選實(shí)施例使用MRTR,如上所述,作為一個(gè)標(biāo)準(zhǔn)的用于連合的跨越所有的流水線的中間表示。在這樣的實(shí)施方案中,故意使用MRTR流過(guò)系統(tǒng)的所有的數(shù)據(jù)應(yīng)該被分離包裝進(jìn)一個(gè)可變長(zhǎng)度的多維區(qū)域。因此,MRTR為一個(gè)在概念上等效于在物理層設(shè)備上的“分組”。進(jìn)一步,不同中間表示的使用,諸如MRTR,使所有流水線通利用同一個(gè)周期。由于MRTR獨(dú)立于應(yīng)用協(xié)議,MRTR能進(jìn)一步被用作為一個(gè)跨越了所有的流水線的共同的中間表示,與被每個(gè)流水線處理的應(yīng)用協(xié)議無(wú)關(guān)。
為綜合處理,在所有的流水線上使用一個(gè)帶有均勻的間隔的處理周期的能力,是本發(fā)明所特有的,并且在本質(zhì)上和不現(xiàn)有系統(tǒng)不同,現(xiàn)有系統(tǒng)不擁有任何在應(yīng)用協(xié)議或綜合處理中的這樣的規(guī)則的周期。因此,在現(xiàn)有系統(tǒng)中的所有的關(guān)于通信(流,插座,端子,等)的共同的成語(yǔ)都消失了,變成一個(gè)單個(gè)的在利用了MRTR的SMCD中的抽象概念(MRTR)。在該數(shù)據(jù)流結(jié)構(gòu)中,一個(gè)或多個(gè)數(shù)據(jù)接收器可能被提供。要本文中,一個(gè)數(shù)據(jù)接收器被限定為通過(guò)數(shù)據(jù)流的一個(gè)交替的處理路由,這導(dǎo)致了數(shù)據(jù)停止并放入臨時(shí)或永久存儲(chǔ)器中。數(shù)據(jù)接收器可以近似為在信息隊(duì)列(MQ)或者公布和預(yù)訂(PS)結(jié)構(gòu)中的死信息隊(duì)列(DMQS)。和現(xiàn)有技術(shù)系統(tǒng)對(duì)比,物理層裝置,諸如路由器或交換機(jī)沒(méi)有任何相似的數(shù)據(jù)接收器分組或者沒(méi)有記載的下沉(如在競(jìng)爭(zhēng)或?yàn)椴豢蛇_(dá)的UDP分組)或者從不連接(如在TCP中)。數(shù)據(jù)接收器在數(shù)據(jù)流結(jié)構(gòu)中是必需的以支持一次且只有一次的傳送(O3),處理的語(yǔ)義,數(shù)據(jù)確認(rèn),異常的解決,狀態(tài)一致以及狀態(tài)保存。
每個(gè)單獨(dú)的處理步驟如下例示,其中一個(gè)流水線被稱為一個(gè)連接點(diǎn)并且所有的結(jié)合點(diǎn)的收集被稱為連接點(diǎn)集。該數(shù)據(jù)流結(jié)構(gòu)被稱為與在此情況下有關(guān)的不透明,如流水線、連接點(diǎn)、中間虛擬表示以及所有的在SMCD中的其它組成部分,該組成部分依賴一個(gè)不透明的識(shí)別標(biāo)記。一個(gè)不透明的識(shí)別標(biāo)限定為沒(méi)有對(duì)下一步處理哪一個(gè)數(shù)據(jù)限定物理語(yǔ)境的標(biāo)示。這從本質(zhì)上區(qū)別于所有其它類型的中間設(shè)備和現(xiàn)有系統(tǒng),其中隱式地知道目的地的識(shí)別標(biāo)示為必要條件。例如,在插座中,應(yīng)該知道地址端口,在MQ/PS中應(yīng)該知道地址隊(duì)列名稱,在RPC應(yīng)該知道地址操作名稱,而在數(shù)據(jù)庫(kù)中應(yīng)該知道地址表。本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到使用名稱分辯服務(wù)(諸如因特網(wǎng)域名服務(wù)器DNS)沒(méi)有減輕知道目的地址的必要性,它們只為系統(tǒng)提供比較容易被人記住的名稱。
參考圖18,以前綴流水線1801開始并以最后得到的中間表示1805結(jié)束的數(shù)據(jù)流,通過(guò)1804傳送到中綴流水線還是后綴流水線,依被處理的特定數(shù)據(jù)的中綴處理的任選項(xiàng)而定。前綴流水線1801從接受應(yīng)用協(xié)議開始,應(yīng)用協(xié)議被集成系統(tǒng)通過(guò)一個(gè)通過(guò)節(jié)字節(jié)流1803通信的應(yīng)用協(xié)議連接。最初由一個(gè)有限狀態(tài)機(jī)執(zhí)行的一個(gè)或多個(gè)處理步驟,順序地執(zhí)行接合1808、1809、1810和1813。任何發(fā)生在前綴流水線1801中的處理過(guò)程中的異常均使用一種為實(shí)施方案屬性的操作機(jī)制通過(guò)1816報(bào)告到異常表1807。后備緩沖器1806使用一種被認(rèn)為是一個(gè)實(shí)施方案屬性的操作機(jī)制,通過(guò)1815而被訪問(wèn)。
協(xié)議解釋連接點(diǎn)1808用來(lái)解釋特定的應(yīng)用協(xié)議的基礎(chǔ)結(jié)構(gòu)。例如,協(xié)議解釋可執(zhí)行所有處理以解碼、解密、重新排序、差錯(cuò)覆蓋、流量控制和其他類似任務(wù),這些與圖示的數(shù)據(jù)解釋無(wú)關(guān)。在物理層設(shè)備上來(lái)組幀和類似面向幀的操作(如OSI的層2),連接點(diǎn)1808在概念上是相同的,而功能上是不同的。
當(dāng)必要時(shí),格式分析/部件裝置連接點(diǎn)1809用來(lái)解釋數(shù)據(jù)格式,這種數(shù)據(jù)格式通過(guò)協(xié)議解釋連接點(diǎn)1808為解釋做準(zhǔn)備。連接點(diǎn)1809的主要目的是變換數(shù)據(jù),變換成一種為應(yīng)用協(xié)議抽象規(guī)則化的程序塊結(jié)構(gòu)(例如,MQ、RPC等),該數(shù)據(jù)輸入結(jié)構(gòu)直接取決于應(yīng)用協(xié)議。例如格式分析能執(zhí)行所有必要的處理來(lái)解釋數(shù)據(jù)格式的語(yǔ)義,包括例如數(shù)據(jù)確認(rèn)和圖標(biāo)映射等操作。
當(dāng)必要時(shí),基于根據(jù)應(yīng)用協(xié)議定義的參數(shù),濾波器/分類連接點(diǎn)1810用來(lái)依據(jù)程序執(zhí)行任意復(fù)合濾波和分類操作。連接點(diǎn)1810支持能邏輯指定的任何操作。這個(gè)連接點(diǎn)1810的主要目的是執(zhí)行數(shù)據(jù)選擇、數(shù)據(jù)確認(rèn)、數(shù)據(jù)整形和其它概念上類似的規(guī)則,這些規(guī)則取決于數(shù)據(jù)結(jié)構(gòu)或規(guī)則的變化。
轉(zhuǎn)置連接點(diǎn)1811用來(lái)變換程序,對(duì)于處理應(yīng)用協(xié)議的連接點(diǎn)來(lái)說(shuō),這些程序是循環(huán)程序,變換成中間虛擬表示1812(例如MRTR)。因而,在有限狀態(tài)機(jī)1802中這是至關(guān)重要的連接點(diǎn),該連接點(diǎn)準(zhǔn)備好源于應(yīng)用協(xié)議的數(shù)據(jù),而該應(yīng)用協(xié)議的數(shù)據(jù)是要被集成系統(tǒng)的剩余部分處理的,該系統(tǒng)使用共用中間表示1812。
當(dāng)必要時(shí),基于根據(jù)中間虛擬表示所定義的參數(shù),濾波器/分類表示連接點(diǎn)1810用來(lái)根據(jù)中間虛擬表示實(shí)例1812,執(zhí)行任意復(fù)合濾波和分類操作。連接點(diǎn)1813的輸出是來(lái)自前綴流水線1801的中間虛擬表示的結(jié)果。在連接點(diǎn)1813和連接點(diǎn)1810之間的不同,就是濾波器/分類操作是在連接點(diǎn)1810中在應(yīng)用協(xié)議上定義的,而在連接點(diǎn)1813中是在中間虛擬表示上定義的。
用于前綴流水線1801循環(huán)的有限狀態(tài)機(jī)是一種程序,該程序是一種數(shù)據(jù)遞增。術(shù)語(yǔ)遞增的定義取決于應(yīng)用協(xié)議,但抽象表示一種數(shù)據(jù)集合,數(shù)據(jù)集合是組成的一種邏輯組。例如,一種應(yīng)用協(xié)議執(zhí)行隊(duì)列抽象(例如Java消息服務(wù)),這種協(xié)議定義了一種信號(hào)邏輯出列遞增程序。相反,一種執(zhí)行(目標(biāo))遠(yuǎn)程程序呼叫的(例如CORBA、RMI或SOAP)應(yīng)用協(xié)定義了一種功能調(diào)用遞增程序。
如上所述,有限狀態(tài)機(jī)輸出一種中間虛擬表示1812。根據(jù)上面定義的情況,這種中間虛擬表示1812沒(méi)有或有多個(gè)外部連接有限狀態(tài)機(jī)的連接點(diǎn)處理(例如連接點(diǎn)1813),并且中間表示結(jié)果1805傳送給中間或后綴流水線任意一個(gè)。
有限狀態(tài)機(jī)1802以及連接點(diǎn)1813的操作功能或效果可由配置表1814提供參數(shù)說(shuō)明。配置表在GFIP中的作用和其在提供配置說(shuō)明的作用在上面已經(jīng)描述了。同樣,雖然沒(méi)有SMCD的一種規(guī)定屬性,SMCD的一個(gè)優(yōu)選實(shí)施例使用了動(dòng)態(tài)有限狀態(tài)機(jī)以便于動(dòng)態(tài)配置。
基于綜合處理的具體細(xì)節(jié),或配置表保留的參數(shù),通過(guò)字節(jié)流1803連接的系統(tǒng)特性,或其它概念上類似的參數(shù),可以省略一個(gè)或多個(gè)連接點(diǎn)的處理。例如,濾波器/分類程序連接點(diǎn)1810的執(zhí)行可能不是綜合處理一般所需的,該綜合處理沒(méi)有定義一種邏輯濾波器操作。最后,本領(lǐng)域技術(shù)人員將能意識(shí)到流水線的功能也能由連接點(diǎn)執(zhí)行,連接點(diǎn)可以是任一個(gè)或兩個(gè)有限狀態(tài)機(jī)1802,或邏輯連接到外部的有限狀態(tài)機(jī)1802,例如濾波器/分類表示連接點(diǎn)1813。
參照?qǐng)D19,后綴流水線1901是前綴流水線的一種對(duì)稱映射。因此,后綴流水線的輸入數(shù)據(jù)流就是一種連續(xù)的中間虛擬表示1903,而輸出是由一個(gè)有限狀態(tài)機(jī)1902處理過(guò)的字節(jié)流1904,根據(jù)相互認(rèn)同的應(yīng)用協(xié)議,該有限狀態(tài)機(jī)1902與連接的系統(tǒng)通信。后綴連接點(diǎn)的操作分別連續(xù)對(duì)稱,相當(dāng)于為前綴連接點(diǎn)所定義的。在圖18和圖19的模塊之間的對(duì)稱通信是1804-1903、1805-1905、1806-1906、1807-1907、1808-1913、1809-1912、1810-1911、1811-1910、1812-1909、1813-1908、1814-1914、1815-1916、1816-1915。給定這種對(duì)應(yīng)關(guān)系,每個(gè)連接點(diǎn)的說(shuō)明正是顛倒這種連續(xù)對(duì)稱,相當(dāng)于上面為前綴流水線提供的那些說(shuō)明,該前綴流水線具有來(lái)自中間虛擬表示1905的輸入數(shù)據(jù)和輸出到字節(jié)流1904的數(shù)據(jù)。為了簡(jiǎn)明,在這里沒(méi)有復(fù)制這些說(shuō)明。
參照?qǐng)D20,當(dāng)前綴流水線2005的執(zhí)行和在前的后綴流水線2016的執(zhí)行完成后,中綴流水線2001可以任意選擇執(zhí)行。當(dāng)從前綴流水線輸入一個(gè)中間虛擬表示2006時(shí),中綴流水線接收。中綴流水線輸出一個(gè)中間虛擬表示2015,并傳送到后綴流水線。中綴流水線包括多個(gè)配置表2002或沒(méi)有,這些表由每個(gè)連接點(diǎn)通過(guò)2019進(jìn)行訪問(wèn)。在中綴流水線2001中處理期間,可能出現(xiàn)使用一種實(shí)施例屬性的操作機(jī)制的一些異常,這些異??梢詧?bào)告給多個(gè)異常表2004,連接點(diǎn)通過(guò)2018訪問(wèn)這些表,或者不報(bào)告。使用看作實(shí)施例屬性的一種操作機(jī)制,零或多個(gè)后備緩沖器2003可以由連接點(diǎn)經(jīng)2017訪問(wèn)。
如下是中綴流水線2001的連續(xù)連接點(diǎn)處理。分類、匯編、分段2007連接點(diǎn)完成隨機(jī)組合,和基于隨機(jī)分類算法,分段操作,該算法能進(jìn)行n到m的中間表示變換。如果m<n,那么執(zhí)行匯編操作;否則,執(zhí)行一個(gè)分段操作。濾波器/分類表示2008連接點(diǎn)進(jìn)行中間表示的濾波和分類,基于濾波和分類算法的屬性。濾波器/分類表示2013和分類、匯編和分段2014連接點(diǎn)連續(xù)對(duì)稱,相當(dāng)于各連接點(diǎn)2008和2007。從分類、匯編和分段2014的輸出是中間虛擬表示2015,并輸出到后綴流水線2016。
前綴變換2009,通用虛擬表示1010,和后傳送裝置2012構(gòu)成了本發(fā)明定義的通用數(shù)據(jù)流的核心。特別是,前綴變換2009將來(lái)自前綴流水線的中間表示變換成一種通用虛擬表示2010。后綴變換2012執(zhí)行反變換,將通用虛擬表示2010轉(zhuǎn)換成一種中間表示。
除了規(guī)定通用虛擬表示2010與前中間表示2006和后中間表示2015無(wú)關(guān),數(shù)據(jù)流結(jié)構(gòu)對(duì)這種通用虛擬表示2010沒(méi)有限定任何特定屬性。優(yōu)選實(shí)施例的操作也能提供這種通用虛擬表示,用于操作的優(yōu)選實(shí)施例包括在上面已經(jīng)提到的以下內(nèi)容數(shù)值變換、模式變換和一階邏輯。
如上所述,中交叉開關(guān)2011具有中綴流水線開關(guān),便于中綴流水線之間的中間虛擬表示交換。由于在中綴流水線中交換中間表示對(duì)于最小化功能數(shù)據(jù)流設(shè)計(jì)不是一種必須的屬性,所以中交叉開關(guān)2011的存在或不存在考慮到了實(shí)施例的屬性。
連續(xù)、不透明多隊(duì)列數(shù)據(jù)處理本領(lǐng)域技術(shù)人員將能認(rèn)識(shí)到使用很多不同的邏輯等價(jià)技術(shù),本發(fā)明的單個(gè)連接在多個(gè)實(shí)施例中都能計(jì)算機(jī)實(shí)現(xiàn)。而且,連接甚至不再需要作為單獨(dú)的計(jì)算實(shí)體來(lái)實(shí)現(xiàn);例如,所有的單個(gè)連接理論上能在一個(gè)大的邏輯模塊中使用集中控制流程實(shí)現(xiàn)。
這些連接用計(jì)算機(jī)實(shí)現(xiàn)結(jié)構(gòu)的一個(gè)特定實(shí)施例是本發(fā)明所特有的,并且當(dāng)與多個(gè)可選擇的實(shí)現(xiàn)比較時(shí),這些實(shí)施例是通過(guò)其有效的計(jì)算優(yōu)勢(shì)推動(dòng)的。該特定實(shí)施例被稱為部分連續(xù)不透明多階隊(duì)列(POMSQ)實(shí)施例。
POMSQ通過(guò)以下條件限定本發(fā)明中一個(gè)或多個(gè)連接通過(guò)一種隊(duì)列數(shù)據(jù)結(jié)構(gòu),和在該連接兩端之間的接口一起來(lái)實(shí)現(xiàn),該連接通過(guò)標(biāo)準(zhǔn)入隊(duì)和出隊(duì)操作排除限定,而這些操作又是隊(duì)列所限定的操作(這樣,在兩端之間的排除數(shù)據(jù)交換不再堅(jiān)持隊(duì)列限定的語(yǔ)義)。POMSQ是多階的,因?yàn)楸景l(fā)明將許多連接組合成一種明確的結(jié)構(gòu)。
POMSQ是連續(xù)的,如本發(fā)明所定義的在每個(gè)連接中預(yù)先限定的關(guān)系。POMSQ僅是部分連續(xù),因?yàn)殡m然每個(gè)連接具有一種預(yù)先限定的關(guān)系,但這些關(guān)系不約束經(jīng)本發(fā)明到每個(gè)連續(xù)節(jié)點(diǎn)離散數(shù)據(jù)流。特別是,根據(jù)離散數(shù)據(jù)的處理請(qǐng)求,離散數(shù)據(jù)可以給定一個(gè)通過(guò)本發(fā)明的連接的可變路徑。
用于連接的隊(duì)列的使用是本發(fā)明所特有的,因?yàn)榕c現(xiàn)有技術(shù)中存在的相比,它提供了一種可選擇的分離。特別是,當(dāng)考慮到本發(fā)明中的網(wǎng)絡(luò)通信時(shí),使用隊(duì)列用于網(wǎng)絡(luò)通信,不同于依靠遠(yuǎn)端程序呼叫、接口、數(shù)據(jù)流或分布式目標(biāo)的現(xiàn)有技術(shù)。相反,本實(shí)施例將抽象網(wǎng)絡(luò)通信作為一種隊(duì)列數(shù)據(jù)結(jié)構(gòu)。
提供一種用于本發(fā)明中連接隊(duì)列抽象的主要任務(wù)是簡(jiǎn)化數(shù)據(jù)處理階段之間的去耦。去耦具有離散階數(shù)的能力,以提供明確的功能,而不用知道數(shù)據(jù)輸入位置和數(shù)據(jù)輸出位置。這種去耦通過(guò)使用MRTR能進(jìn)行的更有效,MRTR確保請(qǐng)求數(shù)據(jù)輸入和數(shù)據(jù)輸出的結(jié)構(gòu)和相關(guān)操作能從階段中去耦。
本發(fā)明的一個(gè)實(shí)施例可以使用不透明標(biāo)識(shí)符,例如易讀的字符串,來(lái)區(qū)分單個(gè)連接隊(duì)列。因此,所有數(shù)據(jù)處理操作都通過(guò)不透明標(biāo)識(shí)符進(jìn)行定義,這些標(biāo)識(shí)符直接從與本發(fā)明通信的計(jì)算機(jī)的任何有區(qū)別的屬性去耦。相反,現(xiàn)有技術(shù)在計(jì)算中依靠透明標(biāo)識(shí)符(例如用于網(wǎng)絡(luò)通信的IP地址)。
在本發(fā)明中POMSQ的局限性是執(zhí)行高級(jí)功能的相同重要屬性。例如,如果固定地限制隊(duì)列,那么執(zhí)行服務(wù)質(zhì)量和資源分配是很容易的,這樣就能執(zhí)行在后隊(duì)列操作;例如測(cè)量隊(duì)列“充滿(fullness)”,基于隊(duì)列溢出報(bào)告階數(shù),并統(tǒng)計(jì)計(jì)算平均隊(duì)列“充滿”。
對(duì)空格(pairspace)本發(fā)明的對(duì)空格部分屬于一種特殊的方法和系統(tǒng),來(lái)實(shí)現(xiàn)一種松耦合等距分布系統(tǒng),建立在一個(gè)名稱值對(duì)的相關(guān)組之上,該名稱值對(duì)在所有節(jié)點(diǎn)中邏輯共享。這種分布式系統(tǒng)具有許多獨(dú)特的屬性,在下面有列舉,這使其理想地適于解決問(wèn)題域的粗分類中特殊計(jì)算問(wèn)題。
圖20-53對(duì)應(yīng)于本發(fā)明的對(duì)空格部分的以下描述。
本發(fā)明的對(duì)空格部分的屬性是按相同順序,如上面描述的用于分布式系統(tǒng)的垂線圖所定義的;這種順序是最佳的,因?yàn)槟苁姑總€(gè)部分的解釋更清楚,同時(shí)高亮顯示系統(tǒng)中多個(gè)部分之間的相關(guān)性。
本發(fā)明的對(duì)空格部分建立在一種單獨(dú)概念上單個(gè)相互共享組對(duì),象征性的表示為(名稱,值),這是系統(tǒng)中所有節(jié)點(diǎn)都可訪問(wèn)的。這種在所有節(jié)點(diǎn)中邏輯共享的組對(duì)被稱為一個(gè)對(duì)空格。在上面定義的術(shù)語(yǔ)中,對(duì)空格是信息流抽象。這種相互共享組對(duì)是等距的,因?yàn)橄到y(tǒng)中的每個(gè)節(jié)點(diǎn)都同樣察覺(jué)對(duì)空格。相反,現(xiàn)有技術(shù)依靠非等距系統(tǒng);例如,在客戶服務(wù)器系統(tǒng)中,與那些充當(dāng)“客戶”角色的相比,在提供“服務(wù)器”功能的節(jié)點(diǎn)之間有明顯的區(qū)別。
對(duì)空格是匿名的,因?yàn)橥ㄟ^(guò)對(duì)空格通信的節(jié)點(diǎn)不具有唯一的標(biāo)識(shí)符,并且單個(gè)節(jié)點(diǎn)之間沒(méi)有定義“直接”通信。匿名也不同于現(xiàn)有技術(shù),現(xiàn)有技術(shù)中身份的作用是很重要的。在最一般水平上,通過(guò)原節(jié)點(diǎn)指定目的節(jié)點(diǎn)的身份,數(shù)據(jù)套接字連接在節(jié)點(diǎn)之間;這樣,通過(guò)定義,套接字根據(jù)身份概念來(lái)操作則不是匿名的。
給定等距和匿名時(shí),在分布式系統(tǒng)中很多一般概念沒(méi)有應(yīng)用到這種對(duì)空格沒(méi)有匿名“服務(wù)器”和“客戶”概念,沒(méi)有連接兩個(gè)節(jié)點(diǎn)的雙向數(shù)據(jù)流,在單個(gè)節(jié)點(diǎn)之間沒(méi)有區(qū)別。這樣,信息流抽象就是一種組合(名稱,值)的對(duì)集合,可從每個(gè)節(jié)點(diǎn)等距訪問(wèn)這些對(duì)。相反,套接字和數(shù)據(jù)流抽象在現(xiàn)有技術(shù)中是非常普遍的,但在本發(fā)明的對(duì)空格部分所定義的信息流抽象中沒(méi)有作用,因?yàn)閷?duì)空格定義了一種抽象,這種抽象同時(shí)更好表達(dá)更簡(jiǎn)單。
對(duì)空格的定義特征是組對(duì)有組織的結(jié)合節(jié)點(diǎn)接入(或讀取)間隔內(nèi)的值,通過(guò)一種全局成對(duì)結(jié)合函數(shù)P(名稱)-值排除。在這種函數(shù)中,符號(hào)“名稱”約束成一種文本字母的次序,由任何書寫自然語(yǔ)言(如英語(yǔ)、法語(yǔ)、日語(yǔ))組成。這樣,間隔內(nèi)的每對(duì)利用其名稱進(jìn)行唯一識(shí)別,其名稱與一單個(gè)值連合捆綁在一起。在這個(gè)函數(shù)中,符號(hào)“值”涉及一種能組合到程序設(shè)計(jì)語(yǔ)言中的任意對(duì)象;這種對(duì)象可以包括任何語(yǔ)言的結(jié)構(gòu),生成面向?qū)ο蟮某绦?,例如一個(gè)字節(jié)、一個(gè)序列號(hào)、一個(gè)混列表、一個(gè)統(tǒng)計(jì)總帳或任何其他現(xiàn)有技術(shù)中用于操作的概念。
六個(gè)基本操作通過(guò)成對(duì)函數(shù)P定義讀、寫、移動(dòng)、通知、測(cè)試和設(shè)置,和取出與添加(RWRNTF)。以下約定,基本操作是那些不能分解成基本動(dòng)作的成對(duì)定義的操作;這與合成操作形成對(duì)照,合成操作是基本操作的合成所定義的。
六個(gè)基本操作如下定義。寫操作由將一個(gè)新的成對(duì)組合賦值到間隔中組成的,使得新的組合通過(guò)p連續(xù)訪問(wèn);這種操作需要名稱值對(duì),如上討論的名稱值對(duì)被插入到間隔中。讀取操作由檢索預(yù)先編訂到間隔中的成對(duì)組合構(gòu)成,基于一個(gè)給定的名稱通過(guò)使用p,從組{_,Value}中檢索一個(gè)確切的構(gòu)成值,組中值是任意的非空對(duì)象,從上面定義的對(duì)象組;如所討論的,這種操作需要一個(gè)單獨(dú)的名稱,并返回一個(gè)值。在上下文中,符號(hào)“_”定義為沒(méi)有值編訂到“名稱”。
移動(dòng)操作由移動(dòng)一個(gè)預(yù)先編訂的成對(duì)組合構(gòu)成,這樣被移動(dòng)對(duì)就不能再通過(guò)p連續(xù)訪問(wèn)間隔;這個(gè)操作需要來(lái)自可作為參數(shù)移動(dòng)的名稱值對(duì)的名稱。這個(gè)通知操作包括指定一個(gè)通知觸發(fā)器,當(dāng)空格中帶有一個(gè)關(guān)聯(lián),其文字匹配作為變量提供的名稱時(shí),該通知觸發(fā)器傳送信號(hào)給調(diào)用通知操作的節(jié)點(diǎn);該操作要求來(lái)自名稱-值對(duì)的名稱,其將等待基本上結(jié)合到i1:1空格。
測(cè)試和設(shè)置操作由合并讀和寫的自動(dòng)操作組成和一個(gè)從空格中讀出的給定的名稱為成對(duì)的;如果名稱沒(méi)有通過(guò)一個(gè)p映射到一個(gè)有效的值(即空格沒(méi)有對(duì)這樣的名稱的映射),則一個(gè)名稱-值對(duì)自動(dòng)被寫入空格;該操作要求名稱-值對(duì)并返回一個(gè)邏輯值值寫入為真,否則為偽。
取和加操作由一個(gè)合并了讀和寫以及數(shù)字上的加法的自動(dòng)操作組成讀一個(gè)值對(duì)(名稱、值),一個(gè)非零的量加到值的數(shù)字的量上,該新加的值寫入空格,并且預(yù)-加的值被返回;假設(shè)對(duì)中的值為數(shù)字型的,雖然該運(yùn)算要求一個(gè)名稱,一個(gè)非零的附加值,并返回一個(gè)數(shù)字。
按照前面定義的垂直的方式,這些原始的操作為本發(fā)明的空格對(duì)部分限定了使用的數(shù)量。所提供的空格對(duì)的功能上的限定因此足以確定空格對(duì)為一個(gè)能再生的通信的抽象式插入空格對(duì)的每個(gè)(名稱,值)對(duì)和將它插入的節(jié)點(diǎn)之間是不連接的;在系統(tǒng)中,在任一空格對(duì)的生命周期和任一參與的節(jié)點(diǎn)(特別是插入在這樣的對(duì)中的節(jié)點(diǎn))之間不存在互相依賴。因此,如果節(jié)點(diǎn)n寫入對(duì)(名稱,值),(名稱,值)將在空格中繼續(xù)保持可存取,不管n是否繼續(xù)參與該分布式系統(tǒng)。
原始的操作RWRNT在空格上自動(dòng)定義;特別是空格對(duì)定義以便于這里不存在任何時(shí)間,對(duì)于節(jié)點(diǎn)訪問(wèn)空格對(duì),其間沒(méi)有對(duì)脫離;在本文中,脫離被定義為一種或兩種情況下存在的情況(1)在空格中有名稱,但名稱不是有效地映射到一個(gè)值;或者(2)空格中有值,但是不被一個(gè)有效的名稱映射。自動(dòng)擔(dān)保了通報(bào)操作的有效性,由于這樣的通報(bào)觸發(fā)器保證會(huì)發(fā)生,倘若在一個(gè)非脫離對(duì)中發(fā)生了結(jié)合。
這樣的原始的操作在空格對(duì)上是如何實(shí)現(xiàn)的,不是空格對(duì)的固有的屬性,正如在計(jì)算機(jī)之間電信號(hào)如何編碼為二進(jìn)制數(shù)字不是一個(gè)數(shù)據(jù)插座的固有特性一樣;總之,在此提供一個(gè)這樣的優(yōu)選實(shí)施例,以為該操作示意通用的實(shí)現(xiàn)細(xì)節(jié)。
作為和現(xiàn)有技術(shù)的一個(gè)對(duì)比,一個(gè)空格對(duì)和一個(gè)數(shù)組空格明顯地不同;一個(gè)數(shù)組空格,在數(shù)組集上使用一個(gè)包含形式上和實(shí)質(zhì)上的域的臨時(shí)的數(shù)組(通常被稱為模式)定義了一個(gè)模式匹配功能。通常,一個(gè)數(shù)組為一個(gè)集等級(jí)上的一個(gè)例子,集等級(jí)上的元素為“名稱和值”對(duì)。這樣的一個(gè)數(shù)組空格模式匹配功能確定值和類型識(shí)別,還有例子類型等式。因此,可以認(rèn)為空格對(duì)和數(shù)組空格在概念上是相似的,但是它們固有的特性和優(yōu)選實(shí)施例是明顯不同的。
因此,分布式系統(tǒng)的信息的抽象,其中本發(fā)明的雙空格部分定義為只是一個(gè)相關(guān)的雙空格,帶有5個(gè)原始的操作;和現(xiàn)有技術(shù)形成鮮明的對(duì)比,現(xiàn)有技術(shù)定義了一個(gè)雙向的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)插座作為一個(gè)原始的信息抽象,不管明確規(guī)定還是運(yùn)用。
因此一個(gè)雙空格可以分為兩個(gè)不同類型臨時(shí)的和永久的;特別是,每個(gè)雙空格的一個(gè)固有的屬性為,存儲(chǔ)的名稱值是臨時(shí)性存儲(chǔ)的還是永久性存儲(chǔ)的。臨時(shí)雙空格為一個(gè)“記憶-少”的信息抽象當(dāng)空格關(guān)閉時(shí)(空格關(guān)閉被限定為一系列的步驟,導(dǎo)致空格不能被節(jié)點(diǎn)訪問(wèn),不管明確地通過(guò)節(jié)點(diǎn)關(guān)閉還是由于分布式系統(tǒng)的功率損耗導(dǎo)致的關(guān)閉)空格中的所有值丟失。永久性空格對(duì)為一個(gè)信息流的抽象,該抽象有“記憶”所有寫入空格的值保持為可存取的,直到明確地被一個(gè)節(jié)點(diǎn)移動(dòng),不考慮中間的空格關(guān)閉。
認(rèn)為臨時(shí)性為信息抽象不同于現(xiàn)有技術(shù)的一個(gè)標(biāo)志性屬性?,F(xiàn)有技術(shù)假設(shè)這樣的時(shí)間動(dòng)態(tài)的功能是由獨(dú)立的內(nèi)容限定的,該獨(dú)立的內(nèi)容覆蓋了關(guān)于信息抽象的功能;比如,永久性甚至不是在雙向數(shù)據(jù)插座的方法和系統(tǒng)所要考慮的事項(xiàng),因?yàn)樵谧x和寫字節(jié)范圍之外永久性下降。
就前面定義的垂直模式來(lái)說(shuō),空格對(duì)作為信息抽象是值得注意的,因?yàn)樗膶傩詾橐粋€(gè)全面表示數(shù)據(jù)協(xié)議的自描述(名稱、值)對(duì)的設(shè)置,6個(gè)原始的操作,操作的可分性,設(shè)置的臨時(shí)性;所有操作是基于文字的字母(相應(yīng)于語(yǔ)言的字母的等規(guī)則;比如,一些自然的語(yǔ)言在某個(gè)字的組合執(zhí)行文字上比較的區(qū)別,諸如“ch”在西班牙語(yǔ)中)同序列的一個(gè)相等比較。等效地,空格對(duì)不要求節(jié)點(diǎn)定義一個(gè)數(shù)據(jù)協(xié)議以便于構(gòu)成信息流。這是特別值得注意的,在現(xiàn)有技術(shù)中限定的信息的抽象要求節(jié)點(diǎn)定義這樣的數(shù)據(jù)協(xié)議,以實(shí)現(xiàn)任意類型的結(jié)構(gòu)信息流。比如,數(shù)據(jù)插座要求節(jié)點(diǎn)規(guī)定一個(gè)面向字節(jié)的編碼并為了交換的目標(biāo)進(jìn)行格式化;數(shù)組空格要求節(jié)點(diǎn)規(guī)定例子的類型值的運(yùn)算{小于,等于},該運(yùn)算是為系統(tǒng)中已經(jīng)定義好的目標(biāo)運(yùn)行。
在前面定義的垂直模式之后,本發(fā)明的空格對(duì)部分定義了幾個(gè)附加的邏輯結(jié)構(gòu),該邏輯結(jié)構(gòu)建立在信息抽象空格對(duì)上透明的分布式無(wú)用信息收集,自適應(yīng)地基于授權(quán)的目標(biāo)調(diào)用,并通過(guò)透明的通用的自適應(yīng)授權(quán)支持不同的分布式目標(biāo)系統(tǒng)。這些由空格對(duì)的定義組成邏輯結(jié)構(gòu)導(dǎo)致一個(gè)定義好的分布式系統(tǒng)。并且,該附加的邏輯結(jié)構(gòu)對(duì)于將本發(fā)明的空格對(duì)部分和現(xiàn)有技術(shù)的顯著的方面進(jìn)行對(duì)比是非常重要的。
資源管理透明的分布式無(wú)用信息收集在確定本發(fā)明的空格對(duì)部分的實(shí)際應(yīng)用時(shí),對(duì)填進(jìn)到空格對(duì)的目標(biāo)的生命周期的管理有特殊的興趣,因?yàn)檫@些法則為空格對(duì)信息抽象定義了資源的管理;特別是,空格對(duì)的定義至今缺少關(guān)于填入其中的對(duì)(名稱,值)的生命周期的語(yǔ)義。這是需要特別關(guān)注的,為無(wú)限數(shù)的插入空格的目標(biāo)給定一個(gè)非常相似的電位,沒(méi)有實(shí)質(zhì)上的移位。當(dāng)然,這樣的情況會(huì)導(dǎo)致系統(tǒng)失敗,由于消耗了分布式系統(tǒng)所能利用的所有計(jì)算資源。
本發(fā)明的空格對(duì)部分在空格對(duì)上定義了一個(gè)參考計(jì)數(shù)的分布式無(wú)用信息收集算法,當(dāng)為了節(jié)點(diǎn)和一個(gè)系統(tǒng)混合,該節(jié)點(diǎn)支持基于范圍的無(wú)用信息收集,這導(dǎo)致了為本發(fā)明的空格對(duì)部分提供一個(gè)透明的分布式無(wú)用信息收集{TDGC}資源管理方法和系統(tǒng)。下面的描述假設(shè)存在為每個(gè)節(jié)點(diǎn)的基于范圍的無(wú)用信息收集;這是一個(gè)合理的假設(shè),因?yàn)楝F(xiàn)有技術(shù)證明了這樣的系統(tǒng)可以構(gòu)成;并且支持這樣的非分布式的無(wú)用信息收集的系統(tǒng)現(xiàn)在正被通用(例如Java)。
在本發(fā)明的空格對(duì)部分實(shí)現(xiàn)TDGC不同于現(xiàn)有技術(shù),由于空格對(duì)為一個(gè)公用的信息流抽象這一事實(shí)。這樣的話,本地的基于于代理目標(biāo)基準(zhǔn)計(jì)數(shù),由于和現(xiàn)有技術(shù)的使用的為一個(gè)公用的結(jié)構(gòu),并且對(duì)這樣的TDSG是不適當(dāng)?shù)模驗(yàn)檫@里沒(méi)有“本地表示”的觀念,并且在“處理”之間沒(méi)有區(qū)別,因?yàn)樗械耐ㄟ^(guò)一個(gè)空格對(duì)通信信息的節(jié)點(diǎn)和相應(yīng)的分布式系統(tǒng)是等容量的。
透明的分布式無(wú)用信息收集由抽象基準(zhǔn)計(jì)數(shù)(在現(xiàn)有技術(shù)中在技術(shù)上是建立好的)的概念在一個(gè)空格對(duì)上定義;特別是一個(gè)通用的等容量的基準(zhǔn)計(jì)數(shù){GIRC}可以為每個(gè)對(duì)定義,這被限定為是一個(gè)非負(fù)的值。該基準(zhǔn)計(jì)數(shù)為等量的,因?yàn)樗幌抻谌我环至⒌墓?jié)點(diǎn),而它本身為一個(gè)在空格中的{名稱,值}對(duì)。因此,對(duì)于在空格對(duì)中的每個(gè)對(duì)(x,y),一個(gè)第二“GC對(duì)”存在(x0,П)其中x0表示為對(duì)(x,y)的計(jì)數(shù)識(shí)別,并且П為一個(gè)非負(fù)的綜合代表當(dāng)前的數(shù)字GIRC。
定義在空格對(duì)上的兩個(gè)復(fù)合的操作是TDGC的基礎(chǔ)鎖定和解鎖。鎖定操作為一個(gè)對(duì)的GIRC加一,而解鎖操作為一個(gè)對(duì)的GIRC減一。兩個(gè)操用都是用原始的取和加在GIRC上執(zhí)行的,GIRC和鎖定的對(duì)有關(guān),特別是在偽隨機(jī)碼如功能鎖定(在名稱中)返回取和加(名稱,1)結(jié)束功能功能解鎖(在名稱中)返回取和加(名稱,-1)結(jié)束功能由于這些定義隱含,在空格中被定義為調(diào)用(名稱,值)的鎖定操作的次數(shù)的對(duì)(名稱,值)的GIRC值,小于調(diào)用(名稱,值)的解鎖操作的次數(shù)。這樣的鎖定/解鎖操作的周期依靠空格對(duì)的臨時(shí)性來(lái)維持;特別是,永久性空格對(duì)限定GIRCs不變,而臨時(shí)性的空格對(duì)在每個(gè)空格關(guān)閉時(shí)歸零所有的GIRCs。
空格對(duì)DGC算法可用這種表達(dá)式簡(jiǎn)要地規(guī)定為移位對(duì)(x,y)如果GC對(duì)為(a0,0)。該簡(jiǎn)要的公式是值得注意的,因?yàn)楝F(xiàn)有技術(shù)中的GC算法明顯更復(fù)雜。為了保證是可分的,空格對(duì)應(yīng)該更迫切地(與遲鈍地相反)實(shí)現(xiàn)該算法,以確保不存在一個(gè)對(duì)(a0,b)如(a0,0)相應(yīng)于通過(guò)空格通信信息的節(jié)點(diǎn)。在空格中的所有對(duì)上實(shí)現(xiàn)的算法,被本發(fā)明的空格對(duì)部分定義,這是空格對(duì)信息流抽象的屬性。
當(dāng)GIRC和空格對(duì)DBC算法和節(jié)點(diǎn)混合時(shí),分布式無(wú)用信息收集的透明性出現(xiàn),該節(jié)點(diǎn)實(shí)現(xiàn)透明的局部無(wú)用信息收集(LGC),諸如基于現(xiàn)有技術(shù)公用的范圍的“可達(dá)性”算法。精確的LGC是如何被每個(gè)節(jié)點(diǎn)實(shí)現(xiàn)的機(jī)制是不相關(guān)的,假如存在的話。透明性由一對(duì)一次的調(diào)用解鎖操作(被LGC,或者相關(guān)的系統(tǒng))來(lái)實(shí)現(xiàn),這在前面通過(guò)讀取操作恢復(fù),這在節(jié)點(diǎn)上是不可達(dá)的。因此,LGC為提供一個(gè)裝置以為程序員消除顯性的跟蹤GIRC,因?yàn)長(zhǎng)GC的范圍可達(dá)的規(guī)則在必要時(shí)顯性調(diào)用解鎖操作。
使用現(xiàn)有技術(shù)的基于范圍的無(wú)用信息收集的術(shù)語(yǔ),該TDGC算法實(shí)現(xiàn)了一個(gè)空格對(duì)寬的GC政策,這確保了在任何時(shí)間保持可存取的(即和空格對(duì)不時(shí)無(wú)結(jié)合的),該任何時(shí)間是指其中在分布式系統(tǒng)中的任一的節(jié)點(diǎn)在涉及到這樣的對(duì)時(shí)保持為可達(dá)的,對(duì)于該對(duì)沒(méi)有顯性地減少GIRC至0。
功能調(diào)用自適應(yīng)的基于授權(quán)的目標(biāo)調(diào)用與為這樣的信息抽象的透明的資源管現(xiàn)政策一起,已經(jīng)識(shí)別了一個(gè)空格對(duì)的限定的屬性,下面的一個(gè)直接的關(guān)注點(diǎn),當(dāng)考慮垂直方式促進(jìn)了計(jì)算機(jī)程序邏輯的實(shí)現(xiàn)。這是很重要的,因?yàn)椴恍枰獙?shí)現(xiàn)程序邏輯的裝置一個(gè)信息流的抽象通常不被認(rèn)為是有用的。
當(dāng)一個(gè)空格對(duì)通過(guò)原始的操作定義了寬松地耦合的計(jì)算結(jié)構(gòu),由于熟悉和兼容的原因,支持更多的公用的面向目標(biāo)編程結(jié)構(gòu)是必要的。其中上面定義的垂直模式的文本中,本發(fā)明的空格對(duì)部分應(yīng)該進(jìn)一步定義已經(jīng)限定好的程序接口并為分布式系統(tǒng)的文本上的語(yǔ)義規(guī)定廣泛的集合,如上在垂直模式中介紹的。
在空格對(duì)中目標(biāo)調(diào)用的文本帶有對(duì)(名稱,fn),對(duì)(名稱,fn)符合下面的標(biāo)準(zhǔn)值fn為一個(gè)自適應(yīng)功能目標(biāo)(AFO),這保證了一個(gè)或多個(gè)定義好的功能的實(shí)現(xiàn)。比如,一個(gè)不重要的AFO能夠?qū)崿F(xiàn)一個(gè)附加的操作AFO接受兩個(gè)數(shù)字元并返回它們的數(shù)字和。AFO目標(biāo)能實(shí)現(xiàn)使用計(jì)算機(jī)邏輯程序指定的任何功能。
為了介紹自適應(yīng)的基于授權(quán)的目標(biāo)調(diào)用的觀念,設(shè)想一個(gè)偽隨機(jī)片段使用面向目標(biāo)的語(yǔ)言。
Obj.foo(“test”)在這個(gè)碼中,方法“foo”在帶有一個(gè)單個(gè)的字符串且其值為“test”的目標(biāo)“obj”上被調(diào)用。為在一個(gè)空格對(duì)上實(shí)現(xiàn)這一功能可比較的語(yǔ)法表達(dá)為,重新使用一個(gè)面向目標(biāo)的語(yǔ)言偽碼var fn=pairespace.read(“foo”)var args={“test”}fn.call(args)在該偽碼中,“read”原語(yǔ)操作在空格對(duì)上被調(diào)用并返回一個(gè)AFO名為“fn”的目標(biāo)名稱。接著,構(gòu)成一個(gè)序列的目標(biāo)被稱為“args”,其長(zhǎng)度為l;序列的第一索引被分配了串值“test”。最后,“call”的方法在AFO上調(diào)用,將“args”作為自變量傳遞到“call”。已經(jīng)介紹了了一個(gè)操作的例子,考慮目標(biāo)調(diào)用的下列形式上的定義。
在一個(gè)空格對(duì)上定義的目標(biāo)調(diào)用是通過(guò)一個(gè)自適應(yīng)的基于授權(quán)的原型機(jī)制(ADPM)。作為一個(gè)上下文關(guān)系的一個(gè)點(diǎn),在一個(gè)基于授權(quán)的原型的程序語(yǔ)言中(比如,Self)ADPM被現(xiàn)有技術(shù)激發(fā)。特別是,一個(gè)AFO為一個(gè)單個(gè)的目標(biāo)方法接口,它通過(guò)一個(gè)授權(quán)類型的原型實(shí)現(xiàn)任一功能。在上面的例子中,“fn”是作為授權(quán)的原型。這樣的話,AFO則為強(qiáng)型的(正如它已經(jīng)限定了方法的簽名),它也是通用的調(diào)用一個(gè)在特定目標(biāo)上的方法,是通過(guò)授權(quán)的原型來(lái)路由調(diào)用而實(shí)現(xiàn)的。
特別是,在AFO上的方法調(diào)用通過(guò)授權(quán)動(dòng)態(tài)地發(fā)生被調(diào)用的方法的參數(shù)被轉(zhuǎn)換到方法調(diào)用自變量參數(shù)(方法的名稱是不相關(guān)的,因?yàn)槊Q是對(duì)(x,fn)中的x,并且隱含在在fn中。由于在基于授權(quán)的原型語(yǔ)言中,AFO定義了一個(gè)單個(gè)的通配調(diào)用方法,該方法被稱為’call’(在此符號(hào)上被稱為call())它接收一個(gè)規(guī)則的自變量序列;在面向目標(biāo)的語(yǔ)言中,自變量為目標(biāo)的一個(gè)陣列;在一個(gè)程序語(yǔ)言中,自變量應(yīng)為值或基準(zhǔn)指針的陣列。
直覺(jué)可以形式化為假定fv(其中vN)有一個(gè)名為“m”的方法,被節(jié)點(diǎn)在符號(hào)上被稱為m(),而該節(jié)點(diǎn)事先不知道fv且不使用代理。假設(shè)該節(jié)點(diǎn)調(diào)用帶有參數(shù)q的m()(param1,param2,...,paramq),其中q為一個(gè)非負(fù)數(shù)。AFO動(dòng)態(tài)地授權(quán)對(duì)m()的調(diào)用,進(jìn)入一個(gè)公用的對(duì)m()調(diào)用并且必要地排列參數(shù)。假設(shè)m()有一個(gè)限定好返回值,則從call()的返回值排在后面,并且如從m()中返回值一樣透明地返回。在上面的例子中m為′foo′,param為′args′,并且fv為′fn′。符號(hào)化表示m(param1,param2,...,param)_fvcall(param1,param2,...,paramm)注意在自適應(yīng)功能目標(biāo)中的結(jié)合方法,導(dǎo)致被調(diào)用的所有的方法在一個(gè)從唯一的對(duì)(名稱,值)中來(lái)的值上。因此,這種情況確保在空格對(duì)上限定的唯一的功能為6個(gè)原始的操作。因此確保了自適應(yīng)的基于授權(quán)的目標(biāo)調(diào)用能力不違反空格對(duì)的設(shè)想,該空格對(duì)由一系列相關(guān)的對(duì)組成;在空格對(duì)上的方法調(diào)用應(yīng)該特定于一個(gè)分立的AFO(諸如此時(shí)的fv),并且該AFO應(yīng)該為一個(gè)在相關(guān)的對(duì)上下限中的值,對(duì)上下限在空格對(duì)中。
多個(gè)AFO保持了空格對(duì)的所有屬性再生性,匿名性和寬松的耦合性。進(jìn)一步,多個(gè)AFO保持這樣的屬性的事實(shí)進(jìn)一步將它和現(xiàn)有技術(shù)區(qū)分開來(lái)。
多個(gè)AFO為可再生的,因?yàn)樗鼈兊拇嬖诓皇艿较薅ㄋ鼈兊墓?jié)點(diǎn)的限制。等效地,一個(gè)節(jié)點(diǎn)可能插入一個(gè)對(duì)到空格對(duì)中,之后停止參與;再生性確保了這樣的對(duì)將繼續(xù)存在于空格之中,即使在節(jié)點(diǎn)停止了參與之后??崭駥?duì)使之成為可能,是通過(guò)確保使用多個(gè)AFO的節(jié)點(diǎn)沒(méi)有辦法來(lái)查明開始的節(jié)點(diǎn)當(dāng)前是否還參與其中。在本文中,多個(gè)AFO的開始節(jié)點(diǎn)被限定為一個(gè)將AFO插入到空格對(duì)中的節(jié)點(diǎn)。
多個(gè)AFO也保持了空格對(duì)的匿名性,由于AFO目標(biāo)不提供任何識(shí)別發(fā)起節(jié)點(diǎn)的信息。這和現(xiàn)有技術(shù)定義的系統(tǒng)形成鮮明的對(duì)比,其中對(duì)一個(gè)節(jié)點(diǎn)的識(shí)別是關(guān)鍵的;比如,客戶服務(wù)系統(tǒng)諸如因特網(wǎng)(通過(guò)DNS使用域名)不使用識(shí)別是不可能的。
最后,多個(gè)AFO為寬松耦合的,因?yàn)橹挥性诎l(fā)起節(jié)點(diǎn)和調(diào)用節(jié)點(diǎn)之間的通信連絡(luò)是為自適應(yīng)授權(quán)調(diào)用語(yǔ)義的實(shí)現(xiàn)。同樣地,這里節(jié)點(diǎn)f到節(jié)點(diǎn)g以任意的方式的通信連絡(luò)是不可能的,除非由空格對(duì)中的互相分享的一系列對(duì)所提供。
和現(xiàn)有技術(shù)的方法和系統(tǒng)形成鮮明的對(duì)比,多個(gè)AFO不要求為服者器(定義為被調(diào)用的目標(biāo)為主機(jī)節(jié)點(diǎn),)生成代理,也不要求為客戶(定義為遠(yuǎn)端調(diào)用在主要目標(biāo)上的功能性節(jié)點(diǎn))。在現(xiàn)有技術(shù)中,每個(gè)代理為各自的節(jié)點(diǎn)定義,一系列的強(qiáng)型的方法簽名(象在RMI中一樣,不管是壓縮在一個(gè)目標(biāo)中,還是程序上)。每個(gè)節(jié)靠這個(gè)代理來(lái)管理調(diào)用語(yǔ)義,參數(shù)排序,返回值處理以及其它特定的于分布式系統(tǒng)的語(yǔ)義。相反,ADPM靠一個(gè)單個(gè)的通用AFO,通用的AFO有一個(gè)方法接口并且是強(qiáng)型的;因此使AFO和強(qiáng)型的語(yǔ)言兼容,諸如JAVA。
空格對(duì)不要求使用代理的事實(shí)由于實(shí)踐和理論上的原因是特別重要的。特別是,現(xiàn)有技術(shù)限定的系統(tǒng)例示了,應(yīng)該為在分布式系統(tǒng)中使用的每個(gè)目標(biāo)生成代理。因此代理的使用要求用戶預(yù)先定義,所有的在系統(tǒng)中使用的潛在目標(biāo)。相反,空格對(duì)不在AFO目標(biāo)上提供約束,這樣AFO可以被插入到空格中,并且不要求預(yù)先認(rèn)識(shí)AFO目標(biāo)。這樣,使用帶空格的代理將違反其固有的定義,為什么它們?cè)诶碚撋鲜遣荒苁且黄鹗褂玫摹?br> 最后,本發(fā)明的空格對(duì)部分使用基于授權(quán)的目標(biāo)調(diào)用,以消除在空格一為實(shí)現(xiàn)特定目標(biāo)的強(qiáng)類行的校驗(yàn)的需求;這是必要的,因?yàn)榇韺?shí)現(xiàn)了強(qiáng)類型的校驗(yàn),并且有一個(gè)空格對(duì)代理是不可用的。使用基于授權(quán)的目標(biāo)調(diào)用使得功能性使用一個(gè)限定好的AFO通過(guò)call()定義在一個(gè)空格對(duì)上,這將強(qiáng)型的方法調(diào)用轉(zhuǎn)換為一個(gè)弱型的遠(yuǎn)端授權(quán)。在上面的例子中,強(qiáng)型的方法調(diào)用是foo(),而弱型的遠(yuǎn)端授權(quán)是通過(guò)帶有′arg′的call()。
形式上,對(duì)ADPM的需要成為必要的,由于串型的校驗(yàn)不被一個(gè)空格對(duì)所支持,如上所限定的,由于幾個(gè)理論上的原因(1)強(qiáng)型的校驗(yàn)要求目標(biāo)和方法簽名在編譯期間是優(yōu)先的(優(yōu)先于執(zhí)行),這不是必需的;(2)空格對(duì)支持任意的目標(biāo)如在(名稱,值)對(duì)中的值,并且假設(shè)事先不知道關(guān)于目標(biāo)的類型或者方法的簽名;(3)空格對(duì)是等容量的并且是動(dòng)態(tài)的,消除了支持靜態(tài)編譯接口定義(過(guò)IDL)或不等容量的代理(比如,短管和骨干)的可能性。
協(xié)同性透明的通用自適應(yīng)代理透明的通用自適應(yīng)代理(TGAD)是上面定義的自適應(yīng)對(duì)象調(diào)用的概括,來(lái)支持從對(duì)象的功能性調(diào)用,該對(duì)象通過(guò)任意現(xiàn)有分布式目標(biāo)協(xié)議(例如,CORBA、COM、RMI)實(shí)現(xiàn)。特別是,使用情況是當(dāng)一個(gè)節(jié)點(diǎn)期望調(diào)用功能性時(shí),從定義在一種分布式協(xié)議而不是AFO的對(duì)空格中的對(duì)象進(jìn)行調(diào)用。當(dāng)然,這種不同自適應(yīng)類型主要用于提供與現(xiàn)有系統(tǒng)的互操作性和兼容性。
在前面部分的實(shí)例中,當(dāng)“obj”是通過(guò)另一種分布式協(xié)議(例如,COMBRA)的可訪問(wèn)對(duì)象,和“foo”通過(guò)“obi”遠(yuǎn)程調(diào)用時(shí),TGAD就是必需的。
本發(fā)明的對(duì)空格部分通過(guò)每種分布式協(xié)議的一個(gè)唯一AFO自適應(yīng)橋來(lái)實(shí)現(xiàn)TGAD。自適應(yīng)橋定義了代理或要求將AFO導(dǎo)出到分布式協(xié)議的IDL,和定義了對(duì)空格與其他透明分布式協(xié)議之間的適當(dāng)marshall參數(shù)和返回值。特別是,橋定義了特定協(xié)議參數(shù),用于呼叫和使其他分布式協(xié)議知道本地AFO,和支持雙向調(diào)用(1)被對(duì)空格中的節(jié)點(diǎn)調(diào)用,從全部其它分布式協(xié)議網(wǎng)絡(luò)對(duì)象調(diào)用功能;或(2)通過(guò)分布式協(xié)議網(wǎng)絡(luò)對(duì)象能從對(duì)空格中的多個(gè)AFO調(diào)用功能。
將RMI看作上下文中的一種分布式協(xié)議的實(shí)例。由于RMI使用對(duì)空格雙向通信調(diào)用,所以必須定義唯一一個(gè)AFO橋。特別是,這個(gè)橋必須定義一個(gè)RMI代理殘樁模塊,其導(dǎo)出基于代理的call()方法,因此它可接入RMI網(wǎng)絡(luò)。在這種情況下,RMI對(duì)象將通過(guò)橋接入對(duì)空格中的節(jié)點(diǎn),反之亦然。
最后,每個(gè)分布式協(xié)議正好需要一個(gè)自適應(yīng)橋,因?yàn)轭愋凸潭ǖ腁FO提供了一種通用對(duì)象代理,通過(guò)它在AFO上所有的方法都可以通過(guò)協(xié)議雙向調(diào)用。概念上,正好每個(gè)協(xié)議存在一個(gè)橋,因?yàn)橥瑯拥脑?,這里存在單個(gè)AFO用于對(duì)空格多個(gè)AFO消除了對(duì)特定對(duì)象代理的需要,這樣用于所有對(duì)象的調(diào)用方法可以通過(guò)單個(gè)通用接口定義。
出現(xiàn)了這種自適應(yīng)變換中的透明性,因?yàn)榉植际絽f(xié)議既不知道對(duì)空格語(yǔ)義,也不是接入橋的對(duì)空格中節(jié)點(diǎn)知道使用其他分布式協(xié)議實(shí)現(xiàn)AFO的對(duì)象。另外,當(dāng)實(shí)現(xiàn)TGAD時(shí),維持這種透明性。
統(tǒng)一的數(shù)據(jù)基本變換需要使多個(gè)單獨(dú)計(jì)算機(jī)系統(tǒng)相互通信和交換數(shù)據(jù)是今天幾乎所有的信息系統(tǒng)的基本功能。特別是,幾乎每個(gè)使用計(jì)算機(jī)的機(jī)構(gòu)都有多臺(tái)計(jì)算機(jī),這些計(jì)算機(jī)必須交換數(shù)據(jù),以實(shí)現(xiàn)多種類型的輔助計(jì)算機(jī)商業(yè)處理。
本發(fā)明統(tǒng)一的數(shù)據(jù)基本變換部分的目的是定義一種單一通用屬性,通過(guò)其能定義數(shù)據(jù)交換、變換和處理規(guī)則。更具體地說(shuō),一種方法和系統(tǒng)在源和目的計(jì)算機(jī)系統(tǒng)之間定義了一種抽象映射。雖然所有的中間設(shè)備系統(tǒng)共享相同的抽象公式,用于在單獨(dú)計(jì)算機(jī)系統(tǒng)之間執(zhí)行通信,映射的確切語(yǔ)義、其結(jié)構(gòu)和其技術(shù)實(shí)現(xiàn)密切依靠特定實(shí)施例。
所述統(tǒng)一的數(shù)據(jù)基本變換部分定義了一種可選擇的技術(shù),用于查看這些中間件處理,基于使用一種通用屬性表示數(shù)據(jù)的技術(shù),該屬性與現(xiàn)有中間設(shè)備語(yǔ)義無(wú)關(guān);不失一般性,現(xiàn)有中間設(shè)備的這種語(yǔ)義典型抽樣包括字節(jié)調(diào)整、數(shù)據(jù)表示法、協(xié)議編碼和安全參數(shù)。
本發(fā)明該統(tǒng)一的數(shù)據(jù)基本變換部分定義了基本變換組,該變換將來(lái)自任何特定中間設(shè)備抽象的數(shù)據(jù)變換成與所述統(tǒng)一的數(shù)據(jù)基本變換部分一致的表示,變換是雙向的。這些基本變換對(duì)定義現(xiàn)有系統(tǒng)和通用數(shù)據(jù)基底之間的接口是必要的,因?yàn)樗鼋y(tǒng)一的數(shù)據(jù)基本變換部分定義了一種表示法,這種表示法明顯與現(xiàn)有中間設(shè)備抽象不兼容(沒(méi)有變換)。圖51提供了UDB的一種線性代數(shù)模塊圖,與源和目的變換一起(下面定義了)。
通用數(shù)據(jù)基底(UDB)是一種新穎性的屬性,便于數(shù)據(jù)從任何中間設(shè)備信息流抽象的表示和變換,與定義的一組操作原語(yǔ)一起。一個(gè)或多個(gè)同步原語(yǔ)也定義在UDB上,以提供處理界限的異步通知。對(duì)于UDB的新穎性源于任何數(shù)據(jù)和處理邏輯、不管它們引起的中間設(shè)備屬性,都能使用單個(gè)表示方式進(jìn)行唯一表示的事實(shí)。同樣地,UDB不同于現(xiàn)有技術(shù),因?yàn)橐粚?duì)源和目的變換必須雙向轉(zhuǎn)換數(shù)據(jù)到現(xiàn)有中間設(shè)備系統(tǒng),和從現(xiàn)有中間設(shè)備系統(tǒng)雙向轉(zhuǎn)換,以使數(shù)據(jù)可用于UDB內(nèi)的處理。圖43圖解了用于UDB的抽象模塊圖。
UDB由三部分構(gòu)成第一,一個(gè)和多個(gè)等效表示UDB中數(shù)據(jù)的方式;第二,通過(guò)軟件邏輯指定的一組原語(yǔ)操作,這些操作定義了用于變換有關(guān)UDB中數(shù)據(jù)的機(jī)制;第三,一組同步原語(yǔ),這些原語(yǔ)指定了怎樣通過(guò)UDB傳送異步和同步處理事件的信號(hào)。同樣,所有三個(gè)組成部分都是所述統(tǒng)一的數(shù)據(jù)基本變換部分的固有性質(zhì),而且兩個(gè)特定屬性是優(yōu)選實(shí)施例的實(shí)例。
需要一個(gè)或多個(gè)操作原語(yǔ),以便于數(shù)據(jù)讀、寫和變換,直到在UDB中被表示。特別是,操作原語(yǔ)定義了用于這種讀/寫操作的技術(shù),這些原語(yǔ)與UDB中表示的數(shù)據(jù)方式兼容。操作原語(yǔ)確切的語(yǔ)義針對(duì)于一個(gè)特定實(shí)施例,因?yàn)樗鼋y(tǒng)一的數(shù)據(jù)基本變換部分不能定義關(guān)于UDB中表示數(shù)據(jù)的特定操作。
需要一個(gè)或多個(gè)同步原語(yǔ)以便在基本變換之間傳送信號(hào)。根據(jù)同步原語(yǔ),這種同步能促進(jìn)每種變換的同步或異步關(guān)系。使用模塊同步算法能便于UDB的同步執(zhí)行,而使用非模塊同步算法能促進(jìn)UDB的異步執(zhí)行,都不失一般性。圖46舉例說(shuō)明了一種UDB的同步實(shí)現(xiàn),而圖47舉例說(shuō)明了一種UDB的異步實(shí)現(xiàn),而都不失一般性。任何本領(lǐng)域技術(shù)人員都將能認(rèn)識(shí)到UDB的異步和同步特性是通過(guò)特定實(shí)施例選擇用于UDB同步原語(yǔ)的人工因素。
與這種UDB相比,由于在現(xiàn)有中間設(shè)備系統(tǒng)中構(gòu)造的數(shù)據(jù)沒(méi)有被定義,需要一對(duì)基本變換(BT)用于中間設(shè)備抽象的每個(gè)實(shí)例。首先,源基本變換(SBT)將源于中間設(shè)備抽象的數(shù)據(jù)和處理邏輯變換成UDB。其次,目的基本變換(DBT),將UDB中的數(shù)據(jù)和處理邏輯變換成目的數(shù)據(jù)需要的格式。實(shí)質(zhì)上,基本變換是用于使數(shù)據(jù)包含在與UDB一致的可選擇格式中變換的最低要求。
源基本變換和目的基本變換兩個(gè)都由兩個(gè)分立的階段格式變換和協(xié)議變換。格式變換是將到或來(lái)自UBT的數(shù)據(jù)轉(zhuǎn)換成源或目的數(shù)據(jù)的邏輯數(shù)據(jù)格式的階段。協(xié)議變換是通過(guò)適于中間設(shè)備抽象的協(xié)議轉(zhuǎn)換獲得的或傳送的格式化數(shù)據(jù)。STB執(zhí)行協(xié)議轉(zhuǎn)換和隨后的格式轉(zhuǎn)換。DBT執(zhí)行格式變換,然后協(xié)議變換。圖45定義了一個(gè)用于單播、非定向UDB處理的抽樣示例。
例如,考察源抽象是通過(guò)RMI接收XML數(shù)據(jù)的情況。在這個(gè)實(shí)例中,XML是數(shù)據(jù)格式,和RMI是協(xié)議(與RPC一起作為中間設(shè)備抽象);XML定義了一種編碼,字符集解釋和語(yǔ)義解釋(通過(guò)暗示或明示模式);RMI定義了一種有線線路協(xié)議和等效RPC約定。在這種情況下的SBT將由以下兩個(gè)連續(xù)階段組成。第一,XML數(shù)據(jù)必須從RMI協(xié)議層接收和打開包。第二,XMI數(shù)據(jù)(在這種情況下XML數(shù)據(jù)將用RMI數(shù)據(jù)有效負(fù)載中的字節(jié)流表示)必須轉(zhuǎn)換成適于UDB的格式。
對(duì)稱地,考察目的抽象是通過(guò)RMI傳送XML數(shù)據(jù)。如前述實(shí)例,XML是數(shù)據(jù)格式,和RMI是協(xié)議(與面向?qū)ο蟮腞PC一起作為中間設(shè)備屬性)。在這種情況下的SBT將由以下兩個(gè)連續(xù)階段組成。第一,UDB格式的數(shù)據(jù)必須轉(zhuǎn)換成XML數(shù)據(jù)。第二,XML數(shù)據(jù)必須打包到RMI協(xié)議層并傳送到目的地。
在一個(gè)SBT之后和一個(gè)DBT之前,一旦數(shù)據(jù)在UDB中可存取,就可以定義一組中間變換(IT)。這種中間變換定義一組這種IT使用定義在UDB之上的單個(gè)通用原語(yǔ)操作集定義。這種簡(jiǎn)明和優(yōu)美地表示變換邏輯的能力與傳統(tǒng)中間設(shè)備的形成了對(duì)照,其中傳統(tǒng)中間設(shè)備的這種轉(zhuǎn)換現(xiàn)今時(shí)常難于編碼。對(duì)于這種復(fù)雜性的原因可能源于不兼容的屬性、不兼容的數(shù)據(jù)格式、不兼容的多個(gè)API,或?qū)?fù)雜適配器/接口的要求。圖48提供了一種用于中間變換的模塊圖。
在UDB中中間轉(zhuǎn)換的簡(jiǎn)明性源于幾個(gè)因素。第一,UDB提供了一種通用表示,連同一組通用操作和同步原語(yǔ)一起,其便于表示來(lái)自多個(gè)中間設(shè)備系統(tǒng)的數(shù)據(jù)和處理邏輯并遵照一種均勻方式通過(guò)中間變換邏輯來(lái)執(zhí)行。第二,一組共享通用操作原語(yǔ)使任意復(fù)雜的中間變換一次性合乎規(guī)范,而不管UDB正與誰(shuí)通信的中間設(shè)備系統(tǒng)類型。這樣,可以一次性寫變換邏輯,和應(yīng)用到多個(gè)系統(tǒng),而不是要求用于每個(gè)中間設(shè)備抽象的唯一編碼。第三,UDB的三個(gè)通用特性使中間變換邏輯的可表達(dá)性更大了,因?yàn)閱蝹€(gè)IT能透明的遵照來(lái)自多個(gè)屬性的數(shù)據(jù)來(lái)執(zhí)行。更具體的說(shuō),UDB具有遮蔽分立中間設(shè)備系統(tǒng)之間劃分界限的能力,提供用于操作和同步的共享通用原語(yǔ)表示的唯一數(shù)據(jù)的虛擬。第四,UDB具有定義中間變換邏輯的能力,其跨距是現(xiàn)今多數(shù)不兼容的中間設(shè)備屬性。第五,不管多少中間設(shè)備抽象,需要通過(guò)UDB一次性寫中間變換,來(lái)提供重新利用這種IT的基礎(chǔ)。這種使用現(xiàn)有技術(shù)的重新利用是不可能的,因?yàn)閮蓚€(gè)原因(1)不存在這種能力來(lái)通過(guò)多個(gè)不兼容的中間設(shè)備屬性進(jìn)行定義;和(2)這種能力的缺少阻止了通過(guò)其他屬性一次性定義可以重新使用的IT。
UDB的一種定義操作屬性是SBT和DBT關(guān)于中間變換透明。特別是,變換邏輯可以使用通用共享原語(yǔ)集來(lái)表示,忽略數(shù)據(jù)怎樣到達(dá)、怎樣從源文件變換,和怎樣被傳送和怎樣變換成目的文件的語(yǔ)義。實(shí)質(zhì)上,寫變換邏輯,來(lái)假定數(shù)據(jù)存在UDB的單個(gè)表示,并且變換應(yīng)該通過(guò)準(zhǔn)確的表示來(lái)定義。此外,通過(guò)UDB定義的變換僅能從數(shù)據(jù)源和目的地訪問(wèn)數(shù)據(jù)、屬性和處理邏輯,隨著它被SBT和DBT的揭示。等效地,中間變換邏輯不能訪問(wèn),或者依賴于源和目的數(shù)據(jù)格式、表示或中間屬性的特性。這樣,就沒(méi)有“欺騙”和訪問(wèn)“未加工的”底層源和目的數(shù)據(jù)流的方式。這種透明性明顯與現(xiàn)有技術(shù)形成反差,現(xiàn)有技術(shù)中源和目的變換的語(yǔ)義正是中間設(shè)備所定義的。
源基本變換和目的基本變換可以由一個(gè)或多個(gè)獨(dú)立的步驟組成,這些步驟是組合在一起的。例如,DBT可以通過(guò)多個(gè)數(shù)據(jù)目的地透明地多路傳輸包含在UDB中的數(shù)據(jù)。一種用于這種多路傳輸語(yǔ)義的表示動(dòng)機(jī)將用來(lái)分配數(shù)據(jù),在UDB中連續(xù)提供這些數(shù)據(jù),提供給多路獨(dú)立的數(shù)據(jù)目的地,這些可以利用一個(gè)或多個(gè)不同的中間設(shè)備屬性。SBT可以對(duì)稱性透明地多路傳輸包含在多路數(shù)據(jù)源中的數(shù)據(jù)到UDB。一種用于這種多路傳輸語(yǔ)義的表示動(dòng)機(jī)將集合來(lái)自多路獨(dú)立數(shù)據(jù)源的數(shù)據(jù)連續(xù)集合到UDB中,這些可以利用一個(gè)或多個(gè)不同中間設(shè)備屬性。
這些組成邏輯的任意改進(jìn)的實(shí)現(xiàn),與它們的組成部分一起定義為單個(gè)步驟的語(yǔ)義,應(yīng)該都被看作特定實(shí)施例的屬性。在前述兩種情況下,鄰接的解釋是專門針對(duì)實(shí)施例的。例如,在這里公開的實(shí)施例中,鄰接將被定義為一組連續(xù)字節(jié),這些字節(jié)在數(shù)據(jù)流中或一個(gè)環(huán)形緩沖器中連續(xù)范圍的字節(jié)中。
如這里闡述的,一種通用數(shù)據(jù)基底具有多個(gè)屬性,這些屬性限定了它不同于現(xiàn)有技術(shù)中可選擇的模式。
首先,通用變換兼容性UDB的實(shí)施例必須擁有支持SBT和DBT的能力,用于所有中間設(shè)備抽象。特別是,UDB實(shí)施例必須充分地統(tǒng)一,以理論上支持可行的和明確定義的變換。一個(gè)實(shí)施例不要求實(shí)際上定義所有這種變換;然而UDB必須理論上具有連續(xù)定義這種變換的能力。
這個(gè)第一屬性是使用現(xiàn)有中間設(shè)備屬性的最好示例。特別是,現(xiàn)在存在中間設(shè)備處理的復(fù)雜性正是因?yàn)椴淮嬖谶@種屬性,這種屬性能與所有其它中間設(shè)備的屬性兼容的變換。例如,消息隊(duì)列是異步基于隊(duì)列的結(jié)構(gòu),用于提供松耦合無(wú)連接通信。自然地,通過(guò)定義,消息隊(duì)列與遠(yuǎn)端程序呼叫不兼容,因?yàn)镽PC需要一個(gè)面向連接的同步緊耦合通信。已經(jīng)形成的現(xiàn)有技術(shù)在消息隊(duì)列和任何任意中間設(shè)備屬性之間不存在變換,這些變換互相維持源和目的數(shù)據(jù)源的語(yǔ)義,同時(shí)提供一組中間變換不能定義在其上的原語(yǔ)操作。同樣地,消息隊(duì)列不能取得一個(gè)UDB潛在實(shí)施例的資格。
第二,UDB的操作定義要求一個(gè)UDB的實(shí)施例不是兩個(gè)或多個(gè)現(xiàn)有中間設(shè)備抽象的組成部分。特別是,一個(gè)UDB實(shí)施例的表示和變換語(yǔ)義必須與其它中間設(shè)備屬性兼容變換,但必須使用可選擇的屬性定義。
第三,對(duì)于實(shí)際使用的一個(gè)UDB,這種實(shí)施例必須可修正的接受有關(guān)現(xiàn)有硬件的性能。當(dāng)然,所述統(tǒng)一數(shù)據(jù)基本變換部分的新穎性和實(shí)用性取決于用于一般現(xiàn)有元件實(shí)際實(shí)現(xiàn)的UDB的能力。
與消息映射變換比較的基本變換清楚地例證了現(xiàn)有技術(shù)和UDB之間的差異。特別是,消息映射變換(MMT)通過(guò)許多類型的中間設(shè)備實(shí)現(xiàn),與這種典型實(shí)例的消息調(diào)度程序一起。特別是,MMT是用于在源數(shù)據(jù)表示和一個(gè)或多個(gè)目標(biāo)數(shù)據(jù)的目的文件之間變換的指令。這種MMT的典型實(shí)例就是模式變換、數(shù)據(jù)變換和協(xié)議變換。這種消息映射變換的優(yōu)點(diǎn)是通過(guò)隱藏根本的數(shù)據(jù)表示格式(例如EDI或XML),嘗試避開復(fù)雜性,但仍通過(guò)一個(gè)單獨(dú)的中間設(shè)備屬性(在這種情況下,消息調(diào)度程序)進(jìn)行定義。這樣,MMT就是一個(gè)或多個(gè)中間變換,該中間變換定義了從源到達(dá)的數(shù)據(jù)怎樣變換,以至其與目的文件兼容。在中間設(shè)備的術(shù)語(yǔ)中,消息變換層是功能組,該組收集了從源到達(dá)數(shù)據(jù),應(yīng)用到MMT,和分配外出數(shù)據(jù)到目的地。
和MMT形成對(duì)比的是,一個(gè)UDB定義了最少量的三種截然不同的變換種類;在這三種中,至多一類變換能恒等變換組。第一,一個(gè)或多個(gè)源基本變換定義將來(lái)自發(fā)信源格式的數(shù)據(jù)轉(zhuǎn)換成UDB的規(guī)則。第二,一個(gè)或多個(gè)目的基本變換定義將來(lái)自UDB的數(shù)據(jù)轉(zhuǎn)換成外出目的格式的規(guī)則。第三,一組中間變換定義了UDB中數(shù)據(jù)怎樣被處理以獲得期望中間邏輯的規(guī)則。通過(guò)定義,第一和第二類不能恒等變換,因?yàn)樵春湍康母袷讲荒芷匠5呐cUDB兼容。在數(shù)據(jù)在源和目的地之間傳送而沒(méi)有任何變換的無(wú)效情況下,第三類能是一種恒等變換。
這種統(tǒng)一數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是使在庫(kù)內(nèi)有關(guān)數(shù)據(jù)定義的操作充分比通過(guò)單獨(dú)定義的等效操作更容易,在這種庫(kù)中不同數(shù)據(jù)沒(méi)有定義。本發(fā)明的該統(tǒng)一數(shù)據(jù)基本變換部分的新穎性源于兩種極限變換、中間變換與UDB的程序的透明性組合的特定組合。
所述統(tǒng)一數(shù)據(jù)基本變換部分的一個(gè)實(shí)施例實(shí)現(xiàn)了一種UDB,經(jīng)一種可擴(kuò)展的、異步事件驅(qū)動(dòng)模塊通過(guò)將不同數(shù)據(jù)流變換成庫(kù)實(shí)現(xiàn)。這個(gè)實(shí)施揭示了在分立的用戶、在無(wú)界限字節(jié)流或環(huán)形緩沖器中,UDB和單個(gè)通過(guò)兩者的不同數(shù)據(jù)流之間的界限。以下全部討論限定在經(jīng)環(huán)形緩沖器的本實(shí)施例的模式上。如現(xiàn)有技術(shù)所說(shuō)明的,環(huán)形緩沖器和無(wú)界限字節(jié)流之間存在一種固有的變換。一個(gè)字節(jié)流能通過(guò)以下組成維持環(huán)形緩沖器中的一個(gè)讀和寫指針,和從環(huán)形緩沖器連續(xù)讀取數(shù)據(jù),同時(shí)不妨礙讀和寫指針之間的環(huán)形。
對(duì)于這個(gè)實(shí)施例,需要SBT和DBT用于每個(gè)特定中間設(shè)備屬性。特別是,用于該實(shí)施例的SBT將接收通過(guò)物理網(wǎng)絡(luò)接口傳送的數(shù)據(jù),使用適于中間設(shè)備的格式和協(xié)議,并將它轉(zhuǎn)換到環(huán)形緩沖器中。這樣,不管正與該實(shí)施例通信的那個(gè)中間設(shè)備系統(tǒng),通過(guò)中間設(shè)備系統(tǒng)通信的數(shù)據(jù)和處理邏輯在一個(gè)固定長(zhǎng)度的環(huán)形緩沖器上變換成一種連續(xù)的字節(jié)陣列。圖9圖示了SBT變換。對(duì)稱性地,用于本實(shí)施例的DBT將接收以連續(xù)字節(jié)陣列方式存儲(chǔ)在固定長(zhǎng)度環(huán)形緩沖器中的數(shù)據(jù),變換成適于目的中間設(shè)備系統(tǒng)的格式和協(xié)議。圖46圖示了DBT變換。
所述統(tǒng)一數(shù)據(jù)基本變換部分定義了兩種原語(yǔ)操作,當(dāng)其循環(huán)構(gòu)成用于定義任意復(fù)雜的中間變換邏輯時(shí)是足夠的。特別是,這個(gè)實(shí)施例定義了讀取操作和寫操作。這些原語(yǔ)讀和寫操作等效于標(biāo)準(zhǔn)微處理器的隨機(jī)接入存儲(chǔ)器上標(biāo)準(zhǔn)的LOAD和STORE操作。如現(xiàn)有技術(shù)中詳盡描述的,一個(gè)LOAD操作接收一個(gè)存儲(chǔ)器地址,通常在處理的虛擬存儲(chǔ)器空格內(nèi),該處理正運(yùn)行UDB,和返回一個(gè)存儲(chǔ)在隨機(jī)接入存儲(chǔ)器中那個(gè)地址上的值。一個(gè)STORE操作接收一個(gè)存儲(chǔ)器地址,通常在處理的虛擬存儲(chǔ)器空格內(nèi),該處理正運(yùn)行UDB,和一個(gè)值,然后將這個(gè)值寫到隨機(jī)接入存儲(chǔ)器中那個(gè)地址上。LOAD和STORE操作通常都在微處理器的隨機(jī)接入存儲(chǔ)器、或一些中間超高速緩沖存儲(chǔ)器,和物理寄存器之間交換數(shù)據(jù)。
這三類變換通過(guò)一個(gè)條件同步變量傳送變換極限信號(hào)。這種變換極限由完成一個(gè)基本變換組成源、中間級(jí)和目的地,而不失一般性。特別是,中間變換等待來(lái)自一個(gè)SBT的異步通知,指示源變換完成和請(qǐng)求中間變換;DBT等待來(lái)自一個(gè)IT的異步通知,指示中間變換的完成和請(qǐng)求目的變換。定義一個(gè)條件變量作為同步原語(yǔ)在實(shí)際實(shí)現(xiàn)中具有最佳性能,因?yàn)闂l件變量定義了一種高效非輪詢技術(shù)用于異步等待。在同步原語(yǔ)之中,條件變量通??紤]通過(guò)現(xiàn)有技術(shù)作為最佳機(jī)制,用于最小化由于等待的計(jì)算處理器性能的消耗。條件變量消除了現(xiàn)有技術(shù)通常稱作的“忙等待(busy waiting)”。
本發(fā)明的統(tǒng)一數(shù)據(jù)基本變換部分節(jié)略了UDB的新穎性和程序值,通過(guò)提供一種自然和直觀的方式來(lái)確定中間變換邏輯在存儲(chǔ)器中的連續(xù)字節(jié)范圍上使用單獨(dú)的讀和寫操作。實(shí)質(zhì)上,UDB使用SBT和DBT來(lái)將自源和目的中間設(shè)備系統(tǒng)的數(shù)據(jù)變換成連續(xù)的字節(jié)區(qū)。這種表示允許復(fù)雜變換邏輯,這些邏輯先前必須使用傳統(tǒng)的中間設(shè)備程序設(shè)計(jì)技術(shù)進(jìn)行程序確定,確定為簡(jiǎn)化存儲(chǔ)器的讀和寫。圖47圖示了中間變換通過(guò)UDB的該實(shí)施例定義的處理流程。不是偶然,UDB的這個(gè)實(shí)施例提供了關(guān)于中間設(shè)備數(shù)據(jù)和處理邏輯的透視圖,處理邏輯在概念上等效于一個(gè)獨(dú)立計(jì)算機(jī)的。這樣,UDB消除了中間設(shè)備變換的傳統(tǒng)復(fù)雜性,通過(guò)屏蔽物理和邏輯界限,這些界限當(dāng)前區(qū)分分立的中間設(shè)備系統(tǒng)。而且,UDB的這個(gè)實(shí)施例提供了不同和透明本發(fā)明的該統(tǒng)一數(shù)據(jù)基本變換部分的示例,不管數(shù)據(jù)源于哪里或傳送到哪里,使用相同的技術(shù)(讀和寫)變換存儲(chǔ)器中字節(jié)范圍。
另外,本發(fā)明的該統(tǒng)一數(shù)據(jù)基本變換部分與現(xiàn)有技術(shù)之間的不同就是還通過(guò)程序設(shè)計(jì)技術(shù)和相應(yīng)偽碼實(shí)例比較,用于執(zhí)行公共調(diào)解技術(shù)。例如,考慮一個(gè)過(guò)分簡(jiǎn)單的實(shí)例,在兩個(gè)數(shù)據(jù)庫(kù)之間直接移動(dòng)數(shù)據(jù)?,F(xiàn)有技術(shù)定義了實(shí)現(xiàn)這種處理“面向數(shù)據(jù)庫(kù)中間設(shè)備”的技術(shù)。技術(shù)性講話,不論這種處理通過(guò)應(yīng)用邏輯還是數(shù)據(jù)庫(kù)網(wǎng)關(guān)實(shí)現(xiàn)都是不相關(guān)的,在任一情況下,作為同樣的概念實(shí)現(xiàn)存在。
在圖49中圖示的處理使用這些來(lái)自現(xiàn)有技術(shù)的方法概括地定義以下邏輯(1)開路到源數(shù)據(jù)庫(kù)s的連接(2)開路到目的數(shù)據(jù)庫(kù)d的連接(3)執(zhí)行有關(guān)s的數(shù)據(jù)庫(kù)指令檢索數(shù)據(jù)d(4)保存從s的數(shù)據(jù)庫(kù)操作結(jié)果(5)如請(qǐng)求的變換d(6)執(zhí)行有關(guān)d的數(shù)據(jù)庫(kù)指令來(lái)傳送d(7)刪除d(8)閉合到d的連接(9)閉合到s的連接前述邏輯明顯依靠數(shù)據(jù)庫(kù)中間設(shè)備抽象,例如以下組合數(shù)據(jù)庫(kù)接入標(biāo)準(zhǔn)(例如,SQL),數(shù)據(jù)庫(kù)布線協(xié)議(適于每個(gè)數(shù)據(jù)庫(kù)),和一組能用于執(zhí)行“d”的變換的定義操作。
任何富有現(xiàn)有技術(shù)經(jīng)驗(yàn)的人都將能認(rèn)識(shí)到這種簡(jiǎn)單實(shí)例可以用很多充實(shí)內(nèi)容來(lái)修飾,例如添加分布事務(wù)處理或執(zhí)行關(guān)于讀和寫數(shù)據(jù)的安全接入檢查。而且,這種邏輯的明確順序可以重新排序,例如顛倒第一和第二個(gè)指令,而不改變處理的目的。
在圖50中圖示,將前述面向數(shù)據(jù)庫(kù)處理邏輯與以下UDB邏輯相對(duì)比(1)變換從存儲(chǔ)器中長(zhǎng)度為n的字節(jié)源范圍的值,變換成長(zhǎng)度為m的(m既可以等于n,也可以不等于)存儲(chǔ)器字節(jié)的目的范圍(2)傳送通過(guò)同步技術(shù)處理的完成信息與過(guò)去比較,本領(lǐng)域技術(shù)人員將易于意識(shí)到這種實(shí)現(xiàn)方案的優(yōu)點(diǎn)。另外,任何富有現(xiàn)有技術(shù)經(jīng)驗(yàn)的人都將承認(rèn),通過(guò)UDB處理直觀的定義常規(guī)的多數(shù)充實(shí)內(nèi)容,都能比面向數(shù)據(jù)庫(kù)的中間設(shè)備定義的處理更容易。
零復(fù)制透明網(wǎng)絡(luò)通信在兩個(gè)或多個(gè)獨(dú)立計(jì)算機(jī)之間的信息通信字節(jié)流的處理是所有計(jì)算機(jī)系統(tǒng)網(wǎng)絡(luò)互連的基礎(chǔ)。所有網(wǎng)絡(luò)和基于服務(wù)器的軟件程序功能性取決于這種能力。另外,這種程序的性能和可用性一般認(rèn)為隨著這種網(wǎng)絡(luò)通信速率的增加會(huì)更好。同樣地,計(jì)算機(jī)網(wǎng)絡(luò)的關(guān)鍵目的包括物理互連(例如,在物理網(wǎng)絡(luò)接口卡之間分發(fā)信息報(bào)文的速率)不斷增加吞吐量(通常以字節(jié)每秒計(jì)量)和減少等待時(shí)間(通常在傳輸中以毫秒計(jì)量),不斷減少在使用中網(wǎng)絡(luò)通信處理耗費(fèi)的等待時(shí)間,和不斷減少在操作系統(tǒng)核心程序/程序庫(kù)中網(wǎng)絡(luò)通信處理耗費(fèi)的等待時(shí)間。
為達(dá)到這種性能要求的最佳實(shí)現(xiàn),當(dāng)前考慮的最好方法是使用一種現(xiàn)有技術(shù)中叫做“零復(fù)制”的通用技術(shù)。零復(fù)制只是一種復(fù)制參與單向網(wǎng)絡(luò)通信字節(jié)的技術(shù),通常復(fù)制到一個(gè)存儲(chǔ)區(qū),該存儲(chǔ)區(qū)在用戶級(jí)應(yīng)用和網(wǎng)絡(luò)接口卡上核心或映射存儲(chǔ)器緩沖區(qū)之間共享。零復(fù)制被認(rèn)為是理想的,因?yàn)槠湎瞬煌鎯?chǔ)區(qū)之間所有的額外復(fù)制。這種額外復(fù)制的消除是很關(guān)鍵的,因?yàn)檫@種復(fù)制需要很多計(jì)算機(jī)處理器和存儲(chǔ)器總線周期。近來(lái),這些技術(shù)格外重要,因?yàn)榭偩€、網(wǎng)絡(luò)接口卡和網(wǎng)絡(luò)互連產(chǎn)物的性能現(xiàn)在正超過(guò)數(shù)據(jù)速率,該數(shù)據(jù)速率主機(jī)處理器在傳送和接收端處理被傳送的數(shù)據(jù)的速率。同樣地,更快的網(wǎng)絡(luò)方案的傳送現(xiàn)在取決于消除中央處理器(CPU)和計(jì)算機(jī)的隨機(jī)存儲(chǔ)器存取(RAM)中的這些瓶頸。
在過(guò)去的幾年里,程序語(yǔ)言Java已經(jīng)變得很普及,用于寫復(fù)雜的中心網(wǎng)絡(luò)應(yīng)用軟件,因?yàn)樵谄浜诵某绦驇?kù)里提供了很多原語(yǔ)網(wǎng)絡(luò)操作,例如數(shù)據(jù)流和套接字。透明映射零復(fù)制網(wǎng)絡(luò)通信和Java適當(dāng)相配在一起,如所述零復(fù)制透明網(wǎng)絡(luò)通信部分定義了一種用于寫下一代網(wǎng)絡(luò)應(yīng)用軟件的技術(shù),該應(yīng)用軟件具有比現(xiàn)有軟件更高性能的大量指令。最近,Java程序設(shè)計(jì)語(yǔ)言擴(kuò)展成包括擴(kuò)零復(fù)制存儲(chǔ)器,支持將任意存儲(chǔ)區(qū)映射到Java堆棧管理/無(wú)用信息收集java虛擬機(jī){JVM)算法,如通過(guò)Java本地接口}JNI)。同樣地,當(dāng)這種零復(fù)制支持軟件以Java方式提供,與映射存儲(chǔ)器的實(shí)際實(shí)現(xiàn)相結(jié)合,僅所述零復(fù)制透明網(wǎng)絡(luò)通信部分變得切實(shí)可行。
本發(fā)明的零復(fù)制透明網(wǎng)絡(luò)通信部分解決了現(xiàn)有技術(shù)的上述問(wèn)題和缺點(diǎn),提供了一種方法和系統(tǒng)用于在單獨(dú)計(jì)算機(jī)系統(tǒng)之間實(shí)現(xiàn)零復(fù)制通信,同時(shí)消除了明確的原語(yǔ)網(wǎng)絡(luò)操作的需要。本發(fā)明的零復(fù)制透明網(wǎng)絡(luò)通信部分特別(通過(guò)不排除)適于作為通信技術(shù)使用,通過(guò)多計(jì)算機(jī)或松耦合集群器組合在一起的多個(gè)獨(dú)立計(jì)算機(jī)之間的數(shù)據(jù)交換。
該方法假定一種系統(tǒng)的存在,該系統(tǒng)在參與網(wǎng)絡(luò)通信的所有計(jì)算機(jī)系統(tǒng)(這里定義為“節(jié)點(diǎn)”)之間物理實(shí)現(xiàn)映射存儲(chǔ)器。任何提供這種映射存儲(chǔ)器的系統(tǒng)都適于在所述零復(fù)制透明網(wǎng)絡(luò)通信部分使用?,F(xiàn)有技術(shù)中這種系統(tǒng)的實(shí)例包括以下實(shí)現(xiàn)多處理器、具有共享底板的多計(jì)算機(jī),和計(jì)算機(jī)的松耦合網(wǎng)絡(luò)互連集群器。
所述零復(fù)制透明網(wǎng)絡(luò)通信部分定義為兩種算法與兩種互相依賴的新穎性方法的組合一種“零復(fù)制透明Java網(wǎng)絡(luò)傳送”算法,用于參與網(wǎng)絡(luò)互連的源機(jī)器,和一種“零復(fù)制透明Java網(wǎng)絡(luò)接收”算法,用于一個(gè)或多個(gè)參與網(wǎng)絡(luò)互連的目的機(jī)器。
可以看到一個(gè)傳送和一個(gè)接收將定義一個(gè)單播網(wǎng)絡(luò),而一個(gè)傳送和任意數(shù)量的接收將定義一個(gè)多播網(wǎng)絡(luò)。本發(fā)明的零復(fù)制透明網(wǎng)絡(luò)通信部分定義的算法未在兩種情況之間刻意區(qū)分,因?yàn)樵谄鋵?shí)現(xiàn)上(如通過(guò)定義下層映射存儲(chǔ)器的屬性來(lái)保證)沒(méi)有區(qū)別,對(duì)于映射特定存儲(chǔ)器配置細(xì)節(jié)超出了潛能。另外,由于很多實(shí)際映射存儲(chǔ)器實(shí)現(xiàn)的性能屬性,在很多實(shí)施例中單播和多播之間性能的不同將小到可以忽略。所述零復(fù)制透明網(wǎng)絡(luò)通信部分的這兩個(gè)屬性也是可以注意到的,因?yàn)樗鼈儾煌诂F(xiàn)有技術(shù)中定義的計(jì)算機(jī)網(wǎng)絡(luò)通信方法和系統(tǒng)。
每種算法包括多個(gè)組成部分,它們的實(shí)施例的實(shí)現(xiàn)必須分成兩種程序設(shè)計(jì)語(yǔ)言(1)為零復(fù)制透明網(wǎng)絡(luò)互連定義類別、接口和實(shí)現(xiàn)的Java編碼;和(2)操作特定系統(tǒng)編碼,現(xiàn)有技術(shù)中(當(dāng)用于Java代碼連接時(shí))通常被稱為“本地編碼”,提供映射存儲(chǔ)器系統(tǒng)和在(1)中的Java編碼的運(yùn)行時(shí)間接口。本領(lǐng)域技術(shù)人員將能意識(shí)到,下面零復(fù)制透明網(wǎng)絡(luò)互連算法以軟件實(shí)現(xiàn)的細(xì)節(jié)是特定實(shí)施例的人工制品,而不是所述零復(fù)制透明網(wǎng)絡(luò)通信部分內(nèi)在屬性。
對(duì)于以下步驟的每一個(gè)都定義了呼叫方法和其它特定語(yǔ)言屬性,實(shí)施例可以選擇多種實(shí)現(xiàn)技術(shù)(例如通過(guò)許多離散呼叫子方法、使用動(dòng)態(tài)類型映射、使用代理,或其它同樣的語(yǔ)義方法),任何富有現(xiàn)有技術(shù)經(jīng)驗(yàn)的人都將這些技術(shù)視為實(shí)現(xiàn)該算法屬性的等效。等效地,下面算法的許多步驟都可以更改它們的順序,但仍然保留相同的語(yǔ)義解釋;任何有現(xiàn)有技術(shù)經(jīng)驗(yàn)的人將這種重新排序視作實(shí)現(xiàn)這種算法的屬性。
零復(fù)制透明Java網(wǎng)絡(luò)分送算法是由下列步驟定義的(1)定義一Java變量″jBuf″,該變量是Java面向字節(jié)的特定尺寸的存儲(chǔ)器陣列(例如byte[n],其中n>=0)。
(2)分配一存儲(chǔ)緩沖器,這里稱為″buf″,使用特定系統(tǒng)操作代碼,與使用映射存儲(chǔ)器系統(tǒng)相兼容,如本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分所定義的,在所有實(shí)現(xiàn)接收算法的節(jié)點(diǎn)之間共享(映射)和可在虛擬或物理存儲(chǔ)器空格進(jìn)行存取;這個(gè)步驟象在一個(gè)函數(shù)的階段1所定義的,被稱為“Salloc()”,使用本機(jī)代碼實(shí)現(xiàn)該步驟,及經(jīng)一個(gè)“本地方法呼叫”(象在背景技術(shù)中所稱的一樣)從Java調(diào)用該步驟,該方法是一種以Java接口或類別的方法,類別是使用一種本地方法接口定義的(例如使用一種“本地”方法接入限定符的Java方法)。
(3)分配一種Java面向字節(jié)的存儲(chǔ)器陣列和使其與Buf結(jié)合,使用操作系統(tǒng)代碼和/或JVM-特定代碼(例如“Java本地接口”),這樣以Java方式從jbuf讀或?qū)懙臄?shù)據(jù)從Buf定義的本地存儲(chǔ)區(qū)(而不是以Java方式累積的存儲(chǔ)器收集的無(wú)用信息的任意區(qū))讀和寫數(shù)據(jù);該步驟如Salloc()的兩個(gè)階段所定義的,使用本地代碼來(lái)實(shí)現(xiàn)。
(4)分配適于從Salloc()返回的Java存儲(chǔ)器陣列的jBuf值,如在步驟(2)到(3)所完成的;本領(lǐng)域技術(shù)人員將能容易地認(rèn)識(shí)到為了保持相同的目的和方便性,該步驟和步驟(1)都能以Java方式組合到一個(gè)單獨(dú)定義和分配的語(yǔ)句。
(5)使用Java功能呼叫、分配語(yǔ)句,或其它等效技術(shù)的任何組合和排列,來(lái)寫特定字節(jié)值(單個(gè)或在塊字中)到j(luò)Buf中的單個(gè)字節(jié)數(shù)據(jù)字段,如本發(fā)明利用該零復(fù)制透明網(wǎng)絡(luò)通信部分來(lái)傳送數(shù)據(jù)的軟件程序所期望的。
(6)應(yīng)用到計(jì)算機(jī)系統(tǒng)算法的信號(hào)完成,計(jì)算機(jī)系統(tǒng)通過(guò)任一原語(yǔ)來(lái)執(zhí)行零復(fù)制透明Java網(wǎng)絡(luò)接收算法,該原語(yǔ)是共享存儲(chǔ)器同步算法,在共享映射中使用一個(gè)或多個(gè)字節(jié),作為特定實(shí)施例同步算法的要求;多數(shù)這種同步技術(shù)已經(jīng)在現(xiàn)有技術(shù)中定義了(由林奇(Lynch)在1992調(diào)查),和具體實(shí)現(xiàn)考慮了實(shí)施例的屬性,而不是所述零復(fù)制透明網(wǎng)絡(luò)通信部分。
(7)根據(jù)使用jBuf的完成(通過(guò)軟件程序通知明確指出或通過(guò)諸如無(wú)用信息收集等異步信號(hào)技術(shù)暗示),調(diào)用一種稱為“Sfree()”的Java本地方法(使用與上面定義一樣的“本地”方法定義),以請(qǐng)求該jBuf本地處理和消除其映射存儲(chǔ)器映射。
(8)Sfree()請(qǐng)求Buf從共享存儲(chǔ)器去映射和再分配;對(duì)于映射存儲(chǔ)器系統(tǒng),該步驟隱含地促成了在參與網(wǎng)絡(luò)互連的計(jì)算機(jī)系統(tǒng)之間任何后續(xù)映射的停止。
(9)Sfree()返回布爾值,指示(8)中定義操作的成功,返回給(7)中調(diào)用Sfree()的軟件呼叫者;該布爾返回值定義成等于映射存儲(chǔ)系統(tǒng)成功或失敗停止后續(xù)隱含映射;如果映射存儲(chǔ)系統(tǒng)沒(méi)有提供這種布爾值,那么表現(xiàn)為一個(gè)真返回值;如本領(lǐng)域技術(shù)人員將容易意識(shí)到,這個(gè)步驟也能以不具有同樣目的返回值來(lái)實(shí)現(xiàn)。
在步驟(5)中使用Java的數(shù)據(jù)分配隱含地改變共享映射存儲(chǔ)器,優(yōu)先于Java字節(jié)陣列jBuf,如在(3)中的成對(duì)映射所定義的。通過(guò)映射存儲(chǔ)器定義,在每個(gè)實(shí)現(xiàn)零復(fù)制透明Java網(wǎng)絡(luò)接收算法的計(jì)算機(jī)系統(tǒng)上,這些改變自動(dòng)傳播到對(duì)應(yīng)共享映射存儲(chǔ)緩沖器;這種傳播需要與共享存儲(chǔ)器核心和虛擬存儲(chǔ)器機(jī)制一致,連同通過(guò)共享媒介連接每個(gè)參與互連的計(jì)算機(jī)的業(yè)務(wù)一起(例如,諸如以太網(wǎng)等傳統(tǒng)無(wú)線網(wǎng)絡(luò)連接的Internet網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)的共享底板、公用總線或松耦合群集器),而不失一般性。
零復(fù)制透明Java網(wǎng)絡(luò)接收算法由以下步驟定義(1)定義一種Java變量″jBuf″,該變量是一種Java面向字節(jié)的特定大小的存儲(chǔ)器陣列(例如byte[n],其中n>=0),被稱為“jbuf”。
(2)分配一個(gè)存儲(chǔ)緩沖器,這里稱為″buf″,使用特定系統(tǒng)操作代碼,與使用映射存儲(chǔ)器系統(tǒng)相兼容,在所有實(shí)現(xiàn)接收算法的節(jié)點(diǎn)之間共享(映射)和可在虛擬或物理存儲(chǔ)器空格進(jìn)行存取,如本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分所定義的;這個(gè)步驟象在一個(gè)函數(shù)的階段1所定義的,被稱為“Salloc()”,使用本機(jī)代碼實(shí)現(xiàn)該步驟,及經(jīng)一個(gè)“本地方法呼叫”(象在背景技術(shù)中所稱的一樣)從Java調(diào)用該步驟,該方法是一種以Java接口或類別的方法,使用一種本地方法接口定義的(例如,使用一種“本地”方法接入限定符的Java方法)。
(3)分配一種Java面向字節(jié)的存儲(chǔ)器陣列和使其與Buf結(jié)合,使用操作系統(tǒng)代碼和/或JVM-特定代碼(例如“Java本地接口”),這樣以Java方式從jbuf讀和寫的數(shù)據(jù)從Buf定義的本地存儲(chǔ)區(qū)讀和寫數(shù)據(jù)(而不是以Java方式累積的存儲(chǔ)器收集的無(wú)用信息的任意區(qū));該步驟如Salloc()的兩個(gè)階段所定義的,使用本地代碼來(lái)實(shí)現(xiàn)。
(4)分配等于從Salloc()返回的Java存儲(chǔ)器陣列的jBuf值,如在步驟(2)到(3)所完成的;本領(lǐng)域技術(shù)人員將能容易地認(rèn)識(shí)到為了保持相同的目的和方便,該步驟和步驟(1)都能以Java方式組合到一個(gè)單獨(dú)定義和分配的語(yǔ)句。
(5)等待信號(hào)完成,最于有限或無(wú)線持續(xù)時(shí)間,對(duì)應(yīng)使用一種同步算法的零復(fù)制透明Java網(wǎng)絡(luò)傳送算法,如充當(dāng)用于數(shù)據(jù)交換的網(wǎng)絡(luò)互連數(shù)據(jù)源的計(jì)算機(jī)系統(tǒng)所實(shí)現(xiàn)的;多數(shù)這種同步技術(shù)在現(xiàn)有技術(shù)中已經(jīng)被定義了(由林奇(Lynch)在1992調(diào)查),和具體實(shí)現(xiàn)考慮了實(shí)施例的屬性,而不是所述零復(fù)制透明網(wǎng)絡(luò)通信部分。
(6)一傳送信號(hào),若其出現(xiàn)在有限超時(shí)之前,那么就轉(zhuǎn)到(7),如果這種信號(hào)出現(xiàn)在有限超時(shí)期間,則轉(zhuǎn)到(8)。
(7)如利用本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分傳送數(shù)據(jù)的軟件程序所期望的,以Java方式從jBuf讀取和使用字節(jié)值;在這個(gè)步驟期間,任何任意功能的改變或組合都執(zhí)行來(lái)獲得期望的函數(shù)結(jié)果,源于在網(wǎng)絡(luò)通信中從計(jì)算機(jī)傳送數(shù)據(jù)的數(shù)據(jù)接收,由所述零復(fù)制透明網(wǎng)絡(luò)通信部分所限定。
(8)jBuf的使用一完成(通過(guò)軟件程序通知明確指出或通過(guò)諸如無(wú)用信息收集等異步信號(hào)技術(shù)暗示),調(diào)用一種稱為“Sfree()”的Java本地方法(使用與上面定義的一樣的“本地”方法定義),以請(qǐng)求該jBuf本地處理和消除其映射存儲(chǔ)器映射。
(9)Sfree()請(qǐng)求Buf從共享存儲(chǔ)器去映射和再分配;對(duì)于映射存儲(chǔ)器系統(tǒng),該步驟隱含地促成了在參與網(wǎng)絡(luò)互連的計(jì)算機(jī)系統(tǒng)之間任何后續(xù)映射的停止。
(10)Sfree()返回布爾值,指示(8)中定義操作的成功,返回給(7)中調(diào)用Sfree()的軟件呼叫者;該布爾返回值定義成等于映射存儲(chǔ)系統(tǒng)成功或失敗停止后續(xù)隱含映射;如果映射存儲(chǔ)系統(tǒng)沒(méi)有提供這種布爾值,那么表現(xiàn)為一個(gè)真返回值;如本領(lǐng)域技術(shù)人員將容易意識(shí)到,這個(gè)步驟也能以沒(méi)有具有同樣目的返回值來(lái)實(shí)現(xiàn)。
在現(xiàn)有技術(shù)的術(shù)語(yǔ)中,本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分定義為映射存儲(chǔ)器(與共享存儲(chǔ)器對(duì)應(yīng))寫到共享映射緩沖器的字節(jié)被自動(dòng)傳送到所有參與網(wǎng)絡(luò)互連的計(jì)算機(jī)系統(tǒng),而沒(méi)有任何內(nèi)部同步支持的要求(雖然使用這種網(wǎng)絡(luò)通信技術(shù)需要提供完成信令)。這樣,故意沒(méi)有支持超高速緩存一致性或其他嘗試掩蓋寫等待時(shí)間、掩蓋讀等待時(shí)間或通過(guò)最優(yōu)化算法減少在系統(tǒng)之間傳送字節(jié)的需要的技術(shù)(雖然這可能添加到本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分,如用戶所期望的),目的是限定每個(gè)參與系統(tǒng)之間的全映射存儲(chǔ)器和使用,例如網(wǎng)絡(luò)信息流抽象。
前述算法的定義舉例說(shuō)明了本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分的幾種關(guān)鍵定義屬性。首先,本發(fā)明的當(dāng)前零復(fù)制透明網(wǎng)絡(luò)通信部分使用了一種“零復(fù)制”通信技術(shù)字節(jié)陣列jBuf的字節(jié)在網(wǎng)絡(luò)通信之前或期間沒(méi)有傳送到第二緩沖器。這不同現(xiàn)有技術(shù)的網(wǎng)絡(luò)通信方法,例如套接字或數(shù)據(jù)流,這些需要jBuf傳送到中間緩沖器(通常傳送到核心通信緩沖區(qū)或網(wǎng)絡(luò)緩沖器接口卡)來(lái)實(shí)現(xiàn)邏輯和/或物理傳輸。
第二,本發(fā)明的該零復(fù)制透明網(wǎng)絡(luò)通信部分依賴一種“透明”網(wǎng)絡(luò)通信技術(shù)。沒(méi)有調(diào)用輸入/輸出或套接字方法,在參與網(wǎng)絡(luò)互連的計(jì)算機(jī)之間來(lái)傳送信號(hào)或執(zhí)行數(shù)據(jù)傳輸。相反,數(shù)據(jù)傳輸被隱含性的傳送,并且出現(xiàn)在寫值到字節(jié)陣列jBuf。這種透明屬性是關(guān)鍵的,因?yàn)槠湎薅怂隽銖?fù)制透明網(wǎng)絡(luò)通信部分獲得非常低的等待時(shí)間和高性能特性的方式。在現(xiàn)有技術(shù)定義的術(shù)語(yǔ)中,所述零復(fù)制透明網(wǎng)絡(luò)通信部分的屬性通常稱為“透明”。同樣地,以這種方式使用的映射存儲(chǔ)器具有一種靈活性的程序設(shè)計(jì)模塊,該模塊能執(zhí)行對(duì)稱多重處理(SMP)計(jì)算機(jī)系統(tǒng)中首先采用的技術(shù)消息傳遞和共享存儲(chǔ)器。以Java方式映射存儲(chǔ)器具有這些益處,特別對(duì)于使用多計(jì)算機(jī)和松耦合集群器組織的計(jì)算機(jī)。
最后,透明網(wǎng)絡(luò)通信也比現(xiàn)有網(wǎng)絡(luò)較高等級(jí),因?yàn)槠渑c諸如TCP/IP網(wǎng)絡(luò)協(xié)議堆棧連合消除了傳統(tǒng)的等待時(shí)間和計(jì)算的運(yùn)行成本。特別是,使用透明零復(fù)制機(jī)制的映射存儲(chǔ)器不是由操作系統(tǒng)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)來(lái)處理;而是其直接映射到存儲(chǔ)器中,通過(guò)直接存儲(chǔ)器存取(DMA)和用戶核心存儲(chǔ)器映射,而又不失一般性。
自動(dòng)系統(tǒng)集成系統(tǒng)集成(SI)涉及使一個(gè)或多個(gè)離散計(jì)算機(jī)交換數(shù)據(jù)并保留處理狀態(tài)的技術(shù)領(lǐng)域,作為驅(qū)動(dòng)域處理的部分,這些處理架于多個(gè)離散計(jì)算機(jī)系統(tǒng)之上。由一群公司實(shí)施系統(tǒng)集成工作,今后這些公司被單獨(dú)稱為“SI組”。圖54a、54b和55-60對(duì)應(yīng)于下面本發(fā)明的自動(dòng)系統(tǒng)集成對(duì)的描述。
數(shù)據(jù)交換經(jīng)通信網(wǎng)移動(dòng)獨(dú)立計(jì)算機(jī)之間信息字節(jié)來(lái)常規(guī)實(shí)現(xiàn)。這種交換可能在計(jì)算機(jī)之間或多個(gè)實(shí)體之間出現(xiàn),計(jì)算機(jī)是一個(gè)單獨(dú)實(shí)體擁有的。在任何這種交換中的數(shù)據(jù)字節(jié)常以不同類型格式化;出現(xiàn)這種缺少通用格式,因?yàn)榻粨Q的數(shù)據(jù)源于多個(gè)不同的計(jì)算機(jī)程序,使用多種不同的數(shù)據(jù)格式標(biāo)準(zhǔn)(例如ASCII文本文件、結(jié)構(gòu)化查詢語(yǔ)言(SQL)、或可擴(kuò)展標(biāo)記語(yǔ)言(XML))。
進(jìn)程狀態(tài)是用于邏輯進(jìn)程數(shù)據(jù)流的“路徑連接器(roadmakers)”的計(jì)算機(jī)表示,該數(shù)據(jù)流是數(shù)據(jù)交換正執(zhí)行的。特別是,所有的計(jì)算機(jī)程序都具有一種定義的進(jìn)程數(shù)據(jù)流,對(duì)于數(shù)據(jù)流軟件和硬件程序指令都執(zhí)行這種交換。對(duì)于在若干計(jì)算機(jī)之間移動(dòng)數(shù)據(jù)的程序,用于這個(gè)進(jìn)程的“路徑連接器”邏輯交叉分布于每個(gè)參與進(jìn)程的計(jì)算機(jī)。進(jìn)程狀態(tài)表示作為字節(jié)存儲(chǔ)在隨機(jī)存儲(chǔ)器(RAM)和永久存儲(chǔ)器(例如硬盤驅(qū)動(dòng)器)中,這些存儲(chǔ)器屬于參與進(jìn)程的每個(gè)計(jì)算機(jī);控制數(shù)據(jù)交換的軟件程序定義了“規(guī)則”(或者邏輯條件或約束組),用于如何和什么時(shí)候定義這種進(jìn)程狀態(tài),并存儲(chǔ)到RAM或永久存儲(chǔ)器中。這樣保留的進(jìn)程狀態(tài)是一種共用程序動(dòng)作,在具有算法的程序和用于進(jìn)程的邏輯程序,與存儲(chǔ)在進(jìn)程執(zhí)行中出現(xiàn)的狀態(tài)數(shù)據(jù)的硬件之間共用。
確保這種進(jìn)程狀態(tài)在每個(gè)參與計(jì)算機(jī)之間保持一致,以及連續(xù)準(zhǔn)確的反映綜合處理的意旨,該處理是操作員正向計(jì)算機(jī)請(qǐng)求的,是特別重要的。在很多系統(tǒng)集成問(wèn)題中,保持處理狀態(tài)的一致是最有技術(shù)挑戰(zhàn)性的方面之一。因?yàn)樵谶@種系統(tǒng)集成方案中,促成許多技術(shù)實(shí)施細(xì)節(jié)是很有意義的。
作為一種科目,系統(tǒng)集成現(xiàn)今主要通過(guò)兩種可選擇的方式來(lái)實(shí)施業(yè)務(wù)驅(qū)動(dòng)和產(chǎn)品驅(qū)動(dòng)。這兩種方式是主要技術(shù),實(shí)際工作通過(guò)這些技術(shù)給用戶提供系統(tǒng)集成。在整個(gè)下文中,“集成方案”定義為一組執(zhí)行硬件和軟件以解決需要的實(shí)現(xiàn),該需要是為了請(qǐng)求數(shù)據(jù)交換進(jìn)程和狀態(tài)維持進(jìn)程的特定綜合。以下,術(shù)語(yǔ)“用戶”定義為一個(gè)或多個(gè)尋找這種集成方案的實(shí)體。
業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成(SDSI)是一種人為增強(qiáng)進(jìn)程驅(qū)動(dòng),通過(guò)一組跨學(xué)科的個(gè)人,每個(gè)人具有互補(bǔ)的特定領(lǐng)域的專門技術(shù),一起來(lái)實(shí)現(xiàn)一種集成方案。這種提供給用戶的方案由一組技術(shù)成分組成,例如計(jì)算機(jī)服務(wù)器和軟件,這些已經(jīng)巧妙的組合在一起了,以適應(yīng)特殊的集成問(wèn)題。不管一種可行的技術(shù)方案的最后結(jié)果,業(yè)務(wù)驅(qū)動(dòng)SI提供的實(shí)際值是SI組單個(gè)成員提供的經(jīng)驗(yàn)值或資料(不是單個(gè)技術(shù)成分)。通過(guò)定義,業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成假定領(lǐng)域?qū)<叶嗫菩越M的存在,連同一組定制開發(fā)客戶方案技術(shù)一起。雖然SI組也可以提供其他業(yè)務(wù),例如用戶培訓(xùn),但這種無(wú)技術(shù)驅(qū)動(dòng)的服務(wù)被認(rèn)為超出了系統(tǒng)集成實(shí)現(xiàn)的范圍。
這種完成系統(tǒng)集成的方式具有幾種定義屬性;任何本領(lǐng)域技術(shù)人員將能意識(shí)到任何特定可靠實(shí)現(xiàn)業(yè)務(wù)驅(qū)動(dòng)集成系統(tǒng),可以僅顯示出以下屬性的一個(gè)子集,或者對(duì)以下嚴(yán)格定義屬性可以有一些適當(dāng)?shù)淖兓?;盡管可以有些變化,但固定的目的保持相同。
第一,業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成具有很少的例外,為特定標(biāo)識(shí)客戶構(gòu)造成圍繞執(zhí)行離散方案;特定“方案”工作的范圍定義為解決單個(gè)客戶問(wèn)題的處理。對(duì)于業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成的經(jīng)濟(jì)合理性在于控制每個(gè)方案比率高于根據(jù)勞動(dòng)力和實(shí)際技術(shù)執(zhí)行方案的花費(fèi)。
第二,執(zhí)行特殊SI問(wèn)題的處理產(chǎn)生了無(wú)形知識(shí)產(chǎn)權(quán)(IP),這樣該知識(shí)產(chǎn)權(quán)還能再用于將來(lái)的設(shè)計(jì),SI組很少開發(fā)能在多個(gè)設(shè)計(jì)之間重復(fù)使用的軟件。在很多情況下,僅用于SDSI組的IP在設(shè)計(jì)之間保持不變,該IP是組成員在他們的設(shè)計(jì)期間反復(fù)獲得的知識(shí)。另外,在客戶和SI組之間,對(duì)于服務(wù)驅(qū)動(dòng)多個(gè)SI開發(fā)的,在任何這種設(shè)計(jì)過(guò)程期間,客戶同意的結(jié)構(gòu)經(jīng)常規(guī)定所有開發(fā)的有形知識(shí)產(chǎn)權(quán)是由客戶擁有;相當(dāng)于在這種設(shè)計(jì)期間,契約性的限制了很多SI組再用有形的知識(shí)產(chǎn)權(quán)開發(fā)。
第三,服務(wù)驅(qū)動(dòng)SI組依靠一組委托的獨(dú)立技術(shù)公司,這些公司根據(jù)SI組構(gòu)成的系統(tǒng)集成方案,提供計(jì)算機(jī)硬件和/或軟件。時(shí)常地,在培訓(xùn)和技術(shù)鑒定時(shí),SI組給客戶提供的有意義的部分值就被省略了,該組擁有使用他們選擇的解決一個(gè)特殊商業(yè)問(wèn)題的技術(shù)部件組的技術(shù)。關(guān)于這種屬性的密鑰屬性就是服務(wù)驅(qū)動(dòng)SI組獨(dú)立于提供硬件和軟件的技術(shù)伙伴公司。
第四,業(yè)務(wù)驅(qū)動(dòng)SI組使用任意能解決客戶限定問(wèn)題所必須的技術(shù)工具裝置;特別是,SI組很少維持從一個(gè)設(shè)計(jì)到另一個(gè)設(shè)計(jì)專門結(jié)合的一種特定硬件或軟件。等效地,業(yè)務(wù)驅(qū)動(dòng)SI是面向客戶的解決方案,而不僅是面向產(chǎn)品的。
第五,購(gòu)買業(yè)務(wù)驅(qū)動(dòng)SI專業(yè)知識(shí)的客戶經(jīng)常將解決的問(wèn)題限定的很狹窄,以確保SI組的任務(wù)和范圍是清楚的。這種問(wèn)題域的狹窄性是深思熟慮的,并基于業(yè)務(wù)驅(qū)動(dòng)SI經(jīng)濟(jì)情況問(wèn)題越寬,實(shí)現(xiàn)方案的總花費(fèi)將按指數(shù)規(guī)律地越大。
業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成的實(shí)現(xiàn)通常遵從一種程序過(guò)程;任何本領(lǐng)域技術(shù)人員都能意識(shí)到專業(yè)公司通常適當(dāng)改變這些程序步驟,以強(qiáng)調(diào)他們特殊的知識(shí)、技術(shù)和資金來(lái)源的混合。特別是,這種過(guò)程由以下步驟組成問(wèn)題鑒定,現(xiàn)有技術(shù)系統(tǒng)分析,與客戶雇傭人員深入討論;技術(shù)設(shè)計(jì)和結(jié)構(gòu),技術(shù)實(shí)現(xiàn)、確認(rèn)、測(cè)試,再繼續(xù)。如上面歸結(jié)的舉例說(shuō)明,在SI組和客戶之間協(xié)商和密切交流是這種過(guò)程從開始到完成的關(guān)鍵特性。這些步驟不需要嚴(yán)格按照上面限定的順序執(zhí)行;特別是,SDSI過(guò)程經(jīng)常按這些步驟的順序適當(dāng)改變來(lái)實(shí)現(xiàn)。
服務(wù)驅(qū)動(dòng)系統(tǒng)集成從問(wèn)題鑒定開始,就是集中交流、集中時(shí)間和集中人力的工作過(guò)程,以確定客戶提出的問(wèn)題;在這里這個(gè)階段稱為“考察階段”。隨后,繼續(xù)進(jìn)行,SI組分析安裝在客戶設(shè)備上的技術(shù)產(chǎn)品類型,和客戶在商業(yè)過(guò)程中怎樣使用這種技術(shù)的詳細(xì)說(shuō)明。第一二步驟的關(guān)鍵部分是在SI組和雇員之間深入的交流,關(guān)于各種技術(shù)和定位。這個(gè)階段的結(jié)果通常是一些有形的文件形式,這些文件定義、量化和質(zhì)量管理經(jīng)SI設(shè)計(jì)考慮決定的問(wèn)題。
考察階段后將要出現(xiàn)的是系統(tǒng)集成方案的技術(shù)部件的設(shè)計(jì)、說(shuō)明和研制。實(shí)質(zhì)上,這個(gè)“實(shí)現(xiàn)”階段主要涉及定制一套計(jì)算機(jī)硬件和軟件,以滿足在考察階段限定的要求規(guī)范。在這里,SI組依靠獨(dú)立的技術(shù)公司來(lái)使硬件和軟件包適合該方案,然后服務(wù)驅(qū)動(dòng)SI人員定制使用它們專利知識(shí)和專業(yè)技術(shù)。
最后,SI組已經(jīng)定制的計(jì)算機(jī)硬件和軟件組安裝到客戶設(shè)備上。安裝階段包括步驟物理安裝需要使硬件或軟件可用于客戶設(shè)備;確認(rèn)需要驗(yàn)證方案滿足在考察階段確定的客戶要求;和測(cè)試需要確認(rèn)技術(shù)方案與客戶使用的其他硬件和軟件的技術(shù)兼容性。安裝階段完成后,通常是一些固定的時(shí)間段,在這期間客戶保持與業(yè)務(wù)驅(qū)動(dòng)SI組的交流,來(lái)記錄任何異?;蚱x安裝方案的具體要求的情況。
保持SDSI實(shí)現(xiàn)上述進(jìn)程說(shuō)明的重要觀察,是因?yàn)樵趯?shí)現(xiàn)上這種規(guī)范怎樣執(zhí)行存在很大程度的變化;在每個(gè)階段中,本領(lǐng)域技術(shù)技術(shù)人員將能容易的意識(shí)到各子步驟能以幾乎任一順序執(zhí)行。另外,不存在執(zhí)行這些子步驟的通用約定順序。照那樣,對(duì)于SDSI到一種嚴(yán)格機(jī)械步驟程序組順序的任何變換,將通過(guò)不準(zhǔn)確的反應(yīng)單個(gè)SI組怎樣實(shí)現(xiàn)SDSI的變化來(lái)定義。
產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成(PDSI)是編碼成與計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)或程序狀態(tài)有關(guān)的專門問(wèn)題方案的軟件。產(chǎn)品驅(qū)動(dòng)SI的實(shí)質(zhì)是確定客戶組面對(duì)的集成問(wèn)題,然后開發(fā)和定制解決這些問(wèn)題的軟件。產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成的限制因素是系統(tǒng)集成怎樣能快速確定和將它們編碼成軟件的方案。然而這些集成問(wèn)題經(jīng)常連合客戶進(jìn)行確定,產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成的目的是解決客戶集成難題,這些難題是對(duì)于很多通過(guò)單個(gè)、標(biāo)準(zhǔn)、固定和明確屬性組的使用。產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成假定具有存在專家組,專家組在他們適合的領(lǐng)域和軟件開發(fā)方面具有專業(yè)技術(shù)。
與任何軟件領(lǐng)域一樣,存在無(wú)數(shù)軟件可用于很多公用集成的問(wèn)題。這種執(zhí)行系統(tǒng)集成的方式具有多個(gè)定義屬性;本領(lǐng)域博學(xué)的人將能意識(shí)到任何實(shí)現(xiàn)產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成的特定公司都可以僅顯示以下屬性的一個(gè)子集(或可以就以下嚴(yán)格的屬性定義有一些適當(dāng)?shù)男薷?;但固定的目的保持相同。
第一產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成是往復(fù)式的軟件特性在不隨機(jī)的時(shí)間間隔上是固定的,并且具有這些屬性的不同產(chǎn)品是給定了識(shí)別標(biāo)記(例如版本或年份)和作為分立實(shí)體的商業(yè)化。這樣,產(chǎn)品驅(qū)動(dòng)集成與業(yè)務(wù)集成形成顯著差異,因?yàn)楫a(chǎn)品驅(qū)動(dòng)集成基于固定出廠日期具有定義的屬性組,勝于被設(shè)計(jì)驅(qū)動(dòng)。與業(yè)務(wù)驅(qū)動(dòng)SI形成相比,在開發(fā)階段,產(chǎn)品驅(qū)動(dòng)SI開發(fā)它們的產(chǎn)品超出了特定客戶的范圍。
第二,產(chǎn)品驅(qū)動(dòng)SI不必關(guān)心一個(gè)特定客戶所能想象到的每一個(gè)要求,而是定義一個(gè)概括性的軟件,該軟件能令人信服地滿足客戶組的大多數(shù)要求。產(chǎn)品驅(qū)動(dòng)集成的經(jīng)濟(jì)合理性是從集成產(chǎn)品應(yīng)花費(fèi)開發(fā)所有花費(fèi)的一小部分的觀點(diǎn)得出的,然而通過(guò)出售該產(chǎn)品給最廣泛的客戶組的收入是顛倒過(guò)來(lái)的。
第三,來(lái)自產(chǎn)品驅(qū)動(dòng)SI的產(chǎn)品驅(qū)動(dòng)可以專業(yè)化到一定限度,通過(guò)僅在一個(gè)定義狹窄的參數(shù)空格內(nèi),通過(guò)這種諸如宏語(yǔ)言、圖形配置或具體產(chǎn)品特性等技術(shù)進(jìn)行限制。雖然這形成了一定專業(yè)化程度,每個(gè)軟件包限定在軟件所包含的設(shè)計(jì)、結(jié)構(gòu)和集成方法。特別是,定制類型在功能部件標(biāo)準(zhǔn)化和商業(yè)化的時(shí)候是固定的。
第四,產(chǎn)品驅(qū)動(dòng)SI不生成一個(gè)完整的方案;相反,產(chǎn)品驅(qū)動(dòng)SI提供一些軟件,這些軟件是培訓(xùn)領(lǐng)域?qū)<冶仨氋?gòu)買、安裝、配置、使用和管理的。特別是,產(chǎn)品驅(qū)動(dòng)SI主要缺少任意人力驅(qū)動(dòng)處理。這與業(yè)務(wù)驅(qū)動(dòng)SI形成對(duì)照,業(yè)務(wù)驅(qū)動(dòng)SI給個(gè)別客戶提供高度專業(yè)化的方案。
第五,產(chǎn)品驅(qū)動(dòng)SI主要以明確證明文件的軟件經(jīng)濟(jì)效果為條件無(wú)情的附加新屬性,直到很少的競(jìng)爭(zhēng)者再保持或市場(chǎng)需求消失。這樣,產(chǎn)品驅(qū)動(dòng)SI開發(fā)單片集成電路軟件,這種軟件隨著時(shí)間的推移可以逐漸添加新的屬性。而且,這些產(chǎn)品的屬性很少能智能分段或子集化,妨礙了單個(gè)客戶專用選擇那些他們需要的屬性??商鎿Q地,在最大化潛在客戶基礎(chǔ)的名聲中,這些產(chǎn)品經(jīng)常吸收幾乎每個(gè)可想象到的屬性,用戶可能需要這些屬性。與基礎(chǔ)業(yè)務(wù)集成相比,客戶對(duì)購(gòu)買更多屬性而不立即需要的偏愛(ài),帶有將來(lái)某個(gè)時(shí)間可能需要而今天不需要這些屬性的看法。
第六,產(chǎn)品驅(qū)動(dòng)SI是圍繞反復(fù)提供一種具體的產(chǎn)品而構(gòu)造的。特別是,這些產(chǎn)品通常有幾種限定屬性,這些屬性經(jīng)各種反復(fù)保持顯著的穩(wěn)定性。例如,軟件“視覺(jué)”圖經(jīng)常保持一致;使軟件可用的程序接口(一般稱作應(yīng)用編程接口,或多個(gè)API)組常常保持向后兼容和僅發(fā)展成包括更多的屬性;軟件用來(lái)執(zhí)行集成的方法或“范例”通常保持一致。
產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成的實(shí)現(xiàn)明顯不同于業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成,如通過(guò)上述列舉的屬性所暗示的。產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成遵從一種往復(fù)式的過(guò)程,在工業(yè)中通常稱為“產(chǎn)品開發(fā)周期”;這個(gè)過(guò)程由以下步驟組成領(lǐng)域選擇,問(wèn)題限定,范例選擇,具體內(nèi)容要求,協(xié)調(diào)分析,功能部件選擇,技術(shù)說(shuō)明,結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn),驗(yàn)證、內(nèi)部測(cè)試和外部客戶測(cè)試。由于大多數(shù)產(chǎn)品由產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成構(gòu)成,所以這種往復(fù)循環(huán)期間通常延續(xù)一年或更長(zhǎng)。此外,熟悉本領(lǐng)域的任何人都能意識(shí)到這些產(chǎn)品開發(fā)周期需要大量時(shí)間從領(lǐng)域?qū)<业目鐚W(xué)科組獲得委托;無(wú)疑,這些產(chǎn)品不能草率的開發(fā)或沒(méi)有大量的計(jì)劃和文獻(xiàn)證據(jù)。
產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成可以看作一個(gè)特殊軟件開發(fā)實(shí)例,如上述討論所暗示的。產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成涉及設(shè)計(jì)一個(gè)軟件,該軟件解決一個(gè)需要數(shù)據(jù)交換或維持處理狀態(tài)的特定問(wèn)題。本領(lǐng)域技術(shù)人員能容易的意識(shí)到一個(gè)廣泛組出版的作品依存于軟件開發(fā)模型,如參考文獻(xiàn)中詳細(xì)說(shuō)明的,及關(guān)于這種討論簡(jiǎn)寫為包括上述定義的內(nèi)容。這也由更寬的軟件開發(fā)行業(yè)進(jìn)行實(shí)例說(shuō)明,任何本領(lǐng)域技術(shù)人員都將能意識(shí)到特定的公司經(jīng)常適當(dāng)改變這些程序步驟,以強(qiáng)調(diào)他們獨(dú)特的知識(shí)、專業(yè)技術(shù)和資金來(lái)源的混合。
類似于SDSI、PDSI不能精確的轉(zhuǎn)換為機(jī)械步驟的一個(gè)嚴(yán)格程序組,同樣通過(guò)定義的這些將不能精確反映在單個(gè)PDSI組怎樣開發(fā)他們的產(chǎn)品中的改變。對(duì)于大量軟件開發(fā)方法的存在和實(shí)現(xiàn),很多這些在他們的規(guī)定中是相互矛盾的,對(duì)于熟練現(xiàn)有技術(shù)人員,清楚的舉例說(shuō)明了這種實(shí)現(xiàn)。
在幾個(gè)方面中,產(chǎn)品驅(qū)動(dòng)和業(yè)務(wù)驅(qū)動(dòng)系統(tǒng)集成表示在它們的原形和實(shí)現(xiàn)形式中的兩個(gè)極端。根據(jù)每個(gè)客戶的定制,SDSI表示完全獨(dú)立的定制,而PDSI表示批量生產(chǎn)。根據(jù)成本,SDSI取決于客戶對(duì)上述產(chǎn)品成本的控制,而PDSI通過(guò)最廣泛可能的客戶組來(lái)分期償還開發(fā)成本。根據(jù)功能部件,SDSI尋求準(zhǔn)確地滿足客戶所需,而FDSI尋求最佳化相關(guān)功能部件。根據(jù)結(jié)構(gòu),SDSI是“一次性”面向設(shè)計(jì),而FDSI是面向產(chǎn)品和反復(fù)流程。根據(jù)有形知識(shí)產(chǎn)權(quán),SDSI開發(fā)很少可再用的IP,而PDSI圍繞軟件的銷售而構(gòu)造的,通過(guò)版權(quán)法反對(duì)未經(jīng)授權(quán)的再分配以保護(hù)這些軟件。
SDSI和FDSI兩者都共享三個(gè)公用方面復(fù)雜性、時(shí)間要求和供應(yīng)成本。實(shí)質(zhì)上,兩種系統(tǒng)集成方法都依靠一個(gè)跨學(xué)科的領(lǐng)域?qū)<医M,協(xié)調(diào)開發(fā)一種高度改進(jìn)方案,SDSI和PDSI是人力中心處理,這些處理不能通過(guò)計(jì)算機(jī)修正以最佳化或自動(dòng)化。這種復(fù)雜性的結(jié)果是系統(tǒng)集成需要大量時(shí)間和成本來(lái)有效執(zhí)行。領(lǐng)域?qū)<业母邎?bào)酬成本提高了這兩種的成本,該領(lǐng)域?qū)<也皇菫閱蝹€(gè)客戶(SDSI)工作,就是對(duì)公共客戶組(PDSI)工作;這兩種需要的時(shí)間都由問(wèn)題的固有復(fù)雜性和任一技術(shù)使用的相關(guān)技術(shù)工具小組引起的,以提高成員組的個(gè)人生產(chǎn)力。
本發(fā)明屬于一種用于自動(dòng)標(biāo)識(shí)、設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)集成方案的方法和系統(tǒng),該方案用于提供給客戶,作為由一個(gè)SI組使用一種新穎性的商業(yè)進(jìn)程來(lái)實(shí)現(xiàn),該進(jìn)程根據(jù)為這個(gè)目的設(shè)計(jì)的五個(gè)技術(shù)部件;本發(fā)明限定的方法和技術(shù)被稱為“自動(dòng)系統(tǒng)集成”,如定義了一個(gè)進(jìn)程,該進(jìn)程通過(guò)這些技術(shù)部件的使用能高度自動(dòng)。
自動(dòng)系統(tǒng)集成(ASI)假定了五種截然不同、而相互依賴的技術(shù)部件(1)可配置硬件計(jì)算機(jī)硬件的特定類型適合快速、靈活的定制直到明顯與其它功能部件兼容。
(2)系統(tǒng)邏輯通用可再用軟件邏輯組實(shí)現(xiàn)了主要軟件算法和程序邏輯,這些能組織成分立部件和適當(dāng)設(shè)計(jì)成與特定硬件兼容。
(3)圖形用戶接口圖形用戶接口(GUI)定義可再用組可以任意方式靈活組合,以生成多個(gè)GUI。這些圖形定義是以一種或多種圖形定義語(yǔ)言進(jìn)行定義的,這些語(yǔ)言直接或通過(guò)中間轉(zhuǎn)換相互兼容。
(4)通用技術(shù)標(biāo)準(zhǔn)通用技術(shù)標(biāo)準(zhǔn)組描述了數(shù)據(jù)屬性、軟件程序結(jié)構(gòu)、硬件接口、數(shù)據(jù)界限、差錯(cuò)處理,和數(shù)據(jù)交換和狀態(tài)處理的其它語(yǔ)義屬性。
(5)集成耦合專用計(jì)算機(jī)編譯程序組,運(yùn)行時(shí)間環(huán)境、應(yīng)用服務(wù)器、變換語(yǔ)言、數(shù)據(jù)接口,和異步處理狀態(tài)維持機(jī)制使用自動(dòng)通用標(biāo)準(zhǔn)、可再用系統(tǒng)邏輯和可再用圖形接口定義來(lái)解釋和實(shí)現(xiàn)系統(tǒng)集成。
通過(guò)本發(fā)明,前述五個(gè)功能部件被一起稱作“標(biāo)準(zhǔn)自動(dòng)功能部件”,因?yàn)樗麄兌x了便于自動(dòng)系統(tǒng)集成處理的功能部件。而不是有意作為他們定義的一部分,ASI自動(dòng)功能部件概念上能看作高度專用和“集成工具箱”的新穎類型,或相互依賴技術(shù)工具組,這些工具共同促進(jìn)自動(dòng)系統(tǒng)集成。
本領(lǐng)域技術(shù)人員將容易意識(shí)到這五個(gè)功能部件能由單個(gè)公司擁有,然后這個(gè)公司單獨(dú)執(zhí)行以下處理,或由幾個(gè)公司擁有,這幾個(gè)公司共同執(zhí)行以下處理。不管單個(gè)公司所有權(quán)的分配,本發(fā)明限定了一種通過(guò)這些功能部件(提供滿足這里列舉的定義屬性)用于自動(dòng)系統(tǒng)集成的方法和系統(tǒng)。
自動(dòng)系統(tǒng)集成是一組循環(huán)和往復(fù)的明確程序步驟,由自動(dòng)SI組定義在下面定義和實(shí)現(xiàn)的這些步驟。ASI是如基于正在執(zhí)行進(jìn)程一樣循環(huán),及多路該進(jìn)程的這種實(shí)例可選擇的并行執(zhí)行。此外,ASI組按以下給出的順序反復(fù)執(zhí)行這些程序步驟。
若干在ASI和SDSI/PDSI之間形成的差異可以從它們的定義來(lái)區(qū)分。首先,ASI密切依靠現(xiàn)有技術(shù)部件的存在,和對(duì)以下進(jìn)程嚴(yán)格堅(jiān)持。特別是,如果這些條件的二者之一都不能滿足,那么一種系統(tǒng)集成實(shí)現(xiàn)將不能達(dá)到本發(fā)明限定的方法和系統(tǒng)的精神。他們限定的PDSI與SDSI的這種對(duì)比唯一依靠于SI組,而不是任何特殊構(gòu)成的技術(shù)組。第二,ASI明確支持并行執(zhí)行以下進(jìn)程,而PDSI和SDSI是順序處理。對(duì)于PDSI,PDSI組可以開發(fā)獨(dú)立的多路產(chǎn)品,但每個(gè)單個(gè)產(chǎn)品僅能定義一個(gè)固定的屬性組;這樣,由PDSI組進(jìn)行的產(chǎn)品開發(fā),在每個(gè)單個(gè)產(chǎn)品上僅能通過(guò)定義沿著一條路徑進(jìn)行處理。對(duì)于SDSI,每個(gè)獨(dú)立的SI組成員僅有一個(gè)固定數(shù)量的鐘點(diǎn)時(shí)間可用于忙于系統(tǒng)集成項(xiàng)目;一旦這個(gè)時(shí)間完全分配給現(xiàn)行項(xiàng)目,通過(guò)限定,就沒(méi)有單獨(dú)忙于額外的項(xiàng)目的能力了。這樣,用于SDSI和PDSI兩者的主要資源自然可以非并行實(shí)現(xiàn)的方式分配。
自動(dòng)系統(tǒng)集成由七個(gè)階段組成,為了方便概括為(但不是嚴(yán)格定義)(1)問(wèn)題限定;(2)限定問(wèn)題到需求組的轉(zhuǎn)換;(3)源于要求的技術(shù)實(shí)現(xiàn)說(shuō)明的精華;(4)來(lái)自標(biāo)準(zhǔn)自動(dòng)功能部件當(dāng)前不可用技術(shù)屬性組的鑒定;(5)在前鑒定當(dāng)前不可用屬性的實(shí)現(xiàn);(6)新開發(fā)功能組合到標(biāo)準(zhǔn)自動(dòng)功能部件中;(7)基于來(lái)自自動(dòng)功能部件屬性的集合給客戶提供方案。這些階段下面詳細(xì)定義了。
首先,ASI組確定和定義具體系統(tǒng)集成問(wèn)題,具有明確的屬性,基于專業(yè)經(jīng)驗(yàn)或與一個(gè)或更多的潛在客戶的交流。這個(gè)問(wèn)題的根本屬性是ASI組在問(wèn)題影響和單個(gè)潛在客戶之間更相信前者。同樣地,一個(gè)ASI問(wèn)題的定義不同于SDSI在這個(gè)問(wèn)題上的確定,并且定義超出了用于單個(gè)客戶的具體系統(tǒng)集成項(xiàng)目的范圍。
第二,ASI組進(jìn)行問(wèn)題限定,并將它轉(zhuǎn)換成一組具體要求,這些要求屬于以下明確定義的“請(qǐng)求領(lǐng)域”組;熟悉本領(lǐng)域的任何人將能認(rèn)識(shí)到這個(gè)步驟作為正式請(qǐng)求分析的一種專業(yè)類型(1)用戶接口功能圖形用戶接口(GUI)組定義用于客戶將怎樣與解決方案手動(dòng)通信。
(2)邏輯數(shù)據(jù)接口獨(dú)立計(jì)算機(jī)系統(tǒng)的數(shù)量和類型(和它們對(duì)應(yīng)的協(xié)議和數(shù)據(jù)格式),解決方案通過(guò)邏輯網(wǎng)絡(luò)和協(xié)議算法(概括地考慮算法,這些算法定義了數(shù)據(jù)駐留OST網(wǎng)絡(luò)堆棧5+級(jí)中的解釋)提供邏輯數(shù)據(jù)交換和處理狀態(tài)維持,用于該計(jì)算機(jī)系統(tǒng)。
(3)物理數(shù)據(jù)接口獨(dú)立計(jì)算機(jī)的數(shù)量和類型(和它們對(duì)應(yīng)的協(xié)議和數(shù)據(jù)格式),解決方案通過(guò)物理網(wǎng)絡(luò)適配器提供網(wǎng)絡(luò)連通性和物理數(shù)據(jù)交換,用于該計(jì)算機(jī)系統(tǒng)。
(4)穩(wěn)定狀態(tài)規(guī)則在獨(dú)立計(jì)算機(jī)之間交換數(shù)據(jù)的類型和解釋,必須通過(guò)軟件算法、程序邏輯和連接到特定硬件的存儲(chǔ)設(shè)備,保存在分立計(jì)算機(jī)之間。
(5)事件處理同步和異步軟件算法和程序邏輯適于處理事件驅(qū)動(dòng)程序,例如觸發(fā)器、時(shí)基定時(shí)器和自動(dòng)登記。
(6)事務(wù)處理界限不可分割性/一致性/隔離性/持續(xù)性的特性(ACID)的使用來(lái)限定分立計(jì)算之間的可分界限(現(xiàn)有技術(shù)中通常稱為事務(wù)處理),在數(shù)據(jù)交換和狀態(tài)維持處理中,提供適當(dāng)?shù)墓收先蒎e(cuò)、異?;謴?fù)、重新運(yùn)算和再試語(yǔ)義和通過(guò)軟件算法。
(7)特權(quán)實(shí)施安全條件組、事件檢查、特權(quán)狀態(tài)、安全-不安全轉(zhuǎn)換界限,和必須通過(guò)方案附加以滿足客戶所需要的安全和秘密的邏輯任務(wù)。
(8)誤差處理程序檢測(cè)、處理、人工通知、自動(dòng)升級(jí)、持久記錄、圖形顯示,和報(bào)告策略,通過(guò)軟件算法和程序邏輯方案,用于處理運(yùn)行期間的偏離事故。
(9)商業(yè)規(guī)則拱形技術(shù)組,可定義條件(現(xiàn)有技術(shù)中通常所說(shuō)的“mata規(guī)則”),通過(guò)軟件算法和程序邏輯支配每個(gè)功能部件處理方案的實(shí)現(xiàn)和語(yǔ)義。
第三,ASI組將這些要求轉(zhuǎn)換成技術(shù)的具體說(shuō)明,這是AST標(biāo)準(zhǔn)化所依據(jù)的。這個(gè)步驟引起了技術(shù)實(shí)現(xiàn)方針的開發(fā),用于怎樣構(gòu)建一個(gè)方案,使用ASI自動(dòng)功能部件,這些滿足前面確定的功能要求。同時(shí)本發(fā)明定義了用于這些一般機(jī)制,任何本領(lǐng)域人員能意識(shí)到這種轉(zhuǎn)換的具體實(shí)現(xiàn)取決于每種標(biāo)準(zhǔn)自動(dòng)功能部件;特別是,本發(fā)明的每個(gè)優(yōu)選實(shí)施例都可以限定一種具體裝置,用于執(zhí)行這種對(duì)每種標(biāo)準(zhǔn)ASI自動(dòng)功能部件的變換。實(shí)質(zhì)上,這個(gè)步驟由從功能需求到技術(shù)自動(dòng)部件的每個(gè)轉(zhuǎn)換的邏輯成分組成。
關(guān)于這種需要部件轉(zhuǎn)換的臨界觀察有一種一對(duì)多的關(guān)系每個(gè)功能需要可以導(dǎo)致以一個(gè)或多個(gè)標(biāo)準(zhǔn)ASI自動(dòng)功能部件的實(shí)現(xiàn)需要。這種關(guān)系的關(guān)鍵新穎性屬性是在每個(gè)周期處理(與基于具體設(shè)計(jì)的語(yǔ)義的變化相反,如在SDSI中,或與基于分立產(chǎn)品的模式變化相反,如在PDSI中)的往復(fù)期間其保持一致。同樣地,這種關(guān)系和連接兩個(gè)的轉(zhuǎn)換處理看作ASI的靜態(tài)屬性。
第四,ASI組確定哪些技術(shù)具體說(shuō)明不能實(shí)現(xiàn),使用ASI自動(dòng)功能部件提供的現(xiàn)有功能。在需要領(lǐng)域定義的用于當(dāng)前反復(fù)的功能,而對(duì)現(xiàn)有的自動(dòng)功能部件不滿意,這種新功能組被稱為“Δ(delta)組”。Δ組是在每個(gè)標(biāo)準(zhǔn)自動(dòng)功能部件中所有單個(gè)不同所需屬性組的成分。
雖然Δ組的精確語(yǔ)義取決于優(yōu)選實(shí)施例的技術(shù)標(biāo)準(zhǔn),一般規(guī)則能用于定義需求分析中限定領(lǐng)域(以下列表直接對(duì)應(yīng)于前面需求領(lǐng)域的列表)(1)用戶接口功能圖形用戶接口(GUI)部分定義,ASI反復(fù)過(guò)程先前還沒(méi)有通過(guò)GUI定義語(yǔ)言定義;等效地,該方案可要求一種“視覺(jué)”(定義為GUI定義語(yǔ)言的格式屬性,其可以或不可以從正文或圖像內(nèi)容上不可分),它不同于ASI反復(fù)過(guò)程。
(2)邏輯數(shù)據(jù)接口特定協(xié)議和數(shù)據(jù)格式,或其中特殊方言或子集,這些在前ASI反復(fù)過(guò)程沒(méi)有定義。
(3)物理數(shù)據(jù)接口特定網(wǎng)絡(luò)協(xié)議,通信網(wǎng)絡(luò)或互連設(shè)計(jì),這些ASI反復(fù)過(guò)程在前還沒(méi)有定義。
(4)穩(wěn)定狀態(tài)規(guī)則基于集成方案的需要,軟件算法和程序邏輯需要適當(dāng)固定數(shù)據(jù),這些ASI反復(fù)過(guò)程在前還沒(méi)有定義。
(5)事件處理算法和程序邏輯需要支持特定類型的異步或同步事件處理,這些ASI反復(fù)過(guò)程在前還沒(méi)有定義。
(6)事務(wù)處理界限定義數(shù)據(jù)交換和程序狀態(tài)的界限,這需要使用ACID確保適當(dāng)故障容錯(cuò)、異?;謴?fù)、重新運(yùn)算和再試語(yǔ)義特性,用于包含在特定集成方案中的數(shù)據(jù)和處理狀態(tài)。
(7)特權(quán)實(shí)施安全狀態(tài)、轉(zhuǎn)換界限、特權(quán)狀態(tài),和只有特定集成方案才有的邏輯任務(wù)定義,并且ASI反復(fù)過(guò)程在前還沒(méi)有定義;和其中必需的適當(dāng)?shù)能浖惴ê统绦蜻壿嫛?br> (8)誤差處理程序誤差檢測(cè)、提升模式、堅(jiān)持記錄保持、圖形顯示,和對(duì)特定集成方案的必要報(bào)告的定義;和其中必需的適當(dāng)?shù)能浖惴ê统绦蜻壿嫛?br> (9)商業(yè)規(guī)則特定技術(shù)可定義條件,這些只有特定集成方案才有,并且ASI反復(fù)過(guò)程在前還沒(méi)有定義;和其中必需的適當(dāng)?shù)能浖惴ê统绦蜻壿嫛?br> 這個(gè)階段是本發(fā)明定義的方法和系統(tǒng)新穎性的關(guān)鍵,因?yàn)槠淅昧四苡葾SI自動(dòng)提供的關(guān)鍵機(jī)制。
(1)可再用對(duì)于ASI自動(dòng)功能部件提供的分立功能部件,可以獨(dú)立使用用于實(shí)現(xiàn)多路并行,分別反復(fù)這種處理。
(2)快速和靈活定制利用一組工具的能力,快速和簡(jiǎn)單地操作ASI標(biāo)準(zhǔn)技術(shù)來(lái)滿足具體的特定反復(fù)過(guò)程要求;這種定制工具的正確定義和使用取決于優(yōu)選實(shí)施例定義的標(biāo)準(zhǔn)化自動(dòng)功能部件的特性。
(3)技術(shù)標(biāo)準(zhǔn)化所有利用這種反復(fù)處理實(shí)現(xiàn)技術(shù)的實(shí)現(xiàn)方案,堅(jiān)持一種明確定義和與技術(shù)標(biāo)準(zhǔn)組一致;本質(zhì)上,可再用性和定制取決于這種差不多通過(guò)定義的堅(jiān)持。
(4)設(shè)計(jì)一致性所有ASI自動(dòng)功能部件,連同用于請(qǐng)求怎樣轉(zhuǎn)換成實(shí)現(xiàn)標(biāo)準(zhǔn)的處理一起,共享一個(gè)通用技術(shù)設(shè)計(jì)主題;自動(dòng)功能部件使用的每種技術(shù)標(biāo)準(zhǔn)是相互兼容的,適當(dāng)選擇以結(jié)合在一起工作,和設(shè)計(jì)成最小化完成一個(gè)ASI反復(fù)所需的時(shí)間。
(5)通用分解和變換這種自動(dòng)方案的可再用性取決于每種反復(fù)過(guò)程分解問(wèn)題成類似的要求,和使用相同標(biāo)準(zhǔn)化方法來(lái)將要求轉(zhuǎn)換成技術(shù)說(shuō)明。
第五,ASI組進(jìn)行實(shí)現(xiàn)在五個(gè)自動(dòng)功能部件中所要求功能,這些功能部件是Δ組確定所必需的。這種實(shí)現(xiàn)以明確定義和按順序的方式出現(xiàn),具有取決于優(yōu)選實(shí)施例定義的自動(dòng)功能部件的精確語(yǔ)義。
這個(gè)開發(fā)階段有兩個(gè)明確的目的,一個(gè)獨(dú)立的和一個(gè)從屬的。獨(dú)立的目的是從Δ組實(shí)現(xiàn)和標(biāo)準(zhǔn)化技術(shù)功能,這些功能在自動(dòng)功能部件中還不存在。這個(gè)主要的獨(dú)立目的關(guān)鍵是理解ASI集成的目標(biāo)雖然Δ組起于為特定集成問(wèn)題的ASI反復(fù)過(guò)程,該開發(fā)階段的第一和最初的目的是便于增加和標(biāo)準(zhǔn)化自動(dòng)功能部件提供的新功能。等效地,周期ASI反復(fù)過(guò)程的真實(shí)目的是快速實(shí)現(xiàn)和標(biāo)準(zhǔn)化系統(tǒng)集成功能。然后,當(dāng)Δ組已經(jīng)實(shí)現(xiàn)和標(biāo)準(zhǔn)化后,本階段的其次和從屬的目的是利用標(biāo)準(zhǔn)化自動(dòng)功能部件去解決ASI反復(fù)過(guò)程考慮的特定集成問(wèn)題。
每個(gè)反復(fù)過(guò)程的Δ組的數(shù)量和復(fù)雜度按指數(shù)規(guī)律降低,因?yàn)樵诿總€(gè)反復(fù)過(guò)程上,標(biāo)準(zhǔn)化自動(dòng)功能部件連續(xù)獲得附加的新的不同功能。這種在復(fù)雜度和時(shí)間上的指數(shù)將允許自動(dòng);這種自動(dòng)可以邏輯表示為在Δ組中用于反復(fù)過(guò)程i次的功能性將不再需要實(shí)現(xiàn),在反復(fù)過(guò)程(i+1),(i+2),…(i+n)。同樣地,這種系統(tǒng)集成的循環(huán)和反復(fù)處理導(dǎo)致由標(biāo)準(zhǔn)化功能部件自動(dòng)驅(qū)動(dòng), 這些功能部件隨著時(shí)間和新功能一起增加。
第六,實(shí)現(xiàn)滿足由Δ組定義的要求的技術(shù)功能并入到了標(biāo)準(zhǔn)化自動(dòng)功能部件。這個(gè)階段實(shí)現(xiàn)了開發(fā)階段提出的獨(dú)立目的。
最后,使用標(biāo)準(zhǔn)化自動(dòng)功能部件,對(duì)于ASI反復(fù)過(guò)程提出的特定集成問(wèn)題的一個(gè)方案,可以通過(guò)簡(jiǎn)單選擇和將適當(dāng)?shù)墓δ懿考M組合成一個(gè)完整的方案而構(gòu)成。特別是,圖形用戶接口和可再用系統(tǒng)邏輯可以使用集成耦合交織在一起,并且裝到配置硬件上。這種交織處理由共享技術(shù)標(biāo)準(zhǔn)和集成耦合語(yǔ)義進(jìn)行定義的,耦合每個(gè)優(yōu)選實(shí)施例定義的精確語(yǔ)義。最后,這個(gè)完整方案提供給所有聲明需求的客戶,這些要求與在需求領(lǐng)域的那些定義相匹配。這個(gè)階段實(shí)現(xiàn)了開發(fā)階段提出的從屬目的。
如通過(guò)前面描述的實(shí)例,與SDSI和PDSI相區(qū)別的ASI的一個(gè)關(guān)鍵屬性事實(shí)上是ASI能并行執(zhí)行使用相同設(shè)置的ASI自動(dòng)功能部件,這種處理的多個(gè)例子都能同時(shí)執(zhí)行。此外,ASI是一種循環(huán)處理,這些處理被重復(fù)進(jìn)行,是滿足不同客戶需求所必需的。與具有長(zhǎng)時(shí)間表的PDSI相反,ASI實(shí)現(xiàn)能具有持續(xù)數(shù)星期到數(shù)月的持續(xù)時(shí)間。
與SDSI相反,ASI的每個(gè)反復(fù)過(guò)程可能不需要滿足任何單個(gè)客戶的所有已知的需求。這樣,多個(gè)反復(fù)過(guò)程可需要開發(fā)獨(dú)立的ASI方案,這些方案能連續(xù)連接,以提供對(duì)應(yīng)于一給定客戶限定問(wèn)題的綜合方案。同樣地,任何本領(lǐng)域技術(shù)人員都能意識(shí)到ASI非常不同于SDSI,因?yàn)镾DSI明確的目的是實(shí)現(xiàn)一種滿足客戶認(rèn)識(shí)到的需求。
為確保前面所概述的清楚,可以在自動(dòng)系統(tǒng)集成和業(yè)務(wù)驅(qū)動(dòng)/產(chǎn)品驅(qū)動(dòng)系統(tǒng)集成之間進(jìn)行幾種比較。
本領(lǐng)域技術(shù)人員將能容易的意識(shí)到前述處理能以各種成功的角度來(lái)實(shí)現(xiàn)。特別是,ASI組可以決定使用ASI技術(shù)來(lái)實(shí)現(xiàn)系統(tǒng)集成,但是確實(shí)很貧乏基于一組有關(guān)單個(gè)成員、客戶或其他有影響人員的整體或差異屬性。同樣地,甚至少量的實(shí)現(xiàn)將被看作本發(fā)明所定義方法和系統(tǒng)的目的,當(dāng)作依附于每個(gè)階段的目的所定義的實(shí)現(xiàn),而不是能有效實(shí)施這種依附的實(shí)現(xiàn)。與本領(lǐng)域技術(shù)人員根據(jù)經(jīng)驗(yàn)將能容易的認(rèn)識(shí)到一樣,很多公司嘗試完成SDSI和PDSI的理想處理,而且在這種進(jìn)行中,每個(gè)階段少量地實(shí)施了需求。不管他們成功與否,這些公司的每一個(gè)仍設(shè)想實(shí)現(xiàn)他們各自系統(tǒng)集成技術(shù)。
自動(dòng)系統(tǒng)集成是一種核心技術(shù)處理,這種處理依靠一組高度定制和標(biāo)準(zhǔn)化自動(dòng)功能部件。在這個(gè)方法和系統(tǒng)中的自動(dòng)起于高度定制硬件、固件、軟件和圖形布局功能部件,這些與一種確定的用于反復(fù)鑒別系統(tǒng)集成問(wèn)題的處理結(jié)合在一起,實(shí)現(xiàn)他們的方案,和提供最終的集成系統(tǒng)給多個(gè)客戶。這種完整的處理圍繞專業(yè)設(shè)計(jì)系統(tǒng)集成定制工具,這些工具能自動(dòng)和標(biāo)準(zhǔn)化多數(shù)這種處理。
雖然這里參照優(yōu)選實(shí)施例描述了本發(fā)明,但本領(lǐng)域技術(shù)人員將能容易的意識(shí)到其它應(yīng)用可以替代那些這里陳述的,不離開本發(fā)明的精神和范圍。因此,本發(fā)明僅通過(guò)下面包含的權(quán)利要求書進(jìn)行限定。
權(quán)利要求
1.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的方法,包括以下步驟提供至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一計(jì)算機(jī)系統(tǒng);其中所述接口卡連接到一種公用互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成所述第一應(yīng)用協(xié)議的多維矩陣表示;其中第一接口卡將所述第一應(yīng)用協(xié)議多維矩陣變換成一種中間語(yǔ)言的多維矩陣表示;其中所述第一接口卡將所述中間語(yǔ)言多維矩陣傳送給第二接口卡;其中所述第二接口卡將所述中間語(yǔ)言多維矩陣變換成一種第二應(yīng)用協(xié)議的多維矩陣表示;其中所述第二接口卡將所述第二應(yīng)用協(xié)議多維矩陣變換成一種第二應(yīng)用協(xié)議比特流;和其中所述第二接口卡將所述第二應(yīng)用協(xié)議比特流傳送給一計(jì)算機(jī)系統(tǒng)。
2.如權(quán)利要求1所述的方法,其中所述第一接口卡基于幀執(zhí)行所述變換。
3.如權(quán)利要求1所述的方法,其中所述第一接口卡使用一種第一有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換,并且該第一接口卡還使用一種第二有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議多維矩陣變換。
4.如權(quán)利要求3所述的方法,其中所述有限狀態(tài)機(jī)使用一種后備緩沖區(qū)來(lái)保留在前狀態(tài)。
5.如權(quán)利要求3所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
6.如權(quán)利要求5所述的方法,其中所述配置表和所述異常表是用戶可配置的。
7.如權(quán)利要求1所述的方法,其中所述第二接口卡使用第一有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的多維矩陣變換,并且所述第一接口卡使用第二有限狀態(tài)機(jī)來(lái)執(zhí)行所述第二應(yīng)用協(xié)議多維矩陣變換。
8.如權(quán)利要求7所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
9.如權(quán)利要求7所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
10.如權(quán)利要求9所述的方法,其中所述配置表和所述異常表是用戶可配置的。
11.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的設(shè)備,包括至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一個(gè)計(jì)算機(jī)系統(tǒng);其中所述接口卡連接成一種公用互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成所述第一應(yīng)用協(xié)議的多維矩陣表示;其中該第一接口卡將所述第一應(yīng)用協(xié)議多維矩陣變換成一種中間語(yǔ)言的多維矩陣表示;其中該第一接口卡再將所述中間語(yǔ)言多維矩陣傳送給第二接口卡;其中所述第二接口卡將該中間語(yǔ)言多維矩陣變換成一種第二應(yīng)用協(xié)議的多維矩陣表示;其中該第二接口卡將第二應(yīng)用協(xié)議多維矩陣變換成一種第二應(yīng)用協(xié)議比特流;和其中該第二接口卡將該第二應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)
12.如權(quán)利要求11所述的設(shè)備,其中所述第一接口卡基于幀執(zhí)行所述變換。
13.如權(quán)利要求11所述的設(shè)備,其中所述第一接口卡使用一種第一有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換,并且該第一接口卡還使用一種第二有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議多維矩陣變換。
14.如權(quán)利要求13所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用一種后備緩沖區(qū)來(lái)保留在前狀態(tài)。
15.如權(quán)利要求13所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
16.如權(quán)利要求15所述的設(shè)備,其中所述配置表和所述異常表是用戶可配置的。
17.如權(quán)利要求11所述的設(shè)備,其中所述第二接口卡使用第一有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的多維矩陣變換,并且所述第一接口卡使用第二有限狀態(tài)機(jī)來(lái)執(zhí)行所述第二應(yīng)用協(xié)議多維矩陣變換。
18.如權(quán)利要求17所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
19.如權(quán)利要求17所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
20.如權(quán)利要求19所述的設(shè)備,其中所述配置表和所述異常表是用戶可配置的。
21.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的方法,包括以下步驟提供至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一個(gè)計(jì)算機(jī)系統(tǒng);其中所述接口卡可通信的互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成一種中間語(yǔ)言的多維矩陣表示;其中所述第一接口卡將所述中間語(yǔ)言多維矩陣傳送給第二接口卡;其中所述第二接口卡將該中間語(yǔ)言多維矩陣變換成一種第二應(yīng)用協(xié)議比特流;和其中該第二接口卡將該第二應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
22.如權(quán)利要求21所述的方法,其中所述第一接口卡基于幀執(zhí)行所述變換。
23.如權(quán)利要求21所述的方法,其中所述第一接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換。
24.如權(quán)利要求23所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
25.如權(quán)利要求23所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
26.如權(quán)利要求25所述的方法,其中所述配置表和所述異常表是用戶可配置的。
27如權(quán)利要求21所述的方法,其中所述第二接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的多維矩陣變換。
28.如權(quán)利要求27所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
29.如權(quán)利要求27所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
30.如權(quán)利要求29所述的方法,其中所述配置表和所述異常表是用戶可配置的。
31.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的設(shè)備,包括至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一個(gè)計(jì)算機(jī)系統(tǒng);其中所述接口卡可通信的互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成一種中間語(yǔ)言的多維矩陣表示;其中所述第一接口卡將所述中間語(yǔ)言多維矩陣傳送給第二接口卡;其中所述第二接口卡將該中間語(yǔ)言多維矩陣變換成一種第二應(yīng)用協(xié)議比特流;和其中該第二接口卡將該第二應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
32.如權(quán)利要求31所述的設(shè)備,其中所述第一接口卡基于幀執(zhí)行所述變換。
33.如權(quán)利要求31所述的設(shè)備,其中所述第一接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換。
34.如權(quán)利要求33所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用一種后備緩沖區(qū)來(lái)保留在前狀態(tài)。
35.如權(quán)利要求33所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
36.如權(quán)利要求35所述的設(shè)備,其中所述配置表和所述異常表是用戶可配置的。
37.如權(quán)利要求31所述的設(shè)備,其中所述第二接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的多維矩陣變換。
38.如權(quán)利要求37所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
39.如權(quán)利要求37所述的設(shè)備,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
40.如權(quán)利要求39所述的設(shè)備,其中所述配置表和所述異常表是用戶可配置的。
41.一種用于應(yīng)用協(xié)議的集成系統(tǒng)的方法,包括以下步驟提供至少兩個(gè)接口卡;其中每個(gè)接口卡與外部計(jì)算機(jī)系統(tǒng)一起配置成傳送和接收一種特定應(yīng)用協(xié)議;其中所述接口卡可通信的互連;在所述接口卡上提供應(yīng)用協(xié)議變化裝置,用于將所述特定應(yīng)用協(xié)議變換成一種中間語(yǔ)言表示;其中一個(gè)接口卡將所述中間語(yǔ)言表示傳送給另一個(gè)接口卡;其中一個(gè)接口卡一接收到所述中間語(yǔ)言表示,就將該中間語(yǔ)言表示變換成特定應(yīng)用協(xié)議比特流;和其中所述接收接口卡將該特定應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
42.如權(quán)利要求41所述的方法,其中所述應(yīng)用協(xié)議變換裝置使用一種專用有限狀態(tài)機(jī)來(lái)執(zhí)行所述變換。
43.如權(quán)利要求41所述的方法,其中所述接收接口卡使用專用有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的變換。
44.如權(quán)利要求41所述的方法,其中所述接口卡通過(guò)一個(gè)互連網(wǎng)可通信連接。
45.一種應(yīng)用協(xié)議的集成系統(tǒng),包括至少兩個(gè)接口卡;其中每個(gè)接口卡與外部計(jì)算機(jī)系統(tǒng)一起配置成傳送和接收一種特定應(yīng)用協(xié)議;其中所述接口卡可通信的互連;在所述接口卡上的應(yīng)用協(xié)議變化裝置,用于將所述特定應(yīng)用協(xié)議變換成一種中間語(yǔ)言表示;其中一個(gè)接口卡將所述中間語(yǔ)言表示傳送給另一個(gè)接口卡;其中一個(gè)接口卡一接收到所述中間語(yǔ)言表示,就將該中間語(yǔ)言表示變換成特定應(yīng)用協(xié)議比特流;和其中所述接收接口卡將該特定應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
46.如權(quán)利要求45所述的設(shè)備,其中所述應(yīng)用協(xié)議變換裝置使用一種專用有限狀態(tài)機(jī)來(lái)執(zhí)行所述變換。
47.如權(quán)利要求45所述的方法,其中所述接收接口卡使用專用有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的變換。
48.如權(quán)利要求41所述的方法,其中所述接口卡通過(guò)一個(gè)互連網(wǎng)可通信的連接。
49.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的方法,包括以下步驟提供至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一個(gè)計(jì)算機(jī)系統(tǒng);其中所述接口卡可通信的互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成一種中間語(yǔ)言表示;其中所述第一接口卡將所述中間語(yǔ)言表示傳送給第二接口卡;其中所述第二接口卡將該中間語(yǔ)言表示變換成一種第二應(yīng)用協(xié)議比特流;和其中該第二接口卡將該第二應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
50.如權(quán)利要求49所述的方法,其中所述第一接口卡基于幀執(zhí)行所述變換。
51.如權(quán)利要求49所述的方法,其中所述第一接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換。
52.如權(quán)利要求51所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
53.如權(quán)利要求51所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
54.如權(quán)利要求53所述的方法,其中所述配置表和所述異常表是用戶可配置的。
55.如權(quán)利要求49所述的方法,其中所述第二接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的變換。
56.如權(quán)利要求55所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
57.如權(quán)利要求55所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
58.如權(quán)利要求57所述的方法,其中所述配置表和所述異常表是用戶可配置的。
59.一種用于在應(yīng)用協(xié)議之間交換數(shù)據(jù)的集成系統(tǒng)的設(shè)備,包括以下步驟至少兩個(gè)接口卡;其中每個(gè)接口卡配置成傳送和接收一種特定應(yīng)用協(xié)議;其中每個(gè)接口卡可通信地連接到一個(gè)計(jì)算機(jī)系統(tǒng);其中所述接口卡可通信的互連;其中第一接口卡將接收到的第一應(yīng)用協(xié)議比特流變換成一種中間語(yǔ)言表示;其中所述第一接口卡將所述中間語(yǔ)言表示傳送給第二接口卡;其中所述第二接口卡將該中間語(yǔ)言表示變換成一種第二應(yīng)用協(xié)議比特流;和其中該第二接口卡將該第二應(yīng)用協(xié)議比特流傳送給一個(gè)計(jì)算機(jī)系統(tǒng)。
60.如權(quán)利要求59所述的方法,其中所述第一接口卡基于幀執(zhí)行所述變換。
61.如權(quán)利要求59所述的方法,其中所述第一接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述第一應(yīng)用協(xié)議比特流的變換。
62.如權(quán)利要求61所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
63.如權(quán)利要求61所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
64.如權(quán)利要求63所述的方法,其中所述配置表和所述異常表是用戶可配置的。
65.如權(quán)利要求59所述的方法,其中所述第二接口卡使用一種有限狀態(tài)機(jī)來(lái)執(zhí)行所述中間語(yǔ)言的變換。
66.如權(quán)利要求65所述的方法,其中所述有限狀態(tài)機(jī)使用后備緩沖區(qū)來(lái)保留在前狀態(tài)。
67.如權(quán)利要求65所述的方法,其中所述有限狀態(tài)機(jī)使用配置表和異常表來(lái)調(diào)整有限狀態(tài)機(jī)的變換狀態(tài)。
68.如權(quán)利要求67所述的方法,其中所述配置表和所述異常表是用戶可配置的。
全文摘要
一種自適應(yīng)多協(xié)議通信系統(tǒng)提供了連接到一公共底板或者互連的多個(gè)獨(dú)立的計(jì)算機(jī)接口卡。每個(gè)接口卡傳送和接收一個(gè)特定應(yīng)用協(xié)議的比特流,在可能不相同的應(yīng)用協(xié)議之間交換數(shù)據(jù)。接口卡將輸入的二進(jìn)制流饋送到一個(gè)有限狀態(tài)機(jī),有限狀態(tài)機(jī)專用于為特定的通信協(xié)議將一個(gè)特定應(yīng)用協(xié)議的比特流轉(zhuǎn)換為一個(gè)多維矩陣的表示,特定通信協(xié)議比如為EDI、XML、或者本發(fā)明的中間轉(zhuǎn)換表示。本發(fā)明使用有限狀態(tài)機(jī)將最初的通信協(xié)議比特流轉(zhuǎn)變?yōu)橹虚g語(yǔ)言多維矩陣,并將該矩陣傳遞到帶有有限狀態(tài)機(jī)的目的接口卡,該有限狀態(tài)機(jī)用于將中間語(yǔ)言多維矩陣轉(zhuǎn)換為一個(gè)應(yīng)用協(xié)議比特流。之后應(yīng)用協(xié)議比特流被傳送到接收計(jì)算機(jī)系統(tǒng)。
文檔編號(hào)H04L29/06GK1516840SQ02811958
公開日2004年7月28日 申請(qǐng)日期2002年4月25日 優(yōu)先權(quán)日2001年4月25日
發(fā)明者A·穆恩, A 穆恩 申請(qǐng)人:音富通通信公司
鱼台县| 新泰市| 张家港市| 睢宁县| 邯郸县| 原阳县| 普安县| 福泉市| 城步| 衡山县| 吉隆县| 西安市| 江达县| 绥德县| 台北市| 沈阳市| 霍林郭勒市| 宁陵县| 云和县| 桦甸市| 阿巴嘎旗| 武乡县| 禄劝| 郁南县| 宝丰县| 浦东新区| 稷山县| 太白县| 淮阳县| 额尔古纳市| 淮滨县| 栾川县| 丰宁| 双鸭山市| 佛冈县| 洪雅县| 顺昌县| 托里县| 沙湾县| 集安市| 东丰县|