用于處理編碼數(shù)據(jù)流的系統(tǒng)和方法
【專利摘要】公開用于經(jīng)過無線網(wǎng)絡(luò)所傳遞的編碼數(shù)據(jù)流的有效處理的方法和系統(tǒng)。系統(tǒng)可包括接收器組件、迭代器組件和返回組件。接收器組件接收包括多個(gè)對(duì)象的編碼消息。消息可按照協(xié)議來編碼。迭代器組件在沒有對(duì)編碼消息進(jìn)行解碼的情況下遍歷編碼消息中的多個(gè)對(duì)象以查找多個(gè)對(duì)象的所選對(duì)象。所選對(duì)象由客戶端應(yīng)用來選擇。返回組件向客戶端應(yīng)用返回與所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
【專利說明】用于處理編碼數(shù)據(jù)流的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及用于通過網(wǎng)絡(luò)的裝置之間的通信的系統(tǒng)和方法。具體來說,本公開涉及用于通過通信網(wǎng)絡(luò)所發(fā)送的編碼消息的有效處理的系統(tǒng)和方法。
【背景技術(shù)】
[0002]裝置一般使用編碼消息通過網(wǎng)絡(luò)來傳遞數(shù)據(jù)流。編碼消息可包括預(yù)計(jì)用于某些客戶端應(yīng)用的壓縮數(shù)據(jù)。在經(jīng)過網(wǎng)絡(luò)接收消息時(shí),裝置可對(duì)數(shù)據(jù)解壓縮,并且將它存儲(chǔ)在客戶端應(yīng)用所使用的獨(dú)立數(shù)據(jù)結(jié)構(gòu)中。為了提取感興趣數(shù)據(jù)并且將其復(fù)制到數(shù)據(jù)結(jié)構(gòu)中,裝置配置成完全或部分理解編碼消息。因此,裝置使用額外存儲(chǔ)器開銷在處理期間存儲(chǔ)消息內(nèi)容。
【專利附圖】
【附圖說明】
[0003]圖1是示出按照本文所公開實(shí)施例、用于編碼消息的有效處理的系統(tǒng)的框圖。
[0004]圖2是按照本文所公開實(shí)施例的客戶端裝置的框圖。
[0005]圖3是按照本文所公開實(shí)施例的示例編碼消息的框圖表示。
[0006]圖4示出按照本文所公開實(shí)施例、用于處理編碼消息的示例偽代碼。
[0007]圖5是按照本文所公開實(shí)施例的示例庫的框圖。
[0008]圖6是示出按照本文所公開的實(shí)施例、用于編碼消息的有效處理的方法的流程圖。
[0009]圖7是示出按照本文所公開的實(shí)施例、用于編碼消息的有效處理的另一種方法的流程圖。
【具體實(shí)施方式】
[0010]下面提供按照本公開的實(shí)施例的系統(tǒng)和方法的詳細(xì)描述。雖然描述若干實(shí)施例,但是應(yīng)當(dāng)理解,本公開并不局限于任一個(gè)實(shí)施例,而是包含許多備選、修改和等效方面。另夕卜,雖然在以下描述中提出許多具體細(xì)節(jié)、以便提供對(duì)本文所公開實(shí)施例的透徹了解,但是即使沒有這些細(xì)節(jié)的部分或全部也能夠?qū)嵤┮恍?shí)施例。此外,為了清楚起見,沒有詳細(xì)描述相關(guān)領(lǐng)域中已知的特定技術(shù)資料,以免不必要地影響對(duì)本公開的理解。
[0011]本文所公開的系統(tǒng)和方法可執(zhí)行編碼數(shù)據(jù)流的零副本處理,而無需傳統(tǒng)處理方案的附加存儲(chǔ)器開銷。在某些實(shí)施例中,“迭代器”在無需存儲(chǔ)器分配和/或副本開銷的情況下以降低或最小的存儲(chǔ)開銷來有效地遍歷編碼消息。迭代器可返回與經(jīng)過網(wǎng)絡(luò)所接收的編碼消息中的對(duì)象關(guān)聯(lián)的指針。例如,當(dāng)?shù)饔龅较⒅械念A(yù)定(例如在通信協(xié)議中公知的)參數(shù)或令牌時(shí),迭代器可返回指向其中存儲(chǔ)與預(yù)定參數(shù)或令牌關(guān)聯(lián)的數(shù)據(jù)(字符串)的本地靜態(tài)和只讀存儲(chǔ)器位置的指針。當(dāng)?shù)饔龅骄幋a消息中的專用值時(shí),迭代器可返回指向所接收數(shù)據(jù)流中的對(duì)應(yīng)偏移處的存儲(chǔ)器位置的指針。
[0012]為了便于說明,本文所公開的某些實(shí)施例使用無線應(yīng)用協(xié)議(WAP)和無線會(huì)話協(xié)議(WSP)。但是,本領(lǐng)域的技術(shù)人員通過本文的公開將會(huì)知道,本公開并不局限于此,并且本公開可適用于允許通信裝置的互通的其它協(xié)議。WAP是由許多移動(dòng)裝置用于通信的開放國際標(biāo)準(zhǔn),并且由開放移動(dòng)聯(lián)盟(OMA)組織來指導(dǎo)。WAP和WSP的技術(shù)描述和規(guī)范通過OMA可供使用。WAP標(biāo)準(zhǔn)描述一套協(xié)議,其允許基于WAP的應(yīng)用和設(shè)備與不同網(wǎng)絡(luò)技術(shù)(例如IS-95(又稱作碼分多址(CDMA))、全球微波接入互通(WiMAX)、藍(lán)牙、全球移動(dòng)通信系統(tǒng)(GSM)、通用移動(dòng)電信系統(tǒng)(UMTS)、長期演進(jìn)(LTE)等)的互通。具體來說,WSP標(biāo)準(zhǔn)由WAP瀏覽器和多媒體消息傳遞服務(wù)(MMS)來使用。包括移動(dòng)裝置管理(MDM)和數(shù)字版權(quán)管理(DRM)的許多服務(wù)依靠由WSP規(guī)范所提供的數(shù)據(jù)推送設(shè)施。
[0013]兩個(gè)啟用WAP的應(yīng)用之間的通信的一種方法包括發(fā)送按照WSP所編碼的消息。編碼過程涉及將消息的某些部分壓縮為二進(jìn)制形式,其通過將公知的對(duì)象(例如報(bào)頭、報(bào)頭參數(shù)或其它值)編碼為較短或壓縮的二進(jìn)制形式來實(shí)現(xiàn)。一般來說,消息然后由另一個(gè)裝置或應(yīng)用來發(fā)送和接收。在接收時(shí),消息被解碼/解壓縮為獨(dú)立數(shù)據(jù)結(jié)構(gòu),其表示然后可由客戶端裝置上的應(yīng)用來表示的消息。一般來說,這要求客戶端應(yīng)用或客戶端裝置完全理解消息,以便提取信息并且將其復(fù)制為獨(dú)立數(shù)據(jù)結(jié)構(gòu)。
[0014]經(jīng)常地,WSP解碼例程是中間件或核心系統(tǒng)級(jí)應(yīng)用編程接口(API)的部分,并且由大多數(shù)或全部啟用WSP的應(yīng)用再使用。由于這種性質(zhì),一般要求API是WSP協(xié)議的完整實(shí)現(xiàn)。這意味著,所有消息內(nèi)容在解碼階段期間來處理和理解,并且可在每次消息被傳遞到裝置中的新應(yīng)用時(shí)重復(fù)進(jìn)行。這要求額外存儲(chǔ)器開銷以在處理期間存儲(chǔ)消息內(nèi)容。這對(duì)具有有限存儲(chǔ)器和/或有限電池的許多移動(dòng)裝置或嵌入式系統(tǒng)可能是有害的。此外,對(duì)于服務(wù)(例如構(gòu)建于WSP之上以交換音頻和視頻內(nèi)容的MMS),附加存儲(chǔ)器開銷因音頻和視頻內(nèi)容所表示的數(shù)據(jù)的大部分的復(fù)制和存儲(chǔ)而可能是相當(dāng)昂貴的。另外,常常存在不要求消息的完全理解的狀況。例如,一些應(yīng)用可以僅需要處于WSP編碼消息中的數(shù)據(jù)的一小部分。因此,完全理解以及解碼過程中涉及的關(guān)聯(lián)CPU、存儲(chǔ)器、電池和電力使用能夠?qū)е嘛@著低效。
[0015]因此,本文所公開的系統(tǒng)和方法提供編碼消息的有效處理。在一個(gè)實(shí)施例中,有效處理包括執(zhí)行WSP數(shù)據(jù)流和編碼消息的零副本處理,而無需傳統(tǒng)方案的開銷。在一個(gè)實(shí)施例中,客戶端裝置使用WSP編碼標(biāo)準(zhǔn)的某些結(jié)構(gòu)方面來遍歷編碼消息,以查找是客戶端裝置或者客戶端應(yīng)用所感興趣的所選對(duì)象。客戶端裝置然后可向客戶端程序返回與所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。客戶端程序可根據(jù)需要來使用或處理數(shù)據(jù)。編碼消息的遍歷以及僅提供感興趣的數(shù)據(jù)可允許編碼狀態(tài)中的消息的處理,并且能夠限制對(duì)創(chuàng)建消息的解碼或解壓縮形式的需要。此外,不相關(guān)的編碼消息的部分可以被忽略,以及只有與客戶端程序相關(guān)的部分被理解、復(fù)制和/或處理。對(duì)應(yīng)CPU、存儲(chǔ)器和電池節(jié)省可產(chǎn)生。
[0016]在一個(gè)實(shí)施例中,遍歷通過使用一種迭代器組件來實(shí)現(xiàn),該迭代器組件能夠以最小存儲(chǔ)開銷、極小或者沒有存儲(chǔ)器分配/副本開銷以及極小或者沒有CPU開銷來有效地遍歷WSP編碼消息。例如,迭代器組件可遍歷WSP編碼消息的單獨(dú)對(duì)象(例如報(bào)頭和/或報(bào)頭參數(shù))。在一個(gè)實(shí)施例中,迭代器組件可查找下一個(gè)對(duì)象,以及應(yīng)用或者另一組件可確定那個(gè)對(duì)象是否為客戶端應(yīng)用所感興趣。如果對(duì)象是所感興趣的,則關(guān)聯(lián)數(shù)據(jù)可提供給客戶端應(yīng)用。在一些狀況下,可提供指向數(shù)據(jù)或者指向獨(dú)立庫的指針,而不是從消息中復(fù)制數(shù)據(jù)?;跅5拇鎯?chǔ)器位置的使用實(shí)現(xiàn)對(duì)編譯時(shí)間壓縮和優(yōu)化查找的支持。這可允許啟用WSP的客戶端(例如客戶端應(yīng)用)使用迭代器,并且僅處理與特定應(yīng)用相關(guān)的信息對(duì)象。
[0017]使用編碼消息的有效遍歷,不需要處理或理解消息中的一切方面的應(yīng)用能夠略過不相關(guān)的對(duì)象??梢圆恍枰幚砗?或理解完全de消息的客戶端應(yīng)用的一個(gè)示例可包括調(diào)度器(dispatcher)應(yīng)用。如上所述,WSP提供數(shù)據(jù)推送的機(jī)制。調(diào)度器應(yīng)用可接收由客戶端裝置所接收的所有WAP推送消息。調(diào)度器應(yīng)用可負(fù)責(zé)將WAP推送消息調(diào)度到系統(tǒng)上的預(yù)計(jì)客戶端應(yīng)用。例如,WAP推送消息可預(yù)計(jì)用于基于OMA裝置管理(OMA DM)或OMA客戶端預(yù)備(OMA CP)的裝置管理應(yīng)用、基于OMA DRM的數(shù)字版權(quán)管理應(yīng)用、vCard接觸應(yīng)用等。許多應(yīng)用可以是預(yù)計(jì)接收方,因?yàn)樵S多網(wǎng)絡(luò)運(yùn)營商特定應(yīng)用和服務(wù)也使用WAP推送。
[0018]為了確定接收方而不有效遍歷,調(diào)度器應(yīng)用可解析WSP編碼消息,以確定其多功能因特網(wǎng)郵件擴(kuò)展(MIME)類型。對(duì)于一些方法,這可能要求整個(gè)消息的完整解碼和復(fù)制。但是,基于本文所公開的實(shí)施例,迭代器組件能夠有效地遍歷消息,以查找指定MME類型的對(duì)象、處理那個(gè)信息并且將消息轉(zhuǎn)發(fā)到預(yù)計(jì)接收方應(yīng)用。這能夠改進(jìn)效率,因?yàn)檎{(diào)度器應(yīng)用不要求(并且可能甚至不能夠使用)除了 MME類型之外的任何信息。因?yàn)檎{(diào)度器應(yīng)用僅得到所需信息而忽略其它信息,所以等待時(shí)間和開銷能夠顯著降低。
[0018]使用迭代器組件還允許WSP編碼消息按照編碼格式來存儲(chǔ)。這可能限制對(duì)編碼消息中的數(shù)據(jù)進(jìn)行解碼或使用所需的復(fù)制量。此外,因?yàn)榫幋a消息常常小于解碼消息,所以裝置上的存儲(chǔ)器使用可降低。另外或者在其它實(shí)施例中,多個(gè)應(yīng)用或組件可并發(fā)地訪問編碼消息。因此,一個(gè)應(yīng)用可從消息中讀取圖像或其它數(shù)據(jù),同時(shí)另一個(gè)應(yīng)用在同一時(shí)間周期期間讀取音頻或其它數(shù)據(jù)。類似地,因?yàn)槟軌蛴行У乇闅v編碼消息,所以包括不是由任何客戶端應(yīng)用當(dāng)前了解的數(shù)據(jù)的消息能夠存儲(chǔ)到這種應(yīng)用被識(shí)別和安裝為止。
[0019]此外,當(dāng)大量有效載荷或其它數(shù)據(jù)包含在編碼消息中時(shí),可略過這個(gè)數(shù)據(jù),從而引起對(duì)其它方法的顯著存儲(chǔ)器分配和處理器使用的節(jié)省。
[0020]圖1是不出按照一個(gè)實(shí)施例、用于編碼消息的有效處理的系統(tǒng)100的框圖。系統(tǒng)100包括服務(wù)器102、WAP網(wǎng)關(guān)104和客戶端裝置106 (示出兩個(gè))。系統(tǒng)100的組件102、104,106可通過網(wǎng)絡(luò)108進(jìn)行通信。在一個(gè)實(shí)施例中,例如,客戶端裝置106可使用有線或無線連接、通過網(wǎng)絡(luò)108進(jìn)行通信。對(duì)于無線通信,天線110可用來為客戶端裝置106提供經(jīng)過網(wǎng)絡(luò)108到系統(tǒng)100的其它組件102、104、106的無線連接。
[0021]服務(wù)器102可包括本領(lǐng)域已知的任何類型的硬件和/或軟件。服務(wù)器102可向WAP網(wǎng)關(guān)104或客戶端裝置106提供數(shù)據(jù)、信息或其它內(nèi)容。在一個(gè)實(shí)施例中,服務(wù)器102可以是提供網(wǎng)站內(nèi)容的萬維網(wǎng)服務(wù)器。例如,網(wǎng)頁、視頻、音頻、多媒體、文本等可由服務(wù)器102提供給WAP網(wǎng)關(guān)104或客戶端裝置106的一個(gè)或多個(gè)。在另一個(gè)實(shí)施例中,服務(wù)器102可以是通信服務(wù)器,其將從另一個(gè)服務(wù)器或裝置所接收的數(shù)據(jù)轉(zhuǎn)發(fā)到系統(tǒng)100的組件。例如,語音通信、消息或其它數(shù)據(jù)可由服務(wù)器102從系統(tǒng)100的一個(gè)服務(wù)器、裝置或組件轉(zhuǎn)發(fā)到系統(tǒng)100的另一個(gè)組件。
[0022]服務(wù)器102可使用本領(lǐng)域已知的任何類型的通信協(xié)議。示例協(xié)議包括因特網(wǎng)協(xié)議(IP)、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)、因特網(wǎng)消息訪問協(xié)議(IMAP)、WAP等。許多其它類型的通信協(xié)議是本領(lǐng)域公知和明確定義的。
[0023]本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到本領(lǐng)域當(dāng)前可用的WAP網(wǎng)關(guān)的變化和功能性。在一個(gè)實(shí)施例中,WAP網(wǎng)關(guān)104將內(nèi)容從一個(gè)協(xié)議或格式轉(zhuǎn)化成如WAP所定義的協(xié)議或格式之一。例如,WAP網(wǎng)關(guān)104可取按照HTTP所編碼的內(nèi)容,并且將它轉(zhuǎn)化為無線標(biāo)記語言(麗L),這能夠由移動(dòng)裝置或者其它具有WML能力的裝置或軟件來解釋和/或處理。在一個(gè)實(shí)施例中,WAP網(wǎng)關(guān)104可位于網(wǎng)絡(luò)108與客戶端裝置106之間。
[0024]在一個(gè)實(shí)施例中,WAP網(wǎng)關(guān)104可從服務(wù)器102或其它裝置來接收按照第一語言或協(xié)議所編碼的內(nèi)容,并且將該內(nèi)容轉(zhuǎn)化為與WAP兼容的格式。因此,能夠進(jìn)行WAP通信的裝置可以能夠訪問最初對(duì)其它裝置或協(xié)議來設(shè)計(jì)或編碼的內(nèi)容。在一個(gè)實(shí)施例中,WAP網(wǎng)關(guān)104格式化客戶端裝置106的消息或其它數(shù)據(jù)單元??蛻舳搜b置106然后可以能夠接收消息,并且根據(jù)預(yù)計(jì)來處理消息或其它數(shù)據(jù)單元。如本領(lǐng)域的技術(shù)人員將會(huì)理解,可根據(jù)協(xié)議或其它通信要求來使用其它類型的網(wǎng)關(guān)。
[0025]網(wǎng)絡(luò)108可包括任何類型的通信網(wǎng)絡(luò)。示例通信網(wǎng)絡(luò)包括電纜網(wǎng)絡(luò)、移動(dòng)電話網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、計(jì)算網(wǎng)絡(luò)、因特網(wǎng)等。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)108可包括多個(gè)較小網(wǎng)絡(luò)。網(wǎng)絡(luò)108可以能夠進(jìn)行有線和/或無線通信。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)可按照大量無線通信標(biāo)準(zhǔn)的一個(gè)或多個(gè)來實(shí)現(xiàn),這些無線通信標(biāo)準(zhǔn)包括但不限于CDMA、WiMAX、藍(lán)牙、GSM、UMTS、LTE等。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)108能夠使用天線110或其它無線傳輸裝置或系統(tǒng)與客戶端裝置106進(jìn)行通信。
[0026]圖1所示的系統(tǒng)100包括與網(wǎng)絡(luò)108進(jìn)行有線通信的客戶端裝置106以及經(jīng)過天線110與網(wǎng)絡(luò)108進(jìn)行無線通信的客戶端裝置106。雖然未示出,但是天線110可表示無線網(wǎng)絡(luò)的其它元件,例如基站或毫微微小區(qū)??蛻舳搜b置106可包括本領(lǐng)域已知的任何類型的通信裝置或數(shù)據(jù)處理裝置。示例客戶端裝置包括但不限于移動(dòng)電話(例如功能電話或智能電話)、個(gè)人數(shù)字助理(PDA)、平板計(jì)算機(jī)、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)等。按照一個(gè)實(shí)施例,客戶端裝置106可包括運(yùn)行諸如MeeGo?、Android?、1S?、Windows Phone?等的移動(dòng)操作系統(tǒng)的移動(dòng)信息處理裝置。
[0027]在一個(gè)實(shí)施例中,客戶端裝置106可用來瀏覽萬維網(wǎng)內(nèi)容,發(fā)送消息,以及執(zhí)行多種不同類型的通信或數(shù)據(jù)處理。客戶端裝置106可包括用于執(zhí)行通信、媒體消費(fèi)、因特網(wǎng)瀏覽等的不同功能的多個(gè)應(yīng)用。在一個(gè)實(shí)施例中,客戶端裝置106可向另一個(gè)裝置發(fā)送消息和/或從另一個(gè)裝置接收消息。例如,從服務(wù)器102、WAP網(wǎng)關(guān)104或另一個(gè)客戶端裝置106所接收的數(shù)據(jù)可采取一個(gè)或多個(gè)消息的形式來接收。在一個(gè)實(shí)施例中,客戶端裝置106可配置成有效地處理從另一個(gè)裝置所接收的編碼消息。
[0028]圖2是按照一個(gè)實(shí)施例的客戶端裝置106的框圖??蛻舳搜b置106配置成有效地處理編碼消息。客戶端裝置106可遍歷編碼消息,并且查找消息中是客戶端程序所感興趣的對(duì)象,而不對(duì)編碼消息進(jìn)行解碼。如本文所使用的術(shù)語“對(duì)象”被給出以表示消息中的任何數(shù)據(jù)單元,例如報(bào)頭、報(bào)頭參數(shù)、有效載荷數(shù)據(jù)或者任何其它數(shù)據(jù)對(duì)象。所示客戶端裝置106包括接收器組件202、存儲(chǔ)器組件204、迭代器組件206、確定組件208、返回組件210和一個(gè)或多個(gè)客戶端應(yīng)用212。組件202、204、206、208、210、212僅作為舉例來示出,而可以沒有包含在所有實(shí)施例中。例如,在多樣化實(shí)施例中,客戶端裝置106可包括組件202、204、206、208、210、212中的兩個(gè)或更多的其中之一或者任何組合。
[0029]在一個(gè)實(shí)施例中,接收器組件202接收編碼消息。接收器組件202可通過網(wǎng)絡(luò)108從另一個(gè)客戶端裝置106、WAP網(wǎng)關(guān)104、服務(wù)器102或者任何其它裝置來接收編碼消息。編碼消息可按照協(xié)議來編碼。在一個(gè)實(shí)施例中,編碼消息按照WAP標(biāo)準(zhǔn)來編碼。在一個(gè)實(shí)施例中,編碼消息按照WSP來編碼。
[0030]編碼消息可包括多個(gè)對(duì)象。例如,消息可包括一個(gè)或多個(gè)報(bào)頭、報(bào)頭參數(shù)、有效載荷或其它對(duì)象。在一個(gè)實(shí)施例中,多個(gè)對(duì)象的至少一個(gè)對(duì)象按照緊湊二進(jìn)制格式來編碼。例如,可對(duì)于對(duì)象的至少一部分進(jìn)行編碼,使得它在編碼狀態(tài)中比在非編碼狀態(tài)中要小。在一個(gè)實(shí)施例中,編碼消息可包括一個(gè)或多個(gè)協(xié)議數(shù)據(jù)單元(PDU),其可以是通過網(wǎng)絡(luò)108發(fā)送的數(shù)據(jù)單元。在一個(gè)實(shí)施例中,編碼消息可以是數(shù)據(jù)推送或數(shù)據(jù)拉取消息。
[0031]在一個(gè)實(shí)施例中,協(xié)議可將一個(gè)或多個(gè)對(duì)象定義為公知對(duì)象。例如,公知對(duì)象可包括報(bào)頭、報(bào)頭參數(shù)或其它數(shù)據(jù),其在協(xié)議中定義或者在協(xié)議中是公知的。協(xié)議還可定義公知對(duì)象的每個(gè)的緊湊二進(jìn)制編碼。例如,這可允許公知對(duì)象的緊湊和/或壓縮編碼,以限制消息的大小或者增加可包含在消息中的有效載荷數(shù)據(jù)量。因此,按照協(xié)議進(jìn)行操作的裝置或應(yīng)用可以能夠?qū)⒕幋a或壓縮的二進(jìn)制編碼理解或解釋為對(duì)應(yīng)的公知對(duì)象。在一個(gè)實(shí)施例中,編碼消息可包括公知對(duì)象的緊湊二進(jìn)制編碼。
[0031]圖3是按照一個(gè)實(shí)施例的示例編碼消息300的框圖表示。編碼消息300可存儲(chǔ)在存儲(chǔ)器中,和/或通過有線或無線通信介質(zhì)來傳送。按照一個(gè)實(shí)施例,編碼消息300按照WSP來編碼。指針302、304、306、308指示編碼消息300中的對(duì)象的位置。
[0033]編碼消息300包括表示為字節(jié)或位的一系列值。按照一個(gè)實(shí)施例,編碼消息300包括對(duì)象,其表示供圖1所示的客戶端裝置106和/或客戶端應(yīng)用112進(jìn)行處理的數(shù)據(jù)。雖然在圖3中僅示出少量對(duì)象,但是本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到,在一些實(shí)施例中大量對(duì)象可存在。
[0032]按照某些實(shí)施例,消息中的對(duì)象采取壓縮或者未壓縮格式。通過指針302所指示的對(duì)象是具有“X-New-Header”的未壓縮值的報(bào)頭。按照一個(gè)實(shí)施例,在指針302的報(bào)頭對(duì)象是定制對(duì)象,并且因而處于未編碼或者未壓縮狀態(tài),即使編碼消息300處于編碼狀態(tài)。例如,值“X-New-Header”可以沒有WSP所定義的緊湊二進(jìn)制編碼。在指針302的對(duì)象之后接著在指針304的參數(shù)對(duì)象,其具有“paramvalues”的未壓縮值。在指針304的參數(shù)對(duì)象再次是未壓縮的,因?yàn)樗嵌ㄖ浦?。也就是說,值“paramvalues”可以沒有WSP所定義的緊湊二進(jìn)制編碼。
[0033]指針306指向具有值“ 0x80 ” (十六進(jìn)制80)的報(bào)頭對(duì)象。報(bào)頭對(duì)象“ 0x80 ”可以是公知報(bào)頭的二進(jìn)制編碼。例如,二進(jìn)制編碼“0x80”可通過WSP定義為未壓縮報(bào)頭“接受”的緊湊編碼。指針306之后接著指針308,其指向具有值“0x94” (十六進(jìn)制94)的參數(shù)對(duì)象。參數(shù)對(duì)象“0x94”是公知參數(shù)值的二進(jìn)制編碼。例如,二進(jìn)制編碼“0x94”可通過WSP定義為未壓縮參數(shù)值“applicat1n/vnd.wap.wmlc”的緊湊編碼。
[0034]編碼消息300僅作為舉例來提供。例如,在其它實(shí)施例中,其它編碼消息可按照其它協(xié)議或標(biāo)準(zhǔn)來編碼。本領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到在結(jié)構(gòu)、長度、編碼等方面具有相當(dāng)大變化的編碼消息。
[0035]回到圖2,客戶端裝置106的存儲(chǔ)器組件204可存儲(chǔ)客戶端裝置106的數(shù)據(jù)。在一個(gè)實(shí)施例中,存儲(chǔ)器組件204可包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器。按照一個(gè)實(shí)施例,存儲(chǔ)器可包括只讀存儲(chǔ)器。在另一個(gè)實(shí)施例中,存儲(chǔ)器可包括可寫存儲(chǔ)器。在一個(gè)實(shí)施例中,存儲(chǔ)器可包括只讀和可寫存儲(chǔ)器。在一個(gè)實(shí)施例中,存儲(chǔ)器組件204可存儲(chǔ)編碼消息、例如圖3的編碼消息300。存儲(chǔ)器組件204可存儲(chǔ)客戶端裝置106的其它組件、例如代碼。例如,接收器組件202、迭代器組件206、確定組件208、返回組件210和/或(一個(gè)或多個(gè))客戶端應(yīng)用212可駐留在存儲(chǔ)器組件204的存儲(chǔ)器中。組件202、204、206、208、210、212或者其部分也可實(shí)現(xiàn)為硬件、固件等。存儲(chǔ)器組件204還可存儲(chǔ)解碼對(duì)象值的庫(參見圖5)。
[0036]在一個(gè)實(shí)施例中,迭代器組件206遍歷編碼消息,以查找編碼消息中的對(duì)象。在一個(gè)實(shí)施例中,迭代器組件206可與確定組件208進(jìn)行交互,如以下所述,以查找編碼消息中的所選對(duì)象。在一個(gè)實(shí)施例中,迭代器組件206可遍歷編碼消息,以查找所選對(duì)象。所選對(duì)象可以是由另一個(gè)應(yīng)用、例如客戶端應(yīng)用212所選的對(duì)象。
[0037]在一個(gè)實(shí)施例中,迭代器組件206可遍歷編碼消息,以識(shí)別編碼消息中的下一個(gè)對(duì)象。迭代器組件206可將所識(shí)別的下一個(gè)對(duì)象指定為當(dāng)前對(duì)象。例如,遍歷編碼消息中的一個(gè)或多個(gè)對(duì)象可包括查找接著迭代器組件206在編碼消息中所跟蹤的當(dāng)前位置的隨后對(duì)象。迭代器組件206可基于協(xié)議或者另一標(biāo)準(zhǔn)所要求的結(jié)構(gòu)來識(shí)別編碼消息中的對(duì)象。例如,迭代器組件206可基于WSP標(biāo)準(zhǔn)所施加的要求來遍歷圖3的編碼消息300。在一個(gè)實(shí)施例中,迭代器組件206可查找編碼消息中指示新對(duì)象的開始的值,或者可尋找特定報(bào)頭、參數(shù)或編碼二進(jìn)制值。
[0038]按照一個(gè)實(shí)施例,迭代器組件206遍歷編碼消息,而無需對(duì)編碼消息進(jìn)行解碼。在一個(gè)實(shí)施例中,迭代器組件206可遍歷編碼消息,而無需創(chuàng)建編碼消息的未編碼版本。在一個(gè)實(shí)施例中,迭代器組件206可引用如協(xié)議所定義的對(duì)象的庫,而無需創(chuàng)建消息的未編碼版本,和/或無需創(chuàng)建消息中的對(duì)象的未編碼版本。例如,迭代器組件206可遍歷編碼消息,而無需創(chuàng)建消息的任何部分的解碼副本。在一個(gè)實(shí)施例中,二進(jìn)制編碼的解碼因具有解碼對(duì)象值的庫而可以是不需要的。
[0039]確定組件208可確定迭代器組件206所識(shí)別的對(duì)象是否為所選對(duì)象。按照一個(gè)實(shí)施例,所選對(duì)象是由客戶端應(yīng)用212來選擇的對(duì)象。所選對(duì)象可以是客戶端應(yīng)用212所感興趣的對(duì)象,以用于處理或控制客戶端應(yīng)用212的操作。例如,編碼消息的一些對(duì)象可以是與客戶端應(yīng)用212的操作不相關(guān)的,而其它對(duì)象是相關(guān)的。按照一個(gè)實(shí)施例,只有相關(guān)的那些對(duì)象是所選對(duì)象,以及確定組件208確定迭代器組件206所識(shí)別的對(duì)象是否為所選對(duì)象。
[0040]按照一個(gè)實(shí)施例,確定組件208將對(duì)象與對(duì)應(yīng)于客戶端應(yīng)用212的一個(gè)或多個(gè)所選對(duì)象進(jìn)行比較。例如,客戶端應(yīng)用212可提供所選對(duì)象的列表,其在編碼消息中被找到時(shí)應(yīng)當(dāng)提供給客戶端應(yīng)用212。在一個(gè)實(shí)施例中,確定組件208將對(duì)象與所選對(duì)象的列表比較。如果對(duì)象對(duì)應(yīng)于所選對(duì)象的列表中的對(duì)象,則確定組件208可確定對(duì)象是所選對(duì)象。
[0041]按照一個(gè)實(shí)施例,確定組件208將對(duì)象的值與所選對(duì)象的列表中的值進(jìn)行比較。例如,如果迭代器組件206所識(shí)別的對(duì)象的值匹配所選對(duì)象的列表中的值,則確定組件208可確定對(duì)象是所選對(duì)象。按照另一個(gè)實(shí)施例,確定組件208可查找?guī)熘信c迭代器組件206所識(shí)別的對(duì)象對(duì)應(yīng)的值。例如,如果迭代器組件206所識(shí)別的對(duì)象是緊湊二進(jìn)制編碼,則確定組件208可查找?guī)熘信c緊湊二進(jìn)制編碼對(duì)應(yīng)的值。庫中的值然后可與所選對(duì)象的列表中的值進(jìn)行比較。
[0042]返回組件210返回與所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。在一個(gè)實(shí)施例中,返回組件210可向客戶端應(yīng)用212返回?cái)?shù)據(jù)。按照一個(gè)實(shí)施例,可響應(yīng)迭代器組件206和確定組件208查找到所選對(duì)象而返回?cái)?shù)據(jù)。在一個(gè)實(shí)施例中,返回組件210可響應(yīng)確定組件208確定迭代器組件206所識(shí)別的對(duì)象是所選對(duì)象而返回?cái)?shù)據(jù)。
[0043]在一個(gè)實(shí)施例中,返回組件210可返回對(duì)象的值。在另一個(gè)實(shí)施例中,返回組件210可返回指向與對(duì)象關(guān)聯(lián)的數(shù)據(jù)的指針。在一個(gè)實(shí)施例中,指針可指向編碼消息中對(duì)象所在的位置。在另一個(gè)實(shí)施例中,指針可指向庫中具有與消息中的對(duì)象對(duì)應(yīng)的值的位置。例如,所選對(duì)象可對(duì)應(yīng)于如協(xié)議所定義的公知對(duì)象,并且指針可指向庫中存儲(chǔ)公知對(duì)象的未編碼版本的預(yù)定存儲(chǔ)器位置。
[0044]—個(gè)或多個(gè)客戶端應(yīng)用212可包括可運(yùn)行于客戶端裝置106的任何應(yīng)用。按照一個(gè)實(shí)施例,客戶端應(yīng)用212可以是使用經(jīng)過網(wǎng)絡(luò)消息所接收的數(shù)據(jù)的應(yīng)用,例如萬維網(wǎng)瀏覽器、音頻播放器、視頻播放器、圖像查看器、消息傳遞應(yīng)用或者任何其它應(yīng)用。在一個(gè)實(shí)施例中,客戶端應(yīng)用212可包括調(diào)度器應(yīng)用,其處理入局消息,并且通知預(yù)計(jì)接收方應(yīng)用關(guān)于消息的接收。其它示例應(yīng)用包括文本消息傳遞應(yīng)用、多媒體消息傳遞應(yīng)用等。
[0045]來看圖3、圖4和圖5,示出客戶端裝置116的組件202、204、206、208、210、212之間的示例交互以處理編碼消息。如先前所述,圖3示出示例編碼消息的框圖。圖4示出按照一個(gè)實(shí)施例、用于處理編碼消息的不例偽代碼400。圖5是按照一個(gè)實(shí)施例的不例庫500的框圖。庫500包括公知的報(bào)頭和公知的參數(shù)。指針502和504示為指向庫中的值。在一個(gè)實(shí)施例中,庫500可包括只讀值,其可由客戶端應(yīng)用來修改。庫500因其中存儲(chǔ)庫500的存儲(chǔ)器的類型而可以是只讀的,或者可以是如操作系統(tǒng)或其它存儲(chǔ)器管理應(yīng)用或組件所管理的只讀存儲(chǔ)器。在一個(gè)實(shí)施例中,庫500可用作用于解釋編碼二進(jìn)制值的查找表。
[0046]圖4的偽代碼400包括“iter_init(...) ”指令,其可用來初始化迭代器組件206。在一個(gè)實(shí)施例中,迭代器組件206可采用圖3的編碼消息300的存儲(chǔ)器地址來初始化。
[0047]“iter_neXt (…)”指令可使迭代器組件206和確定組件208共同工作,以查找編碼消息300中的下一個(gè)所選對(duì)象。在這個(gè)示例中,"iter_next (…)”指令可使迭代器組件206查找在編碼消息300中的指針302的位置的對(duì)象。迭代器組件206可通過存儲(chǔ)指針302作為指向當(dāng)前對(duì)象的指針,來跟蹤對(duì)象的存儲(chǔ)器位置。例如,迭代器組件206可存儲(chǔ)與指針302所指向的位置對(duì)應(yīng)的存儲(chǔ)器位置值。在另一個(gè)實(shí)施例中,“iter_neXt (...)”指令可使迭代器組件206略過指針302處的對(duì)象到達(dá)指針306處的對(duì)象。例如,如果“X-New-Header”不是客戶端應(yīng)用的所選對(duì)象,則“ iter_neXt (…)”指令可略過那個(gè)對(duì)象。
[0048]“return_header O ”指令使返回組件210返回指向迭代器組件206所跟蹤的當(dāng)前指針的位置處的報(bào)頭值的指針。例如,假定在指針302的對(duì)象是所選對(duì)象,則返回指向“X-New-Header ”的指針302?!皉eturn_param() ”指令返回指向接著迭代器組件206所跟蹤的當(dāng)前指針的位置處的報(bào)頭的參數(shù)值的指針。例如,返回指向“paramvalues”的指針304。
[0049]“ iter_neXt (…)”指令使迭代器組件206查找編碼消息300中的下一個(gè)所選對(duì)象。在這個(gè)示例中,所選對(duì)象位于指針306。按照一個(gè)實(shí)施例,“return_header O ”和“return_param() ”返回指向編碼消息中的位置的指針。例如,“return_header O ”指令可返回指針306,以及“return_param() ”可返回指針308。按照另一個(gè)實(shí)施例,“return_header O ”和“return_param() ”返回指向庫中的存儲(chǔ)器位置的指針。例如,“return_header O ”指令可返回庫500中的指針502,以及“return_param() ”可返回庫500中的指針504。例如,編碼消息300中的值“0x80”可以是編碼二進(jìn)制值,其對(duì)應(yīng)于WSP中的“Accept”,以及“0x94”可以是編碼二進(jìn)制值,其對(duì)應(yīng)于WSP中的“applicat1n/vnd.wap.wmlc”。
[0050]在一個(gè)實(shí)施例中,“iter_next (…)”、“return_header O,,和“return_param(),,指令可重復(fù)進(jìn)行到已經(jīng)遍歷編碼消息300并且已經(jīng)查找全部所選對(duì)象為止。例如,在一些實(shí)施例中,可使用創(chuàng)建使指令被運(yùn)行到已經(jīng)查找全部所選對(duì)象為止的循環(huán)的代碼。
[0051]圖6是按照一個(gè)實(shí)施例、用于編碼消息的有效處理的方法600的流程圖。方法600可例如由圖2所示的客戶端裝置106和/或圖1所示的系統(tǒng)100來執(zhí)行。應(yīng)當(dāng)注意,在至少一些實(shí)施例中,相對(duì)系統(tǒng)100或客戶端裝置106所述的功能性或特征的任一個(gè)可包含在方法600中。
[0052]方法600開始,并且接收器組件202接收605編碼消息。編碼消息可從網(wǎng)絡(luò)、例如無線通信網(wǎng)絡(luò)或另一網(wǎng)絡(luò)來接收605。編碼消息可按照協(xié)議來編碼。在一個(gè)實(shí)施例中,編碼消息按照WSP來編碼。在一個(gè)實(shí)施例中,編碼消息包括多個(gè)對(duì)象。多個(gè)對(duì)象可包括報(bào)頭、參數(shù)或其它值。
[0053]方法600包括迭代器組件206遍歷610編碼消息的多個(gè)對(duì)象,以查找所選對(duì)象。在一個(gè)實(shí)施例中,編碼消息在遍歷610期間沒有解碼。迭代器組件206可基于協(xié)議的結(jié)構(gòu)要求來查找所選對(duì)象。例如,按照WSP所編碼的編碼消息可具有WSP所需的特定結(jié)構(gòu)。在一個(gè)實(shí)施例中,迭代器組件206遍歷610編碼消息,以查找WSP所定義的對(duì)象或結(jié)構(gòu)。所選對(duì)象可以是客戶端應(yīng)用所選的對(duì)象。例如,客戶端應(yīng)用可具有將要由迭代器組件206來查找的一個(gè)或多個(gè)對(duì)象的關(guān)聯(lián)列表。列表上的對(duì)象可以是所選對(duì)象。方法600包括返回組件210,其返回615與所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。在一個(gè)實(shí)施例中,向客戶端應(yīng)用返回615關(guān)聯(lián)數(shù)據(jù)。返回組件210可響應(yīng)所選對(duì)象的位置而返回615關(guān)聯(lián)數(shù)據(jù)。在一個(gè)實(shí)施例中,所返回615的關(guān)聯(lián)數(shù)據(jù)可包括報(bào)頭值、參數(shù)值或者從編碼消息所復(fù)制的另一值。在另一個(gè)實(shí)施例中,所返回615的關(guān)聯(lián)數(shù)據(jù)可包括指向存儲(chǔ)器中的位置的指針。在一個(gè)實(shí)施例中,指針指向編碼消息中的位置。在另一個(gè)實(shí)施例中,指針指向庫中的位置。
[0054]圖7是按照一個(gè)實(shí)施例、用于編碼數(shù)據(jù)流的有效處理的方法700的流程圖。與圖6的方法600相似,方法700包括具有以上所述變化的任一個(gè)的接收605、遍歷610和返回615。但是,如下所述,方法700還包括確定705當(dāng)前對(duì)象是否為所選對(duì)象,并且確定710是否存在附加所選對(duì)象。此外,以上相對(duì)系統(tǒng)100、客戶端裝置106或方法600所述的功能性或特征可包含在方法700中。
[0055]方法700包括確定組件208確定705對(duì)象是否為所選對(duì)象。確定組件208可將迭代器組件206所識(shí)別的對(duì)象與所選對(duì)象的列表進(jìn)行比較。所選對(duì)象的列表可包括一個(gè)或多個(gè)對(duì)象,其在被查找時(shí)提供給客戶端應(yīng)用。例如,所選對(duì)象可包括可由客戶端應(yīng)用來處理的對(duì)象。
[0056]方法700還包括確定710是否存在附加所選對(duì)象。如果存在附加對(duì)象(在710的“是”),則方法700可重復(fù)進(jìn)行如上所述的遍歷610、確定705和返回615。如果不存在附加對(duì)象(在710的“否”),則方法700可結(jié)束。這可允許方法在完成編碼消息的遍歷之前結(jié)束。在一些狀況下,在來自編碼消息的極少信息被客戶端程序所要求時(shí),處理節(jié)省能夠相當(dāng)顯著。
[0057]能夠與本文所公開實(shí)施例配合使用的基礎(chǔ)設(shè)施的一部分已經(jīng)是可用的,例如通用計(jì)算機(jī)、移動(dòng)電話、計(jì)算機(jī)編程工具和技術(shù)、數(shù)字存儲(chǔ)介質(zhì)以及通信網(wǎng)絡(luò)。計(jì)算裝置可包括處理器,例如微處理器、微控制器、邏輯電路等。處理器可包括專用處理裝置,例如ASIC、PAL、PLA、PLD、FPGA或者其它定制或者可編程裝置。計(jì)算裝置還可包括計(jì)算機(jī)可讀存儲(chǔ)裝置,例如非易失性存儲(chǔ)器、靜態(tài)RAM、動(dòng)態(tài)RAM、ROM、CD-ROM、盤、帶、磁、光、閃速存儲(chǔ)器或者其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
[0058]某些實(shí)施例的各個(gè)方面可使用硬件、軟件、固件或者其組合來實(shí)現(xiàn)。組件或模塊可表示或包括運(yùn)行一個(gè)或多個(gè)軟件或固件程序的專用集成電路(ASIC)、電子電路、處理器(共享、專用或編組)和/或存儲(chǔ)器(共享、專用或編組)、組合邏輯電路和/或提供所述功能性的其它適當(dāng)組件或者作為其部分。如本文所使用的軟件模塊或組件可包括位于非短暫性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)之中或之上的任何類型的計(jì)算機(jī)指令或計(jì)算機(jī)可執(zhí)行代碼。軟件模塊或組件例如可包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或邏輯塊,其可組織為執(zhí)行一個(gè)或多個(gè)任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。
[0059]在某些實(shí)施例中,特定軟件模塊或組件可包括不同位置中存儲(chǔ)的不同指令,其共同實(shí)現(xiàn)模塊或組件的所述功能性。實(shí)際上,模塊或組件可包括單個(gè)指令或者多個(gè)指令,并且可分布于若干不同代碼段之上、不同程序之間以及跨若干計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)分布。一些實(shí)施例可在分布式計(jì)算環(huán)境中實(shí)施,其中任務(wù)由經(jīng)過通信網(wǎng)絡(luò)所鏈接的遠(yuǎn)程處理裝置來執(zhí)行。
[0060]本文所公開的系統(tǒng)和方法不是與任何特定計(jì)算機(jī)或其它設(shè)備固有地相關(guān),并且可通過硬件、軟件和/或固件的適當(dāng)組合來實(shí)現(xiàn)。軟件實(shí)現(xiàn)可包括其中包含可執(zhí)行代碼/指令的一個(gè)或多個(gè)計(jì)算機(jī)程序,可執(zhí)行代碼/指令在由處理器運(yùn)行時(shí)可使處理器執(zhí)行至少部分由可執(zhí)行指令所定義的方法。計(jì)算機(jī)程序能夠通過任何形式的編程語言(包括編譯或解釋語言)來編寫,并且能夠通過任何形式來部署,包括作為獨(dú)立程序或者作為模塊或組件、組件、子例程或者適合于計(jì)算環(huán)境中使用的其它單元。此外,計(jì)算機(jī)程序可部署成在一個(gè)計(jì)算機(jī)或者在一個(gè)站點(diǎn)處或分布于多個(gè)站點(diǎn)并且通過通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上運(yùn)行。軟件實(shí)施例可實(shí)現(xiàn)為包括配置成存儲(chǔ)計(jì)算機(jī)程序和指令的非短暫性存儲(chǔ)介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序和指令在由處理器運(yùn)行時(shí)配置成使處理器執(zhí)行按照指令的方法。在某些實(shí)施例中,非短暫性存儲(chǔ)介質(zhì)可采取能夠在非短暫性存儲(chǔ)介質(zhì)上存儲(chǔ)處理器可讀指令的任何形式。非短暫性存儲(chǔ)介質(zhì)可通過壓縮盤、數(shù)字視頻光盤、磁帶、磁盤、穿孔卡片、閃速存儲(chǔ)器、集成電路或者任何其它非短暫性數(shù)字處理設(shè)備存儲(chǔ)器裝置。
[0061]雖然為了清楚起見而更詳細(xì)描述了上文,但是將會(huì)顯而易見,可進(jìn)行某些變化和修改,而沒有背離其原理。應(yīng)當(dāng)注意,存在實(shí)現(xiàn)本文所述過程和設(shè)備的許多備選方式。相應(yīng)地,本實(shí)施例將被視作說明性而不是限制性的,以及本發(fā)明不限于在此提供的詳細(xì)情況,而是可在所附權(quán)利要求書的范圍和等效體之內(nèi)進(jìn)行修改。
[0062]參照各個(gè)實(shí)施例描述了以上說明書。但是,本領(lǐng)域的技術(shù)人員將會(huì)理解,能夠進(jìn)行各種修改和變更,而不背離本公開的范圍。例如,各種操作步驟以及用于執(zhí)行操作步驟的組件可按照備選方式來實(shí)現(xiàn),這取決于特定應(yīng)用或者考慮與系統(tǒng)的操作關(guān)聯(lián)的任何數(shù)量的成本函數(shù)。相應(yīng)地,步驟的任何一個(gè)或多個(gè)可被刪除、修改或者與其它步驟相結(jié)合。此外,本公開將要被看作是說明性而不是限制性的,以及所有這類修改預(yù)計(jì)包含在其范圍之內(nèi)。同樣,以上針對(duì)各個(gè)實(shí)施例描述了有益效果、其它優(yōu)點(diǎn)和問題的解決方案。但是,有益效果、優(yōu)點(diǎn)、問題的解決方案以及可使任何有益效果、優(yōu)點(diǎn)或解決方案發(fā)生或者變得更為顯著的任何元素不是要理解為關(guān)鍵、必要或本質(zhì)特征或元件。如本文所使用的術(shù)語“包括”、“包含”用其任何其它變化意在涵蓋非排他的包含,使得包括元件列表的過程、方法、產(chǎn)品或設(shè)備不僅包括那些元件,而且還可包括未明確列示或者這種過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備固有的其它元件。另外,如本文所使用的術(shù)語“耦合”及其任何其它變化預(yù)計(jì)涵蓋物理連接、電連接、磁連接、光連接、通信連接、功能連接和/或任何其它連接。
[0063]本領(lǐng)域的技術(shù)人員將會(huì)理解,可對(duì)上述實(shí)施例的細(xì)節(jié)進(jìn)行許多變更,而不背離本發(fā)明的基本原理。因此,本發(fā)明的范圍應(yīng)當(dāng)僅由以下權(quán)利要求書來確定。
【權(quán)利要求】
1.一種用于經(jīng)過無線網(wǎng)絡(luò)所傳遞的編碼數(shù)據(jù)流的有效處理的方法,所述方法包括: 從所述無線網(wǎng)絡(luò)接收包括多個(gè)對(duì)象的編碼消息,所述編碼消息按照協(xié)議來編碼; 在沒有對(duì)所述編碼消息進(jìn)行解碼的情況下遍歷所述編碼消息中的所述多個(gè)對(duì)象,以查找所述多個(gè)對(duì)象的所選對(duì)象,其中所述所選對(duì)象由客戶端應(yīng)用來選擇;以及 響應(yīng)查找到所述所選對(duì)象,向所述客戶端應(yīng)用返回與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中,所述編碼消息按照無線會(huì)話協(xié)議WSP來編碼,以及遍歷所述編碼消息包括基于所述WSP的要求來遍歷所述編碼消息。
3.如權(quán)利要求1所述的方法,其中,所述所返回?cái)?shù)據(jù)包括指示所述編碼消息中的所述所選對(duì)象的位置的指針。
4.如權(quán)利要求3所述的方法,其中,所述所選對(duì)象對(duì)應(yīng)于定制對(duì)象。
5.如權(quán)利要求1所述的方法,其中,所述所返回?cái)?shù)據(jù)包括指示庫中的預(yù)定存儲(chǔ)器位置的指針,所述預(yù)定存儲(chǔ)器位置包括與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,其中,所述所選對(duì)象對(duì)應(yīng)于如所述協(xié)議所定義的公知對(duì)象,以及其中所述預(yù)定存儲(chǔ)器位置包括與所述公知對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
7.如權(quán)利要求6所述的方法,其中,所述編碼消息中的所述所選對(duì)象包括所述公知對(duì)象的緊湊二進(jìn)制編碼,以及其中所述庫中的所述預(yù)定存儲(chǔ)器位置包括所述公知對(duì)象的未編碼版本。
8.如權(quán)利要求1所述的方法,其中,遍歷所述編碼消息中的所述一個(gè)或多個(gè)對(duì)象包括基于所述協(xié)議的結(jié)構(gòu)要求來查找所述多個(gè)對(duì)象的隨后對(duì)象。
9.如權(quán)利要求1所述的方法,其中,在沒有對(duì)所述編碼消息進(jìn)行解碼的情況下進(jìn)行遍歷包括遍歷所述編碼消息而不創(chuàng)建所述編碼消息的未編碼版本。
10.如權(quán)利要求1所述的方法,其中,遍歷所述編碼消息包括零副本處理。
11.如權(quán)利要求10所述的方法,其中,不要求用于復(fù)制所述消息的一部分的存儲(chǔ)器分配。
12.如權(quán)利要求1所述的方法,還包括確定所述多個(gè)對(duì)象的對(duì)象是否為所選對(duì)象。
13.如權(quán)利要求12所述的方法,其中,確定所述多個(gè)對(duì)象的對(duì)象是否為所選對(duì)象包括將所述對(duì)象與所述客戶端程序的所選對(duì)象的列表進(jìn)行比較。
14.如權(quán)利要求13所述的方法,其中,所述所選對(duì)象包括報(bào)頭,以及其中所述客戶端程序的所選對(duì)象的列表包括一個(gè)或多個(gè)所選報(bào)頭。
15.如權(quán)利要求14所述的方法,其中,所述所選對(duì)象還包括報(bào)頭參數(shù),所述方法還包括響應(yīng)將所述報(bào)頭與所述一個(gè)或多個(gè)所選報(bào)頭的至少一個(gè)進(jìn)行匹配而返回與所述報(bào)頭參數(shù)對(duì)應(yīng)的指針,所述報(bào)頭參數(shù)對(duì)應(yīng)于所述報(bào)頭。
16.如權(quán)利要求1所述的方法,還包括當(dāng)已經(jīng)查找到全部所選對(duì)象時(shí)終止所述多個(gè)對(duì)象的遍歷。
17.如權(quán)利要求1所述的方法,其中,所述編碼消息包括一個(gè)或多個(gè)協(xié)議數(shù)據(jù)單元PDU。
18.如權(quán)利要求1所述的方法,其中,所述編碼消息包括數(shù)據(jù)推送消息。
19.一種用于經(jīng)過無線網(wǎng)絡(luò)所傳遞的編碼數(shù)據(jù)流的有效處理的系統(tǒng),所述系統(tǒng)包括: 接收器組件,從所述無線網(wǎng)絡(luò)接收包括多個(gè)對(duì)象的編碼消息,所述編碼消息按照協(xié)議來編碼; 迭代器組件,在沒有對(duì)所述編碼消息進(jìn)行解碼的情況下遍歷所述編碼消息中的所述多個(gè)對(duì)象,以查找所述多個(gè)對(duì)象的所選對(duì)象,其中所述所選對(duì)象由客戶端應(yīng)用來選擇;以及 返回組件,響應(yīng)查找到所述所選對(duì)象,向所述客戶端應(yīng)用返回與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
20.如權(quán)利要求19所述的系統(tǒng),其中,所述編碼消息按照無線會(huì)話協(xié)議WSP來編碼,以及遍歷所述編碼消息包括基于所述WSP的要求來遍歷所述編碼消息。
21.如權(quán)利要求19所述的系統(tǒng),其中,所述所返回?cái)?shù)據(jù)包括指示所述編碼消息中的所述所選對(duì)象的位置的指針。
22.如權(quán)利要求21所述的系統(tǒng),其中,所述所選對(duì)象對(duì)應(yīng)于定制對(duì)象。
23.如權(quán)利要求19所述的系統(tǒng),其中,所述所返回?cái)?shù)據(jù)包括指示庫中的預(yù)定存儲(chǔ)器位置的指針,所述預(yù)定存儲(chǔ)器位置包括與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
24.如權(quán)利要求23所述的系統(tǒng),其中,所述所選對(duì)象對(duì)應(yīng)于如所述協(xié)議所定義的公知對(duì)象,以及其中所述預(yù)定存儲(chǔ)器位置包括與所述公知對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
25.如權(quán)利要求24所述的系統(tǒng),其中,所述編碼消息中的所述所選對(duì)象包括所述公知對(duì)象的緊湊二進(jìn)制編碼,以及其中所述庫中的所述預(yù)定存儲(chǔ)器位置包括所述公知對(duì)象的未編碼版本。
26.—種包括程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼在由機(jī)器運(yùn)行時(shí)使所述機(jī)器執(zhí)行用于經(jīng)過無線網(wǎng)絡(luò)所傳遞的編碼數(shù)據(jù)流的有效處理的方法,所述方法包括: 從所述無線網(wǎng)絡(luò)接收包括多個(gè)對(duì)象的編碼消息,所述編碼消息按照協(xié)議來編碼; 在沒有對(duì)所述編碼消息進(jìn)行解碼的情況下遍歷所述編碼消息中的所述多個(gè)對(duì)象以查找所述多個(gè)對(duì)象的所選對(duì)象;以及 響應(yīng)查找到所述所選對(duì)象,返回與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
27.如權(quán)利要求26所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述所返回?cái)?shù)據(jù)包括指示所述編碼消息中的所述所選對(duì)象的位置的指針。
28.如權(quán)利要求26所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述所返回?cái)?shù)據(jù)包括指示庫中的預(yù)定存儲(chǔ)器位置的指針,所述預(yù)定存儲(chǔ)器位置包括與所述所選對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
29.如權(quán)利要求28所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述所選對(duì)象對(duì)應(yīng)于如所述協(xié)議所定義的公知對(duì)象,以及其中所述預(yù)定存儲(chǔ)器位置包括與所述公知對(duì)象關(guān)聯(lián)的數(shù)據(jù)。
30.如權(quán)利要求29所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述編碼消息中的所述所選對(duì)象包括所述公知對(duì)象的緊湊二進(jìn)制編碼,以及其中所述庫中的所述預(yù)定存儲(chǔ)器位置包括所述公知對(duì)象的未編碼版本。
【文檔編號(hào)】H04W4/12GK104272774SQ201380023665
【公開日】2015年1月7日 申請(qǐng)日期:2013年5月17日 優(yōu)先權(quán)日:2012年6月5日
【發(fā)明者】D.肯茲奧, M.霍特曼恩 申請(qǐng)人:英特爾公司