CN103729330B - 在基于图的计算中分配服务 - Google Patents

在基于图的计算中分配服务 Download PDF

Info

Publication number
CN103729330B
CN103729330B CN201310403428.6A CN201310403428A CN103729330B CN 103729330 B CN103729330 B CN 103729330B CN 201310403428 A CN201310403428 A CN 201310403428A CN 103729330 B CN103729330 B CN 103729330B
Authority
CN
China
Prior art keywords
subgraph
input
calculating
output
record
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.)
Active
Application number
CN201310403428.6A
Other languages
English (en)
Other versions
CN103729330A (zh
Inventor
伊戈尔·舍尔布
约瑟夫·斯凯芬顿·沃莱三世
拉里·W·艾伦
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 Software LLC
Original Assignee
Ab Initio Software 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 Software LLC filed Critical Ab Initio Software LLC
Publication of CN103729330A publication Critical patent/CN103729330A/zh
Application granted granted Critical
Publication of CN103729330B publication Critical patent/CN103729330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5038Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/505Allocation 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 the load
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

通过以下步骤,根据与服务相关联的计算图来处理服务请求,所述步骤包括:接收来自服务客户方的用于所述计算图的输入,将所述输入作为数据流的记录提供给所述计算图,接收来自所述计算图的输出,以及将所述输出提供给所述服务客户方。以如下方式在基于图的计算中并行处理数据流:即,其具有这样的潜在能力(potentially),可并行执行不同类型的请求,可并行执行类似的请求类型,和/或可并行执行在请求内的工作元素。

Description

在基于图的计算中分配服务
本申请是申请号为200780029791.9、申请日为2007年8月9日、发明名称为“在基于图的计算中分配服务”的发明专利申请的分案申请。
优先权
本申请要求申请号为60/836,745,申请日为2006年8月10日的美国临时专利申请的优先权,通过参考将其全部内容引入本申请中。
技术领域
本发明涉及在基于图的计算中分配服务(distributing services)。
背景技术
通常,复杂的商业系统以多级方式处理数据,将某一级所产生的数据馈送至下一级中。可通过有向(directed)数据流图来描述流经上述系统的全部信息流,所述图中的顶点表示组元(components)(所述组元可以是数据文件或是处理),并且所述图中的链路或“边”表示组元之间的数据流。
图还可用于直接调用(invoke)计算。来自公司Ab Initio SoftwareCorporation,Lexington,MA的带有图形开发环境(GDE)的“CO>OPERATING”具体展示(embody)了这种系统。根据这种系统所制作的图提供了用于获得进出各个处理(所述各个处理由图的组元表示)的信息的方法,提供了用于在所述处理之间移动信息的方法,还提供了用于为所述处理限定运行顺序(running order)的方法。这种系统包括用于选择处理之间(interprocess)的通信方法的算法和用于调度(schedule)处理执行的算法,并且还提供对所述图的执行的监视。
经分配后的服务机制(architecture)允许计算机程序通过诸如万维网等的网络接口来访问而获得其它程序的功能,而不必将这些其它程序的功能特性(functionality)引入它们自己的运行码(operating code)中。
发明内容
总体而言,一方面,通过执行下述步骤,根据与服务相关联的计算图来处理服务请求,其中所述步骤包括:接收来自服务客户方的用于所述计算图的输入,将所述输入作为数据流的记录提供给所述计算图,接收来自所述计算图的输出,以及将所述输出提供给所述服务客户方。
所述执行可包括一个或多个下述特征。
接收所述输入的步骤包括:识别来自所述服务客户方且在服务请求中的所述输入,以及将所述输入提供给所述计算图的步骤包括:使请求识别符与所述服务请求相关联,将包括所述输入的工作元素提供给所述计算图,使所述请求识别符与所述工作元素相关联,以及将所述请求识别符与所述工作元素的关联(association)传送至输出节点。识别所述输入的步骤包括从被封装的(encapsulated)请求提取所述输入。所述被封装的请求包括SOAP请求。接收所述输出的步骤包括:接收包括来自所述计算图的输出的工作元素,以及识别与所述工作元素相关联的请求识别符,以及将所述输出提供给所述服务客户方的步骤包括:产生对应由所述请求识别符所识别的所述服务请求的服务响应,所述服务响应包括包含在所述工作元素中的所述输出。产生所述服务响应的步骤包括:将所述输出嵌入被封装的响应中。所述被封装的响应包括SOAP响应。
通过下述步骤,根据所述计算图来处理第二服务请求,其中所述步骤包括:接收来自第二服务客户方的用于所述计算图的第二输入,将所述第二输入作为第二数据流的记录提供给所述计算图,接收来自所述计算图的第二输出,以及将所述第二输出提供给所述第二服务客户方;以及在所述计算图中,并行处理所述第一输入和所述第二输入。并行处理所述第一输入和所述第二输入的步骤包括:识别适用于所述第一输入的第一子图,在所述第一子图中处理所述第一输入,识别适用于所述第二输入的第二子图,在所述第二子图中处理所述第二输入,接收来自所述第一子图的第一输出,以及接收来自所述第二子图的第二输出,其中同时执行所述第一子图和所述第二子图。并行处理所述第一输入和所述第二输入的步骤包括:将子图的第一实例识别为可用,在所述子图的第一实例中处理所述第一输入,将所述子图的第二实例识别为可用,在所述子图的第二实例中处理所述第二输入,接收来自所述第一实例的第一输出,以及接收来自所述第二实例的第二输出,其中同时执行所述子图的第一实例和所述子图的第二实例。
总体而言,一方面,通过执行下述步骤,在基于图的计算中处理数据流,其中所述步骤包括:识别适用于所述数据流中的第一记录的第一图,识别适用于所述第一记录中的第一工作元素的第一子图,在所述第一子图中处理所述第一工作元素,识别适用于所述第一记录中的第二工作元素的第二子图,在所述第二子图中处理所述第二工作元素,接收来自所述第一子图的第一输出工作元素,接收来自所述第二子图的第二输出工作元素,使所述第一输出工作元素与所述第一记录相关联,以及使所述第二输出工作元素与所述第一记录相关联,其中至少部分地同时执行所述第一子图和所述第二子图。
总体而言,一方面,通过执行下述步骤,在基于图的计算中处理数据流,其中所述步骤包括:识别适用于所述数据流中的第一记录的第一图,将子图的第一实例识别为可用,在所述子图的第一实例中处理所述第一记录中的第一工作元素,将所述子图的第二实例识别为可用,在所述子图的第二实例中处理所述第一记录中的第二工作元素,接收来自所述第一实例的第一输出工作元素,接收来自所述第二实例的第二输出工作元素,使所述第一输出工作元素与所述第一记录相关联,以及使所述第二输出工作元素与所述第一记录相关联,其中至少部分地同时执行所述子图的所述第一实例和所述子图的所述第二实例。
由说明书及权利要求而使得本发明的其它特征和优点变得明显。
附图说明
图1A和图2示出了用于分配服务的系统的示意图。
图1B示出了用于调用服务的处理的流程图。
图3-5b示出了用于提供分配服务的图。
具体实施方式
在一些实例中,有两种方式来使基于图的计算与分配服务进行互动。在一些实例中,图用以调用服务且与所述服务相关联(relates to),使得所述服务似乎被当作图中的节点。在其它实例中,将应用(application)与图相关联,使得所述图提供服务。这两种情况可同时实现。例如,正给某个应用提供服务的图其自身可调用其它服务以执行其部分计算。例如,由某个图所调用的服务可由其它图来提供,使得第一图调用第二图,而不是将其包含作为子图。
在一些实例中,如图1A中所示,基于图的计算100的服务节点102通过调用在分配服务导向机制(distributed service-oriented architecture)中的服务来运行。也就是说,当执行服务节点102时,调用图100外部的服务108,作为所述服务的客户方。例如,服务节点102可使用SOAP、HTTP、XML以及WSDL等中的一种或多种的组合,与宿驻(hosted)在应用服务器106上的web服务插件104进行通信,以到达外部服务108,从而可使服务节点102访问web服务。如下所述,外部服务108自身可以是基于图的计算。可以某种分配方式来执行所述服务,其中所述分配方式使用各种用于分配计算任务的方法中的任意一种。
服务节点102以基于图的计算100的本地格式(native format)来接收来自其它图的节点(例如,节点112)的输入110,例如是以与Ab Initio的DML类似的数据描述语言来描述的记录。然后,节点102将其输入110格式化成适用于其使用的web服务类型的格式(例如SOAP或其它类型的基于被封装的请求),并将服务请求114传送给应用服务器106。请求114中的URL指示出将所述请求发送给应用服务器106、插件104以及服务108中的哪一个。请求114能以各种方式发送,包括通过HTTP和RPC(远程过程调用)来发送。在服务器106上的插件104把输进来的请求114重新格式化成合适的格式,且将合适的调用116传送给外部服务108。
当服务108执行了其所调用的任意运行之后,所述服务108将输出118返回给插件104。插件104将服务108的输出118重新格式化成合适的服务响应120,以返回至服务节点102。服务节点102将服务响应120再重新格式化成合适的输出格式,并将输出121传递至下游的图的节点(例如,节点122)。从其它的图的节点112、122、124及126来看,经分配后的服务节点102可以和其它任何节点一样参与(participate in)图的计算100。只要服务节点102接收的是其预期的响应120类型,则服务器106的机制和安排(诸如插件104的性质以及其如何与服务108通信(或者,例如,是否使用插件104)之类)就与图节点无关。如下所述,服务器106、插件104以及服务108自身可以分别是基于图的计算服务器、插件以及图。
在一些实例中,图100被管路化(pipelined),这意味着,每个节点是以管路化的顺序阶段(sequential phases)方式对大流量输入记录的单个记录或记录的集合进行处理。在给定阶段中,各后继(subsequent)节点在其所接收的来自在前(previous)节点的记录或记录的集合上工作,而各在前节点对输入流中的下一记录或记录的集合进行处理工作。服务节点102可通过以下方式来调整上述运行:即,在对应于在前服务请求的响应被接收到之前,服务节点102接收附加记录,并且将各所述附加记录所请求的工作分配给服务108。例如,如果服务108能够处理多重并行请求(multiple concurrent request),那么上述方式就能够在此实现。记录可由分散的(separate)或可分散的(separable)工作元素组成,可以用如针对记录所述的这种管路化阶段(pipelined stages)方式来处理所述工作元素。
如果对不同的请求114花费不同的时间量来处理,那么,与接收其输入110的次序相比较,服务节点102可以依照不同的次序(order)来接收响应。这就允许由单个节点102访问具有不同处理时间的多重服务。可以选择性地配置诸如服务节点102之类的服务节点,使服务节点依照与接收其输入110的次序不同的次序提供其输出121。为了允许这种并行处理而不使用用于服务节点102的多线程处理(multiple threaded process),并且在各请求114中均不包括描述图100的整个状态的数据(这样就能基于其返回而使用各请求114),服务节点102跟踪(keeps track of)待完成的(outstanding)请求114并且将其与输进来的响应120进行匹配。在一些实例中,图被管路化,以便一次一个节点地处理各个记录或工作元素,并且分散的节点处理分散的记录或工作元素,但是可在任意给定时间点将多个(multiple)记录或工作元素分派给单个服务节点102。
在被管路化的图中,服务节点102将每个记录(例如,数据流的每个记录)作为单个事务(transaction)来对待。基于单个输入记录中的域(fields)来产生对应的请求。一些域可定义请求的属性(例如,URL),而其它域被作为嵌入数据来传递。
在一些实例中,如图1B中的处理150中所示,在可由服务节点102访问的存储器中跟踪请求114与响应120之间的关系。所述存储器可以是向量、表、文件或其它此类数据结构。当输入记录110被接收时,如步骤152,该记录110的副本存储至存储器151,如步骤154。然后,服务节点102产生请求114,如步骤156,将所述请求发送至服务,如步骤158,以及将所请求的ID写入存储器,如步骤160,并使其与所存储的记录110的副本相关联。响应120被接收时,如步骤162,其包括与其中一个待完成的请求相对应的ID。服务节点102将该ID与存储器中的ID进行匹配,如步骤164,并且检索(retrieve)对应的输出记录110的副本,如步骤166。所述记录根据响应120进行更新,如步骤168,并产生输出121。如果将服务节点102配置为依照输出变为可用的次序来产生所述输出(不必与输入的接收具有同样的次序),则将输出121提供给下一节点122,如步骤170。如果将服务节点102配置为依照与其输入次序相同的次序来产生结果,则在存储器中保留输出直到所有对应于在前记录的输出已写为输出121,此时才可将所述输出121写入,如步骤172。
在一些实例中,将基于图的计算作为网络服务来提供。我们将提供网络服务的图称为供应方图(provider graph)。如图2中所示,运行在客户方系统202上的处理200将请求204(用于请求使用供应方图206的计算)发送给应用服务器208,其中所述处理200可以是图的计算,但也可以是任意类型的应用。所述请求204以适用于基于web的或其它网络服务的格式(例如SOAP、HTTP或RPC请求)来发送。根据运行在应用服务器208上的web服务插件210的指令(对于SOAP或HTTP请求),在应用服务器208的服务接口(interface)中接收请求204。
所述web服务插件210是这样一种应用,其能够处理在web服务客户方和提供服务的图之间的请求和响应。所述插件210在应用服务器208上安装并执行。web服务插件可与多个web服务供应方图的集合进行通信。每个图都被包含在由插件访问的服务列表中。例如,插件使用客户方HTTP请求消息中的URL,以将请求指向具体的图。
插件210将服务请求格式化成适用于图的处理的请求212(例如,RPC请求),并且将此请求212转发至宿驻有图206的图服务器214。在一些实例中,使RPC调用能够从客户方200直达供应方图206。在图服务器214处,将包含在请求212中的输入216提供给图206,并对图206进行处理以产生输出218。图服务器214将输出218按照图的输出220(例如RPC响应)的适宜格式发送至应用服务器208及其web服务插件210。插件210将图的输出220重新格式化成具有与原始请求204互补的(complementary)格式的web服务响应222。所述输出被返回给客户方或返回给调用了该服务的其它实体,其中所述实体以适用于网络服务的常规方式调用该服务。然后,客户方系统202上的处理将所述响应当作任意其它基于web的响应或网络服务响应来处理。
所述图可以使用管路的并行性、组元的并行性以及数据的并行性中的任一或全部来处理输入。也即是说,可以接收多组输入,可以在被管路化的阶段中交织(interleave)多组输入,或者,也许在进行划分(partitioning)之后,可以由不同组元的集合来并行处理多组输入。
在一些实例中,通过WSDL(web服务描述语言)文件来定义连接到供应方图的公共或外部接口。WSDL文件包含对需要与供应方图交互动作的所有消息和运行所进行的基于XML的描述。WSDL文件可由组织、产业或任意其它实体来定义,以用于访问与所述实体相关的web服务。还可将WSDL文件客制化(customized)以用于执行特定操作(implementation)。在一些实例中,WSDL文件根据与供应方图相关的子图中的组元的记录格式和类型定义来产生。在一些实例中,单个供应方图包括执行各自服务的多个子图。从此类子图产生的WSDL文件允许客户方访问由供应方图的子图所提供的每一个服务。
在供应方图中,将输进来的服务请求输入转换成提供服务的子图的内部语言。例如,如图3中所示,输进来的请求306(例如,SOAP请求)包括数据有效载荷308(payload),其中所述有效载荷308通过由消息指定的动作(actions)来请求处理。例如,有效载荷308可以是在动作处理器300a和300b中将要由图处理的记录(该记录以DML描述)。无论输进来的消息为何种格式,接口层301都将它们进行解析(parse),并且将合适的消息以任何由它们所请求的格式提供给图的节点。在输出端,接口层301以相反方式工作。
一旦所述消息306得以转换,动作划分(partition)类型节点302解释在消息306中指定的动作,并且将数据有效载荷中的记录308发送至合适的动作处理器300a或300b。在一些实例中,直到汇集(gather)节点304通知划分节点302在前记录308的工作已经从动作处理器300a或300b输出之后,划分节点302才接收随后输进来的消息307。
在一些实例中,为了实现对诸如服务请求等消息的并行处理,划分节点302被配置为将对应于服务请求的动作记录进行划分。如果多个请求不是请求相同的动作处理器,则上述方式就能够同时处理多个请求。例如,如果第一记录308请求动作处理器300a,并且第二记录310请求动作处理器300b,则划分节点302将第二记录310发送至动作处理器300b,而不需要等待汇集节点304报告所述第一记录308已经完成其处理。
汇集节点304从动作处理器300a和300b接收经处理的记录308和记录310,并且将它们打包到响应消息312和响应消息313中,其中所述响应消息312和响应消息313包含经处理的记录308’和记录310’以作为数据有效载荷。如果划分节点302正在划分的是事务(transactions),这样就可一次处理多个记录,那么汇集节点304在接收经处理的记录308’和记录310’时,就能够依照与接收请求消息306和请求消息307不同的次序来进行。划分节点302和汇集节点304之间的接口315允许汇集节点将输出记录308’和310’与对应的输入308和输入310相关联,从而将回复消息312和313发回至正确的客户方。
动作处理器300a和300b可采用任意形式。如上所述,记录308和记录310可具有任意格式,例如以DML描述的格式。在这种情况中,接口层301将输进来的语言(例如SOAP)转换成动作处理器所使用的DML格式。在一些实例中,可使用中间语言来表达在接口层301与划分节点302和汇集节点304之间的输入。
在一些实例中,当汇集节点304被配置为依照记录308’和记录310’的到达次序来接收它们时,可以在动作处理器内进一步划分动作的处理,如图3b中针对动作处理器300b所示。动作类型划分节点302接收请求消息306和307,并且将它们的记录308和记录310发送(route)给合适的动作处理器300a或300b。在动作处理器300b中,通过另一划分节点352接收记录,该划分节点352在共享(pool)中对所述记录进行划分。多个共享归属于子图350的多个实例350a、350b和350c,其中子图350实现动作处理器300b的处理。每个实例可以与其它实例一起并行处理不同的记录。通过将不同的记录308和320划分给不同的实例,动作处理器300b可并行处理多个记录,允许划分节点302在在前记录308处理完成之前将下一记录320发送至动作处理器。汇集节点354与划分节点352配对,使得节点能够跟踪实例350a、350b和350c中有哪些是正在使用中的,并且在可能时使用空闲实例,以便提高并行性(concurrency)和性能。汇集节点304也会接收动作处理器300a和300b的输出308’和310’,并且通过接口层301将合适的输出消息312和313返回给客户方。
输出记录308’和310’以及输出消息312和313可以依照与输入请求306和307被接收的次序不同的次序来返回。例如,如果输入记录310包含的工作元素(如下所述)少于记录308,那么即使输出响应313对应于随后接收的请求307,也可以首先返回输出响应313。如果动作处理器300a和300b按照下述方式运作,即根据记录的复杂度或其它因素,可以不依照次序或以不同的速率来对记录进行处理,那么,输出次序还可以基于输入数据的复杂度而改变。
在一些实例中,如图4中所示,单个服务请求的记录406包括作为数据流而由供应方图进行处理的数据,即所述数据作为多个工作元素408a-408e,其中所述工作元素408a-408e挨个经过图。动作处理器300a(如果记录不须进一步划分)或子图350(如果记录须进一步划分)包括拆解(unwrap)节点402,其中所述拆解节点402将输入记录406分解(decompose)成其各个工作元素408a-408e,并将各工作元素适当地发送至提供服务的子图400之中。对应的打包(wrap)节点404将输出工作元素408a’-408e’的流重新组合成单个响应412,以返回给发送请求406的客户方。
在一些实例中,如图5a中所示,一旦各动作被划分且被拆解成工作元素时,各工作元素也被并行处理。像针对图3a中的记录那样,划分节点502根据工作元素的类型来划分工作元素408a-408e,其中所述工作元素的类型即,对每一个工作元素进行处理时,其请求的是工作元素处理器500a或500b中的哪一个。如果处理工作元素的次序很重要,那么,待汇集节点504通知其接收到了每个输出工作元素408’之后,划分节点502一次只将一个工作元素408发送至处理器500a和500b(很可能每个工作元素被划分为使用两个处理器)。在一些实例中,如果处理的次序并不重要,假设各工作元素需要不同的处理器时,划分节点则将一个工作元素发送至每个处理器500a和500b。
当工作元素408a’-408e’离开处理器500a和500b时,通过汇集节点504将它们进行积聚(accumulated)。只要来自一个记录406的所有工作元素已被收集,就将它们合并回(combined back into)输出记录412。在划分节点502与汇集节点504之间的通信515允许划分节点502跟踪可将哪些工作元素处理器用于附加的工作元素。
用于处理多重并行数据流的技术也在2003年6月24日公开的美国专利6,584,581和2003年11月25日公开的美国专利6,654,907中得到描述,在此通过参考将其内容引入本申请中。
图5b详细示出了工作元素处理器500b如何运行,以及图5a的子图如何与图3a、图3b和图4的某些更高级别的节点相联系,以形成供应方图501。在一些实例中,如图5b中所示,工作元素处理器500b以子图550的多个实例550a、550b和550c来对将要运行的工作元素进一步划分。实例550a从处理的可用实例的共享中选出,其中所述处理与子图550内各图的节点相关联。最初,由划分节点552接收工作元素408i。所述节点552已访问了子图550的多个实例550a、550b和550c。通过汇集节点554接收各实例的输出。对于会放缓由这些节点进行的工作处置的外部处理(例如服务或其它子图),子图550可以轮流调用这些外部处理。
在前述系统中,与节点552类似的划分组元可能已经将单个工作元素514划分成分散的组元,并将一个组元发送至实例550i(其中i为a、b或c)中的每一个。为消除可能的并行情形,在将多个输出合并成针对所述工作元素的单个输出之前,汇集节点554会一直等待,直到每个实例都返回了一个输出为止。为了维持管路化,划分节点可能已经在工作元素后面经由每个实例而发送分隔符(delimiter),使得当从每个实例接收到所述分隔符时,汇集组元就可以知道工作元素已被完成。在一些实例中,在管路化的给定阶段中,在由给定节点处理多个工作元素的集合之后会发送分隔符。
作为对照,共享划分节点552将整个工作元素408a发送至单个实例550a以进行处理。汇集节点554被配置为等待(expect)与仅来自一个实例550a的工作元素相关的输出408a’。当接收到所等待的输出408a’(在一些实例中,其后伴随有一个分隔符)时,汇集节点554将输出提供至下一节点504。汇集节点554不用等待来自其它实例550b和550c的工作元素组元或分隔符。这就允许工作元素处理器500b仅使用给定工作元素真正需要的实例550i。与图3b中对事务记录(transactional records)的共享划分一样,对工作元素的共享划分也允许并行处理多个工作元素。与等待第一工作元素408a完成处理并从其实例550a显现出来的方式不同,划分节点552接收来自上游(upstream)节点502的另一个工作元素输入408c,且将其发送至下一个可用实例500b。以此方式,可同时处理多个工作元素408a和408b,而不必对划分节点552进行多线程化(multithreaded)。在一些实例中,划分节点552经由通信链路560通知汇集节点554在每个实例中有哪些工作元素,使得汇集节点554知道等待的是什么,并能使输出元素408a’、408c’与输入工作元素408a、408c相关联。
在共享之间划分工作元素也允许输出408a’、408b’和408c’能够不依照与输入408a、408b和408c相关的顺序(out of order)返回。例如,如果工作元素408a中的数据造成实例550a处理所述工作元素的时间长于实例550b处理工作元素408c的时间,那么汇集节点554将在其接收输出408a’之前接收输出408c’。由于两个工作元素408a和408c彼此相互独立,因此汇集节点554能够将输出408c’发送至下一节点504而不必等待输出408a’。这里假定将其它阶段(例如,划分/汇集对502/504和打包/拆解对402/404)配置为在工作元素处理器500b内调节(accommodate)工作元素顺序的改变。在一些实例中,可能会需要或想要保持所述顺序,那么汇集节点554将保留输出408c’直到接收到输出408a’,并且将它们按顺序释放给下一节点504。在这种计算中,还有一个优势就是实例550a、550b和550c能够同时处理多个工作元素。例如,如果子图550的处理时间长于其它节点或子图的处理时间,那么这种计算将很有用。
对事务处理的动作类型划分和共享划分以及对工作元素的类型划分和共享划分都允许所述图按照内在的并行性运行,即由不同的处理元素同时处理相关的或不相关的工作元素。
共享划分、类型划分、和对请求及其工作元素进行并行处理的其它方法都可以在供应方图中实现,使得由图提供的服务其自身能够处理并行输入。例如,在附图5b中的图501就是作为供应方图来运行的,此时第一节点570为预订节点(subscribe node),且最终节点572为与预订节点570配对的发布节点(publish node)。预订节点570接收包括输入406的请求,并将所述输入406发送至划分节点402。预订节点570与发布节点572配合,以使输出412与输入406匹配,并将它们封包(package)成合适的响应(即,确保每个响应到达发出调用的客户方)。因为图501处理的是并行记录和并行工作元素,所以预订节点570可以连续接收输入请求,而无需等待发布节点572接收到输出412。使用对请求进行动作类型划分的子图,就允许单个供应方图501提供多个服务。
在一些实例中,预订节点570和发布节点572假设单个请求是独立的,且请求的返回顺序是无关紧要的,因此将图501中的划分节点402和汇集节点404配置为不按顺序执行。如果顺序很重要,那么预订节点570和发布节点572的任何一个或两者都可以确保响应的返回顺序与对应的输出的接收顺序相同。
其它实施方式也落在所附权利要求和授权给申请人的其它权利要求的范围内。

Claims (21)

1.一种在基于图的计算中分配服务的系统,通过以下装置,根据与服务相关联的计算图来处理服务请求,所述计算图包括由以下链路连接的节点,所述链路表示在所述节点之间经过的记录的数据流,其中所述系统包括:
用于接收来自服务客户方的用于所述计算图的第一输入的装置,
用于将安排成为数据流的记录的所述第一输入提供给所述计算图的装置,其中所述数据流的记录包括多个工作元素,
用于基于对给定组中工作元素执行的动作类型将所述多个工作元素划分成多个组的装置,
用于将每个组提供给所述计算图的不同子图的装置,每个子图包括所述计算图的至少一些组元和所述链路,
用于将所述多个组中的一个或多个的每一个划分成所述多个工作元素的多个子组的装置,
用于将给定组的每个子组分配给为所述给定组分配的所述子图的不同实例的装置,每个实例包括所述子图的所述组元和所述链路,
用于接收来自所述计算图的所述子图的输出的装置,以及
用于提供包括来自所述子图的所述输出的服务响应的装置,
其中,所述接收所述第一输入的装置包括识别来自所述服务客户方的在服务请求中的所述第一输入的装置,以及
将所述第一输入提供给所述计算图的装置包括:
使请求识别符与所述服务请求相关联的装置,
将包括所述第一输入的工作元素提供给所述计算图的装置,
使所述请求识别符与所述工作元素相关联的装置,以及
将所述请求识别符与所述工作元素的关联传送至输出节点的装置。
2.如权利要求1所述的系统,其中所述识别所述第一输入的装置包括从被封装的请求提取所述第一输入的装置。
3.如权利要求2所述的系统,其中所述被封装的请求包括SOAP请求。
4.如权利要求1所述的系统,其中
所述接收所述输出的装置包括:
接收来自所述计算图的包括输出的工作元素的装置,以及
识别与所述工作元素相关联的请求识别符的装置,以及
所述用于提供包括来自所述子图的所述输出的所述服务响应的装置包括:
产生对应于由所述请求识别符所识别的所述服务请求的服务响应的装置,其中所述服务响应包括包含在所述工作元素中的所述输出。
5.如权利要求4所述的系统,其中产生所述服务响应包括:将所述输出嵌入被封装的响应中。
6.如权利要求5所述的系统,其中所述被封装的响应包括SOAP响应。
7.如权利要求1所述的系统,还包括:
接收来自第二服务客户方的用于所述计算图的第二输入的装置,
将所述第二输入作为第二数据流的记录提供给所述计算图的装置,其中所述第二数据流的记录包括多个工作元素,
接收来自所述计算图的所述子图的第二输出的装置,以及
将所述第二输出提供给所述第二服务客户方的装置;以及
在所述计算图中并行处理所述第一输入和所述第二输入的装置。
8.如权利要求7所述的系统,其中所述并行处理所述第一输入和所述第二输入的装置包括:
识别适用于所述第一输入的第一子图的装置,
在所述第一子图中处理所述第一输入的装置,
识别适用于所述第二输入的第二子图的装置,
在所述第二子图中处理所述第二输入的装置,
接收来自所述第一子图的第一输出的装置,以及
接收来自所述第二子图的第二输出的装置,
其中同时执行所述第一子图和所述第二子图。
9.如权利要求7所述的系统,其中所述并行处理所述第一输入和所述第二输入的装置包括:
将子图的第一实例识别为可用的装置,
在所述子图的第一实例中处理所述第一输入的装置,
将所述子图的第二实例识别为可用的装置,
在所述子图的第二实例中处理所述第二输入的装置,
接收来自所述第一实例的第一输出的装置,以及
接收来自所述第二实例的第二输出的装置,
其中同时执行所述子图的第一实例和所述子图的第二实例。
10.一种用于根据与服务相关联的计算图来处理服务请求的系统,所述计算图包括由表示在节点之间经过的记录的数据流的链路所连接的节点,所述系统包括:
计算机系统,被配置为通过下述步骤根据与所述服务相关联的计算图来处理服务请求,所述计算图包括由表示在节点之间经过的记录的数据流的链路所连接的节点:
接收来自服务客户方的用于所述计算图的第一输入,
将安排成为数据流的记录的所述第一输入提供给所述计算图,其中所述数据流的记录包括多个工作元素,
基于对给定组中工作元素执行的动作类型,将所述多个工作元素划分成多个组,
将每个组提供给所述计算图的不同子图,每个子图包括所述计算图的至少一些组元和所述链路,
将所述多个组中的一个或多个的每一个划分成所述多个工作元素的多个子组,
将给定组的每个子组分配给为所述给定组分配的所述子图的不同实例,每个实例包括所述子图的所述组元和所述链路,
接收来自所述计算图的所述子图的输出,以及
提供包括来自所述子图的所述输出的服务响应。
11.如权利要求10所述的系统,其中
所述计算机系统被配置为接收所述第一输入,包括所述计算机系统被配置为识别来自所述服务客户方的在服务请求中的所述第一输入,以及
所述计算机系统被配置为将所述第一输入提供给所述计算图,包括所述计算机系统被配置为:
使请求识别符与所述服务请求相关联,
将包括所述第一输入的工作元素提供给所述计算图,
使所述请求识别符与所述工作元素相关联,以及
将所述请求识别符与所述工作元素的关联传送至输出节点。
12.如权利要求11所述的系统,其中所述计算机系统被配置为识别所述第一输入,包括所述计算机系统被配置为从被封装的请求提取所述第一输入。
13.如权利要求12所述的系统,其中所述被封装的请求包括SOAP请求。
14.如权利要求10所述的系统,其中
所述计算机系统被配置为接收所述输出,包括所述计算机系统被配置为:
接收来自所述计算图的包括输出的工作元素,以及
识别与所述工作元素相关联的请求识别符,以及
所述计算机系统被配置为提供包括来自所述子图的所述输出的服务响应,包括所述计算机系统被配置为:
产生对应于由所述请求识别符所识别的所述服务请求的服务响应,所述服务响应包括包含在所述工作元素中的所述输出。
15.如权利要求14所述的系统,其中所述计算机系统被配置为产生所述服务响应,包括所述计算机系统被配置为将所述输出嵌入被封装的响应中。
16.如权利要求15所述的系统,其中所述被封装的响应包括SOAP响应。
17.如权利要求10所述的系统,还包括所述计算机系统被配置为:
根据所述计算图来处理第二服务请求,其中所述步骤包括:
接收来自第二服务客户方的用于所述计算图的第二输入,
将所述第二输入作为第二数据流的记录提供给所述计算图,其中所述第二数据流的记录包括多个工作元素,
接收来自所述计算图的所述子图的第二输出,以及
将所述第二输出提供给所述第二服务客户方;以及
在所述计算图中,并行处理所述第一输入和所述第二输入。
18.如权利要求17所述的系统,其中,所述计算机系统被配置为并行处理所述第一输入和所述第二输入,包括所述计算机系统被配置为:
识别适用于所述第一输入的第一子图,
在所述第一子图中处理所述第一输入,
识别适用于所述第二输入的第二子图,
在所述第二子图中处理所述第二输入,
接收来自所述第一子图的第一输出,以及
接收来自所述第二子图的第二输出,
其中同时执行所述第一子图和所述第二子图。
19.如权利要求17所述的系统,其中,所述计算机系统被配置为并行处理所述第一输入和所述第二输入,包括所述计算机系统被配置为:
将子图的第一实例识别为可用,
在所述子图的第一实例中处理所述第一输入,
将所述子图的第二实例识别为可用,
在所述子图的第二实例中处理所述第二输入,
接收来自所述第一实例的第一输出,以及
接收来自所述第二实例的第二输出,
其中同时执行所述子图的第一实例和所述子图的第二实例。
20.如权利要求10所述的系统,其中,所述计算图包括第一图、所述第一图的第一子图和所述第一图的第二子图,并且所述计算机系统被配置为将所述第一输入作为数据流的多个工作元素提供给所述计算图的步骤,包括所述计算机被配置为:
识别适用于所述数据流中的第一记录的第一图,
识别适用于所述第一记录中的第一工作元素的第一子图,
在所述第一子图中处理所述第一工作元素,
识别适用于所述第一记录中的第二工作元素的第二子图,
在所述第二子图中处理所述第二工作元素,
接收来自所述第一子图的第一输出工作元素,
接收来自所述第二子图的第二输出工作元素,
使所述第一输出工作元素与所述第一记录相关联,以及
使所述第二输出工作元素与所述第一记录相关联,
其中至少部分地同时执行所述第一子图和所述第二子图。
21.如权利要求10所述的系统,其中,所述计算图包括第一图、所述第一图的一个子图的第一实例和所述第一图的所述子图的第二实例,并且所述计算机系统被配置为将所述第一输入作为数据流的多个工作元素提供给所述计算图的步骤,包括所述计算机系统被配置为:
识别适用于所述数据流中的第一记录的第一图,
将子图的第一实例识别为可用,
在所述子图的第一实例中处理所述第一记录中的第一工作元素,
将所述子图的第二实例识别为可用,
在所述子图的第二实例中处理所述第一记录中的第二工作元素,
接收来自所述第一实例的第一输出工作元素,
接收来自所述第二实例的第二输出工作元素,
使所述第一输出工作元素与所述第一记录相关联,以及
使所述第二输出工作元素与所述第一记录相关联,
其中至少部分地同时执行所述子图的所述第一实例和所述子图的所述第二实例。
CN201310403428.6A 2006-08-10 2007-08-09 在基于图的计算中分配服务 Active CN103729330B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US83674506P 2006-08-10 2006-08-10
US60/836,745 2006-08-10
CN2007800297919A CN101501678B (zh) 2006-08-10 2007-08-09 在基于图的计算中分配服务

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007800297919A Division CN101501678B (zh) 2006-08-10 2007-08-09 在基于图的计算中分配服务

Publications (2)

Publication Number Publication Date
CN103729330A CN103729330A (zh) 2014-04-16
CN103729330B true CN103729330B (zh) 2017-04-19

Family

ID=39082958

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007800297919A Active CN101501678B (zh) 2006-08-10 2007-08-09 在基于图的计算中分配服务
CN201310403428.6A Active CN103729330B (zh) 2006-08-10 2007-08-09 在基于图的计算中分配服务

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007800297919A Active CN101501678B (zh) 2006-08-10 2007-08-09 在基于图的计算中分配服务

Country Status (8)

Country Link
US (1) US8572236B2 (zh)
EP (2) EP2050013A4 (zh)
JP (2) JP5894724B2 (zh)
KR (1) KR101495575B1 (zh)
CN (2) CN101501678B (zh)
AU (1) AU2007286155B2 (zh)
CA (1) CA2657233C (zh)
WO (1) WO2008021953A2 (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418702B2 (en) * 2002-08-06 2008-08-26 Sheng (Ted) Tai Tsao Concurrent web based multi-task support for control management system
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
WO2009015342A1 (en) * 2007-07-26 2009-01-29 Ab Initio Technology Llc Transactional graph-based computation with error handling
EP2191362B1 (en) * 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
US8806506B2 (en) * 2008-09-30 2014-08-12 Ebay Inc. System and method for processing messages using a common interface platform supporting multiple pluggable data formats in a service-oriented pipeline architecture
US8135785B2 (en) * 2008-09-30 2012-03-13 Ebay Inc. System and method for processing messages using pluggable protocol processors in a service-oriented pipeline architecture
US8763008B2 (en) * 2008-09-30 2014-06-24 Ebay Inc. System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
WO2010065511A1 (en) * 2008-12-02 2010-06-10 Ab Initio Software Llc Mapping instances of a dataset within a data management system
US8341280B2 (en) 2008-12-30 2012-12-25 Ebay Inc. Request and response decoupling via pluggable transports in a service oriented pipeline architecture for a request response message exchange pattern
KR20150038757A (ko) * 2009-02-13 2015-04-08 아브 이니티오 테크놀로지 엘엘시 데이터 저장 시스템과의 통신
CA2750279C (en) 2009-02-13 2019-03-26 Ab Initio Technology Llc Managing task execution
US8205113B2 (en) * 2009-07-14 2012-06-19 Ab Initio Technology Llc Fault tolerant batch processing
KR101656813B1 (ko) 2009-09-16 2016-09-12 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
US8667329B2 (en) * 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
CN102754072B (zh) 2009-12-14 2016-10-19 起元技术有限责任公司 规定用户界面元素
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
AU2011268459B2 (en) * 2010-06-15 2014-09-18 Ab Initio Technology Llc Dynamically loading graph-based computations
US9460189B2 (en) 2010-09-23 2016-10-04 Microsoft Technology Licensing, Llc Data model dualization
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
JP5940560B2 (ja) 2011-01-14 2016-06-29 アビニシオ テクノロジー エルエルシー データの集合体に対する変更の管理
US20120188249A1 (en) * 2011-01-26 2012-07-26 Raytheon Company Distributed graph system and method
US9021299B2 (en) 2011-02-18 2015-04-28 Ab Initio Technology Llc Restarting processes
US9116759B2 (en) 2011-02-18 2015-08-25 Ab Initio Technology Llc Restarting data processing systems
US8898269B2 (en) * 2011-03-14 2014-11-25 International Business Machines Corporation Reconciling network management data
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US9032362B2 (en) * 2012-09-10 2015-05-12 Sap Se System and method for generating high performance calculators for calculation graphs
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
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
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9256969B2 (en) * 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US11061539B2 (en) * 2013-03-15 2021-07-13 The Mathworks, Inc. Reference nodes in a computational graph
US20130227529A1 (en) 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC Application execution path tracing with configurable origin definition
US10346292B2 (en) 2013-11-13 2019-07-09 Microsoft Technology Licensing, Llc Software component recommendation based on multiple trace runs
CA2932763C (en) 2013-12-05 2022-07-12 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
CA3092699C (en) 2013-12-06 2023-07-25 Ab Initio Technology Llc Source code translation
US9400767B2 (en) * 2013-12-17 2016-07-26 International Business Machines Corporation Subgraph-based distributed graph processing
SG11201700381XA (en) 2014-07-18 2017-02-27 Ab Initio Technology Llc Managing lineage information
JP2017531972A (ja) * 2014-08-22 2017-10-26 グラス バレー ユーエスエー リミテッド ライアビリティ カンパニー グラフモデリングを用いて放送システムおよびマルチメディアシステムを管理し、モニタし、制御するためのシステムおよび方法
JP6467497B2 (ja) 2014-09-02 2019-02-13 アビニシオ テクノロジー エルエルシー 特定のデータポートの接続の特定に基づいてグラフの構成要素の自動化されたクラスタリングによるグラフに基づくプログラムの仕様のコンパイル
AU2015312010B2 (en) 2014-09-02 2019-10-03 Ab Initio Technology Llc. Visually specifying subsets of components in graph-based programs through user interactions
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
US20160205172A1 (en) * 2015-01-08 2016-07-14 Futurewei Technologies, Inc. Offloading graph based computations to a backend device
US9818166B2 (en) 2015-01-16 2017-11-14 Intel Corporation Graph-based application programming interface architectures with producer/consumer nodes for enhanced image processing parallelism
US9710876B2 (en) * 2015-01-16 2017-07-18 Intel Corporation Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US11144283B2 (en) * 2015-05-20 2021-10-12 Ab Initio Technology Llc Visual program specification and compilation of graph-based computation
US11403144B2 (en) * 2015-07-09 2022-08-02 Telecom Italia S.P.A. Method and system of information and communication technology services provisioning using a distributed operating system
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
TWI545453B (zh) * 2015-08-25 2016-08-11 國立清華大學 分散式系統及其資料庫管理方法及管理系統
US20170116117A1 (en) * 2015-10-26 2017-04-27 Sandisk Technologies Inc. Identifying storage descriptors based on a metric
US11151446B2 (en) * 2015-10-28 2021-10-19 Google Llc Stream-based accelerator processing of computational graphs
SG11201803929YA (en) 2015-12-21 2018-06-28 Ab Initio Technology Llc Sub-graph interface generation
US10235685B2 (en) * 2016-07-29 2019-03-19 Clari Inc. Method and system for two-dimensional charting using live queries
US11367049B2 (en) 2017-05-02 2022-06-21 Clari Inc. Method and system for identifying emails and calendar events associated with projects of an enterprise entity
US20190057339A1 (en) 2017-08-16 2019-02-21 Clari Inc. Method and system for determining states of tasks based on activities associated with the tasks over a predetermined period of time
US11416799B2 (en) 2017-08-28 2022-08-16 Clari Inc. Method and system for summarizing user activities of tasks into a single activity score using machine learning to predict probabilities of completeness of the tasks
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
WO2020006571A1 (en) 2018-06-29 2020-01-02 pulseData Inc. Machine learning systems and methods for predicting risk of renal function decline
US11714992B1 (en) * 2018-12-13 2023-08-01 Amazon Technologies, Inc. Neural network processing based on subgraph recognition
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
US11900156B2 (en) 2019-09-24 2024-02-13 Speedata Ltd. Inter-thread communication in multi-threaded reconfigurable coarse-grain arrays
US11281476B2 (en) * 2020-01-30 2022-03-22 Hewlett Packard Enterprise Development Lp Plugin framework to support zero touch management of heterogeneous infrastructure elements across distributed data centers
US11354157B2 (en) 2020-04-28 2022-06-07 Speedata Ltd. Handling multiple graphs, contexts and programs in a coarse-grain reconfigurable array processor
JP2024505238A (ja) 2021-01-31 2024-02-05 アビニシオ テクノロジー エルエルシー 論理データセットグループの操作を伴うデータ処理システム
US11782706B1 (en) 2021-06-29 2023-10-10 Amazon Technologies, Inc. Reconfigurable neural network processing based on subgraph recognition
WO2024042581A1 (ja) 2022-08-22 2024-02-29 三菱電機株式会社 ガス絶縁開閉装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1637710A (zh) * 2003-12-30 2005-07-13 国际商业机器公司 用于调度数据处理基础结构中工作单元执行的方法和系统

Family Cites Families (156)

* 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
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
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
US5323452A (en) 1990-12-18 1994-06-21 Bell Communications Research, Inc. Visual programming of telephone network call processing logic
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
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
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
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
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層化トランザクション処理方法
US5857204A (en) 1996-07-02 1999-01-05 Ab Initio Software Corporation Restoring the state of a set of files
US6016516A (en) 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5930794A (en) 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6038558A (en) 1996-10-18 2000-03-14 Sagent Technology, Inc. Extensible database retrieval and viewing architecture
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
US5999729A (en) 1997-03-06 1999-12-07 Continuum Software, Inc. System and method for developing computer programs for execution on parallel processing systems
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
US6490620B1 (en) 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6014670A (en) 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6339775B1 (en) 1997-11-07 2002-01-15 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
US6480876B2 (en) 1998-05-28 2002-11-12 Compaq Information Technologies Group, L.P. System for integrating task and data parallelism in dynamic applications
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
US6314114B1 (en) 1998-06-23 2001-11-06 Oracle Corporation Distributed resource management
US6259988B1 (en) 1998-07-20 2001-07-10 Lockheed Martin Corporation Real-time mission adaptable route planner
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
US7911483B1 (en) 1998-11-09 2011-03-22 Broadcom Corporation Graphics display system with window soft horizontal scrolling mechanism
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
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
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
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
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
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
EP1320217B1 (en) * 2001-12-14 2004-10-13 Hewlett-Packard Company, A Delaware Corporation Method of installing monitoring agents, system and computer program for monitoring objects in an IT network
GB0130864D0 (en) * 2001-12-22 2002-02-06 Ibm Method and apparatus for controlling a multi-node process
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
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
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
US20050059046A1 (en) 2003-06-18 2005-03-17 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
US8059125B2 (en) 2003-06-25 2011-11-15 Ab Initio Technology Llc Computer-aided parallelizing of computation graphs
EP1652072A4 (en) * 2003-07-11 2008-12-31 Computer Ass Think Inc METHOD AND APPARATUS FOR PROCESSING PARALLEL ACTIONS
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
US20050102670A1 (en) 2003-10-21 2005-05-12 Bretl Robert F. Shared object memory with object management for multiple virtual machines
US20080052687A1 (en) 2003-11-03 2008-02-28 Agustin Gonzales-Tuchmann Development environment for data transformation applications
US7296072B2 (en) * 2003-12-12 2007-11-13 International Business Machines Corporation Enhanced port type agnostic proxy support for web services intermediaries
US7467383B2 (en) 2004-03-08 2008-12-16 Ab Initio Software Llc System for controlling task execution using a graphical representation of task dependency
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
US7761863B2 (en) 2004-06-08 2010-07-20 Covia Labs, Inc. Method system and data structure for content renditioning adaptation and interoperability segmentation model
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
US7598953B2 (en) 2004-11-05 2009-10-06 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
CN1776604A (zh) * 2004-11-18 2006-05-24 微软公司 图形数据流的复用和去复用
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
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
US8266609B2 (en) 2005-12-07 2012-09-11 Microsoft Corporation Efficient placement of software transactional memory operations around procedure calls
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
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
JP4073033B1 (ja) 2007-04-27 2008-04-09 透 降矢 結合演算の処理機能の向上を考慮した合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
WO2009015342A1 (en) 2007-07-26 2009-01-29 Ab Initio Technology Llc Transactional graph-based computation with error handling
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US20090193417A1 (en) 2008-01-24 2009-07-30 Nec Laboratories America, Inc. Tractable dataflow analysis for concurrent programs via bounded languages
US8797178B2 (en) 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
JP5331203B2 (ja) 2008-06-30 2013-10-30 アビニシオ テクノロジー エルエルシー グラフベース計算におけるデータ記録
US20100070955A1 (en) 2008-07-08 2010-03-18 Nec Laboratories America Alias analysis for concurrent software programs
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
CA2750279C (en) 2009-02-13 2019-03-26 Ab Initio Technology Llc Managing task execution
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
US8667329B2 (en) 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
CN103069394B (zh) 2010-08-25 2016-06-22 起元技术有限责任公司 评估数据流图的特征

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1637710A (zh) * 2003-12-30 2005-07-13 国际商业机器公司 用于调度数据处理基础结构中工作单元执行的方法和系统

Also Published As

Publication number Publication date
JP2010500669A (ja) 2010-01-07
JP2015008016A (ja) 2015-01-15
CN101501678A (zh) 2009-08-05
WO2008021953A3 (en) 2008-11-13
CN101501678B (zh) 2013-10-16
CN103729330A (zh) 2014-04-16
CA2657233C (en) 2016-06-21
CA2657233A1 (en) 2008-02-21
WO2008021953A2 (en) 2008-02-21
KR101495575B1 (ko) 2015-02-25
JP5894724B2 (ja) 2016-03-30
EP2050013A4 (en) 2010-01-06
EP2050013A2 (en) 2009-04-22
EP2527983A3 (en) 2013-06-12
US20080049022A1 (en) 2008-02-28
US8572236B2 (en) 2013-10-29
AU2007286155A1 (en) 2008-02-21
KR20090048585A (ko) 2009-05-14
WO2008021953A4 (en) 2009-01-08
AU2007286155B2 (en) 2013-12-12
EP2527983A2 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
CN103729330B (zh) 在基于图的计算中分配服务
US7376663B1 (en) XML-based representation of mobile process calculi
US7503033B2 (en) Model for business workflow processes
US8073857B2 (en) Semantics-based data transformation over a wire in mashups
US8656342B2 (en) Composing integrated systems using GUI-based applications and web services
JP2006516166A (ja) ネットワーク・ベースのポートフォリオ管理およびリスク分析のための方法および装置
US8099736B2 (en) Systems and methods providing intelligent routing of data between software systems
US20080209446A1 (en) Design tool for converting legacy applications to web services
EP2442265A2 (en) Method and server cluster for MapReducing FLOW services and large documents
US8826248B2 (en) Enabling computational process as a dynamic data source for bi reporting systems
US20080109524A1 (en) Method and system for dynamically specifying a format for data provided by a web service invocation
Walkowiak Language processing modelling notation–orchestration of NLP microservices
US20080209356A1 (en) GUI-based application to web services conversion system
Louridas Orchestrating web services with bpel
US8051110B2 (en) Identifying screen flows to support multiple entities and their diverse rules with a single application instance
JP2003345697A (ja) 統合インタフェース提供方法、装置及び記憶媒体
US10083407B2 (en) Ad hoc task creation and process modification
Du et al. Enterprise application integration: An overview
Li et al. Decentralized execution of event-driven scientific workflows
Li et al. NI NOS: A Distributed Service Oriented Architecture for Business Process Execution
JP2001160006A (ja) メッセージ中継システム
Erl et al. SOA with Java: Realizing Service-orientation with Java Technologies
CN115357247A (zh) 支付报文页面生成方法及装置
JP2012084161A (ja) 画面情報生成方法、画面情報生成システムおよび画面情報生成プログラム
JP2014026392A (ja) データベースドライバおよびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1194175

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1194175

Country of ref document: HK