CN104935454B - 用于管理网络中可用的服务的能力的方法和*** - Google Patents
用于管理网络中可用的服务的能力的方法和*** Download PDFInfo
- Publication number
- CN104935454B CN104935454B CN201510114112.4A CN201510114112A CN104935454B CN 104935454 B CN104935454 B CN 104935454B CN 201510114112 A CN201510114112 A CN 201510114112A CN 104935454 B CN104935454 B CN 104935454B
- Authority
- CN
- China
- Prior art keywords
- service
- node
- registration table
- service registration
- ability
- 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.)
- Active
Links
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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L41/5012—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请案涉及面向服务的架构中的能力监测。一种***包含:第一服务注册表,其包含在所述***的第一一或多个节点中可用的服务的第一列表;及第二服务注册表,其包含在所述***的第二一或多个节点中可用的服务的第二列表,其中所述第二服务注册表连接到所述第一服务注册表。所述***进一步包含服务管理器,所述服务管理器经配置以:管理所述***的能力,所述能力是通过一组一或多个服务而实现的;连接到所述第一服务注册表;从所述第一服务注册表接收指示所述第二服务注册表中所包含的服务的所述第二列表的改变的通知;及响应于接收到所述通知而起始对用于所述能力的新服务的部署或在所述***中定位所述新服务的经部署实例。
Description
技术领域
本发明大体来说涉及面向服务的架构***中的能力监测。
背景技术
装置网络可经由网络通信且可形成提供大量各种服务的***的部分。不同装置可在不同时间提供不同服务且***可需要保持追踪哪些服务在哪些装置处可用。
发明内容
根据一个方面,一种***包含:第一逻辑,其经配置以维持第一服务注册表,其中所述第一服务注册表包含在所述***的第一一或多个节点中可用的服务的第一列表;第二逻辑,其经配置以维持第二服务注册表,其中所述第二服务注册表包含在所述***的第二一或多个节点中可用的服务的第二列表,且其中所述第二服务注册表连接到所述第一服务注册表;及第三逻辑,其实施服务管理器,所述服务管理器经配置以:管理所述***的能力,其中所述能力是通过一组一或多个服务而实现的;连接到所述第一服务注册表;从所述第一服务注册表接收指示所述第二服务注册表中所包含的服务的所述第二列表的改变的通知;及响应于接收到所述通知而起始对用于所述能力的新服务的部署或在所述***中定位所述新服务的经部署实例。
此***的可能优点是可在具有大量装置及服务的动态面向服务的架构(SOA)***中高效地管理需要特定服务及/或特定服务特性的能力,从而产生减少处理时间的技术效果。举例来说,所述***能够自动地对改变(例如服务离线或以其它方式变得不可用或者将新服务添加到***)做出反应。此***的另一可能优点是,其是分散式且不具有单个故障点。相比上文所描述的优点,所述***可包含更少的优点、不同的优点或额外优点。
另外,所述通知可包含以下各项中的至少一者:已从所述第二服务注册表移除特定服务的指示;已将所述特定服务添加到所述第二服务注册表的指示;或与所述特定服务相关联的特性已改变的指示。接收经移除服务、经添加服务或服务特性的改变的通知可使得所述服务管理器能够对与能力相关联的服务的改变做出反应。
另外,所述服务管理器可进一步经配置以向所述第一服务注册表发送预订请求,其中所述预订请求包含将涉及所述组一或多个服务中的至少一个服务的改变告知所述服务管理器的指令;所述第一服务注册表可进一步经配置以记录所述预订请求及将所述预订请求转发到所述第二服务注册表;且所述第二服务注册表可进一步经配置以基于所述预订请求而发送所述通知。向所述第一服务注册表发送预订请求可使得所述服务管理器能够在不必监测服务的状态的情况下接收关于所述服务的更新。
另外,可响应于在所述***的第二一或多个节点中的至少一者中检测到的故障而发送所述通知。节点的故障可导致由所述节点托管的服务变得不可用,且响应于所述故障而发送通知可警示所述服务管理器:由所述节点托管的服务为不可用的。
另外,所述服务管理器可进一步经配置以:响应于接收到所述通知而确定无法完全实现所述能力;及响应于确定无法完全实现所述能力而向管理员发送警示。向管理员发送警示可使得所述管理员能够采取行动以使得所述服务管理器能够通过(举例来说)使托管所述能力所需的服务的储备节点上线来实现所述能力。
另外,所述服务管理器可进一步经配置以:定位在所述***中可用的所述新服务的所述经部署实例;及响应于在所述***中定位所述新服务的所述经部署实例而使所述所定位的经部署实例与所述能力相关联。定位经部署服务实例可使得所述服务管理器能够在不消耗额外***资源来实现所述服务的另一实例的情况下实现所述能力。
另外,所述服务管理器可进一步经配置以:确定在所述***中没有所述新服务的经部署实例可用;及响应于确定在所述***中没有所述新服务的经部署实例可用而起始对用于所述能力的所述新服务的部署。部署所述服务的实例可使得所述服务管理器能够在所述服务的经部署实例不可用时实现所述能力。
另外,所述服务管理器可进一步经配置以:从客户端接收对所述能力的请求;确定所述组一或多个服务中的借以实现所述能力的特定服务未被部署在所述***中;基于从所述第一服务注册表或所述第二服务注册表中的至少一者获得的信息而选择部署节点;及基于所述所接收请求而指示所述选定部署节点部署所述组一或多个服务中的所述特定服务。选择部署节点及指示所述部署节点部署所述服务可使得所述服务管理器能够确保用于所述能力的所需服务被部署在所述***中且为可用的。
另外,当起始对用于受管理能力的新服务的部署时,所述服务管理器可进一步经配置以确定所述第二服务注册表中所包含的服务的所述第二列表的改变对应于所述组一或多个服务中的至少一者未被部署;识别其中所述组一或多个服务中的所述至少一者可用的特定节点;及指示所识别节点在所述特定节点中部署所述组一或多个服务中的所述至少一者。选择部署节点及指示所述部署节点部署所述服务可使得所述服务管理器能够确保用于所述能力的所需服务被部署在所述***中且为可用的。
根据另一方面,一种由计算机装置执行的方法可包含:由所述计算机装置接收与实现***的能力相关联的服务的列表;由所述计算机装置向第一服务注册表发送对所述服务列表中的服务的预订请求;由所述计算机装置经由所述第一服务注册表从第二服务注册表接收与所述服务相关联的第一服务通知,其中所述第一服务通知包含所述服务可用于部署在与所述第二服务注册表相关联的第一节点处的指示或所述服务被部署于所述***中的指示;及由所述计算机装置响应于接收到所述第一服务通知而起始在所述第一节点处对所述服务的部署或在所述***中定位所述服务的经部署实例。
此方法的可能优点是可在具有大量装置及服务的动态SOA***中高效地管理需要特定服务及/或特定服务特性的能力,从而产生减少处理时间的技术效果。举例来说,所述方法能够自动地对改变(例如服务离线或以其它方式变得不可用或者将新服务添加到***)做出反应。此方法的另一可能优点是,其实现不具有单个故障点的分散式***。相比上文所描述的优点,所述方法可包含更少的优点、不同的优点或额外优点。
另外,所述第一服务通知可包含所述服务可用于部署在与所述第二服务注册表相关联的第一节点处的所述指示,且所述方法可进一步包含响应于接收到所述第一服务通知而起始在所述第一节点处对所述服务的所述部署。选择部署节点及指示所述部署节点部署所述服务可通过确保用于所述能力的所需服务被部署在所述***中且为可用的而有益于所述***。
另外,所述第一服务通知可包含所述服务被部署于所述***中的所述指示,且所述方法可进一步包含响应于接收到所述第一服务通知而在所述***中定位所述服务的所述经部署实例。定位经部署服务实例可通过在不消耗额外***资源来实现所述服务的另一实例的情况下实现所述能力而有益于所述***。
另外,所述方法可进一步包含:经由所述第一服务注册表从所述第二服务注册表接收与所述服务相关联的第二服务通知,其中所述第二服务通知包含所述服务在与所述第二服务注册表相关联的所述第一节点处不再可用的指示;识别所述服务可用于部署在其处的第二节点;及响应于识别出所述第二节点而起始在所述第二节点处对所述服务的部署。识别所述第二节点及起始在所述第二节点处对所述服务的部署可导致所述服务在所述服务停止在所述第一节点处可用之后继续为可用的,而不会打扰正使用所述服务的客户端。
另外,所述方法可进一步包含:经由所述第一服务注册表从所述第二服务注册表接收与所述服务相关联的第二服务通知,其中所述第二服务通知包含所述服务不再可用于部署在与所述第二服务注册表相关联的所述第一节点处的指示;确定所述服务不可用于部署在所述***中的任何其它节点处;及响应于确定所述服务不可用于部署在所述***中的任何其它节点处而向管理员发送警示。向管理员发送警示可使得所述管理员能够采取行动以使得***能够通过(举例来说)使托管所述能力所需的服务的储备节点上线来实现所述能力。
另外,所述方法可进一步包含:经由所述第一服务注册表从所述第二服务注册表接收与所述服务相关联的第二服务通知,其中所述第二服务通知包含与所述服务相关联的特性已改变的指示;确定所述服务不再满足与所述能力相关联的要求;响应于确定所述服务不再满足所述要求而结束在所述第一节点处对所述服务的部署;识别所述服务可用于部署在其处的第二节点;及响应于识别出所述第二节点而起始在所述第二节点处对所述服务的部署。识别所述第二节点及起始在所述第二节点处对所述服务的部署可导致所述服务在所述第一节点处的服务特性改变之后继续为可用的,而不会打扰正使用所述服务的客户端。
另外,与所述服务相关联的特性可包含以下各项中的至少一者:可用存储器容量;所述服务被部署在其处的第一节点的处理容量;所述第一节点的位置;所述第一节点的覆盖范围;与所述第一节点相关联的环境条件;或与所述第一节点相关联的信号质量量度。监测服务的这些特性的益处可使得能够实现具有规定这些特性中的一者的要求的能力。
另外,所述方法可进一步包含:从所述***中的请求节点接收对特定服务的请求;确定所述特定服务未被部署在所述***中;基于所述第一服务注册表或所述第二服务注册表中的至少一者而选择部署节点;及基于所述所接收请求而在所述选定部署节点中部署所述特定服务。选择部署节点及指示所述部署节点部署所述服务可通过确保用于所述能力的所需服务被部署在所述***中且为可用的而有益于所述***。
根据另一方面,一种由***中的计算机装置执行的方法可包含:由所述计算机装置维持第一服务注册表,其中所述第一注册表包含在所述***的第一一或多个节点中可用的服务的第一列表;由所述计算机装置从服务管理器接收预订请求,其中所述预订请求包含接收与特定服务的改变有关的通知的请求;由所述计算机装置将所述预订请求记录于所述第一服务注册表中;及由所述计算机装置向第二服务注册表发送所述预订请求,其中所述第二服务注册表包含在所述***的第二一或多个节点中可用的服务的第二列表,其中所述第二服务列表包含所述特定服务,且其中所述第二服务注册表连接到所述第一服务注册表。
此方法的可能优点是,其确保预订请求被分布到***中的所有服务注册表。使预订请求分布到***中的所有服务注册表可使得所述服务管理器能够对***中任何处的特定服务的改变做出反应。
另外,所述方法可包含:从所述第二服务注册表接收服务通知,其中所述服务通知包含与所述特定服务的改变有关的信息;及将所述服务通知转发到所述服务管理器。接收服务的改变的通知可使得所述服务管理器能够对与能力相关联的服务的改变做出反应。
另外,所述方法可包含:确定所述预订请求与所述第一服务列表中所列出的服务相关联;使所述服务与所述预订请求相关联;检测所述服务的改变;及基于使所述服务与所述预订请求相关联,响应于检测到所述服务的所述改变而向所述服务管理器发送通知。发送服务的改变的通知可使得所述服务管理器能够对与能力相关联的服务的改变做出反应。
附图说明
图1是图解说明根据下文所描述的一或多个实施例的示范性环境的框图;
图2是图解说明图1的装置的示范性组件的框图;
图3是图解说明图1的装置的示范性功能层的框图;
图4A是图解说明图3的服务层的示范性功能组件的框图;
图4B是图解说明图4A的服务注册表的功能性的框图;
图4C是图解说明图4A的服务注册表的示范性功能组件的框图;
图4D是可由图4A的服务注册表存储的特定服务的示范性特性表的框图;
图5A是图解说明图3的覆盖网络层的功能组件的框图;
图5B是示范性功能覆盖网络的树的框图;
图6是图解说明服务管理器的功能组件的框图;
图7A是图解说明可存储于图4A的服务注册表中的组件的框图;
图7B是图解说明可存储于图6的能力数据库中的组件的框图;
图8是根据本文中所描述的实施方案用于管理能力的第一过程的流程图;
图9是根据本文中所描述的实施方案用于管理能力的第二过程的流程图;
图10是根据本文中所描述的实施方案用于管理预订请求的过程的流程图;以及
图11图解说明其中实现能力的示范性覆盖网络。
具体实施方式
以下详细描述参考附图。不同图式中的相同参考编号识别相同或类似元件。
如上所提及,装置网络可经由网络通信且可形成提供大量各种服务的***的部分。不同装置可在不同时间提供不同服务且***可需要保持追踪哪些服务在哪些装置处可用。举例来说,当添加、移除或修改装置时,***的配置会改变。在具有大量装置的***中,这可导致需要频繁地进行重新配置,此会消耗***资源。因此,保持追踪不同装置处的可用服务可为需要解决方案的技术问题。
例如安全监测***等***可投入显著的时间及资源来维持及追踪***中的节点的能力(例如,摄像机装置、存储装置、服务器装置等)。下文所描述的实施例涉及面向服务的架构(SOA)网络中的能力监测。在基于SOA的***中,将功能性离散化成若干服务。一服务是自含式功能性凝聚单元。通过具有经定义消息格式的服务接口来执行与服务的通信。通信过程可独立于服务的实施方案。服务可提供最终用户功能性且服务接口可被设计成为商业人员可理解的。此外,每一服务独立于其它服务且服务的边界是明确的。因此,如果一个服务崩溃,那么其它服务可不受影响。因此,举例来说,每一服务可作为不同进程运行。
在一个实施例中,关于由***中的节点提供的服务的信息存储于服务注册表中。所述服务注册表存储每一服务的特性,例如服务识别符、与服务相关联的操作***、服务正在其上运行的节点的位置坐标、与服务相关联的处理容量、与服务相关联的带宽容量,及/或与服务相关联的其它类型的特性。并非***中的所有节点均可包含服务注册表。因此,一些服务注册表可存储在***中的其它节点处可用的服务。此外,***中的服务注册表可在拓扑上互连,且第二服务注册表可通过第一服务注册表访问。如果第一服务注册表接收到搜索查询且未识别出对所述搜索查询的匹配,那么第一服务注册表可将所述搜索查询转发到第二服务注册表。因此,对于提交定位服务的搜索查询的客户端来说,***中的各服务注册表可显现为单个分布式服务注册表。
所述***可提供一或多个能力。所述***的能力由管理员定义为服务以及所述服务的保证特性的列表。举例来说,用以将高清晰度(HD)视频从特定位置流式传输到WindowsOS服务器装置的能力可需要所述位置处的视频捕获服务、以足以用于流式传输HD视频的带宽容量及服务质量(QoS)特性从特定位置到运行Windows OS的计算机装置的流式传输服务及在运行Windows OS的服务器装置上可用的视频回放托管服务。为了解决监测***中的各种能力的技术问题,服务管理器可监测***中的装置的特性以确定在每一装置处何种类的服务为可用的。
在一个解决方案/实施例中,服务管理器连接到可为距所述服务管理器最近的服务注册表的服务注册表并预订与对与能力相关联的服务的改变有关的通知。举例来说,所述服务管理器可发出对所述能力中的每一服务的预订请求。最接近所述服务管理器的服务注册表可接收所述预订请求且可确定所述服务注册表中所列出的服务是否匹配所述预订请求。如果发现匹配,那么所述服务注册表将关于所识别服务的响应发送回到所述服务管理器。所述响应可包含与所述服务的特性有关的信息。不管是否发现匹配,所述服务注册表均可记录所述预订请求且可将所述预订请求转发到邻近服务注册表。如果在邻近服务注册表中发现匹配,那么邻近服务注册表可将响应发送回到所述第一服务注册表,所述第一服务注册表可将所述响应转发到所述服务管理器。所述邻近服务注册表也可记录所述预订请求并将所述预订请求转发到下一邻近服务注册表。因此,可将预订请求传播穿过***中的服务注册表网络,且***中的每一服务注册表均可最终存储所述预订请求。因此,如果服务注册表不包含关于匹配预订请求的规格的服务的信息且稍后添加了此服务,那么所述服务注册表将能够通知所述服务管理器。如果在搜索所有服务注册表之后未发现匹配,那么可将未发现匹配的指示发送回到所述服务管理器。
所述服务管理器可从所述服务注册表接收特定响应。作为一实例,所述服务管理器可接收所述服务被部署于***中某处的指示。所述服务管理器可识别***中正托管所述服务的节点且可使所识别节点与所述能力相关联。作为另一实例,所述服务管理器可接收所述服务可用于部署在***中的指示。作为响应,所述服务管理器可识别***中所述服务可用于部署在其处的节点且可起始在所识别节点处所述服务的部署。举例来说,所述服务管理器可指示所述节点处的部署服务部署与所述能力相关联的服务。作为又一实例,所述服务管理器可接收服务不可用于部署在***中的指示。作为响应,所述服务管理器可产生用以告知管理员无法实现所述能力的管理员警示。
所述服务管理器可继续接收对所述服务的预订通知。举例来说,所述服务注册表可确定所述服务已被移除、已经变得不可用,及/或可确定与所述服务相关联的特性已改变。作为响应,所述服务注册表可将预订通知发送到所述服务管理器且所述服务管理器可按照所接收预订通知起作用。举例来说,所述服务管理器可确定所述服务在先前所识别节点处不再可用或所述节点处的服务不再满足对能力的要求。作为响应,所述服务管理器可基于先前所接收预订通知而识别***中在其处所述服务可用的另一节点。
因此,所述服务管理器可提供在具有大量装置及服务的SOA***中高效地管理需要特定服务及/或特定服务特性的能力的技术效果。这可为SOA***提供能够自动地对改变(例如服务离线或以其它方式变得不可用或者将新服务添加到***)做出反应的优点。
图1是可在其中实施所描述的***及/或方法的示范性环境100的框图。如图1的实施例中所展示,环境100包含网络110、子网络120-A到120-N(统称为“子网络120”且个别地称为“子网络120”)、装置130-A-A到130-N-K(统称为“装置130”且个别地称为“装置130”)及管理装置150。装置130-N-K是指子网络120-N中的第K个装置130。在此实施例中,环境100中的组件形成面向服务的架构(SOA)***服务总线140。
网络110使得子网络120及/或装置130能够彼此通信。网络110可包含一或多个电路交换网络及/或包交换网络。举例来说,在一个实施例中,网络110可包含局域网(LAN)、广域网(WAN)、城域网(MAN)、公共交换电话网络(PSTN)、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型网络的组合。
子网络120可包含LAN(例如,层2网络)及/或专用网络(例如,层3网络)。子网络120可互连一或多个装置130。举例来说,子网络120-A可互连装置130-A-A到130-A-J。举例来说,装置130可包含经配置以经由SOA***服务总线140通信的任何装置。
装置130可包含:服务器计算机装置,例如超文本预处理器(PHP)服务器装置、C程序服务器装置、Linux服务器装置、Windows服务器装置及/或另一类型的服务器装置;个人计算机装置,例如桌上型计算机、膝上型计算机、平板计算机、移动通信装置及/或运行Windows、Linux、Android、iOS及/或另一操作***的另一类型的个人计算机装置;监测装置,例如可见光摄像机、红外(IR)摄像机、热标志摄像机;麦克风;报警传感器,例如运动传感器、热传感器、压力传感器及/或另一类型的报警传感器;微控制器计算机装置;及/或另一类型的计算机装置。尽管将装置130展示为连接到子网络120,但特定装置130可直接连接到网络110。
在一个实施例中,在现有网络拓扑的顶部上于装置130之间实施SOA***服务总线140。SOA***服务总线140可使得不同类型的装置130及/或使用不同平台实施的装置130能够使用面向服务的架构进行通信。SOA***服务总线140可使得第一装置130能够向任何装置130(例如,本身或另一装置130)请求特定服务。因此,由第一装置130托管的客户端(例如,本身为“服务”或“客户端服务”)可请求由第二装置130托管的服务(例如,当所述服务在第一装置130中为不可用时)。请求另一服务(例如,在第二装置130中)的第一服务(例如,在第一装置130中)由于已起始请求而称为“客户端”或“客户端服务”。举例来说,第一服务还可向网络中的其它服务提供服务。
在一个实施例中,经由标准化服务接口来访问服务。每一类型的服务均可与特定服务接口(例如,不同服务接口)相关联。因此,请求服务的客户端可与服务接口通信,且所述客户端关于所述服务的实际实施方案可能是不可知的。换句话说,服务的实施方案使用由服务接口界定的协议彼此进行通信,使得每一实施方案不必与其它服务的实施方案有关。与特定服务接口相关联的运行服务实施方案可称为服务实例。包含服务主机(例如,托管服务的装置)的装置130可借助服务注册表(例如,服务列表或数据库)来保持追踪可用服务实例。SOA***服务总线140可使得装置130之间的通信能够通过搜索装置130中的服务主机的服务注册表而定位所请求服务。
管理装置150可使得管理员能够配置或以其它方式管理SOA***服务总线140。举例来说,管理装置150可包含便携式通信装置(例如,移动电话、智能电话、平板电话装置、全球定位***(GPS)装置及/或另一类型的无线装置);个人计算机或工作站;服务器装置;膝上型计算机、平板计算机或另一类型的便携式计算机;及/或具有通信能力的任何类型的装置。
如同网络110,子网络120可包含一或多个电路交换网络及/或包交换网络。举例来说,子网络120可包含LAN、WAN、MAN、PSTN、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型的网络的组合。
虽然图1展示环境100的示范性组件,但在其它实施方案中,环境100相比图1中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。另外或替代地,环境100中的任一装置(或任何装置群组)可执行描述为由环境100中的一或多个其它装置执行的功能。
图2是图解说明装置130的示范性组件的框图。如图2中所展示,装置130可包含总线210、处理器220、存储器230、输入装置240、输出装置250及通信接口260。
总线210可包含准许装置130的组件当中的通信的路径。处理器220可包含任何类型的单核心处理器、多核心处理器、微处理器、基于锁存器的处理器及/或解译并执行指令的处理逻辑(或处理器、微处理器及/或处理逻辑的族群)。在其它实施例中,处理器220可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)及/或另一类型的集成电路或处理逻辑。
存储器230可包含可存储供由处理器220执行的信息及/或指令的任何类型的易失性及/或动态存储装置,及/或可存储供由处理器220使用的信息的任何类型的非易失性存储装置。举例来说,存储器230可包含随机存取存储器(RAM)或另一类型的动态存储装置、只读存储器(ROM)装置或另一类型的静态存储装置、内容可寻址存储器(CAM)、磁性及/或光学记录存储器装置及其对应驱动器(例如,硬盘驱动器、光学驱动器等等)及/或可装卸形式的存储器,例如快闪存储器。
输入装置240可允许操作者将信息输入到装置130中。举例来说,输入装置240可包含键盘、鼠标、笔、麦克风、遥控器、音频捕获装置、图像及/或视频捕获装置、触摸屏显示器及/或另一类型的输入装置。在一个实施例中,装置130可经远程地管理且可不包含输入装置240。换句话说,装置130可为“无头的”,且举例来说,可不包含键盘。
输出装置250可将信息输出给装置130的操作者。输出装置250可包含显示器、打印机、扬声器及/或另一类型的输出装置。举例来说,装置130可包含显示器,其可包含用于将内容显示给客户的液晶显示器(LCD)。在一个实施例中,装置130可经远程地管理且可不包含输出装置250。换句话说,装置130可为“无头的”,且举例来说,可不包含显示器。
通信接口260可包含使得装置130能够与其它装置及/或***通信的收发器(例如,发射器及/或接收器)。通信接口260可经由无线通信(例如,射频、红外及/或视觉光学器件等等)、有线通信(例如,导电线、双绞线电缆、同轴电缆、传输线、光纤电缆及/或波导等等)或无线与有线通信的组合进行通信。网络接口260可包含将基带信号转换为射频(RF)信号的发射器及/或将RF信号转换为基带信号的接收器。网络接口260可耦合到用于发射及接收信号的天线。
网络接口260可包含逻辑组件,所述逻辑组件包含输入及/或输出端口、输入及/或输出***及/或促进将数据发射到其它装置的其它输入及输出组件。举例来说,网络接口260可包含用于有线通信的网络接口卡(例如,以太网卡)及/或用于无线通信的无线网络接口(例如,WiFi)卡。网络接口260还可包含用于经由电缆通信的通用串行总线(USB)端口、BluetoothTM无线接口、射频识别(RFID)接口、近场通信(NFC)无线接口及/或将数据从一种形式转换为另一形式的任何其它类型的接口。
如下文所描述,装置130可执行与通过服务管理器管理各能力及/或管理对特定服务的预订有关的某些操作。装置130可响应于处理器220执行计算机可读媒体(例如存储器230)中所含有的软件指令而执行这些操作。计算机可读媒体包含非暂时性存储器装置。存储器装置可实施于单个物理存储器装置内或跨越多个物理存储器装置散布。可将软件指令从另一计算机可读媒体或从另一装置读取到存储器230中。存储器230中所含有的软件指令可致使处理器220执行本文中所描述的过程。或者,可代替或结合软件指令来使用硬连线(例如,固定)电路以实施本文中所描述的过程。因此,本文中所描述的实施方案并不限于硬件电路及软件的任何特定组合。
虽然图2展示装置130的示范性组件,但在其它实施方案中,装置130相比图2中所描绘的组件可包含更少的组件、不同的组件、额外组件或不同布置的组件。另外或替代地,装置130的一或多个组件可执行描述为由装置130的一或多个其它组件执行的一或多个任务。管理装置150可类似地被配置为装置130。
图3是图解说明装置130的示范性通信层的框图。装置130的功能组件可(举例来说)由执行来自存储器230的指令的处理器220实施。另外或替代地,装置130的功能组件可经由一或多个ASIC的硬连线(例如,固定)电路来实施。如图3中所展示,装置130可包含服务层310、覆盖网络层320及装置层330。
在一个实施例中,服务层310使得客户端能够搜索特定服务类型的服务实例且使得客户端能够将请求发送到特定服务实例。可经由在一个实施例中对服务的实际实施方案不可知的标准化服务接口来访问所述服务。服务实例可与明确边界相关联。在此实施例中,在装置130上运行的特定过程及/或存储于装置130上的特定数据无歧义地驻存在服务实例内或服务实例外部。一服务实例相对于其它服务实例可为自主的。举例来说,可修改特定服务实例(例如,可重写代码),而不会负面地影响与所述特定服务实例交互的其它服务实例。一服务可能与(相同类型或不同类型的)其它服务实例共享模式及/或合约,但在一个实施例中,不共享服务实施方案。模式规定由服务接口发送或接收的消息的格式及内容。合约规定由服务接口发送或接收的容许消息序列。
可将一或多个服务共同地部署为一捆绑件。捆绑件可对应于充当***中的部署单元的服务。***中能够部署特定捆绑件、对应于一或多个服务的群组的节点充当捆绑件主机。捆绑件存储库服务可将捆绑件集合存储于***中。因此,当服务管理器选择部署服务时,所述服务管理器可需要定位能够部署与所述服务相关联的捆绑件的捆绑件主机。所述服务管理器可联系服务注册表以定位捆绑件存储库服务。所述服务管理器可接着联系所述捆绑件存储库服务以识别捆绑件。所述服务管理器可选择捆绑件且可接着搜索服务注册表以识别可部署选定捆绑件的适合捆绑件主机。所述服务管理器可接着联系所述捆绑件主机且可指示捆绑件主机部署与所述服务相关联的捆绑件。
在一个实施例中,覆盖网络层320在现有网络拓扑的顶部上实施覆盖网络。覆盖网络层320可负责将业务路由穿过防火墙及/或处理基础网络拓扑中的网络地址转译(NAT)。在一个实施例中,覆盖网络拓扑(例如,其可不同于基础网络拓扑)包含以树状结构组织的节点。覆盖网络拓扑在逻辑上连接所述节点。在其它实施例中,覆盖网络拓扑可包含不同类型的结构(例如,网状拓扑)。装置130中的每一服务主机可对应于覆盖网络中的节点且可被指派节点识别符(ID)。如上所提及,装置130可包含多个服务主机及/或多个节点。可将装置130描述为包含对应于一个节点的一个主机。所述节点可经由网络拓扑(例如路由树)来连接,且节点可经由路由树将消息发送到另一节点。在一个实施例中,节点可经由基础网络拓扑将消息发送到另一节点,而所述消息并不遍历覆盖网络拓扑。每一节点可存储用以到达其在覆盖网络(以及例如网络110等基础网络)中的相邻者的信息(例如,基础网络的地址)。覆盖网络层320可对应于节点之间的通信层且可使用多个网络拓扑来实现特定功能。举例来说,当针对特定类型的服务搜索服务注册表时,覆盖网络层320可在于服务注册表中搜索的同时遍历节点树的边缘。在一个实施例中,当将消息从第一节点发送到第二节点时,覆盖网络层320可将消息从第一节点直接发送到第二节点,而非通过沿循树的边缘。覆盖网络层320可将节点ID提供到服务层310,且服务层310可将消息发送到特定节点ID,而不需要知晓基础网络拓扑。
在一个实施例中,装置层330在SOA***服务总线140的初始安装期间执行装置发现。装置层330及/或覆盖网络层320还可在初始安装之后执行节点发现,及/或可重新发现曾离线且在稍后时间重新加入覆盖网络的丢失节点。在一个实施例中,覆盖网络层320管理覆盖网络的共享秘密(例如证书),所述共享秘密使得节点能够验证彼此的身份。覆盖网络层320可基于一或多个接近度度量而形成覆盖网络的拓扑(例如,路由树或网格)。然而,从第一节点到第二节点的消息不需要遍历路由树且可代替地从第一节点被直接发送到第二节点。在另一实施例中,从第一节点到第二节点的消息遍历路由树。此外,覆盖网络层320可基于多播群组而发送多播消息。此外,覆盖网络层320可为服务层310提供服务质量(QoS)保证。
尽管网络层320通常涉及“节点”,但装置层330通常涉及“装置”。装置层330对应于装置130的下部功能性层级,包含使用基础网络拓扑(例如,网络110及/或子网络120)进行通信所需的功能性。举例来说,在一些实施方案中,装置层330可实施开放***互连(OSI)模型的层1到6(例如,物理层、数据链路层、网络层、输送层、会话层及呈现层)。这些层的实施方案可包含路由以太网帧、路由因特网协议(IP)包、会话管理、加密及解密包、重传丢失的包等等。
虽然图3展示装置130的示范性功能组件,但在其它实施方案中,装置130相比图3中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,装置130的组件中的任一者(或任何组件群组)可执行描述为由装置130的一或多个其它功能组件执行的功能。
图4A是图解说明服务层310的示范性功能组件的框图。如图4A中所展示,服务层310包含服务主机415。服务主机415可包含一或多个服务410-A到410-N(统称为“服务410”且个别地称为“服务410”)、一或多个客户端420-A到420-K(统称为“客户端420”且个别地称为“客户端420”)、消息调度程序430及服务注册表440。
服务410对应于与装置130的服务层310的服务主机415相关联的服务实例。在一个实施例中,服务410包含服务接口412及服务实施方案414。服务接口412可包含通信协议,例如标准化通信协议。在一个实施方案中,通信协议包含唯一名称及版本。可使用简单对象访问协议(SOAP)接口规范、JavaScript对象记法(JSON)接口规范及/或另一类型的接口规范来规定服务接口412。服务实施方案414包含服务410的实施方案。服务实施方案414处理经由服务接口412接收的请求及/或通过服务接口412对服务请求做出响应。服务接口412可将从服务实施方案414接收的响应转换成与客户端420用来与服务410交换消息的恰当协议兼容的特定格式。
在一个实施例中,客户端420通过将请求发送到服务注册表440来请求特定服务类型的服务实例。一旦识别并选择了服务实例,客户端420便可经由消息调度程序430将请求发送到所识别及选择的特定服务实例。如上文所论述,客户端420也可为服务410。术语“客户端”或“客户端服务”将服务识别为正请求另一服务的服务。
消息调度程序430从客户端420接收传入消息并将其引导到为传入消息的既定接收方的服务410。此外,消息调度程序430可从服务接收消息并将所述消息发送到特定客户端420。如果传入消息的目的地不在与消息调度程序430相同的装置130上,那么可将所述消息转发到覆盖网络层320以供转发到正确的装置130。服务410及客户端420可充当由覆盖网络层320实施的覆盖网络中的端点。因此,在一个实施例中,覆盖网络层320可维持基于覆盖网络的路由树的路由表。所述路由表可包含特定节点ID的下一些跳跃目的地的列表。消息调度程序430可识别传出ID的下一跳跃目的地且可将消息提供到覆盖网络层320以供递送。因此,在此实施例中,消息调度程序430实施请求-响应消息接发机制。
服务注册表440维持经部署服务410的列表连同与所述经部署服务(例如,服务的实例)相关联的特性。下文参考图4C更详细地描述服务注册表440的示范性组件。服务410可通过给服务注册表440提供所述服务的描述(例如,包含服务的特性)而在服务注册表440中注册。由于客户端420也可为服务410,因此客户端420也可在服务注册表440中注册。
图4B是图解说明服务注册表440的功能性的框图。如图4B中所展示,服务注册表440可从客户端420接收搜索查询。搜索查询可规定特定服务类型、特定服务类型的一或多个所请求特性、所请求命中数目及/或一或多个其它参数。服务注册表440可识别满足搜索查询的服务410。如果服务注册表440不满足所请求命中的数目,那么服务注册表440可将查询转发到覆盖网络中的另一服务注册表440(例如,邻近服务注册表440)。在一个实施例中,服务注册表440并不基于搜索查询而选择特定服务实例。而是,在此实施例中,服务注册表440将查询的结果返回到客户端420,且曾发起所述查询的客户端420可从搜索结果选择特定服务实例。在另一实施例中,服务注册表440基于搜索查询而从查询的结果选择特定服务实例。
虽然图4A及4B展示服务层310的示范性功能组件,但在其它实施方案中,服务层310相比图4A及4B中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,服务层310的组件中的任一者(或任何组件群组)可执行描述为由服务层310的一或多个其它功能组件执行的功能。
图4C是图解说明服务注册表440的示范性功能组件的框图。如图4C中所展示,服务注册表440可包含主机服务注册表数据库(DB)442、查询处置器444及服务注册表高速缓冲存储器446。
主机服务注册表DB 442可维持由服务主机415托管的服务410的列表及/或那些服务的特性。下文关于图4D来提供在主机服务注册表DB 442中列出的服务及所述服务的特性的实例。可通过在服务注册表440中注册的服务410来填充主机服务注册表DB 442。主机服务注册表DB 442还可公开用于添加或移除所列出服务及读取或写入由服务主机415托管的服务的特性及/或写入服务特性的接口。在一个实施例中,举例来说,主机服务注册表DB442可维持由不同装置130上的服务主机415托管的服务410的列表。不同装置上的服务主机415可使用所公开接口在另一装置上的服务注册表中列出其服务。此外,主机服务注册表DB442可公开可由其它服务注册表访问的搜索查询服务接口。因此,其它服务注册表可使用所述搜索查询服务接口来确定主机服务注册表DB 442是否包含满足特定查询的条目。在一个实施例中,在主机服务注册表DB 442中列出的服务可过期(例如,在一时间周期之后如果未被刷新则被从DB 442移除)以帮助防止DB 442存储过时的信息。
主机服务注册表442可从服务管理器接收预订请求,可存储预订请求,且可将预订请求转发到所有邻近服务注册表。主机服务注册表442可确定是否有服务匹配所述预订请求,且可在识别出匹配服务的情况下将预订通知发送回到曾发起所述预订请求的服务管理器。此外,主机服务注册表442可确定对所存储服务的更新是否与预订相关联。如果更新与预订相关联,那么主机服务注册表442可将预订通知发送到曾发起对相关联预订的预订请求的服务管理器(或另一类型的服务)。
查询处置器444可处置从客户端420接收的查询。在一个实施例中,假定一查询,查询处置器444首先搜索本地主机服务注册表DB 442、之后搜索服务注册表高速缓冲存储器446。举例来说,如果尚未满足所述查询,那么查询处置器444可发出对其它服务注册表的调用。服务注册表高速缓冲存储器446可存储来自远程服务注册表440的数据。每一服务主机415可维持本地服务注册表440,且在服务主机415中注册的服务410被注册于本地服务注册表440中。可将来自客户端420的不能被本地服务注册表440满足的查询发送到一或多个相邻服务主机415以查看相邻服务主机415是否具有包含满足所述查询的服务的服务注册表440。远程服务注册表440可将查询的结果返回到本地服务注册表440,且可将所述结果存储在服务注册表高速缓冲存储器446中。在一些实施方案中,父节点可高速缓存其子节点的数据,而子节点可不高速缓存其父节点的数据。在一个实施例中,在服务注册表高速缓冲存储器446中列出的服务可过期(例如,在一时间周期之后如果未被刷新则被从高速缓冲存储器446移除)以帮助防止高速缓冲存储器446存储过时的信息。
虽然图4C展示服务注册表440的示范性功能组件,但在其它实施方案中,服务注册表440相比图4C中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,服务注册表440的组件中的任一者(或任何组件群组)可执行描述为由服务注册表440的一或多个其它功能组件执行的功能。
图4D是可由服务注册表440存储的特定服务的示范性特性表460的框图。在一个实施例中,服务的实例(例如,每一实例)与一特性表(例如表460)相关联。主机服务注册表数据库DB 442可存储在对应服务注册表440中注册的每一服务的特性表。在一个实施例中,如上文所描述,存储于任一个服务注册表DB 442中的信息可不同于存储于其它服务注册表数据库中的信息。示范性特性表460包八个字段:ID字段462、接口字段464、服务格式字段468、输送协议字段470、CPU排名472、磁盘空间字段474及RAM字段476。
实例ID字段462唯一地界定特定服务的实例。实例ID(可能连同节点ID一起)可唯一地将服务实例与网络中的(相同类型或不同类型的)任何其它服务识别开。在一个实施例中,实例ID字段462为整数。在表460中,作为一实例,实例ID是6529。
接口字段464识别服务的接口的名称。在此情况中,接口字段464还可通过接口的类型来识别服务的类型。举例来说,表460将接口识别为“存储服务”。服务格式字段468识别由服务的实例使用的格式。作为一实例,表460将服务格式识别为“JSON”。输送协议字段470识别由服务的实例使用的协议。作为一实例,表460将服务格式识别为“节点协议”。
CPU排名字段472识别与服务实例相关联的CPU的性能。在一个实施例中,使用标度(例如,1到100)。表460在CPU排名字段742中将服务的CPU排名识别为20/100。RAM字段476识别可用于服务的随机存取存储器的量。表460在字段476中将可用RAM识别为2 GB。
虽然图4D展示特性表460的示范性组件,但在其它实施方案中,特性表460相比图4D中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
图5A是图解说明覆盖网络层320的功能组件的框图。如图5A中所展示,覆盖网络层320可包含节点管理器510、通信管理器520及多播管理器530。
节点管理器510可将例如节点ID等节点信息提供到覆盖网络中的其它节点。此外,节点管理器510可维持覆盖网络中的节点的列表。节点管理器510可执行节点发现以识别添加到覆盖网络的新节点及/或重新发现已重新加入覆盖网络的丢失节点。节点管理器510还可确定网络的拓扑,如下文所描述(例如,哪些节点最接近其它节点)。
通信管理器520可使得节点能够彼此通信。通信管理器520可实施用以遍历覆盖网络的树的机制。可结合服务注册表的搜索查询或在与另一节点的直接通信方法不可用时执行树遍历。此外,通信管理器520可实施可使得覆盖网络的特定节点能够直接通信而不必遍历覆盖网络的树的直接通信方法。
多播管理器530可实施多播机制。所述多播机制可用于将消息发送到多播群组的成员(例如,所有成员)。此外,多播机制可用于实施预订-通知消息接发型式。因此,与特定服务实例相关联的事件可用于触发发送到已向所述特定服务实例预订消息的节点的消息。多播管理器530可包含应用层多播管理器或来自下部OSI层的多播管理器。
虽然图5A展示覆盖网络层320的示范性功能组件,但在其它实施方案中,覆盖网络层320相比图5A中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,覆盖网络层320的组件中的任一者(或任何组件群组)可执行描述为由覆盖网络层320的一或多个其它功能组件执行的功能。
图5B是覆盖网络540的示范性拓扑的框图。如图5B的实例中所展示,覆盖网络540包含节点N1到N7。节点N1及N2处于多播群组560-1中。节点N1包含服务端点S1及S3以及客户端端点C1。节点N3是节点N1及N2的父节点。节点N3包含服务端点S7及客户端端点C3。
节点N6及N7处于多播群组560-2中且节点N7包含客户端端点C2以及服务端点S5及S6。节点N5是节点N6及N7的父节点且包含服务端点S9。节点N3及N5处于多播群组560-3中。节点N4是节点N3及N5的父节点且是覆盖网络540的根节点。此外,节点N4处于多播群组560-4中且包含服务端点S8。虽然网络540的拓扑中的父节点具有两个子节点,但在其它实施方案中,父节点可具有两个以上子节点。
假设每一服务端点与服务注册表440相关联,则搜索查询可如下遍历覆盖功能网络540。假设节点N3中的服务端点S7执行搜索查询以识别服务端点S1及服务端点S5中所包含的特定服务(即,对于此,S1及S5为匹配)。服务端点S7可将搜索查询发送到其本地服务注册表,这可导致搜索查询中的不匹配。本地服务注册表可接着识别覆盖网络中的邻近服务注册表,所述邻近服务注册表可包含节点N1中的服务注册表及节点N4中的服务注册表(节点N2可不包含服务注册表,因为不存在与节点N2相关联的服务端点)。节点N1中的服务注册表可返回识别服务端点S1的命中。节点N4中的服务注册表可不返回命中且可将搜索查询转发到其邻近服务注册表,在此情况中,所述邻近服务注册表包含节点N3及N5中的服务注册表。然而,由于节点N3中的服务注册表已处理所述搜索,因此可将搜索查询仅发送到中节点N5的服务注册表。节点N5处的服务注册表可未提供命中且可将搜索查询转发到节点N7处的服务注册表。节点N7可将服务端点S5识别为命中且可将搜索查询的结果返回到节点N4,且节点N4可将搜索结果转发到节点N3中的服务端点S7。
服务端点S7可接着选择与节点N1处的服务端点S1或节点N7处的服务端点S5通信。在一些实施方案中,服务端点S7可经由节点N4及N5向服务端点S5发送消息。在其它实施方案中,服务端点S7可通过与节点N7直接通信而向服务端点S5发送消息。
作为另一实例,服务端点S7可仅需要对搜索查询的第一匹配。节点可以将在沿着树进一步向下之处的节点优先化的优先级次序将搜索查询转发到其它节点。因此,节点N3将在将搜索查询转发到节点N4之前将搜索查询转发到节点N1及N2,因为节点N1及N2在沿着树进一步向下之处(即,为节点N3的子代),而节点N4在沿着树进一步向上之处(即,为节点N3的父代)。由于节点N1识别对搜索查询的匹配,且服务端点S7仅需要一个匹配,因此搜索可在搜索查询被发送到节点N4之前终止。
图6是图解说明服务管理器600的功能组件的框图。服务管理器600可经配置以管理一或多个能力。如图6中所展示,服务管理器600可包含预订产生器610、部署管理器620及警示产生器630且与能力数据库(DB)640相关联。
预订产生器610可产生对与能力相关联的服务的预订请求。此外,预订产生器610可从服务注册表440接收预订通知且可基于所接收预订通知而更新能力DB 640。部署管理器620可起始对一或多个服务的部署。举例来说,如果预订产生器610接收到指示与由服务管理器600管理的能力相关联的服务可用于部署在节点处的预订通知,那么部署管理器620可通过指示所述节点处的部署服务(例如,捆绑件主机)对所述服务进行部署而起始在所述节点处对所述服务的部署。
警示产生器630可为管理员产生警示。举例来说,如果预订产生器610接收到实现一能力所需的特定服务不可用于部署在***中的指示,那么警示产生器630可产生警示且可将所述警示发送到管理装置150。
能力DB 640可存储与由服务管理器600管理的能力有关的信息。下文参考图7B来描述可存储于能力DB 640中的示范性信息。
作为一实例,服务管理器600可对应于用于将视频文件或视频流从一种编码格式转换为另一编码格式的转码能力的服务管理器。转码能力可需要用于每一特定转换类型的转码服务(动画专家组4(MPEG-4)到高效视频译码(HVEC)转码服务、MPEG-4到MPEG-2转码服务等)。
作为另一实例,服务管理器600可对应于用于人员计数能力的服务管理器。人员计数能力可对在特定时间周期期间通过特定位置的人员的数目进行计数。人员计数能力可需要一组服务,其包含用于特定位置的视频流捕获服务、存储所捕获视频流的存储服务、处理所存储视频流以提取特征的特征检测服务、处理所提取特征以识别所存储视频流的图像中的人员的人员检测服务及产生用户接口以报告在所述时间周期期间处于特定位置的所计数人员的数目的人员计数报告服务。
作为又一实例,服务管理器600可对应于用于将来自特定位置的视频信号流式传输到特定操作***的存储位置的服务管理器。存储能力可需要用以捕获特定位置的视频的第一服务、用以将所捕获视频信号流式传输到存储装置的第二服务及用以将所捕获视频信号存储于使用特定操作***的装置中的第三服务。
虽然图6展示服务管理器600的示范性功能组件,但在其它实施方案中,服务管理器600相比图6中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,服务管理器600的组件中的任一者(或任何组件群组)可执行描述为由服务管理器600的一或多个其它功能组件执行的功能。
图7A是图解说明可存储于服务注册表440中的组件的框图。如图7A中所展示,服务注册表440可包含一或多个服务条目701。每一服务条目701可存储与由和服务注册表440相关联的服务主机托管的特定服务有关的信息。服务条目701可包含服务字段710、节点字段712、特性字段714、部署字段716及预订字段718。
服务字段710可识别与服务条目相关联的特定服务。举例来说,服务字段710可识别与特定服务相关联的服务接口。节点字段712可识别与特定服务相关联的特定节点(例如,装置130)。在一些实施方案中,第一节点可维持用于第二节点的服务注册表且可在所述服务注册表中识别与第二节点相关联的服务。特性字段714可存储识别与特定服务相关联的特性的信息。举例来说,特性字段714可包含识别以下各项的信息:与服务相关联的位置、与服务相关联的操作***、与服务相关联的处理负载、与服务相关联的带宽容量、与服务相关联的存储器容量、与服务相关联的存储容量、与服务相关联的子网络及/或域、与服务相关联的安全等级、与服务相关联的编解码器类型,及/或另一类型的特性。在一些实施例中,特性字段714可包含特性表460。
部署字段716可包含识别是否部署服务或服务是否可用于部署的信息。预订字段718可包含识别与服务相关联的预订的信息。服务可与一或多个预订相关联。举例来说,预订信息可识别已预订关于对服务的改变的通知的特定服务管理器600(例如,基于节点ID)。因此,如果服务被部署、添加、移除、变得不可用,如果服务的特性改变及/或如果检测到另一类型的改变,那么可向服务管理器600发送通知。
虽然图7A展示服务注册表440的示范性组件,但在其它实施方案中,服务注册表440相比图7A中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
图7B是图解说明可存储于能力DB 640中的组件的框图。能力DB 640可存储一或多个能力记录751。每一能力记录751可存储与由服务管理器600管理的特定能力有关的信息。每一能力记录751可包含一或多个服务条目761。每一服务条目761可存储与和特定能力相关联的特定服务有关的信息。服务条目761可包含服务字段770、要求字段772、可用性字段774、节点字段776及特性字段778。
服务字段770可通过识别(举例来说)用于特定服务的服务接口来识别特定服务。要求字段772可存储识别与特定服务相关联的一或多个要求的信息。作为一实例,能力可需要服务的特定数目个经部署实例。作为另一实例,能力可要求特定数目个实例可用于部署。作为又一实例,能力可要求服务包含特定特性(例如,特定存储容量、特定带宽容量、特定位置、特定OS等)。
可用性字段774可包含识别特定服务的可用性的信息。举例来说,可用性字段774可识别服务是否被部署或可用于部署。此外,在一些实施方案中,可用性字段774可识别经部署实例的数目或可用于部署的实例的数目。节点字段776可存储识别在其处特定服务是否被部署或可用于部署的一或多个节点的信息。对于由服务管理器600接收到的每一预订通知,服务管理器600可将节点添加到节点字段776或(从其移除节点)。
特性字段778可存储特定服务的与和能力相关联的经部署实例、可用于部署的实例的特性有关的信息。服务管理器600可监测存储于特性字段778中的信息以确定所述特性是否满足对能力的要求。如果所述特性不满足对能力的要求,那么服务管理器600可尝试识别确实满足要求的另一经部署服务实例或可用于部署的服务实例。
虽然图7B展示能力DB 640的示范性组件,但在其它实施方案中,能力DB 640相比图7B中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
图8是根据本文中所描述的实施方案用于管理能力的第一过程的流程图。在一个实施方案中,图8的过程可由装置130中的服务管理器600执行。在其它实施方案中,图8的过程的一些或全部可由另一装置或与服务管理器600分离及/或包含服务管理器600的装置的群组执行。
图8的过程可包含接收能力规格(框810)。举例来说,管理员可使用管理装置150来产生新能力的能力记录751且可规定实现所述能力所需的一或多个服务。此外,管理员可规定对实现能力所需的每一服务的一或多个要求。
可选择与能力相关联的服务(框820),且可将对选定服务的预订请求发送到服务注册表(框830)。举例来说,服务管理器600的预订产生器610可选择能力记录751中所列出的服务中的一者且可产生对所述服务(例如,对服务接口)的预订请求,且可将所述预订请求发送到最近服务注册表440。在一些实施方案中,服务管理器600及服务注册表440可在覆盖网络中的同一节点(例如,同一装置130)上运行,且因此服务管理器600可将预订请求发送到本地服务注册表440。在其它实施方案中,服务注册表440可位于覆盖网络的不同节点中且可经由覆盖网络来发送预订请求。
在一些实施方案中,所述预订请求可规定对所请求服务的一或多个特性要求,且如果服务的特性匹配预订请求中的要求,那么可将所述服务识别为对预订请求的匹配。在其它实施方案中,预订请求可识别所请求服务(例如,服务接口)且可不包含任何服务特性要求。在此类实施方案中,可在不考虑服务的特性是否匹配要求的情况下将服务识别为匹配,且可由服务管理器600基于所接收预订通知中所包含的信息而做出关于服务特性是否满足要求的确定。
可从服务注册表接收预订通知(框840),且可基于所接收预订通知而做出关于服务的部署可用性的确定(框850)。举例来说,服务管理器600可从服务注册表440接收预订通知。所述预订通知可包含指示服务是被部署、可用于部署还是不可用于***中的信息。
如果确定服务被部署(框850-服务被部署),那么可识别所述服务被部署在其处的节点(框860),且可使所识别节点与能力相关联(框862)。举例来说,服务管理器600可从所接收预订通知检索识别节点的信息及/或可检索与服务的特性有关的信息。如果所检索特性匹配要求,那么服务管理器600可在能力记录751中使所识别节点与所述服务相关联。
如果确定服务可用于部署(框850-服务可用于部署),那么可识别服务可用于部署在其处的节点(框870),可在所识别节点处起始对服务的部署(框872),且可使所识别节点与能力相关联(框874)。举例来说,服务管理器600可从所接收预订通知检索识别节点的信息及/或可检索与服务的特性有关的信息。如果所检索特性匹配要求,那么服务管理器600可通过向所识别节点发送部署服务的指令来起始对服务的部署。举例来说,服务管理器600可指示所识别节点处的捆绑件主机来部署服务。
如果确定服务为不可用的(框850-服务不可用),那么可产生管理员警示(框880)。举例来说,预订管理器600的警示产生器630可产生指示由于特定服务不可用而无法实现所述能力的警示且可将所述警示发送到管理装置150。可针对能力记录751中所列出的每一服务而重复图8的过程。
图9是根据本文中所描述的实施方案用于管理能力的第二过程的流程图。在一个实施方案中,图9的过程可由装置130中的服务管理器600执行。在其它实施方案中,图9的过程的一些或全部可由另一装置或与服务管理器600分离及/或包含服务管理器600的装置的群组执行。
图9的过程可包含接收预订通知(框910)。举例来说,服务管理器600可从服务注册表440接收与和由服务管理器600管理的能力相关联的服务有关的预订通知。可做出所述服务在节点处不再可用或所述服务不再满足能力要求的确定(框920)。作为一实例,服务管理器600可确定预订通知指示服务不再被部署或可用于部署。作为另一实例,服务管理器600可从所接收预订通知检索与服务特性有关的信息且可确定服务特性不再满足能力记录751中所规定的服务要求。
可识别另一经部署服务或另一可用于部署的服务(框930)。由于服务管理器600曾发出对服务的预订请求,因此服务管理器600可能已从所有服务注册表接收到包含匹配预订的规格的经部署服务实例或可用于部署的服务实例的记录的预订通知。每次服务管理器600接收到对与能力相关联的服务的预订通知时,服务管理器600可将来自预订通知的信息存储于能力DB 640中(例如,可用性字段774、节点字段776及/或特性字段778中)。服务管理器600可访问能力DB 640以识别另一经部署服务实例或可用于部署的服务实例。
在其中服务管理器600不使用预订来管理能力的其它实施方案中或在其中服务管理器600尚未发出预订请求的情形中,可通过向服务注册表440发送搜索查询来识别另一经部署服务实例或可用于部署的服务实例。
可识别与经部署服务或可用于部署的服务相关联的节点(框940),且可使所识别节点与能力相关联(框950)。举例来说,服务管理器600可访问节点字段776来识别与所识别的经部署服务或可用于部署的服务相关联的节点。服务管理器600可使所识别节点与服务相关联,如上文关于图8所描述。
图10是根据本文中所描述的实施方案用于管理预订请求的过程的流程图。在一个实施方案中,图10的过程可由装置130中的服务注册表440执行。在其它实施方案中,图10的过程的一些或全部可由另一装置或与服务注册表440分离及/或包含服务注册表440的装置的群组执行。
图10的过程可包含从服务管理器接收对服务的预订请求(框1010)且可做出关于所述服务是否在服务注册表中的确定(框1020)。举例来说,服务注册表440可从服务管理器600接收预订特定服务的预订请求。服务注册表440可搜索服务记录701以确定服务注册表440中的服务是否匹配预订请求。
如果所述服务在服务注册表中(框1020-是),那么可向服务管理器发送预订通知(框1030)。举例来说,服务注册表440可响应于接收到预订请求及检测服务记录701而向服务管理器600发送预订通知、基于存储于服务记录701中的信息而告知服务管理器600所述服务在特定节点处为可用的。处理可继续到框1040。如果所述服务不在服务注册表中(框1020-否),那么处理也可继续到框1040。
可将预订请求记录于服务注册表中(框1040)。举例来说,如果服务注册表中包含所述服务,那么服务注册表440可通过将来自所接收预订请求的信息包含于预订字段718中而更新服务记录701。如果服务注册表中未包含所述服务,那么服务注册表440可需要在稍后添加服务的情况下也记录预订请求(使得可向服务管理器600告知所述服务已被添加)。在此情况中,服务注册表440可为所述服务创建包含来自预订请求的信息的非有效服务记录701(例如,仅在服务字段710及预订字段718中包含信息的服务记录701,连同服务记录701为非有效的指示)。
可将预订请求转发到邻近服务注册表(框1050)。举例来说,服务注册表440可基于覆盖网络的拓扑而识别邻近服务注册表且可将预订请求转发到先前尚未处理所述请求的所有邻近服务注册表。
在稍后时间,可检测服务的改变(框1060),且可基于所检测改变而向服务管理器发送预订通知(框1070)。举例来说,服务注册表440可响应于与服务记录701相关联的任何所检测改变而向服务管理器600发送预订通知。
图11图解说明其中实现能力的示范性覆盖网络1100。假设S3包含服务管理器1110,其具有实现用于将来自特定位置的视频信号流式传输到Windows OS存储服务的能力的任务。所述能力需要用以捕获特定位置的视频的第一视频服务、用以将视频存储于Windows OS服务器装置处的第二存储服务及用以将来自摄像机的视频信号以特定位速率流式传输到存储位置的第三服务。
服务管理器1110可产生对实现所述能力所需的三个服务中的每一者的预订请求。节点N1可将摄像机1120识别为满足对用以捕获所述位置处的视频的第一视频服务的预订请求以及满足以特定位速率流式传输视频信号的预订请求。摄像机1130可被识别为满足对用以捕获所述位置处的视频的第一视频服务的预订请求,但可能不包含用以以特定位速率流式传输视频的服务。因此,服务管理器1110可选择摄像机1120且可使摄像机1120与所述能力相关联。此外,节点N5可将Window OS存储服务1150识别为匹配所述能力的存储服务要求。
在稍后时间,摄像机1120的流式传输服务可经历低于能力所需的位速率的位速率,且节点N1处的服务注册表可向节点N3处的服务管理器1110发送预订通知。服务管理器1110可发出另一预订请求,且节点N2可以指示摄像机1140满足以特定位速率流式传输视频信号的预订请求的预订通知做出响应。因此,服务管理器1110可使摄像机1140与所述能力相关联。因此,使用所述能力的任何客户端均可经历视频信号从摄像机1120到摄像机1140的转变。
在前述说明书中,已参考附图描述了各种优选实施例。然而,将显而易见,可对本发明做出各种修改及改变且可实施额外实施例,此并不背离如所附权利要求书中所陈述的本发明的较宽广范围。因此,应将本说明书及图式视为具有说明性意义而非限制性意义。
举例来说,尽管已关于图8到10描述了若干系列的框,但在其它实施方案中可修改所述框的次序。此外,可并行地执行非相依框。
将明了,在图中所图解说明的实施方案中,可以许多不同形式的软件、固件及硬件来实施如上文所描述的***及/或方法。用于实施这些***及方法的实际软件代码或专门化控制硬件并不限于所述实施例。因此,在不参考特定软件代码的情况下来描述所述***及方法的操作及行为--应理解,软件及控制硬件可经设计以基于本文中的描述而实施所述***及方法。
此外,可将上文所描述的某些部分描述为执行一或多个功能的组件。如本文中所使用,组件可包含硬件(例如处理器、ASIC或FPGA)或硬件与软件的组合(例如,执行软件的处理器)。如本文中所使用的词语“示范性”意指“作为图解实例”。
应强调,当在本说明书中使用时术语“包括(comprise/comprising)”应理解为规定所陈述特征、整数、步骤或组件的存在,但并不排除一或多个其它特征、整数、步骤、组件或其群组的存在或添加。
本申请案中所使用的元件、动作及指令不应理解为对所述实施例至关重要或必不可少,除非明确如此描述。而且,如本文中所使用,冠词“一”打算包含一或多个项目。此外,短语“基于”打算意指“至少部分地基于”,除非另有明确陈述。
Claims (11)
1.一种用于管理网络中可用的服务的能力的***,其包括:
第一处理器,其经配置以维持第一服务注册表,其中所述第一服务注册表包含在所述***的第一一或多个节点中可用的服务的第一列表;
第二处理器,其经配置以维持第二服务注册表,其中所述第二服务注册表包含在所述***的第二一或多个节点中可用的服务的第二列表,且其中所述第二服务注册表连接到所述第一服务注册表;
第三处理器,其实施服务管理器,所述服务管理器经配置以:
管理所述***的能力,其中所述能力是通过一组一或多个服务而实现的;
向所述第一服务注册表发送预订请求,其中所述预订请求包含将涉及所述组一或多个服务中的至少一个服务的改变告知所述服务管理器的指令;
连接到所述第一服务注册表;
从所述第一服务注册表接收指示所述第二服务注册表中所包含的服务的所述第二列表的改变的通知;以及
响应于接收到所述通知而起始对用于所述能力的新服务的部署或在所述***中定位所述新服务的经部署实例;
其中所述第一服务注册表进一步经配置以:
记录所述预订请求;以及
基于覆盖网络的拓扑,将所述预订请求转发到先前没有处理所述预订请求的所有邻近服务注册表,包括所述第二服务注册表和至少一个其它服务注册表;且
其中所述第二服务注册表进一步经配置以:
基于所述预订请求而发送所述通知。
2.根据权利要求1所述的***,其中所述通知包含以下各项中的至少一者:
已从所述第二服务注册表移除特定服务的指示;
已将所述特定服务添加到所述第二服务注册表的指示;或
与所述特定服务相关联的特性已改变的指示。
3.根据权利要求1所述的***,其中所述服务管理器进一步经配置以:
定位在所述***中可用的所述新服务的所述经部署实例;以及
响应于在所述***中定位所述新服务的所述经部署实例而使所述所定位的经部署实例与所述能力相关联。
4.根据权利要求1所述的***,其中所述服务管理器进一步经配置以:
确定在所述***中没有所述新服务的经部署实例可用;以及
响应于确定在所述***中没有所述新服务的经部署实例可用而起始对用于所述能力的所述新服务的部署。
5.根据权利要求1所述的***,其中所述服务管理器进一步经配置以:
从客户端接收对所述能力的请求;
确定所述组一或多个服务中的借以实现所述能力的特定服务未被部署在所述***中;
基于从所述第一服务注册表或所述第二服务注册表中的至少一者获得的信息而选择部署节点;以及
基于所述所接收请求而指示所选定部署节点部署所述组一或多个服务中的所述特定服务。
6.一种用于管理网络中可用的服务的能力的方法,其包括:
由包含第一服务注册表的第一服务注册表装置维持在***的第一组一或多个节点中可用的服务的第一列表;
由包含第二服务注册表的第二服务注册表装置维持在所述***的第二组一或多个节点中可用的服务的第二列表,其中所述第二服务注册表连接到所述第一服务注册表;
由服务管理装置管理所述***的能力,其中所述能力是通过服务列表而实现的;
由所述服务管理装置连接到所述第一服务注册表装置;
由所述服务管理装置向所述第一服务注册表装置发送预订请求,其中所述预订请求包含将涉及所述服务列表中的至少一个服务的改变告知所述服务管理装置的指令;
由所述第一服务注册表装置记录所述预订请求;
由所述第一服务注册表装置基于覆盖网络的拓扑将所述预订请求转发到先前没有处理所述预订请求的所有邻近服务注册表,其中所述先前没有处理所述预订请求的所有邻近服务注册表包括所述第二服务注册表和至少一个其它服务注册表;
由所述第二服务注册表装置基于所述预订请求而向所述第一服务注册表装置发送第一服务通知,所述第一服务通知指示服务的所述第二列表的改变;
由所述服务管理装置从所述第一服务注册表装置接收所述第一服务通知;以及
由所述服务管理装置响应于接收到所述第一服务通知而起始对用于所述能力的新服务的部署或在所述***中定位所述新服务的经部署实例。
7.根据权利要求6所述的方法,其中所述第一服务通知包含所述服务可用于部署在与所述第二服务注册表相关联的所述***的所述第二组一或多个节点中的第一节点处的所述指示,且其中所述方法进一步包括:
响应于接收到所述第一服务通知而起始在所述***的所述第二组一或多个节点中的所述第一节点处对所述服务的所述部署。
8.根据权利要求6所述的方法,其中所述第一服务通知包含所述服务被部署于所述***中的所述指示,且其中所述方法进一步包括:
响应于接收到所述第一服务通知而在所述***中定位所述服务的所述经部署实例。
9.根据权利要求7所述的方法,其进一步包括:
经由所述第一服务注册表从所述第二服务注册表接收与所述服务相关联的第二服务通知,其中所述第二服务通知包含所述服务在与所述第二服务注册表相关联的所述***的所述第二组一或多个节点中的所述第一节点处不再可用的指示;
识别所述服务可用于部署在其处的所述***的所述第二组一或多个节点中的第二节点;以及
响应于识别出所述***的所述第二组一或多个节点中的所述第二节点而起始在所述***的所述第二组一或多个节点中的所述第二节点处对所述服务的部署。
10.根据权利要求7所述的方法,其进一步包括:
经由所述第一服务注册表从所述第二服务注册表接收与所述服务相关联的第二服务通知,其中所述第二服务通知包含所述服务不再可用于部署在与所述第二服务注册表相关联的所述***的所述第二组一或多个节点中的所述第一节点处的指示;
确定所述服务不可用于部署在所述***中的任何其它节点处;以及
响应于确定所述服务不可用于部署在所述***中的任何其它节点处而向管理员发送警示。
11.根据权利要求6所述的方法,其进一步包括:
从所述***中的请求节点接收对特定服务的请求;
确定所述特定服务未被部署在所述***中;
基于所述第一服务注册表或所述第二服务注册表中的至少一者而选择部署节点;以及
基于所述所接收请求而在所选定部署节点中部署所述特定服务。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/218,579 | 2014-03-18 | ||
US14/218,579 US9705995B2 (en) | 2014-03-18 | 2014-03-18 | Capability monitoring in a service oriented architecture |
EP14161495.8A EP2921955B1 (en) | 2014-03-18 | 2014-03-25 | Capability monitoring in a service oriented architecture |
EP14161495.8 | 2014-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104935454A CN104935454A (zh) | 2015-09-23 |
CN104935454B true CN104935454B (zh) | 2019-10-15 |
Family
ID=50473028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510114112.4A Active CN104935454B (zh) | 2014-03-18 | 2015-03-16 | 用于管理网络中可用的服务的能力的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US9705995B2 (zh) |
EP (1) | EP2921955B1 (zh) |
JP (1) | JP6195860B2 (zh) |
KR (1) | KR101762237B1 (zh) |
CN (1) | CN104935454B (zh) |
TW (1) | TWI631475B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250455B1 (en) * | 2014-06-06 | 2019-04-02 | Amazon Technologies, Inc. | Deployment and management of tenant services |
US10097431B1 (en) | 2014-06-06 | 2018-10-09 | Amazon Technologies, Inc. | Routing to tenant services utilizing a service directory |
CN110474960B (zh) * | 2014-12-23 | 2021-07-09 | 华为技术有限公司 | 一种虚拟化网络中业务部署的方法和装置 |
US10069941B2 (en) * | 2015-04-28 | 2018-09-04 | Microsoft Technology Licensing, Llc | Scalable event-based notifications |
EP3188015A1 (en) * | 2015-10-05 | 2017-07-05 | Axis AB | Requesting and receiving a media stream within a networked system |
CN105407161B (zh) * | 2015-11-30 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 应用服务管理方法、***及应用服务发现方法、*** |
US10539966B2 (en) | 2016-09-28 | 2020-01-21 | Denso Corporation | Service cooperation system for vehicle |
JP7100422B2 (ja) | 2016-10-21 | 2022-07-13 | 富士通株式会社 | データプロパティ認識のための装置、プログラム、及び方法 |
JP6805765B2 (ja) | 2016-10-21 | 2020-12-23 | 富士通株式会社 | ソフトウェアサービスの実行のためのシステム、方法、及びプログラム |
US10776170B2 (en) | 2016-10-21 | 2020-09-15 | Fujitsu Limited | Software service execution apparatus, system, and method |
EP3312722A1 (en) | 2016-10-21 | 2018-04-25 | Fujitsu Limited | Data processing apparatus, method, and program |
EP3312724B1 (en) | 2016-10-21 | 2019-10-30 | Fujitsu Limited | Microservice-based data processing apparatus, method, and program |
US10454836B2 (en) * | 2016-11-01 | 2019-10-22 | At&T Intellectual Property I, L.P. | Method and apparatus for dynamically adapting a software defined network |
US11057496B2 (en) | 2018-09-05 | 2021-07-06 | Nutanix, Inc. | Distributed computing systems having capability services |
CN110049089A (zh) * | 2019-01-09 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种服务注册中心 |
EP3712768B1 (en) | 2019-03-18 | 2024-05-01 | Sony Group Corporation | Management of services in an edge computing system |
CN113132431B (zh) * | 2019-12-31 | 2023-01-31 | 网联清算有限公司 | 服务监控方法、服务监控装置、电子设备及介质 |
US11677810B2 (en) * | 2021-07-23 | 2023-06-13 | International Business Machines Corporation | Configuration tool for deploying an application on a server |
US11588909B1 (en) * | 2022-01-07 | 2023-02-21 | Dell Products L.P. | System and method for subscription based solution data compatibility |
US11888690B2 (en) * | 2022-01-07 | 2024-01-30 | Dell Products L.P. | System and method for subscription limitation enforcement in distributed system |
US11907153B2 (en) | 2022-01-07 | 2024-02-20 | Dell Products L.P. | System and method for distributed subscription management |
US11947433B2 (en) | 2022-01-07 | 2024-04-02 | Dell Products L.P. | System and method for subscription based solution management |
US11829740B2 (en) | 2022-01-07 | 2023-11-28 | Dell Products L.P. | System and method for deployment level management of subscription based solutions |
US11789718B2 (en) | 2022-01-07 | 2023-10-17 | Dell Products L.P. | System and method for subscription based solution modification implementation |
US11861577B2 (en) * | 2022-01-07 | 2024-01-02 | Dell Products L.P. | System and method for distributed enforcement of configuration limitations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090371A (zh) * | 2006-06-14 | 2007-12-19 | 阿里巴巴公司 | 一种即时通讯***中用户信息管理的方法及*** |
CN102063360A (zh) * | 2010-11-29 | 2011-05-18 | 深圳市五巨科技有限公司 | 一种远程服务器监控报警的方法和装置 |
US8250185B2 (en) * | 2010-03-26 | 2012-08-21 | International Business Machines Corporation | Semantic matching of federation intents and services capabilities in a planning system for automatic service federation |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6604140B1 (en) | 1999-03-31 | 2003-08-05 | International Business Machines Corporation | Service framework for computing devices |
US6625274B1 (en) * | 1999-10-12 | 2003-09-23 | Broadsoft, Inc. | Computer system and method for providing services to users of communication systems using service entities, interface entities, and a service bus |
AU2002344870A1 (en) * | 2001-06-18 | 2003-01-02 | Research In Motion Limited | Message management in a mobile data communication device |
US7765297B2 (en) * | 2001-11-13 | 2010-07-27 | Qualcomm Incorporated | System for providing online service reports |
US7822860B2 (en) * | 2001-12-11 | 2010-10-26 | International Business Machines Corporation | Method and apparatus for dynamic reconfiguration of web services infrastructure |
US7151966B1 (en) * | 2002-06-04 | 2006-12-19 | Rockwell Automation Technologies, Inc. | System and methodology providing open interface and distributed processing in an industrial controller environment |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7890543B2 (en) * | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7181521B2 (en) * | 2003-03-21 | 2007-02-20 | Intel Corporation | Method and system for selecting a local registry master from among networked mobile devices based at least in part on abilities of the mobile devices |
EP1494394A1 (en) * | 2003-06-30 | 2005-01-05 | Sony International (Europe) GmbH | Distance-aware service mechanism for determining the availability of remote services in wireless personal area networks |
TW200532480A (en) * | 2003-12-19 | 2005-10-01 | Ibm | Dynamic late binding of third party on demand services in an on-demand infrastructure |
US7711780B1 (en) * | 2004-07-20 | 2010-05-04 | Oracle America, Inc. | Method for distributed end-to-end dynamic horizontal scalability |
JP4799419B2 (ja) * | 2004-10-20 | 2011-10-26 | 富士通株式会社 | 設定プログラム、設定方法、および設定装置 |
US9084178B2 (en) * | 2005-02-08 | 2015-07-14 | Nokia Technologies Oy | System and method for services access |
US20060235973A1 (en) * | 2005-04-14 | 2006-10-19 | Alcatel | Network services infrastructure systems and methods |
US7483438B2 (en) * | 2005-04-14 | 2009-01-27 | Alcatel Lucent | Systems and methods for managing network services between private networks |
US20060265508A1 (en) * | 2005-05-02 | 2006-11-23 | Angel Franklin J | System for administering a multiplicity of namespaces containing state information and services |
US8140624B2 (en) * | 2005-12-01 | 2012-03-20 | Computer Associates Think, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
CN100558038C (zh) * | 2006-03-31 | 2009-11-04 | 国际商业机器公司 | 服务注册器以及相关***和方法 |
CN100534047C (zh) * | 2006-04-28 | 2009-08-26 | 国际商业机器公司 | 对Web服务资源的基于属性的索引和/或查询方法及*** |
US7519711B2 (en) * | 2006-06-15 | 2009-04-14 | International Business Machines Corporation | Method for middleware assisted system integration in a federated environment |
US7496893B2 (en) * | 2006-06-15 | 2009-02-24 | International Business Machines Corporation | Method for no-demand composition and teardown of service infrastructure |
DE602006014831D1 (de) * | 2006-09-13 | 2010-07-22 | Alcatel Lucent | Verkettung von Web Services |
US20080091807A1 (en) * | 2006-10-13 | 2008-04-17 | Lyle Strub | Network service usage management systems and methods |
US8644820B2 (en) * | 2006-11-13 | 2014-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for acquiring service information in wireless network |
EP2009548A1 (en) * | 2007-06-26 | 2008-12-31 | Nxp B.V. | Signal processing architecture and method |
US20090077251A1 (en) * | 2007-09-13 | 2009-03-19 | International Business Machines Corporation | Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses |
US9811849B2 (en) * | 2007-09-28 | 2017-11-07 | Great-Circle Technologies, Inc. | Contextual execution of automated workflows |
US8473325B2 (en) * | 2007-10-12 | 2013-06-25 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices using a hierarchical index model |
US7987163B2 (en) * | 2008-02-12 | 2011-07-26 | Bae Systems Information And Electronic Systems Integration Inc. | Apparatus and method for dynamic web service discovery |
US9021083B2 (en) * | 2008-11-26 | 2015-04-28 | Red Hat, Inc. | Service oriented architecture with dynamic policy enforcement points |
US8448185B2 (en) * | 2009-03-23 | 2013-05-21 | Siemens Aktiengesellschaft | Method and system for dynamic discovery of services in a communication framework |
US20100332622A1 (en) | 2009-06-25 | 2010-12-30 | Sun Microsystems, Inc. | Distributed Resource and Service Management System and Method for Managing Distributed Resources and Services |
MY164485A (en) * | 2009-07-20 | 2017-12-29 | Mimos Berhad | A method and system for an intelligent framework of a service orientated architecture |
WO2011015488A1 (en) * | 2009-08-04 | 2011-02-10 | International Business Machines Corporation | Service registry policy editing user interface |
US9300739B2 (en) * | 2009-10-01 | 2016-03-29 | Lg Electronics Inc. | Method and device for sharing objects in service groups of CPNS enabler |
US8856800B2 (en) * | 2010-05-21 | 2014-10-07 | Red Hat, Inc. | Service-level enterprise service bus load balancing |
US8904396B2 (en) | 2010-07-27 | 2014-12-02 | Ca, Inc. | System and method of general service management |
CN102377796B (zh) | 2010-08-05 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 基于OSGi的异构服务集成***及方法 |
US9483312B2 (en) * | 2010-08-16 | 2016-11-01 | International Business Machines Corporation | Locating service endpoints from a service registry |
TWI441540B (zh) * | 2010-10-04 | 2014-06-11 | Htc Corp | 處理區域服務程序之方法及其相關通訊裝置 |
US8965957B2 (en) * | 2010-12-15 | 2015-02-24 | Sap Se | Service delivery framework |
US20120209903A1 (en) * | 2011-02-14 | 2012-08-16 | General Electric Company | Method, system and computer program product for extensible service registry for service oriented architecture endpoints |
US9389922B2 (en) * | 2011-03-11 | 2016-07-12 | International Business Machines Corporation | Declarative service domain federation |
US8966039B1 (en) * | 2011-04-25 | 2015-02-24 | Sprint Communications Company L.P. | End-to-end communication service monitoring and reporting |
US8930493B2 (en) * | 2012-03-20 | 2015-01-06 | International Business Machines Corporation | Inter-domain replication of service information |
US9589037B2 (en) * | 2012-03-29 | 2017-03-07 | Hewlett Packard Enterprise Development Lp | Conceptual services implementation platform |
US9037678B2 (en) | 2012-05-14 | 2015-05-19 | Sap Se | Distribution of messages in system landscapes |
US9882787B2 (en) * | 2014-01-09 | 2018-01-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Service management in appliance-based solutions |
US9960964B2 (en) * | 2014-02-18 | 2018-05-01 | Cellos Software Ltd | System, method and apparatus to manage services in a network |
-
2014
- 2014-03-18 US US14/218,579 patent/US9705995B2/en active Active
- 2014-03-25 EP EP14161495.8A patent/EP2921955B1/en active Active
-
2015
- 2015-03-13 JP JP2015050955A patent/JP6195860B2/ja active Active
- 2015-03-16 TW TW104108360A patent/TWI631475B/zh active
- 2015-03-16 CN CN201510114112.4A patent/CN104935454B/zh active Active
- 2015-03-16 KR KR1020150036149A patent/KR101762237B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090371A (zh) * | 2006-06-14 | 2007-12-19 | 阿里巴巴公司 | 一种即时通讯***中用户信息管理的方法及*** |
US8250185B2 (en) * | 2010-03-26 | 2012-08-21 | International Business Machines Corporation | Semantic matching of federation intents and services capabilities in a planning system for automatic service federation |
CN102063360A (zh) * | 2010-11-29 | 2011-05-18 | 深圳市五巨科技有限公司 | 一种远程服务器监控报警的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2921955A1 (en) | 2015-09-23 |
JP2015187859A (ja) | 2015-10-29 |
TW201543243A (zh) | 2015-11-16 |
US20150271276A1 (en) | 2015-09-24 |
TWI631475B (zh) | 2018-08-01 |
KR20150108768A (ko) | 2015-09-30 |
KR101762237B1 (ko) | 2017-08-04 |
JP6195860B2 (ja) | 2017-09-13 |
US9705995B2 (en) | 2017-07-11 |
CN104935454A (zh) | 2015-09-23 |
EP2921955B1 (en) | 2017-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104935454B (zh) | 用于管理网络中可用的服务的能力的方法和*** | |
CN104935488B (zh) | 面向服务的架构中的隧道代理及其方法 | |
CN107005432B (zh) | 用于网络分析的方法、设备和*** | |
CN111475728B (zh) | 云资源信息搜索方法、装置、设备及存储介质 | |
CN104935625B (zh) | 在面向服务的架构(soa)网络中发现服务的方法及*** | |
US20200287823A1 (en) | Device deployment and network management using a self-service portal | |
CN103905551B (zh) | 一种服务调用方法及装置 | |
EP3399698B1 (en) | Automated inventory for iot devices | |
CN104025070A (zh) | 用于管理工业过程的***和方法 | |
CN104333567A (zh) | 采用安全即服务的web缓存 | |
US10430441B1 (en) | Tagging resources of a remote computing service based on locality | |
US11669525B2 (en) | Optimizing workflow movement through device ecosystem boundaries | |
CN105939221A (zh) | 网络设备的配置方法及装置 | |
CN105072575A (zh) | 找回移动设备的方法、***及服务端 | |
KR101659736B1 (ko) | 원격 사물인터넷 디바이스의 컨텍스트 공유 시스템 및 그 방법 | |
CN107979657A (zh) | 用于网络设备的dns地址处理方法及*** | |
CN108055329A (zh) | 内容分发方法、内容分发***及存储介质 | |
US11212177B2 (en) | Hosted physical layer management or automated infrastructure management system having software only configuration and/or local hardware appliance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |