内容自适应

2024-09-05

内容自适应(共7篇)

内容自适应 篇1

摘要:介绍和分析内容自适应相关技术, 重点讨论自适应策略及其分类、网络监控方法以及构架设计方面的内容。在此基础上, 研究内容自适应技术在无线领域应用的问题, 并以移动多媒体传输为例研究其网络局限性, 并讨论适应移动多媒体内容分发的网络感知策略。

关键词:content adaptation,自适应,网络感知,多媒体

0 引言

互联网的迅速发展使网络中传播的内容资源更为丰富, 同时也使用户对网络的需求日益增加, 尤其是对图像、音频、流媒体视频等多媒体内容的需求不断提高。由于多媒体内容的访问往往占用较大带宽, 加之用户访问量的不断增大, Web服务器的负荷也在日益加重, 网络吞吐量下降。在无线网络环境中, 由于带宽的限制、空气介质带来的冲突以及多媒体内容访问量的增加而产生的网络整体性能下降更为明显, 对用户体验度的影响程度也更为严重。形形色色的无线终端设备, 如:智能手机、掌上电脑、PDA使无线乃至移动环境下访问互联网变得更为便捷, 但同时也形成了接入网带宽不同, 终端设备能力差异的无线异构网络, 这也使得不同的终端用户享受到同样高水平的网络服务质量变得十分困难。

为了在无线异构网络环境中提高内容的可读性同时改善用户体验度, 有研究者提出了内容自适应策略。这是一种动态调整被访问内容以满足终端用户接入网络带宽, 用户偏好和终端设备能力限制的机制[1]。图1描述了内容自适应实现的基本流程。在无线异构网络环境中, 内容自适应技术考虑到终端设备能力的局限性 (比如屏幕大小及分辨率、支持图像格式、应用程序种类等因素) , 在发送内容前对内容的格式或大小进行调整, 从而发送更适合终端设备读取的内容。同时该策略也可以根据用户接入网络的特征和当前的网速, 对内容进行适当的降质, 降低质量后的内容保持原有内容的核心, 但容量大大减小, 从而减轻了对网络传输的负担。内容自适应研究的相关技术包括[2]:

(1) 用以支持内容自适应的多媒体处理和分析算法。

(2) 能够可靠探测用户设备软硬件能力的机制。

(3) 定义用户偏好的标准方法及对其在会话间跟踪的机制。

(4) 有效测量当前用户与服务器之间网络连接特征的方式。

(5) 判断在各种条件下何时以及如何执行内容自适应算法的策略。

1 内容自适应策略

无论在有线或无线网络环境中, 采取一种适当有效的自适应算法是完成整套内容自适应过程的关键。内容自适应策略的核心思想是在保留内容关键信息的同时根据用户所处的网络环境、软硬件环境与特点需求对内容进行一定程度的处理和转化。对内容进行处理的技术有很多, 一些现有的多媒体处理技术可以被用于实现更智能的信息发送。Hewlett-Packard实验室的研究人员定义了一套异构网络中自适应内容分发的框架, 其中将一些主要的内容自适应策略按其应用归为五大类[2], 表1按多媒体内容包含的四种种类 (视屏、图像、音频、文字) 对这五类技术所采用的自适应方法进行了概括。它们包括:

信息提取 (Information abstraction)

模式转换 (Modality transformation)

数据转换编码 (Data transcoding)

数据优先 (Data prioritization)

目的分类 (Purpose classification)

2 用户信息获取策略

用户信息主要包括三方面的内容:用户设备能力, 网络特征和用户偏好。获得用户信息是实现内容自适应的第一步, 也是自适应算法的依据。现有的一些技术可以被用于收集与测量用户信息。例如:分析用户发送的请求 (如HTTP请求的头文件) 可以获得用户设备方面的信息, 如浏览器类型、设备屏幕尺寸等信息, 也可间接估计该设备的最大可用带宽等信息。又比如:提供界面给用户提交用户的偏好, 设备的能力, 以及所使用网络连接的属性等等。其他获取用户信息的技术还包括会话跟踪, 系统及网络负载自动测量, 浏览器行为分析等等。

2.1 网络监控

为了对网络环境的变化实时捕捉, 应用程序必须找到一种方法对网络进行监控。通常来说, 网络监控指的是收集网络状态的原始数据如带宽、时延, 但一些系统还有能力将原始数据进行统计转换并根据应用软件的语法格式显示结果[3]。

最常见的网络监控方法的分类是基于该方法所产生的流量[3,4]。若采用主动监控的方法, 网络测量数据是通过发送附加的测试信息而获得的, 因此这将不可避免地给网络带来额外的流量。反之, 若采用被动监控技术, 系统仅以程序产生的流量作为依据, 并通过与网络其他节点的通信获得数据。网络状态的信息完全由穿梭于网络中的数据分组所表征, 因此不会引入额外的网络流量。

2.1.1 主动监控

主动监控可以通过在单一主机上运行简单的探测服务实现, 也可以利用探针分布于网络各处的复杂监控系统。前种方式的例子有standard ping[5]和bprobes[6]。后种方式的例子有NIMI[7], topology-d[8], 以及基于代理的系统[9]。由于引入了额外流量, 主动监控在监控过程中有更好的主动性和控制权。它可以简便地测量两台主机之间整条网络路径的特征, 比如分组往返一次的时间 (Round Trip Time) , 平均丢包率 (Packet loss) , 以及可用带宽。但是这种监控方式比较难获得网络中具体某一点的信息。

对于资源有限的网络如无线网络来说, 额外的流量始终是一个问题。除此之外, 主动监控的另一个问题是, 由测试数据包获得的结果往往不符合实际用户数据包的产生的结果 。因此, 监控结果可能无法完全代表实际使用情况。然而, 通过使用测试包来模拟实际用户数据包, 主动监控可以测量到网络任何一处的质量, 甚至那些没有流量的链路, 这适用于连接初始化和服务器的选择。

2.1.2 被动监控

被动监控是目前网络感知的应用中常见的监控方式。与主动监控相比, 被动监控可以对网络中特定一点进行精确的评估, 如准确的比特率或分组速率等。被动监控较主动监控更准确, 因为它测量的是实际用户数据。但是, 为了能获得更可靠的测量数据, 快速的处理是至关重要的, 而被动监控很容易导致信息过时 , 这是由于信息只有在主机连接远程站点时才会被收集。

被动监控的例子有SNMP (Simple Network Management Protocol) , 一些特殊的硬件软件系统如Nprobe[10]和SPAND[11]等。

2.1.3 混合监控

根据上述讨论, 很明显主动监控和被动监控各有优缺点, 双方互补而并不互斥。因此, 一种混合监控策略可以结合两者优势而成为一种更好地解决办法。文献[12]中介绍了一种混合监控系统:EXPAND。这种监控方式只在被动监控信息不可用的情况下采取主动探测, 例如当前网络无连接的情况下主机想了解网络状况以建立一条新的连接。基于该模型的实验表明, 混合模式可以减少主动探测所引入的额外流量, 同时获得准确的信息。

3 构架设计

内容自适应策略的构架问题讨论的是自适应决策和算法在何处进行。常见的位置有服务器、代理 (Proxy) 、用户端以及综合型。每一种设计都有其优缺点, 这里比较关心的问题是:系统实现的难易程度, 网络带宽、CPU和内存的利用效率, 内容自适应的有效性以及内容转换的相关版权问题等[2]。

3.1 基于服务器的自适应构架

基于服务器实现内容自适应的构架中, 服务器负责探测用户设备能力和网络状况, 随后根据预先设计算法提供最优的自适应策略。该构架的优点在于它可以进行静态 (off-line) 和动态 (on-the-fly) 的内容自适应。前者指的是在任何时刻为原作内容自动创建多个版本;后者指的是当请求发生时对内容进行实时的自适应处理。因此, 基于服务器的设计对内容有更好的著作控制, 内容的作者也可以参与决定在不同环境中内容的转换方式。在安全性较高的网络环境中 (如电子商务) , 网页往往被加密, 因此自适应也只能由服务器来完成。

这种构架也有其不足之处。由于传输带宽的限制, 用户通常需要从地理上较近的服务器上获取内容以减少跳数缩短内容下载时间。而在基于服务器的内容自适应系统中, 这意味着执行自适应算法的服务器必须分布在网络各处, 服务器设计也必须考虑到数据同步问题, 对引入的额外资源消耗进行负载均衡。静态自适应方式创建的多个版本的内容也将同时存在于各台服务器中, 从而耗费大量存储资源。

3.2 基于代理的自适应构架

基于代理的构架中, 用户通过代理向提供内容的服务器发出请求, 代理截获服务器发送的内容从而决定和执行自适应策略, 转换后的内容随后发送至用户。一般假设代理与服务器之间的带宽远大于代理到用户的带宽, 因此内容从服务器到代理的下载时间是可以忽略不计的。这种构架中自适应发生的位置更靠近用户, 避免内容版本的过多复制。并且服务器和用户端都无需作任何改变, 同一台代理可以为多台服务器执行内容自适应处理, 从而有利于大规模应用。

然而, 由于代理从众多服务器中获得内容, 内容的格式差异显著, 因此, 基于代理的自适应方式对内容的转换结果缺乏著作控制, 结果没有统一的格式和评价优劣的标准。版权问题同样也是这种设计的缺点之一。

4 无线自适应内容分发

随着无线网络技术的发展, 越来越多的无线终端设备如PDA, Pocket PC, 智能手机随之出现, 移动用户的数量也在日益攀升。考虑到这样一个异构和多变的网络环境, 加上多媒体应用对网络资源的依赖, 让移动多媒体应用实现网络感知 (Network aware) 变得非常关键。下文将主要以移动环境为例, 讨论移动多媒体传输带来的问题, 以及针对这些问题对网络提出的特殊要求如何采取一种能够对网络感知的内容自适应策略。

4.1 移动多媒体应用的局限性

在无线领域, 许多应用程序如电子邮件已经能够成功地在移动无线网络中运行, 但是要将多媒体应用程序完整的移植到无线环境中来还具有相当大的挑战, 这些程序往往需要处理各种格式的内容, 包括文字、图像、动画、声音、视频等等[3]。尤其对于音频和视频内容来说, 它们对网络带宽有更高的要求。例如, 在速度低于30kbps的第二代移动蜂窝网络 (如:GSM) 中, 视频的传送非常困难;而在802.11a的WLAN (带宽6Mbps~54Mbps) 或3G移动网络UMTS (带宽最高可达2Mbps) 中传送视频才更具有实际意义[3]。除了带宽资源受限, 无线性与移动性的特性都给网络质量带来挑战。这些挑战包括带宽变化不定、误码率起伏不定、可能的不对称连接、切换过程中不被预料的质量下降等等。表2对移动网络多媒体应用可能带来的问题作了归纳, 其中按问题产生的主要因素 (无线性、移动性和多媒体) 将问题分为三大类[3]。

4.2 网络感知的移动多媒体传输

考虑到移动多媒体传输的种种局限性, 网络感知的内容传输技术被视为是解决该问题的一种解决方案。所谓网络感知就必须通过某种方法探测终端用户的网络特征参数, 这些参数可以是带宽、时延界限、安全性等方面的信息。在这些参数中, 网络带宽可以说是最为重要的网络性能指标。为了测量终端网络的性能参数, 前文已经介绍了几种网络监控的方法 (主动、被动、混合) , 采取一种适合于移动网络特征的监控方式将更有利于网络数据的实时、准确的探测。基于移动网络环境变化莫测的事实, 需要一种能够使移动多媒体应用程序快速地探测网络变化的监控方法。主动监控会给有限的网络资源带来额外的流量负担, 获得结果需很大是延迟, 因此不常被用于灵活多变的网络。另一方面, 被动监控对测量某些种类的参数有局限性, 如:错误概率、丢包率, 同时也无法测量关闭或断开的连接上的数据, 而这些情况在无线网络中是很常见的[12]。尽管目前常见的网络感知应用模型大多基于被动监控, 我们依然相信一种集主动和被动优点的混合监控方式将是移动多媒体应用网络的最佳监控方案。

除了选择合适的监控策略, 网络构架也是重要的考虑因素。基于用户终端设备的构架方案简便易实现, 但其并没有起到减轻网络负载的作用, 内容仍然以完整的形式被传输到用户手中, 再根据设备的能力作相应的处理。并且自适应依靠的是用户端应用软件自身的能力, 对于一些计算和存储能力有限的移动设备而言, 这也将耗费很大资源。因此基于服务器或者代理的构架更适合于无线移动环境内容自适应分发。前文以对两者的优劣进行了比较分析, 基于代理的方式使自适应发生在离用户较近的地方, 优化了网络资源最薄弱的用户接入网环节上内容的传输, 部署也相对容易, 因此比基于服务器的构架更显优势。但是根据具体的无线网络情况以及对内容版权问题的考虑, 基于代理的方式也不是唯一的选择, 有些情况下, 采用混合的构架方式更具实际意义。

5 结束语

本文在介绍了内容自适应基本概念的基础上, 对其核心技术作了逐一分析, 主要包括自适应策略、网络监控测控、构架等等。其次本文对内容自适应技术应用于无线领域中的可能性作出分析, 并对移动环境多媒体应用存在的诸多局限性进行了阐述, 并讨论了自适应技术在此类环境中应用的方法。选择一种合适的混合监控策略与适应网络特性的自适应构架方式, 无线网络的传输性能将得到提升。

参考文献

[1]Stephen J.H.Yang, Norman W.Y.Shao, Risk C.S.Chen.A multi-media content adaptation mechanism to implement universal access onlearning environment[J].IEEE Communications Magazine, 2003.

[2]Wei-Ying Ma, Ilja Bedner, Grace Chang, et al.A framework for adap-tive content delivery in heterogeneous network environments[J].Hewlett-Packard Laboratories, 2005.

[3]Jinwei Cao, Dongsong Zhang, Kevin M.McNeill, et al.An Overview ofNetwork-Aware Applications for Mobile Multimedia Delivery[C].pro-ceedings of the 37th Hawaii International conference on System Scienc-es, 2004.

[4] Caripe W, Cybenko G, Moizumi K, et al.Network awareness and mobile agent systems[J].IEEE Communications Magazine, 1998, 36:44-49.

[5] Toshiya M, Kazuo N, Shouji M, et al.QOS MONITORING SYSTEM[R].Yokogawa, Technical Report No.34, 2002.

[6]Carter R L, Crovella M E.Measuring bottleneck-link speed in packetswitched networks[R].Computer Science Department, Boston Universi-ty, Technical Report BU-CS-96-006, March 1996.

[7] Paxson V, Adams A, Mathis M.Experiences with NIMI[C]. presented at Proceedings of the Passive & Active Measurement Workshop, 2000.

[8] Obraczka K, Gheorghiu G.The performance of a service for network-aware applications[C].presented at Proceedings of the SIGMETRICS symposium on Parallel and distributed tools, Welches, Oregon, United States, 1998.

[9]Wijata Y I, Niehaus D, Frost V S.A scalable agent-based network mea-surement infrastructure[J].IEEE Communications Magazine, 2000, 38:174-183.

[10]Moore A, Hall J, Harris E, et al.Architecture of a Network Monitor[J].presented at Proceedings of the Fourth Passive and Active Mea-surement Workshop (PAM 2003) , 2003.

[11]Seshan S, Stemm M, Katz R H.SPAND:shared Passive Network Per-formance Discovery[C].presented at 1st Usenix Symposium on InternetTechnologies and Systems (USITS’97) , Monterey, CA, 1997.

[12]Landfeldt B, Sookavatana P, Seneviratne A.The Case for a Hybrid Pas-sive/Active Network Monitoring Scheme in the Wireless Internet[C].presented at ICON 2000, Singapore, 2000.

自适应内容传输的时效性分析 篇2

关键词:自适应传输,内容协商,缓存

0 引言

Internet已经完全走进人们的日常生活。为了满足人们无论何时何地都能访问Internet的需求,无线网络发展了起来。在过去的几年里,通信技术和制造工艺的发展对互联网的应用提出了新的挑战,掌上电脑、智能电话和口袋PC等新设备成为常见的计算机终端。根据W3C作出的评估,在不久的未来,75%的WEB访问请求将由这些终端发出,而不是台式PC[1]。不同的终端处理Internet数据的能力也不同,如果我们还是把相同的数据发送到所有的终端,可能会因为一些终端无法处理而使发送的数据变得没有意义。这不但是对带宽的浪费,也是对客户终端资源的浪费。因此,我们应该为不同的终端提供不同的服务质量。例如,移动电话的LCD通常比较小,屏幕分辨率一般是320×240。即使它收到一幅大而清楚的640×480的图像,也只能在屏幕上显示图像的四分之一大小。

在这样的环境下,特定终端发送的请求,需要包含更适合该终端特性的内容的特定信息。当服务器收到这样的请求后,它将根据自己所能提供的内容版本,决定将哪个内容版本返回给客户端。

一种常见的客户端请求是请求一个对象的不同部分。例如,对纯文本来说,不同的部分包含不同的信息。在不同页面上的第一章和第二章分别阐述对象的不同方面。这种现象在Internet上也存在。传统的多媒体数据格式(如JPEG和MPEG)更加注重好的压缩比率,视觉效应和内容标引;文本和超文本的数据格式也由内容含义和语义学来确定。然而,在递进的或者分层的新数据格式出现之后,对象的部分版本也变得有实用性。在图像领域,JPEG2000[2]是一种递进的,很有意义的新数据格式。现在,我们有可能在Internet上请求或者传输某个完整对象的一个特定的数据块。我们把这个机制称为部分内容传输POT(Partial Object Transmission)。本文中我们实验的对象是JPEG2000。

我们讨论POT领域中的网络传输和缓存问题。首先,我们建议把原来在资源服务器上的完成的任务转移到客户端和资源服务器之间的设备(例如代理服务器)上来完成。其次,我们将改造传统的代理服务器,使其适应POT机制。最后,我们在自适应代理服务器上通过详细的实验来演示POT机制对系统性能的提升。

1 相关工作

先说明一下HTTP协议[3]。基于HTTP/1.0[4]、HTTP/1.1[5]提出了内容协商[5]的概念,定义了根据不同的客户端参数给客户端发送特定内容的方法。

内容协商是我们做这项研究的基础。在HTTP/1.1里,它提供了两种协商方式:服务器驱动协商(Server-driven Negotiation)和代理驱动协商(Agent-driven Negotiation)。对于服务器驱动协商,资源服务器在传输过程中起重要作用。它猜测出最适合客户端的对象版本,然后发送给客户端。这种协商方式的不利条件是显而易见的,并且在HTTP协议中有清楚的描述。简单地说,它分配给资源服务器太多的任务,而有时这些任务并不划算。对于代理驱动协商,它需要客户端发送第2个请求来在最初的响应列表里选择对象最好的版本。这种方式也浪费了很多资源,例如网络带宽和CPU周期。这两种协商方式的结合叫做透明协商(Transparent Negotiation)[6]。

透明协商使用处于资源服务器和客户端之间的中间服务器或者网络缓存来实现协商,这里的网络缓存指具有缓存能力的代理服务器。代理缓存是WEB能够通过Internet提供大规模访问的一个关键因素。当今的网络访问形式主要表现为对热门站点的少数热门对象的高频率请求。因此,每当有一个请求来临时,热门对象都要通过相同的网络链路传输一次。在没有缓存时,这种方式可能造成服务器过载、网络拥塞、高延迟,甚至客户端的请求被拒绝。从实质上讲,这造成了网络中热点的形成。代理缓存通过在网络上分配负荷,为这些问题提供了一个有效的解决方案。因此,把进行内容协商的任务转移到代理服务器是一种很自然的想法。基于这个想法,人们已经做了很多研究。

2000年,自适应内容传输的完整架构发展起来[7]。这个架构包括内容自适应算法,客户端性能和网络带宽发现方法,以及为了判断何时和怎样进行内容适应的决策引擎(Decision Engine)。自适应内容传输同样有很多方法,其中,信息金字塔(Info Pyramid)、可扩展编码(Scalable Coding)和转换编码(Transcoding)是最受欢迎的方法。使用这些方法,已经发展了很多应用,特别是在视频流媒体领域。然而,在这些应用中,代理服务器主要用于对象的编码或者转换编码,并没有涉及怎样储存和管理在缓存中的对象版本。由于当前的透明内容协商机制的命中率非常低,所以客户端很少能从处于他们和资源服务器之间的缓存获益。

2 面对的困难和提出的解决方案

现有的代理服务器所面临的问题是它们不在本地缓存中保存对象的不同版本。造成这种现象的原因有以下几个。

1)为了管理一个对象的不同版本需要消耗大量的资源。因此,对缓存中对象各个版本的管理给网络缓存造成了额外的负担。当收到后续的请求后,在缓存中查找合适的对象版本,会引入额外的操作时延。

2)另一个问题是如何把最适合的对象版本发送给客户端。如果客户端无法得到它想要的对象版本,那么它对对象的察觉灵敏度也将变得没有意义。

3)保存一个对象的各个版本意味着要占用一个对象大小的几倍空间。这就需要代理服务器拥有一个很大的磁盘空间。更糟糕的是,对象的一些版本在将来再也不会用到,但这个版本仍然待在缓存中,直到缓存满了被替换出去。如果这样的对象版本太多,代理服务器的效率将大大降低。

在POT领域,代理缓存只需要保存一个对象版本就能达到自适应内容传输的目的。首先,我们看一下JPEG2000算法,并解释为什么它是适合POT领域的编码技术。

JPEG2000是一个由比特流构成的,分层的数据格式,它由最初的基层和对象其余部分的修正层构成。因此,使用JPEG2000编码的图像质量只和前N个字节的数量成比例。这使得传输JPEG2000对象很简单,因为仅仅需要传输一个字节范围和可以忽略的头开销。一幅图像就可能实现各个转换编码版本中的数据重用性。一个图像的低质量版本可以用来构造高质量版本,所要做的仅仅是从服务器上取回两者的不同部分。这要求部署在代理缓存中图像的质量具有增量效应。给定一个稳定的带宽和合适的时延,客户端用户首先可以得到一幅图像的低质量版本,一段时间之后,客户端能够把本地图像的低质量版本和从服务器上获取到的增量数据结合起来,得到图像的高质量版本。然而,传统的算法(如JPEG)不够先进,并不能实现这种效果。JPEG和JPEG2000的图像效果比较如图1和图2所示。

然而,传统的代理缓存不支持部分内容的储存。另一方面,如果代理服务器从资源服务器得到一个响应,它将检查响应的状态码。如果找到状态码206(部分内容),它就认为该响应是不能缓存的。在把该响应传输给客户端后,本地缓存并不保存该部分内容的拷贝。

事实上,HTTP协议并没有定义这种现象,在HTTP/1.1中,所有和控制机制相关的缓存都由缓存控制参数来定义。HTTP206响应是可以被缓存的,而且可以使后续的访问者获益。之所以部分内容不能被当前大多数的网络缓存所储存,是因为代理服务器每次收到客户端的后续请求后,都要把该请求传输给资源服务器,即便它刚刚做过同样的事。在POT领域,代理服务器的缓存功能被削弱了。

在本文中,我们试着修改传统代理服务器的缓存机制和运行方式,来使其支持部分内容的缓存。在那之前,我们先在下面给出传输模式和一些定义。

在HTTP协议里数据流通过分块模式传输。浏览器在收到一个数据块后,立即将它显示出来。即使整个对象还没有全部传输完,客户仍然可以看到传输完成的部分。为了精确地定义具体对象的获取时间,我们给出以下定义:

定义1对象获取时间是指从获取对象的请求发出到对象的最后一个数据块传输完成所花费的时间。

定义2对象察觉时间是指从获取对象的请求发出到对象的第一个数据块传输完成所花费的时间。

很显然察觉时间总比获取时间要短,最长也只能和获取时间相同(要传输的对象太小而只有一个数据块)。粗看起来,好像获取时间是衡量内容传输系统好坏的一个重要参数,实际上察觉时间也同样重要。

首先,从对象察觉时间的定义来看,它表明了用户察觉到服务器发出响应所消耗的时间。这非常重要,因为如果用户在等待很长一段时间之后,还不知道服务器是否会有响应,他就可能认为服务器出了故障,从而停止当前的访问。

其次,如果客户能很快得到对象的第一个数据块,他有时就能得到该对象足够的信息,而不需要等到整个对象传输完成。例如在浏览使用JPEG2000编码的图像。

根据上面的定义,在进行内容传输时,我们很容易把目标集中在对象察觉时间的缩短上。我们提出的架构和对缓存的改良如下:

1)客户端请求获取资源服务器上某一JPEG2000图像的不同部分,而不知道在它和资源服务器之间存在代理服务器。

2)构架建立起来后,在代理服务器与资源服务器之间的传输速度和代理服务器与客户端之间的传输速度几乎相同。也就是说传输速度的提高对代理服务器缓存性能的提高非常有限。如果在这样的环境下系统的性能还能得到一点改善,可以预测,在实际的Internet上系统性能的改善将大幅提高。

3)代理服务器负责根据客户端的请求选择合适的版本。如果有必要,它将请求发送给资源服务器以获取图像的其他部分。

代理服务器缓存设计如下:

当客户端请求一个低分辨率的图像时,它告诉服务器它对要获得的图像的要求和偏好。具体的,它告诉服务器它所希望获得的字节的范围。然后服务器传输图像的部分内容来响应客户端。在传统的缓存中,对象的部分内容是不能被缓存的。现在,我们对其作修改使其能缓存这个部分内容。当收到来自另一个客户请求同一个JPEG2000图像的后续请求时,分为两种情况:

1)客户端请求的字节范围比缓存的内容少。这时,代理服务器就将合适的字节范围直接发送给客户端,而不用把请求发送给资源服务器。

2)客户端请求的字节范围比缓存的内容多。首先,代理服务器把本地缓存的内容发送给客户端。然后,他向资源服务器发送获取其余部分的请求,收到后传输给客户端。同时,他将这部分内容附加在本地缓存的图像末端。

这是在POT领域中新的代理缓存的运作模式。我们将在下一节的内容传输中看到它的影响。整个系统部署在一台装有REDHAT LINUX操作系统的P4 1G的服务器上,进行修改的传统代理缓存平台是SQUID。

3 实验结果和讨论

为了检测部分内容缓存对Internet上的大型图像传输是否有益,我们在引入部分内容缓存机制后,通过实验来测量察觉时间的改变。

通过对对象不同范围的对象察觉时间的测试,我们可以看到图3所示的结果。X轴代表对象的大小范围,Y轴代表客户端实际的察觉时间。

由图3可见,当部分内容被存储在缓存服务器上后,客户端的察觉时间减小了,实际减小的察觉时间从20%到40%不等。我们可以得到结论,部分内容缓存机制提高了Internet上大型图像的传输效果。虽然在代理服务器上引入部分内容缓存很明显地增加了头开销,但其对性能的影响与客户端更快地察觉到对象所带来的好处比较起来可以忽略。

仔细观察图3,在没有代理时,察觉时间和传输对象的大小几乎成线性增长。而在使用代理的情况下,当传输对象增大时,察觉时间增长的更为缓慢,而且这种趋势随着传输对象大小的增加越来越明显,这对我们是很有吸引力的。对代理服务器的后续研究表明,当传输对象的部分变得更大时,内容传输的缓存效应变得更为突出。也就是说,部分内容缓存是有效果的。对象的部分越大,客户端从部分内容缓存机制获益就越多。

我们也研究了部分内容缓存机制下整个对象的下载时间。虽然并不如察觉时间一样重要,但是我们仍然注意到了整个对象下载时间的改进。这也是我们当初所期望的,通过缓存机制同时改进察觉时间和整个对象的下载时间。

4 结论与展望

本文中,我们讨论了经过分层编码的大型对象的部分内容缓存机制,详细说明了分层数据格式JPEG2000的部分内容缓存机制。实验结果表明,部分内容缓存对内容传输的好处是显而易见的,对Internet上的网络设计和内容传输非常有用。

随着数据格式和编码算法的发展,代理缓存将会工作得越来越好。在POT领域,如果指定了更加先进的分层数据格式,代理服务器将对内容传输效率产生更大的影响。

当前,在缓存上储存对象副本的趋势是只储存一个版本。虽然在内容协商机制下,通过HTTP Vary头已经做了一些工作,系统的效率很难保证。因为它给缓存造成了太多的负担,而且数据的重用性很难预测。

参考文献

[1]Lemlorma T,Layaida N.Adapted content delivery for different contexts [C]//SAINT 2003 conference,2003.

[2]Charilaos Christopoulos,A S,Touradj Ebrahimi.2000.

[3]Thomas S.Http Essentials.2001.

[4]Berners-Lee T,R F,Frystyk H.Hypertext Transfer Protocol--HTTP/1. 0.RFC Volume,1996.

[5]Fielding R,J C M,Frystyk H,et al.Hypertext Transfer Protocol--HTTP /1.1.RFC Volume,1999.

[6]HOLTMoltman K,A M.Transparent Content Negotiation in HTTP.1998.

自适应花盆 篇3

现在很多人喜欢在家养一些花花草草, 不过, 这些美丽的生命需要在精心的照顾下才能开放出美丽的花朵。但当你因种种原因而无法按时给花草浇水时, 过不了几天, 这些花草就会因为缺水而枯萎。于是我设计了一个特殊的花盆:在花盆底部放置一个隔板将花盆分隔开, 在底部形成一个储水槽。当主人在家时, 每天浇水时可适量多浇灌一些, 多余的水分会渗过土壤流进事前设计好的储水槽中保存起来。等到主人无法按时给花草浇水, 土壤过分干燥时, 储水槽内的水就会顺着引水装置被干燥的土壤吸收, 从而润湿土壤。花盆的口部有一个有孔封口, 它可以限制植物生长范围, 有了它就可以在最大限度上减少水分蒸发。

点评:作者从实际需要的角度出发, 能够积极地思考生活中的点滴问题, 并通过创意、设想进而解决问题。但在设计中还没有很好地将设想设计出来, 还可以进行一步改进, 以提高其实用性。

自适应混合入侵防御 篇4

关键词:自适应,入侵防御系统,异常分类器,签名过滤系统,指令集随机化

1 引言

由于信息安全与网上信息对抗的需求,使得如何增强计算机系统和网络系统的安全性的研究成为了举世瞩目的焦点[1]。网络防御系统的目标是预先对入侵活动和攻击性网络数据进行拦截,避免其造成损失[2],但一个关键问题是网络防御系统对攻击行为不能自动做出一个可靠的,有针对性的及适应性的反应[3]。当溢出被一些未曾见过的攻击利用时,这个问题将会被放大。网络防御系统通常是由基于网络的IDS(Intrusion Detection System)的和包过滤防火墙组成,由于这些这些系统本身的缺点,使它们难以确定和描述新的攻击并智能化的应对它们。

由于IDS只能被动的检测攻击,而攻击防范往往是留给防火墙的任务。当然成功阻止一次确定的攻击通信需要一个灵活和明确的策略,此外大量的网络流量与签名进行匹配往往需要专业的硬件设备并假设这些签名准确的存在。另外加密流量和隧道流量成了IDS和防火墙共同的问题,因此无论是IDS还是防火墙都无法确定一个数据包在终端主机被进行了怎样的处理,从而导致它们做出错误的决定[4]。

这些阻碍促使我们将安全控制策略的放置更接近终端主机(例如,分布式防火墙)[5]。这种方法对系统安全性的保护不仅有利于企业级网络,而且还包括那些家庭网络用户。这种“纵深防御”表明传统的外围防御(如:防火墙)已被应用到基于主机的防护机制中。本文设计了这样一个系统,它采用混合异常检测及签名检测的方案,自适应地应对新的攻击。

2 自适应混合防御系统关键部件及技术

2.1 混合检测

一般情况下,检测系统仅仅依赖于签名并不能启用防御系统来应对前所未见的攻击行为。另外,基于异常的分类器可以识别新的行为,但往往无法分辨以前所未见的这些行为是“好”还是“坏”。这个盲点通常会导致较高误报率,并要求这些分类器进行过大量的训练。

混合检测系统以入侵防御系统IPS(Intrusion Prevention System)为基础:是一个有自动反应能力来阻止攻击行为的系统。我们的混合系统的核心是一种基于异常的分类器,它结合反馈信息调整其模型并自动生成已知恶意行为的签名。我们的异常检测是基于PayL[6],但也可用于其他分类器[7]。

对于一个混合系统最大的障碍是反馈信息的来源。理想的情况下,它应该是自动化的并且对用户是透明的。例如,对垃圾邮件分类器的反馈可能是用户在自己的电子邮件点击按钮,通知客户端的邮件服务器,以考虑将其归类为垃圾邮件或不适当的电子邮件。这种反馈循环是一个网上监督式学习的实例,它将监督负担分配给了每一个系统用户。我们系统的反馈机制加强了无监督的网上学习。信息来源是基于X86模拟器,STEM[8],即以指令集随机化增强保护系统进程。

2.2 指令集随机化

ISR是创造一个独特的运行环境的过程并以此有效地阻止代码注入式攻击。创建这种环境的目的是在这个指令集执行一些可逆转换。

因为攻击者通过精心设计与所预期的执行环境相匹配,致使攻击者不会轻易改变他的攻击代码,而攻击代码与特殊环境的不匹配致使攻击代码在特殊环境执行无效,从而导致攻击失败。ISR方法以前已被证明在阻止代码注入式攻击上的成功[9,10],这种技术通常与空间地址混合来阻止“跳成libc”攻击。

指令集随机化需要执行环境有能力以终止在运行时随机的或解码的二进制指令流。对于机器代码,这一要求意味着,要么处理器硬件包含解码逻辑,要么该处理器以软件的形式出现。

ISR的实践形式,使我们能捕获注入代码和与它相关的被列为异常的输入。Barrantes等人[11]表明,在一些控制流字节切换(两个或三个指令)到注入代码的过程中,代码注入攻击被保护的二进制文件失败。因此,在程序停止执行时,指令指示器(有很高的几率)表明此代码是恶意代码。我们可以提取这些代码,并传送给我们的过滤器来创建一个新的签名并更新我们的分类器的模型。

3 设计与实现

FLIPS的设计基于两个主要部分:应用程序监管框架和过滤代理。该设计的一个主要目标是保持系统的模块化并可扩展部署在一个主机上。(图1显示了这种设计的高级视图。)受保护的程序可以是一个服务器等待请求或是接收客户端程序的输入,如果被视为恶意的将被过滤代理丢弃。如果监控器检测出被保护的程序出现了错误,这标志过滤器在更新其签名和模型。

过滤代理的主要功能是对输入进行评分和分级并选择性的进行丢弃,代理则是两个主要分类方案的混合。基于特征的过滤器可以对某个请求进行评分和丢弃如果它与已知的恶意数据相匹配,而基于异常的分类器则可以对输入程序进行评分和丢弃如果它超出了正常的模型范围。

应用程序监管框架的主要功能是阻止溢出,修复可能被利用的漏洞,并将溢出信息汇报给过滤器和分类器。监管框架可以包括些基于主机的监控器,由它们提供给代理各种补充的反馈信息。我们的原型实现是基于一种提供与代码注入式攻击有关信息的监控器。

请求从过滤代理通过,如果被认为是恶意的将被丢弃。包过滤防火墙为应用程序提供保护,只允许本地代理实例连接应用程序。应用程序处理这些请求并通过代理传回响应。如果某个输入引起代码注入攻击,监管框架会将注入代码连接到代理,代理将会更新其模型和签名。

3.1 HTTP代理和Pay L

HTTP代理是一个简单的对每个输入请求产生一个新的线程实例的HTTP服务器。在服务程序中,代理调用一系列对H T T P请求的过滤器对象。我们的默认过滤器执行维护三个基于签名的过滤器和一个分类器对象。PayL实现了分级界面以对每个基于异常的H T T P请求给予标记。当代理启动时,它创建一个PayL实例并提供给PayL一个traffc文件样本用以改进。

我们构建了一个HTTP代理(Apache)以保护HTTP服务器免受恶意请求的攻击,代理通过调用三个过滤机制及P a y L来决定如何处理每一个H T T P请求。

过滤器实现的核心是将其划分为两个子程序,checkRequest()程序执行基本过滤和分类工作。它维持4数据结构用以支持过滤功能。第一个为“可疑”输入要求清单(由PayL确定)。这一清单作为一个缓存为匹配以证实的恶意输入提供了良好的反馈机制,但值得注意的是,此清单并不用于删除请求。其余的数据集合形成一个三级过滤结构,在权衡复杂性的同时更加积极的实现过滤。这些清单并不是通过PayL确定而是通过反馈机制产生。第一层的过滤为直接匹配。该过滤器是最实惠的,即使略有质变但它却最有可能阻止恶意请求。第二个过滤器是一个反向查找过滤器,它们的存储请求由PayL的评分来决定。最后,由最长公共子串过滤器来提供昂贵但却是捕获恶意请求的最有效手段。

第二个组件作为代理的反馈机制,它是一个后台线程监听,关注来自于S T E M所包含的恶意二进制代码,此线程仅读取一个字节并检查它们是否与我们先前所熟知的“可疑”输入相匹配(如PayL分类),如果不是,那么该线程将会把检测范围扩大到之前见过的包含那些缓存较小的所有请求。匹配是目前最常用的子算法,如果匹配成功,则该请求将被用在上述筛选数据结构。如果没有,以此恶意字节序列为基础,一个新的请求将被创建并写入过滤器。

我们的监管架构是一个应用级程序库,它提供了一个模拟器在去随机性指令流和底层硬件正常执行的指令流之间自由切换的能力,如图3所示,将要被仿真的代码段将4个特殊标签包裹起来。

此程序为一个使用S T E M标签的实例。

STEM是一个x86模拟器,可以有选择地调用任意的代码段,允许我们在同一进程内部混合仿真及非仿真的执行。模拟器允许我们监测当执行指令时的随机处理错误,撤销由内部代码故障引起的内存变化,并模拟一个从上述调用函数返回的错误,我们的一个主要假设是我们能够在错误和异常集之间建立一个映射,这种错误和异常可能出现在程序的执行以及该程序代码处理的错误集。

3.3 ISR技术

主循环由仿真器读取,解码,执行以及每次撤销一个指令组成,在抓取指令之前每一项是随机发生的,由于x86架构包含可变长度的指令,在指令流翻译出足够的字节是解码成功的关键。否则,可能会产生无效的操作。为了使问题简化,我们假设每个指令的最大长度为(16字节)。16位字XOR'd伴随16位密钥,并复制到缓冲区。获取/解码函数读取缓冲区和提取一个指令。伴随处理指令的准确长度程序计数器是递增的。如果指令在1 5字节或更少的情况下,不必要的去随机将会发生,但这是可变长度指令不可避免的一个副作用。如果注入的代码位于执行路径的任何位置,异或函数会将其转换为一个非法操作码或指令,这样将会访问无效的内存地址。如果在仿真过程中发生异常,S T E M将会通知在指令指示器中的代码服务器,STEM每捕捉1KB的代码将会打开一个简单的TCP套接字代理,然后STEM将模拟一个从函数处返回的错误。

4 模拟实验

我们目的是表明主动防御和签名相结合是有价值的,甚至是一个相当优化的代理执行。我们的评估主要有三个目的:

1.表明该系统能够很好的进行分类。

2.表明该系统可以在端至端间执行。

3.表明该系统具有相对良好的性能。

第一个目标是为PayL计算出完整的ROC曲线。第二个目标是通过一个端对端的实验检验该系统检测攻击的速度。记录过滤器捕捉到的攻击字节,建立适当的过滤规则,并终止下一个此攻击实例。我们像代理发送由同样攻击组成的请求流并测量代理过滤的时间。第三个目标是测量代理服务器处理两种不同H T T P痕迹的额外时间。

Apache2.0.52作为一个简单的修改配置文件的基本生产服务器实例,关闭“KeepAlive”的属性设置,然后,一个简单的awk脚本重建HTTP请求。代理服务器由JAVA编写,与Linux平台下Sun JDK 1.5.0,并在Linux平台下Sun JVM 1.5.0上运行。代理服务器运行在双核至强2.0GHz处理器,1GB内存,操作系统为Fedora Core 3,内核版本2.6.10-1.770 FC3smp。生产服务器平台运行在双核至强2.8 H z处理器,1 G B内存,操作系统为Fedora Core 3,内核版本2.6.10-1.770FC3smp。代理服务器与生产服务器通过一个千兆以太网交换机连接,实验进行前对服务器进行重置,同样数据进行重复进行10次实验。

我们通过运行Apache web服务器和执行微基准测试在一些shell实用程序上,以此来评估STEM的性能。我们选择Apache flood httpd实验工具,以评估和比较非仿真和仿真的Apache版本处理请求的速度。在实验中,我们通过已处理的请求总数来决定测量性能,如表4所示,每秒处理请求的总数是由在一小段时间内所发送、处理的请求推测得到,而并不是意味我们的Apache实体每秒能够承受6000次请求。"emurand"符号表明STEM的(随机仿真)使用。

我们选择了一些常见的公式并测量有S T E M和没有S T E M情况下大负荷工作不同试验类型的性能。如预想中的一样,在仿真大部分应用时会对性能有很大影响。实验表明,仅在仿真潜在易受攻击的代码部分时存在明显超越整个系统仿真性能的情况。

PayL是一个基于内容的异常检测器。为了在FLIPS混合PayL,采用PayL在HTTP上的请求。在网络要求上测试PayL运营的有效性,收集了5MB的HTTP协议。这个数据集合有多种红色代码和其他恶意要求。作为底线标准,可以人工识别恶意入侵。接收机工作特性曲线如图4。

从图中可以看出,关于HTTP的PayL的分类结果比较普通。当所有的红色编码和尼姆达疑问被成功的防御,仍有许多看起来不是异常的入侵的查询,PayL不能辨认。如果P a y L工具来观察整个HTTP请求,包括实体自身,结果将更精确。PayL本身并不能保护服务器,并且需要更多的信息来调整其模型。

5 结束语

传统的入侵检测系统侧重于查明试图攻破计算机系统和网络。现有的入侵检测,无论是基于主机的IDS还是基于网络的IDS,在很大程度上都依赖于网络管理员的能力和直觉,需要人工地调整入侵检测系统。攻击事例和管理员的经验是入侵检测中最为重要的两个方面,IDS的开发与升级需要攻击事例和管理员经验这两方面长时间的原始积累。

我们提出FLIPS入侵防御系统,采用了异常分类组合方式和签名匹配二进制代码块注入攻击,此种混和式检测系统的反馈由STEM来提供,x86模拟器能够将指令集的执行随机化(ISR)。STEM可以识别插入的代码,自动恢复的攻击,并将攻击代码提交给异常和签名分类器。我们已经展示了FLIPS如何发现,制止,修复,并创建一个以前未知的攻击签名。虽然我们只展示了FLIPS对HTTP服务器保护的实现,然而FLIPS的机制也广泛适用于基于主机的入侵防御。

参考文献

[1]孙宇.网络入侵防御系统(IPS)架构设计及关键问题研究[D].天津:天津大学,2005.

[2]刘才铭.基于免疫的多通道入侵防御模型[J].计算机应用研究,2008,2(25):.

[3]R.E.OVERILL.How Re(Pro)active Should an IDSBe?In Proceedings of the 1st International Workshop onRecent Advances in Intrusion Detection(RAID)[C].Septem-ber 1998.

[4]M.HANDLEY,V.PAXSON,and C.KREIBICH.Network Intrusion Detection:Evasion,Tra?c Normalization,and End-to-End Protocol Semantics[C].In Proceedings ofthe USENIX Security Conference,2001.

[5]S.IOANNIDIS,A.D.KEROMYTIS,S.M.BELLOVIN,and J.M.SMITH.Implementing a Distributed Firewall.InProceedings of the 7th ACM International Conference onComputer and Communications Security(CCS)[C],2000,11:190-199.

[6]K.WANG and S.J.STOLFO.Anomalous Payload-based Network Intrusion Detection.In Proceedings of the 7thInternational Symposium on Recent Advances in IntrusionDetection(RAID)[C].,2004,9:203-222.

[7]C.KRUGEL,T.TOTH,and E.KIRDA.Service Spe-cific Anomaly Detection for Network Intrusion Detection.In Proceedings of the ACM Symposium on Applied Com-puting(SAC)[C],2002.

[8]S.SIDIROGLOU,M.E.LOCASTO,S.W.BOYD,andA.D.Keromytis.Building a Reactive Immune System forSoftware Services.In Proceedings of the USENIX AnnualTechnical Conference[C],2005,(6):149-161.

[9]E.G.BAntes,D.H.Ackley,S.Forrest,T.S.Palmer,D.Stefanovic,andD.D.Zovi.Randomized Instruction SetEmulation to Distrupt Binary Code Injection Attacks.InProceedings of the 10th ACM Conference on Computer andCommu-nications Security(CCS)[C],2003,10.

[10]G.S.Kc,A.D.Keromytis,and V.Prevelakis.Coun-tering Code-Injection Attacks With Instruction-SetRandomization.In Proceedings of the 10th ACM Confer-ence on Computer and Communications Security(CCS)[C],2003,10.

自适应信号采集系统设计 篇5

在工业控制和智能测量系统中, 一般信号的变化幅度大, 若采用单一的放大增益, 小信号经放大器放大后, 幅值仍然很小, 经A/D变换后, 会影响数据的精密度, 而大信号放大后又有可能超出A/D转换的量程, 因此设计开发增益自动可调的程控增益放大器, 使允许输入的模拟量在很大的范围内动态可调, 方便与微机接口, 已成为现代测控设备的必然要求。

二、自适应信号采集系统的组成

自适应信号采集系统由差动放大电路、共模抑制电路、双端单端转换电路和程控增益放大电路组成, 是一种连续程控调节电路。

差动放大电路由运算放大器Ⅲ、Ⅳ (OP27) 组成, 在差动放大电路和双单转换电路之间增加了共模抑制电路, 以运算放大器Ⅴ (OP27) 为核心构成。

单双转换电路由运算放大器Ⅰ、Ⅱ (OP27) 组成, 它将单端输入信号转换成双端输出信号, 提供较高的共模抑制能力。

衰减器电路由U6 (8位DAC转换器DAC0832) 和运算放大器U 7 (OP27) 组成。

三、自适应信号采集的方法

可自动控制增益放大器可以用D/A转换器和运算放大器实现, 调试容易, 外接元件少, 可以方便地和计算机接口。放大器增益的线性好、精度高, 既可放大又可衰减, 动态范围达100dB以上。

信号通过传感器, 输入到固定增益放大器。因为输入为单端信号, 所以在固定增益放大器的前端, 要接上一个单端变双端转换电路, 此电路由两个同型号运算放大器组成, 一个做同相放大器, 即信号跟随器, 另一个做反相放大器。信号经前级放大后, 增益是不可变的, 手动调节输入或运算放大器的电阻, 既不方便又不精确。所以, 加一个衰减器和控制器, 通过控制器给衰减的反馈信号, 控制衰减器的衰减倍数, 来实现增益的自动控制。衰减器由D/A转换器和一个运算放大器组成, 运算放大器在衰减器中的作用使D/A转换器的输出电流信号变换成电压信号, 方便传输给电压转换器。控制器由A/D转换器、FPGA控制器和电压比较器组成。

四、基于FPGA的控制器简介

FPGA (现场可编程门阵列) 是新型的可编程逻辑器件, 内部含有大量的门阵列, 相应时间端, 可以精确的控制时钟的输出。FPGA的处理数度很块, 完全适合采集速度比较高的场合。更重要的是FPGA采用系统可编程技术, 即使整个数据采集系统已经投入生产, 也可以根据实际情况改变系统的配置和功能, 下载到FPGA芯片中即可完成功能的修改。在本设计中使用的是Altera公司的EP1K30FPGA芯片。

五、FPGA的配置

FPGA正常工作时, 它的配置数据存储在SRAM中, 由于SRAM的易失性, 每次加电时, 配置数据都必须重新下载。FPGA器件由两类配置下在方式:主动配置方式和被动配置方式。主动配置方式由FPGA器件引导配置操作过程, 它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制器控制配置过程。

专用配置器件通常是串行的PROM器件。大容量的PROM器件也提供并行接口, 按可编程次数分为两类:一类是OTP (一次可编程) 器件;另一类是多次可编程的。ALTEAR提供了一系列FPGA专用配置器件, 即EPC型号的存储器。

配置器件的控制信号 (如, Ncs、OE、和DCLK等) 直接与FPGA器件的控制信号相连。所有的器件不需要任何外部智能控制器就可以由配置器进行配置。配置器件的OE和Ncs引脚控制着DATA输出引脚的三态缓存, 并控制地址计数器的使能。当OE位低点平时, 配置器件复位地址计数器, DATA引脚位高电阻。当Ncs置低点平后, 地址计数器和DATA输出均使能。OE再次置低电平时, 不管Ncs处于何种状态, 地址计数器都将复位, DATA引脚置为高电平。

实际应用中, 常常希望能随时更新器件中的内容, 但又不希望再把配置器件从电路板上取下来编程。ALTERA的可重复编程配置器件, 如EPC2就提供了在系统编程的能力。图2为EPC2的编程和配置电路, EPC2本身的编程由JTAG接口来完成, FPGA的配置可既可由ByteBlasterMV配置, 也可用EPC2来配置, 这时, ByteBlasterMV端口的任务是对EPC2进行ISP方式下载。

六、仿真实验

采用Multisim仿真软件, 该软件是一个完整的设计工具系统, 提供了一个非常大的零件数据库, 并提供原理图输入接口、全部的数模Spice仿真功能、VHDL/Verilog设计接口与仿真功能、FPGA/CPLD综合、RF设计能力和后处理功能, 还可以进行从原理图到PCB布线工具包 (的无缝隙数据传输。它提供的单一易用的图形输入接口可以满足设计需求。

在Multisim2001的主窗口中, 建立新文件, 需要对电路窗口的有关选项进行设置, 这样有利于电路图的搭接和打印。电路窗口的设置包括图纸的大小、是否显示栅格、页边缘和标题栏、电路图选项设置和元器件符号设置。

把元器件进行合理的布局以后, 就可以开始连线了。Multisim2001提供两种连线方式:手工连线和自动连线。在本仿真过程中, 选择用手动连线。本仿真过程中, 使用了函数信号发生器、示波器。

经仿真软件的仿真, 结果符合设想的要求, 但是在实际应用过程中, 因为外界干扰条件的存在, 所以还得考虑采用上面介绍的抗干扰方法。

七、结论

本文提出的这种设计方案理论上分析和仿真结果表明:该系统能够通过FPGA控制衰减器来完成对输入信号的放大, 提高系统的精度, 实现可自动调节放大倍数。促进系统性能的改善和提高, 具有较高的应用价值。

摘要:本设计应用现场可编程门阵列 (FPGA) 控制实现对放大器增益进行预置和自适应控制, 全面提高了采集数据的精度和检测信号的动态范围, 提高了系统的可靠性。

关键词:自适应,运算放大器,FPGA,仿真

参考文献

[1]谢自美:电子线路设计[M].武汉, 华中科技大学出版社, 2000.6

短波电台自适应的实现 篇6

短波通信具有通信距离远、使用灵活机动、组网性能好的独特优点。

短波自适应通信网是覆盖范围广、技术先进、安全可靠、自动化程度高的中远距离无线电通信网。该系统对于提高通信能力和应急通信能力, 都具有十分重要的意义。短波系统采用了新型自适应控制器, 并开发了相应的主控软件, 配合508综合业务终端使用, 大大提高了自动化程度和综合性能。

二、短波自适应的工作原理

短波自适应电台可以通过链路质量分析 (LQA) 和自动链路建立 (ALE) 两种重要手段使通信在最佳信道上进行。

2.1链路质量分析 (LQA)

链路质量分析是一种实时信道质量估计技术。对信道LQA就是对信道参数进行测量和分析, 然后对信道的质量进行评分并将信道从最佳到最差排序。通信时可根据LQA矩阵中各信道的排列次序, 择优选取工作频率。

船与基站主要进行点对点通信, 两个电台之间进行双向的LQA的基本过程如下:

第一步, 探测呼叫。主叫台通过某一信道向目标台发出探测信号 (包括主叫台和目标台识别地址的编码信号) 。目标台识别后, 接受并测量其信号质量, 进行评分, 并记录下来。

第二步, 应答。目标台在同一信道上向主叫台发出应答信号, 其中包含来自主叫台探测信号的质量评分信息。主叫台接受并记录该信息, 同时对来自目标台的应答信号的质量进行测量、评分和纪录。这样, 主叫台就掌握了通过该信道双向传输信号的质量评分, 从而得到该信道的质量总评分。

第三步, 确认。主叫台再次通过该信道向目标台发出信号, 其中包含对该信道的质量总评分信息, 从而保证主叫台和目标台关于该信道的质量评分记录完全一致。至此, 对一个信道的双向LQA过程结束。双方又开始对另一个信道按上述“探测呼叫——应答——确认”这三个步骤进行双向LQA。

对所有信道逐个进行双向LQA, 就可得到每个信道的质量评分, 然后双方均按评分的高低顺序, 将所有的信道排序, 并存入存储器中。

2.2自动链路建立 (ALE)

在工作过程中, 主呼台的自适应控制器根据LQA的结果, 在LQA表中选出最佳信道进行呼叫。一旦双方信道沟通, 两个电台均会发出“建链成功”声音, 通知操作员可以进行通信。若是在所有信道上均无法沟通信道, 主呼台将显示相应的提示信息。

被呼自适应电台处于扫描状态, 接收机则对已编程入本台地址的全部信道和本台所属网络地址的信道集合进行循环扫描。当在某个信道上接收到呼叫信号时, 工控便自动停止扫描, 并在该信道上向主呼台发射响应信息, 当再次收到主呼台的“认可”信息后, 就完成了自动链路建立。

三、基于自适应的短波监控系统

传统的单一手键报通信是以手键为终端, 由经过专业训练的报务员敲击手键发报完成报文通信, 属于人工终端, 存在着很多弊端。自适应技术实现了信道建立和沟通联络的自动化, 而要实现短波真正的自动化, 508终端的自动化也是必不可少的。

自适应短波通信系统既可以用于点对点通信, 也可以用于多点之间组网通信, 收发信机主要用于发送和接受数据, 工作种类有上边带、下边带、调幅话、等幅报。

自适应控制器是此系统所以实现自适应通信的核心装置, 它能不断的进行信道扫描, 从中选择最佳信道进行建链, 确保通信成功。在原系统的基础上, 设备增加了终端控制设备508终端, 从而结束了以往单一手键报操作的历史, 它可在短波信道上完成数据传输、传真、声码语音通信等多种业务。

通过计算机监控台和508终端得以利用软件实现对硬件的灵活控制, 该监控软件分为应用程序软件和控制软件两部分, 应用程序软件提供终端的用户界面, 完成各种用户功能, 实现对硬件设备的管理和设置。

屏幕画面简洁, 明确醒目, 操作起来很方便, 操作人员无需专门训练也能很快上手。

四、不足之处和应对措施

自适应电台有时链路建立时间太长, 为了发报, 常常需要等上很长的时间。链路建立时间跟LQA的评估速度和信道数有关。我们所能做的就是尽可能的减少信道数目优化选择频率。

五、结束语

短波通信系统自适应监控的实现, 大大提高了短波通信系统的自动化程度, 实际应用过程中, 灵活的使用频率, 将更有力保障短波通信任务的完成。

摘要:本文总结了短波自适应通信的实现过程, 并就在实际应用中发现的问题提出了应对措施。

关键词:短波通信,自适应短波电台,508短波综合业务终端,LQA,ALE

参考文献

[1]短波系统改造”技术任务书.2006年1月

动态自适应微粒群优化算法 篇7

关键词:粒子群优化算法,惯性权重系数,动态自适应

1 引言

粒子群优化算法(Particle Swarm Optimization,PSO)是由James Kennedy博士和R. C. Eberhar博士于1995年提出的。该算法源于对鸟群、鱼群觅食行为的模拟。该算法具有易于描述、便于实现、需要调整的参数很少、使用规模相对较小的群体、收敛需要评估函数的次数少、收敛速度快、并行处理、鲁棒性好等特点,能以较大的概率找到问题的全局最优解且计算效率比传统随机方法高,有深刻的智能背景,既适合科学研究,又适合工程应用。因此, PSO一经提出立刻引起了演化计算领域研究者的广泛关注,并在短短几年时间里涌现出大量的研究成果,在函数优化、神经网络训练[1]、函数优化问题[2]、模糊系统控制、分类、模式识别、信号处理、机器人技术等领域获得了成功应用。

2 粒子群优化算法描述

2.1 算法原理

PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,目标函数为之确定一个适应值(fitness value) 。PSO不像其他进化算法那样对于个体使用进化算子,而是将每个个体看作是在n维搜索空间中的一个没有体积和重量的粒子,每个粒子将在解空间中运动,一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而动,经逐代搜索最后得到最优解。在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解pbest,另一为全种群迄今找到的最优解gbest。假设在D维搜索空间中,有m个粒子组成一群体,第i个粒子在D维空间中的位置表示为Xi=(xi1,xi2,Lxid),第i个粒子经历过的最好位置记为Pi=(pi1,pi2,…pid,), 每个粒子的飞行速度为Vi=(vi1,vi2,…vid),i=1,2,…m。在整个群体中,所有粒子经历过的最好位置为Pg=(pi1,pi2,…pid),每一代粒子根据下面的公式更新自己的速度和位置:

Vi=wvid+c1r1(pid-xid)+c2r2(pgb-xid) (1)

Xi=Xi+Vi (2)

其中,w为惯性权重;c1和c2为学习因子;r1和r2是[0,1]之间的随机数。公式由三部分组成,第一部分是粒子先前的速度,说明了粒子目前的状态;第二部分是认知部分,是从当前点指向此粒子自身最好点的一个矢量,表示粒子的动作来源于自身经验的部分;第三部分为社会部分,是一个从当前点指向种群最好点的一个矢量,反映了粒子间的协同合作和知识的共享。三个部分共同决定了粒子的空间搜索能力。第一部分起到了平衡全局和局部搜索的能力。第二部分使粒子有了足够强的全局搜索能力,避免局部极小。第三部分体现了粒子间的信息共享。在这三部分的共同作用下粒子才能有效的到达最好位置。更新过程中,粒子每一维的位置、速度都被限制在允许范围之内。如果当前对粒子的加速导致它在某维的速度Vi超过该维的最大速度Vdmax,则该维的速度被限制为该维最大速度上限Vdmax。一般来说,Vdmax的选择不应超过粒子的宽度范围,如果Vdmax太大,粒子可能飞过最优解的位置;如果太小,可能降低粒子的全局搜索能力。

3 粒子群优化算法的改进策略

分析基本粒子群优化算法,其搜索过程有两个不足:1)初始化过程是随机的,随机过程虽然大多可以保证初始解群分布均匀,但对个体的质量不能保证,解群中有一部分远离最优解。如果初始解群较好,将会有助于求解效率与解的质量。由于粒子初始化和进化过程的随机性,使pbest和gbest的更新带有一定的盲目性,影响了进化过程的收敛。2)利用式(1)和(2)更新自己的速度和位置,本质是利用本身信息、个体极值信息和全局极值三个信息,来指导粒子下一步迭代位置。这实际上是一个正反馈过程,当本身信息和个体极值信息占优势时,该算法容易陷入局部最优解,分析式(1)和(2)进一步可以发现,当某些粒子的位置及其pbest接近群体的gbest时,其速度更新由wvid决定。w<1时,粒子的运行速度越来越小,接近于零,粒子运行出现“惰性”。随着进化的进行,其他粒子将很快聚集到这些惰性粒子的周围,使进化过早地收敛到局部最优点。总之,微粒群算法存在两个缺点:其一是粒子群优化算法的收敛速度比较慢。其二是粒子群优化算法容易陷入到局部极值点中,导致得不到全局最优解。

为改善粒子群优化算法的不足,改进策略可谓层出不穷,这方面的研究非常庞杂,这些改进基于各种不同的策略和方法。但从根本目的来说,都是为了改进粒子群优化算法的以上两个缺点。对于第一种缺点,在解决实际问题时,通常需要在一定的时间内达到相应的精度,如果耗费很长的计算时间来得到一个可行解,有时是不值得的。造成这种问题的原因是粒子群优化算法并没有很充分的利用计算过程中得到的信息,在每一步迭代中,仅仅利用了全局最优和个体最优的信息,此外,算法本身没有比较充分的优选机制,以淘汰比较差的待选解,从而导致算法收敛速度较慢。要解决这方面的问题,需要充分的吸收进化算法的优点,在粒子的操作中,加入繁殖、变异和优选算子[3],以加快算法的收敛速度。另外一个思路就是把粒子群优化算法较强的全局搜索能力与基于梯度算法的较好局部搜索能力相结合,设计一种混合算法,以克服二者的缺点,发挥二者的优点。造成第二种现象的原因有两方面,一是待优化函数的性质,有许多测试函数是多峰函数、形状复杂,而粒子群优化算法并不是从理论上严格证明收敛于任何类型函数的全局极值点,因此对于复杂的测试函数,很可能难以得到满意的结果。二是粒子群优化算法在运行时,由于算法的参数设计或者是粒子数的选择不恰当等原因,导致在计算的过程中,粒子的多样性迅速的消失,造成算法“早熟”现象,从而导致算法不能收敛到全局极值点。这两个因素通常密不可分的纠缠在一起,很难说在一个具体的问题中,到底是那一个因素在起作用,使得算法不能收敛到全局极值点。有比较多的改进是基于这两个方面的因素,对于第一个方面的缺点,有些研究者试图在函数优化的过程中,动态的改变函数的某些全局或局部的形态,使得函数的形状逐渐的变得简单,但同时又不改变函数的全局极值点的性质。比如可以设计一个变换,随着优化过程的进行,使得函数最终由多峰函数变为单峰函数,从而克服此问题。第二个方面的问题通常可以采用如下方法解决:对粒子群的多样性设置某些指标,比如粒子群的炳,随着计算的进行,实时监测这些指标,这些指标超过某个事先设定的临界值,则对整个群体实施某种操作比如按指定的概率重新初始化,从而改善群体的多样性,克服早熟的问题。

基于上面的理论分析,本节重点讨论以下几个方面PSO算法的改进策略及其效果:调整惯性权重,采用不同的惯性权重调整策略,兼顾全局与局部的寻优能力;引入收缩因子,加快算法的收敛速度,提高算法的性能。

3.1 引入收缩因子

引入收缩因子的粒子群优化算法,其速度更新如下式所描述:

Vid=∅[vid+c1v1(pid-xid)+c2r2(jpgd-xid)]

其中,收缩因子

undefined

实验结果表明,与使用惯性权重的粒子群优化算法相比,使用收缩因子的粒子群优化算法有更快的收敛速度。其实只要恰当地选取因子,带收缩因子的粒子群优化算法可被看作是PSO算法的一个特例。

3.2 调整惯性权重

PSO算法存在易陷入局部最优,出现早熟收敛的问题,许多研究都集中于参数惯性权重w的改进上,w对算法能否收敛具有重要作用,它使粒子保持运动惯性,使其有扩展搜索空间的趋势,改变其取值可以调整算法全局和局部搜索能力的平衡。

在PSO中,搜索陷入局部极值往往表现为微粒几乎停止不动。当群体的最优适应值长时间未发生变化(停滞)时,应根据群体早熟收敛程度自适应地调整惯性权重。若对整个群体采用同样的自适应操作,则一方面全局寻优和局部寻优是矛盾的,不能够同时进行;另一方面,当群体已收敛到全局最优附近时,优秀粒子被破坏的概率会随着其惯性权重的增加而增加,这使PSO算法的性能有所下降。为了充分发挥自适应操作的效能,本文的自适应调整策略,不仅用到群体早熟收敛信息,还根据个体适应值的不同将群体分为三个子群,分别采用不同的自适应操作,使得群体始终保持惯性权重的多样性。惯性权重较小的粒子用来进行局部寻优,加速算法收敛;惯性权重较大的粒子早期用来进行全局寻优,后期用来跳出局部最优,避免早熟收敛。这样,具有不同惯性权重的粒子各尽其责,全局寻优和局部寻优同时进行,在保证算法能全局收敛和收敛速度之间做了一个很好的折衷。

适应值为fi的粒子,其惯性权重w的具体调整方法如下:

3.2.1 fi优于f′arg

满足此条件的粒子是群体中较优的粒子,已经比较接近全局最优,所以应被赋予较小的惯性权重,以加速向全局最优收敛。本文根据粒子适应值按式(3)调整粒子w的惯性权重:

undefined

其中wmin为w的最小值,本文取wmin=0.5。粒子适应值越佳,其惯性权重相应越小,加强了局部寻优。

3.2.2 fi优于farg,但次于f′arg

满足此条件的粒子是群体中一般的粒子,具有良好的全局寻优能力和局部寻优能力。如果惯性权值ω随着搜索的进行按余弦规律减小,开始搜索时ω能较长时间保持较大值以提高搜索效率,在搜索后期ω能较长时间保持较小值以提高搜索精度,本文ω的修正公式为:

undefined

其中: ωmax为搜索开始时最大的ω,ωmin为搜索结束时最小的ω,iter为迭代所进行的步数,MaxStep为允许最大迭代步数。

3.2.3 fi次于farg

满足此条件的粒子是群体中较差的粒子,对其惯性权重的调整引用文献[4]中调整控制参数的方法:

undefined

算法停滞时,若粒子分布较为分散,则△较大,由式(5)降低粒子的w,加强局部寻优,以使群体趋于收敛;若粒子分布较为聚集,如算法陷入局部最优,则△较小,由式(5)增加粒子的w,使粒子具有较强的探查能力,从而有效地跳出局部最优。式(5)中参数k1和k2的选择对算法的性能有较大的影响。k1主要用来控制w的上限,k1越大,w的上限越大。根据前面分析,k1的选取应使式(5)能够提供大于1的惯性权重。本文取k1=1.5,显然w∈(0.5,1.1)。k2主要用来控制式(5)的调节能力,若k2过大,在早期停滞时,w会迅速变得很小,这虽然会加快收敛,却使算法在早期全局寻优能力不足,若k2过小,则式(5)的调节能力不是很明显,尤其是在后期算法不能有效地跳出局部最优。

此外,当算法未搜索到全局最优适应值时,或不满足最优要求时,可采用惯性权重的变异策略。对种群当前的最优粒子的惯性权重按下式进行变异:

w=w(1+ησ) (6)

其中,σ为满足高斯分布的随机数。如此,即可以较大的概率产生小幅度的扰动以实现局部搜索,又可适当产生大幅度扰动以实现大步长迁移来走出局部极小区域。η初值为1.0,每隔一定的迭代代数置η=βη,其中β为[0.01,0.9]之间的随机数。

3.3 算法流程

动态自适应粒子群优化算法DAPSO是在基本粒子群优化算法的基础上,根据群体早熟收敛程度和个体适应值来调整惯性权重的一种改进粒子群优化算法。Logistic方程是一个典型的随机动态系统:

zn+1=μzn(1+zn)n=0,1,2,… (7)

式中μ为控制参量,取μ=4,设0≤z0≤1,系统(7)完全处于随机运动状态。由任意初值z0∈[0,1],可迭代出一个确定的时间序列z1,z2,z3,…。本算法采用次方程对最优位置进行动态优化。算法具体流程如下:

Step 1:初始化设置最大允许迭代次数或适应度误差限,以及相关参数。

Step 2:动态初始化粒子位置和速度。

1)随机产生一个n维每个分量数值在0-1之间的向量,z1=(z11,z12,z12,…z1n),n为目标函数中的变量个数,根据式(7),得到N个向量z1,z2,z3,…zn。

2)将zi的各个分量载波到对应变量的取值区间。

3)计算粒子群的适应值,并从N个初始群体中选择性能较好的M个解作为初始解,随机产生M个初始速度。

Step 3:如果粒子适应度优于个体极值pbest,pbest设置为新位置。

Step 4:如果粒子适应度优于全局极值gbest,gbest设置为新位置。

Step 5:根据公式(1), (2)更新粒子的速度和位置。

Step6:对最优位置Pg=(Pg1,Pg2,…PgD)进行动态优化。将Pgi(i=1,2,…D)映射到方程(3.5)的定义域[0,1],zi=(pgi-ai)/(bi-ai),(i=1,2,…D),然后,用Logistic方程进行迭代产生随机运动变量序列zi(m)(m=1,2,…),再把产生的变量序列通过逆映射pgi(m)=ai+(bi-ai)zi(m)返回到原解空间,得:

Pg(m)=(Pg1(m),Pg2(m),…PgD(m))=(m=1,2,…)

在原解空间中对随机动态变量经历的每一个可行解Pg(m)(m=1,2,…)计算其适应值,得到性能最好的可行解P*。

Step7:用P*取代当前群体中任意一个粒子的位置。

Step8:判断算法的终止条件是否满足,若满足转向Step 10,否则执行Step 9;

Step 9:根据粒子适应值不同采取相应的自适应策略,分别按照公式(3),(4),(5),(6)调整惯性权重w,转向Step 3;

Step 10:若满足停止条件,则搜索停止,输出全局最优位置。

3.4 算法效果分析

为了检测动态自适应粒子群优化算法的效果,采用四个典型的测试函数进行实验,这些函数是:f1(Rastrigrin Function)、f2(Rosenbrock Function)、f3(Griewank Function)、f4(Ackley Function),函数的具体表示形式如下:

(1) 函数f1(Rastrigrin Function)

f(x)=undefined[xi2-10cos(2πxi+10)],|xi|≤5.12

minf(x*)=f(0,0,L 0)=0

Rastrigrin函数为多峰函数,当xi=0时达到全局极小点,在s={xi∈[-5.12,5.12],i=1,2,…n}范围内大约有10n个局部极小点。

(2) f2(Rosenbrock Function)

f(x)=undefined(100(xi+1-xi2)2+(xi-1)2),|xi|≤50

minf(x*)=f(1,1,… 1)=0

Rosenbrock函数由K.A.DeJONG提出,此函数是非凸的病态二次函数,其极小点易于找到,但要收敛到全局极小点则十分困难。

(3)函数f3(Griewank Function)

undefinedundefined

undefined

Griewank函数,当xi=0时达到全局极小点,当undefined时,达到局部极小点。

(4)函数f4(Ackley Function)

undefinedundefinedundefinedundefinedcos(2πxi))+20+e,|xi|≤32

minf(x*)=f(0,0,… 0)=OAckley函数,当xi=0时达到全局极小点。动态自适应算法的实验结果:

从上述结果可以发现,动态自适应微粒群算法基本保持了基本PSO算法的简单、容易实现的特点,而且计算精度比基本PSO算法精度要高,改善了粒子群优化算法摆脱局部极值点的能力,提高了算法的收敛速度,且兼顾全局寻优和局部寻优,能够有效地避免早熟收敛。

4 结论与展望

本论文在分析基本微粒群算法的基础上,评析了微粒群算法的优缺点,并对惯性权重进行了调整,改进了微粒群算法的性能。PSO的研究领域在不断持续发展,仍然存在大量有待研究的问题。如:选择具有最大改善的粒子作为社会影响源,对这种粒子可进行动态变异自适应;没有速度的PSO算法,没有速度的粒子群将改变我们以往对群体的观点;并行PSO算法,开发高效的并行算法,充分利用PSO算法的隐并行性。以上列出的仅仅是PSO算法研究中一部分具有挑战性的问题,实际的研究不仅于此。考虑如何建立智能优化算法的统一框架,加强算法的理论基础研究,以及将算法扩展应用到不同的实际领域,都是有价值的努力方向。

参考文献

[1] 刘宇,覃征,卢江.多模态粒子群集成神经网络.计算机研究与发展,2005(9):1519-1526.

[2] 王俊伟,.粒子群优化算法的改进及应用.东北大学博士论文,沈阳市,2006.

[3] 孟庆红,多目标进化算法及其应用研究.西安电子科技大学博士论文,西安市,2005.

上一篇:课堂秩序下一篇:远程教育工程