新四季網

一種為特定類型的無線計算裝置自動構建定製應用軟體的方法

2023-04-28 15:46:16

專利名稱:一種為特定類型的無線計算裝置自動構建定製應用軟體的方法
技術領域:
本發明涉及一種為特定類型的無線計算裝置自動構建定製應用軟體的方法。其提供一種迅速而有效地向大量無線計算裝置配置功能強大的網絡中心應用軟體的途徑。
2.術語定義本說明書中使用的定義如下行動電話電話的一種,其經無線技術通過空中而不是通過物理電線或其他物理連接或電纜形式與電話網絡連接。
行動電話,電話,移動,移動手機或手機行動電話的一種。
行動網路一種網絡,其為行動電話提供無線連接,使它們能夠操作及提供諸如打電話或訪問居於網絡的數據或服務。
行動網路運行商(MNO)一種公司或組織,其操作行動網路和在該網絡上使用行動電話的訂戶或用戶。
全球行動網路或行動電話網絡世界上由行動網路運行商操作的所有的行動網路的總和。
無線網絡一種為客戶端計算裝置提供無線連通的網絡。這種網絡包括Wi-Fi,WiMAX和全球行動網路。
伺服器一種網絡化的計算裝置,其用於為與其連接且向其要求服務的一個或多個客戶端計算裝置提供網絡應用軟體服務、特性和功能,如信息供應、資料庫搜索和處理。一般各個伺服器有多個客戶端,且各客戶端通常比伺服器的有較小的容量和計算性能。
服務網絡化計算服務、特性和功能,其典型地由伺服器提供給一個或多個網絡連接的客戶端計算裝置。服務包括提供信息,資料庫搜索和處理。由於客戶端計算機的容量和性能,這種服務構建實用於在網絡中心配置,而典型地不實用於在客戶端計算機上配置。
客戶端一種計算裝置,其連接到為該應用軟體的用戶或消費者傳送中心網絡應用軟體的特性和功能的網絡。該客戶端典型連接到伺服器且請求服務。
網絡應用軟體一種網絡中心的應用軟體或服務,其中其由在客戶端運行的實施該應用軟體的界面功能的軟體的結合被傳送至終端用戶或消費者,由伺服器上的軟體提供的服務進行維護和增補,客戶端通過網絡訪問該伺服器。
無線計算裝置一種客戶端,其經無線網絡連接到該網絡。這種裝置包括行動電話,個人數字助理(PDA),遊戲控制臺(如索尼PSP)或其它連接客戶端計算裝置的網絡。該類型的無線計算裝置還由它的廠商,構造,版本,作業系統,固件版本進行定義。
無線裝置或無線客戶端一種無線計算裝置。
軟體應用客戶端應用軟體,其通過空中被傳送至、或預先安裝於無線計算裝置。
軟體組件軟體個體單元,其形成軟體應用的組件,其為無線計算機裝置而定製和是裝置自適應架構(DAA)軟體庫的部分。
移動內容數字文件和數據,表示行動電話使用的、消費的、播放的、觀看的或提交的電子產品。例子包括鈴聲/鈴曲,壁紙/圖片,屏保/動畫,實聲/真聲,完整音樂下載,視頻,SMS和MMS報警,移動遊戲,以及許多其它現有的及正出現的行動電話可消費的娛樂和信息產品。
元數據數據或數據集的單個條目,其潛在地分級聯繫,其說明無線計算裝置、無線網絡、軟體組件、網絡應用軟體或移動內容的屬性或行為。
3.公知技術在撰寫本申請文件時,世界上的行動電話比個人計算機(PC)多。行動電話的屬性是其開通的時間且在其擁有者現場的時間比PC長。這些手機是日益強大的具有豐富的功能和高性能的硬體的計算機,如果其與世界上大量行動網路連接,且籍此連接到網際網路,提供令人注目的平臺以向其使用者傳送大量重要的網絡應用軟體。
全球行動網路,是使大量具有明顯不同的作業系統和平臺的無線計算裝置,連接到該網絡且能夠傳送網絡應用軟體的第一種網絡實例中的一例。由於具有少得多的客戶端作業系統和平臺變量,PC主導的網際網路網絡與全球行動網路具有顯著的不同。即使網際網路上的客戶端是功能非常強大的計算裝置,但是受諸如微軟和蘋果公司提供的小數目的作業系統的主導,它們的主要功能彼此相似。
這樣的結果就是一個人只要在微軟視窗裡PC網際網路創建網絡應用軟體的客戶端組件,或者還有下一個或兩個最流行的客戶端架構,那麼就他可以在大部分的現有裝置上實施行為相似的網絡應用,從而擁有一項技術上和商業上潛在功能強大的產品。此外,在PC網際網路世界裡,通過應用軟體一具體的作業系統或平臺,選擇創建網絡應用軟體的客戶端部,可以有效地把相似的用戶群作為目標。例如,如果有人要為公司的金融主管們創建網絡應用軟體,通過創建與微軟視窗兼容的客戶端軟體,就可以使其大多數得到支持。
對全球行動網路來說並不是這樣。與PC網際網路上的相比,其具有多得多的不同的無線客戶端作業系統和平臺。因此,且也因為增進和添加到行動電話的功能和特性的極快速的發展,裝置各不相同,用於訪問和控制其行為的作業系統和平臺也是這樣。此外,通過其作用來識別和確定使用相同或非常相似的無線裝置的目標用戶群是不可行的。
一般來說,能夠實施網絡應用軟體的無線客戶端越多,對於應用軟體的供應商來說,由於能接觸到更多的消費者,所以就有更大的獲利機會。因此,這種網絡應用軟體的供應商特別感興趣的就是向儘可能多的客戶端配置軟體。
網絡應用軟體和服務在網絡PC世界裡很常見,由於網際網路的容量和由此帶來的潛在的用戶數目,其表現出非常大的商業機會。有少數方法,其實施客戶端部應用軟體的軟體是現場建立的。這類方法有如下這些1.定製應用軟體可以作為網絡應用軟體的客戶端的終端用戶計算機裝置(如PC)一般提供可運行軟體程序的平臺。這些平臺典型地是計算機的作業系統(如,微軟視窗,Linux,Mac OS,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應用軟體的特性對所有客戶端平臺來說是通用的。這在無線行動網路表現一個問題,移動客戶端的特性進化得太快,以至於它們不但不通用,而且期望實現使用來自不同無線裝置的不通用的特性,包括最新的特性的網絡應用軟體。
WWW應用軟體可用以實施豐富的特性和更高級的客戶端具體的應用軟體代碼的方法,例如通過嵌入式的微軟ActiveX或Java代碼。其使應用軟體實現WWW應用軟體和定製應用軟體或WWW應用軟體和一次編寫到處運行應用軟體(取決於嵌入式代碼的屬性)的結合,且具有這兩種類型的應用軟體的結合問題和局限性。
3.一次編寫到處運行應用軟體一次編寫到處運行應用軟體目的在於提供最好的定製應用軟體和WWW應用軟體領域的特性。從其名稱可以看出,該應用軟體只定義一次而有相同一致性的且功能豐富的應用軟體,將在許多平臺上運行且不用向該應用軟體設置埠。這可以從以下兩種方法中之一來實現i)『虛擬機』虛擬機是一種中介軟體平臺,設置在客戶端自己的平臺(如作業系統)裡且運行一次編寫到處運行應用軟體。該方法的實現是因為應用軟體可以逐行被虛擬機讀取,且在運行中指令被解釋為相應的客戶端平臺的本地調用。
該方法的最後結果是,如果虛擬機為每個重要的客戶端平臺編寫,則有人可以開發該虛擬機兼容的單一的電腦程式,該虛擬機不用在各個客戶端平臺的應用軟體設置埠,就可以生成比WWW應用軟體功能更豐富的用戶體驗(因為能獲取更多的客戶端平臺的特性)。本技術的例子是Sun微系統Java。
本方法的問題是,如果客戶端軟體具有任何內在複雜性(如屬於科學性的,利用軟體思路,具有近似實時的製圖法或任何其它的實時性能),則類似應用軟體的實施變得更難以保證通過多種不同類型的客戶端。這就是移動Java遊戲從不在所有的Java客戶端上運行,而只在已經由該遊戲的創作者專門測試以確保用戶體驗仍然相同的小子集裡運行的原因。這是程式設計師經常說的「一次編寫,各處調試」的原因。用虛擬機技術,該問題無法消除。
ii)『偽碼編譯器』偽碼編譯器應用軟體不同的方法獲取相似的結果。與虛擬機相似,表示該應用軟體的軟體是一次編寫且以為能被其它軟體解釋的高級形式表示。然而,其不是在運行中解釋應用軟體代碼的各個目標客戶端上實施虛擬機平臺,而是在該應用軟體代碼被發送到客戶端之前,編譯器通讀該應用軟體並創建(編譯)直接在客戶端作業系統平臺上運行的本地應用軟體。
這樣可以開發具有豐富特性的應用軟體的單一表示法,且其可以在裝有編譯器的任何客戶端運行。這種系統的一個例子是Sybase’sPowerBuilder(應用軟體『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,藍牙,紅外線,Wi-Fi,WiMAX等等)。
這意味著儘管像Java的軟體語言結合平臺,可用於世界上非常大部分的電話,且提供有用的程序語言,以配置可以使用電話高級特性以生成豐富的用戶體驗的應用軟體,實際上每個不同電話要求定製應用軟體用於導航和減少它們的許多差異。
以前沒有這樣的技術、平臺或方法,能夠應對快速且高效地為各裝置最優化的無線計算裝置傳送功能最豐富的應用軟體的挑戰。
因為所有電話以這些方式而有某些程度的差異,傳送使用各電話的最高級特性的應用軟體到大多數電話的唯一方式是,向各不同手機傳送定製應用軟體。如果使用傳統的方法的人遇到這種問題,無論使用哪一種方法,最終結果將出現紊亂和難以計數的埠設置。這將以新的代碼「流」為各個新電話創建應用軟體而結束。這是非常昂貴的,而且隨著你添加的原始碼流越多,維護變得越來越困難。最終結果是必須付出昂貴的代價,以創建調諧應用軟體的原始碼以適用於各裝置的應用軟體。很明顯,需要一種新的方法。
發明概要一種定製的軟體應用軟體,可以通過以下方式構建到特定類型的無線計算裝置(a)自動確定該種無線計算裝置的屬性;(b)基於在(a)中確定的屬性值自動確定軟體組件庫中的哪些軟體組件與該種無線計算裝置兼容;以及(c)自動將兼容的軟體組件結合起來,以生成與該種無線計算裝置兼容的定製應用軟體。該屬性可以是元數據。
該方法可使豐富的網絡應用軟體自動構建於各種類型範圍的無線計算裝置。本發明的實施稱為裝置自適應架構(Device Adaptive Architecture,DAA),其滿足了最大化利用行動電話技術向無線計算裝置傳送應用軟體的效用和經濟潛力的需求,因為其· 可使應用軟體在儘可能多的移動裝置上運行;· 可使應用軟體在新的電話發行時就快速授權安裝;· 可使應用軟體能利用各移動裝置的最好和最適當的特性,而反對在各處僅運行同一應用軟體定義。
更詳細的細節和方面在權利要求中進行說明。
發明的詳細說明本發明將參照裝置自適應架構的實施進行說明。DAA以最有效的方法解決創建一平臺以在最大數目的無線客戶端裝置裡實施功能最豐富的網絡應用軟體的挑戰的原理是· 每個手機需要獨特的應用軟體以最大化用戶體驗。
· 說明電話性能與特性之間的不同,從此主要以元數據而以軟體來表示。在手機試用過程中收集的元數據的例子可在附錄1-手機元數據裡找到。還提供該數據如何在裝置間進行變換的例子。
· 各電話之間差異的參考點是用以表示該電話的元數據(見附錄1-手機元數據)。儘管此元數據實際上是用以選擇形成軟體應用的個體軟體組件,該參考點是電話的元數據,因此軟體應用可以被刪除和重建。
·特定手機的軟體應用是由裝置自適應架構自動創建的,該自適應架構軟體一方面應用軟體用於說明裝置的獨特性能和特性的元數據(見附錄1-手機元數據),另一方面應用軟體用於說明軟體組件庫的元數據,該軟體組件可以被動態編譯進適合該裝置的應用軟體中(見附錄2-手機軟體組件庫)。該手機軟體組件庫全都是小軟體組件,與較大少量的粒狀要素相反。基於說明功能的元數據和配置各軟體組件的方法和說明裝置屬性的元數據,各軟體組件可被選用以形成軟體應用的一部分。見附錄3-映射手機元數據到軟體組件的例子。
· 一種元數據說明各手機的獨特屬性的快速方法,用於為該手機創建定製軟體應用,其可以被添加至平臺。如果手機不需要任何修改使用現有軟體組件的結合被試用,則通過單獨配置手機元數據來完成。如果新的或現有的軟體代碼需要做工程,則新的或現有的關聯說明的元數據的軟體組件將在庫裡被添加或改變。
· 一種快速方法,通過該方法,當發現手機使用庫裡尚不可用的方法和技術實施功能時,可以在庫裡添加或修改新的或現有的軟體組件。可以通過將包含該軟體的新文件放置於該庫文件系統中而迅速添加新的或修改的軟體組件。其由元數據進行補充,該元數據說明軟體組件的應用條件或其被配置以用於軟體應用的創建內的方法。
· 掌握元數據和標記語法,其以最少數目的開發的手機具體軟體,允許許多不同的網絡應用軟體被實施於該新支持的手機,該手機具有量的的手機特殊,上部具有附加的。見附件4-終端用戶應用軟體元數據和標記。
· 安裝後在電話裡動態更新軟體應用的性能。
· 使客戶端能夠向伺服器報告它的狀況和鍵參數的性能,以允許用戶進一步調整。例如軟體應用可以運行測試以確定客戶端當前可用的穩定動態的堆內存空間,該堆內存空間影響的為客戶端軟體應用製作的任何桌面更新的大小,以避免超過被允許的最大內存容量。
· 對軟體應用的每個獨特的例子進行歸檔。
支持新手機首先要做的是要求手機進行試用。在手機裡下載一個簡單的通用的測試應用軟體,其識別可用於手機平臺的核心包。使用該信息與手機性能結盟的測試應用軟體被動態選擇。下載到手機的測試應用軟體電子地調查手機的性能和特性,且也包括被發現在其它電話裡的歷史缺陷的測試。這種測試應用軟體累加其測試的結果作為一套表示許多電話的屬性和特性的元數據。然後,該元數據被寫進數據存儲,且涉及電話的類型和創建(見附錄1-手機元數據)。
然後執行各種手機性能和特性的手動檢查和測試,針對手機從測試應用軟體裡補充最初數據集,其結果同樣存儲於數據存儲器。一旦恢復所有信息和完成所有最初測試,則有足夠的數據以可能應用軟體該平臺為新手機創建定製軟體應用。
不被用於手機的軟體應用的創建的各種其它手機的具體信息也被收集。收集該信息以用以支持為該手機創建的軟體應用的操作的系統中。例如,網絡設置存儲的地點,就是特定的手機被記錄的地方,所以在應用軟體中合適的點,用戶可以得到手機具體引導的幫助。見附錄1-手機元數據中的『用戶助理性質』。
裝置自適應架構(DAA)的中心是引擎,其動態的為各手機,或潛在的手機/行動網路結合動態創建軟體應用。該DAA讀取表示手機性能的元數據,然後相互參照這些性能與說明庫裡軟體組件的性能和配置選項的元數據,見附錄3-映射手機元數據至軟體組件的例子。然後,DAA結合所選的軟體組件,該軟體組件以所要求的方式配置進為手機和潛在的行動網路結合定製生成的客戶端軟體應用。
然後這表示為該特定的手機定製的軟體應用是,其實際上是執行應用軟體的平臺而不是功能的終端用戶應用軟體本身。換句話說,該練習已動態且自動地創建應用軟體執行平臺,其被下載至該手機且需要一應用軟體,其本身用元數據定義,以實際實施終端用戶應用軟體或服務,見附錄4-終端用戶應用軟體的元數據和標記。然後,說明該應用軟體的元數據被添加到已生成的應用軟體執行平臺軟體,且結果是,一安裝就在手機上運行的軟體程序實施該終端用戶應用軟體。
每次為特定手機創建軟體應用,該應用軟體的一個實例就被存儲於創建存檔中。該存檔包含軟體應用各版本的上百個不同的創建作為歷史記錄。應用手機元數據和軟體組件版本和當時有效的相關元數據,通過簡單地重-運行DAA的動態創建程序,也可以在任何時候覆制歷史創建。
然後,候選的軟體應用創建通過基於人性化系統測試程序,確定在新手機上正確操作該應用軟體。結果有時是完全成功的,有時要求改變手機元數據,重建應用軟體且重新測試,有時某些軟體組件需要進行工程維護或重建該應用軟體及後續的重測試之後需要創建新的軟體組件。最後,完全功能性的軟體應用可用於該手機,當通過系統測試後,其即被提取至生成系統以實現終端用戶的實際使用。
手機所連接的特定的行動網路也能影響該手機的應用軟體的創建。對於DAA來說,詳細了解MNO和其網絡配置與了解手機的詳情一樣重要,以使正確創建的MNO在需要的時候被傳送至該手機。詳情見附錄5-網絡運行商元數據。
當用戶裝置通過網絡連接到系統請求下載應用軟體時,手機告知系統其用戶代理軟體(UAProf)。其說明電話廠商、模型和固件。有時手機必需的應用軟體也必須定製給用戶所連接的行動網路,有時甚至是其與MNO之間付款合同(如預付或月付合同)。在這種情況下,該手機連接的行動網路或者由建立在請求SMS內部的MNO信息,SMS通過的路由,通過其可以進行請求的MNO網關的IP位址,經MNO核心網查找(例如SS7/HLR,若可用的話),針對MNO號碼範圍的分配和埠號碼資料庫查找電話號碼(MSISDN)進行探測,或者下載前由用戶在屏幕上的簡單要求進行探測。該系統使用其可用的最可靠的方法。UAProf,潛在地與MNO的詳情和付款合同類型相結合,是為連接的手機的下載而表示為選擇正確的先前生成的應用軟體的關鍵。
為了實現終端用戶付款或終端用戶跟蹤,和潛在的終端用戶支持的目的,能夠單獨和分離識別被每個手機下載的每個軟體應用的實例,和安裝有軟體應用實例的手機的行動電話號碼(MSISDN),是很重要的。為此DAA在下載前或下載當時在應用軟體裡創建獨特的參考號碼。在伺服器數據存儲裡該參考號碼關係到用戶的MSISDN,該用戶的MSISDN是當它們請求應用軟體時從終端用戶獲取的(如從SMS請求應用軟體或從收集於網頁表格的MSISDN,等)。當前客戶端登陸的應用軟體隨後向伺服器請求服務時,其將自動提供獨特的應用軟體實例ID。MSISDN應當是必需的則該獨特的實例ID可被用於查找。
我們已經討論,如何為各行動電話定製由DAA自動生成的軟體應用,該行動電話由廠商、裝置類型和潛在的固件(嵌入式裝置軟體)版本或裝置連接的行動網路進行識別。當裝置連接到伺服器為獲取應用軟體的目的時,伺服器確定這些可變的屬性,並為該手機選擇合適的應用軟體。
但是,在用戶電話裡預先安裝這種應用軟體,當用戶獲取他們的手機時該應用軟體就表示在移動裝置上,這存在明顯的商業機會。
在用戶獲取電話之前,可以在行動電話裡預先安裝應用軟體有兩個典型的階段。第一是由其供應商(或製造轉包商)在裝置的製造過程中。第二是供應鏈中為終端用戶(或者行動電話批發商或者零售商)在裝置裡配置/提供便利時。
在這些情況的任一個中,行動電話在連接到、或可能連接到規定(控制其設置)行動電話的設備的某些點。我們的系統在該點上與規定設備相接口,這樣其可以訪問預先安裝在手機上的任何軟體應用版本。
以這種方式將製作的合適的應用軟體使其可用於規定設備,其能夠設置於移動裝置。但是,因為安裝在手機裡的應用軟體可能無法獲取行動電話的MSISDN,這與向每個單一的裝置提供獨特的軟體應用不同,該裝置在應用軟體內具有嵌入的獨特實例ID參考,該實例ID參考可被傳送回伺服器,且以此關係到用戶的MSISDN,以達到付款的目的(舉例)。相反地,該應用軟體為所有行動電話所公用,該行動電話享有相同的供應商、模型、固件和連接它們的潛在的行動網路。因此在行動電話裡安裝該應用軟體後,與MSISDN的關係必需製作成可回顧的。其完成如下1.具體的行動電話/網絡結合的應用軟體預先安裝在手機上,通過與行動電話規定設備界面連接,且向其提供其所需的所有應用軟體創建和與各軟體應用版本相關的供應商/模型/固件/網絡信息,因此可以選擇及安裝正確的應用軟體;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-手機元數據本部分包含在手機試行階段為各手機收集的元數據類型的詳細資料。該元數據按理論分組並加以說明。提供多種各裝置的元數據值如何各異的例子。
收集的使手機能夠試行的元數據和隨後向收集傳送充足的應用軟體經受持續的變化。這緣於手機裡發送的新特性和功能,以及因此而產生的不斷發展從手機收集的元數據的需求。
裝置識別
市場信息
網絡配置
物理特徵
網絡配置
媒體/內容性能
HTTP連接
SMS通信
Java APIs和庫
Java應用軟體安全
用戶界面性能
混合性能
用戶助理特性用於在整個平臺上提供用戶助理的性能
附錄2-手機軟體組件庫本附錄列出庫中軟體組件的類型和屬性,裝置自適應架構利用該庫,從中選擇用以創建手機應用軟體。由於手機的不斷發展和隨之對新的和改進的軟體組件的需求,這些組件在不斷變化。
核心組件核心手機組件列出如下音頻播放器組件動畫組件弦樂顯示組件圖像顯示組件清單顯示組件測量組件文本框組件HTTP通信組件瀏覽器開啟組件SMS發送組件指令(軟鍵)選項組件GZIP組件內存存留(RMS)組件視頻播放器組件文件存留組件檢驗盒組件無線按鈕組件
 SMS接收組件藍牙通信組件組件變量各個組件有幾個變量。典型例子表示如下音頻播放器組件變量—總是下列中的一個·沒有音頻播放器·「標準」MMAPI音頻播放器·三星音頻播放器·VSCL(沃達豐)音頻播放器·西門子音頻播放器HTTP通信變量—下列的任何結合·「標準」·Cookie用戶標識符/UR L用戶標識符·期望的不可靠連接·處理同時連接SMS發送器變量·請求時具有埠號碼/無埠號碼·「標準」WMA·西門子SMS變量·三星SMS變量·有信息薄/沒有信息薄(處理裝置的特定缺陷)瀏覽器開啟變量·不能從Java開啟WAP
·未測試java http連接時只能從Java開啟WAP·能從Java開啟WAP但要求java http設置·使用wap設置則能從Java開啟WAP子組件每個組件/組件變量具有幾個可由不同特性控制的子組件。例子如下所示音頻播放器組件○創建具有適合內容/內容類型組件的音頻播放器○開啟音頻播放器組件○停止音頻播放器組件○探測音頻組件播放的結尾○毀壞音頻播放器組件HTTP通信組件○創建URL組件○創建HTTP標題組件○創建連接組件○製作HTTP請求組件○探測HTTP狀態組件○重試HTTP組件SMS發送器組件○創建SMS對象組件○創建SMS連接組件○發送SMS組件
內存存留(RMS)○創建記錄○讀取記錄○更新記錄○刪除記錄○分離記錄○結合記錄動畫組件○顯示動畫○依大小排列動畫○設置動畫優先次序○動畫速度指令(軟鍵)子組件○用JAR開啟屏幕○開啟存儲於RMS的屏幕○在當前桌面開啟屏幕○通過HTTP下載桌面且開啟屏幕○發送SMS○用WAP瀏覽器開啟URL
附錄3-映射手機元數據到軟體組件的例子庫中的任何軟體組件可以與任何數目的裝置特性結合。與特性的結合可以基於任何以下測試·直接特性存在測試(如,特性A必需存在,這個軟體組件才可兼容或使用)。
·比較特性值測試(如,特性B的值必須比X大,這個軟體組件才能使用)。
·相對軟體組件特性值的裝置特性值的比較測試(如,裝置特性值C必需小於軟體組件特性SC,這個軟體組件才能使用)。
·等級機制,其允許選擇一套最合適的兼容軟體組件(如,有多於一個軟體組件兼容的時候,通過選擇組件屬性SC最大的軟體組件達到選擇最適合的目的)。
·上述的任何結合本部分中給出這些特性如何映射到軟體組件庫的一些例子。
創建音頻播放器組件○選擇音頻包以包括並基於裝置特性設置而使用,該音頻包的名稱與通配符「device.package.*」匹配。
○如果裝置支持多於一個的音頻包,則自動選擇提供最寬音頻類型選擇範圍包。這個決定是通過比較所列出的支持包而作出的,該支持包是相對於各支持音頻播放器組件變量的性能,用「device.packages.*」進行說明。
○如果電話不支持由device.build.properties.audio.incapable特性顯示的音頻,則排除音頻播放器組件。
○如果沒有可用的音頻,則包括「無可用預覽」。
HTTP通信組件(創建子組件連接)○根據device.build.properties.connection.primer特性的設置包括附加連接(引子)請求。
SMS發送器組件○根據device.build.properties.sms.port.required和device.build.sms-truncated特性構建SMS請求。
動畫組件○當資源基於裝置特性手機組合、可用動態存儲受限時,用表格代替畫布。
瀏覽器開啟組件○僅當功能受手機支持、由裝置device.packages.midp.2.0的存在指示時,包括平臺請求子組件,。
○但如果設置了device.properties.connection.platform.request.http.fails-after或device.properties.connection.platform.request.http.fails.before,則排除組件。
調整某些軟體組件一旦被包括,根據裝置元數據的特性值進一步對其調整。例如
HTTP通信組件(創建子組件連接)○基於device.properties.http.primer.delay.before和device.properties.http-primer.delay.after特性值控制連接引子的嘗試和主連接的次序。
○基於device.properties.http.primer.delay.before和device.properties.http-primer.delay.after特性值控制引子連接的嘗試和主連接的嘗試之間的時間延遲。
○device.build.properties.connection.primer.reverse.first.connection轉換這些的次序。
動畫組件○根據一套裝置的屏幕維度和其中可用的內存,選擇已正確按大小排序的動畫。
○根據以特性組成員、屏幕維度、可用動態內存進行說明的可用資源,調整動畫幀頻。
○根據可用資源調整動畫線路優先次序,對出現在手機上的其它進程進行平衡動畫平滑。由測試性能組成員、可用動態內存控制。
內存存留(RMS)組件○通過控制個體記錄的最大容量及記錄的數目,調整組件以適於特定裝置。這受手機性能device.properties.recordstore.max-record-size和device.properties.recordstore.max-size控制。
○允許數據經這個軟體組件而被存留,而不需該應用軟體知道數據如何被分斷在底層存儲器裡。數據可以被分離為幾個記錄。
附錄4-終端用戶應用軟體元數據和標記下面提供的是,建立在裝置自適應架構頂端、用於終端用戶應用軟體的屏幕定義的例子。這些例子顯示屏幕的三個核心類型一表格、畫布和清單。這些對擴展標記語言(XML)的說明全面地說明該應用軟體屏幕,並說明如何應用該定義控制屏幕的外觀表現並通過該應用軟體控制的指令流。通過該機制,無線客戶端網絡應用軟體的客戶端部不用寫軟體代碼,就可以很有效地被定義及創建。
這些例子顯示的某些具體特徵是 可包括顯示器和用戶互動的物體。
 可包括和控制更複雜的物體,如播放器和圖像。
 可設置和讀取變量。
 針對變量可檢查測試條件。
 給予標準MIDP對象所有屬性全存取。
 涉及其它屏幕的指令按鈕。那些屏幕將在客戶端上顯示,或者需要從伺服器上自動下載。
表格例子form id=″SearchFailure″ title=″Problem″
command label=″OK″type=″ok″priority=″0″go=″Index.do″/
command label=″Back″go=″${previous}″type=″back″priority=″1″/
string-item text=″An error has occurred and the search can′t be performed-the network mightbe busy.Please try again later.″/
/form
canvas id=″LoadingFriend″ title=″″ interval=″400″
command label=″Cancel″go=″${previous}″type=″stop″priority=″0″/
image-item key=″midp.system.loading.image″src-deck=″system″x=″7″y=″7″/
gauge x=″64″y=″98″size=″small″/
string-item if=″connect″since=″1.3.1″text=″Connecting.″x=″64″y=″7″width=″64″size=″small″/
string-item unless=″connect″text=″Sending MyFone...″x=″64″y=″7″width=″64″size=″small″/
/canvas
畫布例子canvas id=″Preview″title=″Free Preview″interval=″400″loopcount=″1″
player src=″/previews/17651″loopcount=″1″contentType=″audio/midi″/
image-item key=″midp.system.loading.image″src-deck=″system″x=″7″y=″7″/
string-item text=″Free preview!Select the Buy option to buy this ringtone for GBP3.00.″x=″64″y=″7″width=″64″size=″small″/
string-item text=″Friends by TV Theme″x=″7″y=″98″width=″114″size=″small″/
command labe1=″Back″go=″${previous}″type=″back″priority=″1″/
command label=″Buy″go=″#Buy″type=″ok″back=″false″priority=″0″/
command label=″Play″go=″#Preview″type=″screen″back=″false″priority=″1″/
- command label=″Terms″go=″Index.do#Terms″type=″screen″priority=″9″back=″false″
set var=″last.card″val=″Preview.do?id=2038#Preview″/
/command
/canvas
清單例子list id=″Cat61″title=″Music Celebs″
include id=″#ProductList″/
set var=″category.id″value=″61″/
set var=″category.name″ value=″Music Celebs″/
set var=″topCategory.id″value=″2″/
set var=″topCategory.name″value=″Wallpapers″/
appendid=″5496″text=″AtomicKitten2″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/
appendid=″5500″text=″Sugababes1″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/
appendid=″5506″text=″RonanKeating5″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/
append id=″5520″text=″Busted 1″image=″myfone/shared/icons/wallpaper.png″src-deck=″system″/
/list
XML DTD以下是一個XML DTD(文檔型定義),其說明構建終端用戶應用軟體時可用的標記語法。
!--- Collection of related screens. --
!ELEMENT collection(list|form|canvas|template|initialize)*
!ATTLIST collectionid CDATA#REQUIREDdefault CDATA#IMPLIEDonConnectRefused CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonLoad CDATA#IMPLIEDonError CDATA#IMPLIED
!---Variables to set on initialization.--
!ELEMENT initialize(set)*
!---A variable to set.--
!ELEMENT set EMPTY
!ATTLIST setvar CDATA#REQUIREDval CDATA#REQUIREDscope (card|deck|session|rms) session
!---Template to include on other screens.--
!ELEMENT template(timer|string-item|gauge|image-item|command)*
!ATTLIST templateid CDATA#REQUIRED
!---Command to run on user selection.--
!ELEMENT command(set|go)*
!ATTLIST commandgo CDATA#IMPLIEDlabel CDATA#IMPLIEDback (back) #IMPLIEDpriority NUMBER#IMPLIEDtype CDATA#IMPLIEDonConnectRefused CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonLoad CDATA#IMPLIEDonError CDATA#IMPLIED
!---Screen to open.--
!ELEMENT go EMPTY
!ATTLIST golocation CDATA#REQUIREDif CDATA#IMPLIEDunless CDATA#IMPLIEDrefresh (refresh) #IMPLIEDonConnectRefused CDATA#IMPLIEDonLoad CDATA#IMPLIEDonConnectError CDATA#IMPLIEDonError CDATA#IMPLIED
!---Canvas screen. --
!ELEMENT canvas (timer|string-item|gauge|image-item|command)*
!ATTLIST canvasid CDATA#REQUIREDloopcount NUMBER#IMPLIEDinterval NUMBER#IMPLIED
!---Image to display.--
!ELEMENT image-item EMPTY
!ATTLIST image-itemlayout (default|left|right|center)defaultnewline (before|after|none)noney CDATA#IMPLIEDx CDATA#IMPLIEDheight CDATA#IMPLIED
width CDATA#IMPLIEDsrc-deck CDATA#IMPLIEDkey CDATA#IMPLIED
!---Player to initialize.--
!ELEMENT player EMPTY
!ATTLIST playersrc%URI; #REQUIREDcontentType CDATA#IMPLIEDloopcount NUMBER#IMPLIED
!--- Connection gauge to display. --
!ELEMENT gauge EMPTY
!ATTLIST gaugesize (default|small|large) defaulty CDATA#IMPLIEDx CDATA#IMPLIEDif CDATA#IMPLIEDunless CDATA#IMPLIED
!---String to display.--
!ELEMENT string-item EMPTY
!ATTLIST string-itemtext CDATA#REQUIREDif CDATA#IMPLIEDunless CDATA#IMPLIEDframes NUMBER#IMPLIED
frame NUMBER#IMPLIEDalign (default|left|right|center) #IMPLIEDsize (default|small|large) defaultwidth CDATA#IMPLIEDy CDATA#IMPLIEDx CDATA#IMPLIEDsince CDATA#IMPLIED
!---Form screen.--
!ELEMENT form(image-item|text-field|command|string-item|include)*
!ATTLIST formtitle CDATA#REQUIRED
!--- Textfield for user to enter data. --
!ELEMENT text-field EMPTY
!ATTLIST text-fieldid CDATA#REQUIREDmaxsize NUMBER#IMPLIEDconstraints (any|emailaddr|numeric|phonenumber|url|password)anylabel CDATA#IMPLIED
!---List screen.--
!ELEMENT list (set|include|append|itemcommand|command)*
!ATTLIST listtitle CDATA#REQUIREDid CDATA#REQUIRED

!---Item on a list that runs a command when selected. --
!ELEMENT itemCommand EMPTY
!ATTLIST itemCommandgo CDATA#REQUIREDimage CDATA#IMPLIEDtext CDATA#REQUIREDback (back) #IMPLIEDonLoad CDATA#IMPLIEDexpires CDATA#IMPLIEDsrc-deck CDATA#IMPLIED
!---Item on a list.--
!ELEMENT append EMPTY
!ATTLIST appendid CDATA#REQUIREDtext CDATA#REQUIREDsrc-deck CDATA#IMPLIEDimage CDATA#IMPLIED
!---Include a template on this screen.--
!ELEMENT include EMPTY
!ATTLIST includeid CDATA#IMPLIED
!---Run command after time interval.--
!ELEMENT timer (go)*
!ATTLIST timerdelay NUMBER#IMPLIEDgo CDATA#IMPLIED
附錄5-網絡運行商元數據系統中使用的根據特定用戶的MNO性能用於調整行為和創建的關鍵元數據如下列出。
系統行為必須被調整到手機應用軟體與其通信的行動網路網關的性能。該DAA通過如下面羅列的元數據了解各MNO網關。
權利要求
1.一種為特定類型的無線計算裝置自動構建定製應用軟體的方法,該方法包含以下步驟(a)自動確定該種無線計算裝置的屬性;(b)基於在(a)中確定的屬性值自動確定軟體組件庫中的哪些軟體組件與該種無線計算裝置兼容;(c)自動將上述兼容的軟體組件結合到一起,以產生定製創建的上述網絡應用軟體,與該類型的無線計算裝置兼容。
2.根據權利要求1所述的方法,其特徵在於,軟體組件的屬性也被確定,並且確定哪些軟體組件兼容的步驟包括,將該種類型的無線計算裝置的屬性值與軟體組件的屬性值進行對比的步驟。
3.根據權利要求1或2所述的方法,其特徵在於,該種類型的無線計算裝置的屬性被定義為元數據。
4.根據以上權利要求中任一項所述的方法,其特徵在於,不同類型的無線計算裝置的屬性也被定義為元數據。
5.根據權利要求4所述的方法,其特徵在於,該方法還包括確定裝置所連接的無線網絡的屬性為元數據的步驟。
6.根據權利要求5所述的方法,其特徵在於,該方法還包括將不同無線網絡和不同類型無線計算裝置結合的屬性確定為元數據的步驟。
7.根據權利要求3或4所述的方法,其特徵在於,不同類型無線計算裝置的元數據屬性定義一個或多個裝置識別;市場信息;網絡配置;物理特徵;網絡配置;媒體/內容性能;HTTP連接;SMS通信;Java APIs和庫;Java應用安全性;用戶界面性能;用戶輔助特性。
8.根據權利要求5所述的方法,其特徵在於,無線網絡的元數據屬性包括以下一個或多個識別;開放性;SMS系統可靠性;上級操作者ID;提供的合同類型;提供的數據連通性;消費者聯繫詳細資料;典型網絡名。
9.根據以上權利要求中任一項所述的方法,其特徵在於,庫中的軟體組件功能受到限制,以使適當的組件可以與該種類型的無線計算裝置或該種類型的裝置可以連接的無線網絡、或兩者的結合的任何屬性的任何變量都可以匹配。
10.根據權利要求1所述的方法,其特徵在於,每個軟體組件被描述情況和條件的元數據引用,在該情況和條件下組件應該被用作部分應用軟體的定製組件。
11.根據權利要求10所述的方法,其特徵在於,包括自動確定哪些軟體組件與該種無線計算裝置兼容的步驟,其通過將無線計算裝置的元數據和參考每個軟體組件的元數據自動匹配而完成。
12.根據權利要求10所述的方法,其特徵在於,自動確定哪些軟體組件與該種無線計算裝置兼容的步驟通過將無線網絡屬性的元數據和參考每個軟體組件的元數據匹配完成。
13.根據以上權利要求中任一項所述的方法,其特徵在於包含,根據無線計算裝置的屬性配置兼容軟體組件的步驟。
14.根據以上權利要求中任一項所述的方法,其特徵在於,將庫中兼容軟體組件編譯成應用軟體的用戶定製版本。
15.根據權利要求14所述的方法,其特徵在於,通過使用附加元數據和表現新的或不同的應用軟體的標記語法、並為該無線計算裝置生成新應用軟體,而為該特定類型的無線計算裝置定製該種類型的無線計算裝置的進一步的應用。
16.根據以上權利要求中任一項所述的方法,其特徵在於,用於該種類型的無線計算裝置的元數據屬性,是通過下載到該種類型的行動電話的一個實例上的測試應用來自動確定。
17.根據權利要求16所述的方法,其特徵在於,用於該種類型的無線計算裝置的元數據屬性還通過手動測試確定。
18.根據權利要求17所述的方法,其特徵在於,為該種類型的無線計算裝置生成的應用軟體的元數據屬性可以手動測試,並用於該種類型的無線計算裝置。
19.根據以上權利要求中任一項所述的方法,其特徵在於,最終的應用軟體的定製構建為嵌入了在平臺上運行的應用軟體的應用軟體執行平臺。
20.根據權利要求19所述的方法,其特徵在於,應用軟體執行平臺結合有應用軟體定義,以得到終端用戶應用軟體。
21.根據權利要求20所述的方法,其特徵在於,終端用戶應用軟體由元數據標記語言確定。
22.根據權利要求21所述的方法,其特徵在於,終端用戶應用軟體可以包括執行軟體。
23.根據以上權利要求中任一項所述的方法,其特徵在於,無線計算裝置的特定類型是製造商、型號和配置在該型電話上的固件的函數。
24.根據權利要求23所述的方法,其特徵在於,無線計算裝置的特定類型還是給定的無線計算裝置所連接的行動網路的函數。
25.根據以上權利要求中任一項所述的方法,其特徵在於,定製的應用軟體為從以下組群中選出的網絡應用軟體移動內容埠(傳送社論、新聞、鈴聲、壁紙和其它類型的移動內容)、賭博、日期、銀行、區域基礎服務、姓名地址錄、遊戲、聊天、對等網絡應用軟體。
26.一種構建應用軟體發送平臺的方法,其中該平臺可以通過執行權利要求1所述的方法構建定製應用軟體,其特徵在於,該平臺通過以下步驟構建(a)構建與應用軟體相關聯的軟體組件庫;(b)構建不同無線計算裝置的屬性庫;(c)提供具有確定給定無線計算裝置屬性的方法的平臺;(d)提供具有自動將這些屬性與軟體組件屬性進行比較,形成與應用軟體相關聯的軟體組件庫的方法的平臺;(e)提供具有自動確定哪些軟體組件與該種類型的無線計算裝置兼容的方法的平臺;(f)提供具有將兼容的軟體組件結合到一起,以提供適合於該種類型的無線計算裝置的定製應用軟體構建的方法的平臺。
27.一種利用權利要求1所述的方法構建的軟體應用。
28.一種將內容下載到無線計算裝置的方法,其特徵在於該方法包含利用權利要求27所述的軟體應用下載內容的步驟。
29.一種將應用軟體配置到無線計算裝置的方法,其特徵在於包含以下步驟(a)將無線計算裝置連接到伺服器;(b)伺服器建立與該無線計算裝置兼容的合適的軟體組件,從而為無線計算裝置提供適合於為該無線計算裝置定製並利用權利要求1所述的方法獲得的應用軟體;(c)將該定製的應用軟體安裝到無線計算裝置。
30.一種無線計算裝置,其特徵在於運行已採用權利要求29所述的方法配置到其上的應用軟體。
31.一種編程的伺服器,其特徵在於,其採用權利要求29所述的方法將應用軟體配置到無線計算裝置。
全文摘要
一種定製的軟體應用,可以通過以下方式構建到特定類型的無線計算裝置(a)自動確定該種無線計算裝置的屬性;(b)基於在(a)中確定的屬性值自動確定軟體組件庫中的哪些軟體組件與該種無線計算裝置兼容;以及(c)自動將兼容的軟體組件結合起來,以生成與該種無線計算裝置兼容的定製應用軟體。該屬性可以是元數據。該方法可使豐富的網絡應用軟體自動構建於各種類型範圍的無線計算裝置。
文檔編號G06F9/44GK101073055SQ200580041943
公開日2007年11月14日 申請日期2005年12月6日 優先權日2004年12月6日
發明者馬克·史蒂芬·耐特, 麥可·伊恩·拉姆, 羅伯特·約翰·劉易斯, 史蒂芬·威廉·波考克, 菲利普·安東尼·桑特, 馬克·彼得·沙利文 申請人:奧沐尼芬有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀