專利名稱:通信方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及通信網(wǎng)絡(luò),以及對這種網(wǎng)絡(luò)中的數(shù)據(jù)丟失進行管理。本發(fā)明可 應(yīng)用但不限于改善諸如用于金融服務(wù)、安全或者緊急服務(wù)中的關(guān)鍵數(shù)據(jù)(critical data) 的分配。
背景技術(shù):
在當(dāng)今的金融市場中,獲得及時和準確的信息對于業(yè)績是很重要的。金融機構(gòu)依 靠高速、高可靠性網(wǎng)絡(luò)來提供可以作為交易決策基礎(chǔ)的最新新聞和價格數(shù)據(jù)。市場數(shù)據(jù)遞 送服務(wù)采用了多種不同的途徑。通常,這種數(shù)據(jù)遞送服務(wù)是使用TCP或單播UDP來實現(xiàn)的。 這種實現(xiàn)的一個問題是有限的可擴展性(scalability)。使用TCP需要服務(wù)器上針對每個 接收者提供單獨socket (或者端點)和滑動窗口(或者緩沖區(qū))以及針對每個客戶提供單 獨的網(wǎng)絡(luò)流。UDP單播需要針對每個目的地系統(tǒng)的流的單獨副本。這兩種方法均能夠迅速 地用光服務(wù)器的資源并使網(wǎng)絡(luò)達到使數(shù)據(jù)被延遲到認為不可接受的時段的程度。因此,很 多股票交易所采用了基于IP多播的UPD來向訂戶(subscriber)廣播市場信息,且被廣泛 認為是擴展市場數(shù)據(jù)遞送的唯一方式。然而,IP多播不是一種面向連接的機制,它不可靠 并且不具有應(yīng)對掉包(dropped packet)的固有機制。這對于視頻或者音頻分配可能不是 什么問題,但是對于分配關(guān)鍵數(shù)據(jù)來講卻需要一種有效管理數(shù)據(jù)丟失的機制。
發(fā)明內(nèi)容
本發(fā)明在提供低等待時間的同時提供了可靠的通信。具體來講,本發(fā)明提出一種 在網(wǎng)絡(luò)中經(jīng)由多個信道從第一節(jié)點向第二節(jié)點可靠地傳送數(shù)據(jù)的方法,其中所述數(shù)據(jù)包括 多個部分;其中所述多個信道包括不可靠信道和可靠信道;所述方法包括以下步驟經(jīng)由 所述不可靠信道將所述數(shù)據(jù)發(fā)送到第二節(jié)點;經(jīng)由所述可靠信道將所述數(shù)據(jù)發(fā)送到第二節(jié) 點;識別經(jīng)由所述不可靠信道在第二節(jié)點接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分;從經(jīng)由所述可靠 信道在第二節(jié)點接收的數(shù)據(jù)中獲得與經(jīng)由所述不可靠信道在第二節(jié)點接收到的數(shù)據(jù)所缺 失的數(shù)據(jù)部分相對應(yīng)的數(shù)據(jù)部分。本發(fā)明優(yōu)選地組合了 RTP傳輸?shù)牡偷却龝r間和TCP的可靠性,優(yōu)選地提供了這樣 一種方法,其中不可靠信道根據(jù)運行在UDP上的RTP在多個包中承載數(shù)據(jù);而可靠信道根 據(jù)TCP在多個包中承載數(shù)據(jù)。根據(jù)一個變型例,不可靠信道通過多播、根據(jù)運行在UDP上的 RTP針對多個第二節(jié)點工作;而可靠信道根據(jù)TCP針對所述多個第二節(jié)點中的每一個節(jié)點 工作。每個TCP包所承載的包優(yōu)選地與相應(yīng)的RTP包所承載的數(shù)據(jù)和RTP報頭相匹配。從各個詳細設(shè)置導(dǎo)出的具體優(yōu)點覆蓋多個第二節(jié)點。根據(jù)本發(fā)明的另一方面,不 可靠信道通過多播、根據(jù)運行在UDP上的RTP對多個(N個)第二節(jié)點起作用;而可靠信道 在TCP上對所述多個(N個)第二節(jié)點的子集M < N起作用;其中所述多個(N個)第二節(jié) 點加入端對端網(wǎng)絡(luò);其中第二節(jié)點的子集M經(jīng)由可靠信道從第一節(jié)點接收經(jīng)由不可靠信道 接收的數(shù)據(jù)中所丟失的數(shù)據(jù)部分;其中多個(N個)第二節(jié)點的其余N-M個節(jié)點從第二節(jié)點
5的子集M的一個或其它節(jié)點接收經(jīng)由不可靠信道接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分。另選的是,不可靠信道通過單播、根據(jù)運行在UDP上的RTP對多個第二節(jié)點起作 用,其中第一節(jié)點和每個第二節(jié)點加入端對端網(wǎng)絡(luò),該端對端網(wǎng)絡(luò)用于從第一節(jié)點接收經(jīng) 由不可靠信道接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分。根據(jù)另一方面,本發(fā)明提供了多個(N個)第二節(jié)點,其中針對多個(N個)第二節(jié) 點中的每一個節(jié)點提供了根據(jù)運行在UDP上的RTP而工作的不可靠信道;針對多個(N個) 第二節(jié)點的子集M < N中的每一個第二節(jié)點提供了根據(jù)TCP而工作的可靠信道;其中多個 (N個)第二節(jié)點加入多播組,并且第二節(jié)點的子集M < N經(jīng)由該多播組將經(jīng)由可靠信道接 收的包中繼到子集M < N中并不包括的剩余N-M個第二節(jié)點。根據(jù)另一方面,本發(fā)明包括將經(jīng)由不可靠信道在第二節(jié)點接收的數(shù)據(jù)和經(jīng)由可 靠信道在第二節(jié)點接收的數(shù)據(jù)合并為單個流;從所述單個流中識別經(jīng)由不可靠信道在第二 節(jié)點接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分;以及從所述單個流中獲得經(jīng)由可靠信道在第二節(jié)點接 收的與經(jīng)由不可靠信道在第二節(jié)點接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分相對應(yīng)的數(shù)據(jù)部分。本發(fā)明還提供了一種用于低等待時間數(shù)據(jù)傳輸?shù)耐ㄐ啪W(wǎng)絡(luò),其得到了增強的可靠 性,具體地講,本發(fā)明提供了一種通信網(wǎng)絡(luò),其包括第一節(jié)點和第二節(jié)點;其中第一節(jié)點被 設(shè)置為經(jīng)由兩個信道向第二節(jié)點發(fā)送數(shù)據(jù);第一不可靠信道用于根據(jù)不可靠通信協(xié)議向第 二節(jié)點發(fā)送數(shù)據(jù);第二可靠信道用于根據(jù)可靠通信協(xié)議向第二節(jié)點發(fā)送數(shù)據(jù);其中所述數(shù) 據(jù)包括多個部分;其中第二節(jié)點包括數(shù)據(jù)檢查器,該數(shù)據(jù)檢查器用于識別相對于經(jīng)由不可 靠信道從第一節(jié)點接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分,并用于從經(jīng)由可靠信道從第一節(jié)點接收 的數(shù)據(jù)中獲得經(jīng)由不可靠信道接收的數(shù)據(jù)所缺失的數(shù)據(jù)部分。本發(fā)明可以利用序列編號方案來實現(xiàn)對缺失數(shù)據(jù)部分的檢測,具體來講,在通信 網(wǎng)絡(luò)中,經(jīng)由不可靠信道發(fā)送的數(shù)據(jù)包括第一包系列,其中第一包系列中的每個包都與指 定了序列中的位置的序列號相關(guān)聯(lián);其中參照序列號來識別丟失的數(shù)據(jù)。在該通信網(wǎng)絡(luò)中, 經(jīng)由可靠信道發(fā)送的數(shù)據(jù)還可以包括第二包系列;其中第二包系列中的每個包都與指定了 序列中的位置的序列號相關(guān)聯(lián);其中第二包系列中的每個包都對應(yīng)于第一包系列中的一個 包;并且其中第二包系列中的每個包都與和第一包系列的相應(yīng)包相同的序列號相關(guān)聯(lián)。
為了幫助理解本發(fā)明,下面將參照附圖舉例來描述實施方式,其中圖1是典型的金融信息系統(tǒng)的示意圖;圖2是用在圖1的金融信息系統(tǒng)中的數(shù)據(jù)包的示意圖;圖3是圖2的數(shù)據(jù)包的報頭結(jié)構(gòu)的示意圖;圖4是用于實現(xiàn)本發(fā)明的服務(wù)器的示意圖。
具體實施例方式圖1示出了根據(jù)第一實施方式、本發(fā)明所應(yīng)用到的金融信息系統(tǒng)的示意圖。市場 數(shù)據(jù)源10通常是產(chǎn)生這種數(shù)據(jù)的金融交易所。市場數(shù)據(jù)的目的地是工作在金融機構(gòu)內(nèi)的 交易員,如經(jīng)紀人,或者更準確地講,交易員使用的交易應(yīng)用20。市場數(shù)據(jù)遞送可以被認為 包括兩個主要階段。在第一階段中,將數(shù)據(jù)作為來自金融交易所(其產(chǎn)生該數(shù)據(jù))的數(shù)據(jù)流帶入金融機構(gòu)的網(wǎng)絡(luò)中。通常,數(shù)據(jù)流終止于數(shù)據(jù)中心中的服務(wù)器30,服務(wù)器30可以位 于金融機構(gòu)的經(jīng)營場所或共同位于交易所中。數(shù)據(jù)流接著被服務(wù)器30上的數(shù)據(jù)流處理器 40處理,數(shù)據(jù)流處理器40可以將數(shù)據(jù)流歸一化為公共格式,接著再次將其發(fā)布到運行交易 應(yīng)用的應(yīng)用服務(wù)器20的陣列。每個服務(wù)器都可以處理多個數(shù)據(jù)流。市場數(shù)據(jù)本質(zhì)上是極度時間敏感的,因此交易所10與交易應(yīng)用20之間的數(shù)據(jù)路 徑50、60的任何延遲都必須被最小化。例如在倫敦,金融機構(gòu)從LSE拾取市場數(shù)據(jù)的基于 UDP的IP多播流。然而,從金融機構(gòu)服務(wù)器到交易應(yīng)用,數(shù)據(jù)流被使用更可靠的TCP會話重 發(fā)送。本質(zhì)上,該會話受金融機構(gòu)服務(wù)器與交易應(yīng)用之間的往返等待時間的限制,由于TCP 要求確認并且將要求重發(fā)送任何丟失或者損壞的幀,所以進一步延長了等待時間。實時傳輸協(xié)議(RTP)是一種不可靠、不同步的協(xié)議,它在單播或者多播網(wǎng)絡(luò)服務(wù) 上提供諸如交互音頻和視頻或仿真數(shù)據(jù)的具有實時特性的數(shù)據(jù)的端到端遞送服務(wù)。RTP的 詳細定義可以在 2003 年 7 月的 InternetEngineering Task Force publication RFC 3550 中找到。應(yīng)用通常在UDP的上方(top)運行RTP。如果底層網(wǎng)絡(luò)提供,則RTP能夠支持使用 多播分配向多個目的地的數(shù)據(jù)傳送。RTP自身不提供任何確保及時遞送的機制或者提供其 它服務(wù)質(zhì)量(QoS)保證。相反地,它向應(yīng)用提供與包丟失、抖動以及其它鏈路屬性有關(guān)的信 息,將補償服務(wù)質(zhì)量問題的任務(wù)留給了該信息。RTP自身并不保證遞送或者防止無序遞送, 也不假設(shè)底層網(wǎng)絡(luò)是可靠的。盡管一些實現(xiàn)具有提供順序遞送的功能,但這不是協(xié)議所強 制的,因此,RTP并不適于高速、高可靠性數(shù)據(jù)遞送。RTP由兩個緊密關(guān)聯(lián)的部分組成實時傳輸協(xié)議(RTP)和RTP控制協(xié)議(RTCP)。 實時傳輸協(xié)議(RTP)被設(shè)計為承載具有實時特性的數(shù)據(jù)以及允許計算鏈路統(tǒng)計值的時序 數(shù)據(jù)(timing data)。RTCP的主要功能是允許RTP “會話”中的加入者通知其它加入者其 對鏈路質(zhì)量的觀察-延遲、抖動、丟失等。另外,它還能夠用于支持一些應(yīng)用控制要求。圖2示出了 RTP包以及其關(guān)聯(lián)的報頭信息的示意圖。被傳送的實時媒體形成了 “RTP有效載荷”。RTP報頭包含與有效載荷有關(guān)的信息,例如源、大小、編碼類型等。然而, RTP包不能被“按原樣”在網(wǎng)絡(luò)上傳送,因此我們使用被稱為用戶數(shù)據(jù)報協(xié)議(UDP)的傳送 協(xié)議。如圖2所示,使用UDP需要將UDP報頭添加到RTP包中RTP報頭之后。UDP數(shù)據(jù)報接 著被給到IP打包器。如圖2所示,使用IP打包器需要將IP報頭添加到RTP包中UDP報頭 之后。圖3是更詳細示出RTP報頭結(jié)構(gòu)的示意圖。圖3中使用了以下標簽V——版本,表示RTP版本。P——填充,被設(shè)置時,包在末端包含一個或更多個額外填充的八位字節(jié),其不是 有效載荷的一部分。X——擴展位,被設(shè)置時,固定報頭后面跟著一個報頭擴展,具有定義的格式。CSRC計數(shù)——包含固定報頭之后的CSRC標識符的數(shù)量(參見下面的CSRC)。M——標記符,標記符的解析是被配置文件定義的。其意在允許諸如幀邊界的顯著 事件被標記在包流中。有效載荷類型_表示RTP有效載荷的格式并確定應(yīng)用對它的解析。配置文件指定 了有效載荷類型代碼到有效載荷格式的默認靜態(tài)映射。額外的有效載荷類型代碼可以通過非RTP方式被動態(tài)地定義。序列號——每發(fā)送一個RTP數(shù)據(jù)包加1,可以被接收機使用以檢測包丟失以及恢 復(fù)包序列。時間戳——反映了 RTP數(shù)據(jù)包中的第一個八位字節(jié)的采樣時刻。采樣時刻必須從 隨時間單調(diào)且線性增加的時鐘導(dǎo)出以允許同步和抖動計算。SSRC——同步源,該標識符是隨機選擇的,其意在同一 RTP會話中沒有兩個同步源 具有相同的SSRC標識符。CSRC——貢獻源標識符列表,標識了對該包中包含的有效載荷有貢獻的源。可靠的多播是對不可靠的多播發(fā)送的改善,其中接收機可以使用帶外信道向發(fā)送 方請求丟失幀。幀的丟失是通過用序列號對全部幀進行標號來確定的。由于缺少窗口和選 擇性的確認,針對可靠的多播從包丟失中恢復(fù)比針對TCP流要慢??煽康亩嗖ミm于作為可 靠的傳輸(協(xié)議)代替TCP,然而,TCP在包丟失可能性較高的環(huán)境中性能更好。多播在其本質(zhì)上不是面向連接的機制,而且固有地不可靠,因此諸如允許重傳丟 失包的TCP的協(xié)議并不適用?;径嗖メ槍χT如流式音頻和視頻的應(yīng)用,其中偶爾的掉包 不是問題。但是對于關(guān)鍵數(shù)據(jù)的分配,就需要一種請求重傳送的機制。在IETF RFC 3208中記載的PGM被提出,作為一種在多播中請求重傳送的適當(dāng)機 制。根據(jù)PGM,多播包被分配了序列號,使得當(dāng)包丟失時接收方能夠請求對其序列號所標識 的包進行重新多播。然而,缺少廣泛采用的安全可靠以及可擴展的系統(tǒng)阻止了廣泛采用。如以上參照圖1所指出的,數(shù)據(jù)中心服務(wù)器與交易應(yīng)用之間的數(shù)據(jù)通常是由TCP 來傳輸?shù)?,TCP提供了順序和可靠的包遞送。數(shù)據(jù)在未充分利用的網(wǎng)絡(luò)上傳輸,該網(wǎng)絡(luò)通常 在其容量的百分之五以下(在一些情況下百分之一以下)工作。根據(jù)本發(fā)明,金融數(shù)據(jù)中心服務(wù)器到交易應(yīng)用的鏈路50用諸如由RTP協(xié)議提供的 不可靠數(shù)據(jù)流來實現(xiàn),該數(shù)據(jù)流被諸如由TCP提供的可靠數(shù)據(jù)流來備份。在此討論的是可 以共享或可以不共享同一物理介質(zhì)的兩個邏輯信道。邏輯信道可以共享同一物理鏈路也可 以使用單獨的鏈路(如果有的話)??煽康臄?shù)據(jù)流優(yōu)選地承載與不可靠數(shù)據(jù)流相同的數(shù)據(jù) 報以及至少一些不可靠數(shù)據(jù)流報頭信息。優(yōu)選地,每個TCP包都與相應(yīng)的一個RTP包所承 載的數(shù)據(jù)相匹配??梢允褂孟嗤姆椒▉砑铀購慕灰讘?yīng)用到金融數(shù)據(jù)服務(wù)器的訂單的流動。根據(jù)一 個優(yōu)選實施方式,優(yōu)先于可靠數(shù)據(jù)信道經(jīng)由不可靠數(shù)據(jù)信道來發(fā)送數(shù)據(jù)。該優(yōu)先可以使用 優(yōu)先級排隊、基于類的排隊或者當(dāng)業(yè)務(wù)流在網(wǎng)絡(luò)接口上或在網(wǎng)絡(luò)中作為整體而傳輸時支持 標記更高和更低優(yōu)先級的任何其它技術(shù)來實現(xiàn)。使用恰當(dāng)定義的協(xié)議(諸如RTP)中定義 的數(shù)據(jù)格式能夠收集性能統(tǒng)計數(shù)據(jù)、加密和驗證。根據(jù)另一實施方式,交易所10到金融數(shù)據(jù)中心30的數(shù)據(jù)鏈路60也/或根據(jù)本發(fā) 明來實現(xiàn)。下面來看看以上方案是如何被實際應(yīng)用的。根據(jù)優(yōu)選實施方式,針對低等待時間而優(yōu)化的UDP偵聽器被選擇用于交易應(yīng)用 20,例如基于面向事件的API的偵聽器。類似于Unix的平臺上的poll函數(shù)族和Linux上 的“印ollO ”1/0事件通知工具是適用的。RTP代碼庫被修改以接收來自交易應(yīng)用20處的 數(shù)據(jù)中心服務(wù)器30的入局交換數(shù)據(jù)并使用所選偵聽器。
服務(wù)器30包括RTP成幀器,RTP成幀器生成構(gòu)成去往交易應(yīng)用的數(shù)據(jù)流的RTP幀。 來自RTP成幀器的幀被在RTP和TCP流中發(fā)送,在公共鏈路上或者在不同鏈路上均可。根 據(jù)優(yōu)選實施方式,在接收端,在RTP流和TCP流被轉(zhuǎn)發(fā)到交易應(yīng)用之前,將它們合并為單個流。合并可以借助針對經(jīng)由RTP流接收的數(shù)據(jù)的緩沖器以及遵循所接收的數(shù)據(jù)包的 序列號的序列計數(shù)器來實現(xiàn)。如果在序列中檢測到間隙,即期望的序列號從所接收的包中 丟失,則系統(tǒng)監(jiān)視經(jīng)由TCP流接收的數(shù)據(jù)包并將TCP流中具有丟失的序列號的包插入到緩 沖器的適當(dāng)位置。根據(jù)優(yōu)選實施方式,合并功能根據(jù)以下順序來操作1、檢查 UDP(RTP)和 TCP socket 的突出數(shù)據(jù)。2、如果數(shù)據(jù)存在,則讀取和解析RTP報頭。3、將RTP報頭序列號和最后看到的RTP報頭序列號進行比較。i、如果序列號等于最后看到的序列號,則+1,與任何緩沖數(shù)據(jù)一起傳送到應(yīng)用 (見 iii)。ii、如果序列號小于最后看到的序列號,則丟棄。iii、如果序列號大于最后看到的序列號,則緩沖數(shù)據(jù)。4、返回步驟1。從TCP流中獲得由于RTP流中的包丟失或延遲而不存在的數(shù)據(jù)。與此同時,對到 達的RTP數(shù)據(jù)進行緩沖。結(jié)果,交易應(yīng)用20看到了與僅僅經(jīng)由TCP獲得的數(shù)據(jù)流相同的不 間斷數(shù)據(jù)流,只不過等待時間更低。同時,包丟失之后的恢復(fù)時間與使用正常的TCP連接發(fā) 送的數(shù)據(jù)一樣好。來自RTP的統(tǒng)計數(shù)據(jù)(例如涉及往返延遲、抖動等的信息)能夠被經(jīng)由單獨的API 直接提供到交易應(yīng)用。來自RTP的統(tǒng)計數(shù)據(jù)能夠與其它數(shù)據(jù)核對以及用于監(jiān)視系統(tǒng)性能。另選的是,每個流被“按原樣”提供到交易應(yīng)用,交易應(yīng)用進行流合并并處理包丟 失。如圖1所指出的,目的地交易應(yīng)用20可以包括多個(N個)交易應(yīng)用,每個交易應(yīng)用都 經(jīng)由不可靠RTP數(shù)據(jù)流來接收數(shù)據(jù)。根據(jù)另一實施方式,可靠遞送不僅僅通過上述TCP流的方式來實現(xiàn)。根據(jù)這樣的 另一實施方式,可靠的TCP流提供數(shù)據(jù)到多個交易應(yīng)用的子集M < N,多個交易應(yīng)用20加入 端對端網(wǎng)絡(luò)(未示出)。端對端網(wǎng)絡(luò)提供了將經(jīng)由可靠TCP流被交易應(yīng)用20的子集M接收 的數(shù)據(jù)傳送到其余的N-M個交易應(yīng)用20的裝置。其余的N-M個交易應(yīng)用20從交易應(yīng)用的 子集M中的一個或其它接收經(jīng)由RTP流接收的數(shù)據(jù)中不存在的數(shù)據(jù)。有利的是,本實施方 式僅僅要求數(shù)據(jù)中心保持到端對端網(wǎng)絡(luò)的M < N個TCP連接。盡管相比于先前描述的具有 專門的TCP連接預(yù)交易應(yīng)用的實施方式,包丟失的恢復(fù)減慢了,但是本實施方式除了對包 丟失的保護外還提供了對一些鏈路故障的保護。根據(jù)另一個這樣的實施方式,可靠的TCP流僅僅向多個交易應(yīng)用的子集M < N提 供數(shù)據(jù)且多個交易應(yīng)用20加入多播組。具有到數(shù)據(jù)中心的TCP連接的M個交易應(yīng)用中的 每一個都經(jīng)由多播組來中繼使用可靠TCP流接收的數(shù)據(jù)包。盡管相比于具有針對每個交易 應(yīng)用的專門TCP連接的實施方式,包丟失的恢復(fù)時間更慢,但是該實施方式除了提供對包 丟失的保護外還提供了對一些鏈路故障的保護。
9
使用具有TCP備份的RTP數(shù)據(jù)流相比于僅僅TCP提供了多個顯著優(yōu)點,這些優(yōu)點 包括在正常運行期間更低的端對端等待時間(即沒有包丟失);向每個端點提供詳細鏈路 性能統(tǒng)計信息的內(nèi)置機制;相比于純TCP,針對低概率數(shù)據(jù)丟失的鏈路,數(shù)據(jù)的重傳以及可 靠的順序遞送。另外,在另選實施方式中,當(dāng)RTP和TCP流被“按原樣”提供到應(yīng)用時,可以對交易 邏輯進行修改使其能夠不同步地運行,并且有利地,即使數(shù)據(jù)丟失也繼續(xù)交易。盡管以上通過示例參照金融和系統(tǒng)數(shù)據(jù)遞送服務(wù)進行了描述,但是本發(fā)明可應(yīng)用 于任何具有充足容量的其中準確和高速度很重要的通信系統(tǒng),如用于應(yīng)急服務(wù)、遙感勘測、 工業(yè)控制等的通信網(wǎng)絡(luò)。任何通信系統(tǒng)和方法都可能丟失或損壞數(shù)據(jù),無論是由于外部因素(以及超出系 統(tǒng)控制以外)或者系統(tǒng)中固有的因素,即由于所選協(xié)議。由于固有因素而丟失或者損壞的 概率是每個系統(tǒng)的本征特性,其可以預(yù)先評估或者根據(jù)對系統(tǒng)性能的測量而得到。通信系 統(tǒng)(或者運行在這種系統(tǒng)上的通信協(xié)議)應(yīng)對丟失的方式導(dǎo)致系統(tǒng)被定義為可靠或者不可 靠。參照本發(fā)明,技術(shù)人員將把可靠通信協(xié)議理解為能夠在電信系統(tǒng)上發(fā)送數(shù)據(jù)同時基于 具體電信系統(tǒng)中的本征丟失概率以期望的速率來補償非確定性丟失的傳輸??煽康耐ㄐ艆f(xié) 議將不被期望能夠補償確定性事件,如電信系統(tǒng)的人工干預(yù)或徹底故障。這證明,技術(shù)人員 將把非可靠通信協(xié)議看作不能夠以期望速率補償非確定性丟失的協(xié)議。本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明可以用軟件實現(xiàn),其任意或者全部可以包含在 各種傳輸和/或存儲介質(zhì)中,如軟盤、CD-ROM或磁介質(zhì),使得程序能夠被加載到一個或者更 多個通用計算機上或者可以被使用合適的傳輸介質(zhì)經(jīng)由計算機網(wǎng)絡(luò)下載。用于實現(xiàn)本發(fā)明 的計算機程序產(chǎn)品可以被實現(xiàn)在可以被合適的計算機輸入裝置可讀的任何合適的載體上, 如CD-ROM、光學(xué)可讀標記、磁介質(zhì)、打孔卡或者帶,或者實現(xiàn)在電磁或者光信號上。本領(lǐng)域技術(shù)人員應(yīng)該理解,數(shù)據(jù)源10、數(shù)據(jù)中心服務(wù)器30以及交易應(yīng)用20都可 以在一個或更多個市場可得的服務(wù)器上或類似的處理裝置上實現(xiàn)。圖4示出了一種適于實 現(xiàn)根據(jù)本發(fā)明另一實施方式的通信系統(tǒng)的處理裝置的典型結(jié)構(gòu)。實際中,通常需要多個這 種裝置。處理裝置包括用于執(zhí)行軟件程序以及管理和控制處理裝置的操作的中央處理單元 (CPU)40。CPU 40經(jīng)由總線41連接到多個裝置,這些裝置包括存儲裝置42 (例如用于存儲 系統(tǒng)和應(yīng)用軟件的硬盤裝置)和存儲器裝置(包括ROM 44和RAM 45)。計算機還包括用于 接口連接到外部網(wǎng)絡(luò)49的網(wǎng)絡(luò)接口 47。計算機還可以包括用戶輸入/輸出裝置,如經(jīng)由輸 入/輸出端口 46連接到總線41的鼠標和鍵盤(未示出),以及顯示器48。本領(lǐng)域技術(shù)人 員應(yīng)理解,以上架構(gòu)不是限制性的,而僅僅是典型的處理裝置架構(gòu)的示例。還應(yīng)理解,所描 述的處理裝置具有使其能夠完成其目的的全部必要操作和應(yīng)用。摘要的文字并入此處一種經(jīng)由兩個信道從第一節(jié)點和第二節(jié)點進行可靠數(shù)據(jù)傳 送的通信網(wǎng)絡(luò)。第一不可靠信道根據(jù)諸如RTP的不可靠通信協(xié)議來傳送數(shù)據(jù)。第二不可靠 信道根據(jù)諸如TCP的可靠通信協(xié)議來傳送相同的數(shù)據(jù)。在第二節(jié)點處,對經(jīng)由不可靠信道 從第一節(jié)點接收的數(shù)據(jù)中所丟失的數(shù)據(jù)部分進行檢測,并適用經(jīng)由可靠信道從第一節(jié)點接 收的對應(yīng)的數(shù)據(jù)部分。RTP信道可以通過多播或單播在UDP上運行。TCP信道可以用多播 組或端對端網(wǎng)絡(luò)來補充。
權(quán)利要求
一種通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)包括第一節(jié)點和第二節(jié)點;其中,第一節(jié)點被設(shè)置為經(jīng)由兩個信道向第二節(jié)點發(fā)送數(shù)據(jù);第一不可靠信道用于根據(jù)不可靠通信協(xié)議將所述數(shù)據(jù)發(fā)送到第二節(jié)點;而第二可靠信道用于根據(jù)可靠通信協(xié)議將所述數(shù)據(jù)發(fā)送到第二節(jié)點;其中,所述數(shù)據(jù)包括多個部分;其中,第二節(jié)點包括數(shù)據(jù)檢查器,該數(shù)據(jù)檢查器用于識別經(jīng)由所述不可靠信道從第一節(jié)點接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分;以及從經(jīng)由所述可靠信道從第一節(jié)點接收到的數(shù)據(jù)中獲得經(jīng)由所述不可靠信道接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分。
2.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò),其中,經(jīng)由所述不可靠信道發(fā)送的數(shù)據(jù)包括第一 包系列,其中,第一包系列中的每個包都關(guān)聯(lián)有指定了序列中的位置的序列號;其中,參照 所述序列號來識別所缺失的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的通信網(wǎng)絡(luò),其中,經(jīng)由所述可靠信道發(fā)送的數(shù)據(jù)包括第二包 系列;其中,第二包系列中的每個包都關(guān)聯(lián)有指定了序列中的位置的序列號;其中,第二包系列中的每個包都對應(yīng)于第一包系列中的一個包;并且其中,第二包系列中的每個包都關(guān)聯(lián)有和第一包系列中的相應(yīng)包相同的序列號。
4.根據(jù)權(quán)利要求3所述的通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)被設(shè)置為按照由所述序列號確定的順 序來發(fā)送每個包系列。
5.根據(jù)權(quán)利要求3所述的通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)被設(shè)置為無序地發(fā)送每個包系列,并 且其中,第二節(jié)點包括包定序器,該包定序器用于對從第一節(jié)點接收到的包 進行順序排列。
6.根據(jù)權(quán)利要求1到5中任意一項所述的通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)被設(shè)置為優(yōu)先于所述 可靠信道經(jīng)由所述不可靠信道來發(fā)送數(shù)據(jù)。
7.根據(jù)權(quán)利要求1到6中任意一項所述的通信網(wǎng)絡(luò),其中,所述不可靠信道被設(shè)置為根 據(jù)運行在UDP上的RTP在多個包中承載所述數(shù)據(jù);而所述可靠信道被設(shè)置為根據(jù)TCP在多 個包中承載所述數(shù)據(jù)。
8.根據(jù)權(quán)利要求1到6中任意一項所述的通信網(wǎng)絡(luò),其中,所述不可靠信道被設(shè)置為 通過多播、根據(jù)運行在UDP上的RTP針對多個第二節(jié)點工作;而所述可靠信道被設(shè)置為根據(jù) TCP針對所述多個第二節(jié)點中的每一個節(jié)點工作。
9.根據(jù)權(quán)利要求1到6中任意一項所述的通信網(wǎng)絡(luò),其中,所述不可靠信道被設(shè)置為 通過多播、根據(jù)運行在UDP上的RTP針對N個第二節(jié)點工作;而所述可靠信道被設(shè)置為通過 TCP針對所述N個第二節(jié)點中的子集M個第二節(jié)點工作,其中,M < N ;其中,所述N個第二節(jié)點被設(shè)置為加入端對端網(wǎng)絡(luò);其中,所述子集M個第二節(jié)點被設(shè)置為經(jīng)由所述可靠信道從第一節(jié)點接收經(jīng)由所述不 可靠信道接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分;并且其中,所述N個第二節(jié)點中的其余N-M個第二節(jié)點被設(shè)置為從所述子集M個第二節(jié)點 中的一個或其它節(jié)點接收經(jīng)由所述不可靠信道接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分。
10.根據(jù)權(quán)利要求1到6中任意一項所述的通信網(wǎng)絡(luò),其中,所述不可靠信道通過單播、 根據(jù)運行在UDP上的RTP針對多個第二節(jié)點工作,并且其中,第一節(jié)點和每個第二節(jié)點被設(shè) 置為加入端對端網(wǎng)絡(luò),該端對端網(wǎng)絡(luò)用于從第一節(jié)點接收經(jīng)由所述不可靠信道接收到的數(shù) 據(jù)所缺失的數(shù)據(jù)部分。
11.根據(jù)權(quán)利要求1到6中任意一項所述的通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)包括N個第二節(jié)點,其中,針對所述N個第二節(jié)點中的每個第二節(jié)點提供了被設(shè)置為根據(jù)運行在UDP上的RTP 而工作的不可靠信道;并且針對所述N個第二節(jié)點的子集M個第二節(jié)點中的每個第二節(jié)點 提供了被設(shè)置為根據(jù)TCP而工作的可靠信道,其中,M < N ;其中,所述N個第二節(jié)點被設(shè)置為加入多播組,并且其中,所述子集M個第二節(jié)點被設(shè) 置為經(jīng)由該多播組將經(jīng)由所述可靠信道接收到的包中繼到并未包括在所述子集M個第二 節(jié)點中的其余N-M個第二節(jié)點,其中,M < N。
12.—種在網(wǎng)絡(luò)中經(jīng)由多個信道從第一節(jié)點向第二節(jié)點可靠地傳送數(shù)據(jù)的方法;其中,所述數(shù)據(jù)包括多個部分;其中,所述多個信道包括不可靠信道和可靠信道;該方法包括以下步驟經(jīng)由所述不可靠信道將所述數(shù)據(jù)發(fā)送到第二節(jié)點;經(jīng)由所述可靠信道將所述數(shù)據(jù)發(fā)送到第二節(jié)點;識別經(jīng)由所述不可靠信道在第二節(jié)點處接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分;從經(jīng)由所述可靠信道在第二節(jié)點處接收到的數(shù)據(jù)中獲得與經(jīng)由所述不可靠信道在第 二節(jié)點處接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分相對應(yīng)的數(shù)據(jù)部分。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述不可靠信道根據(jù)運行在UPD上的RTP在多 個包中承載所述數(shù)據(jù);而所述可靠信道根據(jù)TCP在多個包中承載所述數(shù)據(jù)。
14.根據(jù)權(quán)利要求12所述的方法,其中,所述不可靠信道通過多播、根據(jù)運行在UDP上 的RTP針對多個第二節(jié)點工作;而所述可靠信道根據(jù)TCP針對所述多個第二節(jié)點中的每一 個節(jié)點工作。
15.根據(jù)權(quán)利要求12到14中任意一項所述的方法,其中,所述不可靠信道通過多播、根 據(jù)運行在UDP上的RTP針對N個第二節(jié)點工作;而所述可靠信道通過TCP針對所述N個第 二節(jié)點中的子集M個第二節(jié)點工作,其中,M < N ;其中,所述N個第二節(jié)點加入端對端網(wǎng)絡(luò);其中,所述子集M個第二節(jié)點經(jīng)由所述可靠信道從第一節(jié)點接收經(jīng)由所述不可靠信道 接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分;并且其中,所述N個第二節(jié)點中的其余N-M個節(jié)點從所述子集M個第二節(jié)點中的一個或其 它節(jié)點接收經(jīng)由所述不可靠信道接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分。
16.根據(jù)權(quán)利要求12到14中任意一項所述的方法,其中,所述不可靠信道通過單播、根 據(jù)運行在UDP上的RTP針對多個第二節(jié)點工作,并且其中,第一節(jié)點和每個第二節(jié)點加入端 對端網(wǎng)絡(luò),該端對端網(wǎng)絡(luò)用于從第一節(jié)點接收經(jīng)由所述不可靠信道接收到的數(shù)據(jù)所缺失的 數(shù)據(jù)部分。
17.根據(jù)權(quán)利要求12到14中任意一項所述的方法,該方法包括N個第二節(jié)點,其中, 針對所述N個第二節(jié)點中的每一個第二節(jié)點提供了根據(jù)運行在UDP上的RTP而工作的不可 靠信道;并且針對所述N個第二節(jié)點中的子集M個第二節(jié)點中的每個第二節(jié)點提供了根據(jù) TCP而工作的可靠信道,其中,M < N ;其中,所述N個第二節(jié)點加入多播組,并且其中,所述子集M個第二節(jié)點經(jīng)由該多播組 將經(jīng)由所述可靠信道接收到的包中繼到并未包括在所述子集M個第二節(jié)點中的其余N-M個 第二節(jié)點,其中,M < N。
18.根據(jù)權(quán)利要求12到14中任意一項所述的方法,該方法包括以下步驟 將經(jīng)由所述不可靠信道在第二節(jié)點處接收到的數(shù)據(jù)和經(jīng)由所述可靠信道在第二節(jié)點 處接收到的數(shù)據(jù)合并為單個流;從所述單個流中識別出經(jīng)由所述不可靠信道在第二節(jié)點處接收到的數(shù)據(jù)所缺失的數(shù) 據(jù)部分;以及從所述單個流中獲得經(jīng)由所述可靠信道在第二節(jié)點處接收到的、與經(jīng)由所述不可靠信 道在第二節(jié)點處接收到的數(shù)據(jù)所缺失的數(shù)據(jù)部分相對應(yīng)的數(shù)據(jù)部分。
全文摘要
一種經(jīng)由兩個信道從第一節(jié)點和第二節(jié)點進行可靠數(shù)據(jù)傳送的通信網(wǎng)絡(luò)。第一不可靠信道根據(jù)諸如RTP的不可靠通信協(xié)議來傳送數(shù)據(jù)。第二不可靠信道根據(jù)諸如TCP的可靠通信協(xié)議來傳送相同的數(shù)據(jù)。在第二節(jié)點處,對經(jīng)由不可靠信道從第一節(jié)點接收到的數(shù)據(jù)所丟失的數(shù)據(jù)部分進行檢測,并使用經(jīng)由可靠信道從第一節(jié)點接收到的對應(yīng)的數(shù)據(jù)部分。RTP信道可以通過多播或單播在UDP上運行。TCP信道可以用多播組或端對端網(wǎng)絡(luò)來補充。
文檔編號H04L29/06GK101939967SQ200980104280
公開日2011年1月5日 申請日期2009年1月30日 優(yōu)先權(quán)日2008年2月7日
發(fā)明者安東·拉多斯蒂諾維奇·伊萬諾夫 申請人:英國電訊有限公司