网络中的处理配置的制作方法

文档序号:7636172阅读:126来源:国知局
专利名称:网络中的处理配置的制作方法
技术领域
本发明涉及用于在计算机网络中建立处理的方法,更具体地涉及一 种用于定位和选择服务以提供处理的方法。本发明还扩展到合适的网络。
背景技术
Web服务是用来描述可以在网络上暴露和使用服务的方式的短语。 Web服务涉及软件进行通信的方式。软件可以按照多种形式出现,这些形 式从个人电脑上的简单脚本到联网服务器上的应用、再到运行在大型计 算机上的大型操作支持系统。这些脚本、应用和软件系统是软件组件的 示例。Web服务是基于软件组件,该软件组件允许它们自身被其他软件组 件使用。许多技术已经成熟并且变得标准化,以使得可以釆用软件组件来提 供Web服务,这些技术包括简单对象访问协议(SOAP); Web服务描述 语言(WSDL);通用描述、发现和整合(UDDI)。Web服务可以利用WSDL来描述,它可以利用UDDI来定位,并且其 功能利用S0AP来调用。这三种技术构建在公共数据描述标准可扩展标记 语言(XML)之上。XML是用于定义计算机消息的内容的标准规范,和提 供对在一个软件组件和另一个软件组件之间发送的消息的内容进行描绘 的通常方式。如果软件应用程序用XML来写它的输出,则能够解释XML 的任何另一个应用程序都可以读取该输出并按照它执行。SOAP提供如下一种手段通过利用两个软件组件之间的消息传递作 为调用的方式, 一个软件组件可以调用另一个软件组件的功能。针对SOAP 的规范是世界范围的标准,由W3C来管理,目前是2004年6月由W3C发 布的1.2版本可以在http:〃www.w3.org/TR/S0AP上得到或者在 http:〃www. w3. org/TR/2003/REC-soapl2-part0-20030624上作为档案 文件得到。S0AP使用请求-响应机制,其中一个软件组件向另一个软件组件(其然后提供响应)进行请求。请求和响应都以XML文档的形式进行传送。XML和SOAP连同HTTP —起提供在互联网上一个软件组件调用另一 个软件组件的功能的方式。可使用这些技术来整合任何网络(其支持 HTTP)上的软件组件。为了进行该整合,还需要以下信息 有关所有可用函数的信息,包括它们的调用参数, 针对所有XML消息的数据类型信息,包括值说明, 关于要使用的特定传送协议的捆绑信息, 用于对指定服务进行定位的地址信息。WSDL文件是XML文档,该XML文档提供关于软件组件的上面列出的 信息。利用WSDL,软件组件可与Web服务的任何可用函数相整合。利用 WSDL-aware (WSDL-认知)工具,该处理可完全自动化,使应用程序能 够不利用代码或利用非手动的代码而容易地整合新的服务。WSDL在 http://www.w3.org/TR/wsdl 处 被 定 义 或 在 http:〃雨.w3. org/TR/2001/NOTEisdl-20010315处作为档案文件。Web服务具有广泛的应用,这些应用包括通信能力和服务的提供以 及商业应用。当开发应用程序时,可能希望对来自不同的源(例如,由 不同公司提供)的大量软件组件的优点进行评价。UDDI通过使工具创建 Web服务的注册,来提供向基本Web服务技术的该扩展。这将Web服务带 入彼此在互联网上做生意的公司的领域。UDDI规范使公司能够快速、容 易且动态地找到另一个公司并与其进行交易。UDDI使公司能够 描述它的服务, 发现提供服务的其他公司, 与这些其他服务整合。可使用UDDI注册来找到希望的功能。对注册的请求是针对特定功 能,并且可包括其他要求,如成本限制、安全需要、性能标准等。然后, 注册处提议提供这样功能的一个或更多个公司,允许选择提供商。对于 UDDI的规范例如允许创建和使用注册,该注册包含有关商业和它们提供 服务的信息。对于UDDI的规范由针对the Advancement of Structured Information Standards ( OASIS )的组织来管理并且可以在 http:〃uddi. org处得到。除了 UDDI注册之外,还有公众可用的Web服务的列表。Web服务还具有通信网络中的应用,即,将网络功能表现为软件服 务。通信服务提供商可使用Web服务来利用软件和网络技术的会聚。例 如,视频点播(a video on demand) Web服务可利用传送视频流的通信. 服务(它可将其自身呈现为Web服务)。网格计算使得跨越多个系统实现资源的共享,并且按需要进行资源 的分配,以提供通常与单个大型机或巨型计算机相关联的服务质量,但 是以较低的性价比。它通过创建资源访问框架(其应用可要求资源的分 配)而工作。这些资源被请求的应用使用,随后被释放。网格环境本质 上是分布式的,并且可包括外部机构的系统。网格的实施通常利用美国政府资助的被称作Globus的开放源工具 箱(其可在http:〃www. globus, org/获得)来构建。这与Web服务的相 关性由被称作开放网格服务架构(0GSA )(其可在 http:〃www. globus, org/ogsa/获得)的提出标准增强,该标准定义了 Web 服务集,以创建、终止、管理和调用从分布式资源所创建的服务。0GSA的使用使得任何基于Web服务的平台均可以创建瞬时服务,以 承担可从电话会议的建立到大规模数据处理的范围内的具体功能。这些 服务本身可以是能够轻松访问的Web服务。这里,用户通过面向服务架构(S0A)来访问服务。这些服务实际是 通过建立在应用程序服务器内核上的应用程序实现的,这些应用程序服 务器内核使用网格协议来共享它们的资源利用。任何可获得的闲置资源 可集合在一起,以创建通过0GSA调用(通过S0A可再访问)的点播服务。 因此,实际的客户经验将根据通过S0A控制的永久和瞬时服务的集合来 创建。这在技术解决方案上是非常值得关注的,该技术方案允许由本领域 的专家来管理商业处理。重要的目标是消除将商业需求转化为可用于对
支持IT系统进行详细说明的术语的必要。这样的转化通常是耗时的且不可靠。相关的产业开发包括面向服务架构(S0A),其中应用程序是用图形开发环境中的服务组件来汇编的,并产生商业处理的功能说明。这是由Oracle Corporation of the Business Process Execution Language (BPEL) Designer application prototype (其^[吏用针对Web月艮务的商 业处理执行语言(Business Process Execution Language)来描述应用 程序的结构)的最近发布所例示的。这是用于描述和说明商业处理的标 准化语法和语意的示例。然后,软件工具能够使用该说明来支持商业处 理管理。给出这样的抽象处理描述的主要技术问题是如何建立具有期望性能 级别的具体的实现。假定该处理是由Web服务集组成, 一种方法可以是 询问目录集(例如,利用UDD工-通用描述、发现和整合协议),以找到商 业处理中所需要的服务的实例。将询问这些目录以找到处理说明所需要 的所有服务的实例。如果网格服务在使用中,则还可针对适当的节点询 问这些目录来例化(instantiate)所需要的服务。该方法对于由独立的服务组成的商业处理是合理的。然后可基于其 各自的性能特点单独地选择各个服务实例。在更复杂的情况下,该处理 可要求要作为输入提供到另一个服务(因此该服务不能继续,直到前一 个服务完成为止)的一个或多个服务的结果。由于包含较慢的"瓶颈" 服务,可使处理提供效率更低。此外,如果在服务间必须传输大量的数 据,则服务实例之间网络连接性的特性还可相反地影响所希望的处理的 性能。不幸的是,在Web服务目录中可获得的信息通常不包括任何服务的 相关位置或当前性能。对于复杂的处理或在存在一般可用服务的实例的 广泛选择的情况下,有许多可能的配置。判定这些配置中的哪个能够满 足希望的服务质量将要求收集更多信息和复杂的优化过程,即通常要求 大量的努力。

发明内容
本发明通过提供权利要求1中所阐述的方法来避免上述问题。本发 明还提供了权利要求20中所阐述的网络。


现在将参照附图以实施例的方式来描述本发明的实施方式,在图中: 图1以流程图的形式示出了处理; 图2示出了用于实现本发明的网络;图3和图4例示了根据本发明的图4的网络中的一系列搜索; 图5示出了从图3和4的搜索得出的决策图; 图6示出了作为UML图的图3和图4的搜索。
具体实施方式
现在将参照访问网络支持web服务的用户以实施例的方式来描述本 发明的第一实施方式。用户希望利用网络资源来建立一处理。图1示出了与在要求使用这里由方框所表示的一系列服务的一系列 阶段中的信用申请有关的部分简单处理的流程示。该处理是由对 来自具有寻求贷款的申请者的用户贷款的报价的请求的接收来起动的。 第一步是基于申请者提供的身份证明获得贷款申请者的社会保障号 (SSN),并且针对该任务服务来选择"检索SSN"。 一旦获得社会保障号, 就利用"服务获取信用等级(Get Credit Rating)"来获得由他们的SSN 所标识的贷款申请者的信用等级。 一旦获得信用等级值,就利用"服务 集合提供(Collect Offers)"来寻找信用的提供。根据接收的信用的提 供,选择优选的提供,并形成从服务确认管理者向用户的响应的基础。图2示出能够支持Web服务的网络。图2的网络包括由示出的标号 10至36所表示的多个节点。这些节点相互按照部分网孔方式互连,艮P, 不是每一个节点都与其他每一个节点直接连接。在处于本实施例目的的 所关注的网络的区域中,节点10经由连接40、 41、 42、 43和44分别连 接到节点12、 14、 16、 18和20。节点20还连接到节点26,节点26自 身又连接到节点24。节点18还具有分别到节点22、 24的连接45和46。 节点24具有另外的到节点30的连接47。节点30接着经由连接48连接 到节点28,并且还连接到节点28和32。节点28又连接到节点34。参照上述用户(其经由节点10已访问网络)通过实施例的方式来描 述本发明的第一实施方式。用户希望使用网络的资源来建立处理。用户 不知道在节点10上是否存在足够的资源,所以他们调用Web服务以使得 可以定位并在适当的情况下组合各种节点上的资源,以提供期望的处理。 为了这样做,他们在用户的本地节点10上调用搜索处理,以定位必要的 服务。例如,通常的服务是以软件、数据或计算机硬件的形式。这里Web 服务的使用仅是一种可能。在另选实施方式中,用户可以访问本地应用 接口,该接口通常是以诸如JAVA等语言来书写,以幵始然后可通过对等 机制进行的搜索处理。在又一另选实施方式中,用户可以访问Web门户 并使用搜索门户入口 (portlet)来启动搜索。根据第一实施方式,网络中的各节点运行这样的处理,该处理侦听公知的端口,并对査询做出响应。该处理还维持或者能够获得在节点上 当前可用的全部服务的列表。这包括在该节点上正在运行(即,活动) 的软件服务以及那些不正在运行(即,不活动)的和如希望时可被启动 的软件服务。这还包括在该节点上不存在但在该节点上可以访问和安装 的数据或软件。根据另一实施方式,在计算机网络的情况下,调度处理可访问节点 能力描述。这方面的一个实施例是网格调度处理。该处理还知道各节点 的网络邻居,并能够向它们发送消息。该处理参与回声发现,如下文所 述。可以将处理认为和表示为这样的图其中顶点是各个服务,连接顶 点的弧反映依从关系或相互作用(例如,参见图5)。例如,考虑必须按 照顺序执行的服务的序列, 一个服务的输出可能限制的是对下一个服务 的输入(还可以发现诸如并行执行和选择等的其他结构)。调度器负责根 据处理定义来例化可执行的处理,以满足性能和费用限制。当在用户的 本地节点中它们向本地搜索处理提供所希望的处理的定义时,用户启动 该调度器。为了例化该处理,调度器启动针对序列中的第一服务的搜索。
这在图3中由从节点10发出的扩展的圆50例示。这些圆表示从节点10 到更远的节点扩展的搜索,直到已定位具有提供第一服务的能力的足够 节点。各第一服务定位在"第一"节点。如图3所示,作为搜索的第一 阶段的结果,定位了两个候选第一节点14、 24。节点14经由连接41直 接连接到节点10。节点24经由节点18和连接43和46而连接到节点10。 根据另一优选实施方式,针对该搜索使用有界回声。最初有界回声 搜索限制区域内的多个网络节点,该区域扩展,直到发现了预定数量的 适当服务。将所发现的节点的特征和与这些节点的连接性有关的信息(即,到 节点14的连接41以及经由节点18的到节点24的连接43、 46)返回到 用户节点IO处的调度器。接着该调度器基于用户提供的标准而选择提供 第一服务的实例的多个节点(节点的短的列表),以潜在地提供第一服务。 接着从所选择的第一节点14和24 (其提供第一服务的实例)来远程地启 动对序列中的第二服务的搜索。这在图3中由从所选择的第一节点24发 出的扩展的圆52例示。为了简明起见,这里只例示了一个第二阶段搜索, 尽管搜索可以与许多选择的"第一节点"并行地发生。对能够提供第二 服务的多个"第二节点"进行定位(为了简明起见,在图3中只示出了 一个第二节点30)。发现的"第二节点"(即,潜在地提供序列中的第二 服务的节点)的特性被返回给调度器。与能够提供第一服务的节点与能 够提供第二服务的节点之间的连接有关的信息也被返回到调度器,该调 度器接着选择第二节点的短的列表。按照相类似的方式开始针对第三服 务的搜索,即,从提供了第二服务的实例的所选择的节点开始。这在图3 中由从所选择的第二节点30发出的扩展的圆54表示。为了简明起见, 不示出在该阶段可以并行发生的其他搜索。在图3的示例中,对能够提 供第三服务的多个"第三节点"(为了简明起见,只示出了一个第三节点 36)进行定位。如有需要,在后续阶段中按照类似的方式对能够提供希 望的第四、第五等等服务的多个第四、第五等等节点进行定位(未示出)。 重复该处理,直到发现提供了序列中的各服务的实例的足够数量的节点。图4示出图3的网络的局部,该网络只具有作为搜索结果的所选择
的节点,只示出这些节点是为了更清楚地例示图3的搜索。在图4中,箭头49表示用户节点10与选择的第一节点24之间的链路。根据本发明的另一优选实施方式,调度器能够建立如图5所示的图, 其中从顶点(10)到相对末端(例如82)的各路径表示处理的可实施的 示例。与性能和费用有关的数据是与图的各顶点(服务60-84)及弧(网 络连接100-126)相关联。用户节点10通过网络连接100、 102连接到第 一服务60、 62。第一服务60分别通过网络连接110、 112和114连接到 第二服务70、 72、 74。第一服务62分别通过网络连接116和118连接到 第二服务74、 76。第二服务70通过网络连接120连接到第三服务80。 第二服务72通过网络连接122连接到第三服务82。作为第三阶段搜索的 结果,第二服务74和76都定位同一单个的第三服务84。因此,第二服 务74和76分别通过网络连接124和126连接到第三服务84。决策图通 常延伸到经由另外网络连接而连接的另外服务实例,直到在图中表现所 有要求的服务的实例及它们的互连。为了将决策图与图3和4的实施例 关联,弧IOO、 110和120可以分别联系链路49、 47和48,并且服务60、 70和80可以分别联系节点24、 30和36。接着,调度器选择最合适的路径以满足最终用户的约束,基于与各 路径的顶点及弧关联的性能和费用数据而计算各路径的质量。根据又一 优选实施方式,在发现的各阶段处,调度器可以修剪没有希望的路径。 例如,如果一个约束是由三个服务序列构成的处理必须能够在IO秒内执 行,并且执行第一服务实例、将结果传送到第二服务实例并执行第二服 务实例的沿一条路径所花费的时间为11秒,则无法继续针对沿该条路径 的第三服务的实例的搜索。在通过决策图选择路径(因此选择服务实例和连接的配置以实现处 理)的过程中可以考虑到的花费包括但不限于连接带宽、服务实例的接 近、在服务间传输数据的网络花费、使用资源的财务费用、资源的可用 性、资源的所有权、安全和防止未经授权而访问被处理的信息的要求。一旦选择了最优配置,就以覆盖网络的方式根据另一优选实施方式 来实现该最优配置,该覆盖网络将用户和所要求的服务进行链接,建立
这些服务之间的关系,并在它们之间建立数据流。根据本发明的另一优选实施方式,产生对于具有合适的质量度量的 服务序列的请求。由于发现了提供所要求服务之一的各节点,所以它起 动针对序列中下一服务的有界回声搜索,而不返回到调度器。然后,回 声算法对结果进行合计,并且将服务实例的有序列表与相对于各个度量 的列表的性能一起返回到调度器。该合计是由出现在各个节点上的回声守候器(daemon)来执行的。回声守候器保持它传送的所有活动的搜索 的记录并对该返回的结果进行合计。回声守候器为回声模式中所涉及的 所有通信负责。系统中的各节点具有作为回声守候器(监听针对回声消 息的标准通信端口)的一部分而运行的软件处理。守候器将识别消息是 否是搜索或回声。如果它是搜索,则它将本地地检验所要求的服务,并 且如果需要的话,将搜索消息传递到其邻居(除了消息发起者之外)。在 传递搜索消息之前,守候器将检查跳计数以了解是否允许搜索的进一步 传送。跳计数是简单的数字计数,每当传送搜索时增加该计数,并且使 用该计数限制搜索区域的范围,即提供有界搜索。跳计数从零开始。每 当节点转发搜索消息时,增加该跳计数。如果跳计数小于预定限度,则 节点将仅转发搜索消息。如果它等于限度,则算法的扩充阶段结束,并 且节点将有关搜索的信息返回到请求节点。回声守候器保持其邻居的列表,并且周期地维持它。当对搜索的响 应返回时,守候器管理合计处理,并将收集的响应传递回搜索发起者。 当任何客户开始搜索时,他们将优选地访问使得他们可以配置搜索的图形界面,并生成要从本地节点上的回声守候器发出的第一搜索消息。该实施方式特别地适于发现序列而不是具有更复杂同步(例如,包 含选择、并行执行等)的结构。这两个可以在另一实施方式中与调度器 组合,该调度器清晰地指引更复杂情形下的搜索和依赖于其他情形下的 回声守候器集合。根据优选实施方式,利用使得可以如图1所示对处理进行图形表示 的整合开发工具来执行初始处理设计。可以使用Oracle BPEL设计器或 针对上文所述的贷款申请的以实例方式所示的其他商业地可获得的工具
产生基于WDSL的表示。在基于XML的文件中可以获得相同的信息,其中伙伴链路和控制逻辑描述组件服务的身份和流程中的序列,例如
<partri9rUnks:><partnerLin}< name-"client" partnerLinkType-'tns丄oanFlowP!us'薩 partnerRote="LoanFlowPlusRequester" my!3ole:="LoanFlowPlusProvid!er"/><partnerUn(c name="creditRaWngServlceM partnerUnkType-"services:CreditRatingService" partnerRole="CreditRatingServiceProvider7:><partnerj_ink name-"UnitedLoanService" partnerLinkType-"services:LoanService" myRole="LoanServiceRequester" partnerRole="LoanServiceProvider7><partnerUnk name-"StarLoanService" partnerUnkType-"services:LoanService11 myRole-"LoanServiceRequester" partnerRole="LoanServiceProvider'7><partnerUnk name-"confirmationManager" partnerUnkType-"task:TaskManager" partnerRole='TaskManager" myRole="TaskMa[iagerRequester7><partnerLink name="exceptionManagerB partnerUnkType=utesk:TaskManager" partnerRole:"TaskManager" myRote="TaskManagerRequester7> </partnerUnks<|— mm,ww7mm柳www7r柳w"wmmmm",wReceive input from requestor - this is what initiatesthis flow. We are passed a loan application business doc<receive name-"r的eivBlnput" partnerUnk-"cr旧nf portType="tns:LoanFlowPlus" operation-"initiate" variable="input" createlnstance="yes7> <!— retrieve SSN using Entity bean —><rbpelx:axec name="RetrieveSSNu language="java" version-" 1.4"> <![CDATA页Invoke the synchronous creditRatingService. Define a scope for handling faults from it and set ths credit rating in the [oan app bus doc if we get a credit rating back. In the case of a NegativeCredit exception, set it to -1000.'<scope name=ngetCrsditRatingu variableAccessSeria!izable="no"> <v3ri3bles> ^<variable name="crlnput" messageType-"services:CreditRatingServ!ceRequestMessage";^<variable name-"crOutput" rnessageType="services:CreditRatingServiceResponseMessage7>-variable name-"crError" messageType="services:CreditRatingServiceFau,ltMessage7> </variables>这提供了结构化的搜索串,该搜索串用作对服务发现处理的输入。 该客户端节点在上述示例性服务中初始化针对所要求的第一服务的有界 回声搜索,在该示例性服务中允许检索用户贷款的请求者的社会保障号(SSN)。该搜索所返回的实例的数量是可配置的,返回得越少,搜索和 调度就越快和越容易,但是可能失去了更有利的解决方案。 一旦第一服 务已被识别,则发生在提供社会保障号的节点处开始的第二系列有界回 声扫描该搜索寻找get-credit-rating(信用等级获取)服务。针对服务发现的该方法有利地产生了一系列迹线(trace)的输出, 每一个迹线均是可实施的处理示例。如图5所示,这可以再现按照与决 策图相类似的方式进行表示。在图5中,在图上的各路径表示针对形成 处理实例所要求的服务已建立的连接性和邻近性;从而减小需要的信息 的量,以能够选择最适当的组合或路径。根据另一优选实施方式,引入进一步的改进,这包括对图中的节点 和网络链路添加标识和费用信息,使得发现通过该图的最低费用路径的 非常简单的方法将识别最佳的组合。用于注释该图的费用度量例如可以涉及可用的计算资源、服务的性能(如果这些服务已存在的话)、已开始 的服务的time-to-load (时间-负荷)、以及连接网络链路的性能。对图 齊加注释有助于依照建立的情况对图进行修剪的处理,还简化了调度处 理。
图6示出了上述发现和调度处理的一部分的程序表。图6使用统一建模语言(亂)(Object Management Gro叩,Inc.的商标)。图6示出了突出发现处理的一些主要特性的简化的UML顺序图。时 间在左上角开始,沿图前进,沿着顶部的每一个框(应用调度;本地回 声;远程回声l;远程回声2;远程回声3)表示一功能。在回声搜索的 情况下,在单独的节点上运行这些功能中的每一个功能。该回声搜索功 能(本地回声;远程回声l;远程回声2;远程回声3)是处理搜索请求 的多条代码接受搜索请求消息、相应地查询本地节点、向随后的节点 传送搜索请求和向请求的调度器返回结果。每个回声搜索功能具有到其 节点的全部本地连接和到所有活动的搜索请求的原点的详情。针对顾客来说,用于提供针对顾客想要执行的处理的任务序列和任 何有关的服务质量度量的一种方式是提供工作流。工作流是用于描述任 务、程序步骤、涉及的组织或人员、所要求的输入和输出信息、以及在 商业处理中的各步骤所需的工具的术语。工作流是这样的工T技术其使用电子系统来管理和监测这些处理。 这允许个人和/或部门之间的工作流(例如,实现为在网络中的计算机之 间的数据的传递)被限定和追踪。在图6中示出的次序如下。当潜在的顾客提供要求的工作流时,创建应用调度器以处理调度任 务(功能应用调度)。当用户对用户本地节点中的本地搜索功能提供工 作流定义时,用户启动了该调度器。分析和管理一处理的工作流方法可 以与面向对象的编程方法结合,这倾向于集中在文档和数据上。 一般而 言,工作流管理集中于处理而不是文档。商业上可获得的工作流自动化 产品允许一组织创建工作流模型和诸如在线形式等的组件,接着使用该 产品作为管理和加强工作的一致性处理的方式。.应用调度器通过查询本地回声搜索功能(消息"开始搜索")而查找 在本地节点上的工作流的第一组件(功能"本地回声")。本地回声搜 索功能将测试本地节点(参见功能"本地回声"下面的箭头"本地检 查"),如果不存在要求的组件,它将该搜索(参见消息"传播搜索")转
发到其相邻的回声搜索功能(即,功能"远程回声l")。各相邻的回声 搜索功能接着搜索其本地节点(参见功能"远程回声l"下面的箭头"本 地检查")。如果在本地节点上未发现所希望的服务,则将搜索转发到邻 居的邻居的回声搜索功能(从远程回声1功能发送到远程回声2功能的 消息"传播搜索")。在本实施例中,远程回声2搜索功能将第一服务(或 工作流组件)定位在其本地节点上,并向应用调度器返回正响应(未示 出)。该正响应可以经由回声链往回传送,或直接传送到始发应用调度器。当应用调度器接收表示了第一服务的位置的正响应时,它将询问工 作流组件的费用的状态检查请求(消息"请求当前状态")发送到成功的 回声搜索功能(远程回声2)。该成功的功能将该值返回到其中正在建 立调度决策图的应用调度器(从"远程回声2"到"应用调度器"的 消息"返回状态到调度器")。接着,应用调度器从具有第一服务的实例 的所有成功位置开始针对下一个服务的搜索(从应用调度器到"远 程回声2"的消息"开始搜索")。该处理继续,直到所有要求的服务被成 功定位并确定其状态。在另一优选实施方式中,由于建立了调度决策图, 应用调度器周期性地检查潜在的站点的复制,并相应地修剪调度决策图。 当定位了所有组件时,应用调度器处理该调度决策图,并将连接的服务 的最优设置返回到用户。根据另一实施方式,本发明提供了并行处理过程的建立。可以许多 方式来配合并行方法的使用。例如,用于网格的调度器可能暴露网格服 务接口,该网格服务接口接受涉及并行处理的请求然后操纵分布。作为 另一种选择,并行执行可包括在工作流描述中,其中将一个服务的输出 发送到多个同样服务的输入。网格计算扩展地用于特别是科学研究中的并行处理。然而,网格计 算还适用于不要求像科学应用那么多并行处理的商业应用。本发明可应 用于在任何使用它们的网络或网格服务。本发明的另一优点是它使得调度器可以进行双层(two-tier)搜索。常规的web服务仅使用现有的服 务。本发明可有利地使调度器还考虑合适节点上的起动服务,以满足处 理需要。这包括出现在节点上的两个起动服务,但不运行合适的服务代
码并将其下载到选择的节点,以使可安装和运行它。使得在要求时进行例化的合适的软件提供系统包括网格计算和CORBA(公共对象代理架构)。期望一套新的虚拟化和服务器自动化软件使得类似的在要求时进行的例 化适合用于本发明。本发明提供比基于集中目录的解决方案更健壮的解决方案,并将有 利地使在面临网络失败的情况下可以继续操作。如果包含目录的部分网络变得不能到达,则诸如使用注册的UDDI的常规方法将失败。本发明的 搜索由用户启动,并且发射出去以到达当前连接到开始点的网络的所有 部分,从而使整个或部分处理在发生部分网络失败的情况下而被维持。 如果在调度器获得所要求的服务的位置和费用之后部分网络失败,则处 于网络的失败区域中的任何服务将不再是可达到的,并且其使用将被拒 绝。由于本发明的搜索处理使用局部知识,则可以立即起动第二搜索以 定位(作为问题的结果)拒绝利用网络对其进行访问的任何服务的另选 实例。有利地是,第二搜索将只固有地从仍连接到起始节点的节点收集 数据。根据另一优选实施方式,将在原始搜索过程中找到的但没有选择使 用的另选服务的位置进行储存,以防备这样的网络问题发生。这使网络 可在部分网络失败的情况下快速切换到可用的工作服务。由于在最高级 层处没有任何中央服务而进一步增强了弹性。如果要将调度处理集中化, 则单一处理的失败可能是致命的。根据优选实施方式,各个调度器仅负 责一个处理,该处理可能失败而没有不利地影响所有仍工作的其他处理。 因此,系统在多个级层处是弹性的,在最高级层处没有集中服务限制了 任何失败的影响,如果发生失败,存储多个合适服务的位置(例如,作 为选择图形的一部分)有助于快速的恢复。使用动态发现而不是根据潜 在地过时的目录查找,在需要时收集最新的信息。在发现处理过程中可 过滤发现的信息,以使要考虑的可能配置的范围限制到那些最可能接受 的配置。还将有关服务性能的信息与相关的网络性能进行隐式组合。这在例如以下操作中可能是有用的将需要经由慢的网络链路传送大量数据的两个高性能web服务与在本地计算机上可得的等效的但较慢的处理(即避免慢的网络链路)进行比较。本发明提供一种解决这样的问题的 简单的分布式方式。根据另一实施方式,可对视频点播处理进行配置。视频点播服务可 由视频服务和传送服务组成,它们可表示为简单的两阶段工作流,客户 通过提供视频名称和传送地址(这可在后台获得而不需要用户交互)来 亲自起动该工作流。回声模式的第一阶段开始,以找到能够提供所请求 的视频的视频服务器。接着,回声搜索的第二阶段开始,以找到合适的 传送服务。调度器选择视频源和传送服务,它们可共同提供针对视频的 所要求的质量水平的视频点播服务。根据另一实施方式,本发明可应用于网络的配置,以支持以下操作。 第三方呼叫控制使用第三方呼叫控制来创建和管理由应用程序启动的呼叫。利用第 三方呼叫Web服务,应用程序开发人员可通过提供两个端点的地址(或电话号码)而调用呼叫-处理函数。合适的应用程序是在到订户的PSTN 线路的连接忙时或不可用时而被调用的应用程序。这将如何工作的一个 示例是当用户利用他们的PSTN连接来拨号进入互联网时。应用程序可拾 取该信号,并且将向语音邮件发送呼叫、使该呼叫转向另一号码或拒绝 该呼叫的选择提供给被呼叫的用户。在网络内处理用户所做出的响应。 而且,只要拨确定的号码,该服务可触发一应用程序。这对于一些现有 的智能网络服务提供将是可行的。使用这样的服务的一个示例是监控特定的股价当价格达到阈值时,客户机应用程序调用一个或多个代理与他们对应客户之间的第三方呼叫,以决定要采取的动作。
SMS从由外部刺激(如语音邮件、交通、天气或其他信息报道、或电子 邮件消息)所触发的应用程序(例如,(驻留在于第三方平台上或内部应 用平台上的)客户机应用程序)发送SMS消息的方法。该应用程序调用 SMSWeb服务。该应用程序提供消息(文本串)和被呼叫用户的详细信息。 然后,Web服务可调用这样的消息,该消息指导移动的SMS-C向被呼叫用 户发送消息。<formula>formula see original document page 23</formula>允许通过应用程序向用户发送多媒体消息和从网络检索多媒体消息。它利用移动网络提供的薩s能力。本发明允许在整个网络上以未知方式散布的不同服务来有效地建立的希望的处理。这些服务可以是各种类型的服务,包括但不限于正运 行的、已安装但不活动的或要求安装的软件;被安装或要求安装的数据, 和可由装置(如计算机、PDA和移动电话)提供的处理能力或存储空间。 这根据优选实施方式通过构建决策图(使得可以做出快速的决策,作为 最合适的服务实例和连接)来实现。通过使用从用户散布出去的搜索策 略,本发明固有地趋向于优化速度同时最小化连接费用。本发明不限于包括必须以规定的顺序执行的服务序列处理,而是还 同等地应用于其他结构(如并行执行和具有选择或决策的序列)。本发明 不限于网络的特定形式或拓扑,而是还应用于在电子、光学或其他电磁 介质中实现的串、树、部分和全部网以及其他拓扑。在不需要改变本发 明的实质特征的情况下,本发明还可应用于在一个以上的网络上分布的 服务。本发明不限于任何特定类型的服务,而是可以扩展到商业应用、通信服务、连同其他应用领域的制造系统等。縮写说明BPEL商业处理执行语言BPEL4WS针对Web服务的商业处理执行语言HTTP超文本传输协议麗S多媒体消息服务丽S多媒体消息发送服务OASIS推进结构化信息标准的组织0GSA开放网格服务架构PSTN公共交换电话网络SMS短消息发送服务SMS短消息服务S0A面向服务架构SOAP简单的对象访问协议SSN社会保障号UDDI通用描述、发现和整合UML统一建模语言WSDL Web服务描述语言XML可扩展标记语言
权利要求
1、一种配置网络以进行处理的方法,其中所述网络包括了用于提供服务的多个节点,并且其中所述处理包括多项服务,所述方法包括以下步骤从第一节点开始,对网络进行搜索以查找适于提供所要求的服务中的第一服务的节点;从作为所述搜索的结果而被标识为适于提供所述第一服务的所述节点或所述多个节点开始,进行搜索以查找适于提供所要求的服务中的第二服务的节点;针对剩余的所要求的服务中的每一项服务重复进行搜索,每次从被标识为适于提供先前要求的服务的所述节点或所述多个节点开始,直到定位了提供全部所要求服务的节点。
2、 根据权利要求1所述的方法,该方法包括以下步骤获取与作为所述搜索的结果而被标识为适于提供所述第一服务的所述节点有关的信 息,并基于所述节点信息选择适于提供所述第一服务的至少一个节点。
3、 根据权利要求2所述的方法,该方法包括以下步骤获取有关于在所述第一节点与作为所述搜索的结果而被标识为适于提供所述第一服 务的所述节点之间的连接有关的信息,并基于所述节点信息和所述连接 信息来选择适于提供所述第一服务的至少一个节点。
4、 根据权利要求2和3中的任一项所述的方法,其中,对所述适于 提供所述第二服务的节点的所述搜索是从所述适于提供所述第一服务的 所选择的所述节点或所述各节点开始的。
5、 根据上述权利要求中的任一项所述的方法,该方法包括以下步骤获取与作为所述搜索的结果而被标识为适于提供所要求服务中的每一项 服务的节点有关的信息,并基于所述节点信息选择适于提供所述所要求 服务中的每一项服务的至少一个节点。
6、 根据权利要求5所述的方法,该方法包括以下步骤-获取与在以下两种节点之间的连接有关的信息,所述两种节点是作为所述搜索的结果而被标识为适于提供所述所要求服务中的一项服务的所选择的节点或每一个所选择的节点;作为所述搜索的结果而被标识 为适于提供所要求服务中的下一项服务的节点,并且基于所述节点信息和所述连接信息来选择适于提供所述下一项所要 求的服务的至少一个节点。
7、 根据权利要求5和6中的任一项所述的方法,其中,对被标识为适于提供所要求服务中的所述下一项服务的节点的搜索是从适于提供所 述先前服务的所选择的节点或每一个所选择的节点开始的。
8、 根据上述权利要求中的任一项所述的方法,该方法包括以下步骤-在所述网络中识别出多条路径,各路径包括适于提供所要求的服务中的 至少一些服务的多个节点以及所述多个节点之间的连接;对所述各路径 中的所述多个节点和所述多个连接进行评价,并基于所述评价来选择用 于提供所述处理的一条或更多条路径。
9、 根据权利要求8所述的方法,该方法包括以下步骤取消对重复 的路径选定,以使得在一条所选择的路径中包括的作为所述搜索的结果 而被标识为适于提供所要求服务的节点不会全部地包括在另一条所选择 的路径中。
10、 根据权利要求8或9所述的方法,其中,在所述搜索的中间阶 段执行在权利要求8和9中所阐述的所述方法步骤。
11、 根据权利要求8至10中的任一项所述的方法,该方法包括以下 步骤保持与所述被取消选定的路径有关的信息,并在一所选择的路径 中出现失败时,以适当的所述被取消选定的路径来代替该失败路径。
12、 根据权利要求2至11中的任一项所述的方法,该方法包括以下 步骤保持与适于提供所要求的服务的、但通过所述选择步骤而未被选 择的所述标识节点有关的信息;并在一所选择节点失败的情况下,以适 当的、但未被选择的节点来代替该失败节点,其中所述节点的失败包括 到该节点的连接的失败。
13、 根据上述权利要求中的任一项所述的方法,其中,如果一服务 在一节点上是活动的,则该节点是适于提供该服务的。
14、 根据上述权利要求中的任一项所述的方法,其中,如果一服务 在一节点上是不活动的、但能够在该节点上被激活,则该节点是适于提 供该服务的。
15、 根据上述权利要求中的任一项所述的方法,其中,如果一服务 在一节点上不存在、但能够被下载在该节点上并且能够在该节点上被激 活,则该节点是适于提供该服务的。
16、 根据上述权利要求中的任一项所述的方法,其中,所述节点形 成了部分的计算网格。
17、 根据上述权利要求中的任一项所述的方法,该方法包括以下步 骤通过使用有界回声算法来搜索所述网络。
18、 根据上述权利要求中的任一项所述的方法,该方法包括以下步 骤在找到适于提供所述服务的设定数量的节点后,停止对于至少一项 所要求服务的搜索。
19、 根据上述权利要求中的任一项所述的方法,该方法包括以下步 骤使用所述有界回声算法来处理所述信息,并向所述第一节点返回所 选择的多个节点的有序列表。
20、 一种用于提供要求多项服务的处理的网络,其中,所述网络包 括用于提供所述多项服务的多个节点;其中,所述系统包括以下装置第一搜索装置,其从第一节点开始对所述网络进行搜索,以查找适 于提供所要求的服务中的第一服务的节点;第二搜索装置,其从作为所述搜索的结果而被标识为适于提供所述 第一服务的所述节点或所述多个节点开始,对所述网络进行搜索,以查找适于提供所要求的服务中的第二服务的节点;第三搜索装置,其针对剩余的所要求的服务中的每一项服务,对所 述网络进行搜索,每次所述搜索都从作为所述搜索的结果而被标识为适 于提供先前所要求的服务的所述节点或所述多个节点开始。
21、 根据权利要求20所述的网络,该网络包括以下装置用于获取 与适于提供所述第一服务的所标识的节点有关的信息的装置;和用于基 于所述节点信息从所述标识的节点中选择适于提供所述第一服务的至少 一个节点的装置。
22、 根据权利要求20和21中的任一项所述的网络,该网络包括以下装置用于获取与在所述第一节点和提供所要求的所述第一服务的节点之间的连接有关的信息的装置;和用于基于所述节点信息和所述连接 信息来选择适于提供所述第一服务的至少一个节点的装置。
23、 根据权利要求20和22中的任一项所述的网络,其中,对适于提供所述第二服务的节点的所述搜索是从适于提供所述第一服务的所选 择的节点或每一个所选择的节点开始的。
24、 根据权利要求20至23中的任一项所述的网络,该网络包括以 下装置用于获取与适于提供所要求服务的所标识的节点有关的信息的 装置;和用于基于所述节点信息选择适于提供所要求服务中的每一项服 务的至少一个节点的装置。
25、 根据权利要求20至24中的任一项所述的网络,该网络包括以 下装置用于获取与在以下两种节点之间的所述连接有关的信息的装置,所述两种节点是适于提供所要求的服务中的一项服务的所选择的节点或每一个所选择的节点;和作为所述搜索的结果而被标识为适于提供下一项所要求的服务的所述节点或每一个节点;其中,所述用于进行选择 的装置被设置成,基于所述节点信息和针对该节点获取的连接信息来选 择适于提供所述下一项所要求的服务的至少一个节点。
26、 根据权利要求20和25中的任一项所述的网络,其中,所述用 于进行搜索以查找适于提供所要求服务中的下一项服务的节点的装置被 设置成从适于提供所述先前所要求服务的所选择的节点或每一个所选 择的节点开始进fi^万述搜索。
27、 根据权利要求20至26中的任一项所述的网络,该网络包括以 下装置选择装置,其用于识别出网络中的多条路径,各路径均包括适 于提供所要求服务中的至少一些服务的多个节点以及所述多个节点之间 的多个连接;和评价装置,其用于对所述各路径中的所述多个节点和所 述多个连接进行评价,并基于所述评价来选择一条或更多条路径,以提 供所述处理。
28、 根据权利要求27所述的网络,其中所述选择装置被设置成取 消对重复的路径的选定,以使得在一条所选择的路径中包括的作为所述 搜索的结果而被标识为适于提供所要求的服务的多个节点不是全部地包 括在另一条所选择的路径中。
29、 根据权利要求27和28中的任一项所述的网络,其中所述选择装置被设置成在所述搜索的中间阶段执行所述选择和所述取消选定中的至少一个。
30、 根据权利要求27至29中的任一项所述的网络,其中所述选择装置被设置成保持与所述被取消选定的路径有关的信息,并在一所选择的路径中出现失败时,以适当的所述被取消选定的路径来代替该失败 路径。
31、 根据权利要求27至29中的任一项所述的网络,其中所述选择装置被设置成保持与适于提供所要求服务的、但未被所述用于进行选 择的装置而选择的所述被标识的节点有关的信息;并在一所选择的节点失败的情况下,以适当的、但未被选择的节点来代替该失败节点,其中 所述节点的失败包括到该节点的连接的失败。
32、 根据权利要求20至26中的任一项所述的网络,其中,如果一 服务在一节点上是活动的,则该节点是适于提供该服务的。
33、 根据权利要求20至32中的任一项所述的网络,其中,如果一 服务在一节点上是不活动的、但能够在该节点上被激活,则该节点是适 于提供该服务的。
34、 根据权利要求20至33中的任一项所述的网络,其中,如果一 服务在一节点上不存在、但能够被下载在该节点上并在该节点上被激活, 则该节点是适于提供该服务的。
35、 根据权利要求20至34中的任一项所述的网络,其中,所述节 点形成部分的计算网格。
36、 根据权利要求20至35中的任一项所述的网络,该网络包括以 下装置用于通过使用有界回声算法来搜索所述网络的装置。
37、 根据权利要求20至36中的任一项所述的网络,其中,所述用 于进行搜索的装置被设置成在找到适于提供所述服务的设定数量的节 点后,停止对于至少一项所要求的服务的搜索。
38、 根据权利要求21至38中的任一项所述的网络,其中,所述用于进行选择的网络被设置成使用所述回声算法来处理信息,并向所述 第一节点返回所选择的多个节点的有序列表。
39、 一种包括多条指令的计算机程序,当所述计算机程序在计算机 上被执行时使得所述计算机根据权利要求1至19中的任一项所述的方法步骤来进行操作。
40、 一种计算机可读存储介质,其存储有根据权利要求39所述的计 算机程序。
全文摘要
本发明涉及网络中的处理配置。提供一种配置网络的方法和可配置的网络,以通过逐步骤的搜索来提供利用在网络的多个节点之中分布的多个服务的处理,对一项服务的搜索开始于提供先前服务的一节点处。
文档编号H04L29/06GK101120575SQ200680004829
公开日2008年2月6日 申请日期2006年2月6日 优先权日2005年2月15日
发明者保罗·佛朗西斯·麦基, 迈克尔·安德烈亚·费希尔 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1