專利名稱:在用戶終端設(shè)備上生成用戶界面的入口服務(wù)器和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及把數(shù)據(jù)信息發(fā)送到顯示設(shè)備的一個(gè)系統(tǒng)和一種方法。具體涉及能夠根據(jù)終端設(shè)備的能力向用戶終端設(shè)備提供由服務(wù)提供者提供的服務(wù)的適當(dāng)用戶界面的入口服務(wù)器及其提供方法。
背景技術(shù):
隨著Internet和移動(dòng)技術(shù)的蓬勃發(fā)展,越來越多的信息和服務(wù)能夠通過移動(dòng)用戶終端來訪問。然而,在市場上,存在著各種各樣的不同型號和不同種類的移動(dòng)用戶終端設(shè)備,并且,每一天都有越來越多的不同的移動(dòng)用戶終端設(shè)備進(jìn)入市場。不同的用戶終端設(shè)備具有不同的能力,例如不同的屏幕尺寸,不同的界面顯示風(fēng)格。因此,即使對于相同的服務(wù)和信息,在不同的用戶終端設(shè)備上,顯示效果都不同。甚至,原始信息無法以符合用戶終端設(shè)備的能力的恰當(dāng)形式被表達(dá),以至于造成用戶使用信息困難。
在專利US 6556217中,Hemant Madan等人提出了一種解決方案。在該專利中,提出了一個(gè)系統(tǒng)和程序,它們基于不同用戶終端設(shè)備的不同屏幕尺寸和不同輸入機(jī)制,對于來自內(nèi)容服務(wù)器的信息進(jìn)行適配和分頁。
然而,對于用戶終端設(shè)備來說,屏幕尺寸只是它的能力的一個(gè)方面而已。用戶終端設(shè)備還有很多其他方面的能力,例如硬件方面的能力,軟件方面的能力,用戶界面表達(dá)能力,等等。
目前,為了適應(yīng)這種趨勢,很多移動(dòng)入口服務(wù)器為每一種不同型號的用戶終端設(shè)備逐個(gè)調(diào)整每個(gè)服務(wù)的內(nèi)容以求向某種用戶終端提供適合其顯示的內(nèi)容。但是這意味著只要有新的設(shè)備上市,為了適配,需要新添一個(gè)專門的內(nèi)容適配模塊到移動(dòng)入口服務(wù)器中。然而,移動(dòng)終端發(fā)展如此迅速,這種每次都需要添加新模塊的方法很不方便。
因此,所需要是一種通用的機(jī)制,該機(jī)制根據(jù)影響用戶終端的用戶界面表達(dá)效果的用戶終端能力,能夠自動(dòng)生成適合該終端能力的控制用戶界面和相應(yīng)的用戶界面實(shí)現(xiàn)程序。
本發(fā)明提出了這樣一種通用的機(jī)制,該機(jī)制能夠基于終端設(shè)備的能力自動(dòng)生成控制用戶界面和相應(yīng)的程序。
發(fā)明內(nèi)容
本發(fā)明提供一種根據(jù)用戶終端設(shè)備的能力自動(dòng)生成控制用戶界面的方法。
在專利US 6556217中,它僅僅致力于表達(dá)讓用戶瀏覽內(nèi)容服務(wù)器提供的已經(jīng)存在的內(nèi)容信息,沒有考慮生成用作服務(wù)或控制的自動(dòng)的并且具有交互作用的用戶界面頁面。然而,在目前和將來,移動(dòng)終端設(shè)備將會(huì)越來越多地用來調(diào)用各種類型的服務(wù)和實(shí)施一些控制處理。用戶不僅僅是使用移動(dòng)終端設(shè)備來被動(dòng)地瀏覽信息,而是主動(dòng)輸入他們的需求數(shù)據(jù)來調(diào)用某些他們感興趣的服務(wù)。因此,生成具有充分交互功能的服務(wù)用戶界面是非常重要的。
基于以上問題,本發(fā)明的一個(gè)目標(biāo)是提出一種根據(jù)終端設(shè)備的能力來自動(dòng)生成適合所連接用戶終端設(shè)備能力的有良好交互性的服務(wù)用戶界面的方法。
在專利US 6556217中的信息分頁方法只是通過一個(gè)接一個(gè)地順序計(jì)算每個(gè)界面元素的尺寸來確定分頁方案。它沒有先計(jì)算所有界面元素的尺寸,然后確定一個(gè)適合終端屏幕尺寸的更加合適的元素分頁組合方案。
相應(yīng)的,本發(fā)明的一個(gè)目標(biāo)就是先全盤地考慮每一個(gè)內(nèi)容元素的尺寸,最后選擇一個(gè)適合用戶終端屏幕尺寸的用戶界面頁面中內(nèi)容元素的合適組合。
專利US 6556217中,一個(gè)默認(rèn)的前提條件是當(dāng)從終端設(shè)備的請求信息中得到終端類型信息之后,能夠直接從數(shù)據(jù)存儲(chǔ)器中得到該終端的信息。然而,通常的情況是不斷有很多新的終端設(shè)備發(fā)布上市,在數(shù)據(jù)庫中并沒有關(guān)于他們的信息。這種情況下的終端設(shè)備識(shí)別沒有被考慮。
關(guān)于這一點(diǎn),在本發(fā)明的一個(gè)實(shí)施例中,一種基于預(yù)定義的規(guī)則來推測與識(shí)別一個(gè)新發(fā)布的未知設(shè)備類型的方法被提出。使用該方法,當(dāng)一個(gè)未知的用戶終端設(shè)備接入并請求相關(guān)內(nèi)容時(shí),服務(wù)器可以推測設(shè)備類型并最終得到關(guān)于該終端設(shè)備的最接近的信息和能力知識(shí)。之后,能夠基于終端能力,來發(fā)送適合其能力的內(nèi)容數(shù)據(jù)。
在所附權(quán)利要求中具體說明的本發(fā)明的這些目的和特征,他們被認(rèn)為具有新穎性。參照附圖通過以下說明將能夠透徹地理解本發(fā)明。
圖1是按照本發(fā)明構(gòu)建的移動(dòng)用戶終端設(shè)備應(yīng)用用戶界面自動(dòng)生成系統(tǒng)的結(jié)構(gòu)圖;圖2是對圖1所示的系統(tǒng)方框圖的更詳細(xì)的說明圖,該圖中例示了本發(fā)明一個(gè)實(shí)施例中移動(dòng)入口服務(wù)器所包含的單元;圖3是用于說明本發(fā)明的一個(gè)實(shí)施例中發(fā)生在用戶終端設(shè)備,移動(dòng)入口服務(wù)器,服務(wù)提供者和終端設(shè)備廠商WEB服務(wù)器之間的處理操作的流程圖;圖4是用以說明圖2中的終端設(shè)備信息獲取單元231的具體結(jié)構(gòu)的方框圖;圖5是用以說明圖2中終端設(shè)備信息獲取單元231的操作的流程圖;圖6是用以說明用以說明圖2中的抽象用戶界面表達(dá)選擇·映射單元222的操作的流程圖;圖7是用以說明圖2和圖6中的抽象用戶界面表達(dá)選擇·映射單元222的處理過程的例示圖。
圖8是用以說明本發(fā)明中抽象用戶界面元素類的定義的示意圖;圖9是用以說明本發(fā)明中抽象用戶界面表達(dá)匹配·映射規(guī)則的定義的示意圖;圖10是用以說明圖2中的具體用戶界面生成單元240的操作的流程圖;圖11是依據(jù)本發(fā)明的一個(gè)具體用戶界面表達(dá)匹配·映射規(guī)則的示例圖;圖12是用以說明圖2中的具體用戶界面頁面生成單元241的具體結(jié)構(gòu)的方框圖;圖13是具體用戶界面頁面生成單元241的操作流程圖;圖14是用以說明圖12中的組合單元1204的具體結(jié)構(gòu)的方框圖;圖15是組合單元1204的操作流程圖;圖16是說明依據(jù)本發(fā)明一個(gè)實(shí)施例生成的用戶界面的示意圖;圖17是說明依據(jù)本發(fā)明另一個(gè)實(shí)施例生成的用戶界面的示意圖。
具體實(shí)施例方式
下面參考圖1描述根據(jù)本發(fā)明的系統(tǒng)的結(jié)構(gòu)。
如圖1所示,用戶終端設(shè)備110被用來當(dāng)作用戶和移動(dòng)入口服務(wù)器120之間的交互界面設(shè)備。作為例子,用戶終端設(shè)備110可以是一個(gè)支持WAP的普通的移動(dòng)電話、個(gè)人數(shù)字助理或智能手機(jī)。
如圖1所示,移動(dòng)入口服務(wù)器120根據(jù)服務(wù)提供者130提供的服務(wù)來生成服務(wù)用戶界面,并把生成的服務(wù)用戶界面以及服務(wù)提供者130提供的數(shù)據(jù)信息發(fā)送到用戶終端設(shè)備110。服務(wù)提供者130可以是任何實(shí)時(shí)服務(wù)的提供者,作為例子,實(shí)時(shí)服務(wù)可以是對智能家電的控制、股票交易、在線購物等。此外,服務(wù)提供者130可以是任何形式的實(shí)體,例如智能家電設(shè)備、股票交易服務(wù)器、電子商務(wù)服務(wù)器等。移動(dòng)入口服務(wù)器120和服務(wù)提供者130可能利用PSTN或電纜設(shè)備或其它寬帶通信機(jī)制通過互聯(lián)網(wǎng)來通信。關(guān)于移動(dòng)入口服務(wù)器120,將在圖2和圖3中給出進(jìn)一步的說明。
參照圖1,終端設(shè)備廠商WEB服務(wù)器140在可能的情況下為移動(dòng)入口服務(wù)器120提供關(guān)于該終端設(shè)備廠商生產(chǎn)的用戶終端設(shè)備110的信息。這里,作為例子,有關(guān)該終端設(shè)備廠商生產(chǎn)的用戶終端設(shè)備110的信息包括用戶終端的能力,諸如軟件平臺(tái)、硬件平臺(tái)、網(wǎng)絡(luò)連接特性、瀏覽器用戶代理、WAP特性等。
在圖2,4,7,12和圖14中示例的數(shù)據(jù)流圖,以及在圖3,5,6,10,13和15中示例的流程圖包含了軟件,硬件,以及對應(yīng)于計(jì)算機(jī)程序的諸如代碼,代碼段,指令,命令,對象之類的處理和操作。作為例子,這個(gè)計(jì)算機(jī)程序可以存儲(chǔ)在諸如軟盤,CD ROM,RAM,硬盤這樣的存儲(chǔ)媒體上。進(jìn)一步地,這個(gè)計(jì)算機(jī)程序可以使用例如Perl,JSPTM(美國太陽微型系統(tǒng)有限公司(Sun Microsystems,Incorporated)的商標(biāo)),PHP,Java(美國太陽微型系統(tǒng)有限公司(Sun Microsystems,Incorporated)的注冊商標(biāo))或者C++等來編寫。
下面參照圖2來更詳細(xì)地說明圖1中所示本發(fā)明一個(gè)實(shí)施例中移動(dòng)入口服務(wù)器120的結(jié)構(gòu)。
如圖1所示,服務(wù)提供者130和移動(dòng)入口服務(wù)器120是分離的實(shí)體。然而,服務(wù)提供者130和移動(dòng)入口服務(wù)器120也可以包含于同一個(gè)實(shí)體中。不管是哪種情況,服務(wù)提供者130都將提供諸如服務(wù)(即“應(yīng)用”)描述信息和服務(wù)響應(yīng)信息這樣的數(shù)據(jù)信息。這些數(shù)據(jù)信息可以是圖片類型的,文本類型的,HTML類型的,XML類型或其他形式的數(shù)據(jù)信息。如圖2所示,這些數(shù)據(jù)信息可從服務(wù)提供者130傳送到服務(wù)提供者通信單元210或由服務(wù)提供者通信單元210訪問服務(wù)提供者130而得到。
如圖2所示,移動(dòng)入口服務(wù)器120由5個(gè)單元組成,包括服務(wù)提供者通信單元210(又稱為服務(wù)提供者通信模塊),用來和服務(wù)提供者130進(jìn)行交互,即服務(wù)提供者通信單元210接收來自服務(wù)提供者130的數(shù)據(jù)信息,例如服務(wù)描述信息和服務(wù)響應(yīng)信息,并向服務(wù)提供者130發(fā)送諸如服務(wù)請求信息之類的數(shù)據(jù)信息;抽象用戶界面元素生成單元220,用于基于預(yù)定義的抽象用戶界面表達(dá)匹配·映射規(guī)則使從應(yīng)用提供者通信單元接收到的應(yīng)用信息與從預(yù)先存儲(chǔ)的抽象用戶界面元素類中選取出的抽象用戶界面元素類相關(guān)聯(lián)而生成抽象用戶界面元素,并將所生成的抽象用戶界面元素保存為抽象用戶界面概要配置文件;終端設(shè)備信息生成單元230,用于根據(jù)從終端設(shè)備通信單元接收的應(yīng)用請求信息而生成與用戶終端設(shè)備有關(guān)的終端設(shè)備信息;具體用戶界面生成單元240,用于根據(jù)由抽象用戶界面元素生成單元220生成的抽象用戶界面概要配置文件和由終端設(shè)備信息生成單元230生成的終端設(shè)備信息,生成適用于用戶終端設(shè)備110的具體用戶界面信息,并將生成的具體用戶界面信息經(jīng)由終端設(shè)備通信單元250提供給用戶終端設(shè)備110;以及,終端設(shè)備通信單元250(又稱為終端設(shè)備通信模塊),用來和用戶終端設(shè)備110進(jìn)行交互。終端設(shè)備通信單元250接收來自用戶終端設(shè)備110的服務(wù)請求并把所生成的具體用戶界面發(fā)送到用戶終端設(shè)備110。對于接收來自用戶終端設(shè)備110的服務(wù)請求信息,終端設(shè)備通信單元250將把該信息發(fā)給服務(wù)提供者通訊單元210以向服務(wù)提供者130發(fā)起服務(wù)請求。
如圖2所示,抽象用戶界面元素生成單元220進(jìn)一步包括服務(wù)描述概要配置文件存儲(chǔ)單元223,用于存儲(chǔ)服務(wù)提供者通信單元210接收來自服務(wù)提供者130的服務(wù)描述概要配置文件;應(yīng)用分析單元221,又稱為應(yīng)用分析模塊221,被用來處理存儲(chǔ)在服務(wù)描述概要配置文件存儲(chǔ)單元223中的、來自服務(wù)提供者130的服務(wù)描述概要配置文件,分析得到關(guān)于服務(wù)的輸入/輸出參數(shù)信息并把該信息存儲(chǔ)到輸入/輸出參數(shù)信息存儲(chǔ)單元224中;輸入/輸出參數(shù)信息存儲(chǔ)單元224,用于存儲(chǔ)輸入/輸出參數(shù)信息;抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225,用于存儲(chǔ)抽象用戶界面表達(dá)匹配·映射規(guī)則;抽象用戶界面元素類定義存儲(chǔ)單元226,用于存儲(chǔ)抽象用戶界面元素類定義;抽象用戶界面表達(dá)選擇·映射單元222,又稱為抽象用戶界面表達(dá)選擇·映射模塊222,用于根據(jù)存儲(chǔ)在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中的抽象用戶界面表達(dá)匹配·映射規(guī)則所包含的預(yù)定義的映射規(guī)則,把服務(wù)提供者130提供的服務(wù)的每一個(gè)輸入/輸出參數(shù)映射成一個(gè)抽象用戶界面元素,之后生成一個(gè)抽象用戶界面概要配置文件(抽象用戶界面元素隊(duì)列)并存儲(chǔ)在抽象用戶界面概要配置文件存儲(chǔ)單元227中;抽象用戶界面概要配置文件存儲(chǔ)單元227,用于存儲(chǔ)抽象用戶界面概要配置文件(即,抽象用戶界面元素隊(duì)列)。
其中,存儲(chǔ)在服務(wù)描述概要配置文件存儲(chǔ)單元223中的服務(wù)描述概要配置文件包含與服務(wù)提供者130提供的諸服務(wù)相關(guān)的所有相關(guān)信息。這些相關(guān)信息的內(nèi)容包括服務(wù)名稱,服務(wù)輸入?yún)?shù)信息,服務(wù)輸出參數(shù)信息。作為例子,該服務(wù)描述概要配置文件中的服務(wù)描述信息包括服務(wù)名稱和有關(guān)該服務(wù)的輸入輸出信息等內(nèi)容。作為本發(fā)明的一個(gè)示例,空調(diào)作為一個(gè)服務(wù)提供者130,能夠提供一個(gè)名為“設(shè)置風(fēng)速”的服務(wù)。服務(wù)“設(shè)置風(fēng)速”的輸入?yún)?shù)是“風(fēng)速”,輸出參數(shù)是“控制結(jié)果”。服務(wù)描述概要配置文件可以在一個(gè)新的服務(wù)提供者130向移動(dòng)入口服務(wù)器120注冊的時(shí)候被發(fā)送到移動(dòng)入口服務(wù)器120,或者,也可以由移動(dòng)入口服務(wù)器120在用戶定制該服務(wù)的時(shí)候從服務(wù)提供者130取得,或者,也可以由管理人員通過使用相應(yīng)的管理系統(tǒng)或工具來配置。
應(yīng)用分析單元221被用來處理存儲(chǔ)在服務(wù)描述概要配置文件存儲(chǔ)單元223中的、來自服務(wù)提供者130的服務(wù)描述概要配置文件。當(dāng)服務(wù)描述信息被傳送到移動(dòng)入口服務(wù)器120或由移動(dòng)入口服務(wù)器120訪問服務(wù)提供者130而被得到,應(yīng)用分析單元221解析并分析該服務(wù)描述信息,并提取出由服務(wù)提供者130提供的服務(wù)的每一個(gè)輸入?yún)?shù)和輸出參數(shù)的信息,并把這些提取出來的信息保存到輸入/輸出參數(shù)信息存儲(chǔ)單元224中。輸入和輸出參數(shù)信息包括每個(gè)參數(shù)的特征信息,如參數(shù)名稱、參數(shù)的數(shù)據(jù)類型、參數(shù)的長度限制、參數(shù)值的范圍、參數(shù)值是可變的還是固定的、該參數(shù)在沒有明確賦值時(shí)是否有默認(rèn)值、及該參數(shù)是否有有限的值選項(xiàng)等等。例如,作為本發(fā)明的一個(gè)應(yīng)用示例,作為服務(wù)提供者130的空調(diào)所提供的服務(wù)“設(shè)置風(fēng)速”具有一個(gè)輸入?yún)?shù)和一個(gè)輸出參數(shù)。關(guān)于服務(wù)“設(shè)置風(fēng)速”的輸入?yún)?shù)信息包括參數(shù)名稱是“風(fēng)速”,參數(shù)的數(shù)據(jù)類型是“字符串”,該參數(shù)有3個(gè)有限的值選項(xiàng),這3個(gè)值分別是“強(qiáng)風(fēng)”,“中風(fēng)”和“微風(fēng)”,并且每次該參數(shù)只能選擇一個(gè)值。關(guān)于服務(wù)“設(shè)置風(fēng)速”的輸出參數(shù)信息包括參數(shù)名稱為“控制結(jié)果”,參數(shù)的數(shù)據(jù)類型是“字符串”,參數(shù)值是可變的,參數(shù)值沒有長度限制。
抽象用戶界面表達(dá)選擇·映射單元222根據(jù)存儲(chǔ)在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中的抽象用戶界面表達(dá)匹配·映射規(guī)則所包含的預(yù)定義的映射規(guī)則,把服務(wù)提供者130提供的服務(wù)的每一個(gè)輸入/輸出參數(shù)映射成一個(gè)抽象用戶界面元素,之后生成一個(gè)抽象用戶界面概要配置文件(抽象用戶界面元素隊(duì)列)。在對圖6和圖7的說明里,將會(huì)給出把某個(gè)服務(wù)的某個(gè)確定的參數(shù)映射到某個(gè)具有確定的抽象用戶界面元素類類型的抽象用戶界面元素的例子。抽象用戶界面表達(dá)選擇·映射單元222的具體操作將在圖6和圖7里給出進(jìn)一步的詳細(xì)說明。
終端設(shè)備信息生成單元230進(jìn)一步包括終端設(shè)備請求和響應(yīng)存儲(chǔ)單元234,用于存儲(chǔ)終端設(shè)備請求和響應(yīng)信息;終端設(shè)備推測規(guī)則存儲(chǔ)單元232,用于存儲(chǔ)終端設(shè)備推測規(guī)則;終端設(shè)備信息存儲(chǔ)單元233,用于存儲(chǔ)用戶終端設(shè)備110的能力和相關(guān)知識(shí)信息、即終端設(shè)備信息;和終端設(shè)備信息獲取單元231,又稱為終端設(shè)備信息獲取模塊231。
存儲(chǔ)在終端設(shè)備請求和響應(yīng)信息存儲(chǔ)單元234中的終端設(shè)備請求和響應(yīng)信息包括在從用戶終端設(shè)備110發(fā)往移動(dòng)入口服務(wù)器120的用戶終端設(shè)備請求中所包含的信息,以及在從移動(dòng)入口服務(wù)器120發(fā)往用戶終端設(shè)備110的響應(yīng)中所包含的信息。
終端設(shè)備推測規(guī)則存儲(chǔ)單元232中存儲(chǔ)有終端設(shè)備推測規(guī)則。終端設(shè)備推測規(guī)則主要定義了不同的用戶終端設(shè)備請求信息中包含的設(shè)備類型識(shí)別子串的具體結(jié)構(gòu)信息和構(gòu)造特點(diǎn),因此,系統(tǒng)能夠基于這些已有的有關(guān)設(shè)備類型識(shí)別子串的具體結(jié)構(gòu)信息和構(gòu)造特點(diǎn)的信息,根據(jù)所連接的用戶終端設(shè)備110發(fā)送的當(dāng)前請求信息中的識(shí)別子串來推測未知的所連接的用戶終端設(shè)備110的類型,以便能基于已經(jīng)存在的終端設(shè)備信息存儲(chǔ)單元233中的信息和用戶終端設(shè)備用戶代理概要配置文件信息來生成關(guān)于未知的所連接的用戶終端設(shè)備110的最接近的終端設(shè)備信息。
終端設(shè)備信息存儲(chǔ)單元233中存儲(chǔ)有用戶終端設(shè)備110的能力和相關(guān)知識(shí)信息,即終端設(shè)備信息。作為例子,終端設(shè)備信息包括關(guān)于用戶終端設(shè)備110的硬件平臺(tái)能力信息、軟件平臺(tái)能力信息、瀏覽器用戶代理能力信息、網(wǎng)絡(luò)連接能力信息、用戶界面表達(dá)能力信息、物理顯示器尺寸等信息。這些包含在終端設(shè)備信息存儲(chǔ)單元233中的終端設(shè)備信息可以是在用戶使用用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120之前被管理人員通過使用相應(yīng)的管理系統(tǒng)或管理工具配置好的,也可以是在用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120后,由終端設(shè)備信息獲取單元231推測出該用戶終端設(shè)備110的終端設(shè)備信息并將該信息加入到終端設(shè)備信息存儲(chǔ)單元233中。
終端設(shè)備識(shí)別模塊231被用來識(shí)別和推測所連接的用戶終端設(shè)備110。如果移動(dòng)入口服務(wù)器120中已經(jīng)保存有關(guān)于所連接的用戶終端設(shè)備110的終端設(shè)備信息,終端設(shè)備信息獲取單元231將直接讀取該用戶終端設(shè)備110的終端設(shè)備信息。如果移動(dòng)入口服務(wù)器120中沒有關(guān)于該用戶終端設(shè)備110的終端設(shè)備信息,則終端設(shè)備信息獲取單元231將利用已經(jīng)保存的其它用戶終端設(shè)備110的終端設(shè)備信息,根據(jù)終端設(shè)備推測規(guī)則來推測所連接的用戶終端設(shè)備110并且收集和生成關(guān)于該所連接的用戶終端設(shè)備110的最接近的終端設(shè)備信息。終端設(shè)備信息獲取單元231將在圖4中給出進(jìn)一步的詳細(xì)說明。
具體用戶界面生成單元240進(jìn)一步包括具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元242,用于存儲(chǔ)具體用戶界面表達(dá)匹配·映射規(guī)則;用戶偏好存儲(chǔ)單元243,用于存儲(chǔ)用戶偏好;具體用戶界面表達(dá)匹配·映射單元244,用于根據(jù)存儲(chǔ)在具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元242中的具體用戶界面表達(dá)匹配·映射規(guī)則,把已經(jīng)被映射成對應(yīng)抽象用戶界面元素的服務(wù)提供者130提供的服務(wù)的輸入/輸出參數(shù)映射成具體用戶界面元素;和具體用戶界面頁面生成單元241,又稱為具體用戶界面頁面生成模塊241,用于基于所匹配·映射成的具體用戶界面元素和所連接的用戶終端設(shè)備信息生成具體用戶界面頁面,這些用戶界面頁面能夠適應(yīng)所連接的用戶終端設(shè)備110的能力,并且如果存在額外的來自用戶反饋或需求的用戶偏好信息,這些應(yīng)用用戶界面頁面同時(shí)能適應(yīng)用戶的偏好。
下面參照圖3來更詳細(xì)地說明依據(jù)圖1和圖2中所示的本發(fā)明一個(gè)實(shí)施例的、發(fā)生在用戶終端設(shè)備110,移動(dòng)入口服務(wù)器120,服務(wù)提供者130和終端設(shè)備廠商WEB服務(wù)器140之間的處理操作流程。在說明圖3時(shí),將同時(shí)參考圖2。
移動(dòng)入口服務(wù)器120在步驟300開始執(zhí)行操作,接下來,處理進(jìn)入步驟310,在步驟310里,用戶終端設(shè)備110向移動(dòng)入口服務(wù)器120的終端設(shè)備通信單元250發(fā)送對目標(biāo)服務(wù)的請求。之后,在步驟315里,包含在該請求中的所有信息將被終端設(shè)備通信單元250讀取并保存到終端設(shè)備請求與響應(yīng)存儲(chǔ)單元234中,同時(shí),其中包含的服務(wù)請求信息將被發(fā)給服務(wù)提供者通訊單元210以向服務(wù)提供者130發(fā)起服務(wù)請求。在步驟320里,終端設(shè)備信息獲取單元231將基于在步驟315中得到的請求信息來識(shí)別或推測用戶終端設(shè)備110的類型,以獲取與所識(shí)別或推測出的用戶終端設(shè)備110的類型相匹配的終端設(shè)備信息。
在本發(fā)明中,所謂的終端設(shè)備信息是指不同類型的用戶終端設(shè)備110在不同方面的各種能力。以將移動(dòng)電話作為用戶終端設(shè)備110為例,其在不同方面的能力包括硬件方面的能力、軟件方面的能力、網(wǎng)絡(luò)連接方面的能力、具體功能的能力、以及用戶界面表達(dá)能力等。
例如,就某個(gè)品牌的某個(gè)型號的普通手機(jī)而言,它的硬件能力包括諸如物理屏幕的尺寸、CPU的類型、顯示屏是黑白模式的還是彩色模式的、鍵盤類型、是否支持觸摸屏、是否內(nèi)置微型照相機(jī)等等。軟件能力包括諸如它支持何種字符集、支持何種類型的應(yīng)用、支持何種格式的圖片、支持哪些具體的用戶界面表達(dá)實(shí)現(xiàn)語言等等。
在這里,給出一個(gè)有關(guān)用戶終端設(shè)備110的軟件能力的例子。這個(gè)普通手機(jī)的軟件能力信息可以包括它支持的字符集是UTF-8和ISO-8859-1,它支持的應(yīng)用包括Java類型的應(yīng)用,Html類型的應(yīng)用,WML類型的應(yīng)用和XHTML類型的應(yīng)用,它支持的用戶界面表達(dá)實(shí)現(xiàn)語言包括HTML,XHTML,WML等,它支持的圖片格式包括JPEG,PNG,WBMP等。
在這里,給出一個(gè)有關(guān)用戶終端設(shè)備110的用戶界面表達(dá)能力的例子。用戶終端設(shè)備110的用戶界面表達(dá)能力信息包括該終端設(shè)備關(guān)于具體的用戶界面的表達(dá)的信息。例如,如果一個(gè)用戶終端設(shè)備110支持用戶界面表達(dá)實(shí)現(xiàn)語言WML,那么,該終端設(shè)備的用戶界面表達(dá)能力包含該終端設(shè)備支持WML里的哪些具體的用戶界面元素,該終端設(shè)備不支持WML里的哪些具體的用戶界面元素,當(dāng)在該型號的用戶終端設(shè)備110上進(jìn)行顯示時(shí),該設(shè)備110所支持的每一個(gè)WML具體用戶界面元素的實(shí)際和具體顯示效果是什么。因?yàn)?,即使對于一種用戶界面表達(dá)實(shí)現(xiàn)語言里的同一個(gè)具體的用戶界面元素來說,在不同型號的用戶終端設(shè)備110上的顯示風(fēng)格也是不同的。這種差異就是不同用戶終端設(shè)備110的不同的用戶界面表達(dá)能力的體現(xiàn)。
例如,在用戶界面表達(dá)實(shí)現(xiàn)語言WML里,有一個(gè)具體的用戶界面元素“<select>”,它的表達(dá)形式是指定數(shù)量的選擇項(xiàng),用戶可以一次僅選擇一個(gè)選項(xiàng)或者一次選擇多個(gè)選項(xiàng)。然而,對于不同型號的用戶終端設(shè)備110,具體用戶界面元素的表達(dá)風(fēng)格是不同的。例如,對于某個(gè)普通的手機(jī)來說,如圖16所示,對于“<select>”的具體用戶界面表達(dá)是指定數(shù)量的字符串選擇項(xiàng),這些字符串選擇項(xiàng)被一個(gè)接一個(gè)地依次列在了同一個(gè)用戶界面頁面中,每一個(gè)選擇項(xiàng)都是在新的一行里從行首開始顯示,并且每一個(gè)選項(xiàng)的形式都是一個(gè)單選按鈕后跟隨純文本的選擇項(xiàng)字符串。如果一個(gè)用戶想要選擇其中的一個(gè)選擇項(xiàng),他/她需要使用手機(jī)鍵盤上的導(dǎo)航鍵來在這些選擇項(xiàng)里進(jìn)行導(dǎo)航。但是,對于另外一種型號的智能手機(jī)來說,如圖17所示,對于“<select>”的用戶界面表達(dá)形式將是一個(gè)只占用一行的下拉式單選框,并且當(dāng)該下拉式單選框沒有被選中而下拉打開時(shí),只有一個(gè)選項(xiàng)被顯示。并且,如果沒有明確指定,則默認(rèn)情況下是第一個(gè)選項(xiàng)被顯示。如果用戶想查看所有的選擇項(xiàng),則他/她需要選中該下拉框并按鍵打開,這時(shí)該下拉單選框中的所有的選擇項(xiàng)將會(huì)從上到下依次一個(gè)一個(gè)地被列示出來。在該例所示的這種情況下,在終端設(shè)備信息存儲(chǔ)單元233中,將會(huì)保存著分別關(guān)于這2種例示的不同型號的用戶終端設(shè)備110對具體用戶界面元素“<select>”的表達(dá)風(fēng)格的信息。
下面將結(jié)合圖4和圖5來詳細(xì)說明終端設(shè)備信息獲取單元231的具體結(jié)構(gòu)以及在步驟320中的具體處理過程。
圖4示出了終端設(shè)備信息獲取單元231的具體結(jié)構(gòu)。如圖4所示,該終端設(shè)備信息獲取單元231由4個(gè)單元組成,即終端設(shè)備識(shí)別單元401,用于利用所得到的請求信息中的識(shí)別子串來檢索終端設(shè)備信息存儲(chǔ)單元233中所存儲(chǔ)的終端設(shè)備信息,從中直接識(shí)別出與之相匹配的用戶終端設(shè)備110的類型;用戶代理概要配置文件獲取單元402,用于根據(jù)包含在所連接的用戶終端設(shè)備110的請求信息中的URL,訪問用戶終端設(shè)備廠商的WEB服務(wù)器140,從中獲取與所連接的用戶終端設(shè)備110相應(yīng)的用戶代理概要配置文件;推測規(guī)則讀取單元403,用于從終端設(shè)備推測規(guī)則存儲(chǔ)單元232中讀取終端設(shè)備推測規(guī)則;終端設(shè)備推測單元404,用于基于所獲取的用戶代理概要配置文件,通過將所接收的終端設(shè)備請求信息中的識(shí)別子串與讀取的終端設(shè)備推測規(guī)則進(jìn)行匹配,推測出用戶終端設(shè)備110的終端設(shè)備信息。即,終端設(shè)備識(shí)別單元401搜索整個(gè)終端設(shè)備信息存儲(chǔ)單元233,檢查當(dāng)前是否已經(jīng)存在關(guān)于所連接的用戶終端設(shè)備110的信息。如果在終端設(shè)備信息存儲(chǔ)單元233中已經(jīng)存在關(guān)于所連接的用戶終端設(shè)備110的信息,則該終端設(shè)備的類型將直接被確定。如果終端設(shè)備信息存儲(chǔ)單元233中當(dāng)前不存在關(guān)于所連接的用戶終端設(shè)備110的信息,那么,終端設(shè)備推測單元404將根據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)中的終端設(shè)備推測規(guī)則來推測用戶終端設(shè)備110的類型并構(gòu)造出關(guān)于用戶終端設(shè)備110的最接近的終端設(shè)備信息。
下面結(jié)合圖5所示的流程圖來詳細(xì)說明終端設(shè)備信息獲取單元231在步驟320中的識(shí)別和推測過程。
如圖5所示,在步驟510中,終端設(shè)備識(shí)別單元401從來自用戶終端設(shè)備110的請求信息中提取出用戶代理字符串和其它的關(guān)鍵信息。
在這里,用戶代理字符串是一個(gè)包含在來自用戶終端設(shè)備110的請求信息中名叫”HTTP_USER_AGENT”的HTTP頭中的字符串。在用戶代理字符串中,包含了一個(gè)能夠提供所連接的用戶終端設(shè)備110的識(shí)別信息的識(shí)別子串。這個(gè)識(shí)別子串包含用于識(shí)別所連接的用戶終端設(shè)備110的關(guān)鍵信息。這些關(guān)鍵信息包括該所連接的用戶終端設(shè)備110的品牌、型號,還可以包括該型號所屬的產(chǎn)品系列名稱。
例如,作為本發(fā)明的一個(gè)應(yīng)用示例,一個(gè)包含在用戶代理字符串中的識(shí)別子串可以是“AAA-BBB-CCC”。在這個(gè)例子里,AAA指出了用戶終端設(shè)備110的品牌,即該終端設(shè)備是哪個(gè)終端設(shè)備廠商的設(shè)備,“BBB”指出了所連接的終端設(shè)備所屬的產(chǎn)品系列名稱,“CCC”指出了該用戶終端設(shè)備110的型號名稱。
例如,作為本發(fā)明的另一個(gè)應(yīng)用示例,一個(gè)具體的識(shí)別子串可以是“XXX-YYY”。在這個(gè)例子中,“XXX”指出了用戶終端設(shè)備110的品牌,即該終端設(shè)備是哪個(gè)終端設(shè)備廠商的設(shè)備,“YYY”指出了所連接的用戶終端設(shè)備110的型號名稱。
這個(gè)包含在用戶代理字符串中的識(shí)別子串的結(jié)構(gòu)之所以不同,原因在于不同的終端設(shè)備廠商對終端設(shè)備的命名管理是不同的。在上述的第一個(gè)例子中,在某個(gè)確定的相同的品牌下,包括若干個(gè)產(chǎn)品系列,每一個(gè)型號的用戶終端設(shè)備110分別從屬于某一個(gè)確定的產(chǎn)品系列。在第二個(gè)例子中,沒有明確的產(chǎn)品系列名稱,每一個(gè)型號的用戶終端設(shè)備都是彼此并列的。即使有產(chǎn)品系列,產(chǎn)品系列的名稱也可以包含在型號名稱當(dāng)中。
盡管對于不同品牌的用戶終端設(shè)備110的識(shí)別子串的結(jié)構(gòu)是不同的,但是,對于某個(gè)特定的終端設(shè)備廠商,該識(shí)別子串的結(jié)構(gòu)通常是統(tǒng)一的,或者,對于某個(gè)特定的終端設(shè)備廠商的一系列終端設(shè)備來說,該識(shí)別子串的結(jié)構(gòu)是統(tǒng)一的。
因此,在本發(fā)明中,與用戶終端設(shè)備110的識(shí)別子串結(jié)構(gòu)相關(guān)的信息被包含在終端設(shè)備推測規(guī)則中。作為例子,這些信息包括該終端設(shè)備的識(shí)別子串的組成部分、這些組成部分的結(jié)構(gòu)特征等等。
當(dāng)終端設(shè)備識(shí)別單元401在步驟510中從用戶代理字符串中提取出所連接的用戶終端設(shè)備110的識(shí)別子串后,進(jìn)入步驟515。
在步驟515中,終端設(shè)備識(shí)別單元401對終端設(shè)備信息存儲(chǔ)單元233進(jìn)行搜索掃描以在終端設(shè)備信息存儲(chǔ)單元233中當(dāng)前保存的終端設(shè)備信息中查找具有這樣的識(shí)別子串的終端設(shè)備。
在步驟520中,判斷終端設(shè)備信息存儲(chǔ)單元233中是否已經(jīng)存在關(guān)于所連接的用戶終端設(shè)備110的終端設(shè)備信息。如果在步驟520中,判斷結(jié)果是當(dāng)前已經(jīng)存在關(guān)于所連接的用戶終端設(shè)備110的終端設(shè)備信息,那么處理進(jìn)入步驟560。在步驟560中,終端設(shè)備識(shí)別單元401直接從終端設(shè)備信息存儲(chǔ)單元233中讀取關(guān)于當(dāng)前所連接的用戶終端設(shè)備110的終端設(shè)備信息,之后,處理進(jìn)入步驟570,終端設(shè)備信息獲取單元231的全部處理結(jié)束。如果步驟520中的判斷結(jié)果是終端設(shè)備信息存儲(chǔ)單元233中不存在關(guān)于所連接的用戶終端設(shè)備110的終端設(shè)備信息,那么處理進(jìn)入步驟525。
在步驟525中,用戶代理概要配置文件獲取單元402判斷來自用戶終端設(shè)備110的請求信息中是否提供了用戶代理概要配置文件的URL。如果判斷結(jié)果是請求信息中提供了用戶代理概要配置文件的URL,則處理進(jìn)入步驟530。
在步驟530中,用戶代理概要配置文件獲取單元402根據(jù)從請求信息中提取出的、用戶代理概要配置文件的URL,訪問終端設(shè)備廠商WEB服務(wù)器140而取得用戶代理概要配置文件。在這里,用戶代理概要配置文件是一種XML文件格式的、由終端設(shè)備廠商提供的關(guān)于某種型號的設(shè)備的描述文件。通常,在這個(gè)文件中,包含了一些有關(guān)某個(gè)型號的終端設(shè)備的能力的關(guān)鍵信息。這些關(guān)鍵信息通常包括這樣一些內(nèi)容,例如有關(guān)終端設(shè)備的硬件特征信息、有關(guān)終端設(shè)備的軟件特征信息、有關(guān)終端設(shè)備的屏幕尺寸、有關(guān)終端設(shè)備的瀏覽器用戶代理的信息、有關(guān)終端的WAP方面的特征信息、有關(guān)終端設(shè)備的網(wǎng)絡(luò)特征信息等等。該文件包含了終端設(shè)備提供商提供的關(guān)于某個(gè)型號的終端設(shè)備的原始信息。通常,該用戶代理概要配置文件存在于終端設(shè)備廠商的WEB服務(wù)器140上。并且,該文件的URL包含在從所連接的用戶終端設(shè)備110發(fā)送的請求信息中。如此,即使所連接的用戶終端設(shè)備110是未知的,終端設(shè)備信息獲取單元231仍然可以通過取得該用戶代理概要配置文件來得到與所連的未知終端設(shè)備有關(guān)的有用信息。
之后,在步驟535中,推測規(guī)則讀取單元403從終端設(shè)備推測規(guī)則存儲(chǔ)單元232中讀取終端設(shè)備推測規(guī)則。在本發(fā)明中,終端設(shè)備推測規(guī)則存儲(chǔ)單元232中有多個(gè)預(yù)定義的終端設(shè)備推測規(guī)則。這些規(guī)則被預(yù)先定義,并且是可配置的??梢酝ㄟ^管理系統(tǒng)或管理工具,在任何時(shí)間將這些推測規(guī)則定義并存儲(chǔ)到終端設(shè)備推測規(guī)則存儲(chǔ)單元232中。在終端設(shè)備信息存儲(chǔ)單元233中尚未存有關(guān)于某個(gè)未知用戶終端110的終端設(shè)備信息的情況下,通過利用這些推測規(guī)則,可以基于該未知用戶終端110的請求信息和數(shù)據(jù)存儲(chǔ)終端設(shè)備信息存儲(chǔ)單元233中的已有數(shù)據(jù)來識(shí)別該用戶終端設(shè)備110并得到關(guān)于該用戶終端設(shè)備的、最接近的知識(shí)信息。
作為本發(fā)明的一個(gè)示例,一個(gè)終端設(shè)備推測規(guī)則主要包含在用戶終端設(shè)備的請求信息中所包含的識(shí)別子串的具體結(jié)構(gòu)信息和構(gòu)造特點(diǎn)。其中,結(jié)構(gòu)信息定義了該識(shí)別子串主要由哪幾部分組成。例如,可以是由品牌名稱字符串和產(chǎn)品型號字符串組成,并且品牌名稱縮寫字符串和產(chǎn)品型號字符串之間前后緊密連接,沒有任何分隔字符。也可以是由品牌名稱字符串、產(chǎn)品系列名稱字符串以及產(chǎn)品型號字符串組成,并且,品牌名稱字符串、產(chǎn)品系列名稱字符串以及產(chǎn)品型號字符串是由某個(gè)特定的分割字符相互前后連接。構(gòu)造特點(diǎn)信息主要描述了組成識(shí)別子串的相關(guān)部分的內(nèi)容構(gòu)造的特點(diǎn)。構(gòu)造特點(diǎn)信息定義了與組成識(shí)別子串的相關(guān)部分的構(gòu)造特征。例如,構(gòu)造特點(diǎn)信息可以是,組成該識(shí)別子串的品牌名稱為品牌名稱全稱以及相應(yīng)的全稱內(nèi)容,或?yàn)槠放泼Q縮寫以及相應(yīng)的縮寫內(nèi)容?;蛘?,作為例子,構(gòu)造特點(diǎn)信息可以是組成識(shí)別子串的產(chǎn)品型號字符串全都由數(shù)字組成,并且不同產(chǎn)品型號字符串中的數(shù)字的編排是按照產(chǎn)品上市的時(shí)間先后按升序編排的,等等。
在讀出終端設(shè)備推測規(guī)則之后,在步驟540中,終端設(shè)備推測單元404把用戶終端設(shè)備110的請求信息中的識(shí)別子串與預(yù)定義的終端設(shè)備推測規(guī)則進(jìn)行匹配。之后,在步驟545中,終端設(shè)備推測單元404根據(jù)匹配上的終端設(shè)備推測規(guī)則來推測終端設(shè)備的類型。
在這里,作為本發(fā)明的一個(gè)應(yīng)用示例,給出推測一個(gè)未知的用戶終端設(shè)備110的具體的例子。在這個(gè)例子中,假設(shè)從來自該用戶終端設(shè)備110的請求信息中已經(jīng)提取出該終端設(shè)備的識(shí)別子串是“ABC-E123”。首先,系統(tǒng)把識(shí)別子串“ABC-E123”和當(dāng)前在終端設(shè)備推測規(guī)則存儲(chǔ)單元232中存儲(chǔ)的終端設(shè)備推測規(guī)則進(jìn)行匹配,找到一個(gè)匹配的終端設(shè)備推測規(guī)則,該推測規(guī)則包括識(shí)別子串由2部分組成,第一部分是品牌名稱縮寫字符串“ABC”,第二部分為產(chǎn)品型號名稱字符串,該產(chǎn)品型號名稱字符串由一個(gè)產(chǎn)品系列名稱字母以及3位的數(shù)字組成,并且在同一個(gè)產(chǎn)品系列中,產(chǎn)品型號名稱中的3位數(shù)字構(gòu)成的序號是按照產(chǎn)品的發(fā)布時(shí)間先后順次升序編排的,同時(shí),第一部分品牌名稱縮寫字符串“ABC”和第二部分的產(chǎn)品型號名稱字符串之間由一個(gè)中劃線字符“-”連接。根據(jù)該匹配的終端設(shè)備推測規(guī)則信息,系統(tǒng)從這個(gè)子串中提取出品牌名稱“ABC”,并斷定這個(gè)用戶終端設(shè)備110的品牌是“ABC”。之后,終端設(shè)備信息獲取單元231讀取有關(guān)這個(gè)品牌的用戶終端設(shè)備110的設(shè)備識(shí)別子串的結(jié)構(gòu)特征信息,并解析子串,得到這個(gè)用戶終端設(shè)備110的型號名稱“E123”。同時(shí),根據(jù)終端設(shè)備推測規(guī)則中包含的信息,終端設(shè)備推測單元404斷定所連接的這個(gè)未知用戶終端設(shè)備110屬于“E”產(chǎn)品系列,并且它的具體的型號字符串是“E123”。之后,終端設(shè)備信息獲取單元231在終端設(shè)備信息存儲(chǔ)單元233中尋找當(dāng)前是否已經(jīng)存在這樣一些用戶終端設(shè)備110的信息,這些終端設(shè)備的品牌為“ABC”,并且從屬于“E”產(chǎn)品系列。在這之后,在當(dāng)前的終端設(shè)備信息存儲(chǔ)單元233中找到了2個(gè)用戶終端設(shè)備110,這2個(gè)終端設(shè)備的設(shè)備識(shí)別子串分別是“ABC-E100”和“ABC-E120”。根據(jù)終端設(shè)備推測規(guī)則中的信息,這種“ABC”品牌的用戶終端設(shè)備110的產(chǎn)品系列的型號名稱中的序號是隨著產(chǎn)品發(fā)布的時(shí)間順次按升序編排的。至此,終端設(shè)備推測單元404斷定,這個(gè)未知的用戶終端設(shè)備110的類型為品牌ABC中的、從屬于E產(chǎn)品系列的、型號序號為123的設(shè)備,并且該設(shè)備與當(dāng)前系統(tǒng)中已經(jīng)存在的識(shí)別子串為“ABC-E120”的終端設(shè)備的類型最為接近。隨后,在步驟550中,基于步驟545中對終端設(shè)備類型的推測結(jié)果,終端設(shè)備推測單元404將利用已經(jīng)存在的終端設(shè)備信息和獲得的用戶代理概要配置文件,重新構(gòu)造出對應(yīng)于識(shí)別子串為“ABC-E123”的未知用戶終端設(shè)備110的終端設(shè)備信息。具體地,在這個(gè)例子中,在重構(gòu)對應(yīng)于識(shí)別子串為“ABC-E123”的未知用戶終端設(shè)備110的終端設(shè)備信息的過程中,如果在此之前已經(jīng)從終端設(shè)備廠商WEB服務(wù)器140取得該用戶終端設(shè)備110的用戶代理概要配置文件,則終端設(shè)備推測單元404將合并所匹配和推測出的與該未知用戶終端設(shè)備最接近的設(shè)備信息以及已經(jīng)獲得的該未知用戶終端設(shè)備110的用戶代理概要配置文件中的信息,來重構(gòu)出對應(yīng)于當(dāng)前識(shí)別子串為“ABC-E123”的未知用戶終端設(shè)備110的最接近的終端設(shè)備信息。還是以上面提到的識(shí)別子串為“ABC-E123”的用戶終端設(shè)備的推測為例,當(dāng)終端設(shè)備推測單元404推測出這個(gè)未知的用戶終端設(shè)備的類型并斷定其與當(dāng)前系統(tǒng)中已經(jīng)存在的識(shí)別子串為“ABC-E120”的終端設(shè)備的類型最為接近后,讀取當(dāng)前系統(tǒng)中保存的有關(guān)識(shí)別子串為“ABC-E120”的終端設(shè)備的終端設(shè)備信息,同時(shí),利用當(dāng)前已經(jīng)獲得的關(guān)于識(shí)別子串為“ABC-E123”的用戶終端設(shè)備的用戶終端設(shè)備概要配置文件,來解析和讀取該用戶終端設(shè)備概要配置文件中所提供的關(guān)于該未知用戶終端設(shè)備110的準(zhǔn)確信息,并將已存的關(guān)于識(shí)別子串為“ABC-E120”的終端設(shè)備信息和從未知用戶終端設(shè)備概要配置文件中解析得出的信息進(jìn)行合并,生成關(guān)于當(dāng)前未知用戶終端設(shè)備110的完整的設(shè)備信息。還是以此為例,在這個(gè)信息合并的過程中,如果關(guān)于某種具體的用戶終端設(shè)備的能力,在識(shí)別子串為“ABC-E120”的終端設(shè)備的終端設(shè)備信息中和在未知用戶終端設(shè)備110的用戶終端設(shè)備概要配置文件中都提供了信息,則以在用戶終端設(shè)備概要配置文件中提供的信息為準(zhǔn),在合并時(shí)將使用用戶終端設(shè)備概要配置文件中提供的信息。例如,如果在當(dāng)前系統(tǒng)保存的有關(guān)識(shí)別子串為“ABC-E120”的終端設(shè)備的終端設(shè)備信息中有關(guān)該設(shè)備的屏幕尺寸為“128×128”,而用戶終端設(shè)備概要配置文件中提供的有關(guān)未知用戶終端設(shè)備110的屏幕尺寸為“128×160”,則在信息合并過程中,將把該未知用戶終端設(shè)備110的屏幕尺寸設(shè)置為“128×160”;此外,如果對于某種具體的用戶終端的能力,在用戶終端設(shè)備概要配置文件中提供的具體信息沒有被包含在識(shí)別子串為“ABC-E120”的終端設(shè)備的終端設(shè)備信息中,則在信息合并的過程中將把這種新的設(shè)備信息添加到結(jié)果信息中。例如,如果在當(dāng)前系統(tǒng)保存的有關(guān)識(shí)別子串為“ABC-E120”的終端設(shè)備的終端設(shè)備信息中該終端設(shè)備支持的圖片格式為PNG格式,而在用戶終端設(shè)備概要配置文件提供的信息中,該未知設(shè)備還支持JPEG格式的圖片,則合并后的終端設(shè)備信息中關(guān)于該用戶終端設(shè)備支持的圖片格式信息將為該設(shè)備支持PNG和JPEG兩種格式的圖像文件。
然后,在步驟555中,將新收集和構(gòu)造出的關(guān)于所連接的用戶終端設(shè)備110的終端設(shè)備信息存儲(chǔ)到終端設(shè)備信息存儲(chǔ)單元233中以備將來使用。之后,處理進(jìn)入步驟570,結(jié)束終端設(shè)備信息獲取單元231的處理。
返回圖3,在終端設(shè)備信息獲取單元231在步驟320中通過如上所述的識(shí)別或推測過程獲取了所連接的用戶終端設(shè)備110的終端設(shè)備信息之后,流程進(jìn)入到步驟330。在步驟330中,得到目標(biāo)服務(wù)的每一個(gè)輸入/輸出參數(shù)的信息。作為本發(fā)明的示例,當(dāng)服務(wù)提供者130將服務(wù)描述概要配置文件傳送到移動(dòng)入口服務(wù)器120或者通過移動(dòng)入口服務(wù)器120訪問服務(wù)提供者130而得到服務(wù)描述概要配置文件時(shí),應(yīng)用分析單元221將解析并分析該服務(wù)描述概要配置文件,提取出關(guān)于服務(wù)的通用信息以及關(guān)于每一個(gè)輸入/輸出參數(shù)的詳細(xì)信息,并把這些信息保存到輸入/輸出參數(shù)信息存儲(chǔ)單元224中。
然后,在步驟340中,抽象用戶界面表達(dá)選擇·映射單元222基于每一個(gè)輸入/輸出參數(shù)的信息,根據(jù)存儲(chǔ)在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中的規(guī)則,把目標(biāo)服務(wù)的每一個(gè)輸入/輸出參數(shù)映射成一個(gè)抽象用戶界面元素,并生成抽象用戶界面概要配置文件。抽象用戶界面表達(dá)選擇·映射單元222將在圖6和圖7里給出進(jìn)一步的詳細(xì)的說明。
下面參照圖6-8來說明依據(jù)本發(fā)明一個(gè)實(shí)施例的、抽象用戶界面表達(dá)選擇·映射單元222在圖3的步驟340中所執(zhí)行的具體處理流程。
如圖6所示,抽象用戶界面表達(dá)選擇·映射單元222在步驟600開始執(zhí)行操作。接下來,在步驟605中,從輸入/輸出參數(shù)信息存儲(chǔ)單元224中讀取目標(biāo)服務(wù)的每個(gè)輸入/輸出參數(shù)的信息。保存在存儲(chǔ)單元224中的數(shù)據(jù)包括由服務(wù)提供者130提供的每一個(gè)服務(wù)的每一個(gè)輸入/輸出參數(shù)的相關(guān)信息和特征。如在圖7中給出的一個(gè)示例所示,輸入輸出參數(shù)的信息可以包括參數(shù)名稱;參數(shù)的數(shù)據(jù)類型;參數(shù)值屬性,包括參數(shù)值類型,表示參數(shù)值是可變的還是固定的、參數(shù)值的長度、參數(shù)值長度類型(表示參數(shù)值的長度是定長的還是變長的)和對參數(shù)值長度的限制、以及參數(shù)值的范圍;參數(shù)選項(xiàng)值屬性,即參數(shù)是否包括有限數(shù)量的參數(shù)值選項(xiàng)以及選擇模式(即單選還是多選);以及參數(shù)默認(rèn)值屬性,即參數(shù)是否有默認(rèn)值以及默認(rèn)值的大小,等等。
在圖7中示出了一個(gè)具體服務(wù)的輸入/輸出參數(shù)信息的一個(gè)具體示例。如圖7所示,服務(wù)“自動(dòng)開啟”710是服務(wù)提供者130(即空調(diào))提供的一個(gè)服務(wù)。在這里,這個(gè)服務(wù)有3個(gè)輸入?yún)?shù)和1個(gè)輸出參數(shù)。第一個(gè)輸入?yún)?shù)是“開啟時(shí)間”711,第二個(gè)輸入?yún)?shù)是“溫度”712,第三個(gè)輸入?yún)?shù)是“風(fēng)速”713。輸出參數(shù)是“控制結(jié)果”714。
如圖7所示,在這個(gè)“自動(dòng)開啟”服務(wù)710的例子中,對于第一個(gè)輸入?yún)?shù)711,參數(shù)信息包括參數(shù)名稱是“開啟時(shí)間”;參數(shù)的數(shù)據(jù)類型是字符串型;參數(shù)值屬性包含參數(shù)值類型是可變的、參數(shù)值長度的類型是固定的、固定長度是5個(gè)字符長;并且,該參數(shù)的默認(rèn)值屬性為具有默認(rèn)值且該默認(rèn)值的賦值為“18:00”。
如圖7所示,在這個(gè)“自動(dòng)開啟”服務(wù)710的例子中,對于第二個(gè)輸入?yún)?shù)712,參數(shù)信息包括參數(shù)名稱是“溫度”;參數(shù)的數(shù)據(jù)類型是整型;參數(shù)值屬性包含參數(shù)值類型是可變的、參數(shù)值的范圍被限制為最小值10和最大值40之間。
如圖7所示,在這個(gè)“自動(dòng)開啟”服務(wù)710的例子中,對于第三個(gè)輸入?yún)?shù)713,參數(shù)信息包括參數(shù)名稱是“風(fēng)速”;參數(shù)的數(shù)據(jù)類型是字符串型;參數(shù)值選項(xiàng)屬性表示包括有限的參數(shù)值選項(xiàng),選擇模式為“單選”,這意味著這個(gè)參數(shù)的值只能從幾個(gè)給定的參數(shù)值選項(xiàng)中選取且在為這個(gè)參數(shù)設(shè)置值時(shí),每次只能選擇一個(gè)參數(shù)值選項(xiàng)。這個(gè)參數(shù)有3個(gè)參數(shù)值選項(xiàng),分別是“強(qiáng)風(fēng)”,“中風(fēng)”和“微風(fēng)”。
如圖7所示,在這個(gè)“自動(dòng)開啟”服務(wù)710的例子中,對于輸出參數(shù)714,該參數(shù)的信息包括參數(shù)名稱是“控制結(jié)果”;參數(shù)的數(shù)據(jù)類型是字符串型;參數(shù)值屬性包含參數(shù)值類型是可變的、參數(shù)值長度是變長的。
輸入/輸出參數(shù)信息存儲(chǔ)單元224中的數(shù)據(jù)可以是在用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120之前就已經(jīng)存在的數(shù)據(jù),也可以是在用戶通過將用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120來定制服務(wù)的情況下,在從服務(wù)提供者130取得服務(wù)后,由應(yīng)用分析單元221產(chǎn)生的數(shù)據(jù)。
返回圖6,在步驟605中讀取出與目標(biāo)服務(wù)有關(guān)的輸入/輸出參數(shù)信息之后,在步驟615中,抽象用戶界面表達(dá)選擇·映射單元222從抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中讀取抽象用戶界面表達(dá)匹配·映射規(guī)則。
在本發(fā)明中,有多個(gè)預(yù)定義的獨(dú)立于終端和實(shí)現(xiàn)語言的抽象用戶界面元素類。這些抽象用戶界面元素類被預(yù)先定義,并且是可配置的。這些抽象用戶界面元素類的定義被存儲(chǔ)在抽象用戶界面元素類定義存儲(chǔ)單元226中。這些抽象用戶界面元素類的定義在用戶將用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120之前就被預(yù)定義并存儲(chǔ)在抽象用戶界面元素類定義存儲(chǔ)單元226中。這些抽象用戶界面元素類是從很多具體的用戶界面元素中抽象出來的,這些具體的用戶界面元素具有不同的表現(xiàn)形式和不同的實(shí)現(xiàn)語言,但是卻具有相同的本質(zhì)。
例如,在用戶界面表達(dá)中,經(jīng)常存在這樣一種情況給出有限個(gè)的選項(xiàng)值供用戶選擇,但是用戶只能從中選擇一個(gè)選項(xiàng)值。然而,在不同的終端設(shè)備上,在不同的用戶界面表達(dá)語言中,這種類型的用戶界面元素的表現(xiàn)形式是不同的,實(shí)現(xiàn)語言的代碼也是不同的。在這種情況下,我們把這種類型的具體用戶界面元素抽象成一個(gè)名叫“single_selection_list”的抽象用戶界面元素類。這個(gè)抽象用戶界面元素類獨(dú)立于具體的終端類型和具體的用戶界面表達(dá)實(shí)現(xiàn)語言。作為本發(fā)明的示例,抽象用戶界面元素類的定義包括,例如,類的名稱以及類的屬性。
下面參照圖8中的示意圖來說明圖7所示的本發(fā)明一個(gè)實(shí)施例中的抽象用戶界面元素類定義。
如圖8所示,一個(gè)抽象用戶界面元素類800的定義中所包含的信息包括抽象用戶界面元素類的名稱801和這個(gè)抽象用戶界面元素類的屬性信息。一個(gè)抽象用戶界面元素類可以包含多個(gè)屬性,這些屬性通常被分成2種類型的屬性,其中一種類型是強(qiáng)制屬性802,另一種類型是可選屬性803。強(qiáng)制屬性802是指必須為這個(gè)屬性設(shè)置一個(gè)值,而可選屬性803是指在滿足某種條件時(shí)才為這個(gè)屬性設(shè)置值。在一個(gè)抽象用戶界面元素類的定義中,包含了關(guān)于每一個(gè)屬性的定義信息。作為例子,每個(gè)屬性的定義信息包括屬性名稱,屬性的數(shù)據(jù)類型,等等。
在圖8所示的一個(gè)抽象用戶界面元素類定義的具體例子中,該抽象用戶界面元素類800的類名為“single_selection_list”。抽象用戶界面元素類“single_selection_list”是這樣一種類型的具體用戶界面元素的抽象,即,這些具體用戶界面元素的表現(xiàn)形式為列出一些可選項(xiàng)并且一次只能選擇一個(gè)選項(xiàng)。如圖8所示,抽象用戶界面元素類“single_selection_list”800具有5個(gè)屬性,其中4個(gè)屬性是強(qiáng)制屬性802,另外一個(gè)屬性是可選屬性803。具體地,第一個(gè)強(qiáng)制屬性的名稱為“binded_variable_name”,表示當(dāng)一個(gè)選擇項(xiàng)被選擇時(shí),被選項(xiàng)的值被保存到哪個(gè)與該選項(xiàng)列表對應(yīng)的變量中,且該屬性的數(shù)據(jù)類型是字符串型;第二個(gè)強(qiáng)制性屬性的名稱為“l(fā)ist_item_count”,表示所包含和列出的選擇項(xiàng)的數(shù)量,且該屬性的數(shù)據(jù)類型是整型;第三個(gè)強(qiáng)制性屬性的名稱為“l(fā)ist_item_contents”,表示每個(gè)選擇項(xiàng)的內(nèi)容,也即當(dāng)選擇項(xiàng)被列出供用戶瀏覽選擇時(shí),每個(gè)選擇項(xiàng)中所具體顯示的內(nèi)容,且該屬性的數(shù)據(jù)類型是列表型;第四個(gè)強(qiáng)制性屬性的名稱為“l(fā)ist_item_values”,表示每一個(gè)選擇項(xiàng)所代表和對應(yīng)的選項(xiàng)值,且該屬性的數(shù)據(jù)類型是列表型。抽象用戶界面元素類“single_selection_list”800的唯一一個(gè)可選屬性的名稱為“default_value”,表示在用戶沒有為該參數(shù)輸入值的情況下,默認(rèn)自動(dòng)為該參數(shù)設(shè)置的值,該屬性的數(shù)據(jù)類型為字符串型。
在本發(fā)明中,有多個(gè)預(yù)定義的抽象用戶界面表達(dá)匹配·映射規(guī)則。這些規(guī)則被預(yù)先定義,并且是可配置的,它們被存儲(chǔ)在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中。這些抽象用戶界面表達(dá)匹配·映射規(guī)則或者在用戶使用用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120來請求一個(gè)服務(wù)之前就被預(yù)定義或者可以根據(jù)需要,通過使用相應(yīng)的管理系統(tǒng)或工具而被定義并添加到抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中。
在本發(fā)明中,抽象用戶界面表達(dá)匹配·映射規(guī)則定義了具有某些特征的參數(shù)應(yīng)該被映射成某種抽象用戶界面元素。在這里,在一個(gè)抽象用戶界面表達(dá)匹配·映射規(guī)則中所定義的被映射成的目標(biāo)抽象用戶界面元素是該規(guī)則定義中指定的某種抽象用戶界面元素類類型的抽象用戶界面元素,而該指定的抽象用戶界面元素類的定義則被存儲(chǔ)在抽象用戶界面元素類定義存儲(chǔ)單元226中。根據(jù)指定的抽象用戶界面元素類的定義,被映射成的目標(biāo)抽象用戶界面元素具有該抽象用戶界面元素類定義中所包含的所有的屬性。而目標(biāo)抽象用戶界面元素所具有的這些屬性的值則是根據(jù)抽象用戶界面表達(dá)匹配·映射規(guī)則中的映射規(guī)則,映射來自被映射的參數(shù)信息。
圖9給出了本發(fā)明一個(gè)示例中的抽象用戶界面表達(dá)匹配·映射規(guī)則9000的一個(gè)例子。進(jìn)一步的,圖9給出了本發(fā)明一個(gè)示例中抽象用戶界面表達(dá)匹配·映射規(guī)則9000的定義的一個(gè)具體的例子。
參考圖9,這個(gè)例子示出了一個(gè)抽象用戶界面表達(dá)匹配·映射規(guī)則,這個(gè)規(guī)則指明了如何把什么類型的參數(shù)映射成抽象用戶界面元素類“single_selection_list”。如圖9所示,抽象用戶界面表達(dá)匹配·映射規(guī)則9000包含匹配條件部分9100和映射規(guī)則部分9200,其中的匹配條件部分9100定義了一個(gè)參數(shù)為了能和當(dāng)前的抽象用戶界面表達(dá)匹配·映射規(guī)則相匹配所必須具備的特征,而映射規(guī)則部分9200則定義了在符合上述匹配條件9100的情況下參數(shù)所對應(yīng)的抽象用戶界面元素類、以及參數(shù)與該抽象用戶界面元素類的抽象用戶界面元素的映射關(guān)系。
匹配條件部分9100實(shí)際上是由多個(gè)子條件組成的一個(gè)邏輯表達(dá)式,即這些子條件通過表示“與”、“或”、“非”等邏輯關(guān)系的邏輯運(yùn)算符而連接成一個(gè)邏輯表達(dá)式。只有當(dāng)這個(gè)邏輯表達(dá)式的運(yùn)算結(jié)果為“真”的時(shí)候,才意味著當(dāng)前的參數(shù)與抽象用戶界面表達(dá)匹配·映射規(guī)則相匹配,即,才能使用該抽象用戶界面表達(dá)匹配·映射規(guī)則將該當(dāng)前參數(shù)映射成指定的抽象用戶界面元素類類型的抽象用戶界面元素。
在圖9給出的具體的示例中,匹配條件部分9100由6個(gè)子條件9101、9102、9103、9104、9105和9106構(gòu)成。子條件9101表示參數(shù)的數(shù)據(jù)類型應(yīng)該為字符串型。子條件9102表示參數(shù)的數(shù)據(jù)類型應(yīng)該為整型。子條件9103表示參數(shù)的數(shù)據(jù)類型應(yīng)該為浮點(diǎn)型。子條件9104表示參數(shù)的數(shù)據(jù)類型應(yīng)該為雙精度型。子條件9105表示參數(shù)有有限的參數(shù)值選項(xiàng)。子條件9106表示參數(shù)的選擇模式是“單選”,并且子條件9101,9102,9103和9104之間的邏輯運(yùn)算關(guān)系是“或”9107,而子條件9101,9102,9103,9104的“或”邏輯運(yùn)算結(jié)果和子條件9105,9106之間的邏輯運(yùn)算關(guān)系是“與”9108。在這個(gè)具體的例子中,參數(shù)是服務(wù)提供者130“空調(diào)”所提供的服務(wù)“自動(dòng)開啟”710中的參數(shù)“風(fēng)速”713。顯然,由上述說明和定義可知,參數(shù)“風(fēng)速”713的信息特征符合圖9中的匹配條件9100,從而在此例中匹配條件9100的邏輯運(yùn)算結(jié)果為“真”。這表示參數(shù)“風(fēng)速”713能夠根據(jù)由該抽象用戶界面表達(dá)匹配·映射規(guī)則9000中的映射規(guī)則部分9200所定義的映射規(guī)則而被映射成一個(gè)確定的抽象用戶界面元素類類型的抽象用戶界面元素。需要注意的是,上述匹配條件的定義僅是舉例說明,其中子條件的定義以及邏輯關(guān)系并不僅限于此。
映射規(guī)則部分9200定義了針對符合上述匹配條件的參數(shù)來選擇和映射指定抽象用戶界面元素類下的抽象用戶界面元素的規(guī)則。即,依據(jù)映射規(guī)則部分9200中的定義,指定符合匹配條件9100的參數(shù)將被映射成的抽象用戶界面元素類,并將該參數(shù)映射成一個(gè)屬于該指定的抽象用戶界面元素類的抽象用戶界面元素,即基于該參數(shù)的參數(shù)信息9201生成抽象用戶界面元素信息9202。其中,抽象用戶界面元素信息9202主要是指被映射成的抽象用戶界面元素的屬性值。在將參數(shù)映射成抽象用戶界面元素的過程中,需要將參數(shù)信息的值與抽象用戶界面元素的屬性逐一映射,其中包括直接映射方式和間接映射方式。所謂直接映射,是指基于參數(shù)信息的值,直接生成抽象用戶界面元素的相應(yīng)屬性值。間接映射是指需要對參數(shù)信息的值進(jìn)行一定的預(yù)處理,才能變換成抽象用戶界面元素的相應(yīng)屬性值,其中預(yù)處理的方法是多種多樣的,本發(fā)明并不對其進(jìn)行具體的限定,因此在此不再贅述。
如圖9中示例所示,映射規(guī)則部分9200定義了當(dāng)前符合上述匹配條件9100的參數(shù)應(yīng)該被映射成一個(gè)屬于指定的抽象用戶界面元素類“single_selection_list”類9209的抽象用戶界面元素。
該指定的抽象用戶界面元素類“single_selection_list”的抽象用戶界面元素具有4個(gè)強(qiáng)制屬性,分別為屬性“binded_variable_name”9210,屬性“l(fā)ist_item_count”9211,屬性“l(fā)ist_item_contents”9212和屬性“l(fā)ist_item_values”9213。這些強(qiáng)制屬性都必須被設(shè)置值。另外,該抽象用戶界面元素還有1個(gè)可選屬性“default_value”9214。只有在符合一定條件的情況下,才為該屬性賦值。如圖9中的示例所示,對于該抽象用戶界面元素的可選屬性,條件9206定義了當(dāng)前參數(shù)在有默認(rèn)值的情況下,該抽象用戶界面元素的可選屬性“default_value”9214直接映射來自參數(shù)屬性“默認(rèn)值”9208。而參數(shù)“風(fēng)速”713符合條件9206,即對9206的條件判斷結(jié)果為“真”,所以,根據(jù)圖9中示例的映射規(guī)則,目標(biāo)抽象用戶界面元素的可選屬性“default_value”9214的值“中風(fēng)”直接映射來自參數(shù)屬性“默認(rèn)值”9208的值“中風(fēng)”。
其中的屬性“l(fā)ist_item_count”9211的值“3”是直接映射來自參數(shù)屬性“參數(shù)值選項(xiàng)個(gè)數(shù)”9204的值“3”。屬性“default_value”9214的值“中風(fēng)”也是直接映射來自參數(shù)屬性“默認(rèn)值”9208的值“中風(fēng)”。
抽象用戶界面元素的屬性“binded_variable_name”9210的值是參數(shù)屬性“參數(shù)名稱”9203的映射。但是,這個(gè)映射是間接映射。即,映射源是參數(shù)屬性“參數(shù)名稱”9203的值,但是參數(shù)屬性“參數(shù)名稱”9203的值需要通過預(yù)定的轉(zhuǎn)換函數(shù)“FUNCTION#1”9215預(yù)先處理。參數(shù)屬性“參數(shù)名稱”9203的值將被當(dāng)作一個(gè)輸入?yún)?shù)傳入轉(zhuǎn)換函數(shù)“FUNCTION#1”9215,轉(zhuǎn)換函數(shù)“FUNCTION#1”9215的輸出值將被用來設(shè)置抽象用戶界面元素的屬性“binded_variable_name”9210的值。當(dāng)然,這里只是給出了一個(gè)示例,轉(zhuǎn)換函數(shù)“FUNCTION#1”9215也可以具有多于1個(gè)的輸入?yún)?shù),或者將其它的一些常數(shù)用作函數(shù)“FUNCTION#1”9215的輸入?yún)?shù),或者將其它函數(shù)的輸出值用作函數(shù)“FUNCTION#1”9215的輸入?yún)?shù),所有這些信息都可以被定義在映射規(guī)則部分9200中。
與屬性“binded_variable_name”9210的映射模式類似,屬性“l(fā)ist_item_contents”9212和屬性“l(fā)ist_item_values”9213的值也是間接地通過中間轉(zhuǎn)換函數(shù)“FUNCTION#2”9216映射來自參數(shù)的屬性“值列表”9205的值。
接著,返回圖6,在步驟615從抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中讀取出抽象用戶界面表達(dá)匹配·映射規(guī)則之后,在步驟620中,抽象用戶界面表達(dá)選擇·映射單元222從當(dāng)前的抽象用戶界面表達(dá)匹配·映射規(guī)則中讀取匹配條件部分9100。
在步驟625中,抽象用戶界面表達(dá)選擇·映射單元222把當(dāng)前參數(shù)的信息特征和在步驟620讀取的抽象用戶界面表達(dá)匹配·映射規(guī)則里的匹配條件進(jìn)行匹配。之后,處理流程向下進(jìn)入步驟630。在步驟630中,判斷當(dāng)前的參數(shù)是否與所讀取抽象用戶界面表達(dá)匹配·映射規(guī)則中的匹配條件相匹配。
在步驟630中,如果判斷結(jié)果為當(dāng)前參數(shù)和當(dāng)前的抽象用戶界面表達(dá)匹配·映射規(guī)則不匹配,那么,處理流程返回到步驟615,從抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中讀取下一條抽象用戶界面表達(dá)匹配·映射規(guī)則,并重復(fù)上述匹配操作。
如果步驟630中的判斷結(jié)果為當(dāng)前參數(shù)和當(dāng)前的抽象用戶界面表達(dá)匹配·映射規(guī)則相匹配,那么,處理流程向下進(jìn)入步驟635,在步驟635中讀取所匹配的抽象用戶界面表達(dá)匹配·映射規(guī)則中的映射規(guī)則部分9200。之后,在步驟640中,根據(jù)所讀取的映射規(guī)則9200,把當(dāng)前的參數(shù)映射成指定的抽象用戶界面元素類的抽象用戶界面元素。在步驟640之后,處理流程進(jìn)入步驟642。在步驟642中,判斷當(dāng)前目標(biāo)服務(wù)是否還有其它輸入/輸出參數(shù)。如果在步驟642中判斷結(jié)果為目標(biāo)服務(wù)還有更多的輸入/輸出參數(shù),則處理流程返回到步驟605去讀取目標(biāo)服務(wù)的下一個(gè)輸入/輸出參數(shù)信息。
如果在步驟642中判斷結(jié)果為目標(biāo)服務(wù)沒有更多的輸入/輸出參數(shù)需要處理,那么處理流程向下進(jìn)入步驟645。在步驟645中,抽象用戶界面表達(dá)選擇·映射單元222將創(chuàng)建和構(gòu)造目標(biāo)服務(wù)的抽象用戶界面概要配置文件(即抽象用戶界面元素隊(duì)列)。作為本發(fā)明的一個(gè)示例,抽象用戶界面概要配置文件包括構(gòu)成目標(biāo)服務(wù)的用戶界面的抽象用戶界面元素,以及每個(gè)抽象用戶界面元素的屬性值。
之后,在步驟650中,目標(biāo)服務(wù)的抽象用戶界面概要配置文件(抽象用戶界面元素隊(duì)列)被保存到抽象用戶界面概要配置文件存儲(chǔ)單元227。在步驟650之后,處理流程往下進(jìn)入步驟660,在步驟660中,抽象用戶界面表達(dá)選擇·映射單元222的處理結(jié)束。
如圖6中的處理流程所示,當(dāng)該服務(wù)是第一次被用戶終端設(shè)備調(diào)用時(shí),該服務(wù)的抽象用戶界面概要配置文件被創(chuàng)建并保存到抽象用戶界面概要配置文件存儲(chǔ)單元227中。但是,一旦該服務(wù)的抽象用戶界面概要配置文件被創(chuàng)建并存儲(chǔ)到抽象用戶界面概要配置文件存儲(chǔ)單元227中,以后用戶再使用他/她的用戶終端設(shè)備110來訪問該服務(wù)時(shí),就能夠直接再次使用這個(gè)已被創(chuàng)建和保存的抽象用戶界面概要配置文件,而無需再次創(chuàng)建。
圖7也示出了一個(gè)根據(jù)預(yù)定義的抽象用戶界面表達(dá)匹配·映射規(guī)則,基于每一個(gè)輸入/輸出參數(shù)的信息,把一個(gè)服務(wù)的每一個(gè)參數(shù)映射成相應(yīng)的抽象用戶界面元素,并構(gòu)造該服務(wù)的抽象用戶界面概要配置文件的具體示例。
如圖7所示,由服務(wù)提供者130“空調(diào)”提供的服務(wù)“自動(dòng)開啟”710有3個(gè)輸入?yún)?shù)和1個(gè)輸出參數(shù),其中的三個(gè)輸入?yún)?shù)是參數(shù)“開啟時(shí)間”711、“溫度”712和“風(fēng)速”713,一個(gè)輸出參數(shù)是“控制結(jié)果”714。
在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元225中,存儲(chǔ)有多個(gè)預(yù)定義的抽象用戶界面表達(dá)匹配·映射規(guī)則。依據(jù)上述結(jié)合圖6和圖9的說明,該服務(wù)中的每一個(gè)參數(shù)分別與預(yù)定義的抽象用戶界面表達(dá)匹配·映射規(guī)則中的匹配條件部分9100進(jìn)行逐一匹配直到匹配上為止。之后,根據(jù)相匹配的抽象用戶界面表達(dá)匹配·映射規(guī)則中的映射規(guī)則部分9200所定義的映射規(guī)則,把每一個(gè)參數(shù)映射成一個(gè)指定抽象用戶界面元素類類型的抽象用戶界面元素。
作為匹配和映射的結(jié)果,例如如圖7所示,服務(wù)710的參數(shù)“開啟時(shí)間”711與規(guī)則#5相匹配,所以被映射成抽象用戶界面元素類“input_box”下的一個(gè)抽象用戶界面元素721。由于服務(wù)710的參數(shù)“溫度”712具有和參數(shù)“開啟時(shí)間”711相同的特征信息,所以它也與規(guī)則#5相匹配,被映射成抽象用戶界面元素類“input_box”下的一個(gè)抽象用戶界面元素722。服務(wù)710的參數(shù)“風(fēng)速”713與規(guī)則#1相匹配,所以被映射成抽象用戶界面元素類“single_selection_list”下的一個(gè)抽象用戶界面元素723。服務(wù)710的參數(shù)“控制結(jié)果”714與規(guī)則#7相匹配,所以被映射成抽象用戶界面元素類“text”下的一個(gè)抽象用戶界面元素724。
在把上述所有服務(wù)參數(shù)都映射成了相應(yīng)的抽象用戶界面元素之后,該服務(wù)710的抽象用戶界面概要配置文件(抽象用戶界面元素隊(duì)列)就由4個(gè)抽象用戶界面元素721,722,723和724組成。
至此,入口服務(wù)器已經(jīng)完成了抽象用戶界面概要配置文件的生成。然后處理流程進(jìn)入圖3中的步驟350。在步驟350中,移動(dòng)入口服務(wù)器120中的具體用戶界面生成單元240生成最適合該用戶終端設(shè)備110的能力的具體用戶界面頁面和相應(yīng)的程序。
下面參照圖10來說明由圖2中所示的具體用戶界面生成單元240完成的創(chuàng)建服務(wù)的具體用戶界面的具體處理流程。
本發(fā)明中所指的“服務(wù)具體用戶界面”包括服務(wù)的具體輸入用戶界面和具體輸出用戶界面。圖10所示的流程圖示出了本發(fā)明中生成服務(wù)的具體輸入用戶界面的一個(gè)示例,由于生成服務(wù)的具體輸出界面的方法與此相同,在此不再贅述。
如圖10所示,具體用戶界面生成模塊240在步驟1000開始執(zhí)行操作。接下來,在步驟1005中,從抽象用戶界面概要配置文件存儲(chǔ)單元227中讀取一個(gè)服務(wù)的抽象用戶界面概要配置文件。之后,在步驟1010中,從終端設(shè)備信息存儲(chǔ)單元233中讀取所連接的用戶終端設(shè)備10的終端設(shè)備信息。之后,處理流程往下進(jìn)入步驟1020。在步驟1020中,具體用戶界面生成模塊240從抽象用戶界面元素隊(duì)列中讀取一個(gè)抽象用戶界面元素,并把它設(shè)為當(dāng)前的抽象用戶界面元素。
然后,在步驟1025中,具體用戶界面表達(dá)匹配·映射單元244從具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元242中讀取具體用戶界面表達(dá)匹配·映射規(guī)則。在本發(fā)明中,預(yù)定義有多個(gè)可配置的具體用戶界面表達(dá)匹配·映射規(guī)則,它們被存儲(chǔ)在具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元242中。存儲(chǔ)在存儲(chǔ)單元242中的具體用戶界面表達(dá)匹配·映射規(guī)則是在用戶終端設(shè)備110被連接到移動(dòng)入口服務(wù)器120之前就由管理人員使用相應(yīng)的管理系統(tǒng)或管理工具定義并配置好的。具體用戶界面表達(dá)匹配·映射規(guī)則定義了基于所連接的用戶終端設(shè)備信息和可選擇的用戶界面實(shí)現(xiàn)語言,抽象用戶界面元素與具體用戶界面元素的映射關(guān)系,以使對該服務(wù)的具體界面表達(dá)能夠適合該用戶終端設(shè)備110的能力。
作為例子,具體用戶界面表達(dá)匹配·映射規(guī)則包括匹配條件部分和映射規(guī)則部分。該匹配條件部分定義了被映射的抽象用戶界面元素的名稱以及用戶終端設(shè)備110必須具有的能力。而映射規(guī)則部分則定義了在符合匹配條件的情況下,當(dāng)前的抽象用戶界面元素能夠以一定的具體用戶界面實(shí)現(xiàn)語言被映射成的所有具體用戶界面元素、最適合被映射成的具體用戶界面元素以及抽象用戶界面元素和具體用戶界面元素之間的映射關(guān)系。
例如,假設(shè)當(dāng)前的用戶界面實(shí)現(xiàn)語言為WML。當(dāng)前,對于大多數(shù)手機(jī)來說,其中的瀏覽器用戶代理都支持WML語言中的具體用戶界面元素“<select>”標(biāo)記,并且“<select>”的表達(dá)風(fēng)格都是一系列的選項(xiàng)行,每個(gè)選項(xiàng)行中都是在一個(gè)單選按鈕之后緊跟著相應(yīng)的該選項(xiàng)的選項(xiàng)內(nèi)容字符串,并且這些選項(xiàng)行被并列地按順序依次顯示在“<select>”標(biāo)記當(dāng)前所在的用戶界面頁面顯示屏中。此外,默認(rèn)情況下,用戶一次能夠選擇一個(gè)選項(xiàng)。
在這種情況下,系統(tǒng)中可能存在一條具體應(yīng)用用戶界面表達(dá)匹配·映射規(guī)則,該規(guī)則指明對于這種情況的手機(jī),在用戶界面實(shí)現(xiàn)語言WML中,具有抽象用戶界面元素類“single_selection_list”類型的抽象用戶界面元素應(yīng)該被映射成并表達(dá)成具體用戶界面元素“<select>”。
然后,在步驟1030中,具體用戶界面生成模塊240從當(dāng)前的具體用戶界面表達(dá)匹配·映射規(guī)則中讀取匹配條件。之后,在步驟1035中,具體用戶界面生成模塊240把當(dāng)前的抽象用戶界面元素信息、所連接的用戶終端設(shè)備110的終端設(shè)備信息與當(dāng)前的具體用戶界面表達(dá)匹配·映射規(guī)則中的匹配條件進(jìn)行匹配。之后,處理流程向下進(jìn)入步驟1040。在步驟1040中,判斷當(dāng)前的抽象用戶界面元素信息和所連接用戶終端設(shè)備110的終端設(shè)備信息是否和當(dāng)前的具體用戶界面表達(dá)匹配·映射規(guī)則中的匹配條件相匹配。
圖11給出了本發(fā)明一個(gè)示例中具體用戶界面表達(dá)匹配·映射規(guī)則1100的定義的一個(gè)具體的例子。參考圖11,這個(gè)例子示出了一個(gè)具體用戶界面表達(dá)匹配·映射規(guī)則,利用該規(guī)則可以通過一種具體的用戶界面實(shí)現(xiàn)語言,把一個(gè)類型為“single_selection_list”的抽象用戶界面元素映射成一個(gè)符合所連接的用戶終端設(shè)備110的能力的具體用戶界面元素。
如圖11所示,具體用戶界面表達(dá)匹配·映射規(guī)則1100包含匹配條件部分1110和映射規(guī)則部分1150。其中,匹配條件部分1110定義了被映射的抽象用戶界面元素所屬的抽象用戶界面元素類的名稱1111、用戶界面實(shí)現(xiàn)語言1112、以及用戶終端設(shè)備110所必須具有的能力條件1113。而映射規(guī)則部分1150則定義了在符合上述匹配條件1110的情況下被映射成的目標(biāo)具體用戶界面元素、以及抽象用戶界面元素與該具體用戶界面元素之間的映射關(guān)系。
如圖11所示,匹配條件部分1110由3部分組成,即被映射的抽象用戶界面元素所屬的抽象用戶界面元素類的名稱1111、用戶界面實(shí)現(xiàn)語言1112以及用戶終端設(shè)備110所必須具備的能力條件1113。
在圖11中所示例的具體用戶界面表達(dá)匹配·映射規(guī)則中,被映射的抽象用戶界面元素所屬的抽象用戶界面元素類的名稱1111為“single_selection_list”,用戶界面實(shí)現(xiàn)語言1112為WML,用戶終端設(shè)備110所必須具備的能力條件1113定義了能夠運(yùn)用當(dāng)前規(guī)則把抽象用戶界面元素映射成指定的具體用戶界面元素的用戶終端設(shè)備所必須具有的能力。用戶終端設(shè)備110所必須具有的能力條件1113實(shí)際上是由多個(gè)子條件組成的一個(gè)邏輯表達(dá)式,即這些子條件通過表示“與”、“或”、“非”等邏輯關(guān)系的邏輯運(yùn)算符而連接成一個(gè)邏輯表達(dá)式。只有當(dāng)這個(gè)邏輯表達(dá)式的運(yùn)算結(jié)果為“真”的時(shí)候,才意味著當(dāng)前的用戶終端設(shè)備110的能力與具體用戶界面表達(dá)匹配·映射規(guī)則相匹配,即,才能使用該具體用戶界面表達(dá)匹配·映射規(guī)則將該當(dāng)前抽象用戶界面元素映射成指定的具體用戶界面元素類。
在圖11給出的具體的示例中,用戶終端設(shè)備110所必須具有的能力條件1113由4個(gè)子條件1115、1116、1117和1118構(gòu)成。其中子條件1115表示當(dāng)前用戶終端設(shè)備必須支持WML語言,子條件1116表示當(dāng)前用戶終端設(shè)備必須支持“<select>”標(biāo)記,子條件1117表示在當(dāng)前所連接的用戶終端設(shè)備110上“<select>”標(biāo)記的表達(dá)風(fēng)格為若干個(gè)單選鈕后接選項(xiàng)字符串,子條件1118表示“<select>”標(biāo)記的表達(dá)風(fēng)格為包含若干個(gè)選項(xiàng)字符串的單行下拉框。并且,子條件1117與子條件1118之間的邏輯運(yùn)算關(guān)系是“或”1119,而子條件1117和子條件1118的“或”邏輯運(yùn)算的結(jié)果與子條件1115,1116之間的邏輯運(yùn)算關(guān)系是“與”1120。需要注意的是,上述匹配條件的定義僅是舉例說明,其中子條件的定義以及邏輯關(guān)系并不僅限于此。
映射規(guī)則部分1150由一個(gè)或多個(gè)映射規(guī)則1151組成。當(dāng)一個(gè)抽象用戶界面元素可以被映射成多個(gè)不同的具體用戶界面元素時(shí),對應(yīng)這每一個(gè)目標(biāo)具體用戶界面元素,在映射規(guī)則部分1150中將定義一個(gè)映射規(guī)則1151,用以定義抽象用戶界面元素與該具體用戶界面元素之間的映射關(guān)系。映射規(guī)則1151定義了在針對符合上述匹配條件1110的用戶終端設(shè)備110上,為抽象用戶界面元素來選擇和映射指定具體用戶界面元素的規(guī)則,具體包括所被映射成的目標(biāo)具體用戶界面元素以及抽象用戶界面元素與相應(yīng)具體用戶界面元素之間的映射關(guān)系,即,依據(jù)映射規(guī)則1151中的定義,指定在匹配條件1110中指定的用戶界面實(shí)現(xiàn)語言1112中,在符合用戶終端設(shè)備能力條件1113的用戶終端上,具有指定抽象用戶界面元素類1111類型的抽象用戶界面元素,將被映射成的具體用戶界面元素,并將該抽象用戶界面元素映射成一個(gè)屬于該指定的具體用戶界面元素,即基于抽象用戶界面元素信息1152生成具體用戶界面元素信息1153。其中,抽象用戶界面元素信息1152主要是指被映射的抽象用戶界面元素的屬性值。具體用戶界面元素信息1153主要是指所映射的目標(biāo)具體用戶界面元素的屬性值等信息。在將抽象用戶界面元素映射成具體用戶界面元素的過程中,需要將抽象用戶界面元素的屬性信息與具體用戶界面元素的屬性信息逐一映射,其中包括直接映射方式和間接映射方式。所謂直接映射,是指基于抽象用戶界面元素信息的值,直接生成具體用戶界面元素的相應(yīng)屬性信息值。間接映射是指需要對抽象用戶界面元素信息進(jìn)行一定的預(yù)處理,才能變換成具體用戶界面元素的相應(yīng)屬性值,其中預(yù)處理的方法是多種多樣的,本發(fā)明并不對其進(jìn)行具體的限定,因此在此不再贅述。
在圖11中所示的這個(gè)具體的例子中,抽象用戶界面元素是圖9中所示例的服務(wù)提供者130“空調(diào)”所提供的服務(wù)“自動(dòng)開啟”710中的參數(shù)“風(fēng)速”713所被映射的抽象用戶界面元素類類型為“single_selection_list”的抽象用戶界面元素。
在圖11所示例的匹配條件部分1110定義了該規(guī)則所對應(yīng)的抽象用戶界面元素為“single_selection_list”類型的抽象用戶界面元素,目標(biāo)用戶界面實(shí)現(xiàn)語言為WML,且當(dāng)前所連接的用戶終端設(shè)備110必須具有這樣的能力,即該用戶終端設(shè)備支持WML語言,并且支持WML語言中的“<select>”標(biāo)記,并且在該用戶終端設(shè)備上WML中的“<select>”標(biāo)記的界面表達(dá)風(fēng)格為若干個(gè)單選鈕后接選項(xiàng)字符串,或者為包含若干個(gè)選項(xiàng)字符串的單行下拉框。
假設(shè)當(dāng)前所連接的用戶終端設(shè)備110的終端設(shè)備能力信息滿足上文所述的終端設(shè)備能力條件1113,那么,以上述參數(shù)“風(fēng)速”713在圖9中被映射成的“single_selection_list”類型的抽象用戶界面元素為例,根據(jù)圖11中所示例的規(guī)則,該抽象用戶界面元素將被映射成具體用戶界面元素“<select>”。
如圖11中示例所示,映射規(guī)則部分1150定義了當(dāng)前符合上述匹配條件1110的抽象用戶界面元素應(yīng)該被映射成一個(gè)指定的具體抽象用戶界面元素“<select>”。
該示例中的抽象用戶界面元素類“single_selection_list”的抽象用戶界面元素具有4個(gè)強(qiáng)制屬性,分別為屬性“binded_variable_name”1154,當(dāng)前值為“wind_speed”;屬性“l(fā)ist_item_count”1155,當(dāng)前值為“3”;屬性“l(fā)ist_item_contents”1156,當(dāng)前值為“強(qiáng)風(fēng);中風(fēng);微風(fēng)”;屬性“l(fā)ist_item_values”1157,當(dāng)前值為“強(qiáng)風(fēng);中風(fēng);微風(fēng)”。另外,該抽象用戶界面元素還有1個(gè)可選屬性“default_value”1158,當(dāng)前值為“中風(fēng)”。
該示例中的具體用戶界面元素信息包括目標(biāo)具體用戶界面元素名稱1160為“<select>”;“<select>”標(biāo)記的屬性“name”1161的值直接映射來自抽象用戶界面元素屬性“binded_variable_name”1154的值“wind_speed”;“<select>”標(biāo)記的屬性“value”1162的值直接映射來自抽象用戶界面元素屬性“default_value”1158的值“中風(fēng)”。進(jìn)一步地,“<select>”的子標(biāo)記“<option>”的信息1163包括子標(biāo)記“<option>”的個(gè)數(shù)1164的值直接映射來自抽象用戶界面元素屬性“l(fā)ist_item_count”1155的值“3”,也即該“<select>”包含3個(gè)“<option>”子標(biāo)記;3個(gè)“<option>”子標(biāo)記的屬性“text”1165、1167、1169的值都映射來自抽象用戶界面元素屬性“l(fā)ist_item_contents”1156的值。但是,這個(gè)映射是間接映射。即,映射源是抽象用戶界面元素屬性“l(fā)ist_item_contents”1156的值,但是抽象用戶界面元素屬性“l(fā)ist_item_contents”1156的值需要通過預(yù)定的轉(zhuǎn)換函數(shù)“FUNCTION#11”1159預(yù)先處理。抽象用戶界面元素屬性“l(fā)ist_item_contents”1156的值將被當(dāng)作一個(gè)輸入?yún)?shù)傳入轉(zhuǎn)換函數(shù)“FUNCTION#11”1159,轉(zhuǎn)換函數(shù)“FUNCTION#11”1159的輸出值將被用來設(shè)置具體用戶界面元素“<select>”下的3個(gè)“<option>”子標(biāo)記的屬性“text”的值。也即每個(gè)“<option>”子標(biāo)記的顯示文本的值。預(yù)處理后的結(jié)果為第一個(gè)“<option>”子標(biāo)記的屬性“text”1165的值為“強(qiáng)風(fēng)”,第二個(gè)“<option>”子標(biāo)記的屬性“text”1167的值為“中風(fēng)”,第三個(gè)“<option>”子標(biāo)記的屬性“text”1169的值為“微風(fēng)”。當(dāng)然,這里只是給出了一個(gè)示例,轉(zhuǎn)換函數(shù)“FUNCTION#11”1159也可以具有多于1個(gè)的輸入?yún)?shù),或者將其它的一些常數(shù)用作函數(shù)“FUNCTION#11”1159的輸入?yún)?shù),或者將其它函數(shù)的輸出值用作函數(shù)“FUNCTION#11”1159的輸入?yún)?shù),所有這些信息都可以被定義在映射規(guī)則部分1150中。
與3個(gè)“<option>”子標(biāo)記的屬性“text”1165、1167、1169的映射模式類似,3個(gè)“<option>”子標(biāo)記的屬性“value”1166、1168、1170的值也是間接地通過中間轉(zhuǎn)換函數(shù)“FUNCTION#11”1159間接映射來自抽象用戶界面元素屬性“l(fā)ist_item_values”1157的值,映射后的結(jié)果為第一個(gè)“<option>”子標(biāo)記的屬性“value”1166的值為“強(qiáng)風(fēng)”,第二個(gè)“<option>”子標(biāo)記的屬性“value”1168的值為“中風(fēng)”,第三個(gè)“<option>”子標(biāo)記的屬性“value”1170的值為“微風(fēng)”。
除了圖11中所例示的用戶終端設(shè)備以外,然而,也存在這樣一些手機(jī),這些手機(jī)支持WML中的“<select>”標(biāo)記,并且“<select>”的表達(dá)風(fēng)格也是一系列的選項(xiàng)行,每個(gè)選項(xiàng)行中都是在一個(gè)單選按鈕之后緊跟著相應(yīng)的該選項(xiàng)的選項(xiàng)內(nèi)容字符串。然而,所有這些選項(xiàng)行中,只有第一個(gè)選項(xiàng)行顯示在該“<select>”標(biāo)記所在的當(dāng)前用戶界面頁面上,之后當(dāng)使用手機(jī)鍵盤上的某個(gè)導(dǎo)航鍵時(shí),所有的選項(xiàng)行才能被并列地按順序依次顯示在另外一個(gè)新打開的顯示頁面中。顯然,這種用戶界面表達(dá)能力使得對于用戶來說操作起來不友好,甚至很困難。然而,該手機(jī)也支持WML中的“<a>”標(biāo)記。如果使用若干個(gè)“<a>”標(biāo)記的話,用戶界面的表達(dá)效果也能夠是一列帶下劃線的選項(xiàng)字符串,這些選項(xiàng)字符串能夠并列地顯示在同一個(gè)用戶頁面中,并且一次也只能選擇一個(gè)選項(xiàng)。因此,在這種情況下,基于上述的這些不同狀況,可以存在這樣一條具體用戶界面表達(dá)匹配·映射規(guī)則,該規(guī)則指明,在這種情況下的手機(jī)上,具有抽象用戶界面元素類“single_selection_list”類型的抽象用戶界面元素應(yīng)該被映射成具體用戶界面元素“<select>”或“<a>”。在用戶界面表達(dá)語言WML中,抽象用戶界面元素類“single_selection_list”和具體用戶界面元素“<select>”之間的映射關(guān)系,以及抽象用戶界面元素類“single_selection_list”和具體用戶界面元素“<a>”之間的映射關(guān)系都將被指定。但是,與此同時(shí),在這條具體用戶界面表達(dá)匹配·映射規(guī)則中,也將指出,對于能夠匹配得上該規(guī)則中的條件的用戶終端設(shè)備110來說,最佳方案是在WML中,抽象用戶界面元素類“single_selection_list”應(yīng)該被映射成具體用戶界面元素“<a>”。
接著,返回圖10,如果在步驟1040中判斷結(jié)果是不匹配,那么,處理流程返回步驟1025。在步驟1025中,具體用戶界面生成模塊240將從存儲(chǔ)單元242中讀取下一條具體用戶界面表達(dá)匹配·映射規(guī)則,并繼續(xù)把當(dāng)前的抽象用戶界面元素信息和所連接的用戶終端設(shè)備110的終端設(shè)備信息與所讀取的下一條具體用戶界面表達(dá)匹配·映射規(guī)則進(jìn)行匹配。
如圖10所示,在步驟1040中,如果判斷結(jié)果是當(dāng)前的抽象用戶界面元素信息和所連接用戶終端設(shè)備110的終端設(shè)備信息跟當(dāng)前的具體用戶界面表達(dá)匹配·映射規(guī)則中的匹配條件相匹配,則處理流程向下進(jìn)入步驟1041。
在步驟1041中,判斷當(dāng)前系統(tǒng)中是否存在當(dāng)前用戶對用戶界面表達(dá)的偏好信息。在這個(gè)操作中,將掃描用戶偏好存儲(chǔ)單元243來檢查當(dāng)前是否存在有關(guān)用戶對于用戶界面表達(dá)風(fēng)格的偏好的信息。
在存儲(chǔ)單元243中,存儲(chǔ)了關(guān)于用戶偏好的信息。作為示例,用戶偏好可以包括用戶對于菜單風(fēng)格的偏好,用戶對于具體用戶界面元素表達(dá)風(fēng)格的偏好。例如,對于一個(gè)用戶,他/她可能偏好文本類型的菜單,而對于另外一個(gè)用戶來說,他/她可能更喜歡圖片風(fēng)格的菜單。
另外一個(gè)例子是,對于具有抽象用戶界面元素類“single_selection_list”類型的抽象用戶界面元素,在當(dāng)前所連接用戶終端設(shè)備110上,根據(jù)終端設(shè)備的表達(dá)能力,它能夠被表達(dá)成2種不同的風(fēng)格,然而,用戶只偏好其中的一種風(fēng)格。因此,在這種情況下,將根據(jù)用戶的偏好信息生成用戶所偏好的風(fēng)格的具體用戶界面元素。
存儲(chǔ)在用戶偏好存儲(chǔ)單元243中的數(shù)據(jù)可以在用戶終端設(shè)備110連接到移動(dòng)入口服務(wù)器120之前預(yù)先定義,也可以是在用戶終端設(shè)備110被連接到移動(dòng)入口服務(wù)器120上時(shí)被設(shè)置。
在后一種情況下,用戶使用他/她的用戶終端設(shè)備110來訪問一個(gè)偏好配置用戶界面頁面來選擇他/她的對于相應(yīng)用戶界面元素的偏好?;蛘?,對于每一個(gè)生成的具體的用戶界面頁面,用戶可以把他/她的滿意度評估的反饋發(fā)回到移動(dòng)入口服務(wù)器120,之后,如果反饋是不喜歡,則移動(dòng)入口服務(wù)器120將首先詢問用戶對于當(dāng)前被評估為不喜歡的用戶界面頁面中的用戶界面元素的表達(dá)風(fēng)格的偏好信息。一旦移動(dòng)入口服務(wù)器120得到了用戶的偏好選擇,則將這些信息存儲(chǔ)到用戶偏好存儲(chǔ)單元243中。
如果在步驟1041中,判斷結(jié)果是存在關(guān)于用戶對用戶界面表達(dá)風(fēng)格的偏好信息,那么,處理流程向下進(jìn)入步驟1042。在步驟1042中,從用戶偏好存儲(chǔ)單元243中讀取用戶的偏好信息,并進(jìn)入步驟1045。如果在步驟1041中,判斷結(jié)果是當(dāng)前沒有關(guān)于用戶對用戶界面表達(dá)風(fēng)格的偏好信息,那么,處理流程向下進(jìn)入步驟1045。
在步驟1045中,讀取所匹配的具體用戶界面表達(dá)匹配·映射規(guī)則中的映射規(guī)則。如果當(dāng)前沒有關(guān)于用戶對用戶界面表達(dá)風(fēng)格的偏好信息,那么從映射規(guī)則中選擇并讀取最適合用戶終端設(shè)備110的能力的映射方案。如果當(dāng)前存在關(guān)于用戶對用戶界面表達(dá)風(fēng)格的偏好信息,則判斷當(dāng)前的用戶終端設(shè)備110是否支持當(dāng)前用戶對用戶界面表達(dá)風(fēng)格的偏好。如果用戶終端設(shè)備110支持,那么讀取抽象用戶界面元素和用戶所偏好的風(fēng)格的具體用戶界面元素之間的映射規(guī)則信息。如果當(dāng)前用戶終端設(shè)備110不支持用戶偏好的具體用戶界面表達(dá)風(fēng)格,那么,默認(rèn)地讀取最能適應(yīng)用戶終端設(shè)備110的能力的映射方案。
如圖10所示,在步驟1045之后,在步驟1050中,根據(jù)匹配上了的具體用戶界面表達(dá)匹配·映射規(guī)則,當(dāng)前抽象用戶界面元素被映射成指定的具體用戶界面元素。
之后,在步驟1050之后,處理流程往下進(jìn)入步驟1052。在步驟1052中,判斷抽象用戶界面元素隊(duì)列中是否還有更多的對應(yīng)服務(wù)輸入?yún)?shù)的抽象用戶界面元素需要處理。在步驟1052中,如果判斷結(jié)果為抽象用戶界面元素隊(duì)列中還有更多的對應(yīng)服務(wù)輸入?yún)?shù)的抽象用戶界面元素,那么處理流程返回到步驟1020去從抽象用戶界面元素隊(duì)列中讀取一個(gè)抽象用戶界面元素,并把它設(shè)為當(dāng)前的抽象用戶界面元素。
然而,如果在步驟1052中,判斷結(jié)果是服務(wù)的抽象用戶界面元素隊(duì)列里沒有更多的對應(yīng)服務(wù)輸入?yún)?shù)的抽象用戶界面元素需要處理,那么,處理流程向下進(jìn)入步驟1055。在步驟1055中,具體用戶界面頁面生成單元241將根據(jù)具體用戶界面元素的內(nèi)容和所連接用戶終端設(shè)備110的能力來創(chuàng)建該服務(wù)的具體用戶界面頁面的分頁方案。
一旦分頁方案被創(chuàng)建,那么,在步驟1060中,根據(jù)所確定的具體用戶界面元素和相應(yīng)的分頁方案,生成具體的輸入用戶界面頁面和相應(yīng)的實(shí)現(xiàn)程序。在步驟1060之后,處理流程向下進(jìn)入1070結(jié)束具體用戶界面生成單元240的處理。
最后,仍然返回圖3,在步驟350中生成具體的用戶界面頁面和相應(yīng)的程序之后,在步驟360中,具體的用戶界面頁面被發(fā)送到用戶終端設(shè)備110。如圖2中所示,終端設(shè)備通信單元250將終端設(shè)備響應(yīng)信息發(fā)送到用戶終端設(shè)備110。之后,處理進(jìn)入步驟370,在這里為目標(biāo)服務(wù)而發(fā)生的處理結(jié)束。
下面結(jié)合圖12和13來詳細(xì)說明具體用戶界面頁面生成單元241在步驟1055中的處理。
首先參照圖12來說明具體用戶界面頁面生成單元241的具體結(jié)構(gòu)。
如圖12所示,具體用戶界面頁面生成單元241由4個(gè)單元組成,即有效顯示區(qū)域計(jì)算單元1201,用于根據(jù)當(dāng)前所連接的用戶終端設(shè)備110的終端設(shè)備信息計(jì)算出所連接的用戶終端設(shè)備110的實(shí)際有效的可以用于顯示目標(biāo)服務(wù)的具體用戶界面頁面的顯示區(qū)域尺寸;具體用戶界面元素顯示區(qū)域計(jì)算單元1202,用于根據(jù)所連接的用戶終端設(shè)備110的終端設(shè)備信息計(jì)算每個(gè)具體用戶界面元素在所連接的用戶終端設(shè)備110上顯示時(shí)的實(shí)際顯示尺寸;組合單元1204,用于根據(jù)由有效顯示區(qū)域計(jì)算單元1201分析計(jì)算出的有效顯示區(qū)域?qū)嶋H尺寸和由具體用戶界面元素顯示區(qū)域計(jì)算單元1202分析計(jì)算出的各具體用戶界面元素的實(shí)際尺寸,得到各個(gè)具體用戶界面元素的合適組合信息;分頁單元1205,用于根據(jù)由組合單元1204得到的合適組合信息,通過調(diào)整各具體用戶界面元素的實(shí)際顯示尺寸而對目標(biāo)服務(wù)的具體用戶界面進(jìn)行分頁。
下面結(jié)合圖13來說明具體用戶界面頁面生成單元241在步驟1055中的具體處理流程。
如圖13所示,具體用戶界面頁面生成單元241在步驟1300中開始執(zhí)行處理流程。接下來,在步驟1305中,有效顯示區(qū)域計(jì)算單元1201根據(jù)所連接用戶終端設(shè)備110的終端設(shè)備信息來計(jì)算終端設(shè)備110屏幕的有效顯示區(qū)域的實(shí)際尺寸。之后,處理流程向下進(jìn)入步驟1310。在步驟1310中,判斷目標(biāo)服務(wù)是否還有更多的具體用戶界面元素。如果判斷結(jié)果是目標(biāo)服務(wù)還有更多的具體用戶界面元素,那么,處理流程向下進(jìn)入步驟1315。否則,處理流程向下進(jìn)入步驟1335。
在步驟1315中,讀取一個(gè)具體用戶界面元素,并且把它設(shè)置為當(dāng)前的具體用戶界面元素。之后,處理流程向下進(jìn)入步驟1320。在步驟1320中,讀取當(dāng)前具體用戶界面元素的信息和內(nèi)容。之后,處理流程向下進(jìn)入步驟1330。在步驟1330中,具體用戶界面元素顯示區(qū)域計(jì)算單元1202根據(jù)當(dāng)前具體用戶界面元素的內(nèi)容信息和當(dāng)前所連接用戶終端設(shè)備110的用戶界面表達(dá)能力,計(jì)算當(dāng)前的具體用戶界面元素的實(shí)際尺寸。之后,處理流程返回到步驟1310去繼續(xù)判斷當(dāng)前目標(biāo)服務(wù)是否還有更多的具體用戶界面元素需要處理。
如圖13所示,在步驟1335中,由具體用戶界面頁面生成單元241中的組合單元1204分析并計(jì)算出每一個(gè)用戶界面頁面里各具體用戶界面元素的合適組合以及相應(yīng)的組合信息。在此前的操作中,已經(jīng)計(jì)算出該目標(biāo)服務(wù)中所有具體用戶界面元素的實(shí)際尺寸,包括不能調(diào)整尺寸的具體用戶界面元素的實(shí)際顯示尺寸和能夠調(diào)整大小的具體用戶界面元素的實(shí)際原始顯示尺寸。對于該目標(biāo)服務(wù)中能夠調(diào)整其大小的具體用戶界面元素,在步驟1335中將分析和計(jì)算出其適宜的尺寸。如果分析和計(jì)算結(jié)果是這個(gè)可以被調(diào)整大小的具體用戶界面元素?zé)o需調(diào)整尺寸,則適宜尺寸即是原尺寸,然而,如果分析和計(jì)算結(jié)果是,這個(gè)可以被調(diào)整大小的界面元素需要調(diào)整尺寸,則適宜尺寸應(yīng)是被調(diào)整后的目標(biāo)尺寸。在該步驟1335中,將分析和計(jì)算出所有具體用戶界面元素的合適組合,以及在各個(gè)組合中涉及到的可調(diào)整大小的具體用戶界面元素的適宜目標(biāo)尺寸。關(guān)于此操作的具體處理流程,將在后面結(jié)合圖15進(jìn)行詳細(xì)的說明。
例如,以生成服務(wù)的具體輸入用戶界面頁面為例,假設(shè)當(dāng)前的用戶界面實(shí)現(xiàn)語言是WML,并且當(dāng)前所連接用戶終端設(shè)備110的實(shí)際有效顯示區(qū)域尺寸是4行。在當(dāng)前的目標(biāo)服務(wù)中有3個(gè)對應(yīng)于服務(wù)輸入?yún)?shù)的具體用戶界面元素,并且所有這3個(gè)具體用戶界面元素都是不能被調(diào)整大小的。經(jīng)過計(jì)算,第一個(gè)具體用戶界面元素在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)將占用1行。第二個(gè)具體用戶界面元素在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)將占用4行。第三個(gè)具體用戶界面元素在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)將占用3行。那么,在步驟1335中,對于這些具體用戶界面元素和當(dāng)前的終端設(shè)備來說,對于當(dāng)前的服務(wù)的具體輸入用戶界面,合適的組合應(yīng)該是第一個(gè)和第三個(gè)具體用戶界面元素被顯示在第一個(gè)具體輸入用戶界面頁面中,第二個(gè)具體用戶界面元素被顯示在第二個(gè)具體輸入用戶界面頁面中。這樣目標(biāo)服務(wù)總共需要2個(gè)具體輸入用戶界面頁面。之后,這2個(gè)具體輸入用戶界面頁面之間的導(dǎo)航關(guān)系以及相應(yīng)的2個(gè)具體輸入用戶界面頁面之間處理邏輯關(guān)系(接口關(guān)系)也將被隨之生成。
給出另外一個(gè)生成服務(wù)的具體輸出用戶界面頁面的例子,依然假設(shè)當(dāng)前的用戶界面實(shí)現(xiàn)語言是WML,并且當(dāng)前所連接用戶終端設(shè)備110的實(shí)際的有效的顯示區(qū)域的尺寸是4行。在當(dāng)前的目標(biāo)服務(wù)中有3個(gè)對應(yīng)于服務(wù)輸出參數(shù)的具體用戶界面元素,然而,除了第一個(gè)和第二個(gè)具體用戶界面元素不能夠被調(diào)整尺寸以外,第三個(gè)具體用戶界面元素能夠被調(diào)整大小。經(jīng)過計(jì)算,第一個(gè)具體用戶界面元素在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)將占用2行。第二個(gè)具體用戶界面元素在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)將占用3行。第三個(gè)可以調(diào)整尺寸的具體用戶界面元素的在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)的原始尺寸為將占用3行。因此,基于這種情況,對于這些具體用戶界面元素和當(dāng)前的終端設(shè)備來說,對于當(dāng)前的應(yīng)用的具體輸出用戶界面,合適的組合應(yīng)該是首先對第三個(gè)具體用戶界面元素的尺寸進(jìn)行調(diào)整,使它在當(dāng)前的用戶終端設(shè)備110上被顯示時(shí)只占用2行。之后,把第一個(gè)具體用戶界面元素和調(diào)整過尺寸的第三個(gè)具體用戶界面元素顯示在第一個(gè)具體輸出用戶界面頁面中,把第二個(gè)具體用戶界面元素顯示在第二個(gè)具體輸出用戶界面頁面中。這樣目標(biāo)服務(wù)總共需要2個(gè)具體輸出用戶界面頁面。之后,這2個(gè)具體輸出用戶界面頁面之間的導(dǎo)航關(guān)系以及相應(yīng)的2個(gè)具體輸出用戶界面頁面之間處理邏輯關(guān)系(接口關(guān)系)也將被隨之生成。
如圖13所示,在步驟1335之后,處理流程向下進(jìn)入步驟1340。在步驟1340中,為符合所確定的每個(gè)具體用戶界面頁面里具體用戶界面元素的合適組合,由分頁單元1205對可調(diào)整尺寸的具體用戶界面元素進(jìn)行尺寸調(diào)整。之后,在步驟1345中,分頁單元1205根據(jù)在組合單元1204中得到的組合信息來生成為分頁方案概要配置文件。步驟1345之后,處理流程往下進(jìn)入步驟1350。在步驟1350中,具體用戶界面頁面生成單元241的處理結(jié)束。
下面參照圖14和15來詳細(xì)說明組合單元1204在圖13的步驟1335中的具體處理流程。
首先,參照圖14來說明圖12中的組合單元1204的具體結(jié)構(gòu)。
如14所示,組合單元1204由以下單元組成,即完全組合生成單元1401,用于根據(jù)給定的有效顯示區(qū)域面積尺寸和每個(gè)具體用戶界面元素的尺寸,對給定的具體用戶界面元素進(jìn)行完全組合,以生成適合給定的有效顯示區(qū)域面積尺寸的具體用戶界面元素的組合并把這些組合信息保存在組合信息存儲(chǔ)單元中,并且,當(dāng)給定的有效顯示區(qū)域面積尺寸是指當(dāng)前用戶終端設(shè)備110上剩余的可以用來顯示具體用戶界面元素的區(qū)域的面積尺寸時(shí),此處的有效顯示區(qū)域面積尺寸是由剩余顯示區(qū)域尺寸計(jì)算單元1402計(jì)算得到并提供的,同時(shí),在不同的情況下,完全組合生成單元1401將根據(jù)具體的要求,基于判斷單元1404判斷得到的結(jié)果,來對尺寸固定的具體用戶界面元素或尺寸可以調(diào)整的具體用戶界面元素進(jìn)行完全組合;剩余顯示區(qū)域尺寸計(jì)算單元1402,用于計(jì)算在當(dāng)前所連接的用戶終端設(shè)備110上剩余的可以用來顯示具體用戶界面元素的區(qū)域的面積尺寸;目標(biāo)調(diào)整尺寸計(jì)算單元1403,用于根據(jù)目前用戶終端設(shè)備上可用的屏幕顯示區(qū)域面積和欲放置其中的具體用戶界面元素的具體尺寸,來計(jì)算出為了讓欲放置其中的具體用戶界面元素所占用的顯示區(qū)域可以適合目前用戶終端設(shè)備上可用的屏幕顯示區(qū)域面積,其中涉及到的由判斷單元1404判斷為可調(diào)整大小的具體用戶界面元素應(yīng)該被調(diào)整成的目標(biāo)尺寸,并且,此處的欲放置其中的具體用戶界面元素可能是由完全組合生成單元1401計(jì)算確定的,另外,在不同的情況下,此處設(shè)備上可用的屏幕顯示區(qū)域面積可以是給定的已經(jīng)被計(jì)算出來的用戶終端設(shè)備110的實(shí)際有效顯示區(qū)域的面積,也可能是經(jīng)由剩余顯示區(qū)域尺寸計(jì)算單元1402計(jì)算得到的目前用戶終端設(shè)備上可用的屏幕顯示區(qū)域面積,同時(shí),該1403單元計(jì)算得到的關(guān)于可調(diào)整大小的具體用戶界面元素應(yīng)該被調(diào)整成的目標(biāo)尺寸將作為組合信息的一個(gè)內(nèi)容而被存儲(chǔ)在組合信息存儲(chǔ)單元1405中;判斷單元1404,用于判斷在組成目標(biāo)服務(wù)的具體用戶界面的相應(yīng)具體用戶界面元素是否可以調(diào)整尺寸;組合信息存儲(chǔ)單元1405,用來保存關(guān)于當(dāng)前目標(biāo)服務(wù)的所有具體用戶界面元素的組合信息。
下面結(jié)合圖15來說明組合單元1204在步驟1335中的具體處理流程。
如圖15所示,在步驟1500中開始執(zhí)行處理流程。
接下來,在步驟1503里,讀取并得到當(dāng)前所連接的用戶終端設(shè)備110的有效顯示區(qū)域的實(shí)際尺寸。之后,在步驟1506中,讀取當(dāng)前所有具體用戶界面元素的實(shí)際尺寸,并把這些具體用戶界面元素放在一個(gè)隊(duì)列里。在這里,隊(duì)列本身是一個(gè)邏輯的概念,并不規(guī)定其具體實(shí)現(xiàn)形式。
之后,處理流程向下進(jìn)入步驟1509。在步驟1509中,把當(dāng)前所有具體用戶界面元素的實(shí)際顯示尺寸進(jìn)行完全組合,得出全部的包含其中的具體用戶界面元素實(shí)際顯示尺寸的和等于當(dāng)前用戶終端設(shè)備110的有效顯示區(qū)域?qū)嶋H尺寸的組合。在步驟1512中,判斷當(dāng)前是否存在實(shí)際顯示尺寸的和等于用戶終端設(shè)備的有效顯示區(qū)域尺寸的具體用戶界面元素的組合。如果在步驟1512中,判斷結(jié)果為當(dāng)前存在實(shí)際顯示尺寸的和等于用戶終端設(shè)備的有效顯示區(qū)域尺寸的具體用戶界面元素的組合,那么處理向下進(jìn)入步驟1515。否則,處理流程向下進(jìn)入步驟1521。
在步驟1515中,針對這些相應(yīng)組合的具體用戶界面元素,生成關(guān)于它們的組合信息就是相應(yīng)的具體用戶界面元素共同組合成一個(gè)分頁,并把該組合信息保存在組合信息存儲(chǔ)單元中。之后,處理流程向下進(jìn)入步驟1518。在步驟1518中,把這些已經(jīng)生成了組合信息的相應(yīng)組合中的具體用戶界面元素從隊(duì)列中刪除。
在步驟1521中,判斷當(dāng)前隊(duì)列中是否存在實(shí)際顯示尺寸大于所連接的用戶終端設(shè)備110的有效顯示區(qū)域尺寸的尺寸固定的具體用戶界面元素,如果判斷結(jié)果是當(dāng)前隊(duì)列中存在實(shí)際顯示尺寸大于所連接的用戶終端設(shè)備的有效顯示區(qū)域尺寸的不能調(diào)整尺寸大小的具體用戶界面元素,則處理流程向下進(jìn)入步驟1524,否則處理流程往下進(jìn)入步驟1530。
在步驟1524中,系統(tǒng)將針對這些當(dāng)前隊(duì)列中的實(shí)際顯示尺寸大于終端設(shè)備有效顯示區(qū)域尺寸的不能調(diào)整尺寸大小的具體用戶界面元素,生成關(guān)于它們的組合信息,即這些具體用戶界面元素中的每個(gè)具體用戶界面元素分別獨(dú)自作為一個(gè)組合,用來生成一個(gè)具體用戶界面頁面。同時(shí),把該組合信息保存在組合信息存儲(chǔ)單元中。
之后,在步驟1527中,把在步驟1524中已經(jīng)生成組合信息的這些實(shí)際顯示尺寸大于用戶終端設(shè)備110的有效顯示區(qū)域尺寸的不能調(diào)整尺寸大小的具體用戶界面元素從當(dāng)前隊(duì)列中刪除。
在步驟1530中,判斷當(dāng)前隊(duì)列是否為空。如果判斷結(jié)果為當(dāng)前隊(duì)列為空,則處理流程向下進(jìn)入步驟1575,在步驟1575中,圖13中的步驟1335結(jié)束處理。否則,如果判斷結(jié)果為當(dāng)前隊(duì)列中不為空,即隊(duì)列中還有具體用戶界面元素,則處理流程向下進(jìn)入步驟1533。
在步驟1533中,系統(tǒng)開始新的一個(gè)組合方案處理。之后,處理進(jìn)入步驟1536。在步驟1536中,設(shè)置當(dāng)前分頁中的剩余顯示區(qū)域尺寸為當(dāng)前所連接的用戶終端設(shè)備110的有效顯示區(qū)域的實(shí)際尺寸。
之后,在步驟1539中,判斷當(dāng)前隊(duì)列中是否存在顯示尺寸小于或等于該剩余顯示區(qū)域尺寸的尺寸固定的具體用戶界面元素。如果判斷結(jié)果為當(dāng)前隊(duì)列中存在顯示尺寸小于或等于該剩余顯示區(qū)域尺寸的尺寸固定的具體用戶界面元素,則處理流程向下進(jìn)入步驟1542。
在步驟1542中,系統(tǒng)從當(dāng)前隊(duì)列中取一個(gè)適于預(yù)置于當(dāng)前分頁頁面中的固定尺寸的具體用戶界面元素,置于當(dāng)前頁面中。之后,在步驟1542中把一個(gè)尺寸固定的用戶界面元素置于當(dāng)前頁面之后,在步驟1545中,計(jì)算當(dāng)前分頁頁面中的剩余顯示區(qū)域的尺寸。
之后,在步驟1548中,判斷當(dāng)前分頁頁面中是否還有空間。如果步驟1548中的判斷結(jié)果為當(dāng)前分頁中還有剩余顯示區(qū)域,則處理流程將返回到步驟1539去判斷當(dāng)前隊(duì)列中是否還有顯示尺寸小于或等于當(dāng)前分頁頁面中的剩余顯示區(qū)域尺寸的固定尺寸的具體用戶界面元素。如果步驟1548中的判斷結(jié)果為當(dāng)前分頁頁面沒有剩余空間,則處理流程往下進(jìn)入步驟1551。
在步驟1551中,針對當(dāng)前分頁頁面中的所有具體用戶界面元素,生成關(guān)于他們的組合信息,即置入了當(dāng)前分頁頁面的這些具體用戶界面元素共同組合成一個(gè)具體用戶界面頁面,同時(shí)把該生成的組合信息保存在組合信息存儲(chǔ)單元中。在步驟1551之后,在步驟1552中,將把當(dāng)前已經(jīng)生成并保存了組合信息的具體用戶界面元素從隊(duì)列中刪除。接下來,在步驟1554中,系統(tǒng)結(jié)束當(dāng)前的組合方案的處理。
如果在步驟1539中,判斷結(jié)果為當(dāng)前隊(duì)列中沒有顯示尺寸小于或等于該剩余顯示區(qū)域尺寸的尺寸固定的具體用戶界面元素,則處理流程向下進(jìn)入步驟1560。
在步驟1560中,系統(tǒng)將繼續(xù)判斷當(dāng)前隊(duì)列中是否存在可調(diào)整尺寸大小的具體用戶界面元素。如果判斷結(jié)果為當(dāng)前隊(duì)列中同樣也不存在可調(diào)整尺寸大小的具體用戶界面元素,那么,處理流程往下進(jìn)入步驟1551,在其中針對當(dāng)前分頁頁面中的所有具體用戶界面元素,生成關(guān)于他們的組合信息,并把該生成的組合信息保存在組合信息存儲(chǔ)單元中。
如果在步驟1560中,判斷結(jié)果為當(dāng)前隊(duì)列中存在有可調(diào)整尺寸大小的具體用戶界面元素,則處理流程往下進(jìn)入步驟1563。在步驟1563中,系統(tǒng)把當(dāng)前隊(duì)列中所有的可以調(diào)整尺寸的具體用戶界面元素的實(shí)際顯示尺寸進(jìn)行完全組合,得到一個(gè)尺寸的和最接近剩余顯示區(qū)域尺寸的具體用戶界面元素組合。之后,在步驟1566中,對在步驟1563中得到的組合中的可調(diào)整尺寸的具體用戶界面元素的尺寸的數(shù)值本身進(jìn)行調(diào)整,使其尺寸的和等于當(dāng)前分頁頁面中的剩余顯示區(qū)域尺寸,并記錄下每個(gè)元素的目標(biāo)尺寸。
之后,操作流程向下進(jìn)入步驟1551,在步驟1551中,針對當(dāng)前分頁頁面中的所有具體用戶界面元素,生成關(guān)于他們的組合信息,并把該生成的組合信息保存在組合信息存儲(chǔ)單元中。
然后,在步驟1551中生成并保存了當(dāng)前組合信息后,在步驟1552中,把這些已經(jīng)生成了組合信息的當(dāng)前組合中的具體用戶界面元素從隊(duì)列中刪除。
然后,操作流程進(jìn)入步驟1554,從而結(jié)束當(dāng)前的組合方案處理。
在步驟1554之后,處理流程向下進(jìn)入步驟1557。在步驟1557中,判斷當(dāng)前隊(duì)列中是否還有具體用戶界面元素。如果判斷結(jié)果為當(dāng)前隊(duì)列中還有具體用戶界面元素,則處理流程返回步驟1533,開始新的一個(gè)組合方案處理。
否則,如果在步驟1557中,判斷結(jié)果為當(dāng)前隊(duì)列中沒有具體用戶界面元素,則處理流程向下進(jìn)入步驟1575。在步驟1575中,圖13中組合單元1204在步驟1335中的具體處理結(jié)束。
為了進(jìn)一步說明圖15中所示圖13中步驟1335的具體處理,現(xiàn)以圖7中所示例的服務(wù)提供者130空調(diào)所提供的服務(wù)“自動(dòng)開啟”710的輸入具體用戶界面分頁為例,結(jié)合圖13,圖15和圖16來說明如何生成具體用戶界面頁面的組合信息,以進(jìn)一步生成目標(biāo)服務(wù)的具體用戶界面頁面的分頁方案信息。
假設(shè),如圖16中所示,用戶終端設(shè)備110的有效顯示區(qū)域尺寸為4行,則根據(jù)圖7中所示的服務(wù)“自動(dòng)開啟”710,它的第1個(gè)參數(shù)“開啟時(shí)間”711被匹配映射為抽象用戶界面元素類“input_box”類型的抽象用戶界面元素,第2個(gè)參數(shù)“溫度”712被匹配映射為抽象用戶界面元素類“input_box”類型的抽象用戶界面元素,第3個(gè)參數(shù)“風(fēng)速”713被匹配映射為抽象用戶界面元素類“single_selection_list”類型的抽象用戶界面元素。
假設(shè)當(dāng)前的用戶界面實(shí)現(xiàn)語言為WML。則,根據(jù)系統(tǒng)中預(yù)定義的具體用戶界面表達(dá)匹配·映射規(guī)則,第1個(gè)參數(shù)“開啟時(shí)間”711被進(jìn)一步匹配映射成帶有一個(gè)參數(shù)名稱標(biāo)簽“開啟時(shí)間”的具體用戶界面元素“<input>”,第2個(gè)參數(shù)“溫度”712被進(jìn)一步匹配映射成帶有一個(gè)參數(shù)名稱標(biāo)簽“溫度”的具體用戶界面元素“<input>”,第3個(gè)參數(shù)“風(fēng)速”713被進(jìn)一步匹配映射成帶有一個(gè)參數(shù)名稱標(biāo)簽“風(fēng)速”的具體用戶界面元素“<select>”。
之后,根據(jù)圖13中所示的處理,系統(tǒng)將計(jì)算出服務(wù)提供者130空調(diào)所提供的服務(wù)“自動(dòng)開啟”710的3個(gè)輸入?yún)?shù)被最終匹配和映射成的具體用戶界面元素在當(dāng)前例示的用戶終端設(shè)備110上的的實(shí)際顯示尺寸。參數(shù)1對應(yīng)的具體用戶界面元素的實(shí)際顯示尺寸為2行,參數(shù)2對應(yīng)的具體用戶界面元素的實(shí)際顯示尺寸為2行,參數(shù)3對應(yīng)的具體用戶界面元素的實(shí)際顯示尺寸為4行。
根據(jù)圖15中例示的處理流程,系統(tǒng)得到當(dāng)前所連接用戶終端設(shè)備110的有效顯示區(qū)域的尺寸為4行,之后,在系統(tǒng)讀取當(dāng)前目標(biāo)服務(wù)的所有輸入具體用戶界面元素的尺寸并把所有具體用戶界面元素放在一個(gè)隊(duì)列中。此后,系統(tǒng)把所有具體用戶界面元素的實(shí)際顯示尺寸進(jìn)行完全組合,結(jié)果為參數(shù)1對應(yīng)的具體用戶界面元素尺寸和參數(shù)2對應(yīng)的具體用戶界面元素尺寸的和等于當(dāng)前用戶終端設(shè)備110的有效顯示區(qū)域尺寸,參數(shù)3對應(yīng)的具體用戶界面元素尺寸本身等于當(dāng)前用戶當(dāng)前用戶終端設(shè)備110的有效顯示區(qū)域尺寸。所以,系統(tǒng)計(jì)算和分析得到的關(guān)于當(dāng)前服務(wù)的輸入具體用戶界面頁面中的所有具體用戶界面元素的組合信息為參數(shù)1和參數(shù)2對應(yīng)的具體用戶界面元素組成一個(gè)組合,參數(shù)3對應(yīng)的具體用戶界面元素單獨(dú)稱為一個(gè)組合。至此,目標(biāo)服務(wù)的輸入具體用戶界面頁面的具體用戶界元素的組合信息生成。之后,系統(tǒng)判斷當(dāng)前隊(duì)列為空,之后生成組合信息的處理結(jié)束。根據(jù)此處生成的組合信息,系統(tǒng)將針對這2個(gè)組合的具體用戶界面元素,生成關(guān)于他們的分頁信息就是參數(shù)1和參數(shù)2對應(yīng)的具體用戶界面元素共同顯示在一個(gè)分頁中,參數(shù)3對應(yīng)的具體用戶界面元素顯示在另一個(gè)分頁中。最后,系統(tǒng)將根據(jù)該分頁信息生成圖16中所例示的目標(biāo)服務(wù)“自動(dòng)開啟”710的輸入具體用戶界面頁面。
圖16和圖17是本發(fā)明針對2種不同能力的用戶終端設(shè)備110為空調(diào)的自動(dòng)開啟服務(wù)而生成的具體用戶界面頁面的示例圖。
在圖16的示例中,用戶終端設(shè)備110是一個(gè)顯示屏幕尺寸小的并且支持WAP的普通手機(jī)。因此,該服務(wù)的用戶界面用了2個(gè)頁面來表達(dá),并生成了相應(yīng)的導(dǎo)航元素以及后臺(tái)的用戶界面實(shí)現(xiàn)程序。
在圖17的示例中,用戶終端設(shè)備110是一個(gè)擁有大尺寸顯示屏幕的智能手機(jī)。該智能手機(jī)不但支持WAP,還支持HTML。并且,該服務(wù)中第3個(gè)具體用戶界面元素的表達(dá)形式和圖16中所示的第3個(gè)具體用戶界面元素的表達(dá)形式不同。該服務(wù)中第3個(gè)具體用戶界面元素在智能手機(jī)上顯示時(shí)只占用一行的屏幕顯示空間。因此,該服務(wù)的用戶界面只需1個(gè)頁面即可表達(dá),并生成相應(yīng)的導(dǎo)航元素以及后臺(tái)的用戶界面實(shí)現(xiàn)程序。
上文所描述的這些單元可以是被CPU執(zhí)行的程序。這些程序可以存儲(chǔ)在移動(dòng)入口服務(wù)器120的CPU,ROM,或者硬盤中。他們也可以來自裝載到移動(dòng)入口服務(wù)器120中的CD或DVD。上文所描述的這些數(shù)據(jù)存儲(chǔ)單元可以是硬盤。對于本發(fā)明來說,這些模塊和數(shù)據(jù)存儲(chǔ)單元是否被分開存儲(chǔ)還是存儲(chǔ)在一個(gè)物理設(shè)備中,這一點(diǎn)與本發(fā)明無關(guān)。
權(quán)利要求
1.一種入口服務(wù)器(120),用于根據(jù)用戶終端設(shè)備(110)的能力向用戶終端設(shè)備(110)提供由應(yīng)用提供者(130)提供的應(yīng)用的應(yīng)用用戶界面,所述入口服務(wù)器包括終端設(shè)備通信單元(250),用于從所述用戶終端設(shè)備(110)接收應(yīng)用請求信息并向所述用戶終端設(shè)備(110)發(fā)送與應(yīng)用提供者(130)所提供的應(yīng)用相應(yīng)的具體用戶界面信息;應(yīng)用提供者通信單元(210),用于向所述應(yīng)用提供者(130)發(fā)送來自所述終端設(shè)備通信單元的應(yīng)用請求信息并從應(yīng)用提供者(130)接收對所請求的應(yīng)用的應(yīng)用響應(yīng)信息;用戶終端設(shè)備信息生成單元(230),用于根據(jù)從所述終端設(shè)備通信單元接收的應(yīng)用請求信息而生成與所述用戶終端設(shè)備有關(guān)的終端設(shè)備信息;抽象用戶界面元素生成單元(220),用于使從所述應(yīng)用提供者通信單元接收到的所述應(yīng)用響應(yīng)信息與從預(yù)先存儲(chǔ)的抽象用戶界面元素類中選取出的抽象用戶界面元素類相關(guān)聯(lián)而生成抽象用戶界面元素,并將所生成的抽象用戶界面元素保存為抽象用戶界面概要配置文件;以及具體用戶界面生成單元(240),用于根據(jù)由所述抽象用戶界面元素生成單元生成的所述抽象用戶界面概要配置文件和由所述終端設(shè)備信息生成單元生成的所述終端設(shè)備信息,生成適用于所述用戶終端設(shè)備的具體用戶界面信息,并將所生成的所述具體用戶界面信息經(jīng)由所述終端設(shè)備通信單元提供給所述用戶終端設(shè)備(110)。
2.根據(jù)權(quán)利要求1所述的入口服務(wù)器,其中所述終端設(shè)備信息生成單元(230)進(jìn)一步包括終端設(shè)備信息存儲(chǔ)單元(233),用于存儲(chǔ)用戶終端設(shè)備的終端設(shè)備信息;推測規(guī)則存儲(chǔ)單元(232),用于存儲(chǔ)終端設(shè)備推測規(guī)則;和終端設(shè)備信息獲取單元(231),用于利用所述終端設(shè)備推測規(guī)則、所述應(yīng)用請求信息和所述終端設(shè)備信息得到未知用戶終端設(shè)備的類型,并依據(jù)所得到的用戶終端設(shè)備的類型而獲取與所述未知用戶終端設(shè)備(110)相關(guān)的終端設(shè)備信息。
3.根據(jù)權(quán)利要求2所述的入口服務(wù)器,其中所述終端設(shè)備信息獲取單元(231)包括終端設(shè)備信息識(shí)別單元(401),用于將從所述應(yīng)用請求信息中提取出的識(shí)別子串信息與所述終端設(shè)備信息存儲(chǔ)單元中所存儲(chǔ)的終端設(shè)備信息進(jìn)行匹配,以從中識(shí)別出與所述識(shí)別子串信息相對應(yīng)的終端設(shè)備信息。
4.根據(jù)權(quán)利要求2所述的入口服務(wù)器,其中所述終端設(shè)備信息獲取單元(231)包括用戶代理概要配置文件獲取單元(402),用于根據(jù)包含在從所述終端設(shè)備通信單元(250)接收的應(yīng)用請求信息中的用戶代理概要配置文件的統(tǒng)一資源分配符(URL),訪問所述用戶終端設(shè)備的廠商網(wǎng)絡(luò)服務(wù)器(140),以獲取所述用戶終端設(shè)備的用戶代理概要配置文件;推測規(guī)則讀取單元(403),用于從所述推測規(guī)則存儲(chǔ)單元中讀取所述推測規(guī)則;以及終端設(shè)備推測單元(404),用于通過將所接收的所述應(yīng)用請求信息與所讀取的所述推測規(guī)則進(jìn)行匹配并基于所獲取的所述用戶代理概要配置文件,而推測出所述用戶終端設(shè)備的終端設(shè)備信息。
5.根據(jù)權(quán)利要求1所述的入口服務(wù)器,其中所述應(yīng)用提供者通信單元(210)從應(yīng)用提供者(130)接收應(yīng)用描述概要配置文件作為應(yīng)用響應(yīng)信息;所述抽象用戶界面元素生成單元(220)包括應(yīng)用分析單元(221),用于對接收到的所述應(yīng)用描述概要配置文件進(jìn)行分析,以得到所述應(yīng)用的輸入/輸出參數(shù)信息;抽象用戶界面元素類定義存儲(chǔ)單元(226),用于存儲(chǔ)抽象用戶界面元素類的定義;抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(225),用于存儲(chǔ)抽象用戶界面表達(dá)匹配·映射規(guī)則;抽象用戶界面表達(dá)選擇·映射單元(222),用于根據(jù)存儲(chǔ)在所述抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(225)中的抽象用戶界面表達(dá)匹配·映射規(guī)則,為所述應(yīng)用的每一個(gè)輸入/輸出參數(shù)信息從所述抽象用戶界面元素類定義存儲(chǔ)單元(226)中選擇一個(gè)抽象用戶界面元素類,并按照所選擇的抽象用戶界面元素類將所述每一個(gè)輸入/輸出參數(shù)信息映射成一個(gè)抽象用戶界面元素;抽象用戶界面概要配置文件存儲(chǔ)單元(227),用于存儲(chǔ)抽象用戶界面概要配置文件,所述抽象用戶界面概要配置文件由所生成的所述抽象用戶界面元素構(gòu)成。
6.根據(jù)權(quán)利要求5所述的入口服務(wù)器,其中所述輸入/輸出參數(shù)的值為用戶利用所述用戶終端設(shè)備輸入的值。
7.根據(jù)權(quán)利要求1所述的入口服務(wù)器,其中所述具體用戶界面生成單元(240)進(jìn)一步包括具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(242),用于存儲(chǔ)具體用戶界面表達(dá)匹配·映射規(guī)則;具體用戶界面表達(dá)匹配·映射單元(244),用于根據(jù)存儲(chǔ)在所述具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(242)中的具體用戶界面表達(dá)匹配·映射規(guī)則,將所述應(yīng)用的每一個(gè)抽象用戶界面元素匹配并映射成一個(gè)具體用戶界面元素;和具體用戶界面頁面生成單元(241),基于所生成的所述具體用戶界面元素和所述終端設(shè)備信息生成具體用戶界面頁面。
8.根據(jù)權(quán)利要求7所述的入口服務(wù)器,其中,所述具體用戶界面頁面生成單元(241)包括有效顯示區(qū)域計(jì)算單元(1201),用于根據(jù)所述用戶終端設(shè)備信息計(jì)算所述用戶終端設(shè)備的有效顯示區(qū)域的實(shí)際尺寸;具體用戶界面元素顯示區(qū)域計(jì)算單元(1202),用于根據(jù)所述用戶終端設(shè)備信息計(jì)算出所生成的每個(gè)具體用戶界面元素的實(shí)際顯示尺寸;組合單元(1204),用于分析上述計(jì)算出的有效顯示區(qū)域?qū)嶋H尺寸和各具體用戶界面元素的實(shí)際顯示尺寸,得到各具體用戶界面元素的適當(dāng)組合信息;和分頁單元(1205),根據(jù)所得到的所述適當(dāng)組合信息對所述應(yīng)用的具體用戶界面進(jìn)行分頁。
9.根據(jù)權(quán)利要求8所述的入口服務(wù)器,其中,所述組合單元(1204)包括組合信息存儲(chǔ)單元(1405),用來保存所生成的具體用戶界面元素的組合信息;完全組合生成單元(1401),用于根據(jù)所述有效顯示區(qū)域?qū)嶋H尺寸和每個(gè)具體用戶界面元素的實(shí)際顯示尺寸,對所生成的所有具體用戶界面元素進(jìn)行完全組合,將至少一個(gè)具體用戶界面元素的實(shí)際顯示尺寸之和與所述有效顯示區(qū)域?qū)嶋H尺寸相匹配的組合作為組合信息,并將所述組合信息存儲(chǔ)到所述組合信息存儲(chǔ)單元中;判斷單元(1404),用于判斷在所述具體用戶界面元素的尺寸是否為可調(diào)整的尺寸;剩余顯示區(qū)域尺寸計(jì)算單元(1402),用于計(jì)算在所述用戶終端設(shè)備上可用來顯示具體用戶界面元素的剩余顯示區(qū)域尺寸;目標(biāo)調(diào)整尺寸計(jì)算單元(1403),用于基于所述判斷單元的判斷結(jié)果、根據(jù)所述剩余顯示區(qū)域尺寸和所選擇的具體用戶界面元素的實(shí)際顯示尺寸,來計(jì)算出所述具體用戶界面元素應(yīng)被調(diào)整成的目標(biāo)調(diào)整尺寸。
10.根據(jù)權(quán)利要求7所述的入口服務(wù)器,其中所述具體用戶界面生成單元(240)進(jìn)一步包括用戶偏好存儲(chǔ)單元(243),用于存儲(chǔ)用戶對所述具體用戶界面的偏好信息,所述具體用戶界面頁面生成單元(241)還基于所述用戶偏好信息生成具體用戶界面頁面。
11.根據(jù)權(quán)利要求10所述的入口服務(wù)器,其中所述用戶偏好信息是在所述用戶終端設(shè)備連接到所述入口服務(wù)器上時(shí)被設(shè)置的信息。
12.根據(jù)權(quán)利要求10所述的入口服務(wù)器,其中所述用戶偏好信息是在所述用戶終端設(shè)備連接到所述入口服務(wù)器前被預(yù)先定義的信息。
13.一種根據(jù)用戶終端設(shè)備(110)的能力向用戶終端設(shè)備(110)提供由應(yīng)用提供者(130)提供的應(yīng)用的應(yīng)用用戶界面的方法,包括終端設(shè)備通信步驟,用于從所述用戶終端設(shè)備(110)接收應(yīng)用請求信息并向所述用戶終端設(shè)備(110)發(fā)送與應(yīng)用提供者(130)所提供的應(yīng)用相應(yīng)的具體用戶界面信息;應(yīng)用提供者通信步驟,向所述應(yīng)用提供者(130)發(fā)送所述應(yīng)用請求信息并從應(yīng)用提供者(130)接收對所請求的應(yīng)用的應(yīng)用響應(yīng)信息;用戶終端設(shè)備信息生成步驟,用于根據(jù)所接收的所述應(yīng)用請求信息而生成與所述用戶終端設(shè)備有關(guān)的終端設(shè)備信息;抽象用戶界面元素生成步驟,使在所述應(yīng)用提供者通信步驟中接收到的所述應(yīng)用響應(yīng)信息與從預(yù)先存儲(chǔ)的抽象用戶界面元素類中選取出的抽象用戶界面元素類相關(guān)聯(lián)而生成抽象用戶界面元素,并將所生成的抽象用戶界面元素保存為抽象用戶界面概要配置文件;以及具體用戶界面生成步驟,根據(jù)在所述抽象用戶界面元素生成步驟中生成的所述抽象用戶界面概要配置文件和在所述終端設(shè)備信息生成步驟中生成的所述用戶終端設(shè)備信息,生成適用于所述用戶終端設(shè)備的具體用戶界面信息,并將所生成的所述具體用戶界面信息經(jīng)由所述終端設(shè)備通信單元提供給所述用戶終端設(shè)備(110)。
14.根據(jù)權(quán)利要求13所述的方法,其中所述終端信息生成步驟進(jìn)一步包括終端設(shè)備信息獲取步驟,用于通過根據(jù)存儲(chǔ)在推測規(guī)則存儲(chǔ)單元中的終端設(shè)備推測規(guī)則、所述應(yīng)用請求信息和存儲(chǔ)在終端設(shè)備信息存儲(chǔ)單元中的終端設(shè)備信息得到未知用戶終端設(shè)備的類型,并依據(jù)所得到的用戶終端設(shè)備的類型而獲取與所述未知用戶終端設(shè)備(110)相關(guān)的終端設(shè)備信息。
15.根據(jù)權(quán)利要求14所述的方法,其中所述終端設(shè)備信息獲取步驟包括終端設(shè)備信息識(shí)別步驟,用于將從所述應(yīng)用請求信息中提取出的識(shí)別信息與所述終端設(shè)備信息存儲(chǔ)單元中所存儲(chǔ)的終端設(shè)備信息進(jìn)行匹配,以從中識(shí)別出與所述識(shí)別信息相對應(yīng)的終端設(shè)備信息。
16.根據(jù)權(quán)利要求14所述的方法,其中所述終端設(shè)備信息獲取步驟包括用戶代理概要配置文件獲取步驟,用于根據(jù)包含在終端設(shè)備通信步驟中接收的應(yīng)用請求信息中的用戶代理概要配置文件的統(tǒng)一資源分配符(URL),訪問所述用戶終端設(shè)備的廠商網(wǎng)絡(luò)服務(wù)器(140),以獲取所述用戶終端設(shè)備的用戶代理概要配置文件;推測規(guī)則讀取步驟,用于從推測規(guī)則存儲(chǔ)單元中讀取所述推測規(guī)則;以及終端設(shè)備推測步驟,用于通過將所接收的所述應(yīng)用請求信息與所讀取的所述推測規(guī)則進(jìn)行匹配并基于所獲取的所述用戶代理概要配置文件,而推測出所述用戶終端設(shè)備的終端設(shè)備信息。
17.根據(jù)權(quán)利要求13所述的方法,其中在所述應(yīng)用提供者通信步驟中,從應(yīng)用提供者(130)接收應(yīng)用描述概要配置文件作為應(yīng)用響應(yīng)信息;所述抽象用戶界面元素生成步驟包括應(yīng)用分析步驟,用于對接收到的所述應(yīng)用描述概要文件進(jìn)行分析,以得到所述應(yīng)用的輸入/輸出參數(shù)信息;抽象用戶界面表達(dá)選擇·映射步驟,用于根據(jù)存儲(chǔ)在抽象用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(225)中的抽象用戶界面表達(dá)匹配·映射規(guī)則,為所述應(yīng)用的每一個(gè)輸入/輸出參數(shù)信息從抽象用戶界面元素類定義存儲(chǔ)單元(226)中選擇一個(gè)抽象用戶界面元素類,并將所述每一個(gè)輸入/輸出參數(shù)信息映射成一個(gè)抽象用戶界面元素;抽象用戶界面概要配置文件存儲(chǔ)步驟,用于將所生成的所述抽象用戶界面元素存儲(chǔ)為抽象用戶界面概要配置文件。
18.根據(jù)權(quán)利要求17所述的方法,其中所述輸入/輸出參數(shù)的值為用戶利用所述用戶終端設(shè)備輸入的值。
19.根據(jù)權(quán)利要求13所述的方法,其中所述具體用戶界面生成步驟進(jìn)一步包括具體用戶界面表達(dá)匹配·映射步驟,用于根據(jù)存儲(chǔ)在具體用戶界面表達(dá)匹配·映射規(guī)則存儲(chǔ)單元(242)中的具體用戶界面表達(dá)匹配·映射規(guī)則,將所述應(yīng)用的每一個(gè)抽象用戶界面元素映射成一個(gè)具體用戶界面元素;和具體用戶界面頁面生成步驟,基于所生成的所述具體用戶界面元素和所述用戶終端設(shè)備信息生成具體用戶界面頁面。
20.根據(jù)權(quán)利要求19所述的方法,其中,所述具體用戶界面頁面生成步驟包括有效顯示區(qū)域計(jì)算步驟,用于根據(jù)所述用戶終端設(shè)備信息計(jì)算所述用戶終端設(shè)備的有效顯示區(qū)域的實(shí)際尺寸;具體用戶界面元素顯示區(qū)域計(jì)算步驟,用于根據(jù)所述用戶終端設(shè)備信息計(jì)算出所生成的每個(gè)具體用戶界面元素的實(shí)際顯示尺寸;組合步驟,用于分析上述計(jì)算出的有效顯示區(qū)域?qū)嶋H尺寸和各具體用戶界面元素的實(shí)際顯示尺寸,得到各具體用戶界面元素的合適組合;和分頁步驟,根據(jù)所得到的所述合適組合而對所述應(yīng)用的具體用戶界面進(jìn)行分頁。
21.根據(jù)權(quán)利要求20所述的方法,其中,所述組合步驟包括組合信息存儲(chǔ)步驟,用來保存所生成的具體用戶界面元素的組合信息;完全組合生成步驟,用于根據(jù)所述有效顯示區(qū)域?qū)嶋H尺寸和每個(gè)具體用戶界面元素的實(shí)際顯示尺寸,對所生成的所有具體用戶界面元素進(jìn)行完全組合,將至少一個(gè)具體用戶界面元素的實(shí)際顯示尺寸之和與所述有效顯示區(qū)域?qū)嶋H尺寸相匹配的組合作為組合信息,并將所述組合信息存儲(chǔ)到所述組合信息存儲(chǔ)單元中;判斷步驟,用于判斷在所述具體用戶界面元素的尺寸是否為可調(diào)整的尺寸;剩余顯示區(qū)域尺寸計(jì)算步驟,用于計(jì)算在所述用戶終端設(shè)備上可用來顯示具體用戶界面元素的剩余顯示區(qū)域尺寸;目標(biāo)調(diào)整尺寸計(jì)算步驟,用于基于所述判斷步驟的判斷結(jié)果、根據(jù)所述剩余顯示區(qū)域尺寸和所選擇的具體用戶界面元素的實(shí)際顯示尺寸,來計(jì)算出所述具體用戶界面元素應(yīng)被調(diào)整成的目標(biāo)調(diào)整尺寸。
22.根據(jù)權(quán)利要求19所述的方法,其中所述具體用戶界面生成步驟進(jìn)一步包括在所述具體用戶界面頁面生成步驟中,還基于存儲(chǔ)在用戶偏好存儲(chǔ)單元中的用戶對所述具體用戶界面的偏好信息生成具體用戶界面頁面。
23.根據(jù)權(quán)利要求22所述的方法,其中所述用戶偏好信息是在所述用戶終端設(shè)備連接到所述入口服務(wù)器上時(shí)被設(shè)置的信息。
24.根據(jù)權(quán)利要求22所述的方法,其中所述用戶偏好信息是在所述用戶終端設(shè)備連接到所述入口服務(wù)器前被預(yù)先定義的信息。
全文摘要
本發(fā)明提供一種根據(jù)用戶終端設(shè)備的能力為用戶終端設(shè)備提供應(yīng)用用戶界面的入口服務(wù)器及相應(yīng)的提供方法,該入口服務(wù)器包括應(yīng)用提供者通信單元,用于從應(yīng)用提供者接收應(yīng)用信息;抽象用戶界面元素生成單元,用于使通信接收的應(yīng)用信息與一個(gè)抽象用戶界面元素類相關(guān)聯(lián)而生成抽象用戶界面元素,并將生成的抽象用戶界面元素保存為抽象用戶界面概要配置文件;用戶終端設(shè)備信息生成單元,用于生成用戶終端設(shè)備信息;具體用戶界面生成單元,用于根據(jù)抽象用戶界面概要配置文件和用戶終端設(shè)備信息,針對用戶終端設(shè)備生成具體用戶界面;和終端設(shè)備通信單元,用于將生成的具體用戶界面提供給用戶終端設(shè)備。
文檔編號G06F17/30GK101030204SQ200610054999
公開日2007年9月5日 申請日期2006年2月27日 優(yōu)先權(quán)日2006年2月27日
發(fā)明者秋藤俊介, 安東宣善, 王莉 申請人:株式會(huì)社日立制作所