CN102436376A - 用于分布式应用确认的模型检查 - Google Patents

用于分布式应用确认的模型检查 Download PDF

Info

Publication number
CN102436376A
CN102436376A CN2011103404785A CN201110340478A CN102436376A CN 102436376 A CN102436376 A CN 102436376A CN 2011103404785 A CN2011103404785 A CN 2011103404785A CN 201110340478 A CN201110340478 A CN 201110340478A CN 102436376 A CN102436376 A CN 102436376A
Authority
CN
China
Prior art keywords
application
model
behavior
assembly
incident
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN2011103404785A
Other languages
English (en)
Other versions
CN102436376B (zh
Inventor
L·缪
P·宋
L·张
M·G·塔塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ivalley Holding Co Ltd
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 CN102436376A publication Critical patent/CN102436376A/zh
Application granted granted Critical
Publication of CN102436376B publication Critical patent/CN102436376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results 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/3447Performance evaluation by modeling
    • 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

Landscapes

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

Abstract

本发明公开了用于分布式应用确认的模型检查。此处描述了模型检查系统,该模型检查系统通过提供模型和通用框架来检查应用不变属性、检测异常行为并监视应用健康从而更有效地验证和确认分布式应用的设计。模型检查系统针对从应用的正式描述所导出的应用模型来检查在线应用行为。该系统将具体应用制定为抽象模型以及期望在所有条件下适用于应用的多个规则或属性。模型检查器将实际应用执行与模型相比较,并且确认属性保持为真或是报告属性被违反。由此,模型检查系统提供了在更现实的生产条件下对分布式应用的更有效且全面的确认。

Description

用于分布式应用确认的模型检查
技术领域
本发明涉及计算机应用领域,尤其涉及分布式应用。
背景技术
分布式系统的复杂性及其测试机制已经被广泛地探索了许多年。在分布式系统中存在许多固有的挑战,诸如异步通信的等待时间、差错恢复、时钟漂移、以及服务分区,从而导致众多问题,包括死锁、竞争条件、以及许多其他困难。测试这样的复杂系统提出了巨大挑战。在几年中,已经调查并实现了许多自动测试生成、部署以及执行方法。然而,在自动系统确认和验证的领域中仍然要求大量努力。
由于事件顺序控制复杂性以及随着系统规模增加导致的测试场景的激增,绝大多数测试方法在使用基于模型的方法方面是随机的。在这样的情况下,验证无法与特定动作和故障相耦合。典型的当前模型构造分布式系统可到达并随后进行蛮力验证的状态图,这导致状态空间激增以及高级系统抽象中的困难。大型分布式系统的一个示例是微软TM SQL Azure。SQL Azure提供基于云的存储服务,该基于云的存储服务可将大量数据存储在分布式数据中心中的各种实际物理硬件上。SQL Azure是巨大的分布式系统。另外,系统规模动态地改变以便提供弹性存储。
不仅对这样的系统的开发而且对这样的系统的测试提出了巨大挑战。传统测试方法可能在一个物理计算机上测试功能,并依赖故障注入来测试故障转移以及依赖长运距工具来将负载引入系统。测试随后可检查分布式系统是否健康而没有错误、没有分区处于异常状态、没有节点处于停机等等。调查分布式系统的问题是非平凡的过程。当分布式系统上发生问题时,调查涉及特定领域的专长和知识。太多轨迹可涉及相关(correlation)和长期调查。当前,事件相关是手动地进行的,该相关涉及对一组历史表的相关。不知道有关的系统组件的细节,是难以追踪到问题的根源的。监视分布式系统的健康也主要是手动过程。受限自动监视可检查某些因素,诸如可用性、服务切换以及监督错误,但个人只是在某一事物出错的情况下检查其他大量的度量;否则,信息仅被记录并被忽略。另外,某些异常行为本身可能不表现为明显的应用错误或导致明显的应用错误,或可以无法按自动监视需要的方式被永久存储。典型示例是存储器中的状态、由于失效触发事件的不必要状态转换、以及可被手动检查忽略的瞬时健康状态。
发明内容
此处描述了模型检查系统,该模型检查系统通过提供模型和通用框架来检查应用不变属性、检测异常行为并监视应用健康从而有效地验证和确认分布式应用的设计。由模型检查器验证的属性适用于该系统中的单个实体、适用于该系统中的许多实体的组、以及适用于作为整体的系统。模型检查系统检查针对从应用的正式描述所导出的应用模型来检查在线应用行为,这被称为模型检查。该系统将具体应用制定为抽象模型以及期望在所有条件下适用于应用的多个规则或属性。存在四个类型的不变属性,包括:安全性——在系统中任何点处总为真;活跃度——在系统中故障静止之后最终为真;公平性——没有总是忽略某些可应用的转换的系统执行;以及稳定性——在某一时间点之后总为真。模型检查器将实际应用执行与模型相比较,并且确认属性保持为真或是报告属性被违反。在可同步进行各种验证和确认活动的情况下,实现了通用框架。
模型检查系统将目标分布式应用建模成小的有限状态机的集合和依赖图来捕捉组件之间的相关。在某些实施例中,模型检查器所使用的相关关键字不依赖于分布式应用运行的机器上的物理时钟时间。该系统基于事件依赖图自动地执行根本原因分析。即使失败涉及多个机器、组件和日志,该系统可将整个事件序列进行相关,以便从在每一组件的贡献动作期间一直导致问题的操作来跟踪该问题。由此,模型检查系统提供了在更现实的生产条件下对分布式应用的有效且全面的确认。
提供发明内容述以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是示出在一个实施例中的模型检查系统的各组件的框图。
图2是示出在一个实施例中的模型检查系统用于使用模型检查来执行分布式应用的处理的流程图。
图3是示出在一个实施例中模型检查系统用于学习分布式应用行为的一个或多个模型的处理的流程图。
具体实施方式
此处描述了模型检查系统,该模型检查系统通过提供模型和通用框架来检查应用不变属性、检测异常行为并监视应用健康从而更有效地验证和确认分布式应用的设计。模型检查系统检查针对从应用的正式描述所导出的应用模型来检查在线应用行为,这被称为模型检查。该系统将具体应用制定为抽象模型以及期望在所有条件下适用于应用的多个规则或属性。模型检查器将实际应用执行与模型相比较,并且确认属性保持为真或是报告属性被违反。
与现有模型检查方法相比,此处描述的模型检查系统不遭受状态空间激增的问题和高级系统抽象中的困难。在这一系统中,应用模型是应用行为的充分选择的方面并以容易且直接的方式来描述。该系统具有横向扩展和纵向扩展的灵活性。另外,该系统提供追踪至根本原因以供错误分析的功能,这节省了大量人类调查的时间。在可同步或异步地进行各种验证和确认活动的情况下,实现了通用框架。对于应用专用模型、其对应的行为提供者、以及模型检查器,该框架易于扩展。
模型检查系统将目标分布式应用建模成小的有限状态机的集合和依赖图来捕捉组件之间的相关。该系统基于事件依赖图自动地执行根本原因分析。即使失败涉及多个机器、组件和日志,该系统可将整个事件序列进行相关,以从在每一组件的贡献动作期间一直导致问题的操作来跟踪该问题。该系统还提供通用框架以允许除了有限状态以外的可由应用开发者添加以供进一步测试其分布式应用的各种确认方法。由此,模型检查系统提供了在现实的生产条件下对分布式应用的更有效且全面的确认。
以下段落更详细地描述模型检查系统,从而呈现模型检查机制以便通过使用所提议的框架来确认并验证分布式应用的行为。建立模型使用某领域的知识来定义和构建该模型,并且这提供更多的灵活性来合并新特征、丢弃旧特征、确定要检查什么行为、以及要调查多少细节。这一机制有助于以更为成本有效的方式来在大规模应用的可靠性方面获得置信、减小错误调查时间、以及执行详细的验证。另外,该框架允许到其他应用的方便扩展。
模型
模型检查是基于一组所抽象的规则或不变属性来自动分析反应系统的过程。它具有一旦错误发生在某些可观察输出级就检测到错误行为的能力。这具有在与晚期阶段发现相比校正更便宜的早期阶段标识定时问题并防止灾难性失败的潜能,其在生产环境中呈现很大的价值。在某些实施例中,模型检测系统依赖于最终被表示为某些类型的日志文件的系统行为。这样的日志可忠实地捕捉所有相关应用行为,包括应用状态转换、错误、以及性能度量。在某些实施例中,分布式系统的日志被集成到中央存储以便于失败调查。只要提供了对应的日志读取器,模型检查引擎就不依赖于集中式轨迹存储。在引擎内部,这一工作是通过若干管理组件及其工作者的协作来完成的。
模型是要分析的目标应用的某些不变属性。为示出该框架,考虑一下三个类型的模型:——有限状态机(FSM)、错误、以及性能度量——作为示例,但它们不限于此处所讨论的类型。
第一类型的模型是有限状态机模型。为避免模型抽象的复杂性和状态空间激增的问题,该系统聚焦于在各个机器上运行的FSM。FSM之间的关系是通过对不同机器上的事件进行相关来捕捉的。换言之,应用行为被变换成小的FSM集合以及事件依赖图。变量对于分布式系统的大小都是不变的。该系统将状态中的每一个定义为以下类型之一:Start(开始)(FSM的入口点),Normal(正常)(除最终以外的任何可接受状态),以及Final(最终)(没有事件可触发从这一状态的转换)。对于Start和Normal状态,状态生存期的某一统计信息在学习阶段期间被收集,随后它被用于执行验证。以下是典型状态机及其模型描述。
Figure BSA00000603714200041
Figure BSA00000603714200051
第二类型的模型是错误不变模型。错误不变是分布式应用的稳定属性之一,它可被描述为无死锁、无未经处理的异常、无断言等。该系统还可检查其他非致命错误以将其他失败或正常行为进行相关。大多数分布式应用其有自我恢复的能力。由于定时问题,如果事件顺序改变,则可被忽略的某些错误可能触发大规模失败。对这样的错误的自动监视对于避免级联失败变得非常有帮助。以下是示例错误模型。
Figure BSA00000603714200061
该错误模型包括错误项的集合。每一错误项具有担当该错误的标识符的类型以及用于指示该错误的严重性的等级。该错误项包含用于确定错误是否与该模型匹配的错误匹配准则列表、以及用于帮助从该错误本身提取相关关键字的关键项列表。属性Field(字段)、Keys(关键字)以及Regex(正则表达式)用于从错误日志提取信息。
第三类型的模型时性能度量模型。应用健康通常由一组性能度量来表示。对这些度量的持续监视可潜在地在问题的早期阶段检测到问题。当某些异常被检测到时,追踪至这些问题的根本原因是有用的。该框架提供了自动化这一过程的解决方案。以下描述将系统可用性(高可用性是分布式系统中的目标之一)作为一个示例。该模型定义三个阈值:Soft(软)、Hard(硬)、以及Duration(持续时间)。每一阈值具有基础值和比较方法。“Soft”是指示度量不正常但只要在“Duration”阈值所限制的时间段内返回正常则仍然为可以(okay)的界限。“Hard”是度量超过其不能正确地进行的边界。这三个阈值定义两个类型的可用性异常:长持续时间异常(“Soft”和“Hard”之间的可用性、并且持续比“Duration”更长的时间段)以及严重异常(可用性低于“Hard”)。以下是示例性能度量。
Figure BSA00000603714200071
数据结构
以下段落描述模型检查系统内的三个类型的数据:TraceRecord(轨迹记录)、StateInfo(状态信息)、以及McEvent(模型检查事件)。任何系统行为将最终由轨迹管理组件转换成TraceRecord的格式。以下是TraceRecord的示例定义。
Figure BSA00000603714200072
TraceRecord是属性和上下文对象的集合。将轨迹从其原始格式转换成TraceRecord是轨迹管理组件的责任。轨迹管理组件可包括用于从各种轨迹源提取轨迹信息的一个或多个轨迹读取器。该读取器提供被称为“时间戳(TimeStamp)”的属性,该时间戳的上下文是事件实际发生时的时间标志。尽管由于机器时钟偏移而导致时间戳在分布式应用中是不可靠的,但在单个节点上的排序仍然有效。
模型检查组件采用TraceRecord作为输入,并将数据转换成被称为StateInfo的另一格式,它包含用于检查变量的状态的四个属性:1)VariableId(变量Id):要监视的变量的唯一标识符,2)State(状态):变量的当前状态信息,3)CorrelationId(相关Id):可用于与其他变量进行相关的信息,以及4)TimeFlag(时间标志):在变量转换成当前状态时的时间戳。以下是StateInfo的示例定义。
Figure BSA00000603714200081
每一检查器拥有特定变量的模型以及对应的检查器配置。从TraceRecord到StateInfo的转换是基于如以下示出的配置来完成的,其中StateInfo的四个属性和TraceRecord的字段(field)之间的映射被明确地指定。
Figure BSA00000603714200082
由于模型检查组件处理个别状态机中的状态,因此该组件将基于事件依赖图来创建并将事件抛至事件池。事件可以是FSM中的状态或状态转换、错误、或性能度量中的异常。每一事件具有类型(对该事件的描述)、EventID(事件ID)(唯一的标识符)、用于与其他事件进行相关的一组属性(CorrelationKey(相关关键字))、与其相关的父(原因事件)和子(结果事件)的相关状态(ParentCorrStatus(父相关状态)和ChildCorrStatus(子相关状态)、以及当该事件发生时的时间戳(TimeStamp)。以下是McEvent的示例定义。
Figure BSA00000603714200091
系统组件
图1是示出在一个实施例中的模型检查系统的各组件的框图。系统100包括服务管理组件110、应用模型组件120、轨迹管理组件130、模型检查组件140、事件相关组件150、以及通知组件160。这些组件中的每一个都在此处进一步详细讨论。
服务管理组件110通过开始、停止、暂停、以及恢复模型检查服务来管理模型检查。例如,组件110可向其他组件中的每一个发出命令来初始化并准备或恢复模型检查、或者来关闭或暂停模型检查。
系统模型组件120管理分布式应用的一个或多个模型,其中该模型描述了分布式应用的不变行为。组件120从数据存储或其他存储设施加载或更新应用模型。组件120还可基于服务配置改变来启用或禁用某些模型。例如,测试者可禁用报告太多虚假肯定的模型直到该模型可被更新。
轨迹管理组件130控制轨迹读取器的集合以便从与分布式应用相关联的各种资源中加载轨迹。该组件可从一个或多个日志文件、数据库中读取信息、通过查询该服务来直接从服务中读取信息。组件130使用轨迹读取器来将域专用输入格式桥接成可由模型检查系统100理解的公共格式。
轨迹读取器是将轨迹从各种源中加载轨迹并将其转换成模型检查器所使用的TraceRecord结构的组件。如果新数据源被添加,则可将对应的读取器提供给该系统。在某些实施例中,轨迹读取器从接口ITraceReader(接口轨迹读取器)继承并实现以下两个方法:
List<TraceRecord>  Read(ReaderConfig  readerConfig,ConfigRecordserviceConfig,ref object lastProcessedId,DateTime startLogTimeStamp,Guid tag);
List<TraceRecord>  ReadLatestTransitions(ReaderConfig  readerConfig,ConfigRecord serviceConfig,List<string>keys,TraceRecord record,Guidtag);
模型检查系统使用第一种方法来持续地加载数据以供处理。该方法取读取器配置和服务器配置两者作为自变量。读取器配置包含关于数据源、读取器名称、以及时间戳字段的信息。服务配置定义如何加载轨迹,诸如每一查询所处理的日志数量。“lastProcessedId(最后处理的ID)”是读取器已经读取的最后一个轨迹记录的时间戳。“startLogTimeStamp(开始日志时间戳)”用于确定在开始该服务但没有保存历史信息时的日志的开始点。第二种方法在错误被检测到以及该服务尝试将所有相关的轨迹加载到单个地方以便于调查时使用。“record(记录)”是在检查下当前有问题的记录。“keys(关键字)”列表是当查询相关的轨迹时的一组约束。
模型检查组件140管理模型检查器的集合以学习并且验证分布式应用的行为。该组件开始不同检查器并向每一检查器分配特定模型,并且加载对应的检查器配置。分布式应用可正常地执行或遭受一个或多个测试场景。在该应用执行时,模型检查组件140监视分布式应用的各种组件以检查异常。如果非期望事件发生,或属性被检测到与模型所期望的不变不同,则组件140报告事件(有时被称为计数示例)以供进一步调查。
模型检查组件140扮演两个角色:模型学习者和检查器。当服务正在学习模式中运行时,组件140以空的或不完整模型开始。组件140从轨迹记录中提取信息并记住首次看到的变量。随着日志被处理,组件140逐渐构建应用模型直到没有新信息可从日志中被提取。在检查模式中,组件140参考已学习的模型来确认应用行为。使用FSM作为示例,组件140将监视实际应用状态转换,并验证该转换是否有效、以及应用保持在每一状态中的持续时间是否在边界内。组件140所管理的每一模型检查器记住最后看到的该状态机的状态。
事件相关组件150跨应用地对事件进行相关,并进行根本原因分析。事件可包括由特定日志条目、性能度量、或其他发生的事情所指示的一个或多个模型的违反。组件150使用定义独立和/或分布式应用组件之间的交互的预定义事件依赖图。组件150可用特定标识符来标识针对系统所采取的每一动作,使得可逐组件地对动作的结果进行追踪。
为执行相关,系统建立依赖关系。以下给出该模型和对应的类定义。在这一示例中,父事件是在FSM“Model1(模型1)”中从S1到S2的状态转换。这将触发到状态S3的由“Model2(模型2)”描述的FSM的转换。该组相关关键字类型为“Key1(关键字1)”和“Key2(关键字2)”。
Figure BSA00000603714200111
Figure BSA00000603714200121
事件相关组件150持续地扫描事件池。对于每一事件,组件150试图找出相关的原因和结果(父和子)事件。因为事件来自不同节点并由不同检查器处理,因此在该池中原因事件可能出现在结果事件之后的情况下事件重新排序变成了常见的场景。为减轻这一问题,每一检查器按照最后所处理的记录的时间戳(被称为检查点)来报告检查进展。组件150将检查某一检查器的进展以确定事件是否应到达该池。在某些实施例中,组件150假设:1)跨机器的时钟偏移将不大于阈值;以及2)原因事件不迟于结果事件发生。这简化了组件150的处理。
通知组件160提供标识由模型检查所标识的非期望应用行为的报告和警告。模型检查系统100取各种格式的轨迹作为异常被检测到的情况下的输入和输出警告。组件160还可在请求时或周期性地提供详细的检查报告,作为对分布式应用的例行监视的一部分。
在其上实现模型检查系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以用实现或启用该系统的计算机可执行指令(例如,软件)来编码的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备、机顶盒、片上系统(SOC)等中任一种的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
处理流水线
在某些实施例中,模型检查系统可在两个模式中运行:学习和检查。在学习模式中,服务具有对日志的完全信任并且从其中学习不同模型。在获取模型之后可使用一次性手动审阅来纠正不遵守原始应用设计的任何模型错误。在检查模型中,模型检查器从由轨迹读取器所填充的轨迹队列中取得轨迹记录,并且随后针对应用模型检查该记录。如果检查器检测到与事件依赖图所描述的其他事件有依赖关系的任何事件,则检查器将该事件抛入事件池。事件相关组件持续地仔细检查事件列表,并试图找出对于任何目标事件的原因和结果事件。如果实际应用行为不遵守模型中所定义的属性,则模型检查器和事件相关组件两者都将连同有关的轨迹一起报告错误。随后人类调查可确定该错误是否为假警报。如果是假警报,则调查器可更新该模型。这可手动地完成或通过在学习模式中运行服务来完成。
图2是示出在一个实施例中的模型检查系统用于使用模型检查来执行分布式应用的处理的流程图。在框210中开始,系统接收描述分布式应用的期望行为的一个或多个模型。模型可包括应用的一个或多个不变属性,诸如有限状态机、错误、以及性能度量。在某些实施例中,系统将应用的每一组件建模成有限状态机,并建立依赖图来追踪各组件之间的依赖性。模型(如果正确的话)定义在应用正确地行为时应用将展示的行为。有时,模型在正在进行的基础上进化。例如,测试可发现当错误被报告时应用正在正确地行为,因为模型是不正确的。在这些情况下,测试者可在学习模式中运行系统或手动地更新模型以反映应用的正确行为。
在框220中继续,系统开始监视分布式系统的执行的模型检测服务以检测应用的异常行为。例如,服务可开始一个或多个轨迹加载器,该一个或多个轨迹加载器观察应用的组件以寻找描述应用内发生的事情的输出信息。轨迹加载器可监视日志文件、数据库、以及其他信息源以获取应用的状态。
在框230中继续,系统收集将应用的行为描述为发生在应用的分布式组件处的一系列一个或多个事件的一个或多个轨迹。例如,系统可将日志文件和其他轨迹信息收集到聚集的集中位置以供处理。对轨迹的处理可在应用已停止运行之后离线发生,以便异步检测非期望应用行为。系统还可动态地标识应用行为。
在框240中继续,系统基于所收集的轨迹来标识一个或多个事件。系统可将事件进行相关以标识源自应用内相同动作的事件。例如,将数据存储在分布式存储应用中的请求可导致应用内的许多实际事件,诸如数据库查询、所接收的web请求、文件系统访问等。系统将有关事件进行相关,使得如果非期望的应用行为被标识,则可追溯事件链至失败的根本原因。
在框250中继续,系统针对所标识的事件来检查所接收的一个或多个模型,以便确定是否发生了任何非期望的应用行为。例如,系统可标识违反模型的状态转换、在应用正在正确地行为的情况下不会发生的错误、以及在可允许的边界以外的性能度量。
在判定框260中继续,如果模型检查失败,则系统在框265处继续,否则系统在框275处继续。在框265中继续,系统标识与失败的模型检查有关的根本原因事件。例如,系统可导航与使模型检查失败的事件相关的事件链。当找出根本事件时,将该根本事件标识为根本原因,并且存储相关的事件链以供以后分析。在框270中继续,系统基于所标识的根本原因以及失败的模型检查来报告错误。系统可将报告发送给个人以供手动分析以及更新模型或修复应用软件代码中的隐错。错误报告可标识有助于该分析的信息,诸如事件何时发生、哪些应用组件被涉及、失败所涉及的每一相关的事件等。
在判定框275中继续,如果完成了对应用的监视,则系统在框280处继续,否则系统循环到框230以继续收集轨迹信息。在某些情况下,模型检查是在应用已经运行之后对轨迹执行的。在框280中继续,系统停止模型检查服务。系统可响应于用户命令或预设监控持续时间的期满来停止。在框280之后,这些步骤结束。
图3是示出在一个实施例中的模型检查系统用于学习分布式应用行为的一个或多个模型的处理的流程图。在框310中开始,系统开始监视分布式系统的执行的模型检测服务以学习应用的行为。例如,服务可开始一个或多个轨迹加载器,该一个或多个轨迹加载器观察应用的组件以寻找描述应用内发生的事情的输出信息。轨迹加载器可监视日志文件、数据库、以及其他信息源以获取应用的状态。出于创建应用行为的模型的目的,系统可假设在学习期间所接收的输出是正确的。
在框320中继续,系统设置模型检测服务的学习模式,该模型检查服务检测应用行为以便为应用建立正确行为的模型。例如,该服务可接收一个或多个配置参数,并且一个参数可指定该服务可在其中运行的模式。
在框330中继续,系统收集将应用的行为描述为发生在应用的分布式组件处的一系列一个或多个事件的一个或多个轨迹。例如,系统可将日志文件和其他轨迹信息收集到聚集的集中位置以供处理。对轨迹的处理可在应用已停止运行之后离线发生,以便异步学习应用行为。系统还可动态地标识应用行为。在框340中继续,系统基于所收集的轨迹来标识一个或多个事件。系统可将事件进行相关以标识应用的各组件之间的依赖性以供建立依赖图。例如,将数据存储在分布式存储应用中的请求可导致应用内的许多实际事件,诸如数据库查询、所接收的web请求、文件系统访问等。
在框350中继续,系统建立应用的一个或多个组件的模型,其中该模型描述每一组件的正确行为。例如,系统可建立有限状态机,该有限状态机表示每一组件以及该组件可经历的有效状态和转换。在框360中继续,系统建立描述应用的各组件之间的一个或多个交互的依赖图。例如,系统可建立与对每一组件进行建模的各有限状态机有关的图。依赖图描述各组件如何被相互关联以及在应用的各组件之间可发生什么事件。
在框370中继续,系统停止模型检查服务。系统可响应于用户命令、配置参数改变、或预设监视持续时间的期满来停止。在框380中继续,系统存储所建立的模型和依赖图。系统之后可在检查模式中运行,并且加载该模型和图以验证在各种负载和环境下的正确应用行为。在框380之后,这些步骤结束。允许系统学习应用行为允许了测试者快速地将系统应用于新的应用,而无需对系统的深度理解或手动地建立模型。系统可被提升并快速地运行以向测试者通知应用何时正以不寻常或以前未看到的方式行为。
在某些实施例中,模型检查系统验证第三方应用组件的行为。复杂的应用常常利用许多组件,某些是现成的或是不在应用开发者控制下的第三方组件。然而,应用的正确行为可取决于第三方组件的正确行为,并且模型检查系统可接收第三方组件的模型并在模型检查期间验证各组件的行为。模型检查系统的学习功能允许系统学习第三方组件的很好理解的行为的模型,并允许系统报告背离所学习的模型的任何行为。
在某些实施例中,模型检查系统离线执行模型检查。某些应用在其运行时可生成大量日志,或者出于其他原因可能难以实时地监视。模型检查系统可执行对应用执行的事后(post-mortem)分析,以验证在应用已运行之后的长时间应用行为与期望行为的模型一致。系统可在夜间或在其他方便时间完成日志,以提供对任何可疑应用行为的报告。在系统的某些使用中,相对于应用所产生的轨迹,操作者可使该系统按其自身的步调运行。一旦应用被声明为正确的直到某一点,则直到该点的轨迹可被丢弃,从而只留下还要处理的新轨迹或揭示错误应用行为的轨迹。
在某些实施例中,模型检查系统将活动标识符分配给应用内的高级动作,并使用活动标识符来对应用内的事件加戳。因为时间戳和其他类型的追踪对于事件相关可能是不可靠的,因此活动标识符提供跨与相同动作有关的事件保持一致且系统可用于跨应用组件对事件进行相关的单个量。
如此处所述的,模型检查系统消费各模型,各模型指定应用异常或甚至期望的不变量。例如,即使看上去正确的应用行为也可在该行为太频繁地发生的情况下发出应用隐错的信号。重新配置可以是正常发生的事情,但单个周期中特定次数的重新配置可指示问题。这一类型的行为可在模型中被描述并且由系统监视以便在该行为发生的情况下向某人发信号。
从上文将会认识到,虽然在此已出于说明目的描述了模型检查系统的特定实施例,但是可以做出各种修改而不背离本发明的精神和范围。因此,本发明只受所附权利要求限制。

Claims (15)

1.一种用于执行分布式应用以及验证分布式系统行为的正确性的计算机实现的方法,所述方法包括:
接收(210)描述所述分布式应用的期望行为的一个或多个模型;
在线或离线地开始(220)模型检测服务,所述模型检测服务监视所述分布式应用的执行以检测所述应用的行为;
收集(230)一个或多个轨迹,所述一个或多个轨迹将所述应用的行为描述为发生在所述应用的分布式组件处的一系列一个或多个事件;
基于所收集的轨迹来标识(240)一个或多个事件;
针对所标识的事件来检查(250)所接收的一个或多个模型,以确定是否已发生任何非期望的应用行为;以及
在确定(260)模型检查失败之后,
标识(265)与所述失败的模型检查有关的根本原因事件;以及
基于所标识的根本原因和失败的模型检查来报告(270)错误,
其中前面的各步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,接收所述一个或多个模型包括接收以从由有限状态机、错误和性能度量组成的组中选出的形式的分布式应用的一个或多个不变属性。
3.如权利要求1所述的方法,其特征在于,接收一个或多个模型包括接收对所述应用的每一组件进行建模的有限状态机以及对各组件之间的依赖性进行建模的依赖图。
4.如权利要求1所述的方法,其特征在于,开始所述模型检查服务包括开始一个或多个轨迹加载器,所述一个或多个轨迹加载器观察所述应用的各组件以获取描述所述应用内发生的事情的输出信息。
5.如权利要求1所述的方法,其特征在于,收集一个或多个轨迹包括收集日志文件并聚集到中央位置以供处理。
6.如权利要求1所述的方法,其特征在于,标识一个或多个事件包括将各事件进行相关以标识源自所述应用内相同动作的各事件,使得如果非期望应用行为被标识,则可追溯事件链至所述失败的根本原因。
7.如权利要求1所述的方法,其特征在于,检查所述模型包括标识违反所述模型的状态转换以及向用户报告模型违反。
8.如权利要求1所述的方法,其特征在于,检查所述模型包括标识在所述应用正在正确地行为的情况下不会发生的错误以及向用户报告模型违反。
9.如权利要求1所述的方法,其特征在于,检查所述模型包括标识在预定的阈值以外的性能度量以及向用户报告模型违反。
10.如权利要求1所述的方法,其特征在于,标识根本原因事件包括导航与使所述模型检查失败的事件相关的事件链,并且其中标识所述根本原因事件包括标识不依赖于所述分布式应用运行的机器上的物理时钟时间的相关关键字。
11.如权利要求1所述的方法,其特征在于,报告所述错误包括向个人发送报告以供手动分析以及更新所述模型或修复应用软件代码中的隐错。
12.如权利要求1所述的方法,其特征在于,还包括在确定对所述应用的监视完成之后,停止所述模型检查服务。
13.一种用于对分布式系统确认进行模型检查的计算机系统,所述系统包括:
被配置成执行包含在以下组件内的软件指令的处理器和存储器;
服务管理组件(110),所述服务管理组件(110)被配置成通过开始、停止、暂停、以及恢复模型检查服务来管理模型检查;
应用模型组件(120),所述应用模型组件(120)被配置成管理所述分布式应用的一个或多个模型,其中所述模型描述所述分布式应用的不变的期望行为;
轨迹管理组件(130),所述轨迹管理组件(130)被配置成控制轨迹读取器的集合以便从与所述分布式应用相关联的各种资源中加载轨迹;
模型检查组件(140),所述模型检查组件(140)被配置成管理模型检查器的集合以学习并且验证所述分布式应用的行为;
事件相关组件(150),所述事件相关组件(150)被配置成跨所述应用对事件进行相关并进行根本原因分析以标识根本原因事件;以及
通知组件(160),所述通知组件(160)被配置成提供标识通过模型检查来标识的非期望应用行为的一个或多个报告和警告。
14.如权利要求13所述的系统,其特征在于,所述模型检查组件进一步被配置成开始不同的检查器,向每一检查器分配特定模型,并加载对应的检查器配置。
15.如权利要求13所述的系统,其特征在于,所述模型检查组件还被配置成在所述应用执行时,监视所述分布式应用的组件以获取违反由模型所指定的一个或多个不变属性的非期望应用行为。
CN201110340478.5A 2010-10-20 2011-10-19 用于分布式应用确认的模型检查 Active CN102436376B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/908,007 2010-10-20
US12/908,007 US9092561B2 (en) 2010-10-20 2010-10-20 Model checking for distributed application validation

Publications (2)

Publication Number Publication Date
CN102436376A true CN102436376A (zh) 2012-05-02
CN102436376B CN102436376B (zh) 2016-01-13

Family

ID=45973710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110340478.5A Active CN102436376B (zh) 2010-10-20 2011-10-19 用于分布式应用确认的模型检查

Country Status (2)

Country Link
US (1) US9092561B2 (zh)
CN (1) CN102436376B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105531867A (zh) * 2013-09-18 2016-04-27 索尼公司 电力储存系统
CN105637432A (zh) * 2013-08-30 2016-06-01 慧与发展有限责任合伙企业 识别被监控实体的异常行为
CN111526028A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 数据处理方法、装置及设备
CN112181844A (zh) * 2020-10-12 2021-01-05 南京大学 一种验证分布式协议活性属性容错机制的检测方法及装置

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8688606B2 (en) * 2011-01-24 2014-04-01 International Business Machines Corporation Smarter business intelligence systems
US9727441B2 (en) * 2011-08-12 2017-08-08 Microsoft Technology Licensing, Llc Generating dependency graphs for analyzing program behavior
US8954579B2 (en) * 2012-08-21 2015-02-10 Microsoft Corporation Transaction-level health monitoring of online services
US9111034B2 (en) * 2013-02-27 2015-08-18 International Business Machines Corporation Testing of run-time instrumentation
US10078575B2 (en) * 2013-03-13 2018-09-18 Microsoft Technology Licensing, Llc Diagnostics of state transitions
US9317415B2 (en) * 2013-06-03 2016-04-19 Google Inc. Application analytics reporting
US10078502B2 (en) * 2014-06-19 2018-09-18 Fujitsu Limited Verification of a model of a GUI-based application
US11630645B2 (en) * 2014-09-13 2023-04-18 Aaron Evans System and method for managing and using data model
US9552249B1 (en) * 2014-10-20 2017-01-24 Veritas Technologies Systems and methods for troubleshooting errors within computing tasks using models of log files
US10200486B2 (en) 2015-02-26 2019-02-05 Urban Airship, Inc. Mobile event notifications for network enabled objects
US11283697B1 (en) 2015-03-24 2022-03-22 Vmware, Inc. Scalable real time metrics management
WO2016157298A1 (ja) * 2015-03-27 2016-10-06 ルネサスエレクトロニクス株式会社 解析装置及び解析方法
US10020983B2 (en) 2015-07-31 2018-07-10 Ca, Inc. Reachability fault isolation and recovery using asynchronous notifications
US10078562B2 (en) 2015-08-18 2018-09-18 Microsoft Technology Licensing, Llc Transactional distributed lifecycle management of diverse application data structures
US10057142B2 (en) 2015-08-19 2018-08-21 Microsoft Technology Licensing, Llc Diagnostic framework in computing systems
US10594562B1 (en) 2015-08-25 2020-03-17 Vmware, Inc. Intelligent autoscale of services
US10313211B1 (en) * 2015-08-25 2019-06-04 Avi Networks Distributed network service risk monitoring and scoring
RU2625051C1 (ru) * 2016-02-18 2017-07-11 Акционерное общество "Лаборатория Касперского" Система и способ обнаружений аномалий в технологической системе
EP3208735B1 (en) * 2016-02-18 2018-12-19 AO Kaspersky Lab System and method of protection of technological systems from cyber attacks
US10212041B1 (en) 2016-03-04 2019-02-19 Avi Networks Traffic pattern detection and presentation in container-based cloud computing architecture
US10931548B1 (en) 2016-03-28 2021-02-23 Vmware, Inc. Collecting health monitoring data pertaining to an application from a selected set of service engines
US9705751B1 (en) * 2016-03-31 2017-07-11 Sas Institute Inc. System for calibrating and validating parameters for optimization
US10360095B2 (en) * 2016-03-31 2019-07-23 Change Healthcare Holdings, Llc Methods and apparatuses for improving failure recovery in a distributed system
US10127386B2 (en) * 2016-05-12 2018-11-13 Synopsys, Inc. Systems and methods for adaptive analysis of software
CN105975604B (zh) * 2016-05-12 2017-10-03 清华大学 一种分布迭代式数据处理程序异常检测与诊断方法
US10255128B2 (en) 2016-08-17 2019-04-09 Red Hat, Inc. Root cause candidate determination in multiple process systems
JP6767042B2 (ja) * 2016-09-26 2020-10-14 国立研究開発法人情報通信研究機構 シナリオパッセージ分類器、シナリオ分類器、及びそのためのコンピュータプログラム
US10338986B2 (en) 2016-10-28 2019-07-02 Microsoft Technology Licensing, Llc Systems and methods for correlating errors to processing steps and data records to facilitate understanding of errors
US10324818B2 (en) * 2016-12-21 2019-06-18 Ca, Inc. Data analytics correlation for heterogeneous monitoring systems
US10467132B1 (en) * 2017-05-16 2019-11-05 Intuit, Inc. Variability system and analytics for continuous reliability in cloud-based workflows
US10635519B1 (en) * 2017-11-30 2020-04-28 Uptake Technologies, Inc. Systems and methods for detecting and remedying software anomalies
EP3493051A1 (en) * 2017-11-30 2019-06-05 The MathWorks, Inc. System and methods for evaluating compliance of implementation code with a software architecture specification
DE102018003142A1 (de) 2017-12-13 2019-06-13 The Mathworks, Inc. Automatische Einstellung von Multitasking-Konfigurationen für ein Codeprüfsystem
US10999168B1 (en) 2018-05-30 2021-05-04 Vmware, Inc. User defined custom metrics
US10860400B2 (en) * 2018-07-31 2020-12-08 EMC IP Holding Company LLC Intelligent monitoring and diagnostics for application support
US11044180B2 (en) 2018-10-26 2021-06-22 Vmware, Inc. Collecting samples hierarchically in a datacenter
US11379475B2 (en) * 2018-10-26 2022-07-05 Splunk Inc. Analyzing tags associated with high-latency and error spans for instrumented software
US11582120B2 (en) 2019-05-30 2023-02-14 Vmware, Inc. Partitioning health monitoring in a global server load balancing system
JP7309533B2 (ja) * 2019-09-06 2023-07-18 株式会社日立製作所 モデル改善支援システム
TWI739556B (zh) * 2020-08-19 2021-09-11 瑞昱半導體股份有限公司 時脈死結檢測系統、方法以及非暫態電腦可讀取媒體
EP3985514A1 (fr) * 2020-10-19 2022-04-20 Bull SAS Procédé de prédiction et d'analyse non intrusif d'au moins un incident dans un centre de données
US11811861B2 (en) 2021-05-17 2023-11-07 Vmware, Inc. Dynamically updating load balancing criteria
US11792155B2 (en) 2021-06-14 2023-10-17 Vmware, Inc. Method and apparatus for enhanced client persistence in multi-site GSLB deployments
US20230247034A1 (en) * 2022-02-01 2023-08-03 Sap Se Log entry buffer extension network
US12107821B2 (en) 2022-07-14 2024-10-01 VMware LLC Two tier DNS
CN116258350B (zh) * 2023-05-15 2023-08-11 烟台岸基网络科技有限公司 海运集装箱运输监控方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836208A (zh) * 2003-10-23 2006-09-20 微软公司 计算机系统和分布式应用程序的基于模型管理
US20100218031A1 (en) * 2009-02-20 2010-08-26 International Business Machines Corporation Root cause analysis by correlating symptoms with asynchronous changes

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960199A (en) * 1996-11-12 1999-09-28 International Business Machines Corporation Model trace view for object-oriented systems
US6941362B2 (en) * 2000-04-28 2005-09-06 Sheer Networks Inc. Root cause analysis in a distributed network management architecture
US7058958B1 (en) * 2002-04-23 2006-06-06 Microsoft Corporation Client programming model with abstraction
US7096459B2 (en) * 2002-09-11 2006-08-22 International Business Machines Corporation Methods and apparatus for root cause identification and problem determination in distributed systems
US8032866B1 (en) * 2003-03-27 2011-10-04 Identify Software Ltd. System and method for troubleshooting runtime software problems using application learning
US7490317B1 (en) * 2004-09-09 2009-02-10 Sun Microsystems, Inc. Methods and apparatus for representing application dependencies
US20070028220A1 (en) * 2004-10-15 2007-02-01 Xerox Corporation Fault detection and root cause identification in complex systems
US8001527B1 (en) * 2004-12-21 2011-08-16 Zenprise, Inc. Automated root cause analysis of problems associated with software application deployments
US7779399B2 (en) * 2005-05-16 2010-08-17 Armorize Technologies, Inc. System and method for securing web application code and verifying correctness of software
US7770153B2 (en) * 2005-05-20 2010-08-03 Microsoft Corporation Heap-based bug identification using anomaly detection
US20080016115A1 (en) * 2006-07-17 2008-01-17 Microsoft Corporation Managing Networks Using Dependency Analysis
US8205215B2 (en) * 2007-05-04 2012-06-19 Microsoft Corporation Automated event correlation
US8069434B2 (en) * 2007-10-29 2011-11-29 Sap Ag Integrated model checking and issue resolution framework
US8504330B2 (en) 2008-07-14 2013-08-06 Nec Laboratories America, Inc. Parallelizing bounded model checking using tunnels over a distributed framework
US7984332B2 (en) * 2008-11-17 2011-07-19 Microsoft Corporation Distributed system checker
US8185781B2 (en) * 2009-04-09 2012-05-22 Nec Laboratories America, Inc. Invariants-based learning method and system for failure diagnosis in large scale computing systems
US20100306732A1 (en) * 2009-05-26 2010-12-02 Jerry Zhu Correctness by proof
US20110078666A1 (en) * 2009-05-26 2011-03-31 University Of California System and Method for Reproducing Device Program Execution
US8943478B2 (en) * 2009-07-14 2015-01-27 International Business Machines Corporation Fault detection and localization in dynamic software applications
US20110083123A1 (en) * 2009-10-05 2011-04-07 Microsoft Corporation Automatically localizing root error through log analysis
US8364775B2 (en) * 2010-08-12 2013-01-29 International Business Machines Corporation High availability management system for stateless components in a distributed master-slave component topology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836208A (zh) * 2003-10-23 2006-09-20 微软公司 计算机系统和分布式应用程序的基于模型管理
US20100218031A1 (en) * 2009-02-20 2010-08-26 International Business Machines Corporation Root cause analysis by correlating symptoms with asynchronous changes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PATRICK REYNOLDS等: "Pip: Detecting the Unexpected in Distributed Systems", 《IN PROC. 3RD SYMP. ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION (NSDI)》, 31 May 2006 (2006-05-31) *
XUEZHENG LIU等: "D3S: Debugging Deployed Distributed Systems", 《PROCEEDINGS OF 5TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION》, 31 December 2008 (2008-12-31) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637432A (zh) * 2013-08-30 2016-06-01 慧与发展有限责任合伙企业 识别被监控实体的异常行为
CN105531867A (zh) * 2013-09-18 2016-04-27 索尼公司 电力储存系统
CN105531867B (zh) * 2013-09-18 2019-09-06 株式会社村田制作所 电力储存系统
CN111526028A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 数据处理方法、装置及设备
CN112181844A (zh) * 2020-10-12 2021-01-05 南京大学 一种验证分布式协议活性属性容错机制的检测方法及装置

Also Published As

Publication number Publication date
US20120101800A1 (en) 2012-04-26
CN102436376B (zh) 2016-01-13
US9092561B2 (en) 2015-07-28

Similar Documents

Publication Publication Date Title
CN102436376B (zh) 用于分布式应用确认的模型检查
Fu et al. Execution anomaly detection in distributed systems through unstructured log analysis
Lou et al. Software analytics for incident management of online services: An experience report
Lo et al. Classification of software behaviors for failure detection: a discriminative pattern mining approach
Lou et al. Experience report on applying software analytics in incident management of online service
Zhao et al. Predicting performance anomalies in software systems at run-time
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
CN104636130A (zh) 用于生成事件树的方法和系统
CN115118580B (zh) 告警分析方法以及装置
Pham et al. Reliability prediction for component-based software systems with architectural-level fault tolerance mechanisms
US11163924B2 (en) Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles
CN115118621A (zh) 一种基于依赖关系图的微服务性能诊断方法及系统
Chen et al. FRL-MFPG: Propagation-aware fault root cause location for microservice intelligent operation and maintenance
Brodie et al. Automated problem determination using call-stack matching
Bernardi et al. A UML profile for dependability analysis of real-time embedded systems
Lo et al. Efficient mining of recurrent rules from a sequence database
CN114503132A (zh) 机器学习模型训练的调试和剖析
Chen et al. Effective online software anomaly detection
Meng et al. IT troubleshooting with drift analysis in the DevOps era
Jacques-Silva et al. Survivability modeling to assess deployment alternatives accounting for rejuvenation
Chren Towards multi-layered reliability analysis in smart grids
Talwadker Dexter: faster troubleshooting of misconfiguration cases using system logs
Tadano et al. Automatic synthesis of SRN models from system operation templates for availability analysis
CN117312175B (zh) 数据处理方法、装置、计算机设备及存储介质
Reidemeister Fault diagnosis in enterprise software systems using discrete monitoring data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150723

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150723

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160629

Address after: Grand Cayman, Georgetown, Cayman Islands

Patentee after: IValley Holding Co., Ltd.

Address before: Washington State

Patentee before: Micro soft technique license Co., Ltd