本申請要求2014年5月30日提交的名稱為“ANSWERING A CALL WITH CLIENT THROUGH A HOST”的美國臨時申請62/005,534(Ref.P23171USP1)和2014年9月2日提交的名稱為“ANSWERING A CALL WITH CLIENT THROUGH A HOST”的美國非臨時申請14/475,390(Ref.P23171US1)的優(yōu)先權,這兩個申請的全部內容以引用方式并入本文以用于所有目的。
本申請還與以下美國臨時申請相關:
Rauenbuehler等人于2014年5月30日提交的名稱為“ANSWER AND HOLD WITH CLIENT AND HOST”的美國臨時申請62/005,550(Ref.P23172USP1);
Tung等人于2014年5月30日提交的名稱為“CLIENT APPLICATIONS COMMUNICATING VIA A USER TUNNEL”的美國臨時申請62/005,606(Ref.P23188USP1);
Pollack等人于2014年5月30日提交的名稱為“PROXIED PUSH”的美國臨時申請62/005,565(Ref.P23053USP1);
Circosta等人于2014年5月30日提交的名稱為“SMS PROXYING”的美國臨時申請62/005,336(Ref.P23192USP1);
Schobel等人于2014年5月30日提交的名稱為“MANAGING CONNECTIONS OF A USER DEVICE”的美國臨時申請62/005,505(Ref.P23295USP1);
Pollack等人于2014年5月30日提交的名稱為“APPLICATION-LEVELACKNOWLEDGEMENTS”的美國臨時申請62/005,565(Ref.P23189USP1);
Pollack等人于2014年5月30日提交的名稱為“MESSAGES WITH ATTENUATING RETRANSMIT IMPORTANCE”的美國臨時申請62/005,586(Ref.P23190USP1);
Prats等人于2014年5月30日提交的名稱為“PROTOCOL SWITCHING IN INTER-DEVICE COMMUNICATION”的美國臨時申請62/005,799(Ref.P22319USP1);以及
Coffman等人于2014年5月30日提交的名稱為“USER INTERFACE FOR PHONE CALL ROUTING AMONG DEVICES”的美國臨時申請62/005,990(Ref.P23298USP1),這些美國臨時申請據(jù)此以引用方式并入本文以用于所有目的。本申請還與Liu等人于2014年3月14日提交的名稱為“DYNAMIC LINK ADAPTATION FOR IMPROVED LINK MARGIN”的美國臨時申請61/953,591相關,該美國臨時申請據(jù)此以引用方式并入本文以用于所有目的。
背景技術:
本公開涉及作為呼叫的一部分在設備之間中繼視聽(AV)通信。
隨著不同類型的聯(lián)網(wǎng)設備持續(xù)增多,過去可能只有一臺計算機或一部電話的單個用戶現(xiàn)在可能擁有臺式計算機、膝上型電腦、移動電話、平板電腦、聯(lián)網(wǎng)可穿戴設備、聯(lián)網(wǎng)家用電器和其他聯(lián)網(wǎng)設備。在這種環(huán)境下管理通信是一項越來越復雜的任務。本文所描述的實施方案可包括用于管理此類通信的設備、系統(tǒng)和方法。
技術實現(xiàn)要素:
本發(fā)明的實施方案可提供用于通過主機使用客戶端接聽呼叫的系統(tǒng)、裝置和方法。本發(fā)明提供了客戶端設備和主機設備??蛻舳嗽O備可用于使用連接到網(wǎng)絡的主機設備發(fā)起或接聽呼叫。例如,當作為主機設備進行操作的電話從網(wǎng)絡接收呼入呼叫時,電話可將呼入呼叫的存在傳送到與主機設備相關聯(lián)的一個或多個客戶端設備,諸如膝上型電腦、臺式計算機、平板電腦或可穿戴設備。當在客戶端處作出接聽呼叫選擇時,可從所述客戶端設備向主機設備發(fā)送呼叫接聽通信。主機設備可接著與網(wǎng)絡通信以將呼叫連接到主機,并且在連接了呼叫后,主機可將呼叫移交給發(fā)送呼叫接聽通信的客戶端。
其他實施方案涉及與本文所述方法相關聯(lián)的系統(tǒng)、便攜式消費者設備和計算機可讀介質。
通過參考以下具體實施方式和附圖,可更好地理解本發(fā)明的實施方案的實質和優(yōu)點。
附圖說明
圖1是根據(jù)各種實施方案,由在彼此之間發(fā)送消息和呼叫的一個或多個客戶端、主機(例如,配套設備)和服務器構成的系統(tǒng)的框圖。
圖2是根據(jù)各種實施方案的可至少部分地用于促進接聽和發(fā)出呼叫的中繼的系統(tǒng)的框圖。
圖3是根據(jù)各種實施方案的客戶端設備和相關聯(lián)的主機設備的示意圖。
圖4是根據(jù)各種實施方案的多個客戶端設備和相關聯(lián)的主機設備的示意圖。
圖5示出了根據(jù)各種實施方案的用于遠程發(fā)起的呼叫的信號流。
圖6描述了根據(jù)本發(fā)明的實施方案在客戶端設備與主機設備之間中繼呼叫的方法。
圖7描述了根據(jù)本發(fā)明的實施方案的由充當通信終點的客戶端設備執(zhí)行的方法,所述通信被相關聯(lián)的主機設備中繼。
圖8描述了根據(jù)本發(fā)明的實施方案的一種方法,其中呼叫可由用戶的客戶端設備發(fā)起以經(jīng)由用戶的主機設備進行。
圖9描述了根據(jù)本發(fā)明的實施方案的一種方法,該方法用于使用客戶端設備發(fā)起中繼呼叫。
圖10描述了根據(jù)本發(fā)明的實施方案的一種方法,該方法用于由主機中繼通過客戶端設備發(fā)起的呼叫。
圖11示出了根據(jù)本發(fā)明的實施方案的用于傳送數(shù)據(jù)的協(xié)議棧1100。
具體實施方式
本文所述的實施方案涉及使用第一設備訪問第二設備上的呼叫或通信。具體地,本文所述實施方案涉及使用主機設備(諸如移動電話)作為用于訪問不同客戶端設備(諸如平板電腦、膝上型電腦、可穿戴設備或其他聯(lián)網(wǎng)設備)上的呼叫的中繼器。
在一個實施方案中,用戶的主機設備可將來自第二方的電話呼叫中繼到用戶的客戶端設備。例如,當作為主機設備進行操作的電話從網(wǎng)絡接收呼入呼叫時,電話可將呼入呼叫的存在發(fā)送到與主機設備相關聯(lián)的一個或多個客戶端設備,諸如膝上型電腦、臺式計算機、平板電腦或可穿戴設備(例如,用戶已經(jīng)將這兩個設備配對)。
在另一個實施方案中,用戶的客戶端設備可用于經(jīng)由用戶的主機設備向第二方發(fā)起呼叫。例如,當在客戶端處作出接聽呼叫選擇時,可從客戶端設備向主機設備發(fā)送呼叫接聽通信。然后,主機設備可與網(wǎng)絡通信以將呼叫連接到主機。連接呼叫后,主機可將呼叫移交給發(fā)送該呼叫接聽通信的客戶端。
例如,在某些實施方案中,蜂窩電話可具有選擇的一組中繼設置。電話可與身份服務交互以使電話與身份或賬戶相關聯(lián),并且從而識別也與該身份或賬戶相關聯(lián)的任何數(shù)量的客戶端設備。接收到呼叫時,蜂窩電話可自動通知例如與電話共享身份的相關聯(lián)平板電腦和相關聯(lián)可穿戴設備。在平板電腦上選擇接聽呼叫按鈕時,蜂窩電話可將呼叫中繼到平板電腦,并且向可穿戴設備通知呼叫已被接聽。蜂窩電話可繼續(xù)作為呼叫的一部分將呼叫信息中繼到平板電腦并且從平板電腦中繼呼叫信息,直到呼叫被轉移回到電話或斷開為止。因此,如果在用戶的電話上呼入呼叫時用戶正在使用平板電腦、膝上型電腦或可穿戴設備,但用戶不知道其電話在哪里,則用戶可從另一個設備接聽該呼叫,并且將該設備用于該呼叫,或暫時使用該設備,直到用戶找到電話并且將呼叫轉移到電話為止。任何數(shù)量的不同客戶端設備可用作此類系統(tǒng)的一部分,包括聯(lián)網(wǎng)平板電腦、手表、家用電器等。
I.簡介
下文描述了可用于實現(xiàn)某些實施方案的系統(tǒng)、設備和方法的示例,以及可實現(xiàn)的選定變型和另選實施方案的非詳盡示例。
A.系統(tǒng)
圖1是根據(jù)各種實施方案,由在彼此之間發(fā)送消息和呼叫的一個或多個客戶端、主機(例如,配套設備)和服務器構成的系統(tǒng)100的框圖。圖1和其他附圖僅僅例示了實施方案或實現(xiàn)方式或者本文所公開的實施方案或實現(xiàn)方式的方面,并且不應限制如權利要求書中所敘述的任何發(fā)明的范圍。本領域的普通技術人員可通過本公開內容和本文所呈現(xiàn)的教導內容認識到附圖中所示的那些實施方案或實現(xiàn)方式的其他變型、修改和/或替代形式。圖1是系統(tǒng)的一個示例,該系統(tǒng)可經(jīng)由主機或移動設備使用中繼以接聽呼叫并且使得能夠將客戶端或配套設備用作呼叫的終點來執(zhí)行呼叫。系統(tǒng)100中的設備可包括硬件和/或軟件元件。
在一個實施方案中,系統(tǒng)100包括身份管理基礎結構105(即,實現(xiàn)身份管理服務、授權服務和/或認證服務的一個或多個服務器)、內容基礎結構110(即,實現(xiàn)語音/視頻呼叫服務、消息服務和/或推送通知服務的一個或多個服務器)、移動設備115、配套設備120、用戶設備125、提供方130、提供方135和通信網(wǎng)絡140。如圖所示,身份管理基礎結構105、內容基礎結構110、移動設備115、配套設備120、用戶設備125、提供方130和提供方135各自能夠與通信網(wǎng)絡140(代表互聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、局域網(wǎng)(LAN)、無線局域網(wǎng)(WiLAN)、無線電接入網(wǎng)(RAN)、公共交換電話網(wǎng)(PTSN)等和/或它們的組合)通信并通過該通信網(wǎng)絡進行通信。如圖所示,移動設備115可在不利用通信網(wǎng)絡140的情況下與配套設備120直接通信。
身份管理基礎結構105可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。在各種方面,身份管理基礎結構105提供對各個實體、其在系統(tǒng)(諸如內容基礎結構110)內或跨系統(tǒng)的認證、授權和特權的管理。身份管理基礎結構105所提供的身份管理服務可包括多種技術和服務,諸如活動目錄、身份提供方、口令管理器、訪問控制提供方、單點登錄(SSO)服務、開放授權、安全性令牌服務等。
在各種實施方案中,身份管理基礎結構105保存用于認證受管理實體(諸如用戶、組織和任何相關聯(lián)設備、資源、服務、應用程序等)的身份的信息。身份管理基礎結構105可使用口令、生物識別(諸如指紋)、獨特行為(諸如觸摸屏上的手勢圖案)、質疑-應答協(xié)議、一次性口令(OTP)、雙向認證和其他技術來驗證實體是其聲稱的人/物。身份管理基礎結構105還可管理定義實體在特定應用程序、服務或資源的情景中能夠執(zhí)行的操作的授權信息。一些授權可基于與受管理實體相關聯(lián)的角色、設備類型、應用程序、應用類型等。用戶被授予通常與特定工作或工作功能相關的角色。身份管理基礎結構105還可管理關于受管理實體的描述性信息以及如何和誰能夠訪問和修改該信息。作為身份管理的一部分,可識別一個或多個主機設備并且使其與一個或多個客戶端設備相關聯(lián),使得可將對主機設備的呼入呼叫中繼到客戶端設備,并且使得客戶端設備可用于使用主機設備發(fā)起中繼呼叫。
在一些實施方案中,身份管理基礎結構105為受管理實體創(chuàng)建數(shù)字身份,包含例如實體識別信息(PII)和輔助信息。在一個方面,受管理實體可具有多個數(shù)字身份,并且每個數(shù)字身份可包含多個屬性。例如,用戶可具有鏈接到多個設備的用戶標識符(例如,電話號碼、電子郵件等)。除了創(chuàng)建、刪除、修改數(shù)字身份之外,身份管理基礎結構105還可管理輔助實體數(shù)據(jù)以供服務諸如內容基礎結構服務110使用。
在另外的實施方案中,身份管理基礎結構105可存儲與用戶標識符相關聯(lián)的每個設備的性能。設備性能的示例包括設備是否包括特定類型或版本的硬件,設備是否包括特定類型或版本的軟件(例如,操作系統(tǒng)或應用程序),設備是否能夠執(zhí)行特定功能諸如發(fā)出和接收電話呼叫或發(fā)送和接收短消息服務(SMS)/多媒體消息服務(MMS)消息,設備是否能夠保持與其他設備的連接,諸如此類。與用戶相關聯(lián)的設備列表可被發(fā)送到該用戶的任何其他設備,諸如與同一用戶標識符相關聯(lián)的移動設備115和配套設備120,并存儲在該設備處。當注冊設備并使之與用戶標識符相關聯(lián)時,身份管理基礎結構105可確定并收集設備的性能。身份管理基礎結構105可周期性地更新設備的性能,例如,當設備重新注冊或與由身份管理基礎結構105管理的一個或多個服務通信時。
在各種實施方案中,身份管理基礎結構105可接收單個用戶標識符,該用戶標識符用于確定與該用戶標識符相關聯(lián)的設備的設備標識符。每個設備的設備標識符可相對于用戶的其他設備是唯一的。在實體注冊期間,為了訪問由身份管理基礎結構105管理的服務或資源,可組合一個或多個用戶或其他標識符和唯一實體或設備標識符(UID)以生成實體或設備令牌。
在各種實施方案中,通過應用散列算法(例如,SHA-0、SHA-1、SHA-2、MD5、Whirlpool或其他散列算法)來對該令牌加密。針對實體而生成并加密的令牌可在各種實施方案中保持不變。一旦身份管理基礎結構105已經(jīng)生成并加密令牌,就可將令牌發(fā)送回到實體。在一些方面,實體可接著將令牌分發(fā)給由身份管理基礎結構105管理的服務或資源或者其他第三方服務,用于與實體在那些受管理服務或資源處的認證、授權、記賬等或第三方向實體進行可信內容傳遞相關的多種目的。
內容基礎結構110可由身份管理基礎結構105保護且/或能夠被由身份管理基礎結構管理的實體訪問。內容基礎結構110可在各種實施方案中使用單個服務器計算機系統(tǒng)來實施,或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。
內容基礎結構110可向移動設備115、配套設備120和用戶設備125以及向其他設備和實體提供內容。內容的示例包括文本消息、多媒體消息、迫近日歷事件、音頻/視頻呼叫(例如,使用VOIP)或遠程服務器上的新數(shù)據(jù)的通知。在一個實施方案中,內容可起源于由身份管理基礎結構105管理的或者由內容基礎結構110直接提供的一個或多個源。在其他實施方案中,內容可起源于其他源。例如,內容可起源于移動設備115、配套設備120、用戶設備125和提供方130和135中的任一者。
在另一個示例中,可從其他源諸如互聯(lián)網(wǎng)、蜂窩網(wǎng)絡、公用交換電話網(wǎng)等接收內容。內容基礎結構110可接著將內容路由到移動設備115、配套設備120、用戶設備125和提供方130和135。在一個實施方案中,內容基礎結構110可通過基礎結構路由從蜂窩網(wǎng)絡接收或發(fā)送至蜂窩網(wǎng)絡的SMS消息。在另一個實施方案中,內容基礎結構110可通過基礎結構路由從公用交換電話網(wǎng)接收或發(fā)送至公用交換電話網(wǎng)的語音呼叫。
在一些實施方案中,發(fā)送到移動設備115的內容可被轉發(fā)到配套設備120以供傳遞到移動設備115。配套設備120還可代表移動設備115起作用并發(fā)送信號。在這些實施方案中,配套設備120充當主要或中間設備,并且移動設備115充當被代理設備。內容基礎結構110可協(xié)調配套設備120如何以及是否能夠代表移動設備115起作用并發(fā)送信號。
在一些實施方案中,內容基礎結構110可在適當時向不止一個設備發(fā)送內容。用戶可與移動設備115和配套設備120兩者相關聯(lián)。內容基礎結構110可將內容路由到移動設備115和配套設備120兩者,以便使VOIP電話呼叫在兩個設備上響鈴或使消息出現(xiàn)在安裝于兩個設備上的相同應用程序的收件箱中。在其他實施方案中,將內容發(fā)送到僅一個設備,例如配套設備120,其可將呼叫轉發(fā)到移動設備115。當呼叫被轉發(fā)到設備時,電話號碼可識別哪個設備將接收電話/視頻呼叫,并且該設備可視情況中繼呼叫。
在一個方面,內容可包括一項或多項數(shù)據(jù),諸如上文所論述的設備標識符(或令牌)以及有效載荷。可在起源于提供方(例如,提供方130和/或135)、同一用戶的設備(例如,來自移動設備115或配套設備120)或另一個用戶的設備(例如,用戶設備125)的內容中,連同提供方設法使用內容基礎結構110傳遞的任何有效載荷一起提供設備令牌。設備令牌可包含使得內容基礎結構110能夠定位設備的信息,所述設備上安裝有特定服務或客戶端應用程序并且被注冊以接收內容。有效載荷可包括在服務器應用程序處接收的新信息或對可找到該信息的位置的標引。有效載荷還可包括指定特定服務或客戶端應用程序將如何向用戶警示該新信息的屬性列表。
警報可以多種形式出現(xiàn)。在一個示例中,可作為警報消息或其他視覺表示(諸如與應用程序圖標相關聯(lián)的標志)向用戶顯示內容。還可通過在顯示警報或標志時播放聲音來宣布內容的可用性。當向用戶通知應用程序或服務有消息、事件或其他內容數(shù)據(jù)提供給他們時,用戶可啟動應用程序或服務并且通過觀看內容、觀看推送通知中所包含的信息、使客戶端應用程序檢索標引信息等來查看詳情。用戶還可選擇忽略通知,在這種情況下不激活應用程序。
如上文提到,內容基礎結構110可包括推送通知服務,除了路由內容之外或代替路由內容,其實現(xiàn)用于向用戶設備上的推送提供方的客戶端應用程序提供使用戶知道新內容在一個或多個服務器應用程序處可用、保存于該設備上或正在傳入的能力的機制。如本文所使用的推送提供方(或簡稱為提供方)可指使用推送通知基礎結構轉發(fā)和/或傳遞信息的實體。一般來講,當新數(shù)據(jù)可供用戶使用時,軟件開發(fā)者(充當提供方)在其服務器軟件中發(fā)起通知。提供方通過持久且安全的信道將其服務器軟件與內容基礎結構110連接。身份管理基礎結構105可確保提供方被認證(例如,提供方是提供方所宣稱的人)并授權,以便以可信方式連接并利用內容基礎結構110。
在監(jiān)測用于其客戶端應用程序的傳入數(shù)據(jù)時,當用于應用程序的新數(shù)據(jù)到達時,提供方在一個方面準備通知并通過其信道連接將通知發(fā)送到內容基礎結構110,該內容基礎結構將通知推送到推送消費者或目的地目標設備。身份管理基礎結構105還可確保消費者或目的地目標設備被認證并授權,以便以可信方式連接到內容基礎結構110并利用其服務。推送消費者(或簡稱為消費者或目的地)可指被指定接收使用內容基礎結構110轉發(fā)和/或傳遞的信息的實體。雖然上文出于簡單起見將提供方描述為內容或可用內容通知的發(fā)起者,但提供方在一個實例中可以又變成消費者,反之亦然。另外,移動設備115可以是配套設備120的內容提供方,反之亦然,也可以是向提供方135提供內容的提供方130,反之亦然。
在內容基礎結構110的操作的一個示例中,一個或多個服務器計算機提供、調配、管理并且以其他方式操作推送通知服務,以便在提供方130、提供方135、移動設備115、配套設備120和用戶設備125之間傳播信息。每一者可與內容基礎結構110建立至少一個持久連接(例如,被認可并加密的互聯(lián)網(wǎng)協(xié)議(IP)連接),以經(jīng)由此持久連接發(fā)起和/或接收內容。如上文所述,每一者及其連接可由身份管理基礎結構105認證并授權。
如果內容基礎結構110針對與用戶的設備相關聯(lián)的應用程序傳遞的通知在應用程序未運行時到達,則用戶的設備可警示用戶有數(shù)據(jù)在等待該應用程序,如上文所論述。內容基礎結構110還可提供具有存儲并轉發(fā)功能的默認服務質量部件。如果內容基礎結構110嘗試傳遞通知但目標設備離線,則可將通知存儲一段有限的時間并且在設備變得可用時將通知傳遞到設備。在一些實施方案中,為特定應用程序存儲所有近期通知。在一些實施方案中,為特定應用程序存儲僅一個近期通知。例如,如果在設備離線時發(fā)送多個通知,則每個新通知都會致使先前的通知被丟棄。這種僅保持最新通知的行為被稱為合并通知。在其他實施方案中,如果設備長時間保持離線,則可能會丟棄為其存儲的任何通知。
提供方130和提供方135可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。在各個方面,提供方130和提供方135提供在移動設備115、配套設備120和用戶設備125上運行的客戶端應用程序以及用于提供客戶端應用程序可連接的一個或多個服務的服務器應用程序。提供方130和提供方135可設法通知移動設備115、配套設備120和用戶設備125中的一者或多者能夠訪問的客戶端應用程序:信息可供其相應用戶使用。
在一個方面,推送提供方是可對被配置為與移動設備115、配套設備120和用戶設備125中的一者或多者上的一個或多個客戶端應用程序交互的服務器軟件進行維護的軟件開發(fā)者、公司或組織。提供方130和提供方135在監(jiān)測用于其客戶端應用程序的傳入數(shù)據(jù)時各自通過持久且安全的信道與內容基礎結構110連接。在一個實施方案中,提供方130和提供方135經(jīng)由例如使用串流TCP套接字設計以及二進制內容提供高速高容量接口的二進制接口來連接。該二進制接口可為同步或異步的。對于每個接口,TLS(或SSL)可用于建立安全通信信道。
移動設備115、配套設備120和用戶設備125可各自被實施為單個設備、單個計算機系統(tǒng)、多個設備或多個計算機系統(tǒng)。在各個方面,雖然為了方便起見,移動設備115、配套設備120和用戶設備125以不同方式標注,但可各自實施為移動設備、可穿戴設備或其他移動設備(例如,膝上型電腦、掌上電腦、移動電話、智能電話、多媒體電話、便攜式媒體播放器、GPS裝置、移動游戲系統(tǒng)等)。除此之外或作為替代,配套設備120和用戶設備125可如上所述那樣實施,并且可實施為個人計算機系統(tǒng)、大型機、服務器計算機系統(tǒng)、云服務等。移動設備115、配套設備120和用戶設備125可包括用于提供通信連接的多種技術。連接技術的一些示例包括有線連接(例如,以太網(wǎng)、光纖、數(shù)字用戶線路(DSL)等)和無線連接(例如,WiFi、藍牙、WiMax、3G、4G、LTE等)。
在一個方面,移動設備115、配套設備120和用戶設備125托管與由一個或多個提供方(例如,提供方130和135)所提供的一個或多個服務器應用程序通信的多個客戶端應用程序中的一者或多者。這些客戶端應用程序可包括特定于設備的目標功能的應用程序(諸如電話應用程序或GPS應用程序),以及電子郵件客戶端、更新/升級客戶端、新聞客戶端、網(wǎng)頁/博客客戶端、播客客戶端、社交網(wǎng)絡客戶端或其他類型的客戶端應用程序,其中可發(fā)送通知消息。這些客戶端應用程序可向用戶表示使用內容基礎結構110接收的一個或多個通知消息??赏ㄟ^設備的操作系統(tǒng)、圖形用戶界面工具箱和/或應用程序本身定義的一種或多種方式向用戶表示通知。通知的表示的一些示例包括新電子郵件指示符、新的新聞條目指示符、新播客指示符、社交網(wǎng)絡朋友的在線狀態(tài)的變化等。在各種實施方案中,在設備上進行操作的另一個服務可為客戶端應用程序處理通知。
如上文論述,移動設備115、配套設備120和用戶設備125可在客戶端應用程序初始與內容基礎結構110連接以便接收推送通知時接收標識符(或設備令牌)。提供方130和135可連同任何內容或通知消息使用該令牌或包括該令牌,使得可使用內容基礎結構110將所述內容或通知消息恰當?shù)剞D發(fā)回到設備。在各種實施方案中,為了確保信任,提供方在每次與內容基礎結構110連接時都會傳送令牌。內容基礎結構110可解密設備令牌并使用身份管理基礎結構105驗證該令牌是針對目的地設備而生成的。為了在一個實施方案中驗證,內容基礎結構110確保令牌中所包含的設備標識符與在設備向身份管理基礎結構105注冊時使用的設備證書中的設備標識符相匹配。
參見圖1中所示系統(tǒng)100的操作,在一個實施方案中,操作可以從提供方130向配套設備120轉發(fā)或以其他方式傳送通知消息,如路徑145所示。在各種實施方案中,提供方130在與內容基礎結構110初始連接后發(fā)送認證安全套接字層(SSL)證書。身份管理基礎結構105可認證并授權提供方130作為推送通知的注冊且授權的發(fā)送者。還可使用附加的用戶定義數(shù)據(jù)來配置此SSL證書。身份管理基礎結構105可利用附加的用戶定義數(shù)據(jù)來以可信方式識別提供方130。在其他實施方案中,也可使用其他安全通信協(xié)議(例如,密碼協(xié)議,諸如傳輸層安全(TLS)等)。
在一些實施方案中,在提供方130與特定應用程序(例如,電子郵件、Facebook或Twitter)相關聯(lián)并且在SSL證書內包括附加的識別(例如,用戶定義)數(shù)據(jù)的情況下,身份管理基礎結構105不僅可認證提供方130,而且還可利用內容基礎結構110為提供方130和應用程序自動調配推送服務。換句話講,身份管理基礎結構105可自動從認證證書提取任何附加的識別數(shù)據(jù)并且使內容基礎結構110將附加識別數(shù)據(jù)(或數(shù)據(jù)的一部分)附接到內容(例如,推送通知消息)。在一些實施方案中,附加的識別數(shù)據(jù)可識別用戶可經(jīng)由內容基礎結構110訂閱的與提供方130(或提供方130的應用程序)相關聯(lián)的主題或種子。因此,可利用認證證書中的附加信息來將內容引導到已經(jīng)訂閱該主題/種子或請求關于該主題/種子的信息的設備。以此方式,自動地為提供方130調配推送服務。
一旦提供方130被信任,內容基礎結構110就從提供方130接收通知消息。如上文論述,通知消息可包括設備令牌。從提供方130接收到通知消息之后,內容基礎結構110確定通知消息的目的地。在各種實施方案中,基于連同通知消息一起發(fā)送的設備令牌來確定目的地。在一些實施方案中,不必作為令牌的一部分來發(fā)送目的地信息。通過從設備令牌確定目的地或提取目的地或者以其他方式獲得內容的目的地信息,內容基礎結構110可接著確定目的地是否“在線”或以其他方式可訪問。
如果目的地在線,則在一個實施方案中,內容基礎結構110可接著將通知消息路由到目的地配套設備120,由路徑150示出,例如,經(jīng)由配套設備120所保持的與內容基礎結構110的持久連接。如果目的地“離線”或以其他方式不能被內容基礎結構110訪問,則可存儲內容并在稍后的時間重試傳遞。內容基礎結構110可另外或替代地將通知消息路由到移動設備115,由路徑155示出,例如,經(jīng)由配套設備120所保持的與內容基礎結構110的持久連接。內容基礎結構110因此可將內容路由到單個設備、同時路由到多個設備、或路由到一個設備以傳遞給另一個設備。
B.內容基礎結構
圖2是根據(jù)各種實施方案的可至少部分地用于促進接聽和發(fā)出呼叫的中繼的系統(tǒng)200的框圖。具體地講,如本文所述的IDS服務,包括IDS 205,可用于促進用作中繼器的主機設備與用作呼叫終點的客戶端設備之間的發(fā)現(xiàn)和通信。如本文所述,出于中繼系統(tǒng)的目的,圖1的移動設備115可被視為主機設備,并且配套設備120可被視為客戶端設備。系統(tǒng)200可在中繼系統(tǒng)中使用,并且可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。系統(tǒng)200可在各種實施方案中被實施為圖1的內容基礎結構。
具體地講,圖2示出了在設備之間,例如在提供方與移動設備之間或在一個用戶的發(fā)送設備與另一個用戶的接收設備之間,轉發(fā)內容(例如,通知消息和電話/視頻呼叫)的各種示例。在這些示例中,系統(tǒng)200被示出為具有身份服務(IDS)205、推送通知服務(PNS)220以及用戶設備250,所述身份服務(IDS)具有接口210和身份管理服務器(IMS)215,所述推送通知服務(PNS)220具有提供方接口225、具有存在信息235的網(wǎng)關230、具有連接信息245的設備接口240。每個服務可使用硬件和/或軟件元件實現(xiàn)。
在一個方面,IDS 205可被實施為身份管理基礎結構105或形成其一部分。IDS 205可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。接口210可使得實體(例如,移動設備115或提供方130)能夠連接(例如,經(jīng)由網(wǎng)絡)以便利用IDS 205所提供的服務。接口210可結合負載平衡和其他連接管理技術,從而允許實體與身份管理服務器215通信。
在一個實施方案中,實體將在初始連接后經(jīng)由接口210接收到的信息(例如,認證證書)發(fā)送到IDS 205或發(fā)送到由IDS 205(例如,PNS 220)管理的服務、資源或應用程序。身份管理服務器215可將發(fā)送該信息的設備、用戶或組織認證并授權為經(jīng)注冊并授權的實體??蔀樵O備、用戶或組織授權或調配一種或多種類型的服務(例如,呼叫服務、即時消息服務、聊天服務、通知服務等)。為了支持PNS 220的安全性模型,可要求實體及其設備擁有某些證書、證書管理機構(CA)證書或令牌。
在一個實施方案中,每個內容提供方使用唯一提供方證書和私有密碼密鑰來驗證其與PNS 220的連接。該證書可由身份管理服務器215調配,并且可識別提供方和/或由該提供方發(fā)布的特定主題。一般來講,主題是客戶端應用程序的綁定包ID。提供方可任選地想要使用PNS 220所提供的公用服務器證書來驗證提供方所連接的服務。在各個方面,提供方使用在注冊時由身份管理服務器215傳遞給它的公用服務器證書來認證提供方已連接的服務。
身份管理服務器215還可向希望接收內容的每個設備發(fā)布唯一私有密鑰和證書,設備使用所述唯一私有密鑰和證書來為身份管理服務器215認證其自身并建立與PNS 220的連接。設備通常在設備激活期間從身份管理服務器215獲得設備證書和密鑰,并將設備證書和密鑰存儲在密鑰鏈中。設備還保存其在服務連接過程期間接收的特定設備令牌。利用PNS 220的每個客戶端應用程序負責將此令牌傳遞到其內容提供方。
身份管理服務器215可存儲用于驗證連接以及提供方和設備的身份的任何必要證書、CA證書和密碼密鑰(私有和公用)。
在該示例中,一旦實體被信任,系統(tǒng)200就允許實體利用PNS 220所提供的推送通知服務。PNS 220可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。實體可以是希望與PNS 220連接(例如,經(jīng)由網(wǎng)絡)的提供方或其他通知提供方。如上文提到,在一個實施方案中,提供方接口225提供允許推送通知提供方與PNS 220通信的高速高容量接口。提供方接口225可結合負載平衡和其他連接管理技術,從而允許實體與PNS 220通信。雖然提供方接口225被示出為鏈接到網(wǎng)關230,但提供方接口225可并入網(wǎng)關230或設備接口240中。如上文論述,用戶設備在各種實施方案中可以是內容的提供方,也可以是使用PNS 220路由的內容的目的地。
網(wǎng)關230可在各種實施方案中使用單個服務器計算機系統(tǒng)來實現(xiàn),或者可包括多個服務器計算機系統(tǒng)、web服務器、應用服務器、網(wǎng)絡、互連件等。網(wǎng)關230可確定經(jīng)由提供方接口225或設備接口240接收的內容(例如,推送消息或呼叫消息)的目的地。在各種實施方案中,網(wǎng)關230可基于存在信息235來確定目的地。在一個方面,使用設備的推送令牌保持存在信息235。因此,當在網(wǎng)關230處接收到針對特定推送令牌的推送通知時,網(wǎng)關230可執(zhí)行查找以確定是否存在與該推送令牌相關聯(lián)的TCP套接字描述符。套接字描述符可提供傳輸推送通知所需要的TCP套接字信息和其他聯(lián)網(wǎng)信息。在各個方面,存在信息235包括被認證實體和其與PNS 220的連接之間的映射。這些連接可由PNS 220用來傳遞內容、通知等或以其他方式與實體通信。每個映射可指示至少一個實體和該實體的至少一個連接機制,諸如網(wǎng)絡套接字連接或其他連接標識符。例如,映射可通過其設備令牌來識別目的地設備或通過其提供方標識符來識別提供方??稍诿總€映射中包括附加信息以便促進與實體的設備的通信。
在一些實施方案中,為了分散來自越來越多的利用PNS 220服務的用戶、設備和提供方的連接的處理,可根據(jù)稱為區(qū)域的至少一個分組或邏輯分區(qū)來管理存在信息235中的設備連接(或設備本身)。由網(wǎng)關230執(zhí)行的功能可被分割到多個服務器,這些服務器被動態(tài)分配用于處理這些分組或區(qū)域。例如,一個或多個服務器可能在一段時間內管理向被分配到一個區(qū)域的目的地的傳遞,然后被切換或重新配置為在稍后的時間管理向被分配到其他區(qū)域的目的地的通知傳遞。這些服務器中的每一者還可包括用于將內容路由到與內容的目的地的特定區(qū)域相關聯(lián)的其他服務器的路由信息。因此,當在一個服務器處接收到內容時,將確定被設計用于處理預定區(qū)域的另一個服務器,并且可將所述內容轉發(fā)到恰當?shù)姆掌鳌T谝粋€方面,由網(wǎng)關230執(zhí)行的功能可被分割到多個服務器以處理對應的設備連接(例如,設備接口240)。
在各種實施方案中,網(wǎng)關230鏈接到設備接口240。設備接口240提供用于與用戶設備250通信的接口。設備接口240可結合負載平衡和其他連接管理技術,從而允許設備與PNS 220通信。雖然設備接口240被示出為鏈接到網(wǎng)關230,但設備接口240可并入網(wǎng)關230或提供方接口225中。
在這些示例中,設備接口240允許在設備接口240連接到用戶設備240時生成存在信息235。用戶設備240可在建立持久連接后向PNS 220告知其存在。然后,設備接口240在連接信息245中生成設備/連接映射。設備接口240可將連接信息245反向傳播到網(wǎng)關230,從而允許網(wǎng)關230在存在信息235中生成設備/連接映射。在一個方面,存在信息235包括設備/信差映射或鏈接,從而允許網(wǎng)關230確定充當連接到用戶設備250的設備接口240的恰當信差。信差利用連接信息245(包括任何設備/連接映射或鏈接),從而允許信差確定特定于用戶設備250的連接信息,該連接信息可用于將內容傳遞到用戶設備250。在另一個方面,存在信息235和連接信息245可大致相同,因為它們包括給定設備和其與PNS 220的連接之間的對應關系。
在各種實施方案中,想要經(jīng)由PNS 220接收內容的設備在與設備接口240形成初始連接后發(fā)送認證信息或直接向IDS 205發(fā)送認證信息。身份管理服務器215可直接或間接地接收認證信息,接著將設備或其關聯(lián)用戶或組織認證并授權為經(jīng)注冊并授權的實體。一旦設備被信任,便告知PNS 220并且PNS 220此后管理在設備與PNS 220之間所作的任何連接(諸如在連接信息245中的與設備接口240的連接)。連接信息245中的在設備接口240處可得的設備信息可被周期性地反向傳播到網(wǎng)關220以生成或更新存在信息235。
當設備初始與PNS 220連接時,PNS 220對設備進行調配。在各種實施方案中,為設備調配區(qū)域,如上文所提到的那樣。不管每個設備的具體區(qū)域分配如何,設備可出于各種原因丟失其與設備接口240的連接。例如,連接可能因為蜂窩信號或wi-fi信號的丟失、電力丟失而丟失,或者因為移動設備已經(jīng)改變地理位置等等而丟失。在其他方面,與持久連接相反,連接可被中斷,以節(jié)省功率或實現(xiàn)其他能效指標。
當用戶設備250嘗試重新連接到PNS 220時,用戶設備250可與充當設備接口240的任何信差連接。在設備連接被分配給至少一個分組或區(qū)域的實施方案中,設備接口240可通過網(wǎng)關230的一個或多個服務器調配連接,這些服務器被分配用于處理連接設備的所述區(qū)域。例如,如果設備接口240連接到被分配到區(qū)域1的用戶設備250,則設備接口240可通過負責管理區(qū)域1的一個或多個服務器來調配連接。然后,設備接口240可將用戶設備250的設備信息反向傳播到負責管理區(qū)域1的一個或多個服務器。以類似方式,設備接口240可與不同區(qū)域的服務器形成連接以反向傳播與那些相應區(qū)域相關聯(lián)的設備的特定設備信息,從而確保無論用戶設備250在哪里或如何連接到PNS 220,存在信息235都是最新的并且可用以確定如何路由內容。在一些實施方案中,設備接口240可特定于無線載波或互聯(lián)網(wǎng)服務提供方(ISP),從而允許PNS 220支持特定于多個第三方實體的協(xié)議或物理連接。
根據(jù)一個示例,當網(wǎng)關230從提供方接口225接收內容時,網(wǎng)關230基于存在信息235中的映射將從提供方接口225接收的內容轉發(fā)到設備接口240。設備接口240可將從網(wǎng)關230接收的內容傳遞到用戶設備250,在連接信息245中將保存該用戶設備的關于持久連接的信息。
在從網(wǎng)關230接收到內容后,設備接口240可在連接信息245中執(zhí)行查找或以其他方式查詢其設備連接,并將從網(wǎng)關230接收的內容發(fā)送到恰當設備,例如,經(jīng)由與用戶設備250相關聯(lián)的持久連接。在一個方面,設備接口240檢查與待傳遞的內容相關聯(lián)的設備令牌,并且確定是否在設備令牌與設備接口240在連接信息245中管理的連接之間找到匹配。設備接口240可使用由具有給定設備令牌的設備建立的連接來傳遞內容。
在操作的一個示例中,用戶設備250訂閱由提供方管理的特定應用程序,并且希望經(jīng)由PNS 220接收用于該應用程序的通知消息。因此,用戶設備250經(jīng)由通信網(wǎng)絡直接呼叫提供方或利用PNS 220呼叫提供方,并且將其設備令牌傳輸?shù)教峁┓?。設備令牌或其傳輸不僅可包括設備的識別信息,還可包括設備的UID與其區(qū)域標識符的加密組合,從而允許PNS 220根據(jù)分配給區(qū)域的恰當資源來為設備調配連接信息。
當提供方向用戶設備250上的特定應用程序發(fā)送通知消息時,提供方使用提供方接口225連接到PNS 220并將消息發(fā)送到網(wǎng)關230。即使用戶設備250與特定區(qū)域相關聯(lián),提供方也不需要連接到PNS 220的任何特定網(wǎng)關來將通知消息成功地推送到用戶設備250。例如,如果網(wǎng)關230從提供方接口225接收到內容并且內容具有設備令牌,則網(wǎng)關230將查看令牌,并將消息路由到PNS 220的恰當服務器(其可將消息路由到設備接口240或PNS 230的另一個信差)或將消息直接路由到設備接口240。
如果網(wǎng)關230是指定網(wǎng)關,則在一些實施方案中,網(wǎng)關230基于存在信息235中的其設備/信差映射來將消息發(fā)送/轉發(fā)到設備接口240。然后,設備接口240能夠在連接信息245中查找其連接,并且經(jīng)由與設備接口240的由設備建立的持久連接來將消息發(fā)送到設備。概括地講,當PNS 220接收到具有特定目的地的消息時,PNS 220的網(wǎng)關使用在設備連接到PNS 220時建立的設備/信差映射將該消息直接轉發(fā)到PNS 220的恰當信差。在另外的實施方案中,網(wǎng)關230可基于存在信息235中的其設備/連接映射來將消息直接發(fā)送/轉發(fā)到用戶設備250。網(wǎng)關230可從設備已經(jīng)與之建立連接的每個源來生成此映射信息。
II.主機和客戶端設備
圖3和圖4示出了可與圖1的系統(tǒng)100和圖2的系統(tǒng)200一起使用或作為這些系統(tǒng)的一部分使用以實現(xiàn)中繼以便接聽呼叫的客戶端設備和主機設備。盡管這些附圖示出了兩個實施方案,但各種實現(xiàn)方式可包括任何數(shù)量的客戶端設備、主機設備和可在特定設置中由這些設備支持的不同網(wǎng)絡。
應當明白,圖3和圖4所示的系統(tǒng)示出了一個實施方案,并且其他類似實施方案可具有比所示部件更多或更少的部件。其他實施方案還可包括所示部件的不同配置,同時仍屬于本文創(chuàng)新的范圍內。尤其如圖4所示的主機設備450的各種部件可以硬件、軟件或軟硬件組合來實現(xiàn),包括一個或多個信號處理電路和/或專用集成電路。
圖3示出了具有客戶端設備300、主機設備350和網(wǎng)絡390的一個實施方案??蛻舳嗽O備300可以是可通過無線接口訪問的任何設備,包括臺式計算機、膝上型計算機、智能電話、平板電腦、可穿戴設備(例如,具有網(wǎng)絡功能的手表、耳機或項鏈)、聯(lián)網(wǎng)電器(例如,具有網(wǎng)絡功能的冰箱或洗衣機)、媒體播放器、個人數(shù)字助理、鑰匙圈、門禁卡、多功能設備、游戲系統(tǒng)或任何其他此類客戶端設備。客戶端設備300包括存儲器304、處理器302、輸入設備306、顯示器308和無線接口312。能夠用作呼叫終點的客戶端設備的實施方案可附加包括揚聲器和麥克風設備作為音頻單元的一部分。主機設備350包括處理器352、存儲器354、輸入設備356、顯示器358、音頻設備370、無線接口362、無線接口364和基帶設備359。
主機設備350可以是能夠將AV信號從網(wǎng)絡390中繼到客戶端設備300的任何通信設備。主機設備的某些實施方案可具有多個通信接口,使得作為由主機設備執(zhí)行的中繼的一部分,主機設備基于第一通信協(xié)議使用一個通信接口與網(wǎng)絡通信,并且主機設備使用與第一通信接口不同的第二通信接口并且基于與第一通信協(xié)議不同的第二通信協(xié)議與客戶端設備通信。此類主機設備的示例可包括智能電話、臺式計算機、膝上型計算機和其他此類具有網(wǎng)絡功能的計算設備。
客戶端設備300可經(jīng)由連接338與主機設備350通信。類似地,主機設備350可經(jīng)由連接388與網(wǎng)絡390通信。在另外的實施方案中,客戶端設備390還可與包括網(wǎng)絡390的一個或多個其他網(wǎng)絡建立連接。不同實施方案可使用一個或多個通信協(xié)議或技術來實現(xiàn)連接338、連接388或這些連接的各方面,包括時分多址(TDMA)、碼分多址(CDMA)、全球移動通信系統(tǒng)(GSM)、增強型數(shù)據(jù)GSM環(huán)境(EDGE)、寬帶碼分多址(W-CDMA)、長期演進(LTE)、高級LTE、WiFi(諸如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、藍牙、Wi-MAX、互聯(lián)網(wǎng)協(xié)議語音(VoIP)、近場通信協(xié)議(NFC)、用于電子郵件、即時消息和/或短消息服務(SMS)的協(xié)議、或任何其他合適的通信協(xié)議,包括截至本文獻的提交日期尚未開發(fā)的通信協(xié)議。主機或客戶端設備可包括無線電路作為無線接口的一部分,諸如無線接口312、無線接口362和無線接口364,其可依據(jù)通信所需的射程經(jīng)由若干不同類型的無線網(wǎng)絡進行通信。例如,短程無線收發(fā)器(例如,藍牙)、中程無線收發(fā)器(例如,WiFi)和/或遠程無線收發(fā)器(例如,GSM/GPRS、UMTS、CDMA20001x/EV-DO和LTE/LTE-Advanced)可根據(jù)通信類型或通信的范圍來使用。
具體地講,連接338可在某些實施方案中在無線接口312與無線接口362之間直接實現(xiàn)為對等(P2P)無線連接。在其他實施方案中,連接338可包括多個附加設備和子連接,包括多個接入點、網(wǎng)絡路由連接和通信服務器。
可與無線接口諸如無線接口312,362,364,462和464一起使用無線電路,以經(jīng)由無線連接諸如連接338,388,418和488發(fā)送和接收信息。本文所述的任何設備可附加包括常規(guī)電路,諸如天線系統(tǒng)、RF收發(fā)器、一個或多個放大器、調諧器、一個或多個振蕩器、數(shù)字信號處理器、CODEC芯片組、存儲器等,以實現(xiàn)如本文所述的各種無線連接。
無線電路可經(jīng)由外圍設備接口耦接到處理器諸如處理器302和處理器354。由無線電路接收的語音和數(shù)據(jù)信息可經(jīng)由外圍設備接口發(fā)送到一個或多個處理器。一個或多個處理器諸如處理器302和352可被配置為針對存儲在設備的存儲器上的一個或多個應用程序來處理各種數(shù)據(jù)格式。
處理器305和352可運行存儲在相應存儲器304和354中的各種軟件部件以執(zhí)行設備300和350的各種功能。在一些實施方案中,軟件部件包括操作系統(tǒng)、通信模塊(或指令集)和其他應用程序(或指令集)。在不同實施方案中,處理器可以是單個集成電路、一組多個集成電路或可用于實現(xiàn)處理功能的任何邏輯硬件。
處理器所執(zhí)行的操作系統(tǒng)可以是任何合適的操作系統(tǒng)。操作系統(tǒng)可包括用于控制和管理一般系統(tǒng)任務(例如,存儲器管理、存儲設備控制、電力管理等)的各種程序、指令集、軟件部件和/或驅動器,并且有利于各種硬件和軟件部件之間的通信。
音頻設備370還包括麥克風374、揚聲器372和濾波器375。包括揚聲器372和麥克風374的音頻設備370可針對使用無線接口364和390參與電話呼叫的揚聲器作為輸入和輸出收發(fā)器進行操作。濾波器375可對輸入和輸出音頻信號執(zhí)行處理,以改善由音頻設備370創(chuàng)建的AV數(shù)據(jù)信號中的數(shù)據(jù)質量。
基帶設備359可被實現(xiàn)為與處理器352分開的設備或芯片,如圖3所示。在另選的實施方案中,基帶設備359可被實現(xiàn)為具有處理器352的集成設備、固件或由處理器352執(zhí)行的軟件?;鶐гO備359可與音頻設備370一起操作以通過管理來自音頻設備370的視聽(AV)數(shù)據(jù)來實現(xiàn)呼叫,所述數(shù)據(jù)作為呼叫的一部分被傳送到網(wǎng)絡390。為了實現(xiàn)中繼,實施方案可利用以基帶設備359實現(xiàn)虛擬音頻設備的方式起作用,所述虛擬音頻設備使得應用程序能夠訪問音頻功能并模仿從麥克風接收的輸入。這可使得能夠將從網(wǎng)絡390接收的AV數(shù)據(jù)的通信視為其是從音頻設備370接收的,如下文進一步詳述。
如本文所述的存儲器(包括存儲器304和存儲器354)可以是任何計算機可讀介質,并且還可以是能夠存儲代碼和/或數(shù)據(jù)以供一個或多個處理器或設備部件使用的任何設備或介質。這可包括存儲器分級結構,包括高速緩存、主存儲器和輔助存儲器。存儲器分級結構可使用RAM(例如,SRAM、DRAM、DDRAM)、ROM、FLASH、磁和/或光存儲設備諸如磁盤驅動器、磁帶、CD(光盤)和DVD(數(shù)字視頻光盤))的任何組合來實現(xiàn)。任何此類計算機可讀介質可駐留在單個計算機產(chǎn)品(例如,硬盤驅動器、CD或整個計算機系統(tǒng))之上或之內,并且可存在于系統(tǒng)或網(wǎng)絡內的不同計算機產(chǎn)品之上或之內。在一些實施方案中,外圍設備接口、一個或多個處理器和存儲器控制器可在本文所述的任何設備內的單個芯片上實現(xiàn)。在一些其他實施方案中,它們可以在獨立的芯片上實現(xiàn)。
本文所述的任何設備,諸如主機設備350和客戶端設備300,還可包括用于向各種硬件部件供電的電力系統(tǒng)。電力系統(tǒng)可包括電源管理系統(tǒng)、一個或多個電源(例如,電池、交流電(AC))、再充電系統(tǒng)、電源故障檢測電路、電源轉換器或反相器、電源狀態(tài)指示器(例如,發(fā)光二極管(LED))以及通常與移動設備中的發(fā)電、電源管理和配電相關聯(lián)的任何其他部件。
在一些實施方案中,主機設備和/或客戶端設備可包括各種傳感器。相機可以是傳感器的一個示例。此類相機設備連同其他傳感器可被視為輸入設備作為輸入設備356的一部分。相機可用于為視頻呼叫創(chuàng)建AV數(shù)據(jù)。在一些實施方案中,設備還可包括各種其他傳感器。傳感器可包括加速度計、羅盤、陀螺儀、壓力傳感器、音頻傳感器、光傳感器、氣壓計、麥克風等。傳感器可用于實現(xiàn)各種設備決策制定和濾波,諸如用于視頻呼叫中的視頻圖像的模糊補償,或者用于實現(xiàn)音頻濾波以有助于從在一個或多個麥克風諸如麥克風374處捕獲的音頻信息過濾背景噪聲。
在一些實施方案中,客戶端設備300或主機設備350可包括GPS接收器或者其他位置輔助設備或模塊。設備可使用衛(wèi)星導航系統(tǒng)諸如全球定位系統(tǒng)(GPS)來獲得定位信息、定時信息、高度或其他導航信息。在操作期間,GPS單元可接收來自繞地球飛行的GPS衛(wèi)星的信號。GPS單元對信號進行分析以對傳送時間和傳送距離作出估計。GPS單元可確定移動設備的當前定位(當前位置)?;谶@些估計,移動設備可確定位置方位、高度和/或當前速度。位置方位可為地理坐標,諸如緯度和經(jīng)度信息。其他非GPS位置/運動模塊可幫助確定客戶端設備300或主機設備350的當前位置(例如,坐標或其他地理位置標識符)和運動。除了GPS之外,基于“小區(qū)ID”的蜂窩網(wǎng)絡定位和基于WiFi網(wǎng)絡的WiFi定位技術可用于位置輔助。在一些實施方案中,位置/運動模塊可與以上系統(tǒng)一起使用傳感器信息來確定移動設備的當前位置并幫助用戶找到設備。
處理器302和處理器352可執(zhí)行其相應設備上的一個或多個應用程序,包括但不限于瀏覽器、地址簿、聯(lián)系人列表、電子郵件、即時消息、文字處理、鍵盤仿真、桌面小程序、具有JAVA功能的應用程序、加密、數(shù)字權限管理、語音識別、語音復制、音樂播放器(其重放存儲在一個或多個文件諸如MP3或AAC文件中的記錄音樂)等。所述一個或多個應用程序還可包括用于管理通信或用于管理呼叫的具有中繼功能的特定應用程序。
可存在其他模塊或指令集,諸如圖形模塊、時間模塊等。例如,圖形模塊可包括用于在顯示器表面上渲染、以動畫方式顯示和顯示圖形對象(包括但不限于文本、網(wǎng)頁、圖標、數(shù)字圖像、動畫等)的各種常規(guī)軟件部件。在另一個示例中,定時器模塊可以是軟件定時器。定時器模塊還可以硬件的形式實現(xiàn)。時間模塊可包括用于任意數(shù)量的事件的各種定時器。
包括各種輸入設備的I/O子系統(tǒng)可耦接到顯示器系統(tǒng),諸如顯示器308或顯示器358。這些顯示器可以是觸敏的,并且因此可作為顯示器和輸入設備進行操作。客戶端設備300的觸敏顯示器因此可作為輸入設備306和顯示器308進行操作。主機350的觸敏顯示器可作為顯示器358和輸入設備356進行操作。顯示器可在圖形用戶界面(UI)中向用戶呈現(xiàn)視覺輸出。視覺輸出可包括文本、圖形、視頻以及它們的任何組合。視覺輸出中的一些或所有可對應于用戶界面對象。盡管顯示器可使用LED(發(fā)光二極管)技術、LCD(液晶顯示器)技術或LPD(發(fā)光聚合物顯示器)技術,但在其他實施方案中也可使用其他顯示技術。
在一些實施方案中,I/O子系統(tǒng)可包括顯示器和用戶輸入設備諸如鍵盤、鼠標和/或觸控板作為一個或多個輸入設備306或一個或多個輸入設備356的一部分。在一些實施方案中,I/O子系統(tǒng)可包括觸敏顯示器。觸敏顯示器還可接受來自用戶的基于觸覺和/或觸感接觸的輸入。在一些實施方案中,觸敏顯示器形成接受用戶輸入的觸敏表面。觸敏顯示器/表面(連同任何相關聯(lián)的模塊和/或指令集)檢測觸敏顯示器上的接觸(和接觸的任何移動或釋放),并將檢測到的接觸轉換為與在接觸發(fā)生時顯示在觸摸屏上的用戶界面對象(例如,一個或多個軟鍵)的交互。在一些實施方案中,觸敏顯示器與用戶之間的接觸點對應于用戶的一個或多個數(shù)字。用戶可使用諸如觸筆、筆、手指等任何合適的物體或附屬件來接觸觸敏顯示器。觸敏顯示器表面可使用任何合適的觸敏技術來檢測接觸及其任何移動或釋放,這些技術包括電容式、電阻式、紅外和表面聲波技術以及其他接近傳感器陣列或用于確定與觸摸顯示器的一個或多個接觸點的其他元件。
此外,特定客戶端設備或主機設備的輸入設備可耦接到一個或多個其他物理控制設備(未示出),諸如按鈕、按鍵、開關、搖桿按鈕、撥號盤、滑動開關、操作桿、LED等,用于控制或執(zhí)行各種功能,諸如功率控制、揚聲器音量控制、電話鈴聲響度、鍵盤輸入、滾動、保持、菜單、鎖屏、清除和結束通信等。在一些實施方案中,除了觸摸屏之外,設備還可包括用于激活或去激活特定功能的與屏幕分開的觸控板。在一些實施方案中,觸控板是設備的觸敏區(qū)域,與觸摸屏不同,其不顯示視覺輸出。觸控板可以是與觸敏顯示器分開的觸敏表面,或者是由該觸敏顯示器形成的觸敏表面的延伸部。
在一些實施方案中,本文所述操作中的一些或全部可使用在用戶的移動設備上實施的應用程序來執(zhí)行。電路、邏輯模塊、處理器和/或其他部件可被配置為執(zhí)行本文所述的各種操作。本領域的技術人員將了解,根據(jù)具體實施,可通過特定部件的設計、設置、互連和/或編程完成此類配置,并且同樣根據(jù)具體實施,配置的部件可以針對不同操作是可重新配置的或不是可重新配置的。例如,可編程處理器可通過提供合適的可執(zhí)行代碼來配置;專用邏輯電路可通過適當?shù)剡B接邏輯門和其他電路元件來配置;等等。
結合本發(fā)明的各種特征的計算機程序可在各種計算機可讀存儲介質上編碼;合適的介質包括磁盤或磁帶、光學存儲介質諸如光盤(CD)或DVD(數(shù)字多功能光盤)、閃存存儲器等。用程序代碼編碼的計算機可讀存儲介質可封裝有兼容設備或獨立于其他設備提供。此外,可經(jīng)由符合多種協(xié)議的有線光學和/或無線網(wǎng)絡(包括互聯(lián)網(wǎng))編碼和傳輸程序代碼,從而允許例如經(jīng)由互聯(lián)網(wǎng)下載進行分發(fā)。
除了上文詳述的客戶端設備(諸如客戶端設備300和400A-Z)以及主機設備(諸如主機設備350和450)之外,網(wǎng)絡(諸如網(wǎng)絡390)和網(wǎng)絡連接(諸如網(wǎng)絡連接338,388,418和488)的各方面還可使用各種設備和設備部件來實現(xiàn)。例如,盡管在某些實施方案中連接338可以僅為直接在無線接口312與無線接口362之間的P2P無線連接,但在其他實施方案中,通信網(wǎng)絡(諸如通信網(wǎng)絡140)可用于實現(xiàn)連接338。這種連接可包括一個或多個接入點、路由器、服務器計算機、存儲設備或用于實現(xiàn)網(wǎng)絡連接338的其他設備。這些設備中的每一者可包括如上文詳述的處理器、存儲器和輸入/輸出結構。類似地,除了上文詳述的服務器計算機和其他網(wǎng)絡基礎結構之外,其他網(wǎng)絡連接可涉及小區(qū)塔、交換網(wǎng)絡、包處理設備,其中每一者可包括處理部件、存儲器部件和網(wǎng)絡接口部件。
盡管已結合具體實施方案描述了本發(fā)明,但應當理解,本發(fā)明旨在覆蓋以下權利要求范圍內的所有修改形式和等同形式。
圖4包括客戶端設備400A-Z、主機設備450和網(wǎng)絡490??蛻舳嗽O備400A-Z可各自類似于客戶端設備300,并且網(wǎng)絡490可類似于如上文相對于圖3所詳細描述的網(wǎng)絡390。主機設備450可類似于主機設備350。在主機設備350示出可組成主機設備的一部分的部件的一個實施方案時,主機設備450被示出為包括可整體或部分地實現(xiàn)為軟件、固件和/或硬件的元件。對于軟件或固件實施方案,這些元件可整體或部分地實現(xiàn)為處理器和存儲器,諸如處理器352和存儲器354。圖4的這些元件還可與主機設備350中所示的其他硬件部件一起,或使用未具體示出的其他部件或部件群組來實現(xiàn)。
主機設備450被示出為包括用戶界面451、中繼應用程序452、IDS 453、信令454、A/V會議456、基帶I/O 474、基帶音頻單元472、音頻單元470以及無線接口462和464。
用戶界面451可指顯示輸出、與用戶輸入動作相關聯(lián)的一組選項,或者顯示輸出與相關聯(lián)用戶輸入選項的組合。用戶界面可因此使用下述的組合來實現(xiàn):顯示器諸如顯示器358,一個或多個輸入設備諸如輸入設備356,以及如使用處理器和存儲器諸如處理器352和存儲器354實現(xiàn)的相關聯(lián)邏輯和呈現(xiàn)。例如,用戶界面451可包括觸摸屏界面上的顯示,其中在顯示上呈現(xiàn)的接聽界面包括接聽按鈕和呼叫者識別窗口。還可存在其他按鈕,包括忽略按鈕以及與呼叫另一側的對方相關的附加信息。還可在此類界面中存在中繼按鈕,以發(fā)起將呼叫中繼到客戶端設備400A-Z。
用戶界面451根據(jù)呼叫狀態(tài)可具有多種形式,諸如呼入呼叫界面、呼叫接聽界面、呼叫保持界面或其他此類狀態(tài)依賴形式。每種形式可與輸出給用戶的不同顯示相關聯(lián),并且該不同顯示識別用于每種形式的用戶界面451的不同用戶選擇選項。隨著設備的狀態(tài)改變,響應于用戶界面451處的用戶選擇,響應于自動變化諸如呼叫超時,或響應于在無線接口處接收到的對方通信,用戶界面451的形式可改變。例如,呼入呼叫界面可響應于接收到用戶界面451處接收的接聽呼叫輸入而變?yōu)楹艚薪勇牻缑妗;蛘?,如果對方在用戶界?51處作出任何選擇之前終止呼入呼叫,則呼入呼叫界面可變?yōu)槟J界面。
中繼應用程序452可為實現(xiàn)如本文所述的中繼功能性的任何應用程序。在某些實施方案中,中繼應用程序452可本質上充當用于在主機設備450上進行操作的其他應用程序的接口,以與其他模塊一起實現(xiàn)中繼功能性。在其他實施方案中,中繼應用程序可為與中繼功能性集成的任何類型的應用程序,包括呼叫應用程序、游戲應用程序、多用途通信應用程序或者可使用主機設備450的處理器進行操作的任何其他此類應用程序。中繼應用程序452可與身份服務(IDS)453、信令454、基帶音頻單元472和用戶界面451交互,以管理中繼功能性的實現(xiàn)。在其他實施方案中,中繼應用程序452可集成來自其他模塊的功能性,或可以任何方式與其他模塊通信,以實現(xiàn)如本文所述的中繼功能性。
IDS 453可為在主機設備450上進行操作以作為中繼功能性的一部分實現(xiàn)身份服務的模塊。這可與附加IDS服務諸如圖1的身份管理基礎結構105和圖2的IDS 205一起進行。在某些實施方案中,IDS 453可被視為用于經(jīng)由無線接口與身份管理服務器交互的接口。IDS 453可包括身份管理服務器的地址以及與主機設備450相關聯(lián)的身份。
作為實現(xiàn)中繼功能性的一部分,IDS 453可與身份管理服務器通信,以將客戶端設備400A-Z識別為與同一身份或者與主機設備450也相關聯(lián)的相關身份相關聯(lián)。一旦設備與身份群組的關聯(lián)被確認,則IDS 453還可管理主機設備450與客戶端設備400A-Z之間的連接。在某些實施方案中,IDS 453可存儲從身份管理服務器接收的用于主機設備450的主機標識符。IDS 453可附加存儲用于已經(jīng)被識別為身份群組的一部分或共享賬戶身份的客戶端設備的客戶端標識符。這些標識符中的每一者可為允許設備在呼叫中繼操作期間區(qū)別一個設備與另一個設備的唯一標識符。
信令454和AV會議456可各自至少部分地包括由IDS 453開啟的通信端口,該通信端口作為主機設備450與客戶端設備400A-Z中的一者或多者之間的通信和信號中繼的一部分。例如,如果用戶界面451處的輸入致使中繼應用程序452請求與同主機設備450共享身份的客戶端設備進行通信,則IDS 453可與身份管理服務器通信,以將客戶端設備400A-Z識別為與主機設備450共享身份。IDS 453可接著使用來自身份管理服務器的信息來開啟信道,以用于與客戶端設備400A-Z中的每一者的開銷通信,所述開銷通信作為信令454的一部分。
此類信道在某些實施方案中可使用TCP用于通信,并且可涉及開啟互聯(lián)網(wǎng)協(xié)議(IP)套接字以用于客戶端設備400A與主機設備450之間的通信。在其他實施方案中,可使用任何其他此類通信協(xié)議。類似地,如果與特定客戶端設備發(fā)起視聽(AV)通信的中繼,則IDS 453可管理開啟特定用于AV通信的IP套接字,所述AV通信作為AV會議456的一部分。這可為與信令454所使用的信道分開的信道,即使該通信在相同設備之間。
在某些實施方案中,作為中繼呼叫的一部分,AV會議456可包括基于AV通信信號質量的自適應信道管理。例如,AV會議456可用作系統(tǒng)的一部分來識別丟棄的分組或信道降級,并且可調整信號的編碼或各方面以在中繼過程期間管理呼叫性能。作為此類自適應信道管理的一部分,AV會議456可與基帶I/O 474一起工作,以管理AV數(shù)據(jù)的編碼,以用于傳送到客戶端設備的通信。基帶I/O 474可在其他實施方案中管理來自任何源的AV數(shù)據(jù)的編碼,以用于跨網(wǎng)絡490傳送到客戶端設備和/或呼叫對方以及從客戶端設備和/或呼叫對方傳送的通信。
另外,在某些實施方案中,信令454和/或AV會議456可與IDS 453一起工作,以作為呼叫中繼的一部分來分配各種標識符。例如,在某些實施方案中,IDS可向任何客戶端設備或主機設備提供要在呼叫期間使用的唯一標識符。在另外的實施方案中,可在單個主機設備與單個客戶端設備之間開啟多個連接,并且作為較大身份服務系統(tǒng)的一部分進行操作的IDS 453可向每個連接提供唯一標識符。因此,如果針對主機與第一客戶端設備之間的信令和控制通信開啟一個IP套接字,并且針對AV通信開啟第二IP套接字,則IDS 453可為每個套接字或與每個套接字相關聯(lián)的信道來分配唯一標識符。
音頻單元470可類似于音頻單元370,并且可包括麥克風、揚聲器、濾波部件和其他AV通信部件。在某些實施方案中,這可包括與無線頭戴式耳機或與一組有線揚聲器的通信。其他實施方案可包括任何此類音頻設備部件。基帶輸入/輸出(I/O)474可指作為主機設備450的一部分用于管理AV通信的硬件、固件或軟件。在主機設備450與對方電話之間經(jīng)由網(wǎng)絡490的移動電話通信中,基帶I/O 474可管理來自音頻單元470的麥克風輸入信號和揚聲器輸出信號。
除了管理來自音頻單元470的信號之外,基帶I/O 474還可管理來自基帶音頻單元472的AV通信信號。基帶音頻單元472可在某些實施方案中作為虛擬音頻單元進行操作,該虛擬音頻單元可提供各種應用程序,諸如能夠訪問基帶I/O 474的中繼應用程序452。作為中繼功能性的一部分,這可使得將被發(fā)送到音頻單元470以經(jīng)由揚聲器輸出的來自網(wǎng)絡490的AV通信能夠改為發(fā)送到基帶音頻單元472以經(jīng)由AV會議456中繼到另一個設備。AV會議可因此從客戶端設備接收上行鏈路會議音頻流,并將該上行鏈路會議音頻流輸入到基帶I/O 474?;鶐/O可輸出上行鏈路音頻流,并且該流可作為呼叫的一部分在主機設備450從網(wǎng)絡490接收下行鏈路音頻數(shù)據(jù)流時被傳送到網(wǎng)絡490。
在某些實施方案中,基帶音頻單元472可被構造成接收音頻單元470將接收的相同信號。然而,并不是在麥克風上輸出信號,而是基帶音頻單元傳輸信號。這可被視為提供與保持第一電話揚聲器的輸出緊挨著第二電話的輸入麥克風類似的結果,以便將信號中繼到客戶端設備諸如客戶端設備400A?;鶐б纛l單元472可另外經(jīng)由無線接口462從AV會議456和基帶I/O 474接收AV通信,以使用無線接口464和網(wǎng)絡490將AV通信中繼到呼叫對方?;鶐б纛l單元472可因此在某些實施方案中使得能夠繞過主機設備450的音頻單元470,以便在網(wǎng)絡490與客戶端設備之間中繼AV通信。
盡管圖4示出了模塊和各模塊之間的連接的系統(tǒng)的一個實施方案,但另選的實施方案可以任何可能方式組合或實現(xiàn)此類模塊之間的通信。例如,在某些實施方案中,中繼應用程序452可包含IDS 453和基帶音頻單元472。在另選的實施方案中,來自無線接口464的AV通信可由附加信模塊傳送到中繼應用程序452。在另外的實施方案中,基帶I/O 474、基帶音頻單元472和音頻單元470可以多種方式進行組合或集成。在另外的實施方案中,除了中繼應用程序452之外還有多個應用程序可訪問基帶音頻單元472,以使得應用程序能夠訪問虛擬音頻單元和相關聯(lián)的功能性。
III.中繼呼叫到客戶端
A.順序圖
圖5描述了一種使用中繼進行呼叫的方法。圖5的圖表被例示為使用來自圖3的第一客戶端設備300、主機設備350和網(wǎng)絡390。在另選的實施方案中,可使用任何客戶端設備、主機設備和網(wǎng)絡。圖5的圖表另外還示出了一種可能的順序,其中該順序從上到下進行。另選的實施方案可按次序來實現(xiàn),所述次序在考慮到信號和輸入的特定依賴性的情況下以可能的任何方式更改。
在初始框502和504中包括用身份服務進行設備注冊。這使得客戶端設備300和主機設備350能夠作為一個身份或一組身份的一部分來相關聯(lián)。這還使得能夠通過身份管理系統(tǒng)向每個設備給予唯一標識符,使得可在中繼通信期間容易地識別每個特定設備。
作為另一初始框,506包括在主機設備350處接收呼叫中繼設置。這可包括對要用于所有呼入呼叫、特定群組的呼入呼叫、某些時間或觸發(fā)時間段期間的呼叫或者任何其他此類設置的呼叫中繼的選擇???06還可包括客戶端設備將接收中繼消息的設置。這可包括對與主機設備350所共享的身份或賬戶相關聯(lián)的特定客戶端設備的選擇的任何組合。
在框508中,網(wǎng)絡390攜帶來自對方的呼叫,并且將呼叫傳送到主機設備350。在框510中,主機設備350接收呼入呼叫請求,并且基于來自框506的設置,將呼叫的通知中繼到一個或多個客戶端設備。這種中繼通信可包括呼入電話號碼、主機設備ID、與客戶端設備和主機設備兩者相關聯(lián)的用戶身份或賬戶身份,以及與通信相關聯(lián)的其他ID諸如視頻ID,或與呼叫相關聯(lián)的其他元數(shù)據(jù)。這種中繼過程可類似于針對圖4所描述的過程,其中主機設備350的IDS模塊訪問IDS服務器,以識別包括客戶端設備300的多個客戶端。主機設備350可接著將呼入呼叫的通知傳送到所有相關聯(lián)的客戶端設備。作為對接收到呼入呼叫的響應的一部分,主機設備350還可更新用戶界面,以指示呼叫正在呼入并且通知已被中繼到一個或多個客戶端設備。在某些實施方案中,呼入呼叫請求的中繼可使用信令模塊,諸如圖4的信令454。
在框512中,客戶端設備300通過中繼呼叫請求接收呼叫的通知??蛻舳嗽O備300可接著顯示指示呼叫正在主機設備350處呼入的用戶界面。當經(jīng)由用戶界面接收到接受該呼叫的輸入時,可向主機設備350發(fā)送呼叫接受通知。此類呼叫接受通知可包括如上文論述的由身份服務系統(tǒng)分配的唯一標識符。其還可包括與主機設備和客戶端設備兩者相關聯(lián)的用戶身份、開始時間、任何數(shù)量的系統(tǒng)狀態(tài)標記以及任何其他此類元數(shù)據(jù)。在某些實施方案中,可在接收到接受呼叫輸入時更新用戶界面,而在其他實施方案中,用戶界面更新可等待呼叫連接,或者用戶界面可在該過程的整個此部分中在客戶端設備300處更新多次。
在框514中,主機設備350接收在客戶端設備300處接收到接受呼叫輸入的通知。如果多個客戶端設備被告知呼入呼叫,則主機設備350可接著將呼叫已被接受的更新傳送到客戶端設備300之外的被告知的客戶端設備。主機設備350還可實現(xiàn)管理來自多個設備的有沖突的呼叫接受輸入的過程。
在框516和518中,開啟AV會議以使得能夠將AV通信從主機設備350中繼到客戶端設備300。在框520中,使主機設備350的音頻單元靜音,并且在框522和524中,完成用于呼入呼叫的網(wǎng)絡連接。該過程可在某些實施方案中為用于連接呼叫以使得主機設備350的用戶能夠作為呼叫的一部分進行講話的相同過程。在該過程期間使音頻單元520靜音,因為雖然呼叫被連接,但中繼正因中繼過程而代替音頻單元功能性。在不使音頻單元520靜音的情況下進行的中繼操作可在一些實施方案中導致主機設備350處的揚聲器和麥克風自動接合,這可干擾通過從主機設備350向客戶端設備300的呼叫中繼而創(chuàng)建的客戶端設備300與網(wǎng)絡390之間的端到端呼叫。
這種端到端呼叫在框526、528和530處基于以上過程來建立。作為這些框的一部分,經(jīng)網(wǎng)絡390發(fā)送并從呼叫對方接收AV通信。類似地,客戶端設備300作為AV通信的一部分發(fā)送和接收AV信息。主機設備350作為框528的一部分在客戶端300與網(wǎng)絡390之間中繼信息。這種呼叫中繼持續(xù)進行,直到在框532或536處接收到斷開輸入為止。此類斷開輸入可以多種方式接收。
在某些實施方案中,如果經(jīng)由客戶端設備300或主機設備350的用戶界面接收到中止中繼的輸入,則中繼斷開,呼叫可在中繼斷開后繼續(xù)進行。在此類輸入之后,呼叫可在主機設備350與網(wǎng)絡390之間繼續(xù)進行。還可經(jīng)由客戶端設備300或主機設備350的用戶界面接收斷開輸入。在任一種情況下,使用客戶端設備300與主機設備350之間的連接的AV會議將在中繼終止后被清理,并且在框534中,客戶端設備300的用戶界面將返回到默認狀態(tài)。類似地,在框538和540中斷開呼叫后,所采取的關于呼叫的任何動作都可在主機設備350處被清理,并且主機設備用戶界面可返回到默認狀態(tài)。
B.主機設備
圖6描述了根據(jù)本發(fā)明的實施方案在客戶端設備與主機設備之間中繼呼叫的方法600。圖6描述了在主機設備處執(zhí)行的方法。主機設備可類似于主機設備350、主機設備450或任何其他此類主機設備。如所示,在圖6的實施方案中涉及一種主機設備,其具有用于向第一網(wǎng)絡進行通信的第一無線接口、用于向第一客戶端設備進行通信的第二無線接口、存儲器、顯示器以及耦接到第一無線接口和第二無線接口、耦接到存儲器并且耦接到輸出顯示器(例如,觸摸屏顯示器)的處理器。
在框602處,作為呼叫的一部分,主機設備的第一無線接口從第一網(wǎng)絡接收語音邀請通信。語音邀請通信可用于音頻呼叫、視頻通信或包括音頻和視頻兩者的呼叫。如本文使用,AV通信、語音通信或呼叫是指可僅包括音頻或視頻或者包括兩者的通信。第一無線接口的示例包括無線電網(wǎng)絡接口,諸如3G、4G和LTE。語音邀請通信是向主機設備通知存在呼入呼叫的信號。此類通信可在電話經(jīng)由無線電網(wǎng)絡從另一電話接收電話呼叫時發(fā)生。語音邀請通信可另外包括元數(shù)據(jù),諸如與發(fā)起呼叫的設備或對方相關聯(lián)的標識符。
在框604處,主機設備的輸出顯示器響應于接收到語音邀請通信而在輸出顯示器上顯示呼叫接收界面。此類界面可包括呼叫詳情、與物理按鈕相關聯(lián)的信息的顯示或者觸摸屏上的虛擬按鈕的創(chuàng)建。呼叫詳情可包括呼叫者ID信息,其可包括來自聯(lián)系人列表的姓名。此類界面的示例可包括以下按鈕中的一者或多者:接聽按鈕、保持按鈕、轉發(fā)按鈕和拒絕按鈕。
在框606處,通過訪問與用戶相關聯(lián)的一個或多個客戶端設備的列表來識別第一客戶端設備。該列表包括用于每個客戶端設備的設備標識符。主機設備可將該列表存儲在主機設備的存儲器中,例如閃存存儲器或RAM中。主機設備可從服務器檢索該列表,然后將該列表暫時存儲在存儲器中。因此,可在接收到語音邀請通信后通過與身份管理服務器通信來訪問該列表。
客戶端設備標識符可用于確??蛻舳嗽O備是認可設備,其可在發(fā)送語音邀請通信時被確定??蛻舳藰俗R符還可用于將該通信識別為第一連接的一部分,因而主機設備知道如何處理該通信,例如,如何對第一網(wǎng)絡作出響應。
可識別除第一客戶端外的更多客戶端設備??舍槍ζ渌蛻舳嗽O備執(zhí)行類似程序。例如,可針對多個客戶端設備并行地執(zhí)行步驟608至622中的至少一些。取決于哪個客戶端設備用接聽通信作出響應,可將呼叫轉發(fā)到該客戶端設備。
在框608處,主機設備的第二無線接口使用與第一客戶端設備相關聯(lián)的第一標識符將語音邀請通信中繼到第一客戶端設備。如本文所述,中繼語音邀請通信可包括發(fā)送在主機設備處接收到的通信的副本或副本的一部分。這還可包括響應于接收到語音邀請通信而創(chuàng)建新通知并且發(fā)送該通知。任一無線接口設備可被配置為隨時傳送本文所述的無線信號。
另外,在某些實施方案中,第一無線接口和第二無線接口可為用于不同無線通信類型的不同物理設備。例如,第一無線接口可包括廣域網(wǎng)天線,并且第二無線接口可包括局域網(wǎng)或近場天線。在其他實施方案中,第一無線接口可為與第二無線接口相同的接口。語音邀請通信可包括與第一網(wǎng)絡所發(fā)送的信息相同信息,或者可具有包括第一網(wǎng)絡所發(fā)送的更多或更少信息的不同形式。
在框610處,第二無線接口從第一客戶端設備接收客戶端接聽通信。在另選的實施方案中,客戶端接聽通信可經(jīng)由除了已用于傳送語音邀請通信的接口之外的不同接口來接收。客戶端接聽通信可為指示用戶已經(jīng)在第一客戶端設備上接受該呼叫的任何信號。
如果第二無線接口從不同客戶端設備接收多個客戶端接聽通信,則主機設備可基于一個或多個準則來選擇這些客戶端設備中的一者。例如,用戶可在主機設備處針對客戶端設備的優(yōu)選次序來設置優(yōu)先級列表,其中可選擇提供接聽的具有最高優(yōu)先級的客戶端設備。例如,當特定電話默認用于進行視頻呼叫(例如,用戶所設的默認設置)時,該電話可具有最高優(yōu)先級。在一個實施方案中,僅向用戶提供頂部主機設備。在這種情況下,用戶通過請求進行呼叫來有效地選擇電話。
在框612處,主機設備使用第一無線接口為呼叫建立第一連接。第一連接可為框602中用于接收語音邀請通信的相同連接。第一連接還可為與框602中所使用的連接不同的連接。在一個具體實施中,第一連接可好像用戶在主機設備上已接聽呼叫那樣進行。
在框614處,第一無線接口使用第一連接向網(wǎng)絡發(fā)送主機接聽通信。框614可部分地涉及經(jīng)由第一無線接口從網(wǎng)絡接收呼叫連接通信。這可涉及多輪通信和確認傳輸作為握手過程的一部分來建立連接。第一連接可接著提供主機設備與網(wǎng)絡之間的語音數(shù)據(jù)和/或視頻數(shù)據(jù)以及可能的其他元數(shù)據(jù)的通信。主機接聽通信可為向第一網(wǎng)絡指示呼叫接聽的來自主機設備的任何信號。
在框616處,主機設備使用第二無線接口和第一標識符來建立與第一客戶端設備的第二連接。第二連接響應于客戶端接聽通信而在第一客戶端設備與主機設備之間提供語音和/或視頻數(shù)據(jù)的通信。第二連接可為與用于輸送客戶端接聽通信的連接相同或不同連接。第一標識符可用于確保向接聽邀請通信的客戶端設備建立了第二連接。
在框618處,主機設備經(jīng)由第一無線接口從網(wǎng)絡接收呼叫連接通信。呼叫連接通信可發(fā)生在與第一客戶端設備建立第二連接之前或之后。
在框620處,主機設備基于呼叫連接通信將呼叫的狀態(tài)更新為活動??蓪⒑艚袪顟B(tài)保持在工作存儲器中,例如,使得主機設備可繼續(xù)在第一客戶端設備與第一網(wǎng)絡之間轉發(fā)數(shù)據(jù)。
在框622處,第二無線接口將呼叫中繼到第一客戶端設備。主機設備可接著繼續(xù)中繼AV信息,直到中繼被終止并且主機設備成為呼叫的終點為止,或者直到呼叫被終止并且與該呼叫相關聯(lián)的連接被關閉并清理為止。
C.客戶端設備
圖7描述了方法700,該方法與方法600相關,但對應地由充當相關聯(lián)主機設備所中繼通信的終點的客戶端設備執(zhí)行。執(zhí)行圖7的方法的第一客戶端設備可為本文所述的任何客戶端設備,并且包括無線接口、輸出顯示器以及耦接到無線接口和輸出顯示器的處理器。
在框702處,作為呼叫的一部分,第一客戶端設備經(jīng)由客戶端設備的無線接口從主機設備接收語音邀請通信。語音邀請通信包括識別主機設備的主機標識符。上文提供了語音邀請通信的示例。假如在第一客戶端設備處接聽呼叫,第一客戶端設備就可將主機標識符用于與主機設備建立連接。在另一個示例中,第一客戶端設備可使用主機標識符來確保主機設備與第一客戶端設備的相同用戶相關聯(lián)。例如,第一客戶端設備可對照用戶的已知設備的列表來檢查主機標識符,其中列表可存儲在客戶端設備處或由第一客戶端設備從服務器(例如,身份管理基礎結構105的服務器)訪問。主機標識符可用于促進第一客戶端設備與主機設備之間的任何通信。
在框704處,第一客戶端設備可響應于接收到語音邀請通信來提供呼叫接收界面。呼叫接收界面可通過輸出顯示器上的顯示或通過語音(例如,語音命令界面)而可見。此類界面可包括呼叫詳情、與物理按鈕相關聯(lián)的信息的顯示或者觸摸屏上的虛擬按鈕的創(chuàng)建。呼叫詳情可包括呼叫者ID信息,其可包括來自聯(lián)系人列表的姓名。此類界面的示例可包括以下按鈕中的一者或多者:接聽按鈕、保持按鈕和拒絕按鈕??身憫诮邮盏秸Z音邀請通信而輸出可聽鈴聲。
在框706處,呼叫接收界面接收對接聽呼叫的輸入。該輸入可經(jīng)由輸出顯示器(例如,經(jīng)由按鈕的觸摸選擇)或經(jīng)由語音命令來提供。例如,用戶可在輸出顯示器上選擇接聽按鈕,或者用戶可在呼叫接收界面提示時說“接聽”。
在框708處,第一客戶端設備為該呼叫建立第一連接。第一連接在客戶端設備與主機設備之間提供音頻通信。該連接可例如使用無線接口和AV會議來執(zhí)行,該AV會議部分地在主機設備上、部分地在客戶端設備上經(jīng)由耦接設備的信道和無線接口來實現(xiàn)。第一連接可為用于接收語音邀請通信的相同連接。在另一個實施方案中,第一連接可為新生成的,并且與用于接收語音邀請通信的連接分開。
在框710處,第一客戶端設備響應于對接聽呼叫的輸入而將呼叫接聽通信傳送到主機設備。呼叫接聽通信可包括與第一客戶端設備相關聯(lián)的客戶端標識符。主機設備可使用客戶端標識符,例如,以便確定哪個客戶端設備來轉發(fā)呼叫。主機設備所作的這種確定可包括優(yōu)先級列表,如上文所述??蛻舳藰俗R符還可用于確??蛻舳嗽O備是認可設備,其可在發(fā)送語音邀請通信時被確定。客戶端標識符還可用于將該通信識別為第一連接的一部分,因而主機設備知道如何處理該通信,例如,如何對第一網(wǎng)絡作出響應。
在框712處,呼叫狀態(tài)被更新為活動。例如,第一客戶端設備可將呼叫狀態(tài)存儲在工作存儲器中,以識別是否繼續(xù)第一連接來與主機設備交換數(shù)據(jù)。在此之后,第一客戶端可充當呼叫的終點,經(jīng)由網(wǎng)絡和主機設備從呼叫對方接收AV信息,并且沿著相同路徑傳送回AV信息,直到中繼終止。
在稍后的時間里,用戶可選擇在第一客戶端設備處結束呼叫。此類輸入可在輸出顯示器上的結束呼叫按鈕處接收。第一客戶端設備可向主機設備發(fā)送結束響應,使得主機設備可關閉與網(wǎng)絡的連接。第一客戶端設備可響應于結束輸入而關閉與主機設備的第一連接。
IV.在客戶端處發(fā)起呼叫
A.順序圖
圖8描述了根據(jù)本發(fā)明的實施方案的一種方法,其中呼叫可由用戶的客戶端設備發(fā)起以經(jīng)由用戶的主機設備進行。另外,可執(zhí)行移交(轉移)來將呼叫的終點從發(fā)起客戶端設備移至中繼主機設備。如上所述,此類中繼還可在主機設備正從對方接收呼入呼叫時執(zhí)行,如圖5所述。
在框802和804中,第一客戶端設備300和主機設備380可向身份管理系統(tǒng)注冊。這可向設備提供唯一標識符并且使設備與身份或賬戶相關聯(lián)。作為這種注冊和關聯(lián)的一部分,設備可在本地存儲用于共享身份的設備的唯一標識符,這使得主機設備能夠在發(fā)起中繼之前在無需訪問IDS服務器的情況下定位客戶端設備。在各種實施方案中,可周期性地或基于各種觸發(fā)諸如從身份系統(tǒng)推送的系統(tǒng)更新或警報來重申或更新注冊。
在框806中,可對呼叫設置進行初始化。例如,如果身份或賬戶與多個主機設備相關聯(lián),則設置可識別哪個主機設備可與第一客戶端設備300一起使用或識別第一客戶端設備300應當嘗試首先使用來發(fā)起呼叫中繼的主機設備的優(yōu)先級列表。在框808中,可在主機設備380處設置呼叫中繼設置。這可包括允許來自特定客戶端設備的呼出呼叫的設置。這還可包括超時設置,其可在與第一客戶端設備300或網(wǎng)絡390的連接靜默持續(xù)由呼叫中繼設置確定的時間段后斷開中繼。
在框810中,默認用戶界面初始顯示有發(fā)起呼叫輸入選項。在用戶界面處接收發(fā)出呼叫輸入,并且從第一客戶端設備300向主機設備380發(fā)送傳送呼叫消息。在框812中,主機設備380從第一客戶端設備300接收呼叫請求,并且更新用戶界面。在框814和816中,使用用于呼叫的中繼部分的信道開啟AV會議。在框818中,使主機設備380的音頻單元靜音,并且在框820和822中,建立用于該呼叫的網(wǎng)絡連接。在各種實施方案中,作為建立用于該呼叫的連接的一部分的通信諸如電話鈴聲或占線信號可被中繼回第一客戶端設備300,使得與這些通信相關聯(lián)的聲音可在第一客戶端設備300處播放。盡管AV會議的開啟和音頻的靜音被示出為在針對呼叫建立與網(wǎng)絡390的網(wǎng)絡連接之前,但在某些實施方案中,AV會議可在呼叫連接之后建立。
在框824、826和828中,作為呼叫的一部分,在網(wǎng)絡390與第一客戶端設備300之間中繼作為呼叫的一部分的AV信息。在此之后,如框830至840所示,可將呼叫的終點從第一客戶端設備轉移到主機設備。在框830中,在第一客戶端設備300處接收呼叫移交輸入(轉移請求)。接著在框830和834中關閉AV會議,并且在框832處更新第一客戶端設備處的用戶界面。
在框836中,取消音頻單元靜音,并且主機設備成為呼叫的終點。在某些實施方案中,這個取消靜音過程可以多種不同方式來執(zhí)行。例如,參見圖4,在呼叫中繼期間,來自網(wǎng)絡390的AV信息可被發(fā)送到基帶音頻單元472(直接、經(jīng)由中繼應用程序452,或經(jīng)由某個其他路徑),接著發(fā)送到基帶I/O 474,接著發(fā)送到AV會議456,其中其經(jīng)由無線接口462傳輸?shù)娇蛻舳嗽O備。來自客戶端設備的AV信息可沿著相反路徑去往網(wǎng)絡390。音頻單元470不是通信的一部分并且可被阻斷。
當在中繼所涉及的客戶端設備或主機設備處接收到移交(轉移)輸入時,來自網(wǎng)絡390的AV信息被重新引導到音頻單元470,并且在麥克風或有可能與音頻單元470相關聯(lián)的顯示器處創(chuàng)建AV輸出。在某些實施方案中,這將繞過基帶音頻單元472,并且將AV信息經(jīng)由基帶I/O 474發(fā)送到音頻單元470。類似地,來自與音頻單元470相關聯(lián)的麥克風和/或相機的AV輸入可接著經(jīng)由基帶I/O 474發(fā)送到網(wǎng)絡490,從而繞過基帶音頻單元472。
在各種其他另選實施方案中,可作出模塊連接的任何此類改變以將AV信息從在客戶端與網(wǎng)絡之間傳遞在主機設備處所接收的AV信息的中繼模式轉移到主機設備是終點的本地模式,該終點在音頻單元和/或顯示器處輸出AV信息并且經(jīng)由麥克風和/或相機捕獲AV信息以經(jīng)由網(wǎng)絡傳遞到呼叫對方。
在框836和840中,作為呼叫的一部分,在主機設備與網(wǎng)絡之間傳送AV信息,直到呼叫被終止或從主機轉移到客戶端設備為止,該客戶端設備可為第一客戶端設備或另一個客戶端設備。
B.客戶端設備
圖9描述了根據(jù)本發(fā)明的實施方案的用于使用客戶端設備發(fā)起中繼呼叫的方法900。圖9的方法可在某些實施方案中由包括第一無線接口、輸出顯示器以及耦接到無線接口和輸出顯示器的處理器的客戶端設備執(zhí)行。
在框902處,客戶端設備提供用于請求在客戶端設備處進行呼出呼叫的用戶界面。作為這種調配的一部分,客戶端設備可初始與身份服務通信,并且接收用于一個或多個主機設備的聯(lián)系人詳情。設備還可向主機發(fā)送初始查詢以確保主機被通電,通過可接受的網(wǎng)絡連接,并且可供用于呼叫。如果主機設備被斷電、無法經(jīng)由無線連接訪問,或已經(jīng)在忙于呼叫,則用戶界面可顯示這個信息??蛻舳嗽O備可周期性地輪詢主機設備以查看狀態(tài)更新從而判斷其是否可用于呼叫中繼,并且可在主機設備變得可用時更新用戶界面。
在框904處,客戶端設備的用戶界面接收對第一主機設備的選擇。該選擇識別第一主機設備以供用于實現(xiàn)呼出呼叫。該選擇可以各種方式來提供。例如,客戶端設備可提供待使用的可能主機設備的列表。該列表可由用戶的已知設備的用戶輸入或先前通信來確定。提供給用戶的當前列表可在提供給用戶之前被動態(tài)確認,例如,客戶端設備可嘗試與主機設備通信。
無法與之建立連接的主機設備可不被提供給用戶用于選擇,因為此類主機設備可被視為不可用的。另外,主機設備可按根據(jù)準則的分級次序來呈現(xiàn)。用于該次序的示例性準則可為從主機設備到網(wǎng)絡的用于進行呼叫的連接的速度、主機設備到網(wǎng)絡的當前連接狀態(tài)、主機設備的電池狀態(tài)或當前電池使用率。該次序還可由用戶設置。如果沒有主機設備可用,則可向用戶發(fā)送錯誤信號,從而向用戶通知經(jīng)由用戶的主機設備發(fā)起呼叫不可行??稍谔峁┲鳈C設備列表之前或在提供列表之后(例如,當在提供列表之前未確認主機設備時)提供錯誤信號。
在框906處,獲得識別第一主機設備的第一主機標識符。在一個實施方案中,第一主機標識符存儲在客戶端設備的存儲器中。存儲器可為在客戶端設備上進行操作的IDS應用程序或服務的一部分,或可作為中繼應用程序或者用于實現(xiàn)呼叫中繼的任何其他應用程序、模塊或程序的一部分來存儲。在另一個實施方案中,可從服務器獲得第一主機標識符??稍诜椒?00的稍后步驟中使用該主機標識符。
在框908處,客戶端設備經(jīng)由客戶端設備的第一無線接口將包括接收人號碼的呼叫請求發(fā)送到主機設備。該呼叫請求請求主機設備向接收人號碼發(fā)起呼出呼叫。使用與第一無線接口的一個或多個第一無線接口協(xié)議不同的第二接口協(xié)議作出呼出呼叫。在一個實施方案中,客戶端設備可使用主機標識符來在客戶端設備與主機設備之間建立連接??山?jīng)由該連接發(fā)送呼叫請求,該連接具有連接標識符。
可經(jīng)由任何合適的用戶界面來提供接收人號碼。例如,用戶可鍵入10位電話號碼或任何國際電話號碼。接收人號碼還可為任何合適的標識符,例如,可接受呼叫的電子郵件或即時消息地址。
在框910處,用戶界面可將呼出呼叫的狀態(tài)更新為撥號??梢愿鞣N方式提供撥號狀態(tài),這些方式可示出進度或正采取的動作。當前狀態(tài)可存儲在客戶端設備的工作存儲器中。
在框912處,客戶端設備可接著在主機設備與接收人設備通信之后,從主機設備接收呼叫接聽通信。接收人設備對應于接收人號碼。客戶端設備可接著使用AV會議連接來發(fā)送和接收AV信息,直到中繼或呼叫被終止為止。AV會議連接可為客戶端設備與主機設備之間的用于為呼叫發(fā)送數(shù)據(jù)的持久性連接。數(shù)據(jù)可為音頻和/或視頻數(shù)據(jù)。
在一個實施方案中,呼叫接聽通信可包括主機標識符。主機標識符可用于將呼叫接聽通信與呼出呼叫相關聯(lián)。以此方式,客戶端設備可知道呼叫接聽通信有關于呼出呼叫的狀態(tài)。
在框914處,將呼出呼叫的狀態(tài)更新為活動?;顒訝顟B(tài)可向客戶端設備指示用于該電話呼叫的數(shù)據(jù)應當持續(xù)被路由到主機設備以供發(fā)送到接收人設備。在稍后時間,用戶可提供結束請求以結束該呼叫。此時,可向主機設備發(fā)送結束請求以結束呼叫。另外,可關閉客戶端設備與主機設備之間的連接。
在一個實施方案中,作為針對該呼叫的與主機設備的持續(xù)通信的一部分,客戶端設備可從主機設備接收呼叫數(shù)據(jù)消息。呼叫數(shù)據(jù)消息可包括連接標識符和呼叫數(shù)據(jù)。呼叫數(shù)據(jù)可來自網(wǎng)絡,并且連接標識符可對應于客戶端設備與主機設備之間的連接。使用連接標識符,可將呼叫數(shù)據(jù)路由到客戶端設備的揚聲器或顯示器。連接標識符可包括或基于主機標識符,例如,連同該連接用于某個呼叫的標識。由于通常將只有一個呼叫發(fā)生在客戶端設備與主機設備之間,所以主機標識符和用于連接類型的標記可唯一地識別連接。
C.主機設備
圖10描述了根據(jù)本發(fā)明的實施方案的方法1000,該方法用于由主機中繼客戶端設備發(fā)起的呼叫。在圖10的一個實施方案中,實現(xiàn)該方法的主機設備可至少由用于向第一網(wǎng)絡進行通信的第一無線接口、用于向第一客戶端設備進行通信的第二無線接口、存儲器、輸出顯示器以及耦接到第一無線接口和第二無線接口、耦接到存儲器并且耦接到輸出顯示器的處理器構成。
在框1002處,主機設備向客戶端設備發(fā)送信號,指示主機設備與客戶端設備通信。例如,該信號可響應于客戶端設備來確認哪些主機設備可用,這可在將主機設備列表提供給用戶之前發(fā)生。信號還可包括關于主機設備的網(wǎng)絡連接性的信息,例如,主機設備是否具有用于進行呼出呼叫的足夠信號。
在框1004處,在主機設備處接收呼叫發(fā)起請求。呼叫發(fā)起請求可包括第一客戶端設備的客戶端標識符和接收人設備的接收人號碼??蛻舳藰俗R符可從例如用戶的其他客戶端設備中唯一地識別客戶端設備。可以任何合適形式接收接收人號碼,例如,如本文所提及。
在框1006處,主機設備響應于呼叫發(fā)起請求為該呼叫建立第一連接。第一連接提供主機設備與網(wǎng)絡之間的通信。可以好像用戶在主機設備處發(fā)起呼叫,例如通過在主機設備的用戶界面處撥打接收人號碼,那樣的類似方式創(chuàng)建第一連接。還可建立使用客戶端標識符的經(jīng)由第二無線接口的第一客戶端設備與主機設備之間的第二連接。
在框1008處,第一無線接口使用第一連接向網(wǎng)絡發(fā)送主機呼叫通信。主機呼叫通信可被實現(xiàn)為將發(fā)生主機設備的正常呼叫。主機設備可跟蹤呼叫(例如,使用呼叫標識符),使得主機設備知道將呼叫中繼到客戶端設備。
在框1010處,第一無線接口從網(wǎng)絡接收呼叫連接通信。呼叫連接通信可向主機設備發(fā)信號通知用于該呼叫的數(shù)據(jù)可在主機設備與網(wǎng)絡之間傳送。主機設備可保存與為連接到客戶端設備并且在客戶端設備與網(wǎng)絡之間中繼數(shù)據(jù)準備的第一連接有關的連接信息。
在框1012處,主機設備可基于呼叫連接通信將呼叫的狀態(tài)更新為活動。除了更新呼叫的狀態(tài)之外,主機設備可為針對第一連接接收的數(shù)據(jù)制定路由規(guī)則。第一連接可為與其相關聯(lián)的連接標識符。從網(wǎng)絡接收的數(shù)據(jù)可包括連接標識符,從而向主機設備通知該數(shù)據(jù)與該呼叫相關聯(lián)。
在框1014處,主機設備可使用第二連接經(jīng)由第二無線接口將呼叫連接通信中繼到第一客戶端設備。在一個實施方案中,主機設備可從客戶端設備接收關于接收到呼叫-連接通信并且客戶端設備準備好發(fā)送和接收用于呼叫的數(shù)據(jù)的確認。
主機設備可接著繼續(xù)操作以在客戶端設備與網(wǎng)絡之間中繼呼叫信息,直到中繼操作結束為止??墒褂玫谝贿B接與第二連接之間的關聯(lián)來中繼數(shù)據(jù)。例如,經(jīng)由第二連接接收的數(shù)據(jù)可具有識別第二連接的第二連接標識符??蛻舳藰俗R符可至少部分地起作用以提供第二連接標識符。主機設備可接著使用路由規(guī)則來將第一連接識別為與數(shù)據(jù)相關聯(lián),并且接著將數(shù)據(jù)轉發(fā)到網(wǎng)絡。從網(wǎng)絡接收的數(shù)據(jù)可以類似方式路由到客戶端設備。
V.協(xié)議棧
圖11示出了根據(jù)本發(fā)明的實施方案的用于傳送數(shù)據(jù)的協(xié)議棧1100。在各種實施方案中,協(xié)議棧800可被實現(xiàn)為本文所述的任何主機或客戶端設備的一部分,或實現(xiàn)為可與各種實施方案一起使用的任何其他設備的一部分。在某些實施方案中,協(xié)議棧1100可用于全部或部分地管理重傳優(yōu)先級??墒÷詤f(xié)議棧1100中的各種模塊,或添加其他模塊。這些軟件模塊可在同一處理器或不同處理器上運行。雖然僅列舉了一些通信協(xié)議,但可使用許多無線協(xié)議。例如,藍牙協(xié)議可包括基本速率(BR)、增強數(shù)據(jù)速率(EDR)和低能量(LE)選項。藍牙BR/EDR還稱為經(jīng)典藍牙。
來自設備(例如,移動設備115、配套設備120、第一設備300或第二設備350)的數(shù)據(jù)通信可通過各種協(xié)議(例如,802.11協(xié)議、藍牙協(xié)議和近場通信(NFC)協(xié)議)發(fā)生。為了確定使用哪個協(xié)議,設備可包括用于確定將針對特定應用程序使用哪個協(xié)議并且因此應發(fā)送哪個驅動器路徑數(shù)據(jù)的鏈路管理器。較低層級的鏈路層還可執(zhí)行選擇特定協(xié)議來使用。另外,用戶隧道(UTUN)控制器可協(xié)調與各種客戶端應用程序的多個虛擬連接以經(jīng)由與另一個設備(例如,與配套設備120通信的移動設備115)的共用套接字連接進行通信。
在一些實施方案中,設備(例如,移動設備115)上的客戶端應用程序1105可請求將數(shù)據(jù)發(fā)送到另一個設備(例如,配套設備120)。請求可經(jīng)由任何合適的標識符,例如,賬戶名稱、IP地址、MAC地址等,來指定該另一個設備。請求可在設備確定另一個設備在通信內,例如通過初始信令諸如握手確定,之前或之后。數(shù)據(jù)(例如,在消息或流中)可經(jīng)由任何合適的應用層協(xié)議,諸如HTTP、RTP、SMTP、MGCP等發(fā)送。該另一個設備可為任何設備,包括用戶的另一個設備。能夠響應于用戶的動作、可在相同或其他應用程序(例如,日歷應用程序)中的內部事件(例如,基于時間或其他準則)或外部事件(例如,響應于來自另一個設備的消息)來作出請求。事件的一個示例為同步事件。
在發(fā)送數(shù)據(jù)之前,客戶端應用程序1105可提交打開套接字請求(例如,在串流示例中)。套接字請求可使用來自身份服務(IDS)框架1115的信息,其可提供另一個設備的地址(或其他類型的ID)。例如,客戶端應用程序1105可知道第二設備的賬戶信息(例如,不同或相同用戶的賬戶信息),并且IDS框架1115可存儲用于特定賬戶的設備ID列表。IDS框架1115可與身份管理基礎結構105通信以獲得列表。因此,IDS框架1115可存儲或以其他方式獲得用戶已經(jīng)向ID基礎結構105注冊的所有設備的設備ID(例如,地址)。例如,IDS框架1115可經(jīng)由IDS守護進程向ID基礎結構105請求以獲得設備ID。在一個具體實施中,可向內核1110作出套接字請求。
在即時消息示例中,對發(fā)送數(shù)據(jù)的請求可去往IDS框架1115以獲得設備ID,該設備ID可被發(fā)送到消息控制器1118和用戶隧道(UTUN)控制器1120。UTUN控制器可在設備ID不是IP地址時建立設備ID與IP地址(例如,虛擬IP地址)之間的映射??稍谙⒖刂破?118(其向套接字分配設備IP)與內核1110(其可向套接字分配地址,諸如虛擬IP地址)之間創(chuàng)建套接字。UTUN控制器可用于在消息控制器1118與內核1110之間創(chuàng)建套接字連接。以此方式,來自客戶端應用程序1105的發(fā)送日期請求不需要包括設備ID,但可指定賬戶,其可接著由IDS框架1115使用該賬戶的已知設備及其性能(例如,如果該請求需要某些性能)來交叉參考。假定可獲得設備ID,則在創(chuàng)建套接字之前不需要發(fā)生配對。
在各種實施方案中,IDS框架1115可從客戶端應用程序1105接收另一個設備處的特定端口/服務,基于從ID基礎結構105獲得的信息確定端口/服務,或從在請求中發(fā)送的令牌確定端口/服務。IDS框架1115可接著將設備ID和其他標頭信息傳送到消息控制器1118和/或UTUN控制器1120。IDS框架1115和UTUN控制器1120可經(jīng)由跨進程通信(XPC)通信。UTUN控制器1120可為IDS守護進程的一部分,并且可從ID基礎結構105接收設備ID。
如上所述,UTUN控制器1120可創(chuàng)建對應于實際設備地址的虛擬地址,其中虛擬地址可用于創(chuàng)建虛擬套接字。虛擬套接字還可使用任何設備ID(例如,設備的實際地址或其他ID)來創(chuàng)建。例如,可針對客戶端應用程序1105與內核1110之間的通信創(chuàng)建套接字(例如,在串流上下文中),其中內核1110可對于各種客戶端應用程序使各種套接字打開。內核1110可對于另一個設備具有去往UTUN控制器1120的單個連接,并且將來自各種客戶端應用程序的數(shù)據(jù)多路復用到單個連接中。除此之外或作為替代,例如,如果在內核1110與UTUN控制器1120之間針對另一個設備的各種客戶端應用程序存在多個套接字,UTUN控制器1120還可執(zhí)行多路復用。傳入數(shù)據(jù)可被解多路復用以用于發(fā)送到目的地客戶端應用程序。
又如,可在內核1110與消息控制器1118之間創(chuàng)建套接字(例如,在即時消息上下文中),其中可針對每個目的地設備創(chuàng)建套接字,其中用于同一設備的不同套接字有可能具有不同優(yōu)先級。因此,特定虛擬套接字可與特定設備和特定優(yōu)先級(例如,高和低)相關聯(lián)。消息控制器1118可具有與各種客戶端應用程序的各種連接。因此,消息控制器1118可提供多路復用/解多路復用性能。
UTUN控制器可創(chuàng)建與另一個設備的主要套接字。當UTUN控制器1120使用與第二設備相關聯(lián)的虛擬連接接收數(shù)據(jù)時,其可接著將虛擬連接映射到主要套接字以用于與另一個設備通信。用于另一個設備的所有數(shù)據(jù)可接著通過主要套接字發(fā)送出去。用于虛擬套接字的虛擬地址可被傳回到客戶端應用程序1115,例如,在流上下文中。在一個實施方案中,涉及內核1110的虛擬套接字是TCP套接字。虛擬地址可具有與規(guī)則地址,例如IPv6地址,相同的格式。多路復用模塊可包括內核1110、消息控制器1118和UTUN控制器1120的任何組合。
當客戶端應用程序發(fā)送數(shù)據(jù)時,客戶端應用程序1105可使用虛擬套接字來將數(shù)據(jù)發(fā)送到內核1110。例如,數(shù)據(jù)可經(jīng)由虛擬套接字使用TCP來發(fā)送。內核1110可實現(xiàn)用于與UTUN控制器1120通信的UTUN接口。內核1110將把數(shù)據(jù)(例如,具有TCP標頭)和識別虛擬地址的虛擬套接字傳到UTUN控制器1120,其將接著使用虛擬地址來解析設備地址以用于確定設備套接字。
當經(jīng)由設備套接字發(fā)送數(shù)據(jù)時,鏈路管理器1125可確定使用哪個鏈路。鏈路可為無線接口協(xié)議(例如,藍牙或Wi-Fi)、傳輸協(xié)議(例如,TCP、UDP等)和目的地設備的特定組合。以此方式,UTUN控制器1120不需要知道正如何發(fā)送數(shù)據(jù),而是可僅將數(shù)據(jù)發(fā)送到鏈路管理器1125。
在各種實施方案中,鏈路管理器1125的確定可針對每個數(shù)據(jù)包、每組數(shù)據(jù)包、每個設備套接字來作出,并且可在各個數(shù)據(jù)包之間變化。鏈路管理器1125可接著選擇用于發(fā)送數(shù)據(jù)的鏈路。在所示的示例中,Wi-Fi鏈路1130提供用于使用一個或多個Wi-Fi協(xié)議進行通信的軟件驅動器,并且BLTE鏈路1135提供用于使用藍牙LE進行通信的軟件驅動器。Wi-Fi鏈路1130與Wi-Fi硬件1160通信,并且BLTE鏈路1135與BTLE硬件1155通信。Wi-Fi鏈路1130可用于各種Wi-Fi協(xié)議,諸如基礎Wi-Fi(基礎結構Wi-Fi)。在一個實施方案中,鏈路管理器1125可嘗試所有鏈路以確定任何鏈路是否可接觸另一個設備,并且接著使用具有最高預定等級或動態(tài)等級的連接鏈路。
硬件1150至1160可與被分配給各種設備的鏈路通信。例如,鏈路1130,1135和1140可被分配用于與第二設備通信。另外,被分配用于與第三設備通信的其他鏈路也可與硬件1150至1160通信。當特定硬件接收數(shù)據(jù)時,軟件可識別特定發(fā)送設備并且接著確定對應鏈路,例如,使用標頭信息來確定對應于發(fā)送設備和傳輸協(xié)議的鏈路。
在一些實施方案中,組合鏈路1140可包括用于與鏈路管理器1124通信的接口1144和選擇特定協(xié)議來使用的選擇器1148。這些協(xié)議可與鏈路管理器1125可用的協(xié)議相同或不同。選擇器1148可在選擇特定鏈路方面執(zhí)行與鏈路管理器1125類似的功能。然而,鏈路管理器1125和選擇器1148可使用不同準則來確定使用哪個鏈路。例如,鏈路管理器1125可確定使用組合鏈路1140,并且選擇器1148可接著確定將使用BTLE硬件1155。硬件可包含在相同或分開的芯片上。
一個或多個協(xié)議可僅經(jīng)由組合鏈路1140可用,諸如經(jīng)典藍牙硬件1150。鏈路管理器1125和選擇器1148可使用各種準則用于確定使用哪個鏈路,諸如鏈路的功率使用率、鏈路的速度(例如,實時數(shù)據(jù)速率)和鏈路的信號強度。針對選擇鏈路進行優(yōu)化的目標可以是以最低可能能量提供最小數(shù)據(jù)速率。
盡管本文描述了設備、系統(tǒng)和方法的各種實施方案,但將明白,方法的對象或方面的結構和次序可以不同次序執(zhí)行或放置,同時仍屬于所述用于對呼叫執(zhí)行中繼的設備、系統(tǒng)和方法的范圍內。
在一些實施方案中,一種方法使用用戶的主機設備來促進對用戶的第一客戶端設備的呼叫。該方法可包括:在包括用于向第一網(wǎng)絡進行通信的第一無線接口、用于向第一客戶端設備進行通信的第二無線接口、存儲器、輸出顯示器以及耦接到第一無線接口和第二無線接口、耦接到存儲器并且耦接到輸出顯示器的至少一個處理器的主機設備處:作為呼叫的一部分,經(jīng)由第一無線接口在第一無線接口處從第一網(wǎng)絡接收語音邀請通信;通過在存儲器中訪問與用戶相關聯(lián)的一個或多個客戶端設備的列表來識別第一客戶端設備,該列表包括用于每個客戶端設備的設備標識符;使用與第一客戶端設備相關聯(lián)的第一標識符經(jīng)由第二無線接口將語音邀請通信中繼到第一客戶端設備;經(jīng)由第二無線接口從第一客戶端設備接收客戶端接聽通信;使用第一無線接口為呼叫建立第一連接,該第一連接響應于客戶端接聽通信而提供主機設備與第一網(wǎng)絡之間的語音數(shù)據(jù)通信;使用第二無線接口和第一標識符與第一客戶端設備建立第二連接,該第二連接響應于客戶端接聽通信而提供第一客戶端設備與主機設備之間的語音數(shù)據(jù)通信;經(jīng)由第一無線接口從第一網(wǎng)絡接收呼叫連接通信;基于呼叫連接通信來將呼叫的狀態(tài)更新為活動;以及經(jīng)由第二無線接口將呼叫中繼到第一客戶端設備。
在以上實施方案中,該方法還可包括:在主機設備處:與身份管理服務器通信以識別一個或多個客戶端設備。
在任一個以上實施方案中,身份管理服務器可基于主機設備與這一個或多個客戶端設備中的每一者的接近度來識別這一個或多個客戶端設備。
在任一個以上實施方案中,身份管理服務器可基于這一個或多個客戶端設備中的每一者和主機設備與用戶賬戶的關聯(lián)來識別這一個或多個客戶端設備,其中該身份管理服務器將用于這一個或多個客戶端設備中的至少一者的互聯(lián)網(wǎng)協(xié)議(IP)地址傳送到主機設備;并且其中主機設備使用IP地址將語音邀請通信中繼到這一個或多個客戶端設備中的該至少一者。
在任一個以上實施方案中,經(jīng)由第二無線接口將呼叫中繼到第一客戶端設備可包括:執(zhí)行從主機設備到第一客戶端設備的呼叫轉移以將下行鏈路音頻數(shù)據(jù)流中繼到第一客戶端設備并且將上行鏈路音頻數(shù)據(jù)流中繼到第一網(wǎng)絡。
在任一個以上實施方案中,執(zhí)行從主機設備到第一客戶端設備的呼叫轉移可包括:將下行鏈路音頻數(shù)據(jù)流傳送到主機設備的基帶輸入/輸出(I/O)設備;以及將來自基帶I/O設備的下行鏈路會議音頻流輸出到視聽會議連接以供在第一客戶端設備與主機設備之間的視聽會議連接上通信。
在任一個以上實施方案中,執(zhí)行從主機設備到第一客戶端設備的呼叫轉移還可包括:在視聽會議連接處從第一客戶端設備接收上行鏈路會議音頻流;向基帶I/O設備輸入上行鏈路會議音頻流;從基帶I/O設備輸出上行鏈路音頻流;并且作為呼叫的一部分,在主機設備從第一網(wǎng)絡接收下行鏈路音頻數(shù)據(jù)流時將上行鏈路音頻流傳送到第一網(wǎng)絡。
在一些實施方案中,一種主機設備可包括:第一無線接口,其用于向第一網(wǎng)絡進行通信;第二無線接口,其用于向第一客戶端設備進行通信;存儲器;輸出顯示器;以及至少一個處理器,其耦接到第一無線接口和第二無線接口,耦接到存儲器,并且耦接到輸出顯示器,該至少一個處理器被配置為:從身份管理系統(tǒng)接收用于一個或多個客戶端設備中的每一者的設備標識符,該一個或多個客戶端設備包括具有第一設備標識符的第一客戶端設備,主機設備和一個或多個客戶端設備與同一用戶相關聯(lián);在第一無線接口處經(jīng)由第一網(wǎng)絡接收呼入呼叫通信;經(jīng)由第一無線接口為呼叫開啟連接;響應于呼入呼叫通信而將主機呼叫通信傳送到第一網(wǎng)絡;在主機設備處從第一網(wǎng)絡接收呼叫連接通信;并且執(zhí)行從主機設備到第一客戶端設備的呼叫轉移,從而將音頻數(shù)據(jù)流中繼到使用第一設備標識符的第一客戶端設備。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為在為呼叫開啟連接之前:從主機設備向這一個或多個客戶端設備中的每個設備中繼語音邀請通信;并且在主機設備處從這一個或多個客戶端設備中的第一客戶端設備接收客戶端呼叫接聽通信;其中為呼叫開啟連接是在主機設備處接收到客戶端呼叫接聽通信之后,響應于語音邀請通信來執(zhí)行的。
在任一個以上實施方案中,執(zhí)行從主機設備到第一客戶端設備的呼叫轉移包括:將主機設備的用戶界面更新為呼叫連接狀態(tài);設置主機設備與第一客戶端設備之間的視聽會議連接;使用主機設備的虛擬音頻設備編碼音頻數(shù)據(jù)流以創(chuàng)建會議音頻下行鏈路流;以及經(jīng)由視聽會議連接從主機設備將會議音頻下行鏈路流傳送到第一客戶端設備。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:經(jīng)由處于呼叫連接狀態(tài)的主機設備的用戶界面接收結束呼叫輸入以終止呼叫;響應于結束呼叫輸入而關閉視聽會議連接并且結束使用虛擬音頻設備編碼音頻數(shù)據(jù)流;并且關閉用于呼叫的連接。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:在主機設備處從第一客戶端設備接收結束呼叫輸入以終止呼叫;響應于結束呼叫輸入而關閉視聽會議連接并且結束使用虛擬音頻設備編碼音頻數(shù)據(jù)流;并且關閉用于呼叫的連接。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:經(jīng)由處于呼叫連接狀態(tài)的主機設備的用戶界面接收對終止向客戶端設備進行呼叫轉移的輸入;將呼叫從第一客戶端設備轉移到主機設備;關閉視聽會議連接并且結束使用虛擬音頻設備編碼音頻數(shù)據(jù)流;使用與虛擬音頻設備分開的主機設備的麥克風音頻設備編碼音頻數(shù)據(jù)流以創(chuàng)建主機音頻流;以及使用主機設備的麥克風輸出來自主機音頻流的音頻。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:響應于在主機設備處接收到客戶端呼叫接聽通信來從主機設備向第二客戶端設備傳送呼叫接聽消息。
在任一個以上實施方案中,使用主機設備的虛擬音頻設備編碼音頻數(shù)據(jù)流以創(chuàng)建會議音頻下行鏈路流可包括:將音頻數(shù)據(jù)流傳送到主機設備的基帶輸入/輸出(I/O)設備;以及從基帶I/O設備向視聽接口輸出會議音頻下行鏈路流,以在視聽會議連接上通信。
在任一個以上實施方案中,視聽會議連接可包括對等無線連接。
在任一個以上實施方案中,視聽會議連接可包括經(jīng)由至少一個接入點的聯(lián)網(wǎng)無線連接。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:在視聽會議連接處從第一客戶端設備接收上行鏈路會議音頻流;以及作為呼叫的一部分,在主機設備從網(wǎng)絡接收音頻數(shù)據(jù)流時將上行鏈路會議音頻流傳送到網(wǎng)絡。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:經(jīng)由處于呼叫連接狀態(tài)的主機設備的用戶界面接收會議輸入;使用與虛擬音頻設備分開的主機設備的麥克風音頻設備編碼音頻數(shù)據(jù)流以創(chuàng)建主機音頻流;并且使用主機設備的麥克風輸出來自主機音頻流的音頻,同時經(jīng)由視聽會議連接將會議音頻下行鏈路流從主機設備中繼到第一客戶端設備。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:在為呼叫開啟連接之前:作為呼叫的一部分,從第一客戶端設備接收發(fā)起呼叫通信;其中為呼叫開啟連接是響應于從第一客戶端設備接收的發(fā)起呼叫通信來執(zhí)行的。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:響應于呼叫結束輸入而關閉用于呼叫的連接;在關閉用于呼叫的連接之后,經(jīng)由網(wǎng)絡從網(wǎng)絡接收作為第二呼叫的一部分的第二語音邀請通信;從主機設備向一個或多個客戶端設備中繼第二語音邀請通信,其中這一個或多個客戶端設備包括第一客戶端設備;并且在主機設備處從這一個或多個客戶端設備中的第一客戶端設備接收客戶端呼叫拒絕通信;將主機設備拒絕消息發(fā)送到網(wǎng)絡;并且將中繼拒絕消息傳送到這一個或多個客戶端設備中的至少第二客戶端設備。
在一些實施方案中,一種計算機產(chǎn)品可包括存儲多個指令的非暫態(tài)計算機可讀介質,該多個指令在被執(zhí)行時控制計算機系統(tǒng)執(zhí)行將呼叫從用戶的主機設備中繼到用戶的第一客戶端設備的方法,該主機設備包括用于向第一網(wǎng)絡進行通信的第一無線接口、用于向第一客戶端設備進行通信的第二無線接口、存儲器、輸出顯示器以及耦接到第一無線接口和第二無線接口、耦接到存儲器并且耦接到輸出顯示器的至少一個處理器,這些指令包括上述任意方法。
在一些實施方案中,一種方法使用用戶的客戶端設備經(jīng)由用戶的主機設備來發(fā)起呼叫,該方法包括:在具有第一無線接口、輸出顯示器、存儲器以及耦接到第一無線接口、存儲器和輸出顯示器的至少一個處理器的客戶端設備處:識別與客戶端設備通信的用戶的一個或多個主機設備,該識別使用存儲在客戶端設備的存儲器中的用戶的裝置的列表;提供用于請求呼出呼叫的用戶界面;接收對第一主機設備的選擇以供用于實現(xiàn)呼出呼叫;識別標識第一主機設備的第一主機標識符,該第一主機標識符存儲在客戶端設備的存儲器中;經(jīng)由第一無線接口向主機設備發(fā)送包括接收人號碼的呼叫請求,該呼叫請求用于請求主機設備向接收人號碼發(fā)起呼出呼叫,其中該呼出呼叫是使用與第一無線接口的一個或多個第一無線接口協(xié)議不同的第二接口協(xié)議來作出的;將呼出呼叫的狀態(tài)更新為撥號;在主機設備與接收人設備通信之后從主機設備接收呼叫接聽通信;將呼出呼叫的狀態(tài)更新為活動。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:在使用主機標識符的客戶端設備與主機設備之間建立連接,其中經(jīng)由該連接發(fā)送呼叫請求,該連接具有連接標識符。
在任一個以上實施方案中,該呼叫接聽通信可包括主機標識符,并且其中主機標識符用于將呼叫接聽通信與呼出呼叫相關聯(lián),以便將呼出呼叫的狀態(tài)更改為活動。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:從主機設備接收呼叫數(shù)據(jù)消息,該呼叫數(shù)據(jù)消息包括連接標識符和呼叫數(shù)據(jù);以及基于連接標識符將呼叫數(shù)據(jù)路由到客戶端設備的揚聲器。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:嘗試與列表上的一個或多個設備通信;確定列表上的一個或多個主機設備中的哪些主機設備可用;將一個或多個可用主機設備提供給用戶以供選擇第一主機設備。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:確定列表上的主機設備均不可用;以及向用戶提供出錯消息。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:從這些主機設備中的一者或多者接收關于網(wǎng)絡連接性狀態(tài)的數(shù)據(jù);以及使用關于這一個或多個主機設備的網(wǎng)絡連接性狀態(tài)的數(shù)據(jù),來確定這一個或多個主機設備是否可用。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:從身份管理服務器獲得設備列表。
在任一個以上實施方案中,該方法可進一步包括:在客戶端設備處:在用戶界面處接收對于結束呼叫的輸入;將結束呼叫通信發(fā)送到主機設備;以及關閉用于呼叫的與主機設備的連接。
在一些實施方案中,一種用戶的客戶端設備可被配置為經(jīng)由用戶的主機設備發(fā)起呼叫,該客戶端設備包括:第一無線接口;存儲器;輸出顯示器;以及至少一個處理器,其耦接到第一無線接口、存儲器和輸出顯示器,該至少一個處理器被配置為:識別與客戶端設備通信的用戶的一個或多個主機設備,該識別使用存儲在客戶端設備的存儲器中的用戶的裝置的列表;提供用于請求呼出呼叫的用戶界面;接收對第一主機設備的選擇以供用于實現(xiàn)呼出呼叫;識別標識第一主機設備的第一主機標識符,該第一主機標識符存儲在客戶端設備的存儲器中;經(jīng)由第一無線接口向主機設備發(fā)送包括接收人號碼的呼叫請求,該呼叫請求請求主機設備向接收人號碼發(fā)起呼出呼叫,其中該呼出呼叫是使用與第一無線接口的一個或多個第一無線接口協(xié)議不同的第二接口協(xié)議來作出的;將呼出呼叫的狀態(tài)更新為撥號;在主機設備與接收人設備通信之后從主機設備接收呼叫接聽通信;以及將呼出呼叫的狀態(tài)更新為活動。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:在使用主機標識符的客戶端設備與主機設備之間建立連接,其中經(jīng)由該連接發(fā)送呼叫請求,該連接具有連接標識符。
在任一個以上實施方案中,該呼叫接聽通信可包括主機標識符,并且其中主機標識符用于將呼叫接聽通信與呼出呼叫相關聯(lián),以便將呼出呼叫的狀態(tài)更改為活動。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:從主機設備接收呼叫數(shù)據(jù)消息,該呼叫數(shù)據(jù)消息包括連接標識符和呼叫數(shù)據(jù);以及基于連接標識符將呼叫數(shù)據(jù)路由到客戶端設備的揚聲器。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:嘗試與列表上的一個或多個設備通信;確定列表上的一個或多個主機設備中的哪些主機設備可用;將一個或多個可用主機設備提供給用戶以供選擇第一主機設備。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:確定列表上的主機設備均不可用;以及向用戶提供出錯消息。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:從這些主機設備中的一者或多者接收關于網(wǎng)絡連接性狀態(tài)的數(shù)據(jù);以及使用關于這一個或多個主機設備的網(wǎng)絡連接性狀態(tài)的數(shù)據(jù),來確定這一個或多個主機設備是否可用。
在一些實施方案中,一種計算機產(chǎn)品可包括非暫態(tài)計算機可讀介質,其存儲有多個指令,該多個指令在執(zhí)行時,用于控制用戶的客戶端設備經(jīng)由用戶的主機設備發(fā)起呼叫,該客戶端設備具有第一無線接口、存儲器、輸出顯示器以及耦接到第一無線接口、存儲器和輸出顯示器的至少一個處理器,這些指令包括上述任意方法。
在一些實施方案中,一種方法可使用用戶的主機設備來在用戶的客戶端設備的請求下執(zhí)行呼叫,該方法包括:在包括用于向第一網(wǎng)絡進行通信的第一無線接口、用于向客戶端設備進行通信的第二無線接口、存儲器、輸出顯示器以及耦接到第一無線接口和第二無線接口、耦接到存儲器并且耦接到輸出顯示器的至少一個處理器的主機設備處:發(fā)送指示主機設備與客戶端設備通信的信號;接收呼叫發(fā)起請求,該呼叫發(fā)起請求包括客戶端設備的客戶端標識符和接收人設備的接收人號碼;響應于該呼叫發(fā)起請求,為呼叫建立第一連接,該第一連接提供主機設備與第一網(wǎng)絡之間的通信;經(jīng)由第二無線接口建立客戶端設備與主機設備之間的使用客戶端標識符的第二連接;經(jīng)由第一無線接口使用第一連接向第一網(wǎng)絡發(fā)送主機呼叫通信;經(jīng)由第一無線接口從第一網(wǎng)絡接收呼叫連接通信;基于呼叫連接通信將呼叫的狀態(tài)更新為活動;經(jīng)由第二無線接口向客戶端設備中繼呼叫連接通信。
在任一個以上實施方案中,該方法可進一步包括:在主機設備處:從客戶端設備接收結束呼叫通信;以及響應于該結束呼叫通信而關閉第二連接。
在任一個以上實施方案中,第一連接具有相關聯(lián)的第一連接標識符,并且第二連接具有相關聯(lián)的第二連接標識符,并且其中第一連接標識符與第二連接標識符相關聯(lián),以用于在客戶端設備與第一網(wǎng)絡之間中繼呼叫數(shù)據(jù)。
在任一個以上實施方案中,第二連接標識符是基于客戶端標識符。
在任一個以上實施方案中,該方法可進一步包括:在主機設備處:經(jīng)由第一連接從第一網(wǎng)絡接收呼叫數(shù)據(jù);將呼叫數(shù)據(jù)與第一連接標識符相關聯(lián);識別第一連接標識符與第二連接標識符之間的關聯(lián);以及基于第一連接標識符與第二連接標識符之間的關聯(lián)經(jīng)由第二連接將呼叫數(shù)據(jù)路由到客戶端設備。
在任一個以上實施方案中,該方法可進一步包括:在主機設備處:經(jīng)由第二連接從客戶端設備接收呼叫數(shù)據(jù);將呼叫數(shù)據(jù)與第二連接標識符相關聯(lián);識別第一連接標識符與第二連接標識符之間的關聯(lián);以及基于第一連接標識符與第二連接標識符之間的關聯(lián)經(jīng)由第一連接將呼叫數(shù)據(jù)路由到第一網(wǎng)絡。
在任一個以上實施方案中,該呼叫連接通信包括第二連接標識符。
在任一個以上實施方案中,客戶端設備的客戶端標識符從用戶的一個或多個其他客戶端設備中唯一地識別該客戶端設備。
在任一個以上實施方案中,該方法可進一步包括:在主機設備處:與發(fā)送指示主機設備與客戶端設備連通的信號一起,發(fā)送關于主機設備的網(wǎng)絡連接性狀態(tài)的數(shù)據(jù)。
一些實施方案可包括一種用戶的主機設備,其在用戶的客戶端設備的請求下執(zhí)行呼叫。該主機設備可包括:第一無線接口,其用于向第一網(wǎng)絡進行通信;第二無線接口,其用于向客戶端設備進行通信;存儲器;輸出顯示器;以及至少一個處理器,其耦接到第一無線接口和第二無線接口,耦接到存儲器,并且耦接到輸出顯示器,該至少一個處理器被配置為:發(fā)送指示主機設備與客戶端設備通信的信號,該指示主機設備與客戶端設備通信的信號包括主機標識符;接收呼叫發(fā)起請求,該呼叫發(fā)起請求包括客戶端設備的客戶端標識符和接收人設備的接收人號碼;響應于該呼叫發(fā)起請求,為呼叫建立第一連接,該第一連接提供主機設備與第一網(wǎng)絡之間的通信;經(jīng)由第二無線接口建立客戶端設備與主機設備之間使用客戶端標識符的第二連接;經(jīng)由第一無線接口從第一網(wǎng)絡接收呼叫連接通信;基于呼叫連接通信將呼叫的狀態(tài)更新為活動;以及經(jīng)由第二無線接口向客戶端設備中繼呼叫連接通信。
在任一個以上實施方案中,該至少一個處理器可被進一步配置為:從客戶端設備接收結束呼叫通信;以及響應于該結束呼叫通信而關閉第二連接。
在任一個以上實施方案中,第一連接可具有相關聯(lián)的第一連接標識符,并且第二連接具有相關聯(lián)的第二連接標識符,并且其中第一連接標識符與第二連接標識符相關聯(lián),以用于在客戶端設備與第一網(wǎng)絡之間中繼呼叫數(shù)據(jù)。
在任一個以上實施方案中,第二連接標識符是基于客戶端標識符。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:經(jīng)由第一連接從第一網(wǎng)絡接收呼叫數(shù)據(jù);將呼叫數(shù)據(jù)與第一連接標識符相關聯(lián);識別第一連接標識符與第二連接標識符之間的關聯(lián);以及基于第一連接標識符與第二連接標識符之間的關聯(lián)經(jīng)由第二連接將呼叫數(shù)據(jù)路由到客戶端設備。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:經(jīng)由第二連接從客戶端設備接收呼叫數(shù)據(jù);將呼叫數(shù)據(jù)與第二連接標識符相關聯(lián);識別第一連接標識符與第二連接標識符之間的關聯(lián);以及基于第一連接標識符與第二連接標識符之間的關聯(lián)經(jīng)由第一連接將呼叫數(shù)據(jù)路由到第一網(wǎng)絡。
在任一個以上實施方案中,該呼叫連接通信包括第二連接標識符。
在任一個以上實施方案中,客戶端設備的客戶端標識符從用戶的一個或多個其他客戶端設備中唯一地識別該客戶端設備。
在任一個以上實施方案中,該至少一個處理器被進一步配置為:與發(fā)送指示主機設備與客戶端設備連通的信號一起,發(fā)送關于主機設備的網(wǎng)絡連接性狀態(tài)的數(shù)據(jù)。
在一些實施方案中,計算機產(chǎn)品可包括存儲多個指令的非暫態(tài)計算機可讀介質,該多個指令在被執(zhí)行時控制用戶的主機設備執(zhí)行向用戶的客戶端設備中繼呼叫,這些指令包括上述任意方法。