專利名稱:用于在計(jì)算環(huán)境中加速應(yīng)用的執(zhí)行的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及混合計(jì)算環(huán)境,并且更具體地涉及一種通過分布、管 理、平衡和執(zhí)行應(yīng)用插件來加速計(jì)算環(huán)境中應(yīng)用的執(zhí)行的系統(tǒng)和方法。
背景技術(shù):
不同種類的計(jì)算系統(tǒng)通常用于支持多種商業(yè)和/或工程應(yīng)用解決方案。 通常,商業(yè)會利用在各種客戶工作站和服務(wù)器上執(zhí)行的一組應(yīng)用來提供完 整的商業(yè)解決方案。當(dāng)應(yīng)用(例如,軟件程序)的計(jì)算能力需求超過了客 戶工作站的硬件中可用的計(jì)算能力時(shí)便發(fā)生問題。在這樣的情形下,應(yīng)用 無效率地(即,4艮慢地)運(yùn)行或才艮本不運(yùn)行,由此減少或削減了應(yīng)用所提 供的價(jià)值。
為克服上述問題所作的努力包括向服務(wù)器應(yīng)用提供具有客戶接口 (例
如,Web瀏覽器等)的應(yīng)用。以這種方式,服務(wù)器對數(shù)據(jù)進(jìn)行管理并且進(jìn) 行計(jì)算密集型任務(wù)。可選地,系統(tǒng)可以在成批調(diào)度的作業(yè)上^Mt,該成批 調(diào)度的作業(yè)凈皮從客戶工作站提交給服務(wù)器,以及跨網(wǎng)格或群集連接的服務(wù) 器網(wǎng)絡(luò)而被調(diào)度進(jìn)行處理。在這兩種情況下,均是將整個(gè)應(yīng)用調(diào)遣(例如, 移植)到服務(wù)器(或各種服務(wù)器節(jié)點(diǎn))、對其進(jìn)行處理,并且然后將其返 回至客戶工作站。因?yàn)檎{(diào)遣了整個(gè)應(yīng)用,所以計(jì)算任務(wù)的粒度(granularity) 非常粗糙,并且因此是低效率的。
在一些情況下,將整個(gè)應(yīng)用調(diào)遣到服務(wù)器所涉及的時(shí)間可能致使無法 接受上述解決方案。例如,將整個(gè)應(yīng)用調(diào)遣到用于處理的服務(wù)器對于主要 被設(shè)計(jì)成在(通過交互式用戶來驅(qū)動的)工作站上運(yùn)行,并且要求高計(jì)算 密集型任務(wù)的應(yīng)用(例如,基于物理的建模、圖像處理、3D幾何建模和繪 制,等等)完全是不可行的。在這些情況下,可以為客戶工作站提供其自
身的加速硬件(例如,加速板、圖形適配器等),而不是將整個(gè)應(yīng)用發(fā)送 至服務(wù)器。然而,為多個(gè)客戶工作站配置這樣的加速硬件的花費(fèi)可能是相 當(dāng)高的。此外,軟件開發(fā)的速度通常超過硬件開發(fā)的速度,并且要求甚至 更多計(jì)算能力的新的應(yīng)用通??焖俚刂率拱嘿F的加速硬件過時(shí)或者可能在
工作站構(gòu)成因素中并不存在加速硬件。
另外, 一些應(yīng)用駐留并且執(zhí)行于服務(wù)器上,但卻具有得益于或要求通 過服務(wù)器上不存在的專門化系統(tǒng)加速器的加速的組件。在這種情況下,服
務(wù)器面臨著上述關(guān)于客戶工作站的相同問題應(yīng)用要求的計(jì)算能力超過本 地可用的計(jì)算能力。
因此,在本領(lǐng)域存在對克服上文所描述的不足和局限的需要。
發(fā)明內(nèi)容
在本發(fā)明的第一方面, 一種方法,其包括接收對執(zhí)行計(jì)算應(yīng)用的插件 的請求,以及分析用于執(zhí)行所述插件的加速器的網(wǎng)絡(luò)。所述方法進(jìn)一步包 括標(biāo)識駐留在遠(yuǎn)離所述應(yīng)用的設(shè)備上的指定加速器,以及利用所述指定加 速器執(zhí)行所述插件。
在本發(fā)明的第二方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,其包括具有計(jì)算 機(jī)可讀程序的計(jì)算機(jī)可讀介質(zhì)。當(dāng)在計(jì)算機(jī)上執(zhí)行所述計(jì)算機(jī)可讀程序時(shí),
件的加速器的網(wǎng)絡(luò)。所述計(jì)算機(jī)可讀程序進(jìn)一步4吏得所述計(jì)算機(jī)標(biāo)識駐留 在遠(yuǎn)離所述應(yīng)用的設(shè)備上的指定加速器并且利用所述指定加速器執(zhí)行所述 插件。
在本發(fā)明的第三方面,存在一種包括與插件關(guān)聯(lián)的計(jì)算應(yīng)用的聯(lián)網(wǎng)系 統(tǒng)。所述系統(tǒng)包括第一管理器,所述第一管理器4皮安排以將所述插件與用 于執(zhí)行所述插件的至少一個(gè)加速器相關(guān)聯(lián)。所述系統(tǒng)另外還包括第二管理 器,所述第二管理器被安排以確定所述至少一個(gè)加速器的位置。所述第一 管理器和所述第二管理器置于網(wǎng)絡(luò)內(nèi)的不同位置。
在本發(fā)明的第四方面,存在一種方法,其包括發(fā)送對執(zhí)行計(jì)算應(yīng)用的
插件的請求,接收對用于執(zhí)行所述插件的加速器的指定,以及通過網(wǎng)^ 收來自對所述插件的執(zhí)行的結(jié)果。
圖1示出了根據(jù)本發(fā)明的方面的說明性環(huán)境; 圖2示出了根據(jù)本發(fā)明的方面的混合計(jì)算環(huán)境; 圖3示出了根據(jù)本發(fā)明的方面的說明性系統(tǒng);以及 圖4示出了依照本發(fā)明的方面的方法的流4呈圖。
具體實(shí)施例方式
本發(fā)明針對一種用于在計(jì)算環(huán)境中加速應(yīng)用的執(zhí)行的系統(tǒng)和方法。本 發(fā)明的實(shí)現(xiàn)提供了對應(yīng)用插件的分布、管理和執(zhí)^f亍。以這種方式,可以在 本地工作站上有效利用應(yīng)用,而沒有與跨網(wǎng)絡(luò)調(diào)遣整個(gè)應(yīng)用相關(guān)聯(lián)的時(shí)延, 并且沒有在本地提供加速硬件的費(fèi)用。
圖1示出了用于管理依照本發(fā)明的過程的說明性環(huán)境10。就此而言, 環(huán)境10包括可以實(shí)現(xiàn)文中所描述的過程的計(jì)算機(jī)^5di設(shè)施12。特別地,
所示出的計(jì)算機(jī)^P出設(shè)施12包括計(jì)算設(shè)備14,計(jì)算設(shè)備14包括管理系統(tǒng) 30,其使得計(jì)算i殳備14可操作以實(shí)現(xiàn)文中所描述的過程。所示出的計(jì)算i殳 備14包括處理器20、存儲器22A、輸V輸出(I/O)接口 24和總線26。 另夕卜,所示出的計(jì)算設(shè)備14與外部I/O設(shè)備/資源28以及存儲系統(tǒng)22B進(jìn) 行通信。如本領(lǐng)域已知的,通常,處理器20執(zhí)行存儲在存儲器22A和/或 存儲系統(tǒng)22B中的計(jì)算機(jī)程序代碼。當(dāng)執(zhí)行計(jì)算機(jī)程序代碼時(shí),處理器20 可以從存儲器22A、存儲系統(tǒng)22B和/或I/O接口 24讀取和/或向存儲器 22A、存儲系統(tǒng)22B和/或I/O接口 24寫入數(shù)據(jù)(例如商業(yè)或工程解決方 案50)。總線26在計(jì)算設(shè)備14中的每個(gè)組件之間提供通信鏈路。1/0設(shè) 備28可以包括使得個(gè)體能夠與計(jì)算設(shè)備14交互的任何設(shè)備或者使得計(jì)算 設(shè)備14能夠使用任何類型的通信鏈路與一個(gè)或多個(gè)其它的計(jì)算設(shè)備進(jìn)行 通信的任何設(shè)備。
無論在何種情況下,計(jì)算設(shè)備14均可以包括能夠執(zhí)行安裝在其上的計(jì) 算機(jī)程序代碼的任何通用計(jì)算制品(例如,個(gè)人計(jì)算機(jī)、服務(wù)器、手持設(shè) 備等)。然而,要理解到,計(jì)算設(shè)備14僅代表可以實(shí)現(xiàn)文中所描述的過程 的各種可能的等效計(jì)算設(shè)備。就此而言,在其它的實(shí)施例中,計(jì)算設(shè)備14 所提供的功能性可以由包括通用和/或?qū)S糜布?或計(jì)算機(jī)程序代碼的任 何組合的計(jì)算制品來實(shí)現(xiàn)。在每個(gè)實(shí)施例中,均可以使用標(biāo)準(zhǔn)編程和工程 技術(shù)相應(yīng)地創(chuàng)建程序代碼和硬件。
類似地,計(jì)算機(jī)^5出設(shè)施12 ^示用于實(shí)現(xiàn)本發(fā)明的各種類型的計(jì)算 機(jī)^ftfc設(shè)施。例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)l^i殳施12包括通過任何類 型的通信鏈路(例如網(wǎng)絡(luò),共享存儲器等)進(jìn)行通信以實(shí)現(xiàn)文中所描述的 過程的兩個(gè)或更多的計(jì)算設(shè)備(例如,服務(wù)器群集)。另外,當(dāng)實(shí)現(xiàn)文中 所描述的過程時(shí),計(jì)算機(jī)&^出設(shè)施12中的一個(gè)或多個(gè)計(jì)算設(shè)備可以使用任 何類型的通信鏈路與位于計(jì)算機(jī)基礎(chǔ)設(shè)施12外部的一個(gè)或多個(gè)其它的計(jì) 算設(shè)備進(jìn)行通信,在任一情況下,通信鏈路均可以包括各種類型的有線和/ 或無線鏈路的任何組合;可以包括一種或多種類型的網(wǎng)絡(luò)(例如,因特網(wǎng)、 廣域網(wǎng)、局域網(wǎng)、虛擬專用網(wǎng)等)的任何組合;和/或可以利用各種類型的 傳輸技術(shù)和協(xié)議的任何組合。
在實(shí)施例中,以軟件實(shí)現(xiàn)本發(fā)明,其包括但不限于固件、常駐軟件、 微碼等。此外,本發(fā)明可以采取可訪問于計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)的 計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由計(jì)算機(jī)或 任何指令執(zhí)行系統(tǒng)使用的或者與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合使用的程 序代碼。對于該描述來說,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是能夠容納、 存儲、通信、傳播或傳送由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用的或者與指令 執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合使用的程序的任何裝置。介質(zhì)可以是電子、磁 性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或者傳播介質(zhì)。計(jì) 算機(jī)可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲器、磁帶、可裝卸計(jì)算M盤、 隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤 的當(dāng)前的例子包括只讀光盤存儲器(CD-ROM)、讀/寫光盤(CD-R/W)
和DVD。
適于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)可以包括通過系統(tǒng)總線 直接地或間接地耦合于存儲元件的至少一個(gè)處理器。存儲元件可以包括在 程序代碼的實(shí)際執(zhí)行期間所使用的局部存儲器、大容量存儲器,以及為了 減少在執(zhí)行期間必須從大容量存儲器檢索代碼的次數(shù)而提供對至少 一些程 序代碼的臨時(shí)存儲的高速緩沖存儲器。輸X/輸出或I/O設(shè)備(包括但不限
于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以直接地或者通過插入i/o控制器耦合 于系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合于系統(tǒng),從而使得數(shù)據(jù)處理系統(tǒng)能夠適于
設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡正是幾種當(dāng)前可用類型的 網(wǎng)絡(luò)適配器。
在另一實(shí)施例中,本發(fā)明提供了一種以訂購、廣告和/或付費(fèi)為基礎(chǔ)實(shí)
現(xiàn)本發(fā)明的過程步驟的商業(yè)方法。也就是說,諸如解決方案集成商(Solution Integrator)的服務(wù)提供商可以提供向用戶配備插件管理和/或執(zhí)行。在這 種情況下,月良務(wù)提供商可以為一個(gè)或多個(gè)客戶創(chuàng)建、維護(hù)、支持等等實(shí)現(xiàn) 本發(fā)明的過程步驟的計(jì)算機(jī)J^b設(shè)施。作為回才艮,服務(wù)提供商可以從受制 于訂購和/或付費(fèi)協(xié)議的客戶接收報(bào)酬,以:S7或者服務(wù)提供商可以根據(jù)向一 個(gè)或多個(gè)第三方銷售廣告內(nèi)容而接收報(bào)酬。
圖2示出了根據(jù)本發(fā)明的方面的混合計(jì)算系統(tǒng)50。該混合計(jì)算系統(tǒng)可
絡(luò)55可以是任何類型的電子通信網(wǎng)絡(luò),舉例來說,諸如因特網(wǎng)、廣域網(wǎng)、 局域網(wǎng)、虛擬專用網(wǎng)、無線網(wǎng)絡(luò)、以太網(wǎng)等。
系統(tǒng)50的組件可以由任何類型的資源(例如,客戶機(jī)、服務(wù)器等)、 任何類型的硬件平臺,以及任何類型的操作系統(tǒng)組成。例如,客戶計(jì)算機(jī) 60可以連接至網(wǎng)絡(luò)55。在實(shí)施例中,客戶計(jì)算機(jī)60可以包括,但不限于, 客戶工作站、個(gè)人計(jì)算機(jī)、電話、個(gè)人數(shù)字助理等。要理解到,按照將要 執(zhí)行的任務(wù)的需要,系統(tǒng)50可以包括任何適當(dāng)數(shù)目的客戶計(jì)算機(jī)60。
仍然參照圖2,系統(tǒng)50可以進(jìn)一步包括刀片型服務(wù)器65。在實(shí)施例中,
刀片型服務(wù)器65包括任何類型的一個(gè)或多個(gè)刀片服務(wù)器(例如,單元刀片 (celblade)、圖形處理器刀片、XML加速器、數(shù)據(jù)庫搜索加速器等), 然而也可以采用組件的其它組合。系統(tǒng)50可以進(jìn)一步包括架式服務(wù)器 (rackserver) 70。在實(shí)施例中,架式服務(wù)器70包括任何類型的一個(gè)或多 個(gè)架式服務(wù)器(例如,1U、 2U等),然而也可以采用組件的其它組合。 要理解到,按照系統(tǒng)50的使用意圖的需要,系統(tǒng)50可以包括任何適當(dāng)數(shù) 目的服務(wù)器。系統(tǒng)50可以進(jìn)一步包括其它計(jì)算設(shè)備75,舉例來說,諸如 游戲控制臺、家用器具、嵌入式設(shè)備等。
才艮據(jù)本發(fā)明的實(shí)施例,系統(tǒng)50包括至少一個(gè)應(yīng)用(未示出)。該應(yīng)用 包括可以駐留在系統(tǒng)50的任何組件(例如工作站、游戲控制臺、服務(wù)器刀 片等)的可執(zhí)行程序(例如,軟件)。例如,該應(yīng)用可以包括存儲在客戶 工作站的存儲器中的圖形密集(graphics-intensive)三維建模程序(例如, 計(jì)算流體動力學(xué)(CFD)程序)。
除了應(yīng)用以外,系統(tǒng)50還包括至少一個(gè)插件(未示出)。本領(lǐng)域/^P 的插件是與應(yīng)用交互的可單獨(dú)執(zhí)行的程序(或程序的組件),常常提供從 單獨(dú)的應(yīng)用不可獲得的附加功能性。例如,應(yīng)用可以是Web瀏覽器,并且 插件可以是提供能夠通過因特網(wǎng)播放視頻剪輯的Web瀏覽器的組件。在常 規(guī)系統(tǒng)中,插件隨應(yīng)用一起存儲在本地。然而,在本發(fā)明系統(tǒng)50中,插件 可以駐留于系統(tǒng)50內(nèi)的任何地方,并不限于駐留于與應(yīng)用相同的組件上。 此外,多個(gè)插件可以位于系統(tǒng)50內(nèi)的各種位置。
更進(jìn)一步地,系統(tǒng)50包括至少一個(gè)加速器(未示出)。本領(lǐng)域公知的 加速器是這樣的組件,即其對特定功能的實(shí)現(xiàn)比通常會由中央處理器 (CPU)實(shí)現(xiàn)得快。加速器常常嵌于硬件中,舉例來說,諸如協(xié)處理器(例 如,浮點(diǎn)單元)或適配卡(例如,視頻卡)。加速器可以被設(shè)計(jì)來執(zhí)行特 定類別的插件,并且反過來,插件可以,皮i殳計(jì)成在特定類型的加速器上,皮 執(zhí)行。以這種方式,加速器可以用于加快對插件的執(zhí)行,而插件又由應(yīng)用 所使用(從而提高應(yīng)用的速度和/或功能性)。在本發(fā)明的實(shí)施例中,加速 器可以駐留于系統(tǒng)50內(nèi)的任何地方,舉例來說,諸如工作站中的卡、服務(wù)
器刀片上的芯片、有線連接至網(wǎng)絡(luò)55的獨(dú)立硬件組件,等等。此外,多個(gè) 加速器可以置于系統(tǒng)50內(nèi)的各種位置。
在實(shí)施例中,系統(tǒng)50進(jìn)一步包括至少一個(gè)客戶機(jī)插件管理器(PIM) 和至少一個(gè)服務(wù)器PIM??蛻魴C(jī)PIM和服務(wù)器PIM協(xié)作以提供具有在適 當(dāng)?shù)募铀倨魃蠄?zhí)行的插件的應(yīng)用,而與系統(tǒng)50內(nèi)的應(yīng)用、插件和加速器各 自的位置無關(guān)。也就是說,應(yīng)用可以位于系統(tǒng)50中的第一位置(例如,客 戶工作站),插件可以位于第二位置(例如,服務(wù)器刀片),并且加速器 可以位于第三位置(例如,特定的IP地址)??蛻魴C(jī)PIM和服務(wù)器PIM 協(xié)作以安排在加速器上執(zhí)行插件,并且執(zhí)行的結(jié)果4^返回給應(yīng)用。通過調(diào) 遣插件用于執(zhí)行,在沒有先前與調(diào)遣整個(gè)應(yīng)用到遠(yuǎn)程位置相關(guān)聯(lián)的時(shí)延并 且沒有在本地提供加速硬件的費(fèi)用的情況下,系統(tǒng)50提供了具有增強(qiáng)的計(jì) 算能力的應(yīng)用。
圖3+艮據(jù)本發(fā)明的方面示出了先前所描述的系統(tǒng)50的子系統(tǒng)100。圖 3中的箭頭表示通過網(wǎng)絡(luò)55的系統(tǒng)組件之間的通信。為了易于說明,關(guān)于 單客戶機(jī)、兩個(gè)服務(wù)器,以及兩個(gè)獨(dú)立加速器描述和說明了子系統(tǒng),然而 要理解到,根據(jù)本發(fā)明可以采用任何適當(dāng)數(shù)目的任何類型的組件。
在實(shí)施例中,子系統(tǒng)100包括客戶機(jī)110,如上所述,客戶機(jī)110可 以包括任何類型的計(jì)算機(jī),舉例來說,諸如客戶工作站、個(gè)人計(jì)算機(jī)、電 話、個(gè)人數(shù)字助理、游戲控制臺、家用器具、嵌入式設(shè)備等。第一應(yīng)用112、 第一插件114,以及第一加速器116駐留于客戶機(jī)110上。第一應(yīng)用112、 第一插件114,以及第一加速器116可以是任何適當(dāng)?shù)念愋?,并且不必?此相關(guān)(盡管它們可以被設(shè)計(jì)成彼此協(xié)作)。下文較為詳細(xì)描述的客戶機(jī) PIM 118也駐留于客戶機(jī)110上。
子系統(tǒng)100進(jìn)一步包括第一服務(wù)器節(jié)點(diǎn)120,其可以包括任何適當(dāng)類 型的服務(wù)器(刀片式、架式、獨(dú)立式,等等)。在實(shí)施例中,第一服務(wù)器 節(jié)點(diǎn)120就網(wǎng)絡(luò)位置而言遠(yuǎn)離客戶機(jī)110。第二應(yīng)用122、第二插件124, 以及第二加速器126駐留于第一服務(wù)器節(jié)點(diǎn)120上。第二應(yīng)用122、第二 插件124,以及第二加速器126可以是任何適當(dāng)?shù)念愋停⑶也槐乇舜讼?br>
關(guān)(盡管它們可以被設(shè)計(jì)成彼此協(xié)作)。下文較為詳細(xì)描述的服務(wù)器PIM 128也駐留于第一服務(wù)器120上。
仍然參照圖3,在實(shí)施例中,子系統(tǒng)100進(jìn)一步包括第二服務(wù)器節(jié)點(diǎn) 130,如上所述,其可以包括任何適當(dāng)類型的服務(wù)器(刀片式、架式、獨(dú)立 式,等等)。在實(shí)施例中,第二服務(wù)器節(jié)點(diǎn)130就網(wǎng)絡(luò)位置而言遠(yuǎn)離第一 服務(wù)器節(jié)點(diǎn)120和客戶機(jī)110。第三插件134和第三加速器136駐留于第 二服務(wù)器節(jié)點(diǎn)130上。第三插件124和第三加速器126可以是任何適當(dāng)?shù)?類型,并且不必彼此相關(guān)(盡管它們可以被設(shè)計(jì)成彼此協(xié)作)。服務(wù)器PIM 的另一實(shí)例(示為128,)也駐留于第二服務(wù)器130上。
在實(shí)現(xiàn)中,子系統(tǒng)100包括第三服務(wù)器節(jié)點(diǎn)140,其包括第四插件144 和第四加速器146。并且子系統(tǒng)100可以進(jìn)一步包括第四服務(wù)器節(jié)點(diǎn)150, 其包括第五加速器156。第三服務(wù)器節(jié)點(diǎn)140和第四服務(wù)器節(jié)點(diǎn)150可以 包括,例如連接至網(wǎng)絡(luò)的獨(dú)立加速器(例如,具有IP地址)。在實(shí)施例中, 第三服務(wù)器節(jié)點(diǎn)140和第四服務(wù)器節(jié)點(diǎn)150彼此遠(yuǎn)離并且遠(yuǎn)離第一服務(wù)器 節(jié)點(diǎn)120、第二服務(wù)器節(jié)點(diǎn)130和客戶機(jī)110。
在實(shí)施例中,客戶機(jī)PIM的實(shí)例(例如118)包括存儲在客戶機(jī)IIO 的存儲器中或存儲介質(zhì)上的軟件程序??蛻魴C(jī)PIM維護(hù)子系統(tǒng)100的每個(gè) 插件(例如,114、 124、 134、 144)的位置和類型的記錄(例如,寄存器、 存儲的數(shù)據(jù),等等)。客戶機(jī)PIM記錄還可以包括各個(gè)插件與用于該插件 的適當(dāng)?shù)募铀倨?例如,116、 126、 136、 146、 156)之間的關(guān)聯(lián)。如本領(lǐng) 域已知的,客戶機(jī)PIM記錄可以手動生成,例如通過系統(tǒng)配置文件??蛇x 地,如本領(lǐng)域已知的,客戶機(jī)PIM記錄可以自動生成,例如在系統(tǒng)啟動或 在預(yù)定的間隔處通過查詢用于組件的網(wǎng)絡(luò)。此外,客戶機(jī)PIM可操作以與 本地應(yīng)用進(jìn)行通信,從而從應(yīng)用接^M"執(zhí)行插件的請求。這樣的通信可以 通過任何適當(dāng)?shù)姆绞絹硗瓿伞?br>
在實(shí)施例中,服務(wù)器PIM的實(shí)例(例如128、 128,)包括存儲在服務(wù) 器(例如120、 130 )的存儲器中或存儲介質(zhì)上的軟件程序。服務(wù)器PIM還 維護(hù)包括了子系統(tǒng)100的加速器(例如,116、 126、 136、 146、 156)的位
置的記錄(例如,寄存器、存儲的數(shù)據(jù)、ip地址、主機(jī)名等)。如上所述,
服務(wù)器PIM記錄可以手動或自動生成,并且可以被表示成例如共享對象位 置或遠(yuǎn)程位置。此外,如本領(lǐng)域已知的,服務(wù)器PIM的實(shí)例還含有用于確 定實(shí)時(shí)系統(tǒng)負(fù)載(例如,每個(gè)組件操作時(shí)的容量)的模塊。這適于這樣的 情況,即在該情況下,取決于執(zhí)行時(shí)的可用性可以將插件映射到相同系統(tǒng) 中的多個(gè)同樣的加速器。
客戶機(jī)PIM 118和服務(wù)器PIM 128、 128,通過信號交換安排來彼此有 效地進(jìn)行通信。聯(lián)網(wǎng)和非聯(lián)網(wǎng)系統(tǒng)組件之間的信號交換在本領(lǐng)^l:已知的, 并且,在本發(fā)明的實(shí)現(xiàn)中,其用于標(biāo)識可用的系統(tǒng)資源。例如,客戶機(jī)PIM 118可以向服務(wù)器PIM 128發(fā)送對在一種類型的加速器上執(zhí)行特定插件的 請求?;诩铀倨魑恢玫姆?wù)器PIM記錄以a于系統(tǒng)負(fù)載,服務(wù)器PIM 128確定和返回用于執(zhí)行插件的加速器的網(wǎng)g置給客戶機(jī)PIM。以這種 方式,插件可以4皮調(diào)遣至適當(dāng)?shù)募铀倨?、被?zhí)行,并且結(jié)果被返回給應(yīng)用。
4吏用舉例
仍然參照圖3,在使用的第一例子中,第一應(yīng)用112正在客戶機(jī)110 上執(zhí)行。第一應(yīng)用112向客戶機(jī)PIM 118發(fā)送其要求執(zhí)行第一插件114的 消息。對于該例來說,假i5jl戶機(jī)PIM 118通it^戶機(jī)PIM記錄確定第 一插件114位于客戶機(jī)110上并且與第三加速器136相關(guān)聯(lián)??蛻魴C(jī)PIM 118通過網(wǎng)絡(luò)向服務(wù)器PIM 128、 128,中的任何實(shí)例發(fā)送對在第三加速器 136上執(zhí)行第一插件114的請求。服務(wù)器PIM 128通過服務(wù)器PIM記錄和 系統(tǒng)負(fù)載分析確定第三加速器136位于第二服務(wù)器節(jié)點(diǎn)130并且是可用的。 服務(wù)器PIM 128將該信息返回給客戶機(jī)PIM 118??蛻魴C(jī)PIM 118通過網(wǎng) 絡(luò)將第一插件114的副本發(fā)送至第三加速器136。第三加速器136執(zhí)行第 一插件114并且將結(jié)果返回給第一應(yīng)用112。
要注意,在子系統(tǒng)100內(nèi)可以存在類似的,或者重復(fù)的加速器。例如, 第五加速器156可以基本上等同于第三加速器136。然后,在上述第一例 子中,服務(wù)器PIM 128通過系統(tǒng)負(fù)載分析確定兩個(gè)加速器中的哪一個(gè)更適 合解決對執(zhí)行插件的即時(shí)請求。例如,如果第三加速器136正在操作接近
100%的容量,而第五加速器156正處于空閑,那么服務(wù)器PIM 128可以 基于相應(yīng)的負(fù)載(例如系統(tǒng)負(fù)載)將插件導(dǎo)向第五加速器來執(zhí)行。
此外,要注意,在子系統(tǒng)100內(nèi)可以存在類似的,或者重復(fù)的插件。 例如,第三插件134可以基本上等同于第一插件114。然后,在上述笫一 例子中,客戶機(jī)PIM 118通過與服務(wù)器PIM 128,的信號交換來確定插件的 副本已經(jīng)駐留于與所希望的加速器相同的組件上。這可以發(fā)生在,例如, 過去將第一插件114發(fā)送到了第二服務(wù)器節(jié)點(diǎn)130,并且在笫二服務(wù)器節(jié) 點(diǎn)130上維護(hù)了副本(例如,第三插件134)的情況下。(要理解到,存 在遍及系統(tǒng)^JV插件的其它方式)。在這種情況下,客戶機(jī)PIM不需要發(fā) 送第一插件114的副本到第二服務(wù)器節(jié)點(diǎn)130,而AiL送對在第三加速器 136上執(zhí)行第三插件134的請求。
此外要注意,應(yīng)用、插件和加速器可以全都位于相同的系統(tǒng)組件上。 例如,第一應(yīng)用112可以請求執(zhí)行第一插件114,該第一插件114與第一 加速器116相關(guān)聯(lián)。在這種情況下,第一插件114可以被加載到第一加速 器116、被執(zhí)行,并且結(jié)果被提供給第一應(yīng)用112。
仍然參照圖3,在第二示例性使用中,第一應(yīng)用112正在客戶機(jī)110 上執(zhí)行。第一應(yīng)用112向客戶機(jī)PIM118發(fā)送其要求執(zhí)行第二插件124的 消息。對于該例來說,假設(shè)客戶機(jī)PIM 118通it^戶機(jī)PIM記錄確定第 二插件124位于第一服務(wù)器節(jié)點(diǎn)120上。客戶機(jī)PIM 118通過客戶機(jī)PIM 記錄還確定第二插件124與第四加速器146相關(guān)聯(lián)。客戶機(jī)PIM 118向服 務(wù)器PIM 128、 128,中的任何實(shí)例發(fā)送對在第四加速器146上執(zhí)行第二插 件124的請求。服務(wù)器PIM 128,通過服務(wù)器PIM記錄和系統(tǒng)負(fù)栽分析確 定第四加速器146位于第四服務(wù)器節(jié)點(diǎn)140上并且是可用的。服務(wù)器PIM 128,將該信息返回給客戶機(jī)PIM 118??蛻魴C(jī)PIM 118向位于具有第二插 件124的第一服務(wù)器節(jié)點(diǎn)120上的服務(wù)器PIM 128發(fā)送請求,以便向第四 加速器發(fā)送第二插件124的副本用于執(zhí)行。服務(wù)器PIM 128向第四加速器 146發(fā)送第二插件124的副本,相應(yīng)地,第四加速器146執(zhí)行第二插件124, 并且結(jié)果^皮返回給第一應(yīng)用112。
要注意,如上所述,應(yīng)用并不限于駐留于客戶機(jī)上。應(yīng)用可以駐留于
服務(wù)器上,例如駐留于第一服務(wù)器節(jié)點(diǎn)120上的第二應(yīng)用122。以這種方 式,在服務(wù)器上執(zhí)行的應(yīng)用還可以獲益于調(diào)遣并在遍及系統(tǒng)的各個(gè)加速器 上遠(yuǎn)程執(zhí)行插件的能力。
使用方法
圖4是實(shí)現(xiàn)本發(fā)明的步驟的流程圖。圖4同樣可以表示本發(fā)明的高級 框圖。圖4的步驟可以實(shí)現(xiàn)和執(zhí)行于客戶機(jī)服務(wù)器關(guān)系中的服務(wù)器,或者 其可以在將操作信息傳送至用戶工作站以創(chuàng)建以上所概述的導(dǎo)覽的情況下 在該用戶工作站上運(yùn)行。另外,本發(fā)明可以采取全硬件實(shí)施例、全軟件實(shí) 施例或既含硬件元素又含軟件元素的實(shí)施例的形式。
圖4才艮據(jù)本發(fā)明的方面示出了用于執(zhí)行插件的方法400。在步驟410, 接)l^t執(zhí)行插件的請求。在實(shí)施例中,這包括客戶機(jī)PIM從應(yīng)用接收對執(zhí) 行插件的請求。可選地,或者附加地,其包括客戶機(jī)PIM向服務(wù)器PIM 發(fā)送對執(zhí)行插件的請求,例如,使用信號交換例程,如上所述。請求可以 包括加速器的標(biāo)識,或者加速器的類型,其中該加速器與插件相關(guān)聯(lián)(例 如,來自客戶機(jī)PIM記錄)。
在步驟420,分析用于執(zhí)行所請求的插件的系統(tǒng)。在實(shí)施例中,服務(wù) 器PIM確定加速器在系統(tǒng)中的位置并且分析系統(tǒng)負(fù)載,如上所述。
在步驟425,基于步驟420的分析(例如,基于可用的系統(tǒng)資源), 服務(wù)器PIM標(biāo)識和指定用于使用的最優(yōu)加速器。步驟425可以進(jìn)一步包括 將指定加速器的標(biāo)識和位置傳達(dá)回客戶機(jī)PIM。
在步驟430,將插件加載到指定加速器。在實(shí)施例中,這包括在客戶 機(jī)PIM與指定加速器之間的信號交換。例如,客戶機(jī)PIM可以通過網(wǎng)絡(luò) 向加速器發(fā)送對執(zhí)行特定插件的請求以及該插件的副本??蛇x地,如果該 插件已隨加速器一起位于本地,那么無需發(fā)送副本,并且僅僅將已駐留的 插件加載到加速器。加載在本領(lǐng)域是已知的,并且可以例如通過加栽模塊 功能來實(shí)現(xiàn)。
在步驟440,使用加速器來執(zhí)行插件。在實(shí)施例中,這包括指定的加
速器執(zhí)行具有由應(yīng)用或客戶機(jī)PIM所發(fā)送的任何關(guān)聯(lián)數(shù)據(jù)的插件。
在步驟450,將執(zhí)行插件的結(jié)果返回給應(yīng)用。在實(shí)施例中,這包括當(dāng)
加速器正在執(zhí)行插件時(shí)實(shí)時(shí)地將結(jié)果傳輸給應(yīng)用(例如,通過網(wǎng)絡(luò))???br>
選地,其可以包括執(zhí)行插件來生成一組結(jié)果,并且然后將該組結(jié)果傳輸給
應(yīng)用。步驟450可以進(jìn)一步包括將結(jié)果集成到應(yīng)用中。
如上所述,本發(fā)明的實(shí)施例提供了 一種用于在遠(yuǎn)離請求插件的應(yīng)用的
加速器上執(zhí)行插件的系統(tǒng)和方法。此外,本發(fā)明的實(shí)現(xiàn)提供了一種用于分
步和管理插件在網(wǎng)絡(luò)連接的系統(tǒng)中的執(zhí)行的系統(tǒng)和方法。以這種方式,本
發(fā)明增加了計(jì)算應(yīng)用的功能性。
雖然已經(jīng)根據(jù)實(shí)施例說明了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)認(rèn)識
到,本發(fā)明可以在修改的情況下實(shí)施,并且屬于所附權(quán)利要求的精神和范圍。
權(quán)利要求
1.一種方法,其包括接收對執(zhí)行計(jì)算應(yīng)用的插件的請求;分析用于執(zhí)行所述插件的加速器的網(wǎng)絡(luò);標(biāo)識駐留在遠(yuǎn)離所述應(yīng)用的設(shè)備上的指定加速器;以及利用所述指定加速器執(zhí)行所述插件。
2. 根據(jù)權(quán)利要求l的方法,其中所述分析包括確定系統(tǒng)負(fù)載和可用 資源中的至少一個(gè)。
3. 根據(jù)權(quán)利要求l的方法,其進(jìn)一步包括通it^客戶機(jī)設(shè)備接收所 述插件的副本,將所述插件加載到所述指定加速器。
4. 根據(jù)權(quán)利要求l的方法,其進(jìn)一步包括通過將所述執(zhí)行的結(jié)果從 第一網(wǎng)絡(luò)位置傳輸至第二網(wǎng)絡(luò)位置來將所述結(jié)果傳達(dá)給所述計(jì)算應(yīng)用,其 中所述指定加速器駐留于所述第 一 網(wǎng)絡(luò)位置,所述計(jì)算應(yīng)用駐留于所述第 二網(wǎng)絡(luò)位置。
5. 根據(jù)權(quán)利要求l的方法,其中在訂購、廣告或者付費(fèi)的基礎(chǔ)上實(shí)現(xiàn) 所述接收、分析、標(biāo)識和執(zhí)4亍。
6. 根據(jù)權(quán)利要求l的方法,其進(jìn)一步包括以下中的至少一個(gè)創(chuàng)建、 維護(hù)和支持實(shí)現(xiàn)所述接收、分析、標(biāo)識和執(zhí)行的計(jì)算機(jī)基礎(chǔ)設(shè)施。
7. 根據(jù)權(quán)利要求l的方法,其中所述接收、分析、標(biāo)識和執(zhí)行由服務(wù) 供應(yīng)商來實(shí)現(xiàn)。
8. —種聯(lián)網(wǎng)系統(tǒng),其包括 與插件關(guān)聯(lián)的計(jì)算應(yīng)用;第一管理器,所述第一管理器被安排以將所述插件與用于執(zhí)行所述插 件的至少一個(gè)加速器相關(guān)聯(lián);以及第二管理器,所述第二管理器^l安排以確定所述至少一個(gè)加速器的位置,其中所述第一管理器和所述第二管理器置于網(wǎng)絡(luò)內(nèi)的不同位置。
9. 根據(jù)權(quán)利要求8的系統(tǒng),其中 所述計(jì)算應(yīng)用和所述第一管理器位于客戶機(jī)設(shè)備,以及 所述第二管理器位于遠(yuǎn)離所述客戶機(jī)設(shè)備的服務(wù)器設(shè)備。
10. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述至少一個(gè)加速器位于所述服務(wù) 器設(shè)備。
11. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述至少一個(gè)加速器位于遠(yuǎn)離所述 服務(wù)器設(shè)備的服務(wù)器節(jié)點(diǎn)。
12. 根據(jù)權(quán)利要求ll的系統(tǒng),其中所述插件位于所述服務(wù)器節(jié)點(diǎn)。
13. 根據(jù)權(quán)利要求10的系統(tǒng),其中所述插件位于所^戶機(jī)設(shè)備。
14. 根據(jù)權(quán)利要求10的系統(tǒng),其中所述插件位于所^艮務(wù)器設(shè)備。
15. 根據(jù)權(quán)利要求8的系統(tǒng),其中所述第一管理器通過所述網(wǎng)絡(luò)將所 述插件的副本發(fā)送至所述至少 一個(gè)加速器。
16. 才艮據(jù)權(quán)利要求8的系統(tǒng),其中所述至少一個(gè)加速器 通過執(zhí)行所述插件生成結(jié)果,以及 通過所述網(wǎng)絡(luò)將所述結(jié)果發(fā)送給所述計(jì)算應(yīng)用。
17. 根據(jù)權(quán)利要求8的系統(tǒng),其中 所述至少一個(gè)加速器包括多個(gè)加速器,以及所述笫二管理器確定所述多個(gè)加速器中指定的一個(gè)來執(zhí)行所述插件。
18. 根據(jù)權(quán)利要求17的系統(tǒng),其中所述第二管理器通過分析系統(tǒng)負(fù) 載和資源可用性中的至少一個(gè)來確定所述多個(gè)加速器中所指定的一個(gè)。
19. 一種方法,其包括 發(fā)送對執(zhí)行計(jì)算應(yīng)用的插件的請求; 接收對用于執(zhí)行所述插件的加速器的指定;以及 通過網(wǎng)絡(luò)接收來自對所述插件的執(zhí)行的結(jié)果。
全文摘要
一種用于在計(jì)算環(huán)境中加速對應(yīng)用的執(zhí)行的系統(tǒng)和方法。所述方法包括接收對執(zhí)行計(jì)算應(yīng)用的插件的請求以及分析用于執(zhí)行所述插件的加速器的網(wǎng)絡(luò)。所述方法進(jìn)一步包括標(biāo)識駐留在遠(yuǎn)離所述應(yīng)用的設(shè)備上的指定加速器以及利用所述指定加速器執(zhí)行所述插件。
文檔編號G06F9/44GK101169714SQ20071016683
公開日2008年4月30日 申請日期2007年10月22日 優(yōu)先權(quán)日2006年10月26日
發(fā)明者A·K·楠達(dá), B·D·達(dá)莫拉, J·R·穆利克 申請人:國際商業(yè)機(jī)器公司