(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf_第1页
(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf_第2页
(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf_第3页
(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf_第4页
(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(通信与信息系统专业论文)基于agent的学习资源检索模型研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘摘 要要 随着网络技术的兴起,网络教育在国内外得到了迅速发展,并已成为一种非常重 要的教育模式。然而,国内各高校网络教学资源分布广泛,难以集中;另外,各个高 校内的学习资源大多处于集中式的管理模式,不便于共享。这样,一种分布式的学习 资源服务便成为当务之急。而移动 agent 技术的出现,为上述问题的解决提供了一种 新的解决途径。 移动 agent,作为分布式系统和人工智能研究领域共同发展的产物,是一种智能 化的分布式系统,为分布式的学习资源服务在分布式管理方面提供了便利。其次,它 不仅仅有很强的交互性,还能在网络中进行迁移,便于资源信息的采集。再次,它在 迁移过程中能比对权利描述信息,实现资源的使用权利控制,为分布式资源服务的资 源共享提供了一定的安全保障。 本文在分析了学习资源服务的现状并介绍了agent的概念以后, 重点对移动agent 系统的各种检索模式进行了深入的研究和探讨,并结合各种不同的检索环境提出了一 系列移动 agent 的检索模型。在此基础上,提出了学习资源服务系统中 agent 检索系 统的整体框架。并将整个检索模型的系统框架分为四个模块,分别对各个子模块的实 现做了较为详尽的说明,并给出了测试结果。最后对全文工作进行了总结,并对进行 了基于 agent 的学习资源检索系统进行了预测和展望。 关键字:关键字:学习资源; 移动 agent; 通信模型; 检索; 迁移 ii abstract with the development of the internet technology, e-learning has made great progress around the world and becomes a very important education pattern. the e-learning resources in chinese universities, however, have been widely distributed and difficult to concentrate; moreover, the learning resources at various colleges are nearly in centralized management model, not facilitating the sharing of resources. thus, a distributed learning resources services has become a matter of urgency. the emergence of mobile agent technology provides a new avenue for settlement to solve the above problems. mobile agent, firstly as the result of the development of distributed systems and artificial intelligence research, is a product of an intelligent distributed system. it provides convenience for distributed services for the e-learning resources in the distributed resource management area. secondly, it not only has a strong interaction, but also can migrate in network. so, it makes the collection of information resources easy. furthermore, it can compare the difference between the rights expression information in migration, making the right to use of resources under the control. it provides a certain security for the sharing of distributed resources. this thesis analyzes the current work in the area of learning resources service and introduces the conception of agent. base on the existing research on communication pattern of mobile agent system, the search model in various searching condition is presented. then the thesis proposes the framework of the prototype system which is divided into four modules. the detail explanation for the each sub-module is been given next. finally, the thesis gives the summary of this thesis and the future on the searching learning resources system base on mobile agent. key words: learning resources; mobile agent; communication model; searching; migration 独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工 作及取得的研究成果。尽我所知,除文中已标明引用的内容外,本论文不 包含任何其他人或集体已经发表或撰写过的研究成果。 对本文的研究做出 贡献的个人和集体, 均已在文中以明确方式标明。 本人完全意识到本声明 的法律结果由本人承担。 学位论文作者签名: 日期:2007 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许 论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部 分内容编入有关数据库进行检索, 可以采用影印、 缩印或扫描等复制手段 保存和汇编本学位论文。 保密,在_年解密后适用本授权书。 本论文属于 不保密 。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期:2007 年 月 日 日期: 年 月 日 1 1 1 绪绪 论论 1.1 课题来源及研究目的和意义课题来源及研究目的和意义 本课题来源于十一五国家科技支撑计划课题现代教育知识服务体系支撑技术研 究以及高等学校科技创新工程重大项目培育资金项目国家知识服务体系支撑技术 研究 (项目编号:705038) 。 网络教育(e-learning)是当今国际国内教育发展的新生长点,也是现代教育技 术的主流发展方向之一。它充分利用现代信息技术所提供的、具有全新沟通机制与丰 富资源的学习环境,实现了一种全新的学习方式。学习资源服务则是网络教育领域的 核心问题之一。 本课题所指的学习资源,是在网络教育中,以数字化文本、图片、视频、音频、 动画等在因特网上可以传播和网页上可以显示的形式存在,并在网络教育中作为资源 实体被教学者所制作、被管理者所管理、被学习者所消费的数字化学习资源,它可能 是单一媒体的数据文件,也可能是多种媒体格式混合的数据文件包,比如一段视频、 一幅图片、一个课件、一门网络课程等都是学习资源。 在国家教育信息化建设的前期投入和实施中, 国家科技部、 教育部先后实施了 “网 络教育关键技术及示范工程” ,缩小“数字鸿沟”西部行动计划, “农村中小学现代远 程教育工程”等项目,这使得现代网络教育技术与应用得到了长足的发展。目前,全 国已有 68 家试点院校,受教育学生超过 400 万,开发了 9000 余门课程。国内教育信 息化得到了长足的发展,教育资源建设初见成效,以“百门精品课程”为代表的大量 的教育资源已经开发出来并开始发挥作用,为今后大幅提高国内教育信息化资源建设 水平奠定了坚实的基础。 然而,在辉煌的成绩的背后,还要看到一些现在亟待解决的问题。目前,国内各 高校网络教学资源分布广泛, 难以集中, 一种分布式的资源服务成为当务之急。 另外, 各个高校内的学习资源大多处于集中式的管理模式,不便于共享。而且由于缺乏一种 有效的资源使用权利控制,高校也不愿意把辛辛苦苦创建的学习资源白白贡献出来。 于是,大量的学习资源被不同高校进行重复性建设,学习资源的建设水平始终无法迅 速提高。 而移动 agent 技术的出现,为上述问题的解决提供了一种新的解决途径。首先, 它作为分布式系统和人工智能研究领域共同发展的产物,是一种智能化的分布式系 2 2 统,为分布式的学习资源服务在分布式管理方面提供了便利。其次,它不仅仅有很强 的交互性,还能在网络中进行迁移,便于资源信息的采集。再次,它在迁移过程中能 比对权利描述信息,实现资源的使用权利控制,为分布式资源服务的资源检索提供了 一定的安全保障。另外,移动 agent 还能根据用户的偏好对资源信息进行处理,使个 性化资源服务成为可能。 综上所述, 本课题拟采用移动 agent 技术为技术基础, 建立学习资源的检索模型。 1.2 研究现状研究现状 目前,国内外将移动 agent 技术与学习资源检索模型相结合的研究还处于初级阶 段,主要集中在学习资源的分类管理和学习资源的知识化处理两方面。 在学习资源的分类管理方面,主要是按照网络教育前期研究中所形成的一些标准 的信息模型,对资源进行分类管理。移动 agent 技术主要用于对资源信息的采集、资 源信息的检索及资源信息的交互上1。由于移动 agent 能智能的对信息进行处理,所 以在这个方向上, 大多讨论信息的智能处理, 使用户能按自己的偏好进行资源的检索。 国外在这个方面有比较突出的贡献,除了对信息进行处理外,还利用移动 agent 进行 资源使用统计,划分资源的使用等级,对资源进行地域上的调度2。 在学习资源的知识化处理方面,移动 agent 技术的 agent 通信语言(agent communication language, acl)与语义本体的结合一直是一个研究热点。移动 agent 技术不仅仅用于资源信息的采集,还用于资源本身的分析。在学习资源与 agent 的交 互过程中,agent 对资源进行分析,采集其语义信息,携带或通过 acl 进行语义信息 的传输3。在这类研究中,移动 agent 只携带少量的语义信息,而不携带资源本身, 以便于它在网络中的迁移。虽然本课题只涉及资源服务中的 agent 检索模型,对资源 的知识化处理不作研究,但研究学习资源的知识化处理不失为一个好的研究方向。 1.3 本文研究内容与结构本文研究内容与结构 本文将主要研究基于移动 agent 的分布式资源检索模型,在 agent 通信领域,至 今还没有一个统一的通信语言标准和模型。本文将针对学习资源的特性,进行 agent 通信语言的扩展,研究适合资源服务的 agent 检索模型。拟在国内外较为认可的知识 查询与操作语言(knowledge query and manipulation language, kqml)上进行扩展, 结合资源语义及资源交互性操作,定义 agent 交互操作元语,扩展 kqml 的逻辑处 理元素,使其服务于学习资源服务的通信层。在此基础上,研究 agent 携带学习资源 进行交互通信的模式,针对协作式的特性,重点研究多 agent 协作资源检索模式,建 3 3 立适合学习资源检索的检索模型。最后在 aglets 平台上实现一个简单的原型系统,并 作了基本的实验,用测试数据比较一下传统的客户端/服务器(client/server, c/s)结 构系统与基于 agent 技术系统的特点。 本文共分六章,内容安排如下: 第一章 绪论 本文的项目概况和项目实现技术的总体综述。这一章首先介绍了项目背景,概述 了本文研究课题的来源、目的与意义,然后阐述了本课题各研究点在国际国内的研究 现状,最后了对本文内容及整体结构作了说明。 第二章 agent 相关介绍 介绍了 agent 及其相关概念,重点介绍移动 agent 的系统结构及目前的一个较主 流的移动 agent 系统平台aglets 平台及其应用。 第三章 移动 agent 的检索模式 本章首先比较了传统 c/s 结构与移动 agent 结构的区别,然后结合移动 agent 在 检索中所出现的问题详细阐述了移动 agent 在检索中的迁移模式以及任务模式,并给 出了检索中的相关应用。 第四章 学习资源的检索模型 本章主要从学习资源环境的实际情况入手,针对分布式学习资源集中管理问题以 及学习资源标准化不规范的问题进行考虑,提出了一个基于域的学习资源检索模型, 并给出了初步的学习资源标准化解决方案。 第五章 原形模型开发 本章主要对系统进行设计,模块划分,并对各模块的具体实现方式进行展开,最 后给出一些测试结果,并与其它方式的检索进行比较,得出结论。 第六章 结束语 论文的总结以及对研究课题的预测和展望。 4 4 2 agent 相关介绍相关介绍 软件 agent 技术的诞生和发展是人工智能技术和网络技术发展的必然结果。人工 智能技术的发展加快了软件智能化的进程,越来越多的软件具备了面向目标,自主决 策和自主行为的能力;另一方面,网络技术的发展使网络成为软件的主要运行载体越 来越多的软件不仅仅在一台单独计算机环境上运行,而是在网络环境上进行分布式运 行。软件的智能化和网络化发展的结果,导致了软件 agent 技术的迅速发展,成为一 种新的在分布式环境下,解决复杂问题的技术途径,为智能分布式应用系统的建立提 供了支持。下面主要介绍一下软件 agent 的主要相关技术背景。 2.1 agent 介绍介绍 2.1.1 agent 定义 agent 至今没有一个统一的定义,比较统一的说法有强、弱两个层次的定义4。 弱定义:agent 是一个基于软件(在较多情况下)或硬件的计算机系统,它拥有以下 特性:自治性、社会能力、反应性和能动性。强定义 agent 在弱定义的特性基础上, 还要包括情感等人类的特性。agent 是一个具有自治能力的实体,这个实体是一个由 软件或硬件支持下的系统,一般以软件为多,也是当今研究的热点。这种软件能够在 目标的驱动下采取社交、 学习等行为对环境的变化做出主动的反映, 完成特定的任务。 国内有学者把 agent 译为由多种智能品质构成的有机整体“智能体” ,比较好的 表达了 agent 所包含的内容5。 agent 的定义虽然并不统一, 但目前公认的 agent 应该具备的几个特点是明确的, 即: 自治性(自主性) ,agent 可以在完成大部分任务时具有自主行为能力,不需要人 或者其他 agent 的指导; 协作性(社会性) ,agent 可以在需要其他 agent 或者人的帮助的时候与他们进行 交互,也可以为在必要的时候为其他 agent 或者人提供帮助; 响应性(反应性) ,agent 可以感知外界环境的变化,并及时做出反应,对自身进 行相应的改变; 前瞻性(预知性) ,agent 对周围环境有一定的预知能力,在合适的时候能够主动 5 5 采取一些有目的的行为。 一般来说,软件 agent 可以分为三类6:最简单层次上的是 gopher agents,直接 按照预设的规则和估计来执行任务。 第二个层次是服务执行 agents (service performing agents) ,根据用户的请求,执行预先定义好的任务。最高级别层次的是预测 agents (predictive agents) ,不需要用户预先提出请求,自动执行一些操作,为用户提供服 务。 2.1.2 agent 系统分类 从内部结构的角度分,agent 系统可以分为三类:1)思考型(deliberate) ,能够 进行智能推理,这种推理依赖于外部世界的逻辑模式,适合于执行长期的任务;2) 反应型(reactive) ,不采用模型进行推理,而是直接采用一种类似于刺激反应形式的 行为,适合于需要敏捷反应的环境;3)混合型(hybrid) ,是思考型和反应型两种模 式的混合,兼有二者的优势7。 2.1.3 agent 体系结构 agent 的体系结构描述 agent 的功能模块和这些功能模块一起动作的方式。根据 软件 agent 的特性,agent 的体系结构应包含以下几个基本模块:环境感知模块、执 行模块、通信模块、信息处理模块、决策与智能控制模块、知识库和任务表。其结构 如图 2.1 所示89。 外 部 环 境 其他 agent 环境感 知模块 执 行 模 块 信息处理模块 知识库 任 务 列表 决策与智能控制模块 通 讯 模 块 图 2.1 agent 的体系结构图 环境感知模块、执行模块和通信模块负责与系统环境和其他 agent 进行交互,任 务表为该 agent 所要完成的功能和任务。信息处理模块负责对感知和接收的信息进行 初步的加工和存储,决策与智能控制模块是赋予 agent 智能的关键部件,它运用知识 6 6 库中的知识对信息处理所得到的外部环境信息和其他 agent 的信息进行进一步的分 析、 推理, 为进一步的或从任务表中选择适当的任务供执行模块执行做出合理的决策。 2.2 agent 通信语言通信语言 多 agent 系统内部(intra-mas)或不同多 agent 系统之间(inter-mass)的各个 异构 agent 必须通过通信,实现知识与信息共享,才能进行交互和协商,进而分工合 作解决复杂的异构性问题。因此,agent 之间的互操作性(interoperability)是多 agent 系统的核心,而 agent 通信语言(agent communication language, acl)是实现 agent 之间互操作性的基础和关键10。 国内外学者对 acl 的概念和作用从不同角度进行了概括。 如 kone 等11指出 acl 是一种框架模型,允许分布的异构 agent 进行交互,用蕴涵有关 agent 环境和知识信 息的语句进行通信; singh12认为 acl 是 agent 社群内的一种信息交换机制; 魏晓斌、 周盛宗等13把 acl 概括为是一种包含专用于支持多 agent 系统之协调、协商、信息 传递和合作等活动的通信命令和有关结构的高级语言。在这里,结合当今最新的 acl 研究进展,将 acl 概括为:位于传输层上的,支持 agent 间信息和知识交互的一种 高级语言/协议,一般包括一套通信原语(primitive)和相关结构。目前,主要的 acl 有 kqml 14 、fipa acl(foundation for intelligent physical agents acl) 15 、 aop(agent-oriented programming language) 16、mac(mobile agent communication)等 17。他们的性质概括如表 2.117所示: 表 2.1 各种 acl 及性质概括 acl模型 消息格式 内容语法/语言 内容语义 kqml 三层结构:通信层、 消息层、内容层 kif(first-order 逻辑+集 合论), 无明确内容语言 lisp 类型语义-非形 式化语义 fipa acl 层次结构:通信层、 消息层、内容层; 标准 ebnf 格式语法; 内容语言推荐 fipa-sl;fipa-ccl; fipa-kif;fipa-rdf 基于模态逻辑的形式 化语言 aop 精神态度和委托规 则;模态逻辑为基础 没有预先确定的语言 没有语义 arcol 基于 first-order 逻辑 语言 sl 语言 形式化语义 其中, kqml 已经成为 agent 通信的事实标准。 kqml 语言是 agent 的通讯的实 际标准语言,一种用于交换信息的语言和协议,为了表达消息和处理消息提供了标准 的格式,用于支持 agent 之间的实时知识共享。kqml 可以用于应用程序和智能系统 7 7 之间的知识共享来达到协同处理问题的目的。kqml 包含了一系列可扩充的行为原 语,行为原语定义了 agent 对知识和目标的各种操作,在其上可以建立 agent 互操作 的高层模型。kqml 消息是线性的字符流,语法简单,消息内容可以是非 ascii 的二 进制流。kqml 可以分成三个层次:内容层、消息层、通讯层。内容层是 kqml 的 核心,表示了 agent 之间通讯的内容,kqml 可以携带任何语言表示的表达式。通讯 层包括了一系列消息特征,描述了通讯底层参数,包括消息接收者和发送者的标识以 及与通讯相连的标识。一条典型的 kqml 消息如下1819: kqml 消息示例 (ask-one :sender joe :receiver stock-server :content(price ibm-price) :reply-with ibm-stock :language lprogog :ontology nyse-tichs) 上例中, kqml 消息的行为原语是 ask-one; :sender 表示是消息的发送者; :receiver 表示消息的接收者;:content 表示消息内容;:reply-with 表示下条消息将要对本条消息 的响应;:language 表示消息内容使用语言的名称;:ontology 表示消息内容使用的实体 集的名称。:content 为内容层,:sender,:receiver,:reply-with 构成了通讯层,而行为 原语 ask-one: language 和:ontology 为消息层。 2.3 移动移动 agent 介绍介绍 移动 agent (mobile agent, ma) 的概念是由 90 年代初的 general magic 公司在商 业系统 telescript 中提出的,用来支持在编程语言级的可移动性。移动 agent 可以在 网络主机中移动,透过计算机网络,移动 agent 可携带自身状态和代码从一个环境移 动到另一个环境中, 并恢复执行。 根据其特性, 对移动 agent 的定义20是: 移动 agent 是一个独立运行的计算机程序,它可自主地在异构的网络上按照一定的规程移动,寻 找合适的计算资源、信息资源或软件资源,利用与这些资源处于同一主机或网络的优 势,就近处理或使用这些资源,代表用户完成特定的任务。 移动 agent 是数据、代码以及执行语境的软件包。移动 agent 的迁移分为“强迁 移”和“弱迁移”21,强迁移是指迁移移动 agent 的执行状态和数据状态,但这种迁 移的实现较为复杂;弱迁移只迁移移动 agent 的数据状态,其迁移速度快,但不能保 存移动 agent 的完整性。 8 8 2.3.1 移动 agent 特点 移动 agent 除具有 agent 的普通特性外,还具有以下几个特性22: 1可移动性。移动 agent 摆脱了传统的 c/s 框架,将移动数据变为移动代码, 通过将服务请求 agent 动态的移动到服务器端执行,使得基于移动 agent 的计算可以 直接在服务器端处理数据,避免了大量数据的网络传输,减轻网络负载。 2异步性。传统的分布式系统基于在线方式,在进行远程调用期间必须保持与 网络的连接。移动 agent 在执行时不需要保持网络连接,在迁移到目的地后,agent 的创建者就断开连接,移动 agent 独立于创建它的进程在目的机上异步自主的运行, 移动设备可在任务完成后再连接网络并回收 agent,将结果反馈给创建者。 3并行与分布。用户可将一个复杂的任务分解成不同部分,创建多个 agent 同 时移动到不同结点运行,形成并行求解的能力。可将单一节点的负荷分散到网络的多 个节点上,使小系统具有处理大规模复杂问题的能力。移动 agent 之间具有的交互和 通信功能可以为分布式计算提供有力的支持。 4智能化路由。移动 agent 可以根据任务列表、网络状况、服务器负载等外界 环境动态规划下步的转移操作,可以很好的优化网络和计算环境,实现负载均衡,降 低网络延迟,提高资源的利用率和执行的成功率。 2.3.2 移动 agent 系统结构 一般来说,移动 agent 系统由移动 agent 和移动 agent 环境两个部分组成。移动 agent 环境是一个分布在网络各种计算设备上的软件系统,它也被称为移动 agent 服 务器或移动 agent 平台。 它一般建立在操作系统之上, 为移动 agent 提供运行的环境。 移动 agent 则是只能存活在移动 agent 环境中的软件实体。移动 agent 的移动便是通 过 agent 传输协议(agent transfer protocol, atp)从一个移动 agent 环境移动到另一 个移动 agent 环境。 在移动 agent 环境中, 移动 agent 通过 acl 相互通信并访问移动 agent 环境所提供的服务。ibm 的 aglets 就是现在流行的移动 agent 环境中比较完善 的一个。图 2.2 为移动 agent 系统示意图23 24: 9 9 服务与接口 agent 服务器 agent2agent1 acl acl 移动 agent 环境 agent 服务器 服务与接口 agent1agent2 移动 agent 环境 aclacl atp 协议 图 2.2 移动 agent 系统示意图 2.3.3 移动 agent 安全性 ma 的移动性会带来很多不确定因素,要想将 ma 被广泛的接受,成功地应用于 各种工程,就必须解决好 ma 的安全性问题。ma 的安全性问题是 ma 成功应用的瓶 颈,是移动 agent 系统中最重要、最复杂的问题。 通常把移动 agent 系统的安全问题分为 4 个部分:保护主机免受恶意 agent 的攻 击;保护 agent 免受恶意主机的攻击;保护 agent 免受其它恶意 agent 的攻击;保护 低层传输网络的安全。 为了阻止恶意 ma 对主机的破坏,在主机上通常采用如下安全检测技术2526: 1身份认证(authentication) :它主要用于检查 ma 是否来源于可信的地方。这 要求有关身份认证的详细信息需要从 ma 的源主机或独立的第三方传送过来。 身份认 证失败的 ma 或者被驱逐出主机, 或者仅允许以匿名 agent 的身份在十分有限的资源 环境下运行。数字签名就是一种常用的身份认证技术。 2代码验证(verification) :它主要用于检查 ma 的代码,看它是否会执行被禁 止的动作。代码验证常常按如下步骤进行:首先检查 ma 是否试图破坏其执行环境, 然后检查该 ma 实际运行所在的 ma 系统是否对 ma 的管理负责。 若以上验证结果成 立,则进一步检查该 agent 的操作是否超出其被授权和资源限制的范围。可以采用一 种称为证明携带的代码技术(proof-carrying code)来完成对来自于不安全地点的移动 代码的验证,以决定对该代码的执行是否安全。该技术将安全性证明附加到每条代码 上并与代码一块移动。目标主机可以迅速验证这些证明并进而判定移动代码的安全 性。证明或代码二者之一被窜改均会造成整个代码验证的失败,从而导致移动的代码 被拒绝执行。java 语言本身提供了一定程度的代码验证,即完整性验证。 3授权认证(authorization) :主要检查 ma 对主机资源的各种访问许可,这包 括资源可被访问的次数和被使用的数量以及 ma 在该资源上进行存取操作的类型。 例 10 10 如,被高度信任的 ma 可以读、写、修改指定的资源并可无限制地访问它;而不被信 任的 ma 则仅能对该资源进行读操作,而且只能进行有限次的访问;有些 ma 可能允 许访问主机的计算资源:有些 ma 则可能被完全禁止。可以通过使用访问控制表的方 法实现授权认证。 4付费检查(payment for services) :它主要用于检查 ma 对服务的付费意愿和 付费能力(除非服务是免费的) ,这包括检查 ma 是否确实付费了、付费过程是否正 确,以及付费者是否对所提供的服务满意等。ma 在运行的过程中至少会使用服务器 的计算资源, 也可能进行购买物品的交易。 为避免不必要的资源占用和不合理的交易, 需要限制 ma 的权利,这也可以通过付费的方式来控制。例如,ma 可以携带一定数 量的电子货币,当 ma 在某主机上运行时,它需要根据所要求的服务的数量和质量对 主机付费。 这样, ma 的权利受限于其所拥有的货币的多少, 用尽货币的 ma 会消亡。 当然,ma 会要求主机不能随意捏造所收到的货币数量,而且要求主机确实提供了所 承诺的服务。 通过上边给出的四种方法,主机的安全性问题在一定程度上可以解决,但有关 ma 方面的安全问题还需要考虑,即要保证 ma 在传送和远程执行时的安全和完整。 为保证 ma 在传送和远程执行时的安全性和完整性,通常采用加密技术、身份认证技 术(如数字签名)等。采用诸如 pgp 等加密算法有助于在 ma 传送过程中保护其内 容免遭窃听。使用身份认证技术可用于检查目标主机的合法性;数字签名技术还可用 于验证信息,保证接收者不窜改收到的信息,并使处理结果返回到正确的发送者。 对于 ma 的安全性问题,很多学者做出了大量的工作,但多数是针对具体的系统 和环境,而且只是侧重于某一层面。例如 april 重点研究代码验证和加密技术而忽 略了其他因素:基于 java 语言的系统在代码验证方面往往直接使用 java 的字节码校 验程序而很少再对此做深入地研究等, 但 java 的字节码校验程序本身也存在着一定的 缺陷。 安全性是移动 agent 系统中最重要也是最复杂的问题之一,因为它把传统的大型 分布计算安全问题和多用户操作系统的安全问题集中到一起。现已实现的移动 agent 系统都没有实现完整的安全框架,只是部分地解决问题。移动 agent 系统的安全问题 仍有大量的工作要做。 2.4 aglets 平台介绍平台介绍 aglets 是最早基于 java 的移动 agent 开发平台之一,aglets 的名字来源于 agent 和 applet,可以简单地将其看成具有 agent 行为的 applet 对象。aglet 以线程的形式 11 11 产生于一台机器,需要时可以随时暂停正在执行的工作,并将整个 aglet 分派到另一 台机器上, 然后继续执行尚未完成的任务。 从概念上讲, 一个 aglet 就是一个移动 java 对象,它支持自动运行的思想,可以从一个基于 aglet 的主机移动到其它支持 aglet 的主机上。 aglet 构造了一个简单而全面的移动 agent 编程框架,为移动 agent 之间的通信 提供了动态而有效的交互机制,同时还具备一整套详细而易用的安全机制,这一切使 得移动 agent 的开发变得相对简单起来。由于 aglet 目前已成为一个开源的项目,当 前对移动 agent 的研究工作很多都是在它的基础上进行的。本次研究工作也是在其基 础上进行的。 2.4.1 aglets 系统框架 aglets 的系统框架如图 2.3 所示27。由图中可以看出 aglets 的执行分为若干段。 首先当一个正在执行的aglet想要将自己送到远端时, 会对aglet runtime层发出请求; 接着 aglet runtime 层把 aglet 的状态信息与代码转成序列化 (serialized) 的字节数组; 这时如果请求成功时,系统会将字节数组传送至 agent 传输和交互接口(agent transport and communication interface, atci)层处理,此层提供可使用的 agent 传输 协议(agent transfer protocol, atp)等接口,在此 atp 为一个简单的应用层协议。之 后,系统会将字节数组附上相关信息,如系统名称以及 aglet 的 id 等,并以比特流的 方式通过网络传至远端机器。远端机器利用 atci 层提供的 atp 接口接收到传来的字 节数组及系统信息,然后 aglet runtime 层对字节数组反序列化,得到 aglet 的状态信 息与代码,此时 aglet 便可在远端机器上执行28。 aglet runtime 层 atci层 (atp,cobra,rmi) aglet tcp/ip aglet 数据包 aglet runtime 层 atci层 (atp,cobra,rmi) aglet tcp/ip 图 2.3 aglet 系统框图 12 12 2.5 本章小结本章小结 本章首先对 agent 理论较系统的介绍,接着在 agent 理论的基础上,着重介绍了 移动 agent 的特点,通信语言,系统结构以及安全性隐患。最后提出了一个非常经典 的移动 agent 应用平台aglets 平台,他也是本次研究所采用的移动 agent 平台。 目前,在各种计算机文献和众多公司的技术发展规划中,移动 agent 技术正渐渐成为 使用频率最高的词汇之一。目前的移动 agent 技术集网络、软件、通信的技术于一体, 弥补了传统的 c/s 技术的不足,有着巨大的应用前景。 13 13 3 移动移动 agent 的检索模式的检索模式 目前的分布式资源检索系统主要都是采用 c/s 结构的检索模型,这种检索模型本 身存在着一定的局限性。其远程通信是基于不同计算机之间的远程过程调用(remote procedure calling,rpc)来实现的。然而,大多数的远程过程都并非能够一次性完成, 需要发生多次交互。所以,在这样的资源检索模型中,客户机与服务器的通信将非常 频繁的发生。这就给网络通信带来的较大的负担,并且对网络的实时性提出了较高的 要求。而移动 agent 技术却由于其可移动性、并行计算能力、异步性以及智能化路由 的特性,大大减少了网络传输的负载以及实时性的要求。基于上述考虑,系统决定采 用移动 agent 技术构建检索模型。 3.1 基于基于 c/s 结构的检索模型结构的检索模型 在今天以网络为中心发展起来的分布式资源检索模型中,远程通信是基于客户机 与服务器之间的远程过程调用(remote procedure calling,rpc)来实现的。rpc 是 一个“请求响应”式的通信模型,一台计算机作为客户机(client)向数据库服务 器(server)发送“检索请求(searching request) ” , “检索请求”中包含有要请求的 服务,以及该请求的参数,服务器收到该“检索请求”后,进行一定的计算和 i/o 操 作,得到结果,然后向客户机发送“检索数据响应” , “检索数据响应”信息中包含有 检索服务执行的结果数据。可以看到,在传统的分布式资源检索模型中,过程本身的 执行是在服务器端完成的。传统分布式检索模型的典型结构如图 3.129所示: 图 3.1 传统分布式检索模型典型结构 然而,考虑到多数的检索过程执行都不是一次“请求响应”能够完成的,他会 访问多个资源数据库,也经常会在一个资源数据库中访问多次,所以,在这样的分布 式资源检索模型中,客户机与资源服务器的通信将非常频繁的发生,如图 3.1 所示。 这就给网络通信带来的较大的负担,并且对网络的实时性也提出了较高的要求。要正 14 14 常运转这样的分布式资源检索系统,必须保证资源服务器和客户机之间有足够的网络 连接带宽,并保证网络连接的随时畅通。 3.2 基于基于 agent 的检索模型的检索模型 移动 agent 能够减小检索的网络负载,是由移动 agent 的网络间访问机制与传统 c/s 根本性的区别所决定的。在移动 agent 访问方式下,网络中计算机与计算机之间 的通信并不是靠一台计算机调用另一台计算机上的过程(procedure)来实现的,而是 由客户端通过网络发送一个 agent,这个消息包含了要执行的检索过程及其所需的参 数。这个 agent 被服务器端接收后,agent 中所包含的过程直接在移动 agent 服务器 端上运行, 并在运行过程中与数据库服务器端进行必要的数据交流, 与之较近的 agent 服务器得到结果后再经过智能化路由返回给客户端。这样的过程实际是一个远程编程 (remote programming,rp)的过程。基于移动 agent 技术的分布式检索模型的典型 结构如图 3.229所示: 图 3.2 基于移动 agent 的分布式检索模型典型结构 3.3 agent 检索模型的迁移模式检索模型的迁移模式 这种检索模型的基础是靠移动 agent 的迁移来实现的。迁移是移动 agent 最重要 的特性之一。他携带着客户机所提出的要求,向资源检索模型发出 agent。agent 本 身就是一段程序,他也携带着访问相关的数据。当他作为被序列化后,他作为一段比 特流在网络间传输,然后在另外一个 agent 服务平台上又恢复为 agent,根据不同的 要求,它还有多种迁移模式。本研究将其近一步划分为三种子模式以便处理路由、服 务质量等与移动 agent 迁移有关的问题。这些子模式允许移动 agent 增强与移动相关 事务的封装性,以提高移动 agent 设计的可重用性和简化移动 agent 的设计30。 移动 agent 能在移动 agent 服务器之间进行迁移,但是系统所需要的检索却是经 常要求被控制的。比如系统会要求检索特定类型的数据库,比如理工类的数据库,那 么应该怎样通过 agent 的迁移模式来达到这种要求呢?这时候路线模式是一种很好的 选择。 15 15 路线(itinerary)模式:该模式是将移动 agent 与路线对象结合在一起;它主要 考虑在多个地址间的路径问题。一个路线用于维护一个目的地址的列表,定义路径策 略,并且能够处理如目的地址不存在等特殊问题。路线模式允许接收外部路线情况, 并能够择优决定路线。 agent 在创建路线对象时,用将要顺序访问的地址列表和一个对 agent 的引用来 初始化它,然后 agent 将自己派遣至其路线中的下一个可用的目的地或者返回其出发 地。为了支持上述功能,路由表与 agent 一起传送,路由表还可能在经过站点进行修 改。其示意图如图 3.3 所示。 agent 服务平台 agent 路由表 对象 agent 服务平台 agent 路由表对象 (可修改) 带 路 由 表 的 agent 数据包 图 3.3 路线模式示意图 在这里,系统将会在移动 agent 服务器内构建一些常用的数据类型列表(比如理 工类资源数据库列表) ,这样将能够让一些键入常用搜索的用户更加快捷的获得结果。 路线模式在移动 agent 设计被广泛采用,它具有如下几个主要特点: 1它支持用户灵活地定义 agent 的旅行路线,也支持在旅行中的路线变化。不 同的旅行方式只需要改变路线对象,涉及不到 agent 对象。 2它方便不同的 agent 通过共享某个路线对象来共享旅行,而不需要这些 agent 重复设计该对象。 3它简化了系列任务的实现。任务可以被封装在一个特定的任务对象中,同时, itinerary 被扩展成一个目的地与任务对象相联系的接口,这样路线对象能够追踪当前 需要执行的任务,于是每当 agent 被派遣到一个新地址时,它就可以简单地触发存储 在路线对象中的当前任务。 路线模式对于检索来说也有其很不方便的地方。因为其携带着一个固定的列表, 按列表顺序访问资源数据库,有时候当此列表中的某一个移动 agent 服务器由于某些 特殊原因不能到达(比如服务器处于维护阶段,不进行检索服务) ,则列表后面的所 有移动 agent 服务器都将到达不了。这显然在很多情况下不符合系统的要求。当需要 检索一些通用的数据库时,系统当然希望他能进行一些比较智能的选择。这样也能提 16 16 高进行一些基本检索的速度。发送模式就是一种路由比较智能化的模式。 发送(forwarding)模式:与 itinerary 不同,在此模式中,移动 agent 本身不再 携带路线对象,而它的路线由派遣它的主机或其它主机来决定,此时移动 agent 被主 机牵引着在网络中迁移。这种模式降低了移动 agent 的迁移自主性,使它不能根据当 前的网络状态自主决定迁移的路线。 但这种模式也有其特点: 它没有固定的远期目标, 只依赖于当前 agent 环境下所产生的目的路由,增强了 agent 对于环境的敏感性,很 适合于对于很多随机性很强的项目。 比如对在特定情况下, 社会行为的宏观预测等等。 其示意图如图 3.4 所示: agent 服务平台 agent agent 服务平台 agent agent 数据包 根据当前 环境选择 路由 根据当前 环境选择 路由 图 3.4 发送模式示意图 当 agent 使用发送模式来进行迁移时,每到一个移动 agent 服务器,他总能根据 移动 agent 服务器的路由环境选择速度比较快的路由方向进行检索。而且也不会因为 某一台移动 agent 服务器出了故障而使检索不能继续进行下去,充分显示出了移动 agent 路由智能化的特点。 有时候,对于某些特定的迁移,系统需要一些更高约束的 agent。当用户需要检 索一些带有权限的资源数据库时,系统需要移动 agent 携带一个权限,或者在 agent 产生超过了某一时间自动销毁。 前两种迁移模式对于此种情况来说, 虽然可以办得到, 但是要耗费大量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论