1、无线、移动中间件,无线CORBA,传统中间件在移动网络中所面临的挑战 移动环境下TCP/IP需要解决的问题 无线信道的突发性错误 较大的延时变化 移动主机越区切换造成的TCP拥塞和丢包 移动环境下移动透明性问题 移动主机的地址变化要求消息必须发送到新的地址 客户端意识不到服务端的移动,无线CORBA,无线CORBA核心技术 终端域 访问域 宿主域,终端域,访问域,突发事件提供者,ORB服务agent,终端桥,GIOP隧道,访问桥,访问桥,访问桥,访问桥,服务,宿主域,宿主定位agent,命名服务,无线CORBA,终端域:一般为客户域,是整个服务的发起者;包括: 服务代理:为透明访问访问域的服务
2、,实现命名服务绑定的自动更新和迁移; 移动事件提供者:提供消息响应机制; 终端桥:为终端域和访问域之间的接口,也是移动网和固定网之间的网关,无线CORBA,访问域:为CORBA服务提供域,主要包括服务和访问桥 访问桥为终端桥的对应部分,负责初始化访问,提供透明的IOR, 完成连接迁移和访问的恢复以及位置相关的一些函数; 访问桥与终端之间为GIOP隧道,实现系统的透明通信;移动终端与服务代理连接,将请求提交给服务代理,服务代理代表移动终端并根据请求通过GIOP隧道与服务器交互,然后将结果返回移动终端;,无线CORBA,宿主域:提供位置透明服务,包含 命名服务:提供基本的名字服务,交易器服务; 宿
3、主位置代理:提供位置向导服务,实现位置透明性. 移动IOR:包含传统的IIOP profile,可以发送请求到HLA,也包含移动终端profile,来指示移动终端的信息,Repository ID,IIOP Profile,HLA (ip,port),对象 引用,Mobile Terminal Profile,Teiminal ID,Object Key,TAG_HLA,移动IOR格式,无线CORBA,切换:包括三个步骤:信息收集阶段,决策阶段和执行阶段 网络端发起的切换流程:当外部程序对访问桥激发切换操作start_handoff时,发生此种切换旧的访问桥调用新的访问桥上的transport
4、_address_request操作,判断新的访问桥是否接受终端若 不接受,继续使用旧的访问桥服务:如果接受终端,旧的访问桥发送HandoffTunnelRequest消息给终端桥,终端桥建立到新访问桥的连接新访问桥激发HLA上的location_update操作,并且发送EstablishTunnelReply消息到终端桥。然后新访问桥调用就访问桥上的handoff_completed操作,指示切换完成,可以释放终端桥与旧访问桥之间的连接,无线CORBA,终端发起的切换流程,Old AB,new AB,HLA,Establishment of transport connectivity,E
5、stablish TunnelRequest,Handoff_in_progress,Establish TunnelReplay,Release TunnelRequest,Release TunnelReply,HandoffNotification,Notify other ABs,Departing TeminalNotification,Location_update,Arriving TerminalNotification,无线CORBA,访问恢复流程,Old AB,Establishment of transport connectivity,Establish TunnelR
6、equest,Establish TunnelReplay,RecoveryNotification,Retransmissions,RecoveryNotification,终端发起的切换MSC,无线CORBA,访问恢复流程,Old AB,new AB,HLA,Establishment of transport connectivity,Establish TunnelRequest,Recovery_request,Establish TunnelReplay,HandoffNotification,Notify other ABs,Departing TeminalNotificati
7、on,Location_update,Arriving TerminalNotification,Retransmission thru the New Access Bridge,无线CORBA,移动客户调用移动服务流程:,9 终端域 Server,终端桥,GIOP隧道,访问桥,11 访问域,访问桥,终端桥,1,5,13 终端域 client,宿主域,宿主定位agent,7,11,10,8,12,2,6,3,无线CORBA,移动客户调用移动服务流程: 移动客户发送服务对象调用请求; 客户终端桥得到消息,解封装并发送到GIOP隧道; 客户访问桥收到消息,封装并发送到; 如果HLA有服务所属的访
8、问桥消息,回应LOCATION_FORWARD状态,并返回移动IOR; 当客户接受到HLA响应后,它发送新的移动IOR请求到服务所属于的访问桥(步); 客户终端桥利用GTP协议封装请求消息,发送到GIOP隧道; 客户访问桥接收到消息,解封装并发送到服务访问桥; 服务访问桥得到消息,利用GTP协议封装消息,发送到GIOP隧道; 服务终端桥得到消息,解封装,进行操作,并发送响应给客户(步);,无线CORBA,移动客户调用移动服务流程: 服务终端桥得到响应消息,解封装并发送到GIOP隧道; 服务访问桥得到消息,封装并发送到GIOP隧道; 客户访问桥收到消息,封装并发送到GIOP隧道; 客户终端桥解封
9、装消息,客户接受到响应,移动代理技术概述,移动代理系统结构 由移动代理和移动代理服务设施两部分组成; 移动代理服务设施基于代理传输协议实现代理在主机间的转移;为其分配执行环境和服务接口; 代理在服务设施中执行,通过代理通信语言相互通信并访问服务设施提供的服务 可分为以下相互关联的模块: 安全代理: 代理与外界环境通信的中介; 环境交互模块; 实现语义,保证代理与服务设施之间的正确通信和协调; 任务求解模块;包括代理的运行模块及代理任务相关的推理方法和规则 知识库;代理所感知的世界和自身模型,保存获取的知识和任务求解结构 内部状态集;代理执行过程中的当前状态; 约束条件;代理创建者为保证代理的行
10、为和性能所做的约束 路由策略:决定代理的移动路径,移动代理技术概述,移动代理结构模型:,外部环境(服务设施或其它agent),安全策略,安全代理,环境交互模块,知识库,运行模块,方法及推理规则,内部状态集,约束条件,路由条件,任务求解,移动代理技术概述,移动代理系统结构: 服务设施提供移动代理的基本服务: 生命周期服务:实现代理的创建,移动,持久化存储和执行环境分配; 事件服务:包括代理传输协议和代理通信协议,实现代理间的事件传递; 目录服务:提供定位代理的信息,形成路由选择; 安全服务:提供安全的代理执行环境; 应用服务:任务相关的服务,提供面向特定任务的服务接口,移动代理关键技术,移动代理
11、理论模型 一般是基于系统,也称为意识系统,是把代理看做理性主体,通过信念(Belief),愿望(Desire)和意图(Intention)属性来预测代理的行为 对于设计者和分析者,自然; 便于简洁的描述复杂系统的行为; 不依赖于具体物理实现就可以得到主体的规则和模式; 可被代理自身用来互相推理,移动代理关键技术,代理通信语言ACL : 基于语言行为理论,定义了代理及服务设施间协商过程的语法和语义 常用的ACL有KQML(Knowledge Query and Manipulation Language)和FIPA ACL 代理传输协议 定义了移动代理传输的语法和语义,具体实现了移动代理在服务设
12、施间的移动机制 提出的框架结构定义了一组原语性的接口和基础信息集,移动代理关键技术, 协议,Dispatch分派,Retract招回,Tetch提取,Message消息,Response响应, 协议,示意图,移动代理关键技术,路由策略:固定路由,基于规则及目录服务的动态路由系统性能影响及其测试工具 容错策略 互操作性 控制策略 强移动性,移动代理中的安全,一定代理系统的安全涉及到以下方面: 移动代理之间通信的安全保护; 保护执行环境免受潜在的恶意代理损害(主机) 沙箱:代理运行环境限制移动代理访问本地资源权限 认证,授权:运行环境通过数字签名对移动代理进行身份认证,判断其是否合法 检验传输代码
13、:运行环境能验证移动代理是否遵守安全规则 保护移动代理免受潜在的恶意服务器和环境的攻击(保护移动代理) 基于检测的安全性:根据检测结果判断是否受到攻击; 主动的保护措施:比如黑匣子算法,移动代理系统组织及其规范,OMG下属的代理Working Group和FIPA等; OMG的MASIF规范建议对代理管理,代理迁移,代理名称,代理系统名称,代理系统类型以及位置语法标准化 FIPA制定了FIPA97, FIPA 98, FIPA 99等规范其中FIPA97包括代理管理,代理软件集成,个人旅游助手,个人助理,音像娱乐及广播,网络管理及供应等节组成 1999年3月, OMG和FIPA正式成立了联络机
14、构,协调两个组织关于代理技术的工作。,典型评价系统,移动代理系统开发平台或执行环境,可分为: 基于传统解释性语言的; 基于语言的; 基于平台的; General Magic公司的Telescript 是用Telescript来完成的; 代理之间的通信有两种方式:运行在同一个空间时相互调用对方的方法;不同空间时需要建立连接,互相传递对象 比较成功,但由于JAVA的流行,必然导致其失败,典型评价系统,IBM公司Aglets 纯JAVA开发的; 提供了一个简单而全面的移动代理编程模型 为代理间提供动态和有效的通信机制; 提供了一套详细且易用的安全机制; 提供了一个上下文环境来管理Aglet的基本行为
15、; Aglet之间采用消息传递的方式来传递消息对象; Aglet Workbench是一个可视化环境,用来建立使用移动代理的网络应用,典型评价系统,IKV+的Grasshopper: 基于CORBA的移动代理平台; 符合MASIF 整个通信结构采用插件技术,扩展性好; 安全服务采用.509证书实现身份认证,采用SSL保证传输中的安全性,用户定制安全管理器来完成资源访问控制,实现了数字签名;,移动代理的应用及开发,电子商务; 个人助理 安全代理 分布式信息检索 电信网络服务 并行处理系统 基于移动代理的入侵检测系统 系统 移动数据库系统 移动代理来求解一些数学问题等 ,移动代理的应用及开发,运用移动代理技术开发应用系统的步骤: 分析系统的特点,选择合适的实现技术; 移动代理的功能设计:确定实现的数据和功能,根据功能确定内部数据 代理的接口技术:要考虑代理间交互方式,以及代理与非代理部分的交互方式 代理的详细设计:选择合适的平台; 代理的运行和维护:可靠性不高造成的,