专利名称:对高速缓存条目进行一致性检查的概率技术的制作方法
技术领域:
所描述技术涉及处理数据请求的领域。
背景技术:
高速缓存通常指把从远端数据源获得的数据进行本地存储,以精 简并提高对该数据的访问效率。图1是示出了用于高速缓存数据的典型
结构的网络图。它示出了多个数据提供方节点,例如数据提供方iio,
120和130,其中每一个都向多个数据消费方节点提供数据。例如,数 据提供方110向包括消费方112和113在内的消费方提供数据。每个数据 提供方还具有本地高速缓存。例如,提供方110拥有本地高速缓存111。 当数据提供方收到来自其消费方之一的主数据请求时,数据提供方首 先检査它的本地高速缓存,以确定高速缓存是否能满足主数据请求。 如果是,提供方用基于高速缓存内容的响应来回应主数据请求;否则, 提供方(l)向权威的数据源发起次数据请求,(2)用基于该数据源响 应于次数据请求所提供的数据的响应,来回应主数据请求,并且(3) 在它的本地高速缓存中存储该数据源响应于次数据请求所提供的数 据,作为条目,以用于满足将来的主数据请求。在某些情况下(未示 出),多个提供方可以共享同一个高速缓存。在某些情况下(未示出), 高速缓存可以自我管理,或者可以被相应的数据提供方之外的其他实 体管理。
作为一个示例,每个数据消费方可以是向数据提供方,即网络服 务器,请求网页或者其它资源的网络客户端。数据源可以是提供数据 的中央数据存储或者服务,该数据使得网络服务器可以构建网络客户 端所请求的网页或者其它资源。在美国专利申请No.ll/177,206(于2005
年7月8日提交)中描述了这样一个使用本地高速缓存的构架,该申请 全部内容作为参考合并在此。此外,数据提供方可以是代理服务器或
8者其它中间高速缓存,比如在网络客户端运行的同一计算机系统上存 储的高速缓存,其针对一个或者多个网络客户端和网络服务器。
在例如上述环境中,高速缓存数据所提供的效率级别高度依赖于 每一个高速缓存是如何管理的,特别是高速缓存和/或它的数据提供方 所使用的基本原理,该基本原理用于确定高速缓存条目存储的数据对 象的版本应该使用多长时间来满足主请求。
用于保持高速缓存条目新鲜度的常规方法有显著的缺点。第一种 常规方法涉及对每个高速缓存数据对象的对象寿命的使用,数据对象 在包含有该对象的条目失效前应在高速缓存中被保存的最大时间量 (有时,称之为对象的"生存时间")。在这种方法中,要么提供数据 对象的数据源为该对象分配这种时间量,要么数据提供方分配时间量。 当包含该数据对象的高速缓存条目被添加到高速缓存中,分配的时间 量加到当前时间上,以建立该条目的失效时间。当经过了该条目的失 效时间时,该条自失效,不能被从高速缓存中获取,并且它占用的空 间可以被收回用于新的高速缓存条目。
通常很难选择对象寿命以产生好的结果。 一方面,如果对象寿命 选择得过长,高速缓存的对象可能会变得"陈旧",即不再和提供该 高速缓存的对象的数据源响应于对该对象的新的次数据请求而提供的 对象相匹配,并且对于请求数据的消费方具有价值减少。另一方面, 如果对象寿命选择得过短,使用高速缓存的对象以满足主数据请求的 可能性就会很低,并且高速缓存该对象几乎不会带来什么好处。
用于保持高速缓存条目新鲜度的第二种常规方法涉及对显式失 效的使用。显式失效是当数据源确定它将响应于次数据请求而提供的 对象的版本己发生变化,并且数据源提供的该对象的任何较早的高速 缓存版本现在都陈旧时,数据源发送给数据提供方的通知。当数据提 供方收到了来自数据源的显式失效通知时,它就会立即使其高速缓存 中所引用的对象失效,如果该对象被包含其中的话。
尽管显式失效方法能够克服对象寿命方法的相关缺点,但是显式 失效方法的缺点在于,消耗了实质的处理和/或者通信资源。首先,检 测对象的变化和发送显式失效通常会在数据源部分消耗显著的处理能
9力。 一旦数据源检测到这种变化,它可以(1)向所有数据提供方发送 显式失效,这导致大量网络带宽被用于传送该显式失效,并且导致显 著的数据提供方处理成本被用于响应该显式失效,或者(2)数据源本 身花费额外的处理和存储资源,来确定哪些数据提供方最有可能拥有 高速缓存对象的陈旧版本,并且仅仅向那些数据提供方发送显式失效。
发明内容
用于保持高速缓存条目新鲜度的并且克服了使高速缓冲条目失效 的常规方法的缺点的方法是非常有用的。
图l是示出了用于高速缓存数据的典型结构的网络图。
图2是示出了典型地合并入至少一些计算机系统以及其上执行本 发明工具的其他设备中的一些组件的框图。
图3是描述了本发明工具运行的时间线图。
图4是示出了在响应主请求时本发明工具为了管理高速缓存而典 型执行的步骤的流程图。
图5是示出了本发明工具典型执行的步骤的流程图,这些步骤作 为图4中调用的发起次请求例程部分。
图6是示出了本发明工具典型执行的步骤的流程图,这些步骤作 为图4中调用的更新高速缓存例程部分。
图7是示出了本发明工具典型执行的步骤的流程图,这些步骤作 为图4中调用的一致性检查合对等协调例程部分。
具体实施例方式
下面将描述一种用于进行概率高速缓存条目一致性检查的软件 工具(facility)("工具")。该工具允许为每个条目建立两个时间量 最短寿命,指定条目存在于高速缓存中并且被认可(honor)的最小时 间量(除非被显式失效);和最长寿命,指定条目被认可(honor)的 最大时间量。如果可以使用高速缓存条目来满足的主数据请求是在该
10条目的最短寿命过期之前发起的,则该工具使用该高速缓存条目来满 足主数据请求。如果可以使用高速缓存条目满足的主数据请求是在该 条目的最长寿命过期之后发起的,则该工具向数据源发起次数据请求 来满足主数据请求,并且更新高速缓存以反映次数据请求的结果。但 是,如果可以使用高速缓存条目来满足的主数据请求是在该条目的最 短寿命过期之后而在最长寿命到达之前发起的,则该工具从概率上确 定是使用该高速缓存条目,还是通过发起次数据请求对高速缓存的对 象进行一致性检查。具体而言,该工具生成随机或者伪随机数,并且 把它与针对该对象而确定的概率阈值进行比较。如果随机数在概率阈 值之上,则该工具使用高速缓存条目,反之,如果随机数没有在概率 阈值之上,则该工具向数据源发起次数据请求来满足主数据请求,并 且更新高速缓存以反映次数据请求的结果。
在一些实施例中,当工具发起新的次数据请求来满足主数据请求 时,工具对新的次数据结果和高速缓存的结果进行比较。如果不同, 工具通知其他高速缓存的管理器,使它们具有的相应对象的条目失效。 在一些实施例中,工具把新的结果包括在通知中。在一些实施例中, 工具把失效高速缓存条目的摘要包括在通知中,使得接收到通知的高 速缓存管理器可以有效地确定发送方是正在使其高速缓存的对象的值 失效,还使不同的值失效。
通过使用上述一些或者全部方法来管理高速缓存,这些工具的实 施例提供了良好的高速缓存性能,而不会消耗过多的资源。
图2是示出了典型地合并入至少一些计算机系统以及其上执行本 发明工具的其他设备中的一些组件的框图。这些计算机系统和设备200
可以包括 一个或者更多个中央处理单元("CPU") 201,用于执行计 算机程序;计算机存储器202,用于存储处于使用中的程序和数据;永 久存储设备203,比如用于永久存储程序和数据的硬盘驱动器;计算机 可读介质驱动器204,比如CD-ROM驱动器,用于读取存储在计算机可读 介质上的程序和数据;以及网络连接205,用于把计算机系统通过例如 互联网连接到其他的计算机系统。虽然如上配置的计算机系统典型地 用来支持所述工具的运行,但是本领域技术人员将理解,该工具可以使用多种类型和配置的设备来实现,并且具有多种组件。
图3是描述了该工具运行的时间线图。该图示出了时间线300,其
中时间向右前进。在时间o,对象被添加到由该工具管理的高速缓存中。
此时,为对象创建两个寿命最短寿命310 ,此处是10分钟;和最
长寿命320,此处是30分钟。这些寿命的具体长度是可以用多种方式配置的,比如,可以为各个对象、各类对象、所有对象等手动设置;或者基于可编程逻辑进行自动设置。最短寿命的过期时间是通过把针对对象而确定的最短寿命长度加到对象被添加到高速缓存时的时间点上而得到的。类似的,最长寿命的过期时间是通过把针对对象而确定的最长寿命长度加到对象被添加到高速缓存时的时间点上而得到的。在一些实施例中,该工具在特定情况下稍后会延长对象的两个寿命,例如,特定情况是当新的次请求返回了与对象的高速缓存版本相匹配的对象版本时。
如图所示,当在对象的最短寿命期间收到主请求时,作为对请求该对象的响应,该工具无条件地使用高速缓存中的对象版本来响应主请求。该图进一步显示,当在对象的最长寿命过期以后收到此类请求时,该工具无条件地发起次请求以获得对象的新版本。如果此类主请求是在最短寿命过期之后而在最长寿命过期之前接收到的,则该工具从概率上确定是使用对象的高速缓存版本,还是发起针对该对象的次请求。具体而言,该工具在表示应该对高速缓存对象进行一致性检査的0%和100%之间范围内,获取可配置概率值,比如在0和1之间范围内的10%。然后,该工具在这个范围内生成随机数,并且将该随机数和概率阈值进行比较。如果随机数低于概率阈值,那么该工具对高速缓存对象进行一致性检査,否则该工具使用该高速缓存对象。在一些实施例中,概率阈值对于每个对象或者对于全部对象是固定的。在一些实施例中,概率阈值对于一个或者更多个对象是可变的,比如在从对象最短寿命过期到对象最长寿命过期的时间段上不断增加,或者在该时间段上不断减小。
图4是示出了在响应主请求时工具为了管理高速缓存而典型执行的步骤的流程图。在步骤401,工具如上所述接收到主请求。在步骤402,
12工具对响应在步骤401收到的主请求所需的对象进行标识。在一些情况下,仅有一个对象需要用于响应主请求,该对象可能在主请求中被显式地标识出。在其它情况下,该工具必须使用外部资源,比如网页模
板,来确定哪些对象需要用于响应主请求。在步骤403-413,工具对步骤402中标识的每个对象进行循环。在步骤404,如果当前对象的版本包含在高速缓存中,并且这个高速缓存条目具有未过期的最短寿命,那么工具继续执行步骤405,否则工具继续执行步骤406。在步骤405,工具使用对象的高速缓存版本来构建对在步骤401收到的主请求的响应。在步骤405之后,工具继续执行步骤413。
在步骤406,如果高速缓存在最短寿命已过期而的最长寿命还未过期的条目中包含对象的版本,则工具继续执行步骤407,否则工具继续执行步骤409。在步骤407,工具在一定范围内,比如0和1之间,确定随机数。在步骤408,如果在步骤407中确定的随机数少于或者等于条件一致性检查概率阈值,那么工具继续执行步骤411以进行一组步骤,该组步骤等同于对高速缓存条目进行一致性检査。否则,该工具继续执行步骤405,使用对象的高速缓存版本。
在步骤409,工具调用以下将结合图5描述的发起次请求例程,以获取对象的最新版本。在步骤410,工具调用以下将结合图6描述的更新高速缓存例程,以更新高速缓存,使高速缓冲包含响应于次请求而返回的对象版本。在步骤410之后,工具继续执行步骤413。
在步骤411,工具调用发起次请求例程。在步骤412,工具调用以下将结合图7描述的一致性检査和对等协调例程,以比较在步骤411发起的次请求的结果和高速缓存中存储的版本,如果不同,向对等高速缓存提供指示,该指示说明它们针对这个对象的高速缓存条目可能已经失效。在步骤412之后,工具继续执行步骤410。
在步骤413,如果其他标识的对象需要被处理,那么工具继续执行步骤403,以处理下一标识的对象,否则工具继续执行步骤414。在步骤414,工具向主请求的发送方发送使用高速缓存的和/或者失效的对象来构建的、针对主请求的响应。在步骤414之后,工具继续执行步骤401,以接收下一主请求。
13本领域技术人员将理解,图4和下面将讨论的每一张流程图所示 的步骤可以多种方式来改变。比如,步骤顺序可以重新安排; 一些步
骤可以并行执行;所示的步骤可以被省略,或者可以包括其他步骤; 步骤可以更大或更小的粒度水平来执行;等等。
图5是示出了工具典型执行的步骤的流程图,这些步骤作为图4中 调用的发起次请求例程部分。在步骤501,工具向适当的数据源发起针 对对象的次请求。在步骤502,工具接收到来自向其发送次请求的数据 源的、针对步骤501中发起的次请求的响应。在一些实施例中,以事件 驱动的方式,使步骤502相对于步骤501被异步地执行,并且步骤502 是被次请求响应的到达所触发的。在步骤502之后,发起次请求例程返 回。
图6是示出了工具典型执行的步骤的流程图,这些步骤作为图4中 调用的更新高速缓存例程部分。在步骤601,如果条目存在,则工具从 本地高速缓存中去除来自对象的条目。在步骤602,工具针对次请求响 应中包括的对象版本,在本地高速缓存添加条目。工具为添加的条目 典型地建立新的最短和最长寿命,这些最短和最长寿命基于条目被添 加到高速缓存的时间。在一些实施例中,如果对象存在于高速缓存中, 则工具将步骤601和602组合,从而仅仅更新现有的高速缓存条目,而 不去除条目和添加新条目。在步骤603,工具使用次请求响应中包含的 对象版本来构建对主请求的响应。在步骤603之后,工具从失效对象例 程返回。
图7是示出了本发明工具典型执行的步骤的流程图,这些步骤作 为图4中调用的一致性检査合对等协调例程部分。在步骤701,如果包 含在次请求响应中的对象版本和对象的高速缓存版本相匹配,那么工 具继续执行步骤702,否则工具从一致性检查和对等协调的程序返回。
在步骤702,工具向任何对等高速缓存的管理器发送失效通知。 在一些实施例中,工具将来自当前高速缓存的数据提供方的失效通知 发送给针对每个对等高速缓存的数据提供方。在一些实施例中,针对 当前高速缓存的数据提供方向用于失效通知的中央交换所 (clearinghouse)发送失效通知,该中央交换所可以向针对每一个对
14等高速缓存的数据提供方转发该失效通知,或者使得该失效通知对于 针对任意或所有对等高速缓存的数据提供方而言是可获取的。在一些 实施例中,失效通知仅包含用于标识对象的信息(比如对象标识符), 用于从适当数据源获得对象的次请求的其他内容,或者用于在高速缓
存内标识对象的高速缓存键(key)。在这种实施例中,接收到失效通
知的对等高速缓存管理器可以从自己的高速缓存中去除任何匹配的条 目,或者可以通过向适当的数据源发起它自己的针对该对象的次请求 来刷新条目。在一些实施例中,失效通知包含在次请求响应中接收到 的对象的新版本的副本。在这种实施例中,接收到失效通知的对等高 速缓存管理器把对象的新版本替换到自己的高速缓存中,并且在一些 实施例中,对该对象的对象寿命进行重置。在一些实施例中,发送的
失效通知包含对象老版本内容的摘要(digest)表示,比如使用MD5 哈希算法等哈希算法生成的摘要表示。在这种实施例中,接收到失效 通知的对等高速缓存管理器仅仅在对象内容的摘要表示与自己高速缓 存的对象版本的摘要表示相匹配时,才处理失效通知。在一些实施例 中,发送的失效通知包含在次请求响应中接收到的对象的新版本的摘 要表示。在这种实施例中,收到失效通知的对等高速缓存管理器仅仅 在所包含的新值的摘要表示与自己高速缓存中对象版本的摘要表示不 匹配时,才处理失效通知。在一些实施例中,工具可以基于对象的大 小或者对象的一些其他属性,对失效通知中的具体内容进行变更。作 为一个示例,在特定大小阈值之下时,工具可以在失效通知中包括对 象的完整表示,而当超过该大小阈值时,仅包括摘要表示或者不包括 任何表示。在步骤702之后,工具从一致性检査和对等协调例程返回。 本领域技术人员将理解,上述工具可以多种方式被直接适配或者 扩展。例如,工具可以用于管理单个或具有多种不同配置的多个对等 高速缓存,对来自服务或者其他多种类型数据源的多种不同类型的数 据进行高速缓存。无数的方法可以用于设置最短和最长寿命持续时间、 以及失效概率阈值。不同的技术可以用于协调对等高速缓存。尽管以 上内容描述了具体实施例,但是本发明的范围仅由所附的权利要求和 其中引述的元素来定义。
1权利要求
1. 一种管理高速缓存的方法,包括接收针对对象的请求;如果高速缓存不包含该对象的高速缓存版本,从与该对象相关联的源获得该对象的当前版本;如果高速缓存包含该对象的高速缓存版本,如果赋予该对象的高速缓存版本的最短寿命还未过期,则使用该对象的高速缓存版本来响应接收到的请求;如果赋予该对象的高速缓存版本的最短寿命已过期,但是赋予该对象的高速缓存版本的最长寿命还未过期,则从概率上确定是获得该对象的当前版本还是使用该对象的高速缓存版本。
2. 根据权利要求l的方法,进一步包括 如果高速缓存不包含该对象的高速缓存版本,在高速缓存中存储获得的该对象的当前版本;基于在高速缓存中存储该对象的当前版本的时间,向该对象 的当前版本赋予最短寿命和最长寿命;并且使用该对象的当前版本来响应接收到的请求。
3. 根据权利要求2的方法,其中从概率上确定是获得该对象的当 前版本还是使用该对象的高速缓存版本包括确定一定范围内的随机或者伪随机数;如果所确定的数超过相对于该范围而确定的概率阈值,则使用 该对象的高速缓存版本来响应接收到的请求;如果赋予该对象的高速缓存版本的最长寿命已过期,或者如果 所确定的数没有超过所述概率阈值,对从与该对象相关联的源获得该对象的当前版本作出响应; 在高速缓存中存储该对象的当前版本;基于在高速缓存中存储该对象的当前版本的时间,向该对象的当前版本赋予最短寿命和最长寿命;以及使用该对象的当前版本来响应接收到的请求。
4. 根据权利要求3的方法,进一步包括, 如果所确定的数没有超过所述概率阈值确定所获得的该对象的当前版本是否不同于该对象的高速 缓存版本;以及如果所获得的该对象的当前版本不同于该对象的高速缓存 版本,则向一个或多个对等高速缓存的管理器发送失效通知。
5. —种用于执行根据权利要求1 4之一的方法的计算机程序。
6. —种计算机可读介质,其内容使计算系统执行用于确定是否对 高速缓存条目进行一致性检査的方法,所述方法包括随机或者伪随机地选择一定范围内的值;如果所选值满足该范围内的一致性检查阈值,则对条目进行一 致性检查;以及如果所选值不满足一致性检査阈值,则确定不对条目进行一致 性检査。
7. —个或多个计算机存储器,共同包含用于管理高速缓存条目的 高速缓存管理数据结构,所述一个或多个计算机存储器包括用于标识高速缓存条目的最短寿命过期的时间的信息;以及用于标识高速缓存条目的最长寿命过期的时间的信息,使得能够确定对高速缓存条目进行访问的时间是在最短寿命过期之前,在最短寿命过期之后但是在最长寿命过期之前,还是在最长寿命过期之后,并且使得在最短寿命过期之前进行访问时,能够无条件使用高 速缓存条目,在最短寿命过期之后但是在最长寿命过期之前进行访问 时,能够从概率上对高速缓存条目进行一致性检査,以及在最长寿命过期之后进行访问时,能够无条件地使高速缓存条目失效。
8. 根据权利要求7的计算机存储器,其中所述数据结构进一步包 括用于指定一致性检査概率值的信息,使得在最短寿命过期之后但是 在最长寿命过期之前访问高速缓存条目时,能够通过如下方式从概率 上对高速缓存条目进行一致性检查生成随机值或者伪随机值;如果生成的值未超过指定的一致性检查概率值,则对高速缓存 条目进行一致性检查;以及如果生成的值超过了指定的一致性检査概率值,则使用高速缓 存条目。
9. 一种用于确定是否在第一时间使高速缓存条目失效的设备,所述高速缓存条目的现有内容是在第二时间存储的,所述设备包括用于向第二时间添加第一时间量以获得第三时间的装置;用于向第二时间添加比第一时间量长的第二时间量以获得第四时间的装置;用于在第一时间位于第三时间之前时确定使用高速缓存条目而 不对高速缓存条目进行一致性检查的装置;用于在第一时间位于第四时间之后时使高速缓存条目失效的装置;用于在第一时间位于第三时间和第四时间之间时进行如下操作 的装置随机或者伪随机地选择一定范围内的值;如果所选值满足在该范围内的一致性检查阈值,则对高速缓 存条目进行一致性检查;以及如果所选值不满足一致性检査阈值,则确定使用高速缓存条 目而不对高速缓存条目进行一致性检查。
10. 根据权利要求9的设备,进一步包括用于确定一致性检査阈值以反映第 一 时间从第三时间向第四时间过渡的进展程度的装置。
11. 根据权利要求9的设备,进一步包括 用于确定己从与高速缓存条目的内容相关联的源接收到显式失效通知的装置;以及用于响应于该确定来使高速缓存条目失效而不考虑第一时间与 第三和第四时间的关系的装置。
12. 根据权利要求9的设备,其中对高速缓存条目进行一致性检查 的装置包括用于从与高速缓存条目的内容相关联的源获得高速缓存条目的 内容的当前版本的装置;以及用于在高速缓存条目中存储所获得的高速缓存条目的内容的当 前版本的装置。
13. 根据权利要求12的设备,进一步包括用于在存储所获得的高速缓存条目的内容的当前版本之前,把 所获得的高速缓存条目的内容的当前版本与高速缓存条目的现有内容进行比较的装置;以及用于在存储所获得的高速缓存条目的内容的当前版本之前,当 所获得的高速缓存条目的内容的当前版本与高速缓存条目的现有内容 不同时,向对等高速缓存的管理器发送失效通知的装置。
14. 根据权利要求13的设备,其中失效通知标识如下数据高速缓存条目的内容构成该数据的值,但是失效通知不包含该数据的值的任何表示。
15. 根据权利要求14的设备,其中对等高速缓存的管理器响应于接收到失效通知,使对等高速缓存中包含由失效通知标识的数据的值 的高速缓存条目失效。
16. 根据权利要求13的设备,其中失效通知标识如下数据高速 缓存条目的内容构成该数据的值,失效通知还标识高速缓存条目的当前内容的摘要表示,但是失效 通知不包括该数据的值的完整表示。
17. 根据权利要求16的设备,其中仅当对等高速缓存的高速缓 存条目的内容具有与失效通知包含的摘要表示相匹配的摘要表示时, 对等高速缓存的管理器才响应于接收到失效通知,使对等高速缓存中 包含由失效通知标识的数据的值的高速缓存条目失效。
18. 根据权利要求13的设备,其中失效通知标识如下数据高速 缓存条目的内容构成该数据的值,失效通知还标识所获得的高速缓存条目的内容的当前版本的摘要 表示,但是失效通知不包括该数据的值的完整表示。
19. 根据权利要求18的设备,其中仅当对等高速缓存的高速缓存条目的内容具有与失效通知包含的摘要表示不同的摘要表示时,对等 高速缓存的管理器才响应于接收到失效通知,使对等高速缓存中包含 由失效通知标识的数据的值的高速缓存条目失效。
20. 根据权利要求13的设备,其中失效通知标识如下数据高速缓存条目的内容构成该数据的值,失效通知还标识所获得的高速缓存条目的内容的当前版本的完整表不。
21. 根据权利要求13的设备,进一步包括基于所获得的高速缓存条目的内容的当前版本的大小,确定是否包括所获得的高速缓存条 目的内容的当前版本的完整表示。
22. 根据权利要求13的设备,进一步包括 用于确定从与高速缓存条目的内容相关联的源获得该高速缓存条目的内容的当前版本所需的时间量的装置;以及用于基于确定的时间量,确定是否包括所获得的该高速缓存条 目的内容的当前版本的完整表示的装置。
23. 根据权利要求13的设备,进一步包括基于从与高速缓存条目的内容相关联的源获得该高速缓存条目的内容的当前版本的相关成 本,确定是否包括所获得的该高速缓存条目的内容的当前版本的完整 表示的装置。
24. 根据权利要求20的设备,其中对等高速缓存的管理器包括响应于接收到失效通知,标识出对等高速缓存中包含由失效通知标识的数据的值的高速缓存条目的装置;以及响应于接收到失效通知,在对等高速缓存的所标识出的高速缓 存条目中,存储失效通知中包含的所获得的高速缓存条目的内容的当 前版本的装置。
全文摘要
描述了一种用于确定是否对高速缓存条目进行一致性检查的工具。该工具随机或者伪随机地选择一定范围内的值。如果所选值满足该范围内的预定一致性检查阈值,该工具对条目进行一致性检查,并且可以决定向其他高速缓存管理器传播该信息。另一方面,如果所选值不满足一致性检查阈值,该工具就确定不对条目进行一致性检查。
文档编号G06F12/00GK101512497SQ200780032834
公开日2009年8月19日 申请日期2007年8月21日 优先权日2006年8月21日
发明者内文·沙阿, 奥兹冈·尔多甘, 托拜厄斯·霍格尔斯, 赖安·斯诺德格拉斯, 赫马特·巴努 申请人:亚马逊技术有限公司