AllJoyn高层系统架构

来源:互联网 发布:出租屋网络管理 编辑:程序博客网 时间:2024/04/30 17:43

从用户的角度来看AllJoyn系统,了解架构最重要的一块就是客户端、服务或对等点。从系统的角度来看,三个基本用例之间确实也没有差异,仅仅是系统提供的相同功能的不同使用模式。

客户端、服务和对等点

图12显示了用户角度(守护进程)的系统架构。在最高层级是语言绑定。AllJoyn系统是使用C++编写的,所以对于这种语言的使用者就不需要进行绑定了。但是,对于其它语言如Java或JavaScript的用户,就会提供相对轻量级的转换层称为语言绑定。在某些情况下,绑定可被扩展到提供指定系统的支持。例如,普通的Java语言绑定将允许AllJoyn系统可以在Windows或Linux下运行的一般Java环境中使用;但是,也可以提供Android系统绑定,将AllJoyn系统更加紧密地集成到指定的Android结构中,例如Android应用框架中的服务组件。

系统和语言绑定是建立在一个辅助对象层上,设计它的目的就是为了让AllJoyn系统中常见的操作更容易。不使用这些辅助对象也可以操作AllJoyn系统,但是我们鼓励使用它,因为它提供了另一个层次的抽象接口。前面章节中提到的总线附件,就是这样一种重要的辅助对象,它在所有的系统中都是可用的。除了提供的几个关键功能,总线附件还提供非常方便的功能,使对底层软件总线的管理和互动更容易。

在辅助层之下是消息和路由层。它们的主要功能是负责对总线发送的消息中的参数和返回值进行封装和解封。路由层安排将消息传递到适当的总线对象和代理,并安排其它总线附件的接收消息被发送到总线守护进程。

消息和路由层与端点层进行通信。在较低层的AllJoyn系统中数据从一个端点传送到另一个。从网络代码的角度来说这是抽象的通信端点。网络抽象全部在端点层的顶部,所以通过蓝牙连接和通过有线以太网连接之间基本上没有差异。


图12. 基本的客户端、服务或对等点架构

端点专指传输机制的具体实体,它提供了基本的网络功能。在客户端、服务或对等点的情况下,网络传输的唯一渠道就是本地传输。这是与本地AllJoyn总线守护进程之间的本地进程间通信。在基于Linux的系统中,这是一个Unix域套接字连接,而在基于Windows的系统中,这是一个和本地守护进程的TCP连接。

AllJoyn还提供了操作系统抽象层,它提供了建立系统其余部分的平台,并且在最底层就是本机系统。

守护进程

AllJoyn守护进程就像胶水一样将各个AllJoyn系统连接到一起。如前所述,守护进程在后台运行,等待相关事件的触发并响应它们。因为这些事件通常是外部的,那么最好从自下而上的角度来接近守护进程架构。

在图13中的最底层就是本机系统。我们使用和客户端架构中相同的操作系统抽象层,来为Linux,Windows和Android上运行的守护进程提供共同的抽象。我们有守护进程的各种底层网络组件运行在操作系统抽象层上。由于客户端、服务和对等点只使用本地进程间通信机制与守护进程进行通信,所以守护进程就必须处理给定平台上的各种可用传输机制。注意,图13中的“本地(Local)”传输是运行在特定主机上的AllJoyn客户端、服务和对等点的基础连接。


图13. 基本守护进程架构

蓝牙传输处理了蓝牙系统中的微网的创建和管理的复杂性。此外,蓝牙传输还提供了适当的蓝牙服务广播和发现功能,以及提供了可靠的通信。

有线、Wi-Fi和Wi-Fi Direct传输都在IP下被分组,因为所有这些传输都使用底层的TCP-IP网络协议栈。如何完成服务广播和发现有时具有显著的差异,因为该功能在TCP-IP标准范围之外,所以有模块专门支持这个功能。

各种特定技术的传输实现都被聚合到网络传输抽象中。会话模块将处理通信连接的建立和保持,使守护进程和其相关的客户端、服务和对等点集合为一个统一的软件总线。

AllJoyn守护进程使用端点的概念来提供与本地客户端、服务和对等点的连接,而且将这些对象扩展为“总线-总线”的连接,它可以被守护进程用于主机到主机的消息传输。

除了这些连接所隐含的路由功能,AllJoyn守护进程还提供了其总线对象相应端点管理或控制守护进程实现的软件总线段。例如,当一个服务请求广播well-known总线名称时,实际上是服务中的辅助对象将这个请求转换为远程方法调用,并指向守护程序实施的总线对象。和服务的情况类似,守护进程有许多总线对象位于相关的对象路径,来实现特定名称的接口。控制AllJoyn总线的底层机制,就是向这些守护进程的总线对象发送远程方法调用。

守护进程操作的某些方面的整体操作都由配置子系统进行控制。这允许系统管理员指定系统中的某些权限,并提供按需创建服务的能力。此外,守护进程配置也可以限制资源消耗,例如,允许系统管理员限制任何特定时间的活跃TCP连接的数量。还有选项可以允许系统管理员降低某些拒绝服务攻击的影响,通过限制目前登陆的连接数。

官方网站:

https://www.alljoyn.org 
https://developer.qualcomm.com/develop/mobile-technologies/peer-peer-alljoyn


更多开发信息请访问:高通开发者专区


0 0
原创粉丝点击