CN1339747A - 用于高速缓存文件信息的系统和方法 - Google Patents

用于高速缓存文件信息的系统和方法 Download PDF

Info

Publication number
CN1339747A
CN1339747A CN01125591A CN01125591A CN1339747A CN 1339747 A CN1339747 A CN 1339747A CN 01125591 A CN01125591 A CN 01125591A CN 01125591 A CN01125591 A CN 01125591A CN 1339747 A CN1339747 A CN 1339747A
Authority
CN
China
Prior art keywords
static
file
speed cache
dynamic
describing
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.)
Granted
Application number
CN01125591A
Other languages
English (en)
Other versions
CN1234086C (zh
Inventor
詹姆斯·C·科尔森
斯特凡·G·希尔德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1339747A publication Critical patent/CN1339747A/zh
Application granted granted Critical
Publication of CN1234086C publication Critical patent/CN1234086C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一个系统和方法,用于区分动态和静态文件部分。用特殊的标记来标识在一电子文件内的动态和静态部分。静态部分不象动态部分那样频繁地从源服务器得到更新。静态和动态部分被高速缓存到存储区中。在一个实施例中,静态和动态区二者都被高速缓存到非易失存储器位置中。在另一实施例中,静态部分被高速缓存到非易失存储位置,而动态部分被高速缓存到随机存取存储器中。这样,该文件的各部分是可以更新的而无需检索整个电子文件。当用户请求一个电子文件时,对静态和动态部分都检验高速缓存。未陈旧的部分被从高速缓存中检索,而陈旧的部分要从源服务器检索。

Description

用于高速缓存文件信息的系统和方法
技术领域
一般地说,本发明涉及高速缓存文件信息的方法和系统。更具体地说,本发明涉及高速缓存通过网络提供给用户的那些文件的动态和静态部分的一种改进的方法和系统。
背景技术
一般而言的计算机系统,特别是与国际商用机器公司(IBM)兼容的个人计算机系统已得到广泛的应用,用于向当今的现代社会的许多方面提供计算机能力。带有微处理器的系统发现它们自身处在由较小的和更专门化的对象构成的阵列之中,这些对象先前大多未曾被计算机技术接触过。这些设备有时被称作“普及计算系统(Pervasive ComputingSystem)”因为它们的出现既包括传统的计算机化设备,如台式计算机、塔式计算机、和便携式计算机,也包括新的被计算机化的设备,如电话、仪器、汽车以及其他设备。普及计算设备通常包括系统处理器及相关联的易失和非易失存储器、一个显示区、输入装置,还往往带有到其他计算设备的接口,如网络接口或调制解调器。
这些系统的显著特征之一是使用系统板把这些组件电连接在一起。这些普及计算装置是这样一些信息处理系统,它们被设计成主要用于向单个用户给予独立的计算能力,或者在普及计算设备连网情况中向一组用户给予独立的计算能力。普及计算设备往往价格不贵,适于个人或公司购买。普及计算设备还可以包括一个或多个I/O设备(即外围设备),它们与系统处理器相连以完成专门的功能。I/O设备的例子包括调制解调器、音频和视频设备或专门的通信装置。非易失存储设备,如硬盘、CD-ROM驱动器和磁光驱动器也被认为是外围设备。普及计算装置往往使用网络,如局域网(LAN)、广域网(WAN)或如因特网的其他类型网络链接到计算系统和其他普及计算设备。通过链接到包括普及计算设备在内的计算机,一个普及计算设备能使用为另一计算设备所有的资源。这些资源可以包括存储在非易失存储设备上的文件和如打印机等资源。
服务器向通过网络与该服务器链接的客户计算机,如普及计算设备,提供信息。从服务器接收文件的客户计算机往往把文件存储在高速缓存中。这高速缓存通常是储存在附属于该客户计算机系统的非易失存储器上。一个Web(万维网)高速缓存位于Web服务器(或源服务器)与一个客户机或许多客户机之间,并关注到来的HTML页面、图像和文件(统称为对象)请求,把一个副本储存在高速缓存中。然后,如果有另一个请求要请求这同一对象,它将使用它具有的该副本,而不再向源服务器请求它。
使用Web高速缓存有两个主要理由:第一,为减小延迟—因为该请求从高速缓存(它更接近客户机)而不是从源或Web服务器得到满足,因而该客户机得到该对象并显示它所花时间较少。这使Web站点显得响应更快。使用Web高速缓存的第二个理由是减少流量—因为每个对象只从服务器得到一次,它减小了由客户机使用的带宽量。如果客户机要按流量付钱的话,这会省钱,并保持它们的带宽需求更低和更可管理。
Web高速缓存有两种基本类型—与客户计算机的因特网浏览器一起操作的浏览器高速缓存和对代理服务器处而不是在客户计算机处的信息进行高速缓存的代理高速缓存。许多流行的因特网浏览器,包括NetscopeNavigatorTM和Microsoft Internet ExplorerTM,都提供浏器高速缓存。这些浏览器包括若干选择,允许使用者调节浏览器高速缓存设置。这允许用户预留一部分客户计算机非易失存储设备用于存储已从Web服务器向该客户计算机传送的文件。因为这一高速缓存是存储在该客户计算机的非易失存储装置上,故高速缓存的内容对这特定客户计算机的使用者是可用的。浏览器高速缓存通过确定各个文件已在高速缓存中的时间长度来进行检验,以保证高速缓存的文件是“新鲜的”。老的文件被认为是陈旧的了,因而从浏览器高速缓存中去掉,而较新的文件被保留以允许浏览器从浏览器高速缓存中取得文件而不是从源服务器中提取。当一客户计算机的使用者选择浏览器中的“退回(back)”铵钮回到他们已看过的Web页面时,这个浏览器高速缓存通常是有用的。
代理高速缓存的工作原理与浏览器高速缓存相同,但规模大得多。代理服务器以同样方式服务于数百个或数千个用户;大的公司或ISP(因特网服务提供商)往往把它们设在他们的防火墙上。因为代理高速缓存通常有大量用户,所以它们在减小延迟和流量方面很好。延迟和流量被减小,是因为流行的对象只被请求一次,并可服务于大量的客户机。大多数代理高速缓存为希望减少所用因特网带宽量的大公司或ISP所采用。因为高速缓存被大量用户共享,故存在大量被共享的命中目标(即被大量客户计算机请求的对象)。50%有效或更高的命中率是很普通的。代理高速缓存是共享高速缓存的一种,不象浏览高速缓存那样只能由特定客户计算机的使用者得到。
程序员把数据或“标记”插入他们的文件中,以控制特定文件的新鲜程度。超文本标记语言(HTML)标记和超文本传输协议(HTTP)头段是用于控制该客户计算机从一高速缓存还是从Web服务器提取一特定Web页面的两种方法。
HTML作者可把标记放到文件的<HEAD(头)>部分,它描述该文件的属性。这些Meta标记(Metatag)常用于把一文件标记为不可高速缓存的或在某一时刻使其过期。作者可能希望把一文件标记为不可高速缓存的,因为它含有动态数据。例如,含有股票报价的文件可能被认为是动态的和不可高速缓存的。因为一天里投票报价是在变化的。
元标记通常只受浏览器高速缓存(它实际地读HTML)的重视,却不受代理高速缓存(它几乎从来不读文件中的HTML)的重视。所以,在文件上放置的“不高速缓存”元标记不一定会使它保持新鲜,如果它通过一个共享的或代理的高速缓存的话。
真正的HTTP头段提供对浏览器高速缓存和代理二者如何处理文件的控制。它们通常由Web服务器自动产生。HTTP头段是在HTML之前由服务器发送的,而且只能由浏览器以及任何中间高速缓存看见。典型的HTTP1.1版响应头段可能有如下的样子:
HTTP/1.1 200 OK
Date(日期):Fri,30 Oct 1998 13:19:41 GMT
Setver(服务器):Apache/1.3.3(Unix)
Cache-Control(高速缓存控制):max-age=3600,must-revalidate(必须重新确认)
Expires(期满):Sun,09 Jul 2000 14:19:41 GMT
Last-Modiried(最近一次修改):Fri,07 Jul 2000 02:28:12GMT
Etag(电子标记):“3e 86-410-3596fbbc”
Content-Length(内容长度):1040
CONTENT-Type(内容类型):text/html
HTML文件将跟随这些头段,用一个空行分开。
在先有技术中,Expires(期满)HTTP头段是控制高速缓存的基本手段。Expires(期满)HTTP头段向所有高速缓存通告一文件的新鲜期;在那一时间之后,高速缓存将回过来检验源服务器看一个文件是否被改变。
大多数Web服务器允许你以多种方式设置Expires(期满)响应头段。通常,它们将允许设置期满的绝对时间,这是基于客户最后一次看见该对象的时间(最后访问时间),或者是基于在你的服务器上该文件最后一次被改变的时间(最后修改时间)。
为使静态页面成为可高速缓存的,Expires(期满)头段是特别好的。因为静态页面不经常改变,故可以设置长的期满时间。高速缓存的文件使一个Web站点看起来响应更快,因为较少的数据需要从源服务器提取。高速缓存期满头段在高速缓存定期改变的文件方面也有用。例如,如果一个股票新闻页面每天在上午6时更新一次,则该文件可设置在那个时候期满,于是高速缓存将知道何时去得到新鲜的副本,不需要使用者从他们的浏览器去点击“reload(重新加载)”
对上面描述的当前Web高速缓存方法的一个挑战是整个文件都被标记为可高速缓存的或不可高速缓存的。常常是只有给定文件的若干部分是动态的,因而是不可高速缓存的。例如,在列举道琼斯30种工业股票价格的股票页面中,30种股票的名字保持不变,只有股票价格频繁改变。当一文件中的任何数据是动态的时候,该文件的作者通常把整个文件标记为不可高速缓存的,即使该文件中只有比例很小的一部分是动态的。
再一个挑战是设定控制一文件是否新鲜的有效期也是用于整个文件,而不是该文件一些部分。例如,如果一个文件包括道琼斯30种工业股票价格和与构成道(Dow)工业的公司有关的新闻,其股票价格相信会在几分钟之后(或者在实时股票服务站点甚至在几秒钟之后)便会期满。另一方面,关于相应公司的新闻相信会在长得多的时间内保持新鲜,或许几小时,或者甚至几天。然而,先有技术对整个文件设置新鲜性限制,而不是对该文件的一些部分设置。
所以,所需要的是把文件的一些部分标记为动态的方法。此外,还需要对文件的一些部分而不是整个文件设置有效期的方法。
发明内容
已经发现,提供文件部分标记能使文件的一些部分被作为静态部分对待,将其副本存储在高速缓存中较长一段时间,而使该文件的另一些部分能被作为动态部分对待,使其更频繁地从源(或Web)服务器提取。
附加的文件部分标记允许文件创建者对文件的各部分细调其新鲜期,从而使一些部分比其他部分更频繁地从Web服务器得到刷新。在传统上会被认为是动态的因而是不可高速缓存的那些文件现在包括较大的静态部分,这些部分能由代理服务器或客户计算机系统高速缓存。把有效期标记放在各个动态部分上,这允许把某些部分看作比其他部分更具有动态性,从而提高这些动态部分的刷新频度。
利用文件部分标记的Web服务器提高了效率和吞吐量。首先,文件的静态文件区不那么频繁地发送到客户计算机,因为客户机能从客户机浏览器高速缓存或从代理服务器高速缓存提取静态部分。第二,动态文件部分的大小比传统的动态文件要小,因而在动态数据刷新过程中由Web服务器收集和向客户计算机发送的数据量较小。第三,动态性较差的部分,如股票新闻文章,不象股票价格之类动态性较强的部分那样被频繁发送。于是,Web服务器需要发送的数据比在先有技术中少,所以看起来响应能力更强,并能同时向更多的用户提供内容。
前述是一个概要,因而必定是简化的和一般化的,略去了细节;因此,本领域技术人员将会理解,本概要只是说明性的,而不是想作为任何限制。从下面阐述的非限定性详细描述中将清楚看出只由权利要求规定的本发明的其他方面、发明特点及优点。
附图说明
通过参考附图,本领域技术人员将更好地理解本发明并清楚地看出其多个目的、特点和优点。在不同附图中使用相同的参考符号,用以指出相似或相同的项目。
图1是通过计算机网络向客户计算机提供静态和动态信息的服务器计算机的方框图;
图2是具有静态和动态部分的示例的Web页文件;
图3显示示例的HTML代码,用于把文件的一个部分指定为动态的;
图4是一个方框图,显示文件内容被推送(push)和被一普及计算设备请求并存储到一高速缓存区中;
图5是一个方框图,显示文件内容被推送和被一普及计算设备请求并根据该数据为静态或动态存储在两个高速缓存区中;
图6示一个流程图,显示根据在高速缓存中的文件部分的年龄,数据被从一个高速缓存检索,以及部分被从服务器请求;以及
图7是能实现本发明的信息处理系统的方框图。
具体实施方式
下面要提供本发明一个例子的详细描述,而不应取作对发明本身的限定。相反,任何数量的修改都可以落入本描述之后的权利要求中所规定的发明范围之内。
图1显示服务器计算机系统100,它向代理服务器系统130和客户计算机系统160提供数据。服务器计算机系统100包括可由服务器计算机105访问的非易失存储器设备110。非易失存储器设备110储存的数据根据请求服务于客户计算机。图中显示出储存在非易失存储器设备110上的静态Web页数据115和动态数据120。服务器计算机系统110与计算机网络125相连,以向客户计算机提供数据。计算机网络125可以是把各计算机系统彼此相连的任何网络,包括因特网。
所显示的客户计算机系统160通过代理服务器计算机系统130从服务器计算机系统100请求数据,所示客户计算机系统160还可从服务器计算机系统100请求数据而不使用代理系统。代理服务器计算机系统130包括代理服务器计算机135,它把数据存储在非易失存储器设备140上。代理服务器计算机系统130服务于多个客户计算机系统。客户计算机从服务器计算机系统100以及与计算机网络125相连的其他服务器请求信息。这些请求在达到计算机网络125之前先要能过代理服务器计算机系统130。从服务器返回的数据在返回到发请求的客户机如客户计算机系统160,之前也要通过代理服务器计算机系统130。许多客户可能请求同一信息,如今日新闻故事和流行的电子商务购物站点。为了加快分发从服务器返回的常用页面,代理服务器计算机系统130将返回的文件暂存在代理高速缓存145中。这样,一个客户机可以从代理服务器计算机系统130接收所请求的文件,而不必从连到计算机网络的源服务器接收。一个动态文件被分成静态部分150和动态部分155。静态部分150有一个比动态部分155有效期长的头段(header)。当一客户机请求该动态文件时,代理服务器计算机系统130检验代理高速缓存145,并通过检验其有效期头段或通过实现其他新鲜性机制来确定静态部分150是否是陈旧的。其他新鲜性机制包括:在该文件已在代理高速缓存145中存储预先确定的时间量之后,从源服务器(如服务器计算机系统100)提取该文件的一个新副本。如果确定静态部分150是陈旧的,则请求和从源服务器提取该静态部分(或整个文件)的新副本。另一方面,如果确定静态部分150不是陈旧的,则从代理高速缓存145读取静态部分150并返回到发请求的客户。该文件包括特殊的标记,它们把该文件的一些部分标识为动态的。这些动态部分作为动态部分155存储在代理高速缓存155中。如其名字所暗示的那样,动态部分155先于静态部分150成为陈旧的。某些动态部分如此之快地变为陈旧的,如股票报价,因为源服务器几乎是在连续地更新数据。包括实时信息的动态部分不被高速缓存,所以总是从源服务器检索新鲜的信息。其他动态部分的生命周期比静态部分短,但仍可在短时间段的基础上被高速缓存。例如,关于一个公司的新闻可以以每15分钟、每小时或取决于内容提供者的某一其他频度进行刷新。使用特殊的标记把这种动态内容标识为动态的并在给定时间段之后有效期满。当动态部分155被确定为陈旧之时,只需从源服务器取得被更新的动态数据,无需检索整个文件。
客户计算机系统160包括计算机系统165和非易失存储器设备170。计算机系统165包括一显示器,用于使用web浏览器软件(如NetscopeNavigatorTM或Microsoft Internet ExplorerTM)来查看返回的页面。高速缓存175被存储在非易失存储器设备170上。高速缓存175用于存储文件的静态部分180和动态部分185。与代理高速缓存145不同,高速缓存175只能被客户计算机系统165访问。各条目被放在高速缓存175中并由Web浏览器软件从高速缓存175中读出。当该用户浏览到一个已从源服务器检索过的Web页面时,浏览器软件确定该数据是否陈旧。如果该数据是陈旧,则从源服务器(如服务器计算机系统100)检索被更新的数据(或者静态部分180或者动态部分185)。另一方面,如果数据不是陈旧,则从高速缓存175提取。同样,通过使用文件中的特殊标记来标识动态部分185,则为保持文件新鲜需检索的数据量可维持在最小量。通过只提取动态部分,它可以只占整个文件的很小比例,客户计算机系统160从源服务器检索更新的文件要比请求整个文件快。
图2显示了显示屏200,它包括Web页205和任务条区285。标题条207显示出正在显示的Web页205的标题为“我的股票报价”。Web页205是可由用户编辑的页面举例,它只显示该用户感兴趣的那些股票。Web页205是既包含动态数据又包含静态数据的电子文件的一种形式。Web页205包括两组动态数据:当前股票报价,它会相当快地变为陈旧;以及相关的新闻,它以较慢的速率变为陈旧。Web页205还包括静态数据,如公司名以及在页面上显示的标题。所示动态数据带有一个虚线框。该虚线框说明Web页205的动态部分,但这虚线框并不实际显示给用户。动态数据包括动态报价210、220和230。在一个交易日期间,这一数据会特别快地变为陈旧数据,而且要频繁地从起源服务器检索,而不是从高速缓存区检索。动态数据还包括公司信息超级链接240、250和260。这些超级链接将作为与变化的股票相应的进一步新闻添加到Web页205或从Web页205中去掉。因为股票报价的改变比新闻报道的改变更频繁,所以新闻报道可以从高速缓存中检索,直至该新闻变为陈旧的为止。例如,公司信息超级链接240、250和260可继续从高速缓存中提取,直至发生一个时间周期,例如每15分钟。当过了这一时间周期时,将从源服务器提取新鲜的超级链接。如果用户希望编辑股票页,例如添加或删除该页上出现的股票,则按下命令按钮270以导出编辑功能。使用任务条285以在计算机上运行的各活动任务之间切换。浏览器会话作为“MyStocks(我的股票)”命令按钮295包含在任务条中。起始按钮290用于调用其他应用。
图3显示显示屏300,它是显示屏200(见图2)的一部分。图3还显示出源代码窗口350。源代码窗口350显示出与Web页305对应的源代码的有关部分。Web页305显示出“ABC公司”(静态数据)和相应的股票报价210(动态数据)。源代码窗350显示出用于产生Web页305中所示显示数据的HTML(超文件标记语言)源代码。静态代码360用于产生“ABC公司”静态文本。动态股票报价310是使用“开始动态标记”370、动态代码380和“结束动态标记”390来编码的。“开始动态标记”370显示为“<dyn-frag1>。这一特殊标记向浏览器指出,跟在“开始动态标记”370之后的数据是动态数据并应做相应的处理。动态代码380显示为“http\\quote.com/quote=abc”。动态代码380是该动态部分的网络位置。为刷新股票报价210,浏览器将从Web服务器quote.com请求quote=abc。Quote.com的响应将是提供股票报价而不是提供整个Web页。“结束动态标记”390显示为“</dyn-frag1/max-age=2>”,它指出名为“dyn-frag1”的动态数据部分结束,并把最大的高速缓存限制设为2分钟(“max-age=2”)。如果用户浏览回到Web页305,例如使用浏览器上的“back(退回)”按钮,则浏览器将检验股票报价205是否是2分钟之前的。如果在高速缓存中存储的股票报价不早于2分钟,则使用该高速缓存值。另一方面,如果该值早于2分钟,则从服务器检索新的股票报价。动态新闻超级链接240、250和260(见图2)将在相应的“结束动态标记”中使用较长的时间限制来实现。
图4显示从服务器480中检索静态和动态数据的普及计算设备的方框图。服务器480包括非易失存储器设备490,它存储根据请求服务于客户机的数据。普及计算设备400发出请求468以从非易失存储器设备490得到特定的数据项。“取数据”过程470检索所请求的数据,并经由计算机网络465将数据包472发回到普及计算设备400。计算机网络465的一个普通例子是因特网。在另一例子中,通过编程使服务器480在各个时刻将数据推送到普及计算设备400。当该时刻到达时,“推数据”过程475运行,经由计算机网络465把数据包478发送到普及计算机设备400。使用“推数据”过程475的一个例子是向普及计算设备400提供一个连续更新的股票行情(ticker)条,它显示在该设备显示屏上的一个窗口中。
该数据包由网络接口460检索再提供给浏览器410。浏览器410使用用户接口408从用户405接收命令。用户接口408往往包括使用指示装置(如鼠标)和键盘与浏览器410相接。浏览器410还访问系统时钟415以确定高速缓存420中存储的数据是否已陈旧。浏览器410在附属于普及计算设备400的显示器上显示Web页435。Web页435包括静态部分440和动态部分445、450及455。高速缓存420也包括静态数据425和动态数据430。当用户405使用用户接口408浏览到一特定Web页时,浏览器410检验所请求的Web页是否被高速缓存了。如果该Web页被高速缓存,则浏览器410检验与静态数据425和动态数据430相关联的标记中所包括的有效期数据,并与取自系统时钟415的当前时间比较。如果该数据是陈旧的,则从服务器480请求一更新过的副本。另一方面,如果该数据不是陈旧的,则使用位于高速缓存420中的Web页副本。因为动态数据是与静态数据隔开的,而且有较大可能性的是只有动态数据将需要从服务器480中检索,从而减小了返回到普及计算设备400的数据包472的大小。较小的数据包可由服务器480和普及计算设备400更快速和更有效地处置,从而只花较少的时间去显示Web页435。
图5显示的普及计算设备500与图4中所示普及计算设备400相似。然而,所示普及计算设备500有两个高速缓存:非易失存储器高速缓存510用于存储静态数据540,以及RAM高速缓存530用于存储动态数据540。在一个受约束的设备中,可能得到有限的非易失存储空间,如闪速存储器。此外,受约束的普及计算设备的操作可能比台式计算机慢,因此,把数据存储到RAM中要比把数据存储到非易失存储区中快得多。非易失存储区510用于存储静态数据,于是若普及计算设备510被关闭和重新启动时,静态高速缓存仍完整无损。在普及计算设备被关掉和重新起动之前,反正动态数据540很可能已变得陈旧。所以,把动态数据540存储在随机存取存储器高速缓存530中几乎不会使性能下降。
图6显示处理高速缓存中存储的静态和动态数据的流程图。当用户浏览到一个Web页时,在步骤600开始处理,在那里从高速缓存检索所请求的Web页(输入605)。如果所检索的Web页是陈旧的,或者在高速缓存中不存在,则决策步骤610分支到“是”分支615并从Web服务器检索该文件的新副本(步骤620)。如果该电子文件(Web页)存在于高速缓存中,则决策步骤610分支到“否”分支625并使用所高速缓存的文件(步骤630)。该文件的动态部分被检验,以确定它们是否已陈旧。从高速缓存中检索下一个(第一个)动态部分(步骤640)并确定该动态部分是否是陈旧的(决策650)。如果它是陈旧的,则取“是”分支655,并从服务器中检索该动态部分(步骤660)。另一方面,如果该动态部分尚未陈旧,则决策步骤650分支到“否”分支665,并使用取自高速缓存的动态部分(步骤670)。如果刚才处理的动态部分是最后一个动态部分,则决策步骤680分支到“是”分支685,在那里处理过程在终止符695处终止。另一方面,如果在该Web页中还存在更多的动态部分要处理,则取“否”分支690,循环回到处理下一个动态部分。
图7显示信息处理系统701,它是能完成本发明的计算机系统的一个简化实例。计算机系统701包括处理器700,它与主机总线705相连。一个2级(L2)高速缓存存储器710也与主机总线705相连。主机一PCI桥715与主存储器720相连,包括高速缓存存储器和主存储器的控制功能,并提供总线控制以处置在PCI总线725、处理器700、L2高速缓存710、主存储器720和主机总线705当中的传送。PCI总线725提供用于各种设备,如LAN卡730,的接口。PCI-ISA桥735提供总线控制以处置PCI总线725和ISA总线740、通用串行总线(USB)功能745、IDE设备功能750、电源管理功能755之间的传送,还能包括图中未显示的其他功能部件,如实时时钟(RTC)、DMA控制、中断支持、以及系统管理总线支持。外围设备和输入/输出(I/O)设备可连接到与ISA总线740相连的各种接口760上(例如并行接口762、串行接口764、红外(IR)接口766、键盘接口768、鼠标接口770、以及固定盘(FDD)772)。另一种作法是,许多I/O装置可由连接到ISA总线740上的超级I/O控制器(未画出)来接纳。
BIOS780与ISA总线740相连,并纳入必要的可由处理器执行的代码,用于各种低级系统功能和系统引导功能。BIOS780可存储在任何计算机可读介质中,包括磁存储介质、光存储介质、闪速存储器、随机存取存储器、只读存储器、以及传送指令编码信号的通信介质(例如来自网络的信号)。为了把计算机系统701连接到另一计算机系统以通过网络复制文件,LAN卡730连到PCI-ISA桥735。类似地,为把计算机系统701连到一个ISP以使用电话线连接连到因特网,调制解调器775被连接到串行端口764和PCI-ISA桥735。
尽管图7中描述的计算机系统能执行这里描述的复制过程,但这一计算机系统只不过是计算机系统的一个例子。本领域技术人员将会理解,还有许多其他计算机系统设计也能实现这里描述的复制过程。
本发明的优选实施之一是一个应用程序,即在一个代码模块中的一组指令(程序代码),它可以例如驻留在计算机的随机存取存储器中。这组指令可以存储在另一计算机存储器中,例如硬盘驱动器或可移动存储器,如光盘(供最终用于CDROM中)软盘(供最终用于软盘驱动器中),或经由因特网或其他计算机网络下载直到计算机需要时。这样,本发明可作为一个在计算机中使用的计算机程序产品来实现。此外,虽然所描述的各种方法通过软件有选择地启动或配置,能方便地在通用计算机中实现,但本领域的普通技术人员还将会理解,这些方法能在为执行所需方法步骤而构造的硬件、固件或更专门的装置中实现。
尽管已显示和描述了本发明的特定实施例,对本领域技术人员而言,显然是根据这里的讲解可以做出许多改变和修正而不离开本发明及其更广泛的各方面,所以,所附权利要求要把所有这些改变和修正包括在这些权利要求范围之中,如同包括在本发明的真正精神和范围之中,再有,应该理解,本发明只由所附权利要求规定。本领域技术人员将会理解,对一个引入的权利要求元素要指定具体的个数,这种指定将在 中明确地列举,在没有这种列举时,则不存在这种限制。对于非限定例子,为了有助于理解,在下述所附权利要求中包含使用引导性短语“至少一个”和“一个或多个”,以引入权利要求元素。然而,即使当同一权利要求中包括引导性短语“一个或多个”或“至少一个”以及不定冠词“a”或“an”(一个)时,对这种短语的使用不应被解释为这意味着由不定冠词“a”或“an”引入的权利要求元素把含有这种引入的 元素的任何特定权利要求限制到只含有一个这种元素的发明;这对于在权利要求中使用定冠词的情况也同样成立。

Claims (41)

1.从第一计算机向第二计算机发送的一个电子文件,所述电子文件包含:
一个或多个动态内容标记,每个动态内容标记标识该电子文件的一个动态部分;
一个或多个静态部分;并且
这里的电子文件是可由第二计算机上执行的软件程序来显示的。
2.如权利要求1中描述的电子文件,进一步包含:
从第一计算机向第二计算机发送的被更新的动态部分,这里更新后的动态部分替换该电子文件中包括的动态部分之一。
3.如权利要求1中描述的电子文件,进一步包含:
与一个或多个动态内容标记关联的新鲜性标记,该新鲜性标记为相关联的动态内容标记指示其新鲜性时间段。
4.如权利要求1中描述的电子文件,进一步包含:
与一个或多个静态内容标记相关联的新鲜性标记,每个静态内容标记与一个静态部分相关联;
这里的新鲜性标记为所关联的静态部分指示一个新鲜性时间段。
5.如权利要求1中描述的电子文件,进一步包含:
在可由第二计算机访问的非易失存储器设备上配置的第一高速缓存;
这里的静态部分存储在这第一高速缓存中。
6.如权利要求5中描述的电子文件,这里的动态部分存储在第二高速缓存中。
7.如权利要求6中描述的电子文件,这里的第二高速缓存是在可由第二计算机访问的随机存取存储器中配置的。
8.如权利要求6中描述的电子文件,这里的第二高速缓存被包括在第一高速缓存之中。
9.如权利要求1中描述的电子文件,这里的第二计算机是一个代理服务器。
10.在第一计算机上提供电子文件的方法,所述方法包含:
检索该电子文件的静态部分;
确定该静态部分是否是陈旧的;
在确定该静态部分不是陈旧的情况下从一个高速缓存中检索该静态部分以响应这一确定;以及
从第二计算机请求该电子文件的一个或多个动态部分。
11.如权利要求10中描述的方法,这里的检索步骤进一步包含:
从第二计算机请求更新后的静态数据,这里该静态数据取代该电子文件的静态部分;
这里对更新过的静态数据的请求是响应该静态部分是陈旧的这一确定。
12.如权利要求10中描述的方法,进一步包含:
确定动态部分是否陈旧;
确定这些动态部分不是陈旧的情况下从第二高速缓存检索这些动态部分以响应这一确定;以及
其中,在确定这些动态部分是陈旧的情况下进行请求,以响应这一确定。
13.如权利要求10中描述的方法,进一步包含:
识别动态部分,该识别包括读出一动态内容标记。
14.如权利要求10中描述的方法,进一步包含:
把静态部分存储到一个高速缓存中;
这里检索静态部分包括从该高速缓存中读出静态部分。
15.如权利要求10中描述的方法,进一步包含:
把动态部分存储到一个高速缓存中。
16.如权利要求10中描述的方法,进一步包含:
把静态部分存储在第一高速缓存中;以及
把动态部分存储在第二高速缓存中。
17.如权利要求16中描述的方法,进一步包含:
在可由第一计算机访问的非易失存储器设备上配置第一高速缓存。
18.如权利要求17中描述的方法,这里的第二高速缓存被包括在第一高速缓存中。
19.如权利要求16中描述的方法,进一步包含:
在可由第一计算机访问的随机存取存储器中配置第二高速缓存。
20.如权利要求10中描述的方法,这里的第二计算机是一个服务器。
21.如权利要求10中描述的方法,进一步包含:
由第一和第二计算机访问计算机网络;以及
通过该计算机网络从第二计算机向第一计算机发送静态和动态部分。
22.一个信息处理系统,包含:
一个或多个处理器;
可由这些处理器访问的存储设备;
在该存储设备内配置的高速缓存;以及
存储在该存储设备上的电子文件,该电子文件包含:
一个或多个动态文件部分;
与这每个动态文件部分相关联的一个动态内容标记;
一个或多个静态文件部分;
把静态文件部分存储到高速缓存中的装置;以及
确定所存储的静态文件部分是否陈旧的装置,该确定装置进一步包含:
在确定所存储的静态文件部分已陈旧的情况下从第二计算机检索更新过的静态部分以响应这一确定的装置;以及
在确定所存储的静态文件部分不是陈旧的情况下从高速缓存中检索所存储的静态文件部分以响应这一确定的装置。
23.如权利要求22中描述的信息处理系统,这里的存储设备是一个非易失存储设备。
24.如权利要求22中描述的信息处理系统,这里的存储设备是存储器。
25.如权利要求22中描述的信息处理系统,这里的存储设备包括一个存储器和一个非易失存储设备。
26.如权利要求25中描述的信息处理系统,这里的高速缓存被配置在非易失存储设备中,该信息处理系统进一步包含:
一个配置在存储器中的第二高速缓存;以及
把动态文件部分存储到这第二高高速缓存的装置。
27.如权利要求22中描述的信息处理系统,进一步包含:
把动态文件部分存储到高速缓存中的装置。
28.如权利要求22中描述的信息处理系统,进一步包含:
从第二计算机向该信息处理系统发送更新后的动态文件部分的装置;以及
用更新后的动态文件部分替代动态文件部分的装置。
29.如权利要求22中描述的信息处理系统,进一步包含:
把该信息处理系统链接到第二计算机的计算机网络;
这里电子文件从第二计算机发送到该信息处理系统。
30.用于在第一计算机上提供一个电子文件的计算机程序产品,所述方法包含:
检索该电子文件的静态部分的装置;
确定该静态部分是否陈旧的装置;
在确定该静态部分不是陈旧的情况下从高速缓存中检索该静态部分以响应这一确定的装置;以及
从第二计算机请求该电子文件的一个或多个动态部分的装置。
31.如权利要求30中描述的计算机程序产品,这里用于检索的装置进一步包含:
从第二计算机请求更新后的静态数据的装置,这里该静态数据替代该电子文件的静态部件;
这里用于请求更新后的静态数据的装置是响应确定该静态部分是陈旧的这一判断。
32.如权利要求30中描述的计算机程序产品,进一步包含:
确定这些动态部分是否陈旧的装置;
在确定这些动态部分不是陈旧的情况下从第二高速缓存检索这些动态部分以响应这一确定的装置;而且
这里的请求装置是为响应确定这些动态部分是陈旧的这一情况而执行的。
33.如权利要求30中描述的计算机程序产品,进一步包含:
识别这些动态部分的装置,这种识别包括读出一动态内容标记。
34.如权利要求30中描述的计算机程序产品,进一步包含:
把静态部分存储在一个高速缓存中的装置;
这里检索静态部分的装置包括从高速缓存中读出该静态部分的装置。
35.如权利要求30中描述的计算机程序产品,进一步包含:
把动态部分存储到一个高速缓存中的装置。
36.如权利要求30中描述的计算机程序产品,进一步包含:
把静态部分存储到第一高速缓存中的装置;以及把动态部分存储到第二高速缓存中的装置。
37.如权利要求36中描述的计算机程序产品,进一步包含:
在可由第一计算机访问的非易失存储设备上配置第一高速缓存的装置。
38.如权利要求37中描述的计算机程序产品,这里的第二高速缓存被包括在第一高速缓存中。
39.如权利要求36中描述的计算机程序产品,进一步包含:
在可由第一计算机访问的随机存取存储器中配置第二高速缓存的装置。
40.如权利要求30中描述的计算机程序产品,这里的第二计算机是一个服务器。
41.如权利要求30中描述的计算机程序产品,进一步包含:
用于由第一和第二计算机访问一计算机网络的装置;以及通过该计算机网络从第二计算机向第一计算机发送静态和动态部分的装置。
CNB011255919A 2000-08-17 2001-08-16 用于高速缓存文件信息的系统和方法 Expired - Fee Related CN1234086C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64052900A 2000-08-17 2000-08-17
US09/640,529 2000-08-17

Publications (2)

Publication Number Publication Date
CN1339747A true CN1339747A (zh) 2002-03-13
CN1234086C CN1234086C (zh) 2005-12-28

Family

ID=24568619

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011255919A Expired - Fee Related CN1234086C (zh) 2000-08-17 2001-08-16 用于高速缓存文件信息的系统和方法

Country Status (3)

Country Link
EP (1) EP1182589A3 (zh)
CN (1) CN1234086C (zh)
TW (1) TW517196B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100471113C (zh) * 2003-05-23 2009-03-18 微软公司 高速缓存后的置换
CN103034669A (zh) * 2011-10-06 2013-04-10 迷你吉特有限公司 利用网络文件系统提供用户数据存储环境的系统
CN106886530A (zh) * 2015-12-16 2017-06-23 天脉聚源(北京)科技有限公司 一种动态数据分别编辑更新方法及系统
CN107102992A (zh) * 2016-02-19 2017-08-29 北大方正集团有限公司 一种新媒体静态发布方法及装置
CN108009245A (zh) * 2017-11-30 2018-05-08 平安养老保险股份有限公司 产品价值获取方法、装置、计算机设备及存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171443B2 (en) 2001-04-04 2007-01-30 Prodigy Communications, Lp Method, system, and software for transmission of information
KR20060080180A (ko) * 2003-08-19 2006-07-07 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 애셋들을 캐싱하는 방법
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US8065275B2 (en) 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US8849838B2 (en) 2008-01-15 2014-09-30 Google Inc. Bloom filter for storing file access history
US9311425B2 (en) * 2009-03-31 2016-04-12 Qualcomm Incorporated Rendering a page using a previously stored DOM associated with a different page
FI20106336A0 (fi) * 2010-12-17 2010-12-17 Pocketsoft Oy Räätälöidyn sovelluksen tuottaminen käyttäjän päätelaitteelle
CN104994139B (zh) * 2015-06-10 2018-03-13 丁大砾 一种对高并发网络请求快速响应的系统及方法
CN106230810B (zh) * 2016-07-29 2019-07-02 南京优速网络科技有限公司 动静态流量分析方法
CN111951738A (zh) * 2020-07-15 2020-11-17 江西兴泰科技有限公司 一种电子纸产品低功耗驱动方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6061715A (en) * 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
EP1356394A2 (en) * 2000-05-16 2003-10-29 divine technology ventures Distributed dynamic web page caching system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100471113C (zh) * 2003-05-23 2009-03-18 微软公司 高速缓存后的置换
CN103034669A (zh) * 2011-10-06 2013-04-10 迷你吉特有限公司 利用网络文件系统提供用户数据存储环境的系统
CN106886530A (zh) * 2015-12-16 2017-06-23 天脉聚源(北京)科技有限公司 一种动态数据分别编辑更新方法及系统
CN107102992A (zh) * 2016-02-19 2017-08-29 北大方正集团有限公司 一种新媒体静态发布方法及装置
CN108009245A (zh) * 2017-11-30 2018-05-08 平安养老保险股份有限公司 产品价值获取方法、装置、计算机设备及存储介质
CN108009245B (zh) * 2017-11-30 2021-02-26 平安养老保险股份有限公司 产品价值获取方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
TW517196B (en) 2003-01-11
EP1182589A3 (en) 2002-07-24
EP1182589A2 (en) 2002-02-27
CN1234086C (zh) 2005-12-28

Similar Documents

Publication Publication Date Title
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
EP1546924B1 (en) Method, system, and program for maintaining data in distributed caches
US7194506B1 (en) Method and system for cache management of locale-sensitive content
JP4791452B2 (ja) ポートレットをクライアント側でプリフェッチし、キャッシングする方法、システム及びコンピュータ・プログラム
US6871218B2 (en) Methods and systems for preemptive and predictive page caching for improved site navigation
US7047485B1 (en) Intelligent pre-caching on a network
US6606525B1 (en) System and method of merging static data in web pages
US6574715B2 (en) Method and apparatus for managing internal caches and external caches in a data processing system
JP4025379B2 (ja) 検索システム
US7194678B1 (en) Dynamic web page generation method and system
US9111003B2 (en) Scalable derivative services
US20020078165A1 (en) System and method for prefetching portions of a web page based on learned preferences
EP1267278A1 (en) Streaming of real-time data to a browser
US20070101061A1 (en) Customized content loading mechanism for portions of a web page in real time environments
US20070106956A1 (en) Acquiring web page information without commitment to downloading the web page
JP2000357120A (ja) キャッシュ管理方法
AU2002350141A1 (en) Methods and systems for preemptive and predictive page caching for improved site navigation
AU2004202508A1 (en) Registering for and retrieving database table change information that can be used to invalidate cache entries
US6807606B2 (en) Distributed execution coordination for web caching with dynamic content
US6633874B1 (en) Method for improving the performance of a web service by caching the most popular (real-time) information
US7853580B2 (en) Method, system and computer program for downloading information based on a snapshot approach
JP2000148640A (ja) 画面制御ファイル記憶装置、画面制御ファイル記憶方法、画面制御ファイル記憶プログラムを記録した媒体および画面表示装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee