亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于流式數(shù)據(jù)的方法和裝置的制作方法

文檔序號(hào):7949154閱讀:241來源:國知局
專利名稱:用于流式數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于流式數(shù)據(jù)的方法和裝置,特別涉及允許多個(gè)用戶在帶寬增加最小的情況下接收此類流式數(shù)據(jù)的方法和裝置。本發(fā)明對(duì)流式實(shí)況視頻和/或音頻數(shù)據(jù)(但并不限于此)特別有用。
背景技術(shù)
流式媒體是一種數(shù)據(jù)傳送方法,其中客戶請(qǐng)求服務(wù)器以一定的速度發(fā)送數(shù)據(jù)。盡管數(shù)據(jù)流可以用于文件傳輸,但是它對(duì)音頻和/或視頻數(shù)據(jù)的傳送特別有用。
通過因特網(wǎng)實(shí)況播放視頻和/或音頻題材正變得越來越流行、越來越普遍。此類題材包括廣播電臺(tái)和電視臺(tái)的輸出,或諸如音樂會(huì)、時(shí)裝表演、運(yùn)動(dòng)賽事之類的一次性活動(dòng)的視頻或音頻傳輸。然而,在本文中,術(shù)語“廣播”的使用實(shí)際上是不嚴(yán)格不準(zhǔn)確的。實(shí)際上,希望接收此類題材的用戶將請(qǐng)求適當(dāng)?shù)木W(wǎng)站服務(wù)器,然后在服務(wù)器和請(qǐng)求源之間建立點(diǎn)對(duì)點(diǎn)連接。
接著,使用流式技術(shù),經(jīng)由點(diǎn)對(duì)點(diǎn)連接,將音頻和/或視頻數(shù)據(jù)從服務(wù)器發(fā)送到接受者。流是一種真正的及時(shí)技術(shù),該技術(shù)允許服務(wù)器僅利用在接受者計(jì)算機(jī)之存儲(chǔ)器中存儲(chǔ)的小規(guī)模的高速緩存數(shù)據(jù),向接受者發(fā)送音頻和視頻數(shù)據(jù)?,F(xiàn)時(shí)市場(chǎng)有許多眾所周知的流式技術(shù),包括業(yè)界標(biāo)準(zhǔn)的實(shí)時(shí)流式協(xié)議(RTSP)和許多專有產(chǎn)品,如RealPlayer、Microsoft Windows Media Player以及Apple公司的QuickTime。
從圖1的考慮中,可以看出常規(guī)流式技術(shù)的不利條件,其中圖1表示常規(guī)的點(diǎn)對(duì)點(diǎn)流式方法。特別是,當(dāng)前的流式技術(shù)使用點(diǎn)對(duì)點(diǎn)方法,而在增加用戶人數(shù)時(shí),該方法不能很好地調(diào)整。例如,如圖1所示,如果許多用戶希望接收相同的實(shí)況活動(dòng),則需要在服務(wù)器和接受者之間建立各自的點(diǎn)對(duì)點(diǎn)連接,即使(如圖1所示)所有用戶均在同一內(nèi)聯(lián)網(wǎng)網(wǎng)關(guān)內(nèi)并接收相同的實(shí)況數(shù)據(jù)。大量完全相同的數(shù)據(jù)必須從服務(wù)器向各接受者傳送。
這是非常無效的,也是非常浪費(fèi)帶寬的,同時(shí)如果服務(wù)器和接受者相距很遠(yuǎn),則特別浪費(fèi)比較昂貴的國際帶寬。當(dāng)前技術(shù)非常需要必須為各接受者獨(dú)立服務(wù)的服務(wù)器。這些缺點(diǎn)使得因特網(wǎng)上的流行活動(dòng)的“廣播”非常困難,并且如果某個(gè)活動(dòng)很流行,則會(huì)使得因特網(wǎng)的負(fù)載很重,從而引起延遲,在最好情況下,延遲會(huì)降低傳輸質(zhì)量,在最壞情況下,可引起過載并使服務(wù)器崩潰。
上述問題其中一種建議解決方案是,通過創(chuàng)建媒體服務(wù)器群集和負(fù)載均衡服務(wù),建立“視頻群集(video farm)”。圖2示意表示視頻群集的概念。然而,此方法的主要缺點(diǎn)是,很難預(yù)測(cè)流式實(shí)況廣播的流行程度,并且很難估計(jì)支持觀眾所需要的視頻群集的大小和能力。
人們提出多點(diǎn)傳送作為網(wǎng)絡(luò)負(fù)載的全面解決方案。多點(diǎn)傳送支持許多用戶接收一份數(shù)字信息,如視頻流。借助多點(diǎn)傳送技術(shù),發(fā)送者僅發(fā)送一份數(shù)據(jù)包,而不管有多少用戶希望接收。該份數(shù)據(jù)包在網(wǎng)絡(luò)中向最遠(yuǎn)處傳播,直至到達(dá)必須生成第二副本的分支,等等。圖3(a)和3(b)分別表示多點(diǎn)傳送和點(diǎn)對(duì)點(diǎn)單點(diǎn)傳送傳輸。多點(diǎn)傳送是一種單向的一對(duì)多技術(shù),其中服務(wù)器只需向一組地址(稱為D類IP地址)發(fā)送一個(gè)數(shù)據(jù)流,而不管用戶數(shù)。
然而,多點(diǎn)傳送具有許多問題,這些問題阻止了它的廣泛使用。以上問題包括諸如很難診斷和修復(fù)問題之類的運(yùn)行障礙,不能控制發(fā)送者和接受者,沒有路由或通信量策略,以及沒有端到端內(nèi)容管理。
一種利用靜態(tài)(即非實(shí)況)因特網(wǎng)傳輸將帶寬問題降到最底程度的方法是,位于用戶組或內(nèi)聯(lián)網(wǎng)邊緣的代理服務(wù)器或高速緩存的概念。高速緩存存儲(chǔ)該組成員請(qǐng)求的網(wǎng)頁的詳細(xì)信息,并且當(dāng)該組的第二成員或其他成員請(qǐng)求相同網(wǎng)頁時(shí)(如新聞網(wǎng)站),高速緩存將起代理服務(wù)器的作用,并從其本身的存儲(chǔ)器中提供網(wǎng)頁,而不是將該請(qǐng)求路由到源服務(wù)器。當(dāng)許多用戶希望瀏覽同一網(wǎng)頁時(shí),這是一種非常有用的技術(shù),盡管用戶必須知道他們有可能看不到該網(wǎng)頁的最新版本。然而,此種技術(shù)不能應(yīng)用于實(shí)況傳輸。

發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供用于從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的裝置,該裝置包括,位于所述服務(wù)器和所述客戶機(jī)之間的網(wǎng)關(guān),其中所述網(wǎng)關(guān)包括(a)當(dāng)接收到來自任一所述客戶機(jī)的流式數(shù)據(jù)的第一請(qǐng)求時(shí),從所述服務(wù)器獲得流式數(shù)據(jù)的裝置,以及(b)從所述網(wǎng)關(guān)向請(qǐng)求所述流的第二和后繼客戶機(jī)提供所述流的裝置。
依靠上述裝置,無需在服務(wù)器和各客戶機(jī)之間建立獨(dú)立的點(diǎn)對(duì)點(diǎn)單點(diǎn)傳送連接,而是如果某個(gè)網(wǎng)關(guān)正在向一臺(tái)客戶機(jī)提供數(shù)據(jù)流,則該網(wǎng)關(guān)也可以向其他客戶機(jī)提供同一數(shù)據(jù)流,而無需回到服務(wù)器。
在本發(fā)明的最佳實(shí)施方式中,網(wǎng)關(guān)包含以下裝置,用于維護(hù)當(dāng)前正向該網(wǎng)關(guān)之客戶機(jī)提供的所有流式媒體的列表的裝置,以及用于比較來自某一客戶的流式媒體請(qǐng)求與該列表的裝置,如果請(qǐng)求的流式媒體不在該列表上,則從服務(wù)器獲得流式媒體,如果請(qǐng)求的流式媒體在該列表上,則從網(wǎng)關(guān)向該客戶機(jī)提供數(shù)據(jù)流。
實(shí)現(xiàn)本發(fā)明的最佳方式是,網(wǎng)關(guān)包含軟件接口裝置,該裝置用于更改流式媒體的數(shù)據(jù)包的地址類型,從而當(dāng)希望向客戶機(jī)提供流式媒體時(shí),將輸入到網(wǎng)關(guān)的數(shù)據(jù)包轉(zhuǎn)換為多點(diǎn)傳送地址類型,以便向正在請(qǐng)求該數(shù)據(jù)流的該網(wǎng)關(guān)的所有客戶機(jī)提供流式媒體。一個(gè)最好的方法是通過提供一個(gè)邏輯多點(diǎn)傳送回環(huán),提供用于復(fù)制將向多臺(tái)客戶機(jī)提供的所述數(shù)據(jù)包的裝置,其中將生存時(shí)間(TTL)設(shè)置為零。在復(fù)制數(shù)據(jù)包后,可以提供第二軟件接口,其中在輸出到客戶機(jī)之前,如果該客戶機(jī)處于單點(diǎn)傳送網(wǎng)絡(luò)中,則將所復(fù)制的數(shù)據(jù)包的地址類型,從多點(diǎn)傳送改回到單點(diǎn)傳送,而對(duì)于位于支持多點(diǎn)傳送的網(wǎng)絡(luò)中的一組客戶機(jī),將其地址類型改變?yōu)槎帱c(diǎn)傳送地址。
盡管按上述方式說明的發(fā)明,在防止每個(gè)不同的客戶機(jī)均需要建立與服務(wù)器的流式連接方面具有明顯優(yōu)勢(shì),但是,如果許多網(wǎng)關(guān)向一臺(tái)服務(wù)器請(qǐng)求相同的流式內(nèi)容,則網(wǎng)絡(luò)中仍然會(huì)出現(xiàn)負(fù)載問題。為解決此問題,可以提供能夠共享并且均衡流式負(fù)載的網(wǎng)關(guān)網(wǎng)絡(luò)。
因此,從另一方面來看,本發(fā)明提供用于從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的裝置,該裝置包括位于所述服務(wù)器和所述客戶機(jī)之間的許多網(wǎng)關(guān),各所述客戶機(jī)與一個(gè)所述網(wǎng)關(guān)關(guān)聯(lián),其中各所述網(wǎng)關(guān)安裝有,當(dāng)接收到所述流的第一請(qǐng)求時(shí),從某臺(tái)服務(wù)器或從另一網(wǎng)關(guān)提供數(shù)據(jù)流的裝置,以及向第二或后繼客戶機(jī)提供正向第一客戶機(jī)提供的數(shù)據(jù)流的裝置,其中各所述網(wǎng)關(guān)安裝有以下裝置,即當(dāng)接收到客戶機(jī)的數(shù)據(jù)流請(qǐng)求時(shí),判斷所述網(wǎng)關(guān)自己能否提供該數(shù)據(jù)流的裝置,以及當(dāng)所述網(wǎng)關(guān)自己不能提供數(shù)據(jù)流時(shí),判斷是否存在可從其獲得所述數(shù)據(jù)流的相鄰網(wǎng)關(guān)的裝置。
各網(wǎng)關(guān)最好包括所有相鄰網(wǎng)關(guān)的列表,列出相鄰網(wǎng)關(guān)正在提供的所有數(shù)據(jù)流的數(shù)據(jù)庫,以及所述網(wǎng)關(guān)正在提供的所有數(shù)據(jù)流的數(shù)據(jù)庫。為了更新此數(shù)據(jù)庫,當(dāng)各網(wǎng)關(guān)開始提供新的數(shù)據(jù)流時(shí),最好向其相鄰網(wǎng)關(guān)報(bào)告。為了提供負(fù)載均衡,各所述網(wǎng)關(guān)可安裝有,在兩個(gè)或多個(gè)可能網(wǎng)關(guān)之間選擇作為客戶請(qǐng)求的數(shù)據(jù)流的信源的裝置。選擇裝置最好從所有可能的信源網(wǎng)關(guān)中進(jìn)行選擇,其方法是,首先除去過載或負(fù)載最大的信源,然后再以可能的信源網(wǎng)關(guān)可以提供的數(shù)據(jù)流的質(zhì)量、可能的信源網(wǎng)關(guān)的負(fù)載、以及可能的信源網(wǎng)關(guān)與請(qǐng)求網(wǎng)關(guān)之間的通信延遲為基礎(chǔ),進(jìn)行選擇。因此,各網(wǎng)關(guān)最好安裝有用于查詢可能的信源網(wǎng)關(guān)之?dāng)?shù)據(jù)流質(zhì)量、負(fù)載和通信延遲的裝置。
在最佳實(shí)施方式中,為了提供最佳結(jié)果,在除去過載和負(fù)載最大信源后,可能的信源網(wǎng)關(guān)提供的數(shù)據(jù)流的質(zhì)量,是選擇信源網(wǎng)關(guān)的第一標(biāo)準(zhǔn),當(dāng)數(shù)據(jù)流的質(zhì)量相同時(shí),信源網(wǎng)關(guān)的負(fù)載是將要使用的第二標(biāo)準(zhǔn),如果數(shù)據(jù)流的質(zhì)量和信源網(wǎng)關(guān)的負(fù)載均相同,則通信延遲是第三標(biāo)準(zhǔn)。
從另一個(gè)更廣的方面來看,本發(fā)明提供一種從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的方法,該方法包括定位所述服務(wù)器和所述客戶機(jī)之間的一個(gè)網(wǎng)關(guān),當(dāng)接收到任一所述客戶機(jī)的數(shù)據(jù)流的第一請(qǐng)求時(shí),從所述服務(wù)器獲得流式數(shù)據(jù),以及從所述網(wǎng)關(guān)向請(qǐng)求所述數(shù)據(jù)流的第二和后繼客戶機(jī)提供所述數(shù)據(jù)流。
仍然從另一個(gè)更廣的方面來看,本發(fā)明提供一種從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的方法,該方法包括定位所述服務(wù)器和所述客戶機(jī)之間的多個(gè)網(wǎng)關(guān),其中各所述客戶機(jī)與一個(gè)所述網(wǎng)關(guān)關(guān)聯(lián),當(dāng)數(shù)據(jù)流的請(qǐng)求對(duì)所述網(wǎng)關(guān)而言是所述數(shù)據(jù)流的第一請(qǐng)求時(shí),從一臺(tái)服務(wù)器或另一個(gè)網(wǎng)關(guān)提供數(shù)據(jù)流,而當(dāng)?shù)诙蚝罄^客戶機(jī)請(qǐng)求正向第一客戶機(jī)提供的數(shù)據(jù)流時(shí),從所述網(wǎng)關(guān)向所述第二或后繼客戶機(jī)提供數(shù)據(jù)流。
本發(fā)明的另一個(gè)重要方面是獨(dú)創(chuàng)的軟件應(yīng)用接口,因此,從本發(fā)明的另一個(gè)方面來看,提供一種面向?qū)ο蟓h(huán)境中的軟件接口應(yīng)用程序,該應(yīng)用程序包括將數(shù)據(jù)包的地址類型從(a)單點(diǎn)傳送改變?yōu)槎帱c(diǎn)傳送、或從(b)多點(diǎn)傳送改變?yōu)閱吸c(diǎn)傳送、或從(c)第一多點(diǎn)傳送地址改變?yōu)榈诙帱c(diǎn)傳送地址、或從(d)第一單點(diǎn)傳送地址改變?yōu)榈诙吸c(diǎn)傳送地址的裝置。
仍然從本發(fā)明的另一個(gè)方面來看,提供一種數(shù)據(jù)傳輸網(wǎng)絡(luò),該網(wǎng)絡(luò)包括許多網(wǎng)絡(luò)域,其中某些所述網(wǎng)絡(luò)域?yàn)閱吸c(diǎn)傳送域,而剩余的所述網(wǎng)絡(luò)域?yàn)槎帱c(diǎn)傳送域,所述網(wǎng)絡(luò)還包括許多位于邊界的網(wǎng)關(guān),并且至少位于單點(diǎn)傳送域和多點(diǎn)傳送域之間的邊界上的所述網(wǎng)關(guān)安裝有軟件接口裝置,以便將數(shù)據(jù)包的地址類型從單點(diǎn)傳送改變?yōu)槎帱c(diǎn)傳送或相反。


以下將參照附圖并通過示例說明本發(fā)明的某些實(shí)施方式,其中附圖為圖1為表示常規(guī)流式方法的示意圖;圖2表示視頻群集的概念;圖3(a)和3(b)表示多點(diǎn)傳送的概念;圖4為本發(fā)明之某一實(shí)施方式的示意圖;
圖5表示虛擬服務(wù)器和虛擬客戶機(jī)的概念;圖6為一個(gè)流程圖,表示接收到來自客戶機(jī)的報(bào)文時(shí)網(wǎng)關(guān)的操作;圖7為到達(dá)多臺(tái)客戶機(jī)的流式數(shù)據(jù)的常規(guī)方法的框圖;圖8為為說明本發(fā)明之示例的框圖,以便與圖7進(jìn)行比較;圖9表示連接到一臺(tái)服務(wù)器的兩個(gè)網(wǎng)關(guān);圖10為一個(gè)流程圖,說明網(wǎng)關(guān)網(wǎng)絡(luò)均衡網(wǎng)絡(luò)負(fù)載的方式;圖11表示網(wǎng)關(guān)網(wǎng)絡(luò)的第一示例;圖12表示網(wǎng)關(guān)網(wǎng)絡(luò)的第二示例;以及圖13表示使用本發(fā)明以方便流式數(shù)據(jù)通過單點(diǎn)傳送域和多點(diǎn)傳送域的方式。
具體實(shí)施例方式
首先參照?qǐng)D4,該圖以一般形式表示本發(fā)明的基礎(chǔ)結(jié)構(gòu)。本發(fā)明基于以下思想,在一組用戶(如內(nèi)聯(lián)網(wǎng))的邊緣提供智能網(wǎng)關(guān),通過該網(wǎng)關(guān)傳送流式數(shù)據(jù)請(qǐng)求以及由此產(chǎn)生的數(shù)據(jù)流。正如將在下文中詳細(xì)說明的那樣,當(dāng)組內(nèi)的第二用戶或其他用戶向服務(wù)器請(qǐng)求正通過該網(wǎng)關(guān)向該組內(nèi)的第一用戶提供的流式數(shù)據(jù)時(shí),該網(wǎng)關(guān)識(shí)別一個(gè)用戶正在接收流式數(shù)據(jù)。該網(wǎng)關(guān)向第二用戶提供正向第一用戶傳送的數(shù)據(jù)流的副本,而不是將第二用戶的請(qǐng)求傳送到服務(wù)器。這意味著從服務(wù)器傳送到該網(wǎng)關(guān)的數(shù)據(jù)流只有一個(gè),并且只在比較容易獲得較寬帶寬的組內(nèi)或內(nèi)聯(lián)網(wǎng)內(nèi)需要多個(gè)數(shù)據(jù)流。
為實(shí)現(xiàn)上述設(shè)計(jì),該網(wǎng)關(guān)必須以虛擬服務(wù)器的形式,在該組的第二用戶和其他用戶前出現(xiàn),以至這些用戶認(rèn)為他們已連接到服務(wù)器,同時(shí)實(shí)際服務(wù)器將該網(wǎng)關(guān)看作一臺(tái)虛擬客戶機(jī),事實(shí)上,實(shí)際客戶機(jī)是該網(wǎng)關(guān)控制的組內(nèi)的用戶。圖5表示既是虛擬服務(wù)器又是虛擬客戶機(jī)的上述網(wǎng)關(guān)概念。
在本發(fā)明的典型實(shí)施方式中,可以使用將在下文中看到的RTSP命令來實(shí)現(xiàn)該實(shí)施方式。然而,應(yīng)該理解,本文使用的RTSP僅用于舉例目的,并且本發(fā)明同樣適用于其他形式的流式協(xié)議。然而,在詳細(xì)說明本發(fā)明之前,RTSP的簡(jiǎn)短論述是有幫助的,盡管熟練技術(shù)人員很樂意熟悉RTSP的全部協(xié)議。
RTSP是一種用于控制和傳送實(shí)時(shí)流式媒體的通信協(xié)議。有許多標(biāo)準(zhǔn)RTSP報(bào)文格式。RTSP報(bào)文的一般語法為{報(bào)文名}{URL}{協(xié)議版本}CRLF{參數(shù)}此類RTSP報(bào)文的示例為DESCRIBE rtsp//live.example.com/concert/audio RTSP/1.0Cseq321Acceptapplication/sdp,application/mheg此報(bào)文請(qǐng)求RTSP服務(wù)器使用會(huì)話描述協(xié)議(SDP)或多媒體和超媒體專家組(MHEG)格式,發(fā)送媒體內(nèi)容(rtsp//live.example.com/concert/audio)的描述。
應(yīng)答報(bào)文跟隨在各RTSP報(bào)文后。應(yīng)答報(bào)文的一般格式為{協(xié)議版本}{狀態(tài)碼}{原因狀態(tài)}CRLF{參數(shù)}因此,一個(gè)典型應(yīng)答報(bào)文可以為RTSP/1.0 200 OKCseq321一般而言,由于RTSP是面向會(huì)話的,所以RTSP服務(wù)器可以使用任意類型的數(shù)據(jù)包格式向RTSP客戶機(jī)發(fā)送媒體數(shù)據(jù)。中間網(wǎng)絡(luò)設(shè)備并不太關(guān)心用于發(fā)送媒體數(shù)據(jù)的數(shù)據(jù)包格式,這是由于RTSP報(bào)文包含所有需要的網(wǎng)絡(luò)端口信息的緣故。因此,RTSP可以支持不同的數(shù)據(jù)包格式,如標(biāo)準(zhǔn)實(shí)時(shí)傳輸協(xié)議(RTP),和專有數(shù)據(jù)傳輸協(xié)議。可以使用多點(diǎn)傳送用戶數(shù)據(jù)報(bào)協(xié)議(UDP)、單點(diǎn)傳送UDP、或內(nèi)嵌TCP(其間有RTSP控制流的數(shù)據(jù))傳輸數(shù)據(jù)包。
現(xiàn)在轉(zhuǎn)到圖5所示的實(shí)施方式,首先,組內(nèi)的第一用戶(C1)通過網(wǎng)關(guān)(ISG),向服務(wù)器(S)請(qǐng)求特定視頻或音頻流。此請(qǐng)求可以如下RTSP術(shù)語的方式出現(xiàn)C1→ISG→SDESCRIBE rtsp//live.example.com/concert/audio RTSP/1.0Cseq1然后,服務(wù)器通過網(wǎng)關(guān)應(yīng)答客戶機(jī)的請(qǐng)求。
S→ISG→C1RTSP/1.0 200 OKContent-typeapplication/sdpContent-length44......media format description......
接著,客戶機(jī)向服務(wù)器發(fā)送SETUP命令,并指出流式數(shù)據(jù)將要發(fā)送到的端口C1→ISG→SSETUP rtsp//live.example.com/concert/audio RTSP/1.0Cseq2TransportRTP/AVP/UDP;unicast;client_port=6970-6971;mode=play服務(wù)器進(jìn)行確認(rèn),同時(shí)分配標(biāo)識(shí)會(huì)話號(hào)。
S→ISG→C1RTSP/1.0 200 OKTransportRTP/AVP/UDP;unicast;client_port=6970-6971;mode=playCseq2Session048831現(xiàn)在,可以開始傳輸流式數(shù)據(jù),并且客戶機(jī)通過網(wǎng)關(guān)向服務(wù)器發(fā)送paly(播放)命令。
C1→ISG→SPLAY rtsp//live.example.com/concert/audio RTSP/1.0Cseq3
Session048831然后,服務(wù)器開始通過網(wǎng)關(guān)向客戶機(jī)傳輸流式數(shù)據(jù)。
S→ISG→C1RTSP/1.0 200 OKCseq3Session048831在以上對(duì)話中,網(wǎng)關(guān)建立相應(yīng)的數(shù)據(jù)庫,同時(shí)路由客戶機(jī)和服務(wù)器之間的報(bào)文,并通過網(wǎng)關(guān)發(fā)送由此產(chǎn)生的流式數(shù)據(jù)。由于通過網(wǎng)關(guān)將第一客戶機(jī)的命令報(bào)文轉(zhuǎn)發(fā)到服務(wù)器,所以相對(duì)于服務(wù)器,網(wǎng)關(guān)以客戶機(jī)的形式出現(xiàn)。
然而,當(dāng)?shù)诙蛻魴C(jī)(C2)向服務(wù)器(S)請(qǐng)求相同的流式數(shù)據(jù)時(shí),可以從下文中看出,網(wǎng)關(guān)(ISG)的角色改變。在此情況中,第二客戶機(jī)的請(qǐng)求與第一客戶機(jī)的請(qǐng)求相同,但是,網(wǎng)關(guān)檢查存儲(chǔ)器中正通過該網(wǎng)關(guān)傳送的所有數(shù)據(jù)流,如果發(fā)現(xiàn)正向第一客戶機(jī)提供第二客戶機(jī)請(qǐng)求的數(shù)據(jù)流,則該網(wǎng)關(guān)接管服務(wù)器的功能,事實(shí)上,該服務(wù)器決不會(huì)看到第二客戶機(jī)的命令報(bào)文。請(qǐng)注意,在下文中,正如通過網(wǎng)關(guān)在第一客戶機(jī)和服務(wù)器之間發(fā)送命令報(bào)文一樣,在第二客戶機(jī)和該網(wǎng)關(guān)之間發(fā)送相同的命令報(bào)文,因此,相對(duì)于第二客戶機(jī),該網(wǎng)關(guān)以服務(wù)器的形式出現(xiàn)。
C2→ISG DESCRIBE rtsp//live.example.com/concert/audio RTSP/1.0Cseq1ISG→C2 RTSP/1.0 200 OKContent-typeapplication/sdpContent-length44......media format description......
C2→ISG SETUP rtsp//live.example.com/concert/audio RTSP/1.0
Cseq2TransportRTP/AVP/UDP;unicast;client_port=6970-6971;mode=playISG→C2 RTSP/1.0 200 OKTransportRTP/AVP/UDP;unicast;client_port=6970-6971;mode=playCseq2Session048831C2→ISG PLAY rtsp//live.example.com/concert/audio RTSP/1.0Cseq3Session048831ISG→C2 RTSP/1.0 200 OKCseq3Session048831圖6為一個(gè)示意流程圖,表示本發(fā)明之上述實(shí)施方式中ISG的運(yùn)行方式。ISG監(jiān)聽其客戶機(jī)和服務(wù)器的流式報(bào)文和請(qǐng)求,并且特別監(jiān)聽新客戶機(jī)的請(qǐng)求。如果該報(bào)文來自新客戶機(jī),則ISG確定是否是已有流式媒體的請(qǐng)求。如果不是,即該請(qǐng)求是新的數(shù)據(jù)流請(qǐng)求,則將一個(gè)條目插入到列出當(dāng)前正在提供的所有數(shù)據(jù)流的表中,然后修改該請(qǐng)求并發(fā)送到服務(wù)器。如果請(qǐng)求已輸入到表中的數(shù)據(jù)流,即請(qǐng)求正向該ISG之另一客戶機(jī)提供的數(shù)據(jù)流,則定位該數(shù)據(jù)流,并以如下方式另外向新客戶機(jī)提供,同時(shí)該ISG作為代理服務(wù)器。
為了實(shí)現(xiàn)此算法,該ISG可安裝有,用于接收到第二或后繼請(qǐng)求時(shí),復(fù)制數(shù)據(jù)流的數(shù)據(jù)包,然后將以上復(fù)制的數(shù)據(jù)包定向到第二或后繼客戶機(jī)的裝置。然而,ISG的處理能力難以承擔(dān)上述處理,特別是其服務(wù)的客戶機(jī)的數(shù)量開始顯著增加時(shí)。實(shí)際上,此類方法面臨嚴(yán)重的伸縮性問題。因此,ISG最好安裝有,如下所述的用于改變從服務(wù)器傳輸?shù)娇蛻魴C(jī)的數(shù)據(jù)包的傳輸模式的裝置。
在本發(fā)明的最佳實(shí)施方式中,通過使用獨(dú)創(chuàng)的應(yīng)用編程接口(API)—類似于Berkeley socket—一種面向?qū)ο缶幊汰h(huán)境中的接口對(duì)象類,實(shí)現(xiàn)上述處理。上述獨(dú)創(chuàng)的API包含以下對(duì)象和數(shù)據(jù)輸入套接字類,輸出套接字類,操作方法,和附加數(shù)據(jù)或緩存器。然而,在本例中,使用的唯一操作方法是,通過輸出套接字立即發(fā)送從輸入套接字接收的數(shù)據(jù)包。
可以理解,通過聯(lián)合不同的輸入輸出套接字,可以開發(fā)四種主要類型的套接字(a)單點(diǎn)傳送到多點(diǎn)傳送(u到m),其中以多點(diǎn)傳送數(shù)據(jù)包方式,將輸入的單點(diǎn)傳送數(shù)據(jù)包輸出到一組用戶;(b)多點(diǎn)傳送到多點(diǎn)傳送(m到m),其中以多點(diǎn)傳送數(shù)據(jù)包方式,將一組用戶的輸入數(shù)據(jù)包輸出到另一組用戶;(c)多點(diǎn)傳送到單點(diǎn)傳送(m到u),其中以單點(diǎn)傳送數(shù)據(jù)包方式,將一組用戶的輸入輸出到一個(gè)用戶;以及(d)單點(diǎn)傳送到單點(diǎn)傳送(u到u),其中以單點(diǎn)傳送數(shù)據(jù)包方式,輸出輸入的單點(diǎn)傳送數(shù)據(jù)包。
如下所述,可以使用上述API實(shí)現(xiàn)本發(fā)明,特別是,不管希望接收特定數(shù)據(jù)流的客戶機(jī)的數(shù)量,均能夠提供ISG內(nèi)所需的數(shù)據(jù)流的復(fù)制,而不會(huì)遇到伸縮性問題。特別是,ISG從服務(wù)器接收的數(shù)據(jù)包是單點(diǎn)傳送數(shù)據(jù)包。如果ISG確定希望接收同一數(shù)據(jù)流的多臺(tái)客戶機(jī)需要這些數(shù)據(jù)包,則使用u到m格式的第一API,將該數(shù)據(jù)包的地址,改變?yōu)榕c希望接收該數(shù)據(jù)的客戶機(jī)相對(duì)應(yīng)的、唯一的多點(diǎn)傳送D類地址。將生存時(shí)間(TTL)的值設(shè)置為零,以避免所復(fù)制的數(shù)據(jù)包離開ISG,涌入該ISG服務(wù)的網(wǎng)絡(luò)。通過利用邏輯多點(diǎn)傳送環(huán)立即回送該數(shù)據(jù)包,復(fù)制u到mAPI接收的單點(diǎn)傳送數(shù)據(jù)包。
同時(shí),如果客戶機(jī)位于單點(diǎn)傳送網(wǎng)絡(luò)中,則提供一組第二API,其中每個(gè)第二API向各自的客戶機(jī)提供一個(gè)輸出,并且各第二API均為m到u格式。第二API監(jiān)聽具有第一API分配的D類地址的數(shù)據(jù)包,然后以單點(diǎn)傳送數(shù)據(jù)包的方式,向其各自的客戶機(jī)傳輸所有此類數(shù)據(jù)包。請(qǐng)注意,當(dāng)客戶機(jī)位于單點(diǎn)傳送網(wǎng)絡(luò)域時(shí),使用m到u形式的API,但是,如果客戶機(jī)位于多點(diǎn)傳送網(wǎng)絡(luò)域,則可以使用m到m形式的API,其中輸出數(shù)據(jù)包的多點(diǎn)傳送地址與客戶機(jī)組相對(duì)應(yīng)。
圖7和圖8表示與常規(guī)裝置(圖7)相比本發(fā)明(圖8)的示例,其中建立并實(shí)現(xiàn)了上述兩種裝置。
在圖7所示的常規(guī)裝置中,當(dāng)只有一臺(tái)客戶機(jī)時(shí),能夠獲得完美的可接受的結(jié)果。在該用戶的兩個(gè)接口消耗大約200kbps的帶寬。然而,當(dāng)有第二客戶機(jī)時(shí),該用戶的輸入接口需要400kbps的帶寬,這超過了正常的300kbps的可用帶寬,并且兩臺(tái)客戶機(jī)上的流式數(shù)據(jù)的質(zhì)量均開始惡化。當(dāng)然,當(dāng)有三臺(tái)或更多臺(tái)客戶機(jī)時(shí),以上問題會(huì)更糟。
圖8表示本發(fā)明的示例,其中ISG位于路由器和客戶機(jī)之間。我們測(cè)試了兩種不同類型的ISG,一種使用帶有128Mb Ram的英特爾奔騰III 500MHZ,另一種使用英特爾奔騰90Mhz和32Mb RAM。第一個(gè)示例能夠支持200臺(tái)客戶機(jī)同時(shí)接收相同的200kbps的數(shù)據(jù)流,即使功能較弱的第二示例也能支持20臺(tái)客戶機(jī)。
盡管使用根據(jù)本發(fā)明之某一實(shí)施方式的ISG能夠降低帶寬需求,其中為了能夠服務(wù)該ISG域內(nèi)的所有客戶機(jī),只需從服務(wù)器到該ISG的單一數(shù)據(jù)流,但是,當(dāng)服務(wù)不同客戶機(jī)組的許多ISG,為滿足該ISG服務(wù)的組內(nèi)的客戶機(jī)的需求而分別向服務(wù)器請(qǐng)求數(shù)據(jù)流時(shí),仍然會(huì)出現(xiàn)非常普遍的流式傳輸帶寬問題和伸縮性問題。圖9表示此種情況。圖9表示僅服務(wù)兩個(gè)ISG的服務(wù)器—一種可以完全接受的情況—當(dāng)大量ISG進(jìn)行相同請(qǐng)求時(shí),可能再次出現(xiàn)帶寬問題(特別是國際帶寬問題)。
本發(fā)明的另一實(shí)施方式起因于觀察,由于ISG以代理服務(wù)器的形式出現(xiàn)在其客戶機(jī)前,所以一個(gè)ISG也可以作為另一個(gè)ISG的代理服務(wù)器。因此,一個(gè)ISG無需直接從服務(wù)器獲得數(shù)據(jù)流,而是可以從另一個(gè)ISG獲得數(shù)據(jù)流。因此,如下所述,在本發(fā)明的最佳實(shí)施方式中,可以開發(fā)分布式動(dòng)態(tài)負(fù)載均衡協(xié)議,其中ISG無需獲得數(shù)據(jù)流,而是從另一個(gè)ISG獲得該數(shù)據(jù)流,選擇請(qǐng)求服務(wù)器還是請(qǐng)求另一個(gè)ISG(在該情況中,選擇哪個(gè)ISG)取決于服務(wù)器和ISG的負(fù)載。
在本發(fā)明的上述實(shí)施方式中,當(dāng)將某個(gè)ISG添加到網(wǎng)絡(luò)中時(shí),該ISG包含帶有各ISG之IP地址的所有相臨ISG的列表。可以在設(shè)置過程中手工輸入此信息。同時(shí),各ISG建立一個(gè)可用性數(shù)據(jù)庫,后者表示可從哪個(gè)ISG獲得哪些數(shù)據(jù)流。此類數(shù)據(jù)庫可具有以下格式

在以上示例中,可以看出,對(duì)于rtsp//live.example.com/concert/audio.rm,該數(shù)據(jù)流只有一個(gè)可能的信源(除服務(wù)器之外),該信源為具有位置143.89.14.111的ISG。對(duì)于數(shù)據(jù)流rtsp//live.example.com/concert/video.rm,有兩個(gè)可能的信源,即具有地址143.89.14.101和143.89.14.231的ISG。
另一個(gè)數(shù)據(jù)庫記錄與通過ISG傳送的各種數(shù)據(jù)流相對(duì)應(yīng)的連接,特別是,與正在處理該數(shù)據(jù)流的ISG中的u到mAPI為各數(shù)據(jù)流指定的D類多點(diǎn)傳送地址相對(duì)應(yīng)的連接。例如,此數(shù)據(jù)庫可以為

同時(shí),連接計(jì)數(shù)器記錄在任何時(shí)候通過ISG傳送的數(shù)據(jù)流的總數(shù)。
依靠如下所述的報(bào)告協(xié)議,由所有其他相臨的ISG持續(xù)更新位于各ISG中的上述數(shù)據(jù)庫。當(dāng)各ISG接收到特定流式內(nèi)容的第一數(shù)據(jù)包時(shí),利用REPORT(報(bào)告)報(bào)文通知所有相臨的ISG,REPORT報(bào)文給出該內(nèi)容的URL地址,以及ISG的IP地址。REPORT報(bào)文的格式為“REPORT URL,IP”,其中URL是流式內(nèi)容的絕對(duì)RTSP URL地址,而IP則是生成該報(bào)告報(bào)文的ISG的IP地址。當(dāng)某個(gè)相鄰的ISG接收到REPORT報(bào)文時(shí),將內(nèi)容地址以及正在接收該內(nèi)容的ISG的信息輸入到可用性數(shù)據(jù)庫中,并添加其IP地址作為該內(nèi)容的另一個(gè)可能信源。
當(dāng)接收到ISG之某一客戶機(jī)對(duì)該ISG并未處理的數(shù)據(jù)流的請(qǐng)求時(shí),可用性數(shù)據(jù)庫允許該ISG了解能夠從何處獲得流式內(nèi)容。然而,對(duì)于將要實(shí)現(xiàn)的本發(fā)明的負(fù)載均衡協(xié)議而言,必須設(shè)計(jì)能夠使ISG確定該ISG應(yīng)使用哪個(gè)流式內(nèi)容信源的算法。該算法考慮以下三個(gè)因素。
1.ISG的負(fù)載率,其定義為現(xiàn)有連接數(shù)/最大的可用連接數(shù)。
2.表示ISG正在接收的任意流式內(nèi)容之質(zhì)量的質(zhì)量指標(biāo)。其定義為觀察的實(shí)際位速率/特定流式內(nèi)容的期望位速率。
3.兩個(gè)ISG之間的通信延遲。
考慮上述因素的原因在于,一個(gè)ISG并不希望從另一個(gè)其負(fù)載已經(jīng)很重,或者其處理的流式內(nèi)容質(zhì)量不高,抑或與其之間的通信延遲較高的ISG,提供流式內(nèi)容。
各ISG以QUERY URL的形式,向每個(gè)相鄰ISG發(fā)送一個(gè)QUERY(查詢)報(bào)文,以查詢上述因素的值,而接收此查詢的ISG,借助查詢應(yīng)答QUERYRET URL,load,quality,latency,立即應(yīng)答以上所列的三個(gè)因素1到3的值,然后,以該結(jié)果作為基礎(chǔ),使用圖10所示算法的流程圖,由ISG確定從何處提供流式內(nèi)容。
如圖10所示,當(dāng)ISG接收到流式內(nèi)容請(qǐng)求時(shí),其第一步是判斷該ISG內(nèi)是否存在該流式內(nèi)容。如果存在,則該ISG只需以上述方式將新客戶機(jī)添加到正在接收流式內(nèi)容的組中。若不然,則該ISG確定流式內(nèi)容服務(wù)器與該ISG是否在同一網(wǎng)絡(luò)域中。如果其回答為yes,則該ISG可以直接從服務(wù)器獲得流式內(nèi)容。然而,如果其回答為no,則該ISG檢查可用性數(shù)據(jù)庫,以確定能否從任一相鄰ISG獲得該流式內(nèi)容。如果其判斷結(jié)果為yes,則該ISG請(qǐng)求可能信源,其方法是,除去已經(jīng)過載的信源,查找其質(zhì)量指標(biāo)為1(或最接近1)的ISG,如果有多個(gè)質(zhì)量指標(biāo)為1的相鄰ISG,則選擇負(fù)載最低的ISG,并且如果需要的話,使用最小延遲以進(jìn)一步區(qū)分可能信源。
如果相鄰ISG沒有該流式內(nèi)容,則第一ISG重復(fù)搜索,但通過ISG遠(yuǎn)離一步,直至找到合適信源。如果找不到合適信源,則第一ISG可以直接向服務(wù)器請(qǐng)求流式內(nèi)容。
圖11為表示本實(shí)施方式之工作方式的簡(jiǎn)單示例。在本例中,有一臺(tái)服務(wù)器,4個(gè)ISG和8臺(tái)客戶機(jī)。從服務(wù)器到第一ISG的數(shù)據(jù)流只有一個(gè)。第一ISG并不服務(wù)其本身的客戶機(jī),而是向第二和第三ISG提供流式內(nèi)容。第二和第三ISG同時(shí)服務(wù)其本身的三臺(tái)客戶機(jī),而第三ISG還服務(wù)具有兩臺(tái)客戶機(jī)的第四ISG。本實(shí)施方式允許單一數(shù)據(jù)流的分布式負(fù)載均衡復(fù)制。圖12表示本實(shí)施方式的另一示例,其中由多個(gè)ISG構(gòu)成內(nèi)容傳送網(wǎng)絡(luò)。在圖12的示例中,媒體服務(wù)器能夠以非常有效的方式同時(shí)向建筑A和B提供流式內(nèi)容,其中媒體服務(wù)器本身僅傳輸一個(gè)流式內(nèi)容。
本發(fā)明的另一優(yōu)點(diǎn)在于,本發(fā)明允許多個(gè)域上的高性能流式數(shù)據(jù),其中多個(gè)域中的某些域允許多點(diǎn)傳送,而另一些則不允許多點(diǎn)傳送。正如從上文中看到的那樣,原則上,多點(diǎn)傳送技術(shù)對(duì)多個(gè)應(yīng)用是非常理想的,但實(shí)際上有許多問題,這是因?yàn)椴⒉皇敲總€(gè)網(wǎng)絡(luò)域都允許多點(diǎn)傳送傳輸,并且當(dāng)常規(guī)多點(diǎn)傳送傳輸遇到單點(diǎn)傳送域時(shí),將嚴(yán)重阻塞。
依靠本發(fā)明的實(shí)施方式,流式數(shù)據(jù)可以通過單點(diǎn)傳送域和多點(diǎn)傳送域,這是因?yàn)榭梢栽诓煌虻倪吔缟显O(shè)置ISG,以至ISG內(nèi)的API通過使用合適的u到m和m到uAPI,將數(shù)據(jù)包類型從單點(diǎn)傳送轉(zhuǎn)換為多點(diǎn)傳送,或相反。圖13表示以上處理,其中通過擴(kuò)展到單點(diǎn)傳送網(wǎng)絡(luò)域和多點(diǎn)傳送網(wǎng)絡(luò)域的ISG網(wǎng)絡(luò),傳輸流式內(nèi)容。在單點(diǎn)傳送和多點(diǎn)傳送網(wǎng)絡(luò)之間的邊界上,使用u到mAPI將數(shù)據(jù)包從單點(diǎn)傳送改變?yōu)槎帱c(diǎn)傳送,而在多點(diǎn)傳送網(wǎng)絡(luò)域和單點(diǎn)傳送網(wǎng)絡(luò)域之間的邊界上,使用m到uAPI將數(shù)據(jù)包從多點(diǎn)傳送改變?yōu)閱吸c(diǎn)傳送。一般而言,在兩個(gè)單點(diǎn)傳送域或兩個(gè)多點(diǎn)傳送域的邊界上,無需改變,但是如果需要的話,可以將一個(gè)多點(diǎn)傳送組的多點(diǎn)傳送地址,改變?yōu)榱硪唤M的多點(diǎn)傳送地址。
權(quán)利要求
1.用于從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的裝置,該裝置包括,位于所述服務(wù)器和所述客戶機(jī)之間的網(wǎng)關(guān),其中所述網(wǎng)關(guān)包括(a)當(dāng)接收到來自任何一所述客戶機(jī)的對(duì)于流式媒體的第一請(qǐng)求時(shí),從所述服務(wù)器獲取流式數(shù)據(jù)的裝置,以及(b)從所述網(wǎng)關(guān)向請(qǐng)求所述流式媒體的第二和后繼客戶機(jī)提供所述流式媒體的裝置。
2.根據(jù)權(quán)利要求1的裝置,其中所述網(wǎng)關(guān)包括以下裝置,用于維護(hù)當(dāng)前正向所述網(wǎng)關(guān)之客戶機(jī)提供的所有流式媒體的列表的裝置,以及用于比較來自某一客戶的流式媒體請(qǐng)求與所述列表的裝置,如果請(qǐng)求的流式媒體不在所述列表上,則從所述服務(wù)器獲得所述流式媒體,如果請(qǐng)求的流式媒體在所述列表上,則從該網(wǎng)關(guān)向該客戶機(jī)提供所述流式媒體。
3.根據(jù)權(quán)利要求2的裝置,其中所述網(wǎng)關(guān)包含軟件接口裝置,該裝置用于更改所述流式媒體的數(shù)據(jù)包的地址類型,從而當(dāng)希望向客戶機(jī)提供流式媒體時(shí),將輸入到所述網(wǎng)關(guān)的數(shù)據(jù)包轉(zhuǎn)換為多點(diǎn)傳送地址類型,以便向正在請(qǐng)求所述數(shù)據(jù)流的所有所述客戶機(jī)提供內(nèi)容。
4.根據(jù)權(quán)利要求3的裝置,其中通過提供一個(gè)邏輯多點(diǎn)傳送回環(huán),提供用于復(fù)制將向多臺(tái)客戶機(jī)提供的所述數(shù)據(jù)包的裝置,其中將生存時(shí)間(TTL)設(shè)置為零。
5.根據(jù)權(quán)利要求4的裝置,其中在復(fù)制所述數(shù)據(jù)包后,在輸出到所述客戶機(jī)之前,第二軟件接口將所述復(fù)制的數(shù)據(jù)包的地址類型,從多點(diǎn)傳送改回到單點(diǎn)傳送。
6.根據(jù)權(quán)利要求4的裝置,其中在復(fù)制所述數(shù)據(jù)包后,在輸出到所述客戶機(jī)之前,第二軟件接口將所述復(fù)制的數(shù)據(jù)包的地址類型,改變?yōu)榈诙帱c(diǎn)傳送地址,其中所述第二多點(diǎn)傳送地址,與作為支持多點(diǎn)傳送的網(wǎng)絡(luò)內(nèi)的一個(gè)組的所述客戶機(jī)相對(duì)應(yīng)。
7.用于從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的裝置,該裝置包括位于所述服務(wù)器和所述客戶機(jī)之間的許多網(wǎng)關(guān),各所述客戶機(jī)與一個(gè)所述網(wǎng)關(guān)關(guān)聯(lián),其中各所述網(wǎng)關(guān)安裝有,當(dāng)接收到所述流式媒體的第一請(qǐng)求時(shí),從某臺(tái)服務(wù)器或從另一網(wǎng)關(guān)提供數(shù)據(jù)流的裝置,以及向第二或后繼客戶機(jī)提供正向第一客戶機(jī)提供的數(shù)據(jù)流的裝置,其中各所述網(wǎng)關(guān)安裝有以下裝置,即當(dāng)接收到客戶機(jī)的數(shù)據(jù)流請(qǐng)求時(shí),判斷所述網(wǎng)關(guān)自己能否提供該數(shù)據(jù)流的裝置,以及當(dāng)所述網(wǎng)關(guān)自己不能提供數(shù)據(jù)流時(shí),判斷是否存在可從其獲得所述數(shù)據(jù)流的相鄰網(wǎng)關(guān)的裝置。
8.根據(jù)權(quán)利要求7的裝置,其中各所述網(wǎng)關(guān)包括所有相鄰網(wǎng)關(guān)的列表,列出所述相鄰網(wǎng)關(guān)正在提供的所有數(shù)據(jù)流的數(shù)據(jù)庫,以及所述網(wǎng)關(guān)正在提供的所有數(shù)據(jù)流的數(shù)據(jù)庫。
9.根據(jù)權(quán)利要求8的裝置,其中當(dāng)各所述網(wǎng)關(guān)開始提供新的數(shù)據(jù)流時(shí),向各所述相鄰網(wǎng)關(guān)報(bào)告。
10.根據(jù)權(quán)利要求8的裝置,其中各所述網(wǎng)關(guān)可安裝有,在兩個(gè)或多個(gè)可能網(wǎng)關(guān)之間選擇作為客戶請(qǐng)求的數(shù)據(jù)流的信源的裝置。
11.根據(jù)權(quán)利要求10的裝置,其中所述選擇裝置從所述可能的信源網(wǎng)關(guān)中進(jìn)行選擇,其方法是,首先除去處在或超過最大負(fù)載的可能信源,然后再以所述可能的信源網(wǎng)關(guān)可以提供的數(shù)據(jù)流的質(zhì)量、所述可能的信源網(wǎng)關(guān)的負(fù)載、以及所述可能的信源網(wǎng)關(guān)與所述請(qǐng)求網(wǎng)關(guān)之間的通信延遲為基礎(chǔ),進(jìn)行選擇。
12.根據(jù)權(quán)利要求11的裝置,其中各所述網(wǎng)關(guān)安裝有用于查詢可能的信源網(wǎng)關(guān)之所述負(fù)載、數(shù)據(jù)流質(zhì)量和通信延遲的裝置。
13.根據(jù)權(quán)利要求12的裝置,其中在除去過載和最大負(fù)載的可能信源后,可能的信源網(wǎng)關(guān)提供的數(shù)據(jù)流的質(zhì)量,是選擇信源網(wǎng)關(guān)的第一標(biāo)準(zhǔn),當(dāng)數(shù)據(jù)流的質(zhì)量相同時(shí),信源網(wǎng)關(guān)的負(fù)載是將要使用的第二標(biāo)準(zhǔn),如果數(shù)據(jù)流的質(zhì)量和信源網(wǎng)關(guān)的負(fù)載均相同,則通信延遲是第三標(biāo)準(zhǔn)。
14.一種從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的方法,該方法包括定位所述服務(wù)器和所述客戶機(jī)之間的一個(gè)網(wǎng)關(guān),當(dāng)接收到任何一所述客戶機(jī)的數(shù)據(jù)流的第一請(qǐng)求時(shí),從所述服務(wù)器獲得流式數(shù)據(jù),以及從所述網(wǎng)關(guān)向請(qǐng)求所述數(shù)據(jù)流的第二和后繼客戶機(jī)提供所述數(shù)據(jù)流。
15.根據(jù)權(quán)利要求14的方法還包括以下步驟在所述網(wǎng)關(guān)中維護(hù)當(dāng)前正向所述網(wǎng)關(guān)之客戶機(jī)提供的所有流式媒體的列表,以及比較來自某一客戶的流式媒體請(qǐng)求與所述列表,如果請(qǐng)求的流式媒體不在所述列表上,則從所述服務(wù)器獲得請(qǐng)求的數(shù)據(jù)流,如果請(qǐng)求的流式媒體在所述列表上,則從該網(wǎng)關(guān)向該客戶機(jī)提供所述請(qǐng)求的數(shù)據(jù)流。
16.根據(jù)權(quán)利要求15的方法,其中當(dāng)需要向另一客戶機(jī)提供正向第一客戶機(jī)提供的數(shù)據(jù)流時(shí),將包含所述數(shù)據(jù)流的數(shù)據(jù)包的數(shù)據(jù)包地址類型轉(zhuǎn)變?yōu)槎帱c(diǎn)傳送地址,以便向正在請(qǐng)求所述數(shù)據(jù)流的所有客戶機(jī)提供。
17.根據(jù)權(quán)利要求16的方法還包括,利用邏輯多點(diǎn)傳送回環(huán)復(fù)制所述數(shù)據(jù)包,并將生存時(shí)間設(shè)置為零。
18.根據(jù)權(quán)利要求17的方法還包括,將所述復(fù)制的數(shù)據(jù)包的數(shù)據(jù)包地址類型轉(zhuǎn)變?yōu)閱吸c(diǎn)傳送地址,并向所述客戶機(jī)輸出所述復(fù)制的數(shù)據(jù)流。
19.根據(jù)權(quán)利要求17的方法,其中在復(fù)制數(shù)據(jù)包后,將所述復(fù)制的數(shù)據(jù)包的地址類型,改變?yōu)榕c希望接收所述數(shù)據(jù)流的客戶機(jī)相對(duì)應(yīng)的多點(diǎn)傳送地址,其中所述客戶機(jī)為支持多點(diǎn)傳送的網(wǎng)絡(luò)內(nèi)的一個(gè)組。
20.一種從一臺(tái)服務(wù)器向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的方法,該方法包括定位所述服務(wù)器和所述客戶機(jī)之間的多個(gè)網(wǎng)關(guān),其中各所述客戶機(jī)與一個(gè)所述網(wǎng)關(guān)關(guān)聯(lián),當(dāng)數(shù)據(jù)流的請(qǐng)求對(duì)所述網(wǎng)關(guān)而言是所述數(shù)據(jù)流的第一請(qǐng)求時(shí),從一臺(tái)服務(wù)器或另一個(gè)網(wǎng)關(guān)提供數(shù)據(jù)流,而當(dāng)?shù)诙蚝罄^客戶機(jī)請(qǐng)求正向第一客戶機(jī)提供的數(shù)據(jù)流時(shí),從所述網(wǎng)關(guān)向所述第二或后繼客戶機(jī)提供數(shù)據(jù)流。
21.根據(jù)權(quán)利要求20的方法,其中當(dāng)所述數(shù)據(jù)流的請(qǐng)求對(duì)網(wǎng)關(guān)而言是第一請(qǐng)求時(shí),所述網(wǎng)關(guān)確定是否存在可從其獲得所述數(shù)據(jù)流的相鄰網(wǎng)關(guān)。
22.根據(jù)權(quán)利要求20或21的方法,其中當(dāng)網(wǎng)關(guān)開始首次提供數(shù)據(jù)流時(shí),所述網(wǎng)關(guān)向所有相鄰網(wǎng)關(guān)報(bào)告它正在提供所述數(shù)據(jù)流。
23.根據(jù)權(quán)利要求21的方法,其中網(wǎng)關(guān)在作為所請(qǐng)求數(shù)據(jù)流的可能信源的兩個(gè)或多個(gè)網(wǎng)關(guān)中進(jìn)行選擇。
24.根據(jù)權(quán)利要求23的方法,其中在作為所述數(shù)據(jù)流的可能信源的兩個(gè)或多個(gè)網(wǎng)關(guān)中進(jìn)行選擇之前,網(wǎng)關(guān)向所述可能信源查詢可能的信源網(wǎng)關(guān)的負(fù)載、數(shù)據(jù)流的質(zhì)量和該網(wǎng)關(guān)與可能的信源網(wǎng)關(guān)之間的通信延遲。
25.根據(jù)權(quán)利要求24的方法,其中通過除去過載或最大負(fù)載的可能信源網(wǎng)關(guān),然后首先以數(shù)據(jù)流的質(zhì)量為基礎(chǔ),其次在數(shù)據(jù)流的質(zhì)量相同時(shí)以信源的負(fù)載為基礎(chǔ),最后在數(shù)據(jù)流的質(zhì)量和信源的負(fù)載均相同時(shí)以通信延遲為基礎(chǔ),進(jìn)行選擇。
26.一種面向?qū)ο蟓h(huán)境中的軟件接口應(yīng)用程序,該應(yīng)用程序包括將數(shù)據(jù)包的地址類型從(a)單點(diǎn)傳送改變?yōu)槎帱c(diǎn)傳送、或從(b)多點(diǎn)傳送改變?yōu)閱吸c(diǎn)傳送、或從(c)第一多點(diǎn)傳送地址改變?yōu)榈诙帱c(diǎn)傳送地址、或從(d)第一單點(diǎn)傳送地址改變?yōu)榈诙吸c(diǎn)傳送地址。
27.一種數(shù)據(jù)傳輸網(wǎng)絡(luò),該網(wǎng)絡(luò)包括許多網(wǎng)絡(luò)域,其中某些所述網(wǎng)絡(luò)域?yàn)閱吸c(diǎn)傳送域,而剩余的所述網(wǎng)絡(luò)域?yàn)槎帱c(diǎn)傳送域,所述網(wǎng)絡(luò)還包括許多位于邊界的網(wǎng)關(guān),并且至少位于單點(diǎn)傳送域和多點(diǎn)傳送域之間的邊界的所述網(wǎng)關(guān)安裝有軟件接口裝置,以便將數(shù)據(jù)包的地址類型從單點(diǎn)傳送改變?yōu)槎帱c(diǎn)傳送或相反。
28.一種包含許多網(wǎng)關(guān)的數(shù)據(jù)傳輸網(wǎng)絡(luò),各所述網(wǎng)關(guān)具有許多關(guān)聯(lián)客戶機(jī),其中各所述網(wǎng)關(guān)本身能夠充當(dāng)數(shù)據(jù)內(nèi)容的信源,并且能夠從另一個(gè)所述網(wǎng)關(guān)提供數(shù)據(jù)內(nèi)容。
全文摘要
一種向多臺(tái)客戶機(jī)提供流式數(shù)據(jù)的方法和裝置包括,在網(wǎng)絡(luò)邊緣提供智能網(wǎng)關(guān)。將網(wǎng)關(guān)設(shè)計(jì)為,如果該網(wǎng)絡(luò)內(nèi)的第二客戶機(jī)請(qǐng)求正向該網(wǎng)絡(luò)內(nèi)的第一客戶機(jī)提供的數(shù)據(jù)流,則由網(wǎng)關(guān)復(fù)制該數(shù)據(jù)流,而不是再次向服務(wù)器請(qǐng)求相同的數(shù)據(jù)流。可以聯(lián)合許多此類網(wǎng)關(guān),以構(gòu)成一個(gè)較大的負(fù)載均衡網(wǎng)絡(luò)。本發(fā)明的一個(gè)重要方面是網(wǎng)關(guān)中的軟件接口,該接口能夠?qū)?shù)據(jù)包的地址類型從單點(diǎn)傳送轉(zhuǎn)變?yōu)槎帱c(diǎn)傳送或相反。
文檔編號(hào)H04L12/66GK1345149SQ0112550
公開日2002年4月17日 申請(qǐng)日期2001年8月7日 優(yōu)先權(quán)日2000年8月7日
發(fā)明者許丕文, 曾憲國 申請(qǐng)人:香港科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1