專利名稱:利用實時通信建立點對點聯(lián)機的方法
技術領域:
本發(fā)明涉及一種建立點對點聯(lián)機的方法,尤其涉及一種利用實時通信以建立點對 點聯(lián)機的方法。
背景技術:
目前,為了解決IPv4所能提供的網絡地址(Internet Protocol, IP)個數不足以 應付網絡快速成長而產生的需求,網絡地址轉換器(Network AddressTranslation,NAT)被 廣泛的運用在網絡的各個角落。網絡地址轉換器(NetworkAddress Translation, NAT)是 一個路由器(router),通過更換網絡地址的位首(IPHead)的做法將網絡分成外部網絡和 內部網絡,其優(yōu)勢在于對外只需要一個公用的網絡地址,而內部網絡的IP則可以在不同的 單位重復使用。這樣的做法可以在有限的IP個數下提供更多的端點連上網絡。網絡地址轉換器(NAT)有一個特性是外部網絡無法直接聯(lián)機到內部網絡,如果兩 個端點同時在不同的內部網絡下想進行聯(lián)機,會受到這個特性的限制而失敗。點對點聯(lián) 機(Peer to Peer Network)是近幾年來受到重視的研究領域,如何穿越網絡地址轉換器 (NAT)更是該領域中的重要主題之一,例如STUN、TURN、NAT-T都是該主題研究下的產物, 但是這些協(xié)議仍存在著某些限制或缺失。本發(fā)明即是整合了實時通信IM與STUN(Simple Traversal ofUDP over NAT)的優(yōu)點,提出一套建立點對點聯(lián)機的方法。參照圖1,其繪示了一般現有技術中建立點對點聯(lián)機的結構示意圖。圖中,在步驟 (1)首先將第一端點11及第二端點12分別連接至STUN服務器13。接著在步驟(2),分別 從STUN服務器13取得第一端點11及第二端點12兩端點的外部網絡地址Pa及Pb。在步 驟(3),由第一端點11及第二端點12交換網絡地址信息。在步驟(4)從第一端點11及第 二端點12分別傳送各自的外部網絡地址至對方,最后在步驟(5)建立第一端點11及第二 端點12的點對點連接關系。上述的步驟是現有技術中利用STUN服務器13建立點對點聯(lián)機的流程,其中步驟 (3)要交換雙方的IP/Port數據,因為此時第一端點11及第二端點12之間并沒有聯(lián)機,所 以要完成交換數據的動作必須要通過另一種方式進行,其中最常見的做法是利用另一臺服 務器進行交換數據。本發(fā)明是利用十分普及化的實時通信進行數據交換,過程不需要通過 服務器,能夠提供企業(yè)軟件在開發(fā)上降低維護服務器的成本。
發(fā)明內容
有鑒于上述現有技術中所存在的問題,本發(fā)明的目的在于提供一種利用實時通信 建立點對點聯(lián)機的方法,以解決網絡中兩個端點都在網絡地址轉換器(Network Address Translation, NAT)之下時的聯(lián)機困難。根據本發(fā)明的目的,提出一種利用實時通信建立點對點聯(lián)機的方法。首先,在第一 通信端按下實時通信程序的啟動鍵,通過實時通信程序建立第一通信端與第二通信端的第 一視頻聯(lián)機,執(zhí)行輔助程序以確認第一視頻聯(lián)機是否已建立。當視頻聯(lián)機已建立,則輔助程序使用通信協(xié)議以取得第一通信端的外部網絡地址。接著通過實時通信程序將外部網絡 地址傳送至第二通信端,再根據外部網絡地址使第二通信端與第一通信端建立第二視頻聯(lián) 機。其中,輔助程序包含通信協(xié)議執(zhí)行模塊以及適用于實時通信程序的外掛程序。其中,此外掛程序檢測視頻邀請事件,并通知通信協(xié)議執(zhí)行模塊使用通信協(xié)議以 取得外部網絡地址。其中,第二視頻聯(lián)機的視頻質量高于第一視頻聯(lián)機的視頻質量。此外,本發(fā)明還提出一種利用實時通信建立點對點聯(lián)機的方法。首先,分別在第一 電子裝置及第二電子裝置中執(zhí)行第一實時通信程序及第二實時通信程序,以建立所述第一 電子裝置及所述第二電子裝置的第一點對點聯(lián)機。接著,執(zhí)行輔助程序以確認所述第一點 對點聯(lián)機是否已建立。當第一點對點聯(lián)機已建立,則輔助程序執(zhí)行網絡通信協(xié)議以取得所 述第一電子裝置的外部網絡地址。通過第一實時通信程序將外部網絡地址傳送至所述第二 通信端,再根據外部網絡地址,使第一電子裝置的第一應用程序及第二電子裝置的第二應 用程序建立第二點對點聯(lián)機。承上所述,根據本發(fā)明的利用實時通信建立點對點聯(lián)機的方法,可具有一或多個 下述優(yōu)點(1)此方法可通過內部網絡進行連接,從而可解決網絡中兩端點在不同內部網絡 時的聯(lián)機困難。(2)此方法可通過內部網絡進行連接,從而在聯(lián)機時可不受限于服務器頻寬的影 響。
圖1為現有技術的結構示意圖2為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的實施步驟流程圖; 圖3為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的另一實施步驟流程圖; 圖4為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的實施架構示意圖;以及 圖5為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的另一實施架構示意圖。主要符號說明
11 第一端點;
13 =STUN服務器;
42 通信模塊;
44 實時通信外掛程序模塊
51 第一電腦;
53 =AOL實時通信外掛程序;
55 第二通道;
12 第二端點; 41 應用軟件模塊; 43 =STUN 模塊; 45 點對點連接模塊; 52 第二電腦; 54 第一通道;
S21 S26、S31 S37 步驟流程。
具體實施例方式
參照圖2,其系為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的實施例步驟流 程圖,其包含下列步驟。在步驟S21,于第一通信端按下實時通信程序的啟動鍵。其中,該啟動鍵為快速啟動實時通信系統(tǒng)軟件或網絡連接操作的控制鍵。在步驟S22通過實時通信程 序建立第一通信端與第二通信端的第一視頻聯(lián)機。在步驟S23執(zhí)行輔助程序以確認第一通 信端與第二通信端是否已聯(lián)機。當該視頻聯(lián)機已建立,則在步驟S24執(zhí)行所述輔助程序使 用通信協(xié)議取得第一通信端的外部網絡地址,例如IP或連接端口數據。其中,上述通信協(xié) 議是指STUT通信協(xié)議,而輔助程序優(yōu)選為包含通信協(xié)議執(zhí)行模塊(例如STUN模塊)以及 適用于實時通信程序的外掛程序,外掛程序用于檢測視頻邀請事件,并通知通信協(xié)議執(zhí)行 模塊使用通信協(xié)議以取得第一通信端的外部網絡地址。在步驟S25,通過實時通信程序將此外部網絡地址傳送至第二通信端。在步驟S26 根據此外部網絡地址使第二通信端與第一通信端建立第二視頻聯(lián)機。由于建立第二視頻聯(lián) 機時,其網絡聯(lián)機參數可由通信端自行控制,因此該第二視頻聯(lián)機的視頻質量高于第一視 頻聯(lián)機的視頻質量。由于實時通信程序的廠商因為市場或商業(yè)上的考慮,往往僅能提供質 量較低的視頻聯(lián)機。通過上述步驟,兩位使用者便可先使用彼此都有安裝的實時通信程序 先建立視頻聯(lián)機,接著再建立質量較高的視頻聯(lián)機。參照圖3,其系為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的另一實施例步 驟流程圖。圖中以電腦作為舉例說明,但不以此為限,凡可建立網絡聯(lián)機的電子裝置皆可應 用此方法,此方法包含下列步驟。在步驟S31設置實時通信程序于第一電腦。在步驟S32 設置實時通信程序于第二電腦。在步驟S33于第一電腦及第二電腦執(zhí)行實時通信程序以建 立第一點對點聯(lián)機。其中,第一電腦及第二電腦分別位于不同的網絡地址轉換器(NAT)網 絡內。在步驟S34執(zhí)行輔助程序以確認第一電腦及第二電腦是否已聯(lián)機。在步驟S35通 過網絡通信協(xié)議取得外部網絡地址,例如IP及連接端口數據。在步驟S36通過實時通信程 序互傳第一電腦及第二電腦的外部網絡地址。在步驟S37根據該外部網絡地址可使第一電 腦的應用程序及第二電腦的應用程序建立第二點對點聯(lián)機。其中,第一點對點聯(lián)機或第二 點對點聯(lián)機可為視頻聯(lián)機,且第二點對點聯(lián)機所應用的視頻聯(lián)機的視頻質量高于第一點對 點聯(lián)機。此外,在步驟S35視需要可取得多組外部網絡地址,使得第一電腦的應用程序及 第二電腦的應用程序可利用該多組外部網絡地址來建立多個點對點聯(lián)機,如此,第一電腦 的應用程序及第二電腦的應用程序將欲傳輸的數據分割成多份,分別由該多個點對點聯(lián)機 來傳送,如此便可提高第一電腦的應用程序及第二電腦的應用程序之間可使用的網絡頻寬?;蛘?,在步驟S35視需要可取得多組外部網絡地址,使得第一電腦的多個應用程 序及第二電腦的多個應用程序分別建立多個點對點聯(lián)機。參照圖4,其系為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的實施架構示意 圖。圖中,此實施架構至少需包含應用軟件模塊41、通信模塊42、STUN(Simple Traversal of UDP over NAT)模塊43、實時通信外掛程序模塊44及點對點連接模塊45。應用軟件模 塊41是指任何需要通過網絡傳輸的應用軟件,通信模塊42為應用軟件模塊41 一個連接網 絡的接口,應用軟件模塊41可以通過此通信模塊42建立聯(lián)機、傳輸數據、接收數據及中斷 聯(lián)機,STUN模塊43則負責與外部STUN Server溝通以取得所需的外部網絡地址,實時通信 外掛程序模塊44及點對點連接模塊45負責與實時通信軟件溝通以建立遠程的聯(lián)機,此聯(lián)機是用來遠程交換外部網絡地址信息,以建立點對點的聯(lián)機。參照圖5,其系為本發(fā)明的利用實時通信建立點對點聯(lián)機的方法的另一實施架構 示意圖。圖中,以AOL實時通信外掛程序為架構,讓程序開發(fā)者得知AOL實時通信發(fā)生的事 件,例如使用者按下視頻邀請按鍵后,AOL實時通信外掛程序可以得知此事件發(fā)生,或是使 用者接受視頻邀請后,AOL實時通信外掛程序也可以得知事件發(fā)生。首先,第一電腦51及第二電腦52的AOL實時通信外掛程序53會檢測到視頻邀請 的事件,并分別通知第一電腦51的第一通道54及第二電腦52的第二通道55。第一通道 54及第二通道55收到視頻邀請事件后,會先聯(lián)機到AOL實時通信外掛程序53建立第一通 道54及第二通道55與AOL實時通信的溝通橋梁。第一通道54及第二通道55會利用STUN Query Module取得本機端的外部網絡地址,然后將外部網絡地址信息傳送給AOL實時通信 外掛程序53,第一電腦51及第二電腦52兩端的AOL實時通信外掛程序53會建立聯(lián)機,并 交換外部網絡地址數據后,AOL實時通信外掛程序53將遠程的外部網絡地址送回給第一通 道54及第二通道55,完成了交換外部網絡地址的動作,接下來就通過點對點連接模塊建立 點對點的聯(lián)機。以上所述僅為舉例性,而非為限制性。任何未脫離本發(fā)明的精神與范疇,而對其進 行的等效修改或變更,均應包含在權利要求的范圍中。
權利要求
一種利用實時通信建立點對點聯(lián)機的方法,其特征在于包含下列步驟通過第一通信端的實時通信程序建立該第一通信端與第二通信端的第一視頻聯(lián)機;執(zhí)行輔助程序以確認所述第一視頻聯(lián)機是否已建立;當所述第一視頻聯(lián)機已建立時,該輔助程序使用通信協(xié)議以取得所述第一通信端的外部網絡地址;通過所述實時通信程序將所述外部網絡地址傳送至所述第二通信端;根據所述外部網絡地址使所述第二通信端與所述第一通信端建立第二視頻聯(lián)機。
2.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述實時 通信程序由快速啟動鍵所啟動。
3.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述輔助 程序包含通信協(xié)議執(zhí)行模塊以及適用于所述實時通信程序的外掛程序。
4.根據權利要求3所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述外掛 程序檢測視頻邀請事件,并通知所述通信協(xié)議執(zhí)行模塊使用所述通信協(xié)議以取得所述外部 網絡地址。
5.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述通信 協(xié)議為STUN通信協(xié)議。
6.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述外部 網絡地址包含IP及連接端口數據。
7.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述第二 視頻聯(lián)機的視頻質量高于所述第一視頻聯(lián)機的視頻質量。
8.根據權利要求1所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于還包含 取得所述第二通信端的外部網絡地址并傳送至所述第一通信端以建立所述第二視頻聯(lián)機。
9.一種利用實時通信建立點對點聯(lián)機的方法,其特征在于包含下列步驟分別在第一電子裝置及第二電子裝置中執(zhí)行第一實時通信程序及第二實時通信程序, 以建立所述第一電子裝置及所述第二電子裝置的第一點對點聯(lián)機; 執(zhí)行輔助程序以確認所述第一點對點聯(lián)機是否已建立;當所述第一點對點聯(lián)機已建立時,所述輔助程序執(zhí)行網絡通信協(xié)議以取得所述第一電 子裝置的外部網絡地址;通過所述第一實時通信程序將所述外部網絡地址傳送至所述第二通信端; 根據所述外部網絡地址,使所述第一電子裝置的第一應用程序及所述第二電子裝置的 第二應用程序建立第二點對點聯(lián)機。
10.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述輔 助程序包含通信協(xié)議執(zhí)行模塊以及適用于所述第一實時通信程序的外掛程序。
11.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述外 掛程序檢測視頻邀請事件,并通知所述通信協(xié)議執(zhí)行模塊使用所述通信協(xié)議以取得所述外 部網絡地址。
12.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述通 信協(xié)議為STUN通信協(xié)議。
13.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述外 部網絡地址包含IP及連接端口數據。
14.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述第 一點對點聯(lián)機為第一視頻聯(lián)機,而所述第二點對點聯(lián)機為第二視頻聯(lián)機。
15.根據權利要求14所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于所述第 二視頻聯(lián)機的視頻質量高于所述第一視頻聯(lián)機的視頻質量。
16.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于當所述 外部網絡地址為多組時,所述第一應用程序及所述第二應用程序可使用多組外部網絡地址 建立多個點對點聯(lián)機,以提高可使用的網絡頻寬。
17.根據權利要求9所述的利用實時通信建立點對點聯(lián)機的方法,其特征在于當所述 外部網絡地址為多組時,所述第一電子裝置的多個應用程序及所述第二電子裝置的多個應 用程序可分別建立多個點對點聯(lián)機。
全文摘要
本發(fā)明公開一種利用實時通信建立點對點聯(lián)機的方法,其特征在于,先使用實時通信程序使兩通信端建立聯(lián)機,再通過實時通信程序的輔助程序以確認兩通信端是否已聯(lián)機,接著通過通信協(xié)議取得通信端的外部網絡地址,例如IP或連接埠(PORT),再通過實時通信程序將此外部網絡地址傳送至另一通信端,使該兩通信端可再次建立點對點聯(lián)機,以得到更佳的網絡聯(lián)機質量。
文檔編號H04L29/12GK101888397SQ20091020382
公開日2010年11月17日 申請日期2009年5月15日 優(yōu)先權日2009年5月15日
發(fā)明者謝旺睿 申請人:宏碁股份有限公司