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

用于多播協(xié)議的反饋機(jī)制的制作方法

文檔序號:12908109閱讀:178來源:國知局
用于多播協(xié)議的反饋機(jī)制的制作方法與工藝

本技術(shù)通常涉及用于多播的方法、裝置和系統(tǒng),并且尤其涉及優(yōu)化用于通信網(wǎng)絡(luò)的多播協(xié)議。



背景技術(shù):

在家庭、辦公建筑或戶外環(huán)境中存在數(shù)量上持續(xù)增長的具有處理和通信能力的設(shè)備,這種能力允許這樣的設(shè)備與其它處理設(shè)備和云服務(wù)進(jìn)行交互。作為“物聯(lián)網(wǎng)”(iot)的一部分,日常物品和相對小規(guī)模的處理設(shè)備可以相互連接并連接到中央平臺。例如,家庭中的加熱系統(tǒng)可以從各種溫度傳感器收集信息并且基于收集到的信息來控制加熱器的激活;工廠污染監(jiān)視傳感器可以從各種化學(xué)傳感器收集信息并且基于收集到的信息安排維護(hù);而保健提供商可以使用無線傳感器(諸如心率監(jiān)視器)來跟蹤患者在家時的健康。在上述情況下,數(shù)據(jù)一般使用機(jī)器對機(jī)器(m2m)通信技術(shù)轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)上的云服務(wù)。

在iot中或者在典型的m2m通信網(wǎng)絡(luò)中,設(shè)備(或節(jié)點(diǎn))使用路由方案與網(wǎng)絡(luò)內(nèi)的其它設(shè)備進(jìn)行通信。路由方案(諸如廣播和多播)可以啟用一對多或多對多分發(fā),這使得數(shù)據(jù)能夠同時被發(fā)送到多個設(shè)備。但是,在這些網(wǎng)絡(luò)中的設(shè)備可能傾向于具有較低的處理能力和較小的存儲器或較小的數(shù)據(jù)存儲容量。這些設(shè)備可能缺乏用戶接口,因?yàn)槔缇哂杏脩艚涌?諸如顯示器)的成本,或者因?yàn)轱@示器消耗太多的功率,或者由于設(shè)備本身的物理尺寸使得難以設(shè)置用戶接口。設(shè)備可能需要被配置為以便連接到iot或其它設(shè)備/服務(wù),但是可能缺乏或具有降低的用于直接在設(shè)備上進(jìn)行配置的能力。設(shè)備可能例如不具有反饋在網(wǎng)絡(luò)中使用的路由方案中的具體問題的能力。



技術(shù)實(shí)現(xiàn)要素:

描述了使得能夠提供關(guān)于多播協(xié)議的反饋的技術(shù)。

根據(jù)本技術(shù)的第一方面,提供了一種裝置,包括:數(shù)據(jù)貯存器,存儲與多播操作相關(guān)聯(lián)的至少一個可變參數(shù);通信模塊:使用存儲的可變參數(shù)向通信網(wǎng)絡(luò)中的多個節(jié)點(diǎn)多播數(shù)據(jù)分組;以及從所述多個節(jié)點(diǎn)中的節(jié)點(diǎn)接收多播數(shù)據(jù)分組的重傳版本,重傳的數(shù)據(jù)分組包括反饋數(shù)據(jù);以及至少一個處理器,耦合到所述數(shù)據(jù)貯存器和所述通信模塊以:使用所述反饋數(shù)據(jù)確定所述可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;響應(yīng)于所述反饋數(shù)據(jù)而修改所述可變參數(shù);以及將修改后的可變參數(shù)存儲在所述數(shù)據(jù)貯存器中。

根據(jù)本技術(shù)的第二方面,提供了一種用于重傳數(shù)據(jù)分組的裝置,該裝置包括:至少一個處理器;以及通信模塊,耦合到所述至少一個處理器以:從通信網(wǎng)絡(luò)中的源裝置接收第一多播數(shù)據(jù)分組;通過向第一多播數(shù)據(jù)分組添加反饋數(shù)據(jù)來修改第一多播數(shù)據(jù)分組,所述反饋數(shù)據(jù)指定與用于發(fā)送第一多播數(shù)據(jù)分組的多播操作相關(guān)聯(lián)的至少一個可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;以及重傳修改后的第一多播數(shù)據(jù)分組。

根據(jù)本技術(shù)的第三方面,提供了一種通信網(wǎng)絡(luò),包括:源設(shè)備,包括存儲與多播操作相關(guān)聯(lián)的至少一個可變參數(shù)的數(shù)據(jù)貯存器、至少一個處理器以及耦合到存儲器和處理器的通信模塊,以:使用存儲的可變參數(shù)向所述網(wǎng)絡(luò)中的多個節(jié)點(diǎn)設(shè)備多播數(shù)據(jù)分組;以及節(jié)點(diǎn)設(shè)備,包括至少一個處理器以及耦合到所述至少一個處理器的通信模塊,以:從所述源裝置接收所述數(shù)據(jù)分組,通過向所述數(shù)據(jù)分組添加反饋數(shù)據(jù)來修改所述數(shù)據(jù)分組,所述反饋數(shù)據(jù)指定用于發(fā)送數(shù)據(jù)分組的多播操作的最少一個可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;以及重傳修改后的數(shù)據(jù)分組;以及其中源設(shè)備通信模塊:從所述節(jié)點(diǎn)設(shè)備接收修改后的數(shù)據(jù)分組;使用反饋數(shù)據(jù)確定至少一個可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;響應(yīng)于反饋數(shù)據(jù)而修改可變參數(shù);以及將修改后的可變參數(shù)存儲在數(shù)據(jù)貯存器中。

根據(jù)本技術(shù)的第四方面,提供一種優(yōu)化操作的方法,該方法包括:使用多播操作和與所述多播操作相關(guān)聯(lián)的至少一個可變參數(shù),將數(shù)據(jù)分組多播到通信網(wǎng)絡(luò)中的多個節(jié)點(diǎn);從所述多個節(jié)點(diǎn)中的節(jié)點(diǎn)接收多播數(shù)據(jù)分組的重傳版本,重傳的數(shù)據(jù)分組包括反饋數(shù)據(jù);使用所述反饋數(shù)據(jù)確定所述可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;響應(yīng)于反饋數(shù)據(jù)而修改可變參數(shù);以及存儲修改后的可變參數(shù)。

根據(jù)本技術(shù)的第五方面,提供了一種裝置,包括用于存儲與多播操作相關(guān)聯(lián)的至少一個可變參數(shù)的部件;用于使用存儲的可變參數(shù)向通信網(wǎng)絡(luò)中的多個節(jié)點(diǎn)多播數(shù)據(jù)分組的部件;用于從所述多個節(jié)點(diǎn)中的節(jié)點(diǎn)接收多播數(shù)據(jù)分組的重傳版本的部件,重傳的數(shù)據(jù)分組包括反饋數(shù)據(jù);以及用于使用所述反饋數(shù)據(jù)確定所述可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作以及用于響應(yīng)于所述反饋數(shù)據(jù)而修改可變參數(shù)的部件。

如本領(lǐng)域技術(shù)人員將理解的,本技術(shù)可以實(shí)施為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本技術(shù)可以采取完全硬件實(shí)施例、完全軟件實(shí)施例或組合軟件和硬件方面的實(shí)施例的形式。

此外,本技術(shù)可以采取在其上實(shí)施的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是例如但不限于電、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或前述的任意合適組合。

用于執(zhí)行本技術(shù)的操作的計(jì)算機(jī)程序代碼可以用一種或多種編程語言的任意組合來編寫,包括面向?qū)ο蟮木幊陶Z言和常規(guī)的過程性編程語言。代碼組件可以被實(shí)施為過程、方法等,并且可以包括可以采用任何抽象級別的指令或指令序列形式(從本地指令集的直接機(jī)器指令到高級編譯或解釋的語言結(jié)構(gòu))的子組件。

附圖說明

這些技術(shù)通過示例的方式在附圖中示意性地示出,其中:

圖1示出了通信網(wǎng)絡(luò)的示意圖;

圖2示出了響應(yīng)于反饋數(shù)據(jù)而修改多播操作的一般步驟的流程圖;

圖3示出了響應(yīng)于反饋數(shù)據(jù)而修改多播操作的具體步驟的流程圖;

圖4示出了響應(yīng)于接收到錯誤消息或建議的參數(shù)而修改多播操作的一般步驟的流程圖;

圖5示出了由節(jié)點(diǎn)設(shè)備執(zhí)行以對多播處理提供反饋數(shù)據(jù)的步驟的流程圖;

圖6示出了當(dāng)接收到多個反饋數(shù)據(jù)時由節(jié)點(diǎn)設(shè)備或源設(shè)備執(zhí)行的步驟的流程圖;以及

圖7示出了響應(yīng)于反饋數(shù)據(jù)而修改多播操作的步驟的示意圖。

具體實(shí)施方式

廣義地說,本技術(shù)的實(shí)施例提供了優(yōu)化用于在通信網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)分組的多播操作的裝置、系統(tǒng)和方法。

術(shù)語“數(shù)據(jù)分組”在本文中與術(shù)語“消息”和“分組”可互換使用。術(shù)語“源裝置”在本文中與術(shù)語“裝置”、“源設(shè)備”、“源”、“發(fā)送者”、“發(fā)送者設(shè)備”、“根設(shè)備”、“發(fā)送器”、“發(fā)送器裝置”和“發(fā)送設(shè)備”可互換使用。術(shù)語“節(jié)點(diǎn)裝置”在本文中與術(shù)語“裝置”、“節(jié)點(diǎn)”、“節(jié)點(diǎn)設(shè)備”、“受約束的節(jié)點(diǎn)”、“未約束的節(jié)點(diǎn)”、“較少約束的節(jié)點(diǎn)”、“轉(zhuǎn)發(fā)設(shè)備”、“接收器”、“接收器裝置”和“接收設(shè)備”可互換使用。本文使用的術(shù)語“通信網(wǎng)絡(luò)”一般是指由多個計(jì)算設(shè)備形成的計(jì)算機(jī)網(wǎng)絡(luò)或數(shù)據(jù)網(wǎng)絡(luò),其中在設(shè)備之間交換數(shù)據(jù)。通信網(wǎng)絡(luò)可以是網(wǎng)狀網(wǎng)絡(luò)、無線網(wǎng)狀網(wǎng)絡(luò)或受約束的/低功率無線網(wǎng)絡(luò)。

圖1示出了通信網(wǎng)絡(luò)10的示意圖,通信網(wǎng)絡(luò)10可以是網(wǎng)狀網(wǎng)絡(luò)或無線網(wǎng)狀網(wǎng)絡(luò)。通信網(wǎng)絡(luò)10可以是低功率且有損網(wǎng)絡(luò)(lln),可以以通信、計(jì)算、存儲器、數(shù)據(jù)貯存器和能量中的一個或多個中的嚴(yán)格資源約束來操作該通信網(wǎng)絡(luò)。通信網(wǎng)絡(luò)10包括至少一個源設(shè)備12。在實(shí)施例中,通信網(wǎng)絡(luò)10可以包括多個源設(shè)備12。源設(shè)備12使用至少多播操作將數(shù)據(jù)傳送到網(wǎng)絡(luò)10中的一個或多個節(jié)點(diǎn),并且可選地可以使用另外的通信方案(諸如單播、廣播和任播(anycasting))。多播協(xié)議可以定義由源設(shè)備12用來向節(jié)點(diǎn)傳送數(shù)據(jù)的多播操作的至少一部分。至少一個可變參數(shù)與多播操作相關(guān)聯(lián)。可變參數(shù)可以是由多播協(xié)議定義的參數(shù),和/或可以是與由源設(shè)備12實(shí)現(xiàn)的多播操作相關(guān)聯(lián)但不由多播協(xié)議定義的參數(shù)。由源設(shè)備12(以及網(wǎng)絡(luò)10中的任何其它設(shè)備)執(zhí)行的多播操作可以至少部分地基于用于在受約束的網(wǎng)絡(luò)中提供ipv6多播轉(zhuǎn)發(fā)的低功率且有損網(wǎng)絡(luò)(mpl)的多播協(xié)議。

源設(shè)備12或每個源設(shè)備12包括通信模塊12a,以使用至少多播協(xié)議發(fā)送和接收數(shù)據(jù)分組或數(shù)據(jù)信號,以發(fā)送數(shù)據(jù)分組。通信模塊12a可以是適合于發(fā)送和接收數(shù)據(jù)分組的任何通信模塊,或者可以是被配置為(或適用于)對數(shù)據(jù)分組進(jìn)行多播的通信模塊。通信模塊12a可能能夠(或被配置為):使用多播操作和存儲在源設(shè)備12中的與多播操作關(guān)聯(lián)的至少一個可變參數(shù),向通信網(wǎng)絡(luò)中的多個節(jié)點(diǎn)多播數(shù)據(jù)分組;并且從多個節(jié)點(diǎn)中的節(jié)點(diǎn)接收多播數(shù)據(jù)分組的重傳版本,該重傳的數(shù)據(jù)分組包括反饋數(shù)據(jù)。

通信模塊12a耦合到處理器12b和數(shù)據(jù)貯存器12c。處理器12b可以包括處理數(shù)據(jù)(例如,從網(wǎng)絡(luò)10中的其它設(shè)備或從外部網(wǎng)絡(luò)接收的數(shù)據(jù)信號和數(shù)據(jù)分組)以及響應(yīng)于該處理而生成輸出數(shù)據(jù)的處理邏輯。處理器12b可以包括微處理器、微控制器和集成電路中的一個或多個。處理器12b可以耦合到數(shù)據(jù)貯存器12c。數(shù)據(jù)貯存器12c可以包括用作臨時存儲器的易失性存儲器(諸如隨機(jī)存取存儲器(ram)),和/或用于存儲數(shù)據(jù)、程序或指令的非易失性存儲器(諸如閃存、只讀存儲器(rom)或電可擦除可編程rom(eeprom))。源數(shù)據(jù)貯存器12c可以存儲與可以由源12執(zhí)行的多播操作相關(guān)聯(lián)的至少一個可變參數(shù)。在實(shí)施例中,數(shù)據(jù)貯存器12c可以存儲定義至少一部分多播操作的多播協(xié)議(或多播協(xié)議設(shè)置)。至少一個可變參數(shù)被通信模塊12a用來使用多播操作將數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)中的節(jié)點(diǎn)。在優(yōu)選實(shí)施例中,數(shù)據(jù)貯存器12c可能能夠存儲(或者被配置為或適用于存儲)與多播操作相關(guān)聯(lián)的至少一個可變參數(shù)。如下面更詳細(xì)地解釋的,可變參數(shù)可以是多播協(xié)議參數(shù),或者可以是與由通信模塊12a實(shí)現(xiàn)的多播操作相關(guān)聯(lián)的但不由多播協(xié)議定義的參數(shù)。

處理器12b可能能夠(或者被配置為或適用于):使用反饋數(shù)據(jù)確定可變參數(shù)需要修改以優(yōu)化用于網(wǎng)絡(luò)的多播操作;響應(yīng)于反饋數(shù)據(jù)而修改可變參數(shù);并將修改后的可變參數(shù)存儲在數(shù)據(jù)貯存器12c中。附加地或替代地,通信模塊12a(或通信模塊12a和處理器12b的組合)可能能夠(或者被配置為或適用于)執(zhí)行這些動作中的一些或全部。通信模塊12a可以利用處理器12b執(zhí)行這些動作中的一些或全部,或者可以具有其自身的內(nèi)部處理器(未示出)來執(zhí)行這些動作中的一些或全部。

通信網(wǎng)絡(luò)10包括多個節(jié)點(diǎn),并且可以包括至少一個受約束的節(jié)點(diǎn)14,和/或至少一個未約束的節(jié)點(diǎn)16。受約束的節(jié)點(diǎn)14可以具有有限的存儲器/數(shù)據(jù)存儲和處理能力、可能在大部分時間睡眠,并且可以使用受約束的網(wǎng)絡(luò)技術(shù)來操作。受約束的節(jié)點(diǎn)14可能能夠(或者被配置為)接收多播數(shù)據(jù)分組(例如,經(jīng)由多播操作從源設(shè)備12發(fā)送的數(shù)據(jù)分組),并且可以被配置為將數(shù)據(jù)分組轉(zhuǎn)發(fā)到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn),由此將數(shù)據(jù)分組跨網(wǎng)絡(luò)10分發(fā)。每個受約束的節(jié)點(diǎn)14包括通信模塊14a,該通信模塊能夠(或者被配置為)接收數(shù)據(jù)分組并將數(shù)據(jù)分組發(fā)送(或重傳)到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)。具體地,通信模塊14a可能能夠(或者被配置為)接收多播數(shù)據(jù)分組(例如,從源設(shè)備發(fā)送的數(shù)據(jù)分組),并且將接收到的多播數(shù)據(jù)分組重傳到網(wǎng)絡(luò)中的其它節(jié)點(diǎn)。通信模塊14a可能能夠(或者被配置為)接收重傳的多播數(shù)據(jù)分組(例如,從其它節(jié)點(diǎn)設(shè)備),并且重傳接收到的經(jīng)重傳的數(shù)據(jù)分組。在實(shí)施例中,為了避免由于多次重傳相同的數(shù)據(jù)分組而泛洪(flooding)網(wǎng)絡(luò)10,通信模塊14a可以僅在如果已經(jīng)從源設(shè)備12接收到數(shù)據(jù)分組和/或如果經(jīng)由多播協(xié)議接收到數(shù)據(jù)分組的情況下,才重傳該數(shù)據(jù)分組。在這樣的實(shí)施例中,節(jié)點(diǎn)14可以不重傳從其它節(jié)點(diǎn)接收的數(shù)據(jù)分組。附加地或替代地,節(jié)點(diǎn)14可以被配置為檢查其是否已經(jīng)重傳了接收到的數(shù)據(jù)分組,如果是,則可以丟棄該數(shù)據(jù)分組,以避免重復(fù)的傳輸。

在實(shí)施例中,網(wǎng)絡(luò)10可以是低功率且有損網(wǎng)絡(luò)(lln),并且源設(shè)備12可以被配置為使用多播操作,該多播操作至少部分地由用于低功率且有損網(wǎng)絡(luò)的多播協(xié)議(例如,mpl協(xié)議)定義。在這樣的實(shí)施例中,源設(shè)備12可以生成符合多播協(xié)議的數(shù)據(jù)分組,并將數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)中的被配置為接收多播數(shù)據(jù)分組的一個或多個節(jié)點(diǎn)14、16。例如,受約束的節(jié)點(diǎn)14可以是實(shí)現(xiàn)mpl的設(shè)備,并且可以具有使得節(jié)點(diǎn)14能夠接收和發(fā)送符合mpl協(xié)議的數(shù)據(jù)分組的mpl接口。受約束的節(jié)點(diǎn)14可以被認(rèn)為是實(shí)現(xiàn)mpl的路由器,并且在本文中可以被稱為“mpl轉(zhuǎn)發(fā)器”、“轉(zhuǎn)發(fā)器”或“轉(zhuǎn)發(fā)設(shè)備”。

每個節(jié)點(diǎn)14的通信模塊14a可以使用任何合適的通信技術(shù)(諸如多播、廣播或單播)來重傳接收到的數(shù)據(jù)分組。在節(jié)點(diǎn)14是mpl轉(zhuǎn)發(fā)器的實(shí)施例中,節(jié)點(diǎn)14可以使用至少該mpl協(xié)議來重傳(轉(zhuǎn)發(fā))接收到的數(shù)據(jù)分組。通信模塊14a耦合到處理器14b和數(shù)據(jù)貯存器14c。處理器14b可以包括處理數(shù)據(jù)(例如,從網(wǎng)絡(luò)10中的其它設(shè)備接收的數(shù)據(jù)分組)并響應(yīng)于該處理而生成輸出數(shù)據(jù)的處理邏輯。處理器14b可以包括微處理器、微控制器和集成電路中的一個或多個。處理器14b可以耦合到數(shù)據(jù)貯存器14c。數(shù)據(jù)貯存器14c可以包括用作臨時存儲器的易失性存儲器(諸如隨機(jī)存取存儲器(ram))和/或用于存儲數(shù)據(jù)、程序或指令的非易失性存儲器(諸如閃存、只讀存儲器(rom)或電可擦除可編程rom(eeprom))。數(shù)據(jù)貯存器14c可以存儲用于重傳(即,轉(zhuǎn)發(fā))由通信模塊14a接收的數(shù)據(jù)分組的通信處理的至少一個通信協(xié)議或配置設(shè)置。取決于節(jié)點(diǎn)14用來重傳數(shù)據(jù)分組的通信協(xié)議,數(shù)據(jù)貯存器14c可以存儲重傳的數(shù)據(jù)分組要發(fā)送到的每個節(jié)點(diǎn)的地址。

節(jié)點(diǎn)16(在本文中也稱為“較少約束的節(jié)點(diǎn)”或“未約束的節(jié)點(diǎn)”)與受約束的節(jié)點(diǎn)14基本類似,除了節(jié)點(diǎn)16相對于受約束的節(jié)點(diǎn)14可以包括更多的存儲器、數(shù)據(jù)存儲和/或處理能力之外。如下面更詳細(xì)地解釋的,受約束的節(jié)點(diǎn)14可能能夠提供關(guān)于由源12采用的多播操作的有限的反饋數(shù)據(jù)。例如,受約束的節(jié)點(diǎn)14可能僅能夠指示多播協(xié)議不是最優(yōu)的,而未約束的節(jié)點(diǎn)16可能能夠指定應(yīng)當(dāng)被修改以優(yōu)化通信的多播操作的一個或多個方面。因此,節(jié)點(diǎn)16包括能夠(或者被配置為)接收數(shù)據(jù)分組,并將數(shù)據(jù)分組發(fā)送(或重傳)到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)的通信模塊16a,該通信模塊16a具有與上述通信模塊14a基本相同的功能。通信模塊16a耦合到處理器16b和數(shù)據(jù)貯存器16c,處理器16b和數(shù)據(jù)貯存器16c分別具有與處理器14b和數(shù)據(jù)貯存器14c基本相同的功能。

在網(wǎng)絡(luò)10是低功率且有損網(wǎng)絡(luò)(lln)的實(shí)施例中,源設(shè)備12可以使用基于mpl協(xié)議的多播操作來將數(shù)據(jù)分組發(fā)送到節(jié)點(diǎn)16。在這種情況下,節(jié)點(diǎn)16可以是實(shí)現(xiàn)mpl的設(shè)備,并且可以具有使節(jié)點(diǎn)16能夠接收和發(fā)送符合mpl協(xié)議的數(shù)據(jù)分組的mpl接口。受約束的節(jié)點(diǎn)16可以被認(rèn)為是實(shí)現(xiàn)mpl的路由器,并且在本文中可以被稱為“mpl轉(zhuǎn)發(fā)器”、“轉(zhuǎn)發(fā)器”或“轉(zhuǎn)發(fā)設(shè)備”。

如圖1中所示,源設(shè)備12使用多播操作(由箭頭18指示)將數(shù)據(jù)分組發(fā)送到多個受約束的節(jié)點(diǎn)14和節(jié)點(diǎn)16。從源設(shè)備接收多播數(shù)據(jù)分組12的受約束的節(jié)點(diǎn)14或節(jié)點(diǎn)16可能能夠(或者被配置為)將數(shù)據(jù)分組重傳到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)(如箭頭20所示)。重傳的多播數(shù)據(jù)分組可以由節(jié)點(diǎn)14或節(jié)點(diǎn)16發(fā)送到網(wǎng)絡(luò)10中的一個或多個節(jié)點(diǎn),包括直接從源設(shè)備12接收多播數(shù)據(jù)分組的節(jié)點(diǎn)。以這種方式,節(jié)點(diǎn)14/16跨網(wǎng)絡(luò)10轉(zhuǎn)發(fā)接收到的多播數(shù)據(jù)分組。節(jié)點(diǎn)14/16可以使用多播操作(例如,該多播操作可以結(jié)合mpl協(xié)議)來將接收到的數(shù)據(jù)分組重傳到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)。但是,在以這種方式分發(fā)數(shù)據(jù)分組的常規(guī)通信網(wǎng)絡(luò)中,沒有向源設(shè)備12指示它正在用過多的數(shù)據(jù)泛洪網(wǎng)絡(luò)10的簡單的機(jī)制,或者提供關(guān)于由源設(shè)備12所使用的多播操作的任何其它反饋。術(shù)語“泛洪”用于指在多播操作中使用的數(shù)據(jù)分組傳輸速率太高,使得網(wǎng)絡(luò)10中的至少一個節(jié)點(diǎn)不能以該傳輸速率接收數(shù)據(jù)分組和/或使得節(jié)點(diǎn)不能在從源12接收到另外的多播數(shù)據(jù)分組之前轉(zhuǎn)發(fā)多播數(shù)據(jù)分組。受約束的節(jié)點(diǎn)14(或節(jié)點(diǎn)16)可以向源12發(fā)送單播數(shù)據(jù)分組,以向源請求降低傳輸速率。但是,如果多個節(jié)點(diǎn)以這種方式向源12發(fā)送反饋,則網(wǎng)絡(luò)將進(jìn)一步泛洪。

在本技術(shù)中,節(jié)點(diǎn)14(或節(jié)點(diǎn)16)利用多播數(shù)據(jù)分組的重傳來向源12提供反饋。因而,可以不需要新的數(shù)據(jù)分組來向源12發(fā)送關(guān)于多播操作的反饋。相反,當(dāng)節(jié)點(diǎn)14/16向網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)重傳數(shù)據(jù)分組時,現(xiàn)有(即,接收到的)數(shù)據(jù)分組的修改版本被用于發(fā)送反饋。因此,通過重傳多播數(shù)據(jù)分組,節(jié)點(diǎn)14/16均可以跨網(wǎng)絡(luò)10分發(fā)數(shù)據(jù)分組并向源設(shè)備12提供反饋。包含反饋的重傳的多播數(shù)據(jù)分組將最終到達(dá)源設(shè)備12,因?yàn)榫W(wǎng)絡(luò)10中的大多數(shù)或全部節(jié)點(diǎn)能夠(或者被配置為)重傳多播數(shù)據(jù)分組。

多播協(xié)議通常定義指定如何實(shí)現(xiàn)多播協(xié)議的一些參數(shù)。例如,多播協(xié)議(諸如mpl協(xié)議)可以定義以下參數(shù)中的一個或多個:最小重傳間隔、最大重傳間隔和定時器到期次數(shù)(即,重傳次數(shù))。因此,使用多播操作轉(zhuǎn)發(fā)數(shù)據(jù)分組的節(jié)點(diǎn)14/16可以使用與源12向網(wǎng)絡(luò)10發(fā)送數(shù)據(jù)分組的多播操作相同的多播操作。源12可以被認(rèn)為是“根設(shè)備”,并且由源12執(zhí)行的多播操作可以結(jié)合特定的多播協(xié)議和特定的多播協(xié)議參數(shù)。由源12使用的多播操作可以包括一個或多個附加的可變參數(shù),這些參數(shù)不由多播協(xié)議定義。多播協(xié)議參數(shù)和/或附加參數(shù)可以在使用多播的根設(shè)備12和節(jié)點(diǎn)14/16上改變,以便改編多播操作來適應(yīng)網(wǎng)絡(luò)10的屬性(和/或該網(wǎng)絡(luò)的組件的屬性)。如下面解釋的,這可以使得多播操作能夠被改編為適應(yīng)每個通信網(wǎng)絡(luò)(即,針對每個通信網(wǎng)絡(luò)進(jìn)行優(yōu)化)。因此,多播操作的參數(shù)可以因通信網(wǎng)絡(luò)而異,因?yàn)槊總€通信網(wǎng)絡(luò)可以具有不同的屬性。(例如,節(jié)點(diǎn)數(shù)量、網(wǎng)絡(luò)中的約束以及受約束的節(jié)點(diǎn)與未約束的節(jié)點(diǎn)的比值會影響如何在網(wǎng)絡(luò)中實(shí)現(xiàn)多播操作,因?yàn)檫@些示例因素可以限制多播速率和/或多播數(shù)據(jù)分組尺寸等)。

由根設(shè)備12執(zhí)行的多播操作可以至少部分地基于多播協(xié)議,并且多播協(xié)議可以定義多播操作的一個或多個可變參數(shù)。例如,響應(yīng)于從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收的反饋,這些多播協(xié)議參數(shù)中的一些可以是可調(diào)整的??烧{(diào)整的參數(shù)可以由根設(shè)備12調(diào)整,或者由在根設(shè)備12上實(shí)現(xiàn)多播協(xié)議的軟件應(yīng)用/程序或者由更高權(quán)限的設(shè)備或更高級別的協(xié)議來調(diào)整。與由根設(shè)備12進(jìn)行的數(shù)據(jù)分組傳輸相關(guān)的一些參數(shù)可以不是多播協(xié)議的一部分。例如,可能需要減小由根設(shè)備發(fā)送到網(wǎng)絡(luò)10的數(shù)據(jù)分組的尺寸,或者增加由根設(shè)備發(fā)送的數(shù)據(jù)分組之間的最小傳輸間隔。指定數(shù)據(jù)分組尺寸、最小傳輸間隔等的參數(shù)可以不是多播協(xié)議的一部分,并且因此可能無法由在根設(shè)備12上實(shí)現(xiàn)多播協(xié)議的軟件應(yīng)用/程序調(diào)整。

在實(shí)施例中,根設(shè)備12包括至少一個可能能夠控制/調(diào)整與在根設(shè)備12處的多播操作相關(guān)聯(lián)的一個或多個參數(shù)的軟件應(yīng)用12d或程序。應(yīng)用12d可以使用處理器12b運(yùn)行,并且可能能夠(或者被配置為)控制根設(shè)備12怎樣和何時使用多播處理向網(wǎng)絡(luò)10發(fā)送數(shù)據(jù)分組。應(yīng)用12d可能能夠基于從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收的反饋來調(diào)整一個或多個參數(shù)。

在附加或替代實(shí)施例中,根設(shè)備12可以包括多個應(yīng)用12d。例如,第一應(yīng)用可以在根設(shè)備12上實(shí)現(xiàn)多播操作,并且第二應(yīng)用可以響應(yīng)于從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收的反饋來控制第一應(yīng)用并調(diào)整與多播操作關(guān)聯(lián)的參數(shù)。這種布置在第一應(yīng)用自身不能進(jìn)行所需的參數(shù)調(diào)整中的一些或全部的實(shí)施例中,或者當(dāng)未在多播協(xié)議中定義需要被調(diào)整的參數(shù)時會是有用的。第二應(yīng)用可以被配置為自己調(diào)整所需的參數(shù)。替代地,第二應(yīng)用可以被配置為確定何時第一應(yīng)用正在準(zhǔn)備使用多播協(xié)議發(fā)送數(shù)據(jù)分組,檢查由第一應(yīng)用使用的參數(shù)和任何反饋,并且在允許第一應(yīng)用發(fā)送數(shù)據(jù)分組之前調(diào)整與傳輸關(guān)聯(lián)的參數(shù)。例如,多播協(xié)議自身可以不指定最大數(shù)據(jù)分組尺寸,但是根設(shè)備12可能已經(jīng)接收到指示根設(shè)備所多播的數(shù)據(jù)分組的尺寸可能需要減小的反饋。因此,例如,當(dāng)?shù)谝粦?yīng)用正在準(zhǔn)備發(fā)送數(shù)據(jù)分組時,第二應(yīng)用可以介入來檢查數(shù)據(jù)分組的數(shù)據(jù)分組尺寸。如果第二應(yīng)用確定數(shù)據(jù)分組尺寸太大(基于接收到的反饋),則第二應(yīng)用可以在傳輸之前提示第一應(yīng)用減小數(shù)據(jù)分組尺寸。作為響應(yīng),第一應(yīng)用可以將數(shù)據(jù)分組拆分成多個較小的數(shù)據(jù)分組。類似地,如果例如反饋指示可能需要增加發(fā)送新數(shù)據(jù)分組之間的最小間隔,則第二應(yīng)用可能要求第一應(yīng)用延遲數(shù)據(jù)分組的傳輸。

在實(shí)施例中,對由多播協(xié)議定義的參數(shù)(例如,最小重傳間隔)或與多播操作相關(guān)聯(lián)的參數(shù)(但不由協(xié)議定義的參數(shù),例如,最大數(shù)據(jù)分組尺寸、發(fā)送數(shù)據(jù)分組之間的最小間隔等)的調(diào)整可以在多播協(xié)議級別實(shí)現(xiàn)、或者通過多播協(xié)議級別和應(yīng)用級別之間的某種其它協(xié)議/邏輯實(shí)現(xiàn)。

在實(shí)施例中,對多播協(xié)議參數(shù)的任何調(diào)整和/或?qū)εc多播操作相關(guān)聯(lián)的參數(shù)的調(diào)整可以被傳送到網(wǎng)絡(luò)10中的每個轉(zhuǎn)發(fā)設(shè)備(節(jié)點(diǎn)14/16),使得每個轉(zhuǎn)發(fā)設(shè)備也可以使用相同的參數(shù)。根設(shè)備12可以經(jīng)由專用的多播或單播數(shù)據(jù)分組,將新的、經(jīng)調(diào)整的一個或多個參數(shù)發(fā)送到轉(zhuǎn)發(fā)設(shè)備。替代地,根設(shè)備可以在下一次根設(shè)備向網(wǎng)絡(luò)10進(jìn)行數(shù)據(jù)分組的多播時,在多播數(shù)據(jù)分組的報(bào)頭內(nèi)向轉(zhuǎn)發(fā)設(shè)備發(fā)送新的經(jīng)調(diào)整的一個或多個參數(shù)。

為了提供反饋,節(jié)點(diǎn)14/節(jié)點(diǎn)16可以執(zhí)行以下中的任何一個或多個:在多播數(shù)據(jù)分組的報(bào)頭中設(shè)置標(biāo)志、修改多播數(shù)據(jù)分組的報(bào)頭中的保留字段、向多播數(shù)據(jù)分組添加新的報(bào)頭,以及修改多播數(shù)據(jù)分組的報(bào)頭中的字段的至少一位。因此,節(jié)點(diǎn)14/節(jié)點(diǎn)16不改變多播數(shù)據(jù)分組的內(nèi)容或數(shù)據(jù)部分,而是修改多播數(shù)據(jù)分組的報(bào)頭部分來提供反饋數(shù)據(jù)。節(jié)點(diǎn)的存儲器、數(shù)據(jù)存儲和/或處理能力會影響節(jié)點(diǎn)為了提供反饋而采取動作的時間。例如,為了提供反饋,受約束的節(jié)點(diǎn)14可能能夠?qū)?bào)頭部分進(jìn)行相對簡單的修改,例如,在報(bào)頭的字段中設(shè)置標(biāo)志或修改位。可以預(yù)定義或?qū)iT保留用于提供反饋的可以被設(shè)置的標(biāo)志或者可以被修改的位,使得節(jié)點(diǎn)14知道如何向源設(shè)備12提供反饋,并且使得源設(shè)備12知道在接收到的數(shù)據(jù)包中的哪里找到反饋數(shù)據(jù)??梢源嬖趩蝹€可以被設(shè)置的標(biāo)志,使得該標(biāo)志的設(shè)置指示關(guān)于多播處理的問題,但是可以不指示問題是什么。然后,源設(shè)備12可能必須執(zhí)行一系列修改,以確定問題-這將在下面參考圖3更詳細(xì)地解釋。替代地,數(shù)據(jù)分組的報(bào)頭部分中可以存在多于一個可以被設(shè)置的標(biāo)志,其中每個標(biāo)志指示關(guān)于多播處理的具體問題,例如,一個標(biāo)志用于指示多播傳輸速率太高,另一個標(biāo)志指示經(jīng)由多播協(xié)議發(fā)送的數(shù)據(jù)分組太大等。受約束的節(jié)點(diǎn)14可能能夠設(shè)置這些標(biāo)志中的一個或多個。類似地,報(bào)頭部分中的單個位或多個位可以是可修改的。

具有更多存儲器、數(shù)據(jù)存儲和/或處理能力的未約束(或較少約束)的節(jié)點(diǎn)16可能能夠執(zhí)行與受約束的節(jié)點(diǎn)14相同的基本修改,和/或可能能夠進(jìn)行其它修改以向源設(shè)備12提供更具體的反饋。例如,節(jié)點(diǎn)16可能能夠向多播數(shù)據(jù)分組添加新的報(bào)頭,以提供反饋數(shù)據(jù),其中新報(bào)頭包含關(guān)于多播處理的具體問題的信息,和/或節(jié)點(diǎn)16可能能夠使用報(bào)頭部分中的附加的保留位/標(biāo)志來提供具體的反饋。

在實(shí)施例中,如果網(wǎng)絡(luò)10包括一個或多個受約束的節(jié)點(diǎn)14和一個或多個未約束的節(jié)點(diǎn)16,則每個節(jié)點(diǎn)類型(即,受約束和未約束)使用的反饋機(jī)制可以對所有節(jié)點(diǎn)類型是相同的或通常適用于所有節(jié)點(diǎn)類型。例如,如果節(jié)點(diǎn)16在數(shù)據(jù)分組的報(bào)頭部分中添加新的報(bào)頭,或者使用保留的位/標(biāo)志來提供反饋,則從節(jié)點(diǎn)16接收這個修改后的數(shù)據(jù)分組的未約束的節(jié)點(diǎn)14可能不理解或不能處理數(shù)據(jù)分組。由未約束的節(jié)點(diǎn)添加的附加反饋可能阻止受約束的節(jié)點(diǎn)適當(dāng)?shù)靥幚頂?shù)據(jù)分組。因此,可能需要適當(dāng)?shù)剡x擇節(jié)點(diǎn)16使用的反饋機(jī)制,使得包含反饋的數(shù)據(jù)分組可以被受約束的節(jié)點(diǎn)14處理。但是,如果接收重傳的數(shù)據(jù)分組的節(jié)點(diǎn)14和節(jié)點(diǎn)16能夠處置/處理包括附加報(bào)頭(或附加位/標(biāo)志等)的數(shù)據(jù)分組,則可以允許未約束的節(jié)點(diǎn)16以這種方式修改數(shù)據(jù)分組,以提供具體的反饋數(shù)據(jù)。

在實(shí)施例中,源設(shè)備12的通信模塊12a可以使用多跳多播協(xié)議或經(jīng)由直接多播協(xié)議來對數(shù)據(jù)分組進(jìn)行多播。

在實(shí)施例中,通信網(wǎng)絡(luò)10可以是無線網(wǎng)狀網(wǎng)絡(luò)。

在實(shí)施例中,由源設(shè)備12接收的數(shù)據(jù)分組中的反饋數(shù)據(jù)可以是以下中的至少一個:數(shù)據(jù)分組的報(bào)頭中的標(biāo)志、數(shù)據(jù)分組的報(bào)頭中的經(jīng)修改的保留字段、添加到數(shù)據(jù)分組的新報(bào)頭、數(shù)據(jù)分組的報(bào)頭中的字段的經(jīng)修改的位。接收到的數(shù)據(jù)分組中的反饋數(shù)據(jù)可以指示以下中的任何一個或多個:多播操作的非具體問題、多播操作的具體問題、多播傳輸速率高、數(shù)據(jù)分組尺寸大、數(shù)據(jù)分組被分段、最小重傳間隔小、多播數(shù)據(jù)分組之間的最小時間延遲需要增加、建議的最小時間延遲、最大數(shù)據(jù)分組尺寸需要減小以及建議的最大數(shù)據(jù)分組尺寸。因此,反饋數(shù)據(jù)可以僅指示多播操作對于通信網(wǎng)絡(luò)不是最優(yōu)的,或者可以指示關(guān)于與多播操作關(guān)聯(lián)的一個或多個可變參數(shù)的具體問題,并且可以指定可以如何修改可變參數(shù)來優(yōu)化用于網(wǎng)絡(luò)的多播操作。

在實(shí)施例中,與多播操作關(guān)聯(lián)的至少一個可變參數(shù)是由多播協(xié)議定義的參數(shù)。

在實(shí)施例中,通信模塊能夠(被配置為):向網(wǎng)絡(luò)中的多個節(jié)點(diǎn)發(fā)送另外的數(shù)據(jù)分組,另外的數(shù)據(jù)分組包括修改后的可變參數(shù)和對節(jié)點(diǎn)使用修改后的可變參數(shù)的指示。通信模塊可以使用多播、單播和廣播中的一個或多個來發(fā)送另外的數(shù)據(jù)分組。在實(shí)施例中,通信模塊可以使用多播來發(fā)送另外的數(shù)據(jù)分組,其中可以在多播的另外的數(shù)據(jù)分組的報(bào)頭中包含修改后的可變參數(shù)和指示。

如下面參考圖7更詳細(xì)解釋的,可以提供防止接收包含反饋數(shù)據(jù)的重傳的多播數(shù)據(jù)分組的任何節(jié)點(diǎn)自己重傳具有反饋數(shù)據(jù)的多播數(shù)據(jù)分組的機(jī)制。這對于防止源設(shè)備12多次接收相同的反饋可以是有用的。類似地,如下面參考圖6所解釋的,可以提供防止源設(shè)備12根據(jù)重傳的多播數(shù)據(jù)分組的多個副本進(jìn)行動作的機(jī)制。

現(xiàn)在轉(zhuǎn)到圖2,該圖2示出了由源設(shè)備12執(zhí)行的、響應(yīng)于反饋數(shù)據(jù)而修改多播操作的一般步驟的流程圖。該方法在開始步驟s20處開始,并且在步驟s22處,源設(shè)備12使用存儲的與多播操作關(guān)聯(lián)的一個或多個可變參數(shù)來將數(shù)據(jù)分組多播到網(wǎng)絡(luò)10中的若干節(jié)點(diǎn)。在實(shí)施例中,源設(shè)備12可以是多個通信網(wǎng)絡(luò)10的一部分,并且源設(shè)備12可能能夠使用不同的多播操作來與每個網(wǎng)絡(luò)進(jìn)行通信。在這樣的實(shí)施例中,源設(shè)備12可以選擇存儲的用于特定通信網(wǎng)絡(luò)的多播操作,并且使用所選擇的多播操作向網(wǎng)絡(luò)中的節(jié)點(diǎn)發(fā)送數(shù)據(jù)分組。源設(shè)備12可以使用相同或不同的多播操作與另一個通信網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行通信。源設(shè)備12可以從每個通信網(wǎng)絡(luò)中的節(jié)點(diǎn)接收相同或不同的反饋,使得對于每個通信網(wǎng)絡(luò),多播操作都是可以被源設(shè)備12優(yōu)化的。

在實(shí)施例中,源設(shè)備12可以存儲供每個通信網(wǎng)絡(luò)使用的單個多播操作。在從一個或多個通信網(wǎng)絡(luò)接收到反饋數(shù)據(jù)之后,源設(shè)備12可以被配置為將多播操作的修改版本添加到與特定通信網(wǎng)絡(luò)一起使用的數(shù)據(jù)貯存器12c。附加地或替代地,源設(shè)備12可以被配置為將數(shù)據(jù)添加到數(shù)據(jù)貯存器12c,該數(shù)據(jù)指示與多播處理關(guān)聯(lián)的至少一個參數(shù)要如何針對特定的通信網(wǎng)絡(luò)進(jìn)行修改,使得存儲的多播操作保持未修改。在這種情況下,通信模塊12a在向那個特定通信網(wǎng)絡(luò)多播數(shù)據(jù)分組之前,從數(shù)據(jù)貯存器12c獲取這個數(shù)據(jù),并且在多播時暫時修改操作。

返回到圖2,在步驟s24處,源設(shè)備12從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收重傳的多播數(shù)據(jù)分組。該重傳的多播數(shù)據(jù)分組是在數(shù)據(jù)分組被節(jié)點(diǎn)14/節(jié)點(diǎn)16接收后并且被節(jié)點(diǎn)14/16重傳到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)之后在步驟s22處由源設(shè)備12發(fā)送的數(shù)據(jù)分組。如前面所解釋的,在步驟s24處接收的重傳的數(shù)據(jù)分組可以從在步驟s22處最初接收多播數(shù)據(jù)分組的節(jié)點(diǎn)14/16接收,或者可以從網(wǎng)絡(luò)10中的任何其它節(jié)點(diǎn)接收。

處理器12b和/或通信模塊12a確定在接收到的重傳的多播數(shù)據(jù)分組中是否提供反饋數(shù)據(jù)(步驟s26)。這可以涉及例如檢查標(biāo)志是否已被設(shè)置、位是否已被改變、新報(bào)頭是否已被添加到數(shù)據(jù)分組等。如果在接收到的數(shù)據(jù)分組內(nèi)沒有識別出反饋數(shù)據(jù),則處理器12b(和/或通信模塊12a)假設(shè)在步驟s2處2使用的多播操作參數(shù)是適合于通信網(wǎng)絡(luò)10的(步驟s28),并且處理在步驟s34處結(jié)束。如果在接收到的數(shù)據(jù)分組中識別出反饋數(shù)據(jù),則處理器12b(和/或通信模塊12a)修改在步驟s22處使用的多播操作的可變參數(shù)中的至少一個,并存儲多播操作的修改版本、可變參數(shù)的修改版本或指示當(dāng)多播操作下一次被使用時如何改變每個可變參數(shù)的數(shù)據(jù)(步驟s30)。然后處理在步驟s34處結(jié)束。

在實(shí)施例中,在步驟s26處識別出的反饋數(shù)據(jù)可以是非具體的,并且可以僅僅指示多播操作對于網(wǎng)絡(luò)10不是最優(yōu)的。在這種情況下,處理器12b可能能夠(被配置為)(在步驟s30)修改默認(rèn)的特定可變參數(shù)。例如,處理器12b可以通過減小發(fā)送速率來修改默認(rèn)的多播發(fā)送速率。發(fā)送速率被減小的量可以是預(yù)定的,或者可以由處理器12b選擇。在實(shí)施例中,在步驟s26處識別出的反饋數(shù)據(jù)可以是具體的,并且可以指示一個或多個可變參數(shù)需要修改,并且處理器12b在步驟s30處修改所指示的一個或多個可變參數(shù)。在實(shí)施例中,在步驟s26處識別出的反饋數(shù)據(jù)還可以包括一個或多個可變參數(shù)可以被修改成什么的指示。例如,節(jié)點(diǎn)16可以知道它能夠接收特定尺寸的多播數(shù)據(jù)分組,但是它不能重傳該多播數(shù)據(jù)分組,因?yàn)樵摮叽鐚λ鼇碚f太大以至于不能發(fā)送,或者因?yàn)槌叽缣笠灾劣诓荒苡删W(wǎng)絡(luò)中的其它節(jié)點(diǎn)接收。因此,節(jié)點(diǎn)16可以在反饋數(shù)據(jù)中提供對優(yōu)選數(shù)據(jù)分組尺寸的指示,使得在步驟s30處,處理器12b將與數(shù)據(jù)分組尺寸相關(guān)的可變參數(shù)修改為在反饋數(shù)據(jù)中指示的尺寸。

可選地,對多播協(xié)議參數(shù)(例如,最小重傳間隔)的任何調(diào)整和/或?qū)εc多播操作關(guān)聯(lián)的參數(shù)(例如,最大數(shù)據(jù)分組尺寸、發(fā)送數(shù)據(jù)分組之間的最小間隔等)的調(diào)整可以被傳送到轉(zhuǎn)發(fā)(重傳)從源設(shè)備12接收的數(shù)據(jù)分組的每個節(jié)點(diǎn)14/16。如上面所解釋的,當(dāng)向網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)轉(zhuǎn)發(fā)接收到的數(shù)據(jù)分組時,每個轉(zhuǎn)發(fā)設(shè)備(例如,節(jié)點(diǎn))可以使用與源設(shè)備12相同的參數(shù)。因此,在步驟32處,源設(shè)備12可以經(jīng)由專用的多播或單播數(shù)據(jù)分組,或者在下一次源設(shè)備12向網(wǎng)絡(luò)10多播數(shù)據(jù)分組時在多播數(shù)據(jù)分組的報(bào)頭內(nèi)向節(jié)點(diǎn)/轉(zhuǎn)發(fā)設(shè)備發(fā)送修改后的一個或多個參數(shù)。

由處理器12b執(zhí)行的一些步驟可以由源設(shè)備12的一個或多個應(yīng)用12d(與處理器12b結(jié)合)執(zhí)行。例如,如上面所解釋的,應(yīng)用12d可以被配置為調(diào)整多播處理的參數(shù),或與多播處理關(guān)聯(lián)的參數(shù)。

圖3示出了在特定實(shí)施例中由源設(shè)備12響應(yīng)于非具體反饋數(shù)據(jù)而修改多播操作的執(zhí)行的具體步驟的流程圖。在這里,反饋數(shù)據(jù)僅僅指示多播操作對于通信網(wǎng)絡(luò)不是最優(yōu)的,但是不提供應(yīng)當(dāng)被修改的多播操作的每個可變參數(shù)的指示。

處理在開始步驟s40處開始,并且在步驟s42處,源設(shè)備12使用存儲的多播操作來向網(wǎng)絡(luò)10中的若干節(jié)點(diǎn)多播數(shù)據(jù)分組(以與上面針對圖2描述的相似方式)。在步驟s44處,源設(shè)備12從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收重傳的多播數(shù)據(jù)分組。該重傳的多播數(shù)據(jù)分組是在數(shù)據(jù)分組已經(jīng)由節(jié)點(diǎn)14/節(jié)點(diǎn)16接收并由節(jié)點(diǎn)14/16重傳到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)之后在步驟s42處由源設(shè)備12發(fā)送的數(shù)據(jù)分組。如前面所解釋的,在步驟s44處接收的重傳的數(shù)據(jù)分組可以從最初在步驟s42處接收多播數(shù)據(jù)分組的節(jié)點(diǎn)14/16接收,或者可以從網(wǎng)絡(luò)10中的任何其它節(jié)點(diǎn)接收。

處理器12b和/或通信模塊12a確定在接收到的重傳的多播數(shù)據(jù)分組中是否提供反饋數(shù)據(jù)(步驟s46)。這可以涉及例如檢查標(biāo)志是否已被設(shè)置、位是否已被改變、新報(bào)頭是否已被添加到數(shù)據(jù)分組等。如果在接收到的數(shù)據(jù)分組內(nèi)沒有識別出反饋數(shù)據(jù),則處理器12b假設(shè)在步驟s42處使用的多播操作參數(shù)適合于通信網(wǎng)絡(luò)10/針對通信網(wǎng)絡(luò)10進(jìn)行了優(yōu)化(步驟s48),并且處理在步驟s64處結(jié)束。

如果在接收到的數(shù)據(jù)分組中識別出反饋數(shù)據(jù),則處理器12b采取修改多播操作的可變參數(shù)之一的動作。在圖3中所示的實(shí)施例中,反饋數(shù)據(jù)是非具體的。因此,在默認(rèn)情況下,處理器12b可以通過減小傳輸速率來修改多播操作的傳輸速率(步驟s50)。這可以是由處理器12b進(jìn)行的默認(rèn)修改,因?yàn)橛锌赡軅鬏斔俾市枰恍薷囊赃m應(yīng)特定通信網(wǎng)絡(luò)中的節(jié)點(diǎn)的屬性,和/或因?yàn)檫@對于實(shí)現(xiàn)是相對簡單的修改。在實(shí)施例中,不同的變量可以默認(rèn)被修改。

修改后的可變參數(shù)(即,傳輸速率)被存儲和/或具有修改后的可變參數(shù)的修改后的多播操作被存儲,以供源設(shè)備12下一次向通信網(wǎng)絡(luò)10發(fā)送數(shù)據(jù)分組時使用。在步驟s52處,源設(shè)備12使用修改后的多播操作/修改后的可變參數(shù)向網(wǎng)絡(luò)10中的節(jié)點(diǎn)多播第二數(shù)據(jù)分組。

如上面所解釋的,處理器12b、一個或多個應(yīng)用12d和/或更高級別的協(xié)議或更高級別的設(shè)備可以修改多播協(xié)議的可變參數(shù)(或與多播操作關(guān)聯(lián)的可變參數(shù))。

可選地,對多播協(xié)議參數(shù)(即,由協(xié)議定義的參數(shù))的任何調(diào)整和/或?qū)εc多播操作關(guān)聯(lián)的參數(shù)(即,不是由協(xié)議定義但是可以被用于調(diào)整多播處理的各個方面的參數(shù))的調(diào)整可以被傳送到被配置為轉(zhuǎn)發(fā)(重發(fā))從源設(shè)備12接收的數(shù)據(jù)分組的每個節(jié)點(diǎn)14/16。如上面所解釋的,當(dāng)經(jīng)由多播向網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)轉(zhuǎn)發(fā)接收到的數(shù)據(jù)分組時,每個轉(zhuǎn)發(fā)設(shè)備(例如,節(jié)點(diǎn))可以使用與源設(shè)備12相同的參數(shù)。因此,可選地,源設(shè)備12可以經(jīng)由專用的多播或單播數(shù)據(jù)分組,或者在下一次源設(shè)備12向網(wǎng)絡(luò)10多播數(shù)據(jù)分組時在多播數(shù)據(jù)分組的報(bào)頭內(nèi)向節(jié)點(diǎn)/轉(zhuǎn)發(fā)設(shè)備發(fā)送任何一個或多個修改后的參數(shù)。

在步驟s54處,源設(shè)備12從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收重傳的第二多播數(shù)據(jù)分組。處理器12b確定是否在接收到的重傳的第二多播數(shù)據(jù)分組中提供反饋數(shù)據(jù)(步驟s56)。這可以涉及例如檢查標(biāo)志是否已被設(shè)置、位是否已被改變、新報(bào)頭是否已被添加到數(shù)據(jù)分組等。如果在接收到的第二數(shù)據(jù)分組內(nèi)沒有識別出反饋數(shù)據(jù),則處理器12b假設(shè)在步驟s52處使用的修改后的多播操作參數(shù)適合于通信網(wǎng)絡(luò)10/對通信網(wǎng)絡(luò)10進(jìn)行了優(yōu)化(步驟s48),并且處理在步驟s64處結(jié)束。如果在步驟s56處在接收到的數(shù)據(jù)分組中識別出反饋數(shù)據(jù),則處理器12b可以嘗試確定在步驟s50處被修改的相同可變參數(shù)(即,傳輸速率)是否可能需要進(jìn)一步修改,或者是否不同的可變參數(shù)需要修改。例如,處理器12b可以檢查(如步驟s58)接收重傳的數(shù)據(jù)分組和接收重傳的第二數(shù)據(jù)分組之間的時間間隔。如果該時間間隔相對較短,則處理器12b可以推斷從源設(shè)備12(直接)接收多播數(shù)據(jù)分組的節(jié)點(diǎn)仍然沒有找到合適的傳輸速率。如果該時間間隔相對較長,則處理器12b可以推斷可能需要更改不同的可變參數(shù)。附加地或替代地,處理器12b可以在步驟s58處檢查步驟s42和s44以及步驟s52和s54之間的時間間隔。如果步驟s42和s44之間的時間間隔與步驟s52和s54之間的時間間隔基本相同,則處理器12b可以推斷傳輸速率不合適。然后,在任一情況下,處理器可以確定多播處理傳輸速率是否仍然太高(步驟s60)。如果傳輸速率太高(基于在步驟s58處執(zhí)行的分析),則處理器12a可以進(jìn)一步減小傳輸速率(步驟s62)并且存儲多播操作的進(jìn)一步修改版本、一個或多個可變參數(shù)的進(jìn)一步修改版本或者指示當(dāng)下一次使用多播操作時可變參數(shù)要如何改變的數(shù)據(jù)。然后,該處理在步驟s62處結(jié)束。

在步驟s60處,處理器12b可以確定傳輸速率不是太高。這可以是響應(yīng)于在步驟s58處執(zhí)行的分析和/或通過確定傳輸速率不能被進(jìn)一步減小(即,低于最小傳輸速率)。在這種情況下,處理器12b在步驟s66處采取修改不同的可變參數(shù)的動作,例如,減小經(jīng)由多播操作發(fā)送的數(shù)據(jù)分組的數(shù)據(jù)分組尺寸。(如上面所解釋的,處理器12b、一個或多個應(yīng)用12d和/或更高級別的協(xié)議或更高級別的設(shè)備可以在步驟s66處修改可變參數(shù)。如上所述,源設(shè)備12可以可選地經(jīng)由專用的多播或單播數(shù)據(jù)分組,或者在下一次元設(shè)備12向網(wǎng)絡(luò)10多播數(shù)據(jù)分組時在多播數(shù)據(jù)分組的報(bào)頭中向節(jié)點(diǎn)/轉(zhuǎn)發(fā)設(shè)備發(fā)送任何一個或多個修改后的參數(shù)。)然后處理在步驟s64處結(jié)束。本領(lǐng)域技術(shù)人員將理解的是,優(yōu)化處理可以繼續(xù),直到源設(shè)備12不再接收到反饋數(shù)據(jù)。這可以涉及進(jìn)一步修改相同的可變參數(shù)和/或修改其它可變參數(shù)。

在多播操作優(yōu)化處理的實(shí)施例中,處理器12a可以被配置為用對應(yīng)的修改后的可變參數(shù)來重寫每個存儲的可變參數(shù)。

在至少一個可變參數(shù)包括至少第一可變參數(shù)和第二可變參數(shù)并且由源設(shè)備12接收的反饋數(shù)據(jù)是具體的(即,反饋數(shù)據(jù)指定第一可變參數(shù)和第二可變參數(shù)中的哪一個需要修改)的實(shí)施例中,處理器12a可能能夠(或者被配置為):使用反饋數(shù)據(jù)確定第一可變參數(shù)和第二可變參數(shù)之一需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;并且響應(yīng)于該確定而修改第一可變參數(shù)或第二可變參數(shù)。

在至少一個可變參數(shù)包括第一可變參數(shù)和第二可變參數(shù)并且反饋數(shù)據(jù)不指定第一可變參數(shù)和第二可變參數(shù)中的哪一個需要修改的實(shí)施例中,處理器12a能夠(或者被配置為):選擇第一可變參數(shù);并且修改第一可變參數(shù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。即,處理器12a簡單地選擇可變參數(shù)之一并修改所選擇的可變參數(shù)。如前面所提到的,由處理器12a選擇的可變參數(shù)可以是默認(rèn)參數(shù)(即,如果獲得非具體反饋則默認(rèn)修改的參數(shù))。

多播操作的可變參數(shù)之一可以指定多播數(shù)據(jù)分組之間的最小時間延遲。在這種情況下,處理器12a可能能夠(或者被配置為):通過增加多播數(shù)據(jù)分組之間的最小時間延遲來修改可變參數(shù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。

多播操作的可變參數(shù)之一可以指定可以被多播的最大數(shù)據(jù)分組尺寸。在這種情況下,處理器12a可能能夠(或者被配置為):通過減小能夠進(jìn)行多播的最大數(shù)據(jù)分組尺寸來修改可變參數(shù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。

源設(shè)備12的數(shù)據(jù)貯存器12c可能能夠(或者被配置為)存儲指定多播數(shù)據(jù)分組之間的最大時間延遲(即,最小發(fā)送或傳輸速率)的值。最大時間延遲(或最小傳輸速率)可以被用來防止通信網(wǎng)絡(luò)變得低效或者發(fā)送數(shù)據(jù)分組太慢。如果通信網(wǎng)絡(luò)中的大部分節(jié)點(diǎn)設(shè)備能夠以最小傳輸速率正確地操作(即,它們能夠接收和重傳數(shù)據(jù)分組),但是一些節(jié)點(diǎn)設(shè)備指示傳輸速率仍然太高,則可以防止源設(shè)備12進(jìn)一步減小傳輸速率。

在實(shí)施例中,至少一個可變參數(shù)可以包括指定多播數(shù)據(jù)分組之間的最小時間延遲的第一可變參數(shù),以及指定可以被多播的最大數(shù)據(jù)分組尺寸的第二可變參數(shù)。在這樣的實(shí)施例中,通信模塊12a可能能夠(或者被配置為):使用存儲的第一可變參數(shù)和第二可變參數(shù)向多個節(jié)點(diǎn)多播第一數(shù)據(jù)分組;從節(jié)點(diǎn)接收第一數(shù)據(jù)分組的重傳版本,重傳的第一數(shù)據(jù)分組包括第一反饋數(shù)據(jù);使用存儲的第一可變參數(shù)和第二可變參數(shù)向多個節(jié)點(diǎn)多播第二數(shù)據(jù)分組;并且從節(jié)點(diǎn)接收第二數(shù)據(jù)分組的重傳版本,重傳的第二數(shù)據(jù)分組包括第二反饋數(shù)據(jù)。作為響應(yīng),處理器12b和/或通信模塊12a可能能夠(或者被配置為)通過以下來優(yōu)化多播操作:確定多播第一數(shù)據(jù)分組和多播第二數(shù)據(jù)分組之間的時間延遲是否已經(jīng)達(dá)到最大時間延遲;并且,響應(yīng)于該確定,如果第一可變參數(shù)尚未達(dá)到(即,基本上不等于)最大時間延遲,則通過增加多播數(shù)據(jù)分組之間的最小時間延遲來修改第一可變參數(shù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。

但是,如果多播第一數(shù)據(jù)分組和多播第二數(shù)據(jù)分組之間的時間延遲已經(jīng)達(dá)到最大時間延遲,則處理器12可能能夠(或者被配置為):通過減小可以被多播的最大數(shù)據(jù)分組尺寸來修改第二可變參數(shù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。例如,如果源設(shè)備12繼續(xù)從節(jié)點(diǎn)設(shè)備接收反饋,但是不能進(jìn)一步改變傳輸速率,則源設(shè)備12可以修改多播處理的不同的可變參數(shù)。

在實(shí)施例中,響應(yīng)于非具體反饋,在修改第二可變參數(shù)之前,源設(shè)備12可以繼續(xù)修改第一可變參數(shù)直到達(dá)到最小/最大值。在其它實(shí)施例中,源設(shè)備12可以響應(yīng)于非具體反饋而在修改第一可變參數(shù)和修改第二可變參數(shù)之間交替。

圖4示出了響應(yīng)于接收具體反饋數(shù)據(jù)或?qū)Χ嗖ゲ僮鞯目勺儏?shù)的建議修改,由源設(shè)備12執(zhí)行修改多播操作的一般步驟的流程圖。該處理在開始步驟s80處開始,并且在步驟s82處,源設(shè)備12使用多播操作和存儲的一個或多個可變參數(shù)向網(wǎng)絡(luò)10中的若干節(jié)點(diǎn)多播數(shù)據(jù)分組(類似于圖2中所示并如上所述的處理)。在步驟s84處,源設(shè)備12從網(wǎng)絡(luò)10中的節(jié)點(diǎn)接收重傳的多播數(shù)據(jù)分組。該重傳的多播數(shù)據(jù)分組是在數(shù)據(jù)分組由節(jié)點(diǎn)14/節(jié)點(diǎn)16接收并由節(jié)點(diǎn)14/16重傳到網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)之后在步驟s82處由源設(shè)備12發(fā)送的數(shù)據(jù)分組。如前面所解釋的,在步驟s84處接收的重傳的數(shù)據(jù)分組可以從最初在步驟s82處接收多播數(shù)據(jù)分組的節(jié)點(diǎn)14/16接收,或者可以從網(wǎng)絡(luò)10中的任何其它節(jié)點(diǎn)接收。

處理器12b和/或通信模塊12a確定在接收到的重傳的多播數(shù)據(jù)分組中是否提供反饋數(shù)據(jù)(步驟s86)。在圖4中所示的實(shí)施例中,在步驟s84處接收的重傳的數(shù)據(jù)分組中所包含的反饋數(shù)據(jù)是具體的,并且可以在例如已經(jīng)被添加到數(shù)據(jù)分組的新報(bào)頭中提供。如果在接收到的數(shù)據(jù)分組中沒有識別出反饋數(shù)據(jù),則處理器12b假設(shè)在步驟s82處使用的多播操作參數(shù)是適合通信網(wǎng)絡(luò)10的(步驟s88),并且處理在步驟s92處結(jié)束。如果在步驟s86處接收的數(shù)據(jù)分組中識別出具體的反饋數(shù)據(jù),則響應(yīng)于反饋數(shù)據(jù),處理器12b修改在步驟s82處使用的多播操作的可變參數(shù)中的至少一個(步驟s90)。例如,接收到的重傳的數(shù)據(jù)分組可以包含指示哪個具體的可變參數(shù)需要修改的反饋數(shù)據(jù),和/或可以為具體的可變參數(shù)提供建議值。這樣的具體的反饋數(shù)據(jù)可以來自具有修改數(shù)據(jù)分組以包括這個反饋數(shù)據(jù)所需的處理能力和/或存儲器/數(shù)據(jù)存儲的節(jié)點(diǎn)16。處理器12b可以存儲多播操作的修改版本、可變參數(shù)的修改版本或者指示當(dāng)下一次使用多播操作時每個可變參數(shù)要如何改變的數(shù)據(jù)。然后,該處理在步驟s92處結(jié)束。

圖5示出了由節(jié)點(diǎn)設(shè)備(例如,受約束的節(jié)點(diǎn)設(shè)備14或節(jié)點(diǎn)設(shè)備16)執(zhí)行以向源設(shè)備12提供關(guān)于多播操作的反饋數(shù)據(jù)的示例步驟的流程圖。示例處理在開始步驟s100處開始,并且在步驟s102處,節(jié)點(diǎn)設(shè)備接收第一數(shù)據(jù)分組。第一數(shù)據(jù)分組可以是從源設(shè)備12經(jīng)由多播接收的第一多播數(shù)據(jù)分組,或者可以是從另一個節(jié)點(diǎn)設(shè)備(該節(jié)點(diǎn)設(shè)備從源設(shè)備12直接接收第一多播數(shù)據(jù)分組,然后重傳該數(shù)據(jù)分組)接收的重傳的第一多播數(shù)據(jù)分組。

在實(shí)施例中,在這個階段,節(jié)點(diǎn)設(shè)備可能不需要向源設(shè)備12發(fā)送反饋數(shù)據(jù),因?yàn)樗形从龅絾栴}。但是,在其它實(shí)施例中,節(jié)點(diǎn)設(shè)備可能已經(jīng)遇到問題,并且可能希望向源設(shè)備12發(fā)送反饋。取決于節(jié)點(diǎn)設(shè)備是否可能需要在這個階段(即,在接收到第一數(shù)據(jù)分組之后)發(fā)送反饋,該處理可以前進(jìn)到步驟s106(需要反饋)或步驟s104'(還不需要反饋)。

節(jié)點(diǎn)設(shè)備被配置為(自動地或以其它方式)重傳其接收的數(shù)據(jù)分組,使得數(shù)據(jù)分組跨網(wǎng)絡(luò)10分發(fā)。數(shù)據(jù)分組可以使用任何通信協(xié)議來重傳,包括多播、廣播、單播等,并且因此可以到達(dá)源設(shè)備12(最初發(fā)送數(shù)據(jù)分組的設(shè)備)。節(jié)點(diǎn)設(shè)備還可以接收包含反饋數(shù)據(jù)的數(shù)據(jù)分組。每個節(jié)點(diǎn)設(shè)備可以重傳包含反饋數(shù)據(jù)的數(shù)據(jù)分組,而不對數(shù)據(jù)分組進(jìn)行任何修改,和/或它可以在從數(shù)據(jù)分組中移除任何反饋數(shù)據(jù)之后重傳數(shù)據(jù)分組。節(jié)點(diǎn)設(shè)備重傳數(shù)據(jù)分組的方式可以取決于節(jié)點(diǎn)設(shè)備最近是否重傳了包含相同反饋數(shù)據(jù)的數(shù)據(jù)分組。例如,如果節(jié)點(diǎn)設(shè)備識別出由源設(shè)備12使用的多播操作的傳輸速率太高,則節(jié)點(diǎn)設(shè)備可以在該節(jié)點(diǎn)設(shè)備重傳的下一個接收到的數(shù)據(jù)分組中添加這個影響的反饋數(shù)據(jù)。如果節(jié)點(diǎn)設(shè)備然后接收到包含相同反饋數(shù)據(jù)的數(shù)據(jù)分組,則它可以在重傳數(shù)據(jù)分組之前移除反饋數(shù)據(jù),以避免在某個時間段內(nèi)多次提供相同的反饋數(shù)據(jù)。但是,如果節(jié)點(diǎn)設(shè)備接收到包含不同反饋數(shù)據(jù)(例如,指定數(shù)據(jù)分組尺寸太大)的數(shù)據(jù)分組,則節(jié)點(diǎn)設(shè)備可以在不修改的情況下重傳數(shù)據(jù)分組,因?yàn)楣?jié)點(diǎn)設(shè)備尚未傳送這個反饋數(shù)據(jù)。因此,在優(yōu)選實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為)忽略重復(fù)的反饋數(shù)據(jù),或者避免在某個時間段內(nèi)多次發(fā)送反饋數(shù)據(jù)。

在實(shí)施例中,節(jié)點(diǎn)設(shè)備在接收到第一數(shù)據(jù)分組時識別多播操作中的問題,并希望向源設(shè)備12發(fā)送反饋。例如,如果源設(shè)備12發(fā)送長(大)數(shù)據(jù)分組,則數(shù)據(jù)分組可以被分段(即,分裂成更小的數(shù)據(jù)分組),使得更小的分段的數(shù)據(jù)分組可以容易地在網(wǎng)絡(luò)10中被發(fā)送。如果網(wǎng)絡(luò)中的最大傳輸單位小于由源設(shè)備12發(fā)送的數(shù)據(jù)分組的尺寸,則可以由網(wǎng)絡(luò)適配層協(xié)議或諸如6lowpan之類的標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議執(zhí)行分段。網(wǎng)絡(luò)中的節(jié)點(diǎn)設(shè)備(或其它路由設(shè)備)可能需要從更小的分段數(shù)據(jù)分組重組原始的數(shù)據(jù)分組,以便例如根據(jù)數(shù)據(jù)分組中所包含的數(shù)據(jù)進(jìn)行動作或讀取該數(shù)據(jù)。但是,較小的分段的數(shù)據(jù)分組可能在網(wǎng)絡(luò)10中丟失,并且與較大的數(shù)據(jù)分組相比更有可能丟失。如果較小的分段的數(shù)據(jù)分組丟失,則節(jié)點(diǎn)設(shè)備可能無法重組由源設(shè)備12發(fā)送的原始數(shù)據(jù)分組。在一些情況下,節(jié)點(diǎn)設(shè)備可能會在它可以重組數(shù)據(jù)分組之前用完存儲較小的分段的數(shù)據(jù)分組的空閑的存儲器(數(shù)據(jù)存儲空間)。因此,在實(shí)施例中,節(jié)點(diǎn)設(shè)備可以確定第一數(shù)據(jù)分組是分段的數(shù)據(jù)分組(即,較大數(shù)據(jù)分組的片段),并且節(jié)點(diǎn)設(shè)備可能希望向源設(shè)備12警告正在發(fā)送的數(shù)據(jù)分組是分段的。

為了提供這種反饋,節(jié)點(diǎn)設(shè)備可以利用反饋數(shù)據(jù)修改第一數(shù)據(jù)分組(在步驟s106處)。節(jié)點(diǎn)設(shè)備利用反饋數(shù)據(jù)修改第一數(shù)據(jù)分組,以指示多播操作的一個或多個可變參數(shù)未針對節(jié)點(diǎn)設(shè)備/網(wǎng)絡(luò)進(jìn)行優(yōu)化。例如,節(jié)點(diǎn)設(shè)備可以向第一數(shù)據(jù)分組添加指示數(shù)據(jù)分組被分段的反饋數(shù)據(jù)。如上面所提到的,節(jié)點(diǎn)設(shè)備可以以不同的方式提供這種反饋數(shù)據(jù),該方式可以取決于節(jié)點(diǎn)設(shè)備是受約束的節(jié)點(diǎn)設(shè)備還是非約束的(或較少約束的)節(jié)點(diǎn)設(shè)備而變化。

在其它實(shí)施例中,節(jié)點(diǎn)設(shè)備可以在節(jié)點(diǎn)設(shè)備已經(jīng)接收到第二數(shù)據(jù)分組之后識別多播操作中的問題。在這種情況下,節(jié)點(diǎn)設(shè)備可以開始向網(wǎng)絡(luò)10中的其它節(jié)點(diǎn)重傳接收到的第一數(shù)據(jù)分組。如果在步驟s104'處,在完成(或開始)重傳接收到的第一數(shù)據(jù)分組之前,節(jié)點(diǎn)接收到第二數(shù)據(jù)分組,則在步驟s106'處,節(jié)點(diǎn)設(shè)備利用反饋數(shù)據(jù)修改第二數(shù)據(jù)分組。節(jié)點(diǎn)可以僅具有使得其能夠一次暫時存儲一個用于傳輸?shù)臄?shù)據(jù)分組的處理能力和/或存儲器/數(shù)據(jù)存儲。因而,如果節(jié)點(diǎn)設(shè)備在發(fā)送(或完成發(fā)送)第一數(shù)據(jù)分組之前接收到第二數(shù)據(jù)分組,則第一數(shù)據(jù)分組可以被自動丟棄或重寫,以存儲第二數(shù)據(jù)分組。因?yàn)槎嗖鬏斔俾侍撸?或因?yàn)楸仨毎l(fā)送的數(shù)據(jù)分組的尺寸太大,節(jié)點(diǎn)設(shè)備可能還沒有完成發(fā)送第一數(shù)據(jù)分組。節(jié)點(diǎn)設(shè)備利用反饋數(shù)據(jù)修改第二數(shù)據(jù)分組,以指示多播處理的一個或多個可變參數(shù)未針對節(jié)點(diǎn)設(shè)備/網(wǎng)絡(luò)進(jìn)行優(yōu)化。如上面所提到的,節(jié)點(diǎn)設(shè)備可以以不同的方式提供這種反饋數(shù)據(jù),該方式可以取決于節(jié)點(diǎn)設(shè)備是受約束的節(jié)點(diǎn)設(shè)備還是未約束(或更少約束的)節(jié)點(diǎn)設(shè)備而變化。

在實(shí)施例中,當(dāng)節(jié)點(diǎn)在第一數(shù)據(jù)分組的重傳已經(jīng)開始或完成之前接收到第二數(shù)據(jù)分組時,節(jié)點(diǎn)可能不能(或者可以被配置為不)重傳接收到的第一數(shù)據(jù)分組。這可以在由節(jié)點(diǎn)用于重傳數(shù)據(jù)分組的通信協(xié)議(例如,多播協(xié)議)中指定,或以其它方式在節(jié)點(diǎn)中實(shí)現(xiàn)。因此,在實(shí)施例中,即使第一數(shù)據(jù)分組可以暫時存儲在節(jié)點(diǎn)的數(shù)據(jù)貯存器中,節(jié)點(diǎn)在接收到第二數(shù)據(jù)分組之后也仍然不重傳第一數(shù)據(jù)分組。在這種情況下,通常從節(jié)點(diǎn)接收重傳的數(shù)據(jù)分組的其它設(shè)備可能不會接收第一數(shù)據(jù)分組,除非它從系統(tǒng)/網(wǎng)絡(luò)中的其它節(jié)點(diǎn)接收到第一數(shù)據(jù)分組。

因此,在實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為):從通信網(wǎng)絡(luò)中的源裝置接收第一多播數(shù)據(jù)分組;通過向第一多播數(shù)據(jù)分組添加反饋數(shù)據(jù)來修改第一多播數(shù)據(jù)分組,該反饋數(shù)據(jù)指定與用于發(fā)送第一多播數(shù)據(jù)分組的多播操作相關(guān)聯(lián)的至少一個可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;并且發(fā)送修改后的第一多播數(shù)據(jù)分組。

在替代實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為):從網(wǎng)絡(luò)中的源裝置接收第一多播數(shù)據(jù)分組;并且在重傳接收到的第一多播數(shù)據(jù)分組之前從源裝置接收第二多播數(shù)據(jù)分組;通過向第二多播數(shù)據(jù)分組添加反饋數(shù)據(jù)來修改第二多播數(shù)據(jù)分組,該反饋數(shù)據(jù)指定用于發(fā)送第一多播數(shù)據(jù)分組和第二多播數(shù)據(jù)分組的多播協(xié)議的至少一個可變參數(shù)需要修改,以優(yōu)化用于網(wǎng)絡(luò)的多播操作;并且重傳修改后的第二多播數(shù)據(jù)分組。

在實(shí)施例中,多播操作的至少一個可變參數(shù)指定多播數(shù)據(jù)分組之間的最小時間延遲。節(jié)點(diǎn)設(shè)備(或者具體地,節(jié)點(diǎn)設(shè)備的處理器或通信模塊)可能能夠(或者被配置為):向第二多播數(shù)據(jù)分組添加指示需要增加最小時間延遲的反饋數(shù)據(jù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。在這種實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者還被配置為):向第二多播數(shù)據(jù)分組添加建議的最小時間延遲。如果節(jié)點(diǎn)設(shè)備是具有針對需要修改的可變參數(shù)提供具體反饋以及潛在建議值的處理能力的未約束(或較少約束的節(jié)點(diǎn)),則這是可能的。

在實(shí)施例中,多播操作的至少一個可變參數(shù)指定能夠進(jìn)行多播的最大數(shù)據(jù)分組尺寸。節(jié)點(diǎn)設(shè)備(或者具體地,節(jié)點(diǎn)設(shè)備的處理器或通信模塊)可能能夠(或者被配置為):向第二多播數(shù)據(jù)分組添加指示需要減小最大數(shù)據(jù)分組尺寸的反饋數(shù)據(jù),以優(yōu)化用于網(wǎng)絡(luò)的多播操作。在這種實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者還被配置為):向第二多播數(shù)據(jù)分組添加建議的最大數(shù)據(jù)分組尺寸。如上所述,如果節(jié)點(diǎn)設(shè)備是具有針對需要修改的可變參數(shù)提供具體反饋以及潛在建議值的處理能力的未約束(或較少約束的節(jié)點(diǎn)),則這是可能的。

節(jié)點(diǎn)設(shè)備可以通過執(zhí)行以下中的一個或多個來向第二多播數(shù)據(jù)分組添加反饋數(shù)據(jù):在第二多播數(shù)據(jù)分組的報(bào)頭中設(shè)置標(biāo)志、修改第二多播數(shù)據(jù)分組的報(bào)頭中的保留字段、向第二多播數(shù)據(jù)分組添加新報(bào)頭,以及修改第二多播數(shù)據(jù)分組的報(bào)頭中的字段的至少一位。

如前面所提到的,本技術(shù)的實(shí)施例提供了防止接收來自自身的包含反饋數(shù)據(jù)的數(shù)據(jù)分組的任何節(jié)點(diǎn)重傳具有反饋數(shù)據(jù)的數(shù)據(jù)分組的機(jī)制。這對于防止源設(shè)備12多次接收相同的反饋會是有用的。因此,在步驟s108處,節(jié)點(diǎn)設(shè)備可以采取動作來防止自己重傳具有在步驟s106或s106'處添加的相同反饋數(shù)據(jù)的數(shù)據(jù)分組,或者減少另一個節(jié)點(diǎn)多次重傳相同反饋數(shù)據(jù)的機(jī)會。

在實(shí)施例中,節(jié)點(diǎn)設(shè)備包括當(dāng)節(jié)點(diǎn)設(shè)備重傳修改后的第二多播數(shù)據(jù)分組時激活(或打開,或啟動,或倒計(jì)時)的定時器。因此,當(dāng)節(jié)點(diǎn)設(shè)備發(fā)送包含反饋數(shù)據(jù)的數(shù)據(jù)分組時,節(jié)點(diǎn)設(shè)備可以開啟定時器或時鐘(步驟s108)。定時器可以倒計(jì)時預(yù)定義的時間量(例如,一分鐘、幾分鐘、一小時等),而當(dāng)定時器倒計(jì)時時,節(jié)點(diǎn)設(shè)備可以不重傳包含與定時器啟動時發(fā)送的反饋數(shù)據(jù)相同的反饋數(shù)據(jù)的數(shù)據(jù)分組。

在實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為):接收第三(或另外的)多播數(shù)據(jù)分組;確定用于發(fā)送第三(或另外的)多播數(shù)據(jù)分組的多播協(xié)議的至少一個可變參數(shù)需要修改;檢查定時器是否已經(jīng)過期;響應(yīng)于檢查,如果定時器已經(jīng)到期,則通過將反饋數(shù)據(jù)添加到第三(或另外的)多播數(shù)據(jù)分組來修改第三(或另外的)多播數(shù)據(jù)分組;并且重傳修改后的第三(或另外的)多播數(shù)據(jù)分組。在特定的實(shí)施例中,如果定時器尚未到期,則節(jié)點(diǎn)設(shè)備可以在不修改(即,利用反饋數(shù)據(jù))的情況下重傳第三/另外的多播數(shù)據(jù)分組。

附加地或替代地,節(jié)點(diǎn)設(shè)備可以與反饋數(shù)據(jù)一起向第二數(shù)據(jù)分組添加唯一標(biāo)識符(id),其中id識別向數(shù)據(jù)分組添加反饋數(shù)據(jù)的節(jié)點(diǎn)設(shè)備。因此,在實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為):向第二多播數(shù)據(jù)分組添加識別數(shù)據(jù),該識別數(shù)據(jù)識別添加反饋數(shù)據(jù)的裝置。接收包含該id的重傳的數(shù)據(jù)分組的網(wǎng)絡(luò)10中的其它設(shè)備(例如,節(jié)點(diǎn)或源)可以確定它們是否已經(jīng)在某個時間段內(nèi)(例如,在最后幾分鐘、最后一小時內(nèi),等等)重傳了包含相同反饋數(shù)據(jù)和相同id的數(shù)據(jù)分組。如果設(shè)備已經(jīng)重傳了包含相同反饋數(shù)據(jù)和相同id的數(shù)據(jù)分組,則設(shè)備可以丟棄接收到的數(shù)據(jù)分組,或者可以重傳不具有反饋數(shù)據(jù)的接收到的數(shù)據(jù)分組。

因此,在實(shí)施例中,節(jié)點(diǎn)設(shè)備可能能夠(或者被配置為):接收第三(或另外的)多播數(shù)據(jù)分組;確定用于發(fā)送第三(或另外的)多播數(shù)據(jù)分組的多播協(xié)議的至少一個可變參數(shù)需要修改;檢查第三(或另外的)多播數(shù)據(jù)分組是否包括識別數(shù)據(jù);響應(yīng)于該檢查,如果第三(或另外的)多播數(shù)據(jù)分組不包括識別數(shù)據(jù),則通過添加反饋數(shù)據(jù)來修改第三(或另外的)多播數(shù)據(jù)分組;并且重傳修改后的第三(或另外的)多播數(shù)據(jù)分組。在特定實(shí)施例中,如果第三(或另外的)多播數(shù)據(jù)分組包括識別數(shù)據(jù),則節(jié)點(diǎn)設(shè)備被配置為重傳無修改/不添加反饋數(shù)據(jù)的第三(或另外的)多播數(shù)據(jù)分組,因?yàn)樽R別數(shù)據(jù)指示反饋數(shù)據(jù)已經(jīng)被發(fā)送。

在圖5中,一旦定時器被激活并且/或唯一id已被添加到經(jīng)修正的第二數(shù)據(jù)分組,節(jié)點(diǎn)設(shè)備就發(fā)送經(jīng)修正的第二數(shù)據(jù)分組s110。然后處理在步驟s112處結(jié)束。

圖6示出了當(dāng)設(shè)備接收多個反饋數(shù)據(jù)時由節(jié)點(diǎn)設(shè)備或源設(shè)備執(zhí)行的步驟的流程圖。該處理在步驟s120處開始,并且在步驟s122處,設(shè)備(節(jié)點(diǎn)或源)接收重傳的數(shù)據(jù)分組s122。該設(shè)備確定重傳的數(shù)據(jù)分組是否包含反饋數(shù)據(jù)(步驟s124)。如果沒有識別出反饋數(shù)據(jù),則處理在步驟s138處結(jié)束。如果識別出反饋數(shù)據(jù),并且如果設(shè)備是節(jié)點(diǎn)設(shè)備,則設(shè)備可以重傳具有反饋數(shù)據(jù)的接收到的數(shù)據(jù)分組(步驟s126)。如果設(shè)備是源設(shè)備,則設(shè)備可以根據(jù)反饋數(shù)據(jù)而行動(例如,改變多播協(xié)議的可變參數(shù))。在實(shí)施例中,設(shè)備(節(jié)點(diǎn)或源)可以不立即采取任何動作,并且可以在重傳數(shù)據(jù)分組/修改可變參數(shù)之前等待較短的時間段。

可選地,在源設(shè)備12的情況下,源設(shè)備可以在執(zhí)行步驟s124之后在根據(jù)反饋數(shù)據(jù)而行動之前等待較短的時間段。如果在這段時間內(nèi)源設(shè)備沒有從網(wǎng)絡(luò)10接收到另外的數(shù)據(jù)分組(在步驟s128處),則源設(shè)備前進(jìn)到圖2的步驟s30(步驟s130)(即,響應(yīng)于反饋數(shù)據(jù)而修改多播操作的一個或多個可變參數(shù))。如果在這個時間段內(nèi)源設(shè)備確實(shí)接收到另外的數(shù)據(jù)分組,則處理繼續(xù)到步驟s132。在實(shí)施例中,源設(shè)備可以在步驟s126處根據(jù)接收到的反饋數(shù)據(jù)采取行動,并且可以不用在這樣做之前等待一段時間。在節(jié)點(diǎn)設(shè)備的情況下,節(jié)點(diǎn)設(shè)備可以自動重傳數(shù)據(jù)分組而無需等待另外的數(shù)據(jù)分組到達(dá),尤其是如果該節(jié)點(diǎn)是具有有限的存儲器/數(shù)據(jù)存儲的受約束的節(jié)點(diǎn)或較少約束的節(jié)點(diǎn)時。

如果在步驟s132處,設(shè)備(節(jié)點(diǎn)或源)檢查在步驟s128處接收的另外的重傳的數(shù)據(jù)分組是否包含反饋數(shù)據(jù)(步驟s132)。如果沒有反饋數(shù)據(jù),則處理在步驟s138處結(jié)束。如果在另外的重傳的數(shù)據(jù)分組中發(fā)現(xiàn)反饋數(shù)據(jù),則設(shè)備檢查另外的重傳的數(shù)據(jù)分組中的反饋數(shù)據(jù)是否是在步驟s124處發(fā)現(xiàn)的相同的反饋數(shù)據(jù)(步驟s134)。如果在步驟s134處反饋數(shù)據(jù)相同,則設(shè)備可以忽略該另外的數(shù)據(jù)分組中的反饋數(shù)據(jù)(步驟s136)。例如,如果設(shè)備是源設(shè)備,則源設(shè)備忽略反饋數(shù)據(jù),并且不進(jìn)一步修改與反饋數(shù)據(jù)對應(yīng)的一個或多個相同可變參數(shù)。如果該設(shè)備是節(jié)點(diǎn)設(shè)備,則節(jié)點(diǎn)設(shè)備可以從該另外的數(shù)據(jù)分組中移除反饋數(shù)據(jù),然后重傳數(shù)據(jù)分組。然后處理在步驟s138處結(jié)束。但是,如果在步驟s134處反饋數(shù)據(jù)不同,則源設(shè)備前進(jìn)到圖3的步驟s58(步驟s140),而節(jié)點(diǎn)設(shè)備在不移除反饋數(shù)據(jù)的情況下重傳該另外的數(shù)據(jù)分組(步驟s142)。

在實(shí)施例中,節(jié)點(diǎn)設(shè)備可以基本上與在步驟s126處重傳數(shù)據(jù)分組同時地開啟定時器。在這種實(shí)施例中,如果節(jié)點(diǎn)設(shè)備在步驟s134處確定兩個數(shù)據(jù)分組中的反饋數(shù)據(jù)相同,則節(jié)點(diǎn)設(shè)備可以被配置為檢查定時器是否仍在運(yùn)行或已經(jīng)到期。如上面所解釋的,如果節(jié)點(diǎn)設(shè)備定時器仍在運(yùn)行,則節(jié)點(diǎn)設(shè)備重傳不具有反饋數(shù)據(jù)的另外的數(shù)據(jù)分組。但是,如果節(jié)點(diǎn)設(shè)備定時器已經(jīng)到期,則節(jié)點(diǎn)設(shè)備可以替代地重傳具有反饋數(shù)據(jù)的另外的數(shù)據(jù)分組。因此,在步驟s136處采取的動作可以取決于節(jié)點(diǎn)是否設(shè)置了定時器而變化。

圖7示出了響應(yīng)于反饋數(shù)據(jù)而修改多播操作的步驟的示意圖。在這里,源設(shè)備12向網(wǎng)絡(luò)中的特定節(jié)點(diǎn)(包括第一節(jié)點(diǎn)n1)多播數(shù)據(jù)分組。第一節(jié)點(diǎn)n1可以是受約束的節(jié)點(diǎn)14或未約束的(或較少約束的)節(jié)點(diǎn)16。第一節(jié)點(diǎn)n1被配置為向源設(shè)備12和第二節(jié)點(diǎn)n2重傳接收到的數(shù)據(jù)分組。第二節(jié)點(diǎn)n2可以是受約束的節(jié)點(diǎn)14或未約束的(或較少約束的)節(jié)點(diǎn)16。因此,第二節(jié)點(diǎn)n2可以經(jīng)由第一節(jié)點(diǎn)n1將反饋數(shù)據(jù)發(fā)送回到源12。第一節(jié)點(diǎn)n1和第二節(jié)點(diǎn)n2可以使用任何通信技術(shù)(諸如廣播、單播和多播)來發(fā)送數(shù)據(jù)分組。

在步驟s160,源12向第一節(jié)點(diǎn)n1多播數(shù)據(jù)分組1。如前面所解釋的,源12使用多播操作和存儲的與多播操作關(guān)聯(lián)的可變參數(shù)來多播數(shù)據(jù)分組1。兩個節(jié)點(diǎn)n1和n2均重傳任何接收到的數(shù)據(jù)分組,以跨網(wǎng)絡(luò)傳送數(shù)據(jù)分組。因此,第一節(jié)點(diǎn)n1接收數(shù)據(jù)分組1并重傳數(shù)據(jù)分組1(步驟s162)。如步驟s162的雙箭頭所示,第一節(jié)點(diǎn)n1可以使用導(dǎo)致向源12和第二節(jié)點(diǎn)n2發(fā)送數(shù)據(jù)分組(例如,經(jīng)由多播)的通信協(xié)議來重傳數(shù)據(jù)分組1。第二節(jié)點(diǎn)n2可以接收數(shù)據(jù)分組1,并根據(jù)需要開始重傳數(shù)據(jù)分組(未示出)。但是,在所示實(shí)施例中,源12在第二節(jié)點(diǎn)n2重傳數(shù)據(jù)分組1之前對數(shù)據(jù)分組2進(jìn)行多播(步驟s164)。第一節(jié)點(diǎn)n1接收數(shù)據(jù)分組2并重傳數(shù)據(jù)分組2(步驟s166)。因此,第二節(jié)點(diǎn)n2在其重傳數(shù)據(jù)分組1之前接收到數(shù)據(jù)分組2。這會導(dǎo)致數(shù)據(jù)分組1被丟棄/刪除/重寫,尤其是如果節(jié)點(diǎn)n2僅具有有限的存儲器/數(shù)據(jù)存儲,并且可能例如只能一次存儲單個數(shù)據(jù)分組的話。因此,在步驟s168處,第二節(jié)點(diǎn)n2向數(shù)據(jù)分組2添加反饋數(shù)據(jù),然后重傳修改后的數(shù)據(jù)分組2(步驟s170)。反饋數(shù)據(jù)可以例如指示多播操作的傳輸速率太高。在所示示例中,第二節(jié)點(diǎn)n2被配置為至少向第一節(jié)點(diǎn)n1重傳數(shù)據(jù)分組。

在實(shí)施例中,如果在第一數(shù)據(jù)分組的重傳開始或完成之前節(jié)點(diǎn)n1/n2接收到第二數(shù)據(jù)分組,則節(jié)點(diǎn)n1、n2可以被配置為不重傳第一數(shù)據(jù)分組。這可以在由節(jié)點(diǎn)n1/n2使用的通信操作(例如,多播協(xié)議)中指定,或者以其他方式在節(jié)點(diǎn)n1/n2中實(shí)現(xiàn)。因此,在實(shí)施例中,即使第一數(shù)據(jù)分組可以暫時存儲在節(jié)點(diǎn)n1/n2的數(shù)據(jù)貯存器中,如果接收到第二數(shù)據(jù)分組,則節(jié)點(diǎn)仍然不重傳第一數(shù)據(jù)分組。在這種情況下,通常從節(jié)點(diǎn)n1/n2接收重傳的數(shù)據(jù)分組的節(jié)點(diǎn)可能接收不到第一數(shù)據(jù)分組,除非它從系統(tǒng)/網(wǎng)絡(luò)中的其它節(jié)點(diǎn)接收到第一數(shù)據(jù)分組。

第一節(jié)點(diǎn)n1被配置為向其它設(shè)備(包括源12)重傳接收到的修改后的數(shù)據(jù)分組2。但是,在第一節(jié)點(diǎn)n1重傳修改后的數(shù)據(jù)分組2之前,源12對數(shù)據(jù)分組3(步驟s172)進(jìn)行多播,使得第一節(jié)點(diǎn)n1在重傳修改后的數(shù)據(jù)分組2之前接收多播數(shù)據(jù)分組3。因此,源12尚未接收到任何反饋數(shù)據(jù),因此尚未修改多播操作或相關(guān)聯(lián)的可變參數(shù)。

第一節(jié)點(diǎn)n1向接收到的數(shù)據(jù)分組3添加反饋數(shù)據(jù)(步驟s174),并重傳具有反饋數(shù)據(jù)的修改后的數(shù)據(jù)分組3(步驟s176)。反饋數(shù)據(jù)可以指示多播操作的傳輸速率太高。源設(shè)備12接收重傳的修改后的數(shù)據(jù)分組3并識別反饋數(shù)據(jù)。如先前所述,響應(yīng)于反饋數(shù)據(jù),源設(shè)備12調(diào)整多播操作的一個或多個可變參數(shù)(步驟s178)。

第二節(jié)點(diǎn)n2還從節(jié)點(diǎn)n1接收重傳的修改后的數(shù)據(jù)分組3。由于第二節(jié)點(diǎn)n2最近已經(jīng)發(fā)送了具有相同反饋數(shù)據(jù)的數(shù)據(jù)分組(在步驟s170中),因此第二節(jié)點(diǎn)n2移除數(shù)據(jù)分組3中的反饋數(shù)據(jù)(步驟s180),然后重傳數(shù)據(jù)分組3(步驟s182)。如果在步驟s168或步驟s170處,第二節(jié)點(diǎn)n2開啟了定時器(如上面關(guān)于圖5所述),如果當(dāng)?shù)诙?jié)點(diǎn)n2從節(jié)點(diǎn)n1接收到數(shù)據(jù)分組3時定時器已經(jīng)到期,則第二節(jié)點(diǎn)n2可以重傳無修改(即,具有反饋數(shù)據(jù))的數(shù)據(jù)分組3。附加地或替代地,如果包含在數(shù)據(jù)分組3中的反饋數(shù)據(jù)與在步驟s170處添加到數(shù)據(jù)分組2的反饋數(shù)據(jù)不同,則在步驟s180處,第二節(jié)點(diǎn)可以重傳無修改的數(shù)據(jù)分組3。

在步驟s184處,源12使用修改后的可變參數(shù)和/或修改后的多播操作來對數(shù)據(jù)分組4進(jìn)行多播。第一節(jié)點(diǎn)n1從源12接收多播數(shù)據(jù)分組4并重傳數(shù)據(jù)分組4(步驟s186)。第二節(jié)點(diǎn)n2在不添加反饋數(shù)據(jù)的情況下重傳接收到的數(shù)據(jù)分組4(第二節(jié)點(diǎn)n2沒有另外的反饋要提供)(步驟s188),或者具有附加的反饋數(shù)據(jù)(未示出)。以這種方式,由源12使用的多播操作和相關(guān)聯(lián)的一個或多個參數(shù)可以被優(yōu)化來適合于網(wǎng)絡(luò)中的一些或全部節(jié)點(diǎn)設(shè)備。

本技術(shù)的實(shí)施例還提供了承載代碼的非暫態(tài)數(shù)據(jù)載體,當(dāng)在處理器上實(shí)現(xiàn)該代碼時,使得處理器執(zhí)行本文描述的方法。

這些技術(shù)還提供處理器控制代碼,以實(shí)現(xiàn)上述方法,例如在通用計(jì)算機(jī)系統(tǒng)上或數(shù)字信號處理器(dsp)上。這些技術(shù)還提供承載處理器控制代碼的載體,當(dāng)代碼運(yùn)行時,實(shí)現(xiàn)上述任何方法,尤其是在非暫態(tài)數(shù)據(jù)載體(諸如盤、微處理器、cd或dvd-rom)上、編程存儲器(諸如只讀存儲器(固件))或者數(shù)據(jù)載體(諸如光或電信號載體)上。代碼可以被設(shè)置在載體(諸如盤、微處理器、cd或dvd-rom)上、編程存儲器(諸如非易失性存儲器(例如,閃存)或只讀存儲器(固件))上。實(shí)現(xiàn)這些技術(shù)的實(shí)施例的代碼(和/或數(shù)據(jù))可以包括在常規(guī)編程語言(諸如c)(解釋的或編譯的)中的源、對象或可執(zhí)行代碼,或者匯編代碼、用于設(shè)置或控制asic(專用集成電路)或fpga(現(xiàn)場可編程門陣列)的代碼,或用于諸如verilogtm或vhdl(超高速集成電路硬件描述語言)的硬件描述語言的代碼。如本領(lǐng)域技術(shù)人員將認(rèn)識到的,這樣的代碼和/或數(shù)據(jù)可以在相互通信的多個耦合的組件之間分布。該技術(shù)可以包括控制器,該控制器包括耦合到系統(tǒng)的一個或多個組件的微處理器、工作存儲器和程序存儲器。

用于執(zhí)行上述技術(shù)的操作的計(jì)算機(jī)程序代碼可以用一種或多種編程語言(包括面向?qū)ο蟮木幊陶Z言和常規(guī)的程序性編程語言)的任意組合來編寫。代碼組件可以被實(shí)現(xiàn)為采用任何抽象級別(從本地指令集的直接機(jī)器指令到高級編譯或解釋語言結(jié)構(gòu))的過程、方法等并且可以包括可以指令或指令序列形式的子組件。

對于本領(lǐng)域技術(shù)人員還將清楚的是,根據(jù)本技術(shù)的優(yōu)選實(shí)施例的邏輯方法的全部或部分可以適當(dāng)?shù)伢w現(xiàn)在包括邏輯元件以執(zhí)行上述方法的步驟的邏輯裝置中,并且這種邏輯元件可以包括諸如例如可編程邏輯陣列中的邏輯門或者專用集成電路的組件。這樣的邏輯布置還可以在使用例如虛擬硬件描述符語言的這樣的陣列或電路中暫時或永久建立邏輯結(jié)構(gòu)的使能元件中實(shí)施,其中虛擬硬件描述符語言可以使用固態(tài)的或可發(fā)送的載體介質(zhì)來存儲和發(fā)送。

在實(shí)施例中,本技術(shù)可以以其上具有功能數(shù)據(jù)的數(shù)據(jù)載體的形式實(shí)現(xiàn),所述功能數(shù)據(jù)包括功能計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu),當(dāng)其被加載到計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)中并且由此操作時,使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行上述方法的所有步驟。

本領(lǐng)域技術(shù)人員將認(rèn)識到的是,雖然上述內(nèi)容已經(jīng)描述了被認(rèn)為是最佳模式的內(nèi)容,并且在適當(dāng)?shù)那闆r下還有執(zhí)行本技術(shù)的其它模式,但是本技術(shù)不應(yīng)當(dāng)被限制于優(yōu)選實(shí)施例的本描述中所公開的具體配置和方法。本領(lǐng)域技術(shù)人員將認(rèn)識到,本技術(shù)具有廣泛的應(yīng)用范圍,并且在不背離如所附權(quán)利要求所限定的任何發(fā)明構(gòu)思的情況下,實(shí)施例可以進(jìn)行寬范圍的修改。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1