个人区域网络中的分布式服务开发
立即解锁
发布时间: 2025-08-22 02:10:18 阅读量: 2 订阅数: 6 


网络社会的新方法与实践:信息系统开发进展
# 个人区域网络中的分布式服务开发
## 1 引言
随着智能手机、个人数字助理(PDA)和笔记本电脑等无线终端数量的不断增加,人们需要一种简单且符合人体工程学的方式来设置、配置和重新配置个人区域网络(PAN)。为满足这一需求,出现了用于个人区域网络应用互连的中间件(MAIPAN),它能将参与PAN的各个设备隐藏起来,让运行在这些设备上的应用程序的功能就像位于一台计算机上一样,为分布式应用程序提供统一的计算环境,方便在移动和游牧环境中进行分布式服务开发。
## 2 相关工作
中间件是普适和移动计算环境的重要组成部分。传统的中间件(如CORBA)不太适合移动环境,如今有多个相关项目正在进行:
- **AURA项目**:为每个用户提供无论位置如何都能持续存在的无形计算和信息服务光环。
- **Gaia项目**:设计中间件基础设施,以实现数据和任务始终可访问,并动态映射到用户当前位置的便捷资源的活跃空间。
- **Oxygen项目**:旨在开发非常智能、用户友好且易于使用的移动设备,使用户能够通过语音和手势自然地与系统进行通信。
- **Portolano项目**:设计了one.world架构,这是一个用于构建普适应用程序的综合框架。
- **Cortex项目**:致力于开发一类独立于人类控制运行的新应用程序。
- **EasyLiving项目**:旨在创建智能的家庭和工作环境。
- **Speakeasy方法**:专注于使用移动代理和移动代码指定设备之间的最小接口。
- **虚拟设备概念**:将用户个人区域网络中的所有自主设备视为一个具有多个输入和输出单元的大型虚拟设备,为用户提供连贯的周边接口。
与虚拟设备概念类似,MAIPAN将整个个人区域网络视为一个单一设备呈现给应用程序。不同的是,MAIPAN在安全访问控制机制和可转移控制角色的使用方面采用了新颖的方法,能确保同一用户的各种设备无缝协作,保护一个用户的设备免受其他用户设备的侵害,同时还能实现不同用户设备之间的受控通信和借用。
## 3 MAIPAN - 个人区域网络应用互连中间件
### 3.1 基本概念和定义
MAIPAN基于三个概念:引脚(pins)、通道(channels)和会话(sessions)。
- **引脚(pins)**:提供服务的应用程序具有输入和输出端口,这些端口被称为引脚。引脚是应用程序与中间件的连接点,中间件将PAN中的应用程序视为一组输入和输出引脚。引脚有预定义的类型,显示其可以发出或吸收的数据类型,即应用程序可以处理的信息类型(如鼠标移动、按键操作),可根据需要随时定义新类型。调度程序应用程序负责连接具有适当类型的引脚。
- **通道(channels)**:为了实现引脚之间的通信,中间件创建和重新配置通道,通道是连接引脚的点对点链接。使用PAN服务所需的一组通道称为会话。
- **会话(sessions)**:使用PAN服务所需的通道集合。
MAIPAN区分设备、应用程序和服务。“设备”指物理设备,“应用程序”指提供“服务”的软件。例如,鼠标是一个“设备”,运行着“鼠标应用程序”,提供“鼠标服务”。
### 3.2 安全和访问控制
安全和访问控制功能在设备级别定义和处理。这意味着对服务(即对应用程序引脚)的访问权限是授予设备的,如果一个设备获得使用给定服务的权限,那么该设备上运行的所有应用程序都将能够访问该服务。
运行在设备上的调度程序应用程序充当控制实体,可以设置和重新配置会话。控制实体需要检查并请求必要的访问权限,以使用户能够使用给定服务。例如,PDA可以作为主要控制实体,管理PAN。PAN中的其他设备称为参与者,在特殊情况下,参与者可以将访问控制权限委托给其他设备,这些设备称为管理器。
### 3.3 会话转移
在PAN中,至少需要一个设备充当控制实体。如果该设备消失,所有相关会话将自动终止。为了保持会话,MAIPAN提供了将会话从当前控制实体转移到另一个设备的可能性。
例如,在会议室中,一名用户创建了一个mp3播放会话,其设备成为会话的控制实体。当该用户想要离开时,可以通过告知MAIPAN新控制实体的身份(如另一个用户的PDA)将会话转移。
### 3.4 会话重新配置
当参与者消失(如用户离开房间或设备电池耗尽)时,相关通道将自动断开连接,会话需要重新配置。具体步骤如下:
1. MAIPAN通知相应的调度程序有关该事件。
2. 调度程序应用程序决定使用哪些服务来替代消失的服务。如果有多种替代可能性且用户偏好未知,调度程序可能会请求用户参与决策;如果只有一种选择或用户偏好已知,调度程序可以自行决定。
3. 调度程序建立新通道或终止相关会话。
### 3.5 架构
MAIPAN的架构分为数据平面和控制平面:
- **数据平面**:旨在为应用程序之间提供有效且安全的数据传输。
- **控制平面**:负责管理引脚、通道、会话,并处理安全和访问控制。
### 3.6 数据平面
应用程序通过引脚将数据发送到中间件,通道连接器层将数据重定向到相应的通道。传输层创建数据包并提供诸如流量控制、重新排序、自动重传、服务质量等功能,但由于当前中间件版本运行在TCP/IP之上,这些功能尚未实现。连接层为数据包添加必要的信息,如源和目标设备的地址以及通道标识符。最后,加密层计算消息完整性检查(MIC)值,并在必要时对数据包进行加密。
### 3.7 控制平面
控制平面包含管理PAN所需的控制功能:
- **服务控制部分**:注册应用程序提供的本地服务,处理其访问权限,并与服务发现协议进行通信。
- **通道控制部分**:创建和重新配置由调度程序应用程序发起的会话,根据调度程序的需求要求参与设备的引脚控制部分在引脚之间建立通道。
- **引脚控制部分**:指示通道连接器层创建通道,在传输层激活给定通道所需的传输功能,并在连接层设置给定通道的目标。
- **安全控制部分**:发起和协调设备之间的认证过程,管理服务访问权限,并存储通信所需的必要信息(如安全密钥)。
### 3.8 实现
MAIPAN在Linux上用C语言实现。在这个实
0
0
复制全文
相关推荐










