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

文档序号:9219676阅读:来源:国知局
或多个电路交换网络及/或包交换网络。举例来说,子网络120可包含LAN、WAN、MAN、PSTN、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型的网络的组合。
[0059]虽然图1展示环境100的示范性组件,但在其它实施方案中,环境100相比图1中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。另外或替代地,环境100中的任一装置(或任何装置群组)可执行描述为由环境100中的一或多个其它装置执行的功能。
[0060]图2是图解说明装置130的示范性组件的框图。如图2中所展示,装置130可包含总线210、处理器220、存储器230、输入装置240、输出装置250及通信接口 260。
[0061]总线210可包含准许装置130的组件当中的通信的路径。处理器220可包含任何类型的单核心处理器、多核心处理器、微处理器、基于锁存器的处理器及/或解译并执行指令的处理逻辑(或处理器、微处理器及/或处理逻辑的族群)。在其它实施例中,处理器220可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)及/或另一类型的集成电路或处理逻辑。
[0062]存储器230可包含可存储供由处理器220执行的信息及/或指令的任何类型的易失性及/或动态存储装置,及/或可存储供由处理器220使用的信息的任何类型的非易失性存储装置。举例来说,存储器230可包含随机存取存储器(RAM)或另一类型的动态存储装置、只读存储器(ROM)装置或另一类型的静态存储装置、内容可寻址存储器(CAM)、磁性及/或光学记录存储器装置及其对应驱动器(例如,硬盘驱动器、光学驱动器等等)及/或可装卸形式的存储器,例如快闪存储器。
[0063]输入装置240可允许操作者将信息输入到装置130中。举例来说,输入装置240可包含键盘、鼠标、笔、麦克风、遥控器、音频捕获装置、图像及/或视频捕获装置、触摸屏显示器及/或另一类型的输入装置。在一个实施例中,装置130可经远程地管理且可不包含输入装置240。换句话说,装置130可为“无头的”,且举例来说,可不包含键盘。
[0064]输出装置250可将信息输出给装置130的操作者。输出装置250可包含显示器、打印机、扬声器及/或另一类型的输出装置。举例来说,装置130可包含显示器,其可包含用于将内容显示给客户的液晶显示器(IXD)。在一个实施例中,装置130可经远程地管理且可不包含输出装置250。换句话说,装置130可为“无头的”,且举例来说,可不包含显示器。
[0065]通信接口 260可包含使得装置130能够与其它装置及/或系统通信的收发器(例如,发射器及/或接收器)。通信接口 260可经由无线通信(例如,射频、红外及/或视觉光学器件等等)、有线通信(例如,导电线、双绞线电缆、同轴电缆、传输线、光纤电缆及/或波导等等)或无线与有线通信的组合进行通信。网络接口 260可包含将基带信号转换为射频(RF)信号的发射器及/或将RF信号转换为基带信号的接收器。网络接口 260可耦合到用于发射及接收信号的天线。
[0066]网络接口 260可包含逻辑组件,所述逻辑组件包含输入及/或输出端口、输入及/或输出系统及/或促进将数据发射到其它装置的其它输入及输出组件。举例来说,网络接口 260可包含用于有线通信的网络接口卡(例如,以太网卡)及/或用于无线通信的无线网络接口(例如,WiFi)卡。网络接口 260还可包含用于经由电缆通信的通用串行总线(USB)端口、Bluetooth?无线接口、射频识别(RFID)接口、近场通信(NFC)无线接口及/或将数据从一种形式转换为另一形式的任何其它类型的接口。
[0067]如下文所描述,装置130可执行与隧道代理有关的某些操作,所述隧道代理经配置以基于所请求服务特性而建立及管理通信隧道。装置130可响应于处理器220执行计算机可读媒体(例如存储器230)中所含有的软件指令而执行这些操作。计算机可读媒体包含非暂时性存储器装置。存储器装置可实施于单个物理存储器装置内或跨越多个物理存储器装置散布。可将软件指令从另一计算机可读媒体或从另一装置读取到存储器230中。存储器230中所含有的软件指令可致使处理器220执行本文中所描述的过程。或者,可代替或结合软件指令来使用硬连线(例如,固定)电路以实施本文中所描述的过程。因此,本文中所描述的实施方案并不限于硬件电路及软件的任何特定组合。
[0068]虽然图2展示装置130的示范性组件,但在其它实施方案中,装置130相比图2中所描绘的组件可包含更少的组件、不同的组件、额外组件或不同布置的组件。另外或替代地,装置130的一或多个组件可执行描述为由装置130的一或多个其它组件执行的一或多个任务。管理装置150可类似地被配置为装置130。
[0069]图3是图解说明装置130的示范性通信层的框图。装置130的功能组件可(举例来说)由执行来自存储器230的指令的处理器220实施。另外或替代地,装置130的功能组件可经由一或多个ASIC的硬连线(例如,固定)电路来实施。如图3中所展示,装置130可包含服务层310、覆盖网络层320及装置层330。
[0070]在一个实施例中,服务层310使得客户端能够搜索特定服务类型的服务实例且使得客户端能够将请求发送到特定服务实例。可经由在一个实施例中对服务的实际实施方案不可知的标准化服务接口来访问所述服务。服务实例可与明确边界相关联。在此实施例中,在装置130上运行的特定过程及/或存储于装置130上的特定数据无歧义地驻存在服务实例内或服务实例外部。一服务实例相对于其它服务实例可为自主的。举例来说,可修改特定服务实例(例如,可重写代码),而不会负面地影响与所述特定服务实例交互的其它服务实例。一服务可能与(相同类型或不同类型的)其它服务实例共享模式及/或合约,但在一个实施例中,不共享服务实施方案。模式规定由服务接口发送或接收的消息的格式及内容。合约规定由服务接口发送或接收的容许消息序列。
[0071]可将一或多个服务共同地部署为一捆绑件。捆绑件可对应于充当系统中的部署单元的服务。系统中能够部署特定捆绑件、对应于一或多个服务的群组的节点充当捆绑件主机。捆绑件存储库服务可将捆绑件集合存储于系统中。因此,当服务管理器选择部署服务时,所述服务管理器可需要定位能够部署与所述服务相关联的捆绑件的捆绑件主机。所述服务管理器可联系服务注册表以定位捆绑件存储库服务。所述服务管理器可接着联系所述捆绑件存储库服务以识别捆绑件。所述服务管理器可选择捆绑件且可接着搜索服务注册表以识别可部署选定捆绑件的适合捆绑件主机。所述服务管理器可接着联系所述捆绑件主机且可指示捆绑件主机部署与所述服务相关联的捆绑件。
[0072]在一个实施例中,覆盖网络层320在现有网络拓扑的顶部上实施覆盖网络。覆盖网络层320可负责将业务路由穿过防火墙及/或处理基础网络拓扑中的网络地址转译(NAT)。在一个实施例中,覆盖网络拓扑(例如,其可不同于基础网络拓扑)包含以树状结构组织的节点。覆盖网络拓扑在逻辑上连接所述节点。在其它实施例中,覆盖网络拓扑可包含不同类型的结构(例如,网状拓扑)。装置130中的每一服务主机可对应于覆盖网络中的节点且可被指派节点识别符(ID)。如上所提及,装置130可包含多个服务主机及/或多个节点。可将装置130描述为包含对应于一个节点的一个主机。所述节点可经由网络拓扑(例如路由树)来连接,且节点可经由路由树将消息发送到另一节点。在一个实施例中,节点可经由基础网络拓扑将消息发送到另一节点,而所述消息并不遍历覆盖网络拓扑。每一节点可存储用以到达其在覆盖网络(以及例如网络110等基础网络)中的相邻者的信息(例如,基础网络的地址)。覆盖网络层320可对应于节点之间的通信层且可使用多个网络拓扑来实现特定功能。举例来说,当针对特定类型的服务搜索服务注册表时,覆盖网络层320可在于服务注册表中搜索的同时遍历节点树的边缘。在一个实施例中,当将消息从第一节点发送到第二节点时,覆盖网络层320可将消息从第一节点直接发送到第二节点,而非通过沿循树的边缘。覆盖网络层320可将节点ID提供到服务层310,且服务层310可将消息发送到特定节点ID,而不需要知晓基础网络拓扑。
[0073]在一个实施例中,装置层330在SOA系统服务总线140的初始安装期间执行装置发现。装置层330及/或覆盖网络层320还可在初始安装之后执行节点发现,及/或可重新发现曾离线且在稍后时间重新加入覆盖网络的丢失节点。在一个实施例中,覆盖网络层320管理覆盖网络的共享秘密(例如证书),所述共享秘密使得节点能够验证彼此的身份。覆盖网络层320可基于一或多个接近度度量而形成覆盖网络的拓扑(例如,路由树或网格)。然而,从第一节点到第二节点的消息不需要遍历路由树且可代替地从第一节点被直接发送到第二节点。在另一实施例中,从第一节点到第二节点的消息遍历路由树。此外,覆盖网络层320可基于多播群组而发送多播消息。此外,覆盖网络层320可为服务层310提供服务质量(QoS)保证。
[0074]尽管网络层320通常涉及“节点”,但装置层330通常涉及“装置”。装置层330对应于装置130的下部功能性层级,包含使用基础网络拓扑(例如,网络110及/或子网络120)进行通信所需的功能性。举例来说,在一些实施方案中,装置层330可实施开放系统互连(OSI)模型的层I到6(例如,物理层、数据链路层、网络层、输送层、会话层及呈现层)。这些层的实施方案可包含路由以太网帧、路由因特网协议(IP)包、会话管理、加密及解密包、重新发射丢失的包等等。
[0075]虽然图3展示装置130的示范性功能组件,但在其它实施方案中,装置130相比图3中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。另外,装置130的组件中的任一者(或任何组件群组)可执行描述为由装置130的一或多个其它功能组件执行的功能。
[0076]图4A是图解说明服务层310的示范性功能组件的框图。如图4A中所展示,服务层310包含服务主机415。服务主机415可包含一或多个服务410-A到410_N(统称为“月艮务410”且个别地称为“服务410”)、一或多个客户端420-A到420_K(统称为“客户端420”且个别地称为“客户端420”)、消息调派器430及服务注册表440。
[0077]服务410对应于与装置130的服务层310的服务主机415相关联的服务实例。在一个实施例中,服务410包含服务接口 412及服务实施方案414。服务接口 412可包含通信协议,例如标准化通信协议。在一个实施方案中,通信协议包含唯一名称及版本。可使用简单对象访问协议(SOAP)接口规范、JavaScript对象记法(JSON)接口规范及/或另一类型的接口规范来规定服务接口 412。服务实施方案414包含服务410的实施方案。服务实施方案414处理经由服务接口 412接收的请求及/或通过服务接口 412对服务请求做出响应。服务接口 412可将从服务实施方案414接收的响应转换成与客户端420用来与服务410交换消息的恰当协议兼容的特定格式。
[0078]在一个实施例中,客户端420通过将请求发送到服务注册表440来请求特定服务类型的服务实例。一旦识别并选择了服务实例,客户端420便可经由消息调派器430将请求发送到经识别及选择的特定服务实例。如上文所论述,客户端420也可为服务410。术语“客户端”或“客户端服务”将服务识别为正请求另一服务的服务。
[0079]消息调派器430从客户端420接收传入消息并将其引导到为传入消息的既定接收方的服务410。此外,消息调派器430可从服务接收消息并将所述消息发送到特定客户端420。如果传入消息的目的地不在与消息调派器430相同的装置130上,那么可将所述消息转发到覆盖网络层320以供转发到正确的装置130。服务410及客户端420可充当由覆盖网络层320实施的覆盖网络中的端点。因此,在一个实施例中,覆盖网络层320可维持基于覆盖网络的路由树的路由表。所述路由表可包含特定节点ID的下一些跳跃目的地的列表。消息调派器430可识别传出ID的下一跳跃目的地且可将消息提供到覆盖网络层320以供递送。因此,在此实施例中,消息调派器430实施请求-响应消息接发机制。
[0080]服务注册表440维持经部署服务410的列表连同与所述经部署服务(例如,服务的实例)相关联的特性。下文参考图4C更详细地描述服务注册表440的示范性组件。服务410可通过给服务注册表440提供所述服务的描述(例如,包含服务的特性)而在服务注册表440中注册。由于客户端420也可为服务410,因此客户端420也可在服务注册表440中注册。
[0081]图4B是图解说明服务注册表440的功能性的框图。如
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1