專利名稱:動態(tài)聯(lián)合內(nèi)容傳送系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明的方法和系統(tǒng)涉及移動環(huán)境中的動態(tài)內(nèi)容傳送,特別是涉及能夠加入應(yīng)用程序和內(nèi)容提供商,而不改變架構(gòu)通用動態(tài)內(nèi)容傳送架構(gòu)。
背景技術(shù):
就移動設(shè)備或移動用戶設(shè)備(UE)的用戶對其移動設(shè)備的功能要求以及他們從移動設(shè)備存取數(shù)據(jù)的方式而言,移動設(shè)備或移動用戶設(shè)備(UE)的用戶正日益變得更加精于此道。
動態(tài)內(nèi)容傳送允許用戶使信息或數(shù)據(jù)被推給他們,而不必去尋找和搜索數(shù)據(jù)。這些數(shù)據(jù)的實例包括用戶希望的證券報價,天氣更新,業(yè)務(wù)量更新,動態(tài)墻紙,廣告,應(yīng)用程序或其它數(shù)據(jù)。
當前,用于移動設(shè)備的諸如無線應(yīng)用協(xié)議(WAP)之類的技術(shù)具有推內(nèi)容的能力;然而,為了滿足無線應(yīng)用協(xié)議和向用戶提供不改變用戶觀看網(wǎng)址能力的統(tǒng)一網(wǎng)址,WAP需要重寫網(wǎng)址。
其它替換技術(shù)包括基于SMS推和廣播或小區(qū)廣播。在廣播的情況下,不能針對特定用戶的需要或特定設(shè)備的能力來定制傳送。因此,這些系統(tǒng)沒有與其關(guān)聯(lián)的智能。對移動設(shè)備而言,需要更好的解決方案。
優(yōu)選的是,本發(fā)明的系統(tǒng)和方法提供動態(tài)內(nèi)容傳送架構(gòu)和允許通用應(yīng)用程序和內(nèi)容添加到系統(tǒng),而不需要改變架構(gòu)的系統(tǒng)。具體地講,本發(fā)明的系統(tǒng)和方法允許移動設(shè)備變成動態(tài)應(yīng)用平臺,在該平臺中,能夠添加應(yīng)用和提供給移動設(shè)備的內(nèi)容,而動態(tài)內(nèi)容傳送系統(tǒng)的架構(gòu)即不限制設(shè)備上能夠安裝的應(yīng)用的類型,也不限制設(shè)備接收的內(nèi)容的類型。
在本申請的一個方面中,優(yōu)選的是,提供元數(shù)據(jù)和使元數(shù)據(jù)與內(nèi)容相關(guān)聯(lián),以便在動態(tài)內(nèi)容傳送架構(gòu)內(nèi)向針對各種處理元素的內(nèi)容加入智能。該架構(gòu)包括規(guī)定內(nèi)容條款,包括推代理的服務(wù)條款,無線網(wǎng)絡(luò),推客戶(push client)和客戶應(yīng)用。
在本申請的另一個方面中,優(yōu)選的是,在推內(nèi)容元數(shù)據(jù)的分層“包封的”模型中提供元數(shù)據(jù)。用能夠在推框架內(nèi)在每個元素用于處理的元數(shù)據(jù)來包裝內(nèi)容。對用于每個連續(xù)元素的元數(shù)據(jù)分層,從而允許處理元素只提取用于該元素的元數(shù)據(jù)。例如,包括涉及推代理和客戶應(yīng)用的元數(shù)據(jù)的內(nèi)容包能夠包括具有針對客戶應(yīng)用的第一級元數(shù)據(jù),和針對推代理的第二層元數(shù)據(jù)的內(nèi)容。因此,當包封到達推代理時,提取針對推代理的元數(shù)據(jù),并應(yīng)用到該內(nèi)容,和將更改的內(nèi)容和針對客戶應(yīng)用的元數(shù)據(jù)傳遞到進一步的處理元素。
在本申請的再一個方面中,可以將元數(shù)據(jù)分離成靜態(tài)元數(shù)據(jù)(在此也被稱為頻道元數(shù)據(jù))和動態(tài)元數(shù)據(jù)(在此也被稱為內(nèi)容元數(shù)據(jù))。優(yōu)選的是,在應(yīng)用和內(nèi)容提供商二者登記時建立靜態(tài)元數(shù)據(jù)。但是,可以在稍后的時間建立頻道元數(shù)據(jù)。頻道元數(shù)據(jù)指定專用于正在傳送的內(nèi)容的類型和針對內(nèi)容類型的應(yīng)用要求的處理規(guī)則。
動態(tài)元數(shù)據(jù)被與正在傳遞的特定內(nèi)容逆向相關(guān)聯(lián)。
在本申請的再一個方面中,優(yōu)選的是,在推框架內(nèi)出現(xiàn)插入式登記模型。標識通用的推客戶和推代理(push proxy),各具有允許這些元素處理內(nèi)容和元數(shù)據(jù)的各種處理模塊或模型。這些模塊能夠涉及處理正在傳遞的內(nèi)容,正在傳遞的元數(shù)據(jù),或正在傳遞的內(nèi)容和元數(shù)據(jù)二者。
進一步優(yōu)選的是,插入式登記規(guī)定服務(wù)清單(manifest)和應(yīng)用清單的傳遞,以允許在內(nèi)容提供商和應(yīng)用之間建立頻道元數(shù)據(jù)。具體地講,服務(wù)清單能夠用于向推框架登記內(nèi)容提供商,應(yīng)用清單能夠用于向推框架登記應(yīng)用。
在本申請的再一個方面中,優(yōu)選的是,提供一種推聯(lián)合內(nèi)容的方法。允許根據(jù)數(shù)據(jù)的優(yōu)先權(quán)和根據(jù)包括發(fā)送數(shù)據(jù)的成本,所連接網(wǎng)絡(luò)的類型,或用戶的偏好來處理數(shù)據(jù)。用于聯(lián)合內(nèi)容的任選混合推/拉模型允許推代理在網(wǎng)絡(luò)狀況變得有利時推內(nèi)容,或在網(wǎng)絡(luò)狀況變得有利時或在用戶需要該內(nèi)容時允許客戶拉內(nèi)容為了適應(yīng)各種移動設(shè)備,優(yōu)選的是,本申請的再一個方面提供針對內(nèi)容的內(nèi)容分裂,包括非線性內(nèi)容分裂。非線性內(nèi)容分裂包括數(shù)據(jù)一旦被傳遞到客戶,用允許數(shù)據(jù)被重新組合的元數(shù)據(jù)來補充內(nèi)容。
參考附圖詳細來識別這些和其它方面。
因此,本申請優(yōu)選的是提供一種動態(tài)聯(lián)合(syndicated)內(nèi)容傳送系統(tǒng),包括推代理,所述推代理具有延緩檢索消息存儲模塊,所述延緩檢索消息存儲模塊用于存儲將來傳送的延緩內(nèi)容;推代理商,所述推代理商用于推內(nèi)容;和推調(diào)度器,所述推調(diào)度器用于與所述推代理商通信,以便調(diào)度內(nèi)容的推,并進一步用于監(jiān)視無線網(wǎng)絡(luò)的網(wǎng)絡(luò)條件;推客戶,所述推客戶具有客戶推代理商,所述客戶推代理商用于與推代理的推代理商通信;內(nèi)容拉代理方,所述內(nèi)容拉代理方用于與推代理的延緩檢索消息存儲模塊通信;延緩檢索管理器,所述延緩檢索管理器用于與所述內(nèi)容拉代理方和所述客戶推代理商通信,以拉內(nèi)容,所述延緩檢索管理器還用于監(jiān)視網(wǎng)絡(luò),如果所述網(wǎng)絡(luò)條件有利于接收所述延緩內(nèi)容,則指令所述內(nèi)容拉代理方拉所述內(nèi)容;網(wǎng)絡(luò)狀態(tài)監(jiān)視器,用于監(jiān)視網(wǎng)絡(luò)狀態(tài);和無線網(wǎng)絡(luò)。
優(yōu)選的是,本申請還提供一種由推客戶從推代理檢索內(nèi)容的方法,在所述網(wǎng)絡(luò)條件更有利于傳送之前,延緩所述內(nèi)容,所述方法包括步驟監(jiān)視無線網(wǎng)絡(luò),以確定條件是否有利于檢索所述延緩內(nèi)容;當所述網(wǎng)絡(luò)條件有利時,向所述推客戶拉所述延緩的內(nèi)容。
優(yōu)選的是,本申請還提供一種在存在更有利的網(wǎng)絡(luò)條件之前,延遲從推代理向推客戶的內(nèi)容傳送,所述方法包括步驟在推代理存儲延緩的內(nèi)容,以便將來傳送;在所述推代理監(jiān)視無線網(wǎng)絡(luò),以確定條件是否有利于傳送,如果條件有利于所述傳送,則傳送所述延緩內(nèi)容。
參考附圖可以更好地理解本申請,其中圖1是動態(tài)內(nèi)容傳送系統(tǒng)的基本架構(gòu)的方框圖;圖2是表示圖1的動態(tài)內(nèi)容傳送系統(tǒng)的另一種架構(gòu)的方框圖;圖3送表示圖1的內(nèi)容和元數(shù)據(jù)流的方框圖;圖4是表示能夠與本系統(tǒng)和方法關(guān)聯(lián)使用的推代理商的方框圖;圖5是表示能夠與本系統(tǒng)和方法關(guān)聯(lián)使用的推客戶的方框圖;圖6是表示內(nèi)容和元數(shù)據(jù)的多層包封模型的方框圖;圖7是圖6的方框圖,表示針對每個包封的動態(tài)元數(shù)據(jù)處理步驟;
圖8是圖6的方框圖,另外表示使用靜態(tài)和動態(tài)元數(shù)據(jù)的處理;圖9是表示對單個共享推客戶的應(yīng)用的登記過程;圖10是表示對管理推客戶池的推容器(container)的應(yīng)用的登記過程的方框圖;圖11是表示登記到內(nèi)容處理器和插槽收聽器(socket litener)的應(yīng)用的方框圖;圖12是表示以單個共享推代理登記的內(nèi)容提供商的方框圖;圖13是表示以管理推代理商池的推容器登記的內(nèi)容提供商的方框圖;圖14是表示內(nèi)容提供商和客戶應(yīng)用程序之間的登記消息的流程圖;圖15是表示推客戶和推代理商之間登記期間的交互的方框圖;圖16是表示推代理商和內(nèi)容提供商之間登記期間的交互的方框圖;圖17是表示內(nèi)容提供商和處理元素之間的內(nèi)容和元數(shù)據(jù)流的流程圖;圖18是表示對內(nèi)容的示例變換應(yīng)用程序的方框圖;圖19是內(nèi)容聯(lián)合組織模型的方框圖;圖20是線性分段過程的方框圖;圖21是非線性分段過程的方框圖;和圖22是能夠與本方法和系統(tǒng)關(guān)聯(lián)使用的示例移動設(shè)備的方框圖具體實施方式
參考圖1,描述向客戶應(yīng)用程序傳送動態(tài)內(nèi)容的通用推系統(tǒng)。圖1的系統(tǒng)是一個簡化的系統(tǒng),給出了動態(tài)內(nèi)容傳送架構(gòu)中所需的邏輯組件;然而,本領(lǐng)域技術(shù)人員可以理解,可以存在其它組件,各種組件可以分組在一起。
架構(gòu)100包括內(nèi)容提供商110。內(nèi)容提供商110用于向與內(nèi)容提供商110訂閱的用戶提供動態(tài)內(nèi)容。例子可以包括網(wǎng)站銷售圖書。用戶可以向內(nèi)容提供商110登記,以獲得在指定類型內(nèi)新發(fā)行的圖書。其它例子可以包括可以定期向用戶提供標題的新網(wǎng)址,可以在一天的某段時間向用戶提供最新交易信息的交易網(wǎng)址,能夠向用戶提供更新的證券報價或貨幣兌換率的證券市場網(wǎng)址,和其它網(wǎng)址。
如下面更詳細描述的,內(nèi)容提供商110向服務(wù)提供商120登記,以便服務(wù)提供商的客戶接收來自內(nèi)容提供商110的內(nèi)容。服務(wù)提供商120包括作為客戶或客戶應(yīng)用程序代理,和向內(nèi)容提供商110提供發(fā)送內(nèi)容的目的地的推代理122。
服務(wù)提供商120通過無線網(wǎng)絡(luò)與位于移動設(shè)備上的推客戶140通信。下面更詳細地描述推客戶140。推客戶140接收從內(nèi)容提供商110傳送的內(nèi)容,并向最終消費該內(nèi)容的客戶應(yīng)用程序150傳送該內(nèi)容。
在本說明書中,涉及到內(nèi)容提供商110,服務(wù)提供商120,推代理122,無線網(wǎng)絡(luò)130,推客戶140和客戶應(yīng)用程序150返回參考圖1的架構(gòu)。
參考圖2,本領(lǐng)域技術(shù)人員可以理解,圖1的組件只是邏輯組件,而不必是分開的物理組件。圖1圖示了存在一個內(nèi)容提供商110,一個推代理122,一個推客戶140和一個客戶應(yīng)用程序150的通用架構(gòu)。圖2是另一種替換架構(gòu)。
具體地講,第一替換架構(gòu)210包括與推代理122通信的多個內(nèi)容提供商110。如同圖1的架構(gòu),推代理122通過無線網(wǎng)絡(luò)130與推客戶140通信。另外,架構(gòu)210中存在多個客戶應(yīng)用程序150。因此,這是一個具有多個內(nèi)容提供商110和多個客戶應(yīng)用程序150的N-1-1-N系統(tǒng)。
圖2的架構(gòu)220包括與推代理122通信并向推代理122登記的一個內(nèi)容提供商110。另外,推代理商122通過無線網(wǎng)絡(luò)130與多個推客戶140通信。每個推客戶140與客戶應(yīng)用程序150通信。因此,架構(gòu)220對客戶應(yīng)用程序150和推客戶140的邏輯組件分組,這是一個N(1-1)-1-1系統(tǒng)。
圖2的架構(gòu)230具有各與內(nèi)容提供商110通信的多個推代理122。每個推代理和內(nèi)容提供商組合232通過無線網(wǎng)絡(luò)130與通用推客戶140通信,推客戶140又與客戶應(yīng)用程序150通信。這是一個1-1-N(1-1)系統(tǒng)。
在圖2的架構(gòu)140中,內(nèi)容提供商110和推代理122組232通過無線網(wǎng)絡(luò)130與通用推客戶140和客戶應(yīng)用程序150的組合通信。因此,這是一個N(1-1)-N(1-1)系統(tǒng)。
本領(lǐng)域技術(shù)人員可以理解,其它架構(gòu)也是可能的。上面給出了可以是分開的物理組件和組合在一起的各種邏輯組件。例如,推客戶能夠被埋入在應(yīng)用程序中,共享客戶由多個應(yīng)用程序和替換使用。
參考圖3。為了向系統(tǒng)加入智能,將內(nèi)容與元數(shù)據(jù)關(guān)聯(lián)。這種情況下,元數(shù)據(jù)被定義為能夠由處理元件操縱該內(nèi)容使用的數(shù)據(jù)。元數(shù)據(jù)可以是各種形式,包括處理參數(shù)或規(guī)則,或直接或鏈接到另一處的處理句柄(handler),代碼或規(guī)則的處理句柄,代碼或參考。
如圖3所示,內(nèi)容按箭頭310所示,從內(nèi)容提供商110傳遞到客戶應(yīng)用程序150。向架構(gòu)100內(nèi)的各種組件提供指令的元數(shù)據(jù)也可以總是與內(nèi)容一起在架構(gòu)100內(nèi)的組件之間傳遞。例如,箭頭320示出了在內(nèi)容提供商出發(fā)并且對傳送系統(tǒng)是透明的元數(shù)據(jù),直到其到達客戶應(yīng)用程序150。
箭頭330表示由針對推客戶140的內(nèi)容提供商110創(chuàng)建的元數(shù)據(jù),因此只流到通用推客戶140。
箭頭340示出了由服務(wù)提供商120產(chǎn)生的、并針對推客戶140的元數(shù)據(jù),因此首先在推代理122與該內(nèi)容關(guān)聯(lián),并在通用推客戶140從該內(nèi)容剝?nèi)ピ獢?shù)據(jù)。這種情況能夠發(fā)生的實例包括用戶和與記帳計劃有關(guān)的服務(wù)提供商與要提供的服務(wù)水平之間的協(xié)定,服務(wù)提供商可以使用元數(shù)據(jù)來限制可提供的服務(wù),或提供增強的服務(wù)。
下面更詳細地描述元數(shù)據(jù)的流和元數(shù)據(jù)的作用。
參考圖4。圖4示出了能夠與本系統(tǒng)和方法關(guān)聯(lián)使用推代理410的詳細實例。本領(lǐng)域技術(shù)人員可以理解,推代理410可以與來自圖1和2的推代理122相同。
圖4的推代理410包括能使推代理410在通用推環(huán)境下工作的各種元素。由于推代理不限于與特定的內(nèi)容提供商或推客戶交換,而是能夠適合于動態(tài)環(huán)境。下面針對推代理410描述的元素優(yōu)選的是在推代理410中,但是元素不限于此,也可以是其它元素。另外,在剩余元素仍能夠進行通用推服務(wù)的情況下,可以從推代理410中省略某些元素。
推代理410包括向其登記的內(nèi)容提供商412。內(nèi)容提供商412通過內(nèi)容提供商登記服務(wù)提供商接口(SPI)420登記。如下面更詳細描述的,在登記中希望內(nèi)容提供商412包括針對正在建立的頻道的特定信息,在此稱之為頻道元數(shù)據(jù)。內(nèi)容提供商412可以與圖1的內(nèi)容提供商110相同。
推代理410還包括管理推代理服務(wù)的服務(wù)管理模塊430。
推代理410包括處理內(nèi)容和與該內(nèi)容關(guān)聯(lián)的元數(shù)據(jù)的各種模塊。第一模塊是消息代理方和傳送隊列440,它是消費來自內(nèi)容提供商412和管理內(nèi)容傳送隊列的子系統(tǒng)。本領(lǐng)域技術(shù)人員可以理解,并不是所有客戶的應(yīng)用程序的所有內(nèi)容能夠立即被傳送,而是需要建立隊列,以便在到期前傳送該內(nèi)容,例如,設(shè)備可能在覆蓋范圍之外,可能需要存儲該內(nèi)容。
推代理410還包括流控制管理模塊422。流控制管理模塊442允許對內(nèi)容流進行控制。例如,具有有限空間的移動臺可能只能接收特定量的信息。這種情況下,移動設(shè)備通過如圖1所示的推客戶140可以請求推代理410停止到推客戶140的數(shù)據(jù)流。流控制管理模塊442對此進行處理。
作為替換,移動設(shè)備可以離線。當內(nèi)容不能像被推代理410接收的那樣被傳送時,流控制管理模塊422停止和開始到推客戶140的數(shù)據(jù)流。
推代理410的進一步組件是推代理商444。推代理商負責向客戶發(fā)送數(shù)據(jù)。
如本領(lǐng)域技術(shù)人員可以理解的,模塊440,442和444只處理收發(fā)消息,而不處理相關(guān)的元數(shù)據(jù)。換句話說,模塊處理該消息的內(nèi)容,而不是與該內(nèi)容關(guān)聯(lián)的任何元數(shù)據(jù)。
推代理410的進一步組件是內(nèi)容元數(shù)據(jù)提取器和緩存模塊450。內(nèi)容元數(shù)據(jù)提取器和緩存模塊450對包封的內(nèi)容元數(shù)據(jù)進行操作。具體地講,在下面更詳細地描述的元數(shù)據(jù)系統(tǒng)的包封模型中,系統(tǒng)內(nèi)的每個邏輯組件能夠具有與內(nèi)容處理關(guān)聯(lián)的元數(shù)據(jù)。該元數(shù)據(jù)允許邏輯組件對內(nèi)容執(zhí)行操作。因此需要每個邏輯組件能夠提取與其關(guān)聯(lián)的元數(shù)據(jù)。
內(nèi)容元數(shù)據(jù)提取器和緩存模塊450負責提取與推代理410關(guān)聯(lián)的元數(shù)據(jù)和緩存該元數(shù)據(jù)。緩存功能允許通過消除依次傳遞相同元數(shù)據(jù)的需要使來自相同內(nèi)容提供商的內(nèi)容包封最優(yōu)化。下面描述對元數(shù)據(jù)的提取和和緩存。
當不能有效地向客戶程序傳送內(nèi)容,或部分地傳送時,使用延緩檢索消息存儲模塊452??梢杂醚泳彊z索消息存儲模塊452存儲直到有效地發(fā)送內(nèi)容為止,或直到客戶拉該內(nèi)容為止未被傳送的內(nèi)容。還可以使用延緩檢索消息存儲模塊452提供已經(jīng)傳送的內(nèi)容,根據(jù)客戶應(yīng)用程序?qū)Ш絹砭彺婺軌虮蝗芜x發(fā)送或被客戶來的輔助內(nèi)容。
下面參考圖19和21更好地解釋延緩檢索消息存儲模塊452的目的。作為實例,在用戶已經(jīng)請求了諸如與靠近用戶所在位置的餐廳之類位置信息的情況下,可以使用延緩檢索消息存儲模塊452。在廣告商能夠支付以添加他們搜索請求的信息的情況下,內(nèi)容提供商和服務(wù)提高商可以具有提供信息的模型。于是,請求餐廳位置信息的用戶還可以具有關(guān)注其請求的、靠近其所在位置的有關(guān)商店、高爾夫球場,體育館和其它服務(wù)的信息。內(nèi)容提供商將請求的餐廳信息與附加信息打包,并將其傳遞到推代理410。
推代理410根據(jù)提供的元數(shù)據(jù),能夠生成發(fā)送到客戶的內(nèi)容數(shù)據(jù)包。內(nèi)容數(shù)據(jù)包可以包括客戶請求的信息,以及用戶可能感興趣的相關(guān)信息的摘要或概述。該概述被發(fā)送給用戶,但是延緩檢索消息存儲模塊452存儲從內(nèi)容提供商410接收的實際數(shù)據(jù)。于是,如果將來用戶希望獲得該摘要內(nèi)有關(guān)信息的更詳細信息,該信息已經(jīng)存儲在推代理410。
作為替換,可以在用戶不能立即接受整個內(nèi)容的情況下使用延緩檢索消息存儲模塊452。例如,如果向設(shè)備發(fā)送所有內(nèi)容不可行或不經(jīng)濟,可以存儲部分內(nèi)容,直到稍后時間客戶能夠拉該內(nèi)容,或在滿足預定義規(guī)則時推該信息。這些規(guī)則可以由網(wǎng)絡(luò)或服務(wù)條件按特定網(wǎng)絡(luò)或滿足的服務(wù)條件來規(guī)定。下面將參考圖19更詳細地對此進行描述。
推調(diào)度器454為客戶調(diào)度傳送時隙。如上所述,在某些狀況下,推所有內(nèi)容并不能立即生效。推調(diào)度器452能夠確定立即推某些信息,和根據(jù)調(diào)度推剩余的信息。另外,推調(diào)度器454可以使用內(nèi)容的特性來確定何時應(yīng)該推內(nèi)容。具體地講,元數(shù)據(jù)可以指示某些內(nèi)容具有高優(yōu)先權(quán),或具有限期期滿的時限,可以立即推該內(nèi)容,而在稍后更有利于傳遞數(shù)據(jù)的條件時可以推被指示具有低優(yōu)先權(quán),或沒有期限的內(nèi)容。
本領(lǐng)域技術(shù)人員可以理解,模塊450,452和454處理消息的內(nèi)容和與該消息關(guān)聯(lián)的元數(shù)據(jù)。
訂閱和規(guī)則模塊460跟蹤為接收服務(wù)而登記的應(yīng)用程序,并監(jiān)視有關(guān)如何處理被傳送的特定內(nèi)容的規(guī)則。通常,可以根據(jù)客戶和代表客戶的訂閱來傳送內(nèi)容。用戶,例如如果他們想要特定的服務(wù),這些用戶可以主動地請求訂閱??梢源碛脩暨M行訂閱,例如,用戶已經(jīng)與其服務(wù)提供商120簽署了接收有益服務(wù)的協(xié)議。這包括只要用戶同意每天接收特定量廣告,那么該用戶可以接收優(yōu)先價格的情況。這種情況下,服務(wù)提供商120可以代表客戶向廣告提供商進行訂閱。
當刪除移動設(shè)備上的應(yīng)用程序和應(yīng)用程序取消訂閱登記時,訂閱和規(guī)則模塊460可以取消用戶的訂閱。
推代理410使用內(nèi)容從屬模塊462來廣播移動設(shè)備用戶能夠使用的服務(wù)。于是,如果移動設(shè)備用戶沒有屏幕,或沒有滿足該服務(wù)的帶寬或存儲器,內(nèi)容從屬模塊462可以阻斷向用戶廣告該服務(wù)。
內(nèi)容分段模塊464用于對內(nèi)容進行分段。例如,如果移動設(shè)備不能立即接收所有內(nèi)容,則可以使用內(nèi)容分段模塊464。內(nèi)容分段模塊464用于把內(nèi)容將內(nèi)容分成各種成分。能夠與延緩檢索消息存儲模塊452關(guān)聯(lián)地使用,以存儲仍未被傳送的分段內(nèi)容。
內(nèi)容期滿和替換模塊466用于兩個目的,首先,該模塊能夠用于監(jiān)視訂閱。每個訂閱具有期滿時間,當滿足期滿時間時,能夠結(jié)束訂閱。
另外,內(nèi)容期滿和替換模塊466能夠用于監(jiān)視信息。特定內(nèi)容對信息的有效性具有時間期限。例如,用于監(jiān)視高峰時間交通量的交通量應(yīng)用程序非常時間的關(guān)系非常密切。為此,如果推代理410不能立即把內(nèi)容傳送到移動設(shè)備,則將內(nèi)容存儲在內(nèi)容存儲單元480中,以便將來傳送。然而,如果在某個指定的時段內(nèi)容未傳送該內(nèi)容,該內(nèi)容則期滿,并且不再傳送。
類似地,內(nèi)容替換處理更新信息的狀況。例如,正在接收證券報價的客戶應(yīng)用程序可能只想知道最新的證券報價。因此,如果推代理410不能向推客戶140傳送證券報價,并從內(nèi)容提供商110接收后續(xù)的證券報價,后續(xù)證券報價中的元數(shù)據(jù)能夠指示應(yīng)該用后續(xù)證券報價替換在前的證券報價。替換存儲的信息,而不是向傳送隊列添加所有信息來釋放內(nèi)容存儲裝置480中的空間。
使用頻道元數(shù)據(jù)儲存庫470來存儲頻道元數(shù)據(jù),下面對此更詳細地說明。
上面描述了能夠在此使用的方法和系統(tǒng)的示例性的推代理410。推代理410中的模塊和元素允許推代理410在內(nèi)容類型和在應(yīng)用程序的內(nèi)容的句柄能夠改變并且沒有預定的情況下在通用的動態(tài)內(nèi)容傳送系統(tǒng)中使用。
參考圖5。圖5說明了在此能夠與該系統(tǒng)和方法關(guān)聯(lián)使用的推客戶510。推客戶510可以與來自圖1和2的推客戶140相同。
本領(lǐng)域技術(shù)人員可以理解,在未預定內(nèi)容或內(nèi)容的處理的通用系統(tǒng)中使用的推客戶510應(yīng)該包括可用于容納該內(nèi)容和與該內(nèi)容關(guān)聯(lián)的元數(shù)據(jù)的方塊或模塊。針對圖5定義的模塊并不意味著是排他性的,推客戶510中也可以存在其它模塊。另外,在某些情況下,可以省略推客戶510中的模塊,而不限制推客戶510中的其它模塊的功能性。
推客戶510服務(wù)應(yīng)用程序,和一個或多個應(yīng)用程序512可以向推客戶510登記。應(yīng)用程序登記使用應(yīng)用程序提供商接口514作為登記接口,應(yīng)用程序提供商接口514能夠進一步用于提取針對應(yīng)用程序的頻道元數(shù)據(jù),如下面更詳細描述的。
推客戶510包括用于管理推客戶的510的客戶管理520。
對于圖4的推服務(wù)器410,推客戶510包括處理收發(fā)消息的各種模塊,處理元數(shù)據(jù)的各種模塊,和處理收發(fā)消息和元數(shù)據(jù)二者的各種模塊。
消息代理方和應(yīng)用程序540處理來自推代理410的消息,以傳送到應(yīng)用程序512。應(yīng)用程序隊列是用于應(yīng)用程序512的消息的隊列。
流控制管理模塊542用于通知圖4的推代理410停止推內(nèi)容和恢復推內(nèi)容。例如,當推客戶510能夠接受推內(nèi)容的存儲器的容量有限時,可以使用流控制管理模塊542。這種情況下,在消費推內(nèi)容之前,推客戶510需要停止來自推代理410的內(nèi)容流。一旦已經(jīng)消費了該內(nèi)容,開始使用流控制管理模塊542再次開始數(shù)據(jù)的流。
推客戶510中的推代理商544被用于從圖4的推代理410接收信息。
本領(lǐng)域技術(shù)人員可以理解,消息代理方和應(yīng)用程序隊列540,流控制管理模塊542,和推代理商544專用于處理收發(fā)消息,而不處理元數(shù)據(jù)。
內(nèi)容元數(shù)據(jù)提取器和緩存模塊550用于提取去往推客戶510的動態(tài)元數(shù)據(jù)。如上面參考圖4的推代理410所指示的,動態(tài)內(nèi)容傳送架構(gòu)中的任何處理元素能夠具有去往他們的元數(shù)據(jù),需要提取該元數(shù)據(jù)。因此,由內(nèi)容元數(shù)據(jù)提取器和緩存模塊550提取去往推客戶510的元數(shù)據(jù)。
另外,優(yōu)選的是,內(nèi)容元數(shù)據(jù)提取器和緩存模塊550適合于緩存元數(shù)據(jù)。不需要傳遞在第一內(nèi)容數(shù)據(jù)包和第二內(nèi)容數(shù)據(jù)包之間針對推客戶510不改變的元數(shù)據(jù),由于不需要提取該元數(shù)據(jù)而節(jié)省了在推客戶510的處理時間,另外,由于不需要通過網(wǎng)絡(luò)130來傳遞針對推客戶510的元數(shù)據(jù),從而節(jié)省了網(wǎng)絡(luò)資源。
延緩檢索管理器552用于分析被接收并在正確的路徑中放置在一起的內(nèi)容分段。如下面更詳細描述的,數(shù)據(jù)可以線性的,也可以是非線性的。如果是非線性數(shù)據(jù),則需要元數(shù)據(jù),以便重構(gòu)該數(shù)據(jù),這由延緩檢索管理器552來進行。延緩檢索管理器552還適合于分析推代理510的延緩檢索存儲裝置452中可以提供的信息的摘要,和驅(qū)動內(nèi)容拉代理方554(下面描述)在用戶需要時檢索該信息。這包括在內(nèi)容導航進入內(nèi)容結(jié)構(gòu)圖形的某個分支時,和滿足帶寬和費用條件時預測檢索。
在推客戶510在某些狀況中也能夠拉內(nèi)容的情況下,在推/拉模塊中使用內(nèi)容拉代理方554。后面參考圖19更詳細地描述該狀況。
本領(lǐng)域技術(shù)人員可以理解,內(nèi)容元數(shù)據(jù)提取器和緩存模塊550,延緩檢索管理器552和內(nèi)容拉代理方554處理收發(fā)消息和元數(shù)據(jù)二者。
訂閱管理模塊560與圖4的訂閱和規(guī)則模塊460相同。具體地講,訂閱管理模塊560用于管理訂閱。如果應(yīng)用程序從移動設(shè)備取消登記和被刪除,訂閱管理模塊560則結(jié)束該訂閱。當訂閱頻道期滿時,訂閱管理模塊560也可以代表客戶應(yīng)用程序重新訂閱。
更新通知模塊562與客戶應(yīng)用程序一起工作,并用于向應(yīng)用程序通知新內(nèi)容正在等待他們。這可以通過下面三種方式之一來進行a.更新通知模塊562能夠通知應(yīng)用程序512的第一種方式是針對推客戶510直接把內(nèi)容發(fā)送到應(yīng)用程序512。
b.更新通知模塊562能夠向應(yīng)用程序512通知新內(nèi)容的第二種方式是把該內(nèi)容存儲在內(nèi)容存儲裝置580中,并隨意通知內(nèi)容正在等待的應(yīng)用程序512。這種情況下,通知是隨意的。具體地講,如果應(yīng)用程序512知道去往它的信息被存儲在指定的存儲模塊中,發(fā)現(xiàn)具有新數(shù)據(jù)的應(yīng)用程序的一個選項定期地檢查該存儲位置,以查看那里是否已經(jīng)寫入了什么事情。作為替換,更新通知模塊562能夠向應(yīng)用程序512發(fā)送消息,指示存儲該數(shù)據(jù)的位置可能具有新數(shù)據(jù)。
c.更新通知模塊562能夠向應(yīng)用程序512通知新內(nèi)容的第三種方式是內(nèi)部存儲該內(nèi)容,并通知該應(yīng)用程序。然后,該應(yīng)用程序呼叫該推客戶以檢索該內(nèi)容。
內(nèi)容從屬模塊564與圖4的內(nèi)容從屬模塊462相同,能夠確定是否向移動設(shè)備廣告該服務(wù)。
內(nèi)容期滿和替換模塊566與圖4的內(nèi)容替換和期滿模塊466相同,除了推服務(wù)器和推代理之外,可以在推客戶510處處理內(nèi)容的期滿和內(nèi)容的替換。
頻道元數(shù)據(jù)儲存庫570用于存儲應(yīng)用程序512的頻道元數(shù)據(jù)。
背景更新處理模塊575用于在該應(yīng)用程序不可使用時進行更新。背景更新允許,例如,用應(yīng)用程序存儲裝置中更新的數(shù)據(jù)進行數(shù)據(jù)替換。此后,當用戶開始該應(yīng)用程序時,由該應(yīng)用程序顯示的數(shù)據(jù)是正確的,并且被更新。
背景更新處理模塊575使用處理規(guī)則把內(nèi)容翻譯成應(yīng)用程序可接受的格式。背景更新處理模塊575能夠執(zhí)行和處理內(nèi)容存儲裝置580中的內(nèi)容。
作為實例,訂約人針對前一夜更新的任務(wù)表可以具有推向它的任務(wù)。在此期間,不啟動任務(wù)應(yīng)用程序,可以使用背景更新和處理模塊575針對任務(wù)應(yīng)用程序更新該內(nèi)容??梢岳锰幚砜蓴U展標記語言(XML)文件的代碼來進行更新,和以被稱為“handler.exe”的文件存在與設(shè)備上。推客戶510上的背景更新和處理模塊575可以運行handler.exe,傳遞XML文件有參數(shù)。然后,句柄將該任務(wù)構(gòu)成為應(yīng)用程序的內(nèi)部格式。
一旦推客戶510的背景更新和處理模塊575將該任務(wù)構(gòu)成為應(yīng)用程序內(nèi)部格式,背景更新和處理模塊575則能夠把該任務(wù)從內(nèi)容存儲裝置580讀入任務(wù)表,并將新任務(wù)添加到該表。然后,當任務(wù)應(yīng)用程序下一次連接到推客戶510時,能夠把更改的表存儲回內(nèi)容存儲裝置580。
因此,圖5圖示了在內(nèi)容和內(nèi)容處理所動態(tài)的并且未預定的情況下,能夠在通用的動態(tài)內(nèi)容傳送系統(tǒng)中使用的推客戶510。上面參考圖5的推客戶510描述的模塊用于適應(yīng)系統(tǒng)的動態(tài)特性。
如上面參考圖3指示的,與元數(shù)據(jù)關(guān)聯(lián)的內(nèi)容對內(nèi)容的處理提供智能。根據(jù)該方法和系統(tǒng),可以將元數(shù)據(jù)劃分成兩種類型的元數(shù)據(jù)。具體地講,靜態(tài)(頻道)元數(shù)據(jù)和動態(tài)(內(nèi)容)元數(shù)據(jù)。
由于內(nèi)容提供商和應(yīng)用程序的種類是不受限制的,為了構(gòu)筑通用的系統(tǒng),元數(shù)據(jù)是非常重要的。處理特定類型內(nèi)容的僅有方式是通過元數(shù)據(jù)來進行的。
靜態(tài)元數(shù)據(jù)是提供有關(guān)如何處理特定類型內(nèi)容的元數(shù)據(jù)。靜態(tài)元數(shù)據(jù)能夠被分成各種摘要等級,并且包括例如有關(guān)內(nèi)容本身的結(jié)構(gòu)信息。例如,可以用RSS 2.0.XSD結(jié)構(gòu)傳送實時簡單的聯(lián)合組織(Real-time SimpleSyndicationRRS)文件,用該結(jié)構(gòu)傳送來自該內(nèi)容提供商的所有內(nèi)容。
用于靜態(tài)元數(shù)據(jù)的摘要的下一個等級包括對內(nèi)容子類型的處理規(guī)則的規(guī)定。這可以是應(yīng)用程序的細節(jié)。于是,例如,金融新聞應(yīng)用程序指示應(yīng)該從預定義位置中存儲的金融新聞RSS流提取數(shù)據(jù),應(yīng)該通知應(yīng)用程序有關(guān)該信息到達。應(yīng)用程序總是要求去往該應(yīng)用程序的內(nèi)容被以這種方式處理。
靜態(tài)元數(shù)據(jù)(在此也稱為頻道元數(shù)據(jù))在應(yīng)用程序與內(nèi)容提供商之間訂閱期間保持相同,因此可以針對該架構(gòu)內(nèi)的每個元素和針對每個內(nèi)容傳送頻道建立一次靜態(tài)元數(shù)據(jù)。在一個實施例中,這是在應(yīng)用程序登記或內(nèi)容提供商登記時進行的。
動態(tài)元數(shù)據(jù)是與內(nèi)容的特定部分關(guān)聯(lián)的元數(shù)據(jù)。例如,與數(shù)據(jù)的特定部分或替換規(guī)則關(guān)聯(lián)的期滿信息,和與數(shù)據(jù)的特定部分關(guān)聯(lián)的信息(即,文件K替換文件L)。
如上面參考圖4和5所指示的,每個處理實體能夠接收在該處理實體涉及的靜態(tài)和動態(tài)元數(shù)據(jù)。因此,推代理410使用內(nèi)容元數(shù)據(jù)提取器和緩存450來提取動態(tài)元數(shù)據(jù),內(nèi)容期滿和替換模塊466用在推代理410接收的更新的內(nèi)容來取代未傳送的內(nèi)容。
現(xiàn)在參考圖6。圖6示出了內(nèi)容包封的多層包封模型。
推代理410接收推包封610,推包封610包括用于推服務(wù)器612和推客戶包封614的內(nèi)容處理元數(shù)據(jù)。推代理410提取內(nèi)容處理元數(shù)據(jù)612,使用該元數(shù)據(jù)處理推客戶包封614。元數(shù)據(jù)指示推代理用該推客戶包封614做什么。
在推客戶包封614被分成內(nèi)容包封620和內(nèi)容處理元數(shù)據(jù)622的情況下,將推客戶包封614傳遞到推客戶510。推客戶510使用內(nèi)容處理元數(shù)據(jù)622處理內(nèi)容包封620。例如,如果客戶應(yīng)用程序150只對最新版本的內(nèi)容感興趣,可以用來命令推客戶510用最新的包封取代在前傳送的內(nèi)容包封620。
內(nèi)容包封620被傳遞到客戶應(yīng)用程序150。內(nèi)容包封620包括用于應(yīng)用程序的內(nèi)容處理元數(shù)據(jù)630和由客戶應(yīng)用程序150消費的內(nèi)容有效載荷。
本領(lǐng)域技術(shù)人員可以理解,根據(jù)圖6的包封嵌套提供能夠在該架構(gòu)的任何處理元素進行處理,內(nèi)容提供商110能夠指定如何處理特定內(nèi)容的富動態(tài)環(huán)境。在一個實施例中,其它處理元素不理解涉及特定邏輯元素的元數(shù)據(jù)。
作為替換,服務(wù)提供商120可以在推代理410添加元數(shù)據(jù),以便在推客戶510或客戶應(yīng)用程序150進行處理。
參考圖7,該圖示出了圖6的包封模型和每個處理元素接受包封的步驟。如圖7所示,推代理410首先從推包封610提取元數(shù)據(jù)。這是在步驟710進行的。
在步驟712,推代理410使用該元數(shù)據(jù)處理推客戶包封614。在步驟714,推代理410把推客戶包封614傳遞到推客戶510。
同樣,在步驟720中,推客戶510從推客戶包封614提取內(nèi)容處理元數(shù)據(jù)622。在步驟722,推客戶510使用內(nèi)容包封620上的內(nèi)容處理元數(shù)據(jù)622。在步驟724,推客戶510向客戶應(yīng)用程序150傳送內(nèi)容包封620。
在步驟730,客戶應(yīng)用程序150提取內(nèi)容處理元數(shù)據(jù)630,在步驟732,使用內(nèi)容有效載荷632上的內(nèi)容處理元數(shù)據(jù)630。
參考圖8,該圖示出了圖7所示的、具有靜態(tài)或頻道元數(shù)據(jù)使用的附加步驟的方法。具體地講,在步驟710已經(jīng)從推包封610提取了元數(shù)據(jù)之后,在步驟810,推代理410接下來使用靜態(tài)頻道元數(shù)據(jù)處理推客戶包封。在步驟712,推代理410接下來處理內(nèi)容處理動態(tài)元數(shù)據(jù)612。接下來,推代理410在步驟714傳送推客戶包封614。
同樣,推客戶510在步驟720提取內(nèi)容處理元數(shù)據(jù)622。然后,推客戶510在步驟810使用與內(nèi)容包封620內(nèi)的內(nèi)容有關(guān)的頻道元數(shù)據(jù)。然后,在步驟722,推客戶510使用內(nèi)容處理元數(shù)據(jù)622中的動態(tài)內(nèi)容元數(shù)據(jù),此后,在步驟724,推客戶510把內(nèi)容包封620傳送到客戶應(yīng)用程序150。
在步驟730,客戶應(yīng)用程序150首先提取內(nèi)容處理元數(shù)據(jù)630。然后,在步驟830,使用內(nèi)容有效載荷632上的頻道元數(shù)據(jù)。然后,在步驟732,客戶應(yīng)用程序150使用內(nèi)容有效載荷632上的內(nèi)容處理元數(shù)據(jù)630。
本領(lǐng)域技術(shù)人員可以理解,上述模型對應(yīng)用于頻道的靜態(tài)元數(shù)據(jù)和與被發(fā)送的特定內(nèi)容關(guān)聯(lián)的動態(tài)元數(shù)據(jù)都是允許的。
現(xiàn)在參考圖9。如從圖5所理解的,推客戶510可以服務(wù)于移動設(shè)備上的多個目標應(yīng)用程序512。在應(yīng)用程序能夠向動態(tài)內(nèi)容傳送框架登記而不中斷其它應(yīng)用程序的業(yè)務(wù)的情況下,需要一種有效的運行登記機制。
參考圖9,推客戶510包括三個應(yīng)用程序,具體地講,已經(jīng)向推客戶登記的應(yīng)用程序910,912和914??梢岳斫猓糜谛略O(shè)備允許各種類型的應(yīng)用程序安裝在該設(shè)備上,模型中的插頭很重要。另外,可以動態(tài)地安裝應(yīng)用程序,導致應(yīng)用程序變?yōu)閼?yīng)用平臺。由于該設(shè)備可以作為應(yīng)用平臺,它必須能夠動態(tài)地整合新應(yīng)用程序。
從圖9中可以看到,應(yīng)用程序916想登記到推客戶510。應(yīng)用程序916包括應(yīng)用程序清單918,在優(yōu)選實施例中,應(yīng)用程序清單918提供應(yīng)用程序的頻道元數(shù)據(jù)。具體地講,應(yīng)用程序清單918向推客戶510提供信息,最終向來自圖1的推代理410和內(nèi)容提供商110提供應(yīng)用程序的靜態(tài)元數(shù)據(jù)。這包括應(yīng)用程序期待什么類型的內(nèi)容,如何傳送該內(nèi)容,應(yīng)用程序是否需要通知,但不限于此,可以是對本領(lǐng)域技術(shù)人員顯而易見的、與本系統(tǒng)和方法有關(guān)的其它信息。
因此,應(yīng)用程序916向推客戶510登記,提供應(yīng)用程序清單918,以便建立到服務(wù)應(yīng)用程序916的內(nèi)容提供商的頻道。
參考圖10,另一種模型是針對圖2的架構(gòu)220描述的模型。具體地講,在圖10的模型中,客戶應(yīng)用程序150與推客戶140成對。每對客戶應(yīng)用程序150/推客戶140與推容器1010協(xié)作。
當應(yīng)用程序1020希望向推容器1010登記時,由推容器1010生成客戶140,如果已經(jīng)存在,則使用該應(yīng)用程序。另外,在登記中,應(yīng)用程序1020把應(yīng)用程序清單1030提供給推容器1010,從而提供應(yīng)用程序1020的頻道元數(shù)據(jù)(靜態(tài)元數(shù)據(jù))。
圖11示出了圖10的另一種圖示。具體地講,推容器1110管理/維護推客戶池。當應(yīng)用程序向該容器登記時,應(yīng)用程序獲得專用的推客戶510,在簡單情況下,可以用一對插槽收聽器1130內(nèi)容句柄表示推容器。當應(yīng)用程序從容器(和內(nèi)容傳送服務(wù))解除登記和被從設(shè)備刪除時,推客戶返回該池。
推容器1110包括用于通信的插槽。另外,推容器1110包括插槽收聽器1130和分配給特定插槽的內(nèi)容處理器1140。
如在圖11看到的,由在先登記的應(yīng)用程序150使用各種內(nèi)容處理器和插槽收聽器對。
當新應(yīng)用程序1150想向推容器1110登記時,向服務(wù)應(yīng)用程序1050分配新內(nèi)容處理器和插槽收聽器1120和1130。
上面提供了通用的推框架,其中能夠?qū)嵤┬碌目蛻魬?yīng)用程序150,并且新的客戶應(yīng)用程序能夠向推客戶510和推容器1010和1110登記,從而允許該設(shè)備變成能夠動態(tài)合并新應(yīng)用程序的應(yīng)用程序平臺。來自上面圖9和10的應(yīng)用程序清單的傳遞允許建立頻道元數(shù)據(jù),從而允許根據(jù)應(yīng)用程序的要求處理該內(nèi)容。
參考圖12,內(nèi)容提供商110同樣需要向推代理410登記。如在圖12看到的,推代理410包括單個內(nèi)容提供商,即1210,1212和1214。這三個內(nèi)容提供商總是向推代理410登記。內(nèi)容提供商1216希望向推代理410登記。
與向推客戶51登記時由應(yīng)用程序916提供的圖9所示的應(yīng)用程序清單類似,內(nèi)容提供商1216包括當內(nèi)容提供商1216登記時被傳遞到推代理410的服務(wù)清單。服務(wù)清單1218包括與內(nèi)容提供商將要提供的信息的類型有關(guān)的信息,間隔多長時間提供該信息,信息格式,對該服務(wù)有用的任何其它信息,和該服務(wù)的廣告。也可以是其它信息。
因此,推代理410使用服務(wù)清單1218建立用于內(nèi)容提供商1216的頻道(靜態(tài))元數(shù)據(jù)。
參考圖13,由圖2的架構(gòu)230表示的另一個實施例是使推容器具有許多成對的推代理122和內(nèi)容提供商110。對于圖12,各種應(yīng)用程序已經(jīng)向推容器1310登記,在圖12的實例中,應(yīng)用程序1312,1314和1316已經(jīng)分別向推代理1313,1315和1317登記。
新應(yīng)用程序1320想向推容器1310登記,于是,推容器1310生成新代理(未示出),或使用與內(nèi)容提供商關(guān)聯(lián)的已有代理(未示出)。另外,內(nèi)容提供商1320提供描述內(nèi)容提供商將要提供的內(nèi)容的服務(wù)清單1322,從而允許建立頻道元數(shù)據(jù)。
本領(lǐng)域技術(shù)人員可以理解,圖9和10的實施例示出推客戶的兩個選項,或具有共享的應(yīng)用程序,或具有每個應(yīng)用程序的推客戶。本領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)其它實施例。同樣,對于圖12和13,示出了登記了多個內(nèi)容提供商的推代理,或示出了每個內(nèi)容提供商的專用的,并嵌入推容器中的推代理。
參考圖14,示出了內(nèi)容提供商110和客戶應(yīng)用程序150之間收發(fā)消息。內(nèi)容提供商110向推代理410提供登記消息。該消息能夠包括可用于向推代理410提供頻道元數(shù)據(jù)的服務(wù)清單。這是在步驟1410進行的。
內(nèi)容提供商110可以在后續(xù)消息中同樣地或交替地提供頻道元數(shù)據(jù),如步驟1412所示。
然后,推代理410在步驟1414向可使用服務(wù)的列表(服務(wù)目錄)添加服務(wù)。
圖14的實例中的一個任選步驟是推代理410在步驟1416中向推客戶510通知新的可使用服務(wù),在步驟1418,該通知可以傳播到客戶應(yīng)用程序110。
本領(lǐng)域技術(shù)人員可以理解,步驟1416和1418是任選的,其它替換包括從推代理410定期地拉服務(wù)目錄,以觀看新服務(wù)的客戶應(yīng)用程序150。
當客戶應(yīng)用程序150的用戶或服務(wù)提供商決定客戶應(yīng)用程序應(yīng)該訂閱服務(wù)時,它在步驟1420發(fā)送訂閱消息。在步驟1422,該訂閱進一步被傳遞到推代理410。
一旦推代理410在步驟1422接收到該訂閱消息,可以使用兩個選項。第一個選項是向內(nèi)容提供商110發(fā)送訂閱的消息,然后在步驟1426接收包括元數(shù)據(jù)背部的消息包封。元數(shù)據(jù)可以是設(shè)備或設(shè)備類型細節(jié)。
作為替換,推代理1422可以在步驟1422接收訂閱消息,和根據(jù)內(nèi)容提供商110已經(jīng)提供的、并且存儲在推代理410上的信息,在步驟1430立即向推客戶510做出答復。該答復在步驟1532傳播到客戶應(yīng)用程序150。可以理解,該答復可以包括內(nèi)容提供商110的頻道元數(shù)據(jù)細節(jié)。
模型中的區(qū)別取決于誰正在定制用于該應(yīng)用程序的數(shù)據(jù)??梢岳斫?,與其它處理元素相比,內(nèi)容提供商110提供最好的內(nèi)容定制。然而,服務(wù)提高商120也可以通過推代理410提供內(nèi)容的定制。
另外,可以理解,內(nèi)容的結(jié)構(gòu)可以取決于應(yīng)用程序要求的數(shù)據(jù)。例如,在金融應(yīng)用中,應(yīng)用程序可以想要證券報價和貨幣兌換率。可以使用下面的XML<FIN>
<quotes>
<quote ticker=ABC>
18.54</quote>
<quote ticker=XYZ>
123.45</quote>
</quote>
<rates>
<rate.id=“US-CAN”>
1.15</rate>
<rate.id=“US-EURO”>
0.85</rate>
</rate>
</FIN>
如果用戶只想要報價,而不要貨幣兌換率,該結(jié)構(gòu)可以改變?yōu)?amp;lt;FIN>
<quote ticker=ABC>
18.54</quote>
<quote ticker=XYZ>
123.45</quote>
</FIN>
元數(shù)據(jù)可以向應(yīng)用程序提供7有關(guān)正在被傳遞的數(shù)據(jù)的結(jié)構(gòu)的信息。
因此存在兩種模型。可以在登記期間和之后把靜態(tài)元數(shù)據(jù)提供給推代理410和推客戶510。作為替換,可以預先規(guī)定推代理410和推客戶510的元數(shù)據(jù),即,把信息存儲在推客戶或推代理處,直到應(yīng)用程序向客戶登記。
現(xiàn)在參考圖15。圖15示出了應(yīng)用程序向推客戶510登記時進行的邏輯步驟。
一旦應(yīng)用程序向推客戶510登記,第一步驟1510是使登記的應(yīng)用程序與該應(yīng)用程序要求的內(nèi)容類型匹配。這可以從如圖9所示的應(yīng)用程序清單中了解。
第二步驟1520是建立應(yīng)用程序的環(huán)境。這些環(huán)境包括存儲和傳送用于該應(yīng)用程序的選項,但不限于此。例如,一個應(yīng)用程序可以限制對預定量數(shù)據(jù)的傳輸。在流控制事件,或者應(yīng)用程序或客戶在聯(lián)系范圍之外時,推客戶510可以要求對應(yīng)用程序進行數(shù)據(jù)緩存,并且任選地通知該應(yīng)用程序數(shù)據(jù)正在等待。
第三步驟1530是向推代理410通知應(yīng)用程序的設(shè)置。這包括例如可供應(yīng)用程序或推客戶510使用的存儲裝置??梢岳斫?,推代理410不應(yīng)該推比推客戶510能夠存儲的更多的數(shù)據(jù)。因此,應(yīng)用程序設(shè)置可以包括被傳遞的數(shù)據(jù)的上限。參考圖4和5,如果內(nèi)容比應(yīng)用程序能夠處理的大,將調(diào)用內(nèi)容分段模塊464對內(nèi)容進行分段。另外,如果該數(shù)據(jù)是非線性的,可以要求內(nèi)容從屬模塊生成用于圖5的內(nèi)容從屬模塊564的元數(shù)據(jù),以便允許內(nèi)容從屬模塊564重構(gòu)該數(shù)據(jù)。
參考圖15,步驟1530也能夠指示對數(shù)據(jù)傳送的優(yōu)先選擇。例如,應(yīng)用程序可以相對于其它類型的數(shù)據(jù)優(yōu)先選擇某種類型的數(shù)據(jù),可以向這些類型的數(shù)據(jù)給予優(yōu)先權(quán)。因此,在立即傳送“A”類數(shù)據(jù),而在稍后傳送“B”類數(shù)據(jù)的情況下,可以使用步驟1530建立傳送調(diào)度。
現(xiàn)在參考圖16,當內(nèi)容提供商110向推代理410登記時,執(zhí)行各種步驟。第一步驟1610包括為內(nèi)容存儲和傳送分子所需的客戶設(shè)置。例如,可以針對服務(wù)廣告使用該步驟,以便對能夠消費內(nèi)容的設(shè)備從內(nèi)容提供商110中識別推客戶510。
第二步驟1620允許推代理410建立包括推存儲,傳送選項,變換選項,和其它方面的環(huán)境。
在步驟1630,推代理410能夠檢驗該應(yīng)用程序是否已經(jīng)被登記,以便從內(nèi)容提供商110獲得內(nèi)容。如果是這種情況,應(yīng)用程序準備接收內(nèi)容,并且能夠從推代理410向內(nèi)容提供商110發(fā)送建立傳送頻道以及該應(yīng)用程序是為內(nèi)容而準備的通知。
例如,如果應(yīng)用程序是在內(nèi)容提供商110在線之前南北預安裝在設(shè)備上的,則能夠進行步驟1630。因此,應(yīng)用程序正在等待內(nèi)容提供商110變?yōu)榭晒┦褂?,或者該?yīng)用程序為通用類型(例如,瀏覽器或RSS閱讀器),并且能夠消費來自多個內(nèi)容提供商的信息。在另一種設(shè)置中,如果在安裝該應(yīng)用程序之前內(nèi)容提供商110已經(jīng)可供使用,則能夠使用圖15中的通知步驟1530初始該內(nèi)容啟動從內(nèi)容提供商110向客戶應(yīng)用程序150流動。
參考圖16,可以理解,客戶設(shè)置可以包括諸如可供用于內(nèi)容分割的存儲裝置的大小,用于流控制的隊列規(guī)模,包括推間隔的傳送調(diào)度,客戶是否正在檢索來自代理的信息,生成偽推模式之類的特定信息,諸如移動設(shè)備的屏幕尺寸之類的優(yōu)化選項,等等。
還可以理解,對于不同客戶,服務(wù)目錄是不同的。例如,某些客戶能夠使用更多數(shù)據(jù),具有不同的屏幕尺寸,或使客戶比不能處理這樣的信息量的設(shè)備更適合內(nèi)容提供商110的其它條件,具有更小的屏幕尺寸,等等。因此,推代理410能夠根據(jù)對這些客戶應(yīng)用程序的了解,為指定的客戶應(yīng)用程序生成服務(wù)目錄,只有安裝了客戶應(yīng)用程序150的那些設(shè)備能夠接收與內(nèi)容提供商有關(guān)的信息。
同樣可以理解的是,在某些情況下,可以根據(jù)服務(wù)提供商和內(nèi)容提供商來安裝該應(yīng)用程序,而沒有用戶的干涉。例如,如果內(nèi)容提供商110向推代理410登記,移動設(shè)備的用戶可以具有接受特定應(yīng)用程序的合同義務(wù)。因此,推代理410能夠通知推客戶510他已經(jīng)安裝了應(yīng)用程序,并且把該應(yīng)用程序推到推客戶510。例如,這樣能夠包括已經(jīng)同意每月接收特定數(shù)量的廣告,以便在他們的移動計劃上得到優(yōu)先價格的用戶。內(nèi)容提供商110可以是廣告提供商,因此推代理410可以向推客戶510推廣告顯示應(yīng)用程序,可以由登記到推客戶410的應(yīng)用程序安裝器來為廣告顯示應(yīng)用程序服務(wù),從而使內(nèi)容提供商110和服務(wù)提供商120完整地驅(qū)動該進程。
因此,上面的描述提供了在推框架中的插入登記模型,其中每個應(yīng)用程序或內(nèi)容提供商分別登記和提供應(yīng)用程序清單和服務(wù)清單。應(yīng)用程序清單和服務(wù)清單用于在登記期間或此后在推代理410和推客戶510建立頻道元數(shù)據(jù)。此后,當應(yīng)用程序150登記并且內(nèi)容提供商110登記時,內(nèi)容可以開始在應(yīng)用程序150和內(nèi)容提供商110之間流動。
參考圖4和5,頻道元數(shù)據(jù)被存儲在頻道元數(shù)據(jù)儲存庫470和570中。然而,如果動態(tài)元數(shù)據(jù)是重復的,在架構(gòu)100內(nèi)的各種處理元素上存儲動態(tài)元數(shù)據(jù)也是有利的??梢岳斫?,由于當前的元數(shù)據(jù)提取器450不需要一次又一次地提取相同的元數(shù)據(jù),這樣能夠節(jié)省對推代理410的處理。另外,不需要針對傳遞的內(nèi)容的每個部分更新由諸如內(nèi)容期滿和替換模塊466或566之類的各種模塊進行的處理。由于推代理410能夠與大量的推客戶510一起工作,為每個內(nèi)容消息節(jié)省的處理是明顯的。另外,由于不通過內(nèi)容提供商110和推代理410之間的固定線路,或不通過推代理410和推客戶510之間的空中線路來傳遞元數(shù)據(jù),因此節(jié)省了帶寬。
現(xiàn)在參考圖17。圖17示出了由處理元素存儲你的最后元數(shù)據(jù)版本的情況下運行流的實例。
在圖17中可以看到,內(nèi)容提供商110提供包括內(nèi)容[C1+M(p,c,a)1]的內(nèi)容包封。這意味著第一內(nèi)容優(yōu)先載荷正在與包括代理元數(shù)據(jù),客戶元數(shù)據(jù)和應(yīng)用程序元數(shù)據(jù)的元數(shù)據(jù)一起被發(fā)送。該發(fā)送在步驟1710進行。
在步驟1712,推代理410使用如短語“use M(p)1”所示的代理元數(shù)據(jù)。另外,在步驟1714,添加由包括客戶元數(shù)據(jù)和應(yīng)用程序元數(shù)據(jù)的元數(shù)據(jù)被傳遞到推客戶510。
在步驟1716,推客戶510使用客戶元數(shù)據(jù),在步驟1718,將內(nèi)容有效載荷傳遞到客戶應(yīng)用程序150。在步驟1720,客戶應(yīng)用程序150使用應(yīng)用程序元數(shù)據(jù),并消費內(nèi)容有效載荷。
如在步驟1722看到的,由C2指定的第二內(nèi)容有效載荷與第一內(nèi)容有效載荷具有相同的元數(shù)據(jù)。用于每個處理元素,即,推代理410,推客戶510和客戶應(yīng)用程序150為內(nèi)容提供商110緩存該元數(shù)據(jù),不需要再次傳遞該元數(shù)據(jù),而是已經(jīng)駐留在處理元素。
此后,在步驟1724,推代理410使用預先為推代理410緩存的元數(shù)據(jù)。同樣,在步驟1726和1728,推客戶510使用客戶元數(shù)據(jù),客戶應(yīng)用程序510使用應(yīng)用程序元數(shù)據(jù)。在步驟1725和1727,傳遞內(nèi)容,而不傳遞元數(shù)據(jù)。
如在步驟1740中所示,內(nèi)容可以具有用于推客戶510和客戶應(yīng)用程序150的新元數(shù)據(jù),但可以保留用于推代理410的舊的元數(shù)據(jù)。這種情況下,在步驟1740傳遞的元數(shù)據(jù)只包括客戶元數(shù)據(jù)和應(yīng)用程序元數(shù)據(jù)。在步驟1742,推代理410使用緩存的代理元數(shù)據(jù),并在步驟1744把內(nèi)容有效載荷與新的客戶元數(shù)據(jù)和應(yīng)用程序元數(shù)據(jù)一起傳遞。
在步驟1746,推客戶510使用傳遞到此的新客戶元數(shù)據(jù),并在步驟1748進一步傳遞內(nèi)容有效載荷和應(yīng)用程序元數(shù)據(jù)。
在步驟1750,客戶應(yīng)用程序使用新的應(yīng)用程序元數(shù)據(jù),并消費內(nèi)容有效載荷。
本領(lǐng)域技術(shù)人員可以理解,可以存在與元數(shù)據(jù)已經(jīng)改變和元數(shù)據(jù)保留不變有關(guān)的各種配置,只要將已經(jīng)改變的元數(shù)據(jù)傳遞到需要它的處理元素。本領(lǐng)域技術(shù)人員可以理解,如果未接收到新的元數(shù)據(jù),處理元素回到已經(jīng)存儲的緩存元數(shù)據(jù),并對內(nèi)容有效載荷使用該緩存元數(shù)據(jù)。
在另一個替換實施例中,可以對元數(shù)據(jù)進行增加改變。例如,在步驟1760,可以將新內(nèi)容有效載荷與delta元數(shù)據(jù)版本一起傳遞到服務(wù)代理410。代理元數(shù)據(jù)的delta可以包括在先傳遞的代理元數(shù)據(jù)和該內(nèi)容應(yīng)該被處理論的當前元數(shù)據(jù)之間的差值。推代理410通過在步驟1762將在先元數(shù)據(jù)與delta相加,并用其處理內(nèi)容有效載荷來構(gòu)成元數(shù)據(jù)。此后,由于再沒有改變,在步驟1764通過自身發(fā)送內(nèi)容有效載荷,在步驟1766,推客戶510使用在先緩存的客戶元數(shù)據(jù)。
然后,在步驟1768,推客戶把內(nèi)容有效載荷傳遞到客戶應(yīng)用程序150,客戶應(yīng)用程序150在步驟1770對內(nèi)容有效載荷使用在先緩存的位置元數(shù)據(jù),然后消費該內(nèi)容有效載荷。
可以使用增加數(shù)據(jù)的實例是這樣一種狀況,其中內(nèi)容提供商告訴代理應(yīng)該提取內(nèi)容有效載荷內(nèi)現(xiàn)有的30字段發(fā)送到客戶應(yīng)用程序150。在后續(xù)處理中,可以認為對該部分內(nèi)容有效載荷重要的兩個附加字段需要由內(nèi)容提供商110傳遞到客戶應(yīng)用程序150。因此,內(nèi)容提供商能夠使用在增加改變告訴代理提取兩個附加的字段,并把它們添加到在先提取的30個字段。通過只傳遞delta,即兩個添加的字段,減少了在推代理410提取元數(shù)據(jù)的處理世界,從而優(yōu)化了該過程。
可以理解,元數(shù)據(jù)可以是各種形式??梢允怯弥T如本機碼,和諸如Java或C#之類的解釋碼來編譯。元數(shù)據(jù)也可以是數(shù)據(jù)/指示使用某些特性的特性文件。在另一個實施例中,可以二進制內(nèi)容,例如,諸如對XML文件的XSLT變換之類的變換。
上面的描述可以用于各種應(yīng)用程序,以便為傳送到指定客戶應(yīng)用程序的內(nèi)容提供智能。也可以為只根據(jù)他們提供元數(shù)據(jù)就能夠為各種應(yīng)用程序提供內(nèi)容的豐富的內(nèi)容提供商提供其數(shù)據(jù)??梢砸詧D8中的實例為例進行說明。
內(nèi)容提供商110可以是例如在線圖書銷售商。應(yīng)用程序可以向在線圖書銷售商登記,以向圖書銷售商指示向其通知新發(fā)行的指定類別的圖書。這可以在每天、或每周,每月的基礎(chǔ)上進行。
內(nèi)容提供商110例如在每周的基礎(chǔ)上向推代理410發(fā)送帶有圖書目錄的1812的內(nèi)容包封。也可以發(fā)送變換元數(shù)據(jù)1814,例如可以是根據(jù)接收它的應(yīng)用程序變換指定內(nèi)容的URL鏈路。
在一個實施例中,圖書目錄1812可以包括多種圖書,包括圖書的作者和大綱的每本圖書的說明。文件的大小可以是例如100KB。
推代理410可以接收這種大文件,并且可以根據(jù)被服務(wù)的客戶應(yīng)用程序來了解需要對大的內(nèi)容文件進行變換,以便更好地適應(yīng)可能只能接收例如10K字節(jié)消息的客戶。因此,可以對圖書目錄應(yīng)用作為代理元數(shù)據(jù)傳遞的變換,以便將圖書目錄減小到10KB的修改文件1820。這可以通過例如去除大綱,對圖書排序并且只包括最前的50本,或其它變換來進行,這些變換對本領(lǐng)域技術(shù)人員來說是顯而易見的。
一旦結(jié)束了變換,將修改的文件1820發(fā)送到推客戶510。
另外,如圖4所示,能夠使用延緩檢索消息存儲裝置452來存儲在變換過程中剝離的額外內(nèi)容。
上述方式的優(yōu)點在于圖書銷售商可以具有一個網(wǎng)址并向其所有客戶發(fā)送一個目錄。由于并不是所有客戶都是移動無線客戶,100KB的文件可以適合于這些客戶。還是通過提供變換元數(shù)據(jù),圖書銷售商可以具有一個向每個人發(fā)送的目錄。本領(lǐng)域技術(shù)人員可以理解,目前的大部分web(網(wǎng)絡(luò))技術(shù)對移動客戶要求分開的網(wǎng)址,這可以通過上述方案來解決。
上面的描述還適合于聯(lián)合組織模型,參考圖19對此進行說明。
本領(lǐng)域技術(shù)人員可以理解,當網(wǎng)絡(luò)條件對接收大量數(shù)據(jù)不理想時,移動設(shè)備可能不希望接收大量數(shù)據(jù)。另外,網(wǎng)絡(luò)操作者可能希望避免在帶寬使用高峰期間發(fā)送大量數(shù)據(jù),以便在時間上更平均地分散網(wǎng)絡(luò)業(yè)務(wù)量。利用圖19所示的推/拉模型可以實行該目的。
如上面參考圖4所示,可以提供包括比用戶當前需要的更多信息的內(nèi)容。例如,如果用戶請求有關(guān)其所在區(qū)域內(nèi)的餐廳的位置信息,服務(wù)提供商可能希望增加該區(qū)域可提供的諸如其它服務(wù)之類的廣告。然而,服務(wù)提供商可能不希望立即向該用戶推該附加內(nèi)容,而是提供諸如標題或給出附加內(nèi)容的內(nèi)容表之類的簡介。
在其它情況下,內(nèi)容可能太大以致不能被發(fā)送到用戶,該用戶可以只接收內(nèi)容的第一部分,而將內(nèi)容的剩余部分存儲在延緩檢索消息存儲裝置452中。
此后,或通過推代理410或在請求我的推客戶510時,可以將存儲的內(nèi)容傳遞給推客戶510。
推客戶510包括能夠監(jiān)視網(wǎng)絡(luò)狀態(tài)的網(wǎng)絡(luò)狀態(tài)監(jiān)視器1910。推客戶510可能希望只在某些條件下接收額外數(shù)據(jù)。例如,在具有WiFi和蜂窩選項的混合移動設(shè)備上,在WiFi連接上提供數(shù)據(jù)更便宜,因此網(wǎng)絡(luò)狀態(tài)監(jiān)視器1910可以等待,直到推客戶510在得到延緩的內(nèi)容前被連接到WiFi網(wǎng)絡(luò)。作為替換,網(wǎng)絡(luò)狀態(tài)監(jiān)視器可以檢查是在外網(wǎng)中漫游,還是連接到本地網(wǎng),以使漫游費最少。網(wǎng)絡(luò)狀態(tài)監(jiān)視器還可以檢驗是否為該設(shè)備建立了專用數(shù)據(jù)頻道。本領(lǐng)域技術(shù)人員可以實現(xiàn)使網(wǎng)絡(luò)狀態(tài)監(jiān)視器1910在請求延緩的數(shù)據(jù)被傳遞到推客戶510之前檢驗網(wǎng)絡(luò)中的各種其它前提。
無線網(wǎng)絡(luò)130也可以向推客戶510或推代理410,或者二者提供有關(guān)數(shù)據(jù)傳送費用的信息。本領(lǐng)域技術(shù)人員可以理解針對內(nèi)容傳送的各種高峰時段。在業(yè)務(wù)信息的情況下,高峰時段可能在人們開始和離開工作時的工作日的開始和結(jié)束時。對于證券報價,高峰時段可能在市場開盤的時間期間,其它高峰時段也是存在的。為了使數(shù)據(jù)業(yè)務(wù)量平均,希望網(wǎng)絡(luò)根據(jù)網(wǎng)絡(luò)中當前的數(shù)據(jù)使用狀況收取不同的費率。因此,在高峰時段期間可以比諸如午夜之類的非高峰時段收取更高的費用。因此,無線網(wǎng)絡(luò)130向延緩檢索管理器552提供有關(guān)推客戶510的傳送費用通知,和向推調(diào)度器454提供有關(guān)推代理410的傳送費用通知。
在一個實施例中,可以根據(jù)其對客戶的重要性對來自內(nèi)容提供商110并被傳遞到推代理410的數(shù)據(jù)進行排序??梢灾付⒓赐ㄟ^元數(shù)據(jù)傳送某些信息??梢灾付ㄆ渌畔⒃诰W(wǎng)絡(luò)費用比第一值(例如每兆字節(jié)10分)低時被傳送,可以指定其它數(shù)據(jù)在網(wǎng)絡(luò)費用比第二值(例如每兆字節(jié)5分)低時被傳送。因此,推調(diào)度器454考慮存儲在延緩檢索管理存儲裝置452中的數(shù)據(jù),命令推代理商444把延緩的數(shù)據(jù)傳遞到推客戶510上的推代理商544。
作為替換,延緩檢索管理器552可以監(jiān)視從無線網(wǎng)絡(luò)130發(fā)送時的網(wǎng)絡(luò)條件,如果數(shù)據(jù)速率低于某個速率,可以請求內(nèi)容拉代理方554從延緩檢索管理存儲裝置452拉內(nèi)容。
作為替換,延緩檢索管理器552可以查看適合于拉大量數(shù)據(jù)的網(wǎng)絡(luò)狀態(tài),例如,如果移動設(shè)備已經(jīng)與WiFi網(wǎng)絡(luò)連接,并請求內(nèi)容拉代理方554從延緩檢索消息存儲裝置452拉數(shù)據(jù)。
可以理解,用戶可以一直請求具有拉的內(nèi)容。因此也可以使用用戶請求1940觸發(fā)內(nèi)容拉代理方554來從延緩檢索消息存儲裝置452拉數(shù)據(jù)。
推調(diào)度器454和延緩檢索管理器552中存儲的規(guī)則可以是基于內(nèi)容分類的靜態(tài)元數(shù)據(jù)。對于已經(jīng)傳遞的特定數(shù)據(jù),該規(guī)則可以以動態(tài)元數(shù)據(jù)為基礎(chǔ)。這種情況下,內(nèi)容提供商110已經(jīng)對數(shù)據(jù)分類。
現(xiàn)在參考圖20。本領(lǐng)域技術(shù)人員可以理解,數(shù)據(jù)可以是兩種形式之一,線性和非線性。線性數(shù)據(jù)可以是例如陣列和串,和以線性方式流動的內(nèi)容。相反,非線性數(shù)據(jù)不是彼此線性相關(guān)的數(shù)據(jù),可以包括具有內(nèi)容地圖或鏈路的復合從屬。
對于線性內(nèi)容,分段只涉及根據(jù)線性進程把數(shù)據(jù)分成各種成分。數(shù)據(jù)被分割成片段,并將片段傳送到推客戶410。如圖20所示,分段處理器2010與內(nèi)容2012交互,并決定能夠以線性進程解析該內(nèi)容。接下來,分段處理器2010把該數(shù)據(jù)分割成圖20的實例中的片段2014,2016和2018,并如圖20所示,傳遞第一片段2014,而分別延緩第二和第三片段2016和2018的傳遞。
指針管理模塊2030對已經(jīng)傳送的片段保持跟蹤,并按順序傳送下一個片段。
參考圖21,需要以更聰明的方式分割非線性內(nèi)容。另外,為了在另一端重構(gòu)這些片段,需要元數(shù)據(jù)。
分段處理器2110根據(jù)基于元數(shù)據(jù)的分析對內(nèi)容進行分析。這些分析包括,如果邏輯需要,將某些片段或數(shù)據(jù)元素保持在一起。分段處理器2110分析內(nèi)容2112,并根據(jù)邏輯規(guī)則把內(nèi)容分割成片段。每個片段包括內(nèi)容加元數(shù)據(jù),元數(shù)據(jù)包括例如從屬關(guān)系,地圖,和對每個片段的導航規(guī)則。
一旦被分割,將第一片段2114發(fā)送到推客戶510,如圖21所示延緩對片段2116和2118剩余部分的傳遞。片段導航模塊2130處理下一個要發(fā)送的片段。本領(lǐng)域技術(shù)人員可以理解,第一片段2114包括數(shù)據(jù)部分和元數(shù)據(jù)部分。片段2114的元數(shù)據(jù)部分是由分段處理器2110相加,以指示內(nèi)容從屬關(guān)系模塊564如何重構(gòu)該內(nèi)容的一層元數(shù)據(jù)。第一片段2114的數(shù)據(jù)部分可以包括內(nèi)容和與頻道或內(nèi)容關(guān)聯(lián)的元數(shù)據(jù)二者。
頻道導航模塊2130適合于處理用戶如何通過數(shù)據(jù)行進。例如,如果數(shù)據(jù)為樹狀格式,并且用戶下到樹的第一分支,片段導航模塊2130可以向推客戶410傳遞從用戶已經(jīng)導航到的元素能夠到達的樹中的其它分支。
例如,樹可以包括具有雇員姓名以及公司結(jié)構(gòu)的雇員數(shù)據(jù)庫。根據(jù)圖21,如果用戶導航到該組織的特定部門,片段導航模塊2130可以轉(zhuǎn)遞針對該部門內(nèi)分組的分組片段。如果用戶導航到該部門內(nèi)的特定分組,片段導航模塊2130可以傳遞有關(guān)該分組內(nèi)的雇員的信息分段。
因此,上面描述的過程需要將數(shù)據(jù)分割成邏輯成分。向所有類型和內(nèi)容分配標識符,生成傳遞該信息與基本說明的結(jié)構(gòu)信息。
因此,上面的描述提供了可以供通用系統(tǒng)使用的動態(tài)內(nèi)容傳送的架構(gòu),其中可以添加應(yīng)用程序和內(nèi)容,而不改變系統(tǒng)的結(jié)構(gòu)??梢詫υ搩?nèi)容進行剪裁以適合接收它的應(yīng)用程序,并可根據(jù)上面的描述分段。
可以理解,推客戶和客戶應(yīng)用程序可以駐留在任何移動設(shè)備上。下面參考圖21描述一個示例性的移動設(shè)備。但這是為了說明的目的,而不是對本發(fā)明的限制。
圖22示出了適用于供本申請的裝置和方法的優(yōu)先實施例使用的移動臺。移動臺2200最好是具有至少話音和數(shù)據(jù)通信能力的雙向無線通信設(shè)備。移動臺2200最好具有與因特網(wǎng)上的其它計算機系統(tǒng)通信的能力。根據(jù)提供的準確功能,作為例子,無線設(shè)備可以是指數(shù)據(jù)收發(fā)消息設(shè)備,雙向?qū)ず魴C,無線電子郵件設(shè)備,具有數(shù)據(jù)收發(fā)消息能力的蜂窩電話,無線因特網(wǎng)用具,或數(shù)據(jù)通信設(shè)備。
在移動臺2200能夠用于雙向通信的情況下,它將與包括接收機2212和發(fā)射機2214二者的通信子系統(tǒng)2211組合,以及與諸如最好是一個或多個嵌入或內(nèi)部天線元件2216和2218,本機振蕩器(LO)2213之類的關(guān)聯(lián)組件,和諸如數(shù)字信號處理器(DSP)2220之類的處理模塊組合,通信子系統(tǒng)2211的具體設(shè)計取決于設(shè)備要工作的通信網(wǎng)絡(luò)。
網(wǎng)絡(luò)接入要求也根據(jù)網(wǎng)絡(luò)2219的類型而改變。在某些CDMA網(wǎng)絡(luò)中,網(wǎng)絡(luò)接入與移動臺2200的訂戶或用戶關(guān)聯(lián)。CDMA移動臺可以需要可移動用戶的身份模塊(RUIM)或訂戶身份模塊(SIM)卡,以便在CDMA網(wǎng)絡(luò)上工作。SIM/RUIM接口2244通常與能夠插入和退出像磁盤和PCMCIA卡這樣的SIM/RUIM卡的卡槽類似。SIM/RUIM卡可以具有大約64K的存儲器,并保持許多密鑰配置2251,和諸如標識,和與信息有關(guān)的訂戶之類的其它消息2253。
在完成所需的網(wǎng)絡(luò)登記或現(xiàn)用過程時,移動臺2200可以通過網(wǎng)絡(luò)2219發(fā)送通信信號。如圖22所示,網(wǎng)絡(luò)2219可以包括與移動設(shè)備通信的多個基站。例如,在混合CDMA 1xEVDO系統(tǒng)中,CDMA基站和EVDO基站與移動臺通信,移動臺同時連接到二者。EVDO和CDMA 1x基站使用不同的尋呼時隙與移動設(shè)備通信。
天線2216通過通信網(wǎng)絡(luò)2219接收的信號被輸入到接收機,接收機可以執(zhí)行像信號放大,下變頻變換,濾波,頻道選擇等這樣的普通接收機的功能,在圖22所示的實例系統(tǒng)中,執(zhí)行模擬數(shù)字(A/D)轉(zhuǎn)換。接收信號的A/D轉(zhuǎn)換允許執(zhí)行更復雜的通信功能,例如在DSP2220中進行解調(diào)和解碼。以類似的方式,處理要發(fā)送的信號,包括由DSP2220進行例如調(diào)制和編碼,將信號輸入到發(fā)射機2214用于數(shù)字模擬轉(zhuǎn)換,上變頻變換,濾波,放大,和經(jīng)天線2218通過通信網(wǎng)絡(luò)發(fā)送。DSP2220不僅處理通信信號,而且向接收機和發(fā)射機提供控制。例如,可以通過在DSP2220中實施的自動增益控制算法,在接收機2212和發(fā)射機2214中自適應(yīng)地對通信信號施加增益。
移動臺2200優(yōu)選的是包括控制設(shè)備整個操作的微處理器2238。通過通信子系統(tǒng)2211執(zhí)行包括至少數(shù)據(jù)和話音通信的通信功能。微處理器2238可以與諸如顯示器2222,閃存2224,隨機存取存儲器(RAM)2226,輔助輸入/輸出(I/O)子系統(tǒng)2228,串口2230,兩個和多個鍵盤和小鍵盤2232,揚聲器2234,話筒2236之類的設(shè)備子系統(tǒng)交互,以及諸如短距通信子系統(tǒng)之類的其它通信子系統(tǒng)2240,和總體表示為2242的任何其它設(shè)備子系統(tǒng)交互。串口2230可以包括USB端口,或本領(lǐng)域已知的其它端口。
圖22示出的一些子系統(tǒng)執(zhí)行與通信有關(guān)的功能,而其它子系統(tǒng)可以提供“駐留”或在設(shè)備功能。應(yīng)該指出,諸如鍵盤2232和顯示器2222之類的一些子系統(tǒng)可以用于諸如為通過通信網(wǎng)絡(luò)傳送而輸入文本消息之類與通信有關(guān)的功能,和諸如計算器和任務(wù)表之類駐留設(shè)備的功能。
優(yōu)選的是,微處理器2238使用的操作系統(tǒng)軟件被存儲在諸如閃存2224之類的持久存儲器中,可以用只讀存儲器(ROM)和類似的存儲元件(未示出)代替。本領(lǐng)域技術(shù)人員可以理解,操作系統(tǒng),特定的設(shè)備應(yīng)用程序,或其一部分可以臨時裝載到諸如RAM2226之類的易失性存儲器中。接收的通信信號也可以存儲在RAM2226中。
如圖所示,閃存2224可以被分成用于計算機程序2258和用于程序數(shù)據(jù)存儲2250,2252,2254,和2256的不同區(qū)域。這些不同的存儲類型指示每個程序可以針對其自身的數(shù)據(jù)存儲需求被分配到閃存2224的一部分。除了其操作系統(tǒng)功能之外,優(yōu)選的是,微處理器2238能夠在移動臺上執(zhí)行軟件應(yīng)用程序??刂苹静僮鳎ɡ缰辽贁?shù)據(jù)和話音通信應(yīng)用的預定應(yīng)用程序組通常在制造期間被安裝在移動臺2200上。其它應(yīng)用程序可以隨后或動態(tài)安裝。
優(yōu)選的軟件應(yīng)用程序可以是具有組織和管理與移動臺的用戶有關(guān)的數(shù)據(jù)項目的能力個人消息管理器(PIM)應(yīng)用程序,例如電子郵件,日歷事件,語音郵件,約會,任務(wù)條目,但不限于此。顯然,可以在移動臺上使用一個或多個存儲裝置,以便于PIM數(shù)據(jù)條目的存儲。優(yōu)選的上,該PM應(yīng)用程序具有通過無線網(wǎng)絡(luò)2219發(fā)送和接收數(shù)據(jù)條目的能力。在優(yōu)選實施例中,利用存儲或與主計算機系統(tǒng)關(guān)聯(lián)的移動臺用戶的對應(yīng)數(shù)據(jù),能夠通過無線網(wǎng)絡(luò)2219來無縫地整合,同步,和更新PIM數(shù)據(jù)條目??梢酝ㄟ^網(wǎng)絡(luò),輔助I/O子系統(tǒng)2228,串口2230,短距通信子系統(tǒng)2240或任何其它適合的子系統(tǒng)2242將其它應(yīng)用程序裝載到移動臺2200,并由用戶安裝到RAM2226中,或優(yōu)選的是非易失性存儲裝置(未示出),以便由微處理器2238執(zhí)行。應(yīng)用程序安裝的靈活性提高了設(shè)備的功能性,并且可以提供增強的在設(shè)備功能,與通信有關(guān)的功能,或二者。例如,確保通信應(yīng)用程序能夠啟動電子商業(yè)功能,和使用移動臺2200進行的其它金融交易。
在數(shù)據(jù)通信模式中,由通信子系統(tǒng)2211處理諸如文本消息和下載的網(wǎng)頁之類的接收信號,并輸入到微處理器2238,微處理器2238進一步處理接收的信號以輸出到顯示器,或輔助I/O設(shè)備2228。可以等同于推客戶140和510的推客戶2260也可以處理該輸入。
移動臺2200的用戶也可以與顯示器2222,和可能的輔助I/O設(shè)備2228結(jié)合構(gòu)成諸如電子郵件消息之類的數(shù)據(jù)條目,例如,使用鍵盤2232,優(yōu)選的是完整的字母數(shù)字鍵盤和電話類小鍵盤。然后,可以通過通信子系統(tǒng)2211經(jīng)通信網(wǎng)絡(luò)來發(fā)送構(gòu)成的條目。
對于話音通信,移動臺2200的整體操作是類似的,除了將接收的信號優(yōu)選的是輸出到揚聲器2234,和由話筒2236產(chǎn)生發(fā)送的信號。也可以在移動臺2200上實施其它話音或音頻I/O子系統(tǒng),例如話音消息記錄子系統(tǒng)。雖然優(yōu)選的是主要通過揚聲器2234實現(xiàn)話音或音頻信號輸出,也可以使用顯示器2222提供例如呼叫方的身份指示,話音呼叫持續(xù)時間,或與話音呼叫有關(guān)的其它信息。
圖22中的串口2230通常由個人數(shù)字助理(PDA)型的移動臺來實施,該移動臺與用戶的臺式計算機(未示出)同步,但它是一個任選的設(shè)備組件。該端口2230能使用戶通過外部設(shè)備或軟件應(yīng)用程序設(shè)置,并且除無線通信網(wǎng)絡(luò)外通過提供信息和向移動臺2200進行軟件下載來擴展移動臺2200的能力??梢允褂闷渌南螺d途徑,例如通過直接和因此得到的可靠和信任的連接把加密密鑰裝載到該設(shè)備,從而能夠確保設(shè)備通信。本領(lǐng)域技術(shù)人員可以理解,串口2230也可以用于作為把移動臺連接到計算機的調(diào)制解調(diào)器。
諸如短距通信子系統(tǒng)之類的其它通信子系統(tǒng)2240是可以在移動臺2200和不同系統(tǒng)或設(shè)備之間提供通信的其它任選組件,這些設(shè)備不必是類似的設(shè)備。例如,子系統(tǒng)2240可以包括紅外設(shè)備,有關(guān)電路,和組件,和向類似的啟動系統(tǒng)和設(shè)備提供通信的藍牙TM通信模塊。
在此描述了具有與本申請的技術(shù)元素對應(yīng)的元素的結(jié)構(gòu),系統(tǒng)或方法的實例。所給出的描述可以使本領(lǐng)域技術(shù)人員做出和使用具有與本申請的技術(shù)元素對應(yīng)的替換元素的實施例。本申請的技術(shù)范圍包括與在此描述的本申請的技術(shù)不同的其它結(jié)構(gòu),系統(tǒng)或方法,并進一步包括與在此描述的本申請沒有實質(zhì)區(qū)別的其它結(jié)構(gòu),系統(tǒng)或方法。
權(quán)利要求
1.一種動態(tài)聯(lián)合內(nèi)容傳送系統(tǒng),包括推代理,所述推代理具有延緩檢索消息存儲模塊,所述延緩檢索消息存儲模塊用于存儲將來傳送的延緩內(nèi)容;推代理商,所述推代理商用于推內(nèi)容;和推調(diào)度器,所述推調(diào)度器用于與所述推代理商通信,以便調(diào)度內(nèi)容的推,并進一步用于監(jiān)視無線網(wǎng)絡(luò)的網(wǎng)絡(luò)條件;推客戶,所述推客戶具有客戶推代理商,所述客戶推代理商用于與推代理的推代理商通信;內(nèi)容拉代理方,所述內(nèi)容拉代理方用于與推代理的延緩檢索消息存儲模塊通信;延緩檢索管理器,所述延緩檢索管理器用于與所述內(nèi)容拉代理方和所述客戶推代理商通信,以拉內(nèi)容,所述延緩檢索管理器還用于監(jiān)視網(wǎng)絡(luò),如果所述網(wǎng)絡(luò)條件有利于接收所述延緩內(nèi)容,則指令所述內(nèi)容拉代理方拉所述內(nèi)容;網(wǎng)絡(luò)狀態(tài)監(jiān)視器,用于監(jiān)視網(wǎng)絡(luò)狀態(tài);和無線網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述網(wǎng)絡(luò)條件包括傳送的價格。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述延緩數(shù)據(jù)包括指示可接受的傳送價格的元數(shù)據(jù),其中如果所述傳送價格低于所述可接受的傳送價格,所述網(wǎng)絡(luò)條件則是有利的。
4.根據(jù)權(quán)利要求1至3中的任何一項所述的系統(tǒng),其中所述網(wǎng)絡(luò)狀態(tài)監(jiān)視器用于監(jiān)視推客戶的網(wǎng)絡(luò)連接。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述網(wǎng)絡(luò)狀態(tài)包括推客戶是否連接到寬帶數(shù)據(jù)連接。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中從由WiFi連接,WiMAX連接,3G連接和4G連接組成的組中選擇寬帶數(shù)據(jù)連接。
7.根據(jù)權(quán)利要求1至6中的任何一項所述的系統(tǒng),其中所述延緩檢索管理器還用于從用戶處接受檢索延緩內(nèi)容的命令。
8.一種在存在更有利的網(wǎng)絡(luò)條件之前,延遲從推代理向推客戶的內(nèi)容傳送的方法,所述方法包括步驟在推代理存儲將來傳送的延緩內(nèi)容;在所述推代理監(jiān)視無線網(wǎng)絡(luò),以確定條件是否有利于傳送;和當條件有利于所述傳送時,傳送所述延緩內(nèi)容。
9.根據(jù)權(quán)利要求8所述的方法,其中所述條件包括傳送的價格。
10.根據(jù)權(quán)利要求9所述的方法,其中所述延緩內(nèi)容包括指示可接受的傳送價格的元數(shù)據(jù),其中如果所述傳送價格低于所述可接受的傳送價格,所述條件則是有利的。
11.一種由推客戶從推代理檢索內(nèi)容的方法,在網(wǎng)絡(luò)條件更有利于傳送之前,延緩所述內(nèi)容,所述方法包括步驟監(jiān)視無線網(wǎng)絡(luò),以確定條件是否有利于檢索所述延緩內(nèi)容;當所述網(wǎng)絡(luò)條件有利時,向所述推客戶拉所述延緩內(nèi)容。
12.根據(jù)權(quán)利要求11所述的方法,其中所述網(wǎng)絡(luò)條件包括傳送價格。
13.根據(jù)權(quán)利要求12所述的方法,其中所述延緩數(shù)據(jù)包括指示可接受的傳送價格的元數(shù)據(jù),其中如果所述傳送價格低于所述可接受的傳送價格,所述網(wǎng)絡(luò)條件則是有利的。
14.根據(jù)權(quán)利要求11至13中的任何一項所述的方法,進一步包括監(jiān)視推客戶的網(wǎng)絡(luò)條件的步驟。
15.根據(jù)權(quán)利要求14所述的方法,其中網(wǎng)絡(luò)條件包括推客戶是否連接到寬帶數(shù)據(jù)連接。
16.根據(jù)權(quán)利要求15所述的方法,其中如果所述推客戶連接到寬帶數(shù)據(jù)連接,網(wǎng)絡(luò)條件對于所述監(jiān)視步驟而言是有利的。
17.根據(jù)權(quán)利要求14至16中的任何一項所述的方法,其中所述延緩數(shù)據(jù)包括指示可接受的速度條件的元數(shù)據(jù),其中如果所述網(wǎng)絡(luò)的速度等于或高于所述可接受的速度條件,所述網(wǎng)絡(luò)條件則是有利的。
18.根據(jù)權(quán)利要求15或16所述的系統(tǒng),其中從由WiFi連接,WiMAX連接,3G連接和4G連接組成的組中選擇寬帶數(shù)據(jù)連接。
19.根據(jù)權(quán)利要求11至18中的任何一項所述的方法,其中所述方法還包括監(jiān)視用戶是否請求延緩內(nèi)容,如果是,則拉所述延緩內(nèi)容。
20.一種計算機程序產(chǎn)品,用于在存在更有利的網(wǎng)絡(luò)條件之前,延遲從推代理向推客戶的內(nèi)容傳送,所述計算機程序產(chǎn)品包括可由實施權(quán)利要求8至10中的任何一項所述的方法的計算設(shè)備,系統(tǒng)或裝置執(zhí)行的、體現(xiàn)程序代碼裝置的計算機可讀介質(zhì)。
21.一種計算機程序產(chǎn)品,用于由推客戶從推代理檢索內(nèi)容,在網(wǎng)絡(luò)條件更有利于傳送之前,延緩所述內(nèi)容,所述計算機程序產(chǎn)品包括可由實施權(quán)利要求11至19中的任何一項所述的方法的計算設(shè)備,系統(tǒng)或裝置執(zhí)行的、體現(xiàn)程序代碼裝置的計算機可讀介質(zhì)。
全文摘要
一種動態(tài)聯(lián)合內(nèi)容傳送系統(tǒng)和方法,所述系統(tǒng)包括推代理,推代理具有延緩檢索消息存儲模塊,存儲將來傳送的延緩內(nèi)容;推代理商,用于推內(nèi)容;和推調(diào)度器,用于與所述推代理商通信,以便調(diào)度內(nèi)容的推,監(jiān)視無線網(wǎng)絡(luò)的網(wǎng)絡(luò)條件;推客戶,所述推客戶具有客戶推代理商,用于與推代理的推代理商通信;內(nèi)容拉代理方,與推代理的延緩檢索消息存儲模塊通信;延緩檢索管理器,與所述內(nèi)容拉代理方和所述客戶推代理商通信,以拉內(nèi)容,延緩檢索管理器還用于監(jiān)視網(wǎng)絡(luò),如果網(wǎng)絡(luò)條件有利于接收延緩內(nèi)容,則指令內(nèi)容拉代理方拉內(nèi)容;網(wǎng)絡(luò)狀態(tài)監(jiān)視器,用于監(jiān)視網(wǎng)絡(luò)狀態(tài);和無線網(wǎng)絡(luò)。
文檔編號H04Q7/32GK101068262SQ200710102368
公開日2007年11月7日 申請日期2007年4月30日 優(yōu)先權(quán)日2006年5月2日
發(fā)明者邁克爾·申菲爾德, 克里斯托夫·史密斯 申請人:捷訊研究有限公司