TWI743780B - 應用程式存在之監視及重新安裝技術 - Google Patents

應用程式存在之監視及重新安裝技術 Download PDF

Info

Publication number
TWI743780B
TWI743780B TW109115606A TW109115606A TWI743780B TW I743780 B TWI743780 B TW I743780B TW 109115606 A TW109115606 A TW 109115606A TW 109115606 A TW109115606 A TW 109115606A TW I743780 B TWI743780 B TW I743780B
Authority
TW
Taiwan
Prior art keywords
application
computer circuit
computer
commands
circuit
Prior art date
Application number
TW109115606A
Other languages
English (en)
Other versions
TW202111518A (zh
Inventor
安德瑞溝 納丁品席洛
理查 布蘭里
瓦路汀 阿里
Original Assignee
美商惠普發展公司有限責任合夥企業
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 美商惠普發展公司有限責任合夥企業 filed Critical 美商惠普發展公司有限責任合夥企業
Publication of TW202111518A publication Critical patent/TW202111518A/zh
Application granted granted Critical
Publication of TWI743780B publication Critical patent/TWI743780B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在一實例中,一種非暫時性的電腦可讀取媒體具有儲存在其中的指令,回應於其正被執行在該電腦電路上,致使該電腦電路可以執行指令以操作被安裝在該記憶體電路中的一應用程式,並產生一迭代通信以指出該應用程式正在運行。該等指令,回應於正被執行,更致使該電腦電路檢測該迭代通信的該存在,並回應於在該迭代通信中的一中斷,重新安裝該應用程式。

Description

應用程式存在之監視及重新安裝技術
發明領域
本發明係有關於應用程式存在之監視及重新安裝技術。
發明背景
在一電腦環境中保持應用程式運行可能是具有挑戰性的。例如,由於操作問題,應用程式可能會無意中停止運行。此外,流氓應用程式及腳本可能會阻止一程序的運行,而無需使用者干預。這可能會導致問題,諸如無法與集中式管理系統兼容,以及由於防火牆或防毒軟體無法正常運作而導致的安全性漏洞。
發明概要
依據本發明之一實施例,係特地提出一種非暫時性的電腦可讀取媒體(CRM),其具有儲存在其中的指令,回應於該等指令正被執行在電腦電路上,致使該電腦電路可以:操作被安裝在該CRM中的一應用程式以產生一迭代通信以指出該應用程式正在運行;檢測該迭代通信的該存在;以及回應於在該迭代通信中的一中斷,重新安裝該應用程式。
較佳實施例之詳細說明 本發明的各個方面被導向到要解決與確保某些應用程式繼續運行有關的問題。特定的方面被導向到涉及使用硬體強制運行在一作業系統中之應用程式的執行的裝置及方法,通過經由該等應用程式產生該等迭代通信並重新注入停止產生該等迭代通信的應用程式。
根據一特定的實例,一非暫時性的電腦可讀取媒體具有儲存在其中的指令,回應於該等指令被執行在電腦電路上,致使該電腦電路執行指令來操作被安裝在該記憶體電路的應用程式,並產生一迭代通信以指出該應用程式正在運行。該等指令更致使該電腦電路可以檢測該迭代通信的存在,並重新安裝該應用程式以回應於在該迭代通信中的一中斷。
另一個實例涉及一種非暫時性電腦可讀取媒體,其具有儲存在其中的指令,回應於該指令被執行在電腦電路上,致使該電腦電路產生一迭代通信以指出複數個應用程式正在被執行。針對該等複數個應用程式之每一個所產生的該等迭代通信被監視。基於該等迭代通信的持久性特徵來識別該等應用程式中之一的終止,並且回應於識別出該等應用程式中之一已經終止操作來重新安裝該等應用程式中之那一個。
另一個實例涉及一種非暫時性的電腦可讀取媒體,其具有儲存在其中的指令,回應於該指令被執行在電腦電路上,致使該電腦電路產生一可檢測通信,該可檢測通信識別出被安裝在該記憶體中的一應用程式並且指出該應用程式正在運行。基於該可檢測通信的該產生,該等指致令使該電腦電路可以判定該應用程式是否正在運行,並回應於若判定該應用程式處於非活動狀態,重新啟動該應用程式的操作。
現在轉向該等附圖,圖1係根據本發明的一示意圖,其圖示出涉及應用程式之存在監視及重新安裝的一實例裝置100。裝置100包括電腦電路110、一BIOS(基本輸入/輸出系統)或UEFI(統一可擴展韌體介面)區塊120、非依電性記憶體130以及依電性記憶體140。該電腦電路110可被實現為,例如,一中央處理單元(CPU)或其他邏輯電路以執行用來執行操作的指令,並且其可介接輸入/輸出電路以及該非依電性記憶體130及依電性記憶體140介面。該BIOS或UEFI區塊120可以,例如,被實現在該電腦電路110內,諸如藉由使用在其中的電路來執行儲存在該非依電性記憶體130中的指令。此外,可以在與該電腦電路110同一組電路中實現該非依電性記憶體130及依電性記憶體140中之一者或兩者。
該電腦電路110根據一作業系統來操作,正如可以利用儲存在該非依電性記憶體中的作業系統區塊132來實現。該非依電性記憶體更可儲存應用程式套件資料134,其可以包括用於安裝一或多個應用程式的資訊。該非依電性記憶體130更可包括一裝置表136,在其中登記有由該電腦電路110所操作的裝置。這樣的裝置可以包括,例如,監視器、印表機、列印排存器、圖形卡、以及許多其他的電腦組件。
該電腦電路110可以操作用來執行各種功能之複數個不同的應用程式。通過舉例的方式,顯示了應用程式111、112、113及114,它們的操作涉及一預期的功能,諸如執行防毒方面,以及產生一迭代通信(或「心跳」),其指出該應用程式正在運作。該BIOS或UEFI區塊120包括一持久性監視器區塊122,該持久性監視器區塊122監視該等應用程式111-114用以檢測來自每一個應用程式之一迭代通信的存在。這種方法可能涉及,例如,基於一種循環式的監視,其中該等應用程式被規劃以在一對應周期上產生該迭代通信。當該持久性監視器區塊122檢測到該等應用程式中之一個未按預期傳送一迭代通信時,一應用程式注入區塊124會如在本文中所描述的重新安裝該應用程式。
應用程式的監視及重新安裝可以以多種方式來進行。在一個實例中,當該電腦電路110啟動時,應用程式111也可被啟動。一旦運行,應用程式111就會產生由該持久性監視器區塊122所監視的一迭代通信115。如果該應用程式111失敗或被惡意地終止,它將不再產生該迭代通信115。在該持久性監視器區塊122檢測到該應用程式111不再產生該迭代通信的情況下,該應用程式注入區塊124確保該應用程式被重新安裝,由應用程式111A來表示。
一已經終止之應用程式的重新安裝或注入可以以各種方式來進行。在一特定的實例中,該應用程式套件資料134包括足以安裝一應用程式的資訊。此資訊可能包括一腳本及其他資料,這些資訊用於重新安裝一個已經被刪除或已經故障的應用程式。該裝置表136的更新係以用於該等應用程式中之一個的裝置ID資料來更新,其針對該特定的應用程式映射到在該應用程式套件資料134中的某一個程式套件。當該持久性監視器區塊122檢測到該特定的應用程式並未產生其迭代通信時,該應用程式注入區塊124產生由該作業系統來解讀的一通信(經由該電腦電路110來執行),作為一指示指出具該裝置ID的該裝置係存在的。做為回應,該作業系統藉由存取該裝置ID所映射到之該相對應的套件資料,並執行該套件資料,就好像正在安裝用於該裝置(現在被指示為存在的)的一驅動程式一樣。例如,這可能涉及執行一腳本,該腳本使得應用程式111A被注入以經由該電腦電路110被再次地運行。
在某些實例中,回應於未能檢測到該應用程式的迭代通信,該應用程式注入模組可以直接地存取及安裝一應用程式。例如,可以直接地存取及操作在該非依電性記憶體130中儲存的資料或在該依電性記憶體140中的(142)。
如在圖1中所示的區塊可以表示結構,諸如被選擇或設計為執行特定動作或功能的電路或電路圖。無論是單獨地存在還是與其他如此的區塊或可能包括分立電路元件之電路相組合,這些區塊可以是通過固定設計及/或可組配電路及/或電路元件所編碼的電路,用以執行這些操作方面。例如,可組配的電腦電路可包括記憶體電路,該記憶體電路用來儲存及存取一組程式碼,該組程式碼將被存取/執行成為用以執行該相關操作的指令及/或組配資料。
圖2圖示出一實例資料流的示意圖,其可根據本發明內容來被實現。在一些實例中,該資料可以被實現為儲存在一非暫時性CRM 205上的指令,其在執行時執行該等指出的功能。在方塊210,從在一電腦裝置上運行的應用程式產生迭代通信。在方塊220,該等迭代通信的存在性被監視。在方塊225,如果迭代通信係按預期地存在,則該監視繼續方塊220。如果在方塊225迭代通信被中斷或以其他的方式不按預期地存在,則在方塊230應用程式安裝指令被存取,並在方塊240重新安裝該應用程式。
在一些實現方式中,進一步的操作被如下進行。在方塊211,針對將被持久保留的一應用程式,包括有應用程式資料及應用程式安裝指令的一套件被儲存。在方塊212,把該套件註冊為具有一裝置ID的一驅動程式,並且在213,把該裝置ID儲存在一裝置表中。這項資訊然後可被使用來重新安裝對應於該套件的該應用程式。例如,在某些實現方式中,在方塊230及240係通過以下附加的操作來執行該應用程式指令的存取及該相關的重新安裝。在方塊231,產生一輸出,該輸出指出對應於一特定裝置ID的一裝置係存在的。此輸出導致在方塊232該對應的套件(被註冊為用於該裝置ID的一驅動程式)將被存取。例如,這可能涉及致使一電腦作業系統自動地查找為一新存在裝置提供服務的一驅動程式、映射到在方塊212被註冊為一驅動程式的該套件、以及執行在該套件中的一腳本以致使該應用程式被重新安裝。
圖3係根據本發明的一示意圖,其圖示出示出一實例非暫時性的CRM 310,其具有內儲的指令以基於迭代通信重新安裝應用程式。藉由舉例的方式,電腦電路320,諸如一CPU,被以虛線示出並且可被實現成具有或包括該CRM 310,藉由執行在該非暫時性CRM中的指令用以執行在該等個別方塊中所記錄的操作。在方塊311,作業系統(OS)指令被執行以操作一應用程式,其包括產生一迭代通信。在方塊312,檢測來自該等應用程式的迭代通信。在方塊313,如果該迭代通信被中斷,則在方塊314重新安裝該應用程式。如果在方塊313該迭代通信未被中斷,則在方塊312另外的迭代通信被檢測。
在一些實例中,在方塊311所產生的該迭代通信係在該應用程式正在執行時以重複的基礎上所產生的一種心跳型態的通信。這一種心跳型態通信的終止表示該應用程式不再運行。該迭代通信可以包括,例如,識別出被安裝在記憶體中之該應用程式的資料。該CRM 310可以包括使用系統指令所規劃的非依電性記憶體電路,當被執行時,會致使該電腦電路320可以檢測該迭代心跳通信的存在,並且回應於該迭代心跳通信被中斷或以其他方式不再迭代該心跳通信,重新安裝該應用程式。例如,當該電腦電路啟動時、當該應用程式被安裝在該記憶體電路中時、或在這兩者時,用於安裝該應用程式的指令可以被儲存在該記憶體電路中。
該等系統指令可以包括各種指令或指令的組合,其有助於該電腦電路的操作以執行各種功能。在一特定的實例中,在該CRM 310上的該等系統指令,當被執行時,致使該電腦電路320可在一個表中建立一條目,其識別出與該應用程式相對應的一裝置。回應於該迭代通信未迭代,一輸出被產生以指出該裝置係存在的,這繼而致使該電腦電路存取並執行與該表中之該條目相對應的指令。這一種方法可以模擬,例如,一隨插即用型態的裝置,其中該應用程式被表徵為用於此一裝置的一驅動程式,並且安裝該應用程式的相關代碼係由該電腦電路來執行,就好像與該表之條目相對應之一裝置的一驅動程式正在被安裝一樣。
在另一個實例中,在該CRM 310上的該等系統指令,當被執行時,致使該電腦電路320可以產生可識別出一裝置的一表之條目以回應於一應用程式正被安裝。一應用程式套件被產生並儲存,其包括用於安裝該應用程式的指令及資料,並且該應用程式被註冊成為一驅動程式並具有與在該表中該條目相匹配的一識別碼。當在一預期的迭代中未檢測到該迭代通信時,一輸出被產生以指出該裝置係存在的。這導致該電腦電路320可以存取並執行在該應用程式套件中的該等指令做為用於該裝置的一驅動程式安裝。在一些實現方式中,該條目之後會從該表中被刪除或修改,諸如以指出該裝置係不存在的。
在一些實現方式中,該CRM 310用系統指令來被規劃,當該系統指令被執行時,會致使該電腦電路儲存表資料,該表資料指出對應於該應用程式之一已安裝的裝置,並重新安裝該應用程式以回應於一指示指出該已安裝裝置係存在的。在致使該電腦電路重新安裝該應用程式之後,指出該裝置被安裝的表資料會被移除。
圖4係根據本發明的一示意圖,其圖示出示出一實例非暫時性的CRM 410,其具有內儲的指令(可以由該電腦電路420來執行)用於重新安裝已經終止的應用程式。在方塊411,針對正在運行的應用程式,迭代通信被產生。這可以涉及,例如,產生迭代通信作為操作每一個應用程式的一部分,諸如藉由執行作為該等應用程式執行指令之一部分的指令,並且其可以識別出經由其該等通信被產生的該應用程式。在方塊412該等迭代通信被監視。在方塊413,基於該等迭代通信的持久性特徵,該等應用程式其中一個的終止被識別,並且回應於識別出該等應用程式其中那一個已終止操作,該等應用程式其中那一個在方塊414被重新安裝。這樣的持久性特徵可以包括,例如,該等迭代通信之一預期的周期性或非週期性的序列,或者在一預期的時間點上缺少此一種通信指出該應用程式的終止,因經由該應用程式該預期的通信序列已經被產生。
在圖4該環境中所表徵之以下的實例可以獨立於圖4來實現、伴隨其他附圖、或與附圖及其他方法的一種組合來實現。在一些實例中,如可被實現在該CRM 410上的指令,回應於正在該電腦電路上執行之該等應用程式中的一個,將致使該電腦電路420在可識別出裝置之一表中產生一條目,該條目對應到該等應用程式中之一個。回應於針對該等應用程式中那一個所產生之該等迭代通信的持久性特性指出該等迭代通信已經停止,該電腦電路420產生一輸出,其指出針對在該表中該條目的一裝置係存在的,其中進一步致使該電腦電路存取並執行與在該表中之該條目相對應的指令。例如,該輸出可被產生作為在該CRM 410之一非依電性部分上該BIOS或UEFI指令執行的一部分,這導致正在該電腦電路420上被執行之另一個應用程式存取及執行該等指令。
在另一實例中,該CRM 410包括指令,當該等指令由該電腦電路420執行時,致使該電腦電路在具有複數個可識別出裝置之條目的一表中產生一條目,產生並儲存包括有用於安裝該等應用程式其中那一個之該等指令及資料的應用程式套件,並把該等應用程式其中那一個註冊為具有與在該表中之該條目相匹配之識別碼的一驅動程式。該等指令進一步致使該電腦電路420可以,回應於針對該等應用程式其中那一個之該等迭代通信的停止,產生一輸出指出該裝置係存在的,從而致使該電腦電路可存取並執行在該應用程式套件中的該等指令作為用於該裝置的一驅動程式安裝。在一些實例中,該CRM 410包括非依電性記憶體及依電性記憶體,以及致使該電腦電路監視該等迭代通信的該等指令,以識別出該等應用程式其中一個已經終止操作並重新安裝被儲存在該非依電性記憶體中的該應用程式。
圖5係一示意圖,其圖示出一實例CRM 510,其具有內儲指令用於監視應用程式操作及重新開始已經停止操作的應用程式。該等指令可以,例如,在電腦電路520上被執行,以執行該等指出的操作。在方塊510,產生一可檢測的通信以用於識別出一應用程式並指出該應用程式正在運行。如果在方塊512判定該應用程式係不活動的/不運行的,則在方塊513重新啟動該應用程式,諸如藉由修復、重新啟動或重新安裝該應用程式。在一些實例中,該CRM 510儲存指令,當該指令被執行時,致使該電腦電路520產生並儲存一套件該套件包括有該應用程式的一副本以及包括安裝該應用程式之指令的一腳本、把該套件註冊為一驅動程式、以及藉由執行用來安裝該應用程式副本之該腳本來安裝該該應用程式的該新版本。
以下的實施例可以結合該等附圖中的一或多個來被實現;可以使用未在附圖中所示出之其他方法的方式來被實現;或以一種方面組合的方式來被實現,其中一些方面係被描繪在一個特定的附圖中而一些方面係被描繪在其他的附圖或其他的方面中。
在某些情況下,一應用程式被持續運作在一電腦作業系統(OS)上,並產生迭代安全通信給電腦韌體。可以使用BIOS或UEFI來實現該電腦韌體。一裝置條目可以在記錄裝置之一OS表中被產生,並具有經由一設置腳本之該正被安裝裝置所支援的電腦可讀取指令。例如,當該迭代通信失敗時,該BIOS或UEFI可以向該OS指出該裝置現在存在,作為回應,該OS會尋找一預裝的套件,該套件包含資訊,該資訊包括有與應正在運行之該持久性應用程式有關的一安裝腳本。該OS執行該安裝腳本,該腳本重新安裝並執行該應用程式。
可以藉由使用一基於硬體的事件來檢測該應用程式不再運行並且需要被重新安裝,並進一步要使得該應用程式再次地運行,以執行各種的方法。這樣的一事件可能涉及在一OS中監視該應用程式的運行,並回應於該監視指出該應用程式不再運行時重新注入該應用程式。例如,該應用程式可以在應用程式運行時產生一迭代通信,並且系統硬體可以監視該迭代通信的存在。如果本來預期要有的該迭代通信未被檢測到,會在硬體中檢測到該本要運行之應用程式的故障,並且該應用程式被重新安裝。例如,這可能涉及在電腦BIOS或UEFI中監視該迭代通信,並導致該應用程式將經由該BIOS或UEFI所產生的指令被重新安裝。
一些實例被導向到一應用程式,諸如一服務類的應用程式,其可以被設計來在電腦啟動時運行並且在該電腦運行時保持運行,諸如一防毒軟體、防火牆及其他與安全性相關的程式組件。這樣的一種應用程式可以執行與該BIOS或UEFI的安全通信,並定期地向該BIOS或UEFI發送一迭代通信以指出該應用程式正在運行。該迭代通信可以是一種類似心跳的通信,它以循環方式重複以指出該應用程式仍正在運行。該類似心跳之通信的消失可被使用作為指出該應用程式不再運行的一指示。
在某些實例中,一應用程式具有執行一隨插即用驅動程式安裝之必要的成分。當該應用程式開始運行時,例如在安裝或系統啟動時,該應用程式可能會產生其自身的一副本並使用OS基礎結構把它自己註冊為一驅動程式,並伴隨有用於執行該隨插即用驅動程式安裝的該等成分。該應用程式還可以指導一驅動程式從另一個來源安裝一新的應用程式。該OS可以產生有該應用程式及驅動程式成分的一套件,把該套件儲存在一驅動程式儲存庫中,並把該套件註冊為具有一識別碼(ID)的一資源套件,該識別碼與在一相關表中之一條目相匹配,該表儲存了已安裝應用程式的資訊指示。
在某些情況下,該表儲存有資料用於允許該OS發現及組配硬體組件,諸如一ACPI(高級組配及電源介面)表。由該OS所產生的該套件可以包含一腳本,該腳本判定欲運行該應用程式所需要的步驟及功能,諸如涉及命令參數、檔案夾產生、檔案夾及檔案權限組配、以及一相關聯檔案列表的那些步驟及功能。當該BIOS或UEFI檢測不到一迭代通信時,它可以向該OS指出現在存在有與在該表中所定義之該心跳相對應之任何的裝置。該裝置可以具有與在上述該應用程式驅動程式套件中所使用之ID相同的ID,並且該OS可以使用此ID在驅動程式儲存庫中查找驅動程式成分。一旦該OS找到與該ID匹配的一套件,便會使用在該套件中的該腳本來執行該安裝。由於該應用程式係該套件的一部分,因此該OS將執行該安裝並執行該應用程式。然後,該應用程式與該BIOS或UEFI重新建立一安全的連接,並再次開始產生該迭代通信。該BIOS或UEFI然後可以從該ACPI表中刪除該裝置。
可基於一所欲的監視方法及相關聯的定時努力來設置該等迭代通信的定時。例如,該定時可基於一特定應用程式之一假設的重要性以及於欲進行迭該代通信所需要之在功率與運算資源之間的相關權衡。被認為具有重要意義的應用程式,諸如與安全性相關的應用程式,可能會產生一類似心跳的通信,並且以一相對較高的速率來進行迭代,使得可以立即地檢測到它們的運行失敗。被認為具有相對較低重要性的應用程式,例如可能與一輔助功能有關的應用程式,可能涉及一較低的迭代速率。
在本文中的各種實例被表徵實現為儲存在一非暫時性CRM上的指令,可以被實現為包括有電腦電路的一裝置,該電腦電路具有包括非依電性記憶體電路的記憶體電路。該電腦電路將執行OS指令以操作被安裝在記憶體電路中的一應用程式,包括有產生一迭代心跳通信以指出該應用程式正在運行。該迭代通信可以,例如,包括可識別出安裝在記憶體中該應用程式的資料,並且可以以一循環為基礎來被產生。該非依電性記憶體電路係以系統指令來被規劃,當執行時,致使該電腦電路可檢測該迭代心跳通信的該存在,並且回應於當該迭代心跳通信未迭代時,重新安裝該應用程式。例如,當該電腦電路被啟動時、當該應用程式被安裝在該記憶體電路中時、或在該兩者時,用於啟動該應用程式的指令可被儲存在該記憶體電路中。
在本文的描述中,各種特定的細節被闡述以說明特定的實例。但是,在沒有全部實現該等給定的細節的情況下,其他實施例及/或這些的實例的變化可被實現。在其他實例中,特徵並未被詳細地描述,以免模糊了在本文中該等實例的描述。例如,各式各樣的電腦作業系統、硬體、BIOS或UEFI功能、以及記憶體類型可被利用來結合本文所表徵的實例。另外,儘管在某些情況下方面及特徵係在各別的附圖中被描述的,但是即使在文中並未明確地展示出或未明確地把其描述為一種組合,也可以把來自一個附圖或實例中的特徵與來自另一個附圖或實例的特徵進行組合。例如,可以結合在圖1所示的該裝置來實現各種基於方法的方面。作為另一個實例,在該等附圖中所表徵的各種電路方塊或模組可以被組合成為一共同的電路,或者可以利用分別的電路來被實現。
100:裝置 110,320,420,520:電腦電路 111,111A,112,113,114:App 115:心跳 120:BIOS區塊 122:持久性監視器 124:App注入 130:非依電性記憶體 132:作業系統 134,142:App套件 136:裝置表 140:依電性記憶體 205,310,410,510:非暫時性的CRM 210〜240,211〜213,231,232,311〜314,411〜414,512,513,521:方塊
考慮以下的詳細描述並結合該等附圖,各種實例可更全面性地被理解,其中:
圖1係根據本發明的一示意圖,其圖示出涉及應用程式之存在監視及重新安裝的一實例裝置;
圖2係根據本發明的一示意圖,其圖示出涉及應用程式之存在監視及重新安裝的一實例資料流程圖,並且該實例資料流程圖可被實現為一具有內儲指令之非暫時性的電腦可讀取媒體(CRM);
圖3係根據本發明的一示意圖,其圖示出示出一實例非暫時性的CRM,其具有儲存的指令用於基於迭代通信重新安裝應用程式;
圖4係根據本發明的一示意圖,其圖示出示出一實例非暫時性的CRM,其具有儲存的指令用於重新安裝已經終止的應用程式;以及
圖5係根據本發明的一示意圖,其圖示出一實例非暫時性的CRM,其具有儲存的指令用於監視應用程式的操作及重新開始已停止操作應用程式。
100:裝置
110:電腦電路
111,111A,112,113,114:App
115:心跳
120:BIOS
122:持久性監視器
124:App注入
130:非依電性記憶體
132:作業系統
134,42:App套件
136:裝置表
140:依電性記憶體

Claims (15)

  1. 一種非暫時性的電腦可讀取媒體(CRM),其具有儲存在其中的數個指令,回應於該等指令正在電腦電路上被執行,致使該電腦電路:操作被安裝在該CRM中的一應用程式以產生一迭代通信以指出該應用程式正在運行;檢測該迭代通信的存在;以及回應於在該迭代通信中的一中斷,重新安裝該應用程式。
  2. 如請求項1之非暫時性的電腦可讀取媒體,其中該等指令包括當被執行時致使該電腦電路進行以下動作之數個指令:在一表中產生一條目,其識別出對應於該應用程式的一裝置,以及回應於該迭代通信的中斷,產生指出該裝置係存在的一輸出,並且存取及執行對應於在該表中之該條目的數個指令。
  3. 如請求項1之非暫時性的電腦可讀取媒體,其中該等指令包括當被執行時致使該電腦電路進行以下動作之數個指令:回應於該應用程式正被安裝,在一表中產生識別出一裝置的一條目,產生並儲存包括有用於安裝該應用程式之該等指令及資料的一應用程式套件,並把該應用程式註冊為具有與在該表中之該條目相匹配之一識別碼的一驅動程式;以及回應於該迭代通信的中斷,產生指出該裝置係存在的一輸出,在其中致使該電腦電路存取及執行在該應用程式套件中的該等指令作為用於該裝置的一驅動程式安裝。
  4. 如請求項3之非暫時性的電腦可讀取媒體,其中該等指令包括數個指令,當其被執行時,致使該電腦電路可從該表中移除該條目。
  5. 如請求項3之非暫時性的電腦可讀取媒體,其中該等指令包括數個指令,當其被執行時,致使該電腦電路可修改在該表中的該條目以指出該裝置係不存在的。
  6. 如請求項1之非暫時性的電腦可讀取媒體,其中該等指令包括數個指令,當其被執行時,致使該電腦電路:儲存表資料,該資料指出對應於該應用程式之一已安裝的裝置;回應於指出該已安裝的裝置係存在的一指示,重新安裝該應用程式;以及在致使該電腦電路重新安裝該應用程式之後,移除指出該裝置被安裝的該表資料。
  7. 如請求項1之非暫時性的電腦可讀取媒體,其中該等指令包括數個指令,當其被執行時,致使該電腦電路把用於安裝該應用程式的數個指令儲存在記憶體電路中以回應於該電腦電路的啟動。
  8. 如請求項1之非暫時性的電腦可讀取媒體,其中該等指令包括數個指令,當其被執行時,致使該電腦電路把用於安裝應用程式的數個指令寫入到記憶體電路中以回應於該等應用程式正被安裝在該記憶體電路中。
  9. 一種非暫時性的電腦可讀取媒體,其具有儲存在其中的指令,回應於該等指令正在電腦電路上被執行,致使該電腦電路執行:產生一迭代通信以指出一應用程式正在運行;監視為該應用程式所產生的該迭代通信;基於該被監視之迭代通信的持久性特徵,識別出該應用程式已經終止操作;以及回應於識別出該應用程式已經終止操作,重新安裝該應用程式。
  10. 如請求項9之非暫時性的電腦可讀取媒體,其中該等指令回應於該等指令及該應用程式正在該電腦電路上被執行,將致使該電腦電路: 在識別出數個裝置的一表中產生一條目,該條目對應到該應用程式,以及回應於針對該應用程式所產生之該迭代通信的該持久性特性指出該等迭代通信已經停止,產生一輸出指出針對在該表中之該條目的一裝置係存在,在其中致使該電腦電路存取並執行對應到在該表中之該條目的數個指令。
  11. 如請求項9之非暫時性的電腦可讀取媒體,其中該等指令,回應於正被執行在該電腦電路上及該應用程式正被安裝,致使該電腦電路:在具有可識別出數個裝置之複數個條目的一表中產生一條目,產生並儲存包括有用於安裝該應用程式之該等指令及資料的一應用程式套件,並把該應用程式註冊成為具有與該表中之該條目相匹配的一識別碼的一驅動程式;以及回應於針對該應用程式之該迭代通信的停止,產生一輸出指出該裝置係存在,在其中致使該電腦電路存取並執行在該應用程式套件中的該等指令作為用於該裝置的一驅動程式安裝。
  12. 如請求項9之非暫時性的電腦可讀取媒體,其中該非暫時性的電腦可讀取媒體包括非依電性記憶體及依電性記憶體,並且其中致使該電腦電路監視該迭代通信、識別出該應用程式已經終止操作、以及重新安裝該應用程式的該等指令,被儲存在該非依電性記憶體中。
  13. 一種非暫時性的電腦可讀取媒體(CRM),其具有指令儲存在其中,回應於該等指令正在電腦電路上被執行,致使該電腦電路:基於作為應用程式操作之一部分之一可檢測通信的產生,判定一應用程式是否正由該電腦電路操作,該可檢測通信識別出該應用程式並指出該應用程式正在運行;以及回應於判定該應用程式係非活動的,重新啟動該應用程式的運行。
  14. 如請求項13之非暫時性的電腦可讀取媒體,其中該等指令將藉由致使該電腦電路安裝該應用程式的一新版本並且啟動該應用程式之該新版 本的操作來重新啟動該應用程式的該操作。
  15. 如請求項14之非暫時性的電腦可讀取媒體,其中該等指令回應於正在該電腦電路上被執行,將致使該電腦電路:產生並儲存一套件,該套件包含有該應用程式之一副本及一腳本,該腳本包括用於安裝該應用程式的數個指令;把該套件註冊成為一驅動程式;以及藉由執行用來安裝該應用程式之該副本的該腳本來安裝該應用程式的該新版本。
TW109115606A 2019-09-12 2020-05-11 應用程式存在之監視及重新安裝技術 TWI743780B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2019/050770 WO2021050069A1 (en) 2019-09-12 2019-09-12 Application presence monitoring and reinstllation
WOPCT/US19/50770 2019-09-12

Publications (2)

Publication Number Publication Date
TW202111518A TW202111518A (zh) 2021-03-16
TWI743780B true TWI743780B (zh) 2021-10-21

Family

ID=74866349

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109115606A TWI743780B (zh) 2019-09-12 2020-05-11 應用程式存在之監視及重新安裝技術

Country Status (5)

Country Link
US (1) US20220197623A1 (zh)
EP (1) EP4028877A4 (zh)
CN (1) CN114222972A (zh)
TW (1) TWI743780B (zh)
WO (1) WO2021050069A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4372549A1 (en) * 2022-09-28 2024-05-22 Samsung Electronics Co., Ltd. Electronic device for obtaining information used to compile application, and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120129503A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Management of Mobile Applications
US20130205276A1 (en) * 2011-04-06 2013-08-08 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US20140106799A1 (en) * 2011-06-23 2014-04-17 Geert Michel Maria Audenaert Communication Platform for Iterative Multiparty Convergence Towards a Microdecision
WO2016041866A1 (en) * 2014-09-17 2016-03-24 British Telecommunications Public Limited Company Communication set up process

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477663B1 (en) * 1998-04-09 2002-11-05 Compaq Computer Corporation Method and apparatus for providing process pair protection for complex applications
US6266781B1 (en) * 1998-07-20 2001-07-24 Academia Sinica Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US6711630B2 (en) * 2001-05-22 2004-03-23 Intel Corporation Method and apparatus for communicating with plug and play devices
EP1351145A1 (en) * 2002-04-04 2003-10-08 Hewlett-Packard Company Computer failure recovery and notification system
US20040153703A1 (en) * 2002-04-23 2004-08-05 Secure Resolutions, Inc. Fault tolerant distributed computing applications
TWI235299B (en) * 2004-04-22 2005-07-01 Univ Nat Cheng Kung Method for providing application cluster service with fault-detection and failure-recovery capabilities
US20110191627A1 (en) * 2010-01-29 2011-08-04 Maarten Koning System And Method for Handling a Failover Event
US8554957B1 (en) * 2010-02-24 2013-10-08 Open Invention Network, Llc Method for creation of device drivers and device objects for peripheral devices
US9348573B2 (en) * 2013-12-02 2016-05-24 Qbase, LLC Installation and fault handling in a distributed system utilizing supervisor and dependency manager nodes
US10298468B2 (en) * 2014-01-18 2019-05-21 Intel Corporation Provisioning persistent, dynamic and secure cloud services
US10089124B2 (en) * 2015-12-31 2018-10-02 International Business Machines Corporation Security application for a guest operating system in a virtual computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120129503A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Management of Mobile Applications
US20130205276A1 (en) * 2011-04-06 2013-08-08 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US20140106799A1 (en) * 2011-06-23 2014-04-17 Geert Michel Maria Audenaert Communication Platform for Iterative Multiparty Convergence Towards a Microdecision
WO2016041866A1 (en) * 2014-09-17 2016-03-24 British Telecommunications Public Limited Company Communication set up process

Also Published As

Publication number Publication date
EP4028877A4 (en) 2023-06-07
CN114222972A (zh) 2022-03-22
TW202111518A (zh) 2021-03-16
US20220197623A1 (en) 2022-06-23
WO2021050069A1 (en) 2021-03-18
EP4028877A1 (en) 2022-07-20

Similar Documents

Publication Publication Date Title
US9386079B2 (en) Method and system of virtual desktop infrastructure deployment studio
US10922413B2 (en) Methods and apparatus to apply a firmware update to a host processor
CN102736978B (zh) 一种检测应用程序的安装状态的方法及装置
US20180211046A1 (en) Analysis and control of code flow and data flow
US20170046152A1 (en) Firmware update
US20150261546A1 (en) Baseboard management controller and method of loading firmware
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
US10983877B1 (en) Backup monitoring with automatic verification
US8838952B2 (en) Information processing apparatus with secure boot capability capable of verification of configuration change
EP3029564B1 (en) System and method for providing access to original routines of boot drivers
US10514972B2 (en) Embedding forensic and triage data in memory dumps
CN113826072B (zh) 系统管理模式中的代码更新
TWI743780B (zh) 應用程式存在之監視及重新安裝技術
CN113946854B (zh) 一种文件访问控制方法、装置及计算机可读存储介质
US11354259B1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
RU2009105127A (ru) Изменения состояния среды для изменения функциональных возможностей
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
US20180239900A1 (en) Firmware module execution privilege
TW201337551A (zh) 取得觸發功能之指令的方法
US9588918B2 (en) Storage control devices and method therefor to invoke address thereof
TW201305842A (zh) 在儲存裝置上即時監控檔案系統以維護安全的方法與裝置
CN112199642A (zh) 一种安卓系统反调试的检测方法、移动终端及存储介质
TWI779515B (zh) 用於判定有無篡改統一可擴展韌體介面(uefi)之方法及系統、及相關非暫時性電腦可讀媒體