專利名稱:一種為特定類型的無線計算裝置自動構建定制應用軟件的方法
技術領域:
本發明涉及一種為特定類型的無線計算裝置自動構建定制應用軟件的方法。其提供一種迅速而有效地向大量無線計算裝置配置功能強大的網絡中心應用軟件的途徑。
2.術語定義
本說明書中使用的定義如下
移動電話電話的一種,其經無線技術通過空中而不是通過物理電線或其他物理連接或電纜形式與電話網絡連接。
移動電話,電話,移動,移動手機或手機移動電話的一種。
移動網絡一種網絡,其為移動電話提供無線連接,使它們能夠操作及提供諸如打電話或訪問居于網絡的數據或服務。
移動網絡運行商(MNO): —種公司或組織,其操作移動網絡和在該網絡上使用移動電話的訂戶或用戶。
全球移動網絡或移動電話網絡世界上由移動網絡運行商操作的所有的移動網絡的總和。
無線網絡一種為客戶端計算裝置提供無線連通的網絡。這種網絡包括 Wi-Fi, WiMAX和全球移動網絡。
服務器一種網絡化的計算裝置,其用于為與其連接且向其要求服務的一個或多個客戶端計算裝置提供網絡應用軟件服務、特性和功能,如信息供應、數據庫搜索和處理。 一般各個服務器有多個客戶端,且各客戶端通常比服務器的有較小的容量和計算性能。
服務網絡化計算服務、特性和功能,其典型地由服務器提供給一個或多個網絡連接的客戶端計算裝置。服務包括提供信息,數據庫搜索和處理。由于客戶端計算機的容量和性能,這種服務構建實用于在網絡中心配置,而典型地不實用于在客戶端計算機上配置。
客戶端一種計算裝置,其連接到為該應用軟件的用戶或消費者傳送中心網絡應用軟件的特性和功能的網絡。該客戶端典型連接到服務器且請求服務。
網絡應用軟件一種網絡中心的應用軟件或服務,其中其由在客戶端運行的實施該應用軟件的界面功能的軟件的結合被傳送至終端用戶或消費者,由服務器上的軟件提供的服務進行維護和增補,客戶端通過網絡訪問該服務器。
無線計算裝置一種客戶端,其經無線網絡連接到該網絡。這種裝置包括移動電話,個人數字助理(PDA),游戲控制臺(如索尼PSP)或其它連接客戶端計算裝置的網絡。該類型的無線計算裝置還由它的廠商,構造,版本,操作系統,固件版本進行定義。
無線裝置或無線客戶端一種無線計算裝置。
軟件應用客戶端應用軟件,其通過空中被傳送至、或預先安裝于無線計算裝置。
軟件組件軟件個體單元,其形成軟件應用的組件,其為無線計算機裝置而定制和是裝置自適應架構(DAA)軟件庫的部分。
移動內容數字文件和數據,表示移動電話使用的、消費的、播放的、觀看的或提交的電子產品。例子包括鈴聲/鈴曲,壁紙/圖片,屏保/動畫,實聲/真聲,完整音樂下載, 視頻,SMS和麗S報警,移動游戲,以及許多其它現有的及正出現的移動電話可消費的娛樂和/[目息廣品。
元數據數據或數據集的單個條目,其潛在地分級聯系,其說明無線計算裝置、無線網絡、軟件組件、網絡應用軟件或移動內容的屬性或行為。
3.公知技術
在撰寫本申請文件時,世界上的移動電話比個人計算機(PC)多。移動電話的屬性是其開通的時間且在其擁有者現場的時間比PC長。這些手機是日益強大的具有豐富的功能和高性能的硬件的計算機,如果其與世界上大量移動網絡連接,且籍此連接到因特網,提供令人注目的平臺以向其使用者傳送大量重要的網絡應用軟件。
全球移動網絡,是使大量具有明顯不同的操作系統和平臺的無線計算裝置,連接到該網絡且能夠傳送網絡應用軟件的第一種網絡實例中的一例。由于具有少得多的客戶端操作系統和平臺變量,PC主導的因特網網絡與全球移動網絡具有顯著的不同。即使因特網上的客戶端是功能非常強大的計算裝置,但是受諸如微軟和蘋果公司提供的小數目的操作系統的主導,它們的主要功能彼此相似。
這樣的結果就是一個人只要在微軟視窗里PC因特網創建網絡應用軟件的客戶端組件,或者還有下一個或兩個最流行的客戶端架構,那么就他可以在大部分的現有裝置上實施行為相似的網絡應用,從而擁有一項技術上和商業上潛在功能強大的產品。此外,在PC 因特網世界里,通過應用軟件一具體的操作系統或平臺,選擇創建網絡應用軟件的客戶端部,可以有效地把相似的用戶群作為目標。例如,如果有人要為公司的金融主管們創建網絡應用軟件,通過創建與微軟視窗兼容的客戶端軟件,就可以使其大多數得到支持。
對全球移動網絡來說并不是這樣。與PC因特網上的相比,其具有多得多的不同的無線客戶端操作系統和平臺。因此,且也因為增進和添加到移動電話的功能和特性的極快速的發展,裝置各不相同,用于訪問和控制其行為的操作系統和平臺也是這樣。此外,通過其作用來識別和確定使用相同或非常相似的無線裝置的目標用戶群是不可行的。
一般來說,能夠實施網絡應用軟件的無線客戶端越多,對于應用軟件的供應商來說,由于能接觸到更多的消費者,所以就有更大的獲利機會。因此,這種網絡應用軟件的供應商特別感興趣的就是向盡可能多的客戶端配置軟件。
網絡應用軟件和服務在網絡PC世界里很常見,由于因特網的容量和由此帶來的潛在的用戶數目,其表現出非常大的商業機會。有少數方法,其實施客戶端部應用軟件的軟件是現場建立的。這類方法有如下這些
I.定制應用軟件
可以作為網絡應用軟件的客戶端的終端用戶計算機裝置(如PC) —般提供可運行軟件程序的平臺。這些平臺典型地是計算機的操作系統(如,微軟視窗,Linux,MacOS, Unix,等)或者是允許運行軟件程序的操作系統頂部的平臺層(如Java)。定制應用軟件是由能在這些平臺中之一運行的軟件創建的。應用軟件里的該軟件向平臺發出呼叫,且平臺又為該應用軟件進行服務(如繪制視窗或通過網絡發送信息)。
這些平臺典型地具有一套非常豐富的可用于該定制應用軟件的特性,實際上它們通常提供計算機的所有特性和功用。因此這種定制應用軟件能夠提供非常豐富的用戶界面、廣泛的功能性且通常能做任何客戶能做的事。大眾所知這種應用軟件的例子(盡管不全集中于網絡)是諸如Word, Excel和PowerPoint的微軟辦公工具。
由于諸如微軟視窗的PC平臺的主導,開發出定制應用軟件且使其在世界的許多 PC里成功運行成為可能。但是,如果該應用軟件需要在多于一個的平臺上運行,則該平臺需要該應用軟件的一個端口,或者如果該平臺顯著不同,則要求全部重寫應用軟件。設置端口和重寫應用軟件是非常大的且昂貴的工程,隨著應用軟件里各附加特性的增加,需要的努力隨之提聞。
總之,定制應用軟件為終端用戶體驗提供可能最豐富的特性套和最好的界面,但是由于從一個平臺設置到另一個平臺所必需的工程努力,這些應用軟件只可行于相對少數目的平臺。
該方法的問題在于,除非網絡應用軟件的客戶端部完全將端口設置至新的客戶端平臺,否則其不能在新客戶端平臺上運行。在PC世界里這不是問題,其不要求端口應用軟件,且在任何情況下只有少數客戶端平臺和非常少的新客戶端平臺,但是通過比較其無數現有的操作系統和無線裝置的類型,及以空前速率的恒流進入市場的新客戶端裝置,全球移動網絡呈現出及其復雜的問題。
2.萬維網應用軟件
萬維網(WWW)最初設計作為基于網絡的交互文件查找與導航系統,其允許用戶瀏覽從一個文檔到另一個潛在于不同機器上的,潛在于世界的另一邊的文檔之間的鏈接。這項技術非常便利,通過編寫的文檔的標準標記語言,稱為超文本標記語言(HTML)和HTML瀏覽器。HTML瀏覽器是運行于用戶的客戶端的應用軟件,顯示HTML文檔及允許應用軟件HTML 超文本鏈接在文檔之間導航。
因為HTML瀏覽器很快為大部分客戶端計算機所編寫,所以這項技術變得非常流行。這意味著所有網絡計算機用戶能獲取相同的,甚至擴展到世界范圍的信息和文檔庫。也意味著希望發布信息的人只需要一次用HTML標記文檔,就能使其為世界上大多數網絡計算機所獲取。
隨著時間的流逝,用戶對WWW技術的要求越來越多且增加了更多的特性。新特性包括將少數軟件添加嵌入進正被播放的網頁里的性能(applets和腳本),其反過來允許利用更多的客戶端性能,創建更多的功能應用軟件。其它特性包括數據收集和通過網絡收集到服務器上的軟件服務的數據的遞交的窗體。
最后的結果是,可以在WWW服務器上實施相當功能的網絡應用軟件,世界上大多數應用軟件瀏覽器的客戶端計算機可以訪問和操作該應用軟件。這表示出與定制應用軟件截然相反的一面,因為盡管WWW應用軟件不能用于在客戶端創建豐富功能性的應用軟件, 但是其不用在各個不同的平臺設置端口,就可以在世界上大多數PC客戶端計算機上運行。
這種類型的WWW應用軟件這里妥協方案是,HTML瀏覽器是網絡應用軟件的客戶端部獲取客戶端性能的平臺。但是,HTML瀏覽器獲取的是客戶端操作系統的明顯較少的特性和通常功能明顯較小的特性。因此,能在WWW應用軟件里實施的特性范圍比定制應用軟件的小且不豐富。此外,因為HTML是所有HTML瀏覽器的一般解釋的標準,可用于WWW應用軟件的特性對所有客戶端平臺來說是通用的。這在無線移動網絡表現一個問題,移動客戶端的特性進化得太快,以至于它們不但不通用,而且期望實現使用來自不同無線裝置的不通用的特性,包括最新的特性的網絡應用軟件。
Wffff應用軟件可用以實施豐富的特性和更高級的客戶端具體的應用軟件代碼的方法,例如通過嵌入式的微軟ActiveX或Java代碼。其使應用軟件實現Wffff應用軟件和定制應用軟件或WWW應用軟件和一次編寫到處運行應用軟件(取決于嵌入式代碼的屬性)的結合,且具有這兩種類型的應用軟件的結合問題和局限性。
3. 一次編寫到處運行應用軟件
一次編寫到處運行應用軟件目的在于提供最好的定制應用軟件和WWW應用軟件領域的特性。從其名稱可以看出,該應用軟件只定義一次而有相同一致性的且功能豐富的應用軟件,將在許多平臺上運行且不用向該應用軟件設置端口。這可以從以下兩種方法中之一來實現
i) ‘虛擬機’
虛擬機是一種中介軟件平臺,設置在客戶端自己的平臺(如操作系統)里且運行一次編寫到處運行應用軟件。該方法的實現是因為應用軟件可以逐行被虛擬機讀取,且在運行中指令被解釋為相應的客戶端平臺的本地調用。
該方法的最后結果是,如果虛擬機為每個重要的客戶端平臺編寫,則有人可以開發該虛擬機兼容的單一的計算機程序,該虛擬機不用在各個客戶端平臺的應用軟件設置端口,就可以生成比WWW應用軟件功能更豐富的用戶體驗(因為能獲取更多的客戶端平臺的特性)。本技術的例子是Sun微系統Java。
本方法的問題是,如果客戶端軟件具有任何內在復雜性(如屬于科學性的,利用軟件思路,具有近似實時的制圖法或任何其它的實時性能),則類似應用軟件的實施變得更難以保證通過多種不同類型的客戶端。這就是移動Java游戲從不在所有的Java客戶端上運行,而只在已經由該游戲的創作者專門測試以確保用戶體驗仍然相同的小子集里運行的原因。這是程序員經常說的“一次編寫,各處調試”的原因。用虛擬機技術,該問題無法消除。
ii) ‘偽碼編譯器’
偽碼編譯器應用軟件不同的方法獲取相似的結果。與虛擬機相似,表示該應用軟件的軟件是一次編寫且以為能被其它軟件解釋的高級形式表示。然而,其不是在運行中解釋應用軟件代碼的各個目標客戶端上實施虛擬機平臺,而是在該應用軟件代碼被發送到客戶端之前,編譯器通讀該應用軟件并創建(編譯)直接在客戶端操作系統平臺上運行的本地應用軟件。
這樣可以開發具有豐富特性的應用軟件的單一表示法,且其可以在裝有編譯器的任何客戶端運行。這種系統的一個例子是Sybase’ s PowerBuilder (應用軟件‘P_碼’技術其也可以附帶地實施虛擬機體系結構版本)。
除了必須為各個目標客戶端平臺重新編寫編譯器或解釋器的情況之外,這兩種方法的問題與定制應用軟件的問題都是一樣的。類似地,具有很少操作系統的PC世界里沒表現出大問題,但在除非你能首先輸送編譯器或解釋器,否則你就不能輸送應用軟件,這幾乎是不可克服的障礙。
總結這三種方法,PC網絡應用軟件可被開發為
定制應用軟件,如果你希望有豐富的特性和功能但只希望其在小數目類型的客戶端平臺上運行,或
· WWW應用軟件,如果你希望定義它們一次,讓它們各處運行,但樂于忍受有限的用戶體驗,或
一次編寫、到處運行應用軟件,如果你希望定義它們一次且讓它們在許多平臺上運行。
在移動電話世界里,環境顯著不同。主要的區別如下
有更多使用中的移動裝置連接到許多不同的移動網絡。
有明顯更多的各具有潛在多的客戶端平臺的移動電話廠商,導致應用軟件必須在更多種客戶端平臺上運行。
隨著越來越多特性的增加,移動電話的性能變化非常快。最終結果是兩個不同的移動電話可以有完全不同的性能,與趨于非常相似的PC客戶端完全不同。
為了最大化應用軟件移動電話技術傳送網絡應用軟件的商業潛力,必要條 件是
使應用軟件能在盡可能多的移動裝置上運行;
使應用軟件在發表時就能快速試用于新的電話;
使應用軟件能利用各移動裝置的最好和最適當的特性,而反對
在各處僅運行同一應用軟件定義。
世界上大多數移動電話具有無線應用協議(WAP)或安裝有超HTML (xHTML)瀏覽器。這些瀏覽器和基于標記語言的關聯文檔直接與WWW應用軟件的體系結構直接兼容。利用這項移動電話技術可以開發出一種幾乎能在世界上所有手機上運行的網絡應用軟件。問題是,與WWW應用軟件的限制類似,WAP和XHTML只能利用各移動電話性能的非常小的子集。由于不能獲取到電話的最高級特性,就不可能利用這些技術來開發功能最豐富的用戶體驗。
現在相當大部分的移動電話都帶有可以實施應用軟件的客戶端平臺。這些明顯多數包括Java(或Java 2移動版本-J2ME)、Symbian和Brew。Java是這些技術中被最廣泛采用的,但是,像Symbian和Brew,應用軟件該技術創建的應用軟件仍然具有嚴重的問題和局限性。幾乎有二十億實例的數千種不同類型的電話在上百個不同的移動網絡上運行。這帶來了 Java平臺和客戶端應用軟件的創建通常具有下面的問題
籲不同的電話具有不同版本的Java。
不同的電話具有不同的Java缺陷。
不同的電話具有實施該Java平臺的不同部分。
各部電話具有許多不同發行版本的操作系統和固件,這意味著不同時代相同類型的電話工作方式不同。
相同的電話可以存在幾個身份(例如,MNO標記的電話版本)。
每部電話具有不同的物理特征,如屏幕尺寸,像素數目,顏色深度,鍵盤控制,軟鍵特征等。
每部電話具有不同的計算性能,如處理器的速度和存儲容量。
每部電話具有不同套的媒體文件和格式,能通過Java顯示(如音頻,圖片,視頻,動畫,等等)。有時這些從格式上就不同,電話讓用戶使用本地電話應用軟件,如設置屏幕壁紙。
每部電話具有不同的軟件限制(兩部電話可能具有相同存儲容量但它們允許應用軟件使用不同的容量)。
每部電話具有不同套的媒體文件和格式,其能為電話操作系統處理,且其與那些能被Java或者電話上運行應用軟件的平臺處理的具有潛在的不同。
電話以許多不同方式處理它們的網絡連接,技術不同,設置不同,用戶提示不同,電話發送和處理設置的方式不同,管理連接的方式可能不同。
不同電話具有不同的網絡性能和處理方式(如CSD,GPRS,2G, 2. 5G, 3G, WAP, SMS, 藍牙,紅外線,W1-Fi, WiMAX等等)。
這意味著盡管像Java的軟件語言結合平臺,可用于世界上非常大部分的電話,且提供有用的程序語言,以配置可以使用電話高級特性以生成豐富的用戶體驗的應用軟件, 實際上每個不同電話要求定制應用軟件用于導航和減少它們的許多差異。
以前沒有這樣的技術、平臺或方法,能夠應對快速且高效地為各裝置最優化的無線計算裝置傳送功能最豐富的應用軟件的挑戰。
因為所有電話以這些方式而有某些程度的差異,傳送使用各電話的最高級特性的應用軟件到大多數電話的唯一方式是,向各不同手機傳送定制應用軟件。如果使用傳統的方法的人遇到這種問題,無論使用哪一種方法,最終結果將出現紊亂和難以計數的端口設置。這將以新的代碼“流”為各個新電話創建應用軟件而結束。這是非常昂貴的,而且隨著你添加的源代碼流越多,維護變得越來越困難。最終結果是必須付出昂貴的代價,以創建調諧應用軟件的源代碼以適用于各裝置的應用軟件。很明顯,需要一種新的方法。發明概要
一種定制的軟件應用軟件,可以通過以下方式構建到特定類型的無線計算裝置 Ca)自動確定該種無線計算裝置的屬性;(b)基于在(a)中確定的屬性值自動確定軟件組件庫中的哪些軟件組件與該種無線計算裝置兼容;以及(C)自動將兼容的軟件組件結合起來,以生成與該種無線計算裝置兼容的定制應用軟件。該屬性可以是元數據。
該方法可使豐富的網絡應用軟件自動構建于各種類型范圍的無線計算裝置。本發明的實施稱為裝置自適應架構(Device Adaptive Architecture, DAA),其滿足了最大化利用移動電話技術向無線計算裝置傳送應用軟件的效用和經濟潛力的需求,因為其
可使應用軟件在盡可能多的移動裝置上運行;
可使應用軟件在新的電話發行時就快速授權安裝;
可使應用軟件能利用各移動裝置的最好和最適當的特性,而反
對在各處僅運行同一應用軟件定義。更詳細的細節和方面在權利要求中進行說明。
發明的詳細說明
本發明將參照裝置自適應架構的實施進行說明。DAA以最有效的方法解決創建一平臺以在最大數目的無線客戶端裝置里實施功能最豐富的網絡應用軟件的挑戰的原理是
每個手機需要獨特的應用軟件以最大化用戶體驗。
說明電話性能與特性之間的不同,從此主要以元數據而以軟件來表示。在手機試用過程中收集的元數據的例子可在附錄1-手機元數據里找到。還提供該數據如何在裝置間進行變換的例子。
各電話之間差異的參考點是用以表示該電話的元數據(見附錄1-手機元數據)。 盡管此元數據實際上是用以選擇形成軟件應用的個體軟件組件,該參考點是電話的元數據,因此軟件應用可以被刪除和重建。
特定手機的軟件應用是由裝置自適應架構自動創建的,該自適應架構軟件一方面應用軟件用于說明裝置的獨特性能和特性的元數據(見附錄1-手機元數據),另一方面應用軟件用于說軟件組件庫的元數據,該軟件組件可以被動態編譯進適合該裝置的應用軟件中(見附錄2-手機軟件組件庫)。該手機軟件組件庫全都是小軟件組件,與較大少量的粒狀要素相反。基于說明功能的元數據和配置各軟件組件的方法和說明裝置屬性的元數據,各軟件組件可被選用以形成軟件應用的一部分。見附錄3-映射手機元數據到軟件組件的例子。
一種元數據說明各手機的獨特屬性的快速方法,用于為該手機創建定制軟 件應用,其可以被添加至平臺。如果手機不需要任何修改使用現有軟件組件的結合被試用,則通過單獨配置手機元數據來完成。如果新的或現有的軟件代碼需要做工程,則新的或現有的關聯說明的元數據的軟件組件將在庫里被添加或改變。
一種快速方法,通過該方法,當發現手機使用庫里尚不可用的方法和技術實施功能時,可以在庫里添加或修改新的或現有的軟件組件。可以通過將包含該軟件的新文件放置于該庫文件系統中而迅速添加新的或修改的軟件組件。其由元數據進行補充,該元數據說明軟件組件的應用條件或其被配置以用于軟件應用的創建內的方法。
掌握元數據和標記語法,其以最少數目的開發的手機具體軟件,允許許多不同的網絡應用軟件被實施于該新支持的手機,該手機具有量的的手機特殊,上部具有附加的。 見附件4-終端用戶應用軟件元數據和標記。
安裝后在電話里動態更新軟件應用的性能。
使客戶端能夠向服務器報告它的狀況和鍵參數的性能,以允許用戶進一步調整。例如軟件應用可以運行測試以確定客戶端當前可用的穩定動態的堆內存空間,該堆內存空間影響的為客戶端軟件應用制作的任何桌面更新的大小,以避免超過被允許的最大內存容量。
對軟件應用的每個獨特的例子進行歸檔。
支持新手機首先要做的是要求手機進行試用。在手機里下載一個簡單的通用的測試應用軟件,其識別可用于手機平臺的核心包。使用該信息與手機性能結盟的測試應用軟件被動態選擇。下載到手機的測試應用軟件電子地調查手機的性能和特性,且也包括被發現在其它電話里的歷史缺陷的測試。這種測試應用軟件累加其測試的結果作為一套表示許多電話的屬性和特性的元數據。然后,該元數據被寫進數據存儲,且涉及電話的類型和創建 (見附錄1-手機元數據)。
然后執行各種手機性能和特性的手動檢查和測試,針對手機從測試應用軟件里補充最初數據集,其結果同樣存儲于數據存儲器。一旦恢復所有信息和完成所有最初測試,則有足夠的數據以可能應用軟件該平臺為新手機創建定制軟件應用。
不被用于手機的軟件應用的創建的各種其它手機的具體信息也被收集。收集該信息以用以支持為該手機創建的軟件應用的操作的系統中。例如,網絡設置存儲的地點,就是特定的手機被記錄的地方,所以在應用軟件中合適的點,用戶可以得到手機具體引導的幫助。見附錄I-手機元數據中的‘用戶助理性質’。
裝置自適應架構(DAA)的中心是引擎,其動態的為各手機,或潛在的手機/移動網絡結合動態創建軟件應用。該DAA讀取表示手機性能的元數據,然后相互參照這些性能與說明庫里軟件組件的性能和配置選項的元數據,見附錄3-映射手機元數據至軟件組件的例子。然后,DAA結合所選的軟件組件,該軟件組件以所要求的方式配置進為手機和潛在的移動網絡結合定制生成的客戶端軟件應用。
然后這表示為該特定的手機定制的軟件應用是,其實際上是執行應用軟件的平臺而不是功能的終端用戶應用軟件本身。換句話說,該練習已動態且自動地創建應用軟件執行平臺,其被下載至該手機且需要一應用軟件,其本身用元數據定義,以實際實施終端用戶應用軟件或服務,見附錄4-終端用戶應用軟件的元數據和標記。然后,說明該應用軟件的元數據被添加到已生成的應用軟件執行平臺軟件,且結果是,一安裝就在手機上運行的軟件程序實施該終端用戶應用軟件。
每次為特定手機創建軟件應用,該應用軟件的一個實例就被存儲于創建存檔中。 該存檔包含軟件應用各版本的上百個不同的創建作為歷史記錄。應用手機元數據和軟件組件版本和當時有效的相關元數據,通過簡單地重-運行DAA的動態創建程序,也可以在任何時候復制歷史創建。
然后,候選的軟件應用創建通過基于人性化系統測試程序,確定在新手機上正確操作該應用軟件。結果有時是完全成功的,有時要求改變手機元數據,重建應用軟件且重新測試,有時某些軟件組件需要進行工程維護或重建該應用軟件及后續的重測試之后需要創建新的軟件組件。最后,完全功能性的軟件應用可用于該手機,當通過系統測試后,其即被提取至生成系統以實現終端用戶的實際使用。
手機所連接的特定的移動網絡也能影響該手機的應用軟件的創建。對于DAA來說,詳細了解MNO和其網絡配置與了解手機的詳情一樣重要,以使正確創建的MNO在需要的時候被傳送至該手機。詳情見附錄5-網絡運行商元數據。
當用戶裝置通過網絡連接到系統請求下載應用軟件時,手機告知系統其用戶代理軟件(UAPiOf)。其說明電話廠商、模型和固件。有時手機必需的應用軟件也必須定制給用戶所連接的移動網絡,有時甚至是其與MNO之間付款合同(如預付或月付合同)。在這種情況下,該手機連接的移動網絡或者由建立在請求SMS內部的MNO信息,SMS通過的路由,通過其可以進行請求的MNO網關的IP地址,經MNO核心網查找(例如SS7/HLR,若可用的話), 針對MNO號碼范圍的分配和端口號碼數據庫查找電話號碼(MSISDN)進行探測,或者下載前由用戶在屏幕上的簡單要求進行探測。該系統使用其可用的最可靠的方法。UAPiOf,潛在地與MNO的詳情和付款合同類型相結合,是為連接的手機的下載而表示為選擇正確的先前生成的應用軟件的關鍵。
為了實現終端用戶付款或終端用戶跟蹤,和潛在的終端用戶支持的目的,能夠單獨和分離識別被每個手機下載的每個軟件應用的實例,和安裝有軟件應用實例的手機的移動電話號碼(MSISDN),是很重要的。為此DAA在下載前或下載當時在應用軟件里創建獨特的參考號碼。在服務器數據存儲里該參考號碼關系到用戶的MSISDN,該用戶的MSISDN是當它們請求應用軟件時從終端用戶獲取的(如從SMS請求應用軟件或從收集于網頁表格的 MSISDN,等)。當前客戶端登陸的應用軟件隨后向服務器請求服務時,其將自動提供獨特的應用軟件實例ID。MSISDN應當是必需的則該獨特的實例ID可被用于查找。
我們已經討論,如何為各移動電話定制由DAA自動生成的軟件應用,該移動電話由廠商、裝置類型和潛在的固件(嵌入式裝置軟件)版本或裝置連接的移動網絡進行識別。 當裝置連接到服務器為獲取應用軟件的目的時,服務器確定這些可變的屬性,并為該手機選擇合適的應用軟件。
但是,在用戶電話里預先安裝這種應用軟件,當用戶獲取他們的手機時該應用軟件就表示在移動裝置上,這存在明顯的商業機會。
在用戶獲取電話之前,可以在移動電話里預先安裝應用軟件有兩個典型的階段。 第一是由其供應商(或制造轉包商)在裝置的制造過程中。第二是供應鏈中為終端用戶(或者移動電話批發商或者零售商)在裝置里配置/提供便利時。
在這些情況的任一個中,移動電話在連接到、或可能連接到規定(控制其設置)移動電話的設備的某些點。我們的系統在該點上與規定設備相接口,這樣其可以訪問預先安裝在手機上的任何軟件應用版本。
以這種方式將制作的合適的應用軟件使其可用于規定設備,其能夠設置于移動裝置。但是,因為安裝在手機里的應用軟件可能無法獲取移動電話的MSISDN,這與向每個單一的裝置提供獨特的軟件應用不同,該裝置在應用軟件內具有嵌入的獨特實例ID參考,該實例ID參考可被傳送回服務器,且以此關系到用戶的MSISDN,以達到付款的目的(舉例)。相反地,該應用軟件為所有移動電話所公用,該移動電話享有相同的供應商、模型、固件和連接它們的潛在的移動網絡。因此在移動電話里安裝該應用軟件后,與MSISDN的關系必需制作成可回顧的。其完成如下
I.具體的移動電話/網絡結合的應用軟件預先安裝在手機上,通過與移動電話規定設備界面連接,且向其提供其所需的所有應用軟件創建和與各軟件應用版本相關的供應商/模型/固件/網絡信息,因此可以選擇及安裝正確的應用軟件;
2.移動電話為終端用戶所獲取;
3.終端用戶開啟該裝置,發現該軟件應用且啟動它;
4.當軟件應用連接到服務器時,將其本身說明為預先安裝的應用軟件(通過用沒有關聯的應用軟件實例ID制作請求),且表示涉及被用于所選裝置的軟件應用的屬性的信息(如電話供應商/模型/固件/網絡)。
5.該信息足以允許服務器創建實例記錄,應用軟件相關聯的獨特ID,為該軟件應用且將這個獨特參考賦予該軟件應用的實例。該獨特ID通過網絡傳送回軟件應用,該應用軟件本地存儲該ID且將其表示在所有后續的服務器服務請求上(就如其最初被創建于軟件應用一樣)。
6.從上述最初表示的數據中,服務器也能夠確定適合該裝置的內容類型,所以該內容應用軟件能為手機傳送正確的移動內容的類型和格式。
7.因此終端用戶不需要要求電話MSISDN的系統,就可以使用全部的軟件應用。
8.如果用戶獲取部分的要求MSISDN的軟件應用,且該MSISDN可訪問該軟件應用, 則其被讀取且發送至服務器作為請求服務的部分。然后將其寫入服務器的數據庫,在該服務器中其將關系到應用軟件的參考ID。因此其將不再被要求從軟件應用里發送。
9.如果用戶獲取部分要求MSISDN的軟件應用,而該MSISDN不能訪問軟件應用,則取決于與手機結合的軟件應用的性能,將出現如下情況
a)如果手機提供具有發送SMS功能的軟件應用,則SMS將被發送至包含軟件應用的獨特實例ID的服務器。該SMS由服務器接收且使服務器能夠將獨特的應用軟件實例ID 與其從即將引入的SMS里確定的MSISDN相關聯起來。
b)如果軟件應用用于連接到移動網絡的方法允許將MSISDN提供至服務器(如經專門的調制解調器,其將連接的MSISDN設置于請求標題上,或經MNO通信網關,其可以在通信的頭部里提供MSISDN),則這可被服務器用于探測MSISDN,且在服務器的數據庫里在 MSISDN和應用軟件實例ID之間建立關聯。
c)如果a)和b)都不可行,則軟件應用必須要求用戶手動在應用軟件的用戶界面里輸入他們的MSISDN。這項完成后被發送至服務器。然后,該服務器可以將該軟件應用的 MSISDN與應用軟件的獨特的實例ID聯系起來。如果使用該方法,服務器可能采取額外步驟以確保安全性或MSISDN的精確性,如向輸入的MSISDN返回一 PIN號碼,用戶需要用它進入軟件應用以開啟任何購買的特性。
使用這個裝置自適應架構的軟件應用創建對終端用戶有很大的反響。原因是用于定義終端用戶應用軟件的元數據和標記語言(見附錄4-終端用戶應用軟件元數據和標記) 作為數據被本地存儲于軟件應用的客戶端。這意味著DAA為該客戶生成的應用軟件執行平臺,使用該本地資源以運行終端用戶應用軟件,因此呈現出速度。
顯示諸如新聞或鈴聲的內容清單的軟件應用可以利用該便利將其內容結構緩存在終端用戶應用軟件元數據定義中。這意味著當終端用戶運行該應用軟件時,其表現非常快速,因為其不用連接到服務器以獲取內容清單。
客戶軟件應用能夠請求更新表示終端用戶應用軟件的元數據的任何要素,也就是應用軟件可在空中完全更新。從在一個菜單里更新內容清單的簡單請求,到更新終端用戶應用軟件里的所有內容或更新終端用戶應用軟件本身的全部定義的請求范圍,有效地潛在地改變軟件應用的全部屬性。
終端用戶應用軟件以數據文件或定義菜單、子菜單、感觀要素、屏幕層和任何應用軟件中的參考內容的桌面進行壓縮包。屏幕以XML定義,使用XML參考其中的資源和內容。 屏幕定義與內容和表示資源一起被存儲且被轉換為二進制以與軟件應用一起壓縮包。桌面可與其它桌面相關聯。如果需要關聯的桌面不在客戶端上,則將向服務器請求。各桌面由數據流填充,該數據流或者是存儲于軟件應用的文件、存儲于本地內存的記錄或者是來自服務器的文件。
桌面里的各桌面或項目具有可選的期滿日期,以使其可能屆滿,從服務器下載新版本代替正被使用的本地桌面。這有效地實施像圖表或每日變化的新聞的特性。無論何時用戶使用部分使用桌面的終端用戶應用軟件時,將設置且通過期滿日期,則運行來自服務器的更新機制。
取決于期望更新的頻率和在手機里各位置可用的空間,則具有用于存儲不同數據的不同類型的桌面。在更多動態桌面里的項目可以不考慮在較少動態桌面里的項目。(例如,桌面儲存于應用軟件的系統里的配置可被稍后的應用軟件到服務器的桌面流的改變而延遲)。
服務器也具有在應用軟件中不考慮任何桌面的性能,當軟件應用連接至服務器時可以實施。這影響服務器促進終端用戶應用軟件進行刷新或更新。通過參考客戶端上的要素和提供新要素,服務器將提供該元素的更新。
軟件應用經網絡連接至服務器下載資源,且資源下載的同時有個等待,客戶端應用軟件可以顯示動畫和進度條。動畫的目的是為眼睛提供一些娛樂及減少感觀的等待。進度條提供進度的一些提示。其中客戶端平臺上沒有動畫庫,這些庫被提供于軟件應用中。它們是利用客戶端平臺使用X/Y坐標在部分客戶端屏幕里實施全部或部分圖片的性能來創建的。當在這些圖之間與時間相結合,則其效果是一種動畫。
作為針對手機和移動網絡而記錄的部分元數據的是關于特定移動網絡的合適的網絡連接設置的信息,空中給手機等傳送這些網絡設置的機制,以及手機/MNO結合是否可能要求設置。
平臺可以使用該信息以試圖自動地向手機規定通信設置,當它們看起來不存在時,或向終端用戶提供開始向其本身發送設置的機會。其也可以在有終端用戶設置請求時向任何附加的手動配置提供指令。
客戶端軟件應用向服務器作出的所有請求被記錄在服務器上的查帳索引里。為在查帳索引里進行記錄的相同的目的,在客戶端軟件應用上的所有標記于終端用戶應用軟件的元數據定義的要求跟蹤的的行動被傳送至服務器。這意味著由于收集了消費者使用的豐富數據,非常復雜的消費者關系可被管理。例如這些非常豐富的使用數據可以被視為一套系統操作的主要執行指標。
客戶端應用軟件里的所有錯誤被客戶端軟件應用所記錄,且在下一次客戶端成功與服務器通信的機會里被傳送給服務器。這允許建立如何在一般大眾手機里實施客戶端軟件應用的詳細的情況,在任何當前靈敏的手機里可被用于查找趨勢。該信息也可以被用于識別具體的新發行手機的固件版本,該固件版本引入了需要用手機元數據調整進行處理的缺陷。
該系統包括一套完整服務管理的繪圖工具,其允許Omnifone (英國移動音樂公司) 的合伙人管理他們自己的系統。這些工具是各種可配置的控制終端用戶應用軟件的元數據的視窗。通過簡單改變服務的元數據要素,如應用軟件流或內容結構,就可以改變應用軟件的屬性。
記錄客戶端和服務器之間所有的互動,系統因而得知在客戶端和服務器之間通過的數據流的總量。這關系到什么時候使用網絡數據有相關成本,只要我們有由任何軟件應用從服務器傳送出或傳送到服務器的字節的總數目,所以我們可以算出所達到的使用水平及所需的后續成本。
服務器監視著系統尚未見過的針對系統的新電話的使用。如果新手機試圖下載一種平臺找不到匹配的軟件應用,系統將通知系統管理員。此外,將為來自這樣的各個裝置的請求計數,所以系統管理員可以根據潛在的用戶的數目看到哪些裝置是下一個最重要的管理對象。
服務器實施一種“發送給朋友”特性,其可以容易添加至客戶端軟件應用。使用時, 其在手機菜單上顯示發送給朋友選項。被選用時,用戶可以輸入朋友的MSISDN,如果允許的話有時經由他們的電話地址本,和可選的祝福用語。該用法告訴服務器將該應用軟件發送給具體的朋友。這使用如WAP推送或MMS技術來完成。
該軟件應用允許顯示播送至現有的終端用戶應用軟件的基本用戶的廣告信息,其允許將所有的或一子集用戶作為目標,經軟件應用接收廣告信息。該廣告信息是一種以服務器推送方式傳送的信息,且被發射在適當的屏幕上。這可很便利地通過所述的服務器所具有的通過進行服務器推送來改變終端用戶應用軟件的靈活性來實現。
DAA不只 適用于向移動電話(或無線計算裝置)傳送應用軟件。其適于需要創建應用軟件且被傳送至大量的客戶端計算裝置的情況(包括非無線客戶端計算裝置),其中
對所有裝置來說所需的應用軟件都是相似的;
許多裝置之間有很多不同,但它們本質上是相似的,且客戶端之間的不同可以用元數據進行說明并且可被裝置自適應架構用于創建該應用軟件;
將要配置的應用軟件受益于能夠理解裝置之間的不同,且為各裝置提供最可能好的功能和特性;
該應用軟件應當被說明/表示一次,或盡可能少的次數,表示裝置特征的元數據被用于創建各裝置要求的定制應用軟件,而不是通過傳統的端口做法將各裝置的應用軟件所要求的差異說明于該應用軟件所到達的各個版本。
附錄1-手機元數據
本部分包含在手機試行階段為各手機收集的元數據類型的詳細資料。該元數據按理論分組并加以說明。提供多種各裝置的元數據值如何各異的例子。
收集的使手機能夠試行的元數據和隨后向收集傳送充足的應用軟件經受持續的變化。這緣于手機里發送的新特性和功能,以及因此而產生的不斷發展從手機收集的元數據的需求。
裝置識別
權利要求
1.一種為特定類型的無線計算裝置自動構建定制應用軟件的方法,該方法包含以下步驟 (a)通過下載測試應用軟件到無線計算裝置來自動確定該種無線計算裝置的屬性,該測試應用軟件用電子學方法調查無線計算裝置的性能和特性,并生成這些屬性的清單; (b)基于在(a)中確定的屬性值,自動從包括許多軟件組件的庫中選出許多軟件組件,所選出的軟件組件與該種無線計算裝置兼容,其中沒有單獨的軟件組件構成應用軟件,而是必須選擇許多這樣的軟件組件用于結合形成應用軟件; (c)自動將上述所選出的兼容的軟件組件結合到一起,通過將庫中兼容軟件組件動態編譯成應用軟件的用戶定制版本以產生新的定制創建的上述網絡應用軟件,與該類型的無線計算裝置兼容。
2.根據權利要求I所述的方法,其特征在于,軟件組件的屬性也被確定,并且確定哪些軟件組件兼容的步驟包括,將該種類型的無線計算裝置的屬性值與軟件組件的屬性值進行對比的步驟。
3.根據權利要求I或2所述的方法,其特征在于,該種類型的無線計算裝置的屬性被定義為元數據。
4.根據以上權利要求中任一項所述的方法,其特征在于,不同類型的無線計算裝置的屬性也被定義為元數據。
5.根據權利要求4所述的方法,其特征在于,該方法還包括確定裝置所連接的無線網絡的屬性為元數據的步驟。
6.根據權利要求5所述的方法,其特征在于,該方法還包括將不同無線網絡和不同類型無線計算裝置結合的屬性確定為元數據的步驟。
7.根據權利要求3或4所述的方法,其特征在于,不同類型無線計算裝置的元數據屬性定義一個或多個裝置識別;市場信息;網絡配置;物理特征;網絡配置;媒體/內容性能;HTTP連接;SMS通信Java APIs和庫Java應用安全性;用戶界面性能;用戶輔助特性。
8.根據權利要求5所述的方法,其特征在于,無線網絡的元數據屬性包括以下一個或多個識別;開放性;SMS系統可靠性;上級操作者ID ;提供的合同類型;提供的數據連通性;消費者聯系詳細資料;典型網絡名。
9.根據以上權利要求中任一項所述的方法,其特征在于,庫中的軟件組件功能受到限制,以使適當的組件可以與該種類型的無線計算裝置或該種類型的裝置可以連接的無線網絡、或兩者的結合的任何屬性的任何變量都可以匹配。
10.根據權利要求I所述的方法,其特征在于,每個軟件組件被描述情況和條件的元數據引用,在該情況和條件下組件應該被用作部分應用軟件的定制組件。
11.根據權利要求10所述的方法,其特征在于,包括自動確定哪些軟件組件與該種無線計算裝置兼容的步驟,其通過將無線計算裝置的元數據和參考每個軟件組件的元數據自動匹配而完成。
12.根據權利要求10所述的方法,其特征在于,自動確定哪些軟件組件與該種無線計算裝置兼容的步驟通過將無線網絡屬性的元數據和參考每個軟件組件的元數據匹配完成。
13.根據以上權利要求中任一項所述的方法,其特征在于包含,根據無線計算裝置的屬性配置兼容軟件組件的步驟。
14.根據權利要求13所述的方法,其特征在于,通過使用附加元數據和表現新的或不同的應用軟件的標記語法、并為該無線計算裝置生成新應用軟件,而為該特定類型的無線計算裝置定制該種類型的無線計算裝置的進一步的應用。
15.根據以上權利要求中任一項所述的方法,其特征在于,用于該種類型的無線計算裝置的元數據屬性,是通過下載到該種類型的移動電話的一個實例上的測試應用來自動確定。
16.根據權利要求15所述的方法,其特征在于,用于該種類型的無線計算裝置的元數據屬性還通過手動測試確定。
17.根據權利要求16所述的方法,其特征在于,為該種類型的無線計算裝置生成的應用軟件的元數據屬性可以手動測試,并用于該種類型的無線計算裝置。
18.根據以上權利要求中任一項所述的方法,其特征在于,最終的應用軟件的定制構建為嵌入了在平臺上運行的應用軟件的應用軟件執行平臺。
19.根據權利要求18所述的方法,其特征在于,應用軟件執行平臺結合有應用軟件定義,以得到終端用戶應用軟件。
20.根據權利要求19所述的方法,其特征在于,終端用戶應用軟件由元數據標記語言確定。
21.根據權利要求20所述的方法,其特征在于,終端用戶應用軟件可以包括執行軟件。
22.根據以上權利要求中任一項所述的方法,其特征在于,無線計算裝置的特定類型是制造商、型號和配置在該型電話上的固件的函數。
23.根據權利要求22所述的方法,其特征在于,無線計算裝置的特定類型還是給定的無線計算裝置所連接的移動網絡的函數。
24.根據以上權利要求中任一項所述的方法,其特征在于,定制的應用軟件為從以下組群中選出的網絡應用軟件移動內容端口(傳送社論、新聞、鈴聲、壁紙和其它類型的移動內容)、賭博、日期、銀行、區域基礎服務、姓名地址錄、游戲、聊天、對等網絡應用軟件。
25.一種構建應用軟件發送平臺的方法,其中該平臺可以通過執行權利要求I所述的方法構建定制應用軟件,其特征在于,該平臺通過以下步驟構建 Ca)構建與應用軟件相關聯的軟件組件庫; (b)構建不同無線計算裝置的屬性庫; (c)提供具有確定給定無線計算裝置屬性的方法的平臺; (d)提供具有自動將這些屬性與軟件組件屬性進行比較,形成與應用軟件相關聯的軟件組件庫的方法的平臺; (e)提供具有自動確定哪些軟件組件與該種類型的無線計算裝置兼容的方法的平臺; Cf)提供具有將兼容的軟件組件結合到一起,以提供適合于該種類型的無線計算裝置的定制應用軟件構建的方法的平臺。
26.一種利用權利要求I所述的方法構建的軟件應用。
27.一種將內容下載到無線計算裝置的方法,其特征在于該方法包含利用權利要求26所述的軟件應用下載內容的步驟。
28.—種將應用軟件配置到無線計算裝置的方法,其特征在于包含以下步驟 Ca)將無線計算裝置連接到服務器;(b)服務器建立與該無線計算裝置兼容的合適的軟件組件,從而為無線計算裝置提供適合于為該無線計算裝置定制并利用權利要求I所述的方法獲得的應用軟件; (C)將該定制的應用軟件安裝到無線計算裝置。
29.一種無線計算裝置,其特征在于運行已采用權利要求28所述的方法配置到其上的應用軟件。
30.一種編程的服務器,其特征在于,其采用權利要求28所述的方法將應用軟件配置到無線計算裝置。
全文摘要
一種定制的軟件應用,可以通過以下方式構建到特定類型的無線計算裝置(a)自動確定該種無線計算裝置的屬性;(b)基于在(a)中確定的屬性值自動確定軟件組件庫中的哪些軟件組件與該種無線計算裝置兼容;以及(c)自動將兼容的軟件組件結合起來,以生成與該種無線計算裝置兼容的定制應用軟件。該屬性可以是元數據。該方法可使豐富的網絡應用軟件自動構建于各種類型范圍的無線計算裝置。
文檔編號G06F9/445GK102981819SQ201210335698
公開日2013年3月20日 申請日期2005年12月6日 優先權日2004年12月6日
發明者馬克·斯蒂芬·耐特, 邁克爾·伊恩·拉姆, 羅伯特·約翰·劉易斯, 斯蒂芬·威廉·波考克, 菲利普·安東尼·桑特, 馬克·彼得·沙利文 申請人:奧沐尼芬有限公司