CN104919427A - 动态组件性能监视 - Google Patents

动态组件性能监视 Download PDF

Info

Publication number
CN104919427A
CN104919427A CN201380070523.7A CN201380070523A CN104919427A CN 104919427 A CN104919427 A CN 104919427A CN 201380070523 A CN201380070523 A CN 201380070523A CN 104919427 A CN104919427 A CN 104919427A
Authority
CN
China
Prior art keywords
data
microdrawing
input data
dynamic assembly
assembly
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
CN201380070523.7A
Other languages
English (en)
Other versions
CN104919427B (zh
Inventor
M.巴克斯鲍姆
M.G.马利根
T.韦克林
M.D.阿特伯里
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology 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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN104919427A publication Critical patent/CN104919427A/zh
Application granted granted Critical
Publication of CN104919427B publication Critical patent/CN104919427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or 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/3452Performance evaluation by statistical analysis
    • 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

Abstract

包括用于动态的图性能监视的、被编码在计算机存储介质上的计算机程序的方法、系统和装置。所述方法之一包括通过所述数据处理系统接收输入数据,所述输入数据由所述数据处理系统上执行的应用来提供。该方法包括确定所述输入数据的特性。该方法包括由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中。该方法包括使用识别出的动态组件来处理所述输入数据。该方法还包括确定与所述处理相关联一个或多个性能度量。

Description

动态组件性能监视
优先权声明
本申请要求于2012年11月16日提交的序列号为13/678,928的美国专利申请的优先权,通过引用将其全部内容结合于此。
技术领域
本描述涉及监视动态图和其他动态计算结构的性能度量(performancemetrics)。
背景技术
计算经常可以通过有向图来表示为数据流(被称为“数据流图”),其具有与图中的顶点(vertice)相关联的计算组件,以及与图的链接(弧、边)相对应的组件之间的数据流。在用于执行这种计算的系统的物理实现中,诸如执行适当的程序指令的微处理器的数据处理元件可以被用来实例化组件和数据流。这些组件可以包括数据处理组件,其在一个或多个输入端口处接收数据、处理该数据并从一个或多个输出端口提供数据,以及用作数据流的源或宿(source or sink)的数据集组件。这些组件还可以包括一个或多个数据图,其可以随着数据在例如“动态组件”或“微型图(micrograph)”中被执行而动态地被加载。在美国专利5966072“Executing ComputationsExpressed as Graphs(执行被表示为图的计算)”中描述了实现这种基于图的计算的系统,并且例如序列号为13/161010的美国专利申请“DynamicallyLoading Graph-Based Computations(动态地加载基于图的计算)”中示出了用于实现这种基于图的计算中的动态组件的系统。
发明内容
在一个方面,一般而言,用于处理数据的方法包括:通过数据处理系统接收输入数据,所述输入数据由在所述数据处理系统上执行的应用来提供。该方法包括确定所述输入数据的特性。该方法包括由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中。该方法包括使用识别出的动态组件来处理所述输入数据。该方法还包括确定与所述处理相关联一个或多个性能度量。
在一个方面,一般而言,用于处理数据的方法包括接收作业(work)的多个单元(unit),所述作业的多个单元各自包括一个或多个作业元素。该方法包括确定作业的第一单元的特性。该方法包括由第一数据流图的组件基于所确定的特性来从多个可用数据流图中识别第二数据流图,所述多个可用数据流图被存储在数据存储系统中。该方法包括使用所述第二数据流图来处理所述作业的第一单元。该方法包括确定与所述处理相关联的一个或多个性能度量。
各方面可以包括以下特征中的一个或多个。所述第二数据流图可以独立于所述第一数据流图而被编译。该方法可以包括在内存数据存储库(in-memory data store)中存储一个或多个性能度量。该方法可以包括将所存储的一个或多个性能度量传送到持久数据存储库。该方法可以将所述一个或多个性能度量与先前获得的性能度量聚合(aggregating)。聚合所述一个或多个性能度量可以包括基于与所述第二数据流图相关联的标识符来聚合所述一个或多个性能度量。聚合所述一个或多个性能度量可以包括基于与所述第一数据流图相关联的标识符来聚合所述一个或多个性能度量。该方法可以包括向用户显示所述一个或多个性能度量。
各方面可以包括以下优点中的一个或多个。动态组件的性能度量可以被收集和报告。可以减少由监视动态执行的性能导致的延迟。
从以下详细描述以及从权利要求中,本发明的其他特征和优点将变得明显。
附图说明
图1是用于执行基于图的计算的系统的框图。
图2示出其中可以收集微型图的性能度量的示例性环境。
图3是从微型图收集性能度量的流程图。
图4示出根据微型图标识符来聚合性能度量的示例。
图5示出其中运行微型图(run-micrograph)组件并行执行的示例环境。
图6示出“提高信用额度”事务的微型图的示例。
图7示出系统监视应用的示例用户接口。
图8示出显示微型图的示例用户接口。
图9示出显示另外的性能度量的示例用户接口。
图10是收集性能度量的示例过程的流程图。
具体实施方式
数据流图系统在必须非常快地处理大量数据的地方被使用。对数据流图系统的性能的监视使得用户能够单独地或成组地识别数据流图的如下组件,其能够被改善或者可能正在不当地执行。例如,性能监视使得用户能够识别如下组件,其使用过量的处理器时间,引入延迟,或者容易出现故障。这些组件可以被检查和修改,以便纠正这些缺陷。
动态地被加载组件(在数据流图执行时被选择和加载的组件)通过在不重新编译现有的图的情况下使能将被引入的新功能,来增强数据流图的功能。然而,对动态地被加载组件的监视引入了另外的复杂情况。
通常,数据流图的创建者可能不知道后来引入的动态组件的特性,这使得这些组件难以监视。传统上,数据流图不能适当地报告这些动态组件的性能特性。
同时,动态组件很有可能导致性能问题。例如,动态组件的创建者可能不知道该组件将被加载到的数据流图的构造中的细微之处(nuance)。因此,该动态组件可能执行不必要的操作,可能对数据流图的其余部分的处理或性能产生不利的影响。
通过扩展数据流图的监视能力以考虑到动态组件,会改善监视数据流图系统的能力。
图1示出其中可以使用性能监视技术的示例性数据处理系统100。系统100包括数据源102,数据源102可以包括一个或多个数据的来源,例如存储设备或到在线数据流的连接,它们中的每个都可以以各种存储格式(例如,数据库表、电子表格文件、纯文本文件、或被主机(mainframe)使用的原生格式(native format))中的任一个来存储数据。执行环境104包括性能监视模块106和执行模块112。执行环境104可以在适当的操作系统(诸如UNIX操作系统)的控制下,被承载(host)在一个或多个通用目的的计算机上。例如,执行环境104可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)(或等同的CPU“核”)的计算系统的配置,这些CPU或者是本地的(例如,多处理器系统,诸如对称多处理器(SMP)计算机),或者是本地分布式的(例如,被耦接为集群或大规模并行处理(MPP)的多个处理器)、或者是远程的、或者是远程分布式的(例如,经由一个或多个局域网(LAN)和/或广域网(WAN)耦合的多个处理器),或它们的任意组合。
执行模块112从数据源102读取数据。提供数据源102的存储设备可以对执行环境104是本地的,例如被存储在被连接到运行执行环境104的计算机的存储介质(如硬盘驱动器108)上,或者可以对执行环境104是远程的,例如通过远程连接被承载在与运行执行环境104的计算机通信的远程系统(如主机110)。
执行模块112使用来自数据源102的数据以生成输出记录114,输出记录114存储在执行环境104可访问的数据存储系统116中。数据存储系统116也是开发环境118可访问的。在某些实现中,开发环境118是将应用开发成数据流图的系统,数据流图包括顶点(代表组件或数据集),该顶点之间由有向链接(link)(代表作业元素的流动)来连接。例如,通过引用并入本文的、美国申请公开号2007/0011668,标题为“Managing Parameters forGraph-Based Applications(管理用于基于图的应用的参数)”中更详细地描述了这种环境。通过引用并入本文的、美国专利号5566072,“ExecutingComputations Expressed as Graphs(执行被表示为图的计算)”中描述了用于执行这种基于图的计算的系统。如在此使用的,术语“图(graph)”和“微型图(micrograph)”是指指令集,并且与执行这些指令的处理器相联系。根据这个系统制作的数据流图提供了用于将信息纳入由图的组件代表的单独进程(process)/从该单独进程取出信息、用于在进程之间移动信息、以及用于定义进程的运行次序的机制(mechanism)。这个系统包括选择进程间通信方法的算法(例如,根据图的链接的通信路径可以使用TCP/IP或UNIX域套接字或共享存储器(shared memory)以在进程间传递数据)。
执行模块112可以从包括不同形式的数据库系统的各种类型的系统接收数据。该数据可以被组织成包括各个字段(field)(也称为“属性”或“列”)的值的记录,有可能包括空(null)值。当从数据源首次读取数据时,执行模块112一般从与该数据源中的记录有关的初始格式信息开始。在一些情形中,数据源的记录结构初始时是未知的,而是可以在分析数据源之后被确定。关于记录的初始信息可以包括代表不同值的比特数、记录中字段的次序、以及由所述比特代表的值的类型(如字符串型、有符号/无符号的整型)。
性能监视模块106收集与执行模块112的性能有关的性能度量。如以下所讨论的,这些度量可以包括,例如,记录读取数、字节读取数、记录写入数、字节写入数、使用的处理器时间以及经过的时间(elapsed time)中的一些或全部。图2示出用于收集由执行模块执行的微型图的性能度量的示例性环境。通常,微型图是被配置为动态地取出(retrieved)并嵌入运行-微型图组件210之内的专用子图(specialized sub-graph)。通过引用并入本文的、美国专利申请号13/161010,“Dynamically Loading Graph-Based Computations(动态地加载基于图的计算)”中描述了用于执行这种动态地加载的图的系统。在一些实现中,微型图可以被预编译。
执行模块112执行图202。执行模块可以是,例如,正由计算机系统执行的进程或一组进程。该图可以是一组计算机可读指令,其被存储在非暂态计算机可读存储设备中,诸如数据贮存器(storage)116中。图202可以从例如图1中的数据贮存器116的数据存储库被加载。
在这个示例中,图202包括从数据源204读取数据的组件206。组件206通过链接208被链接到运行-微型图组件210。来自组件206的输出端口的数据记录被传递到运行-微型图组件210的输入端口中。通常,端口是指通过其数据流图的组件可以接收或提供数据的任何机制。端口可以是,例如,传输控制协议(TCP)/互联网协议(IP)端口、网络套接字、或软件管道(pipe)。端口还可以指,在组件间通信的其他方法,诸如,例如,对共享存储器的读取和写入。
运行-微型图组件210选择要执行的微型图212。例如,信用处理系统可以代表不同用户执行许多动作(action)。所述动作可以包括更改地址、提高信用额度,和取消信用卡。这些活动的每一个可以与在数据记录中存储的不同代码相关联。一系列的数据记录可以包括例如来自第一用户的对地址的第一更改、来自第二用户的对地址的第二更改、来自第三用户的取消信用卡请求、来自第四用户的对地址的第三更改、以及来自第五用户的提高信用额度请求。
为处理这些记录中的每个,一个或多个不同微型图212可以被选择。例如,地址的变更可以由地址变更微型图来处理,取消信用卡可以由取消信用卡微型图来处理,而提高信用额度可以由提高信用额度微型图来处理。微型图可以被存储在数据存储库中并在运行时(run-time)动态地被加载。在一些实现中,微型图可以是预编译的数据流图,其由运行-微型图组件来访问。
该运行-微型图组件可以在输出端口214上产生输出记录,并且该输出记录可以被存储在数据存储库216中。
运行-微型图组件210可以监视和记录微型图212的性能特性。例如,运行-微型图组件210可以收集如下性能度量,诸如,使用的处理时间、经过的时间、字节读取数、记录读取数、字节写入数、记录写入数、执行数、失败的执行数、总持续时间、平均记录处理速率(记录/秒)、平均字节处理速率(字节/秒)等等。
性能度量可以在运行-微型图组件210的第二输出端口218上产生。例如,性能度量可以是一个或多个记录,其包含与所选择的微型图212连同其它所选择的微型图的性能有关的信息。
性能度量可以被存储在性能监视模块106中的数据存储库220中。在一些实现中,数据存储库220可以被选择,以使得写入性能度量的性能影响最小化。例如,减少将性能度量写入数据存储库220而导致的延迟会是有益的。在一些实现中,数据存储库220可以位于共享存储器220中。写入共享(如半导体)存储器的操作通常导致较少的开销,并且因此比写入持久数据存储库,诸如磁盘,的类似操作要快速。
周期性地,例如,每五分钟、十分钟或三十分钟,传送组件222从数据存储库220读取性能度量并将性能度量写入系统监视日志224。在一些实现中,系统监视日志可以位于持久数据存储库中。
系统监视组件226可以从数据存储库220读取性能度量,并可以进一步处理和聚合该数据。例如,系统监视应用可以将与共同构成单个商业事务的多个数据流图相关联的性能度量组合。系统监视应用可以向用户228呈现该性能度量。通常,由运行-微型图组件210接收的每个数据记录可以引起对不同微型图的加载和处理,虽然同一个微型图可以被用于处理多个数据记录。
图3是从基于数据记录的内容而加载的微型图收集性能度量的过程的流程图。该过程可以由例如图1中的执行模块112的执行模块来执行。
在302,例如在运行-微型图组件的输入端口上接收到数据。通常,数据可以是一个或多个记录的形式。记录可以包括可以对应于一个或多个字段的一个或多个值。例如,信用卡事务数据记录可以包括四组四位整数值(如“1234123412341234”),其对应于账号标识符字段。
对于每个记录,微型图可以被加载,304;微型图可以被执行,306;并且度量可以被处理,308。
微型图可以从一个或多个位置或设备,诸如持久数据存储库,被加载,或者,可以被存储在存储器中。加载微型图可以包括选择要加载的适当的微型图,例如通过评估包括记录中的数据中的一些的数据。基于对记录中包含的数据的评估,可以从一个或多个微型图中选择微型图。例如,特定字段或字段的组合可以是要加载哪个微型图的决定因素。
通常,对微型图的选择中使用的数据被称为控制数据。在一些实现中,控制数据可以以要处理的数据中的单独的数据记录的形式被提供给运行-微型图组件。在其他实现中,控制数据可以被集成到每个数据记录中,并且在一些实例中还可以包括要处理的数据。
微型图可以被编译并且被存储在数据存储库中。在一些布置中,微型图是之前被编译并且被存储在数据存储系统中的数据流图,或者被从该数据流图中导出(derived)。在一些布置中,微型图在从数据存储库被加载时保持未编译的形式。微型图可以独立于包括运行-微型图组件的数据流图而被编译。
执行微型图,306,可以包括将数据记录提供到微型图的输入端口以及从微型图的输出端口接收输出记录。在一些实现中,微型图可以接收零个或更多个数据记录并且产生零个或更多个输出记录。
处理度量,308,可以包括确定该微型图的性能度量(例如,处理时间、经过的字节、读取的字节和写入的字节)。度量可以被聚合。即,可以跨越一个或多个微型图的执行对度量进行总计。例如,性能度量可以基于与微型图相关联的名称或其他标签来聚合。例如,所有“取消信用卡”微型图的执行的性能可以被组合。另外,微型图被执行的次数可以被追踪。性能度量可以被存储在内存数据存储库中。
在310确定是否有更多记录要被处理。例如,微型图可以处理多个输入记录以产生单个输出记录。若微型图或运行-微型图组件需要另外的记录,那么新的记录作为数据被接收,302。若不需要另外的记录,那么输出记录被提供和存储,312。
性能度量可以基于运行-微型图组件来聚合。即,通过特定运行-微型图组件的所有微型图的所有执行被聚合。性能度量还可以通过微型图标识符来聚合,如上所述。即,通过特定类型的微型图的所有执行被聚合。微型图标识符可以是,例如微型图的名称。
性能度量也可以不被聚合,而是可以针对微型图的每个单独的执行而被存储。在一些实现中,运行-微型图组件可以被配置为接收:指令如何聚合性能度量的用户定义参数。
如以上讨论的,在微型图的执行期间所收集的性能度量可以随着这些度量被收集而被聚合。图4示出按照微型图标识符来聚合性能度量的示例。被聚合的性能度量可以被系统监视应用所使用并向用户显示。表400可以位于例如图2中的数据存储库220的数据存储库中。在这个示例中,该表包括“微型图标识符”列402,“处理器时间”列404,“经过的时间”列406和“调用(Invocation)”列408。最初,该表包括针对如下各项的行(row):“取消信用卡”微型图的标识符、“购买”微型图的标识符和“支付”微型图的标识符。
当运行-微型图组件,例如图2中的运行-微型图组件210,执行微型图时,表400可以被更新。在这个示例中,表400可以基于由数据记录412代表的、对“取消信用卡”微型图的新的调用而被更新。该新的调用包括0.04秒的处理器时间和0.10秒的经过的时间。
“取消信用卡”行410从表400被读取,并且使用来自新的调用的信息来更新。在这个示例中,“取消信用卡”微型图的累计性能度量包括通过32次调用的、1.23秒的处理器时间和2.62秒的经过的时间。在新的记录被添加之后,已更新的取消信用卡行410包括通过33次调用的、1.27秒的处理器时间(1.23秒+0.04秒)和2.72秒的经过的时间。
以这种方式,性能度量可以在微型图的执行期间被聚合。聚合性能度量可以具有如下益处,使得存储和管理表400所需的存储器开销的数量最小化。
由于相同数据流图的不同实例可以被并行地执行,所以聚合性能度量进一步被复杂化。例如,多个不同机器可以并发地执行和收集同一数据流图的不同实例的性能度量。
图5示出其中运行微型图组件并行执行的示例环境。运行微型图组件的每个实例可以在一个机器、虚拟机器、处理器等等上被执行。
在这个示例中,分割元件502在运行微型图组件的多个实例210a、210b和210c之间划分输入记录的流(flow)。当运行微型图组件处理输入记录并产生输出记录时,输出记录被聚集元件504收集。
每个运行微型图组件的性能度量可以被传递到数据存储库220并且跨越每个并行实例被聚合,或者可以针对每个并行实例独立地被存储。在一些实现中,每个并行实例的性能度量可以被存储在位于同一机器或设备上的独立数据存储库中,作为运行-微型图的实例。
作为子图,每个微型图可以包括多个单独组件,它们使用数据记录来执行一个或多个不同的操作。在一些实现中,微型图可以被仪器化(instrumented)以报告与该微型图的各个组件的性能有关的另外的信息(例如更详细的信息)。图6示出“提高信用额度”事务的微型图的示例。
在这个示例中,“提高信用额度”微型图602在输入端口604上接受输入记录。“提高信用额度”微型图602包括多个组件,诸如获得历史组件606,其获得请求提高信用额度的用户的支付历史;信用检查组件608,其检查用户的信用;选择额度组件610,其基于所述历史和信用检查来选择新的信用额度;以及更新记录组件612,其用新的信用额度来更新或创建输出记录。该输出记录被提供在微型图602的输出端口614上。
微型图602可以在性能监视输出端口616上报告它的构成组件的性能特性。例如,“提高信用额度”微型图612可以报告获得历史组件606、信用检查组件608、选择额度组件610、以及更新记录组件612的处理器时间和经过的时间。运行微型图组件(未示出)可以基于以上所描述的聚合方案来收集和报告这些性能度量。
在一些实现中,运行微型图组件可以请求微型图的构成组件的列表,例如,通过经由专用输入端口(未示出)发送消息。该运行微型图组件可以在性能监视输出端口616上提供组件的列表。例如,响应于来自运行微型图组件(未示出)的请求,“提高信用额度”微型图可以在性能度量端口上提供逗号分隔的列表“获得历史、检查信用、选择额度、更新记录”。
在一些实现中,运行微型图组件维护先前被加载的微型图的记录。当微型图被加载时,运行微型图组件可以确定该微型图之前是否已被加载过。若该微型图之前没有被加载过,那么运行微型图组件请求该微型图的构成组件的列表。这些构成组件的标识可以被存储在数据存储库中。
一旦性能度量被存储在持久数据存储库中,例如图2中的持久数据存储库224,性能监视应用就可以访问并使用所存储的性能度量。通常,性能监视应用以帮助用户理解度量的方式来向用户呈现所收集的度量。
图7示出用于向用户呈现所收集的性能度量的系统的示例用户接口。在这个示例中,用户接口700在用户接口的部分702中呈现数据的汇总(summary)。用户接口700可以以一个或多个形式来呈现,诸如不同类型的基于网络的资源(asset),例如在用户的计算机系统的网页浏览器中显示的网页。
监视器选择器714使得用户能够动态地确定是否监视微型图的执行。在一些实现中,若用户选择不监控微型图的执行,那么不收集性能度量。监视器选择器714还可以允许用户选择如何聚合性能度量。例如,用户可以选择按微型图名称来汇总微型图的性能度量、跨越所有微型图来汇总性能度量、仅存储每个微型图的最近执行、或者保存微型图的每个执行的细节。
通常,任务(job)是指由一个或多个数据流图来处理一组数据记录。对于每个任务,性能度量可以被不同地汇总。例如,一个微型图716(标题为“mg_runner_all.mp”)跨越所有微型图执行被汇总。另一微型图718(标题为“mg_runner_name.mp”)按它的微型图名称被汇总。又一微型图720(标题为“mg_runner.mp”)分别地记录每个执行的性能度量。
每个微型图的性能度量可以从在持久数据存储库中存储的性能度量中获得。例如,开始时间708和经过的时间710,以及使用的总处理器时间712被报告。
在一些实现中,用户接口允许用户扩展和查看具体任务、微型图等的细节。图8示出显示微型图的示例用户接口800。在这个示例中,重新格式化的微型图804被显示。还显示了,用于向重新格式化的微型图804提供输入记录的输入端口802以及用于从重新格式化的微型图804获得输出记录的输出端口806。
性能度量被整合到该用户接口中。在这个示例中,该用户接口显示了已被提供(808)给该微型图的一个记录以及由该微型图已经产生(810)的一个记录。
图9示出显示另外的性能度量的示例用户接口。用户接口900以表格形式呈现被聚合的性能度量。度量列902列出度量的名称,并且,值列904提供该度量的相应值。单位列906提供定义该值904的单位。度量的列表中包括微型图被执行的次数,以及有多少次微型图无法成功地完成执行。
图10是收集性能度量的示例过程的流程图。该过程1000可以由包括例如图1中的执行模块104的执行模块的一个或多个计算机系统来执行。简单起见,该过程将相对于执行该过程的系统来描述。
接收作业的多个单元,1002。作业的单元可以由数据流图的组件来接收。作业的单元可以包括零个或更多个输入数据记录。这些输入数据记录可以从数据存储库提供,或者从数据流图中的在先组件的输出端口来提供。
作业的单元的特性被确定,1004。特性可以是输入数据记录之一的字段中存储的一个或多个值。例如,特性可以是标识将被数据流图的组件所执行的操作的字段中的值。
微型图基于该特性被识别,1006。例如,该过程可以识别执行由所述字段标识的操作的微型图。微型图可以通过将作业的单元的特性与可用微型图的列表进行比较来识别,例如通过使用查找表、字典或类似的数据结构。
被识别出的数据流图被加载,1008。运行微型图组件可以加载该数据流图。微型图可以是,例如在数据存储库中存储的数据流图。微型图可以被配置为由数据流图的组件,例如图2中的运行微型图组件,来加载和执行。在一些布置中,微型图在从数据存储系统被加载时保持未编译的形式。在一些布置中,微型图在被存储到数据存储系统之前被序列化。通常,序列化是如下过程,即,通过序列化,已编译或未编译形式的数据流图被翻译为0和1的二进制流,从而数据流图处于能够容易地被存储在数据存储库中的形式。
作业的单元使用所识别的数据流图来处理,1010。在一些实现中,作业的单元被提供在识别出的微型图的输入端口上。所生成的输出记录,如果有的话,通过识别出的微型图的输出端口来提供。
一个或多个性能度量被确定,1012。性能度量可以由运行微型图组件来确定,或者微型图可以被仪表化(instrumented)以在该微型图的专用的输出端口上提供性能度量。
在此所描述的技术可以被用于其他动态编程系统中。例如,该技术可以被用于其中应用组件或软件程序响应于输入数据而被动态地加载的任何系统中。例如,执行环境可以响应于数据驱动请求来动态加载库。例如,在Java编程语言中,对象可以被存储在归档文件中(被称为.jar或JAR文件)。在其他环境中,软件可以被存储在动态库中(例如,动态链接库,也称为DLL)。以上所描述的技术可以被用于监视这些动态地加载的软件组件的性能。
这些技术还可以被用于数据驱动编程。在数据驱动编程中,执行计算机应用的控制流由输入数据来确定。例如,控制机器人或类似设备的指令可以包括指令“向左、向前、向前、向左、停止”。指令“向右”、“向前”、“向左”、“停止”中的每个可以对应于不同组的编程逻辑。在一些实现中,所述编程逻辑可以被动态地确定并且它还可以被扩展;例如,它可以被存储在辅助数据存储库上的可更新库中。在这些情况下,所存储的编程逻辑的性能可以使用以上所描述的技术来监视。
其中可以以上所描述的技术可能有用的其他情景的示例包括动态类加载。例如,在COM编程中,库可以通过字符串(如“microsoft.scripting”)来标识。所述库的访问的性能度量(如,函数调用、方法等)可以基于所描述的监视技术来确定。
以上描述的性能监视方法可以使用在计算机上执行的软件来实现。例如,该软件在一个或多个被编程或可编程的计算机系统(其可以是各种架构的,诸如分布式、客户端/服务器,或网格)上执行的一个或多个计算机程序中形成过程,这些计算机系统都包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口。该软件可以形成较大程序的一个或多个模块,例如,该软件可以提供与数据流图的设计和配置有关的其他服务。该图的节点和元素可以被实现为在计算机可读介质中存储的数据结构,或者在数据仓库中存储的、遵循数据模型的其他有组织数据。
该软件可以被提供在存储介质上,诸如由通用或专用目的的可编程计算机读取的CD-ROM,或通过网络的通信介质被递送(在传播信号中编码)到将在其中执行软件的计算机的存储介质。所有的功能可以在专用计算机上执行,或者使用专用硬件,例如协处理器,来执行。该软件可以以分布式方式来实现,其中由该软件指定的计算的不同部分由不同的计算机来执行。每个这样的计算机程序优选地被存储在或者被下载到有形的、非暂时的存储介质或设备(例如,固态存储器或介质,或磁或光介质),该存储介质或设备可由通用或专用目的的可编程计算机来读取,从而用于当存储介质或设备被计算机系统读取以执行这里描述的过程时配置和操作该计算机。本发明的系统也可被认为被实现为配置有计算机程序的计算机可读存储介质,其中,如此配置的存储介质使得计算机系统以特定和预定的方式操作以执行这里描述的功能。
已经描述了本发明的若干实施例。将理解的是,前述描述旨在说明而不是限制由所附权利要求的范围所定义的本发明的范围。将理解的是,在不脱离本发明的精神和范围的情况下可以作出各种改变。例如,以上所描述的步骤中一些可以是与顺序无关的,并且因此可以按照与所描述的不同的次序来执行。其他实施例均在以下权利要求的范围之内。

Claims (4)

1.一种用于在数据处理系统中处理数据的方法,该方法包括:
通过所述数据处理系统接收输入数据,所述输入数据由所述数据处理系统上执行的应用来提供;
确定所述输入数据的特性;
由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中;
使用识别出的动态组件来处理所述输入数据;以及
确定与所述处理相关联的一个或多个性能度量。
2.一种计算机可读存储介质,其存储用于在数据处理系统中处理数据的计算机程序,该计算机程序包括用于使计算机系统执行以下操作的指令:
通过所述数据处理系统接收输入数据,所述输入数据由在所述数据处理系统上执行的应用来提供;
确定所述输入数据的特性;
由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中;
使用识别出的动态组件来处理所述输入数据;以及
确定与所述处理相关联的一个或多个性能度量。
3.一种用于处理数据的计算系统,该计算系统包括:
输入设备或端口,被配置为接收输入数据;以及
至少一个处理器,被配置为处理数据,所述处理包括:
通过所述数据处理系统接收输入数据,所述输入数据由在所述数据处理系统上执行的应用来提供;
确定所述输入数据的特性;
由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中;
使用识别出的动态组件来处理所述输入数据;以及
确定与所述处理相关联的一个或多个性能度量。
4.一种用于处理数据的计算系统,该计算系统包括:
用于通过数据处理系统接收输入数据装置,所述输入数据由在所述数据处理系统上执行的应用来提供;
用于确定所述输入数据的特性的装置;
用于由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件的装置,所述多个可用的动态组件被存储在数据存储系统中;
用于使用识别出的动态组件来处理所述输入数据的装置;以及
用于确定与所述处理相关联的一个或多个性能度量的装置。
CN201380070523.7A 2012-11-16 2013-11-15 用于处理数据的方法、计算系统和计算机可读存储介质 Active CN104919427B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,928 US10108521B2 (en) 2012-11-16 2012-11-16 Dynamic component performance monitoring
US13/678,928 2012-11-16
PCT/US2013/070386 WO2014078711A1 (en) 2012-11-16 2013-11-15 Dynamic component performance monitoring

Publications (2)

Publication Number Publication Date
CN104919427A true CN104919427A (zh) 2015-09-16
CN104919427B CN104919427B (zh) 2019-07-09

Family

ID=49681196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380070523.7A Active CN104919427B (zh) 2012-11-16 2013-11-15 用于处理数据的方法、计算系统和计算机可读存储介质

Country Status (10)

Country Link
US (2) US10108521B2 (zh)
EP (1) EP2920696B1 (zh)
JP (1) JP2016501400A (zh)
KR (2) KR20150087265A (zh)
CN (1) CN104919427B (zh)
AU (3) AU2013344535B2 (zh)
CA (1) CA2890143C (zh)
HK (1) HK1209870A1 (zh)
SG (1) SG11201503474XA (zh)
WO (1) WO2014078711A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111902808A (zh) * 2018-01-22 2020-11-06 株式会社特瑞尔 信息处理装置、信息处理方法、程序和信息处理系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2782414C (en) 2009-12-14 2021-08-03 Ab Initio Technology Llc Specifying user interface elements
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
EP3092557B1 (en) 2013-12-05 2024-03-27 AB Initio Technology LLC Managing interfaces for dataflow graphs composed of sub-graphs
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
US20190333030A1 (en) * 2018-04-30 2019-10-31 Bank Of America Corporation Blockchain-based digital token utilization
US11288258B2 (en) 2018-09-25 2022-03-29 Ab Initio Technology Llc Dedicated audit port for implementing recoverability in outputting audit data
US20230086750A1 (en) * 2021-09-20 2023-03-23 Salesforce.Com, Inc. Determining metrics for data records

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235267A1 (en) * 2008-03-13 2009-09-17 International Business Machines Corporation Consolidated display of resource performance trends
US20100281462A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US20110307897A1 (en) * 2010-06-15 2011-12-15 Ab Initio Technology Llc Dynamically loading graph-based computations
US20120054255A1 (en) * 2010-08-25 2012-03-01 Ab Initio Technology Llc Evaluating dataflow graph characteristics
US20120222017A1 (en) * 2011-02-25 2012-08-30 Chad Hinkle Method and apparatus for visualizing computer program execution
US8286176B1 (en) * 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations

Family Cites Families (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3662343A (en) 1970-07-29 1972-05-09 Docutel Corp Credit card automatic currency dispenser
US3662401A (en) 1970-09-23 1972-05-09 Collins Radio Co Method of program execution
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4814979A (en) 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4972314A (en) 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US4720780A (en) 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5127104A (en) 1986-12-29 1992-06-30 Dataflow Computer Corporation Method and product involving translation and execution of programs by automatic partitioning and data structure allocation
JPS63231613A (ja) 1987-03-20 1988-09-27 Matsushita Giken Kk コマンド設定方法
JPS6413189A (en) 1987-07-06 1989-01-18 Nec Corp Character signal generation circuit
JPH0194431A (ja) 1987-10-06 1989-04-13 Matsushita Electric Ind Co Ltd ソフトウェア部品合成装置
US5050068A (en) 1988-10-03 1991-09-17 Duke University Method and apparatus for using extracted program flow information to prepare for execution multiple instruction streams
US5357632A (en) 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5280619A (en) 1990-05-17 1994-01-18 Texas Instruments Incorporated System for accessing shared data using a serialization graph constructed from a history file showing completed locking dependencies between transactions
JPH05134886A (ja) 1990-11-30 1993-06-01 Fujitsu Ltd デツドロツク検出方式
US5323452A (en) 1990-12-18 1994-06-21 Bell Communications Research, Inc. Visual programming of telephone network call processing logic
JPH05197604A (ja) 1991-05-21 1993-08-06 Digital Equip Corp <Dec> マルチプロセッサ・コンピュータ及びその動作方法
EP0529303A3 (en) 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5333319A (en) 1992-03-02 1994-07-26 International Business Machines Corporation Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
JP3223933B2 (ja) 1993-02-10 2001-10-29 日本電信電話株式会社 知識ベース推論方法およびその装置
JP3079881B2 (ja) 1993-08-10 2000-08-21 三菱自動車工業株式会社 道路交通状況推定方法および車両運転特性制御方法
US5745778A (en) 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
US6044211A (en) 1994-03-14 2000-03-28 C.A.E. Plus, Inc. Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
JPH08106540A (ja) 1994-10-06 1996-04-23 Toshiba Corp 編集装置
US5692168A (en) 1994-10-18 1997-11-25 Cyrix Corporation Prefetch buffer using flow control bit to identify changes of flow within the code stream
JPH08305576A (ja) 1995-01-12 1996-11-22 Internatl Business Mach Corp <Ibm> コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法
US5673369A (en) 1995-03-02 1997-09-30 International Business Machines Corporation Authoring knowledge-based systems using interactive directed graphs
US5701400A (en) 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5805462A (en) 1995-08-18 1998-09-08 Vlsi Technology, Inc. Automatic synthesis of integrated circuits employing boolean decomposition
JP3154942B2 (ja) 1995-09-11 2001-04-09 株式会社東芝 分散チェックポイント生成方法および同方法が適用される計算機システム
US5630047A (en) 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5712971A (en) 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
JP3258228B2 (ja) 1996-03-15 2002-02-18 株式会社東芝 チェックポイント生成方法
US7415466B2 (en) 1996-03-19 2008-08-19 Oracle International Corporation Parallel transaction recovery
US6006242A (en) 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
US5857204A (en) 1996-07-02 1999-01-05 Ab Initio Software Corporation Restoring the state of a set of files
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JP3672208B2 (ja) 1996-07-02 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層化トランザクション処理方法
US6016516A (en) 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US6760903B1 (en) 1996-08-27 2004-07-06 Compuware Corporation Coordinated application monitoring in a distributed computing environment
US5799266A (en) 1996-09-19 1998-08-25 Sun Microsystems, Inc. Automatic generation of test drivers
US6038558A (en) 1996-10-18 2000-03-14 Sagent Technology, Inc. Extensible database retrieval and viewing architecture
US5930794A (en) 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6151531A (en) 1996-12-12 2000-11-21 Charles Frankel Et Al System and method for managing the alteration of garments
US5924095A (en) 1997-02-05 1999-07-13 Oracle Corporation Processing distributed transactions in heterogeneous computing environments using two-phase commit
US6330008B1 (en) 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US5933640A (en) 1997-02-26 1999-08-03 Digital Equipment Corporation Method for analyzing and presenting test execution flows of programs
US5899988A (en) 1997-02-28 1999-05-04 Oracle Corporation Bitmapped indexing with high granularity locking
US5999729A (en) 1997-03-06 1999-12-07 Continuum Software, Inc. System and method for developing computer programs for execution on parallel processing systems
US5950212A (en) 1997-04-11 1999-09-07 Oracle Corporation Method and system for workload based group committing for improved performance
US6088716A (en) 1997-04-28 2000-07-11 Ab Initio Software Corporation Method for preventing buffer deadlock in dataflow computations
US6032158A (en) 1997-05-02 2000-02-29 Informatica Corporation Apparatus and method for capturing and propagating changes from an operational database to data marts
US6044394A (en) 1997-07-21 2000-03-28 International Business Machines Corporation Managing independently executing computer tasks that are interrelated by dataflow
US6145017A (en) 1997-08-05 2000-11-07 Adaptec, Inc. Data alignment system for a hardware accelerated command interpreter engine
US6173276B1 (en) 1997-08-21 2001-01-09 Scicomp, Inc. System and method for financial instrument modeling and valuation
US6631402B1 (en) 1997-09-26 2003-10-07 Worldcom, Inc. Integrated proxy interface for web based report requester tool set
US6332212B1 (en) 1997-10-02 2001-12-18 Ltx Corporation Capturing and displaying computer program execution timing
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6339775B1 (en) 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6014670A (en) 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6044374A (en) 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
JPH11184766A (ja) 1997-12-18 1999-07-09 Nippon Telegr & Teleph Corp <Ntt> ビジネスイベントサーバ
US6272650B1 (en) 1998-02-03 2001-08-07 Amazing Media, Inc. System and method for disambiguating scene graph loads
US6437796B2 (en) 1998-02-17 2002-08-20 Sun Microsystems, Inc. Multiple processor visibility search system and method
US6208345B1 (en) 1998-04-15 2001-03-27 Adc Telecommunications, Inc. Visual data integration system and method
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6675189B2 (en) 1998-05-28 2004-01-06 Hewlett-Packard Development Company, L.P. System for learning and applying integrated task and data parallel strategies in dynamic applications
US6480876B2 (en) 1998-05-28 2002-11-12 Compaq Information Technologies Group, L.P. System for integrating task and data parallelism in dynamic applications
US6314114B1 (en) 1998-06-23 2001-11-06 Oracle Corporation Distributed resource management
JP2000010788A (ja) 1998-06-25 2000-01-14 Sharp Corp 緊急動作処理機能を有するコンピュータ装置
US6259988B1 (en) 1998-07-20 2001-07-10 Lockheed Martin Corporation Real-time mission adaptable route planner
JP2000099317A (ja) 1998-09-18 2000-04-07 Toshiba Corp ユーザインタフェース設計装置及び方法
US6401216B1 (en) 1998-10-29 2002-06-04 International Business Machines Corporation System of performing checkpoint/restart of a parallel program
US6608628B1 (en) 1998-11-06 2003-08-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa) Method and apparatus for virtual interactive medical imaging by multiple remotely-located users
ATE267439T1 (de) 1998-11-09 2004-06-15 Broadcom Corp Anzeigesystem zur mischung von graphischen daten und videodaten
WO2005099423A2 (en) 2004-04-16 2005-10-27 Aman James A Automatic event videoing, tracking and content generation system
US6449711B1 (en) 1999-02-04 2002-09-10 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for developing and executing data flow programs
US6538651B1 (en) 1999-03-19 2003-03-25 John Hayman Parametric geometric element definition and generation system and method
US6728879B1 (en) 1999-06-02 2004-04-27 Microsoft Corporation Transactional log with multi-sector log block validation
US6816825B1 (en) 1999-06-18 2004-11-09 Nec Corporation Simulation vector generation from HDL descriptions for observability-enhanced statement coverage
JP2001022571A (ja) 1999-07-09 2001-01-26 Riso Kagaku Corp 電子機器及び該電子機器の制御プログラム書き換え方法
US6647408B1 (en) 1999-07-16 2003-11-11 Novell, Inc. Task distribution
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US20020129340A1 (en) 1999-10-28 2002-09-12 Tuttle Douglas D. Reconfigurable isomorphic software representations
US7137116B2 (en) 1999-11-09 2006-11-14 Microsoft Corporation Method and system for performing a task on a computer
US6879946B2 (en) 1999-11-30 2005-04-12 Pattern Discovery Software Systems Ltd. Intelligent modeling, transformation and manipulation system
US6584581B1 (en) 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
WO2001046798A2 (en) 1999-12-20 2001-06-28 Headway Research Limited System and method for computer-aided graph-based dependency analysis
PL202463B1 (pl) * 2000-03-31 2009-06-30 Sanochemia Pharmazeutika Ag Pochodne galantaminy, sposób ich wytwarzania, środek leczniczy zawierajacy te pochodne, zastosowanie pochodnej galantaminy do wytwarzania środków leczniczych, sposób wytwarzania środków leczniczych oraz sposób oddzielania (+)- i (-)-izomerów
US6848100B1 (en) 2000-03-31 2005-01-25 Intel Corporation Hierarchical software path profiling
US7062483B2 (en) 2000-05-18 2006-06-13 Endeca Technologies, Inc. Hierarchical data-driven search and navigation system and method for information retrieval
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6813761B1 (en) 2000-06-30 2004-11-02 Microsoft Corporation Methods for enhancing flow analysis
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6832369B1 (en) 2000-08-01 2004-12-14 International Business Machines Corporation Object oriented method and apparatus for class variable initialization
US6496961B2 (en) 2000-10-27 2002-12-17 Nec Usa, Inc. Dynamic detection and removal of inactive clauses in SAT with application in image computation
US6975628B2 (en) 2000-12-22 2005-12-13 Intel Corporation Method for representing and controlling packet data flow through packet forwarding hardware
US20020152244A1 (en) 2000-12-22 2002-10-17 International Business Machines Corporation Method and apparatus to dynamically create a customized user interface based on a document type definition
US6804800B2 (en) 2000-12-29 2004-10-12 Intel Corporation Method and apparatus for detecting and recovering from errors in a source synchronous bus
JP4294879B2 (ja) 2001-02-05 2009-07-15 株式会社日立製作所 サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
US20020111876A1 (en) 2001-02-09 2002-08-15 Rudraraju Panduranga R. Transaction aggregation system and method
US7082386B2 (en) 2001-02-21 2006-07-25 International Business Machines Corporation Generalized software modeling tool
US7188091B2 (en) 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
US6651234B2 (en) 2001-04-06 2003-11-18 Nec Corporation Partition-based decision heuristics for SAT and image computation using SAT and BDDs
US20020147745A1 (en) 2001-04-09 2002-10-10 Robert Houben Method and apparatus for document markup language driven server
US7082604B2 (en) 2001-04-20 2006-07-25 Mobile Agent Technologies, Incorporated Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents
US20040093559A1 (en) 2001-05-25 2004-05-13 Ruth Amaru Web client for viewing and interrogating enterprise data semantically
GB2376094A (en) 2001-05-30 2002-12-04 Ibm Flexible navigation of a workflow graph in a data processing system
US7069536B2 (en) 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US20030033432A1 (en) 2001-08-08 2003-02-13 Simpson Shell S. Web based imaging service that converts web pages into content on behalf of another web site
US7594220B2 (en) 2001-08-14 2009-09-22 National Instruments Corporation Configuration diagram with context sensitive connectivity
US20040006745A1 (en) 2001-08-31 2004-01-08 Van Helden Wico Methods, apparatuses, system, and articles for associating metadata with datastream
US7165030B2 (en) 2001-09-17 2007-01-16 Massachusetts Institute Of Technology Concatenative speech synthesis using a finite-state transducer
US7085426B2 (en) 2001-10-15 2006-08-01 Jonas August Volterra filters for enhancement of contours in images
US7130484B2 (en) 2001-10-15 2006-10-31 Jonas August Biased curve indicator random field filters for enhancement of contours in images
DE10152213B4 (de) 2001-10-23 2006-04-27 Onespin Solutions Gmbh Verfahren zur Verifikation digitaler arithmetischer Schaltungen mittels eines Äquivalenzvergleiches
US7092401B2 (en) 2001-11-15 2006-08-15 International Business Machines Corporation Apparatus and method for managing work and completion queues using head and tail pointers with end-to-end context error cache for reliable datagram
DE60106467T2 (de) 2001-12-14 2006-02-23 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
US7240247B2 (en) 2002-04-29 2007-07-03 Intel Corporation Providing a chain of tokenized error and state information for a call stack
US20040041838A1 (en) 2002-09-04 2004-03-04 Adusumilli Venkata J.R.B. Method and system for graphing data
US7103597B2 (en) 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7694272B2 (en) 2002-10-21 2010-04-06 Sungard (Israel) Ltd Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language
US7412658B2 (en) 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US7711772B2 (en) 2002-11-15 2010-05-04 Schlumberger Technology Corporation Web-based system and method for electronic data delivery
US7430747B2 (en) 2002-12-04 2008-09-30 Microsoft Corporation Peer-to peer graphing interfaces and methods
US7441008B2 (en) 2002-12-18 2008-10-21 International Business Machines Corporation Method for correlating transactions and messages
US20050193056A1 (en) 2002-12-26 2005-09-01 Schaefer Diane E. Message transfer using multiplexed connections in an open system interconnection transaction processing environment
US20040148373A1 (en) 2003-01-23 2004-07-29 International Business Machines Corporation Service level agreement compliance measurement
US8281297B2 (en) 2003-02-05 2012-10-02 Arizona Board Of Regents Reconfigurable processing
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US7417645B2 (en) 2003-03-27 2008-08-26 Microsoft Corporation Markup language and object model for vector graphics
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7669129B2 (en) 2003-04-04 2010-02-23 Avid Technology, Inc. Graphical user interface for providing editing of transform hierarchies within an effects tree
US7665025B2 (en) 2003-04-16 2010-02-16 The Mathworks, Inc. Signal navigation and label propagation in block diagrams
US20040225657A1 (en) 2003-05-07 2004-11-11 Panacea Corporation Web services method and system
US8265979B2 (en) 2003-06-17 2012-09-11 International Business Machines Corporation Automatic generation of process models
EP1636730A2 (en) 2003-06-18 2006-03-22 Applera Corporation Methods and systems for the analysis of biological sequence data
EP1639510A1 (en) 2003-06-24 2006-03-29 BAE Systems PLC A method, tool and system for increasing the efficiency of a design process
CA2529925C (en) 2003-06-25 2016-08-23 Ab Initio Software Corporation Computer-aided parallelizing of computation graphs
WO2005008414A2 (en) 2003-07-11 2005-01-27 Computer Associates Think, Inc. Method and apparatus for parallel action processing
GB0318196D0 (en) 2003-08-02 2003-09-03 Ibm A method apparatus and computer program for processing a queue of messages
US7243088B2 (en) 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7444595B2 (en) 2003-08-13 2008-10-28 National Instruments Corporation Graphical programming system and method for creating and managing a scene graph
WO2005022417A2 (en) 2003-08-27 2005-03-10 Ascential Software Corporation Methods and systems for real time integration services
US7174479B2 (en) 2003-09-10 2007-02-06 Microsoft Corporation Method and system for rollback-free failure recovery of multi-step procedures
KR20090039803A (ko) 2003-09-15 2009-04-22 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링
US20050102670A1 (en) 2003-10-21 2005-05-12 Bretl Robert F. Shared object memory with object management for multiple virtual machines
US20050097515A1 (en) 2003-10-31 2005-05-05 Honeywell International, Inc. Data empowered laborsaving test architecture
US7743382B2 (en) 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
US7480863B2 (en) 2003-11-26 2009-01-20 International Business Machines Corporation Dynamic and intelligent hover assistance
US7296072B2 (en) 2003-12-12 2007-11-13 International Business Machines Corporation Enhanced port type agnostic proxy support for web services intermediaries
US7404189B2 (en) 2003-12-30 2008-07-22 International Business Machines Corporation Scheduler supporting web service invocation
US7543275B2 (en) 2004-01-29 2009-06-02 Sun Microsystems, Inc. Mechanism for executing test suites written for different harnesses under one test execution harness
US7467383B2 (en) 2004-03-08 2008-12-16 Ab Initio Software Llc System for controlling task execution using a graphical representation of task dependency
US7594227B2 (en) 2004-03-08 2009-09-22 Ab Initio Technology Llc Dependency graph parameter scoping
US20050256818A1 (en) 2004-04-30 2005-11-17 Xerox Corporation Workflow auto generation from user constraints and hierarchical dependence graphs for workflows
JP2007536634A (ja) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7614037B2 (en) 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
US7316001B2 (en) 2004-06-05 2008-01-01 Graphlogic Inc. Object process graph system
WO2005121950A2 (en) 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform
US7398514B2 (en) 2004-09-29 2008-07-08 Microsoft Corporation Test automation stack layering
US7343482B2 (en) 2004-10-20 2008-03-11 Arm Limited Program subgraph identification
JP4759983B2 (ja) 2004-11-04 2011-08-31 船井電機株式会社 ディスク装置のファームウェア書き換え方法、及びファームウェア書き換えプログラム
US7598953B2 (en) 2004-11-05 2009-10-06 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
US8082541B2 (en) 2004-12-09 2011-12-20 Advantest Corporation Method and system for performing installation and configuration management of tester instrument modules
US7703027B2 (en) 2005-01-13 2010-04-20 National Instruments Corporation Merging graphical programs
WO2006078751A2 (en) 2005-01-18 2006-07-27 Everypoint, Inc. Systems and methods for processing changing data
US8396886B1 (en) 2005-02-03 2013-03-12 Sybase Inc. Continuous processing language for real-time data streams
US7620947B2 (en) 2005-03-11 2009-11-17 Autodesk, Inc. Enhanced directed graph representation for dependency systems
US7505975B2 (en) 2005-04-14 2009-03-17 Bea Systems, Inc. Use of transaction context to select single database instance for global transaction
JP4246176B2 (ja) 2005-04-25 2009-04-02 株式会社日立製作所 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US20070118839A1 (en) 2005-10-24 2007-05-24 Viktors Berstis Method and apparatus for grid project modeling language
US7810085B2 (en) 2005-12-07 2010-10-05 Microsoft Corporation Removal of unnecessary read-to-update upgrades in software transactional memory
US8073671B2 (en) 2006-03-31 2011-12-06 Microsoft Corporation Dynamic software performance models
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
AU2007286155B2 (en) 2006-08-10 2013-12-12 Ab Initio Technology Llc. Distributing services in graph-based computations
US7844946B2 (en) 2006-09-26 2010-11-30 Intel Corporation Methods and apparatus to form a transactional objective instruction construct from lock-based critical sections
WO2008047351A2 (en) 2006-10-19 2008-04-24 Checkmarx Ltd. Locating security vulnerabilities in source code
US8191052B2 (en) 2006-12-01 2012-05-29 Murex S.A.S. Producer graph oriented programming and execution
US20080244524A1 (en) 2007-03-27 2008-10-02 Tim Kelso Program Test System
US7805635B2 (en) 2007-04-09 2010-09-28 International Business Machines Corporation Constraint programming for reduction of system test-configuration-matrix complexity
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
WO2008131106A1 (en) 2007-04-17 2008-10-30 Earl Industries Llc Digital system for organizing diverse information
JP4073033B1 (ja) 2007-04-27 2008-04-09 透 降矢 結合演算の処理機能の向上を考慮した合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US8706667B2 (en) 2007-07-26 2014-04-22 Ab Initio Technology Llc Transactional graph-based computation with error handling
US8347292B2 (en) 2007-08-30 2013-01-01 International Business Machines Corporation Transaction aggregation to increase transaction processing throughout
KR101572599B1 (ko) 2007-09-20 2015-11-27 아브 이니티오 테크놀로지 엘엘시 그래프에 기초한 연산에서 데이터 흐름을 관리하는 방법 및 시스템
US7886141B2 (en) 2007-10-27 2011-02-08 Asix Electronics Corporation Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US20090193416A1 (en) 2008-01-24 2009-07-30 Nec Laboratories America, Inc. Decidability of reachability for threads communicating via locks
US8225288B2 (en) 2008-01-29 2012-07-17 Intuit Inc. Model-based testing using branches, decisions, and options
US8797178B2 (en) 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
US9184874B2 (en) 2008-03-31 2015-11-10 Qualcomm Incorporated Storing log likelihood ratios in interleaved form to reduce hardware memory
US8336052B2 (en) 2008-06-16 2012-12-18 International Business Machines Corporation Management, control, and monitoring of workload including unrelated processes of different containers
CN104679807B (zh) 2008-06-30 2018-06-05 起元技术有限责任公司 基于图的计算中的数据日志记录
US20100070955A1 (en) 2008-07-08 2010-03-18 Nec Laboratories America Alias analysis for concurrent software programs
US8782613B2 (en) 2008-08-12 2014-07-15 Hewlett-Packard Development Company, L.P. Optimizing applications using source code patterns and performance analysis
US20100169137A1 (en) 2008-12-31 2010-07-01 Ebay Inc. Methods and systems to analyze data using a graph
US7979479B2 (en) 2009-01-08 2011-07-12 International Business Machines Corporation Transaction-controlled graph processing and management
US8635694B2 (en) 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
CN102317911B (zh) 2009-02-13 2016-04-06 起元技术有限责任公司 管理任务执行
US7992040B2 (en) 2009-02-20 2011-08-02 International Business Machines Corporation Root cause analysis by correlating symptoms with asynchronous changes
US8327377B2 (en) 2009-04-30 2012-12-04 Ca, Inc. Detecting, logging and tracking component dependencies in web service transactions
US8473901B1 (en) 2009-06-12 2013-06-25 The Mathworks, Inc. Non-literal representation of programming language code
US8205113B2 (en) 2009-07-14 2012-06-19 Ab Initio Technology Llc Fault tolerant batch processing
US8667329B2 (en) 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
AU2014262225A1 (en) 2010-06-15 2014-12-04 Ab Initio Technology Llc Dynamically loading graph-based computations
US8458729B2 (en) 2010-07-20 2013-06-04 International Business Machines Corporation Managing and optimizing workflows among computer applications
US9158650B2 (en) 2010-08-04 2015-10-13 BoxTone, Inc. Mobile application performance management
EP2633398B1 (en) 2010-10-25 2020-05-27 Ab Initio Technology LLC Managing data set objects in a dataflow graph that represents a computer program
US8997024B2 (en) 2010-12-09 2015-03-31 Microsoft Technology Licensing, Llc Navigating between views of a graph using placemarkers
AU2012100128A4 (en) 2011-02-22 2012-03-08 Zensar Technologies Ltd A computer implemented system and method for indexing and optionally annotating use cases and generating test scenarios therefrom
US8732669B2 (en) 2011-03-11 2014-05-20 Oracle International Corporation Efficient model checking technique for finding software defects
US9165029B2 (en) 2011-04-12 2015-10-20 Microsoft Technology Licensing, Llc Navigating performance data from different subsystems
EP2732422A4 (en) * 2011-07-12 2014-12-24 Experian Inf Solutions Inc SYSTEMS AND METHOD FOR A LARGE-RANGE CREDIT DATA PROCESSING ARCHITECTURE
WO2013033824A2 (en) 2011-09-07 2013-03-14 Digital Rapids Corporation Systems and methods for computing applications
US9607045B2 (en) 2012-07-12 2017-03-28 Microsoft Technology Licensing, Llc Progressive query computation using streaming architectures
US9875094B2 (en) 2012-08-29 2018-01-23 International Business Machines Corporation Microcode upgrade in a storage system
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
EP3092557B1 (en) 2013-12-05 2024-03-27 AB Initio Technology LLC Managing interfaces for dataflow graphs composed of sub-graphs

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235267A1 (en) * 2008-03-13 2009-09-17 International Business Machines Corporation Consolidated display of resource performance trends
US8286176B1 (en) * 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US20100281462A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US20110307897A1 (en) * 2010-06-15 2011-12-15 Ab Initio Technology Llc Dynamically loading graph-based computations
US20120054255A1 (en) * 2010-08-25 2012-03-01 Ab Initio Technology Llc Evaluating dataflow graph characteristics
US20120222017A1 (en) * 2011-02-25 2012-08-30 Chad Hinkle Method and apparatus for visualizing computer program execution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111902808A (zh) * 2018-01-22 2020-11-06 株式会社特瑞尔 信息处理装置、信息处理方法、程序和信息处理系统

Also Published As

Publication number Publication date
CA2890143A1 (en) 2014-05-22
AU2021203955A1 (en) 2021-07-08
KR20150087265A (ko) 2015-07-29
US20190026210A1 (en) 2019-01-24
JP2016501400A (ja) 2016-01-18
EP2920696A1 (en) 2015-09-23
AU2019203337B2 (en) 2021-03-18
US10452509B2 (en) 2019-10-22
KR20210054077A (ko) 2021-05-12
SG11201503474XA (en) 2015-05-28
AU2013344535B2 (en) 2019-02-14
WO2014078711A1 (en) 2014-05-22
AU2019203337A1 (en) 2019-05-30
AU2021203955B2 (en) 2022-08-04
AU2013344535A1 (en) 2015-05-21
EP2920696B1 (en) 2020-02-19
HK1209870A1 (zh) 2016-04-08
US20140143757A1 (en) 2014-05-22
KR102404170B1 (ko) 2022-05-30
CN104919427B (zh) 2019-07-09
US10108521B2 (en) 2018-10-23
CA2890143C (en) 2022-03-15

Similar Documents

Publication Publication Date Title
CN104937548A (zh) 动态图的性能监视
AU2021203955B2 (en) Dynamic component performance monitoring
US10459780B2 (en) Automatic application repair by network device agent
US7917911B2 (en) Automated grouping of messages provided to an application using execution path similarity analysis
KR20110124732A (ko) 특정된 트랜젝션 콘텍스트에서의 소프트웨어의 조건부의 동적 인스트루먼테이션
US8725461B2 (en) Inferring effects of configuration on performance
AU2014216441B2 (en) Queue monitoring and visualization
WO2017201057A1 (en) Multidimensional application monitoring visualization and search
US10223237B2 (en) Mid-method instrumentation

Legal Events

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