亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用來在更新分發(fā)系統(tǒng)中分發(fā)更新元數(shù)據(jù)的基于標(biāo)記模式的制作方法

文檔序號:7612231閱讀:159來源:國知局
專利名稱:用來在更新分發(fā)系統(tǒng)中分發(fā)更新元數(shù)據(jù)的基于標(biāo)記模式的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件和計算機(jī)網(wǎng)絡(luò),尤其涉及用來在更新分發(fā)系統(tǒng)中分發(fā)更新元數(shù)據(jù)的基于標(biāo)記模式。
背景技術(shù)
幾乎所有的可購買軟件產(chǎn)品都要經(jīng)受持續(xù)的修正過程,以修理和更新軟件的特征。軟件產(chǎn)品的每一次修正常常需要添加新文件、用較新修正替換現(xiàn)有文件、刪除過時文件、或這些動作的各種各樣的組合。替換較舊文件、添加新文件、并刪除軟件產(chǎn)品的過時文件的這個過程此后將被稱為“更新產(chǎn)品”,并且在更新產(chǎn)品中使用的數(shù)據(jù)集,包括二進(jìn)制文件、數(shù)據(jù)文件、更新指令、元數(shù)據(jù)等等,此后將被簡稱為“更新”。
一旦軟件供應(yīng)商已為軟件產(chǎn)品創(chuàng)建了用以排除問題、提高安全或添加新特征的更新,軟件供應(yīng)商將希望該更新對其客戶庫廣泛可用。常常,諸如當(dāng)更新涉及更正產(chǎn)品缺陷或解決重大安全問題時,軟件供應(yīng)商將希望該更新能盡快地安裝在客戶的計算機(jī)上。確實(shí),大多數(shù)軟件供應(yīng)商有著把軟件更新盡快并盡量無困難地分發(fā)給其客戶的商業(yè)動機(jī)。
計算機(jī)行業(yè)已在連接到網(wǎng)絡(luò)特別是因特網(wǎng)的計算機(jī)數(shù)量方面經(jīng)歷了爆炸性的增長。由于該爆炸性增長,并由于經(jīng)與因特網(wǎng)連接可用的通信能力,因特網(wǎng)已變成軟件供應(yīng)商向其客戶分發(fā)更新的重要且不可或缺的通道。實(shí)際上,因特網(wǎng)已變成許多軟件供應(yīng)商向其客戶提供軟件更新的主要分發(fā)通道。軟件供應(yīng)商最感興趣的常常是在因特網(wǎng)上分發(fā)軟件更新,因為在因特網(wǎng)上進(jìn)行電子更新分發(fā)降低了他們的總成本,并使客戶在一旦軟件更新可用時就可獲得它們。越來越頻繁地,這些軟件更新無任何用戶干涉就在因特網(wǎng)上進(jìn)行。
盡管現(xiàn)在通常因特網(wǎng)被用作從軟件供應(yīng)商分發(fā)軟件更新的渠道,還是有若干問題會頻繁產(chǎn)生。兩個這種問題包括(1)關(guān)于更新分發(fā)基礎(chǔ)設(shè)施/資源的功效,以及(2)軟件更新在分發(fā)和安裝上的管理控制。
關(guān)于分發(fā)資源的功效,包括因特網(wǎng)的網(wǎng)絡(luò)僅擁有常被稱為帶寬的有限量的通信資源。有限量的通信帶寬常導(dǎo)致瓶頸,特別是對于普及軟件產(chǎn)品的軟件更新,諸如微軟公司的Windows系列的操作系統(tǒng)和相關(guān)產(chǎn)品。即使當(dāng)在因特網(wǎng)上分布的多個下載點(diǎn)上都有軟件更新時也存在這種瓶頸。發(fā)生這種瓶頸的一個原因是因特網(wǎng)提供的非結(jié)構(gòu)化訪問模型。例如,如果計算機(jī)A上的第一個用戶請求下載最新的軟件產(chǎn)品,該下載經(jīng)過第一個用戶的獨(dú)立服務(wù)提供商(ISP)。此外,該請求被視為單個獨(dú)立的訪問,意思是該請求被視為獨(dú)立于或無關(guān)于所有其它網(wǎng)絡(luò)通信和/或請求。由此,如果恰巧有相同ISP的計算機(jī)B上的第二個用戶請求與第一個用戶同樣的下載,該第二個用戶的請求也被視為單個獨(dú)立的訪問。在此例中,由于每個請求都被單獨(dú)處理,相同的下載要在相同的基礎(chǔ)設(shè)施上傳送兩次。顯然,如果用戶數(shù)量有了實(shí)質(zhì)性的增長,有限的通信帶寬將變成瓶頸。在頗為常見的此例中,如果下載能高速緩存在一本地區(qū)域中,且每個用戶請求從本地高速緩存中得到滿足,這將會有效得多。
關(guān)于分發(fā)的控制,許多機(jī)構(gòu)特別是大型機(jī)構(gòu)要控制更新向其計算機(jī)的分發(fā)是有合理原因的。例如,不幸地某些更新具有或者會引入常稱為錯誤(bug)的缺陷,它們會“破壞”軟件產(chǎn)品的特征。這些破壞的特征也許并不重要,但是常常它們能瓦解某企業(yè)的關(guān)鍵關(guān)鍵任務(wù)(mission-critical)特征。因為企業(yè)不能承受失去其關(guān)鍵任務(wù)特征,負(fù)責(zé)的企業(yè)在把更新發(fā)送到其它計算機(jī)上之前,首先在受控環(huán)境中評估并測試每個軟件更新一段時間。該評估階段允許機(jī)構(gòu)去證實(shí)更新是否將負(fù)面地影響關(guān)鍵任務(wù)特征。只有在已經(jīng)令人滿意地確定了更新將不會使任何關(guān)鍵任務(wù)特征崩潰之后,才允許向機(jī)構(gòu)剩下的計算機(jī)分發(fā)更新。顯然,大多數(shù)機(jī)構(gòu)必須對軟件更新在其計算機(jī)上的安裝進(jìn)行控制。
企業(yè)或機(jī)構(gòu)常需要控制軟件更新的分發(fā)的另一個原因是確保機(jī)構(gòu)中計算機(jī)間的連續(xù)性。對信息服務(wù)部門而言,擁有所有計算機(jī)在其上操作的標(biāo)準(zhǔn)化目標(biāo)平臺是非常重要的,不管它是字處理器的平臺還是操作系統(tǒng)的平臺。如果沒有標(biāo)準(zhǔn),軟件和計算機(jī)維護(hù)會變得不必要的復(fù)雜和困難。
本地控制重要的又一原因是為了發(fā)賬單。在大機(jī)構(gòu)中,單獨(dú)在計算機(jī)上安裝軟件,或?qū)C(jī)構(gòu)中每臺計算機(jī)的特定軟件產(chǎn)品單獨(dú)地許可證維持許可證,常常是低效的。相反,單節(jié)點(diǎn)許可證允許機(jī)構(gòu)在多臺計算機(jī)上運(yùn)行軟件產(chǎn)品。因而,機(jī)構(gòu)可能需要報告在節(jié)點(diǎn)許可證下運(yùn)行產(chǎn)品的計算機(jī)數(shù)量,或需要限制節(jié)點(diǎn)許可證下運(yùn)行產(chǎn)品的計算機(jī)數(shù)量。所有這些原因常需要對軟件更新分發(fā)的本地控制。
考慮到以上說明的涉及軟件更新分發(fā)的各種問題,所需要的是一種可擴(kuò)展軟件更新分發(fā)體系結(jié)構(gòu),它用來提供對軟件更新分發(fā)的控制并增加其分發(fā)功效。本發(fā)明處理在現(xiàn)有技術(shù)中發(fā)現(xiàn)的這些和其它問題。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的諸方面,提出了一種用來把更新元數(shù)據(jù)從更新服務(wù)節(jié)點(diǎn)傳送到子更新服務(wù)節(jié)點(diǎn)或客戶計算機(jī)的基于標(biāo)記的結(jié)構(gòu)。該基于標(biāo)記的結(jié)構(gòu)包括包括唯一地標(biāo)識軟件更新的軟件更新標(biāo)識符的標(biāo)識符標(biāo)記;帶有關(guān)于軟件更新的一般屬性信息的零個或多個一般屬性標(biāo)記;帶有根據(jù)語言組織的本地化屬性信息的零個或多個本地化屬性標(biāo)記;標(biāo)識如在更新元數(shù)據(jù)中所述的當(dāng)前軟件更新與其它軟件更新的依從關(guān)系的零個或多個關(guān)系標(biāo)記;帶有用來確定軟件更新對客戶計算機(jī)的可應(yīng)用性的信息的零個或多個可應(yīng)用性規(guī)則標(biāo)記;帶有涉及軟件更新的有效載荷文件的信息的零個或多個文件標(biāo)記;以及帶有涉及用來安裝軟件更新的軟件處理器的信息的處理器專用數(shù)據(jù)標(biāo)記。
根據(jù)本發(fā)明的其它方面,提出了一種用來把更新元數(shù)據(jù)從更新服務(wù)節(jié)點(diǎn)傳送到子更新服務(wù)節(jié)點(diǎn)或客計算機(jī)的基于標(biāo)記的結(jié)構(gòu)。該基于標(biāo)記的結(jié)構(gòu)包括包括唯一地標(biāo)識軟件更新的軟件更新標(biāo)識符的標(biāo)識符標(biāo)記;標(biāo)識如更新元數(shù)據(jù)中所述當(dāng)前軟件更新與其它軟件更新的依從關(guān)系的零個或多個關(guān)系標(biāo)記;和帶有涉及軟件更新的有效載荷文件的信息的零個或多個文件標(biāo)記。


結(jié)合附圖參閱以下詳細(xì)說明,本發(fā)明的前述諸方面和許多附帶優(yōu)點(diǎn)將變得更容易領(lǐng)會,也變得更好理解。
圖1是根據(jù)本發(fā)明諸方面形成的示例性更新分發(fā)系統(tǒng)的示圖;圖2是示出根據(jù)本發(fā)明諸方面形成的更新服務(wù)節(jié)點(diǎn)的示例性邏輯組件的框圖;圖3是示出根據(jù)本發(fā)明諸方面形成的更新服務(wù)根節(jié)點(diǎn)的示例性邏輯組件的框圖;圖4A和4B是示出根據(jù)本發(fā)明諸方面,在從父更新服務(wù)節(jié)點(diǎn)向子更新服務(wù)節(jié)點(diǎn)提供軟件更新中,在父更新服務(wù)節(jié)點(diǎn)和子更新服務(wù)節(jié)點(diǎn)之間的示例性交換的框圖;圖5是示出示例性例程的流程圖,該例程在子更新服務(wù)節(jié)點(diǎn)上執(zhí)行,以周期性地從父更新服務(wù)節(jié)點(diǎn)獲取更新;
圖6是示出示例性子例程的流程圖,該子例程適合于在圖5的示例性例程中使用,來從父更新服務(wù)節(jié)點(diǎn)獲取更新目錄;圖7是示出示例性子例程的流程圖,該子例程適合于在圖5的示例性例程中使用,用來從父更新服務(wù)節(jié)點(diǎn)獲取軟件更新;圖8是示出示例性例程的流程圖,該例程用來處理來自子更新服務(wù)節(jié)點(diǎn)的更新請求;以及圖9是示出確定更新元數(shù)據(jù)文件內(nèi)容的部分示例性基于XML更新元數(shù)據(jù)模式的框圖。
具體實(shí)施例方式
根據(jù)本發(fā)明的諸方面,提出了以分層方式組織的用來分發(fā)軟件更新的更新分發(fā)系統(tǒng)。圖1是根據(jù)本發(fā)明諸方面形成的示例性更新分發(fā)系統(tǒng)100的示圖。根據(jù)本發(fā)明,在諸如所示更新分發(fā)系統(tǒng)100的更新分發(fā)系統(tǒng)“頂部”,是更新服務(wù)根節(jié)點(diǎn)102。諸如軟件供應(yīng)商110的軟件供應(yīng)商,通過向更新服務(wù)根節(jié)點(diǎn)102提交更新,經(jīng)更新分發(fā)系統(tǒng)100分發(fā)其軟件更新。根據(jù)本發(fā)明的諸方面,諸如軟件供應(yīng)商110的軟件供應(yīng)商可經(jīng)諸如因特網(wǎng)108的網(wǎng)絡(luò)向更新服務(wù)根節(jié)點(diǎn)102提交軟件更新。
諸如示例性更新分發(fā)系統(tǒng)100的分層更新分發(fā)系統(tǒng),除更新服務(wù)根節(jié)點(diǎn)102外可能將包括至少一個其它更新服務(wù)節(jié)點(diǎn)。如圖1所示,示例性更新分發(fā)系統(tǒng)100包括更新服務(wù)根節(jié)點(diǎn)102和兩個其它更新服務(wù)節(jié)點(diǎn)更新服務(wù)節(jié)點(diǎn)104和更新服務(wù)節(jié)點(diǎn)106。根據(jù)本發(fā)明,每個分層更新分發(fā)系統(tǒng)都在更新服務(wù)根節(jié)點(diǎn)102下以樹狀結(jié)構(gòu)形式組織。換言之,更新分發(fā)系統(tǒng)中的每個更新服務(wù)節(jié)點(diǎn)有零個或多個子更新服務(wù)節(jié)點(diǎn)。因而,盡管示例性更新分發(fā)系統(tǒng)100示出每個父更新服務(wù)節(jié)點(diǎn),即更新服務(wù)根節(jié)點(diǎn)102和更新服務(wù)節(jié)點(diǎn)104,都僅有一個子節(jié)點(diǎn),這僅僅是為了說明而不應(yīng)被解釋為限制本發(fā)明。此外,除了更新服務(wù)根節(jié)點(diǎn)102以外,更新分發(fā)系統(tǒng)中的每個更新服務(wù)節(jié)點(diǎn)都有一個父更新服務(wù)節(jié)點(diǎn)。因而,如圖1所示,更新服務(wù)節(jié)點(diǎn)104是更新服務(wù)根節(jié)點(diǎn)102的子節(jié)點(diǎn),而更新服務(wù)節(jié)點(diǎn)106是更新服務(wù)節(jié)點(diǎn)104的子節(jié)點(diǎn)。由此可見,每個更新服務(wù)節(jié)點(diǎn),除了更新服務(wù)根節(jié)點(diǎn)102,都有父更新服務(wù)節(jié)點(diǎn)和子更新服務(wù)節(jié)點(diǎn)。
如在示例性更新分發(fā)系統(tǒng)100中所示,更新服務(wù)根節(jié)點(diǎn)102經(jīng)因特網(wǎng)108與更新服務(wù)節(jié)點(diǎn)104通信。然而可以理解,這僅是說明性的而不應(yīng)被解釋為限制本發(fā)明。更新分發(fā)系統(tǒng)中的每個更新服務(wù)節(jié)點(diǎn)僅需要能夠經(jīng)某些通信網(wǎng)絡(luò)與其父節(jié)點(diǎn)和/或子節(jié)點(diǎn)通信。因而,當(dāng)更新服務(wù)節(jié)點(diǎn)104經(jīng)因特網(wǎng)108與其父節(jié)點(diǎn)-更新服務(wù)根節(jié)點(diǎn)通信時,它也可經(jīng)局域網(wǎng)124可選地與其子更新服務(wù)節(jié)點(diǎn),諸如更新服務(wù)節(jié)點(diǎn)106通信。
還如圖1所示,更新服務(wù)節(jié)點(diǎn)106駐留于局域網(wǎng)124的子網(wǎng)絡(luò)136中。作為示例,局域網(wǎng)124可對應(yīng)于機(jī)構(gòu)的一般公司網(wǎng)絡(luò),且更新服務(wù)節(jié)點(diǎn)104代表了通過與其父更新服務(wù)節(jié)點(diǎn)102的連接到更新分布系統(tǒng)100的公司鏈接。此外,子網(wǎng)絡(luò)126可對應(yīng)于公司網(wǎng)絡(luò)中的可標(biāo)識計算機(jī)組,諸如測試/評估組、遠(yuǎn)程辦公室、或關(guān)鍵任務(wù)組。如下面將要更詳細(xì)描述的,根據(jù)本發(fā)明諸方面,更新服務(wù)節(jié)點(diǎn)104的管理員能夠控制向更新服務(wù)節(jié)點(diǎn)106,最終向客戶計算機(jī)分發(fā)更新。
可以理解,包括更新服務(wù)根節(jié)點(diǎn)102、更新服務(wù)節(jié)點(diǎn)104和106的每個更新服務(wù)節(jié)點(diǎn)被配置為向子更新服務(wù)節(jié)點(diǎn)以及客戶計算機(jī)分發(fā)軟件更新。如圖1所示,示例性更新分發(fā)系統(tǒng)100包括客戶計算機(jī)112-122。包括更新服務(wù)根節(jié)點(diǎn)102的每個更新服務(wù)節(jié)點(diǎn)根據(jù)本地配置信息向子更新服務(wù)節(jié)點(diǎn)和客戶計算機(jī)分發(fā)更新。根據(jù)一實(shí)施例,管理員確定各組,并使更新分發(fā)規(guī)則與那些組相關(guān)聯(lián)。每個更新服務(wù)節(jié)點(diǎn)具有至少一個分發(fā)組。
作為要說明更新分發(fā)系統(tǒng)如何操作的示例,假設(shè)局域網(wǎng)124對應(yīng)于機(jī)構(gòu)的公司網(wǎng)絡(luò)。根據(jù)本方面的一實(shí)施例,更新服務(wù)節(jié)點(diǎn)104的管理員可為公司網(wǎng)絡(luò)124確定多個分發(fā)組,包括對應(yīng)于包括更新服務(wù)節(jié)點(diǎn)106、客戶計算機(jī)120和122的評估組,用來評估更新對一般公司網(wǎng)絡(luò)以及包括更新服務(wù)節(jié)點(diǎn)104、客戶計算機(jī)114-118的一般公司組的適應(yīng)性。
對于評估組,管理員把更新服務(wù)節(jié)點(diǎn)106作為其成員,并使規(guī)則與該組相關(guān)聯(lián),從而當(dāng)更新可用時就能立即分發(fā)給評估組的成員。或者,對于一般公司組,管理員添加客戶計算機(jī)114-118并關(guān)聯(lián)規(guī)則,使得如果由管理員特別授權(quán)只會把更新分發(fā)給一般公司組。還假設(shè)子更新服務(wù)節(jié)點(diǎn)106的管理員創(chuàng)建包括評估子網(wǎng)絡(luò)126中客戶計算機(jī)120和122的缺省組,可立即向該組分發(fā)任何新的軟件更新。
繼續(xù)上例,軟件供應(yīng)商110向更新服務(wù)根節(jié)點(diǎn)102提交軟件更新。根據(jù)在更新服務(wù)根節(jié)點(diǎn)102上建立的規(guī)則,最終將向公司更新服務(wù)節(jié)點(diǎn)104分發(fā)更新。在接收更新之后,根據(jù)由管理員建立的規(guī)則,公司更新服務(wù)節(jié)點(diǎn)104向評估組成員(僅定義為子更新服務(wù)節(jié)點(diǎn)106)分發(fā)更新,但在特別授權(quán)向該組分發(fā)更新之前扣留來自一般公司組的更新。
繼續(xù)上例,接收更新之后,評估更新服務(wù)節(jié)點(diǎn)106對每個定義組處理更新。在此例中,評估更新服務(wù)節(jié)點(diǎn)106僅有一個組。然而如前所述,在真正的實(shí)現(xiàn)中,可能會有多個確定的組,每個組都有唯一的相關(guān)聯(lián)分發(fā)規(guī)則集。對于該例,評估更新服務(wù)節(jié)點(diǎn)106立即提供可用于向客戶計算機(jī)120和122分發(fā)的更新。客戶計算機(jī)120和122現(xiàn)在可得到更新,并可開始評估階段/過程。
仍繼續(xù)上例,當(dāng)公司更新服務(wù)節(jié)點(diǎn)104的管理員對更新適于在整個公司網(wǎng)絡(luò)124上分發(fā)足夠滿意時,管理員明確地授權(quán)更新向一般公司組的成員分發(fā)。公司更新服務(wù)節(jié)點(diǎn)104相應(yīng)地提供可用于客戶計算機(jī)114-118的更新。應(yīng)當(dāng)理解,也可將評估更新服務(wù)節(jié)點(diǎn)106包括在一般公司組中。然而,因為已經(jīng)更新了評估更新服務(wù)節(jié)點(diǎn)106,不需要其它更新相關(guān)動作來把更新分發(fā)到評估子網(wǎng)絡(luò)126。
由上例可見,本發(fā)明在本地分發(fā)和下載效率方面提供了重要優(yōu)點(diǎn)。除了本地分發(fā)控制的上述方面,還實(shí)現(xiàn)了通信帶寬的顯著節(jié)約。例如,盡管圖1所示的示例性公司網(wǎng)絡(luò)124包括了五臺客戶計算機(jī),卻只進(jìn)行了一次將軟件供應(yīng)商的更新從更新服務(wù)根節(jié)點(diǎn)102下載到公司更新服務(wù)節(jié)點(diǎn)104。明顯地,當(dāng)由更新服務(wù)節(jié)點(diǎn)服務(wù)的客戶計算機(jī)數(shù)量增加時,在父更新服務(wù)節(jié)點(diǎn)和更新服務(wù)客戶機(jī)節(jié)點(diǎn)之間的通信帶寬的使用保持常量,因此極大地減少了要使用的通信帶寬。另外,更新分發(fā)系統(tǒng)是可擴(kuò)展并可升級的。更新分發(fā)系統(tǒng)可用至少兩種方法擴(kuò)展可向父更新服務(wù)節(jié)點(diǎn)添加任意數(shù)量的子更新服務(wù)節(jié)點(diǎn),且子更新服務(wù)節(jié)點(diǎn)也可以是父更新服務(wù)節(jié)點(diǎn)。因此可裁剪更新方法系統(tǒng)的每個子樹來滿足個別需求。
圖2是示出根據(jù)本發(fā)明諸方面形成的更新服務(wù)節(jié)點(diǎn)200,諸如公司更新服務(wù)節(jié)點(diǎn)104(圖1)或評估更新服務(wù)節(jié)點(diǎn)106(圖1),的示例性邏輯組件的框圖。如圖2所示,更新服務(wù)節(jié)點(diǎn)200包括更新網(wǎng)絡(luò)服務(wù)202、客戶機(jī)更新模塊204、子更新模塊206和報告模塊208。示例性更新服務(wù)節(jié)點(diǎn)200還包括認(rèn)證/授權(quán)模塊210、管理應(yīng)用編程接口(API)212、更新內(nèi)容存儲214、管理用戶接口218、以及更新信息存儲216。
更新網(wǎng)絡(luò)服務(wù)202提供網(wǎng)絡(luò)服務(wù)的通用集,通過它客戶計算機(jī)、子更新服務(wù)節(jié)點(diǎn)和父更新服務(wù)節(jié)點(diǎn)可與更新服務(wù)節(jié)點(diǎn)通信。例如,參照圖1,為了使子/評估更新服務(wù)節(jié)點(diǎn)106從父/公司更新服務(wù)節(jié)點(diǎn)104獲取軟件更新,客戶機(jī)可通過父節(jié)點(diǎn)的更新網(wǎng)絡(luò)服務(wù)202通信。類似地,當(dāng)諸如更新服務(wù)根節(jié)點(diǎn)102的父更新服務(wù)節(jié)點(diǎn)具有包括更新的信息要傳送到其子更新服務(wù)節(jié)點(diǎn)104時,父更新服務(wù)節(jié)點(diǎn)通過子節(jié)點(diǎn)的更新網(wǎng)絡(luò)服務(wù)202通信。
關(guān)于存儲在更新服務(wù)節(jié)點(diǎn)上的更新和更新信息,客戶機(jī)更新模塊204處理客戶計算機(jī)和更新服務(wù)節(jié)點(diǎn)200之間的通信。更新相關(guān)通信包括,但不限于,響應(yīng)于客戶機(jī)請求分發(fā)更新,并向客戶計算機(jī)提供可用軟件產(chǎn)品及相關(guān)聯(lián)更新的列表。客戶機(jī)更新模塊204還負(fù)責(zé)確定是否授權(quán)客戶計算機(jī)根據(jù)相關(guān)聯(lián)分發(fā)規(guī)則獲取特定更新,并用客戶計算機(jī)被授權(quán)訪問的更新相關(guān)信息對客戶計算機(jī)作出響應(yīng)。
子更新模塊206處理父更新服務(wù)節(jié)點(diǎn)與其子更新服務(wù)節(jié)點(diǎn)之間的更新相關(guān)通信。更新相關(guān)通信包括,但不限于,標(biāo)識子更新服務(wù)節(jié)點(diǎn)可用的軟件產(chǎn)品及相關(guān)聯(lián)更新的列表,以及響應(yīng)來自子更新服務(wù)節(jié)點(diǎn)的更新請求。下游更新模塊206負(fù)責(zé)確定是否授權(quán)子更新服務(wù)節(jié)點(diǎn)根據(jù)相關(guān)聯(lián)分發(fā)規(guī)則獲取特定更新,并用子更新服務(wù)節(jié)點(diǎn)被授權(quán)訪問的更新相關(guān)信息對子更新服務(wù)節(jié)點(diǎn)作出響應(yīng)。
報告模塊208產(chǎn)生更新相關(guān)報告,諸如哪個組已收到或未收到特定更新、哪個客戶計算機(jī)已下載/安裝或未下載/安裝更新、什么更新在更新服務(wù)節(jié)點(diǎn)上可用等等。這些報告可諸如由管理員內(nèi)部使用,并也可通過父節(jié)點(diǎn)的更新服務(wù)接口202提交給父更新服務(wù)節(jié)點(diǎn)。如上所述,對公司而言諸如為了發(fā)賬單或為了維護(hù)而確定哪臺客戶計算機(jī)安裝有特定更新常常是重要的。由報告模塊208產(chǎn)生的信息/報告可以是這些報告的基礎(chǔ)。
認(rèn)證/授權(quán)模塊210負(fù)責(zé)認(rèn)證,即確定特定客戶計算機(jī)或子更新服務(wù)節(jié)點(diǎn)的身份,并確定客戶計算機(jī)或子更新服務(wù)節(jié)點(diǎn)是否被授權(quán)訪問更新服務(wù)節(jié)點(diǎn)200上的可得到的更新。對于經(jīng)認(rèn)證并被授權(quán)訪問更新服務(wù)節(jié)點(diǎn)上更新的那些客戶計算機(jī)和子更新服務(wù)節(jié)點(diǎn),認(rèn)證/授權(quán)模塊210發(fā)出必須結(jié)合獲取更新使用的授權(quán)令牌(authorization token)。授權(quán)令牌的簽發(fā)和使用將參照圖4A和4B在后面進(jìn)行更詳細(xì)的描述。
管理API 212代表的的應(yīng)用程序接口,通過它進(jìn)行更新服務(wù)節(jié)點(diǎn)200的控制,并最終存儲并分發(fā)更新。當(dāng)更新網(wǎng)絡(luò)服務(wù)202接收來自客戶計算機(jī)和子更新服務(wù)節(jié)點(diǎn)的各種各樣更新相關(guān)請求時,這些請求最終被分解成對管理API 212的直接調(diào)用,或經(jīng)客戶機(jī)更新模塊204和子更新模塊206的間接調(diào)用。結(jié)合管理用戶接口218或安裝在更新服務(wù)節(jié)點(diǎn)200上被適當(dāng)配置為使用管理API 212的某些其它程序,管理員最終控制對該更新服務(wù)節(jié)點(diǎn)、以及任何子更新服務(wù)節(jié)點(diǎn)和客戶計算機(jī)的更新過程的所有方面。
通過管理用戶接口218,管理員可經(jīng)管理API 212配置并維護(hù)更新服務(wù)節(jié)點(diǎn)200。因而,通過管理用戶接口218,管理員創(chuàng)建、修改、并刪除組以及每個組的相關(guān)聯(lián)規(guī)則。此外,使用管理用戶接口218,管理員建立客戶計算機(jī)或子更新服務(wù)節(jié)點(diǎn)所屬的組。通過管理用戶接口218,管理員還可明確授權(quán)更新向客戶計算機(jī)或子更新服務(wù)節(jié)點(diǎn)的分發(fā)、配置更新服務(wù)節(jié)點(diǎn)200周期性地向其父更新服務(wù)節(jié)點(diǎn)查詢新更新、配置報告參數(shù)并查看內(nèi)部報告等等。如上所述,盡管管理用戶接口218允許管理員對更新服務(wù)節(jié)點(diǎn)200諸方面進(jìn)行控制,可替代管理用戶接口218使用駐留于更新服務(wù)節(jié)點(diǎn)200上的適當(dāng)?shù)赜霉芾鞟PI 212來操作的另一應(yīng)用。
如上所述,根據(jù)本發(fā)明的一實(shí)施例,更新服務(wù)節(jié)點(diǎn)200包括更新內(nèi)容存儲214和更新信息存儲216。更新內(nèi)容存儲214存儲代表軟件更新的真正文件,諸如二進(jìn)制文件和補(bǔ)丁文件。相反,更新信息存儲216存儲對應(yīng)于更新服務(wù)節(jié)點(diǎn)200上可得到的更新的信息和元數(shù)據(jù),包括存儲在更新內(nèi)容存儲214上的更新文件。根據(jù)一實(shí)施例,更新內(nèi)容存儲214和更新信息存儲216都是關(guān)系數(shù)據(jù)庫。盡管示例性更新服務(wù)節(jié)點(diǎn)200被示為有兩個數(shù)據(jù)存儲,不應(yīng)如此限制本發(fā)明。在一另外實(shí)施例中,可把更新內(nèi)容存儲214和更新信息存儲216組合成一個信息存儲。
根據(jù)本發(fā)明的諸方面,即使未在更新內(nèi)容存儲214中具體地存儲更新,軟件更新可表示成對客戶計算機(jī)和子更新服務(wù)節(jié)點(diǎn)在更新服務(wù)節(jié)點(diǎn)200上“可用”。尤其,可在更新服務(wù)節(jié)點(diǎn)上存儲指向父更新服務(wù)節(jié)點(diǎn)或其它地方上更新文件的鏈接,而不是立即下載和存儲在更新服務(wù)節(jié)點(diǎn)200上的真正更新文件。因而,如果客戶計算機(jī)請求更新或子更新服務(wù)節(jié)點(diǎn)請求真正的更新,就從父更新服務(wù)節(jié)點(diǎn)取下更新并將其存儲在更新內(nèi)容存儲214中,準(zhǔn)備將其向客戶計算機(jī)或子更新服務(wù)節(jié)點(diǎn)傳送。本領(lǐng)域技術(shù)人員將理解,該類更新訪問被稱為及時下載(just-in-time downloading)。用此方法,在真正請求“可用”更新之前不需要在各種網(wǎng)絡(luò)信道上分發(fā)更新。根據(jù)本發(fā)明的諸方面,更新服務(wù)節(jié)點(diǎn)200的管理員可有選擇地確定,是否要以及時方式獲取軟件更新。
盡管圖2的以上描述說明了示例性更新服務(wù)模塊200的各種組件,可以理解也可存在更新服務(wù)模塊的其它組件。此外,應(yīng)當(dāng)理解上述組件是邏輯組件而不必要是真實(shí)組件。在一真實(shí)實(shí)現(xiàn)中,根據(jù)實(shí)現(xiàn)確定可把以上標(biāo)識的組件組合在一起和/或與其它組件組合。另外,可以理解盡管更新服務(wù)節(jié)點(diǎn)200可視為網(wǎng)絡(luò)上的服務(wù)器計算機(jī),在實(shí)際實(shí)現(xiàn)中,可在任意多類計算裝置上實(shí)現(xiàn)更新服務(wù)節(jié)點(diǎn)。例如,可在單臺獨(dú)立的計算機(jī)系統(tǒng)或者包括多個計算裝置的分布式計算系統(tǒng)上實(shí)現(xiàn)和/或安裝每個更新服務(wù)節(jié)點(diǎn)200。
圖3是示出根據(jù)本發(fā)明諸方面形成的更新服務(wù)根節(jié)點(diǎn)300,諸如圖1所示更新服務(wù)根節(jié)點(diǎn)102的示例性邏輯組件的框圖。類似于更新服務(wù)節(jié)點(diǎn)200(圖2)的邏輯組件,更新服務(wù)根節(jié)點(diǎn)300包括更新網(wǎng)絡(luò)服務(wù)202、子更新模塊206和認(rèn)證/授權(quán)模塊210。另外,示例性更新服務(wù)根節(jié)點(diǎn)300還包括管理API 212、更新內(nèi)容存儲214、以及更新信息存儲216??蛇x地,更新服務(wù)根節(jié)點(diǎn)300還可包括客戶機(jī)更新模塊204、報告模塊208、以及管理用戶接口218。
客戶機(jī)更新模塊204是更新服務(wù)根節(jié)點(diǎn)300的可選組件,取決于該更新服務(wù)根節(jié)點(diǎn)是否直接向客戶計算機(jī)提供軟件更新。例如,參照圖1,更新服務(wù)根節(jié)點(diǎn)102應(yīng)包括可選的客戶機(jī)更新模塊204作為直接服務(wù)客戶計算機(jī)112的更新服務(wù)根節(jié)點(diǎn)。然而,如果更新服務(wù)根節(jié)點(diǎn)300不直接服務(wù)客戶計算機(jī),則可省略客戶機(jī)更新模塊204。
因為更新服務(wù)根節(jié)點(diǎn)300沒有要向其提供更新報告的父更新服務(wù)節(jié)點(diǎn),報告模塊208對更新服務(wù)根節(jié)點(diǎn)300是可選的。然而,在更新服務(wù)根節(jié)點(diǎn)管理員想要更新報告時,可選地包括報告模塊208。
除了包括更新服務(wù)節(jié)點(diǎn)200(圖2)所包括的邏輯組件外,更新服務(wù)根節(jié)點(diǎn)300還包括軟件供應(yīng)商接口302。軟件供應(yīng)商接口302提供通信接口,通過這個接口軟件供應(yīng)商110(圖1)直接向更新服務(wù)根節(jié)點(diǎn)300提交軟件更新,并間接向示例性更新分發(fā)系統(tǒng)100提交軟件更新。
類似于圖2的更新服務(wù)節(jié)點(diǎn)200,圖3的以上描述示出了示例性更新服務(wù)根模塊300的各種組件。然而,應(yīng)當(dāng)理解也存在更新服務(wù)根模塊300的其它組件。此外,應(yīng)當(dāng)理解上述組件是邏輯組件而不必是真實(shí)組件。在一真實(shí)實(shí)現(xiàn)中,根據(jù)實(shí)現(xiàn)確定可把以上標(biāo)識的組件組合在一起和/或與其它組件組合。另外,可以理解盡管更新服務(wù)節(jié)點(diǎn)300可視為網(wǎng)絡(luò)上的服務(wù)器計算機(jī),在真實(shí)實(shí)現(xiàn)中可在任意多臺計算裝置上實(shí)現(xiàn)更新服務(wù)節(jié)點(diǎn)。例如,可在單臺獨(dú)立的計算機(jī)系統(tǒng)或者包括多個計算裝置的分布式計算系統(tǒng)上實(shí)現(xiàn)和/或安裝更新服務(wù)節(jié)點(diǎn)300。
為了更好地理解如何穿過更新分發(fā)系統(tǒng)100從更新服務(wù)根節(jié)點(diǎn)分發(fā)更新,示出了在父更新服務(wù)節(jié)點(diǎn)和子更新服務(wù)節(jié)點(diǎn)之間示例性交換是恰當(dāng)?shù)摹D4是示出根據(jù)本發(fā)明諸方面,在從父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404傳播軟件更新中,父更新服務(wù)節(jié)點(diǎn)和子更新服務(wù)節(jié)點(diǎn)之間的示例性交換400的框圖。由此可見,示圖400被分成兩半,左邊部分對應(yīng)父更新服務(wù)節(jié)點(diǎn)402的動作和事件,而右邊部分對應(yīng)子更新服務(wù)節(jié)點(diǎn)404的動作和事件。
為了參照圖4進(jìn)行討論,還應(yīng)當(dāng)理解父更新服務(wù)節(jié)點(diǎn)402可以是,也可以不是更新分發(fā)系統(tǒng)100中的更新服務(wù)根節(jié)點(diǎn)。另外,為了這個討論,假設(shè)已由管理員對父更新服務(wù)節(jié)點(diǎn)402進(jìn)行了配置,使得除非由管理員明確授權(quán),子更新服務(wù)節(jié)點(diǎn)404不能接收軟件更新。
如示例性交換400所示,從事件406開始,父更新服務(wù)節(jié)點(diǎn)402直接地(如果父更新服務(wù)節(jié)點(diǎn)是更新服務(wù)根節(jié)點(diǎn)102)或間接地經(jīng)更新分發(fā)系統(tǒng)100從軟件供應(yīng)商110處接收軟件更新。在父更新服務(wù)節(jié)點(diǎn)402從軟件供應(yīng)商110處接收軟件更新之后的某個時間,子更新服務(wù)節(jié)點(diǎn)404開始從父更新服務(wù)節(jié)點(diǎn)獲取軟件更新的過程。
根據(jù)一實(shí)施例,可配置子更新服務(wù)節(jié)點(diǎn)404周期性地自動獲取從父更新服務(wù)節(jié)點(diǎn)402可得到的軟件更新。更特別地,通過管理用戶接口218,管理員能可選地配置子更新服務(wù)節(jié)點(diǎn)404,周期性地自動獲取在父更新服務(wù)節(jié)點(diǎn)402可得到的最新軟件更新。作為一個示例,管理員可配置子更新服務(wù)節(jié)點(diǎn)404按天或按小時地自動獲取來自父更新服務(wù)節(jié)點(diǎn)402的最新軟件更新,并指定自動更新過程要開始的日期時間。也可利用其它周期性的調(diào)度和標(biāo)準(zhǔn)。類似地,管理員可經(jīng)管理用戶接口手動啟動更新過程。
為了開始更新過程,在事件408子更新服務(wù)節(jié)點(diǎn)404向父更新服務(wù)節(jié)點(diǎn)402認(rèn)證并授權(quán)它自己。向父更新服務(wù)節(jié)點(diǎn)402的認(rèn)證和授權(quán)提供對軟件更新分發(fā)的控制元素,限制了向經(jīng)授權(quán)更新服務(wù)節(jié)點(diǎn)的更新分發(fā)。認(rèn)證和授權(quán)技術(shù)是本領(lǐng)域技術(shù)人員眾所周知的,可采用任意數(shù)量的這種技術(shù)向父更新服務(wù)節(jié)點(diǎn)402認(rèn)證并授權(quán)子更新服務(wù)節(jié)點(diǎn)404。本發(fā)明不限于任意一種技術(shù)。
在恰當(dāng)?shù)叵蚋父路?wù)節(jié)點(diǎn)402認(rèn)證并授權(quán)之后,在410框父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回授權(quán)令牌。根據(jù)一實(shí)施例,授權(quán)令牌是時間敏感令牌,它向父更新服務(wù)節(jié)點(diǎn)提供子更新服務(wù)節(jié)點(diǎn)404的授權(quán)以在有限時間內(nèi)進(jìn)一步進(jìn)行更新動作。因而如果子更新服務(wù)節(jié)點(diǎn)404未向父更新服務(wù)節(jié)點(diǎn)402認(rèn)證并授權(quán),則無授權(quán)令牌返回,且子更新服務(wù)節(jié)點(diǎn)不能執(zhí)行除認(rèn)證和授權(quán)外的任何其它更新相關(guān)動作。類似地,當(dāng)更新令牌過期后,子更新服務(wù)節(jié)點(diǎn)404不能向父更新服務(wù)節(jié)點(diǎn)402執(zhí)行除認(rèn)證和授權(quán)外的任何其它更新相關(guān)動作。
在接收授權(quán)令牌后,在事件412子更新服務(wù)節(jié)點(diǎn)404向父更新服務(wù)節(jié)點(diǎn)提交對產(chǎn)品更新目錄以及授權(quán)令牌的請求。產(chǎn)品更新目錄代表父更新服務(wù)節(jié)點(diǎn)402為之分發(fā)軟件更新的軟件產(chǎn)品內(nèi)容的列表或表格。
根據(jù)本發(fā)明的諸方面,不要求子更新服務(wù)節(jié)點(diǎn)404傳播父更新服務(wù)節(jié)點(diǎn)402提供的所有軟件更新。例如,參照圖1的示例性更新分發(fā)系統(tǒng),公司更新服務(wù)節(jié)點(diǎn)104可具有對更新服務(wù)根節(jié)點(diǎn)102所提供軟件產(chǎn)品一部分的節(jié)點(diǎn)許可證。相應(yīng)地,對于公司更新服務(wù)節(jié)點(diǎn)104而言也不必獲取更新服務(wù)根節(jié)點(diǎn)102所提供的所有軟件產(chǎn)品,因為大多數(shù)軟件是從來不會使用的。因而,更新服務(wù)節(jié)點(diǎn)的管理員可有選擇地建立將在更新服務(wù)節(jié)點(diǎn)上提供的那些軟件產(chǎn)品更新。
根據(jù)本發(fā)明的一方面,無論子更新服務(wù)節(jié)點(diǎn)404是否被配置為分發(fā)每種產(chǎn)品的更新,從父更新服務(wù)節(jié)點(diǎn)402獲取的更新產(chǎn)品目錄標(biāo)識了所有可提供的更新的軟件產(chǎn)品。然而,根據(jù)本發(fā)明的一另選方面,從父更新服務(wù)節(jié)點(diǎn)402獲取的更新產(chǎn)品目錄僅標(biāo)識請求子更新服務(wù)節(jié)點(diǎn)被配置成擬分發(fā)的更新的那些軟件產(chǎn)品。例如,可根據(jù)子更新服務(wù)節(jié)點(diǎn)404所屬的組或多個組,來確定哪些軟件產(chǎn)品在產(chǎn)品更新目錄中列出的限制。
在事件414,父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回產(chǎn)品更新目錄。在事件416,子更新服務(wù)節(jié)點(diǎn)404從產(chǎn)品更新目錄中選擇提供當(dāng)前所需最新更新的那些產(chǎn)品。應(yīng)當(dāng)注意,盡管產(chǎn)品更新目錄僅列出子更新服務(wù)節(jié)點(diǎn)404分發(fā)的那些軟件產(chǎn)品,可配置子更新服務(wù)節(jié)點(diǎn)在不同時間或按照不同周期性時間表獲取不同軟件產(chǎn)品的更新。
在事件418,子更新服務(wù)節(jié)點(diǎn)404提交更新同步請求以及授權(quán)令牌,它標(biāo)識了提供子更新服務(wù)節(jié)點(diǎn)目前搜索的更新的選定產(chǎn)品。在同步請求中包括的是標(biāo)識在子更新服務(wù)節(jié)點(diǎn)404上產(chǎn)品所提供最新更新的信息。標(biāo)識產(chǎn)品最新更新的信息此后被稱為“更新錨點(diǎn)”(update anchor)。通常每個軟件產(chǎn)品的更新錨點(diǎn)都存儲在更新信息存儲216中(圖2)。在一實(shí)施例中,更新錨點(diǎn)包括修正號以及關(guān)聯(lián)于該修正號的日期。
響應(yīng)于更新同步請求,在事件420,父更新服務(wù)節(jié)點(diǎn)402確定哪些更新(如果有的話)對子更新服務(wù)節(jié)點(diǎn)402可得到。如上所述,該確定基于與特定軟件更新相關(guān)聯(lián)的特定規(guī)則、子更新服務(wù)節(jié)點(diǎn)404是其成員的組或多個組、以及更新錨點(diǎn)。對于此例,如前所述,未對子更新服務(wù)節(jié)點(diǎn)404明確授權(quán)先前接收的軟件更新。由此,在事件406接收的軟件更新未被確定為對子更新服務(wù)節(jié)點(diǎn)404“可用”。因而,在事件422向子更新服務(wù)節(jié)點(diǎn)404返回一個沒有標(biāo)識在事件406接收的軟件更新的更新列表。根據(jù)本發(fā)明的諸方面,更新列表根據(jù)同步請求標(biāo)識了所有在父更新服務(wù)節(jié)點(diǎn)402上“可用”的更新。在一實(shí)施例中,更新列表由關(guān)聯(lián)于一個更新的單單獨(dú)標(biāo)識符標(biāo)識每個“可用”的更新信息。
在事件424,由于更新列表為空,即在父更新服務(wù)節(jié)點(diǎn)402上無更新當(dāng)前“可用”,子更新服務(wù)節(jié)點(diǎn)404的更新過程延遲或休眠預(yù)定時間量。根據(jù)當(dāng)前示例,在該延遲期間,在事件426,父更新服務(wù)節(jié)點(diǎn)402的管理員授權(quán)在事件406接收的軟件更新404分發(fā)到子更新服務(wù)節(jié)點(diǎn)。
在事件428(圖4B),子更新服務(wù)節(jié)點(diǎn)404通過向父更新服務(wù)節(jié)點(diǎn)402認(rèn)證及授權(quán)自己再次開始自動更新過程。在事件430,作為響應(yīng)父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回一授權(quán)令牌。
在事件432,子更新服務(wù)節(jié)點(diǎn)404向父更新服務(wù)節(jié)點(diǎn)402提交一請求及授權(quán)令牌,要求產(chǎn)品更新目錄。在事件434,父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回產(chǎn)品更新目錄。在事件436,子更新服務(wù)節(jié)點(diǎn)404對更新目錄選擇希望更新的產(chǎn)品。在事件438,子更新服務(wù)節(jié)點(diǎn)404提交用授權(quán)令牌所標(biāo)識的那些選中產(chǎn)品的更新同步請求。
由于子更新服務(wù)節(jié)點(diǎn)404已授權(quán)獲取先前在事件406接收的軟件更新,在事件404父更新服務(wù)節(jié)點(diǎn)402確定,對該子更新服務(wù)節(jié)點(diǎn)該軟件更新是“可用”的,并在更新列表中包括對應(yīng)的更新信息。隨后在事件442,父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回現(xiàn)標(biāo)識在事件406中接收的軟件更新的更新列表。
有了標(biāo)識父更新服務(wù)節(jié)點(diǎn)402上“可用”更新的更新列表,子更新服務(wù)節(jié)點(diǎn)404現(xiàn)在有了獲取軟件更新所必需的信息。根據(jù)本發(fā)明的一實(shí)施例,子更新服務(wù)節(jié)點(diǎn)404從父更新服務(wù)節(jié)點(diǎn)402分兩部分獲取軟件更新獲取更新元數(shù)據(jù),并獲取更新內(nèi)容或文件(此后稱為更新有效載荷)。如在后面將要更詳細(xì)描述的,更新元數(shù)據(jù)描述了軟件更新的有關(guān)方面,包括但不限于唯一標(biāo)識更新的更新標(biāo)識符、關(guān)聯(lián)于軟件更新的修正號信息、是否應(yīng)當(dāng)考慮軟件更新有優(yōu)先級、語言專用信息、與其它軟件更新的關(guān)系、用來下載的更新有效負(fù)載的位置、安裝處理器例程等等。
把整個軟件更新分兩部分下載,即更新元數(shù)據(jù)和更新有效負(fù)載,常常是有益的部分原因是,更新有效負(fù)載常常比更新元數(shù)據(jù)大得多,而且即使需要更新有效負(fù)載(即需要用來在客戶計算機(jī)上安裝。)也并非總是立即需要的。因而,根據(jù)本發(fā)明的一實(shí)施例,更新有效負(fù)載與更新元數(shù)據(jù)分開下載,且僅在需要時下載。本領(lǐng)域技術(shù)人員將認(rèn)識到這種下載技術(shù)是惰性下載(lazy downloading),或者是及時下載。根據(jù)本發(fā)明的諸方面,管理員可配置更新服務(wù)節(jié)點(diǎn)以及時方式獲取更新有效負(fù)載,或在獲取更新元數(shù)據(jù)之后立即下載。此外,在一另外實(shí)施例中,可聯(lián)合下載更新元數(shù)據(jù)和更新有效負(fù)載。
如圖4B所示,在事件444,更新在更新列表中被標(biāo)識后,子更新服務(wù)節(jié)點(diǎn)404根據(jù)其在更新列表中的單單獨(dú)標(biāo)識符請求“可用”軟件更新的更新元數(shù)據(jù)。象與父更新服務(wù)節(jié)點(diǎn)402的大多數(shù)其它通信交換一樣,更新請求與授權(quán)令牌一起提交。應(yīng)當(dāng)注意,盡管在示例中所有更新元數(shù)據(jù)在一次訪問中下載,根據(jù)本發(fā)明的另外方面(未示出),更新元數(shù)據(jù)可分多次訪問下載。例如,在第一次訪問中,首先下載確定軟件更新是否可應(yīng)用和/或是需要的所必需的更新元數(shù)據(jù)元素,諸如可應(yīng)用度規(guī)則和對其它軟件更新的依從性。然后,在確定更新是可應(yīng)用和/或所需的之后,可獲取剩下的更新元數(shù)據(jù)。作為響應(yīng),在事件446父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回軟件更新的更新元數(shù)據(jù),而子節(jié)點(diǎn)把更新元數(shù)據(jù)存儲到更新信息存儲216中。
可選地,在事件418,子更新服務(wù)節(jié)點(diǎn)404提交從父更新服務(wù)節(jié)點(diǎn)402下載更新有效負(fù)載的請求。作為響應(yīng),在事件450父更新服務(wù)節(jié)點(diǎn)402向子更新服務(wù)節(jié)點(diǎn)404返回更新有效負(fù)載,而子節(jié)點(diǎn)把它存儲在更新內(nèi)容存儲214中。在另外的實(shí)施例中,子更新服務(wù)節(jié)點(diǎn)404從可能不是父更新服務(wù)節(jié)點(diǎn)402,而是在更新元數(shù)據(jù)中指定的存儲位置上下載更新有效負(fù)載。
因為更新動作已在子更新服務(wù)節(jié)點(diǎn)404上發(fā)生,在事件452,子更新服務(wù)節(jié)點(diǎn)產(chǎn)生勾劃出最近發(fā)生更新動作的更新報告,并將其提交給父更新服務(wù)節(jié)點(diǎn)402。然后,子更新服務(wù)節(jié)點(diǎn)404再次延遲,直到安排的更新過程的下一次運(yùn)行(未示出)。
本領(lǐng)域技術(shù)人員將理解,上述事件是為了進(jìn)行說明,且反映了事件和環(huán)境的一個特定示例性集。明顯地,根據(jù)特定細(xì)節(jié)和環(huán)境也會發(fā)生導(dǎo)致上述事件產(chǎn)生某些變化的其它事件。另外,應(yīng)當(dāng)理解盡管子更新服務(wù)節(jié)點(diǎn)404從父更新服務(wù)節(jié)點(diǎn)402獲取最新的“可用”軟件更新,子更新服務(wù)節(jié)點(diǎn)可同時處理來自其子更新服務(wù)節(jié)點(diǎn)的多個更新請求。因此,應(yīng)當(dāng)視事件的以上順序是說明性的,而非對本發(fā)明的限制。
圖5是示出示例性例程500的流程圖,該例程在子更新服務(wù)節(jié)點(diǎn),諸如圖1的公司服務(wù)節(jié)點(diǎn)104上執(zhí)行,用來周期性地從父更新服務(wù)節(jié)點(diǎn)獲取更新。從502方框開始,子更新服務(wù)節(jié)點(diǎn)從父更新服務(wù)節(jié)點(diǎn)獲取“可用”更新的經(jīng)同步處理更新列表。從父更新服務(wù)節(jié)點(diǎn)獲取“可用”更新的經(jīng)同步處理更新列表,將參照圖6如下描述。
圖6是示出示例性子例程600的流程圖,該子例程適于在圖5的示例性例程500中使用,用來從父更新服務(wù)節(jié)點(diǎn)獲取“可用”更新的經(jīng)同步處理更新列表。從方框602開始,如前參照圖4A和4B所述,子更新服務(wù)節(jié)點(diǎn)向父更新服務(wù)節(jié)點(diǎn)認(rèn)證并授權(quán)它自己,并響應(yīng)于適當(dāng)?shù)恼J(rèn)證和授權(quán)接收授權(quán)令牌。在方框604,結(jié)合授權(quán)令牌,子更新服務(wù)節(jié)點(diǎn)建立了與父更新服務(wù)節(jié)點(diǎn)的通信參數(shù)。建立通信參數(shù)使得父更新服務(wù)節(jié)點(diǎn)和子節(jié)點(diǎn)能適當(dāng)?shù)亟⒏缸庸?jié)點(diǎn)都能理解的共同基礎(chǔ)。通信參數(shù)包括但不限于通信更新協(xié)議或版本;產(chǎn)品分組;等等。
建立與父更新服務(wù)節(jié)點(diǎn)的通信參數(shù)之后,在方框606,子更新服務(wù)節(jié)點(diǎn)獲取描述父更新服務(wù)節(jié)點(diǎn)用來提供/分發(fā)更新的軟件產(chǎn)品的產(chǎn)品更新目錄。在方框608,子更新服務(wù)節(jié)點(diǎn)選擇從中當(dāng)前搜索更新的那些軟件產(chǎn)品更新。在方框610,子更新服務(wù)節(jié)點(diǎn)向父更新服務(wù)節(jié)點(diǎn)提交更新同步請求,包括授權(quán)令牌和標(biāo)識已在子更新服務(wù)節(jié)點(diǎn)上的當(dāng)前修正和更新的與選中軟件產(chǎn)品相關(guān)聯(lián)的“錨點(diǎn)”。
響應(yīng)于更新同步請求,在方框612,子更新服務(wù)節(jié)點(diǎn)從父更新服務(wù)節(jié)點(diǎn)獲取更新列表,該列表根據(jù)在父更新服務(wù)節(jié)點(diǎn)上“可用”的軟件更新以及當(dāng)前存儲在子更新服務(wù)節(jié)點(diǎn)上的軟件更新進(jìn)行同步操作。如上所述,更新列表通過單單獨(dú)的標(biāo)識符標(biāo)識對子更新服務(wù)節(jié)點(diǎn)“可用”的父更新服務(wù)節(jié)點(diǎn)上的那些軟件更新。此后,示例性子例程600結(jié)束。
再次參照圖5,從在父更新服務(wù)節(jié)點(diǎn)獲取了經(jīng)同步操作的更新列表之后,在判定框504,可確定當(dāng)前是否有任何軟件更新“可用”于從父更新服務(wù)節(jié)點(diǎn)下載。該確定根據(jù)在經(jīng)同步操作的更新列表中是否列有任何更新標(biāo)識符。如果當(dāng)前沒有“可用”的軟件更新可下載,示例性例程500進(jìn)行到延遲框510,在那里示例性例程延遲/休眠直到下一更新階段??蛇x地,如果有從父更新服務(wù)節(jié)點(diǎn)下載的更新“可用”,在框506,子更新服務(wù)節(jié)點(diǎn)從父更新服務(wù)節(jié)點(diǎn)獲取更新。從父更新服務(wù)節(jié)點(diǎn)獲取“可用”更新參照圖7如下描述。
圖7是示出示例性子例程700圖的流程圖,該子例程適于在圖5的示例性例程500中使用,用來從父更新服務(wù)節(jié)點(diǎn)獲取“可用”軟件更新。從框702開始,選擇更新列表中的第一個更新標(biāo)識符。在框704,子更新服務(wù)節(jié)點(diǎn)從父更新服務(wù)節(jié)點(diǎn)獲取對應(yīng)于選定更新標(biāo)識符的更新元數(shù)據(jù),并將其存儲在更新信息存儲216中。
根據(jù)一實(shí)施例,在框706,子更新服務(wù)節(jié)點(diǎn)從父更新服務(wù)節(jié)點(diǎn)獲取對應(yīng)于選定更新標(biāo)識符的更新有效負(fù)載,并將其存儲在更新信息存儲212中??蛇x地,不需要立即把更新內(nèi)容下載到子更新服務(wù)節(jié)點(diǎn)。如前所述,可有選擇地配置子更新服務(wù)節(jié)點(diǎn)來以及時方式從父更新服務(wù)節(jié)點(diǎn)下載更新。根據(jù)如圖7所示的該可選方法,示例性子例程700可選地從方框704進(jìn)行到判定框708。
在判定框708,在獲得選定的更新標(biāo)識符的更新元數(shù)據(jù)以及可選的更新有效負(fù)載之后,可確定在更新列表中是否有任何另外的更新標(biāo)識符。如果有另外的更新標(biāo)識符,在方框710,選擇更新列表中下一個更新標(biāo)識符。例程700繼續(xù)直到在判定框708,確定更新列表中不再有更新標(biāo)識符,于是示例性子例程700結(jié)束。
再參看圖5,在從父更新服務(wù)節(jié)點(diǎn)獲得“可用”更新之后,在方框508,子更新服務(wù)節(jié)點(diǎn)向父更新服務(wù)節(jié)點(diǎn)報告更新動作。然后,在延遲框510,示例性例程500延遲/休眠預(yù)定時間量直到下一更新階段,并隨后進(jìn)行到方框502重復(fù)上述更新過程。
如圖5所示,在判定框504,即使當(dāng)父更新服務(wù)節(jié)點(diǎn)上沒有更新“可用”,能可選地配置子更新服務(wù)節(jié)點(diǎn)向父更新服務(wù)節(jié)點(diǎn)報告其更新動作。根據(jù)該另選配置,當(dāng)沒有更新可用時,示例性例程500可進(jìn)行到方框508以報告更新動作。
圖8是在父更新服務(wù)節(jié)點(diǎn)上實(shí)現(xiàn)的示例性例程800的流程圖,該例程用來響應(yīng)于子更新服務(wù)節(jié)點(diǎn)的更新同步請求產(chǎn)生標(biāo)識“可用”更新的經(jīng)同步更新列表。從方框802開始,父更新服務(wù)節(jié)點(diǎn)從子更新服務(wù)節(jié)點(diǎn)接收對標(biāo)識“可用”更新的更新列表的更新同步請求。在方框804,選擇在更新同步請求中標(biāo)識的第一個軟件產(chǎn)品。
在判定框806,確定對被標(biāo)識軟件產(chǎn)品是否有任何可用更新。該確定根據(jù)存儲在更新信息存儲216中軟件產(chǎn)品的元數(shù)據(jù)、由子更新服務(wù)節(jié)點(diǎn)提供的更新錨點(diǎn)、以及關(guān)聯(lián)于子更新服務(wù)節(jié)點(diǎn)所屬組的分發(fā)規(guī)則而作出。根據(jù)該確定,如果有更新“可用”,在方框808,將關(guān)聯(lián)于“可用”更新的單單獨(dú)更新標(biāo)識符寫入更新列表。在將“可用”更新的單獨(dú)更新標(biāo)識符寫入更新列表之后,在判定框810,確定是否還有任何在更新同步請求中標(biāo)識的另外的軟件產(chǎn)品。如果在更新同步請求中存在另外的軟件產(chǎn)品,在方框814,父更新服務(wù)節(jié)點(diǎn)選擇在更新同步請求中標(biāo)識的下個軟件產(chǎn)品,并返回到判定框806,以確定是否有選定軟件產(chǎn)品的“可用”更新。另外,如果沒有在更新同步請求中標(biāo)識的另外的軟件產(chǎn)品,在方框814,向子更新服務(wù)節(jié)點(diǎn)返回更新列表。然后,示例性子例程800結(jié)束。
如前所述,更新元數(shù)據(jù)描述了軟件更新的相關(guān)方面。實(shí)際上,許多這些方面對軟件產(chǎn)品而言都象更新有效負(fù)載一樣重要。例如,如果第一軟件更新的更新元數(shù)據(jù)表示必須安裝先前的軟件更新作為先決條件,而且根據(jù)管理員判定目前并未安裝先前的軟件更新,那么下載第一軟件更新的更新有效負(fù)載就沒有價值了。因此,通過不下載第一軟件更新的更新有效負(fù)載,可節(jié)約大量的通信帶寬。當(dāng)然,本領(lǐng)域技術(shù)人員將理解這僅僅是更新元數(shù)據(jù)如何提供涉及軟件更新的重要和相關(guān)信息的一個示例。
盡管更新元數(shù)據(jù)可用任何格式的文件進(jìn)行傳送,根據(jù)本發(fā)明的諸方面,對應(yīng)于軟件更新的更新元數(shù)據(jù)被描述并包含在基于標(biāo)記文件中,諸如可擴(kuò)展標(biāo)記語言(XML)文件??墒褂萌魏芜m當(dāng)?shù)幕跇?biāo)記文件格式,這些格式允許描述和包含數(shù)據(jù)的可定制的標(biāo)記。用來描述和包含信息的諸如基于XML或超文本標(biāo)記語言(HTML)文件的基于標(biāo)記文件是本領(lǐng)域眾所周知的。如本領(lǐng)域所知,常??筛鶕?jù)稱為模式的定義文件來確定基于標(biāo)記XML文件的內(nèi)容。更新元數(shù)據(jù)可由子更新服務(wù)節(jié)點(diǎn)和客戶計算機(jī)兩者使用。
在本發(fā)明的一真實(shí)實(shí)施例中,軟件更新的更新元數(shù)據(jù)被包含在符合更新元數(shù)據(jù)模式的基于XML文件中。圖9是示出定義更新元數(shù)據(jù)文件內(nèi)容的部分示例性基于XML更新元數(shù)據(jù)模式900的框圖。特別地,示例性更新元數(shù)據(jù)模式900將更新(Update)902定義為包括以下元素UpdateIdentity元素904;Properties(屬性)元素906;LocalizedPropertiesCollection元素908;Relationships(關(guān)系)元素910;ApplicabilityRules元素912;Files(文件)元素914;以及HandlerSpecificData元素916。關(guān)于元素906-916,適當(dāng)?shù)母略獢?shù)據(jù)文件可包括這些元素的零個或多個,如通過標(biāo)記限定詞“minOccurs=″0″”918。相反,更新元數(shù)據(jù)文件必須包括一個UpdateIdentity元素904。根據(jù)所示的元數(shù)據(jù)模式900,每個更新元數(shù)據(jù)文件中的更新元素如果出現(xiàn),必須按照上述順序顯示。
如前所示,每個軟件更新都分配有單獨(dú)的標(biāo)識符。根據(jù)本發(fā)明的諸方面,UpdateIdentity元素904包括該單獨(dú)標(biāo)識符,以及標(biāo)識該軟件更新的其它信息,諸如也關(guān)聯(lián)于軟件更新的修正號。
Properties元素906提供涉及軟件更新的信息,包括但不限于軟件更新本地化的語言,即英語、西班牙語、法語等等;提議更新在安裝期間可能對計算系統(tǒng)的影響,例如最低影響度、高影響度,以及可能或?qū)⑿枰匦聠佑嬎阆到y(tǒng),等等的信息;由軟件更新更新的軟件類型,諸如系統(tǒng)驅(qū)動軟件或軟件應(yīng)用;相應(yīng)于軟件更新對于軟件供應(yīng)商的重要性的重要性分級;來自軟件供應(yīng)商的相關(guān)安全公告;以及用來標(biāo)識軟件更新的更新處理器的更新處理器標(biāo)識。由以上所列的各種類型屬性可見,在更新元數(shù)據(jù)文件中可有零個或多個Properties元素906。
LocalizedPropertiesCollection元素908提供涉及軟件更新的語言專用信息,諸如但不限于更新標(biāo)題;旨在向計算機(jī)用戶顯示的軟件更新描述;來自軟件供應(yīng)商的發(fā)行注解;終端用戶許可證協(xié)定及相關(guān)信息;用來卸載軟件更新的用戶指南;等等。根據(jù)本發(fā)明的諸方面,根據(jù)語言組合本地化屬性。例如,盡管LocalizedPropertiesCollection元素908可包括多條信息,以上信息的英語版本可組合在一起,而西班牙語版本也可類似地組合。與以上Properties元素906一樣,在更新元數(shù)據(jù)文件中可有零個或多個LocalizedPropertiesCollection元素908。
Relationships元素910提供關(guān)于本軟件更新與其它軟件更新之間關(guān)系的信息。這些關(guān)系的示例包括,但不限于,先決條件軟件更新、取代軟件更新、以及捆綁軟件更新。先決條件軟件更新關(guān)系表明,在安裝本軟件更新之前,必須在客戶計算機(jī)系統(tǒng)上安裝另一由單獨(dú)更新標(biāo)識符標(biāo)識的軟件更新。多個先決條件關(guān)系可由諸如邏輯運(yùn)算符AND和OR的布爾運(yùn)算符連接成邏輯語句,使得對邏輯語句的運(yùn)算可確定軟件更新在客戶計算機(jī)上安裝的適應(yīng)性。
捆綁軟件更新標(biāo)識要一起安裝的多個軟件更新。作為一個示例,捆綁應(yīng)用可表示本軟件更新與其它軟件更新之間的相互依從性,從而如果在計算機(jī)系統(tǒng)上安裝了其中任何軟件更新,則必須安裝捆綁中由單獨(dú)更新標(biāo)識符標(biāo)識的所有更新。與以上的先決條件軟件更新一樣,捆綁軟件更新的元素可由布爾運(yùn)算符連接以形成邏輯語句,用來估算軟件更新在客戶計算機(jī)上安裝的適應(yīng)性。相反,取代軟件更新標(biāo)識已被本軟件更新取代的其它軟件更新。與以上Properties元素906一樣,在更新元數(shù)據(jù)文件中可有零個或多個Relationships元素910。
ApplicabilityRules元素912提供規(guī)則或測試,用來確定軟件更新是否可應(yīng)用在和/或適于安裝在計算系統(tǒng)上。盡管在某些方面與Relationships元素910的關(guān)系相類似,但ApplicabilityRules元素912測試與另一軟件更新可能特別相關(guān)或可能不特別相關(guān)的計算機(jī)系統(tǒng)上的條件。與以上標(biāo)識的大部分其它元素一樣,在更新元數(shù)據(jù)文件中可有零個或多個ApplicabilityRules元素912。
Files元素914標(biāo)識關(guān)聯(lián)于軟件更新的文件,即更新有效負(fù)載,以及與那些文件相關(guān)的信息。該另外的信息包括但不限于在更新有效負(fù)載中是否有一個或多個文件;從中可獲取文件的位置;文件尺寸;文件名;文件創(chuàng)建日期;等等。本領(lǐng)域技術(shù)人員將容易理解單個軟件更新可用多種方式安裝在客戶計算機(jī)上。作為一個示例,可通過用補(bǔ)丁修改部分現(xiàn)有文件或者通過用較新版本替換現(xiàn)有文件,來安裝相同的軟件更新。因而,根據(jù)本發(fā)明的諸方面,F(xiàn)iles元素914的更新有效負(fù)載可包括或指向現(xiàn)有文件的補(bǔ)丁、替換文件、或者補(bǔ)丁和替換文件兩者。在更新元數(shù)據(jù)文件中可有零個或多個Files元素914。
可以各種格式提供更新,諸如描述要用δ補(bǔ)丁信息重寫的文件區(qū)域的δ補(bǔ)丁、可執(zhí)行文件、替換文件等等。這些類型更新的每一種需要特定更新處理器,以便在計算系統(tǒng)上執(zhí)行軟件更新。相應(yīng)地,HandlerSpecificData元素916提供更新元數(shù)據(jù)文件中的位置,用來包括處理器專用數(shù)據(jù)/信息。例如,該信息可包括但不限于,處理器應(yīng)當(dāng)在其中執(zhí)行的目錄、對于處理器的命令行變量、如果安裝的某些部分失敗要采取的動作、如果安裝成功要采取的動作、等等。更新元數(shù)據(jù)文件可包括零個或多個HandlerSpecificData元素916。
盡管已說明和描述了本發(fā)明的包括較佳實(shí)施例的各種實(shí)施例和方面,可以理解能作出各種更改也不背離本發(fā)明的精神和范圍。例如,盡管本發(fā)明已被描述為經(jīng)通信網(wǎng)絡(luò)通過更新分發(fā)系統(tǒng)傳送軟件更新,更新元數(shù)據(jù)以及更新有效負(fù)載可在計算機(jī)可讀介質(zhì),諸如壓縮盤或軟盤上,從更新服務(wù)節(jié)點(diǎn)傳送到客戶計算機(jī)上。
權(quán)利要求
1.存儲組織在一基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)中的計算機(jī)可讀數(shù)據(jù)的一種計算機(jī)可讀介質(zhì),所述數(shù)據(jù)結(jié)構(gòu)用來把對應(yīng)于一軟件更新的更新元數(shù)據(jù)傳送到更新服務(wù)節(jié)點(diǎn)或客戶計算機(jī),其特征在于,所述數(shù)據(jù)結(jié)構(gòu)包括一UpdateIdentity元素,用來單單獨(dú)地標(biāo)識所述軟件更新;零個或多個Properties元素,用來存儲關(guān)于所述軟件更新的一般屬性;零個或多個LocalizedPropertiesCollection元素,用來存儲導(dǎo)向與所述軟件更新相關(guān)的計算機(jī)用戶的內(nèi)容;零個或多個Relationships元素,用來存儲所述軟件更新與其它軟件更新的關(guān)系;零個或多個ApplicabilityRules元素,用來存儲確定所述軟件更新對客戶計算機(jī)的可應(yīng)用性的規(guī)則;零個或多個Files元素,用來存儲描述關(guān)于所述軟件更新的有效負(fù)載信息的信息;零個或多個HandlerSpecificData標(biāo)記,用來存儲安裝所述軟件更新專用類型的更新處理器的信息。
2.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)是XML數(shù)據(jù)結(jié)構(gòu)。
3.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)的所述元素,如果出現(xiàn),按照上述順序包括在所述更新元數(shù)據(jù)中。
4.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述UpdateIdentity元素包括單單獨(dú)地標(biāo)識所述軟件更新的一單單獨(dú)標(biāo)識符子元素、以及標(biāo)識關(guān)聯(lián)于所述軟件更新的修正號的一修正號子元素。
5.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)中的所述Relationships元素包括標(biāo)識必須在安裝所述軟件更新之前安裝的第二軟件更新的一先決條件子元素。
6.如權(quán)利要求5所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識多個軟件更新的多個先決條件子元素,這些子元素可用布爾運(yùn)算符連接成一邏輯語句,使得對所述邏輯語句的運(yùn)算可確定所述軟件更新安裝在客戶計算機(jī)上的適應(yīng)性。
7.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識必須共延展地(coextensively)安裝的多個軟件更新的一捆綁子元素。
8.如權(quán)利要求7所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述捆綁子元素的多個軟件更新可用布爾運(yùn)算符連接成一邏輯語句,使得對所述邏輯語句的運(yùn)算可確定所述軟件更新安裝在客戶計算機(jī)上的適應(yīng)性。
9.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識由所述軟件更新取代的至少一個其它軟件更新的一取代子元素。
10.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識在所述軟件更新安裝之前必須安裝的其它軟件更新的任意數(shù)量先決條件子元素、標(biāo)識必須共延展地安裝的多個軟件更新的捆綁子元素、以及標(biāo)識由所述軟件更新取代的至少一個其它軟件更新的取代子元素。
11.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來給客戶計算機(jī)上現(xiàn)有文件打補(bǔ)丁的所述軟件更新的有效負(fù)載的信息。
12.如權(quán)利要求1所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來替代客戶計算機(jī)上現(xiàn)有文件的所述軟件更新的有效負(fù)載的信息。
13.如權(quán)利要求12所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來給客戶計算機(jī)上現(xiàn)有文件打補(bǔ)丁,以及替代客戶計算機(jī)上現(xiàn)有文件的所述軟件更新的有效負(fù)載的信息。
14.存儲組織成一基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀數(shù)據(jù)的一種計算機(jī)可讀介質(zhì),所述數(shù)據(jù)結(jié)構(gòu)用來把對應(yīng)于一軟件更新的更新元數(shù)據(jù)傳送到更新服務(wù)節(jié)點(diǎn)或客戶計算機(jī),其特征在于,所述數(shù)據(jù)結(jié)構(gòu)包括一UpdateIdentity元素,用來單單獨(dú)地標(biāo)識所述軟件更新;零個或多個Relationships元素,用來存儲所述軟件更新與其它軟件更新的關(guān)系;零個或多個Files元素,用來存儲描述關(guān)于所述軟件更新的有效負(fù)載信息的信息。
15.如權(quán)利要求14所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述基于標(biāo)記數(shù)據(jù)結(jié)構(gòu)是XML數(shù)據(jù)結(jié)構(gòu)。
16.如權(quán)利要求14所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述UpdateIdentity元素包括單單獨(dú)地標(biāo)識所述軟件更新的一單單獨(dú)標(biāo)識符子元素、以及標(biāo)識關(guān)聯(lián)于所述軟件更新的修正號的一修正號子元素。
17.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識必須在安裝所述軟件更新之前安裝的第二軟件更新的一先決條件子元素。
18.如權(quán)利要求17所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識多個軟件更新的多個先決子元素,這些子元素可用布爾運(yùn)算符連接成一邏輯語句,使得對所述邏輯語句的運(yùn)算可確定所述軟件更新安裝在客戶計算機(jī)上的適應(yīng)性。
19.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識必須共延展地(coextensively)安裝的多個軟件更新的一捆綁子元素。
20.如權(quán)利要求19所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述捆綁子元素的多個軟件更新可用布爾運(yùn)算符連接成一邏輯語句,使得對所述邏輯語句的運(yùn)算可確定所述軟件更新安裝在客戶計算機(jī)上的適應(yīng)性。
21.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識由所述軟件更新取代的至少一個其它軟件更新的一取代子元素。
22.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Relationships元素包括標(biāo)識在所述軟件更新安裝之前其它軟件更新的任意數(shù)量先決子元素、標(biāo)識必須共延展地安裝的多個軟件更新的捆綁子元素、以及標(biāo)識由所述軟件更新取代的至少一個其它軟件更新的取代子元素。
23.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來給客戶計算機(jī)上現(xiàn)有文件打補(bǔ)丁的所述軟件更新的有效負(fù)載的信息。
24.如權(quán)利要求16所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來替代客戶計算機(jī)上現(xiàn)有文件的所述軟件更新的有效負(fù)載的信息。
25.如權(quán)利要求24所述的基于標(biāo)記數(shù)據(jù)結(jié)構(gòu),其特征在于,所述Files元素包括標(biāo)識用來給客戶計算機(jī)上現(xiàn)有文件打補(bǔ)丁,以及替代客戶計算機(jī)上現(xiàn)有文件的所述軟件更新的有效負(fù)載的信息。
全文摘要
提出了一種用來把軟件更新元數(shù)據(jù)信息傳送到客戶計算機(jī)和更新服務(wù)節(jié)點(diǎn)的基于標(biāo)記結(jié)構(gòu)。更新元數(shù)據(jù)文件包括包括單獨(dú)地標(biāo)識軟件更新的軟件更新標(biāo)識符的標(biāo)識符標(biāo)記;帶有關(guān)于軟件更新的一般屬性信息的零個或多個一般屬性標(biāo)記;帶有根據(jù)語言組織的本地化屬性信息的零個或多個本地化屬性標(biāo)記;標(biāo)識如更新元數(shù)據(jù)中所述當(dāng)前軟件更新與其它軟件更新的依從關(guān)系的零個或多個關(guān)系標(biāo)記;帶有用來確定軟件更新對客戶計算機(jī)的可應(yīng)用性的信息的零個或多個應(yīng)用規(guī)則標(biāo)記;帶有關(guān)于軟件更新的有效載荷文件的信息的零個或多個文件標(biāo)記;以及帶有導(dǎo)向用來安裝軟件更新的軟件處理器的信息的處理器專用數(shù)據(jù)標(biāo)記。
文檔編號H04L29/08GK1668010SQ200510009490
公開日2005年9月14日 申請日期2005年2月16日 優(yōu)先權(quán)日2004年3月12日
發(fā)明者A·H·艾弗布克, D·C·馬爾, D·B·德根, D·P·門齊斯, J·R·弗舍爾, M·舍帕德, 康成國 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1