TW200533111A - Tag-based schema for distributing update metadata in an update distribution system - Google Patents

Tag-based schema for distributing update metadata in an update distribution system Download PDF

Info

Publication number
TW200533111A
TW200533111A TW094101690A TW94101690A TW200533111A TW 200533111 A TW200533111 A TW 200533111A TW 094101690 A TW094101690 A TW 094101690A TW 94101690 A TW94101690 A TW 94101690A TW 200533111 A TW200533111 A TW 200533111A
Authority
TW
Taiwan
Prior art keywords
update
software
computer
service node
software update
Prior art date
Application number
TW094101690A
Other languages
English (en)
Other versions
TWI369869B (en
Inventor
Aaron H Averbuch
Dennis C Marl
David B Dehghan
Derek P Menzies
Jeanette R Fisher
Marc Shepard
Seong Kook Khang
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200533111A publication Critical patent/TW200533111A/zh
Application granted granted Critical
Publication of TWI369869B publication Critical patent/TWI369869B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23LFOODS, FOODSTUFFS, OR NON-ALCOHOLIC BEVERAGES, NOT COVERED BY SUBCLASSES A21D OR A23B-A23J; THEIR PREPARATION OR TREATMENT, e.g. COOKING, MODIFICATION OF NUTRITIVE QUALITIES, PHYSICAL TREATMENT; PRESERVATION OF FOODS OR FOODSTUFFS, IN GENERAL
    • A23L11/00Pulses, i.e. fruits of leguminous plants, for production of food; Products from legumes; Preparation or treatment thereof
    • A23L11/05Mashed or comminuted pulses or legumes; Products made therefrom
    • A23L11/07Soya beans, e.g. oil-extracted soya bean flakes
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23PSHAPING OR WORKING OF FOODSTUFFS, NOT FULLY COVERED BY A SINGLE OTHER SUBCLASS
    • A23P30/00Shaping or working of foodstuffs characterised by the process or apparatus
    • A23P30/10Moulding
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J43/00Implements for preparing or holding food, not provided for in other groups of this subclass
    • A47J43/20Shapes for preparing foodstuffs, e.g. meat-patty moulding devices, pudding moulds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Food Science & Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Polymers & Plastics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Agronomy & Crop Science (AREA)
  • Botany (AREA)
  • Health & Medical Sciences (AREA)
  • Nutrition Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

200533111 玫、發明說明: 【發明所屬之技術領域】 本發明係有關於軟體與電腦網路,本發明尤其有關於 一種用以於一更新分散系統中分散更新中繼資料之標籤基 礎架構。 【先前技術】
幾乎所有商用軟體產品歷經一持續修正過程以修復或 更新該軟體之特性。一軟體產品之各修正版常常需要增加 新的槽案、以新的修正版取代現存檔案、刪除過期檔案、 或這些動作之各種組合。包括取代舊檔案、新增新檔案、 及刪除一軟體產品之過期檔案之過程,在以下將稱之為「更 新該產品」’且用於更新該產品之資料集合,包含二元化檔 案、資料檔案、更新指彳、中繼資料等等,將在以下僅稱 為「更新」。 一旦—軟體提供者已經為一軟體產品建立一更新,無 論是解決-問題、增加安全性、或新增新特性,該軟體提 供者會想要使該更新更可廣泛地使用於其顧客層中。例如 當該更新係關於修正該產品令的—個瑕寂或處理一關鍵的 安全性問題時,該軟體提供者時常會想要該更新儘快安裝 於顧客群的電腦上。的確大部分軟體提供者具有—商業性 的動機’來儘快且儘可能地不造成麻煩的方式來分散軟艘 更新給其顧客群。 電腦產業當中’連接至網路(尤其是網際網路)之電腦 200533111
數量已有一爆炸性的成長。由於此爆炸性成長’且由於可 透過對網際網路之連接所獲得之通訊能力,該網際網路對 軟體提供者來說已經成為一重要且完整的途徑來分散更新 到其顧客。事實上,網際網路對許多軟體提供者來說已經 變成主要的分散途徑來提供軟體更新到其顧客。對軟體提 供者來說,最佳的方式往往是透過網際網路來分散軟體更 新,因為在網際網路上之電子更新分散已經降低其總成 本,且允許顧客只要在他們方便時即可獲#該軟體更新。 更常見的是,這些軟體更新係透過網際網路自動進行,而 不需要使用者的介入。 現今,網際網路已普遍作為用以分散來自軟體提供者 之軟體更新的管道,但常常會發生幾個問題。其中有兩個 問題,包含(1)關於該更新分散架構/資源之效率,及(2)對 軟體更新之分散與安裝之管理控制。 關於該分散資源之效率,網路(包括網際網路)僅具有 一有限量之通訊資源,其通常稱之為頻寬。一有限量的通 訊頻寬常常導致瓶頸,尤其針對熱門軟體產品之軟體更 新,例如微軟公司之作業系統的Windows®家族與相關的 普及性產品。這些瓶頸甚至在當軟體更新可透過散佈在整 個網際網路中之多重下載位置來進行時,亦會存在。這些 瓶頸的一個發生理由為在網際網路上所提供之非結構化存 取模型所致。舉例來說,若於電腦A之第一使用者請求一 軟體產品之最新下載,該下載傳送透過該第一使用者的獨 立服務提供者(ISP)。此外,該請求被視為單一及個人化的 200533111 存取’意思是指該請求被視為獨立 和且且不相關於任何其它網 路流量及/或請求。如此一來,若亦 不右亦剛好具有相同ISP於電 腦Β上的一第二使用者請求了盥 ..^ ^ 、 x、逐第一使用者相同的下 載’來自該第一使用者之請求亦被插兔蒂 J傲祝為單一及個人化的存 取。在此範例中,由於各請求被視為獨立,相同的下載將 :在相同的架構上傳送兩次。很清楚地,%果使用者的數 量實質上地增加’該有限的通訊頻寬將會變成一瓶頸。在 此範例中會相當常見,若該下載可快取於一本地位置且各 使用者請求可滿足於該本地快取,則會變得更有效率。 針對分散控制,許多組織,尤其是大型組織具有正洛 理由來控制對其更新的分散。舉例來I,很不幸地某^ 新會具有或造成瑕疵,其常稱為臭蟲(bugs),即會「破壞」 了一軟體產品之特性。這些被破壞的特性可能不重要作 是如果太頻繁的話則會可影響到一企業的 一 卡J 1士務重大的特 性。當一企業無法承擔喪失其關鍵性任務的特性時,一負 貝的企業將會先在進行他們其它電腦的更新之前,先在、 欠控制的環境中評估與測試每項軟體更新一 又—間。此評 古期間允許該組織來驗證是否一更新將負面地影響到一關 鍵性任務的特性。僅在其令人滿意地判定出一 jk 只更》新沐不 會衫響到任何的關鍵性任務之特性之後,該 斡八也^人啊才會被允 外刀散至該組織中的其餘電腦。很清楚地, 分的組織 *、須對於在他們的電腦上進行軟體更新 管。 文衮來威加控 一企業或一組織經常需要控制軟體更新之 〜77散的另一 5
200533111 理由是要確保該組織中電腦之間的一致性。對資訊服務 分來說,所有電腦的操作是在一個標準話的目標平台是 常重要的,無論其為一文書處理器或,作業系統。若沒 標準,軟體與電腦維護將會成為沒有必要的複雜且困難 本地性控制的又一個理由是基於收費的目的。在大 組織中,個別安裝軟體於一電腦上或為該組織中之每部 腦來維護一特定軟體產品的版權,通常是很沒有效率的 而一單一性的場所授權則可允許一組鐵可在多部電腦上 行一軟體產品。因此,一組織可能需要回報在該場所授 之下執行一產品的電腦數目,或可能需要在一場所授權 下執行一產品之電腦數目。所有這些理由常常需要對於 體更新分散進行本地性控制。 鑒於關於軟體更新分散之眾多上述的問題,的確需 一種可擴充的軟體更新分散架構,用以提供軟體更新分 之控制,以及增加其分散效率。本發明已經處理了在先 技藝中所遭遇到的上述及其它問題。 【發明内容】 根據本發明,本文揭示一種由一更新服務節點到一 更新服務節點或一客戶端電腦來傳遞更新中繼資料之標 基礎架構。該標籤基礎架構包含:一識別項標籤,包含 一識別該軟體更新之一軟體更新識別項;承載關於該軟 更新之一般屬性資訊的零或多個一般屬性標籤;承载根 語言所組織的本地化屬性資訊的零或多個本地化屬性 部 非 有 〇 型 電 〇 執 權 之 軟 要 散 前 子 籤 唯 體 據 標 6 200533111 籤;識別目前軟體更新與其它軟體更新之依賴關係的零或 多個關係標籤,如在該更新中繼資料中所述;承載用於決 定該軟體更新對於一客戶端電腦之可應用性之資訊的零或 多個可應用性規則標箴;承載關於該軟體更新的必要負載 檔案之資訊的零或多個檔案標籤;及,承載指引用於安裝 該軟體更新之軟體管理器之管理器特定資料標籤。 根據本發明之其他態樣,本文揭示一種由一更新服務 節點到一子更新服務節點或一客戶端電腦來傳遞更新中繼 資料之標籤基礎架構。該標籤基礎架構包含··一識別項標 籤’包含唯一識別該軟體更新之一軟體更新識別項;識別 了目前軟體更新(如在該更新中繼資料中所述)與其它軟體 更新之依賴關係的零或多個關係標籤;及,承載關於該軟 體更新之必要負載檔案之資訊的零或多個檔案標籤。 【實施方式】
根據本發明,本文揭示一種用以分散軟體更新且利用 一階層方式所組織的更新分散系統。第1圖係根據本發明 各態樣形成之一範例性更新分散系統1 〇〇之一示意圖。根 據本發明,於一更新分散系統之「頂端」,例如例示之更新 分散系統1 00,係一根更新服務節點1 02。軟體提供者,例 如軟體提供者110,藉由送出該更新至該根更新服務節點 102來透過該更新分散系統100分散其軟體更新。根據本 發明各態樣,軟體提供者,例如軟體提供者11 0,可透過 一網路,例如網際網路 1 0 8,送出其軟體更新至該根更新 7
200533111 服務節點102。 一階層性更新分散系統’例如範例性 1 00,除了該根更新服務節點1 02之外,可能 其它更新服務節點。如第1圖中所例示,該 散系統1 00包含根更新服務節點1 02與兩個 務節點:更新服務節點104與更新服務節點 發明,各階層性更新分散系統組織成該根. 1 02之下的一樹狀結構中。換句話說,一更 各更新服務節點可具有零或多個子更新服務 當該範例性更新分散系統100所示為各母 (即該根更新服務節點1 02與更新服務節點 子,此僅做為例示之目的,且不應視為本發 外,除了該根更新服務節點1 〇2為例外之外 系統中之各更新服務節點具有一母更新服務 如第1圖中所示,更新服務節點104係對該 點102的一子節點,而更新服務節點106係 節點104的一子節點。由此可知,各更新服 該根更新服務節點1 02的例外之外,可同時 務節點與一母母更新服務節點。 如該範例性更新分散系統1 00中所例示 務節點1 02透過網際網路1 08與更新服務節 然而’應可了解此僅為例示,且不應視為是本 在一更新分散系統中之各更新服務節點僅可 網路與其母及/或子通訊。因此,雖然更新服 更新分散系統 包含至少一個 範例性更新分 額外的更新服 106。根據本 更新服務節點 新分散系統中 節點。因此, 更新服務節點 104)僅具有一 明之限制。此 ,一更新分散 節點。據此, 根更新服務節 對該更新服務 務節點,除了 為一子更新服 ,該根更新服 點104通訊。 .發明的限制。 透過某種通訊 務節點104透
200533111 過網際網路108與其母(母根)更新服務節點 或可經由一區域網路124與其子更新服務i 服務節點106)通訊。 如第1圖中所示,更新服務節點1 〇 6位 1 2 4之一子網路1 2 6中。舉例來說,區域網 至一組織之一般公司網路,而更新服務節點 司經由其至其母(根)更新服務節點1 02之連 之連結至該更新分散系統1 〇〇。再者,子網】 至該公司網路中一電腦的可識別群組,例如-組、一位於遠端的辦公室、或一關鍵性任務 之詳細說明,根據本發明各態樣,更新服務 一管理者可控制對更新服務節點1 ,且最 腦之更新之分散。 其必須了解各更新服務節點,包含該根 102與更新服務節點1〇4與106,係配置來同 新至子更新服務節點以及客戶端電腦。如第 該範例性更新分散系統1 〇〇包含客戶端電腦 更新服務節點,包含該根更新服務節點102 置資訊來分散更新至子更新服務節點與客戶 一實施例,一管理者定義群組及關於那些群 規則。各更新服務節點具有至少一分散群組
舉例來說明該更新分散系統如何操作, 路1 24對應至一企業組織之公司網路。根據 施例,更新服務節點1 04上之一管理者可為H 102通訊,其 P點(例如更新 於該區域網路 路124可對應 104代表該公 接而成為公司 略126可對應 -測試/評估群 群組。如下方 節點1 0 4上之 終對客戶端電 更新服務節點 時分散軟體更 1圖中所示, 112-122° 各 ’根據區域配 端電腦。根據 組之更新分散 〇 其假設區域網 本發明之一實 〔公司網路124 200533111 定義多重分散群組,包含一評估群組,其對應至包含更新 服務節點106與客戶端電腦12〇與122之子網路丨26,用 以評估對於該一般公司網路丨24,以及包含該更新服務節 點104與客戶端電腦114-118之一般公司群組之一更新的 適用性。 針對該評估群組,該管理者包含該更新服務節點i 06 作為一成員’且關聯規則與該群組,使得更新變為可用時 可以立即分散至該評估群組的成員。或者,針對該一般公 司群組’該管理者新增客戶端電腦114_118,且關聯一規 則’使得非得經由該管理者之特定授權,才會分散更新至 該一般公司群組成員。亦假設子更新服務節點丨〇6的一管 理者建立了任何新的軟體更新可以立即分散之由該評估子 網路126中之客戶端電腦120與ι22所組成之一預設群組。 繼續上述範例,一軟體提供者11()送出一軟體更新至 該根更新服務節點1 02。根據於該根更新服務節點丨〇2所 建立之規則,該更新最終會分散至該公司更新服務節點 1 04。於接收該更新後,根據由該管理者所建立之規則,該 公司更新服務節點1 分散該更新至該評估群組的成員 (僅疋義為該子更新服務卽點1 〇 6 ),但暫停來自一般公司 群組之更新,直到特定的授全來分散該更新至該群組。 繼續上述範例,於接收該更新後,該評估更新服務節 點1 0 6針對每個定義的群組來處理該更新。在此範例中, 該評估更新服務節點106僅具有一群組。然而,如先前所 述,在一實際實施中,可能定義有多重群組,各具有一唯 10 200533111 一的相關分散規則組合。對於此範例來說,該評估更新服 務節點1 06可立即使得該更新可用於分散至客戶端電腦 120與122。客戶端電腦120與122現在可被更新,且該評 估期間/程序即可以開始。
仍然繼續上述範例,當該公司更新服務節點1 04上之 管理者充份滿意於該更新可適何在該整個公司網路1 24分 散時,該管理者即可明確地授權該要分散的更新至該一般 公司群組之成員。該公司更新服務節點1 0 4相對應地使該 更新可用於客戶端電腦11 4-11 8。其必須了解到該評估更 新服務節點1 0 6亦可包含於該一般公司群組中。然而,由 於該評估更新服務節點1 06已經被更新,不需要額外的更 新相關的動作來分散該更新至該評估子網路1 26。 如上述範例可知,本發明在區域分散控制與下載效率 上提供了顯著的效益。除了上述區域分散控制態樣之外, 亦可了解到對於通訊頻寬亦有顯著的節省。舉例來說,雖 然例示於第1圖中之範例性公司網路1 24包含五部客戶端 電腦’該軟體提供者之更新僅需要自該根更新服務節點 1 02下裁至該公司更新服務節點1 04 —次。接著很清楚地, 當由—更新服務節點所服務之客戶端電腦的數目增加時, 一母更新服務節點與一客戶端更新服務節點間使用之通訊 頻寬維持固定,藉此實質上地降低可能使用之通訊頻寬 量。此外,該更新分散系統可擴充,並可調整大小。該更 新分散系統可以用至少二種方式來擴充:任何數量之子更 新服務節點可加入到一母更新服務節點,而子更新服務節 200533111 點亦可為一母更新服務節點。該更新分散系統之各子樹因 此皆可被修改來符合個別需求。 第2圖係例示根據本發明各態樣形成之一更新服務節 點2 00之範例邏輯組件之一方塊圖,例如該公司更新服務 節點1 0 4 (第1圖)或該評估更新服務節點1 〇 6 (第1圖)。如 第2圖中所示’一更新服務節點2 〇 〇包含一更新網頁服務 2 02、一客戶端更新模組204、一子更新模組206、及一回 報模組208。該範例性更新服務節點2〇〇亦包含一鑑別/授 權模組210、一管理應用程式程式化介面(ApI) 212、一更 新内容儲存214、一管理使用者介面218、及一更新資訊儲 存 216 〇 該更新網頁服務202提供一組共用的網頁服務,透過 此服務,客戶端電腦、子更新服務節點、及一母更新服務 節點可與一更新服務節點通訊。舉例來說,參照第1圖, 為了讓該子/評估更新服務節點106自該母/公司更新服務 節點1 04取得一軟體更新,該客戶端透過該母更新網頁服 務202通訊。同樣的,當一母更新服務節點,例如根更新 服務節點1 〇2,要傳送資訊(包括更新)至其子更新服務節 點1 04時,該母更新服務節點透過該子之更新網頁服務2〇2 進行通訊。 針對健存於該更新服務節點上之更新及更新資訊,該 客戶端更新模組2〇4管理了一客戶端電腦與該更新服務節 ”占200之間的通訊。該更新相關的通訊包含但不限於回應 ;客戶蝠睛求之分散更新,及為該客戶端電腦提供一可用 12
200533111 軟體產品與相關更新之列表。該客戶端更新模組204亦 責根據相關的分散規則來決定是否授權一客戶端電腦來 得一特定更新,並以該客戶端電腦被授權存取之更新相 資訊來回應到一客戶端電腦。 該子更新模組206管理一母更新服務節點與其子更 服務節點之間的更新相關通訊。該更新相關通訊包含但 限於識別可用於一子更新服務節點之軟體產品與相關更 之列表,以及回應來自一子更新服務節點之更新請求。 下游更新模組206係負責根據相關的分散規則來決定是 授權一子更新服務節點取得一特定更新,並以該子更新 務節點所授權存取之更新相關資訊回應至一子更新服務 點。 該回報模組208產生了更新相關報告,例如那些群 已經或未曾接收一特定更新、那些客戶端電腦已經或未 下載/安裝一更新、那些更新可用於該更新服務節點上 等。這些報告可於内部使用,例如由一管理者,且亦送 至該母更新服務節點,其係經由該母更新服務介面 202 如上所述,對公司來說,常常需要決定那些客戶端電腦 經安裝一特定更新,例如為了收費之目的或為了維護的 的。由回報模組208產生之資訊/報告可做為這些報告之 該鑑別/授權模組2 1 0係負責鑑別,即決定一特定客 端電腦或子更新服務節點之身分,及決定是否授權一客 端電腦或子更新服務節點可存取該更新服務節點200上 負 取 關 新 不 新 該 否 服 節 組 曾 等 出 〇 已 S 基 戶 戶 的 13 200533111 可用更新。對於已經鑑別與已經授權存取一更新服務 上之更新之這些客戶蠕電腦及子更新服務節點來說, 別/授權模組2 1 0提出必須用於結合取得更新之一授 記號。一授權記號之提出與使用將於以下參考第4A 第4B圖詳加說明。 該管理API 212代表透過了該更新服務節點2〇〇 制,以及透過最終所儲存及分散之更新的應用介面。 更新網頁服務202自客戶端電腦與子更新服務節點接 多更新相關的請求時,這些請求最終會打散成呼叫到 理API 212當中,其不論是直接或間接透過該客戶端 模組204與該子更新模組206。結合該管理使用者介面 或一些其它經過適當配置來使用該管理API 212而安 該更新服務節點200上的程式,一管理者最終可以控 更新服務節點控制以及任何子更新服務節點與客戶端 之所有態樣的更新過程。 透過該管理使用者介面218,管理者可透過該管理 2 1 2來配置與維護一更新服務節點20因此,透過該 使用者介面 218,一管理者可建立、修改、與刪除群 以及為各群組關聯規則。此外,使用該管理使用者 218, 一管理者建立了一客戶端電腦或子更新服務節點 屬之群組❶透過該管理使用者介面218,一管理者亦 確地授權更新來分散至客戶端電腦或子更新節點、配 更新服務節點200來定期查詢其母更新服務節點有 新、配置回報參數與檢視内部報告等等。如上所述, 節點 該鑑 權代 圖與 之控 當該 收眾 該管 更新 218 裴在 制該 電腦 API 管理 組, 介面 所隸 可明 置該 無更 雖然 14 200533111 該管理使用者介面2 1 8允許一管理者對該更新服務 200之各態樣來實施控制,位於該更新服務節點2〇〇 適當調整以利用該管理API 212操作之其他應用程式 用以取代該管理使用者介面2 1 8。 如上所述,根據本發明之一實施例,一更新服務 200包含一更新内容儲存214與一更新資訊儲存216。 新内容儲存214儲存代表該軟體更新之實際槽案,例 元值與修補標案?相反的,該更新資訊儲存216儲存 到在該更新服務節點200上可用之更新的資訊與中 料,其中包含儲存於該更新内容儲存214中之更新檔 根據一實施例’該更新内容儲存2 1 4與該更新資訊儲名 皆為關聯式資料庫。雖然該範例性更新服務節點2〇〇 為具有兩個資料儲存,本發明並不受限於此。在另一 例中,該更新内容儲存214與該更新資訊儲存216皆 併於單一資訊储存中。 根據本發明各態樣,一軟體更新對於客戶端電腦 更新服務節點之上呈現為「可用」* 一更新服務節點 上’即使該更新並不實際儲存於該更新内容儲存214 尤其是,並非立即下載與儲存該實際更新檔案於一更 務節點200上,參照該母更新服務節點或其他位置上 新檔案之-連結另可替代來儲存於該更新服務節點上 此,若一客戶端電腦請求該更新,或—子更新服務節 求該實際更新時,該争翻 通更斯接耆自該母更新服務節點 來並儲存於該更新内容儲存214中,以準備用於將 節點 上且 亦可 節點 該更 如二 對應 繼資 案。 .216 顯示 實施 可合 與子 200 中。 新服 之更 。因 點請 帶下 它傳 15
200533111 遞至該客戶端電腦或子更新服務節點。熟知技藝 了解此型態之更新存取係稱為及時性下載。依此 「可用」更新不需要在眾多網路通道上分散,直 際被請求為止。根據本發明各態樣,一更新服務 之一管理者可選擇性決定是否以一及時性方式來 更新。 雖然上述第2圖例示一範例性更新服務模組 多組件,其應了解到亦可存在有一更新服務模組 件。此外,上述組件應被了解為邏輯組件,並不 際組件。在一實際實施方式中,上述識別的組件 一起及/或根據實施方式決定與其他組件結合。此 解到雖然一更新服務節點200可被視為一網路上 器電腦,在一實際實施方式中,一更新服務節點 任何型態之運算裝置上。舉例來說,各更新服務 可實施及/或安裝於單一獨立電腦系統上,或者於 運算裝置之一分散式運算系統上。 第3圖係例示根據本發明各態樣形成之一根 節點3 00之範例邏輯組件之一方塊圖,例如第1 之根更新服務節點1 02。類似於一更新服務節點 圖)之邏輯組件,一根更新服務節點300包含一更 務202、一子更新模組206、及一鑑別/授權模組 外,一範例性根更新服務節點3 0 〇亦包含一管理 一更新内容儲存214、及一更新資料儲存216。 要,該根更新服務節點3 00亦可包含一客戶端 人士將可 方式,一 到其有實 節點200 取得軟體 200之眾 之其它組 一定是實 可結合在 ,外,應了 之一伺服 可實施於 節點 2 0 0 包含多重 更新服務 圖中例示 200(第 2 新網頁服 2 10。此 API 212、 其可視需 更新模組 16 200533111 2 04、一回報模組204、及一管理使用者介面218。 該客戶端更新模組204係一根更新服務節點3〇〇之一 任選組件,其係根據是否該根更新服務節點可直接提供軟 體更新至客戶端電腦而定。舉例來說,參照第1圖,根更 新服務節點102包含該任選客戶端更新模組204作為直接 服務客戶端電腦11 2之根更新服務節點。然而,若一根更 新服務節點300不直接服務客戶端電腦,該客戶端更新模 組204可被省略。 由於一根更新服務節點沒有更新報告提供至此母更新 服務節點,該回報模組2 0 8對於一根更新服務節點3 〇 〇來 說為任選。然而,若該根更新服務節點之管理者想要該更 新報告,可視需要來包含該回報模組208。 除了包含内含於一更新服務節點200 (第2圖)中之邏 輯組件之外’該根更新服務節點3 0 0亦包含一軟體提供者 介面3 02。該軟體提供者介面3 02提供該通訊介面,藉此 一軟體提供者110 (第1圖)直接送出軟體更新至該根更新 服務節點3 00,且間接至該範例性更新分散系統1 〇〇。 類似於第2圖之更新服務節點2 0 0,上述第3圖例示 一範例性根更新服務模組300之眾多組件。然而,應了解 亦可存在有一根更新服務模組之其他組件。此外,上述組 件應了解為邏輯組件,並非必要為實際組件。在一實際實 施方式中,上述已識別組件可結合在一起及/或根據實施方 式決疋與其他組件結合。此外’應了解雖然一根更新服務 節點2 0 0可被視為一網路上之一伺服器電腦,在一實際實 17
200533111 施方式中,一更新服務節點可實施於任何型態之運 上。舉例來說,該根更新服務節點3 0 0可實施及/或 單一獨立電腦系統上,或者於包含多重運算裝置之 式運算系統上。 為了更加了解一更新如何透過一更新分散系統 該根更新服務節點分散,其保證了一母更新服務節 子更新服務節點之間的一範例性交換之一例示。第 例示根據本發明各態樣之一母更新服務節點4〇2與 新服務節點404之間的範例性交換400之一方塊圖 自該母更新服務節點傳遞一軟體更新至該子更新 點。如此可知,該範例圖4 0 0被切為兩半’左半邊 該母更新服務節點402之動作與事件,而右半邊對 子更新服務節點404之動作與事件。 為了參考第4圖進行討論,另應了解到該母更 節點402可以或也可不能做為該更新分散系統1〇〇 更新服務節點。此外,為了此討論的目的,假設該 服務節點402已由一管理者配置,使得該子更新服 4 04不會接收到軟體更新,直到明確地由該管理者 麼做為止。 如該範例性交換400中所示,從事件406開始 更新服務節點402在當該母更新服務節點並非該根 務節點時,可自一軟體提供者110接收一軟體更新 接接收,母或透過該更新分散系統1 〇〇間接地完成 母更新服務節點4〇2自該軟體提供者11〇接收該軟 算裝置 安裝於 一分散 100 I 點與一 4圖係 一子更 ,其係 服務節 對應至 應至該 新服務 中之根 母更新 務節點 授權這 ,該母 更新服 或是直 。在該 體更新 18
200533111 後之某一時刻’該子更新服務節點4 〇 4即開始一程序, 以自該母更新服務節點取得軟體更新。 根據〆實施例,一子更新服務節點404可用以一定 性基礎自動地自一母更新服務節點202取得該軟體更新 特別是,一管理者經由該管理使用者介面218,可選擇 設置該子更新服務節點404以一定期性基礎自動地取得 母更新服務節點402上可用之最新軟體更新。舉例來說 一管理者可設置該子更新服務節點404以每日及/或每 時為基礎來自其母更新服務節點402取得該最新軟體 新,以及指定進行該自動更新程序之每日時間。其亦可 用其他定期的時程與規則。同樣的,一管理者可透過該 理使用者介面218手動地啟動該更新程序。 為了開始該更新過程,於事件408中,該子更新服 節點404利用該母更新服務節點402自我鑑別與授權。 該母更新服務節點402鑑別與授權來提供軟體更新分散 一控制元件,限制更新分散至已授權的更新服務節點。 別與授權技術為業界已知,其可使用任何數量來利用該 更新服務節點402鑑別與授權一子更新服務節點404。 發明並不限制於任一種技術。 於適當地利用該母更新服務節點402鑑別與授權 後,於事件410中,該母更新服務節點402傳回一授權 號至該子更新服務節點404。根據一實施例,一授權記 係一時間敏感性記號,其提供該子更新服務節點404授 於一限量的時間内進一步利用該母更新服務節點進行更 用 期 〇 性 該 小 更 利 管 務 以 之 鑑 母 本 之 記 號 權 新 19 200533111 務節點404未適當地利用該母 即不會傳回授權記號,且該子 其他更新相關活動,除非加以 更新記號過期之後,該子更_ 更新服務節點402來執行任何 非重新加以鑑別與授權。
’於事件412中,該子更新服 目錄的請求以及該授權記號至 更新目錄代表軟體產品之—歹,j 服務節點402分散軟體更新。 子更新服務節點404不需要傳 可用之所有軟體更新。舉例來 新分散系統,該公司更新服務 該根更新服務節點1 02上可用 ,該公司更新服務節點1 04即 點102上可用之所有軟體更
活動。因此,若該子更新服 更新服務節點鑑別與授權, 更新服務節點無法執行任何 鑑別與授權。同樣的,在該 服務節點4 0 4無法利用該母 進一步之更新相關活動,除 在接收該授權記號之後 務節點404送出一產品更新 該母更新服務節點。_產品 表或内容表,為此該母更新 根據本發明各態樣,一 遞其母更新服務節點402上 說’參照第1圖之範例性更 節點1 0 4可具有場所授權給 之軟體產品之一部分。據此 不需要取得該根更新服務節 新。據此,一更新服務節點上之一管理者可選擇性地建立 那些軟體產品更新可用於該更新服務節點上者。 根據本發明之一態樣,由一母更新服務節點402取得 之更新產品目錄可識別可用之更新的所有軟體產品,無論 該子更新服務節點4〇4是否設置來分散每項產品之更新。 然而,根據本發明之另一態樣,由一母更新服務節點402 取得之更新產品目錄僅可識別該請求中子更新服務節點所 配置來分散更新之那些軟體產品。舉例來說,限制那些軟 20
200533111 體產品要列於該產品更新目錄中,即可根據該子更新 節點404隸屬之群組加以決定。 於事件414中,該母更新服務節點402傳回一產 新目錄至該子更新服務節點404。於事件416中,該 新服務節點404從該產品更新目錄選擇目前想要的最 新的那些產品。其應注意到即使該產品更新目錄可能 出那些該子更新服務節點404分散之軟體產品,該子 服務節點可以設置來在不同時間或以不同的定期排程 得不同軟體產品之更新。 於事件418中,該子更新服務節點404送出一更 步化請求,以及該授權記號,識別該子更新服務節點 尋找之那些更新的已選擇產品。包含於該同步化請求 係為識別在該子更新服務節點404上一可用產品之最 新之資訊。識別一產品的最新更新之資訊於此後稱為一 新錨」。各軟體產品之更新錨一般係儲存於該更新資訊 2 1 6 (第2圖)中。在一實施例中,一更新錨包含一修正 瑪與關於該修正版編號之一日期。 為了響應該更新同步化請求,於事件420中,該 新服務節點402決定那些更新(若有的話)可用於該子 服務節點404。如上所述,此決定根據關於特定軟體 與一子更新服務節點404為其中之一成員之群組之特 則,以及該更新錨而定。對此範例來說,如前所述, 前接收的軟體更新並未對該子更新服務節點4〇4明確 權。因此,於事件406中接收之軟體更新並不會決定 服務 品更 子更 新更 僅列 更新 來取 新同 目前 中者 新更 -「更 儲存 版編 母更 更新 更新 定規 該先 地授 為在 21
200533111 該子更新服務節點404上「可用」。據此,於事 一更新列表即傳回到該子更新服務節點404 ’ 於事件406中所接收之軟體更新。根據本發明 更新列表根據該同步化請求來識別該母更新服 上所有「可用」的更新。在一實施例中,該更 於一更新之一唯一識別項來識別「可用」的更j 於事件424中,由於該更新列表為空的, 母更新服務節點402上無「可用」的更新,該 節點404之更新過程即單純地延遲、或沉睡一 間。根據目前範例,於此延遲過程期間’於事 一管理者於該母更新服務節點402授權於事件 欲分散至該子更新服務節點404之軟體更新。 於事件428中(第4B圖),該子更新服務節 以該母更新服務節點402自我鑑別與授權再次 更新過程。在回應中,於事件430中,該母更 402傳回一授權記號至該子更新服務節點404。 於事件432中,該子更新服務節點404為 目錄送出一請求,以及該授權記號,至該母更 402。於事件434中,該母更新服務節點402傳 新目錄至該子更新服務節點404。於事件436 新服務節點404對於想要的更新來選擇更新目 於事件438中,該子更新服務節點404送出該 請求,以識別那些具有該授權記號之已選擇的」 由於該子更新服務節點404已被授權獲得 件422中, 而並不識別 各態樣,該 務節點 402 新列表由關 听資訊。 即目前在該 子更新服務 預定量之時 件426中, 406接收並 點404藉由 開始該自動 新服務節點 一產品更新 新服務節點 回該產品更 中,該子更 錄之產品。 更新同步化 篆品。 先前於事件 22 200533111 406中接收之敕於苗 秋體更新,於事件440中,該母更 點4 0 2決定該數辦泡 體更新「可用」於該子更新服務 。a在該更新列表中對應的更新資訊。然後,於 中該母更新服務節點4〇2傳回現在識別了在事 接收之軟IS更新t t _列表至該子更新服務節點 藉由該母更新服務節點402上識別一「可用 一更新列表’該子更新服務節點404現在具有取 更新之必要資訊。根據本發明之一實施例,一子 節點404於以下的兩個部分中自該母更新服務節 得該軟體更新:取得更新中繼資料,及取得該更 槽案,此後稱為該更新必要負載。如將在稍後詳知 該更新中繼資料描述了該軟體更新之切合態樣, 不限於··唯一識別該更新之一更新識別項、關於 新之修正版編號資訊、是否該軟體更新應被視為 性、語言特定資訊、與其他軟體更新之關係、為 的之更新必要負載位置、安裝管理器程序等等。 於這兩部分中(即該更新中繼資料與該更新ί 整個軟體更新經常較為有利的一些原因係該更新 常常實質上大於該更新中繼資料,且該更新必要 皆有立即性的需求,即使有需要,也是於一客戶 的安裝所需。因此,根據本發明之一實施例,該 負載與該更新中繼資料係分別地下載’且僅在需 麼做。熟知技藝人士應可了解此下载技術為”懶” 者為及時性下載。根據本發明各態樣,一管理者 新服務節 節點,且 事件 442 件406中 404 〇 」更新之 得該軟體 更新服務 點402取 新内容或 |說明者, 其包含但 該軟體更 具有優先 了下載目 I載)下載 必要負載 負載並非 端電腦上 更新必要 要時才這 下載,或 可設置一 23 更新服務 立即取得 更新中繼 如第 更新,於 列表中其 繼資料。 交換,該 例示範例 據本發明 超過一次 要該更新 下載中為 更新上之 後,即可 事件4 4 6 服務節點 繼資料至
200533111 節點來以一及時化方泞 々武取得該更新必要負 該更新中繼資料。此々k 一 此外,於另一具體實施 資料與該更新負载可一起下載。 4B圖中所示,藉由少 稽由在該更新列表中所識 事件444 +胃子更新服務節·點404根據 唯-識別項來請求該「可用」軟體更新之 如同大部分與該母更新服務節點402之其 更新請求係以該授權記號送出。其應注意 中,所有更新中繼資料係在一次存取中下 其他態樣(未見於圖式),該更新中繼資料 存取中下載。舉例來說,於一第一存取中 中繼資料之元件即可決定是否一軟體更新 可用與/或想要,例如可應用性規則及與其 依附性。接著,於決定一更新為可用即/或 取得該更新中繼資料之其餘部份。於回應 中’該母更新服務節點402為該軟體更新 4〇4傳回該更新中繼資料,其接著儲存該 該更新資訊儲存216中。 或可視需要,於事件448中,該子更新服務節 送出一凊求來從該母更新服務節點402下載該更新 載。於回應中,於事件45〇中,該母更新服務節點 回該更新必要負載至該子更新服務節點404,其接 儲存於該更新内容儲存214中。在另一實施例中, 新服務節點404自指定於該更新中繼資料中之一位 載,或 例中, 別之一 該更新 更新中 它通訊 到於該 載,根 可以在 ,僅需 於第一 它軟體 想要之 中,於 子更新 更新中 點404 必要負 402傳 著加以 該子更 置之一 24
200533111 儲存位置下載該更新必要負載,其可能並非該母更新 節點402。 由於現在更新活動已經發生於該子更新服務節點 上,於事件452中,該子更新服務節點產生與送出一 報告至該母更新服務節點402,其描繪最近剛發生之 活動。此後,該子更新服務節點404會再次延遲到下 更新過程經過排程而執行為止(未示出)。 熟知技藝人士應了解上述事件僅為例示目的,且 一組特定範例事件與情況。很清楚的,其它事件亦可 將導致上述事件某些變化之特定細節與情況而發生 外’應了解到雖然該子更新服務節點404自該母更新 節點402取得最新「可用」軟體更新,該子更新服務 亦可同時處理來自其子更新服務節點之更新請求。據 上述事件順序僅應被視為例示目的,不應限制本發明 第5圖係例示在一子更新服務節點上執行之範例 序5 00之一流程圖,例如第i圖之公司更新服務節點 從方塊5 02開始,該子更新服務節點自該母更新服務 取得「可用」更新之一同步化更新列表。自該母更新 節點取得「可用」更新之一同步化更新列表將在下方 第6圖描述。 第6圖係第5圖之範例性程序5 0 0中適用之一範 程序600之一流程圖’用以自一母更新服務節點取得 用」更新之一同步化更新列表。從方塊602開始,如 針對第4Α圖與第4Β圖所討論者,該子更新服務節點 服務 404 更新 更新 一次 反應 根據 。此 服務 節點 此, 〇 性程 104 〇 節點 服務 針對 例子 「可 先前 利用 25 200533111 該母更新服務節點進行自我鑑別與授權,且回應於適當的 鑑別與授權,以接收一授權記號《於方塊604中,結合該 授權記號,該子更新服務節點利用該母更新服務節點建立 通訊參數。建立通訊參數可允許該母與子更新服務節點適 當地建立該母與子皆可了解之一共同基礎。該通訊參數包 含但不限於:通訊更新協定或版本、產品群組等等。
於利用該母更新服務節點建立通訊參數之後,於方塊 606中,該子更新服務節點取得描述該母更新服務節點為 此提供/分散更新之軟體產品之一產品更新目錄。於方塊 6 08中,該子更新服務節點選擇目前尋找更新之軟體產品 更新。於方塊610,該子更新服務節點送出一更新同步化 請求至該母更新服務節點,其包含該授權記號與關於識別 已經在該子更新服務節點上之目前修正與更新之已選擇的 軟體產品之一「錨」。 為回應於該更新同步化請求,於方塊612中,該子更 新服務節點自該母更新服務節點取得一更新列表’根據目 前儲存在該子更新服務節點上,且根據該母更新服務節點 上「可用」之軟體更新來同步化。如前所述’該更新列表 由一唯一識別項來識別「可用」於該子更新服務節點之母 更新服務節點上的軟體更新。此後,該範例子程序600即 終止。 再次參照第5圖’於已經自該母更新服務卽點取得一 同步化更新列表之後,在決策方塊504中決定是否目前有 任何軟體更新「可用j而可自該母更新服務即點下載。此 26 200533111
決定係根據是否有任何更新識別項列示於該同步化更新列 表中加以做成。若目前無軟體更新Γ可用」以下載,該範 例程序5 00進行至延遲方塊5 1 0,在此該範例程序中會延 遲/沉睡,直到發生下一個更新期間為止。或者,若有更新 「可用」以從該母更新服務節點下载,於方塊506中,該 子更新服務節點自該母更新服務節點取得更新。自該母更 新服務節點取得「可用」之更新方式將在以下參考第7圖 加以說明。 第7圖係第5圖之範例程序5 00中適用之一範例子程 序700之一流程圖,用以自一母更新服務節點取得「可用」 之軟體更新。從方塊7 02開始,選擇該更新列表中一第一 更新識別項。於方塊704中,該子更新服務節點自該母更 新服務節點取得對應至該已選擇更新識別項之更新中繼資 料,並將其儲存於該更新資訊儲存216中。 根據一具體實施例,於方塊706中,該子更新服務節 點自該母更新服務節點取得對應至該已選擇更新識別項之 更新必要負載,並儲存該更新必要負載於該更新内容儲存 212中。或可視需要,該更新内容不需要立即下載至該子 更新服務節點。如前所述,一子更新服務節點可選擇性地 設置成以一及時化方式自一母更新服務節點下載更新°根 據此選擇性的方式,如第7圖中所例示,並非自方塊704 進行至方塊706,該範例子程序700可選擇性地自方塊704 進行至決策方塊7〇8。 在決策方塊708中,於已經取得該已選擇更新識別項 27 200533111 之更新中繼資料及選擇性的該更新必要負載之後,即決定 在該更新列表中是否有任何額外的更新識別項。若有額外 的更新識別項,於方塊7 1 0中,即選擇該更新列表中之下 一更新識別項,且該子程序700回到方塊7〇4進行額外的 處理。該程序700即會繼續進行,直到在決策方塊708中 決定了在該更新列表中沒有更新識別項,然後該範例子程 序700即終止。
再次回到第5圖,於已經自該母更新服務節點取得該 「可用」更新之後,於方塊508中,該子更新服務節點回 報該更新活動至該母更新服務節點。此後,於延遲方塊5 1 0 中,該範例性程序500即延遲/沉睡一預定量時間’直到下 一更新期間為止,且接著進行至方塊502,以重複上述更 新程序。 如第5圖中例示,於決策方塊504中,即使在一母更 新服務節點上沒有更新「可用」,一子更新服務節點可視需 要設置來回報其更新活動至該母更新服務節點。根據此另 一配置,當沒有更新可用時,該範例性程序500可進行至 方塊508以回報該更新活動。 第8圖係實施於一母更新服務節點上,用以產生識別 「可用」更新之一同步化更新列表,以響應來自一子更新 服務節點之一更新同步化請求之一範例性程序800之一流 程圖。從方塊802開始’該母更新服務節點自一子更新服 務節點接收一更新同步化請求來取得可識別「可用J更新 夕一更新列表。於方塊804中’即選擇在該更新同步化請 28
200533111 求中所識別之第一軟體產品。 於決策方塊806中,即決定對於該已識別軟體產品 否有任何可用的更新。此決定係根據儲存於該更新資訊 存2 1 6中之軟體產品之中繼資料、及根據由該子更新服 節點所提供之更新錨、且根據關於該子更新服務節點所 屬之群組之分散規則加以做成。根據此決定,若有更新「 用」,於方塊808中,關於該「可用」更新之為唯一更新 別項即寫入一更新列表中。於已經將「可用」更新之唯 更新識別項寫入至該更新列表後,於決策方塊810中, 決定在該更新同步化請求中是否還有任何其他軟體產品 別。若在該更新同步化請求中有額外的更新軟體產品, 方塊8 1 4中,該母更新服務節點即選擇在該更新同步化 求中所識別之下一軟體產品,並回到決策方塊8 06來決 是否有該選择軟體產品之「可用」更新。或者,若在該 新同步化請求中不再有軟體產品識別,於方塊8 1 4中, 更新列表即被傳回到該子更新服務節點。此後,該範例 子程序800即終止。 如先前所述,該更新中繼資料描述一軟體更新之切 態樣。事實上,許多態樣對該軟體更新本身做為該更新 要負載是非常重要。舉例來說,若一第一軟體更新之更 中繼資料指出一先前軟體更新必須先行安裝,且根據管 者決定目前並未安裝該先前軟體更新,則下載該第一軟 更新之更新必要負載將沒有價值。因此,藉由不下載該 一軟體更新之更新必要負載,即可保留大量的通訊頻寬 是 儲 務 隸 可 識 即 識 於 請 定 更 該 性 合 必 新 理 體 第 29 200533111 當然,热知技藝人士應了解此僅為更新中繼資料如何提供 關於一軟體更新之重要及且切合資訊之一範例。 雖然更新中繼資料可用任何格式的檔案來傳輸,根據 本發明各態樣,對應至一軟體更新之更新中繼資料係包含 在一標籤基礎檔案中做描述,例如一可擴充標示語言(xml) 檔案。任何適當標籤基礎檔案格式可用於允許可自訂描述 與包含資料之標籤。用以描述與包含資訊之標籤基礎檔 案,例如根據XML或超文字標示語言(HTML)之檔案,皆 為業界所熟知。如本技藝中另外所知者,一標籤基礎XML 播案之内容常常根據一定義檔案加以決定,稱為一架構。 此更新中繼資料由子更新服務節點使用,且亦由客戶端電 腦使用。 於本發明之一實際具體實施例中,一軟體更新之更新 中繼資料係包含在符合一更新中繼資料架構之一 xml& 礎樓案中。第9圖係例示定義一更新中繼資料權案之内容 之一範例性XML基礎更新中繼資料架構900之部分之一 方塊圖。尤其是,該範例性更新中繼資料架構900定義一
Update9 02,其包含下列元件:一 Updateldentity 元件 904、 Properties 元件 906、LocalizedPropertiesCollection 元件 908、Relationships 元件 910、ApplicabilityRules 元件 912、 Files 元件 914、及 HandlerSpecificData 元件 916。針對元 件906-916,一適當更新中繼資料檔案可包含零或多個這 些元件,如同各個標藏限定子”111丨11〇(;(:1^ = ’’0,,,,918。相反 的’一更新中繼資料稽案必須包含一 Updateldentity元件 30
200533111 9 0 2。根據例示中繼資料架構9 〇 〇,在一更新中繼檔案中 每個更新元件,若存在的話,即必須根據上述順序出現 如前所述,各軟體更新即被指派一唯一識別項。根 本發明各態樣,該Updateldentity元件902包含此唯一 別項以及其它的資訊來識別該軟體更新,例如亦關於該 體更新之一修正版編號。 該Properties元件904提供關於該軟體更新之資訊 包含但不限於:該軟體更新本地化之一語言,即英文、 班牙文、法文等等;建議該更新可能於安裝期間於一運 系統上所具有之衝擊的資訊,例如最小、高度衝擊、可 或將需要該運算系統重新開機等等;欲由該軟體更新加 更新之軟體型態,例如一系統驅動程式或一軟體應用 式;對應至該軟體提供者之軟體更新重要性之一重要性 級;來自該軟體提供者之一相關安全性佈告攔;及用以 別該軟體更新之一更新處理器之一更新處理器識別。如 從上列各種型態之屬性可看出,在一更新中繼資料檔案 可能有零或多個Properties元件904。 該 LocalizedPropertiesCollection 元件 906 提供關於 軟體更新之語言特定資訊,例如但不限於:一更新標題 欲顯示給一電腦使用者之一軟體更新說明;來自該軟體 供者之版本註解;終端使用者授權合約與相關資訊;用 解除安裝該軟體更新之使用者指引等等。根據本發明各 樣,該本地化屬性係根據一語言來群組化。舉例來說, 然該 LocalizedPropertiesCollection 元件 906 可包含複數 的 〇 據 識 軟 西 算 能 以 程 等 識 可 中 該 I 提 以 態 雖 個 31 200533111 資訊片段’上述資訊之英文版本會群組在一起,且西班牙 文版本同樣會加以群組。如同上述pr〇perties元件904, 在一更新中繼資料檔案中可能有零或多個 LocalizedPropertiesCollection 元件 906。
該Relationships元件908提供關於目前軟體更新與其 它軟體更新所具有之關係的資訊。這些關係之範例包含但 不限於先決條件軟體更新、代替軟體更新、及隨附軟體更 新。一先決條件軟體更新關係指的是由其唯一更新識別項 所識別之另一軟體更新必須在安裝目前軟體更新之前來安 裝於一客戶端電腦系統上。多重先決條件關係可使用布林 運算子來結合至邏輯敘述中,例如邏輯運算子 AND與 OR,,使得該邏輯敘述之評估可決定安裝該軟體更新於一 客戶端電腦上之合適性。 一隨附軟體更新可識別欲一起安裝之複數個軟體更 新。舉例來說,一隨附應用程式可以指定目前軟體更新與 其他軟體更新間之一互依性,使得若有任何要安裝於一電 腦系統上時,即識別於集束中由其唯一更新識別項所識別 之所有更新皆必須安裝。如同上述先決條件軟體更新,一 隨附軟體更新之元件可利用布林運算子來結合,以形成邏 輯敘述來用於評估要安裝於一客戶端電腦上之該附隨軟體 更新的合適性。相反的,一代替軟體更新可識別已被目前 軟體更新所代替之其他軟體更新。如同上述Properties元 件904,它們在一更新中繼資料檔案中可能有零或多個 Relationships 元件 908。 32
200533111 該ApplicabilityRules元件912提供了用以決定是 軟體更新為可應用即/或適合安裝於一運算系統上之 或測試。雖然有某種程度地類似於該Relati〇nships 9〇8之關係,ApplicabilityRuies元件912測試了可能 能不特別關聯於其他軟體更新之運算系統上之條件。 大部分上述其他元件,在一更新中繼資料檔案中可能 或多個 ApplicabilityRules 元件 912。 該Files元件914識別關於該軟體更新之檔案, 更新必要負載,以及關於那些檔案之資訊。此額外資 含但不限於:在該更新必要負載中是否有一或多個檔 可以取得該檔案之一位置;該檔案之大小;該檔案名 該播案建立日期等等。熟知技藝人士應可立即了解到 軟體更新可用多種方式來安裝於一客戶端電腦上。舉 說,相同軟體更新可藉由一修補來修改現存檔案之部 或者藉由僅利用較新的版本來取代現存檔案的方式來 安裝。因此’根據本發明各態樣,一 Files元件914 新必要負载可包含或參照:現存檔案之一修補、取代 案、或一修補與取代檔案《在一更新中繼資料檔案中 有零或多個Files元件914。 更新可以用多種格式來提供,例如描述了可用該 修補資訊重新寫入之一檔案區域之差異修補、可執 案、取代檔案等等。這些型態之更新各自需要一特定 管理器’以執行該軟體更新於該運算系統上。據此 HandlerSpecificData元件916在該更新中繼資料檔案 否一 規則 元件 或可 如同 有零 即該 訊包 案; 稱; 單一 例來 分, 加以 之更 的檔 可能 差異 行檔 更新 ,該 中提 33
200533111 供一位置,用以包含管理器特定資料/資訊。舉例來 資訊可包含但不限於該管理器必須的一份目錄、對 器之一命令列引數、若某態樣安裝失敗所要採取之 若該安裝成功所要採取之動作等等。一更新中繼資 可包含零或多個HandlerSpecificData元件916。 雖然已例示與描述本發明之眾多實施例與態樣 較佳實施例,應了解可於不超出本發明之精神與範 眾多變更。舉例來說,雖然本發明已經描述成為在 網路上透過一更新分散系統傳遞軟體更新,更新中 以及更新必要負載,其可自一更新服務節點傳遞至 電腦可讀取媒體上之一客戶端電腦,例如一光碟片 片。 【圖式簡單說明】 本發明之前述各態樣與許多存在的優點將在參 詳細說明且結合附圖時更加了解,其中: % 第1圖係根據本發明各態樣形成之一範例性更 系統之示意圖; 第2圖係例示根據本發明各態樣形成之一更新 點之範例性邏輯組件之一方塊圖; ~ 第3圖係例示根據本發明各態樣形成之一根更 - 節點之範例性邏輯組件之一方塊圖; 第4A圖與第4B圖係例示根據本發明各態樣之 新服務節點與一子更新服務節點間之範例性交換之 % ’此 _ 管理 動作、 料檔案 ’包含 嘴内做 一通訊 繼資料 位在一 或一磁 照上述 新分散 服務節 新服務 一母更 —方塊 34
200533111 圖,其中係由該母更新服務節點提供一軟體更新至 新服務節點; 第5圖係例示在一子更新服務節點上所執行的 性程序之流程圖,用以定期地由其母更新服務節點 新; 第6圖係在第5圖之範例性程序中適用之一範 程序之一流程圖,用以自一母更新服務節點取得一 錄; 第7圖係第5圖之範例性程序中適用之一範例 序之一流程圖,用以自一母更新服務節點取得一軟負 第8圖係用以處理來自〆子更新服務節點之一 求之一範例性程序的一流程圖;及 第9圖係例示定義一更新中繼資料檔案之内容 例性以XML為基礎之更新中繼資料架構之部分的 圖0 【主要元件符號說明】 100分散系統 102根更新服務節點 104更新服務節點 106更新服務節點 1 0 8網際網路 110軟體提供者 112客戶端電腦 該子更 一範例 取得更 例性子 更新目 性子程 豐更新; 更新請 之一範 一方塊 35 200533111 11 4客戶端電腦 11 6客戶端電腦 118客戶端電腦 120客戶端電腦 122客戶端電腦 124區域網路 1 2 6子網路
200更新服務節點 202新網路服務 204客戶端更新模組 206子更新模組 208回報模組 210鑑別/授權模組 212管理API 2 1 4更新内容 2 1 6更新資訊 218管理使用者介面 3 00根更新服務節點 302軟體提供者介面 400範例性交換 402母更新服務節點 404子更新服務節點 406接收軟體更新 408鑑別/授權更新存取 200533111 4 1 0傳回鑑別記號 4 1 2請求產品更新目錄 4 1 4傳回產品更新目錄 416自目錄選擇產品 4 1 8請求更新同步化 420決定最新可用更新 422傳回更新列表
424延遲(無更新可用) 426為子授權更新 428鑑別/授權更新存取 430傳回鑑別記號 432請求產品更新目錄 434傳回產品更新目錄 436自目錄選擇產品 438請求更新同步化 440決定最新可用更新 442傳回更新列表 444請求更新中繼資料 446傳回更新中繼資料 448請求更新負載(任選) 450傳回更新負載 452提供更新報告 5 00範例性程序 502自母獲得同步化更新列表(第6圖) 37
200533111 504有任何更新可用嗎? 5 06自母獲得可用更新(第7圖) 508回報更新活動至母 510延遲 600範例性子程序 602母鑑別與授權 604與母建立通訊參數 606自母獲得產品更新目錄 608軟體產品 6 1 0送出同步化請求 61 2自母取得識別可用更新之更新列表 700範例性子程序 702選擇更新列表中之第一更新識別項 704取得對應至已選擇更新識別項之更新中繼資料 7 06取得對應至已選擇更新識別項之更新必要負載 708還有任何的更新識別項嗎? 7 1 0選擇更新列表中之下一更新識別項 800範例性程序 802自子接收更新同步化請求 8 04選擇請求中識別之第一產品 806任何更新可用於已選擇產品嗎? 808為產品撰寫「可用」更新之更新識別項至更新列表中 8 1 0在請求中還有任何的產品嗎? 8 1 2傳回更新列表至子 38 200533111 814選擇請求中之下一產品 900範例性XML基礎更新中繼資料架構 902 Update 904 Updateldentity 元件 906 Properties 元件
908 LocalizedPropertiesCollection 元件 910 Relationships 元件 912 ApplicabilityRules 元件 914 Files 元件 916 HandlerSpecificData 元件 918 標籤限定子 ”minOccurs = ”0""
39

Claims (1)

  1. 200533111 麟 B: 111 拾、申請專利範圍:: 1 · 一種儲存了利用一標籤基礎資料結構所組織之電腦可 讀取資料來傳送對應於一軟體更新之更新中繼資料到 一更新服務節點或一客戶端電腦之電腦可讀取媒體, 該標鐵基礎資料結構包含: 一更新識別(Updateldentity)元件,用以唯一識別 該軟體更新;
    零或多屬性(Properties)元件,用以儲存關於該軟 體更新之一般屬性; 零或多 LocalizedPropertiesCollection(本地化屬 性集合)元件,用以儲存指引關於該軟體更新之一電腦 使用者之内容; 零或多 Relationships(關係)元件,用以儲存該軟 體更新與其它軟體更新間所具有之關係; 零或多ApplicabilityRules(應用性規則)元件,用 以儲存用以決定該軟體更新對一客戶端電腦之可應用 性之規則; 零或多Files(檔案)元件,用以儲存描述關於該軟 體更新之必要負載之資訊的資訊;及 零或多 HandlerSpecificData(管理器特定資料)標 籤,用以儲存用於安裝該軟體更新之特定型態之更新 管理器資訊。 2. 如申請專利範圍第1項所述之電腦可讀取·媒體,其中 40 200533111 上述標滅基礎資料結構係一 xml資料結構。 3 ·如申請專利範圍第1項所述之電腦可讀取媒 上述標籤基礎資料結構之元件若存在,即根 序來包含於該更新中繼資料中。 4 ·如申請專利範圍第1項所述之電腦可讀取媒 上述Updateldentity元件包含一可唯一識別 新之唯一識別項子元件’及一可識別與該軟 關之一修正版編號的修正版編號子元件。 5 ·如申請專利範圍第1項所述之電腦可讀取媒 一 Relationships元件包含一先決條件子元件 別必須於該軟體更新安裝之前安裝的一第 新。 6.如申請專利範圍第5項所述之電腦可讀取媒 上述Relationships元件包含複數先決條件子 可識別與布林運算子結合至一邏輯敘述之複 新,使得該邏輯敘述之評估可決定安裝在一 腦上之該軟體更新之適合性。 7 ·如申請專利範圍第1項所述之電腦可讀取媒 一 Relationships元件包含一隨附子元件,其 須共同擴充安裝之複數軟體更新。 8 · 如申請專利範圍第7項所述之電腦可讀取媒 於該隨附子元件中之複數軟體更新與布林運 結合至一邏輯敘述中,使得該邏輯敘述之評 體,其中 據上述順 體,其中 該軟體更 體更新相 體,其中 ,其可識 二軟體更 體,其中 元件,其 數軟體更 客戶端電 體,其中 可識別必 體,其中 算子一起 估可決定 41 200533111 安裝於一客戶端電腦上之該軟體更新之適合性 9 ·如申請專利範圍第1項所述之電腦可讀取媒體 一 Relationships元件包含一代替子元件,其可 該軟體更新代替之至少一其它軟體更新。 1 0 ·如申請專利範圍第1項所述之電腦可讀取媒體 一 Relationships元件包含任何數量之用以識 於該軟體更新安裝之前要安裝的其它軟體更新 ® 條件子元件’其用於識別必須共同擴充安裝之 體更新之附隨子元件、及用於識別由該軟體更 之至少一其它軟體更新之代替子元件。 1 1 ·如申請專利範圍第1項所述之電腦可讀取媒體 一 Files元件包含識別用以修補一客戶端電腦 槽案之軟體更新的必要負載之資訊。 12. 如申請專利範圍第1項所述之電腦可讀取媒體 - Files元件包含識別用以取代一客戶端電腦 • 播案之軟體更新的必要負載之資訊。 13. 如申請專利範圍第12項所述之電腦可讀取媒背 一 Files元件包含識別同時用以修補一客戶端 . 現存構案與取代一客戶端電腦上現存稽案之軟 的必要負載之資訊。 - 14· 一種儲存了利用一標籤基礎資料結構所組織之 讀取資料來傳送對應於一軟體更新之更新中繼 一更新服務節點或一客戶端電腦之電腦可讀取 ,其中 識別由 ,其中 別必須 之先決 複數軟 新代替 ,其中 上現存 ,其中 上現存 I,其中 電腦上 體更新 電腦可 資料到 媒體, 42 200533111 該標籤基礎資料結構包含: 一 UpdateIdentity元件,用以唯一識別該軟體更 新; • 冑或多Re — ps元件,用以儲存該軟體更新 與其它軟體更新之間所具有之關係;及 零或多Files το件,用以儲存描述關於該軟體更 新的必要負載之資訊之資訊。 • 15·如申請專利範圍第14項所述之電腦可讀取媒體,其中 上述標籤基礎資料結構係一 XML資料结構。 1 6 ·如申請專利範圍第1 4項所述之電腦可讀取媒體,其中 上述Updateldentity元件包含唯_識別該軟體更新之 一唯一識別項子元件,及用於識別與該軟體更新相關 之一修正版編號的一修正版編號子元件。 17·如申請專利範圍第16項所述之電腦可讀取媒體,其中 一 Relationships元件包含一先決條件子元件,用以識 鲁 別必須於該軟體更新安裝之前安裝之一第二軟體更 新。 18·如申請專利範圍第17項所述之電腦可讀取媒體,其中 一 Relationships元件包含複數先決條件子元件,其可 識別與布林運算子一起結合至一邏輯敘述中之複數軟 ' 體更新,使得對該邏輯敘述之評估可決定安裝於一客 戶端電腦上的該軟體安裝之合適性。 1 9 ·如申請專利範圍第i 6項所述之電腦可讀取媒體,其中 43 200533111 一 Relationships元件包含一隨附子元件,其可識別必 須共同擴充安裝之複數軟體更新。 20·如申請專利範圍第19項所述之電腦可讀取媒體,其中 上述隨附子元件中複數軟體更新與布林運算子一起結 合至一邏輯敘述中,使得對該邏輯敘述之評估可決定 安裝於一客戶端電腦上的該軟體安裝之合適性。 21.如申請專利範圍第16項所述之電腦可讀取媒體,其中 一 Relationships元件包含一代替子元件,其可識別由 該軟體更新代替之至少一其他軟體更新。 22·如申請專利範圍第16項所述之電腦可讀取媒體,其中 一 Relationships元件包含任何數量之用以識別必須 於該軟體更新安裝之前要安裝之其它軟體更新之先決 條件子元件,用於識別必須共同擴充安裝之複數軟體 更新之附隨子元件、及用於識別由該軟體更新代替之 至少一其它軟體更新之代替子元件。 23·如申請專利範圍第16項所述之電腦可讀取媒體,其中 一 F i 1 e s元件包含識別用以修補一客戶端電腦上之現 存檔案之軟體更新的必要負載之資訊。 24.如申請專利範圍第16項所述之電腦可讀取媒體,其中 一 Files元件包含識別用以取代一客戶端電腦上之現 存檔案之軟體更新的必要負載之資訊。 25·如申請專利範圍第24項所述之電腦可讀取媒體,其中 一 Files元件包含識別同時用以修補一客戶端電腦上 44 200533111 之現存檔案與取代一客戶端電腦上之現存檔案之軟體 更新的必要負載之資訊。
    45
TW094101690A 2004-03-12 2005-01-20 Tag-based schema for distributing update metadata in an update distribution system TWI369869B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/799,440 US7539686B2 (en) 2004-03-12 2004-03-12 Tag-based schema for distributing update metadata in an update distribution system

Publications (2)

Publication Number Publication Date
TW200533111A true TW200533111A (en) 2005-10-01
TWI369869B TWI369869B (en) 2012-08-01

Family

ID=34912620

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094101690A TWI369869B (en) 2004-03-12 2005-01-20 Tag-based schema for distributing update metadata in an update distribution system

Country Status (16)

Country Link
US (1) US7539686B2 (zh)
EP (1) EP1585287A3 (zh)
JP (1) JP4907876B2 (zh)
KR (1) KR100942127B1 (zh)
CN (1) CN1668010A (zh)
AU (1) AU2005200328B2 (zh)
BR (1) BRPI0500296A (zh)
CA (1) CA2495339C (zh)
IL (1) IL166813A0 (zh)
MX (1) MXPA05001673A (zh)
MY (1) MY144440A (zh)
NO (1) NO20050535L (zh)
NZ (1) NZ538169A (zh)
RU (1) RU2378686C2 (zh)
SG (1) SG115727A1 (zh)
TW (1) TWI369869B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354852B2 (en) 2010-12-23 2016-05-31 Microsoft Technology Licensing, Llc Satisfying application dependencies

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169075A1 (en) * 2003-09-05 2007-07-19 David Lill Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
US7130863B2 (en) * 2003-09-24 2006-10-31 Tablecode Software Corporation Method for enhancing object-oriented programming through extending metadata associated with class-body class-head by adding additional metadata to the database
US7536434B1 (en) * 2004-09-30 2009-05-19 Avaya Inc. Global dynamic persistent information architecture
US7809763B2 (en) * 2004-10-15 2010-10-05 Oracle International Corporation Method(s) for updating database object metadata
US7475396B2 (en) * 2004-12-03 2009-01-06 International Business Machines Corporation Method and apparatus for defining, building and deploying pluggable and independently configurable install components
US20070043752A1 (en) * 2005-08-19 2007-02-22 Opnet Technologies, Inc. Disparate network model synchronization
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US20070203956A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Metadata Customization Using Diffgrams
US8726267B2 (en) * 2006-03-24 2014-05-13 Red Hat, Inc. Sharing software certification and process metadata
US8775572B2 (en) * 2006-06-23 2014-07-08 Microsoft Corporation Public network distribution of software updates
US7873957B2 (en) * 2006-07-27 2011-01-18 Microsoft Corporation Minimizing user disruption during modification operations
US7676586B2 (en) * 2006-10-05 2010-03-09 Microsoft Corporation Hierarchical federation metadata
GB0623917D0 (en) * 2006-11-30 2007-01-10 Ibm Method, apparatus and computer program for controlling retention of publications
GB0624577D0 (en) * 2006-12-08 2007-01-17 Skype Ltd Communication Systems
US8429626B2 (en) * 2007-02-15 2013-04-23 Microsoft Corporation Packaging content updates
CN101425922B (zh) * 2007-10-31 2011-09-28 国际商业机器公司 跟踪和定位web服务更新过程中的改变的方法和装置
JP4991668B2 (ja) * 2008-09-29 2012-08-01 株式会社東芝 コンピュータシステムおよび修正パッチ確認/適用方法
US8302088B2 (en) * 2008-10-15 2012-10-30 International Business Machines Corporation Analysis of effects of a software maintenance patch on configuration items of a CMDB
US8898660B2 (en) * 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
US8914783B2 (en) * 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
CA2749462C (en) 2009-01-14 2017-05-02 Telefonaktiebolaget Lm Ericsson (Publ) An iptv device and a method adapted for such a device
US8832023B2 (en) * 2009-01-30 2014-09-09 Apple Inc. System for managing distributed assets and metadata
JP5321816B2 (ja) * 2009-03-27 2013-10-23 日本電気株式会社 コンピュータネットワークシステム及びその管理方法
US10282373B2 (en) * 2009-04-17 2019-05-07 Excalibur Ip, Llc Subject-based vitality
WO2010129487A1 (en) * 2009-05-02 2010-11-11 Citrix Systems, Inc. Methods and systems for providing a consistent profile to overlapping user sessions
US9003387B2 (en) * 2009-09-25 2015-04-07 Fisher-Rosemount Systems, Inc. Automated deployment of computer-specific software updates
US20110078199A1 (en) * 2009-09-30 2011-03-31 Eric Williamson Systems and methods for the distribution of data in a hierarchical database via placeholder nodes
US8996453B2 (en) 2009-09-30 2015-03-31 Red Hat, Inc. Distribution of data in a lattice-based database via placeholder nodes
US8984013B2 (en) * 2009-09-30 2015-03-17 Red Hat, Inc. Conditioning the distribution of data in a hierarchical database
US9031987B2 (en) * 2009-09-30 2015-05-12 Red Hat, Inc. Propagation of data changes in distribution operations in hierarchical database
US8972974B2 (en) * 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US9128799B2 (en) * 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US8671402B2 (en) * 2009-11-09 2014-03-11 Bank Of America Corporation Network-enhanced control of software updates received via removable computer-readable medium
US9122558B2 (en) * 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US20110113226A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US20110154004A1 (en) * 2009-12-23 2011-06-23 genForma Corp Installing and Configuring Software and/or Hardware Components Using Metadata Representations of Component Interdependencies
US8315174B2 (en) * 2009-12-31 2012-11-20 Red Hat, Inc. Systems and methods for generating a push-up alert of fault conditions in the distribution of data in a hierarchical database
US8316120B2 (en) * 2010-02-02 2012-11-20 Microsoft Corporation Applicability detection using third party target state
US20110238572A1 (en) * 2010-03-25 2011-09-29 Bank Of America Corporation Remote Control Of Self-Service Terminal
JP2011203971A (ja) * 2010-03-25 2011-10-13 Fuji Xerox Co Ltd 情報処理装置及びプログラム
CN101951400B (zh) * 2010-09-13 2013-01-02 烽火通信科技股份有限公司 一种家庭网络中应用终端的软件安装和升级方法及系统
US20120245984A1 (en) * 2011-03-21 2012-09-27 Sungil Lee Systems and methods for acquiring a captive customer base within a cloud environment
JP5790222B2 (ja) * 2011-07-12 2015-10-07 株式会社リコー 通信装置、アップデート方法およびアップデートプログラム
US9253164B2 (en) 2011-09-12 2016-02-02 Microsoft Technology Licensing, Llc Distribution of portions of content
US8613101B2 (en) 2011-09-12 2013-12-17 Microsoft Corporation Software distribution service federation
US8839222B1 (en) * 2011-09-21 2014-09-16 Amazon Technologies, Inc. Selecting updates for deployment to a programmable execution service application
US8726263B2 (en) 2011-09-28 2014-05-13 Microsoft Corporation Detection and installation of software on a per-user basis
US8959504B2 (en) 2011-10-18 2015-02-17 Microsoft Corporation Update scanning
US9043778B2 (en) * 2011-12-01 2015-05-26 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
US8825817B1 (en) * 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
JP5330565B2 (ja) * 2012-04-24 2013-10-30 株式会社東芝 コンピュータ
US9032386B1 (en) * 2012-07-30 2015-05-12 Adobe Systems Incorporated Product upgrade location identifier for software upgrade
KR20140057998A (ko) * 2012-11-05 2014-05-14 삼성전자주식회사 전자 장치에서 응용프로그램의 갱신 정보를 알리기 위한 방법 및 장치
US9489188B1 (en) * 2012-11-14 2016-11-08 Amazon Technologies, Inc. Tag-based deployment
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
WO2014209078A1 (en) * 2013-06-28 2014-12-31 Samsung Electronics Co., Ltd. Method and apparatus for updating application
KR101491018B1 (ko) 2013-07-10 2015-02-06 에스케이플래닛 주식회사 클라우드 오픈 api 기반 토큰을 이용한 클라우드 서비스 점검 시스템, 클라우드 서비스 점검 방법 및 이를 위한 장치
JP6173112B2 (ja) * 2013-08-09 2017-08-02 キヤノン株式会社 同意事項を通知するか判断するシステム、方法、及びプログラム
CN104378391A (zh) * 2013-08-12 2015-02-25 无锡知谷网络科技有限公司 软件更新方法、系统及设备
JP2015103105A (ja) * 2013-11-26 2015-06-04 株式会社リコー 通信装置、通信システム、及び通信プログラム
JP2015103106A (ja) * 2013-11-26 2015-06-04 株式会社リコー 通信装置、及び通信プログラム
EP3140734B1 (en) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US10210172B1 (en) * 2014-08-14 2019-02-19 Google Llc File system integration and synchronization between client and server
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
US11669320B2 (en) 2016-02-12 2023-06-06 Nutanix, Inc. Self-healing virtualized file server
US10382312B2 (en) 2016-03-02 2019-08-13 Fisher-Rosemount Systems, Inc. Detecting and locating process control communication line faults from a handheld maintenance tool
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10560356B2 (en) * 2016-07-14 2020-02-11 International Business Machines Corporation Assuring data correctness in non-stable network environment
US11605037B2 (en) 2016-07-20 2023-03-14 Fisher-Rosemount Systems, Inc. Fleet management system for portable maintenance tools
US10554644B2 (en) 2016-07-20 2020-02-04 Fisher-Rosemount Systems, Inc. Two-factor authentication for user interface devices in a process plant
US10270853B2 (en) * 2016-07-22 2019-04-23 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and an asset management system
US10599134B2 (en) 2016-07-22 2020-03-24 Fisher-Rosemount Systems, Inc. Portable field maintenance tool configured for multiple process control communication protocols
US10375162B2 (en) 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication architecture
US10585422B2 (en) 2016-07-22 2020-03-10 Fisher-Rosemount Systems, Inc. Portable field maintenance tool system having interchangeable functional modules
US10374873B2 (en) 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and a process control instrument
US10764083B2 (en) 2016-07-25 2020-09-01 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with resistor network for intrinsically safe operation
US10505585B2 (en) 2016-07-25 2019-12-10 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with a bus for powering and communicating with a field device
US10481627B2 (en) 2016-07-25 2019-11-19 Fisher-Rosemount Systems, Inc. Connection check in field maintenance tool
US10387385B1 (en) * 2016-09-29 2019-08-20 Servicenow, Inc. System and method for batch database modification
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
JP6667430B2 (ja) * 2016-12-27 2020-03-18 クラリオン株式会社 ソフトウェア更新装置、ソフトウェア更新システム
US11693827B2 (en) * 2016-12-29 2023-07-04 Microsoft Technology Licensing, Llc Syncing and propagation of metadata changes across multiple endpoints
JP6334776B1 (ja) * 2017-04-20 2018-05-30 三菱電機株式会社 電子制御装置
CN109213502B (zh) * 2017-06-30 2022-09-27 上海尚往网络科技有限公司 应用更新方法和装置
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
WO2020232707A1 (zh) * 2019-05-23 2020-11-26 深圳市大疆创新科技有限公司 分布式系统中通信协议版本号的更新
CN110162322A (zh) * 2019-05-27 2019-08-23 网宿科技股份有限公司 一种升级方法及装置
CN111581223B (zh) * 2020-04-11 2023-08-22 北京城市网邻信息技术有限公司 一种数据更新方法、装置、终端设备及存储介质
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN111930521A (zh) 2020-09-23 2020-11-13 北京百度网讯科技有限公司 用于部署应用的方法、装置、电子设备及可读存储介质
US11755309B2 (en) * 2022-01-19 2023-09-12 Red Hat, Inc. Tagging packages in an application ecosystem

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04635A (ja) * 1990-04-18 1992-01-06 Fujitsu Ltd ファイル更新方式
US6947571B1 (en) * 1999-05-19 2005-09-20 Digimarc Corporation Cell phones with optical capabilities, and related applications
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US7051243B2 (en) * 2002-04-30 2006-05-23 Sun Microsystems, Inc. Rules-based configuration problem detection
US6711557B1 (en) * 2000-08-14 2004-03-23 Adobe Systems Incorporated Client-based background update monitoring
EP1327191B1 (en) * 2000-09-22 2013-10-23 Lumension Security, Inc. Non-invasive automatic offsite patch fingerprinting and updating system and method
US7003110B1 (en) * 2000-11-14 2006-02-21 Lucent Technologies Inc. Software aging method and apparatus for discouraging software piracy
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20020069192A1 (en) * 2000-12-04 2002-06-06 Aegerter William Charles Modular distributed mobile data applications
AU2002230771A1 (en) 2000-12-07 2002-06-18 Webputty Automatically deploy and upgrade an application based on markup language application definition
KR100774475B1 (ko) * 2001-04-21 2007-11-08 엘지전자 주식회사 이동 단말기의 소프트웨어를 다운로드하는 방법
US20040015939A1 (en) * 2001-05-16 2004-01-22 Cheah Jonathon Y. Updateable memory module
US7350207B2 (en) 2001-05-25 2008-03-25 Tellabs Operations, Inc. Rule-based system and method for downloading computer software over a network
US20030018964A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Object model and framework for installation of software packages using a distributed directory
CA2354443A1 (en) * 2001-07-31 2003-01-31 Ibm Canada Limited-Ibm Canada Limitee Method and system for visually constructing xml schemas using an object-oriented model
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
US7526575B2 (en) * 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager
US20040073903A1 (en) * 2002-04-23 2004-04-15 Secure Resolutions,Inc. Providing access to software over a network via keys
US20040006586A1 (en) * 2002-04-23 2004-01-08 Secure Resolutions, Inc. Distributed server software distribution
US20040003390A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
US7366460B2 (en) * 2003-01-23 2008-04-29 Dexterra, Inc. System and method for mobile data update
JP2003308273A (ja) * 2003-02-10 2003-10-31 Seiko Epson Corp ネットワーク上に存在するコンテンツを自動収集するシステム
WO2004092982A2 (en) * 2003-04-07 2004-10-28 Dexterra, Inc. System and method for context sensitive mobile data and software update
US7574706B2 (en) * 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US20080244555A1 (en) * 2007-03-29 2008-10-02 Welvaert Eugene F Bundling software updates

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354852B2 (en) 2010-12-23 2016-05-31 Microsoft Technology Licensing, Llc Satisfying application dependencies
US9977665B2 (en) 2010-12-23 2018-05-22 Microsoft Technology Licensing, Llc Satisfying application dependencies

Also Published As

Publication number Publication date
EP1585287A2 (en) 2005-10-12
NZ538169A (en) 2007-05-31
CN1668010A (zh) 2005-09-14
EP1585287A3 (en) 2006-05-03
TWI369869B (en) 2012-08-01
RU2005101833A (ru) 2006-07-10
CA2495339A1 (en) 2005-09-12
JP2005259115A (ja) 2005-09-22
RU2378686C2 (ru) 2010-01-10
IL166813A0 (en) 2006-01-15
MXPA05001673A (es) 2005-09-14
US7539686B2 (en) 2009-05-26
KR100942127B1 (ko) 2010-02-16
US20050228798A1 (en) 2005-10-13
SG115727A1 (en) 2005-10-28
AU2005200328B2 (en) 2009-06-11
AU2005200328A1 (en) 2005-09-29
CA2495339C (en) 2013-04-30
NO20050535D0 (no) 2005-02-01
BRPI0500296A (pt) 2005-11-08
AU2005200328A2 (en) 2005-09-29
JP4907876B2 (ja) 2012-04-04
KR20050091998A (ko) 2005-09-16
NO20050535L (no) 2005-09-13
MY144440A (en) 2011-09-15

Similar Documents

Publication Publication Date Title
TW200533111A (en) Tag-based schema for distributing update metadata in an update distribution system
KR101159338B1 (ko) 소프트웨어를 배포하는 업데이트 배포 시스템 아키텍처 및방법
JP4916432B2 (ja) アップデートの配布システムにおいてソフトウェアアップデートの配布を管理するためのアプリケーションプログラミングインターフェース
TW200305319A (en) Delta replication of source files and packages across networked resources
US8230006B2 (en) Remote client management
KR20040101471A (ko) 데이터 분산 방법 및 시스템
IL166812A (en) Update distribution system architecture and method for distributing software
MXPA06010207A (en) Application programming interface for administering the distribution of software updates in an update distribution system

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees