背景
領域
所描述的諸方面涉及交互式工作空間和遍在式計算。更具體地,本發(fā)明涉及使群體的全異計算平臺能容易地與位于分布式系統(tǒng)中的服務對象接口以獲得持久個人消息收發(fā)的基礎設施。
背景
諸如但并不限于因特網(wǎng)之類的分布式計算機系統(tǒng)的特征在于同時在大批不相似的且地理上多樣化的處理器上執(zhí)行的許多不相似的進程之間快速、實時的互換。分布式計算機系統(tǒng)的資源通常在空間上是分開的,并且其應用的執(zhí)行往往涉及可能在時間上分開很廣的多個執(zhí)行線程。
客戶機設備的用戶群體的運營商在競爭性的演進的通信市場中競爭。很難滿足用戶對各種服務的期望,尤其在分布式計算機系統(tǒng)上更是如此。用戶的期望往往彼此有所分歧,因為諸如搜索之類有不同的優(yōu)選服務供應商。另外,某些類型的內容可能被隔離在分布式網(wǎng)絡的具有專有接口的不同節(jié)點中,這使得對這些服務的訪問受挫。
以通信能力為其主要目的或者具有無線通信能力以擴展連通性的客戶機設備的移動性日益增長。最終用戶希望用這些移動通信設備來訪問服務,而這先前本是終端、工作站和通用計算機的領域。旨在用于通用計算的后面這些設備已具有趨于標準化或者至少容適廣大范圍的使用環(huán)境的趨勢。相比之下,移動通信設備是傾向于優(yōu)先考慮經(jīng)濟的制造、小尺寸和延長的電池服務壽命地進展的,其中性能的焦點在無線通信上而不是處理能力上。另外,廣播頻帶和協(xié)議的演進已趨于鼓勵通信芯片組的激增。由此,對移動通信設備用戶的各種服務供應已受到限制,與通用計算機用戶較大的當前市場相比尤甚。
數(shù)個障礙阻礙解決向移動通信設備部署如對于通用計算機而言常規(guī)的服務的挑戰(zhàn)。與給通用計算機的寬帶信道相比,給移動通信設備的通信帶寬往往是受約束的,從而阻礙為各種服務恰當?shù)嘏渲靡苿油ㄐ旁O備的接口軟件的下載。通常,移動通信設備的用戶接口在大小上受到嚴格約束,從而限制了可給出的顯示器大小和控制按鈕數(shù)目,進一步使此類配置變得復雜。不僅如此,許多用戶往往是在不適于此類焦點所在的交互的境況(例如,旅游)中使用移動通信設備。
因移動設備的獨特約束和使用模式而變得復雜的一種此類功能是即時消息收發(fā)。通常,人們將使用因特網(wǎng)消息收發(fā)客戶機的若干不同實例,諸如在工作中是在臺式個人計算機(PC)上、在家中是在膝上型PC上,還有在移動設備上。一個問題在于,在使用這些不同設備之間沒有連續(xù)性。一旦用戶切換到臺式設備或移動設備,在運行于PC上的客戶機上開始的與單人或群的對話就會中斷并丟失。
概述
以下給出了簡化概述,以提供對本公開的某些方面的基本理解。此概述不是詳盡縱覽,且既非旨在指認出關鍵性或決定性要素,也非旨在界定此類方面的范圍。其目的是以簡化的形式給出所描述的方面的一些概念,以作為后面給出的更加詳細的描述的前序。
根據(jù)一個或更多個方面及其相應的公開,結合使用諸如移動通信設備之類的客戶機設備經(jīng)由松耦合的分布式網(wǎng)絡來訪問諸服務來描述各種特征,其中該松耦合的分布式網(wǎng)絡有利地在能容易地從各種各樣的計算平臺訪問的元組空間中維護即時消息收發(fā)通信的連續(xù)性,從而向各種遠程客戶機提供無縫的可訪問性。
在一個方面,提供一種用于向連接至分布式網(wǎng)絡的客戶機設備群體提供持久消息收發(fā)服務的方法。為從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信的用戶放置用戶元組到元組空間中。定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組。向該客戶機設備發(fā)送從該消息元組推導出的歷史消息。
在另一方面,提供用于向連接至分布式網(wǎng)絡的客戶機設備群體提供持久消息收發(fā)服務的至少一個處理器。第一模塊為從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信的用戶放置用戶元組到元組空間中。第二模塊定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組。第三模塊向該客戶機設備發(fā)送從該消息元組推導出的歷史消息。
在一附加方面,提供一種用于向連接至分布式網(wǎng)絡的客戶機設備群體提供持久消息收發(fā)服務的計算機程序產(chǎn)品。計算機可讀介質包括使計算機執(zhí)行以下動作的代碼集:為從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信的用戶放置用戶元組到元組空間中,定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組,以及向該客戶機設備發(fā)送從該消息元組推導出的歷史消息。
在另一方面,提供一種用于向連接至分布式網(wǎng)絡的客戶機設備群體提供持久消息收發(fā)服務的設備,該設備具有用于為從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信的用戶放置用戶元組到元組空間中的裝置,用于定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組,以及用于向該客戶機設備發(fā)送從該消息元組推導出的歷史消息的裝置。
在又一方面,提供一種用于向連接至分布式網(wǎng)絡的客戶機設備群體提供持久消息收發(fā)服務的裝置。計算平臺主存執(zhí)行持久消息收發(fā)服務的元組空間。消息收發(fā)網(wǎng)關為經(jīng)由通信網(wǎng)絡發(fā)起客戶機設備與該消息收發(fā)網(wǎng)關之間的活躍通信的用戶放置用戶元組到該元組空間中。該消息收發(fā)網(wǎng)關進一步定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組,并且經(jīng)由該通信網(wǎng)絡向該客戶機設備發(fā)送從該消息元組推導出的歷史消息。
在又一附加方面,提供一種用于從分布式網(wǎng)絡接收持久消息收發(fā)服務的方法。從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信導致為用戶放置用戶元組到元組空間中。該發(fā)起進一步導致定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組。隨后,可以接收從該消息元組推導出的歷史消息。
在又一方面,提供用于從分布式網(wǎng)絡接收持久消息收發(fā)服務的至少一個處理器。第一模塊從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信,以導致為用戶放置用戶元組到元組空間中,并且導致定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組。第二模塊把從該消息元組推導出的歷史消息接收到該客戶機設備。
在又一附加方面,提供一種用于從分布式網(wǎng)絡接收持久消息收發(fā)服務的計算機程序產(chǎn)品。計算機可讀介質包括使計算機執(zhí)行以下動作的代碼集:從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信以導致為用戶放置用戶元組到元組空間中,并且導致定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組,以及把從該消息元組推導出的歷史消息接收到該客戶機設備。
在又一附加方面,提供一種用于從分布式網(wǎng)絡接收持久消息收發(fā)服務的設備,該設備具有用于從客戶機設備發(fā)起與持久消息收發(fā)服務的活躍通信以導致為用戶放置用戶元組到元組空間中并且導致定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組的裝置,并且具有用于把從該消息元組推導出的歷史消息接收到該客戶機設備的裝置。
在另一附加方面,提供一種用于從分布式網(wǎng)絡接收持久消息收發(fā)服務的裝置。通信模塊控制發(fā)射機和接收機以在通信網(wǎng)絡上向網(wǎng)關通信,該網(wǎng)關起作用地與執(zhí)行持久消息收發(fā)服務的元組空間交互。用戶接口經(jīng)由該通信模塊來發(fā)起與持久消息收發(fā)服務的活躍通信,以導致為用戶放置用戶元組到該元組空間中,并且導致定位到存儲在該元組空間中的與該用戶元組相匹配的關于先前消息收發(fā)會話的消息元組。該用戶接口經(jīng)由該通信模塊和接收機來接收從該消息元組推導出的歷史消息。
為能達成前述及相關目的,一個或更多個方面包括在下文中充分描述并在所附權利要求中特別指出的特征。以下描述和附圖詳細闡述了某些解說性方面并僅僅是指示了可采用這些方面和版本的原理的各種方式中的若干種。結合附圖考慮下面的詳細描述,則其他優(yōu)點和新穎特征將變得清楚,并且所公開的版本旨在包括所有此類方面及其等效技術方案。
附圖簡述
圖1是用于經(jīng)由分布式網(wǎng)絡服務來進行經(jīng)由多個客戶機設備的持久個人消息收發(fā)的系統(tǒng)的一個方面的示意圖;
圖2是能與圖1的系統(tǒng)一起工作的通信網(wǎng)絡的一個方面的示意圖。
圖3是根據(jù)一個方面的顯示了經(jīng)優(yōu)化的評級后搜索結果的解說性客戶機設備的圖示。
圖4-5是根據(jù)一個方面的用于持久個人消息收發(fā)和超群的方法體系的時序圖。
詳細描述
持久個人消息收發(fā)系統(tǒng)提供支持用戶即使在松耦合的分布式持久個人消息收發(fā)系統(tǒng)內亦能在多個客戶機設備之間調換的元組空間功能性。用戶(無論他們正在使用哪個消息收發(fā)客戶機)登錄到該系統(tǒng)上。登錄的動作將代表該用戶的元組放置在元組空間中?!奥?lián)系人”服務代理找到好友以及該用戶所屬的群并向其他用戶通知該用戶已登錄。在給定其他用戶和群的在線狀態(tài)的前提下,“歷史”服務代理將從該元組空間檢索構成了該用戶與諸用戶和群的對話的先前消息,就好像該用戶從未注銷或切換設備那樣。當用戶向任何對話添加新消息時,該消息作為元組被添加至該元組空間。因為元組具有租約,所以能使對話中的舊消息在預定時段之后自動到期(或者在外部持續(xù))。由于元組空間的本質,跨元組空間搜尋用戶和群之中的共性以創(chuàng)建虛擬超群也是可能的。能使特定的消息以超群為目標。例如,可以由“呼喊”服務代理來把包含所有對足球感興趣的當前用戶和群的超群作為目標,其中該“呼喊”服務代理將把最新近的足球結果注入他們的對話中。
如在本申請中所使用的,術語“組件”、“模塊”、“系統(tǒng)”及類似術語旨在指示計算機相關實體,任其是硬件、軟硬件組合、軟件,還是執(zhí)行中的軟件。例如,組件可以是但不被限定于在處理器上運行的進程、處理器、對象、可執(zhí)行件、執(zhí)行的線程、程序、和/或計算機。作為解說,運行在服務器上的應用和該服務器兩者都可以是組件。一個或更多個組件可駐留在進程和/或執(zhí)行的線程內,并且組件可局部化在一臺計算機上和/或分布在兩臺或更多臺計算機之間。
措辭“示例性”在本文中用于表示用作示例、實例、或解說。本文中描述為“示例性”的任何方面或設計不必被解釋為優(yōu)于或勝過其他方面或設計。
另外,該一個或更多個方面可以通過使用標準編程和/或工程學技術產(chǎn)生軟件、固件、硬件、或其任何組合以控制計算機實現(xiàn)所公開的方面來實現(xiàn)為方法、裝置或制造品。本文中所使用的術語“制造品”(或替換地,“計算機程序產(chǎn)品”)旨在涵蓋可從任何計算機可讀設備、載體、或介質訪問的計算機程序。例如,計算機可讀介質可包括,但不限于,磁性存儲設備(例如,硬盤、軟盤、磁條等)、光盤(例如,壓縮盤(CD)、數(shù)字多用盤(DVD)等)、智能卡、以及閃存設備(例如,記憶卡、記憶棒等)。另外應該領會,可以采用載波來攜帶計算機可讀電子數(shù)據(jù),諸如那些用于傳送和接收電子郵件或用于訪問如因特網(wǎng)或局域網(wǎng)(LAN)之類的網(wǎng)絡的數(shù)據(jù)。當然,本領域的技術人員將會認識到,可以對這種配置進行許多修改而不會脫離所公開的方面的范圍。
各種方面將以可包括數(shù)個組件、模塊及類似物的系統(tǒng)的形式來呈現(xiàn)。將理解和領會,各種系統(tǒng)可包括外加的組件、模塊等,和/或可以并不完全包括結合這些附圖所討論的組件、模塊等。也可以使用這些辦法的組合。本文中所公開的各種方面可以在包括利用觸摸屏顯示技術和/或鼠標鍵盤型接口的設備的電子設備上執(zhí)行。此類設備的示例包括(臺式和移動)計算機,智能電話、個人數(shù)字助理(PDA)、以及其他有線和無線的電子設備。
在圖1中,分布式系統(tǒng)100允許諸如移動通信設備之類的客戶機設備101檢查在計算平臺102上工作的元組空間104以找到諸如消息收發(fā)接口服務元組106之類的消息收發(fā)服務。在解說性描繪中,被描繪為來自服務元組143的用戶接口代碼108的恰適屬性可以隨后作為搜索接口109被加載到客戶機設備101上并在其上執(zhí)行。由此,用戶110便能經(jīng)由客戶機設備101的通信模塊113來與持久消息收發(fā)服務112交互以維持與用戶110經(jīng)由另一客戶機設備101'從事的先前消息收發(fā)對話的連續(xù)性。
在解說性描繪中,持久消息收發(fā)系統(tǒng)112包括與用戶元組116交互的狀態(tài)服務元組114。歷史服務元組118與歷史元組120交互。聯(lián)系人服務元組122與用戶元組116交互。消息收發(fā)服務元組124與消息元組126交互,該消息元組126進而可以與歷史元組120交互。呼喊服務元組128和廣告服務元組130各自與用戶元組116的興趣屬性132交互。
諸如經(jīng)由無線電接入網(wǎng)的數(shù)字服務或是數(shù)字蜂窩服務的承運商之類的運營商134可以在客戶機102與元組空間104之間提供網(wǎng)關136。具體地,消息收發(fā)組件138通過通信網(wǎng)絡140向如由訂戶服務組件142驗證的多個客戶機設備102中繼個人消息收發(fā)。
元組空間104是全局共享的、組織成元組群的關聯(lián)尋址的存儲器空間?!霸M”是元組空間系統(tǒng)的基本元素。在類似Linda之類的基于元組空間的協(xié)調語言的上下文中,元組是具有某些類型的字段或值的向量。在更寬泛的意義上,“元組”是信息存儲系統(tǒng)中的條目。例如,關系數(shù)據(jù)庫系統(tǒng)中的行可被稱為元組。
在類似于Linda的語言中,稱為“模板”的構造被用來經(jīng)由匹配技術來關聯(lián)尋址諸元組。如果模板和元組具有相等數(shù)目個字段并且如果每個模板字段匹配于相應的元組字段,那么該模板匹配于該元組。
基于元組空間的協(xié)調語言提供簡單而強大的用于進程間通信和同步的機制,該機制是并行和分布式編程的關鍵所在。有數(shù)據(jù)要共享的進程生成元組并將該元組放置在元組空間中。需要數(shù)據(jù)的進程簡單地向元組空間請求元組。元組空間程序可以出于數(shù)個原因而較易于編寫和維護,包括以下原因:
(1)目的地解耦(全匿名通信)——元組的創(chuàng)建者不需要知道該元組的未來使用或其目的地。
(2)空間解耦——因為元組是使用關聯(lián)尋址方案來檢索的,所以多個地址空間不相交的進程能按相同的方式來訪問元組。
(3)時間解耦——元組具有其自己的壽限,而與生成它們的進程或者任何可讀取它們的進程無關。這使得時間不相交的進程能夠無縫地通信。
元組空間的實現(xiàn)可以是“閉式”的或者“開式”的。閉式實現(xiàn)使用編譯時對象和源代碼分析來提供極為高效的閉型程序。開式實現(xiàn)允許進程、代理和程序通過元組空間來協(xié)調,而運行時系統(tǒng)無需任何先驗知識。實質上,開式實現(xiàn)提供持久數(shù)據(jù)存儲。
Linda語言使用三種標準指令或原語。它們(用其非正式的語義而言)是:
(1)out(元組)將元組插入元組空間中。
(2)in(模板)如果存在匹配于該模板的元組,那么移除該元組并將其返回給執(zhí)行該in的代理。如果沒有匹配的元組可用,那么該原語阻塞直至有匹配的元組可用。
(3)rd(模板)如果存在匹配于該模板的元組,那么將該元組的副本返回給執(zhí)行該rd的代理。如果沒有匹配的元組,那么該原語阻塞直至有匹配的元組可用。
元組空間104包括數(shù)據(jù)貯,并且放置在元組空間104中的服務元組143和數(shù)據(jù)元組144各自包括具有有序數(shù)據(jù)集的對象,其中該數(shù)據(jù)包括元組類型146和元組屬性148。另外,元組屬性148可以取決于元組類型146而變動。元組空間104包括能作用于接收例如元組144之類的數(shù)據(jù)對象的抽象空間,并包括能在該空間內執(zhí)行的預定操作集。例如,預定函數(shù)集可包括“in”函數(shù)和“rd函數(shù),這兩者均取輸入?yún)?shù),并且通過將輸入?yún)?shù)(在給出的場合)與存在于元組空間內的那些值相匹配的方式來允許選擇該空間中的特定元組。”另外,“in”和“rd”函數(shù)兩者均可具有非阻塞等效函數(shù)(inp和rdp)。在一些方面,預定函數(shù)集可包括諸如JAVA方法之類的可對元組空間104和元組144兩者執(zhí)行的操作集。
另外,在具體示例中,每個元組144是com.qualcomm.qspaces.linda.Tuple類或子類的實例,并且是用由在元組被構造時指定的對象數(shù)組定義的屬性集148來創(chuàng)建的。該數(shù)組可以是零長度的,然而在一些方面,該數(shù)組可以不為空。另外,在一些方面,該數(shù)組中沒有任何個體屬性對象可以為空。
在一些方面,當元組144最初被構造時并且每當從各個元組檢索各個屬性148時,可以使用非??焖傩问降拇鎯ζ鲀却谢瘉矸烙缘貜椭圃搶ο髷?shù)組。此過程允許元組144成為不可變的,并且因此確保元組144所駐留的元組空間104的完好性。
在上述這些方面,元組相等性遵守任何JAVA對象的相同的相等性原則,包括聲明若t1.equals(t2)則t2.equals(t1)的對稱規(guī)則。
具體地,一元組等于另一元組,例如t1.equals(t2)——若稱為模板的t2滿足以下準則:
1)模板t2的類120是與元組t1相同的類120。
2)模板t2的屬性122等于元組t1的屬性122,這意味著t2的屬性122與t1的屬性122相同,而無論它們的次序如何。
在其他方面,一元組匹配于另一元組,例如t1.matches(t2)——若稱為模板的t2滿足以下準則:
1)模板t2的類120是與元組t1相同的類120或元組t1的超類。
2)模板t2的屬性122匹配于元組t1的屬性122,這意味著t2的屬性122是與t1的屬性122相同的集合或其子集,而無論它們的次序如何。
當將一個元組與另一元組相匹配時,該對稱規(guī)則不適用,所以t1.matches(t2)未必等于t2.matches(t1)。
在一些方面,一個集合的元組屬性148與另一集合的元組屬性的比較使用常規(guī)的對象相等性規(guī)則,所以任何被用作元組屬性148的對象都能實現(xiàn)object.equals(Object obj)和object.hashcode()方法。
元組144帶租約150地被添加至元組空間104。租約150是例如以毫秒為單位來指定的時段,該時段定義該元組將逗留在相應元組空間104中多久。例如,具有零值的租約150可以指示相應元組從不到期。一旦相應元組的租約150已到期,那么該元組就從元組空間104被自動地移除。
服務元組143代表與元組空間104的諸如客戶機設備101之類的客戶機交互的服務。另外,服務元組143憑其本身也是自主的“活”JAVA對象,這些對象也可以與元組空間104以及該空間中的其他元組交互??梢园磁c其他元組相同的方式,例如通過匹配元組的類和屬性148等,來發(fā)現(xiàn)服務元組143。在一些方面,可以不按此方式來使用服務元組143,而是通過將諸如數(shù)據(jù)元組144之類的其他元組放置在元組空間104中的方式來間接地與服務元組143交互。
例如,諸如相應客戶機設備101之類的客戶機可以創(chuàng)建類A的具有屬性“abc”和“123”的數(shù)據(jù)元組144,并將該元組放置在元組空間104中。由此,可以使用以下注記來描述數(shù)據(jù)元組144:
(A,“abc”,123)。
服務元組143是能按與客戶機應用相同的方式來與元組空間104交互的活對象。由此,在此示例中,服務元組143已被實例化并正阻塞在要從元組空間104讀任何具有關于類“A”的匹配模板和任何屬性的元組上。此類匹配準則可以如下來描述:
(A,?s,?x)
其中?s和?x意味著串s和整數(shù)x的任何值都將匹配得上。因此,元組空間104匹配來自服務元組106的模板,并且將隨后從元組空間104讀取元組A。以此方式,所描述的方面向服務傳遞元組形式的參數(shù)。
另外,在系統(tǒng)100中,將代表用戶接口108的對象嵌入服務對象本身中是可能的??紤]以下用戶接口服務元組:
(A,[Java],[Flash],[uiOne])
例如,服務元組143可包含三個用戶接口對象,諸如用戶接口A屬性(例如,在JAVATM中定義)、用戶接口B屬性(例如,在ADOBE FLASH中定義)和用戶接口C(例如,在加利福尼亞州圣地亞哥的QUALCOMM公司的uiOneTM技術中定義)。在移動性的上下文中,本發(fā)明的這些方面使得能夠跨各種各樣的無線設備來供應服務,其中每個無線設備具有其自己專門的要求,無論是在對諸如Java、Flash或uniOne之類的不同技術的支持、還是甚至在單種技術的多個變體的意義上,其中該多個變體可任選地包括針對屏幕大小或其他因設備而異的性質的優(yōu)化。各客戶機設備(和相應的應用)101和/或系統(tǒng)100的任何其他方由此能夠定位到用戶接口服務對象并隨后從其加載用戶接口組件。
可以直接由諸如無線設備之類的相應客戶機設備101,或者替換地由運營商網(wǎng)關136之類的數(shù)據(jù)源(作為客戶機設備101與之交互的服務、或者連接至與客戶機設備101交互的服務的服務)來將數(shù)據(jù)元組144放置在元組空間104中。例如,客戶機設備101可以是任何類型的計算機化的無線設備,諸如蜂窩電話、衛(wèi)星電話、PDA、膝上型計算機、等等。
參照圖2,例如,通信網(wǎng)絡300包括一個或多個客戶機設備302,在本例中為無線電話設備,其利用無線網(wǎng)絡304來與具有網(wǎng)絡設備或服務器308和/或存儲設備310和/或數(shù)據(jù)源312的有線網(wǎng)絡306(例如,局域網(wǎng)LAN等)通信。網(wǎng)絡設備/服務器308和/或存儲設備310中的一者或其兩者可包括元組空間104、以及系統(tǒng)100的以上所討論的組件中的一些部分。進一步,數(shù)據(jù)源312可包括處理器和與該處理器處于通信的存儲器,其中該存儲器包括具有元組生成邏輯的元組生成模塊,該元組生成邏輯能作用于從任何能作用于容易地與諸如基于web的交易服務之類的未知服務接口的數(shù)據(jù)源來生成多個數(shù)據(jù)元組。具體地,無線設備101包括計算機平臺314,該計算機平臺314具有諸如經(jīng)由應用編程接口(API)320來與處理器318處于通信的存儲器316,該API 320使得能夠與諸如位于元組空間104中的客戶機標識組件322和搜索服務接口324之類的任何駐留應用交互。
另外,網(wǎng)絡設備或服務器308和/或存儲設備310和/或數(shù)據(jù)源312可包括處理器和與該處理器處于通信的存儲器,以及存儲在該存儲器中且可由該處理器執(zhí)行的接口、搜索和評級模塊(未描繪),其中該接口、搜索和評級模塊包括如以上所描述的元組空間104、服務元組143和評級服務元組118。無線網(wǎng)絡304經(jīng)由承運商網(wǎng)絡326連接至有線網(wǎng)絡306。網(wǎng)絡設備或服務器308和/或存儲設備310和/或數(shù)據(jù)源312可以存在于具有提供社區(qū)管理能力和/或蜂窩電信服務所希望有的任何其他網(wǎng)絡組件的通信網(wǎng)絡300上。網(wǎng)絡設備或服務器308和/或存儲設備310和/或數(shù)據(jù)源312可以通過數(shù)據(jù)鏈路328和330與承運商網(wǎng)絡326通信,數(shù)據(jù)鏈路328和330可以是諸如因特網(wǎng)、安全LAN、WAN或其他網(wǎng)絡之類的數(shù)據(jù)鏈路。承運商網(wǎng)絡326控制向移動交換中心(MSC)332發(fā)送的消息(一般為數(shù)據(jù)分組)。另外,承運商網(wǎng)絡326藉由諸如因特網(wǎng)和/或POTS(普通老式電話業(yè)務)之類的網(wǎng)絡330來與MSC 332通信。例如,在網(wǎng)絡330中,網(wǎng)絡、或因特網(wǎng)部分傳輸數(shù)據(jù)并且POTS部分傳輸話音信息。MSC 332可以由諸如用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù)網(wǎng)絡和/或因特網(wǎng)部分、以及用于話音信息的POTS部分之類的另一網(wǎng)絡336連接至多個基站(BTS)334。BTS 334最終例如分別使用諸如碼分多址(CDMA)和短消息服務(SMS)之類的預定話音和/或數(shù)據(jù)分組服務、或者任何其他越空方法來無線地向無線通信設備302廣播消息。由此,通信網(wǎng)絡300結合系統(tǒng)100(圖1)允許基于在元組空間中的數(shù)據(jù)對象之間所發(fā)現(xiàn)的關系來發(fā)現(xiàn)、創(chuàng)建和管理電子或在線用戶媒體接入。
應當注意,圖5是更全面地解說無線通信網(wǎng)絡的組件和本系統(tǒng)的一個方面的元件的相互關系的代表圖。通信網(wǎng)絡300僅是示例性的并可包括任何系統(tǒng),諸如無線通信設備302之類的遠程模塊藉由該系統(tǒng)在彼此之間及之中和/或在包括但不限于無線網(wǎng)絡承運商和/或服務器的無線和/或有線網(wǎng)絡的其他組件之間及之中越空地通信。
在圖3中,解說性移動通信設備400可用作用于經(jīng)由圖形用戶界面(GUI)402來遠程地接入和控制持久消息收發(fā)服務的客戶機設備,該GUI 402可包括諸如帶有四個光標鍵406和選擇按鈕408以及左、中和右菜單按鈕410、412和414的撥號音多功能(DTMF)按鍵板404之類的物理控件。替換地或補充地,GUI 402可以是觸摸屏。GUI 402可包括如所描繪的顯示器416。替換地,具有觸摸屏能力的顯示器也可被用來提供軟輸入控件(未示出)。顯示器416可以描繪在消息收發(fā)選項卡420、播放器選項卡422、尋找選項卡424和鏈接選項卡426的選項卡階層下組織的動態(tài)消息收發(fā)接口418。接口418可包括由用戶從不同設備(未示出)作出的歷史對話線程428。這些線程可以分別經(jīng)由菜單選項428、430和432來定位、選擇、保存。
GUI 402還可提供設置個人興趣的機會,如434處所描繪的那樣??梢曰诩{入到用戶元組116(圖1)中的由“選擇興趣”控件434來設置的興趣132來接收廣告條幅436,廣告條幅436可以是交互式的。類似地,可以基于納入到用戶元組116(圖1)中的由“選擇興趣”控件434來設置的興趣132來呈現(xiàn)呼喊消息138。
鑒于以上描述的示例性系統(tǒng),已參照若干流程圖來描述可以根據(jù)所公開的主題內容來實現(xiàn)的方法體系。盡管為使解釋簡單化將這些方法體系圖示并描述為一系列框,但是應當理解并領會所要求保護的主題內容不受框的次序所限,因為一些框可按不同次序發(fā)生和/或與來自本文中描繪和描述的其他框并發(fā)地發(fā)生。不僅如此,實現(xiàn)本文中描述的方法體系不一定需要所解說的框的全體。另外還應該領會,本文中所公開的這些方法體系能夠被存儲在制造品上,以便于把此類方法體系輸送和傳遞給計算機。如本文中使用的術語制造品旨在涵蓋可以從任何計算機可讀設備、載體、或介質訪問的計算機程序。
在圖4-5中,描繪了由用戶“A”702、用戶“B”704、用戶“C”706和第三方708經(jīng)由即時消息收發(fā)網(wǎng)關710與主存元組空間714的服務器712交互的解說性方法體系700。由元組空間714提供的持久消息收發(fā)服務716向訂戶群體718提供個人、群、呼喊、和廣告持久消息收發(fā)服務。
首先參照圖4,如在720處所描繪的,用戶A 710通過向即時消息收發(fā)網(wǎng)關710傳送的方式來登錄持久消息收發(fā)服務。如在722處所描繪的,網(wǎng)關710使狀態(tài)服務元組將用戶元組添加至元組空間714,并且如在724處所描繪的,使聯(lián)系人服務元組找到用戶A的伙伴。如在726處所描繪的,匹配的用戶元組由元組空間714返回給即時消息收發(fā)網(wǎng)關710,該即時消息收發(fā)網(wǎng)關710進而如在728處所描繪的那樣向用戶B 704并且如在730處所描繪的那樣向用戶C706通知用戶A在線。如在732處所描繪的,由網(wǎng)關710放置的歷史服務元組找到用戶A 702的近期的消息元組,這些消息元組如在734處所描繪的那樣由元組空間714返回。
如在736處所描繪的,網(wǎng)關710向用戶A 702返回近期的用戶/群對話線程。為繼續(xù)進行對話,用戶A 702如在738處所描繪的那樣向網(wǎng)關710發(fā)送旨在送給用戶B 704的消息。網(wǎng)關710如在740處所描繪的那樣使消息服務為此消息添加消息元組到元組空間714中并且如在742處所描繪的那樣向用戶B704中繼該消息。
如在744處所描繪的,用戶A還可以通過向網(wǎng)關710發(fā)送旨在送給包括用戶B 704和用戶C 706的群Z的消息來繼續(xù)群Z的群對話。網(wǎng)關710如在746處所描繪的那樣使消息服務為此群消息添加消息元組到元組空間714中并且如在748處所描繪的那樣向用戶B 704和如在750處所描繪的那樣向用戶C706中繼該群消息。
除了個人消息和群消息之外,持久消息收發(fā)服務還可以支持對那些共享興趣而并非是定義的群的一部分的用戶的呼喊消息。如在752處所描繪的,第三方向網(wǎng)關710發(fā)送呼喊消息,網(wǎng)關710如在754處所描繪的那樣使呼喊服務元組找到具有匹配的興趣的用戶元組。
繼而參照圖5,元組空間714如在756處所描繪的那樣向網(wǎng)關710返回匹配的用戶元組。網(wǎng)關710進而向那些標識出的用戶,如分別在758處和760處所描繪的那樣向用戶A 702和用戶C 706中繼散置在用戶對話中的有目標的(呼喊)消息。
除了個人、群、和呼喊持久消息收發(fā)之外,如在762處所描繪的,第三方708還可以向網(wǎng)關710發(fā)送有目標的廣告(“廣告”)。作為響應,網(wǎng)關710如在764處所描繪的那樣使呼喊服務在元組空間714中找到具有匹配的興趣的用戶元組,該元組空間714進而如在766處所描繪的那樣返回匹配的用戶元組。網(wǎng)關710向標識出的用戶,如分別在768和770處所描繪的那樣向用戶A 702和用戶B 704散布這些有目標的消息(廣告)。
當用戶A如在780處所描繪的那樣使注銷指示去往網(wǎng)關710時,網(wǎng)關710如在782處所描繪的那樣使狀態(tài)服務元組將該用戶元組從元組空間714移除。網(wǎng)關710如在784處所描繪的那樣使聯(lián)系人服務元組在元組空間714中找到用戶A 702的伙伴。進而,元組空間714如在786處所描繪的那樣向網(wǎng)關710返回匹配的用戶元組。網(wǎng)關710如分別在788和790處所描繪的那樣使用這些標識出的伙伴來向用戶B 704和用戶C 706發(fā)送用戶A 702離線的消息。
結合本文中公開的方面描述的各種解說性邏輯、邏輯板塊、模塊、以及電路可用通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設計成執(zhí)行本文中描述的功能的任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機。處理器還可以被實現(xiàn)為計算設備的組合,例如DSP與微處理器的組合、多個微處理器、與DSP核心協(xié)作的一個或更多個微處理器、或任何其他此類配置。此外,至少一個處理器可包括能作用于執(zhí)行以上所描述的步驟和/或動作中的一個或更多個步驟和/或動作的一個或更多個模塊。
此外,結合本文中公開的方面描述的方法或算法的步驟和/或動作可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中實施。軟件模塊可駐留在RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動盤、CD-ROM、或本領域中所知的任何其他形式的存儲介質中。示例性存儲介質可被耦合到處理器以使得該處理器能從/向該存儲介質讀寫信息。在替換方案中,存儲介質可以被整合到處理器。另外,在一些方面,處理器和存儲介質可駐留在ASIC中。另外,ASIC可駐留在用戶終端中。在替換方案中,處理器和存儲介質可作為分立組件駐留在用戶終端中。另外,在一些方面,方法或算法的步驟和/或動作可作為一條代碼和/或指令或代碼和/或指令的任何組合或集合駐留在可被納入計算機程序產(chǎn)品中的機器可讀介質和/或計算機可讀介質上。
盡管前面的公開討論了解說性方面和/或版本,但是應注意,可在其中作出各種變更和改動而不會脫離所描述的方面和/或如所附權利要求定義的方面的范圍。此外,盡管所描述的方面和/或形態(tài)的要素可能是以單數(shù)來描述或主張權利的,但是復數(shù)也是已構想了的,除非顯式地聲明了限定于單數(shù)。另外,任何方面和/或形態(tài)的全部或部分可與任何其他方面和/或形態(tài)的全部或部分聯(lián)用,除非另外聲明。
應當領會,被宣稱通過引用而納入本文的任何專利、出版物、或其他公開素材的全部或部分僅被納入到使所納入的素材不與在本公開中所闡述的存在的定義、語句、或其他公開素材相沖突的程度。因此,并且在必要的程度上,在本文中顯性地闡述的公開內容取代通過引用而納入本文的任何沖突的素材。被宣稱通過引用而納入本文的但與在本文中所闡述的存在的定義、語句、或其他公開素材相沖突的任何素材或其部分僅被納入到在所納入的素材與存在的公開素材之間不發(fā)生沖突的程度。