用于基于网络的服务的管理的系统和方法

xiaoxiao2020-9-10  4

【知识产权代理】【专利服务】Tel:18215660330

用于基于网络的服务的管理的系统和方法
【专利摘要】在一个实施例中,系统包括配置成接收从第一客户发送的对由第一服务提供商提供的第一服务的第一请求的接口,第一请求是第一类型的。所述系统还包括配置成响应于接收第一请求从与第一服务提供商相关的第一策略确定第一组配置参数的至少一个处理器。至少一个处理器还响应于接收第一请求使用第一组配置参数使得与第一服务提供商相关的节点提供第一服务。
【专利说明】用于基于网络的服务的管理的系统和方法
[0001] 相关申请
[0002] 此申请要求2011年12月27日提交的并且以参考的方式结合在此的标题为"改进 的联网"的美国临时专利申请序号61/580, 564的优先权。

【技术领域】
[0003] 本公开一般涉及计算机网络,并且更具体来说涉及用于基于网络的服务的管理的 系统和方法。

【背景技术】
[0004] 在基于网络的服务提供中,某些提供商遵循暴露低层应用程序接口(API)并且允 许开发者构建定制服务的方法。这种方法将服务创建的复杂性从提供商推给服务的客户。 客户投资构建定制解决方案并且负责服务的设计。如果服务提供商决定将这些定制解决方 案作为其产品的一部分并入,则复杂性迅速增长。复杂性随着独特组合的数量线性地增长 并且随着组合内的服务数量以指数方式增长。复杂性的迅速增加使得服务脆弱且难以修 改。
[0005] 大部分云服务使用HTTP网页服务(SOAP和REST)来分发服务信息以及存取和管 理服务。此模型具有缺点。第一,HTTP并非设计用于服务发现和发布,而是仅在它们通过 其他装置发现之后连接到主机。第二,HTTP并不与数据包处理中的策略交互。服务数据包 需要策略路由并且可以基于策略来修改。第三,为了认证、授权和记账(AAA),所有HTTP数 据包必须在一些代理处被拦截(或终止)。


【发明内容】

[0006] 在一个实施例中,系统包括配置成接收从第一客户发送的对由第一服务提供商提 供的第一服务的第一请求的接口,第一请求是第一类型的。系统还包括配置成响应于接收 第一请求从与第一服务提供商相关的第一策略确定第一组配置参数的至少一个处理器。至 少一个处理器还响应于接收第一请求使用第一组配置参数使得与第一服务提供商相关的 节点提供第一服务。
[0007] 在一些实施例中,第一请求可以包括与第一服务相关的点分十进制名称。至少一 个处理器还可以进一步配置成证明第一请求符合与第一类型相关的一组规则并且通过将 第一请求与关于第一服务的信息相比较来验证第一请求。第一请求可以包括第一部分,该 第一部分包括与如何实施第一服务无关的信息。第一请求还可以包括第二部分,该第二部 分包括与如何实施第一服务有关的信息。
[0008] 在一个实施例中,由至少一个处理器执行的方法包括接收从第一客户发送的对由 第一服务提供商提供的第一服务的第一请求,第一请求是第一类型的。方法还包括响应于 接收第一请求从与第一服务提供商相关的第一策略确定第一组配置参数。此外,方法还包 括响应于接收第一请求使用第一组配置参数使得与第一服务提供商相关的节点提供第一 服务。
[0009] 取决于所实施的具体特征,特定实施例可以呈现以下技术优点中的一些或所有, 也可以不呈现以下技术优点。服务部署可以跨客户和服务提供商边界。每个客户或服务提 供商可以能够强制执行针对入口和出口处的服务使用的策略规则。如另一个实例,可以在 网络中定义分开的服务相关和服务无关功能。从以下附图、说明书和权利要求,其他技术优 点对本领域技术人员来说是显而易见的。

【专利附图】

【附图说明】
[0010] 现在结合附图对说明书进行以下描述,其中相同参考数字表示相同部分,并且:
[0011] 图1示出了允许基于网络的服务提供商之间的互操作的系统的一个实施例;
[0012] 图2示出了可以用于图1中描绘的系统的操作中的示例性数据包;
[0013] 图3示出了能够分支工作流的系统300的一个实施例;
[0014] 图4示出了分级命名方案的一个实例;
[0015] 图5示出了用于发现服务节点的消息流;
[0016] 图6示出了用于用户发现代理的消息流;
[0017] 图7示出了用于代理发现另一个代理的消息流;
[0018] 图8示出了提供服务的消息流;
[0019] 图9示出了用于有状态服务移动性的消息流;
[0020] 图10示出了用于无状态服务移动性的消息流;
[0021] 图11示出了用于应用之间的中间件通信的一个示例性系统;以及
[0022] 图12示出了适用于实施具体实施例的一个或多个部分的一个示例性计算机系 统。

【具体实施方式】
[0023] 图1示出了允许基于网络的服务提供商之间的互操作的系统100的一个实施例。 系统100包括接收由服务节点132、134、136和138提供的基于网络的服务的客户节点102、 104、106。客户节点102、104、106分别联接到辅助管理从服务节点132、134、136和138接收 到的服务的代理112U14和116。工作流节点122U24和126分别联接到代理112U24和 116,并且促进由服务节点132、134、136和138提供的服务的使用。代理112、114和116联 接到定位代理118 (与定位工作流节点128相关)。代理142、144和146 (与服务节点132、 134U36和138相关)也联接到定位代理118。当从代理112U24和116中的一个接收与由 服务节点132、134、136和138中的一个提供的服务相关的消息时,定位代理118用以标识 代理142、144和146中适当的一个。服务节点132和134位于数据中心190中,而服务节 点136和138位于数据中心192中。在所述实施例中,服务节点132联接到代理142 ;服务 节点134联接到代理144 ;并且服务节点136和138都联接到代理146。工作流服务器156 联接到代理146。
[0024] 系统100描述了通过一个或多个电子网络联接的各个节点。这些网络可以使用自 组织网络、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)和/或因特网的一 个或多个部分来实施。这些网络中的一个或多个的一个或多个部分可以是有线或无线的。 作为实例,网络可以使用无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、长期 演进(LTE)网络、蜂窝电话网(例如,全球移动通信系统(GSM)网络)或其他适合的无线网 络中的一个或多个来实施。
[0025] 在一些实施例中,数据中心190和192可以代表用来存放由使用如上所述的一个 或多个网络的客户节点102、104和106使用的多个应用的硬件设备的集合。数据中心190 和192可以包括允许通信会话的一个或多个网络。多个服务提供商可以使用数据中心190 和192的基础设施的各方面来提供服务。例如,服务提供商可以与和数据中心190相关的 实体具有协议,其中服务提供商可以使用服务节点132和134中的一个或多个来提供一个 或多个服务。因此,在一些实施例中,多个服务提供商可以利用数据中心190的相同硬件源 或者可以驻留在相同网络或子网络上。可以使用虚拟化技术来为多个服务提供商提供访问 数据中心190和192的物理硬件源。例如,服务提供商的服务可以使用虚拟机来实施。
[0026] 在一些实施例中,客户节点102、104和106可以是由使用由服务节点132、134、136 和138提供的服务的实体(例如,用户或服务提供商)使用的节点。作为实例,客户节点可 以代表终端用户、从其他服务提供商获得服务并且将它们与其自己的服务组合的服务提供 商或者聚合来自多个提供商的服务的第三方服务提供商。例如,进入与服务提供商的协议 以获得关于其用户的云服务的商业实体可以由客户节点102U04和106代表。作为另一个 实例,客户可以是购买云服务的企业。在一些实施例中,客户可以定义用于服务的策略并且 可以认证其用户。客户节点可以使用计算机、工作站、电话、因特网浏览器、电子笔记本、个 人数字助理(PDA)、平板计算机或任何其他适合的设备(无线、有线或以其他方式)、组件或 能够接收、处理、存储或与系统100的其他组件传送信息的元件来实施。作为实例,可以是 智能电话、台式计算机、膝上型计算机或IP电话。系统100可以包括可以由任何适合数量 的用户操作的任何适合数量的客户节点。存储在客户节点的存储器中的信息可以各自使用 用于存储和检索信息的任何适合的结构来实施。数据库、文件系统、表格、列表或这些结构 的适合的组合是可以如何存储这些信息的实例。可以使用计算机可读永久存储介质,诸如: 基于半导体的或其他集成电路(1C)(例如,场可编程门阵列(FPGA)或专用IC(ASIC))、硬 盘、HDD、混合硬盘(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器 (FDD)、磁带、全息存储介质、固态驱动器(SSD)、RAM驱动器、安全数字卡、安全数字驱动器、 其他适合的介质或这些的适合的组合(在适当的情况下)。计算机可读永久存储介质可以 是易失性、非易失性或易失性与非易失性的组合(在适当的情况下)。
[0027] 在一些情况下,服务节点132、134、136和138中的每一个可以是提供服务的硬件 或软件实体(例如,虚拟机)。服务可以是硬件资源(例如,计算机、网络、安全、存储或其 他适合的服务)、平台和中间件资源(例如,HTTP服务器、应用服务器框架、数据库、消息传 送中间件或其他适合资源)以及应用(例如,供应链、通信、合作、电子政务或其他适合的应 用)。服务提供商可以是根据一些商业协议对云客户和用户(例如,客户节点102U04和 106)的云服务的供应商。作为一个实例,服务可以是可以由客户或用户为其个人使用所拥 有的硬件或软件产品的虚拟实例。在这些计算系统中的一个或多个上运行的软件可以执行 本文描述或说明的一个或多个方法中的一个或多个步骤或者提供本文描述或说明的功能 性。这些计算系统可以是任何适合的物理形式。作为实例而并非为了限制,计算系统可以是 虚拟机(VM)、嵌入式计算机系统、片上系统(S0C)、单片计算机系统(SBC)(例如,模块化计 算机(COM)或模块化系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自 助服务机、大型机、计算机系统的网格、服务器、应用服务器、路由器、交换机或这些中的两 个或更多个的组合。在适当的情况下,计算系统可以:是单一的或分布式的;跨多个位置; 跨多个机器;或者驻留在计算云(例如,计算系统的联网集,其可以将一个或多个云组件包 括在一个或多个网络中)中。在适当的情况下,一个或多个计算系统可以执行(基本上没 有空间或时间限制)本文描述或说明的一个或多个方法中的一个或多个步骤。作为实例而 并非为了限制,一个或多个计算系统可以实时或以批量模式执行本文描述或说明的一个或 多个方法中的一个或多个步骤。在适当的情况下,一个或多个计算系统可以在不同的时间 或在不同的位置执行本文描述或说明的一个或多个方法中的一个或多个步骤。
[0028] 存储在服务节点的存储器中的信息可以使用用于存储和检索信息的任何适合的 结构来实施。数据库、文件系统、表格、列表或这些结构的适合的组合是可以如何存储这 些信息的实例。可以使用计算机可读永久存储介质,诸如:基于半导体的或其他集成电路 (1C)(例如,场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘、HDD、混合硬盘(HHD)、光盘、 光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、全息存储介质、固 态驱动器(SSD)、RAM驱动器、安全数字卡、安全数字驱动器、其他适合的介质或这些的适合 的组合(在适当的情况下)。计算机可读永久存储介质可以是易失性、非易失性或易失性与 非易失性的组合(在适当的情况下)。
[0029] 在一些实施例中,系统100可以使用分类方案来命名服务。分类可以允许跨类似 类型的服务的属性组合。可以使用面向对象方法来定义服务域。作为实例,"网络"可以是 根域,"交换"、"路由"和"服务"可以是根"网络"域的子域,并且"安全"和"数据包检测" 可以是"服务"域的子域。这些关系的标记例如可以由点分十进制名称来实现。图4示出 了分级命名方案的实例。从图4获得的名称的实例可以是"iaas. network, switching"和 "iaas. network, security"以及其他。子域可以继承在父域中定义的参数。子域可以通过 将父域的属性重新定义在子域中来覆盖这些属性。使用域命名,诸如代理142和144的代 理可以广告域并且访问服务的用户(例如,与客户节点102U04和106相关)将基于它们 偏好哪个服务域来访问它们。在一些实施例中,这可以用来从服务用户提取服务实现。XML 模式可以用来实施分类方案。也可以提供分类方案中的属性的继承。例如,"路由"和"交 换"域可以继承"网络"域并且"虚拟防火墙"域将继承"防火墙"和"虚拟机"域二者。通 过继承,在一些实施例中可以自动地重新使用大部分域属性。
[0030] 在一些实施例中,每个服务域可以具有其自己的服务专用参数。它们可以通过继 承现有域来重新使用现有参数。每个域可以与其自己的模式相关,并且即使没有域细节和 其相关参数,也可以允许代理在将其转发之前验证请求。可以服务相关方式定义域参数,但 是仍可以将其普遍化以应用于那个域中各种各样的服务。这些参数可以通过XML、文本、二 进制或其他种类的格式来表示。
[0031] 在一些实施例中,供应商专用属性(VSA)可以结合服务域使用。这些属性可以不 由所有客户端或用户理解。然而,这些可以在选择使用这些属性的选择端点之间理解。使 用VSA,可以定义实验域或供应商专用域。
[0032] 在一些实施例中,代理142U44和146可以接收请求(例如,从其他代理142U44 和146或者从客户节点102、104和106)并且代表由服务节点132、134、136和138提供的服 务来执行请求。在一些实施例中,代理142U44和146的使用是针对与和特定服务(诸如, 服务创建和服务删除)的细节无关的服务管理有关的功能。代理可以使用一个或多个计算 系统来实施。在这些计算系统中的一个或多个上运行的软件可以执行本文描述或说明的一 个或多个方法中的一个或多个步骤或者提供本文描述或说明的功能性。这些计算系统可以 是任何适合的物理形式。作为实例而并非为了限制,计算系统可以是虚拟机(VM)、嵌入式计 算机系统、片上系统(SOC)、单片计算机系统(SBC)(例如,模块化计算机(COM)或模块化系 统(S0M))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机、大型机、计算 机系统的网格、服务器、应用服务器、路由器、交换机或这些中的两个或更多个的组合。在适 当的情况下,计算系统可以:是单一的或分布式的;跨多个位置;跨多个机器;或者驻留在 计算云(例如,计算系统的联网集,其可以包括在一个或多个网络中的一个或多个云组件) 中。在适当的情况下,一个或多个计算系统可以执行(基本上没有空间或时间限制)本文 描述或说明的一个或多个方法中的一个或多个步骤。作为实例而并非为了限制,一个或多 个计算系统可以实时或以批量模式执行本文描述或说明的一个或多个方法中的一个或多 个步骤。在适当的情况下,一个或多个计算系统可以在不同的时间或在不同的位置执行本 文描述或说明的一个或多个方法中的一个或多个步骤。
[0033] 存储在代理的存储器中的信息可以使用用于存储和检索信息的任何适合的结构 来实施。数据库、文件系统、表格、列表或这些结构的适合的组合是可以如何存储这些信息 的实例。可以使用计算机可读永久存储介质,诸如:基于半导体的或其他集成电路(1C)(例 如,场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘、HDD、混合硬盘(HHD)、光盘、光盘驱 动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、全息存储介质、固态驱动 器(SSD)、RAM驱动器、安全数字卡、安全数字驱动器、其他适合的介质或这些的适合的组合 (在适当的情况下)。计算机可读永久存储介质可以是易失性、非易失性或易失性与非易失 性的组合(在适当的情况下)。
[0034] 服务管理可以包括创建、修改、移动或删除服务。服务管理可以涉及顺序或并行地 执行的一个或多个动作。这些动作可以在硬件和软件服务上或者在其他云提供商上调用。 这些功能可以从网络的剩余部分提取。例如,代理可能不知道服务、用户或策略的细微差 另IJ。在各个实施例中,代理可以执行以下功能:
[0035] --广告其作为可以促进用于某些类型的服务的服务事务的网络元件的存在;
[0036] --连接到其他代理并且交换服务相关信息以允许交换服务信息的服务代理(例 如,代理112、118、142和146)的分布式网络。这可以包括路由规则将服务请求定向至例如 基于地理上的接近、服务率或成本或服务水平协议的目的地。路由规则可以是强制执行的 并且动态地改变;
[0037] --发现服务节点和其服务能力并创建服务节点、客户节点或其他代理可以查询 以发现可用服务的类型的注册表。客户节点102、104和106以及服务节点132、134、136和 138连接到收集和分发服务信息的代理112、114、116、118、142、144和146。这些代理可以 反应客户与服务提供商之间的协议;
[0038] --通过用户注册和服务兴趣的指示来发现用户位置和存在状态(例如,针对与 客户节点102U04和106相关的用户)。这可以是有帮助的,因为由于某些服务可以基于位 置来不同地路由或者可能被禁止访问或仅允许受限访问,位置可以是传递服务时的考虑因 素;
[0039] --连接到确定将服务请求路由到下一跳或者在路由之前可以如何修改或转化 服务请求的规则的策略数据库。服务请求的策略路由允许客户和提供商通过网络中的单个 控制点来控制服务事务。客户节点(例如,客户节点102)可能能够基于用户或群组来强制 执行策略。这些策略可以验证用户是否被授权访问一种类型的服务并拒绝未授权的请求。 可以提供在请求离开前提之前对基于请求的用户或群组策略的自动改变。服务提供商可能 在将请求转发到与服务相关的内部网络(例如,与服务节点132相关的内部网络)之前基 于策略来类似地拒绝或修改请求。修改可以基于特定服务水平协议(SLA)规则和/或先前 协议。作为实例,请求可以是比率限制和/或优先化的。可以在系统中的多个点(例如,客 户节点102、代理112U42和146以及服务节点132)强制执行请求的策略处理;
[0040] -对于服务的认证、授权和记账。代理可以拦截请求并且质疑客户端进行自我 认证。其随后可以查询策略数据库以验证用户被授权进行服务事务。在创建了服务之后, 还可以执行周期性的记账。为此目的可以使用诸如RADIUS或DIAMETER的现有协议。代理 (例如,代理112)可以基于内部用户数据库来认证用户并且将请求转发到具有其证书的服 务提供商代理(例如,代理142)。这可以隔离安全域并且建立信任边界。代理可以用于通 过有状态的检测来检测云的安全漏洞和攻击。事务的日志记录可以在代理处进行。
[0041] 与所提供的服务种类无关,除了其他之外,可以执行诸如服务发现、创建、修改、删 除和迁移的普通动作。另外,可以提供请求的可靠确认和取消或指示上游成功和故障。云 计算可以涉及许多这些服务无关的动作。作为实例,如果虚拟机、虚拟专用网络或存储设 备,则可以使用"创建"动作来指示服务创建的操作。这个普通"创建"动作可以用于由代理 112、114、116、118、142、144和146进行的各种创建任务,并且其意义可以取决于接收者。
[0042] 对服务的请求可以由代理转发到服务节点(例如,服务节点132、134、136和138)、 其他代理(例如,代理112可以将从客户节点102接收到的服务请求转发到定位代理118) 或工作流节点(例如,工作流节点122U24和126)。可互操作网络(例如,数据中心190和 192)的网络可以使用多个代理。代理可以检测或修改传输中的数据包。在一些实施例中, 定位代理118可以执行负载平衡、定位和安全功能,同时将从代理(例如,代理112U14和 116)接收到的请求转发到与所请求的服务相关的代理(例如,代理142U44和146)。作为 一个示例性操作,客户节点102可以请求服务并且代理112可以将请求路由到正确的位置。 代理发现并且监控服务。代理还可以认证服务提供商和客户节点,这样使得不想要的用户 或服务不能进入服务路由数据和程序。代理可以将响应转发回其他代理和客户节点。代理 可以有状态地检测数据包并且插入或移除报头。
[0043] 在一些实施例中,代理可以在两个模式中的一个下工作:透明模式和聚合模式。在 透明模式下工作的代理不能聚合服务;其透明地转发消息。在聚合模式下工作的代理聚合 服务并且将其作为聚合体发布。在聚合模式下,单个代理可以向其用户发布各种各样的服 务,然而这些服务又由其他代理管理。
[0044] 代理通常位于相关节点(例如,相关服务节点或客户节点)的前提处。处理相关节 点的请求的代理可以位于包括相关节点并且执行外出控制的功能的网络的边缘处。在一些 实施例中,代理可以位于服务提供商的网络内,即使该网络与请求服务的节点相关。例如, 与软件即服务(software-as-a-service,SaaS)节点相关的代理可以发送对基础设施即服 务(infrastructure-as-a_service,IaaS)服务的查询,并且SaaS和IaaS都可以在特定服 务提供商的网络中实施。在此情况下,与SaaS节点相关的代理将位于提供商的网络中。
[0045] 代理142U44和146中的一个或多个可以定义成迎合特定客户、服务类型(例如, 计算服务或存储服务)或位置。例如,代理146可以设置成服务来自客户节点102和104 的请求,因为它们已经保证了某个水平的服务。代理142U44和146中的一个或多个可以 在指定的地理区域编排服务。
[0046] 代理142、144和146中的一个或多个可以跨多个资源或资源域控制服务管理。例 如,代理142可以管理服务,诸如计算、存储、网络和安全服务。代理142U44和146中的一 个或多个可以基于单个请求来例示多个服务实例,并且可以用来设置关于单个请求的完整 的虚拟数据中心。误差或故障情景可以由代理142、144和146中的一个或多个处理;例如, 可以触发回滚动作。与服务节点相关的代理可以发现服务,允许服务注册,并且将服务的聚 合发布给上游定位代理(例如,定位代理118)。此代理也负责对服务使用进行记账。代理 可以使用计时器并检测请求上的超时。这些计时器可以用来预期在指定时段内对请求的响 应。当计时器到期时,恢复动作应是可能的。这也可以用于网络故障的情况下,并且可以自 动地撤销正在进行的事务。通过使用计时器和自动撤销,故障可能不会导致资源泄漏、错误 的记账或其他问题。
[0047] 代理142U44和146中的一个或多个可以变成用于在其自己控制域之外的复杂服 务的锚点。例如,代理142可以创建虚拟机池,并且可以耗尽资源并且将请求定向至定位代 理118以找到另一个位置(例如,与代理144相关的服务节点134)中的额外资源。代理可 以配置成排序和并行化单个情境内的消息。排序和并行化将取决于特定种类的服务的具体 需要。例如,可以并行地提供计算和网络服务,而跨地理区域的工作负载移动必须顺序地发 生。因此,对这些请求的响应也可以以顺序或并行方式接收。当以并行或顺序方式管理请 求时,应可能将这些操作作为整体执行。如果在任一个事务中遇到错误,则应可能将整个服 务情境作为整体取消。
[0048] 在一些实施例中,工作流节点122、124、126、128、152、154、156是服务相关网络元 件(即,由工作流节点执行的功能取决于特定服务的细节)。这包括服务认证、用于那些服 务的服务水平协议(SLA)、位置偏好、计费策略、用于满足请求的过程以及其他适合的功能。 这些策略可用作可由工作流节点应用到所接收的请求的句法和语义认证程序。如果认证失 败,则可以拒绝请求。为了应用客户专用规则,工作流节点可以知道用户(例如,在顾客节 点102、104和106)和其位置。为了应用服务专用规则,工作流节点可以知道服务可用性和 位置。工作流节点可以使用一个或多个计算系统来实施。在这些计算系统中的一个或多个 上运行的软件可以执行本文描述或说明的一个或多个方法中的一个或多个步骤或者提供 本文描述或说明的功能性。这些计算系统可以是任何适合的物理形式。作为实例而并非为 了限制,计算系统可以是虚拟机(VM)、嵌入式计算机系统、片上系统(S0C)、单片计算机系 统(SBC)(例如,模块化计算机(COM)或模块化系统(S0M))、台式计算机系统、膝上型或笔记 本计算机系统、交互式自助服务机、大型机、计算机系统的网格、服务器、应用服务器、路由 器、交换机或这些中的两个或更多个的组合。在适当的情况下,计算系统可以:是单一的或 分布式的;跨多个位置;跨多个机器;或者驻留在计算云(例如,计算系统的联网集,其可以 包括在一个或多个网络中的一个或多个云组件)中。在适当的情况下,一个或多个计算系 统可以执行(基本上没有空间或时间限制)本文描述或说明的一个或多个方法中的一个或 多个步骤。作为实例而并非为了限制,一个或多个计算系统可以实时或以批量模式执行本 文描述或说明的一个或多个方法中的一个或多个步骤。在适当的情况下,一个或多个计算 系统可以在不同的时间或在不同的位置执行本文描述或说明的一个或多个方法中的一个 或多个步骤。
[0049] 存储在工作流节点的存储器中的信息可以使用用于存储和检索信息的任何适合 的结构来实施。数据库、文件系统、表格、列表或这些结构的适合的组合是可以如何存储这 些信息的实例。可以使用计算机可读永久存储介质,诸如:基于半导体的或其他集成电路 (1C)(例如,场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘(HDD)、混合硬盘(HHD)、光盘、 光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、全息存储介质、固 态驱动器(SSD)、RAM驱动器、安全数字卡、安全数字驱动器、另一个适合的介质或这些的适 合的组合(在适当的情况下)。计算机可读永久存储介质可以是易失性、非易失性或易失性 与非易失性的组合(在适当的情况下)。
[0050] 工作流节点可以周期性地或者在信息改变的时候从相关代理接收此信息。例如, 工作流节点可以通过相关的代理来预订更新(例如,工作流节点122可以从代理112预订 更新)。在一些实施例中,工作流节点可以包括设备和服务专用配置。这些配置可以被映射 到由元属性标识的设备和服务能力。虽然元属性描述高级能力,但是存储在工作流节点中 的配置将涉及详细配置。这些可以包括命令行接口命令、文本或XML配置或者甚至二进制 格式化专用配置。工作流节点可以使用元属性来构造用于特定资源(或设备)的配置。工 作流节点还可以针对唯一标识符存储此配置以便稍后用于查询离开工作流节点的配置。
[0051] 工作流节点包括工作流定义连同验证或修改服务请求中的工作流的策略。作为实 例,服务、用户和策略信息可以编码在如可扩展标记语言(XML)的抽象语言中。在此实例 中,工作流可以是XML文件。工作流可以包括任务并且可以代表必须以其执行任务的次序。 工作流中的任务可以包括为该任务需要进行的动作的定义。任务可以是代理可以执行的操 作。为了执行任务,代理可以发送或接收适当的消息。工作流可以由工作流名称参考。客 户节点(例如,客户节点102)可以通过调用工作流名称来请求服务包。工作流可以存储在 工作流节点(例如,工作流节点122和152)中。工作流节点可以位于网络中的各个点(如 图1中所示)。工作流节点可以配置成将工作流名称与工作流相关(例如,包括任务的XML 文件)。工作流节点可以通过验证针对存储在该工作流节点中的服务专用句法和语义验证 程序的工作流请求来执行服务专用验证。在描述句法和语义的语言被标准化的实例中,工 作流节点(例如,工作流节点152)可以在不需要升级代理(例如,代理142)来支持新服务 的情况下,仅通过配置支持多个新服务组合。
[0052] 当使用工作流和任务的XML定义时,可以通过例如使用XML模式定义(XSD)来验 证句法并使用对象约束语言(0CL)来验证工作流请求的语义来定义验证规则。当工作流请 求到达时,所请求的工作流可以针对已经以XML或其他抽象语言定义的相关方案验证。如 果根据已经在工作流节点中定义的句法和语义规则请求未能验证,则可以拒绝该请求。规 则还可以指定在将所有或选定请求下游转发(例如,从工作流节点152到服务节点132)之 前如何对其修改。所有句法和语义规则的集合构成策略框架。策略框架可以集中在提供商 处、客户处或者分布在提供商与客户之间。因此,可以多次修改和/或验证请求。
[0053] 策略可以与用户(例如,客户节点102的用户)相关,这样使得用户可以修改关于 服务的个性化策略。策略可以与服务(例如,由服务节点132提供的服务)相关,并且服务 供应商可以提供用于控制每个服务的策略的可配置系统,该服务提供商可以定制服务以适 合其部署需要。策略可以与代理(例如代理142)相关,其可以由服务提供商、客户或由服 务提供商与客户共同地定义。当策略与代理相关时,客户端和服务器可以不知道策略。管 理策略规则的复杂度可以通过集中智能以定义策略并将其应用在代理中来减少。为了应用 这些策略,在客户端请求到达服务节点之前根据策略拦截、变换并且路由这些请求。诸如客 户节点102和服务节点132的节点可以不知道此行为。用于控制服务请求的规则可以通过 配置来定义。代理(例如,代理112或142)可以下载用于服务的策略规则并且按需执行那 些规则。
[0054] 在一些实施例中,控制和策略平面的分开允许将相同的控制平面重新用于各种策 略。现在可以通过配置而非在代理中编程来定义策略。可以使用公共控制平面来管理所有 这些服务。通过此分开,代理(例如,代理142和112)可以是可编程的,并且其可以不包括 硬编码的服务逻辑。相反,代理可以通过由用户或服务提供商以适合的方式(例如,使用用 户友好语言)定义的策略来"编程"。这可以便于现有服务的服务创建和定制,同时减少整 体管理复杂度。
[0055] 可以应用于系统100中的策略的一个实例是路由策略。服务可以从多个源(例如, 服务节点132和1344)提供,并且将请求路由到正确的目的地,可以应用各种类型的路由策 略。例如,可以将服务请求路由到地理上最近的提供商。或者,其可能被路由到提供最便宜 的服务率的位置,或者基于当日时间提供到到不同的位置。可以存在基于SLA的路由规则。 每个用户的请求可以基于其作用来不同地路由。可能存在一种类型的服务专用的规则,或 者可以通过具有必需容量的位置来确定路由。可以通过法律或政府规程来确定路由。这些 规则可以动态地改变,或者不同的规则可以应用于不同类型的服务、用户、位置、作用或其 他适合的目标。服务提供商和客户可以独立地或共同地定义这些策略,并且在客户边缘、在 服务提供商边缘或二者处强制执行这些策略。
[0056] 可以应用于系统100中的策略的另一个实例是安全策略。在系统100中提供的服 务的情境中的安全可以涵盖跨认证、授权和记账(AAA)的广泛的问题。例如,客户(例如, 在客户节点102)可以基于内部用户数据库来认证其用户,而服务提供商(例如,在服务节 点132)可以负责服务请求的授权和记账。作为另一个实例,客户可以负责用户专用的授权 和认证,而服务提供商可以负责记账。当用户加入或离开客户时,服务提供商可能不拥有用 户专用认证和策略。AAA功能在服务提供商或客户边缘处最佳执行。可能不需要每个服务 进行AAA ;其是低效且复杂的。可以通过防止未授权请求进入网络来保护服务节点免受拒 绝服务攻击。服务可以仅作为包(bundle)(例如,网络、计算和存储设备可以形成单个服务 包)而非单个地记账。用于商业分析的请求日志记录可以在网络水平进行而非在个人服务 中进行。服务提供商还可能希望隐藏服务的网络拓扑,并且可以从用户可见性提取所有服 务。例如,服务提供商可以发布一个接口来访问服务,然而这些服务由服务专用代理管理。 这些代理可以位于不同的位置处。
[0057] 可以应用于系统100中的策略的另一个实例是服务策略。复杂服务可以使用多个 资源的协调。虚拟机例如可以需要服务的网络附加存储、基于网络的安全和网络质量。在 没有组合所有服务的情况下,虚拟机服务可以被认为是不完整的。一些虚拟机可以使用网 络附加存储,而其他不可以。一些虚拟机可能需要卸载拒绝服务攻击,而其他可以使用数据 的加密。一些服务可以使用可获得的特定量的网络带宽。与服务相关的策略可以从客户端 和服务提供商提取。因此,当客户端请求虚拟机,则可以在请求到达服务提供商之前修改请 求以包括服务请求的存储、安全和质量。同样,例如,如果用户未被授权请求高端服务,则其 请求可能被自动降级到适当的服务等级。这是服务提供商和/或顾客可以定义的策略的功 能。这意味着对虚拟机的请求可能对不同类别的用户进行不同的事情。在使用相同请求的 同时,可以在服务水平上对用户升级或降级。这意味着请求的句法和语义不预先固定。相 反,其是基于情境确定,并且可以使用不同的因素来修改传输中的这些请求。可以从终端用 户的观点以及服务提供商的观点来限制请求的句法和语义。因此,服务节点可以支持请求 参数的超集,以允许任何用户以不同方式访问服务。客户端可以基于先前客户或服务提供 商定义的策略或SLA来请求那些参数的子集。以用户专用方式的请求参数的验证和微调应 由传输中的策略控制。实际上,客户端做出的请求和服务节点接收的请求可以基于在中间 修改请求的策略而非常不同。
[0058] 与接收对来自客户节点的服务的请求的代理相关的工作流节点可以用来在允许 转发请求之前验证该请求。例如,工作流节点122可以在转发来自客户节点102的请求之 前针对为给定用户规定的策略来验证该请求。工作流节点可以由服务提供商用来在将提供 商对提供商请求发送到另一个服务提供商之前验证所述请求。验证可以单方面地或基于协 议或定义的SLA来定义。
[0059] 在一些实施例中,工作流节点可以在执行之前自动地修剪或扩展所请求的工作 流。例如,为了虚拟机创建工作流,工作流节点可以添加用于存储、访问控制、服务质量规定 和负载平衡的任务,即使这些任务不在原始请求中。用来管理工作流的修剪或扩展的策略 可以由用户、服务提供商或如SLA的双方约定地定义。一旦定义了工作流,则相关代理或服 务节点可以从工作流节点下载工作流和任务定义。在故障或服务终止的情况下,工作流节 点将通过以正确的次序翻转单个任务来确定动作撤销。
[0060] 在一些实施例中,为了添加新服务,可能不需要新的API组合。相反,可以创建新 的XML文件来验证服务请求的句法和语义。因此,可以仅通过配置来添加新服务。通过定义 和验证工作流的能力,用户(例如,在客户节点102)或服务提供商(例如,在服务节点132) 可以按需创建服务包。工作流节点存储所有用户或服务提供商定义的工作流(其由工作流 名称参考)。
[0061] 代理和工作流节点可以被指定用于特定客户、服务提供商和服务类型。代理和工 作流节点中的一个或二者可以部署在一个或多个网络中的多个点处,包括但不限于:(a) 客户或服务提供商出口; (b)客户或服务提供商入口;以及(c)客户或服务提供商内联网。 代理与工作流节点之间的交互可以是任意对任意(例如,一个代理可以与用于多个服务类 型的多个工作流节点交互,并且一个工作流节点可以将一种类型的服务相关规则用于支持 相同服务的多个代理)。图1示出了代理与工作流节点之间的任意对任意关系的多个实例。 代理可以连接到多个工作流节点(例如,代理142联接到工作流节点152和154)。工作流 节点可以连接到多个代理(例如,工作流节点154联接到代理142和144)。如图1中所示 的代理和工作流节点的分布促进负载平衡。工作流节点向代理广告它们支持的工作流。工 作流节点还广告它们可以支持的服务域和用户的分类。代理可以使用此信息来将适当的服 务请求转发到适当的工作流节点。代理可以向其他代理广告其从相关工作流节点接收的工 作流。这样,代理能够知道如何到达能够执行所请求的工作流的特定代理,并且能够向其路 由请求。
[0062] 在一些实施例中,定位代理118聚合服务信息并且发布聚合的信息。定位代理118 可以用来将服务拓扑隐藏在服务提供商内。例如,支持多个服务(例如,由数据中心192中 的服务节点136和138提供的服务)的服务提供商可以仅发布其定位代理地址并且将请求 内部地路由到动态地或策略选择的代理。定位代理118还可以用来通过将服务请求路由到 最佳满足请求的地方来实施服务的高可用性。定位代理118可以有状态地检测接收到的请 求并且在进一步转发请求之前认证发送者。其可以速率限制来自特定源的请求,并且可能 能够入侵检测和防止,以用于保护内部网络免受拒绝服务(DoS和DDoS)攻击。定位代理 118后面的节点(例如,代理142和144)随后可以假定进入其中的数据包是安全的。在一 些实施例中,这可以避免对认证用户请求和建立安全防御的服务的需要。
[0063] 在一些实施例中,定位工作流节点128可以具有基于策略转发请求的规则。例如, 定位工作流节点128可以确定来自客户节点102的服务请求必须始终定向到明确位置(例 如,数据中心190)。定位工作流节点128可以选择最近的服务创建位置,或者路由到具有可 用资源的位置。
[0064] 在一些实施例中,定位代理118可以提供如同网络边界处的节点的一个或多个功 能。例如,定位代理118可以被认为相对于客户节点102U04和106中的一个或多个在数 据中心190的边界处。如另一个实例,定位代理118可以被认为相对于数据中心192中的 节点在数据中心190的边界处。可以由定位代理118执行的功能是请求数据包(例如,从 客户节点102发送到服务节点132的请求数据包)的报头的检测。检测可以包括确定请求 数据包是否被无意地发送或路由或者确定请求是否恶意的。代理118还可以配置成拒绝请 求数据包或清理(sanitize)请求数据包的报头。
[0065] 如另一个实例,定位代理118可以基于网络边缘处的策略来将报头插入到消息 中。例如,数据中心190可以具有应用于所有进入数据包的策略并且定位代理118可以根 据与数据中心190相关的一个或多个策略修改发送到数据中心190中的节点的数据包的报 头。这可以允许方便的方法在一个点处应用策略,而无需用户或网络的节点(例如,数据 中心190中的那些或客户节点102U04和106)熟悉这些策略。节点可以接收由定位代理 118(例如,服务节点132)修改的数据包。修改的消息可能看起来像用户请求的事务。
[0066] 如另一个实例,定位代理118可以修改地址。在一些实施例中,定位代理118可以 执行与基于网络的服务的管理有关的消息的网络地址转换(诸如,上述代理142U44和146 的功能)。这可以用来隐藏与代理142、144和146以及工作流服务器152、154和156有关 的网络拓扑。
[0067] 如另一个实例,定位代理118可以检测和处理来自相同源的并发请求(例如,从服 务节点134发送服务的并行请求的客户节点104)。这可能是有问题的,因为资源可以并行 地分配和释放,并且可以导致系统中的混乱,由此引起一个或多个安全威胁。定位代理118 可以配置成禁止并行请求并由此保护系统。
[0068] 如另一个实例,定位代理118可以速率限制来自单个源的请求(例如,将服务的请 求发送到服务节点134的客户节点106)。这可以允许用户(例如,与客户节点102U04和 106相关的那些)具有服务的公平共享(例如,服务节点132、134、136和138所提供的那 些)。单个用户可以通过使用自动机制发送例如周期性的分析请求来潜在地使系统过载。 速率限制可以减少或防止过度使用。
[0069] 如另一个实例,定位代理118可以涉及虚拟私人网络(VPN)或因特网协议安全 (IPSec)会话。定位代理118可以使用密钥链执行公共密钥认证以验证用户(例如,与客户 节点102相关)应访问服务(例如,由服务节点132提供)。定位代理118可以确定用户是 否被授权接收所请求的服务。
[0070] 如另一个实例,定位代理118可以在不同的服务请求格式之间转换。例如,定位代 理118可以在外部暴露的API (例如,由服务节点132)与内部协议之间转换以管理基于网 络的服务。
[0071] 在一些实施例中,系统100描述使用来自使用公共协议(例如,通过代理112、142 和146之间的通信)的不同云提供商(例如,由服务节点132和136提供)的云服务的用 户(例如,在客户节点102)。这可以允许用户跨服务提供商或源移动来自不同提供商的不 同地理区域中的相同服务。
[0072] 在一些实施例中,系统100描绘与服务提供商域(例如,与服务节点138相关的 域)中的那些互操作内部或私有云(例如,客户节点102是其一部分)的用户(例如,在客 户节点102)。如一个实例,可以使用代理112与146之间的通信将工作负载在和客户节点 102相关的私有云与和服务节点138相关的公共云之间移动。如另一个实例,可以通过代理 112和146如同与客户节点102相关的私有云中一样使用与服务节点138相关的公共云中 的公共协议来创建虚拟服务。
[0073] 在一些实施例中,系统100描绘使用代理(例如,代理142U18和146)与另一个 服务提供商(例如,与服务节点136相关)互操作其服务的服务提供商(例如,与服务节点 132相关)。如一个实例,在需要增长时,服务提供商可以是彼此的服务源。如另一个实例, 一个服务提供商可以使用其他服务提供商的服务作为备份或用于断电情况下的灾难恢复。 服务提供商可以商定在彼此的云中存放服务,其中工作负载在位于不同地理区域的服务提 供商之间移动。如另一个实例,服务提供商可以通过使用由诸如代理142U44和146的代 理提供的互操作性来跨不同服务提供商获得服务。
[0074] 在一些实施例中,系统100描绘云提供商如何可以传递层叠于彼此之上的许多种 类的服务。例如,SaaS服务可以使用平台即服务(PaaS)服务。PaaS服务(例如,由服务节 点132和134代表)可以使用IaaS服务(例如,由服务节点136和138代表)、网络和安全 服务或其他适合的服务。云提供商可以增量地建立服务并且跨层级互操作服务。这可以避 免例如必须为每个新PaaS服务建立新IaaS系统或者为每个SaaS服务建立新PaaS服务。 互操作性可以使用使用与服务管理有关的公共协议彼此通信的代理(诸如代理142和144) 来提供。
[0075] 在一些实施例中,系统100描绘云提供商如何可以从多于一个供应商获得服务。 这些服务的实例包括计算虚拟化、存储、网络和安全。例如,客户节点104可以从服务节点 132寻找服务,诸如SaaS服务。在此实例中,服务节点132可以从服务节点136 (例如,提供 存储服务)和138 (例如,提供安全服务)获得与所提供的SaaS服务相关的服务。在此实 例中可以使用代理114、142和146来允许从多个位置获得服务而不需要使得客户节点104 知道如何获得服务。这种互操作性可以通过使用与服务管理有关的公共协议彼此通信的代 理来提供。
[0076] 在一些实施例中,系统100可以允许客户定义不同的粒度水平的服务请求。例如, 客户可能需要单个请求来提供计算-存储-网络,并且另一个客户可能一个接一个地请求 这三个服务。这些不同的请求可以发生在系统100中的一个或多个点处。例如,服务提供 商(例如,与服务节点132相关)可以发布客户专用工作流(例如,使用代理142)并且在 云边缘处将其转换。如另一个实例,服务提供商可以发布被转换成详细任务以由另一个服 务提供商执行的工作流。如另一个实例,客户(例如,与客户节点106相关)可以定义在请 求离开客户前提(例如,在代理116)时被转换的工作流。
[0077] 图2示出了可以用于以上参照图1的系统100论述并且以下参照图3至12论述 的操作中的示例性数据包2〇〇。在一些实施例中,数据包200示出具有两个协议的协议方 案:服务编排协议(S0P)(包括在数据包200的部分210和220中)和服务描述框架(SDF) (包括在数据包200的部分230和240中)。S0P携带服务无关信息(例如,与如何实施在 部分230和240中提及的服务无关的信息),而SDF携带服务相关信息(例如,与如何实施 在部分230和240中提及的服务有关的信息)。SDF有效负载可以如数据包200指示附加 在S0F消息中。在一些实施例中,通过分开服务无关和服务相关片,在此描述的方案可以互 操作方式扩展到任何服务类型。S0P使用基于文本的报头。这可以促进S0P的实施以及扩 展S0P(例如,通过添加新文本报头)。这些消息可以在代理(诸如代理118和142)处检 测并且由其修改。可以例如类似于会话发起协议(SIP)中的认证程序进行认证。如其他实 例,可以使用IPSec、TLS或其他已经与HTTP -起使用的加密和私密机制实施认证。
[0078] 在一些实施例中,报头220包括具有名称和值的字段。字段的次序在S0P消息中未 指定,但是如果在消息顶部存在与服务路由有关的字段(To (至)、From(自)、Exchange (交 换)、Via(通过))以促进快速处理则可以是有帮助的。示例性消息名称报头:
[0079] CREATE 1 S0P/1.0
[0080] GET 1 S0P/1.0
[0081] 消息类型后面的数字指示消息是否作为相同的消息在相同的事务中重新传送。此 数字可以在重新传送消息的任何时候由发送者增加。接收者可以为重新传送的消息提供更 高优先权。
[0082] 以下是可以用于S0P中的消息:
[0083] -发现(DISCOVER)--由服务节点用来发现代理
[0084] --广告(ADVERTISE)--由代理用来广告其存在
[0085] --注册(REGISTER)--由服务节点用来通过代理注册自己
[0086] --发布(PUBLISH)--由服务节点用来指示其能力
[0087] --预订(SUBSCRIBE)--由工作流服务器/客户端用来预订服务信息
[0088] --创建(CREATE)--由代理用来请求服务创建
[0089] --删除(DELETE)--由代理用来请求服务删除
[0090] --更新(UPDATE)--由代理用来请求服务更新
[0091] --获取(GET)--由代理/服务节点用来获取服务/工作流细节
[0092] --转移(TRANSFER)--由代理用来请求服务移动性
[0093] --执行(COMMIT)--由代理用来执行服务改变
[0094] --取消(CANCEL)--由代理/客户端用来取消操作
[0095] --工作流(WORKFLOW)--由代理/客户端用来执行工作流
[0096] 代理可以广告其存在连同代理某些服务的能力。服务节点可以通过监听代理广告 来发现服务专用代理。服务节点还应能够触发服务发现,例如,因为当代理广告其存在时服 务节点可能已经停止服务。在S0P中可以使用两个消息(广告和发现消息)来支持代理发 现。代理发送广告消息来宣布其存在和处理一些服务的能力。如果广告消息尚未传送或者 如果其被传送但是服务节点尚未操作以将其接收,则服务节点可以使用发现消息来触发广 告消息。在一些实施例中,这两个消息可以是独立请求,并且并不像请求-响应一样相关。 代理可以周期性地发送广告消息以宣布其存在。在服务节点启动时并且如果尚未接收到广 告,服务节点可以发送发现消息。如果发现消息中的服务类型与代理所支持的服务类型相 匹配,则代理可以响应于接收发现消息来发送广告消息。可以广播发现消息。可以将广告 消息作为单播发送。响应于发现消息发送的广告消息可以作为单播消息发送(从接收到的 发现消息得到单播地址)。
[0097] 在从代理接收广告消息之后,并且如果服务兴趣匹配,则服务节点、工作流服务 器、用户或代理可以通过代理来注册。如果服务节点支持多个服务,则其可以通过支持那些 服务的那些代理来注册。如果客户端对由多个代理支持的服务感兴趣,则其可以通过它们 所有来注册。如果代理对与多个代理交换服务信息感兴趣,则其应通过它们来注册。注册向 注册代理标识服务节点、工作流服务器、用户或代理。接收注册的代理可以在注册期间开始 认证。代理可以与AAA服务器交互以认证和/或质疑注册标识。注册可以周期性地执行, 并且它们可以用作具有代理的保活机制。注册可以用来确定用户、代理、工作流服务器或服 务节点的位置,并且可以将基于位置的策略应用在服务管理中。
[0098] 在一些实施例中,可以由代理发送广告消息以广告其存在和代理某些类型的服务 的意愿。消息中的SDF有效负载(例如,包括在数据包200的属性230和服务描述符240 中)指示其可以支持哪些服务域。在以下的示例性消息中,代理支持服务的iaas.计算域。 消息可以携带注册超时报头。消息还可以携带其他计时器值和重试次数作为统一地全局配 置网络中的所有服务节点的方式。实例:

【权利要求】
1. 一种由至少一个处理器执行的方法,包括: 接收从第一客户发送的对由第一服务提供商提供的第一服务的第一请求,所述第一请 求是第一类型的; 响应于接收所述第一请求,从与所述第一服务提供商相关的第一策略确定第一组配置 参数;以及 响应于接收所述第一请求,使用所述第一组配置参数使得与所述第一服务提供商相关 的节点提供所述第一服务。
2. 如权利要求1所述的方法,进一步包括: 接收从所述第一客户发送的对第二服务提供商的第二服务的第二请求,所述第二请求 是所述第一类型的; 响应于接收所述第二请求,从与所述第二服务提供商相关的第二策略确定第二组配置 参数;以及 响应于接收所述第二请求,使用所述第二组配置参数使得与所述第二服务提供商相关 的节点提供所述第二服务。
3. 如权利要求1所述的方法,进一步包括: 发送多播广告,所述广告是所述第一类型的; 响应于接收所述广告,接收由所述第一服务提供商发送的所述第一类型的单播服务注 ΠΠ 册; 从第二服务提供商接收所述第一类型的多播发现请求;以及 响应于接收所述多播发现请求,将所述第一类型的单播广告发送到所述第二服务提供 商。
4. 如权利要求1所述的方法,其中,所述第一请求包括与所述第一服务相关的点分十 进制名称。
5. 如权利要求1所述的方法,进一步包括: 证明所述第一请求符合与所述第一类型相关的一组规则;以及 通过将所述第一请求与关于所述第一服务的信息相比较来验证所述第一请求。
6. 如权利要求1所述的方法,其中,所述第一请求包括: 第一部分,所述第一部分包括与如何实施所述第一服务无关的信息;以及 第二部分,所述第二部分包括与如何实施所述第一服务有关的信息。
7. 如权利要求6所述的方法,其中: 所述第一部分是纯文本格式;以及 所述第二部分是可扩展标记语言(XML)格式。
8. -种包括指令的永久计算机可读介质,所述指令在由至少一个处理器执行时被配置 成: 接收从第一客户发送的对由第一服务提供商提供的第一服务的第一请求,所述第一请 求是第一类型的; 响应于接收所述第一请求,从与所述第一服务提供商相关的第一策略确定第一组配置 参数;以及 响应于接收所述第一请求,使用所述第一组配置参数使得与所述第一服务提供商相关 的节点提供所述第一服务。
9. 如权利要求8所述的介质,其中,所述指令被进一步配置成: 接收从所述第一客户发送的对第二服务提供商的第二服务的第二请求,所述第二请求 是所述第一类型的; 响应于接收所述第二请求,从与所述第二服务提供商相关的第二策略确定第二组配置 参数;以及 响应于接收所述第二请求,使用所述第二组配置参数使得与所述第二服务提供商相关 的节点提供所述第二服务。
10. 如权利要求8所述的介质,其中,所述指令被进一步配置成: 发送多播广告,所述广告是所述第一类型的; 响应于接收所述广告,接收由所述第一服务提供商发送的所述第一类型的单播服务注 ΠΠ 册; 从第二服务提供商接收所述第一类型的多播发现请求;以及 响应于接收所述多播发现请求,将所述第一类型的单播广告发送到所述第二服务提供 商。
11. 如权利要求1所述的介质,其中,所述第一请求包括与所述第一服务相关的点分十 进制名称。
12. 如权利要求8所述的介质,其中,所述指令被进一步配置成: 证明所述第一请求符合与所述第一类型相关的一组规则;以及 通过将所述第一请求与关于所述第一服务的信息相比较来验证所述第一请求。
13. 如权利要求8所述的介质,其中,所述第一请求包括: 第一部分,所述第一部分包括与如何实施所述第一服务无关的信息;以及 第二部分,所述第二部分包括与如何实施所述第一服务有关的信息。
14. 如权利要求13所述的介质,其中: 所述第一部分是纯文本格式;以及 所述第二部分是可扩展标记语言(XML)格式。
15. -种系统,包括: 接口,配置成接收从第一客户发送的对由第一服务提供商提供的第一服务的第一请 求,所述第一请求是第一类型的;以及 至少一个处理器,配置成: 响应于接收所述第一请求,从与所述第一服务提供商相关的第一策略确定第一组配置 参数;以及 响应于接收所述第一请求,使用所述第一组配置参数使得与所述第一服务提供商相关 的节点提供所述第一服务。
16. 如权利要求15所述的系统,其中: 所述接口进一步配置成接收从所述第一客户发送的对第二服务提供商的第二服务的 第二请求,所述第二请求是所述第一类型的;以及 所述至少一个处理器被进一步配置成: 响应于接收所述第二请求,从与所述第二服务提供商相关的第二策略确定第二组配置 参数;以及 响应于接收所述第二请求,使用所述第二组配置参数使得与所述第二服务提供商相关 的节点提供所述第二服务。
17. 如权利要求15所述的系统,其中,所述接口被进一步配置成: 发送多播广告,所述广告是所述第一类型的; 响应于接收所述广告,接收由所述第一服务提供商发送的所述第一类型的单播服务注 ΠΠ 册; 从第二服务提供商接收所述第一类型的多播发现请求;以及 响应于接收所述多播发现请求,将所述第一类型的单播广告发送到所述第二服务提供 商。
18. 如权利要求15所述的系统,其中,所述第一请求包括与所述第一服务相关的点分 十进制名称。
19. 如权利要求15所述的系统,其中,所述至少一个处理器被进一步配置成: 证明所述第一请求符合与所述第一类型相关的一组规则;以及 通过将所述第一请求与关于所述第一服务的信息相比较来验证所述第一请求。
20. 如权利要求15所述的系统,其中,所述第一请求包括: 第一部分,所述第一部分包括与如何实施所述第一服务无关的信息;以及 第二部分,所述第二部分包括与如何实施所述第一服务有关的信息。
21. 如权利要求20所述的系统,其中: 所述第一部分是纯文本格式;以及 所述第二部分是可扩展标记语言(XML)格式。
【文档编号】H04L12/24GK104247333SQ201280070693
【公开日】2014年12月24日 申请日期:2012年12月21日 优先权日:2011年12月27日
【发明者】迈克·哈默, 阿希什·达勒拉, 莫妮可·莫罗, 彼得·汤姆苏 申请人:思科技术公司

最新回复(0)