專利名稱:通過卡應用工具包互通的方法、移動終端和計算機程序產品的制作方法
技術領域:
本發(fā)明的實施例一般地涉及移動終端技術,并且更特別地,涉及用于通過移動終端上的卡應用工具包提供Java或其他應用互通的方法、裝 置和計算機程序產品。
背景技術:
在許多無線通信網絡和其他移動網絡中,為諸如移動電話的移動終 端提供了多種機制,通過這些機制在移動終端上打開應用用于執(zhí)行。在 這樣的網絡中,應用典型地訪問并利用各種電話特征,如呼叫、發(fā)送或 接收短消息、瀏覽、多媒體消息傳送等。目前在很多移動終端中使用卡應用工具包(CAT)。 CAT是在移動 終端中實現(xiàn)的應用程序接口 (API)。 CAT可以在移動終端的用戶識別模 塊(UIM)上實現(xiàn),例如智能卡、用戶識別模塊(SIM)、通用集成電路 卡(UICC )、通用用戶識別模塊(USIM )、可移動用戶識別模塊(R-UIM) 等。目前CAT存4諸在4艮多移動終端的UIM中并且用于允許在UIM上實 現(xiàn)的應用訪問并且利用上述多種電話特征。由于UIM固有的安全性以及 UIM易于使用,UIM或智能卡經常被視為實現(xiàn)某些應用的有利平臺。然 而,由于很多人感到CAT和移動終端之間所使用的協(xié)議不靈活,因此 CAT應用的進一步功能性的開發(fā)緩慢。相應地,CAT應用經常被預留為 使用最基礎的特征。如上所述,運營商抱怨的一點是現(xiàn)有CAT用戶接口不靈活。相應地, 運營商難以"標榜"其CAT應用能提供高度個性化并且因此而改進的用 戶體驗。同時,另一種API,即業(yè)內公知的Java API在允許應用訪問電 話特征方面則極其靈活而強大。因而,Java^皮開發(fā)商廣泛用來開發(fā)移動 終端的增強功能性。另外,為諸如Windows, Symbian、 Unix、 BREW 等操作系統(tǒng)編寫的其他類型應用也廣泛使用并且十分靈活。近來,在移動終端上實現(xiàn)的很多特征都有雙重實施方法,其中同一特征既可以在CAT API中實現(xiàn)又可以在Java API中實現(xiàn),這種情況十分 普遍。為了緩解這個問題,已經開發(fā)出了 JavaAPI的子集稱為JSR177, 以便在CAT和Java之間提供一定的互通。JSR 177允許Java MIDlet打 開與UIM上的CAT應用的連接,以便使用特殊的應用協(xié)議數(shù)據單元 (APDU)向CAT應用發(fā)送數(shù)據并且從UIM接收應答。由于APDU不 能超過256字節(jié),CAT應用在有限的時間內應答,并且發(fā)送消息的主動 性完全依賴于Java MIDlet,因此該方法受到了限制。為了消除上述問題,需要開發(fā)一種裝置,通過該裝置可以將CAT應 用的安全性優(yōu)勢和易于使用與Java或其他應用有利的靈活性結合起來。發(fā)明內容因此提供了一種方法、裝置和計算機程序產品,實現(xiàn)Java或其他應 用與移動終端上的CAT應用的互通。相應地,向移動終端用戶提供了增 強的靈活性、安全性并且易于使用。在一個示例性實施例中,公開了用于通過卡應用工具包提供應用互 通的方法。在該實施例中,該方法從卡應用工具包4妄收請求以訪問所請 求的應用,例如JavaMIDlet。隨后該方法確定所請求的應用是否已注冊, 例如通過搜索注冊表中與所請求的應用相關聯(lián)的地址,并且響應于所請 求的應用已注冊,加載所請求的應用。如果所i青求的應用未注冊,該方 法可以發(fā)送相關消息作為響應。該方法也能夠初始地注冊至少一個應用,例如通過在注冊表中存儲 應用的地址。應用的注冊也可以包括指定與用戶識別才莫塊(UIM)相關 聯(lián)的端口 ,用于通過傳輸控制協(xié)議(TCP )套接字或用戶數(shù)據報協(xié)議 (UDP )數(shù)據報來連接應用。在另 一個示例性實施例中,公開了用于通過卡應用工具包提供應用 互通的計算機程序產品。該計算機程序產品包括至少一個存儲計算機可 讀程序代碼部分的計算機可讀存儲介質。計算機可讀程序代碼部分包括
用于/人卡應用工具包4妄收請求以訪問所請求應用(如JavaMIDlet)的第 一可執(zhí)行部分,用于確定所請求的應用是否已注冊的第二可執(zhí)行部分, 例如通過搜索注冊表中與所請求的應用相關聯(lián)的地址來確定,以及用于 響應于所請求的應用已注冊而加載所請求的應用的第三可執(zhí)行部分。如 果確定所請求的應用未注冊,則該計算機程序產品可以包括用于響應于 該確定而發(fā)送相關消息的指令。根據一個實施例的計算機程序產品也包括第四可執(zhí)行部分,用于執(zhí) 行向注冊表注冊至少一個應用的初始步驟,例如通過將應用地址存卩諸在 注冊表中。第四可執(zhí)行部分也可以包括指令以指定與用戶識別模塊 (UIM)相關聯(lián)的端口,用于通過傳輸控制協(xié)議(TCP)套接字或用戶 數(shù)據報協(xié)議(UDP)數(shù)據報來連接應用(如Java MIDlet )。在另一個示例性實施例中提供了移動終端,其能夠與用戶識別模塊 (UIM)通信以便加載應用,例如UIM所請求的Java MIDlet。在這點 上,移動終端包括保持應用注冊表的存儲裝置。例如,存儲裝置能夠存 儲包括注冊表中與各應用相關聯(lián)的地址的注冊(信息)。移動終端也包 括處理元件,該處理元件能夠乂人UIM (例如/人UIM的卡應用工具包) 接收請求以訪問所請求的應用(例如Java MIDlet )。處理元件也能夠訪 問注冊表以確定所請求的應用是否已注冊。例如,處理元件能夠搜索注 冊表中與所請求的應用相關聯(lián)的地址。另外,響應于所請求的應用已注 冊,處理元件能夠加載所請求的應用。如果未注冊,處理元件進一步能 夠發(fā)送相關消息作為響應。另外,處理元件還進一步能夠通過指定與用 戶識別模塊(UIM)相關聯(lián)的端口以用于通過傳輸控制協(xié)議(TCP)套 接字或用戶數(shù)據報協(xié)議(UDP)數(shù)據報來連接應用,從而注冊應用。在一個示例性實施例中,提供了能夠與作為示例性UIM的UICC通 信的移動終端。可以配置移動終端的處理元件以從UICC接收加載所請 求的應用的命令。隨后移動終端可以確定是否能夠加載所請求的應用。在一個示例性實施例中,提供了能夠與移動終端通信的UIM。 UIM 包括可配置以發(fā)布命令使移動終端加載所請求的應用的處理元件。隨后 UIM可以從移動終端接收指示是否能夠加載所請求的應用的信息。程序產品。作為結果,運營商可以將UIM的安全性和易于使用與Java 或其他應用的全部能力和靈活性結合起來,用于訪問并利用用戶接口以 及其他裝置的特征。
在概括描述了本發(fā)明后,現(xiàn)在參照附圖,這些附圖不一定按比例畫 出,其中圖1是根據本發(fā)明一個示例性實施例的移動終端的示意性方框圖; 圖2是根據本發(fā)明一個示例性實施例的無線通信系統(tǒng)的示意性方框圖;圖3示出了根據本發(fā)明一個示例性實施例的移動終端的部分的方框圖;圖4是根據本發(fā)明一個示例性實施例的通過卡應用工具包提供Java 互通的示例'性方法的方框圖。
具體實施方式
現(xiàn)在下文將參照附圖更為充分地描述本發(fā)明的實施例,附圖中示出 了本發(fā)明的一些而非全部的實施例。實際上,本發(fā)明可以以很多不同形 式實施,并且不應解釋為限于本文所述的實施例;更確切地,提供這些 實施例是為使本說明書滿足可實用的法律要求。全文對相同的元件使用 相同參考標號。圖1示出了能夠實現(xiàn)本發(fā)明并能從本發(fā)明獲益的移動終端10的方 框圖。然而,應當理解,所示出的以及下文所描述的移動電話僅示出了 能從本發(fā)明獲益的一種移動終端,并且因此,不應作為對本發(fā)明范圍的 限制。盡管為了示例的目的示出并且在下文描述移動終端10的若干實 施例,但是其他類型的移動終端如便攜式數(shù)字助理(PDA)、傳呼機、 移動電視、便攜式計算機以及其他類型的聲音和文本通信系統(tǒng),也能夠 輕易地使用本發(fā)明。并且,應當理解,盡管將根據使用卡應用工具包與Java應用互通來詳細描述本發(fā)明,本發(fā)明也可以實踐于其他類型應用, 如為Windows、 Symbian、 Unix、 BREW等操作系統(tǒng)編寫的應用或者其 4也本i也應用。此外,雖然由移動終端IO來執(zhí)行或使用本發(fā)明方法的若干實施例, 該方法也可以由非移動終端采用。而且,將主要結合移動通信應用描述 本發(fā)明的系統(tǒng)和方法。然而應當理解,本發(fā)明的系統(tǒng)和方法可以在移動 通信行業(yè)內和移動通信行業(yè)外與各種其他應用結合使用。移動終端10包括天線12,天線12可操:作地與發(fā)送器14和接收器 16通信。移動終端10進一步包括控制器20或其他處理元件,其分別通 過發(fā)送器14和接收器16提供和接收信號。信號包括根據適用的蜂窩系 統(tǒng)的空中接口標準的信令信息,也包括用戶語音和/或用戶產生的數(shù)據。 在這點上,移動終端IO能夠使用一個或更多空中接口標準、通信協(xié)議、 調制類型以及訪問類型工作。作為示例,移動終端10能夠根據多個第 一、第二和/或第三代通信協(xié)議或類似協(xié)議中的任意協(xié)議工作。例如,移 動終端10能夠根據第二代(2G)無線通信協(xié)議IS-136 (TDMA)、 GSM 以及IS-95 (CDMA)或第三代(3G)無線通信協(xié)議W-CDMA工作。應當理解,控制器20包括實現(xiàn)移動終端10的音頻和邏輯功能所需 的電路。例如,控制器20可以包括數(shù)字信號處理裝置、微處理器裝置、 各種模擬到數(shù)字轉換器、數(shù)字到模擬轉換器以及其他支持電路。移動終 端10的控制和信號處理功能根據各裝置的能力在這些裝置間分配。因 此控制器20也可以包括在調制和傳輸前對消息和數(shù)據進行巻積編碼以 及交織的功能性??刂破?0可以另外地包括內部語音編碼器,并且可 以包括內部數(shù)據調制解調器。并且,控制器20可以包括操作存儲在存 儲器中的一個或更多軟件程序的功能性。例如,控制器20有可能操作 連通性程序,如傳統(tǒng)的網絡瀏覽器。隨后該連通性程序可以允許移動終 端10例如根據無線應用協(xié)議(WAP)傳輸并且接收網絡內容,例如基 于位置的內容。并且根據本發(fā)明的實施例(以下描述),例如控制器20 有可能操作軟件應用,該軟件應用能夠創(chuàng)建用于傳送與移動終端10有 關的定位信息的授權。
移動終端10也包括用戶接口,該用戶接口包括輸出裝置,如傳統(tǒng) 的耳機或揚聲器22、振鈴器24、麥克風26、顯示器28以及用戶輸入接 口,這些全部連接到控制器20。允許移動終端IO接收數(shù)據的用戶輸入 接口可以包括允許移動終端10接收數(shù)據的多個裝置中的任何一個,如 小鍵盤30、觸摸顯示器(未示出)或其他輸入裝置。在包括小鍵盤30 的實施例中,小鍵盤30包括傳統(tǒng)的數(shù)字鍵(0-9)和有關的鍵(#、 *), 以及用于操作移動終端10的其他鍵。移動終端10進一步包括電池34, 如振動電池組,用于為操作移動終端10所需的各種電路提供動力,并 且可選地提供機械振動作為可檢測的輸出。移動終端IO可以進一步包括用戶識別才莫塊(UIM) 38。 UIM38典 型地是具有內置處理器的存儲裝置。UIM 38可以包括例如用戶識別卡 (SIM)、通用集成電路卡(UICC)、通用用戶識別模塊(USIM)、可移 動用戶識別模塊(R-UIM)等。UIM38典型地存儲與移動用戶相關的信 息元。除了UIM38,移動終端IO也可以配備存儲器。例如,移動終端 10可以包括易失性存儲器40,如包含有高速緩存區(qū)用于臨時存儲數(shù)據 的易失性隨機存取存儲器(RAM )。移動終端10也可以包括其他能夠嵌 入和/或可移除的非易失性存儲器42。非易失性存儲器42可以另外地或 可替代地包括EEPROM、閃速存儲器或類似的如Sunnyvale, California 的SanDisk Corporation或Fremont, California的Lexar Media Inc.所提供 的存儲器。存儲器能夠存儲由移動終端IO使用以實現(xiàn)移動終端10的功 能的多條信息中的任何信息以及數(shù)據。例如,存儲器可以包括能夠唯一 地識別移動終端10的標識符,如國際移動i殳備識別(IMEI)碼?,F(xiàn)在參照圖2,圖2示出了能夠實施本發(fā)明并從本發(fā)明獲益的一種 類型的系統(tǒng)。該系統(tǒng)包括多個網絡裝置。如圖所示, 一個或更多移動終 端10可以各自包括用于向基地或基站(BS ) 44發(fā)送信號或從其接收信 號的天線12?;?4可以是一個或更多蜂窩或移動網絡的一部分,各 蜂窩或移動網絡包括才乘作網絡所需的元件,如移動交換中心(MSC ) 46。 如本領域的普通技術人員所公知,移動網絡也可以指基站/MSC/互通功 能(BMI)。在操作中,當移動終端10發(fā)起和接收呼叫時,MSC 46能夠向移動終端10或從移動終端10 ^各由呼叫。當移動終端10參與呼叫 時,MSC46也能夠提供到陸地干線的連接。另外,MSC46能夠控制向 移動終端10或從移動終端10的消息轉發(fā),并且也能夠為移動終端10 控制向消息中心和從消息中心的消息轉發(fā)。應當注意,盡管在圖2的系 統(tǒng)中示出MSC46, MSC46僅為示例性的網絡裝置并且本發(fā)明不限于在 采用MSC的網絡中使用。MSC46能夠連接到數(shù)據網絡,如局域網(LAN)、城域網(MAN) 和/或廣域網(WAN)。 MSC 46能夠直接連接到數(shù)據網絡。然而,在一 個典型實施例中,MSC 46連接到GTW 48 ,并且GTW 48連接到WAN 如因特網50。依次地,諸如處理元件(例如個人計算機、服務器計算機 等等)的裝置能夠通過因特網50連接到移動終端10。例如,如下文所 解釋的,處理元件可以包括如下文描述的一個或更多與計算系統(tǒng)52 (圖 2中示出兩個)、原始服務器54 (圖2中示出一個)等等相關聯(lián)的處理 元件。BS 44也可以連接到信令GPRS (通用分組無線業(yè)務)支持節(jié)點 (SGSN)56。如本領域的普通技術人員所^^知,SGSN 56典型地能夠 為分組交換服務執(zhí)行與MSC 46類似的功能。象MSC 46 —樣,SGSN 56 能夠連接到數(shù)據網絡,如因特網50。 SGSN 56能夠直接連接到數(shù)據網絡。 然而,在一個更典型的實施例中,SGSN56連接到分組交換核心網絡, 如GPRS核心網絡58。隨后分組交換核心網絡連接到另 一個GTW 48, 如GTW GPRS支持節(jié)點(GGSN) 60,并且GGSN 60連接到因特網50。 除GGSN60以外,分組交換核心網絡也能夠連接到GTW48。 GGSN 60 也可以連接到消息中心。在這點上,象MSC46—樣,GGSN60和SGSN 56有可能控制對諸如MMS消息的消息的轉發(fā)。GGSN 60和SGSN 56 也能夠為移動終端10控制向消息中心和從消息中心的消息轉發(fā)。另外,通過將SGSN 56連接到GPRS核心網絡58和GGSN 60,諸 如計算系統(tǒng)52和/或原始服務器54的裝置可以通過因特網50、 SGSN 56、 GGSN60連接到移動終端10。在這點上,諸如計算系統(tǒng)52和/或原始服 務器54的裝置可以跨SGSN 56、 GPRS核心網絡58和GGSN 60與移動
終端IO通信。通過直接地或間接地將移動終端IO和其他裝置(例如計 算系統(tǒng)52、原始服務器54等)連接到因特網50,移動終端10可以與 其他裝置通信并且彼此通信,如根據超文本傳輸協(xié)議(HTTP)通信, 由此實現(xiàn)移動終端10的各種功能。盡管本說明書并未示出和描述每種可能的移動網絡的每種元件,應 當理解,移動終端10可以通過BS 44連接到多個不同網絡的任意之一或 更多。在這點上,網絡能夠支持根據多個第一代(1G)、第二代(2G)、 2.5G和/或第三代(3G)移動通信協(xié)議或類似協(xié)議中的任意之一或更多 的通信。例如, 一個或更多網絡能夠支持根據2G無線通信協(xié)議IS-136(TDMA)、 GSM和IS-95 (CDMA)的通信。例如, 一個或更多網絡也 能夠支持根據2.5G無線通信協(xié)議GPRS、增強型數(shù)據的GSM環(huán)境(EDGE)或類似協(xié)議的通信。而且,例如, 一個或更多網絡能夠支持 根據3G無線通信協(xié)議的通信,例如采用寬帶碼分多址(WCDMA)無 線接入技術的通用移動電話系統(tǒng)(UMTS)網絡的通信。 一些窄帶AMPS(NAMPS)以及TACS網絡也能夠同雙模或多模移動站(例如數(shù)字/模 擬或TDMA/CDMA/模擬電話) 一樣,從本發(fā)明的實施例中獲益。移動終端10可以進一步連接到一個或更多無線接入點(AP) 62。 AP62可以包括配置以與移動終端IO通信的接入點,配置是根據如下技 術例如,無線頻率(RF)、藍牙(BT)、紅外線(IrDA)或多個不同 無線網絡技術中的任何技術,包括無線LAN( WLAN )技術如IEEE 802.15(例如802.11a、 802.11b、 802.11g、 802.11n等)、WiMAX技術如IEEE 802.16、和/或超寬帶技術(UWB)如IEEE 802.15或類似技術。AP 62 可以連接到因特網50。象MSC46—樣,AP62可以直接連接到因特網 50。然而,在一個實施例中,AP 62通過GTW 48間接地連接到因特網 50。而且,在一個實施例中,BS44可以被認為是另一個AP62。應當理 解,通過直接地或間接地將移動終端10和計算系統(tǒng)52、原始服務器54 和/或多個其他裝置中的任何裝置連接到因特網50,移動終端IO能夠與 彼此或與計算系統(tǒng)等通信,由此實現(xiàn)移動終端10的各種功能,諸如向 計算系統(tǒng)52傳輸和/或從計算系統(tǒng)52接收數(shù)據、內容等等。本說明書使
用的術語"數(shù)據"、"內容"、"信息"以及類似術語可以互換地使用,表 示根據本發(fā)明的實施例能夠被傳輸、接收和/或存儲的數(shù)據。因此,對任 何這種術語的使用不應認為限制本發(fā)明的主旨和范圍。盡管圖2未示出,在通過因特網50將移動終端IO連接到計算系統(tǒng) 52以外或取而代之的是,移動終端10和計算系統(tǒng)52可以根據例如RF、 BT、 IrDA或多種不同的無線或有線通信才支術(包括LAN、 WLAN、 WiMAX和/或UWB技術)中的任何技術彼此連接并且通信。 一個或更 多計算系統(tǒng)52能夠另外地或替代地包括能夠存儲內容的可移除存儲器, 該內容以后可以傳送給移動終端10。并且,移動終端IO可以連接到一 個或更多電子裝置,如打印機、數(shù)字投影儀和/或其他多媒體捕捉、制作 和/或存儲裝置(例如其他終端)。象計算系統(tǒng)52 —樣,移動終端10可 以配置以根據例如RF、 BT、 IrDA或多種不同的無線或有線通信技術(包 括USB、 LAN、 WLAN、 WiMAX和/或UWB技術)中的任何技術與便 攜式電子裝置通信?,F(xiàn)在參照圖3描述本發(fā)明的一個示例性實施例,其中更為詳細地示 出圖1中的移動終端10的某些元件。然而,應當注意,圖3所示僅為 移動終端配置的一個例子,也可以使用多種其他配置實現(xiàn)本發(fā)明?,F(xiàn)在 參照圖3,卡應用工具包(CAT) 70可以存儲在UIM 38上。如前文所 述,CAT70是應用程序接口 (API),其允許UIM38上實現(xiàn)的應用訪問 并且利用移動終端10能夠運用的多種特征。同樣地,CAT70可以向控 制器20發(fā)送消息以請求控制器20激活特定的特征。例如,CAT70可以 激活諸如呼叫、發(fā)送短消息、在移動終端10的用戶接口結構中定位菜 單項目等的特征。CAT 70的特性之一是允許UIM 38上的CAT應用向外部實體(如因 特網服務器)打開連接套接字(對于傳輸控制協(xié)議(TCP ))或數(shù)據報(對 于用戶數(shù)據報協(xié)議(UDP)),其被稱為承載無關協(xié)議。根據承載無關協(xié) 議,不同的承載可用于連接,包括網絡承載(例如GERAN/UTRAN和 GPRS)和本地承載(例如藍牙、IrDa和USB)。例如,UIM 38可以向 控制器20發(fā)送外部實體的地址,如因特網地址(即IP地址或URL)以
用于連接。UIM38也可以發(fā)送使用哪一個承載的指示。同樣地,承載無 關協(xié)議提供了一種機制,移動終端IO可以通過該機制與外部實體通信。 本發(fā)明的實施例提供了 "虛擬承載",UIM 38可通過該虛擬承載通過向 移動終端10的控制器20發(fā)送消息指示例如Java MIDlet或其他應用的地 址,以打開到Java MIDlet或其他應用的連接。由于UIM 38可以發(fā)起通 信以打開到Java MIDlet或其他應用的連接,即使移動終端IO沒有網絡 連接也可以實現(xiàn)本發(fā)明的實施例。現(xiàn)在將根據一個示例性實施例詳細描 述本發(fā)明,盡管在其他實施例中可以建立到其他應用的連接,在該示例 性實施例中打開的是到Java MIDlet的連接。在該實施例中,CAT 70可以向控制器20發(fā)送請求72以與Java MIDlet對接。響應于接收到請求72,控制器20向位于移動終端10的存 儲器36中的推送注冊(push registry) 76發(fā)送消息74。推送注冊76可 以是例如特定應用的地址寄存器。替代地,推送注冊76可以是任何裝 置,通過該裝置特定的應用與特定的存儲位置相關聯(lián)。在一個示例性實 施例中,推送注冊76是包括地址的寄存器,例如當被請求時可以使用 的特定API的地址。因而,當CAT 70發(fā)送請求72時,請求72可以包 括打開特定的Java MIDlet的呼叫。隨后控制器20向推送注冊76發(fā)送消 息74以檢查推送注冊76中所列的注冊是否能滿足請求72。如果推送注 冊76包括與請求72相對應的注冊(即包括Java MIDlet的注冊),則加 載相對應的Java MIDlet 78。如果推送注冊76不包括與請求72相對應的 注冊,則向控制器20發(fā)送通知80,通知80可包括相關消息解釋為什么 不能滿足"i青求72。通知80隨后可以;帔傳遞給UIM 38。在安裝Java MIDlet時,例如在移動終端10的生產期間,可以執(zhí)行 特定Java MIDlet向推送注冊76的注冊。在這種情況下,移動終端10 的用戶可以選擇激活Java MIDlet。也可在移動終端10上運行特定Java MIDlet,隨后執(zhí)行特定Java MIDlet向推送注冊76的注冊。例如,特定 Java MIDlet可以由用戶下載、在移動終端上執(zhí)行并且隨后注冊。如上文 所述,可以通過在推送注冊76中存4諸與特定Java MIDlet相關聯(lián)的地址 來實現(xiàn)注冊。然而,也有其4也用于注冊的4幾制可用。例如,MIDP2.0Java
規(guī)范允許MIDlet以才各式 <ConnectionURL><MIDlet ClassNamexAllowedSender〉在推送注冊中注冊為入站連接。因而,在一 個示例性實施例中, 一個或更多端口可以在因特網網絡號分配才幾構 (IANA)注冊為UIM端口。例如,如果任意選中的端口,如端口 65000 被定義為UIM端 口 , 則可以 4吏用才各式 socket:〃:65000,com.nokia.example.SampleMidlet注冊MIDlet用于TCP連 接。作為一個替代的例子,如果端口 65000被定義為UIM端口,則可以 <吏用才各式datagram:〃:65000,com.nokia.example.SampleMidlet 5主冊 MIDlet用于UDP連接。因而,為了打開到MIDlet的連接,CAT 70可 發(fā)送用于打開到"localhost:65000"的連接的請求72。響應于請求72, 控制器20發(fā)送消息74以確定是否為端口 65000列出了注冊。在該例子 中,由于端口 65000已注冊,可以加載Java MIDlet 78。然而,如果端口 65000未注冊,通知80可以包括相關消息,如錯誤消息,例如"no MIDlet registered to port (沒有MIDlet注冊到端口 ),,。加載Java MIDlet 78后,創(chuàng)建一個通信信道,通過該信道發(fā)送數(shù)據 或信息。數(shù)據可以是任何Java MIDlet 78開發(fā)商的定義。另外,可以以 完全專用格式發(fā)送數(shù)據。并且,Java MIDlet 78可以是Java遠程方法調 用(RMI)的實現(xiàn)。同樣地,方法呼叫所需要的所有信息(唯一的方法 名和所有參數(shù))都以標準化字節(jié)流串行化,其可以通過任何類型的連接 發(fā)送,以類似的串行化方式傳送結果。如上文所述,盡管在本發(fā)明的一個示例性實施例中可以加載Java MIDlet 78,也可以加載其他應用,例如為Windows, Symbian、 Unix、 BREW等編寫的應用。因而, 一般而言,本發(fā)明的實施例允許UIM 38 在移動終端10中打開到服務器的連接。如果請求TCP連接,則移動終 端10向命令中所給出的本地主才幾IP地址(例如IPv4的127.0.0.1 )上的 端口號發(fā)布主動OPEN請求。如果請求UDP連接,則移動終端10向命 令中所給出的本地主才幾IP地址(例如IPv4的127.0.0.1 )上的端口號發(fā) 布數(shù)據報。在兩種情況下,移動終端10都從/向UIM38轉發(fā)該端口上輸 入/輸出的數(shù)據。移動終端10中的TCP或UDP服務器可以是在所指示
端口監(jiān)聽的任何應用。相應地,允許UIM 38加載注冊的應用并且^f吏用 所打開的信道與注冊的應用通信。在收到打開信道的命令時,移動終端IO確定是否可能執(zhí)行該命令。 UIM38指示移動終端IO是否應立即建立鏈路、在背景模式下或在收到 第一個傳輸數(shù)據時(按需(on demand))建立鏈路。如果要求立即建立 鏈路,則移動終端IO分配緩沖器,建立到所指示端口的連接,通知UIM 38并且使用TERMINAL RESPONSE (命令成功執(zhí)行)報告信道狀態(tài)。 如果要求按需建立鏈路,則移動終端IO分配緩沖器,通知UIM38并且 使用TERMINAL RESPONSE (命令成功執(zhí)行)報告信道狀態(tài)。如果要 求背景模式激活,則移動終端IO分配緩沖器,開始激活連接,通知UIM 38并且立即使用TERMINAL RESPONSE (命令成功導丸行)才艮告信道狀 態(tài)。在激活后,移動終端IO發(fā)送信道狀態(tài)事件(例如TCP連接活動或 TCP連接不活動 - 無進一步信息)。在任何時間點上, 一個承載無關協(xié)議信道只能處理一個TCP連接。 如果需要并列地第二連接,UIM 38可以在同一個或不同的端口打開第二 承載無關協(xié)議信道。如果在承載無關協(xié)議信道仍然打開時,發(fā)生TCP斷 開連接,則移動終端10可以使用信道狀態(tài)事件(即TCP連接不活動) 通知UIM 38,并且等待來自UIM 38的CLOSE CHANNEL (關閉信道) 命令。如果移動終端10不能處理該命令,則TERMINAL RESPONSE可 以包括錯誤消息或指示不能處理命令的原因。在一個示例性實施例中,移動終端10能夠與作為示例性UIM的 UICC通信??梢耘渲靡苿咏K端10的處理元件,以從UICC接收加載所 請求的應用的命令。移動終端10隨后可以確定是否能夠加載所請求的 應用。隨后可以配置移動終端以通知UICC是否能夠執(zhí)行該命令。所請 求的應用可以是例如Java MIDlet。移動終端IO可以接收到所請求應用 的TCP或UDP連接的請求。如果請求TCP連接,UICC可以向命令中 所給出的本地主機因特網協(xié)議(IP)地址上的端口號發(fā)布主動OPEN請 求。如果請求UDP連接,UICC可以向命令中所給出的本地主機因特網 協(xié)議(IP)地址上的端口號發(fā)布數(shù)據報。在任何一種況下,移動終端10 和UICC之間都通過該端口號傳送輸入/輸出的數(shù)據。因而,UICC不僅能夠打開端口連接,而且能夠通過端口打開或加載應用從而發(fā)起通信。換言之,根據該示例性實施例,移動終端10而非UICC處于服務器模式。 圖4是根據本發(fā)明一個示例性實施例的系統(tǒng)、方法和程序產品的流 程圖。應當理解,流程圖中每個方框或步驟以及流程圖中方框的組合, 可以以各種裝置實現(xiàn),如硬件、固件和/或包括一個或更多計算機程序指 令的軟件。例如,上文描述的一個或更多過程可以通過計算機程序指令 實施。在這點上,實施上文所描述過程的計算機程序指令可以由移動終 端的存儲裝置存儲并且由移動終端的內置處理器執(zhí)行。應當理解,任何 這種計算機程序指令可以加載到計算機或其他可編程裝置(即硬件)上以產生機器,以使在計算機或其他可編程裝置上執(zhí)行的指令創(chuàng)建用于實 現(xiàn)流程圖方框或步驟所規(guī)定功能的裝置。這些計算機程序指令也可以存 儲在能夠引導計算機或其他可編程裝置以特定方式發(fā)揮功能的計算機 可讀存儲器中,以使存儲在計算機可讀存儲器中的指令產生包括指令裝 置的產品,該指令裝置實現(xiàn)流程圖方框或步驟所規(guī)定的功能。計算機程 序指令也可以被加載到計算機或其他可編程裝置上以促使在計算機或 其他可編程裝置上執(zhí)行一系列操作步驟,以產生計算機實現(xiàn)的過程,使 得在計算機或其他可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖方框 或步驟所規(guī)定功能的步驟。相應地,流程圖的方框或步驟支持用于執(zhí)行特定功能的裝置的組 合,用于執(zhí)行特定功能的步驟的組合以及用于執(zhí)行特定功能的程序指令 裝置。也應當理解,流程圖的一個或更多方框或步驟,以及流程圖中方 框或步驟的組合,能夠通過特殊目的的基于硬件的執(zhí)行特定功能或步驟 的計算機系統(tǒng)實現(xiàn),或通過特殊目的的硬件和計算機指令的組合實現(xiàn)。在這點上,用于通過卡應用工具包實現(xiàn)互通的方法的一個實施例包 括在梯:作100,在推送注冊中注冊至少一個JavaMIDlet。在操:作110, 接收請求以訪問所請求的JavaMIDlet。在操作120,確定所請求的Java MIDlet是否已注冊。如果所請求的JavaMIDlet已注冊,隨后在4喿作130 加載所請求的Java MIDlet。如果所請求的Java MIDlet未注冊,隨后在 操作140發(fā)送相關消息。如上文所述,在其他實施例中,JavaMIDlet以 外的應用可以通過卡應用工具包互通。上述功能可以以多種方式實現(xiàn)。例如,可以運用任何用于實現(xiàn)上述 每個功能的適當裝置實現(xiàn)本發(fā)明。在一個實施例中,本發(fā)明的全部或部 分元件一般地在計算機程序產品控制下工作。用于執(zhí)行本發(fā)明實施例的 方法的計算機程序產品包括計算機可讀存儲介質,如非易失性存儲介質 以及計算機可讀程序代碼部分,如在計算機可讀存儲介質中實施的一系 列計算機指令。對于本領域的普通技術人員,本說明書述及的與本發(fā)明相關的很多 修改和其他實施例,具有前文描述和附圖所呈現(xiàn)的教導的益處。因此, 應當理解,本發(fā)明不限于所公開的特定的實施例,并且修改和其他實施 例包含在所附權利要求的范圍內。盡管本說明書使用特定術語,但這些 術語僅在一般的和描述的意義上使用,并且沒有限制目的。
權利要求
1. 一種通過卡應用工具包提供應用互通的方法,所述方法包括從所述卡應用工具包接收請求以訪問所請求的應用;確定所請求的應用是否已注冊;以及響應于所請求的應用已注冊,加載所請求的應用。
2. 根據權利要求l的方法,其中接收請求包括接收對JavaMIDlet 的請求。
3. 根據權利要求1的方法,進一步包括向注冊表注冊至少一個應 用的初始步驟。
4. 根據權利要求3的方法,其中所述注冊包括在注冊表中存儲所 述應用的i也址。
5. 根據權利要求1的方法,其中所述注冊包括指定與用戶識別模 塊(UIM)相關聯(lián)的端口用于通過以下之一來連接應用傳輸控制協(xié)議(TCP)套接字;以及 用戶數(shù)據報協(xié)議(UDP)數(shù)據報。
6. 根據權利要求1的方法,進一步包括響應于所請求的應用未注 冊而發(fā)送相關消息。
7. 根據權利要求1的方法,其中所述確定包括搜索注冊表中與所 請求的應用相關聯(lián)的地址。
8. —種通過卡應用工具包提供應用互通的計算機程序產品,所述 計算機程序產品包括存儲有計算機可讀程序代碼部分的至少一個計算機可讀存儲介質,所述計算機可讀程序代碼部分包括用于從所述卡應用工具包接收請求以訪問所請求應用的第 一可執(zhí) 行部分;用于確定所請求的應用是否已注冊的第二可執(zhí)行部分;以及用于響應于所請求的應用已注冊而加載所請求的應用的第三可導丸行部分。
9. 根據權利要求8的計算機程序產品,其中所述第一可執(zhí)行部分 能夠接收對Java MIDlet的請求。
10. 根據權利要求8的計算機程序產品,進一步包括用于執(zhí)行向注 冊表注冊至少一個應用的初始步驟的第四可才丸行部分。
11. 根據權利要求10的計算機程序產品,其中所述第四可執(zhí)行部 分進一步包括用于在注冊表中存儲所述應用的地址的指令。
12. 根據權利要求10的計算機程序產品,其中所述第四可執(zhí)行部 分進一步包括用于指定與用戶識別模塊(UIM)相關聯(lián)的端口以通過以 下之一來連接到JavaMIDlet的指令傳輸控制協(xié)議(TCP)套接字;以及 用戶數(shù)據報協(xié)議(UDP)數(shù)據報。
13. 根據權利要求9的計算機程序產品,進一步包括用于響應于所 請求的應用未注冊而發(fā)送相關消息的第四可執(zhí)行部分。
14. 根據權利要求9的計算機程序產品,其中所述第二可執(zhí)行部分 進一步包括用于在注冊表中搜索與所請求的應用相關聯(lián)的地址的指令。
15. —種能夠與用戶識別模塊(UIM)通信的移動終端,所述移動 終端包括保持應用注冊表的存儲裝置;以及處理元件,其能夠從UIM接收請求以訪問所請求的應用;訪問所述注冊表以確定所請求的應用是否已注冊;以及響應于所請求的應用已注冊而加載所請求的應用。
16. 根據權利要求15的移動終端,其中所述處理元件能夠接收對 Java MIDlet的請求。
17. 根據權利要求16的移動終端,其中所述存儲裝置在注冊表中 存儲包括與各應用相關聯(lián)的地址的注冊,所述應用包括所請求的Java MIDlet。
18. 根據權利要求17的移動終端,其中所述處理元件進一步能夠 搜索注冊表中與所述所請求的Java MIDlet相關聯(lián)的地址。
19. 根據權利要求15的移動終端,其中所述處理元件進一步能夠 響應于所請求應用未注冊而發(fā)送相關消息。
20. 根據權利要求15的移動終端,其中所述處理元件進一步能夠 通過指定與UIM相關聯(lián)的端口用于通過以下之一來連接到應用,從而 注冊應用傳輸控制協(xié)議(TCP)套接字;以及 用戶數(shù)據報協(xié)議(UDP)數(shù)據報。
21. 根據權利要求15的移動終端,其中所述處理元件能夠從UIM 的卡應用工具包接收所述請求。
22. —種能夠與通用集成電路卡(UICC)通信的移動終端,所述 移動終端包括處理元件,其配置用于從UICC接收加載所請求的應用的命令; 確定是否能夠加載所述所請求的應用;以及 通知UICC是否能夠執(zhí)行所述命令。
23. 根據權利要求22的移動終端,其中所述處理元件能夠配置用 于接收加載Java MIDlet的命令。
24. 根據權利要求22的移動終端,其中所述處理元件能夠接收對 以下之一的請求傳輸控制協(xié)議(TCP)套接字連接;以及 用戶數(shù)據報協(xié)議(UDP)數(shù)據報連接。
25. 根據權利要求24的移動終端,其中如果請求所述TCP連接, 則所述移動終端接收對所述命令中所給出的本地主機因特網協(xié)議(IP ) 地址上的端口號的主動OPEN請求。
26. 根據權利要求25的移動終端,其中所述移動終端通過所述端 口號向UICC傳送輸入/輸出的數(shù)據。
27. 根據權利要求24的移動終端,其中如果請求所述UDP連接,地址上的端口號的數(shù)據報。
28. 根據權利要求27的移動終端,其中所述移動終端通過所述端 口號向UICC傳送輸入/輸出的數(shù)據。
29. —種能夠與移動終端通信的用戶識別模塊(UIM),所述UIM 包括處理元件,所述處理元件配置用于向移動終端發(fā)布加載所請求的應用的命令;以及 從所述移動終端接收關于是否能夠加載所述所請求的應用的信息。
30. 根據權利要求29的UIM,其中所述處理元件配置用于發(fā)布加 載Java MIDlet的命令。
31. 根據權利要求29的UIM,其中所述處理元件能夠請求以下之傳輸控制協(xié)議(TCP)套接字連接;以及 用戶數(shù)據報協(xié)議(UDP)數(shù)據報連接。
32. 根據權利要求31的UIM,其中如果請求所述TCP連接,則所 述UIM對所述命令中所給出的本地主機因特網協(xié)議(IP)地址上的端 口號發(fā)布主動OPEN請求。
33. 根據權利要求32的UIM,其中所述UIM通過所述端口號向移 動終端傳送輸入/輸出的數(shù)據。
34. 根據權利要求31的UIM,其中如果請求所述UDP連接,則所 述UIM從所述命令中給出的本地主機因特網協(xié)議(IP)地址上的端口 號發(fā)布數(shù)據報。
35. 根據權利要求34的UIM,其中所述UIM通過端口號向移動終端傳送輸入/輸出的數(shù)據。
全文摘要
公開了一種通過卡應用工具包提供應用互通的方法、計算機程序產品和移動終端。初始地,從卡應用工具包接收請求以訪問所請求的應用,例如Java MIDlet。隨后確定所請求的應用是否已注冊,如通過搜索注冊表中與所請求的應用相關聯(lián)的地址。如果已注冊,則加載所請求的應用。該方法、計算機程序產品和移動終端也可以初始地注冊至少一個應用,如通過將應用的地址存儲在注冊表中。應用的注冊也可以包括指定與用戶識別模塊(UIM)相關聯(lián)的端口,用于通過傳輸控制協(xié)議(TCP)套接字或用戶數(shù)據報協(xié)議(UDP)數(shù)據報來連接應用。
文檔編號G06F9/445GK101401068SQ200780009110
公開日2009年4月1日 申請日期2007年3月6日 優(yōu)先權日2006年3月15日
發(fā)明者J·O·馬德森 申請人:諾基亞公司