亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

通信設(shè)備的制作方法

文檔序號:6407463閱讀:160來源:國知局
專利名稱:通信設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于確保通信設(shè)備中的安全以及保護(hù)內(nèi)容的版權(quán)的技術(shù)。
背景技術(shù)
諸如個人計算機、具有分組通信功能的移動電話的通信設(shè)備能夠下載從與因特網(wǎng)相連的服務(wù)器下載的各種程序。
盡管諸如因特網(wǎng)的開放網(wǎng)絡(luò)使得全世界的人們能夠自由地交換程序,它也具有內(nèi)在的風(fēng)險,包括,例如從通信設(shè)備竊取數(shù)據(jù)。同時,可能沒有惡意地提供了引起通信設(shè)備中的故障的程序。
因此,如果通過網(wǎng)絡(luò)提供的程序可以不受任何限制地容易地訪問通信設(shè)備內(nèi)部或者外部的資源,則可能出現(xiàn)問題。例如,用戶的電話號碼、郵件地址、或者銀行帳號(其中的每一個都存儲在一通信設(shè)備中)可以被隨意地從該通信設(shè)備讀出??紤]到這些風(fēng)險,用戶的隱私是主要的關(guān)注點。
可以對提供給通信設(shè)備的程序的功能進(jìn)行限制。例如,能夠執(zhí)行以Java編寫的程序的移動電話對這些程序加以限制。具體地,程序僅被授權(quán)訪問受限資源,而程序不被授權(quán)訪問諸如地址簿數(shù)據(jù)或用戶的個人信息的資源。

發(fā)明內(nèi)容
如上所述的限制對資源的訪問的機制為通信設(shè)備的用戶提供了一定安全。然而,它導(dǎo)致通過網(wǎng)絡(luò)下載的程序的操作中的多種限制。即,它限制了通信設(shè)備中的諸如功能改進(jìn)或增加的程序多樣性。
然而,在通過網(wǎng)絡(luò)下載的程序的操作中,如果這種下載的程序能夠不受任何限制地自由訪問資源,則可能由惡意用戶提供的下載程序引起故障,或者由下載的引起通信設(shè)備中故障的程序?qū)е鹿收稀R蚨?,不僅可能導(dǎo)致執(zhí)行了下載程序的通信設(shè)備的故障,而且可能導(dǎo)致與所述執(zhí)行了下載程序的通信設(shè)備進(jìn)行了通信的多個通信設(shè)備的故障。
為了解決上述問題提出了本發(fā)明,并且作為其目的,本發(fā)明提供一種通信設(shè)備、程序、以及記錄介質(zhì),或者在保證程序安全的同時提供多樣化的程序。
為了解決上述問題,本發(fā)明提供了一種通信設(shè)備,其包括接收裝置,用于接收程序;指定裝置,用于從存儲在通信設(shè)備中的數(shù)據(jù)中指定當(dāng)執(zhí)行由接收裝置接收的程序時要使用的數(shù)據(jù);第一生成裝置,用于生成一完全封裝對象,該對象具有一種從外部對象來處理封裝數(shù)據(jù)的方法,該對象具有由指定裝置指定的封裝數(shù)據(jù),并且該方法拒絕由接收裝置接收到的執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)進(jìn)行訪問;以及訪問控制裝置,用于當(dāng)執(zhí)行由接收裝置接收的程序時,限制可訪問的資源、禁止對由指定裝置從通信設(shè)備里存儲的數(shù)據(jù)中指定的數(shù)據(jù)的訪問,但是授權(quán)對第一生成裝置生成的對象進(jìn)行訪問。
另外,本發(fā)明提供了一種程序,用于使得計算機能夠執(zhí)行接收步驟,用于由通信終端接收程序;指定步驟,用于從存儲在存儲單元里的數(shù)據(jù)中指定數(shù)據(jù),當(dāng)執(zhí)行由接收步驟接收的程序時要使用所述數(shù)據(jù);生成步驟,用于生成一對象,該對象具有一種從外部對象來處理封裝數(shù)據(jù)的方法,該對象具有由指定步驟指定的封裝數(shù)據(jù),并且該方法拒絕由接收步驟接收到的執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)的訪問;以及訪問控制步驟,用于當(dāng)執(zhí)行由所述接收步驟接收的程序時,限制可訪問的資源、禁止對指定步驟從存儲在存儲單元里的數(shù)據(jù)中指定的數(shù)據(jù)的訪問,但是授權(quán)對第一生成步驟生成的對象的訪問。
根據(jù)本發(fā)明,通信設(shè)備能夠訪問具有封裝數(shù)據(jù)的對象,在接收到的程序的執(zhí)行過程中要使用所述封裝數(shù)據(jù)。在基于接收到的數(shù)據(jù)而執(zhí)行的處理的執(zhí)行過程中,一通信設(shè)備不能獲取封裝在一對象中的數(shù)據(jù),然而該通信設(shè)備能夠通過一種屬于該對象的方法來處理該對象中的數(shù)據(jù)。
此外,本發(fā)明提供了一種通信設(shè)備,其包括接收裝置,用于接收程序;指定裝置,用于從存儲在通信設(shè)備里的數(shù)據(jù)中指定當(dāng)執(zhí)行由接收裝置接收的程序時要使用的數(shù)據(jù);第一生成裝置,用于生成一完全封裝對象,該對象具有一種從外部對象來處理封裝數(shù)據(jù)的方法,該對象具有由指定裝置指定的封裝數(shù)據(jù),并且該方法拒絕由接收裝置接收到的執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)進(jìn)行訪問;第二生成裝置,用于生成一非完全封裝的對象,該對象具有至少一種從外部對象來處理封裝數(shù)據(jù)的方法,該對象具有由指定裝置指定的封裝數(shù)據(jù),并且該方法拒絕由接收裝置接收到的執(zhí)行程序?qū)λ龇庋b數(shù)據(jù)的訪問;保護(hù)信息存儲裝置,用于存儲保護(hù)信息,該保護(hù)信息表示數(shù)據(jù)保護(hù)是否為必要;確定裝置,用于確定一對象是由第一生成裝置生成的還是由第二生成裝置生成的,該對象具有封裝數(shù)據(jù)和一種方法,該方法用于根據(jù)存儲在保護(hù)信息存儲裝置中的保護(hù)信息來處理封裝數(shù)據(jù);以及訪問控制裝置,用于當(dāng)執(zhí)行由接收裝置接收的程序時,限制可訪問的資源、并禁止對由指定裝置從存儲在通信設(shè)備里的數(shù)據(jù)中指定的數(shù)據(jù)的訪問,但是授權(quán)對第一生成裝置生成的完全封裝對象的訪問。
另外,本發(fā)明提供了一種程序,用于使得計算機能夠執(zhí)行接收步驟,用于在通信終端處接收程序;指定步驟,用于從存儲在存儲單元里的數(shù)據(jù)中指定數(shù)據(jù),當(dāng)執(zhí)行由所述接收步驟接收的程序時要使用所述數(shù)據(jù);確定步驟,用于確定一對象是授權(quán)由執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)的訪問的第一對象、還是拒絕由執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)的訪問的第二對象,所述對象具有所述封裝數(shù)據(jù)和一種方法,該方法用于根據(jù)保護(hù)信息來處理所述封裝數(shù)據(jù),所述保護(hù)信息存儲在保護(hù)信息存儲裝置中,為指定裝置所指定的數(shù)據(jù)而設(shè)置,表示該指定數(shù)據(jù)是否為必要;生成步驟,用于生成由確定步驟確定的第一或者第二對象;以及訪問控制步驟,用于當(dāng)執(zhí)行由接收步驟接收的程序時,限制可訪問的資源、并禁止對指定步驟從存儲在存儲單元里的數(shù)據(jù)中指定的數(shù)據(jù)的訪問,但是授權(quán)對第一生成步驟生成的完全封裝對象的訪問。
根據(jù)本發(fā)明,通信設(shè)備能夠訪問具有封裝數(shù)據(jù)的對象,在接收到的程序的執(zhí)行過程中要使用該封裝數(shù)據(jù)。另外,通信設(shè)備基于保護(hù)信息來確定要生成的對象類型,該保護(hù)信息表示數(shù)據(jù)保護(hù)是否為必要,并且為要封裝的數(shù)據(jù)而設(shè)置。此外,通信設(shè)備確定在接收的程序的執(zhí)行過程中是否要獲取對象中的封裝數(shù)據(jù)。
另外,可以通過以下模式來實現(xiàn)本發(fā)明將上述程序通過通信線路發(fā)布給用戶,或者在諸如FD、CD、以及MO盤(其中每一個均可由計算機讀取)的記錄介質(zhì)中存儲所述程序。


圖1是表示根據(jù)本發(fā)明第一實施例的通信系統(tǒng)的配置的方框圖。
圖2是表示根據(jù)第一實施例的移動電話的硬件配置的方框圖。
圖3是表示根據(jù)第一實施例的移動電話中的非易失存儲器中存儲的類型指定表的數(shù)據(jù)結(jié)構(gòu)的圖。
圖4是對根據(jù)第一實施例的移動電話中的Java AP執(zhí)行環(huán)境進(jìn)行說明的圖。
圖5是對根據(jù)第一實施例的移動電話中的封裝對象進(jìn)行說明的圖。
圖6是例示根據(jù)第一實施例的移動電話中的非完全封裝對象的圖。
圖7是例示根據(jù)第一實施例的移動電話中的完全封裝對象的圖。
圖8是說明根據(jù)第一實施例的移動電話中的CPU執(zhí)行的對象生成處理的操作流程圖。
圖9是說明根據(jù)第一實施例的移動電話中的CPU執(zhí)行的訪問管理處理的流程圖。
圖10是說明根據(jù)第一實施例的移動電話中的CPU執(zhí)行的Java AP的結(jié)束操作的流程圖。
圖11是說明根據(jù)本發(fā)明的改進(jìn)6的對Java執(zhí)行環(huán)境的改進(jìn)的圖。
圖12是例示根據(jù)本發(fā)明的改進(jìn)的通信系統(tǒng)的改進(jìn)6的圖。
具體實施例方式
將參照附圖對本發(fā)明第一實施例進(jìn)行說明。在圖中同樣的標(biāo)號表示同樣的部件。
<1.通信系統(tǒng)的配置>
圖1是示出根據(jù)本發(fā)明第一實施例的通信系統(tǒng)1的配置的方框圖。如該圖所示,通信系統(tǒng)1包括內(nèi)容服務(wù)器10、因特網(wǎng)20、移動分組通信網(wǎng)絡(luò)30,以及移動電話40。一般地,在該通信系統(tǒng)1中存在多個移動電話40。然而,為了簡單起見,圖1中只示出了一部移動電話40。因為同樣的原因,圖1中只示出了一臺內(nèi)容服務(wù)器10、一臺網(wǎng)關(guān)服務(wù)器31,以及一個基站32。
內(nèi)容服務(wù)器10具有通過因特網(wǎng)20和移動分組通信網(wǎng)絡(luò)30來與移動電話40進(jìn)行分組通信的功能。在內(nèi)容服務(wù)器10中存儲了多種內(nèi)容,例如要提供給移動電話40的程序,或者圖像數(shù)據(jù)和音樂數(shù)據(jù)。這些內(nèi)容之一是可以在移動電話40中執(zhí)行的Java應(yīng)用程序(以下稱為“Java AP”)。該Java AP是用于移動電話40的一應(yīng)用程序,該應(yīng)用程序以Java編程語言(例如,Java Applet或者Java Application)編寫。
移動分組通信網(wǎng)絡(luò)30是用于向移動電話40提供分組通信服務(wù)的通信網(wǎng)絡(luò),并且具有網(wǎng)關(guān)服務(wù)器31和基站32。除了移動分組通信網(wǎng)絡(luò)30,通信系統(tǒng)1還具有移動通信網(wǎng)絡(luò)(未示出)。該移動通信網(wǎng)絡(luò)向移動電話40提供用于常規(guī)移動電話的通信服務(wù)。
網(wǎng)關(guān)服務(wù)器31解釋其通信協(xié)議不同(例如用于移動分組通信網(wǎng)絡(luò)30的通信協(xié)議和用于因特網(wǎng)20的通信協(xié)議)的數(shù)據(jù),并且在移動分組通信網(wǎng)絡(luò)30和因特網(wǎng)20之間中繼數(shù)據(jù)的發(fā)送和接收。另外,在移動分組通信網(wǎng)絡(luò)30的通信服務(wù)區(qū)域中存在多個基站32,并且基站32與在基站32覆蓋的無線小區(qū)中的現(xiàn)用移動電話40進(jìn)行無線通信。
此外,移動電話40與覆蓋現(xiàn)用移動電話40所處的一無線小區(qū)的基站32進(jìn)行無線通信。另外,移動電話40具有通過移動分組通信網(wǎng)絡(luò)30和因特網(wǎng)20與內(nèi)容服務(wù)器10進(jìn)行分組通信的功能,并且能夠從內(nèi)容服務(wù)器10下載內(nèi)容。
<2.移動電話的配置>
圖2是示出移動電話40的硬件配置的方框圖。如該圖所示,移動電話40具有無線通信單元401、操作輸入單元402、呼叫處理單元403、通信接口404、CPU 405、液晶顯示單元406,以及存儲單元407,它們通過總線411彼此相連。
無線通信單元401具有天線401a,并且控制與基站32的無線通信。通過在CPU 405的控制下將語音數(shù)據(jù)或分組通信數(shù)據(jù)疊加到一載波上,無線通信單元401生成一發(fā)送信號,并且將該信號發(fā)送到基站32。另外,無線通信單元401通過天線401a接收從基站32發(fā)送的無線信號,并且通過解調(diào)該信號而獲取用于移動電話40的語音數(shù)據(jù)和分組通信數(shù)據(jù)。
操作輸入單元402具有多個鍵,其用于輸入數(shù)字、字符、以及用于操作的指令等等,以及向CPU 405輸出對應(yīng)于鍵操作的操作信號。另外,處理單元403例如具有麥克風(fēng)、揚聲器以及語音處理單元等等,并且處理單元403在CPU 405的控制下執(zhí)行呼叫處理,包括呼叫連接/斷開。
通信接口404控制與通過通信電纜相連的電子設(shè)備的有線通信。該通信接口404可以是一種控制近距離無線通信的通信接口,近距離無線通信例如是紅外線通信、HomeRF(家庭射頻)或者藍(lán)牙。另外,CPU 405通過執(zhí)行存儲單元407中存儲的各種程序來對通過總線411連接的各個控制單元進(jìn)行控制。另外,液晶顯示單元406包括液晶顯示板和驅(qū)動電路,該驅(qū)動電路用于執(zhí)行該液晶顯示板的顯示控制。
存儲單元407包括ROM 408、RAM 409、諸如SRAM(靜態(tài)RAM)和EEPROM(電可擦除可編程ROM)的非易失存儲器410。在ROM 408中存儲有諸如用于移動電話40的操作系統(tǒng)(以下稱為“OS”)和Web(萬維網(wǎng))瀏覽器的軟件,或者用于構(gòu)造Java執(zhí)行環(huán)境的軟件。另外,RAM409被用作為CPU 405的工作區(qū)域,并且由CPU 405執(zhí)行的各種程序和數(shù)據(jù)臨時存儲在RAM 409中。
從移動電話40的發(fā)貨時間起,為移動電話40設(shè)計的程序就存儲在非易失存儲器410中。諸如從內(nèi)容服務(wù)器10下載的Java AP的內(nèi)容存儲在非易失存儲器410中。另外,非易失存儲器410中存儲有各種數(shù)據(jù),例如地址簿數(shù)據(jù)(其包括用于顯示電話號碼或者電子郵件地址的數(shù)據(jù))、接收的或者發(fā)送的電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)、用于顯示用戶的銀行帳號從而可以電子支付的數(shù)據(jù),以及用于顯示信用卡號的數(shù)據(jù)。
以下,將移動電話40發(fā)貨時存儲在ROM 408和非易失存儲器410中的程序稱為“本地應(yīng)用”,以與下載的Java AP相區(qū)分。授予本地應(yīng)用一標(biāo)識信息,表示該程序是本地應(yīng)用。
另外,非易失存儲器410包括類型指定表410a、JAR存儲器410b、個人便箋本410c,以及公共便箋本410d。首先將參照圖3說明類型指定表410a。如圖3所示,在類型指定表410a中登記有數(shù)據(jù)名稱和類型指定信息,這二者關(guān)于非易失存儲器410中存儲的數(shù)據(jù)而相互對應(yīng),所述數(shù)據(jù)例如是地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)以及用戶數(shù)據(jù),當(dāng)執(zhí)行下載的Java AP時該下載的Java AP可能要使用所述數(shù)據(jù)。類型指定信息是用于指定用于數(shù)據(jù)的對象類型是完全封裝對象還是非完全封裝對象的信息。上述的用戶數(shù)據(jù)是關(guān)于移動電話40的用戶的個人信息,例如,用戶的名字、年齡、生日、銀行帳號以及信用卡號。
如圖3所示,類型指定信息是1比特數(shù)據(jù),其信息值是1或者0。當(dāng)類型指定信息的值被設(shè)為1時,對象類型被指定為完全封裝對象,而當(dāng)類型指定信息的值被設(shè)為0時,對象類型被指定為非完全封裝對象。
封裝的對象是具有一個或更多個封裝數(shù)據(jù)(對信息進(jìn)行封裝)以及至少一種方法的對象,所述方法用于從外部對象來操作封裝數(shù)據(jù)。那么,完全封裝對象是其結(jié)構(gòu)不具有如下方法的對象對于該對象,該方法授權(quán)一執(zhí)行程序(例如,下載的Java應(yīng)用)對封裝數(shù)據(jù)的訪問。非完全封裝對象是被構(gòu)造為具有至少一種如下方法的對象對于該對象,該方法用于授權(quán)一執(zhí)行程序?qū)Ψ庋b數(shù)據(jù)的訪問。完全封裝對象和非完全封裝對象之間的不同在于對象是否具有授權(quán)一執(zhí)行程序訪問對象中的封裝數(shù)據(jù)的方法。
也就是說,圖3中的類型指定表410a表示每一項數(shù)據(jù)都被處理為完全封裝對象或者非完全封裝對象。例如,在圖3中,基于安全原因,在移動電話40中存儲的數(shù)據(jù)中,地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù),以及用戶數(shù)據(jù)是特別重要的數(shù)據(jù)。另一方面,移動電話40中下載的Java AP是不安全的程序。因此,盡管在移動電話40中下載有由惡意者生成的Java AP,也必須保護(hù)重要數(shù)據(jù),以使得不能從移動電話40的外部通過Java AP對其進(jìn)行訪問。
因此,重要數(shù)據(jù)被處理為完全封裝對象,并且必須拒絕所下載的JavaAP對數(shù)據(jù)的訪問?;谝陨显?,在圖3中的類型指定表410a中,將“1”(完全封裝對象)設(shè)置給地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)、以及用戶數(shù)據(jù),作為類型指定信息的值。
另外,在圖3的類型指定表410a中,內(nèi)容A和內(nèi)容B為諸如圖像數(shù)據(jù)或音樂數(shù)據(jù)(這二者都是從內(nèi)容服務(wù)器10下載的)的內(nèi)容。由內(nèi)容提供者向內(nèi)容提供版權(quán)保護(hù)標(biāo)志。版權(quán)保護(hù)標(biāo)志是1比特數(shù)據(jù),其標(biāo)志值為1或者0。當(dāng)版權(quán)保護(hù)標(biāo)志的值被設(shè)為1時,必須保護(hù)為之提供了標(biāo)志的內(nèi)容的版權(quán),而當(dāng)版權(quán)保護(hù)標(biāo)志的值被設(shè)為0時,必須放棄為之提供了標(biāo)志的內(nèi)容的版權(quán)。
考慮其版權(quán)必須得到保護(hù)的內(nèi)容,如果向下載的Java AP提供該內(nèi)容數(shù)據(jù),則Java AP可以以一種未經(jīng)內(nèi)容提供者授權(quán)的方式來使用所述內(nèi)容,或者通過Java AP將所述內(nèi)容傳送到移動電話40的外部。因此,內(nèi)容數(shù)據(jù)被處理為完全封裝對象,對所述內(nèi)容數(shù)據(jù)提供“1”作為版權(quán)保護(hù)標(biāo)志的值,并且必須拒絕所下載的Java AP對所述內(nèi)容數(shù)據(jù)的訪問?;谏鲜隼碛?,在類型指定表410a中,將“1”設(shè)置給內(nèi)容A作為類型指定信息的值。
另一方面,考慮為之提供了“0”的內(nèi)容數(shù)據(jù),因為放棄了其版權(quán),所以不必將該內(nèi)容數(shù)據(jù)處理為完全封裝對象。在這種情況下,-有必要授權(quán)所下載的Java AP對所述內(nèi)容數(shù)據(jù)的訪問,由此向Java AP提供更多的多樣性。因此,將“0”(非完全封裝對象)設(shè)置給內(nèi)容B作為類型指定信息的值。
此外,在類型指定表410a中,預(yù)先將“1”設(shè)置給地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)、以及用戶數(shù)據(jù),作為類型指定信息的值。另外,對于下載的內(nèi)容,當(dāng)往移動電話40下載內(nèi)容時,CPU405確定類型指定信息的值,該值對應(yīng)于提供給內(nèi)容的版權(quán)保護(hù)標(biāo)志的值。隨后,該類型指定信息和內(nèi)容標(biāo)識信息(數(shù)據(jù)名稱)一起被登記在類型指定表410a中。
此外,對于在移動電話40中生成的數(shù)據(jù),或者對于用戶使用PC生成的并且通過通信接口404下載到移動電話40的圖像數(shù)據(jù)和音樂數(shù)據(jù),用戶能夠通過輸入操作為該數(shù)據(jù)設(shè)置對象類型,所述對象類型為完全封裝類型或者非完全封裝類型。另外,通過輸入操作,用戶可以在液晶顯示器上顯示類型指定表410a的細(xì)節(jié),并且修改除設(shè)置有版權(quán)保護(hù)標(biāo)志的內(nèi)容數(shù)據(jù)之外的各數(shù)據(jù)項上的類型指定信息。
隨后,在圖2中,非易失存儲器410除了類型指定表410a,還包括JAR(Java檔案)存儲器410b、個人便箋本410c以及公共便箋本410d。在此,在個人便箋本410c和公共便箋本410d之前先說明要下載到移動電話40中的Java AP。Java AP包括作為Java AP的主程序的JAR文件,以及在Java AP的主程序的執(zhí)行過程中要一起使用的圖像文件和聲音文件,連同其中記錄了各種控制信息以用于安裝和啟動JAR文件并且控制網(wǎng)絡(luò)訪問的ADF(應(yīng)用描述文件)。
對于每個下載的Java AP,將用于Java AP的存儲區(qū)域安裝在JAR存儲器410b和個人便箋本410c中。用于Java AP的JAR文件存儲在JAR存儲器410b的各個存儲區(qū)域中。此外,例如,如果Java AP是游戲程序,則把根據(jù)Java AP的使用而為Java AP生成的數(shù)據(jù)(例如過去的成績數(shù)據(jù)或者存儲數(shù)據(jù)(save data))存儲在個人便箋本410c的各個存儲區(qū)域中。另外,將多個Java應(yīng)用程序共同使用的數(shù)據(jù)存儲在公共便箋本410d中。
另外,當(dāng)Java AP的下載完成后在移動電話40中執(zhí)行Java AP時,移動電話40能夠訪問的資源被限制為從其下載程序的內(nèi)容服務(wù)器10;分配給Java AP的存儲區(qū)域(JAR存儲器410b和個人便箋本410c);以及公共便箋本410d。但是移動電話40不被授權(quán)訪問其它資源。
<3.Java執(zhí)行環(huán)境>
圖4是說明移動電話40中Java AP的執(zhí)行環(huán)境的圖。在該圖中,移動電話40中存儲有用于構(gòu)造Java AP的執(zhí)行環(huán)境的軟件(KVM(K虛擬機)),一配置(CLDC(連接限制設(shè)備配置)),以及一框架(profile)(原本由電信運營商開發(fā)的原始擴展庫)。
另外,在移動電話40中安裝有J2ME(Java 2微型版),該J2ME包括原本由電信公司開發(fā)的原始擴展框架作為框架。
KVM是為小型電子設(shè)備重新設(shè)計的JVM(Java虛擬機),并且將作為Java AP執(zhí)行文件格式的字節(jié)碼轉(zhuǎn)換為CPU 405能夠通過OS來翻譯/執(zhí)行的指令碼。另外,CLDC類庫是用于CLDC的類庫。
原始擴展庫是一個類庫,其用于基于CLDC來提供為移動電話指定的功能。例如,在該原始擴展庫中包括用戶接口API(應(yīng)用程序接口)、網(wǎng)絡(luò)API、便箋本API、完全封裝API以及非完全封裝API等等。
在此,用戶接口API是用于支持移動電話40的用戶接口功能的API,而網(wǎng)絡(luò)API是用于支持對由URL(統(tǒng)一資源定位器)指定的網(wǎng)絡(luò)資源的訪問的API。另外,便箋本API是用于支持對個人便箋本410c和公共便箋本410d的數(shù)據(jù)寫入/讀出的API。此外,完全封裝API是用于生成完全封裝對象的API,而非完全封裝API是用于生成非完全封裝對象的API。
上述程序以多種方式安裝在移動電話40中。例如,從工廠出貨之前在移動電話中安裝了所述程序。另選地,所述程序是從網(wǎng)絡(luò)中的站點下載并安裝在移動電話中的,或者所述程序被下載到PC而不是移動電話。在這種情況下,所述程序被存儲在可由計算機讀取的存儲介質(zhì)(例如FD、CD以及MO盤)中,并且向用戶提供所述程序。隨后,用戶將所述程序安裝在PC中。
此外,除了CLDC類庫和原始擴展庫,移動電話40還具有制造者的原始擴展庫。該制造者的原始擴展庫是移動電話40的各制造者通過其來提供原始功能的類庫。
接下來,JAM(Java應(yīng)用管理器)具有以下功能在OS的控制下,處理下載在移動電話40中的Java AP、完全封裝對象以及非完全封裝對象等等。例如,Java具有如下功能更新和刪除Java AP的安裝、顯示非易失存儲器410中存儲的Java AP的列表、處理Java AP(例如,啟動和強制結(jié)束)、在Java AP的執(zhí)行過程中限制移動電話40的訪問,以及生成、更新和刪除完全封裝對象和非完全封裝對象。
另外,如圖4所示,直接在OS的控制下執(zhí)行本地應(yīng)用,所述本地應(yīng)用提供電話簿功能以及瀏覽器功能等等。
<4.封裝對象的配置>
接下來將說明封裝對象。圖5是說明一封裝對象的圖。如該圖所示,該封裝對象包括多于一個的封裝數(shù)據(jù)項,以及多于一種的用于從外部對象進(jìn)行各封裝數(shù)據(jù)項的可能操作的方法。
該對象是數(shù)據(jù)(Java編程語言中的“域”)和操作(Java編程語言中的“方法”)的集合。在Java編程語言中,訪問指示符“私有”用于私有域中存儲的數(shù)據(jù)的封裝,聲明在該對象中的各個域均為私有域。通過所述封裝來構(gòu)成封裝對象。
如該圖所示,示出了一封裝對象,其具有兩項數(shù)據(jù)數(shù)據(jù)1和數(shù)據(jù)2,以及兩種方法方法1和方法2。由于數(shù)據(jù)1和數(shù)據(jù)2被封裝在封裝對象中,所以不能從外部對象直接對數(shù)據(jù)1和數(shù)據(jù)2進(jìn)行讀取或者寫入。因此,當(dāng)下載的程序訪問封裝對象中的數(shù)據(jù)1和數(shù)據(jù)2時,該下載程序必須通過使用方法1和方法2來指示該封裝對象處理目標(biāo)數(shù)據(jù)1和數(shù)據(jù)2。
在該圖中,例如當(dāng)方法1是用于向下載程序提供指定數(shù)據(jù)的方法時,下載程序能夠通過使用方法1來獲取該封裝對象中的任選數(shù)據(jù)1和數(shù)據(jù)2。另外,例如當(dāng)該圖中的方法2是用于在液晶顯示器上顯示指定數(shù)據(jù)的方法時,下載程序能夠通過使用方法2來顯示該封裝對象中的任選數(shù)據(jù)1和數(shù)據(jù)2。重點在于已經(jīng)通過使用方法2在顯示器上顯示了封裝對象的任選數(shù)據(jù)1和數(shù)據(jù)2的程序,是通過使用方法2來指示該封裝對象顯示任選數(shù)據(jù)1和數(shù)據(jù)2的,即使該程序自身并不能獲得要顯示的數(shù)據(jù)。
更具體地說,對于不具有用于授權(quán)下載程序訪問數(shù)據(jù)的方法的封裝對象(完全封裝對象),下載的程序不能獲取存儲在該封裝對象中的數(shù)據(jù),但是能夠通過使用屬于該封裝對象的方法來控制存儲在該封裝對象中的數(shù)據(jù)。
由此,即使下載的程序是不安全的程序(例如,Java AP),當(dāng)將諸如地址簿數(shù)據(jù)或電子郵件數(shù)據(jù)的數(shù)據(jù)處理為完全封裝對象時,也不能由下載的程序訪問該數(shù)據(jù)。因此,移動電話40是安全的。另外,雖然基于安全原因,諸如地址簿數(shù)據(jù)或電子郵件數(shù)據(jù)的數(shù)據(jù)通常是不可訪問的,但是所述程序能夠通過使用屬于所述封裝對象的方法來處理(訪問)所述數(shù)據(jù)。
在本實施例中,如下數(shù)據(jù)被處理為完全封裝對象,對其設(shè)置數(shù)據(jù)“1”作為類型指定信息的值例如,出于安全原因的重要數(shù)據(jù),如地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)或者用戶數(shù)據(jù),以及必須保護(hù)其版權(quán)的內(nèi)容。另一方面,如下數(shù)據(jù)被處理為非完全封裝對象,對其設(shè)置數(shù)據(jù)“0”作為類型指定信息的值例如,其安全性不重要的數(shù)據(jù),或者其版權(quán)被放棄的內(nèi)容。另外,下載的Java AP被授權(quán)訪問完全封裝對象或者非完全封裝對象。
圖6是例示關(guān)于電話簿數(shù)據(jù)的非完全封裝對象的圖。在本實施例中,由于對于安全原因電話簿數(shù)據(jù)很重要,所以電話簿數(shù)據(jù)通常被處理為完全封裝對象。然而,為了對比,以下將說明電話簿數(shù)據(jù)被處理為非完全封裝對象的情況。
在Java編程語言中,對要存儲在私有域中的數(shù)據(jù)的封裝是通過由已知為“私有”的訪問限定詞將對象中的各個域聲明為私有域來執(zhí)行的。換句話說,該對象中的每個域均為私有域;不能從對象的外部讀取私有域中存儲的數(shù)據(jù)。在這種情況下,為了使執(zhí)行指令的程序能夠從外部對象訪問數(shù)據(jù),執(zhí)行指令的所述程序需要通過使用屬于對象的方法來指示該對象處理(訪問)各私有域中存儲的數(shù)據(jù)。
在該圖中,在非完全封裝對象中建有兩個私有域,并且在非完全封裝對象中存儲有電話簿的字符串?dāng)?shù)據(jù)“私有字符值[1]”和“私有字符值[2]”。另外,非完全封裝對象具有已知為“getBytes()”和“drawString()”的兩種方法。getBytes()是用于以字節(jié)數(shù)組的形式向執(zhí)行指令的程序提供對象中存儲的數(shù)據(jù)的方法。因此,下載的Java AP能夠通過使用該方法“getBytes()”,來獲取存儲在非完全封裝對象中的電話簿的字符串?dāng)?shù)據(jù)“私有字符值[1]”和“私有字符值[2]”。另外,Java AP能夠?qū)@取的存儲在非完全封裝對象中的電話簿的字符串?dāng)?shù)據(jù)傳送到內(nèi)容服務(wù)器10(執(zhí)行下載Java AP的服務(wù)器)。
另外,drawString()是用于在移動電話40的液晶顯示器上顯示存儲在對象中的數(shù)據(jù)的方法。Java AP能夠在移動電話40的液晶顯示器上顯示非完全封裝對象中存儲的電話簿的字符串?dāng)?shù)據(jù)(“私有字符值[1]”和“私有字符值[2]”)。
圖7是例示關(guān)于電話簿數(shù)據(jù)的完全封裝對象的圖。圖7中的完全封裝對象和圖6中的非完全封裝對象之間的區(qū)別在于完全封裝對象不具有用于授權(quán)執(zhí)行的程序訪問對象中存儲的數(shù)據(jù)的方法。
更具體地說,因為完全封裝對象是被“完全地”封裝,所以完全封裝對象不具有用于授權(quán)執(zhí)行的程序訪問對象中存儲的數(shù)據(jù)的方法。因此,下載的Java AP能夠通過使用已知為“drawString()”的方法來將存儲在非完全封裝對象中的電話簿的字符串?dāng)?shù)據(jù)(“私有字符值[1]”和“私有字符值[2]”)顯示在移動電話40的液晶顯示器上,但是不能獲取電話簿的字符串?dāng)?shù)據(jù)。因為上述原因,即使由惡意的第三者生成的Java AP(該JavaAP用于竊取數(shù)據(jù),或者電話簿數(shù)據(jù))被下載到移動電話40中,這種JavaAP也不能訪問所述數(shù)據(jù)。因此,不會將電話簿數(shù)據(jù)傳送到移動電話40的外部(例如,一服務(wù)器)。
通過使用方法“drawString()”來顯示存儲在對象中的電話簿的字符串?dāng)?shù)據(jù),完全封裝對象和非完全封裝對象通過使用存儲在ROM 408或非易失存儲器410中的顯示控制程序(該程序為本地應(yīng)用)來將電話簿的字符串?dāng)?shù)據(jù)顯示在液晶顯示器上。如果Java AP能夠通過使用所述顯示控制程序來獲取該顯示數(shù)據(jù),則使用完全封裝對象和非完全封裝對象沒有任何好處。
然而,當(dāng)執(zhí)行下載的Java AP時,由上述的JAM的訪問限制功能來限制在Java AP的執(zhí)行過程中移動電話40訪問資源。因為在Java AP的執(zhí)行過程中,移動電話40被授權(quán)訪問的資源中不包括顯示控制程序,所以Java AP不可能從顯示控制程序獲取顯示數(shù)據(jù)。
另外,似乎可行地,可以在編程語言層封裝對象,或者在可執(zhí)行代碼(機器語言或者字節(jié)碼)層封裝對象。然而,如果在編程語言層以完全方式封裝對象,則不能在可執(zhí)行代碼層同樣以完全方式封裝對象,因此數(shù)據(jù)并沒有以完全方式封裝。例如,一個使用C++(編程語言)的程序能夠生成具有私有域的封裝對象,但是所述使用C++的程序只能在編程語言層實現(xiàn)完全封裝。
更具體地說,當(dāng)所述使用C++的程序?qū)ο笾写鎯Φ拿總€域聲明為私有域并且生成封裝對象時,該程序沒有編譯用于直接讀取和寫入私有域中存儲的數(shù)據(jù)的源代碼。即,由于編譯錯誤沒有生成執(zhí)行代碼。
應(yīng)該注意,執(zhí)行代碼僅由編譯器確定。例如,惡意第三者能夠通過修改編譯器來生成用于直接讀取和寫入對象私有域中存儲的數(shù)據(jù)的可執(zhí)行代碼。而且,這樣的人能夠創(chuàng)建用于生成可執(zhí)行代碼的程序,所述可執(zhí)行代碼通過用戶輸入等類似方法來讀取對象中存儲的數(shù)據(jù)。并且,只要某人通過使用指針獲得對存儲器的直接訪問,就可以獲取對象中存儲的數(shù)據(jù)。
另一方面,對于Java,使用Java字節(jié)碼來編譯被聲明為私有域的域,所述Java字節(jié)碼表示該域具有私有性。即使KVM把類文件擴展至RAM409,該域仍保持私有性。因此,如果第三者通過修改編譯器來生成用于讀取存儲在對象私有域中的數(shù)據(jù)的字節(jié)碼,則KVM或JAM將檢測到該碼的生成,由此該第三者不能獲取對象中存儲的數(shù)據(jù)。另外,Java不支持指針,因此,惡意第三者不能通過用指針獲得對存儲器的直接訪問從而獲取對象中存儲的數(shù)據(jù)。
基于上述原因,在Java中,在字節(jié)碼層并且在編程語言層以完全方式封裝對象。對于數(shù)據(jù)封裝,除了“私有”,還使用諸如“受保護(hù)(protected)”或者“包裝(package)”的訪問標(biāo)識符。
以上說明了根據(jù)本實施例的通信系統(tǒng)1的配置。
接著將說明本實施例的操作。
作如下假設(shè)移動電話40通過移動分組通信網(wǎng)絡(luò)30和因特網(wǎng)20來與內(nèi)容服務(wù)器10進(jìn)行分組通信,從內(nèi)容服務(wù)器10下載Java AP并且將其存儲在非易失存儲器410中。另外,假設(shè)除了下載的Java AP(內(nèi)容),非易失存儲器410中還存儲有地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)以及用戶數(shù)據(jù),并且用于上述數(shù)據(jù)的類型指定信息登記在類型指定表410a中。
另外,在類型指定表410a中,預(yù)先將“1”設(shè)置給地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)、以及用戶數(shù)據(jù),作為類型指定信息的值。此外,對于下載的內(nèi)容,當(dāng)內(nèi)容被下載到移動電話40中時,由CPU 405來確定類型指定信息的值,該值對應(yīng)于提供給內(nèi)容的版權(quán)保護(hù)標(biāo)志的值。隨后,在類型指定表410a中登記類型指定信息和內(nèi)容名稱。
<1.對象生成處理>
將參照圖8說明移動電話40中CPU 405執(zhí)行的對象生成處理。作為一個JAM功能,對象生成處理是由CPU 405執(zhí)行的,并且,例如,當(dāng)由操作輸入從顯示在顯示器上的程序列表中指定要執(zhí)行的程序時執(zhí)行對象生成處理。指示要執(zhí)行程序的實施例不限于操作輸入;例如,當(dāng)在預(yù)定的時間指示執(zhí)行程序時,當(dāng)由已經(jīng)被執(zhí)行的其它程序指示執(zhí)行程序時,或者當(dāng)從移動電話40的外部通過電子郵件等指示執(zhí)行程序時。
如圖8所示,移動電話40中的CPU 405通過一輸入操作來指定一指定的程序作為待執(zhí)行程序(步驟S101)。然后,CPU 405確定該指定的程序是下載的Java AP還是本地應(yīng)用(步驟S102)。如前所述,為本地應(yīng)用提供了用于表示一程序是本地應(yīng)用的標(biāo)識信息。因此,CPU 405通過確定是否向一程序提供了上述標(biāo)識信息,從而確定一程序是下載的Java AP還是本地應(yīng)用。
結(jié)果,如果CPU 405確定所述程序為本地應(yīng)用(步驟S102否),則CPU 405結(jié)束對象生成處理,并將該指定的本地應(yīng)用作為要執(zhí)行的程序啟動其執(zhí)行。然后,CPU 405根據(jù)被執(zhí)行的本地應(yīng)用來進(jìn)行處理。
在這種情況下,當(dāng)要執(zhí)行的程序是本地應(yīng)用時,不必使用完全封裝對象或者非完全封裝對象,或在本地應(yīng)用的執(zhí)行過程中處理JAM的訪問限制功能。從而,當(dāng)執(zhí)行本地應(yīng)用時,不執(zhí)行由JAM進(jìn)行的訪問限制。因此,本地應(yīng)用能夠訪問移動電話40中存儲的任選資源,或者網(wǎng)絡(luò)上的任選資源。
另一方面,當(dāng)CPU 405確定所述程序是下載的Java AP(步驟S102是)時,CPU 405例如通過分析Java AP的程序內(nèi)容,從非易失存儲器410里存儲的多種數(shù)據(jù)中指定Java AP的執(zhí)行過程中要使用的數(shù)據(jù)(步驟S103)。另外,CPU 405指定與要使用的數(shù)據(jù)一起被封裝的方法。當(dāng)JavaAP指定要使用的數(shù)據(jù)時,因為存儲在JAR文件中的數(shù)據(jù)是內(nèi)容提供者準(zhǔn)備的數(shù)據(jù),其用于作為執(zhí)行Java AP所必需的數(shù)據(jù)而提供給Java AP,所以將Java AP的JAR文件中存儲的數(shù)據(jù)作為未被指定的數(shù)據(jù)而排除。
隨后,CPU 405通過參照類型指定表410a(圖3),根據(jù)上述指定數(shù)據(jù)的類型指定信息的值來確定用于處理所述指定數(shù)據(jù)的對象類型是“完全封裝對象”還是“非完全封裝對象”(步驟S104)。例如,如果Java AP使用地址簿數(shù)據(jù),則CPU 405查閱類型指定表410a并且確定用于管理地址簿數(shù)據(jù)的對象類型是“完全封裝對象”,另外,如果Java AP使用內(nèi)容B(版權(quán)保護(hù)標(biāo)志為“0”),則CPU 405確定用于管理內(nèi)容B的對象類型是“非完全封裝對象”。
CPU 405基于在步驟S103指定的數(shù)據(jù)以及在步驟S104確定的對象類型,來產(chǎn)生完全封裝對象或者非完全封裝對象(步驟S105)。例如,對于在步驟S103指定地址簿數(shù)據(jù)(類型指定信息“1”)的情況,CPU 405啟動原始擴展庫中的完全封裝API。完全封裝API選擇一方法,該方法是在指定數(shù)據(jù)時從完全封裝API中存儲的方法中指定的。隨后,CPU 405封裝數(shù)據(jù)和方法,并為地址簿數(shù)據(jù)生成完全封裝對象。此外,對于在步驟S103指定內(nèi)容B的情況,CPU 405啟動原始擴展庫中的非完全封裝API,并且啟動內(nèi)容B的非完全封裝對象。
然后,CPU 405在公共便箋本410d中存儲對象(產(chǎn)生的完全封裝對象或者產(chǎn)生的非完全封裝對象)(步驟S106),并且結(jié)束對象生成處理。在步驟S105生成的完全封裝對象或者非完全封裝對象可以存儲在個人便箋本410c中。
此外,對于在步驟S103指定Java AP使用的多個數(shù)據(jù)的情況,CPU405為每個指定數(shù)據(jù)重復(fù)從S104到S106的處理,從而為每個指定數(shù)據(jù)生成一完全封裝對象或者一非完全封裝對象,并且將這些對象存儲在公共便箋本410d中。隨后,在結(jié)束對象生成處理之后,CPU 405啟動被指定為可執(zhí)行程序的Java AP,并且根據(jù)所述程序開始處理。
<2.訪問管理處理>
接下來,將參照圖9說明移動電話40的CPU執(zhí)行的訪問管理處理。作為一個JAM功能,該訪問管理處理是由CPU 405執(zhí)行的,并且當(dāng)下載的Java AP的執(zhí)行過程中產(chǎn)生了訪問請求時作為中斷處理來執(zhí)行訪問管理處理。
如圖9所示,移動電話40中的CPU 405區(qū)分所請求的訪問點是否位于預(yù)授權(quán)資源的范圍之內(nèi),并且確定(對資源的)訪問是否被授權(quán)(步驟S201)。為確定訪問的授權(quán)情況,當(dāng)執(zhí)行下載的Java AP時,CPU 405將Java AP的執(zhí)行過程中的可訪問資源限定為以下內(nèi)容服務(wù)器10,其下載由寫入Java AP的ADF中的URL所指定的Java AP;分配給Java AP的JAR存儲器410b;個人便箋本410c中的存儲區(qū)域;以及公共便箋本410d。
因此,在請求的訪問點是上述資源中的任何一個或多個的情況下,CPU 405授權(quán)訪問。然而,如果請求的訪問點不在上述資源之中,則CPU405不授權(quán)訪問。
接下來,CPU 405通知請求下載訪問的Java AP該訪問是否被授權(quán)(步驟S202),并且結(jié)束訪問管理處理。另外,當(dāng)執(zhí)行中的Java AP接收到由JAM執(zhí)行的授權(quán)結(jié)果時,當(dāng)訪問被授權(quán)時則Java AP根據(jù)訪問請求來執(zhí)行處理;然而,當(dāng)訪問不被授權(quán)時Java AP根據(jù)訪問請求而取消處理。
當(dāng)移動電話40中的CPU 405執(zhí)行下載的Java AP時,CPU 405在執(zhí)行圖8所示的對象生成處理之后啟動Java AP。另外,在下載的Java AP的執(zhí)行過程中,CPU 405執(zhí)行圖9所示的訪問管理處理。因此,在下載的Java AP的執(zhí)行過程中,總是對移動電話40的資源訪問進(jìn)行限制。例如,移動電話40不能訪問地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)、用戶數(shù)據(jù)以及其它諸如內(nèi)容的數(shù)據(jù),這些數(shù)據(jù)中的每一個都存儲在非易失存儲器410中。
基于上述原因,移動電話40中的CPU 405在對象生成處理的過程中指定要啟動的Java AP所要使用的數(shù)據(jù),為指定的數(shù)據(jù)生成完全封裝對象或者非完全封裝對象,并將其存儲在公共便箋本410d中。如上所述,即使訪問受到JAM的限制,公共便箋本410d也是移動電話40被授權(quán)訪問的資源。下載到移動電話40中的Java AP是以如下方式生成的Java AP訪問完全封裝對象或者非完全封裝對象(這二者都存儲在公共便箋本410d中),并且通過使用屬于所述對象的方法來指示該對象處理該對象中的數(shù)據(jù)。
例如,當(dāng)生成了使用地址簿數(shù)據(jù)的Java AP時,由上述的對象生成處理生成用于地址簿數(shù)據(jù)的完全封裝對象,并且完全封裝對象存儲在公共便箋本410d中。另外,Java AP通過使用屬于所生成的用于地址簿數(shù)據(jù)的完全封裝對象的方法來指示該對象處理該對象中的數(shù)據(jù)。因此,在顯示器上顯示一部分屬于完全封裝對象的地址簿數(shù)據(jù),但是Java AP不能訪問屬于完全封裝對象的數(shù)據(jù)。
在現(xiàn)有技術(shù)中,Java AP不能訪問地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)以及用戶數(shù)據(jù)等等,以確保數(shù)據(jù)對于下載的Java AP的安全。相反地,根據(jù)本發(fā)明,由于通過使用完全封裝對象從而Java AP不能訪問數(shù)據(jù),故可以保證關(guān)于下載的Java AP的安全,并且可以通過完全封裝對象來顯示尚未被授權(quán)訪問的數(shù)據(jù)。因此,在本發(fā)明中,下載的Java AP能夠執(zhí)行移動電話40中的多種功能。即,豐富了Java AP的功能。
另外,當(dāng)啟動內(nèi)容(其版權(quán)被放棄的內(nèi)容)和Java AP(使用對于安全原因不重要,或者被設(shè)置“0”作為類型指定信息的數(shù)據(jù)的Java AP)時,生成非完全封裝對象并將其存儲在公共便箋本410d中。和完全封裝對象的情況不同,在這種情況下,Java AP可以訪問屬于非完全封裝對象的數(shù)據(jù)。
也就是說,即使下載的Java AP是不安全的程序,對于其版權(quán)被放棄的數(shù)據(jù),或者對于安全原因不重要的數(shù)據(jù),通過將這種數(shù)據(jù)處理為非完全封裝對象,數(shù)據(jù)仍被授權(quán)為可以由Java AP訪問。很明顯,當(dāng)數(shù)據(jù)被授權(quán)為可以由Java AP訪問時,可以提高Java AP的多樣性。和僅使用完全封裝對象相比,通過根據(jù)數(shù)據(jù)安全的重要性或內(nèi)容版權(quán)保護(hù)的必要性來依據(jù)不同情況使用完全封裝對象和非完全封裝對象,進(jìn)一步提高了Java AP的多樣性。
<3.Java AP結(jié)束處理>
接下來,將參照圖10說明移動電話40中的CPU 405執(zhí)行的Java AP結(jié)束處理。作為一個JAM功能,該Java AP結(jié)束處理由CPU 405執(zhí)行,并且當(dāng)產(chǎn)生了Java AP的執(zhí)行結(jié)束請求時作為中斷處理執(zhí)行Java AP結(jié)束處理。
如圖10所示,當(dāng)產(chǎn)生Java AP結(jié)束請求時,移動電話40中的CPU 405刪除公共便箋本410d中存儲的完全封裝對象和非完全封裝對象(步驟S301)。在步驟S301刪除的完全封裝對象和非完全封裝對象是在Java AP啟動過程中的對象生成處理(參見圖8)中生成的,并且存儲在公共便箋本410d中。在從公共便箋本410d刪除以上對象之后,CPU 405結(jié)束JavaAP結(jié)束處理。
此外,通過以下手段確保了移動電話40中的存儲資源的有效利用在啟動下載的Java AP時生成完全封裝對象和非完全封裝對象并將這些對象存儲在公共便箋本410d中;并且在結(jié)束下載Java AP的執(zhí)行時從公共便箋本410d中刪除完全封裝對象和非完全封裝對象,因為不必一直將這些對象存儲在公共便箋本410d中。
另外,移動電話40根據(jù)存儲在ROM 408或者非易失存儲器410中的程序來執(zhí)行關(guān)于本發(fā)明的處理(對象生成處理、訪問管理處理、Java AP結(jié)束處理),但是也可以通過通信來向移動電話40提供用于執(zhí)行上述處理的程序。此外,可以通過使用記錄介質(zhì)(例如光學(xué)記錄介質(zhì)、磁盤記錄介質(zhì)以及半導(dǎo)體存儲器)來向移動電話40提供用于執(zhí)行上述處理的程序,但是對于通過記錄介質(zhì)向移動電話40提供程序的情況,必須有用于從記錄介質(zhì)讀出程序的記錄介質(zhì)驅(qū)動。
<B.改進(jìn)>
雖然已經(jīng)參照目前最為人所知的操作和實施例的模式來對本發(fā)明進(jìn)行了說明,但是本發(fā)明的其它模式、實施例以及優(yōu)點對于本領(lǐng)域技術(shù)人員是很明顯的,并在此對其進(jìn)行考慮。雖然本領(lǐng)域技術(shù)人員將認(rèn)識到可以對本發(fā)明其它實施例進(jìn)行預(yù)料,但是以下的權(quán)利要求定義了本發(fā)明的廣闊范圍。另外,本發(fā)明可以具有下列改進(jìn)。
<改進(jìn)1>
在以上實施例中,對使用完全封裝對象或非完全封裝對象的情況進(jìn)行了說明,然而,可以說明僅使用完全封裝對象的情況。也就是說,可以將下載的Java AP要使用的數(shù)據(jù)處理為完全封裝的對象。在這種情況下,類型指定信息不必要。另外,在以上實施例中使用類型指定信息表410a;然而,如果向地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)以及內(nèi)容提供類型指定信息,則類型指定信息表410a不必要。
<改進(jìn)2>
在以上實施例中,在指示執(zhí)行下載的Java AP時,生成完全封裝對象或非完全封裝對象,然而,生成完全封裝對象和非完全封裝對象的時間不僅僅限于指示執(zhí)行Java AP的時間。
例如,在啟動移動電話40時,可以參照類型指定信息表410a生成用于數(shù)據(jù)的完全封裝對象或用于數(shù)據(jù)的非完全封裝對象。在這種情況下,當(dāng)更新原始數(shù)據(jù)(例如地址簿數(shù)據(jù)、電子郵件數(shù)據(jù)、收到的和發(fā)出的呼叫數(shù)據(jù)以及用戶數(shù)據(jù))時,需要根據(jù)更新細(xì)節(jié)來更新完全封裝對象或非完全封裝對象中的數(shù)據(jù),所述完全封裝對象和非完全封裝對象都存儲在公共便箋本410d中。
因此,為了在啟動移動電話40時執(zhí)行用于數(shù)據(jù)的完全封裝對象或非完全封裝對象的生成處理,必須根據(jù)原始數(shù)據(jù)的更新細(xì)節(jié)向API提供原始擴展庫,所述API用于更新對象中的封裝數(shù)據(jù)。另外,當(dāng)在公共便箋本410d中連續(xù)地存儲完全封裝對象或者非完全封裝對象時,很明顯,不必根據(jù)執(zhí)行Java AP的結(jié)束而從公共便箋本410d刪除完全封裝對象或非完全封裝對象。
<改進(jìn)3>
在上述實施例中,還可以向數(shù)據(jù)提供安全級信息,所述安全級信息用于表示安全的重要性,從“1”(重要性“高”)到“5”(重要性“低”),并且將屬于“1”到“3”的安全級信息的數(shù)據(jù)處理為完全封裝對象,而將屬于“4”到“5”的安全級信息的數(shù)據(jù)處理為非完全封裝對象。
<改進(jìn)4>
關(guān)于下載到移動電話40的Java AP,如果Java AP被第三方(例如經(jīng)營移動分組通信網(wǎng)絡(luò)30的電信公司,或者CA(認(rèn)證機構(gòu)))判定并授權(quán)為符合某些標(biāo)準(zhǔn)的程序,則將Java AP和本地應(yīng)用一樣認(rèn)為是安全的程序。
因此,如果Java AP被第三方授權(quán),則即使下載的Java AP也可以直接從非易失存儲器410獲取要使用的數(shù)據(jù)。當(dāng)然,向由第三方授權(quán)的JavaAP提供標(biāo)識信息,所述標(biāo)識信息用于表示該Java AP是由第三方授權(quán)的程序。即,在移動電話40中,為了確定下載的J移動分組Java AP是否為由第三方授權(quán)的程序,有必要檢查是否向下載的Java AP提供了標(biāo)識信息。
<改進(jìn)5>
在以上實施例中,被配置為內(nèi)容服務(wù)器10與因特網(wǎng)20相連。然而,也可以將其配置為內(nèi)容服務(wù)器10通過專用線直接與移動分組通信網(wǎng)絡(luò)30中的網(wǎng)關(guān)服務(wù)器31相連。此外,將其配置為網(wǎng)關(guān)服務(wù)器31具有內(nèi)容服務(wù)器10的功能。另外,將其配置為將內(nèi)容服務(wù)器10安裝在移動分組通信網(wǎng)絡(luò)30中。
<改進(jìn)6>
在以上實施例中,如圖11的陰影所示,對將本發(fā)明應(yīng)用于如下的移動電話40的情況進(jìn)行了說明該移動電話40包括KVM和J2ME,其中J2ME具有作為配置的CLDC、以及原始Java擴展框架。然而,Java執(zhí)行環(huán)境不僅僅限于KVM和J2ME的組合。另外,本發(fā)明中使用的通信設(shè)備不限于移動電話。
例如,如該圖所示,可以使用MIDP(移動信息設(shè)備框架)代替原始Java擴展框架來作為J2ME框架。另外,可以在該配置中使用JVM代替KVM,使用CDC(連接設(shè)備配置)代替CLDC作為用于J2ME的配置。而且,可以在該配置中使用以下來作為用于J2ME的框架用于配置有液晶顯示器的電話的框架、用于TV的框架,以及用于汽車導(dǎo)航系統(tǒng)的框架等等。另外,可以在該配置中使用HotSpot、J2SE(Java 2標(biāo)準(zhǔn)版)或者J2EE(Java 2企業(yè)版)。
另外,如同從上述的Java執(zhí)行環(huán)境的改進(jìn)可以明顯看出的,可以將本發(fā)明應(yīng)用于各種具有通信功能的電子設(shè)備,例如PHS(個人手提系統(tǒng))、PDA(個人數(shù)字助理)、汽車導(dǎo)航設(shè)備或者個人計算機。此外,本發(fā)明不限于移動分組通信網(wǎng)絡(luò)30中存儲的通信設(shè)備。例如,本發(fā)明可以用于圖12所示的通信系統(tǒng)2中的個人計算機70A、70B以及70C。
另外,在以上實施例中,對使用以Java編程語言編寫的Java AP的情況進(jìn)行了說明;然而,編程語言不限于Java。
<改進(jìn)7>
此外,在以上實施例中,例示了關(guān)于電話簿數(shù)據(jù)的完全封裝對象。然而,方法和數(shù)據(jù)(二者都屬于完全封裝對象)不限于電話簿數(shù)據(jù)。可以使用一方法用于顯示圖像或者運動數(shù)據(jù),例如靜止圖像、3D圖像、運動圖片以及Macromedia Flash。另外,可以使用一方法用于在移動電話40的播放單元中播放聲音或者音樂數(shù)據(jù)。
<本發(fā)明的效果>
如上所述,本發(fā)明使得可以保證通信設(shè)備中接收的程序的安全,并且與現(xiàn)有技術(shù)相比豐富了通信設(shè)備中接收的程序所使用的功能。
權(quán)利要求
1.一種通信設(shè)備,包括接收裝置,用于接收程序;指定裝置,用于從存儲在通信設(shè)備內(nèi)的數(shù)據(jù)中指定當(dāng)執(zhí)行由所述接收裝置接收的程序時要使用的數(shù)據(jù);第一生成裝置,用于生成一完全封裝的對象,該對象具有從外部對象來處理封裝數(shù)據(jù)的方法,該對象具有由所述指定裝置指定的封裝數(shù)據(jù),并且該方法拒絕由所述接收裝置接收到的所述執(zhí)行程序?qū)λ龇庋b數(shù)據(jù)的訪問;訪問控制裝置,用于當(dāng)執(zhí)行由所述接收裝置接收的程序時,限制可訪問的資源、禁止對由所述指定裝置從存儲在通信設(shè)備里的數(shù)據(jù)中指定的數(shù)據(jù)的訪問,但是授權(quán)對所述第一生成裝置生成的所述完全封裝對象的訪問。
2.根據(jù)權(quán)利要求1所述的通信設(shè)備,其中,所述通信設(shè)備包括第二生成裝置,用于生成一非完全封裝對象,該對象具有從外部對象來處理封裝數(shù)據(jù)的至少一種或者多于一種的方法,該對象具有由所述指定裝置指定的封裝數(shù)據(jù),并且該方法拒絕由所述接收裝置接收到的所述執(zhí)行程序?qū)λ龇庋b數(shù)據(jù)的訪問;保護(hù)信息存儲裝置,用于存儲保護(hù)信息,該保護(hù)信息表示數(shù)據(jù)保護(hù)是否為必要;以及確定裝置,用于確定一對象是由所述第一生成裝置生成的還是由所述第二生成裝置生成的,該對象具有所述封裝數(shù)據(jù)和一種方法,該方法用于根據(jù)存儲在所述保護(hù)信息存儲裝置中的所述保護(hù)信息來處理所述封裝數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,當(dāng)與所述指定裝置指定的數(shù)據(jù)相關(guān)的所述保護(hù)信息表示所述數(shù)據(jù)保護(hù)為必要時,所述確定裝置確定一對象是由所述第一生成裝置生成的,但是當(dāng)所述保護(hù)信息表示所述數(shù)據(jù)保護(hù)不必要時,所述確定裝置確定一對象是由所述第二生成裝置生成的。
4.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,在執(zhí)行由所述接收裝置接收的所述程序時,所述指定裝置從通信設(shè)備內(nèi)存儲的數(shù)據(jù)中指定要使用的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的通信設(shè)備,其中,所述通信設(shè)備進(jìn)一步包括刪除裝置,其用于與所述程序的結(jié)束一致地刪除由所述第一生成裝置或者所述第二生成裝置所生成的對象。
6.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,所述通信設(shè)備包括安全級存儲裝置,其用于存儲表示通信設(shè)備中存儲的數(shù)據(jù)的安全級的信息;以及控制裝置,其用于在所述安全級存儲裝置中存儲的數(shù)據(jù)的安全級為高的情況下存儲表示數(shù)據(jù)保護(hù)為必要的信息,而在所述安全級存儲裝置中存儲的數(shù)據(jù)的安全級為低的情況下存儲表示數(shù)據(jù)保護(hù)不必要的信息。
7.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,所述通信設(shè)備還包括版權(quán)信息存儲裝置,其用于存儲表示通信設(shè)備中存儲的數(shù)據(jù)需要保護(hù)的信息;以及控制裝置,其用于在所述版權(quán)信息存儲裝置中存儲有表示數(shù)據(jù)需要保護(hù)的信息的情況下,在所述保護(hù)信息存儲裝置中存儲表示數(shù)據(jù)保護(hù)為必要的信息,而在所述版權(quán)信息存儲裝置中存儲有表示不用保護(hù)數(shù)據(jù)的信息的情況下,在所述保護(hù)信息存儲裝置中存儲表示數(shù)據(jù)保護(hù)不必要的信息。
8.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,所述通信設(shè)備進(jìn)一步包括設(shè)置裝置,其用于根據(jù)來自用戶的指示在所述保護(hù)信息存儲裝置中存儲所述保護(hù)信息。
9.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中,所述通信設(shè)備進(jìn)一步包括更新裝置,其用于根據(jù)在通信設(shè)備內(nèi)存儲的數(shù)據(jù)之中的由所述指定裝置指定的數(shù)據(jù)被更新的事實,來更新所述生成裝置生成的對象中的封裝數(shù)據(jù)。
10.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中所述程序是以Java編程語言編寫的程序,并且該通信設(shè)備包括用于執(zhí)行所述程序的Java執(zhí)行環(huán)境。
11.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中屬于所述完全封裝對象的方法是用于在通信設(shè)備的顯示單元上顯示字符串?dāng)?shù)據(jù)的方法。
12.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中屬于所述完全封裝對象的方法是用于在通信設(shè)備的播放單元上播放聲音數(shù)據(jù)的方法。
13.根據(jù)權(quán)利要求2所述的通信設(shè)備,其中屬于所述完全封裝對象的方法是用于在通信設(shè)備的顯示單元上顯示圖像數(shù)據(jù)的方法。
全文摘要
對于存儲在移動電話(40)中并且其安全級為高的數(shù)據(jù),以及其版權(quán)受保護(hù)的內(nèi)容,移動電話(40)對數(shù)據(jù)和內(nèi)容進(jìn)行封裝,并且包括封裝的數(shù)據(jù)或封裝的內(nèi)容。另外,移動電話(40)將封裝的數(shù)據(jù)處理為完全封裝對象,該對象僅僅使用一種不授權(quán)一執(zhí)行的程序(例如,下載的Java應(yīng)用)對封裝數(shù)據(jù)的訪問的方法。下載到移動電話(40)的Java AP通過使用屬于一完全封裝對象的方法,來指示該完全封裝對象處理該完全封裝對象中的封裝數(shù)據(jù)。因此,本發(fā)明使得可以為通過網(wǎng)絡(luò)提供的程序保證安全性而不喪失程序的多樣性。
文檔編號G06F21/00GK1650273SQ0380970
公開日2005年8月3日 申請日期2003年5月16日 優(yōu)先權(quán)日2002年5月17日
發(fā)明者神谷大, 山田和宏, 鷲見豐 申請人:株式會社Ntt都科摩
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1