移动Agent系统(精选十篇)
移动Agent系统 篇1
随着Internet的进一步发展, 分布式应用的开发越来越受到人们的重视。近几年发展起来的基于移动Agent的分布式计算模式为分布式技术开辟了新的研究领域。移动Agent作为全新的分布式计算技术, 通过将自身代码状态传送到远程主机并在远程主机本地执行的方式, 克服了传统的分布式计算模式的不足, 为分布式计算带来更大的灵活性、高效性、可靠性和智能性, 成为分布式计算一个新的发展方向。但是移动Agent在网络中移动的同时也带来了许多安全性方面的问题, 这成为决定移动Agent能否取得广泛应用的关键性问题之一。
2. 移动Agent现存安全问题
安全威胁通常分为三类:信息泄漏、拒绝服务以及信息破坏[1]。有些安全问题在传统的C/S结构下也存在着, 但是移动Agent提供了更多被滥用和误用的机会, 扩大了这些威胁的规模。由于应用软件的拥有者和计算机系统的操作者是相同的, 而Agent的所有者和系统的操作者往往是不同的, 所以在基于移动Agent的系统中引起的新的安全威胁和通常计算机的安全不尽相同。移动Agent系统中可能遇到的安全问题如图1所示。由图中看出, 移动Agent系统中的安全问题有Agent与主机的安全、主机与Agent之间的安全;Agent与Agent对象之间的安全;主机与主机之间的网络安全。因此移动Agent系统中的安全问题主要集中在移动Agent通信安全, Agent平台的安全以及移动Agent本身的安全三个方面[2]。
2.1 目前Agent通信安全的解决方案
为保证移动Agent的通信安全, 一般要对所有的信息提供通信认证, 对可能的安全威胁进行检测。目前有一种基于“加密信道——权限控制”的Agent系统通信安全性实现办法, 提供多层次检查机制, 用基于RSA和Rabin算法的加密信道来提供底层的签名和加密服务, 而在高层提供权限控制机制。
2.2 保护Agent平台安全的解决方案
Agent平台位于主机上, 保护Agent平台也包括保护主机上Agen运行时所需资源的安全保护。传统的用于可信任系统的安全解决方案也同样适用于保护移动Agent平台。现有研究有关移动Agent平台的安全解决方案, 大部分都是沿着传统路线发展的。具体有七种几种:1) 沙箱模型2) 安全代码解释 (Safe Code Interpretation) 3) 携带验证代码 (Proof-Carrying Code) 4) 携带模式的代码 (Model-Carrying Code) 5) 代码标识 (Signed Code) 6) 路径记录 (Path History) 7) 状态评价 (State Appraisal)
2.3 移动Agent本身安全的解决方案
当前的问题在于, 无法有效地将Agent源平台的可信任环境扩展到其它的被Agent访问的Agent平台。有的方案通过Agent的发起者对Agent的迁移路线进行限制, 使Agent只能在已知的可信任的平台间迁移。还有的方案通过采用专门的防篡改的硬件保证运行环境的完整性来保护移动Agent。这些方案在某些特定的环境下是有价值的, 但这些方案并不能完全支持许多Agent引用所要求的自由迁移和自治能力, 很难广泛应用于实际。下面是一些通用的保护Agent本身的技术。1) 部分结果封装 (Partial Result Encapsulation) 2) 环境密钥生成 (Environment key Generation) 3) 用已加密的函数计算 (Computing with Encrypted Function) 4) 相关路径记录 (Mutual itinerary Recording) 。5) 带复制和表决的路径记录 (Itinerary recording with Replication and Voting) 6) 运行追踪 (Execution Tracing) 7) 黑匣子安全 (Blackbox Security)
3. 现有移动Agent系统的安全解决方案
大多数移动Agent系统都提供了安全机制 (身份认证以及接入控制) 以保障中间服务器免受恶意Agent程序的攻击, 可分为三类:采用标准安全运行模块、静态配置安全级别、根据Agent所有者的身份动态接入。目前已经开发了许多移动Agent系统, 以下讨论的是现有几种常见系统的安全解决方案:
1) Telescript系统
Telescript对安全有重要的支持。该系统采用RSA公钥密码体制来完成认证, 采用RC4加密Agent传输[3]。系统提供了基于能力存取控制机制。
2) Aglet系统
Aglet是由IBM公司开发的基于Java的移动Agent系统, 它的设计非常简洁, 将每一个移动Agent视为一个可移动的Java对象[4]。Agle主要是通过访问控制列表来控制代理对宿主机上的系统资源的访问。其安全级模型定义了在认证过程中应予以区分的各种实体类别, 包括Aglet, context, 以及它们的制造者、所有者和管理者。
3) Concordia[5]系统
Concordia是由日本三菱公司开发的一个基于Java语言的移动Agent系统。它使用Java序列化和类载入机制实现Agent的移动性, 不能在线程级捕获执行状态。Concordia比较注重系统的安全性, 提供了较为丰富的安全管理手段, 它的安全模型支持三种保护:Agent存储保护、Agent传送保护和服务器资源保护。
Concordia虽然提供了主机资源的保护机制和Agent传输过程中的保护机制, 但没有为Agent提供恶意主机攻击的保护措施。
4) Ajanta[6]系统
Ajanta是Minnesota大学开发的一个基于Java的移动Agent系统。Agent传输协议保护Agent的完整性和私有性。系统将标准加密机制集成到传输协议中, 采用单向哈希函数和数字签名检测篡改, 建立参与通信的服务器的身份。在保护域的基础上, 为服务器提供了一个资源保护工具, 允许服务器的资源对Agent是可用的, 并且能够对存取权限进行动态地控制。
系统实现了几种机制来保护Agent, 能够检测到对它的篡改。程序设计者还可以定义Agent所携带的某些对象对于特定的Agent平台是可实现的, 实现了Agent状态的有选择性的暴露, 较好地解决了系统地安全问题。
以下是对上面四种现有系统的对比:
4. 基于移动Agent系统的安全框架设计
针对现有移动Agent系统分析, 设计安全框架SBMASF如图2所示。利用此安全框架可以配置相应的安全机制, 满足系统的安全要求。包括, Agent之间或Agent与环境之间的通信安全与信任机制以及安全行为相关的审计机制等。
其中模型中的每个对象都要定义安全策略, 尤其是Agent平台的安全以及Agent安全的策略。在本地的安全策略和整体策略相冲突时, 首先要保证的是整体安全策略的实施。
为了整个安全模型应用以及将来扩展, 将整个系统采用分级管理, 首先将各台主机按部门分成不同的域, 每个域由其中一台可信主机来管理, 称为域管理器, 由域管理器来定义域的安全策略以及管理本域中Agent对其它域的访问和迁移。所有域管理器的信息都存放在域管理器列表 (DML) 中, 由更高一级的域管理器列表来控制域的信息。域管理器中包含该域内所有主机的注册信息以及其权限控制列表, 可以提供两种服务, 认证和会话授权服务。
每个域中的域管理器相当于一个代理或者是运行中的第三方, 当Agent向域外迁移时, 将Agent所在域的管理器作为可信任的中介者。而在每个主机中, 由主机的管理员来设置安全措施。
1.域内Agent的访问。在Agent移动到此域内的远程主机的Agen平台上时, 可以通过SSL加密的传输通道, 经过域内管理器找到目的主机的路径, 对Agent进行简单认证后, 直接到所要访问的主机上运行。其安全认证比较简单, 而可信度也比较高。
2.域外Agent的访问。在移动至远程Agent平台前, 先经过域管理器列表来找到远程的域, 由远程域先判断Agent所属域在该域的权限, 来获取Agent自己在远程Agent平台上的权限, 同时域管理器列表将此Agent的访问信息发送给Agent平台。
3.匿名Agent访问。匿名Agent访问的主要特点是执行此Agent的主机并不知道此Agent的来源以及此Agent如何在此主机上执行。因此匿名Agent被限制在特定的权限内秘密的执行, 只是在最后将所得结果进行签名。
以下将按照此安全模型具体讲述各个部分的安全策略的配置。
5. 结束语
SBMASF安全框架可以有效的解决Agent本身安全与运行Agent的主机的安全之间的矛盾, 同时不会影响Agent的移动性、自主性、协同性等固有特性, 为保护整个移动Agent系统提供了比较灵活的安全配置。具体说来, 此安全框架采用集中管理的树状模型系统以及通用性和可扩展性。在设计安全框架时, 考虑到了系统未来升级或者扩展对安全提出的新的要求, 此模型采用的是分级管理制度, 因此很容易将安全策略应用到扩展部分。
当然本框架大部分还处在设计阶段。从理论上讲, 在保护Agen本身的安全的时候, 所注重的仅仅是检测到Agent的数据信息是否被篡改。在发现Agent遭到篡改后, 我们采取的策略仅是将结果简单丢弃, 并没有设计其它的挽救行为。从另外一方面考虑, 最好能够设计一种机制来尽量使Agent避免遭到篡改。而不仅仅只是达到检测的效果。
参考文献
[1]Stefan Fuenfrocher.Integrating Java-based Mobile Agents into Web Servers under Security Concerns IEEE 1998
[2]Holger Peine.Security Concepts and Implementation in the Ara Mobile Agent System IEEE, 2002
[3]J Tardo, L Valente.Mobile agent security and telescript.Proc of IEEE COMPCON’96.Santa Clara:IEEE Computer Society Press, 1996.P58~63
[4]G.Karjoth, D.B.Lange, M.Oshima, A Security Model for Aglets, IEEE Internet Computing, August 1997.P68~77
[5]T Walsh, N Paciorek.D Wong.Security and reliability in Concordia.The 31st Annual Hawaii Int’l Conf on System Sciences.Geneva:IEEE Computer Society Press, 1998.P345~357
[6]Neeran M.Karnik and Anand R.Tripathi Security in the Ajanta Mobile Agent System Software-Practice and Experience 2000
[7]穆鸿, 王汝传, 徐小龙基于移动代理的网格计算安全基础架构研究南京邮电学报, 2004, 24 (1) :P72~77
[8]胡建理, 王家祯, 彭德云一种确保移动Agent传输安全性的模型计算机应用研究, 2006, 5:P101~103
移动Agent系统 篇2
其中模型中的每个对象都要定义安全策略,尤其是Agent平台的安全以及Agent安全的策略。在本地的安全策略和整体策略相冲突时,首先要保证的是整体安全策略的实施。
为了整个安全模型应用以及将来扩展,将整个系统采用分级管理,首先将各台主机按部门分成不同的域,每个域由其中一台可信主机来管理,称为域管理器,由域管理器来定义域的安全策略以及管理本域中Agent对其它域的访问和迁移。所有域管理器的信息都存放在域管理器列表(DML)中,由更高一级的域管理器列表来控制域的信息。域管理器中包含该域内所有主机的注册信息以及其权限控制列表,可以提供两种服务,认证和会话授权服务。
每个域中的域管理器相当于一个代理或者是运行中的第三方,当Agent向域外迁移时,将Agent所在域的管理器作为可信任的中介者。而在每个主机中,由主机的管理员来设置安全措施。具体Agent访问主机的种类如下:
图2 SBMASF安全框架
1. 域内Agent的访问。在Agent移动到此域内的远程主机的Agent平台上时,可以通过SSL加密的传输通道,经过域内管理器找到目的主机的路径,对Agent进行简单认证后,直接到所要访问的.主机上运行。其安全认证比较简单,而可信度也比较高。
2.域外Agent的访问。在移动至远程Agent平台前,先经过域管理器列表来找到远程的域,由远程域先判断Agent所属域在该域的权限,来获取Agent自己在远程Agent平台上的权限,同时域管理器列表将此Agent的访问信息发送给Agent平台。
3.匿名Agent访问。匿名Agent访问的主要特点是执行此Agent的主机并不知道此Agent的来源以及此Agent如何在此主机上执行。因此匿名Agent被限制在特定的权限内秘密的执行,只是在最后将所得结果进行签名。
以下将按照此安全模型具体讲述各个部分的安全策略的配置。
4 结束语
SBMASF安全框架可以有效的解决Agent本身安全与运行Agent的主机的安全之间的矛盾,同时不会影响Agent的移动性、自主性、协同性等固有特性,为保护整个移动Agent系统提供了比较灵活的安全配置。具体说来,此安全框架采用集中管理的树状模型系统以及通用性和可扩展性。在设计安全框架时,考虑到了系统未来升级或者扩展对安全提出的新的要求,此模型采用的是分级管理制度,因此很容易将安全策略应用到扩展部分。
当然本框架大部分还处在设计阶段。从理论上讲,在保护Agent本身的安全的时候,所注重的仅仅是检测到Agent的数据信息是否被篡改。在发现Agent遭到篡改后,我们采取的策略仅是将结果简单丢弃,并没有设计其它的挽救行为。从另外一方面考虑,最好能够设计一种机制来尽量使Agent避免遭到篡改。而不仅仅只是达到检测的效果。
参考文献:
移动Agent系统 篇3
[关键词]移动Agent;安全问题;攻击
在Internet中使用移动Agent技术,将对传统的客户机/服务器通信模式产生巨大的影响,它的移动特性适用于多种Internet应用,特别是电子商务。但是,Internet是一个开放性的网络,且移动Agent具有移动性,移动Agent系统是否具有足够的安全性和稳健性成为人们关心的首要问题。下面将对移动Agent技术中存在的安全问题进行详细的分析。
1、数据传输中的安全问题
当在开放性网络(如Internet)中传递信息时,固有的一个缺点就是不安全性。因而当Agent程序在网络中漫游时,它的程序码和数据都是不安全的。首先考虑在数据传递和通信链接中可能存在的安全威胁。
(1)被动攻击
在这种攻击模式下,攻击者并不干预通信流量,只是尝试从中提取有用的信息。最简单的例子就是窃听,以获取Agent程序中存储并传递的敏感信息。另一种情况是,攻击者可能无法得到具体的数据(如数据采用加密传输),但可以通过对相关数据进行流量分析(如分析通信频度、交换的数据长度、通信双方的身份)获取所需的敏感信息。
(2)主动攻击
所谓的主动攻击是指攻击者截获并修改网络层的数据包,甚至将原有数据报删除,而用伪造的数据取代。另外,身份伪装也可以看作是一种主动攻击,攻击者伪装成系统的一个合法参与者A,截取并处理发给A的数据。
在移动Agent系统中,以上两类攻击都有可能发生,采用数据完整性检验和身份认证等密码技术可以减小攻击带来的损失。但由于移动Agent本身的特性,使得采用哪种密码技术和协议受到限制,如因为Agent程序要在网络中漫游,所以那些需要和用户交互的协议就不适合。另外,也不可以让移动Agent携带用户的私钥,以防止被恶意的服务器获得。
2、服务器资源面临的攻击
移动Agent系统中的服务器允许不同的Agent程序在其上运行,这使得它不得不面临恶意Agent可能带来的攻击,这些攻击可归纳为四种。
(1)偷窃敏感资料。恶意Agent程序访问某服务器时可能会设法打开包括该公司商业机密的敏感文件,并将这些信息发给它的创建者,从而利用这些信息在商业竞争中获利。
(2)破坏服务器系统资源。恶意Agent程序访问某服务器时可能删除某个重要文件甚至格式化整个硬盘。
(3)拒接服务攻击。恶意Agent程序故意用完系统资源(如硬盘空间、内存、网络端口等),从而使服务器无法完成与其他Agent程序的正常交互。
(4)扰乱性攻击。这种攻击对于服务器系统的破坏较小,它通常是恶作剧性质的,如不断地在服务器上打开各种应用程序的窗口或使机器不断地发出蜂鸣声等。
显然,在设计移动Agent系统时,必须考虑如何保证服务器能够抵抗以上攻击。同时,对于合法的Agent程序,服務器也应给予足够的资源访问权限,这就需要对Agent程序的身份进行确认,同时设计相应的安全分级及权限接入控制等。
3、移动Agent面临的攻击
移动Agent程序必须在服务器上运行,因此,其代码和数据对于服务器主机来说都是暴露的。当一个服务器时恶意的,或者是被攻击者侵占或伪装的时候,它可能对Agent程序进行四种攻击。
(1)恶意主机可以仅仅破坏或终止Agent程序,从而阻止该Agent执行任务。
(2)恶意主机可以偷窃该Agent所携带的有用信息,如Agent程序在漫游过程中所搜集的中间信息等。
(3)恶意主机可以修改Agent所携带的数据,如当一个Agent负责为用户收集某种商品的最佳报价时,该主机通过篡改Agent程序所收集的先前的服务器的报价,以欺骗用户误以为其提供的报价为最佳价格。
(4)更为复杂且危害最大的攻击是,攻击者通过改写部分Agent程序的代码,使其在返回用户主机或漫游到其他服务器后执行一些恶意攻击操作。在通常情况下,用户将其所发生的Agent看作是可信的,其接入本地资源的权限也更大,因而这类攻击Agent的危害也更大。
一般来说,对移动Agent进行完备的保护(不含程序码或数据)是较为困难的,因为服务器必须访问Agent程序码及其状态才能运行该Agent。而且,由于存储计算结果或响应结果,Agent的部分数据和状态通常是变化的。通常的方案都是由派出Agent的宿主机提供某种机制以发现这类修改,从而确定所发出的Agent是否受到攻击,并给出相应的策略。
4、现有服务器资源保护方案
移动Agent系统中存在三个安全问题:(1)数据传输中的安全问题;(2)服务器资源所面临的攻击;(3)移动Agent所面临的攻击。
对于服务器资源的保护,主要有以下几种较为成熟的方案:沙盒模型,签名,认证、授权和资源分配,Proof-carrying Code,代码检验,限制技术,核查记录;对于执行环境中移动Agent的保护方案,可分为基于被动检测的安全措施和基于主动的保护措施,后者主要有加密函数,有限黑匣子法、共享秘密与互锁、可抵御攻击的硬件等安全方法;而对于传输中移动Agent的保护方案,则主要是用加密技术来实现。
结束语
随着移动Agent技术的不断发展,移动Agent系统的安全问题越来越受到人们的关注。因为,它的安全问题已经严重地阻碍了移动Agent技术在实际中的应用。本文着重从三个方面(数据传输中的安全问题、服务器资源面临的攻击、服务器资源面临的攻击)介绍了移动Agent系统存在的安全威胁,并针对这些安全威胁采取了保护方案。
参考文献
[1]张云勇.移动Agent及其应用.北京:清华大学出版社,2002
[2]王汝传,徐小龙,郑小燕等.移动代理安全机制的研究.计算机学报,2002,25(12):1294-1301
[3]许明,王汝传等.数据挖掘在基于Agent入侵检测系统中的应用.南京大学学报,2002,38(11):210~215.
移动Agent系统 篇4
1 相关简述
移动Agent系统由分布在不同信息节点上的相互协作的一组Agent子系统以及管理各个子系统信息的调度Agent系统组成。多属性拍卖是采购拍卖的一种,定义为拍卖人与投标人交易时考虑到多个属性的一种拍卖模式[3]。多属性拍卖是一种解决一对多投标的有效方法,经济学家将多属性效用理论广泛地应用于多属性拍卖,利用多属性效用评价函数来准确表达用户的属性偏好,拍卖的理想情况是选择可以达到最高期望效用的投标。Che设计了一种二维(价格和质量)拍卖模型以提高政府采购的能力,模型采用密封式拍卖,投标根据买方设定的评价规则来评估。Branco的模型将成本影响加入多属性拍卖中,采用两段式拍卖,在第一阶段买方选择一个厂家,第二阶段厂家控制成本达到预定的质量标准。研究认为完全公开买方偏好是买方最优策略,但完全公开买方偏好对买方来说并不公平,应该设计一种仅公开环境参数的拍卖系统,根据参数,买方考虑各个属性的权重以达到最大收益[4]。Bichler的研究表明多维拍卖中得到的效用值明显高于传统单属性拍卖。
2 移动Agent系统
本文模型的主要工作流程:
1)买方发布商品目录,定义偏好结构,发布招标书;
2)买方根据采购方发布的产品需求进行信息搜索,根据招标所需填写投标书;
3)采购方查看供应商基本信息,评估所有投标,如果匹配则回复选中投标,拍卖结束,否则进行协商谈判,达成协议,拍卖结束。
系统框架:别定义如下:
基于上述流程,系统按功能划分模块并用多个Agent分工合作来实现拍卖任务,其内部模块结构为买方Agent组、调度Agen组、买方Agent组三大部分。系统结构如图1所示。
各个Agent的主要功能:
买方Agent:买方Agent负责从人机接口处得到采购方所需产品目录信息,偏好属性结构,同时将偏好属性结构传送给效用评估Agent。效用评估一般利用效用函数进行,
即U=w1E1+w2E2+w3E3+......+wjEj,wj=Qj/ΣQj,其中wj为权重,表示不同属性的相关重要性,Qj表示属性的重要性参数,效用评估采用招标优选算法。
招标生成Agent:
就是根据用户输入的属性要求和偏好,自动生成招标标书,以及对不合理的招标标书进行调整。投标方在投标的时候不能看到用于评标的那部分设置,如条件的权重等[5]。评标过程使用效用评估Agent。人机接口部分主要处理采购方与Agent之间的交互,包括用户对效用评估Agent的修改和对招标方案制定或调整的干预等。
调度Agent:
调度Agent在整个移动Agent系统中作用在于收集,管理,统计,查询各种Agent资源,按照其功能分类或建立Agent联盟,并负责同其他Agent系统之间通讯,同时它在这个系统中担当可信任的安全认证中心,保证各Agent系统之间的安全通讯[6]。建立了买方Agent和卖方Agent之间的通信联系。
买方Agent:其中买方Agent则从调度Agent处得到产品目录信息,从基本信息库查看采购方基本信息,根据招标方案,买方Agent根据自身能力是否满足服务要求和获得的交易效用的估算来决定是否参与投标[6]。同时投标推荐Agent填写投标书,使得投标Agent的推荐中标率提高,本文采用投标推荐算法。投标则发送投标书给调度Agent。人机接口部分主要处理卖方与Agent之间的交互,包括卖方对效用评估的修改和对投标方案制定或调整。
信息库:
在这个系统中,信息库有两种,一种存放着本地的信息,它供Agent子系统调用,另一种信息库存放着Agent的信息,供调度A-gent使用[7]。信息库采用数据库的技术来存储。
3 招投标算法
快速实现招投标算法一直是拍卖中的热点问题,本文设计了招标选优与投标推荐算法来实现该多属性拍卖模型中的快速投招标问题。
3.1 招标选优算法
在招标过程中招标Agent应用Skyline查询算法快速筛选出较优的投标,目前,对Skyline查询的研究已得到国际上众多研究者的广泛关注,并提出了许多有效算法。例如:BNL(Block Nested Loops)算法[8]。BNL算法的基本思想是:在主存中保留一个窗口,窗口中存储的是临时Skyline点,通过反复从输入数据集中读取数据点和窗口中的点进行支配比较,一个读入数据点p通过比较会有以下三种情况:1)点p支配窗口中的点,窗口中被点p支配的点全部删除,点p插入到窗口中;2)点p被窗口中的数据点支配,p被删除;3)点p和窗口中的点不互相支配,点p插入到窗口中。当窗口中的数据点在主存中无法容纳时,可将其存入辅助存储器的临时文件中[9]。每次迭代后,窗口中输出的点是全局Skyline点的一部分,将临时文件作为输入数据集进行下一次迭代,当临时文件为空时,迭代终止。所有从窗口中输出的点就是全部的Skyline点。该算法可以应用到任意维空间。
输入:所有供应商的投标
输出:最优投标或者几个较优投标
具体步骤:
1)将所有投标在采购商要求的所有属性维利用BNL算法预处理,删除被支配的点(不理想的投标)。
2)对剩下的投标,根据属性权重,抽出部分属性再次进行BNL算法处理。删除被支配点(部分重要属性上不理想的投标。
3)如果剩下的投标数目小于输出要求的投标数目,直接输出,否则根据输出前N个。
3.2 投标推荐算法
竞标中不明确采购方的各属性权重,为了更好的投标。投标推荐Agent的任务就是从案例库中找出类似的拍卖,在投标推荐Agent中使用协同过滤技术[10]。采用投标推荐算法计算出采购者的招标属性权重。
输入:采购者的采购信息以及部分兴趣度
输出:推荐Agent计算出推荐兴趣度
具体步骤:
1)从数据库中找出与采购者采购相同物品的采购数据;数据库中的相关用户数据可以通过以下矩阵的形式存放。
2)根据修正的余弦相似性度量方法计算出采购方各个供应商之间兴趣的相似性。
3)根据相似性数组找出最近邻居集合。
3.3 系统结构分析
1)系统利用多个移动Agent的优势分工合作自动完成任务,并发的完成拍卖过程,智能化,自动化程度高,而且移动Agent可以按照拍卖任务直接迁移到目标节点,执行买方竞价搜索和相关处理任务,完成指定的任务后返回结果[11]。
2)系统中的买方、调度方、买方都是分散的,其计算是异步的,没有系统的全局控制。而移动Agent系统放松了对集中式、规划、顺序控制的限制,因此模型中采用移动Agent技术来分散控制、应急和并行处理的能力。
3)系统中招标Agent使用招标优选算法,根据属性维的权重,通过BNL算法可以在招标的所有属性维空间上降低到有限维空间,对有限维空间上的投标进行处理,以减少不理想投标个数。在招标过程中,只需各个属性的权重,而无须用户依靠自己的感觉与经验来决策招标对象。
4)系统中投标Agent采用协同过滤技术个性化、准确地推荐。能够过滤难以进行机器自动分析的信息,可以共享他人的经验避免了分析的不完全和不精确,并且能够对一些复杂,难以表述的概念进行过滤。能够有效地使用其它相似客户的反馈信息,加快个性化学习的速度,有推荐新信息的能力,减少协商次数。
5 结论
本文提出的基于移动Agent的多属性拍卖模型,改进了目前多属性拍卖缺乏智能性、自动化程度不高的缺陷。在模型中使用多个算法来提高移动Agent的工作效率,从而使得拍卖加速,该模型是一种自动化、智能化、高效的模型。如何在模型中应用更高效的算法,使得模型更具合理性以及仿真实现是下一步的工作。
摘要:该文基于买方为主的拍卖结构,提出了一种基于移动Agent技术的多属性拍卖系统。采用Skyline算法实现招标的选优,协同过滤技术实现投标的推荐,利用移动Agent技术优势完成多属性拍卖过程的自动化处理。分析表明该系统是一种较为有效,智能化的系统。
关键词:移动Agent,拍卖,协商,智能性
参考文献
[1]Bichler M.An experimental analysys of multi-attribute auction[J].Decision Support systems,2000(29):249-268.
[2]Branco F.Design competition of multidimensional auctions[J].Rand Journal Econonmics,1997,28(1):63-81.
[3]Jennings N.Wooldridge M.Agent theories.Architecture,and languages a survey[D].UK:University of London,1995.
[4]Jennings,N.R.Wooldridge,M.J.Agent-Oriented Software Engineering[J].Handbook of Agent Technology,2001(18).
[5]Ouzzani M,Bouguettaya A.Efficient Access to Web Services[J].IEEE Internet Computing,2004,8(2):34-44.
[6]蔡自兴.人工智能及其应用[M].北京:清华大学出版社,2003.
[7]张李义,段凌,邓汉化.面向电子采购的多属性拍卖模型[J].武汉大学学报,2004,37(4):97-100.
[8]崔燕妮.面向Agent的理论与应用[J].云南师范大学学报,2002(5).
[9]樊晓聪.面向Agent软件工程(I):Agent计算、编程风范与语言设计[J].计算机科学,1998,25(3).
[10]郑人杰,殷人昆.软件工程概论[M].北京:清华大学出版社,1998.
移动Agent系统 篇5
SNMP,即简单网络管理协议,是目前使用最为广泛的网络管理协议,SNMP的作用主要是管理网络设备,以及搜集网络设备数据,对网络进行有效配置。目前,对于网络管理中数据采集的实践表明,SNMP不仅具有便于扩充、易于实现等特点和优势,同时在网络管理领域中,SNMP成为了一项使用标准,也就意味着大多数网络设备的使用都涉及SNMP。SNMP对节点信息地有效收集,使网络管理的任务完成得更加的高效,这一点与Agent优点有异曲同工之处。Agent和SNMP的交互,有以下几种形式:SNMP与移动Agent直接交互。这种交互形式需要移动Agent开启sockets,也就可能会导致网络管理中数据的安全问题。并且这种交互形式产生的网络管理负载比较大,需要更为复杂的移动代码来解决相关的程序问题。另一种交互形式需要借助其他物质,也就是在SNMP与移动Agent之间加入中介物。这种交互形式可以满足数据采集的要求,这一形式选择的方法包括MIB访问以及MIB扩展两大功能,但是这两种功能之间相互独立,因此对于数据的安全性能够起到很好的保障作用。
3.2基于移动Agent数据库访问方式的分析
在小型网络管理系统当中,数据库是其重要的核心组件。数据库主要是用来管理存储网络对象的实时信息、历史以及数据统计。其中网络对象主要有网络接口、网络节点以及网络等。小型网络管理中的数据库是动态形式的,因此在实际的网络管理当中,可以对网络数据库实施修改、增加、删除、调用、检索等工作,但是这些操作程序都需要在访问技术的支持下才能得以实现。目前,网络规模逐步扩大,不仅仅是小型规模的网络管理,所以对于网络技术的研究也变得更加的复杂。换而言之,数据库数据的管理变得更加的困难,所以提高数据库访问技术的研究意义重大。传统的数据库访问通常是在应用程序的支持下实现的,传统的访问方式要求网络管理者即客户端提供JDBC、JDBCAPI等等驱动程序,否则无法实现数据库访问。而执行这一访问形式提供的驱动程序必须在超强的通信负载中才能够完成,所以这种传统的访问形式浪费了大部分的网络资源,同时也增加了网络的承载压力。但是基于移动Agent的数据库这一访问方式有效地解决了传统访问方式带来的弊端。基于移动Agent的数据库访问需要网络管理系统提供MobileAgent的运行环境、驱动程序、数据库接口。这种访问形式实现了访问生成接口、访问移动Agent、访问执行环境三个组件。其中,访问生成接口为数据库应用程序提供访问接口,并将访问请求以字符串的形式传递给访问移动Agent,然后将访问移动Agent执行的结果返回给用户。访问移动Agent被访问生成接口调用,负责将输入访问生成接口的数据库访问请求在数据库服务器上执行,并将结果返回给访问生成接口。访问执行环境则驻留并且在相应的服务程序环境中运行,为到达的访问移动Agent提供本地可以使用的数据源和驱动程序,并且辅助访问移动Agent建立与数据源的连接,以此实现数据库访问和数据采集。
4结束语
在小型网络管理的数据采集中,移动Agent起到了至关重要的作用。从网络管理的角度而言,网络管理的数据采集本身就是一项比较系统且较为复杂的工作。小型网络管理不仅需要集管理技术、数据库技术以及软件、硬件技术相结合,而且还需要随着信息技术地不断发展而与时俱进,使小型网络管理基于移动Agent的数据采集工作更加的完善与成熟。本文对Agent这一技术模型的应用与实现进行了深入的分析,以此对小型网络管理的数据采集进行了较为直观地理论梳理,实践证明,移动Agent在小型网络管理中数据的采集产生的作用是比较明显的。因此,加强移动Agent的应用与完善,对于网络管理有着非常重要的价值。
参考文献:
[1]王茜,张玉明.校园网管理中基于移动Agent数据采集问题的研究与设计[J].计算机与现代化,,3(8):70-72.
移动Agent系统 篇6
关键词 虚拟咨询组织 多Agent系统 协商 分布式控制
中图分类号:TP311 文献标识码:A
0引言
随着信息技术的快速进步以及信息高速公路的飞速发展,人类面临着二十一世纪信息革命和全球化市场竞争的严峻挑战,企业只有改变自工业革命以来形成的大批量制造模式才能建立适应新环境的经营管理模式。虚拟咨询组织代表当今企业间更加灵活的“竞争-合作”关系,通过协同合作谋求一个“多赢家”局面。虚擬咨询具有动态性、开放性、分布式网络结构、扁平化、系统性、单元化、可重构、规模可调等特性,它是一种柔性的可重组的新型咨询企业组织形式。其分布式的特点决定了它与传统咨询企业的信息系统有所不同。
1基于多Agent系统的咨询组织结构
为了保证组织中成员自治性的同时能够像一个组织一样进行工作,组成虚拟咨询组织的各个成员企业必须能够互操作并实时交换信息。但是各自治成员企业间具有异构性,使各个成员企业不能直接进行交互。为了解决由于系统的异构性而造成的成员企业不能交互的问题,一种比较好的方式是使成员企业的内部功能与虚拟咨询组织有关的功能分离,并产生对原有系统的必要映射。基于这种情况成员Agent一般采用四原则形式:Agent核心层,Agent任务层,接口,Agent通讯层。
Agent核心层代表各个成员企业的自治部分,即成员企业的内部管理信息系统和Web信息发布系统。Agent任务层包括支持成员企业之间交互的所有功能,它起的是协商与协调的作用,在虚拟咨询组织中作为各成员企业的代言人。它主要包括信息池,协调模块,协商模块和执行模块。接口为Agent任务层与Agent通讯层之间的内部通讯协议,实现了Agent任务层与通讯层之间的信息交换。Agent通讯层由EDI模块和外部通讯模块组成,主要完成各个Agent之间的信息交换。
用上述的Agent通用结构建立的虚拟咨询组织中,任务层通过通讯层发生交互,Agent核心层只与自己的任务层发生联系,这样既保证了各成员企业之间能够互操作和实时交换信息,又保持了各个成员企业的自治性。另外,该框架的使用也实现了虚拟咨询组织的可重用、可重组和可扩充的特性,成员企业可以根据需要动态的加入或退出虚拟咨询组织。
2项目分解中的Agent合作机制
通常的咨询任务无法由一个企业成员独立完成,需要多个成员之间相互协作实现。因此,需要对咨询任务进行合理的分解与分配。进行项目分解时要遵循独立性,层次性,组合性和均匀性等原则。对于项目分解和分配这里使用了项目参考库和投标机制,同时设计分解Agent、管理Agent、投标Agent、招标Agent用于项目的投标机制的运行。
分解Agent根据承担的项目,在参考库中寻找相同或者相似分解方案,如果项目参考库中存在相同或者相似的项目分解方案,则分解Agent根据此方案对所承担的项目进行分解。否则分解Agent要对咨询项目建立新的分解方案,并将该分解方案加入参考库中,作为以后进行项目分解的参考方案。
管理Agent是对子项目进行招标的管理者。一方面,它接收从分解Agent发送来的子项目,并负责生成完成子项目招标的招标Agent。另一方面,管理Agent负责接收投标Agent送来的投标进展信息,将不能完成投标的子项目上报给分解Agents重新进行分解。
招标Agent是动态存在的。它一方面负责将子项目信息通知部分或者全部投标Agent向它们进行招标,并收集来自投标Agent的投标信息,选出最优投标Agent并其发送中标通知。另一方面负责接收投标Agent监督到的项目执行状态,如果出现意外情况,招标Agent与部分或所有投标Agent重新进行招标确认。
投标Agent是虚拟咨询组织内各个伙伴成员的代理。一方面,投标Agent与招标Agent进行投招标后获得子项目,并监督伙伴成员对子项目的执行情况。另一方面,投标Agent还可以将伙伴成员的状态信息提供给招标Agent或者管理Agent。
通过上述项目分解机制可以实现对项目分解和执行过程的实时监控与管理,因此可以很好的提高项目的执行效率,最大化组织成员的利益。
3总结
基于多Agent系统的咨询组织,因其良好的对企业独立性及系统合作性的保障,正作为一种全新的企业经营模式受到越来越多的关注。本文研究的虚拟咨询组织中,每一个成员企业为独立的Agent。这种设计方法极大地保障了个成员企业的独立性以及灵活性,它们可以根据自身的需求参加或退出某个虚拟组织,以获得更高的企业效率。
参考文献
[1] 李玉光. 基于Agent的虚拟咨询组织信息系统研究[D]. 河北工业大学,2004.
[2] 樊晓聪,徐殿梁,侯建明等. 面向Agent软件工程. Agent计算、编程风格与语言设计[J]. 计算机科学,1998,Vol,25.
移动Agent系统 篇7
随着计算机网络和Internet的发展, 人们在进行资源共享的同时也日益感受到网络安全的重要性。在网络安全产品中, 发展最早和最成熟的是防火墙, 一般采用防火墙作为安全的第一道防线。而随着攻击者知识的日趋成熟, 随着攻击工具与手法的日趋复杂多样, 单纯的防火墙策略已经无法满足对安全高度敏感部门的需要。与此同时, 复杂的网络环境、设备以及需要不断升级、补漏的系统使得网络管理员的工作不断加重, 不经意的疏忽就会给系统造成巨大损失。网络的防卫必须采用一种纵深的、多样的策略, 入侵检测系统由此产生。
2. 入侵检测系统和移动Agent技术
入侵检测技术是一种主动保护自己免受攻击的网络安全技术。作为防火墙的合理补充, 入侵检测技术能够提供对内部攻击、外部攻击和误操作的实时保护, 它从计算机网络系统中的若干关键点收集信息, 并加以分析, 在网络系统受到危害之前及时进行拦截和响应。入侵检测被认为是防火墙之后的第二道安全闸门, 在不影响网络性能的情况下对网络进行实时监测。完成入侵检测功能的软件、硬件组合便是入侵检测系统。
移动agent是具有移动性的智能agent, 它是agent研究领域的一个重要分支。它可以自主地在网络中从一台主机迁移到另一台主机, 并代表用户完成指定任务。可以说, 移动agent是一种独立的可确认的计算机程序, 它可以自主地在异构网络上按照一定规程移动, 寻找适合的计算资源、信息资源和软件资源, 利用与这些资源同处一台主机的优势处理或使用这些资源, 代表用户完成特定任务。移动agent实际上就是一段代表用户利益的程序代码。它可在异构的软、硬件网络环境中移动, 可以转移到不同的地址空间执行, 同时在转移过程中保持自身的状态不变。
3. 基于移动Agent的入侵检测系统
3.1 在入侵检测系统中引入移动Agent技术
移动Agent技术是近几年新兴的技术, 是软件Agent技术与分布式计算技术相结合的产物, 具有主机间动态移动性、智能性、平台无关性、分布灵活性等诸多优点。在原有的入侵检测系统应用移动Agent技术, 即基于移动Agent的入侵检测系统, 它能克服原来的入侵检测系统的许多缺陷, 例如动态性差、网络数据流量大等等。国外对基于移动Agent的入侵检测技术己经着手进行研究, 而且已经取得了很多成果。例如Purdue大学的s Paflbrd教授等提出并实现的AAFID (Autonomous Agents For Intrusion Deteetion) 框架系统、哥伦比亚大学eu (eolumbiauniversity) 研究小组开发的JAM (Java Agents for Meta-Leaming) 框架系统等。
3.2 移动Agent在入侵检测系统中的优点和不足
移动Agent在入侵检测系统应用方面的优点有:
1) 提高入侵检测的速度;
2) 检测方法多样化;
3) 系统的可伸缩性、可扩充性好;
4) 解决不同入侵检测系统互操作的问题;
5) 解决不稳定的网络服务质量问题。
尽管移动Agent与入侵检测系统结合有很多优点, 但还存在一些问题有待改进, 这些问题主要有:影响系统性能或正常服务的实用性问题;影响系统识别入侵的实效性问题;影响系统自身安全的安全性问题;影响系统适应未来可能出现的扩展要求的可扩展性问题。
3.3 体系结构及组件功能
基于移动Agent的入侵检测系统模型结构如图1所示。
系统所含有的组件包括:一个管理控制模块、多个监视控制模块、系统信息库、信息库、数据采集Agent、数据分析Agent、跟踪Agent和控制Agent。物理结构上系统包括一个控制台主机和若干个被监视主机, 在控制台和被监视主机上都搭建有A-gent运行环境。管理控制模块与系统信息库运行在控制台上, 而监视控制模块和信息库运行在被监视主机上。其中数据采集Agent、数据分析Agent和跟踪Agent将在控制台和各被监视主机间移动。
3.3.1 监视控制模块
1) 数据采集工具
分布在各被监视主机, 由网络探测器WinDump和Dumpel系统日志工具组成。主要完成数据的收集工作, 根据所要监视的对象, 进行网络包截取或主机日志记录收集。数据分析Agent把所收集的数据与MLSI定义进行对比判断, 决定是否应该报告给管理控制模块并开始入侵跟踪。本系统中网络探测器采用现有的软件WinDump, 主机日志探测器采用Dumpel。WinDump按照一定的规则收集数据;Dumpel定时将系统日志按过滤规则导出为文本文件, 两种数据作为数据分析Agent判断是否出现MLSI的来源。
2) Agent服务环境 (MAE)
Agent服务环境 (MAE) 采用IBMAglet做为Agent运行的环境, 安装在控制台和被监视的主机上, 为Agent的执行提供了必要的条件, 为开发基于移动Agent的应用程序提供了丰富的类库和接口。IBMAglet可以跨平台, 使移动Agent能在异构系统中运行, 访问不同的资源, MAE由数据采集Agent、数据分析Agent和跟踪Agent三部分构成。
3) 信息库
信息库则出现在每个目标系统上, 用于存放审计数据和系统日志以及从网络协议监视中获取的网络数据。
3.3.2 管理控制模块
管理控制模块驻扎在控制台, 这一部分是系统的主要应用程序部分, 该模块通过图形界面, 完成与网络管理员之间的信息交互, 对数据进行分析判断是否入侵及向管理员提供检测结果报告, 同时实现对其它模块的动态配置和管理。管理控制模块包含五大功能单元:主机管理单元、控制Agent (CA) 、分析单元、响应单元和系统信息库。
1) 主机管理单元
主机管理单元为用户提供向系统添加需要被监视的主机和删除不需要被监视的主机的功能, 用户可以通过它了解系统中被监视的主机运行情况。由于可以动态添加或删除被监视主机, 所以系统中被监视主机的个数在不同的情况下是不同的, 这一功能使系统具有较强的伸缩性。
2) 控制Agent (CA)
管理控制代理是作为系统的命令和控制节点, 位于管理控制模块内, 一般不移动, 只有所在主机崩溃或者由管理员通过管理控制模块发送移动命令时才移动到其它关键主机。CA主要完成下级代理的派遣、入侵事件的管理和接收管理控制模块命令等功能。该代理主要由通信模块、命令处理模块和事件处理模块3个模块组成。
3) 分析单元
分析单元负责对系统信息库中的记录进行分析判断是否发生入侵。
4) 响应单元
响应单元是在分析单元发现有入侵行为发生时而采取相应措施的模块, 本系统中采用警告来向管理员发送入侵检测结果, 并在用户界面上显示。
5) 系统信息库
系统信息库用于记录从目标系统中收集到的信息, 以及对收集到的有关每个跟踪Agent的信息进行集成。
3.3.4 工作过程
从数据分析Agent检测到目标系统上的MLSL, 直到发现入侵点, 其执行过程如下:
1) 目标系统上的每个数据分析Agent从系统日志中寻找MLSL。
2) 如果数据分析Agent检测到MLSI, 将会把它报告给控制Agent。
3) 控制Agent给被检测到MLSL的目标系统分派一个跟踪Agent。
4) 跟踪Agent到达目标系统并且激活一个驻留在该系统中的数据采集Agent。
5) 数据采集Agent收集与目标系统上的MLSL相关的信息。
6) 在激活数据采集Ageni以后, 跟踪Ageni调查MLsl的起始点, 以便判断用户最初发起攻击的地址。跟踪Ageni可以利用控制Agent事先积累的有关网络连接和系统上运行的进程等相关数据做出推断。
7) 在收集信息以后, 跟踪Agent向控制Agent返回报告, 并且在系统信息库上公布收集到的信息。
8) 跟踪Agent转移到跟踪路由上的另一个目标系统中, 并且激活一个新的数据采集Ageni。
9) 如果跟踪Ageni到达入侵路由的起点, 或者不能再转移到其他地方, 或者其他跟踪Agent己经到达了它将要到达的路由, 那么它将返回到控制Ageni。当数据分析Ageni检测到在同一个目标系统中短时间内发现多个MLSL, 或者如果数据分析Ageni在许多目标系统中检测到多个MLSL时, 控制Agent将对所有的MLSI分派跟踪Ageni, 并且按上述工作过程进行跟踪处理, 工作过程如图3-2所示。
4. 结束语
基于移动代理的入侵检测系统是目前入侵检测中比较新型的技术, 可以按照系统的不同要求, 动态地规划不同的代理构成一个灵活的、功能强大的入侵检测系统。但它也存在很多不足, 可以结合采用现代发展的神经网络、数据挖掘、专家系统等技术, 使入侵检测系统进一步完善。
未来入侵检测系统的研究将朝着高速带宽网络实时入侵检测、大规模分布式入侵检测、分布式入侵检测、智能化入侵检测等方向发展。尽管目前在技术上仍存在许多有待解决的问题, 但是就象攻击技术的不断发展一样, 入侵检测技术也将不断更新, 不断成熟。
参考文献
[1]冯劲梅.基于Agent的入侵检测系统层次结构模型[J].计算机工程与应用, 2003.
[2]彭川.基于移动Agent的分布式入侵检测系统[J].中南民族大学学报 (自然科学版) , 2006.
[3]敖冰峰.基于移动Agent的入侵检测系统改进研究[D].哈尔滨理工大学硕士论文, 2007.
移动Agent系统 篇8
随着计算机网络规模和技术的不断发展,传统的SNMP集中式管理模式开始暴露出诸多弊端,已经越来越不能适应规模快速增长中的网络网管的需求,新型的分布式网络管理逐渐成为研究热点。移动Agent因为其具有移动性、自治性、智能性等优点,在分布式网络管理系统中得到的广泛的应用[3]。
1 基于移动Agent的分布式网络管理系统———MADNMS
本文设计了一个基于移动Agent技术的分布式网络管理系统MADNMS(Mobile Agent based Distributed Network Management System)。系统体系结构如图1所示。
用户使用标准浏览器实现对网络的管理。HTTP引擎由嵌入在管理站的Web服务器负责提供。Web服务器负责向客户端浏览器提供的代码有两个来源:一个是由网管开发人员定制,主要负责客户端浏览器界面;另一个则来自应用服务器提供的网管操作的结果。Web服务器还负责将用户通过浏览器提交的网管要求传递给应用服务器。
应用服务器接收并分析传递来的用户网管请求后从移动Agent数据库中定制并生成相应的移动Agent。此外应用服务器负责接收来自被管理设备的移动Agent,读取并处理其携带的网管数据,将其中一些数据存储到网管分布式数据库中,并生成脚本代码将结果传递给Web服务器。
分布式数据库存贮了被管理网络的拓扑信息以及网络的其他重要信息。网络拓扑信息是整个系统的基石,它向用户提供了描述操作对象的描述手段。同时它存储的网络重要信息可以用来实现广域网的分布式管理平台。基于移动Agent网络拓扑算法将在下文具体说明。
移动Agent经过移动Agent平台进行相应的处理后被派遣出去执行网管功能。Agent经过网络传送到被管理节点,被管节点上的移动Agent平台接收该Agent,移动Agent平台根据相应的算法要求对Agent进行处理,如转发、复制或者销毁等。移动Agent平台提供执行环境使得Agent携带的代码被执行以完成网管功能,然后将执行结果存贮于该Agent中。移动Agent根据事先安排的算法可以继续迁移到下一个被管节点,也可以迁移回网管站。
本系统中的被管理节点除了移动Agent平台外,还包括了传统SNMP/CMIP的静态代理和管理信息库,它们依然执行传统的功能。移动Agent通过与静态代理的交互实现对管理信息库信息的读写。为了提高效率,在被管理节点设计了一个分布式数据库,移动Agent把从静态代理那里获得常用的和访问频繁的网管信息使用SQL语句存储到该数据库中,这样可以提高执行效率。
从网管功能来看,网络管理的所有功能必须建立在实现网络拓扑图的前提下。从技术角度来看,基于移动Agent的网络拓扑包括了基于移动Agent网络管理的所有基本操作,如移动Agent的派生,迁移、复制、销毁等。出于以上的原因,MADNMS的拓扑算法是本系统实现的重点和难点。
2 MADNMS的拓扑算法
2.1 算法系统模型
系统的网络模型描述如下:
1)该网络模型是由网络节点和连接这些节点的链路组成的图状结构。
2)每一个节点具有唯一性的标识符ID(如IP地址)并提供移动Agent运行平台、可读写的数据区以及数据读写和加锁接口。该数据区存储了以下内容:错误!未找到引用源。该节点的状态字,分别为null和“visited”,当节点状态字为null时,代表该节点未被发现Agent访问,称这样的节点为处女节点;当节点状态字为“visited”,代表该节点已被发现Agent访问。错误!未找到引用源。与该节点关联的所有链路在该节点处的状态字。此类状态字有“uproad”和null,其含义在具体算法中进行介绍。初始状态下这些状态字状态为null。错误!未找到引用源。与该节点关连的链路数f;错误!未找到引用源。该节点及其邻接节点的标识信息ID。
3)移动Agent之间可以交换信息。Agent交换信息的某一个时刻瞬时是单向的,即只允许一个Agent访问另外一个Agent数据。
4)双向链路理想状态下双向传输速度相等,但是每段链路速度并不要求相等。
5)网管站可以是网络中的任意一个节点。
根据移动Agent的特点,将网络拓扑算法分为三部分,一部分是网络拓扑的发现,设计了发现Agent,通过发现Agent对被管理网络的洪泛,实现网络节点的快速发现;另一部分则是将拓扑信息送至网管站,网管站端的应用服务器利用拓扑信息生成网络拓扑图,针对这项功能,设计了报告Agent;最后一部分是网管站接受报告Agent生成网络拓扑的算法。
2.2 发现Agent的算法
为了保证拓扑发现的快速性,在MADNMS系统的拓扑发现中设计了一种受控制的洪泛法,具体描述如下。
1)发现Agent到达节点m后,将m的数据区加锁;
2)如果m的状态字为“visited”,发现Agent将数据区解锁后注销。否则发现Agent
将节点状态字设为“visited”,将到达链路j在m端状态字设为“uproad”;
3)发现Agent衍生出一个报告Agent,报告Agent读取m及其邻接节点的ID,并迁移至管理站驻留节点(报告Agent迁移算法在后文中介绍);
4)如果f=1,发现Agent执行解锁并注销。否则发现Agent复制f-2个发现Agent;
5)发现Agent随机选取j外的f-1条链路i,将复制出的f-2个发现Agent沿除i和j外f-2条链路派遣出去;
6)发现Agent执行解锁后从链路i迁移,转步骤2)。
此算法的实质是将网络的拓扑图结构转成了树结构,树的根即为网管站驻留节点。节点之间的父子关系由连接节点的链路状态确定,当一段链路的两端的状态字分别为null和“upstream”,则端状态字为null,节点为父节点。由于算法采用了洪泛特性,代价很小,而且算法对洪泛的规模进行了限制,所以具有很好的稳健性。
2.3 报告Agent的算法
1)节点n出现报告Agent后,报告Agent首先将n的数据区加锁;
2)如果报告Agent在节点n衍生,则报告Agent收集n及其邻接节点的ID,否则转步骤3);
3)报告Agent检查n将其携带的拓扑信息交付给网管站,判断n是否为网管站驻留节点。如果n是网管驻留节点,则解锁n的数据区后注销,否则转步骤4);
4)找到在n端状态字为“uproad”的链路i;
5)报告Agent解锁n的数据区,沿链路i上行至下一节点。转步骤1)。
本算法中,当一个发现Agent到达一个处女节点,它立刻衍生出一个报告Agent。报告Agent携带该节点及其邻接节点的ID信息回到网管站。报告Agent返回到NMS的路由机制由upstream链路提供的信息实现。
2.4 网管站获得拓扑信息的算法
网管站接收报告Agent后,首先将报告Agent携带的拓扑信息存储到拓扑数据库。网管站为了确认网络拓扑信息是否被收集,检查数据库中的所有节点是否被报告Agent发现。如果发现节点都被报告Agent发现,则管理站可以生成网络拓扑图。此处设计了一个计数器用来统计数据库中尚未被发现Agent发现节点的数目。网管站每次接受发现Agent时负责更新计数器的内容,算法如下。
1)NMS将未访问节点计数器清零并向驻留节点派遣一个发现Agent。
2)NMS等待接受报告Agent。当一个报告Agent到达后,NMS读取其携带的拓扑信息。此时该拓扑信息有两部分:一部分为节点ID;另一部分为该节点邻接的节点ID。节点ID为已访问节点,邻接节点ID为未访问ID。
3)NMS更新未访问节点计数器。如果计数器为0,则算法中止,否则则转步骤2)。
2.5 算法性能分析
定义图G(V,E),其中V={v0,v1,v2,…,vn-1}为图G的节点集合,E={e0,e1,e2,…,em}为图G的边集合。不失一般性,取v0为NMS驻留节点。使用上述可控制洪泛法遍历图G,结果为一棵以v0为根的生成树。其中标示为upstream的边为树的边,此树表示为T(v0,V,E'),其中E'={e1,e2,…,en-1}为E的子集且ei,其中I=1,2,…,m-1为连接节点vi与其父节点的边。定义U={v1,v2,…,vk}为生成树T的叶子节点集合。K为生成树T的叶子节点数;
Ci:路径ei上发送一个字节的代价;
Si:从节点vi发送一个字节的消息到节点v0的代价;
di:节点vi的拓扑信息的字节数;
h:传输协议包头字节数;
md:发现Agent的代码段字节数;
mr:报告Agent的代码段字节数。
算法的代价相应分为发现Agent算法的代价和报告Agent的代价两部分。
1)发现Agent算法的代价
根据算法,生成树T的每个节点都需要通过被发送的一个发现Agent,所以发现T中每个节点的代价为。除此之外还要排除E-E'的边。对于一条这样的边,到达该边两端节点的发现Agent需要向对方发送一个发现Agent,这样,所有非生成树的边需要被两个发现Agent经过。排除这些边的代价为,所以发现代价Cd为
2)报告Agent算法的代价
报告Agent代价就是报告Agent携带网络拓扑消息迁移到NMS的代价。可以将其分为两部分:一部分代价是由于包头和报告Agent代码段引起的;另一部分代价则是由拓扑信息的长度引起的,第一部分的代价是相同的为
在快速算法中,发现Agent每到达一个处女节点,都会发送一个报告Agent,所以,总共衍生了n个报告Agent,考虑到NMS驻留节点不会引起发送代价,所以由包头和报告Agent代码引起的代价为
3)算法总代价
综合式(1)-式(3)可得该拓扑快速算法的代价为
2.6 小结
本算法的一大有点是避免了管理站给每个被管理节点发送Agent,管理站只要向巡游列表中的第一个节点发送Agent即可。设想,当被管节点之间的网络是高速和廉价的,而管理站和被管节点之间的网络是慢速和昂贵的,那么Agent在被管节点之间移动可以大大降低网络开销。另一方面,也可以减少网管站的工作,避免成为性能上的瓶颈。
3 结束语
移动Agent独特的对象传递思想和卓越的特性给分布式计算乃至开放系统带来了极大的革新。但在移动Agent平台互操作性、安全性和容错性等方面还应加强,而且在实际应用中与传统分布式技术相比,只有在网络繁忙时,移动Agent才能体现出较大的性能优势[4]。
移动Agent技术在分布式网络管理中的应用仍处于研究阶段,仍存在许多问题和不足有待解决,但其应用前景广阔,有很高的使用价值和研究意义。
本文创新点:本文介绍了基于移动Agent的分布式网络管理系统———MADNMS,对系统的结构和工作原理作了详细的阐述。对系统的核心拓扑算法作了重点的阐述,并对算法性能进行了评估。
参考文献
[1]Stanley M T Y,Hong Va L,Antonio S.Distributed agent environment:application and performance[J].Information Science,2003,154(5):5-21.
[2]黄烟波,余鹰.基于移动代理的分布式网络管理系统的研究[J].微计算机信息,2006:11-3,154-156.
[3]彭志娟,王汝传.基于移动代理的分布式网络管理研究[J].江苏通信技术,2006,22(4):6-10.
[4]刘明,苏彦,肖刚.基于移动代理技术的网管结构设计[J].空军工程大学学报,2005.6(4);59-62.
移动Agent系统 篇9
1 EMA通信模型
EMA之间通信的基本前提是能够互相感知对方的存在,通信发起方必须知道某EMA的必要信息才能够发起通信,EMA感知其它EMA的存在依靠系统名字解析机制及相关目录服务来实现。通信发起方只需通过接收方的标识通过系统通信服务与其透明地通信,系统通过名字解析机制来确定双方的位置及位置关系,通信模块根据具体情况选择合适的通信方式完成通信服务。本文提出一种基于域的通信模型,EMA平台以域的形式组成网络,每个域内有一个域服务器,域服务器必须具有可靠的连接性。通信发起方与通信接收方的位置关系有同一平台、同域不同平台、不同域三种关系,系统根据通信双方的位置关系,分别采用不同的通信方式。
1.1 平台内通信
EMA平台为平台上运行的每个EMA分配一个消息队列用于EMA间的消息传递。平台内通信的基本流程如下:(1)通信发起方通过通信服务接口往通信接收方的消息队列发送消息并给它一个消息通知,消息通知中包含了消息处理级别等信息;(2)通信接收方收到消息通知后根据消息紧急情况决定立即或延后通过通信服务接口从其消息队列中获取消息。
1.2 域内通信
域服务器为每个EMA分配一个邮箱,其中:本域创建的分配固定的邮箱其有效期至生命周期结束,该EMA迁移到其它域后其固定邮箱仍作为通信地址之一,非本域创建的EMA分配动态邮箱,该EMA迁移出域后注销其邮箱。域内通信的基本流程如下:(1)通信发起方通过域访问服务接口往通信接收方在域服务器的邮箱中发送消息;(2)通信接收方通过域访问服务接口从邮箱中获取消息。
1.3 域间通信
域间通信都通过接收方在其Home域的固定邮箱通信,基本流程如下:(1)通信发起方通过域访问服务接口往通信接收方的Home域中的固定邮箱中发送消息;(2)通信接收方通过域访问服务接口从邮箱中获取消息。
当EMA在同一平台运行时,通过平台内的通信服务完成通信代价最小,不同平台间的EMA通过邮箱的方式通信可以有效减少消息追击现象,EMA从Home域迁到其它域时,该域给它分配一个动态邮箱用于域内的其它平台的EMA与之通信,有助于减小Home域的压力、减小系统对Home域的依赖性、增强系统的容错能力,只有向不同域的EMA发送消息时才通过其Home域的固定邮箱。
2 EMA名字解析机制
EMA系统中的每一个EMA都需要一个全局唯一性的名字,利用该名字可以方便对EMA进行管理和协作、实现透明寻址等,即不管EMA处于什么位置,仅根据其名字就可方便的定位它,与之协作等。名字解析机制的任务是为每个EMA对象分配一个名字作为唯一性的标识,在EMA需要交互时能够通过名字进行准确的定位。
2.1 EMA命名方法
EMA创建时,给它标识一个逻辑名,逻辑名在整个生命周期内保持不变,用户通过逻辑名对EMA进行标识和使用,系统中的EMA也通过逻辑名区别其它EMA以及相互协作,逻辑名作为EMA面向用户的一种标识,具有全局唯一性。
EMA在系统中执行任务时,经常在不同的节点间迁移当在某平台执行任务时该平台为它分配一个平台内唯一的标识,并通过该标识对其进行管理,从系统角度每个EMA存在着一个可以反应其位置的标识,与逻辑名对应,称该标识为物理名,物理名是根据EMA的位置而动态改变的,反应EMA的位置信息,是EMA面向系统的标识。
逻辑名给予EMA全局唯一的标识,但是没法根据它确定EMA的位置,物理名方便EMA的定位,但标识动态变化使得EMA的使用变得复杂。采用逻辑名加物理名双层名空间的命名机制,用户通过逻辑名使用EMA,系统通过名字解析机制完成逻辑名到物理名的映射,可以方便地实现EMA的使用及透明寻址。逻辑名命名语法如下:UEN:ESN.DON.HON.MAN,物理名命名语法如下:UEN:ESN.DON.HON.EMAID,其中:
UEN:通用EMA命名(universalEMA naming),说明采用的命名方法;ESN:名字空间标识,用EMA系统名称标识;DON:域名,用域服务器的IP标识,在系统中唯一,逻辑名使用EMA Home域的域名,物理名使用当前节点的域名;HON:主机名,用主机IP标识,在系统中唯一,逻辑名使用EMA创建地的主机名,物理名使用当前节点的主机名;EMN:EMA的名称,在主机上是唯一的;EMAID:EMA平台给EMA分配的唯一标识。
2.2 名字解析
名字解析机制采用基于域的解析模式,域内的EMA平台参与其创建的EMA以及其当前接纳的EMA(目前运行于该平台内但不属于该平台创建的EMA)的名字解析,域服务器参与本域内所有EMA(包括该域创建的和当前接纳的EMA)的名字解析。EMA平台为其创建的EMA维护一张平台原籍对象表(平台HOT),为当前接纳的EMA维护一张访问者对象表(平台VOT),用来存储用于EMA名字解析相关信息。域服务器为整个域维护HOT及VOT(简称为域HOT和域VOT),平台HOT和域HOT统称HOT,平台VOT和域VOT统称VOT。HOT和VOT中的信息反应了EMA的逻辑名、物理名、逻辑名与物理名的映射关系、状态信息(逻辑名与物理名的映射关系是否有效等其表结构如表表所示
HOT中用于某EMA名字解析的信息在其创建时插入,在其运行期间根据运行状况动态修改,在其生命周期结束后删除。VOT中某EMA的信息在其进入有效区间内(EMA进入某域或某平台)插入,在其有效区内运行根据运行状况动态修改,在其离开有效区间(EMA离开某域或某平台)后删除。
EMA名字解析机制贯穿在EMA创建、EMA移动、EMA访问、EMA消亡四个过程中。
2.2.1 EMA创建
EMA平台创建EMA时,根据命名规则给它分配一个全局唯一的逻辑名和物理名,并将它们作为一对一一映射关系插入平台HOT,状态置为有效,然后通过域访问接口向域服务器注册EMA对象,域服务器将该EMA的物理名、逻辑名及其对应关系插入域HOT中。
2.2.2 EMA移动
EMA的移动分为两种情况:一是EMA只在Home域内迁移的情况,如图1所示:EMA迁移成功后,源节点和目标节点均要更新平台HOT或平台VOT的信息,目标节点还要负责更新域HOT信息。源节点若是该EMA的创建地,它则将平台HOT中对应项的状态置为无效状态,如迁移(1),源节点若不是该EMA的创建地,它则将平台VOT的对应项删除,如迁移(2)、(3);目标节点若是该EMA的创建地,它则更新平台HOT表的对应项,将状态置为有效状态,并更新域HOT内相关项,如迁移(3),目标节点若不是该EMA的创建地,它则在平台VOT中插入相关项,并更新域HOT内相关项,如迁移(1)、(2)。二是EMA存在跨域迁移的情况,如图2所示:若
从其域迁出或从其它域迁入域Home域内的节点作为源节点或目标节点时与Home域内迁移的情况一样,如迁移(1)、(3);EMA迁入非Home域时,该域内节点作为目标节点,它将在其平台VOT及其所在域的域VOT中插入相应项并且更新该EMA Home域域HOT中对应项,如迁移(1);若EMA在非Home域内迁移,源节点将平台VOT的对应项删除,目标节点在其平台VOT中插入相应项,更新其所在域的域VOT中相应项并且更新该EMA Home域域HOT中对应项,如迁移(2);若EMA从非Home域迁出,非Home域内节点作为源节点,它将平台VOT及域VOT中的对应项删除,如迁移(3)。
2.2.3 EMA访问
EMA需要能够感知系统中其它EMA并与它们进行通信,EMA可通过目录服务从HOT或VOT中获取系统中EMA的信息,从而感知系统中其它EMA,这个过程比较简单。当系统中的某一EMA需要与其它EMA通信时,在通信的发起阶段,发起方所在EMA服务器的通信服务模块需要首先通过名字解析服务对目标EMA定位,具体的定位过程如下:
首先通过目标EMA逻辑名判断其Home域及创建地,先从本地(通信发起方当前所在平台)开始查找,若目标EMA是本地建立的EMA,则查找平台HOT,若目标EMA非本地创建,则查找平台VOT,若存在对应项则通过逻辑名与物理名的映射关系对EMA定位。
若本地查找失败,则属于目标EMA不在本地的情况,先从当前域(通信发起方当前所在域)查找,若目标EMA属当前域创建,则查找域HOT,若目标EMA非当前域创建,则查找域VOT,若存在对应项则通过逻辑名与物理名的映射关系对EMA定位。
若以上查找都失败,则属于目标EMA不在当前域的情况,最后通过查找目标EMA Home域的HOV来查找相关项获取定位信息然后进行定位,若仍然找不到对应项,说明目标EMA的生命周期结束。
2.2.4 EMA消亡
当某EMA的生命周期结束后,系统必须通过名字解析服务将其在HOT及VOT的信息清除,否则系统中其它EMA会认为其生命周期未结束。EMA生命周期结束时,根据其所在位置可分为三种情况:
一是EMA在其创建地结束生命周期,系统将创建地平台HOV及域HOV的相关项清除;二是EMA在其Home域内其它平台上结束生命周期,系统将其所在平台内平台VOT、创建地的平台HOV、Home域的域HOV相关项清除;三是EMA在其Home域之外结束生命周期,系统将其所在平台内平台VOT、所在域内域VOT、创建地的平台HOV、Home域的域HOV相关项清除。
2.3 可靠性分析
通过以上名字解析机制,可以保证系统中每个EMA有一个全局唯一的逻辑名,并能够通过逻辑名与物理名的映射关系对EMA准确定位。域服务器内维护了该域创建的所有EMA以及当前在该域内运行的EMA用于名字解析的信息,EMA平台内维护了当前在该平台内运行的所有EMA用于名字解析的信息。当系统中的某EMA向其它EMA发起通信时,系统名字解析服务总能够从通信发起着所在平台通信发起者所在域目标域三者中至少一处获取其用于目标EMA名字解析的信息,对其进行定位。
3 结束语
将移动Agent技术应用到嵌入式系统中,能够促进嵌入式系统在分布式计算环境、移动动计算环境下的应用,但需要解决好如迁移机制、通信机制、安全机制、容错机制等许多关键问题。本文就其中通信机制进行了研究,提出了一种比较可靠的通信机制,为建立基于嵌入式系统的移动Agent平台提供了一定参考价值。
参考文献
[1]张云勇,刘锦德.移动Agent技术.北京:清华大学出版社,2003
[2]徐亮.嵌入式移动代理的研究与实现.大连:大连理工大学,2006
[3]张亚娟,康慕宁.基于移动Agent嵌入式移动数据库系统的研究,计算机工程与设计,2007;(14):3429—3432
[4]王红.移动Agent关键技术研究.北京:中国科学院研究生院博士论文,2002
[5]王申康,腾敏堂.移动Agent系统名字解析机制的研究与实现.软件学报,2002;(4):616—620
移动Agent系统 篇10
我国的水产养殖业近些年发生了巨大变化, 其养殖模式不再是传统的人工巡守、人工投饵及检测方式, 而是出现了不同程度的自动化, 可以实现自动控制以及数字化监控。[1]将物联网应用于水产养殖, 具有低成本、数据采集范围广等特点。采用自组织的物联网, 其特点是节点可移动, 无需铺设线路, 容易维护, 组网成本低, 非常适合于自动化水产养殖监测系统。[2]将移动Agent技术引入物联网系统, 可以通过电脑或手机对养殖池水的温度、pH值、溶氧量、电导率及氨氮等环境因素做出实时、动态的调整。同时, 还能够从根据这些因素分析、加工和处理出有意义的数据, 以适应不同用户的不同需求, 为水产养殖增产增收提供科学的依据。
2 系统模型总体设计
系统模型由数据采集层和监控层构成 (图1) 。
数据采集层分为定点数据采集模块和不定点数据采集模块。每个模块内部由一个现场监控节点控制, 每个模块中的传感器节点主要包含温度传感器、pH值传感器、溶氧量传感器、电导率传感器和氨氮传感器等。传感器节点将采集到的环境信息数据送到现场监控节点进行分类汇总。最后, 由移动Agent完成各采集模块的选择、传感信息收集和数据融合等任务。
控制层由控制系统和监控中心构成。它负责将移动Agent传送的信息进行整合。监控中心向用户反馈信息, 包括水产品的生长状态、环境因素对水产品的影响以及数据挖掘结果显示等内容。依据这些信息, 监控中心对控制系统发出指令, 指挥各控制子系统主要包括增氧泵控制, 自动给排水控制, 光照控制, 温度控制系统的工作, 从而实现对养殖环境控制的功能。
3 移动Agent中的数据挖掘
3.1 传感器数据的特点
传感器的数据与互联网的数据不同, 有自己的特色。[3]
第一、传感器的数据总是大规模的、分布式的、时间相关的和位置相关的。同时, 数据的来源是各异的, 节点的资源是有限的。大量的传感器数据储存在不同的节点。通过集中式的管理很难让挖掘到分布式数据。
第二、传感器数据很庞大需要实时处理。如果采用集中式管理, 中心节点的要求非常高。中心节点的能量消耗也非常大。
第三、节点的资源是有限的。将数据放在中心节点的策略没有优化昂贵资源传输。在大多数情况下, 中心节点不需要所有的数据。
3.2 分布式移动Agent数据挖掘
根据无线传感器的数据特点, 提出分布式移动Agent数据挖掘模式。
首先从传感器中收集到的数据信息进行实时聚类[4], 划分出正常行为库和异常行为库, 再对划分出的正常行为库进行关联模式挖掘[5], 从中提炼出传感器数据模式, 进而构建成模式库, 利用其对控制系统实时控制, 进而提供给应用, 提高决策和控制的智能化。
分布式移动Agent数据挖掘工作原理如图所示 (图2) , 左边是监控中心, 右边是现场监控节点。传感器节点任意的分布在某一监测区域内, 节点以自组织的形式构成网络, 将数据传送到现场监控节点。现场监控节点对数据进行预处理, 存入本地规则数据库。同时还通过通信Agent把处理过的数据传送到监控中心节点, 以便进行综合的分析。而本地规则数据库也能收到中心监控节点的一些更新信息。现场监控节点根据本地规则库的规则形成控制信息, 实时对设备进行控制。监控中心节点负责对数据收集与分析, 并显示结果, 实现智能化的决策。
这种体系结构的优点是, 现场监控节点把收集到的原始数据, 通过数据过滤、数据抽象和压缩进行预处理。现场监控节点把处理过的数据, 发送给监控中心节点, 将较大的负载的数据集中到监控中心节点处理, 而本地数据就近处理, 避免了内部网络中繁重的数据交流。
3.3 分布式移动Agent数据挖掘的性能特点
移动Agent数据挖掘方法与传统的统计方法相比, 优势在于它能从数据中发现人们未知的知识和规律, 并且具有分析过程自动、快速等优点。
(1) 减少了手工分析和编码的需要, 提高了流量收集的精确性。数据挖掘方法可以从大量数据中挖掘出不易被明显看出的重要特征和规则, 能分析大量数据并提取对网络行为的最具概括性的描述, 使得构造出的特征能够更加精确。
(2) 适应数据量增大的趋势。在传感器数据收集中, 收集到的数据越多, 分析结果就越准确。
(3) 具有较强的可扩展性。同样的数据挖掘工具能用于多个数据源, 具有较强的可扩展性。
4 结语
根据水产养殖传感器数据的特点, 本文结合移动Agent技术与物联网技术, 构建了基于移动Agent技术的水产养殖物联网系统模型。把数据挖掘下放到移动Agent中, 在很大程度上减少了数量庞大的传感器节点发送数据时造成的通信阻碍与能源消耗。
物联网数据有很多特征, 例如分布式存储, 大量时间相关和地点相关数据以及有限节点资源等。这些都使物联网数据挖掘成为一项极具挑战性的任务。下一步, 将深入研究数据挖掘的诸多方面, 进一步提高数据挖掘算法的效率。
摘要:本文通过对物联网传感器数据采集方式的分析, 提出一种分布式移动Agent技术的水产养殖系统模型。该模型将传统集中进行的数据挖掘工作下放到移动Agent中, 很大程度上减轻了网络负载, 提升了工作效率。
关键词:物联网,移动Agent,数据挖掘,网络负载
参考文献
[1]邹振涛, 杨宏, 李宏.水产养殖实时监控系统设计[J].农机化研究, 2011 (9) :124-127.
[2]赵亮, 杜尚丰, 张峰.无线传感器网络在水产养殖系统中的应用[C].第24届全国高校电力系统及其自动化专业学术年会.北京:中国农业大学, 2008.
[3]何世钧, 陈中华, 张雨, 周文君.基于物联网的海洋环境监测系统的研究[J].传感器与微系统, 2011 (30-3) :13-14.
[4]Jiawei Han and Micheline Kamber.Data Mining:Concepts andTechniques, Morgan Kaufmann Publishers[J], 2001.
相关文章:
适老性社区环境设计01-06
项目部安全检查制度01-06
项目安全监督检查制度01-06
在建项目安全检查重点01-06
安全生产专项整治工作方案安全生产整治方案01-06
煤矿安全专项整治方案01-06
1梅花镇食品安全专项整治活动工作汇报01-06
消防安全整治专项方案01-06
项目定期安全检查制度01-06