性能约束的P2P Web Cache模型

来源 :计算机时代 | 被引量 : 0次 | 上传用户:zhaoyali_0
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为提高网络浏览器缓存系统性能,降低用户等待时间,提出了一种基于性能约束的P2P Web Cache模型。理论分析和模拟测试表明,该模型能够减少连接时间和传输时间。
  关键词:缓存系统;性能约束;P2P Web Cache;可升级;存取时间
  
  0 引言
  
  随着网络存取数量的飞速增长,如何提高网络的服务质量已成为研究的热点。传统的基于服务器代理的技术如Squid和Netcache,虽然易于管理和定位节点,但其集中控制性难于解决单个节点的失效或故障问题。此外,该结构忽略了在该代理中请求未果的内容是否能在其他客户端找到。本文提出了一种基于性能约束的可升级的P2P Web Cache模型。与现有的模型结构相比,该模型是可升级的,易于管理节点,最重要的是有效地降低了用户的存取时间。
  
  1 系统拓扑结构和原理分析
  
  1.1系统结构
  系统结构包括两类节点:胖节点和瘦节点,参见图1。胖节点类似于依赖式Web Cache方法中的服务器,不过它不处理整个网络中所有节点的相关信息,而只是处理某一区域内所有节点的信息。胖节点上保存着该区域内所有节点的地址列表和节点所共享的缓存内容的索引。此外,一些常见查询的缓存内容也保存在胖节点中,这样可以加快查找速度,降低网络通信量。瘦节点类似于纯分散式网络方法中的对等点,可以和区域内的所有节点直接进行通信。当某区域内的胖节点失效时,各个瘦节点,找到离自己最近的胖节点,重新注册自己的信息到该胖节点上。这种方法可以避免单点失效。
  


  图1 混合式Web Cache结构
  胖节点可以是原有的代理服务器,或者是通过瘦节点选举产生:一种是静态产生,另一种是动态生成。所谓静态产生是指当系统中的节点增加到某一固定值时,系统指定新加入的节点为胖节点。动态生成是指,系统根据整个域内各个机器的CPU速率,内存容量及硬盘容量,推选出性能最好的机器为胖节点。动态生成的胖节点处理效率比较高。
  胖节点之间的信息共享通过P2P Login Server实现,P2PLogin Server保存着整个P2P网络中所有的节点以及他们访问的所有历史网页。历史网页采用基于url的快表方式存储,查找方便高效。
  
  1.2基本流程和模块
  基本流程如下:
  (1)客户节点向本区域内胖节点注册自己的信息。这些信息包括IP地址和自己的当前状态等等。
  (2)客户节点发起一个请求,如果没有在本地命中,请求被转发到本区域内胖节点,胖节点搜索缓存列表,同时把请求送到P2P Login Server。
  (3)如果请求命中胖节点,胖节点直接把缓存内容返回给客户节点;同时胖节点通知P2P Login Server该客户节点访问的页面。
  (4)如果没有命中胖节点,而在P2P Login Server命中,P2P Login Server将命中的用户返回给客户节点。客户同时向多个节点发送请求,从响应最快的节点获取内容;或者从中挑选一个距离最近的(同一个局域网内)节点发送请求,以保证响应时间最短。同时P2P Login Server把请求该网页的用户加入到快表中。
  (5)如果都没有命中,请求直接转发给server。同时P2PLogin Server在快表里增加一项以该url为键值的表项。
  主要模块如下:
  在瘦节点上主要运行Login、Browser Proxy和Listener两个进程,而在胖节点上主要运行一个Fat Peer进程,它在该区域内扮演服务器的角色。P2P Login Server主要运行一个server进程。
  各个进程的主要功能如下:
  Login:它是瘦节点和整个系统交互的接口。当瘦节点加入系统时,负责查找本区域内的Fat Peer,注册该节点的IP地址、当前状态和本地缓存内容;当瘦节点离开系统时,向Fat Peer发送请求把该节点变为离线状态。
  Listener:它负责监听客户端发给它的请求,提供相应的下载服务,同时还负责向Fat Peer发送定时更新请求。
  Browser Proxy:它充当传统的代理服务器,不过它运行在本地机上。当用户请求某个页面时,它截获用户的HTTP请求,首先在本地缓存里查找,命中则直接返回内容。否则同时向本区域内Fat Peer和P2P Login Server发送请求,如果在FatPeer中命中,胖节点直接把缓存内容返回给客户节点;如果在P2P Login Server命中,server把命中的节点信息(地点,主机,存在时间,类型)发送给客户端。如果都没有命中,请求被转发到源端服务器。在本地或在其他节点命中的内容应保持常新鲜度限制。此外,它还负责缓存的替换,当缓存内容发生变化时,会通知本区域内的Fat Peer更新目录。
  Fat Peer:它主要负责保存当前活动节点的地址和状态,以及某些常查询的缓存内容。当某个用户查找某对象时,由于网络通信量被事先保存,因此,当缓存内容发生变化时通过Browser Proxy来更新并保存在本地节点中,Fat Peer会直接将缓存内容返回。这样可以加快查找速度,降低网络通信量。
  Server:它主要负责实现胖节点之间的信息共享,构建以url为键值的快表,提供高效的查找服务,同时根据客户返回的消息,对每个url的所有用户按照优先级进行排序,提供更有效的信息。
  通信管理:通信管理提供一个对网络的统一接口,提供额外的功能来保持和其他主机的持久连接,减少创建连接、拆除连接的开销,减小过多的HTTP请求引起的速度下降。它支持TCP和UDP两种通信方式。新节点加入系统时采用UDP发送组播数据查找区域内胖节点,因为UDP比TCP的速度快,且开销较低;在传输更新和缓存内容时,采用TCP通信,因为这时需要较高的可靠性。
  
  1.3网络模型描述
  为方便分析,我们把底层拓扑图描述成一个树形模型,如图2所示。用D表示胖节点和login server之间的距离,y表示login server和源端服务器之间的距离。胖节点和瘦节点之间的距离是1。
  


  图2 缓存的存放位置
  
  2 延迟分析
  
  我们对混合式Web Cache系统中的延迟建立模型。总共延迟T包括三部分:To、Tc和Tt,其中To是定位时间,表示从节点发出请求到命中的节点信息或者热点缓存对象被返回的时间间隔;Tc是连接时间,表示从文档被请求到第一个数据包被返回的时间间隔;Tt表示从命中的节点或者从源端服务器到请求节点的传送时间。因此,平均延迟E[T]可表示为E[T]=E[To] +E[Tc+E[Tt]。
  
  2.1定位时间
  定位时间取决于请求节点到命中的索引服务器的距离。令t代表一跳的延迟,L代表请求节点和命中的索引服务器之间的距离,P是每个胖节点负责的瘦节点个数,Od代表在每个层次的定位时间,则E[To]可以表示为:E[To]= P(L=d)Od。两个节点之间的通信是基于TCP的,通信时间包括三次握手的延迟,搜索时间和第一个数据包的传输时间。第一个数据包可能是缓存对象的数据信息,也可能是命中的节点信息。如果请求在热点缓存对象中命中,搜索时间可以忽略不计,在胖节点和P2P login server中的搜索时间和节点成对数关系。Od可以表示为:
  
  从这个公式可以看出,如果两个节点的缓存是完全相同的,缓存相似度为l。对于节点i来说,请求在胖节点的索引中命中的概率是Max(CacheSim(pi,pj)),l≤j≤P,j≠i。假设请求平均分布在同一区域内,那么P(L=1)=∑pMax(CacheSim(pi,pj))/P。P(L=D+1)表示请求在胖节点中的概率,因为所有没有在胖节点的热点对象和索引中命中的请求都会转发给P2P login server,P(L=D+1)可以表示为l—P(L=0)一P(L=1)。
  
  2.2 连接时间
  当节点收到响应时,如果请求在热点缓存对象中命中,它不需要连接其他节点,连接时间是0;如果它在胖节点中命中,它将会连接同一区域内的节点,距离是2。如果它在P2P loginserver中命中,它将会连接不同区域内的节点,最短的距离是4;否则它将会连接源端服务器。平均的连接时间可以表示为:(CacheSim(pi,pj))/P。P(L=D+1)表示在P2P login server中的概率,和胖节点类似,它可以用组相似度来表示:
  
  
  2.3传输时间
  如果请求是在热点缓存对象中命中,传输时间取决于缓存大小和线路传输率;否则请求是在胖节点索引中命中,传输时间取决于命中节点和请求节点之间的距离,他们可能在同一个区域内,也可能在不同的区域内,或者在源端服务器。平均传输时间E[Tt]可以表示为:
  
  我们假设:(1)每一个路由器的处理能力是相同的,延迟为tr。每一个路由器采用最短路径优先策略。(2)在Intranet中每一条线路的传输延迟是相同的,我们用u1表示;在Intranet和源端服务器的线路传输速率为u2。(3)存文件的平均大小为S,而且在P2P网络中的每一个节点都不会成为瓶颈,等待时间可以忽略不计。
  
  3 性能约束分析与模拟测试
  
  系统采用日志驱动的模拟测试。日志总共有475685个请求,根据日志里的IP地址共有435个节点。系统是基于性能约束的,它应该满足一个重要的限制:在SPCM中的定位时间(t0)和对象获取时问(t1)之和小于直接从源端服务器获取文件的时间(t),即t0+t1  从上面的时间模型中,可以看出t0≈7.0029+8.508log2n,其中n代表系统中所有的索引数。t1≤2.5489x+15.418,t≈23.69x+317.81,x表示文件大小单位是KB。
  t0+t1<t
  (1)
  7.0029+8.508log2n+2.5489x+15.418<23.69x+317.81(2)
  假设x是平均缓存大小为8KB,由(2)得出,响应时间最多可以减少约471.5ms。当整个P2P系统中有235节点时,公式(1)才会成为等式。
  图3显示了该模型分别在网络I/O最快(6am)、最慢(9pm)、较快及较慢情况下的降低延迟情况。图4显示了本模型与直接访问服务器相比所降低的延迟情况。通过理论分析和模拟试验,我们可以得出如下结论:该模型中定位时间和存取时间总和小于直接从原服务器访问的时间。
  


  图4 不同情况下的延迟降低情况
  
  4 结束语
  
  本文提出了基于性能约束的P2P Web Cache模型,分析了这种混合式的Web Cache的性能,它所需的连接时间和传输时间比直接从源端服务器获取所需时间少。尽管这种混合式的结构会增加额外的定位时间,但这对整个延迟的影响并不大。不管是理论分析还是模拟测试都表明系统可以减少连接时间和传输时间。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘 要:传统的异常处理代码存在许多问题,尤其是代码不具有模块性,异常代码的维护很困难,面向方面编程(AOP)是一种新的编程技术,它弥补了面向对象编程(OOP)在跨越模块行为上的不足,利用AOP能够很好地分离出“异常处理”这一横切关注点,模块化构建松散耦合的系统-文章研究了在异常处理方面的通用策略和AOP在异常处理方面的应用,并给出了基于JBoss AOP的具体实现:该框架简单灵活,实用。  关键
期刊
摘 要:交又查询是结构化查询的一种,它将数据表通过字段的内容进行归类,形成行、列,重新组成新的表。MicrosonAccess作为一个小型关系型数据库管理工具,采用了特定的语法实现了快速、易用的交叉查询,针对这一语法,文章以实例的方式简要叙述了多种情况下交又查询的实现过程、讨论了使用Access进行交叉查询需要掌握的技巧,并对实际应用过程中容易碰到的问题作了分析,提出了相应解决办法。  关键词:
期刊
摘 要:基于Windows平台下.Net Framework中GDI+二维图形类库,以路径(GraphicsPath)表示图元形状,用仿射变换矩阵的乘法进行图元的连续变换,推导出图元不失真连续变换的条件,并应用图元变换的矩形区域归整化,解决了文本图元变换时字体放缩的难题。  关键词:Net;GDI+;图元变换;路径;矩阵;不失真;文本变换
期刊
摘 要:叙述了如何利用虚拟现实建模语言X3D语法,采用变通的方式来模拟面向对象编程的方法:借助X3D中的原型(PROTO)节点和Script节点,实现了面向对象编程中的如数据封装、继承等功能特性,并给出了相应的实例。  关键词:X3D;面向对象;原型;节点
期刊
摘要:利用Eclipse插件的可扩展机制开发了JTang-Eclipse插件。JTang-Eclipse插件是一个将JTang服务器集成到Eclipse上的工具,遵循Eclipse插件开发平台提供的框架,支持服务器生命周期管理,可以在JTang上部署J2EE archive包,并提供打包、部署描述符自动生成和JSP编译等辅助J2EE开发的功能。  关键词:Eclipse;插件;J2EE;PDE;A
期刊
摘要:对于一些大型的复杂网络系统,利用传统的集中式系统监控模型进行监控和故障诊断是困难的。文章给出了一种将移动Agent技术用于系统监控的分布式系统监控模型。利用这种系统监控模型可以减少网络数据流量,缩短系统监控与故障诊断时间。  关键词:分布式;移动Agent;系统监控;监控模型    0 引言    在现有的集中式系统监控体系中,客户端与服务器之间传递着大量的数据,网络流量很大,增加了网络拥塞
期刊
摘要:阐述了在共享式以太网中用Visual c++6.0实现的基于原始套接字技术的改进网络嗅探器实现。在设计上,除了捕获数据包以外,还进一步解析出应用层协议,运用模式匹配的KMP算法截获相关的数据信息,并保存到本机文件中。  关键词:共享式以太网;Visual C++6.0;原始套接字;网络嗅探器;KMP算法    0 引言    随着计算机和网络的普及,单独工作、不需要与其他用户交互的应用程序越
期刊
摘要:阐述了ARP欺骗技术的基本原理,对ARP欺骗造成局域网无法正常通讯的实例进行分析,提出了针对ARP欺骗的多种防范办法。实际应用效果较好。  关键词:ARP;局域网;MAC地址;IP地址;TCP/IP    0 引言    在大型局域网的维护工作中,最近常常发现网络时断时续的现象,而且断网的计算机也不固定。经过多方面的监控和测试,最终确定是时下比较流行的ARP欺骗病毒导致断网。由于这个病毒相当
期刊
摘 要:在课件的开发过程中,如何对学习内容进行导航,是一个必不可少的设计环节。Budmenu.u32函数是基于Windows API开发的Authorware扩展函数,通常用于制作菜单。文章结合作者多年的课件开发实践,从全新的角度介绍了如何利用该函数设计和制作导航菜单,并给出了具体实例。借鉴文章给出的方法,可以比较容易地实现对学习内容的导航,从而提高课件的开发效率和教学效果。  关键词:Auth
期刊
摘要:CORBA的通知服务相对于传统的事件服务,增加了一系列新的特性,对海量教育资源信息的订阅发布提供了更大的灵活性和通用性。文章根据通知服务原理,构建了一个资源订阅系统模型,用户可以订阅感兴趣的信息,事件通知服务负责发布事件,同时将事件分发给感兴趣的订阅者。模型采用事件过滤机制、分组共享、队列优先级设计,提高了事件通知的可靠性。  关键词:事件通知服务;发布/订阅;事件过滤;事件通道    0 
期刊