欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲(chǔ)器溢出檢測(cè)及從容關(guān)閉的制作方法

文檔序號(hào):6419529閱讀:283來(lái)源:國(guó)知局
專利名稱:存儲(chǔ)器溢出檢測(cè)及從容關(guān)閉的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算設(shè)備中的存儲(chǔ)器管理。
背景技術(shù)
如現(xiàn)有技術(shù)中所公知,如MicrosoftTMWindowsTM和基于UNIX的系統(tǒng)等操作系統(tǒng)具有對(duì)能夠由應(yīng)用程序使用的可尋址存儲(chǔ)器的數(shù)量的物理限制。如果應(yīng)用程序超過(guò)這個(gè)限制,該應(yīng)用程序?qū)⒔?jīng)常崩潰,導(dǎo)致還沒(méi)有存儲(chǔ)到永久存儲(chǔ)器中的數(shù)據(jù)的丟失,并且也可能導(dǎo)致依賴該崩潰的應(yīng)用程序的其他應(yīng)用程序的崩潰或關(guān)閉。在分布式計(jì)算網(wǎng)絡(luò)中,單獨(dú)的計(jì)算機(jī)與公共網(wǎng)絡(luò)連接以并行地執(zhí)行共同的工作,可以對(duì)一臺(tái)計(jì)算機(jī)進(jìn)行配置,用以監(jiān)控它自己的存儲(chǔ)器的使用或其他計(jì)算機(jī)的存儲(chǔ)器的使用,在其中一臺(tái)計(jì)算機(jī)的監(jiān)控狀態(tài)指示應(yīng)用程序發(fā)生崩潰或?qū)⒁l(fā)生崩潰的情況下,自動(dòng)或在向人類操作員報(bào)警之后,采取預(yù)防備份措施。然而,這樣的系統(tǒng)要求幾乎恒定地輪詢所監(jiān)控的計(jì)算機(jī),以便及時(shí)地檢測(cè)問(wèn)題,并且即使具有了及時(shí)的檢測(cè),受影響的計(jì)算機(jī)應(yīng)用程序也可能在重要數(shù)據(jù)被存儲(chǔ)之前崩潰。
因此,需要一種用于檢測(cè)和管理存儲(chǔ)器容量低的狀態(tài)的方法和系統(tǒng),提供用于調(diào)整或響應(yīng)該狀態(tài)的時(shí)間。

發(fā)明內(nèi)容
本發(fā)明提供了一種新穎的方法,通過(guò)該方法可以足夠早地提供存儲(chǔ)器即將溢出問(wèn)題的報(bào)警,以便允許在應(yīng)用程序崩潰之前采取校正或補(bǔ)救措施。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于管理第一計(jì)算機(jī)設(shè)備中的存儲(chǔ)器容量低的方法,該第一計(jì)算機(jī)設(shè)備具有處理器,用于執(zhí)行操作系統(tǒng)和應(yīng)用程序;以及可用于操作系統(tǒng)和應(yīng)用程序的存儲(chǔ)器,該方法包括以下步驟(a)在應(yīng)用程序啟動(dòng)時(shí)由操作系統(tǒng)分配給該應(yīng)用程序的存儲(chǔ)區(qū)中保留第一保留緩沖器,該緩沖器直到被釋放才對(duì)應(yīng)用程序可用;以及(b)在確定應(yīng)用程序所使用的存儲(chǔ)器達(dá)到閾值時(shí),釋放第一保留緩沖器給應(yīng)用程序使用。
根據(jù)本發(fā)明的另一方面,提供了一種用于管理計(jì)算機(jī)設(shè)備中的存儲(chǔ)器容量低的系統(tǒng),該計(jì)算機(jī)設(shè)備具有處理器,存儲(chǔ)器,操作系統(tǒng)和應(yīng)用程序,該系統(tǒng)包括存儲(chǔ)器容量低管理器,用于(a)在由操作系統(tǒng)分配給應(yīng)用程序的存儲(chǔ)區(qū)中保留第一和第二保留緩沖器,該緩沖器直到被存儲(chǔ)器容量低管理器釋放之前不可用于應(yīng)用程序;(b)檢測(cè)到操作系統(tǒng)產(chǎn)生的關(guān)于應(yīng)用程序的第一存儲(chǔ)器溢出異常后,釋放第一保留緩沖器給應(yīng)用程序使用;以及(c)檢測(cè)到操作系統(tǒng)產(chǎn)生的關(guān)于應(yīng)用程序的另一存儲(chǔ)器溢出異常后,釋放第二保留緩沖器給應(yīng)用程序使用。
通過(guò)結(jié)合附圖閱讀以下對(duì)本發(fā)明具體實(shí)施例的描述,本發(fā)明的其他方面和特征對(duì)本領(lǐng)域的普通技術(shù)人員將變得顯而易見。


現(xiàn)在,僅作為示例,參照附圖描述本發(fā)明的實(shí)施例,其中圖1示出了包括計(jì)算機(jī)網(wǎng)絡(luò)的通信系統(tǒng)的框圖,在該系統(tǒng)中根據(jù)本發(fā)明的實(shí)施例實(shí)現(xiàn)了本發(fā)明;圖2是在圖1所示的計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)上實(shí)現(xiàn)的軟件組件的說(shuō)明框圖;圖3是根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器的說(shuō)明框圖;以及圖4示出了根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器管理進(jìn)程的操作流程圖。
在不同的附圖中,使用相似的參考符號(hào)來(lái)表示類似的組件或特征。
具體實(shí)施例方式
以下本發(fā)明實(shí)施例的詳細(xì)描述并不將本發(fā)明的實(shí)現(xiàn)限定于任何特定的計(jì)算機(jī)操作系統(tǒng)(OS)。本發(fā)明可以利用提供了支持本發(fā)明的要求的設(shè)備的任何操作系統(tǒng)實(shí)現(xiàn)。一個(gè)實(shí)施例使用MicrosoftTMWindowsTMXPTM操作系統(tǒng)實(shí)現(xiàn),然而,本發(fā)明可以以其他操作系統(tǒng)實(shí)現(xiàn),例如UNIX。
參照附圖,圖1是包括聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)的通信系統(tǒng)的框圖,在該聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)中可以實(shí)現(xiàn)本發(fā)明。示出的聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)是路由器,更具體地,無(wú)線網(wǎng)關(guān)100,用作一個(gè)或多個(gè)客戶端網(wǎng)絡(luò)110與一個(gè)或多個(gè)無(wú)線網(wǎng)絡(luò)104之間的調(diào)解器和解釋器,允許在無(wú)線網(wǎng)絡(luò)104中的移動(dòng)設(shè)備106和與客戶端網(wǎng)絡(luò)110連接的設(shè)備之間交換電子郵件消息。然而,本發(fā)明并不局限于路由器或無(wú)線網(wǎng)關(guān)中的實(shí)現(xiàn),并且其更廣闊的方面是可以在計(jì)算機(jī)系統(tǒng)的更寬的范圍中實(shí)現(xiàn)。
該客戶端網(wǎng)絡(luò)110將經(jīng)常距無(wú)線網(wǎng)關(guān)100較遠(yuǎn),并在一個(gè)或多個(gè)通信鏈路上與無(wú)線網(wǎng)關(guān)100通信??蛻舳司W(wǎng)絡(luò)110典型地包括處理與網(wǎng)關(guān)100的電子郵件通信的客戶端側(cè)接口。正如現(xiàn)有技術(shù)中所公知的,電子郵件消息可以包括純文本信息、HTML信息和各種類型的附件。
無(wú)線網(wǎng)關(guān)100在一個(gè)或多個(gè)客戶端網(wǎng)絡(luò)110和無(wú)線網(wǎng)絡(luò)104之間提供轉(zhuǎn)換和路由服務(wù),以便有利于移動(dòng)設(shè)備106和與客戶端網(wǎng)絡(luò)110直接或間接連接的設(shè)備之間的電子郵件通信。該無(wú)線網(wǎng)關(guān)100包括多個(gè)分布式組件,包括客戶端網(wǎng)絡(luò)接口(CNIs)1201-120M、至少一個(gè)控制器122、數(shù)據(jù)庫(kù)(DB)124和無(wú)線傳送接口(WTIs)1281-128M。為了在需要時(shí)提供增加的容量和備份冗余,優(yōu)選地使用通過(guò)網(wǎng)絡(luò)118(其可以是專用的局域網(wǎng))連接的專用數(shù)字計(jì)算機(jī)來(lái)實(shí)現(xiàn)每個(gè)組件。如現(xiàn)有技術(shù)中所公知的,每一個(gè)數(shù)字計(jì)算機(jī)組件包括微處理器130、如RAM132等瞬時(shí)存儲(chǔ)器、如閃存和/或硬盤驅(qū)動(dòng)器(HD)134等典型的永久可寫存儲(chǔ)器、以及網(wǎng)絡(luò)通信接口卡(沒(méi)有示出)。如果一個(gè)組件,例如,無(wú)線傳送接口128K(其中1≤K≤M)崩潰或變得不能使用,無(wú)線網(wǎng)關(guān)100中的另外一個(gè)或多個(gè)無(wú)線傳送接口1281-128M可以獲得故障無(wú)線傳送接口先前處理的業(yè)務(wù)。
圖1的網(wǎng)關(guān)100中,配置每個(gè)客戶端網(wǎng)絡(luò)接口(CNI)120,用于管理無(wú)線網(wǎng)關(guān)100與至少一個(gè)客戶端網(wǎng)絡(luò)110之間的連接。在一個(gè)實(shí)施例中,客戶端網(wǎng)絡(luò)接口(CNI)120與客戶端網(wǎng)絡(luò)110處的一個(gè)或多個(gè)客戶端側(cè)接口保持開放連接,并且使用已定義協(xié)議與之進(jìn)行通信。
為了管理,跟蹤和消息恢復(fù)的目的,無(wú)線網(wǎng)關(guān)100的數(shù)據(jù)庫(kù)124存儲(chǔ)由無(wú)線網(wǎng)關(guān)的其他組件所使用的數(shù)據(jù),并且出于這種考慮,配置無(wú)線網(wǎng)關(guān)100的多個(gè)組件,用于向數(shù)據(jù)庫(kù)124中寫入和從數(shù)據(jù)庫(kù)124中讀出數(shù)據(jù)。其中,數(shù)據(jù)庫(kù)為無(wú)線網(wǎng)關(guān)組件存儲(chǔ)配置信息,保存當(dāng)前狀態(tài)數(shù)據(jù)和無(wú)線網(wǎng)關(guān)的狀態(tài),存儲(chǔ)關(guān)于與無(wú)線網(wǎng)關(guān)100通信的移動(dòng)設(shè)備106的信息(包括ID號(hào)碼和最后知道的位置),以及存儲(chǔ)有關(guān)選定消息的信息。數(shù)據(jù)庫(kù)124存儲(chǔ)的信息有助于失敗/錯(cuò)誤恢復(fù),并且可以允許備份組件接管故障組件的功能。在一個(gè)可能的實(shí)施例中,數(shù)據(jù)庫(kù)124是OracleTM數(shù)據(jù)庫(kù),并且無(wú)線網(wǎng)關(guān)組件運(yùn)行OracleTM客戶端,允許其向數(shù)據(jù)庫(kù)寫入和從數(shù)據(jù)庫(kù)讀出數(shù)據(jù)。
無(wú)線網(wǎng)關(guān)100包括至少一個(gè)控制器122形式的控制器,并且最好也是備份控制器,用于控制和協(xié)調(diào)網(wǎng)關(guān)的操作。其中,該控制器122通過(guò)周期性輪詢組件來(lái)監(jiān)控網(wǎng)關(guān)100的組件操作的當(dāng)前狀態(tài)信息,該信息由控制器存儲(chǔ)在數(shù)據(jù)庫(kù)124中。配置控制器122,用于檢測(cè)無(wú)線網(wǎng)關(guān)中的組件的故障或即將發(fā)生的故障以及用于協(xié)調(diào)其他組件來(lái)接管故障組件的功能。
無(wú)線傳送接口(WTI)128是無(wú)線網(wǎng)關(guān)到移動(dòng)設(shè)備106的接口,并且將目的地是移動(dòng)設(shè)備的信息組合成分組序列,其格式由特定的無(wú)線網(wǎng)絡(luò)104決定。同樣地,無(wú)線傳送接口(WTI)128將根據(jù)從移動(dòng)設(shè)備發(fā)送出的分組序列,對(duì)來(lái)自移動(dòng)設(shè)備的消息進(jìn)行重組。
無(wú)線傳送接口128將典型地通過(guò)一個(gè)或多個(gè)無(wú)線網(wǎng)絡(luò)接口適配器129與無(wú)線網(wǎng)絡(luò)104通信。在一個(gè)實(shí)施例中,無(wú)線網(wǎng)絡(luò)接口適配器具有到無(wú)線傳送接口128的TCP/IP連接和到無(wú)線網(wǎng)絡(luò)104的X.25協(xié)議連接,從而該無(wú)線網(wǎng)絡(luò)接口適配器通過(guò)TCP/IP連接,從無(wú)線傳送接口128向X.25移動(dòng)網(wǎng)絡(luò)連接路由分組,反之亦然。
移動(dòng)網(wǎng)絡(luò)104提供對(duì)移動(dòng)設(shè)備106的無(wú)線覆蓋,并且可以是許多不同類型的網(wǎng)絡(luò),例如包括,Mobitex無(wú)線電網(wǎng)絡(luò),DataTAC,或GPRS,CDMA,或iDEN網(wǎng)絡(luò)。移動(dòng)設(shè)備106可以是手持式或其他移動(dòng)數(shù)字計(jì)算設(shè)備,配置該設(shè)備,以發(fā)送和接收電子郵件消息。
本發(fā)明并不依賴于網(wǎng)關(guān)100中所使用的特定協(xié)議或方法在客戶端網(wǎng)絡(luò)110和無(wú)線網(wǎng)絡(luò)104之間交換消息。相反地,本發(fā)明涉及用于實(shí)現(xiàn)如網(wǎng)關(guān)100等網(wǎng)絡(luò)的一個(gè)或多個(gè)計(jì)算機(jī)的存儲(chǔ)器管理的方面。
圖2示出了軟件組件的說(shuō)明框圖,由標(biāo)記140指示,該軟件組件駐留在無(wú)網(wǎng)網(wǎng)關(guān)100的至少一些組件上,如無(wú)線傳送接口(WTIs)128、客戶端網(wǎng)絡(luò)接口(CNIs)、控制器122和數(shù)據(jù)庫(kù)124,或能夠?qū)ζ溥M(jìn)行訪問(wèn),以便由微處理器130執(zhí)行。該軟件組件包括操作系統(tǒng)(OS)142和專用的應(yīng)用程序1441-144N,在一個(gè)實(shí)施例中,上述操作系統(tǒng)為MicrosoftTMWindowsTM操作系統(tǒng)族。專用的應(yīng)用程序1441-144N是各個(gè)網(wǎng)關(guān)組件中的每一個(gè)所要求的應(yīng)用程序,從而使其能夠執(zhí)行各自的功能。位于網(wǎng)關(guān)的每一個(gè)組件上或者可以對(duì)網(wǎng)關(guān)的每一個(gè)組件進(jìn)行訪問(wèn)的專用應(yīng)用程序的特定混合通常依靠由該組件所執(zhí)行的功能。
如現(xiàn)有技術(shù)中所公知的,配置操作系統(tǒng)142,用于協(xié)調(diào)和監(jiān)控專用應(yīng)用程序1441-144N的操作,以及用于為每一個(gè)專用應(yīng)用程序分配資源。操作系統(tǒng)142在專用應(yīng)用程序中分配的最重要的資源之一是瞬時(shí)存儲(chǔ)器,即RAM 132。圖3以圖表的形式說(shuō)明了存儲(chǔ)器150的塊,其表示操作系統(tǒng)142可以在專用應(yīng)用程序1441-144N中分配的RAM 132的一部分。典型地,隨著應(yīng)用程序的啟動(dòng),操作系統(tǒng)為應(yīng)用程序預(yù)定或分配存儲(chǔ)器150的子集或塊。圖3中,塊1521-152N代表分別為專用應(yīng)用程序1441-144N分配的存儲(chǔ)區(qū)。如現(xiàn)有技術(shù)中所公知的,用于實(shí)現(xiàn)每一個(gè)存儲(chǔ)區(qū)152的物理存儲(chǔ)器不必是RAM 132中的連續(xù)物理存儲(chǔ)器位置,并且連續(xù)的數(shù)據(jù)組不需要存儲(chǔ)在連續(xù)的物理存儲(chǔ)器位置中。
根據(jù)本發(fā)明,軟件組件140包括用于管理存儲(chǔ)器容量低的狀態(tài)的專用應(yīng)用程序,即存儲(chǔ)器容量低管理器應(yīng)用程序146。雖然在圖2中作為單獨(dú)的應(yīng)用程序示出,但是在一些實(shí)施例中,存儲(chǔ)器容量低管理器146的功能可以全部或部分地并入一個(gè)或多個(gè)其他專用應(yīng)用程序1441-144N,或者并入操作系統(tǒng)142。配置該存儲(chǔ)器容量低管理器146,用于使分配給所有或所選擇的專用應(yīng)用程序1441-144N的存儲(chǔ)器的一部分得以有效地保留,以至于在存儲(chǔ)器容量低的產(chǎn)生過(guò)程中,它可以被用于支持專用應(yīng)用程序,從而在受影響應(yīng)用程序崩潰之前,為執(zhí)行數(shù)據(jù)備份或補(bǔ)救步驟提供時(shí)間。
圖4說(shuō)明了根據(jù)本發(fā)明的實(shí)施例的進(jìn)程,由標(biāo)記400指示,該進(jìn)程由存儲(chǔ)器容量低管理器146執(zhí)行以便管理專用應(yīng)用程序144i(其中1≤i≤N)的存儲(chǔ)器容量低狀態(tài)。如步驟402中所示,在其中該存儲(chǔ)器容量低管理器是獨(dú)立應(yīng)用程序或被并入到操作系統(tǒng)中的實(shí)施例中,它監(jiān)控所有由操作系統(tǒng)142啟動(dòng)的專用應(yīng)用程序,并且決定被啟動(dòng)的專用應(yīng)用程序(在這個(gè)例子中,應(yīng)用程序144i)是否已經(jīng)預(yù)先被選擇用于對(duì)其進(jìn)行存儲(chǔ)器容量低管理,如果是,則執(zhí)行下述存儲(chǔ)器管理功能。在一些實(shí)施例中,可以選擇對(duì)所有的專用應(yīng)用程序進(jìn)行存儲(chǔ)器容量低管理,在這種情況下,步驟402可以被省略。在一些實(shí)施例中,該存儲(chǔ)器容量低管理器146可以是專用應(yīng)用程序144i的模塊,并且可以對(duì)其進(jìn)行配置,用于自動(dòng)執(zhí)行僅與專用應(yīng)用程序144i相關(guān)的存儲(chǔ)器管理步驟。
如果對(duì)專用應(yīng)用程序144i執(zhí)行存儲(chǔ)器容量低管理,則如步驟404中所示,該存儲(chǔ)器容量低管理器146命令操作系統(tǒng)為該專用應(yīng)用程序144i分配保留存儲(chǔ)區(qū)。如上所述,當(dāng)操作系統(tǒng)142第一次啟動(dòng)專用應(yīng)用程序144i時(shí),它為該應(yīng)用程序預(yù)定或分配存儲(chǔ)區(qū)152i(圖3)。在WindowsTM操作系統(tǒng)實(shí)施例中,存儲(chǔ)區(qū)可以是2GB,它是WindowsTM目前可以分配給應(yīng)用程序的存儲(chǔ)器的最大數(shù)量。根據(jù)本發(fā)明的實(shí)施例,在步驟404中,存儲(chǔ)器容量低管理器146要求操作系統(tǒng)在存儲(chǔ)區(qū)152i中預(yù)定或分配兩個(gè)保留子區(qū),從而將其分為三個(gè)子區(qū),即主區(qū)158,和兩個(gè)保留緩沖器B1 154和B2 156。主區(qū)158完全用于專用應(yīng)用程序144i的正常工作需要,但是,從操作系統(tǒng)142和專用應(yīng)用程序144i的觀點(diǎn)來(lái)看,兩個(gè)保留緩沖器B1 154和B2 156被預(yù)定并且直到被存儲(chǔ)器容量低管理器146釋放之前不能使用(如下所述)。如現(xiàn)有技術(shù)中所公知的,操作系統(tǒng)142將存儲(chǔ)器典型地分為預(yù)定大小的“頁(yè)”。雖然啟動(dòng)專用應(yīng)用程序144I的時(shí)候存儲(chǔ)器容量低管理器146預(yù)定保留緩沖器B1 154和B2 156,但是在一個(gè)實(shí)施例中,該保留緩沖器不是由操作系統(tǒng)真正物理地劃分的存儲(chǔ)器頁(yè)直到數(shù)據(jù)實(shí)際被寫入為止,從而減少了處理器不必要的工作。
在一個(gè)實(shí)施例中,保留緩沖器B1 154和B2 156與主區(qū)158相比相對(duì)較小,同時(shí)第二保留緩沖器B2 156比第一緩沖器B1 154小。作為非限定性示例,在一個(gè)實(shí)施例中,主區(qū)158可以大約為分配給應(yīng)用程序144i的存儲(chǔ)區(qū)152i的88%,第一保留緩沖器B1 154大約為存儲(chǔ)區(qū)152i的10%,并且第二保留緩沖器B2 156大約為存儲(chǔ)區(qū)152i的2%。然而,在各種不同的實(shí)施例中使用不同的相對(duì)緩沖器大小,以及在一些實(shí)施例中該第一和第二保留緩沖器的大小是相同的。
當(dāng)專用應(yīng)用程序144i的運(yùn)行時(shí),其使用主存儲(chǔ)區(qū)158作為它自己的存儲(chǔ)需求。應(yīng)用程序144i和操作系統(tǒng)142可以使用現(xiàn)有技術(shù)中所公知的各種存儲(chǔ)器管理技術(shù)來(lái)管理主區(qū)158中的存儲(chǔ)器的使用,例如將數(shù)據(jù)高速緩存到硬盤驅(qū)動(dòng)器134。
如現(xiàn)有技術(shù)中所公知的,操作系統(tǒng)142監(jiān)控專用應(yīng)用程序144i的存儲(chǔ)器使用,并且配置操作系統(tǒng)142,使得在用于專用應(yīng)用程序144i的可用存儲(chǔ)器下降到預(yù)定閾值(其可能是沒(méi)有可用的存儲(chǔ)器)之下的情況下,發(fā)布存儲(chǔ)器溢出異常。在許多專用應(yīng)用程序中,存儲(chǔ)器溢出異常導(dǎo)致專用應(yīng)用程序立即或幾乎立即的崩潰,而沒(méi)有用于執(zhí)行校正或補(bǔ)救措施的充分的報(bào)警。本發(fā)明的存儲(chǔ)器容量低管理器146提供了一種新方法,通過(guò)該方法可以足夠早地提供對(duì)即將發(fā)生的存儲(chǔ)器溢出問(wèn)題的報(bào)警,以便允許在應(yīng)用程序崩潰之前采取校正或補(bǔ)救措施。
更特別地,如步驟406中所示的,對(duì)該存儲(chǔ)器容量低管理器146進(jìn)行配置,只要專用應(yīng)用程序144i正在運(yùn)行,就檢測(cè)由操作系統(tǒng)142發(fā)布的關(guān)于專用應(yīng)用程序144i的任何存儲(chǔ)器溢出異常。當(dāng)主區(qū)158中的可用存儲(chǔ)器下降到操作系統(tǒng)的閾值之下時(shí),將導(dǎo)致存儲(chǔ)器溢出異常。如步驟408所示的,在檢測(cè)由操作系統(tǒng)發(fā)布的關(guān)于專用應(yīng)用程序144i的存儲(chǔ)器溢出異常時(shí),存儲(chǔ)器容量低管理器146指示操作系統(tǒng)142釋放第一保留緩沖器B1 154,有效地將緩沖器B1的存儲(chǔ)器與主區(qū)158相結(jié)合,從專用應(yīng)用程序144i和操作系統(tǒng)142的角度來(lái)看,提高了由專用應(yīng)用程序使用的可用空閑存儲(chǔ)器的數(shù)量。如果不能完全的預(yù)防,該新釋放的存儲(chǔ)器在許多情況下將延遲即將發(fā)生的崩潰。
如步驟410中所示的,除了釋放存儲(chǔ)器,該存儲(chǔ)器容量低管理器也可以發(fā)布第一報(bào)警,從而可以采取校正或補(bǔ)救措施。在一些實(shí)施例中,該第一報(bào)警可以是音頻和/或視頻信號(hào),用來(lái)將狀況警告給操作員。另外或可選地,該報(bào)警可以是被傳遞到運(yùn)行在受影響的計(jì)算機(jī)上的管理應(yīng)用程序的電信號(hào)或變量。該管理應(yīng)用程序可以是離散專用應(yīng)用程序,或者可以是受影響的專用應(yīng)用程序的模塊,或者是存儲(chǔ)器容量低管理器146的模塊。在一些實(shí)施例中,該報(bào)警信號(hào)可以被傳送到在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的管理應(yīng)用程序,受影響的計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)與該遠(yuǎn)程計(jì)算機(jī)連接。例如,在其中存儲(chǔ)器容量低管理器146運(yùn)行在分布式網(wǎng)關(guān)100的無(wú)線傳送接口128K上的實(shí)現(xiàn)中,該報(bào)警信號(hào)可以被傳送到運(yùn)行在控制器122上的管理應(yīng)用程序,依次可以向操作員發(fā)布報(bào)警以便調(diào)查該問(wèn)題??梢耘渲每刂破?22上的管理應(yīng)用程序,自動(dòng)采取校正措施,也可以結(jié)合操作員的干預(yù),采取校正措施。例如,在一些實(shí)施例中,配置控制器122上的管理應(yīng)用程序,使電子業(yè)務(wù)被重新發(fā)送到其他無(wú)線傳送接口128,以便減輕受影響的無(wú)線傳送接口上的一些需求。在一些實(shí)施例中,第一報(bào)警信號(hào)后,采取步驟來(lái)將存儲(chǔ)器152i的信息存儲(chǔ)到永久存儲(chǔ)器中。
再次返回到步驟400,一旦保留緩沖器B1 154被釋放,存儲(chǔ)器容量低管理器146等待確定是否操作系統(tǒng)142發(fā)布了關(guān)于專用應(yīng)用程序144i的第二存儲(chǔ)器溢出異常(步驟412)。在等待第二存儲(chǔ)器溢出異常時(shí),專用應(yīng)用程序周期性地試圖重新保留第一保留緩沖器B1 154(步驟414)-如果存儲(chǔ)器使用水平被專用應(yīng)用程序144i降低到不再要求保留緩沖器B1 154的水平,則操作系統(tǒng)142將允許存儲(chǔ)器容量低管理器146重新保留存儲(chǔ)器,否則操作系統(tǒng)142將不允許釋放存儲(chǔ)器給存儲(chǔ)器容量低管理器。在本發(fā)明的一個(gè)實(shí)施例中,存儲(chǔ)器容量低管理器重新保留第一緩沖器B1的頻率是可配置的。在步驟414中,如果保留緩沖器B1 154不再被需要并且由存儲(chǔ)器容量低管理器重新保留,該存儲(chǔ)器容量低管理器復(fù)位并返回到步驟406,等待存儲(chǔ)器溢出異常的新的第一發(fā)生。
再次返回步驟412,當(dāng)另一個(gè)由于保留緩沖器B1 154的釋放而可以利用的存儲(chǔ)器被用盡時(shí),操作系統(tǒng)142將發(fā)布另一存儲(chǔ)器溢出異常。該第二存儲(chǔ)器溢出異常事件通常表示任何被執(zhí)行的關(guān)于第一報(bào)警的校正措施的失敗,或者表示該第一報(bào)警被忽視。
如步驟416中所示,響應(yīng)第二存儲(chǔ)器溢出異常,存儲(chǔ)器容量低管理器146釋放第二保留緩沖器B2 156,有效地將緩沖器B2的存儲(chǔ)器與主區(qū)158和在先釋放的第一保留緩沖器B1 154結(jié)合在一起,從專用應(yīng)用程序144i和操作系統(tǒng)142的角度來(lái)看,提高了專用應(yīng)用程序可利用的空閑存儲(chǔ)器的數(shù)量。新釋放的存儲(chǔ)器最好獲得足夠的時(shí)間使得在受影響的應(yīng)用程序崩潰之前,進(jìn)行恢復(fù)支持活動(dòng)—例如,用于將存儲(chǔ)區(qū)152中的選定信息存儲(chǔ)到永久存儲(chǔ)器位置,以便能夠稍后對(duì)其進(jìn)行恢復(fù)的時(shí)間。
如步驟418中所示的,在釋放第二個(gè)保留緩沖器時(shí),存儲(chǔ)器容量低管理器優(yōu)先發(fā)布第二報(bào)警來(lái)通知即將發(fā)生的崩潰。在一些實(shí)施例中,第二報(bào)警是使專用應(yīng)用程序144i開始關(guān)閉的有效命令。優(yōu)選地,該第二報(bào)警觸發(fā)恢復(fù)支持活動(dòng)的發(fā)生。在一些實(shí)施例中,該第二報(bào)警可以是傳遞到另一個(gè)應(yīng)用程序的信號(hào)或變量或位于與受影響的應(yīng)用程序相同的計(jì)算機(jī)上的應(yīng)用程序中??蛇x地或另外,該第二報(bào)警可以被傳送到另一個(gè)計(jì)算機(jī)上的遠(yuǎn)程管理應(yīng)用程序。
作為非限定性示例,受影響的專用應(yīng)用程序144i可以在無(wú)線傳送接口128K上運(yùn)行并且負(fù)責(zé)向移動(dòng)設(shè)備106傳送輸出消息以及從移動(dòng)設(shè)備106接收輸入信息。該專用應(yīng)用程序維護(hù)存儲(chǔ)區(qū)152i中的未決消息緩沖器,該消息緩沖器包括等待被發(fā)送到移動(dòng)設(shè)備106的未決輸出消息,和已經(jīng)從移動(dòng)設(shè)備106接收的但還沒(méi)有被網(wǎng)關(guān)100處理的未決輸入消息。該未決消息可以包括狀態(tài)信息,如誤碼和確認(rèn),以及傳統(tǒng)的電子郵件消息。為了避免“丟失”消息,未決消息緩沖器中一些未決消息的傳輸可能是重要的,即如移動(dòng)設(shè)備106等起點(diǎn)設(shè)備中留有關(guān)于從設(shè)備中發(fā)出的電子郵件消息狀態(tài)的錯(cuò)誤或不清楚的信息。因此,如果即將發(fā)生專用應(yīng)用程序144i的崩潰,希望至少將存儲(chǔ)區(qū)152i中的重要未決消息連續(xù)地存儲(chǔ)到永久存儲(chǔ)器中,該重要未決消息最終必然要被傳送,以避免丟失消息。
在目前描述的例子中,專用應(yīng)用程序144i包括關(guān)閉管理器160,配置該管理器,用于接收在步驟418中發(fā)布的第二報(bào)警,并且隨后開始關(guān)閉例程,該例程包括將存儲(chǔ)在存儲(chǔ)區(qū)152i中的所有重要消息連續(xù)地存儲(chǔ)到永久存儲(chǔ)器中,從而允許稍后恢復(fù)和發(fā)送該重要消息。該消息可以被連續(xù)地存儲(chǔ)到受影響的應(yīng)用程序正在運(yùn)行的計(jì)算機(jī)的本地永久存儲(chǔ)器中或被存儲(chǔ)到數(shù)據(jù)庫(kù)124中。在步驟418中發(fā)布的第二報(bào)警最好也被直接或間接地提供到控制器132,以便它可以使所有被重新發(fā)送的業(yè)務(wù)遠(yuǎn)離其中崩潰的應(yīng)用程序144正在運(yùn)行的無(wú)線傳送接口128K,并且指定一個(gè)或多個(gè)其他的無(wú)線傳送接口來(lái)接管該業(yè)務(wù)并重新獲得和發(fā)送該串行化的重要信息。
應(yīng)當(dāng)清楚的是,本發(fā)明的存儲(chǔ)器容量低管理進(jìn)程提供了由于存儲(chǔ)器溢出狀況而即將產(chǎn)生應(yīng)用程序崩潰的預(yù)先報(bào)警,從而允許采取校正措施來(lái)努力和預(yù)防該崩潰,并且也允許采取恢復(fù)支持動(dòng)作,從而如果發(fā)生崩潰,使重要數(shù)據(jù)不會(huì)丟失。在上述典型實(shí)施例中,從應(yīng)用程序可用的存儲(chǔ)器中保留兩個(gè)保留緩沖器。當(dāng)發(fā)布存儲(chǔ)器溢出異常時(shí),該釋放第一保留緩沖器,并且發(fā)布報(bào)警,從而可以發(fā)生自動(dòng)和人工控制的調(diào)查和校正措施。如果該警報(bào)不能導(dǎo)致成功的修復(fù),則接收第二個(gè)存儲(chǔ)器溢出異常,使第二個(gè)緩沖器被釋放,并且在重要數(shù)據(jù)被存儲(chǔ)到永久存儲(chǔ)器的過(guò)程中,開始應(yīng)用程序的受控關(guān)閉。該存儲(chǔ)器容量低管理器146依賴由操作系統(tǒng)142發(fā)布的存儲(chǔ)器溢出異常,而不是用于直接和連續(xù)地監(jiān)控存儲(chǔ)器使用本身。因此,在實(shí)現(xiàn)存儲(chǔ)器容量低管理器146時(shí),使用計(jì)算機(jī)相對(duì)較少的處理資源。
在一些實(shí)施例中,可以使用多于或少于兩個(gè)保留緩沖器。
在一個(gè)實(shí)施例中,提供了一種計(jì)算機(jī)程序產(chǎn)品,具有具體實(shí)現(xiàn)了用于實(shí)現(xiàn)上述本發(fā)明實(shí)施例的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。該計(jì)算機(jī)可讀介質(zhì)可以是如磁介質(zhì)或光介質(zhì)等存儲(chǔ)介質(zhì),或者可以是如電或光信號(hào)等可以在其上調(diào)制計(jì)算機(jī)可執(zhí)行指令的通信介質(zhì)。
本發(fā)明的上述實(shí)施例僅作為示例。在不脫離由所附權(quán)利要求所限定的本發(fā)明的范圍的前提下,本領(lǐng)域技術(shù)人員可以對(duì)特定的實(shí)施例進(jìn)行變更,修改和變化。
權(quán)利要求
1.一種用于管理第一計(jì)算機(jī)設(shè)備中的存儲(chǔ)器容量低的方法,該第一計(jì)算機(jī)設(shè)備具有處理器,用于執(zhí)行操作系統(tǒng)和應(yīng)用程序;以及可用于操作系統(tǒng)和應(yīng)用程序的存儲(chǔ)器,該方法包括以下步驟(a)在應(yīng)用程序啟動(dòng)時(shí)由操作系統(tǒng)分配給該應(yīng)用程序的存儲(chǔ)區(qū)中保留第一保留緩沖器,該緩沖器直到被釋放才對(duì)應(yīng)用程序可用;以及(b)在確定應(yīng)用程序所使用的存儲(chǔ)器達(dá)到閾值時(shí),釋放第一保留緩沖器給應(yīng)用程序使用。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于包括在確定存儲(chǔ)器的使用已經(jīng)達(dá)到了閾值時(shí),產(chǎn)生警報(bào)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于包括在確定存儲(chǔ)器使用已經(jīng)達(dá)到了閾值時(shí),產(chǎn)生報(bào)警信號(hào),并通過(guò)網(wǎng)絡(luò)將該報(bào)警信號(hào)從第一計(jì)算機(jī)設(shè)備發(fā)送到另一計(jì)算機(jī)設(shè)備。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于包括在檢測(cè)到該報(bào)警信號(hào)時(shí),控制與第一計(jì)算機(jī)設(shè)備連接到公共網(wǎng)絡(luò)的至少一個(gè)另外的計(jì)算機(jī)設(shè)備承擔(dān)先前由第一計(jì)算機(jī)設(shè)備承載的負(fù)荷中的至少一些。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于包括在確定存儲(chǔ)器的使用已經(jīng)達(dá)到閾值之后,將選定的信息從存儲(chǔ)區(qū)存儲(chǔ)到永久存儲(chǔ)器。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于當(dāng)操作系統(tǒng)發(fā)布關(guān)于應(yīng)用程序的存儲(chǔ)器溢出異常時(shí),做出存儲(chǔ)器的使用已經(jīng)達(dá)到閾值的決定。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟(a)還包括在存儲(chǔ)區(qū)中保留第二保留緩沖器,該第二保留緩沖器直到被釋放才能被應(yīng)用程序使用,所述方法還包括(c)在第一保留緩沖器被釋放后,確定應(yīng)用程序的存儲(chǔ)器使用是否超過(guò)了另一閾值,并且如果超過(guò),則釋放第二保留緩沖器給應(yīng)用程序使用。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于包括隨著第一保留緩沖器的釋放,產(chǎn)生第一報(bào)警信號(hào);以及隨著第二保留緩沖器的釋放,產(chǎn)生第二報(bào)警信號(hào)。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于包括在第一保留緩沖器釋放后,控制與第一計(jì)算機(jī)設(shè)備連接到公共網(wǎng)絡(luò)的至少一個(gè)另外的計(jì)算機(jī)設(shè)備承擔(dān)先前由第一計(jì)算機(jī)設(shè)備承載的負(fù)荷中的至少一些,以及隨著第二保留緩沖器的釋放,起動(dòng)自動(dòng)應(yīng)用程序關(guān)閉例程。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于在步驟(b)中,當(dāng)操作系統(tǒng)產(chǎn)生關(guān)于應(yīng)用程序的存儲(chǔ)器溢出異常時(shí),產(chǎn)生存儲(chǔ)器使用超過(guò)閾值的決定,以及在步驟(c)中當(dāng)?shù)谝槐A艟彌_器被釋放后,操作系統(tǒng)產(chǎn)生關(guān)于應(yīng)用程序的第二存儲(chǔ)器溢出異常時(shí),產(chǎn)生存儲(chǔ)器使用超過(guò)閾值的決定。
11.根據(jù)權(quán)利要求7所述的方法,其特征在于第二保留緩沖器的大小小于第一保留緩沖器的大小。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于包括在步驟(b)之后,如果應(yīng)用程序所使用的存儲(chǔ)器下降到閾值以下,在存儲(chǔ)區(qū)中重新保留第一保留緩沖器。
13.一種用于管理計(jì)算機(jī)設(shè)備中的存儲(chǔ)器容量低的系統(tǒng),該計(jì)算機(jī)設(shè)備具有處理器,存儲(chǔ)器,操作系統(tǒng)和應(yīng)用程序,該系統(tǒng)包括存儲(chǔ)器容量低管理器,用于(a)在由操作系統(tǒng)分配給應(yīng)用程序的存儲(chǔ)區(qū)中保留第一和第二保留緩沖器,該緩沖器直到被存儲(chǔ)器容量低管理器釋放之前不可用于應(yīng)用程序;(b)檢測(cè)到操作系統(tǒng)產(chǎn)生的關(guān)于應(yīng)用程序的第一存儲(chǔ)器溢出異常后,釋放第一保留緩沖器給應(yīng)用程序使用;以及(c)檢測(cè)到操作系統(tǒng)產(chǎn)生的關(guān)于應(yīng)用程序的另一存儲(chǔ)器溢出異常后,釋放第二保留緩沖器給應(yīng)用程序使用。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于在步驟(c)中,當(dāng)產(chǎn)生另一存儲(chǔ)器溢出異常時(shí),只有第一保留緩沖器仍然被釋放時(shí),才釋放第二保留緩沖器。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于配置該存儲(chǔ)器容量低管理器,在釋放第一保留緩沖器和第二保留緩沖器時(shí),產(chǎn)生報(bào)警信號(hào)。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于包括關(guān)閉管理器,用于在釋放第二保留緩沖器之后,將至少一些數(shù)據(jù)從存儲(chǔ)區(qū)中存儲(chǔ)到永久存儲(chǔ)器中。
全文摘要
對(duì)一種存儲(chǔ)器容量低管理器進(jìn)行配置,將存儲(chǔ)器的一部分分配給專用應(yīng)用程序,進(jìn)行保留,從而在發(fā)生存儲(chǔ)器容量低期間,可以用來(lái)支持該專用應(yīng)用程序,從而在受影響的應(yīng)用程序崩潰之前,為要執(zhí)行數(shù)據(jù)備份或補(bǔ)救步驟提供時(shí)間。
文檔編號(hào)G06F9/312GK1577258SQ20041006401
公開日2005年2月9日 申請(qǐng)日期2004年6月24日 優(yōu)先權(quán)日2003年6月24日
發(fā)明者艾哈邁德·哈桑 申請(qǐng)人:捷訊研究有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泾川县| 聂拉木县| 大理市| 鄂托克前旗| 新乐市| 凭祥市| 曲阜市| 民乐县| 北宁市| 宣城市| 丹寨县| 临沂市| 天长市| 芦溪县| 原平市| 麻城市| 新绛县| 宜兰县| 金华市| 武陟县| 凌源市| 莲花县| 新巴尔虎右旗| 泸溪县| 镇康县| 古丈县| 嘉禾县| 舞钢市| 古蔺县| 镇赉县| 西安市| 平塘县| 太仆寺旗| 大关县| 天水市| 浏阳市| 海南省| 全椒县| 开平市| 太白县| 同德县|