CN1352775A - 选择超高速缓冲存储器 - Google Patents
选择超高速缓冲存储器 Download PDFInfo
- Publication number
- CN1352775A CN1352775A CN00807558A CN00807558A CN1352775A CN 1352775 A CN1352775 A CN 1352775A CN 00807558 A CN00807558 A CN 00807558A CN 00807558 A CN00807558 A CN 00807558A CN 1352775 A CN1352775 A CN 1352775A
- Authority
- CN
- China
- Prior art keywords
- cache
- information
- resource
- request
- agency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000004590 computer program Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 description 39
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R3/00—Arrangements of steps or ladders facilitating access to or on the vehicle, e.g. running-boards
- B60R3/02—Retractable steps or ladders, e.g. movable under shock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
选择存储从网站接收的信息的若干超高速缓冲存储器之一的方法,系统和计算机程序产品。本发明的特征在于接收识别域内资源的位置的信息,并根据识别域内资源的位置的信息,选择超高速缓冲存储器。
Description
技术领域
本发明涉及选择存储从网站接收的信息的超高速缓冲存储器。
背景技术
诸如因特网之类的计算机网络向用户提供获取及分发信息的强大工具。由于二十世纪九十年代初,万维网的出现,使用因特网的用户的数目日益增大。但是,网络通信量的相应增大已增加了用户接收信息必须等待的时间。在通信繁忙的时段内,为下载复杂的网页,用户通常需要等待几分钟。
在万维网上,多数计算机使用HTTP(超文本传送协议)进行通信。HTTP规定了请求资源(例如,HTML(超文本置标语言)文件,音频,视频,图形,可执行的指令或解释性指令,以及其它信息)的客户机和提供这些资源的服务器之间的客户机/服务器关系。如图1中所示,客户机100把有关资源104的请求传输给提供资源104的服务器102。服务器随后传输可包括所请求的资源104及其它信息(例如可能已发生的任何错误)的响应。在客户机100上运行的软件(例如,浏览器)可把取回的资源104呈现给用户。
如图2中所示,HTTP请求106包括识别分层定位方案内的请求资源104的URI(统一资源指示符)108(例如,URL(统一资源定位符))。即,URI 108对资源进行逐步特定描述,例如,首先通过确定提供所请求资源104的域名116(例如,“www.domain.com”),随后通过确定域名116内的一个或多个目录117(例如,“/directory/subdirectory”),并且最后通过确定所确定的一组目录117内的文件118(例如,“filename.html”)逐步对资源进行特定描述。
HTTP请求116还可包括其它信息,例如发生请求的客户程序110的类型(例如,微软IE浏览器),用户的优选语言112,以及其它信息114。请求106的大小可从几个字节到几千字节。
图1中所示的交换是网络通信的简化。事实上,在到达服务器102之前,请求通常经过多个中间代理。一种中间代理是代理120。如图3中所示,代理120接收来自于客户机100的请求,并且可选地把所述请求发送给提供所请求的资源的服务器102。代理102接收服务器的响应108,并可把响应108发送给客户机100。除了用作客户机100/服务器102通信的管道之外,代理120还可执行多种功能。例如,通过检查存储在请求和/或响应中的信息,代理120可起过滤器的作用,例如在成人内容到达由孩童使用的客户机100之前,阻断成人内容。
如图4中所示,多个不同的用户经常请求相同的资源(例如网页)。从而,把通常请求的资源保存在超高速缓冲存储器126中,可降低提供关于请求的响应所需的时间。如图所示,超高速缓冲存储器数据库表128保存客户机请求130,以及先前接收的关于这些请求130的服务器响应132。表128还可保存所存储的响应132的有效日期134及其它信息136。不同的超高速缓冲存储器子例程负责存储及从超高速缓冲存储器取回信息。
如图5中所示,最初接收请求的代理120(例如ISP(因特网服务提供商)处的代理)可把所述请求转发给包括超高速缓冲存储器数据库126及实现超高速缓冲存储器子例程125的指令的超高速缓冲存储器代理124。这些子例程125可搜索、读取及写入超高速缓冲存储器数据库126。当超高速缓冲存储器代理124接收请求时,超高速缓冲存储器代理124搜索超高速缓冲存储器数据库126,查找相应的响应。
参见图6,如果对应于请求的响应先前已被保存在超高速缓冲存储器124中,则超高速缓冲存储器代理124可返回所述响应,而不必访问服务器102,所请求的资源最初来自于所述服务器102。不必把请求从代理120传输给服务器102,并且不必把相应的响应从服务器102传回代理102,这降低了客户机100的接入时间及网络通信量。
如图7中所示,如果超高速缓冲存储器126不保存关于请求的先前响应,则超高速缓冲存储器代理124把请求传输给服务器102。另一方面,如果请求包括指出所提供的响应不应取自超高速缓冲存储器的“pragma=no-cache”(附注=无超高速缓存)指令,则超高速缓冲存储器代理124可把请求传输给服务器102。与超高速缓冲存储器搜索是否失败,或者请求是否包括“pragma=no-cache”指令无关,超高速缓冲存储器代理124可保存由服务器106提供的响应,以供未来之需。
如图8中所示,代理120可访问多个超高速缓冲存储器代理124、138、140,例如,集中在同一ISP 122内的超高速缓冲存储器代理。这种能力使得单个代理120能够访问大量被超高速缓存的响应。通过散列包括在请求的URI 108中的域名116(例如,把信息转换为数字),代理120把从客户机接收的请求发送给超高速缓冲存储器代理124、138、140之一。例如,散列“www.a.com”域名会得到“1”,而散列“www.b.com”域名会得到“2”。这些请求可被分别发送给超高速缓冲存储器代理124和138。这种方案把由相同的域提供的不同资源集中到相同的超高速缓冲存储器代理中。例如,“www.a.com/a.html”和“www.a.com/b.html”将共用相同的域,并驻留在相同的超高速缓冲存储器124中。
如上所述,超高速缓冲存储器代理124、138、140可能先前没有超高速缓存对应于特定请求的响应。这种情况下,超高速缓冲存储器代理124把请求传输给提供特定资源的服务器。例如,如图所示,根据请求的URI域名信息(“www.c.com”),关于“www.c.com/c”的请求被发送给超高速缓冲存储器代理#2 140。但是,超高速缓冲存储器代理140必须把请求传输给提供资源的服务器102,因为该超高速缓冲存储器还未保存“www.c.com/c”。一旦收到响应,则超高速缓冲存储器代理140可把“www.c.com/c”保存在其超高速缓冲存储器中,以供未来之需。
总之,如图9中所示,使用多个超高速缓冲存储器代理的代理120接收请求(步骤142),并且对包含在所述请求的URI中的域信息应用散列函数(步骤144)。根据散列结果,代理120把请求传输给超高速缓冲存储器代理124、138和140之一(步骤146)。
在步骤148接收请求的超高速缓冲存储器代理124、138、140可确定是否搜索其超高速缓冲存储器(步骤150)。如果超高速缓冲存储器代理搜索(步骤160)并在其超高速缓冲存储器中找到对应于该请求的响应(步骤162),则超高速缓冲存储器代理124、138、140可把找到的响应返回给代理120(步骤164)。如果超高速缓冲存储器代理确定不搜索超高速缓冲存储器(步骤150),或者其针对请求的搜索失败(步骤162),则超高速缓冲存储器代理把请求发送给由请求URI所识别的服务器(步骤166)。在超高速缓冲存储器代理接收该响应之后,超高速缓冲存储器代理可确定(步骤168)是否把响应存储在其超高速缓冲存储器中(步骤170),以便加快未来的请求的速度。随后,超高速缓冲存储器代理把接收的响应返回给代理120(步骤172),以便传输给发出该请求的客户机。
本发明人认识到上面描述的在多个超高速缓冲存储器间分配响应的方法会导致未充分利用超高速缓冲存储器的分配。
发明内容
一般说来,在一个方面,选择存储从至少一个网站接收的信息的多个超高速缓冲存储器之一的方法包括接收识别域内某一资源的位置的信息,并根据识别域内所述资源的位置的信息,选择超高速缓冲存储器。该方法进一步包括将请求发送给所选的超高速缓冲存储器。
实施例可包括一个或多个下述特征。接收信息可包括接收诸如HTTP(超文本传送协议)请求。信息可包括识别资源的位置的URI(统一资源指示符)(例如,URL(统一资源定位符))。除了根据域内资源的位置之外,还可基于资源的域,选择超高速缓冲存储器。选择超高速缓冲存储器可包括散列函数的使用。选择超高速缓冲存储器可包括选择超高速缓冲存储器代理。该方法还可包括把请求发送给选择的超高速缓冲存储器代理。
识别域内资源的位置的信息可包括一个或多个目录和/或文件名称。
另一方面,选择存储从某一网站接收的信息的多个超高速缓冲存储器之一的方法包括接收识别利用层次位置方案表述的资源位置的信息,所述层次位置方案包括对应于不同层级的标识符;根据对应于一个以上层级的信息标识符,选择超高速缓冲存储器。
实施例可包括一个或多个下述特征。层级可以是域。层级可以是域内资源的位置。
另一方面,选择存储从某一网站接收的信息的多个超高速缓冲存储器之一的方法包括接收识别资源位置的信息;并根据所有接收的识别所述资源位置的信息,选择超高速缓冲存储器。
另一方面,选择存储从至少一个网站接收的信息的多个超高速缓冲存储器之一的方法包括接收包含识别域内资源的位置的URI(统一资源指示符)的HTTP(超文本传送协议)请求,并通过散列URI域和识别域内资源的位置的URI信息,选择超高速缓冲存储器代理。该方法进一步包括将请求发送给所选的超高速缓冲存储器。
另一方面,本发明涉及一种布置在计算机可读介质上,用于选择存储从至少一个网站接收的信息的多个超高速缓冲存储器之一的计算机程序产品,所述计算机程序产品包括使处理器执行下述任务的指令:接收识别域内某一资源的位置的信息,并根据识别域内资源的位置的信息,选择超高速缓冲存储器。
另一方面,处理关于网络服务器所提供信息的请求的系统包括若干超高速缓冲存储器代理和前端代理。前端代理包括使前端代理处理器接收识别域内资源的位置的信息,并根据识别域内资源的位置的信息,选择超高速缓冲存储器的指令。
本发明具有一个或多个下述优点。执行包括URI的资源信息的散列,可在多个超高速缓冲存储器内分散存储由特定域提供的资源。由于少数域接收最大的一份请求(例如“www.aol.com”),因此在多个超高速缓冲存储器内分摊这些域提供的资源,能够更有效地使用超高速缓冲存存储器,因为每个超高速缓冲存储器读取和写入数目基本相同的请求和响应。从而,不存在任何超高速缓冲存储器因处理请求而过载,而其它超高速缓冲存储器未被充分利用。
修改代理的指令,而不是修改超高速缓冲存储器代理执行的指令,降低了把这些技术引入现有网络结构中的困难。
附图及下述说明中陈述了本发明的一个或多个实施例的细节。根据下述说明及附图,并根据权利要求,本发明的其它特征,目的及优点将是显而易见的。
附图说明
图1是客户机/服务器请求/响应交换的流程图。
图2表示了HTTP请求。
图3是在客户机,服务器和代理之间交换请求和响应的流程图。
图4表示了用于存储服务器响应的超高速缓冲存储器。
图5表示了代理和超高速缓冲存储器代理。
图6是图解说明从超高速缓冲存储器代理取回响应的流程图。
图7是图解说明把响应存储在超高速缓冲存储器代理中的流程图。
图8是图解说明多个超高速缓冲存储器代理的操作的流程图。
图9是使用多个超高速缓冲存储器代理的过程的流程图。
图10表示了包括用于根据请求,确定是否旁路超高速缓冲存储器子例程的指令的代理。
图11是旁路超高速缓冲存储器子例程的代理的流程图。
图12是一个根据指示域内某一资源的位置的信息选择超高速缓冲存储器的代理的流程图。
图13是旁路超高速缓冲存储器子例程并选择超高速缓冲存储器的代理指令的流程图。
图14是确定是否旁路超高速缓冲存储器子例程的代理指令的流程图。
附图中,相同的附图标记表示相同的部件。详细说明
参见图10,代理174使用多个超高速缓冲存储器126存储服务器响应。如图所示,超高速缓冲存储器126和超高速缓冲存储器子例程125包含在超高速缓冲存储器代理124、138、140、141中。由于代理174和超高速缓冲存储器代理124、138、140、141之间的通信可遵守HTTP标准,把超高速缓冲存储器124及其相关的子例程125封装在超高速缓冲存储器代理中,向程序设计员提供一种把超高速缓冲存储器子例程集成到现有处理中的简单方法。但是,并不是必须要求超高速缓冲存储器代理执行超高速缓冲存储器子例程(例如,搜索、读取、或写入超高速缓冲存储器信息的指令)。例如,单个单片代理可在不使用独立的超高速缓冲存储器代理的情况下,管理不同的超高速缓冲存储器。
虽然超高速缓冲存储器可降低产生关于给定请求的响应所需的时间,但是,使用超高速缓冲存储器并不是无代价的。例如,关于特定的请求搜索超高速缓冲存储器是费时的。当这种搜索不成功时,超高速缓冲存储器的使用实际上增大了处理请求所需的时间。在许多情况下,不成功地搜索超高速缓冲存储器及存储服务器随后的响应所花的额外时间由处理以后的请求所节约的时间来调整。但是,如同将要讨论的那样,情况并不总是这样。
如图10中所示,代理174包括根据接收的请求,确定是否旁路超高速缓冲存储器子例程125的指令176。有条件地使用超高速缓冲存储器子例程125,使得代理174能够识别出超高速缓冲存储器子例程125可能减慢当前请求的处理、而不会补偿性地减少处理后续请求所需的时间的情况。例如,请求的属性可指出超高速缓冲存储器不可能已存储有相应的响应。请求的属性还可指出由服务器提供的任何响应不可能被加入超高速缓冲存储器中,供未来之需。在这种情况下,执行超高速缓冲存储器子例程125既不提供短期访问时间减少,也不提供长期访问时间减少。由于这种费效(cost-benifit)分析的结果,超高速缓冲存储器子例程的有条件使用,使得代理能够提供超高速缓冲存储器子例程的好处,而不必受到超高速缓冲存储器子例程的可能的低效率的影响。
参见图11,当接收请求时,代理174的指令176根据该请求,确定是否旁路超高速缓冲存储器子例程。如果代理174确定不使用超高速缓冲存储器子例程125,则代理174把请求发送给服务器104。旁路超高速缓冲存储器124、138、140、141免去了搜索超高速缓冲存储器,并把响应存储在超高速缓冲存储器数据库中所需的时间。
旁路超高速缓冲存储器代理124、138、140、141还减少了处理请求的代理(agent)的数目。这消除了否则会由处理请求的超高速缓冲存储器代理所增加的计算开销。例如,每个代理(agent)一般分析接收的请求,以便提取信息。虽然在概念上,分析是简明易懂的,但是如果请求较大和/或包括长度可变的数据,则分析的计算量很大。从而,消除超高速缓冲存储器代理124、138、140、141执行的分析,可意想不到地大大降低访问时间。
参见图12,如果代理174的指令176决定使用超高速缓冲存储器子例程,则代理174把请求发送给超高速缓冲存储器代理124、138、140、141。代理174至少部分根据包括在识别域内资源的位置的请求的URI中的信息(117,118)(图2),选择超高速缓冲存储器。例如,代理174可根据资源位置(例如“directory/subdirectory/a.html”)或在URI域(例如“www.domain.com/directory/subdirectory/a.html”)之外再加上资源位置,选择超高速缓冲存储器。例如,代理174可实现把完整的URI转换为数字的散列函数。例如,散列函数可加和URI中所有字符的ASCII(美国信息交换用标准代码)值,并除以超高速缓冲存储器的数目,进行模运算。据认为,对1和某一素数之间的某一数值进行散列可产生数值的均匀分布。从而,包括素数数目的超高速缓冲存储器的系统可在所述超高速缓冲存储器之间均匀分配响应。可简单地使用其它超高速缓冲存储器子例程,而不是上面描述的样本子例程。另外,在并不使用素数数目的超高速缓冲存储器的系统中,可使用上述散列及其它散列。
根据散列函数的结果,代理指令可选择超高速缓冲存储器。例如,如果“www.c.com/a”的散列得到“0”,并且某一因特网服务提供商具有四个超高速缓冲存储器代理,则代理174可把该请求发送给超高速缓冲存储器代理#0 124。
根据指出域内资源的位置的信息选择超高速缓冲存储器,可在多个超高速缓冲存储器124、138、140、141间分配由服务器104提供的不同资源。例如,由“www.a.com”提供的资源“a”和“b”分别被超高速缓冲存储器代理140和138超高速缓存。由于少数域接收绝大多数的请求(例如“www.NewYorkTimes.com”),在多个超高速缓冲存储器内分摊这些服务器提供的资源,能够更有效地使用超高速缓冲存储器,因为每个超高速缓冲存储器读取和写入数目基本相同的请求和响应。从而,散列方案强制实现负载均衡,不存在任何超高速缓冲存储器因请求而过载,而其它超高速缓冲存储器未被充分利用。
另外参见图13,在代理接收请求(步骤142)之后,代理指令176确定是否旁路超高速缓冲存储器子例程125(步骤178)。如果代理指令176确定旁路超高速缓冲存储器子例程125,则代理把该请求发送给服务器,并等待服务器的响应,以便稍后把该响应传回客户机(步骤184)。
如果代理指令176确定不旁路超高速缓冲存储器子例程125,则代理指令176根据包含在该请求的URI中的资源信息,选择一个超高速缓冲存储器(步骤180)。代理指令176把该请求发送给选择的超高速缓冲存储器(步骤182)。当由代理174实现旁路和选择指令时,超高速缓冲存储器代理124、138、140、141不必被改变。从而,对于超高速缓冲存储器代理来说,超高速缓冲存储器旁路和选择机制是清楚明白的。这使得管理人员能够在进行最少的重构的情况下,把旁路和超高速缓冲存储器选择技术集成到现有的代理网络中。
参见图14,代理174可通过检查接收的请求的属性,确定是否旁路超高速缓冲存储器子例程。例如,HTTP请求可把其自身识别为“POST”或“GET”请求。“POST”请求把例如用户在网页表单上输入的信息之类的数据“告知”(即发送给)服务器。“GET”请求“获得”由URI识别的资源(例如“GET www.domain.com/a.html”)。“GET”请求可包括供服务器处理的参数。这种“GET”请求包括跟在“?”分界符之后的信息。例如,“GET www.a.com/cgi-bin/ProcessName.cgi?Name=JohnDoe” 以参数的形式发送“Name=JohnDoe”。
HTTP规范规定绝对不能对“POST”和包括参数的“GET”请求的响应进行超高速缓存。这可防止用户接收不正确的信息。例如,如果第一个POST请求包括由用户输入小器具定单中的数据,服务器的响应“感谢你的定单”不应被超高速缓存。如果这种响应被超高速缓存,则用户的第二个小器具定单不能到达服务器,但是仍然导致“感谢你的定单”的超高速缓存响应。
从而,既不能通过访问超高速缓冲存储器,满足这些请求,关于这些请求的响应也不能加入保存在超高速缓冲存储器中的信息中。通过根据请求是POST请求(步骤186)还是包括参数的GET请求(步骤188),一次确定是否旁路超高速缓冲存储器子例程125,代理174可减少服务某一请求所需的时间。
管理人员可根据其它请求信息,选择旁路超高速缓冲存储器子例程。例如,由于CGI(公共网关接口)脚本响应通常很快期满,并且对于相同的请求,经常产生不同的响应,因此对于在请求的URI中包括字母“cgi”的请求,管理人员可选择旁路超高速缓冲存储器子例程。
这里描述的方法和技术可实现为数字电路,或者计算机硬件,固件,软件,或者它们的组合。体现这些技术的设备可包括适当的输入和输出装置,计算机处理器及确实包含在机器可读存储装置中,以便被可编程处理器执行的计算机程序产品。可由通过处理输入数据并产生适当的输出,从而执行程序指令,以便实现所需功能的可编程处理器实现体现这些技术的过程。借助可在可编程系统上执行的一个或多个计算机程序,可有利地实现这些技术,所述可编程系统包括至少一个可编程处理器,耦接用于从数据存储系统接收数据和指令,并把数据和指令传输给数据存储系统,至少一个输入装置,以及至少一个输出装置。可用高级程序或面向对象的编程语言,或者如果需要,可用汇编或机器语言实现各个计算机程序;并且在任何情况下,该语言可以是编译或解释性语言。适当的处理器包括,例如通用微处理器和专用微处理器。一般说来,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适于明确包含计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,例如包括诸如EPROM、EEPROM及快速存储器器件之类的半导体存储器器件;诸如内部硬盘和可分离的磁盘之类的磁盘;磁光盘;及CD-ROM盘。所有这些可由专门设计的ASIC(专用集成电路)补充,或者被结合到专门设计的ASIC中。
上面描述了本发明的多个实施例。但是,应明白在不脱离本发明的精神和范围的情况下,可做出各种修改。例如,子例程和组件的分布不比如附图中所示,相反可分布在任意数目的计算机或网络中。另外,虽然我们使用了客户机和服务器的术语,但是任意指定程序能够起客户机或服务器的作用;我们使用这些术语仅仅指的是对于特定连接,由所述程序扮演的角色,而不是广义的程序能力。因此,其它实施例在下述权利要求的范围之内。
Claims (27)
1.一种选择存储从至少一个网站接收的信息的多个超高速缓冲存储器之一的方法,所述方法包括:
接收识别域内资源的位置的信息;
根据所述识别域内资源的位置的信息,选择超高速缓冲存储器。
2.按照权利要求1所述的方法,其中根据所述信息选择超高速缓冲存储器包括至少部分根据所述识别域内资源的位置的信息,选择超高速缓冲存储器。
3.按照权利要求1所述的方法,其中接收信息包括接收请求。
4.按照权利要求3所述的方法,其中接收请求包括接收HTTP(超文本传送协议)请求。
5.按照权利要求1所述的方法,其中所述识别资源的位置的信息包括包含在URI(统一资源指示符)中的信息。
6.按照权利要求5所述的方法,其中所述URI包括URL(统一资源定位符)。
7.按照权利要求1所述的方法,还包括除了根据域内资源的位置之外,还根据资源的域,选择超高速缓冲存储器。
8.按照权利要求1所述的方法,其中选择超高速缓冲存储器包括进行散列。
9.按照权利要求8所述的方法,其中进行散列包括将字符的ASCII(美国信息交换用标准代码)值相加。
10.按照权利要求1所述的方法,其中选择超高速缓冲存储器包括选择超高速缓冲存储器代理。
11.按照权利要求10所述的方法,还包括把请求发送给选择的超高速缓冲存储器代理。
12.按照权利要求1所述的方法,其中识别域内资源的位置的信息包含至少一个目录。
13.按照权利要求1所述的方法,其中识别域内资源的位置的信息包含一个文件名。
14.按照权利要求1所述的方法,其中识别资源的位置的信息包含一个或多个目录及一个文件名。
15.一种选择存储从网站接收的信息的若干超高速缓冲存储器之一的方法,所述方法包括:
接收识别资源的位置的信息,所述信息是利用包括对应于不同层级的标识符的层次位置方案表述的;及
根据对应于一个以上层级的信息标识符,选择超高速缓冲存储器。
16.按照权利要求15所述的方法,其中第一层级包括域,第二层级包括域内资源的位置。
17.一种选择存储从网站接收的信息的若干超高速缓冲存储器之一的方法,所述方法包括:
接收包括资源的URI(统一资源指示符)的信息;和
根据整个URI,选择超高速缓冲存储器。
18.一种选择存储从至少一个网站接收的信息的若干超高速缓冲存储器之一的方法,所述方法包括:
接收包括识别域内资源的位置的URI(统一资源指示符)的HTTP(超文本传送协议)请求;
通过散列URI域和识别域内资源的位置的URI信息,选择超高速缓冲存储器代理;及
把请求发送给选择的超高速缓冲存储器代理。
19.一种布置在计算机可读介质上,用于选择存储从至少一个网站接收的信息的若干超高速缓冲存储器之一的计算机程序产品,所述计算机程序产品包括指令,这些指令使处理器:
接收识别域内资源的位置的信息;和
根据识别域内资源的位置的信息,选择超高速缓冲存储器。
20.按照权利要求19所述的计算机程序产品,其中使处理器根据所述信息,选择超高速缓冲存储器的指令包括使处理器至少部分根据所述信息,选择超高速缓冲存储器的指令。
21.按照权利要求19所述的计算机程序产品,其中使处理器接收信息的指令包括使处理器接收请求的指令。
22.按照权利要求19所述的计算机程序产品,其中识别资源位置的信息包括包含在URI(统一资源指示符)中的信息。
23.按照权利要求19所述的计算机程序产品,还包括使处理器除了根据域内资源的位置,还根据所述资源的域,选择超高速缓冲存储器的指令。
24.按照权利要求19所述的计算机程序产品,其中使处理器选择超高速缓冲存储器的指令包括使处理器执行散列的指令。
25.按照权利要求19所述的计算机程序产品,其中使处理器选择超高速缓冲存储器的指令包括使处理器选择超高速缓冲存储器代理的指令。
26.按照权利要求19所述的计算机程序产品,还包括使处理器把请求发送给选择的超高速缓冲存储器代理的指令。
27.一种处理关于网络服务器所提供信息的请求的系统,所述系统包括:
若干超高速缓冲存储器代理;和
前端代理,所述前端代理包括指令,这些指令使前端代理处理器:
接收识别域内资源的位置的信息;和
根据识别域内资源的位置的信息,选择超高速缓冲存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/282,806 US6701415B1 (en) | 1999-03-31 | 1999-03-31 | Selecting a cache for a request for information |
US09/282,806 | 1999-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1352775A true CN1352775A (zh) | 2002-06-05 |
Family
ID=23083196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00807558A Pending CN1352775A (zh) | 1999-03-31 | 2000-03-30 | 选择超高速缓冲存储器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6701415B1 (zh) |
EP (1) | EP1171835A2 (zh) |
JP (1) | JP2002540533A (zh) |
CN (1) | CN1352775A (zh) |
AU (1) | AU772598B2 (zh) |
CA (1) | CA2369613A1 (zh) |
WO (1) | WO2000058871A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741877B (zh) * | 2008-11-27 | 2013-01-23 | 华为技术有限公司 | 媒体资源的操作方法、系统和设备 |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397197B1 (en) * | 1998-08-26 | 2002-05-28 | E-Lynxx Corporation | Apparatus and method for obtaining lowest bid from information product vendors |
US6912586B1 (en) * | 1999-11-12 | 2005-06-28 | International Business Machines Corporation | Apparatus for journaling during software deployment and method therefor |
US6823377B1 (en) | 2000-01-28 | 2004-11-23 | International Business Machines Corporation | Arrangements and methods for latency-sensitive hashing for collaborative web caching |
US6947977B1 (en) * | 2000-06-09 | 2005-09-20 | Metadigm Llc | Scalable transaction system for a network environment |
US20010056476A1 (en) * | 2000-06-20 | 2001-12-27 | International Business Machines Corporation | System and method for accessing a server connected to an IP network through a non-permanent connection |
US7571217B1 (en) * | 2000-08-16 | 2009-08-04 | Parallel Networks, Llc | Method and system for uniform resource locator transformation |
US6609126B1 (en) | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
EP1346289A1 (en) * | 2000-11-30 | 2003-09-24 | Appfluent Technology, Inc. | System and method for delivering dynamic content |
FR2818853B1 (fr) * | 2000-12-26 | 2004-04-23 | Matra Nortel Communications | Serveur d'annuaire reparti |
US7085833B2 (en) * | 2001-01-17 | 2006-08-01 | Microsoft Corporation | Caching user network access information within a network |
US7555561B2 (en) * | 2001-03-19 | 2009-06-30 | The Aerospace Corporation | Cooperative adaptive web caching routing and forwarding web content data broadcasting method |
US7899911B2 (en) * | 2001-06-07 | 2011-03-01 | Intel Corporation | Method and apparatus to retrieve information in a network |
US8041814B2 (en) * | 2001-06-28 | 2011-10-18 | International Business Machines Corporation | Method, system and computer program product for hierarchical load balancing |
US7546363B2 (en) * | 2001-07-06 | 2009-06-09 | Intel Corporation | Adaptive route determination for peer-to-peer services |
US7562112B2 (en) * | 2001-07-06 | 2009-07-14 | Intel Corporation | Method and apparatus for peer-to-peer services for efficient transfer of information between networks |
US7440994B2 (en) * | 2001-07-06 | 2008-10-21 | Intel Corporation | Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list |
US7444393B2 (en) | 2001-10-30 | 2008-10-28 | Keicy K. Chung | Read-only storage device having network interface, a system including the device, and a method of distributing files over a network |
US20030105807A1 (en) * | 2001-11-30 | 2003-06-05 | Aerocast.Com, Inc. | URL munging |
US7016883B2 (en) * | 2002-04-23 | 2006-03-21 | Sprint Communications Company L.P. | Reverse caching for residential end-users to reduce usage of access links to a core communication network |
US7640347B1 (en) * | 2002-05-02 | 2009-12-29 | F5 Networks, Inc. | Method and system for inserting POST data into the GET request to apply normal caching rules |
US8554929B1 (en) * | 2002-05-03 | 2013-10-08 | Foundry Networks, Llc | Connection rate limiting for server load balancing and transparent cache switching |
US7707295B1 (en) | 2002-05-03 | 2010-04-27 | Foundry Networks, Inc. | Connection rate limiting |
US8819252B1 (en) | 2002-05-03 | 2014-08-26 | Foundry Networks, Llc | Transaction rate limiting |
US6922754B2 (en) * | 2002-12-09 | 2005-07-26 | Infabric Technologies, Inc. | Data-aware data flow manager |
US7523171B2 (en) | 2003-09-09 | 2009-04-21 | International Business Machines Corporation | Multidimensional hashed tree based URL matching engine using progressive hashing |
US7882546B2 (en) * | 2004-03-04 | 2011-02-01 | International Business Machines Corporation | Controlling access of a client system to an access protected remote resource |
US20060020660A1 (en) | 2004-07-20 | 2006-01-26 | Vishwa Prasad | Proxy and cache architecture for document storage |
US20070133520A1 (en) * | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Dynamically adapting peer groups |
US7613703B2 (en) * | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
US7640299B2 (en) * | 2004-09-30 | 2009-12-29 | Microsoft Corporation | Optimizing communication using scaleable peer groups |
US8549180B2 (en) * | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
US20060143675A1 (en) * | 2004-12-17 | 2006-06-29 | Daniel Willis | Proxy advertisement server and method |
US7752625B2 (en) * | 2005-06-17 | 2010-07-06 | International Business Machines Corporation | Caching resources requested by applications |
JP4295815B2 (ja) * | 2006-03-24 | 2009-07-15 | 富士通株式会社 | マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法 |
DE102007043657B4 (de) * | 2007-09-13 | 2009-06-18 | Siemens Ag | Satellitenübergreifende Speicherorganisation für medizinische Bilddaten |
US8121117B1 (en) | 2007-10-01 | 2012-02-21 | F5 Networks, Inc. | Application layer network traffic prioritization |
US8769185B2 (en) | 2007-10-23 | 2014-07-01 | Keicy Chung | Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface |
JP4687758B2 (ja) * | 2008-08-08 | 2011-05-25 | 株式会社日立製作所 | 輻輳制御方法 |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8806056B1 (en) | 2009-11-20 | 2014-08-12 | F5 Networks, Inc. | Method for optimizing remote file saves in a failsafe way |
US8738608B2 (en) * | 2010-04-06 | 2014-05-27 | Justone Database, Inc. | Apparatus, systems and methods for data storage and/or retrieval based on a database model-agnostic, schema-agnostic and workload-agnostic data storage and access models |
US9503375B1 (en) | 2010-06-30 | 2016-11-22 | F5 Networks, Inc. | Methods for managing traffic in a multi-service environment and devices thereof |
US9420049B1 (en) | 2010-06-30 | 2016-08-16 | F5 Networks, Inc. | Client side human user indicator |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US8838678B1 (en) * | 2010-08-06 | 2014-09-16 | Zappos Ip, Inc. | Dynamic cascading for network sites |
US8879431B2 (en) | 2011-05-16 | 2014-11-04 | F5 Networks, Inc. | Method for load balancing of requests' processing of diameter servers |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US9244843B1 (en) | 2012-02-20 | 2016-01-26 | F5 Networks, Inc. | Methods for improving flow cache bandwidth utilization and devices thereof |
EP2853074B1 (en) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Methods for optimizing service of content requests and devices thereof |
US10033837B1 (en) | 2012-09-29 | 2018-07-24 | F5 Networks, Inc. | System and method for utilizing a data reducing module for dictionary compression of encoded data |
US9578090B1 (en) | 2012-11-07 | 2017-02-21 | F5 Networks, Inc. | Methods for provisioning application delivery service and devices thereof |
US9141669B2 (en) * | 2013-01-22 | 2015-09-22 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9497614B1 (en) | 2013-02-28 | 2016-11-15 | F5 Networks, Inc. | National traffic steering device for a better control of a specific wireless/LTE network |
US20150134502A1 (en) * | 2013-11-13 | 2015-05-14 | Bank Of America Corporation | Method and System for Aggregating Company Information |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
WO2016183539A1 (en) | 2015-05-14 | 2016-11-17 | Walleye Software, LLC | Data partitioning and ordering |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US10241965B1 (en) | 2017-08-24 | 2019-03-26 | Deephaven Data Labs Llc | Computer data distribution architecture connecting an update propagation graph through multiple remote query processors |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542087A (en) | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
US5754844A (en) * | 1995-12-14 | 1998-05-19 | Sun Microsystems, Inc. | Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location |
US5864852A (en) | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US6134583A (en) * | 1996-07-01 | 2000-10-17 | Sun Microsystems, Inc. | Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16) |
US6282581B1 (en) * | 1997-03-27 | 2001-08-28 | Hewlett-Packard Company | Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment |
US6189046B1 (en) * | 1997-03-27 | 2001-02-13 | Hewlett-Packard Company | Mechanism and method for merging cached location information in a distributed object environment |
US5933849A (en) | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US6167438A (en) | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6038601A (en) * | 1997-07-21 | 2000-03-14 | Tibco, Inc. | Method and apparatus for storing and delivering documents on the internet |
US6070191A (en) | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US6205481B1 (en) | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6112279A (en) * | 1998-03-31 | 2000-08-29 | Lucent Technologies, Inc. | Virtual web caching system |
US6128623A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | High performance object cache |
US6128627A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US6212565B1 (en) * | 1998-08-26 | 2001-04-03 | Sun Microsystems, Inc. | Apparatus and method for improving performance of proxy server arrays that use persistent connections |
US6338117B1 (en) | 1998-08-28 | 2002-01-08 | International Business Machines Corporation | System and method for coordinated hierarchical caching and cache replacement |
US6351767B1 (en) | 1999-01-25 | 2002-02-26 | International Business Machines Corporation | Method and system for automatically caching dynamic content based on a cacheability determination |
US6314465B1 (en) | 1999-03-11 | 2001-11-06 | Lucent Technologies Inc. | Method and apparatus for load sharing on a wide area network |
-
1999
- 1999-03-31 US US09/282,806 patent/US6701415B1/en not_active Expired - Lifetime
-
2000
- 2000-03-30 WO PCT/US2000/008346 patent/WO2000058871A2/en not_active Application Discontinuation
- 2000-03-30 CA CA002369613A patent/CA2369613A1/en not_active Abandoned
- 2000-03-30 JP JP2000608294A patent/JP2002540533A/ja active Pending
- 2000-03-30 AU AU40448/00A patent/AU772598B2/en not_active Expired
- 2000-03-30 CN CN00807558A patent/CN1352775A/zh active Pending
- 2000-03-30 EP EP00919827A patent/EP1171835A2/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741877B (zh) * | 2008-11-27 | 2013-01-23 | 华为技术有限公司 | 媒体资源的操作方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
US6701415B1 (en) | 2004-03-02 |
WO2000058871A3 (en) | 2001-05-10 |
WO2000058871A2 (en) | 2000-10-05 |
JP2002540533A (ja) | 2002-11-26 |
EP1171835A2 (en) | 2002-01-16 |
CA2369613A1 (en) | 2000-10-05 |
AU4044800A (en) | 2000-10-16 |
AU772598B2 (en) | 2004-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1352775A (zh) | 选择超高速缓冲存储器 | |
CN1351729A (zh) | 处理关于网站所提供信息的请求 | |
US6212565B1 (en) | Apparatus and method for improving performance of proxy server arrays that use persistent connections | |
US7310687B2 (en) | Methods and systems for managing class-based condensation | |
CN1221898C (zh) | 刷新网络代理高速缓存服务器对象的系统和方法 | |
US8825754B2 (en) | Prioritized preloading of documents to client | |
CN1170236C (zh) | 在客户机与服务器之间控制通信的方法和设备 | |
US7437364B1 (en) | System and method of accessing a document efficiently through multi-tier web caching | |
US9380022B2 (en) | System and method for managing content variations in a content deliver cache | |
US7565423B1 (en) | System and method of accessing a document efficiently through multi-tier web caching | |
CN1620012A (zh) | 更新/重装在网络上浏览过的页面内容的方法和系统 | |
US20030093400A1 (en) | Method for updating a database from a browser | |
CN102855334B (zh) | 一种浏览器及其获取dns解析数据的方法 | |
CN1259704A (zh) | 可扩缩的超高速缓存 | |
CN1234086C (zh) | 用于高速缓存文件信息的系统和方法 | |
CN102402558A (zh) | 一种提供包含网页地址的消息的方法和系统 | |
CN101046806A (zh) | 搜索引擎系统和方法 | |
US20040019636A1 (en) | System and method for dynamically routing web procedure calls | |
CN1960371A (zh) | 一种访问Web应用程序文件的方法及系统 | |
CN101228525A (zh) | 改进的搜索引擎覆盖 | |
US20020107986A1 (en) | Methods and systems for replacing data transmission request expressions | |
US7047483B1 (en) | Computer implemented method and apparatus for providing a logical point of access to one or more files | |
NO20013308L (no) | Apparat for söking på Internett | |
CN102902787B (zh) | 一种浏览器及其获取dns解析数据的方法 | |
CN115270025A (zh) | 一种基于预渲染实现网站访问加速的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |