CN101305551A - 用于通信系统中的分布式工作流的构造和执行的方法 - Google Patents

用于通信系统中的分布式工作流的构造和执行的方法 Download PDF

Info

Publication number
CN101305551A
CN101305551A CNA2006800416538A CN200680041653A CN101305551A CN 101305551 A CN101305551 A CN 101305551A CN A2006800416538 A CNA2006800416538 A CN A2006800416538A CN 200680041653 A CN200680041653 A CN 200680041653A CN 101305551 A CN101305551 A CN 101305551A
Authority
CN
China
Prior art keywords
mapping function
host node
node
workflow
subregion
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
CNA2006800416538A
Other languages
English (en)
Other versions
CN101305551B (zh
Inventor
V·赖萨南
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN101305551A publication Critical patent/CN101305551A/zh
Application granted granted Critical
Publication of CN101305551B publication Critical patent/CN101305551B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • 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
    • G06Q10/063Operations research, analysis or management
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4523Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种用于分布式工作流的构造的方法。获取包括对大量可定位函数的调用的工作流说明。基于主管可定位函数的位置处的主节点,将工作流说明划分为分区。从分区生成用于每个主节点的存根配置规则,其实现在给定主节点中的工作流执行。将该存根配置规则提供给主节点。通过沿着原始工作流的线路在主节点之间交换消息来执行该工作流。该工作流可以与服务实现关联,或者该工作流可以用于网络管理的用途。

Description

用于通信系统中的分布式工作流的构造和执行的方法
技术领域
本发明涉及通信系统中分布式处理和应用互操作性的控制。尤其是,本发明涉及一种用于通信系统中的分布式工作流的构造和执行的方法。
背景技术
在引入应用互操作性架构及软件之前,应用被设计成仅仅在给定硬件和操作系统环境中操作的单片系统。时常非常难以确定给定的应用从何处开始在何处结束,因此难以控制包括多个应用的执行序列。这些应用形成了没有清晰的接口和边界的分布式(amoeba like)结构。
受到面向对象和网络服务技术以及互操作性解决方案的促进,所显现的新兴的应用可被定义为可在各种经营过程中重用的分离组件。在该方式中,随着新经营过程的引入,需要设计实现给定工作流的用户接口。还变得可以向现有的传统应用中引入包装器应用。包装器的目的是使得现有的传统应用看起来像是独立的可重用组件或者一组可重用组件。互操作性架构的实例包括例如,由对象管理组织公司定义的公共对象请求代理体系结构(CORBATM)、由微软公司定义的分布式公共对象模型(DCOM)和网络服务技术。应当注意的是,工作流、包装器和互操作性架构的使用决不是为限制到企业信息技术和企业应用。工作流还可以在工业过程控制、机械和电子设备的控制以及通信网络管理中应用。可以使用例如以VISUALBASIC
Figure A20068004165300091
编程的用户接口软件组件来隐含地定义工作流。还可以利用工作流语言来定义工作流,该工作流语言诸如是微软公司定义的XLANG、IBM公司定义的Web服务流语言(WSFL)或者万维网联盟(W3C)定义的用于网络服务的语义标记(OWL-S)。首字母缩写OWL代表网络本体语言。在2004年11的美国国防部高级研究规划局(DARPA)代理标志语言(DAML)程序文件OWL-S 1.1中描述了OWL-S。工作流包括大量任务,该大量任务例如包括带有参数的可重用软件组件的执行,所述参数的值在工作流执行之前已经被确定。工作流还包括编程语言常见的功能性,诸如分支条件和循环。
在图1中,示出了现有技术中包括任意数目的应用的工作流。在图1中,至少示出了应用101、应用102、应用103、应用104和应用105。代表任意整数的小写字母n表示可以存在任意数目的应用。该应用被排列为一序列。然而,还示出了分支条件,该分支条件直接使得能够从应用102步进到应用104。该工作流是例如使用图形用户界面(GUI)而定义的。换言之,使用工作流语言来定义该工作流。工作流语言的语法例如可以基于可以由解释器或者编译器解析的可扩展标记语言或者用于类似用途的其他任何已知语法。
图2示出了在现有技术的通信系统中的工作流的执行。在图2中,示出了工作流管理节点250。还示出的有与工作流管理节点250通信的三个应用节点。存在应用节点252、应用节点254和应用节点256。也可以存在任意数量的应用节点,如以小写字母m所示出,该小写字母m代表任意整数。在图2中,假设存在由四个应用构成的工作流。按照顺序一个接一个地调用这些应用。指示这四个应用的执行的工作流说明存储在工作流管理节点250中。初始时,工作说明命令工作流管理节点250调用应用节点252中的应用。以双向箭头201示出了该应用调用请求和伴随的响应。指向应用节点252的箭头表示该请求,相反方向的箭头表示该响应。随即,工作流管理节点250根据工作流说明来确定从应用节点252调用第二应用。应用调用和关联的响应以箭头202示出。接着工作流管理节点250确定调用应用节点254中的第三应用。该应用调用请求和来自第三应用的伴随响应以箭头203示出。最后,工作流管理节点250确定从应用节点256调用第四应用。该应用调用请求和来自第四应用的相应响应消息以箭头204示出。
现有技术方案中的问题在于,单个工作流执行节点向通信网络中引入了单个故障点。工作流执行节点必需复制有备用节点,这是费用较高的方案。另外,需要载波级平台来使工作流执行节点以及备用节点的状态同步,以便提供一种热备份配置。还非常可能的是,无论是否被复制,单工作流执行节点都不是可扩展的方案。如果必须在短时间帧内处理相当数量的工作流,则工作流执行节点成为系统中的瓶颈。
发明内容
本发明涉及一种用于通信系统中的分布式工作流的构造的方法,其中所述通信系统至少包括存根配置节点和至少一个主节点。所述方法包括:获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于每个所述至少一个可定位函数的标识符;从所述工作流说明来确定所述至少一个可定位函数;针对所述至少一个可定位函数确定至少一个触发条件;基于用于所述可定位函数的标识符为每个所述至少一个可定位函数找到主节点;将所述工作流分割到至少一个分区,每个所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;在所述存根配置节点中从所述至少一个分区之中的第一分区生成至少第一存根配置规则集;以及从所述存根配置节点向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集。
本发明还涉及一种用于分布式工作流的构造的系统,所述系统包括:至少一个存根配置节点,其被配置为:获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于每个所述至少一个可定位函数的标识符;从所述工作流说明来确定所述至少一个可定位函数;为所述至少一个可定位函数确定至少一个触发条件;基于用于所述可定位函数的所述标识符为每个所述至少一个可定位函数找到所述至少一个主节点之中的主节点;将所述工作流分割到至少一个分区,每个所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;在从存根配置节点中根据所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集;以及所述至少一个主节点中的所述第一主节点,其被配置为从所述存根配置节点获取所述第一存根配置规则集。
本发明还涉及一种用于分布式工作流的构造的网络节点,所述网络节点包括:定义实体,其被配置为获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于所述至少一个可定位函数的标识符,从所述工作流说明来确定所述至少一个可定位函数,以及为所述至少一个可定位函数确定至少一个触发条件;定位实体,基于用于所述可定位函数的标识符为每个所述至少一个可定位函数找到所述至少一个主节点中的主节点;分区实体,其被配置为将所述工作流分割到至少一个分区,每个所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;构造实体,其被配置为在所述存根配置节点中从所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及提供实体,其被配置为向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集。
本发明还涉及一种用于分布式工作流的构造的网络节点,所述网络节点包括:用于获取工作流说明的装置,所述工作流说明包括对至少一个可定位函数的调用以及用于每个所述至少一个可定位函数的标识符;用于从所述工作流说明来确定所述至少一个可定位函数的装置;用于为所述至少一个可定位函数确定至少一个触发条件的装置;用于基于用于所述可定位函数的标识符为所述至少一个可定位函数找到至少一个主节点中的主节点的装置;用于将所述工作流分割到至少一个分区的装置,每个所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述分区中调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;用于在所述存根配置节点中从所述至少一个分区中的第一分区生成至少第一存根配置规则集的装置;以及用于向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集的装置。
本发明还涉及一种用于分布式工作流的处理的网络节点,所述网络节点包括:安装实体,其被配置为从存根配置节点获取用于工作流的分区的至少一个配置规则集;以及存根实体,其被配置为:检测事件,所述事件包括接收第一消息、接收来自第一可定位函数的响应、定时器到时以及参数具有值其中至少之一,以及基于所述至少一个配置规则集中的至少一个配置规则和所述事件,来选择向第二主节点输出第二消息和调用第二可定位函数其中至少之一。
本发明还涉及一种用于分布式工作流的处理的网络节点,所述网络节点包括:用于从存根配置节点获取用于工作流的分区的至少一个配置规则集的装置;用于检测事件的装置,所述事件包括接收第一消息、接收来自第一可定位函数的响应、定时器到时以及参数具有值其中至少之一;以及基于至少一个配置规则集中的至少一个配置规则和所述事件,来选择向第二主节点输出第二消息和调用第二可定位函数其中至少之一的装置。
本发明还涉及一种计算机程序,包括在数据处理系统上执行时适用于执行下列步骤的代码:获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于每个所述至少一个可定位函数的标识符;从所述工作流说明来确定所述至少一个可定位函数;为所述至少一个可定位函数确定至少一个触发条件;基于用于所述可定位函数的标识符找到用于所述至少一个可定位函数的主节点;将所述工作流分割到至少一个分区,每个所述至少一个分区与主节点关联,所述主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;从所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及向与第一分区关联的主节点提供所述第一存根配置规则集。
在本发明的一个实施方式中,将工作流启动消息接收到在进行启动的主节点中的进行启动的存根中。在所述进行启动的主节点的启动存根中处理工作流启动消息。
在本发明的一个实施方式中,在第三主节点的第三存根内接收来自第二主节点的第二消息。在第三主节点中,例如,在第三存根中,基于第二消息和至少一个第一存根配置规则选择将要调用的第一可定位函数,其中所述至少一个第一存根配置规则是至少一个第二存根配置规则集其中之一。基于所述至少一个第二存根配置规则集中的至少一个第二存根配置规则,从第三主节点中将第三消息输出到第四主节点内的第四存根,所述至少一个第二存根配置规则包括对参数值和来自所述第一可定位函数的响应其中至少一个的引用。在本发明的一个实施方式中,存在一个存根对于给定可定位函数的调用的最大值。在主节点中,可以存在至少一个存根实体。
在本发明的一个实施方式中,在第五主节点内的第五存根中检测事件,所述事件包括接收第四消息、接收来自第二可定位函数的响应、定时器到时和参数已经获得值其中至少之一。基于至少一个第三配置规则集中的至少一个第三配置规则和所述事件,选择以下操作其中之一:向第六主节点输出第五消息、调用第三可定位函数、为第二参数提供值以及对第四配置规则进行评估。
在本发明的一个实施方式中,函数是根据面向对象编程由对象或者一组对象提供的方法、与软件实体的消息交换模式、过程、由软件执行的数学函数、程序模块、例程、操作系统服务或者由应用、一组应用或者其他软件实体提供的任何其他指令序列。该指令还可以包括从主节点到外围设备的输出指令。可以有大量来自函数的随后响应,其中的最后响应可以被定义为随后函数的前提条件。
在本发明的一个实施方式中,存根配置规则集包括例如用于函数调用的至少一个前提条件和用于向另一存根发送消息的至少一个前提条件。在本发明的一个实施方式中,用于存根的配置规则集包括执行工作流所需的用于存根的处理规则,但是要与其他节点中的其他存根及其处理规则协作。配置规则集包括例如函数或者消息的前提条件形式的至少一个逻辑规则。
在本发明的一个实施方式中,可定位函数仅仅意指在至少一个主节点其中之一内被主管的函数,基于该可定位函数的标识符而为其获取该主节点,并且对该函数的主管对工作流的分区产生了影响。在工作流执行之前、期间或者之后,该可定位函数并非必然需要在任意主节点之间迁移任意单次,即使可能是这种情况。换言之,术语可定位函数指代了影响工作流分区的函数。在本发明的一个实施方式中,在工作流说明中除至少一个可定位函数之外,还可能存在对于远程函数的引用,这并不从属于本发明的方法。处理这些函数以使得它们并不影响流说明的分区。在从流说明分区而产生的存根配置规则集中,使用远程方法调用或者远程过程调用机制来访问这些函数。在工作流说明中除至少一个函数之外,还可能存在对于每个主节点中存在的固定服务的引用,该固定服务不从属于本发明的方法并且也不影响工作流的分区。
在本发明的一个实施方式中,从远程节点将工作流启动消息接收到第一主节点中。第一主节点包含存根,该存根配置有来自工作流的第一分区的处理规则。远程节点可以是网络管理节点、管理节点或者终端用户节点。响应于工作流启动消息,第一主节点执行存根,该存根对处理规则进行处理并因此为第一节点中的工作流调用将要被调用的函数。因此,第一主节点发送请求消息给第二主节点,第二主节点主管与随后的工作流分区对应的存根和处理规则。换言之,通过沿着原始工作流的线路在主节点之间交换消息来执行所述工作流。
在本发明的一个实施方式中,通过所述存根配置节点中的定义实体,从工作流说明来确定至少一个分支条件。该定义实体为该每个所述至少一个分支条件确定由满足所述分支条件而触发的至少一个动作。这种动作可以是对另一分支条件的检验或者对流说明的随后函数中的调用。对于来自随后分区的随后函数的调用需要向当前分区的存根中添加用于将消息发送到主管随后函数的节点的规则。通过该分区实体将该规则添加到存根配置节点中。将必要的消息输入和输出原语(primitives)添加至与分区的入口点和出口点对应的存根处理规则中。其中存根对函数的调用需要接收多条消息,例如来自主管先前分区的每个存根的消息,在与函数的前提条件中提及的消息列表对应的接收存根中执行有限状态模块。该有限状态模块确保:在存根中调用函数之前,接收在函数调用前提条件中规定的所有消息和消息参数值。函数调用前提条件也称为触发条件。
在本发明的一个实施方式中,从存根配置节点中的定位实体为注册节点提供所述至少一个函数中的第二函数的标识符。作为响应,注册节点向主管所述第二函数的主节点提供主机名或者主机地址。注册节点例如可以包括域名服务器或者轻型目录访问协议(Lightweight Directory Access Protocol)(LDAP)目录。
在本发明的一个实施方式中,在第一主节点中,第一存根与至少一个第四可定位函数关联。在第一主节点中,利用至少一个第四可定位函数来接收第一存根配置规则集和第一存根配置规则集内的至少一个存根配置规则。
在本发明的一个实施方式中,主节点可以是互联网协议节点。该主节点还可以是移动节点,诸如移动通信网络内的移动台。该主节点还可以是配置为直接或者通过通信网络设施与其他主节点通信的任意无线节点,所述通信网络设施包括至少基站和基站通信所经由的互联节点。通信系统可以是无线局域网(WLAN)。
在本发明的一个实施方式中,主节点可以与生产工厂的工业机器人相关联。因此,主节点控制工业机器人。在这种情况下,该工作流实现了对产品的生产过程的执行。该函数可以代表发布到工业机器人的控制指令。函数代码可以包括例如向包括大量操作臂和操作钳的机器人请求的一系列的臂或钳运动。通常,本发明还可以应用于包括大量协作机器人的过程。
在本发明的一个实施方式中,通信系统包括至少一个全球移动通信系统(GSM)网络和通用移动电话系统(UMTS)网络。
在本发明的一个实施方式中,计算机程序存储在计算机可读介质上。该计算机可读介质可以是可移动存储器卡、磁盘、光盘或者磁带。
本发明的有益之处涉及在主节点中的工作流执行的分布,该主节点主管将在工作流执行期间被调用的函数。与单个执行节点执行多个工作流的方案相比,本发明避免了单个故障点。
附图说明
附图示出了本发明的实施方式并与说明书一起来帮助说明本发明的原理,包括附图是为了提供对于本发明的进一步的理解,并且所述附图构成了本说明书的一部分。附图中:
图1示出了现有技术中包括任意数目的应用的工作流的方框图;
图2示出了现有技术的通信系统中的工作流的执行的方框图;
图3示出了在本发明的一个实施方式中的工作流的方框图;
图4示出了在本发明的一个实施方式中实现工作流执行的网络的方框图;
图5示出了在本发明的一个实施方式中已经基于图4所示的功能性的位置对图3的工作流进行了分区之后的该工作流的方框图;
图6示出了在本发明的一个实施方式中的存根的执行,该存根配置有从图5的分区信息而生成的处理规则
图7示出了在本发明的一个实施方式中用于分布式工作流的构造的方法的方框图;以及
图8示出了在本发明的一个实施方式中的通信系统的方框图。
具体实施方式
现在将详细参考本发明的实施方式,附图中示出了这些实施方式的实例。
图3示出了在本发明的一个实施方式中的工作流的方框图。该工作流包括对九个函数的调用。在该上下文关系中,函数是由对象或者一组对象提供的方法、与软件实体的消息交换模式、过程、经由软件执行的数学函数、模块、例程、操作系统服务或者由应用、一组应用或者其他软件实体提供的任何其他指令序列。通常与关联于应用、一组应用或者其他软件实体的接口定义相关联地描述函数。在这种上下文关系中的函数被调用并且返回响应。该调用和响应可以分别包括至少一个参数。应当注意的是,在该上下文关系中的函数并未将函数限制为严格数学意义中的映射。
在图3中,存在从函数301至函数309的函数。在函数能够影响对工作流的分区这个意义上来讲,将这些函数认为是可定位函数。顺序地无条件调用函数301和302。在对函数302的调用之后,存在函数303和304的前提条件,该前提条件将引起对函数303或者函数304的调用。该前提条件检查由函数302返回的参数或者由函数301和302的函数序列共同产生的参数。在以字母C指示的条件等于T的情况下,选择通向函数303的分支。换言之,对于函数303的调用的前提条件是C=T。在C等于F的情况下,选取通向函数304的分支,也即,实现了函数304的前提条件。不管已经调用了函数303还是调用了函数304,在函数305继续工作流。调用函数305的前提条件是函数303或者函数304的完成。在已调用了函数305,并且已经返回了包括其相应值的参数之后,利用在工作流执行期间已经确定的大量参数值来调用函数306和307两者。对函数306和307的调用的前提条件包括函数305的完成。函数306和307可以同时执行。在两个函数都返回了包括响应参数和参数相应值的函数响应时,工作流可以在函数308处继续。函数308需要来自函数306和307的响应参数。这是对函数308调用的前提条件。响应于函数308的结束,调用函数309。在函数309返回其响应后,则认为工作流完成。最后,将在工作流执行期间确定的参数值返回给最初调用该工作流的函数。根据本发明,基于主管函数301至函数309中的每个函数的节点来将工作流划分为分区。
在各主节点中所主管的存根软件组件配置有基于这些分区的信息而产生的处理规则,所述每个主节点包括函数301至函数309中至少一个函数。向处理规则中添加必须的原语,以实现在不同物理网络节点中定位的函数之间的必要消息传递。还将依赖于消息接收的前提条件添加到该处理规则。例如,将未分区流说明中用于第一函数调用的第一前提条件替换为该第一前提条件和第二对应前提条件的组合,该第一前提条件此时针对向涉及第一函数的调用的分区递送第一消息,该第二对应前提条件针对该第一消息的接收,对该前提条件的实现引起对第一函数的调用。消息递送的前提条件位于在预定的分区中,该消息接收的前提条件定位在后续分区中。将并行调用函数的前提条件替换为针对主管函数中至少一个函数的每个主节点发送消息的前提条件以及用于触发在所述至少一个主节点中的函数调用的对应消息接收前提条件。
图4示出了在本发明的一个实施方式中实现工作流执行的网络400。网络400包括六个网络节点,所述六个网络节点用于主管九个被认为是可定位的函数,函数301至309。存在网络节点402,其主管函数301和302。存在网络节点404,其主管函数303。存在网络节点406,其主管函数304。存在网络节点408,其主管函数305。存在网络节点410,其主管函数308和函数309。最后还存在网络节点412,其主管函数306和307。在本发明的一个实施方式中,在给定主节点中被主管的每组函数可以通过应用或一组应用或者在主节点中执行的系统软件组件来提供。
图5示出了在已经基于图4中所示函数301至309的位置对图3的工作流进行了分区之后的工作流。函数301至309被认为是可定位的。分区501包括对函数301和函数302的顺序调用。分区501还包括在消息发送到分区502或者分区503之前对于条件C的检查的消息递送前提条件。第一消息递送前提条件是指,如果C=T则将消息发送到分区502。第二消息递送前提条件是指,如果C=F则将消息发送到分区503。在已经调用了函数303或304并完成了该函数的执行后,基于最初与函数305关联的前提条件来触发消息从分区502或分区503的递送。在分区504中存在对函数305调用的前提条件,其授权接收来自分区502或者分区503的消息。在函数305已经返回其响应后,基于最初与函数306和307关联的前提条件来触发从分区504至分区505和506两者的消息递送。这些函数的前提条件现在要求消息递送到包括函数306和307的分区而不是仅作出函数调用。分区505和506负责对来自分区504的消息的接收。分区505和506包括基于接收到来自分区504的消息而调用函数306和307的前提条件。分别在分区505和506中调用函数306和307。现在,自函数306和307返回的响应触发将消息分别从分区505和506递送到分区507。在分区507中,当调用函数308时,基于从分区505和506接收的参数值来处理所接收的消息。函数308返回其响应,并最后调用函数309。来自函数309的最终响应从分区506返回到最初调用该工作流的应用或者函数(未示出)。从图5所示的分区,形成大量存根配置规则集,所述存根配置规则被提供给图4所示的网络节点。应当注意的是,分区之间的消息交换还可以包括从接收分区向发送分区的应答消息的发送。在图5中并未示出应答消息。
在图6中,示出了根据本发明的一个实施方式的存根的执行,该存根配置有根据图5的分区信息而生成的处理规则。该存根通过调用在图3的工作流说明中指定的函数,并基于图5示出的分区,来根据处理规则执行工作流。示出的函数被认为是可定位的。处理规则包括根据该分区而修改的前提条件。在图6中,存在从650至656的网络节点。在主节点650中主管配置有根据分区501产生的处理规则的存根660。在主节点651中主管配置有使用分区502产生的处理规则的存根661。在网络节点652中主管配置有根据分区503产生的处理规则的存根662。在网络节点653中主管配置有使用分区505产生的处理规则的存根663。在网络节点654中主管配置有使用分区504产生的处理规则的存根664。在网络节点665中主管配置有根据分区506产生的处理规则的存根665。在网络节点656中主管配置有根据分区507产生的处理规则的存根666。
工作流的执行利用消息601来启动。消息601可以源自未示出的外部网络节点。消息601还可以源自节点650内部的应用(未示出)。对函数671的调用以箭头602示出。自函数671对存根660的响应以603示出。存根660对函数672的调用以箭头604示出。自函数672对存根660的响应以箭头605示出。
在接收消息605之后,存根660检查条件C是等于T还是等于F。字母T和F可以分别对应于真值:真和假。在满足了函数673的前提条件C=T的情况下,如箭头606A所示,存根660发送消息给存根661。以箭头607A示出了该应答。在满足了函数674的前提条件C=F的情况下,如箭头606B所示,存根660发送消息给存根662。以箭头607B示出了该相应的应答。存根661对函数673的调用以箭头608A示出。来自函数673的响应以箭头609A示出。存根662对函数674的调用以箭头608B示出。来自函数674的响应以箭头609B示出。当在工作流期间调用函数673的情况下,如箭头610A所示,存根661发送消息给存根664。以箭头611A示出了相应的应答。当在工作流期间调用函数674的情况下,如箭头610B所示,存根662发送消息给存根664。以箭头611B示出了相应的应答。存根664调用函数675,如以箭头612所示。对存根664的响应以箭头613示出。在自函数675响应时,存根664必须使得函数676和677并行执行。自然地,由于通信介质中的限制,可能不能严格地并行调用这些函数。存根664对存根663的调用以箭头614示出。相应的应答以箭头615示出。存根664对存根665的调用以箭头616示出。相应的应答以箭头617示出。在通知存根663完成与调用618相关的函数676时,存根663向存根666发送消息,如以箭头622所示。自存根666发送到存根663的应答以箭头623示出。
应当说明的是,在图6中,假设在函数677完成其相应的调用之前,函数676完成了调用。因此,在从节点655发送相应的消息之前,将消息从节点653发送到节点656。响应于接收到来自函数677的响应621,存根665发送消息到存根666,如以箭头624所示。存根之间的相应应答以箭头625示出。
为了实现根据工作流的说明的工作流,将存根666配置为在允许存根666以对函数678的请求的形式来继续执行工作流之前,等待消息622和624两者。对于接收消息622和624两者的检验通过例如有限状态模块的方式来执行,该检验在针对存根666而安装的处理规则中加以授权。存根666调用函数678,如以箭头626所示。函数678对存根666的响应以箭头627示出。存根666对函数679的调用以箭头628示出。自函数679对存根666的响应以箭头629示出。在已经接收到消息629后,存根666能够收集工作流执行的最终结果,并向调用实体(未示出)或者网络节点(未示出)应答工作流的成功执行,如以箭头630所示。
在本发明的一个实施方式中,给定主节点中的给定存根在任何影响存根配置规则集中所提及的前提条件的事件之后,检查不断地提供给它的存根配置规则集。这要求存根检验对于规则中提及的每个函数递送和每个消息递送的前提条件是否满足。这在程序上避免了对存根配置规则集和工作流的定义,而不是只是触发。
应当注意的是,使用存根实现的工作流,还可以包括后退步骤,如果某些函数返回了错误状态则执行该后退步骤。工作流中的后退步骤也可以通过存根之间的消息交换来实现。应当注意的是,如图6所示,对于各个函数的各个函数调用实际上可能是指向由单个应用所提供的不同方法。例如,函数678和679可以是由主节点656中主管的单个应用所提供的各个接口或者方法。出于本发明以及执行工作流的目的,由单个软件实体提供的各个接口或者方法被示出为各个函数。
图7示出了在本发明的一个实施方式中用于分布式工作流的构造的方法。在步骤700,由程序员、系统操作员或网络管理员来定义工作流。例如,可以使用在工作流说明节点中提供的图形用户界面(GUI)来定义工作流,该工作流说明节点同时还可能是存根配置节点。用户界面可以提供符号用以指示函数执行、分支条件、循环条件、函数前提条件或者其他类似编程原语。用户将符号拖动到显示的工作空间中,在此处用户可以由这些符号组装用于该工作流流程图。当定义工作流时,可以在特定的测试工具或者测试环境中对其进行测试。当提交工作流以用于在步骤702进一步处理时,确定函数,即工作流中引用的可定位函数。例如在存根配置节点中执行进一步的处理,该存根配置节点可以是工作流定义节点或者独立的节点。这例如要求将函数名或者标识符收集在列表中。在步骤704,从工作流确定函数输入和输出参数。在步骤706,根据工作流说明来确定函数前提条件。例如,该前提条件指示了在可以调用给定函数之前必须已经获得哪些参数和其相应的值。在本发明的一个实施方式中,该前提条件还可以明确地指示这样的函数,该函数的完成是随后函数的前提条件。在本发明的一个实施方式中,该前提条件还可以借助于给定参数的值的存在或者借助于特定值,来隐含地指示这样的函数,该函数的完成是随后函数的前提条件。在这种情况下,假定由给定函数处理的所有参数已经在该函数中被修改。该信息在相关存根的处理规则的构造中使用。
在本发明的一个实施方式中,明确地确定工作流的分支条件。在本发明的一个实施方式中,明确地确定函数和前述分支的后置条件。该后置条件确定响应于来自给定函数的响应或者在工作流中遇到给定分支,必须调用什么函数。在本发明的一个实施方式中,不存在明确的后置条件。该后置条件仅仅借助于函数的前提条件和流的完成来定义。该前提条件使得必要的消息能够在对给定函数的调用之前进行递送和接收动作,该给定函数将作为分区结果在存根配置规则集中加以定义。从分区之前的原始函数调用前提条件中获得消息递送的前提条件。
在步骤708,针对在工作流说明中提及的函数而确定主节点。主节点的确定例如可以使用从函数名的至少一部分到主机名或者地址的映射。例如,基于预先配置的规则提取足以确定用于该函数的主节点的函数名的第一部分。然后,将该第一部分映射到该函数的主节点。该映射例如可以使用域名系统,或者它可以使用轻型目录访问协议(LDAP)节点。例如在互联网工程任务组(IETF)的文件RFC2251中定义了LDAP。从域名系统服务器或者从LDAP协议节点接收主节点名或者主节点地址。例如,存根配置节点所使用的域名解析库可以进一步将主节点名解析成网络地址。在步骤710,确定哪些主节点是在主管工作流中的随后函数。基于对不同主节点的分区函数,将工作流分割到与主节点对应的特定的分区,所述主节点主管了工作流中的大量随后的函数。在步骤712,根据工作流的分区而产生存根配置规则集,即处理规则。在形成用于消息参数到函数参数的映射的规则中,使用要求的函数输入参数。类似地,在形成用于函数输出参数到消息参数的映射的规则中,使用要求的输出消息参数。使用与分区相关的信息来确定存根配置规则中需要的消息发送原语。步骤712的结果是准备好用于安装至主节点中的一组配置规则。在步骤714,将存根配置规则集安装到该方法在其上结束的相关主节点和它们的存根。此后,存根就准备用于根据所提供的配置规则处理工作流的实例。
图8示出了在本发明的实施方式中的通信系统。在图8中,存在网络800。主节点810和存根配置节点830连接至网络。还存在注册器820,其执行函数名或者部分函数名至主节点名或者地址的映射。存根配置节点830包括工作流定义工具834。换言之,其就是工作流定义实体834。存根配置节点830包括函数定位实体835、工作流分区实体836、存根配置规则构造实体837和存根配置规则提供实体838。存根配置节点830还包括通信实体832。通信实体832包括用于对主节点执行存根配置规则安装的相关协议。例如,通信实体832可以包括TCP/IP协议栈、超文本传输协议(HTTP)实体或者文本传输协议(FTP)实体。通信实体832配置为与工作流定义实体834、定位实体835和存根配置规则提供实体838交换数据。在本发明的一个实施方式中,通信实体832轮流与实体834至838中的每个实体通信。
主节点810包括通信实体812,其进一步包括例如TCP/IP协议实体和HTTP协议实体或者FTP协议实体。在IETF文件RFC 2616中定义了HTTP协议,在IETF文件RFC 959中定义了FTP协议。在主节点810中,还存在执行环境实体816。执行环境实体可以例如是JAVA
Figure A20068004165300251
虚拟机或者主机节点810的本机操作系统。该执行环境实体816主管至少一个函数实体,即函数实体817,其是可定位函数。执行环境实体816还包括至少一个存根实体,例如存储实体818。存根实体818可以包括例如,用于存根配置规则的处理的执行或者推论引擎。用于存根实体的配置规则使用安装实体814来安装,该安装实体经由网络800从存根配置规则节点830中的工作流定义实体接收存根配置规则。在本发明的一个实施方式中,提供了整个存根软件实体来替代动态的存根配置规则。
安装实体814还可以执行给定存根实体和给定函数实体之间的必要绑定。在本发明的一个实施方式中,安装实体814还可以包括在执行环境实体816内。通信实体812的部分也可以包括在执行环境实体816中。
以箭头850示出了至通信实体812的对配置规则集854的接收,该配置规则集至少包括配置规则856和858。通信实体812可以经由安装实体814或者直接向存根实体818提供配置规则集,如箭头852所示。在本发明的一个实施方式中,安装实体814是存根实体818或者通信实体812的一部分。
在本发明的一个实施方式中,工作流定义实体834包括图7所示的步骤700,定位实体835包括步骤702至708,工作流分区实体836包括步骤710,存根配置规则构造实体837包括步骤712,并且存根配置规则提供实体838包括步骤714。
在本发明的一个实施方式中,将完整的工作流定义接收至存根配置节点830。在本发明的一个实施方式中,工作流定义实体834包括若干工作流模式。该模式定义了通常工作流中步骤的组合或者频繁出现的步骤。可以由定义工作流的用户来使用工作流模式,或者可以在产生存根的配置规则中使用工作流模式。该图案定义了在流中经常出现的步骤序列,该步骤序列用于给定用途。工作流模式表明对于整个函数工作流的完成必须的特定消息交换模式,该完成不能忽略任何可能的第四条件或者必要的消息交换。例如,工作流模板可以确保产生的存根配置规则包含用于消息交换的适当的状态模块以及适当的消息交换模式,包括诸如消息的应答以及错误条件下的适当动作之类的模式。
可以以各种方式来实现软件组件,即图8中所示的工作流定义实体834、定位实体835、工作流分区实体836、存根配置规则构造实体837、存根配置规则提供实体838、存根818和函数817。这些软件组件可以作为在本机操作系统下执行的处理来实现。这些软件实体可以作为独立的过程来实现,或者利用一个过程来实现的不同软件实体。这些软件组件可以作为独立的计算机程序来实现,或者作为单个计算机程序来实现。一些软件实体可以作为连接至另一实体的模块来实现。这些实体可以在独立的计算机单元中实行,这些独立的计算机单元经过消息总线、局域网或者包括若干网段的网络进行通信,所述网段可以进一步包括局域网络或者骨干网络。计算机单元包括例如处理器、随机访问存储器、诸如磁盘或光盘或者闪速存储卡的辅助存储器以及通信接口。存根或者存根配置规则集可以直接地或者以存储并转发的方式通过若干中间节点提供给主节点。
对于本领域技术人员而言显而易见的是,随着技术的进步,本发明的基本构思可以以各种方式来实现。因此本发明及其实施方式不能仅限于上述的实例;相反,它们可以在权利要求书的范围内进行变化。

Claims (32)

1.一种用于通信系统中的分布式工作流的构造的方法,所述通信系统包括至少一个存根配置节点和至少一个主节点,所述方法包括:
获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于所述至少一个可定位函数的标识符;
从所述工作流说明来确定所述至少一个可定位函数;
为所述至少一个可定位函数确定至少一个触发条件;
基于用于所述可定位函数的标识符来为所述至少一个可定位函数找到主节点;
将所述工作流说明分割到至少一个分区,所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述至少一个分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;
在所述存根配置节点中从所述至少一个分区之中的第一分区生成至少第一存根配置规则集;以及
从所述存根配置节点向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集。
2.根据权利要求1所述的方法,所述方法进一步包括:
将工作流启动消息接收到进行启动的主节点;以及
在所述进行启动的主节点中的启动存根中处理所述工作流启动消息。
3.根据权利要求1或2所述的方法,所述方法进一步包括:
在第三主节点内的第三存根中从第二主节点接收第二消息;
基于所述第二消息和至少一个第二存根配置规则集中的至少一个第一存根配置规则,在所述第三主节点中选择将被调用的该第一可定位函数;以及
基于所述至少一个第二存根配置规则集中的至少一个第二存根配置规则,从所述第三主节点将第三消息输出到第四主节点内的第四存根,所述至少一个第二存根配置规则包括对参数值和来自所述第一可定位函数的响应其中至少一个的引用。
4.根据前述权利要求1至3中任一项所述的方法,所述方法进一步包括:
在第五主节点内的第五存根中检测事件,所述事件包括接收第四消息、接收来自第二可定位函数的响应、定时器到时和参数已经获得值其中至少之一;以及
基于至少一个第三配置规则集中的至少一个第三配置规则和所述事件,对向第六主节点输出第五消息、调用第三可定位函数、为第二参数提供值以及对第四配置规则进行评估其中至少之一进行选择。
5.根据前述权利要求1至4中任一项所述的方法,所述方法进一步包括:
向注册节点提供用于所述至少一个可定位函数中的第二可定位函数的标识符;以及
所述注册节点向主管所述第二函数的主节点提供主机名或者主机地址。
6.根据前述权利要求1至5中任一项所述的方法,其中所述注册节点包括域名服务器。
7.根据前述权利要求1至5中任一项所述的方法,其中所述注册节点包括轻型目录访问协议目录。
8.根据前述权利要求1至6中任一项所述的方法,所述方法进一步包括:
在所述第一主节点中使第一存根与至少一个第四可定位函数关联;
在所述第一主节点中接收所述第一存根配置规则集;以及
使所述第一存根配置规则集内的至少一个存根配置规则与所述至少一个第四可定位函数关联。
9.根据前述权利要求1至6或8中任一项所述的方法,其中所述主节点包括互联网协议节点。
10.根据前述权利要求1至6、8或9中任一项所述的方法,其中所述主节点包括移动台。
11.根据前述权利要求1至6、8或9中任一项所述的方法,其中所述主节点包括无线节点。
12.根据前述权利要求1至6中任一项所述的方法,其中所述主节与工业机器人关联。
13.一种用于分布式工作流的构造的系统,包括:
至少一个存根配置节点,被配置为:获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于所述至少一个可定位函数的标识符;从所述工作流说明来确定所述至少一个可定位函数;为所述至少一个可定位函数确定至少一个触发条件;基于用于所述可定位函数的所述标识符为所述至少一个可定位函数找到至少一个主节点之中的主节点;将所述工作流分割到至少一个分区,所述至少一个分区与所述至少一个主节点中的给定主节点相关联,所述给定主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;在所述存根配置节点中从所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集;以及
所述至少一个主节点中的所述第一主节点,被配置为从所述存根配置节点获取所述第一存根配置规则集。
14.根据权利要求13所述的系统,所述系统进一步包括:
所述至少一个主节点中的启动主节点,被配置为将工作流启动消息接收到所述启动主节点以及在启动存根中处理所述工作流启动消息。
15.根据权利要求13或14所述的系统,所述系统进一步包括:
第三主节点,被配置为:在第三存根中从第二主节点接收第二消息;基于所述第二消息和至少一个第二存根配置规则集中的至少一个第一存根配置规则,来选择将被调用的第一可定位函数;基于所述至少一个第二存根配置规则集中的至少一个第二存根配置规则,将第三消息输出到第四主节点内的第四存根,所述第二存根配置规则包括对于来自所述第一可定位函数的响应参数中至少一个的引用。
16.根据前述权利要求13至15中任一项所述的系统,所述系统进一步包括:
第五主节点,被配置为:在第五存根中检测事件,所述事件包括接收第四消息、接收来自第二可定位函数的响应、定时器到时和参数已经获得值其中至少之一;以及基于至少一个第三配置规则集中的至少一个第三配置规则和所述事件,来选择向第六主节点输出第五消息和调用第三可定位函数其中至少之一。
17.根据前述权利要求13至16中任一项所述的系统,所述系统进一步包括:
所述存根配置节点,被配置为向注册节点提供用于所述至少一个可定位函数中的第二可定位函数的标识符;以及
所述注册节点,被配置为向主管所述第二函数的主节点提供主机名或者主机地址。
18.根据前述权利要求13至17中任一项所述的系统,其中所述注册节点包括域名服务器。
19.根据前述权利要求13至17中任一项所述的系统,其中所述注册节点包括轻型目录访问协议目录。
20.根据前述权利要求13至18中任一项所述的系统,所述系统进一步包括:
所述第一主节点被配置为:将第一存根与至少一个第四可定位函数关联;接收所述第一存根配置规则集;以及使所述第一存根配置规则集内的至少一个存根配置规则与所述至少一个第四可定位函数关联。
21.根据前述权利要求13至17或20中任一项所述的系统,其中所述主节点包括互联网协议节点。
22.根据前述权利要求13至17、20或21中任一项所述的系统,其中所述主节点包括移动台。
23.根据前述权利要求13至17、20或21中任一项所述的系统,其中所述主节点包括无线节点。
24.根据前述权利要求13至17中任一项所述的系统,其中所述主节被配置为控制工业机器人。
25.一种用于分布式工作流的构造的网络节点,所述网络节点包括:
定义实体,被配置为:获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于所述至少一个可定位函数的标识符;从所述工作流说明来确定所述至少一个可定位函数;以及为所述至少一个可定位函数确定至少一个触发条件;
定位实体,用以基于用于所述可定位函数的标识符,来为所述至少一个可定位函数找到至少一个主节点中的主节点;
分区实体,被配置为将所述工作流分割到至少一个分区,所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述至少一个分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;
构造实体,被配置为在所述存根配置节点中从所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及
提供实体,被配置为向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集。
26.一种用于分布式工作流的构造的网络节点,所述网络节点包括:
用于获取工作流说明的装置,所述工作流说明包括对至少一个可定位函数的调用以及用于每个所述至少一个可定位函数的标识符;
用于从所述工作流说明来确定所述至少一个可定位函数的装置;
用于为所述至少一个可定位函数确定至少一个触发条件的装置;
用于基于用于所述至少一个可定位函数的标识符为所述至少一个可定位函数找到至少一个主节点中的第一主节点;
用于将所述工作流分割到至少一个分区的装置,所述至少一个分区与所述至少一个主节点中的给定主节点关联,所述给定主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;
用于在所述存根配置节点中从所述至少一个分区中的第一分区生成至少第一存根配置规则集的装置;以及
向所述至少一个主节点中与该第一分区关联的第一主节点提供所述第一存根配置规则集的装置。
27.一种用于分布式工作流的处理的网络节点,所述网络节点包括:
安装实体,被配置为从存根配置节点获取用于工作流的分区的至少一个配置规则集;以及
存根实体,被配置为:检测事件,所述事件包括接收第一消息、接收来自第一可定位函数的响应、定时器到时以及参数具有值其中至少之一;以及基于所述至少一个配置规则集中的至少一个配置规则和所述事件,来选择向第二主节点输出第二消息和调用第二可定位函数其中至少之一。
28.一种用于分布式工作流的处理的网络节点,所述网络节点包括:
用于从存根配置节点获取用于工作流的分区的至少一个配置规则集的装置;
用于检测事件的装置,所述事件包括接收第一消息、接收来自第一可定位函数的响应、定时器到时以及参数具有值其中至少之一;以及
基于至少一个配置规则集中的至少一个配置规则和所述事件,来选择向第二主节点输出第二消息和调用第二可定位函数其中至少之一的装置。
29.一种计算机程序,包括在数据处理系统上执行时适用于执行下列步骤的代码:
获取工作流说明,所述工作流说明包括对至少一个可定位函数的调用以及用于所述至少一个可定位函数的标识符;
从所述工作流说明来确定所述至少一个可定位函数;
为所述至少一个可定位函数确定至少一个触发条件;
基于用于所述可定位函数的标识符为所述至少一个可定位函数找到主节点;
将所述工作流分割到至少一个分区,所述至少一个分区与主节点关联,所述主节点主管在所述分区中被调用的至少一个第一可定位函数,所述至少一个第一可定位函数是所述至少一个可定位函数其中之一;
从所述至少一个分区中的第一分区生成至少第一存根配置规则集;以及
向与第一分区关联的主节点提供所述第一存根配置规则集。
30.根据权利要求29所述的计算机程序,其中所述计算机程序存储在计算机可读介质上。
31.根据权利要求30所述的计算机程序,其中所述计算机可读介质包括可移动存储卡。
32.根据权利要求30所述的计算机程序,其中所述计算机可读介质包括磁盘或光盘。
CN2006800416538A 2005-11-09 2006-11-07 用于通信系统中的分布式工作流的构造和执行的方法、系统、网络节点和设备 Expired - Fee Related CN101305551B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20051137 2005-11-09
FI20051137A FI20051137A0 (fi) 2005-11-09 2005-11-09 Menetelmä hajautetun asiankäsittelyn muodostamiseksi ja suorittamiseksi viestintäjärjestelmässä
PCT/FI2006/000357 WO2007054606A2 (en) 2005-11-09 2006-11-07 Method for the construction and execution of a distributed workflow in a communication system

Publications (2)

Publication Number Publication Date
CN101305551A true CN101305551A (zh) 2008-11-12
CN101305551B CN101305551B (zh) 2012-04-18

Family

ID=35458745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800416538A Expired - Fee Related CN101305551B (zh) 2005-11-09 2006-11-07 用于通信系统中的分布式工作流的构造和执行的方法、系统、网络节点和设备

Country Status (5)

Country Link
US (1) US8209213B2 (zh)
EP (1) EP1949595B1 (zh)
CN (1) CN101305551B (zh)
FI (1) FI20051137A0 (zh)
WO (1) WO2007054606A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778519B (zh) * 2014-03-04 2017-01-25 南京大学 一种基于安全状态的工作流实例可迁移性判定方法
WO2023050410A1 (zh) * 2021-09-30 2023-04-06 西门子股份公司 工作流操作的方法和装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129253B2 (en) * 2005-09-29 2015-09-08 Rpx Clearinghouse Llc Workflow locked loops to enable adaptive networks to change a policy statement responsive to mission level exceptions and reconfigure the software-controllable network responsive to network level exceptions
US20070106797A1 (en) * 2005-09-29 2007-05-10 Nortel Networks Limited Mission goal statement to policy statement translation
US7765476B2 (en) * 2006-08-28 2010-07-27 Hamilton Sundstrand Corporation Flexible workflow tool including multi-lingual support
EP1936494B1 (en) * 2006-12-21 2011-08-03 Software AG Method for runtime execution of one or more tasks defined in a workflow process language
CN101216911B (zh) * 2008-01-04 2010-09-29 清华大学 支持分布式执行的工作流模型动态分割方法
US20100057826A1 (en) * 2008-08-29 2010-03-04 Weihsiung William Chow Distributed Workflow Process Over a Network
WO2011023239A1 (en) * 2009-08-31 2011-03-03 Siemens Aktiengesellschaft Workflow centered mechatronic objects
US8458729B2 (en) * 2010-07-20 2013-06-04 International Business Machines Corporation Managing and optimizing workflows among computer applications
US8924974B1 (en) * 2011-06-08 2014-12-30 Workday, Inc. System for error checking of process definitions for batch processes
US9009675B2 (en) * 2012-03-21 2015-04-14 International Business Machines Corporation Verification of complex workflows through internal assessment or community based assessment
US9235808B2 (en) 2013-03-14 2016-01-12 International Business Machines Corporation Evaluation of predictions in the absence of a known ground truth
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US10866865B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Storage system journal entry redaction
US11609890B1 (en) 2015-06-29 2023-03-21 Amazon Technologies, Inc. Schema management for journal-based storage systems
US10866968B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Compact snapshots of journal-based storage systems
US10324905B1 (en) 2015-08-21 2019-06-18 Amazon Technologies, Inc. Proactive state change acceptability verification in journal-based storage systems
US10235407B1 (en) 2015-08-21 2019-03-19 Amazon Technologies, Inc. Distributed storage system journal forking
US10346434B1 (en) 2015-08-21 2019-07-09 Amazon Technologies, Inc. Partitioned data materialization in journal-based storage systems
US10108658B1 (en) 2015-08-21 2018-10-23 Amazon Technologies, Inc. Deferred assignments in journal-based storage systems
US10031935B1 (en) 2015-08-21 2018-07-24 Amazon Technologies, Inc. Customer-requested partitioning of journal-based storage systems
US9990391B1 (en) 2015-08-21 2018-06-05 Amazon Technologies, Inc. Transactional messages in journal-based storage systems
US10198346B1 (en) 2015-09-28 2019-02-05 Amazon Technologies, Inc. Test framework for applications using journal-based databases
US10331657B1 (en) 2015-09-28 2019-06-25 Amazon Technologies, Inc. Contention analysis for journal-based databases
US10133767B1 (en) 2015-09-28 2018-11-20 Amazon Technologies, Inc. Materialization strategies in journal-based databases
US10397978B2 (en) * 2015-11-06 2019-08-27 Flash Networks, Ltd Method and system for signaling optimization of IP connection over a mobile-radio network
US10621156B1 (en) 2015-12-18 2020-04-14 Amazon Technologies, Inc. Application schemas for journal-based databases
US10530705B2 (en) * 2016-03-10 2020-01-07 Ricoh Co., Ltd. Architecture customization at user application layer
US11467858B2 (en) * 2019-03-27 2022-10-11 Amazon Technologies, Inc. Techniques for performing continuation workflows
US11366681B2 (en) 2019-03-27 2022-06-21 Amazon Technologies, Inc. Chaining virtual machines
US10963287B2 (en) * 2019-03-27 2021-03-30 Amazon Technologies, Inc. Reducing request latency in a multi-tenant web service host
US11734054B2 (en) * 2019-09-03 2023-08-22 Netflix, Inc. Techniques for interfacing between media processing workflows and serverless functions
US11755543B2 (en) * 2020-12-29 2023-09-12 International Business Machines Corporation Optimization of workflows with dynamic file caching

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646843A (en) * 1990-02-05 1997-07-08 Caterpillar Inc. Apparatus and method for surface based vehicle control system
CA2165893C (en) 1995-12-21 2001-03-13 Richard Denison Mcdonald Visual application partitioning for creating distributed object oriented applications
US6236999B1 (en) * 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US20040049345A1 (en) * 2001-06-18 2004-03-11 Mcdonough James G Distributed, collaborative workflow management software
US20030004912A1 (en) * 2001-06-29 2003-01-02 Lalit Pant Architecture for intelligent agents and distributed platform therefor
WO2003012706A2 (en) * 2001-08-02 2003-02-13 Jeecom Inc. A process integration platform and method
EP1363187A1 (en) * 2002-05-15 2003-11-19 Sony International (Europe) GmbH Dispatching application steps in a client/server environment
FR2841072A1 (fr) * 2002-06-14 2003-12-19 France Telecom Systeme de consultation et/ou mise a jour de serveurs dns et/ou d'annuaires ldap
US7990279B2 (en) * 2003-01-15 2011-08-02 Bouressa Don L Emergency ingress/egress monitoring system
CN1482566A (zh) * 2003-01-22 2004-03-17 余育新 分布式工作流管理平台
US9148216B2 (en) * 2003-07-30 2015-09-29 Globecomm Systems Inc. Distributed satellite-based communications network and method of providing interactive communications services using the same
AU2004302220A1 (en) * 2003-08-08 2005-02-17 Telecommunication Systems, Inc. Method and system for collecting synchronizing and reporting telecommunication call events and work flow related information
US7395151B2 (en) * 2004-02-24 2008-07-01 O'neill Dennis M System and method for knowledge-based emergency response

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778519B (zh) * 2014-03-04 2017-01-25 南京大学 一种基于安全状态的工作流实例可迁移性判定方法
WO2023050410A1 (zh) * 2021-09-30 2023-04-06 西门子股份公司 工作流操作的方法和装置

Also Published As

Publication number Publication date
US20070106541A1 (en) 2007-05-10
EP1949595A2 (en) 2008-07-30
US8209213B2 (en) 2012-06-26
CN101305551B (zh) 2012-04-18
EP1949595B1 (en) 2013-02-27
WO2007054606A3 (en) 2007-06-28
WO2007054606A2 (en) 2007-05-18
EP1949595A4 (en) 2012-01-11
FI20051137A0 (fi) 2005-11-09

Similar Documents

Publication Publication Date Title
CN101305551B (zh) 用于通信系统中的分布式工作流的构造和执行的方法、系统、网络节点和设备
AU686105B2 (en) System for implementation-independent interface specification
CN110647559B (zh) 数据处理方法、相关节点及系统
Afanasev et al. An application of blockchain and smart contracts for machine-to-machine communications in cyber-physical production systems
WO2009033248A1 (en) A method for efficient thread usage for hierarchically structured tasks
CN102681878A (zh) 无需修改现有代码即可增加新软件特征的方法
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN104615489A (zh) 一种多节点数据交互的实现方法
Chen et al. Introduction to OPNET network simulation
CN108055296B (zh) 一种基于微服务架构的事务处理方法及装置
CN108733457A (zh) 分布式事务的实现方法和装置
CN113746928A (zh) 跨云服务调用方法、装置和系统
Schmidt et al. Methodology for the model driven development of service oriented plant controls
CN111858355B (zh) 测试案例处理方法及装置、计算机设备及可读存储介质
US9537931B2 (en) Dynamic object oriented remote instantiation
CN1373954A (zh) 下一代网络业务和智能数据网路由器的高级业务体系结构
EP3702856B1 (en) Network centric process control
CN108512688A (zh) 网络节点配置方法和终端
JP2005044111A (ja) フィールドバスシステム
CN114245890A (zh) 用于提供功能即服务平台的方法和设备
van Gurp et al. Service grid variability realization
WO2009051886A2 (en) Methods and systems for directory-based programming
WO2009078553A1 (en) Port setting method of application system
Yi et al. Dynamic heuristic for the recomposition of service function chain
CN112667247A (zh) 服务管理方法、系统、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418

Termination date: 20151107

EXPY Termination of patent right or utility model