TWI258945B - Installing software on a mobile computing device using the rollback and security features of a configuration manager - Google Patents

Installing software on a mobile computing device using the rollback and security features of a configuration manager Download PDF

Info

Publication number
TWI258945B
TWI258945B TW091133377A TW91133377A TWI258945B TW I258945 B TWI258945 B TW I258945B TW 091133377 A TW091133377 A TW 091133377A TW 91133377 A TW91133377 A TW 91133377A TW I258945 B TWI258945 B TW I258945B
Authority
TW
Taiwan
Prior art keywords
installation
computer device
mobile computer
file
instructions
Prior art date
Application number
TW091133377A
Other languages
English (en)
Other versions
TW200301049A (en
Inventor
Igor B Peev
Scott R Shell
Kevin J Savage
Hung M Dang
Nicholas M Hofmeister
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 TW200301049A publication Critical patent/TW200301049A/zh
Application granted granted Critical
Publication of TWI258945B publication Critical patent/TWI258945B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

1258945 ⑴ 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明背景 1. 技術領域 本發明係關於軟體安裝技術的領域。明確地說,本發明 係關於利用構態管理器的召回和安全特徵在行動電腦裝 置上安裝軟體的方法、系統、電腦程式產品及資料結構。 2. 先前技術 電腦已經徹底地改變了我們的生活方式。一般用途的電 腦裝置的功能組件可分成兩種通類,也就是硬體及軟體。 舉例來說,硬體包括一個以上的處理器、各類型的記憶體 (例如RAM、ROM、FLASH、硬碟、CD-ROM及類似的記 憶體)、使用者介面(例如螢幕、鍵盤、滑鼠、揚聲器、印 表機、掃描器及類似的使用者介面)、以及網路連接裝置 (例如數據機、網路介面卡、天線及類似的網路連接裝 置)。軟體包含指令,當被處理器執行之後,其可控制該 硬體的各項作業,使得該硬體可以完成某些工作的方式進 行互動。一般的電腦裝置都包含各種的軟體,以幫助進行 廣泛的功能陣列。 我們經常都會希望在電腦裝置中添加額外的軟體,以便 進一步地改良該電腦裝置的作業能力。為安裝軟體,該電 腦裝置必須存取安裝檔案。該安裝檔案通常包含數個壓縮 檔案,該些壓縮檔案最後都必須擷取且儲存在該電腦裝置 之適當的目錄位置中。該安裝檔案亦包括一連串必須遵循 的指令,以便能夠正確地安裝經過擷取的檔案。舉例來 -6 - 1258945 (3) 發_訛螞磉頁 .•>i»iS«.«AVeVAVMew«ASVeV«SSSSViVie«*ieie.»;»i· 舉例來說,可能是電腦系統毀損;或者可能是該安裝軟體 試圖操控其無權操控的檔案、目錄或構態設定值。如果軟 體安裝失敗的話,作業系統便會儲存錯誤的構態設定值, 而該構態設定值係預先假定可成功地進行軟體安裝。此 外,即使因為安裝遭到中斷使得不需要使用部分安裝檔 案,不過仍然會將其儲存在在該電腦裝置中。該錯誤的構 態設定值會影響到該電腦裝置的正常作業。此外,不需要 使用的檔案會佔據可觀的記憶體空間,其對於記憶體有限 的環境(例如行動電腦裝置中的記憶體環境)來說,非常的 不利。因此,吾人的進一步希望是,能夠提供一種系統、 方法、電腦程式產品及資料結構,其可用以於行動電腦裝 置中安裝失敗時,反轉該安裝的效果。 發明内容 本發明提供的是可讓行動電腦裝置利用構態管理器來 安裝軟體的方法、系統、電腦程式產品及資料結構,使其 在該安裝過程中可使用到該構態管理器的召回及安全特 徵。在因為任何原因招致安裝不成功或者希望能夠反轉的 情況下,召回特徵可產生該安裝完全反轉的效果。安全特 徵則可在作業期間正確地存取控制應該對哪個目錄及檔 案進行何種作業。 在其中一範例中,已經利用構態管理器在設定構態資訊 的内容中實施該些召回及安全特徵。除了在構態設定的内 容中應用此功能進行安裝之外,同時在目錄及檔案作業的 内容中應用此功能進行安裝的話,便可將該召回及安全功 -8 - 1258945 發萌訛嗔曦頁 能對該安裝過程所產生的記憶體需求及共同處理運算量 降至最小程度。這對於行動電腦裝置而言,例如行動電話 及個人數位助理(PDA),特別的重要,因為與膝上型或桌 上型電腦比較起來,該些裝置的處理能力及記憶體容量通 常都非常的有限。 本發明可實現於網路環境中,其中在此環境中常駐著用 於安裝軟體(例如新的應用程式或修補程式)的安裝檔 案。該網路亦包括一行動電腦裝置。舉例來說,該網路環 境可能包括一伺服器,其可用以透過行動電話網路將安裝 檔案下載至行動電話中。該網路可能亦包括一桌上型個人 電腦,其可用以透過塢接埠將安裝檔案傳輸給P D A。 根據本發明,該行動電腦裝置可存取一個以上要安裝至 該行動電腦裝置中的檔案的至少一版本,作為該安裝的一 部份。舉例來說,該些檔案可能是壓縮的型式,以確保能 夠有效地使用網路頻寬;或者亦可能是非壓縮的型式。 該行動電腦裝置亦可存取用以定義如何將該等檔案安 裝在該行動電腦裝置中的電腦可執行型指令。舉例來說, 此類指令包括指導複製檔案、移動檔案或刪除檔案,以及 指導設定構態資訊。該等要安裝的檔案以及用以進行安裝 的指令都可能是單一個安裝檔案的一部份。 該等電腦可執行型指令可直接由與該行動電腦裝置相 關聯的構態管理器進行解譯。舉例來說,該等電腦可執行 型指令可能是依照特殊的程式綱要(例如,由可擴展標記 語言(XML)所定義的語言)建構而成的。此特殊的程式綱 1258945 發_鍊嗎.續1 (5) 要可能是一組規則,其中可由該結構之中的數值内容推導 出該等數值在該結構之中的意義。 然後,構態管理器促使該等電腦可執行型指令被執行。 舉例來說,該構態管理器可直接執行該等指令,或是讓其 它的組件(例如,構態服務供應器)來執行特定的指令。舉 例來說,該構態管理器可讓檔案構態服務供應器執行檔案 作業指令,並且讓註冊服務供應器執行構態作業指令。 在執行該些指令期間,該構態管理器可能會實施召回及 安全功能。如果因為某種原因招致安裝失敗或者不再需要 安裝時,該等召回特徵便可產生該安裝的反轉效杲。 因此,如果安裝失敗的話,該行動電腦裝置便能夠返回 其原始狀態中。返回之後,對於假定可成功安裝時的構態 設定並不會產生任何不必要的改變。因此,該行動電腦裝 置並不會受到錯誤的構態設定的阻礙。此外,為顧及能夠 成功的安裝,並不會安裝任何無用處的零散檔案。因此, 該行動電腦裝置的記憶體並不會儲存因為安裝失敗所產 生的無用處的資訊。這對於處理能力及記憶體容量非常有 限的行動電腦裝置而言特別地有利。 該構態管理器亦可藉由檢查每個安裝指令的執行是否 經過授權,以便在執行該等安裝指令時實施安全措施。依 照此方式,該行動電腦裝置便可避免本身被歹徒或粗心的 新軟體供應商執行會損害該行動電腦裝置的安裝作業3 在下列說明中將提出本發明的其它特徵與優點,其中一 部分從該說明中就可理解,或是可藉由實作本發明而習 -10 - 1258945
(6) 得。藉由待審中的申請專利範圍内特別指出的設備與組 合,便可實現並獲得本發明的特徵與優點。從下面的說明 及隨附的申請專利範圍中,將可完全瞭解本發明的所有特 徵,或是可藉由如後面所提出的方式實作本發明而習得。 實施方式 本發明係關於利用構態管理器來安裝軟體的方法、系 統、電腦程式產品及資料結構,使其在該安裝過程中可使 用到該構態管理器的召回及安全特徵。在因為任何原因招 致安裝不成功或者希望能夠反轉的情況下,召回特徵可產 生該安裝完全反轉的效果。安全特徵則可在安裝期間正確 地存取控制應該對哪個目錄及檔案進行何種作業。 該行動電腦裝置可存取一安裝檔案。該安裝檔案含有要 安裝在該行動電腦裝置中的一個以上的檔案(本文亦稱作 「要安裝的檔案」),以及用以安裝該等檔案的電腦可執 行型指令(本文亦稱作「安裝指令」)。安裝者會將該等安 裝指令遞送給構態管理器,並且擷取出要安裝的檔案。該 等安裝指令的格式可直接由該構態管理器進行解譯。然後 該構態管理器促使執行該等安裝指令,舉例來說,剖析該 等安裝指令並且將該等指令遞送給正確的構態服務供應 器。 為實施召回特徵,該構態管理器必須建構一份召回文 件。如果安裝完全成功的話,那麼便可允許以單項異動的 方式來進行該安裝。相反地,如果安裝失敗的話,那麼便 可藉由執行該召回文件反轉該安裝過程。在其中一具體實 -11 -
1258945 ⑺ 線鍵路、或硬體線路鍵路或無線鍵路之組合)的區域及遠 端處理裝置中來執行工作。在分散式電腦環境中,程式模 組可能位於區域或遠端記憶體儲存裝置中。 圖1所示的係可用以傳輸安裝檔案給行動電腦裝置的網 路環境100。基本上,網路環境100包括一透過無線鏈路103 與行動電腦裝置1 02進行通信之伺服器1 0 1。 伺服器1 0 1可能是該行動電腦裝置1 02的主要連接點,例 如公眾無線服務供應商(舉例來說,行動電話電信公司) 或私有無線通信網路(舉例來說,共同通信網路)。或者, 伺服器1 0 1亦可能是用以與該主要連接點共同作業的專屬 伺服器。 下面將參考圖2及3更詳盡地闡述及說明該行動電腦裝 置1 0 2。簡單地說,該行動電腦裝置1 0 2係一種手持式電腦 裝置,其兼具行動電話的功能及一般個人數位助理(PDA) .的功能。 伺服器101與行動電腦裝置102可透過無線鏈路103互相 通信,其中,該無線鏈路可能是任何的無線通信構件,例 如射頻鏈路或類似的鏈路。舉例來說,伺服器1 0 1可能會 偵測到有新軟體(例如,新的應用程式、更新程式或修補 程式)可安裝在該行動電腦裝置1 0 2之中。然後,伺服器1 0 1 便會將透過無線鏈路1 0 3發送安裝通知信號1 0 4給該行動 電腦裝置102,通知該行動電腦裝置102有新軟體可使用。 此通知步驟係以圖1中的第一箭頭來表示。該通知信號可 利用下面的方式透過無線電話網路來進行:無線應用協定 -14- 1258945 _ (10) 發明_嗎嶙1 (WAP)下推式通知信號、超文件傳送協定(HTTP)下推式通 知信號或其它現有的或開發中的任何其它可能的通知方 法。 有各種此類的通知方法可運用。舉例來說,使用者可利 用該行動電腦裝置1 02的瀏覽器來瀏覽企業網路或網際網 路以找尋下載網站。使用者可藉由選擇對應該安裝檔案的 連結以同意進行安裝。接著,該瀏覽器便會送出對該安裝 檔案的要求(例如,HTTP的接收(Get)命令),然後便可自 動下載。 或者,可將該行動電腦裝置1 0 2塢接至透過通用串列匯 流排(「USB」)或串列纜線與桌上型電腦或膝上型電腦耦 合的擴充埠。該桌上型電腦可利用同步軟體(例如 ActiveSync)將安裝檔案下載至該行動電腦裝置。該使用 者可藉由讓該安裝檔案被下載至該行動電腦裝置102以同 意進行安裝。 在另一具體實施例中,該安裝檔案可能是被傳送至該行 動電腦裝置102的電子郵件或短訊中所内含的附加檔案或 連結檔案。使用者可藉由選擇該附加檔案或該連結檔案以 同意進行安裝。 電信公司亦可透過下推式代理閘道器(PPG)傳送服務指 示符號(SI)及服務載送(SL)信息給該行動電腦裝置102。 該行動電腦裝置1 02則可設計成用以將該些特殊用途的短 訊服務(S M S )信息放置在總目錄中。當所傳送的是S I信息 時,使用者便可藉由選擇該信息中的連結以同意進行安 -15 - 1258945 ⑼ 裝。當所傳送的是S L信息時,裝置本身便會試圖下載該 安裝檔案。 該安裝檔案亦可儲存在多媒體卡(MMC)型的記憶體卡 片中。如果該MMC卡包括一自動執行(Autorun)槽,並且 已經在該行動電腦裝置102中啟動該自動執行(Autorun) 檔之後,該MMC甚至可自動啟動安裝程序。在此情形中, 使用者便可藉由插入該MMC裝置以同意進行安裝。 如果該行動電腦裝置1 02同意進行安裝的話,該行動電 腦裝置102便會送出對與該新軟體相關的安裝檔案的要 求。此步驟可透過HTTP的接收要求形式來進行並且如圖1 中的第二箭頭所示。接著便可將安裝檔案105下載至該行 動電腦裝置102中。舉例來說,該安裝檔案105可以相同於 響應該HTTP的接收命令之交談方式進行下載。此安裝檔 案105之下載係以圖1中的第三箭頭來表示。接著,該行動 電腦裝置1 0 2便會如同下面圖3至6的更進一步說明般地利 用該安裝檔案105來安裝新軟體。 雖然此處所述的主要係關於透過無線鏈路1 0 3將安裝檔 案105傳送給一行動電腦裝置102,但是應該瞭解的係,這 僅是用以下載該安裝檔案105的其中一種實現方式。上述 的是用以傳輸安裝檔案105給行動電腦裝置102的數種方 法,部分是網路導向的方法,部分則不是。因此,圖1中 的第二及第三箭頭可代表任一種讓使用者同意進行安裝 並且在該行動電腦裝置102中執行該安裝檔案的通信形 式。 -16 - 1258945 (12) 發.雜賴1· 圖2中更詳細地說明該行動電腦裝置1 Ο 2。該行動電腦裝 置102包括一使用者介面201,其可讓使用者透過輸入使用 » 者介面203輸入資訊,並且透過輸出使用者介面202來觀看 所呈現的資訊。舉例來說,該輸出使用者介面202包括一 · 揚聲器204,用以呈現語音資訊給該使用者;以及一顯示 器2 0 5,用以呈現視訊資訊給該使用者。該行動電腦裝置 102亦具有一天線209,其可用以透過無線鏈路103與伺服 器1 〇 1進行無線通信。 φ 該輸入使用者介面203包括一麥克風206,用以將語音資 訊變成電子形式。此外,該輸入使用者介面203還包括由 12個按鈕表示的撥號控制207,透過該等按鈕,使用者便 可撥按電話號碼、輸入文字信息或是指示該行動電腦裝置 102傳送資料信息。輸入使用者介面203亦包括瀏覽控制按 鈕208,其可透過各種顯示在顯示器205中的項目及選項, 幫助使用者進行瀏覽。 雖然該行動電腦裝置1 02具有行動電話的外觀,不過, | 其隱藏的特徵卻使該行動電腦裝置1 02具有複雜且彈性的 一般用途處理能力。舉例來說,該行動電腦裝置亦包括處 理器2 1 1及記憶體2 1 2,兩者會互相連接,並透過匯流排2 1 0 連接至使用者介面2 0 1。根據以往的經驗,與膝上型或桌 i 上型個人電腦比較起來,行動電腦裝置(例如行動電話及 P DA)的處理能力及記憶體容量都非常的有限。記憶體2 1 2 通常代表著各種可運用的揮發性及/或非揮發性記憶體。 行動電腦裝置1 02中所使用的特殊記憶體種類並不是本發 -17- 1258945 _ (π) mmmmm 明的重點。 包含著一個以上程式模組的程式碼構件可能會儲存在 記憶體2 1 2之中。該等一個以上的程式模組可能包括作業 系統2 1 3、一個以上的應用程式2 1 4、其它程式模組2 1 5以 及程式資料2 1 6。圖2中所示的環境僅係供作解釋之用,並 非代表本發明的原理僅可實施在一小部份的行動電腦裝 置中。 圖3所示的係可以該行動電腦裝置102來實施的架構 3 0 0。明確地說,圖3所示的組件中包括數種功能組件,例 如排程器3 0 1、安裝器3 02、構態管理器3 0 3、剖析器3 04、 召回製作器305、解除安裝器306、安全模組307、檔案構 態服務供應器(CSP)3 08以及註冊CSP 309。舉例來說,該 些功能組件可能是其中一個應用程式2 1 4、程式模組2 1 5 或是該行動電腦裝置1 02的一部分作業系統2 1 3。舉例來 說,召回文件3 1 0可能是該行動電腦裝置1 02的一部分程式 資料2 1 6。 如果透過網路來傳送安裝檔案1 0 5的話,排程器3 0 1便會 接收安裝通知信號1 04,並且視情況從伺服器1 0 1中擷取出 該安裝檔案105。接著,排程器301便會觸發安裝器3 02, 利用該安裝檔案105來安裝新軟體。接著,圖3的架構300 便會利用圖4的方法,利用構態管理器的召回和安全特徵 來安裝新軟體。因此,圖3中的其餘架構便必須大量地參 考圖4以進行說明(尤其是排程器3 0 1之外的所有組件)。 參考圖4的方法400,該行動電腦裝置102可存取一個以 1258945 (14) 發雜鱗 上要安裝至該行動電腦裝置中的檔案的至少一版本,作為 該安裝新軟體的一部份(動作4 0 1)。舉例來說,該些檔案 可能是壓縮的型式,以確保能夠有效地使用網路頻寬,在 此情形中,該行動電腦裝置便會存取經過壓縮的檔案版 本。不過,安裝檔案亦可能包括該等檔案本身而未經任何 壓縮。 該行動電腦裝置1 02亦可存取用以定義如何將該等檔案 安裝在該行動電腦裝置中的電腦可執行型指令(動作 40 2)。舉例來說,此類指令包括指導複製檔案、移動檔案 或刪除檔案,以及指導設定構態資訊。 該等要安裝的檔案以及用以進行安裝的指令都可能是 該安裝檔案105的一部份。此時,可僅由安裝器302存取單 一安裝檔案(例如安裝檔案105)便可執行存取要安裝之檔 案的動作(動作401)以及存取該等安裝指令的動作(動作 4 0 4)。圖5所示的係安裝檔案105的資料結構500示意圖。 該資料結構500包括數個要安裝的檔案503,例如檔案5 03 a 至5 0 3 d。該資料結構5 0 0亦包括安裝指令5 0 1,用以指示如 何將該等檔案503安裝於該行動電腦裝置102中。 該等安裝指令501可直接由該構態管理器303進行解 譯。舉例來說,該等安裝指令5 0 1可能是依照特殊的程式 綱要建構而成的。該等安裝指令5 0 1遵循此程式綱要的事 實係以圖5中由以粗體線標示的程式綱要5 02反白的安裝 指令5 0 1來表示。後面將進一步地說明一種遵循使用可擴 展標記語言(XML)之程式綱要的安裝指令範例。在本文的 1258945 ⑼ 發咖_顧 說明及申請專利範圍中,「程式綱要」係定義成一組可用 以組織資料結構的規則,其中,可由該結構之中的數值内 容推導出該等數值在該結構之中的意義。 在慣用的方式中,會由專屬的安裝器直接執行安裝指 令。然而,根據本發明,安裝器302僅會輔助該安裝過程。 明確地說,安裝器302會擷取出要安裝的檔案503(假設其 為壓縮形式),然後將其儲存在記憶體2 1 2中。該安裝3 02 亦會將該等安裝指令5 0 1傳遞給該構態管理器。在部分的 具體實施例中,該構態管理器3 03可能會直接執行該等安 裝指令。然而,在本文所述的具體實施例,構態管理器3 03 僅會利用剖析器3 04對整個安裝指令進行剖析,並且將正 確的安裝指令遞送給其它正確的組件。舉例來說,該構態 管理器3 03可讓檔案構態服務供應器3 08執行檔案作業指 令(例如移動檔案、複製檔案或刪除檔案),同時讓註冊構 態服務供應器3 09執行構態作業指令。 以前,構態管理器3 03僅負責利用構態服務供應器來改 變及管理構態設定值。然而,本發明的原理則同時賦予該 構態管理器3 03負責監督整體的安裝作業。因此,該構態 管理器3 0 3對構態資訊設定值所提供的任何功能,亦可運 用於檔案作業中。該等檔案作業及構態設定指令都係依照 該構態管理器3 03所遵循的程式綱要建構而成的。因此, 該構態管理器3 03可以利用其最小的作業及編碼改變方 式,便可剖析該等構態設定指令及檔案作業指令。最低限 度,該構態管理器3 0 3僅需要找出該等檔案作業指令,並 -20-
1258945 (16)
且將其傳遞給能夠執行該檔案作業的組件(例如檔案c s P 3 Ο 8)即可° 依此方式’便可將該構態營理器3 〇 3用以對設定構態資 訊所進行的功能,擴展至安裝處理中。舉例來說,在動作 4 0 5中執行該些安裝指令期間,該構態管理器可能會實施 召回及安全功能。如果因為某種原因招致安裝失敗或者不 再需要安裝時,該等召回特徵便可產生該安裝的反轉效 果。首先將先說明該安裝過裎的召回特徵,然後再敘述該 安裝過程的安全特徵。 參考圖3,構態管理器3 03的召回特徵係由該構態管理器 303可直接或間接存取的召回製作器3〇5、召回文件31〇以 及解除安裝器3 06來支援。關於構態管理器如何利用召回 特徵以異動的基礎來設定構態資訊方面的說明,發表於 2001年6月29日提出申請之共同擁有、共同待審之美國專 利申請序號09/895,471中,其名稱為「System and Method for Continuously Provisioning a Mobile Device」,此處以引用的方 式將其全部併入本文中β 儘管在上述引用的相關申請案中已經詳細地說明召回 作業的情形,此處仍將參考圖4對召回作業作簡單的敘 述。圖4所示的係一種利用構態管理器3 0 3以異動的方式來 安裝新軟體的步驟(步驟40 2)。該步驟除了包括前面已經 說明過的對應動作404及405之外’還包括對應動作406及 407 ° 明確地說,該構態管理器3 03會促使建構(動作406) 一份 -21 - 1258945 _ ⑼ _«槪 召回文件3 10。安裝的一部份是該行動電腦裝置102會接收 一份補給文件,該份文件可能是安裝檔案1 05或者包括安 裝檔案1 0 5。該份補給文件包含關於需要哪個構態服務供 ' 應器來完成安裝的資訊,因此便可確認需要使用哪個構態 · 服務供應器。該構態管理器3 03會依照此資訊找出檔案 CSP 308及註冊CSP 309(以及其它必要的CSP)。 接著,該構態管理器3 03便會確認出會因為安裝而被改 變的檔案及/或其它資料項目。舉例來說,該構態管理器 φ 303會向檔案CSP 308查詢任何會在安裝過程被改變的檔 案的目前狀態,並且向註冊CSP 309查詢任何會在安裝過 程被改變的構態變化的目前狀態。然後該構態管理器3 0 3 便會將目前的狀態編譯在召回文件3 1 0之中。因此,該召 回文件3 1 0便代表著該行動電腦裝置中那些很可能會因為 安裝而被改變的項目在安裝之前的狀態。 接著,該構態管理器3 03便會判斷安裝是否成功(動作 407)。舉例來說,該構態管理器3 03可將相關的指令傳送 φ 給相關的C S P,並且詢問每個C S P是否能夠安裝成功。如 果有任一個C S P表示安裝可能會不成功的話,該構態管理 器3 03便會判斷該安裝可能會不成功(判斷方塊407的結果 為「否」)。舉例來說,經過對安裝檔案進行辨認之後, > C S P可能會偵測到無權執行一個以上的安裝指令。在其中 # 一具體實施例中,可利用分配給該安裝檔案的角色遮罩來 達到此項目的。後面將更詳盡地說明該等C S P如何利用角 色遮罩來實施安全措施。如果在執行該等安裝指令之前判 •22· 1258945 〇8)
斷出該安裝可能會不成功的話,便不必在動作4 1 0中執行 該召回文件。取而代之的係,該構態管理器3 03會直接拒 絕執行該安裝。 如果經由查詢過程判斷該安裝可能會成功的話(判斷方 塊4 0 7的結果為「是」),那麼該構態管理器3 0 3便會允許 進行該異動(動作409)。明確地說,該構態管理器3 03便會 指導每個C S Ρ實施其相應的安裝指令。如果即使經過查 詢,卻仍然因為某些原因導致安裝失敗的話,該構態管理 器3 03便會判斷該安裝不成功(判斷方塊407的結果為 「否」)。因為在進行判斷的時候已經執行安裝指令,所 以該構態管理器3 03必須使用召回文件3 1 0將該行動電腦 裝置102還原成其安裝以前的狀態(動作410)。如此便完成 以異動的方式來安裝新軟體的步驟(步驟402)。 因此,如果安裝失敗的話,該行動電腦裝置1 02便能夠 返回其原始狀態中。返回之後,對於假定可成功安裝時的 構態設定並不會產生任何不必要的改變。因此,該行動電 腦裝置1 0 2並不會受到錯誤的構態設定的阻礙。此外,為 顧及能夠成功的安裝,並不會安裝任何無用處的零散檔 案。因此,該行動電腦裝置1 0 2的記憶體並不會儲存因為 安裝失敗所產生的無用處的資訊。 圖3中的架構3 00不僅支援以異動的基礎來安裝新軟 體,其並且能夠利用該構態管理器3 0 3所提供的安全特徵 有條件式地安裝新軟體。明確地說,安全模組3 0 7會支援 該些安全特徵,而構態管理器3 0 3則可直接或間接地存取 -23 - 1258945 (19) 該安全模組3 Ο 7。關於構態管理器如何在設定構態資訊時 提供安全特徵方面的詳細說明,發表於2001年4月27日提 出申請之共同擁有、共同待審之美國專利申請序號 09/843,901 中,其名稱為「Systerm and Method for Over the Air Configuration Security」,此處以引用的方式將其全部併入本 文中。 參考圖4,圖中所示的係一種利用該構態管理器3 〇 3的安 全特徵有條件式地安裝新軟體的步驟(步驟4 0 3 )。該步驟 除了包括前面已經說明過的對應動作404及405之外,還包 括對應動作4 0 8。明確地說,該構態管理器3 〇 3會向該等 C S P查詢它們是否能夠執行其相應的安裝指令。接收到該 查詢之後’該等C S P便會進行檢查以判斷每個安裝指令是 否都被授權(步驟408)。該等CSP可利用分配給該安裝檔案 的角色遮罩來達到此項目的。該角色遮罩可能會隨著該查 詢命令被傳送至各個csp。 該等角色遮罩係以現在即將說明的方式進行分配及使 用。當剛產生安裝檔案的時候,該安裝檔案可能會經過簽 署或未經過簽署。對安裝檔案進行簽署可利用Microsoft⑧ Authenticode®之類的軟體將認證信說併入該安裝檔案中來 達成目的。接著,該行動電腦裝置102便可將該認證信號 與對應的角色遮罩進行匹配。每個角色遮罩都可對應到一 適當的認證信號。接著,該行動電腦裝置1 02便可將該角 色遮罩分配給對應的安裝檔案。如果該安裝檔案未經過簽 署或其認證信號未匹配一角色遮罩的話,那麼便會對其分 -24-
1258945 (20) 配一内定的角色遮罩,該内定的角色遮罩對應的是對未經 認可之安裝檔案來源的適當安全權限。在某些時候,此種 做法便意味著毫無安全權限可言。 如果在該角色遮罩的作用下發現有任何的安裝指令未 經授權的話,那麼該構態管理器3 0 3便會如上述般地禁止 進行安裝。依照此方式,該行動電腦裝置102便可避免本 身被歹徒或粗心的新軟體供應商執行會損害該行動電腦 裝置102的安裝作業。 現在將說明一種XML式的安裝指令501。下面的XML闡 述的係XML文件範例中最高階的巢狀標籤: 1 · <?xml versiorv=“ 1 ·0” encoding=“UTF-8”?> 2. <wap-provisioningdoO 3-47 [Content] 48 </wap-provisioningdoc> 該XML碼每一行左邊的數字代表的是該份XML文件範 例中的行序號。請注意,在該份X M L文件中共有4 8行。不 過,僅有第1、2及48行為最高階的巢狀XML碼。因此,上 面顯示出有第1、2及4 8行。X M L碼的低階部分係以 「[Content]」來表示,在此例令,其對應的是該份XMl 文件_的第3至47行動電腦裝置。以「[Content]」來表示 代表著下面將進一步地說明該份X M L文件中該等對應行 的實際内容。 -25- 1258945 _ (21) |_發_説嗎.續頁 熟習XM L文件編寫技術的人士將會非常清楚,第丨行代 表的是該份XML文件的XML版本以及該份XML文件的文 字編碼格式。此處,第1行指出XML版本為第1 〇版,而文 字係以U T F - 8文字編碼格式進行編碼。
第2行及第4 8行分別是開始及結束標籤,其表示期間的 内容(即以「[Content]」表示的第3-47行)為wap-補給文 件。該構態管理器3 0 3會發現該份w a p -補給文件為一份包 括構態指令的文件類型。不過,在進行軟體安裝的情形 中,該份wap-補給文件亦可能含有檔案指令。 下面的部份代表的是對應該份XML文件中第3至第7行 的w a p -補給文件内的元素: 3 〈characteristic type=“Registry’’> 4 characteristic type="maindir\subdir\config\app,%> 5 <para name=“Filename” value=“newgame”/> 6 〈/characteristic〉
7 々characteristic^ 整體來看,此元素可從「Registry」(參看第3行)所發生 的作業中發現其為構態指令。構態位置係位於 「maindir\subdir\config\app」(參看第4行)所定義的目錄結構 内。構態設定為「F U e n a m e」構態設定,其係用以接故 1 newgame」的數值(參看第5行)。請注意,1 newgame」 數值的意義可由其在該份xml文件内的上下文來作決定。 不過,該份X M L w ap -補給不僅包含構態設定指令’並 且亦含有實際的檔案作業指令。下面的XML文件定義的是 -26 -
1258945 (22) 該份XM L文件之檔案作業元素的編碼區: 8 〈characteristic type=“FneOperation”> 9-46 [Content] 47 </characteristic>
第8行及第4 7行分別是開始及結束標籤,其表示第9行至 第46行的内容為檔案作業。下面的XML碼代表的是構成此 内容一部份的元素: <!-current directory is:\Program FilesVMy Test App\Temp> 10 characteristic type-4%CEl%\My Test App\Temp> 11 <!—create this directory -> 12 characteristic type=uMakeDir,>> 13 </characteristic> 14 <!—extract hpopen.txt from CAB OOhpopen.OOl—> 15 〈characteristic type=“hpopen.txt’、
16 <parm name=“Source” value=“00hpopen001”/> 17 <parm name=“NoOverwriteIfNewer,7> 18 <parm name=ccShared,,/> 19 20 21 22 23 24 25 </characteristic> <!—extract AirSync.txt from CAB 00hpopen.002—> 〈characteristic type=“AirSync.txt’> <parm name=“Source” value=“00hpopen002”/> <parm name=uNoOverwrite,V> 々characteristic〉 々characteristic〉 -27· 1258945
(23) 第9行係不會被執行的命令碼。第9行表示該檔案作業將 會在「Program Files\My Test App\Temp」目錄中進行。 第1 〇行為開始標籤,其係與第2 5行的結束標籤相對應,其 表示會將第11行至第24行的内容應用於該目錄中。 如命令行1 1所表示,第1 2行與第1 3行分別為開始及結束 序示戴’其會創造出「Program Files\My Test App\Temp」 目錄。凊注意’「%CE1%」文字符號為「ProgramFiles」 文子經過編碼之後的格式。如命令行1 4所表示,第1 5行至 第19行會從要進行安裝5〇3名為「CABOOhpopen.OOl」的 其中一個檔案的壓縮版本中_取出名為「hpopen.txt」的 檔案。如命令行20所表示,第21行至第24行會從要進行安 裝503名為「CAB00hpopen.002」的其_一個檔案的壓縮 版本中擷取出名為「AirSyne.txt」的檔案。該些被擷取出 來的檔案的目的地都是「Program F il e s\My Test App\Temp」目錄。 下面的XML元素表示一檔案複製作業: .26 27 28 29 30 31 32 33 <!—copy email.bmp to Temp directory〉 〈characteristic type=“\Temp\email.bmp”> 〈characteristic type=“Copy”/> <parm name=“Source” value=“My Test App\email.bmp”/> <parm name=4CNoOverwriteIfNewer,V> <!—If email.bmp is newer, do not overwrite.—> 〈/characteristic^ </ characteristic^ -28- 1258945 _ (24) I發_說嗎磷_j 此部份元素會將名為“email.bmp”的槽案從 「Program Files\My Test App\Temp」的臨時目錄中複製到「Program Files\My Test App」目的目錄中。 下面的XML元素表示一檔案移動作業: 34 <!—move existing file to target file:profile_move.bmp- -> 35 〈characteristic type=“\Temp\ profile_move.bmp”〉 36 〈characteristic type=“Move”/> 37 <parm name==“Source” value=“My Test App\profile,bmp”/> 38 々characteristics 39 </characteristic> 此部份 元素會將名為 「profile_move.bmp」的 檔 案 從 Program Files\My Test App\Temp」的臨時目錄中 移 動 到 Program Files\My Test App」 目的目錄内的 新 檔 案 profile.bmp」中。 下面的XML元素表示一檔案刪除作業: 40 <!—delete target file—> 41 〈characteristic types'TempWmail·bmp”> 42 〈characteristic type=“Deleie”/> 43 <parm name=“ForceDelete”/> 44 </characteristic> ·· 45 </ characteristic
-29- 1258945 (25) 發明訛嗎續頁 此部份元素會將名為「email.bmp」的稽案從 「Program Files\My TestApp\Temp」的臨時目錄中刪除。 請注意,可藉由該行動電腦裝置現有的組件進行回報的 方式完成該安裝。該構態管理器3 0 3僅需要辨識及剖析該 等檔案作業元素,並且將該等指令傳遞給正確的構態服務 供應器(其可能是檔案CSP 308或註冊CSP 309)即可。因 此,與僅提供構態設定比較起來,用以安裝新軟體所必須 增加的共同處理運算量便可降至最小程度。因此,本發明 的原理可在行動電腦裝置上有效地安裝新軟體,同時又能 在安裝過程中顧及召回和安全特徵。 本發明亦能夠以其它特定形式來具體化,而不會脫離其 精神及基本特性。本文所述的具體實施例都僅供作解釋用 途,並非予以限制。所以,本發明的範疇係由隨附的申請 專利範圍來界定,而非由前面的說明來界定。所有位於該 等申請專利範圍之等效意義及範圍内的變化都涵蓋在其 範疇中。 下面的申請專利範圍受到美國特許專利案之保護。 圖式簡單說明 為說明本發明上述及其它的優點與特徵,現在將參考附 圖中所闡述的特定具體實施例,對本發明已經於上面簡略 說明的部分作更詳盡的敘述。應該瞭解的是,該些圖式僅 係描繪出本發明的一般具體實施例,因此並不能視為限制 其範疇,本發明將藉由附圖作更明確及詳盡的說明,其中: 圖1所示的係可用以傳輸安裝檔案給行動電腦裝置的網 -30 - 1258945 _ (26) 發._鍊_磉頁 路環境範例。 圖2所示的係一行動電腦裝置的操作組件,在該行動電 腦裝置中可依照本發明原理來安裝新軟體。 圖3所示的係可用以將新軟體安裝在該行動電腦裝置中 的各種組件架構。 圖4所示的係一種方法流程圖,其可利用構態管理器的 召回和安全特徵在行動電腦裝置上安裝新軟體。 圖5所示的係一種安裝檔案的資料結構,該安裝檔案包 括要安裝的稽案以及指導該安裝的指令區段。 圖式代表符號說明
100 網路環境 101 伺服器 102 行動電腦裝置 103 無線鏈路 201 使用者介面 202 輸出使用者介面 203 輸入使用者介面 204 揚聲器 205 顯示器 206 麥克風 207 撥號控制 208 瀏覽控制按紐 209 天線 210 匯流排 -31 - 1258945 (27) 211 處理器 212 記憶體 213 作業系統 214 應用程式 215 程式模組 216 程式資料 300 架構 301 排程器 302 安裝器 303 構態管理器 304 剖析器 305 召回製作器 306 解除安裝器 307 安全模組 308 檔案構態服務供應器 309 註冊構態服務供應器 500 資料結構 501 安裝指令 502 程式綱要 503 檔案
-32 -

Claims (1)

1〜u $H^3377號專利申請案 <〜中文申請專利範圍替換本(95年4月) 拾、申讀專利圍 1 . 一種在網路環境中的方法,該網路環境包括一組 執行型指令來源以及複數個行動電腦裝置,該方 等行動電腦裝置的至少一行動電腦裝置,利用常 行動電腦裝置中的一構態管理器之召回特徵來 組電腦可執行型指令而作為一異動,該方法包括 一讓該行動電腦裝置存取要安裝至該行動電 中至少一檔案之至少一版本的動作; 一讓該行動電腦裝置存取電腦可執行型安裝 動作,該等安裝指令定義如何將該至少一檔案安 行動電腦裝置中,該等安裝指令可被與該行動電 相關的一構態管理器直接解譯; 一讓該構態管理器促使執行該等安裝指令的動 一讓該構態管理器促使建構一召回文件的動作 2.如申請專利範圍第1項之方法5進一步包括下列 一讓該行動電腦裝置判斷該等安裝指令是否 功的動作。 3 ·如申請專利範圍第2項之方法,其中讓該行動電 判斷該等安裝指令是否能夠成功的該動作包括下 一用以向每個各能執行部分安裝指令的複數 服務供應器查詢是否能夠利用其相應的安裝指 地進行該安裝的動作。 4 .如申請專利範圍第3項之方法,進一步包括下列 一利用查詢的結果判斷該安裝能夠成功的動作 一允許進行一與執行該等安裝指令相關之異 81636-950403.doc 電腦可 法讓該 駐在該 安裝該 下歹: 腦裝置 指令的 裝在該 腦裝置 作;及 〇 能夠成 腦裝置 •列: 個構態 令成功 ;及 動的動
1258945 作。 5 .如申請專利範圍第2項之方法,其中讓該行動電腦裝置 判斷該等安裝指令是否能夠成功的該動作包括下列: 一用以判斷該等安裝指令已經成功地被執行的動作。 6。如申請專利範圍第2項之方法,其中讓該行動電腦裝置 判斷該等安裝指令是否能夠成功的該動作包括下列: 一用以判斷該等安裝指令已經執行失敗的動作;及 一用以藉由執行該召回文件反轉該安裝過程的動作。 7 ·如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取要安裝至該行動電腦裝置中的至少一檔案之至少 一版本的該動作包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之一壓縮版本的動作;及 一讓該行動電腦裝置解壓縮該等要安裝至該行動電 腦裝置中的至少一檔案之壓縮版本的動作。 8 .如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取要安裝至該行動電腦裝置中的至少一檔案之至少 一版本的該動作包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之一非壓縮版本的動作。 9 .如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的安裝指令的該動作包括下列: 一讓該行動電腦裝置存取依照該構態管理器可解譯 81636-950403.doc -2- 1258945 的一程式綱要建構而成的安裝指令的動作。 10. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 一讓該行動電腦裝置存取依照一可擴展標記語言 (XML)建構而成的安裝指令的動作。 11. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令,用以擷取 一檔案的一壓縮版本的動作。 12. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令,用以將一 檔案從一來源目錄位置移動至一目的目錄位置的動作。 13. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令,用以將一 檔案從一來源目錄位置複製至一目的目錄位置的動作。 14. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 81636-950403.doc
广枝58945 !.缶 c; R终: 一讓該行動電腦裝置存取至少一安裝指令,用以刪除 一槽案的動作。 15. 如申請專利範圍第1項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中之安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令,用以改變 一構態設定的動作。 16. 如申請專利範圍第1項之方法,其中讓該構態管理器促 使執行該等安裝指令的該動作包括下列: 一讓該構態管理器直接執行該等安裝指令的動作。 17. 如申請專利範圍第1項之方法,其中讓該構態管理器促 使執行該等安裝指令的該動作包括下列: 一讓該構態管理器促使至少一其它模組來執行該等 安裝指令的動作。 18. 如申請專利範圍第1 7項之方法,其中讓該構態管理器促 使至少一其它模組來執行該等安裝指令的該動作包括 下歹: 一讓該構態管理器傳送檔案命令給一檔案構態服務 供應器的動作。 19. 如申請專利範圍第1 7項之方法,其中,該讓該構態管理 器促使至少一其它模組來執行該等安裝指令的動作包 括下列: 一讓該構態管理器傳送構態命令給一註冊構態服務 供應器的動作。 81636-950403.doc 1^5^945 20. 如申請專利範圍第1項之方法,其中讓該構態管理器促 使建構一召回文件的該動作包括下列: 一讓該構態管理器將一安裝以前的狀態納入該召回 文件中的動作。 21. 如申請專利範圍第2 0項之方法,其中讓該構態管理器將 一安裝以前的狀態納入該召回文件中的該動作包括下 列: 一可針對每個會變更一檔案的安裝指令,對該檔案的 原始版本進行備份的動作。 22. 如申請專利範圍第1項之方法,其中讓該構態管理器將 一安裝以前的狀態納入該召回文件中的該動作包括下 列: 一可針對每個會將一構態設定從一原始數值變更成 一變更數值的安裝指令,對該構態設定的原始數值進行 備份的動作。 23. —種在網路環境中的電腦程式產品,該網路環境包括一 組電腦可執行型指令來源以及複數個行動電腦裝置,該 電腦程式產品可實施一種方法,用以讓該等行動電腦裝 置的至少一行動電腦裝置,利用常駐在該行動電腦裝置 中的一構態管理器之召回特徵來安裝該組電腦可執行 型指令作為一異動,該電腦程式產品包括至少一電腦可 讀取媒體,於其上儲存著下列: 用以存取要安裝至該行動電腦裝置中的至少一檔案 之至少一版本的電腦可執行型指令; 81636-950403.doc f霸‘專·德HIM 1258945 用以存取電腦可執行型安裝指令的電腦可執行型指 令,其定義如何將該至少一檔案安裝在該行動電腦裝置 中,該等安裝指令可被與該行動電腦裝置相關的一構態 管理器直接解譯; 用以促使執行該等安裝指令的電腦可執行型指令; 促使建立該召回文件的電腦可執行型指令;及 用以判斷該等安裝指令是否能夠成功的電腦可執行 型指令。 24. 如申請專利範圍第2 3項之電腦程式產品,其中該至少一 電腦可讀取媒體為實體儲存媒體。 25. 如申請專利範圍第2 3項之電腦程式產品,其中用以促使 建立一召回文件的該等電腦可執行型指令包括下列: 用以將電腦可執行型指令納入該構態管理器同樣可 直接解譯的召回文件中的電腦可執行型指令。 26. 如申請專利範圍第2 3項之電腦程式產品,其中用以判斷 該等安裝指令是否能夠成功的該等電腦可執行型指令 包括下列: 用以判斷該等安裝指令已經成功地被執行的電腦可 執行型指令。 27. 如申請專利範圍第2 3項之電腦程式產品,其中該等用以 判斷該等安裝指令是否能夠成功的電腦可執行型指令 包括下列: 用以判斷該等安裝指令已經執行失敗的電腦可執行 型指令;及 81636-950403.doc -6- 擎蔔辱撰;麵 1258945 用以藉由執行該召回文件反轉該安裝過程的電腦可 執行型指令。 28. —種在網路環境中的方法,該網路環境包括一組電腦可 執行型指令來源以及複數個行動電腦裝置,該方法讓該 等行動電腦裝置的至少一行動電腦裝置,利用常駐在該 行動電腦裝置中的一構態管理器之召回特徵來安裝該 組電腦可執行型指令而作為一異動,該方法包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之至少一版本的動作;及 一用以利用該構態管理器以一異動的方式來安裝該 至少一檔案的動作。 29. 如申請專利範圍第2 8項之方法,其中用以利用該構態管 理器以一異動的方式來安裝該至少一檔案的該步驟包 括下列: 一讓該行動電腦裝置存取電腦可執行型安裝指令的 動作,其定義如何將該至少一檔案安裝在該行動電腦裝 置中,該等安裝指令可被與該行動電腦裝置相關的一構 態管理器直接解譯; 一讓該構態管理器促使執行該等安裝指令的動作; 一讓該構態管理器促使建構一召回文件的動作;及 一讓該行動電腦裝置判斷該等電腦可執行型指令是 否已經成功地被執行的動作。 30. —種在網路環境中的方法,該網路環境包括一組電腦可 執行型指令來源以及複數個行動電腦裝置,該方法讓該 81636-950403.doc 攀讀辱爾纖隱露 哪45 等行動電腦裝置的至少一行動電腦裝置,利用常駐在該 行動電腦裝置中的一構態管理器之安全特徵來安裝該 組電腦可執行型指令而作為一異動,該方法包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之至少一版本的動作; 一讓該行動電腦裝置存取電腦可執行型安裝指令的 動作,其定義如何將該至少一檔案安裝在該行動電腦裝 置中,該等安裝指令可被與該行動電腦裝置相關的一構 態管理器直接解譯; 一讓該構態管理器促使該等電腦可執行型指令被執 行的動作;及 一針對該等電腦可執行型指令中至少一電腦可執行 型指令,讓該構態管理器判斷該等電腦可執行型指令的 執行是否已經過授權的動作。 31. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取要安裝至該行動電腦裝置中的至少一檔案之至少 一版本的該動作包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之一壓縮版本的動作;及 一讓該行動電腦裝置解壓縮該等要安裝至該行動電 腦裝置中的至少一檔案之壓縮版本的動作。 32. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取要安裝至該行動電腦裝置中的至少一檔案之至少 一版本的該動作包括下列: 81636-950403.doc 1258945 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之一非壓縮版本的動作。 33. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取依照該構態管理器可解譯 的一程式綱要建構而成的安裝指令的動作。 34. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取依照一可擴展標記語言 (XML)規格建構而成的安裝指令的動作。 35. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令,用以擷取 一檔案的一壓縮版本的動作。 36. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令的動作,用 以將一檔案從一來源目錄位置移動至一目的目錄位置。 37. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 81636-950403.doc -9-
飄5 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令的動作,用 以將一檔案從一來源目錄位置複製至一目的目錄位置。 38. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令的動作,用 以刪除一檔案。 39. 如申請專利範圍第3 0項之方法,其中讓該行動電腦裝置 存取定義如何將該至少一檔案安裝在該行動電腦裝置 中的電腦可執行型安裝指令的該動作包括下列: 一讓該行動電腦裝置存取至少一安裝指令的動作,用 以改變一構態設定。 40. 如申請專利範圍第3 0項之方法,其中讓該構態管理器促 使執行該等安裝指令的該動作包括下列: 一讓該構態管理器直接執行該等安裝指令的動作。 41. 如申請專利範圍第3 0項之方法,其中讓該構態管理器促 使執行該等安裝指令的該動作包括下列: 一讓該構態管理器促使至少一其它模組來執行該等 安裝指令的動作。 42. 如申請專利範圍第4 1項之方法,其中讓該構態管理器促 使至少一其它模組來執行該等安裝指令的該動作包括 下歹U : 一讓該構態管理器傳送檔案命令給一檔案構態服務 81636-950403.doc -10-
1258945 供應器的動作。 43. 如申請專利範圍第4 1項之方法,其中讓該構態管理器促 使至少一其它模組來執行該等安裝指令的該動作包括 下歹U : 一讓該構態管理器傳送構態命令給一註冊構態服務 供應器的動作。 44. 如申請專利範圍第3 0項之方法,其中讓該構態管理器判 斷該等安裝指令的執行是否已經過授權的該動作包括 下歹1j : 一讓該構態管理器存取對應該組電腦可執行型指令 的一角色遮罩的動作;及 一用以利用該角色遮罩來判斷該等安裝指令的執行 是否已經過授權的動作。 45. 如申請專利範圍第3 0項之方法,其中讓該構態管理器判 斷該等安裝指令的執行是否已經過授權的該動作包括 下歹: 一讓該構態管理器判斷該等安裝指令中至少一未經 過授權的動作。 46. 如申請專利範圍第4 5項之方法,進一步包括下列: 在該構態管理器判斷該等電腦可執行型指令中至少 一未經過授權的動作之後,用以停止或放棄該讓該構態 管理器促使執行該等安裝指令的動作。 47. —種在網路環境中的電腦程式產品,該網路環境包括一 組電腦可執行型指令來源以及複數個行動電腦裝置,該 81636-950403.doc -11 -
1258945 電腦程式產品可實施一種方法,用以讓該等行動電腦裝 置的至少一行動電腦裝置,利用常駐在該行動電腦裝置 中的一構態管理器之安全特徵來安裝該組電腦可執行 型指令,該電腦程式產品包括至少一電腦可讀取媒體, 於其上儲存著下列: 用以存取要安裝至該行動電腦裝置中的至少一檔案 之至少一版本的電腦可執行型指令; 用以存取電腦可執行型安裝指令的電腦可執行型指 令,其定義如何將該至少一檔案安裝在該行動電腦裝置 中,該等安裝指令可被與該行動電腦裝置相關的一構態 管理器直接解譯; 用以促使執行該等安裝指令的電腦可執行型指令;及 用以針對該等安裝指令中至少一安裝指令,判斷該等 安裝指令的執行是否已經過授權的電腦可執行型指令。 48. 如申請專利範圍第47項之電腦程式產品,其中該至少一 電腦可讀取媒體為實體儲存媒體。 49. 如申請專利範圍第4 7項之電腦程式產品,其中用以判斷 該等安裝指令的執行是否已經過授權的電腦可執行型 指令包括下列: 用以存取對應於該組電腦可執行型指令的一角色遮 罩的電腦可執行型指令;及 用以利用該角色遮罩來判斷該等指令的執行是否已 經過授權的電腦可執行型指令。 50. 如申請專利範圍第47項之電腦程式產品,其中用以判斷 81636-950403.doc -12-
1258945 該等電腦可執行型安裝指令的執行是否已經過授權的 電腦可執行型指令包括下列: 用以判斷該等電腦可執行型指令中至少一未經過授 權的電腦可執行型指令。 51. 如申請專利範圍第5 0項之電腦程式產品,其中該至少一 電腦可讀取媒體進一步於其上儲存著下列: 在該構態管理器判斷該等電腦可執行型指令中至少 一未經過授權的動作之後,用以停止讓該構態管理器促 使該等電腦可執行型指令被執行的該動作的電腦可執 行型指令。 52. —種在網路環境中的方法,該網路環境包括一組電腦可 執行型指令來源以及複數個行動電腦裝置,該方法讓該 等行動電腦裝置的至少一行動電腦裝置,利用常駐在該 行動電腦裝置中的一構態管理器之安全特徵來安裝該 組電腦可執行型指令而作為一異動,該方法包括下列: 一讓該行動電腦裝置存取要安裝至該行動電腦裝置 中的至少一檔案之至少一版本的動作;及 一用以利用一構態管理器的安全特徵,有條件式地安 裝該至少一檔案的動作。 53. 如申請專利範圍第5 2項之方法,其中用以利用一構態管 理器的安全特徵,有條件式地安裝該至少一檔案的該步 驟包括下列: 一讓該行動電腦裝置存取電腦可執行型安裝指令的 動作,其定義如何將該至少一檔案安裝在該行動電腦裝 81636-950403.doc -13 -
1258945 置中,該等安裝指令可被與該行動電腦裝置相關的一構 態管理器直接解譯; 一讓該構態管理器促使執行該等安裝指令的動作;及 一針對該等安裝指令中至少一,讓該構態管理器判斷 該等安裝指令的執行是否已經過授權的動作。 54 —種在網路環境中的電腦可讀取媒體,該網路環境包括 一組電腦可執行型指令來源以及複數個行動電腦裝 置,該電腦可讀取媒體已經於其上儲存著一可實施一種 方法的資料結構,用以讓該等行動電腦裝置的至少一行 動電腦裝置,利用常駐在該行動電腦裝置中的一構態管 理器來安裝該組電腦可執行型指令,該資料結構包括下 列: 一欄位,其用以代表要安裝之至少一檔案之至少一版 本;及 安裝指令,其用以表示如何將該至少一檔案安裝在該 行動電腦裝置中,該等安裝指令可直接由與該構態管理 器進行解譯。 55. 如申請專利範圍第5 4項之電腦可讀取媒體,其中該欄位 包括要安裝之至少一檔案的一壓縮版本。 56. 如申請專利範圍第5 4項之電腦可讀取媒體,其中該等安 裝指令係依照一可擴展標記語言規格建構而成的。 57. 如申請專利範圍第5 4項之電腦可讀取媒體,其中該電腦 可讀取媒體為實體儲存媒體。 58. —種在網路環境中的系統,該網路環境包括一組電腦可 81636-950403.doc -14 -
1258945 執行型指令來源以及複數個行動電腦裝置,該系統可利 用常駐在該行動電腦裝置中的一構態管理器之安全特 徵將該組電腦可執行型指令安裝於一行動電腦裝置 中,該系統包括下列: 一安裝模組,其係設計成用以將該組電腦可執行型指 令剖析成要安裝的一個或更多檔案及剖析成安裝指令; 一構態管理器,其係設計成用以從該安裝模組中接收 該等安裝指令, 一檔案構態服務供應器,其係設計成用以接收代表來 自該構態管理器之檔案或目錄作業之任何安裝指令,並 且係設計成用以執行該等所接收到的安裝指令;及 一註冊構態服務供應器,其係設計成用以接收代表來 自該構態管理器之構態設定作業之任何安裝指令,並且 係設計成用以執行該等所接收到的安裝指令。 81636-950403.doc -15 -
TW091133377A 2001-12-05 2002-11-14 Installing software on a mobile computing device using the rollback and security features of a configuration manager TWI258945B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/005,959 US6993760B2 (en) 2001-12-05 2001-12-05 Installing software on a mobile computing device using the rollback and security features of a configuration manager

Publications (2)

Publication Number Publication Date
TW200301049A TW200301049A (en) 2003-06-16
TWI258945B true TWI258945B (en) 2006-07-21

Family

ID=21718563

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091133377A TWI258945B (en) 2001-12-05 2002-11-14 Installing software on a mobile computing device using the rollback and security features of a configuration manager

Country Status (5)

Country Link
US (2) US6993760B2 (zh)
EP (1) EP1318452A1 (zh)
JP (2) JP2003208316A (zh)
CN (1) CN100351779C (zh)
TW (1) TWI258945B (zh)

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3689301A (en) 2000-02-09 2001-08-20 Apriva Inc Communication systems, components, and methods operative with programmable wireless devices
US7788602B2 (en) 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US20030135851A1 (en) * 2002-01-17 2003-07-17 Laura Dickey Method and system for concentration of applications during installation in target devices
US20030200149A1 (en) * 2002-04-17 2003-10-23 Dell Products L.P. System and method for facilitating network installation
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en) 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US20030237021A1 (en) * 2002-06-20 2003-12-25 Ching Yee Fen Automatic restoration of software applications in a mobile computing device
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7209915B1 (en) 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7558835B1 (en) 2002-08-19 2009-07-07 Juniper Networks, Inc. Application of a configuration patch to a network device
US7865578B1 (en) 2002-08-19 2011-01-04 Juniper Networks, Inc. Generation of a configuration patch for network devices
KR100504476B1 (ko) * 2002-10-30 2005-08-01 엘지전자 주식회사 아이콘 제어를 위한 방법 및 디스플레이 시스템
US7783614B2 (en) * 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7631055B1 (en) * 2003-04-23 2009-12-08 Cisco Technology, Inc. Method and apparatus providing automatic connection announcement from a modular network device to a network management point
US7451224B1 (en) 2003-04-23 2008-11-11 Cisco Technology, Inc. Method and apparatus for automatically synchronizing a unique identifier of a network device
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
KR100531875B1 (ko) * 2003-06-24 2005-11-29 엘지전자 주식회사 이동 통신 단말기의 운용 프로그램 탑재 방법
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
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
US7500235B2 (en) * 2003-09-05 2009-03-03 Aol Time Warner Interactive Video Group, Inc. Technique for updating a resident application and associated parameters in a user terminal through a communications network
CA2539460C (en) * 2003-09-17 2012-09-25 Research In Motion Limited System and method for dynamic version management of applications
US8555271B2 (en) * 2003-10-29 2013-10-08 Qualcomm Incorporated Method, software and apparatus for application upgrade during execution
US8930944B2 (en) 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US7080279B2 (en) * 2003-12-03 2006-07-18 International Business Machines Corporation Autonomic rollback
US20050124332A1 (en) * 2003-12-08 2005-06-09 Clark David R. Mobile device programming system and method
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US7523097B1 (en) * 2004-01-13 2009-04-21 Juniper Networks, Inc. Restoration of archived configurations for a network device
US7523185B1 (en) 2004-01-13 2009-04-21 Cisco Technology, Inc. Method and apparatus for providing automatic frame relay and ATM provisioning of network devices
US7222340B2 (en) * 2004-01-27 2007-05-22 Research In Motion Limited Software-delivered dynamic persistent data
US8418162B2 (en) * 2004-01-27 2013-04-09 Research In Motion Limited Network delivered dynamic persistent data
TWI237786B (en) * 2004-02-11 2005-08-11 Benq Corp Program correction method, storage medium and program-driven electronic device using the same
US7290164B1 (en) * 2004-03-03 2007-10-30 Cisco Technology, Inc. Method of reverting to a recovery configuration in response to device faults
US7539686B2 (en) * 2004-03-12 2009-05-26 Microsoft Corporation Tag-based schema for distributing update metadata in an update distribution system
JP2005267089A (ja) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd ドライバ管理方法および装置並びにプログラム
US8488476B2 (en) * 2004-04-05 2013-07-16 Verizon Business Global Llc Providing applets to remote devices in a communications network
US7710888B2 (en) 2004-04-05 2010-05-04 Verizon Business Global Llc Apparatus and method for testing and fault isolation in a communication network
WO2005119432A2 (en) * 2004-06-01 2005-12-15 Red Bend Ltd Method and system for in-place updating content stored in a storage device
US8595687B2 (en) * 2004-06-23 2013-11-26 Broadcom Corporation Method and system for providing text information in an application framework for a wireless device
US7934213B2 (en) * 2004-11-09 2011-04-26 Microsoft Corporation Device driver rollback
DE102005000653A1 (de) * 2005-01-04 2006-07-13 Robert Bosch Gmbh Skriptbasierte Software-Installation über Broadcast-Transportmedien
EP1851904B1 (en) * 2005-02-22 2011-05-18 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
US20070067844A1 (en) * 2005-09-16 2007-03-22 Sana Security Method and apparatus for removing harmful software
US8719924B1 (en) 2005-03-04 2014-05-06 AVG Technologies N.V. Method and apparatus for detecting harmful software
US8646080B2 (en) * 2005-09-16 2014-02-04 Avg Technologies Cy Limited Method and apparatus for removing harmful software
KR100764791B1 (ko) 2005-04-08 2007-10-11 엘지전자 주식회사 장치관리 시스템 및 그 시스템에서의 장치관리 스케줄링방법
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
US7970386B2 (en) 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
US20060288057A1 (en) * 2005-06-15 2006-12-21 Ian Collins Portable data backup appliance
US20070016638A1 (en) * 2005-06-30 2007-01-18 Ian Elbury System and method of application provisioning
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US20080028008A1 (en) * 2006-07-31 2008-01-31 Storage Appliance Corporation Optical disc initiated data backup
US7818160B2 (en) 2005-10-12 2010-10-19 Storage Appliance Corporation Data backup devices and methods for backing up data
US20070091746A1 (en) * 2005-10-12 2007-04-26 Storage Appliance Corporation Optical disc for simplified data backup
US7822595B2 (en) * 2005-10-12 2010-10-26 Storage Appliance Corporation Systems and methods for selectively copying embedded data files
US7813913B2 (en) 2005-10-12 2010-10-12 Storage Appliance Corporation Emulation component for data backup applications
US7844445B2 (en) * 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US7899662B2 (en) 2005-10-12 2011-03-01 Storage Appliance Corporation Data backup system including a data protection component
US8195444B2 (en) * 2005-10-12 2012-06-05 Storage Appliance Corporation Systems and methods for automated diagnosis and repair of storage devices
US7702830B2 (en) * 2005-10-12 2010-04-20 Storage Appliance Corporation Methods for selectively copying data files to networked storage and devices for initiating the same
CN100426749C (zh) * 2006-03-01 2008-10-15 华为技术有限公司 资源修改失败的处理设备和方法
US7962798B2 (en) * 2006-04-17 2011-06-14 The Trustees Of Columbia University In The City Of New York Methods, systems and media for software self-healing
US8578363B2 (en) * 2006-05-03 2013-11-05 Microsoft Corporation Differentiated installable packages
US20070266128A1 (en) * 2006-05-10 2007-11-15 Bhogal Kulvir S Method and apparatus for monitoring deployment of applications and configuration changes in a network of data processing systems
US20080082453A1 (en) * 2006-10-02 2008-04-03 Storage Appliance Corporation Methods for bundling credits with electronic devices and systems for implementing the same
US20080172487A1 (en) * 2007-01-03 2008-07-17 Storage Appliance Corporation Systems and methods for providing targeted marketing
WO2008092162A2 (en) 2007-01-26 2008-07-31 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for recovering an application from a fault or attack
US9274811B1 (en) 2007-02-16 2016-03-01 Bladelogic, Inc. System and method for cloud provisioning and application deployment
US9442708B1 (en) 2007-02-16 2016-09-13 Bladelogic, Inc. System and method for installing, updating and uninstalling applications
US8239854B2 (en) * 2007-03-26 2012-08-07 Microsoft Corporation Bookmark and configuration file for installation sequence
EP2132628A1 (en) * 2007-04-05 2009-12-16 International Business Machines Corporation Method, system and computer program for configuring firewalls
US20080320110A1 (en) * 2007-06-25 2008-12-25 Sharp Laboratories Of America, Inc. Firmware rollback and configuration restoration for electronic devices
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8196136B2 (en) * 2007-09-28 2012-06-05 Microsoft Corporation Configuration and change management system with restore points
US8978028B2 (en) * 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US20090183151A1 (en) * 2008-01-15 2009-07-16 Sam Gharabally Obtaining Software for a Handheld Device
EP2245829B1 (en) 2008-01-18 2016-01-06 InterDigital Patent Holdings, Inc. Method for enabling machine to machine communication
US8762977B2 (en) * 2008-04-10 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Mobile device software management method and apparatus
EP2169552A1 (en) * 2008-09-18 2010-03-31 Research In Motion Limited System and method for transactional application lifecycle management for mobile devices
US8135393B2 (en) 2008-09-18 2012-03-13 Research In Motion Limited System and method for transactional application lifecycle management for mobile devices
US8132047B2 (en) * 2008-11-14 2012-03-06 International Business Machines Corporation Restoring application upgrades using an application restore point
US8332842B2 (en) * 2008-11-14 2012-12-11 International Business Machines Corporation Application restore points
GB2466220A (en) * 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
US8838084B2 (en) * 2009-02-27 2014-09-16 Blackberry Limited System and method for provisioning mobile communication device upgrades
JP5453461B2 (ja) 2009-03-05 2014-03-26 インターデイジタル パテント ホールディングス インコーポレイテッド H(e)NB完全性検証および妥当性確認のための方法および機器
US20110010543A1 (en) 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US8117087B2 (en) * 2009-09-24 2012-02-14 Avaya Inc. Customer loyalty, product demonstration, and store/contact center/internet coupling system and method
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8347382B2 (en) * 2009-12-17 2013-01-01 International Business Machines Corporation Malicious software prevention using shared information
US8413137B2 (en) * 2010-02-04 2013-04-02 Storage Appliance Corporation Automated network backup peripheral device and method
JP5359911B2 (ja) * 2010-02-08 2013-12-04 株式会社リコー 情報処理システム、情報処理装置、管理装置、インストール処理方法、プログラム及び記憶媒体
CN102193780A (zh) * 2010-03-08 2011-09-21 华为技术有限公司 事务实现方法以及事务实现设备
JP5515904B2 (ja) 2010-03-17 2014-06-11 株式会社リコー 情報処理システム、管理装置、情報処理装置、インストール処理方法、プログラム及び記憶媒体
US8473925B2 (en) 2010-05-11 2013-06-25 Ca, Inc. Conditional dynamic instrumentation of software in a specified transaction context
US8782612B2 (en) 2010-05-11 2014-07-15 Ca, Inc. Failsafe mechanism for dynamic instrumentation of software using callbacks
US8566800B2 (en) 2010-05-11 2013-10-22 Ca, Inc. Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation
CN101853296A (zh) * 2010-05-28 2010-10-06 华为终端有限公司 管理应用程序的方法和装置
US8631396B2 (en) * 2010-06-03 2014-01-14 International Business Machines Corporation Schema specification to improve product consumability on installation, configuration, and/or un-installation activity
US8938729B2 (en) 2010-10-12 2015-01-20 Ca, Inc. Two pass automated application instrumentation
CN106055930A (zh) 2010-11-05 2016-10-26 交互数字专利控股公司 设备检验和遇险指示
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8752015B2 (en) 2011-12-05 2014-06-10 Ca, Inc. Metadata merging in agent configuration files
US9411616B2 (en) 2011-12-09 2016-08-09 Ca, Inc. Classloader/instrumentation approach for invoking non-bound libraries
CN102609328B (zh) * 2012-01-29 2015-04-15 华为终端有限公司 系统差分升级方法和装置、移动终端
CN102594908B (zh) 2012-03-13 2014-08-20 华为技术有限公司 一种推送网络内容的方法、设备和系统
US9367298B1 (en) 2012-03-28 2016-06-14 Juniper Networks, Inc. Batch configuration mode for configuring network devices
JP2015523750A (ja) * 2012-04-12 2015-08-13 漢陽大学校産学協力団Industry−University Cooperation FoundationHANYANG University ソフトウェア定義無線アプリケーションの動作方法
CN103677879B (zh) * 2012-09-14 2019-03-26 腾讯科技(深圳)有限公司 软件安装方法及相应软件安装装置
JP2014126943A (ja) 2012-12-25 2014-07-07 Fanuc Ltd 画像中の対象物を検出するために画像処理を行う画像処理装置及び方法
US20140250290A1 (en) * 2013-03-01 2014-09-04 St-Ericsson Sa Method for Software Anti-Rollback Recovery
US9582748B2 (en) 2013-03-04 2017-02-28 Hello Inc. Base charging station for monitoring device
US9159223B2 (en) 2013-03-04 2015-10-13 Hello, Inc. User monitoring device configured to be in communication with an emergency response system or team
US9345403B2 (en) 2013-03-04 2016-05-24 Hello Inc. Wireless monitoring system with activity manager for monitoring user activity
US9392939B2 (en) 2013-03-04 2016-07-19 Hello Inc. Methods using a monitoring device to monitor individual activities, behaviors or habit information and communicate with a database with corresponding individual base information for comparison
US9436903B2 (en) 2013-03-04 2016-09-06 Hello Inc. Wearable device with magnets with a defined distance between adjacent magnets
US9704209B2 (en) 2013-03-04 2017-07-11 Hello Inc. Monitoring system and device with sensors and user profiles based on biometric user information
US9430938B2 (en) 2013-03-04 2016-08-30 Hello Inc. Monitoring device with selectable wireless communication
US9367793B2 (en) 2013-03-04 2016-06-14 Hello Inc. Wearable device with magnets distanced from exterior surfaces of the wearable device
US9553486B2 (en) 2013-03-04 2017-01-24 Hello Inc. Monitoring system and device with sensors that is remotely powered
US9407097B2 (en) 2013-03-04 2016-08-02 Hello Inc. Methods using wearable device with unique user ID and telemetry system
US9339188B2 (en) 2013-03-04 2016-05-17 James Proud Methods from monitoring health, wellness and fitness with feedback
US9298882B2 (en) 2013-03-04 2016-03-29 Hello Inc. Methods using patient monitoring devices with unique patient IDs and a telemetry system
US9445651B2 (en) 2013-03-04 2016-09-20 Hello Inc. Wearable device with overlapping ends coupled by magnets
US9848776B2 (en) 2013-03-04 2017-12-26 Hello Inc. Methods using activity manager for monitoring user activity
US9330561B2 (en) 2013-03-04 2016-05-03 Hello Inc. Remote communication systems and methods for communicating with a building gateway control to control building systems and elements
US9662015B2 (en) 2013-03-04 2017-05-30 Hello Inc. System or device with wearable devices having one or more sensors with assignment of a wearable device user identifier to a wearable device user
US9530089B2 (en) 2013-03-04 2016-12-27 Hello Inc. Wearable device with overlapping ends coupled by magnets of a selected width, length and depth
US9204798B2 (en) 2013-03-04 2015-12-08 Hello, Inc. System for monitoring health, wellness and fitness with feedback
US9526422B2 (en) 2013-03-04 2016-12-27 Hello Inc. System for monitoring individuals with a monitoring device, telemetry system, activity manager and a feedback system
US9357922B2 (en) 2013-03-04 2016-06-07 Hello Inc. User or patient monitoring systems with one or more analysis tools
US9424508B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with magnets having first and second polarities
US9420856B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with adjacent magnets magnetized in different directions
US9427189B2 (en) 2013-03-04 2016-08-30 Hello Inc. Monitoring system and device with sensors that are responsive to skin pigmentation
US9532716B2 (en) 2013-03-04 2017-01-03 Hello Inc. Systems using lifestyle database analysis to provide feedback
US9420857B2 (en) 2013-03-04 2016-08-23 Hello Inc. Wearable device with interior frame
US9398854B2 (en) 2013-03-04 2016-07-26 Hello Inc. System with a monitoring device that monitors individual activities, behaviors or habit information and communicates with a database with corresponding individual base information for comparison
US9320434B2 (en) 2013-03-04 2016-04-26 Hello Inc. Patient monitoring systems and messages that send alerts to patients only when the patient is awake
US9634921B2 (en) 2013-03-04 2017-04-25 Hello Inc. Wearable device coupled by magnets positioned in a frame in an interior of the wearable device with at least one electronic circuit
US9345404B2 (en) 2013-03-04 2016-05-24 Hello Inc. Mobile device that monitors an individuals activities, behaviors, habits or health parameters
US9149189B2 (en) 2013-03-04 2015-10-06 Hello, Inc. User or patient monitoring methods using one or more analysis tools
US9406220B2 (en) 2013-03-04 2016-08-02 Hello Inc. Telemetry system with tracking receiver devices
US9414651B2 (en) 2013-03-04 2016-08-16 Hello Inc. Wearable device with overlapping ends coupled by magnets operating in a temperature range of 200° F. to 400° F.
US9432091B2 (en) 2013-03-04 2016-08-30 Hello Inc. Telemetry system with wireless power receiver and monitoring devices
US9361572B2 (en) 2013-03-04 2016-06-07 Hello Inc. Wearable device with magnets positioned at opposing ends and overlapped from one side to another
US9737214B2 (en) 2013-03-04 2017-08-22 Hello Inc. Wireless monitoring of patient exercise and lifestyle
US9427160B2 (en) 2013-03-04 2016-08-30 Hello Inc. Wearable device with overlapping ends coupled by magnets positioned in the wearable device by an undercut
US10004451B1 (en) 2013-06-21 2018-06-26 Fitbit, Inc. User monitoring system
US10009581B2 (en) 2015-01-02 2018-06-26 Fitbit, Inc. Room monitoring device
US20160220198A1 (en) 2013-06-21 2016-08-04 Hello Inc. Mobile device that monitors an individuals activities, behaviors, habits or health parameters
US9610030B2 (en) 2015-01-23 2017-04-04 Hello Inc. Room monitoring device and sleep analysis methods
US10058290B1 (en) 2013-06-21 2018-08-28 Fitbit, Inc. Monitoring device with voice interaction
US9993166B1 (en) 2013-06-21 2018-06-12 Fitbit, Inc. Monitoring device using radar and measuring motion with a non-contact device
US9684499B2 (en) * 2013-06-30 2017-06-20 Dropbox, Inc. Systems and methods for facilitating installation of software applications
CN104346184A (zh) * 2013-08-01 2015-02-11 中兴通讯股份有限公司 应用打包装置及方法
CN103488549B (zh) * 2013-09-29 2017-01-18 北大医疗信息技术有限公司 多镜像数据的回滚处理系统和回滚处理方法
US10964199B2 (en) 2016-11-14 2021-03-30 Instant Care, Inc. AI-based monitoring system for reducing a false alarm notification to a call center
US11281522B2 (en) * 2019-08-30 2022-03-22 Microsoft Technology Licensing, Llc Automated detection and classification of dynamic service outages

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US5113518A (en) * 1988-06-03 1992-05-12 Durst Jr Robert T Method and system for preventing unauthorized use of software
US5838907A (en) 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
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
JPH10177473A (ja) * 1996-12-18 1998-06-30 Japan Airlines Co Ltd コンピュータ・プログラムのインストール方法及びシステム
WO1998040805A2 (en) * 1997-02-27 1998-09-17 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US5991543A (en) * 1997-08-29 1999-11-23 Dell Usa, L.P. Software installation and testing for a build-to-order computer system
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
US6078921A (en) * 1998-03-03 2000-06-20 Trellix Corporation Method and apparatus for providing a self-service file
JPH11316721A (ja) * 1998-04-30 1999-11-16 Nippon Telegr & Teleph Corp <Ntt> ファイル送受信方法及びシステム及びファイル送受信プログラムを格納した記憶媒体
JP2000082002A (ja) * 1998-09-07 2000-03-21 Techno Craft:Kk データ管理システム及び記録媒体
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US6363499B1 (en) * 1998-09-21 2002-03-26 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful installation attempt
US6366898B2 (en) * 1998-09-21 2002-04-02 Sun, Microsystems, Inc. Method and apparatus for managing classfiles on devices without a file system
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6298478B1 (en) * 1998-12-31 2001-10-02 International Business Machines Corporation Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions
US6493751B1 (en) * 1999-02-24 2002-12-10 3Com Corporation Network configuration method and system for a window-based operating system environment
US6438749B1 (en) * 1999-03-03 2002-08-20 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful patch installation attempt
US6434744B1 (en) * 1999-03-03 2002-08-13 Microsoft Corporation System and method for patching an installed application program
US6360364B1 (en) * 1999-03-17 2002-03-19 Microsoft Corporation System and method for installing an application on a portable computer
US6647260B2 (en) 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
US6434628B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
JP2001067232A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd ソフトウエアの配信システムおよびソフトウエアの受信端末装置
JP3809548B2 (ja) * 1999-09-24 2006-08-16 株式会社日立製作所 計算機システムおよびプログラムのインストール方法
US6687873B1 (en) * 2000-03-09 2004-02-03 Electronic Data Systems Corporation Method and system for reporting XML data from a legacy computer system
US6698018B1 (en) * 2000-05-10 2004-02-24 Microsoft Corporation System and method of multiple-stage installation of a suite of applications
US20020124245A1 (en) * 2000-08-14 2002-09-05 Alvin Maddux Method and apparatus for advanced software deployment
AU2001294677A1 (en) * 2000-09-22 2002-04-02 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7188243B2 (en) * 2001-02-16 2007-03-06 Microsoft Corporation System and method for over the air configuration security
US7194503B2 (en) * 2001-06-29 2007-03-20 Microsoft Corporation System and method to query settings on a mobile device
US7295522B2 (en) * 2001-06-29 2007-11-13 Microsoft Corporation System and method for continuously provisioning a mobile device
US20030009752A1 (en) * 2001-07-03 2003-01-09 Arvind Gupta Automated content and software distribution system
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US7430602B2 (en) * 2002-12-20 2008-09-30 Qualcomm Incorporated Dynamically provisioned mobile station and method therefor

Also Published As

Publication number Publication date
JP2003208316A (ja) 2003-07-25
US6993760B2 (en) 2006-01-31
JP4565032B2 (ja) 2010-10-20
US20030121033A1 (en) 2003-06-26
US20050132358A1 (en) 2005-06-16
CN1423192A (zh) 2003-06-11
US7017155B2 (en) 2006-03-21
TW200301049A (en) 2003-06-16
EP1318452A1 (en) 2003-06-11
CN100351779C (zh) 2007-11-28
JP2009087358A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
TWI258945B (en) Installing software on a mobile computing device using the rollback and security features of a configuration manager
US8694981B2 (en) Shared resource dependencies
US7610350B2 (en) Wireless information transmission system and method
KR101384387B1 (ko) 사용자 디바이스를 프로비저닝하기 위한 시스템 및 방법
KR100999267B1 (ko) 관리 서버들에 의해 업데이트된 온-디바이스 애플리케이션 카탈로그
US6970697B2 (en) Platform-independent scanning subsystem API for use in a mobile communication framework
CN107992308B (zh) 一种安卓终端应用程序的插件化管理方法
US20030162575A1 (en) Mobile communication terminal, information processing apparatus, relay server apparatus, information processing system, and information processing method
US20100153944A1 (en) Software installation system and method
JP5248657B2 (ja) デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム
CN104040496A (zh) 终端和应用程序恢复方法
WO2005084202A2 (en) Execution of unverified programs in a wireless device operating environment
JPWO2009078285A1 (ja) 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法
US20030066059A1 (en) Method for executing java application midlet using communication among java applications
CN104008096A (zh) 一种基于浏览器的应用操作方法和装置
US7778660B2 (en) Mobile communications terminal, information transmitting system and information receiving method
JP5216723B2 (ja) 通信端末及びアプリケーション取得方法
WO2007013176A1 (ja) 情報処理装置及びパターンマッチング処理方法
US7702890B2 (en) Information processing apparatus and program
CN114296791A (zh) 接口文档的自动化生成方法、装置和计算机设备
KR101240096B1 (ko) 이동통신 단말기의 자바 애플리케이션 관리 방법
JP5970935B2 (ja) 制御プログラム及び端末
KR20100123084A (ko) 이동통신단말기의 어플리케이션 구성 파일 복구 방법 및 시스템과 이에 사용가능한 이동통신단말기
Kiyohara et al. New method for software updating in mobile phones
KR20040031979A (ko) 정보단말기의 오퍼레이팅 시스템 업그레이드 방법

Legal Events

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