TW200412497A - Method, system, and program for maintaining data in distributed caches - Google Patents

Method, system, and program for maintaining data in distributed caches Download PDF

Info

Publication number
TW200412497A
TW200412497A TW092117812A TW92117812A TW200412497A TW 200412497 A TW200412497 A TW 200412497A TW 092117812 A TW092117812 A TW 092117812A TW 92117812 A TW92117812 A TW 92117812A TW 200412497 A TW200412497 A TW 200412497A
Authority
TW
Taiwan
Prior art keywords
target
cache memory
data unit
target data
latest
Prior art date
Application number
TW092117812A
Other languages
English (en)
Other versions
TWI258657B (en
Inventor
Sandra K Johnson
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200412497A publication Critical patent/TW200412497A/zh
Application granted granted Critical
Publication of TWI258657B publication Critical patent/TWI258657B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)

Description

200412497 玖、發明說明: 【發明所屬之技術領域】 本發明有關一種維持資料於分散式快取記憶體之方法, 系統及程式。 【先前技術】 網際網路使用者通常從一中央網際網路伺服器要求資 料。當網際網路叉通流量及使用者數量以指數速率增加 時,要如何對使用者要求回傳資訊之目標維持一適時之反 應率’已成為網際網路資訊提供者所面臨的挑戰之一。對 服務日漸增加使用者數之需求的解決方案之一為··在不同 位置維持資料備份,以便從位於不同地理位置之鏡像飼服 器服務最接近該鏡像伺服器的使用者之使用者資料要求。 其它的解決方案還包括使用維持資料備份之分散式快取記 憶體,其中維持一中央目錄,以追蹤在該等分散式快取記 憶體伺服器内的資料。該快取記憶體伺服器可部署於一組 織内的不同點,以服務特定族群的客戶使用者。該中央目 錄提供映成,以在該等快取記憶體伺服器的該等物件上維 持資訊。 該陝取(Caching)和複製(Repiicati〇n)網際網路服務效能 (CRISP)計劃已發展出_網際網路快取服務,採用分散式代 理丨夬取记丨思髖,被建構為一群自主性的代理伺服器之集 合,經由一映成服務共享其内容。 k $目㈤已使用分散式快取記憶體以服務客戶的網址存 取要求在先Μ技藝中仍持續需要提供更進一步修改的技 86246 200412497 術來服務客戶網路要求,例如網際網路網址要求。 【發明内容】 已提供一種維持資料於分散式快取記憶體中之方法,系 統及程式。在至少一快取記憶體内維持一物件之一備份, 其中夕重快取記憶體可能具有該物件不同的版本,並且其 中該物件具有可修改的資料單元。每一快取記憶體内所維 持的每一物件皆維持更新資訊,其中每一物件在每一快取 圯fe fa内的更新資訊標示該物件,該快取記憶體包括該物 件;並標示是否已修改該物件内的每一資料單元。在接到 對一目標資料單元的一修改後,該單元位於一目標快取記 憶體的一目標物件内,更新該目標物件和目標快取記憶體 的更新資訊,以顯示該目標資料單元已被修改,而該目標 物件在任何其它快取記憶體内的更新資訊則顯示出該目標 資料單元尚未被修改。 在進一步實現中,在接收修改該資料單元的要求後,並 且若該目標物件和目標快取記憶體的更新資訊顯示出該目 標資料單元已被修改,則將該所接收到的修改施加至位於 該目標快取記憶體的目標物件内的資料單元。 仍為進一步之實現,在接受該修改之後,並且若該目標 物件和目標快取記憶體的更新資訊顯示出該目標資料單元 尚未被修改,則可能決定是否另一快取記憶體包括該目標 物件和一最新的目標資料單元值。若另一快取記憶體並未 包括該最新的目標資料單元值,則將該修改施加至位於該 目標快取記憶體的目標物件内的資料單元,並更新該目標 86246 200412497 物件和目標快取記憶體的更新資訊,以顯示該目標資料單 元已被修改,而該目標物件在任何其它快取記憶體内的更 新資訊則顯示出該資料單元尚未被修改。 也仍為進一步之實現,在接受該修改後,並且若該目標 物件和目標快取記憶體的更新資訊顯示出尚未修改該目標 資料單元’則可能決定是否另一快取記憶體包括該目標物 件和一最新的目標資料單元值。若另一快取記憶體包括該 取新的目標資料單元值,則從所決定的快取記憶體中提取 該最新目標資料單元值,並且以所提取的最新目標資料單 兀值更新該目標快取記憶體内的目標物件。 尚為進一步實現,在每一快取記憶體内,可能維持每一 物件的典效資訊,其中^_ /|dt J57 Λλ ^ . "Τ 氏取记〖思體内一物件的孩無效資 訊標示該物件内的每一資料單元為有效或無效。
【實施方式】 在以下敘述中,參考為發明 明本發明之數個具體實施例。 施例,並在結構和操作上加以 一邵份之附圖,該等附圖說 應了解,可採用其它具體實 改變,而不偏離本發明之範
’其中 圖1說明可實現本發aE!私_、 快取記憶體伺服器2a 86246 200412497 該中央伺服器4連接至該網際網路6,或先前技藝中已知之 任何其它類型之網路。該快取記憶體和中央伺服器2a, 2b…2n可包括先前技藝中已知之任何類型之計算元件,包 括伺服器級的機器,工作站,個人電腦,等。該快取記憶 體伺服器2a,2b...2n每一個皆耦合至一快取記憶體8a, 8b._.8n ’儲存為記憶體頁i〇a,丨〇b.·· l〇n為經由該網際網路6 下載的網址頁。該等記憶體頁l〇a,l〇b…i〇n中的每一頁可 包括物件或元件,在此被稱為資料單元i2a,12b... 12η, 14a,14b…14η,和16a,16b…16η,其中該資料單元已被修 改。該資料單元可包括任何程度的單位在該等記憶體頁 10a,10b".1〇η内,包括一字組,一攔位,一行,一訊框, 整頁,一段落,一物件,等。雖然圖1將每一快取記憶體 8a,8b…8η圖示為包括相同的頁數,其中每一頁具有相同 的'貝料單元數,在所敘述的實現中,每一快取記憶體8a, 8b…8n可維持不同的記憶體頁數及不同的記憶體頁,其中 每一記憶體頁可能具有不同的資料單元數。在該等不同快 取記憶體8a,8b…8n内的記憶體頁可代表從不同網際網路 位址相異的網際網路網址伺服器上下載的網址頁,例如, 通用資源指位器(URL),等。該等記憶體頁可以相同或不同 之標案格式儲存網址頁。該等記憶體頁可包括任何先前技 藝中已知之媒體檔格式内容,例如超文件標記語言 (HTML),可延伸標記語言(XML), 一文字檔,電影標,影 像檔’聲音檔,等。 一複數個客戶系統 18a,18b,18c,18d,18e,i8f,18 § 86246 200412497 包括瀏覽器 20a,20b,20c,20d,20e,20f,20g,該等濁 覽益將對網址頁的要求傳送至一指定快取記憶體伺服器 2a,2b…2η,以致於可從該等快取記憶體8a,8b. .8n中服務 4等客戶要求。該等客戶系統18a,18b... 18g可包括任何先 萷技藝中已知之計算元件’例如一個人電腦,膝上型電 腦,工作站,大型電腦主機,電話設備,掌上型電腦,伺 服器,網路應用等,並且該瀏覽器20a,2〇b."2〇g可包括能 經由一網路,例如一網際網路瀏覽器程式,電影播放器, 聲音播放器,等要求檔案的任何程式,並依任何先前技藝 中已知的媒體格式,將該資料從此等檔案給至該使用者。 在某些實現中’在該等瀏覽器2〇a,20b··. 20g的一使用者可 修改或更新資料單元内的資料,該等資料單元位於該快取 記憶體8a,8b.·· 8n的記憶體頁内。 該中央飼服器4包括一中央目錄伺服器程式22和該快取記 fe體伺服蒜2a,2b...211,每一皆包括一快取記憶體伺服器 私式24a ’ 24b···24η,以執行與快取相關的操作。該中央目 錄伺服為程式22維持一中央目錄26,該目錄維持在該資料 單元上的資訊,可在每一快取記憶體8a,讣…化的每一記 憶體頁内更新。每一快取記憶體伺服器程式24a,24b...24n 也維持一區域快取記憶體目錄28a,28b…28ll具有數個記 錄’維持該資料單元上的資訊,該資訊可在區域快取記憶 體8a,8b."8n的該等記憶體頁1〇a,i〇b l〇n内更新。在該 區域快取記憶體目錄28a,28b.··28η内的該等記錄對應該中 央目錄26内相同記憶體頁的記錄。 86246 -9- 200412497 圖獍月、、隹持於该中央目錄26和區域快取記憶體目錄 28a,28b."28n内的記錄的格式5〇。每一記錄%包括一或多 值,、且的貝訊,用於每一區域快取記憶體目錄28狂, 28b."28n’維持該頁對應於該區域快取記憶體8a, 8b…8n内 的泛己錄的備份。每一記錄5〇對應一特定的記憶體頁位址, 其中忒不同的快取記憶體8a,8b...8n可維持該頁的一備 伤。每一值組的資訊,該資訊維持在具有該頁備份的每一 快取s己憶體8 a ’ 8 b…8 η内,包括: 1耳又^憶赠服器識則碼(ID)52a . 52n :顯示該特定快取 記憶體伺服器2a,2b·.·2η,包括由該記錄所代表的記憶體 頁。此資訊在該區域快取記憶體目錄28a,28b…28η的記錄 内為隨選的。 字組54a...54n :每一字組具有一複數個位元,其中 在由該更新字組所代表的該頁内每一可更新的資料單元皆 有一位元。若已修改過在快取記憶體8a,8b···8n該頁内的 資料單元,則每一位元被設定成”〇n";並若尚未修改該對 應的資料單元,則設定成”off”。 無效字組56a...5 6η :一位元字組,其中有一位元對應在 該快取記憶體8a,8t)···8η内的每一記憶體頁l〇a, 1 〇b·_·1 〇n。一位元被設定成”on”,以顯示在該區域快取記憶 體8a,8b...8n的記憶體頁内,由此位元表示該資料的資料 單元為無效的或已更新的;或被設定成”off”,以顯示在該 區域快取記憶體8a,8b…8n的該記憶體頁内無資料單元被 更新或為無效的。對在該區域快取記憶體目錄28a, 86246 -10- 200412497 28b...28n内的記錄而言,此字組可為隨選的。 圖3和5說明在該快取記憶體伺服器程式24a,2扣…2牝内 實現的邏輯,且圖4和6則說明在該中央目錄伺服器程式22 内實現的邏輯,以協調對記憶體頁和在該記憶體頁内的資 料單元的存取’以確保該客戶18a,18b…18g能以快速存取 至該資料的方式來維持資料一致性。 圖3和4說明分別由該快取記憶體伺服器程式24a, 24b·.· 24η和該中央目錄伺服器程式22所執行的運算,以提 供一客戶瀏覽器20a,20b···20η讀取存取至一記憶體頁,該 記憶體頁為一所要求的網址頁的一部份。關於圖4,控制始 於方塊100,該快取記憶體伺服器程式24a,24b..24n從該 等瀏覽器20a ’ 20b…20g中之一接收對一記憶體頁之要求。 在某些實現中,每一客戶18a,18b...l8g會將所有其對記憶 體頁之要求指向一指定的快取記憶體伺服器2a,2b...2n。 或者’每一客戶可將許多要求指向許多指定的替代快取記 憶體伺服器中之一。對接收該要求起反應,若(在方塊102) 該所要求的頁位於耦合至該接收快取記憶體伺服器2a, 2b...2n的快取記憶體8a,81>···8η内,則該快取記憶體伺服器 程式24a,24b...24n傳回(在方塊104)所要求的記憶體頁,該 記憶體頁係來自該快取記憶體8a,8b...8n。在此實現中, 該快取記憶體伺服器程式24a,24b...24η對於從快取記憶體 8a,8b...8η至一頁提供立即存取,然而該被傳回的頁未必 具有某些資料單元的最新值的備份。若所要求的頁不在該 附加的快取記憶體8a,8b...8n内,則該快取記憶體伺服器 86246 -11 - 200412497 程式24a,24b ..·24η會將一對該所要求的頁之要求傳送(在方 塊106)至該中央伺服器4,並且控制進行至圖4的方塊12〇, 其中該中央目錄伺服器程式22處理該要求。 關於圖4,對接收(在方塊120) —對一記憶體頁之要求起反 應,該中央目錄伺服器程式22決定(在方塊122)是否該中央 目錄26包括一該被要求頁的記錄。若未包括,則該中央目 錄伺服器程式22(在方塊124)經由該網際網路6下載該被要求 頁。在該中央目錄26中產生(在方塊126)—該被提取頁的記 錄50,其中該所產生的記錄50辨識該快取記憶體伺服器 2a,2b.··2η,該伺服器在該快取記憶體伺服器識別碼(ID)搁 52a...52n内激發該要求;並包括一更新字組54a...54n和無效 字組56a…56η,而所有的資料單元位元(圖2和3)皆先設定成 "off"。該被提取頁和該所產生的記錄50則被送回(在方塊 128)該做出要求的快取記憶體伺服器2a,2b...211,以在區域 快取記憶體8a,8b_··8η内緩衝,並在該區域快取記憶體目 錄28a,28b…28η内維持該最新接收到的記錄。 右(在方塊122)该中央目錄26内有^一被要求頁?己錄,並若 (在方塊130)並無該被要求頁的更新字組54a...54n的記錄, 則讓資料單元位元54a···54η(圖2)設定成Μοηπ顯示出無其它 快取記憶體伺服器2a,2b〜2n具有該被要求頁的已更新資 料單元 12a,12b..」2n,14a,14b...l4n,和 16a, 16b··· 16n,則該中央目錄伺服器程式22(在方塊132)從一快 取記憶體伺服器2a,2b···2n存取該被要求頁,該快取記憶 體伺服器是在該快取記憶體伺服器識別碼(ID)欄位52a·.·52η 86246 -12- 200412497 所辨識出的,該被要求頁的該記錄5〇内的一資訊值組。由 杰並幾快取記憶體伺服器2a,2b···2η維持具有已更新資料 的貪料單元,可從任何該記錄5〇内已辨識的快取記憶體 8a ’ 8b··.8η中存取該頁。該中央目錄伺服器程式22產生(在 方塊134)—資訊值組,將該被要求頁加入該記錄5〇,其中 4所產生的訑訊值組辨識在攔位5 2 a…5 2 η内該做出要求的 快取C憶體伺服器2a,2b.__2n,並包括一更新字組54a...54n 和無效字組56a…56η,所有該資料單元位元54[.5411和 56a...56n皆设足成ff”。該被提取頁和所產生的資訊值組 皆被傳回(在方塊136)至該做出要求的快取記憶體伺服器 136。請注意,在替代實現中,相對於傳送該資訊值組,實 際上僅傳送該所產生的更新字組54a…54η。 若(在方塊130)—更新字組54a···54η的確有一資料單元位 元設定成π〇η",該字組位於一用於另一快取記憶體伺服器 2a,2b…2η的資訊值組内,而該伺服器位於該被要求頁的 記錄50内,則該中央目錄伺服器程式22決定(在方塊138)該 被要求頁的記錄50内的資訊值組,該頁的更新字組 54a···54η使大部份的資料單元位元設定成"οη”。該中央目錄 伺服器程式22則從該快取記憶體伺服器2a,2b··.2n提取(在 方塊140)該被要求頁,該伺服器是由該所決定的資訊值組 的欄位52a··· 52η中所辨識的,該資訊值組具有最大數目的 最新資料單元值。對於在該記錄5 0内的每一個其它的值 組,該頁具有一更新字組54a...54n,且其資料單元位元設 定成π〇ηπ,該中央目錄伺服器程式22將從在該值組欄位 86246 -13- 200412497 52a...52η所辨識的該快取記憶體伺服器2a,2b·.·2η存取(在 方塊142)對應於該位元設定成”οη”的對應資料單元,並將該 所存取的資料加至該被提取頁的對應資料單元。(在方塊 144)產生該做出要求的快取記憶體伺服器2a,2b··.2n被提取 頁的記錄值組,在欄位52a...52n内辨識該做出要求的快取 記憶體伺服器,並包括一更新字組54a···54η和無效字組 56a.··56η,而所有的資料單元位元皆被設定成"0ff"。控制 則進行至方塊136,將該被提取頁和所產生的值組(或其相 關部份)傳回該要求的快取記憶體伺服器2a,2b...2n。 根據圖3和4的邏輯,首先從該區域快取記憶體ga, 8b…8n服務一客戶瀏覽器頁要求,並若在該區域快取記憶 體内無備份的話,則服務一遠端快取記憶體。若在一區域 快取記憶體或遠端快取記憶體内無該被要求頁的備份,則 經由該網際網路6下載該頁。由於經由該網際網路下載的該 處理存取時間為最大,最好透過從該區域快取記憶體,然 後遠端快取記憶體,最後為該網際網路的方式下載,才能 使存取效能最佳化。此外,在某些實現中,當第一次接收 一儲存在遠端快取記憶體内的頁時,就如同在所有遠端快 取記憶體内所維持的一樣,該所傳回的頁也包括來自該資 料單元的最新值。 圖5說明在該快取記憶體伺服器程式24a,24b...24n内所 實現的邏輯,以處理一客戶瀏覽器2〇a,20b.._20g對修改一 資料單元的要求,被視為在一頁内的該目標資料單元,或 稱為該目標頁。控制始於方塊2〇〇,該快取記憶體伺服器程 86246 -14 - 200412497 式24a,24b…24η接收一修改在一頁内一資料單元的要求, 該頁來自一客戶18a,18b…18g,而該客戶被指派將頁要求 傳輸至接收該要求的快取記憶體伺服器2a,2b···2n。若(在 方塊202)該被要求頁的資料單元位元被設定成"on",該資料 單元位元位於該區域快取記憶體目錄2 8 a…2 8 η的更新字組 内且對應該目標資料單元,則顯示接收該要求的該快取記 fe fa祠服益2a ’ 2b...2n ’在此被稱為該接收快取記憒體祠 服器,具有該目標資料單元12a,12b... 12n,;ua, 14b··· 14η,16a,16b··· 16n最新的值,則該接收快取記憶體 伺服器程式24a,24b…24η以該所接收到的已修改資料單元 更新(在方塊204)該快取記憶體8a,8b···处且内目標頁的資料 單元,該快取記憶體耦合至該接收快取記憶體伺服器2a, 2b…2n。不然,若在該接收快取記憶體伺服器2a, 更新字組54a…54η ’ 28a,28b…28η並未使對應該目標資料 單元的該位元設定至"on",則該接收快取記憶體伺服器程 式24a ’ 24b…24n(在方塊202)將一修改該目標頁内目標資料 單元的要求傳送至該中央伺服器4。 圖6說明該中央目錄伺服器程式22對應於一來自該接收快 取記憶體伺服器2a,2b...2n(圖5的方塊206)的要求所執行的 操作’以修改該目標頁内的目標資料單元。對應於接收此 一要求(在方塊210),該中央目錄伺服器程式22決定(在方塊 214)是否對應該目標資料單元的該資料單元位元被設定至 on ’代表π無效π ’該目標資料單元係在該值組的無效字組 5 6a…5 6η内’位於被要求頁的該記錄5 〇内的接收快取記憶 86246 -15- 200412497 體伺服器2&,21^."211(在攔位52&...5211内顯示)。若如此,則 另一快取記憶體伺服器2a,2b...211已修改該目標資料單 元。在此一情況下,該中央目錄伺服器程式22決定(在方塊 216)其它快取記憶體伺服器2a,2b...2n的記錄内的值組具有 一更新字組56,而該目標資料單元位元56(圖2)被設定成 "on”,亦即,具有該主體資料單元最新資料的快取記憶體 伺服器的記錄。該中央目錄伺服器程式22則從在所決定的 值組内所顯示的其它快取記憶體伺服器2a,2b...2n提取(在 方塊21 8)該目標資料單元的最新值,並將(在方塊220)所提 取的最新資料單元值傳回該接收快取記憶體伺服器。在所 決定的值組中,其它快取記憶體伺服器2a,2b...211在該更 新字組54a···54η内的目標資料單元位元被設定至(在方塊 222)”off”,因為在該更新操作後,該接收快取記憶體伺服 器將更新該目標資料單元,並具有該目標資料單元的最新 值。 在將該最新資料值(來自方塊222)提供給該接收快取記憶 體伺服器後,或者若該接收快取記憶體伺服器的確具有該 目板貝料卓元(來自該方塊214的否定分支)的最新值,控制 前進至方塊224和226,其中該中央目錄伺服器程式22在該 做出要求的快取記憶體伺服器的記錄内將(在方塊224)在該 更新字組54a···54η内對應該目標資料單元的該資料單元位 元設定成”on”,並將在該做出要求的快取記憶體伺服器的 記錄内的無效字組56a...56n的位元設定成”〇ff”。該中央目 錄伺服器程式22也將(在方塊226)在該無效字組56a... 56η内 86246 -16- 200412497 的資料單元位元設定成”〇n”,在該目標頁的記錄50的值組 内的所有其它的快取記憶體伺服器,顯示其它快取記憶體 伺服器在該目標頁的備份内有該目標資料單元的無效資 料。該中央目錄伺服器程式22則將(在方塊228)—訊息傳回 至該接收快取記憶體伺服器,以著手進行修改該目標資料 單元。該訊息也可包括一訊息,對該做出要求的快取記憶 體祠服咨以明確或暗示的方式更新該所接收頁無效和無效 字組的相關位元,以顯示該做出要求的快取記憶體伺服器 已在該頁内更新該資料單元的最新更新。在替代實現中, 該中央目錄伺服器程式22可傳回該已修改的有效和無效字 組。 一旦從該中央目錄伺服器程式22接收(圖5的方塊250)已修 改的目標資料單元,該快取記憶體伺服器程式24a, 24b...24n則以所接收到的該已修改資料單元更新(在方塊 252)位於該目標頁其快取記憶體8a,化…^内的目標資料單 元。一旦接收(在方塊254)修改該目標資料單元的訊息,該 做出要求的快取記憶體伺服器24a,24b_··24η(在方塊256)將 從該客戶瀏覽器20a,20b··· 20g提取的已修改資料單元加至 該頁10a,10b.·· l〇n内的快取記憶體8a,8b...8n。 所敘述的實現提供一分散式快取記憶體伺服器系統之協 定,可在一快取記憶體伺服器内以一客戶瀏覽器更新,並 同時維持所有快取記憶體伺服器間的資料一致性。這也提 供一寬鬆的資料更新一致性,因為若該資料係在一瀏覽器 内被更新,則該遠端快取記憶體伺服器的中央目錄内僅設 86246 -17- 200412497 疋揲效的資料位元,該遠端快取記憶體伺服器具有該頁 匕括正修改的该資料單元。該遠端快取記憶體伺服 抑及/、蒯見咨則不包括有關更新的資訊,且客戶可持續從 不八有忒等最新資料單元值的區域快取記憶體讀取數個 /、;、、:而若一瀏覽咨試圖修改一資料單元,而該瀏覽器 係彳心不包括该最新資料的快取記憶體伺服器中接收資 料,則該瀏覽器在施加該修改前將先接收該最新資料。 額外的實現詳細敘述 所敘述用於官理一分散式快取記憶體伺服器系統的技 巧’可實現為-種使用標準程式規劃和⑼工程規劃技術以 產生軟體,軔體,硬體,或任何其組合之方法,裝置或製 口口在此所用〈孩術語"製品"代表在硬體邏輯内實現的碼 或這輯(例如一和體電路晶片、可程式化閘陣列、特 殊規格積ff電路(ASIC),等。)或—電腦可讀取媒介,例如 磁性儲存媒介(例如硬碟機、軟碟機、磁帶,φ),光學儲存 (隹項光碟機、光碟,等),揮發性和非揮發性記憶體元件 (例如包子式可消除可程式化唯讀記憶體(EEPROM)、唯 靖允U把(ROM)、可程式化唯讀記憶體(pR〇M)、隨機存取 $己[思(RAM)、動態隨機存取記憶體(dram)、#態隨機存 取記憶體(SRAM)、韌體、可程式化邏輯,等)。在該電腦可 讀取媒介内的碼係由—處理器存取和執行。在較佳具體實 施例内所實現㈣碼可進—步經由—傳輸媒介,或透過一 網路從-檔案飼服器存取。在此等情況下,實現該碼的製 品可包括-傳輸媒介’例如—網路傳輸線路,無線傳輸媒 86246 -18- 200412497 介,經由空間、IΛ ^ ^ ^’…、毒免波、返紅外線信號等傳邋的信號。 此外,該”製品”:ΐ 合中具體實現該碼的媒介。 也可包括一軟硬體元件之組合,在 中:體實現、處理和執行該碼。當然,那些熟諳此蔹者: 了解到可對此架構從事許多修改而残離本H :且該製品可包括任何先前技藝中已知之帶有資二 在所敘述的實現中’在該中央飼服器每一記錄的每一資 ^直組内皆維持-無效字組和更新字組二者。在替代實現 中則僅維持該更新字組。在此等實現中,為決定是否該做 出要求的快取記憶體飼服器具有停滯資料,該中央飼服器 將必須處理其它快取記憶體伺服器在值组内的更新字組, 以决疋其匕快取&己憶體伺服器中是否有任一伺服器已修改 該資料單元。 / 在所描述的數個實現中,快取記憶體内維持的數個頁包 括記憶體頁,其中多重記憶體頁將儲存從一通用資源指位 器(URL)經由該網際網路存取的單一網址頁的資料。或者, 在快取記憶體内的該等記憶體頁可包括數個網址頁。 在所敘述的數個實現中,一中央伺服器和中央目錄伺服 器程式管理更新操作,以確保該做出要求的快取記憶體伺 服器在施加一更新前已接收到最新的資料。在替代實現 中’被描述為由該中央伺服器和中央目錄伺服器程式所執 行的該等運算可分散於該快取記憶體伺服器間,以提供一 分散的中央目錄。在分散由該中央目錄伺服器程式所執行 86246 -19- 200412497 的該等運算的此等實現中,維社 、、 、 見中、准持在薇等更新字組内的資訊 及該中央飼服器的I教全知並; _ ” .、、、子、、且將被分散至該快取記憶體伺服 盗·’以便;亥快取·|己情骨#日g $ u 何服态能執行分散式快取記憶體管 理運算。 在所敛述的數個會Φ # 貫現中,母一快取記憶體伺服器在Μ 取記憶體伺服器2a’2b〜2n的快取記憶體8a,8b...8n的每一 /、内隹持備k的更新字組。或者,該快取記憶體飼服器 可不維持t新半組,而是經由該中央飼服器處理所有 的一致性操作。 、可在先則技藝中已知之任何_或多資料結構内實現描述 為包括在該更新和無效字組内的該資訊,以提供該更新和 :放貝訊。例如,可在一或多資料物件、在一資料庫内的 ••、彔在圖表内的記錄、單獨的物件等内實現該更 新和無效資訊。 在〉決取U己〖思粗内所維持的數個頁可包括任何資料物件 類型’包括任何類型的多媒體物件,纟中_客戶或使用者 可輸入或增加資料以修改該物件的内容。 人在所為逑的數個實現中,I —單獨快取記憶體祠服器韓 合至每一快取記憶體。該快取記憶體和快取記憶體伺服器 η 4於相同的附加單元或可能在分離的單元内。在替代實 現中,一快取記憶體伺服器可耦合至多重快取記憶體,並 維持該多重耦合快取記憶體的更新資訊。 在所敘述的數個實現中,該中央伺服器經由該網際網路 下載數個頁。或者,該中央伺服器可從任何網路,例如一 86246 -20- 200412497 網際網路、區域網路(LAN)、廣域網路(WAN)、儲存區域網 路(SAN)等下載數個頁。此外,該快取記憶體伺服器可直接 存取該網際網路以下載數個頁。 圖3到6所圖示的邏輯說明某些事件係依某一順序產生。 在替代實現中,可依不同順序執行、修改或移除某些運 算。此外,可對該上述邏輯增加步驟並仍與所描述之實現 一致°此外’在此所描述之操作可循序發生,或可平行處 理某些操作。此外,尚可由覃一步时> J田早處理早7G或分散處理單元 執行數項操作。 、、、 …贷~丨丁 <只巩,例如圖示 圖1《该中央伺服器和快取記憶體伺服器。該架構扇可 =-處理11302(例如’—微處理器);—記憶體3〇4(例如 :揮發性記憶體元件);及儲存鳩(例如,-非揮發性. 二SIT碟機、光磁機、一磁帶機,等)。該儲存306 邵儲存元件或—附加的或網路可存取的儲存。. 予306内的程式被載入該記憶體3()4並由該處理哭 蟄中已知之方式執行。該架構尚包括'網路;308 致此與一網路之福彳士 …輸人裝置31G用於提供對該處理 或輸入機:置或'何其它先前技藝已知之啟: 則裝置312旎提供從該處理器302, 例如一顯示螢幕,印表機,儲存, 一 訊。 々什寺所傳輸的 為了明和描述的目的已呈現以上對本發日月各種實現 86246 -21 - 2004124^/ 敘述。並非意圖詳列戋 4。ha u j次將本發明限制為所揭露的精確形 式。有鑑於上述教義,本發 ^ AV 疋有可能有許多修改和變 化。係!由在此所附之申 丄 目寻刊執圍而非以此詳細敘述夾 限制本發明範疇。上述專 .^ , ^ πη . 書、實例和資料對製造和 组成提供—完整敘述。由於可從 =多具體實施例而不偏離本發明之精神與料,本發明; 存於後面所附的申請專利範圍内。 【圖式簡單說明】 的=參考圖<,在所有圖式中相同的參考號碼代表對應 圖1說明-實現本發明數個觀點之分散式網路計算環境; 圖2說明維持資料上的資訊的資料結構,該資料係維持於 該網路計算環境内不同的快取記憶體内·, 圖3和4說明如本發明數個實現之處理要求一物件或頁的 邏輯; 、 圖5和6說明如本發明數個實現之將一物件或頁傳回一快 取記憶體的邏輯; 圖5和6說明如本發明數個實現之處理一要求修改快取記 憶體内一物件的邏輯; 圖7說明該網路環境内一計算元件之架構,例如該等快取 記憶體伺服器和中央伺服器,及任何其它計算元件。 【圖式代表符號說明】 快取記憶體伺服器 中央伺服器 86246 -22- 200412497 6 8a,8b-"8n 10a,10b··· 10η 12a,12b...l2n,14a,..·14η 16a,16b··· 16n 18a-18g 20a-20g 22 24a,24b".24n 26 28a,28b._.28n 50 52a …52n 54a_" 54n 56a... 56n 300 302 304 306 308 310 312 網際網路 快取記憶體 記憶體頁 資料單元 客戶系統 瀏覽器 中央目錄伺服器程式 快取記憶體伺服器程式 中央目錄 區域快取記憶體目錄 記錄的格式 快取記憶體伺服器識別碼 更新字組 無效字組 電腦架構 處理器 記憶體 儲存 網路卡 輸入裝置 輸出裝置 86246 -23·

Claims (1)

  1. 200412497 拾、申請專利範園: L 一種在分散式快取記憶體内維持資料之方法,包括: 在至少一快取記憶體内維持一物件之一備份,其中多 重快取?己憶體可能具有該物件不同的版本,並且其中該 物件能具有可修改的資料單元; 對維持在每一快取記憶體内的每一物件維持更新資 訊,其中每一物件在每一快取記憶體内的更新資訊標示 涘物件,该快取記憶體包括該物件;並顯示是否已修改 該物件内的每一資料單元;及 在接到對一目標資料單元的一修改後,該資料單元位 於目榼快取記憶體的一目標物件内,更新該目標物件 和目標快取記憶體的更新資訊,以顯示該目標資料單元 已被修改,而在任何其它快取記憶體内該目標物件的更 新資訊則顯示出該目標資料單元尚未被修改。 2·如申請專利範圍第丨項之方法,在接收到修改該資料單 元的要求後,尚執行·· 若孩目標物件和目標快取記憶體的更新資訊顯示出該 目標資料單元已被修改,則將所接收到的修改施加至位 於該目標快取記憶體的目標物件内的資料單元。 3·如申請專利範圍第1項之方法,在接收該修改後尚執 行·· 若該目標物件和目標快取記憶體的更新資訊顯示該目 標資料單元尚未被修改,則決定是否另一快取記憶體包 括該目標物件和一最新的目標資料單元值; 86246 200412497 若另一快取記憶體並未包括該最新的目標資料單元 值’則將該修改施加至位於該目標快取記憶體的目標物 件内的資料單元;及 更新該目標物件和目標快取記憶體的更新資訊,以顯 示該目標資料單元已被修改,其中該目標物件在任何其 它快取記憶體内的更新資訊顯示出該資料單元尚未被修 改。 4·如申請專利範圍第1項之方法,在接收該修改後尚執 行: 若該目標物件和目標快取記憶體的更新資訊顯示該目 標資料單元尚未被修改,則決定是否另一快取記憶體包 括該目標物件和一最新的目標資料單元值;及 若另一快取記憶體包括該最新的目標資料單元值,則 從所決定的快取記憶體提取該最新的目標資料單元值, 並以所提取的該最新目標資料單元值更新在該目標快取 記憶體内的目標物件。 5.如申請專利範圍第4項之方法,尚包括: 以該最新的目標資料單元值更新在該目標快取記憶體 内的目標物件後,將所接收到的修改施加至位於該目標 快取記憶體的目標物件内的資料單元;及 更新該目標物件和目標快取記憶體的更新資訊,以顧 示該目標資料單元已被修改,其中該目標物件在任何其 它快取記憶體内的更新資訊則顯示該資料單元尚未被修 200412497 6.如申請專利範圍第4項之方法,其中一中央伺服器執行 決定是否另一快取記憶體包括該目標物件和該最新的目 標資料單元值;以及從其它快取記憶體提取該最新的目 標資料單元值的該等步驟,尚包括: 用該中央伺服器傳回該最新的目標資料單元值,其中 在將該最新的目標資料單元值加入該目標快取記憶體 後,再修改該目標快取記憶體的目標資料單元。 7·如申請專利範圍第6項之方法,其中一快取記憶體伺服 器耦合至每一快取記憶體,並且其中每一快取記憶體伺 服器維持每一物件的更新資訊,該物件位於該至少一快 取記憶體内,而該快取記憶體伺服器耦合至該快取記憶 體,並且其中該中央伺服器維持每一物件在每一快取記 憶體内的更新資訊。 8 ·如申請專利範圍第1項之方法,尚包括: 在每一快取記憶體内維持每一物件的無效資訊,其中 一物件在一快取記憶體内的無效資訊顯示是否該物件内 的每一資料單元為有效或無效。 9·如申請專利範圍第8項之方法,尚包括: 若該目標物件和目標快取記憶體的無效資訊顯示出該 目標資料單元為無效,則從該更新資訊中可決定包栝該 目標物件一最新目標資料單元值的該快取記憶體;及 從所決定的快取記憶體提取該最新的目標資料單元 值,並以該最新的目標資料單元值更新在該目標快取記 憶體内的目標物件。 86246 200412497 10·如申請專利範圍第9項之方法,尚包括: 以該最新的目標資料單元值更新在該目標快取記憶體 内的目標物件後’將所接收到的修改施加至該目標快取 記憶體内該目標物件的目標資料單元; 更新該目標物件和目標快取記憶體的更新資訊,以顯 示該目標資料單元已被修改;及 更新每一快取記憶體的無效資訊,該快取記憶體包括 該目標物件,以顯示該目標資料單元為無效。 11 ·如申請專利範圍第1 〇項之方法,尚包括: 更新該目標物件的更新資訊,以顯示該資料單元尚未 被修改’該目標物件位於所決定的快取記憶體内。 12·如申請專利範圍第9項之方法,其中一中央伺服器執行 決足是否該目標物件和目標快取記憶體的無效資訊顯示 出該目標資料單元為無效的;決定包括該目標物件和該 最新目標資料單元值的快取記憶體;並從該所決定的快 取記憶體提取該最新的目標資料單元值的該等步驟,尚 包括: 用孩中央伺服器傳回該最新的目標資料單元值,其中 在將該最新目標資料單元值加入該目標快取記憶體内的 目標物件後’再修改該目標快取記憶體的目標資料單 元。 13 ·如申印專利範圍第12項之方法,其中一快取記憶體伺服 器镇合至每一快取記憶體,並且其中每一快取記憶體伺 服器維持每一物件的更新資訊,該物件位於該至少—快 86246 200412497 取記憶體内’而該快取記憶體伺服器耦合至該快取記憶 體’並且其中該中央伺服器維持每一物件在每一快取記 fe體内的更新資訊和無效資訊,尚包括: 由一接收到對該目標資料單元修改的目標快取記憶體 伺服器決定是否該目標物件和目標快取記憶體的更新資 訊顯示出該目標資料單元已被修改;及 在決定該目標物件和目標快取記憶體的更新資訊已顯 7K Μ目標資料單元已被修改後,由該目標快取記憶體伺 服為更新在该目標快取記憶體内該目標物件的資料單 元。 I4·如申請專利範圍第I3項之方法,尚包括: 由該目標快取記憶體伺服器傳送一要求至該中央伺服 器,以修改該目標資料單元;及 由S中央伺服器回傳一訊息至該目標快取記憶體伺服 器,以著手進行以下該修改:(1)若無其它快取記憶體 具有該最新.的目標資料單元值,則並未包括該最新的目 標資料單域;或⑺若另-快取記憶體具有該最新的 目標資料單元值,Μ包括該最新的目標資料單元值;及 在將所接收到的修改施加至該目標資料單元值之前, 由該目標快取記憶體伺服器將該所接收到的最新目標資 料單元值施加至該目標快取記憶體内的目標頁。 15 · —種用於維持資料之系統,包括: 複數個快取記憶體; -用於在至少-快取記憶體内維持—物件的一備份之 86246 200412497 裝置,其中該等快取記憶體可能具有該物件不同的版 本並且其中忒物件能具有可修改的資料單元; 一用於維持每一物件的更新資訊之裝置,該物件維持 於每一快取記憶體内,其中每一物件在每一快取記憶體 内的更新資訊標示該物件,該快取記憶體包括該物件, 並松示疋否已修改該物件内的每一資料單元;及 用於更新该目標物件和目標快取記憶體的更新資訊 之裝置,以顯示在接收一目標資料單元的一修改後,該 目標貝料單元係位於一目標快取記憶體的一目標物件 内,該目標資料單元已被修改,其中該目標物件在任何 其它快取記憶體内的更新資訊顯示出該目標資料單元尚 未被修改。 I6·如申請專利範圍第b項之系統,尚包括: 一加入裝置,在接收到修改該資料單元的要求後,並 若該目標物件和目標快取記憶體妁更新資訊顯示出已修 改該目標資料單元,用於將所接收到的修改加入該資料 單元,該資料單元係位於該目標快取記憶體的該目標物 件内。 17·如申請專利範圍第15項之系統,尚包括在接收該修改後 用於執行的裝置: 若該目標物件和目標快取記憶體的更新資訊顯示尚未 修改該目標資料單元,則決定是否另一快取記憶體包括 該目標物件和一最新的目標資料單元值; 若另一快取記憶體並未包括該最新的目標資料單元 86246 200412497 值,則將該修改加入該資料單元’該資料單元位於該目 標快取記憶體的目標物件内;及 更新該目標物件和目標快取記憶體的更新資訊’以顯 示該目標資料單元已被修改,其中該目標物件在任何其 它快取記憶體内的更新資訊顯示出該資料單元尚未被修 改。 1 8.如申請專利範圍第15項之系統,尚包括在接收該修改後 用於執行的裝置: 若該目標物件和目標快取記憶體的更新資訊顯示尚未 修改該目標資料單元,則決定是否另一快取記憶體包括 該目標物件和一最新的目標資料單元值;及 從所決定的快取記憶體提取該最新的目標資料單元 值,並若另一快取記憶體包括該最新的目標資料單元 值,則以所提取的該最新目標資料單元值更新該目標快 取記憶體内的目標物件。 19·如申請專利範圍第18項之系統,尚包括: 一用於在每一快取記憶體内維持每一物件的無效資訊 之裝置’其中一物件在一快取記憶體内的該無效資訊顯 示是否該物件内的每一資料單元為有效或無效。 20.如申請專利範圍第19項之系統,尚包括: 一決足裝置’若該目標物件和目標快取記憶體的無效 資訊顯π該目標資料單元為無效,則可從該更新資訊決 定包括該目標物件一最新目標資料單元值的該快取記憶 體;及 86246 200412497 一提取裝置,用於從該所決定的快取記憶體提取該最 新的目標資料單元值,並以該最新的目標資料單元值更 新該目標快取記憶體内的目標物件。 21. 22. 如申请專利乾圍第2 0項之系統,其中一中央伺服器實現 遠決定裝置,用於:決定是否該目標物件和目標快取記 憶體的無效資訊顯示出該目標資料單元為無效;決定包 括該目標物件和該最新目標資料單元值的快取記憶體; 並從該所決定的快取記憶體提取該最新的目標資料單元 值,尚包括: 一傳回裝置,由該中央伺服器執行,用於傳回該最新 的目標資料單元值’其巾在將該最新的目標資料單元值 加入該目標快取記憶體内的目標物件後,再修改該目標 快取記憶體的目標資料單元。 種製pp,用於維持資料於分散式快取記憶體内,其中 該製品使運算執行,該等運算包括: 在至少一快取記憶體内維持一物件的一備份,其中多 重快取記憶體可能具有該物件不同的版本,並且其中該 物件能具有可修改的資料單元; 對每-快取記憶體内所維持的每—物件維持更新資 a -中每物件在每_快取記憶體内的更新資訊標示 該物件,該快取記憶體包括該物件;並標示是否已修改 該物件内的每一資料單元;及 在接到對一目標資料罝;^ 、、十早TL的一修改後,該資料單元位 於一目標快取記憶體的_目栌仏α 1 目I物件内,更新該目標物件 86246 200412497 和目標快取記憶體的更新資訊,以顯示該目標資料單元 已被修改’其中該目標物件在任何其它快取記憶體内的 更新資訊顯示出該目標資料單元尚未被修改。 23 ·如申請專利範圍第22項之製品,在接收到修改該資料單 元的要求後,尚執行·· 若該目標物件和目標快取記憶體的更新資訊顯示已修 改該目標資料單元,則將所接收到的修改施加至位於該 目標快取記憶體的目標物件内的資料單元。 24_如申請專利範圍第22項之製品,在接收該修改之後,尚 執行: 若該目標物件和目標快取記憶體的更新資訊顯示出該 目標資料單元尚未被修改,則決定是否另一快取記憶體 包括該目標物件和一最新的目標資料單元值; 若另一快取記憶體並未包括該最新的目標資料單元 值’則將該修改施加至位於該目標快取記憶體的目標物 件内的資料單元;及 更新該目標物件和目標快取記憶體的更新資訊,以顯 示該目標資料單元已被修改,其中該目標物件在任何其 它快取記憶體内的更新資訊顯示出該資料單元尚未被修 改。 25·如申請專利範圍第22項之製品,在接收該修改後,尚執 行: 若該目標物件和目標快取記憶體的更新資訊顯示尚未 修改該目標資料單元,則決定是否另一快取記憶體包括 86246 -9 - 200412497 該目標物件和一最新的目標資料單元值;及 若另一快取記憶體包括該最新的目標資料單元值,則 從所決定的快取記憶體提取該最新的目標資料單元值, 並以所提取的該最新目標資料單元值更新該目標快取記 憶體内的目標物件。 26·如申請專利範圍第25項之製品,尚包括: 在以該最新的目標資料單元值更新該目標快取記憶體 内的目標物件後,將所接收到的修改施加至位於該目標 快取記憶體的目標物件内的資料單元;及 更新該目標物件和目標快取記憶體的更新資訊,以顯 示出該目標資料單元已被修改,其中該目標物件在任何 其它快取記憶體内的更新資訊顯示出該資料單元尚未被 修改。 27.如申請專利範圍第26項之製品,其中一中央伺服器執行 以下該等步驟··決定是否另一快取記憶體包括該目標物 件和該最新的目標資料單元值,並從其它快取記憶體提 取該最新的目標資料單元值,尚包括: 用該中央祠服器傳回該最新的目標資料單元值,其中 在將該最新的目標資料單元值加入該目標快取記憶體 後,再修改該目標快取記憶體的目標資料單元。 28·如申請專利範圍第27項之製品,其中一快取記憶體伺服 器耦合至每一快取記憶體,並且其中每一快取記憶體伺 服器維持每一物件的更新資訊,該物件位於該至少一快 取記憶體内,而該快取記憶體伺服器耦合至該快取記憶 86246 -10- 200412497 體,並且其中該中央伺服器維持每一物件在每一快取記 憶體内的更新資訊。 29·如申請專利範圍第22項之製品,尚包括: 在每一快取記憶體内維持每一物件的無效資訊,其中 一物件在一快取記憶體内的無效資訊顯示是否該物件内 的每一資料單元為有效或無效。 3 0.如申請專利範圍第29項之製品,尚包括: 若該目標物件和目標快取記憶體的無效資訊顯示出該 目標資料單元為無效,則從該更新資訊中可決定包括該 目標物件一最新目標資料單元值的該快取記憶體;及 從所決定的快取記憶體提取該最新的目標資料單元 值,並以該最新的目標資料單元值更新在該目標快取記 憶體内的目標物件。 3 1 ·如申請專利範圍第3 0項之製品,尚包括: 以該最新的目標資料單元值更新在該目標快取記憶體 内的目標物件後,將所接收到的修改施加至該目標快取 記憶體内該目標物件的目標資料單元; 更新該目標物件和目標快取記憶體的更新資訊,以顯 示該目標資料單元已被修改;及 更新每一快取記憶體的無效資訊,該快取記憶體包括 該目標物件,以顯示該目標資料單元為無效。 3 2.如申請專利範圍弟3 1項之製品’尚包括: 更新該目標物件的更新資訊,以顯示該資料單元尚未 被修改,該目標物件位於所決定的快取記憶體内。 86246 -11- 200412497 33.如申請專利範圍第30項之製品,其中一中央伺服器執行 決定是否該目標物件和目標快取記憶體的無效資訊顯示 出該目標資料單元為無效的;決定包括該目標物件和該 最新目標駕料早兀值的快取$己fe體,並從該所決定的快 取記憶體提取該最新的目標資料單元值的該等步驟,尚 包括: 用該中央伺服器傳回該最新的目標資料單元值,其中 在將該最新目標資料單元值加入該目標快取記憶體内的 目標物件後,修改該目標快取記憶體的目標資料單元。 3 4 ·如申請專利範圍第3 3項之製品,其中一快取記憶體祠服 器耦合至每一快取記憶體,並且其中每一快取記憶體伺 服器維持每一物件的更新資訊,該物件位於該至少一快 取記憶體内,而該快取記憶體伺服器耦合至該快取記憶 體,並且其中該中央伺服器維持每一物件在每一快取記 憶體内的更新資訊和無效資訊,尚包括: 由一接收到對該目標資料單元修改的目標快取記憶體 伺服、器決定是否該目標物件和目標快取記憶體的更新資 訊顯示出該目標資料單元已被修改;及 在決定該目標物件和目標快取記憶體的更新資訊已顯 示該目標資料單元已被修改後,由該目標快取記憶體伺 服器更新在該目標快取記憶體内該目標物件的資料單 元。 35·如申請專利範圍第34項之製品,尚包括: 由該目標快取記憶體伺服器傳送一要求至該中央伺服 86246 -12- 200412497 器,以修改該目標資料單元;及 由該中央伺服器回傳一訊息至該目標快取記憶體伺服 器,以著手進行以下該修改:(1)若無其它快取記憶體 具有該最新的目標資料單元值,則並未包括該最新的目 標資料單元值;或(2)若另一快取記憶體具有該最新的 目標資料單元值,則包括該最新的目標資料單元值;及 在將所接收到的修改施加至該目標資料單元值之前, 由該目標快取記憶體伺服器將該所接收到的最新目標資 料單元值施加至該目標快取記憶體内的目標頁。 86246 -13 -
TW092117812A 2002-09-27 2003-06-30 Method, system, and program for maintaining data in distributed caches TWI258657B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/259,945 US6973546B2 (en) 2002-09-27 2002-09-27 Method, system, and program for maintaining data in distributed caches

Publications (2)

Publication Number Publication Date
TW200412497A true TW200412497A (en) 2004-07-16
TWI258657B TWI258657B (en) 2006-07-21

Family

ID=32029590

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092117812A TWI258657B (en) 2002-09-27 2003-06-30 Method, system, and program for maintaining data in distributed caches

Country Status (9)

Country Link
US (1) US6973546B2 (zh)
EP (1) EP1546924B1 (zh)
JP (1) JP4391943B2 (zh)
CN (1) CN100511220C (zh)
AU (1) AU2003267650A1 (zh)
CA (1) CA2498550C (zh)
DE (1) DE60311116T2 (zh)
TW (1) TWI258657B (zh)
WO (1) WO2004029834A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105811A1 (en) * 2001-05-02 2003-06-05 Laborde Guy Vachon Networked data stores for measurement data
US7254617B2 (en) * 2002-12-06 2007-08-07 Scott Ruple Distributed cache between servers of a network
US20040225730A1 (en) * 2003-01-17 2004-11-11 Brown Albert C. Content manager integration
US20040216084A1 (en) * 2003-01-17 2004-10-28 Brown Albert C. System and method of managing web content
US20040143626A1 (en) * 2003-01-21 2004-07-22 Dell Products L.P. Method and system for operating a cache for multiple files
US7480699B2 (en) * 2004-01-20 2009-01-20 International Business Machines Corporation System and method for replacing an application on a server
CA2572616A1 (en) * 2004-07-07 2006-02-09 Yottayotta, Inc. Systems and methods for providing distributed cache coherence
US20070112812A1 (en) * 2005-11-09 2007-05-17 Harvey Richard H System and method for writing data to a directory
US8321486B2 (en) * 2005-11-09 2012-11-27 Ca, Inc. Method and system for configuring a supplemental directory
US8458176B2 (en) * 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US8326899B2 (en) * 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8943271B2 (en) * 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8176256B2 (en) * 2008-06-12 2012-05-08 Microsoft Corporation Cache regions
US9286293B2 (en) * 2008-07-30 2016-03-15 Microsoft Technology Licensing, Llc Populating and using caches in client-side caching
US8161244B2 (en) * 2009-05-13 2012-04-17 Microsoft Corporation Multiple cache directories
US8108612B2 (en) * 2009-05-15 2012-01-31 Microsoft Corporation Location updates for a distributed data store
JP2010286993A (ja) * 2009-06-10 2010-12-24 Nec Access Technica Ltd アクセス分散システム、中継装置、方法及びプログラム
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
WO2011056108A1 (en) * 2009-11-06 2011-05-12 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for pre-caching in a telecommunication system
US9952968B2 (en) * 2010-01-29 2018-04-24 Micro Focus Software, Inc. Methods and system for maintaining data coherency in distributed data cache network
US20110213825A1 (en) * 2010-02-26 2011-09-01 Rovi Technologies Corporation Dynamically configurable clusters of apparatuses
US8745638B1 (en) 2010-10-01 2014-06-03 Google Inc. Method and system for distributing object update messages in a distributed network system
CN102073494B (zh) * 2010-12-30 2014-05-07 用友软件股份有限公司 缓存数据管理方法和装置
US9380127B2 (en) 2011-05-18 2016-06-28 Alibaba Group Holding Limited Distributed caching and cache analysis
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
KR20130087810A (ko) * 2012-01-30 2013-08-07 삼성전자주식회사 이동통신 시스템에서 협력적 캐슁 방법 및 장치
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9298719B2 (en) * 2012-09-04 2016-03-29 International Business Machines Corporation On-demand caching in a WAN separated distributed file system or clustered file system cache
US9519902B2 (en) * 2013-06-25 2016-12-13 Quisk, Inc. Fraud monitoring system with distributed cache
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9858084B2 (en) 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
CN104219327B (zh) * 2014-09-27 2017-05-10 上海瀚之友信息技术服务有限公司 一种分布式缓存系统
CN105630823B (zh) * 2014-11-04 2019-03-12 阿里巴巴集团控股有限公司 基于分布式系统的缓存数据的监控方法、装置和系统
CN104572968B (zh) * 2014-12-30 2018-06-26 北京奇虎科技有限公司 一种页面更新方法和装置
CN105608197B (zh) * 2015-12-25 2019-09-10 Tcl集团股份有限公司 一种高并发下Memcache数据的获取方法及系统
CN105701233B (zh) * 2016-02-18 2018-12-14 南京焦点领动云计算技术有限公司 一种优化服务器缓存管理的方法
US11301422B2 (en) * 2016-02-23 2022-04-12 Samsung Electronics Co., Ltd. System and methods for providing fast cacheable access to a key-value device through a filesystem interface
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
CN109947780A (zh) * 2017-08-17 2019-06-28 天津数观科技有限公司 一种利用代理程序更新缓存的方法、装置及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307477A (en) 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5784590A (en) 1994-06-29 1998-07-21 Exponential Technology, Inc. Slave cache having sub-line valid bits updated by a master cache
US6047357A (en) 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US5822763A (en) 1996-04-19 1998-10-13 Ibm Corporation Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
JPH10105481A (ja) * 1996-09-30 1998-04-24 Hitachi Ltd サービス仲介方法および装置
SE9700622D0 (sv) * 1997-02-21 1997-02-21 Ericsson Telefon Ab L M Anordning och metod vid datanät
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
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6269432B1 (en) * 1998-10-23 2001-07-31 Ericsson, Inc. Distributed transactional processing system having redundant data
US6405289B1 (en) * 1999-11-09 2002-06-11 International Business Machines Corporation Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response
US6721856B1 (en) * 2000-10-26 2004-04-13 International Business Machines Corporation Enhanced cache management mechanism via an intelligent system bus monitor
JP2002251313A (ja) * 2001-02-23 2002-09-06 Fujitsu Ltd キャッシュサーバ及び分散キャッシュサーバシステム

Also Published As

Publication number Publication date
EP1546924A1 (en) 2005-06-29
CA2498550A1 (en) 2004-04-08
US20040064650A1 (en) 2004-04-01
JP2006500669A (ja) 2006-01-05
CN100511220C (zh) 2009-07-08
WO2004029834A1 (en) 2004-04-08
US6973546B2 (en) 2005-12-06
DE60311116D1 (de) 2007-02-22
EP1546924B1 (en) 2007-01-10
AU2003267650A1 (en) 2004-04-19
TWI258657B (en) 2006-07-21
CN1672151A (zh) 2005-09-21
DE60311116T2 (de) 2007-07-12
JP4391943B2 (ja) 2009-12-24
CA2498550C (en) 2011-02-01

Similar Documents

Publication Publication Date Title
TW200412497A (en) Method, system, and program for maintaining data in distributed caches
JP4578160B2 (ja) キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し
US8849838B2 (en) Bloom filter for storing file access history
US11403262B2 (en) Local networked storage linked to remote networked storage system
CN105324770B (zh) 有效读出副本
US7343396B2 (en) Precomputation of web documents
US20140344520A1 (en) System for caching data
JPH1188419A (ja) 動画情報配信システムおよび方法
JP2002108350A (ja) 音楽配信のための方法及びシステム
WO2011140427A2 (en) Caching electronic document resources in a client device having an electronic resource database
JP4404404B2 (ja) アプリケーションサーバ間のクライアント介在
CN1339747A (zh) 用于高速缓存文件信息的系统和方法
WO2012155621A1 (zh) 一种基于网络方式导入导出文件的方法
US9178931B2 (en) Method and system for accessing data by a client from a server
US9356845B1 (en) System and method for audience segment profiling and targeting
JP2006507737A (ja) Webページを介してメディア・ファイルにアクセス可能にするための方法よび装置
US7222344B2 (en) Method and apparatus for scheduling invalidation tests for HTTP sessions
JP2000137689A (ja) 共用データキャッシュ処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2002511170A (ja) ネットワークオブジェクトキャッシュエンジン
JP2001236362A (ja) 情報検索出力装置及び方法
US7853580B2 (en) Method, system and computer program for downloading information based on a snapshot approach
JP2004537124A (ja) サーバ・プログラムで符号化された記憶媒体、及び記憶媒体を用いる方法
US20020059419A1 (en) Apparatus for retrieving data
JP2001273252A (ja) ウェブサーバおよびウェブサーバのコンテンツ管理方法、ならびにウェブサーバコンテンツ管理プログラムを記録した記録媒体
JPH10222435A (ja) データ管理装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees