CN100437519C - 用于管理被存储在高速缓存中的对象的系统和方法 - Google Patents

用于管理被存储在高速缓存中的对象的系统和方法 Download PDF

Info

Publication number
CN100437519C
CN100437519C CNB2004100558067A CN200410055806A CN100437519C CN 100437519 C CN100437519 C CN 100437519C CN B2004100558067 A CNB2004100558067 A CN B2004100558067A CN 200410055806 A CN200410055806 A CN 200410055806A CN 100437519 C CN100437519 C CN 100437519C
Authority
CN
China
Prior art keywords
strategy
weighting
formation
equipment
speed cache
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.)
Expired - Fee Related
Application number
CNB2004100558067A
Other languages
English (en)
Other versions
CN1581107A (zh
Inventor
D·C·斯蒂尔
B·奥斯特
凌云
M·萨姆基
N·弗克
S·P·帕迪卡
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1581107A publication Critical patent/CN1581107A/zh
Application granted granted Critical
Publication of CN100437519C publication Critical patent/CN100437519C/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明针对一种用于管理和驱逐被存储在高速缓存中的对象的系统和方法。本发明提供了一种机制,该机制用于根据为被存储在该高速缓存中的每个对象而计算的加权来确定驱逐哪些对象。该加权由至少两个因素(包括文件大小、文件类型、主用户、最后的访问时间和类似的因素)和这些因素中的每个因素的相对重要性来确定。关于每个对象的该加权可能被自发地确定,并且/或者可能在发生触发事件时被确定。可以从适用于一台或几台计算机的策略中获得这些因素及其相对重要性。

Description

用于管理被存储在高速缓存中的对象的系统和方法
背景技术
分布式网络(例如,因特网)十分常见.在分布式网络中,有一台或多台客户计算机以及一台或多台服务器计算机.这些服务器计算机存储与这些客户计算机有关的内容.该内容包括“超文本标记语言”(HTML)页、图像文件、文字处理文件和其他对象.为了获得该内容,客户计算机向服务器计算机发送请求(例如,经由链接).该请求规定驻留在该服务器计算机上的所需对象.该服务器计算机作出答复,该对象被下载到该客户计算机.
为了促进该服务器计算机与该客户计算机之间的更快速的交互作用,人们开发了客户方超高速缓存(CSC)技术,以便一旦对象被下载,就存储这些对象.例如,当客户方超高速缓存可用时,该客户计算机可能首先检验其高速缓存,以确定所规定的对象的副本是否已从前一次下载而被存储在本地的该高速缓存中.如果该对象已被存储在该高速缓存中,则该客户计算机可以使用这个被高速缓存的对象,而不用再次下载该对象.这样,该客户计算机节省了时间,因为不需要下载部分该内容.这会使该服务器计算机与该客户计算机之间的交互作用更快.
除了增加该服务器计算机与该客户计算机之间的交互作用次数以外,客户方超高速缓存也可以允许实行对对象的脱机访问.例如,如果该客户方超高速缓存执行持续不断的高速缓存,则当该客户计算机不与该服务器计算机连接时,该客户计算机上的用户可以获得已被高速缓存的对象.可以被存储在该持久高速缓存中的对象的数量取决于该高速缓存的尺寸.通常,该高速缓存是该磁盘空间的某个百分比,或者可能有固定的尺寸.一旦该高速缓存装满,就除去被存储在该高速缓存中的部分对象,以便为这些新对象提供高速缓存空间.
当前,对象被驱逐(evicted)是根据上次访问该对象的时间.这样,最新近访问的对象被保存在该高速缓存中,自从访问以后经历最长时间的对象被驱逐.对象被驱逐,直到有充足的高速缓存空间可用为止.关于一些实施,用户可能会明确地要求:对象始终保留在该高速缓存中(一般被称作“销住”)。这些“被销住”的对象不会从该高速缓存中被驱逐出去.在一些情况下,这些“被销住”的对象可能会与该高速缓存分开地加以存储(例如,在用户空间中).
在本发明之前,用于管理对象并将对象从该高速缓存中驱逐出去的更加复杂的方法总是让本领域的普通技术人员们感到困惑不已.
发明内容
本发明涉及一种用于管理和驱逐被存储在高速缓存中的对象的系统和方法.本发明提供了一种机制,该机制用于根据为被存储在该高速缓存中的每个对象而计算的加权来确定驱逐哪些对象.该加权由至少两个因素(包括文件大小、文件类型、主用户、最后的访问时间和类似的因素)和这每个因素的相对重要性来确定.关于每个对象的该加权可能被自发地确定,并且/或者可能在发生触发事件时被确定.可以从适用于一台或几台计算机的策略中获得这些因素及其相对重要性.当策略中规定这些因素时,这些客户计算机不需要为适当的驱逐行为而加以单独的配置.在大企业中,这个策略驱动驱逐机制要求较少的管理费用,这会产生重大的储蓄.
附图说明
图1示出可以被用于本发明的说明性实施中的示范计算设备.
图2是其中可以具体表现本发明的实施的分布式联网环境的功能框图纵览.
图3是根据本发明的一项实施的、可能由用于规定该驱逐策略的该高速缓存管理器软件来呈现的说明性屏幕显示.
图4是用于根据加权来管理高速缓存对象的一个实施例的图示.
图5是用于根据加权来管理高速缓存对象的另一个实施例的图示.
图6是逻辑流程图,展示了根据本发明的一个实施例的、用于管理高速缓存中的对象的过程.
图7是逻辑流程图,展示了根据本发明的一个实施例的、用于从高速缓存中驱逐对象的过程.
具体实施方式
本发明涉及一种用于管理被存储在高速缓存中的对象的系统和方法.本发明提供了一种用于确定驱逐哪些对象的机制.该机制将此确定建立在为该高速缓存中所存储的每个对象而计算的加权的基础上.该加权可能会受到许多因素(例如,文件大小、文件类型、主用户、最后的访问时间和类似的因素)的影响.关于每个对象的该加权可能自发地被确定,并且/或者可能在发生触发事件(例如,更新该对象)时被确定.此外,可以从策略中获得这些因素。
下文分成两个部分.下文的第一部分描述本发明可以在其中进行操作的说明性计算环境.下文的第二部分描述本发明的一项说明性实施.
示范性计算环境
图1展示了可以被用于本发明的说明性实施中的示范计算设备.参照图1,在很基本的配置中,计算设备100通常包括至少一个处理单元102和系统存储器104.系统存储器104可能是易失的(例如,RAM)、非易失的(例如,ROM、快闪存储器等)或这两者的某种组合,这取决于计算设备100的确切的配置和类型。系统存储器104通常包括操作系统105、一个或多个程序模块106,并可能包括程序数据107.程序模块106的例子包括浏览器应用程序、金融管理应用程序、文字处理器和类似物.在图1中,通过虚线108内的那些部件,展示了这种基本配置.
计算设备100可能具有额外的特点或功能性.例如,计算设备100也可能包括附加的数据存储设备(可移动的和/或不可移动的)(例如,磁盘、光盘或磁带).在图1中,通过可移动存储器109和不可移动的存储器110,展示了这种附加的存储器.计算机存储介质可以包括易失和非易失的可移动和不可移动的介质,该介质用关于信息(例如,计算机可读指令、数据结构、程序模块或其他数据)存储的任何方法或技术来加以执行.系统存储器104、可移动存储器109和不可移动的存储器110都是计算机存储介质的例子.计算机存储介质包括(但不局限于)RAM、ROM、EEPROM、快闪存储器或其他存储技术、CD-ROM、数字通用光盘(DVD)或其他光学存储器、盒式磁带、磁带、磁盘存储器或其他磁性存储设备、或可以被用来存储所需信息并可以由计算设备100来存取的任何其他的介质.任何这类计算机存储介质都可能是设备100的一部分.计算设备100也可能具有输入设备112(例如,键盘、鼠标、笔、语音输入设备、接触式输入设备等).诸如显示器、扬声器、打印机等输出设备114也可能被包括在内.这些设备在该技术领域中众所周知,这里不需要详细讨论.
计算设备100也可能包含允许设备100与其他计算设备118进行通信的通信连接116(例如,在网络上).通信连接116是通信介质的一个例子.通信介质通常可以由计算机可读指令、数据结构、程序模块或调制数据信号(例如,载波或其他传送机制)中的其他数据来具体表现,它包括任何信息传递介质.术语“调制数据信号”意味着一种信号,其一个或多个特征按这种方式来加以设置或更改,以便为该信号中的信息编码.举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其他无线介质).如这里所使用的该术语“计算机可读介质”既包括存储介质,又包括通信介质.
说明性实施
图2是可以在其中具体表现本发明的实施的分布式联网环境200的功能框图纵览.如图2所示,两台或更多台计算机(例如,服务器计算机(在下文中被称作“服务器202”)和客户计算机220)在网络205上被连接.服务器202和客户计算机220可能是计算设备(例如,以上结合图1而描述的计算设备).这些计算机可以在团体环境中被加以连接,在该团体环境中,网络205可能是局域网或广域网.同样,这些计算机可以在广域网(例如,因特网)上被任意连接。
服务器202是计算设备,它被配置成:使与网络205连接的其他计算设备可以获得资源.服务器202可以包括Web服务软件,以供应因特网相关资源(例如,“超文本标记语言”(HTML)文档和类似的资源).服务器202包括用于存储这些资源(即内容210)的存储器.服务器202使其他计算设备(例如,客户计算机202)可以在网络205上获得内容210.
客户计算机220是被配置成执行在本地运行的应用程序并且与网络205上的其他计算机连接的计算设备.如所示,客户计算机220包括高速缓存228.该高速缓存在物理上可能位于RAM、硬盘中,或位于其他计算机可读介质上.高速缓存228包括瞬时高速缓存230,并可能包括用户空间232.该用户空间可能是该瞬时高速缓存的一部分,或者可能在分开的位置中.瞬时高速缓存230用于存留已从服务器202下载的内容.用户空间232也用于存留已从服务器202下载的内容.但是,与瞬时高速缓存230对比,用户空间232内的该内容通常不经历驱逐过程.相反,用户空间232内所存储的该内容被“销住”,从而意味着:它仍然可用,没有被驱逐.这样,用户空间232可能会发展,以容纳额外的内容.
客户计算机220包括用于在该网络上与其他计算机相互作用的其他应用程序.一个这样的应用程序是主机软件222(例如,因特网浏览软件)(在下文中被称作“浏览器222”).浏览器222与高速缓存管理器224进行通信.高速缓存管理器224被配置成:对浏览器224从服务器计算机202下载的内容进行高速缓存.简而言之,高速缓存管理器224访问驱逐策略226.该驱逐策略可能是本地策略、团体策略或类似的策略.驱逐策略226可能采取许多格式(例如,可扩展标记语言(XML)、用户界面(UI)、文本和类似的格式).以后将结合图3来描述一种用于创建驱逐策略226的说明性方法.驱逐策略226规定用于确定如何将加权分配给对象的因素.驱逐策略226可能包括任何数量的因素.示范因素包括(但不局限于)最后的访问时间、文件类型、已访问的用户的数量、源服务器指示、特殊目录、文件大小、所有者名称、所有者是否是主用户、下载成本、更新之间的时间、用户的设置优先权和类似的因素.
简而言之,客户计算机220的用户可以接任何常规方式来连接到服务器202.服务器202呈现Web页或使作为内容210而驻留在服务器计算机202上的文件(即对象)成为可用的其他某种资源.响应于该用户对链接或类似物的选择,服务器202进行到该基础对象.在一个实施例中,该高速缓存管理器负责确定:该对象是否已被存储在高速缓存228中,或者,该对象是否需要从服务器202那里被移下到客户计算机230.如果该对象需要被移下到该客户计算机,则高速缓存管理器224负责确定:高速缓存228中是否有用于存留该对象的充足的空间.如果没有充足的空间,则高速缓存管理器224根据本发明来执行驱逐过程.如果有充足的空间,则高速缓存管理器224对瞬时高速缓存230中的该对象进行高速缓存,并且根据本发明来将加权应用于该对象.图6和图7分别展示了用于应用加权和驱逐对象的示范流程图.
图3是根据本发明的一项实施的、可能由用于规定驱逐策略的该高速缓存管理器软件来呈现的说明性屏幕显示.精通该技术领域的人将会理解:可以使用各种实施来创建驱逐策略(例如,文本编辑器、XML和类似物).图3中所展示的该示范实施包括显示300,显示300包括标准框302.标准框302识别当为对象分配加权时所考虑的一个或多个因素(例如,因素310-316).每个因素310-316具有关联的调整框(例如,尺寸调整320).该调整框规定该标准应该如何影响该加权.例如,在图3中,已选择尺寸因素310。这样,展示了尺寸调整框320.在该尺寸调整框内,显示文件大小(例如,0~10K)的清单和关联的调整.例如,如果正在被评估的该对象是15千字节,则不对该加权进行调整.但是,如果该对象比10兆字节更大,则对该加权进行调整.在图7中展示了并结合图7描述了一个实施例,该实施例用于根据这些因素和这些调整来计算对象的该加权.虽然未示出,但是,精通该技术领域的人将会理解:其他因素(因素312-316)中的每个因素将具有关联的调整框,该关联的调整框允许用户或系统管理员设置关于该标准的调整.
图3示出用于规定策略的一个实施例,而精通该技术领域的人将会理解:在不脱离本发明的前提下,也可以使用其他技术.例如,可以使用XML文档来描述该策略.该策略一旦被定义,就可以用于团体,或者可以用于本地计算机.当该策略用于团体时,该系统管理员可以为该团体内的每台计算机使用所规定的这项策略.通过使用用于定义该驱逐机制的团体策略,可允许实行一致、容易的管理.
图4是用于根据加权来管理高速缓存对象的一个实施例的图示.关于这个实施例,加权的优先队列400作为双键链接清单来加以执行.每个链接(即链接420-426)包括正向指针(例如,正向指针430)和反向指针(例如,反向指针432).正向指针430定位下一个链接,反向指针432定位前一个链接.此外,每个链接420-426包括高速缓存指针(例如,高速缓存指针434).高速缓存指针434定位被存储在该高速缓存中的对象.树状物402用图表展示了被存储在该高速缓存中的这些对象的结构。每个对象由对象名408(例如,File1-1)来识别,并由路径406(例如,“¥¥Server1¥Share1”)来进一步识别.然后,高速缓存指针434独特地识别该对象(例如,通过路径406和对象名408).
根据本发明,加权的优先队列400中的每个链接420-426进一步包括加权(例如,加权436).根据在该策略中被规定的各种因素,来分配该加权.然后,根据该加权,来为优先队列400中的链接420-426分等级.例如,可以从最高加权到最低加权地来为链接420-426分等级.如以下将要描述的,通过根据加权来为它们分等级,在必要时,该高速缓存管理器可以有效率地将较低优先权对象从该高速缓存中驱逐出去.
图5是用于根据加权来管理高速缓存对象的另一个实施例的图示.在这个实施例中,可能会有几个加权的优先队列(例如,优先队列500-506)。每个优先队列500-506表现了关于清理该高速缓存的不同的理由.例如,一个队列可能为了释放空间而把这些对象区分优先次序;另一个队列可能为了清除感测信息和类似物而把对象区分优先次序.每个队列具有与它关联的不同的策略,并具有关于这些对象的不同的加权分配.这样,每个队列根据在该关联的驱逐策略中被规定的这些因素,来为这些链接分等级.
在进一步的明确表达中,每个队列内的每个链接可以定位元数据450.元数据450包括关于该高速缓存中的每个对象的元数据对象(例如,元数据对象452).根据一个实施例,对于每个超高速缓冲输入而言,有一个元数据对象.元数据对象452包括定位该高速缓存中的这个实际对象的高速缓存Ptr(cachePtr),以及指向队列500-506中的每个队列的队列指针.如以下将要详细描述的,元数据对象452允许从任何队列中查找对象的位置并且随后将该对象从所有这些队列中容易地除去.例如,如所展示的,每个队列具有指向元数据对象454的链接.这样,如果队列504正在执行驱逐过程,则该过程可以为驱逐而识别元数据对象454.然后,可以容易地使用元数据对象454,以识别这些其他的队列中的每个链接,不管那些其他的队列中的该等级/位置如何,都需要除去这些队列.
图6是逻辑流程图,展示了根据本发明的一个实施例的、用于管理对象的过程600.每次访问对象、在进行某项用户选择时触发对象、在发生某个预定事件时触发对象或发生类似的情况,都可能自发地执行过程600.此外,当策略已改变时,可以执行过程600.过程600在方框601处开始,在那里,已为特殊的队列而按某种方式激活该加权过程.该过程在方框602处继续进行.
在方框602处,获得与这个特殊的队列关联的该驱逐策略.该驱逐策略可能是本地策略或团体策略.关于该驱逐策略的格式可以采取几种形式(例如,XML文档、文本文件、二进制文件和类似物)中的一种形式.一般而言,该驱逐策略规定在为对象分配加权时应该加以考虑的这些因素.在决定框604处继续执行处理.
在方框604处,获得该策略中的标准之一.如图3所示,每项策略可以根据几个因素来为对象计算该加权.此外,每项标准将规定关于该对象的调整.在方框606处进行执行处理.
在方框606处,确定关于该标准的值.在一个实施例中,通过应用关于该标准的调整,来确定这个值.回头参考图3,例如,如果文件是15MB,则关于该尺寸标准的这项调整是一年.在决定框608处继续执行处理。
在决定框608处,确定该策略是否包括另一标准.如果有另一标准,则处理返回到方框604,并且为该新标准而如上所述继续进行.一旦已为该策略中的每项标准确定值,处理就进行到方框610.
在方框610处,为该对象计算加权.该加权基于为该标准而确定的这些值中的一个值.在一个实施例中,通过将每个值与该对象的绝对年龄(例如,自从1970年1月1日以后的秒数)合计,来计算该加权.这样,假设在时间T访问过该对象,则该加权将会等于T、该尺寸调整值、该所有者调整值与其他调整值的总和.这样,今天访问过的很大的文件可能具有类似于一个月以前访问过的较小文件的加权.在方框612处继续执行处理.
在方框612处,利用所计算的这个加权来更新该队列.在另一个实施例中,也可以更新该元数据.例如,如果该对象是新的对象,则可以创建该队列中的新链接,并可以创建新的元数据对象.在决定框614处继续执行处理.
在决定框614处,确定是否有需要被更新的另一个队列。由于每个队列出于其自己的最佳高速缓存驱逐目的而为这些对象分类,因此,每个队列计算其自己的加权,并将它分配给该对象.这样,通常,当有多个队列时,更新每个队列.但是,在某些情况下,只可以更新一个队列.例如,如果策略改变并且只影响一个队列,则将会只更新那个队列中的这些对象.所以,在决定框614处,如果没有另一个队列,则处理结束.否则,在方框616处继续执行处理.
在方框616处,识别另一个队列,用于处理.然后,处理返回到方框602,并如上所述继续进行.由于元数据对象已经为这个对象而存在,因此,在方框612处,更新该元数据对象中的这个队列指针,以便定位当前正在被处理的该队列中的这个链接.
一旦加权过程600完成,曾需要更新的每个队列将已利用关于该对象的新加权来加以更新.精通该技术领域的人将会理解:当策略改变时,为该高速缓存内的每个对象执行方框604-612内的处理.该高速缓存管理器现在可以根据这些队列中的任何队列来容易地确定驱逐哪些对象,以下将结合图7来对此加以描述.
图7是逻辑流程图,展示了根据本发明的一个实施例的、用于根据这个被分配的加权来将对象从高速缓存中驱逐出去的过程.过程700在方框701处开始,在那里,该高速缓存管理器已确定:一些对象需要从该高速缓存中被驱逐出去.该过程在方框702处继续进行.
在方框702处,根据“这些对象需要被驱逐”这个理由,来获得策略。如上所述,可能有一种策略,该策略根据空间考虑事项、感测信息和再次被访问的可能性来使这些对象加权.在方框703处继续执行处理.
在方框703处,该高速缓存管理器访问与该策略关联的这个优先队列.通常,出于特殊的目的(例如,为额外的对象提供可用的空间)来进入过程700.这样,该高速缓存管理器知道哪个队列负责根据这个目的(例如,策略)来驱逐对象,并且访问那个队列.在方框704处继续执行处理.
在方框704处,该高速缓存管理器根据它在这个对应的队列内的位置(即“等级评定”),来从该队列内选择对象.例如,在一个实施例(其中,使用被评为最重要等级的双键链接清单,来执行这个对应的队列)中,该高速缓存管理器开始选择重要性最低的对象.在方框706处继续执行处理.
在方框706处,从所有这些队列中删除该对象.为了在该高速缓存中所存储的这些对象上使其他队列保持最新,如果正在一个队列中删除对象,则每个队列一定具有被删除的相同的对象.否则,这些其他的队列将包含对不存在的对象的参考.在执行该元数据的这个实施例中,从每个队列中删除该对象是相对简单明了的操作.使用与该对象关联的该元数据对象内的每个队列指针,来定位这个关联的队列中的该对象.然后,从该队列中除去那个链接。在方框708处继续执行处理.
在方框708处,除去该高速缓存内的这个对象.这可能涉及:从该高速缓存中删除这个对象,设置指出“这个对象已被删除”的标记,或类似的内容.在决定框710处继续执行处理.
在决定框710处,确定是否需要驱逐其他对象.例如,如果没有充足的空间,则处理返回通过方框704-708,以驱逐另一个对象.同样,如果感测信息的上限(upper threshold)仍然存在,则处理可能会返回通过方框704-708,以驱逐另一个对象.一旦不需要驱逐更多的对象,处理就继续进行到结束.
这样,如所描述的,本发明提供了一种用于管理对象的方法,该方法允许根据这些对象与该高速缓存内的其他对象相比而言的相对重要性来有效率地驱逐这些对象.这允许该高速缓存管理器为如该策略所定义的重要对象而有效率地利用其高速缓存.
以上的说明书、例子和数据完整地描述了本发明的各部分的制造和使用.由于在不脱离本发明的精神和范围的前提下可以产生本发明的许多实施例,因此,本发明存在于附加的权利要求书中.

Claims (55)

1.一种用于执行管理高速缓存内的对象的方法,该方法包括:
通过将对象的绝对年龄与值相加来为被存储在高速缓存中的一队列内的多个对象中的每个对象确定加权,其中所述值与一驱逐策略中规定的多个因素相关,并且所述驱逐策略与所述队列相关;
根据该加权,来为所述队列内的这多个对象中的每个对象确定等级;
为这多个对象中的每个对象存储等级;以及,
从该高速缓存内删除低优先权对象,该低优先权对象具有这多个对象之中的最低等级。
2.如权利要求1的方法,其特征在于,确定该加权基于至少两个因素。
3.如权利要求1的方法,其特征在于,确定该加权包括:应用关于与该对象关联的多个因素中的每个因素的调整。
4.如权利要求3的方法,其特征在于,从所述驱逐策略中获得关于这多个因素中的每个因素的该调整。
5.如权利要求4的方法,其特征在于,所述驱逐策略包括关于几台计算机的团体策略。
6.如权利要求4的方法,其特征在于,经由XML文档来定义所述驱逐策略。
7.如权利要求4的方法,其特征在于,经由用户界面来定义所述驱逐策略。
8.如权利要求1的方法,其特征在于,存储该等级包括:将该加权存储在链接清单中的链接内;该链接与这多个对象中的一个对象关联,并且,该链接包括对这一个对象的参考,它唯一地识别该高速缓存内的这一个对象。
9.如权利要求1的方法,其特征在于,确定加权包括:
为每个因素确定值;以及,
将这些被确定的值中的每个值应用于所述绝对年龄。
10.如权利要求9的方法,其特征在于,所述绝对年龄包括自从预定时间以后的秒数。
11.如权利要求1的方法,其特征在于:进一步包括:获得所述驱逐策略,该驱逐策略描述关于与这些对象关联的多个因素的调整,当确定该加权时,使用该调整。
12.如权利要求1的方法,其特征在于,只要访问该对象,就执行对该加权的确定。
13.如权利要求1的方法,其特征在于,只要改变影响该加权确定的驱逐策略,就执行对该加权的确定。
14.一种用于执行将对象从高速缓存中驱逐出去的方法,该方法包括:
获得与该驱逐目的有关的策略;
访问对应于该策略的队列;
通过将对象的绝对年龄与值相加来为所述队列内的每个对象确定加权,其中所述值与所述策略中规定的因素相关;
根据该加权,来为所述队列中的每个对象确定等级;
根据该队列内的对象的所述等级,来选择该队列内的对象;
从该队列中删除这个对象;以及,
从该高速缓存中删除这个对象。
15.如权利要求14的方法,其特征在于,该策略定义至少两个因素,并规定关于这至少两个因素中的每个因素的调整。
16.如权利要求14的方法,其特征在于,该策略是适用于几台计算机的团体策略。
17.如权利要求14的方法,其特征在于,经由XML文档来定义该策略。
18.如权利要求14的方法,其特征在于,经由用户界面来定义该策略。
19.如权利要求14的方法,其特征在于,选择该对象包括:从链接清单内的多个链接当中识别一个链接;这多个链接中的每个链接与被存储在该高速缓存内的多个对象中的一个对象相关联,这个被识别的链接的重要性最低。
20.如权利要求14的方法,其特征在于,进一步包括:从另一个队列中删除该对象,这另一个队列根据另一项策略来为这些对象分等级。
21.如权利要求14的方法,其特征在于:进一步包括:访问元数据;该元数据为该对象识别该高速缓存内的位置,并为多个队列中的每个队列识别与该对象关联的链接。
22.如权利要求21的方法,其特征在于:进一步包括:根据与每个队列的该对象关联的该链接,从这多个队列中删除该对象。
23.一种用于执行管理高速缓存内的对象的设备,包括:
用于通过将对象的绝对年龄与值相加来为被存储在高速缓存中的一队列内的多个对象中的每个对象确定加权的装置,其中所述值与一驱逐策略中规定的多个因素相关,并且所述驱逐策略与所述队列相关;
用于根据该加权,来为所述队列内的这多个对象中的每个对象确定等级的装置;
用于为这多个对象中的每个对象存储等级的装置;以及,
用于从该高速缓存内删除低优先权对象,该低优先权对象具有这多个对象之中的最低等级的装置。
24.如权利要求23的设备,其特征在于,所述用于确定加权的装置基于至少两个因素确定该加权。
25.如权利要求23的设备,其特征在于,所述用于确定加权的装置包括:用于应用关于与该对象关联的多个因素中的每个因素的调整的装置。
26.如权利要求25的设备,其特征在于,还包括用于从所述驱逐策略中获得关于这多个因素中的每个因素的该调整的装置。
27.如权利要求26的设备,其特征在于,所述驱逐策略包括关于几台计算机的团体策略。
28.如权利要求26的设备,其特征在于,经由XML文档来定义所述驱逐策略。
29.如权利要求26的设备,其特征在于,经由用户界面来定义所述驱逐策略。
30.如权利要求23的设备,其特征在于,用于存储等级的装置包括:用于将该加权存储在链接清单中的链接内的装置;该链接与这多个对象中的一个对象关联,并且,该链接包括对这一个对象的参考,它唯一地识别该高速缓存内的这一个对象。
31.如权利要求23的设备,其特征在于,用于确定加权的装置包括:
用于为每个因素确定值的装置;以及,
用于将这些被确定的值中的每个值应用于所述绝对年龄的装置。
32.如权利要求31的设备,其特征在于,所述绝对年龄包括自从预定时间以后的秒数。
33.如权利要求23的设备,其特征在于:进一步包括:用于获得所述驱逐策略的装置,该驱逐策略描述关于与这些对象关联的多个因素的调整,当确定该加权时,使用该调整。
34.如权利要求23的设备,其特征在于,只要访问该对象,就执行用于确定加权的装置。
35.如权利要求23的设备,其特征在于,只要改变影响该加权确定的驱逐策略,就执行用于确定加权的装置。
36.一种用于执行将对象从高速缓存中驱逐出去的设备,包括:
用于获得与该驱逐目的有关的策略的装置;
用于访问对应于该策略的队列的装置;
用于通过将对象的绝对年龄与值相加来为所述队列内的每个对象确定加权的装置,其中所述值与所述策略中规定的因素相关;
用于根据该加权,来为所述队列中的每个对象确定等级的装置;
用于根据该队列内的对象的所述等级,来选择该队列内的对象的装置;
用于从该队列中删除这个对象的装置;以及,
用于从该高速缓存中删除这个对象的装置。
37.如权利要求36的设备,其特征在于,该策略定义至少两个因素,并规定关于这至少两个因素中的每个因素的调整。
38.如权利要求36的设备,其特征在于,该策略是适用于几台计算机的团体策略。
39.如权利要求36的设备,其特征在于,经由XML文档来定义该策略。
40.如权利要求36的设备,其特征在于,经由用户界面来定义该策略。
41.如权利要求36的设备,其特征在于,用于选择对象包括:用于从链接清单内的多个链接当中识别一个链接的装置;这多个链接中的每个链接与被存储在该高速缓存内的多个对象中的一个对象相关联,这个被识别的链接的重要性最低。
42.如权利要求36的设备,其特征在于,进一步包括:用于从另一个队列中删除该对象的装置,这另一个队列根据另一项策略来为这些对象分等级。
43.如权利要求36的设备,其特征在于:进一步包括:用于访问元数据的装置;该元数据为该对象识别该高速缓存内的位置,并为多个队列中的每个队列识别与该对象关联的链接。
44.如权利要求43的设备,其特征在于:进一步包括:用于根据与每个队列的该对象关联的该链接,从这多个队列中删除该对象的装置。
45.一种用于管理高速缓存内的对象的设备,包括:
第一部件,用于将对象从远程计算机下载到本地计算机;
第二部件,用于为被下载的每个对象分配加权、存储该加权并将该对象存储在该高速缓存中,所述第二部件进一步用于在该高速缓存内执行驱逐过程,所述第二部件包括:
用于获得与该驱逐目的有关的策略的装置;
用于访问对应于该策略的队列的装置;
用于通过将对象的绝对年龄与值相加来为所述队列内的每个对象确定所述加权的装置,其中所述值与所述策略中规定的因素相关;
用于根据该加权,来为所述队列中的每个对象确定等级的装置;
用于根据该队列内的对象的所述等级,在该队列内选择这个对象的装置;
用于从该队列中删除这个对象的装置;以及,
用于从该高速缓存中删除这个对象的装置。
46.如权利要求45的设备,其特征在于,所述策略指定至少两个因素,并根据重要性来为这至少两个因素区分优先次序。
47.如权利要求46的设备,其特征在于,该策略是适用于几台计算机的团体策略。
48.如权利要求46的设备,其特征在于,经由XML文档来定义该策略。
49.如权利要求46的设备,其特征在于,经由用户界面来定义该策略。
50.一种用于管理高速缓存内的对象的系统,其特征在于包括:
存储器,多个指令被载入该存储器;以及
用于执行所述多个指令以实现一种方法的处理器,包括:
用于通过将对象的绝对年龄与值相加来为被存储在高速缓存内的一队列内的多个对象中的每个对象确定加权的装置,其中所述值与一驱逐策略中规定的因素相关,并且所述驱逐策略与所述队列相关;
用于根据该加权,来为所述队列内的这多个对象中的每个对象确定等级的装置;
用于为这多个对象中的每个对象存储等级的装置;以及,
用于从该高速缓存内删除低优先权对象的装置,该低优先权对象具有这多个对象之中的最低等级。
51.如权利要求50的系统,其特征在于,用于确定加权的装置基于至少两个因素确定该加权。
52.如权利要求50的系统,其特征在于,用于确定加权的装置包括:用于应用关于与该对象关联的多个因素中的每个因素的调整的装置。
53.如权利要求52的系统,其特征在于,还包括用于从所述驱逐策略中获得所述多个因素的相对重要性。
54.一种用于将对象从高速缓存内驱逐出去的系统,其特征在于包括:
存储器,多个指令被载入该存储器;以及
用于执行所述多个指令以实现一种方法的处理器,包括:
用于通过将一对象的绝对年龄与值相加来为所述对象确定加权的装置,其中所述值与至少两个因素相关;
用于根据所述加权来从高速缓存内查找对象的位置的装置,所述加权指出:该对象是该高速缓存中的最不重要的对象;以及,
用于从该高速缓存中删除该对象的装置。
55.如权利要求54的系统,其特征在于,从一驱逐策略中获得所述至少两个因素。
CNB2004100558067A 2003-08-01 2004-07-30 用于管理被存储在高速缓存中的对象的系统和方法 Expired - Fee Related CN100437519C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/632,386 US7076611B2 (en) 2003-08-01 2003-08-01 System and method for managing objects stored in a cache
US10/632,386 2003-08-01

Publications (2)

Publication Number Publication Date
CN1581107A CN1581107A (zh) 2005-02-16
CN100437519C true CN100437519C (zh) 2008-11-26

Family

ID=33541543

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100558067A Expired - Fee Related CN100437519C (zh) 2003-08-01 2004-07-30 用于管理被存储在高速缓存中的对象的系统和方法

Country Status (5)

Country Link
US (1) US7076611B2 (zh)
EP (1) EP1503303A3 (zh)
JP (1) JP4263672B2 (zh)
KR (1) KR100908746B1 (zh)
CN (1) CN100437519C (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882139B2 (en) * 2003-09-29 2011-02-01 Xunlei Networking Technologies, Ltd Content oriented index and search method and system
US7418464B2 (en) * 2004-01-27 2008-08-26 International Business Machines Corporation Method, system, and program for storing data for retrieval and transfer
US7418560B2 (en) * 2004-09-23 2008-08-26 Sap Ag Centralized cache storage for runtime systems
US7590803B2 (en) * 2004-09-23 2009-09-15 Sap Ag Cache eviction
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US7580915B2 (en) * 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US20060143398A1 (en) * 2004-12-23 2006-06-29 Stefan Rau Method and apparatus for least recently used (LRU) software cache
US7512737B2 (en) * 2004-12-28 2009-03-31 Sap Ag Size based eviction implementation
US7437516B2 (en) * 2004-12-28 2008-10-14 Sap Ag Programming models for eviction policies
US7451275B2 (en) * 2004-12-28 2008-11-11 Sap Ag Programming models for storage plug-ins
US20060143256A1 (en) 2004-12-28 2006-06-29 Galin Galchev Cache region concept
US7694065B2 (en) 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US7523263B2 (en) * 2004-12-28 2009-04-21 Michael Wintergerst Storage plug-in based on shared closures
US20060143389A1 (en) * 2004-12-28 2006-06-29 Frank Kilian Main concept for common cache management
US7493449B2 (en) * 2004-12-28 2009-02-17 Sap Ag Storage plug-in based on hashmaps
US7971001B2 (en) * 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7539821B2 (en) * 2004-12-28 2009-05-26 Sap Ag First in first out eviction implementation
US7552284B2 (en) * 2004-12-28 2009-06-23 Sap Ag Least frequently used eviction implementation
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US7581066B2 (en) * 2005-04-29 2009-08-25 Sap Ag Cache isolation model
US7831634B2 (en) 2005-04-29 2010-11-09 Sap Ag Initializing a cache region using a generated cache region configuration structure
US20060282620A1 (en) * 2005-06-14 2006-12-14 Sujatha Kashyap Weighted LRU for associative caches
US7966412B2 (en) * 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
US7584201B2 (en) * 2005-08-10 2009-09-01 Qwest Communications International, Inc Management of mobile-device data
US20070094450A1 (en) * 2005-10-26 2007-04-26 International Business Machines Corporation Multi-level cache architecture having a selective victim cache
US7756922B2 (en) * 2006-01-27 2010-07-13 Oracle International Corporation Schema annotations for managing cached document fragments
US8356079B2 (en) * 2006-01-27 2013-01-15 Oracle International Corporation Schema annotations for cache management
US7685367B2 (en) * 2006-03-08 2010-03-23 Microsoft Corporation Multi-cache cooperation for response output caching
JP2009541877A (ja) * 2006-06-30 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・オブジェクトを制御する方法、システム、装置、及びコンピュータ・プログラム(放送情報をキャッシュする方法及び装置)
KR101128234B1 (ko) * 2006-08-23 2012-03-23 엘지전자 주식회사 메모리 접근 제어 장치 및 방법
US7536512B2 (en) * 2006-09-14 2009-05-19 International Business Machines Corporation Method and apparatus for space efficient identification of candidate objects for eviction from a large cache
US20080162821A1 (en) * 2006-12-27 2008-07-03 Duran Louis A Hard disk caching with automated discovery of cacheable files
US20080163063A1 (en) * 2006-12-29 2008-07-03 Sap Ag Graphical user interface system and method for presenting information related to session and cache objects
US20080307412A1 (en) * 2007-06-06 2008-12-11 Sony Computer Entertainment Inc. Cached content consistency management
US8271736B2 (en) * 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US20100318745A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Dynamic Content Caching and Retrieval
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
CN101969459B (zh) * 2009-09-30 2013-07-10 突触计算机系统(上海)有限公司 数据块分布控制方法及其装置
US8266153B2 (en) 2009-10-09 2012-09-11 Oracle International Corporation Determining and displaying application server object relevance
US8171228B2 (en) * 2009-11-12 2012-05-01 Oracle International Corporation Garbage collection in a cache with reduced complexity
US8144512B2 (en) * 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US20110289533A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Caching data in a content system
US9235530B2 (en) 2010-05-31 2016-01-12 Sandisk Technologies Inc. Method and system for binary cache cleanup
US8453154B2 (en) * 2010-10-04 2013-05-28 Qualcomm Incorporated System and method for managing memory resource(s) of a wireless handheld computing device
US8533393B1 (en) * 2010-12-14 2013-09-10 Expedia, Inc. Dynamic cache eviction
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8918602B2 (en) 2011-09-19 2014-12-23 International Business Machines Corporation Dynamically altering time to live values in a data cache
US9176885B2 (en) 2012-01-23 2015-11-03 International Business Machines Corporation Combined cache inject and lock operation
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US9489293B2 (en) * 2012-08-17 2016-11-08 Netapp, Inc. Techniques for opportunistic data storage
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9589039B2 (en) * 2012-12-13 2017-03-07 Sybase, Inc. Synchronization of metadata in a multi-threaded system
CN103544119B (zh) * 2013-09-26 2016-08-24 广东电网公司电力科学研究院 缓存调度方法与系统
EP2860940B1 (en) * 2013-09-27 2016-09-14 Alcatel Lucent Method for caching
US10270876B2 (en) 2014-06-02 2019-04-23 Verizon Digital Media Services Inc. Probability based caching and eviction
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US20160188490A1 (en) * 2014-12-26 2016-06-30 Intel Corporation Cost-aware page swap and replacement in a memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9734068B2 (en) * 2015-08-11 2017-08-15 International Business Machines Corporation Cost sensitive browser cache cleanup based on weighted probabilistic cached item usage
US20190012259A1 (en) * 2017-07-06 2019-01-10 Futurewei Technologies, Inc. Lba eviction in pcm media
KR102509487B1 (ko) * 2018-02-13 2023-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102223553B1 (ko) * 2018-09-20 2021-03-05 주식회사 인에이블와우 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
KR20200118994A (ko) 2019-04-09 2020-10-19 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
EP3876104B1 (en) 2020-03-03 2023-08-02 Technische Universität München Method for evicting data from memory
US11403397B2 (en) 2020-04-30 2022-08-02 Mcafee, Llc Cache system for consistent retrieval of related objects
US11481143B2 (en) 2020-11-10 2022-10-25 Red Hat, Inc. Metadata management for extent-based storage system
CN112506875B (zh) * 2020-12-15 2023-01-17 科大讯飞股份有限公司 文件存储方法、相关装置及文件存储系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180430A (zh) * 1995-03-31 1998-04-29 三星电子株式会社 不按顺序执行读写指令的存储器控制器
JPH11120013A (ja) * 1997-10-17 1999-04-30 Hitachi Ltd マルチプロセッサシステムにおける処理要求配分方式
US6349365B1 (en) * 1999-10-08 2002-02-19 Advanced Micro Devices, Inc. User-prioritized cache replacement
US20020053006A1 (en) * 2000-11-02 2002-05-02 Shinichi Kawamoto Cache control system
US6385699B1 (en) * 1998-04-10 2002-05-07 International Business Machines Corporation Managing an object store based on object replacement penalties and reference probabilities
CN1410893A (zh) * 2002-04-09 2003-04-16 智慧第一公司 具有预取指令的微处理器及预取至其高速缓存的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
US6101576A (en) * 1992-07-31 2000-08-08 Fujitsu Limited Method for saving generated character image in a cache system including a backup cache
JP4105260B2 (ja) * 1997-08-25 2008-06-25 富士通株式会社 情報処理装置
JP3288304B2 (ja) * 1998-07-01 2002-06-04 富士通株式会社 キャッシュ試験装置およびキャッシュ試験方法
US6542967B1 (en) * 1999-04-12 2003-04-01 Novell, Inc. Cache object store
JP4374094B2 (ja) * 1999-06-14 2009-12-02 株式会社ジャストシステム 情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6920607B1 (en) * 1999-12-15 2005-07-19 Microsoft Corp. Methods and systems for dynamically creating user interfaces
US6681298B1 (en) * 2000-07-12 2004-01-20 Powertv, Inc. Hypertext markup language cache system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180430A (zh) * 1995-03-31 1998-04-29 三星电子株式会社 不按顺序执行读写指令的存储器控制器
JPH11120013A (ja) * 1997-10-17 1999-04-30 Hitachi Ltd マルチプロセッサシステムにおける処理要求配分方式
US6385699B1 (en) * 1998-04-10 2002-05-07 International Business Machines Corporation Managing an object store based on object replacement penalties and reference probabilities
US6349365B1 (en) * 1999-10-08 2002-02-19 Advanced Micro Devices, Inc. User-prioritized cache replacement
US20020053006A1 (en) * 2000-11-02 2002-05-02 Shinichi Kawamoto Cache control system
CN1410893A (zh) * 2002-04-09 2003-04-16 智慧第一公司 具有预取指令的微处理器及预取至其高速缓存的方法

Also Published As

Publication number Publication date
EP1503303A2 (en) 2005-02-02
US7076611B2 (en) 2006-07-11
US20050027943A1 (en) 2005-02-03
KR100908746B1 (ko) 2009-07-22
JP4263672B2 (ja) 2009-05-13
JP2005056420A (ja) 2005-03-03
CN1581107A (zh) 2005-02-16
KR20050016048A (ko) 2005-02-21
EP1503303A3 (en) 2008-05-07

Similar Documents

Publication Publication Date Title
CN100437519C (zh) 用于管理被存储在高速缓存中的对象的系统和方法
CN102667772B (zh) 文件级分级存储管理系统、方法和设备
CN100517320C (zh) 跨越多个位置的存储池空间分配
RU2662636C2 (ru) Управление информацией и отображение информации в веб-браузерах
CN102640125B (zh) 分布式内容存储和取回
US20160357678A1 (en) Predictive caching and fetch priority
US6779119B1 (en) Actual and perceived response time, user interface, and security via usage patterns
US8396938B2 (en) Providing direct access to distributed managed content
US6243719B1 (en) Data caching apparatus, data caching method and medium recorded with data caching program in client/server distributed system
US20090307329A1 (en) Adaptive file placement in a distributed file system
US7899922B2 (en) Enterprise service oriented architecture for large file handling with document management system
CN109614347B (zh) 多级缓存数据的处理方法、装置、存储介质及服务器
CN111901294A (zh) 一种构建在线机器学习项目的方法及机器学习系统
CN101828166A (zh) 动态更新的虚拟列表视图
US11574025B2 (en) Systems and methods for managed asset distribution in a distributed heterogeneous storage environment
US11223528B2 (en) Management of cloud-based shared content using predictive cost modeling
CN111935025B (zh) 一种tcp传输性能的控制方法、装置、设备和介质
US20160188717A1 (en) Network crawling prioritization
JP2004280405A (ja) 情報提供システム及び情報提供方法、並びにコンピュータ・プログラム
US20240184742A1 (en) Quantum file management system
CN110781430A (zh) 互联网新型虚拟数据中心系统及其构造方法
US11379268B1 (en) Affinity-based routing and execution for workflow service
CN112214697A (zh) 网页处理方法、装置、计算机设备和存储介质
US20030101214A1 (en) Allocating data objects stored on a server system
CN114765612A (zh) 一种业务访问的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081126

Termination date: 20190730