CN106462486A - 使用可操作洞察的用户体验诊断 - Google Patents
使用可操作洞察的用户体验诊断 Download PDFInfo
- Publication number
- CN106462486A CN106462486A CN201580023474.0A CN201580023474A CN106462486A CN 106462486 A CN106462486 A CN 106462486A CN 201580023474 A CN201580023474 A CN 201580023474A CN 106462486 A CN106462486 A CN 106462486A
- Authority
- CN
- China
- Prior art keywords
- user
- list
- request
- subsystem
- physical computing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3419—Recording 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 for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3433—Recording 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 for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在物理计算资源操作的上下文中测量并评估计算机系统对用户请求的响应的性能。基于测量到的性能和物理计算资源操作来选择性地提供与计算机系统性能相关的诊断信息。
Description
背景
在用户与计算机系统交互时,对该系统而言,重要的是对用户快速地作出响应。如果系统没有以及时的方式对用户作出响应,用户可能变得沮丧。用户可能不知道为满足用户对系统的请求所需的操作的程度。此外,用户可能不知道被执行以满足简单用户请求或操作的所有子系统操作。在计算机系统相对大(采用合作以满足用户请求的两个或更多个服务器)时,尤其如此。因而,测量或以其他方式量化对计算机系统的用户的系统响应(尽管可能是有价值的)是相当困难的。
在评估这样的计算机系统的操作的现实世界性能时,可能存在可使性能问题的真实原因变得模糊的各种子系统的性能变化。例如,在评估表单的加载系统集合中的任一者的性能时,在表单性能中存在足够变量使得难以理解该表单是否正不良地执行。例如,如果该表单在存在对计算机系统的过度或异常的物理负载或影响时的次优时间打开,甚至以其他方式良好地执行的表单也可能不良地执行。
提供以上讨论仅用作一般的背景信息,并不旨在用作帮助来确定所要求保护的主题的范围。
概述
在物理计算资源操作的上下文中测量并评估计算机系统对用户请求的响应的性能。基于测量到的性能和物理计算资源操作来选择性地提供与计算机系统性能相关的诊断信息。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图简述
图1示出其中本文中描述的各实施例是有用的一个计算环境的框图。
图2示出其中本文中描述的各实施例是有用的更具体计算环境的框图。
图3是评估给定用户可请求操作的各子系统操作以及相关联的物理计算资源的方法的流程图。
图4是评估用于表单打开操作的子系统操作的方法的流程图。
图5是表单打开操作的泳道图。
图6是评估响应于用户请求的计算机系统操作的方法的流程图。
图7是解说一个实施例中的基于表单复杂度(垂直轴)和表单数目(水平轴)来指派的权重的图表。
图8是计算系统中的表单诊断工具的用户界面的图解视图。
图9是示出在云计算架构中图2的系统的框图。
图10是可被用来与本文描述的各种计算系统交互的移动设备的框图。
图11是计算环境的一个实施例的框图。
详细描述
下文描述了用于对执行响应于用户请求的操作的计算机系统执行诊断分析的过程和结构。所请求的操作可以是由计算机系统执行的任何功能、子例程、方法或进程。如在此定义的,操作是在计算机系统上使用多个子系统执行的任何功能、方法、子例程或进程。在用户与计算机系统交互时,与计算机系统相关联的资源被采用。例如,用户可以请求计算机系统执行特定操作,诸如创建账单。该请求可以通过接口来接收,诸如网络接口,并且被传递给计算机系统的微处理器以操作由用户提供的信息。微处理器随后可采用存储器或硬件接口来获得履行用户请求所必需的信息。计算机系统的响应随后可通过该接口被传达给用户。通常,用户只知晓他/她的请求以及接收计算机系统的响应所花的时间。通常,用户不知道满足特定请求所需的各种子系统的操作。另外,如果任何特定子系统的操作过慢,则总体计算机系统响应将被影响。此外,存在可影响子系统操作的多种因素。例如,所请求的操作可能非常复杂或需要很大的子系统操作序列。另选地,各子系统操作所需的物理计算资源可能负担过重。
图1示出其中本文中描述的各实施例是有用的计算环境的一个示例的框图。计算环境1000包括用户采用用户设备104来与计算机系统100交互。用户设备104可以是任何合适的计算设备,包括移动计算设备(诸如移动电话、平板、上网本或膝上型计算机)、台式计算系统、嵌入式计算系统,等等。计算机系统100可以是被布置成向一个或多个用户提供任何合适功能的一个或多个计算机、服务器、或核的任何合适的布置。在一个实施例中,将在业务计算系统的上下文中描述计算机系统100。然而,本文描述的各实施例不限于这样的业务计算系统。
计算机系统100包括耦合到用户界面组件110以向一个或多个用户设备104供应或以其他方式提供用户界面对象或信息的一个或多个处理器108。计算机系统100还包括用于存储信息的一个或多个数据存储112。数据存储112可包括一个或多个表或以任何合适的格式布置的其他数据结构。
计算机系统100还包括或耦合到诊断组件114。诊断组件114提供与用户对计算机系统100的体验相关的可操作洞察。如本文所使用的,“可操作”洞察是基于补救动作是否有效以改进性能来选择性地存储或传达的洞察。另外,“洞察”是与其他诊断信息相比基于特定特性(诸如重要性)而被优先化的诊断信息。向诊断组件114提供了计算机系统100将为其用户提供的各种软件操作的指示以及指示每一这样的软件操作将被如何分解成两个或更多个子系统操作的资源映射。对于每一这样的子系统操作,由该子系统操作占用的物理计算资源被确定并且这样的关联被存储。随后,在用户通过UI组件110向计算机系统100请求特定操作时,诊断组件114确定在用户请求与计算机系统100的响应之间流逝的时间量。诊断组件114具有或耦合到指示各子系统操作的分解的数据以及针对每一子系统操作的相关联的物理计算资源。相应地,诊断组件114能够在每一物理计算资源参与满足用户请求时确定这样的物理计算资源的一个或多个性能参数。如本文中使用的,性能参数是可影响物理计算资源的性能的任何特性或状态。性能参数包括但不限于负载、状态、响应性、工作温度、可用带宽或容量、误码率、功耗、频率、以及占空比。
在一个实施例中,生成计算机系统100的性能遥测。如本文使用的,遥测指的是收集数据(诸如诊断数据)并将该数据传递给系统(诸如诊断组件114)。
用户设备104通信耦合到计算机系统100,如双向箭头116所示。这一耦合可以采取任何合适的形式,包括穿过任何合适的局域网(LAN)或广域网(WAN)的硬连线连接或无线连接。用户设备104提供用户与其交互的用户界面118。用户界面118包括包含表单、控件、按钮等的各种用户界面元素。通过用户界面118,用户发起计算机系统100内的数个操作。在用户与系统100交互时,各种交互穿过计算机系统100的UI组件110。由于它耦合到UI组件110,所以诊断组件114能够标识由用户请求的各种软件操作以及计算机系统100的相关联的响应。
例如,在用户请求打开表单的情况下,诊断组件114将测量计算机系统100花费多长时间来打开表单。如本文所使用的,表单是以特定格式向用户呈现信息并从用户接收信息的用户界面元素。在一个实施例中,表单是在框架环境中与代码组装在一起的预制软件组件的集合。此外,由于诊断组件114包含或耦合到将每一预测的软件操作请求相关到各种子系统操作以及关联于每一子系统操作的物理计算资源的先验信息,因此当一个或多个物理计算资源在相应子系统操作期间负担过重或饱和时,诊断组件114可忽视或忽略计算机系统100的响应。以此方式,诊断组件114可以提供计算机系统100的响应性的指示,而不管对计算机系统100的在软件控制之外的数个影响。
图2示出其中本文中描述的各实施例是尤其有用的业务系统环境2000的一个示例的框图。业务系统200可以是企业资源规划(ERP)系统、客户关系管理(CRM)系统、业务线(LOB)系统等。业务系统200被示为生成可包括表单204的用户界面显示118。业务系统200可具有数千不同表单204,它们中的每一者可具有许多控件。用户与用户界面显示118交互以与业务系统200交互并操纵业务系统。
在一个示例中,业务系统200包括处理器210、数据存储212、应用组件215、用户界面组件216以及表单定义系统218。业务系统200还可包括其它组件232。业务系统200包括或耦合到诊断组件214,诊断组件214包括或耦合到表单资源组件220。表单资源组件220存储与系统的各表单有关的诊断信息以及与操作表单的各子系统所需的物理计算资源有关的信息。
在一个实施例中,数据存储212包括实体222、过程224、应用226、工作流228以及其他的数据记录230。在一个实施例中,实体组件222描述业务系统200内的实体。例如,客户实体描述并定义客户。供应商实体描述并定义供应商。库存项实体描述并定义库存的项。订单实体描述并定义购买订单。以上阐明的列表是作为可在业务系统200内定义的各实体的非限制性示例来提供的。
应用226可以是业务应用,诸如总帐应用、其他会计应用、库存跟踪应用、跟踪机会的应用、以及其他业务应用的主机。在一个示例中,应用组件215运行应用226,应用226可包括业务过程224和工作流228。在一个示例中,过程224和工作流228操作业务数据实体222和其他业务记录230以允许用户在业务系统200内执行他或她的操作。在一个示例中,用户界面组件216或者自行或者在业务系统200中的其他项的控制下生成用户界面显示118。
图3是评估给定软件操作的各子系统操作以及相关联的物理计算资源的方法的流程图。方法300始于框302,在此选择特定操作。在框302选择的操作可以是计算机系统被配置成提供给用户的任何操作。接着,在框304,由诊断组件114(图1中示出)标识可以在该操作的执行期间被使用或调用的子系统操作。在所示示例中,示出了子系统操作SUB1、SUB2——SUBn。在框306,由诊断组件114标识在框304中标识的每一子系统操作所需的物理计算资源。在该示例中,这样的物理计算资源包括CPU 308、高速缓存310、系统总线312、通信资源314、存储驱动器/系统316、和/或其他相关硬件318。在一个实施例中,如在框320所示,可为在框306中标识的每一物理计算资源定义阈值。作为补充或替换,每一物理计算资源的权重可被指派,使得在子系统操作的执行期间在特定物理计算资源中发生的约束可被给予比其他物理计算资源约束更大或更小的重要性。接着,在框322,诊断组件114在资源220中存储在框304中标识的子系统操作、与在框306标识的物理计算资源有关的信息、以及在框320定义的与所选择的操作相关联的阈值/权重。
随后,在用户请求该操作时,该信息可被召回并且该操作的性能可在子系统操作以及相关联的物理计算资源的状态的上下文中被监视。因此,如果特定用户请求花费非常长的时间,但与所请求的功能无关的另一软件系统操作或调用使得物理计算资源负担过重,则计算机系统对用户请求作出响应时的不良性能可被认为不可由诊断组件114或214操作。如果这样的性能是“不可操作的”,则不需要技术人员关注来修正或改进该操作的性能。相反,如果用于用户请求的各子系统操作的物理计算资源没有负担过重,并且对用户请求的系统响应的性能不良,则这样的性能可被认为是可由诊断组件114或214操作的。利用在框320中定义的物理计算资源约束阈值帮助确定性能问题何时是可操作的以及何时它们是不可操作的。
图4是示出评估用于业务系统中的表单打开操作的子系统操作的方法的流程图。方法400始于框402,在此,选择或调用针对特定表单的打开操作。接着,在框404,标识用于表单打开操作的各种子系统或业务逻辑。具体而言,在表单被打开时,执行数个子系统操作。这些子系统操作包括呈现406、串行化408、服务调用410、服务器动作412、表单创建414、元数据加载416、表单初始化418、表单运行420以及查询422。这些子系统各自执行表单打开操作的一部分。子系统中的每一者参与打开特定业务表单的操作。每一子系统将花费时间来执行其打开表单的相应部分。例如,一个子系统可检索表单的描述,而另一子系统将检索该表单的数据,又一子系统可将这两者组合且又一子系统可构建网页。每一子系统可返回独立于业务系统的在子系统的操作期间存在的外部影响的诊断号。然而,如果元数据加载子系统416花费比查询子系统422显著更长的时间,则如果这两者一般被预期花费相同时间量,则这就可指示存在问题。
在框424,由诊断组件214(图2中示出)标识在框404处标识的每一子系统操作的物理计算资源。在所示示例中,标识用于呈现子系统406的物理计算资源。因为呈现子系统406执行存储器内过程,所以高速缓存310的影响变得更显著,而存储驱动器/系统316的影响是不存在的。这些影响由诊断组件214在框424处表征且在资源220中与呈现子系统406相关联。在一个实施例中,框426被使用,其中可相对于被标识为与特定子系统操作相关的每一物理计算资源评估权重和/或阈值信息。
在框428,由诊断组件214评估表单复杂度。表单复杂度是表单与业务系统中的其他表单相比的相对复杂度的指示。表单复杂度可以是影响表单的各方面的性能的函数,诸如与该表单相关联的数据源的数目,打开该表单所需的连接关系的数目,该表单内提供的高、中以及低复杂度控件的数目,以及控件的总数。这些示例是出于解说来提供的并且可以想象到影响表单的性能的表单的任何方面可被用来定义表单复杂度。
在框430,在框404标识的子系统信息、在框424标识的物理计算资源、在框426提供的可任选的权重/阈值信息以及在框428提供的表单复杂度由诊断组件214存储以在请求表单打开操作时参考。
图5是相关于图4描述的表单打开操作的泳道图。打开表单所需的总时间量被示为表单打开框502下的垂直线500。一旦表单打开操作被请求,控制将传递到串行化器子系统408,它需要由垂直线503指示的时间量来将打开表单所需的数据打包,使得该数据可被传送或以其他方式传递。一旦串行化器子系统完成其操作,控制就传递到服务调用子系统410,在此生成服务调用。然而,如图所示,在括号504处所示的小量时间之后,控制传递回串行化器子系统408以执行附加数据打包操作。串行化器408花费一些附加时间(在垂直线506处指示)来完成其操作并且随后控制传递到服务器动作子系统412。服务器动作子系统需要时间508来完成其操作并且随后控制传递到表单创建子系统414。表单创建子系统414需要时间510来完成其操作并且随后控制传递到元数据加载系统416,它在垂直线512处指示的时间内加载该表单的元数据。一旦元数据加载系统416完成其操作,控制就传递到表单初始化子系统418,它需要时间514来初始化表单。一旦表单被初始化,控制就传递到表单运行子系统420,它开始运行表单并且在时间516后将控制传递到查询子系统422。查询子系统422在时间518执行查询并将控制返回到表单运行子系统420。控制以类似方式从表单运行子系统420返回到表单打开502。注意,控制在时间520返回到表单打开502。在时间522之后,控制传递到呈现子系统406,它需要时间524来执行其操作。在其操作完成之际,呈现子系统406将控制返回到表单打开系统502并且表单打开操作完成。
因而,如图所示,打开表单所需的各子系统花费不同时间量。此外,每一子系统执行其操作所需的时间可受控制或软件的范围以外的因素的影响。另外,一些子系统可受不同的计算资源条件的比其他子系统更大的影响。因而,本文中描述的实施例能够在各子系统执行它们的操作的同时基于每一这样的子系统操作的所定义的物理计算资源要求来监视物理计算资源参数或条件并确定这样的子系统操作的性能是否是可接受的。
图6是评估响应于用户请求的计算机系统操作的方法的流程图。方法600始于框602,在此,诊断组件114(图1中示出)或214(图2中示出)检测接收到传入的用户操作请求。在框604,存储与用户操作请求相关的开始时间。接着,在框606,由诊断组件114或214标识与所请求的操作相关联的各种子系统操作和子系统。另外,确定每一这样的子系统操作所需的物理计算资源。这一确定可以采取任何合适的形式,包括访问定义与所请求的操作相关的所有子系统操作的资源以及相关联的物理计算资源,如以上参考图3和4描述的。在框608,在监视映射到子系统操作的执行或以其他方式与子系统操作的执行相关联的物理计算资源时,测量每一子系统操作所需的时间。在框610,确定用户所请求的操作的性能是否是可操作的。这一确定可以通过在各子系统操作执行时间以及在执行子系统操作时发生的测量到的物理计算资源性能参数(诸如系统负载、温度、误码率等等)的上下文中评估总执行时间来完成。如果计算机系统的性能是可操作的(在物理计算资源一般没有负担过重时的不良执行时间),则控制传递到框614。在框614,可操作信息:用户请求的操作、子系统执行性能、以及物理计算资源参数被存储以用于稍后分析。然而,如果物理计算资源在一个或多个子系统操作的执行期间负担过重,则操作不良性能不被确定为是可操作的且方法600在框612结束。以此方式,基于监视的物理计算资源来选择性地存储诊断信息。
图7是解说基于使用频率来指派给表单性能的不同权重的图表。每一可操作表单性能的重要性不一定与其他可操作表单系统。例如,如果表单很少被使用,则与经常使用的不良地执行的表单相比,其性能可较不紧急。图7解说了基于表单频率(水平轴)和打开表单所需的时间量(垂直轴)的加权系统。
图8是业务计算系统中的表单诊断工具的屏幕截图的图解视图。屏幕截图700具有表部分702,该表部分702具有用于时间704、表单名称706、表单计数708、平均加载时间710、打开表单所需的最大时间712以及打开表单所需的最小时间量714的各列。各表单被示为列标题下的各行,其中表单“FMRental”被首先列出。值得注意的是,FMRental具有3.18秒的平均加载时间和130的计数。因而,与其他表单相比,FMRental的加载性能是不良的。此外,表单性能的重要性由于以下事实而增加:FMRental比在表部分702中列出的其他表单打开得更多。屏幕截图700还包括计数/时间/复杂度描绘716(在图8中示为气泡图)。在气泡图716,给定表单的复杂度被描绘为气泡的大小。平均加载时间被示为水平轴,而表单计数或频率被示为垂直轴。当以气泡形式示出时,FMRental基于其平均加载时间而立于其他表单的右侧并且因而需要附加优化。
本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关联的存储器和时序电路系统(未分别示出)的计算机处理器。它们是它们所属的系统或设备的功能部分,且由这些系统中的其他组件或项的功能来激活并促成这些功能。
同样,讨论了多个用户界面显示。它们可以采取各种各样的不同形式且可具有布置于其上的各种各样的不同用户可致动输入机制。例如,用户可致动输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框,等等。例如,可使用点击设备(诸如跟踪球或鼠标)来致动它们。可使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等等来致动它们。还可使用虚拟键盘或其他虚拟致动器来致动它们。另外,在其上显示它们的屏幕是触敏屏的情况下,可以使用触摸手势来致动它们。同样,在显示它们的设备具有语音识别组件的情况下,可以使用语音命令来致动它们。
还讨论了多个数据存储。将注意,它们可各自被分解成多个数据存储。它们全部可位于访问它们的系统的本地,全部可以是远程的,或一些可以在本地而其他在远程。本文构想了所有这些配置。
同样,附图示出了具有归属于每一框的功能的多个框。将注意,可以使用更少的框,使得功能由更少的组件来执行。同样,可以使用更多框,其中功能被分布在更多组件之间。
图9是图2中所示的架构200的框图,不同之处在于其元件被通信联网在云计算架构500中。云计算提供了不要求终端用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。架构200的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础结构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从使用云计算架构的远程位置处的服务提供者来提供。替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的需求。
公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由机构本身管理,并且基础结构通常不与其他机构共享。该机构在某种程度上仍然维护着硬件,诸如安装和维修等。
在图9中所示的实施例中,一些项与图2中所示的那些是类似的,并且它们被类似地编号。图9具体地示出业务系统200位于云502(可以是公共的、私有的或者其中某些部分是公共的而其他部分是私有的组合)中。因此,用户使用用户设备504通过云502来访问那些系统。
图9还描绘了云架构的另一实施例。图9示出还构想了业务系统200的某些元素可被实现在云502中而其他元素没有被实现在云502中。作为示例,数据存储112可位于云502的外部,并且通过云502来被访问。
图10是可被用作其中可部署本发明的系统(或其部分)的用户或客户的手持式设备16的手持式或移动计算设备的一个说明性实施例的简化框图。
图10提供了客户端设备16的组件的大体框图,该客户端设备16可以运行系统200的组件或者与系统200交互、或二者。在设备16中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的本地无线连接的802.11和802.11b(WiFi)协议、和蓝牙协议。
根据其他实施例,应用或系统被容纳在连接到可移动安全数字(SD)卡接口15的SD卡上。SD卡接口15和通信链路13沿总线19与处理器17进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和定位系统27。
在一个实施例中,提供了I/O组件23以促成输入和输出操作。针对设备16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。
在一个示例中,时钟25包括输出时间和日期的真实时间时钟组件。时钟还可以为处理器17提供定时功能。
在一个示例中,定位系统27包括输出设备16的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其它地理功能的测绘软件或导航软件。
存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储37、通信驱动程序39以及通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。处理器17可以也被其他组件激活以促成它们的功能。
网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。
应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。应用33可包括将计算机系统100、200的可被请求的各种用户功能存储在数据存储37内的计算系统诊断应用43。驻留在便携式设备上的诊断应用可与诊断组件114、214合作以接收与用户请求相关的诊断信息。另外,因为用户请求最终在用户的设备上被满足,所以附加诊断(诸如在用户设备上的呈现时间和/或网络通信特性(诸如带宽和/或误码))可以补充由诊断组件114、214提供的可操作诊断信息。
图11是其中可部署系统100、200或其一部分(作为示例)的计算环境的一个实施例。参考图11,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括处理器210)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任一种的局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考图2描述的存储器和程序可被部署在图11的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图11例示出了操作系统834、应用程序835、其它程序模块836和程序数据837。
计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图11示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器841,从可移动、非易失性磁盘852中读取或向其写入的磁盘驱动器851,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘856中读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。
作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(例如,ASIC)、程序专用的标准产品(例如,ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)、等等。
上文讨论并在图11中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图11中,硬盘驱动器841被示为存储操作系统844、应用程序845、其它程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程序835、其它程序模块836和程序数据837相同,也可与它们不同。在此操作系统844、应用程序845、其它程序模块846以及程序数据847被给予了不同的编号,以至少说明它们是不同的副本。
用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器897和打印机896之类的其它外围输出设备,它们可通过输出外围接口895来连接。
计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。图11中所示的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过诸如因特网等WAN 873建立通信的其它手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图11示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
还应注意,本文描述的不同实施例可以按不同的方式来组合。即,一个或多个实施例的各部分可以与一个或多个其他实施例的各部分组合在一起。本文中构想了所有这些。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (10)
1.一种计算机系统,包括:
配置成执行指令以提供至少一个用户请求的操作的至少一个处理器;
耦合到所述至少一个处理器的用户界面组件,所述用户界面组件被配置成接收针对所述至少一个用户请求的操作的请求并且向所述至少一个处理器通知所述请求,所述用户界面组件还被配置成向用户提供信息以完成所述请求;以及
耦合到所述至少一个处理器和所述用户界面组件的诊断组件,所述诊断组件被配置成确定系统性能并基于在所述至少一个用户请求的操作的执行期间确定的物理计算资源信息来选择性地存储系统性能的指示。
2.如权利要求1所述的计算机系统,其特征在于,所述诊断组件耦合到资源,所述资源将至少一个用户请求的操作定义为具有多个子系统操作并且定义每一子系统操作功能的执行所需的物理资源要求。
3.如权利要求1所述的计算机系统,其特征在于,所述资源映射定义与每一物理计算资源相关的阈值,其中如果所述物理计算资源在子系统操作的执行期间在所述阈值之外操作,则选择性地提供系统性能的指示包括不提供所述指示。
4.一种计算机系统,包括:
配置成响应于用户请求执行指令以打开表单的至少一个处理器;
耦合到所述至少一个处理器的用户界面组件,所述用户界面组件被配置成接收打开所述表单的用户请求并且向所述至少一个处理器提供与所述请求相关的指示,所述用户界面组件还被配置成向用户提供所述表单以完成所述请求;
定义能由所述用户通过所述用户界面组件请求的多个表单的表单定义组件;以及
诊断组件,所述诊断组件具有定义用于打开由所述表单定义组件所定义的每一表单的多个子系统操作的资源,其中每一子系统操作具有每一子系统操作的执行所需的多个物理计算资源要求,并且其中所述诊断组件被配置成在打开由所述用户请求且由所述表单定义组件定义的所述表单时确定系统性能并且基于在所述表单的打开期间确定的物理计算资源信息来选择性地存储系统性能的指示。
5.一种用于相关于用户体验来评估计算机系统的性能的计算机实现的方法,所述方法包括:
标识所述计算机系统在用户请求之际提供的至少一个操作;
标识被用来提供所述至少一个操作的多个子系统;
确定在子系统操作期间影响每一子系统的物理计算资源;
使用所述计算机系统执行所述至少一个操作并且在监视在操作期间影响每一子系统的物理计算资源的同时测量系统性能;以及
基于所监视的物理计算资源来选择性地存储与测量到的系统性能有关的诊断信息。
6.如权利要求5所述的计算机实现的方法,其特征在于,所述至少一个操作是表单打开操作。
7.如权利要求6所述的计算机实现的方法,其特征在于,测量系统性能包括确定执行所述表单打开操作所需的时间量。
8.如权利要求7所述的计算机实现的方法,其特征在于,选择性地提供诊断信息包括在所有子系统操作的执行期间所有所监视的物理计算资源在所定义的阈值内操作的情况下提供诊断信息。
9.如权利要求7所述的计算机实现的方法,其特征在于,所述方法进一步包括提供表单打开性能的经排名的指示。
10.如权利要求9所述的计算机实现的方法,其特征在于,所述排名至少部分地基于表单打开频率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/263,590 US9996446B2 (en) | 2014-04-28 | 2014-04-28 | User experience diagnostics with actionable insights |
US14/263,590 | 2014-04-28 | ||
PCT/US2015/026969 WO2015167878A1 (en) | 2014-04-28 | 2015-04-22 | User experience diagnostics with actionable insights |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462486A true CN106462486A (zh) | 2017-02-22 |
CN106462486B CN106462486B (zh) | 2020-02-07 |
Family
ID=53039996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580023474.0A Active CN106462486B (zh) | 2014-04-28 | 2015-04-22 | 使用可操作洞察的用户体验诊断 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9996446B2 (zh) |
EP (1) | EP3138012B1 (zh) |
CN (1) | CN106462486B (zh) |
WO (1) | WO2015167878A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394946B2 (en) | 2012-09-07 | 2019-08-27 | Splunk Inc. | Refining extraction rules based on selected text within events |
US20140208217A1 (en) | 2013-01-22 | 2014-07-24 | Splunk Inc. | Interface for managing splittable timestamps across event records |
US9753909B2 (en) | 2012-09-07 | 2017-09-05 | Splunk, Inc. | Advanced field extractor with multiple positive examples |
US8682906B1 (en) | 2013-01-23 | 2014-03-25 | Splunk Inc. | Real time display of data field values based on manual editing of regular expressions |
US9594814B2 (en) * | 2012-09-07 | 2017-03-14 | Splunk Inc. | Advanced field extractor with modification of an extracted field |
US8751963B1 (en) | 2013-01-23 | 2014-06-10 | Splunk Inc. | Real time indication of previously extracted data fields for regular expressions |
US9152929B2 (en) | 2013-01-23 | 2015-10-06 | Splunk Inc. | Real time display of statistics and values for selected regular expressions |
US9575866B1 (en) * | 2014-11-06 | 2017-02-21 | Dap Holding B.V. | Diagnostic module for monitoring electronic data transmission |
US10372595B1 (en) * | 2016-12-15 | 2019-08-06 | EMC IP Holding Company LLC | System and method to diagnose applications by accessing log files associated with different subsystems of a data center via a common interface |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079160A1 (en) * | 2001-07-20 | 2003-04-24 | Altaworks Corporation | System and methods for adaptive threshold determination for performance metrics |
US20040088406A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | Method and apparatus for determining time varying thresholds for monitored metrics |
US20060101308A1 (en) * | 2004-10-21 | 2006-05-11 | Agarwal Manoj K | System and method for problem determination using dependency graphs and run-time behavior models |
US20080235365A1 (en) * | 2007-03-20 | 2008-09-25 | Jyoti Kumar Bansal | Automatic root cause analysis of performance problems using auto-baselining on aggregated performance metrics |
US20110098973A1 (en) * | 2009-10-23 | 2011-04-28 | Computer Associates Think, Inc. | Automatic Baselining Of Metrics For Application Performance Management |
CN103631703A (zh) * | 2012-08-21 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 安卓设备中的软件性能测试方法和装置 |
CN103744766A (zh) * | 2013-12-30 | 2014-04-23 | 飞天诚信科技股份有限公司 | 一种监控系统的工作方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044335A (en) | 1997-12-23 | 2000-03-28 | At&T Corp. | Productivity metrics for application software systems |
US6499029B1 (en) * | 2000-03-29 | 2002-12-24 | Koninklijke Philips Electronics N.V. | User interface providing automatic organization and filtering of search criteria |
US7231606B2 (en) | 2000-10-31 | 2007-06-12 | Software Research, Inc. | Method and system for testing websites |
US6975963B2 (en) | 2002-09-30 | 2005-12-13 | Mcdata Corporation | Method and system for storing and reporting network performance metrics using histograms |
US8412714B2 (en) * | 2004-11-22 | 2013-04-02 | At&T Intellectual Property Ii, L.P. | Adaptive processing of top-k queries in nested-structure arbitrary markup language such as XML |
US9361622B2 (en) | 2006-12-28 | 2016-06-07 | Oracle International Corporation | Multi-dimensioned data hierarchies |
US20080270469A1 (en) | 2007-04-26 | 2008-10-30 | Microsoft Corporation | Business metrics aggregated by custom hierarchy |
US8209218B1 (en) | 2008-03-14 | 2012-06-26 | DataInfoCom Inc. | Apparatus, system and method for processing, analyzing or displaying data related to performance metrics |
US7912573B2 (en) | 2008-06-17 | 2011-03-22 | Microsoft Corporation | Using metric to evaluate performance impact |
US8624921B2 (en) | 2008-09-30 | 2014-01-07 | Rockwell Automation Technologies, Inc. | Industrial automation visualization schemes employing overlays |
US8589790B2 (en) | 2008-11-02 | 2013-11-19 | Observepoint Llc | Rule-based validation of websites |
US8327335B2 (en) | 2009-09-02 | 2012-12-04 | Compuware Corporation | Performance management tool having unified analysis report |
US8407340B2 (en) | 2010-04-09 | 2013-03-26 | Microsoft Corporation | Page load performance analysis |
US9026862B2 (en) | 2010-12-02 | 2015-05-05 | Robert W. Dreyfoos | Performance monitoring for applications without explicit instrumentation |
US20130097198A1 (en) | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Business activity monitoring runtime |
US20130262656A1 (en) | 2012-03-30 | 2013-10-03 | Jin Cao | System and method for root cause analysis of mobile network performance problems |
US9111102B2 (en) | 2012-09-17 | 2015-08-18 | Microsoft Technology Licensing, Llc | Creation of security roles through user walkthrough of business process workflow |
CN104346231B (zh) * | 2013-07-30 | 2018-06-29 | 商业对象软件有限公司 | 仪表板性能分析器 |
US20150294256A1 (en) | 2014-04-11 | 2015-10-15 | Microsoft Technology Licensing, Llc | Scenario modeling and visualization |
-
2014
- 2014-04-28 US US14/263,590 patent/US9996446B2/en active Active
-
2015
- 2015-04-22 CN CN201580023474.0A patent/CN106462486B/zh active Active
- 2015-04-22 EP EP15720179.9A patent/EP3138012B1/en active Active
- 2015-04-22 WO PCT/US2015/026969 patent/WO2015167878A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079160A1 (en) * | 2001-07-20 | 2003-04-24 | Altaworks Corporation | System and methods for adaptive threshold determination for performance metrics |
US20040088406A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | Method and apparatus for determining time varying thresholds for monitored metrics |
US20060101308A1 (en) * | 2004-10-21 | 2006-05-11 | Agarwal Manoj K | System and method for problem determination using dependency graphs and run-time behavior models |
US20080235365A1 (en) * | 2007-03-20 | 2008-09-25 | Jyoti Kumar Bansal | Automatic root cause analysis of performance problems using auto-baselining on aggregated performance metrics |
US20110098973A1 (en) * | 2009-10-23 | 2011-04-28 | Computer Associates Think, Inc. | Automatic Baselining Of Metrics For Application Performance Management |
CN103631703A (zh) * | 2012-08-21 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 安卓设备中的软件性能测试方法和装置 |
CN103744766A (zh) * | 2013-12-30 | 2014-04-23 | 飞天诚信科技股份有限公司 | 一种监控系统的工作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150309911A1 (en) | 2015-10-29 |
EP3138012A1 (en) | 2017-03-08 |
EP3138012B1 (en) | 2018-12-26 |
WO2015167878A1 (en) | 2015-11-05 |
US9996446B2 (en) | 2018-06-12 |
CN106462486B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462486A (zh) | 使用可操作洞察的用户体验诊断 | |
US11870704B2 (en) | Instant notification of load balance and resource scheduling based on resource capacities and event recognition | |
US9606788B2 (en) | Dynamic update installer for customized software | |
CN105765539B (zh) | 用于自动生成虚拟环境的方法和系统 | |
US9886262B2 (en) | Adaptive upgrade to computing systems | |
CN105723337B (zh) | 用于从交互式开发环境递增地编译软件制品的方法和系统 | |
CN106164945A (zh) | 情景建模和可视化 | |
CN106471517A (zh) | 对显示元素的因用户而异的可视化 | |
CN107710157A (zh) | 多租户、租户特定的应用程序 | |
CN105830019B (zh) | 用于基本模型定制的集成环境 | |
CN105612497A (zh) | 所选更新在多个环境中的自动安装 | |
CN105612495A (zh) | 在计算机系统中安装所选更新之后自动解决冲突 | |
CN106663036A (zh) | 在多租户系统中处理变化 | |
CN105264492A (zh) | 系统行为的自动发现 | |
CN104737124B (zh) | 用于提交服务的业务元数据的门户 | |
CN105612496A (zh) | 基于存储的生命周期信息来自动推荐更新 | |
CN105229614A (zh) | 多承租人数据中心内的诊断存储 | |
US20160048383A1 (en) | Isv update delivery | |
CN106663090A (zh) | 在编译期间将呈现元数据转换成浏览器可渲染格式 | |
CN106164851B (zh) | 基于对已实现的过程进行过程建模的计算机系统的自动配置 | |
CN105229679A (zh) | 生存周期产品分析 | |
US8762427B2 (en) | Settlement house data management system | |
CN107257956A (zh) | 具有自动升级的分层数据表面处理配置 | |
CN106062689A (zh) | 知晓上下文的命令 | |
US20150113499A1 (en) | Runtime support for modeled customizations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |