專利名稱:文件訪問管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種被安排為在共享系統(tǒng)中控制數(shù)據(jù)訪問的計(jì)算裝置。特別地,本發(fā)
明涉及一種在共享系統(tǒng)中使得各應(yīng)用能夠同時進(jìn)行數(shù)據(jù)訪問計(jì)算系統(tǒng)。本發(fā)明還涉及相應(yīng) 的方法。
背景技術(shù):
許多現(xiàn)代操作系統(tǒng)運(yùn)行搶占式多線程(pre-emptivemultithreading)環(huán)境。在這 種環(huán)境中,執(zhí)行的多線程可以并行地執(zhí)行。各個線程被分配以特定的優(yōu)先權(quán),使得當(dāng)超過特 定處理器所能夠處理的、更多的線程要求執(zhí)行時,首先執(zhí)行較高優(yōu)先級的線程。某些線程可 能包括讀取數(shù)據(jù)的指令以例如向顯示設(shè)備輸出位圖。這類操作通常不會導(dǎo)致存儲器的任何 重新分配,并且如果兩個線程同時嘗試讀取相同的數(shù)據(jù),也不會導(dǎo)致問題。另一些線程可能 包括對數(shù)據(jù)操控的指令,例如通過對位圖調(diào)整大小或進(jìn)行壓縮。這類線程通常從數(shù)據(jù)管理 系統(tǒng)調(diào)用適當(dāng)?shù)牟倏睾瘮?shù)。操控函數(shù)通常導(dǎo)致針對被操控?cái)?shù)據(jù)的存儲器重新分配。如果兩 個線程嘗試同時操控相同的數(shù)據(jù),將會導(dǎo)致存儲器差錯,因?yàn)閮蓚€線程都將要同時嘗試重 新分配存儲器。而且,在一個線程正在訪問特定數(shù)據(jù)而另一線程調(diào)用函數(shù)以對該數(shù)據(jù)進(jìn)行 操控的情況下,類似的錯誤也將發(fā)生。 圖1示出了在多線程環(huán)境下并發(fā)性相關(guān)聯(lián)的問題。現(xiàn)有技術(shù)中已知的移動電話 100示意性地與虛擬全局存儲器組集(virtualglobal memory chunk) 101—起示出。兩個 位圖102、103被存儲在存儲器101中。移動電話還已在存儲器中存儲有多個應(yīng)用,每個應(yīng) 用包括一個或多個執(zhí)行的線程。在圖1中,示出兩個執(zhí)行線程104和105。線程104包括 讀取并顯示位圖102的指令。在使用中,執(zhí)行線程104并且在移動電話100的顯示器上以 其正確的形式顯示位圖102。在沒有任何并發(fā)性控制的情況下,其它執(zhí)行的線程能夠在線 程104正在顯示位圖102時操控全局存儲器101中的位圖。線程105包括對位圖102調(diào)整 大小的指令,以便由另一線程在將來某個時間點(diǎn)進(jìn)行顯示。在使用中,一個應(yīng)用可以使得線 程105能夠在線程104正在將位圖102顯示在移動電話顯示器上時對位圖102進(jìn)行操控。 該操控的操作導(dǎo)致存儲器的重新分配,正如在圖1中所見到的那樣。線程105對位圖102 調(diào)整大小,并且改變其虛擬存儲器地址。新的位圖106以虛線示出。當(dāng)這發(fā)生時,線程104 正在繼續(xù)嘗試并顯示位圖102。由于線程105已經(jīng)改變了位圖102和其存儲器分配,線程 104將不能顯示原位圖,而是代之以顯示該位圖破壞的版本,正如圖1中所見到的那樣。這 提供了不好的用戶體驗(yàn),并且在沒有任何糾正由線程104所引用的存儲器地址的機(jī)制的情 況下,設(shè)備可能變得持久地被破壞。 在現(xiàn)有技術(shù)中,存在多種已知的機(jī)制來處理與并發(fā)性相關(guān)聯(lián)的問題。 一種典型的 操作系統(tǒng)包括文件管理系統(tǒng),其使用同步機(jī)制來控制對存儲在存儲器中的數(shù)據(jù)的訪問。一 種這樣的機(jī)制是串行化。文件系統(tǒng)順序地執(zhí)行讀取和操控操作。由于每個操作在其開始之 前必須等待較早的操作完成,這是耗費(fèi)時間的。另一個機(jī)制是互斥或者互斥體(mutex),諸 如鎖。已經(jīng)知道不同類型的鎖,包括全局鎖以及文件鎖。全局鎖針對給定的文件類型應(yīng)用于整個文件管理系統(tǒng)。當(dāng)線程調(diào)用操控文件數(shù)據(jù)或者導(dǎo)致文件數(shù)據(jù)被重新分配的函數(shù)時, 該線程必須首先獲取全局鎖。 一旦線程具有全局鎖,僅該線程能夠調(diào)用操控函數(shù)。當(dāng)該線 程已經(jīng)結(jié)束數(shù)據(jù)操控時,則其釋放該全局鎖。其它線程在其能夠操控文件數(shù)據(jù)之前必須等 待全局鎖變?yōu)榭捎?。使用全局鎖的主要問題在于會發(fā)生死鎖情況。而且,惡意線程可以鎖 定文件系統(tǒng)并且不對其解鎖。這會使得文件系統(tǒng)被鎖住,并且設(shè)備將變得不能使用。如果 惡意線程在開啟時啟動,則設(shè)備可能再不能使用。另一問題在于全局鎖對整個文件系統(tǒng)進(jìn) 行鎖定。這使得整個系統(tǒng)變得緩慢,這是因?yàn)楦骶€程必須按順序訪問文件系統(tǒng)。這違反了 多線程環(huán)境的整個目標(biāo)。 —種對使用全局鎖機(jī)制的可替換方案是使用文件鎖機(jī)制。在這種機(jī)制中,每個單 個的文件具有與之關(guān)聯(lián)的鎖。因此,僅正被操控的文件數(shù)據(jù)需要被鎖定。這是具有優(yōu)勢的 沒有被線程操控的文件數(shù)據(jù)可以被其它線程進(jìn)行操控。然而,與全局鎖相關(guān)聯(lián)的某些問題 對于文件鎖同樣成立。特別地,仍舊能導(dǎo)致死鎖情況,而且惡意線程能夠鎖定特定文件數(shù) 據(jù),使得其對于其它線程變得不可訪問。 由于上述討論,清楚的是,存在對于數(shù)據(jù)管理系統(tǒng)的需求,這種數(shù)據(jù)管理系統(tǒng)能夠 避免與使用鎖或其它類似同步機(jī)制相關(guān)聯(lián)的問題。這種系統(tǒng)還應(yīng)該有利于設(shè)備性能并要求 最小的RAM。
發(fā)明內(nèi)容
在優(yōu)選實(shí)施例中,本發(fā)明提供一種計(jì)算設(shè)備,其控制應(yīng)用線程對存儲在該計(jì)算設(shè) 備的存儲器中的多個數(shù)據(jù)部分的訪問。每個線程包括用于該線程被安排為對其進(jìn)行訪問或 者操控的每個數(shù)據(jù)部分的句柄。當(dāng)應(yīng)用線程包括操控?cái)?shù)據(jù)部分的指令時,該應(yīng)用線程調(diào)用 函數(shù)。該計(jì)算設(shè)備將該數(shù)據(jù)部分拷貝到新的存儲器位置,并且對數(shù)據(jù)部分拷貝應(yīng)用所調(diào)用 的函數(shù)。每個數(shù)據(jù)部分包括關(guān)聯(lián)元數(shù)據(jù),其被用于存儲與該數(shù)據(jù)部分相關(guān)的信息??梢砸?臟標(biāo)志(dirty flag)標(biāo)記部分元數(shù)據(jù),該臟標(biāo)志指示該數(shù)據(jù)部分最近已經(jīng)被拷貝或者操 控。當(dāng)拷貝數(shù)據(jù)部分以進(jìn)行操控時,計(jì)算設(shè)備利用臟標(biāo)志來標(biāo)記原數(shù)據(jù)部分,并且在原數(shù)據(jù) 部分的元數(shù)據(jù)中存儲新數(shù)據(jù)部分的句柄。當(dāng)應(yīng)用線程隨后訪問或者操控給定數(shù)據(jù)部分時, 系統(tǒng)首先檢查臟標(biāo)志的存在。如果存在臟標(biāo)志,向調(diào)用線程返回新數(shù)據(jù)部分的句柄,并且將 該線程引導(dǎo)到該新數(shù)據(jù)部分。 本發(fā)明提供一種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分,其中該計(jì) 算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,并且該計(jì)算設(shè)備還被安排為當(dāng)一個過程嘗 試操控該數(shù)據(jù)部分時將所述數(shù)據(jù)部分拷貝到新存儲器位置,操控該拷貝,以及當(dāng)滿足預(yù)定 條件時銷毀原數(shù)據(jù)部分。 因此,本發(fā)明的計(jì)算設(shè)備能夠使得不同線程能夠同時訪問不同數(shù)據(jù)部分。當(dāng)一個 線程操控?cái)?shù)據(jù)部分時,整個系統(tǒng)保持對于其它線程可用,因?yàn)闆]有使用鎖。而且,如果一個 線程在另一線程嘗試操控一數(shù)據(jù)部分的同時嘗試讀取那個數(shù)據(jù)部分,則不會發(fā)生錯誤,這 是因?yàn)槲募浔3钟行В踔猎谂K標(biāo)志已經(jīng)被應(yīng)用于與原數(shù)據(jù)部分關(guān)聯(lián)的元數(shù)據(jù)中之前 也保持有效。由于沒有應(yīng)用能夠鎖定整個系統(tǒng),因此也不存在安全風(fēng)險。由于沒有使用鎖, 系統(tǒng)不可能進(jìn)入死鎖情況。由于多線程可以同時訪問并且操控系統(tǒng)中的數(shù)據(jù),由此提高了 設(shè)備的性能和速度。與不刪除舊數(shù)據(jù)部分或者再很長時間段之后刪除舊數(shù)據(jù)部分的設(shè)備相比,該設(shè)備還提供了增加效率存儲器。 優(yōu)選地,數(shù)據(jù)部分是圖像數(shù)據(jù),或者其它具有經(jīng)由設(shè)備顯示器能夠傳達(dá)給用戶的 內(nèi)容的數(shù)據(jù)。利用這種數(shù)據(jù),本發(fā)明提供以下優(yōu)點(diǎn)總是向用戶示出正確的、未破壞的圖像。 這提供了增強(qiáng)的用戶體驗(yàn)。 優(yōu)選地,一旦應(yīng)用過程已經(jīng)對拷貝的數(shù)據(jù)部分進(jìn)行了操控,任何嘗試訪問舊數(shù)據(jù) 部分的過程均被更新為引用新數(shù)據(jù)部分。優(yōu)選地,當(dāng)所有應(yīng)用過程引用新數(shù)據(jù)部分時該預(yù) 定條件被滿足。以這種方式,本發(fā)明提供一種特別有效的設(shè)備,其僅在所需的時間段內(nèi)將位 圖保留在存儲器中。這進(jìn)一步增強(qiáng)了設(shè)備的有效存儲器。 本發(fā)明還提供一種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分,其中該 計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,并且該計(jì)算設(shè)備還被安排為當(dāng)一個過程 嘗試操控該數(shù)據(jù)部分時將所述數(shù)據(jù)部分拷貝到新存儲器位置,操控該拷貝,并且標(biāo)記與原 數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)以指示其已經(jīng)被所述拷貝代替。 本發(fā)明還提供一種用于管理計(jì)算設(shè)備存儲器中的數(shù)據(jù)訪問的方法,該存儲器被安 排為存儲多個數(shù)據(jù)部分并且該計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,其中當(dāng)一 個過程嘗試操控所述數(shù)據(jù)部分時執(zhí)行對所述數(shù)據(jù)部分的拷貝,操控該拷貝,并且當(dāng)滿足預(yù) 定條件時銷毀原數(shù)據(jù)部分。 本發(fā)明還提供一種用于管理計(jì)算設(shè)備存儲器中的文件訪問的方法,該存儲器被安 排為存儲多個數(shù)據(jù)部分并且該計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,其中當(dāng)一 個過程嘗試操控?cái)?shù)據(jù)部分時執(zhí)行對所述數(shù)據(jù)部分的拷貝,操控該拷貝,并且標(biāo)記與原數(shù)據(jù) 部分相關(guān)聯(lián)的數(shù)據(jù)以指示其已經(jīng)被所述拷貝代替。 本發(fā)明還提供一種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分以及多個 應(yīng)用,每個應(yīng)用被安排為訪問或操控所述多個數(shù)據(jù)部分;用戶輸入,被安排為允許用戶控制 該多個應(yīng)用;顯示器,被安排為顯示所述多個應(yīng)用的可視輸出;數(shù)據(jù)管理服務(wù)器,被安排為 控制所述應(yīng)用對所述數(shù)據(jù)部分的訪問;其中由所述應(yīng)用操控所述數(shù)據(jù)部分的請求被路由 到所述數(shù)據(jù)管理服務(wù)器,并且所述服務(wù)器被安排為在接收到操控請求之后拷貝相關(guān)數(shù)據(jù)部 分,并且執(zhí)行對所述拷貝的操控請求。 優(yōu)選地,存儲器包括多個不同的存儲器單元,每個單元被安排為存儲不同的應(yīng)用 和數(shù)據(jù)部分。特別地,存儲器可以包括ROM(只讀存儲器),其存儲操作系統(tǒng)代碼;用戶數(shù)據(jù) 存儲器,其存儲用戶數(shù)據(jù)和某些應(yīng)用;以及RAM(只讀存儲器),在使用時其中可以加載有應(yīng) 用和文件數(shù)據(jù)。 術(shù)語"引用"旨在表示應(yīng)用過程和文件之間的關(guān)系,由此應(yīng)用過程能夠讀取或者操
控該文件。例如,應(yīng)用過程可以讀取文件以便通過顯示屏向用戶顯示其內(nèi)容。而且,應(yīng)用過
程可以通過調(diào)整文件大小、改變文件分辨率、壓縮文件以及其它的操控過程來對其進(jìn)行操
控。被安排為以這種方式讀取或操控文件的應(yīng)用過程被認(rèn)為是引用該文件。 本發(fā)明的其它特征在附屬權(quán)利要求書中限定。從對優(yōu)選實(shí)施例的以下描述中,與
本發(fā)明相關(guān)聯(lián)的特征和優(yōu)點(diǎn)將會明顯。
現(xiàn)在將通過舉例的方式,參考附圖來描述本發(fā)明的優(yōu)選實(shí)施例,在附圖中
圖1示出現(xiàn)有技術(shù)中已知的移動電話; 圖2示出根據(jù)本發(fā)明實(shí)施例的移動電話; 圖3示出圖2的移動電話的操作系統(tǒng); 圖4示出圖3的操作系統(tǒng)的多媒體和圖形服務(wù)部分; 圖5是示出根據(jù)本發(fā)明實(shí)施例的操作系統(tǒng)、應(yīng)用、文件數(shù)據(jù)和硬件的各單元的系 統(tǒng)圖; 圖6示出根據(jù)本發(fā)明實(shí)施例的位圖存儲器; 圖7是示出圖2所示移動電話的操作的流程圖; 圖8是示出圖2所示移動電話的進(jìn)一步操作的流程圖;以及 圖9示出使用的圖2所示移動電話。
具體實(shí)施例方式
現(xiàn)在將針對被安排為運(yùn)行在移動電話中的操作系統(tǒng)描述本發(fā)明的優(yōu)選實(shí)施例。將 描述的移動電話與現(xiàn)有技術(shù)中已知的移動電話具有相同的組件。特別地,該移動電話包括 被安排為處理電話功能、應(yīng)用功能(包括操作系統(tǒng)(0S)服務(wù))、射頻(R.F.)通信服務(wù)和功 率調(diào)節(jié)的子系統(tǒng)。這些常規(guī)組件的操作將是本領(lǐng)域技術(shù)人員所熟悉的。這些子系統(tǒng)并未被 示出,除非為了理解本發(fā)明需要了解它們的結(jié)構(gòu)或操作。 圖2示出了移動電話200。移動電話200包括存儲器201,在圖2中示意性地示出 該存儲器。存儲器包括三個單獨(dú)的存儲器組件。這些組件是只讀存儲器(R0M)201a、隨機(jī)存 取存儲器(RAM)201b和用戶數(shù)據(jù)存儲器201c。 ROM 201a包括操作系統(tǒng)、圖形用戶接口和其 它關(guān)鍵應(yīng)用。RAM 201b是易失性存儲器,當(dāng)移動電話關(guān)閉時RAM固有為空。當(dāng)移動電話啟 動時,按照需要,將應(yīng)用加載到RAM201b。用戶數(shù)據(jù)存儲器201c包括其它應(yīng)用、應(yīng)用文件、用 戶數(shù)據(jù)和用戶設(shè)置。 上面結(jié)合ROM 201a提到的操作系統(tǒng)還具有與現(xiàn)有技術(shù)已知的移動電話操作系統(tǒng) 相同的單元。將結(jié)合圖3簡要地描述根據(jù)本發(fā)明優(yōu)選實(shí)施例的操作系統(tǒng)。
圖3示出了用于存儲在移動電話200的ROM 201a中的操作系統(tǒng)202的系統(tǒng)模型。 操作系統(tǒng)202包括各種層,每個層被安排為執(zhí)行操作系統(tǒng)的功能。操作系統(tǒng)202包括三個 主要部分,即基礎(chǔ)部分、中間件部分以及應(yīng)用部分?;A(chǔ)部分包括內(nèi)核服務(wù)203和基礎(chǔ)服務(wù) 204。這些層被安排為對移動電話硬件資源以及在硬件和操作系統(tǒng)202的中間件之間的通 信進(jìn)行管理。中間件是操作系統(tǒng)202服務(wù)的核心,并且其控制運(yùn)行于設(shè)備的應(yīng)用和系統(tǒng)資 源(其自身由基礎(chǔ)部分管理)之間的通信。它包括操作系統(tǒng)服務(wù)層205,該操作系統(tǒng)服務(wù)層 分為四個子部分。這些子部分是通用0S服務(wù)部分205a、通信服務(wù)部分205b、多媒體和圖形 服務(wù)部分205c以及連接服務(wù)部分205d。通用OS服務(wù)部分205a、通信服務(wù)部分205b、連接 服務(wù)部分205d被安排為以本領(lǐng)域技術(shù)人員所熟悉的方式工作。這些部分的細(xì)節(jié)將不在此 描述。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,將在下文中更詳細(xì)地描述多媒體和圖形服務(wù)部分205c。 操作系統(tǒng)202的應(yīng)用部分包括應(yīng)用服務(wù)層206、用戶接口 (UI)框架層207以及Java J2ME 層208。這些層以本領(lǐng)域技術(shù)人員所熟悉的方式工作。 參照圖4,多媒體和圖形服務(wù)部分205c包括字體和位圖服務(wù)器(FBS) 209和窗口 服務(wù)器210。字體和位圖服務(wù)器209提供位圖管理服務(wù),其管理對存儲在R0M 201a中的位圖或者用戶數(shù)據(jù)存儲器201c中的文件的訪問。字體和位圖服務(wù)器209保留存儲在存儲器 201中所有位圖的記錄,并且使得所有位圖對于所有圖形應(yīng)用和對于窗口服務(wù)器209可用。 字體和位圖服務(wù)器209的功能將在下文中詳細(xì)描述。窗口服務(wù)器201向移動電話200的屏 幕提供用戶可視輸出。當(dāng)應(yīng)用需要顯示位圖時,應(yīng)用向窗口服務(wù)器提供指向相關(guān)位圖的位 置的指針,以便能夠顯示該位圖。 無論基于OS服務(wù)器層205還是應(yīng)用層206,應(yīng)用中的每一個包括多個執(zhí)行線程。 當(dāng)應(yīng)用運(yùn)行時,各個線程包括訪問或者操控位圖的指令。下文中,這些線程將會稱為客戶端 線程??蛻舳司€程包括到由那些客戶端線程所引用的位圖的虛擬存儲器地址的句柄。這些 句柄由字體和位圖服務(wù)器209保持。當(dāng)客戶端線程需要對位圖進(jìn)行訪問以便讀取或者操控 時,字體和位圖服務(wù)器控制該訪問。當(dāng)位圖需要被顯示在移動電話200的屏幕上,客戶端線 程將向窗口服務(wù)器210傳遞相關(guān)位圖的句柄,以便窗口服務(wù)器能夠顯示適當(dāng)?shù)奈粓D。
圖5示出整個位圖管理系統(tǒng)的系統(tǒng)架構(gòu),該位圖管理系統(tǒng)包括操作系統(tǒng)組件、應(yīng) 用、數(shù)據(jù)和硬件。字體和位圖服務(wù)器209存儲全局存儲器211中可用的位圖。所有位圖包 括關(guān)聯(lián)的元數(shù)據(jù)。元數(shù)據(jù)包括關(guān)于位圖的信息,諸如文件大小以及圖像分辨率。所有位圖 元數(shù)據(jù)與全局存儲器211分離地被存儲在分離的元數(shù)據(jù)存儲器中212。元數(shù)據(jù)還包括與位 圖訪問控制相關(guān)的數(shù)據(jù)。如將在下文中描述的,當(dāng)調(diào)用了操控函數(shù),位圖被拷貝到新位置。 在多數(shù)情況下,舊位圖不被刪除。相反,舊位圖被標(biāo)記以臟標(biāo)志,該臟標(biāo)志向隨后要求訪問 該位圖的任何客戶端線程指示已經(jīng)創(chuàng)建了新位圖。在位圖元數(shù)據(jù)中的一個比特被保留為臟 標(biāo)志。 存儲在全局存儲器211中的位圖可由多個應(yīng)用213訪問。正如上文所述,每個應(yīng) 用包括一個或多個客戶端線程??蛻舳司€程可以要求訪問位圖,或者讀取位圖以例如將該 位圖顯示在移動設(shè)備的屏幕上,或者對位圖進(jìn)行操控。字體和位圖服務(wù)器209包括各種可 以由客戶端線程調(diào)用以便操控位圖數(shù)據(jù)的函數(shù)。這些函數(shù)包括調(diào)整大小函數(shù)、壓縮函數(shù)以 及其它函數(shù)。由于位圖大小的增加或減小,這些函數(shù)的每一個都要求對存儲器進(jìn)行重新分 配。如上文所述,字體和位圖服務(wù)器209控制出于所有目的對位圖的訪問。
為全局存儲器211預(yù)留的虛擬地址范圍被劃分為兩個部分,如圖6所示。第一部 分是小位圖部分211a,且第二部分時大位圖部分211b。對角陰影區(qū)域是提交到物理存儲器 的虛擬頁。正如圖6所示,小位圖部分211a包括提交到物理存儲器的頁的連續(xù)集合,其可 以與常規(guī)單端存儲堆(heap) —樣增加或者減少。大位圖部分211b將頁以位圖為單位提交 到物理存儲器。頁僅保持用于大位圖的數(shù)據(jù),并且當(dāng)大位圖被刪除時,該大位圖使用的該頁 的集合從物理存儲器解除提交。由于大位圖被分配以整數(shù)個物理存儲器頁,位圖大小通常 被確定為頁大小的整數(shù)倍。如果大為圖大小并非恰好是頁大小的整數(shù)倍,則浪費(fèi)了存儲器。 為了降低存儲器的浪費(fèi),大位圖必須顯著大于存儲器頁大小。在優(yōu)選實(shí)施例中,大位圖是4 倍于頁大小的位圖。因此,對于4KB頁,大位圖至少為16KB。所有其它位圖均作為小位圖處 理。 當(dāng)設(shè)備開啟時,計(jì)算為全局存儲器組集211而預(yù)留的虛擬地址范圍的大小。典型 地,虛擬地址范圍被設(shè)定為物理RAM對于字體和位圖服務(wù)器209可用的數(shù)量,為2的次方。 虛擬地址范圍的大小還被設(shè)定在預(yù)定的最大值和最小值之間。現(xiàn)在將結(jié)合圖7,更加詳細(xì)地 描述位圖操控的處理。
將在位圖調(diào)整大小操作的上下文中描述操控過程。當(dāng)應(yīng)用要求對特定位圖調(diào)整 大小并對其進(jìn)行顯示,該過程被初始化。客戶端線程從字體和位圖服務(wù)器209調(diào)用調(diào)整大 小函數(shù)(步驟301)??蛻舳司€程包括相關(guān)位圖的句柄,該句柄的形式是指向用于該位圖的 虛擬存儲器地址空間的指針。作為調(diào)用過程的一部分,將該句柄傳遞到字體和位圖服務(wù)器 209。該字體和位圖服務(wù)器209然后返回包括對于相關(guān)位圖的句柄的調(diào)整大小函數(shù)(步驟 302)。在執(zhí)行調(diào)整大小函數(shù)之前,字體和位圖服務(wù)器209針對臟標(biāo)志的存在性檢查與該位 圖相關(guān)聯(lián)的元數(shù)據(jù)(步驟303)。如果不存在臟標(biāo)志,字體和位圖服務(wù)器209將該位圖拷貝 到RAM 201b中的新位置(步驟304)。 一旦位圖已經(jīng)被拷貝到新位置,字體和位圖服務(wù)器 209對該新位圖執(zhí)行調(diào)整大小函數(shù)(步驟305)。字體和位圖服務(wù)器209然后執(zhí)行用于處理 舊位圖的過程(步驟306)。將參照圖8更加詳細(xì)地描述這些過程。為了可以清楚地理解位 圖操控處理,用于處理舊位圖的過程的基本方面將簡要地描述。每個位圖包括存儲在與該 位圖相關(guān)聯(lián)的元數(shù)據(jù)中的引用計(jì)數(shù)。在多于一個客戶端線程引用特定位圖時,該位圖的引 用計(jì)數(shù)將會大于一。在這些情況下,字體和位圖服務(wù)器209利用臟標(biāo)志來標(biāo)記位圖元數(shù)據(jù), 并且把到新位圖的句柄存儲在舊位圖元數(shù)據(jù)中。因此,當(dāng)另一客戶端線程隨后嘗試訪問舊 位圖時,新位圖句柄被傳遞到客戶端線程,然后其能夠定位新位圖。 返回圖7,一旦已經(jīng)對新位圖執(zhí)行了調(diào)整大小函數(shù),則利用對于新位圖的句柄來更 新調(diào)用該調(diào)整大小函數(shù)的客戶端線程(步驟307)。然后可以由其線程調(diào)用了調(diào)整大小函數(shù) 的應(yīng)用來顯示該新位圖。由客戶端線程將新位圖句柄傳遞到窗口服務(wù)器(步驟308)。然 后,由窗口服務(wù)器對新位圖進(jìn)行顯示(步驟309)。 在步驟303中,如果字體和位圖服務(wù)器209在正在被操作的位圖的元數(shù)據(jù)中檢測 到臟標(biāo)志,這指示該位圖是舊位圖并且其已經(jīng)被新位圖代替。字體和位圖服務(wù)器209從與 所討論位圖相關(guān)聯(lián)的元數(shù)據(jù)中獲取新位圖句柄,并且更新調(diào)用調(diào)整大小函數(shù)的客戶端線程 中的位圖句柄(步驟309)。在字體和位圖服務(wù)器209能夠在新位圖上執(zhí)行調(diào)整大小函數(shù)之 前,其必須首先檢查新位圖自身是否已經(jīng)被操控并由此成為一個舊位圖(步驟310)。這可 以通過針對臟標(biāo)志檢查與該新位圖相關(guān)聯(lián)的元數(shù)據(jù)來實(shí)現(xiàn)。如果在新位圖的元數(shù)據(jù)中沒有 臟標(biāo)志存在,則處理可以繼續(xù)執(zhí)行步驟304,并且可以按照結(jié)合步驟304到步驟309而描述 的方式來執(zhí)行調(diào)整大小函數(shù)。如果與新位圖相關(guān)聯(lián)的元數(shù)據(jù)包含臟標(biāo)志,則處理返回步驟 309,并且字體和位圖服務(wù)器更新調(diào)用調(diào)整大小函數(shù)的客戶端線程中的位圖句柄。重復(fù)步驟 309和310,直至定位了其關(guān)聯(lián)的元數(shù)據(jù)中不包括臟標(biāo)志的位圖。 將參照圖8更詳細(xì)地描述用于處理舊位圖的過程。當(dāng)客戶端線程調(diào)用操控函數(shù) 時,該處理開始(步驟401)。只要客戶端線程調(diào)用操控函數(shù),字體和位圖服務(wù)器209就將位 圖數(shù)據(jù)拷貝到新位置,在存儲器中保留舊位圖。與每個位圖相關(guān)聯(lián)的元數(shù)據(jù)包括引用計(jì)數(shù)。 引用計(jì)數(shù)提供包括指向該特定位圖的句柄的客戶端線程的數(shù)目的指示。 一旦位圖已經(jīng)被拷 貝,由字體和位圖服務(wù)器209所執(zhí)行的第一步是檢查存儲在特定位圖的元數(shù)據(jù)中的引用計(jì) 數(shù)(步驟402)。如果針對該特定位圖的引用計(jì)數(shù)是1,則字體和位圖服務(wù)器209知曉只有 剛剛調(diào)用了操控函數(shù)的客戶端線程引用了該特定位圖。由于該客戶端線程所存儲的、對于 該特定位圖的句柄將根據(jù)結(jié)合圖7所描述的過程而更新,因此字體和位圖服務(wù)器209可以 立即銷毀舊位圖,因?yàn)槠渲啦粫儆锌蛻舳司€程引用該位圖。 如果針對該特定位圖的引用計(jì)數(shù)大于1,則字體和位圖服務(wù)器209知曉其它客戶端線程可能隨后嘗試訪問該特定位圖。字體和位圖服務(wù)器209由此利用臟標(biāo)志來標(biāo)記與該 特定位圖相關(guān)聯(lián)的元數(shù)據(jù)(步驟404)。除此以外,字體和位圖服務(wù)器在舊位圖的元數(shù)據(jù)中 存儲對于新創(chuàng)建的位圖的句柄(步驟405)。于是,任何隨后訪問舊位圖的線程將被引導(dǎo)到 新位圖。字體和位圖服務(wù)器209然后通過每當(dāng)新的客戶端線程嘗試訪問舊位圖時檢查引用 計(jì)數(shù)來監(jiān)測針對舊位圖的引用計(jì)數(shù)(步驟406)。當(dāng)針對該位圖的引用計(jì)數(shù)等于O時,字體 和位圖服務(wù)器209銷毀舊位圖(步驟407)。 現(xiàn)在將結(jié)合圖9來描述本發(fā)明的其它優(yōu)點(diǎn)。圖9示意性地與全局存儲器211 —起 示出了移動電話200。全局存儲器211包括兩個位圖文件500和501。如上所述,移動電話 包括多個存儲在存儲器中的應(yīng)用,每個應(yīng)用包括至少一個執(zhí)行的線程。在圖9中,示出兩個 線程502、503。線程502包括讀取并在移動電話200的顯示器上顯示位圖500的指令。線 程503包括調(diào)整位圖500大小的指令。在使用中,線程503從字體和位圖服務(wù)器209請求 調(diào)整大小函數(shù)。字體和位圖服務(wù)器然后將位圖500拷貝到存儲器211中的新位置,以形成 新位圖504。字體和位圖服務(wù)器209然后在新位圖504上執(zhí)行調(diào)整大小函數(shù)。這意味著,如 果位圖正被一個線程讀取,則其不能被其它線程同時操控。在圖9中,線程502被示出為讀 取并顯示位圖500。線程503從字體和位圖服務(wù)器調(diào)用調(diào)整大小函數(shù),字體和位圖服務(wù)器然 后拷貝原位圖500,并產(chǎn)生新位圖504。如圖9所示,以這種方式,線程502能夠繼續(xù)讀取和 顯示位圖500,而不存在任何數(shù)據(jù)被破壞的風(fēng)險。可以將該情形與圖1所示的情形進(jìn)行對 比。圖l示出了現(xiàn)有技術(shù)中已知的移動電話,其中不存在并發(fā)性供應(yīng)。正如可以看到的,向 用戶顯示了破壞的圖像。在當(dāng)前的情況中,向用戶呈現(xiàn)的圖像不是被破壞的,而且用戶在使 用文件(形成了移動電話的文件系統(tǒng)的一部分)中不會體驗(yàn)到任何問題。這產(chǎn)生了極大改 善的用戶體驗(yàn)。 雖然本發(fā)明已經(jīng)在基于軟件的字體和位圖服務(wù)器的上下文中進(jìn)行了描述,字體和 位圖服務(wù)器可以實(shí)現(xiàn)為硬件。特別地,字體和位圖服務(wù)器可以采取實(shí)施在微型芯片上的物 理服務(wù)器的形式,該物理服務(wù)器可以位于移動電話200的應(yīng)用子系統(tǒng)中。這樣的布置將不 會遭受性能降級,而性能降級可能發(fā)生在諸如移動電話的資源受限設(shè)備中。
已經(jīng)結(jié)合位圖管理服務(wù)描述了本發(fā)明。本發(fā)明還適用于其它數(shù)據(jù)類型的管理系 統(tǒng)。任何其中需要在多個執(zhí)行的線程之間共享數(shù)據(jù)的系統(tǒng)均可以從本發(fā)明中受益。特別地, 在數(shù)據(jù)必須保持對引用該數(shù)據(jù)的所有線程可用的情況下,以及在特定線程操作使得數(shù)據(jù)不 可訪問的情況下,本發(fā)明特別有利。 本領(lǐng)域技術(shù)人員將會理解,讀取和操控操作是對加載到存儲器中的位圖執(zhí)行的。 換句話說,當(dāng)計(jì)算設(shè)備工作中,在加載到RAM的原始位圖數(shù)據(jù)上執(zhí)行操作。在任何這類操作 被執(zhí)行之前,從可能永久性地存儲位圖數(shù)據(jù)的文件將位圖數(shù)據(jù)加載到臨時存儲器存儲。因 此,本發(fā)明并不在存儲于永久存儲的文件中的數(shù)據(jù)上進(jìn)行操作。位圖數(shù)據(jù)可以以永久基礎(chǔ) 存儲于位圖文件中,或者以臨時基礎(chǔ)存儲于RAM中。在本發(fā)明的上下文中,存儲于RAM的位 圖數(shù)據(jù)可以被稱為數(shù)據(jù)部分。本發(fā)明的機(jī)制被安排為在存儲于RAM中的數(shù)據(jù)部分上操作, 而不是在存儲于永久存儲的文件上操作。 本發(fā)明部分地基于鎖對設(shè)備資源造成了過度負(fù)擔(dān)這一事實(shí)。雖然已經(jīng)在特定系統(tǒng) 的上下文中描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解到其它能夠享受到本發(fā)明益處的系 統(tǒng)也能夠被使用。特別地,廣義而言,本發(fā)明提供了一種在不使用鎖的存儲器中管理并發(fā)性的方法。上文描述的現(xiàn)有技術(shù)系統(tǒng)使用鎖來管理并發(fā)性。實(shí)際上,現(xiàn)有技術(shù)并不允許并發(fā) 性,因?yàn)殒i重新調(diào)度線程,從而使它們中的每一個在被執(zhí)行之前必須等待前一個線程完成。 本發(fā)明實(shí)際上通過避免使用鎖而允許并發(fā)性。 另外,對上述實(shí)施例的進(jìn)一步改進(jìn)、添加和變形對于作為本領(lǐng)域技術(shù)人員的有意 于此的讀者來說是明顯的,從而提供包括本發(fā)明的發(fā)明點(diǎn)的其它實(shí)施例,并且這些實(shí)施例 落入所附權(quán)利要求書的范圍。
權(quán)利要求
一種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分,其中所述計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,并且所述計(jì)算設(shè)備還被安排為在一個過程嘗試操控所述數(shù)據(jù)部分時將所述數(shù)據(jù)部分拷貝到新存儲器位置,操控所述拷貝,以及當(dāng)滿足預(yù)定條件時銷毀原數(shù)據(jù)部分。
2. 根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,其中當(dāng)所述多個過程中沒有過程引用所述原數(shù)據(jù) 部分時,所述預(yù)定條件被滿足。
3. 根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中與所述數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)包括引用計(jì) 數(shù),其指示引用所述數(shù)據(jù)部分的所述過程的數(shù)目。
4. 根據(jù)權(quán)利要求3所述的計(jì)算設(shè)備,其中當(dāng)所述引用計(jì)數(shù)等于零時,所述預(yù)定條件被
5. 根據(jù)權(quán)利要求4所述的計(jì)算設(shè)備,其中所述引用計(jì)數(shù)存儲在與所述數(shù)據(jù)部分相關(guān)聯(lián) 的元數(shù)據(jù)中。
6. 根據(jù)前述任一權(quán)利要求所述的計(jì)算設(shè)備,其中,當(dāng)所述計(jì)算設(shè)備拷貝數(shù)據(jù)部分時,標(biāo) 記與所述原數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù),以指示所述數(shù)據(jù)部分已經(jīng)被拷貝。
7. 根據(jù)權(quán)利要求6所述的計(jì)算設(shè)備,其中所述標(biāo)記的形式是存儲于與所述原數(shù)據(jù)部分 相關(guān)聯(lián)的元數(shù)據(jù)中的標(biāo)志。
8. 根據(jù)權(quán)利要求6或7所述的計(jì)算設(shè)備,其中所述計(jì)算設(shè)備拷貝所述數(shù)據(jù)部分,所述計(jì) 算設(shè)備還將到所述拷貝的位置的指針存儲在與所述原數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)中。
9. 根據(jù)權(quán)利要求8所述的計(jì)算設(shè)備,其中所述指針存儲在與所述原數(shù)據(jù)部分相關(guān)聯(lián)的 元數(shù)據(jù)中。
10. 根據(jù)權(quán)利要求6-9中任一所述的計(jì)算設(shè)備,進(jìn)一步被安排為在拷貝所述數(shù)據(jù)部分 之前,針對標(biāo)記來檢查與所述數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)。
11. 根據(jù)權(quán)利要求10所述的計(jì)算設(shè)備,進(jìn)一步被安排為在標(biāo)記存在的情況下,定位所數(shù)據(jù)部分的所述拷貝,并且以權(quán)利要求i-io所限定的方式來處理所述拷貝。
12. 根據(jù)權(quán)利要求10所述的計(jì)算設(shè)備,進(jìn)一步被安排為在標(biāo)記不存在的情況下,按照權(quán)利要求1-9的限定進(jìn)行操作。
13. —種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分,其中所述計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,并且所述計(jì)算設(shè)備還被安排為當(dāng)一個過程嘗試操控 所述數(shù)據(jù)部分時將所述數(shù)據(jù)部分拷貝到新存儲器位置,操控所述拷貝,以及標(biāo)記與原數(shù)據(jù) 部分相關(guān)聯(lián)的數(shù)據(jù)以指示其已經(jīng)被所述拷貝代替。
14. 根據(jù)權(quán)利要求13所述的計(jì)算設(shè)備,其中所述標(biāo)記的形式是標(biāo)志。
15. 根據(jù)權(quán)利要求13或14所述的計(jì)算設(shè)備,其中當(dāng)所述計(jì)算設(shè)備拷貝所述數(shù)據(jù)部分 時,計(jì)算設(shè)備還將到所述拷貝的位置的指針存儲在與所述原數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)中。
16. 根據(jù)權(quán)利要求14或15所述的計(jì)算設(shè)備,其中所述標(biāo)記和所述指針被存儲在與原數(shù) 據(jù)部分相關(guān)聯(lián)的元數(shù)據(jù)中。
17. 根據(jù)權(quán)利要求15或16所述的計(jì)算設(shè)備,進(jìn)一步被安排為在拷貝所述數(shù)據(jù)部分之 前,針對標(biāo)記來檢查與所述數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)。
18. 根據(jù)權(quán)利要求17所述的計(jì)算設(shè)備,進(jìn)一步被安排為在標(biāo)記存在的情況下,定位所 數(shù)據(jù)部分的所述拷貝,并且以權(quán)利要求13-17所限定的方式來處理所述拷貝。
19. 根據(jù)權(quán)利要求17所述的計(jì)算設(shè)備,進(jìn)一步被安排為在標(biāo)記不存在的情況下,則按照權(quán)利要求13-16的限定進(jìn)行操作。
20. 根據(jù)權(quán)利要求13-19中任一所述的計(jì)算設(shè)備,進(jìn)一步被安排為一旦已經(jīng)對所述數(shù) 據(jù)部分進(jìn)行了拷貝,便操控所述拷貝。
21. 根據(jù)權(quán)利要求20所述的計(jì)算設(shè)備,其中當(dāng)所述多個過程中沒有過程引用所述原數(shù) 據(jù)部分時,所述預(yù)定條件被滿足。
22. 根據(jù)權(quán)利要求21所述的計(jì)算設(shè)備,其中所述數(shù)據(jù)部分包括引用計(jì)數(shù),其指示所引 用所述數(shù)據(jù)部分的所述過程的數(shù)目,并且當(dāng)所述引用計(jì)數(shù)等于零時所述預(yù)定條件被滿足。
23. 根據(jù)前述任一權(quán)利要求所述的計(jì)算設(shè)備,其中所述計(jì)算裝置是移動電話。
24. 根據(jù)前述任一權(quán)利要求所述的計(jì)算設(shè)備,其中所述數(shù)據(jù)部分是位圖。
25. 根據(jù)前述任一權(quán)利要求所述的計(jì)算設(shè)備,其中所述存儲器是易失性存儲器。
26. —種用于在計(jì)算設(shè)備存儲器中管理數(shù)據(jù)訪問的方法,所述存儲器被安排為存儲多 個數(shù)據(jù)部分,并且所述計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,其中當(dāng)一個過程 嘗試操控所述數(shù)據(jù)部分時執(zhí)行對所述數(shù)據(jù)部分的拷貝,操控所述拷貝,并且當(dāng)滿足預(yù)定條 件時銷毀原數(shù)據(jù)部分。
27. 根據(jù)權(quán)利要求27所述的方法,進(jìn)一步包括對所述過程對所述數(shù)據(jù)部分的引用進(jìn) 行計(jì)數(shù),當(dāng)所述引用計(jì)數(shù)等于零時所述預(yù)定條件被滿足。
28. 根據(jù)權(quán)利要求26或27所述的方法,進(jìn)一步包括標(biāo)記與所述數(shù)據(jù)部分相關(guān)聯(lián)的數(shù) 據(jù),以指示所述數(shù)據(jù)部分已經(jīng)被拷貝。
29. 根據(jù)權(quán)利要求28所述的方法,進(jìn)一步包括將到所述拷貝的位置的指針存儲在與 所述原數(shù)據(jù)部分相關(guān)聯(lián)的所述數(shù)據(jù)中。
30. 根據(jù)權(quán)利要求28或29所述的方法,進(jìn)一步包括在拷貝所述數(shù)據(jù)部分之前,針對 標(biāo)記來檢查與所述數(shù)據(jù)部分相關(guān)聯(lián)的所述數(shù)據(jù)。
31. 根據(jù)權(quán)利要求30所述的方法,進(jìn)一步包括如果標(biāo)記存在,則定位所數(shù)據(jù)部分的所 述拷貝,以及針對所述拷貝執(zhí)行權(quán)利要求24-28所限定的步驟。
32. 根據(jù)權(quán)利要求30所述的方法,進(jìn)一步包括如果標(biāo)記不存在,則操控所述拷貝。
33. —種用于在計(jì)算設(shè)備存儲器中管理文件訪問的方法,所述存儲器被安排為存儲多 個數(shù)據(jù)部分,并且所述計(jì)算設(shè)備被安排為運(yùn)行引用數(shù)據(jù)部分的多個過程,其中,當(dāng)一個過程 嘗試操控?cái)?shù)據(jù)部分時執(zhí)行對所述數(shù)據(jù)部分的拷貝,操控所述拷貝,以及標(biāo)記與原數(shù)據(jù)部分 相關(guān)聯(lián)的數(shù)據(jù)以指示其已經(jīng)被所述拷貝代替。
34. 根據(jù)權(quán)利要求33所述的方法,進(jìn)一步包括將到所述拷貝的位置的指針存儲在與 所述原數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)中。
35. 根據(jù)權(quán)利要求33或34所述的方法,進(jìn)一步包括在拷貝所述數(shù)據(jù)部分之前,針對 標(biāo)記來檢查與所述數(shù)據(jù)部分相關(guān)聯(lián)的數(shù)據(jù)。
36. 根據(jù)權(quán)利要求35所述的方法,進(jìn)一步包括如果標(biāo)記存在,則定位所數(shù)據(jù)部分的所 述拷貝。
37. 根據(jù)權(quán)利要求36所述的方法,進(jìn)一步包括如果標(biāo)記存在,則針對所述拷貝執(zhí)行權(quán) 利要求33-36所限定的步驟。
38. 根據(jù)權(quán)利要求33-37中任一所述的方法,進(jìn)一步包括如果標(biāo)記不存在,則操控所述拷貝。
39. 根據(jù)權(quán)利要求33-38中任一所述的方法,進(jìn)一步包括當(dāng)預(yù)定條件滿足時,銷毀所 述原數(shù)據(jù)部分。
40. 根據(jù)權(quán)利要求39所述的方法,其中當(dāng)所述多個過程中沒有過程引用所述原數(shù)據(jù)部 分時,所述預(yù)定條件被滿足。
41. 一種計(jì)算設(shè)備,包括存儲器,被安排為存儲多個數(shù)據(jù)部分以及多個應(yīng)用,每個應(yīng)用被安排為訪問或操控所述多個數(shù)據(jù)部分;用戶輸入,被安排為允許用戶控制所述多個應(yīng)用; 顯示器,被安排為顯示所述多個應(yīng)用的可視輸出; 數(shù)據(jù)管理服務(wù)器,被安排為控制所述應(yīng)用對所述數(shù)據(jù)部分的訪問; 其中所述應(yīng)用操控所述數(shù)據(jù)部分的請求被路由到所述數(shù)據(jù)管理服務(wù)器,并且所述服務(wù)器被安排為在接收到操控請求之后拷貝相關(guān)數(shù)據(jù)部分,并且對所述拷貝執(zhí)行操控請求。
42. 計(jì)算機(jī)程序或者計(jì)算機(jī)程序套件,被安排為在由計(jì)算設(shè)備執(zhí)行時,使所述設(shè)備執(zhí)行 根據(jù)權(quán)利要求26-40中任一所述的方法。
43. —種操作系統(tǒng),用于使得計(jì)算設(shè)備根據(jù)權(quán)利要求26-40中任一所述的方法進(jìn)行操作。
44. 一種計(jì)算機(jī)可讀介質(zhì),包括權(quán)利要求43所述的操作系統(tǒng)。
45. —種基本上如前所述并且如圖2-圖7所示的計(jì)算設(shè)備。
全文摘要
一種計(jì)算設(shè)備,被安排為控制應(yīng)用線程對存儲在該計(jì)算設(shè)備的存儲器中的多個數(shù)據(jù)部分的訪問。每個線程包括用于該線程被安排為對其進(jìn)行訪問或者操控的每個數(shù)據(jù)部分的句柄。當(dāng)應(yīng)用線程包括操控?cái)?shù)據(jù)部分的指令時,該應(yīng)用線程調(diào)用函數(shù)。系統(tǒng)將該數(shù)據(jù)部分拷貝到新的存儲器位置,并且對數(shù)據(jù)部分拷貝應(yīng)用所調(diào)用的函數(shù)。
文檔編號G06F9/46GK101755255SQ200880022549
公開日2010年6月23日 申請日期2008年6月20日 優(yōu)先權(quán)日2007年6月28日
發(fā)明者D·克恩, J·卡薩斯 申請人:諾基亞公司