高速缓存后的置换的制作方法

文档序号:6406111阅读:190来源:国知局
专利名称:高速缓存后的置换的制作方法
发明的领域本发明通常涉及用于高速缓存后的置换的系统和方法。本发明尤其涉及用于在作为输出高速缓冲的Web网页中插入动态内容的系统的方法。
背景和相关技术随着访问因特网的渐渐容易和通过因特网能得到的知识和和信息的价值,个人和业务实体开始使用因特网作为检索和访问关于如世界大事,教育,和娱乐信息的主要来源。通过更快的个人计算机,改善的服务器,和更好的通讯网络,向大量个人传播信息变得越来越容易。
一个用户通过使用Web浏览器能访问如Web服务器和数据库那样的信息仓库。Web浏览器在用户的计算机上操作,并从或者直接,或者借助一个或多个中间代理服务器连接到计算机网络(如因特网)的各种服务器检索并显示Web网页。
因为服务器计算机由许多用户访问,需要特定的服务器对每个用户请求产生Web网页,这大大地影响了服务器在响应用户请求时的性能。数据高速缓冲技术缩短了在请求Web网页及Web浏览器为用户服务该网页之间用户观察到的响应时间。数据高速缓存技术还改善了服务器的性能,使服务器每单位时间响应更多的请求。这些数据高速缓存技术将Web网页的静态版本存入在终端用户的计算机和对Web网页请求产生响应的Web服务器之间任何数目的位置上的高速缓存器,包括用户计算机和Web服务器。从而数据高速缓存技术允许,如经过因特网访问的服务器计算机在相当短的时间内为大量用户提供同一Web网面。
例如,Web浏览器通常访问本地高速缓存,它在使用Web浏览器时存储通过网络检索到的临时文件。当请求Web网页时,浏览器进行校验,是否所请求的Web网页存在于本地高速缓存中。在该高速缓存存储所请求的Web网页的最新版本的情况,Web浏览器能从本地高速缓存中检索所请求的Web网页,从而不需要直接从Web服务器请求Web网页。因为高速缓存通常位于用户计算机本地的硬盘驱动器或在用户计算机的易失性存储器中,不需要网络通讯来检索Web网页。本地高速缓存的Web网页导致通常比通过因特网发送请求快得多的响应。此外,从本地高速缓存使用高速缓存的Web网页消除了不必要的降低Web服务器处理效率的Web服务器访问。
Web服务器,包括代理Web服务器,也利用高速缓存技术。当Web服务器从用户接收对Web网页的请求时,Web服务器在试图产生所请求的Web网页之前判断,是否由用户请求的网页存储在Web服务器的高速缓存中。若该Web网页是在Web服务器的高速缓存中,则Web服务器对用户的响应包括此高速缓存的Web网页。于是,Web服务器的高速缓存减少了Web服务器的处理需求,否则若Web网页未被高速缓存,Web服务器还应完成创建Web网页的处理。当需要创建Web网页时,这在计算上是很花费的,且占用更多时间,例如,Web服务器需等待数据库服务器响应数据库查询。
Web服务器高速缓存使Web服务器花费更多时间于服务Web网页,而不是产生Web网页。高速缓存Web网页的一个缺点是高速缓存Web网页的内容是静态的,而静态的高速缓存Web网页不总是使服务器效率最大化,且可能不包含最近内容。此外,高速缓存Web网页从一次请求到下一次请求不变化。在某些情况,从服务Web网页产生的收效也会减少,因为高速缓存Web网页或其他内容是静态的,且因为高速缓存内容是静态的,难以对每个请求服务不同的广告(ads)。
例如,Web网页常常包括广告,它应在每次服务特定Web网页时改变。当Web网页从静态高速缓存服务时,对每次请求改变广告是困难的任务。换言之,因为高速缓存Web网页已由Web服务器创建,它不能从一次请求到下一次请求改变。克服此问题需要动态内容的复杂的编码,以及对Web浏览器服务的Web网页强迫Web浏览器或中间代理服务器为高速缓存的Web网页获得新的动态内容。
针对此问题的一个方法是部分高速缓存Web网页。在此方法中Web网页的某些区域标记为动态,而Web网页另外的区域标记为静态。标记为动态的区域在每次请求时执行,而标记为静态或高速缓存的区只执行一次,且一直被高速缓存到实施特定的有关事件。但是此方法适用于Web网页的大多数内容是动态的情况。动态内容通常保存在父页中或包括在没有高速缓存指示的用户控制中。用此方法,网页仍按每次请求执行,且它的成功取决于手工编码每个网页,且取决于将图案(pate)分割成动态和静态部分。以此方式的手工编码是耗时且易于出错的。
发明概述这些和其他限止被本发明克服,它涉及用于高速缓存后的置换。高速缓存后的置换使开发者能输出高速缓存的整个Web网页,并随后标记高速缓存的Web网页中解除高速缓存的区域。使用高速缓存后的置换,即使父网页被高速缓存,仍对每次用户请求产生动态内容。在一个实施例中,网页开发者能免除编码Web网页,因为能提供本发明作为一控制。
高速缓存的Web网页通常作为响应缓存器的链存储。高速缓存后的置换使用插入到常规的响应缓存器链的置换块。在一个实施例中,置换块是一代表(delegate),它在被引用时产生动态内容。当请求高速缓存的Web网页且写入存储的响应缓存器链时,置换块引用一代表,它对Web网页产生新的内容。每当请求高速缓存Web网页时,再次引用该代表以产生新的内容。这就允许新的内容插入高速缓存的Web网页。好处在于,开发者不需要将网页区域标记成高速缓存的,或作出关于特定Web网页如何起作用的任何其他改变。
高速缓存后的置换能使用用户代码或使用服务器控制实现。将高速缓存网页的特定区域与回叫(callback)代表相关联,动态内容能被插入静态的输出高速缓存Web网页。例如当实施用户编码时,回叫方法能是网页(或用户控制)上的静态方法,或在另外任意对象上的范例方法。在使用服务器控制时,服务器特性通常设在控制的包含的网页上的静态方法。在一个实施例中,不需要用户提供或供给任何代表,而在控制中能自动提供高速缓存后的置换。
本发明的另外特征和优点将在随后的描述中给出,部分将从描述中显而易见,或能从本发的实施中掌握。本发明的特征和优点能借助在附后的权利要求中特别指出的装置和组合中实现和获得。本发明的这些和其他特征从下面描述和附后的权利要求变得更加一目了然,或能通过下面列出的本发明的实施了解。
附图简述为了描述能获得本发明的上面引出和其他的优点和特征方式,将参考在附图中示出的特定实施例进行上面简述的本发明的更专门的描述。应理解,这些图仅画出本发明的典型实施例,因此不认为限止其范围,本发明将通过使用附图,带着附加的特殊性及细节予以描述及解释,附图是

图1示出实现高速缓存后的置换的系统的例子;图2示出从高速缓存服务并包括动态内容的内容的例子;图3示出在对应于请求的内容的高速缓存中响应缓存器的链,并示出与产生新内容的置换块相关联的代表;图4示出服务器系统的实施例,它将动态内容插入到高速缓存的内容中;图5是用于服务在高速缓存的内容中的动态内容的一个实施例的流程图;图6示出一示例系统,它提供用于本发明的合适的操作环境。
较佳实施例的详述本发明延伸到用于在如高速缓存输出的Web网页那样的静态高速缓存输出内容中插入动态内容的方法和系统,并在一个实施例中称作为高速缓存后的置换。高速缓存后置换的一个优点是有能力改善开发经历。不是要求网页开发者标记网页区域(用户控制)作为高速缓存的,或将在每个网页上的客户代码写到高速缓存数据去,本发明允许Web网页成为高速缓存的输出。接着,高速缓存输出的Web网页的一些部分被标识为解除高速缓存,且每当请求该Web网页并从高速缓存服务时,对标识的部分产生新的内容。
高速缓存后的置换使用插入典型的响应缓存器的链中的置换块。当响应缓存器的链作为对用户的请求写入时,置换块造成引用回叫代表。该代表产生包括在对用户请求的响应中的实际内容。每当服务高速缓存的Web网页时,与置换块相关联的代表被引用,产生插入响应的动态内容。于是动态内容能包括在静态的高速缓存输出的Web网页中。
图1示出实现本发明的实施例的示例环境。图1示出客户机100和服务器110,它们经网络102通讯。网络102能是如局域网,广域网,因特网,或其任何组合。网络102也能包括无线和/或有线网络。在此例子中,由客户100请求的内容是Web网页。客户机100通常使用浏览器软件从服务器110请求Web网页,而服务器110通过网络102向客户机服务Web网页。
当服务器从客户机100接收对Web网页的请求时,服务器110通常检验,判断该Web网页是否已存入高速缓存112。若该Web网页已存入高速缓冲112,则该Web网页的高速缓存版本对客户机100服务。若该Web网页未存入高速缓存112,则服务器110通常产生Web网页,对客户机100服务该Web网页,且若该网页被标记为可高速缓存的,存储该Web网页到高速缓存112,用于未来的客户请求。
前面提到,为了效率的原因,服务器110通常宁愿从高速缓存112服务Web网页。在服务器110必须产生Web网页时,服务器112需要访问存储器114,数据库115,和/或其他数据源以便产生请求的网页。这些操作在计算上是昂贵的,易于阻塞的(如占用时间等待完成数据库查询),或花费资源的(如需要大量存储器来产生网页),且降低服务器110响应从其他客户来的请求的能力。此外,服务器110的响应时间也会延长。高速缓存112使服务器110能更有效地服务Web网页。
图2是能由服务器服务的Web网页的例子。Web网页200能包括新闻204和广告(ad)空间206。新闻204不频繁地改变。因此服务器的兴趣在于高速缓存Web网页200的这些部分。Web网页200的每个部具有高速缓存策略,它控制被高速缓存的数据何时过期。例如,新闻204能每20分钟过期。这没有给服务器过分的负担。但是,服务器愿意在每次服务Web网页200时将新的广告放入广告空间。本发明允许开发者例如将广告空间206与回叫代表相关联,后者用于在高速缓存整个Web网页200时对广告空间产生动态内容。好处在于服务器不需每次请求Web网页200时产生Web网页200,而允许服务器对每次请求Web网页200插入动态内容。
图3示出在高速缓存中如何表示图2的Web网页200。在此例中,Web服务器的高速缓存能表示成一系列响应缓存器链314和315,虽然本专业行家认识到,Web服务器的高速缓存能以其他方式或配置表示。在此例中,每个响应缓存器的链通常对应于特定Web网页或其他客户请求的内容。响应缓存器链314对应于第一Web网页,而响应缓存器链312对应于第二Web网页。
在此例中,由服务器维持的高速缓存是高速缓存输出。在此实施例中,高速缓存输出指出,响应缓存器包含HTML数据。相反,数据高速缓存指出,当未创建HTML,而将数据高速缓存。本发明能应用于这些和其他类型的高速缓存数据。
图3还示出响应缓存器的链312,它包括响应缓存器302,置换块304,和响应缓存器306。在特定响应缓存器链中的响应缓存器的数目能变化且关系到由客户请求的Web网页或其他内容。置换块304是保留的(placeholder)缓存器,因而插在响应缓存器链312之中。当响应缓存器链被写回给客户机作为对请求的响应时,置换块304引用一代表308以产生写到或发送给客户的响应缓存器310或其他内容。每当请求网页时,置换块允许产生动态内容。一个典型的应用是每当请求Web网页时插入新的广告到Web网页的广告空间206(见图2)。
在图3的实施例中,响应缓存器链312表示高速缓存输出的Web网页。整个Web网页被高速缓存,且置换块与响应缓存器一起被包括。置换块标识解除高速缓存的Web网页的部分。这就允许如图3所示在高速缓存响应中的指定位置上产生动态内容。
图4示出能够为高速缓存的Web网页产生动态内容的服务器系统400的例子。服务器系统400从客户机接收对内容的请求404。在此例中,由客户请求的内容是Web网页。输出管线模块402接收请求404,而该输出管线模块402通常包括若干用于处理请求404的模块。这些模块处理请求404,以使从服务器系统400产生合适的响应。在一个实施例中,这些模块顺序操作。例如,这些模块能包括认证模块,它判断请求404是否来自已知的客户且该客户有权访问所请求的网页。若该用户未被认可,响应通常指出访问被拒绝,在输出管线402中的后续模块不需要处理请求404。例如,其他模块能保持正被处理的输入请求的登录;解决查询转换以便将请求中的输入URL映射到请求的内容;判断用户是否授权等。
另外模块是请求处理模块408,它被用于判断,在请求404中标识为Web网页是否被存入高速缓存416。若由客户请求的Web网页存入高速缓存416,请求处理模块408访问高速缓存416以便检索对应于在请求404中由客户请求的Web网页的响应缓存器418。当置换块417被请求处理模块408认可,与置换块417相关联的代表如前述那样被引用,且产生新的内容并包括在响应406中以替代置换块417。若该Web网页不在高速缓存416中,则网页生成模块410访问存储器412(例如它能包括本地和/或远程的数据源)以创建由客户请求的Web网页。在两种情况,请求处理模块408随后向客户服务响应406。高速缓存416包含静态数据和转换块417,使得新的或动态内容插入到响应406中以替代置换块417。
图5是更充分地说明高速缓存后的置换或将动态内容插入静态高速缓存内容的能力的流程图。服务器系统从客户接收网页请求(500)或对内容的其他请求。作出关于该网页是否在服务器系统的高速缓存中的判断。若该网页在高速缓存中,则从高速缓存检索响应缓存器链(506)。接着,引用与响应缓存器链中置换块相关联的代表(508),以产生拟与其他响应缓存器一起包括在响应中来替代置换块的内容。最后,服务器系统将响应写到客户机上(510)。
若该网页不在高速缓存中(502),则服务器系统产生网页(512)。在产生网页时(512),通常将置换块加到构成高速缓存网页的响应缓存器链中(514)。而且客户方的高速缓存能力从公众普遍都有降级成只是服务器有,使得在网页产生时该网页不能在客户处高速缓存。这就保证对网页的以后请求重新引用与置换块相关联的代表,以产生新的内容。在产生网页之后,响应被高速缓存输出(若合适)在服务器系统的高速缓存中(517),且响应被写到或发送到客户(510)。
高速缓存后置换为网页开发者提供若干好处,它简化了高速缓存输出Web网页的开发。例如开发者能用预定的回叫签名(signature)写一个方法,它取用单个上下文环境参数并返回一字符串,后者是在给定位置置换的内容。开发者随后调用“Response.WriteSubstitution”并作为参数通过回叫方法。回叫方法或者是在包含网页或UserControl上的静态方法,或者是在其他任意对象上的静态或实例方法。回叫方法应是对线程安全的,因为若对同一高速缓存的网页的若干请求在同时到达,它将从若干线程同时被引用。下面例子示出“Response.WriteSubstitution”的使用<%@Output Cache Duration=“60”VaryByParam=“none”%>
<script language=“C#”runat=“Server”>
Public static String Get CurrentData(Http Context context){}</script>
...cached content...
<%Response.WriteSubstitution(new Http Response SubstitutionCallback(Get Current Date))%>
...
在对一Web网页初始请求时,带着相关联的代表的置换块被加到或包括在请求的网页中。然后在网页产生后而在网页为客户服务前,WriteSubstitution调用HttpResponseSubstitutionCallback代表以产生对该网页的输出。然后请求处理模块存储响应缓存器链,它们用于以后的请求检索。在对该Web网页的随后请求时,请求处理模块截获该请求,并检索包括转换块的相关响缓存器。当写置换块时,代表被引用以产生动态内容,它随后写到并包括在对客户的响应中。
在另外例子中,开发者能在内容应被置换的网页位置插入Substitution服务器控制,并将MethodName特性设置到回叫方法。不象Response.WriteSubstitution,它能在任何对象上接收回叫方法,而Substitution服务器控制的MethodName特性被设置成在控制为包含Page或UserControl上的静态方法。下面例子示出Substitution Server控制的使用。
%@Output Cache Duration=“60”Vary By Param=“none”%<script language=“C#”runat=“sever”>
pubric static String Get User Name(Http Context Context){return cont ent.User.Identity.Name}</script>
...Cached Content...
...<he>Welcome<aspSubstitntion MethodName=“GetUserName”/>!</hz>
...
本发明的另外好处在于即使父网页未被高速缓存,它能用于产生动态内容。通常,高速缓存后的置换由开发者通过支持高速缓存后置换的其他服务器控制的使用来访问。这对能通过使用那些控制得益于高速缓存后置换的开发者是方便的。
本发明的实施例能包括专用或通用计算机,它们包括在后面详述的各种计算机硬件。计算机能是客户机或服务器计算机。当计算机是服务器计算时,图6中示出的某些组件不总是必要的。例如,服务器计算机通常不需要监视器,软盘,或串口来操作。因此,图6示出合适的计算环境的实施例。在本发明的范围中的实施例还包括载有或拥有其中存储计算机可执行指令的计算机可读介质。那样的计算机可读介质能是任何可由通用或专用计算机访问的任何可得到的介质。例如,但不限于,那样的计算机可读介质能包括RAM,ROM,EEPROM,CD-ROM,或其他光盘存储器,磁盘存储器或其他磁存储设备,或其他介质,它们能用于载有或存有以计算机可执行指令形式的希望的程序代码工具及数据结构,它们能由通用或专用计算机访问。当信息经网络或其他通讯连结(硬线连结或无线连结或硬线及无线连结的组合)被传递或提供给计算机时,计算机恰当地将连结看成计算机可读介质。因此,任何那样的连结被恰当地称为计算机可读介质。上述的组合也包括在计算机可读介质的范围内。计算机可执行指令包括如指令和数据,它们使通用计算机,专用计算机,或专用处理装置完成某个功能或功能组。
图6和下面的讨论试图提供能实现本发明的合适的计算环境的简单且一般的描述。虽然不是必需,本发明将在拟由如在网络环境中的计算机执行的程序模块那样的计算机可执行指令的一般上下文环境中描述。通常,程序模块包括例行程序,程序,对象,组件,数据结构等,它们完成特定任务或实现特定的抽象数据结构。计算机可执行指令,相关的数据结构,和程序模块表示用于执行这里描述的方法的步骤的程序代码装置的例子。那样的可执行指令或相关的数据结构的特定序列表示用于实现在那些步骤中描述的功能的对应活动的例子。
本专业的那些专家理解,本发明能在有许多类型计算系统配置的网络计算环境中实现,包括个人计算机,手持设备,多处理器系统,基于微处理器的或可编程的消费电子设备,网络PC,小型机,大型主机等,本发明也能在分布式计算环境中实现,在那里任务由通过通讯网络连结(硬线连结,无线连结或硬线、无线连结的组合)的本地或远程处理设备完成。在分布式计算环境中,程序模块能位于本地和远程的存储器设备中。
参考图6,实现本发明的示例性系统包括以传统计算机20形式的通用计算设备,它包括处理单元21,系统存储器22,和将包括系统存储器22的各种系统组件连到处理单元21的系统总线23。系统总线23能是若干种总线结构的任一种,包括存储器总线或存储控制器,外围总线,和使用各种总线体系结构的任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存储器(RAM)25。包含如在起动时帮助在计算机20中的各单元间传输信息的基本例行程序的基本输入/输出系统(BIOS)26能存储在ROM24中。
计算机20还能包括用于读写磁硬盘39的硬磁盘驱动器27,用于读写可移动磁盘29的磁盘驱动器28,和用于读写如CD-ROM那样的可移动光盘31或其他光介质的光盘驱动器30。磁硬盘驱动器27,磁盘驱动器28,和光盘驱动器30分别通过硬盘驱动器接口32,磁盘驱动器接口33,和光盘驱动器34连接到系统总线23。驱动器和它们相关的计算机可读介质为计算20提供计算机可执行指令,数据结构,程序模块和其他数据的非易失性存储。虽然这里描述的示例环境采用硬磁盘39,可移动磁盘29和可移动光盘31,能使用其他类型的计算机可读介质来存储数据,包括盒式磁带,闪存卡、数字多功能盘,Bernoulli盒带,RAM,ROM等。
包括一个或多个程序模块的程序代码工具能存储在硬盘39,磁盘29,光盘31,ROM24或RAM25中,程序代码工具包括操作系统35,一个或多个应用程序36,其他程序模块37和程序数据38。用户能通过键盘40,定位设备42,或如麦克风,操纵杆,游戏垫,卫星盘,扫描仪等其他输入设备(未示出)将命令和信息输入到计算机20。这些或其他输入设备常通过连接到系统总线的串行接口46连接到处理单元21。另选地,输入设备能通过其他接口连接,如并行口,游戏口或通用串行总线(USB)。监视器47或其他显示设备也通过如视频适配器48那样的接口连接到系统总线23。除监视器外,个人计算机通常包括如扬声器和打印机那样的其他外围输出设备(未示出)。
计算机20能在使用连接到如远程计算机49a和49b那样的一个或多个远程计算机的逻辑连结的网络环境中使用。远程计算机49a或49b每个能是另外的个人计算机,服务器,路由器,网络PC,对等设备,或其他公共的网络节点,并通常包括上面关于计算20描述的许多或所有单元,虽然在图6中只示出存储器设备50a和50b以及它们相关的应用程序。图6画出的逻辑连结包括局域网(LAN)51和广域网(WAN)52,它们在这里作为例子表示而不作限止。那样的网络环境在办公室,企业范围计算机网络,内联网和因特网中是常见的。
在LAN网络环境使用时,计算机通过网络接口或适配器53连接局域网51。在WAN网络环境使用时,计算机20能包括调制解调器54,无线链路,或其他用于在广域网52上建立通讯的装置。内置或外接的调制解调器54经过串行接口46连接系统总线23。在网络环境中,相对于计算机20画出的程序模块或其部分能存储在远程存储器设备中。可以理解,示出的网络连接是示例的,能使用建立广域网52通讯的其他装置。
本发明能以其他形式体现而不偏离其精神和主要特征。描述的实施例在所有方面认为只是示例的而非限止的。因而本发明的范围由附后的权利要求指出而不由上面描述指出。所有在权利要求的等价的意义和范围中的改变应包括在
权利要求
1.在具有响应客户请求从内容的高速缓存对该内容服务的服务器的系统中,用于在高速缓存的内容被服务于客户时将动态内容插入该高速缓存的内容的方法,所述方法包括从客户接收对内容的请求;从高速缓存检索包括带有代表的置换块的响应缓存器链,其中所述响应缓存器链对应于由客户请求的内容;和引用与所述置换块相关的代表,置换块产生包括在为响应客户请求而服务的响应缓存器链之中的动态内容。
2.如权利要求1的方法,其特征在于还包括在对客户响应而服务包括动态内容的内容。
3.如权利要求1的方法,其特征在于从客户接收对内容的请求还包括确定由该客户请求的所述内容是否存储在高速缓存中。
4.如权利要求3的方法,其特征在于确定所述由客户请求的内容是否在高速缓存中还包括,若所述内容不存储在高速缓存中,产生该内容。
5.如权利要求4的方法,其特征在于确定所述内容不存储在高速缓存中则产生该内容的步骤还包括把置换块增加到所述响应中;将包括所述置换块的所述响应存入高速缓存中;和降低所述内容的可高速缓存能力,包括新内容只对服务器高速缓存。
6.如权利要求1的方法,其特征在于引用与产生动态内容的置换块相关的代表还包括将包括动态内容的所述内容写入发送给客户的响应中,所述动态内容包括在为响应客户请求而服务的响应缓存器链之中。
7.如权利要求1的方法,其特征在于引用与产生动态内容的置换块相关的代表还包括将所述动态内容插入所述响应缓存器链以替代所述置换块,所述动态内容包括在为响应客户请求而服务的响应缓存器链之中。
8.在包括从高速缓存向一个或多个客户服务内容的服务器的系统中,高速缓存内容使得高速缓存内容包括动态内容的方法,所述动态内容在响应客户的请求向客户服务高速缓存内容时对每次客户请求而改变,所述方法包括将置换块加到拟被高速缓存的响应中,其中所述置换块保持产生动态内容的代表;和将所述响应存入高速缓存,使得由置换块保持的代表被引用,以便在未来的客户请求中当从高速缓存服务响应时将新的动态内容插入所述响应。
9.如权利要求8的方法,其特征在于还包括接收后续客户对内容的请求,所述内容对应于存储在高速缓存的响应;从高速缓存检索包括置换缓存器的响应;和引用与所述置换缓存器相关的代表,以便产生包括在对后续客户请求的响应中的动态内容。
10.如权利要求9的方法,其特征在于还包括服务包含动态内容的响应的步骤。
11.如权利要求9的方法,其特征在于接收对相应于存储在高速缓存中响应的内容的后续客户请求还包括确定在后续客户请求中请求的内容是否存储在所述高速缓存的步骤。
12.如权利要求8的方法,其特征在于还包括调用所述代表,以产生包括在对客户的响应中的动态内容。
13.如权利要求12的方法,其特征在于还包括通过用户控制调用所述代表。
14.如权利要求12的方法,其特征在于调用代表以产生包括在对客户响应中的动态内容的步骤还包括通过服务器控制调用所述代表的步骤。
15.如权利要求8的方法,其特征在于将转换块加到正被高速缓存的响应还包括将置换缓存器插入响应缓存器链中,其中所述响应缓存器链对应于所述响应。
16.具有用于执行权利要求8的所述方法的计算机可执行指令的计算机程序产品。
17.在包括响应来自一个或多个客户对Web网页的请求从高速缓存对一个或多个客户服务Web网页的服务器的系统中,用于完全高速缓存一Web网页,使得所述Web网页在从该高速缓存服务时包括动态内容的方法,所述方法包括在服务器上从客户接收对Web网页的请求;确定由客户请求的所述Web网页是否完全高速缓存在所述服务器的高速缓存中;从所述高速缓存检索对应于由客户请求的Web网页的响应缓存器链,其中响应缓存器链包括一个或多个响应缓存器和一个置换块;将响应缓存器链中的每个响应缓存器写到对客户服务的响应中;和在写置换块时,引用与所述置换块相关的代表,以产生包括在对该客户的所述响应中对该Web网页的动态内容来替代置换块。
18.如权利要求17的方法,其特征在于判断由客户请求的Web网页是否完全高速缓存在所述服务器的高速缓存中的步骤还包括产生Web网页;和将所述Web网页作为响应缓存器链存入高速缓存。
19.如权利要求18的方法,其特征在于在高速缓存中存储Web网页还包括将所述置换块插入高速缓存的Web网页。
20.如权利要求19的方法,其特征在于还包括降低高速缓存Web网页的高速缓存能力到只对服务器,使得Web网页不能在客户机高速缓存。
21.如权利要求17的方法,其特征在于从所述高速缓存检索对应于由客户请求的Web网页的响应缓存器链的步骤还包括使用用户控制调用所述代表。
22.如权利要求17的方法,其特征在于从所述高速缓存检索对应于由客户请求的Web网页的响应缓存器链的步骤还包括使用服务器控制调用所述代表。
23.如权利要求17的方法,其特征在于从所述高速缓存检索对应于由客户请求的Web网页的响应缓存器链的步骤包括使用现有的服务器控制调用所述代表。
24.如权利要求17的方法,其特征在于还包括即使所述Web网页未存储在高速缓存中,在所述请求的Web网页中服务新的动态内容。
25.在包括响应来自一个或多个客户对内容的请求从高速缓存对一个或多个客户服务内容的服务器的系统中,用于实现完全高速缓存内容,使得所述Web网页在从该高速缓存服务时包括动态内容的计算机程序产品,所述计算机程序产品包括具有用于实现所述方法的计算机可执行指令的计算机可读介质,所述方法包括在服务器上从客户接收对Web网页的请求;确定由客户请求的所述Web网页是否被高速缓存在所述服务器的高速缓存中从所述高速缓存检索对应于由客户请求的Web网页的响应缓存器链,其中响应缓存器链包括一个或多个响应缓存器和一个置换块;将响应缓存器链中的每个响应缓存器写到对客户服务的响应中;和在写置换块时,引用相关的代表以产生包括在对客户的所述响应中的用于Web网页的动态内容。
26.如权利要求25的计算机程序产品,其特征在于还包括降低高速缓存Web网页的高速缓存能力到只对服务器,使得Web网页不能在客户机高速缓存。
27.如权利要求25的计算机程序产品,其特征在于从所述高速缓存检索对应于客户请求的Web网页的响应缓存器链的步骤还包括使用用户控制来调用所述代表。
28.如权利要求25的计算机程序产品,其特征在于从所述高速缓存检索对应于客户请求的Web网页的响应缓存器链的步骤还包括使用服务器控制来调用所述代表。
29.如权利要求25的计算机程序产品,其特征在于还包括即使所述Web网页未存储在高速缓存中,在所述请求的Web网页中服务新的动态内容。
全文摘要
用于高速缓存后的置换的系统和方法。为了在对客户请求的响应中包括动态内容,在高速缓存的内容中插入置换块。当高速缓存的内容作为响应写到客户时,引用与置换块相关的代表以产生动态内容。每次请求内容时,引用该代表,且在对客户请求的响应中服务的内容包括动态内容,它能从一次客户对高速缓存内容的请求到下一次请求有所不同。
文档编号G06F12/00GK1574747SQ200410047478
公开日2005年2月2日 申请日期2004年5月24日 优先权日2003年5月23日
发明者B·D·米林顿, D·罗布斯曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1