欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通過傳輸冗余語音/媒體幀進行因特網(wǎng)實時媒體傳輸?shù)姆椒?

文檔序號:6416472閱讀:185來源:國知局
專利名稱:通過傳輸冗余語音/媒體幀進行因特網(wǎng)實時媒體傳輸?shù)姆椒?br> 技術(shù)領(lǐng)域
本發(fā)明涉及通過互連網(wǎng)、內(nèi)連網(wǎng)、電纜及其它任何類型的包交換網(wǎng)絡(luò)進行實時的數(shù)據(jù)/語音/媒體傳輸?shù)念I(lǐng)域。特別地,本發(fā)明涉因特網(wǎng)電話和因特網(wǎng)媒體傳輸具有巨大的商業(yè)機會,且許多工業(yè)巨頭和大通信公司正在向這一領(lǐng)域邁進。許多公司正在銷售互連網(wǎng)電話網(wǎng)關(guān)和互連網(wǎng)電話PC軟件。這些公司正在為低價格長途電話提供互連網(wǎng)電話服務(wù),并且通信公司正在把因特網(wǎng)電話視為統(tǒng)一電話和數(shù)據(jù)的基礎(chǔ)結(jié)構(gòu)的途徑。
因特網(wǎng)媒體傳輸包括在兩個或多個具有特定應(yīng)用軟件的計算機之間通過包交換網(wǎng)絡(luò)(例如廣域網(wǎng),WAN,和/或局域網(wǎng),LAN)發(fā)送媒體包(包含以下任何內(nèi)容n維-圖象、動畫、音樂、文本、電影、視頻短片、靜止畫面、語音、數(shù)據(jù)等)。因特網(wǎng)電話是其中的包包含語音信息(及有時包含視頻信息)的因特網(wǎng)媒體的特定版本。當(dāng)由輸入裝置處理的語音在源計算機被捕捉時,運行在源計算機上的應(yīng)用程序?qū)堰@連續(xù)語音模擬信號轉(zhuǎn)換為離散的數(shù)字壓縮包序列。有許多已知的工業(yè)標(biāo)準(zhǔn)定義這一轉(zhuǎn)換處理及這些離散(常常是數(shù)字壓縮過的)包的格式,例如PCM、GSM、G.723等。
還有由標(biāo)準(zhǔn)(例如IP、UDP及RTP協(xié)議)定義的其它已知的處理向包添加標(biāo)題和結(jié)尾,以便使這些包能夠通過公共包交換網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)計算機。帶有標(biāo)題和結(jié)尾的包通常通過包交換網(wǎng)絡(luò)獨立地傳輸。(參見1994年12月6日授予Attanasio等人的美國專利5,371,852,該文獻(xiàn)整體在此結(jié)合作為參考文件)。在目標(biāo)計算機,到達(dá)的包存儲在緩沖器中并然后被轉(zhuǎn)換回接近原始模擬信號的形式。相同的工業(yè)標(biāo)準(zhǔn)(例如PCM,GSM,G.723等)定義這種轉(zhuǎn)換。
某些現(xiàn)有技術(shù)揭示了通過網(wǎng)絡(luò)拓?fù)涞摹岸鄠€不相交的路由”復(fù)某些現(xiàn)有技術(shù)揭示了通過網(wǎng)絡(luò)拓?fù)涞摹岸鄠€不相交的路由”復(fù)制消息并傳輸它們以改進這些消息的可靠性和及時傳輸。參見“Deliveryof Time-Critical Messages Using a Multiple Copy Approach”byP.Ramanathan and K.G.Shin,ACM Transction on Computer Systems,Vol.10,No.2,May 1992,(以下稱為“Shin對比文件”),該文獻(xiàn)整體在此結(jié)合作為對比文件。
在通過包括因特網(wǎng)和內(nèi)連網(wǎng)的包交換網(wǎng)絡(luò)發(fā)送媒體時質(zhì)量是一個嚴(yán)重的問題。這個問題是由包交換網(wǎng)絡(luò)兩個一般的特性引起的,即(A)包交換網(wǎng)絡(luò)不能保證包的送達(dá),例如包可能在到達(dá)目標(biāo)的途中丟失,以及(B)包交換網(wǎng)絡(luò)不能保證在給定的時間內(nèi)包的送達(dá),例如如果網(wǎng)絡(luò)擁塞,則包在網(wǎng)絡(luò)內(nèi)被延遲。
這兩個特性來自這樣的事實,即包交換網(wǎng)絡(luò)包含共用的路由器和連接它們的鏈路。由于這些資源由許多包所共享,故網(wǎng)絡(luò)內(nèi)有對這些資源的等待隊列。當(dāng)網(wǎng)絡(luò)擁塞時,迫使包在這些陣列中等待。當(dāng)通信量超過這些隊列容量時,包可能被放棄。由于包交換網(wǎng)絡(luò)的這些特性,對于通過包交換網(wǎng)絡(luò)的包傳輸,包的延遲和丟失是不可避免的。
TCP(傳輸控制協(xié)議)通過在源和目標(biāo)計算機之間的網(wǎng)絡(luò)之外引入包再傳輸機制修補了包交換網(wǎng)絡(luò)的某些缺陷。它設(shè)置一個緩沖器在內(nèi)部存儲收到的包。如果某些包在給定的時間沒有到達(dá),則請求這些包的再傳輸。直到收到所有的包之前,由于潛在地多次重試,收到的數(shù)據(jù)將不會釋放給接收應(yīng)用程序。這樣,TCP保證了所有的包到達(dá),但是以犧牲傳輸時間為代價,即存在延遲。由于這一自動再傳輸引起的延遲,TCP協(xié)議不用于延遲對其是致命的因特網(wǎng)媒體傳輸。
對于雙向因特網(wǎng)媒體傳輸,長的延遲是致命的。雖然可接受某些包的丟失,但是因特網(wǎng)媒體通常使用沒有內(nèi)置的包再傳輸協(xié)議(例如,UDP,即用戶數(shù)據(jù)報協(xié)議)。然而,即使使用這一協(xié)議,某些包還可能在網(wǎng)絡(luò)中丟失,且對通過網(wǎng)絡(luò)傳輸沒有最小時間保證(非延遲)。通常,上層的應(yīng)用軟件控制等待緩沖器的大小及對于包到達(dá)的的最大等待時間。
在1997年7月14-15日的“The 2nd Annual Internet TelephonySummit”中描述了一個現(xiàn)有技術(shù)系統(tǒng),該文獻(xiàn)在此結(jié)合作為對比文件。特別地,“Motorola IP Telephony in Corporate Intranets”描述了包延遲以及在因特網(wǎng)媒體傳輸中的損耗的一例。這里,通過因特網(wǎng)從源計算機向目標(biāo)計算機在一定時間發(fā)送一系列的包。該文章示出了每個包到達(dá)延遲的圖,在圖中,X-軸對應(yīng)于從第一到最后的包。Y-軸表示包傳輸?shù)侥繕?biāo)所需的時間。Y-軸的單位是毫秒。該圖表示使用現(xiàn)有技術(shù)因特網(wǎng)傳輸因特網(wǎng)媒體不如使用電話網(wǎng)那樣可靠。
某些現(xiàn)有技術(shù)文獻(xiàn)比較因特網(wǎng)/企業(yè)內(nèi)部網(wǎng)傳輸技術(shù)當(dāng)前狀態(tài)與通過電話網(wǎng)傳輸如下。與提供超過使用時間的99.999%均可接受話音的電話網(wǎng)相比,因特網(wǎng)只能提供使用時間的94%可接受的話音,且因企業(yè)內(nèi)部網(wǎng)只能提供使用時間的61%可接受的話音(參見CIMI公司總裁Tom Nolle的標(biāo)題為“Convergence 2000?”發(fā)表在“InformationWeek”,April 15,1998,page 141,的文章,該文獻(xiàn)整個在此結(jié)合作為對比)文件。
用于傳輸包括話音數(shù)據(jù)媒體信息的典型的現(xiàn)有技術(shù)聯(lián)網(wǎng)系統(tǒng)100的一例作為框圖示于

圖1中。聯(lián)網(wǎng)系統(tǒng)100包括多個計算機160,這些計算機通過諸如調(diào)制解調(diào)器和/或LAN適配器150等熟知的網(wǎng)絡(luò)連接器130與一個或多個網(wǎng)絡(luò)130連接。計算機160一般可以是任何通常已知的計算機系統(tǒng),諸如個人計算機(如IBM ThinPad)或工作站(如IBM AS400)。對于單向通信,一個計算機160將作為引起信息的傳輸?shù)脑从嬎銠C160S,以及一個或多個計算機160作為將接收該信息的目標(biāo)計算機160D。然而在很多應(yīng)用中,源計算機160S和目標(biāo)計算機160D的功能都包含在能夠執(zhí)行這兩種通信功能,即發(fā)送和接收功能的單獨一個計算機,例如160中,以便實現(xiàn)點對點雙向,一對多,和/或多對多通信。計算機160將具有熟知的輸入和輸出裝置,諸如話筒131、揚聲器132、鍵盤、鼠標(biāo)、攝像機、視頻錄像機、屏幕、錄音機、樂器、筆輸入器、觸摸屏(未示出)等等。一個或多個多媒體接口133的組合,例如聲卡和/或視頻卡133,網(wǎng)絡(luò)接口軟件134,及一個或多個網(wǎng)絡(luò)連接150把信號從模擬連續(xù)的形式135轉(zhuǎn)換為數(shù)字(且一般為壓縮的)打包形式120。通過網(wǎng)絡(luò)連接器150,這些包在計算機160之間通過網(wǎng)絡(luò)130進行交換。
網(wǎng)絡(luò)130可以是任何類型的包交換網(wǎng)絡(luò),它包括但不限于因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、電話網(wǎng)、和/或這些網(wǎng)絡(luò)的任何組合及互聯(lián)。一般來說,這些網(wǎng)絡(luò)包括接入點140、路由器110、及網(wǎng)絡(luò)鏈路(一般是175)。網(wǎng)絡(luò)鏈路175連接這些路由器110和接入點140以形成如130所示的網(wǎng)絡(luò)。這些路由器110、接入點140、及網(wǎng)絡(luò)鏈路175一般由一個或多個互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)操作。接入點140是網(wǎng)絡(luò)130通向外部世界的網(wǎng)關(guān)。各計算機160通過包括撥號連接、專用線路連接、電纜連接、衛(wèi)星連接、及其它熟知的連接形式經(jīng)過接入點140能夠訪問網(wǎng)絡(luò)130。接入點140還可能是通向由其它ISP操作的其它網(wǎng)絡(luò)的網(wǎng)關(guān)。
已知的標(biāo)準(zhǔn)協(xié)議(IP協(xié)議、PPP協(xié)議、LAN協(xié)議、等)支持各種計算機160獨立于與網(wǎng)絡(luò)連接器150和接入點140之間所使用的連接交換數(shù)據(jù)及消息。特別地,用戶數(shù)據(jù)報協(xié)議(UDP)和實時協(xié)議(RTP)提供了通過網(wǎng)絡(luò)130供計算機實時交換因特網(wǎng)媒體包的方法。
包通過其向目標(biāo)傳輸?shù)慕尤朦c和路由器的連接序列稱為“路徑”。包交換網(wǎng)絡(luò)130及諸如UDP和RTP協(xié)議是極為熟知的。對于其它網(wǎng)絡(luò)和協(xié)議更多的描述參見Volume 1&2,by W.Richart Stevens,Addison-Ersley Professional Computing Series,1994,該文獻(xiàn)在此整個結(jié)合作為對比文件。在這一公開中,這些包交換網(wǎng)絡(luò)130將不失一般性地稱為網(wǎng)絡(luò)130。
Shin對比文獻(xiàn)討論了使用冗余以降低包傳遞的延遲。然而在這一對比文獻(xiàn)中,他使用了假設(shè)網(wǎng)絡(luò),諸如C-Wrapped Hexagonal Mesh(C纏繞六邊形網(wǎng)孔)和Hypercube mesh(起立方體網(wǎng)孔),其中相同的子模式在整個網(wǎng)絡(luò)中重復(fù)。使用這一假設(shè),能夠定義兩終端點之間數(shù)學(xué)上不相交的路由。然而,實際的網(wǎng)絡(luò)環(huán)境中,路由器的連接是特定的。網(wǎng)絡(luò)是由傳統(tǒng)子網(wǎng)和許多旁路構(gòu)成的。在這些情形下,不能在數(shù)學(xué)上預(yù)先計算不相交的路由。Shin的文獻(xiàn)還假設(shè)通過每個所計算的不相交的路由發(fā)送重復(fù)的包。這能夠?qū)W(wǎng)絡(luò)資源造成過份的需求。
本發(fā)明的目是能夠提供在由一個或多個包交換網(wǎng)絡(luò)連接的兩個或多個點之間進行更可靠的終端對終端(end-to-end)因特網(wǎng)媒體傳輸?shù)南到y(tǒng)和方法。
本發(fā)明的一個總的目的是改進終端對終端因特網(wǎng)媒體傳輸?shù)目煽啃缘囊话惴椒ā?br> 本發(fā)明的一個目的是用于源計算機、目標(biāo)計算機、反射路由器,以協(xié)商并確定一個或多個媒體傳輸路由而從改進傳輸可靠性的系統(tǒng)和方法。
本發(fā)明的一個目的是在媒體包傳輸中引入冗余以改進質(zhì)量、可靠性及傳輸延遲的系統(tǒng)和方法。
本發(fā)明的一個目的是在傳輸路由的兩端復(fù)制包并使其統(tǒng)一以便與為非冗余媒體包傳輸生成的軟件接口的系統(tǒng)和方法。
本發(fā)明的一個目的是用于改進包傳輸中可靠性并降低延遲的包交換網(wǎng)絡(luò)通信的改進的系統(tǒng)和方法。
本發(fā)明改進了因特網(wǎng)媒體通過諸如因特網(wǎng)和企業(yè)內(nèi)部網(wǎng)這樣的包交換網(wǎng)絡(luò)傳輸?shù)目煽啃圆⒔档推溲舆t和包損失。本發(fā)明從一個或多個與網(wǎng)絡(luò)連接的源計算機復(fù)制發(fā)送的消息/信息包為發(fā)送消息的一個或多個包的一個或多個復(fù)制。然后每一復(fù)制通過不同的路由通過網(wǎng)絡(luò)傳送到一個或多個目標(biāo)計算機。在一優(yōu)選實施例中,復(fù)制和路由選擇是隨機進行的,且每一路由器是這樣確定的,使得路由具有最小的路由器數(shù)及共用接入點數(shù)。由于復(fù)制是冗余的,故某些復(fù)制的損失和延遲對在目標(biāo)處組合包序列不是致命的。這樣,目標(biāo)計算機能夠以較完整和較快速的方式從收到的復(fù)制組合發(fā)送的消息/信息包。在目標(biāo)計算機處可以忽略和/或放棄所接收冗余的復(fù)制。
圖1是用來傳輸包括話音數(shù)據(jù)的媒體信息的已知現(xiàn)有技術(shù)的包聯(lián)網(wǎng)系統(tǒng)的框圖。
圖2A是包含在包括一例ISP網(wǎng)絡(luò)的一般包交換網(wǎng)絡(luò)環(huán)境中的本發(fā)明的框圖。
圖2B是包含在包括多例ISP網(wǎng)絡(luò)的一般包交換網(wǎng)絡(luò)環(huán)境中的本發(fā)明的框圖。
圖3是典型的源/目標(biāo)主機的框圖。
圖4是表示由本發(fā)明的一優(yōu)選實施例的三個成分,即源計算機、目標(biāo)計算機和反射路由器進行的包復(fù)制、包一致化和包反射的圖示。
圖5A、5B和5C分別為表示包復(fù)制系統(tǒng)的優(yōu)選實施例的框圖、交錯復(fù)制處理的流程圖、及交錯路由確定處理的流程圖。
圖6A是由本發(fā)明的一優(yōu)選實施例中的目標(biāo)主機進行的包一致化過程的的流程圖。
圖6B是表示移動緩沖器的兩個例子的圖示。
圖7是在源主機/計算機和反射路由器/服務(wù)器之間進行的握手處理的流程圖。
圖8是由反射路由器執(zhí)行的處理的流程圖。
圖9是表示優(yōu)選實施例在允許冗余媒體傳輸?shù)木W(wǎng)絡(luò)接入點選擇性使用的框圖。
圖10是允許冗余媒體傳輸?shù)木W(wǎng)絡(luò)接入點的框圖。
圖2A是包含在一般包交換網(wǎng)絡(luò)環(huán)境中本發(fā)明的框圖。與圖1中共同的2A的那些成分有相同的參考標(biāo)記和說明。
系統(tǒng)200包括通過接入點140與網(wǎng)絡(luò)130連接的一個或多個計算機260和一個或多個反射路由器270。通過兩個或多個路徑(例如275A、275B,一般表示為275)經(jīng)過網(wǎng)絡(luò)130發(fā)送一個或多個消息/信息包120,而進行兩個或多個計算機260之間的通信。這是通過按以下所述不同方式復(fù)制一個或多個包120并通過不同的路徑275發(fā)送這些復(fù)制120R而進行的。圖2A中,示出兩個路徑,即路徑A(275A)和路徑B(275B)。包120按熟知的技術(shù)生成、發(fā)送并接收。反射路由器270是用來使每一路徑如下所述彼此分開的計算機。反射路由器270能夠成為某些路徑的中間路由器。
計算機260可以是發(fā)送一個或多個消息/信息的源計算機260S,或者是接收一個或多個消息/信息的目標(biāo)計算機260D。當(dāng)然,在雙向通信中,源260S和目標(biāo)260D計算機的功能存在于進行通信的兩個或多個計算機上。因而,計算機260S和260D的成分可以組合到單一的計算機260中,且不失一般性將可選使用這些稱謂。圖2A的一個例子是內(nèi)聯(lián)網(wǎng)。
在圖2A所示的另一優(yōu)選實施例中,冗余媒體傳輸增強接入點280(以下圖9和10),使不具有本發(fā)明功能的現(xiàn)有技術(shù)的計算機連接到這些增強接入點280,并獲得冗余媒體傳輸?shù)膬?yōu)點。在這樣的配置中,將在增強接入點280的內(nèi)部進行包復(fù)制和一致化。為了簡化說明,我們將首先討論使用源計算機260S(260)、目標(biāo)計算機260D(260)及反射路由器270組合的本發(fā)明的細(xì)節(jié)。然后,將說明使用增強接入點280的冗余媒體傳輸。
圖2B是網(wǎng)絡(luò)包含由網(wǎng)絡(luò)接入點290連接的多個ISP網(wǎng)絡(luò)的情形的框圖。如圖所示,源計算機260S、目標(biāo)計算機260D及反射路由器270能夠以類似于圖2A的方式配置。圖2B的一個例子訪問ISP X的源計算機,而目標(biāo)計算機正在訪問不同的ISP Y。
圖3是用于本發(fā)明的典型的源計算機260S和目標(biāo)計算機260D(或計算機260)的框圖。在一優(yōu)選實施例中,計算機260用于雙向通信。該計算機包括任何標(biāo)準(zhǔn)的熟知的媒體(例如話音或視頻)和/或多媒體接口133、標(biāo)準(zhǔn)的熟知網(wǎng)絡(luò)接口軟件134、及標(biāo)準(zhǔn)的熟知的網(wǎng)絡(luò)連接器150,它們組合地把輸入分組到媒體接口,并以適合于計算機260被連接150的網(wǎng)絡(luò)130的協(xié)議傳輸這些包。計算機還包括一個或多個已知的存儲器262、新的初始化過程700、新的復(fù)制過程500、和/或新的一致化過程600。初始化過程700為被發(fā)送的復(fù)制120R選擇可選的路徑,復(fù)制過程500執(zhí)行以各種可選的方式生成復(fù)制120R的源計算機260S功能,且一致化過程600執(zhí)行目標(biāo)計算機的功能,使收到的復(fù)制120R一致化以便在目標(biāo)處重新形成最初發(fā)送的消息。存儲器262用來保存來自500和600握手的結(jié)果供后來參照。執(zhí)行過程將在以下進一步詳細(xì)說明。
圖4是表示包復(fù)制過程500、包一致化過程600、及由反射路由器270執(zhí)行的包反射之間的更詳細(xì)的關(guān)系的框圖。
在一優(yōu)選實施例中,媒體包的復(fù)制過程500發(fā)生在源計算機260S內(nèi)部,例如對每一路徑(例如可選的275A、275B和275C)生成一個復(fù)制120R。(復(fù)制過程的另一優(yōu)選實施例在以下說明)。復(fù)制的包120R通過網(wǎng)絡(luò)連接器150被發(fā)送到接入點140,在此它們進入包交換網(wǎng)絡(luò)130。使用新穎技術(shù),例如在一優(yōu)選實施例的反射路由器270中,當(dāng)能夠?qū)γ恳话鼜?fù)制(120R)選擇時選擇不同的路徑(275A、275C、275C)。因而這些復(fù)制120R通過不同的路徑(例如275A、275C和275C)經(jīng)過不同的路由器110和不同的網(wǎng)絡(luò)鏈路175到達(dá)相同的目標(biāo)計算機260D。
在一優(yōu)選實施例中,對復(fù)制120R的一致化過程發(fā)生在一個或多個目標(biāo)計算機260D的內(nèi)部。在收到復(fù)制120R時一致化過程組合所發(fā)送的消息/信息。在一優(yōu)選實施例中,先收到的復(fù)制120R用來形成收到的消息,而后來收到的復(fù)制120R被放棄。當(dāng)通過一個或多個路徑275沒能到達(dá)目標(biāo)的復(fù)制120R不能夠用來在目標(biāo)計算機260D重新生成發(fā)送的消息時,相同的復(fù)制120R仍然有機會通過一個或多個路徑275到達(dá)目標(biāo)計算機260D,并從而能夠用來重新生成發(fā)送的消息。這樣,改進了消息/信息通信的速度和可靠性。
反射路由器270用來降低每一路徑(275A、275C、275C)共有的路由器和網(wǎng)絡(luò)鏈路的數(shù)目。在握手過程700的一優(yōu)選實施例中,通過源計算機260S仔細(xì)選擇反射路由器270。
反射路由器的作用可以通過郵政局基礎(chǔ)結(jié)構(gòu)類比來說明。信件和包裹對應(yīng)于信息包,郵箱對應(yīng)于接入點,中間郵政局對應(yīng)于路由器,而郵路對應(yīng)于網(wǎng)絡(luò)鏈路。有時,郵件將被延遲或丟失。使用本發(fā)明把丟失的可能性盡可能降低或降低偶然的延遲,郵件以相同的目標(biāo)標(biāo)簽被復(fù)制并重復(fù)投遞。如果通過不同的郵路傳送每一復(fù)制的郵件并由不同的郵政局處理,則降低了在目標(biāo)不能收到(至少一個)信件的危險。
在這一類比中,反射路由器/服務(wù)器270的作用可以解釋如下。如果復(fù)制的信件從帶有相同地址標(biāo)簽的郵箱郵寄,由于這些復(fù)制的郵件可能通過相同的郵路并經(jīng)過相同的郵政局,故不大可能降低丟失/延遲的危險。為了更好地降低丟失/延遲的危險,發(fā)送人與其作為反射路由器的朋友商討。在這例子中,在郵寄三個復(fù)制的信件之前,選擇兩個朋友A和B作為中間人。使用這一協(xié)議,A和B的地址標(biāo)簽分別張貼在兩個復(fù)制的信件上。在不同的位置有不同的地址標(biāo)簽,三個復(fù)制將傳送到不同的目標(biāo)。當(dāng)然,朋友A和B當(dāng)他們收到復(fù)制時將以最終目標(biāo)的地址標(biāo)簽代替他們的地址標(biāo)簽。此外,復(fù)制應(yīng)當(dāng)投放到與各朋友最近的郵箱以便傳向最終目標(biāo)。
因而,在一優(yōu)選實施例中,使用反射路由器270是為了通過保證每一復(fù)制120R在不同的路徑175上傳送而降低在中間路由器包丟失和偶然延遲的危險。在一更優(yōu)選的實施例中(參見以下),可使用源260S來優(yōu)化路徑(275A和275B)的選擇。
圖4中,每一包(包1、2、3和4)被復(fù)制三次而成為一組復(fù)制120R(復(fù)制a、b、c)。所有標(biāo)以“a”的復(fù)制120R傳送到第一反射路由器并通過路徑275A最終到達(dá)目標(biāo)260D。所有標(biāo)以“b”的復(fù)制120R通過路徑275B傳送到達(dá)目標(biāo)260D,且所有標(biāo)以“c”的復(fù)制120R通過路徑275C傳送到達(dá)目標(biāo)260D。
在收到復(fù)制120R之后,一致化過程600組合收到的復(fù)制120R以重新生成發(fā)送的消息。將使用標(biāo)識每一復(fù)制在發(fā)送的消息中的位置的熟知的RTP(實時協(xié)議)標(biāo)題中的包序列號信息,進行重新構(gòu)造。
在一優(yōu)選實施例中,目標(biāo)計算機260D將使用對組成發(fā)送的消息的一組包中的每一給定的包120收到的第一復(fù)制120R。目標(biāo)計算機260D保存并使用該第一復(fù)制120R重新生成發(fā)送的消息,并然后放棄復(fù)制所使用的復(fù)制120R的組中后來收到的所有的復(fù)制120R。保存的復(fù)制120R存儲在緩沖器陣列M610(以下),以便在向媒體(例如話音或視頻)和/或多媒體接口133釋放之前吸收可能的包失序。即某些保存的復(fù)制120R可能不是按其發(fā)送的消息的順序收到的。在收到復(fù)制120R時,這些保存的復(fù)制按由其標(biāo)題中包序列號信息確定的正確(發(fā)送消息的)的順序排列。在緩沖器陣列M 610中為序列中尚未收到的復(fù)制保留有空間。這樣,當(dāng)并且如果收到這些“后來”的復(fù)制時,他們按其發(fā)送消息的正確順序被排列在他們保留的位置中。在一優(yōu)選實施例中,緩沖器陣列M 610對10個收到的和保存的復(fù)制120R具有足夠的單元。
圖5A示出復(fù)制過程500的另一優(yōu)選實施例的細(xì)節(jié)。這一實施例有利于提高通信的可靠性,同時控制增加網(wǎng)絡(luò)130中的包傳輸?shù)目側(cè)萘?。如果沒有這一實施例,網(wǎng)絡(luò)130中包傳輸總?cè)萘繉τ趦陕窂饺哂嘈约颖恫τ谌窂饺哂嘈栽黾拥饺兜鹊取@?,這一實施例使我們只能以(或然后其它可選擇的)通過網(wǎng)絡(luò)130包傳輸總量的增加30%使用三路徑冗余性。在這一實施例中,一定的包120以比其它的包更隨機的方式被復(fù)制。進一步的增強隨機地選擇復(fù)制包120R通過其傳輸?shù)穆窂?75。
這一過程500的一個優(yōu)選實施例是通過將作為參數(shù)從應(yīng)用程序給出的兩個外部數(shù)字導(dǎo)出的。作為整數(shù)N的第一個數(shù)字規(guī)定了對每一給定的包120復(fù)制120R通過網(wǎng)絡(luò)130在其上傳輸?shù)穆窂?75的數(shù)量。(選擇用于傳輸復(fù)制120R的不同的路徑在以下圖7中進一步說明)。圖5A示出有三個被選擇的不同的路徑275的情形,即N=3的情形一例。作為0與N(路徑275A,B,C的數(shù)目)之間的有理數(shù)T的第二個數(shù)規(guī)定目標(biāo)傳輸量的增加。這樣T控制著由于復(fù)制要使用多少網(wǎng)絡(luò)130資源。
使用“冗余包傳輸”的想法,在路由冗余性與媒體傳輸質(zhì)量之間有一種權(quán)衡,即冗余性越大,則質(zhì)量越高,但是需要使用更多的網(wǎng)絡(luò)資源。T的引入允許在不增加整個包120R在網(wǎng)絡(luò)130中的傳輸量的情形下使路由選擇的冗余性增加到路由冗余性的程度。如上所述,N=3和T=1.3的組合能夠通過只增加30%的網(wǎng)絡(luò)傳輸量提供使用三路由的良好的質(zhì)量的媒體傳輸。
圖5B中,示出一用于實現(xiàn)產(chǎn)生復(fù)制120R的隨機數(shù)的策略的較好的過程510。選擇例如帶有小數(shù)部分(0.7)和整數(shù)部分(2)的2.7的有理數(shù)T。被生成的復(fù)制120R的數(shù)目由整數(shù)部分控制,例如只能產(chǎn)生兩個復(fù)制或三復(fù)制這樣的復(fù)制整數(shù)。在這一過程中,T的小數(shù)部分確定被復(fù)制的包的百分比,而T的整數(shù)部分確定所進行的復(fù)制次數(shù)。即,如果平均復(fù)制的目標(biāo)設(shè)為2.7,則較佳過程510實現(xiàn)目標(biāo)2.7。在這一例子中,包被復(fù)制3次的概率為0.7,以及被復(fù)制2次的概率為0.3。隨機數(shù)“R”一例實現(xiàn)這一點。
更具體來說,在步驟512,產(chǎn)生0與1之間的一任意數(shù)R。在步驟514,隨機數(shù)(R)與T的小數(shù)部分比較。這一小數(shù)部分是通過取T和T的“floor”值之間的差獲得的。“Floor(T)”是截去小數(shù)部分的值,即T的整數(shù)部分。例如,如果T=5.1,則Floor(T)=5,且如果T=2.9,則Floor(T)=2。
這樣使用隨機數(shù),過程510控制了從由“T”中的目標(biāo)集確定的包所復(fù)制的復(fù)制120R的平均數(shù),并從而控制所需的網(wǎng)絡(luò)設(shè)備的多余量。
在步驟512,對于給定的包120,在0與1之間產(chǎn)生隨機數(shù)R。步驟514確定R是否小于T的小數(shù)部分。具體來說,即是否R<=T-floor(T)。如果這是真,則執(zhí)行步驟518,該步驟復(fù)制包120比步驟516執(zhí)行更多的次數(shù)。這里,復(fù)制的數(shù)目與T的整數(shù)值(即floor(T))相關(guān),具體來說即floor(T)+1。另一方面,如果R>=T-floor(T),則執(zhí)行516。且較少進行或不進行復(fù)制。這里復(fù)制的數(shù)目也與floor(T)相關(guān),具體來說他們相等。
控制被復(fù)制的復(fù)制120R的平均數(shù)的另一等同的方法是由本發(fā)明人想出的。
圖5C的過程520進一步增強了本發(fā)明。這里每一復(fù)制120R通過N個路徑隨機地傳輸。(注意,原始包120能夠不使用本發(fā)明從源260S發(fā)送到目標(biāo)260D,同時這個包的復(fù)制120R能夠通過不同的選擇路徑傳輸。另一方面,在這一公開中,不失一般性原始包120常常是指復(fù)制120R并作為復(fù)制120R對待)。
在步驟522,值“r”表示對給定的包120通過任何上述過程生成復(fù)制120R的數(shù)目。在步驟524,從N個所選擇的不同的路徑集選擇r個數(shù)目的路徑。這一選擇是隨機作出的,使與任何給定的包120相關(guān)的復(fù)制隨機地分布到必須通過網(wǎng)絡(luò)130與它們通信的所有路徑275。注意,如果r=N,則不必進行選擇,每一復(fù)制120R通過N個路徑275之一被傳輸。
在步驟524,當(dāng)r小于N時,復(fù)制120R的數(shù)目(r)用來從N個可用的路由275中選擇r個路由。例如,如果生成2個復(fù)制120R(包含原始包120)且有三個不同的被選擇的路由(275A、275B、275C),則有(統(tǒng)計上是3中選擇2)3C2=3個發(fā)送兩個復(fù)制120R的途徑。步驟520計算出所有NCr途徑,即組合{Ej},并使用隨機數(shù)選擇NCr途徑之一。這樣,在該例子中,避免了在同一路由上傳輸多于兩個復(fù)制。另外,這里N是路徑數(shù)且r是復(fù)制數(shù)。
在步驟526,每一復(fù)制120R標(biāo)以在步驟524所選擇的各路徑中之一的地址。例如,每一復(fù)制120R發(fā)送到與{Ej}中的路徑之一相關(guān)的各反射路由器270。在另一優(yōu)選實施例中,N-1個地址(復(fù)制120R)被發(fā)送到與被選擇的路徑之一相關(guān)的反射路由器270,且對包120給出目標(biāo)計算機的地址。
圖6A是在本發(fā)明一優(yōu)選實施例中由目標(biāo)主機260D進行的一優(yōu)選包一致化過程600的流程圖。
緩沖器陣列610M有L個用于調(diào)節(jié)失序包的元素(m[1],…m[L])。在一優(yōu)選實施例中,L=10或更小是適用的。步驟620初始化過程600。這一初始化只在初始化局部變量“sc”和緩沖器陣列M期間之前執(zhí)行一次。在初始化中,陣列內(nèi)容m和變量“sc”(當(dāng)前序列)將被設(shè)置為0。變量“sc”是所收到的最新的、最當(dāng)前的復(fù)制120R的號碼,因而緩沖器610M的最新(最當(dāng)前的或最右面的)位置mL與這一包相關(guān)。
過程600在630等待復(fù)制120R的到達(dá)。在到達(dá)時,在630從RTP標(biāo)題讀出序列號碼并設(shè)置給變量“s”。在步驟640,比較“s”和“sc”,即剛剛收到的復(fù)制120R的號碼s與現(xiàn)在同緩沖器610M(mL)最右面元素相關(guān)的最當(dāng)前的包序列號碼sc進行比較。如果“s>sc”,則剛剛到達(dá)的包(復(fù)制)具有比緩沖器610M中最新的序列號碼sc更新的號碼s。因而,緩沖器610需要向右移位以便包含這一剛到達(dá)的包序列“s”。這種情形下,控制過渡到步驟650。另一方面,如果“s<=sc”,則新到達(dá)的包具有比緩沖器中存儲的最當(dāng)前的包更前面(更舊)的號碼s。這意味著與這種情形下新到達(dá)的包相關(guān)的存儲單元在緩沖器之內(nèi)或緩沖器已經(jīng)移位經(jīng)過了它。這種情形下,控制過渡到步驟670。
對于到達(dá)的復(fù)制的序列號碼小于等于“sc”的序列號碼s(640),執(zhí)行步驟670。在步驟670,收到的包的位置s與緩沖器610M中存儲單元m的位置進行比較。如果在670sc-s>=L,則緩沖器610M的所有存儲單元m已經(jīng)通過(大于)正在被重新生成的消息的位置s。因而,新收到的包(復(fù)制120R)在671被拋棄,且控制返回到步驟630。然而如果在步驟670sc-s<L,則新收到的包(復(fù)制120R)具有與緩沖器610M中存儲單元m之一相關(guān)的的號碼s,且步驟672確定相關(guān)的存儲單元是否已經(jīng)有一個值,例如步驟672檢驗是否m[L-sc+s]>=0。如果在單元m[L-sc+s]中有值,則帶有這一號碼s的復(fù)制120R已經(jīng)收到,且包信息已經(jīng)存儲在緩沖器610M中以重新生成消息。這樣,新收到的包(復(fù)制120R)被放棄630,且控制返回到步驟630。然而如果在相關(guān)的存儲位置中沒有值,例如如果位置m[L-sc+s]=0,則執(zhí)行步驟674以便使用新收到的包(復(fù)制120R)的信息填充緩沖器610M的位置m[L-sc+s]。即如果復(fù)制是序列號的第一個且仍然在緩沖器之內(nèi)(不太晚),則緩沖器的內(nèi)容被更新(674)。所有這些情形下,緩沖器的移位和“sc”的更新都不會發(fā)生。
圖6B示出緩沖器610向右移位的兩種可能情形的緩沖器610M,移位發(fā)生在執(zhí)行步驟650之中。兩種情形下,與包序列號碼相關(guān)示出沒有陰影(情形a在位置18-21和情形b在位置22-25)移位前以及有陰影(情形a在位置24-27和情形b在位置24-27)的移位后的緩沖器。在情形(a),到達(dá)的帶有序列號27的復(fù)制移位緩沖器大于L=4個位置(即27-21=6個位置)。在情形(a),在緩沖器610M舊的布局中包含的存儲位置m沒有重疊緩沖器610M的新的布局中的存儲位置m。在情形(b),新到達(dá)的復(fù)制適當(dāng)移位緩沖器(27-25=2位置)。在情形(b),舊的緩沖器布局中某些存儲位置(24和25)重疊了緩沖器610M的新的布局中某些存儲位置(24和25)。
這兩種情形包括了由于緩沖器移位所需的動作的所有可能性,步驟660。在情形(a),最新(最高的或最右面的存儲位置m)的包序列號碼(sc)具有數(shù)值21,先于包#27復(fù)制的到達(dá)。在情形(b),sc被設(shè)置為25。然后收到帶有序列號碼s=27的復(fù)制。由于對兩種情形這一序列號大于sc(步驟640),故將進行過程650。過程650對從緩沖器610M中的第一存儲位置m1開始的所有存儲位置重復(fù)進行,直到由新到達(dá)的復(fù)制120R所接收的位置之前的一個存儲位置。換言之,下標(biāo)i從sc-L+1重復(fù)到s-1。
更具體來說,如果在660緩沖器要向右移位,則過程650對可能的情形進行處理。情形1包括在舊的緩沖器(移位前)中但不在新的移位了的緩沖器(移位后)中的存儲器(包)位置。例如,情形(a)中18到21的位置及情形(b)中22到23包括在情形1中。在情形1中,緩沖器610M的移位,使得不包括這些位置,且這些位置中的信息傳送到目標(biāo)計算機輸出133(656)。
情形2包括不在舊的緩沖器(移位前)中或新的移位了的緩沖器(移位后)中的存儲器(包)位置。這些存儲位置落入“間隙”中,并作為情形(2)中位置22和23示出。這些包作為“丟失的包”對待(658),因為位于這些包位置的任何復(fù)制沒有在時限(L)內(nèi)到達(dá),即在任何相關(guān)的包/復(fù)制120R到達(dá)目標(biāo)計算機260D之前,緩沖器610M已經(jīng)通過了它們的存儲位置。步驟658示出對這些丟失的包的“零”輸出。
情形3包括在舊的緩沖器(移位前)中也在新的移位了的緩沖器(移位后)中的存儲(包)位置m。情形(b)中的位置24和25包含在情形3的“被重疊”的位置。這樣,對于情形3,在舊的緩沖存儲器的存儲位置中保存的任何數(shù)據(jù)都將在新的緩沖器的存儲位置中保留。但是緩沖器中這一存儲位置單元m將改變。步驟655通過對情形3中每一存儲位置設(shè)置m[i-s+L]=m[i-sc+L]進行這一“向左的移位”。
情形4包括不在舊的(移位前)的緩沖器中但是在新的移位的(移位后的)緩沖器中的存儲(包)位置。情形(a)中存儲位置24到26和情形(b)中的26包含在情形4。在新的緩沖器中生成這些包的位置。然而,由于與緩沖器610M中這些位置相關(guān)的包(在時限(L)內(nèi))還沒有到達(dá)目標(biāo)計算機260D,故步驟657在這些存儲位置的每一個中設(shè)置值m[i-s+L]=0。
對每一存儲位置m選擇這些情形,通過過程650重復(fù)進行,具體來說是在步驟651-654的判定點進行。步驟651檢驗是否下標(biāo)-i>0。當(dāng)最初開始過程650時這不是真的,且在660緩沖器移位直到整個緩沖器長度L對首先接收復(fù)制120R可用。一旦步驟651的條件不滿足,則整個的緩沖器610M可用,步驟652判定正在被處理的存儲位置是否小于或等于sc,即存儲位置是否在舊的緩沖器中。如果下標(biāo)-i<=sc,則這樣且步驟653檢驗是否下標(biāo)-i>s-L,即存儲位置是落入舊的緩沖器之內(nèi),即步驟655(情形3),還是不落入,即步驟656(情形1)。如果下標(biāo)-i>sc(步驟652),不能進行存儲位置在舊的緩沖器內(nèi)的過程且步驟654判定是否下標(biāo)-i>s-L。如果在654判定結(jié)果為真,則存儲位置信息還沒有到達(dá)且執(zhí)行情形4,即步驟657。如果步驟654不真,則存儲單元落入“間隙”內(nèi)且執(zhí)行步驟658(情形2)。
在通過設(shè)置m[L]=s和sc=s而完成步驟650之后步驟660移位緩沖器。
圖7是在源主機/計算機和反射路由器/服務(wù)器之間執(zhí)行的握手(初始化)過程700的流程圖。
在步驟710,源計算機260S獲得服務(wù)中的反射服務(wù)器的IP地址。這些IP地址從網(wǎng)絡(luò)目錄中可得。
在步驟720,源計算機260S向所有的反射服務(wù)器270(或反射服務(wù)器的子集)發(fā)送請求,報告各反射服務(wù)器270與目標(biāo)260D之間的連接(鏈接或轉(zhuǎn)接175)。作為每個反射服務(wù)器Ri與目標(biāo)計算機260D之間的路由器的列表獲得結(jié)果。該列表對每一反射路由器Ri標(biāo)為LAi。標(biāo)準(zhǔn)的IP協(xié)議支持命令(tracert)以獲得這一列表。這一請求是由以下圖8的步驟820處理的。
在步驟730,源計算機260S檢驗源計算機260S與所有反射路由器之間的連接(鏈路175的集合)。獲得的結(jié)果作為LBi。這能夠由作為IP標(biāo)準(zhǔn)的一部分的“tracert”命令執(zhí)行完成。
在步驟740,對應(yīng)的LA和LB被連接在一起而生成通過特定的反射路由器Ri從源計算機260S到目標(biāo)計算機260D的路由器列表。這一列表將標(biāo)記為LABi。
在步驟750,將對重疊的路由器考察{LABi}集合。然后選擇N個路徑275使得對應(yīng)于這些N個被選擇的路徑275的{LABi}的子集具有最少的公共路由器。
這里是執(zhí)行步驟750的一個較好方式1.設(shè)S表示包含選擇的路由的集合。
初始集合S={不使用反射路由器的路由}。
設(shè)C表示候選的路由。
初始集合C={對應(yīng)于所有可用的反射服務(wù)器的路由}。
2.使用{LABj},對包含在{LABk}(k是S中的元素之一)中的路由器計數(shù)LABj(j是C中的元素之一)中的公共路由器,并設(shè)為Pj。選擇給出最小Pj的j?,F(xiàn)在選擇J。
3.把“j”插入到S并從C中除去“j”。
4.從2重復(fù)到S的大小足夠大(=N)。
5.當(dāng)2~4結(jié)束時,集合S包含選擇的反射服務(wù)器。
在步驟760,源計算機260S請求N個反射路由器逐一對所選擇的每一路徑275提供服務(wù)。這樣作為目的的目標(biāo)地址將被發(fā)送到每一復(fù)制路由器270。作為目的的目標(biāo)地址將保存在反射服務(wù)器內(nèi)的地址映射表810中。反射服務(wù)器后來使用這一地址把復(fù)制120R轉(zhuǎn)發(fā)到目標(biāo)260D。這一請求將由反射路由器流程圖(圖8)的830處理。
在步驟770,選擇的N個反射路由器每一個的IP地址寫入存儲器262,使得復(fù)制過程500和一致化過程600能夠使用這些IP地址。存儲器262將保存由以上所述的750確定的{S}。通過在820發(fā)出“Tracert”IP命令詢問中繼列表并把結(jié)果發(fā)送回260S,用于確定最佳反射路由器列表{S}。在反射路由器中沒有必要保存中繼列表。目錄應(yīng)當(dāng)在反射路由器之外。通常IP的域看門人(gatekeeper)或域名服務(wù)器能作這一工作。域名服務(wù)器例如知道域中所有可用的服務(wù)器。
圖8是由一較佳反射路由器270執(zhí)行過程800的流程圖。反射路由器270包括一個或多個地址映射表810(圖2中)及四個基本步驟820、830、840和850。地址映射表810的項由源260S和目標(biāo)260D計算機組成。
處理以等待網(wǎng)絡(luò)805上的輸入開始。這一輸入或是從源計算機260S或是從目標(biāo)260D計算機發(fā)送的。在步驟808,確定輸入類型。輸入可以是對中繼列表的詢問,傳輸請求,來自源計算機260S的包120R,或來自目標(biāo)計算機260D的包120R。頭兩類輸入在握手過程時來到反射路由器。這些輸入類型每一個分別由步驟820、830、840或850處理。
如果作為對從特定的反射路由器270到目標(biāo)260D的中繼列表詢問的輸入805來自源計算機260S,則執(zhí)行步驟820。步驟820返回特定反射路由器270和目標(biāo)之間的中繼列表(或潛在的路徑275的部分)。這一步驟820在步驟720的說明中在以上已經(jīng)說明。
如果輸入805是從源計算機260S給出的傳輸請求,步驟830把源計算機260S與目標(biāo)計算機260D的IP地址配對,并把這些對添加到地址映射表810上。當(dāng)通信部分結(jié)束時,對將從存儲器810中除去。該部分的結(jié)束可以按兩種方式確定1.源或目標(biāo)計算機通知掛起,或2.反射路由器在很長一段時間(超時)沒有檢測到活動。
如果按包120R上的標(biāo)題信息標(biāo)識,輸入805是從源計算機260S發(fā)送的(媒體)包120R,則執(zhí)行步驟840。在步驟840,源計算機(發(fā)送器)260S的IP地址用來在存儲的地址映射表810對的第一個元素(標(biāo)識源計算機260S)中掃描。一旦發(fā)現(xiàn)包含源計算機260S的對,則向所發(fā)現(xiàn)的對的第二元素中(標(biāo)識目標(biāo)260D或與源260S相關(guān)的目標(biāo))的目標(biāo)計算機(或計算機260D)重新發(fā)送包。
如果按包120R上的標(biāo)題信息標(biāo)識,輸入805是從目標(biāo)計算機260D發(fā)送的(媒體)包120R,則執(zhí)行步驟850。在步驟850,目標(biāo)計算機260D的IP地址用來在存儲的存儲器對810的的第二個元素(標(biāo)識源計算機260S)中掃描。一旦發(fā)現(xiàn)包含目標(biāo)計算機260D的對,則向所發(fā)現(xiàn)的對的第一元素(標(biāo)識源或與目標(biāo)260D相關(guān)的源260S)的源計算機(或計算機260S)重新發(fā)送包120R。
圖9是表示本發(fā)明的另一優(yōu)選實施例900的框圖。這一實施例中,在一個或多個網(wǎng)絡(luò)接入點產(chǎn)生冗余媒體傳輸。這些接入點是帶有與反射路由器270的功能結(jié)合的源和/或目標(biāo)計算機260的功能的路由器280。例如,如該圖中所示,能夠把復(fù)制過程500和一致化過程600嵌入到接入點280。帶有嵌入的上述復(fù)制過程500和/或一致化過程600的接入點280被稱為“冗余媒體傳輸可行網(wǎng)絡(luò)接入點”(或簡稱為冗余接入點,一般為280),并一般由互聯(lián)網(wǎng)訪問供應(yīng)商(ISP)管理。在這一實施例的較佳變形中,源和/或目標(biāo)計算機是沒有本發(fā)明特點的標(biāo)準(zhǔn)的現(xiàn)有技術(shù)的計算機160。一般源和/或目標(biāo)計算機160之間的鏈路(175,975)盡可能地短,例如本地電話鏈路連接,以便把源和/或目標(biāo)計算機160與冗余接入點280之間的任何包丟失或延遲降低到最低。由于復(fù)制500和/或一致化600發(fā)生在ISP網(wǎng)絡(luò)(在接入點280),故150和140之間的撥號訪問線路可以在帶寬上較低。
本實施例的優(yōu)點在于允許帶有常規(guī)因特網(wǎng)媒體軟件的計算機獲得通過本發(fā)明的冗余特點服務(wù)質(zhì)量(QoS)增強的好處,例如無需另外的軟件在源和/或目標(biāo)計算機上運行。這能夠以幾種途徑出現(xiàn)。源計算機(160,960S)可以是帶有與第一冗余性接入點280-1連接的標(biāo)準(zhǔn)計算機。在這一接入點280-1,使用任何上述過程發(fā)生包120的復(fù)制500。第一冗余接入點280-1確定多個路徑以及復(fù)制120R如何通過網(wǎng)絡(luò)130通信。(另外,通過以本發(fā)明增強了的源計算機260S進行復(fù)制500)。復(fù)制120R或者由以本發(fā)明增強的目標(biāo)計算機260D,或者由第二冗余接入點280-2接收并如上所述被處理。如果使用第二冗余接入點280-2,則一致化過程600在第二冗余接入點280-2執(zhí)行,且一致化(重新生成)的消息通過短鏈路975傳送到標(biāo)準(zhǔn)的現(xiàn)有技術(shù)計算機160。
圖10是帶有冗余媒體傳輸功能的網(wǎng)絡(luò)接入點280的框圖。接入點280具有對一個或多個現(xiàn)有技術(shù)計算機的熟知的接口282。還有與一個或多個連接到一個或多個路由器110的任何一般網(wǎng)絡(luò)130的鏈路175的硬件和軟件接口132。注意,能夠把路由器110的功能和任何冗余接入點280的功能進行組合。冗余接入點280還具有任何上述以下一個或多個功能初始化過程700,存儲器262,包復(fù)制過程500和/或包一致化過程。如上所述,從計算機160接收包120和/或請求,由復(fù)制過程500復(fù)制并通過兩個或多個路徑在網(wǎng)上傳輸。以類似的方式,通過網(wǎng)絡(luò)接口從網(wǎng)絡(luò)(130,110)接收請求和/或復(fù)制120R,并在它們作為重新生成的消息向計算機160發(fā)送之前由包一致化過程600一致化。
根據(jù)本發(fā)明的公開,本領(lǐng)域技術(shù)人員可以實施等同的實施例。這些等同的實施例也在本發(fā)明的考慮范圍之內(nèi)。
權(quán)利要求
1.一種具有與一個或多個網(wǎng)絡(luò)的一個或多個接口的計算機,這些接口通過一個或多個網(wǎng)絡(luò)傳輸一個或多個消息中的一個或多個包,該計算機包括一個或多個過程,它們能夠以隨機的方式產(chǎn)生消息的冗余包,并能夠在兩個或多個獨立的路徑上經(jīng)過網(wǎng)絡(luò)對一個或多個目標(biāo)傳輸冗余包。
2.如權(quán)利要求1的計算機,其中該計算機向目標(biāo)發(fā)送消息,并且這些過程包括復(fù)制過程,該過程通過復(fù)制消息中的一個或多個包生成隨機數(shù)個每一冗余包,以便形成一個或多個包的一個或多個復(fù)制;以及初始化過程,該過程通過在一個或多個網(wǎng)絡(luò)上對一個或多個反射服務(wù)器的一個或多個接口,在一個或多個網(wǎng)絡(luò)上發(fā)送對路徑信息的請求,該初始化過程從一個或多個反射服務(wù)器接收路徑信息,該路徑信息定義了從各反射路由器到目標(biāo)的反射路由器路徑中的一個或多個中繼,該初始化過程選擇兩個或多個獨立的路徑以便發(fā)送兩個或多個復(fù)制,至少一個獨立的路徑是從計算機到反射路由器之一并然后繼續(xù)由各反射路由器到目標(biāo)。
3.如權(quán)利要求2的計算機,其中該計算機是以下的任何一個或多個客戶計算機,服務(wù)器,路由器,及網(wǎng)絡(luò)接入點。
4.如權(quán)利要求2的計算機,其中復(fù)制過程中隨機數(shù)對消息中每一包至少是一個。
5.如權(quán)利要求2的計算機,其中復(fù)制過程對消息中隨機包生成隨機數(shù)個復(fù)制。
6.如權(quán)利要求5的計算機,其中初始化過程隨機地選擇通過其發(fā)送每一包的隨機數(shù)個復(fù)制的獨立的路徑。
7.如權(quán)利要求5的計算機,其中對每一包生成的隨機數(shù)個復(fù)制限制在所選擇數(shù)目之下。
8.如權(quán)利要求2的計算機,其中初始化過程選擇所選擇的路徑以具有最少數(shù)目的公共中繼。
9.如權(quán)利要求2的計算機,其中對一個或多個復(fù)制所選擇的路徑是隨機選擇的。
10.如權(quán)利要求9的計算機,其中所選擇的路徑是對至少與對其它復(fù)制共用選擇的路徑的每一復(fù)制選擇的。
11.如權(quán)利要求1的計算機,其中計算機從目標(biāo)接收消息,并且過程是一致化過程,該過程接收每一復(fù)制,確定復(fù)制在消息中的位置,并根據(jù)目標(biāo)存儲器中的位置安排復(fù)制。
12.如權(quán)利要求11的計算機,其中如果先前收到的復(fù)制已經(jīng)排放在目標(biāo)存儲器中各位置中,則后來收到的復(fù)制被放棄。
13.如權(quán)利要求11的計算機,其中計算機是以下的任何一個或多個客戶計算機,服務(wù)器,路由器,及網(wǎng)絡(luò)接入點。
14.如權(quán)利要求1的計算機,其中包是以下的任何一個或多個語音包,視頻包,媒體包,及數(shù)據(jù)包。
15.如權(quán)利要求1的計算機,其中消息中的信息包括以下的任何一個或多個一個或多個電視節(jié)目,一個或多個無線電節(jié)目,及一個或多個電話交談。
16.一種具有與一個或多個網(wǎng)絡(luò)的一個或多個接口的計算機,這些接口通過一個或多個網(wǎng)絡(luò)傳輸一個或多個消息中的一個或多個包,該計算機包括復(fù)制過程,該過程通過復(fù)制消息中隨機數(shù)個一個或多個包生成冗余包,以便形成一個或多個包的一個或多個被發(fā)送的復(fù)制;初始化過程,該過程通過在對一個或多個網(wǎng)絡(luò)上的一個或多個反射服務(wù)器的一個或多個接口,在一個或多個網(wǎng)絡(luò)上發(fā)送對路徑信息的請求,該初始化過程從一個或多個反射服務(wù)器接收路徑信息,該路徑信息定義了從各反射路由器到目標(biāo)的反射路由器路徑中的一個或多個中繼,該初始化過程選擇兩個或多個獨立的路徑以便發(fā)送兩個或多個被發(fā)送的復(fù)制,至少一個獨立的路徑是從計算機到反射路由器之一并然后繼續(xù)由各反射路由器到目標(biāo);以及接收一個或多個接收的復(fù)制的一致化過程,該過程確定收到的復(fù)制在消息中的位置,并根據(jù)目標(biāo)存儲器中的位置安排收到的復(fù)制。
17.如權(quán)利要求16的計算機,其中計算機是以下的任何一個或多個客戶計算機,服務(wù)器,路由器,及網(wǎng)絡(luò)接入點。
18.如權(quán)利要求16的計算機,還包括一個或多個輸入裝置及一個或多個輸出裝置,輸入裝置產(chǎn)生用來生成消息的冗余包的輸入信號,而輸出裝置從收到的存儲在目標(biāo)存儲器中的復(fù)制產(chǎn)生輸出信號。
19.如權(quán)利要求18的計算機,其中輸入裝置包含以下的任何一個或多個語音到文本的轉(zhuǎn)換器,虛擬世界,話筒,電話話筒,鍵盤,及鼠標(biāo)。
20.如權(quán)利要求18的計算機,其中輸出裝置包括以下的任何一個或多個計算機屏幕,虛擬世界,揚聲器,電話揚聲器,及文本到語音轉(zhuǎn)換器。
21.如權(quán)利要求16的計算機,其中一個或多個網(wǎng)絡(luò)在一個或多個網(wǎng)絡(luò)接入點相互連接。
22.一種通過網(wǎng)絡(luò)傳輸消息的方法,該方法包括以下步驟生成消息中的一個或多個包的隨機數(shù)個復(fù)制;選擇一個或多個通過網(wǎng)絡(luò)到一個或多個目標(biāo)的不同的路徑;以及通過不同的路徑之一發(fā)送每一復(fù)制。
23.如權(quán)利要求22中的方法,還包括以下步驟接收一個或多個被接收的復(fù)制;確定在收到的消息中收到的復(fù)制的位置;以及根據(jù)目標(biāo)存儲器中它們的位置布局收到的復(fù)制。
24.一種通過網(wǎng)絡(luò)傳輸消息的系統(tǒng),該系統(tǒng)包括用于生成消息中的一個或多個包的隨機數(shù)個復(fù)制的裝置;用于選擇一個或多個通過網(wǎng)絡(luò)到一個或多個目標(biāo)的不同的路徑的裝置;用于通過不同的路徑之一發(fā)送每一復(fù)制的裝置;用于接收一個或多個被接收的復(fù)制的裝置;用于確定在收到的消息中收到的復(fù)制的位置的裝置;以及根據(jù)目標(biāo)存儲器中它們的位置用于布局收到的復(fù)制的裝置。
全文摘要
通過從一個或多個與網(wǎng)絡(luò)連接的源計算機復(fù)制發(fā)送的消息/信息包為被發(fā)送消息的一個或多個包的兩個或多個復(fù)制,實現(xiàn)了改進因特網(wǎng)媒體通過諸如因特網(wǎng)和企業(yè)內(nèi)部網(wǎng)這樣的包交換網(wǎng)絡(luò)傳輸?shù)目煽啃圆⒔档推溲舆t和包損失。然后每一復(fù)制通過不同的路由通過網(wǎng)絡(luò)傳送到一個或多個目標(biāo)計算機。這樣,目標(biāo)計算機能夠以較完整和較快速的方式從收到的復(fù)制組合發(fā)送的消息/信息包。在目標(biāo)計算機處可以忽略和/或放棄收到的冗余的復(fù)制。
文檔編號G06F13/00GK1242548SQ99106680
公開日2000年1月26日 申請日期1999年5月20日 優(yōu)先權(quán)日1998年6月5日
發(fā)明者藤崎哲之助, 約夫·莫丹 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长白| 贞丰县| 垣曲县| 呼伦贝尔市| 大兴区| 揭阳市| 基隆市| 尼勒克县| 安阳县| 惠州市| 奉贤区| 丰城市| 美姑县| 伊吾县| 绥德县| 肥城市| 灵武市| 平安县| 盐津县| 丰顺县| 册亨县| 阿拉善盟| 峨边| 阿城市| 吉隆县| 郯城县| 拜城县| 太康县| 临武县| 怀安县| 辽阳市| 莒南县| 花垣县| 泗水县| 星子县| 茌平县| 嘉鱼县| 渝北区| 民和| 乌拉特中旗| 理塘县|