TW201624280A - 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復 - Google Patents

基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復 Download PDF

Info

Publication number
TW201624280A
TW201624280A TW105105491A TW105105491A TW201624280A TW 201624280 A TW201624280 A TW 201624280A TW 105105491 A TW105105491 A TW 105105491A TW 105105491 A TW105105491 A TW 105105491A TW 201624280 A TW201624280 A TW 201624280A
Authority
TW
Taiwan
Prior art keywords
application
resource access
resource
computer
events
Prior art date
Application number
TW105105491A
Other languages
English (en)
Other versions
TWI554875B (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 TW201624280A publication Critical patent/TW201624280A/zh
Application granted granted Critical
Publication of TWI554875B publication Critical patent/TWI554875B/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/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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本發明涉及基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復。本文描述了用於區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的技術。監視應用程式對資源的存取,並且記錄資源存取事件。利用電腦模式辨識技術,從所記錄的資源存取事件建立資源存取模式。若應用程式對資源的後續存取偏離所建立的模式,則基於偵測到的偏離向應用程式的使用者及/或管理員通知可能錯誤條件。此外,可以基於對錯誤的發生時間的時間接近度,將從所建立的資源存取模式偏離的資源存取事件的序列與錯誤條件相關聯,以提供關於錯誤的診斷資訊。

Description

基於資源存取模式預測、診斷應用程式故障並從應用程式 故障恢復 【交叉引用】
本申請案為於2010年12月27日申請的標題為「基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復」之美國申請案號12/978,663的接續案,表示地以參考方式於此併入整體。
本發明係關於基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復。
在電腦系統上執行的軟體應用程式可能由於各種原因而發生故障,諸如代碼錯誤、使用者錯誤、不正確的輸入資料、不可用資源等。該等應用程式故障可能會造成資料丟失和應用程式停機,並且可能引起與恢復應用程式和資料相關的成本和時間。可以預期在給定相同輸入、條件及/或情境的情況下,在共用環境中執行 或來自共用安裝的應用程式會遇到相同的故障。此舉可以是應用程式在虛擬應用程式環境中執行的情形。
應用程式虛擬化允許由電腦執行的軟體應用程式與電腦的硬體、作業系統(「OS」)和本端配置去耦。應用程式虛擬化可以消除對要在電腦上本端安裝、配置和維護應用程式的要求。作為替代,虛擬應用程式環境可以在電腦上執行並且跨過網路從集中維護在虛擬應用程式伺服器上的虛擬化應用程式套裝軟體串流傳送應用程式元件。
本文所做出的揭示正是對於該等和其他考慮而提出的。
本文描述了用於區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的技術。當應用程式執行在虛擬應用程式環境中時,虛擬化層或虛擬應用程式環境可以知曉並控制應用程式對資源的請求,諸如從資料檔案讀取、對註冊表項寫入等等。利用本文述及之技術,虛擬化層可以記錄對資源的存取,並隨時間建立資源使用的共用模式。一旦此種資源存取模式被建立,虛擬化層可以繼續監視應用程式對資源的使用並在模式改變時提供警告或警報。此種搶先警告可以向應用程式的使用者或管理員提供快速 採取診斷或校正動作的機會,從而減少、甚至防止停機和資料丟失。
應該意識到,應用程式通常具有向使用者或管理員顯示錯誤的手段,類似彈出式對話方塊或在應用程式或系統事件日誌中記錄的事件。然而,該等錯誤訊息的品質和利用可能隨應用程式不同而顯著改變。提供允許決定錯誤源的高品質錯誤訊息需要大量投入,而缺並非所有的軟體商皆作出了此種投入。利用本文述及之對資源的存取日誌以及所建立的共用模式來對哪些資源正被存取或就在錯誤條件之前模式如何改變進行關聯,可以允許使用者及/或管理員更快速地診斷應用程式故障並實現恢復動作,從而減少應用程式停機。
此外,由於虛擬化層知道應用程式對資源的所有使用,虛擬化層能夠記錄資源添加、修改或刪除以及在隨時間發生的該等資源修改中使用的資料。若應用程式故障,可以立即啟動應用程式的第二實例,並且可以重放資源修改和資料的日誌,從而使應用程式狀態剛好還原到剛好在應用程式第一實例故障之前的點。應用程式實例之間的此種快速容錯移轉(failover)可以限制進一步的停機。
根據實施例,監視在虛擬應用程式環境中執行的應用程式對資源的存取,並且將資源存取事件記錄在資源存取日誌中。利用電腦模式辨識技術,從所記錄的資源存取事件建立資源存取模式。若應用程式後續對 資源的存取偏離所建立的模式,則基於所偵測的偏離向應用程式的使用者及/或管理員通知可能的錯誤條件。
此外,可以基於錯誤條件發生時間的時間接近度,將從所建立的資源存取模式偏離的資源存取事件序列與錯誤條件相關聯,以向使用者及/或管理員提供關於錯誤的診斷資訊。最後,在應用程式故障以及隨後重啟應用程式的事件中,可以重放資源存取日誌中記錄的關於資料添加、修改和刪除的資源存取事件,以重建應用程式的應用程式狀態。
應該意識到,上述標的可被實現為電腦控制的裝置、電腦程序、計算系統或諸如電腦可讀取媒體等的製品。經由閱讀下面的詳細描述並審閱相關聯的附圖,該等及各種其他特徵將變得顯而易見。
提供本發明內容以便以簡化的形式介紹將在以下具體實施方式中進一步描述的一些概念。本發明內容並不意欲標識所要求保護的標的的關鍵特徵或必要特徵,亦不意欲將本概述用來限制所要求保護的標的的範圍。此外,所請求保護的標的不限於解決在本案的任一部分中提及的任何或所有缺點的實現。
100‧‧‧操作環境
102‧‧‧電腦
104‧‧‧應用程式
106‧‧‧虛擬應用程式環境
110‧‧‧網路
112‧‧‧虛擬應用程式伺服器
114‧‧‧虛擬化應用程式套裝軟體
116‧‧‧虛擬化層
118A‧‧‧本端資源
118B‧‧‧遠端資源
120‧‧‧資源應用程式設計介面(API)
122‧‧‧作業系統
124‧‧‧資源存取日誌
126‧‧‧資源存取事件
128‧‧‧資源存取模式
130‧‧‧資源寫入資料
200‧‧‧常式
202‧‧‧操作
204‧‧‧操作
206‧‧‧操作
208‧‧‧操作
300‧‧‧常式
302‧‧‧操作
304‧‧‧操作
306‧‧‧操作
308‧‧‧操作
400‧‧‧常式
402‧‧‧操作
404‧‧‧操作
406‧‧‧操作
408‧‧‧操作
500‧‧‧電腦
502‧‧‧中央處理單元
504‧‧‧匯流排
506‧‧‧網路介面單元
508‧‧‧系統記憶體
510‧‧‧大型儲存區設備
512‧‧‧輸入/輸出控制器
514‧‧‧隨機存取記憶體
516‧‧‧唯讀記憶體
圖1是圖示由本文呈現的實施例所提供的說明性操作環境和若干軟體元件的多態樣的方塊圖; 圖2-4是圖示根據本文所述實施例用於區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的方法的流程圖;及圖5是圖示能夠實現本文呈現的實施例的多態樣的計算系統的說明性電腦硬體和軟體體系結構的方塊圖。
以下詳細描述涉及用於基於資源存取的模式來區分應用程式的正常操作與錯誤條件以便預測、診斷應用程式故障及/或從應用程式故障恢復的技術。儘管在結合電腦系統上的作業系統和應用程式的執行而執行的程式模組的一般上下文中呈現了本文描述的標的,但是本領域技藝人士將認識到,其他實現可以結合其他類型的程式模組來執行。一般而言,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、元件、資料結構和其他類型的結構。此外,本領域技藝人士將明白,可以利用其他電腦系統組態來實施本文描述的標的,該等電腦系統組態包括掌上型設備、多處理器系統、基於微處理器的或可程式設計消費電子產品、小型電腦、大型電腦等等。
在以下詳細描述中,參考了構成一部分並作為說明示出各具體實施例或實例的附圖。在附圖中,在全部若干附圖中相似的元件符號表示相似的元件。
圖1圖示根據本文所提供實施例說明性操作環境100,包括用於區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的若干軟體元件。環境100包括電腦102。電腦102可以是伺服器電腦;個人電腦(「PC」),諸如臺式工作站、膝上型電腦或筆記型電腦;個人數位助理(「PDA」);無線電話;機上盒;遊戲控制台;或可以執行應用程式的任何其他計算設備。
軟體應用程式104在電腦102上執行。根據實施例,應用程式104可以在虛擬應用程式環境106內執行。虛擬應用程式環境106可允許電腦102啟動並執行之前尚未安裝在電腦上的應用程式。虛擬應用程式環境106可以改為經由網路110即時地或近乎即時地從虛擬應用程式伺服器112串流傳送應用程式104的元件。虛擬應用程式環境106和虛擬應用程式伺服器112可以基於來自華盛頓州雷蒙德市微軟公司的MICROSOFT®APP-V技術、來自佛羅里達州勞德代爾堡市的CITRIX SYSTEMS有限公司的CITRIX XENAPPTM技術或任何其他應用程式串流傳送和虛擬化平臺或技術。網路110可以是LAN、廣域網(「WAN」)、網際網路或將電腦102連接到虛擬應用程式伺服器112的任何其他網路連接拓撲。
應用程式104的軟體元件可被儲存在位於虛擬應用程式伺服器112可存取的儲存裝置上的虛擬化應 用程式套裝軟體114中。根據實施例,虛擬化應用程式套裝軟體114由多個資料區塊組成,資料區塊包含應用程式結構資訊以及各個元件檔和應用程式的其他元件。虛擬化應用程式套裝軟體114亦可包括與由應用程式104在執行期間利用的本端和遠端資源的位置和配置相關的元資料。虛擬化應用程式套裝軟體114可以由應用程式104的管理員藉由在管理伺服器上執行應用程式的典型安裝並記錄對如本端檔案系統、註冊表等等作出的改變來建立。虛擬化應用程式套裝軟體114中的區塊隨後被串流傳送到虛擬應用程式環境106以允許應用程式104在電腦102上執行。
虛擬應用程式環境106可以建立單獨的虛擬執行時環境(被稱為「應用程式沙箱(application sandbox)」)以執行從虛擬應用程式伺服器112串流傳送的每個應用程式104。應用程式沙箱允許應用程式104的元件與系統的其餘部分隔離地執行。虛擬應用程式環境106亦可以提供提取對由應用程式104在執行期間利用的本端資源118A和遠端資源118B(本文中被統稱為資源118)的存取的虛擬化層116。資源118可以包括在電腦102本端可用或跨過網路110遠端可用的系統記憶體、本端處理器時間或處理線程、儲存在檔案系統中的檔、儲存在註冊表資料庫中的資料、應用程式服務、演示服務、資料庫服務等等。
應用程式104可以經由由安裝在電腦102上的作業系統122或其他標準軟體庫實現的資源應用程式設計介面(API)120來存取本端和遠端資源118。根據實施例,虛擬化層116提取資源API 120以便監視和控制由在虛擬應用程式環境106中執行的應用程式104對本端和遠端資源118的存取請求。此外,虛擬化層116可以將應用程式104對資源118的存取記錄在資源存取日誌124中。資源存取日誌124可以包括本端檔案系統中的日誌檔、遠端資料庫伺服器上的多個資料庫表、兩者的組合或可由電腦102存取的任何其他資料儲存系統。
資源存取日誌124可以包含資源存取事件126的日誌。資源存取事件126可以包括由在虛擬應用程式環境106中執行的應用程式104作出的、對資源API 120的呼叫的細節。資源存取事件126的每一個可以包括指示資源存取何時發生的時間戳記、所呼叫的各個資源API 120的辨識符以及指示正被存取的本端或遠端資源118的資源類型、位置或其他態樣的多個參數值。資源存取事件126可以被儲存為日誌檔中的條目、資料庫表中的行、字典(dictionary)中的物件或者以本領域中已知的任何其他資料結構或格式來儲存。
在一個實施例中,資源存取日誌124亦包含資源存取模式128。資源存取模式128可以包括定期發生的應用程式104的資源存取模式。例如,應用程式104 可以在時間T1讀取特定註冊表項,隨後在時間T1+240msec(毫秒)對位於遠端檔案系統的特定檔進行寫入。此外,讀取註冊表項並寫入檔的此一模式可以例如回應於特定事件或條件、週期性地或者在一天的特定的時間發生多於一次。資源存取模式128可以在特定API呼叫之間、在對特定資源的API呼叫之間或者對特定量的資源(諸如所分配的記憶體量或所啟動的線程數量)的API呼叫之間建立。
資源存取模式128可以從使用模式辨識技術在某時段收集的資源存取事件126建立。例如,事件類型的子集可被決定為重要,並且可以利用貝氏學習技術來在收集時段內的該等類型的資源存取事件126上建立資源存取模式128。所產生的資源存取模式128可被儲存為例如瑪律可夫鏈或概率樹,指示資源存取事件之間的相對發生概率。
根據一個實施例,資源存取模式128可以在與應用程式104的執行並行的後臺程序中,根據資源存取事件126的日誌在電腦上近乎即時地產生。在另一實施例中,由在虛擬應用程式環境106中執行應用程式104的多個電腦102上的虛擬化層116記錄的資源存取事件126可被聚集到中央位置。可以藉由例如移除電腦相關的資源路徑來泛化(genericize)所聚集的事件資料,並且可以從所聚集和泛化的事件資料來建立資源存取模式128。隨後可以將所產生的資源存取模式128發 送到執行應用程式104的每個電腦102以便在預測應用程式故障時利用模式,如以下參照圖2更詳細描述。
在另一實施例中,資源存取日誌124亦包含資源寫入資料130。資源寫入資料130可以包含由應用程式104呼叫添加、修改或刪除資料的資源API 120的日誌,諸如註冊表值寫入或I/O緩衝器寫入。資源寫入資料130可以包含來自指標或結構-類型參數的「深複製(deep copy)」以便包括正在寫入的資料。此外,可以使用執行應用程式104的當前上下文,泛化任何檔案名、鍵名、位址或其他位置參數。應該明白,可以將資源寫入資料130和資源存取事件126集成為資源存取日誌124的單個日誌檔或其他結構。在從應用程式故障恢復期間,可以利用資源寫入資料130還原應用程式104的應用程式狀態,如以下參照圖4更詳細描述。
現在參照圖2-4,提供關於本文所呈現實施例的附加細節。應該明白,針對圖2-4述及之邏輯操作被實現為(1)在計算系統上執行的電腦實現動作序列或程式模組序列及/或(2)計算系統內的互連機器邏輯電路或電路模組。取決於計算系統的效能及其他要求,可以選擇不同的實現。因此,本文所描述的邏輯操作被不同地稱為操作、結構設備、動作或模組。該等操作、結構設備、動作和模組可以用軟體、韌體、專用數位邏輯及所述之任何組合來實現。亦應該明白,可以執行比附 圖中圖示並在本文描述的操作更多或更少的操作。該等操作亦可按與所述次序不同的次序來執行。
圖2圖示根據本文述及之實施例、基於從所建立資源存取模式的偏離預測應用程式104中可能的錯誤條件的常式200。常式200可以由在電腦102上虛擬應用程式環境106中執行的虛擬化層116及/或在電腦上或在集中應用程式伺服器上執行的其他模組的組合來執行。可以明白,常式200亦可由在其他計算設備上執行的其他模組或元件執行,或者由模組、元件和計算設備的任何組合來執行。
常式200在操作202開始,其中虛擬化層116監視在虛擬應用程式環境106中執行的應用程式104對本端和遠端資源118的存取,並將該等存取記錄到資源存取日誌124。如以上參照圖1所述,虛擬化層116可以記錄應用程式104對資源API 120的呼叫的細節作為資源存取事件126,包括指示資源存取何時發生的時間戳記、所呼叫的各個資源API的辨識符以及指示正被存取的本端或遠端資源118的資源類型、位置或其他態樣的多個參數值。
從操作202,常式200前進到操作204,其中建立資源存取模式128。應該明白,在某一時段上,大量資源存取事件126可被虛擬化層116記錄在資源存取日誌124中。如上參照圖1所述,虛擬化層116或一些其他模組或程序可以利用所記錄的資源存取事件126建 立資源存取模式128。例如,虛擬化層116可以利用諸如貝氏網路之類的模式辨識技術來建立兩個或更多個資源存取事件之間的相對發生概率。所建立的資源存取模式128隨後可以作為瑪律可夫鏈或概率樹被儲存在資源存取日誌124中。
資源存取模式128可由虛擬化層116在電腦102上近乎即時地產生。或者,所記錄的資源存取事件126可以從多個電腦102聚集到中央位置,被泛化並用於在跨各個電腦的虛擬應用程式環境106中執行的應用程式104的多個實例上建立資源存取模式128。從所聚集的資源存取事件126建立的一般資源存取模式128隨後可以用於經由本文述及之方式預測執行應用程式104的任何電腦102上的錯誤條件。
常式200從操作204前進到操作206,其中虛擬化層116偵測到在虛擬應用程式環境106中執行的應用程式104從所建立的資源存取模式128的偏離。例如,虛擬化層116可以基於資源存取模式128的貝氏分析,偵測發生概率低於指定閾值的資源API呼叫的序列。類似地,虛擬化層116可以偵測具有如資源存取模式128中所建立的帶有已知錯誤條件的高發生概率的資源API呼叫的序列。在一個實施例中,若資源API呼叫的序列的概率不落在指定閾值之下,則虛擬化層116記錄相應的資源存取事件126,使得可以在如上述及之後臺程序中用新概率來更新資源存取模式128。如此,應 用程式104在虛擬應用程式環境106中執行期間,資源存取模式128可以得到持續的更新。
若偵測到應用程式104從所建立的資源存取模式128偏離,則常式200從操作206前進到操作208,其中虛擬化層116發出關於模式偏離的警報。該警報可被引導到應用程式104的使用者或管理員。該警報可以經由電子郵件、文字簡訊或系統訊息佇列發送;作為系統級事件發出;被記錄在應用程式或系統事件日誌中;或者以其他方式經由電腦102可存取的通信報系統發送給管理員。此種搶先警報可以向管理員給予快速採取診斷或校正動作的機會,從而減少或可能防止緊隨可能的、即將發生的錯誤條件之後的停機和資料丟失。從操作208,常式200結束。
圖3圖示根據本文所述實施例的用於將資源存取事件126與應用程式104中已知錯誤條件相關聯以允許錯誤診斷的常式300。常式300可以由在電腦102上虛擬應用程式環境106中執行的虛擬化層116及/或在電腦上或在集中應用程式伺服器上執行的其他模組的組合來執行。可以明白,常式300亦可由在其他計算設備上執行的其他模組或元件執行,或者由模組、元件和計算設備的任何組合來執行。
常式300在操作302開始,其中經由以上針對操作202述及之方式,虛擬化層116監視在虛擬應用程式環境106中執行的應用程式104對本端和遠端資源 118的存取,並將該等存取記錄到資源存取日誌124中。常式300前進到操作304,其中應用程式104中的錯誤條件被偵測到。例如,可以由應用程式的使用者或管理員經由一般手段(諸如彈出式錯誤對話方塊、記錄在應用程式或系統事件日誌中的事件等)在應用程式104中偵測到錯誤條件。
從操作304,常式300前進到操作306,其中將資源存取日誌124中的資源存取事件126與偵測到的錯誤條件相關聯。管理員可以提供錯誤條件的發生時間,或者錯誤條件的發生時間可以從記錄在資源存取事件126中的對資源API 120的特定呼叫來標識。虛擬化層116或其他模組隨後可以標識資源存取日誌124中在錯誤條件發生時間的一時間接近度內的資源存取事件126的子集。例如,可以將在錯誤條件之前10秒訊窗內發生的所有資源存取事件126與該錯誤條件相關聯。
在一個實施例中,僅將在錯誤條件的一時間接近度內從所建立的資源存取模式128偏離的資源存取事件126中記錄的資源API呼叫的序列與錯誤條件相關聯。例如,虛擬化層116或其他模組可以基於對資源存取日誌124中資源存取模式128的貝氏分析,標識在錯誤條件發生時間10秒內、發生概率低於指定閾值的資源存取事件126中記錄的資源API呼叫的序列。應該明白,用於將資源存取模式128中的偏離與錯誤條件相關聯的指定概率閾值可以高於如上針對操作206述及之用 於基於資源存取模式中的偏離來預測錯誤條件的概率閾值。
常式300從操作306前進到操作308,其中向應用程式104的使用者或管理員示出與錯誤條件相關聯的資源存取事件126。所關聯的資源存取事件126可以經由使用者介面對話方塊示出或者在經由電子郵件、文字簡訊、系統訊息序列等發送的報告中示出。從資源存取日誌124提供在時間上與特定錯誤條件相關聯的資源存取事件126可以允許使用者或管理員快速診斷錯誤條件的起因並且實現適當的恢復動作以便減少停機和資料丟失。從操作308,常式300結束。
圖4圖示根據本文所述實施例的用於從應用程式104中的錯誤條件恢復的常式400。常式400可以由在電腦102上虛擬應用程式環境106中執行的虛擬化層116及/或在電腦上或在集中應用程式伺服器上執行的其他模組的組合來執行。可以明白,常式400亦可由在其他計算設備上執行的其他模組或元件執行,或者由模組、元件和計算設備的任何組合來執行。
常式400在操作402開始,其中經由以上針對操作202述及之方式,虛擬化層116監視在虛擬應用程式環境106中執行的應用程式104對本端和遠端資源118的存取,並將該等存取記錄到資源存取日誌124。此外,如以上參照圖1所述,虛擬化層116對於應用程式104對添加、修改或刪除資料的的資源API 120的呼 叫,記錄資源寫入資料130。資源寫入資料130可以包括來自API呼叫中指定的指標或結構-類型參數的深複製,並且可以使用執行應用程式104的當前上下文對該資料進一步處理以泛化資源寫入資料130中的檔案名、鍵名、位址或其他位置參數。
從操作402,常式400前進到操作404,其中應用程式104因錯誤條件而發生故障。例如,應用程式104可能由於軟體錯誤(bug)、使用者錯誤、不正確的輸入資料、不可用資源、電腦102中的硬體故障等而發生故障。在應用程式104故障時,常式400移動到操作406,其中應用程式104重啟。應用程式104可以由虛擬化層116或在電腦102上執行的另一模組自動重啟,或者應用程式104可以由相同電腦或具有類似配置的另一電腦系統上的系統管理員手動重啟。
常式400從操作406前進到操作408,其中在電腦102上虛擬應用程式環境106(其中重啟應用程式104)中執行的虛擬化層116重放記錄在資源存取日誌124中的特定資源存取事件126,以便將應用程式狀態還原到故障發生之前的點。例如,虛擬化層116可以重放與對寫入到諸如系統記憶體位址、I/O緩衝器、快取記憶體檔等的揮發性或快取記憶體儲存位置的資源API 120的呼叫相對應的所有資源存取事件126。
在另一實施例中,虛擬化層116可以重放與自應用程式故障之前由虛擬化層及/或應用程式104採 取並儲存應用程式狀態的最後快照或「檢查點」以來發生的資料寫入相對應的所有資源存取事件126。虛擬化層116可以利用資源存取日誌124中的資源寫入資料130來重放所選資源存取事件126,以便於確保在還原應用程式狀態時寫入正確資料。記錄添加、修改或刪除資料的資源存取事件126以及相應的資源寫入資料130以便重放寫入來還原應用程式狀態,可以允許從應用程式故障更快恢復,從而減少應用程式停機。從操作408,常式400結束。
雖然在虛擬化應用程式環境106的上下文中描述本案,但是應該明白,本文所呈現的用於區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的方法可以在其中可以監視應用程式104對本端和遠端資源118的存取的任何其他應用程式環境中實現。例如,與虛擬化層116類似的模組可被實現成利用本領域已知方法來勾連由作業系統122實現的資源API 120,以便監視由在虛擬應用程式環境106外的本端執行的應用程式104對本端和遠端資源118的請求。該模組可記錄對資源的存取並且建立應用程式104的資源使用的共用模式。一旦此種資源存取模式被建立,該模組可以經由本文述及之方式繼續監視應用程式104對資源的使用並在模式改變時提供警告或警報。
圖5圖示電腦500的示例性電腦體系結構,該電腦能夠執行本文述及之用於經由以上呈現的方式區分應用程式的正常操作與錯誤條件以預測、診斷應用程式故障並從應用程式故障恢復的軟體元件。圖5所圖示的電腦體系結構示出一般伺服器電腦、桌上型電腦、膝上型電腦、筆記型電腦、PDA、無線電話或其他計算設備,並可以用來執行本文呈現的被描述為在電腦102或其他計算設備上執行的軟體元件的任何態樣。
圖5所圖示的電腦體系結構包括一或多個中央處理單元(「CPU」)502。CPU 502可以是執行電腦500的操作所需的算術和邏輯操作的標準處理器。CPU 502藉由從一個個別的實體狀態轉換到下一狀態來執行必要的操作,該轉換是經由操縱在各狀態之間進行區別並改變該等狀態的切換元件來實現的。切換元件一般可包括維持兩個二進位狀態之一的電子電路,諸如觸發器,以及基於一或多個其他切換元件的狀態的邏輯組合來提供輸出狀態的電子電路,諸如邏輯閘。該等基本切換元件可被組合以建立更複雜的邏輯電路,包括暫存器、加減器、算數邏輯單位、浮點單元和其他邏輯元件。
該電腦體系結構亦包括含有隨機存取記憶體(「RAM」)514和唯讀記憶體516(「ROM」)的系統記憶體508以及將記憶體耦合至CPU 502的系統匯流排504。基本輸入/輸出系統被儲存在ROM 516 中,該系統包含說明諸如在啟動期間在電腦500中的元件之間傳遞資訊的基本常式。電腦500還包括用於儲存作業系統122、應用程式和其他程式模組的大型儲存區設備510,此內容將在本文中更為詳盡地描述。
大型儲存區設備510經由連接至匯流排504的大型儲存區控制器(未圖示)連接到CPU 502。大型儲存區設備510為電腦500提供非揮發性儲存。電腦500可藉由變換大型儲存區設備510的實體狀態來反映被儲存的資訊來將資訊儲存在該設備上。在本說明書的不同實現中,實體狀態的具體變換可取決於各種因素。該等因素的實例可以包括,但不僅限於:用於實現大型儲存區設備的技術,大型儲存區設備被表徵為主儲存還是輔儲存等等。
例如,電腦500可藉由向大型儲存區控制器發出以下指令來將資訊儲存到大型儲存區設備510:變更磁碟機內的特定位置的磁特性;變更光儲存裝置中的特定位置的反射或折射特性;或變更固態儲存裝置中的特定電容、電晶體或其他個別元件的電特性。在不背離本發明的範圍和精神的情況下,實體媒體的其他變換是可能的。電腦500亦可藉由偵測大型儲存區設備內的一或多個特定位置的實體狀態或特性來從大型儲存區設備510讀取資訊。
如上簡述,多個程式模組和資料檔案可儲存在電腦500的大型儲存區設備510和RAM 514中,包括 適用於控制電腦的操作的作業系統518。大型儲存區設備510和RAM 514亦可儲存一或多個程式模組。具體而言,大型儲存區設備510和RAM 514可儲存虛擬化層116,此內容曾在上文中參照圖1更詳細地描述過。大型儲存區設備510和RAM 514亦可儲存其他類型的程式模組或資料。
除了上述大型儲存區設備510之外,電腦500能夠存取其他電腦可讀取媒體以儲存和取得資訊,諸如程式模組、資料結構或其他資料。本領域技藝人士應該明白,電腦可讀取媒體可以是電腦500可存取的任何可用媒體,包括電腦可讀取儲存媒體和通訊媒體。通訊媒體包括暫態信號。電腦可讀取儲存媒體包括以儲存如電腦可讀取指令、資料結構、程式模組或其他資料等資訊的任何方法或技術實現的揮發性和非揮發性、可移除和不可移除媒體。例如,電腦可讀取儲存媒體包括但不限於,RAM、ROM、EPROM、EEPROM、快閃記憶體或其他固態記憶體技術,CD-ROM、數位多功能光碟(DVD)、HD-DVD、藍光或其他光學儲存、磁帶盒、磁帶、磁片儲存或其他磁儲存裝置,或可以用來儲存所需資訊並可由電腦500存取的任何其他媒體。
電腦可讀取儲存媒體可以用在被載入到電腦500中時可將電腦系統從通用計算系統變換成能夠實現本文描述的實施例的專用電腦的電腦可執行指令來編碼。電腦可執行指令可藉由變更電腦可讀取儲存媒體中 的特定位置的電、光、磁或其他物理特性來在該媒體上編碼。該等電腦可執行指令藉由如上所述地指定CPU 502如何在各狀態之間轉換來變換電腦500。根據一個實施例,電腦500可以存取儲存電腦可執行指令的電腦可讀取儲存媒體,當由電腦執行時,該指令執行如上參照圖2-4述及之用於將應用程式的正常操作與錯誤條件相區別以預測、診斷應用程式故障並重啟恢復的常式200、300及/或400。
根據各種實施例,電腦500可使用經由網路110到遠端計算設備和電腦系統的邏輯連接在網路連接環境中操作,所述網路諸如LAN、WAN、網際網路或本領域已知的任何拓撲結構的網路。電腦500可以經由連接到匯流排504的網路介面單元506連接到網路110。應當理解,網路介面單元506亦可以被用來連接到其他類型的網路和遠端電腦系統。
電腦500亦可包括用於接收和處理來自包括鍵盤、滑鼠、觸摸墊、觸控式螢幕、電子觸控筆或其他類型的輸入裝置等多個輸入裝置的輸入的輸入/輸出控制器512。類似地,輸入/輸出控制器512可向諸如電腦監視器、平板顯示器、數位投影儀、印表機、繪圖器或其他類型的輸出設備等顯示裝置提供輸出。可以明白,電腦500可以不包括圖5所圖示的全部元件,可以包括未在圖5中明確圖示的其他元件,或者可使用完全不同於圖5所圖示的體系結構。
基於上文,應該明白,本文提供用於將應用程式的正常操作與錯誤條件相區別以預測、診斷應用程式故障並從應用程式故障恢復的技術。雖然以電腦結構特徵、方法動作以及電腦可讀取儲存媒體專用的語言描述了本文呈現的標的,但是應該理解,在所附申請專利範圍中所限定的本發明不一定僅限於本文描述的具體特徵、動作或媒體。相反,該等具體特徵、動作和媒體是作為實現申請專利範圍的示例性形式來揭示的。
上述標的僅作為說明提供,並且不應被解釋為限制。可對本文述及之標的作出各種修改和改變,而不必遵循所示和述及之示例性實施例和應用,且不背離所附申請專利範圍中述及之本發明的真正精神和範圍。
100‧‧‧操作環境
102‧‧‧電腦
104‧‧‧應用程式
106‧‧‧虛擬應用程式環境
110‧‧‧網路
112‧‧‧虛擬應用程式伺服器
114‧‧‧虛擬化應用程式套裝軟體
116‧‧‧虛擬化層
118A‧‧‧本端資源
118B‧‧‧遠端資源
120‧‧‧資源應用程式設計介面(API)
122‧‧‧作業系統
124‧‧‧資源存取日誌
126‧‧‧資源存取事件
128‧‧‧資源存取模式
130‧‧‧資源寫入資料

Claims (20)

  1. 一種電腦實現方法,該方法包括以下步驟:在一個或更多個硬體處理器上在一虛擬環境中經由一虛擬化層執行一應用程式;偵測來自該應用程式的請求以存取資源;在一資源存取日誌中記錄(log)由該應用程式發起的資源存取事件;及藉由重放來自該資源存取日誌的該等資源存取事件的一部分,還原該應用程式的一應用程式狀態。
  2. 如請求項1所述之電腦實現方法,其中來自該資源存取日誌的該等資源存取事件的該部分包括:自從採取該應用程式狀態的一最後檢查點以來發生的一個或更多個資源存取事件。
  3. 如請求項1所述之電腦實現方法,其中來自該資源存取日誌的該等資源存取事件的該部分包括:在該應用程式的一應用程式故障之前發生的一個或更多個資源存取事件。
  4. 如請求項1所述之電腦實現方法,其中來自該資源存取日誌的該等資源存取事件的該部分包括:自從採取該應用程式狀態的一最後檢查點以來且在該應用程式故障之前發生的一個或更多個資源存取事件。
  5. 如請求項4所述之電腦實現方法,進一步包括以下步驟:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,識別該應用程式故障。
  6. 如請求項1所述之電腦實現方法,進一步包括以下步驟:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,識別該應用程式的一應用程式故障,該偏離包括具有與一已知錯誤條件的一相關聯性的一序列資源存取事件。
  7. 一種用電腦可執行指令編碼的電腦可讀取儲存裝置,該等指令在由一電腦執行時使得該電腦執行以下動作:在該電腦上在一虛擬應用程式環境中執行的一虛擬化層中執行一應用程式;偵測來自該應用程式的請求以存取資源;在一資源存取日誌中記錄由該應用程式發起的資源存取事件;及藉由重放來自該資源存取日誌的該等資源存取事件的一部分,還原該應用程式的一應用程式狀態。
  8. 如請求項7所述之電腦可讀取儲存裝置,其中來自該資源存取日誌的該等資源存取事件的該部分包括一個或更多個資源存取事件,該一個或更多個 資源存取事件對應於將資料寫入快取儲存位置的對資源應用程式介面(API)的呼叫。
  9. 如請求項7所述之電腦可讀取儲存裝置,其中來自該資源存取日誌的該等資源存取事件的該部分包括一個或更多個資源存取事件,其中該一個或更多個資源存取事件對應於將資料寫入快取儲存位置的對資源應用程式介面(API)的呼叫,且其中對該等資源API的該等呼叫係自從採取該應用程式狀態的一最後檢查點以來才發生。
  10. 如請求項7所述之電腦可讀取儲存裝置,其中來自該資源存取日誌的該等資源存取事件的該部分包括一個或更多個資源存取事件而對應於在該應用程式的一應用程式故障之前發生的一資料寫入。
  11. 如請求項7所述之電腦可讀取儲存裝置,其中來自該資源存取日誌的該等資源存取事件的該部分包括一個或更多個資源存取事件,而對應於將資料寫入快取儲存位置的對資源應用程式介面(API)的呼叫,且其中對該等資源API的該等呼叫係自從採取該應用程式狀態的一最後檢查點以來且在該應用程式的一應用程式故障之前才發生。
  12. 如請求項7所述之電腦可讀取儲存裝 置,其中該電腦進一步經配置以:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,來識別該應用程式的一應用程式故障。
  13. 如請求項7所述之電腦可讀取儲存裝置,其中該電腦進一步經配置以:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,來識別該應用程式的一應用程式故障,該偏離包括具有與一已知錯誤條件的一相關聯性的一序列資源存取事件。
  14. 如請求項13所述之電腦可讀取儲存裝置,其中該電腦進一步經配置以:決定該序列資源存取事件具有低於一指定閾值的一發生概率。
  15. 一種系統,包括:一硬體處理器;及一電腦可讀取儲存媒體,該電腦可讀取儲存媒體具有儲存於該電腦可讀取儲存媒體中的指令,該等指令在由該硬體處理器執行時使得該硬體處理器執行以下動作:提供建立於該硬體處理器上的一虛擬應用程式環境且經配置以執行一虛擬化層;至少部分基於該虛擬化層,在一虛擬應用程式環境中執行一應用程式; 偵測來自該應用程式的請求以存取資源;在一資源存取日誌中記錄由該應用程式發起的資源存取事件;及藉由重放來自該資源存取日誌的該等資源存取事件的一部分,還原該應用程式的一應用程式狀態。
  16. 如請求項15所述之系統,其中來自該資源存取日誌的該等資源存取事件的該部分包括:自從採取該應用程式狀態的一最後檢查點以來發生的一個或更多個資源存取事件。
  17. 如請求項15所述之系統,其中來自該資源存取日誌的該等資源存取事件的該部分包括:在該應用程式的一應用程式故障之前發生的一個或更多個資源存取事件。
  18. 如請求項15所述之系統,其中來自該資源存取日誌的該等資源存取事件的該部分包括:自從採取該應用程式狀態的一最近檢查點以來且在該應用程式的一應用程式故障之前發生的一個或更多個資源存取事件。
  19. 如請求項15所述之系統,其中該硬體處理器進一步經配置以:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,識別該應用程式的一應用程式故障。
  20. 如請求項15所述之系統,其中該硬體處理器進一步經配置以:藉由偵測從該資源存取日誌的一分析所建立的資源存取模式的一偏離,識別該應用程式的一應用程式故障,該偏離包括具有與一已知錯誤條件的一相關聯性的一序列資源存取事件。
TW105105491A 2010-12-27 2011-11-22 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復 TWI554875B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/978,663 US9189308B2 (en) 2010-12-27 2010-12-27 Predicting, diagnosing, and recovering from application failures based on resource access patterns

Publications (2)

Publication Number Publication Date
TW201624280A true TW201624280A (zh) 2016-07-01
TWI554875B TWI554875B (zh) 2016-10-21

Family

ID=46318520

Family Applications (2)

Application Number Title Priority Date Filing Date
TW100142750A TWI546659B (zh) 2010-12-27 2011-11-22 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復
TW105105491A TWI554875B (zh) 2010-12-27 2011-11-22 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW100142750A TWI546659B (zh) 2010-12-27 2011-11-22 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復

Country Status (6)

Country Link
US (3) US9189308B2 (zh)
EP (1) EP2659371B1 (zh)
JP (1) JP5925803B2 (zh)
ES (1) ES2734305T3 (zh)
TW (2) TWI546659B (zh)
WO (1) WO2012092124A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI723477B (zh) * 2019-07-25 2021-04-01 宜鼎國際股份有限公司 電子設備、可遠端維護電子設備運作的系統及方法
TWI789075B (zh) * 2021-10-26 2023-01-01 中華電信股份有限公司 偵測應用程式的異常執行的電子裝置及方法

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656226B1 (en) * 2011-01-31 2014-02-18 Open Invention Network, Llc System and method for statistical application-agnostic fault detection
US9189308B2 (en) 2010-12-27 2015-11-17 Microsoft Technology Licensing, Llc Predicting, diagnosing, and recovering from application failures based on resource access patterns
US8700946B2 (en) * 2011-10-27 2014-04-15 Sungard Availability Services, Lp Dynamic resource allocation in recover to cloud sandbox
US9298538B2 (en) * 2012-08-16 2016-03-29 Vmware, Inc. Methods and systems for abnormality analysis of streamed log data
US9104480B2 (en) * 2012-11-15 2015-08-11 International Business Machines Corporation Monitoring and managing memory thresholds for application request threads
JP5948257B2 (ja) * 2013-01-11 2016-07-06 株式会社日立製作所 情報処理システム監視装置、監視方法、及び監視プログラム
US9483334B2 (en) 2013-01-28 2016-11-01 Rackspace Us, Inc. Methods and systems of predictive monitoring of objects in a distributed network system
US9813307B2 (en) * 2013-01-28 2017-11-07 Rackspace Us, Inc. Methods and systems of monitoring failures in a distributed network system
US9397902B2 (en) 2013-01-28 2016-07-19 Rackspace Us, Inc. Methods and systems of tracking and verifying records of system change events in a distributed network system
US20160261541A1 (en) * 2013-06-07 2016-09-08 Hewlett-Packard Development Company, L.P. Prioritizing log messages
JP5895906B2 (ja) 2013-07-24 2016-03-30 横河電機株式会社 プロセス制御装置及びシステム並びにその健全性判定方法
US9448859B2 (en) * 2013-09-17 2016-09-20 Qualcomm Incorporated Exploiting hot application programming interfaces (APIs) and action patterns for efficient storage of API logs on mobile devices for behavioral analysis
US9189375B1 (en) * 2013-12-31 2015-11-17 Google Inc. Dynamic sandboxing
CN104809325B (zh) 2014-01-26 2018-06-01 国际商业机器公司 用于检测事件日志和过程模型之间的区别的方法和装置
US10133741B2 (en) * 2014-02-13 2018-11-20 Amazon Technologies, Inc. Log data service in a virtual environment
US8990637B1 (en) 2014-03-17 2015-03-24 Splunk Inc. Computing and accessing quality indicators of computer applications
JP6528381B2 (ja) * 2014-10-06 2019-06-12 富士通株式会社 ログ管理装置,ログ管理プログラム,及びログ管理方法
US9652316B2 (en) * 2015-03-31 2017-05-16 Ca, Inc. Preventing and servicing system errors with event pattern correlation
US9521134B2 (en) * 2015-05-13 2016-12-13 Atto Research Co., Ltd. Control apparatus in software defined network and method for operating the same
US9684562B2 (en) * 2015-07-21 2017-06-20 International Business Machines Corporation Automatic serial starting of resource groups on failover based on the prediction of aggregate resource usage
US20170063597A1 (en) * 2015-08-31 2017-03-02 Ca, Inc. Api provider insights collection
WO2017044926A1 (en) * 2015-09-10 2017-03-16 Conjur, Inc. Network visualization for access controls
JP2017068451A (ja) * 2015-09-29 2017-04-06 富士通株式会社 プログラム、パターン送信方法、共有コンテンツ制御システム及び情報処理装置
US20170139759A1 (en) * 2015-11-13 2017-05-18 Ca, Inc. Pattern analytics for real-time detection of known significant pattern signatures
US10110419B2 (en) * 2015-12-17 2018-10-23 Ca, Inc. Alarm to event tracing
JP6176341B2 (ja) * 2016-01-06 2017-08-09 横河電機株式会社 プロセス制御装置及びシステム並びにその健全性判定方法
JP6679943B2 (ja) * 2016-01-15 2020-04-15 富士通株式会社 検知プログラム、検知方法および検知装置
US9870306B2 (en) * 2016-01-26 2018-01-16 International Business Machines Corporation Exception prediction before an actual exception during debugging
US11743203B2 (en) * 2016-02-17 2023-08-29 Blackberry Limited Managing resource access
US10268561B2 (en) 2016-02-22 2019-04-23 International Business Machines Corporation User interface error prediction
US9900302B2 (en) * 2016-06-22 2018-02-20 FinancialForce.com, Inc. Seamless authentication for an application development platform
US9858151B1 (en) * 2016-10-03 2018-01-02 International Business Machines Corporation Replaying processing of a restarted application
US10346625B2 (en) 2016-10-31 2019-07-09 International Business Machines Corporation Automated mechanism to analyze elevated authority usage and capability
US9928365B1 (en) 2016-10-31 2018-03-27 International Business Machines Corporation Automated mechanism to obtain detailed forensic analysis of file access
EP3555823A1 (en) * 2016-12-19 2019-10-23 InterDigital CE Patent Holdings System, method, apparatus and computer program product to analyze system log information and determine user interactions
CN106533812B (zh) * 2016-12-30 2020-01-14 重庆腾帆科技有限公司 一种应用服务器
US10606682B2 (en) * 2017-03-09 2020-03-31 International Business Machines Corporation System and method of collecting serviceability data in containers based cloud infrastructure
US10650156B2 (en) 2017-04-26 2020-05-12 International Business Machines Corporation Environmental security controls to prevent unauthorized access to files, programs, and objects
US10459780B2 (en) * 2017-04-29 2019-10-29 Cisco Technology, Inc. Automatic application repair by network device agent
US10379996B2 (en) * 2017-07-05 2019-08-13 Juniper Networks, Inc. Software analytics platform
US10082556B1 (en) * 2017-07-12 2018-09-25 Netscout Systems, Inc Network table error detection and correction using analytics data
US10379934B2 (en) * 2017-07-31 2019-08-13 Oracle International Corporation System and method of providing post error analysis for instances of applications in cloud service environments on a per user basis
US10673642B2 (en) * 2017-08-02 2020-06-02 Intuit, Inc. Integrating real-time personalized documents into a video conference session
US11010223B2 (en) * 2017-09-01 2021-05-18 Infosys Limited Method and system of automatic event and error correlation from log data
US10536474B2 (en) * 2017-09-07 2020-01-14 Cmd Watch Security Inc. Command interception
US10810099B2 (en) * 2017-09-11 2020-10-20 Internatinal Business Machines Corporation Cognitive in-memory API logging
US10469307B2 (en) * 2017-09-26 2019-11-05 Cisco Technology, Inc. Predicting computer network equipment failure
JP6987600B2 (ja) * 2017-10-23 2022-01-05 キヤノンメディカルシステムズ株式会社 超音波画像診断装置
US11010232B2 (en) * 2017-12-12 2021-05-18 MphasiS Limited Adaptive system and a method for application error prediction and management
US10673733B2 (en) 2018-01-20 2020-06-02 Hcl Technologies Limited System for debugging a network environment
CN111104306A (zh) * 2018-10-26 2020-05-05 伊姆西Ip控股有限责任公司 用于应用中的错误诊断的方法、装置和计算机存储介质
US11201871B2 (en) 2018-12-19 2021-12-14 Uber Technologies, Inc. Dynamically adjusting access policies
EP3938970A1 (en) * 2019-03-14 2022-01-19 ABB Schweiz AG A method of detecting faults in intelligent electronic devices
US11275691B2 (en) * 2019-04-11 2022-03-15 EMC IP Holding Company LLC Intelligent control of cache
FR3098938B1 (fr) * 2019-07-15 2022-01-07 Bull Sas Procédé et dispositif de détermination d’une valeur d’indice de performance de prédiction d’anomalies dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
US11556815B1 (en) 2020-03-19 2023-01-17 Wells Fargo Bank, N.A. Systems and methods for using machine learning for managing application incidents
JP7358287B2 (ja) 2020-03-30 2023-10-10 キオクシア株式会社 半導体記憶装置及びその制御方法
US11461155B2 (en) 2020-05-31 2022-10-04 Wipro Limited Method and system for predicting an occurrence of a failure condition in a VDI environment
US11521086B2 (en) * 2020-06-02 2022-12-06 Bank Of America Corporation Software navigation crash prediction system
TWI761917B (zh) * 2020-08-19 2022-04-21 鴻海精密工業股份有限公司 程式調試方法、裝置及可讀存儲介質
KR102266416B1 (ko) * 2020-09-29 2021-06-17 제이엠사이트 주식회사 장애 예측 방법, 그리고 이를 구현하기 위한 장치
KR20220069715A (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치 및 접근 이벤트 시청각화 방법
TWI801287B (zh) * 2021-07-20 2023-05-01 奧義智慧科技股份有限公司 用於產生階層式有向無環圖的事件視覺化裝置與相關的電腦程式產品
CN117724807A (zh) * 2022-09-06 2024-03-19 广州三星通信技术研究有限公司 应用运行方法、装置、电子设备及存储介质

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1003085C2 (nl) * 1995-09-15 1997-03-20 Stork Comprimo Bv Werkwijze en inrichting voor het ontgassen van zwavel.
DE59701778D1 (de) * 1996-08-30 2000-06-29 Siemens Ag Fehlererkennung in einem speichersystem
US6065146A (en) * 1996-10-21 2000-05-16 Texas Instruments Incorporated Error correcting memory
US6745350B1 (en) * 1997-01-03 2004-06-01 Ncr Corporation Automated failure recovery service
US7308699B1 (en) * 1998-09-15 2007-12-11 Intel Corporation Maintaining access to a video stack after an application crash
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US6360344B1 (en) * 1998-12-31 2002-03-19 Synopsys, Inc. Built in self test algorithm that efficiently detects address related faults of a multiport memory without detailed placement and routing information
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
EP1222537B1 (en) 1999-09-03 2005-01-12 General Instrument Corporation Resource access control system
AU7864700A (en) * 1999-10-05 2001-05-10 Ejasent Inc. Ip virtualization
US7028305B2 (en) 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US7243267B2 (en) * 2002-03-01 2007-07-10 Avaya Technology Llc Automatic failure detection and recovery of applications
TWI240881B (en) * 2002-05-09 2005-10-01 Taiwan Semiconductor Mfg Monitor and diagnostic system and its method for breakdown facilities
US7165190B1 (en) * 2002-07-29 2007-01-16 Oracle International Corporation Method and mechanism for managing traces within a computer system
TW595161B (en) * 2003-01-07 2004-06-21 Univ Nat Central Network fault diagnostics system employing multi-home interfaces and multi-layer technique and method thereof
US7900092B2 (en) * 2003-07-11 2011-03-01 Computer Associates Think, Inc. Kernel-level method of flagging problems in applications
JP4415610B2 (ja) * 2003-08-26 2010-02-17 株式会社日立製作所 系切替方法、レプリカ作成方法、及びディスク装置
US7328376B2 (en) * 2003-10-31 2008-02-05 Sun Microsystems, Inc. Error reporting to diagnostic engines based on their diagnostic capabilities
US7266726B1 (en) * 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US7590743B2 (en) 2003-12-23 2009-09-15 Softricity, Inc. Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process
JP2005352673A (ja) 2004-06-09 2005-12-22 Fujitsu Ltd 不正アクセス監視プログラム、装置および方法
US7536370B2 (en) 2004-06-24 2009-05-19 Sun Microsystems, Inc. Inferential diagnosing engines for grid-based computing systems
WO2006020094A2 (en) 2004-07-20 2006-02-23 Softricity, Inc. Method and system for minimizing loss in a computer application
JP2006053788A (ja) 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
US8145816B2 (en) 2004-09-15 2012-03-27 Intel Corporation System and method for deadlock free bus protection of resources during search execution
FR2882449A1 (fr) * 2005-01-21 2006-08-25 Meiosys Soc Par Actions Simpli Procede non intrusif de rejeu d'evenements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede
DE602006002967D1 (de) * 2005-01-28 2008-11-13 Ibm Zählverfahren für anweisungen zur protokollierung und wiedergabe einer deterministischen ereignisabfolge
US7467333B2 (en) * 2005-09-01 2008-12-16 Hewlett-Packard Development Company, L.P. System and method for interposition-based selective simulation of faults for access requests to a data storage system
JP4544146B2 (ja) * 2005-11-29 2010-09-15 株式会社日立製作所 障害回復方法
JP2007249441A (ja) 2006-03-15 2007-09-27 Hitachi Ltd 仮想化システム及び障害対処方法
US8190982B2 (en) * 2006-09-29 2012-05-29 University Of Connecticut Error-tolerant multi-threaded memory systems with reduced error accumulation
US7647530B2 (en) * 2006-10-13 2010-01-12 Hewlett-Packard Development Company, L.P. Network fault pattern analyzer
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
JP5051514B2 (ja) * 2007-02-23 2012-10-17 日本電気株式会社 メモリエラーパターン記録システム、メモリエラーパターン記録方法
US7730364B2 (en) * 2007-04-05 2010-06-01 International Business Machines Corporation Systems and methods for predictive failure management
US7770064B2 (en) * 2007-10-05 2010-08-03 International Business Machines Corporation Recovery of application faults in a mirrored application environment
US8806619B2 (en) 2007-12-20 2014-08-12 Cybernet Systems Corporation System and methods for detecting software vulnerabilities and malicious code
US20090199178A1 (en) 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Management
US8156491B2 (en) 2008-02-29 2012-04-10 Red Hat, Inc. Fault tolerant virtual machine
EP2255440A1 (en) * 2008-03-16 2010-12-01 Nxp B.V. Methods, circuits, systems and arrangements for undriven or driven pins
US8103944B2 (en) * 2008-06-02 2012-01-24 Newport Media, Inc. Memory architecture for high throughput RS decoding for MediaFLO receivers
JP5140633B2 (ja) 2008-09-04 2013-02-06 株式会社日立製作所 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
US8549364B2 (en) 2009-02-18 2013-10-01 Vmware, Inc. Failure detection and recovery of host computers in a cluster
US8069374B2 (en) * 2009-02-27 2011-11-29 Microsoft Corporation Fingerprinting event logs for system management troubleshooting
US9189308B2 (en) 2010-12-27 2015-11-17 Microsoft Technology Licensing, Llc Predicting, diagnosing, and recovering from application failures based on resource access patterns

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI723477B (zh) * 2019-07-25 2021-04-01 宜鼎國際股份有限公司 電子設備、可遠端維護電子設備運作的系統及方法
US11385971B2 (en) 2019-07-25 2022-07-12 Innodisk Corporation Electronic apparatus, system and method capable of remotely maintaining the operation of electronic apparatus
TWI789075B (zh) * 2021-10-26 2023-01-01 中華電信股份有限公司 偵測應用程式的異常執行的電子裝置及方法

Also Published As

Publication number Publication date
JP5925803B2 (ja) 2016-05-25
WO2012092124A2 (en) 2012-07-05
EP2659371A4 (en) 2017-11-29
EP2659371B1 (en) 2019-05-01
TW201227266A (en) 2012-07-01
CN102567181A (zh) 2012-07-11
US20160062817A1 (en) 2016-03-03
EP2659371A2 (en) 2013-11-06
ES2734305T3 (es) 2019-12-05
TWI554875B (zh) 2016-10-21
US9189308B2 (en) 2015-11-17
US20120166869A1 (en) 2012-06-28
JP2014501420A (ja) 2014-01-20
US20190073258A1 (en) 2019-03-07
US10884837B2 (en) 2021-01-05
US10152364B2 (en) 2018-12-11
WO2012092124A3 (en) 2012-11-29
TWI546659B (zh) 2016-08-21

Similar Documents

Publication Publication Date Title
US10884837B2 (en) Predicting, diagnosing, and recovering from application failures based on resource access patterns
US8132043B2 (en) Multistage system recovery framework
US10204019B1 (en) Systems and methods for instantiation of virtual machines from backups
US7363546B2 (en) Latent fault detector
US9436539B2 (en) Synchronized debug information generation
US11221927B2 (en) Method for the implementation of a high performance, high resiliency and high availability dual controller storage system
US9898370B2 (en) Flash copy for disaster recovery (DR) testing
Levy et al. Predictive and Adaptive Failure Mitigation to Avert Production Cloud {VM} Interruptions
US10860431B2 (en) System and method for fault tolerant backup generation in a virtual environment
US10514972B2 (en) Embedding forensic and triage data in memory dumps
US8555105B2 (en) Fallover policy management in high availability systems
US11226875B2 (en) System halt event recovery
Farr et al. A case for high availability in a virtualized environment (HAVEN)
US11513915B2 (en) System and method for micro-backup generation
US20240126638A1 (en) Dial-Home and Template Based Automatic Recovery of Virtual Machine Guest Operating System
CN102567181B (zh) 基于资源访问模式预测、诊断应用故障并从其恢复
US20170228295A1 (en) Computer-readable recording medium, restoration process control method, and information processing device
JP2014081884A (ja) 計算機システム

Legal Events

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