CN101213521A - 用于多主体系统的基于中介的恢复机制 - Google Patents

用于多主体系统的基于中介的恢复机制 Download PDF

Info

Publication number
CN101213521A
CN101213521A CNA2004800079395A CN200480007939A CN101213521A CN 101213521 A CN101213521 A CN 101213521A CN A2004800079395 A CNA2004800079395 A CN A2004800079395A CN 200480007939 A CN200480007939 A CN 200480007939A CN 101213521 A CN101213521 A CN 101213521A
Authority
CN
China
Prior art keywords
main body
mediation agent
information
cooperation
agent
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.)
Pending
Application number
CNA2004800079395A
Other languages
English (en)
Inventor
李河宾
约翰·威廉·谢泼德森
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN101213521A publication Critical patent/CN101213521A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种恢复多主体系统体系结构中的多个组成主体之间的协作状态的方法,该方法包括:处理由中介主体为各组成主体转发的协作信息;保持从各协作主体提供给所述中介主体的所述协作信息中导出的协作处理状态信息记录;以及在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,使用一个或更多个所述协作处理状态信息记录来恢复协作状态。

Description

用于多主体系统的基于中介的恢复机制
技术领域
本发明涉及用于多主体系统(multi-agent system)的基于中介(mediator)的恢复机制。更具体地,但并非唯一地,本发明涉及如下恢复机制,其中多个软件主体在时间敏感(time-critical)应用中进行在线交互,该时间敏感应用要求每个主体必须了解其它主体所达到的最新状态。
背景技术
容错多主体系统在本领域已经是公知的。例如,Staffan Hagg,“ASentinel Approach to Fault Handling in Multi-Agent Systems”,inProceedings of the Second Australian Workshop on Distributed Al,inconjunction with Fourth Pacific Rim International Conference on ArtificialIntelligence(PRICAI’96),Clairns,Australia,1996提出了一种在多主体系统中进行故障处理的方法,其中“Sentinel”主体监控应用主体之间所交换的消息,以检测任何恶意的或有故障的主体。实现Sentinel主体系统通过防止主体间活动发生故障使得多主体系统可以变得更为健壮。然而Sentinel主体是基于应用的,并且必须为各新的应用而定制。
Mark Klein,Juan Antonio Rodriguez-Aguilar和Chrysanthos Dellarocas,“Using Domain-Independent Exception Handling Services to Enable RobustOpen Multi-Agent Systems:The Case of Agent Death,”Journal ofAutonomous Agents and Multi-Agent Systems,200 1也提出了Sentinel主体概念。Klein等人公开了不依赖于域的Sentinel主体,从而一旦开发出Sentinel主体,它们可以用于监控任何种类应用主体。在多主体体系结构中,各应用主体与一Sentinel主体绑定。这些Sentinel主体还相互协作,以通过连续检测所绑定的应用主体来防止任何故障。Lateff.O.Ogunleye,“The state detection of a multi-agent system,”Working Paper,Department ofComputer Science,University of Saskatchewan,Canada公开了一种改进的容错多主体系统。Ogunleye公开了基于Report Card的状态检测机制,其中各主体具有其自己的卡,该卡每隔一段时间就被更新以表示正在如何处理特定任务。汇报卡还可以用于检测该主体对于其正在处理的作业而言的进展。Ogunleye还说明了一种黑板系统,其用于保持与主体可以投标的任务有关的所有信息,这使得可以在任务级别详细地监控该主体。
以上现有技术提供了容错机制,该容错机制限于防止多主体系统的故障,而不会进行故障恢复,从而在多主体系统事实上崩溃并且需要恢复的情况下,该容错机制并没有试图解决问题。
该问题已被其它现有技术所解决,所述其它现有技术在多主体系统出现故障的情况下指导进行恢复。例如,参见Qiming Chen,UmeshwarDayal,“Multi-Agent Cooperative Transactions for E-Commerce”,Proc.FifthIFCIS Conference on Cooperative Information Systems(CooplS’2000),2000,Israel;Kumar,Sanjeev;Cohen,Philip R.“Towards a Fault-TolerantMulti-Agent System Architecture”,In Proceedings of the Fourth InternationalConference on Autonomous Agents(Agents 2000),ACM Press,Barcelona,Spain,June 3-7,2000,pages 459-466;Kumar,Sanjeew;Cohen,Philip R.Levesque,Hector J.“The Adaptive Agent Architecture:AchievingFault-Tolerance Using Persistent Broker Teams”,in Proceedings of the FourthInternational Conference on Multi-Agent Systems(ICMAS 2000),Boston,MA,USA,July 7-12,2000,pages 159-166.2000;以及Pradeep R.Varakantham,Santosh K.Gangwani和Kamalakar Karlapalem,“On HandlingComponent and Transaction Failures in Multi-Agent Systems,”ACMSIGecom Exchanges,vol 3.1,pp.32~43,2002。
在Kumar等人(2000)的两篇参考文献中,提出了一种自适应主体体系结构(Adaptive Agent Architecture),该体系结构通过使用持久代理组(persistent broker teams)来支持容错多主体系统。通过该方法,具有代理组的多主体系统可以利用除了陷入崩溃的一个或更多个代理以外的其余代理主体的协作来恢复所述陷入崩溃的主体的一个或更多个主体程序。另一方面,Chen和Dayal对在用于多主体系统的分布式数据库中的事务管理技术进行定制。为此,他们引入了用于委托(commit)控制和故障恢复的多主体合作事务和对等协议。
Varakantham等人提供了一种恢复机制,其通过在一个主体内使用工作流概念并将所有工作流状态信息记录到本地存储中来恢复崩溃的多主体系统。然而,Varakantham等人提出的方案只适于如下系统,其中参与主体在具有足够本地存储的设备上运行以确保主体可以将他们的状态定期地保存到该本地设备。因此所提出的方案不适合于如下情况:没有提供本地存储(例如,没有或几乎没有本地存储的移动设备),或者多个主体要求快速表示其它主体的实时状态,例如,如果由于电池故障而失去到因特网的无线连接,而用户正在参与在线拍卖或游戏应用程序,则可能出现这种情况。
可以利用软件体系结构来对软件系统建模。软件体系结构一词是指具有计算组件及其交互的集合的软件系统的高级模型,计算机组件的交互是诸如过程调用、事件广播、数据库查询和管道处理的连接处理(connector)。软件系统的体系结构模型使得可以获得相互通信、较早的设计决断以及系统的可转换抽象(transferable abstraction)。此外,该软件体系结构体现在系统中的组件和组件交互之间。有利地,该体系结构使得复杂的系统更易处理、可分析以及可再用(参见Garlan,D.和Shaw,W.“An Introduction to Software Architecture”,International Journal of SoftwareEngineering and Knowledge Engineering,Vol.1,World Science Publishing,1993,以及Robbin,J.E.Medvidovic,N.Redmiles,D.F.和Rosenblum,D.S.“Integrating Architecture Description Languages with a Standard DesignMethod”,ICSE,Kyoto,Japan,1998,pp.209-218以获得更多信息)。
主体体系结构可以分为两类:单个主体的内部体系结构以及多主体系统(MAS)的体系结构。在MAS中,多主体体系结构在规定主体之间的关系和协调时扮演重要角色。MAS提供该技术来支持通过主体的自主和智能交互而工作的组。该自主减轻了工作人员的信息过载并有助于管理与其它工作人员的交互。
在一组工作人员参与长期协作的情况下(例如,在诸如与拍卖或合约网相关的时间量程上),所述支持的利用率最大。使用已知MAS来支持长期组协作的缺点在于该协作的大部分阶段对于使用人员是隐藏的,这使得当在协作过程中存在任何严重故障时难于恢复协作状态。结果,如果在长期主体交互过程中出现严重故障(如主体的崩溃),则整个协作必须从开始重启,这导致时间的损耗并增加了所投入的努力。此外,由于存在多个进行协作的主体,所以一个主体的崩溃不会被立即通知给其它主体,如果其它主体长时间没有从该崩溃主体收到响应,则其它主体可能挂起(hang)。
对于这些问题的已知解决方案是受限的,包括设计需求将解决方案限于具有本地永久存储的设备。这些已知解决方案通常涉及存储主体的协作状态(使用本地存储),并使用所存储的信息来恢复崩溃主体的协作状态。在所考虑的设备不具有本地存储的情况下或者如果主体平台不支持高速缓冲功能(例如,在利用JavaTM虚拟机的某些变型的情况下),则这些解决方案不是可行的解决方案。例如,手持设备(如移动电话或PDA)可能不具有任何本地存储和/或主体平台高速缓存功能。
如果移动设备由于某一原因崩溃,或者要么例如由于使该移动设备的用户能够继续进行他们与使用另一电池有电的移动设备的其它主体的当前协作的电池没电,而使该移动设备从其通信网络突然断开,则期望具有该本地存储和/或主体平台高速缓存功能。利用当前的MAS体系结构无法实现这种简单的恢复机制。
发明内容
本发明寻求通过提供在任何具有存储能力设备上运行的并且记录MAS中的其它组成主体的协作状态的协作中介主体,来调停和/或消除现有技术的以上缺点。
根据本发明的第一方面,提供了一种恢复多主体体系结构中的多个组成主体之间的协作状态的方法,该方法包括:处理由中介主体为各组成主体转发协作信息;保持从各协作主体提供给所述中介主体的协作信息中导出的协作处理状态信息记录;并且在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,使用一个或多个所述协作处理状态信息记录来恢复协作状态。
优选地,所述中介主体通过多主体平台的管理主体来登记其中介服务。
优选地,所述组成主体在所述恢复协作状态的步骤之前预订中介服务。
优选地,在第一方面的方法中,如果第一组成主体将其角色(role)委托给至少一个其它委托组成主体,则中介主体保持与至少一个其它委托组成主体的角色有关的状态信息。
优选地,所述多个主体之间的协调由包括全局设计和局部设计的交互设计规定,其中全局设计为所有参与协作的组成主体指定全部交互步骤,而局部设计为各参与组成主体指定特定协作活动。
优选地,转发给中介主体的协作信息包括组成主体的局部设计的执行状态。
优选地,组成主体没有将该组成主体的局部设计实例的执行状态存储在该主体所运行的设备的永久存储中。
根据本发明的第二方面,提供了一种被设置为恢复多主体体系结构中的多个组成主体之间的协作状态的装置,该装置包括:至少一个处理器,其被设置为处理由中介主体为各组成主体转发的协作信息;存储装置,其被设置为保持从各协作主体提供给所述中介主体的协作信息中导出的协作处理状态信息;以及信息提供装置,其在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,以适于利用当前协作状态信息来更新该事件所影响的各组成主体的形式,提供从一个或更多个所述协作处理状态信息记录中导出的信息。
优选地,在该装置包括移动电话或PDA的本发明的实施例中,由于无需在该设备上提供存储能力来确保在MAS崩溃的情况下的恢复,所以可以保持设备的轻质。
根据本发明的第三方面提供了一种计算机程序产品,包括一组被设置为实现本发明的任何一方面的方法的一个或更多个计算机程序。
根据本发明的第四方面提供了一种信号,包括被设置为利用组成消息来预订中介服务的服务预订消息。
根据本发明的第五方面,提供了一种网络,其包括根据本发明第二方面的多个装置,至少两个装置互连。
根据本发明的第六方面,提供了一种多主体体系结构,其包括多个组成主体和一个中介主体,该中介主体被设置为在进行协作的所述组成主体之间进行调停,所述体系结构被设置为执行根据本发明第一方面的方法中的步骤。
根据本发明的第七方面,提供了一种在多主体体系结构中的被设置为执行预定角色的第一组成主体与另一主体之间进行委托的方法,所述组成主体和所述另一主体被设置为经由中介主体进行通信,所述方法包括如下步骤:将请求消息从第一组成主体发送到中介主体,以委托给另一主体;由中介主体将所述委托请求消息转发给所述另一主体;在所述另一主体处接收所述委托请求;处理所述委托请求并将所述委托请求已被接受的表示提供给中介主体;从所述中介主体将来自第一组成主体的包括局部工作流实例的信息传送到另一主体。
根据本发明的第八方面,提供了一种被设置为将恢复信息提供给中介主体的组成主体,所述组成主体具有将表示其局部交互设计状态的信息转发给中介主体的装置。
根据本发明的第九方面,提供了一种被设置为将恢复信息提供给中介主体的组成主体,所述组成主体具有存储表示其局部交互设计状态的信息并将关于所述交互状态的信息转发给中介主体的装置。
根据本发明的第十方面,提供了一种被设置实现恢复多主体体系结构中的多个组成主体之间的协作状态的方法的中介主体,该中介主体包括:接收并存储由各组成主体提供的协作信息的装置;更新所述协作信息以生成至少一个处理状态信息记录的装置;以及在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,使用一个或更多个所述协作处理状态信息记录来恢复所述协作状态的装置。
优选地,通过提供在具有本地存储的设备上运行的协作中介主体,在没有本地存储的设备上运行的组成主体的协作状态也可以被存储。
优选地,组成主体只经由中介主体相互进行交互。
有利地,由于所有消息都由中介主体来发送,所以中介主体保持最新的协作状态,甚至参与主体的内部状态。如果任何组成主体崩溃,则该主体重启并从所述中介主体找到在其崩溃之前的最新状态,从而进行恢复。
有利地,包括本发明的局部和全局设计的交互模型表示通用多主体交互,然而Varakanthan等人使用Petri-net模型来只表示单主体处理和多主体交互的问题解决处理,以解决分级问题。Varakanthan通过使多主体交互类似于单主体行为来恢复这种类型的交互。即,发起者主体控制下级主体的行为以解决问题。在该方法中,上级主体和下级主体具有主从关系,其中主控主体具有对于其从属主体的完全控制。这表示,一旦主控主体崩溃,就不可能恢复其从属主体,并且因此不可能恢复整个系统。这并不是适合于诸如在在线拍卖、合约网和在线游戏场景中发生的对等主体交互的方法。
根据本发明的第十一方面,提供了一种被设置为嵌入组成主体中的工作流引擎体系结构,该工作流引擎体系结构包括:调度器;任务管理器;状态管理器;工具库;以及工作流实例库。
根据本发明的第十二方面,提供了一种重启由中介主体动态给出的局部工作流实例的方法,该方法包括:验证从中介主体接收的工作流实例的有效性;将有效工作流实例存储在局部工作流实例库中;并且通过执行来自中介主体的缓冲消息,使所述局部工作流实例与中介主体的全局工作流实例同步。
附图说明
下面将参照只通过示例方式提供的附图来说明本发明的优选实施例,其中:
图1是根据本发明的基于中介的多主体体系结构的示意图;
图2是根据本发明的交互设计的示意图;
图3示意性地示出了轻质工作流引擎的体系结构;
图4示意性地示出了当完成了局部交互设计中的正在进行的动作时调度和执行动作的具体过程;
图5A和B示意性地示出了针对特定多主体交互的全局交互实例的组成处理;
图6示意性示出了交互恢复协议;
图7示意性示出了主体内的恢复处理;以及
图8A和8B分别示意性示出了根据本发明两个实施例的协作信息的交换。
具体实施方式
以下是本发明的优选实施例的详细说明,这些优选实施例包括对于发明人当前所考虑的本发明的最佳模式的说明。即使没有明确说明,但是对于本领域技术人员很显然,本发明的特定特征可以由其已知等价物代替,并且如果合适,本发明的范围旨在包括这些等价物。
参照附图中的图1,示意性地示出了根据本发明一个实施例的基于中介的多主体系统(MAS)体系结构。在图1中,体系结构1包括多个组成主体2a、2b、3以及被设置为与各组成主体2a、2b、3相互连接的中介主体4。中介主体4还被设置为提供到管理系统5的输入,以使得当各组成主体试图相互协作时各组成主体能够预订该中介主体4的中介服务,下面将详细说明。简言之,该中介提供给管理系统的输入使得当组成主体请求从管理系统5进行索引簿搜索时中介可以将其中介服务通告给组成主体。为此,管理系统包括主体管理系统6以及支持一个或更多个服务描述库8的索引簿服务商7。
更具体地,在图1所示的本发明的实施例中,中介主体通过将信息提供给由诸如FIPA规范的索引簿服务商的管理主体所保持的服务描述库来利用管理系统登记其中介服务(更具体地,参见FIPA AbstractArchitecture Specification,Foundation for Intelligent Physical Agents,2000,http://www.fipa.org/specs/)。也可以使用其它通告机制,只要他们能够使中介主体提供适当的服务描述。中介主体的服务描述包括中介服务名称、要使用的交互协议等。组成主体得到中介主体的地址,如果服务描述符合某一准则,则组成主体使其自己预订该中介主体的中介服务。
基于预订的中介服务由中介主体提供。为了预订中介服务,组成主体向中介主体发送包含中介服务的名称和中介服务中的预订主体的角色的预订消息。
各组成主体5,6的内部状态由局部工作流实例表示,该局部工作流实例是局部交互设计的实例,该实例指定了应当由该主体执行以参与和MAS中的其它主体的协调的动作。所有协调主体(为了清楚在图1中只示出了两个)的协调状态由全局工作流实例表示,该全局工作流实例是全局交互设计的实例,该实例指定了应当由所有参与协调的主体执行的动作。
如图1所示,该体系结构可以用于将来自组成主体2a的角色委托给至少一个其它组成主体2b(在下文中更详细地说明),并可以用于崩溃组成主体的恢复。如果一个主体将其在交互设计中的角色委托给另一组成主体,则在两个组成主体之间存在角色委托关系,在这种情况下,中介主体将用于该授权(donor)主体的局部工作流实例发送到委托主体。该体系结构支持主体角色的委托并在崩溃后快速恢复的能力在需要管理多主体交互的机制的任何情形中都是有用的。该体系结构的全局和局部设计交互模型有利地支持状态同步和角色委托,这对于由于例如在协调过程中的电池问题而想要从一个移动设备改变到另一移动设备的移动设备操作者而言特别有用。
在图1中,用于恢复没有本地存储设施的设备上的多主体系统的基于“协作中介”的多主体体系结构使用交互协议,该协议规定了在参与的主体之间所交换的消息的顺序。该中介主体根据所采用的交互协议管理组成主体之间的协作。即,所有组成主体只将消息发送到中介主体,然后中介主体将这些消息路由到其它主体,其它主体在各阶段中调整对这些消息的处理负责的角色。由于组成主体之间的所有消息都经过中介主体,所以中介主体保持并更新这些组成主体的协作状态。在本发明的优选实施例中,中介主体在具有本地存储的设备上运行,从而该中介主体可以本地地记录协作状态以从崩溃中恢复。相反地,组成主体可以在不具有本地存储的设备上运行。
下面参照附图的图2,该图示意性地示出了根据本发明的交互设计结构。该交互设计描述了用于交互协议的工作流。该工作流包括交互协议的详细处理。在图2中,交互设计结构包括全局交互设计10和局部交互设计11a、11b。通过使用如下交互设计使参与交互的各主体(包括组成主体和中介主体)对于用于中介服务的交互协议具有相同理解:中介主体13保持全局交互设计10,并且各组成主体12a、12b保持局部交互设计11a、11b。
全局交互设计10指定总体交互步骤,其中参与角色进行相同活动。通过相应的执行者角色(actor role)、基数、输入消息和输出消息来描述各活动。基数指定该活动是否应该被初始化为由具有相同角色的不同执行者所同时进行的多个实例。
全局交互设计具有如下限制:相邻动作应该由不同角色来执行。例如,全局交互设计10中的活动A和B(或者C和D)不能由相同主体执行。经由消息将交互控制从一个主体转换到另一主体。即,活动A产生消息md1,该消息被传递给另一主体以用作针对活动B的输入(对于md2和md3的情况相同)。
在图2中示出了用于全局交互设计10的两个局部交互设计11a、11b。各局部交互设计是用于在属于一个角色的全局设计中规定的活动的详细设计。全局设计中的各活动具体地是局部交互设计中的动作(即,一个活动是一个或更多个动作的组合),以表示如何处理所输入的消息(对于B的md1、对于C的md2以及对于D的md3)以创建输出消息(对于A的md1、对于B的md2以及对于D的md3)。
在图2中,组成主体12a进行全局交互设计10中的角色1并负责执行活动A和C。另一方面,组成主体12b进行全局交互设计10中的角色2并负责活动B和D。各组成主体12a、12b分别执行其局部交互局部设计11a、11b,并将其执行状态独立地发送到中介主体以记录在中介主体所运行的本地机器中。
全局交互设计10中的相邻活动不能由一个角色来进行。因此,在某一点(从图2中的活动A(B)的最后动作到活动C(D)的第一动作)中,针对一角色的局部设计中的多个下级活动会断开。使用特殊动作:“发送消息”和“接收消息”来连接这些下级活动(图2中的活动“S”和“R”)。当一个角色产生了输出消息时,执行发送消息动作以将消息发送到中介主体。然后,控制转到“接收消息”状态,即,等待接收针对下一阶段的输入消息。
在图2中,示意性地示出了各局部交互设计11a、11b,作为通过转换(由箭头表示)链接的一系列有顺序的动作(由活动(A、B、C或D)内的内部矩形表示)。利用各动作的输入值、输出值、用于执行该动作的工具以及执行后状况来描述各动作。转换链接两个相邻动作。利用前动作、后动作来描述转换,并且可以利用根据各工作流实例来评估真假的条件来扩充(augment)该转换。局部设计的执行产生了工作流实例。工作流实例包含与该局部设计的设计相关的历史信息。历史信息包括工作流实例的创建时间、完成时间以及所完成的活动实例的顺序。活动实例包含起始时间、完成时间、执行者、输入值和输出值。
例如,在拍卖中,“宣布开始拍卖”、“投标价格”、“更新最高价格”和“结束拍卖”成为活动。用于“宣布开始拍卖”的活动的动作将为“确定起始价”、“找出拍卖的参加者”以及“准备产品描述”等。
工作流引擎嵌入式主体
各组成主体12a、12b配备有工作流引擎,以调度并执行局部交互设计。在本发明的优选实施例中,工作流引擎是轻质工作流引擎。在本说明书中,“轻质工作流引擎”一词是指其中工作流实例可变并且工作流实例的状态信息因此没有存储在永久存储中的工作流引擎。这些工作流模型不支持由工作流管理联盟(WfMC)所定义的所有建模,或者具体地,没有实现在WfMC的工作流参考体系结构中定义的接口4和5。接口在根据本发明的工作流引擎的体系结构中不是必需的。关于WfMC的更多具体情况可以从WfMC(工作流管理联盟)http://www.wfmc.org和WfMC工作流标准规范TC-1016-P-“Interface 1:Process Definition InterchangeProcess Model”,http://www.wfmc.org/standards/docs/if19807r3.pdf中获得。
下面参照附图中的图3,该图示意性地示出了根据本发明一个实施例的轻质工作流引擎嵌入式主体的内部体系结构。工作流引擎20包括工作流实例库21、状态管理器22、任务管理器23、调度器24、局部设计规定25和工具库26。当任务管理器23完成了一动作时,调度器24主要参考局部设计规定确定随后的动作。
图4示出了当完成了前一动作时要调度并执行动作的详细过程。当请求调度器24(参见图3)来调度接下来的动作时(步骤31),该调度器24找出前代(precedent)动作的后代(descendant)动作组(步骤32)。然后,调度器24利用其前代动作评估连接各后代动作的转换的条件(步骤33和34)。
只有利用被评估为真的转换而链接的动作才被包括在调度动作组中(步骤36)。然后调度器24通知任务管理器23执行调度动作。
任务管理器26根据局部交互设计规定25分析由调度器提供的动作规定(步骤37、38),并从工具库26中找出用于执行这些动作的适当工具。该动作可以是内部动作(为一活动定义的针对应用的动作)或者协作动作(向/从中介主体发送/接收消息的专用动作)。
如果对于执行39调度内部动作,则任务管理器23从工具库26中找出适当的工具(步骤43),并调用该工具以得到对于该动作的输出(步骤44到45),并且前一动作的输出用作下一动作的输入(步骤46,引导至步骤37)。
如果调度动作不是内部动作,而是协作动作(步骤40),则通过工具库26中的两个通用工具消息发送器27和消息接收器28来进行该动作。例如,如果协作动作是发送动作(步骤40),则任务管理器将包括当前工作流实例和随后发送给中介主体的ACL消息的信息提供为到消息发送器27的输入(步骤41)。消息发送器工具的输出是过滤信息,该过滤信息用于标识来自其它参与主体的相应消息。然后,过滤信息用作消息接收器工具28的输入,该消息接收器工具28随后等待从中介主体接收任何响应消息(步骤42)。
各工具的执行结果由将结果通知给状态管理器22的任务管理器23来监控,并且状态管理器22更新相应的工作流实例(步骤46)。工作流实例21被管理和监控工具29(如用于将进度信息表示给移动工作人员的GUI)所查询。
全局交互实例的组成
图5A、B、C示意性示出了用于特定多主体交互(例如,移动工作人员之间的这种作业交易)的全局交互实例的构成处理。
图5A示出了涉及两方或更多方之间的作业交易的本发明的一个实施例。在图5A所示的实施例中,这些方的主体的角色包括:作业给与者48、中介49和作业承担者主体50。作业交易是移动工作人员之间的有用的协作机制,该机制使得工作人员(具有由于时间限制或其它原因而不能由他/她本人完成的作业)根据预定义的策略(例如,从作业地点到同事的当前位置的距离最小)将该作业重新指派给他/她的同事,参见H Lee,M Buckland和J Shepherdson,“A multi-agent system to supportlocation-based group decision making in mobile teams”.BT technical Journal,Vol.21,No.1,2003。此处将作业规定为包括顾客信息、诸如设备修理或供应等的作业详情,以及作业重要性等。该作业交易的全部处理在以下步骤中执行:
首先,作业给与者发送一个或更多个COFD(距离请求)消息。各消息包括作业给与者想要交易的作业的详情,并且该消息被发送到适当候选者以告知这些预期候选者作业给与者寻求作业交易。然后候选者选择适当的应用来响应该CFD。
CFD消息接受者想要被分配该作业,计算从该消息接受者的当前位置到作业位置的距离。该距离值可用于创建包含所计算出的距离的投标,以发送到作业给与者。接下来,作业给与者评估所接收的投标,并使用一个或更多个适当准则(通常与最接近作业的工作人员相关)选择最适合的投标者。包含结果表示的消息被送回作业投标者,以通知作业投标者他/她的投标被接受还是被拒绝。
在本实施例中,MAS主体交互的全局交互设计包括四个活动:宣布作业交易51、申请投标52、评估投标53和处理响应54。针对活动申请投标的特定动作包括接收CFD 55、准备距离56和发送距离57。
在图5A和5B中,当作业给与者主体将触发消息发送到中介主体时(步骤62),中介主体创建全局设计的实例(全局工作流实例58)(步骤61)。触发消息是由全局设计的第一动作创建的第一消息(在示例交互中,由作业承担者发送的第一消息,其中CFD是消息内容)。
从组成主体(图5A中的作业给与者或作业承担者主体)发送到中介主体的消息内容示例如下:
(Mediate
 (:sender jobgiver_name@telco.com)
 (:receiver MediatorAgent@telco.com)
 (:ontology“TeamCoordination”)
 (:language“SL0”)
 (:Protocol“interaction-mediation”)
 (:content
  (local-workflow-case(uiid“md12121123A”)
   (interaction-plan-id“give-job”)
   (state info:(plan-name“give-job”)(creator“Job Giver’s Name”)(creation-time 27-08-2002))
  (Request
   (:sender jobgiver@telco.com)
   (:language“SL0”)
   (:protocol“FIPA_Request”)
   (:content(action
         (get-distance(task(id“tal223”)(name“ISDN provision”)
(post-code“IP5 3RE”)))))
       ))
更概括地,根据本发明的消息的内容包括表示局部工作流实例的谓词和需要转发给其它组成主体的内部消息。中介主体使局部工作流实例构成全局工作流实例,并且该中介主体将内部消息转发到执行对全局交互设计的下一阶段负责的角色的主体。
返回到图5B,当消息到达中介主体49处时,中介主体检查该消息是否是触发消息(步骤62)。通过简单地检查该消息是否在其字段中包含唯一的交互标识符号码(UNIN)值。假设UNIN对于各全局工作流实例是唯一的。如果该消息是触发消息,则中介主体通过检查包含在该消息中的信息来识别相应的全局交互设计(步骤63)。为此,使用在以上消息内容中的(local-workflow-case(interaction-plan-id”give-job”))字段。然后,中介主体创建全局工作流实例(基于全局交互设计)(步骤64),并将UNIN发配给该全局工作流实例(步骤65)。接下来,中介主体从所接收的消息中提取局部工作流实例59,并将其复制到所创建的全局工作流实例(60,步骤66)。
如果所接收的消息不是触发消息,则中介主体从该消息中提取局部工作流实例,并通过参照消息内容中的(local-workflow-case(interaction-plan-id”give-job”))字段来将该实例复制到适当的全局工作流实例。中介主体还生成针对全局工作流实例的附加信息,例如,执行者主体信息、所创建的时间和消息内容等。从这一点出发,从中介主体到组成主体的消息使用UIIN。
再次参照图5A和5B,在记录了与全局工作流实例有关的发起者和请求详情之后,中介主体根据全局设计描述找出消息的接收者(步骤67),并将该消息转发给这些接收者(步骤68)。然后,响应主体执行其局部设计并将响应消息返回到中介主体。该响应消息还包含响应主体的局部交互设计工作流实例。然后中介主体根据所采用的交互协议将响应消息转发给发起者主体。
下面简单地返回到图3,组成主体(发起者和响应主体)的工作流引擎将局部工作流实例交互设计以及ACL消息中的局部交互消息的输出经由消息发送器27发送到中介主体。局部工作流实例59还被复制到全局工作流实例60。组成主体的执行状态被记录在永久存储中的时间由该ACL消息何时被从组成主体传到中介主体来决定。中介主体每次从组成主体接收到消息时都更新全局工作流实例(全局交互设计),并记录相应的全局工作流实例(全局交互设计)的最新状态。在中介主体崩溃的情况下,所记录的信息可以用于恢复该中介主体的状态。
崩溃主体的恢复
图6示意性地示出了用于根据本发明实施例的恢复处理的交互协议。在图6中,该协议开始于崩溃主体(由图6中的“参加者”70表示)重启并联系中介主体71以预订中介服务。这是通过将请求预订消息71从图6所示的参与者70发送到中介71而进行的。
中介主体查询其全局工作流实例库,以检查预订主体是否参与了任何未完成的协作。然后,中介主体告知被预订的主体存在未完成的协作(如图8上部的通知消息73所示)。该通知消息包含主体所参与的协作的UIID。如果成功地预订了所重启的主体,则该主体将中介主体登记在其中介索引簿中,该中介索引簿将中介服务与中介主体相映射。该重启主体可以通过发送用于状态同步处理的请求消息75来请求交互恢复处理(图6中的请求恢复消息75),或者通过发送请求中介主体的请求消息74来进行中止以中止未完成的协作。在后一情况下,中介主体通过将终止消息发送到其它参与主体来启动对于未完成协作的关闭处理79。
如果重启的主体请求恢复,则中介主体准备通知消息76,该通知消息包含局部工作流实例,该局部工作流实例反映了在前一主体崩溃之前的局部交互设计的最新状态(图6下部的通知消息76)。然后,重启的主体使用该信息创建针对崩溃的局部交互设计的局部工作流实例。所接收的局部工作流实例被复制到该重启主体的工作流引擎的工作流实例库内。然后,该重启主体通知工作流引擎的调度器根据所复制的状态信息开始调度(图6中的通知完成消息78)。随后,将工作流实例视为常规实例,即,作为工作流引擎内的任何其它工作流实例。如果在恢复过程中存在任何故障,则该重启主体通过将中止消息发送到其它参与主体将中止消息(图6中的请求中止消息77)发送到对未完成的协作进行中止的中介主体(图6下部的请求中止消息77)。否则,该重启主体对中介主体发送通知消息,表示准备好继续协作。
在图7的流程图中更详细地示出了主体内的恢复处理,该图示意性地示出了恢复处理中的步骤。
如果组成主体由于其崩溃而重启,则其从中介主体接收其局部工作流(图7中的WF)实例(在其崩溃之前的最新实例)以及所缓冲的消息(在从主体的崩溃到重启的时间段中缓冲在中介主体中的消息)(步骤81)。然后,组成主体检查所接收的工作流实例的有效性(步骤82)。如果该工作流实例有效(步骤83),则组成主体将该工作流实例复制到该组成主体的局部工作流实例库中,以通过其工作流引擎进行重启(步骤84),另选地,组成主体中止恢复处理(步骤89,参见下文)。
如果存在任何接收的缓冲消息(步骤85),则组成主体通过将所缓冲的消息提供为局部交互设计中的动作的输入来执行所复制的局部工作流实例(步骤87)。如果在该同步处理过程中存在任何故障(步骤88),则组成主体中止恢复处理(步骤89)。否则,中介主体将成功消息(步骤86,并参照图6中的步骤78)发送到中介主体,告知该中介主体准备好继续进行与其它主体的原来的交互处理(步骤86)。
交互角色的动态委托
由于组成主体没有紧密地互相绑定,所以一个组成主体可以将其角色委托给其它主体,以可以继续进行交互,即使组成主体由于例如主机设备上的电源故障而不能从严重故障恢复。在移动性重要的情况下,该功能很有用,这是因为该功能使得操作移动设备的人在执行应用时可以使用多个设备。这些移动用户可以通过预定的交互协议将一个设备上的主体的角色委托给另一设备。这使得移动用户可以确保当预料到设备可能崩溃时该设备上运行的主体所进行的功能被转交给一个或更多个其它设备上运行的一个或更多个主体。这对于移动设备特别有用,例如在电池指示器显示该移动设备的电池源故障,或者网络拥塞指示器显示由于高网络拥塞而使网络连接超时的情况下。在突然掉电等的情况下也可以实现该功能,这使得由于可以找出当前的协作状态所以可以更快地进行重新连接,并且发起者和响应者主体之间的协作从停止的状况起继续。
委托交互协议开始于组成主体将委托请求消息发送到中介主体。可以将角色委托给现存的组成主体或者不存在的组成主体。如果角色被委托给不存在的主体,则中介主体保持转发给委托主体的所有消息,并进行等待直到不存在的主体被投入使用并试图预订该角色。如果该新主体预订该中介主体,则处理该预订的处理与上部分中说明的恢复处理相同。
将请求消息转发给目标主体的中介主体将角色委托给现存主体。该目标主体可以接收或拒绝该请求,并且根据该响应将局部工作流实例传送到目标主体或中止。
本发明的优选实施例提供了一种工作流系统,其使得可以自动进行移动商业处理。由于移动工作人员喜欢携带手持设备,优选地没有或几乎没有本地存储设置的轻质设备,所以在确保该移动设备失去连接的情况下可以恢复时,工作流客户端系统特别有用。具体地,当多个分散的工作人员经由诸如“拍卖(Auction)”或“合约网(Contract-Net)”的预定义交互协议进行工作协作时,使用本发明的一个实施例。
本发明的另一实施例使得移动用户可以动态恢复信息,从而可以将操作从一个移动设备切换到另一设备。当一个设备的操作员在与其它工作人员的协作过程中由于例如电池问题或其它不可操作性原因而希望中断到另一设备的电源时本发明同样有用。
这使得系统高度可靠和健壮,即使在诸如不稳定的网络连接和低计算能力的恶劣环境条件下。
本发明是一种非常通用的技术,其可以应用于任何种类的其中客户端主体可以根据主要境况动态地改变其本地设备的多主体系统。例如,在用户在一个办公室中工作并与同事进行交互的情况下,可以重新安置到另一地点或建筑物并继续与同事的交互,当继续进行时保持交互最新状态。
在图8A和8B中示出了这种情况。在图8A中,以对比的方式示出了在发起者主体A和响应者主体C之间经由中介主体的简单交互。在图8A中,中介保持A和C的全局交互设计状态信息,并且A保持如下局部交互设计,其包含由中介主体转发的与A的交互状态和响应者主体C的状态有关的信息。类似地,响应者主体C保持如下局部交互设计,其包含C的状态信息以及由中介主体转发的A的状态信息。在A失去了与中介主体的连接的情况下,中介主体能够将全局交互设计的详情提供给承担了A在交互中的角色的委托主体(未示出)。该全局交互设计包含使委托主体继续与C的交互的充分信息,似乎从未丢失与A的连接,从而委托主体获悉在丢失连接时C的交互状态的程度与A获悉该信息的程度相同。
在图8B中,另一主体B经由中介主体初始化与C的通信。在应用需要A获悉B与C的交互状态的情况下,例如如果正在执行在线实时拍卖,则中介主体必须确保全局交互设计反映该事实。这确保如果A失去其与C的连接,则中介主体可以确保全局中介设计能够使委托主体恢复从所参与的下述A失去其连接起的交互状态,从而中介主体利用与C和B之间的交互状态有关的最新信息更新委托局部交互设计,从而A通过获悉该状态而确保了其的交互。
本领域技术人员可以理解,本发明的许多特征都可以以软件和/或硬件来实现,并且本发明的精神旨在覆盖任何适当的软件和/或硬件的组合形式的实施例。

Claims (23)

1.一种恢复多主体系统体系结构中的多个组成主体之间的协作状态的方法,该方法包括:
处理由中介主体为各组成主体转发的协作信息;
保持从各协作主体提供给所述中介主体的所述协作信息中导出的协作处理状态信息记录;以及
在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,使用一个或多个所述协作处理状态信息记录来恢复所述协作状态。
2.根据权利要求1所述的方法,其中所述中介主体被设置为利用任何多主体平台的管理主体来登记其中介服务。
3.根据权利要求2所述的方法,其中所述组成主体在所述恢复协作状态的步骤之前预订所述中介服务。
4.根据以上任一权利要求所述的方法,其中如果第一组成主体将其角色委托给至少一个其它委托组成主体,则所述中介主体保持与至少一个其它委托组成主体中每个的角色有关的状态信息。
5.根据以上任一权利要求所述的方法,其中所述中介主体保持与所有委托主体的角色有关的状态信息。
6.根据以上任一权利要求所述的方法,其中所述多个主体之间的协作由包括全局设计和局部设计的交互设计规定,其中所述全局设计为参与协作的各组成主体指定总的交互步骤,而所述局部设计为各参与组成主体指定各协作活动。
7.根据以上任一权利要求所述的方法,其中所述转发给中介主体的协作信息包括组成主体的局部设计的执行状态。
8.根据权利要求7所述的方法,其中所述组成主体没有将所述组成主体的局部设计实例的执行状态存储在永久存储装置中。
9.一种在多主体体系结构中的被设置为执行预定角色的第一组成主体与另一主体之间进行委托的方法,所述组成主体和所述另一主体被设置为经由中介主体进行通信,该方法包括如下步骤:
将请求消息从所述第一组成主体发送到中介主体,以委托给另一主体;
由所述中介主体将所述委托请求消息转发给所述另一主体;
在所述另一主体处接收所述委托请求;
处理所述委托请求并将所述委托请求已被接受的表示提供给所述中介主体;
从所述中介主体,将来自第一组成主体的包括局部工作流实例的信息传送到所述另一主体。
10.根据权利要求9所述的方法,其中在所述转发委托请求的步骤之前,该方法还包括以下步骤:
将所有消息保持在所述中介主体中直到所述其它主体被投入使用;以及
将所述中介主体预订给所述其它主体。
11.一种被设置为恢复多主体体系结构中的多个组成主体之间的协作状态的装置,该装置包括:
至少一个处理器,其被设置为处理由中介主体为各组成主体转发的协作信息;
存储装置,其被设置为保持从各协作主体提供给所述中介主体的协作信息中导出的协作处理状态信息;以及
信息提供装置,其在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,以适于利用当前协作状态信息来更新由该事件影响的各组成主体的形式,提供从一个或更多个所述协作处理状态信息记录中导出的信息。
12.一种中介主体,被设置为提供中介服务以恢复多主体系统体系结构中的多个组成主体之间的协作状态,该中介主体包括:
接收并存储由各组成主体提供的协作信息的装置;
更新所述协作信息以生成至少一个处理状态信息记录的装置;以及
恢复装置,其在实现协作的设备遭遇如下事件,即,该事件导致一个或更多个组成主体丢失其协作状态的情况下,使用一个或更多个所述协作处理状态信息记录来恢复所述协作状态。
13.一种被设置为将恢复信息提供给中介主体的组成主体,该组成主体具有将表示其局部交互设计状态的信息转发给中介主体的装置,所述中介主体如权利要求12所述。
14.一种被设置为将恢复信息提供给中介主体的组成主体,该组成主体具有存储表示其局部交互设计状态的信息并将关于所述交互状态的信息转发给中介主体的装置。
15.一种计算机程序产品,包括一组被设置为执行根据权利要求1到10中任何一个权利要求的方法的一个或更多个程序。
16.一种计算机程序产品,包括在线拍卖应用中的组件。
17.一种计算机程序产品,包括在线投机应用中的组件。
18.一种网络,包括被设置为实现权利要求1到10中任何一个的方法的一个或更多个设备。
19.一种网络,包括如权利要求11所述的多个装置。
20.一种多主体体系结构,包括多个组成主体和一中介主体,所述中介主体被设置为在进行协作的多个所述组成主体之间进行中介,所述体系结构被设置为执行根据权利要求1的方法中的步骤。
21.一种信号,包括被设置为将组成消息预订到由中介主体支持的中介服务的服务预订消息,所述中介服务包括如权利要求10所述的在多主体体系结构中的被设置为执行预定角色的第一组成主体与另一主体之间进行委托的方法。
22.一种被设置为嵌入组成主体中的工作流引擎体系结构,该工作流引擎体系结构包括:
调度器;
任务管理器;
状态管理器;
工具库;以及
工作流实例库。
23.一种重启由中介主体动态给出的局部工作流实例的方法,该方法包括:
验证从中介主体接收的工作流实例的有效性;
将有效工作流实例存储在局部工作流实例库中;以及
通过执行来自中介主体的缓冲消息,使所述局部工作流实例与中介主体的全局工作流实例同步。
CNA2004800079395A 2003-03-24 2004-03-03 用于多主体系统的基于中介的恢复机制 Pending CN101213521A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0306739.4 2003-03-24
GBGB0306739.4A GB0306739D0 (en) 2003-03-24 2003-03-24 Mediator-based recovery mechanism for multi-agent system

Publications (1)

Publication Number Publication Date
CN101213521A true CN101213521A (zh) 2008-07-02

Family

ID=9955419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800079395A Pending CN101213521A (zh) 2003-03-24 2004-03-03 用于多主体系统的基于中介的恢复机制

Country Status (6)

Country Link
US (1) US20060230109A1 (zh)
EP (1) EP1623293A2 (zh)
CN (1) CN101213521A (zh)
CA (1) CA2519731A1 (zh)
GB (1) GB0306739D0 (zh)
WO (1) WO2004086163A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1530139A1 (en) * 2003-11-05 2005-05-11 Sap Ag Method and computer system for workflow management
GB0406401D0 (en) 2004-03-22 2004-04-21 British Telecomm Anomaly management scheme for a multi-agent system
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US7321883B1 (en) * 2005-08-05 2008-01-22 Perceptronics Solutions, Inc. Facilitator used in a group decision process to solve a problem according to data provided by users
CN1988533B (zh) * 2005-12-19 2012-10-17 华为技术有限公司 一种实现IuUP/NBUP协议过程控制功能的方法
JP4839086B2 (ja) 2006-01-11 2011-12-14 株式会社リコー ワークフロー管理システム
JP4906406B2 (ja) 2006-06-14 2012-03-28 キヤノン株式会社 情報処理方法及び装置
US8984579B2 (en) * 2006-09-19 2015-03-17 The Innovation Science Fund I, LLC Evaluation systems and methods for coordinating software agents
US8607336B2 (en) * 2006-09-19 2013-12-10 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8601530B2 (en) 2006-09-19 2013-12-03 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8627402B2 (en) * 2006-09-19 2014-01-07 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
KR100942694B1 (ko) * 2006-12-04 2010-02-16 한국전자통신연구원 P2P(Peer to Peer)를 이용하는 협업 시스템및 그 방법
US9361806B2 (en) * 2013-01-14 2016-06-07 Hyperfine, Llc Comprehension normalization
US10614912B2 (en) 2014-08-17 2020-04-07 Hyperfine, Llc Systems and methods for comparing networks, determining underlying forces between the networks, and forming new metaclusters when saturation is met
CN106353690B (zh) * 2016-09-20 2019-04-02 上海海事大学 利用Petri网诊断锂电池故障的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038284A (en) * 1988-02-17 1991-08-06 Kramer Robert M Method and apparatus relating to conducting trading transactions with portable trading stations
US6006331A (en) * 1997-07-29 1999-12-21 Microsoft Corporation Recovery of online sessions for dynamic directory services
US6640238B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6941410B1 (en) * 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US20020037767A1 (en) * 2000-08-17 2002-03-28 Steven Ebin Gambling system and method through a computer network
US7177917B2 (en) * 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
EP1219330A3 (en) * 2000-12-28 2004-04-21 Nintendo Co., Limited Network game system
CA2330017A1 (en) * 2000-12-29 2002-06-29 Soft Tracks Enterprises Ltd. Pending persistent reversal
US20020156921A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Automatic backup of wireless mobile device data onto gateway server while device is idle

Also Published As

Publication number Publication date
WO2004086163A3 (en) 2007-11-01
CA2519731A1 (en) 2004-10-07
US20060230109A1 (en) 2006-10-12
GB0306739D0 (en) 2003-04-30
WO2004086163A2 (en) 2004-10-07
EP1623293A2 (en) 2006-02-08

Similar Documents

Publication Publication Date Title
CN101213521A (zh) 用于多主体系统的基于中介的恢复机制
CN102760074B (zh) 用于高负荷业务流程可扩展性的方法及其系统
CN101461190B (zh) 管理计算节点间的通信
US20060195587A1 (en) Method and system for providing expanded presence information when a user is offline
CN101495985A (zh) 具有数据共享特征的即时消息通信
JPH10254968A (ja) ポイント管理システム
JP2001144754A (ja) ネットワーク・コミュニティ・システム及びネットワーク・コミュニティの構成方法
JPH0635821A (ja) 共同作業装置
CN113626002A (zh) 一种服务执行方法及装置
JP2001060155A (ja) メッセージ処理装置
JP2980167B2 (ja) 討議グループ作成支援システム
JP2000057374A (ja) 共有仮想画面による情報伝達方法及びシステム及び共有仮想画面による情報伝達プログラムを格納した記憶媒体
Yan et al. Enacting business processes in a decentralised environment with p2p-based workflow support
CN101499977A (zh) 一种即时通讯系统及实现方法
JPH11161493A (ja) ネットワークシステムとその中におけるオブジェクト連携方法
Fdhila et al. Toward synchronization between decentralized orchestrations of composite web services
John et al. Hermes: a platform for context-aware enterprise communication
Nodine et al. Agent communication languages for information-centric agent communities
JP4224037B2 (ja) サービス提供方法、及びデータ処理装置
JPH07234843A (ja) 共同作業支援システム
CN108521368A (zh) 一种应用程序的控制方法和装置
US11765650B2 (en) Temporary network of edge computing devices
Michlmayr et al. Integrating distributed object transactions with wide-area content-based publish/subscribe systems
JP3495017B2 (ja) エージェント協調処理装置
CN112734356B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication