CN101663661B - 建模应用程序的分布式行为受控执行 - Google Patents
建模应用程序的分布式行为受控执行 Download PDFInfo
- Publication number
- CN101663661B CN101663661B CN200880013198XA CN200880013198A CN101663661B CN 101663661 B CN101663661 B CN 101663661B CN 200880013198X A CN200880013198X A CN 200880013198XA CN 200880013198 A CN200880013198 A CN 200880013198A CN 101663661 B CN101663661 B CN 101663661B
- Authority
- CN
- China
- Prior art keywords
- distributed
- service
- model
- software application
- read
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000013500 data storage Methods 0.000 claims description 38
- 230000009471 action Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 4
- 230000033228 biological regulation Effects 0.000 claims 4
- 230000008901 benefit Effects 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 abstract description 3
- 239000004744 fabric Substances 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及用于建模应用程序的分布式行为受控执行的方法、系统和计算机程序产品。本发明的各实施例方便了中央数据存储以及各种对等功能的互操作。因此,可以在利用中央数据存储和对等消息收发两者的优点的环境中执行分布式应用程序。中央数据存储的只读部分可用于提供在分布式应用程序的执行期间对各种处理系统的某种行为控制。因此,可以使用本发明的各实施例来形成策略驱动的节点集合,该节点集合形成用于基于模型的应用程序的分布式、分散型运行时环境。利用遵循集中式策略并通过对等结构执行应用程序的协作节点集合允许分布式应用程序运行时环境适应大规模地分布与分散。
Description
背景
1.背景和相关技术
计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已改变人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排和会计等)。最近,计算机系统彼此耦合并耦合到其它电子设备以形成计算机系统和其它电子设备可以在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算组件上。
可以利用各种不同的网络体系结构来允许计算机系统彼此交互。网络体系结构在某种程度上可以根据存在于该网络体系结构的计算机系统之间的功能关系来分类。例如,网络体系结构可被分类为客户机-服务器体系结构、对等体系结构等等。
客户机-服务器体系结构在不同计算机系统之间分离客户机功能和服务器功能。不同客户机-服务器体系结构的用途可以变化和/或以各种方式应用。然而,一般而言,客户机-服务器体系结构内的计算机系统之间的关系在所有客户机-服务器体系结构之间是非常相似的。通常将多个客户机计算机系统配置成向服务器计算机系统(或在某些环境中是服务器场)发送请求(例如,对数据)。服务器计算机系统(或服务器场)接收和处理请求(例如,访问所请求的数据)并将合适的响应(例如,所请求的数据)发送回客户机。
一种常见的客户机-服务器关系是万维网(“WWW”)的关系。Web服务器(服务器)维护并控制对可以从Web浏览器(客户机)通过因特网请求的内容(例如网页)的访问。
客户机-服务器体系结构出于多个原因是有利的,其中主要是由于将数据存储在中央位置处。例如,因为将数据存储在中央位置处,所以可以更容易地实现关于该数据的安全和访问控制。此外,因为存在客户机与服务器的功能之间的清晰划分,所以可以在不影响服务器的操作的情况下容易地升级客户机,反之亦然。
不幸的是,客户机-服务器体系结构还具有一定数量的缺点。一个主要缺点是缺乏稳健性,该缺点也是因将数据存储在中央位置中所导致的。即,如果服务器误工作,则可能无法满足客户机请求。在所接收到的请求的数量大到使服务器资源超载时,服务器还可能遭遇通信量阻塞。此外,在许多环境中用于建立服务器的资源通常超过多数家庭计算机系统的资源,从而令用户不能够创建服务器。
对等网络体系结构不具有服务器和客户机的概念。对等网络中的每一计算机系统被视作同等的对等节点。因此,对等网络体系结构依赖于网络上的所有计算机系统的计算能力和带宽,而不是将资源集中在少量服务器中(或甚至在单个服务器中)。对等网络体系结构通常用于将计算机系统连接在一起以形成自组织(ad hoc)网络,如,以便例如共享文件或交换实时数据。
对等网络体系结构出于多个原因是有利的,其中主要是由于资源在计算机系统之间被共享。例如,在新计算机系统加入对等网络时,该网络的资源容量增加,因为该加入计算机的资源可供该对等网络上的其它计算机系统使用。相反,客户机-服务器网络中的资源容量在新客户机发送请求到服务器时不增加。此外,因为资源在计算机系统之间共享,所以对等网络通常比客户机-服务器网络更稳健。即,如果能访问数据的一个计算机系统失效,则一个或多个其它计算机系统有可能也能访问相同的数据。
然而,对等网络也具有各种缺点。因为将每一计算机系统视为同等,所以任何一个计算机系统都难以控制其它计算机系统的行为,如,以便例如实现访问控制或其它安全措施。此中央控制的缺乏使得对等网络比客户机-服务器网络更易受恶意攻击(例如,中毒攻击、污染攻击、拒绝服务攻击、垃圾邮件等)得多。
此外,实质上没有对计算机系统何时可以加入或离开对等网络的限制。因此,为维护关于可请求数据的稳健性,可能在网络(例如,因特网)上将数据的相同部分在计算机系统之间传送多次。例如,在计算机系统离开对等网络时它可以将可请求数据传送到另一计算机系统以使该可请求数据保持可用。因此,每次计算机系统离开对等网络,就将数据的某些部分(可能第二、第三、第……次)传送到保持计算机系统。
企业软件通常被开发成用于客户机-服务器网络体系结构中(并因此遭受客户机-服务器所固有的问题)。企业软件通常是用于自动化诸如,例如会计、销售等商业过程的专有软件。由此,开发企业软件的公司通常期望企业软件被控制在它们的公司环境中使用。企业软件通常非常复杂且不是很好地适于在预期操作环境以外使用。因此,通常阻止企业软件在基于Web的环境中操作,并因此阻止了利用万维网(“WWW”)的简单性和动态性。
某种程度上相反的,基于Web的应用程序可以将整个因特网视作单个(但非受控)数据中心并容易地访问来自整个WWW上的各位置的数据。基于所访问的数据,基于Web的应用程序可以被容易地再混合并使用新设置来运行以便于改变开发者的期望。然而,因为使得数据对各种可能的非受控位置可访问并且可从这些位置访问,快速开发并且重混合的基于Web的应用程序(在某种程度上遭受对等体系结构所固有的问题)通常具有不合需要的低等级的相关安全性和可靠性。
简要概述
本发明涉及用于建模应用程序的分布式行为受控执行的方法、系统和计算机程序产品。本发明的各实施例包括被配置成执行分布式软件应用程序的系统。该系统包括多个处理系统。用于执行分布式软件应用程序的可配置分布式逻辑分布在多个处理系统之间。
一数据存储被连接到该分布式逻辑并在其之中共享。该数据存储包括只读数据和读写数据。只读数据规定了在执行分布式软件应用程序时分布式逻辑的行为。多个处理系统使用读写数据以在执行分布式软件应用程序时存储并共享分布式软件应用程序数据。
一消息基础结构被连接到该分布式逻辑并在其之中共享。该消息基础结构被配置成在处理系统之间交换消息以便a)发现处理系统处用于执行分布式软件应用程序的可配置分布式逻辑的存在,以及b)在执行分布式软件应用程序时协调处理系统来实现在只读数据中所规定的行为。
在某些实施例中,一分布式处理系统执行基于模型的分布式软件应用程序。该分布式处理系统包括一组共同表示分布式应用程序运行时环境的协作执行服务。该分布式运行时环境的执行服务接收执行存储在公共数据储存库的只读部分中的基于模型的软件应用程序的命令。该执行服务经由被标识为服务总线的指定种类的消息收发基础结构来发现分布式运行时环境的其它执行服务。服务总线允许执行服务彼此进行信号通信。该执行服务和其它执行服务协作地组合在一起以提供用于执行基于模型的软件应用程序的分布式逻辑。
该组执行服务组根据存储在公共数据储存库的只读部分中的策略经由服务总线来协调以执行基于模型的软件应用程序。执行该基于模型的软件应用程序包括:a)使用公共数据储存库的读写部分来反映基于模型的软件应用程序的状态,以及b)使用公共数据储存库的读写部分来反映对应于该基于模型的软件应用程序的操作数据。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的附加特征和优点将在以下描述中叙述,且其部分根据本描述将是显而易见的,或可通过对本发明的实践获知。本发明的特征和优点可通过在所附权利要求书中特别指出的手段和组合来实现和获得。本发明的这些和其他特征将通过以下描述和所附权利要求书而变得更加完全明显,或可通过对下文中所述的本发明的实践来获知。
附图简述
为了描述可获得本发明的上述和其它优点和特征的方法,将通过引用附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图仅描述本发明的典型实施例,从而不被认为是对其范围的限制,本发明将通过使用附图用附加特征和细节来描述和说明,在附图中:
图1示出了方便了建模应用程序的分布式行为受控执行的示例计算机体系结构。
图2示出了方便根据行为执行策略在分布式执行逻辑之间执行应用程序的示例计算机体系结构。
图3示出了用于根据行为执行策略在分布式执行逻辑之间执行应用程序的示例方法的流程图。
详细描述
本发明涉及用于建模应用程序的分布式行为受控执行的方法、系统和计算机程序产品。本发明的各实施例包括被配置成执行分布式软件应用程序的系统。该系统包括多个处理系统。用于执行分布式软件应用程序的可配置分布式逻辑分布在多个处理系统之间。
一数据存储被连接到该分布式逻辑并在其之中共享。该数据存储包括只读数据和读写数据。只读数据规定在执行分布式软件应用程序时分布式逻辑的行为。多个处理系统使用读写数据以在执行分布式软件应用程序时存储并共享分布式软件应用程序数据。
一消息基础结构被连接到该分布式逻辑并在其之中共享。该消息基础结构被配置成在处理系统之间交换消息以便a)发现处理系统处用于执行分布式软件应用程序的可配置分布式逻辑的存在,以及b)在执行分布式软件应用程序时协调处理系统来实现在只读数据中所规定的行为。
在某些实施例中,一分布式处理系统执行基于模型的分布式软件应用程序。该分布式处理系统包括一组共同表示分布式应用程序运行时环境的协作执行服务。该分布式运行时环境的执行服务接收执行存储在公共数据储存库的只读部分中的基于模型的软件应用程序的命令。该执行服务经由被标识为服务总线的指定种类的消息收发基础结构来发现分布式运行时环境的其它执行服务。服务总线允许执行服务彼此进行信号通信。该执行服务和其它执行服务协作地组合在一起以提供用于执行基于模型的软件应用程序的分布式逻辑。
该组执行服务根据存储在公共数据储存库的只读部分中的策略经由服务总线来协调以执行基于模型的软件应用程序。执行该基于模型的软件应用程序包括:a)使用公共数据储存库的读写部分来反映基于模型的软件应用程序的状态,以及b)使用公共数据储存库的读写部分来反映对应于该基于模型的软件应用程序的操作数据。
本发明的各实施例可以包括含有计算机硬件的专用或通用计算机,这将在以下做出更详细讨论。本发明范围内的各个实施例还包括用于承载或其上储存有计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例而非限制,计算机可读介质可包括物理(或可记录类型的)计算机可读存储介质,诸如RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其它介质。
在本说明书和所附权利要求书中,“网络”被定义为允许在计算机系统和/或模块之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为计算机可读介质。因此,作为示例而非限制,计算机可读介质还可包括可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算机访问的网络或数据链路。
计算机可执行指令包括例如,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言等中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机等等。本发明也可以在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
图1示出了方便建模应用程序的分布式行为受控执行的示例计算机体系结构100。在计算机体系结构100中所示的是数据存储101,处理系统104、105和106,以及消息基础结构108。所示组件中的每一个可通过诸如例如局域网(“LAN”)、广域网(“WAN”)或甚至因特网等网络彼此连接。因此,数据存储101,处理系统104、105和106,以及消息基础结构108,以及任何其它连接的组件,可以通过网络创建消息相关数据并交换消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其他更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
处理系统104、105和106分别包括逻辑1041、1051和1061。逻辑104L、105L和106L共同地表示分布式逻辑107。分布式逻辑107被配置成执行分布于处理系统104、105和106之间的分布式软件应用程序。
数据存储101被连接到分布式逻辑107并在其之中共享。如所示的,数据存储101包括只读数据102和读写数据103。只读数据102可以是最初写入数据存储的数据(一次写入)并在该初始写之后是只读的。只读数据可以规定在执行分布式软件应用程序时分布式逻辑107的行为。处理系统104、105和106(以及所包含的相应逻辑104L、105L和106L)可以使用读写数据103以在执行分布式软件应用程序时存储并共享分布式软件应用程序。
处理系统104的左边和处理系统106的右边的一系列三个句点(省略号)表示可以其它处理系统可被包括在计算机体系结构100中。这些其它处理系统可以向分布式逻辑107贡献逻辑。
消息基础结构108被连接到分布式逻辑107并在其之中共享。消息基础结构108被配置成在处理系统104、105和106之间交换消息。消息基础结构108可用于发现处理系统104、105和106出用于执行分布式应用程序的诸如例如逻辑104L、105L和106L等可配置分布式逻辑的存在。消息基础结构108还可用于协调处理系统104、105和106以在执行分布式应用程序时实现在只读数据102中所规定的行为。在某些实施例中,消息基础结构108是对等发现和消息收发(信号传送)基础结构。
因此,本发明的各实施例方便了中央数据存储以及各种对等功能的互操作。因此,可以在利用中央数据存储和对等消息收发两者的优点的环境中执行分布式应用程序。中央数据存储的只读部分可用于提供在分布式应用程序的执行期间对各种处理系统的某种行为控制。
图2示出了方便根据行为执行策略在分布式执行逻辑之间执行应用程序的示例计算机体系结构200。在计算机体系结构200中所示的是储存库201,执行服务204、205和206,以及服务总线208。所示组件中的每一个可通过诸如例如局域网(“LAN”)、广域网(“WAN”)或甚至因特网等网络彼此连接。因此,储存库201,执行服务204、205和206,以及服务总线208,以及任何其它连接的组件,可以通过网络创建消息相关数据并交换消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其他更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
执行服务204、205和206可以分散在网络上。执行服务204、205和206负责运行并管理分布式应用程序。执行服务204的左边和执行服务206的右边的一系列三个句点(省略号)表示其它执行服务可被包括在计算机体系结构200中。
储存库201包括只读(或一次写入)数据202和读写数据203。只读数据202还包括应用程序模型211和策略212。应用程序模型211和策略212在诸如例如执行服务204、205和206等执行服务之间共享。策略212是定义执行服务的集体行为的声明性语句。例如,策略可以定义被允许每秒从执行服务发送的消息的最大数量(例如,二十)。
因此,计算机体系结构200中的每一执行服务使用策略212来解释和编译。执行服务可以如策略212中所定义的那样被允许本地行为中的一定自由度。例如,可以允许执行服务执行本地错误恢复,诸如例如,重启进程。然而,其它更严重和/或复杂的诸如例如磁盘失效等错误可以影响用于适当恢复的多个执行服务(例如,应用程序组件的重新部署)。因此,从这些更严重和/或复杂错误中恢复可以包括多个执行服务的集体行为。因此,可以禁止个别执行服务启动对这些更严重和/或复杂错误的恢复。
应用程序模型211包括可由执行服务的集体消耗以实现分布式应用程序的应用程序模型。例如,应用程序模型可以是由执行服务的集体运行并管理的声明性程序。
读写数据203还包括应用程序状态213和操作数据214。应用程序状态213可以反映分布式应用程序(例如,来自应用程序模型211的应用程序模型)的状态,诸如例如,已配置、已部署、运行中等。操作数据214可以包括用于确定对策略212的遵从的信息,诸如例如,运行时度量。例如,操作数据214可以包括执行服务每秒发送多少消息的指示。执行服务可以基于分布式应用程序的运行时行为将操作数据写入到操作数据214中。
执行服务可以使用服务总线208(例如,对等结构,诸如例如,分布式发布/订阅基础结构)来发现彼此并实现协作行为。服务总线208可以包括传递联合命名空间服务(允许执行服务彼此联合)和消息总线。例如,通过经由服务总线208的通信,执行服务204、205和206可以如分布式应用程序的模型中(例如,包含在应用程序模型211中)所示地共同形成群集以主存网页。
可以在一个执行服务的灾难性失效发生时实现其它协作行为。一个或多个健康“伙伴”执行服务可以经由服务总线208彼此进行信号通信并选择另一执行服务(例如,通过投票)来接管并从错误中恢复。
如所示的,执行服务204、205和206分别包括控制器204C、205C和206C。一般而言,控制器解释策略(例如,策略212)并在执行服务之间实施协作行为。例如,控制器可以实施照管“伙伴”执行服务并实施抑制负面本地行为,诸如例如,尝试关闭包含正运行的分布式应用程序的一部分的本地服务(例如,因特网信息服务(“IIS”)或SQL服务器)。
因此,本发明的各实施例包括其中每个执行服务具有对策略和应用程序模型的相同视图并可发现其它执行服务并与之进行信号通信的环境。因此,在诸如例如计算机体系结构200等环境中与一个执行服务交互以操作一整组(或所有)执行服务是可能的。
图3示出了用于根据行为执行策略在分布式执行逻辑之间执行应用程序的示例方法300的流程图。方法300将参考计算机体系结构200中的组件和数据来描述。
方法300包括分布式运行时环境的执行服务接收执行存储在公共数据储存库的只读部分中的基于模型的软件应用程序的命令的动作(动作301)。例如,执行服务204可以接收执行应用程序211A的执行命令221。
方法300包括执行服务经由服务总线发现分布式运行时环境的其它执行服务的动作(动作302)。例如,执行服务204可以经由服务总线208分别通过消息交换222和223来发现执行服务205和206。
方法300包括执行服务和其它执行服务协作地组合在一起以提供用于执行基于模型的软件应用程序的分布式逻辑的动作(动作303)。例如,执行服务204与执行服务205和206可以协作地组合在一起(例如,根据策略212)以提供用于执行应用程序211A的分布式逻辑。
方法300包括该组执行服务根据存储在公共数据储存库的只读部分中的策略经由服务总线来协调以执行基于模型的软件应用程序的动作(动作304)。例如,执行服务204、205和206的组可以根据策略212经由服务总线208来协调以执行应用程序211A。
根据策略经由服务总线来协调以执行基于模型的软件应用程序包括使用公共数据储存库的读写部分以反映基于模型的软件应用程序的状态的动作(动作305)。例如,执行服务204、205和206可以将数据写入到或读取自应用程序状态213以反映应用程序211的状态(例如,已配置、已部署、正运行等)。
根据策略经由服务总线来协调以执行基于模型的软件应用程序包括使用公共数据储存库的读写部分来反映对应于基于模型的软件应用程序的操作数据的动作(动作306)。例如,执行服务204、205和206可以将数据写入到或读取自操作数据214以反映对应于应用程序211的运行时度量(例如,平均响应时间、每秒消息数等)。运行时度量可用于确定对策略212的遵从。
因此,可以使用本发明的各实施例来形成策略驱动的节点集合,该节点集合形成了用于基于模型的应用程序的分布式、分散型运行时环境。每一节点处的控制器可以实施策略并与其它节点协调。利用遵循集中式策略并通过对等结构执行应用程序的协作节点集合允许分布式应用程序运行时环境适应大规模地分布与分散。例如,可以将大规模WAN或甚至因特网视作数据中心。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所述实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范围涵盖。
Claims (18)
1.一种被配置成对基于模型的分布式软件应用程序的执行进行集中控制的系统(100),所述系统包括多个处理系统(104、105、106)、数据存储(101)以及消息基础结构(108),其中:
所述多个处理系统(104、105、106)被配置成互操作以跨所述多个处理系统执行所述基于模型的分布式软件应用程序,所述多个处理系统中的每一个包括:
分布式逻辑的一部分,所述分布式逻辑的一部分被配置成执行所述基于模型的分布式软件应用程序的一部分;以及
控制器,所述控制器被配置成:
实施集中定义的策略,所述集中定义的策略规定并限制在基于模型的分布式软件应用程序的执行期间所述处理系统的行为;以及
协调与其他处理系统的互操作,以根据所述集中定义的策略来执行所述基于模型的分布式软件应用程序;
所述数据存储(101)被连接到所述处理系统并在其之中共享,所述数据存储包括:
只读策略数据(102),所述只读策略数据集中定义在执行所述基于模型的分布式应用程序期间分布式逻辑的每一部分要遵从的应用程序特定策略,并且规定和限制在执行所述基于模型的分布式软件应用程序期间处理系统可单独地和共同地展示的行为;以及
读写应用程序数据(103),所述多个处理系统使用所述读写应用程序数据以在执行所述基于模型的分布式软件应用程序期间存储并共享分布式软件应用程序数据;以及
所述消息基础结构(108)被连接到所述分布式逻辑并在其之中共享,所述消息基础结构被配置成在处理系统之间交换消息,以便:
发现处理系统处用以执行所述基于模型的分布式软件应用程序的各部分分布式逻辑(104L、105L、106L)的存在;以及
与处理系统处的控制器进行互操作来在执行所述基于模型的分布式软件应用程序时规定并限制所述处理系统的行为以遵从所述集中定义的策略。
2.如权利要求1所述的系统,其特征在于,所述多个处理系统形成用于基于模型的应用程序的分布式、分散型运行时环境。
3.如权利要求1所述的系统,其特征在于,还包括描述为由所述分布式逻辑执行而配置的一个或多个基于模型的软件应用程序的第二只读数据。
4.如权利要求1所述的系统,其特征在于,所述读写数据包括用于描述分布式应用程序的应用程序状态的数据,其中所述应用程序状态选自已配置、已部署、以及正运行。
5.如权利要求1所述的系统,其特征在于,所述读写数据包括用于确定对所述只读数据中所指示的规定行为的遵从的运行时度量。
6.如权利要求1所述的系统,其特征在于,所述消息基础结构是分布式发布/订阅基础结构。
7.如权利要求1所述的系统,其特征在于,所述消息基础结构是对等消息通信收发基础结构。
8.一种在分布式处理系统(200)中的用于执行基于模型的分布式软件应用程序的方法,所述分布式处理系统包括共同表示分布式运行时环境的一组协作执行服务(204、205、206),用于执行基于模型的软件应用程序的分布式逻辑分布在所述一组协作执行服务上,所述分布式处理系统包括具有只读部分(202)和读写部分(203)的公共数据储存库(201),所述只读部分存储一个或多个基于模型的软件应用程序(2114)并存储规定在执行基于模型的软件应用程序时所述分布式运行时环境的行为的策略(212),所述读写部分可由执行服务使用以维护应用程序状态和应用程序操作数据,所述分布式系统包括服务总线(208),执行服务使用所述服务总线来发现彼此并彼此协作地通信以执行基于模型的软件应用程序,所述方法包括:
所述分布式运行时环境的执行服务接收执行存储在所述公共数据储存库的只读部分中的基于模型的软件应用程序的命令(221)的动作;
所述执行服务经由所述服务总线发现(222)所述分布式运行时环境的其它执行服务的动作;
所述执行服务和所述其它执行服务协作地组合在一起以提供用于执行所述基于模型的软件应用程序的分布式逻辑的动作;
所述一组执行服务根据存储在所述公共数据储存库的只读部分中的策略经由所述服务总线来协调以执行所述基于模型的软件应用程序的动作,包括:
使用所述公共数据储存库的读写部分来反映所述基于模型的软件应用程序的状态(213)的动作;以及
使用所述公共数据储存库的读写部分来反映对应于所述基于模型的软件应用程序的操作数据(214)的动作。
9.如权利要求8所述的方法,其特征在于,所述执行服务经由所述服务总线发现所述分布式运行时环境的其它执行服务的动作包括所述执行服务经由对等结构发现所述分布式运行时环境的其它执行服务。
10.如权利要求8所述的方法,其特征在于,所述一组执行服务根据存储在所述公共数据储存库的只读部分中的策略经由所述服务总线来协调以执行所述基于模型的软件应用程序的动作包括每一执行服务处的控制器监视所述执行服务的行为来寻找对所述策略的遵从的动作。
11.如权利要求8所述的方法,其特征在于,所述一组执行服务根据存储在所述公共数据储存库的只读部分中的策略经由所述服务总线来协调以执行所述基于模型的软件应用程序的动作包括所述一组执行服务根据存储在中央储存库中的策略经由对等基础结构来协调以执行所述基于模型的软件应用程序的动作。
12.如权利要求8所述的方法,其特征在于,所述一组执行服务根据存储在所述公共数据储存库的只读部分中的策略经由所述服务总线来协调以执行所述基于模型的软件应用程序的动作包括采用所述策略来抑制一执行服务处对一个或多个其它执行服务处的分布式应用程序的执行有负面影响的本地行为。
13.如权利要求8所述的方法,其特征在于,使用所述公共数据储存库的读写部分来反映对应于所述基于模型的软件应用程序的操作数据的动作包括使用所述公共数据储存库的读写部分来维护可被评估以确定执行服务是否遵从所述策略的运行时度量的动作。
14.一种在分布式处理系统(200)中用于执行基于模型的分布式软件应用程序的设备,所述分布式处理系统包括共同表示分布式运行时环境的一组协作执行服务(204、205、206),用于执行基于模型的软件应用程序的分布式逻辑分布在所述一组协作执行服务上,所述分布式处理系统包括具有只读部分(202)和读写部分(203)的公共数据储存库(201),所述只读部分存储一个或多个基于模型的软件应用程序(2114)并存储规定在执行基于模型的软件应用程序时所述分布式运行时环境的行为的策略(212),所述读写部分可由执行服务使用来维护应用程序状态和应用程序操作数据,所述分布式系统包括服务总线(208),执行服务使用所述服务总线来发现彼此并彼此协作地通信以执行基于模型的软件应用程序,所述设备包括:
用于接收执行存储在所述公共数据储存库的只读部分中的基于模型的软件应用程序的装置(221);
用于经由所述服务总线发现(222)所述分布式运行时环境的其它执行服务的装置;
用于与所述其它执行服务协作地组合在一起以提供用于执行所述基于模型的软件应用程序的分布式逻辑的装置;
用于根据存储在所述公共数据储存库的只读部分中的策略经由所述服务总线来协调以执行所述基于模型的软件应用程序的装置,包括:
用于使用所述公共数据储存库的读写部分来反映所述基于模型的软件应用程序的状态(213)的装置;以及
用于所述公共数据储存库的读写部分来反映对应于所述基于模型的软件应用程序的操作数据(214)的装置。
15.如权利要求14所述的设备,其特征在于,用于协调以执行所述基于模型的软件应用程序的装置包括用于监视所述执行服务的行为以寻找对所述策略的遵从的装置。
16.如权利要求14所述的设备,其特征在于,用于协调以执行所述基于模型的软件应用程序的装置包括用于根据存储在中央储存库中的策略经由对等基础结构来协调以执行所述基于模型的软件应用程序的装置。
17.如权利要求14所述的设备,其特征在于,用于协调以执行所述基于模型的软件应用程序的装置包括用于采用所述策略来抑制另一执行服务处对一个或多个其它执行服务处的分布式应用程序的执行有负面影响的本地行为的装置。
18.如权利要求14所述的设备,其特征在于,用于使用所述公共数据储存库的读写部分来反映对应于所述基于模型的软件应用程序的操作数据的装置包括用于使用所述公共数据储存库的读写部分来维护可以被评估以确定执行服务是否遵从所述策略的运行时度量的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/740,737 | 2007-04-26 | ||
US11/740,737 US8024396B2 (en) | 2007-04-26 | 2007-04-26 | Distributed behavior controlled execution of modeled applications |
PCT/US2008/058145 WO2008134159A1 (en) | 2007-04-26 | 2008-03-25 | Distributed behavior controlled execution of modeled applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101663661A CN101663661A (zh) | 2010-03-03 |
CN101663661B true CN101663661B (zh) | 2013-03-13 |
Family
ID=39888224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880013198XA Expired - Fee Related CN101663661B (zh) | 2007-04-26 | 2008-03-25 | 建模应用程序的分布式行为受控执行 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8024396B2 (zh) |
EP (1) | EP2153336B1 (zh) |
JP (1) | JP5028523B2 (zh) |
CN (1) | CN101663661B (zh) |
WO (1) | WO2008134159A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970892B2 (en) | 2007-06-29 | 2011-06-28 | Microsoft Corporation | Tuning and optimizing distributed systems with declarative models |
US7974939B2 (en) | 2007-10-26 | 2011-07-05 | Microsoft Corporation | Processing model-based commands for distributed applications |
US8099720B2 (en) | 2007-10-26 | 2012-01-17 | Microsoft Corporation | Translating declarative models |
TW200947223A (en) * | 2008-05-02 | 2009-11-16 | Inventec Corp | A sharing basic input output system server device and method thereof |
US8407700B2 (en) * | 2009-03-03 | 2013-03-26 | Symantec Corporation | Methods and systems for merging virtualization sublayers |
WO2011162746A1 (en) * | 2010-06-22 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | A method and system for determining a deployment of applications |
CN102959506B (zh) | 2010-06-22 | 2017-04-26 | 慧与发展有限责任合伙企业 | 用于计划应用部署的方法和系统 |
US8635617B2 (en) * | 2010-09-30 | 2014-01-21 | Microsoft Corporation | Tracking requests that flow between subsystems using transaction identifiers for generating log data |
US8473783B2 (en) * | 2010-11-09 | 2013-06-25 | International Business Machines Corporation | Fault tolerance in distributed systems |
US8868700B2 (en) * | 2010-12-28 | 2014-10-21 | Nant Holdings Ip, Llc | Distributed network interfaces for application cloaking and spoofing |
CN102111452B (zh) * | 2011-03-04 | 2013-04-17 | 天泽信息产业股份有限公司 | 利用分布式数据存储程序存储车载信息的系统及其存储方法 |
US8806003B2 (en) * | 2011-06-14 | 2014-08-12 | International Business Machines Corporation | Forecasting capacity available for processing workloads in a networked computing environment |
US9491225B2 (en) | 2012-03-16 | 2016-11-08 | Tencent Technology (Shenzhen) Company Limited | Offline download method and system |
US20130263139A1 (en) * | 2012-03-28 | 2013-10-03 | Lior Schejter | Managing execution of applications in a runtime environment |
CN103457960B (zh) * | 2012-05-15 | 2018-03-09 | 腾讯科技(深圳)有限公司 | 网页游戏中加载文件的方法及系统 |
US9317696B2 (en) | 2012-07-10 | 2016-04-19 | Microsoft Technology Licensing, Llc | Data detection and protection policies for e-mail |
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
US10152500B2 (en) * | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US10511478B2 (en) * | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US9652327B2 (en) * | 2015-04-17 | 2017-05-16 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
US10027543B2 (en) * | 2015-04-17 | 2018-07-17 | Microsoft Technology Licensing, Llc | Reconfiguring an acceleration component among interconnected acceleration components |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10812618B2 (en) * | 2016-08-24 | 2020-10-20 | Microsoft Technology Licensing, Llc | Flight delivery architecture |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US10901792B2 (en) * | 2016-11-29 | 2021-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Distribution of resources among actor instances |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US11307917B2 (en) | 2019-08-16 | 2022-04-19 | Delta Electronics Intl (Singapore) Pte Ltd | Decentralized cyber-physical system |
KR102380926B1 (ko) * | 2020-10-13 | 2022-03-31 | 서강대학교산학협력단 | 실리콘 광증배기의 신호를 처리하는 신호 처리 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640241B1 (en) * | 1999-07-19 | 2003-10-28 | Groove Networks, Inc. | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
US7065579B2 (en) * | 2001-01-22 | 2006-06-20 | Sun Microsystems, Inc. | System using peer discovery and peer membership protocols for accessing peer-to-peer platform resources on a network |
Family Cites Families (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4751635A (en) * | 1986-04-16 | 1988-06-14 | Bell Communications Research, Inc. | Distributed management support system for software managers |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5423003A (en) * | 1994-03-03 | 1995-06-06 | Geonet Limited L.P. | System for managing network computer applications |
US6160549A (en) * | 1994-07-29 | 2000-12-12 | Oracle Corporation | Method and apparatus for generating reports using declarative tools |
US5655081A (en) | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
DE69628965T2 (de) * | 1995-03-22 | 2004-02-26 | Sun Microsystems, Inc., Mountain View | Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung |
EP0733967B1 (en) * | 1995-03-24 | 2005-02-09 | Hewlett-Packard Company, A Delaware Corporation | Methods and apparatus for monitoring events and implementing corrective action in a multi-entity computer system |
US5764241A (en) * | 1995-11-30 | 1998-06-09 | Microsoft Corporation | Method and system for modeling and presenting integrated media with a declarative modeling language for representing reactive behavior |
US6662205B1 (en) | 1996-10-01 | 2003-12-09 | International Business Machines Corporation | Scaleable and extensible system management architecture with dataless endpoints |
US5937388A (en) * | 1996-12-05 | 1999-08-10 | Hewlett-Packard Company | System and method for performing scalable distribution of process flow activities in a distributed workflow management system |
US6247056B1 (en) * | 1997-02-03 | 2001-06-12 | Oracle Corporation | Method and apparatus for handling client request with a distributed web application server |
US6225995B1 (en) * | 1997-10-31 | 2001-05-01 | Oracle Corporaton | Method and apparatus for incorporating state information into a URL |
US6710786B1 (en) * | 1997-02-03 | 2004-03-23 | Oracle International Corporation | Method and apparatus for incorporating state information into a URL |
US6026404A (en) * | 1997-02-03 | 2000-02-15 | Oracle Corporation | Method and system for executing and operation in a distributed environment |
US5958010A (en) * | 1997-03-20 | 1999-09-28 | Firstsense Software, Inc. | Systems and methods for monitoring distributed applications including an interface running in an operating system kernel |
US6055363A (en) * | 1997-07-22 | 2000-04-25 | International Business Machines Corporation | Managing multiple versions of multiple subsystems in a distributed computing environment |
US6005849A (en) | 1997-09-24 | 1999-12-21 | Emulex Corporation | Full-duplex communication processor which can be used for fibre channel frames |
US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6334114B1 (en) | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
US6167538A (en) | 1998-03-06 | 2000-12-26 | Compaq Computer Corporation | Method and apparatus for monitoring components of a computer system |
US6330717B1 (en) | 1998-03-27 | 2001-12-11 | Sony Corporation Of Japan | Process and system for developing an application program for a distributed adaptive run-time platform |
US6070190A (en) | 1998-05-11 | 2000-05-30 | International Business Machines Corporation | Client-based application availability and response monitoring and reporting for distributed computing environments |
US6263339B1 (en) | 1998-08-25 | 2001-07-17 | Informix Software, Inc. | Dynamic object visualization and code generation |
US6415297B1 (en) | 1998-11-17 | 2002-07-02 | International Business Machines Corporation | Parallel database support for workflow management systems |
US6728748B1 (en) | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6279009B1 (en) * | 1998-12-04 | 2001-08-21 | Impresse Corporation | Dynamic creation of workflows from deterministic models of real world processes |
US6336217B1 (en) * | 1998-12-30 | 2002-01-01 | International Business Machines Corporation | Systems, methods and computer program products for end-to-end software development process automation |
US20020135611A1 (en) | 1999-03-04 | 2002-09-26 | Trevor Deosaran | Remote performance management to accelerate distributed processes |
US6430576B1 (en) * | 1999-05-10 | 2002-08-06 | Patrick Gates | Distributing and synchronizing objects |
US6618719B1 (en) * | 1999-05-19 | 2003-09-09 | Sybase, Inc. | Database system with methodology for reusing cost-based optimization decisions |
US6662356B1 (en) * | 1999-06-30 | 2003-12-09 | Microsoft Corporation | Application program interface for transforming heterogeneous programs |
US6718535B1 (en) * | 1999-07-30 | 2004-04-06 | Accenture Llp | System, method and article of manufacture for an activity framework design in an e-commerce based environment |
US6715145B1 (en) * | 1999-08-31 | 2004-03-30 | Accenture Llp | Processing pipeline in a base services pattern environment |
US6477665B1 (en) | 1999-08-31 | 2002-11-05 | Accenture Llp | System, method, and article of manufacture for environment services patterns in a netcentic environment |
WO2001025964A2 (en) | 1999-10-01 | 2001-04-12 | Accenture Llp | Base service architectures for netcentric computing systems |
JP3738624B2 (ja) * | 1999-10-26 | 2006-01-25 | 日本電気株式会社 | 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体 |
AU2001227857A1 (en) * | 2000-01-14 | 2001-07-24 | Saba Software, Inc. | Method and apparatus for a business applications management system platform |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7328233B2 (en) | 2000-01-19 | 2008-02-05 | Corybant, Inc. | Method and apparatus for implementing an active information model |
US6654783B1 (en) | 2000-03-30 | 2003-11-25 | Ethergent Corporation | Network site content indexing method and associated system |
US6687735B1 (en) | 2000-05-30 | 2004-02-03 | Tranceive Technologies, Inc. | Method and apparatus for balancing distributed applications |
US20020038217A1 (en) * | 2000-04-07 | 2002-03-28 | Alan Young | System and method for integrated data analysis and management |
US7392210B1 (en) * | 2000-04-07 | 2008-06-24 | Jpmorgan Chase Bank, N.A. | Workflow management system and method |
US7310801B2 (en) * | 2000-04-27 | 2007-12-18 | Microsoft Corporation | Servicing a component-based software product throughout the software product lifecycle |
WO2001084313A2 (en) * | 2000-05-02 | 2001-11-08 | Sun Microsystems, Inc. | Method and system for achieving high availability in a networked computer system |
US6922685B2 (en) | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
US7181743B2 (en) * | 2000-05-25 | 2007-02-20 | The United States Of America As Represented By The Secretary Of The Navy | Resource allocation decision function for resource management architecture and corresponding programs therefor |
US7685239B2 (en) * | 2000-06-28 | 2010-03-23 | Canon Kabushiki Kaisha | Image communication apparatus, image communication method, and memory medium |
WO2002027426A2 (en) | 2000-09-01 | 2002-04-04 | Op40, Inc. | System, method, uses, products, program products, and business methods for distributed internet and distributed network services |
US20030154266A1 (en) | 2000-09-01 | 2003-08-14 | Mark Bobick | Server system and method for discovering digital assets in enterprise information systems |
US6920458B1 (en) * | 2000-09-22 | 2005-07-19 | Sas Institute Inc. | Model repository |
US6907395B1 (en) | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US6915338B1 (en) | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
WO2002035395A2 (en) * | 2000-10-27 | 2002-05-02 | Entigen Corporation | Integrating heterogeneous data and tools |
US7174359B1 (en) * | 2000-11-09 | 2007-02-06 | International Business Machines Corporation | Apparatus and methods for sequentially scheduling a plurality of commands in a processing environment which executes commands concurrently |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US7020869B2 (en) * | 2000-12-01 | 2006-03-28 | Corticon Technologies, Inc. | Business rules user interface for development of adaptable enterprise applications |
US6931644B2 (en) * | 2000-12-21 | 2005-08-16 | International Business Machines Corporation | Hierarchical connected graph model for implementation of event management design |
JP2002334194A (ja) * | 2001-02-09 | 2002-11-22 | Internatl Business Mach Corp <Ibm> | ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム |
US20020147962A1 (en) * | 2001-02-12 | 2002-10-10 | International Business Machines Corporation | Method and system for incorporating legacy applications into a distributed data processing environment |
US6801818B2 (en) | 2001-03-14 | 2004-10-05 | The Procter & Gamble Company | Distributed product development |
EP1248170B1 (en) * | 2001-04-05 | 2009-09-16 | INPECO IP Ltd. | Method for the management of workcell systems based on an automation management system |
US6934702B2 (en) * | 2001-05-04 | 2005-08-23 | Sun Microsystems, Inc. | Method and system of routing messages in a distributed search network |
US6948151B2 (en) * | 2001-06-29 | 2005-09-20 | International Business Machines Corporation | System and method for dynamic packaging of component objects |
US20050155042A1 (en) * | 2001-07-02 | 2005-07-14 | Michael Kolb | Component-based system for distributed applications |
US7055143B2 (en) * | 2001-07-10 | 2006-05-30 | Microsoft Corporation | System and methods for providing a declarative syntax for specifying SOAP-based web services |
US20030135384A1 (en) * | 2001-09-27 | 2003-07-17 | Huy Nguyen | Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer |
US7660886B2 (en) * | 2001-09-27 | 2010-02-09 | International Business Machines Corporation | Apparatus and method of representing real-time distributed command execution status across distributed systems |
US7546359B2 (en) * | 2001-10-24 | 2009-06-09 | Groove Networks, Inc. | Method and apparatus for managing a peer-to-peer collaboration system |
US7035930B2 (en) * | 2001-10-26 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers |
US7085837B2 (en) | 2001-12-04 | 2006-08-01 | International Business Machines Corporation | Dynamic resource allocation using known future benefits |
AU2002362090A1 (en) * | 2001-12-07 | 2003-06-23 | Dbase, Inc. | Drag-and-drop dynamic distributed object model |
AU2003202356A1 (en) | 2002-02-07 | 2003-09-02 | Thinkdynamics Inc. | Method and system for managing resources in a data center |
US20030195763A1 (en) * | 2002-04-11 | 2003-10-16 | International Business Machines Corporation | Method and system for managing a distributed workflow |
US7130881B2 (en) | 2002-05-01 | 2006-10-31 | Sun Microsystems, Inc. | Remote execution model for distributed application launch and control |
US7401336B2 (en) * | 2002-05-30 | 2008-07-15 | Oracle International Corporation | Role based integrated platform |
US7240325B2 (en) | 2002-09-11 | 2007-07-03 | International Business Machines Corporation | Methods and apparatus for topology discovery and representation of distributed applications and services |
US6847970B2 (en) * | 2002-09-11 | 2005-01-25 | International Business Machines Corporation | Methods and apparatus for managing dependencies in distributed systems |
US7096311B2 (en) | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
US7167915B2 (en) * | 2002-10-18 | 2007-01-23 | International Business Machines Corporation | Monitoring storage resources used by computer applications distributed across a network |
US20040088350A1 (en) * | 2002-10-31 | 2004-05-06 | General Electric Company | Method, system and program product for facilitating access to instrumentation data in a heterogeneous distributed system |
CA2412747A1 (en) * | 2002-11-26 | 2004-05-26 | Cognos Incorporated | System and method for monitoring business performance |
US20040148370A1 (en) * | 2003-01-23 | 2004-07-29 | Electronic Data Systems Corporation | System and method for composing, configuring, deploying, and managing services using a graphical user interface |
US7168077B2 (en) * | 2003-01-31 | 2007-01-23 | Handysoft Corporation | System and method of executing and controlling workflow processes |
JP3974054B2 (ja) * | 2003-03-03 | 2007-09-12 | 日本電信電話株式会社 | エンティティ装置、シェアードリンク制御方法、認証方法及びシェアードリンク制御プログラム並びにその記録媒体 |
US7072807B2 (en) * | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7302609B2 (en) * | 2003-03-12 | 2007-11-27 | Vladimir Matena | Method and apparatus for executing applications on a distributed computer system |
US7185015B2 (en) * | 2003-03-14 | 2007-02-27 | Websense, Inc. | System and method of monitoring and controlling application files |
US20040187140A1 (en) * | 2003-03-21 | 2004-09-23 | Werner Aigner | Application framework |
US8161094B2 (en) * | 2003-06-04 | 2012-04-17 | Sony Computer Entertainment Inc. | System and method for notification within decentralized network |
US6915656B2 (en) * | 2003-07-14 | 2005-07-12 | Eco Technology Solutions, Llc | Heat pump system |
US7590643B2 (en) * | 2003-08-21 | 2009-09-15 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system |
US7503043B2 (en) | 2003-09-05 | 2009-03-10 | International Business Machines Corporation | Method of building dynamic installation packages using a declarative authoring tool |
CA2443657A1 (en) * | 2003-09-30 | 2005-03-30 | Cognos Incorporated | Business performance presentation user interface and method for presenting business performance |
US20050074003A1 (en) * | 2003-10-02 | 2005-04-07 | Ball David Alexander | Distributed software architecture for implementing BGP |
US7379999B1 (en) * | 2003-10-15 | 2008-05-27 | Microsoft Corporation | On-line service/application monitoring and reporting system |
US7103874B2 (en) * | 2003-10-23 | 2006-09-05 | Microsoft Corporation | Model-based management of computer systems and distributed applications |
EP1678645B1 (en) | 2003-10-27 | 2019-10-02 | Hitachi Vantara Corporation | Policy-based management of a redundant array of independent nodes |
US20050120106A1 (en) * | 2003-12-02 | 2005-06-02 | Nokia, Inc. | System and method for distributing software updates to a network appliance |
US7454496B2 (en) * | 2003-12-10 | 2008-11-18 | International Business Machines Corporation | Method for monitoring data resources of a data processing network |
EP1548581A3 (en) | 2003-12-19 | 2007-08-08 | Klockwork Corp. | Methods, apparatus and programs for system development |
US20050188075A1 (en) | 2004-01-22 | 2005-08-25 | International Business Machines Corporation | System and method for supporting transaction and parallel services in a clustered system based on a service level agreement |
US8197325B2 (en) * | 2004-01-27 | 2012-06-12 | Integrated Group Assets Inc. | Method and apparatus for providing an instant lottery game and a supplemental game |
US7822662B2 (en) * | 2004-03-29 | 2010-10-26 | Microsoft Corporation | Key performance indicator system and method |
US8271541B2 (en) * | 2004-03-31 | 2012-09-18 | Fusionops Corporation | Method and apparatus for developing composite applications |
US7079010B2 (en) * | 2004-04-07 | 2006-07-18 | Jerry Champlin | System and method for monitoring processes of an information technology system |
US7376534B2 (en) | 2004-05-21 | 2008-05-20 | Bea Systems, Inc. | Watches and notifications |
US7370296B2 (en) | 2004-05-25 | 2008-05-06 | International Business Machines Corporation | Modeling language and method for address translation design mechanisms in test generation |
US7716253B2 (en) * | 2004-07-09 | 2010-05-11 | Microsoft Corporation | Centralized KPI framework systems and methods |
US7747641B2 (en) * | 2004-07-09 | 2010-06-29 | Microsoft Corporation | Modeling sequence and time series data in predictive analytics |
US7467078B2 (en) * | 2004-07-16 | 2008-12-16 | Agilent Technologies Inc. | Portable distributed application framework |
US7796520B2 (en) * | 2004-09-30 | 2010-09-14 | Avaya Canada Corp. | System and methods for announcing and locating services in a distributed peer-to-peer network |
US20060070066A1 (en) * | 2004-09-30 | 2006-03-30 | Grobman Steven L | Enabling platform network stack control in a virtualization platform |
US7561673B2 (en) * | 2004-09-30 | 2009-07-14 | Microsoft Corporation | Integration of speech services with telecommunications |
US7631291B2 (en) | 2004-10-01 | 2009-12-08 | Microsoft Corporation | Declarative representation for an extensible workflow model |
US8170901B2 (en) | 2004-10-01 | 2012-05-01 | Microsoft Corporation | Extensible framework for designing workflows |
US20060095443A1 (en) | 2004-10-29 | 2006-05-04 | Kerika, Inc. | Idea page system and method |
US8032863B2 (en) * | 2004-11-18 | 2011-10-04 | Parasoft Corporation | System and method for global group reporting |
US20060130047A1 (en) | 2004-11-30 | 2006-06-15 | Microsoft Corporation | System and apparatus for software versioning |
US7451435B2 (en) * | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US20060155738A1 (en) | 2004-12-16 | 2006-07-13 | Adrian Baldwin | Monitoring method and system |
KR20060082353A (ko) * | 2005-01-12 | 2006-07-18 | 와이더댄 주식회사 | 실행가능 웹 컨텐트 제공 및 처리 시스템 및 방법 |
US20070050446A1 (en) * | 2005-02-01 | 2007-03-01 | Moore James F | Managing network-accessible resources |
US7770151B2 (en) | 2005-04-07 | 2010-08-03 | International Business Machines Corporation | Automatic generation of solution deployment descriptors |
US7979520B2 (en) | 2005-04-15 | 2011-07-12 | Microsoft Corporation | Prescriptive architecture recommendations |
US20060236254A1 (en) | 2005-04-18 | 2006-10-19 | Daniel Mateescu | System and method for automated building of component based applications for visualizing complex data structures |
JP4372043B2 (ja) | 2005-05-12 | 2009-11-25 | 株式会社ソニー・コンピュータエンタテインメント | コマンド実行制御装置、コマンド実行指示装置およびコマンド実行制御方法 |
US7757213B2 (en) | 2005-05-18 | 2010-07-13 | Microsoft Corporation | Aggregation-based management of a distributed business process application |
EP1729213A1 (en) | 2005-05-30 | 2006-12-06 | Honda Research Institute Europe GmbH | Development of parallel/distributed applications |
US7761851B2 (en) * | 2005-05-31 | 2010-07-20 | International Business Machines Corporation | Computer method and system for integrating software development and deployment |
US7529990B2 (en) | 2005-05-31 | 2009-05-05 | Bsquare Corporation | Systems and methods for managing multi-device test sessions |
US7359824B2 (en) * | 2005-06-29 | 2008-04-15 | International Business Machines Corporation | Systems and methods for a distributed execution environment with per-command environment management |
BRPI0520475B1 (pt) | 2005-07-29 | 2019-02-05 | Telecom Italia Spa | método e sistema para gerar sinais de instrução arranjados em fluxos de trabalho, e, meio de armazenamento legível por computador |
US7454492B2 (en) * | 2005-08-26 | 2008-11-18 | International Business Machines Corporation | Method and apparatus for configuring and modeling server information in an enterprise tooling environment |
US20070050237A1 (en) * | 2005-08-30 | 2007-03-01 | Microsoft Corporation | Visual designer for multi-dimensional business logic |
US7873422B2 (en) | 2005-09-02 | 2011-01-18 | Sap Ag | Event-based coordination of process-oriented composite applications |
US7818714B2 (en) * | 2005-09-15 | 2010-10-19 | Microsoft Corporation | Integration of process and workflows into a business application framework |
US7430559B2 (en) * | 2005-09-21 | 2008-09-30 | Microsoft Corporation | Generalized idempotent requests |
FR2891077B1 (fr) * | 2005-09-22 | 2008-12-12 | Xcalia Sa | Systeme de mise en oeuvre d'une application metier. |
US8407610B2 (en) | 2005-09-30 | 2013-03-26 | Sap Portals Israel Ltd. | Executable and declarative specification for graphical user interfaces |
US20070239819A1 (en) * | 2005-10-07 | 2007-10-11 | Neoedge Networks, Inc. | Service and messaging infrastructure to support creation of distributed, peer to peer applications with a service oriented architecture |
US7941309B2 (en) * | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US7512707B1 (en) * | 2005-11-03 | 2009-03-31 | Adobe Systems Incorporated | Load balancing of server clusters |
WO2007072501A2 (en) | 2005-12-19 | 2007-06-28 | Mphasis Bfl Limited | A system and a methodology for providing integrated business performance management platform |
US8122427B2 (en) * | 2006-01-04 | 2012-02-21 | Microsoft Corporation | Decentralized system services |
US20070174228A1 (en) * | 2006-01-17 | 2007-07-26 | Microsoft Corporation | Graphical representation of key performance indicators |
US20070179823A1 (en) * | 2006-01-30 | 2007-08-02 | Kumar Bhaskaran | Observation modeling |
US7869585B2 (en) * | 2006-03-17 | 2011-01-11 | Microsoft Corporation | Declarations for transformations within service sequences |
US20070244904A1 (en) | 2006-04-18 | 2007-10-18 | Kristopher Durski | Method and Architecture for Goal Oriented Applications, Configurations and Workflow Solutions on-the-Fly |
US8214474B2 (en) * | 2006-04-18 | 2012-07-03 | International Business Machines Corporation | Autonomic computing system with model transfer |
US8793584B2 (en) | 2006-05-24 | 2014-07-29 | International Business Machines Corporation | Customizable user interface wrappers for web applications |
US8095923B2 (en) * | 2006-06-29 | 2012-01-10 | Augusta Systems, Inc. | System and method for deploying and managing intelligent nodes in a distributed network |
US7735060B2 (en) * | 2006-06-29 | 2010-06-08 | Augusta Systems, Inc. | Method and system for rapidly developing and deploying sensor-enabled software applications |
US8316364B2 (en) * | 2007-02-28 | 2012-11-20 | Red Hat, Inc. | Peer-to-peer software update distribution network |
US20080244423A1 (en) | 2007-03-28 | 2008-10-02 | Sap Ag | Melting groups |
US7797289B2 (en) | 2007-09-05 | 2010-09-14 | Oracle International Corporation | Method and apparatus for automatically executing rules in enterprise systems |
US8015281B2 (en) | 2008-04-21 | 2011-09-06 | Microsoft Corporation | Dynamic server flow control in a hybrid peer-to-peer network |
-
2007
- 2007-04-26 US US11/740,737 patent/US8024396B2/en not_active Expired - Fee Related
-
2008
- 2008-03-25 CN CN200880013198XA patent/CN101663661B/zh not_active Expired - Fee Related
- 2008-03-25 EP EP08744334.7A patent/EP2153336B1/en not_active Not-in-force
- 2008-03-25 JP JP2010506367A patent/JP5028523B2/ja not_active Expired - Fee Related
- 2008-03-25 WO PCT/US2008/058145 patent/WO2008134159A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640241B1 (en) * | 1999-07-19 | 2003-10-28 | Groove Networks, Inc. | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
US7065579B2 (en) * | 2001-01-22 | 2006-06-20 | Sun Microsystems, Inc. | System using peer discovery and peer membership protocols for accessing peer-to-peer platform resources on a network |
Also Published As
Publication number | Publication date |
---|---|
EP2153336A1 (en) | 2010-02-17 |
WO2008134159A1 (en) | 2008-11-06 |
JP2010525488A (ja) | 2010-07-22 |
CN101663661A (zh) | 2010-03-03 |
US8024396B2 (en) | 2011-09-20 |
EP2153336B1 (en) | 2018-08-01 |
JP5028523B2 (ja) | 2012-09-19 |
EP2153336A4 (en) | 2015-02-18 |
US20080270411A1 (en) | 2008-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101663661B (zh) | 建模应用程序的分布式行为受控执行 | |
CN111355780B (zh) | 一种基于区块链的物联网监控管理方法及系统 | |
JP2010525488A5 (zh) | ||
CN102854819B (zh) | 用于过程控制系统的面向服务的架构 | |
US20190199693A1 (en) | Safe-Transfer Exchange Protocol Based on Trigger-Ready Envelopes Among Distributed Nodes. | |
Xu et al. | Building an ethereum-based decentralized smart home system | |
CN109478056A (zh) | 用于分布式网格网络的智能节点 | |
Šišlák et al. | A-globe: Agent development platform with inaccessibility and mobility support | |
Mijić et al. | Unified iot platform architecture platforms as major iot building blocks | |
CN115115451A (zh) | 一种面向大宗商品交易监管的区块链服务管理系统 | |
Kabir | Internet of Things and safety assurance of cooperative cyber-physical systems: Opportunities and challenges | |
Wang | Sok: Applying blockchain technology in industrial internet of things | |
Agarwal et al. | Open service platforms for IoT | |
Choi et al. | Application patterns for cyber-physical systems | |
Patel | Distributed computing for internet of things (iot) | |
Perrone et al. | The Internet of things: a survey and outlook | |
Scholtz et al. | An internet of things (iot) model for optimising downtime management: a smart lighting case study | |
Lira et al. | Architecture for IoT applications based on reactive microservices: A performance evaluation | |
Lee et al. | Itinerary-based mobile agent as a basis for distributed OSGi services | |
Mascolo et al. | Survey of middleware for networked embedded systems | |
Gorton et al. | Evaluating agent architectures: cougaar, aglets and AAA | |
Neely et al. | Adaptive middleware for autonomic systems | |
KR20220094012A (ko) | 블록 체인의 뉴럴 블록 클러스터 기반의 유통이력 관리 및 제품 인증 서비스제공 장치 및 그 동작 방법 | |
Lawler | Distributed architecture for the object-oriented method for interoperability | |
Magurano | Development of a scalable architecture for Industrial Internet of Things |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150515 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150515 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130313 |