TWI460656B - 遞送軟體之系統及方法 - Google Patents
遞送軟體之系統及方法 Download PDFInfo
- Publication number
- TWI460656B TWI460656B TW098126260A TW98126260A TWI460656B TW I460656 B TWI460656 B TW I460656B TW 098126260 A TW098126260 A TW 098126260A TW 98126260 A TW98126260 A TW 98126260A TW I460656 B TWI460656 B TW I460656B
- Authority
- TW
- Taiwan
- Prior art keywords
- software
- location
- item
- delivery
- user
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
本申請案與發明人約翰 明卡累利(John Mincarelli)及史利得哈 希薩拉曼(Sridhar Seetharaman)在和本申請案同日提出申請之美國專利申請案“遞送軟體之系統及方法”有關。
申請案:待讓渡(代理人案號SNP-1153)
本發明一般係有關用以配送軟體至電腦網路之系統。本發明尤有關軟體資料庫,其有助於將軟體遞送至遠地,且週期性驗證遠地擁有所遞送軟體之有效及最新版本。
最近高速網路之繁衍導致更容易將軟體遞送至遠地。然而,由於軟體配送者經常配送數百個不同軟體產品,且各產品典型地具有多重釋出(multi releases)。更有甚者,可將軟體產品配送至數百個或者甚至數千個位置,其中各位置可能使用不同版本的軟體產品版本之獨特組合。系統管理人進一步深化此複雜性,此等系統管理人經常對如何安裝不同軟體產品很有創意,這意謂各安裝通常不同。上述因素之每一者造成難以有效率地配送及維修軟體產品。
本發明之某些實施例提供用以遞送軟體之系統。於操作期間內,該系統接收來自使用者之選擇,其中此等選擇具體指出待從主位置遞送至使用者位置之軟體項目。該系統亦接收來自使用者的優先資訊,其中該優先資訊具體指出所選軟體項目之遞送優先順序。其次,該系統根據優先資訊,判定對所選軟體項目之遞送順序。最後,該系統根據所判定遞送順序,從主位置將所選軟體項目遞送至使用者位置。
於某些實施例中,遞送選軟體項目反覆地包括:從主位置將所選軟體項目遞送至使用者位置之步驟;以及在送出次一所選軟體項目之前接收所選項目之遞送確認之步驟。
於某些實施例中,該系統另包括根據以下諸項計算所選軟體項目之遞送費用之步驟:安裝所選軟體項目之複雜度;所選軟體項目之大小;及/或包括所選軟體項目之檔案數目。
於某些實施例中,在遞送所選軟體項目之後,該系統自動地將所選軟體項目之更新從主位置推至使用者位置。
於某些實施例中,該主位置可為:一主位置,其含有用於軟體之主軟體資料庫;或一從屬位置,其含有主軟體資料庫之拷貝。
於某些實施例中,該系統從使用者接收遞送選擇,其中該遞送選擇可具體指出所選軟體項目依預定時間表或依請求遞送。於此等實施例中,該遞送所選軟體項目之步驟包括根據該遞送選擇,遞送所選軟體項目之步驟。
於某些實施例中,該系統另識別在前段期間內哪些軟體項目未被載入或使用;以及接著,從該主位置儲存入及移除所識別軟體項目之步驟。
於某些實施例中,從該主位置儲存入及移除所識別軟體項目之步驟包括:壓縮所識別軟體項目之步驟;將所壓縮軟體項目儲存入存檔軟體資料庫之步驟;以及自該主位置之主軟體資料庫移除所識別軟體項目之步驟。
本發明之某些實施例提供驗證從主位置被遞送至使用者位置之軟體之系統。於操作期間,該系統於使用者位置從主位置接收主列表,在此該主列表具體指出可安裝於使用者位置之軟體項目。該系統亦於使用者位置上產生實際列表,其指出哪些軟體項目實際安裝於使用者位置上。該系統接著比較實際列表與主列表,且若實際列表與主列表不一致,該系統即採取救濟行動。
於某些實施例中,該救濟行動可包括:自動通知負責使用者位置之系統管理人有關不一致之步驟;以及從使用者位置對主位置自動重新傳輸遺失、更新或訛誤之軟體項目之步驟。
於某些實施例中,當主列表於主位置上更新時,接收主列表,且週期性產生實際列表於使用者位置上。
於某些實施例中,產生實際列表之步驟包括識別哪些軟體項目安裝於使用者位置之步驟;以及接著驗證所識別項目有效安裝於使用者位置之步驟。
於某些實施例中,驗證給定軟體項目有效安裝之之步驟包括驗證給定軟體項目之以下屬性:版本數、檔案數及/或安裝大小及/或校驗和。
茲提供以下說明使熟於此技藝人士可製造及使用本發明,且其參照特定用途及其要件提供。熟於此技藝人士對所揭露實施例之各種變形例一目瞭然,且在不悖離本發明之精神及範疇下,本文所界定之一般原理可適用於其他實施例及用途。如此,本發明不限於圖示之實施例,而以和本文所揭示原理及特點一致之最廣闊範圍予以解釋。
於本詳細說明中所述資料結構及密碼典型地儲存在電腦可讀取之儲存媒體中,該儲存媒體可為能儲存供電腦系統所用密碼及/或資料之任何裝置或媒體。電腦可讀取之儲存媒體包括,惟不限於目前已知或最近開發之揮發性記憶體、非揮發性記憶體、諸如磁碟驅動器、磁帶、CD(光碟)、DVD(數位多用途碟片或數位視頻碟片)之磁性及光學儲存裝置之儲存電腦可讀取之媒體之其他媒體。
於詳細說明中所述方法及程序可以密碼及/或資料實施,其等可儲存在上述電腦可讀取之儲存媒體中。當電腦系統讀取及執行儲存於電腦可讀取之儲存媒體內之密碼及/或資料時,電腦系統進行以儲存於電腦可讀取之儲存媒體內之資料結構及密碼實施之方法及程序。甚而,以下所說明之方法及程序可包含在硬體模組中。例如,硬體模組可包括,惟不限於目前已知或最近開發之專用積體電路(ASIC)晶片、場可程式閘極陣列(FPGAs-)及其他可程式邏輯裝置。當硬體模組被起動時,硬體模組進行硬體模組內所含方法及程序。
第1圖顯示根據本發明一實施例之電腦系統之網路組。更具體而言,第1圖所示例示性系統包括:一含有主軟體資料庫之主位置107,該主軟體資料庫含有最終被配送至許多使用者位置110-116之軟體。主位置107亦將軟體傳送至含有主軟體資料庫之局部拷貝之從屬位置108-109。此等拷貝用來作為“第二層軟體資料庫”,其可供配送軟體至一般更接近從屬位置之使用者位置。更具體而言,參考第1圖,從屬位置108將軟體配送至使用者位置113-114,而從屬位置109則將軟體遞送至使用者位置115-116。須知,若於從屬位置108無可用之軟體項目,主位置107即可略過從屬位置108,將軟體項目直接遞送至使用者位置114(須知,軟體項目可同時或依序遞送至從屬位置108)。
甚而,各使用者位置包括用於該系統之精簡型電腦,其可容易安裝在不同計算平台上,並有助於資料轉送於主位置107與從屬位置108-109之間。更具體而言,於第1圖中,使用者位置113包括一精簡型電腦120,其含有有助於自從屬位置108遞送軟體至使用者位置113之密碼。例如,精簡型電腦120可包含網路系圖形使用者界面(GUI),其令使用者可選擇待遞送軟體項目以及相關聯之遞送選擇。該網路系GUI亦令使用者可於種種遞送協定間選擇。
須知,位置107-116可屬於不同組織,或可替代地屬於相同組織。例如,於本發明之一實施例中,主位置107及從屬位置108-109屬於一軟體遞送者,且使用者位置110-116屬於軟體遞送者之客戶。於另一實施例中,主位置107、從屬位置108-109及使用者位置110-116均屬於相同組織,其中使用者位置110-116在地理上係該組織之被配送部門。
上述位置107-116一般可包括任何類型的電腦系統或計算裝置,其可根據微處理器、主機電腦、數位信號處理器、可攜式計算裝置、個人組織器、裝置控制器或設備內之計算引擎。
位置107-116透過網路(未圖示)相互通訊,該網路可包含能與計算節點耦接之任何類型的有線或無線通信頻道。該網路可包含,惟不限於本地區域網路、廣大區域網路或網路組合。於本發明之一實施例中,網路包含網際網路。於本發明之某些實施例中,網路包含電話及手機網路。
第2圖顯示根據本發明一實施例之主位置107之結構。主位置107包含一計算引擎212,其與一主軟體資料庫202、存檔軟體資料庫210及位置資料庫(位置DB)214通訊。
如上所述,計算引擎212一般可包括任何類型的電腦系統或計算裝置,其可根據微處理器、主機電腦、數位信號處理器、可攜式計算裝置、個人組織器、裝置控制器或設備內之計算引擎。
主軟體資料庫202儲存不同軟體項目之產品版本,其例如可包含不同軟體模組、軟體封裝、軟體應用及/或軟體工具。更具體而言,主軟體資料庫202可包括不同磁碟截片,其含有不同類型之軟體。例如,主軟體資料庫202可包含用於製造應用204、第三方應用206及免費軟體208之磁碟截片。須知主軟體資料庫202亦可儲存其他類型之非軟體內容,諸如含有本文資訊之資料檔案或含有影像、聲音或視頻之媒體檔案。
存檔軟體資料庫210包含用於不同軟體項目或不再於使用者位置110-116存取或使用之其他類型內容之壓縮代表。
位置DB214含有有關儲存於特定使用者位置之軟體項目之資訊。例如,位置DB可儲存:位置識別、位置名稱、與使用者位置有關之客戶名稱、客戶之接觸資訊以及指出哪些軟體項目待被遞送至哪些位置和何時將特定軟體項目遞送至特定位置之遞送資訊。位置DB 214亦儲存較佳供使用者位置使用之遞送方法(例如:rsync,ftp)。其另外儲存須與媒體一起遞送至一位置之所有相關性資訊。該相關性資訊可包含,惟不限於用在模組檔案、缺設版本檔案或其他應用/媒體目錄。須知,上述某些資訊可如以下更詳細說明,用於請款用途。
位置DB 214另外含有具體指出如何遞送軟體項目之使用資訊。更具體而言,使用資訊可指出:(1)軟體項目存取之日期及時間、(2)關聯使用者、(3)關聯機器、(4)軟體項目之型錄及版本數以及(5)是否裝卸軟體項目。須知,本資訊可如以下更詳細說明,在存檔及移除程序期間內使用。本資訊亦可用來事先登錄接收軟體類別之更新之使用者。例如,若系統判定使用者經常從一特定類別存取諸項目,該系統即可根據趨勢分析,自動登錄接收特定類軟體之更新之使用者。
須知,主位置107可使用“推模式”或“挽模式”來遞送軟體至使用者位置。更具體而言,主位置107包含一模式選擇機構200,其選擇“推”或“挽”之同步模式。在推模式下,直接從主位置107或從位置,將資料(包含軟體項目)推至使用者位置。相對地,在挽模式下,主位置107將一通知(諸如電子郵件訊息)送至一使用者位置,指出準備從一指定檔案轉送協定伺服器(FTP)222下載一軟體項目。須知,每一客戶於FTP伺服器222配有一私人不公開且安全之區域。甚而,FTP伺服器222構成盲目且無方向性,僅供客戶下載。亦須知,FTP下載需要登錄之使用者姓名及口令。接著,當使用者位置準備如此進行時,使用者位置下載軟體項目。須知,在一特週期性間之後,FTP伺服器222將自動刪除所有使用者位置之軟體遞送。
於本發明之一實施例中,該系統可選擇性使用諸如“rsync”協定(使UNIX檔案及目錄同步)、遙遠外殼(RSH)協定、安全外殼(SSH)協定或FTP之不同配送協定來配送軟體。
於本發明之一實施例中,該系統產生平行流,將新或修正軟體項目平行送至不同客戶,其中每一客戶有一個別流。須知,於各流中,軟體項目可依序遞送。因此,若擬將三個軟體項目送至既定客戶,此三個軟體項目即以專用流送至既定客戶。然而,在該專用流中,此三個軟體項目係依序配送。
於某些實施例中,該系統亦支持按時遞送,其中可在較不忙碌期間內,通常在非營業時間內,延遲軟體項目遞送的發生,將對使用者位置之使用者影響其網路連接的可能頻寬爭論問題減至最小。
於某些實施例中,該系統亦保持追蹤與軟體工具有關之程式包(package)間的相關性。這使該系統在己遞送包括軟體工具之其他程式包之後,例如遞送諸如模組檔案或館存檔案之輔助程式包。
於某些實施例中,當遞送軟體至使用者位置時,該系統自動改變程式碼中的硬編碼路徑名,俾路徑名於不同使用者位置映射於不同目錄結構中的有效位置。這可包括位置級映射及應用級映射兩者。例如,就屬於ABC公司之位置而言,該系統可自動映射“/遠程/foobar”於“/遠程/ABC”。然而,為綜合應用在屬於ABC公司之位置上,該系統可自動映射“/遠程/foobar”於“/遠程/ABC/綜合”。
於某些實施例中,於主位置212之計算引擎212進行“更新檢查”作業,判定主軟體資料庫202是否含有須遞送至使用者位置之新或更新軟體項目。更具體而言,更新檢查包括:首先,產生軟體資料庫中所有項目之編譯表;以及比較該編譯表與上次產生的編譯,以判定是否已添加新類別項目(計算引擎212可經由特定組態設定,每天產生並比較項目表N次)。更新檢查亦包括於主軟體資料庫202中對整體軟體資料庫所作修改時間之二級檢查,以判定是否有任何東西改變。若修改時間指出有些東西改變,該系統即於主軟體資料庫202中辨識出任何新或修改的軟體項目。這使得該系統可依需要,將新或修改的軟體項目遞送至使用者位置。
於某些實施例中,該系統支持自監視多級通知/網路潛伏檢測特點。於此等實施例中,計算引擎212具有藉由檢查於遞送內容至特定使用者位置中同步操作是否有所進展以及特定使用者位置之通量速率是否在預定可接受範圍內,監視其本身之同步狀態(經由多級監視技術)之能力。更具體而言,於某些實施例中,該系統支持兩級監視,包含:監視同步狀態;以及監視通量。
在監視同步狀態時,計算引擎212檢查對使用者位置之同步操作是否達到預期預期進展。若同步程序運作時間較用於特定位置之預週期性間長,計算引擎212即可以電子郵件之形式送出通信警訊,告知系統的管理人業已偵測出一問題,以及可能不符必要的服務級協議(SLAs)。須知,各使用者位置可獨立程式化以明定有效同步程序之適當期間及明定於問題事件中待通知人士。甚而,計算引擎212可配置成於預定時間各使用者位置之同步狀態。
在監視通量時,計算引擎212檢查對使用者位置所作每一遞送之通量速率,以檢測網路頻寬中的所有不利變化。此種不利變化可能造成頻寬減小,並可藉此,導致對使用者位置所作遞送之通量降至此等遞送之既定基準以下。若通量速率自特定使用者位置之前次及既定速率減低,即可以電子郵件之形式,將通信警訊送至管理人。更具體而言,在各遞送之後,計算引擎212可對各遞送之目前通量與一位置之預期通量進行比較,若在最近遞送之通量中有顯著的減少,即可警告管理人。該檢查可在登錄於計算引擎212之使用者位置之各個獨特同步流上進行。
第2B圖顯示根據本發明一實施例之使用者位置113之結構。使用者位置113包含一使用者軟體資料庫232,其收容先前自主位置107獲得之局部軟體項目複本。
使用者位置113亦包含一磁碟空間監視器234,其追蹤在使用者軟體資料庫232中磁碟空間有多大。於軟體遞送程序期間,磁碟空間監視器234判定使用者位置113是否有足夠空間來進行遞送。這可包括對可用磁碟空間與待遞送軟體項目大小(及種種臨限值)加以比較。必要的話,該系統發出雙重警告,通知系統管理人(或其他負責人)(1)磁碟空間“小”並繼續進行遞送,或(2)磁碟空間“極小”,無法有助於後續遞送。
使用者位置113又包括一應用使用分析器230,其追蹤軟體項目之使用資訊。如以上提及,該使用資訊可具體指出(1)軟體項目存取之日期及時間、(2)相關使用者、(3)相關機器、(4)軟體項目之種類及版本數以及(5)是否上載或下載軟體項目。須知,該資訊可被傳至待於如以下更詳細說明之存檔及移除程序期間使用之主位置107。該使用資訊可任選地令使用率最大的媒體之計算引擎212至目標使用者位置自動同步。
第3圖提供顯示根據本發明一實施例遞送軟體之程序之流程圖。於操作期間,該系統自使用者接收選擇,其中此等選擇具體指出待從主位置遞送至使用者位置之軟體項目(步驟302)。須知,此等選擇可從位於諸使用者位置之一的使用者接收。甚而,此等選擇可與購買協議、許可協議或其他類型的軟體使用契約有關。
該系統亦可自使用者接收其他類型的資訊。例如,該系統可另外從使用者接收優先資訊,其具體指出軟體選項之遞送優先順序(步驟304)。這使得該系統可首先遞送更重要或更具時間性之軟體項目。該系統亦可自使用者接收遞送選擇,其中該遞送選擇具體指出軟體選項如何遞送(步驟306)。例如,軟體選項可根據預定行程遞送,或替代地,當使用者要求遞送時,其等可按需求遞送。
其次,該系統根據優先資訊判定所欲遞送順序(步驟308)。該系統接著根據所判定遞送順序及所選遞送選擇,將軟體選項從主位置107遞送至使用者位置。於此程序期間,該系統反覆:將軟體選項從主位置遞送至使用者位置(步驟310);以及在送出次一軟體選項前驗證選項之遞送(步驟312)。須知,若無法驗證給定軟體項目之遞送,該系統即可重送該給定軟體項目。(相對地,在挽模式下,主位置107將通知送至使用者位置,指出預備遞送軟體選項,且使用者位置自FTP伺服器222將軟體拉入主位置107。)
於某些實施例中,該系統另外計算遞送所選軟體項目之之費用(步驟314)。例如,該費用可根據以下來定:安裝所選軟體項目之複雜度;所選軟體項目之大小;及/或包括所選軟體項目之檔案數。該系統接著可根據所算費用對使用者寄出帳單。該帳單亦可包含對來自不同源頭之媒體之不同遞送成本,且此等不同遞送成本可併入相同帳單中。
於本發明之某些實施例中,在遞送所選軟體項目之後,該系統自動將對所選軟體項目之更新從主位置推至使用者位置以及業已載入相同軟體件之其他任何使用者位置(步驟316)。
第4圖顯示根據本發明一實施例,自動驗證及更新軟體之程序之流程圖。於操作期間內,該系統自位於使用者位置之主位置107接收一主列表(亦稱為“表單”),其中主列表指明哪些軟體項目可被安裝於使用者位置(步驟402)。於某些實施例中,每當於主位置更新主列表時,接收主列表。
該系統亦週期性於使用者位置產生實際表(表單),指出實際上哪些軟體項目被安裝於使用者位置(步驟404)。須知,該程序可包括:辨識哪些軟體項目被安裝於使用者位置;以及接著驗證所辨識軟體項目被有效安裝於使用者位置。於某些實施例中,驗證既定軟體項目被有效安裝於使用者位置包括對既定軟體項目驗證以下屬性:版本數、檔案數及/或安裝大小及或校驗和。
該系統接著比較實際表與主列表(步驟406)。若實際表與主列表不一致(步驟502-是),該系統即進行救濟行動,其可包括自動通知負責使用者位置之系統管理人此不一致(步驟412)。亦可包括自動將遺失、更新或訛誤軟體項目從主位置107重新傳輸至使用者位置(步驟412)。在重新傳輸後,該系統藉由於使用者位置進行檢查,判定重新傳輸是否成功。該系統接著通知系統管理人此重新傳輸狀態(步驟414)。若重新傳輸不成功,該系統即可回到步驟412,再度重新傳輸軟體項目(如自步驟414至步驟412之返回箭頭所示)。在重新傳輸不成功N次之後,該系統可通知系統管理人此問題,並可指令該管理人可能需要手動重新傳輸來解決及/或除去該問題。
第5圖提供一流程圖,其顯示根據本發明一實施例,自主軟體資料庫存檔及移除軟體之程序。於此程序期間,該系統辨識在前段時間內哪些軟體項目未被載入使用(步驟502)。例如,各使用者位置可追蹤哪些軟體項目未被載入使用者位置。接著,可將該資訊週期性送至主位置。這使主位置可辨識在前段時間,例如90天內哪些軟體項目未被載入使用者位置。在前段時間內軟體項目未被載入之事實指出軟體項目不可能於未來被載入。
其次,為於主軟體資料庫保有磁碟空間,該系統自主軟體資料庫存檔及移除所辨識軟體項目。這可包括:壓縮所辨識軟體項目(步驟504);儲存經壓縮之軟體項目於一存檔軟體資料庫中(步驟506);以及自主位置上之主軟體資料庫移除所辨識軟體項目(步驟508)。
須知,在未來若請求,即可再儲存軟體之存檔項目。這牽涉到:自存檔軟體資料庫擷取軟體項目;解壓縮軟體項目;然後,再儲存解壓縮軟體項目於主軟體資料庫,俾其可依需要配送至使用者位置。
前述實施例之說明僅為顯示及說明而提供。其並未意圖鉅細靡遺或限制本說明於所揭露形式。因此,熟於本技藝人士當知許多更改及變化。此外,以上揭露內容並未意圖限制本說明。本說明之範圍由後附申請專利範圍來界定。
107...主位置
108-109...從屬位置
110-116...使用者位置
120...精簡型電腦
200...模式選擇機構
202...主軟體資料庫
204...製造應用
206...第三方應用
208...免費軟體
210...存檔軟體資料庫
212...計算引擎
214...位置資料庫
222...FTP伺服器
226...資料
230...應用使用分析器
232...使用者軟體資料庫
234...磁碟空間監視器
第1圖顯示根據本發明一實施例之電腦系統之網路組;
第2A圖顯示根據本發明一實施例之主位置之結構;
第2B圖顯示根據本發明一實施例之使用者位置之結構;
第3圖顯示根據本發明一實施例,遞送軟體之方法之流程圖;
第4圖顯示根據本發明一實施例,自動驗證及更新軟體之方法之流程圖;
第5圖顯示根據本發明一實施例,自主軟體資料庫儲存入及移除軟體之方法之流程圖。
Claims (30)
- 一種遞送軟體之方法,包括:自使用者接收選擇之步驟,其中此等選擇具體指出待從主位置遞送至使用者位置之軟體項目;自使用者接收優先資訊之步驟,其中該優先資訊具體指出所選軟體項目之優先遞送項目;根據該優先資訊決定該等所選軟體項目之遞送順序之步驟;改變該等所選軟體項目中的硬編碼路徑名,以便該等路徑名於使用者位置映射有效位置,其中,改變該等硬編碼路徑名包括位置級映射及應用級映射兩者;以及根據所決定之遞送順序,從該主位置遞送該等所選軟體項目至使用者位置之步驟。
- 如申請專利範圍第1項之方法,其中該遞送該等所選軟體項目包括反覆地:從該主位置將所選軟體項目送至該使用者位置之步驟;以及在送出次一選擇軟體項目之前接收該所選軟體項目之遞送確認之步驟。
- 如申請專利範圍第1項之方法,其中該方法進一步包括根據以下一項或更多項計算所選軟體項目之遞送費用之步驟:安裝該所選軟體項目之複雜度;所選軟體項目之大小;以及 包括該所選軟體項目之檔案數目。
- 如申請專利範圍第1項之方法,其中在遞送該等所選軟體項目之後,該方法進一步包括自動地將該等所選軟體項目之更新從該主位置推至該使用者位置之步驟。
- 如申請專利範圍第1項之方法,其中該主位置可為:一主位置,其含有用於軟體之主軟體資料庫;或一從屬位置,其含有該主軟體資料庫之拷貝。
- 如申請專利範圍第1項之方法,其中該方法進一步包括從使用者接收遞送選擇之步驟,其中該遞送選擇可具體指出該等所選軟體項目依預定時間表或依請求遞送;以及其中該遞送該等所選軟體項目之步驟包括根據該遞送選擇,遞送該等所選軟體項目之步驟。
- 如申請專利範圍第1項之方法,其中該方法進一步包括:識別在先前期間內哪些軟體項目未被載入及/或使用之步驟;以及從該主位置存入及移除所識別軟體項目之步驟。
- 如申請專利範圍第7項之方法,其中從該主位置存入及移除該等所識別軟體項目之步驟包括:壓縮該等所識別軟體項目之步驟;將所壓縮軟體項目儲存入存檔軟體資料庫之步驟;以及 自該主位置之主軟體資料庫移除該等所識別軟體項目之步驟。
- 如申請專利範圍第1項之方法,其中該方法進一步包括在遞送該等所選軟體項目同時監視進度之步驟;且若所監視進度不符預定要件,即變更系統管理人。
- 如申請專利範圍第9項之方法,其中該監視該進度之步驟包括:判定自該主位置至該使用者位置之同步操作是否滿足預定最低進度位準;及/或判定至該使用者位置之通量是否滿足預定最低通量位準。
- 一種電腦可讀取之儲存媒體,其儲存指令,在以電腦執行此等指令時,使電腦進行遞送軟體之方法,該方法包括:自使用者接收選擇之步驟,其中此等選擇具體指出待從主位置遞送至使用者位置之軟體項目;自使用者接收優先資訊之步驟,其中該優先資訊具體指出所選軟體項目之優先遞送項目;根據該優先資訊決定該等所選軟體項目之遞送順序之步驟;改變該等所選軟體項目中的硬編碼路徑名,以便該等路徑名於使用者位置映射有效位置,其中,改變該等硬編碼路徑名包括位置級映射及應用級映射兩者;以及根據所決定之遞送順序,從該主位置遞送該等所選軟 體項目至使用者位置之步驟。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該遞送該等所選軟體項目包括反覆地:從該主位置將所選軟體項目送至該使用者位置;以及在送出次一選擇軟體項目之前接收該所選軟體項目之遞送確認。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該方法進一步包括根據以下一項或更多項計算所選軟體項目之遞送費用之步驟:安裝該所選軟體項目之複雜度;所選軟體項目之大小;以及包括該所選軟體項目之檔案數目。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中在遞送該等所選軟體項目之後,該方法進一步包括自動地將該等所選軟體項目之更新從該主位置推至該使用者位置之步驟。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該主位置可為:一主位置,其含有用於軟體之主軟體資料庫;或一從屬位置,其含有該主軟體資料庫之拷貝。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該方法進一步包括從使用者接收遞送選擇之步驟,其中該遞送選擇可具體指出該等所選軟體項目依預定時間表或依請求遞送;以及 其中該遞送該等所選軟體項目之步驟包括根據該遞送選擇,遞送該等所選軟體項目之步驟。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該方法進一步包括:識別在前段期間內哪些軟體項目未被載入及/或使用之步驟;以及從該主位置存入及移除所識別軟體項目之步驟。
- 如申請專利範圍第17項之電腦可讀取之儲存媒體,其中從該主位置存入及移除該等所識別軟體項目之步驟包括:壓縮該等所識別軟體項目之步驟;將所壓縮軟體項目儲存入存檔軟體資料庫之步驟;以及自該主位置之主軟體資料庫移除該等所識別軟體項目之步驟。
- 如申請專利範圍第11項之電腦可讀取之儲存媒體,其中該方法進一步包括在遞送該等所選軟體項目同時監視進度之步驟;且若所監視進度不符預定要件,即變更系統管理人。
- 如申請專利範圍第19項之電腦可讀取之儲存媒體,其中該監視該進度之步驟包括:判定自該主位置至該使用者位置之同步操作是否滿足預定最低進度位準;及/或判定至該使用者位置之通量是否滿足預定最低通量位 準。
- 一種遞送軟體之設備,包括:接收機構,構成以從使用者接收選擇,其中該等選擇具體指出待從主位置遞送至使用者位置之軟體項目;其中該接收機構又構成自使用者接收優先資訊,其中該優先資訊具體指出所選軟體項目之優先遞送項目;排程機構,構成以根據該優先資訊排定該等所選軟體項目之遞送順序;修改機構,構成以改變該等所選軟體項目中的硬編碼路徑名,以便該等路徑名於使用者位置映射有效位置,其中,改變該等硬編碼路徑名包括位置級映射及應用級映射兩者;以及遞送機構,構成以根據所決定之遞送順序,從該主位置遞送該等所選軟體項目至該使用者位置。
- 如申請專利範圍第21項之設備,其中該遞送機構構成反覆地:從該主位置將所選軟體項目送至該使用者位置;以及在送出次一選擇軟體項目之前接收該所選軟體項目之遞送確認。
- 如申請專利範圍第21項之設備,其中該設備進一步包括一計費機構,其構成根據以下一項或更多項計算所選軟體項目之遞送費用:安裝該所選軟體項目之複雜度;所選軟體項目之大小;以及 包括該所選軟體項目之檔案數目。
- 如申請專利範圍第21項之設備,其中在遞送該等所選軟體項目之後,該遞送機構構成自動地將該等所選軟體項目之更新從該主位置推至該使用者位置。
- 如申請專利範圍第21項之設備,其中該主位置可為:一主位置,其含有用於軟體之主軟體資料庫;或一從屬位置,其含有該主軟體資料庫之拷貝。
- 如申請專利範圍第21項之設備,其中該遞送機構構成從使用者接收遞送選擇,其中該遞送選擇可具體指出該等所選軟體項目依預定時間表或依請求遞送;以及其中在遞送該等所選軟體項目時,該遞送機構構成根據該遞送選擇,遞送該等所選軟體項目。
- 如申請專利範圍第21項之設備,進一步包括存檔機構,其構成:識別在前段期間內哪些軟體項目未被載入及/或使用;以及從該主位置存入及移除所識別軟體項目。
- 如申請專利範圍第27項之設備,其中在存入及移除該等所識別軟體項目時,該存檔機構構成:壓縮該等所識別軟體項目;將該壓縮軟體項目儲存入存檔軟體資料庫;以及自該主位置之主軟體資料庫移除該等所識別軟體項目。
- 如申請專利範圍第21項之設備,進一步包括進度監視機構,其構成在遞送該等所選軟體項目同時監視進度;且若所監視進度不符預定要件,即變更系統管理人。
- 如申請專利範圍第29項之設備,其中在監視進度時,該進度監視機構構成:判定自該主位置至該使用者位置之同步操作是否滿足預定最低進度位準;及/或判定至該使用者位置之通量是否滿足預定最低通量位準。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/240,429 US20100083243A1 (en) | 2008-09-29 | 2008-09-29 | System and method for delivering software |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201020917A TW201020917A (en) | 2010-06-01 |
TWI460656B true TWI460656B (zh) | 2014-11-11 |
Family
ID=42059082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098126260A TWI460656B (zh) | 2008-09-29 | 2009-08-04 | 遞送軟體之系統及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100083243A1 (zh) |
CN (1) | CN101784998A (zh) |
TW (1) | TWI460656B (zh) |
WO (1) | WO2010036455A2 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8515727B2 (en) * | 2008-03-19 | 2013-08-20 | International Business Machines Corporation | Automatic logic model build process with autonomous quality checking |
US8806477B2 (en) | 2009-10-30 | 2014-08-12 | Red Hat, Inc. | Space efficient software package management |
US10534624B2 (en) * | 2010-02-26 | 2020-01-14 | Red Hat, Inc. | Generating and storing translation information as package metadata |
US9116802B2 (en) * | 2010-02-26 | 2015-08-25 | Red Hat, Inc. | Diagnostic notification via package update manager |
US8209564B2 (en) * | 2010-02-26 | 2012-06-26 | Red Hat, Inc. | Systems and methods for initiating software repairs in conjunction with software package updates |
US9092295B2 (en) * | 2010-02-26 | 2015-07-28 | Red Hat, Inc. | Managing software package updates using communication pipes |
US9152484B2 (en) | 2010-02-26 | 2015-10-06 | Red Hat, Inc. | Generating predictive diagnostics via package update manager |
US9772834B2 (en) | 2010-04-27 | 2017-09-26 | Red Hat, Inc. | Exportable encoded identifications of networked machines |
US9003389B2 (en) | 2010-05-25 | 2015-04-07 | Red Hat, Inc. | Generating an encoded package profile based on executing host processes |
US8381036B2 (en) | 2010-05-26 | 2013-02-19 | Red Hat, Inc. | Systems and methods for restoring machine state history related to detected faults in package update process |
US8762931B2 (en) | 2010-05-26 | 2014-06-24 | Red Hat, Inc. | Generating an encoded package profile |
US9367302B2 (en) | 2010-05-27 | 2016-06-14 | Red Hat, Inc. | Generating client qualification to execute package update manager |
US8429256B2 (en) | 2010-05-28 | 2013-04-23 | Red Hat, Inc. | Systems and methods for generating cached representations of host package inventories in remote package repositories |
US9417865B2 (en) | 2010-05-28 | 2016-08-16 | Red Hat, Inc. | Determining when to update a package manager software |
US8713558B2 (en) | 2010-09-01 | 2014-04-29 | Red Hat, Inc. | Generating package profiles in software package repositories using selective subsets of packages |
US8856953B2 (en) | 2010-09-01 | 2014-10-07 | Red Hat, Inc. | Access policy for package update processes |
CN101937547A (zh) * | 2010-09-15 | 2011-01-05 | 宇龙计算机通信科技(深圳)有限公司 | 软件和/或软件信息推送方法、系统、获取装置、软件商店服务系统及移动终端 |
US8806471B2 (en) | 2010-09-28 | 2014-08-12 | Red Hat, Inc. | Upgrade and downgrade in package update operations |
US9792429B2 (en) | 2010-10-06 | 2017-10-17 | Red Hat, Inc. | Detection of malicious software packages |
US9003400B2 (en) | 2010-11-29 | 2015-04-07 | Red Hat, Inc. | Tracking computing systems utilizing software repositories |
CN102591874B (zh) * | 2011-01-12 | 2013-12-25 | 联想(北京)有限公司 | 提示方法、终端和服务器 |
US9959113B2 (en) | 2011-03-01 | 2018-05-01 | Red Hat, Inc. | Managing versions of software packages |
CN102436402B (zh) * | 2011-03-29 | 2014-12-10 | 奇智软件(北京)有限公司 | 一种软件中的模块修复方法及该软件设备 |
WO2014209078A1 (en) * | 2013-06-28 | 2014-12-31 | Samsung Electronics Co., Ltd. | Method and apparatus for updating application |
US11113640B2 (en) * | 2016-06-29 | 2021-09-07 | Tata Consultancy Services Limited | Knowledge-based decision support systems and method for process lifecycle automation |
JP6805628B2 (ja) * | 2016-08-23 | 2020-12-23 | 富士ゼロックス株式会社 | 画像処理装置、画像処理システム及び画像処理プログラム |
US11438390B2 (en) * | 2016-12-30 | 2022-09-06 | Motorola Mobility Llc | Automatic call forwarding during system updates |
JP6904220B2 (ja) * | 2017-11-06 | 2021-07-14 | トヨタ自動車株式会社 | 配達支援装置、配達支援方法、配達支援プログラム |
US11762706B1 (en) * | 2018-02-01 | 2023-09-19 | Vmware, Inc. | Computing environment pooling |
US10409586B1 (en) * | 2018-02-16 | 2019-09-10 | Wipro Limited | Method and system for developing and delivering an update on human machine interface (HMI) application |
US20190273779A1 (en) * | 2018-03-01 | 2019-09-05 | Hewlett Packard Enterprise Development Lp | Execution of software on a remote computing system |
US11726952B2 (en) * | 2019-09-13 | 2023-08-15 | Oracle International Corporation | Optimization of resources providing public cloud services based on adjustable inactivity monitor and instance archiver |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196148A1 (en) * | 2002-04-12 | 2003-10-16 | Carol Harrisville-Wolff | System and method for peer-to-peer monitoring within a network |
US20050102663A1 (en) * | 2001-03-23 | 2005-05-12 | Tatsuya Fujii | Apparatus setting updating system |
US7117294B1 (en) * | 2002-05-28 | 2006-10-03 | Oracle International Corporation | Method and system for archiving and compacting data in a data storage array |
US20070124416A1 (en) * | 2005-11-30 | 2007-05-31 | Qwest Communications International Inc. | Real-time on demand server |
US20080065782A1 (en) * | 2006-09-11 | 2008-03-13 | Apple Computer, Inc. | Management and prioritization of media item downloading |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030051015A1 (en) * | 2001-09-10 | 2003-03-13 | Brown Brian J. | System and method for distributing software |
US6947940B2 (en) * | 2002-07-30 | 2005-09-20 | International Business Machines Corporation | Uniform name space referrals with location independence |
US7711605B1 (en) * | 2004-01-06 | 2010-05-04 | Santeufemia Michael N | Adult digital content management, playback and delivery |
US7472391B2 (en) * | 2004-02-20 | 2008-12-30 | Microsoft Corporation | Resource loader for applications that utilize relative uniform resource identifiers |
US7664870B2 (en) * | 2005-02-25 | 2010-02-16 | Microsoft Corporation | Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available |
KR100755692B1 (ko) * | 2005-09-30 | 2007-09-05 | 삼성전자주식회사 | 컨텐츠 다운로드 시스템 및 방법 |
US8843534B2 (en) * | 2007-04-23 | 2014-09-23 | Harris Technology, Llc | Virtual session on a removable memory |
US8159949B2 (en) * | 2007-05-03 | 2012-04-17 | Abroadcasting Company | Linked-list hybrid peer-to-peer system and method for optimizing throughput speed and preventing data starvation |
-
2008
- 2008-09-29 US US12/240,429 patent/US20100083243A1/en not_active Abandoned
-
2009
- 2009-08-04 TW TW098126260A patent/TWI460656B/zh active
- 2009-08-13 CN CN200980000267A patent/CN101784998A/zh active Pending
- 2009-08-13 WO PCT/US2009/053681 patent/WO2010036455A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102663A1 (en) * | 2001-03-23 | 2005-05-12 | Tatsuya Fujii | Apparatus setting updating system |
US20030196148A1 (en) * | 2002-04-12 | 2003-10-16 | Carol Harrisville-Wolff | System and method for peer-to-peer monitoring within a network |
US7117294B1 (en) * | 2002-05-28 | 2006-10-03 | Oracle International Corporation | Method and system for archiving and compacting data in a data storage array |
US20070124416A1 (en) * | 2005-11-30 | 2007-05-31 | Qwest Communications International Inc. | Real-time on demand server |
US20080065782A1 (en) * | 2006-09-11 | 2008-03-13 | Apple Computer, Inc. | Management and prioritization of media item downloading |
Also Published As
Publication number | Publication date |
---|---|
CN101784998A (zh) | 2010-07-21 |
TW201020917A (en) | 2010-06-01 |
WO2010036455A3 (en) | 2010-05-14 |
WO2010036455A2 (en) | 2010-04-01 |
US20100083243A1 (en) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI460656B (zh) | 遞送軟體之系統及方法 | |
US8296263B2 (en) | Systems and methods for data upload and download | |
US8554735B1 (en) | Systems and methods for data upload and download | |
US8943183B2 (en) | Decoupled installation of data management systems | |
KR102057527B1 (ko) | 자동적인 클라우드-기반 전체 데이터 백업 및 모바일 디바이스들 상에서의 복원을 위한 시스템 및 방법 | |
US8407687B2 (en) | Non-invasive automatic offsite patch fingerprinting and updating system and method | |
US20190196805A1 (en) | Controlled rollout of updates for applications installed on client devices | |
US7925635B1 (en) | System and method for collecting statistics related to software usage | |
US7630400B2 (en) | Controlling software distribution or file transfer | |
US20070288525A1 (en) | Enabling access to remote storage for use with a backup program | |
US20060026304A1 (en) | System and method for updating software in electronic devices | |
US20040003266A1 (en) | Non-invasive automatic offsite patch fingerprinting and updating system and method | |
US20100174807A1 (en) | System and method for providing configuration synchronicity | |
JP2008502061A5 (zh) | ||
US20050066015A1 (en) | Method and system for automated validation, scripting, dissemination and installation of software | |
WO2014206292A1 (en) | Method and system for pushing information to end users adaptively | |
US20100042991A1 (en) | Business-in-a-box integration server and integration method | |
TW201023041A (en) | System and method for verifying delivered software | |
US11275522B2 (en) | Efficient data storage management system | |
WO2022123491A1 (en) | Cloud-based database backup and recovery | |
US8606957B2 (en) | Method and device for transmitting files via a network | |
CA2449260A1 (fr) | Systeme et procede pour la distribution dynamique de donnees et/ou de services | |
JP5354768B2 (ja) | ソフトウェア自動配布システム | |
JP2006079488A (ja) | データ収集装置、データ収集システム及びデータ収集方法 | |
US10740191B2 (en) | Tiered data storage management system |