CN111052076A - 用于计算机器的自动控制的动态命令生成 - Google Patents

用于计算机器的自动控制的动态命令生成 Download PDF

Info

Publication number
CN111052076A
CN111052076A CN201880057705.3A CN201880057705A CN111052076A CN 111052076 A CN111052076 A CN 111052076A CN 201880057705 A CN201880057705 A CN 201880057705A CN 111052076 A CN111052076 A CN 111052076A
Authority
CN
China
Prior art keywords
command
computing machine
application
information
computer system
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
CN201880057705.3A
Other languages
English (en)
Other versions
CN111052076B (zh
Inventor
黄伟
R·拉贾戈帕兰
J·B·布鲁诺
李中原
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111052076A publication Critical patent/CN111052076A/zh
Application granted granted Critical
Publication of CN111052076B publication Critical patent/CN111052076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

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

Abstract

系统生成命令,该命令用以使计算机器收集针对应用发生的问题的信息。该命令被存储在命令列表中,并且与针对计算机器的计算机器标识符相关联。系统从计算机器接收针对命令列表的查询。查询包括计算机器标识符,并且系统基于命令与计算机器标识符相关联,在命令列表中定位命令。然后,系统将命令发送给计算机器,其中命令动态地使计算机器收集针对应用的问题的信息。

Description

用于计算机器的自动控制的动态命令生成
背景技术
问题可能会在用户正使用应用时发生,诸如在应用启动之后,该应用迅速退出。然后,提供方可能会接收到关于问题的反馈。例如,用户可以经由专用于提供反馈的工具来报告问题。然而,由于提供方没有关于该问题的任何日志,因此所接收的大多数反馈是不可动作的。而且,提供方可能会接收到来自正经历问题的应用的报告。然而,由于没有日志在应用报告问题时被接收到,因此这些问题仍然是不可动作的。
附图说明
图1描绘了根据一些实施例的用于自动收集遥测信息的简化系统。
图2描绘了根据一些实施例的用于生成命令的方法的简化流程图。
图3描绘了根据一些实施例的命令列表的示例。
图4描绘了根据一些实施例的用于取回命令的方法的简化流程图。
图5描绘了根据一个实施例的计算机器的更详细的示例。
图6描绘了根据一些实施例的用于收集运行时遥测信息的方法的简化流程图。
图7描绘了根据某些实施例的示例计算机系统的简化框图。
具体实施方式
服务器系统可以接收针对应用所发生的问题的信息。例如,服务器系统可以接收正在运行应用的计算机器的计算机器标识符(ID),以及正在经历问题的应用的应用名称。然后,服务器系统可以动态发起针对该应用的遥测信息的收集。例如,服务器系统可以生成诸如遥控命令的命令,该命令远程地将计算机器配置成收集针对该问题的针对该应用的遥测信息。然而,服务器系统可以不将命令推送到计算机器。而是,服务器系统可以将命令存储在未决命令列表中。
服务器系统可以不将命令推送到计算机器,因为在一些示例中,服务器系统可能无法连接到计算机器,因为服务器系统仅接收到机器ID和经历问题的应用的应用名称。但是,计算机器被配置成向服务器系统查询在未决命令列表中与该计算机器相关联的任何命令。例如,计算机器可以定期地查询服务器系统,诸如每天一次、每12小时一次、每小时一次等。查询可以包括计算机器标识符,计算机器标识符允许服务器系统在未决命令列表中定位与计算机器ID相关联的任何命令。服务器系统取回命令并且将命令发送给计算机器。命令可以包括用以将计算机器配置成收集针对应用的遥测信息的信息,诸如计算机器标识符、应用名称、命令名称以及执行命令所需的其他参数。然后,计算机器可以执行命令,该命令可以使计算机器执行收集针对应用的遥测信息的一个或多个动作。
遥测信息的一些示例可以包括日志文件信息,该日志文件信息可以是应用运行于其中的操作系统的日志文件,或者是应用日志文件。附加地,在启动应用时,计算机器可以开启运行时代理来监测应用。然后,运行时代理可以从应用或操作系统收集运行时信息。然后,计算机器将所收集的遥测信息返回给服务器系统。
未决命令列表的使用允许服务器系统动态地改变计算机器的操作以及限定计算机器收集什么遥测信息。例如,在接收到命令后,该命令动态地改变计算机器收集什么以作为遥测信息。然后,遥测信息可以用于改进应用的操作,但可以不专门解决计算机器上的当前问题。而且,在一些实施例中,不收集用户的身份;而是,服务器系统知道计算机器ID。这允许服务器系统使用户身份保持匿名,但仍使计算机器收集遥测信息。
概述
图1描绘了根据一些实施例的用于自动收集遥测信息的简化系统100。系统100包括服务器系统102和计算机器104-1至104-N。服务器系统102可以被实施在任何数目的计算设备中,并且将理解,所描述的功能可以跨多个计算设备分布或在单个计算设备上执行。计算机器104可以是能够执行应用112-1至112-N的计算设备,诸如个人计算机器、移动设备、平板设备或其他类型的计算设备。
应用112可以是在操作系统上运行的应用,可以是操作系统本身,或者可以是在操作系统上运行的应用的组合。在一些实施例中,操作系统可以由提供方操作的服务器系统102开发和拥有,并且在操作系统上运行的应用可以由提供方拥有或可以不由提供方拥有。而且,将理解,应用112可以在计算机器104上运行或与计算机器104远程地运行。不同的计算机器104也可以执行不同的应用112。
在应用112的执行期间,问题可能发生。例如,问题可以包括:应用在被启动后迅速关闭、操作缓慢、或者用户或应用可能经历的其他问题。在一些实施例中,发生的问题可能与崩溃不同,崩溃可以在应用停止工作并退出时发生。崩溃报告服务可以报告崩溃以及与此有关的任何细节。该报告可以在报告中包括用户ID。但是,在当前环境中的应用发生问题时,命令引擎106接收问题的报告,该问题的报告具有应用名称和机器ID的指示,但可以不接收用户ID。在一些实施例中,命令引擎106不与问题的报告一起接收正在使用计算机器104的用户的用户ID或身份的任何指示。针对问题的报告使用户保持匿名。然而,在一些实施例中,可以接收用户ID。而且,在一些实施例中,命令引擎106接收发生的问题的指示,诸如问题的描述是应用在开始之后很快关闭。然而,在其他实施例中,命令引擎106不接收已发生什么问题的指示。即,报告仅陈述应用112具有问题,但不标识该问题。
命令引擎106可以以不同方式接收问题。例如,用户可以经由反馈工具(例如,反馈界面或页面)报告问题,反馈工具可以与应用112分离。反馈工具可以不提供任何日志,而仅提供机器ID和应用名称发生的问题的指示。而且,操作系统或应用可以将该机器ID和应用名称的问题的描述发送给命令引擎106。在一些实施例中,当问题的描述被发送时,操作系统或应用可以不发送任何日志。
命令引擎106然后可以自动评估问题并且生成针对计算机器104的命令。该命令可以是遥控命令,其可以是远程控制计算机器104来执行一些动作的命令。然后,命令引擎106将命令存储在未决命令列表108中。该命令可以使计算机器收集遥测信息,遥测信息可以是由计算机器104收集并且被发送给服务器系统102的任何信息。因为命令引擎106不推送命令,所以在某一时刻,计算机器104向服务器系统102发送对命令的请求。然后,服务器系统102确定哪些命令对应于哪些计算机器104,并且将相应的命令发送给计算机器104,诸如将命令列表#1发送给计算机器#1,并且将命令列表#N发送给计算机器#N。
命令生成
图2描绘了根据一些实施例的用于生成命令的方法的简化流程图200。在202处,命令引擎106接收针对在应用112处发生的问题的报告。信息可以如上所述地被接收,诸如通过反馈工具或从应用112接收。在204处,命令引擎106确定针对该问题的机器ID和应用名称。例如,报告可以包括机器ID和应用名称,但是不包括与计算机器104相关联的用户的标识信息。
在206处,命令引擎106基于所接收的报告自动评估问题。例如,报告还可以包括对发生的问题的描述。但是,该问题可以不包括来自经历该问题的特定机器的日志。而是,报告中包括问题的标识。命令引擎106可以解析报告并且将规则应用于报告中的信息。规则可以包括参量和要采取的对应动作(如果有的话)。规则的示例可以是:如果问题#X发生N次,则生成命令#X。
基于对规则进行应用,在208处,命令引擎106确定是否生成针对该问题的命令。例如,命令引擎106可能不会针对接收到的所有问题都使遥测信息被收集在计算机器上。如上所述,服务器系统102可以评估和改进应用112的操作。即,服务器系统102不是仅在发生问题的计算机器上解决当前的问题。而是,从计算机器104接收到的信息可以用于全局地改进应用112。因此,并非每个问题都可以使命令被生成。例如,问题可能必须发生超过阈值的次数。该阈值可以跨使用应用112的多个计算机器104被全局应用,或者可以必须在特定计算机器上发生多次。而且,注意,问题的单次发生也可以触发命令的生成。
如果命令不应当被生成,则在210处,命令引擎106存储针对问题的信息。例如,可以针对该问题存储机器ID和应用名称。该信息之后可以被用在关于是否针对当前接收到的问题来生成命令的评估中,或者被用在应用112的任何评估中。
如果命令应当被生成,则在212处,命令引擎106基于机器ID、应用名称和规则来自动生成命令。例如,该命令可以是从可用命令中选择的特定命令,并且由包括机器ID、应用名称、命令名称以及在评估期间被确定的任何额外参数的参数组成。如将在下面更详细地讨论的,命令可以使一个或多个动作在计算机器104上被执行。
在214处,命令引擎106将命令存储在命令列表108中。命令可以不被推送到计算机器104。而是,针对要被发送给计算机器104的命令,可能需要从计算机器104接收查询。
命令列表
图3描绘了根据一些实施例的命令列表108的示例。命令列表108可以包括针对多个机器ID的命令。在其他实施例中,每个机器ID可以有单独的命令列表108。命令列表108可以包括针对任何数目的机器ID的任何数目的命令。而且,随着命令引擎106接收问题和生成命令,命令列表108可以动态地改变。
在302处,三个命令#1、#2和#3与机器ID#1相关联。这些命令可以包括不同的命令名称#1、#2和#3。在这种情况下,命令可以使具有机器ID#1的计算机器104针对相同的应用名称执行不同的动作。然而,在其他示例中,机器ID#1可以与针对已经历了问题的多个应用的多个命令相关联。命令还可以包括可以被应用112用来收集遥测信息的任何参数。
在304处,示出了针对另一机器ID#2的命令#10、#11和#12。这些可以是与上面描述的命令相同的命令,也可以是不同的命令。而且,这些命令可以针对相同的应用或针对不同的应用。
当命令引擎106从计算机器104接收到针对命令的请求时,该请求可以包括机器ID。然后,命令引擎106可以从命令列表108中取回针对该机器ID的命令。例如,命令引擎106使用机器ID作为查询中的索引或参量,以从命令列表108中取回适用的命令。图4描绘了根据一些实施例的用于取回命令的方法的简化流程图400。在402处,命令引擎106从计算机器104接收对可用于与计算机器相关联的机器ID的命令的查询。计算机器104可以定期发送查询,或者可以诸如在问题发生时触发查询。而且,该查询可以是由运行在计算机器104上的操作系统对任何命令的一般查询并且不与任何特定应用112有关,或者该查询可以请求针对特定应用112的命令。在一些示例中,提供方可以将操作系统配置成执行对命令列表的查询,并且命令引擎106利用操作系统中的该特征来改变计算机器104的操作以收集遥测信息。然后,在404处,命令引擎106用机器ID来查询命令列表以取回针对该机器ID的命令。例如,参考图3,如果机器ID是机器ID#1,则命令引擎106取回302处的命令。
在406处,命令引擎106将取回的命令发送给请求计算机器104。发送命令的方法可以基于接收到的查询。例如,查询可以包括允许命令引擎106联系计算机器104的信息,诸如该信息可以是计算机器104的地址。命令引擎106然后可以使用该地址来将命令发送给计算机器104。注意,命令引擎106先前可能无法将命令发送给计算机器104,因为命令引擎106不知道计算机器104的地址。
命令执行
在接收到命令之后,计算机器104可以执行命令以收集针对应用112的遥测信息。图5描绘了根据一个实施例的计算机器104的更详细的示例。代理110的动作可以被执行而无需用户执行任何动作。例如,代理110在操作系统510的后台被运行,并且在计算机器104请求和接收命令时被触发。在一些实施例中,用户可以选择允许代理110在后台运行。
代理110包括命令处理器502,命令处理器502响应于发送对命令的查询而接收命令列表。然后,命令处理器502可以解析命令列表以确定可以被执行的不同类型的命令,诸如运行时命令和日志文件命令。命令处理器502将日志文件命令发送给日志文件代理504,并且将运行时命令发送给运行时代理506。日志文件代理504和运行时代理506可以与操作系统510相关联,诸如两个代理可以与操作系统510一起被运送。
不同类型的命令可以执行不同的动作。例如,日志文件命令可以使日志文件代理504执行与诸如从日志中取回所存储的信息有关的动作。日志文件命令可以取回基于应用112和/或操作系统510的执行而已被保存的信息。而且,运行时命令可以使运行时代理506在应用112在计算机器104上运行时收集运行时信息。运行时命令动态地收集应用112在执行期间生成的信息。
日志文件代理504可以收集不同类型的日志。在一些实施例中,日志文件代理504可以收集操作系统日志。例如,日志文件代理504可以启用日志存储装置508中的存储器内记录,日志存储装置508可以是跟踪应用112的操作的循环缓冲器。日志可以是基于操作系统510跟踪应用112执行时发生的事件。可能发生的事件的示例包括针对应用迅速关闭问题的应用112关闭。事件的日志被存储到针对操作系统的日志文件中。日志文件代理504还可以收集应用特定的日志。例如,每个应用可以具有其自己的特定数据,这些特定数据在执行期间被记录。日志文件代理504可以使用软件跟踪来跟踪应用112的执行以确定应用特定的事件。事件的日志被存储到针对应用的日志文件中。
操作系统510可以基于所接收的运行时命令来调用运行时代理506。例如,运行时命令可以在应用112被启动时启动(或激活)运行时代理506,并且在应用112被关闭时关闭(或去激活)运行时代理510。运行时代理506可以包括监测代理,监测代理能够监测应用112的运行时执行。运行时代理506的一个示例是应用编程接口(API)记录器,其记录应用112调用的每一个操作系统API调用的返回代码。这可以是问题在何时/何处发生的良好的指示器。尽管描述了以上日志文件和运行时信息,但是代理110可以收集其他遥测信息或针对应用112的遥测。
在基于命令收集遥测信息后,代理110将遥测信息发送给服务器系统102或另一遥测设备。在一些示例中,用于发送遥测信息的触发器可以基于特定时间、周期性定时器、诸如应用迅速关闭等在计算机器104上发生的事件、允许用户选择按钮来提供反馈信息的反馈应用,或者在代理110检测到问题何时发生时。
图6描绘了根据一些实施例的用于收集运行时遥测信息的方法的简化流程图600。在602处,运行时代理506接收针对应用112的运行时命令。在604处,运行时代理506检测应用112何时被启动,并且然后运行时代理506针对应用112被启动。例如,操作系统510可以监测应用112何时被启动,并且当应用112的启动被检测到时,运行时代理506被启动。
在606处,运行时代理506在应用112正运行时收集运行时信息。运行时信息可以基于应用112在执行期间执行一些动作。
在608处,运行时代理506检测应用112何时被关闭。然后,在610处,运行时代理506被关闭。在612处,代理110将运行时信息返回给服务器系统102,或者存储该信息以供之后返回。
遥测信息评估
当服务器系统102从代理110接收到信息时,服务器系统102可以评估遥测信息。在一些实施例中,从多个计算机器104接收遥测信息。而且,遥测信息可以是匿名的并且不与特定用户相关联。但是,服务器系统102可以使用命令名称和机器ID使遥测信息与原始问题相关。例如,机器ID和命令名称可以用于查找使命令被生成的问题。在一些示例中,可能已经向多个计算机器104提供了针对应用的相同命令名称。服务器系统102可以针对该问题聚合来自多个计算机器104的遥测信息。然后,服务器系统102可以基于遥测信息来评估针对应用112的问题。注意,由于遥测信息的匿名性质,服务器系统102可以不专门解决计算机器104上的问题。即,如果机器ID#1发送回遥测信息,则服务器系统102不会尝试修复该计算机器上的单个问题。而是,该遥测信息与针对应用112的其他遥测信息一起被评估,以解决关于应用112已发生的问题。然后,可以发布对应用112的更新以全局地修复该问题。
结论
因此,一些实施例提供了一种动态过程,其可以使应用112收集遥测信息。通过使用使代理110向服务器系统102发送对命令的查询的、计算机器104上的功能,服务器系统102可以引起对计算机器104的动态改变而不必联系计算机器104。而且,命令可以用于收集针对计算机器的遥测信息,而无需知道用户的身份。而是,针对一问题,可以仅知道机器ID和应用名称。这使用户信息保持匿名。而是,对从计算机器104接收到的查询的响应被用来改变计算机器104的行为。
示例计算机系统
图7描绘了根据某些实施例的示例计算机系统700的简化框图。计算机系统700可以用于实施前述公开中描述的任何计算设备、系统或服务器。如图7中所示,计算机系统700包括一个或多个处理器702,一个或多个处理器702经由总线子系统704与多个外围设备通信。这些外围设备包括存储子系统706(包括存储器子系统708和文件存储子系统710)、用户接口输入设备712、用户接口输出设备714和网络接口子系统716。
总线子系统704可以提供用于使计算机系统700的各个组件和子系统按预期彼此通信的机制。尽管总线子系统704被示意性地示为单个总线,但是总线子系统的备选实施例可以利用多个总线。
网络接口子系统716可以用作用于在计算机系统700与其他计算机系统或网络之间传送数据的接口。网络接口子系统716的实施例可以包括例如以太网卡、Wi-Fi和/或蜂窝适配器、调制解调器(电话、卫星、电缆、ISDN等)、数字用户线(DSL)单元等等。
用户接口输入设备712可以包括键盘、指向设备(例如,鼠标、轨迹球、触摸板等)、被合并到显示器中的触摸屏、音频输入设备(例如,语音识别系统、麦克风等)和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算机系统700中的所有可能类型的设备和机制。
用户接口输出设备714可以包括显示子系统、打印机或诸如音频输出设备等的非视觉显示器。显示子系统可以是例如诸如液晶显示器(LCD)或有机发光二极管(OLED)显示器的平面面板设备。通常,术语“输出设备”的使用旨在包括用于从计算机系统700输出信息的所有可能类型的设备和机制。
存储子系统706包括存储器子系统708和文件/磁盘存储子系统710。子系统708和710表示非瞬态计算机可读存储介质,其可以存储提供本公开的实施例的功能性的程序代码和/或数据。
存储器子系统708包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)718和其中存储固定指令的只读存储器(ROM)720。文件存储子系统710可以为程序和数据文件提供持久(即非易失性)的存储,并且可以包括磁性或固态硬盘驱动、光驱动以及相关联的可移除介质(例如,CD-ROM、DVD、蓝光等)、基于可移除闪存的驱动或卡和/或本领域已知的其他类型的存储介质。
应当理解,计算机系统700是说明性的,并且具有比系统700更多或更少的组件的许多其他配置是可能的。
上面的描述说明了本公开的各种实施例以及这些实施例的各方面可以如何被实施的示例。以上示例和实施例不应当被认为是仅有的实施例,并且被呈现以说明如由所附权利要求限定的本公开的灵活性和优点。例如,尽管已经关于特定的工艺流程和步骤描述了某些实施例,但是对于本领域技术人员而言明显的是,本公开的范围并不被严格地限制于所描述的流程和步骤。被描述为顺序的步骤可以被并行执行,步骤的次序可以被改变,并且步骤可以被修改、组合、添加或省略。作为另一示例,尽管已经使用硬件和软件的特定组合描述了某些实施例,但是应当认识到,硬件和软件的其他组合也是可能的,并且被描述为以软件实施的特定操作也可以以硬件实施,反之亦然。
因此,说明书和附图应当被认为是说明性而非限制性的。对于本领域技术人员而言,其他布置、实施例、实施方式和等价物将是明显的,并且可以在不脱离如所附权利要求书中阐述的本公开的精神和范围的情况下被采用。

Claims (15)

1.一种计算机系统,包括:
处理器;以及
计算机可读存储介质,其上存储有程序代码,所述程序代码在由所述处理器执行时,使所述处理器:
生成命令,所述命令用以使计算机器收集针对应用发生的问题的信息;
将所述命令存储在命令列表中,所述命令与针对所述计算机器的计算机器标识符相关联;
从所述计算机器接收针对所述命令列表的查询,所述查询包括所述计算机器标识符;
基于所述命令与所述计算机器标识符相关联,在所述命令列表中定位所述命令;以及
将所述命令发送给所述计算机器,其中所述命令动态地使所述计算机器收集针对所述应用的所述问题的所述信息。
2.根据权利要求1所述的计算机系统,其中所述程序代码还使所述处理器:
分析所述应用的所述问题,其中所述命令基于对所述问题的所述分析被自动地生成。
3.根据权利要求2所述的计算机系统,其中所述程序代码还使所述处理器:
基于所述分析生成针对所述命令的一个或多个参数,其中所述一个或多个参数将所述计算机器配置成收集所述信息。
4.根据权利要求1所述的计算机系统,其中所述命令使所述计算机器:使用正执行所述应用的操作系统来收集所述信息。
5.根据权利要求1所述的计算机系统,其中所述信息包括针对所述应用的日志文件。
6.根据权利要求1所述的计算机系统,其中所述命令使所述计算机器:当所述应用正在所述计算机器上运行时,在所述应用的运行时期间收集所述信息。
7.根据权利要求1所述的计算机系统,其中所述命令使代理在所述计算机器上被启动,以在所述应用正在所述计算机器上运行时,从所述应用收集所述信息。
8.根据权利要求7所述的计算机系统,其中所述代理在所述应用正在运行时被启用,并且在所述应用被关闭后被禁用。
9.根据权利要求1所述的计算机系统,其中:
所述命令列表包括针对多个计算机器的多个命令,其中所述多个命令与多个计算机器标识符相关联,并且
使用所述查询中包括的所述计算机器标识符,所述命令在所述多个命令中被定位。
10.根据权利要求9所述的计算机系统,其中所述多个命令中不与所述计算机器标识符相关联的命令不被发送给发送了所述查询的所述计算机器。
11.根据权利要求1所述的计算机系统,其中所述计算机器被配置成:在没有从所述计算机系统接收到用以发送所述查询的请求的情况下,发送针对所述命令列表的所述查询。
12.根据权利要求1所述的计算机系统,其中所述应用被安装于其中的操作系统被配置成发送针对所述命令列表的所述查询。
13.根据权利要求1所述的计算机系统,其中所述程序代码还使所述处理器:
接收针对所述问题的所述信息;以及
将针对所述问题的所述信息与从其他计算机器接收到的其他信息聚合,所述其他计算机器被发送了所述命令,并且在执行所述命令后返回了所述其他信息。
14.一种方法,包括:
由计算设备生成命令,所述命令用以使计算机器收集针对应用发生的问题的信息;
由所述计算设备将所述命令存储在命令列表中,所述命令与针对所述计算机器的计算机器标识符相关联;
由所述计算设备从所述计算机器接收针对所述命令列表的查询,所述查询包括所述计算机器标识符;
由所述计算设备基于所述命令与所述计算机器标识符相关联,在所述命令列表中定位所述命令;以及
由所述计算设备将所述命令发送给所述计算机器,其中所述命令动态地使所述计算机器收集针对所述应用的所述问题的所述信息。
15.一种计算机可读存储介质,其上存储有能够由计算机系统执行的程序代码,所述程序代码使所述计算机系统:
生成命令,所述命令用以使计算机器收集针对应用发生的问题的信息;
将所述命令存储在命令列表中,所述命令与针对所述计算机器的计算机器标识符相关联;
从所述计算机器接收针对所述命令列表的查询,所述查询包括所述计算机器标识符;
基于所述命令与所述计算机器标识符相关联,在所述命令列表中定位所述命令;以及
将所述命令发送给所述计算机器,其中所述命令动态地使所述计算机器收集针对所述应用的所述问题的所述信息。
CN201880057705.3A 2017-09-07 2018-06-22 用于计算机器的自动控制的动态命令生成 Active CN111052076B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/698,204 2017-09-07
US15/698,204 US10606656B2 (en) 2017-09-07 2017-09-07 Dynamic command generation for automated control of computing machines
PCT/US2018/038867 WO2019050603A1 (en) 2017-09-07 2018-06-22 DYNAMIC CONTROL GENERATION FOR AUTOMATED CONTROL OF COMPUTER MACHINERY

Publications (2)

Publication Number Publication Date
CN111052076A true CN111052076A (zh) 2020-04-21
CN111052076B CN111052076B (zh) 2024-03-19

Family

ID=62981329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880057705.3A Active CN111052076B (zh) 2017-09-07 2018-06-22 用于计算机器的自动控制的动态命令生成

Country Status (4)

Country Link
US (1) US10606656B2 (zh)
EP (1) EP3679471B1 (zh)
CN (1) CN111052076B (zh)
WO (1) WO2019050603A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463459B1 (en) * 1999-01-22 2002-10-08 Wall Data Incorporated System and method for executing commands associated with specific virtual desktop
US20100279673A1 (en) * 2009-05-01 2010-11-04 Apple Inc. Remotely Locating and Commanding a Mobile Device
US8041683B1 (en) * 2006-09-29 2011-10-18 Emc Corporation Methods and apparatus for locating network logs
CN102279790A (zh) * 2010-06-11 2011-12-14 国际商业机器公司 分布式调试方法和系统
CN102436387A (zh) * 2010-12-06 2012-05-02 微软公司 快速计算机启动
CN104468572A (zh) * 2014-12-08 2015-03-25 上海大学 一种Android手机语音远程控制菌种挑选仪的方法
US9584378B1 (en) * 2015-12-22 2017-02-28 International Business Machines Corporation Computer-implemented command control in information technology service environment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7748033B2 (en) 2005-02-25 2010-06-29 Microsoft Corporation Windows remote debugger service
US8020149B2 (en) 2006-08-04 2011-09-13 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US7890957B2 (en) * 2006-09-08 2011-02-15 Easyonme, Inc. Remote management of an electronic presence
US20080228863A1 (en) * 2007-03-12 2008-09-18 Timothy Mackey Systems and Methods for End-User Experience Monitoring Using A Script
US8335767B2 (en) * 2007-10-17 2012-12-18 Oracle International Corporation Maintaining and utilizing SQL execution plan histories
US9141580B2 (en) * 2010-03-23 2015-09-22 Citrix Systems, Inc. Systems and methods for monitoring and maintaining consistency of a configuration
US9161158B2 (en) * 2011-06-27 2015-10-13 At&T Intellectual Property I, L.P. Information acquisition using a scalable wireless geocast protocol
US9213841B2 (en) 2012-07-24 2015-12-15 Google Inc. Method, manufacture, and apparatus for secure debug and crash logging of obfuscated libraries
RU2016130451A (ru) 2013-12-30 2018-02-07 Общество с ограниченной ответственностью "Мэйл.Ру" Способ и система помощи пользователю при аварийных завершениях приложения программного обеспечения
US9436533B2 (en) 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices
US9176722B1 (en) * 2014-06-06 2015-11-03 Bank Of America Corporation Web management software configuration automation
US9645880B2 (en) 2014-09-11 2017-05-09 Sap Se Supportability framework for mobile software applications
FR3027178B1 (fr) * 2014-10-10 2018-01-12 Cassidian Cybersecurity Sas Procede d’ajustement dynamique d’un niveau de verbosite d’un composant d’un reseau de communications
US10013454B2 (en) * 2015-01-30 2018-07-03 Splunk Inc. Text-based table manipulation of event data
US10061824B2 (en) * 2015-01-30 2018-08-28 Splunk Inc. Cell-based table manipulation of event data
US10474519B2 (en) * 2015-09-17 2019-11-12 Netapp, Inc. Server fault analysis system using event logs
US9798647B2 (en) 2015-10-30 2017-10-24 Ca, Inc. Display window contextual visualization for application performance monitoring
US10509784B2 (en) * 2017-04-28 2019-12-17 Splunk Inc. Partially typed semantics optimization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463459B1 (en) * 1999-01-22 2002-10-08 Wall Data Incorporated System and method for executing commands associated with specific virtual desktop
US8041683B1 (en) * 2006-09-29 2011-10-18 Emc Corporation Methods and apparatus for locating network logs
US20100279673A1 (en) * 2009-05-01 2010-11-04 Apple Inc. Remotely Locating and Commanding a Mobile Device
CN102279790A (zh) * 2010-06-11 2011-12-14 国际商业机器公司 分布式调试方法和系统
CN102436387A (zh) * 2010-12-06 2012-05-02 微软公司 快速计算机启动
CN104468572A (zh) * 2014-12-08 2015-03-25 上海大学 一种Android手机语音远程控制菌种挑选仪的方法
US9584378B1 (en) * 2015-12-22 2017-02-28 International Business Machines Corporation Computer-implemented command control in information technology service environment

Also Published As

Publication number Publication date
US10606656B2 (en) 2020-03-31
CN111052076B (zh) 2024-03-19
WO2019050603A1 (en) 2019-03-14
EP3679471B1 (en) 2023-06-07
US20190073245A1 (en) 2019-03-07
EP3679471A1 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
US11023355B2 (en) Dynamic tracing using ranking and rating
US11727288B2 (en) Database-management system with artificially intelligent virtual database administration
US9639446B2 (en) Trace monitoring
US10346283B2 (en) Dynamically identifying performance anti-patterns
US9495234B1 (en) Detecting anomalous behavior by determining correlations
US10389850B2 (en) Managing redundancy among application bundles
US20160342404A1 (en) Application bundle pulling
WO2014088559A1 (en) Determining suspected root causes of anomalous network behavior
US10949765B2 (en) Automated inference of evidence from log information
Levy et al. Predictive and Adaptive Failure Mitigation to Avert Production Cloud {VM} Interruptions
US20160342405A1 (en) Application bundle preloading
US10769641B2 (en) Service request management in cloud computing systems
US20160344786A1 (en) Managing staleness latency among application bundles
EP3384391B1 (en) Real-time change data from disparate sources
Lou et al. Experience report on applying software analytics in incident management of online service
KR20090027861A (ko) 전산망에서 발생하는 이벤트를 모니터링하기 위한 방법 및시스템과 이벤트 관리 장치
US11392442B1 (en) Storage array error mitigation
US9032014B2 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
CN111052076B (zh) 用于计算机器的自动控制的动态命令生成
US9354962B1 (en) Memory dump file collection and analysis using analysis server and cloud knowledge base
JP5684640B2 (ja) 仮想環境管理システム
US11243857B2 (en) Executing test scripts with respect to a server stack
Xu et al. Node anomaly detection for homogeneous distributed environments
JP2014109975A (ja) 性能分析装置、性能分析方法及び性能分析プログラム
US12032461B2 (en) Software upgrade stability recommendations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant