專利名稱:基于網(wǎng)格計(jì)算機(jī)體系的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)體系結(jié)構(gòu)和網(wǎng)絡(luò)協(xié)議設(shè)計(jì)領(lǐng)域領(lǐng)域,特別是一種基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)及方法。
背景技術(shù):
網(wǎng)格計(jì)算[1]是人們?yōu)榱私鉀Q資源大規(guī)模共享問題而提出的一種計(jì)算模式,它最早來源于人們對高性能計(jì)算能力的追求,將LAN/WAN上地域上分布的若干高性能計(jì)算機(jī)合成一個(gè)虛擬的大計(jì)算機(jī),解決一個(gè)大問題,或讓許多用戶透明地共享這些昂貴的計(jì)算、存儲、設(shè)備資源。隨后,人們將網(wǎng)格思想擴(kuò)大化,用以解決Web服務(wù)、商業(yè)計(jì)算、計(jì)算機(jī)應(yīng)用、網(wǎng)絡(luò)計(jì)算環(huán)境等領(lǐng)域存在的問題。網(wǎng)格計(jì)算的主要目的可以簡述為1)資源共享,即讓計(jì)算機(jī)資源,包括計(jì)算能力、存儲容量、大型設(shè)備、重要應(yīng)用等,能自主控制,并有效地被許多用戶所共享,提高資源的利用率和效能;2)互連互通,即讓計(jì)算機(jī)在資源層面上互連,需要在計(jì)算、存儲、設(shè)備、應(yīng)用、數(shù)據(jù)、信息、甚至知識之間建立連接;同時(shí)網(wǎng)格要實(shí)現(xiàn)互通,即協(xié)同計(jì)算,解決諸如信息孤島、應(yīng)用分布的問題3)應(yīng)用服務(wù),即讓計(jì)算機(jī)應(yīng)用成為一種主動服務(wù),人們根據(jù)實(shí)際的需要動態(tài)地使用或購買計(jì)算機(jī)資源。
基于網(wǎng)格計(jì)算的主要思想,同時(shí)為了解決傳統(tǒng)計(jì)算機(jī)體系結(jié)構(gòu)所面臨的問題,一些學(xué)者提出了基于網(wǎng)格思想的網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu),如Dagger[2](De-coupled Architecture with Grid-key and Grid EnablingResource),DSAG[3](網(wǎng)格化的動態(tài)自組織體系結(jié)構(gòu))等。這些網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)都主張對計(jì)算機(jī)系統(tǒng)中的資源按照其功能和服務(wù)的不同進(jìn)行重新劃分和組合,重組的結(jié)果就是傳統(tǒng)計(jì)算機(jī)系統(tǒng)中的資源演化成了網(wǎng)格計(jì)算環(huán)境下具有網(wǎng)格使能特征的功能單元。這些功能單元在其自身的網(wǎng)格使能特性支持下,可以動態(tài)、按需地組成松散耦合的網(wǎng)格計(jì)算機(jī)系統(tǒng)。
本發(fā)明旨在解決網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)下計(jì)算機(jī)外設(shè)部件與計(jì)算機(jī)主機(jī)(可以理解為網(wǎng)格計(jì)算機(jī)中的網(wǎng)格處理器)的互連問題。本發(fā)明實(shí)現(xiàn)了對網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)所要求的散耦合、動態(tài)、自組織等特性的支持。
參考文獻(xiàn)[1]I.Foster,C.Kesselman and S.Tuecke,The anatomy of the gridEnablingscalable virtual organizations,International Journal of High PerformanceComputing Applications,2001,Vol.15,P.200-222. 孫凝暉,樊建平,Dagger一種散耦合的網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu),計(jì)算機(jī)研究與發(fā)展,2003,40,(12),1731-1736。
樊建平,陳明宇,網(wǎng)格化的動態(tài)自組織體系結(jié)構(gòu)DSAG,計(jì)算機(jī)研究與發(fā)展,2003,40,(12),1737-1742。
IEEE Standards Staff,Guidelines for 64-bit Global Identifier(EUI-6),http://standards.ieee.org/regauth/oui/tutorials/EUI64.html,10-November-2004。
發(fā)明內(nèi)容
1、本發(fā)明解決的技術(shù)問題本發(fā)明解決了獨(dú)立的網(wǎng)格化外設(shè)與網(wǎng)格計(jì)算機(jī)主機(jī)之間的網(wǎng)絡(luò)互連問題。根據(jù)網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的要求,計(jì)算機(jī)系統(tǒng)的資源演化成具有獨(dú)立網(wǎng)絡(luò)身份的功能單元,這些單元分布于網(wǎng)絡(luò)中,因此,要把這些具有獨(dú)立網(wǎng)絡(luò)身份的功能單元構(gòu)建成計(jì)算機(jī)系統(tǒng),首要問題是將這些功能單元連接起來。本發(fā)明解決的就是具有獨(dú)立身份的網(wǎng)格化外設(shè)與網(wǎng)格計(jì)算系統(tǒng)通過網(wǎng)絡(luò)互連的問題。
本發(fā)明解決了網(wǎng)格計(jì)算機(jī)對遠(yuǎn)程的網(wǎng)格化外設(shè)的透明訪問問題。雖然網(wǎng)格計(jì)算機(jī)系統(tǒng)中的部件之間是松散耦合的網(wǎng)絡(luò)連接關(guān)系,但是這種關(guān)系不應(yīng)當(dāng)影響系統(tǒng)的正常運(yùn)行,系統(tǒng)也無須因?yàn)椴考潜镜鼗ミB還是遠(yuǎn)程互連而有所變化。具體到外設(shè)部件上,這就是網(wǎng)格計(jì)算機(jī)系統(tǒng)對遠(yuǎn)程的網(wǎng)格化外設(shè)的透明訪問問題,即網(wǎng)格計(jì)算機(jī)系統(tǒng)對遠(yuǎn)程外設(shè)的訪問接口和對本地外設(shè)的訪問接口沒有區(qū)別。
本發(fā)明解決了網(wǎng)格化外設(shè)與網(wǎng)格計(jì)算機(jī)之間的耦合關(guān)系松散化問題。松散耦合是網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的基本特征之一,網(wǎng)格化外設(shè)與網(wǎng)格計(jì)算機(jī)系統(tǒng)之間的互連必須體現(xiàn)這一特征。具體而言,松散耦合包括以下一些子問題1)外設(shè)和主機(jī)之間接口和消息傳輸標(biāo)準(zhǔn)化問題,制定了外設(shè)部件標(biāo)準(zhǔn)的對外服務(wù)接口,并且在兩個(gè)層次上定義了外設(shè)與主機(jī)之間消息傳輸?shù)臉?biāo)準(zhǔn)格式。
2)外設(shè)和主機(jī)之間消息傳遞的異步性問題,改變傳統(tǒng)計(jì)算機(jī)主機(jī)與外設(shè)之間的強(qiáng)同步通信方式為弱同步方式,并且在任務(wù)(task)粒度上實(shí)現(xiàn)了主機(jī)與外設(shè)之間的異步通信。
3)外設(shè)和主機(jī)之間所傳遞的消息的無狀態(tài)問題,減弱前后傳遞的消息之間的相關(guān)性,在任務(wù)粒度上實(shí)現(xiàn)了主機(jī)與外設(shè)之間消息傳遞的無狀態(tài)。
本發(fā)明對網(wǎng)格計(jì)算機(jī)系統(tǒng)的動態(tài)自組織特性形成了支持。動態(tài)自組織是網(wǎng)格計(jì)算機(jī)系統(tǒng)的重要特征,本發(fā)明在通信和互連的機(jī)制上對網(wǎng)格計(jì)算機(jī)系統(tǒng)的動態(tài)自組織特性形成了支持。
2、本發(fā)明的體系結(jié)構(gòu)模型基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)采用層次模型,結(jié)構(gòu)如圖1所示。本系統(tǒng)在TCP/IP網(wǎng)絡(luò)之上進(jìn)行設(shè)計(jì)。主要部分是設(shè)備接口和gDevice協(xié)議處理兩個(gè)功能模塊,其中g(shù)Device協(xié)議處理又分為網(wǎng)格功能和會話兩個(gè)子功能模塊。除此之外,為了實(shí)現(xiàn)對主機(jī)操作系統(tǒng)的透明,在網(wǎng)格主機(jī)端建立了虛擬設(shè)備模塊。各功能模塊的功能定義如下1)設(shè)備接口模塊的功能是實(shí)現(xiàn)對設(shè)備資源的抽象,每個(gè)設(shè)備在這一模塊被抽象成一個(gè)標(biāo)準(zhǔn)資源操作接口的集合,這個(gè)標(biāo)準(zhǔn)接口輸入/輸出的消息就是設(shè)備原語。
2)gDevice協(xié)議處理模塊的功能是通過gDevice協(xié)議來實(shí)現(xiàn)網(wǎng)格使能,即把一個(gè)傳統(tǒng)設(shè)備轉(zhuǎn)變?yōu)榭梢灾苯舆B接到TCP/IP網(wǎng)絡(luò)的網(wǎng)格使能設(shè)備。
a)網(wǎng)格功能子模塊用于實(shí)現(xiàn)網(wǎng)格相關(guān)的功能,具體包括設(shè)備復(fù)用管理、智能互連管理、安全控制。網(wǎng)格功能子模塊借助于一些控制原語來控制會話子模塊的會話,以實(shí)現(xiàn)復(fù)用管理、智能互連管理,安全控制等功能。
b)會話子模塊用于實(shí)現(xiàn)數(shù)據(jù)通信相關(guān)的功能,包括以會話為單位維持外設(shè)與主機(jī)之間的互連關(guān)系,對出入數(shù)據(jù)進(jìn)行基本的封裝和解析等。這一模塊封裝后的數(shù)據(jù)格式就是gDevice協(xié)議數(shù)據(jù)單元(gDevice PDU)。
3)虛擬設(shè)備模塊的功能是支持網(wǎng)格主機(jī)對遠(yuǎn)程外設(shè)的透明訪問,為主機(jī)操作系統(tǒng)提供一個(gè)與本地普通設(shè)備無差別的訪問接口。
3本發(fā)明的技術(shù)實(shí)現(xiàn)方案3.1設(shè)備接口模塊的實(shí)現(xiàn)設(shè)備接口模塊的主要功能就是將設(shè)備接口數(shù)據(jù)格式化,設(shè)備接口數(shù)據(jù)格式具體為設(shè)備命令,設(shè)備結(jié)果和設(shè)備數(shù)據(jù)輸入三類設(shè)備原語,可以涵蓋設(shè)備所有的接口操作。設(shè)備命令是主機(jī)發(fā)給設(shè)備的操作指令;設(shè)備結(jié)果是命令執(zhí)行后的返回,是由從設(shè)備向主機(jī)發(fā)出的設(shè)備數(shù)據(jù)輸入是從設(shè)備(比如鍵盤鼠標(biāo))主動向主機(jī)發(fā)送的數(shù)據(jù)。每條設(shè)備原語包括以下三個(gè)字段
1)原語代碼(DataCode)原語類型的識別碼,該代碼代表了原語的具體語義內(nèi)容。
2)數(shù)據(jù)長度(DataLen)原語所帶數(shù)據(jù)的長度。
3)數(shù)據(jù)內(nèi)容(Data)原語所帶的具體數(shù)據(jù)內(nèi)容。
網(wǎng)格主機(jī)和網(wǎng)格設(shè)備兩端設(shè)備接口模塊的結(jié)構(gòu)如圖2所示。
3.2網(wǎng)格功能子模塊的實(shí)現(xiàn)控制原語是網(wǎng)格功能模塊功能的載體,網(wǎng)格功能子模塊通過與會話子模塊之間交互控制原語來實(shí)現(xiàn)其功能。因此網(wǎng)格功能子模塊實(shí)現(xiàn)的核心內(nèi)容是對控制原語的處理。圖3顯示了網(wǎng)格功能模塊的結(jié)構(gòu)。網(wǎng)格功能子模塊定義了五類控制原語控制請求、控制響應(yīng)、控制命令、控制結(jié)果和控制通知。控制請求是由會話子模塊向網(wǎng)格功能子模塊發(fā)出的請求;控制響應(yīng)是網(wǎng)格功能子模塊收到控制請求后發(fā)出的回應(yīng);控制命令是由網(wǎng)格功能子模塊向會話子模塊發(fā)出的命令;控制結(jié)果是會話子模塊對控制命令的執(zhí)行結(jié)果,并非所有的命令都要返回結(jié)果;控制通知是會話因?yàn)樽陨頎顟B(tài)或者屬性發(fā)生變化而向網(wǎng)格功能子模塊主動發(fā)送的通知。每條控制原語包含以下四個(gè)字段1)會話ID(SessionID),接受或者發(fā)送控制原語的會話的ID。
2)原語代碼(ResultCode),控制原語的識別碼,代表了原語的具體語義內(nèi)容。
3)數(shù)據(jù)長度(DataLen),原語所帶數(shù)據(jù)的長度。
4)數(shù)據(jù)內(nèi)容(Data)原語所帶的數(shù)據(jù)內(nèi)容。
3.3會話子模塊的實(shí)現(xiàn)會話子模塊由一組會話組成。會話從上面的設(shè)備接口模塊和網(wǎng)格功能子模塊接收數(shù)據(jù),將從設(shè)備接口模塊接收來的設(shè)備原語包裝成gDevicePDU發(fā)送,根據(jù)從網(wǎng)格功能子模塊接收的控制原語做出反應(yīng)或者向會話對方發(fā)送會話控制類型的gDevice PDU;同時(shí)從TCP連接中讀取對方發(fā)來的gDevice PDU,根據(jù)解析的結(jié)果將設(shè)備原語發(fā)送給設(shè)備接口模塊或者將控制原語發(fā)送給網(wǎng)格功能子模塊。
會話的主要數(shù)據(jù)結(jié)構(gòu)是會話控制塊(SCB),SCB包含以下一些內(nèi)容1)local ID,己方gDevice ID。
2)destID,對方gDevice ID。
3)localAddr,己方gDevice地址4)destAddr,對方gDevice地址5)state,會話狀態(tài)。
6)secConfig,安全設(shè)置。
7)pDataOut BK,指向輸出備份隊(duì)列的指針。
8)pTCPGroup,指向TCP連接組的指針。
會話子模塊的數(shù)據(jù)傳遞單位為gDevice協(xié)議數(shù)據(jù)單元(gDevicePDU),gDevice PDU由頭、數(shù)據(jù)、和摘要組成,其中頭為定長20字節(jié),由以下幾部分組成1)Opcode1個(gè)字節(jié),表明PDU所傳輸?shù)臄?shù)據(jù)的種類,如設(shè)備原語、控制原語、或者協(xié)議控制數(shù)據(jù)。
2)標(biāo)志位(Flag)1個(gè)字節(jié),通過對這個(gè)字節(jié)的置位來表明PDU的屬性,比如一個(gè)序列的終結(jié)、優(yōu)先級等。
3)保留位2個(gè)字節(jié),保留,做以后擴(kuò)充用。
4)Opcode自定義域4個(gè)字節(jié),根據(jù)不同的Opcode類型,此域的意義不同,目前,此域主要為Session Request和Session Response服務(wù)。
5)任務(wù)標(biāo)簽(Task Tag)4個(gè)字節(jié),相當(dāng)于一個(gè)任務(wù)的序列號。
6)序列號(PDU SN)4個(gè)字節(jié),表明PDU發(fā)送順序。
7)Data Segment Length4個(gè)字節(jié),表示數(shù)據(jù)域的長度。
本系統(tǒng)通過任務(wù)的方式實(shí)現(xiàn)了現(xiàn)了消息異步傳遞,其特征在于,將一系列具有相關(guān)性和順序性的設(shè)備原語組成一個(gè)任務(wù)(Task),不同任務(wù)之間的設(shè)備原語沒有相關(guān)性或者順序性,不同任務(wù)內(nèi)的消息無狀態(tài)關(guān)系,可以異步傳輸,同一個(gè)任務(wù)內(nèi)的gDevice PDU通過任務(wù)標(biāo)簽標(biāo)識。
圖4顯示了會話子模塊內(nèi)一個(gè)會話的結(jié)構(gòu)。
3.4基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接方法的總步驟基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接方法的總步驟如圖5所示。
第一步、構(gòu)建網(wǎng)格主機(jī)端的虛擬外設(shè),該虛擬設(shè)備在原設(shè)備(也就是遠(yuǎn)程的網(wǎng)格設(shè)備)驅(qū)動程序的基礎(chǔ)上實(shí)現(xiàn)。保留原設(shè)備驅(qū)動程序向上的API接口(即面向操作系統(tǒng)和應(yīng)用程序的接口),將驅(qū)動程序向下的數(shù)據(jù)接口導(dǎo)出。
第二步、構(gòu)建設(shè)備接口模塊。該模塊依照圖2所示的結(jié)構(gòu)構(gòu)建,模塊向上與驅(qū)動程序?qū)С龅臄?shù)據(jù)接口連接,向下與網(wǎng)格功能子模塊通過設(shè)備原語連接。
第三步、構(gòu)建gDevice協(xié)議處理模塊。該模塊以gDevice協(xié)議規(guī)范為基礎(chǔ)依照圖3和圖4所示結(jié)構(gòu)構(gòu)建,模塊向上通過設(shè)備原語與設(shè)備接口模塊連接,向下通過TCP/IP協(xié)議接入Intemet。
第四步、開發(fā)網(wǎng)格外設(shè)端驅(qū)動程序,該驅(qū)動程序在原設(shè)備驅(qū)動程序基礎(chǔ)上開發(fā)。保留原驅(qū)動程序向下對硬件的操作,將驅(qū)動程序向上的接口改造為設(shè)備接口模塊向上的數(shù)據(jù)接口(也就是第一步中虛擬設(shè)備導(dǎo)出的數(shù)據(jù)接口)。
第五步、在網(wǎng)格主機(jī)端依次加載虛擬設(shè)備、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照圖1所示結(jié)構(gòu),按照第一至四步中定義的接口將各部分連接。
第六步、在網(wǎng)格外設(shè)端依次加載設(shè)備驅(qū)動程序、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照圖1所示結(jié)構(gòu),按照第一至四步中定義的接口將各部分連接。
第七步、將已經(jīng)加載模塊完畢的網(wǎng)格主機(jī)和網(wǎng)格外設(shè)通過Intemet互連。至此,基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接方法的所有步驟完成。
一種基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,本發(fā)明提供了一種網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)下網(wǎng)格主機(jī)與網(wǎng)格外設(shè)之間通過TCP/IP網(wǎng)絡(luò)連接的系統(tǒng)及方法,發(fā)明采用了層次的模塊的體系結(jié)構(gòu),采用虛擬設(shè)備實(shí)現(xiàn)計(jì)算機(jī)主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問,系統(tǒng)在不同層次上定義了一系列的標(biāo)準(zhǔn)接口,并在采用任務(wù)的機(jī)制實(shí)現(xiàn)了消息異步傳遞。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,網(wǎng)格主機(jī)與網(wǎng)格外設(shè)分布于網(wǎng)絡(luò)之中,它們之間不通過系統(tǒng)總線互連,而是通過TCP/IP網(wǎng)絡(luò)連接。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,協(xié)議采用了層次的模塊的體系結(jié)構(gòu),系統(tǒng)從上倒下依次構(gòu)建了虛擬設(shè)備模塊、設(shè)備接口模塊和gDevice協(xié)議處理模塊,最終與TCP/IP網(wǎng)絡(luò)協(xié)議銜接。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,設(shè)備接口模塊包含數(shù)據(jù)的格式化和解析處理子模塊,執(zhí)行輸入輸出數(shù)據(jù)與格式化的設(shè)備原語之間的轉(zhuǎn)換翻譯。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,gDevice協(xié)議處理模塊,該模塊劃分為網(wǎng)格功能子模塊和會話子模塊,其具體功能通過網(wǎng)格功能子模塊和會話子模塊之間的控制原語交互來配合實(shí)現(xiàn)。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,網(wǎng)格功能子模塊,本模塊通過與會話子模塊的控制原語交互來控制會話子模塊內(nèi)的會話,以實(shí)現(xiàn)網(wǎng)格使能功能。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,會話子模塊,以會話為單位維持網(wǎng)格外設(shè)與網(wǎng)格主機(jī)之間的互連關(guān)系,對出入數(shù)據(jù)進(jìn)行基本的封裝和解析,會話子層封裝后的數(shù)據(jù)單元稱為gDevice協(xié)議數(shù)據(jù)單元(gDevice PDU)。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,通過與會話子模塊的控制原語交互來控制會話子模塊內(nèi)的會話,以會話代表會話對象的身份,通過對會話的控制來實(shí)現(xiàn)對會話對象的控制,從而實(shí)現(xiàn)對會話對象的權(quán)限管理、與會話對象的智能互連等網(wǎng)格使能相關(guān)的功能。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,控制原語在網(wǎng)格功能子模塊和會話子模塊之間傳遞控制信息,控制原語包括控制請求、控制響應(yīng)、控制命令、控制結(jié)果和控制通知五種,每種控制原語包括會話ID、原語代碼、數(shù)據(jù)長度和數(shù)據(jù)內(nèi)容四個(gè)字段。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,采用虛擬設(shè)備實(shí)現(xiàn)計(jì)算機(jī)主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問,在主機(jī)端設(shè)備接口模塊之上實(shí)現(xiàn)一個(gè)軟件方式實(shí)現(xiàn)的虛擬設(shè)備,該設(shè)備向上為主機(jī)操作系統(tǒng)和應(yīng)用程序提供一個(gè)套與本地設(shè)備無差別的API接口。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,協(xié)議在不同層次上定義了一系列的標(biāo)準(zhǔn)接口,本協(xié)議在設(shè)備接口層定義了標(biāo)準(zhǔn)的設(shè)備原語;在系統(tǒng)內(nèi)部的功能管理上定義了控制原語,在會話層定義了gDevice PDU。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,gDevice PDU包括頭、數(shù)據(jù)和摘要三個(gè)部分,其中頭包括Opcode、標(biāo)志位、保留位、Opcode自定義域、任務(wù)標(biāo)簽、序列號、數(shù)據(jù)域長度等字段。
所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,采用任務(wù)的方式實(shí)現(xiàn)了消息異步傳遞,將一系列具有相關(guān)性和順序性的gDevice PDU組成一個(gè)任務(wù),不同任務(wù)之間的gDevice PDU沒有相關(guān)性或者順序性,可以異步傳輸,同一任務(wù)內(nèi)的gDevice PDU通過PDU頭內(nèi)的任務(wù)標(biāo)簽標(biāo)識。
4、本發(fā)明的特色本發(fā)明的主要貢獻(xiàn)在于提供了網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)下核心部件(可以認(rèn)為是網(wǎng)格處理器或者主機(jī))與外設(shè)部件的互連系統(tǒng)及方法。該發(fā)明可以實(shí)現(xiàn)部件之間基于松散耦合關(guān)系的遠(yuǎn)程互連,支持主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問。發(fā)明提供了分層的體系結(jié)構(gòu)、標(biāo)準(zhǔn)的數(shù)據(jù)格式,使得該發(fā)明具有良好的可實(shí)現(xiàn)性和開放性。
目前,基于本發(fā)明的網(wǎng)格化遠(yuǎn)程KVM(鍵盤、顯示、鼠標(biāo))系統(tǒng)已經(jīng)實(shí)現(xiàn)并且應(yīng)用到了中國科學(xué)院計(jì)算技術(shù)研究所國家智能計(jì)算機(jī)研究開發(fā)中心的計(jì)算機(jī)遠(yuǎn)程控制系統(tǒng)之中。
圖1是基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)圖。
圖2是設(shè)備接口模塊結(jié)構(gòu)圖。
圖3是網(wǎng)格功能子模塊結(jié)構(gòu)圖。
圖4是會話子模塊的結(jié)構(gòu)圖。
圖5是基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接方法的實(shí)施總步驟圖。
具體實(shí)施例方式
圖1顯示了基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)的整體結(jié)構(gòu),該系統(tǒng)可以分為主機(jī)端和設(shè)備端兩大部分。
主機(jī)端從上而下分別是1,1操作系統(tǒng)(不需要任何修改);1.2虛擬外設(shè)部件;1.3設(shè)備接口模塊;1.4gDevice協(xié)議模塊;1.8TCP/IP網(wǎng)絡(luò)。1.1操作系統(tǒng)和1.2虛擬外設(shè)部件之間通過設(shè)備驅(qū)動與操作系統(tǒng)之間的API連接;1.2虛擬外設(shè)部件和1.3設(shè)備接口模塊之間通過驅(qū)動程序?qū)С龅南聦雍瘮?shù)連接;1.3設(shè)備接口模塊和1.4gDevice協(xié)議模塊之間通過設(shè)備原語連接;1.4gDevice協(xié)議模塊和1.8TCP/IP網(wǎng)絡(luò)之間通過gDevicePDU連接。1.4gDevice協(xié)議模塊又分為1.5網(wǎng)格功能子模塊和1.6會話子模塊,這兩個(gè)模塊1.5網(wǎng)格功能子模塊位于上層,1.6會話子模塊位于下層,兩者之間通過設(shè)備原語和控制原語互連。
設(shè)備端的結(jié)構(gòu)除設(shè)備接口模塊向上對應(yīng)的是1.7外設(shè)設(shè)備及其驅(qū)動程序以外,和主機(jī)端完全相同。1.7外設(shè)設(shè)備及其驅(qū)動程序和1.3設(shè)備接口模塊之間通過驅(qū)動程序?qū)С龅南聦雍瘮?shù)連接。
圖2顯示了設(shè)備接口模塊的結(jié)構(gòu),該模塊通過2.1,2.2,2.3,2.4四個(gè)部分對輸入輸出數(shù)據(jù)的處理來實(shí)現(xiàn)。在主機(jī)端該模塊向上與虛擬設(shè)備的數(shù)據(jù)接口連接接收其輸出數(shù)據(jù),通過2.1數(shù)據(jù)格式化操作將主機(jī)的輸出數(shù)據(jù)格式化為設(shè)備命令,向下發(fā)送給gDevice協(xié)議處理模塊;向下從gDevice協(xié)議處理模塊接收設(shè)備結(jié)果和設(shè)備數(shù)據(jù)輸入,通過2.2.\數(shù)據(jù)解析將設(shè)備結(jié)果和設(shè)備數(shù)據(jù)輸入翻譯成虛擬設(shè)備可接受的輸入數(shù)據(jù)。在設(shè)備端該模塊向上與設(shè)備驅(qū)動程序?qū)С龅臄?shù)據(jù)接口連接接收其輸出數(shù)據(jù),通過2.3數(shù)據(jù)格式化操作將主機(jī)的輸出數(shù)據(jù)分別格式化為設(shè)備結(jié)果和設(shè)備數(shù)據(jù)輸入,向下發(fā)送給gDevice協(xié)議處理模塊;向下從gDevice協(xié)議處理模塊接收設(shè)備命令,通過2.4數(shù)據(jù)解析將設(shè)備命令翻譯成虛擬設(shè)備可接受的輸入數(shù)據(jù)。
圖3顯示了網(wǎng)格功能子模塊的結(jié)構(gòu)。圖3中3.1設(shè)備原語過濾部分過濾在會話子模塊的前臺會話和設(shè)備接口模塊之間傳遞的設(shè)備原語,將與網(wǎng)格功能有關(guān)的截獲并發(fā)送給3.2網(wǎng)格功能處理部分。3.2接收3.1傳來的設(shè)備原語,同時(shí)也接受會話管理子模塊傳來的控制原語,根據(jù)這些輸入做出控制判斷并以控制原語的方式發(fā)送給會話子模塊。
圖4是會話子模塊中一個(gè)會話的結(jié)構(gòu)。會話主要有三個(gè)處理部分5.1,會話控制部分向上與網(wǎng)格功能部分通過控制原語通信,通過會話控制數(shù)據(jù)與會話伙伴通信對會話進(jìn)行控制。4.2,gDevice PDU封裝/解析部分完成gDevice PDU和設(shè)備原語/會話控制數(shù)據(jù)之間的轉(zhuǎn)換。4.3,TCP連接部分完成gDevice PDU的傳送功能。
圖5是基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法實(shí)現(xiàn)的步驟,本系統(tǒng)的實(shí)現(xiàn)共分為7個(gè)步驟S5.1保留原設(shè)備驅(qū)動程序向上的API接口(即面向操作系統(tǒng)和應(yīng)用程序的接口),將驅(qū)動程序向下的數(shù)據(jù)接口導(dǎo)出;S5.2依照圖2所示的設(shè)備接口模塊結(jié)構(gòu)構(gòu)建設(shè)備接口模塊,模塊向上與驅(qū)動程序?qū)С龅臄?shù)據(jù)接口連接,向下與網(wǎng)格功能子模塊通過設(shè)備原語連接;S5.3以gDevice協(xié)議規(guī)范為基礎(chǔ)依照圖3和圖4所示網(wǎng)格功能子模塊結(jié)構(gòu)和會話子模塊的結(jié)構(gòu)構(gòu)建gDevice協(xié)議處理模塊,模塊向上通過設(shè)備原語與設(shè)備接口模塊連接,向下通過TCP/IP協(xié)議接入Internet;S5.4保留原驅(qū)動程序向下對硬件的操作,將驅(qū)動程序向上的接口改造為設(shè)備接口模塊向上的數(shù)據(jù)接口(也就是虛擬設(shè)備導(dǎo)出的數(shù)據(jù)接口);S5.5在網(wǎng)格主機(jī)端依次加載虛擬設(shè)備、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照圖1所示基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)結(jié)構(gòu),按照第1至4步中定義的接口將各部分連接;S5.6在網(wǎng)格外設(shè)端依次加載設(shè)備驅(qū)動程序、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照圖1所示基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)結(jié)構(gòu),按照第1至4步中定義的接口將各部分連接;S5.7將已經(jīng)加載模塊完畢的網(wǎng)格主機(jī)和網(wǎng)格外設(shè)通過Internet互連。
權(quán)利要求
1.一種基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,本發(fā)明提供了一種網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)下網(wǎng)格主機(jī)與網(wǎng)格外設(shè)之間通過TCP/IP網(wǎng)絡(luò)連接的系統(tǒng)及方法,發(fā)明采用了層次的模塊的體系結(jié)構(gòu),采用虛擬設(shè)備實(shí)現(xiàn)計(jì)算機(jī)主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問,系統(tǒng)在不同層次上定義了一系列的標(biāo)準(zhǔn)接口,并在采用任務(wù)的機(jī)制實(shí)現(xiàn)了消息異步傳遞。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,網(wǎng)格主機(jī)與網(wǎng)格外設(shè)分布于網(wǎng)絡(luò)之中,它們之間不通過系統(tǒng)總線互連,而是通過TCP/IP網(wǎng)絡(luò)連接。
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,協(xié)議采用了層次的模塊的體系結(jié)構(gòu),系統(tǒng)從上倒下依次構(gòu)建了虛擬設(shè)備模塊、設(shè)備接口模塊和gDevice協(xié)議處理模塊,最終與TCP/IP網(wǎng)絡(luò)協(xié)議銜接。
4.根據(jù)權(quán)利要求3所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,設(shè)備接口模塊包含數(shù)據(jù)的格式化和解析處理子模塊,執(zhí)行輸入輸出數(shù)據(jù)與格式化的設(shè)備原語之間的轉(zhuǎn)換翻譯。
5.根據(jù)權(quán)利要求3所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,gDevice協(xié)議處理模塊,該模塊劃分為網(wǎng)格功能子模塊和會話子模塊,其具體功能通過網(wǎng)格功能子模塊和會話子模塊之間的控制原語交互來配合實(shí)現(xiàn)。
6.根據(jù)權(quán)利要求5所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,網(wǎng)格功能子模塊,本模塊通過與會話子模塊的控制原語交互來控制會話子模塊內(nèi)的會話,以實(shí)現(xiàn)網(wǎng)格使能功能。
7.根據(jù)權(quán)利要求5所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,會話子模塊,以會話為單位維持網(wǎng)格外設(shè)與網(wǎng)格主機(jī)之間的互連關(guān)系,對出入數(shù)據(jù)進(jìn)行基本的封裝和解析,會話子層封裝后的數(shù)據(jù)單元稱為gDevice協(xié)議數(shù)據(jù)單元。
8.根據(jù)權(quán)利要求6所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,通過與會話子模塊的控制原語交互來控制會話子模塊內(nèi)的會話,以會話代表會話對象的身份,通過對會話的控制來實(shí)現(xiàn)對會話對象的控制,從而實(shí)現(xiàn)對會話對象的權(quán)限管理、與會話對象的智能互連等網(wǎng)格使能相關(guān)的功能。
9.根據(jù)權(quán)利要求6所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,控制原語在網(wǎng)格功能子模塊和會話子模塊之間傳遞控制信息,控制原語包括控制請求、控制響應(yīng)、控制命令、控制結(jié)果和控制通知五種,每種控制原語包括會話ID、原語代碼、數(shù)據(jù)長度和數(shù)據(jù)內(nèi)容四個(gè)字段。
10.據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,采用虛擬設(shè)備實(shí)現(xiàn)計(jì)算機(jī)主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問,在主機(jī)端設(shè)備接口模塊之上實(shí)現(xiàn)一個(gè)軟件方式實(shí)現(xiàn)的虛擬設(shè)備,該設(shè)備向上為主機(jī)操作系統(tǒng)和應(yīng)用程序提供一個(gè)套與本地設(shè)備無差別的API接口。
11.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,協(xié)議在不同層次上定義了一系列的標(biāo)準(zhǔn)接口,本協(xié)議在設(shè)備接口層定義了標(biāo)準(zhǔn)的設(shè)備原語;在系統(tǒng)內(nèi)部的功能管理上定義了控制原語,在會話層定義了gDevice PDU。
12.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,gDevice PDU包括頭、數(shù)據(jù)和摘要三個(gè)部分,其中頭包括Opcode、標(biāo)志位、保留位、Opcode自定義域、任務(wù)標(biāo)簽、序列號、數(shù)據(jù)域長度等字段。
13.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其特征在于,采用任務(wù)的方式實(shí)現(xiàn)了消息異步傳遞,將一系列具有相關(guān)性和順序性的gDevice PDU組成一個(gè)任務(wù),不同任務(wù)之間的gDevice PDU沒有相關(guān)性或者順序性,可以異步傳輸,同一任務(wù)內(nèi)的gDevice PDU通過PDU頭內(nèi)的任務(wù)標(biāo)簽標(biāo)識。
14.根據(jù)權(quán)利要求1所述的基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)方法,其步驟如下S5.1保留原設(shè)備驅(qū)動程序向上的API接口,將驅(qū)動程序向下的數(shù)據(jù)接口導(dǎo)出;S5.2依照構(gòu)建設(shè)備接口模塊,模塊向上與驅(qū)動程序?qū)С龅臄?shù)據(jù)接口連接,向下與網(wǎng)格功能子模塊通過設(shè)備原語連接;S5.3以gDevice協(xié)議規(guī)范為基礎(chǔ)依照網(wǎng)格功能子模塊結(jié)構(gòu)和會話子模塊的結(jié)構(gòu)構(gòu)建gDevice協(xié)議處理模塊,模塊向上通過設(shè)備原語與設(shè)備接口模塊連接,向下通過TCP/IP協(xié)議接入Internet;S5.4保留原驅(qū)動程序向下對硬件的操作,將驅(qū)動程序向上的接口改造為設(shè)備接口模塊向上的數(shù)據(jù)接口;S5.5在網(wǎng)格主機(jī)端依次加載虛擬設(shè)備、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)結(jié)構(gòu),按照第1至4步中定義的接口將各部分連接;S5.6在網(wǎng)格外設(shè)端依次加載設(shè)備驅(qū)動程序、設(shè)備接口模塊、gDevice協(xié)議處理模塊,并依照基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的計(jì)算機(jī)外設(shè)部件連接系統(tǒng)結(jié)構(gòu),按照第1至4步中定義的接口將各部分連接;S5.7將已經(jīng)加載模塊完畢的網(wǎng)格主機(jī)和網(wǎng)格外設(shè)通過Internet互連。
15.一種基于網(wǎng)格計(jì)算機(jī)體系的計(jì)算機(jī)外設(shè)部件連接系統(tǒng),該系統(tǒng)可以分為主機(jī)端和設(shè)備端兩大部分,主機(jī)端從上而下分別是1.1操作系統(tǒng);1.2虛擬外設(shè)部件;1.3設(shè)備接口模塊;1.4gDevice協(xié)議模塊;1.8TCP/IP網(wǎng)絡(luò),1.1操作系統(tǒng)和1.2虛擬外設(shè)部件之間通過設(shè)備驅(qū)動與操作系統(tǒng)之間的API連接;1.2虛擬外設(shè)部件和1.3設(shè)備接口模塊之間通過驅(qū)動程序?qū)С龅南聦雍瘮?shù)連接;1.3設(shè)備接口模塊和1.4gDevice協(xié)議模塊之間通過設(shè)備原語連接;1.4gDevice協(xié)議模塊和1.8TCP/IP網(wǎng)絡(luò)之間通過gDevice PDU連接,1.4gDevice協(xié)議模塊又分為1.5網(wǎng)格功能子模塊和1.6會話子模塊,這兩個(gè)模塊1.5網(wǎng)格功能子模塊位于上層,1.6會話子模塊位于下層,兩者之間通過設(shè)備原語和控制原語互連;設(shè)備端的結(jié)構(gòu)除設(shè)備接口模塊向上對應(yīng)的是1.7外設(shè)設(shè)備及其驅(qū)動程序以外,和主機(jī)端完全相同,1.7外設(shè)設(shè)備及其驅(qū)動程序和1.3設(shè)備接口模塊之間通過驅(qū)動程序?qū)С龅南聦雍瘮?shù)連接。
全文摘要
本發(fā)明屬于計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域,提出一個(gè)基于網(wǎng)格計(jì)算機(jī)體系結(jié)構(gòu)的主機(jī)與外設(shè)之間的連接系統(tǒng)及方法。本發(fā)明解決網(wǎng)格計(jì)算機(jī)系統(tǒng)中網(wǎng)格主機(jī)與網(wǎng)格化外設(shè)之間通過網(wǎng)絡(luò)遠(yuǎn)程互連的問題,系統(tǒng)在TCP/IP網(wǎng)絡(luò)之上建立,采用分層的結(jié)構(gòu)模塊,制定了設(shè)備接口和gDevice協(xié)議處理包含網(wǎng)格功能子模塊和會話子模塊兩個(gè)主要功能模塊,定義了設(shè)備原語、控制原語、gDevice PDU等消息傳輸或者交互格式,借助以上消息傳遞機(jī)制實(shí)現(xiàn)了網(wǎng)格主機(jī)與網(wǎng)格外設(shè)之間的連接。本系統(tǒng)在主機(jī)端采用虛擬設(shè)備方式實(shí)現(xiàn)主機(jī)對遠(yuǎn)程網(wǎng)格化外設(shè)的透明訪問;通過接口和消息傳輸格式的標(biāo)準(zhǔn)化,異步通信機(jī)制等具體技術(shù)實(shí)現(xiàn)了對網(wǎng)格計(jì)算機(jī)系統(tǒng)松散耦合特征的支持。
文檔編號G06F13/00GK1777187SQ20051012649
公開日2006年5月24日 申請日期2005年12月14日 優(yōu)先權(quán)日2005年12月14日
發(fā)明者張躍冬, 楊毅, 孫毓忠 申請人:中國科學(xué)院計(jì)算技術(shù)研究所