在廣告插入設備故障之後基於網絡地切換到原始內容的製作方法
2023-08-09 00:02:51 1
專利名稱:在廣告插入設備故障之後基於網絡地切換到原始內容的製作方法
技術領域:
具體實施例一般地涉及聯網。
背景技術:
在視頻網絡中,插入廣告是常見的。廣告插入設備通常從網絡中的源吸收內容,插 入廣告,然後將插入廣告後的視頻內容發送給網絡。然後,該內容被遞送給接收機。由於所 有內容都被廣告插入複合裝置吸收再重傳,所以廣告插入複合裝置處的故障使得接收機不 能接收插入了廣告的內容。即使是在原始內容仍然正從源被發送並被網絡中的路由器接收 時,也是這樣。
圖1示出根據一個實施例的用於遞送內容的系統的示例。圖2示出根據一個實施例的路由器的更詳細的示例。圖3示出接口 INT-I已被指派給用於源Sl的多播樹並且不活動接口或虛接口已 被指派給用於源S2的多播樹的示例。圖4示出根據一個實施例的用於遞送內容的方法的流程圖。
具體實施例方式鍵具體實施例一般地涉及在IP/MPLS網絡中的多播樹上從源向一個或多個接收機 遞送多播內容。在一個實施例中,網絡設備加入第一多播樹,第一多播樹用於包括廣告的內容,廣 告被插入在該內容中。網絡設備還加入第二多播樹,第二多播樹用於不包括廣告的內容。網 絡設備還在其路由和轉發資料庫中為這兩個多播樹裝載兩個對應的條目,以正確地處理在 這兩個多播樹上接收的內容。第一多播樹至少包括所述網絡設備處的出接口以允許所述內 容被發送給至少一個接收機。第二多播樹包括網絡設備處的不活動接口或虛接口以使得內 容在被接收到時不被發送給任何接收機。網絡設備判斷其是否由於任何故障而沒有在第一 多播樹上接收到內容,在該情況中,其通過將與第一多播樹相關聯的出接口的列表與第二 多播樹的出接口的列表交換,將來自第二多播樹的內容遞送給接收機。這使得接收機能夠 在第一多播樹中出現故障期間接收原始內容。當該故障被解決時,網絡設備可以回到從第 一多播樹向接收機發送內容。示例實施例圖1示出用於根據一個實施例來遞送多播內容的系統100的示例。將理解,本領 域技術人員將意識到系統100的其它組件。系統100包括源102、路由器104、廣告插入復 合裝置(AIC) 106和接收機108。將理解,可以提供任意數目的所示組件。例如,可以僅提供 一個路由器104或者可以提供另外的路由器。並且,在網絡100中,可以提供多個源102、接收機108和廣告插入複合裝置106,但是為了討論的目的沒有示出。網絡100可以是網際網路協議(IP)或多協議標籤交換(MPLS)網絡。可以在遞送內 容的一個或多個網絡設備中找到源102。可能存在可以遞送內容的多個源。可以在服務提 供商的網絡的頭端(headend)處找到這些源。接收機108可以是接收內容的設備。例如,接收機108可以是可以接收內容並將 其顯示在顯示設備上的機頂盒。也可以意識到其它接收機107,例如個人計算機、蜂窩電話寸寸。路由器104可以是被配置為使用IP轉發或MPLS轉發來路由或轉發多播內容的網 絡設備。具體實施例使用IP轉發來說明本發明,但是本領域技術人員將認識到可以使用 MPLS。多播樹被類推地定義為包括作為根的源和作為葉子的接收機。多播分發樹被形成為 使得從根到一個多播群組的數據分組到達已經「加入」該群組的所有接收機。在IP/MPLS 網絡中,多播樹可以被建立為IP多播樹或MPLS多播樹等。在前一情況中,每個多播樹用網 絡設備上的一對IP位址,例如(S,G)來識別,而在後一情況中,每個多播樹用網絡設備上的 MPLS標籤來識別。路由器104可以包括不同路由設備。例如,路由器104可以包括無線路由設備、有 線路由設備等等。廣告插入複合裝置106被配置為通過IP/MPLS網絡100從源102接收內容,在該 內容中插入信息,並且將修改後的內容發回IP/MPLS網絡100以用於將其遞送給接收機 108。在一個實施例中,廣告插入複合裝置106在該內容中插入廣告或者在現有內容上疊加 廣告。廣告可以是插入或疊加到原始內容的任意信息,例如,商業廣告、徽標等等。公司可 以為廣告插播(advertisement spot)付費,其中它們的產品或服務出現在內容中。儘管描 述了廣告,但是將理解,可以插入任意內容。具體實施例為插入廣告前的內容和插入廣告後的內容提供多個多播樹。每個多播 樹唯一地對應於通過網絡的路徑並且由網絡設備使用一對IP位址來識別,這對IP位址包 括單播IP位址和多播(群組)IP位址。單播IP位址還可以識別特定源(如在用於特定多 播樹的(S,G)中那樣)或者任意源(如在用於共享多播樹的(*,G)中那樣)。插入廣告前 的內容是未被廣告插入複合裝置106插入任何廣告的原始內容。插入廣告後的內容是包括 被廣告插入複合裝置106插入原始內容中的廣告的內容。插入廣告後的內容從廣告插入復 合裝置106產生,而插入廣告前的內容從源102產生。從網絡100的角度來看,可以認為廣 告插入複合裝置106是另一個源。用於插入廣告前的內容的多播樹的多播樹(例如,S,G 對)與用於插入廣告後的內容的多播樹的多播樹不同。路由器104加入這兩個多播樹來從網絡100接收插入廣告前和插入廣告後的內 容,然而,其僅將插入廣告後的內容發送給接收機108。當檢測到插入廣告後的內容的故障 時,路由器104可能希望通過修改有關的多播樹的出接口來將插入廣告前的內容發送給接 收機108。因此,接收機108在接收內容時不會體驗到中斷。當故障被解決時,路由器104 可以切換回插入廣告後的內容。現在,將更詳細地描述初始化多播路由和執行該切換的處理。圖2示出根據一個 實施例的路由器的更詳細的示例。在一個或多個路由器104中提供多播控制平面202。在 一個實施例中,在最後一跳路由器(LHR)中找到多播控制平面202,最後一跳路由器是連接到接收機108的最後一個路由器。在該情況中,最後一跳路由器是路由器104-1。將理解, 也可以在其它網絡設備,例如路由器104-3等中找到多播控制平面202。在一個實施例,多播控制平面202可以從接收機108接收用於接收內容的網際網路 群組管理協議(IGMP)加入請求。在另一實施例中,多播控制平面202可以不從接收機接收 任何IGMP加入,而是被靜態地配置為將內容提供給接收機。則多播控制平面202可以使用 獨立多播協議(Protocol Independent Multicast, PIM)加入消息來加入合適的多播樹。多播控制平面202被從接收機接收的請求觸發,同意從「廣告插入複合裝置」 106 和用於特定多播群組的源接收內容。多播群組可以是同一個。在一個實施例中,G是多播 群組地址,Sl是源102的單播IP位址,並且S2是廣告插入複合裝置106的單播IP位址。 這意味著多播樹(S1,G)表示用於插入廣告前的內容的多播樹,而多播樹(S2,G)表示用於 插入廣告後的內容的多播樹。多播控制平面202向源發送針對(S1,G)和(S2,G)的獨立多 播協議(PIM)加入消息來同意接收內容。不同的組合或標識符可以用來指示多播樹的多播 路由。例如,群組可以是通用的或者群組在多播樹是(S1,G1)時可以用Gl指定而在多播樹 是(S2,G2)時用G2指定。在不同版本的網際網路群組管理協議(IGMP)中,加入消息是不同的。在版本v2中, (S,G)的源不是在IGMP中指定的。在一個實施例中,接收機108發送(*,G)的請求,其請 求來自任意源的用於群組「G」的內容。在版本v3中,接收機在IGMP加入消息中指定(S, G)的源。針對(S,G)的IGMP加入僅請求來自源「S」的用於群組「G」的內容。在v3中,如 果接收機請求來自源S2的內容,但是得到來自源Sl的內容,則接收機108會丟棄來自源 Sl的內容。IGMP版本v3還允許通過在INCLUDE過濾器中包括許可源的列表來在IGMP消 息中指定多於一個的源。例如,接收機108可以利用INCLUDE過濾器在源列表中包括Sl和 S2兩者並且讓路由器104-1強制偏向S 1或S2。可替換地,版本v3可以被修改以使得源 列表也包括每個源的權重。如果權重相等或為空,則路由器將不會偏向於任何一個源。如 果它們不相等,則路由器104-1將偏向於具有最高權重的源並且如果具有最高權重的源不 可用,則偏向移向具有次最高權重的源。在多播控制平面202處通過指定為INT-I的接口可以接收來自接收機108的。多 播控制平面202在多播路由選擇和轉發資料庫(MRFD) 204中創建用於S1,G和S2,G的兩個 條目。一旦為每個條目確定了反向路徑轉發(RPF)鄰居,多播樹發起器203就向RPF鄰居 上遊發送PIM加入請求以加入用於Si,G和S2,G的多播樹。當多播路由選擇和轉發資料庫(MRFD) 204在一個或多個接口上接收到IGMP加入 時,其還在出接口列表(MRFD)中將每個多播樹與那些接口相關聯。這使得路由器104能夠 在指定接口上發送針對多播樹接收的內容。接口可以是埠或其它接口。插入廣告後的視頻內容(S2,G)可以與接口 INT-I相關聯,接口 INT-1是被用來向 接收機108發送內容的指定接口。多播樹(S1,G)與不活動接口或虛接口相關聯。在該情況 中,當用於插入廣告後的內容的內容被接收到時,其通過接口 INT-I被發送給接收機108。 然而,當用於插入廣告前的內容的內容被接收到時,其不被發送給接收機,因為其接口是不 活動的接口。插入廣告後的內容可能由於故障而變得不可獲得。例如,廣告插入複合裝置106 可能出現了故障,或者用於插入廣告後的內容的多播樹可能出現了故障,或者從網絡100到廣告插入複合裝置的連接可能出現了故障,等等。參考圖3,多播轉發平面206被配置為 檢測是否在指定多播樹上不再可以獲得多播內容。這包括通過對諸如用於插入廣告後的內 容的(S2,G)之類的指定多播樹進行分組計數來監測多播流量。在該情況中,可以使用計數 器,計數器對在一時間段上為指定多播樹接收的分組進行計數。如果計數值在某一閾值以 下,則可以斷言指定多播樹的故障。可以意識到其它檢測故障的方法。—旦多播轉發平面206檢測到針對插入廣告後的多播的內容故障,多播轉發平面 206就發起從一個多播樹向另一多播樹的切換。儘管討論了插入廣告前或插入廣告後的內 容,但是將理解具體實施例可以應用於為兩個多播樹切換任意兩個多播流。當進行切換時, 多播轉發平面206可以用MRFD 204中的多播樹Si,G的出接口列表交換多播樹S2,G的出 接口列表。圖3示出在MRFD 24中多播樹Si,G已被指派出接口 INT-I並且多播樹S2,G已 被指派不活動接口或虛接口的示例。之後,多播轉發平面206被更新來在INT-I上轉發在 用於Si,G的多播樹上接收的內容。這使得插入廣告前的內容被發送給接收機108。因此,路由器104-1可以智能地將原始視頻內容,例如插入廣告前的內容(Si,G) 遞送給接收機108,而不需接收機108的任何幹預。者可以是動態的和自動的。並且,即便 如果在插入廣告前的內容的取代插入廣告後的內容被發送時有中斷,該切換也可以導致最 小的中斷。當廣告插入複合裝置106變得可工作或可到達時,其將開始又發送插入廣告後的 內容。然後,路由器104-1將接收多播樹(S2,G)上的內容。多播轉發平面206確定何時 將切換成插入廣告後的內容。多播轉發平面206被配置為檢測是否可在指定多播樹上獲得 多播內容。這包括通過對諸如用於插入廣告後的內容的(S2,G)之類的指定多播樹進行分 組計數來監測多播流量。在該情況中,可以使用計數器,該計數器對一段時間上針對指定多 播樹接收的分組進行計數。如果計數器值超過某一閾值,則可以斷言指定多播樹的可用性, 並且可以通過多播轉發平面206來執行切換。在該情況中,多播轉發平面206可以用MRFD 204中多播樹S2,G的出接口列表交換多播樹Si,G的出接口列表。圖2示出在MRFD 204 中多播樹S1,G被指派不活動接口或虛接口而多播樹S2,G被指派出接口 INT-I的示例。然 後,多播轉發平面206被更新來在INT-I上轉發在用於S2,G的多播樹上接收到的內容。然 後,接收機108從用於S2,G的多播樹接收插入廣告後的內容,如圖2中所示。圖4示出根據一個實施例遞送內容的方法的流程圖。步驟402在INT-I接口上從 接收機接收針對內容的多播加入。接收機108可以發送針對一個或多個內容源的加入,內 容可以是插入廣告前的內容和插入廣告後的內容。步驟402加入用於(Si,G)的多播樹和用於(S2,G)的多播樹,如果路由器104-1 已經加入它們的話。例如,針對(*,G)的加入可以被發送以加入針對Sl和S2的路由。多 播樹對於插入廣告前的內容和插入廣告後的內容可以是不同的。例如,多播樹可以穿過網 絡中不同的路由器。具體地,插入廣告前的內容不穿過廣告插入複合裝置106。步驟406將插入廣告後的多播樹(S2,G)添加到MRFD 204中的接口 INT-1,接口 INT-I將把內容發送給接收機108。步驟408將插入廣告前的多播樹添加到MRFD 204中的 虛接口。步驟408接收用於插入廣告後的多播樹和用於插入廣告前的多播樹的內容。然 後,步驟410根據MRFD 204中指定的接口來發送內容。例如,插入廣告後的內容通過接口INT-I被發送給接收機108。並且,插入廣告前的內容通過虛接口發送,虛接口不將內容發 送給接收機108。步驟412確定何時應當進行切換。例如,針對插入廣告後的內容接收的分組數可 能下降到某一水平以下。當應當進行切換時,步驟414切換MRFD 204中的接口。例如,插 入廣告後的內容多播樹被切換至虛接口並且插入廣告前的多播樹被切換至接口 INT-I。然後,步驟416通過接口 INT-I向接收機108發送插入廣告前的內容並且將插入 廣告後的內容發送至虛接口,如果有插入廣告後的內容的話。然後,反覆進行該處理來判斷 是否應當進行另一切換。當檢測到故障時,該處理可以在插入廣告前的內容與插入廣告後 的內容之間的切換被執行時持續進行。具體實施例提供許多優點。例如,網絡以最小的中斷防範廣告插入複合裝置。該 處理也可以被應用來使得如果路由器沒能使用主要多播樹接收內容,則路由器可以從主要 多播樹切換到次要多播樹。這提供了可以由路由器而不是接收機應用的智能解決方案,並 且不需要接收機的任何幹預而引起該切換。因此,不需要對接收機108進行任何改變而執 行切換。接收機108按照請求繼續接收內容。儘管已經關於本發明的具體實施例進行了描述,但是這些具體實施例僅僅是說明 性的而不是限制性的。具體實施例可以適用於具有主次關係的任意兩個多播路由。可以使用任意合適的程式語言來實現具體實施例的例程,包括C、C++、Java、彙編 語言等等。可以採用不同的編程技術,例如面向程序的或面向對象的。這些例程可以在單 個處理設備或多個處理器上執行。儘管步驟、操作、或計算可以以具體次序表示,但是在不 同具體實施例中,該次序可以改變。在某些具體實施例中,在本說明書中被示為順序的多個 步驟可以被同時執行。具體實施例可以在計算機可讀存儲介質或有形介質中實現以由指令執行系統、裝 置、系統或設備使用或與之結合使用。具體實施例可以在軟體或硬體或兩者的結合中以控 制邏輯的形式實現。該控制邏輯,當被一個或多個處理器執行時,可以操作用於執行具體實 施例中所記載的那些內容。具體實施例可以通過使用編程通用數字計算機、通過使用專用集成電路、可編程 邏輯設備、現場可編程邏輯門陣列來實現。也可以使用光的、化學的、生物的、量子的或納米 工程的系統、組件和機構。總之,具體實施例的功能可以藉助現有技術中已知的任何手段來 實現。可以使用分布式的、聯網的系統、組件和/或電路。數據的通信或轉移可以是有線的、 無線的或通過任意其它手段的。將明白,當根據具體應用可用時,附圖/示圖中所示出的元件中的一個或多個也 可以以更分離或更集成的方式實現,或者在某些情況中不可操作時甚至可以移除或放棄。 實現可被存儲在機器可讀介質中以允許計算機執行上述方法中的任意方法的程序或代碼 也在其精神和範圍內。除非上下文清楚地另外指明,在這裡的說明書中以及貫穿權利要求書使用的「一 個」和「該」包括複數指代。並且,除非上下文清楚地另外指明,在這裡的說明書中以及貫穿 權利要求書使用的「在……中」的含義包括「在……中」和「在……上」。因此,儘管這裡已經描述了具體實施例,但是以上公開中意含修改、不同變更和替 換的範圍,並且將明白,在某些情形中,在不偏離所闡述的範圍和精神的情況下,可以採用具體實施例的某些特徵而不對應地使用其他特徵。因此,可以進行許多修改來使具體情況 或材料與實質的範圍和精神相適應。
權利要求
1.一種方法,包括加入第一多播樹,所述第一多播樹用於插入後的內容,該插入後的內容包括插入信息, 該插入信息由網絡中的插入複合裝置插入到所述內容中;加入第二多播樹,所述第二多播樹用於插入前的內容,該插入前的內容不包括所述插 入信息;將出接口添加到所述第一多播樹,以允許該插入後的內容在被接收到時被發送給接收機;將不活動接口添加到所述第二多播樹,以使得該插入前的內容在被接收到時不被發送 給所述接收機;確定所述第一多播樹上的內容的故障;以及將所述出接口切換到所述第二多播樹,以使得用於所述第二多播樹的插入前的內容被 發送給所述接收機。
2.根據權利要求1所述的方法,還包括確定所述故障的解決,以使得所述內容在所述第一多播樹上被接收;以及 將所述第一多播樹切換到所述出接口,以使得用於所述第一多播樹的插入後的內容被 發送給所述接收機。
3.根據權利要求1所述的方法,還包括針對所述第一多播樹和所述第二多播樹發送一個或多個加入消息。
4.根據權利要求1所述的方法,還包括從所述接收機接收加入請求,該加入請求為多播群組指定第一源和第二源; 使用所述加入請求中所指定的源優先級來確定所述第一源和所述第二源; 加入所述第一源的第一多播樹和所述第二源的第二多播樹;以及 向接收機發送來自所述第一多播樹的內容直到在所述第一多播樹上接收內容出現故 障為止。
5.根據權利要求1所述的方法,還包括從所述接收機接收針對多播群組的加入請求,所述加入請求不指定源; 基於預定的配置來確定用於所指定的多播群組的所述第一源和所述第二源; 加入所述第一源的第一多播樹和所述第二源的第二多播樹;以及 向所述接收機發送來自所述第一多播樹的內容直到在所述第一多播樹上接收內容出 現故障為止。
6.根據權利要求1所述的方法,還包括 監測所述第一多播樹的流量;基於所述流量來判定是否出現所述故障;以及 在所述判定之後執行到所述第二多播樹的切換。
7.根據權利要求6所述的方法,還包括 監測所述第一多播樹的流量;判定針對所述第一多播樹接收的流量是否指示所述故障已解決;以及 在所述解決的判定之後執行到所述第一多播樹的切換。
8.根據權利要求1所述的方法,其中所述多播樹或者用IP路由或者用MPLS標籤來識別。
9.根據權利要求1所述的方法,其中所述切換是在沒有來自所述接收機的用於切換所 述多播樹的通知的情況下被執行的。
10.根據權利要求1所述的方法,其中所述第一多播樹包括被所述插入複合裝置插入 的廣告,所述插入複合裝置是所述第一多播樹的一部分。
11.一種裝置,包括 一個或多個處理器;以及在一個或多個有形介質中編碼的邏輯單元,所述邏輯單元用於由所述一個或多個處理 器執行並且在被執行時可操作用於加入第一多播樹,所述第一多播樹用於包括插入信息的內容,該插入信息被插入所述 內容中;加入第二多播樹,所述第二多播樹用於不包括所述插入信息的內容; 將出接口添加到所述第一多播樹,以允許所述內容在被接收到時被發送給接收機; 將不活動接口添加到所述第二多播樹,以使得所述內容在被接收到時不被發送給所述 接收機;確定所述第一多播路由上的所述第一多播樹的內容的故障;以及 將所述出接口切換到所述第二多播樹,以使得用於所述第二多播樹的內容被發送給所 述接收機。
12.根據權利要求11所述的裝置,其中所述邏輯單元在被執行時還可操作用於 確定所述故障的解決,以使得所述內容在所述第一多播樹上被接收;以及將所述第一多播樹切換到所述出接口,以使得用於所述第一多播樹的內容被發送給所 述接收機。
13.根據權利要求11所述的裝置,其中所述邏輯單元在被執行時還可操作用於針對所 述第一多播樹和所述第二多播樹發送一個或多個加入消息。
14.根據權利要求11所述的裝置,其中所述邏輯單元在被執行時還可操作用於 從所述接收機接收加入請求,所述加入請求為多播群組指定第一源和第二源; 使用所述加入請求中所指定的源優先級來確定所述第一源和所述第二源;加入所述第一源的第一多播樹和所述第二源的第二多播樹;以及 向接收機發送來自所述第一多播樹的內容直到在所述第一多播樹上接收內容出現故 障為止。
15.根據權利要求11所述的裝置,其中所述邏輯單元在被執行時還可操作用於 監測所述第一多播樹的流量;基於所述流量來判定是否出現所述故障;以及 在所述判定之後執行到所述第二多播樹的切換。
16.根據權利要求15所述的裝置,其中所述邏輯單元在被執行時還可操作用於 監測所述第一多播樹的流量;判定針對所述第一多播樹接收的流量是否指示所述故障的解決;以及 在所述解決的判定之後執行到所述第一多播樹的切換。
17.根據權利要求11所述的裝置,其中所述多播樹或者用IP路由或者用MPLS標籤來識別。
18.根據權利要求11所述的裝置,其中所述切換是在沒有來自所述接收機的用於切換 所述多播樹的通知的情況下被執行的。
19.根據權利要求11所述的裝置,其中所述第一多播樹包括被所述插入複合裝置插入 的廣告,所述插入複合裝置是所述第一多播樹的一部分。
20.一種裝置,包括用於加入第一多播樹的部件,所述第一多播樹用於包括插入信息的內容,該插入信息 被插入所述內容中;用於加入第二多播樹的部件,所述第二多播樹用於不包括所述插入信息的內容;用於將出接口添加到所述第一多播樹,以允許所述內容在被接收到時被發送給接收機 的部件;用於將不活動接口添加到所述第二多播樹,以使得所述內容在被接收到時不被發送給 所述接收機的部件;用於確定所述第一多播路由上的內容的故障的部件;以及用於將所述出接口切換到所述第二多播樹,以使得用於所述第二多播樹的內容被發送 給所述接收機的部件。
全文摘要
在一個實施例中,網絡設備接入第一多播樹來接收插入廣告後的視頻內容。該網絡設備還加入第二多播樹來接收插入廣告前的視頻內容。來自第一多播樹的內容被所述網絡設備轉發給一個或多個接收機。該網絡設備判斷其是否由於任何故障而沒有在第一多播樹上接收到內容,在該情況中,其將來自第二多播樹的內容遞送給一個或多個接收機。這使得接收機能夠在第一多播樹中出現故障期間接收原始(插入廣告前的)內容。當故障被解決時,網絡設備可以回到從第一多播樹向一個或多個接收機發送內容。
文檔編號H04L12/18GK102077509SQ200980125144
公開日2011年5月25日 申請日期2009年4月29日 優先權日2008年4月30日
發明者拉吉·阿沙提, 格雷戈裡·聖菲爾德, 科哈理德·穆罕默德 申請人:思科技術公司