專利名稱:交互式寬帶服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明還涉及交互式寬帶服務(wù)器系統(tǒng),并且更加具體涉及這樣交互式寬帶服務(wù)器系統(tǒng),其能夠傳遞包括大量同步數(shù)據(jù)流這樣可以用于提供視頻點播(VOD)服務(wù)的不同種類的數(shù)據(jù)和服務(wù)。
背景技術(shù):
一種交互式寬帶服務(wù)器(IBS)系統(tǒng)是傳遞不同類型的數(shù)據(jù)并且提供同時服務(wù)的設(shè)備。這種服務(wù)可以包括來自預(yù)先記錄的視頻(從現(xiàn)場剪輯到電影)的視頻流、來自接近于實時的事件的視頻流、雙向語音數(shù)據(jù)、數(shù)據(jù)傳輸下載、數(shù)據(jù)庫交互作用、對信用卡交易的支持、交互式模擬和游戲、多媒體內(nèi)容的傳遞以及任何其他已知或要被確定的服務(wù)。希望該IBS相同提供數(shù)千個同時同步的數(shù)據(jù)流,其中“同步”是指時間上敏感并且必須連續(xù)傳送而不被中斷的數(shù)據(jù)流,否則該數(shù)據(jù)流將變得不連貫。同步數(shù)據(jù)流的例子包括實時視頻和音頻,只要它們被接收則被發(fā)送,例如實況電視饋送、教學(xué)視頻、電影和單獨請求的廣告。該IBS系統(tǒng)還必須對所有服務(wù)進行精確地跟蹤、計算和存儲以及收費,同時提供網(wǎng)絡(luò)管理。用于描述基本上類似的設(shè)備的其他術(shù)語包括視頻服務(wù)器、介質(zhì)服務(wù)器、交互式寬帶服務(wù)器、交互式內(nèi)容引擎、寬帶倍增器、以及城市介質(zhì)服務(wù)器。
人們已經(jīng)對實現(xiàn)包括把一個或多個高容量中央服務(wù)器應(yīng)用于分配處理系統(tǒng)的IBS系統(tǒng)進行嘗試和作出提議。該挑戰(zhàn)是提供一種IBS解決方案,其能夠把高質(zhì)量的服務(wù)提供到上千個用戶,并且保持成本效率和實際設(shè)計。傳統(tǒng)的服務(wù)器設(shè)計在可以從一個標(biāo)題的副本中產(chǎn)生的輸出流的數(shù)目上受到限制。這對于流行的標(biāo)題需要冗余的存儲,并且需要預(yù)先知道哪一個標(biāo)題是流行的(當(dāng)一個標(biāo)題表現(xiàn)出它是流行時,則可能沒有剩余的帶寬來復(fù)制它)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明一個實施例的交互式寬帶服務(wù)器系統(tǒng)包括多個處理器、主干交換機、多個存儲設(shè)備以及多個用戶處理。該主干交換機允許在該處理器之間進行高速通信。該存儲設(shè)備耦合到該處理器并且在該處理器之間分配,以存儲至少一個標(biāo)題,其中每個標(biāo)題被分為數(shù)據(jù)塊,該數(shù)據(jù)塊被在所述存儲設(shè)備中的兩個或更多設(shè)備上分配。用戶處理被配置為在用于與多個用戶位置相接的處理器上執(zhí)行。每個用戶處理通過主干交換機從兩個或多個處理器提取被請求的標(biāo)題,并且組合一個被請求的標(biāo)題,用于傳送到一個請求用戶位置。
在一個實施例中,該存儲設(shè)備被組織為多個RAID組,其中每個所存儲的標(biāo)題的數(shù)據(jù)塊在該RAID組上分配。在一個實施例中,例如每個數(shù)據(jù)塊被分為在RAID組之一上分配的多個子塊。在該RAID實施例中,RAID組檢索和組合功能可以在該用戶處理之間分配。
在另一個實施例中,一個交互式寬帶服務(wù)器系統(tǒng)包括主干交換機,其包括具有多個雙向端口的主干交換機、盤陣列、多個處理器以及多個處理。該盤陣列包括多個盤驅(qū)動器并且存儲細(xì)分為多個數(shù)據(jù)塊。該數(shù)據(jù)塊在所述盤陣列上分配。每個處理器具有多個接口,包括耦合到所述主干交換機的一個端口的第一接口,耦合到所述驅(qū)動器陣列的至少一個盤驅(qū)動器的第二接口,以及用于耦合到與多個用戶設(shè)備相接的網(wǎng)絡(luò)的第三接口。該處理使得每個處理器從所述處理器中的兩個或更多處理器檢索被請求的標(biāo)題的多個數(shù)據(jù)塊,以組合所述被請求的標(biāo)題,并且通過所述第三接口發(fā)送所述被請求的標(biāo)題。
任何類型的內(nèi)容被考慮用于傳送到用戶設(shè)備。在一個實施例中,多個標(biāo)題的每一個包括同步數(shù)據(jù)內(nèi)容,其通過該處理器的相應(yīng)第三接口同時傳送到相應(yīng)的多個用戶設(shè)備。
該系統(tǒng)可以包括多個介質(zhì)讀取器,每個讀取器耦合到所述處理器中的一個相應(yīng)處理器,以及一個庫存儲系統(tǒng)。在一個實施例中,該處理器包括用于耦合到介質(zhì)讀取器的一個附加接口。該庫存儲系統(tǒng)包括多個存儲介質(zhì),其集中存儲多個標(biāo)題并且耦合到該主干交換機的一個端口。該庫存儲系統(tǒng)被配置為通過主干交換機接收一個標(biāo)題請求,并且把一個相應(yīng)的存儲介質(zhì)裝載到多個介質(zhì)讀取器中的任何一個可用的介質(zhì)讀取器上。
多個處理可以包括至少一個裝載處理,其被配置為從介質(zhì)讀取器檢索一個標(biāo)題,以把該標(biāo)題分為數(shù)據(jù)塊,并且通過該處理器把該數(shù)據(jù)塊在盤陣列上分配。該裝載處理可以創(chuàng)建定位一個標(biāo)題的每個數(shù)據(jù)塊的一個標(biāo)題映射。多個處理可以進一步包括在該處理器上執(zhí)行的至少一個用戶處理,其檢索和使用該標(biāo)題映射,以檢索該標(biāo)題的每個數(shù)據(jù)塊。
該標(biāo)題可以被預(yù)先處理并且以預(yù)定格式存儲,以減小負(fù)載和處理開銷。預(yù)處理的例子包括預(yù)加密、預(yù)先計算冗余信息、預(yù)先存儲傳輸協(xié)議、由于各種原因等等指向所存儲的標(biāo)題內(nèi)容中的特定位置的指針。該指針例如可以包括時間標(biāo)記。
根據(jù)本發(fā)明一個實施例的交互式內(nèi)容引擎包括主干交換機,其包括多個端口、處理器、介質(zhì)讀取器、庫存儲系統(tǒng)、存儲設(shè)備和在該處理器上執(zhí)行的至少一個處理。該至少一個處理集中地提交一個標(biāo)題請求,從可用的介質(zhì)讀取器檢索被請求的標(biāo)題,把被請求的標(biāo)題存儲在該存儲設(shè)備上,以及把被請求的標(biāo)題傳送到多個處理器之一。
為了更加完整地理解本發(fā)明,現(xiàn)在結(jié)合附圖進行描述,其中相同的參考標(biāo)號表示相同的特征,其中
圖1為包括根據(jù)本發(fā)明一個實施例配置的交互式寬帶服務(wù)器(IBS)系統(tǒng)的通信系統(tǒng)的示意方框圖。
圖2A為圖1的IBS系統(tǒng)的一個示意實施例的方框圖;圖2B為采用在圖2A的處理器之間分配的光盤驅(qū)動器的圖1的IBS系統(tǒng)的另一個示意實施例的一部分的方框圖。
圖3為圖2的每個處理器的一個示意實施例的方框圖。
圖4為示出根據(jù)本發(fā)明一個實施例的示意RAID盤組織的方框圖。
圖5A為示出由在所選擇的一個圖2的處理器上執(zhí)行的用戶處理(UP)啟動對標(biāo)題的用戶標(biāo)題請求(UTR)、裝載、存儲和檢索的方框圖。
圖5B為示出用于訪問和存儲被請求的標(biāo)題的示意分配裝載處理的方框圖。
圖5C為示出用于使用圖2的分配光盤驅(qū)動器訪問和存儲被請求的標(biāo)題的一個示意協(xié)調(diào)的裝載處理的方框圖。
圖6為示出由在圖2的處理器中的一個處理器上的用戶處理和的另一個處理器上執(zhí)行的目錄處理的操作對標(biāo)題的請求和檢索的更加詳細(xì)的方框圖。
圖7為由包括用戶處理、目錄處理、裝載處理等等這樣的各種處理所采用的示意標(biāo)題映射的更加詳細(xì)的方框圖。
圖8為示出由用于存儲和檢索標(biāo)題和數(shù)據(jù)的圖1的IBS系統(tǒng)所使用的緩存和最近最少使用(LRU)策略的方框圖。
圖9為示出根據(jù)本發(fā)明一個實施例的鏡像處理的方框圖。
具體實施例方式
根據(jù)本發(fā)明一個實施例的交互式寬帶服務(wù)器系統(tǒng)通過對存儲的標(biāo)題的主動管理以避免對內(nèi)容和所伴隨的標(biāo)題的冗余存儲的必要性。這不需要得知哪一個標(biāo)題將是最流行的這樣的預(yù)先知識,并且一個標(biāo)題的單一副本可以服務(wù)于任何數(shù)目的同時用戶,在該標(biāo)題的略有不同的(并且被獨立控制)時間點上服務(wù)于每個用戶,直到該服務(wù)器的最大流輸出能力為止。
在此所述的實施例中,上述能力伴隨著剝離在盤驅(qū)動器陣列上的每個標(biāo)題的“塊”而實現(xiàn),其中每個塊表示固定的存儲量或固定的時間量。訪問一個標(biāo)題的每個用戶處理被給定每個標(biāo)題的塊的位置,并且負(fù)責(zé)把它們重新組合為一個獨立和(在大多數(shù)情況中)同時的輸出流。每個塊被存儲在獨立盤(RAID)陣列的一個冗余陣列上,例如五個“子塊”,每個驅(qū)動器具有一個子塊。這五個子塊包含20%的冗余信息,在驅(qū)動器或處理器發(fā)生故障時允許重構(gòu)任何丟失的子塊。該方法使得所有輸出流從一個標(biāo)題產(chǎn)生,或者每個輸出流從不同的標(biāo)題產(chǎn)生,并且導(dǎo)致在所有處理器和一個主干(或底板)交換機上顯著均勻的分配負(fù)載。管理是自動的,并且不需要關(guān)于內(nèi)容的流行程度這樣的預(yù)先知識。當(dāng)從該庫請求一個新的標(biāo)題時,在硬盤驅(qū)動存儲器中的最近最少使用(LRU)標(biāo)題被刪除,以騰出空間。每個子塊被類似地緩存在該處理器的存儲器中,直到它變?yōu)樽罱钌偈褂玫淖訅K為止,并且被刪除以為當(dāng)前被請求的一個子塊騰出空間。服務(wù)器資源的分配是自動的并且基于瞬時的要求。
圖1為包括根據(jù)本發(fā)明一個實施例而配置的交互式寬帶服務(wù)器(IBS)系統(tǒng)109的通信系統(tǒng)100的簡化方框圖。該IBS系統(tǒng)109位于一個常規(guī)和示意的分配的點101處,并且通過網(wǎng)絡(luò)通信系統(tǒng)107和用于把數(shù)據(jù)和服務(wù)分配到一個或多個用戶位置105的分配網(wǎng)絡(luò)103耦合。如下文進一步描述,該IBS系統(tǒng)109包含一個庫存儲系統(tǒng)201(圖2),其包括所存儲的(以及一般被編碼、加密和/或壓縮)內(nèi)容,用于傳送到用戶位置105。支持雙向通信,其中來自任何一個或多個用戶位置105的用戶信息被向上轉(zhuǎn)發(fā)到分配的點101。該網(wǎng)絡(luò)通信系統(tǒng)107可以是任何類型的數(shù)據(jù)網(wǎng)絡(luò),其支持同步數(shù)據(jù)發(fā)送,例如異步傳輸模式(ATM)或以太網(wǎng)或無線、數(shù)字用戶線路(DSL)或混合光纖同軸(HFC)網(wǎng)絡(luò),其調(diào)制數(shù)據(jù),用于向下傳輸?shù)接脩粑恢?05并且調(diào)諧到用于接收和解調(diào)用戶信息的上行信道。
許多不同種類的信息源被考慮,例如一個或多個計算機網(wǎng)絡(luò)111(例如,互聯(lián)網(wǎng))或者其他內(nèi)容系統(tǒng)113,其表示電話信息、衛(wèi)星通信系統(tǒng)、不播出天線系統(tǒng)116(例如,微波塔)等等。該計算機網(wǎng)絡(luò)111可以包括任何類型的局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或者全局計算機網(wǎng)絡(luò),例如包括互聯(lián)網(wǎng)等等。該其他內(nèi)容系統(tǒng)113可以包括公用交換電話網(wǎng)絡(luò)(PSTN)和/或可以用于接收和傳送任何類型的信息,例如電視廣播內(nèi)容等等。該計算機網(wǎng)絡(luò)111和/或其他內(nèi)容系統(tǒng)113可以位于分配的點101(例如,工作為一個頭端等等)或者可以位于上游并且通過例如光纖鏈路等等適當(dāng)?shù)臄?shù)據(jù)傳送機構(gòu)來傳遞。根據(jù)特定的配置,該計算機網(wǎng)絡(luò)111和/或其他內(nèi)容系統(tǒng)113可以分別直接耦合到該網(wǎng)絡(luò)通信系統(tǒng)107或者通過IBS系統(tǒng)109耦合,用于傳送到用戶位置105。該分配的點101可以包括用于傳輸?shù)倪m當(dāng)設(shè)備,例如內(nèi)部服務(wù)器、防火墻、網(wǎng)際協(xié)議(IP)路由器、信號合并器、信道重新映射器等等。
該網(wǎng)絡(luò)通信系統(tǒng)107和分配網(wǎng)絡(luò)103的特定配置取決于所采用的特定構(gòu)架和技術(shù)。在一個實施例中,該分配網(wǎng)絡(luò)103被根據(jù)一個HFC網(wǎng)絡(luò)而配置,其中該用戶的介質(zhì)包括從本地節(jié)點(例如,提供光電格式之間的轉(zhuǎn)換的光節(jié)點等等)分配各個用戶位置105。在一個HFC配置中,源信息被從一個頭端分配到幾個分配中心的每一個,其進一步把源信息分配到一個或多個光節(jié)點等等,其接著把該源信息通過例如同軸電纜這樣的相應(yīng)用戶介質(zhì)鏈路分配到一個或多個用戶位置105。在這樣的配置中,該分配的點101可以表示任何一個頭端、分配中心或者光節(jié)點。每個分配的點支持連續(xù)的更小地理區(qū)域。一個頭端例如可以支持相對較大的地理區(qū)域,例如整個市區(qū)等等,其進一步被分為更小的區(qū)域,每個區(qū)域由一個分配中心所支持。由每個分配中心所支持的區(qū)域被進一步分為由相應(yīng)的光節(jié)點所支持的更小的區(qū)域,例如在市區(qū)的附近。
光鏈路例如可以采用SONET(同步光網(wǎng))環(huán)路等等。應(yīng)當(dāng)知道,任何已知或者將來開發(fā)的介質(zhì)被考慮用于在該網(wǎng)絡(luò)中的每個通信鏈路。在一個HFC實施例中,例如每個光節(jié)點從上游分配的點接收一個光信號,把該光信號轉(zhuǎn)換為組合的電信號并且把該組合的電信號通過同軸電纜分配到相應(yīng)地理服務(wù)區(qū)域的幾個用戶位置105中的每個用戶位置。用戶信息被以電子形式(例如,射頻(RF)信號)轉(zhuǎn)發(fā),并且在每個光節(jié)點合并,其把組合的光信號上游轉(zhuǎn)發(fā)到相應(yīng)的分配中心。
每個用戶位置105包括客戶場所設(shè)備(CPE)(未示出),例如機頂盒或有線電視調(diào)制解調(diào)器或者DSL調(diào)制解調(diào)器等等,其調(diào)諧、解碼和解調(diào)來自提供給特定用戶位置105的組合電信號的源信息。在每個用戶位置105的CPE包括一個調(diào)制設(shè)備等等,其編碼、調(diào)制和上變頻為RF信號等等。來自每個用戶位置105的上游RF信號被在一個適當(dāng)?shù)挠脩艚橘|(zhì)(或介質(zhì))上傳送到一個相應(yīng)節(jié)點,其把該用戶信號轉(zhuǎn)換為一個光信號。例如,一個激光器可以用于把該返回信號轉(zhuǎn)換到一個光信號,并且把該光返回信號通過另一個光纖纜發(fā)送到在一個分配中心的光接收器。
考慮其他寬帶網(wǎng)絡(luò)環(huán)境,例如任何由有線電視和電話工業(yè)所開發(fā)的寬帶網(wǎng)絡(luò)技術(shù)。一個例子是不對稱數(shù)字用戶線路(ADSL)技術(shù),其犧牲上行帶寬以獲得更大的下行帶寬??紤]電話工業(yè)光纖到社區(qū)(FITC)構(gòu)架,以及各種無線基礎(chǔ)結(jié)構(gòu),包括多信道、多點分配服務(wù)(MMDS)或者使用蜂窩式方法的本地多點分配服務(wù)(LMDS)。
該源信息和用戶信息可以包括任何視頻、音頻或其他數(shù)據(jù)信號等等的組合,其可以用任何許多不同格式。該源信息可以作為固定或可變大小的幀、數(shù)據(jù)包或信元而發(fā)出,例如網(wǎng)際協(xié)議(IP)數(shù)據(jù)包、以太幀、ATM信元等等,以提供到該分配中心。
考慮數(shù)字視頻壓縮技術(shù),例如離散余弦變換(DCT)和由運動圖像專家組(MPEG)所開發(fā)的標(biāo)準(zhǔn)系列,例如MPEG-1、MPEG-2、MPEG-4等等。該MPEG-2標(biāo)準(zhǔn)例如支持各種音頻/視頻格式,包括傳統(tǒng)電視、高清晰度電視(HDTV)和5聲道環(huán)繞聲。MPEG-2提供廣播質(zhì)量的分辨率,其被用于DVD(數(shù)字通用光盤或數(shù)字視頻光盤)電影中,并且根據(jù)所需的服務(wù)質(zhì)量(QoS),需要從4至20兆位每秒(Mbps)的帶寬。所發(fā)送的數(shù)據(jù)和信息可以包括一個或多個目標(biāo)地址等等表示在該用戶位置105處的任何一個或多個特定用戶設(shè)備。在每個用戶位置105處的CPE包括接收和解調(diào)所接收的信息的適當(dāng)通信設(shè)備,并且解碼地址信息,以傳送要由該用戶所用的原始內(nèi)容。上行用戶信息可以按照類似的方式來處理。
圖2A為IBS系統(tǒng)109的一個示意實施例的方框圖。該IBS系統(tǒng)109包括庫存儲系統(tǒng)201,其耦合到主干或底板交換機203,該庫存儲系統(tǒng)201進一步耦合到一個一系列處理器205的每一個,其分別標(biāo)記為P1、P2、...、Pn,其中“n”是一個正整數(shù)。每個處理器205包括一個或多個硬盤驅(qū)動器,其被配置為盤陣列207,并且每個處理器205被進一步耦合到分別被標(biāo)記為MD1,MD2,...,MDn的一系列調(diào)制/解調(diào)(MOD/DEMOD)209中的相應(yīng)一個。包括操作支持系統(tǒng)(OSS)211和業(yè)務(wù)支持系統(tǒng)(BSS)213的管理處理器210還被示出為耦合到主干交換機203。但是,應(yīng)當(dāng)指出,該管理處理器210是可選的,并且包括OSS 211和BSS 213的管理功能可以在處理器205之間分配。
該盤陣列207被分別標(biāo)記為PaDb,其中“a”表示該處理器號,并且“b”表示盤號,其從1變?yōu)椤皒”。該數(shù)字“x”是一個正整數(shù),表示用于盤陣列207的每個處理器的盤驅(qū)動器的數(shù)目。在一個示意配置中,n為100,x為8,這樣具有100個處理器205,以及總共有n×x=800個盤驅(qū)動器。如下文所述,該盤陣列207被進一步配置為多個RAID,用于在處理器205和多個盤驅(qū)動器之間分配數(shù)據(jù)組或塊。該MOD/DEMOD 209可以被包含在該網(wǎng)絡(luò)通信系統(tǒng)107中,其中每個系統(tǒng)調(diào)制來自各個處理器205的數(shù)據(jù)和信息,用于把數(shù)據(jù)下行傳送到相應(yīng)的用戶位置105,并且解調(diào)上行用戶數(shù)據(jù)和信息,由各個處理器205所用。
該庫存儲系統(tǒng)201可以用各種方法中的任何一種方法來配置,并且其特定配置和操作超出本申請公開的范圍。通常,每個處理器205被配置為把對一個“標(biāo)題”的請求(例如,視頻、電影等等)或者對其他內(nèi)容的請求通過主干交換機203提交到庫存儲系統(tǒng)201,并且?guī)齑鎯ο到y(tǒng)201通過轉(zhuǎn)發(fā)所請求的數(shù)據(jù)或者通過訪問包含在被請求的標(biāo)題的介質(zhì),例如通過加載相應(yīng)的光盤(例如,DVD)或者磁帶盒等等。在一個實施例中,所加載的數(shù)據(jù)和信息被通過主干交換機203轉(zhuǎn)發(fā)到請求處理器205。如下文所述,該庫存儲系統(tǒng)201把光盤裝載到在處理器205之間分配的多個光盤中的任何被選擇或可用的一個光盤。所提供的數(shù)據(jù)的格式和速率取決于特定庫和數(shù)據(jù)存儲配置。用于視頻應(yīng)用的數(shù)據(jù)率可以在從1Mbps(用于VHS視頻質(zhì)量)到大約10Mbps(用于DVD質(zhì)量)或更多。該數(shù)據(jù)的特定格式還根據(jù)數(shù)據(jù)或應(yīng)用的類型而變化。采用MPEG-2格式的音頻/視頻數(shù)據(jù)被考慮用于電影等等,作為以位流格式傳送的I、P和B MPEG幀形式的圖像組(GOP)。當(dāng)然,可以考慮其他類型的數(shù)據(jù),包括任何位率的同步數(shù)據(jù)和來自各種尺寸的文件的不同步數(shù)據(jù),例如用于通過計算機網(wǎng)絡(luò)111在互聯(lián)網(wǎng)上通信的網(wǎng)際協(xié)議(IP)數(shù)據(jù)包。
在例如視頻點播(VOD)系統(tǒng)等等適用于傳送視頻和/或多媒體信息的一種配置中,庫存儲系統(tǒng)201包括DVD盤和/或磁帶盒的疊層或庫,其可以進一步配置在一個基于機械的盤訪問系統(tǒng)。對于一種基于VOD的應(yīng)用,該庫存儲系統(tǒng)201應(yīng)當(dāng)包括與視頻租借業(yè)務(wù)相等價的標(biāo)題數(shù),并且可以適用于在可用時增加新的標(biāo)題。在一個電視點播應(yīng)用中,該標(biāo)題的數(shù)目可以成百上千。許多標(biāo)題將不被經(jīng)常請求,因此存儲在自動的庫存儲系統(tǒng)201中,該系統(tǒng)被配置為在請求時以方便的方式傳送任何標(biāo)題。
機械存儲庫已經(jīng)被開發(fā)用于計算機工業(yè),尺寸大小在從存儲幾百張光盤的點播機到存儲幾千個磁帶盒的房間大小的機構(gòu)的范圍不等。由于整體操作速度問題,這些庫通常表現(xiàn)為離線的。相反,在至少一個示意配置中,部分地通過包含在處理器205之間分布的介質(zhì)讀取器和讀/寫設(shè)備,庫存儲系統(tǒng)201被設(shè)計為從請求到傳送具有不大于30秒的延遲。庫存儲系統(tǒng)201的機械部件被配置為用于對所有盤的冗余存取,從而在庫存儲系統(tǒng)201中僅僅需要一個標(biāo)題具有一個副本,并且大多數(shù)機械故障不妨礙對任何標(biāo)題的訪問。由于該庫存儲系統(tǒng)201被認(rèn)為是主存儲器(在該庫中的任何標(biāo)題可以在任何時間由任何用戶所用),該IBS系統(tǒng)109的盤陣列207的存儲器被認(rèn)為是用于最近被請求的標(biāo)題的高速緩沖器。結(jié)果,IBS系統(tǒng)109可以被配置為一個高流容量的集中服務(wù)器,或者作為在較小局部空間中具有分布式緩存的集中庫。
該主干交換機203包括多個端口,每個端口用于與一個處理器205相接,一個端口用于管理處理器210(如果提供的話),以及一個或多個端口用于與庫存儲系統(tǒng)201相接。附加或空閑的端口可以用于各種目的,例如一個或多個備用計算機用于在發(fā)生故障、錯誤、維修、升級等等的情況下替換任何處理器205。在一個實施例中,該主干交換機203被根據(jù)以太網(wǎng)標(biāo)準(zhǔn)來配置,并且包括用于耦合該處理器205、210和庫存儲系統(tǒng)201的充足的端口。有現(xiàn)成的產(chǎn)品可用,例如由FoundaryNetworks所制造的基于底盤的“Bigiron”系列產(chǎn)品。一個Bigiron產(chǎn)品包括至少110個端口,其中對于2Gbps全雙工操作來說,每個雙向端口能夠在每個方向上以1Gbps的數(shù)據(jù)率傳輸。按照這種方式,每個處理器205可以從其他處理器或者存儲單元接收高達1Gbps的數(shù)據(jù),用于為連接到該處理器的用戶重新組合到輸出流,或者存儲在本地盤驅(qū)動器上。每個處理器205連接到該主干交換機203的一個端口,使得100個處理器P1-P100的每一個可以同時接收高達1Gbps的數(shù)據(jù)。
在一個實施例中,該庫存儲系統(tǒng)201連接到該主干交換機203的多個端口,使得每個處理器205接收來自庫存儲系統(tǒng)201以及來自其他處理器的數(shù)據(jù)。按照這種方式,來自庫存儲系統(tǒng)201的被請求標(biāo)題的數(shù)據(jù)被主干交換機203從庫存儲系統(tǒng)201轉(zhuǎn)發(fā)。另外,如下文更加詳細(xì)地描述,該庫存儲系統(tǒng)201連接到一個端口,主要用于接收標(biāo)題請求。在該配置中,由目標(biāo)處理器(上的用戶處理)具體請求的數(shù)據(jù)被從連接到其他處理器的光驅(qū)等等接收。該數(shù)據(jù)可以包括來自在其他處理器上運行的加載處理的要存儲在與目標(biāo)處理器相連接的驅(qū)動器上的數(shù)據(jù)。應(yīng)當(dāng)指出由處理器/存儲單元(處理器P1-P100)的數(shù)目和主干交換機的大小來反映的該IBS系統(tǒng)109的特定尺寸和總數(shù)據(jù)輸出能力可以根據(jù)所支持的用戶位置105的數(shù)目和隨時間變化并且包括峰值需求時間段的需求內(nèi)容的期望程度而縮放。并且1Gbps端口速率僅僅是示例性的,可以考慮其他數(shù)據(jù)率,例如2.5、4、10、40或更高的Gbps端口。
該OSS 211執(zhí)行網(wǎng)絡(luò)監(jiān)控和管理軟件以及處理標(biāo)準(zhǔn)管理信息。該OSS 211使得操作員標(biāo)記錯誤狀態(tài),并且訪問和控制IBS系統(tǒng)109的操作,以解決問題。在一個配置中,該OSS 211可以遠(yuǎn)程訪問。如果當(dāng)出現(xiàn)一個錯誤時,該遠(yuǎn)程訪問的OSS 211能夠進行遠(yuǎn)程診斷和解決。這種遠(yuǎn)程訪問避免使得操作員到達分配的點101的實際場所的必要性,這是不方便、耗時并且在用戶的滿意度或服務(wù)中斷方面潛在地具有非常高的成本。遠(yuǎn)程訪問通過連接到全局網(wǎng)絡(luò)等等這樣的一個外部網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))而實現(xiàn)。如果提供管理處理器210,則該管理處理器210連接到計算機網(wǎng)絡(luò)111,并且可以通過遠(yuǎn)程控制軟件訪問,以允許對該管理系統(tǒng)進行遠(yuǎn)程操作。另外,通過該主干交換機203的一個或多個端口進行外部網(wǎng)絡(luò)連接。
該BSS 213包括控制系統(tǒng)215和計費系統(tǒng)217。該控制系統(tǒng)215管理內(nèi)容并且指導(dǎo)該IBS系統(tǒng)109的正常操作,以及指導(dǎo)處理器205和主干交換機203的操作。計費信息被從控制系統(tǒng)215發(fā)送到計費系統(tǒng)217。每個處理器205包括軟件代理或應(yīng)用,其根據(jù)預(yù)定計費方案監(jiān)視和跟蹤用于每個用戶位置105的計費信息。該BSS 213收集該計費信息并且能夠根據(jù)需要進行復(fù)雜形式的計費。例如,考慮固定費用以及對于附加服務(wù)的固定每月附加費加上對于獨立事件單獨計費。電話計費方案可以包括固定按月收費加上根據(jù)增加使用的計費(例如,按照每分鐘或者按照每秒鐘)加上為第二公司(例如,長途電話提供商)計費。
電話購物服務(wù)需要及時的信用卡確認(rèn)以及用財務(wù)和實現(xiàn)(存貨和發(fā)貨)系統(tǒng)進行實時的交易。該BSS 213能夠監(jiān)控和跟蹤相關(guān)業(yè)務(wù)的銷售,以便于根據(jù)收入的百分比對實際發(fā)貨中心等等計費。這些和其他復(fù)雜的計費模型被考慮并且由BSS 213所支持。
應(yīng)當(dāng)指出,該OSS和BSS功能可以由IBS系統(tǒng)109通過添加專用處理器(例如,管理處理器210)或者通過以一種分布方式在現(xiàn)有處理器205運行該處理而提供。該IBS被設(shè)計為非??煽浚耆闷潆[含的冗余性的優(yōu)點,并且具有極大的處理能力,從而其適合運行需要高可靠性的處理。
存儲在該庫存儲系統(tǒng)中并且來源于該庫存儲系統(tǒng)的許多標(biāo)題可能是具有專用權(quán)或包含版權(quán)的信息。在一個實施例中,許多標(biāo)題數(shù)據(jù)可以被預(yù)先加密并且在通過IBS系統(tǒng)109到用戶位置105的處理全程中保持加密狀態(tài)。在每個用戶位置105處的CPE包括適當(dāng)?shù)慕饷芄δ?,用于解密顯示或運行的數(shù)據(jù)。這樣的配置涉及根據(jù)標(biāo)題進行加密。這可能需要該標(biāo)題數(shù)據(jù)被基于數(shù)據(jù)流而加密,從而即使對于相同的標(biāo)題,到達每個用戶位置105的每個獨立數(shù)據(jù)流被分別加密。例如,對于以加密形式分配的相同標(biāo)題,分配到一個用戶位置105的給定標(biāo)題被獨立加密到不同的用戶位置105(或者甚至在隨后的時間到達相同的用戶)。被示出為MDn 227的MOD/DEMOD 209示出一個實施例,其能夠按照數(shù)據(jù)流進行加密。每個標(biāo)題仍然被加密并且通過IBS系統(tǒng)109從庫存儲系統(tǒng)201到MOD/DEMOD 209處理。在這種情況中,每個MOD/DEMOD 209包括用于解密在每個MOD/DEMOD 209中的每個標(biāo)題的解密功能229。然后,該數(shù)據(jù)進行到一個加密功能231,用于對該數(shù)據(jù)重新加密,以傳送到相應(yīng)的用戶位置105。應(yīng)當(dāng)指出,即使采用類似的加密技術(shù),也可以采用分離和統(tǒng)一的加密密鑰,以便于對每個分離的數(shù)據(jù)流進行統(tǒng)一的加密。
圖2B為采用在處理器205之間分配的光盤驅(qū)動器219的IBS系統(tǒng)109的另一個示意實施例的一部分的方框圖。在這種情況中,每個光盤驅(qū)動器219,例如DVD驅(qū)動器獲取任何其他類型的介質(zhì)讀取器,連接到相應(yīng)一個處理器205。該光盤驅(qū)動器219還實際位于庫存儲系統(tǒng)201的附近,用于由光盤裝載系統(tǒng)221所訪問。該庫存儲系統(tǒng)201還包括可以訪問光盤裝載系統(tǒng)221的光盤庫223,其中該光盤庫223存儲多個標(biāo)題和用于分配的任何其他內(nèi)容。
該光盤裝載系統(tǒng)221可以包括一個基于機械的裝載系統(tǒng)等等,其包括通過用于與任何處理器205相接的至少一個通信鏈路225耦合到主干交換機203的內(nèi)部處理器或者控制電路(未示出)。按照這種方式,任何處理器205把對一個標(biāo)題的請求提交到該光盤裝載系統(tǒng)221,該系統(tǒng)從光盤庫223檢索相應(yīng)的一個或多個盤,并且把被檢索的盤裝載在任何所選擇或可用的光盤驅(qū)動器219之一上。應(yīng)當(dāng)指出,該IBS系統(tǒng)109的分布特性能夠使得任何處理器205訪問來自裝載到任何光盤驅(qū)動器223的數(shù)據(jù)。這種分配結(jié)構(gòu)允許光盤裝載系統(tǒng)221根據(jù)任何次序或隨機選擇處理來裝載盤,并且避免裝載或分配延遲。相對較大尺寸的盤陣列207的存儲導(dǎo)致被請求的標(biāo)題很可能存儲在該盤陣列207中,從而在庫存儲系統(tǒng)201和盤陣列207之間具有寬松的帶寬要求。該分布的光盤驅(qū)動器實施例具有足夠的帶寬來處理標(biāo)題請求。
存儲在庫存儲系統(tǒng)201中的標(biāo)題可以用專用格式來存儲,這包括對以低處理開銷進行快速加載的幾方面的增強。該內(nèi)容可以被預(yù)先加密,具有被預(yù)先計算和存儲的RAID冗余,具有已經(jīng)應(yīng)用于所獲得的數(shù)據(jù)流的傳輸協(xié)議,以及具有指向在可能需要進一步處理或者可能被要求用于進一步的處理(例如,用于快進、回倒以及把一個數(shù)據(jù)流接合到下一個數(shù)據(jù)流的圖像組(MPEG-2 GOP))的內(nèi)容內(nèi)的特定位置的指針(例如,時間標(biāo)記、傳輸標(biāo)頭)。結(jié)果,一個標(biāo)題可以按照超過快進的速度被從庫存儲系統(tǒng)201裝載,從而幾乎所有操作模式甚至可以被提供給一個標(biāo)題的第一個用戶,并且使得裝載處理具有盡可能小的處理開銷??梢蕴峁┮粋€記錄和處理系統(tǒng)233,用于把標(biāo)準(zhǔn)或任何其他可用格式的數(shù)據(jù)(例如,MPEG、DVD等等)轉(zhuǎn)換為上述用于在光盤庫223中的光介質(zhì)上存儲的所需專用格式。
圖3為每個處理器205的示意實施例的方框圖。在圖2中所示的IBS系統(tǒng)109的示意配置示出大量互連的處理器陣列(MIPA)配置,其中每個處理器205每個按照基本上類似的方式來配置。按照這種方式,可以采用大量相對簡單的低端和低成本的計算機系統(tǒng)來取代單個或少數(shù)復(fù)雜或高成本的服務(wù)器系統(tǒng)。每個處理器205可以使用相對標(biāo)準(zhǔn)的桌面或服務(wù)器個人計算機(PC)系統(tǒng)組件等等來實現(xiàn)。
每個處理器205包括耦合到一個或多個中央處理單元(CPU)303的一個相對標(biāo)準(zhǔn)的總線結(jié)構(gòu)或系統(tǒng)301、包括隨機存取存儲器(RAM)和只讀存儲器(ROM)設(shè)備的任何組合的存儲器系統(tǒng)305、用于與顯示器相接的可選視頻接口307、以及用于與例如鍵盤或鼠標(biāo)等等這樣的相應(yīng)I/O設(shè)備相接的一個或多個輸入/輸出(I/O)接口。該總線系統(tǒng)301可以包括多個總線,例如至少一個主總線,一個或多個外圍總線、一個或多個擴展總線等等,每個總線由本領(lǐng)域所公知的橋接電路或控制器所支持。該總線系統(tǒng)301還耦合到一個集成設(shè)備電子(IDE)控制器311,用于耦合到例如用于給定處理器Pa的盤陣列207的盤1和盤2(PaD1、PaD2)這樣的典型的兩個IDE盤驅(qū)動器313。該總線系統(tǒng)301包括或與一個或多個外設(shè)部件互連(PCI)總線,例如32位、33兆赫(MHz)PCI總線315。該PCI總線315耦合到三個PCI盤驅(qū)動控制器317(被示出為PCI 1、PCI 2和PCI 3),每個用于與至少兩個PCI盤驅(qū)動器319相接。該PCI盤驅(qū)動器319被示出為執(zhí)行該處理器Pa的盤3-8(PaD3-PaD8)。該總線系統(tǒng)301還耦合到高速盤控制器329,例如小計算機系統(tǒng)總線(SCSI)適配器、火線控制器、通用串行總線2.0版(USB2)控制器等等,用于與相應(yīng)的一個或多個分配的光盤驅(qū)動器219相接。
該總線系統(tǒng)301還耦合到另一個PCI總線321,其在所示的實施例中為64位,66MHz的PCI總線。該PCI總線321與至少兩個1Gbps的以太網(wǎng)接口卡(NIC)323和325相接,該卡分別用于與主干交換機203和相應(yīng)的一個MOD/DEMOD 209相接。應(yīng)當(dāng)指出一個64位,66MHz的PCI總線能夠具有大于4Gbps的原始數(shù)據(jù)輸出,并且這足以處理兩個2Gbps全雙工NIC 323、325的全雙工數(shù)據(jù)輸出。還示出一個軟件應(yīng)用程序塊(“APPS”)327,其表示裝載到存儲器305并且由CPU 303所執(zhí)行來實現(xiàn)在下文所述的處理器205的功能和處理的一個或多個應(yīng)用程序等等。例如,一個用戶處理可以被執(zhí)行用于管理由特定處理器205所支持的每個用戶。并且,包括其他程序,用于檢測通過NIC 325從用戶位置105請求的標(biāo)題,把每個標(biāo)題請求通過NIC 323轉(zhuǎn)發(fā)到庫存儲系統(tǒng)201,通過NIC 323接收用于處理的部分標(biāo)題數(shù)據(jù),并且存儲在盤驅(qū)動器313、319中,從盤驅(qū)動器313、319把標(biāo)題數(shù)據(jù)檢索到存儲器305中,處理標(biāo)題數(shù)據(jù),以及把數(shù)據(jù)通過NIC 325傳送到一個請求用戶位置105。當(dāng)然,許多其他處理和功能可以被定義,用于實現(xiàn)該IBS系統(tǒng)109,例如計費應(yīng)用程序、管理應(yīng)用程序、用于RAID數(shù)據(jù)存儲的錯誤檢測和糾錯碼(ECC)等等。
每個處理器205可以由任何適當(dāng)?shù)膶S没蚬差I(lǐng)域的操作系統(tǒng)(OS)來配置,例如選自Microsoft Windows系列的操作系統(tǒng)或者Linux的適當(dāng)版本和配置。在一個實施例中,考慮Linux OS與實時(RT)Linux的組合。實時操作系統(tǒng)(RTOS)、實時應(yīng)用程序接口(RTAI)和實時網(wǎng)絡(luò)(RT Net)被考慮用于直接或通過網(wǎng)絡(luò)處理實時或同時操作,用于允許實時響應(yīng)??梢圆捎酶鞣N協(xié)議和接口,例如用于文件結(jié)構(gòu)化的輕型目錄訪問協(xié)議(LDAP)、實時傳輸(RTS)、實時流協(xié)議(RTSP)、消息傳送接口(MPI)等等。具有簇消息傳輸(MP)層的簇配置被考慮用于執(zhí)行計費、用戶接口和管理操作。
圖4為示出根據(jù)本發(fā)明一個實施例的進入RAID盤機構(gòu)401的盤陣列207的示意結(jié)構(gòu)。在該示意結(jié)構(gòu)中,存在分別具有8個驅(qū)動器的100個處理器,總共有800個盤驅(qū)動器,標(biāo)號為1-800。該第一處理器P1的第一盤D1(或者盤驅(qū)動器P1D1)被標(biāo)記為第一盤驅(qū)動器1,該第二處理器P2的第一盤D1(或者盤驅(qū)動器P2D1)被標(biāo)記為第二盤驅(qū)動器2,如此等等,每個處理器P1-P100的第一盤驅(qū)動器形成盤驅(qū)動器1-100。下一個盤驅(qū)動器101是第一處理器P1的第二盤驅(qū)動器,下一個盤驅(qū)動器102是第二處理器P2的第二盤驅(qū)動器,如此等等。按照這種方式,第一處理器P1的8個盤驅(qū)動器分別被標(biāo)記為1、101、201、301、401、501、601和701。該第二處理器P2的8個盤驅(qū)動器分別被標(biāo)記為2,102,202,302,402,502,602和702,如此等等。該盤驅(qū)動器1-800被組織到5個盤驅(qū)動器的RAID,每個盤驅(qū)動器用于總共160個RAID,其中第一RAID 1由盤驅(qū)動器1-5所形成,第二RAID 2由盤驅(qū)動器6-10所形成,如此等等,直到最后的RAID 160由盤驅(qū)動器796-800所形成。
每個RAID可以由一個RAID控制器所管理或控制,該RAID控制器通常由一個獨立處理器或軟件處理器或者任何其他已知的配置來實現(xiàn)。但是,在此所示和描述的實施例中,每個RAID組僅僅是概念上的,從而在此沒有相關(guān)的RAID控制器。而是,RAID控制功能和操作在處理器205之間分配。當(dāng)內(nèi)容被裝載時,例如裝載處理(LP)509(圖5)這樣的裝載處理從一個目錄處理(DP)505接收一個可用存儲位置的列表。然后取具有預(yù)先計算和存儲的RAID信息的內(nèi)容,并且把其分配到由DP 505所提供的位置列表。不同裝載處理可以把內(nèi)容同時存儲到相同的RAID組。同理,例如讀取標(biāo)題的用戶處理(UP)503這樣的用戶處理請求為該標(biāo)題在目錄項中列出的子塊,然后執(zhí)行任何必要的計算,以重新創(chuàng)建丟失的子塊。如果該管理系統(tǒng)通知已經(jīng)替換一個發(fā)生故障的驅(qū)動器,則它在負(fù)載小或空閑的處理器上啟動重建處理,這不一定要直接控制任何受影響的驅(qū)動器。
每個RAID被示出為Rj,其中“j”是從1至160的RAID索引。按照這種方式,有160個標(biāo)記為R1-R160的RAID組,每個RAID組由在處理器1-100的陣列上執(zhí)行的多個軟件處理所控制。每個RAID組可以包括硬件、邏輯和處理的任何組合,其中處理可以包含在下文進一步描述的其他處理中,例如用戶處理、檢索處理、裝載處理等等。因此,可以把RAID組組織在單個驅(qū)動器邊界上而不是在5個驅(qū)動器邊界上,但是為了概念的簡化,在此所示的示意實施例被示出具有5個驅(qū)動器邊界。
應(yīng)當(dāng)知道,在此所示和描述的RAID機構(gòu)僅僅是示意性的,并且可以考慮許多不同的RAID組配置。RAID組可以按照任何所需的方式重疊或包圍。并且,多個處理器205可以包括用于更大的處理器分布的給定RAID處理。當(dāng)然,每個RAID可以包括任何數(shù)目的盤驅(qū)動器(小于或大于5個),并且每個RAID可以由與任何處理器相關(guān)的處理器所控制,并且不一定僅僅有一個處理器,例如與第一盤驅(qū)動器相關(guān)的處理器。但是,希望每個RAID組僅僅包括給定處理器的一個盤驅(qū)動器,以使得在處理器之間的數(shù)據(jù)分布最大化。這保證處理器205的故障僅僅從它所加入的每個RAID組中除去一個驅(qū)動器,這將不中斷它們的操作。如果在故障處理器205上的所有操作被屏蔽,則IBS系統(tǒng)109的功能具有較大的下降,僅僅直接影響連接到故障處理器的客戶機。如果IBS系統(tǒng)109已經(jīng)被配置有一個“熱待機”的處理器,則它立即開始以該故障處理器的映像重建自身。
如下文所述,該RAID配置使得數(shù)據(jù)流被細(xì)分為數(shù)據(jù)塊,其被在該RAID組的盤驅(qū)動器之間進一步細(xì)分和分配。例如,一個數(shù)據(jù)塊被處理為包括冗余信息(使用ECC等等),并且所獲得的被處理數(shù)據(jù)塊被細(xì)分為5個子塊,并且分配到在一個RAID中的5個盤驅(qū)動器中的每一個。
圖5A為示出由在所選擇的一個處理器205上執(zhí)行的用戶處理(UP)503所發(fā)起的對一個標(biāo)題的用戶標(biāo)題請求(UTR)、裝載、存儲和檢索,該處理器205被示出為處理器Pa 501。每個處理器205對它所支持的每個下游用戶位置105(用戶)執(zhí)行獨立用戶處理。該UP 503示出用于響應(yīng)從該用戶位置105對標(biāo)題的用戶標(biāo)題請求(JTR),檢索標(biāo)題和把標(biāo)題發(fā)送到用戶位置105的用戶處理的示意操作。該UP 503把UTR轉(zhuǎn)發(fā)到在一個處理器Pd 502上執(zhí)行的目錄處理(DP)505,該處理器表示處理器205中的任何其他處理器或者管理處理器210。如下文所述,DP 505首先通過查詢主目錄(MD)601確定該標(biāo)題是否已經(jīng)被存儲在盤陣列207中(圖6)。如果該標(biāo)題沒有裝載在該盤陣列207中,則DP505分配存儲器(或者確定下一個可用的盤空間),并且創(chuàng)建表示在盤陣列207中的標(biāo)題的每個連續(xù)“塊”的位置的標(biāo)題映射(TM)507。如下文所述,該標(biāo)題數(shù)據(jù)被分為數(shù)據(jù)塊,其被進一步分為在由盤陣列207所形成的RAID之間分配的數(shù)據(jù)子塊。該TM 507是標(biāo)識該標(biāo)題的每個塊(子塊)的位置的數(shù)據(jù)映射。如果該標(biāo)題已經(jīng)被裝載,則TM 507已經(jīng)存在用于在MD 601中的標(biāo)題,并且DP 505把TM 507通過主干交換機203復(fù)制到UP 503,其中UP 503把其存儲為一個本地副本,表示為TM 507’。
如下文更加詳細(xì)地描述,該UP 503可以隨意地初始化該TM 507’,以包含與特定用戶或用戶位置105相關(guān)的任何參數(shù)或變量。如果發(fā)現(xiàn)該標(biāo)題不被裝載到MD 601中,則它不被存儲在盤陣列207,然后DP 505調(diào)用裝載處理(LP)509,用于從庫存儲系統(tǒng)201訪問該標(biāo)題。該LP 509通過主干交換機203發(fā)送對該標(biāo)題的請求,并且?guī)齑鎯ο到y(tǒng)201檢索該數(shù)據(jù)的一個源介質(zhì)511,例如DVD、磁帶盒等等,并且把所選擇的介質(zhì)裝載到一個適當(dāng)讀取器(例如,磁帶驅(qū)動器、DVD播放器等等)。根據(jù)庫配置,該讀取器通過另一個處理器205或者通過主干交換機203,轉(zhuǎn)發(fā)用于由在處理器Pa 501上的LP 509所訪問的數(shù)據(jù)。該數(shù)據(jù)可以按照許多不同的方式來傳送,例如數(shù)據(jù)位流等等,并且可能來自遠(yuǎn)處和本地庫資源。
LP 509把該數(shù)據(jù)組織到在513處所示的一系列數(shù)據(jù)塊C1,C2,C3,Ci的陣列。每個數(shù)據(jù)塊對應(yīng)于與該數(shù)據(jù)相關(guān)的一個所選擇參數(shù),例如預(yù)定時序間隔或數(shù)據(jù)大小。在一個實施例中,例如每個數(shù)據(jù)塊Ci近似對應(yīng)于視頻數(shù)據(jù)的一秒。要被以4Mbps播放的視頻數(shù)據(jù)例如可以被分為對應(yīng)于一秒數(shù)據(jù)的近似500K位(Kb)的數(shù)據(jù)塊。該LP 509負(fù)責(zé)確定數(shù)據(jù)塊之間的適當(dāng)分割。對于MPEG-2數(shù)據(jù),例如,該數(shù)據(jù)被組織為I、P和B幀,這可以進一步被按照解碼次序而不是按照顯示次序提供。在MPEG-2的情況中,該LP 509確定圖像組(GOP),并且確定對應(yīng)于所選擇大小或時序間隔的GOP之間的適當(dāng)分割,例如每秒30個可顯示幀等等。
根據(jù)特定配置,LP 509可以進一步對數(shù)據(jù)塊的內(nèi)容執(zhí)行附加處理。這種處理例如可以包括把雙向鏈接表或標(biāo)簽和時序信息插入到該內(nèi)容中,用于快進(FF)、回倒(RW)和跳轉(zhuǎn)功能。這種功能可能為了實現(xiàn)用戶的個人視頻錄像機(PVR)所需的功能,從而用戶可以按照類似于VCR的方式來處理一個標(biāo)題,例如可以在觀看時或者為了延遲觀看對該內(nèi)容進行回倒、快進、暫停、記錄等等。例如,如圖所示,該數(shù)據(jù)塊C1-Ci被處理為數(shù)據(jù)塊C1’-Ci’,其根據(jù)所需執(zhí)行的處理,表示交替的數(shù)據(jù)。為了RAID的目的,可以進一步處理該數(shù)據(jù)塊C1’-Ci’,例如插入ECC數(shù)據(jù)等等。例如,如圖所示,該數(shù)據(jù)塊C1’和C2’被分別處理為數(shù)據(jù)塊C1’ECC(1-5)和C2’ECC(1-5),其中每個數(shù)據(jù)塊包括索引為1-5的連續(xù)的子塊,表示在相應(yīng)RAID的5個盤之間分配的RAID數(shù)據(jù)。
該LP 509查詢TM 507來確定每個數(shù)據(jù)塊要被存儲在何處。在盤陣列207中精確位置不一定被指定。在一個實施例中,該TM 507把第一數(shù)據(jù)塊C1’ECC(1-5)轉(zhuǎn)發(fā)到處理器Pb 515,該第二數(shù)據(jù)塊C2’ECC(1-5)轉(zhuǎn)發(fā)到處理器Pc 521,如此等等。應(yīng)當(dāng)知道,無論采用特殊的RAID盤機構(gòu)401,如果該數(shù)據(jù)塊盡可能均勻地轉(zhuǎn)發(fā)到每個RAID,則實現(xiàn)數(shù)據(jù)的最大分配。這可以通過在把第二數(shù)據(jù)塊發(fā)送到相同的RAID之前,把連續(xù)的數(shù)據(jù)塊轉(zhuǎn)發(fā)到每個其他RAID而實現(xiàn)。例如,在第二數(shù)據(jù)塊被轉(zhuǎn)發(fā)到RAID 1之前,前160個數(shù)據(jù)塊可以被發(fā)送到RAID 1-160。由于TM 507保持每個數(shù)據(jù)塊的位置的記錄,因此該數(shù)據(jù)塊不一定按照任何特定的RAID次序來分配。實際上,在一個配置中,根據(jù)任何適當(dāng)?shù)碾S機算法,隨機地分配該數(shù)據(jù)塊。該隨機算法例如可以是偽隨機數(shù),以保證數(shù)據(jù)被均勻地分配,其中下一個所選擇的RAID來自一個組,其中直到所有RAID被使用為止,有一個數(shù)據(jù)塊還沒有被存儲,并且重復(fù)該處理。另一方面,保持預(yù)定或連續(xù)的RAID次序可以提供預(yù)測能力的優(yōu)點或提高檢索效率。
該數(shù)據(jù)塊C1’ECC(1-5)被LP 509轉(zhuǎn)發(fā)到處理器Pb 515,其把數(shù)據(jù)塊C1’ECC(1-5)的子塊1-5在其RAID 519的盤驅(qū)動器之間分配。例如,5個子塊C1’ECC(1)、C1’ECC(2)、C1’ECC(3)、C1’ECC(4)、C1’ECC(5)在所示的RAID 519的5個盤驅(qū)動器之間分配。應(yīng)當(dāng)指出,由LP 509所產(chǎn)生的子塊的數(shù)目與該RAID的盤驅(qū)動器的數(shù)目相等,并且可以每個RAID可以使用任何適當(dāng)數(shù)目的盤驅(qū)動器。該ECC處理保證任何一個盤驅(qū)動器的數(shù)據(jù)可以由來自該RAID中的其他盤驅(qū)動器的數(shù)據(jù)來重構(gòu)。例如,一個子塊C1’ECC(3)可以從子塊C1’ECC(2,3,4,5)來重構(gòu)。數(shù)據(jù)塊C2’ECC(1-5)被LP 509轉(zhuǎn)發(fā)到處理器Pc 521,其按照上文對RAID 519所述的類似方式把數(shù)據(jù)塊C2ECC(1-5)的子塊在RAID 525的盤驅(qū)動器之間分配。對于該標(biāo)題的所有數(shù)據(jù)塊C1’ECC(1-5)重復(fù)該處理。
UP 503被通知,否則何時有數(shù)據(jù)可用于檢索或響應(yīng)該UTR轉(zhuǎn)發(fā)到請求的用戶位置105。例如,該UP 503可以監(jiān)視TM 507’,或者可以由DP 505通知該數(shù)據(jù)可用,或者簡單地提交請求并且等待要被傳送的數(shù)據(jù)。在一個實施例中,該UP 503等待直到整個標(biāo)題被訪問、處理和存儲在RAID中時為止。另外,只要預(yù)定量的標(biāo)題被存儲或者只要所請求數(shù)據(jù)被傳送,則該UP 503開始檢索和轉(zhuǎn)發(fā)數(shù)據(jù)。在任何情況中,該UP 503查詢TM 507’,并且通過提交連續(xù)的數(shù)據(jù)請求(DRQx)以及接收相應(yīng)的數(shù)據(jù)響應(yīng)(DRSx),而從所指示的處理器205請求每個數(shù)據(jù)塊,其中“x”為表示一個數(shù)據(jù)塊索引的整數(shù)(例如,DRQ1、DRQ2等等)。在一個實施例中,每個處理器205執(zhí)行本地檢索處理(RP),其與用于檢索被請求數(shù)據(jù)塊的相應(yīng)RAID相接。該RP接收一個數(shù)據(jù)請求DRQx,從本地RAID檢索被請求的數(shù)據(jù),并且轉(zhuǎn)發(fā)一個相應(yīng)的DRSx。如圖所示,該處理器Pb 515執(zhí)行RP 527,其接收一個數(shù)據(jù)請求DRQ1,從RAID519檢索該數(shù)據(jù)塊C1’ECC(1-5),以及以相應(yīng)的數(shù)據(jù)響應(yīng)DRS1作出響應(yīng)。并且,處理器Pc 521執(zhí)行一個RP 529,其接收數(shù)據(jù)請求DRQ2,從RAID525檢索數(shù)據(jù)塊C2’ECC(1-5),并且以一個相應(yīng)的數(shù)據(jù)請求DRQ2作出響應(yīng)。該UP 503接收該數(shù)據(jù)響應(yīng),并且把該數(shù)據(jù)塊轉(zhuǎn)發(fā)到請求的用戶位置105。該UP 503可以根據(jù)被檢索的數(shù)據(jù)類型執(zhí)行進一步的數(shù)據(jù)處理。例如,在一個實施例中,該UP 503包括一個MPEG解碼器613(圖6),其把MPEG-2數(shù)據(jù)從解碼次序重新組織為顯示次序,用于由在用戶位置105處的CPE所用。
在上文概括和描述的訪問、存儲和檢測處理特別適用于同步數(shù)據(jù),例如要被“執(zhí)行的”或者被在用戶位置105處的電視或電話或計算機等等實時使用的音頻/視頻數(shù)據(jù)。但是,應(yīng)當(dāng)知道,該輸出數(shù)據(jù)不限于同步數(shù)據(jù),而且還可以是突發(fā)、異步數(shù)據(jù),例如所檢索的數(shù)據(jù),用于由在計算機上執(zhí)行的瀏覽器來顯示。并且如果在用戶位置105處的CPE具有本地存儲器,則該處理可以按照類似的方式來操作,只是可以異步地進行傳送而不是同步傳送,并且可以按照不同于數(shù)據(jù)的顯示速率的數(shù)據(jù)率進行傳送。考慮許多變型和改變,而不脫離本發(fā)明的范圍。例如,如果必要的話,可以由除了用戶處理之外的一些其他處理來執(zhí)行重構(gòu)或解碼處理。由于具有到用于該標(biāo)題的重構(gòu)的每個子塊的分離數(shù)據(jù)路徑,因此在用戶處理時該重構(gòu)的可靠性應(yīng)當(dāng)最大。
圖5B為示出用于訪問和存儲被請求的標(biāo)題的示意分配裝載處理的方框圖。在該實施例中,如果DP 505發(fā)現(xiàn)在MD 601中的標(biāo)題沒有被裝載,則它調(diào)用主裝載處理(MLP)531。該MLP 531把一個請求發(fā)送到庫存儲系統(tǒng)201,并且按照類似于上文對于確定該數(shù)據(jù)塊被存儲于何處的類似方式查詢TM 507。不是把該數(shù)據(jù)檢索到處理器Pd 502,而是該MLP 531調(diào)用與控制構(gòu)成要存儲相應(yīng)數(shù)據(jù)子塊的每個RAID組的盤驅(qū)動器的處理器205進行通信的本地裝載處理(LLP)。例如,在該處理器Pb 515調(diào)用一個LLP 533,并且該數(shù)據(jù)塊C1被從源介質(zhì)511直接轉(zhuǎn)發(fā)到LLP 533。按照類似的方式,在該處理器Pc 521上調(diào)用一個LLP535,并且把數(shù)據(jù)塊C2從源介質(zhì)511直接轉(zhuǎn)發(fā)到LLP 535。如圖所示,可以對各個LLP 533、535執(zhí)行后續(xù)的處理,并且存儲在由MLP 531所控制的相應(yīng)RAID 519、525中。按照這種方式,不是在一個處理器上裝載和處理該數(shù)據(jù)塊,然后把該數(shù)據(jù)塊轉(zhuǎn)發(fā)到分配的處理器,從而需要兩次通過主干交換機203,而是把各個數(shù)據(jù)塊直接轉(zhuǎn)發(fā),并且由需要更小主干交換機203的帶寬的分布處理器直接處理。應(yīng)當(dāng)指出,即使數(shù)據(jù)可以直接提供到與處理器205相連接的DVD播放器,該主干交換機203仍然被用于把數(shù)據(jù)傳送到執(zhí)行LLP的一個適當(dāng)處理器205。
圖5C為示出用于使用分布的光盤驅(qū)動器219訪問和存儲被請求標(biāo)題的示意并列裝載處理的方框圖。該DP 505調(diào)用MLP 531,其把一個請求按照類似于上文所述的方式提交到庫存儲系統(tǒng)201。該庫存儲系統(tǒng)201選擇隨機或可用的一個分布的光盤驅(qū)動器219,例如與所示的處理器Pe 537相關(guān)。按照這種方式,該源介質(zhì)511在處理器Pe 537的本地。該MLP 531識別處理器Pe 537(例如由庫存儲系統(tǒng)201所通知)并且調(diào)用在處理器Pe 537上的一個LLP 539,用于按照類似于上文所述的方式裝載和存儲該標(biāo)題,例如把該數(shù)據(jù)塊分配到處理器Pb 515、Pc 521等等。由于所有數(shù)據(jù)通過該處理器,因此該RAID和ECC處理可選地和通常在處理器Pe 537上執(zhí)行。按照這種方式,減少對在主干交換機203上的帶寬的使用。
如本領(lǐng)域普通技術(shù)人員所公知,例如裝載處理509或531、檢索處理529等等這樣的任何給定處理可以在任何一個或多個處理器205上執(zhí)行。盡管圖5A-5C為了清楚起見示出在一個時刻通過各個處理器用整個數(shù)據(jù)塊操作的裝載和檢索處理,但是應(yīng)當(dāng)知道每個數(shù)據(jù)塊的數(shù)據(jù)子塊被分布在一個RAID組內(nèi),其跨過幾個處理器。因此,任何給定處理器可以在一個時刻僅僅對于給定存儲器或檢索處理讀出或?qū)懭胍粋€子塊。例如,盡管圖5A示出由處理器Pb 515所處理的數(shù)據(jù)塊C1’(1-5),因此每個獨立的數(shù)據(jù)子塊可以由與給定RAID組的相應(yīng)盤驅(qū)動器相關(guān)的獨立處理器所寫入或讀取。盡管每個處理器205可以控制對被連接的盤驅(qū)動器的數(shù)據(jù)讀寫,但是可以由在其他處理器上執(zhí)行的獨立處理來控制RAID功能(例如,RAID功能可以在系統(tǒng)功能中實際體現(xiàn)和隱含)。
圖6為示出由在處理器Pa 501上的用戶處理和在處理器Pd 502上執(zhí)行的DP 505的操作請求和檢索一個標(biāo)題的更加詳細(xì)的方框圖。類似的模塊或處理可以用相同的參考標(biāo)號所表示。按照類似于上文所述的方式,該用戶處理(UP)503接收UTR,并且轉(zhuǎn)發(fā)到在處理器Pd 502上執(zhí)行的DP 505。該DP 505包括MD 601,其進一步包括一個標(biāo)題列表603,該標(biāo)題列表603列出在庫存儲系統(tǒng)201中的所有可用標(biāo)題以及每個標(biāo)題的相應(yīng)位置。所有標(biāo)題保持被存儲并且可以在庫存儲系統(tǒng)201中獲得,以及可以進一步復(fù)制于該盤陣列207中。該MD 601還包括一個存儲文件604,其映射在包括空白空間的盤陣列207中的所有存儲器和每個標(biāo)題的位置。使用上述的裝載處理的任何配置,以前已經(jīng)被請求的標(biāo)題被檢索和存儲在盤陣列207中,并且由DP 505創(chuàng)建一個標(biāo)題映射,并存儲在MD 601中。當(dāng)前存儲在MD 601中的標(biāo)題映射被示出為DM605,每個DM 605具有各個標(biāo)題,示出為標(biāo)題1、標(biāo)題2、標(biāo)題3等等。在與存儲于盤陣列207中的每個標(biāo)題相關(guān)并且具有由DP 505參考的在MD 601中的DM 605的標(biāo)題列表603中制作一個項目。只要一個標(biāo)題被存儲在該盤陣列207中,則存在一個DM 605,因為它在MD 601中,并且進一步反映在標(biāo)題列表603中。應(yīng)當(dāng)指出,該DP 505被示出為位于任何一個處理器205或管理處理器210上的中央處理。在另一個實施例中,該DP 505可以是在處理器205上執(zhí)行的分配處理。但是如果需要的話,該MD 601將置于中央,以保持標(biāo)題和庫存儲系統(tǒng)201的其他數(shù)據(jù)的連續(xù)性和一致性。
在一個示意實施例中,根據(jù)最近最少使用(LRU)策略,該標(biāo)題被存儲在盤陣列207中。按照這種方式,一旦現(xiàn)有的標(biāo)題被存儲在盤陣列207中并且在MD 601中引用,則它保持在原處,直到在需要存儲空間用于新的標(biāo)題時以及在現(xiàn)有的標(biāo)題為MD 601中的最久的標(biāo)題參考時,被最近請求的標(biāo)題所改寫。該MD 601跟蹤存儲在歷史文件607中的盤陣列207內(nèi)的每個標(biāo)題的相對持續(xù)時間,當(dāng)該標(biāo)題被再次請求時,該標(biāo)題的持續(xù)時間被復(fù)位。被最近從庫存儲系統(tǒng)201裝載或者被再次從MD601請求的任何標(biāo)題變?yōu)樽罱臉?biāo)題,并且對于在MD 601中的每個標(biāo)題存儲對應(yīng)于它最后被請求的時間的一個持續(xù)時間參數(shù)。只要對于從庫存儲系統(tǒng)201裝載的一個新標(biāo)題,在盤陣列207中存在空存儲器,則使用空閑的存儲器,并且被裝載的標(biāo)題保持存儲在該盤陣列207中。但是,當(dāng)不再存在空閑存儲器時,該DP 505通過改寫在MD 601中的一個或多個最久的標(biāo)題而分配空間,以存儲新的標(biāo)題。當(dāng)在盤陣列207中的一個標(biāo)題被改寫時,其相關(guān)的DM 605被從MD 601中除去。并且,該位置參考被從標(biāo)題列表603除去,從而該標(biāo)題列表603表示該標(biāo)題僅僅位于庫存儲系統(tǒng)201中。如果再次要求改寫和擦除標(biāo)題,則它最近被從庫存儲系統(tǒng)201裝載。
如果一個被請求的標(biāo)題不存儲在盤陣列207中并且不在MD 601中引用,則該DP 505查詢存儲文件604和歷史文件607,以為新的標(biāo)題分配存儲空間,然后在MD 601中創(chuàng)建一個新的DM。如果該標(biāo)題已經(jīng)存儲在盤陣列207中,則一個標(biāo)題映射(TM)已經(jīng)存在于MD 601中。如圖所示,該UTR被轉(zhuǎn)發(fā)到DP 505,其定位或否則創(chuàng)建TM 507(被示出為“標(biāo)題4”)。然后,DP 505把TM 507的一個副本轉(zhuǎn)發(fā)到請求的處理器Pa 501,其存儲一個本地副本作為上文所述的TM 507’。
該UP 503根據(jù)其自身的操作參數(shù)和用戶合同對TM 507’的標(biāo)頭信息進行初始化。然后,該UP 503在TM 507’中查詢數(shù)據(jù)塊的位置,并且通過主干交換機203與管理該數(shù)據(jù)的其他處理器205的本地檢索處理(RP)(代表性地表示為609)協(xié)作,以檢索所存儲的數(shù)據(jù)塊。在所示的實施例中,該UP 503包括ECC解碼器611等等,用于把ECC編碼的格式轉(zhuǎn)換為實際數(shù)據(jù),而不包含冗余信息。該數(shù)據(jù)塊被作為子塊存儲在RAID的盤驅(qū)動器上,從而ECC解碼器611被用于通過除去冗余數(shù)據(jù)而重構(gòu)原始數(shù)據(jù)。應(yīng)當(dāng)指出給定RAID的多個盤驅(qū)動器可以具有可變的速度或響應(yīng)時間。按照這種方式,該本地609不需要作為單個數(shù)據(jù)塊來返回數(shù)據(jù),而是根據(jù)特定RAID的獨立盤驅(qū)動器的響應(yīng)時間作為一系列子塊來返回數(shù)據(jù)。并且,一個給定RAID的給定盤驅(qū)動器可能發(fā)生故障或者由于一些原因而不響應(yīng)。在任何一種情況中,采用ECC解碼器611的UP 503能夠使用非全部的確定的子塊來解碼正確的數(shù)據(jù)。例如,對于使用5個盤驅(qū)動器配置的RAID,該ECC解碼器611能夠使用5個數(shù)據(jù)的子塊中的任何4個來重構(gòu)原始數(shù)據(jù)。在一個實施例中,該ECC解碼器611自動再生原始數(shù)據(jù),而不是等待最后子塊的到達,以加速整個處理。
在所示的實施例中,該UP 503進一步包括一個MPEG解碼器613等等,如果需要的話用于把該數(shù)據(jù)重構(gòu)為顯示次序。例如,如果MPEG數(shù)據(jù)被訪問并且按照解碼次序存儲,則MPEG解碼器613把該數(shù)據(jù)重構(gòu)為顯示次序,然后把該數(shù)據(jù)發(fā)送到請求的用戶位置105。如上文所述,UP 503在一個實施例中以同步模式工作,其中到用戶位置105的數(shù)據(jù)流保持適當(dāng)?shù)乃俾?,以保證在用戶位置105的CPE的適當(dāng)操作。在其他實施例中,如果CPE包括本地存儲器,則該UP 503可以用異步模式操作,并且以充足的時間傳送每個數(shù)據(jù)塊,用于由CPE在用戶位置105進行正確的顯示。該UP 503被進一步配置為檢測來自用戶位置105的附加指令,例如回倒(RW)、暫?;蛘呖爝M(FF)命令,并且如果被處理器Pa 501所支持并且如果允許根據(jù)相應(yīng)的用戶協(xié)議,則相應(yīng)地更改數(shù)據(jù)流。例如,該UP 503可以通過分別響應(yīng)RW命令或FF命令而訪問在前或在后的數(shù)據(jù)而中斷當(dāng)前數(shù)據(jù)流并且在TM 507中向后或向前移動。
一組本地代理或處理615被示出為在Pa 501上執(zhí)行,其被提供在每個處理器205上。在一個實施例中,每個處理器205執(zhí)行一個或多個本地代理,其與在管理處理器210上執(zhí)行的相應(yīng)管理OSS、BSS、控制和計費功能和處理相接。在其他實施例中,該管理處理器210不被提供,并且管理、OSS、BSS、控制和計費功能和處理在一個或多個處理器205之間分配。該代理或處理615例如可以包括用于跟蹤與由處理器Pa 501所支持的每個用戶位置105相關(guān)的用戶活動。該本地業(yè)務(wù)處理跟蹤由處理器Pa 501所支持的所有用戶的用戶行為,用于計費等目的。作為一個代理,該本地業(yè)務(wù)代理與BSS 213相接,用于發(fā)送包含計費信息的用戶信息或者任何其他所需信息。一個本地業(yè)務(wù)代理可以執(zhí)行軟件代理的功能或者根據(jù)上述預(yù)定計費方案對于每個用戶位置105監(jiān)視和跟蹤計費信息。該計費信息被發(fā)送到控制系統(tǒng)215,用于轉(zhuǎn)發(fā)到BSS 213的計費系統(tǒng)217。
圖7為可以用作為上述TM 507的一個示意標(biāo)題映射TM的更加詳細(xì)的方框圖。該DM可以包括用于存儲標(biāo)題的標(biāo)題字段701以及用于存儲與特定用戶和/或相關(guān)的任何信息和/或與該用戶或用戶位置105相關(guān)的任何可用合同的合同參數(shù)和限制字段703。一些例子被示出,例如觀看時間周期值705、暫停時序值707、FF計數(shù)709和RW計數(shù)值711。該觀看時間周期值705可以被包含以表示用戶必須在請求之后主動觀看該標(biāo)題的最大時間量??梢园摃和r序值707,以表示如果用戶中斷他們的觀看,則該標(biāo)題可用而沒有進一步的費用的最大時間量??梢园琖計數(shù)值709、711,以分別或限制用戶必須執(zhí)行快進或回倒功能的次數(shù)。例如,“不許回倒”條款或者“不能回倒三次以上”條款可以包含在演播室合同中,其中該RW計數(shù)值711被分別用于防止回倒或者把回倒次數(shù)限制為三次。一個當(dāng)前數(shù)據(jù)指針713可以被包含,以存儲一個地址或指針,來標(biāo)記在被發(fā)送數(shù)據(jù)和要被發(fā)送的數(shù)據(jù)之間的位置,從而UP 503可以保持跟蹤數(shù)據(jù)的進程。提供一個數(shù)據(jù)段715來存儲數(shù)據(jù)塊地址或指針的列表,例如連續(xù)或鏈接的數(shù)據(jù)塊字段717的列表,包括例如數(shù)據(jù)塊數(shù)目、大小、位置(loc)等等這樣的信息。
應(yīng)當(dāng)知道所示的DM僅僅是示意性的,其中根據(jù)各種設(shè)計參數(shù)可以采用許多變型和配置或附加參數(shù)。該UP 503根據(jù)適當(dāng)?shù)目捎糜脩艉贤瑢M進行初始化,例如適當(dāng)?shù)奶囟ㄓ^看和暫停時序參數(shù)或者FF/RW計數(shù)值。當(dāng)前數(shù)據(jù)指針713被復(fù)位到0或者指向第一數(shù)據(jù)塊,以在開始時對觀看處理進行初始化。如果為了一個已經(jīng)存儲的標(biāo)題從另一個處理器205復(fù)制DM,則可能需要復(fù)位當(dāng)前數(shù)據(jù)指針713。
圖8為示出由IBS系統(tǒng)109所用的緩存和最近最少(LRU)策略用于標(biāo)題和數(shù)據(jù)的存儲和檢索的方框圖。該LRU策略被用于形成RAID的盤陣列207中,其中首先使用空白存儲空間,并且當(dāng)沒有空白空間時,首先改寫最舊的數(shù)據(jù)。該緩存策略保證數(shù)據(jù)被從最快的存儲器或在任何給定時間存儲的存儲位置中提取。該緩存策略是分級的,其中盤陣列207作為用于庫存儲系統(tǒng)201的數(shù)據(jù)“高速緩存”,并且被集中示出為存儲器823的處理器205的各自存儲器305作為用于盤陣列207的數(shù)據(jù)緩存??赡艽嬖诟郊拥膶樱缬糜诒镜刈x取子塊(還被基于LRU而管理)的大存儲器緩存,作為用于處理器205的各自CPU 303的緩沖存儲器的CPU 303的二級(L2)緩存。一級緩存一般被包含在各個CPU中,并且沒有示出或描述。該各個CPU 303被集中示出為CPU 827,并且L2高速緩存被集中示出為L2高速緩存825。每個用戶流的輸出緩存還可以被用于在需要時緩沖由峰值所造成的來自存儲器的任何速率變化,但是只要用戶處理結(jié)束,這些緩沖器被放棄。
標(biāo)題請求801的一個堆棧是由用戶為標(biāo)題啟動的UTR的示意表示,其分別被標(biāo)記為“A”、“B”、“C”、“D”和“E”。存儲器表示815是被示出為能夠僅僅存儲多達5個相等尺寸的標(biāo)題的盤陣列207的集中存儲容量。當(dāng)然,在一個實際配置中,該盤陣列207的存儲容量非常大并且該標(biāo)題是可變尺寸的。前5個標(biāo)題A-E被示出為存儲在由存儲器表示815所示出的連續(xù)位置處。該表示再次被簡化,使得每個標(biāo)題被實際在RAID之間細(xì)分和分配。首先注意該盤陣列207最初是空閑的,從而每個標(biāo)題A-E必須從庫存儲系統(tǒng)201檢索,導(dǎo)致在IBS系統(tǒng)109中具有最大的數(shù)據(jù)檢索延遲。還應(yīng)當(dāng)指出,第一組被檢索的標(biāo)題中的每一個標(biāo)題被存儲在空白數(shù)據(jù)位置,而不是改寫現(xiàn)有的標(biāo)題,從而只要可能的話,根據(jù)LRU策略,每個標(biāo)題保留在盤陣列207中。
在方框805示出的下一個被請求的標(biāo)題“B”已經(jīng)被存儲器表示815所存儲因此可以從盤陣列207的RAID檢索而不是從庫存儲系統(tǒng)201檢索。按照這種方式,只要一個標(biāo)題保持完全存儲在盤陣列207中,則可以非??斓貦z索,因為該盤陣列207比庫存儲系統(tǒng)201快得多。當(dāng)在處理器的存儲器中緩存一個標(biāo)題時,可以比從盤陣列207快幾個量級地執(zhí)行檢索。這對于在方框807所示的下一個被請求標(biāo)題“C”同樣正確,因為它已經(jīng)被存儲在由存儲器表示815所示的盤陣列207中,并且不需要再次從庫存儲系統(tǒng)201中檢索。應(yīng)當(dāng)指出,只要標(biāo)題保持存儲在盤陣列207中,則為每個標(biāo)題創(chuàng)建和存儲在MD 601中的DM保持有效。在MD 601中的DM的“主”副本被復(fù)制到請求相同標(biāo)題的任何處理器205。因此,用于標(biāo)題B和C的原始DM被復(fù)制并且重新使用,使得標(biāo)題B和C保持在盤陣列207中的時間比僅僅被請求一次的情況更長。一個附加的部分?jǐn)?shù)據(jù)策略可以可選地使用,使得在盤陣列207中部分均勻地存儲的標(biāo)題被重新使用,而不是從庫存儲系統(tǒng)201中檢索整個標(biāo)題。例如,在該部分?jǐn)?shù)據(jù)配置中,即使標(biāo)題B或C在存儲器表示815中被部分地改寫,則當(dāng)從庫存儲系統(tǒng)201檢索被擦除部分時,現(xiàn)有的部分可以被使用。這種部分?jǐn)?shù)據(jù)策略將需要附加的數(shù)據(jù)跟蹤和管理功能。
當(dāng)在盤陣列207中沒有空白的存儲空間時,新的標(biāo)題F接著被請求,如809所示。在盤陣列207中的最舊的數(shù)據(jù)是標(biāo)題A,從而新的標(biāo)題F根據(jù)由新的存儲表示817所示的LRU策略替換舊標(biāo)題A。該標(biāo)題B、C、D和E保持與新的標(biāo)題F一同存儲在盤陣列207中。一個新的標(biāo)題G接著被請求,如811所示,其必須再次替換在盤陣列207中的最舊的數(shù)據(jù),這是由包含標(biāo)題F,B,C,G和E的新存儲表示819所示的標(biāo)題D。該標(biāo)題A被再次請求,如在813所示。由于用于標(biāo)題A形成該原始請求的數(shù)據(jù)已經(jīng)被改寫并且不再存在于盤陣列207內(nèi),因此它被作為一個新的標(biāo)題,以替換存儲在盤陣列207中的最舊的數(shù)據(jù)。按照這種方式,新的標(biāo)題A替換在盤陣列207中的最舊標(biāo)題E,如新的存儲表示821所示。應(yīng)當(dāng)知道在允許數(shù)據(jù)被新的標(biāo)題所改寫之前,只要可能的話,該LRU策略在盤陣列207中存儲數(shù)據(jù)。
該CPU 827執(zhí)行處理標(biāo)題數(shù)據(jù)的處理829,包括用戶處理(UP)和用于從盤陣列207檢索數(shù)據(jù)的本地RP處理。該CPU 827通常使用存儲器823來操作,從而在轉(zhuǎn)發(fā)到主干交換機203和/或到用戶位置105之前,從盤陣列207檢索的數(shù)據(jù)首先被存儲在本地存儲器823內(nèi)。并且,該CPU 827可以包括L2高速緩存825,其允許更快和更加有效地執(zhí)行數(shù)據(jù)檢索。CPU 827首先從L2高速緩存825(如果存在的話)自動檢索由由處理829所請求的數(shù)據(jù),然后從存儲器823檢索(如果存在的話),最后從盤陣列207檢索。如果數(shù)據(jù)還沒有存儲在盤陣列207中,則DP 505調(diào)用裝載處理509或者MLP 531,用于把標(biāo)題從庫存儲系統(tǒng)201檢索到盤陣列207,如上文所述。按照這種方式,存儲器823和L2高速緩存825作為在盤陣列207之上的緩存層。該存儲器823和L2高速緩存825通常根據(jù)LRU策略而工作,從而數(shù)據(jù)被保持在這些存儲器中,直到被新的數(shù)據(jù)所改寫時為止。根據(jù)該LRU策略,當(dāng)RAM緩存區(qū)充滿并且讀取新數(shù)據(jù)時,在RAM中的最久的數(shù)據(jù)段被新的內(nèi)容所擦除,其按照類似于在盤陣列207中所用的LRU策略的方式重新使用存儲器區(qū)域。按照這種方式,利用LRU和緩存,如果被請求的數(shù)據(jù)最近還沒有被讀取,即仍然在RAM中,則它被從RAM中提供,而不需要訪問盤陣列207,并且如果它仍然在盤陣列207中,則它被從盤陣列207提供,而不是從庫存儲系統(tǒng)201訪問。應(yīng)當(dāng)知道,最流行的標(biāo)題更加可能被保留在存儲器或者磁盤驅(qū)動器中,因此比不經(jīng)常被請求的不太流行的標(biāo)題顯著地增快檢索。
圖9為示出根據(jù)本發(fā)明一個實施例的鏡像處理的方框圖。第一處理器Pa 901執(zhí)行使用第一標(biāo)題映射TM1 905的第一用戶處理UP1 903。第二處理器Pb 907對UP1執(zhí)行鏡像用戶處理,示出為UP1鏡像909,其使用一個鏡像標(biāo)題映射TM1鏡像911。在該配置中,對于在一個處理器上執(zhí)行的每個正常用戶處理,在另一個處理器上執(zhí)行鏡像用戶處理。并且,當(dāng)從MD 601復(fù)制目錄處理時,還在由該鏡像用戶處理所控制的鏡像處理器上執(zhí)行復(fù)制。只要UP1 903被正常操作,則UP1鏡像909僅僅模仿或反映UP1 903,并且執(zhí)行相對較小的處理。特別地,在其他鏡像功能中,UP1鏡像909僅僅跟蹤UP1 903的進程,例如由DM1鏡像911模擬在DM1 905中的當(dāng)前數(shù)據(jù)位置。按照這種方式,由處理器Pb 907所執(zhí)行用于實現(xiàn)鏡像處理UP1鏡像909和DM1鏡像911的處理器Pb 907執(zhí)行的額外處理量被最小化。按照類似的方式,處理器Pb 907執(zhí)行第二用戶處理UP2 913,其使用第二標(biāo)題映射DM2 915。該第一處理器Pa 901對UP2執(zhí)行鏡像用戶處理,示出為UP2鏡像917,其使用一個鏡像指示器映射DM2鏡像919。只要UP2 913正常操作,則在其他鏡像功能中,UP2鏡像917僅僅模仿或模擬或者跟蹤UP2 913的進程。
按照這種方式,應(yīng)當(dāng)知道,該處理器Pa 901和Pb 907對于至少一個用戶處理相互跟蹤。盡管沒有明確示出,但是在例如處理器Pa 901這樣的一個給定處理器上執(zhí)行的每個用戶處理由在另一個處理器205上的鏡像處理所模仿,并且不一定是相同的處理器。例如,如果處理器Pa 901執(zhí)行250個用戶處理,則在其他處理器205上分配250個鏡像處理,或者否則在至少一個其他處理器上執(zhí)行,例如處理器Pb 907。并且,該處理器Pa 901可以對在另一個處理器205上執(zhí)行的另一個用戶處理執(zhí)行至少一個鏡像處理,否則執(zhí)行多達250或更多的鏡像處理,假設(shè)每個處理器205都負(fù)責(zé)多達250個用戶處理。在一個實施例中,在例如處理器Pa 901這樣的給定處理器上執(zhí)行的所有用戶處理被一個其他處理器所鏡像,例如處理器Pb 907,反之亦然。
一個脈動信號HB1被從處理器Pa 901提供到處理器Pb 907。該HB1信號可以由軟件處理、硬件處理或者兩者的結(jié)合來產(chǎn)生。例如,該HB1信號可以直接與在處理器Pa 901上執(zhí)行的用戶處理UP1 903相關(guān),或者可以與在處理器Pa 901上執(zhí)行的所有用戶處理相關(guān)。另外,該HB1信號可以是硬件相關(guān)的并且由處理器Pa 901或其CPU來產(chǎn)生。該HB1信號是一個周期性或連續(xù)的信號,其通常用于表示始發(fā)計算機的狀態(tài)。例如,只要該HB1信號由處理器Pa 901周期或連續(xù)產(chǎn)生(或者否則連續(xù)取消),則處理器Pb 907認(rèn)為處理器Pa 901正常操作并且繼續(xù)鏡像其進程。但是,如果HB1信號表示失敗,例如當(dāng)處理器Pa 901在預(yù)定的時間段內(nèi)沒有獲得HB1信號,或者當(dāng)HB1信號被取消或確認(rèn)(例如接地信號或者開路硬件信號),則該處理器Pb 907認(rèn)為處理器Pa 901的相關(guān)處理失敗,并且處理器Pb 907激活用戶處理UP1鏡像909來取代原用戶處理UP1 903。由于UP1鏡像909保持跟蹤UP1 903,則UP1鏡像909幾乎準(zhǔn)確地在UP1 903停用之處以透明的方式立即取代,從而在相應(yīng)用戶位置105的終端用戶沒有感覺到服務(wù)中斷。HB1信號的時序被設(shè)計為允許鏡像處理UP1鏡像909,以保證UP1 903的服務(wù)的控制,而不中斷服務(wù)。由處理器Pb 907產(chǎn)生給處理器Pa 901的另一個脈動信號HB2按照類似的方式工作,以保證在處理器Pb 907上執(zhí)行的一個或多個處理發(fā)生故障或者處理器Pb 907本身發(fā)生故障時,鏡像處理UP2鏡像917取代主處理UP2 913的處理。用于該脈動信號的一種格式是表示在被顯示的文件中的主要處理的位置的一個數(shù)值,因此作為脈動和狀態(tài)的指示符。
在一個實施例中,在處理器Pa 901上執(zhí)行的所有第一用戶處理被在處理器Pb 907上的相應(yīng)鏡像處理所鏡像,反之亦然。在該實施例中,該處理器205都是成對的,使得主處理器鏡像該對中的第二處理器,反之亦然。按照類似的方式,該鏡像處理器的鏡像處理在任何處理器205發(fā)生故障時采用主處理責(zé)任。一系列類似的交換機921中的相應(yīng)一個交換機被提供在每對處理器205的輸出端,以透明和自動地在主和鏡像處理之間交換。如圖所示,該處理器Pa 901的輸出耦合到端口927,并且處理器Pb 907的輸出耦合到交換機921的端口929。交換機921的第三端口931耦合到用于處理器Pa 901的調(diào)制器/解調(diào)器MDa 923,并且另一個端口933耦合到用于處理器Pb 907的調(diào)制器/解調(diào)器MDb 925。該交換機921是基于地址的,例如一個4端口以太網(wǎng)交換機等等,其中每個端口927-933以1Gbps或更多的速率工作。
在正常操作過程中,由處理器Pa 901所保存的數(shù)據(jù)被發(fā)送到MDa923,使得進入端口927的數(shù)據(jù)被交換機921轉(zhuǎn)發(fā)到端口931。類似地,在正常操作過程中,由處理器Pb 907所給出的數(shù)據(jù)被發(fā)送到MDb 925,使得進入端口929的數(shù)據(jù)被交換機921轉(zhuǎn)發(fā)到端口933。在處理器Pb 907發(fā)生故障的情況下,HB2信號包括這種故障,從而鏡像處理UP2鏡像917取代主處理UP2 913。該鏡像處理UP2鏡像917把數(shù)據(jù)提供到交換機921的端口927,但是仍然尋址到MDb 925,從而交換機921自動把數(shù)據(jù)轉(zhuǎn)發(fā)到其端口933,而不是端口931。由第一用戶處理UP1 903所提供數(shù)據(jù)繼續(xù)尋址到MDa 923,從而進入端口927的數(shù)據(jù)仍然被交換機921轉(zhuǎn)發(fā)到端口931。按照這種方式,處理器Pb 907的故障基本上對于與處理UP1 903和UP2 913相關(guān)的用戶位置105。按照類似的方式,在第一處理器Pa 901發(fā)生故障的情況中,該鏡像處理UP1鏡像909把失敗的主用戶處理UP1 903和到MDa 923的主原始數(shù)據(jù),其被交換機921從端口929轉(zhuǎn)發(fā)到端口931。按照這種方式,第一處理器Pa 901的故障基本上對于與處理UP1 903和UP2 913相關(guān)的用戶位置105來說基本上是透明的。
還應(yīng)當(dāng)注意,該交換機921自動處理上游用戶數(shù)據(jù),使得被激活的鏡像處理接收從正確的用戶位置105發(fā)送的任何用戶數(shù)據(jù)。具體來說,如果鏡像處理UP2鏡像917被激活以取代主處理UP2 913,則對于失敗的主處理UP2 913,發(fā)送到MDb 925尋址到處理器Pb 907的數(shù)據(jù)被交換機921自動地從端口933轉(zhuǎn)發(fā)到端口927,并且被鏡像處理UP2鏡像917所接收。類似地,如果鏡像處理UP1鏡像909被激活以取代鏡像處理UP1 903,則對于失敗的主處理UP1 903,發(fā)送到MDa 923尋址到處理器Pa 901的數(shù)據(jù)被交換機921自動從端口931轉(zhuǎn)發(fā)到端口929,并且被鏡像處理UP1鏡像909所接收。
進一步指出如果處理器Pa 901與處理器Pb 907鏡像成對,則在處理器Pa 901(或Pb 907)發(fā)生故障時,其他處理器Pb 907(或Pa 901)負(fù)責(zé)發(fā)生故障的處理器的所有用戶處理。按照這種方式,該鏡像處理器立即負(fù)責(zé)這兩個處理器的所有用戶的所有數(shù)據(jù)處理任務(wù)。應(yīng)當(dāng)指出盡管已經(jīng)參照用戶處理描述該鏡像處理,但是鏡像處理允許用于與用戶服務(wù)相關(guān)的其他處理功能,例如RAID控制器、檢索處理、裝載處理、目錄處理、業(yè)務(wù)處理等等。如果在高使用率過程中,例如在高峰時間過程中,出現(xiàn)故障,并且如果處理器205不被設(shè)計為處理這種處理器對的組合的全部處理,則剩余的處理器可能(或可以)處理用于這兩個處理器的全部處理功能。
考慮在給定處理器205負(fù)擔(dān)過重的情況時,例如在另一個處理器發(fā)生故障的情況,適度地出現(xiàn)服務(wù)質(zhì)量下降。在正常環(huán)境下,過量的網(wǎng)絡(luò)帶寬可以用于“Barker信道”、預(yù)覽和可用位率異步業(yè)務(wù)。如果出現(xiàn)故障并且該鏡像處理不能接替所有當(dāng)前處理,則Barker信道或者預(yù)覽從視頻轉(zhuǎn)換為靜止圖像,或者轉(zhuǎn)向其他服務(wù),例如商業(yè)信息片商業(yè)電視節(jié)目等等。ABR業(yè)務(wù)量可能大大地減小。如果處理器205的大部分帶寬被用于非收入型服務(wù),例如在出現(xiàn)緊急情況時首先被取消的服務(wù)。作為一種最后的手段,客戶數(shù)據(jù)流被按照優(yōu)先權(quán)而中斷,例如先來先服務(wù)(FCFS)或者保持更高收入的數(shù)據(jù)流等等。在一個實施例中,例如,嘗試負(fù)責(zé)兩個處理器的鏡像處理器確定不能夠接替故障處理器的整個處理能力,則該鏡像處理器有選擇地僅僅負(fù)責(zé)它在此時能夠負(fù)責(zé)的處理。例如,該鏡像處理器可以僅僅根據(jù)FCFS等等取用戶處理的一個子集。按照這種方式,許多用戶不會感覺到服務(wù)中斷。
應(yīng)當(dāng)指出,根據(jù)數(shù)據(jù)的類型以及根據(jù)IBS系統(tǒng)109的處理能力,該標(biāo)題和信息可以用各種格式存儲在庫存儲系統(tǒng)201中。并且,在裝載和存儲處理過程中或者在檢索和傳送處理過程中,該數(shù)據(jù)由一個或多個處理。在此已經(jīng)給出多個例子,例如把MPEG-2數(shù)據(jù)從解碼次序轉(zhuǎn)換為顯示次序,為RAID存儲產(chǎn)生ECC信息,添加標(biāo)簽和時序信息以便于能夠執(zhí)行PVR(例如,快進、回倒、暫停)等等。但是可以添加其他信息和內(nèi)容,例如用于添加要在顯示過程中顯示或使用的商業(yè)廣告、元數(shù)據(jù)或附加信息的拼接內(nèi)容、合同義務(wù)(例如,結(jié)束日期等等)。許多附加信息可以被包含到每個數(shù)據(jù)塊的標(biāo)頭。
在一個示意實施例中,該標(biāo)題可以被預(yù)先記錄為一種所選擇的格式,用于在庫存儲系統(tǒng)201中存儲,以包含一些或所有附加信息,并且減小或消除在請求該標(biāo)題并且裝載到盤陣列207時的后期處理。用于元數(shù)據(jù)的一個示意格式是擴展標(biāo)識語言(XML),以MPEG-7標(biāo)準(zhǔn)為例。在一種配置,一個或多個處理器205包括用于把所接收內(nèi)容存儲為所需格式的處理和記錄能力。另外,提供獨立的記錄臺(未示出),用于把來自第三方的內(nèi)容從給定或標(biāo)準(zhǔn)格式轉(zhuǎn)換為由IBS系統(tǒng)109所使用的所需格式。按照這種方式,該數(shù)據(jù)可以被重新組織并且進一步用包括ECC信息的RAID格式預(yù)處理,然后以所需格式存儲。按照這種方式,當(dāng)所處理的數(shù)據(jù)被從庫存儲系統(tǒng)201裝載,存儲在盤陣列207中和/或由用戶處理從盤陣列207提取時,附加處理被大大地減少。
應(yīng)當(dāng)指出,根據(jù)所存儲的數(shù)據(jù)類型,存儲在庫存儲系統(tǒng)201中的每個標(biāo)題與相應(yīng)的帶寬或數(shù)據(jù)率相關(guān)。按照這種方式,該IBS系統(tǒng)109以在小于1Mbps至大于20Mbps之間可變的數(shù)據(jù)率處理可變內(nèi)容。并且,在IBS系統(tǒng)109中的每個部件具有在任何時間都不超過的預(yù)定的最大帶寬容量。例如,主干交換機203和每個處理器205具有與其相關(guān)的給定最大帶寬。由于被處理的數(shù)據(jù)具有可變數(shù)據(jù)率,因此該數(shù)據(jù)在該系統(tǒng)中的一個點處堆積在一起,導(dǎo)致過載或瓶頸。從庫存儲系統(tǒng)201到盤陣列207的隨機或偽隨機的數(shù)據(jù)存儲應(yīng)當(dāng)減輕帶寬堆積問題,盡管該問題不能夠用隨機算法完全解決。
在管理處理器210處集中執(zhí)行或者在處理器205之間分布的管理功能管理該帶寬,以避免帶寬堆積和潛在的輸出瓶頸,這可能造成過載狀態(tài)。在一個實施例中,該管理功能跟蹤在每個部件的帶寬使用,并且進一步跟蹤與每個所請求標(biāo)題相關(guān)的附加帶寬。當(dāng)發(fā)出每個標(biāo)題請求時,該管理功能把當(dāng)前帶寬和用于添加新標(biāo)題所需的附加帶寬相比較,并且把新的帶寬要求與在任何給定點的最大帶寬參數(shù)相比較。這種帶寬跟蹤還考慮到隨時間變化的帶寬需求,以避免或使得潛在可能超過最大帶寬參數(shù)的帶寬使用高峰最小化。在一個實施例中,該管理功能采用潛在或延遲增量來避免潛在過載狀態(tài)。按照這種方式,如果管理功能識別一個過載狀態(tài),則新的標(biāo)題請求不被立即發(fā)出,并且該管理在添加延遲增量之后重新計算帶寬使用。如果仍然出現(xiàn)過載狀態(tài),則該管理功能繼續(xù)使用附加延遲增量進行重新計算,直到消除任何確定的過載狀態(tài)或者使其最小化。按照這種方式,在所計算的延遲增量數(shù)之后,發(fā)出新的標(biāo)題,以消除或使得過載狀態(tài)最小化。在一種配置中,如果不能夠避免過度使用帶寬,則新的標(biāo)題可以被無限地延遲。另外,在特定延遲之后的帶寬使用高峰被最小化,該管理功能期望所有過度過載狀態(tài)和重新分配帶寬,以隨時間擴展該處理,并且消除過載狀態(tài)。例如,可以執(zhí)行附加的預(yù)處理或者可以采用分布處理以避免過載狀態(tài)。
盡管本發(fā)明已經(jīng)參照包括優(yōu)選方案的特定實施例進行描述,但是可以考慮其他變型和改進。本發(fā)明要覆蓋可以合理地包含在本發(fā)明的精神和思想中的這種變型、更改和等價替換。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)知道,可以容易地使用所公開的思想和特定實施例作為用于設(shè)計或更改其他實現(xiàn)本發(fā)明的目的的其他結(jié)構(gòu),而不脫離由所附權(quán)利要求定義的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種交互式寬帶服務(wù)器系統(tǒng),其中包括多個處理器;主干交換機,其耦合到所述多個處理器,以在所述多個處理器的每一個之間進行高速通信;多個存儲設(shè)備,其耦合到所述多個處理器并且在該處理器之間分配;所述多個存儲設(shè)備存儲至少一個標(biāo)題,每個標(biāo)題被分為數(shù)據(jù)塊,該數(shù)據(jù)塊被在所述存儲設(shè)備中的兩個或更多設(shè)備上分配;以及用于在與多個用戶位置相接的所述多個處理器上執(zhí)行的多個用戶處理,每個用戶處理有效地通過所述主干交換機從所述多個處理器中的兩個或更多處理器檢索所請求的標(biāo)題,并且把所述請求的標(biāo)題組合,以傳送到一個請求用戶位置。
2.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個存儲設(shè)備被組織到多個RAID組,并且每個存儲的標(biāo)題的數(shù)據(jù)塊在所述多個RAID組上分配。
3.根據(jù)權(quán)利要求2所述的交互式寬帶服務(wù)器系統(tǒng),其中每個數(shù)據(jù)塊被進一步分為在多個RAID組之一上分配的多個子塊。
4.根據(jù)權(quán)利要求2所述的交互式寬帶服務(wù)器系統(tǒng),其中在所述多個用戶處理之間分配RAID組檢索和組合功能。
5.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中每個所述用戶處理通過所述主干交換機轉(zhuǎn)發(fā)標(biāo)題的請求,并且接收指定所述請求的標(biāo)題的數(shù)據(jù)塊的位置的一個標(biāo)題映射,并且使用所述標(biāo)題映射來通過所述主干交換機從所述多個存儲設(shè)備檢索所述數(shù)據(jù)塊。
6.根據(jù)權(quán)利要求5所述的交互式寬帶服務(wù)器系統(tǒng),其中每個所述標(biāo)題映射確定一個標(biāo)題的每個數(shù)據(jù)塊被存儲在所述多個存儲設(shè)備中。
7.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括用于存儲至少一個標(biāo)題的至少一個存儲源;以及在所述多個處理器的至少一個處理器上執(zhí)行的至少一個裝載處理,每個所述裝載處理被配置為從所述至少一個存儲源檢索一個標(biāo)題,以把所述標(biāo)題分為數(shù)據(jù)塊,并且通過所述多個處理器和所述主干交換機把所述數(shù)據(jù)塊在所述多個存儲設(shè)備上分配。
8.根據(jù)權(quán)利要求7所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括在所述多個處理器的至少一個處理器上執(zhí)行的至少一個檢索處理,每個所述檢索處理被配置為從一個被請求的標(biāo)題的所述多個存儲設(shè)備檢索所述數(shù)據(jù)塊,并且把檢索的數(shù)據(jù)塊轉(zhuǎn)發(fā)到一個請求的用戶處理。
9.根據(jù)權(quán)利要求7所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括執(zhí)行目錄處理的所述多個處理器中的至少一個處理器,其包括一個主目錄,其進一步包括對于存儲在所述多個存儲設(shè)備中的每個標(biāo)題的標(biāo)題映射,每個存儲設(shè)備包括定位相應(yīng)標(biāo)題的每個數(shù)據(jù)塊的標(biāo)題映射。
10.根據(jù)權(quán)利要求9所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括所述目錄處理從所述多個用戶處理中的任何一個處理接收標(biāo)題請求,以在所述多個存儲設(shè)備中分配存儲空間,以創(chuàng)建相應(yīng)的標(biāo)題映射,以調(diào)用裝載處理來把所述被請求標(biāo)題的一個副本從所述至少一個存儲源傳送到所述多個存儲設(shè)備,以及把標(biāo)題映射轉(zhuǎn)發(fā)到所述多個用戶處理中的任何一個處理;以及所述裝載處理根據(jù)相應(yīng)的標(biāo)題映射存儲每個所述數(shù)據(jù)塊。
11.根據(jù)權(quán)利要求9所述的交互式寬帶服務(wù)器系統(tǒng),其中當(dāng)在所述多個存儲設(shè)備中分配存儲空間時,所述目錄處理采用最近最少使用的(LRU)策略。
12.根據(jù)權(quán)利要求9所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個存儲設(shè)備被組織到多個RAID組,并且其中每個所存儲的標(biāo)題的數(shù)據(jù)塊在所述多個RAID組上均勻分配。
13.根據(jù)權(quán)利要求7所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個存儲源包括多個介質(zhì)讀取器,每個讀取器耦合到所述多個處理器中的一個相應(yīng)處理器,并且被配置為接收存儲至少一個標(biāo)題的存儲介質(zhì)。
14.根據(jù)權(quán)利要求13所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個介質(zhì)讀取器中的每一個包括一個光盤驅(qū)動器。
15.根據(jù)權(quán)利要求13所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個存儲源包括一個庫存儲系統(tǒng),其包括用于存儲多個標(biāo)題的多個存儲介質(zhì),所述庫存儲系統(tǒng)被配置為通過主干交換機接收標(biāo)題請求,并且把一個相應(yīng)的存儲介質(zhì)裝載到所述多個介質(zhì)讀取器中的任何一個中。
16.根據(jù)權(quán)利要求13所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個處理器中的每一個包括具有PC組件的個人計算機(PC)系統(tǒng),其中包括耦合到所述多個存儲設(shè)備中的至少一個的第一外圍接口,耦合到所述多個介質(zhì)讀取器之一的第二外圍接口,耦合到所述主干交換機的一個端口的第三外圍接口,以及用于在所述多個用戶位置的至少一個位置處相接的第四外圍接口。
17.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個存儲器包括運轉(zhuǎn)操作支持系統(tǒng)和業(yè)務(wù)支持系統(tǒng)的管理處理器。
18.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中所述主干交換機包括一個以太網(wǎng)交換機。
19.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中至少一個標(biāo)題被預(yù)處理并且以預(yù)定格式存儲,以減小裝載和處理開銷。
20.根據(jù)權(quán)利要求19所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個標(biāo)題被預(yù)加密,包括預(yù)先計算的冗余信息,并且包括傳輸協(xié)議。
21.根據(jù)權(quán)利要求1所述的交互式寬帶服務(wù)器系統(tǒng),其中在一個處理器上執(zhí)行的多個處理中的至少一個處理被鏡像在另一個處理器上。
22.根據(jù)權(quán)利要求21所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個處理器中的每一個產(chǎn)生到一個鏡像處理器的脈動信號。
23.根據(jù)權(quán)利要求22所述的交互式寬帶服務(wù)器系統(tǒng),其中每個所述脈動信號是表示在被傳送到一個用戶位置的標(biāo)題中的主處理的一個位置并且作為脈動和狀態(tài)指示符的一個數(shù)值。
24.根據(jù)權(quán)利要求21所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括輸出交換機,其具有耦合到第一處理器的輸出端的第一端口,用于與由所述第一處理器所支持的第一用戶位置相接的第二端口,耦合到鏡像所述第一處理器的第二處理器的輸出端的第三端口,以及用于與由所述第二處理器所支持的第二用戶位置相接的第四端口。
25.一種交互式寬帶服務(wù)器系統(tǒng),其中包括主干交換機,其包括多個雙向端口;盤陣列,其包括多個盤驅(qū)動器,所述盤陣列存儲細(xì)分為在所述盤陣列上分配的多個數(shù)據(jù)塊的多個標(biāo)題;多個處理器,每個處理器具有多個接口,包括耦合到所述主干交換機的一個端口的第一接口,耦合到所述驅(qū)動器陣列的至少一個盤驅(qū)動器的第二接口,以及用于耦合到與多個用戶設(shè)備相接的網(wǎng)絡(luò)的第三接口;以及用于在所述多個處理器上執(zhí)行的多個處理,所述多個處理使得每個處理器從所述多個處理器中的兩個或更多處理器檢索被請求的標(biāo)題的多個數(shù)據(jù)塊,以組合所述被請求的標(biāo)題,并且通過所述第三接口發(fā)送所述被請求的標(biāo)題。
26.根據(jù)權(quán)利要求25所述的交互式寬帶服務(wù)器系統(tǒng),其中所述盤陣列被組織為多個RAID組,并且所述每個存儲的標(biāo)題的所述數(shù)據(jù)塊被在所述多個RAID組上分配。
27.根據(jù)權(quán)利要求26所述的交互式寬帶服務(wù)器系統(tǒng),其中每個RAID組包括多個盤驅(qū)動器,每個盤驅(qū)動器耦合到所述多個處理器中的不同處理器。
28.根據(jù)權(quán)利要求27所述的交互式寬帶服務(wù)器系統(tǒng),其中每個數(shù)據(jù)塊被進一步分為多個子塊,其中每個子塊被存儲在RAID組的獨立的盤驅(qū)動器中。
29.根據(jù)權(quán)利要求25所述的交互式寬帶服務(wù)器系統(tǒng),其中多個標(biāo)題中的每一個包括同時通過所述多個處理器的相應(yīng)第三接口傳送到相應(yīng)的多個用戶設(shè)備的同步數(shù)據(jù)內(nèi)容。
30.根據(jù)權(quán)利要求25所述的交互式寬帶服務(wù)器系統(tǒng),其中進一步包括多個介質(zhì)讀取器;所述多個處理器中的每一個的所述多個接口進一步包括耦合到所述多個介質(zhì)讀取器之一的第四接口;以及庫存儲系統(tǒng),其耦合到所述主干交換機的一個端口,所述庫存儲系統(tǒng)包括集中存儲多個標(biāo)題的多個存儲介質(zhì),所述庫存儲系統(tǒng)被配置為通過所述主干交換機接收一個標(biāo)題請求并且在所述多個介質(zhì)讀取器的任何一個可用介質(zhì)讀取器上裝載一個相應(yīng)的存儲介質(zhì)。
31.根據(jù)權(quán)利要求30所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個處理包括至少一個裝載處理,其被配置為從一個介質(zhì)讀取器檢索一個標(biāo)題,把所述標(biāo)題分為數(shù)據(jù)塊,以及通過所述多個處理器在所述盤陣列上分配所述數(shù)據(jù)塊。
32.根據(jù)權(quán)利要求31所述的交互式寬帶服務(wù)器系統(tǒng),其中所述裝載處理進一步包括創(chuàng)建定位所述標(biāo)題的每個數(shù)據(jù)塊的一個標(biāo)題映射。
33.根據(jù)權(quán)利要求32所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個處理包括在一個處理器上執(zhí)行的至少一個用戶處理,該處理器檢索所述標(biāo)題映射并且使用所述標(biāo)題映射來檢索所述標(biāo)題的每個數(shù)據(jù)塊。
34.根據(jù)權(quán)利要求25所述的交互式寬帶服務(wù)器系統(tǒng),其中至少一個標(biāo)題被預(yù)處理,并且以預(yù)定格式存儲,以減小裝載和處理開銷。
35.根據(jù)權(quán)利要求34所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個標(biāo)題被預(yù)加密。
36.根據(jù)權(quán)利要求34所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個標(biāo)題包括預(yù)先計算的冗余信息。
37.根據(jù)權(quán)利要求34所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個標(biāo)題包括預(yù)先存儲的傳輸協(xié)議。
38.根據(jù)權(quán)利要求34所述的交互式寬帶服務(wù)器系統(tǒng),其中所述至少一個標(biāo)題包括指向在所存儲標(biāo)題內(nèi)容中的特定位置的多個指針。
39.根據(jù)權(quán)利要求38所述的交互式寬帶服務(wù)器系統(tǒng),其中所述多個指針包括多個時間標(biāo)記。
40.一種交互式內(nèi)容引擎,其中包括包含多個端口的主干交換機;分別通過所述多個端口之一耦合到所述主干交換機的多個處理器;分別耦合到所述多個處理器中的相應(yīng)一個處理器的多個介質(zhì)讀取器;耦合到所述主干交換機的一個端口的庫存儲系統(tǒng),所述庫存儲系統(tǒng)包括多個存儲介質(zhì),其集中存儲多個標(biāo)題,所述庫存儲系統(tǒng)被配置為從處理器接收一個標(biāo)題請求,并且把一個相應(yīng)的存儲介質(zhì)裝載在所述多個介質(zhì)讀取器中的任何一個可用介質(zhì)讀取器上;以及在所述多個處理器之間分配的多個存儲設(shè)備;以及在所述多個處理器上執(zhí)行的至少一個處理,該處理器集中地提交一個標(biāo)題請求,從所述可用介質(zhì)讀取器檢索一個被請求標(biāo)題,把所述被請求標(biāo)題存儲在所述多個存儲設(shè)備中,并且把所述被請求標(biāo)題傳送到所述多個處理器之一。
41.根據(jù)權(quán)利要求40所述的交互式內(nèi)容引擎,其中所述多個處理器包括至少一個裝載處理,其把所述標(biāo)題請求轉(zhuǎn)發(fā)到所述庫存儲系統(tǒng),從一個介質(zhì)讀取器檢索所述被請求標(biāo)題,把所述被請求標(biāo)題分為數(shù)據(jù)塊,通過所述多個處理器把所述數(shù)據(jù)塊存儲到所述多個存儲設(shè)備中,并且創(chuàng)建定位所述被請求標(biāo)題的每個數(shù)據(jù)塊的標(biāo)題映射;以及至少一個用戶處理,其檢索所述標(biāo)題映射,并且使用所述標(biāo)題映射來檢索所述被請求標(biāo)題的每個數(shù)據(jù)塊。
全文摘要
一種交互式寬帶服務(wù)器系統(tǒng)109包括多個處理器205、主干交換機203、多個存儲設(shè)備207和多個用戶處理503。該主干交換機允許在該處理器之間進行高速通信。該存儲設(shè)備被分配在該處理器上,以存儲標(biāo)題,每個標(biāo)題被分為在該存儲設(shè)備上分配的數(shù)據(jù)塊513。該用戶處理被配置為在與多個用戶位置105相接的處理器上執(zhí)行。每個用戶處理通過主干交換機從兩個或更多的處理器檢索被請求的標(biāo)題,并且組合被請求的標(biāo)題,用于傳送到一個請求用戶位置。該存儲設(shè)備可以被組織為RAID組401,分配的介質(zhì)讀取器219和庫存儲系統(tǒng)201可以被包含在內(nèi)。多個同步的標(biāo)題可以被同時傳送到下游用戶。該標(biāo)題可以被預(yù)處理并且以預(yù)定格式存儲,以減小裝載和處理的開銷。
文檔編號H04N7/173GK1596404SQ02823730
公開日2005年3月16日 申請日期2002年11月27日 優(yōu)先權(quán)日2001年11月28日
發(fā)明者斯蒂文·W·羅斯 申請人:交互式內(nèi)容引擎有限責(zé)任公司