TWI359597B - Method,computer system ,and computer-readable medi - Google Patents

Method,computer system ,and computer-readable medi Download PDF

Info

Publication number
TWI359597B
TWI359597B TW093122089A TW93122089A TWI359597B TW I359597 B TWI359597 B TW I359597B TW 093122089 A TW093122089 A TW 093122089A TW 93122089 A TW93122089 A TW 93122089A TW I359597 B TWI359597 B TW I359597B
Authority
TW
Taiwan
Prior art keywords
update
client computer
computer device
software update
software
Prior art date
Application number
TW093122089A
Other languages
English (en)
Other versions
TW200520490A (en
Inventor
Michael Edward Meulemans
Aaron Averbuch
Jason Roberts
Ken Showman
Mazhar Mohammed
Joseph G Dadzie
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 TW200520490A publication Critical patent/TW200520490A/zh
Application granted granted Critical
Publication of TWI359597B publication Critical patent/TWI359597B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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 

Description

1359597 九、、發明說明: 【發明所屬之技術領域】 本發明是關於軟體與電腦網路,特定言之,本發明是 關於管理與傳輸軟體更新程式之系統與方法。 【先前技術】 為了修復或更新軟體功能,大部分的商用軟體都會持 續的提供更新服務。軟體產品或元件每一次的修正可能需 要額外的新檔案和/或以較新版本的檔案置換現有的檔 案,一旦供應商發現軟體產品的問題與找到解決方式後, 就會將之轉為更新程式,並讓客戶可以方便的下載。軟體 供應商基於商業的誘因會盡其所能的讓軟體更新程式快速 而方便的傳給客戶。 網際網路是客戶獲得軟體產品最新更新程式的重要管 道。由於網際網路應用的快速成長,許多客户希望能利用 下載的方式獲得軟體產品與更新程式。對於軟體供應商而 言,他們也希望利用網際網路傳輸更新程式,除了可降低 成本外,還能讓客戶在最短的時間取得更新。供應商可在 其網站上放置應用程式的更新檔案,以方便其客戶存取。 目前大部分的檔案下載工作,已從使用者操作轉為由作業 系統管理執行。 一個傳統的方法是,軟體供應商將軟體更新程式變成 一個「套件程式(package )」以供下載。該套件程式通常 是安裝程式,會進行自解壓縮與執行所有更新檔案。該套 5 1359597 件程式的檔案大小一般而言是所有更新檔案壓缩後的大小 加上解壓縮碼本身大小之總和。在執行解壓縮程序時,套 件程式會先將檔案解壓縮至暫存區,然後執行安裝程式, 將檔案安裝至適當的系統目錄中,而原本被壓缩的檔案會 在安裝時被解壓縮,原先在該目錄之檔案則被同樣檔名之 更新檔所覆蓋。 雖然網際網路讓軟體更新程式能夠廣泛而快速的傳 佈,然而有限的網路頻寬卻造成傳輸上的問題。一般軟體 應用程式為確保其完整性,造成所需下載的更新程式變得 不合理的龐大。一般而言,一更新程式包含產品中複數問 題的更新檔,如果供應商定期更新軟體產品,則下載更新 程式的大小會持續增加,因為供應商無法保證使用者已安 裝較早的更新程式,而將較早版本的更新程式省略。由於 該更新套件程式包含了所有的更新檔案,因此就算經過壓 縮,檔案仍十分龐大。有時,利用最快速的數據機來連結, 仍不免造成下載頻寬效率的降低。 就節省時間的觀點而言,傳統下載程序當然是不受歡 迎的。在某些聘候,客戶是透過長途電話連結或是根據連 結時間繳費的方式,來下載這些檔案,因此減少連結時間 就是減少金錢的花費。對供應商而言,減少所需提供檔案 的大小也能降低其成本,增加獲利;此外也增加了可用的 網路頻寬,讓其可用現有的網路伺服設備服務更多客戶。 耗費長時間下載龐大的更新程式也容易使下載程序因 網路問題而遭到中斷。造成網際網路連結提前中斷的原因 6 1359597 很多,包含電話線路的雜訊干擾、插撥訊號,以及一些非 預期的指令。一些網際網路服務提供者甚至會限制使用者 每次連結上網的時間,如果在檔案下載完成前被切斷連 結,則使用者必須重新下載。大部分的作業系統與檔案傳 輸通訊協定並無法從檔案傳輸中斷處再行連結傳輸,因此 先前的暫存檔都無法使用,傳輸必須從頭開始。由於產生 錯誤的機會是如此的多,因此許多使用者都發現幾乎無法 從線上獲得更新,而如果更新套件程式的檔案過大,使用 者可能無法將其完整下載。 要讓軟體更新程式痩身以及增加頻寬效率的一種方式 是利用差異修正程式(delta patches )或二進位修正程式 (binary patches)。.習知技藝人士皆明瞭,差異修正程式 相當於專門的軟體碼,電腦裝置會執行該專門的軟體碼以 修正原有的檔案。由於差異修正程式包含專門的軟體碼, 因此每個版本的檔案都需要一個唯一的差異修正程式。應 用在軟體更新程式時,軟體更新服務可傳輸一較小的更新 差異修正程式,以取代傳輸一完整的更新檔案,接著利用 該更新差異修正程式將原先的檔案修改成更新檔。 雖然該更新修正程式可減少更新檔案的資料量,但目 前的差異修正法在一個檔案有非常多的版本的狀況下,於 選擇適當差異檔案的管理上仍有缺點。因為每個檔案的版 本都需要唯一的差異修正,典型的軟體更新系統通常需要 上百個以上獨一無二的差異修正以符合每一個檔案的版 本。舉例而言,一些支援差異修正法的更新服務會傳送所 7 1359597 有可能的差異修正到客戶端的電腦裝置,然而,典型而言, 此法會隨更新差異修正的大量增加,而增加實施軟體更新 所需要的資料量。因此,潛在適當差異修正的數目會快速 增加,使得其檔案大小會與進行完整更新所需之檔案大小 不相上下。另一種方法是利用網路的更新軟體服務掃描客 戶的電.腦,以選擇適合的差異修正。雖然此法減少了所需 傳輸的差異修正資訊量,但軟體更新服務需要有額外的程 式運作才能掃描客戶的電腦並選擇適當的差異修正,這些 額外的程式運作耗費更多的系統資源。此外,典型而言, 此法會避免利用網路快取(例如一般是透過傳統的網路伺 服器完成)。 除了上述的缺點外,現存的系統無法傳送某些形式的 軟體更新,例如硬體驅動程式。習知技藝人士皆明瞭,專 門的軟體更新,例如硬體驅動程式之更新,是難以大規模 的提供給使用者,因為大部份的專門軟體更新程式只能使 用在配有特定硬體的用戶端電腦。舉例而言,在大部分的 情況下,如果用戶端電腦所升級的硬體驅動程式並不相 容,則安裝時可能會發生嚴重的錯誤,或甚至使電腦無法 運作。 經由前述可知,實有需要一系統與方法,以改善一伺 服器與數個客戶端間軟體更新之傳輸,此外也需要一軟體 更新系統與方法,以改良舊機制,允許針對特定型態之客 戶提供傳送專門更新程式之服務。 8 1359597 【發明内容】 本發明是關於管理軟體更新之系統與方法,特定言 之,本發明是關於一系統與方法,係為幫助軟體更新之選 擇與執行,並在選擇與執行該軟體更新時佔用最少的頻寬 與處理資源。本發明之一態樣係提供處理該軟體更新之系 統與元件架構。 本發明之一態樣係提供從軟體更新服務端傳輸軟體更 新至客戶端電腦裝置之方法》該方法可在一電腦系統中執 行,該電腦系統包含一客戶端電腦裝置,其可和軟體更新 服務通訊。根據該方法,軟體更新服務從一客戶端電腦裝 置得到一同步請求,該同步請求包含一已安裝軟體更新之 識別碼(如果該客戶端電腦裝置已安裝了該軟體更新程 式)。該軟體更新服務會判斷是否該同步請求包含至少一 已安裝軟體更新之識別碼,如果該軟體更新服務偵測出該 同步請求包含至少一已安裝軟體更新之識別碼,該軟體更 新服務會選擇一新的軟體更新,並傳送至該客戶端電腦裝 置。該新軟體更新之選擇,是因為符合定義在該新軟體更 新中之前提要件,其中該前提要件係該同步請求需包含至 少一已安裝軟體更新之識別碼。另一方面,如果該軟體更 新服務偵測出該同步請求並未包含至少一已安裝軟體更新 之識別碼,該軟體更新服務會選擇第一級的軟體更新,並 傳送至該客戶端電腦裝置,其中該第一級的軟體更新並未 包含前提要件。接著,該軟體更新服務會傳送一該所選擇 9 1359597 軟體更新之指令元件至該客 客戶端電腦裝置包含至少-軟體更新内之應用規則條件 電腦裝置内該所選擇軟體更 之軟體更新。 戶端電腦裝置,然後,如果該 元件,而該元件符合該所選擇 ’該軟體更新服務會將客戶端 新之指令元件儲存成一已安裝 本發明之另一態樣’係提供從軟體更新服務端傳輸軟 體更新至客戶端電腦裝置之方法。該方法可在一電腦系統 中執行,該電腦系統包含一客戶端電腦裝置,可和軟體更 新服務通訊。根據該方法,軟體更新服務從一客戶端電腦 裝置得到j授權請求’該授權請求包含一客戶授權模組之 識別碼’其係儲存於該客戶端電腦裝置上^該軟體更新服 務會判斷是否該客戶端電腦裝置與一目標群組相關聯,如 果該客戶授權模組顯示出該客戶端電腦裝置與該目標群組 相關聯,則該軟體更新服務就會確定該客户端電腦裝置與 目標群組相關聯。如果軟體更新服務確定該客戶端電腦裝 置與該目標群組相關聯,該軟體更新服務會傳送一伺服器 庫記(cookie)至該客戶端電腦裝置,其中該伺服器庫記會 識別該目標群組。該軟體更新服務得到一請求,希望獲得 至少一儲存在該軟體更新服務之軟體更新’該請求包含該 伺服器庫記。在獲得該請求後’軟體更新服務會判斷是否 有一軟體更新與該伺服器庫記所識別之目標群組相關聯, 如果該軟體更新服務判斷該軟體更新與該伺服器庫記所識 10 1359597 別之目標群組相關聯,軟體更新服務就會傳送該軟體更新 至客戶端電腦裝置。 本發明之再另一態樣,係提供從伺服器傳輸一資料結 構至客戶端電腦裝置之方法。該方法可在一電腦系統中執 行,該電腦系統包含一客戶端電腦裝置,可和伺服器通訊。 根據該方法,如果該客戶端電腦裝置包含一授權模組,指 示出該客戶端電腦裝置與一目標群組相關聯,則軟體更新 服務就會確定該客戶端電腦裝置與該目標群組相關聯。如 果該客戶端電腦裝置與該目標群組相關聯,該軟體更新服 務就會從該伺服器傳送一伺服器庫記至該客戶端電腦裝 置。該伺服器庫記會識別該目標群組。該軟體更新服務會 得到一請求,希望獲得至少一儲存在該伺服器之資料結 構,該請求包含該伺服器庫記。在獲得該請求後,該軟體 更新服務會判斷是否有一資料結構與該伺服器庫記所識別 之目標群組相關聯,如果該軟體更新服務確定該資料結構 與該伺服器庫記所識別之目標群組相關聯,該軟體更新服 務就會從該伺服器傳送該資料結構至該客戶端電腦裝置。 【實施方式】 大致而言,本發明是關於管理軟體更新程式之系統與 方法。特定言之,本發明是關於一系統與方法,係為幫助 軟體更新之選擇與執行,並在選擇與執行該軟體更新程式 時佔用最少的頻寬與處理資源。根據本發明,軟體更新可 11 1359597 以是特定軟體應用程式或作業系統之更新程式。此外’軟 體更新可包含軟體驅動程式或韌體程式之更新,例如:系 統基本輸入輪出系統(BIOS)。本發明之一態樣係提供處 理該軟體更新之系統與元件架構。本發明之另一態樣,係 提供一更新的協定與介面,以幫助客戶端機器進行更新服 務時之授權與同步化。本發明之再另一態樣係提供一方 法’該方法係利用差異修正更新安裝原件與各種已安裝的 檔案。然而習知技藝人士皆明瞭,本發明之其他態樣也有 可能出現在本說明書中,此外,每一態樣可視為獨立態樣 或其他態樣之部分。 第1圖為一區塊圖,說明根據本發明之軟體更新系統 100。大致言之,該軟體更新系統丨〇〇至少包含一或多客戶 端電腦裝置11〇、一更新服務120以及一外部更新煶供者 130。大致言之,該更新服務120會儲存與管理軟體更新程 式’讓軟體更新程式得以傳送至客戶端電腦裝置n〇並安 裝於其上。該軟體更新程式可能由該更新服務120或複數 外部更新提供者丨3〇所提供。 客戶端電腦裝置11〇、更新服務120與外部更新提供 者130可透過網路1〇1相互通訊。該網路可以是一區域網 路(LAN)或是一較大的網路,例如:廣域網路() 或網際網路。利用一般所熟知的軟體,軟體更新系統刚 可以具備在客戶端電腦裝置110與更新服務12〇之词服器 121、122、123' 124間交槔女株、指今盘甘,. , 乂谀又忏钿7興其他形式資訊之 12 1359597 功能。習知技藝人士皆明瞭,第1圖所示之軟體更新系統 1 〇 〇是實施本發明之其中一適當系統之精簡實施例,然本 發明並不限於此實施例。 在一實施例中’更新服務1 20至少包含複數伺服器。 如第1圖所示’該更新服務120包含一更新伺服器121以 管理該更新服務120所有的程序,以及協調該更新服務120 的伺服器121、122、123與124之程序。當客戶端向授權 伺服器1 22提出請求時,授權伺服器丨22會依次產生授權 庫記’該授權庫記會被用來產生伺服器庫記,以使客戶端 電腦可以存取該更新服務120所提供之更新。中繼資料伺 服器(metadata server ) 123則提供與該更新服務120所提 供之更新有關之一般性資訊。該中繼資料伺服器123讓本 發明之系統得以識別出為特定形式之客戶端電腦或特定群 組之客戶端電腦所設計之特定更新。下載伺服器1 24提供 一或多軟體元件以傳輸與該更新服務120所提供之軟體更 新有關之資料檔。 外部更新提供者130可包含一或多可散佈軟體更新之 伺服器。該外部更新提供者130可與一實體(entity)相聯 結,該實體提供軟體、軟體更新或其他要傳輸至客戶端電 腦群組之資料。舉例而言,若第三方之軟體開發者想要利 用該更新服務120,為一或多軟體應用程式傳輸更新程 式,則該外部更新提供者1 3 〇可與其相聯結。在另一實施 13 1359597 例中,該外部更新提供者130可與軟體更新系統120相聯 結。 客戶端電腦裝置110可以是任何儲存與執行軟體應用 程式114之電腦裝置。該客戶端電腦裝置110可由多種不 同的電腦產品所形成,包含(但不限於)個人電腦(PCs )、 個人數位助理(PDAs )、行動電話、雙向呼叫器等。習知 技藝人士皆明瞭,該客戶端電腦裝置110之架構可以任何 適當之方式呈現。舉例而言,該客戶端電腦裝置110可包 含一網路介面,藉以與該網路101通訊。該網路介面可與 任何有線或無線網路連接,並且可利用任何適當之通訊協 定,如:TCP/IP協定。此外,該客戶端電腦裝置110可包 含處理單元、顯示與記憶單元。該記憶單元可儲存使該客 戶端電腦裝置1 1 0運作之必要程式碼,如:作業系統1 1 6。 此外,該記憶單元儲存一更新管理元件1 1 2以控制並執行 本發明之程序。 軟體更新系統1 00在執行時會儲存軟體程式以實施本 發明。在執行時,該軟體更新系統100會儲存、管理並選 擇性的傳輸軟體更新。本發明之其中一項優點,係提供一 機制,該機制可定義並選擇有資格接收軟體更新之客戶端 電腦裝置之目標群組。本發明也提供一機制,能改善與軟 體更新相關之資料檔案之下載。 以下詳述本發明之可操作實施例。為便於說明,將以 某特定軟體應用程式之升級作為參考,如:將媒體播放程 14 1359597 式(media player version ) 6.0 版升級到 7.0 版 藝人士皆明瞭,此一軟體更新可能包含傳輸與安 該軟體更新有關之資料檔案。因此,為描述本發 分軟體更新以及包含軟體更新之個別資料檔案。 參見第2-6圖,其說明該軟體更新系統100 之間如何互動,以更新該客戶端電腦裝置110上 檔案。參見第2圖,當一或多個外部更新提供者 軟體更新資訊時,便啟始了軟體更新服務。如前 外部更新提供者1 3 0可與軟體更新系統1 0 0相聯 該軟體更新資訊也可以由第三方的外部更新提供 輸。在本發明之一實施例中,該軟體更新資訊可 檔案之軟體碼、置換檔案之軟體碼、判斷該軟體 適用性的各種規則,以及/或描述該軟體更新之顯 該軟體更新資訊可在任何時間完成傳輸,並且無 他的軟體更新元件配合執行。 在從該外部更新提供者 130處接收到軟體 後,該更新服務120會產生一或多資料以幫助傳 訊。該資料可包含一修正儲存檔案以更新不同, 案,該修正储存檔案相當於軟體差異修正程式組 也可包含一修正儲存清單,其符合將特定版本檔 修正儲存檔案中之差異修正程式之索引。該資料 一自解壓縮擋,更新代理程式利用其以請求與安 體更新資料,詳如後述。習知技藝人士皆明瞭該 。習知技 裝複數與 明’將區 複數元件 一或多個 130傳輸 所述,該 結,另外, 者130傳 包含更新 更新程式 示資訊。 須啟動其 更新資訊 輸更新資 &本的檔 。該資料 案對映至 更可包含 裝特定軟 修正儲存 15 1359597 檔案、修正儲存清單以及自解壓縮檔可在任何時間產生完 成,並且無須其他的軟體更新元件配合執行。 要將軟體更新資訊傳輸給客戶時,一開始客戶端電腦 裝置110會發送一驗證請求至該更新服務120。在本發明 之一實施例中,該驗證請求相當於在客戶端電腦裝置110 與更新服務120間相互傳輸之更新協定,詳如下述。為完 成該驗證,該更新服務120會傳輸一驗證庫記至該客戶端 電腦裝置120。參見第3圖,接著該已驗證的客戶端電腦 裝置120會與該更新伺服器120進行可用更新程式之同步 化。在本發明之一實施例中,該同步化請求也相當於在客 戶端電腦裝置1 1 0與更新服務1 20間相互傳輸之更新協 定,詳如下述。在同步化完成之後,該客戶端電腦裝置110 會接收到所有可用軟體更新資訊以及描述該更新之資訊。 然而,在本發明之說明實施例中,並不會下載實體化 (instantiate)此更新之軟體碼。 繼續參見第3圖,有時在進行更新的程序中,會接收 到所要安裝更新之選擇。在本發明之一實施例中,使用者 在同步化與被詢問選擇適當更新時,可能會接收到軟體更 新資訊,該客戶端電腦裝置110也可以設定成自動選擇所 有適當之軟體更新。此外,該客戶端電腦裝置110可以設 定一些規則,讓其自動選擇可用軟體更新程式的子集合。 再者,使用者可藉由與更新服務120通訊來選擇更新,如 透過網頁。 16 1359597 參見第4圖,如果更新代理程式不存在,該更新管理 元件112就會在該客戶端電腦裝置110實體化一更新代理 程式118。然後該更新代理程式118會要求傳送一軟體更 新資訊套件程式,如自解壓縮檔。該更新代理程式118接 收該自解壓缩檔並將所有更新程式轉變為安裝程式 (installer),詳如下述。此外,該更新代理程式118可 向該更新服務1 2 0請求任何遺失或毀損的資訊。 參見第5圖,一旦更新代理程式118接收到該軟體更 新資訊套件程式,該更新代理程式118就會執行檔案清 單,這些檔案皆已安裝在客戶端電腦裝置110上。在比較 該清單以及該軟體更新資訊套件程式後,更新代理程式 118就會決定需要那個差異修正和更新資訊,以完成更新 的選擇。接著,該更新代理程式118會傳送一請求以獲得 特定差異更新。在本發明之一實施例中,該軟體更新之請 求可能是一直接的請求,並透過直接之網路連結所傳輸, 其可被視為是手動更新。在本發明之另一實施例中,該軟 體更新之請求可在背景執行,無須使用者特意執行傳輸動 作,其可被視為自動更新。 在本發明之一實施例中,如果軟體更新為一差異修 正,更新代理程式118會將一請求傳送至更新服務120, 更新服務 120 會破認經修正儲存清單(patch storage manifest )所識別之特定差異修正。如果該差異修正不適 用,或如果數個差異修正程式失敗,該更新代理程式118 17 ^9597 會啟 正儲 可包 更新 124 該請 路伺 舉例 外部 或全 中。 文件 式1 案, 是否 更新 失敗 效之 上。 本發 動後援(fallback )程序。該後援程序可包含請求從修 存稽案傳輪該全部更新檔之完整副本。該後援程序也 含請求從獨立(self_c〇ntained )套件程式傳輸該全部 檔之完整副本。 在本發明之一實施例中,更新服務1 2〇之下載伺服器 可直接處理來自更新代理程式118之軟體更新請求。 求也可由其他複數外部下載伺服器處理,如傳統的網 服器可接收來自更新服務12〇之更新差異修正請求。 言之’公司可利用—内部伺服器更新客戶機器,而由 下載祠服器處理該請求,在處理前一個請求時,部份 部之更新差異修正會儲存在該外部下載伺服器的快取 因此’在此實施例中,下載程式可散佈在複數支援超 傳輸協定("HTTP")資料請求的下載伺服器。 參見第6圖’一旦接收軟體更新資訊後,更新代理程 18會將該差異修正與已安裝檔案結合,產生一更新檔 並且該更新代理程式118會確認該結合與更新之檔案 正確成功。如上所述,如果差異修正無法被確認有效, 代理程式118可再一次請求該差異修正,或是在多次 後’請求全部更新檔。一旦更新代理程式118取得有 更新稽’該檔案就會被安裝在客戶端的電腦裝置 第7圖為一軟體更新處理程序7〇〇流程圖,說明根據 明’客戶端電腦裝置110與軟體更新服務12〇間的溝 18 1359597 通互動。區塊702,軟體更新服務120授權存 腦 110。在本發明之一實施例中,存取客戶端電 可包含產生一伺服器所發出之庫記,以允許存取 腦群組相關聯之軟體更新。授權程序將於第8圖 之解釋。 區塊7 04,客戶端電腦110與軟體更新服務 化更新資訊。在本發明之一實施例中,軟體更新 傳送描述特定軟體更新之中繼資料至客戶端 110。該中繼資料包含可用軟體更新之資訊,藉d 使用者可選擇一或多更新進行安裝。同步化程序 圖與第10圖作更詳盡之解釋。區塊706,客戶端 110取得可供下載更新之選擇。在本發明之一實 該可供下載更新之選擇可利用複數獨特的使用者 助使用者作選擇。該使用者介面之選擇將於第11 盡之解釋。 區塊708,客戶端電腦裝置110處理使用者 合適軟體更新並傳送至軟體更新服務 120,以請 新資訊。在本發明之一實施例中,客戶端電腦裝 擇並請求一或多合適的更新差異修正。然後,客 裝置110上之更新代理程式118會處理該請求的 進行所選擇軟體之更新。區塊7 1 0,該流程7 0 0 參見第8圖,其說明授權存取客戶端電腦裝 協定圖800以及區塊702 (第7圖)。在本發明 客戶端電 腦之授權 與特定電 作更詳盡 120同步 服務 120 電腦裝置 ί該資訊, 將於第 9 電腦裝置 施例中, 介面以幫 圖作更詳 所選擇之 求特定更 置1 10選 戶端電腦 資料,並 結束。 置1 10之 之一實施 19 1359597 例中,軟體更新服務120利用-可延伸的目標設定機制 控制客戶端電腦裝置110存取更新程式與其他軟體。軟 更新服務120實施一機制,將特定軟體更新與一或多客 端電腦裝置110的目標群组相聯結。舉例而言,軟體更 服務120可限制對具有特定硬體驅動程式之特定廢牌客 端電腦裝置110進行特定硬體驅動程式更新。在此例巾 軟體更新服務120可定義具有特定廠牌與特定硬體媒動 式之客戶端電腦裝置110目標群組,並限制特定軟體下 至該目標群组。 在本發明之一實施例中,係利用軟體元件(「授權 掛程式("authorization plug-ins")」)以協助該可延伸 目標設定機制,該軟體元件可將一客戶端電腦裝置定義 為一或多目標群組之會員。客戶端電腦裝置11〇上之授 外掛程式可確定該客戶端電腦裝置是否屬於該授權外掛 式之特定目標群組。舉例而言,一目標群組可包含所有 腦’該電腦須具有所有特定軟體應用程式之合法產品識 (「PID」)號碼。在該實施例中,授權外掛程式826 女裝在客戶端以從該客戶端電腦裝置之記憶模組中讀 PID ’並將所獲得之piD傳送至相應之piD伺服器外掛 式829’此將於第8圖作更詳盡之說明。該相應之piD 掛程式在此處也稱為PID驗證(PID validator) 829,其 用—或多方法以判斷所接收之PID是否有效。如果該客 端電腦裝置11〇上之piD有效,該伺服器就會產生一伺 以 體 戶 新 戶 9 程 載 外 的 成 權 程 電 別 可 取 程 外 利 戶 服 20 1359597 1 10為具備有效PID ,一目標群组可包含 益庫記,以表示該客戶端電腦裝置 標群组之會員之一。在另一實施例 於測試電腦之客戶端電腦裝置。 在本發m施例巾,軟體更新服務12G之授權 服器U2包含複數飼服器授權外掛程式,該外掛程式會 義-系列客戶端電腦裝置之目標群組,以便讓該授權词 器得以識別。每-伺服器授權外掛程式會包含複數元件 以傳輸資料至客戶端電腦裝置11〇上相對應之客戶端授 外掛程式。同樣的,每一客戶端電腦裝置11〇包含一或 客戶端授權外掛程式,以識別該客戶端所屬之目標群組 在本發明之一實施例中,該客戶端授權外掛程式可在軟 應用程式安裝或升級時,安裝在每—客戶端電腦裝置, 如在作業系統安裝或升級時。此外,當管理者想控制軟 更新程式之存取時,可將該伺服器授權外掛程式動態的 裝或移除。授權伺服器122以及儲存在客戶端電腦裝置夏 之授權外掛程式實際上可以是一軟體外掛程式’或者可 該授權外掛程式硬式編碼(hard c〇ded )至動態連結程 庫。 如第8圖所示,該授權伺服器122包含三個例示之 服器授權外掛程式:(1)第一伺服器授權外掛程式828 義包含所有電腦之目標群組(以下簡稱「所有電腦目標 組」),(2)第二伺服器授權外掛程式829定義包含具 有效PID電腦之目標群組(以下簡稱「piD目標群組」) 吕 屬 伺 定 服 9 權 多 Ο 體 例 體 安 10 將 式 祠 定 群 備 21 1359597 以及(3 )第三伺服器授權外掛程式 8 3 0定義包含測試電腦 之目標群组(以下簡稱「測試目標群组」)。再如第8圖 所示,客戶端電腦裝置110包含二客戶端授權外掛程式: (1)第一客戶端授權外掛程式 825顯示該客戶端電腦裝置 110為該所有電腦目標群組之一員;以及(2)第二客戶端授 權外掛程式826顯示該客戶端電腦裝置110為該PID目標 群組之一員。在此實施例中,客戶端電腦裝置110並未包 含屬於測試目標群組一員之授權外掛程式。習知技藝人士 皆明瞭,每一客戶端授權外掛程式825與826可被設計執 行客戶端電腦裝置110上一或多功能,以協助確認之程 序。舉例言之,該第二客戶端授權外掛程式826可被設計 檢查該客戶端電腦裝置1 1 0之記憶體,以確認或取得已安 裝軟體應用程式之PID。 如第8圖所示,當客戶端電腦裝置1 10傳送一組態請 求8 03至授權伺服器122時,授權子程序702便會啟動。 在本發明之一實施例中,組態請求803係由任何適當之軟 體元件所形成,該軟體元件係用以取得描述授權伺服器 1 22上授權外掛程式之資訊。習知技藝人士皆明瞭,該組 態請求803可利用習知的「GetConfig」方法實施。在接收 到該組態請求803後,該授權伺服器1 22傳送一組態回應 804,其包含授權伺服器1 22上所有授權外掛程式之確認資 訊。在一實施例中,該組態回應8 0 4包含一字串陣列,該 陣列係識別及描述授權伺服器1 2 2上之所有授權外掛程 22 1359597 式。在該實施例中,該組態回應8 Ο 4包含確認第一 授權外掛程式828、第二伺服器授權外掛程式829 三伺服器授權外掛程式8 3 0之資訊。 區塊805,客戶端電腦裝置110在接收該組態Ε 後,會產生一或多授權庫記s。在區塊805之程序 戶端電腦裝置110為每一配對之客戶端與伺服器授 程式產生一授權庫記。因此,在該實施例中,第一 授權外掛程式825產生與該所有電腦目標群組關聯 授權庫記,因為該第一客戶端授權外掛程式82 5與 伺服器授權外掛程式 8 2 8均與該所有電腦目標群 聯。此外,第二客戶端授權外掛程式82 6產生與該 標群組關聯之第二授權庫記,因為該第二客戶端授 程式826與該第二伺服器授權外掛程式829均與該 標群組相關聯。第三授權庫記並未產生,因為該客 腦裝置1 1 0並無屬於測試目標群組一員之授權外掛: 習知技藝人士皆明瞭,區塊805之程序可包含 知的rGetAuthCookie」軟體方法實施,而每一授權 產生可能牽涉其他處理程序。舉例而言,可設計該 戶端授權外掛程式826檢查客戶端之系統登錄資訊 回 PID並將該 PID包含在該授權庫記中。在另一 中,區塊 805之程序可包含與其他電腦或裝置通 序。例如:客戶端授權外掛程式可與一裝置通訊, 卡、掃瞄器、顯示卡等,以取得該裝置之樣式與型 伺服器 以及第 丨應804 中,客 權外掛 客戶端 之第一 該第一 組相關 PID目 權外掛 PID目 戶端電 良式。 利用習 庫記的 第二客 ,以取 實施例 訊之程 如音效 號。在 23 1359597 其他無任何限制之實施例中,客戶端授權外掛程式可與一 安全裝置通訊,如指纹讀取機,以獲得使用者資訊。 大致而言,客戶端授權外掛程式可讀取客戶端電腦裝 置110上任何元件之組態資訊,或任何與該客戶端電腦裝 置110連結通訊之電腦裝置。在另一實施例中,客戶端授 權外掛程式可被設計利用一或多公用或私有的應用程式發 展介面(APIs )收集來自客戶端之資訊,並將該資訊加密, 該客戶端將會由相應之伺服器外掛程式驗證。在該實施例 中,PID驗證外掛程式826利用私有的API將該客戶端的 PID加密,並將該加密的PID傳送至伺服器解密與驗證。 在其他的實施例中,其他客戶端授權外掛程式可利用生物 量測法,例如指紋讀取機或聲紋,產生授權庫記,並將其 傳送至伺服器驗證。在再另一實施例中,客戶端授權外掛 程式可呼叫網路伺服器或其他服務以傳送授權認證或其他 形式之資料至授權伺服器1 22。 在本發明之一實施例中,每一授權庫記包含一字串以 識別一相關聯之目標群組。例如:字串可顯示一特定授權 庫記與該PID目標群組相關聯。另外,為了在客戶端與伺 服器間傳輸資料,每一授權庫記也包含一資料區段。例如: 與該 PID目標群組相關聯之授權庫記可擁有一資料區段 儲存實際的PID。習知技藝人士皆明瞭,該資料區段可包 含以任何格式儲存之任何資料類型,如位元組陣列。舉例 而言,如果該客戶端與伺服器上之外掛程式必須傳送公鑰 24 1359597 與私鑰,該資料就會在一或多個授權庫記的資料區段中被 加密. 一旦客戶端電腦裝置110為每一配對之客戶端與伺服 器授權外掛程式產生一授權庫記後,該客戶端電腦裝置會 將該產生之授權庫記傳送至授權伺服器122。如第8圖所 示,客戶.端電腦裝置110所傳送之授權庫記位於庫記請求 806内。該庫記請求806包含任何適當之格式,以傳送區 塊805程序中所產生之授權庫記s之陣列。此部份之授權 方法702可包含利用習知的「GetCookie」軟體方法實施。 在一實施例中,庫記請求8 0 6也包含其他授權伺服器 庫記,該其他授權伺服器庫記儲存在客戶端電腦裝置110 之記憶體中。該客戶端電腦裝置Π 0之記憶體可能存有先 前授權程序700執行時所建立之舊授權伺服器庫記。藉由 提供庫記請求 806内之授權伺服器庫記,該客戶端電腦裝 置110將可保有其先前授權子程序702執行時被授予之存 取權利。在該實施例中,由於該客戶端中並無授權伺服器 庫記,該庫記請求8 0 6包含與所有電腦目標群組相關聯之 第一授權庫記以及與P ID目標群組相關聯之第二授權庫 記。 接下來,如區塊8 0 7所示,在接收到庫記請求8 0 6之 後,授權伺服器1 2 2會產生一伺服器庫記。在一實施例中, 針對每個已接收到的授權庫記,都會呼叫一適當之伺服器 授權外掛程式以產生伺服器庫記資料。由每一伺服器授權 25 1359597 外掛程式所產生之伺服器庫記資料包含每一目標群 別碼,因該目標群組已被該已接收之授權庫記所識 該實施例中,因為該庫記請求806包含與所有電腦 组相關聯之第一授權庫記以及與 PID 目標群组相 第二授權庫記,所以該授權伺服器1 22會產生伺服 資料,該伺服器庫記資料包含各目標群組之識別碼" 授權伺服器1 22上的伺服器庫記資料會與舊伺服器 料結合(如果可從庫記請求 8 06接收到舊伺服器庫 並產生新的伺服器庫記。在一實施例中,會利用公 密方法將該新伺服器庫記加密,如三重DES演算法 在本發明之一實施例中,伺服器庫記可包含識 多相關聯目標群組之加密訊息。此外,伺服器庫記 到期資料(expiration data),該資料係以明文格式 text format)與加密格式儲存。客戶端電腦裝置11 伺服器庫記到期與否,係利用明文格式之到期資料 更新服務120判斷客戶端電腦裝置110是否被授權 特定目標群組相關聯之更新,係利用加密格式之 料。在一實施例中,伺服器庫記之到期資料適用於 該伺服器庫記中所識別之目標群組。除了應用在所 器庫記之到期資料,該伺服器庫記可包含複數到期 每個資料可應用在特有的目標群組。習知技藝人 瞭,每一伺服器庫記可包含其他額外的資料。舉例 組之識 別。在 目標群 關聯之 器庫記 •接著, 庫記資 記), 用之加 〇 別一或 可包含 (clear 10監控 。軟體 接收與 到期資 所有在 有伺服 資料, 士皆明 而言, 26 1359597 一伺服器庫記可被設計成儲存狀態資訊,如授權子程序 702上次執行的時間標記(timestamp)。 授權伺服器庫記 8 09產生後,就會從授權伺服器1 22 傳送至客戶端電腦裝置110。接著,如區塊811所示,該 伺服器庫記會被儲存至客戶端電腦裝置1 1 0的記憶體中。 當客戶端電腦裝置1 1 0偵測出該伺服器庫記的至少一元件 已到期,該客戶端電腦裝置可再執行授權方法702以獲得 新的伺服器庫記。如前所述,在隨後每次授權方法702的 執行中,客戶端電腦裝置110可傳送其所儲存之伺服器庫 記(在庫記諳求8 0 6内)至授權伺服器12 2。在一實施例 中,客戶端無須傳送該請求 8 0 3,除非伺服器通知客戶端 伺服器組態已改變,如加入新的授權外掛程式。 根據本發明之另一態樣,軟體更新服務1 20可提供一 同步化子程序,以同步化中繼資料伺服器1 2 3與客戶端電 腦裝置1 1 0間之更新資訊。利用獨特的軟體更新階層,同 步化子程序可有效率的識別應用在特定客戶端電腦裝置之 特定更新。此外,利用在授權子程序702中所產生之伺服 器庫記,該同步化子程序可選擇性的允許存取與特定目標 群組相關聯之更新。 根據本發明之一實施例,每一軟體更新包含三元件: (1)指令元件;(2)局部化資料元件 (a localized data component );與(3)資料元件。習知技藝人士皆明瞭,每 一更新可以有一或多上述之元件。例如:更新程式可包含 27 1359597 指令元件 '局部化資料元件與資料串流元件。在另一實施 例中,更新程式可以只包含指令元件,以測試客戶端電腦 裝置的一或多狀態。軟體更新程式的各種元件將於後續作 更詳盡之說明。 大致言之,該指令元件包含兩個子元件:(1)應用規 則,其定義由客戶端電腦裝置1 1 0測試之一或多狀態;與 (2)—組前提要件,其可確認一或多更新係執行單一更新安 裝時所必須。該應用規則可定義與電腦有關之複數狀態, 且每一個狀態可與利用任何邏輯運算子之其他狀態相聯 結。舉例而言,該指令元件可包含一應用規則,以判斷特 定版本之 Windows®是否安裝在電腦上。而該一組前提要 件係確認一或多必須之更新已安裝。例如:(將於第9圖 作更詳盡之描述)單一更新可包含一前提要件,其會列出 安裝此單一更新所需之其他更新程式。在其他實施例中, 可參考第9圖,該組前提要件可包含運用邏輯運算子以定 義更複雜之前提要件規則。 該指令元件也可包含一代碼,如布林旗標(Boolean flag ),以指示是否有其他特定更新。為便於說明,若沒 有其他特定更新,某一更新就會被視為是LEAF更新。布 林旗標會顯示某一更新是否為LEAF更新,並且其會隨著 相關更新程式的新增或移除,由中繼資料伺服器123進行 動態更新。 28 1359597 每一更新的局部化資料元件包含該更新的一般資 例如:局部化資料元件可包含描述該更新之功能和效 資訊。局部化資料元件也可包含更新安裝程序之文 述。此外,該局部化資料元件可包含與該更新相關之 資料或資訊。舉例而言,局部化資料可顯示某一更新 優先順序之更新。在另一實施例中,局部化資料可提 殊安裝訊息,如該訊息可顯示某一更新不可與其他軟 新程式一起安裝。為考量如何顯示其内含資訊給使用 局部化資訊可採取某種格式。 每一次更新的資料元件包含一或多該更新之二進 料流。在一實施例中,每一次更新的資料元件可與一 資料檔案相聯結,如執行檔、文件檔、連結程式庫等 一次更新可與一組資料檔相聯結,每一資料檔均有助 戶端軟體的升級、安裝或修改。舉例而言,可利用單一 檔以進行更新程式之安裝,該CAB檔包含完成該所選 新所需之全部資訊。此外,也可利用複數單一更新程 更新客戶端電腦裝置上一或多檔案,以完成更新程式 裝。 在本發明之一實施例中,可將軟體更新安排至一 内,該階層係用以支配軟體更新之分佈方式。大致而 該更新的階層係定義更新程式間的關係,並且會特別 出哪些更新程式必須依賴其他更新程式。為便於說明 參考第9圖,更新程式9 0 0實施例之階層包含基本組 訊0 益的 字描 其他 為ifj 供特 體更 者, 位資 或多 。每 於客 CAB 擇更 式來 的安 階層 言 , 顯示 ’請 之更 29 1359597 新901、第二组更新902與第三組更新903。大致而言,基 本组更新901内之每一更新程式並無需先安裝其他更新程 式。然而,第六更新921包含需安裝第一更新911、第二 更新912與第三更新913之前提要件。第七更新922包含 需安裝第四更新914之前提要件。第八更新931包含需安 裝第六更新921與第五更新915之前提要件。因此,該第 八更新93 1需要安裝第一更新911、第二更新912與第三 更新913。為便於說明,假設該更新程式9〇〇組實施例之 所有更新程式均與所有電腦目標群組及PID目標群組相關 聯。 如第9圖所示,每個更新均包含應用規則,具體指出 安裝該更新之條件。例如:第—更新9Π要求安裝英文版 的作業系統。第二更新912要求安裝windows® XP Service Pack 1。在另一實施例中,第六更新921要求安裝χρ PATCH1之軟體更新檔。因此,若客戶端電腦裝置11〇不 能符合該應用規則,其將無法安裝更新程式。 第9圖也顯示出指令元件區段,該指令元件係指示是 否有其他需依賴特定更新之更新程式。該區段被稱為是 LEAF,其可能為布林格式,以指示出某一軟體更新為一系 列更新中最新的更新•為便於說明,如果沒有其他更新將 特定更新視為前提要件’則特定更新為LEAF更新。如第 9圖所示’第七更新922與第八更新931是唯二的LEAF 更新。 30 1359597 第10圖說明本發明同步化子程序7 04 (第7圖 定圖。大致而言,同步化子程序704選擇某些更新 元件,並在客戶端電腦裝置110和伺服器(如中繼 服器1 2 3 )間傳遞該更新的指令元件,以識別可應 戶端電腦裝置110之更新程式。如第10圖所示,為 更新,客戶端電腦裝置110首先處理已安裝之更新 並傳送同步請求1 〇 5 1至中繼資料伺服器1 2 3,以請 多客戶端可用之更新。在接收該同步請求1051後, 資料伺服器123回覆複數更新至該客戶端電腦裝置 該客戶端電腦裝置110在傳送該同步請求1051之貢 理其上所儲存之資料,後續將作更詳盡之描述。 客戶端電腦裝置110處理每一已接收更新之 件,以判斷是否符合應用規則所定義之條件。如果 單一更新所定義之條件,則在此同步化子程序1 05 0 單一更新「已被安裝」,且該已安裝之更新會存在 更新快取之第一元件内。另一方面,如果不符合某 新所定義之條件,則單一更新被視為「失敗」,且 之更新會存在客戶端更新快取之第二元件内。在說 步化子程序1050時,如果已安裝某一更新,則可 合前提要件與應用規則之條件,但並不當然表示與 相聯結之資料檔已實際被安裝在客戶端電腦裝置11 在一實施例中,可利用客戶端更新快取的兩個 已接收之更新分類。第一元件係用來儲存已安裝、非
)之協 的指令 資料伺 用在客 啟始一 程式, 求一或 該中繼 110° j·,會處 指令元 符合某 中,該 客戶端 單一更 該失敗 明該同 視為符 該更新 0内。 元件將 :LEAF 31 1359597 之更新;而第二元件係用來儲存客戶端接以的其他更新, 亦即尚未安裝之更新。更新快取的第二元件也包含儲存所 有的LEAF更新。儲存在更新快取内之更新程式可被傳送 至中繼資料伺服器1 2 3,並由該中繼資料伺服器1 2 3處理, 以識別其他適合安裝在客戶端電腦裝置110上之更新程 式,後續將作更詳細之說明。 參見第10圖之項目1051、1055與1060,此處將詳述 同步請求。習知技藝人士皆明暸,同步請求的啟始可藉由 以下任一種管道:複數不同裝置、程序、應用程式、使用 者所下達之更新指令。該同步請求可由以下對象所啟始: 請求更新程式清單之使用者、客戶端代理程式所啟始之自 動更新,或其他向中繼資料伺服器123或更新服務120發 出請求資訊之軟體元件。在一實施例中,同步請求包含授 權伺服器庫記,例如經由授權程序7 02所產生之授權伺服 器庫記。伺服器利用伺服器庫記判斷客戶端是否為一或多 目標群組之其中一員。 每一同步請求也可包含識別客戶端更新快取内每一更 新之識別碼。特定言之,如果該更新快取内存有一或多更 新,該同步請求包含第一元件,該第一元件具有已安裝、 非LEAF更新之識別碼;以及第二元件,該第二元件具有 所有其他更新程式之識別碼,如LEAF更新、失敗之更新 及未安裝之更新。該更新識別碼可以是任何格式,包含但 不限於整數陣列。另一方面,若客戶端更新快取内並無更 32 1359597 新程式,該同步請求就不會有更新識別碼,而當同步請求 就沒有更新識別碼時,同步請求就會指示出客戶端電腦裝 置110並無任何更新之快取。 如第10圖所示,第一同步請求1051從客戶端電腦裝 置1 1 0傳送至中繼資料伺服器1 2 3。在該實施例中,如果 是第一次執行該方法,則客戶端更新快取將不會包含任何 更新,因此該第一同步請求1051並未包含快取更新之識別 碼。在接收到同步請求後,如區塊10 5 2所示,該中繼資料 伺服器1 2 3會判斷該同步請求是否至少包含一更新識別 碼,如果該同步請求並未包含更新識別碼,則該中繼資料 伺服器 123會選擇傳送第一級更新至客戶端電腦裝置 110。如前所述,第一級更新可能包含任何更新,其並無識 別其他更新之前提要件。 另一方面,若同步請求包含至少一更新識別碼,則中 繼資料伺服器1 2 3會檢查伺服器上所儲存更新之前提要 件,以選擇更多的更新傳送至客戶端。在一實施例中,中 繼資料伺服器1 23會選擇符合前提要件之更新。在檢查前 提要件時,伺服器會運用該同步請求第一元件之更新,該 同步請求包含已安裝至客戶端之非LEAF更新識別碼。 除了選擇符合前提要件之更新,伺服器也會運用該同 步請求第二元件内之更新,以過濾所選擇之更新。特定言 之,該同步請求第二元件内未安裝之更新、LEAF更新以 及失敗之更新係用來過濾一或多所選擇之更新。這項特色 33 1359597 讓本發明之系統與方法避免重覆傳送中繼資料伺服器123 所儲存之更新。 參見該實施例,由於第一同步請求1051並未包含更新 識別碼,中繼資料伺服器123選擇基本等級之更新901傳 送至客戶端電腦裝置110。參見第9圖所示之更新程式组 實施例,基本等級之更新901包含更新911、912、913、 914 與 915 。 在區塊1052的程序中,中繼資料伺服器123也會檢查 包含在同步請求1 〇 5 1之授權伺服器庫記,以識別與該客戶 端電腦裝置1 1 0相關聯之目標群組。該中繼資料伺服器1 2 3 也會檢查在區塊 1052程序中所選擇更新之目標群組,然 後,區塊1052之程序會將所有選擇之更新中,與已接收授 權伺服器庫記内之目標群組無關聯之更新剔除。在該實施 例中,由於所有選擇之更新 911、912、913、914與 915 與PID和所有電腦目標群組相關聯,因此所有選擇之更新 都會被傳送至客戶端電腦裝置110。 然後,中繼資料伺服器1 2 3傳送該選擇之更新(在同 步回應1053之内)至客戶端電腦裝置110。大致而言,每 一同步回應包含由伺服器120傳送之每一更新之指令元 件。因此,在該實施例中,第一同步回應 1 0 5 3包含更新 911、912、913、914和915之指令元件。在一實施例中, 每一同步回應並不包含每一更新之局部化資料元件或資料 元件。 34 1359597 接下來,如區塊1054所示,客戶端電腦裝置1 理每一已接收更新之指令元件,以判斷是否符合應用 所定義之條件。參見第9圖,客戶端電腦裝置u〇處 接收更新911 915之指令元件》為方便說明,假設在 施例中,客戶端電腦裝置 110之作業系統為英 Windows® XP Service Pack 1,也假設客戶端電腦穿j 為戴爾的個人電腦,配備32位元、X86處理器。因此 處理更新程式組實施例之指令元件時,客戶端電腦 110會認為符合第一更新911所定義之條件,因為該 包含一英文版作業系統;而第二更新912所定義之條 會符合’因為該作業系統為Windows® XP Service 1;第三更新913所定義之條件也會符合,因為客戶端 裝置110配備X86處理器;第五更新915所定義之條 會符合’因為客戶端電腦裝置11〇戴爾個人電腦。最 第一更新911、第二更新912、第三更新913與第五 915都會存在客戶端更新快取的第一元件内。第四更制 所定義之條件無法符合,因為客戶端電腦裝置u〇並 備64位元X86的處理器。因此,第四更新914被視 失敗的更新,並且會被儲存在客戶端更新快取之第二 中 〇 參見第10圖,在區塊1〇54的程序中,客戶端電 置1 1 0也會判斷是否需要後續之同步請求^在一實 中’如果至少一已接收之更新顯示其非LEAF更新, 10處 規則 理已 本實 文版 L 110 丨,在 裝置 電腦 件也 Pack 電腦 件也 後, 更新 r 914 非配 為是 元件 腦裝 施例 則就 35 1359597 會判斷需要後續之同步請求。在該實施例中,由於所 接收之更新皆非LEAF更新,所以就會判斷需要後續 步請求。因此,客戶端電腦裝置110傳送一後續之同 求1 055至中繼資料伺服器123。 如前所述,同步請求包含儲存在客戶端更新快取 一更新之識別碼。因此,在該實施例中,後續之同步 1055包含第一資料元件,其指示出第一更新911、第 新912、第三更新913與第五更新915已安裝在客戶对 此外,後續之同步請求1 0 5 5包含第二資料元件,其指 第四更新914並未成功的安裝在客戶端上。 在接收到後續之同步請求1 〇 5 5後,如前所述,中 料伺服器123會判斷該後續之同步請求1055是否包含 一更新識別碼。如果該後續之同步請求包含至少一更 別碼,中繼資料伺服器1 2 3會檢查所有已儲存更新之 要件,以選擇其他額外的更新程式傳送至客戶端。 參見該實施例,在區塊1 0 5 6的程序中,由於符合 更新92 1之前提要件,因此中繼資料伺服器1 23會選 六更新921。如第9圖所示,具體言之,由於符合需 第一更新911、第二更新912與第三更新913之前提J 因此會選擇第六更新 921並將其傳送至客戶端電腦 110。由於並未符合第七更新922與第八更新931之前 件,因此不會選擇第七更新922與第八更新931傳輸 戶端。具體言之,同步請求1055並未包含第四更新 有已 之同 步請 内每 請求 二更 丨上。 示出 繼資 至少 新識 前提 第六 擇第 安裝 -件, 裝置 提要 至客 36 914 1359597 之識別碼,而此為第七更新922之前提要件。此外, 請求1055並未包含第六更新921之識別碼,而此為第 新931之前提要件。 參見第10圖,同步化子程序1050會繼續執行, 所選之更新(在後續回應1057令)從中繼資料伺服器 傳送至客戶端電腦裝置110。再次參見該實施例,該 回應1057會包含與第六更新921相關之資訊,而該第 新92 1係在後續回應1 057中,並會被傳送至客戶端 在接收到後續回應1 057後,客戶端電腦裝置1 10 理該後續回應1057之指令元件。如同區塊1054之程 客戶端電腦裝置110處理每一已接收更新之指令元件 判斷是否符合應用規則所定義之條件。在該實施例中 設XP PATCH 1已安裝在客戶端電腦裝置,則第六更新 會被視為已安裝,並且該更新會被寫入客戶端電腦 110之更新快取。由於第六更新921並非一 LEAF更 因此客戶端電腦裝置110會傳送另一同步請求1060, 步請求1060包含儲存在客戶端更新快取的第一和第 件内之所有更新。該同步請求1060也包含授權伺服 記。 在該實施例中,利用上述中繼資料伺服器1 2 3之 程序,區塊1061處理同步請求1060,並且該伺服器 擇第八更新93 1。由於同步請求1 060顯示出第五和第 新(915和 921)已安裝至客戶端電腦裝置110,因 同步 八更 並將 123 後續 六更 110° 會處 序, ,以 ,假 92 1 裝置 新, 該同 二元 器庫 處理 會選 六更 此會 37 1359597 選擇第八更新931。如果第八更新931與該授權伺服 記中所識別之目標群組相關聯,則第八更新9 3 1之指 件就會在另一回應1062中傳送至客戶端電腦裝置11 後第八更新931會在區塊1063之程序中處理,其處理 與區塊1054和1059之程序相似。由於回應1062之所 接收更新為LEAF更新,因此後續之同步請求並不會 至中繼資料伺服器1 2 3。 在客戶端電腦裝置 110上,如果所有已接收更 LEAF更新,或如果在回應1 062中沒有接收任何更新 步化子程序1050就會將一驅動程式同步請求1064從 端電腦裝置1 1 〇傳送至中繼資料伺服器1 2 3。習知技 士皆明瞭,該驅動程式同步請求1 064可能包含描述所 安裝至客戶端電腦裝置110上之硬體之資訊,以及描 安裝軟體之資訊。如同前述之軟體同步請求(1051、 與1060),驅動程式同步請求1064可能傳送已安裝 新至伺服器。此外,所有目前在客戶端快取上的驅動 更新(如果有的話)會傳送至伺服器。 在接收到驅動程式同步請求1 064後,中繼資料伺 123會傳送所有適用於客戶端電腦裝置110之驅動程 新,該驅動程式更新都未在客戶端上的快取上。如果 其前提要件與條件,則驅動程式更新會在回應1 〇 6 5中 送至客戶端電腦裝置110。該傳送驅動程式更新之 器庫 令元 0。然 方式 有已 回傳 新為 ,同 客戶 藝人 有已 述已 1055 之更 程式 服器 式更 符合 被傳 回應 38 1359597 1 06 5在較佳之情況下係傳送每一更新之指令元件。接著, 驅動程式更新會被寫入客戶端電腦裝置之更新快取。 在接收到包含驅動程式更新之回應1065後,同步化子 程序1050傳送一請求1066,以獲得每一已接收軟體與硬 體更新之局部化資料。如前所述,每一更新之局部化資料 元件包含描述該更新之一般資訊。例如,局部化資料元件 可包含描述該更新之功能和效益的資訊。該局部化資料元 件也可包含更新安裝程序之文字描述。此外,該局部化資 料元件可包含與該更新相關之其他資料或資訊。 因此,在接收到每一已接收軟體與硬體更新之局部化 資料的請求1 066後,中繼資料伺服器1 23會傳送客戶端更 新快取内所有已接收軟體更新與硬體更新之所有局部化資 料。該局部化資料一旦被接收後,便會經過一軟體應用程 式處理,以判斷需安裝那個更新,或是該已接收之局部化 資料會顯示給使用者,以告知使用者所有可安裝在客戶端 電腦裝置1 1 0之更新。在一實施例中,以接收之局部化資 料可顯示在網頁上。在該實施例中,客戶端會接收第六與 第八更新(92 1與93 1 )之局部化資料。如果局部化資料儲 存在基本更新911、912、913與915内,那些更新之局部 化資料也會被客戶端接收。 第1 1圖說明一網頁1 1 0 0之實施例,該網頁1 1 0 0顯示 一局部化資料之實施例,該局部化資料係與可安裝於客戶 端之更新相關聯。為便於說明,網頁1100至少包含一更新 39 1359597 之第一詳細說明U〇5與另一更新之第二詳細說明 如圖所示,每-更新會分別與選擇機制π〇3與" 結’以接收使用者所選之更新。圖示之網頁"〇〇配4 :聯 制知11〇卜讓使用者得以控制將所選擇之更新傳送=控 器如中繼資料伺服器123或下載飼服器124。 5 在本發明之一態樣中,客戶端執行複數程序以強 頁1100之顯示。舉例而言,客戶端電腦裝置檢杳Α網 更新之局部化資料’以判斷是否有屬於高優先順序之:: 更新。要達成此一功能,可將某些字樣放置在局 -特疋更新之其他元件内,該字樣係顯示該特 网 順序或緊急更新。如果客戶端電腦裝置1 1 0伯 1只測到 -高優先順序之更新或緊急更新,客戶端會將該高優先順 序更新顯示在網頁丨100令明顯的部份,如頁面的上部。此 外,客戶端可產生一視覺化指示器,如專門的 '"含札 1 1 20 ’以指示該更新為高優先順序之更新。 客戶端電腦裝置no也會檢查每一更新之局部化資 料,以判斷某一特定更新是否需要個別安裝,也就是說在 安裝更新檔案的同時,不能安裝其他更新檔案。要達成此 一功能’可將某些字樣放置在局部化資料内或特定更新之 其他元件内,該字樣係顯示該特定更新需要個別安裝。如 果客戶端電腦裝置11 〇偵測到此一更新,則客戶端會顯示 一視覺化指示器,如第圖所示之文字訊息1122,已說 明該更新需要個別安裝。 40 丄乃9597 行, 在驅 124 多更 7〇〇 . —方 與傳 如何 安裝 之選 見第 新代 118 要什 所請 異修 案。 軟體 傳送 含更 回到第7圖,在區塊7〇8’ 客戶端電腦裝置110接收到 動控制鈕1101後,中繼資料 會得到該所選之一或多更新 新後,該所選之軟體更新會 的在區塊7 0 8繼續執行。 根據本發明之再另一態樣, 法’以在軟體更新服務與客 輸資訊。第12A和12B圖說 利用本發明執行軟體更新處 所請求之軟體。如前所述, 擇後,軟體更新處理子程序 1 圖,在區塊1 2〇2,更新 理程式118。在本發明之一 為—專門的軟體元件,該專 麼軟體更新資訊,以完成所 求之更新代理安裝元件版本 正之方式產生已更新檔案; 如果更新代理程式118已存 在區塊1204,更新代理裎式 更新資訊。在本發明之一實 之軟體更新資訊是一套件程 新代理程式所會用到的各種 軟體更新程序700持續執 更新之選擇。如前所述, 词服器123或下載伺服器 。在接收到所選擇之一或 被處理’而軟體更新程序 軟體更新服務120可提供 戶端電颺裝置110間選擇 曰月該客戶端電腦裝置110 理子程序12〇〇,以取回並 生或接收到軟體更新 12〇〇就可能會被執行。參 管理元件nl實體化一更 實施例中,更新代理程式 n # &體元件係為判斷需 誚求之軚體更新;以產生 ’ α藉合併現有檔案與差 以及/或安裝已更新 < 檔 在’則可忽略區塊1 202。 1 18從更新服務120獲得 施例中,更新服務120所 式’如自解壓縮檔,其包 資料°在一態樣中,套件 41 1359597 程式包含相當於特定軟體更新之所有檔案清單。此外,套 件程式可包含至少一部分修正儲存清單之副本,該修正儲 存清單係將要被更新之特定版本檔案對映至修正儲存檔案 内之對應軟體更新差異修正,該修正儲存檔案係在更新服 務120上。套件程式也可包含每一要被更新檔案之安裝資 訊,該安裝資訊可包含完成更新所需之安裝元件版本識 別。套件程式也可包含更新代理程式118或差異修正之安 裝元件,以更新已儲存在客戶端電腦裝置11〇上之安裝元 件版本。此外,套件程式可包含驗證資訊,讓更新代理程 式得以判斷軟體更新是否成功。舉例而言驗證資訊可包 含已更新檔案之參考雜湊值(reference hash values)以作 為比較。更新代理程式118也可驗證套件程式之内容。 在決威區塊1 2 〇 6中,會進行一測試,判斷更新代理程 式1 1 8疋否必須更新安裝元件之版本以利更新之執行。習 知技藝人士凼a* 月瞭,傳送自解壓縮檔内安裝元件之全部副 本·*會増加忘1 θ ~~軟體更新之更新服務120所傳送之資料 量。因此,卢士 本發明之一實施例中’基準版本之安裝元件 可儲存在客戶姑 +文衣兀仟 ^ 端電腦裝置,並且透過安裝元件差显修正, 依照目前軟把r 艰史新之需求予以更新。自解壓縮檔内之安裝 **訊會告知該Ρ β Α更新代理程式118是否有任何内含之安裝元 千更新需要兔 Α '、客戶端電腦裝置110上之基準版本安裝元件 。併。在區塊10八。 ,, 1208 ’如果有某個更新需要,則更新代理程 武U 8會更軿 土準安裝元件,於第1 3圖會做更詳細之說明。 42 1359597 在區 果該安裝 已安裝在 定之檔案 會查詢客 擇更新之 單,則就 程式 1 1 8 訊。在本 案之版本 異修正法 別特定差 location) 更新代理 參見 已確認軟 新代理程 指出從修 之修正程 多可用之 案之位置 的大,所 求修正儲 塊1210,更新代理程式更新了安裝元件 元件並不需要更新,該更新代理程式1】 客戶端電腦裝置110上之檔案清單,以 版本。在本發明之一實施例中,更新代理 戶端電腦裝置110檔案系統上所有套件 檔案。而如果更新代理程式118最近有 會利用快取版本的清單。在區塊1212, 會球認完成所請求之更新需要什麼軟· 發明之一實施例中,修正儲存清單包含 與所需差異修正間之對映。因此.,如果 時’則更新代理程式1 1 8會利用該對映 異修正及其在修正儲存檔案内之位置 。另一方面’如果差異修正並不適用或無 程式118可識別全部可下載之稽案。 第12B圖,在區塊1214,更新日期代理 體更新資訊之請求。在本發明之一實施 式118可傳送特定差異修正之請求,該 正儲存檔案至更新服務12〇下載伺服器 式特定範圍。如前所述,修正儲存檔案 差異修正,每—差異修正係根據其在修 所識別。由於修正儲存檔案在某些實施 以更新代理程式Π8可利用另—種方式 存檔案内特定位置之資料,該資料可由 後,或如 1 8會列出 及確認特 程式11 8 程式已選 處理過清 更新代理 趙更新資 已安裝檔 可利用差 資訊以識 (offset .法執行* 程式傳送 例中,更 請求中會 124所需 包含非常 正儲存檀 例會非常 ’即僅請 修正儲存 43 1359597 清單所得知。在本發明之另一實施例中,更新+ 可請求更新檔之全部副本,和/或修正儲存檔 〇 在本發明之另一實施例中,另一下載伺服 非專屬與更新服務120相關聯)可處理更新刊 "月求°在該實施例中,該請求修正儲存檔案之 可被傳送至網路上其他的下載伺服器。該其他 35可以是私有網路的一部分,以用來更新私有 端。此外’該其他的下載伺服器可以是公有 刀。在私有網路的環境中,下載伺服器可能會 存檔案之完整副本,以便處理客戶端之請求。 =栽伺服器也可將先前處理來自其他客戶端 =,所產生之部分修正儲存檔案儲存在快取之 :快取資料完成下載,經由此-方式,可減少更 下栽飼服器124的傳輸負擔。 資訊在區塊1216,更新代理程式"8接收到所 7 °在本發明之-實施例中,所請求之更新 直:式傳送。第一種方式為手動更新其更新 的HTTP資料傳送回應請求,傳送至更新 廿此錄-^、上 裡方法下,更新服務12〇可 請来 J利用所有可用 •月,之資料傳送至更新代理程式118。 更叙 示一裡 求,’其更新請求會隨著間接的Ηττρ資料 ’傳送至更新服務12Qe在此種方法下 己理程式118 案之完整副 器(可能並 ,理程式118 全部或部分 的下載伺服 網路上之客 網路的一部 得到修正儲 另一方面, 之資料請求 中,並利用 .新服務1 2 0 請求之更新 資訊可以兩 請求會隨著 服務120 » 之頻寬將所 方式為自動 傳送回應請 新服務1 2 0 44 1359597 會以背景程序來傳送所請求的資料,而該背景 ’、狂斤可利 最小頻寬來實施。此外,該背景程序可在下載程序 吗'令勘 並在下個合適的時間重新開始。透過背景程序 个哥送所 求資料之系統與方法可參考審查中之美國專利申請案, 序號為09/505,735,案名為透過網路傳送資料之系統與 法(System and Method for Transferring Data Over Network ),該案於2000年2月16曰申請,其已以參考 獻方式併入本案中。習知技藝人士皆明瞭,前景或背景 料傳送與所選軟體更新之優先順序並無絕對關係,但與 何配置頻寬以獲得更新資訊有關。 從更新服務接收到所請求之資訊後,區塊1 2 1 8,更 代理程式118會將差異修正與相應之已安裝檔案合併。 本發明之一實施例中,更新代理程式118可將已安裝檔 原先之版本儲存在快取中’以確保在下載與合併之程 中’所選之樓案並未改變。此外,該儲存在快取中之原 版本的已安裝檔案也可用來將所選之更新解除安裝。 在決策區塊1 2 2 0,會進行一測試以判斷更新之檔案 否有效。在本發明之一實施例中,更新代理程式118可 用雜湊驗算法,將由更新資訊套件程式所得到並且相當 有效檔案更新之參考雜湊值’與目前修正擋之雜湊值作 較。如果雜湊值不相符’則目前之修正檔無效。習知技 人士皆明瞭’還有其他之驗證演算法可供運用。如果更 檔無效,子程序1200回到區塊1214,更新代理程式會 用 r > 請 其 方 a 文 資 如 新 在 案 序 來 是 利 於 比 藝 新 再 45 1359597 次請求更新資訊。另一方面,如果更新代理程式118多次 產生更新檔失敗,則更新代理程式可執行某一後援程序。 在本發明之一實施例中,更新代理程式118可請求已更新 檔案之完整副本,該已更新檔案係儲存在修正儲存檔案 内,並且利用更新服務1 2 0之修正儲存清單所識別。在本 發明之另一實施例中,更新代理程式118可請求已更新檔 案之副本,該已更新檔案係在更新服務 1 20之獨立檔案 内。在本發明之再另一實施例中,子程序1 200有可能是失 敗的。 若該所選之檔案有效,則在決策區塊1222,會進行一 測試,以判斷是否需要下載其他的擋案。在本發明之一實 施例中,子程序1200會進入一迭代迴圈(iterative loop), 於完成前一個所選檔案之下載後,會繼續檢查其他之檔案 下載。如果在下載期間,檔案之狀態改變,則更新代理程 式118會因為該新改變之狀態繼續請求其他之檔案下載。 如果有需要下載其他檔案,區塊1224,則更新代理程式.118 執行另一清單,並確認所有可用之差異修正。接著,該子 程序1200會回到區塊1214。 在完成全部所要求更新之下載後,在決策區塊1226, 會進行一測試以判斷客戶端機器之狀態是否改變。在本發 明之一實施例中,從下載與合併更新資訊,到實際安裝更 新檔案間可能須要一些時間。因此,在安裝更新樓案之前, 更新代理程式會判斷客戶端電腦裝置之狀態是否已經改 46 1359597 變。區塊1 22 8,如果狀態已經改變,則檔案更新可能會無 效,更新失敗。另一方面,在區塊1230,如果狀態未改變, 則更新代理程式 1 18安裝更新檔,子程序 1 200到區塊 1 232 » 參見第13圖,客戶端電腦裝置110執行子程序1300 以更新區塊1208(第12A圖)所述之基準安裝元件,該子 程序1300將於此說明。在決策區塊1302,會進行一測試 以判斷新的基準安裝元件是否包含在從更新服務120傳送 至更新代理程式118之自解壓缩檔内。在本發明之一實施 例中,如果更新基準安裝程式所需之差異修正與已更新之 安裝元件大小差不多,則就會傳送新的基準安裝元件。如 果包含了已更新之安裝元件,區塊1304,則更新代理程式 會將已更新的基準安裝元件當成新的安裝元件予以安裝。 此外,新的已更新安裝元件會存在客戶端電腦裝置110記 憶體中,成為其他更新程式之基準安裝程式。區塊1306, 子程序返回。 如果已更新之基準安裝元件並未包含在自解壓縮檔 内,區塊1308,則更新代理程式118會從該自解壓縮檔得 到基準安裝元件差異修正。在本發明之一實施例中,基準 安裝元件差異修正相當於軟體程式碼,該軟體程式碼可與 基準安裝元件合併以產生已更新之基準安裝元件。因此, 區塊1310,已更新之代理程式將基準安裝元件差異修正與 基準安裝元件合併,接著,區塊1312,更新代理程式118 47 1359597 會將 本發 不會 憶體 1 10 的已 限數 端電 13 14 知技 圍的 描述 軟體 除非 外, 【圖 腦以 電腦 該已更新之基準安裝元件標示為目前之安裝元件 明之一實施例中,已更新之安裝元件在安裝完成 被儲存。根據該實施例,更新代理程式118僅會 内有限數目的基準安裝元件保存在客戶端電腦 内。因此’更新代理程式在每次的安裝會產生一 更新安裝元件。因為每一客戶端電腦裝置110僅 目的基準安裝元件,所以更新服務120針對每一 腦裝置’僅需傳送單一基準安裝元件差異修正。 ’子程序1300返回。 雖然本發明已藉由較佳實施例作了詳細的描述, 藝人士皆明瞭,可於在不逾越本發明下述申請專 範疇下,對本發明進行修改,舉例而言,雖然此 之實施例應用在軟體更新,然而本發明之範疇包 更新相關之資訊散佈與傳輪以外之其他使用。因 本發明所特定排除之事€,否則本發明除了軟體 還可應用在認何資料Φ •態之散佈與傳輸。 第1圖為-軟體更新系統區塊圖,其包含— 及-更新服務,以利用本發明進行軟體更新 第2圖為第1圖之軟體更紅^ 文新系統區塊圖,說 裝置如何利用本發明進行 史新服務之驗證; 。在 後將 將記 裝置 暫時 有有 客戶 區塊 但習 利範 處所 含與 此, 更新 電 端 48 1359597 第3圖為第1圖之軟體更新系統區塊圖,說明如何利 用本發明將可用之更新在一客戶端電腦裝置與該更新服務 間進行同步化; 第4圖為第1圖之軟體更新系統區塊圖,說明如何利 用本發明從更新服務傳輸軟體更新資訊至一客戶端電腦裝 置; 第5圖為第1圖之軟體更新系統區塊圖,說明一客戶 端電腦裝置如何利用本發明處理與選擇更新資訊; 第6圖為第!圖之軟體更新系統區塊圖,說明一客戶 端電腦裝置如何利用本發明合併差異修正以及安裝更新 檔; 第7圖為一流轾圖,說明一客戶端電腦裝置與一更新 服務如何利用本發明之軟體更新裡序以確認軟體更新可 安裝在該客戶端電腦裝置; 第8圖為一授權程序之協定圖(pr〇t〇c〇丨心”^瓜), 說明如何利用本發明選擇性的存取儲存在更新服務上之更 利用本二軟體更新程式集實施例區塊圖,說明如何 赏明進行一授權程序; 明,二。步:程序協定圖,說…利用本發 戶端電腦=更新服務傳輪一所選的軟體更新群组至-客 49 1359597 第1 1圖為一區塊圖,說明利用本發明之一圖形化使用 者介面之實施例,該介面可顯示一客戶端電腦裝置可用之 軟體更新程式清單; 第12A與12B圖說明該客戶端電腦裝置110如何利 用本發明執行軟體更新處理子程序1200,以取回並安裝所 請求之軟體; 第13圖為一流程圖,說明一客戶端電腦裝置如何利用 本發明執行一子程序,以更新基準安裝元件。 【元件代表符號簡單說明】 1 0 0更新系統 1 0 1 網路 110客户端電腦裝置 1 1 2更新管理元件 1 14軟體應用程式 I 1 6作業系統 II 8更新代理程式 1 2 0更新服務 1 2 1更新伺服器 1 2 2授權伺服器 1 2 3中繼資料伺服器 1 2 4下載伺服器 1 3 0外部更新俣供者 700軟體更新處理程序 50 1359597 702授權存取客戶端電腦(第8圖) 7 04同步化客戶端與伺服端間的可用更新(第1 0圖) 706接收到更新選擇 708處理所選擇之軟體更新(第12A與12B圖) 7 1 0結束軟體更新流程 803組態請求 8 04組態回應 805產生授權庫記 806庫記請求 807產生伺服器庫記 809伺服器庫記 8 11儲存伺服器庫記 825、 828所有電腦 826、 829 PID 驗證 830測試 900更新程式 901基本組更新 902第二組更新 903第三組更新 911第一更新 912第二更新 913第三更新 914第四更新 51 1359597 915第五更新 921第六更新 922第七更新 931第八更新 1050同步化子程序 1051 、 1055 、 1060 同步請求 1 0 5 2處理請求 1 053、1 057、1 062 回覆 1054、1059、1063處理指令元件 1064驅動程式同步請求 1 065驅動程式資料 1066請求局部化資訊 1 0 6 7局部化資訊 110 5、110 6 說明 1103、1 104選擇機制 1 1 0 1控制鈕 1 1 2 0、1 1 2 2文字訊息 1200啟始差異修正更新子程序 1202產生更新代理程式元件 12 04取得自解壓縮安裝檔 1206更新基準安裝元件? 1208更新基準安裝元件(第13圖) 1 2 1 0列出已安裝之檔案清單以及確認版本 52 1359597 1212確認所有合適之差異修正 1214傳送已確認差異修正之範圍請求 1216取得所請求之差異修正 1218將差異修正與相應之已安裝檔案合併 1220更新檔案是否有效? 1 222需要下載其他檔案? 1224執行清單並確認可用之差異修正 1 2 2 6狀態改變? 1 2 2 8更新失敗 1 230安裝更新檔 1 2 3 2結束 1300啟始基準安裝元件更新子程序 13 02新的基準安裝元件包含在自解壓縮安裝檔内? 13 04安裝基準安裝元件 1306 、 1314 返回 1308從該自解壓縮安裝檔取得基準安裝元件差異修正 1310將基準安裝元件與基準安裝元件差異修正合併 1312將已合併之基準安裝元件標示為目前之安裝元件 53

Claims (1)

1359597
:平藏擧物觀f ι· 一種在包含與一軟體更新服務通訊之一客戶端電腦裝 置之一電腦系統中,將軟體更新從該軟體更新服務通訊 至該客戶端電腦裝置之方法,該方法至少包含: (a) 從該客戶端電腦裝置得到一同步請求,該同步 請求被傳輸至該軟體更新服務,其中若該客戶端電腦裝 置儲存一已安裝之軟體更新,則該同步請求包含:該已 安裝軟體更新之一識別碼; (b) 判斷該同步請求是否包含:至少一已安裝軟體 更新之一識別碼; (c) 如果確定該同步請求包含:至少一已安裝軟體 更新之一識別碼,則選擇一其他之軟體更新以與該客戶 端電腦裝置通訊,其中選擇該其他軟體更新係視該其他 軟體更新中所定義之至少一第一前提要件是否被完成 而定,其中該第一前提要件要求該同步請求需包含:至 少一已安裝軟體更新之一識別碼; (d) 如確定該同步請求並未包含:至少一已安裝軟 體更新之一識別碼,則選擇一第一級的軟體更新以與該 客戶端電腦裝置通訊,其中該第一級軟體更新並未包 含:一前提要件; (e) 將該所選擇軟體更新之一指令元件從該軟體更 新服務通訊至該客戶端電腦裝置,其中該指令元件包 含:至少一應用規則,該至少一應用規則定義複數個條 54 1359597 件,該客戶端電腦裝置在安裝所選擇軟體更新之前需 該等複數個條件,該所選擇軟體更新與該指令元件相 連; (f) 若該客戶端電腦裝置包含:至少一符合儲存 該所選擇軟體更新的指令元件内之每一應用規則之 有條件的元件,則將該所選擇軟體更新之該指令元件 存在該客戶端電腦裝置内,成為一已安裝之軟體更勒 (g) 如果該客戶端電腦裝置並未包含:至少一符 儲存於該所選擇軟體更新之該指令元件内之一應用 則之至少一條件的元件時,則將該所選擇軟體更新之 指令元件儲存在該客戶端電腦裝置内,當作一失敗軟 更新;以及 (h) 當確定該指令元件顯示該軟體更新服務並 包含:其他適用於該客戶端電腦裝置之軟體更新時, 該所選擇軟體更新之一局部化資料元件從該軟體更 服務通訊至該客戶端電腦裝置。 2.如申請專利範圍第1項所述之方法,其中該方法更 含: 判斷該所選擇軟體更新之至少一指令元件是否 供一指示以顯示該軟體更新服務包含:其他適用於該 戶端電腦裝置之軟體更新;以及 如果確定所選擇軟體更新之至少一指令元件提 要 關 於 所 儲 合 規 該 體 未 將 新 包 提 客 供 55 1359597 一指示以顯示該軟體更新服務包含:其他適用於該客戶 端電腦裝置之軟體更新,則重複要件(a) - (f) ^ 3.如申請專利範圍第1項所述之方法,其中該方法更包 含: 產生一包含文字之顯示,該文字係衍生自該經通訊 的局部化資料元件,其中該文字係描述該所選擇之軟體 更新。 4. 如申請專利範圍第 3項所述之方法,其中該方法更包 含: 得到一指令,該指令確認一所選擇之資料檔案與該 所選擇軟體更新相關聯;以及 對接收該指令做出回應,將與該所選擇軟體更新相 關聯之該資料檔案從該軟體更新服務通訊至該客戶端 電腦裝置。 5. 如申請專利範圍第1項所述之方法,其中該方法更包 含: 判斷該客戶端電腦裝置是否儲存該已安裝之軟體 更新; 如果確定該客戶端電腦裝置儲存該已安裝之軟體 更新,則在該同步請求中,提供該已安裝軟體更新之一 56 1359597 識別碼。 6. 如申請專利範圍第1項所述之方法,其中該前提要件定 義一條件,該條件需要有被該同步請求所參照之軟體更 新組,且該條件係由至少一與該軟體更新组連結之邏輯 運算子所定義。 7. 如申請專利範圍第1項所述之方法,其中該方法更包 含: 如果該客戶端電腦裝置存有該失敗軟體更新時,則 取得該同步請求内之該失敗軟體更新之一識別碼; 如果確定該同步請求包含:一失敗軟體更新之一識 別碼,則限制與該失敗軟體更新有關之所選擇軟體更新 的通訊。 8. 如申請專利範圍第1項所述之方法,其中該同步請求係 從在該客戶端電腦裝置上執行之一自動更新程式模組 所產生。 9. 如申請專利範圍第1項所述之方法,其中該同步請求係 經由使用者提出手動更新請求所引發。 10. 如申請專利範圍第1項所述之方法,其中該所選擇之軟 體更新係經配置以更新一或更多個已安裝在該客戶端 57 1359597 電腦裝置上之檔案;其中將該所選擇之軟體更新從該軟 體更靳服務通訊至該客戶端電腦裝置的步驟包含: 取得一用以辨識複數個可用之差異修正之自解壓 缩檔,以更新一已安裝檔案之至少一版本; 取得該一或更多個已安裝在該客戶端電腦裝置上 之檔案之一清單; 選擇一或更多個合適之差異修正,以實施該所選擇 之軟體更新,其中選擇該一或更多個合適之差異修正係 相當於:將該辨識複數個可用之差異修正之自解壓縮檔 對映至該一或更多個已安裝在該客戶端電腦裝置上之 檔案之該清單;以及 傳輸一請求,以獲得一或更多個所選擇之差異修 正0 11. 一種電腦可讀媒體,該電腦可讀媒體具有電腦可執行指 令,以實施如申請專利範圍第1項所述之方法。 1 2. —種電腦系統,該電腦系統包含:一處理器 '一耦合至 該處理器之記憶體以及電腦可執行指令,該等電腦可執 行指令係儲存在該記憶體上且藉由該處理器所執行,以 實施如申請專利範圍第1項所述之方法。 13. —種在包含與一軟體更新服務通訊之一客戶端電腦裝 58 1359597 置的一電腦系統中,將該軟體更新從該軟體更新服務 訊至該客戶端電腦裝置之方法,該方法至少包含: 從該客戶端電腦裝置取得一授權請求,其中該授 請求包含:儲存在該客戶端電腦裝置之一客戶端授權 组之一識別碼; 判斷該客戶端電腦裝置是否與一目標群組相 聯,其中如果該客戶授權模組指示出該客戶端電腦裝 與該目標群組相關聯,則可確定該客戶端電腦裝置與 目標群組相關聯; 如果確定該客戶端電腦裝置與該目標群組相 聯,則將一伺服器庫記(cookie)從該軟體更新服務通 至該客戶端電腦裝置,其中該伺服器庫記識別該目標 組; 取得一請求,以獲得儲存在該軟體更新服務上之 少一軟體更新,其中該請求包含:該伺服器庫記; 判斷一軟體更新是否與該伺服器庫記内所識別 該目標群組相關聯,以回應所取得之為獲得該至少一 體更新之該請求; 如果確定該軟體更新與該伺服器庫記内所識別 該目標群組相關聯,則將該軟體更新從該軟體更新服 通訊至該客戶端電腦裝置;其中通訊該軟體更新的步 包含:通訊該軟體更新之一指令元件,其中該指令元 包含:至少一應用規則,該至少一應用規則定義複數 通 權 模 關 置 該 關 訊 群 至 之 軟 之 務 驟 件 個 59 1359597 條件,該客戶端電腦裝置在安裝所選擇軟體更新之前需 要該等複數個條件,該所選擇軟體吏新與該指令元件相 關連; 處理該軟體更新之該指令元件,以判斷該指令元件 是否提供一指示以顯示該軟體更新服務包含:其他適用 於該客戶端電腦裝置之軟體更新; 如果該客戶端電腦裝置並未包含:至少一符合儲存 於該軟體更新之該指令元件内之一應用規則之至少一 條件的元件時,則將該軟體更新之該指令元件儲存在該 客戶端電腦裝置内,當作一失敗軟體更新;以及 如果該指令元件並未提供一指示以顯示該軟體更 新服務包含:其他適用於該客戶端電腦裝置之軟體更 新,則將該軟體更新之一局部化資料元件從該軟體更析 服務通訊至該客戶端電腦裝置。 14.如申請專利範圍第13項所述之方法,其中該授權請求 包含:一先前已儲存伺服器庫記之資料,且其中該伺服 器庫記包含:該先前已儲存伺服器庫記之資料,該伺服 器庫記係從該軟體更新服務通訊至該客戶端電腦裝置。 1 5 ·如申請專利範圍第1 3項所述之方法,其中如果一伺服 器授權模組識別在該客戶授權模組中已被識別之相同 的該目標群組,則可確定該客戶端電腦裝置與該目標群 60 1359597 組相關聯。 16. 如申請專利範圍第13項所述之方法,其中該伺服 記包含:一到期時間,其中該方法更包含: 判斷是否已超過該伺服器庫記之該到期時間; 如果確定已超過該伺服器庫記之該到期時間, 制將該軟體更新從該軟體更新服務通訊至該客戶 腦裝置的動作。 17. 如申請專利範圍第13項所述之方法,其中該伺服 記將該到期時間以一明文格式與一加密格式儲存, 中該伺服器庫記包含:識別至少一目標群組之加 料,其中該方法更包含: 從該伺服器庫記取得該到期時間,其中該客戶 腦裝置經由以該明文格式儲存之該到期時間取得 期時.間; 判斷是否尚未超過該到期時間;以及 如果確定並未超過該到期時間,則在對至少一 更新之一請求中,將該伺服器庫記從該客戶端電腦 通訊至該軟體更新服務。 18. 如申請專利範圍第13項所述之方法,其中該授權 在一軟體應用程式之一安裝期間,係儲存在該客戶 器庫 則限 端電 器庫 且其 密資 端電 該到 軟體 裝置 模組 端電 61 1359597 腦裝置上。 19.如申請專利範圍第13項所述之方法,其中該授權模组 在一軟體應用程式之一更新程序期間,係儲存在該客戶 端電腦裝置上。 20.如申請專利範圍第13項所述之方法,其中該方法更包 含: 處理該局部化資料元件,以選擇至少一更新檔案, 以更新安裝在該客戶端電腦裝置上檔案。 21 .如申請專利範圍第20項所述之方法,其中處理該局部 化資料元件包含: 在該客戶端電腦裝置之一顯示器上顯示該局部化 資料元件之資料,其中該顯示器包含:一元件,以產生 對一所選擇更新之一請求;以及 取得至少一請求,該請求顯示出至少一更新檔案之 選擇,以更新安裝在該客戶端電腦裝置上檔案。 22.如申請專利範圍第13項所述之方法,其中該伺服器授 權模組係一軟體外掛程式,該軟體外掛程式係經配置以 從該軟體更新服務被動態地加入或移除。 62 1359597 23. 如申請專利範圍第13項所述之方法,其中為獲得至少 一軟體更新之該請求係產生自該客戶端電腦裝置上執 行之一自動更新程式模组。 24. 如申請專利範圍第13項所述之方法,其中為獲得至少 一軟體更新之該請求係經由一使用者提出一手動更新 請求所引發。 25. 如申請專利範圍第13項所述之方法,其中該軟體更新 係經配置以更新一或更多個已安裝在該客戶端電腦裝 置上之檔案,其中將該軟體更新從該軟體更新服務通訊 至該客戶端電腦裝置的步驟包含: 取得一或更多個可用軟體更新之一選擇,以更新一 或更多個已安裝在該客戶端電腦裝置上之檔案; 取得一具有複數個可用之差異修正之自解壓縮 檔,以更新已安裝檔案之至少一版本; 取得該一或更多個已安裝在該客戶端電腦裝置上 之檔案之一清單; 選擇一或更多個合適之差異修正,以實施該所選擇 之軟體更新,其中選擇該一或更多個合適之修正係相當 於:該辨識複數個可用之差異修正之自解壓縮檔對映至 該一或更多個已安裝在該客戶端電腦裝置上之檔案之 該清單;以及 63 1359597 傳輸一請求,以獲得一或更多個所選擇之差異 正。 26. 27. 28. 一種電腦可讀媒體,該電腦可讀媒體具有電腦可執行 令,實施如申請專利範圍第13項所述之方法。 一種電腦系統,該電腦系統包含:一處理器、一耦合 該處理器之記憶體以及電腦可執行指令,該等電腦可 行指令係儲存在該記憶體上且藉由該處理器所執行, 實施如申請專利範圍第13項所述之方法。 一種在包含與一伺服器通訊之一客戶端電腦裝置的 電腦系統中,將一資料結構從該伺服器通訊至該客戶 電腦裝置之方法,該方法至少包含: 判斷該客戶端電腦裝置是否與一目標群組相 聯,其中如果該客戶端電腦裝置包含:一授權模組, 授權模組指示出該客戶端電腦裝置與該目標群組相 聯,則可確定該客戶端電腦裝置與該目標群組相關聯 如果確定該客戶端電腦裝置與該目標群組相 聯,則將一伺服器庫記(cookie)從該伺服器通訊至該 戶端電腦裝置,其中該伺服器庫記識別該目標群組; 取得一請求,以獲得至少一儲存在該伺服器上之 料結構,其中該請求包含:該伺服器庫記; 修 指 至 執 以 端 關 該 關 > 關 客 資 64 1359597 判斷一資料結構是否與該伺服器庫記内所識別之 目標群组相關聯,以回應所取得之該請求; 如果確定該資料結構與該伺服器庫記内所識別之 該目標群組相關聯,則將該資料結構從該伺服器通訊至 該客戶端電腦裝置,其中通訊該資料結構的步驟包含: 通訊該資料結構之一指令元件,其中該指令元件包含: 至少一應用規則,該至少一應用規則定義複數個條件, 該客戶端電腦裝置在安裝該資料結構之前需要該等複 數個條件,該資料結構與該指令元件相關連; 處理該資料結構之該指令元件,以判斷該指令元件 是否提供一指示以顯示該伺服器包含:其他適用於該客 戶端電腦裝置之資料結構; 如果該客戶端電腦裝置並未包含:至少一符合儲存 於該資料結構之該指令元件内之一應用規則之至少一 條件的元件時,則將該資料結構之該指令元件儲存在該 客戶端電腦裝置内,當作一失敗資料結構;以及 如果該指令元件並未提供一指示以顯示該伺服器 包含:其他適用於該客戶端電腦裝置之資料結構,則將 該資料結構之一局部化資料元件從該伺服器通訊至該 客戶端電腦裝置。 29.如申請專利範圍第28項所述之方法,其中該方法更包 含: 65 1359597 從該客戶端電腦裝置取得一授權請求,其中該授權 請求包含:儲存在該客戶端電腦裝置之該授權模組的一 識別碼; 判斷該客戶端電腦裝置是否與一目標群組相關 聯,以回應所接收到之該授權請求,其中如果該授權請 求識別出至少一儲存在該客戶端電腦裝置之授權模组 與該目標群組相關聯,則可確定該客戶端電腦裝置與該 目標群組相關聯。 30.如申請專利範圍第28項所述之方法,其中該伺服器庫 記至少包含:一到期時間;其中該方法更包含: 判斷是否已超過該伺服器庫記之該到期時間; 如果確定已超過該伺服器庫記之該到期時間,則限 制將該資料結構從該伺服器通訊至該客戶端電腦裝置 之動作。 31.如申請專利範圍第28項所述之方法,其中該伺服器庫 記將該到期時間以一明文格式與一加密格式儲存,且其 中該伺服器庫記包含:識別至少一目標群組之加密資 料,其中該方法更包含: 從該伺服器庫記取得該到期時間,其中該客戶端電 腦裝置經由以該明文格式儲存之該到期時間取得該到 期時間; 66 1359597 判斷是否尚未超過該到期時間;以及 如果確定並未超過該到期時間則藉由對至少一資 料結構之一請求,將該伺服器庫記從該客戶端電腦裝置 通訊至該軟體更新服務。 32. —種電腦可讀媒體,該電腦可讀媒體具有電腦可執行指 令,實施如申請專利範圍第28項所述之方法。 3 3 · —種電腦系統,該電腦系統包含:一處理器、一耦合至 該處理器之記憶體以及電腦可執行指令,該等電腦可執 行指令係儲存在該記憶體上且藉由該處理器實施如申 請專利範圍第28項所述之方法。 67
TW093122089A 2003-12-15 2004-07-23 Method,computer system ,and computer-readable medi TWI359597B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/737,708 US7574706B2 (en) 2003-12-15 2003-12-15 System and method for managing and communicating software updates

Publications (2)

Publication Number Publication Date
TW200520490A TW200520490A (en) 2005-06-16
TWI359597B true TWI359597B (en) 2012-03-01

Family

ID=34654192

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093122089A TWI359597B (en) 2003-12-15 2004-07-23 Method,computer system ,and computer-readable medi

Country Status (16)

Country Link
US (1) US7574706B2 (zh)
EP (1) EP1723495A4 (zh)
JP (1) JP4914220B2 (zh)
KR (1) KR101098745B1 (zh)
CN (1) CN100416465C (zh)
AU (1) AU2004279170C1 (zh)
BR (1) BRPI0406440A (zh)
CA (1) CA2507172C (zh)
MX (1) MXPA05006646A (zh)
MY (1) MY150115A (zh)
NO (1) NO20052268L (zh)
NZ (1) NZ540174A (zh)
RU (1) RU2357279C2 (zh)
TW (1) TWI359597B (zh)
WO (1) WO2005060388A2 (zh)
ZA (1) ZA200503160B (zh)

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6317878B1 (en) * 1996-05-22 2001-11-13 Fujitsu Limited Information processing system and recording media
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6751794B1 (en) 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
GB0018042D0 (en) * 2000-07-21 2000-09-13 Monsell Edm Ltd Method of and software for recordal and validation of changes to markup language files
US7574481B2 (en) * 2000-12-20 2009-08-11 Microsoft Corporation Method and system for enabling offline detection of software updates
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US7539686B2 (en) * 2004-03-12 2009-05-26 Microsoft Corporation Tag-based schema for distributing update metadata in an update distribution system
US8688803B2 (en) * 2004-03-26 2014-04-01 Microsoft Corporation Method for efficient content distribution using a peer-to-peer networking infrastructure
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
US7673148B2 (en) * 2004-10-15 2010-03-02 Microsoft Corporation Versioning component for applications
US8019725B1 (en) * 2004-12-15 2011-09-13 Apple Inc. Software update management
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US8457108B1 (en) 2004-12-27 2013-06-04 At&T Intellectual Property Ii, L.P. Method and apparatus for monitoring client software usage in end user device
US8387037B2 (en) * 2005-01-28 2013-02-26 Ca, Inc. Updating software images associated with a distributed computing system
US7490072B1 (en) 2005-02-16 2009-02-10 Novell, Inc. Providing access controls
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US7770164B2 (en) * 2005-05-31 2010-08-03 Siemens Aktiengesellschaft Software upgrades with centralized preparation
US8577761B1 (en) * 2005-06-30 2013-11-05 Oracle America, Inc. System and method for dynamic offering topologies
FI120286B (fi) 2005-07-12 2009-08-31 Capricode Oy Menetelmä ja laitejärjestely palvelin-asiakaslaite-ympäristön hallitsemiseksi
FI119672B (fi) 2005-07-12 2009-01-30 Capricode Oy Menetelmä ja laitejärjestely käyttäjäsovellus-laitehallintapalvelin-asiakaslaite-ympäristön hallitsemiseksi
US20070073800A1 (en) * 2005-09-29 2007-03-29 Intel Corporation Provisioning, configuring, and managing a platform in a network
JP2009512939A (ja) * 2005-10-21 2009-03-26 ヴァー2アス インコーポレイテッド 複数のオペレーティングシステムのインスタンスが単一のマシン資源を安全に共有することを可能とする、オペレーティングシステムの仮想化、を有するコンピュータセキュリティ方法
JP2007141102A (ja) 2005-11-21 2007-06-07 Internatl Business Mach Corp <Ibm> ソフトウェアをインストールするためのプログラム、記録媒体、及び装置
US7305325B2 (en) * 2006-01-12 2007-12-04 International Business Machines Corporation Method to improve requirements, design manufacturing, and transportation in mass manufacturing industries through analysis of defect data
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007226740A (ja) * 2006-02-27 2007-09-06 Kyocera Corp 通信システム、ソフトウェア更新方法、通信装置、管理サーバ装置、およびプログラム
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US8533700B1 (en) * 2006-04-11 2013-09-10 Open Invention Networks, Llc Workstation uptime, maintenance, and reboot service
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US7730480B2 (en) * 2006-08-22 2010-06-01 Novell, Inc. System and method for creating a pattern installation by cloning software installed another computer
JP4842742B2 (ja) * 2006-09-05 2011-12-21 富士通株式会社 ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置
KR101079592B1 (ko) * 2006-11-03 2011-11-04 삼성전자주식회사 디스플레이장치 및 그 정보갱신방법
KR100873198B1 (ko) 2006-11-30 2008-12-10 주식회사 케이티프리텔 휴대용 정보 단말기를 위한 통합 소프트웨어 관리 방법 및시스템
US8150371B2 (en) * 2007-05-03 2012-04-03 Qualcomm Incorporated Interactive control of access to services and capabilities of a mobile device
US8407692B2 (en) * 2007-06-27 2013-03-26 Microsoft Corporation Dynamic correction of component manifests
US8589912B2 (en) * 2007-06-29 2013-11-19 International Business Machines Corporation Loosely coupled product install and configuration
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8281298B2 (en) * 2007-08-27 2012-10-02 International Business Machines Corporation Evaluating computer driver update compliance
US9652210B2 (en) 2007-08-28 2017-05-16 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US8832679B2 (en) * 2007-08-28 2014-09-09 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US8938735B2 (en) * 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US20090083441A1 (en) 2007-09-24 2009-03-26 Microsoft Corporation Synchronization of web service endpoints in a multi-master synchronization environment
US8413130B2 (en) * 2007-10-03 2013-04-02 International Business Machines Corporation System and method for self policing of authorized configuration by end points
US8214826B2 (en) * 2007-10-09 2012-07-03 International Business Machines Corporation Optimized targeting in a large scale system
US8683458B2 (en) * 2007-11-30 2014-03-25 Red Hat, Inc. Automatic full install upgrade of a network appliance
US8266260B2 (en) * 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
US8589592B2 (en) * 2007-12-11 2013-11-19 Red Hat, Inc. Efficient object distribution
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device
US20090288071A1 (en) * 2008-05-13 2009-11-19 Microsoft Corporation Techniques for delivering third party updates
US8418164B2 (en) 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
TWI382311B (zh) * 2008-12-03 2013-01-11 Mitac Int Corp Transmission control system and its method
US8954488B2 (en) 2009-01-21 2015-02-10 Microsoft Corporation Extensibility for web based diagram visualization
US9489185B2 (en) * 2009-01-29 2016-11-08 At&T Mobility Ii Llc Small/medium business application delivery platform
JP2010198332A (ja) * 2009-02-25 2010-09-09 Canon Inc ファームウェア更新装置、ファームウェア更新システム、ファームウェア更新方法、およびファームウェア更新プログラム
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
TWI416327B (zh) * 2009-03-25 2013-11-21 Wistron Corp 資料備份方法
US10419722B2 (en) 2009-04-28 2019-09-17 Whp Workflow Solutions, Inc. Correlated media source management and response control
US8311983B2 (en) * 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US9760573B2 (en) 2009-04-28 2017-09-12 Whp Workflow Solutions, Llc Situational awareness
US10565065B2 (en) 2009-04-28 2020-02-18 Getac Technology Corporation Data backup and transfer across multiple cloud computing providers
US8495621B2 (en) * 2009-06-15 2013-07-23 Microsoft Corporation Catalog-based software component management
TWI479354B (zh) * 2009-06-17 2015-04-01 Fineart Technology Co Ltd 資訊安全管理系統
CN101989208A (zh) * 2009-08-04 2011-03-23 鸿富锦精密工业(深圳)有限公司 软件更新方法
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US8528037B2 (en) 2009-08-28 2013-09-03 CSC Holdings, LLC Dynamic application loader for set top box
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
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
US8972974B2 (en) * 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US20110113420A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8316120B2 (en) * 2010-02-02 2012-11-20 Microsoft Corporation Applicability detection using third party target state
US9922354B2 (en) 2010-04-02 2018-03-20 Apple Inc. In application purchasing
TW201135594A (en) * 2010-04-08 2011-10-16 Inventec Corp System for updating software using separated modules and method thereof
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9110749B2 (en) * 2010-06-01 2015-08-18 Apple Inc. Digital content bundle
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
KR101750337B1 (ko) * 2010-08-17 2017-06-23 삼성전자주식회사 정보 제공 방법 및 장치
US9563751B1 (en) 2010-10-13 2017-02-07 The Boeing Company License utilization management system service suite
US9378007B2 (en) 2010-12-01 2016-06-28 Apple Inc. Pre-heated software installation
US8910149B2 (en) * 2010-12-24 2014-12-09 Microsoft Corporation On-demand or incremental remote data copy
US9081839B2 (en) 2011-01-28 2015-07-14 Oracle International Corporation Push replication for use with a distributed data grid
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US20120272103A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Software operability service
US10127077B2 (en) 2011-04-26 2018-11-13 Oracle International Corporation Event distribution pattern for use with a distributed data grid
US9250866B2 (en) 2011-06-20 2016-02-02 Ebay Inc. Systems and methods for incremental software deployment
US8856724B2 (en) 2011-06-20 2014-10-07 Ebay Inc. Systems and methods for incremental software development
US8880651B2 (en) * 2011-07-25 2014-11-04 Sony Computer Entertainment America, LLC Method and system for efficient download of data package
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US9232001B1 (en) * 2011-11-14 2016-01-05 Google Inc. Client-server communication using a set identifier
CA2858691A1 (en) * 2011-12-09 2013-06-13 Merchantwarehouse.Com, Llc Payment processing and customer engagement platform methods, apparatuses and media
KR101304565B1 (ko) * 2012-02-27 2013-09-05 주식회사 네오위즈인터넷 어플리케이션 제공 방법 및 그를 위한 어플리케이션 제공 서버
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9489193B2 (en) * 2012-05-01 2016-11-08 Sophos Limited Method and system for providing software updates to local machines
KR101969577B1 (ko) * 2012-07-10 2019-04-16 에스케이플래닛 주식회사 애플릿 정보 서비스 시스템 및 애플릿 정보 서비스 방법
US9471300B2 (en) * 2012-07-26 2016-10-18 Utc Fire And Security America Corporation, Inc. Wireless firmware upgrades to an alarm security panel
US9378026B2 (en) * 2012-07-27 2016-06-28 Daniel A. Dooley Customizable application
JP6131551B2 (ja) * 2012-09-18 2017-05-24 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
US20140129686A1 (en) * 2012-11-08 2014-05-08 Nvidia Corporation Mobile computing device configured to filter and detect application profiles, a method of manufacturing the same and an external source for delivering hierarchical filtered application profiles to mobile computing devices
KR20140077435A (ko) 2012-12-14 2014-06-24 삼성전자주식회사 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치
US9418072B2 (en) * 2013-03-04 2016-08-16 Vmware, Inc. Cross-file differential content synchronization
US9026994B2 (en) * 2013-03-07 2015-05-05 Microsoft Technology Licensing, Llc Cloud-based localization platform
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
US9372679B2 (en) * 2013-08-02 2016-06-21 Sap Se Method and system for software delivery service
US9229702B1 (en) * 2013-08-28 2016-01-05 Lithium Technologies, Inc. Systems and methods for application plugin deployment for websites
US9830142B2 (en) * 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9665359B2 (en) 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US9626176B2 (en) 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
RU2571726C2 (ru) * 2013-10-24 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки целесообразности установки обновлений
JP2015103106A (ja) * 2013-11-26 2015-06-04 株式会社リコー 通信装置、及び通信プログラム
JP2015103105A (ja) 2013-11-26 2015-06-04 株式会社リコー 通信装置、通信システム、及び通信プログラム
CN103631625B (zh) * 2013-12-02 2018-02-23 腾讯科技(成都)有限公司 一种数据获取的方法、用户端、服务器及系统
JP2015153266A (ja) * 2014-02-18 2015-08-24 日本電気株式会社 ファームウェア管理システム、方法、及び、プログラム
US9430216B2 (en) 2014-05-11 2016-08-30 Lumension Security, Inc. Self-contained executable for predetermined software updating
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9996339B2 (en) * 2014-06-04 2018-06-12 Microsoft Technology Licensing, Llc Enhanced updating for digital content
CA2875850C (en) * 2014-12-23 2022-07-05 Steve Cooper Version synchronization of dependent components
CN104899057B (zh) * 2015-05-13 2018-10-16 北京金山安全软件有限公司 软件模块的更新方法和装置
US11367077B2 (en) 2015-06-11 2022-06-21 Idid Tecnologia Ltda Antifraud resilient transaction identifier datastructure apparatuses, methods and systems
US11715109B2 (en) * 2015-06-11 2023-08-01 Idid Tecnologia Ltda Point of sale apparatuses, methods and systems
US10250600B2 (en) * 2015-07-27 2019-04-02 International Business Machines Corporation Updating database drivers for client applications through a database server push
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
US20170090910A1 (en) * 2015-09-29 2017-03-30 International Business Machines Corporation Mobile device application installation with performance enhancement
CN105357308B (zh) * 2015-11-18 2018-05-08 天脉聚源(北京)传媒科技有限公司 一种数据下载方法及装置
US10250452B2 (en) 2015-12-14 2019-04-02 Microsoft Technology Licensing, Llc Packaging tool for first and third party component deployment
US10666517B2 (en) 2015-12-15 2020-05-26 Microsoft Technology Licensing, Llc End-to-end automated servicing model for cloud computing platforms
US10735348B2 (en) * 2016-04-29 2020-08-04 International Business Machines Corporation Providing an optimal resource to a client computer via interactive dialog
CN107528713B (zh) * 2016-06-22 2019-01-11 腾讯科技(深圳)有限公司 一种数据转移sdk的升级方法及装置
CN106126306A (zh) * 2016-07-08 2016-11-16 深圳市中兴物联科技股份有限公司 一种基于fota服务器组的无线升级方法及其系统
US11605037B2 (en) * 2016-07-20 2023-03-14 Fisher-Rosemount Systems, Inc. Fleet management system for portable maintenance tools
US10764083B2 (en) 2016-07-25 2020-09-01 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with resistor network for intrinsically safe operation
US10360021B2 (en) 2016-08-19 2019-07-23 Veniam, Inc. Systems and methods for reliable software update in a network of moving things including, for example, autonomous vehicles
RU2634183C1 (ru) * 2016-09-08 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ рассылки обновлений
JP6840966B2 (ja) * 2016-09-15 2021-03-10 富士通株式会社 参考情報出力プログラム、参考情報出力方法、及び参考情報出力装置
KR102590347B1 (ko) 2016-12-15 2023-10-18 삼성전자주식회사 서버, 전자 장치 및 데이터 관리 방법
US10362166B2 (en) 2017-03-01 2019-07-23 At&T Intellectual Property I, L.P. Facilitating software downloads to internet of things devices via a constrained network
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
RU2671624C1 (ru) * 2017-05-17 2018-11-02 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ управления обновлениями программного обеспечения в системах с каскадной структурой
CN109150570B (zh) 2017-06-27 2022-04-08 阿里巴巴集团控股有限公司 更新方法、系统、端节点及电子设备
CN107608689B (zh) * 2017-08-07 2020-01-21 阿里巴巴集团控股有限公司 客户端上应用程序的更新方法、装置及电子设备
CN109495532A (zh) * 2017-09-13 2019-03-19 北京京东尚科信息技术有限公司 客户端更新方法和装置
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US10601937B2 (en) 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
CN109828772B (zh) * 2019-02-19 2022-03-11 百度在线网络技术(北京)有限公司 热更新方法、操作系统、终端设备和存储介质
US11386233B2 (en) * 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
TWI752813B (zh) * 2019-05-22 2022-01-11 華南商業銀行股份有限公司 基於觸發操作的伺服器組態檢核及修正系統及其方法
TWI715047B (zh) * 2019-05-22 2021-01-01 華南商業銀行股份有限公司 伺服器組態檢核及修正系統與檢核及修正伺服器組態的方法
TWI746361B (zh) * 2019-05-22 2021-11-11 華南商業銀行股份有限公司 基於雜湊演算法的伺服器組態檢核及修正系統及其方法
US10999314B2 (en) 2019-07-19 2021-05-04 JFrog Ltd. Software release tracking and logging
US10972289B2 (en) 2019-07-19 2021-04-06 JFrog, Ltd. Software release verification
US11140086B2 (en) 2019-08-15 2021-10-05 At&T Intellectual Property I, L.P. Management of background data traffic for 5G or other next generations wireless network
CN111258670B (zh) * 2020-01-08 2023-09-22 北京字节跳动网络技术有限公司 组件数据的管理方法、装置、电子设备和存储介质
US11695829B2 (en) 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
RU2726318C1 (ru) * 2020-01-14 2020-07-13 Юрий Иванович Стародубцев Способ резервного копирования состояния сложного объекта
CN111338667B (zh) * 2020-02-10 2023-08-01 浙江大华技术股份有限公司 一种应用程序app的升级方法与升级装置
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
CN114296775B (zh) * 2022-03-09 2022-07-19 南京易联阳光信息技术股份有限公司 基于大数据的智能运维方法及系统

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047928A (en) * 1986-10-24 1991-09-10 Wiedemer John D Billing system for computer software
US5155680A (en) * 1986-10-24 1992-10-13 Signal Security Technologies Billing system for computing software
US4796181A (en) * 1986-10-24 1989-01-03 Wiedemer John D Billing system for computer software
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
CA2053261A1 (en) * 1989-04-28 1990-10-29 Gary D. Hornbuckle Method and apparatus for remotely controlling and monitoring the use of computer software
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5267171A (en) * 1990-03-29 1993-11-30 Brother Kogyo Kabushiki Kaisha Computer software vending machine
JPH0792744B2 (ja) * 1990-08-20 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 多重レベル適用業務ソフトウェアをデータ処理装置にインストールする方法。
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
CA2093094C (en) * 1992-04-06 2000-07-11 Addison M. Fischer Method and apparatus for creating, supporting, and using travelling programs
US5528490A (en) * 1992-04-10 1996-06-18 Charles E. Hill & Associates, Inc. Electronic catalog system and method
US5586322A (en) * 1992-06-11 1996-12-17 Beck; Robert E. Workgroup organized network manager with workstation comparison system
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5421009A (en) * 1993-12-22 1995-05-30 Hewlett-Packard Company Method of remotely installing software directly from a central computer
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
US6038586A (en) * 1993-12-30 2000-03-14 Frye; Russell Automated software updating and distribution
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5654901A (en) * 1995-01-30 1997-08-05 Telefonaktiebolaget Lm Ericsson Loading software into field test equipment
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법
DE19608142B4 (de) 1996-03-04 2013-10-10 Hosokawa Alpine Ag Zyklonsichter
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5721824A (en) 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US5930513A (en) * 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
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
US6643506B1 (en) * 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6330715B1 (en) * 1998-05-19 2001-12-11 Nortel Networks Limited Method and apparatus for managing software in a network system
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6286138B1 (en) * 1998-12-31 2001-09-04 International Business Machines Corporation Technique for creating remotely updatable programs for use in a client/server environment
US6490722B1 (en) * 1999-03-30 2002-12-03 Tivo Inc. Software installation and recovery system
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
JP2001067232A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd ソフトウエアの配信システムおよびソフトウエアの受信端末装置
US6493871B1 (en) 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US7035878B1 (en) * 2000-01-25 2006-04-25 Fusionone, Inc. Base rolling engine for data transfer and synchronization system
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
CN1107907C (zh) * 2000-02-21 2003-05-07 英业达股份有限公司 借由增量的方式来使数据文件升级的方法
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
GB0017336D0 (en) * 2000-07-15 2000-08-30 Ibm Preferable modes of software package deployment
US7035912B2 (en) * 2000-08-28 2006-04-25 Abaco.P.R., Inc. Method and apparatus allowing a limited client device to use the full resources of a networked server
US20020112230A1 (en) * 2000-12-07 2002-08-15 Scott John Charles Software update management system with update chronology generator
US7574481B2 (en) * 2000-12-20 2009-08-11 Microsoft Corporation Method and system for enabling offline detection of software updates
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
CN1241136C (zh) * 2001-09-14 2006-02-08 北京瑞星科技股份有限公司 软件升级的方法
US7257649B2 (en) * 2001-09-28 2007-08-14 Siebel Systems, Inc. Method and system for transferring information during server synchronization with a computing device
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US7251812B1 (en) * 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US7115919B2 (en) * 2002-03-21 2006-10-03 Hitachi, Ltd. Storage system for content distribution
GB2387456B (en) * 2002-04-12 2005-12-21 Sun Microsystems Inc Configuring computer systems
US20030195951A1 (en) * 2002-04-12 2003-10-16 Wittel Walter I. Method and system to dynamically detect, download and install drivers from an online service
US9009694B2 (en) * 2002-05-22 2015-04-14 Oracle America, Inc. Pre-verification and sequencing of patches
US7823148B2 (en) * 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US20030221190A1 (en) * 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US6966058B2 (en) * 2002-06-12 2005-11-15 Agami Systems, Inc. System and method for managing software upgrades in a distributed computing system
US20040002943A1 (en) 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
US7478385B2 (en) * 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
US20050050142A1 (en) * 2003-08-28 2005-03-03 Aligo Inc. Method and framework for transaction synchronization
CA2537910C (en) * 2003-09-05 2012-11-06 Itron, Inc. Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service

Also Published As

Publication number Publication date
RU2005118556A (ru) 2006-01-20
EP1723495A4 (en) 2008-12-31
EP1723495A2 (en) 2006-11-22
AU2004279170C1 (en) 2010-12-02
MXPA05006646A (es) 2005-10-21
NO20052268D0 (no) 2005-05-10
MY150115A (en) 2013-11-29
CN100416465C (zh) 2008-09-03
AU2004279170B2 (en) 2010-06-10
KR101098745B1 (ko) 2011-12-26
KR20060114618A (ko) 2006-11-07
TW200520490A (en) 2005-06-16
CA2507172A1 (en) 2005-06-15
ZA200503160B (en) 2006-10-25
JP2007514233A (ja) 2007-05-31
RU2357279C2 (ru) 2009-05-27
NO20052268L (no) 2005-05-26
US7574706B2 (en) 2009-08-11
BRPI0406440A (pt) 2005-10-04
WO2005060388A2 (en) 2005-07-07
NZ540174A (en) 2007-12-21
WO2005060388A3 (en) 2005-09-01
CN1973255A (zh) 2007-05-30
AU2004279170A1 (en) 2005-06-30
JP4914220B2 (ja) 2012-04-11
US20050132348A1 (en) 2005-06-16
CA2507172C (en) 2013-10-08

Similar Documents

Publication Publication Date Title
TWI359597B (en) Method,computer system ,and computer-readable medi
RU2365983C2 (ru) Система и способ для службы распространения программного обеспечения
RU2367005C2 (ru) Система и способ для обновления файлов с использованием корректирования сжатыми изменениями
RU2372644C2 (ru) Система и способ для обновления инсталляционных компонентов в сетевой среде

Legal Events

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