專利名稱:改變無線網(wǎng)絡(luò)中模塊終端的功能性的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及業(yè)務(wù)的提供,并具體涉及在無線網(wǎng)絡(luò)中向手持或便攜式終端提供業(yè)務(wù)。
對用于各種目的的移動電話的使用正在增加。許多新類型的移動或便攜式終端得到了推廣,例如智能電話、通信便箋、個人數(shù)字助理、智能尋呼機等等。帶有增加的新功能的終端正在被不斷地開發(fā)出來。但是,對現(xiàn)有移動終端的功能進(jìn)行升級的可能性受到了現(xiàn)有技術(shù)的限制。
因此,存在這樣的希望,即能夠增加現(xiàn)有便攜式終端的功能并調(diào)整該功能以符合用戶的需要。對便攜式終端的總體要求是盡可能的小和輕巧。這限制了可用的存儲器空間,也限制了處理速度和能力。其它因素,例如有限的電池容量以及對冷卻的需要也是必須考慮到的。
當(dāng)前便攜式設(shè)備的發(fā)展是試圖把系統(tǒng)的智能放在便攜式設(shè)備本身中而不是放在服務(wù)器中,其目的是使用戶的交互更快并且減少傳遞信息和功能所需的帶寬。但是,在不致太多地增加便攜式設(shè)備的尺寸和重量的情況下能夠容納在便攜式設(shè)備中的存儲器數(shù)量和處理器容量是有限的。因此,在設(shè)計移動終端時,在終端的功能性需要和它的尺寸和重量等之間必須找到一個平衡點。在確定什么存儲在移動終端中而什么存儲在網(wǎng)絡(luò)的節(jié)點中時,在便攜式終端所需要的處理器容量和存儲器空間與在網(wǎng)絡(luò)和便攜式終端間傳輸程序及/或信息所需的帶寬之間也必須找到平衡點。
此外,存在著大量不同的終端類型,它們使用不同的硬件和軟件平臺。因此,希望程序要能在若干不同的平臺上都是可執(zhí)行的。
本發(fā)明的一個目的是使得與正??赡艿那闆r相比,在便攜式設(shè)備中相對于該便攜式設(shè)備的處理器能力和存儲器空間能夠去執(zhí)行更加先進(jìn)或更加需要的程序。
本發(fā)明的一個目的是允許程序能在一個具有有限的處理器能力及/或存儲器空間的小型設(shè)備中執(zhí)行而又不降低處理速度。
本發(fā)明的另一個目的是能夠在不同類型的手持設(shè)備中,尤其是適合用于蜂窩網(wǎng)絡(luò)的手持設(shè)備中,增加新的功能、使功能升級、或完全置換功能包。
本發(fā)明還有一個目的是能夠執(zhí)行不必永久地存儲在終端中的程序。
按照本發(fā)明,這些目的是通過改變網(wǎng)絡(luò)中經(jīng)無線連接而聯(lián)系的移動終端的功能性的一種方法而達(dá)到的,所說的功能性是由同一種編程語言寫成的程序而實現(xiàn)的,它的源代碼可以編譯成一種中間代碼,所說的中間代碼是可執(zhí)行和可驗證的,該方法包括下列步驟-利用與至少一種終端類型的硬件和軟件環(huán)境相關(guān)的至少一種翻譯程序?qū)⑸鲜龅某绦蚍g成機器代碼;-將該翻譯后的程序下載到上述的移動終端。
這些目標(biāo)也通過用于在包括多個主機和若干不同類型的終端的網(wǎng)絡(luò)中提供程序的一種設(shè)備來完成,至少某些上述終端是由無線連接而聯(lián)系的,上述程序是用一種編程語言實現(xiàn)的,它的源代碼可以編譯成一種中間代碼,所說的中間代碼是可執(zhí)行和可驗證的,并可解釋或翻譯成為機器代碼所述的設(shè)備包括-用于存儲機器代碼形式的程序的存儲器裝置,所述存儲的方式應(yīng)使得程序可以在網(wǎng)絡(luò)中的至少一種類型的客戶終端中執(zhí)行,-用于轉(zhuǎn)移程序到至少一個客戶終端的裝置,所述程序為機器代碼的形式。
按照優(yōu)選實施例,上述設(shè)備還包括至少一個用于中間代碼的翻譯程序,所說的翻譯程序適應(yīng)于由網(wǎng)絡(luò)中的終端所使用的至少一種硬件和軟件環(huán)境。
按照這個實施例,該方法還包括在存儲程序之前,使用在主機中的至少一個翻譯程序翻譯所說的程序的步驟。
程序可以自動地或根據(jù)來自終端用戶的請求而下載到終端上。
該方法對于蜂窩電信網(wǎng)絡(luò)中的便攜式終端是特別有用的。
按照優(yōu)選實施例,要下載到終端去的合適的程序變體是在終端類型的基礎(chǔ)上確定的,例如,在終端的識別碼的基礎(chǔ)上確定。
這些目的也是通過適用于無線通信的一種便攜式終端來實現(xiàn)的,該終端含有一個內(nèi)核,被設(shè)計成接收機器代碼形式的程序及/或程序部分,并在操作中安裝所收到的程序。
該便攜式終端可以設(shè)計成向用戶提供有關(guān)可利用的程序的相關(guān)樹的信息。
該便攜式終端還可以設(shè)計成向網(wǎng)絡(luò)中的適當(dāng)節(jié)點通報它的類型和它目前正在運行的預(yù)約類型,以及其它信息,例如當(dāng)前它的電池狀態(tài)。
按照優(yōu)選實施例,按照本發(fā)明的便攜式終端還接收并解釋關(guān)于程序或程序塊是否應(yīng)該存儲在便攜式終端中的信息。
上述類型的最常用的語言目前是Java。其它的例子有LISP、SmallTalk、和Erlang。對于某種類型的處理器,Java程序的源代碼是不進(jìn)行編譯以形成機器代碼的。它會被編譯成虛擬機所用的短的偽指令“字節(jié)代碼”。當(dāng)程序要執(zhí)行時,一般是將字節(jié)代碼下載到要運行它的終端上然后將其轉(zhuǎn)換成用于該終端的機器代碼。在這種方式下,用Java這樣的解釋性語言所寫的程序可以在任何類型的具有用于該語言的翻譯程序或解釋程序的計算機上執(zhí)行。
Java主要是用于因特網(wǎng)上的應(yīng)用程序的,但是解釋性語言的優(yōu)點也使它們可以用在蜂窩網(wǎng)絡(luò)中。Java程序通常要比相應(yīng)的機器代碼的程序更小,因此適合于移動終端,因為移動終端的可用存儲空間是受限制的。越來越多的移動終端支持Java應(yīng)用程序。
在便攜式終端中利用像Java這樣的解釋性語言特別可行,因為它們的存儲空間是有限的。在終端之外對程序進(jìn)行翻譯也減少了對處理速度和功率的要求,而處理速度和功率在便攜式終端中也是受限的。
本發(fā)明的一個主要優(yōu)點是它使得執(zhí)行那些涉及改變設(shè)備的功能性的不同功能的責(zé)任能夠被劃分。例如,軟件制造商可以負(fù)責(zé)開發(fā)程序的源代碼和將源代碼編譯成字節(jié)代碼。移動終端的制造商則可以負(fù)責(zé)將字節(jié)代碼翻譯成機器代碼,而網(wǎng)絡(luò)操作人員則可以負(fù)責(zé)將機器代碼轉(zhuǎn)移到要運行該代碼的終端上。
解釋性語言(例如Java)有許多優(yōu)點-它們使得部分代碼動態(tài)地加載和卸載成為可能從而減少了所需的空間量,-它們使交換所述軟件的某些部分變得容易,因為比起其它程序語言來說程序的動態(tài)鏈接更加容易,以及-它們使得同一字節(jié)代碼能夠在不同處理器上和不同系統(tǒng)結(jié)構(gòu)下運行,從而使某一特定功能只需編程一次。
最后兩點對于所有便攜式設(shè)備都是有用的,而且特別是對那些能和某種無線網(wǎng)絡(luò)通信的便攜式設(shè)備有用,因為它們將能夠利用網(wǎng)絡(luò)所提供的所有類型的業(yè)務(wù)。同樣,下載新的程序來使軟件升級也變得容易,這也使終端不致因功能的升級或者開發(fā)了新的業(yè)務(wù)而變得過時。這也將使從一個運營者改變到另一個運營者變得容易,在這種情況下新運營者的業(yè)務(wù)包將取代老的包。同樣也可以看到,由移動運營者所提供的業(yè)務(wù)可以根據(jù),例如,一天中的時間、在區(qū)域中基站的出錯狀態(tài),以及與因特網(wǎng)相關(guān)的業(yè)務(wù)的可利用性等等而得以改變。
圖1是應(yīng)用按照本發(fā)明的方法的一個網(wǎng)絡(luò)的簡化圖。
圖2是應(yīng)用按照本發(fā)明的方法的一個網(wǎng)絡(luò)的更加完整的圖。
圖3是按照本發(fā)明使一個新的業(yè)務(wù)能在網(wǎng)絡(luò)中可用的過程的流程圖。
圖4是按照本發(fā)明自動地將一個新的業(yè)務(wù)下載到終端的過程的流程圖。
圖5是按照本發(fā)明根據(jù)用戶請求將一個新的業(yè)務(wù)下載到終端的過程的流程圖。
圖6是按照本發(fā)明如何將責(zé)任劃分到不同的參與者的概觀。
圖1是應(yīng)用按照本發(fā)明的方法的一個網(wǎng)絡(luò)的簡化圖。便攜式終端1通過基站3經(jīng)由一個空中接口連接到移動網(wǎng)?;具B接到控制單元5,后者又連接到網(wǎng)絡(luò)(未示出)。控制單元5控制基站,并實施資源分配功能和其它功能,例如在移動電信網(wǎng)中的交換功能。有一個程序提供單元9處于控制單元5中或與它相關(guān)聯(lián)。
控制單元5連接到一個或多個硬件提供商的主機7,后者又連接到例如屬于軟件供應(yīng)商的主機8。一般說來,軟件供應(yīng)商的主機8是用來產(chǎn)生源代碼和把源代碼編譯成字節(jié)代碼的。然后字節(jié)代碼被轉(zhuǎn)移到硬件供應(yīng)商的主機7,字節(jié)代碼在該主機中被翻譯成為機器代碼。為此目的,每個硬件供應(yīng)商的主機7中包括一個或多個翻譯程序,用于至少特定的硬件供應(yīng)商的各種類型的終端。在硬件供應(yīng)商的主機7和軟件供應(yīng)商的主機8中,兩者在正常情況下都會以本領(lǐng)域已知的方式來實施各種測試活動。
在上面的討論中,把各種功能劃分到硬件供應(yīng)商的主機7、軟件供應(yīng)商的主機8、和控制單元5或程序提供單元9主要是為了分清所實施的不同功能而進(jìn)行。當(dāng)然,主機7和8也可以是一臺主機,在其中源代碼既被編譯又被翻譯。另外,翻譯功能也可以在程序提供單元9中實現(xiàn),在這種情況下程序提供單元必須包括至少一種翻譯程序11。
程序提供單元9包括多個程序13、15。每個程序有多種變體13a、13b、13c、15a、15b、15c,它們由不同的翻譯程序11翻譯以便在不同類型的終端1中執(zhí)行。
或者,僅僅存儲字節(jié)代碼。在這種情況下,當(dāng)程序13、15要被下載到便攜式終端1時,這個程序13、15由適當(dāng)?shù)姆g程序11翻譯以便可以在終端1上執(zhí)行,所得的機器代碼則傳送到終端1。這個過程將結(jié)合圖4和5作詳細(xì)的討論。程序提供單元9或者控制單元5中的任何一個最好包括一個選擇單元,它包括用來確定要傳送給終端1的程序13、15的合適變體13a、13b、13c、15a、15b、15c的邏輯。在圖1中這樣一個選擇單元17是示于程序提供單元中的。
圖2是實施按照本發(fā)明的方法的一種網(wǎng)絡(luò)的更加廣泛的表示。
這個網(wǎng)絡(luò)可以包括幾個網(wǎng)絡(luò),例如電信網(wǎng)絡(luò)21和數(shù)據(jù)網(wǎng)絡(luò)23,后者可以是例如因特網(wǎng)。在圖2中,電信網(wǎng)絡(luò)21是一個蜂窩電信網(wǎng)絡(luò)。電信網(wǎng)絡(luò)21包括一個或多個通信單元25,例如基站,它們通過控制節(jié)點26連接到網(wǎng)絡(luò)上,控制節(jié)點控制通信單元25的功能,也可能控制其它功能,例如網(wǎng)絡(luò)中的交換功能。通信單元25適用于與網(wǎng)絡(luò)中的終端27進(jìn)行無線通信。
數(shù)據(jù)網(wǎng)絡(luò)23也包括多個終端29、31,某些終端29被用來提供源代碼形式或字節(jié)代碼形式的程序。其它終端31則可以檢索各種程序,這些程序按照本發(fā)明而成為可供使用的。
控制節(jié)點26也含有可供下載到蜂窩網(wǎng)絡(luò)21中的終端27上去的各種程序。在優(yōu)選實施例中,程序的經(jīng)過翻譯的版本被下載到控制節(jié)點26并被存儲在那里。程序也可以以字節(jié)代碼的形式下載到控制節(jié)點26,在控制節(jié)點26中翻譯然后作為機器代碼存儲在那里。程序也可以下載到控制節(jié)點26中并以字節(jié)代碼的形式存儲。在后一種情況下,當(dāng)程序要下載到終端時字節(jié)代碼必須翻譯成為機器代碼。
如所理解的那樣,連接到任一網(wǎng)絡(luò)21、23的任何終端27、31也可以從任一網(wǎng)絡(luò)中的任何主機25、29中下載程序,假定在終端27、29、31或在網(wǎng)絡(luò)中這樣做所需的功能是能夠得到的話。
在本實施例中,在每個控制節(jié)點26中都示出了一個選擇單元33。選擇單元33包括用于選擇要傳送到終端27上去的程序的合適變體的邏輯。如果翻譯好的程序被存儲,則選擇單元還可能包括或可以訪問一個清單,該清單是用于每個終端類型及/或預(yù)約的程序的適當(dāng)變體的清單。如果存儲的是字節(jié)代碼而且程序是在要傳送時才翻譯的,那么選擇單元可能包含或可以訪問一個清單,該清單規(guī)定了為了傳送到一個特定類型的終端及/或預(yù)約應(yīng)該用那一種翻譯程序。該清單當(dāng)然還可以表明某一特定的終端類型及/或預(yù)約不應(yīng)該接收某一程序的任何變體。
圖3是使一個新程序可以在網(wǎng)絡(luò)中供使用所采取的步驟的流程圖。
步驟S31用Java或別的解釋性語言編寫業(yè)務(wù)程序的源代碼。
步驟S32在步驟S31中產(chǎn)生的源代碼被編譯以產(chǎn)生字節(jié)代碼。這一步驟通常要包括安全檢查、差錯檢測、功能測試、調(diào)試等等。
步驟S33在步驟S32中產(chǎn)生的字節(jié)代碼被下載到服務(wù)器,字節(jié)代碼存儲在那里。這一步驟一般也應(yīng)包括安全檢查。
步驟S34業(yè)務(wù)程序被各個可供使用的翻譯程序翻譯。當(dāng)然,如果業(yè)務(wù)程序并不要在所有類型的終端上運行,那么當(dāng)然它們只需由相關(guān)的翻譯程序翻譯。
步驟S35由步驟S34所得到的機器代碼被存儲在某處,從那里它可以被下載到便攜式終端或其它設(shè)備。
如果控制節(jié)點26的存儲空間是受限的,就不可能存儲程序的多種不同的翻譯版本。在這種情況下,程序可以用字節(jié)代碼的形式存儲。然后字節(jié)代碼的翻譯就在它被下載到終端的時候進(jìn)行,也就是說,步驟S34和S35是不需要的。當(dāng)然,也可以在程序下載到存儲它們的服務(wù)器之前先進(jìn)行解釋,也就是說,步驟S33和步驟S34的順序可以互換。
圖4是當(dāng)業(yè)務(wù)自動地下載到便攜式設(shè)備時所實施的步驟的流程圖。
步驟S41系統(tǒng)通知用戶,可能希望下載一個程序并請求確認(rèn)。這可能是由于,例如一個新程序或程序的新版本已經(jīng)可以得到,或者由于用戶選擇了一種功能,該功能需要一個在用戶終端中沒有找到的程序。
步驟S42用戶接受或拒絕對新的程序版本的下載。
步驟S43如果用戶接受下載,則選擇適合于該終端類型的程序變體并且使程序下載。過程結(jié)束。
圖5是當(dāng)根據(jù)用戶的請求要下載一個業(yè)務(wù)到便攜式終端以執(zhí)行或存儲一個程序時所執(zhí)行的步驟的流程圖。
步驟S51用戶啟動在要下載程序的設(shè)備和存有該程序的服務(wù)器之間的連接。這可以用本領(lǐng)域中任何已知的方法通過空中接口或有線連接來實現(xiàn)。
步驟S52確定終端的類型。這最好由系統(tǒng)自動地進(jìn)行,但如果需要的話,可以由用戶來說明終端的類型。
步驟S53如果合適,則用戶選擇要下載的一個或多個程序。
步驟S54識別并下載在步驟S53中選擇的一個或多個程序的相應(yīng)的變體和版本。如果程序在服務(wù)器中是以字節(jié)代碼存儲的,則在下載時它們必須被合適的翻譯程序翻譯。過程結(jié)束。
程序可以暫時存儲在終端中,一旦它們被執(zhí)行就可被清除掉,或者也可以把程序存儲在終端中。
在步驟S43和S54中選擇合適的程序變體可以由通信單元來實施,或者這一信息可以從終端的供應(yīng)商或軟件供應(yīng)商那里檢索而得。
可以下載到某一特定終端的程序或者每種程序合適的變體可以根據(jù)終端的類型和預(yù)約的類型而確定。
有關(guān)預(yù)約類型的信息是在電話機中的芯片上找到的,并且在建立起連接時總是被傳送給基站。這個芯片(例如在GSM中是SIM卡)在一般情況下是可移走的并且可以插入多個不同的終端中。因此,終端的類型不能根據(jù)芯片上的信息來確定。但是,不同類型的終端可能會運行不同的程序,并需要各種程序的不同變體,即使預(yù)約的類型相同也如此。
終端類型既可以自動地也可以用人工識別來確定。在后一種情況下,例如,每種終端類型可以被分配給一個識別號碼,每次要下載一個程序時就輸入這個識別號碼。
在優(yōu)選實施例中,終端類型是利用終端的識別碼來確定的,這是一個識別無線終端的唯一的號碼。在GSM中,舉例說,可以使用國際移動站設(shè)備標(biāo)識(IMEI)。這個號碼(IMEI)是存儲在每個移動終端中的,并且在這種情況下應(yīng)該由移動終端傳送到網(wǎng)絡(luò)以指明它要接收的程序變體。也可以規(guī)定多種終端類型并能使每個終端將它的終端類型通知系統(tǒng)。為了使這種方法能操作,關(guān)于每一系列終端的需求信息必須由終端的制造商提供并存入每個主機中,或者在每當(dāng)有需要時從制造商那里取回。這種信息可以采取翻譯程序的說明書的形式,所說的翻譯程序可用于每一終端類型。翻譯程序可以由終端的制造商提供,在這種情況下就只需要識別合適的翻譯程序。如果終端制造商并不提供翻譯程序,那么必須詳細(xì)規(guī)定對翻譯程序的要求。
要下載的程序也可能根據(jù)其它因素,例如小區(qū)的標(biāo)識、運營者、一天中的時間或日期等來確定。
程序的自動下載可以用于例如下列情況-當(dāng)一個程序包已經(jīng)更新時,每個終端在程序包更新后第一次連接到網(wǎng)絡(luò)時可以將該程序包下載到該終端上。
-當(dāng)用戶試圖啟動一種業(yè)務(wù)時,與這種業(yè)務(wù)相關(guān)聯(lián)的程序可以被下載而無需用戶首先明確地通知這一點。
-某些程序可以根據(jù)地點、一天中的時間、運營者等而自動地下載。
在上面列出的第一種情況下,如果用戶不希望接收新的軟件,那么他/她應(yīng)該有可能停止軟件的下載。這可以發(fā)生在例如由于沒有時間或者由于電池電壓過低時。下載也可以自動地停止,例如,如果電池電壓過低。
當(dāng)電話用戶連接到承認(rèn)他/她為用戶的那個網(wǎng)絡(luò)之外的另一個網(wǎng)絡(luò)上時(譬如在出國時),這種情況可以有不同的處理方式。在這種情況下,傳送的預(yù)約信息會讓系統(tǒng)知道該用戶不屬于當(dāng)前的網(wǎng)絡(luò)。即使做不到自動下載,也希望允許根據(jù)請求而下載軟件。
從主機到終端的程序傳送可以按照涉及的系統(tǒng)中用于數(shù)據(jù)傳輸?shù)囊延袇f(xié)議來進(jìn)行。例如,在GSM中,可以使用用于分組通信的協(xié)議,即全球分組無線業(yè)務(wù)(GRPS)。在先進(jìn)移動電話業(yè)務(wù)(AMPS)系統(tǒng)中,可以使用蜂窩數(shù)字分組數(shù)據(jù)(CDPD)協(xié)議。后一種協(xié)議還包括在有語音呼叫的嘗試時暫停執(zhí)行數(shù)據(jù)通信的功能。
將程序轉(zhuǎn)移到移動終端可以在任何可供使用的信道上進(jìn)行。為了在給定的時間將程序從通信單元轉(zhuǎn)移到一個移動終端,可以使用業(yè)務(wù)信道。當(dāng)然,數(shù)據(jù)可以按照電路交換協(xié)議或按照分組交換協(xié)議(例如在GSM系統(tǒng)中的GPRS)來傳送。另外,也可以使用包括一個以上的業(yè)務(wù)信道的高速連接,例如GSM中的高速電路交換數(shù)據(jù)(HSCSD)。這將使程序的轉(zhuǎn)移速度更塊,但是它也許只能在網(wǎng)絡(luò)中的業(yè)務(wù)負(fù)載比較低時才可行。
當(dāng)同一個程序要在同一時間內(nèi)轉(zhuǎn)移到多個移動終端時可以采用廣播。在這種情況下,必須加上控制信息以便讓移動終端知道哪種類型的終端要接收該程序,而且每個終端必須含有能夠確定程序是否是預(yù)定給這個特定的終端的邏輯。
在某些情況下可以臨時或永久地存儲程序代碼的某些部分(特別是那些要運行多次的部分),以避免必須在每次運行它們時再將它們下載。例如,一個程序中的當(dāng)該程序在執(zhí)行時要執(zhí)行多次的子例程可以在該程序處于運行中時暫時存儲在便攜式終端中。執(zhí)行重要功能的程序可以永久地或半永久地存儲。
要以這種方式存儲的程序部分可以由用戶選擇或由網(wǎng)絡(luò)中的節(jié)點選擇,但最好是由兩者合作選擇。為做到這一點在本領(lǐng)域中已知有幾種方法。例如,每個程序或程序部分可以做上標(biāo)記,以便表示它從系統(tǒng)的觀點來看(譬如說,為了節(jié)省帶寬),是否應(yīng)該存入移動終端。不過,為了確定一個程序或程序部分是否應(yīng)該存入移動終端,還需要有關(guān)終端狀態(tài)的知識。因此,通常在不給用戶一次中斷機會的情況下是不可以自動地存儲這些程序部分的。
如果用戶要刪除一個程序或程序部分,他/她必須了解有關(guān)相關(guān)樹的信息,也就是說,有什么樣的其它程序或程序部分要利用將被刪除的程序或程序部分,因為這樣可以決定該程序或程序部分是否確實應(yīng)該刪除。
因此,移動終端應(yīng)該含有這樣一些功能使用戶能夠確定某一特定程序或程序部分是否應(yīng)該存儲,以及存儲多久,并且提供用戶所需的信息以便做出決定。
圖6說明了按照本發(fā)明的對用于提供程序的責(zé)任的劃分。
業(yè)務(wù)提供者101提供合適的源代碼或字節(jié)代碼。為做到這一點,業(yè)務(wù)提供者101必須知道要提供的業(yè)務(wù)所需要的功能。有關(guān)在終端中提供的軟件和硬件環(huán)境的詳細(xì)信息是不需要的,但是有關(guān)終端的基本信息(例如它的容量)可能是有用的。
終端制造商103提供終端,而且通常還提供適合于他所提供的終端的編程語言的翻譯程序。終端制造商103必須具備有關(guān)所用到的編程語言的知識。當(dāng)然,會有若干個業(yè)務(wù)提供者和終端制造商。
網(wǎng)絡(luò)運營者105負(fù)責(zé)移動網(wǎng)絡(luò)107并負(fù)責(zé)向網(wǎng)絡(luò)107中的用戶109提供業(yè)務(wù)。
責(zé)任可以在業(yè)務(wù)提供者101、終端提供者103和網(wǎng)絡(luò)運營者105之間用多種不同方式劃分。例如,業(yè)務(wù)提供者101可以向終端制造商103提供字節(jié)代碼,如箭頭111所示。然后終端制造商103利用他為該終端所提供的適當(dāng)?shù)姆g程序?qū)⒆止?jié)代碼翻譯成機器代碼,并將這個機器代碼通過像因特網(wǎng)這樣的傳輸網(wǎng)絡(luò)113提供給網(wǎng)絡(luò)運營者105,如箭頭115所示。當(dāng)然,機器代碼可以用本領(lǐng)域中任何已知的方式提供,例如,利用直接連接或軟磁盤、或CD-ROM。
另一種劃分責(zé)任的方式可以是由業(yè)務(wù)提供者101直接將字節(jié)代碼通過傳輸網(wǎng)絡(luò)113提供給網(wǎng)絡(luò)運營者105,如箭頭117所示。終端制造商103可以將翻譯程序提供給網(wǎng)絡(luò)運營者105,而網(wǎng)絡(luò)運營者105可以將字節(jié)代碼翻譯成機器代碼。
按照這兩種方法,機器代碼都可以存儲在存儲器119中并在需要時通過蜂窩網(wǎng)絡(luò)107提供給用戶109,如箭頭121所示。當(dāng)然業(yè)務(wù)提供者101也可以發(fā)送源代碼而不是字節(jié)代碼,但一般情況下是不希望發(fā)送源代碼的。
權(quán)利要求
1.一種改變網(wǎng)絡(luò)中經(jīng)無線連接而聯(lián)系的移動終端的功能性的方法,所說的功能性是作為用編程語言寫成的程序來實現(xiàn)的,它的源代碼可以編譯成中間代碼,所說的中間代碼是可執(zhí)行和可驗證的,其特征在于以下步驟-使用至少一種翻譯程序?qū)⑸鲜龅闹虚g代碼翻譯成機器代碼,該翻譯程序和至少一種類型的終端的硬件和軟件環(huán)境有關(guān);-確定要被下載到該終端的機器代碼的合適的變體;-將機器代碼的合適的變體下載到上述終端。
2.按照權(quán)利要求1的方法,其特征在于-使用上述的至少一種翻譯程序?qū)⑺f的程序翻譯成機器代碼;-將上述程序的機器代碼存入網(wǎng)絡(luò)中的主機;-在需要時將上述的機器代碼轉(zhuǎn)移到至少一個所說的終端。
3.按照權(quán)利要求1或2的方法,其特征在于,其中程序的下載是由網(wǎng)絡(luò)中的一個單元啟動的。
4.按照權(quán)利要求1或2的方法,其特征在于,其中程序是根據(jù)從終端的用戶發(fā)出的請求而下載到終端的。
5.根據(jù)上述權(quán)利要求中任何一項的方法,其特征在于至少有若干個上述終端是用于蜂窩電信網(wǎng)絡(luò)中的便攜式終端。
6.按照上述權(quán)利要求中任何一項的方法,其特征在于以下步驟,即確定一個程序塊是應(yīng)該暫時還是永久地存儲在終端中,并且情況是這樣,則相應(yīng)地存儲程序。
7.按照上述權(quán)利要求中任何一項的方法,其特征在于以下步驟,即在終端的識別碼的基礎(chǔ)上確定要下載到終端的機器代碼的合適的變體。
8.按照上述權(quán)利要求中任何一項的方法,其特征在于以下步驟,即在標(biāo)識預(yù)約類型的代碼的基礎(chǔ)上確定要下載到終端的機器代碼的合適的變體。
9.按照上述權(quán)利要求的任何一項的方法,其特征在于下列步驟-對于每一種程序,確定可以使用該程序的終端類型;-使用與所說的終端類型相關(guān)的翻譯程序來翻譯該程序。
10.用于在包括主機和若干不同類型的終端的網(wǎng)絡(luò)中提供程序的一種設(shè)備,至少有某些所說的終端是通過無線連接而與網(wǎng)絡(luò)中的其它部分相連的,所說的程序是用編程語言實現(xiàn)的,它的源代碼可以編譯成為中間代碼,所說的中間代碼是可執(zhí)行和可驗證的,并可解釋或翻譯成為機器代碼所說的設(shè)備的特征在于它包括-用于存儲機器代碼形式的程序的存儲裝置,該機器代碼在網(wǎng)絡(luò)中的至少一種類型的終端上是可執(zhí)行的;-在終端類型的基礎(chǔ)上確定哪一種機器代碼應(yīng)該下載到一個特定的終端上;-用于將機器代碼形式的程序轉(zhuǎn)移到至少一個終端的裝置。
11.按照權(quán)利要求10的設(shè)備,其特征在于它包括翻譯裝置,用來以下述方式將中間代碼翻譯成機器代碼,即要使它能夠在蜂窩網(wǎng)絡(luò)中的至少一種類型的便攜式終端上執(zhí)行。
12.按照權(quán)利要求10或11的設(shè)備,其特征在于至少一種類型的終端是連接在蜂窩網(wǎng)絡(luò)中的便攜式終端。
13.按照權(quán)利要求10-12中任何一項的設(shè)備,其特征在于它包括用來確定可以使用每一種程序的終端類型的裝置。
14.按照權(quán)利要求13的設(shè)備,其特征在于它包括用于在終端的序列號的基礎(chǔ)上確定要下載到特定終端的機器代碼的裝置。
15.按照權(quán)利要求10-14中任何一項的設(shè)備,其特征在于它包括用于在終端應(yīng)用的預(yù)約類型的基礎(chǔ)上確定要下載到特定終端的程序的裝置。
16.包括主機和若干類型的終端的一種電信網(wǎng)絡(luò),至少有某些所說的終端是通過無線連接而和網(wǎng)絡(luò)的其它部分相連的,該網(wǎng)絡(luò)的特征在于它包括-至少一種用于編程語言的翻譯裝置,該語言的源代碼可以編譯成為中間代碼,所說的翻譯裝置被用來將所說的中間代碼翻譯成為在至少一個上述的終端上可執(zhí)行的機器代碼;-用于存儲機器代碼的存儲器裝置;-用于確定什么程序或程序版本應(yīng)該下載到特定的終端上的裝置;-用于將機器代碼形式的程序轉(zhuǎn)移到至少一個終端上去的裝置。
17.按照權(quán)利要求16的電信網(wǎng)絡(luò),其特征在于它包括用于在終端類型的基礎(chǔ)上確定什么程序或程序版本應(yīng)該下載到某一特定終端上去的裝置。
18.按照權(quán)利要求16或17的電信網(wǎng)絡(luò),其特征在于它包括用于在預(yù)約類型的基礎(chǔ)上確定什么程序或程序版本應(yīng)該下載到某一特定終端上去的裝置。
19.適合于無線通信的一種便攜式終端,它包括一個內(nèi)核,適合于接收機器代碼形式的程序和/或程序部分,其特征在于所說的內(nèi)核被設(shè)計成在運行期間安裝接收到的程序和/或程序部分,并且它被設(shè)計成能將它的類型和/或當(dāng)前它工作的預(yù)約類型通知網(wǎng)絡(luò)中適當(dāng)?shù)墓?jié)點。
20.按照權(quán)利要求19的便攜式終端,其特征在于它被設(shè)計成能向用戶提供有關(guān)可供使用的程序的相關(guān)樹的信息。
21.按照權(quán)利要求19或20的便攜式終端,其特征在于它被設(shè)計成能將它的類型和當(dāng)前它工作的預(yù)約類型通知網(wǎng)絡(luò)中適當(dāng)?shù)墓?jié)點。
22.按照權(quán)利要求19-21中任何一項的便攜式終端,其特征在于它被設(shè)計成能將有關(guān)它當(dāng)前的電池狀態(tài)通知網(wǎng)絡(luò)中適當(dāng)?shù)墓?jié)點。
23.按照權(quán)利要求19-22中任何一項的便攜式終端,其特征在于它被設(shè)計成能接收并解釋有關(guān)是否要將程序或程序塊存儲在便攜式終端中的信息。
全文摘要
便攜式無線設(shè)備的功能性可以通過提供用例如Java的語言所寫的程序并產(chǎn)生可驗證的中間代碼(字節(jié)代碼)來改變。在中間代碼被傳輸給它要在其上執(zhí)行的無線設(shè)備之前,在網(wǎng)絡(luò)中的節(jié)點上它被翻譯成機器代碼。每種程序可能存在多種機器代碼的變體,后者是使用用于不同類型的終端的翻譯程序翻譯的。這使得不同的終端類型可使用相同的源代碼,而且可以在涉及改變設(shè)備的功能性的軟件供應(yīng)商、終端供應(yīng)商和網(wǎng)絡(luò)運營者之間劃分責(zé)任以執(zhí)行不同的功能,也就是:開發(fā)程序的源代碼、將源代碼編譯成字節(jié)代碼、將字節(jié)代碼翻譯成機器代碼、以及將機器代碼傳送給它要在其上運行的終端。
文檔編號G06F9/445GK1309787SQ9980877
公開日2001年8月22日 申請日期1999年5月26日 優(yōu)先權(quán)日1998年5月28日
發(fā)明者A·阿奎隆, S·維勒哈德松, H·哈爾 申請人:艾利森電話股份有限公司