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

不可靠網(wǎng)絡(luò)的音頻服務(wù)器系統(tǒng)的制作方法

文檔序號:7575093閱讀:189來源:國知局
專利名稱:不可靠網(wǎng)絡(luò)的音頻服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及數(shù)據(jù)處理系統(tǒng),并且更具體地涉及不可靠網(wǎng)絡(luò)的音頻服務(wù)器系統(tǒng)。
因特網(wǎng)是許多小型網(wǎng)絡(luò)的相互連接。每個網(wǎng)絡(luò)以包的形式傳送數(shù)據(jù),并且使用公知的包交換技術(shù)。這種功能所用的協(xié)議是因特網(wǎng)協(xié)議。因為使用因特網(wǎng)的人數(shù)在不斷地增加,所以為了滿足需要,在因特網(wǎng)上提供的服務(wù)比如電子郵件的數(shù)量也在不斷地增加。因此希望為使用因特網(wǎng)建立新的服務(wù)。然而,在建立用于因特網(wǎng)的新服務(wù)時,必須克服一個重要的問題。即,因特網(wǎng)具有高的包丟失率,所以必須實現(xiàn)任何新的服務(wù)以便克服這個問題。
這里所述的音頻服務(wù)器系統(tǒng)經(jīng)過因特網(wǎng)向用戶發(fā)送音頻序列以及混合的音頻和靜止圖象序列。因特網(wǎng)是一個不可靠的網(wǎng)絡(luò),因其具有高的包丟失率。盡管因特網(wǎng)具有高的包丟失率,但音頻服務(wù)器系統(tǒng)提供容錯文件格式的使用,以便降低包丟失的后果,并且音頻服務(wù)器系統(tǒng)允許使用可變速率數(shù)據(jù)流,以便降低丟失包的數(shù)量。
為了克服因特網(wǎng)的高的包丟失率,音頻服務(wù)器系統(tǒng)允許在將文件寫入盤時指定文件的包尺寸。在發(fā)送之前指定包尺寸,允許根據(jù)多個公知糾錯方案中任何一個對文件進行編碼例如奇偶校驗編碼。對這種糾錯方案的使用保證了對丟失包的重構(gòu),從而音頻流不受包丟失的影響。換言之,通過利用糾錯方案,用戶能夠從接收包的內(nèi)容重構(gòu)丟失的包。
音頻服務(wù)器系統(tǒng)發(fā)送的音頻和混合的音頻流一般具有變化的數(shù)據(jù)速率。盡管某些常規(guī)服務(wù)器系統(tǒng)能夠發(fā)送音頻和混合音頻數(shù)據(jù),但是所有數(shù)據(jù)將以相同數(shù)據(jù)速率(即最大數(shù)據(jù)速率)發(fā)送,導(dǎo)致服務(wù)器空閑時間。即,常規(guī)系統(tǒng)在保留的固定時間周期內(nèi)作為數(shù)據(jù)塊發(fā)送數(shù)據(jù),而具有小數(shù)據(jù)速率的塊需要比保留的時間量少的時間來發(fā)送數(shù)據(jù)。因此,在這種情況下,在發(fā)送數(shù)據(jù)之后,常規(guī)服務(wù)器系統(tǒng)空閑地等待下一個時間周期。盡管造成空閑時間的服務(wù)器系統(tǒng)本身不是問題,但是為了造成這種空閑時間,服務(wù)器系統(tǒng)必須不得不以高于所需速率的速率發(fā)送數(shù)據(jù),這有時稱為發(fā)送數(shù)據(jù)突發(fā)串。發(fā)送數(shù)據(jù)突發(fā)串在數(shù)據(jù)接收機不具有足夠的緩沖能力時加重接收機的負擔(dān),因而導(dǎo)致數(shù)據(jù)丟失。另外,發(fā)送數(shù)據(jù)突發(fā)串有時導(dǎo)致增多因特網(wǎng)丟失的數(shù)據(jù),因為因特網(wǎng)可能不具有足夠的緩沖能力。當然,希望降低這種數(shù)據(jù)丟失。這里所述的音頻服務(wù)器系統(tǒng)能夠以可變的數(shù)據(jù)速率發(fā)送流,從而防止服務(wù)器空閑時間,降低數(shù)據(jù)丟失。該音頻服務(wù)器系統(tǒng)通過在將文件寫入盤時指定數(shù)據(jù)速率然后以該數(shù)據(jù)速率發(fā)送數(shù)據(jù)來提供這種能力。
根據(jù)本發(fā)明的第一方面,提供一種在連續(xù)媒體服務(wù)器系統(tǒng)中的方法。該連續(xù)媒體服務(wù)器系統(tǒng)具有多個用于向用戶發(fā)送音頻序列的存儲裝置。該連續(xù)媒體服務(wù)器系統(tǒng)將音頻序列劃分到多個存儲裝置中,接收一個指定將音頻序列發(fā)送到用戶的速率的數(shù)據(jù)速率,并且以該數(shù)據(jù)速率從存儲裝置向用戶發(fā)送音頻序列。
根據(jù)本發(fā)明的第二方面,在連續(xù)媒體服務(wù)器系統(tǒng)中提供一種方法。該連續(xù)媒體服務(wù)器系統(tǒng)具有多個用于向用戶發(fā)送音頻序列的存儲裝置。該連續(xù)媒體服務(wù)器系統(tǒng)將音頻序列分為多個塊,并且將塊劃分到多個存儲裝置。該連續(xù)媒體服務(wù)器系統(tǒng)還接收一個包尺寸,包尺寸指定在用于發(fā)送每塊音頻序列時所用的每個包中所含的最大數(shù)據(jù)量,并且從存儲裝置向用戶發(fā)送塊,使得將每塊作為多個包發(fā)送,每個包含有比包尺寸少或者等量的數(shù)據(jù)。


圖1是本發(fā)明的優(yōu)選實施方式的音頻服務(wù)器系統(tǒng)的框圖。
圖2是圖1的音頻站的更詳細框圖。
圖3是提供音頻服務(wù)器系統(tǒng)所執(zhí)行的步驟的高層視圖的流程圖。
圖4是更詳細示出如何將音頻序列存儲到音頻服務(wù)器系統(tǒng)中的流程圖。
圖5A示出音頻服務(wù)器系統(tǒng)為每個音頻序列維護的數(shù)據(jù)結(jié)構(gòu)。
圖5B示出音頻服務(wù)器系統(tǒng)所使用的糾錯方案。
圖6是示出在三盤驅(qū)動器系統(tǒng)中音頻服務(wù)器系統(tǒng)調(diào)度帶寬的圖。
圖7是示出音頻服務(wù)器系統(tǒng)為了獲得一個待分配的帶寬單位以便服務(wù)于用戶請求而執(zhí)行的步驟的流程圖。
圖8是示出音頻服務(wù)器系統(tǒng)所維護的示例性數(shù)據(jù)結(jié)構(gòu)的圖。
本發(fā)明的優(yōu)選實施方式經(jīng)過因特網(wǎng)向用戶發(fā)送音頻序列和混合的音頻及靜止圖象序列(后文中稱為“混合音頻”)。盡管因特網(wǎng)具有高的包丟失率,但是該優(yōu)選實施方式允許使用容錯文件格式以降低包丟失的后果,并且該優(yōu)選實施方式還允許使用可變速率數(shù)據(jù)流,從而降低丟失包的數(shù)量。本公開中所述的系統(tǒng)公知為音頻服務(wù)器系統(tǒng)。該音頻服務(wù)器系統(tǒng)是一種連續(xù)媒體服務(wù)器系統(tǒng),其中以保證速率向顧客發(fā)送數(shù)據(jù)。采用音頻服務(wù)器系統(tǒng),用戶能夠請求一個音頻序列或者請求一個混合音頻序列,音頻服務(wù)器系統(tǒng)將以保證速率向用戶發(fā)送所請求的序列。
為了在因特網(wǎng)中使用,音頻服務(wù)器系統(tǒng)必須考慮到高的因特網(wǎng)包丟失。具體而言,因特網(wǎng)能夠丟失十分之一到三分之一的包。為了克服這個問題,音頻服務(wù)器系統(tǒng)允許在將文件寫入盤時指定文件的包尺寸。在發(fā)送之前指定包尺寸允許根據(jù)任何多個公知的糾錯方案(比如奇偶校驗編碼)對文件進行編碼,這將在下文進一步描述。使用這種糾錯方案保證了對丟失包的重構(gòu),使得音頻流不受包丟失的影響。換言之,通過使用糾錯方案,用戶能夠根據(jù)收到的包的內(nèi)容重構(gòu)一個丟失的包。
音頻服務(wù)器系統(tǒng)發(fā)送的音頻和混合音頻流一般具有變化的數(shù)據(jù)速率。盡管某些常規(guī)服務(wù)器系統(tǒng)能夠發(fā)送音頻和混合音頻數(shù)據(jù),但是所有數(shù)據(jù)將以相同數(shù)據(jù)速率(即最大數(shù)據(jù)速率)發(fā)送,導(dǎo)致服務(wù)器空閑時間。即,常規(guī)服務(wù)器系統(tǒng)在保留的固定時間周期內(nèi)作為數(shù)據(jù)塊發(fā)送數(shù)據(jù),而具有小數(shù)據(jù)速率的塊需要比保留的時間量少的時間來發(fā)送數(shù)據(jù)。因此,在這種情況下,在發(fā)送數(shù)據(jù)之后,常規(guī)服務(wù)器系統(tǒng)空閑地等待下一個時間周期。盡管造成空閑時間的服務(wù)器系統(tǒng)本身不是問題,但是為了造成這種空閑時間,服務(wù)器系統(tǒng)必須不得不以高于所需速率的速率發(fā)送數(shù)據(jù),這有時稱為發(fā)送數(shù)據(jù)突發(fā)串。發(fā)送數(shù)據(jù)突發(fā)串在數(shù)據(jù)接收機不具有足夠的緩沖能力時加重接收機的負擔(dān),因而導(dǎo)致數(shù)據(jù)丟失。另外,發(fā)送數(shù)據(jù)突發(fā)串有時導(dǎo)致增多因特網(wǎng)丟失的數(shù)據(jù),因為因特網(wǎng)可能不具有足夠的緩沖能力。當然,希望降低這種數(shù)據(jù)丟失。下面所述的音頻服務(wù)器系統(tǒng)能夠以可變的數(shù)據(jù)速率發(fā)送流,從而防止服務(wù)器空閑時間,降低數(shù)據(jù)丟失。該音頻服務(wù)器系統(tǒng)通過在將文件寫入盤時指定數(shù)據(jù)速率然后以該數(shù)據(jù)速率發(fā)送數(shù)據(jù)來提供這種能力。
圖1示出該音頻服務(wù)器系統(tǒng)。音頻服務(wù)器系統(tǒng)是一種用戶可以在任何點請求及時收聽從音頻站10發(fā)送的特定音頻序列(或者收聽和收看混合音頻序列)的系統(tǒng)。音頻站10經(jīng)因特網(wǎng)12上向用戶14發(fā)送音頻序列的數(shù)據(jù)??商鎿Q的是,不使用因特網(wǎng),可以使用另一適當?shù)幕ミB機制。音頻站10較好地使用可以向用戶14發(fā)送的被實時收聽和收看的大量不同音頻或者混合音頻序列。為了簡便起見,后文中僅針對音頻序列描述音頻服務(wù)器系統(tǒng),雖然也可以針對于混合音頻序列進行描述。換言之,以下所述的處理相對于音頻序列,但是同樣適用于混合音頻序列。另外,本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,該優(yōu)選實施方式可以使用包括視頻數(shù)據(jù)和其他格式的多媒體數(shù)據(jù)的其他數(shù)據(jù)。
在音頻服務(wù)器系統(tǒng)中,用戶收聽音頻序列的選擇不是預(yù)先調(diào)度的。相反,在用戶需要時才調(diào)度的。用戶不必選擇其他用戶正在收聽的音頻序列;相反,用戶可以從任何可獲得的音頻序列中選擇。另外,每個用戶在他開始收聽音頻序列時進行選擇。多個不同的用戶14可以當前正在收聽同一音頻序列的不同部分。一個用戶可以選擇他希望在序列中的何處開始收聽,并且能夠在播放完整個序列之前停止收聽序列。
圖2更詳細示出音頻站10的框圖。音頻站10包括一個控制器16,它負責(zé)調(diào)度向用戶14(圖1)發(fā)送音頻序列??刂破?6控制幾個子系統(tǒng)18A、18B和18C,并且負責(zé)調(diào)度和指導(dǎo)從子系統(tǒng)到用戶14的輸出??刂破骺梢允侵貜?fù)的,以提供一個備份控制器,提高系統(tǒng)的容錯性。盡管圖2中只示出三個子系統(tǒng),但是本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,大多數(shù)情況下,采用大量的子系統(tǒng)是更適合的。為了簡便和清楚起見圖2中只示出三個子系統(tǒng)。
每個子系統(tǒng)18A、18B和18C包括一個微處理器20A、20B和20C,每個微處理器負責(zé)控制各存儲裝置對(22A,24A)、(22B,24B)和(22C,24C)。用戶14可獲得的音頻序列的數(shù)據(jù)存儲在存儲裝置22A、24A、22B、24B、22C和24C中。每個子系統(tǒng)18A、18B和18C不必包括兩個存儲裝置,每個子系統(tǒng)可以只包括一個存儲裝置,或者可替換地包括兩個以上的存儲裝置。微處理器20A、20B和20C負責(zé)與控制器16合作向用戶14發(fā)送存儲在存儲裝置上的音頻序列的數(shù)據(jù)。
存儲裝置22A、22B、22C、24A、24B和24C可以是例如磁盤驅(qū)動器或者光盤驅(qū)動器。本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,可以用任何適用的存儲裝置存儲音頻序列的數(shù)據(jù)。例如,本發(fā)明中可以使用RAM、掩模型ROM、EPROM和閃爍EPROM存儲音頻序列。
圖3是本發(fā)明的優(yōu)選實施方式所執(zhí)行的步驟的流程圖。最初,將音頻序列存儲(即劃分)到音頻服務(wù)器系統(tǒng)的存儲裝置22A、22B、22C、24A、24B和24C(圖2)(圖3中的步驟42)。在音頻站10中可以存儲音頻序列的多個拷貝。對于音頻站10中存儲的音頻序列的每個拷貝可能只執(zhí)行一次這個步驟,并且對于每個用戶不重復(fù)。劃分音頻序列數(shù)據(jù)的目的在于提高在限量時間內(nèi)由存儲裝置輸出數(shù)據(jù)的效率,并且在于平衡每個存儲裝置上的負載需求。
圖4示出音頻服務(wù)器系統(tǒng)為了將音頻序列劃分到存儲裝置22A、22B、22C、24A、24B和24C而執(zhí)行的步驟(即執(zhí)行圖3中的步驟42)的流程圖。執(zhí)行的第一步是在與音頻序列相關(guān)的數(shù)據(jù)結(jié)構(gòu)中存儲每個音頻序列的數(shù)據(jù)速率和包尺寸(步驟53)。音頻服務(wù)器系統(tǒng)的管理程序知道應(yīng)該播放音頻序列的速率,并且將這個速率指定為數(shù)據(jù)速率(比如8kb/s)。數(shù)據(jù)速率確定應(yīng)該發(fā)送音頻序列的最小速率。盡管可以更快地發(fā)送音頻序列,但是慢于該數(shù)據(jù)速率發(fā)送音頻序列將對播放質(zhì)量產(chǎn)生不利影響(即聲音將失真)。包尺寸是由管理程序以下述方式指定的,從而便于使用糾錯方案。數(shù)據(jù)速率和包尺寸都按圖5A所示的數(shù)據(jù)結(jié)構(gòu)存儲。在圖5A中,示出標記502所指的特定音頻序列的數(shù)據(jù)結(jié)構(gòu)500。音頻序列的標記502例如可以是歌曲名稱。與所標記的音頻序列相關(guān)的是數(shù)據(jù)速率504和包尺寸506。數(shù)據(jù)速率504指定應(yīng)該播放音頻序列(即向用戶發(fā)送)的速率。包尺寸506指定經(jīng)過因特網(wǎng)12向用戶發(fā)送的包中所含的最大數(shù)據(jù)量。對這種包尺寸506的使用允許在發(fā)送之前已知包尺寸,便于對音頻序列使用糾錯方案。本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,數(shù)據(jù)結(jié)構(gòu)500可以含有與音頻序列相關(guān)的其他信息,比如音頻序列的尺寸。
在另一個實施方式中,數(shù)據(jù)速率和包尺寸可以由用戶指定,并且與對音頻序列的請求一起發(fā)送。通過允許用戶指定數(shù)據(jù)速率,用戶可以在他們具有足夠的緩沖能力并且知道因特網(wǎng)將不受增大的數(shù)據(jù)速率的影響的情況下更快地利用數(shù)據(jù)。通過允許用戶指定包尺寸,用戶能夠在其得知利用新的尺寸網(wǎng)絡(luò)將更好地工作時動態(tài)地請求更大或更小的包尺寸。通過將更大的包尺寸指定為原始包尺寸的倍數(shù)或者將更小的包尺寸指定為原始包尺寸的偶因子,仍然可以實現(xiàn)音頻服務(wù)器系統(tǒng)的糾錯性能。
在存儲了數(shù)據(jù)速率和包尺寸之后,利用糾錯方案對音頻序列進行編碼,使得用戶能夠容忍在因特網(wǎng)12上傳輸期間一個包或者多個包的丟失(步驟54)。即,利用多種公知的糾錯方案中的一種,用戶能夠根據(jù)收到的包重構(gòu)丟失包的內(nèi)容。這種糾錯方案的一個例子是公知的奇偶校驗編碼方案。奇偶校驗編碼方案使得在固定數(shù)目的數(shù)據(jù)包之后發(fā)送一個奇偶校驗包。例如,四數(shù)據(jù)包奇偶校驗編碼方案發(fā)送四個數(shù)據(jù)包然后跟隨一個奇偶校驗包,奇偶校驗包中含有足夠的信息以便能夠重構(gòu)四個數(shù)據(jù)包中任何一個的內(nèi)容。使用四數(shù)據(jù)包只是舉例,本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,能夠使用更多的或者更少的數(shù)據(jù)包。在根據(jù)奇偶校驗編碼方案對數(shù)據(jù)進行編碼中,將音頻序列分為多個包,其中每個包具有與包尺寸506等量的數(shù)據(jù)。對于每個順序的四數(shù)據(jù)包,建立一個奇偶校驗包,它的位代表這個四個數(shù)據(jù)包中各位的異或。即,這四個數(shù)據(jù)包中具有相同位位置的每一位一起求異或,將布爾運算的結(jié)果存儲在奇偶校驗包的相應(yīng)的位位置處。奇偶校驗編碼方案示于圖5B,圖中示出對四個數(shù)據(jù)包508、510、512和514一起求異或516,以建立一個奇偶校驗包518。使用這種奇偶校驗編碼方案,如果在傳輸四個數(shù)據(jù)包508、510、512和514以及奇偶校驗包518期間,產(chǎn)生一個錯誤使得數(shù)據(jù)包508不能到達用戶時,可以重構(gòu)它的內(nèi)容。通過對與奇偶校驗包518一起收到的數(shù)據(jù)包510、512和514進行異或518,進行這種重構(gòu),得到數(shù)據(jù)包508的內(nèi)容。奇偶校驗編碼方案有助于克服因特網(wǎng)12嚴重的包丟失。
除了奇偶校驗編碼之外,也可以使用可減少包丟失的其他編碼方案。即,在發(fā)送靜止圖象時,可以以一種使得收到的數(shù)據(jù)變?yōu)橛杏玫姆绞綄?shù)據(jù)進行打包。例如,如果對靜止圖象進行打包使得每個包存儲一個正方形區(qū)域的圖象,則在包丟失時,收到的圖象將有一個明顯的孔。然而,可以使用其他編碼方案減輕這種后果。例如,如果分為12個包發(fā)送靜止圖象,每包可以含有每隔11行的象素數(shù)據(jù)。因此,如果一個包丟失,則收到的圖象將仍然是可用的,幾乎察覺不到丟失。另外,用戶可以具有一種對丟失行中所含的數(shù)據(jù)進行估計的系統(tǒng),這將使數(shù)據(jù)丟失更不易察覺。本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,可以利用多種其他的編碼方案,從而與優(yōu)選實施方式的音頻服務(wù)器系統(tǒng)結(jié)合使用時減輕丟失數(shù)據(jù)的后果。
在對數(shù)據(jù)進行編碼之后,將數(shù)據(jù)作為一個連續(xù)的數(shù)據(jù)流處理,即使它代表多組數(shù)據(jù)包及相關(guān)的奇偶校驗包。該連續(xù)數(shù)據(jù)流然后視為多個順序塊。塊尺寸是可變的,但是一個塊一般包括64K字節(jié)至4M字節(jié)的數(shù)據(jù)。塊尺寸受不可超越的上限的限制。然后在步驟55-58將這些順序塊劃分到所有子系統(tǒng)18A、18B和18C的存儲裝置上。音頻序列的第一塊存儲在指定的存儲裝置上(步驟55)。如上所述,應(yīng)認識到,可以將音頻序列的一個以上的拷貝劃分到存儲裝置上。因此,可以具有一個以上的存儲裝置用于存儲音頻序列的每塊。在將音頻序列的第一塊存儲在指定的存儲裝置上之后,確定是否已經(jīng)將音頻序列的所有數(shù)據(jù)塊都存儲到存儲裝置上(步驟56)。如果為否,則根據(jù)存儲裝置的預(yù)定順序?qū)⒁纛l序列的下一塊數(shù)據(jù)存儲到下一存儲裝置上(步驟58)。音頻序列的每個連續(xù)數(shù)據(jù)塊按預(yù)定順序存儲到下一存儲裝置中。然后重復(fù)步驟56和步驟58,直到音頻序列的所有數(shù)據(jù)都已經(jīng)存儲到存儲裝置中。當?shù)竭_序列的結(jié)尾時,預(yù)定順序返回到開頭。這個過程的結(jié)果是,將音頻序列的數(shù)據(jù)劃分到存儲裝置中。對存儲到本發(fā)明優(yōu)選實施方式的音頻服務(wù)器系統(tǒng)中的每個音頻序列,執(zhí)行圖4所示的步驟。
在完成存儲音頻序列的圖3中的步驟42之后,音頻站10接收用戶收聽音頻序列的請求(步驟44)。在可替換的實施方式中,作為該步驟的一部分,從用戶接收數(shù)據(jù)速率和包尺寸,并且存儲于數(shù)據(jù)結(jié)構(gòu)500。響應(yīng)于用戶請求,音頻服務(wù)器系統(tǒng)確定如何采用可用的輸出帶寬以服務(wù)于用戶請求。正如在這種情況下所使用的,帶寬是指保存音頻序列數(shù)據(jù)的存儲裝置(在固定時間幀)的輸A/輸出容量。音頻服務(wù)器系統(tǒng)是相對于考慮輸出帶寬(即從保存音頻序列的存儲裝置讀數(shù)據(jù))的實現(xiàn)進行描述的,但是本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,本發(fā)明也適用于輸入帶寬(即向存儲裝置寫音頻序列)。采用可用帶寬的第一個步驟是確定在哪個驅(qū)動器上存儲了音頻序列中待收聽的起始塊(步驟46)。如果用戶正在從序列開頭收聽音頻序列,則起始塊是序列的第一個塊。然而,在用戶希望收聽在某個中間點開始的音頻序列時,起始塊是用戶希望收聽的第一個塊。音頻服務(wù)器系統(tǒng)保存了每個可用的音頻序列在存儲裝置上開始的哪些存儲裝置的一個記錄(將在以下更詳細地描述),并且更一般地,音頻服務(wù)器系統(tǒng)具有足夠的知識以將由用戶收聽的起始塊定位。這種信息用來執(zhí)行圖3的步驟46。
一旦已經(jīng)識別到保存了所請求的待收聽音頻序列起始塊的存儲裝置(步驟46),則音頻服務(wù)器系統(tǒng)找到可用來向請求用戶發(fā)送所請求的音頻序列數(shù)據(jù)的下一個自由帶寬單位(步驟48)。該帶寬單位是音頻服務(wù)器系統(tǒng)的帶寬分配單位。在時隙的列上完成對每個存儲裝置的調(diào)度。每列包括多個重復(fù)順序的時隙。每個時隙是一個有限時間周期,對于存儲裝置足以輸出一塊數(shù)據(jù)。帶寬單位包括來自每個時隙列的一個時隙。帶寬單位中的每個時隙與輸出音頻序列的一塊數(shù)據(jù)的不同存儲裝置相關(guān)。因為數(shù)據(jù)塊被劃分到存儲裝置中,所以在帶寬單位的時隙序列期間,從預(yù)定順序的存儲裝置讀取連續(xù)塊的數(shù)據(jù)。時隙是由微處理器20A、20B和20C或者其他適當?shù)臋C制產(chǎn)生的(圖2)。
時隙列和帶寬單位的概念也許通過例子來更好地說明。用戶是利用帶寬單位進行調(diào)度的。換言之,對用戶授予每列中相同編號的時隙。圖6示出對于三個存儲裝置(比如盤0、盤1和盤2)調(diào)度七個用戶。圖6所示的矩形是時隙。圖6中的數(shù)1-7相應(yīng)于各列0、1和2中的時隙。一個共同帶寬單位的時隙全部具有相同的號。列0、1和2都是暫時彼此相對偏移的(即圖6中的時間單位),但是每列具有相同順序的時隙。如圖6所示,盤驅(qū)動器0從已被分配了邏輯帶寬單位1的用戶開始按順序服務(wù)于每個用戶。在圖6的例子中,帶寬單位1包括列0、1和2中標為1的時隙。在列0的時隙1中,盤驅(qū)動器0開始向已被分配了帶寬單位1的第一個用戶輸出音頻序列的一塊數(shù)據(jù)。一個時隙之后,盤驅(qū)動器1在列1的時隙1期間向第一個用戶輸出下一塊數(shù)據(jù)。另外,在時隙2,盤驅(qū)動器2在列2的時隙1期間向該用戶輸出音頻序列的下一塊數(shù)據(jù)。該例中存儲裝置的預(yù)定序列是盤驅(qū)動器0、盤驅(qū)動器1和盤驅(qū)動器2,從盤驅(qū)動器2返回到盤驅(qū)動器0。如上所述,在圖3的步驟48中,音頻服務(wù)器系統(tǒng)找到可分配給一個用戶以便向該用戶發(fā)送所希望的音頻序列的下一個自由帶寬單位。特別是,音頻服務(wù)器系統(tǒng)找到與保存有音頻序列的待收聽起始塊的存儲裝置有關(guān)的下一自由時隙。在鎖定步驟中對這個存儲裝置列的調(diào)度之后是其他列的調(diào)度。
圖7是步驟48中音頻服務(wù)器系統(tǒng)用來找到下一個自由帶寬單位所執(zhí)行的步驟的流程圖。在深入圖7的步驟之前,首先介紹由系統(tǒng)所保持的以助于監(jiān)視帶寬單位的數(shù)據(jù)結(jié)構(gòu)是有益的。具體地,優(yōu)選實施方式為系統(tǒng)中的每個邏輯帶寬單位保持一個數(shù)據(jù)結(jié)構(gòu)68,比如一個數(shù)組、線性表或樹(圖8)。在數(shù)據(jù)結(jié)構(gòu)68中為每個帶寬單位設(shè)置一個表項。該數(shù)據(jù)結(jié)構(gòu)可以存儲在內(nèi)存中或者某些其他裝置中。在圖8所示的例子中,有16個帶寬單位。每個表項保存一個指向當前分配了該帶寬單位的用戶的指針或者保存一個指示該帶寬單位尚未分配的空指針,這個結(jié)構(gòu)也可被看作是保存了對用戶的時隙分配,因為每列時隙的順序相同。
如圖7所示,在找到自由帶寬單位中的第一步驟是執(zhí)行一個計算以確定當前時間幀中可被下一次使用的第一個帶寬單位。在找到一個自由帶寬單位時與可以實際地使用以輸出數(shù)據(jù)的自由邏輯帶寬單位時兩者之間存在一個固有的延遲,這一點在確定時必須考慮到。在圖7的步驟60中,本發(fā)明計算時鐘量化度(granularity)、微處理器20A、20B和20C之間的通信延遲以及定位下一帶寬單位中將讀的數(shù)據(jù)塊的延遲,這些都應(yīng)考慮。這種計算之后,音頻服務(wù)器系統(tǒng)中用來向用戶輸出所請求的音頻序列的第一個帶寬單位(如果該帶寬單位未被分配的話)。檢查所找到的帶寬單位,并且確定該帶寬單位是否是空的(步驟62)。因此,在圖7的步驟62,對于找到的帶寬單位檢查數(shù)據(jù)結(jié)構(gòu)68,以確定它是否保存了一個空表項。如果找到的帶寬單位的表項保存了一個空表項,則找到的帶寬單位是空的,且受到使用(步驟66)。另一方面,如果找到的帶寬單位不是空的(即它保存了一個指向用戶的指針),則檢查下一個帶寬單位的表項,以確定它是否為空(步驟64)。換言之,檢查按順序保存在數(shù)據(jù)結(jié)構(gòu)68(圖8)中的下一帶寬單位的表項。然后如上所述重復(fù)步驟62。重復(fù)該過程直到找到一個自由帶寬單位。通過采用這種技術(shù),音頻服務(wù)器系統(tǒng)保證可以將可用帶寬的任何自由部分分配給一個用戶而沒有過份的延遲。
一旦找到自由帶寬單位,向用戶分配該自由帶寬單位,并且按順序發(fā)送音頻序列的數(shù)據(jù)塊(圖3中的步驟50)。各塊被分到多個包中,每包含有不多于數(shù)據(jù)結(jié)構(gòu)500中包尺寸506表項中所指定的數(shù)據(jù)量,并且由音頻服務(wù)器系統(tǒng)按照所指定的數(shù)據(jù)速率504發(fā)送各包。一般地,每包將含有包尺寸506所指定的數(shù)據(jù)量,除了音頻序列的最后包可能含有較少量。重復(fù)該循環(huán),直到輸出了所有數(shù)據(jù),或者直到用戶請求停止收聽該音頻序列。應(yīng)認識到,調(diào)度可以是動態(tài)的,使得超期用戶可以進入和離開系統(tǒng),并且用戶可以開始和停止收聽音頻序列。另外,應(yīng)認識到,步驟44、46、48和50是以每個用戶為基礎(chǔ)來執(zhí)行的。因此,用戶接收到所希望的數(shù)據(jù)。
本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,本發(fā)明也可以適用于從用戶或者其他數(shù)據(jù)源向存儲裝置寫數(shù)據(jù)。執(zhí)行相同的步驟將調(diào)度分為帶寬單位,并且在所分配的時隙期間將數(shù)據(jù)寫到存儲裝置中,而不是從存儲裝置讀。
盡管已經(jīng)參照附圖描述了本發(fā)明,但是本領(lǐng)域內(nèi)熟練的技術(shù)人員應(yīng)認識到,可以在形式上和細節(jié)上做出各種改變,而不背離由權(quán)利要求書所限定的本發(fā)明的范圍和實質(zhì)。例如,可以采用其他存儲媒體,可以采用不同數(shù)量的存儲媒體。另外,存儲裝置的順序可以與所示的不同。除此之外,也可以采用與上述線性表不同的方案來監(jiān)視帶寬單位的分配。另外,本發(fā)明的方案也適用于保證輸入帶寬。
權(quán)利要求
1.在具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)中用于向用戶發(fā)送音頻序列的方法,包括以下步驟將音頻序列劃分到多個存儲裝置中;從連續(xù)媒體服務(wù)器系統(tǒng)的管理程序接收一個用于指定向用戶發(fā)送音頻序列的速率的數(shù)據(jù)速率;以及以該數(shù)據(jù)速率從存儲裝置向用戶發(fā)送音頻序列。
2.根據(jù)權(quán)利要求1的方法,其中數(shù)據(jù)速率指定向用戶發(fā)送音頻序列,以便保證不失真地播放音頻序列的最小速率。
3.根據(jù)權(quán)利要求1的方法,還包括步驟在劃分音頻序列之前以容錯格式對音頻序列進行編碼。
4.根據(jù)權(quán)利要求1的方法,還包括以下步驟將第二音頻序列劃分到多個存儲裝置中;從連續(xù)媒體服務(wù)器系統(tǒng)的管理程序接收一個用于指定向用戶發(fā)送第二音頻序列的速率、并且與第一數(shù)據(jù)速率不同的第二數(shù)據(jù)速率;以及以第二數(shù)據(jù)速率從存儲裝置向用戶發(fā)送第二音頻序列。
5.根據(jù)權(quán)利要求1的方法,其中連續(xù)媒體服務(wù)器系統(tǒng)經(jīng)過因特網(wǎng)與用戶相連,并且其中發(fā)送音頻序列的步驟包括經(jīng)過因特網(wǎng)向用戶發(fā)送音頻序列。
6.根據(jù)權(quán)利要求1的方法,其中連續(xù)媒體服務(wù)器系統(tǒng)具有靜止圖象,并且其中發(fā)送音頻序列的步驟包括向用戶發(fā)送靜止圖象。
7.在具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)中用于向客戶發(fā)送音頻序列的方法,包括以下步驟將音頻序列劃分到多個存儲裝置中;從客戶接收一個用于指定向該客戶發(fā)送音頻序列的速率的數(shù)據(jù)速率;以及以該數(shù)據(jù)速率從存儲裝置向該客戶發(fā)送音頻序列。
8.在具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)中用于作為多個包向用戶發(fā)送音頻序列的方法,包括以下步驟將音頻序列分割為多個塊;將各塊劃分到多個存儲裝置中;從連續(xù)媒體服務(wù)器系統(tǒng)的管理程序接收一個用于指定發(fā)送音頻序列所使用的每個包中的最大數(shù)據(jù)量的包尺寸;將塊分為多個包,使得每個包含有等于或小于包尺寸的數(shù)據(jù)量;以及從連續(xù)媒體服務(wù)器系統(tǒng)向用戶發(fā)送各包。
9.根據(jù)權(quán)利要求8的方法,還包括以下步驟將第二音頻序列分為多個第二塊;將各第二塊劃分到多個存儲裝置中;從連續(xù)媒體服務(wù)器系統(tǒng)的管理程序接收一個用于指定發(fā)送第二音頻序列所使用的每個第二包中的最大數(shù)據(jù)量的、不同于第一包尺寸的第二包尺寸;將第二塊分為多個第二包,使得每個第二包含有等于或小于第二包尺寸的數(shù)據(jù)量;以及從連續(xù)媒體服務(wù)器系統(tǒng)向用戶發(fā)送各第二包。
10.根據(jù)權(quán)利要求8的方法,其中連續(xù)媒體服務(wù)器系統(tǒng)經(jīng)過因特網(wǎng)與用戶相連,并且其中發(fā)送包的步驟包括經(jīng)過因特網(wǎng)向用戶發(fā)送包。
11.根據(jù)權(quán)利要求8的方法,其中連續(xù)媒體服務(wù)器系統(tǒng)具有靜止圖象,并且其中分割音頻序列的步驟包括將音頻序列和靜止圖象分割為多個塊。
12.在具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)中用于作為多個包向客戶發(fā)送音頻序列的方法,包括以下步驟將音頻序列分割為多個塊;將各塊劃分到多個存儲裝置中;從該客戶接收一個用于指定發(fā)送音頻序列所使用的每個包中的最大數(shù)據(jù)量的包尺寸;將塊分為多個包,使得每個包含有等于或小于包尺寸的數(shù)據(jù)量;以及從連續(xù)媒體服務(wù)器系統(tǒng)向客戶發(fā)送各包。
13.根據(jù)權(quán)利要求12的方法,還包括步驟在分割音頻序列之前將音頻序列編碼為容錯格式。
14.根據(jù)權(quán)利要求13的方法,其中容錯格式為奇偶校驗編碼方案。
15.一種計算機可讀媒體,它的內(nèi)容使得一個具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)通過執(zhí)行以下步驟向第一用戶發(fā)送第一音頻序列并且向第二用戶發(fā)送第二音頻序列將第一音頻序列劃分到多個存儲裝置中;接收一個用于指定向第一用戶發(fā)送第一音頻序列的速率的第一數(shù)據(jù)速率;接收第一用戶對于第一音頻序列的第一請求;以第一數(shù)據(jù)速率從存儲裝置向第一用戶發(fā)送第一音頻序列;將第二音頻序列劃分到多個存儲裝置中;接收一個用于指定向第二用戶發(fā)送第二音頻序列的速率的、與第一數(shù)據(jù)速率不同的第二數(shù)據(jù)速率;接收第二用戶對于第二音頻序列的第二請求;以第二數(shù)據(jù)速率從存儲裝置向第二用戶發(fā)送第二音頻序列。
16.一種計算機可讀媒體,它的內(nèi)容使得一個具有多個存儲裝置的連續(xù)媒體服務(wù)器系統(tǒng)通過執(zhí)行以下步驟向第一用戶作為多個第一包發(fā)送第一音頻序列并且向第二用戶作為多個第二包發(fā)送第二音頻序列將第一音頻序列分割為多個第一塊;將各第一塊劃分到多個存儲裝置中;接收一個用于指定發(fā)送第一音頻序列所使用的每個第一包中所包含的最大數(shù)據(jù)量的第一包尺寸;接收第一用戶對于第一音頻序列的第一請求;將第一塊分為第一包,使得每個第一包含有等于或小于第一包尺寸的數(shù)據(jù)量;向第一用戶發(fā)送各第一包;將第二音頻序列分割為多個第二塊;將各第二塊劃分到多個存儲裝置中;接收一個用于指定發(fā)送第二音頻序列所使用的每個第二包中所包含的最大數(shù)據(jù)量的、不同于第一包尺寸的第二包尺寸;接收第二用戶對于第二音頻序列的第二請求;將第二塊分為第二包,使得每個第二包含有等于或小于第二包尺寸的數(shù)據(jù)量;向第二用戶發(fā)送第二包。
17.根據(jù)權(quán)利要求16的計算機可讀媒體,其內(nèi)容還執(zhí)行步驟分割第一音頻序列之前將第一音頻序列編碼為容錯格式。
18.根據(jù)權(quán)利要求17的方法,其中容錯格式為奇偶校驗編碼方案。
19.一種數(shù)據(jù)處理系統(tǒng),包括一個用于向用戶發(fā)送音頻序列的因特網(wǎng);第一多個存儲裝置,由第一服務(wù)器管理,用于存儲音頻序列的第一部分;第二多個存儲裝置,用于存儲由第二服務(wù)器管理的音頻序列的第二部分;以及一個控制器,用于接收用戶請求,并且用于經(jīng)過因特網(wǎng)從第一多個存儲裝置和從第二多個存儲裝置向用戶發(fā)送音頻序列。
20.一種含有包括多個表項的數(shù)據(jù)結(jié)構(gòu)的計算機可讀存儲裝置,在經(jīng)過因特網(wǎng)從音頻服務(wù)器系統(tǒng)向用戶發(fā)送存儲在多個存儲裝置中的多個音頻序列時使用該數(shù)據(jù)結(jié)構(gòu),因特網(wǎng)從音頻服務(wù)器系統(tǒng)向用戶作為多個包傳送多個音頻序列中的每一個,每個表項包括對多個音頻序列中的一個的引用;一個數(shù)據(jù)速率,以該速率向用戶發(fā)送音頻序列包;以及一個包尺寸,指定經(jīng)過因特網(wǎng)從音頻服務(wù)器系統(tǒng)向用戶發(fā)送的音頻序列的每個包中所含的最大數(shù)據(jù)量。
21.一種連續(xù)媒體服務(wù)器系統(tǒng),包括一個包交換網(wǎng)絡(luò),用于作為多個包向用戶發(fā)送一個音頻序列;多個存儲裝置,用于作為多個塊存儲音頻序列;以及一個服務(wù)器,還包括用于將音頻序列分割為塊并且將各塊劃分到存儲裝置中的第一部件;用于接收指定向用戶發(fā)送音頻序列的速率的數(shù)據(jù)速率、用于接收指定每個包最大數(shù)據(jù)量的包尺寸、并且用于接收用戶對于音頻序列的請求的第二部件;以及用于將塊分割為包使得每包含有等于或小于包尺寸的數(shù)據(jù)量、并且用于經(jīng)過包交換網(wǎng)絡(luò)以數(shù)據(jù)速率向用戶發(fā)送各包的第三部件。
22.根據(jù)權(quán)利要求21的連續(xù)媒體服務(wù)器系統(tǒng),其中各塊中的至少一個含有一靜止圖象部分。
23.根據(jù)權(quán)利要求21的連續(xù)媒體服務(wù)器系統(tǒng),其中包交換網(wǎng)絡(luò)是因特網(wǎng)。
24.根據(jù)權(quán)利要求21的連續(xù)媒體服務(wù)器系統(tǒng),其中第一部件在將音頻序列分割為塊之前利用奇偶校驗編碼方案對音頻序列進行編碼。
全文摘要
提供一種音頻服務(wù)器系統(tǒng),在用戶請求時向用戶發(fā)送音頻序列或者混合的音頻和靜止圖象序列。為了在因特網(wǎng)環(huán)境下用作音頻服務(wù)器系統(tǒng),該音頻服務(wù)器系統(tǒng)必須克服因特網(wǎng)過多的包丟失。通過允許預(yù)先指定的包尺寸和預(yù)先指定的數(shù)據(jù)速率,音頻服務(wù)器系統(tǒng)克服了這個問題。通過允許預(yù)先指定的包尺寸,音頻服務(wù)器系統(tǒng)能夠使用一種糾錯方案,比如奇偶校驗編碼,以便降低因特網(wǎng)過高的包丟失后果。音頻服務(wù)器系統(tǒng)提供了預(yù)先指定的數(shù)據(jù)速率,以便保證不快于所需(這將導(dǎo)致系統(tǒng)數(shù)據(jù)丟失的增加)地播放音頻序列或者混合的音頻序列。
文檔編號H04M3/50GK1223049SQ97195670
公開日1999年7月14日 申請日期1997年6月19日 優(yōu)先權(quán)日1997年6月19日
發(fā)明者威廉姆·J·布勒斯基, 斯蒂文·P·勒維, 馬克·D·范·安特沃普, 約阿姆·伯尼特 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1