專利名稱:可擴展通信控件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及網(wǎng)絡(luò)通信,具體地說,本發(fā)明涉及用于通過網(wǎng)絡(luò)的通信的應(yīng)用程序可嵌入控件。
背景技術(shù):
通信網(wǎng)絡(luò)在計算機和電話通信領(lǐng)域內(nèi)眾所周知。按照定義,網(wǎng)絡(luò)是通過通信設(shè)施或鏈路連接在一起的一組計算機和/或設(shè)備。網(wǎng)絡(luò)通信可以是永久性的,例如通過電纜,也可以是臨時性的,例如通過電話或無線鏈路進行的連接。網(wǎng)絡(luò)的規(guī)模可以不同,從包括幾臺計算機或工作站和相關(guān)設(shè)備的局域網(wǎng)(“LAN”),到將地理位置分散的計算機和LAN互聯(lián)的廣域網(wǎng)(“WAN”),再到通過臨時通信鏈路互聯(lián)遠程計算機的遠程訪問服務(wù)(“RAS”)?;ヂ?lián)網(wǎng)絡(luò)(internetwork)是多個相同的和不相同的計算機網(wǎng)絡(luò)通過網(wǎng)關(guān)或路由器實現(xiàn)的連接,網(wǎng)關(guān)和路由器對來自各種網(wǎng)絡(luò)的數(shù)據(jù)進行傳送和轉(zhuǎn)換。眾所周知,術(shù)語互聯(lián)網(wǎng)絡(luò)的縮寫是“因特網(wǎng)”(Internet)。根據(jù)當(dāng)前的理解,以大寫字母開頭的術(shù)語“Internet”指采用因特網(wǎng)協(xié)議(“IP”)以及諸如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(“TCP/IP”)或統(tǒng)一數(shù)據(jù)報分組/因特網(wǎng)協(xié)議(“UDP/IP”)的高級協(xié)議互相進行通信的網(wǎng)絡(luò)和路由器的集合。
因為因特網(wǎng)能夠?qū)⑹澜绶秶鷥?nèi)的計算機和設(shè)備鏈接到一起,所以它在近期經(jīng)歷了爆炸性增長。其它交互環(huán)境可以包括專用環(huán)境,例如Microsoft Network(“MSN”)或其它在線業(yè)務(wù)提供商提供的專用環(huán)境;以及各種無線連網(wǎng)提供商提供的“無線萬維網(wǎng)”,特別是蜂窩式電話行業(yè)內(nèi)的“無線萬維網(wǎng)”。根據(jù)以下說明將明白,本發(fā)明可以應(yīng)用于任何一種這種交互環(huán)境,然而,為了便于討論問題,將因特網(wǎng)用作實現(xiàn)本發(fā)明的典型交互環(huán)境。
因特網(wǎng)很快發(fā)展成一種流行的通信方法,主要是因為它能以各種格式傳送信息。通常,為了通過因特網(wǎng)傳送信息,用戶執(zhí)行的通信程序與也連接在因特網(wǎng)上的遠程計算機執(zhí)行的其它通信程序進行通信。這些傳統(tǒng)的通信程序通常采用一個與通信程序的類型有關(guān)的通信協(xié)議。例如,視頻通信程序會采用專用視頻通信協(xié)議,而文字聊天程序采用專用聊天通信協(xié)議。不同類型的通信協(xié)議通常專用于特定通信程序。因此,一個軟件提供商提供的文字聊天程序所采用的聊天協(xié)議可以不必與另一個軟件提供商提供的聊天程序采用的聊天協(xié)議相同。這種專用通信環(huán)境已經(jīng)產(chǎn)生大量不同類型的通信,而且為了實現(xiàn)所有類型的通信,在這些類型的通信中產(chǎn)生大量不同的協(xié)議。
多樣化通信應(yīng)用環(huán)境的另一個結(jié)果是,在一個特定軟件開發(fā)商發(fā)現(xiàn)最佳實踐并在其通信程序中實現(xiàn)這些最佳實踐時,只有該通信程序從這些最佳實踐受益。如果希望實現(xiàn)新開發(fā)的“最佳實踐”,其他軟件開發(fā)商就需要各自單獨更新其軟件。
當(dāng)前的通信程序存在的另一個缺陷是,每個應(yīng)用程序通常都僅存儲該特定通信程序的其它用戶的聯(lián)絡(luò)信息。因此,在試圖聯(lián)系在線使用通信程序的特定用戶時,聯(lián)系該用戶的過程通常是一個試錯過程,直到定位正確通信應(yīng)用程序為止。此外,對于每種單獨通信程序需要重新輸入聯(lián)絡(luò)信息。
傳統(tǒng)通信程序的又一個缺陷是,它們通常與計算環(huán)境使用的其它應(yīng)用程序分離。例如,盡管可以同時運行電視會議和字處理應(yīng)用程序,但是通常難以在同一個應(yīng)用程序中運行可能包括視頻通信部件的協(xié)作字處理對話。可以設(shè)計這樣一個應(yīng)用程序,然而,這種能力等效于設(shè)計通信應(yīng)用程序和字處理應(yīng)用程序,然后手動建立必要集成。該手動建立過程只有一個用途(例如字處理和電視會議,字處理和文字聊天,或者玩游戲和聲頻聊天)。這些手動建立是不可擴展的(例如它們不能被更新,修改、或者替換為模塊部件)而且它們的缺陷還在于要保持單獨的聯(lián)絡(luò)信息。此外,在可以采用新型通信時,必須手動更新這種混合通信應(yīng)用程序以包括新型通信或各種通信的組合。
因此,需要一種更靈活和可擴展的通信環(huán)境。在新通信環(huán)境中,希望在給定特定用戶的聯(lián)絡(luò)信息時能夠動態(tài)確定協(xié)議和/或通信類型。最好還能夠以這樣的方式獲得通信應(yīng)用程序的最佳實踐,即每當(dāng)任意通信應(yīng)用程序獲得獲得最佳實踐時,適應(yīng)于進行通信的所有應(yīng)用程序可以接收該最佳實踐。
發(fā)明內(nèi)容
本發(fā)明涉及提供用于處理各設(shè)備之間的通信的、可擴展自適應(yīng)軟件通信控件(程序部件)。根據(jù)本發(fā)明的一個方面,可擴展通信控件用于在計算設(shè)備與遠程通信設(shè)備之間進行通信。在適應(yīng)于采用可擴展通信控件的計算設(shè)備的計算程序中,檢索關(guān)于聯(lián)絡(luò)人的信息。根據(jù)檢索的聯(lián)絡(luò)信息,確定可以采用什么類型的活動(activities)與遠程通信設(shè)備的聯(lián)絡(luò)人進行通信。聯(lián)絡(luò)活動不僅包括聯(lián)絡(luò)人的通信地址,而且包括什么類型的通信以及在進行通信時可能應(yīng)該使用什么通信程序。一旦根據(jù)聯(lián)絡(luò)人的信息確定了通信活動,就將通信請求發(fā)送到與該通信活動有關(guān)的通信地址。假定接受該通信請求,則可擴展通信控件開始與遠程通信設(shè)備通信。
在本發(fā)明的某些實施例中,通信活動不能規(guī)定特定通信程序,而是由遠程通信設(shè)備確定與其進行通信的缺省程序。在本發(fā)明的另一個典型實施例中,缺省程序是含有可擴展通信控件的外殼程序。各設(shè)備之間的通信可以是大量通信類型中的任何一種通信類型,包括但并不局限于文字聊天、即時消息、電視會議、電話會議等。這些通信可以通過傳統(tǒng)的計算網(wǎng)絡(luò)和諸如電話網(wǎng)絡(luò)的其它類型網(wǎng)絡(luò)進行。
根據(jù)本發(fā)明的一個方面,通信設(shè)備與計算設(shè)備不以對等方式進行通信。因此,建立單獨“對話”,兩個設(shè)備在在其內(nèi)進行通信的中間位置聯(lián)絡(luò)。會利用標(biāo)識符標(biāo)記這樣的對話,使得一旦計算設(shè)備和遠程通信設(shè)備都已使用該對話標(biāo)識符來連接到對話,它們就可以互相進行通信。
根據(jù)本發(fā)明的又一個方面,可擴展通信控件是可以被許多類型的程序使用的自適應(yīng)模塊,許多類型的程序包括但并不局限于通信程序。本發(fā)明的這種可擴展性方面使程序規(guī)定應(yīng)該使用通信控件,但是然后該控件可根據(jù)需要或要求提供不同的通信業(yè)務(wù)。這些程序還可以擴充規(guī)定可擴展通信控件應(yīng)該使用什么類型的通信、協(xié)議、地址以及配置。根據(jù)本發(fā)明的此方面,可擴展通信控件是響應(yīng)于適應(yīng)于采用它的應(yīng)用程序的模塊,而且可以將可擴展通信控件從一個程序上卸下并安裝到另一個程序上。在一個這種實施例中,卸下和安裝會中斷通信連接,但是一旦該可擴展通信控件已經(jīng)被安裝到另一個程序,就重新安裝它。在本發(fā)明的一個變換實施例中,即使在將可擴展通信控件從一個程序上卸下后以及在將它轉(zhuǎn)移以安裝到另一個程序上的同時,仍可以繼續(xù)通信。
根據(jù)本發(fā)明的又一個方面,可以使可擴展通信控件適應(yīng)于與作為遠程通信設(shè)備的非計算設(shè)備或者計算設(shè)備進行通信。因此,在一個實施例中,遠程通信設(shè)備還可以包括響應(yīng)于可擴展通信控件發(fā)出的通信請求的程序。遠程通信設(shè)備上的這種程序可以根據(jù)接收的通信請求確定任意可擴展通信活動,并激活遠程通信設(shè)備上一個或者多個通信程序,從而利用這種可擴展通信活動進行通信。
從上述發(fā)明內(nèi)容中可以看出,本發(fā)明提供了一種可擴展自適應(yīng)通信環(huán)境,它可以在各設(shè)備之間以及計算機可讀媒體與系統(tǒng)之間提供通信。
通過結(jié)合附圖參考以下詳細說明,本發(fā)明的的上述方面以及許多附帶優(yōu)點將變得更加明顯,而且更加容易理解,附圖包括圖1是根據(jù)本發(fā)明的、連接到在設(shè)備之間提供通信連接的網(wǎng)絡(luò)上的許多設(shè)備的示意圖;圖2是根據(jù)本發(fā)明的、用于實現(xiàn)通信連接的諸如計算機的通信設(shè)備的方框圖;
圖3是示出根據(jù)本發(fā)明的客戶機設(shè)備、聯(lián)絡(luò)數(shù)據(jù)庫、對話存儲以及通信設(shè)備采取動作實現(xiàn)通信連接的示意圖;圖4是示出根據(jù)本發(fā)明利用通信設(shè)備為了提供通信連接實現(xiàn)的通信連接例程的總流程圖;圖5是示出根據(jù)本發(fā)明用于實現(xiàn)通信連接的聯(lián)絡(luò)連接例程的總流程圖;圖6是示出根據(jù)本發(fā)明用于實現(xiàn)通信連接的聯(lián)絡(luò)連接例程的總流程圖;圖7是示出根據(jù)本發(fā)明用于建立通信連接并用于通過通信連接進行通信的通信連接子例程的總流程圖;圖8是根據(jù)本發(fā)明在具有嵌入式通信控件的應(yīng)用程序之間進行通信的圖解說明;圖9示出根據(jù)本發(fā)明用于包含通信控件的典型外殼應(yīng)用程序;圖10是示出根據(jù)本發(fā)明的通信控件拆卸例程的總流程圖;以及圖11示出根據(jù)本發(fā)明從具有嵌入式通信控件的應(yīng)用程序上卸下的通信控件的典型示意圖。
具體實施例方式
以下的詳細說明將主要根據(jù)包括處理器、處理器的存儲器設(shè)備、所連接的顯示設(shè)備以及輸入設(shè)備的傳統(tǒng)計算機部件執(zhí)行的處理過程和運行過程的符號表示進行說明。此外,這些處理過程和運行過程可以采用異構(gòu)分布式計算環(huán)境下的傳統(tǒng)計算部件,包括遠程文件服務(wù)器、計算機服務(wù)器以及存儲設(shè)備。每個這種傳統(tǒng)的分布式計算部件均可以通過通信網(wǎng)絡(luò)被處理器訪問。
本發(fā)明的目的在于,在計算環(huán)境與非計算環(huán)境的可擴展通信控件之間提供通信??蓴U展通信控件用于在計算設(shè)備200與遠程通信設(shè)備150之間進行通信。計算設(shè)備200至少具有一個已適應(yīng)于采用根據(jù)本發(fā)明的可擴展通信控件的計算程序。然后,該通信控件用于與網(wǎng)絡(luò)內(nèi)的其它設(shè)備(例如通信設(shè)備150)進行通信。以下將更詳細說明通信控件之間的這種通信和相互關(guān)系、已適應(yīng)于采用通信控件的程序以及各種設(shè)備的細節(jié)。
如上所述,以大寫字母開頭的術(shù)語“Internet”指用于互相通信的各網(wǎng)絡(luò)和各路由器的集合。圖1示出用于在各設(shè)備之間提供通信連接的通信系統(tǒng)100的原理框圖。盡管系統(tǒng)100通常在包括通過網(wǎng)絡(luò)110(例如因特網(wǎng))互聯(lián)的各計算機系統(tǒng)的分布式計算環(huán)境下工作,但是本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,系統(tǒng)100同樣可以在諸如POTS(普通老式電話系統(tǒng))網(wǎng)絡(luò)的非計算網(wǎng)絡(luò)內(nèi)運行,以下做進一步說明。圖1所示的系統(tǒng)100包括客戶機設(shè)備200、聯(lián)絡(luò)數(shù)據(jù)庫105、通信設(shè)備150、通信業(yè)務(wù)提供商120以及對話存儲125,它們均通過網(wǎng)絡(luò)110互聯(lián)。客戶機設(shè)備200具有計算能力,而且可以是能夠處理本發(fā)明例程的任何形式的設(shè)備。通信設(shè)備150也可以是計算設(shè)備或者更簡單的設(shè)備,例如電話機。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,對話存儲125和聯(lián)絡(luò)數(shù)據(jù)庫105可以駐留在可以被通信系統(tǒng)100內(nèi)所示的客戶機設(shè)備200訪問的任何設(shè)備上。圖2進一步詳細示出典型的計算機客戶機設(shè)備200,以下將做說明。此外,盡管只示出了一個客戶機設(shè)備200和一個通信設(shè)備150,但是,顯然,系統(tǒng)100內(nèi)可以包括更多的客戶機設(shè)備200和/或通信設(shè)備150。客戶機設(shè)備200還可以被稱為發(fā)端設(shè)備,而通信設(shè)備150還可以被稱為聯(lián)絡(luò)設(shè)備。
圖2示出用于實現(xiàn)在此描述的本發(fā)明各方面的典型客戶機設(shè)備200。在其最基本形式中,客戶機設(shè)備200通常包括至少一個處理單元202和存儲器204。根據(jù)客戶機設(shè)備的正確配置和類型,存儲器204可以是易失性的(例如RAM)、非易失性的(例如ROM、閃速存儲器等)或者是這二者的組合。圖2中利用虛線206示出這種最基本配置。客戶機設(shè)備200還可以具有附加特性/功能。例如,設(shè)備200還可以包括附加存儲器(活動的和/或非活動的),包括但并不局限于磁盤或光盤或磁帶。圖2中利用活動存儲器208和非活動存儲器210示出這種附加存儲器。計算機存儲媒體包括利用任意方法和技術(shù)實現(xiàn)的易失性的和非易失性的、活動的和非活動的媒體,它們用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息。存儲器204、活動存儲器208以及非活動存儲器210均是計算機存儲媒體的例子。計算機存儲媒體包括但并不局限于RAM、ROM、EEPROM、閃速存儲器或其它存儲技術(shù)、CD-ROM、數(shù)字通用光盤(“DVD”)、或者其它光學(xué)存儲器、盒式磁盤、磁帶、磁盤存儲器或其它磁存儲設(shè)備,或者可以用于存儲或者讀出要求信息而且可以被客戶機設(shè)備200訪問的任何其它媒體。任意一個這種計算機存儲媒體是客戶機設(shè)備200的一部分。
客戶機設(shè)備200的計算機存儲媒體還含有適于與諸如通信業(yè)務(wù)提供商120的遠程計算機以及遠程客戶機設(shè)備200進行通信并對遠程計算機和遠程客戶機設(shè)備發(fā)出的信息進行處理的計算機程序和/或例程。
客戶機設(shè)備200還可以含有使該設(shè)備與其它設(shè)備進行通信的通信連接212。通信連接212是通信媒體的一個例子。通信媒體通常嵌入計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,或諸如載波的已調(diào)數(shù)據(jù)信號內(nèi)的其它數(shù)據(jù)或其它傳輸機制,并且通信媒體包括任意信息傳送媒體。術(shù)語“已調(diào)數(shù)據(jù)信號”指其一個或者多個特性以這樣的方式被設(shè)置或者被改變以致將信息編碼到該信號內(nèi)的信號。作為例子但并不局限于此例,通信媒體包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線媒體和諸如聲頻、射頻、紅外以及其它無線媒體的無線媒體。在此,所使用的術(shù)語“計算機可讀媒體”包括存儲媒體、通信媒體、以及本技術(shù)領(lǐng)域內(nèi)的熟練技術(shù)人員已知的任何其它計算機可讀媒體。
客戶機設(shè)備200還可以具有輸入設(shè)備214,例如鍵盤、鼠標(biāo)、筆、話音輸入設(shè)備、觸摸式輸入設(shè)備等。而且還可以包括輸出設(shè)備216,例如顯示器、揚聲器、打印機等。由于所有這些設(shè)備在本技術(shù)領(lǐng)域內(nèi)眾所周知,所以在此不做說明。
為了說明根據(jù)本發(fā)明的通信控件的運行過程,圖3示出圖1所示的各設(shè)備與通信系統(tǒng)100的一個交互過程序列。圖3所示的系統(tǒng)100的各設(shè)備包括客戶機設(shè)備200和通信設(shè)備150以及聯(lián)絡(luò)數(shù)據(jù)庫100和對話存儲125。圖4-7更詳細示出各種設(shè)備的交互過程以及它們所執(zhí)行例程。
根據(jù)上述說明的本發(fā)明的各設(shè)備之間的通信過程可以明白,許多通信處理過程是由客戶機設(shè)備200執(zhí)行的。根據(jù)本發(fā)明的又一個方面,通信設(shè)備150可以是比客戶機設(shè)備200簡單的設(shè)備。例如,在采用聲頻通信電話類型時,客戶機設(shè)備200可以對作為電話機的通信設(shè)備150發(fā)出通信請求。這是通過確定與電話機進行通信所需的電話協(xié)議以及要接通在其通信設(shè)備(即電話機)處的特定聯(lián)系人的必要地址(即電話號碼)實現(xiàn)的。圖6示出使通信設(shè)備150’與更復(fù)雜客戶機設(shè)備200進行簡單聯(lián)絡(luò)通信的簡化處理過程。
參考圖3,在客戶機設(shè)備200發(fā)出新通信“活動”302時,開始進行通信連接和處理。新通信活動302將需要聯(lián)絡(luò)信息,在此典型交互過程中,利用對聯(lián)絡(luò)數(shù)據(jù)庫105發(fā)出的地址請求304獲得該聯(lián)絡(luò)信息。發(fā)送到聯(lián)絡(luò)數(shù)據(jù)庫105的地址請求304包括關(guān)于已開始的通信的信息,包括要求的通信類型,以及客戶機設(shè)備200發(fā)送的任意優(yōu)先協(xié)議和/或通信詳情。然后,聯(lián)絡(luò)數(shù)據(jù)庫105確定哪個地址(如果存在)滿足地址請求發(fā)送的要求。例如,如果在發(fā)送到聯(lián)絡(luò)數(shù)據(jù)庫105的地址請求中指出的是視頻請求和文字聊天請求,則聯(lián)絡(luò)數(shù)據(jù)庫105將返回與地址請求304的視頻請求和文字聊天請求匹配的可能活動306。
“活動”(activity)的概念包括以下幾個方面地址、通信類型、以及可選地,通信程序、業(yè)務(wù)提供商和/或協(xié)議。地址用于確定將利用活動進行通信的邀請發(fā)送到何處。通信類型用于確定收端發(fā)出什么類型的通信邀請。如果包括業(yè)務(wù)提供商,則還可以包括關(guān)于將活動邀請首先發(fā)送到何處的信息(例如可以將邀請發(fā)送到業(yè)務(wù)提供商,然后轉(zhuǎn)發(fā)到聯(lián)絡(luò)地址)。納入特定通信程序(或帶有嵌入的可擴展通信控件的程序)將進一步指明在何處將活動邀請發(fā)送到通信設(shè)備150。如果通信設(shè)備150未載入所述特定程序,則該邀請會使該程序載入,或者至少在通信設(shè)備150上顯示要載入什么程序的指示。在一個典型實施例中,聯(lián)絡(luò)設(shè)備150包括用于處理這種邀請的程序。圖5示出這種程序的一個典型流程圖,以下將做說明。如果這種通信類型的通信程序可以采用許多協(xié)議,則通過在活動中規(guī)定協(xié)議,可以將正確協(xié)議用于通信請求。
在一種典型情況下,如果聯(lián)絡(luò)人的文字聊天活動是UNIX“通話”會話,則將用戶姓名和UNIX計算機的主機名稱以及UNIX通話協(xié)議需要以該用戶姓名和主機名稱聯(lián)絡(luò)聯(lián)絡(luò)人的指示一起返回。當(dāng)然,對于特定聯(lián)絡(luò)人可以使用不止一種活動,因此,可以將多種地址和協(xié)議返回306。本技術(shù)領(lǐng)域內(nèi)的熟練技術(shù)人員明白,可以使用許多種活動,而且它們與本發(fā)明相容。此外,根據(jù)本發(fā)明的一個方面,活動的定義可由客戶機設(shè)備擴展。根據(jù)以下說明,可以進一步理解該說明性例子。
接著,客戶機設(shè)備200確定308地址和協(xié)議,從而用于聯(lián)絡(luò)通信設(shè)備150的聯(lián)絡(luò)人。例如,如果聯(lián)絡(luò)人或者客戶機設(shè)備200的用戶指出特定類型的活動優(yōu)先(即使可以使用多種類型),則此優(yōu)先用所述地址傳回,并且如果雙方都可以使用該優(yōu)先,則選擇此優(yōu)先類型的活動。只能在客戶機設(shè)備200上執(zhí)行確定過程310,或者確定過程308還可以包括與其它設(shè)備進行交互,從而確定該聯(lián)絡(luò)人當(dāng)前在使用特定類型的通信的特定地址上是否可用。例如,對于某些即時消息文字聊天系統(tǒng),用戶和聯(lián)絡(luò)人廣播他們何時可以進行聊天的指示。因此,確定哪個地址用于進行通信的過程可以進一步包括確定哪個或者哪些地址是聯(lián)絡(luò)人當(dāng)前可以在線的地址。
一旦確定308了地址、協(xié)議以及可能的特定通信程序,則產(chǎn)生310新通信請求或產(chǎn)生多個新通信請求(如果要求多種類型的通信)。在圖3所示的交互過程中,存在非對等通信,非對等通信具有通過其將發(fā)生與聯(lián)絡(luò)人的實際通信的中間業(yè)務(wù)。因此,客戶機設(shè)備200將對話詳情312送到對話存儲125。對話存儲125是一個虛擬聚會處,在這里,客戶機設(shè)備200和通信設(shè)備150相遇并在“對話”中處理其通信。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,對話存儲125可以駐留在通信業(yè)務(wù)提供商120、客戶機設(shè)備200、通信設(shè)備150,或者本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員已知的其它設(shè)備上。在本發(fā)明中使用的對話是調(diào)用中間業(yè)務(wù)的任意通信,所述中間業(yè)務(wù)控制非對等性質(zhì)環(huán)境下的通信。一旦將對話詳情312發(fā)送到對話存儲125,則在對話存儲建立314對話。然后,將對話確認316返回客戶機設(shè)備200以提供連接到所建立的對話的詳情。
接著,將通信請求318發(fā)送到先前為聯(lián)絡(luò)人確定的地址。在此實施例中,將該通信請求(邀請)318發(fā)送到對應(yīng)于該通信地址的通信設(shè)備150。一旦通信設(shè)備150收到該通信請求,它就識別320通信請求的活動。如果接受該請求,則該通信設(shè)備起動對應(yīng)于通信請求的規(guī)定活動的應(yīng)用程序322。例如,通信請求318可以利用名稱或者通過作為在通信請求中規(guī)定的活動的一部分的某種其它指示(例如協(xié)議、文件類型、通信類型等)規(guī)定特定應(yīng)用程序。作為一種選擇,通信設(shè)備150可以具有用于處理特定活動的缺省應(yīng)用程序。一旦在通信設(shè)備150上啟動了322應(yīng)用程序,就將連接詳情324送回對話存儲125,從而將通信設(shè)備120連接到對話存儲125。此外,可以直接將通信確認326送到客戶機設(shè)備200。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,在對話存儲125內(nèi)參與通信是充分的通信確認,而且在本發(fā)明的某些實施例中,不將附加通信確認326發(fā)送到客戶機設(shè)備200。一旦客戶機設(shè)備200和通信設(shè)備150具有連接到對話存儲125的所有連接詳情,則他們可以通過對話存儲125互相進行通信328、330。
本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,對話存儲125可以包括本技術(shù)領(lǐng)域內(nèi)已知的大量中間通信程序中的任何一個中間通信程序。通信室125可以出現(xiàn)在電視會議反射器、文字聊天服務(wù)器應(yīng)用程序、聲頻聊天服務(wù)器應(yīng)用程序等上。
本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員還明白,圖3僅示出系統(tǒng)100的各設(shè)備之間進行的一組典型交互。因此,在其它這種交互中,還可以包括設(shè)備和連接的其它配置。圖3所示的交互僅具有說明性意義,它有助于連接本發(fā)明,而對本發(fā)明范圍沒有限制意義。
如圖1、2和3所示,在此描述的通信系統(tǒng)100的實施例包括用于起動通信并對通信進行處理的客戶機設(shè)備200。圖4示出根據(jù)本發(fā)明一個實施例客戶機設(shè)備200引發(fā)的通信的用戶連接例程400的流程圖。用戶連接例程400從方框401開始并進入方框405,在方框405,開始進行新通信。接著,在方框410,例程400獲得聯(lián)絡(luò)人的可能通信活動。這些活動是用戶手動輸入的,可以從本地聯(lián)絡(luò)數(shù)據(jù)庫105獲得,也可以從諸如公司范圍目錄或搜索引擎等的遠程位置獲得。
在本發(fā)明的一個典型實施例中,聯(lián)絡(luò)數(shù)據(jù)庫105含有姓名、通信地址、電子郵件地址、實時地址等,但是不存儲實時地址與活動之間的映射。用戶選擇要與其通信的聯(lián)絡(luò)人并選擇活動,客戶機設(shè)備200得出利用哪個聯(lián)絡(luò)人地址通過從客戶機設(shè)備200可用的某個特定業(yè)務(wù)提供商實現(xiàn)該活動。在本發(fā)明的變換實施例中,聯(lián)絡(luò)人記錄可以指出活動的優(yōu)先地址。在又一個實施例中,可以將優(yōu)先地址存儲在別處,例如存儲在與聯(lián)絡(luò)人記錄松散地鏈接在一起的“每個用戶任務(wù)優(yōu)先數(shù)據(jù)庫”中,存儲到系統(tǒng)范圍所有用戶共享優(yōu)先,或者根據(jù)用戶的存在設(shè)置進行飛擊式確定(例如,通過蜂窩式電話在線、通過寬帶連接在線、工作在線、家庭在線等)。
接著,在方框415,確定哪個地址或者哪些地址以及應(yīng)用程序應(yīng)該用于與聯(lián)絡(luò)人進行通信。如上所述,可以以各種方式確定與聯(lián)絡(luò)人進行通信的一個或者多個地址。然而,在本發(fā)明的一個典型實施例中,在方框410檢索從聯(lián)絡(luò)數(shù)據(jù)庫105可以獲得的、特定聯(lián)絡(luò)人的所有活動,然后,將它們與在方框405開始的新通信進行比較,以確定它們之一是否是與與聯(lián)絡(luò)人有關(guān)的通信設(shè)備150進行通信的正確地址和通信類型組合。
一旦確定了一個或者多個地址以及任何有關(guān)通信類型和其它活動信息,則在方框420產(chǎn)生至少包括有關(guān)活動的新通信請求。在判別方框425,確定所有活動是否是對等性質(zhì)的(例如沒有中間設(shè)備參與或管理該通信)。如果所有活動是對等的,則在方框430,可以立即將通信請求發(fā)送到通信設(shè)備150。然而,如果在判別方框425確定不是所有活動是對等的(例如至少存在一個中間設(shè)備參與或者管理該通信),則處理過程繼續(xù)到方框440,在方框440,開始進行遠程對話,此后,在方框430發(fā)送通信請求。接著,在判別方框435確定請求是否被確認。如果沒有請求被確認,則在方框499,結(jié)束例程400。然而,如果至少有一個通信請求活動被確認,則處理過程繼續(xù)到子例程方框700,在子例程方框700,開始在設(shè)備之間進行通信。圖7示出通信子例程700,以下將做詳細說明。一旦通信子例程700返回,則在方框499,例程400結(jié)束。
如圖1和圖3所示,在此描述的通信系統(tǒng)100的實施例包括聯(lián)絡(luò)人利用其與客戶機設(shè)備200進行通信的通信設(shè)備150。如上所述,通信設(shè)備150可以是與客戶機設(shè)備200非常類似的計算設(shè)備,它也可以是諸如電話機的非常簡單的通信設(shè)備。因此,圖5和6示出使用通信設(shè)備150的聯(lián)絡(luò)人執(zhí)行的典型通信連接例程。
圖5示出利用能夠執(zhí)行計算應(yīng)用程序并且包括與客戶機設(shè)備200的部件類似的部件的通信設(shè)備150執(zhí)行的典型通信連接例程500??梢詫⑼ㄐ胚B接例程500嵌入駐留在通信設(shè)備150上的處理過程,以處理進入的通信請求。這種駐留的處理過程還可以傳送通信設(shè)備150的狀態(tài),因此,希望與聯(lián)絡(luò)人進行通信的用戶將知道聯(lián)絡(luò)人的當(dāng)前狀態(tài)。
在方框501,開始聯(lián)絡(luò)人通信連接例程500,然后,進入方框505,在方框505,接收新通信請求。接著,在方框510,確定將什么類型的活動嵌入該通信請求中。一旦在方框510確定了請求的活動,則在判別方框515,確定任何確定的活動是否可用,從而在通信設(shè)備150上的程序可以響應(yīng)該通信請求。如果是,則在方框520,確認該通信請求。在子例程方框700開始通信。圖7示出子例程700,以下將做說明。一旦通信子例程700返回,則在方框599,結(jié)束例程500。然而,如果在判別方框515確定沒有活動可以用于根據(jù)通信請求進行通信,則在方框525,將通信失敗通知發(fā)送到客戶機設(shè)備200,并在方框599,結(jié)束處理過程。
圖6也示出了一個聯(lián)絡(luò)人通信連接例程。然而,圖6所示的聯(lián)絡(luò)人通信連接例程600用于同樣的通信設(shè)備150,例如電話機、無線電尋呼機等不能根據(jù)通信請求執(zhí)行計算例程的通信設(shè)備150。因此,在方框601,開始例程600,然后,進入方框605,在方框605,接收新通信請求。接著,在判別方框610,確定該通信請求是否被識別。如果是,則在方框615,連接通信。然后,在方框620,利用從通信請求中識別的通信類型,開始通信。在在方框620結(jié)束通信后,在方框699,例程600結(jié)束。如果在判別方框610沒有識別到通信類型,則在方框699,例程600也結(jié)束。
本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,通過在客戶機設(shè)備200上使用可擴展通信控件,可以在可擴展通信控件內(nèi)提供許多不同類型的通信??梢詫⒋送ㄐ趴丶肟蛻魴C設(shè)備200(以及更先進的通信設(shè)備150)內(nèi)的其它計算程序。在開發(fā)程序時,可以引入該控件,從而在執(zhí)行控件時,可以將在連接其它設(shè)備時使用的通信類型指導(dǎo)給該控件。這種位置保持(placeholder)設(shè)計可以使計算機程序更靈活,而且可以使通信控件根據(jù)要求升級和改進。由于開發(fā)了特定通信設(shè)備150作為要求進行通信的設(shè)備,所以可以定義新協(xié)議和定制通信請求,使得它們可以被通信連接例程400和聯(lián)絡(luò)人連接例程500和/或600識別。例如,可代之以對適應(yīng)于對通信設(shè)備150上的聲頻聊天程序發(fā)送數(shù)字信號的聲頻聊天通信控件進行適應(yīng),以便將電話聲頻信號發(fā)送到電話通信設(shè)備150,從而電話通信設(shè)備150發(fā)出的信號將被客戶機設(shè)備200上的已適應(yīng)通信控件識別(例如振鈴音、占線信號、掛機、按鈕音、撥號音等)。
如上所述,圖7示出典型通信子例程700。典型通信子例程700在方框701開始,然后,進入循環(huán)方框705,在循環(huán)方框705,反覆通過作為通信連接的一部分的所有應(yīng)用程序(用于通信類型的規(guī)定應(yīng)用程序或者缺省應(yīng)用程序)。因此,對于每個應(yīng)用程序,如果還未起動,則在方框710起動該應(yīng)用程序。接著,在循環(huán)方框715,對于當(dāng)前應(yīng)用程序采用的每種通信類型,確定連接是否是對等通信。如果是,則在方框725,將應(yīng)用程序連接到其對等設(shè)備(例如客戶機設(shè)備200或通信設(shè)備150)。如果在判別方框720確定該通信類型不是對等的,則處理過程繼續(xù)到方框745,在方框745,將應(yīng)用程序連接到對話存儲125內(nèi)的遠程對話。
在方框745或725后面,在判別方框730確定這是否是當(dāng)前應(yīng)用程序的最后一種通信類型。如果在判別方框730發(fā)現(xiàn)這不是最后一種通信類型,則處理循環(huán)返回循環(huán)方框715。然而,如果在判別方框703確定這是當(dāng)前應(yīng)用程序的最后一種通信類型,則處理過程繼續(xù)到判別方框735,在判別方框735,確定這是否是最后的應(yīng)用程序。如果不是,則處理過程循環(huán)返回循環(huán)方框705,在循環(huán)方框705,下一個應(yīng)用程序成為當(dāng)前應(yīng)用程序。然而,如果在判別方框705確定這是最后的應(yīng)用程序,則處理過程進入方框740,在方框740,通過連接的通信類型,利用與所述通信類型有關(guān)的所有應(yīng)用程序,進行通信。一旦由通信設(shè)備和/或客戶機設(shè)備結(jié)束通信,則在方框799,子例程700返回其呼叫例程。
圖8示出具有在嵌入到應(yīng)用程序800、850的通信控件810與860之間的文字聊天和視頻通信的兩個應(yīng)用程序800、850的典型示意圖。通信控件810的文字聊天815是非對等文字聊天,因此連接到對話830。相應(yīng)地,應(yīng)用程序850的通信控件860具有文字聊天865,文字聊天865也象文字聊天815那樣連接到同一個對話830。因此,應(yīng)用程序800和應(yīng)用程序850可以利用對話830通過文字聊天進行通信。如上所述,對話830可以駐留在客戶機設(shè)備200、通信設(shè)備150、通信業(yè)務(wù)提供商120或者與通信網(wǎng)絡(luò)100進行通信的其它設(shè)備上的對話存儲125內(nèi)。此外,應(yīng)用程序800和應(yīng)用程序850包括作為對等連接的視頻連接840。因此,通信控件810和通信控件860對視頻通信840具有直接對等連接,而不需要中間“對話”。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員以及其它人員明白,圖8僅示出根據(jù)本發(fā)明的應(yīng)用程序和通信過程的一個典型實施例。圖8決不意味著示出了可能類型的應(yīng)用程序和/或通信的完備列表。
利用根據(jù)本發(fā)明的通信控件進行更復(fù)雜交互是可能的。例如,可以利用在適應(yīng)于采用根據(jù)本發(fā)明通信控件的各應(yīng)用程序之間移動的通信控件保持正在進行的通信。一個例子是從字處理應(yīng)用程序中去除文字聊天并將它移動到Web瀏覽器應(yīng)用程序。這樣可以使用戶保持通信,而不必保持不必要的應(yīng)用程序打開。此外,使在用戶選擇的應(yīng)用程序中有了活動通信控件,可以更好地進行協(xié)作。不再需要為了進行通信而在應(yīng)用程序之間進行轉(zhuǎn)換。
圖10是示出用于從一個應(yīng)用程序上卸下(detach)通信控件,并且或者在諸如外殼應(yīng)用程序900的缺省應(yīng)用程序內(nèi)單獨使用它,或者將被卸下的通信控件重新連接(reattach)到目標(biāo)應(yīng)用程序上的拆卸例程1000。拆卸例程1000在方框1001開始,然后,進入方框1005,在方框1005,接收卸下通信控件的指示,該指示包括現(xiàn)用的一個或者多個當(dāng)前活動。在用戶“拖動”(點擊控件并移動它)控件離開應(yīng)用程序窗口時是進行卸下的一個典型指示。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,可以將其它指示用作缺省。接著,在方框1010,確定當(dāng)前一個或者多個活動的缺省應(yīng)用程序。接著,在方框1015,在物理上將當(dāng)前通信控件從其先前應(yīng)用程序上卸下。圖9示出含有根據(jù)本發(fā)明通信控件的缺省外殼應(yīng)用程序的實施例。圖9所示的外殼900包括作為其部件構(gòu)成外殼通信程序的聊天通信控件910。圖11示出具有已被拆卸到諸如外殼應(yīng)用程序900的缺省應(yīng)用程序1120內(nèi)的通信控件1110的典型應(yīng)用程序1100。然后,拆卸例程1000繼續(xù)到方框1020,在方框1020,將該通信控件連接到諸如外殼應(yīng)用程序900的缺省應(yīng)用程序。接著,在判別方框1025,確定是否規(guī)定了一個或者多個目標(biāo)應(yīng)用程序。如果在判別方框1025確定規(guī)定了一個或者多個目標(biāo)應(yīng)用程序,則處理過程繼續(xù)到方框1030,在方框1030,將一個或者多個當(dāng)前通信連接(拖動)到一個或者多個目標(biāo)應(yīng)用程序。本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,可以存在混合通信類型,而且可以將一種或者多種通信類型連接到目標(biāo)應(yīng)用程序,而且一種或者多種通信類型可以保持連接到缺省應(yīng)用程序上。例如,這樣可以使浮動視頻窗口作為單獨連接,而非被連接的文字聊天窗口。總之,無論是否發(fā)現(xiàn)在判別方框1025規(guī)定的目標(biāo)應(yīng)用程序,在上述描述的子例程700繼續(xù)進行通信。在通信子例程700返回時,在方框1099,拆卸子例程結(jié)束。
本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員明白,可以以多種不同的方式指向子例程700的通信。例如,在從現(xiàn)有應(yīng)用程序卸下并被連接到另一個應(yīng)用程序上時,該通信控件可以或者保持當(dāng)前連接,或者簡單記憶如何重新連接到當(dāng)前應(yīng)用程序。這可以根據(jù)通信類型(例如某些通信類型不能處理無縫斷開和重新連接)、客戶機設(shè)備200的不同類型和/或通信設(shè)備150改變,或者就根據(jù)用戶可以對其通信控件配置的優(yōu)先設(shè)置而改變。
盡管對本發(fā)明的說明性實施例進行了說明和描述,但是,顯然,在本發(fā)明的實質(zhì)范圍內(nèi),可以對其做各種變更。
權(quán)利要求
1.一種利用可擴展通信控件在計算設(shè)備與遠程通信設(shè)備之間進行通信的方法,該方法包括根據(jù)聯(lián)絡(luò)人信息確定可擴展通信活動;對可擴展通信控件進行適應(yīng),以向所述可擴展通信活動的一個通信地址產(chǎn)生通信請求;以及與遠程通信設(shè)備建立符合所述通信可擴展通信活動的通信連接。
2.根據(jù)權(quán)利要求1所述的方法,其中可擴展通信控件由操作系統(tǒng)提供。
3.根據(jù)權(quán)利要求2所述的方法,該方法進一步包括更新可擴展通信控件并由此更新適于采用該可擴展通信控件的任意計算程序。
4.根據(jù)權(quán)利要求1所述的方法,其中所述計算程序是用于所述可擴展通信控件的外殼程序。
5.根據(jù)權(quán)利要求1所述的方法,其中所述通信連接是從包括文字聊天、即時消息、視頻流以及音頻流的組中選擇的。
6.根據(jù)權(quán)利要求1所述的方法,其中所述通信連接是通過計算網(wǎng)絡(luò)進行的。
7.根據(jù)權(quán)利要求1所述的方法,其中所述通信連接是通過電話網(wǎng)絡(luò)進行的。
8.根據(jù)權(quán)利要求1所述的方法,其中遠程通信設(shè)備是非計算設(shè)備。
9.根據(jù)權(quán)利要求1所述的方法,其中建立通信連接的過程進一步包括建立對話,以及遠程通信設(shè)備和計算設(shè)備均通過所述對話建立連接。
10.根據(jù)權(quán)利要求1所述的方法,該方法進一步包括所述計算程序規(guī)定計算程序使用的所述可擴展通信控件和可擴展通信活動。
11.根據(jù)權(quán)利要求10所述的方法,其中所述計算程序利用可擴展標(biāo)記語言規(guī)定可擴展通信活動。
12.根據(jù)權(quán)利要求1所述的方法,該方法進一步包括從所述計算程序上卸下可擴展通信控件。
13.根據(jù)權(quán)利要求12所述的方法,該方法進一步包括將被卸下的可擴展通信控件連接到適應(yīng)于使用該可擴展通信控件的第二計算程序。
14.根據(jù)權(quán)利要求13所述的方法,其中卸下可擴展通信控件并將它連接到第二計算程序使得保持所述建立的通信連接。
15.根據(jù)權(quán)利要求1所述的方法,其中所述通信請求包括所述可擴展通信活動、始發(fā)標(biāo)識符以及返回標(biāo)識符。
16.根據(jù)權(quán)利要求15所述的方法,其中所述通信活動進一步包括用于響應(yīng)所述通信請求的特定通信程序的一個指示。
17.根據(jù)權(quán)利要求15所述的方法,其中所述通信請求包括多個通信活動,每個活動規(guī)定一種通信類型,并且其中建立通信連接的過程包括建立對應(yīng)于每個規(guī)定的通信活動的多個通信連接。
18.一種具有計算機可執(zhí)行指令的計算機可讀媒體,該計算機可執(zhí)行指令通過執(zhí)行如下過程利用可擴展通信控件在計算設(shè)備與遠程通信設(shè)備之間進行通信根據(jù)聯(lián)絡(luò)人信息確定可擴展通信活動;對可擴展通信控件進行適應(yīng),以向所述可擴展通信活動的一個通信地址產(chǎn)生通信請求;以及與遠程通信設(shè)備建立符合所述通信可擴展通信活動的通信連接。
19.根據(jù)權(quán)利要求18所述的計算機可讀媒體,其中可擴展通信控件由操作系統(tǒng)提供。
20.根據(jù)權(quán)利要求19所述的計算機可讀媒體,該計算機可讀媒體進一步包括更新可擴展通信控件并由此更新適于采用該可擴展通信控件的任意計算程序。
21.根據(jù)權(quán)利要求18所述的計算機可讀媒體,其中所述通信連接是從包括文字聊天、即時消息、視頻流以及音頻流的組中選擇的。
22.根據(jù)權(quán)利要求18所述的計算機可讀媒體,其中建立通信連接的過程進一步包括建立對話,以及遠程通信設(shè)備和計算設(shè)備均通過所述對話建立連接。
23.根據(jù)權(quán)利要求18所述的計算機可讀媒體,該計算機可讀媒體進一步包括所述計算程序規(guī)定計算程序使用的所述可擴展通信控件和可擴展通信活動。
24.根據(jù)權(quán)利要求23所述的計算機可讀媒體,其中所述計算程序利用可擴展標(biāo)記語言規(guī)定可擴展通信活動。
25.根據(jù)權(quán)利要求18所述的計算機可讀媒體,其中所述通信請求包括所述可擴展通信活動、始發(fā)標(biāo)識符以及返回標(biāo)識符。
26.根據(jù)權(quán)利要求25所述的計算機可讀媒體,其中所述通信活動進一步包括用于響應(yīng)所述通信請求的特定通信程序的一個指示。
27.根據(jù)權(quán)利要求25所述的計算機可讀媒體,其中所述通信請求包括多個通信活動,每個活動規(guī)定一種通信類型,并且其中建立通信連接的過程包括建立對應(yīng)于每個規(guī)定的通信活動的多個通信連接。
28.一種具有處理器和存儲器的計算設(shè)備,該存儲器具有計算機可執(zhí)行指令,該計算機可執(zhí)行指令通過執(zhí)行如下過程利用可擴展通信控件與遠程通信設(shè)備進行通信根據(jù)聯(lián)絡(luò)人信息確定可擴展通信活動;對可擴展通信控件進行適應(yīng),以向所述可擴展通信活動的一個通信地址產(chǎn)生通信請求;以及與遠程通信設(shè)備建立符合所述通信可擴展通信活動的通信連接。
29.根據(jù)權(quán)利要求28所述的計算設(shè)備,其中可擴展通信控件由操作系統(tǒng)提供。
30.根據(jù)權(quán)利要求29所述的計算設(shè)備,該計算設(shè)備進一步包括更新可擴展通信控件并由此更新適于采用該可擴展通信控件的任意計算程序。
31.根據(jù)權(quán)利要求28所述的計算設(shè)備,其中所述通信連接是從包括文字聊天、即時消息、視頻流以及音頻流的組中選擇的。
32.根據(jù)權(quán)利要求28所述的計算設(shè)備,其中建立通信連接的過程進一步包括建立對話,以及遠程通信設(shè)備和計算設(shè)備均通過所述對話建立連接。
33.根據(jù)權(quán)利要求28所述的計算設(shè)備,該計算設(shè)備進一步包括所述計算程序規(guī)定計算程序使用的所述可擴展通信控件和可擴展通信活動。
34.根據(jù)權(quán)利要求33所述的計算設(shè)備,其中所述計算程序利用可擴展標(biāo)記語言規(guī)定可擴展通信活動。
35.根據(jù)權(quán)利要求28所述的計算設(shè)備,其中所述通信請求包括所述可擴展通信活動、始發(fā)標(biāo)識符以及返回標(biāo)識符。
36.根據(jù)權(quán)利要求35所述的計算設(shè)備,其中所述通信活動進一步包括用于響應(yīng)所述通信請求的特定通信程序的一個指示。
37.根據(jù)權(quán)利要求35所述的計算設(shè)備,其中所述通信請求包括多個通信活動,每個活動規(guī)定一種通信類型,并且其中建立通信連接的過程包括建立對應(yīng)于每個規(guī)定的通信活動的多個通信連接。
38.一種用于響應(yīng)由計算設(shè)備到通信設(shè)備的可擴展通信請求的方法,該方法包括根據(jù)接收的通信請求確定可擴展通信活動;確定通信程序響應(yīng)于所述可擴展通信活動;以及響應(yīng)于所述通信請求激活所述通信程序。
39.根據(jù)權(quán)利要求20所述的方法,其中所述通信請求包括多個可擴展通信活動,并且所述方法進一步包括響應(yīng)于多個可擴展通信活動激活多個通信程序。
40.根據(jù)權(quán)利要求20所述的方法,其中所述通信請求包括多個可擴展通信活動,并且所述方法進一步包括響應(yīng)于所述多個可擴展通信活動僅激活一個所述通信程序。
41.一種具有計算機可執(zhí)行指令的計算機可讀媒體,該計算機可執(zhí)行指令通過執(zhí)行以下過程響應(yīng)由計算設(shè)備發(fā)送到通信設(shè)備的可擴展通信請求根據(jù)接收的通信請求確定可擴展通信活動;確定通信程序響應(yīng)于所述可擴展通信活動;以及響應(yīng)于所述通信請求激活所述通信程序。
42.一種具有處理器和存儲器的計算設(shè)備,該存儲器具有計算機可執(zhí)行指令,該計算機可執(zhí)行指令通過執(zhí)行以下過程響應(yīng)由計算設(shè)備發(fā)送到通信設(shè)備的可擴展通信請求根據(jù)接收的通信請求確定可擴展通信活動;確定通信程序響應(yīng)于所述可擴展通信活動;以及響應(yīng)于所述通信請求激活所述通信程序。
全文摘要
本發(fā)明涉及提供用于處理各設(shè)備之間的通信的、可擴展自適應(yīng)軟件通信控件。可擴展通信控件用于在計算設(shè)備與遠程通信設(shè)備之間進行通信。在被修改采用可擴展通信控件的計算程序中,檢索關(guān)于聯(lián)絡(luò)人的信息。根據(jù)檢索的聯(lián)絡(luò)信息,確定可以采用什么類型的活動與遠程通信設(shè)備的聯(lián)絡(luò)人進行通信。一旦根據(jù)聯(lián)絡(luò)人的信息確定了通信活動,就將通信請求發(fā)送到與該通信活動有關(guān)的通信地址。收到可擴展通信控件后開始與遠程通信設(shè)備通信。
文檔編號H04L29/06GK1518290SQ03107878
公開日2004年8月4日 申請日期2003年4月1日 優(yōu)先權(quán)日2003年1月15日
發(fā)明者喬丹·L·K·施瓦茲, 喬丹 L K 施瓦茲, O 布拉格思維德, 西恩·O·布拉格思維德, 培曼·奧利茲, 奧利茲, R 艾里克森, 保羅·R·艾里克森, F 博德曼, 安德魯·F·博德曼 申請人:微軟公司