一个互联网缓存系统和方法及其这个系统中的一个结构的利记博彩app

文档序号:6418729阅读:194来源:国知局
专利名称:一个互联网缓存系统和方法及其这个系统中的一个结构的利记博彩app
技术领域
本发明涉及一个互联网缓存系统和涉及用于在一个互联网缓存系统中对搜寻互联网信息文件的请求进行服务的一个结构和方法。
近年来,互联网和其目前使用最广泛的特征,万维网(WWW)已经发展成为一个巨大的信息源。任何人均可以提供任何信息,例如文本,图象,音频和视频,并且这些被提供在万维网上,只要用户能够访问互联网,他们就能够很轻易的检索这些信息。
互联网目前所面临的主要问题是对通信容量的需求在增长,这是因为用户从世界各地来访问信息。据估计,万维网业务流量已经超过了大部分国际通信线路上的所有传统电话和传真的业务总和。更多的传输和交换容量正在不断地增加,但是这是一个较慢的过程也是一个昂贵的过程,并且需求在持续地超过供应能力。
万维网的内容越来越不可测量,并且可能会包括几百太比特(1998年夏天)。但是,所有这个信息的一个相对较小的子集就能够提供实际正在被访问的信息的大部分内容。所以,为了使在访问互联网上信息时被使用的带宽最小并且其延迟也最小,目前已经使用了不同的缓存技术来限制需要经过互联网来传送的信息数量,和限制信息需要被传送的距离。
在缓存WWW对象,或者互联网信息文件的领域中,有两个基本方法,客户端缓存和服务器缓存。客户端缓存的最简单形式是今天的每一个WWW浏览器实际上已经在使用的技术。这个浏览器在用户的计算机上,将最后被访问的互联网信息文件保持在一个缓冲器中。当这个用户第二次希望访问一个特定的信息文件时,浏览器从它的缓冲器中进行检索,而不是经过互联网来产生一个请求。
为了帮助一个相邻用户,另一个客户端缓存的形式,一个代理服务器缓存方法可以被使用。在这个方法中,一个缓冲器被放置在一些用户连接在其上的一个WWW代理节点,这样一个代理节点例如可以是位于一个公司内的一个服务器。当一个WWW客户希望访问互联网上的一个WWW服务器,这个客户向这个代理节点,或者向这个WWW代理服务器发送一个http请求,而不是直接向全球互联网上的一个服务器发送这个请求。相反,是这个代理服务器将这个请求发送到全球互联网上的一个WWW服务器,缓存这个响应并且将这个响应返回给这个客户。这样,第一次请求一个信息文件时,它被经过互联网传送并且被保存在这个WWW代理服务器的缓冲器中。随后的、从连接到这个WWW代理服务器的任何客户来的、对这个相同信息文件的请求然后可以被通过本地来提供服务,而不用经过全球互联网来向一个服务器发送http请求。通过在其上直接连接了或者间接地连接了一些客户的一个区域互联网缓存服务器上实现上述方法,也可以在一个公司,或者某些其它组织的前端设备中使用代理服务器缓存。
根据在同一个服务器上使用缓冲器的一个用户团体的大小和同一性,大约20-40吉比特的缓存容量(1998年春天)将用户团体所产生的互联网流量降低30-50%。随着互联网和WWW所提供的信息的增长,为了保持这个命中率,即从这个缓存服务器传送的信息文件请求的比例,很可能所需要的缓存大小将会随着时间进一步增加。进一步,如果这个命中率增加到75%或者更高,互联网的性能和利用率将会大大改善。对典型的终端用户行为来说,这需要一个很大的缓存,目前的数量级是200-400吉比特,但是也需要终端用户团体中有很多的成员,目前是几十万。其原因是,终端用户团体的数量越大,在这个团体内部的其他人在前面已经访问了一个被请求文件的可能性就越大,特别是如果这些用户具有某些共同的兴趣时就更有可能。
通过获得一个合适的计算机和合适的磁盘容量,就能够轻易安装一个大的缓存。但是,也需要这个缓存能够处理来自所有参与的终端用户的所有请求。使用当前的技术,一单个处理计算机不可能为来自几十万个终端用户的请求提供服务。所以,已经推出了几个系统来解决这个问题,这里仅列举主要支持者的名字。
Cisco系统公司提出,终端用户连接到一个骨干路由器,这个骨干路由器被编程为将所有WWW请求透明地重定向到一专用缓存设备,或者“缓存引擎”组,或者“农场”。每一个缓存引擎根据IP(互联网协议)地址的组别,处理所有源WWW服务器的一个子集。这个方法可以扩展到32个并行缓存引擎,这大概能够向大约500,000个终端用户提供服务。
Inktomi公司提出了,使用一个交换机,一个所谓的第4层交换机来将到WWW页面的所有请求重定向到一个“Inktomi流量服务器”。使用了一组强大的计算机,这些计算机共享相同的磁盘存储系统。这个方法可以扩展到并行16个工作站,这也可以向大约500,000个终端用户提供服务。但是,几个计算机访问相同的磁盘存储系统增加了复杂程度,并且也需要进行管理,即每一个计算机的某些能力不能够用于处理请求。
网络设备公司提出了一个两层的缓存方法。这个系统在靠近终端用户的地方有几个本地缓存。当在本地的级别上出现了一个缓存不命中的情形时,这些本地缓存使用互联网缓存协议与一个中心缓存进行通信。如果被请求的文件位于这个中心缓存中,它就被传送到这个本地缓存,并且然后被前转到这个终端用户。如果这个被请求的文件也没有位于这个中心缓存中,这个中心缓存将产生到这个源服务器的一个请求,并且将这个文件前转到本地缓存,这个本地缓存又将这个文件前转到终端用户。这样,中心缓存处理来自本地缓存的ICP请求,并且在这个中心缓存中没有这个文件的情形下与源服务器进行通信。为了便于扩展,可以有几个并行的中心缓存,每一个中心缓存处理源服务器的一个子集。这意味着本地缓存能够将每一个请求发送到正确的中心缓存服务器。因为这个协议还没有形成标准,这意味着所有本地缓存必须是为网络设备公司的设备。
所有这些方法均有一个缺点,一个中心缓存服务器需要使用一个方法或者另一个方法来处理范围很广的通信。这会使服务器的容量的利用率很低,并且向几十万个用户提供服务也是很困难的,而为了荻得高的命中率,就需要有几十万个用户。通过增加更多的服务器,这个系统的成本就变得很高,系统很昂贵,并且也更复杂。而系统的复杂性就增加了额外的开销,因此降低了对服务器相对较昂贵的资源的利用率。
本发明的一个目的是克服这些已知的、用于缓存互联网上的信息文件的技术的缺点,并且提供使用一个性价比很高的方法来缓存信息文件的一个方法。
本发明的另一个目的是提供一个方法,这个方法是关于如何使一个缓存系统以一个快速的和性价比很高的方法向用户提出的、到被缓存的信息文件的请求提供服务的。
本发明的另一个目的是提供一个缓存服务器方法,这个缓存服务器能够处理日益增加的、互联网和万维网所提供的信息文件。
本发明的另一个目的是提供用于使用一个最小的成本来获得到一个缓存系统的信息文件请求的命中率高的一个方法。
本发明的另一个目的是提供能够使用一个标准的方法进行扩展的一个可扩展缓存系统。
通过一个互联网缓存系统和用于根据后附权利要求书向到一个互联网缓存系统中的互联网信息文件的请求提供服务的一个方法,就可以实现上述这些目的。
根据本发明的第一方面,提供了向到一个互联网缓存系统中的互联网信息文件的请求提供服务的一个方法,这个方法包括在一个本地互联网缓存服务器中接收从一个用户来的、到一个互联网信息文件的一个用户请求的步骤;对这个被接收的请求作出响应,产生关于所述信息文件的查询,如果所述信息文件没有被所述本地服务器所缓存;对所述查询的一个答复作出响应,产生关于所述信息文件的一个文件请求,其中如果所述答复指示保存被缓存互联网信息文件的一个中心文件服务器缓存了所述信息文件,所述文件请求被路由到一个馈送器装置;和对所述文件请求作出响应,从所述馈送器装置在所述中心文件服务器中查询所述信息文件,以降低所述中心文件服务器的负担。
根据本发明的一第二方面,提供了一个互联网缓存系统的结构,所述系统包括至少一个本地缓存服务器和至少一个中心文件服务器,这两个服务器均保存了被缓存的互联网信息文件,用于降低所述中心文件服务器负担的这个结构包括与所述本地缓存服务器进行通信的、和与所述中心文件服务器进行通信的一个馈送器,其中所述馈送器包括用于从所述本地缓存服务器接收关于一个互联网信息文件的一个请求的第一装置;用于从接收的、来自所述本地缓存服务器的一个字母数字串推断一个查询的第二装置;和用于使用由所述第二装置推断的所述查询来在所述中心文件服务器中查询所述互联网信息文件的第三装置。
根据本发明的一第三方面,提供了一个互联网缓存系统,这个系统包括一组本地互联网缓存服务器,其中每一个本地缓存服务器被构造成接收用户对互联网信息文件的请求;包括至少一个被包括在一个中心缓存点的、用于保存被缓存的互联网信息文件的中心文件服务器;和包括将所述本地缓存服务器组与所述中心文件服务器互连的馈送器装置,所述馈送器装置包括至少一个馈送器,这个馈送器包括用于根据在互联网缓存服务器之间进行通信的一个协议来与至少一个本地缓存服务器进行通信的装置和用于使用数据库查询来从所述中心文件服务器检索互联网信息文件的装置,由此降低所述中心文件服务器的负担。
本发明的思想是基于将一些专用计算机连接到用于保存互联网信息文件的一个中心文件服务器,或者中心缓存服务器。相对于这个中心缓存服务器,这些附加的计算机是低端计算机。这些专用计算机被构造成执行正常情形下由中心缓存服务器本身处理的部分任务,来降低中心缓存服务器的负担。使用这个方法,这个中心缓存服务器能够以一个快速的和性价比高的方法向连接到中心服务器的本地缓存服务器提供服务,或者向经过专用计算机连接到中心服务器的本地缓存服务器提供服务。这最大限度地利用了形成实际中心文件服务器和其缓存了文件的文件仓库的昂贵的硬件,而使文件服务器周围的这些不贵的机器专门并行执行耗时的、并且对时间要求严格的任务。
这样,通过将这些机器与实现一个中心文件服务器的任何机器分开,就实现了本发明的馈送器装置,或者馈送器。这将降低中心文件服务器上的负担,然后这个中心文件服务器能够有更多的处理时间来专门处理被缓存信息文件的实际检索。所以,这个中心文件服务器能够使用一个有效的方法来向数量很大的用户提供服务。因为经过请求本地缓存服务器,用户的请求被更有效率地得到服务,所以可以增加被服务的用户请求的数目,这反过来使中心文件服务器的缓冲器能够获得更高的命中率。
根据本发明的一个实施方式,馈送器装置根据用于在互联网缓存服务器之间进行通信的一个协议,以中心文件服务器的行为与本地缓存服务器进行通信。当前所使用的协议或者是互联网缓存协议(ICP)或者是缓存摘要(Cache Digest),并且可以使用任何其它传统的协议或者未来用于相同目的的协议。这样,通过将接收,对其进行答复,查询和/或者请求信息文件的任务放置在与中心文件服务器机器分离的机器上,就可以显著地降低中心文件服务器上的负担。
当一个本地缓存服务器从一个用户接收了对一个信息文件的一个请求后,这个文件没有被缓存在本地服务器上,本地服务器开始产生对这个文件的一个查询。在一个实施方式中,这个查询被指向一个表,或者数据库中,这个表或者数据库可以是本地服务器内部的,或者是直接连接到本地服务器的。如果所述表指示这个被查询的文件被中心文件服务器所缓存,本地服务器将从馈送器装置,或者馈送器请求这个文件。然后根据缓存摘要协议,优选执行这个查询和请求。但是,与从这个用户到本地服务器的请求相同,从本地服务器到馈送器的请求可以是任何第三层的协议,例如一个HTTP请求。
在另一个实施方式中,从本地服务器来的查询被指向到馈送器。包括在这个查询,例如一个ICP查询中的是被查询的信息文件的URL。馈送器从被接收的、到一个信息文件的字母数字URL推断出一个查询号码,然后,馈送器使用这个查询号码来在中心文件服务器中查询信息文件。馈送器使用一个标准的SQL查询(结构化查询语言)来在文件服务器中查询信息文件。如果被查询文件在中心文件服务器中,即产生了一个缓存命中,这个被查询的文件就经过这个馈送器被从中心服务器传送到本地服务器。让中心文件服务器产生一个文件传送来作为来自本地缓存服务器的一个SQL查询的一个答复,而不是作为对一个查询的答复,例如一个ICP查询的答复,这意味着节省了中心文件服务器的大量能力。
替代地,查询号码可以从所述字母数字URL和从包括在所述查询中的部分头信息推断出来。这部分头信息包括请求发起者的特定用户信息,例如他所使用的语言,能够使中心文件服务器对这个特定的信息进行响应。通过使用任何hash算法,优选地使用一个MD5hash算法,可以推断出与一个信息文件相应的查询号码。
在本地服务器对信息文件进行一个内部查询的实施方式中,馈送器从本地服务器指向到馈送器的随后请求中推断出查询号码。用于推断查询号码的字母数字串是包括在所述请求中的数字串,例如一个HTTP请求的URL,来推断出的。然后,当在中心文件服务器中查询这个信息文件时,优选使用一个SQL查询,这个馈送器使用这个查询号码。另外,包括至少部分所述请求的头信息字段作为推断所述查询号码的基础是有利的。
为了进一步降低中心文件服务器上的负担,馈送器优选包括保存与被中心文件服务器所缓存的每一个信息文件相关的信息的表。例如,这个表可以是由一个存储器驻留MD5可以索引的hash表。通过搜寻所述表,馈送器能够知道一个被查询的信息文件是否被中心文件服务器所缓存,而不需要查询这个服务器,所以,馈送器能够对来自一个本地服务器的查询作出馈送的答复。
根据本发明的另一个实施方式,互联网缓存系统进一步包括更新器装置,或者一个更新器,用于更新被中心文件服务器所缓存的信息文件集合。这个更新过程包括将缓存在一个本地服务器上的一个文件的一个拷贝传送到中心服务器。这个被传送的文件是作为当查询这个文件时没有命中中心服务器的一个缓冲器的一个结果,本地服务器从其源服务器检索并且然后被本地服务器所缓存的一个文件。
这样,中心文件服务器,或者中心缓存服务器自己不检索一个没有被缓存的文件,所以当向一个本地缓存服务器提供服务时,不会因为没有命中一个缓冲器而产生对一个源服务器的一个文件请求。相反,当馈送器评价从本地缓存服务器来的、对一个信息文件的一个查询,并且得出结论这个被查询的文件没有被缓存在中心文件服务器上时,馈送器将一个答复路由到进行查询的本地服务器,指示这个文件不能够被获得,然后命令更新器更新中心文件服务器。在接收到答复后,这个答复然后指示没有命中一个缓冲器,本地缓存服务器从其源服务器检索正在处理的这个文件。在接收到更新中心文件服务器的命令后,更新器从本地服务器请求文件的一个拷贝,并且由此将所接收的文件拷贝传送到它将被保存的中心缓存服务器。可以优选在中心文件服务器的整体负担低时,并且在本地服务器已经有足够的时间来从其源服务器检索文件时,执行传送和保存过程。
但是,如果本地服务器在一个防火墙的后面,更新器将从其源服务器请求这个文件的拷贝,然后,这个拷贝被保存在中心缓存服务器上。在这个情形下,优选这个馈送器不命令更新器开始这个更新过程,直到已经接收到一定数目的、对相同特定信息文件的查询后,其中这些查询是从位于防火墙后面的本地服务器发送来的。优选地,更新器是用与实现这个馈送器的机器分离的一个机器来实现,并且实现更新器的这个机器也与任何文件服务器机器分离开。因为到源服务器的文件请求,例如HTTP请求的时间和数量是不可预测的,这样就对执行这些请求的机器产生一个不可预测的负担,所以采用这个方法是有利的。但是,在一个简化的系统中,可能会在实现馈送器的相同机器上实现更新器,而这些机器仍然与任何中心文件服务器机器分离开。在实现更新器和馈送器的机器将本地缓存服务器与中心文件服务器互连,而机器自己不与中心文件服务器一起被包括在中心缓存点的一个实施方式中,这些机器与中心文件服务器机器的分离是很明显的。
特定的互联网信息文件是不适合于被缓存的。这种文件有时也被称作动态信息文件,术语动态来自于这些文件在源服务器上被连续地更新,这种文件的示例是那些股票价格,天气预报等等的文件。处理动态文件的存在的一个优选方法是或者在更新器中,或者在本地服务器中维持一个已知的、不可缓存的文件列表。使用这个方法,作为请求这种文件的一个用户的结果,这个系统中的通信减少到最小。
根据本发明的另一个实施方式,几个中心文件服务器被包括在一个中心缓存点,每一个文件服务器缓存与源主机名字,IP地址或者所推断的查询号码相关的、在一定义范围内的信息文件。根据源主机名字,IP地址,或者根据一个被请求信息文件的所推断查询号码,馈送器将这个查询传送到缓存合适范围内的文件的文件服务器。在一个可扩展的解决方案中,每一个文件服务器有其自己的磁盘系统,这样是开销最少。进一步,因为这个中心缓存点使用标准的协议,所以这个点可以用第三方的文件服务器来进行扩展。
为了使中心文件服务器和低端计算机,即馈送器和更新器之间的通信更快,每一个低端计算机优选通过一专用线路连接到中心文件服务器,替代地,如果由几个文件服务器时,通过一个专用网络连接到中心文件服务器。在后面的情形下,至少部分网络容量是为所讨论的通信预留的。当然,使用一个不专用方法,所使用的网络也可以互联网的一部分。在中心文件服务器和低端计算机之间所使用的连接类型与低端计算机,或者馈送器和更新器,所处的位置与中心文件服务器的位置是相同的,或者是分开的有很大的关系。
另外,中心缓存点对一预定的本地缓存服务器集合提供服务,这个集合反过来向语言和文化程度一致的用户团体来提供服务。这将进一步增加中心缓存级的命中率,因为相同的信息文件更可能被请求不止一次。
使用本发明,根据本发明处理信息文件请求的一个互联网缓存系统的一个操作者能够使用一个快速的、便宜的和有效的方法来向数量很多的用户提供服务。这些客户优选是与本发明的中心缓存点,或者本发明的馈送器/更新器连接的不同的互联网服务提供者,公司或者其它组织,使用它们自己的本地缓存服务器,或者作为客户连接到包括中心缓存点所形成的整个本发明缓存系统的一个系统,这个缓存系统包括多个馈送器和一个更新器,和其连接的本地缓存服务器。当然,一个客户也可以是很好地作为构成直接连接到本发明系统的一单个WWW客户的一单个用户。另外,一个大的公司或者互联网服务提供者可以选择在其自己的地方操作本发明的系统,而不是连接到被另一方所操作的系统。进一步,因为本发明的缓存系统是围绕标准协议,例如ICP和SQL,来建立的,所以只要他们支持这些协议,来自任何制造商的本地缓存服务器和中心文件服务器可以被包括在这个系统中。
在本发明的范围内,一个本地互联网缓存服务器可以被理解为一个代理节点,优选的是一个WWW代理节点,为连接到这个代理节点的用户,或者WWW客户提供缓存。
被缓存在一个本地互联网缓存服务器或者被缓存在位于一个中心缓存点的一个文件服务器上的项可以是使用互联网可以访问的并且包括任何信息的任何非动态文件。这样,本发明中所使用的术语互联网信息文件就包括一些不同类型的文件和这种文件的不同名字,例如二进制,文本,图象,音频和视频文件,HTTP(超文本传输协议)文件,WWW文件,FTP(文件传输协议)文件,WWW页面,WWW对象,等等。除可以使用HTTP或者FTP协议访问的文件外,使用任何第三层的协议来经过互联网进行访问的任何文件也被包括在术语互联网信息文件中。可以被使用的协议的另一个示例是WAP(无线应用协议)标准中所使用的WTP协议(无线传输协议)。
根据本发明的第四个方面,本发明包括一个计算机可以阅读的媒质,在这个媒质上,保存了可以在一个或者几个通用计算机上执行的、一个或者几个计算机程序指令,并且包括使所述一个或者几个计算机来执行在后附权利要求1-17中所公开的步骤的装置。
根据本发明的第五方面,本发明包括一个或者几个包含可以别一个转换几个通用计算机执行的一个或者几个程序序列的程序保存装置,用于执行在后附权利要求1-17中所公开的步骤。
通过参考附图,及其示例性实施方式,就可以从下面的描述中更完全地理解本发明的上述方面和其它方面和特点及优点。
下面参考附图来描述本发明的示例性实施方式,其中

图1原理性地显示了根据本发明的一个互联网缓存系统的一个实施方式;图2原理性地显示了根据本发明的一个互联网缓存系统的另一个参考图1所显示的框图,将描述本发明的一个实施方式。在图1中,显示了一些本地缓存服务器100。这些本地服务器100经过互联网连接到馈送器装置110,这里用一个馈送器110来代表。图1中所表示的、馈送器110的数目和本地缓存服务器100的数目仅仅是一个示例,并且这个实施方式不局限于这些数目。
但是,不管馈送器的数目是多少,在这个实施方式中,每一个馈送器连接到一单个中心文件服务器。在图1中,馈送器110连接到一个中心文件服务器130。这个中心文件服务器包括其上保存了,即缓存了互联网信息文件一个存储媒质(没有显示),并且这个中心文件服务器可以用一个高端计算机,例如Sun Ultra Sparc或者DEC Alpha计算机来实现。在另一方面,每一个馈送器110用一个低端计算机,例如一个传统的个人计算机,来实现,并且构成处理本地缓存服务器100和中心文件服务器130之间进行的通信的一个前端机器。
馈送器110使用互联网缓存协议与本地缓存服务器100进行通信,互联网缓存协议是用于经过互联网来在缓存服务器之间进行通信的、基于消息的协议。所以,馈送器100使用一个ICP答复对从一个本地缓存服务器100接收的、对一个被缓存互联网信息文件进行查询的一个ICP查询进行答复。这个ICP答复指示或者命中了缓冲器(ICP_OP_HIT),或者一个缓冲器没有命中(ICP_OP_MISS)。
根据互联网缓存协议,馈送器所接收的ICP查询包括被查询信息文件的URL。从这个URL,这个馈送器110使用一个MD5 hash算法,推断出与被查询信息文件相应的一个查询号码。使用这个查询号码,然后就搜寻一个驻留在存储器中的MD5索引的hash表115。包括在这个馈送器110中的是一个其中保存了索引表的RAM(随机访问存储器)116。这个索引表115包括与被缓存在中心文件服务器130上的一个互联网信息文件相应的每一个查询号码的表目。搜寻索引表115包括搜寻与被推断的查询号码匹配的一个查询号码的表目如果在这个表中发现了一个匹配的查询号码,这表示这个被查询的信息文件被中心文件服务器130所缓存,结果,到本地服务器100的ICP答复将指示一个缓冲器命中。相应地,如果在这个表115中没有发现一个匹配的查询号码,这表示被查询的信息文件没有被中心文件服务器130所缓存,结果,ICP答复将指示一个缓冲器没有命中。
用于使用MD5 hash算法来推断查询号码的并用于搜寻索引表的装置是包括在馈送器110中、并且带有合适软件模块的一个微处理器120。这个微处理器执行软件模块,执行的结果是产生了推断的查询号码并且在索引表115中进行搜寻。这个软件模块的实现对编程领域内的技术人员来说是很容易的。
如果从馈送器110到本地服务器100的答复指示产生了一个缓冲器命中,本地服务器将使用超文本传输协议从这个馈送器请求信息文件,超文本传输协议是用于经过互联网来访问WWW对象的一个协议。即,一个HTTP请求被传输到馈送器,这个请求包括被请求文件的URL。
当与中心文件服务器130进行通信时,馈送器110使用公共的SQL查询。在接收到HTTP请求后,这个馈送器将检索前面已经从相应ICP查询的URL推断出的查询号码。替代地,可以再一次使用这个HTTP请求的URL来推断查询号码。然后,馈送器在指向中心文件服务器的一个标准SQL查询中使用这个查询号码。作为一个响应,中心文件服务器130将向当前所讨论的这个信息文件传送到馈送器110,这个馈送器110反过来又将这个信息文件传送到发起这个文件请求的本地服务器100。
如果从馈送器110到本地服务器100的答复指示是一个缓冲器没有命中,本地服务器将产生到被请求文件的源服务器(没有显示)的一个HTTP请求,然后缓存所接收的文件,并且将这个文件的拷贝传送到发起请求的用户(没有显示)。
用于在馈送器110中执行互联网缓存协议的装置是包括在这个馈送器中的微处理器120。这个微处理器也实现了从本地服务器100接收一个HTTP请求的、并且用于使用SQL查询中心文件服务器130的装置。微处理器将要执行的操作由上述装置中的一部分,即合适的软件模块来控制。这些软件模块的实现对编程领域的技术人员并且熟悉所讨论协议的技术人员来说是很容易的。
将参考图2来描述根据本发明的一个互联网缓存系统的另一个实施方式。图2中的这个系统与图1中系统的不同点在于互联网缓存系统包括一个更新器240,即更新装置,这个更新装置连接到中心文件服务器230,馈送器210,并且经过互联网连接到本地缓存服务器200。这样,图2显示了包括一个更新器240以及一个馈送器210的本发明结构。
除了下面描述的、关于图2中的部件外,图2中与图1中部件相应的部件根据前面参考图1所描述的来进行操作和交互式控制。所以,仅那些与图2所显示实施方式相关的这些部件的特征才在下面进行描述。
更新器240的工作责任是使用新被缓存的信息文件来更新与中心文件服务器230相关的存储媒质(没有显示)。如参考图1所描述的,当本地服务器200从馈送器210在作为对前一个针对相同信息文件的ICP查询的一个响应的一个ICP答复中接收到了一个缓冲器没有命中时,本地服务器200产生到这个文件的源服务器(没有显示)的一个HTTP请求。然后,这个被请求的文件被本地服务器200所接收和缓存。在一预定时间后,作为ICP答复中报告没有命中缓冲器的结果,馈送器210将命令更新器240更新这个中心文件服务器。
更新器240从馈送器210接收被查询文件的URL和查询这个文件的本地服务器200的标识。然后,产生从更新器到特定本地服务器的、对这个文件的一个HTTP请求。在接收被请求的文件后,更新器将这个文件保存,即缓存在中心文件服务器230上。当已经保存这个文件时,更新器命令馈送器在被保存在RAM区域216中的索引表215中增加与所讨论文件相应的查询号码。
用于从本地缓存服务器200请求信息文件的装置和用于将被接收的信息文件缓存在中心文件服务器230上的装置是包括在更新器240中的一个微处理器260及其相应的软件模块。对编程领域的一个技术人员来说,这些软件模块的实现是众所周知的。
现在参考图3的流图来描述图2的实施方式中一个本地服务器200所执行的操作的示例。
在步骤300中,本地缓存服务器200从被这个特定本地缓存服务器所服务的一个客户接收对一个互联网信息文件的一个请求。但是,也可以从根据参考图5的描述进行工作的更新器240接收这个文件请求。然后,在步骤301中,这个本地缓存服务器在其本地缓存文件中搜寻这个被请求的文件。如果它找到了这个文件,这个文件就被传送到发起请求的客户或者被传送到更新器240,这如步骤302所显示的。
如果本地缓存服务器200在搜寻过程中没有发现被请求的文件,即它没有缓存这个被请求的文件,它在步骤303中检查这个请求是否是从更新器来的。如果这个条件成立,在步骤304中就向更新器返回一个消息,指示没有这个被请求的文件。如果在步骤303中的条件不成立,即如果这个请求是从一个客户来的,在步骤305中就向馈送器210发送一个ICP查询。在下一步骤306中,本地缓存从馈送器210接收指示中心文件服务器230是否已经缓存了被请求文件的一个ICP答复。在步骤307中,就评价ICP答复。如果这个答复指示没有命中一个缓冲器,即被请求的文件没有被中心缓存,本地缓存服务器200产生到这个文件源服务器的、对这个文件的一个HTTP请求。如果另一方面,这个答复指示命中了缓冲器,本地缓存就产生到馈送器210的、对这个文件的一个HTTP请求,这表示在步骤309中。在下一步骤310中,本地缓存服务器从馈送器接收被请求的文件。最后,在步骤311中,这个文件被传送到请求这个文件的客户。
现在参考图4的流图来描述图2实施方式中馈送器200所执行的操作。
在步骤400中,馈送器210从被这个馈送器所处理的任何一个本地缓存服务器200接收与一个互联网信息文件相关的一个ICP查询。这个查询包括被查询信息文件的URL。从这个URL,在步骤401中,馈送器210使用一个MD5 hash算法推断一个查询号码,当在步骤402中,搜寻驻留在馈送器210的存储器216中的一个索引MD5 hash表时,使用这个查询号码。
如果在搜寻hash表的过程中没有发现这个号码,在步骤403中,馈送器将指示没有命中一个缓冲器的一个ICP答复发送回到从其接收了ICP查询的本地缓存服务器200。在步骤404中,然后馈送器210通过将被查询文件的URL传递到更新器,来命令更新器240检索没有被缓存的被查询文件。在步骤405中,馈送器210将与被查询文件相应的查询号码增加到索引hash表215中。这是对更新器240向馈送器指示被查询文件已经被从本地服务器200传送过来并且已经被保存在中心文件服务器230中所作出的响应。参考图5将进一步描述更新器240的操作。
如果在条件判断步骤402中,馈送器210在搜寻hash表215的过程中找到了查询号码,在步骤406中,它将指示命中了一个缓冲器的一个ICP答复发送回到从其接收了ICP查询的本地缓存服务器200。在步骤407中,然后,馈送器从前面发出这个ICP查询的本地缓存服务器200接收一个HTTP请求。与ICP查询类似,HTTP请求包括被请求信息文件的URL。在步骤408中,馈送器210检索与这个文件相应的、前面已经被推断出的查询号码。在步骤409中,馈送器使用这个查询号码并使用一个标准的SQL查询来在中心文件服务器230中查询这个被请求的信息文件。在步骤410中,作为一个响应,馈送器从中心文件服务器230接收这个被缓存的信息文件,在下一步骤411中,这个被请求的、被缓存的互联网信息文件被从馈送器210传送到发起请求的本地缓存服务器200。
现在参考图5来描述图2实施方式中更新器240所执行的操作。
在步骤500中,更新器240从馈送器210接收指示应请求一个特定文件的一个命令。所讨论的文件在前面已经被本地缓存服务器200所请求,但是馈送器发现中心缓存服务器230没有缓存这个文件。这个命令包括这个文件的URL和从这个中心缓存230请求这个文件的本地缓存服务器200的地址。在步骤501中,这个更新器然后检查这个命令中被请求的文件是否在已知的、不可缓存文件的列表中。如果这个列表包括这个被请求的文件,这个命令就被丢弃。如果这个列表不包括这个被请求文件,更新器240就维持这个命令,以使本地缓存服务器200有时间从这个文件的源服务器检索这个文件。
在对中心文件服务器230方便的时刻,即在中心服务器的负荷相对较低的时刻,中心服务器向更新器240发送一个消息,表示可以执行任何被挂起的命令,步骤502显示了更新器240对这个消息的接收。在下一个步骤503中,命令的执行开始,更新器从发起文件请求的本地缓存服务器200请求这个文件的一个拷贝,现在,这个文件应已经被检索并且被缓存在本地。然后,在步骤504中,这个文件的一个拷贝被从本地缓存服务器接收。在步骤505中,被接收的文件拷贝被传送到中心文件服务器230以被中心文件服务器230所缓存。在最后的步骤506中,更新器240命令馈送器210将与被缓存在中心文件服务器230中的这个文件相应的查询号码增加到索引hash表215中。
中心文件服务器的操作是很简单的。基本上,中心文件服务器做两件事,它通过将被缓存的文件传送到馈送器210来答复从它们来的SQL查询,和它将被从更新器240传送到它的、新的信息文件保存在其缓冲器中。
现在参考图6来描述根据本发明的一个互联网缓存系统的另一个示例性实施方式。在图6中,这个系统与图2中所显示的系统的不同点在于这个系统有不止一个的中心文件服务器,这里作为示例显示了3个中心缓存服务器630。另外,图6包括两个馈送器610,每一个馈送器610连接到其本身的本地缓存服务器600集合。馈送器610和更新器640和在一个中心缓存点690的中心文件服务器630组织在一起。通过安装在中心缓存点内的一个以太网络680,更新器640和每一个馈送器610连接到所有的中心文件服务器630。
在这个实施方式中,与图2的实施方式相比,增加的中心文件服务器的数目可以缓存更多的文件,甚至答复更多的可以被中心文件服务器所答复的SQL查询数目。因为这个系统是完全可扩展的,所以理论上可以将任何数目的馈送器,更新器或者中心文件服务器增加到这个系统中。
图6中这个系统的操作与图2系统操作的基本不同点在于一个馈送器610需要从多个中心文件服务器630中选择一个服务器来将一个SQL查询路由到这个服务器。每一个中心文件服务器630缓存其源主机名字在一预定范围内的信息文件。所以,根据包括在从本地服务器接收的URL中的主机名字,或者作为一个ICP查询中一部分的、或者作为一个HTTP请求中一部分的主机名字,来从中心文件服务器选择一个服务器。当馈送器已经选择一个中心文件服务器时,带被推断的查询号码的SQL查询就被路由到这个被选择的文件服务器。
应理解,参考附图所描述的部件的结构和功能对那些该领域的技术人员来说是很明显的。
尽管已经参考特定示例性实施方式描述了本发明,但是对那些该领域的技术人员来说,可以进行许多不同的替代,修改和类似的改变。所以,这里所描述的实施方式不对后附权利要求书所定义的、本发明的范围有任何限制。
权利要求
1.用于在一个互联网缓存系统中向对互联网信息文件的请求提供服务的一个方法,包括步骤在一个本地互联网缓存服务器,从一个用户接收对一个互联网信息文件的一个用户请求;对这个被接收的请求作出响应,如果所述信息文件没有被所述本地服务器所缓存,产生对所述信息文件的一个查询;对所述查询的一个答复作出响应,产生对所述信息文件的一个文件请求,其中如果所述答复指示保存被缓存互联网信息文件的一个中心文件服务器已经缓存了所述信息文件,所述文件请求被路由到一个馈送器装置;和对所述文件请求作出响应,从所述馈送器装置,在所述中心文件服务器上查询所述信息文件,以降低所述中心文件服务器上的负荷。
2.如权利要求1的这个方法,其中所述本地缓存服务器根据用于在互联网缓存服务器之间进行通信的一个协议来执行所述查询。
3.如权利要求2的这个方法,其中所述协议是互联网缓存协议(ICP)。
4.如权利要求2的这个方法,其中所述协议是缓存摘要。
5.如权利要求1到3中任何一个的这个方法,其中所述查询被所述本地缓存服务器路由到所述馈送器装置,作为一个响应,这个馈送器装置返回所述答复。
6.如权利要求5的这个方法,包括步骤在所述馈送器装置中,推断与所述查询涉及的所述信息文件相应的一个查询号码。
7.如权利要求6的这个方法,其中所述查询步骤包括当在所述中心文件服务器中查询所述信息文件时,使用被推断的查询号码。
8.如权利要求6的这个方法,其中所述查询提供与所述信息文件相关的一个字母数字串,所述串在所述推断所述查询号码的步骤中被使用。
9.如权利要求8的这个方法,其中所述字母数字串是一个全球资源定位器(URL),并且所述查询号码被从所述URL和至少部分所述查询的头信息字段中推断出来。
10.如权利要求1,2或者4中任何一个的这个方法,其中所述文件请求提供与所述信息文件相关的一个字母数字串,所述馈送器装置使用所述串来推断与所述信息文件相应的一个查询号码。
11.如权利要求10的这个方法,其中所述字母数字串是一个全球资源定位器(URL),并且所述查询号码被从所述URL和至少部分所述查询的头信息字段中推断出来。
12.如前面权利要求中任何一个的这个方法,包括步骤产生具有指向被缓存在所述中心文件服务器上的每一个互联网信息文件的表目的一个索引表。
13.如权利要求12的这个方法,包括步骤在所述索引表中搜寻所述信息文件;和在所述查询的所述答复中,指示在所述搜寻中是否找到了所述信息文件。
14.如前面权利要求中任何一个的这个方法,其中所述查询步骤包括当在所述中心文件服务器上查询所述信息文件时,使用结构化查询语言(SQL)。
15.如前面权利要求中任何一个的这个方法,其中所述查询步骤包括步骤根据所述信息文件的一个主机名字或者IP地址,从一个中心文件服务器集合中选择一个中心文件服务器,所述集中的每一个服务器被构造成缓存其源主机名字或者IP地址在一预定范围内的互联网信息文件;和在被选择的中心文件服务器中查询所述信息文件。
16.如权利要求6-14中任何一个的这个方法,其中所述查询步骤包括步骤根据推断出的、针对所述信息文件的所述查询号码,从一个中心文件服务器集合中选择一个中心文件服务器,所述集中的每一个服务器被构造成缓存相应的查询号码在一预定范围内的互联网信息文件;和在被选择的中心文件服务器中查询所述信息文件。
17.如权利要求1-16中任何一个的这个方法,进一步包括步骤如果所述查询的所述答复指示所述信息文件没有被缓存在所述中心文件服务器上,在所述本地缓存服务器上,从其源服务器检索所述信息文件;将所述信息文件缓存在所述本地缓存服务器上;和通过从所述本地缓存服务器请求所述信息文件的一个拷贝,和将所述拷贝缓存在所述中心文件服务器上,更新所述中心文件服务器。
18.一个互联网缓存系统中的一个结构,所述系统包括至少一个本地缓存服务器和至少一个中心文件服务器,两个服务器均保存被缓存的互联网信息文件,为了降低所述中心文件服务器上的负荷,其结构包括与所述本地缓存服务器进行通信并且与所述中心文件服务器进行通信的一个馈送器,其中所述馈送器包括第一装置,用于从所述本地缓存服务器接收对一个互联网信息文件的一个请求;第二装置,用于从接收到的、来自所述本地缓存服务器的一个字母数字串中推断一个查询;和第三装置,用于使用从所述第二装置推断出的所述查询,在所述中心文件服务器上查询所述互联网信息文件。
19.如权利要求18的这个结构,其中所述第一装置被构造成根据一个第三层的互联网协议进行工作。
20.如权利要求18或者19的这个结构,其中所述第三装置被构造成当查询所述互联网信息文件时,使用结构化查询语言(SQL)。
21.如权利要求18-20中任何一个的这个结构,其中所述字母数字串被包括在从所述本地缓存服务器接收的所述请求中。
22.如权利要求21的这个结构,其中所述查询是从所述字母数字串和至少来自所述本地缓存服务器的所述请求中的部分头信息字段中被推断出的。
23.如权利要求22的这个结构,其中所述查询包括一个查询号码,通过将一个hash算法应用到所述串和应用到所述头信息字段的所述部分来推断查询号码。
24.如权利要求18到20中任何一个的这个结构,其中所述馈送器包括第四装置,用于从所述本地缓存服务器接收对一个互联网信息文件的一个查询;和第五装置,用于向所述本地缓存服务器提供对所接收查询的一个答复。
25.如权利要求24的这个结构,其中所述第四装置和所述第五装置被构造成根据在互联网缓存服务器之间进行通信的一个协议来工作。
26.如权利要求25的这个结构,其中所述协议是互联网缓存协议(ICP)。
27.如权利要求24-26中任何一个的这个结构,其中所述字母数字串被包括在从所述本地缓存服务器所接收的所述查询中。
28.如权利要求27的这个结构,其中所述第二装置推断的所述查询是从所述字母数字串和至少来自所述本地缓存服务器的所述查询中的部分头信息字段中被推断出的。
29.如权利要求28的这个结构,其中所述查询包括一个查询号码,通过将一个hash算法应用到所述串和应用到所述头信息字段的所述部分来推断查询号码。
30.如权利要求24-29中任何一个的这个结构,其中所述馈送器包括一个表,这个表具有被缓存在所述中心文件服务器上的所有互联网信息文件的全部索引的拷贝。
31.如权利要求30的这个结构,其中对所述第五装置接收的所述查询的所述答复是基于所述表的内容。
32.如权利要求18-31中的任何一个的这个结构,其中为了进一步降低所述中心文件服务器上的负荷,所述结构包括与所述本地缓存服务器进行通信并且与所述中心文件服务器进行通信的一个更新器,其中所述更新器包括请求装置,用于请求被保存在一个本地缓存服务器上的一个互联网信息文件或者其拷贝;和保存装置,用于将这样所接收的拷贝保存在一个中心文件服务器上。
33.如权利要求32的这个结构,其中所述请求装置被构造成如果一个保存一个信息文件的本地缓存服务器位于一个防火墙的后面,就从其源服务器请求所述信息文件的一个拷贝。
34.如权利要求32或者33的这个结构,其中所述更新器被构造成与所述馈送器进行通信,所述馈送器用于接收请求所述信息文件的所述拷贝的一个命令。
35.如权利要求32-34中任何一个的这个结构,其中所述更新器包括已知不应请求其拷贝的、不可缓存的信息文件的一个列表。
36.如权利要求16-35中任何一个的这个结构,其中所述馈送器用一个低端计算机来实现,而所述中心文件服务器用一个高端计算机来实现。
37.如权利要求32-35中任何一个的这个结构,其中所述更新器用一个低端计算机来实现,而所述中心文件服务器用一个高端计算机来实现。
38.如权利要求37的这个结构,其中所述更新器和至少一个馈送器用一单个低端计算机来实现。
39.一个互联网缓存系统,包括一个本地互联网缓存服务器集合,其中每一个本地缓存服务器被构造成从用户接收对互联网信息文件的请求;至少一个中心文件服务器被包括在一个中心缓存点,并且用于保存被缓存的互联网信息文件;和馈送器装置,用于将所述本地缓存服务器集合与所述中心文件服务器互连,所述馈送器装置包括至少一个馈送器,这个馈送器包括根据用于在互联网缓存服务器之间进行通信的一个协议与至少一个本地缓存服务器进行通信的装置,和包括用于使用数据库查询从所述中心文件服务器检索互联网信息文件的装置,由此降低所述中心文件服务器上的负荷。
40.如权利要求39的这个系统,其中所述馈送器装置被包括在所述中心缓存点中。
41.如权利要求39或者40的这个系统,其中每一个所述馈送器装置包括多个馈送器,所述馈送器中的每一个馈送器用于将本地缓存服务器中的一个子集与所述中心文件服务器进行互连。
42.如权利要求39-41中任何一个的这个互联网缓存系统,其中所述中心缓存点被构造成向一定义的本地缓存服务器集合提供服务,这个集合反过来又向语言上和文化上有一致性的用户团体提供服务。
43.如权利要求39-42中任何一个的这个互联网缓存系统,其中所述使用的协议或者是互联网缓存协议或者是缓存摘要。
44.如权利要求39-43中任何一个的这个互联网缓存系统,其中所述馈送器中的每一个馈送器包括一个表,这个表具有被缓存在所述中心缓存点中的所有信息文件的全部索引的拷贝。
45.如权利要求39-44中任何一个的这个互联网缓存系统,其中所述中心文件服务器包括缓存其源主机名字在一预定范围内的互联网信息文件。
46.如权利要求39-45中任何一个的这个互联网缓存系统,进一步包括更新装置,将所述中心文件服务器与所述集合中的至少一个本地缓存服务器进行互连,用于从一个互联网信息文件的源服务器或者从所述至少一个本地缓存服务器检索所述互联网信息文件的一个拷贝,并且用于将所述拷贝保存在所述中心文件服务器中。
全文摘要
本发明涉及一个互联网缓存系统和一个方法及其这个系统的结构,用于在一个互联网缓存系统中对搜寻互联网信息文件的请求进行服务。系统被构造为一个两级缓存系统。为了降低中心缓存服务器130上的负载,用一个中间结构110互联系统的本地缓冲服务器100和中心缓存服务器130。这种结构利用用于在缓存服务器之间进行通信的一种协议来与本地缓存服务器通信。当从该中心缓存服务器请求互联网信息文件时,该结构使用结构化查询语言(SQL)。这样,中心缓存服务器130主要用于应答普通SQL查询。
文档编号G06F15/00GK1286774SQ99801667
公开日2001年3月7日 申请日期1999年9月22日 优先权日1998年9月24日
发明者斯维克尔·林德波 申请人:镜像互联网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1