面向服务的架构中的隧道代理的制作方法_5

文档序号:9219676阅读:来源:国知局
量可对应于客户端420与所接收搜索结果中的每一特定节点之间的连接质量的量度。连接度量可包含:总可用带宽;百分比带宽容量;最高、最低或平均位速率;最高可用服务质量(QoS);客户端及特定节点是否处于相同域中;客户端与特定节点之间是否需要网络地址转译(NAT);客户端与特定节点之间是否存在防火墙;及/或基于其它类型的连接度量。
[0107]节点接口 640可与系统中的特定节点通信。举例来说,节点接口 640可针对通信隧道的第二端来配置节点(例如,装置130)。举例来说,节点接口 640可将所述节点配置为接收及/或发送用与通信隧道相关联的隧道标头封装的包或其它类型的数据单元。
[0108]隧道DB 650可存储与由隧道代理600管理的通信隧道有关的信息。下文参考图7B来描述可存储于隧道DB 650中的示范性信息。
[0109]虽然图6展示隧道代理600的示范性功能组件,但在其它实施方案中,隧道代理600相比图6中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,隧道代理600的组件中的任一者(或任何组件群组)可执行描述为由隧道代理600的一或多个其它功能组件执行的功能。
[0110]图7A是图解说明可存储于服务注册表440中的组件的框图。如图7A中所展示,服务注册表440可包含一或多个服务条目701。每一服务条目701可存储与由和服务注册表440相关联的服务主机托管的特定服务有关的信息。服务条目701可包含服务字段710、节点字段712、特性字段714、部署字段716及预订字段718。
[0111]服务字段710可识别与服务条目相关联的特定服务。举例来说,服务字段710可识别与特定服务相关联的服务接口。节点字段712可识别与特定服务相关联的特定节点(例如,装置130)。在一些实施方案中,第一节点可维持用于第二节点的服务注册表且可在所述服务注册表中识别与第二节点相关联的服务。特性字段714可存储识别与特定服务相关联的特性的信息。举例来说,特性字段714可包含识别以下各项的信息:与服务相关联的位置、与服务相关联的操作系统、与服务相关联的处理负载、与服务相关联的带宽容量、与服务相关联的存储器容量、与服务相关联的存储容量、与服务相关联的子网络及/或网络域、与服务相关联的安全等级、与服务相关联的编解码器类型,及/或另一类型的特性。
[0112]部署字段716可包含识别是否部署服务或服务是否可用于部署的信息。预订字段718可包含识别与服务相关联的预订的信息。服务可与一或多个预订相关联。举例来说,预订信息可识别已预订关于对服务的改变的通知的特定隧道代理600(例如,基于节点ID)。因此,如果服务经部署、变得不可用,如果服务的特性改变及/或如果检测到另一类型的改变,那么可向隧道代理600发送通知。
[0113]虽然图7A展示服务注册表440的示范性组件,但在其它实施方案中,服务注册表440相比图7A中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
[0114]图7B是图解说明可存储于隧道DB 660中的组件的框图。隧道DB 650可存储一或多个隧道记录751。每一隧道记录751可存储与由隧道代理600管理的特定通信隧道有关的信息。隧道记录751可包含隧道ID字段760、服务特性字段762、客户端字段764及一或多个节点字段770。
[0115]隧道ID字段760可存储唯一地识别特定通信隧道的识别符。此外,隧道ID字段760可存储与特定通信隧道相关联的隧道标头信息(例如,路由标签)。服务特性字段762可存储识别例如以下各项的一或多个所请求服务特性的信息:特定服务接口、特定操作系统、特定处理容量、特定存储容量、特定带宽及/或位速率、特定位置、特定编解码器、特定网络域、特定安全等级及/或另一类型的服务特性。
[0116]客户端字段764可存储与曾做出对通信隧道的请求的客户端420有关的信息。举例来说,客户端ID字段764可存储与覆盖网络中的客户端420相关联的节点ID。此外,客户端ID字段764可存储与基础网络(例如,网络110、子网络120等)中的客户端420相关联的网络地址。
[0117]每一节点字段760可存储与系统中已被识别为托管匹配隧道记录751的服务特性字段762中所规定的要求的服务的特定节点有关的信息。节点字段760可包含节点ID字段772、特性字段774及状态字段776。
[0118]节点ID字段772可存储识别特定节点的信息。举例来说,节点ID字段764可存储与覆盖网络中的特定节点相关联的节点ID。此外,节点ID字段764可存储与基础网络(例如,网络110、子网络120等)中的特定节点相关联的网络地址。
[0119]特性字段774可存储与由特定节点托管的匹配与通信隧道相关联的请求的服务实例的特性有关的信息。举例来说,特性字段774可包含识别服务实例的信息、识别服务实例的服务接口的信息及/或与服务实例相关联的一或多个特性。可以特定间隔来更新特性字段774中的信息。举例来说,隧道代理600可基于由隧道代理600提交到服务注册表440的预订请求而以特定间隔从服务注册表440接收更新。
[0120]状态字段776可包含与特定节点相关联的状态信息。举例来说,所述状态信息可包含:特定节点的搜索结果排名、是否针对特定节点建立通信隧道的第二端、与从客户端到特定节点的连接相关联的一或多个连接度量及/或与特定节点相关联的其它类型的状态信息。
[0121]虽然图7B展示能力DB 640的示范性组件,但在其它实施方案中,能力DB 640相比图7B中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
[0122]图8是根据本文中所描述的实施方案用于设置及管理通信隧道的过程的流程图。在一个实施方案中,图8的过程可由装置130中的隧道代理600执行。在其它实施方案中,图8的过程的一些或全部可由另一装置或与隧道代理600分离及/或包含隧道代理600的装置的群组执行。
[0123]图8的过程可包含从客户端接收对具有所请求服务特性的服务的请求(框810)。举例来说,装置130可包含充当请求具有特定服务特性的服务的客户端的服务。客户端420可首先联系服务注册表440以请求最近隧道代理的位置。服务注册表440可将识别隧道代理600的节点ID返回到客户端420。客户端420可随后将建立到具有所请求服务特性的服务的通信隧道的请求发送到隧道代理600。所请求服务特性可包含以下各项中的一或多者:特定服务接口、特定操作系统、特定处理容量、特定存储容量、特定带宽及/或位速率、特定位置、特定编解码器、特定网络域、特定安全等级及/或另一类型的服务特性。
[0124]可将搜索查询发送到服务注册表(框820),且可从服务注册表接收搜索结果(框830)。举例来说,隧道代理600可从客户端420接收请求,可基于所请求服务特性而产生搜索查询且可将所产生搜索查询发送到最近服务注册表440。服务注册表440可评估搜索查询且可返回包含系统中匹配所请求服务特性的一或多个节点的列表的搜索结果。如果服务注册表440返回空列表,从而指示具有所请求特性的服务在系统中是不可用的,那么隧道代理600可产生提醒且可将所述提醒发送到客户端420及/或管理装置150。
[0125]在一些实施方案中,服务注册表440可返回最紧密匹配要求的节点及/或服务实例的列表,即使无任何节点及/或服务实例满足所有要求。在此类情形中,隧道代理600可选择最佳匹配与所请求服务特性相关联的要求的节点及/或服务实例。
[0126]在一些实施方案中,客户端可请求一对多通信隧道。举例来说,客户端可请求到具有所请求特性的特定数目个服务实例的通信隧道。作为一实例,视频监视服务客户端可请求到来自特定位置处的摄像机的五个不同视频流的通信隧道。在此类实施方案中,隧道代理600可请求针对搜索查询的特定数目个搜索结果。
[0127]可基于所接收搜索结果而选择托管具有所请求服务特性的第一服务实例的第一节点(框840)。举例来说,隧道代理600可选择最佳匹配所请求服务特性的节点及/或由所述节点托管的服务实例。在一些实施方案中,隧道代理600可基于额外准则而选择第一节点。举例来说,隧道代理600可基于和搜索结果中的每一特定节点与客户端装置之间的连接相关联的一或多个连接度量而选择第一节点。连接度量的实例包含:连接的总可用带宽;连接的百分比带宽容量;连接的最高、最低或平均位速率;连接的最高可用服务质量(QoS);客户端及特定节点是否处于相同域中;客户端与特定节点之间是否需要网络地址转译(NAT);客户端与特定节点之间是否存在防火墙;及/或基于其它类型的连接度量。
[0128]在其中客户端请求一对多通信隧道的情形中,隧道代理600可选择用于通信隧道的多个第二端的多个节点且可针对每一选定节点个别地设置通信隧道的第二端。
[0129]可建立具有在客户端装置处的第一端及在选定第一节点处的第二端的通信隧道(框850)。举例来说,隧道代理600可使用TSP或另一协议在客户端420与选定第一节点之间设置通信隧道。举例来说,隧道代理600可产生一或多个隧道标头及/或标签,可将托管客户端420的装置130配置为用所产生隧道标头及/或标签封装包或其它类型的数据单元,且可将选定第一节点配置为用所产生隧道标头及/或标签封装包或其它类型的数据单元。通信隧道可包含多协议标签交换(MPLS)隧道、通用路由封装(GRE)隧道、因特网协议(IP)安全(IPSec)隧道、虚拟局域网(VLAN)隧道、虚拟私有网络(VPN)隧道及/或另一类型的通信隧道。
[0130]可做出应更新通信隧道的确定(框860)。作为一实例,隧道代理600可以特定间隔将搜索查询重新发送到服务注册表440且可从服务注册表440接收经更新搜索结果。经更新搜索结果可指示第一节点为不可用的,第一节点不再托管服务(例如,服务实例不再被部署),所托管服务的特性不再匹配所请求服务特性的要求及/或另一系统节点托管更佳匹配所请求服务特性的要求的服务实例。
[0131]作为另一实例,隧道代理600可在不重新发送搜索查询的情况下从服务注册表440接收更新。举例来说,隧道代理600可设置对匹配搜索查询的服务的改变的预订,且服务注册表440可将周期性更新发送到隧道代理600。作为又一实例,隧道代理600可从客户端420接收表示第一节点无法经由所建立通信隧道到达的消息,或可从第一节点接收表示第一节点不再托管所请求服务的消息。
[0132]可将搜索查询重新发送到服务注册表(框870),且可从服务注册表接收经更新搜索结果(框880)。在其中基于从服务注册表440接收的更新而未做出对更新通信隧道的确定的情形中,隧道代理600可将搜索查询重新发送到服务注册表440且可从服务注册表440接收经更新搜索结果。
[0133]可基于经更新搜索结果而选择托管具有所请求服务特性的第二服务实例的第二节点(框890)。举例来说,隧道代理600可基于经更新搜索结果及/或基于额外准则(例如经更新搜索结果中所包含的节点的所确定连接度量)而选择最佳匹配所请求服务特性的第二节点及/或由第二节点托管的服务实例。
[0134]可将通信隧道的第二端从第一节点移动到第二节点(框895)。举例来说,隧道代理600可使用TSP或另一协议来结束客户端420与第一节点之间的通信隧道且在客户端420与选定第二节点之间设置通信隧道。举例来说,隧道代理600可将第一节点配置为停止用与通信隧道相关联的所产生隧道标头及/或标签封装包或其它类型的数据单元,且可将选定第二节点配置为用所产生隧道标头及/或标签封装包或其它类型的数据单元。每当隧道代理600确定应更新通信隧道时,便可重复框870、880、890及895。
[0135]图9A到9C是根据本文中所描述的实施方案设置及管理通信隧道的示范性情景的图。图94图解说明包含节点附、吧、吧、财及阳的覆盖网络910。节点N3包含对应于视频监视服务客户端910的服务S3。节点N4包含对应于隧道代理服务920的服务S4。节点NI包含对应于摄像机服务930的服务实例SlA及对应于摄像机服务940的服务实例S1B。节点N2包含对应于摄像机服务950的服务实例S2,且节点N5包含对应于摄像机服务960的服务实例S5。
[0136]视频监视服务客户端910可需要以特定分辨率且以特定位速率从特定位置提供视频流的摄像机服务。因此,视频监视服务客户端910可将对通信隧道的请求发送到节点N4处的隧道代理920且可在所述请求中规定所需服务特性。隧道代理920可基于所述请求而产生搜索查询且可将所述搜索查询提交到节点N4处的服务注册表。节点N4处的服务注册表可将搜索查询转发到其它节点处的服务注
...
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1