專利名稱:用于管理流式媒體服務(wù)的方法
背景存在其中客戶機(jī)裝置可請(qǐng)求媒體文件的傳遞連同對(duì)那個(gè)所請(qǐng)求媒體文件的某種處理、如噪聲降低的系統(tǒng)。一旦所請(qǐng)求的媒體傳遞由服務(wù)器接收,媒體文件被檢索,然后由服務(wù)器對(duì)那個(gè)媒體文件執(zhí)行所請(qǐng)求的處理。一旦處理完全完成,服務(wù)器把已處理媒體文件發(fā)送給客戶機(jī)裝置。對(duì)于這種系統(tǒng)存在一些問題。例如,如果服務(wù)器正嘗試處理許多分開的處理和傳送媒體文件給不同請(qǐng)求客戶機(jī)裝置的請(qǐng)求,則客戶機(jī)裝置的用戶可能必須等待相當(dāng)長(zhǎng)的時(shí)間。另外,流式媒體文件可能很大,并且在流式傳遞開始之前可能耗費(fèi)很長(zhǎng)時(shí)間來完成對(duì)內(nèi)容的所請(qǐng)求處理。這可能使客戶機(jī)裝置用戶失望,特別是當(dāng)他或她正嘗試在限期之前完成某項(xiàng)工作時(shí)。
由于這些及其它原因,需要本發(fā)明。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)實(shí)施例包括用于管理流式媒體服務(wù)的方法。該方法包括接收來自客戶機(jī)的對(duì)于流式媒體服務(wù)的請(qǐng)求。流式媒體服務(wù)包括多個(gè)媒體服務(wù)組件。另外,該方法還包括確定多個(gè)媒體服務(wù)組件中的哪個(gè)媒體服務(wù)組件要分配給網(wǎng)絡(luò)的多個(gè)服務(wù)節(jié)點(diǎn)中的一個(gè)服務(wù)節(jié)點(diǎn)。該方法還包括通知分配用于執(zhí)行多個(gè)媒體服務(wù)組件中的一個(gè)媒體服務(wù)組件的各服務(wù)節(jié)點(diǎn),使流式媒體服務(wù)能夠?qū)α魇矫襟w執(zhí)行。
附圖簡(jiǎn)介
圖1是示意圖,說明向多個(gè)移動(dòng)客戶機(jī)裝置傳遞媒體的一種傳統(tǒng)方式。
圖2是示意圖,說明對(duì)媒體進(jìn)行處理并傳遞給移動(dòng)客戶機(jī)裝置的一種傳統(tǒng)方式。
圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖5A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖5B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖6是具有在其中可實(shí)施本發(fā)明的實(shí)施例的單一內(nèi)容服務(wù)器的用于數(shù)據(jù)會(huì)話切換的示范系統(tǒng)的框圖。
圖7是具有在其中可實(shí)施本發(fā)明的實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)的用于數(shù)據(jù)會(huì)話切換的另一個(gè)示范系統(tǒng)的框圖。
圖8A和圖8B是流程圖,說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)會(huì)話切換的過程。
圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的框圖,說明示范操作,媒體服務(wù)體系結(jié)構(gòu)(MSA)通過這些操作來分解和分配服務(wù)。
圖11是根據(jù)本實(shí)施例的一個(gè)實(shí)施例的服務(wù)位置管理方法的框圖。
圖12a是根據(jù)本發(fā)明的實(shí)施例的服務(wù)的組件的示范抽象圖。
圖12b-d說明根據(jù)本發(fā)明的實(shí)施例的網(wǎng)絡(luò)上的組件的三種示范分布。
圖13是根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行的、用于管理流式媒體服務(wù)的操作的流程圖。
圖14是根據(jù)本發(fā)明的一個(gè)實(shí)施例的MSA中被處理的多個(gè)媒體流的框圖。
圖15是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的MSA中被處理的多個(gè)媒體流的框圖。
圖16是根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行的操作的流程圖。
圖17是根據(jù)本發(fā)明的另一個(gè)實(shí)施例執(zhí)行的操作的流程圖。
優(yōu)選實(shí)施例說明現(xiàn)在詳細(xì)參照本發(fā)明的實(shí)施例,其實(shí)例在附圖中說明。雖然結(jié)合實(shí)施例來描述本發(fā)明,但是要理解,它們不是意在把本發(fā)明限制到這些實(shí)施例。相反,本發(fā)明意在涵蓋可能包含在所附權(quán)利要求定義的本發(fā)明的精神和范圍之內(nèi)的備選、修改和等效方案。此外,在本發(fā)明的以下詳細(xì)說明中,闡述許多具體細(xì)節(jié),以便更透徹地了解本發(fā)明。但是,本領(lǐng)域的技術(shù)人員非常清楚,即使沒有這些具體細(xì)節(jié),也可實(shí)施本發(fā)明。在其它情況下,沒有詳細(xì)說明眾所周知的方法、程序、組件和電路,以免不必要地影響對(duì)本發(fā)明的各個(gè)方面的理解。
符號(hào)和命名以下詳細(xì)說明的一些部分用對(duì)計(jì)算系統(tǒng)或數(shù)字系統(tǒng)存儲(chǔ)器中的數(shù)據(jù)位的操作的程序、邏輯塊、處理及其它符號(hào)表示來提供。這些描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用于向本領(lǐng)域的其它技術(shù)人員最有效地傳達(dá)其工作實(shí)質(zhì)的方式。程序、邏輯塊、過程等在此以及一般被認(rèn)為是產(chǎn)生預(yù)期結(jié)果的操作或指令的自相容序列。操作可包括物理量的物理處理。這些物理處理通常但不一定采取電或磁信號(hào)的形式,這些信號(hào)能夠在計(jì)算系統(tǒng)或類似的電子計(jì)算裝置中被存儲(chǔ)、傳送、組合、比較或者以其它方式處理。對(duì)于本發(fā)明,為了方便起見,以及參照普遍用法,把這些信號(hào)稱作位、值、元素、符號(hào)、字符、項(xiàng)、數(shù)字等。
但應(yīng)當(dāng)記住,所有這些術(shù)語應(yīng)解釋為引用物理操作和物理量,并且只是方便的標(biāo)記,以及要考慮到本領(lǐng)域常用的術(shù)語進(jìn)一步解釋。除非明確說明,否則從以下論述中清楚看到,大家理解,在本發(fā)明的整個(gè)論述中,采用諸如“決定”、“應(yīng)用”、“處理”、“執(zhí)行”、“判定”、“確定”、“傳送”、“接收”、“檢索”、“提供”、“識(shí)別”、“產(chǎn)生”、“利用”、“刪除”、“通知”、“排除”、“丟棄”、“實(shí)現(xiàn)”、“采用”、“存儲(chǔ)”等術(shù)語的論述表示處理和變換數(shù)據(jù)的計(jì)算系統(tǒng)或類似電子計(jì)算裝置的動(dòng)作和過程。數(shù)據(jù)表示為計(jì)算系統(tǒng)的寄存器和存儲(chǔ)器中的物理(電子)量,并且被變換為類似表示為計(jì)算系統(tǒng)的存儲(chǔ)器或寄存器或其它這種信息存儲(chǔ)、傳輸或顯示裝置中的物理量的其它數(shù)據(jù)。
介紹人們通常根據(jù)他們從其臺(tái)式機(jī)或膝上型(例如圖1的122)機(jī)器的萬維網(wǎng)瀏覽體驗(yàn)獲悉各種內(nèi)容站點(diǎn)(例如基于視頻的電影頁面),因?yàn)檫@些裝置能夠更好地支持在網(wǎng)上隨機(jī)瀏覽的輸入(鍵入各種URL或搜索查詢)和輸出(可靠、高帶寬連接)要求。相信高帶寬無線接入的前景,這些萬維網(wǎng)用戶可能嘗試?yán)闷鋫€(gè)人數(shù)字助理(PDA)、如110、116和120或者視頻使能蜂窩電話、如112、114和118連接到相同站點(diǎn)。這種廣泛的訪問產(chǎn)生對(duì)內(nèi)容提供商支持大范圍的不同比特率(根據(jù)連接的帶寬)、視頻幀速率(根據(jù)客戶機(jī)上可用的CPU功率,其本身根據(jù)功率管理策略動(dòng)態(tài)改變)以及視頻幀大小(根據(jù)客戶機(jī)上可用的顯示器大小)的需要。另外,如日本的3GPP[1]提供商看到的那樣,支持來自輕便客戶機(jī)的移動(dòng)訪問要求服務(wù)器維護(hù)及更新大量會(huì)話的狀態(tài)變量。為了簡(jiǎn)潔和清晰起見,對(duì)于參考文獻(xiàn)[1]-[20]的引用的完整詳細(xì)列表見于本說明的后面部分。注意,所有列示的參考文獻(xiàn)[1]-[20]在本文中通過引用結(jié)合為背景資料。例如,在從市區(qū)辦公區(qū)到餐飲區(qū)的黃昏過渡期間,在東京經(jīng)??吹綌?shù)以千計(jì)的移動(dòng)用戶的“快閃族”。
因此問題是雙重的一種是以動(dòng)態(tài)適應(yīng)客戶機(jī)的能力的格式提供視頻和音頻內(nèi)容,另一種是動(dòng)態(tài)分配對(duì)那個(gè)流式過程的支持以避免不必要的擁塞以及所產(chǎn)生的質(zhì)量下降。解決方案的兩個(gè)部分應(yīng)當(dāng)動(dòng)態(tài)進(jìn)行,因?yàn)樗鼈兯蕾嚨囊蛩乇旧硗杆僮兓?br>
除非媒體服務(wù)以分布方式在流式內(nèi)容傳遞網(wǎng)絡(luò)(CDN)基礎(chǔ)結(jié)構(gòu)中集成和管理,否則不會(huì)完全實(shí)現(xiàn)用于移動(dòng)流式媒體(MSM)的無線裝置的潛力。我們討論關(guān)于通過支持無線和移動(dòng)流式客戶機(jī)的現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)來提供可靠、可縮放的媒體流式傳送的背景工作。我們概述通過CDN中可用的分布資源的動(dòng)態(tài)監(jiān)測(cè)進(jìn)行媒體服務(wù)的可控設(shè)置的方法。還論述資源監(jiān)測(cè)方法之間的折衷。這是作為對(duì)于我們的MSM-CDN實(shí)驗(yàn)臺(tái)中的服務(wù)位置管理器(SLM)的示范實(shí)現(xiàn)及其結(jié)果的論述。另一個(gè)論述列出分布媒體處理中的某種相關(guān)工作。
對(duì)于移動(dòng)客戶機(jī)的自適應(yīng)流式內(nèi)容傳遞在圖1中,移動(dòng)流式媒體系統(tǒng)的基本組件包括用于所存儲(chǔ)媒體內(nèi)容的流式服務(wù)器(例如102)、現(xiàn)場(chǎng)流式服務(wù)器以及流式媒體客戶機(jī)(例如110-120)。為了以可縮放方式把視頻剪輯傳遞給大量用戶,可在現(xiàn)有網(wǎng)絡(luò)上采用例如圖3所示的本發(fā)明的MSM-CDN覆蓋。它包含流式邊緣(或代理)服務(wù)器和管理服務(wù)器。流式邊緣服務(wù)器具有內(nèi)容分發(fā)和高速緩存[16]、流式傳輸、資源監(jiān)測(cè)、資源管理及信令的功能性。它們還可執(zhí)行媒體服務(wù)功能、如現(xiàn)場(chǎng)媒體自適應(yīng)。管理服務(wù)器根據(jù)客戶機(jī)位置和當(dāng)前系統(tǒng)及網(wǎng)絡(luò)負(fù)荷來分發(fā)內(nèi)容并分配媒體會(huì)話,換言之,它們把客戶機(jī)請(qǐng)求的會(huì)話分配給最佳可用的邊緣服務(wù)器。
MSM-CDN系統(tǒng)應(yīng)當(dāng)在顯示和解碼能力方面幫助支持各種各樣的客戶機(jī)。在圖1中,進(jìn)行這種操作的“傳統(tǒng)”方式是在內(nèi)容服務(wù)器102上存儲(chǔ)源資料的多個(gè)副本,然后再根據(jù)與客戶機(jī)(例如112、114、116和120)的某種初始協(xié)商來選擇要發(fā)送哪個(gè)副本(例如,如箭頭124、126、128和130所示)。但是,當(dāng)客戶機(jī)移動(dòng)物理位置以及當(dāng)來自其它客戶機(jī)的流式會(huì)話在共享的無線環(huán)境中開始和結(jié)束時(shí),從網(wǎng)絡(luò)100的各個(gè)部分到客戶機(jī)的連接的可靠性和帶寬將在流式會(huì)話期間變化。這種協(xié)商需要跨越比由多個(gè)存儲(chǔ)編碼輕松提供的更大范圍的選項(xiàng),并且協(xié)商過程應(yīng)當(dāng)隨網(wǎng)絡(luò)條件改變而動(dòng)態(tài)更新。由于實(shí)時(shí)媒體服務(wù)在當(dāng)今的網(wǎng)絡(luò)服務(wù)器機(jī)器上是可行且可負(fù)擔(dān)的,因此,媒體速率、大小和帶寬方面的這種大范圍的需求可通過在圖2的網(wǎng)絡(luò)200中嵌入媒體服務(wù)來滿足。在圖2中,箭頭208表示從內(nèi)容服務(wù)器102輸出到媒體服務(wù)節(jié)點(diǎn)202的流式媒體,而箭頭210則表示從服務(wù)節(jié)點(diǎn)202流式傳輸?shù)娇蛻魴C(jī)102的已處理媒體。注意,圖1的網(wǎng)絡(luò)100和圖2的網(wǎng)絡(luò)200包括無線基站104、106和108,它們可用作與移動(dòng)客戶機(jī)裝置110、112、114、116、118、120和122進(jìn)行無線通信的一部分。
提供這種實(shí)時(shí)、低等待時(shí)間的媒體服務(wù)是又稱作媒體服務(wù)節(jié)點(diǎn)的邊緣服務(wù)器[2,7]的主要功能之一。媒體服務(wù)過程可例如使壓縮視頻流適合客戶機(jī)顯示。還可采用基于RTCP的反饋把流中的比特率動(dòng)態(tài)調(diào)整到客戶機(jī)裝置遇到的變化帶寬條件。這些實(shí)時(shí)媒體服務(wù)現(xiàn)在因壓縮域處理[14,15,10]的使用而可在標(biāo)準(zhǔn)臺(tái)式機(jī)或服務(wù)器機(jī)器上提供。
這些新的壓縮域服務(wù)技術(shù)可極大地減少各獨(dú)立服務(wù)會(huì)話的計(jì)算成本,從而使移動(dòng)流式傳輸既是可行的又是可負(fù)擔(dān)的。但是,對(duì)于內(nèi)容管理,媒體服務(wù)流的大小和持續(xù)時(shí)間以及與修改那些流關(guān)聯(lián)的計(jì)算需求可能涉及小心管理。在出現(xiàn)數(shù)千或數(shù)百萬移動(dòng)客戶機(jī)(例如110、112、114、116、118和120)時(shí),強(qiáng)大計(jì)算能力的服務(wù)器可散布在基礎(chǔ)結(jié)構(gòu)上,使得媒體服務(wù)可作為分布邊緣服務(wù)來提供。
例如,提供前面論述所要求的媒體服務(wù)的一種方式是讓每個(gè)內(nèi)容服務(wù)器提供客戶機(jī)瀏覽器(例如110、112、114、116、118和120)到固定媒體服務(wù)節(jié)點(diǎn)(例如圖2的202、204或206)的靜態(tài)重定向。在內(nèi)容傳遞方面充分研究這種靜態(tài)重定向到本地“鏡像”站點(diǎn)的重定向在當(dāng)今的萬維網(wǎng)環(huán)境中按常規(guī)進(jìn)行。這種靜態(tài)重定向的缺點(diǎn)在于,它沒有考慮網(wǎng)絡(luò)100和服務(wù)器負(fù)荷的任何動(dòng)態(tài)性。在各種節(jié)點(diǎn)(或服務(wù)器)上可用的帶寬和計(jì)算負(fù)荷將根據(jù)客戶機(jī)以及新增加或丟棄的客戶機(jī)的變化要求來改變。因此,不同服務(wù)器上的媒體服務(wù)進(jìn)程的設(shè)置本身應(yīng)當(dāng)是動(dòng)態(tài)的,并且最好是隨著客戶機(jī)處理器改變物理位置而進(jìn)行調(diào)整。最后,為了便于由移動(dòng)萬維網(wǎng)瀏覽公眾使用,所有這些動(dòng)態(tài)判定可被隱藏并且是自動(dòng)的。
服務(wù)位置管理(SLM)在圖3中,動(dòng)態(tài)服務(wù)位置管理隱含的概念是提供移動(dòng)流式環(huán)境中所需的靈活性,而無需移動(dòng)用戶(例如110、112、114、116、118和120)改變初始聯(lián)絡(luò)站點(diǎn)。一般系統(tǒng)而是提供某些數(shù)量的良好發(fā)布的門戶站點(diǎn)(例如304和306)。這些門戶是移動(dòng)用戶聯(lián)絡(luò)的第一點(diǎn)(如箭頭308所示),并且接受到原始內(nèi)容站點(diǎn)的重定向(到內(nèi)容服務(wù)器102的箭頭310所示)。所有后續(xù)重定向以客戶機(jī)透明方式采用動(dòng)態(tài)SMIL重寫[16]來進(jìn)行。
一般來說,圖3采用箭頭308表示從客戶機(jī)裝置120進(jìn)入服務(wù)門戶306的請(qǐng)求。因此,圖4中的服務(wù)門戶306則與服務(wù)位置管理器302進(jìn)行通信(如箭頭404所示),以便找出安排所請(qǐng)求流式媒體會(huì)話的最佳服務(wù)節(jié)點(diǎn)。圖4還說明,服務(wù)位置管理器302正監(jiān)視或監(jiān)測(cè)媒體服務(wù)節(jié)點(diǎn)202、204和206的集合,它由雙向箭頭406、408和410表示。服務(wù)位置管理器302向服務(wù)門戶306返回在其上安排流式會(huì)話的最佳服務(wù)節(jié)點(diǎn)。因此,圖3、圖4和圖5說明如何讓會(huì)話開始的操作。圖9表明,在網(wǎng)絡(luò)300中發(fā)出后續(xù)請(qǐng)求時(shí),它們各經(jīng)過那些相同的操作。圖5A和圖5B說明,服務(wù)位置管理器302可把虛線橢圓506所示的當(dāng)前會(huì)話的分配從一個(gè)服務(wù)節(jié)點(diǎn)(例如202)改變到另一個(gè)服務(wù)節(jié)點(diǎn)(例如204)。注意,媒體服務(wù)節(jié)點(diǎn)(例如202、204和206)均可實(shí)現(xiàn)為硬件、軟件或者硬件和軟件的任何組合。另外,服務(wù)節(jié)點(diǎn)(例如202、204或206)可實(shí)現(xiàn)為一個(gè)或多個(gè)物理計(jì)算裝置。
在圖4中,一旦如箭頭308所示由客戶機(jī)120進(jìn)行聯(lián)絡(luò),門戶站點(diǎn)306則聯(lián)絡(luò)服務(wù)位置管理器(SLM)302,如箭頭404所示。注意,單個(gè)SLM 302在其可用服務(wù)范圍中可具有多種類型的服務(wù)。因此,SLM 302跟蹤(例如采用表格)各媒體服務(wù)節(jié)點(diǎn)(例如202、204或206)可對(duì)媒體流執(zhí)行的服務(wù)。媒體服務(wù)可包括視頻處理,例如但不限于碼變換、抖動(dòng)消除、基于面部識(shí)別的動(dòng)態(tài)剪貼、視頻分析、視頻的大小調(diào)整、從視頻進(jìn)行OCR、音頻增強(qiáng)、背景消除、可對(duì)視頻媒體流進(jìn)行操作的任何方面等等。另外,媒體服務(wù)可包括音頻處理,例如但不限于背景消除、音頻加速或減速、音頻增強(qiáng)、噪聲降低、語音識(shí)別、音頻分析、可對(duì)音頻媒體流進(jìn)行操作的任何方面等等。然后,當(dāng)SLM302進(jìn)行其判定時(shí),它審查那個(gè)表格以便找出哪個(gè)或哪些服務(wù)節(jié)點(diǎn)可執(zhí)行特定的所請(qǐng)求媒體服務(wù)。
一旦門戶站點(diǎn)306聯(lián)絡(luò)SLM 302,SLM 302則確定需要什么類型的媒體服務(wù)把所請(qǐng)求資料提供到給定客戶機(jī)(例如120),以及檢查(部分或完全)在其控制下的媒體服務(wù)節(jié)點(diǎn)(例如202、204和206)的狀態(tài)。那個(gè)狀態(tài)可根據(jù)媒體服務(wù)節(jié)點(diǎn)的每個(gè)上的可用周期和可用存儲(chǔ)器來概括。其它狀態(tài)指示器可包括從媒體服務(wù)節(jié)點(diǎn)的每個(gè)到內(nèi)容提供商(或者最接近的鏡像站點(diǎn))以及到流式客戶機(jī)的連接的預(yù)計(jì)帶寬和可靠性。根據(jù)所收集的狀態(tài)信息,SLM 302動(dòng)態(tài)生成SMIL文件,通過在那個(gè)新生成的SMIL響應(yīng)中嵌入其URL以及任何協(xié)商的參數(shù),把客戶機(jī)重定向到適當(dāng)?shù)姆?wù)節(jié)點(diǎn)(圖5)。符合3GPP或ISMA[5]的流式客戶機(jī)則剖析重寫的SMIL文件,以便建立與內(nèi)容服務(wù)器102和媒體服務(wù)節(jié)點(diǎn)202的適當(dāng)流式會(huì)話。因此,整個(gè)處理對(duì)于終端用戶是透明的。注意,箭頭502表示從內(nèi)容服務(wù)器102到媒體服務(wù)節(jié)點(diǎn)202的媒體的流式傳輸,而箭頭504表示從服務(wù)節(jié)點(diǎn)202到客戶機(jī)120的已處理媒體流的流式傳輸。來自涉及媒體服務(wù)的其它客戶機(jī)的后續(xù)內(nèi)容請(qǐng)求也根據(jù)新的當(dāng)前網(wǎng)絡(luò)和計(jì)算資源來分布(圖9)。
動(dòng)態(tài)服務(wù)位置的資源監(jiān)測(cè)在以上描述中,SLM 302檢查在其控制下的媒體服務(wù)節(jié)點(diǎn)(例如202、204和206)的每個(gè)的狀態(tài),以便確定如何最好地分派當(dāng)前客戶機(jī)請(qǐng)求所需的媒體服務(wù)任務(wù)。存在各種方法可完成這種檢查。下面詳細(xì)說明可根據(jù)本發(fā)明實(shí)現(xiàn)的某個(gè)不同的實(shí)施例。
基本的“基于輪詢的”監(jiān)測(cè)在一個(gè)實(shí)施例中,監(jiān)測(cè)在SLM 302的控制下的媒體服務(wù)節(jié)點(diǎn)(例如202、204和206)的狀態(tài)的一種方法是讓過程“基于輪詢”。在這種方法中,每當(dāng)SLM 302得到對(duì)于媒體服務(wù)的新客戶機(jī)請(qǐng)求時(shí),它主動(dòng)聯(lián)絡(luò)可能具有足夠資源的每個(gè)服務(wù)節(jié)點(diǎn)(例如根據(jù)其CPU的數(shù)量和時(shí)鐘速率、已安裝存儲(chǔ)器及其最好情況的網(wǎng)絡(luò)帶寬)。響應(yīng)這個(gè)“資源輪詢”,各服務(wù)節(jié)點(diǎn)(例如202、204或206)提供其當(dāng)前可用資源的描述。這可包括在給定時(shí)間點(diǎn)的空閑計(jì)算周期的數(shù)量以及空閑存儲(chǔ)器的大小。在理想情況下,它還包括到內(nèi)容服務(wù)器102以及到客戶機(jī)(例如110-120)的空閑網(wǎng)絡(luò)帶寬的某種估算值。SLM 302收集這種信息,然后可把所請(qǐng)求媒體服務(wù)任務(wù)分派給提供空閑網(wǎng)絡(luò)帶寬、計(jì)算和存儲(chǔ)資源的最佳組合的服務(wù)節(jié)點(diǎn)。
這種“基于輪詢的”方法的優(yōu)點(diǎn)是提供空閑服務(wù)節(jié)點(diǎn)資源的最新快照。它還提供服務(wù)節(jié)點(diǎn)何時(shí)因網(wǎng)絡(luò)或機(jī)器故障而失效的清楚指示。另一方面,基于輪詢的資源監(jiān)測(cè)在可擴(kuò)充性方面具有嚴(yán)重限制。隨著客戶機(jī)請(qǐng)求的數(shù)量以及被監(jiān)測(cè)媒體服務(wù)節(jié)點(diǎn)的數(shù)量的增長(zhǎng),輪詢請(qǐng)求的數(shù)量作為它們的乘積而增長(zhǎng)。由于被監(jiān)測(cè)媒體服務(wù)節(jié)點(diǎn)的數(shù)量往往與客戶機(jī)的服務(wù)請(qǐng)求的數(shù)量成正比地增長(zhǎng),因此,輪詢請(qǐng)求的數(shù)量實(shí)際上作為客戶機(jī)數(shù)量的平方來增長(zhǎng)。
基本的“基于表格的”監(jiān)測(cè)輪詢實(shí)施例的一個(gè)備選方案是讓資源信息從媒體服務(wù)節(jié)點(diǎn)(例如202、204和206)“推送到”監(jiān)測(cè)SLM 302。在這種方法中,由服務(wù)位置監(jiān)控程序(SLS)定期提供更新,它可能是在各媒體服務(wù)節(jié)點(diǎn)中運(yùn)行的、例如由系統(tǒng)和網(wǎng)絡(luò)管理軟件提供的輕便后臺(tái)監(jiān)督程序。對(duì)于各客戶機(jī)請(qǐng)求,SLM 302訪問從收集(以及注明日期)SLS提供的信息創(chuàng)建的空閑資源數(shù)據(jù)庫。這把資源監(jiān)測(cè)導(dǎo)致的連接要求從與媒體服務(wù)節(jié)點(diǎn)的數(shù)量的二次相關(guān)降低到線性相關(guān)。
此外,監(jiān)測(cè)和“重新啟動(dòng)”功能可包括在SLM 302本身中簡(jiǎn)單SLM監(jiān)督程序會(huì)監(jiān)測(cè)最近的SLS數(shù)據(jù)庫刷新的時(shí)標(biāo),以及嘗試聯(lián)絡(luò)超過某個(gè)預(yù)置時(shí)間間隔而沒有接觸的SLS機(jī)器。這些聯(lián)絡(luò)嘗試的相當(dāng)一部分估計(jì)將因正發(fā)生的網(wǎng)絡(luò)或媒體服務(wù)節(jié)點(diǎn)故障而失敗。但是,由于重新啟動(dòng)SLS聯(lián)絡(luò)的這些嘗試異步進(jìn)行,因此它們不會(huì)影響SLM 302對(duì)客戶機(jī)請(qǐng)求的響應(yīng)時(shí)間。
基于表格的監(jiān)測(cè)的缺點(diǎn)是依靠比直接基于輪詢的結(jié)果更陳舊的資源信息。這個(gè)弱點(diǎn)通過資源監(jiān)測(cè)的下一個(gè)實(shí)施例來解決。
基于從節(jié)點(diǎn)接收的最近數(shù)據(jù)和SLM的動(dòng)作的SLM的適應(yīng)性增強(qiáng)的“基于表格的”監(jiān)測(cè)在這個(gè)實(shí)施例中,基于表格的監(jiān)測(cè)方法修改為減少陳舊信息的缺點(diǎn)。這通過讓SLM 302保存它已經(jīng)向其分派最近客戶機(jī)任務(wù)的媒體服務(wù)節(jié)點(diǎn)的短期記錄來進(jìn)行。SLM 302則相應(yīng)地調(diào)整它的關(guān)于什么資源將可用于新任務(wù)的預(yù)測(cè)。例如,當(dāng)媒體服務(wù)任務(wù)在資源統(tǒng)計(jì)上一次從那個(gè)服務(wù)節(jié)點(diǎn)傳送之前不到1分鐘被分派給媒體服務(wù)節(jié)點(diǎn)時(shí),那個(gè)節(jié)點(diǎn)的資源記錄將按那個(gè)先前分派的媒體服務(wù)任務(wù)所請(qǐng)求的資源預(yù)算被減小。
具有共享服務(wù)的多個(gè)SLM如果媒體服務(wù)節(jié)點(diǎn)的一部分是在一個(gè)以上SLM的范圍之內(nèi)(即,如果SLM機(jī)器的分布集合中的一個(gè)以上SLM被允許把媒體服務(wù)請(qǐng)求重定向到那個(gè)服務(wù)節(jié)點(diǎn)),則每個(gè)SLM還應(yīng)當(dāng)在發(fā)生分派時(shí)立即把關(guān)于已分派任務(wù)的信息傳送給該媒體服務(wù)節(jié)點(diǎn)上的SLS監(jiān)督程序。那樣,SLS監(jiān)督程序可把所有分派通知重傳到其它SLM處理器上,從而使媒體服務(wù)節(jié)點(diǎn)計(jì)算或網(wǎng)絡(luò)資源因來自不同SLM的交叉分派而被超量預(yù)訂的次數(shù)最少。
注意,通過具有包含共享服務(wù)的一個(gè)或多個(gè)SLM,允許區(qū)域分割,在其中存在可在兩個(gè)或兩個(gè)以上不同組織或組中工作的服務(wù)節(jié)點(diǎn)。因此,希望為SLM提供向那個(gè)服務(wù)節(jié)點(diǎn)分配服務(wù)請(qǐng)求的能力。另外,通過這種方式,可以通過不從各SLM的范圍中刪除服務(wù)節(jié)點(diǎn)來避免SLM的過載。當(dāng)耦合在組織、組或企業(yè)內(nèi)的服務(wù)適用于共享服務(wù)時(shí),使多個(gè)SLM能夠共享服務(wù)可能是可行的。另外,如果SLM之一變?yōu)椴豢晒ぷ?,則SLM之間的服務(wù)的共享可提供容錯(cuò)。此外,SLM之間的服務(wù)的共享可向SLM提供負(fù)荷平衡。
注意,為了減少陳舊信息的缺點(diǎn),SLM 302可維護(hù)已經(jīng)向其分派最近任務(wù)的服務(wù)節(jié)點(diǎn)的短期記錄。因此,在這種類型的基于“推送”的監(jiān)測(cè)中,服務(wù)節(jié)點(diǎn)將其數(shù)據(jù)推送到SLM 302,這可按照一定周期性發(fā)生。由服務(wù)節(jié)點(diǎn)(例如202、204和206)發(fā)送的每個(gè)統(tǒng)計(jì)數(shù)據(jù)中還通過進(jìn)行求平均而具有某個(gè)等待時(shí)間。因此,在SLM 302發(fā)生的情況是,當(dāng)它分派某種任務(wù)時(shí),它保持其自己的服務(wù)節(jié)點(diǎn)分派的運(yùn)行表,其中具有先前分派的任務(wù)將會(huì)或者預(yù)計(jì)獲得什么資源的信息。通過這種方式,當(dāng)SLM 302進(jìn)行其下一個(gè)分派時(shí),它可采用其表格中來自服務(wù)節(jié)點(diǎn)的統(tǒng)計(jì)數(shù)據(jù),并且理解那些統(tǒng)計(jì)數(shù)據(jù)是多長(zhǎng)時(shí)間的。因此,SLM 302能夠知道自接收那些統(tǒng)計(jì)數(shù)據(jù)以來已經(jīng)發(fā)生的任何分派根本沒有被反映在那些統(tǒng)計(jì)數(shù)據(jù)中。注意,SLM 302可在某個(gè)點(diǎn)進(jìn)行線性內(nèi)插,以便得到對(duì)于它將預(yù)期實(shí)際可用資源在各服務(wù)節(jié)點(diǎn)上的情況的正確近似。
SLM 302具有可用的這個(gè)表,并且它注明了時(shí)間日期,表明它從給定服務(wù)節(jié)點(diǎn)(例如202)的上一次更新。如果SLM 302從那個(gè)服務(wù)節(jié)點(diǎn)得到的上一次統(tǒng)計(jì)數(shù)據(jù)比如說是10分鐘之前,并且SLM 302預(yù)期每5分鐘進(jìn)行更新,則SLM 302可確定并推斷相對(duì)于那個(gè)服務(wù)節(jié)點(diǎn)有差錯(cuò)出現(xiàn)。該問題可能是幾個(gè)方面的,例如,可能是網(wǎng)絡(luò)300出故障,服務(wù)節(jié)點(diǎn)202出故障,或者SLS監(jiān)督程序在那個(gè)服務(wù)節(jié)點(diǎn)202上停止運(yùn)行。因此,節(jié)點(diǎn)向SLM 302進(jìn)行的報(bào)告可提供這種信息,或者SLM 302可作為低開銷的后臺(tái)進(jìn)程對(duì)其表格中的所有服務(wù)節(jié)點(diǎn)進(jìn)行典型的循環(huán)校驗(yàn)。這樣,SLM 302可知道可能與服務(wù)節(jié)點(diǎn)中的一個(gè)或多個(gè)關(guān)聯(lián)的問題。如果檢測(cè)到問題,則SLM 302可嘗試重新啟動(dòng)那個(gè)服務(wù)節(jié)點(diǎn)上的SLS監(jiān)督程序,或者如果SLM 302無法聯(lián)絡(luò)該節(jié)點(diǎn),則SLM 302可采用Open View監(jiān)測(cè)系統(tǒng)來設(shè)置標(biāo)志,表明那個(gè)特定節(jié)點(diǎn)存在的問題。注意,通過執(zhí)行這個(gè)功能性,SLM 302不會(huì)向可能不能工作的媒體服務(wù)節(jié)點(diǎn)分派或分配流式會(huì)話。
試驗(yàn)臺(tái)結(jié)果服務(wù)位置管理體系結(jié)構(gòu)的一個(gè)實(shí)施例設(shè)計(jì)成把媒體服務(wù)與移動(dòng)流式媒體傳遞系統(tǒng)結(jié)合。移動(dòng)流式媒體(MSM)試驗(yàn)臺(tái)經(jīng)過設(shè)計(jì)、發(fā)展和實(shí)現(xiàn),從而證明這些能力。MSM試驗(yàn)臺(tái)由多個(gè)存儲(chǔ)內(nèi)容和現(xiàn)場(chǎng)內(nèi)容流式服務(wù)器以及流式媒體客戶機(jī)組成。流式邊緣服務(wù)器和管理服務(wù)器共同組成自適應(yīng)MSM-CDN。流式邊緣服務(wù)器提供對(duì)內(nèi)容分發(fā)和高速緩存、流式傳輸、資源監(jiān)測(cè)、資源管理及信令的支持。另外,它們還執(zhí)行媒體服務(wù)功能,例如現(xiàn)場(chǎng)流分割(或者媒體流式會(huì)話的應(yīng)用層多播)和MPEG-4視頻流的實(shí)時(shí)媒體碼變換。
流式服務(wù)器、客戶機(jī)和邊緣服務(wù)器可能符合3GPP標(biāo)準(zhǔn),因此可采用會(huì)話描述協(xié)議(SDP)[4]、實(shí)時(shí)流式傳輸協(xié)議(RTSP)[13]以及實(shí)時(shí)傳輸協(xié)議(RTP)[12],并且可支持MPEG-4[8]視頻和音頻/調(diào)制解調(diào)器插卡(AMR)音頻媒體標(biāo)準(zhǔn)。流式邊緣服務(wù)器和管理服務(wù)器可把簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)[3]用于信令。注意,根據(jù)當(dāng)前實(shí)施例,可采用其它標(biāo)準(zhǔn)。
服務(wù)位置管理器(SLM)302根據(jù)網(wǎng)絡(luò)和系統(tǒng)資源使用情況把客戶機(jī)請(qǐng)求的流式/媒體服務(wù)會(huì)話分配給“最佳可用的”流式邊緣節(jié)點(diǎn)。SLM 302收集關(guān)于一組流式邊緣節(jié)點(diǎn)的統(tǒng)計(jì)數(shù)據(jù),分析那些統(tǒng)計(jì)數(shù)據(jù)以選擇最佳可用邊緣服務(wù)節(jié)點(diǎn),并響應(yīng)客戶機(jī)請(qǐng)求而傳達(dá)所選邊緣節(jié)點(diǎn)。SLM 302采用SOAP/XML信令從邊緣節(jié)點(diǎn)收集資源使用統(tǒng)計(jì)數(shù)據(jù),以及把所選邊緣節(jié)點(diǎn)動(dòng)態(tài)傳達(dá)給請(qǐng)求客戶機(jī)。
對(duì)于SLM 302資源監(jiān)測(cè)所提出的三種方法的每個(gè)在我們的MSM-CDN試驗(yàn)臺(tái)中實(shí)現(xiàn)并測(cè)試?;谳喸兊谋O(jiān)測(cè)有時(shí)導(dǎo)致完全的流式故障。當(dāng)移動(dòng)客戶機(jī)上的響應(yīng)超時(shí)周期設(shè)置過低,使得SLM 302沒有足夠時(shí)間收集所有輪詢響應(yīng)、對(duì)它們處理以及在客戶機(jī)放棄之前提供動(dòng)態(tài)生成的SMIL響應(yīng)時(shí),通常發(fā)生這種情況。這些過慢的響應(yīng)通常在媒體服務(wù)節(jié)點(diǎn)中的一個(gè)或多個(gè)脫離網(wǎng)絡(luò)時(shí)出現(xiàn)在這些情況下,SLM 302在忽略那個(gè)服務(wù)節(jié)點(diǎn)作為客戶機(jī)可能的媒體服務(wù)平臺(tái)之前等待標(biāo)準(zhǔn)SOAP超時(shí)周期。與基于輪詢的監(jiān)測(cè)關(guān)聯(lián)的延遲也不會(huì)適當(dāng)?shù)刂С志W(wǎng)絡(luò)的縮放隨著被監(jiān)測(cè)服務(wù)節(jié)點(diǎn)的數(shù)量增加,與輪詢關(guān)聯(lián)的延遲成比例增加。
基本的基于表格的監(jiān)測(cè)沒有遇到這種超時(shí)故障模式。但是,它往往導(dǎo)致未達(dá)最佳標(biāo)準(zhǔn)的負(fù)荷平衡。這種情況在客戶機(jī)請(qǐng)求快速連續(xù)到達(dá)時(shí)出現(xiàn)。即使媒體服務(wù)節(jié)點(diǎn)上的SLS被修改為每當(dāng)發(fā)現(xiàn)新的本地媒體服務(wù)任務(wù)時(shí)便更新SLM 302數(shù)據(jù)庫中包含的空閑資源信息,也仍然會(huì)出現(xiàn)這種未達(dá)最佳標(biāo)準(zhǔn)的負(fù)荷平衡。這種未達(dá)最佳標(biāo)準(zhǔn)的任務(wù)分配有時(shí)是因?yàn)轫憫?yīng)新例示任務(wù)的空閑資源統(tǒng)計(jì)數(shù)據(jù)的等待時(shí)間。未達(dá)最佳標(biāo)準(zhǔn)的任務(wù)分配更經(jīng)常是因?yàn)樵赟LM 302向特定服務(wù)節(jié)點(diǎn)分派媒體服務(wù)任務(wù)(通過向客戶機(jī)傳送動(dòng)態(tài)SMIL文件)之后、但在那個(gè)較早的客戶機(jī)在所選服務(wù)節(jié)點(diǎn)上實(shí)際建立那個(gè)媒體服務(wù)任務(wù)(通過傳送RTSP SETUP請(qǐng)求)之前到達(dá)的新客戶機(jī)請(qǐng)求。
增強(qiáng)的基于表格的監(jiān)測(cè)消除了對(duì)于基于輪詢的監(jiān)測(cè)看到的超時(shí)故障以及對(duì)于基本的基于表格的監(jiān)測(cè)看到的交織請(qǐng)求錯(cuò)誤。
用于媒體服務(wù)切換的管理的SLM圖5A和圖5B說明根據(jù)本發(fā)明的一個(gè)實(shí)施例。具體來說,服務(wù)位置管理器302可用于把媒體流式會(huì)話(由橢圓虛線506表示)從一個(gè)媒體服務(wù)節(jié)點(diǎn)(例如圖5A所示的202)移動(dòng)到另外的媒體服務(wù)節(jié)點(diǎn)(例如圖5B所示的204),這可稱作切換。例如,如果服務(wù)節(jié)點(diǎn)202確定需要切換流式媒體會(huì)話(或者如果網(wǎng)絡(luò)300的另外某個(gè)組件確定這種情況),則這個(gè)信息可傳遞給SLM 302。SLM 302在那時(shí)則可計(jì)算服務(wù)節(jié)點(diǎn)負(fù)荷、網(wǎng)絡(luò)300的負(fù)荷等,以便計(jì)算出哪個(gè)服務(wù)節(jié)點(diǎn)要切換那個(gè)特定流式會(huì)話。這樣,不需要確定預(yù)定義的切換節(jié)點(diǎn)。而是由SLM302在運(yùn)行中確定。因此,可執(zhí)行預(yù)期服務(wù)的最佳媒體服務(wù)節(jié)點(diǎn)由SLM 302來選擇。然后,切換可按照與圖6、圖7、圖8A和圖8B中所述類似的方式進(jìn)行。注意,執(zhí)行切換的方式可能是初始服務(wù)節(jié)點(diǎn)(例如202)所執(zhí)行的服務(wù)的類型特定的。
圖6是具有在其中可實(shí)施本發(fā)明的實(shí)施例的單一內(nèi)容服務(wù)器102的數(shù)據(jù)會(huì)話切換的示范系統(tǒng)600的框圖。注意,系統(tǒng)600涉及碼變換,作為數(shù)據(jù)會(huì)話切換中可能涉及的示范媒體服務(wù)。大家理解,系統(tǒng)600可涉及任何媒體服務(wù),而不限于碼變換。在一個(gè)實(shí)施例中,在系統(tǒng)600中,數(shù)據(jù)(例如視頻媒體)經(jīng)由無線鏈路流式傳輸?shù)揭苿?dòng)客戶機(jī)(例如電子裝置)。在一個(gè)實(shí)施例中,數(shù)據(jù)是以連續(xù)流構(gòu)造及處理的流式數(shù)據(jù),例如流式音頻和流式視頻。流式數(shù)據(jù)包括多個(gè)數(shù)據(jù)包(例如部分),其中,各包在流中排序。
在一個(gè)實(shí)施例中,系統(tǒng)600包括內(nèi)容服務(wù)器102(例如數(shù)據(jù)源)、碼變換器裝置602和604、以及電子裝置120。在一個(gè)實(shí)施例中,碼變換器602可用于把媒體流分發(fā)給位于小區(qū)608中的電子裝置,以及碼變換器604可用于把媒體流分發(fā)給位于小區(qū)610中的電子裝置。在當(dāng)前實(shí)施例中,內(nèi)容服務(wù)器102產(chǎn)生高比特率、高分辨率的視頻流,它被發(fā)送到碼變換器602。碼變換器602把視頻流碼變換為更低比特率、中等分辨率的視頻流,它則被發(fā)送給電子裝置120。
為了本申請(qǐng)的目的,在一個(gè)實(shí)施例中,碼變換器602稱作第一碼變換器,而碼變換器604則稱作第二碼變換器。在另一個(gè)實(shí)施例中,碼變換器602稱作第二碼變換器,而碼變換器604則稱作第一碼變換器。為了簡(jiǎn)潔清晰起見,在本文中參照碼變換器602和碼變換器604來描述本發(fā)明的實(shí)施例。
在一個(gè)實(shí)施例中,電子裝置120為移動(dòng)裝置。在當(dāng)前實(shí)施例中,電子裝置120是配置成通過無線連接接收數(shù)據(jù)的任何裝置,包括但不限于膝上型計(jì)算機(jī)、掌上電腦系統(tǒng)、蜂窩電話等。
圖7是具有在其中可實(shí)施本發(fā)明的實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)614的用于數(shù)據(jù)會(huì)話切換的一個(gè)示范系統(tǒng)700的框圖。注意,系統(tǒng)700涉及碼變換,作為數(shù)據(jù)會(huì)話切換中可能涉及的示范媒體服務(wù)。大家理解,系統(tǒng)700可涉及任何媒體服務(wù),而不限于碼變換。在一個(gè)實(shí)施例中,在系統(tǒng)700中,數(shù)據(jù)(例如視頻媒體)經(jīng)由無線鏈路流式傳輸?shù)揭苿?dòng)客戶機(jī)(例如移動(dòng)電子裝置)。在一個(gè)實(shí)施例中,數(shù)據(jù)是以連續(xù)流構(gòu)造及處理的流式數(shù)據(jù),例如流式音頻和流式視頻。
在一個(gè)實(shí)施例中,系統(tǒng)700包括內(nèi)容分發(fā)網(wǎng)絡(luò)614(例如數(shù)據(jù)源)、碼變換器裝置602和604、以及電子裝置120。在一個(gè)實(shí)施例中,碼變換器602可用于把媒體流分發(fā)給位于小區(qū)608中的電子裝置,以及碼變換器604可用于把媒體流分發(fā)給位于小區(qū)610中的電子裝置。內(nèi)容分發(fā)網(wǎng)絡(luò)614包括多個(gè)邊緣服務(wù)器(例如邊緣服務(wù)器616和618)。邊緣服務(wù)器616和618在地理上分布,使得它們各用于把媒體分發(fā)到地理上接近它們的移動(dòng)客戶機(jī),從而削減網(wǎng)絡(luò)開銷。在當(dāng)前實(shí)施例中,邊緣服務(wù)器616產(chǎn)生全比特率、高分辨率視頻流,它被發(fā)送到碼變換器602。碼變換器602把視頻流碼變換為更低比特率、中等分辨率的視頻流,它則被發(fā)送給電子裝置120。
在一個(gè)實(shí)施例中,電子裝置120為移動(dòng)裝置。在當(dāng)前實(shí)施例中,電子裝置120是配置成通過無線連接接收數(shù)據(jù)的任何裝置,包括但不限于膝上型計(jì)算機(jī)、掌上電腦系統(tǒng)、蜂窩電話等。
參照?qǐng)D6和圖7,系統(tǒng)600以及系統(tǒng)700采用碼變換器602和604把視頻流碼變換為匹配目標(biāo)電子裝置(例如電子裝置120)的顯示能力的更低比特率的流。
在一個(gè)實(shí)現(xiàn)中,內(nèi)容服務(wù)器102或邊緣服務(wù)器616把全比特率媒體流傳送給碼變換器602,其中,碼變換器2602把媒體碼變換到位于小區(qū)608中的電子裝置。應(yīng)當(dāng)理解,在一個(gè)實(shí)施例中,內(nèi)容服務(wù)器102為邊緣服務(wù)器。然后,碼變換器602把媒體流碼變換為更低比特率流,并把該流傳送給電子裝置120。在碼變換器602接收到電子裝置120正朝另一個(gè)小區(qū)移動(dòng)的通知時(shí),碼變換器602發(fā)起與服務(wù)于新小區(qū)的另一個(gè)碼變換器的切換操作。下面以圖8A和圖8B的過程800詳細(xì)地論述切換過程。
在一個(gè)實(shí)施例中,在中央節(jié)點(diǎn)、如服務(wù)位置管理器302的控制和指導(dǎo)下實(shí)現(xiàn)切換。大家理解,另一個(gè)實(shí)體(例如專用切換管理器)也可執(zhí)行這個(gè)功能。在一個(gè)實(shí)施例中,服務(wù)節(jié)點(diǎn)202指定用于把媒體會(huì)話傳遞給另一個(gè)服務(wù)節(jié)點(diǎn)的切換信息。在一個(gè)這樣的實(shí)施例中,切換信息被轉(zhuǎn)發(fā)給服務(wù)位置管理器302。服務(wù)位置管理器302則可選擇將接收媒體會(huì)話切換的服務(wù)節(jié)點(diǎn)(例如服務(wù)節(jié)點(diǎn)204),并把切換信息轉(zhuǎn)發(fā)給那個(gè)服務(wù)節(jié)點(diǎn)。在另一個(gè)實(shí)施例中,服務(wù)位置管理器302可識(shí)別將接收媒體會(huì)話切換的服務(wù)節(jié)點(diǎn),并指導(dǎo)服務(wù)節(jié)點(diǎn)202把切換信息直接傳遞給那個(gè)服務(wù)節(jié)點(diǎn)。
圖8A和圖8B是流程圖,說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)會(huì)話切換的過程800。在一個(gè)實(shí)施例中,過程800在碼變換器裝置(例如碼變換器裝置602或604)中實(shí)現(xiàn)為存儲(chǔ)在存儲(chǔ)器中并由控制器執(zhí)行的計(jì)算機(jī)可讀程序指令。雖然在圖8A和圖8B中公開了具體操作,但這類操作是示范性的。也就是說,本發(fā)明極適合于執(zhí)行其它各種操作或者圖8A和圖8B中所述的操作的變體。
在過程800的操作805,移動(dòng)裝置(例如圖6的電子裝置120)聯(lián)系碼變換器(例如圖6的碼變換器602),請(qǐng)求媒體文件(例如數(shù)據(jù))。在一個(gè)實(shí)施例中,碼變換器602可用于把媒體分發(fā)給位于小區(qū)608中的電子裝置。在一個(gè)實(shí)施例中,移動(dòng)裝置聯(lián)系最接近的碼變換器,請(qǐng)求媒體文件。在一個(gè)實(shí)施例中,移動(dòng)裝置通過發(fā)送消息來聯(lián)絡(luò)碼變換器。在一個(gè)實(shí)施例中,消息為傳輸控制協(xié)議(TCP)消息。操作805在圖6和圖7中以圖形方式表示為箭頭630。
在操作810,碼變換器602聯(lián)絡(luò)數(shù)據(jù)源(例如內(nèi)容服務(wù)器102或內(nèi)容分發(fā)網(wǎng)絡(luò)614),以便建立媒體會(huì)話。在一個(gè)實(shí)施例中,碼變換器602通過發(fā)送消息來聯(lián)絡(luò)數(shù)據(jù)源(例如圖6的內(nèi)容服務(wù)器102或圖7的內(nèi)容分發(fā)網(wǎng)絡(luò)614)。在一個(gè)實(shí)施例中,消息為TCP消息。操作810在圖6和圖7中以圖形方式表示為箭頭632。
在操作815,數(shù)據(jù)源開始向碼變換器602流式傳輸所請(qǐng)求媒體。在一個(gè)實(shí)施例中,所請(qǐng)求媒體采用用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來傳送。操作815在圖6和圖7中以圖形方式表示為箭頭634。
在操作820,碼變換器602把流式媒體碼變換到電子裝置120。操作820在圖6和圖7中以圖形方式表示為箭頭636。
在操作825,通知碼變換器602電子裝置120正移動(dòng)到新的位置(例如小區(qū)610)。在一個(gè)實(shí)施例中,電子裝置120把向新位置的移動(dòng)直接傳達(dá)給碼變換器602。在另一個(gè)實(shí)施例中,移動(dòng)的通知通過設(shè)置在電子裝置120附近并監(jiān)測(cè)電子裝置120的移動(dòng)的攝像機(jī)傳遞給碼變換器602。在另一個(gè)實(shí)施例中,移動(dòng)到新位置的電子裝置120由計(jì)算機(jī)系統(tǒng)根據(jù)電子裝置120的所監(jiān)測(cè)行為來預(yù)測(cè)。在另一個(gè)實(shí)施例中,移動(dòng)到新位置的電子裝置120根據(jù)駐留在電子裝置120中、由碼變換器602監(jiān)測(cè)的全球定位系統(tǒng)來確定。應(yīng)當(dāng)理解,可通過任何方法使碼變換器602知道電子裝置120向新位置的移動(dòng)。電子裝置120從小區(qū)608到小區(qū)610的移動(dòng)在圖6和圖7中以圖形方式表示為箭頭636。
在操作830,碼變換器602把切換消息發(fā)送給小區(qū)610附近的碼變換器(例如碼變換器604),通知碼變換器604準(zhǔn)備把媒體流式傳輸?shù)诫娮友b置120。在一個(gè)實(shí)施例中,切換消息包括碼變換信息(例如電子裝置120的顯示器大小和帶寬大小)以及序列首標(biāo)(例如數(shù)據(jù)流的當(dāng)前字節(jié)位置)。序列首標(biāo)表明媒體流的哪個(gè)部分目前被傳送給電子裝置120。在一個(gè)實(shí)施例中,碼變換器602通過發(fā)送消息來通知碼變換器604。在一個(gè)實(shí)施例中,消息為TCP消息。操作830在圖6和圖7中以圖形方式表示為箭頭638。
在操作835,碼變換器604聯(lián)絡(luò)數(shù)據(jù)源,以便建立媒體會(huì)話。在一個(gè)實(shí)施例中,根據(jù)在操作830所接收的序列首標(biāo)來請(qǐng)求媒體會(huì)話。通過在序列首標(biāo)中所表明的比特位置開始媒體會(huì)話,電子裝置120接收無縫媒體會(huì)話,即使在切換碼變換器時(shí)。在一個(gè)實(shí)施例中,碼變換器604通過發(fā)送消息來通知數(shù)據(jù)源。在一個(gè)實(shí)施例中,消息為TCP消息。操作835在圖6和圖7中以圖形方式表示為箭頭640。
在操作840,數(shù)據(jù)源開始向碼變換器604流式傳輸所請(qǐng)求媒體。在一個(gè)實(shí)施例中,如上所述,媒體會(huì)話被碼變換到電子裝置120,以序列首標(biāo)中表明的比特位置開始,為電子裝置120提供無縫媒體會(huì)話。在一個(gè)實(shí)施例中,所請(qǐng)求媒體采用UDP來傳送。操作840在圖6和圖7中以圖形方式表示為箭頭642。
在操作845,碼變換器604通知碼變換器602,它準(zhǔn)備與電子裝置120進(jìn)行通信以及碼變換器602可停止與電子裝置120進(jìn)行通信。在一個(gè)實(shí)施例中,碼變換器604通過發(fā)送消息來通知碼變換器602。在一個(gè)實(shí)施例中,消息為TCP消息。操作845在圖6和圖7中以圖形方式表示為箭頭644。
在操作850,碼變換器604把流式媒體碼變換到電子裝置120。如上所述,流式媒體以無縫方式提供給電子裝置120,以在操作830所接收的序列首標(biāo)中表明的位置開始碼變換。操作850在圖6和圖7中以圖形方式表示為箭頭648。
在操作855,碼變換器602停止把媒體碼變換到電子裝置120。
相關(guān)工作Degas系統(tǒng)允許采用可編程媒體網(wǎng)關(guān)[9]的用戶定義的媒體處理。稱作deglets的程序可采用聲明的編程模型上載到網(wǎng)關(guān)。Degas系統(tǒng)包括與媒體網(wǎng)關(guān)交互的特殊客戶機(jī)。另一方面,本文所述的SLM系統(tǒng)可能對(duì)符合3GPP的客戶機(jī)完全透明。Degas系統(tǒng)嘗試對(duì)于網(wǎng)絡(luò)帶寬使用情況最佳地定位網(wǎng)關(guān),并且可在必要時(shí)動(dòng)態(tài)移動(dòng)處理任務(wù)。但沒有實(shí)現(xiàn)資源管理。系統(tǒng)在媒體網(wǎng)關(guān)采用多媒體軟件庫來優(yōu)化代碼。
在[7]中提出了內(nèi)容服務(wù)網(wǎng)絡(luò)(CSN)。采用關(guān)鍵幀提取的視頻分割用作示例基礎(chǔ)服務(wù)。與我們的體系結(jié)構(gòu)相似,CSN平衡現(xiàn)有CDN,添加計(jì)算(例如處理)作為基礎(chǔ)服務(wù)。服務(wù)分布和管理(SDM)服務(wù)器用來維護(hù)與網(wǎng)絡(luò)中的服務(wù)以及服務(wù)器負(fù)荷和客戶機(jī)人口統(tǒng)計(jì)的歷史有關(guān)的信息。重定向服務(wù)器設(shè)置在網(wǎng)絡(luò)邊緣,以便向應(yīng)用代理服務(wù)器發(fā)送處理請(qǐng)求。所提出的CSN采用DNS重定向,把請(qǐng)求發(fā)送給最接近的應(yīng)用代理。在我們的體系結(jié)構(gòu)中,這個(gè)功能完全在應(yīng)用層由動(dòng)態(tài)SMIL重寫來執(zhí)行。這就不需要來自基礎(chǔ)結(jié)構(gòu)的DNS重定向功能。
CSN與SLM/MSA之間的差別*CSN要求獨(dú)立的覆蓋基礎(chǔ)結(jié)構(gòu),它需要附加DNS對(duì)于服務(wù)分配過程重定向。SLM嵌入現(xiàn)有內(nèi)容傳遞結(jié)構(gòu)中,以及服務(wù)請(qǐng)求轉(zhuǎn)發(fā)完全在應(yīng)用層由動(dòng)態(tài)SMIL重寫來執(zhí)行。
*CSN采用預(yù)訂模型,終端用戶或者內(nèi)容提供商預(yù)訂特定服務(wù)。SLM不需要來自任何一方的預(yù)訂。
*在CSN中,一旦服務(wù)會(huì)話被分配給服務(wù)節(jié)點(diǎn),則那個(gè)節(jié)點(diǎn)完成該會(huì)話,除非節(jié)點(diǎn)出故障。SLM可在服務(wù)會(huì)話中途動(dòng)態(tài)切換到不同的節(jié)點(diǎn)。
*CSN采用OPES,它要求服務(wù)在可提供結(jié)果之前完成。SLM實(shí)現(xiàn)流式媒體服務(wù),也就是說,媒體服務(wù)的結(jié)果可在服務(wù)會(huì)話正進(jìn)行時(shí)并行提供。
*CSN未公開如何采用動(dòng)態(tài)服務(wù)設(shè)置/會(huì)話分配來實(shí)現(xiàn)服務(wù)管理。但是,在本文中參照SLM描述了這個(gè)方面。
*CSN沒有表明如何進(jìn)行AP(又稱作服務(wù)節(jié)點(diǎn))的“監(jiān)測(cè)”,因此沒有表明監(jiān)測(cè)是否可縮放或者是否自動(dòng)檢測(cè)節(jié)點(diǎn)故障。SLM可利用基于推送或拉取的監(jiān)測(cè),如本文所述。
*所接收的監(jiān)測(cè)統(tǒng)計(jì)數(shù)據(jù)(無論它們是如何接收的)由SLM修改為反映最近的分派。CSN沒有講授這個(gè)方面。
總之,這些媒體服務(wù)是合乎需要的以支持移動(dòng)裝置在從一個(gè)位置移動(dòng)到另一個(gè)位置、當(dāng)開始和停止后臺(tái)任務(wù)、當(dāng)調(diào)整其處理器和顯示器參數(shù)以允許各種電源管理策略時(shí)所提出的顯示器、處理器和帶寬限制的快速擴(kuò)展和高度動(dòng)態(tài)的集合。概述的SLM解決方案能夠有效地解決通過網(wǎng)絡(luò)中的多個(gè)服務(wù)節(jié)點(diǎn)對(duì)CPU密集的媒體處理任務(wù)進(jìn)行負(fù)荷平衡的問題。當(dāng)客戶機(jī)訪問眾所周知的門戶站點(diǎn)時(shí),服務(wù)位置管理器302把請(qǐng)求動(dòng)態(tài)路由到最少負(fù)荷的服務(wù)節(jié)點(diǎn)。此外,已碼變換流以符合3GPP的客戶機(jī)透明方式從網(wǎng)絡(luò)中的適當(dāng)服務(wù)節(jié)點(diǎn)提供。
對(duì)于[6,11]中概述的移動(dòng)客戶機(jī),這種體系結(jié)構(gòu)可擴(kuò)展到觸發(fā)媒體服務(wù)會(huì)話的應(yīng)用層切換。SLM體系結(jié)構(gòu)極適合確定接近新的客戶機(jī)位置的媒體服務(wù)節(jié)點(diǎn)。執(zhí)行會(huì)話中切換的能力允許以比前面所述更為細(xì)致的粒度進(jìn)行負(fù)荷平衡。
基于組件化網(wǎng)絡(luò)的媒體服務(wù)的示范體系結(jié)構(gòu)根據(jù)本發(fā)明的一個(gè)實(shí)施例的媒體服務(wù)體系結(jié)構(gòu)(MSA)可提供靈活的通用體系結(jié)構(gòu),用于請(qǐng)求、配置和運(yùn)行對(duì)流式音頻和視頻在其流經(jīng)網(wǎng)絡(luò)時(shí)進(jìn)行操作的服務(wù)。MSA把所請(qǐng)求媒體服務(wù)分解為模塊處理組件,它們可分布到遍及網(wǎng)絡(luò)的服務(wù)器,并且可相互通信(例如經(jīng)由標(biāo)準(zhǔn)流式傳輸協(xié)議)。標(biāo)準(zhǔn)協(xié)議的使用還提供MSA與媒體內(nèi)容傳遞網(wǎng)絡(luò)之間的無縫互通性。MSA通過監(jiān)測(cè)連網(wǎng)服務(wù)器并且以有效地利用可用計(jì)算和網(wǎng)絡(luò)資源的方式對(duì)其分配服務(wù)組件,來管理媒體服務(wù)。注意,服務(wù)的組件化和網(wǎng)絡(luò)傳遞允許新的和改進(jìn)的服務(wù)的快速發(fā)展,并且促進(jìn)廣泛的服務(wù)可用性以及裝置兼容性,同時(shí)極大地減少終端用戶的系統(tǒng)維護(hù)負(fù)擔(dān)。
在一個(gè)實(shí)施例中,MSA通過把復(fù)雜媒體服務(wù)分解為靈活配置、基于網(wǎng)絡(luò)的部分,把組件化、基于萬維網(wǎng)的服務(wù)擴(kuò)展到流式傳輸豐富媒體的領(lǐng)域。這種方法允許功能強(qiáng)大的新應(yīng)用的迅速發(fā)展和簡(jiǎn)單維護(hù),并且促進(jìn)向大量用戶的可縮放性。這全部無需損害媒體服務(wù)客戶機(jī)方面的易用性來實(shí)現(xiàn)。
基于網(wǎng)絡(luò)的媒體服務(wù)在獨(dú)立系統(tǒng)中對(duì)音頻、視頻和其它媒體執(zhí)行的許多類型的分析可集成到連網(wǎng)處理體系結(jié)構(gòu)中。例如,語音識(shí)別、面部檢測(cè)和識(shí)別以及音頻降噪可以只是從本地臺(tái)式機(jī)移動(dòng)到具有可用帶寬和處理能力的連網(wǎng)服務(wù)器機(jī)器。另外,MSA使實(shí)際的新的高值服務(wù)可用,其中包括視頻合成兩個(gè)或兩個(gè)以上視頻流可根據(jù)掩碼逐個(gè)圖像被混合,從而產(chǎn)生具有來自多個(gè)源的內(nèi)容的單個(gè)視頻流?!爱嬛挟嫛焙汀八{(lán)屏”特殊效果就屬于許多應(yīng)用之中的。視頻碼變換可能是克服輸入流的失配格式、分辨率和幀速率所需的。
會(huì)議總結(jié)和轉(zhuǎn)錄當(dāng)會(huì)議中有攝像機(jī)和話筒時(shí),輸入的音頻和視頻流可在網(wǎng)絡(luò)中被收集,并且采用視頻和音頻分割以及語音和面部識(shí)別來處理,從而產(chǎn)生會(huì)議的索引記錄。另外,自動(dòng)語音識(shí)別(ASR)、關(guān)鍵字定位以及文檔摘要可用來產(chǎn)生會(huì)議的索引、注釋及部分轉(zhuǎn)錄的記錄。這些類型的記錄可用于以后快速回憶會(huì)議內(nèi)容。
多源音頻增強(qiáng)例如在帶有若干話筒啟用的個(gè)人數(shù)字助理(PDA)或其它電子記錄裝置的會(huì)議中從單個(gè)房間的不同話筒捕捉多個(gè)音頻流時(shí),盲源分離可應(yīng)用于這種自組話筒陣列,以便對(duì)來自不同參加者的語音進(jìn)行分離和降噪。
動(dòng)態(tài)視野選擇在現(xiàn)場(chǎng)電話會(huì)議和萬維網(wǎng)播放講座應(yīng)用中,多個(gè)攝像機(jī)對(duì)于充分覆蓋面積往往是需要的。最佳攝像機(jī)視野在事件過程中通常多次改變。來自事件的視頻和音頻流的分析可由基于網(wǎng)絡(luò)的服務(wù)用來自動(dòng)選擇最佳視頻饋送。
這些類型的媒體分析當(dāng)今通過本地臺(tái)式機(jī)處理可獲得。但是,在網(wǎng)絡(luò)中間對(duì)媒體流進(jìn)行操作的組件化服務(wù)提供優(yōu)于傳統(tǒng)臺(tái)式機(jī)模型的許多優(yōu)點(diǎn),其中包括改進(jìn)的應(yīng)用提供開發(fā)人員能夠通過只是更新MSA來快速分布改進(jìn)的服務(wù)。通過混合及匹配組件快速創(chuàng)建新的服務(wù)。每當(dāng)用戶可達(dá)網(wǎng)絡(luò)時(shí),應(yīng)用程序均可用,而不只是當(dāng)他們能夠訪問其中可能安裝了應(yīng)用程序的他們自己的機(jī)器時(shí)。
簡(jiǎn)化系統(tǒng)管理由于在網(wǎng)絡(luò)中執(zhí)行處理,因此,終端用戶不需要擔(dān)心在其自己的機(jī)器上的連續(xù)安裝和更新困難。
多流處理的簡(jiǎn)化許多基于媒體的應(yīng)用,例如會(huì)議總結(jié),涉及要收集以便聯(lián)合處理的多個(gè)流。當(dāng)這些流不是源于同一機(jī)器時(shí),在網(wǎng)絡(luò)中間對(duì)它們處理通常更為有效。
可控計(jì)算環(huán)境雖然各個(gè)用戶的機(jī)器可能在其計(jì)算能力、存儲(chǔ)容量和操作系統(tǒng)方面極為不同,但MSA機(jī)器可標(biāo)準(zhǔn)化為較小范圍的技術(shù)要求。可對(duì)于這些技術(shù)要求開發(fā)和優(yōu)化服務(wù)組件,從而產(chǎn)生更可靠的整體應(yīng)用性能。
結(jié)果的有效共享在許多情況、例如會(huì)議總結(jié)上下文中,多個(gè)用戶需要的處理媒體和分析結(jié)果幾乎相同。不是在每個(gè)用戶的機(jī)器上復(fù)制這個(gè)處理,而是網(wǎng)絡(luò)中間處理可執(zhí)行一次重疊計(jì)算,然后把結(jié)果分發(fā)給各用戶。簡(jiǎn)言之,基于網(wǎng)絡(luò)的媒體處理服務(wù)為用戶提供比當(dāng)前的本地媒體集中應(yīng)用更大的靈活性和功能性的可能性,還簡(jiǎn)化了維護(hù)及可靠性問題。
媒體服務(wù)體系結(jié)構(gòu)(MSA)MSA的實(shí)施例集中在與媒體傳遞體系結(jié)構(gòu)的結(jié)合以及以高度靈活方式實(shí)現(xiàn)媒體服務(wù)。MSA的一些特征可包括互通性組件之間采用開放式接口和標(biāo)準(zhǔn)的無縫流式互連;模塊性模塊服務(wù)組件,允許網(wǎng)絡(luò)中間動(dòng)態(tài)媒體服務(wù)構(gòu)造;以及可管理性以可縮放方式對(duì)計(jì)算和存儲(chǔ)資源的媒體服務(wù)的有效分配。
下面論述體系結(jié)構(gòu)可用來提供這些特征的每個(gè)的方式。
流式互通性的無縫互連MSA中以及MSA的組件與媒體內(nèi)容傳遞網(wǎng)絡(luò)(CDN)的組件之間的媒體流的所有機(jī)器間傳輸可經(jīng)由可稱作“Ears”的統(tǒng)一輸入和輸出模塊來進(jìn)行。在一個(gè)實(shí)施例中,Ears依靠基于標(biāo)準(zhǔn)的媒體流式傳輸協(xié)議,從而使MSA與CDN及其它流式媒體應(yīng)用的結(jié)合更容易。輸入和輸出Ears都可非限制性地經(jīng)由用于描述多媒體的SDP協(xié)議、用于會(huì)話管理和媒體重放控制的實(shí)時(shí)流式傳輸協(xié)議(RTSP)以及在實(shí)時(shí)限制下用于數(shù)據(jù)傳輸?shù)膶?shí)時(shí)協(xié)議/實(shí)時(shí)控制協(xié)議(RTP/RTCP)與其它連網(wǎng)機(jī)器進(jìn)行通信。給定Ear可管理單個(gè)媒體流的流程的一端(發(fā)送或接收),但是,多個(gè)Ears可鏈接到同一個(gè)同步流式會(huì)話。
Ears還可提供數(shù)據(jù)壓縮及解壓縮功能性,使得流經(jīng)該體系結(jié)構(gòu)的多媒體可在通常用于網(wǎng)絡(luò)傳輸?shù)膲嚎s格式與媒體處理和分析技術(shù)通常需要的未壓縮格式之間進(jìn)行相互轉(zhuǎn)換。輸入Ears可自動(dòng)檢測(cè)輸入媒體流的格式,并采用適當(dāng)?shù)慕鈮嚎s模塊把數(shù)據(jù)轉(zhuǎn)換為適合媒體分析的形式。輸出Ears可把原始數(shù)據(jù)流轉(zhuǎn)換為適合網(wǎng)絡(luò)傳輸?shù)膲嚎s格式。所支持的標(biāo)準(zhǔn)壓縮方案可包括但不限于活動(dòng)圖像專家組(MPEG)、MPEG-1、-2和-4視頻及音頻/調(diào)制解調(diào)器插卡(AMR)和WAV音頻。注意,可通過注冊(cè)適當(dāng)?shù)膲嚎s和解壓縮模塊來增加新的格式。
最后,由于媒體處理技術(shù)可能不是以與流式媒體相同的速率工作,因此,Ears可實(shí)現(xiàn)數(shù)據(jù)緩沖以及流量控制方法,來消除數(shù)據(jù)速率失配。循環(huán)緩沖使昂貴的數(shù)據(jù)復(fù)制、來自網(wǎng)絡(luò)、應(yīng)用程序以及解壓縮和壓縮例程的多線程有效服務(wù)數(shù)據(jù)請(qǐng)求減至最少。緩沖器溢出可通過用于丟棄幀的可選策略來處理。
靈活、模塊服務(wù)分解MSA服務(wù)可通過采用簡(jiǎn)單高級(jí)媒體服務(wù)請(qǐng)求聯(lián)絡(luò)服務(wù)門戶來發(fā)起。這些請(qǐng)求可由用戶裝置經(jīng)由網(wǎng)絡(luò)、如因特網(wǎng)直接進(jìn)行,或者它們可通過由用戶裝置運(yùn)行的、本地或MSA中的應(yīng)用程序產(chǎn)生。各請(qǐng)求可包含例如“視頻合成”等的服務(wù)名稱以及例如源和目標(biāo)統(tǒng)一資源定位符(URL)等的任何服務(wù)參數(shù)。
這些簡(jiǎn)單媒體服務(wù)請(qǐng)求對(duì)請(qǐng)求客戶機(jī)隱藏大部分媒體服務(wù)的復(fù)雜度。例如,會(huì)議總結(jié)可采用語音識(shí)別、面部檢測(cè)、視頻運(yùn)動(dòng)分析以及語音標(biāo)識(shí),并且這些組件技術(shù)的每個(gè)又可分為若干子組件。另一方面,給定的處理技術(shù)可能是許多不同服務(wù)中的有用組件。為此,希望把媒體處理技術(shù)封裝成靈活且動(dòng)態(tài)組合的模塊化可再用組件。
因此,各媒體服務(wù)被構(gòu)造為通過數(shù)據(jù)流進(jìn)行通信的獨(dú)立“組件”的圖表。各組件可封裝密切聯(lián)合工作的一個(gè)或多個(gè)“子組件”處理技術(shù)。一個(gè)媒體服務(wù)的組件可動(dòng)態(tài)安排在單個(gè)機(jī)器上或者分布在網(wǎng)絡(luò)上。由于組件良好地封裝,因此每個(gè)可無需關(guān)心這種分布而進(jìn)行工作。
圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的框圖,說明示范操作,MSA通過這些操作來分解和分布服務(wù)。在接收用戶裝置1002發(fā)出的媒體服務(wù)請(qǐng)求1004之后,服務(wù)門戶1006啟動(dòng),并且運(yùn)行服務(wù)構(gòu)建器1008以管理請(qǐng)求的完成。注意,每個(gè)命名的媒體服務(wù)可與不同的服務(wù)構(gòu)建器(例如1008)關(guān)聯(lián),以及各服務(wù)構(gòu)建器了解將實(shí)現(xiàn)那個(gè)服務(wù)的組件(例如1001)的抽象圖的結(jié)構(gòu)。對(duì)于這個(gè)圖中的各組件,服務(wù)構(gòu)建器1008向“服務(wù)位置管理器”(SLM)1012發(fā)送組件安排請(qǐng)求1010,以便如本文所述確定要在其中運(yùn)行一個(gè)或多個(gè)組件的連網(wǎng)服務(wù)使能機(jī)器(例如1022、1024或1026)。SLM 1012把組件安排決定1014返回給服務(wù)構(gòu)建器1008,它可包括各組件的每個(gè)輸入和輸出流的特定URL(具有端口號(hào))。服務(wù)構(gòu)建器1008按所選服務(wù)使能機(jī)器(例如1022)把這些決定分組,然后經(jīng)由網(wǎng)絡(luò)(例如因特網(wǎng)1028)向每個(gè)所選機(jī)器發(fā)送一個(gè)構(gòu)造請(qǐng)求1016,列出預(yù)期組件120及其輸入和輸出URL。
本地構(gòu)建器“本地構(gòu)建器”(例如1018)在每個(gè)MSA機(jī)器(例如1022、1024和1026)上運(yùn)行,以便服務(wù)于構(gòu)造請(qǐng)求1016。對(duì)于給定請(qǐng)求1016,本地構(gòu)建器1018可創(chuàng)建命名組件中的每個(gè),以及采用輸入和輸出URL來例示Ears 1030和1032,從而在這些組件與其它機(jī)器(例如1022和1026)上的那些組件之間發(fā)送和接收數(shù)據(jù)。這樣,本地構(gòu)建器1018耦合服務(wù)組件。本地構(gòu)建器1018還通過消除一個(gè)以上組件進(jìn)行的相同子組件處理,嘗試優(yōu)化在單個(gè)機(jī)器(例如1024)上運(yùn)行的相互通信組件的每個(gè)集合。當(dāng)服務(wù)被分為適當(dāng)大小、可再用的組件時(shí),有時(shí)出現(xiàn)這種重復(fù)。因而,服務(wù)模塊性的這種成本通過本地構(gòu)建器優(yōu)化來減小。在消除冗余子組件處理之后,本地構(gòu)建器根據(jù)需要重定向合并組件的輸入和輸出流,以便完成服務(wù)處理。
在圖10中,在所有構(gòu)建請(qǐng)求1016完成之后,服務(wù)準(zhǔn)備運(yùn)行。最接近數(shù)據(jù)目的地的服務(wù)圖中的組件非限制性地經(jīng)由RTSP PLAY命令來請(qǐng)求媒體,從而使數(shù)據(jù)經(jīng)過連接組件的整個(gè)圖。因此,預(yù)期媒體來自一個(gè)或多個(gè)源(例如內(nèi)容服務(wù)器1033和現(xiàn)場(chǎng)攝像機(jī)1035及1037),以及所選服務(wù)組件對(duì)流式媒體進(jìn)行操作,以便最終把已處理媒體傳遞到目的地(例如輸出顯示器1003)。注意,圖10中看起來與箭頭1032類似的箭頭表示流式媒體/數(shù)據(jù)。
動(dòng)態(tài)服務(wù)位置管理-組件安排MSA網(wǎng)絡(luò)中的許多單獨(dú)的機(jī)器能夠執(zhí)行媒體服務(wù)的基本處理。因此,對(duì)于各媒體服務(wù)請(qǐng)求(例如1004),可作出關(guān)于如何分配MSA資源以便最好地完成請(qǐng)求的決定。為了避免不適當(dāng)?shù)卦黾泳W(wǎng)絡(luò)負(fù)荷,這些決定可部分基于各個(gè)服務(wù)使能機(jī)器(例如1022、1024和/或1026)與媒體流的源與目的地之間的良好路徑的(網(wǎng)絡(luò))接近性。為了為服務(wù)提供最小延遲以及最高質(zhì)量,這些決定也可考慮各MSA媒體處理器所承載的當(dāng)前處理負(fù)荷。最后,當(dāng)服務(wù)的一些組件共享子組件處理時(shí),可能最好是將其分組在相同服務(wù)使能機(jī)器(例如1022、1024或1026)上。
智能地作出這些決定的一種方式是利用[17]中所述的“服務(wù)位置管理”。MSA包含服務(wù)位置管理器(SLM)、例如1012,它確定安排組成服務(wù)的各個(gè)組件的位置。對(duì)于給定的媒體服務(wù)請(qǐng)求(例如1004),SLM(例如1012)以關(guān)聯(lián)服務(wù)構(gòu)建器(例如1008)所定義的順序一次安排一個(gè)服務(wù)組件,考慮下面描述的多個(gè)因素。組件的安排決定或者可通過對(duì)所有因素及所有組件的聯(lián)合優(yōu)化同時(shí)進(jìn)行,但這甚至對(duì)于適當(dāng)復(fù)雜的服務(wù)也可能是復(fù)雜、費(fèi)時(shí)的程序。不同組件的安排決定或者也可完全獨(dú)立地進(jìn)行,但這可能導(dǎo)致低效的數(shù)據(jù)路徑和重復(fù)子組件處理。SLM(例如1012)而是可維護(hù)最近的組件安排決定的表格,并且使每個(gè)新的決定部分基于這個(gè)歷史記錄。
例如,各組件安排決定可部分基于相同服務(wù)請(qǐng)求的其它組件的先前決定,使得對(duì)于該服務(wù)在抽象圖中相互耦合的組件可優(yōu)先安排在相同的服務(wù)使能機(jī)器(例如1022)上或者安排在具有高帶寬和/或低等待時(shí)間互連的機(jī)器上。注意,組件安排決定以先前決定歷史記錄為基礎(chǔ)是可能為昂貴過程的對(duì)組件的整個(gè)圖的聯(lián)合安排優(yōu)化與可能導(dǎo)致過度復(fù)雜數(shù)據(jù)路徑和故障以消除重疊計(jì)算的完全獨(dú)立安排決定之間的折衷。因此,SLM(例如1012)可被允許根據(jù)先前安排決定來優(yōu)化安排,但是可能不嘗試優(yōu)化全組件圖上的分配。或者,注意,SLM(例如1012)可被允許根據(jù)先前安排決定來優(yōu)化安排,并且可嘗試優(yōu)化全組件圖上的分配。
圖11是根據(jù)本實(shí)施例的一個(gè)實(shí)施例的服務(wù)位置管理方法的框圖。對(duì)于服務(wù)構(gòu)建器1008向SLM 1012發(fā)送的各組件安排請(qǐng)求1010,SLM 1012首先可根據(jù)網(wǎng)絡(luò)位置和先前的組件安排決定來選擇可能的主機(jī)(例如1022、1024和/或1026)的池。為了評(píng)估網(wǎng)絡(luò)位置,SLM 1012可咨詢服務(wù)器機(jī)器(例如1022、1024和1026)之間的網(wǎng)絡(luò)“距離”表格1102,以便確定哪些機(jī)器是在服務(wù)數(shù)據(jù)源和目的地或者它們之間的路徑附近。注意,表格距離可通過所測(cè)量的網(wǎng)絡(luò)延遲及帶寬來確定。服務(wù)的其它組件先前已經(jīng)安排到其中的機(jī)器對(duì)于當(dāng)前組件的安排可由SLM 1012給予更大的優(yōu)選權(quán),特別是在那些先前安排的組件要直接耦合到當(dāng)前組件或者被指示可能與當(dāng)前組件共享子組件處理時(shí)。所有這種信息可組合為計(jì)算每個(gè)可能的主機(jī)(例如1022、1024或1026)的“機(jī)器安排成本”。
SLM 1012還可審查先前的組件安排決定,以便通過聯(lián)合組件安排來查找可能的計(jì)算節(jié)省。在一個(gè)實(shí)施例中,每種類型的組件與所包含的命名“子組件”技術(shù)的列表關(guān)聯(lián)。例如,“語音識(shí)別”組件可能計(jì)算(音頻)倒譜特征,并且采用HMM對(duì)它們進(jìn)行分析。如果存在具有先前安排組件中的相同倒譜子組件的機(jī)器,則可為那個(gè)機(jī)器提供當(dāng)前決定過程中的優(yōu)選權(quán)。這種信息可與網(wǎng)絡(luò)位置評(píng)估結(jié)合以便產(chǎn)生“機(jī)器安排成本”1106,以及具有最低成本的機(jī)器組成當(dāng)前組件的可能的主機(jī)的池。這些成本隨后可根據(jù)各機(jī)器上的資源可用性來調(diào)整。
在圖11中,通過向與那種類型的組件關(guān)聯(lián)的資源要求例程1108提供服務(wù)參數(shù)、如媒體分辨率和幀速率,組件的所需計(jì)算和存儲(chǔ)資源由SLM 1012來確定。可能的主機(jī)上的資源可用性可由SLM 1012通過向其發(fā)送資源查詢1116咨詢駐留在那些機(jī)器(1022、1024和1026)上的本地資源管理器(LRM)(例如1110、1112和1114)來確定。注意,各LRM(例如1110、1112或1114)可通過對(duì)其操作系統(tǒng)的直接查詢來監(jiān)測(cè)那個(gè)機(jī)器的狀態(tài)。還要注意,LRM又可稱作服務(wù)位置監(jiān)控程序(SLS)。LRM還可跟蹤(未示出)來自機(jī)器的本地構(gòu)建器(例如1018)的掛起和最近完成的請(qǐng)求,因?yàn)樗鼈兛赡苋晕捶从吃诋?dāng)前處理器負(fù)荷統(tǒng)計(jì)數(shù)據(jù)中。各LRM(例如1110、1112或1114)則可向SLM 1012返回機(jī)器資源狀態(tài)以及當(dāng)安排在其中時(shí)保留供組件使用的網(wǎng)絡(luò)端口號(hào)。SLM 1012可與機(jī)器的資源可用性成反比地增加所有機(jī)器安排成本1106。因此,SLM 1012可計(jì)算每個(gè)可能的主機(jī)(例如1022、1024或1026)的最終機(jī)器安排成本1106。
具有最低機(jī)器安排成本的機(jī)器可選作組件主機(jī)。指定這個(gè)主機(jī)并包含組件輸入和輸出URL及保留端口的組件安排決定1014可由SLM 1012返回給服務(wù)構(gòu)建器1008。SLM 1012的最近安排決定1104的表格也可經(jīng)過更新以反映這種信息。
在圖10和圖11中,要注意,SLM 1012可根據(jù)服務(wù)使能機(jī)器負(fù)荷、網(wǎng)絡(luò)負(fù)荷和/或帶寬、客戶機(jī)位置、現(xiàn)有媒體/數(shù)據(jù)服務(wù)流式會(huì)話、客戶機(jī)請(qǐng)求的聚集等來決定安排組件的位置。這樣,SLM 1012能夠管理多個(gè)媒體/數(shù)據(jù)服務(wù)流式會(huì)話。
示范服務(wù)實(shí)現(xiàn)要注意,已經(jīng)實(shí)現(xiàn)MSA的原型以及可從其中構(gòu)建各種服務(wù)的組件。為了更好地說明MSA的實(shí)施例的操作和益處,論述對(duì)視頻媒體進(jìn)行操作的三種組件所支持的服務(wù)大小調(diào)整改變視頻的寬度和/或高度;例如,高分辨率的視頻可經(jīng)過向下抽樣,以便更好地傳輸以及在PDA上顯示。
背景技術(shù):
消除提取畫面中的動(dòng)態(tài)或“關(guān)注”對(duì)象、如人,同時(shí)抑制畫面的其它無變化方面、如墻壁和家具。背景消除組件的一個(gè)實(shí)施例可基于[18]的技術(shù)。它嘗試采用固定顏色(如白色)來替換畫面中的背景,同時(shí)保持前景沒有改變。
合成利用掩碼、采用來自另一個(gè)圖像或視頻流的像素來替換視頻流中的像素,例如本地電視(TV)天氣預(yù)報(bào)所使用的“藍(lán)屏”技術(shù)那樣。合成組件可采用來自另一個(gè)圖像或流的像素替換具有特殊顏色(如白色)的視頻流像素,同時(shí)保持其它像素沒有改變。
許多有用的服務(wù)可從這三種組件中構(gòu)造。
對(duì)于現(xiàn)代CDN設(shè)計(jì)[19,20],視頻到適合移動(dòng)客戶機(jī)、如PDA和移動(dòng)電話的更低分辨率的碼變換是符合需要的,并且可經(jīng)由大小調(diào)整組件來實(shí)現(xiàn)。
通過在長(zhǎng)時(shí)間周期進(jìn)行畫面外觀的顯式建模,背景消除組件能夠分割畫面的關(guān)注對(duì)象,使得更多比特可用來對(duì)其編碼。對(duì)于靜止攝像機(jī),背景只需要在接近視頻開始時(shí)傳送一次,以及每當(dāng)它實(shí)質(zhì)上改變時(shí)再一次傳送。這可實(shí)現(xiàn)優(yōu)于標(biāo)準(zhǔn)壓縮的大量增益。標(biāo)準(zhǔn)壓縮在每當(dāng)由運(yùn)動(dòng)前景對(duì)象展現(xiàn)的情況下將把背景作為“新的”某種內(nèi)容重傳。因此,這個(gè)背景消除組件可選地與大小調(diào)整結(jié)合可用來提供到用戶所請(qǐng)求的極低目標(biāo)等級(jí)的比特率降低。
這里的論述集中于采用上述全部三種組件的“移動(dòng)私人視頻電話”(MPVP)服務(wù)。要注意,通過采用合成以便用他們選擇的圖像或視頻來替換其背景,MPVP允許視頻電話會(huì)議參加者防止他人觀看其周圍環(huán)境的詳細(xì)情況。例如,從海灘打電話的人可能更喜歡采用他/她的辦公室的背景。對(duì)于在移動(dòng)裝置上接收視頻的用戶,也可使用向下抽樣(經(jīng)由大小調(diào)整),以便獲得比特率降低。
MPVP服務(wù)可在已經(jīng)對(duì)遠(yuǎn)程參與者開放音頻信道并且現(xiàn)在希望增加視頻的因特網(wǎng)協(xié)議(IP)電話應(yīng)用中啟動(dòng)。該應(yīng)用可向MSA服務(wù)門戶(例如1006)發(fā)送對(duì)“MPVP”服務(wù)的請(qǐng)求以及諸如目標(biāo)IP地址和預(yù)期視頻分辨率之類的參數(shù)。門戶1006則可啟動(dòng)MPVP服務(wù)構(gòu)建器(例如1008),它了解服務(wù)的抽象圖,如圖12a中所示的一個(gè)。要注意,圖12a是根據(jù)本發(fā)明的實(shí)施例的服務(wù)的組件的示范抽象圖1200。具體來說,抽象圖1200包括來自視頻源1202的視頻,它被發(fā)送給大小調(diào)整組件1204,大小調(diào)整組件1204將其輸出發(fā)送給背景消除1206,背景消除1206又在最終把視頻傳遞給視頻目的地1210之前饋入合成1208。
服務(wù)構(gòu)建器(例如1008)可向SLM(例如1012)以它們?cè)诔橄髨D1200中出現(xiàn)的順序發(fā)送三種組件的每個(gè)的組件安排請(qǐng)求(例如1010)。為了進(jìn)行說明,在圖12b-d中假定網(wǎng)絡(luò)1212包含圖10和圖11的SLM 1012可在其中安排組件的服務(wù)使能機(jī)器1022、1024和1026。另外,SLM 1012還可能知道在組件的兩個(gè)或兩個(gè)以上被安排在相同機(jī)器(例如1026)時(shí)能夠減少多少計(jì)算。SLM 1012可考慮可能的計(jì)算節(jié)省、各機(jī)器上的當(dāng)前計(jì)算負(fù)荷水平、各組件的處理要求以及網(wǎng)絡(luò)拓?fù)浜拓?fù)荷水平,以便得出關(guān)于如何分布組件的決定。網(wǎng)絡(luò)1212上的組件的三種示范分布如圖12b-d所示。
在圖12b-d中,服務(wù)器1022、1024和1026以及視頻源1214以及目的地1216安排成反映它們的相對(duì)網(wǎng)絡(luò)距離。要注意,圖像表示各鏈路上流動(dòng)的(可能已處理的)視頻。沒有處理組件的機(jī)器只是轉(zhuǎn)發(fā)媒體。
圖12b的第一分布不是我們的SLM特別支持的,因?yàn)樗拈L(zhǎng)數(shù)據(jù)路徑對(duì)于服務(wù)將導(dǎo)致高等待時(shí)間。這種分布可由更簡(jiǎn)單的安排技術(shù)、例如隨機(jī)選擇來選取,它不考慮網(wǎng)絡(luò)拓?fù)浜桶才艢v史記錄。具體來說,視頻源1214把視頻發(fā)送給服務(wù)使能機(jī)器1026,它將其輸出發(fā)送給服務(wù)使能機(jī)器1022進(jìn)行大小調(diào)整1204和背景消除1206,服務(wù)使能機(jī)器1022又在最終把視頻傳遞到其目的地、即PDA 1216之前饋入服務(wù)使能機(jī)器1024進(jìn)行合成1208。
圖12c的第二配置把所有組件1204-1208安排在服務(wù)使能機(jī)器1026上。具體來說,視頻源1214把視頻發(fā)送給服務(wù)使能機(jī)器1024,它將其輸出發(fā)送給服務(wù)使能機(jī)器1026進(jìn)行大小調(diào)整1204、背景消除1206以及合成1208,服務(wù)使能機(jī)器1026又在最終把視頻傳遞到其目的地、即PDA 1216之前饋入服務(wù)使能機(jī)器1022。通過把所有組件1204-1208安排在服務(wù)使能機(jī)器1026上,這不只是通過消除冗余子組件處理,而且還通過消除當(dāng)組件1204-1208處于分離的機(jī)器時(shí)將要執(zhí)行的、即由Ears 1030、1032、1218和1220執(zhí)行的額外視頻解壓縮和壓縮步驟,來產(chǎn)生計(jì)算節(jié)省。圖12c的配置因而極大地減少引入服務(wù)網(wǎng)絡(luò)1212的整體計(jì)算負(fù)荷,并且在系統(tǒng)負(fù)荷等級(jí)很高時(shí)、例如當(dāng)許多服務(wù)正在進(jìn)行時(shí)可能是優(yōu)選的。
但是,把所有組件安排在一個(gè)機(jī)器上的缺點(diǎn)在于,它們的組合處理不太可能跟上由視頻源1214發(fā)出的流式視頻的幀速率。例如,可能難以完全在同一臺(tái)機(jī)器(例如1026)上以每秒30幀進(jìn)行大小調(diào)整1204、背景消除1206以及合成1208,使得一些幀可能需要被丟棄,并且所產(chǎn)生的視頻質(zhì)量下降。
另一方面,通過在三個(gè)不同機(jī)器(例如1022-1026)上散布組件1204-1208,如圖12d所示,所有三個(gè)組件1204-1208更可能以每秒30幀平穩(wěn)地運(yùn)行,而沒有丟棄幀,特別是當(dāng)選取這些機(jī)器1022-1026時(shí),因?yàn)樗鼈兿鄬?duì)沒有負(fù)擔(dān)。具體來說,視頻源1214把視頻發(fā)送給服務(wù)使能機(jī)器1024進(jìn)行大小調(diào)整1204,它將其輸出發(fā)送給服務(wù)使能機(jī)器1026進(jìn)行背景消除1206,服務(wù)使能機(jī)器1026在把視頻傳遞到其目的地、即PDA 1216之前將其輸出發(fā)送給服務(wù)使能機(jī)器1022進(jìn)行合成1208。
SLM(例如1012)作出的安排決定被返回給服務(wù)構(gòu)建器(例如1008),它按照機(jī)器將其分組,并向駐留在那些機(jī)器上的本地構(gòu)建器(例如1018)發(fā)出構(gòu)造請(qǐng)求(例如1016)。本地構(gòu)建器啟動(dòng)所請(qǐng)求組件(例如1204、1206和/或1208),并根據(jù)構(gòu)造請(qǐng)求中指定的URL指導(dǎo)它們發(fā)送和接收數(shù)據(jù)。當(dāng)所有本地構(gòu)建器已經(jīng)通知服務(wù)構(gòu)建器它們的組件準(zhǔn)備就緒時(shí),通過服務(wù)的媒體可經(jīng)由RTSP“PLAY”命令來啟動(dòng)。要注意,圖12b-d中的機(jī)器之間的鏈路上所示的圖像表示對(duì)于實(shí)際視頻流在其流經(jīng)各種服務(wù)拓?fù)鋾r(shí)進(jìn)行的處理的實(shí)例。
圖12a-d的這些服務(wù)實(shí)例說明MSA的一些方面。大家理解,這種方法可擴(kuò)展為結(jié)合附加類型的組件處理以及已處理流到多個(gè)用戶裝置的分支,各用戶裝置可能請(qǐng)求沿他自己分支的不同的進(jìn)一步處理。另外,雖然這個(gè)實(shí)例從視頻輸入產(chǎn)生視頻輸出,但其它服務(wù)組件的許多也可能采用視頻和音頻分析來產(chǎn)生非媒體數(shù)據(jù)流、如文本(例如從語音識(shí)別中)或者事件概述和時(shí)間索引(例如從基于視覺的人的跟蹤和活動(dòng)分析)。另外,SLM(例如1012)可能決定以多個(gè)方式的任一種來分布組件,取決于服務(wù)器的計(jì)算負(fù)荷、網(wǎng)絡(luò)拓?fù)浜拓?fù)荷等級(jí)、以及可通過組件在相同服務(wù)使能機(jī)器上的聯(lián)合安排得到的處理數(shù)量的減少。
要注意,視頻和音頻分析及處理的許多先進(jìn)技術(shù)仍然需要不斷發(fā)展到廣泛使用的應(yīng)用中。這可能部分因?yàn)樵讷@取它們通常要求的大量處理資源方面以及在把這些應(yīng)用連接到關(guān)注媒體源和希望的輸出位置方面配置復(fù)雜媒體處理應(yīng)用的困難。通過實(shí)現(xiàn)存在于網(wǎng)絡(luò)本身的靈活媒體處理,媒體服務(wù)體系結(jié)構(gòu)的一個(gè)實(shí)施例具有使先進(jìn)的媒體豐富應(yīng)用成為主流、廣泛使用的可能性。這種體系結(jié)構(gòu)的實(shí)施例易于與媒體CDN結(jié)合,允許服務(wù)的模塊性以便易于重新配置和再使用,以及促進(jìn)寶貴的網(wǎng)絡(luò)資源的有效分配,同時(shí)減少終端用戶的維護(hù)、兼容性和可用性問題。
要注意,MSA中的機(jī)器間和/或節(jié)點(diǎn)間的通信可根據(jù)本發(fā)明的實(shí)施例以各種各樣的方式來實(shí)現(xiàn)。這種通信可包括但不限于服務(wù)構(gòu)建器與SLM通信、服務(wù)構(gòu)建器與一個(gè)或多個(gè)本地構(gòu)建器通信、LRM與SLM通信以及LRM與本地構(gòu)建器通信。注意,LRM與本地構(gòu)建器之間的通信可能不是機(jī)器間的,而可能是機(jī)器或節(jié)點(diǎn)內(nèi)、非限制性地采用操作系統(tǒng)、本地文件等的通信。
圖13是根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行的、用于管理又可稱作媒體流服務(wù)的流式媒體服務(wù)的操作的流程圖1300。流程圖1300包括本發(fā)明的過程,在一些實(shí)施例中,這些過程由處理器和電氣組件在計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令的控制下執(zhí)行。計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令例如可駐留在諸如計(jì)算機(jī)可用易失性存儲(chǔ)器、計(jì)算機(jī)可用非易失性存儲(chǔ)器和/或計(jì)算機(jī)可用大容量數(shù)據(jù)存儲(chǔ)裝置之類的數(shù)據(jù)存儲(chǔ)功能中。但是,計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令可駐留在任何類型的計(jì)算機(jī)可讀介質(zhì)中。雖然在流程圖1300中公開了具體操作,但這類操作是示范性的。也就是說,當(dāng)前實(shí)施例極適合于執(zhí)行其它各種操作或者圖13中所述的操作的變體。在當(dāng)前實(shí)施例中,要注意,流程圖1300的操作可由軟件、由硬件或者由軟件和硬件的任何組合來執(zhí)行。
在操作1302,從客戶機(jī)接收對(duì)于流式媒體服務(wù)的請(qǐng)求。流式媒體服務(wù)包括多個(gè)組件媒體服務(wù)。
在操作1304,對(duì)于多個(gè)組件媒體服務(wù)中的哪個(gè)組件媒體服務(wù)要分配給網(wǎng)絡(luò)的多個(gè)服務(wù)節(jié)點(diǎn)中的一個(gè)服務(wù)節(jié)點(diǎn)進(jìn)行確定。
在操作1306,通知分配用于執(zhí)行多個(gè)組件媒體服務(wù)中的一個(gè)組件媒體服務(wù)的各服務(wù)節(jié)點(diǎn),使流式媒體服務(wù)能夠?qū)α魇矫襟w執(zhí)行。
在操作1308,產(chǎn)生每個(gè)所分配服務(wù)節(jié)點(diǎn)的輸入通信套接字和輸出通信套接字,以便實(shí)現(xiàn)所分配服務(wù)節(jié)點(diǎn)之間的通信。
MSA中的多個(gè)流處理例如視頻合成之類的應(yīng)用可能是基于網(wǎng)絡(luò)的媒體服務(wù),由媒體服務(wù)體系結(jié)構(gòu)(MSA)來實(shí)現(xiàn)。對(duì)于視頻合成,多個(gè)視頻流必需共同經(jīng)過處理,以便產(chǎn)生新的視頻流。這種應(yīng)用可用來提供畫中畫效果。
圖14是根據(jù)本發(fā)明的一個(gè)實(shí)施例的MSA中被處理的多個(gè)媒體流的框圖。通過建立可從不同輸入流(例如1408和1410)獲取內(nèi)容的收聽Ears(例如1412和1414),MSA可支持這種服務(wù)。媒體流式源(例如1402和1404)由服務(wù)位置管理器(未示出)指定,它可能把合成服務(wù)安排在(例如)兩個(gè)視頻服務(wù)之間中途的網(wǎng)絡(luò)點(diǎn)(例如服務(wù)節(jié)點(diǎn)1406)。合成服務(wù)1416則使兩個(gè)流(例如1408a和1410)彼此同步,并且可通過把來自流1408的已碼變換視頻1408a重疊到另外的流1410來執(zhí)行“畫中畫”操作,然后再通過輸出Ear 1418流出所得視頻1420。實(shí)施例說明在媒體服務(wù)、在本例中為視頻合成(例如1416)的輸入側(cè)可如何管理多個(gè)流。
圖15是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的MSA中被處理的多個(gè)媒體流的框圖。具體來說,通過“分接”現(xiàn)有服務(wù)會(huì)話的輸出作為對(duì)新建服務(wù)會(huì)話的輸入,本地構(gòu)建器(或SLM)(均未示出)可當(dāng)流式媒體通過網(wǎng)絡(luò)時(shí)對(duì)其優(yōu)化。
要注意,圖15的組件以類似于以上所述的圖14的組件的方式進(jìn)行操作。但是,在圖15中,如果服務(wù)正在進(jìn)行并且另一個(gè)客戶機(jī)(未示出)請(qǐng)求視頻1408的已碼變換形式,則SLM可向合成服務(wù)1416發(fā)送消息(經(jīng)由SOAP/XML),以便使視頻1408的已碼變換形式可用于新的客戶機(jī)。
要注意,多個(gè)媒體流可根據(jù)本發(fā)明的實(shí)施例以各種各樣的方式來處理。例如,視頻流可由服務(wù)使能機(jī)器來接收,該服務(wù)使能機(jī)器對(duì)其進(jìn)行碼變換,然后把已碼變換視頻輸出給多個(gè)客戶機(jī)。另外,視頻流到達(dá)第一節(jié)點(diǎn),以及背景消除被執(zhí)行。第一節(jié)點(diǎn)向正運(yùn)行合成服務(wù)的第二節(jié)點(diǎn)發(fā)出前景。第二節(jié)點(diǎn)還具有從其它某個(gè)源到達(dá)其中的第二視頻流。第二節(jié)點(diǎn)向第五節(jié)點(diǎn)輸出所接收的前景視頻和第二視頻流的合成視頻流。另外,第一視頻流的其它某個(gè)部分還被發(fā)到可能正進(jìn)行某種人標(biāo)識(shí)的第三節(jié)點(diǎn),存在運(yùn)行于那個(gè)節(jié)點(diǎn)上的耦合組件。第三節(jié)點(diǎn)產(chǎn)生某個(gè)索引,由正運(yùn)行某種文本生成的第四節(jié)點(diǎn)接收,它被輸出到運(yùn)行某個(gè)服務(wù)的第五節(jié)點(diǎn),該服務(wù)組合輸入以便產(chǎn)生海灘上的人的輸出,在他的下方帶有他的名字。另外,音頻流可到達(dá)第四節(jié)點(diǎn),它被輸出到第五節(jié)點(diǎn)。
圖16是根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行的操作的流程圖1600。流程圖1600包括本發(fā)明的過程,在一些實(shí)施例中,這些過程由處理器和電氣組件在計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令的控制下執(zhí)行。計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令例如可駐留在諸如計(jì)算機(jī)可用易失性存儲(chǔ)器、計(jì)算機(jī)可用非易失性存儲(chǔ)器和/或計(jì)算機(jī)可用大容量數(shù)據(jù)存儲(chǔ)裝置之類的數(shù)據(jù)存儲(chǔ)功能中。但是,計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令可駐留在任何類型的計(jì)算機(jī)可讀介質(zhì)中。雖然在流程圖1600中公開了具體操作,但這類操作是示范性的。也就是說,當(dāng)前實(shí)施例極適合于執(zhí)行其它各種操作或者圖16中所述的操作的變體。在當(dāng)前實(shí)施例中,要注意,流程圖1600的操作可由軟件、由硬件或者由軟件和硬件的任何組合來執(zhí)行。
在操作1602,收聽以及接收來自客戶機(jī)的服務(wù)請(qǐng)求和參數(shù)。
在操作1604,接收如何實(shí)現(xiàn)所請(qǐng)求服務(wù)的描述。
在操作1606,選擇要在其中運(yùn)行服務(wù)的實(shí)現(xiàn)的連網(wǎng)計(jì)算機(jī),并確定如何進(jìn)行預(yù)期網(wǎng)絡(luò)連接。
在操作1608,準(zhǔn)備在所選連網(wǎng)計(jì)算機(jī)上進(jìn)行處理。
在操作1610,開始媒體通過網(wǎng)絡(luò)以及通過所選計(jì)算機(jī)上的處理的流程。要注意,數(shù)據(jù)結(jié)果被路由到服務(wù)請(qǐng)求中指定的目的地。
圖17是根據(jù)本發(fā)明的一個(gè)實(shí)施例執(zhí)行的操作的流程圖1700。流程圖1700包括本發(fā)明的過程,在一些實(shí)施例中,這些過程由處理器和電氣組件在計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令的控制下執(zhí)行。計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令例如可駐留在諸如計(jì)算機(jī)可用易失性存儲(chǔ)器、計(jì)算機(jī)可用非易失性存儲(chǔ)器和/或計(jì)算機(jī)可用大容量數(shù)據(jù)存儲(chǔ)裝置之類的數(shù)據(jù)存儲(chǔ)功能中。但是,計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令可駐留在任何類型的計(jì)算機(jī)可讀介質(zhì)中。雖然在流程圖1700中公開了具體操作,但這類操作是示范性的。也就是說,當(dāng)前實(shí)施例極適合于執(zhí)行其它各種操作或者圖17中所述的操作的變體。在當(dāng)前實(shí)施例中,要注意,流程圖1700的操作可由軟件、由硬件或者由軟件和硬件的任何組合來執(zhí)行。
在操作1602,收聽以及接收來自客戶機(jī)的服務(wù)請(qǐng)求和參數(shù)。
在操作1702,接收實(shí)現(xiàn)服務(wù)的組件的抽象圖以及各組件的資源要求。
在操作1704,選擇要在其中運(yùn)行各服務(wù)組件的連網(wǎng)計(jì)算機(jī)。
在操作1706,請(qǐng)求所選機(jī)器上的組件的構(gòu)造,并且準(zhǔn)備它們的互連。
在操作1708,開始媒體通過在網(wǎng)絡(luò)上分布的處理組件的流程。要注意,數(shù)據(jù)結(jié)果被路由到服務(wù)請(qǐng)求中指定的目的地。
注意,Ear可以各種各樣的方式來實(shí)現(xiàn)。例如,輸入Ear可采用RTP/RTSP進(jìn)行接收,并且還包括錯(cuò)誤復(fù)原解碼器插件、智能緩沖、流量管理以及最小數(shù)據(jù)復(fù)制。此外,輸出Ear可采用RTP/RTSP進(jìn)行發(fā)送,并且包括可變幀速率編碼器插件、智能緩沖以及流量管理。另外,輸入Ear或輸出Ear可包括壓縮或解壓縮的功能。每個(gè)Ear管理單個(gè)媒體流的流程的一端(發(fā)送或接收)??刹捎没跇?biāo)準(zhǔn)的媒體流式傳輸(RTP/RTCP/RTSP)。另外,Ears采用編碼器和解碼器插件(例如MPEG-1、-2、-4、AMR、WAV)在適合媒體傳遞的壓縮格式與通常用于媒體處理的未壓縮格式之間轉(zhuǎn)換。另外,緩沖、流量控制和幀丟棄策略也可由Ears來實(shí)現(xiàn),以便使傳遞與處理之間的數(shù)據(jù)速率失配平滑。
要注意,圖10、圖11、圖12a-d以及本文所述的其它實(shí)施例包括若干過程,在一些實(shí)施例中,這些過程由處理器和電氣組件在計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令的控制下執(zhí)行。計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令例如可駐留在諸如計(jì)算機(jī)可用易失性存儲(chǔ)器、計(jì)算機(jī)可用非易失性存儲(chǔ)器和/或計(jì)算機(jī)可用大容量數(shù)據(jù)存儲(chǔ)裝置之類的數(shù)據(jù)存儲(chǔ)功能中。但是,計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令可駐留在任何類型的計(jì)算機(jī)可讀介質(zhì)中。雖然本文公開了具體操作,但這類操作是示范性的。也就是說,這些實(shí)施例極適合于執(zhí)行其它各種操作或者本文所述的操作的變體。要注意,本文所述的操作可由軟件、由硬件或者由軟件和硬件的任何組合來執(zhí)行。
為了說明和描述,提供本發(fā)明具體實(shí)施例的以上描述。它們不意味著涵蓋所有方面或僅將本發(fā)明限制為所公開的精確形式,顯然,根據(jù)上述理論,許多修改和變更都是可行的。選擇并描述了這些實(shí)施例,以便最佳說明本發(fā)明的原理及其實(shí)際應(yīng)用,從而使本領(lǐng)域的技術(shù)人員能夠以適合所考慮的具體使用的各種修改最佳利用本發(fā)明和各種實(shí)施例。本發(fā)明的范圍由本文所附的權(quán)利要求及其等效物定義。
權(quán)利要求
1.一種用于管理流式媒體服務(wù)的方法(1300),所述方法包括從客戶機(jī)(1002)接收(1302)對(duì)于流式媒體服務(wù)的請(qǐng)求(1004),所述流式媒體服務(wù)包括多個(gè)媒體服務(wù)組件(1020);確定(1304)所述多個(gè)媒體服務(wù)組件中的哪個(gè)媒體服務(wù)組件要分配給網(wǎng)絡(luò)(1212)的多個(gè)服務(wù)節(jié)點(diǎn)中的一個(gè)服務(wù)節(jié)點(diǎn)(1022);以及通知(1306)分配用于執(zhí)行所述多個(gè)媒體服務(wù)組件中的一個(gè)媒體服務(wù)組件的各服務(wù)節(jié)點(diǎn),使所述流式媒體服務(wù)能夠?qū)α魇矫襟w(1032)執(zhí)行。
2.如權(quán)利要求1所述的方法,其特征在于,所述流式媒體從視頻、音頻、多媒體和文本中選取。
3.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于所述客戶機(jī)的位置。
4.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于所述網(wǎng)絡(luò)的帶寬。
5.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于所述網(wǎng)絡(luò)上的負(fù)荷。
6.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于所述多個(gè)服務(wù)節(jié)點(diǎn)中的每個(gè)服務(wù)節(jié)點(diǎn)上的負(fù)荷。
7.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于所述網(wǎng)絡(luò)上的現(xiàn)有流式媒體服務(wù)。
8.如權(quán)利要求1所述的方法,其特征在于,所述確定是基于先前分配的媒體服務(wù)組件。
9.如權(quán)利要求1所述的方法,其特征在于,所述接收所述請(qǐng)求是通過服務(wù)門戶。
10.如權(quán)利要求1所述的方法,其特征在于,還包括為每個(gè)所分配服務(wù)節(jié)點(diǎn)產(chǎn)生(1308)輸入通信套接字(1218)和輸出通信套接字(1220),從而使所述所分配服務(wù)節(jié)點(diǎn)之間能夠通信。
全文摘要
本發(fā)明的一個(gè)實(shí)施例包括用于管理流式媒體服務(wù)的方法(1300)。該方法包括從客戶機(jī)(1002)接收(1302)對(duì)于流式媒體服務(wù)的請(qǐng)求(1004)。流式媒體服務(wù)包括多個(gè)媒體服務(wù)組件(1020)。另外,該方法還包括確定(1304)多個(gè)媒體服務(wù)組件中的哪個(gè)媒體服務(wù)組件要分配給網(wǎng)絡(luò)(1212)的多個(gè)服務(wù)節(jié)點(diǎn)中的一個(gè)服務(wù)節(jié)點(diǎn)(1022)。該方法還包括通知(1306)分配用于執(zhí)行媒體服務(wù)組件的各服務(wù)節(jié)點(diǎn),使流式媒體服務(wù)能夠?qū)α魇矫襟w(1032)執(zhí)行。
文檔編號(hào)H04L29/06GK1843013SQ200480024677
公開日2006年10月4日 申請(qǐng)日期2004年7月1日 優(yōu)先權(quán)日2003年7月4日
發(fā)明者M·哈維爾, M·科維爾, S·J·韋, R·蘇密特, J·安科恩, B·沈 申請(qǐng)人:惠普開發(fā)有限公司