專利名稱:在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計(jì)算環(huán)境中的存儲(chǔ)器管理,更具體地說(shuō),涉及根據(jù) 任務(wù)的執(zhí)行范圍確定地為計(jì)算環(huán)境中執(zhí)行的任務(wù)分配和解除分配存儲(chǔ)器空 間的系統(tǒng)和方法。
背景技術(shù):
計(jì)算環(huán)境中的存儲(chǔ)器管理涉及保留計(jì)算機(jī)存儲(chǔ)器的各部分以加栽可執(zhí) 行邏輯代碼(即軟件程序)并在以后根據(jù)特定的存儲(chǔ)器管理方案釋放存儲(chǔ) 器以重復(fù)使用。保留存儲(chǔ)器的過(guò)程通常稱為向邏輯對(duì)象"分配"存儲(chǔ)器空間;而釋放存儲(chǔ)器的過(guò)程通常稱為"解除分配"存儲(chǔ)器空間。根據(jù)所使用的編程語(yǔ)言的類型,解除分配方案有時(shí)包括"垃圾收集" 過(guò)程。本文中的術(shù)語(yǔ)"垃圾"指分配給正確執(zhí)行程序時(shí)不再需要的邏輯對(duì) 象的存儲(chǔ)器空間。通常,當(dāng)收集所謂的垃圾對(duì)象時(shí),意味著解除分配相應(yīng) 的存儲(chǔ)器空間。已經(jīng)實(shí)現(xiàn)了手動(dòng)和自動(dòng)存儲(chǔ)器管理方案。在手動(dòng)方案中,程序設(shè)計(jì)員 必須主動(dòng)將指令插入邏輯代碼以便標(biāo)識(shí)和解除分配與不使用的對(duì)象關(guān)聯(lián)的 存儲(chǔ)器空間。自動(dòng)方案只在編程語(yǔ)言級(jí)別使用,并且僅在檢測(cè)到系統(tǒng)存儲(chǔ) 器不足時(shí)才使垃圾收集周期開(kāi)始。不幸的是,上述兩種方案未在存儲(chǔ)器密集的軟件應(yīng)用(如支持在Web 服務(wù)器與一個(gè)或多個(gè)客戶機(jī)之間建立的大量會(huì)話的基于因特網(wǎng)的應(yīng)用(即 Web應(yīng)用))中提供最佳結(jié)果。例如,當(dāng)使用多個(gè)Servlet為在Web^ 期間從一個(gè)或多個(gè)客戶機(jī)提交到Web服務(wù)器的多個(gè)請(qǐng)求服務(wù)時(shí),存儲(chǔ)器管 理變得非常繁瑣和復(fù)雜。通常,在將存儲(chǔ)器分配g話中的邏輯對(duì)象時(shí),存儲(chǔ)器將保持已分配 直到會(huì)話終止,與對(duì)應(yīng)于所述邏輯對(duì)象的任務(wù)在整個(gè)會(huì)話期間處于活動(dòng)狀態(tài)還是非活動(dòng)狀態(tài)無(wú)關(guān)。復(fù)雜的Web應(yīng)用可能在每個(gè)會(huì)話期間支持和要求 執(zhí)行多種邏輯任務(wù)和Servlet。如果垃圾收集過(guò)程延遲到每個(gè)會(huì)話結(jié)束或 延遲到系統(tǒng)存儲(chǔ)器不足,便會(huì)對(duì)Web服務(wù)器的性能產(chǎn)生負(fù)面影響,因?yàn)閃eb 服務(wù)器可能很快會(huì)耗盡存儲(chǔ)器并無(wú)法恢復(fù)。因此,需要可以克服上述缺點(diǎn)的存儲(chǔ)器管理方法和系統(tǒng)。發(fā)明內(nèi)容本披露涉及一種通過(guò)為計(jì)算環(huán)境中的活動(dòng)任務(wù)定義一個(gè)或多個(gè)執(zhí)行范 圍來(lái)促進(jìn)計(jì)算環(huán)境中的存儲(chǔ)器管理的系統(tǒng)和相應(yīng)的方法。出于概述的目的,此處描述了本發(fā)明的特定方面、優(yōu)點(diǎn)和新穎特性。 將理解的是,并非所有此類優(yōu)點(diǎn)都可以根據(jù)本發(fā)明的任一特定實(shí)施例來(lái)實(shí) 現(xiàn)。因此,可以使用實(shí)現(xiàn)或優(yōu)化一種優(yōu)點(diǎn)或一組優(yōu)點(diǎn)而未實(shí)現(xiàn)此處所教導(dǎo) 或建議的全部?jī)?yōu)點(diǎn)的方式來(lái)實(shí)現(xiàn)或執(zhí)行本發(fā)明。根據(jù)一個(gè)實(shí)施例,一種用于在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的方法包括 唯一地標(biāo)識(shí)與計(jì)算環(huán)境中執(zhí)行的應(yīng)用的第一任務(wù)關(guān)聯(lián)的第一對(duì)象,其中將 存儲(chǔ)器的第 一 區(qū)域分配給所述第 一對(duì)象;才艮據(jù)與所述第 一任務(wù)關(guān)聯(lián)的第一 執(zhí)行上下文來(lái)確定所述第一任務(wù)的第 一執(zhí)行范圍,其中所述第一上下文定 義了所述第 一任務(wù)在執(zhí)行環(huán)境層次內(nèi)的第 一預(yù)期壽命;確定所述第 一任務(wù) 的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第一執(zhí)行上下文;以及解除分配存儲(chǔ) 器的所述第一區(qū)域,以響應(yīng)確定不再在所述第一執(zhí)行范圍內(nèi)執(zhí)行所述第一 任務(wù)。在一個(gè)實(shí)施例中,所述方法還包括唯一地標(biāo)識(shí)與作為所述第一任務(wù)的 子任務(wù)的第二任務(wù)關(guān)聯(lián)的第二對(duì)象,其中將存儲(chǔ)器的第二區(qū)域分配給所述 第二對(duì)象;根據(jù)與所述第二任務(wù)關(guān)聯(lián)的第二執(zhí)行上下文來(lái)確定所述第二任 務(wù)的第二執(zhí)行范圍,其中所述第二上下文定義了所述第二任務(wù)在所述執(zhí)行 環(huán)境層次內(nèi)相對(duì)于所述第一任務(wù)的第二預(yù)期壽命;確定所述第二任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第二執(zhí)行上下文;以及解除分配存儲(chǔ)器的 所述第二區(qū)域,以響應(yīng)確定不再在所述第二執(zhí)行范圍內(nèi)執(zhí)行所述第二任務(wù)。還可以唯一地標(biāo)識(shí)與作為所述第二任務(wù)的子任務(wù)的第三任務(wù)關(guān)聯(lián)的第 三對(duì)象,其中將存儲(chǔ)器的第三區(qū)域分配給所述第三對(duì)象;以及解除分配存 儲(chǔ)器的所述第三區(qū)域,以響應(yīng)確定所述第三任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)。也就是說(shuō),可以終止所述第二執(zhí)行上下文以響應(yīng)確定所述第二任務(wù)的 子任務(wù)都沒(méi)有主動(dòng)為請(qǐng)求服務(wù);并且還可以終止所述第一執(zhí)行上下文以響 應(yīng)確定所述第 一任務(wù)的子任務(wù)都沒(méi)有主動(dòng)為請(qǐng)求服務(wù)。在一個(gè)實(shí)施例中,所述第一、第二和第三任務(wù)在通過(guò)通信網(wǎng)絡(luò)而在服 務(wù)器系統(tǒng)與客戶機(jī)系統(tǒng)之間建立的會(huì)話中執(zhí)行。某些實(shí)施例中的所述通信 網(wǎng)絡(luò)包括因特網(wǎng)??梢越獬峙浯鎯?chǔ)器的所述第一、第二和第三區(qū)域以響 應(yīng)確定所述會(huì)話已終止。根據(jù)另一個(gè)實(shí)施例,提供了 一種用于在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的 系統(tǒng)。所述系統(tǒng)可以包括用于唯一地標(biāo)識(shí)與計(jì)算環(huán)境中執(zhí)行的應(yīng)用的第 一任務(wù)關(guān)聯(lián)的第 一對(duì)象的邏輯單元,其中將存儲(chǔ)器的第 一 區(qū)域分配給所述 第一對(duì)象;用于根據(jù)與所述第一任務(wù)關(guān)聯(lián)的第一執(zhí)行上下文來(lái)確定所述第 一任務(wù)的第一執(zhí)行范圍的邏輯單元,其中所述第一上下文定義了所迷第一 任務(wù)在執(zhí)行環(huán)境層次內(nèi)的第一預(yù)期壽命;用于確定所述第一任務(wù)的執(zhí)行范 圍的變化,以響應(yīng)監(jiān)視所述第一執(zhí)行上下文的邏輯單元;以及用于解除分 配存儲(chǔ)器的所述第一區(qū)域,以響應(yīng)確定不再在所述第一執(zhí)行范圍內(nèi)執(zhí)行所 述笫一任務(wù)的邏輯單元。所述系統(tǒng)還可以包括用于唯一地標(biāo)識(shí)與作為所述第一任務(wù)的子任務(wù) 的第二任務(wù)關(guān)聯(lián)的第二對(duì)象的邏輯單元,其中將存儲(chǔ)器的第二區(qū)域分配給 所述第二對(duì)象;用于才艮據(jù)與所述第二任務(wù)關(guān)聯(lián)的第二執(zhí)行上下文來(lái)確定所 述第二任務(wù)的第二執(zhí)行范圍的邏輯單元,其中所述第二上下文定義了所述 第二任務(wù)相對(duì)于所述第一任務(wù)的第二預(yù)期壽命;用于確定所述第二任務(wù)的 執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第二執(zhí)行上下文的邏輯單元;以及用于 解除分配存儲(chǔ)器的所述第二區(qū)域,以響應(yīng)確定不再在所述第二執(zhí)行范圍內(nèi)執(zhí)行所述第二任務(wù)的邏輯單元。在一個(gè)實(shí)施例中,所述系統(tǒng)還包括用于唯一地標(biāo)識(shí)與作為所述第二 任務(wù)的子任務(wù)的第三任務(wù)關(guān)聯(lián)的第三對(duì)象的邏輯單元,其中將存儲(chǔ)器的第 三區(qū)域分配給所述第三對(duì)象;以及用于解除分配存儲(chǔ)器的所述第三區(qū)域, 以響應(yīng)確定所述第三任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)的邏輯單元。在另一個(gè)實(shí)施例中,提供了一種包括具有計(jì)算機(jī)可讀程序的計(jì)算機(jī)可 用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品。當(dāng)所述計(jì)算機(jī)可讀程序在計(jì)算機(jī)上執(zhí)行時(shí),將 導(dǎo)致所述計(jì)算機(jī)執(zhí)行根據(jù)上述系統(tǒng)和方法披露的過(guò)程和功能。下面參考附圖進(jìn)一步詳細(xì)地提供了一個(gè)或多個(gè)上面披露的實(shí)施例以及 特定的備選實(shí)施例。但是,本發(fā)明不限于所披露的任何特定實(shí)施例。
通過(guò)參考附圖中的圖形,可以理解本發(fā)明的各實(shí)施例,這些附圖是 圖1示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的Web服務(wù)器的示例性軟件環(huán)境,其中服務(wù)器系統(tǒng)通過(guò)通信網(wǎng)絡(luò)與客戶機(jī)系統(tǒng)進(jìn)行通信;圖2是根據(jù)一個(gè)實(shí)施例的用于確定在圖1的客戶機(jī)系統(tǒng)與服務(wù)器系統(tǒng)之間建立的通信會(huì)話中的 一個(gè)或多個(gè)任務(wù)的執(zhí)行范圍的示例性方法的流程圖;圖3是根據(jù)一個(gè)實(shí)施例的用于管理分配給具有定義執(zhí)行范圍的一個(gè)或多個(gè)對(duì)象的存儲(chǔ)器的示例性方法的流程圖;以及圖4A和4B是才艮據(jù)一個(gè)或多個(gè)實(shí)施例的可以在其中運(yùn)行本發(fā)明的系統(tǒng) 的硬件和軟件環(huán)境的方塊圖。根據(jù)一個(gè)或多個(gè)實(shí)施例,不同圖形中的相同數(shù)字所標(biāo)示的本發(fā)明的特 性、元素和方法代表相同、等價(jià)或類似的特性、元素或方面。
具體實(shí)施方式
本披露涉及促進(jìn)其中執(zhí)行多個(gè)邏輯任務(wù)和子任務(wù)的應(yīng)用環(huán)境中的存儲(chǔ) 器管理的系統(tǒng)和相應(yīng)方法。實(shí)現(xiàn)存儲(chǔ)器管理方法以為一個(gè)或多個(gè)任務(wù)和子任務(wù)定義和監(jiān)視各種執(zhí)行范圍(例如,會(huì)話范圍、任務(wù)/子任務(wù)范圍以及當(dāng) 前范圍),以便根據(jù)所述定義的執(zhí)行范圍從存儲(chǔ)器中移除與所述任務(wù)和子 任務(wù)關(guān)聯(lián)的對(duì)象。在下文中,將說(shuō)明大量特定細(xì)節(jié)來(lái)全面描述本發(fā)明的各種實(shí)施例??尚?shí)施例。在某些情況下,將不會(huì)過(guò)于詳細(xì)地描述某些功能,以免使本發(fā) 明的其他方面變得模糊不清。與每個(gè)元素或特性關(guān)聯(lián)的詳細(xì)程度不應(yīng)理解 為將某一功能的新穎性或重要性限定為高于其他功能的新穎性或重要性。例如,在下文中,將本發(fā)明的某些方面披露為適用于在基于Web的環(huán) 境中執(zhí)行的Servlet。但值得注意的是,此類應(yīng)用只是作為示例。因此, 本發(fā)明的范圍不應(yīng)被理解為限于此類示例性實(shí)施例。在備選實(shí)施例中,所 ^L露的系統(tǒng)和方法可適用于在任何計(jì)算環(huán)境中管理存儲(chǔ)器。現(xiàn)在參考圖1,其中示出了示例性計(jì)算環(huán)境,其中服務(wù)器系統(tǒng)(此后 稱為"服務(wù)器")110通過(guò)通信網(wǎng)絡(luò)("網(wǎng)絡(luò),,)130與客戶機(jī)系統(tǒng)(此后 稱為"客戶機(jī)")120通信。在此示例性實(shí)施例中,網(wǎng)絡(luò)130通過(guò)因特網(wǎng) (即萬(wàn)維網(wǎng)WW)實(shí)現(xiàn),其中包括服務(wù)器110和客戶機(jī)120的大量計(jì)算系 統(tǒng)相互連接以便相互通信。但是,取決于實(shí)施方式,在備選實(shí)施例中網(wǎng)絡(luò) 130可以根據(jù)本地、遠(yuǎn)程或分布式框架來(lái)構(gòu)建。優(yōu)選地,服務(wù)器110為Web服務(wù)器并且客戶機(jī)12 0為具有通過(guò)網(wǎng)絡(luò)13 0 將請(qǐng)求提交給服務(wù)器110的客戶機(jī)軟件環(huán)境125的計(jì)算機(jī)。如圖所示,服 務(wù)器110包括被配置為答復(fù)由客戶機(jī)120提交的請(qǐng)求的服務(wù)器軟件環(huán)境 115。通過(guò)網(wǎng)絡(luò)130進(jìn)行的請(qǐng)求和答復(fù)的交換在服務(wù)器110與客戶機(jī)120 之間建立的一個(gè)或多個(gè)會(huì)話的上下文內(nèi)進(jìn)行以為客戶機(jī)120請(qǐng)求服務(wù)。所提交的請(qǐng)求可以由在服務(wù)器軟件環(huán)境115中執(zhí)行的應(yīng)用150來(lái)服務(wù)。 例如,應(yīng)用150可以是位于基于Web的環(huán)境中的邏輯代碼(例如,Java Applet、 Java Servlet或其他功能上等同的模塊)。也就是說(shuō), 一旦調(diào)用 應(yīng)用150以響應(yīng)會(huì)話中接收的第一請(qǐng)求,應(yīng)用150就優(yōu)選地在存儲(chǔ)器中保 持活動(dòng)狀態(tài)以滿足在會(huì)話的其余時(shí)間內(nèi)提交的一個(gè)或多個(gè)后續(xù)請(qǐng)求。應(yīng)用150在存儲(chǔ)器中的駐留使其能夠快速地對(duì)客戶機(jī)120的請(qǐng)求做出 響應(yīng)。因此,有利地,相比于在滿足請(qǐng)求后從服務(wù)器110的執(zhí)行環(huán)境移除 的其他應(yīng)用(例如,通用網(wǎng)關(guān)接口 (CGI)程序),應(yīng)用150優(yōu)選地駐留在 存儲(chǔ)器中以避免與建立和消除每次為請(qǐng)求服務(wù)所需的過(guò)程關(guān)聯(lián)的時(shí)間延遲?,F(xiàn)在參考圖l和2,在一個(gè)實(shí)施例中,例如由服務(wù)器IIO啟動(dòng)應(yīng)用150 以響應(yīng)客戶機(jī)120提交的一個(gè)或多個(gè)請(qǐng)求(S210)。取決于客戶機(jī)數(shù)或所 提交的請(qǐng)求數(shù),應(yīng)用150可以管理一個(gè)或多個(gè)會(huì)話(S220 )。在每個(gè)M 中,可以執(zhí)4亍應(yīng)用150以打開(kāi)如圖1所示的一個(gè)或多個(gè)4壬務(wù)和子任務(wù)(例 如任務(wù)1至3以及子任務(wù)1至6等)。所述任務(wù)和子任務(wù)例如與由配置為服務(wù)客戶機(jī)請(qǐng)求的Servlet、 Java Server Pages (JSP)或其他編程應(yīng)用(例如應(yīng)用編程接口 API)執(zhí)行或管 理的一個(gè)或多個(gè)操作關(guān)聯(lián)。如圖所示,根據(jù)一個(gè)實(shí)施例,某個(gè)任務(wù)(例如 任務(wù)2)可以具有一個(gè)或多個(gè)能夠在同一會(huì)話中打開(kāi)的子任務(wù)(例如子任 務(wù)3、 4、 5)。每個(gè)子任務(wù)還可以具有一個(gè)或多個(gè)其他子任務(wù)。一旦打開(kāi),每個(gè)任務(wù)或子任務(wù)就與向其分配了存儲(chǔ)器空間的至少一個(gè) 邏輯對(duì)象關(guān)聯(lián)。將執(zhí)行每個(gè)對(duì)象以便為任務(wù)或子任務(wù)執(zhí)行相關(guān)的操作。取 決于實(shí)施方式,在每個(gè)會(huì)話中,可以使用各種方案來(lái)管理每個(gè)任務(wù)/子任務(wù) 以及與之關(guān)聯(lián)的已分配存儲(chǔ)器空間。例如,可以使用邏輯模塊(例如,會(huì) 話管理器API)添加或移除與每個(gè)任務(wù)/子任務(wù)關(guān)聯(lián)的會(huì)話對(duì)象。例如,在一個(gè)實(shí)施例中,會(huì)話管理器判定應(yīng)用150是否打開(kāi)了新的任 務(wù)/子任務(wù)以便為請(qǐng)求服務(wù)(S230 )。當(dāng)打開(kāi)了新的任務(wù)/子任務(wù)時(shí), 管理器將監(jiān)視或編輯數(shù)據(jù)結(jié)構(gòu)(例如描述符文件)以跟蹤執(zhí)行層次中的任 務(wù)及關(guān)聯(lián)的子任務(wù)。優(yōu)選地,會(huì)話管理器根據(jù)任務(wù)的執(zhí)行范圍為應(yīng)用150 所打開(kāi)的每個(gè)任務(wù)分配唯一標(biāo)識(shí)符。可以使用此唯一標(biāo)識(shí)符來(lái)定義任務(wù)類 型并進(jìn)一步對(duì)每個(gè)任務(wù)/子任務(wù)進(jìn)行分類,如以下進(jìn)一步詳細(xì)描述的。在一個(gè)實(shí)施例中,描述符文件包括諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)之類的 編程語(yǔ)言語(yǔ)法來(lái)為每個(gè)任務(wù)類型定義描述。例如,描述符文件的元素可以定義每個(gè)任務(wù)的組件。對(duì)于每個(gè)已定義的任務(wù)類型,可以在任務(wù)類型定義 中將默認(rèn)特定組件標(biāo)識(shí)為任務(wù)初始的默認(rèn)組件。相應(yīng)地,開(kāi)發(fā)人員可以定 義一組可由用戶執(zhí)行的任務(wù),以便為每個(gè)任務(wù)類型定義一個(gè)或多個(gè)特定的組件(例如,替代的JSP頁(yè))。根據(jù)一個(gè)實(shí)施例,當(dāng)打開(kāi)新的任務(wù)/子任務(wù)時(shí),將使用邏輯模塊(例如,范圍管理器API)來(lái)確定所述新任務(wù)/子任務(wù)的執(zhí)行范圍(S240 )。在一個(gè) 實(shí)施例中,使用范圍管理器監(jiān)視與會(huì)話中共享的每個(gè)任務(wù)/子任務(wù)關(guān)聯(lián)的對(duì) 象。相應(yīng)地,范圍管理器將管理會(huì)活對(duì)象的創(chuàng)建(即分配)和移除(即解 除分配)并支持請(qǐng)求將對(duì)象添加到^"或請(qǐng)求從^"移除對(duì)象的功能?,F(xiàn)在參考圖3,其中根據(jù)一個(gè)實(shí)施例實(shí)現(xiàn)范圍管理器以便還定義M 中打開(kāi)的任務(wù)/子任務(wù)的允許執(zhí)行范圍(S310)。也就是說(shuō),實(shí)現(xiàn)范圍管理 器以指定與當(dāng)前應(yīng)用流相關(guān)的每個(gè)任務(wù)對(duì)應(yīng)的一個(gè)或多個(gè)對(duì)象的壽命粒 度,并且更新對(duì)象的允許執(zhí)行范圍。定義允許的執(zhí)行范圍(即,為會(huì)話中 的任務(wù)/子任務(wù)定義多層壽命粒度)提供了這樣的可能性優(yōu)選地在服務(wù)器 110的存儲(chǔ)器空間達(dá)到最低臨界閾值之前,以及優(yōu)選地在對(duì)象存在于其中 的會(huì)話終止之前,釋放分配給與處于各個(gè)執(zhí)行上下文或級(jí)別的任務(wù)/子任務(wù) 對(duì)應(yīng)的一個(gè)或多個(gè)對(duì)象的存儲(chǔ)器。在一個(gè)實(shí)施例中,例如,由范圍管理器優(yōu)選地在任務(wù)/子任務(wù)被添加到范圍。可以才艮據(jù)以下三個(gè)范圍或上下文來(lái)定義執(zhí)^f亍范圍(l)應(yīng)用上下文, (2 )任務(wù)/子任務(wù)上下文,以及(3)當(dāng)前上下文。但值得注意的是,取決 于實(shí)施方式,可以指定或分配其他上下文或準(zhǔn)則。出于示例和簡(jiǎn)要的目的, 在下文中,我們將討論限于上述三種執(zhí)行上下文。在應(yīng)用上下文中,與應(yīng)用150關(guān)聯(lián)的對(duì)象在會(huì)話的持續(xù)期間內(nèi)保持活 動(dòng)。也就是說(shuō),在會(huì)話終止之前,不會(huì)將控制應(yīng)用150操作的相應(yīng)對(duì)象從 執(zhí)行環(huán)境移除??梢允褂脩?yīng)用上下文來(lái)定義不同任務(wù)/子任務(wù)之間共享的和 潛在更新的狀態(tài)信息的執(zhí)行范圍。例如,列出服務(wù)器上定義的節(jié)點(diǎn)和安排 的服務(wù)器狀態(tài)結(jié)構(gòu)可以通過(guò)多個(gè)任務(wù)、計(jì)算機(jī)、應(yīng)用、節(jié)點(diǎn)組和安排進(jìn)行更新并優(yōu)選地在會(huì)話的壽命期間保持不變。在任務(wù)/子任務(wù)上下文中,將在打開(kāi)的任務(wù)/子任務(wù)的執(zhí)行持續(xù)時(shí)間內(nèi) (即,在任務(wù)/子任務(wù)處于活動(dòng)狀態(tài)以響應(yīng)提交的請(qǐng)求時(shí)) 一直保留與該任務(wù)/子任務(wù)關(guān)聯(lián)的對(duì)象。例如,在IBM Tivoli Storage Manager (ITSM) 的節(jié)點(diǎn)組任務(wù)中,將一直保留與定義到ITSM服務(wù)器的節(jié)點(diǎn)組有關(guān)的相關(guān)信 息和任務(wù)組件(例如,在節(jié)點(diǎn)組任務(wù)中啟動(dòng)的向?qū)А⒂浭卤竞捅韱?的當(dāng) 前狀態(tài)和信息數(shù)據(jù),直到相應(yīng)的任務(wù)終止。在當(dāng)前上下文中,將在活動(dòng)任務(wù)/子任務(wù)的組件的活動(dòng)期間保留與該任 務(wù)/子任務(wù)關(guān)聯(lián)的對(duì)象。例如,在ITSM的節(jié)點(diǎn)組任務(wù)中,文件空間表數(shù)據(jù) 可能與特定的計(jì)算機(jī)或應(yīng)用記事^目關(guān),其中在向用戶顯示該記事本之前 選擇所述計(jì)算機(jī)或應(yīng)用。在此類情況下,當(dāng)前上下文例如與唯一的JSP頁(yè) 關(guān)聯(lián)。因此,范圍管理器根據(jù)預(yù)定的執(zhí)行上下文來(lái)監(jiān)視會(huì)話中每個(gè)任務(wù)/子任 務(wù)的執(zhí)行范圍(S320 )。當(dāng)任務(wù)/子任務(wù)在允許的范圍內(nèi)完成執(zhí)行時(shí)(S330 ), 范圍管理器從執(zhí)行環(huán)境移除與該任務(wù)/子任務(wù)關(guān)聯(lián)的對(duì)象(S340 )。同時(shí), 當(dāng)會(huì)話終止時(shí)(S350 ),會(huì)話管理器優(yōu)選地移除某些或全部應(yīng)用相關(guān)的會(huì) 話對(duì)象(S360 )。在下文中,提供了根據(jù)Java對(duì)象類實(shí)現(xiàn)的示例性范圍管理器接口。值 得注意的是,本發(fā)明的范圍不應(yīng)被理解為限于此示例性實(shí)施例,因?yàn)榭梢?以不同的編程語(yǔ)言對(duì)所披露主要內(nèi)容做出其他實(shí)現(xiàn)和修改。p油lic class DsraScopeManagerpublic, static find byte .COMP—SCOPE; public static final byte TASK_SCOPE; public static final byte CCT—SCOPE;public static final void, add (byte scope, String scopeDD, Object value^ Ht^Session sessi加):;public static final void add (byte scope, final Object[Jattrs, H鄉(xiāng)Session session);public static fmal void addPersistem (String scopeID, Object value, byte scope, HttpSession session);public static find void makePersistent (Sbing scope〖D, byte scope, 韭鄰Sesskin session);public static final HashSet getScopeAttrSet (byte scope, H鄉(xiāng)Sessiori session);public static final void cleanll'p (byte scope, H鄰Session session);public static ftoal void cdeanllpTask (WccCoatext, wccContext, HttpSession session);}…根據(jù)一個(gè)實(shí)施例,下面的示例性框架支持上述范圍管理器的功能。所 述框架是管理應(yīng)用150的運(yùn)行時(shí)流的軟件應(yīng)用并才艮據(jù)一個(gè)實(shí)施例,優(yōu)選地 在Web容器中實(shí)現(xiàn),以檢測(cè)應(yīng)用、任務(wù)和任務(wù)特定的組件。所述框架可以 進(jìn)一步檢測(cè)用戶流狀態(tài)和對(duì)象執(zhí)行范圍并幫助確定適當(dāng)?shù)拇鎯?chǔ)器管理和對(duì) 象清除方案。在一個(gè)實(shí)施例中,所述框架包括一組相關(guān)的用于檢測(cè)應(yīng)用流和用于監(jiān) 視活動(dòng)任務(wù)及其關(guān)聯(lián)組件的類。使用此框架,可以監(jiān)視和確定當(dāng)前活動(dòng)的 任務(wù)、當(dāng)前向用戶顯示的任務(wù)、每個(gè)任務(wù)的當(dāng)前活動(dòng)的組件,以及用戶在 其中查看這些組件的流。可以實(shí)現(xiàn)特定的類(例如DsmTasksFactory類)以標(biāo)識(shí)相關(guān)的^f壬務(wù)及 關(guān)聯(lián)的組件。例如,在一個(gè)實(shí)施例中,這種類被實(shí)現(xiàn)為單態(tài)類(singleton class)。單態(tài)類是為其創(chuàng)建單個(gè)實(shí)例的類。優(yōu)選地,所述類可以提供信息以支持給定的DSM任務(wù)類型并將描述每 個(gè)DSM任務(wù)類型的XML應(yīng)用描述符文件作為輸入。XML文件的元素可以提 供啟動(dòng)任務(wù)或任務(wù)特定組件映射到其的嵌套組件(例如,任務(wù)JSP頁(yè)以及 替代的JSP頁(yè))所需的預(yù)定信息項(xiàng)。在一個(gè)實(shí)施例中,方法接口支持訪問(wèn)任務(wù)范圍屬性設(shè)置??刂破?例 如DsmTaskController )類可以負(fù)責(zé)處理與任務(wù)相關(guān)的事件以及支持創(chuàng)建和管理邏輯任務(wù)及應(yīng)用150中的每個(gè)任務(wù)的內(nèi)容。此控制器將管理諸如激 活、取消激活或關(guān)閉一個(gè)或多個(gè)任務(wù)之類的特定任務(wù)事件的責(zé)任委托給應(yīng) 用模塊(例如,任務(wù)事件偵聽(tīng)器)。相應(yīng)地,所述框架監(jiān)視和控制會(huì)話中的一個(gè)或多個(gè)任務(wù)及相關(guān)事件的 設(shè)置、狀態(tài)、執(zhí)行層次以及范圍。因此,在一個(gè)實(shí)施例中,所述框架負(fù)責(zé) 創(chuàng)建包括任務(wù)視圖(例如JSP)的任務(wù)框架并優(yōu)選地標(biāo)識(shí)其他任務(wù)特定的 特征(如任務(wù)幫助)。處理模塊生成將發(fā)送到用戶瀏覽器的響應(yīng)以顯示應(yīng) 用用戶接口的給定任務(wù)部分以及在任務(wù)已存在的情況下更新所述部分。在任務(wù)/子任務(wù)完成時(shí),關(guān)聯(lián)的范圍屬性將被清除并從會(huì)話執(zhí)行環(huán)境中 移除。還優(yōu)選地忽略跟蹤范圍上下文的由框架創(chuàng)建的對(duì)象結(jié)構(gòu)。在一個(gè)實(shí) 施例中,定義了從支持框架的角度看來(lái),包括與應(yīng)用150狀態(tài)有關(guān)的信息 的類(例如DsmConsoleContext)。所述類積累在當(dāng)前應(yīng)用^的壽命期 間保留的所有會(huì)話范圍名稱。在一個(gè)實(shí)施例中,servlet或portlet軟件包提供接口和類(例如, HttpSessionBindingListener接口和HttpSessionBindingEvent類)來(lái)幫 助管理會(huì)話中的資源。例如,可以將對(duì)象(如DsmConsoleContext對(duì)象) 與會(huì)話(如HttpSession)關(guān)聯(lián)(例如結(jié)合)。通過(guò)此關(guān)聯(lián),框架可以檢 測(cè)會(huì)話的終止,以便可以從執(zhí)行環(huán)境移除相應(yīng)的對(duì)象。在示例性實(shí)施例中,定義的上下文類(例如DsmConsoleContext)引 用會(huì)話(例如HttpSession)并且反之亦然。當(dāng)解除定義的上下文類與會(huì) 話的關(guān)聯(lián)(解除結(jié)合)時(shí),將丟棄會(huì)話與上下文之間的雙重引用。在M 或上下文可用時(shí),這種雙重引用允許框架訪問(wèn)會(huì)話。還可以實(shí)現(xiàn)另 一個(gè)上下文類(例如WccContext類)以監(jiān)視任務(wù)導(dǎo)航的 當(dāng)前狀態(tài)和屬性范圍。該類監(jiān)視各種執(zhí)行范圍內(nèi)的當(dāng)前被查看的或活動(dòng)的 任務(wù)并跟蹤按照需要?jiǎng)?chuàng)建或移除的相應(yīng)對(duì)象實(shí)例(例如DsmTask實(shí)例)以 響應(yīng)接收到的請(qǐng)求。根據(jù)一個(gè)實(shí)施例,當(dāng)啟動(dòng)應(yīng)用150時(shí),將創(chuàng)建默認(rèn)的任務(wù)并假定此任 務(wù)代表當(dāng)前被查看的任務(wù)。對(duì)象類(例如DsmTask類)定義了任務(wù)的屬性存儲(chǔ)器管理信息,并優(yōu)選地維護(hù)與任務(wù)的唯一標(biāo)識(shí)符以及在任務(wù)壽命期間 保留在會(huì)話范圍中的 一組永久屬性相關(guān)的信息。由于在各種執(zhí)^f亍范圍期間累積任務(wù)的其他信息,因此所述對(duì)象類(例如DsmTask類)監(jiān)視任務(wù)組件 的顯示流。因此,該類將監(jiān)視當(dāng)前任務(wù)組件。在某些實(shí)施例中,當(dāng)初始打開(kāi)任務(wù)時(shí),將假定任務(wù)的主要組件代表當(dāng) 前上下文,如相應(yīng)任務(wù)類型的描述符文件中所定義的那樣。所述框架優(yōu)選 地提供給定任務(wù)類型可以根據(jù)事件顯示的主要視圖頁(yè)以及零個(gè)或多個(gè)替代 視圖(例如JSP頁(yè))的定義。在示例性實(shí)施例中,默認(rèn)顯示主要頁(yè)。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以使用另一個(gè)上下文類(例如 DsmContextSwitch類)來(lái)切換顯示的當(dāng)前上下文以響應(yīng)預(yù)定的事件或更改 應(yīng)用控制臺(tái)的內(nèi)容。例如,瀏覽器視圖可以最初顯示示出了媒體副本表的 頁(yè)。該表所支持的操作可以允許用戶例如使用向?qū)?lái)創(chuàng)建媒體組。在一個(gè)示例性實(shí)施例中,例如,服務(wù)器110創(chuàng)建i某體組表單來(lái)代替表 頁(yè)以響應(yīng)創(chuàng)建媒體組請(qǐng)求,以便從第一上下文切換到第二上下文。在兩個(gè) 上下文之間傳遞的所有信息都可以作為屬性放置在會(huì)話中。例如,在新啟 動(dòng)的組件的壽命期間需要此類屬性來(lái)定義初始設(shè)置或?qū)Ш街笇?dǎo)。例如,可 以在自包含的對(duì)象實(shí)例(例如DsmComponentContext類實(shí)例)中累積此類 屬性。當(dāng)框架檢測(cè)到切換回啟動(dòng)組件時(shí),將優(yōu)選地從會(huì)話執(zhí)行環(huán)境移除最 低的粒度級(jí)別屬性。在其他實(shí)施例中,本發(fā)明可以完全以硬件的形式或完全以軟件的形式, 或同時(shí)以硬件及軟件元素組合的形式實(shí)現(xiàn)。例如,客戶機(jī)120和服務(wù)器110 可以包括主要包含硬件組件和軟件代碼的受控計(jì)算系統(tǒng)環(huán)境,執(zhí)行所述代 碼以便執(zhí)行實(shí)現(xiàn)由本發(fā)明的系統(tǒng)所構(gòu)想的結(jié)果的過(guò)程。現(xiàn)在參考圖4A和4B,其中才艮據(jù)示例性實(shí)施例的計(jì)算系統(tǒng)環(huán)境包括石更 件環(huán)境1110和軟件環(huán)境1120。硬件環(huán)境1110包括提供軟件執(zhí)行環(huán)境的機(jī) 器和設(shè)備;并且軟件提供硬件的執(zhí)行指令,如下文所述。如此處所述,根據(jù)特定的邏輯/功能關(guān)系描述了在所示的硬件元素上執(zhí) 行的軟件元素。但是應(yīng)指出,在軟件中實(shí)現(xiàn)的相應(yīng)方法也可以借助經(jīng)過(guò)配置和編程的處理器、ASIC (專用集成電路)、FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列) 以及DSP (數(shù)字信號(hào)處理器)等在硬件中實(shí)現(xiàn)。軟件環(huán)境1120分為兩個(gè)包括系統(tǒng)軟件1121和應(yīng)用軟件1122的主要 類。系統(tǒng)軟件1121包括控制程序,例如操作系統(tǒng)(OS)和指示硬件如何使 用和處理信息的信息管理系統(tǒng)。在優(yōu)選實(shí)施例中,將應(yīng)用150實(shí)現(xiàn)為在一個(gè)或多個(gè)硬件環(huán)境中執(zhí)行以 為客戶機(jī)120提交的一個(gè)或多個(gè)請(qǐng)求服務(wù)的應(yīng)用軟件1122。應(yīng)用軟件1122 可以包括但不限于程序代碼、數(shù)據(jù)結(jié)構(gòu)、周件、駐留軟件、微代碼或任何 其他形式的信息或可以由微控制器讀取、分析或執(zhí)行的例程。在備選實(shí)施例中,本發(fā)明可以實(shí)現(xiàn)為可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介 質(zhì)訪問(wèn)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供了可以 被計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合的程序代碼。出于在此說(shuō)明的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任 何能夠包含、存儲(chǔ)、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)務(wù)使用 或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的裝置。所述計(jì)算機(jī)可讀介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng) (或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括半導(dǎo)體或固態(tài) 存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)盤(pán)、隨M取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、 硬磁盤(pán)和光盤(pán)。光盤(pán)的當(dāng)前實(shí)例包括光盤(pán)-只讀存儲(chǔ)器(CD-R0M)、光盤(pán)-讀/ 寫(xiě)(CR-R/W)和數(shù)字^L頻盤(pán)(DVD)。參考圖4A,應(yīng)用軟件1122的實(shí)施例可以實(shí)現(xiàn)為計(jì)算機(jī)軟件,所述計(jì) 算機(jī)軟件的形式為在數(shù)據(jù)處理系統(tǒng)上執(zhí)行的計(jì)算機(jī)可讀代碼,所述數(shù)據(jù)處 理系統(tǒng)例如包括通過(guò)系統(tǒng)總線1100與一個(gè)或多個(gè)存儲(chǔ)元件相連的處理器 1101的硬件環(huán)境1110。所述存儲(chǔ)元件可以例如包括本地存儲(chǔ)器1102、存 儲(chǔ)介質(zhì)1106以及高速緩沖存儲(chǔ)器1104。處理器1101將可執(zhí)行代碼從存儲(chǔ) 介質(zhì)1106加栽到本地存儲(chǔ)器1102。高速緩沖存儲(chǔ)器1104提供臨時(shí)存儲(chǔ)以 減少?gòu)拇鎯?chǔ)介質(zhì)1106加載要執(zhí)行的代碼的次數(shù)。用戶接口設(shè)備1105 (例如鍵盤(pán)、指點(diǎn)設(shè)備等)以及顯示屏1107可以例如直接與計(jì)算系統(tǒng)相連,也可以通過(guò)中間I/0控制器1103與計(jì)算系統(tǒng)相 連。還可以將諸如網(wǎng)絡(luò)適配器之類的通信接口單元1108連接到計(jì)算系統(tǒng), 以使得數(shù)據(jù)處理系統(tǒng)能夠通過(guò)中間專用網(wǎng)絡(luò)或公共網(wǎng)絡(luò)與其他數(shù)據(jù)處理系 統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備進(jìn)行通信。有線或無(wú)線調(diào)制解調(diào)器和以太網(wǎng)卡 是一些示例性的網(wǎng)絡(luò)適配器類型。在一個(gè)或多個(gè)實(shí)施例中,石更件環(huán)境1110可以不包括上述所有組件,或 者可以包括執(zhí)行其他功能或?qū)嵱贸绦虻慕M件。例如,硬件環(huán)境1110可以是 膝上型計(jì)算機(jī)或包含在嵌入式系統(tǒng)中的其他便攜式計(jì)算設(shè)備,例如機(jī)頂盒、 個(gè)人數(shù)字助理(PDA)、移動(dòng)通信裝置(例如無(wú)線電話)或其他具有信息處 理和/或數(shù)據(jù)存儲(chǔ)以及通信能力的類似硬件平臺(tái)。在某些系統(tǒng)實(shí)施例中,通信接口 1108通過(guò)發(fā)送和接收電、電磁或光信 號(hào)(承載代表包括程序代碼的各種類型信息的數(shù)字?jǐn)?shù)據(jù)流)與其他系統(tǒng)通 信。可以通過(guò)遠(yuǎn)程網(wǎng)絡(luò)(例如因特網(wǎng))或備選地通過(guò)栽波傳輸來(lái)建立所述 通信。參考圖4B,應(yīng)用軟件1122可以包括一個(gè)或多個(gè)從存儲(chǔ)介質(zhì)1106加栽 到本地存儲(chǔ)器1102之后在系統(tǒng)軟件1121之上執(zhí)行的計(jì)算機(jī)程序。在客戶 機(jī)-服務(wù)器體系結(jié)構(gòu)中,應(yīng)用軟件112 2可以包括客戶機(jī)軟件和服務(wù)器軟件。 例如,在本發(fā)明的一個(gè)實(shí)施例中,客戶機(jī)軟件在計(jì)算系統(tǒng)IOO上執(zhí)行,而 服務(wù)器軟件在服務(wù)器系統(tǒng)(未示出)上執(zhí)行。軟件環(huán)境1120還可以包括用于訪問(wèn)通過(guò)本地計(jì)算網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算網(wǎng) 絡(luò)提供的數(shù)據(jù)的瀏覽器軟件1126。進(jìn)而,軟件環(huán)境1120可以包括用于接 收用戶命令和數(shù)據(jù)的用戶接口 1124 (例如,圖形用戶接口 GUI)。要指出 的是,上述硬件和軟件體系結(jié)構(gòu)和環(huán)境僅作為示例,并且可以通過(guò)任意類 型的系統(tǒng)體系結(jié)構(gòu)或處理環(huán)境實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)實(shí)施例。應(yīng)當(dāng)理解,所述邏輯代碼、程序、模塊、過(guò)程、方法以及執(zhí)行每個(gè)方 法的各個(gè)步驟的順序只是示例性的。取決于實(shí)施方式,可以按照任意順序 或并行執(zhí)行各步驟,除非本披露中另行指出。進(jìn)而,所述邏輯代碼并不與 任何特定編程語(yǔ)言相關(guān)或限于特定編程語(yǔ)言,并且可以包括在分布式、非說(shuō)分布式或多處理環(huán)境中的一個(gè)或多個(gè)處理器上執(zhí)4亍的一個(gè)或多個(gè)才莫塊。因此,應(yīng)當(dāng)理解,本發(fā)明可以在所附權(quán)利要求的精神和范圍內(nèi)進(jìn)行任 何修改和改變。所述說(shuō)明并非旨在是窮舉的或?qū)⒈景l(fā)明限于所披露的精確 形式。所披露的實(shí)施例的上述以及其他修改和組合都在本發(fā)明的范圍內(nèi)并 進(jìn)一步由權(quán)利要求及其等同物的完整范圍來(lái)限定。
權(quán)利要求
1.一種用于在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的方法,所述方法包括唯一地標(biāo)識(shí)與計(jì)算環(huán)境中執(zhí)行的應(yīng)用的第一任務(wù)關(guān)聯(lián)的第一對(duì)象,其中將存儲(chǔ)器的第一區(qū)域分配給所述第一對(duì)象;根據(jù)與所述第一任務(wù)關(guān)聯(lián)的第一執(zhí)行上下文來(lái)確定所述第一任務(wù)的第一執(zhí)行范圍,其中所述第一上下文定義了所述第一任務(wù)在執(zhí)行環(huán)境層次內(nèi)的第一預(yù)期壽命;確定所述第一任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第一執(zhí)行上下文;以及解除分配存儲(chǔ)器的所述第一區(qū)域,以響應(yīng)確定不再在所述第一執(zhí)行范圍內(nèi)執(zhí)行所述第一任務(wù)。
2. 如權(quán)利要求1中所述的方法,還包括唯一地標(biāo)識(shí)與作為所述第 一任務(wù)的子任務(wù)的第二任務(wù)關(guān)聯(lián)的第二對(duì)象,其中將存儲(chǔ)器的第二區(qū)域分配給所述第二對(duì)象;根據(jù)與所述第二任務(wù)關(guān)聯(lián)的第二執(zhí)行上下文來(lái)確定所述第二任務(wù)的第 二執(zhí)行范圍,其中所述第二上下文定義了所述第二任務(wù)在所述執(zhí)行環(huán)境層次內(nèi)相對(duì)于所述第一任務(wù)的第二預(yù)期壽命;確定所述第二任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第二執(zhí)行上下文;以及解除分配存儲(chǔ)器的所述第二區(qū)域,以響應(yīng)確定不再在所述第二執(zhí)行范 圍內(nèi)執(zhí)行所述第二^f壬務(wù)。
3. 如權(quán)利要求2中所述的方法,還包括唯一地標(biāo)識(shí)與作為所述第二任務(wù)的子任務(wù)的第三任務(wù)關(guān)聯(lián)的第三對(duì) 象,其中將存儲(chǔ)器的第三區(qū)域分配給所述第三對(duì)象;以及解除分配存儲(chǔ)器的所述第三區(qū)域,以響應(yīng)確定所述第三任務(wù)不再主動(dòng) 為請(qǐng)求服務(wù)。
4. 如權(quán)利要求2中所述的方法,其中終止所述第二執(zhí)行上下文以響應(yīng)確定所述第三任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)。
5. 如權(quán)利要求l中所述的方法,其中終止所述第一執(zhí)行上下文以響應(yīng) 確定所述第二任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)。
6. 如權(quán)利要求2中所述的方法,其中終止所述第二執(zhí)行上下文以響應(yīng) 確定所述第二任務(wù)的子任務(wù)都沒(méi)有主動(dòng)為請(qǐng)求服務(wù)。
7. 如權(quán)利要求l中所述的方法,其中所述第一任務(wù)在服務(wù)器系統(tǒng)與客 戶機(jī)系統(tǒng)之間建立的會(huì)話中執(zhí)行,其中終止所述第一執(zhí)行上下文以響應(yīng)確 定所述^"被終止。
8. 如權(quán)利要求3中所述的方法,其中所述第一、第二和第三任務(wù)在通 過(guò)通信網(wǎng)絡(luò)而在服務(wù)器系統(tǒng)與客戶機(jī)系統(tǒng)之間建立的M中執(zhí)行。
9. 如權(quán)利要求8中所述的方法,其中所述通信網(wǎng)絡(luò)包括因特網(wǎng)。
10. 如權(quán)利要求8中所述的方法,其中解除分配存儲(chǔ)器的所述第一、 第二和第三區(qū)域以響應(yīng)確定所述會(huì)話已終止。
11. 一種用于在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的系統(tǒng),所述系統(tǒng)包括 用于唯一地標(biāo)識(shí)與計(jì)算環(huán)境中執(zhí)行的應(yīng)用的第一任務(wù)關(guān)聯(lián)的第一對(duì)象的邏輯單元,其中將存儲(chǔ)器的第一區(qū)域分配給所述第一對(duì)象;用于根據(jù)與所述第一任務(wù)關(guān)聯(lián)的第一執(zhí)行上下文來(lái)確定所述第一任務(wù)的第一執(zhí)行范圍的邏輯單元,其中所述笫一上下文定義了所述第一任務(wù)在 執(zhí)行環(huán)境層次內(nèi)的第一預(yù)期壽命;用于確定所述第 一任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第 一執(zhí)行 上下文的邏輯單元;以及用于解除分配存儲(chǔ)器的所述第一區(qū)域,以響應(yīng)確定不再在所述第一執(zhí) 行范圍內(nèi)執(zhí)行所述第 一任務(wù)的邏輯單元。
12. 如權(quán)利要求11中所述的系統(tǒng),還包括用于唯一地標(biāo)識(shí)與作為所述第 一任務(wù)的子任務(wù)的第二任務(wù)關(guān)聯(lián)的第二 對(duì)象的邏輯單元,其中將存儲(chǔ)器的第二區(qū)域分配給所述第二對(duì)象;用于才艮據(jù)與所述第二任務(wù)關(guān)聯(lián)的第二執(zhí)行上下文來(lái)確定所述第二任務(wù) 的第二執(zhí)行范圍的邏輯單元,其中所述第二上下文定義了所述第二任務(wù)相對(duì)于所述第一任務(wù)的第二預(yù)期壽命;用于確定所述第二任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第二執(zhí)行 上下文的邏輯單元;以及用于解除分配存儲(chǔ)器的所述第二區(qū)域,以響應(yīng)確定不再在所述第二執(zhí) 行范圍內(nèi)執(zhí)行所述第二任務(wù)的邏輯單元。
13. 如權(quán)利要求12中所述的系統(tǒng),還包括用于唯一地標(biāo)識(shí)與作為所述第二任務(wù)的子任務(wù)的第三任務(wù)關(guān)聯(lián)的第三 對(duì)象的邏輯單元,其中將存儲(chǔ)器的第三區(qū)域分配給所述第三對(duì)象;以及 用于解除分配存儲(chǔ)器的所述第三區(qū)域,以響應(yīng)確定所述第三任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)的邏輯單元。
14. 如權(quán)利要求12中所述的系統(tǒng),其中終止所述第二執(zhí)行上下文以響 應(yīng)確定所述第三任務(wù)不再主動(dòng)為請(qǐng)求服務(wù)。
15. 如權(quán)利要求ll中所述的系統(tǒng),其中終止所述第一執(zhí)行上下文以響 應(yīng)確定所述第二任務(wù)不再主動(dòng)為請(qǐng)求Ji艮務(wù)。
16. 如權(quán)利要求12中所述的系統(tǒng),其中終止所述第二執(zhí)行上下文以響 應(yīng)確定所述第二任務(wù)的子任務(wù)都沒(méi)有主動(dòng)為請(qǐng)求服務(wù)。
17. 如權(quán)利要求ll中所述的方法,其中所述第一任務(wù)在服務(wù)器系統(tǒng)與 客戶機(jī)系統(tǒng)之間建立的會(huì)話中執(zhí)行,其中終止所述第一執(zhí)行上下文以響應(yīng) 確定所述4^舌#皮終止。
18. 如權(quán)利要求13中所述的方法,其中所述第一、第二和第三任務(wù)在 通過(guò)通信網(wǎng)絡(luò)而在服務(wù)器系統(tǒng)與客戶機(jī)系統(tǒng)之間建立的會(huì)話中執(zhí)行。
全文摘要
本發(fā)明涉及一種用于在計(jì)算環(huán)境中進(jìn)行存儲(chǔ)器管理的方法和系統(tǒng)。所述方法包括唯一地標(biāo)識(shí)與計(jì)算環(huán)境中執(zhí)行的應(yīng)用的第一任務(wù)關(guān)聯(lián)的第一對(duì)象,其中將存儲(chǔ)器的第一區(qū)域分配給所述第一對(duì)象;根據(jù)與所述第一任務(wù)關(guān)聯(lián)的第一執(zhí)行上下文來(lái)確定所述第一任務(wù)的第一執(zhí)行范圍,其中所述第一上下文定義了所述第一任務(wù)在執(zhí)行環(huán)境層次內(nèi)的第一預(yù)期壽命;確定所述第一任務(wù)的執(zhí)行范圍的變化,以響應(yīng)監(jiān)視所述第一執(zhí)行上下文;以及解除分配存儲(chǔ)器的所述第一區(qū)域,以響應(yīng)確定不再在所述第一執(zhí)行范圍內(nèi)執(zhí)行所述第一任務(wù)。
文檔編號(hào)G06F12/02GK101256533SQ20081008092
公開(kāi)日2008年9月3日 申請(qǐng)日期2008年2月29日 優(yōu)先權(quán)日2007年3月2日
發(fā)明者G·V·馬爾科瓦, H·C·小胡斯費(fèi)爾特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司