国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于可擴展和可伸縮通信的架構(gòu)和協(xié)議的制作方法

      文檔序號:6478714閱讀:205來源:國知局
      專利名稱:用于可擴展和可伸縮通信的架構(gòu)和協(xié)議的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及信息技術(shù)(IT)系統(tǒng),并且更具體地,涉及用于在企業(yè)環(huán)境中對 IT解決方案進行自動化和部署的系統(tǒng)和方法。
      背景技術(shù)
      企業(yè)環(huán)境包括多個受管理端點,諸如用戶工作站、交換機和路由器。該企業(yè)環(huán)境由 管理計算機來管理,該管理計算機在受管理端點上執(zhí)行各種信息技術(shù)(IT)任務(wù)。例如,管 理計算機可以在受管理端點上安裝軟件或補丁,向受管理端點發(fā)送消息,重新配置受管理 端點,或者接收描述受管理端點的配置或狀態(tài)的信息。通常,執(zhí)行IT任務(wù)需要管理計算機和受管理端點兩者上的軟件支持。類似的IT 任務(wù)可能需要在具有不同的硬件和軟件配置的若干受管理端點上執(zhí)行。因此,在所有受管 理端點上安裝和維護必需的支持軟件通常是困難的過程。另外,管理計算機通常需要與受管理端點通信以便執(zhí)行IT任務(wù)。單個管理計算機 可能要與數(shù)千個受管理端點通信。在每次需要通信時建立與受管理端點的新通信信道可能 造成大量開銷,尤其是在管理計算機嘗試與已經(jīng)離線的多個受管理端點建立通信時。需要用于在受管理端點上安裝和維護軟件以便支持IT任務(wù)的系統(tǒng)和方法。還需 要用于與受管理端點高效通信以執(zhí)行IT任務(wù)的系統(tǒng)和方法。

      發(fā)明內(nèi)容
      以上需要通過一種使用計算機來執(zhí)行信息技術(shù)(IT)任務(wù)的系統(tǒng)、方法和計算機 程序來滿足。IT任務(wù)的示例包括安裝或配置軟件、顯示提示或記錄活動。在系統(tǒng)和計算機 程序產(chǎn)品的一個實施方式中,連接初始化模塊通過網(wǎng)絡(luò)從受管理端點接收針對持續(xù)連接的 請求。接受請求并且打開與受管理端點的持續(xù)連接。然后層級1模塊通過持續(xù)連接從受管 理端點接收配置信息。配置信息包括受管理端點上功能性插件的列表,其中功能性插件包 括用于執(zhí)行IT任務(wù)的軟件模塊。層級1模塊存儲該配置信息連同描述持續(xù)連接的信息,并 將持續(xù)連接維持為打開狀態(tài)。


      圖1是示出一個實施方式中的包括用于在受管理端點上執(zhí)行IT任務(wù)的信息技術(shù) (IT)自動化裝置的環(huán)境的高層次圖;圖2是示出一個實施方式中的可以充當IT自動化裝置或受管理端點的計算機的 框圖3是示出一個實施方式中的功能性插件的框圖;圖4是示出一個實施方式中的內(nèi)置插件的框圖;圖5示出了一個實施方式中內(nèi)置插件之間通過網(wǎng)絡(luò)通信的協(xié)議棧;圖6是示出一個實施方式中用于創(chuàng)建和維護裝置與受管理端點之間的持續(xù)連接 的方法的流程圖;附圖僅為了示意的目的描繪了本發(fā)明的實施方式。本領(lǐng)域技術(shù)人員根據(jù)以下的描 述將很容易認識到,在不脫離此處描述的本發(fā)明的原理的情況下,可以采用此處示出的結(jié) 構(gòu)和方法的備選實施方式。
      具體實施例方式圖1是示出了一個實施方式中的環(huán)境100的高層次圖,該環(huán)境100包括用于在受 管理端點108上執(zhí)行IT任務(wù)的信息技術(shù)(IT)自動化裝置102 ( “裝置”)。受管理端點108 是計算設(shè)備,諸如用戶工作站或路由器。IT任務(wù)例如包括在受管理端點108上安裝軟件程 序或補丁,向受管理端點發(fā)送提示,重新配置受管理端點,執(zhí)行受管理端點上的程序或計算 機腳本,或者記錄受管理端點上的活動。裝置102可以配置為通過操作者來執(zhí)行各種IT任 務(wù),操作者諸如IT職員的成員。圖1示出了具有一個裝置102和兩個受管理端點108的環(huán) 境100。然而,環(huán)境100可以包含與裝置102通信的數(shù)千個受管理端點108。同樣,環(huán)境100 可以包含多個裝置102,某些裝置可能被用于備份或負載平衡目的。裝置102和受管理端點 108通過網(wǎng)絡(luò)114(諸如因特網(wǎng)或企業(yè)內(nèi)部網(wǎng))進行通信。以下將進一步描述,受管理端點 108可以設(shè)置在防火墻116之后,以改善受管理端點的安全性。裝置102和受管理端點108包含插件104和106,插件104和106提供支持IT任 務(wù)執(zhí)行的功能。在一個實施方式中,插件104和106是在裝置102和受管理端點108中運 行的軟件模塊。插件104和106可以包括用戶接口,并且可以訪問裝置102和受管理端點 108上的存儲設(shè)備或其他資源。插件104和106可以在過程或庫中運行。IT任務(wù)的執(zhí)行通 常需要來自裝置102和受管理端點108兩者的支持。因此,各種裝置插件104S和106S與 相應(yīng)的受管理端點插件104C和106C協(xié)作。例如,插件104S-3與端點108和108,上的插 件104C-3協(xié)作以執(zhí)行特定IT任務(wù)。裝置和端點插件104和106例如包括可執(zhí)行程序指令。插件104和106可以實現(xiàn) 為在具有不同硬件和軟件配置的多個平臺上運行。例如,運行特定操作系統(tǒng)的裝置102上 的插件104可以與具有各種其他操作系統(tǒng)的端點108上的插件104通信。因為使用如下所 述的模塊化接口設(shè)計插件104,所以可以針對特定插件104而維護共同的源代碼庫,并且代 碼可以針對不同的平臺而僅僅不同地編譯。插件104稱為“功能性”插件,并且向裝置102和端點108提供功能以便執(zhí)行IT任 務(wù)。例如,一對功能性插件104S-2和104C-2可以用于記錄受管理端點108上的活動。端 點108上的功能性插件104C-2可以監(jiān)測發(fā)生在該端點上的活動,并將其傳送至裝置102上 的功能性插件104S-2,功能性插件104S-2將活動存儲在日志文件中。在功能性插件104對 之間可以進行其他的通信,諸如開始或停止監(jiān)測活動的命令。一些插件106稱為“內(nèi)置”插件,并且處理裝置功能性插件104S與端點功能性插 件104C之間通過網(wǎng)絡(luò)114的通信。在一個實施方式中,一對內(nèi)置插件106S和106C維持裝
      6置102與受管理端點108之間的持續(xù)連接。該持續(xù)連接可以用于由各種功能性插件104所 進行的通信,例如,插件104S-1與104C-1之間的通信。持續(xù)通信還可以支持內(nèi)置插件106S 與106C之間的控制通信,諸如狀態(tài)更新或配置信息。內(nèi)置插件106還為功能性插件104提 供管理服務(wù)。內(nèi)置插件106C可以安裝、刪除和更新功能性插件104C。內(nèi)置插件106C還可 以維護已安裝插件104C及其狀態(tài)的清單(例如,列表)。圖2是示出在一個實施方式中可以充當IT自動化裝置102或受管理端點108的 一個實施方式的計算機200的框圖。示出了至少一個處理器202耦合至總線204。存儲器 206、存儲設(shè)備208、鍵盤210、圖形適配器212、指點設(shè)備214和網(wǎng)絡(luò)適配器216也耦合至總 線。顯示器218耦合至圖形適配器212。存儲設(shè)備208是諸如硬盤驅(qū)動器、⑶或DVD驅(qū)動 器或閃存設(shè)備的設(shè)備,并且保存包含計算機200運行期間所使用的可執(zhí)行代碼和/或數(shù)據(jù) 的文件。在一個實施方式中,存儲器206是隨機存取存儲器(RAM),并保存從存儲設(shè)備208 加載的、在處理期間生成的和/或來自其他源的指令和數(shù)據(jù)。發(fā)揮不同作用的計算機可以具有與圖2中示出的不同的和/或附加的元件。例如, 充當裝置102的計算機200可以比充當受管理端點108的計算機具有更大的處理功率和更 大的存儲設(shè)備。同樣地,充當裝置102的計算機200可以缺少對于操作它而言不是必需的 諸如顯示器218和/或鍵盤210等設(shè)備。計算機200執(zhí)行一個或多個操作系統(tǒng),諸如MICR0S0FTWIND0WS或LINUX的變體。 一般地,操作系統(tǒng)執(zhí)行一個或多個應(yīng)用程序。由計算機執(zhí)行的操作系統(tǒng)和應(yīng)用程序包含一 個或多個過程。本說明書使用術(shù)語“模塊”來指代提供特定功能的計算機程序邏輯。模塊可 以在硬件、固件和/或軟件中實現(xiàn)。模塊通常存儲在存儲設(shè)備208中、加載到存儲器206中 并由處理器202來執(zhí)行。模塊可以包括一個或多個過程和/或僅僅過程的一部分來提供。圖3是示出一個實施方式中的功能性插件104的框圖。示出的功能性插件104可 以裝置102上或者受管理端點108 (統(tǒng)稱為計算機200)上。如上所述,功能性插件104向 計算機200提供支持IT任務(wù)執(zhí)行的功能。功能模塊304執(zhí)行包括部分IT任務(wù)的功能。例 如,功能模塊304可以安裝軟件補丁、顯示桌面提示或者監(jiān)測受管理端點108的各類活動。在一個實施方式中,端點108上的功能性插件104C與執(zhí)行IT任務(wù)的裝置102上 的相應(yīng)功能性插件104S通信。在這種情況下,相應(yīng)的插件104可以執(zhí)行互補的任務(wù)。例 如,一對相應(yīng)的插件104可以一起工作,以記錄發(fā)生在受管理端點108上的活動。裝置功能 性插件104S中的功能模塊304可以發(fā)出開始監(jiān)測活動的命令。作為響應(yīng),端點功能性插件 104C中的功能模塊304可以開始監(jiān)測各種活動并將其存儲在本地文件中。在稍后某時,裝 置102上的功能模塊304向端點108上的功能模塊304發(fā)送命令,請求活動數(shù)據(jù)。作為響 應(yīng),端點上的功能模塊304向裝置102上的功能模塊304發(fā)送本地文件,其中活動被存儲在 永久日志文件中,以供裝置的操作者稍后進行分析。一般地,裝置102上的單個功能性插件104S-2可以與各受管理端點108上的多個 功能性插件104C-2協(xié)作。因此,裝置功能性插件104S中的功能模塊304可能需要維持來 自各受管理端點108的多個功能模塊304的狀態(tài)。在一個實施方式中,功能模塊304包括用戶接口組件。裝置功能性插件104S中的 功能模塊304可以與裝置的操作者(諸如IT職員的成員)進行交互。該用戶接口可以顯 示各受管理端點108及其相應(yīng)的功能性插件104C的狀態(tài)。其還可以允許操作者配置功能性插件104S或者向功能性插件104C發(fā)出命令。受管理端點功能性插件104C中的功能模 塊304也可以具有用戶接口組件,以使端點108的用戶能夠配置插件或者在端點上執(zhí)行各 種任務(wù)。用戶接口組件還可以允許用戶查看提示或者從裝置功能性插件104S發(fā)送的消息, 或者向裝置功能性插件104S發(fā)送消息。在一個實施方式中,裝置功能性插件104S和端點功能性插件104C通過通信模塊 302或帶外通信模塊308彼此通信。通信模塊302通過內(nèi)置插件106來發(fā)送通信。例如,通過 通信模塊302從功能性插件104S-1向功能性插件104C-1的通信,將從功能性插件104S-1 向內(nèi)置插件106S發(fā)送,向內(nèi)置插件106C發(fā)送(跨過網(wǎng)絡(luò)114),向功能性插件104C-1的通 信模塊發(fā)送。通過通信模塊302發(fā)送的通信使用由內(nèi)置插件106提供的通信協(xié)議。以下將進一 步詳細描述,這些通信協(xié)議可以維持持久連接,其允許插件104和106之間快速、低開銷、無 阻塞的通信。一般地,該通信信道最適合用于較小的消息,諸如命令、確認或狀態(tài)消息。另一方面,帶外通信模塊308通過網(wǎng)絡(luò)114與相應(yīng)功能性插件104的帶外通信模 塊308進行通信,而不通過內(nèi)置插件106來發(fā)送數(shù)據(jù)。例如,功能性插件104C-1的帶外通信 模塊308與功能性插件104S-1的帶外通信模塊直接通信,不經(jīng)過內(nèi)置插件106。帶外通信 模塊308不需要使用內(nèi)置插件106所使用的通信協(xié)議。相反,帶外通信模塊308可以使用 其自己的通信機制,諸如當需要發(fā)送新的通信時創(chuàng)建專用的傳輸控制協(xié)議(TCP)套接字, 當通信完成時關(guān)閉TCP套接字。 帶外通信模塊308可以用于發(fā)送內(nèi)置插件106之間的持續(xù)連接可能無法很好處理 的大量數(shù)據(jù)。而且,帶外通信較適合用于偶然通信,其中為特定通信而打開和關(guān)閉新通信路 徑的開銷是可接受的。例如,在以上討論的活動記錄示例中,諸如命令、確認和狀態(tài)消息等 簡短通信可以使用通信模塊302來發(fā)送,而活動數(shù)據(jù)文件可以通過帶外通信模塊308來從 客戶端功能性插件104C向服務(wù)器功能性插件104S發(fā)送?;顒訑?shù)據(jù)文件可能是大文件,包 含在特定時間段內(nèi)監(jiān)測的所有活動的細節(jié)??梢允褂脦馔ㄐ拍K308來發(fā)送的數(shù)據(jù)的另 一示例是從裝置102到端點108的大數(shù)字凈荷,諸如可執(zhí)行程序、操作系統(tǒng)更新和補丁、其 他文檔文件、新端點插件可執(zhí)行文件或者庫本身。在一個實施方式中,功能性插件104以模塊化方式設(shè)計,使得功能性插件能夠容 易地被添加到裝置102或受管理端點108。模塊化對于端點功能性插件104C而言尤其有 用,因為在特定環(huán)境100中,端點功能性插件可能需要安裝在上千個受管理端點108上,其 中很多端點具有不同的硬件和軟件配置。實現(xiàn)模塊化的一種方法是通過將內(nèi)置插件106和各種功能性插件104中的功能分 離。內(nèi)置插件106處理通信和協(xié)調(diào)任務(wù)(以下進行進一步描述),并且不需要具有功能性 插件104的功能或功能性插件104用來彼此通信的數(shù)據(jù)格式的知識。類似地,功能性插件 104不需要知道內(nèi)置插件106所使用的通信協(xié)議。功能性插件104向內(nèi)置插件106提供消 息,并且內(nèi)置插件處理通過網(wǎng)絡(luò)114來發(fā)送消息的細節(jié)。因此,假設(shè)裝置102或端點108支 持內(nèi)置插件106所提供的預定接口,則功能性插件104C可以容易地添加到裝置102或端點 108,或者從裝置102或端點108移除。功能性插件104的注冊模塊306使得功能性插件能夠在裝置102或者受管理端點 108上注冊其自身。在一個實施方式中,該注冊是功能性插件104的安裝過程的一部分。注
      8冊模塊306通知內(nèi)置插件106 它正在被安裝到裝置102或端點108上。然后內(nèi)置插件106 獲知功能性插件104,并可以為功能性插件104提供意在功能性插件的、接收自網(wǎng)絡(luò)114的 消息。一旦獲知功能性插件104,內(nèi)置插件106還可以適當?shù)毓芾砉δ苄圆寮缦滤觥?在一個實施方式中,注冊模塊306還接收到內(nèi)置插件106的句柄,從而使功能性插件104可 以向內(nèi)置插件發(fā)送消息和請求。圖4是示出一個實施方式中的內(nèi)置插件106的框圖。如上所述,內(nèi)置插件106向 功能性插件104提供通信和管理服務(wù)。由內(nèi)置插件106維護的插件數(shù)據(jù)402包括安裝在計 算機200上的功能性插件104的列表,其中計算機是裝置102或受管理端點108。插件數(shù)據(jù) 402還包括用于與計算機200上的功能性插件104通信的句柄。插件數(shù)據(jù)420還可以包括 關(guān)于功能性插件104的版本信息(例如,版本號或日期)或者關(guān)于功能性插件104的其他 狀態(tài)信息。如下所述,版本信息可以用于自動地更新功能性插件。例如,狀態(tài)信息可以指出 功能性插件104當前是 否活躍、不活躍或忙碌。該信息如果存儲在端點內(nèi)置插件106C中, 則其可以用于對來自裝置102的狀態(tài)請求做出響應(yīng)。如下所述,狀態(tài)信息還可以在消息處 理中使用。插件管理模塊410執(zhí)行針對功能性插件104的各種管理功能。在一個實施方式中, 功能性插件104的注冊模塊306與插件管理模塊410通信以注冊功能性插件。插件管理模 塊410從功能性插件104接收注冊信息,并向功能性插件發(fā)送與內(nèi)置插件106有關(guān)的必要 信息。插件管理模塊410還可以升級功能性插件104,刪除功能性插件,以及創(chuàng)建功能性插 件的狀態(tài)報告。在一個實施方式中,裝置102上的插件管理模塊410由裝置的操作者通過 用戶接口來控制。該插件管理模塊410可以向各受管理端點108上的插件管理模塊發(fā)送命 令,以請求其安裝、刪除或升級功能性插件。安裝或升級插件的命令可以附有指定從哪個位 置可以下載安裝或升級鏡像的信息。裝置102上的插件管理模塊410還可以自動地向各受管理端點108上的插件管理 模塊發(fā)送命令。例如,插件管理模塊410可以分析插件數(shù)據(jù)402,以確定受管理端點108上 的功能性插件104C的版本。插件管理模塊410可以確定版本是否是最新的可用版本。如 果版本過期,則插件管理模塊410可以向具有功能性插件104C過期版本的受管理端點108 上的插件管理模塊發(fā)送升級命令。層級1模塊404和層級2模塊408執(zhí)行針對內(nèi)置插件106的各種通信任務(wù)。層級 1模塊404處理內(nèi)置插件106之間通過網(wǎng)絡(luò)114的通信。層級2模塊408處理內(nèi)置插件106 與計算機200上的功能性插件104之間的通信。在發(fā)送消息時,功能性插件將消息傳送至 層級2模塊,層級2模塊將消息傳遞至層級1模塊,層級1模塊通過網(wǎng)絡(luò)114來發(fā)送消息。 類似地,在接收消息時,層級1模塊從網(wǎng)絡(luò)114接收消息,并將消息傳遞至層級2模塊,層級 2模塊將消息發(fā)送至功能性插件104。在描述這些模塊的細節(jié)之前,提供通信協(xié)議的概述。圖5示出了一個實施方式中用于內(nèi)置插件106之間通過網(wǎng)絡(luò)114的通信的協(xié)議 棧。棧的最高兩層是協(xié)議的層級2和層級1,該協(xié)議此處稱為系統(tǒng)管理消息/控制(SMMP) 協(xié)議。協(xié)議還可以稱為代理消息協(xié)議(AMP)。SMMP的層級2包含功能性插件104所能理解 的數(shù)據(jù),諸如從插件104S-2向插件104C-2發(fā)送的命令。層級2數(shù)據(jù)通常不是內(nèi)置插件106 所能理解的,并且被內(nèi)置插件當作不透明的凈荷。層級2數(shù)據(jù)可以是裝置102和受管理端 點108處的功能性插件104所能理解的任何格式。層級2數(shù)據(jù)可以包括各種命令、確認、狀態(tài)消息或功能性插件104執(zhí)行IT任務(wù)所需的其他數(shù)據(jù)。某些消息可以不具有任何層級2 數(shù)據(jù),諸如在內(nèi)置插件106之間發(fā)送的、并非意在功能性插件104的控制或管理消息。從一個內(nèi)置插件106向另一內(nèi)置插件發(fā)送的消息包括來自協(xié)議棧不同層的數(shù)據(jù)。 例如,消息可以包括層級2數(shù)據(jù)、之前的層級1數(shù)據(jù)、之前的傳輸控制協(xié)議(TCP)報頭、之前 的較低層協(xié)議報頭。功能性插件104可以向相同計算機200上的內(nèi)置插件106發(fā)送層級2 數(shù)據(jù)。內(nèi)置插件106將層級1數(shù)據(jù)前置插入到消息中,層級1數(shù)據(jù)包括與層級2數(shù)據(jù)相對 應(yīng)的功能性插件104的類型指示。然后,在前置插入適當?shù)腡CP和較低層協(xié)議報頭之后,內(nèi) 置插件106可以跨網(wǎng)絡(luò)114來發(fā)送消息。當目標計算機200接收到消息時,消息被發(fā)送至 接收內(nèi)置插件106,并且TCP和較低層報頭被移除。內(nèi)置插件106處理層級1數(shù)據(jù),并將其 從消息中移除。因為層級1數(shù)據(jù)指示了功能性插件104的類型,所以層級2數(shù)據(jù)可被發(fā)送 至適當?shù)墓δ苄圆寮?。在圖5示出的示例協(xié)議棧中,SMMP層數(shù)據(jù)使用TCP來發(fā)送,可選地是利用安全套 接層(SSL)發(fā)送。TCP提供可靠的遞送以及對于內(nèi)置和功能性插件106和104而言有用的 其他服務(wù),諸如流控制。然而,TCP不是必需的,替代TCP或者除此之外,可以使用本領(lǐng)域公 知的多種備選協(xié)議。各種較低層協(xié)議也可以用于跨網(wǎng)絡(luò)114來傳輸消息。較低層協(xié)議的示 例包括網(wǎng)際協(xié)議(IP)、以太網(wǎng)和異步傳輸模式(ATM)。
      層級2模塊406處理層級2數(shù)據(jù)與功能性插件104的通信。當功能性插件104試 圖向另一計算機200上的功能性插件發(fā)送層級2數(shù)據(jù)時,功能性插件向?qū)蛹?模塊406提 供層級2數(shù)據(jù)和預期目的地。如上所述,功能性插件104的注冊模塊306可以在注冊與層 級2模塊406的通信時,已經(jīng)從插件管理模塊410接收了句柄或API函數(shù)。在與層級2模 塊406通信時,功能性插件104可以指定向多個計算機200上的相應(yīng)功能性插件發(fā)送消 息。例如,裝置102上的功能性插件104可以指將向數(shù)百個受管理端點108上的功能性插 件發(fā)送消息。層級2模塊406還處理從層級1模塊404接收的、以計算機200上的功能性插件 104為目的地的傳入消息。在一個實施方式中,層級1模塊404解碼傳入消息中的層級1數(shù) 據(jù),其包括指定目的地功能性插件104的數(shù)據(jù)。層級1模塊404將消息以及目的地功能性 插件104的指示提供給層級2模塊406。插件路由模塊422向適當?shù)哪康牡夭寮?04發(fā)送 消息,這可能會使用插件數(shù)據(jù)402中的句柄來訪問目的地插件。層級2模塊406的序列化模塊408確定與接收自功能性插件104的層級2消息相 關(guān)聯(lián)的序號。序列化模塊408可以維護用于每個相關(guān)聯(lián)的功能性插件104的計數(shù)器,使用 計數(shù)器的當前值作為序號,隨后增加該計數(shù)器。序號被傳遞至層級1模塊404,并被包括在 傳出消息的層級1數(shù)據(jù)中。如下所述,當接收計算機200上的內(nèi)置插件106接收到該消息 時,其返回包括該序號的確認消息。序列化模塊414可以使用接收到的確認消息中的序號, 通過匹配序號來確定其與哪個消息相對應(yīng)。當序列化模塊414確定接收的確認消息與先前 發(fā)送的消息相對應(yīng)時,序列化模塊可以通過路由模塊422將確認傳送至適當?shù)墓δ苄圆寮?104。在一個實施方式中,序列化模塊414保持在前消息的描述,使得序列化模塊可以為功 能性插件104提供確認以及先前發(fā)送的消息的描述。在一個實施方式中,層級1模塊404維持通過網(wǎng)絡(luò)114與其他內(nèi)置插件106的持 續(xù)連接,并且處理層級ISMMP數(shù)據(jù)。在需要時,持續(xù)連接可以用于內(nèi)置插件106之間的控制消息以及用于功能性插件104之間的消息。裝置102上的內(nèi)置插件106可以維持與每個受管理端點108的內(nèi)置插件的持續(xù)連接。在這種情況下,裝置內(nèi)置插件106S上的層級1模塊 404維持多個連接,每個連接是與受管理端點108的內(nèi)置插件106C的連接。這些持續(xù)連接 可以實現(xiàn)為TCP套接字,其即使在沒有要發(fā)送的即時通信時也保持打開。在需要發(fā)送任何 消息時,其可以通過層級1模塊404來發(fā)送,而沒有打開新連接的開銷。持續(xù)連接由連接發(fā)起模塊418發(fā)起。在一個實施方式中,受管理端點108上(而 不是裝置102上)的內(nèi)置插件中的連接發(fā)起模塊418發(fā)起持續(xù)連接。最初,可以為受管理 端點108上的連接發(fā)起模塊418提供裝置102的位置,例如通過動態(tài)主機控制協(xié)議(DHCP) 服務(wù)器。然后,連接發(fā)起模塊418可以打開與裝置102上的內(nèi)置插件106S的連接,這例如是 通過發(fā)送TCP SYN包、從受管理端點108接收TCP SYN-ACK包等。如上所述,可以使用TCP 以外的其他協(xié)議。從受管理端點108打開持續(xù)連接提供了若干益處。一個益處是在受管理端點108 上線時,自動地通知裝置102。裝置102無需附加機制便可獲悉受管理端點108的存在。另 一個益處是可以通過防火墻116來建立連接。通常,出于安全原因,防火墻116將配置為阻 止針對與受管理端點108的連接的傳入請求。然而,防火墻將不會阻止從受管理端點108發(fā) 起的連接,這使得能夠建立持續(xù)連接。一旦被建立,連接就可以用于由裝置102以及受管理 端點108發(fā)起的通信。在圖1中,防火墻116被示為與受管理端點108分離的組件,當然, 防火墻與受管理端點可以是集成是的。一旦建立了持續(xù)連接,連接發(fā)起模塊418就可以向其他計算機200上的內(nèi)置插件 106的連接發(fā)起模塊418發(fā)送配置數(shù)據(jù)。該配置數(shù)據(jù)可以包括接收自插件數(shù)據(jù)402的與已 安裝插件104有關(guān)的數(shù)據(jù),或者與計算機200有關(guān)的其他數(shù)據(jù),諸如其硬件或軟件配置。在 一個實施方式中,如下所述,計算機200之一或者二者上的連接發(fā)起模塊418存儲連接數(shù)據(jù) 412中任何接收到的配置數(shù)據(jù)。連接數(shù)據(jù)412維護與持續(xù)連接相關(guān)聯(lián)的數(shù)據(jù)。受管理端點108可以與單個裝置102 具有一個持續(xù)連接,或者例如與裝置和備份裝置具有幾個持續(xù)連接。另一方面,裝置102可 以與多個受管理端點108具有數(shù)千個持續(xù)連接。裝置102上的連接數(shù)據(jù)412可以包括連接 以及連接的有關(guān)信息(諸如與每個連接相關(guān)聯(lián)的受管理端點108的標識)的列表,以及相 關(guān)聯(lián)受管理端點處的功能性插件104的列表。連接數(shù)據(jù)412還可以包括持續(xù)連接的狀態(tài), 其指示當前連接是否活躍,以及該連接上最后一次通信的時間。當裝置102上的內(nèi)置插件106想要向若干受管理端點108發(fā)送消息時,可以參考 連接數(shù)據(jù)412。例如,裝置102上的功能性插件104可能想要向若干受管理端點108上的功 能性插件發(fā)送桌面提示??梢允褂眠B接數(shù)據(jù)412來確定哪些端點108目前具有活躍的持續(xù) 連接并且具有桌面提示功能性插件104。裝置102上的內(nèi)置插件106繼而可以僅向這些受 管理端點108發(fā)送桌面提示消息,這節(jié)省了處理和帶寬資源。一般地,連接數(shù)據(jù)412支持內(nèi) 置插件106通過一組持續(xù)連接進行迭代,并且跨過連接來發(fā)送有關(guān)數(shù)據(jù)。心跳模塊416通過稱為“心跳”的消息來維護持續(xù)連接。在一個實施方式中,端點 內(nèi)置插件106C向轉(zhuǎn)至內(nèi)置插件106S周期性地發(fā)送心跳消息。心跳消息可以是裝置102和 受管理端點108所能理解的任何預定消息。因為心跳消息僅由內(nèi)置插件106使用,所以該 消息不具有任何層級2SMMP數(shù)據(jù)。心跳消息可以按照規(guī)律間隔來發(fā)送,并且如果裝置102在長時間內(nèi)沒有在連接上接收到心跳消息,則裝置可以認為端點108已經(jīng)斷開,并且可以 在連接數(shù)據(jù)412中將該連接標記為不活躍。在一段時間以后,裝置102還可以關(guān)閉與該連 接相關(guān)聯(lián)的TCP套接字。接收到最后一次心跳消息的時間可以存儲在連接數(shù)據(jù)412中。受 管理端點108 (或者裝置102)還可以使用顯式的“斷開”消息來終止連接。心跳消息使得裝置102能夠維護與多個受管理端點108的連接的當前狀態(tài),從而 不會將資源花費在向不活躍的端點發(fā)送消息。受管理端點108可能由于各種原因而掉線, 諸如端點掉電、端點故障或者網(wǎng)絡(luò)114中的問題。由于沒有接收到進一步的心跳消息而造 成的連接意外變?yōu)椴换钴S還可以觸發(fā)裝置102采取某些動作。裝置102可以將情況通知操 作者,或者裝置上的功能性插件104可以向第二受管理端點108上的功能性插件發(fā)送消息, 以重新配置第二受管理端點來接管斷開的受管理端點的功能。通過使用心跳監(jiān)測來維護持續(xù)連接,裝置102能夠有效地管理連接并通過連接進 行通信。裝置102可以使用相對較小的開銷向數(shù)千個裝置發(fā)送消息,因為連接是已經(jīng)打開 的。不需要打開新的連接以及在發(fā)送消息之后關(guān)閉該連接,這二者通常都需要等待確認 (例如,利用TCP)。如上所述,層級1模塊404在裝置功能性插件104S與受管理端點功能性插件104C 之間轉(zhuǎn)發(fā)消息。在一個實施方式中,排隊模塊414和確認模塊420執(zhí)行這些功能中的一些 功能。排隊模塊414對要通過網(wǎng)絡(luò)114發(fā)送的消息進行排隊。一般地,這些消息接收自功 能性插件104,當然消息也可以由層級1模塊404自己生成(例如,心跳消息)。然后,當網(wǎng) 絡(luò)資源可用時,排隊模塊414可以發(fā)送來自隊列的消息。排隊模塊414可以實現(xiàn)優(yōu)先級系 統(tǒng),其中一些功能性插件104比其他具有更高的優(yōu)先級。在一個實施方式中,排隊模塊414 還將層級1數(shù)據(jù)附加至接收自功能性插件的層級2數(shù)據(jù)。如上所述,該層級1數(shù)據(jù)可以指 示功能性插件104的類型和序號。在一個實施方式中,裝置102上的排隊模塊414能夠?qū)碜怨δ苄圆寮?04的所 有消息以及功能性插件的所有任務(wù)進行處理和負載均衡。待發(fā)送的消息和待完成的任務(wù)可 以由排隊模塊414接收,并且排隊模塊將每個任務(wù)和消息的優(yōu)先級以及裝置102上處理資 源和其他資源的可用性納入考慮,以便盡可能及時地執(zhí)行任務(wù)和發(fā)送消息。確認模塊420提供對接收自網(wǎng)絡(luò)114的消息的確認。當消息由內(nèi)置插件106接收 并由插件路由模塊422成功遞送至目標功能性插件104時,可以生成確認消息(ACK)并將 其發(fā)回遠程計算機200上的源內(nèi)置插件。如果插件路由模塊422無法遞送消息,則可以向 遠程計算機200發(fā)送否定確認(NACK)。例如,這可能發(fā)生在預期目的地功能性插件104沒 有安裝在目標計算機200上的情況下??梢园褋碜越邮障⒌膶蛹?數(shù)據(jù)的序號包括在確 認中,以使得遠程計算機200處的序列化模塊422可以將確認與發(fā)送的消息進行匹配,如上 所述。ACK和NACK消息是在內(nèi)置插件106之間發(fā)送的層級1消息,并且不具有層級2層。 ACK和NACK消息指示原始消息是否正確地遞送到了功能性插件104,而不指示功能性插件 是否能夠完全處理該消息。例如,去往功能性插件104的消息可以包含針對插件執(zhí)行磁盤 碎片整理操作的命令,該操作花費大量的時間。目的地處的確認模塊420立即返回ACK,指 示命令被遞送。稍后,受管理端點108處的功能性插件104可以向裝置102處的功能性插 件發(fā)送消息(具有層級2數(shù)據(jù)),指示碎片清理操作成功完成。
      因為立即返回確認,所以裝置102可以接收所發(fā)出命令的快速反饋,并且避免將 資源花費在等待命令響應(yīng)上。持續(xù)連接還支持快速、低開銷的確認。例如,裝置102可以快 速連續(xù)地向上數(shù)個受管理端點108發(fā)送SMMP消息,并且記錄哪些受管理端點響應(yīng)以ACK。 如果某受管理端點108沒有響應(yīng),則裝置102可以重試消息,或者從連接數(shù)據(jù)412中的活躍 連接列表中移除與該受管理端點相關(guān)聯(lián)的持續(xù)連接。如果客戶端響應(yīng)以NACK,則裝置102 可以更新其與端點108相關(guān)聯(lián)的連接數(shù)據(jù),以指示端點不具有預期功能性插件104。除端點發(fā)起的持續(xù)連接以外,持續(xù)連接也可以由裝置102上的連接發(fā)起模塊418 發(fā)起。這使得裝置102能夠在其需要的任何時候發(fā)起連接,而不是等待端點108發(fā)起。如 果裝置102事先不知道端點108的位置,則裝置可以發(fā)送廣播或者多播發(fā)起消息。然而,如 上所述,防火墻116可能阻止由裝置102發(fā)起的連接。持續(xù)連接的備選是基于間隔的連接。在此類連接中,端點108上的連接發(fā)起模塊 418可以按照所定義的間隔打開與裝置102的新連接(諸如,每五分鐘一次)。對于每個新 連接,端點108利用當前配置信息來更新裝置102,并且從裝置接收裝置從最后連接起進行 排隊的任何指令。在需要避免持續(xù)連接的情況下,此類通信是有用的。
      圖6是示出一個實施方式中用于創(chuàng)建和維持裝置102與受管理端點108之間的持 續(xù)連接的方法的流程圖。裝置102從受管理端點108接收(602)針對持續(xù)連接的請求。例 如,該請求可以是TCP SYN包。裝置102做出響應(yīng),并且打開(604)持續(xù)連接。裝置102繼 而從受管理端點108接收(606)配置信息。該配置信息可以包括與安裝在受管理端點108 上的功能性插件104有關(guān)的信息,以及受管理端點的硬件和軟件配置。裝置102存儲(608) 配置信息以及與持續(xù)連接相關(guān)聯(lián)的信息(例如,指示連接為活躍)。即使不需要立即進行進一步通信,持續(xù)連接也維持(610)在打開狀態(tài)。持續(xù)連接 可以用于在裝置102與受管理端點108上的功能性插件104之間發(fā)送消息,而無需為每個 消息創(chuàng)建新連接。在一個實施方式中,受管理端點108上的內(nèi)置插件106以規(guī)律的時間間 隔向裝置102上的內(nèi)置插件發(fā)送心跳消息。如果裝置102沒有在預期時接收到心跳消息, 則裝置可以將該持續(xù)連接標記為不活躍,并且關(guān)閉(612)該持續(xù)連接。包括了以上描述以示出優(yōu)選實施方式的操作,并非為了限制本發(fā)明的范圍。本發(fā) 明的范圍僅由所附權(quán)利要求限定。根據(jù)以上討論,仍然由本發(fā)明的精神和范圍所包括的多 種變體將對相關(guān)領(lǐng)域技術(shù)人員變得明顯。
      權(quán)利要求
      一種用于使用計算機來執(zhí)行信息技術(shù)(IT)任務(wù)的計算機實現(xiàn)的方法,所述方法包括通過網(wǎng)絡(luò)從受管理端點接收針對持續(xù)連接的請求;接受所述請求,并且打開與所述受管理端點的所述持續(xù)連接;從所述受管理端點接收配置信息,所述配置信息包括所述受管理端點上的功能性插件的列表,功能性插件包括用于執(zhí)行IT任務(wù)的軟件模塊;存儲描述所述持續(xù)連接的信息和所述配置信息;以及將所述持續(xù)連接維持為打開狀態(tài)。
      2.如權(quán)利要求1的計算機實現(xiàn)的方法,其中來自所述受管理端點的所述請求穿越防火 墻,所述防火墻配置用于阻止指向所述受管理端點的連接請求。
      3.如權(quán)利要求1的計算機實現(xiàn)的方法,進一步包括響應(yīng)于在預定時間段內(nèi)沒有接收到心跳消息,關(guān)閉所述持續(xù)連接,以及存儲指示所述 持續(xù)連接被關(guān)閉的信息。
      4.如權(quán)利要求1的計算機實現(xiàn)的方法,進一步包括從所述計算機上的源功能性插件接收通知,所述通知指示用于在受管理端點上執(zhí)行的 命令;以及使用所述持續(xù)連接向所述受管理端點發(fā)送命令消息,所述命令消息包括所述命令,所 述命令消息進一步包括所述受管理端點處的目的地功能性插件的類型指示。
      5.如權(quán)利要求4的計算機實現(xiàn)的方法,進一步包括從所述受管理端點接收所述命令消息已經(jīng)遞送的確認消息,所述確認在所述命令在所 述受管理端點上完成執(zhí)行之前被接收。
      6.如權(quán)利要求5的計算機實現(xiàn)的方法,進一步包括至少部分地響應(yīng)于所述確認消息中的序號,通知所述源功能性插件所述消息已經(jīng)遞送。
      7.如權(quán)利要求4的計算機實現(xiàn)的方法,進一步包括 將所述命令消息置于隊列中;以及至少部分地基于所述源功能性插件的相對優(yōu)先級,將所述命令消息從所述隊列移除。
      8.如權(quán)利要求1的計算機實現(xiàn)的方法,進一步包括從所述受管理端點接收版本信息,所述版本信息指示所述受管理端點上的功能性插件 的版本;確定所述版本是否為最新版本;響應(yīng)于所述版本不是最新版本,向所述受管理端點發(fā)送升級消息,所述升級消息包括 用于升級所述功能性插件的指令。
      9.一種使用計算機來執(zhí)行信息技術(shù)(IT)任務(wù)的系統(tǒng),所述系統(tǒng)包括存儲有可執(zhí)行計算機程序模塊的計算機可讀存儲介質(zhì),所述可執(zhí)行計算機程序模塊包括連接初始化模塊,用于通過網(wǎng)絡(luò)從受管理端點接收針對持續(xù)連接的請求,所述連接初 始化模塊進一步用于接受所述請求并且打開與所述受管理端點的所述持續(xù)連接;以及 層級1模塊,用于從所述受管理端點接收配置信息,所述配置信息包括所述受管理端點上的功能性插件的列表,功能性插件包括用于執(zhí)行IT任務(wù)的軟件模塊,所述層級1模塊 進一步用于存儲描述所述持續(xù)連接的信息和所述配置信息,所述層級1模塊進一步用于將 所述持續(xù)連接維持為打開狀態(tài)。
      10.如權(quán)利要求9的系統(tǒng),其中來自所述受管理端點的所述請求穿越防火墻,所述防火 墻配置用于阻止指向所述受管理端點的連接請求。
      11.如權(quán)利要求9的系統(tǒng),進一步包括心跳模塊,用于響應(yīng)于在預定時間段內(nèi)沒有接收到心跳消息而關(guān)閉所述持續(xù)連接,以 及存儲指示所述持續(xù)連接被關(guān)閉的信息。
      12.如權(quán)利要求9的系統(tǒng),進一步包括層級2模塊,用于從所述計算機上的源功能性插件接收通知,所述通知指示用于在受 管理端點上執(zhí)行的命令,并且其中所述層級1模塊進一步配置用于使用所述持續(xù)連接向所 述受管理端點發(fā)送命令消息,所述命令消息包括所述命令,所述命令消息進一步包括所述 受管理端點處的目的地功能性插件的類型指示。
      13.如權(quán)利要求12的系統(tǒng),進一步包括確認模塊,用于從所述受管理端點接收所述命令消息已經(jīng)遞送的確認消息,所述確認 在所述命令在所述受管理端點上完成執(zhí)行之前被接收。
      14.如權(quán)利要求13的系統(tǒng),進一步包括序列化模塊,用于至少部分地響應(yīng)于所述確認消息中的序號,來通知所述源功能性插 件所述消息已經(jīng)遞送。
      15.如權(quán)利要求12的系統(tǒng),進一步包括排隊模塊,用于將所述命令消息置于隊列中,以及用于至少部分地基于所述源功能性 插件的相對優(yōu)先級而從所述隊列中移除所述命令消息。
      16.如權(quán)利要求9的系統(tǒng),進一步包括插件管理模塊,用于從所述受管理端點接收版本信息,所述版本信息指示所述受管理 端點上的功能性插件的版本,所述插件管理模塊進一步用于確定所述版本是否為最新版 本,所述插件管理模塊進一步用于響應(yīng)于所述版本不是最新版本而向所述受管理端點發(fā)送 升級消息,所述升級消息包括用于升級所述功能性插件的指令。
      17.一種計算機程序產(chǎn)品,具有計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)具有記 錄于其上的、用于使用計算機來執(zhí)行信息技術(shù)(IT)任務(wù)的可執(zhí)行計算機程序指令,包括連接初始化模塊,用于通過網(wǎng)絡(luò)從受管理端點接收針對持續(xù)連接的請求,所述連接初 始化模塊進一步用于接受所述請求并且打開與所述受管理端點的所述持續(xù)連接;以及層級1模塊,用于從所述受管理端點接收配置信息,所述配置信息包括所述受管理端 點上的功能性插件的列表,功能性插件包括用于執(zhí)行IT任務(wù)的軟件模塊,所述層級1模塊 進一步用于存儲描述所述持續(xù)連接的信息和所述配置信息,所述層級1模塊進一步用于將 所述持續(xù)連接維持為打開狀態(tài)。
      18.如權(quán)利要求17的計算機程序產(chǎn)品,其中來自所述受管理端點的所述請求穿越防火 墻,所述防火墻配置用于阻止指向所述受管理端點的連接請求。
      19.如權(quán)利要求17的計算機程序產(chǎn)品,進一步包括心跳模塊,用于響應(yīng)于在預定時間段內(nèi)沒有接收到心跳消息而關(guān)閉所述持續(xù)連接,以及存儲指示所述持續(xù)連接被關(guān)閉的信息。
      20.如權(quán)利要求17的計算機程序產(chǎn)品,進一步包括層級2模塊,用于從所述計算機上的源功能性插件接收通知,所述通知指示用于在受 管理端點上執(zhí)行的命令,并且其中所述層級1模塊進一步配置用于使用所述持續(xù)連接向所 述受管理端點發(fā)送命令消息,所述命令消息包括所述命令,所述命令消息進一步包括所述 受管理端點處的目的地功能性插件的類型指示。
      21.如權(quán)利要求20的計算機程序產(chǎn)品,進一步包括確認模塊,用于從所述受管理端點接收所述命令消息已經(jīng)遞送的確認消息,所述確認 在所述命令在所述受管理端點上完成執(zhí)行之前被接收。
      22.如權(quán)利要求21的計算機程序產(chǎn)品,進一步包括序列化模塊,用于至少部分地響應(yīng)于所述確認消息中的序號,來通知所述源插件模塊 所述消息已經(jīng)遞送。
      23.如權(quán)利要求20的計算機程序產(chǎn)品,進一步包括排隊模塊,用于將所述命令消息置于隊列中,以及用于至少部分地基于所述源功能性 插件的相對優(yōu)先級而從所述隊列中移除所述命令消息。
      24.如權(quán)利要求17的計算機程序產(chǎn)品,進一步包括插件管理模塊,用于從所述受管理端點接收版本信息,所述版本信息指示所述受管理 端點上的功能性插件的版本,所述插件管理模塊進一步用于確定所述版本是否為最新版 本,所述插件管理模塊進一步用于響應(yīng)于所述版本不是最新版本而向所述受管理端點發(fā)送 升級消息,所述升級消息包括用于升級所述功能性插件的指令。
      全文摘要
      一種使用計算機來執(zhí)行信息技術(shù)(IT)任務(wù)的系統(tǒng)。IT任務(wù)的示例包括安裝或配置軟件、顯示提示、在端點上執(zhí)行程序或腳本或者記錄活動。在系統(tǒng)的一個實施方式中,連接初始化模塊通過網(wǎng)絡(luò)從受管理端點接收針對持續(xù)連接的請求。接受該請求并打開與受管理端點的持續(xù)連接。然后層級1模塊通過該持續(xù)連接從受管理端點接收配置信息。配置信息包括受管理端點上的功能性插件的列表,其中功能性插件包括用于執(zhí)行IT任務(wù)的軟件模塊。層級1模塊存儲該配置信息以及描述持續(xù)連接的信息,并將持續(xù)連接維持為打開狀態(tài)。
      文檔編號G06F15/173GK101828179SQ200880111734
      公開日2010年9月8日 申請日期2008年9月8日 優(yōu)先權(quán)日2007年9月7日
      發(fā)明者A·維萊恩, M·卡辛, M·格雷 申請人:凱思網(wǎng)絡(luò)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1