複合式文件隨選系統之同步管理機制設計與製作
12
0
0
全文
(2) 料,因此需要 12 秒,這 12 秒就是讀取資料需 要等待的最長磁碟機週期,稱為啟始延遲變異 度(Initial Delay Jitter)。. 到數百個 millisecond。 就「伺服器」子系統而言,先前有關的研 究多以磁碟機為主要的硬體架構[8],能否同時 提供大量且無間斷的視訊流,往往是設計伺服 器的重要目標。為了達到此目標,「資料輪置 (data striping)」是一項相當普遍且實際用來提 升磁碟機輸出效率的重要技術[5][6],媒體伺 服器為了要提升磁碟機的效能,常使用 data striping 的技術來存取資料,然而這也限制了隨 意擷取(Random Access)的彈性,而導致相當長 的啟始延遲,通常的延遲變異度約在數秒到數 十秒之間。. 在資料輪置的伺服器中,磁碟機的效能與 資料塊的大小有關,當資料塊愈大,讀寫頭實 際讀取資料所需的時間變長,而花在移動讀寫 頭的時間比率變小,所以效能愈佳,但啟始延 遲變異度跟著變長。這種設計在一般以點播節 目為主的應用環境中,觀賞者可以接受稍長的 啟始等待;但在複合式文件的應用環境中,不 同媒體間有著強烈的同步關係,如果在媒體儲 存前未能妥善規畫儲存的位址,在讀取資料時 過長的啟始延遲,可能會消耗掉可觀的資源, 方能滿足同步的需求。. 要維護正確的時序關係,最主要的工作是 消弭資料在傳遞時所累積的延遲變異度,如此 我們就可以事先規劃資料的抵達時間。而完成 時序關係,較有效的作法是在各子系統中對延 遲變異度加以控制,也就是在伺服器端做較粗 略的延遲控制,而在網路與客戶端再作較細微 的延遲控制,如此處理負擔可有效的被分散。 而就各子系統而言,伺服器的延遲變異度長達 數十秒,影響最巨,因此它的控制更形重要。 在先前的研究中[2],我們專注在伺服器子系統 方面,探討如何修改或強化以資料輪置為基礎 的伺服器,用來支援媒體資料之間的時序關 係。而本文延續該研究,將實際系統的模組與 運作做進一步的闡述,特別是加入了「客戶端」 子系統的同步控制設計,以達到端點至端點的 同步控制,使得整個 SDOD 系統得以順利運 作。本文於第二節回顧媒體伺服器的設計原 理、影響時序同步的變因與所提出之時空映射 機制模型;第三節中描述系統架構與設計流 程;第四節描述系統細部模組架構與實作的步 驟;第五節為結論。. 為了改善啟始延遲變異度所造成的影 響,一般的做法是利用系統的暫存區來做預取 (pre-fetch)的動作,如圖 4 所示,當媒體 A 播 映到時間 t sec 時,啟動媒體 B 開始播映,如 果最大的啟始延遲(即啟始延遲變異度)為 d sec,則我們必須在時間 t-d 時即對媒體 B 發出 播映需求,因為媒體 B 的啟動時間不確定(在 時間(t-d)與 t 之間),所以在考慮最差狀況下, 我們必須預留 d sec 長度的資料空間給媒體 B 做為緩衝之用,如資料流間存在許多同步點, 則必須預留可觀的暫存區空間。 想要降低啟始延遲變異度對暫存區的依 賴度,就是對啟動資料流的時間加以規範,直 覺上可行的方法就是將所有媒體整合成一複 合式文件儲存,如此媒體彼此的時序關係反應 在它們的儲存位址上,使得當資料輸出時,讀 寫頭可以省掉額外的搜尋負擔,立即完成資料 流彼此間的同步動作。這種方法的優點為簡 單、直接,因為一旦最先的資料流被啟動,接 下來跟著被啟動的資料流就沒有啟始延遲所 造成的困擾,不必預留任何額外的暫存區資源 來解決同步問題;但最大缺點為缺乏資料共享 的彈性,因為某一資料的放置是根據與另一特 定的媒體資料流同步而決定,所以若該資料必 須與一個以上的媒體資料流同步時,就無法兼 顧多個同步需求。再者由於資料放置的位址有 所限制,可能影響到伺服器空間的使用效率。 最後由於複合式文件中資料的型態不同,導致 各別的頻寬與容量需求不盡相同,使得伺服器 的資源管理問題更形棘手,如未能提出有效管 理策略,系統效能將大打折扣。. 二、 伺服器同步控制機制回顧 (一) 啟始延遲變異度與暫存區 媒體伺服器大多採用資料輪置的技術來 提升磁碟機效能,滿足同時大量讀取資料的需 求。資料輪置的技術如圖 3 所示,假設媒體伺 服器由 3 個相同容量與效能的磁碟機(disk)組 成,經由一條匯流排聯結,每台磁碟機切割成 4 個磁區(zone),所有磁區形成一個 3×4 的二 維矩陣,影片資料事先切割成小資料塊 x,然 後以磁區為主的方式依序循環存放於矩陣之 中。當要讀取資料時,每台磁碟機的讀寫頭再 到各個磁碟的磁區中將資料塊讀取出來,稱為 資料輪置。假如讀寫頭在每個磁區停留的時間 (稱為「磁碟機週期」)為 1 秒,目前想要讀取 x7 資料塊,但讀寫頭停在 x8 的位置,則讀寫頭 需要循環到 Disk 2 的 Zone 3 才能讀到的資. (二) 同步容錯度 另一項會影響暫存區空間的因素為「同步 容錯度(Synchronization Tolerance, ST)」,並不 見得所有媒體間的同步要求十分的精確,例 如:演講者影音資料的啟始同步不能容許太大 的誤差,否則會造成不對口(lip-sync)的現象, 2.
(3) 又稱為 fine-grained sync.。而配合演講者所呈 現的投影片或影片片段則可容許有限度的誤 差。相對的背景音樂或影片則純屬陪襯性質, 故 容 許 高 容 錯 度 , 又 稱 為 coarse-grained sync.。將同步容錯度納入考慮的最大優點,主 要是為了節省暫存區資源,以前例而論,若媒 體 A 與 B 間所容許的同步誤差度(ST)為 s sec, 我們僅需在(t-d+s) sec 時對媒體 B 發出播映需 求即可,而所需的暫存區減少為容納(d–s) sec 長度的資料量即可,如圖 5 所示。. 講者用不同的語言(英文與中文),講解同一套 投影片,因此所涉及的資料流與彼此的時序關 係如圖 8 所示,其中包括兩道視訊流(V1、V2) 及音訊流(A1、A2),一道投影片流(S1、S2、S3)。 視訊與音訊間為 fine-grained 同步,投影片於 不同的時間點與個別的視訊流同步,屬於 coarse-grained 同步。 (1). 「同步關係建立」 :首先將圖 8 中媒體資料 流彼此的時序關係轉換成圖 9 的同步關係 圖,其中每一媒體對應一個節點(node), 如果媒體 A 必須啟動媒體 B,則建立一條 由節點 A 到節點 B 的 direct link。節點的 incoming degree 代 表 該 媒 體 的 相 依 度 (DS);伴隨著每條 link 的同步容錯度 (ST) 係指所容許的同步時間誤差。某些媒體可 能除了在這兩個複合式文件中被使用到之 外,也會被其它的複合式文件使用,因此 預設成可公開(public)分享,我們以 “⊕” 符號表示之。以本例而言,視訊(Vi)必須隨 時調整與音訊(Ai)同步,故其間 link 的 ST=1;視訊(Vi)與投影片(Si)間的同步較粗 略,故其間 link 的 ST 較長(3 或 5),ST 的 值可依慣例或由外界定義。. (三) 相依度 另一項重要的設計考量是「相依度(Degree of Sharing, DS)」 ,它代表著其他會參考(啟動) 該媒體的媒體數目,如果複合式文件中,媒體 B 只有被媒體 A 參考(啟動),也就是媒體 B 的 DS 值為 1,則媒體 B 與媒體 A 可整合成一個 複合物件(compound object)儲存,如此媒體彼 此的時序關係反應在它們的儲存位址上,使得 當資料輸出時,讀寫頭可以省掉額外的搜尋負 擔,立即完成資料流彼此間的同步動作。例 如,如圖 6 所示,當媒體 A 播放至區塊 a3 時, 媒體 B 開始播放,故將媒體 B 的啟始點(即區 塊 b0)放置於相同於區塊 a3 的磁區中。這種方 法的優點為簡單、直接,因為沒有啟始延遲所 造成的困擾,不必預留任何額外的暫存區資源 來解決同步問題;但此作法的先決條件,必須 沒有其他媒體會參考到媒體 B(也就是媒體 B 的 DS=1)。另一個限制是整個複合物件(媒 體 A、B)必須存放於同一媒體伺服器中。. (2). 「複合物件最佳化」:接著我們針對圖 9 的同步關係圖加以簡化成圖 10 的複合同 步關係圖,主要的任務是盡可能的將媒體 合併成複合物件,以利下一階段的媒體配 置工作。其依據之法則有二: A. node 必須不能公開的(public),如果為 公開的就必須與其它複合式文件中的 媒體分享,因此不能與其它 node 合併 為複合物件儲存。. (四) 時空映射機制 為了方便伺服器處理媒體同步,並有效利 用資源,我們將複合式文件依既訂的時序關係 (同步容錯度與相依度),轉換成便於處理的同 步格式,同時我們將 disk 組織成不同啟使延遲 變異度的伺服器群,屬於某種同步格式的資 料,將集中儲存於滿足該同步格式特性的一個 伺服器上。當讀取複合物件時,我們依既訂的 時序關係預留適當的暫存區,啟動讀取資料, 以達到預期的同步效果,並且達成以下的設計 目標:. B. DS=1 的 node 因只與其 parent node 同 步,而與其它 node 無關,故可與 parent node 合併成一複合物件。 合併的 node 必須符合上述兩個條件,並且 合併後的複合物件繼承原先未合併 node 之 links,如果 links 重複指向同一物件, 則僅保留 ST 為最小的那一條 link。合併的 工作以 recursive 的方式進行,直到沒有任 何 DS=1 且為非公開的節點存在為止。就 本例而言 node A1 與 node V1 合併;node A2 與 node V2 合併。. (1) 縮小啟始延遲變異度,以節省暫存區資 源。 (2) 提供資料放置位址的彈性,以提升儲存空 間使用效率。. (3). 「媒體配置」 :最後我們要決定配置多少資 源給媒體。由於啟始延遲變異度,與磁碟 機效能成正比,但也代表需要更多的暫存 區,因此我們摒棄單一伺服器的作法,改 採多重伺服器,各伺服器具有不同的啟始 延遲變異度,而這些伺服器實際上可能是 建構於同一或一個以上的實體伺服器之 上。各節點依照下述法則配置於子伺服器. 這整個映對轉換的過程我們統稱為「時空 映射」[2],其中包括三個步驟: (1)同步關係 建立、(2) 複合物件最佳化、(3) 與媒體配置, 如圖 7 所示。 為方便說明,我們以下述情境為例,假設 有兩個複合式文件 SD1 與 SD2,其中為不同演 3.
(4) 中:假設共有 x 個子伺服器,依序編號為 0, 1, 2, …, x-1,子伺服器 i 的伺服器週期 為 ci,且如果 i>j 則 ci>cj。某節點(媒體) 的 ST 則定義為所有指向該節點 link 的 ST 中最小者。假設將該媒體放置於子伺服器 i 中,在播放時,於同步點前 ci 的時間發 出點播要求,如果 ci≤ST,則不需要額外的 緩衝區,即可在容許的同步誤差內取得資 料流;反之,如果 ci>ST,則 ST 無法完全 吸收啟始延遲變異度,故必須預留 ci-ST 時間長度的緩衝區。因為媒體放置於愈小 的伺服器週期的伺服器中,代表付出愈昂 貴的磁碟機效能代價,反之如果放置於愈 大的伺服器週期的伺服器中,則可能必須 付出暫存區的代價,所以為了達到這兩種 狀況的平衡,採行的策略是,如果 ST 落 於 ci 與 ci+1 間,則將媒體配置於子伺服器 i+1 中,然後於點播時預留 ci+1-ST 資料流 長度的緩衝區。就本例而言,假有三個子 伺服器 0、1、2,且 c0=4、c1=7、c2=10, 則節點 S1 與 S3 之 ST 皆為 3,故配置於子 伺服器 0 中;節點 S2 之 ST 為 5,故配置 於子伺服器 1 中;節點(A1, V1)與(A2, V2)無 特定之同步需求,故配置於子伺服器 2 中 即可,如圖 11 所示。當其中一個子伺服器 的容量 overflow 時,可以分配給其它的子 伺服器,選擇考慮的方式有兩種:第一是 磁碟機效能,若要較好的磁碟機效能表示 需要更多的暫存區;第二是選擇較少暫存 區,但是磁碟機效能將會較差,因此必需 在兩者之間衡量,選擇較適合的子伺服 器。若編號 1 的伺服器容量 overflow,則 必須選擇編號 0 或 2 的子伺服器,選擇伺 服器 0,可以不需要額外的暫存區,但是 付出磁碟機效能的代價;選擇伺服器 2, 則需要額外的暫存區。. 制管理,客戶端的媒體節目播放子系統主要負 責複合式文件的播放,各子系統的功能如圖 13 所示。本系統設計了兩種傳輸的方式,分別為 單點傳送(Unicast)與多點傳送(Multicast),在單 點傳送方面,每個客戶端可以隨時連線至媒體 節目管理子系統查詢節目,選取想要收看的節 目後,系統會即時將節目傳送到客戶端。在多 點傳送方面,當客戶端想要收看節目時,先至 媒體節目管理子系統查詢節目表單與節目播 放時間,預訂想要收看的節目,並加入此節目 的群組,節目排程允入控制機制會在預定時間 廣播媒體節目,此時加入此群組的客戶端會收 到媒體伺服器所廣播出來的節目,每一媒體節 目佔用一個 multicast channel (multicast IP),每 一 媒 體 資 料 流 佔 用 一 個 multicast session (multicast IP + port),如果有任何一端資源預留 不成功,則取消節目播放或調整節目的排程。. (一) 媒體節目管理子系統 媒體節目管理子系統內部模組架構(如圖 14 )可以分為以下二個模組:「媒體節目製作 (Program Maker)」與「節目排程允入控制機制 (Admission Control Mechanism)」。 (1) 媒體節目製作程序首先將媒體資料,依照 節目劇本需求,以及媒體的特性、媒體內 (intra-medium)的時序關係、啟始播放時 間、磁碟機的傳輸速率等資訊,預先安排 媒 體 播 放 排 程 , 以 時 序 語 言 (Temporal Script, TS)[3]描述完成,然後將時序語言 交 給 時 空 映 射 機 制 處 理 媒 體 間 (inter-media)的時序同步關係,而實際媒體 資料則分類整理編號後儲存在媒體資料 庫中。 (2) 時空映射機制主要是依照媒體之間的同 步關係,決定媒體應如何配置於伺服器 中。時空映射機制接收到時序語言後,依 據時序語言中媒體的資訊,進行媒體之間 同步的判斷,並且將適合的媒體合併為複 合物件,合併後的媒體資訊稱為空間語言 (Location Script)[3],最後將空間語言與使 用到的實際媒體資料交給伺服器的 Location Oriented Mechanism 執行實際媒 體資料的擺放。. 三、 系統架構與流程設計 以「時空映射機制」為基礎,本章將描述 我們所實際開發的 SDOD,整個系統分為三個 部分,分別為「媒體伺服器(Media Server)」 、 「媒 體節目管理子系統(Program Manager System)」 與「媒體節目播放子系統(Program Presentation System)」,整個系統中各子系統之間的關係如 圖 12 所示,媒體伺服器負責將複合式文件依 既定的時序關係擺放到實體磁碟機中,讀取時 讓被共享的媒體在適當的時間被重複啟動,使 系統可以維持複合式文件內媒體間的同步,並 達到媒體共享的理念,媒體伺服器部分請參閱 [1],在此我們的重點在媒體節目管理子系統與 媒體節目播放子系統。媒體節目管理子系統主 要負責(1)媒體節目製作與(2)節目排程允入控. (3) 當客戶端想要收看節目,可以連線至節目 排程允入控制機制,完成註冊流程與付費 手續,等待系統確認用戶身份無誤後,會 依照使用者的繳費情形給予不同的觀賞 權限與密碼,使用者再依照擁有的權限, 查詢目前欲觀看的節目或是預定時間播 放的節目。 (4) 節目排程允入控制機制開始安排此客戶 端需要的資源,檢查客戶端、網路端與伺 4.
(5) 服器端所需要的頻寬、緩衝區、群播通 道…等資源,如果有任何一項資源無法預 留成功,則通知此客戶端無法收看該節 目。. 料呈現在客戶端。. 四、 系統實作說明 (一) 系統開發環境. (5) 如果資源預留成功,則傳送”媒體播放時 序資料”至客戶端,並且傳送一個訊息給 伺服器的 Channel Oriented Mechanism,通 知它依照複合物件之間的時序關係,開始 依序將媒體資料從磁碟中讀取出來,或是 在預定時間執行該節目的廣播,直到整個 節目播完為止。. 主要針對媒體節目管理子系統中的「時空 映射機制」,以及客戶端的「媒體節目播放子 系統」予以實作,系統發展平台為 Windows 2000 Advanced Sever,使用 Visual C++ 6.0 與 Microsoft DirectX Media 6.0 SDK 作為開發工 具,完成這兩個子系統模組的建置,網路傳遞 方式分為 Unicast 與 Multicast 兩個部分,希望 能夠在理論之外,證明研究系統架構的可行 性。. (二) 媒體節目播放子系統 媒體節目播放子系統分為下列幾個模 組,我們以一使用者要求觀看一部影片為例, 描述系統模組之間的互動關係如圖 15 所示:. 我們以一個遠距教學的例子來說明系統 實作,這個複合式文件共有五道媒體資料流, 其中有一道音訊資料流播放老師講解課程的 聲音資料 Audio(A11),兩道視訊資料流為老師 講解的影片資料 Video1(V11)與相關課程的影 片資料 Video2(V21、V22、V23),一道投影片資 料流播放課程相關的投影片資料(I11、I12、I13), 一道文字資料流(T11、T12、T13、T14、T15、T16) 是相關課程章節的說明,Audio 設定為共享媒 體,影片資料 Video1 設定為主要媒體,聲音 資料 Audio、影片資料 Video2、投影片資料與 文字資料都必須在適當的時間點與老師講解 的聲音資料同步,其中影片資料流 Video1、 Video2 與聲音資料流 Audio 屬於 fine-grained 同步,其它資料流與聲音資料流屬於 coarse-grained 同步,各種媒體資料之間的同步 關係如圖 16 所示。. (1) 使用者連線至節目排程允入控制機制查 詢節目選單,完成註冊流程與付費手續, 等待系統確認用戶身份無誤後,會依照使 用者的繳費情形給予不同的觀賞權限與 密碼,使用者再依照擁有的權限,點選一 部想要收看的節目。節目排程允入控制機 制開始安排此客戶端需要的資源,如果有 任何一項資源無法預留成功,則通知此客 戶端無法收看該節目。 (2) 節目排程允入控制機制將 Program Maker 產生的”媒體播放時序資料”傳送到播放排 程機制(Actor)。”媒體播放時序資料”包括 媒體的種類、媒體的傳送通道、資料流的 編號、媒體的啟始播放時間、以及媒體的 結束播放時間。. (二) 媒體節目製作實作. (3) 媒 體 伺 服 器 的 Channel Oriented Mechanism 在預定播放的時間開始將節目 所需的媒體資料讀出並傳送至節目播放 子系統,每一種媒體資料流透過適合的通 道傳送。. 媒體節目製作部分,包含五道媒體資料流 的媒體資料的製作,以及媒體特性資訊的取 得,並且將各種媒體依彼此的時序關係以「時 序語言(TS)」描述完成,然後傳給時空映射機 制,依同步容錯度與相依度,將媒體組合成複 合物件,具有相類似同步特性的複合物件集中 安置於滿足該物件同步需求特性的一個子伺 服器上。另外還必須執行時空轉換的步驟,以 master 媒體(Video 1)為基礎來衡量,將時序關 係的計算以畫面張數(frames)表示法轉換成以 資料累計量(blocks)表示法,才能讓伺服器端正 確的達到資料擺放的目的,在讀取影片時,也 才能在準確的時間內讀取媒體資料。最後將這 種複合物件對應於儲存位置的訊息,以「空間 語言(LS)」描述完成,傳送至伺服器端進行實 際的儲存,當伺服器端讀取複合物件時,伺服 器端的「Channel Oriented Mechanism」會依既 訂的時序關係預留適當的暫存區,啟動讀取資 料,達到預期的同步效果,減輕在客戶端完成 最終同步的負擔,如圖 17 所示。. (4) 網路通訊協定接收媒體資料後,依照資料 流的編號將媒體傳送到個別的緩衝區 內,當媒體資料累積到適當的累積量後, 在啟始播放時間播放。 (5) 播放排程機制(Actor)負責將各個資料流 中的媒體資料依時序關係排序,以便即時 監督並啟動媒體資料在播映時間從緩衝 區讀出,以及在結束時間通知播放程序停 止播放,達到媒體同步的目的。 (6) 由於各種媒體的特性不同,例如 MPEG 視 訊資料需要經過解壓縮處理,因此每一種 媒體需要不同的播放介面來播放,播放程 序就是負責將媒體資料轉換為可以播映 的格式,再透過各種播放瀏覽器將媒體資. 5.
(6) 傳送到媒體伺服器的 LS 包含三項資訊, 分別介紹如下(如圖 18):. 始或媒體結束、發生事件的時間、媒體傳送使 用的通道編號。當系統開始接收節目媒體資料 後啟動播放排程機制(Actor),開始計算播放節 目媒體資料所需的啟始延遲,在啟始延遲時間 到達時啟動播放執行緒開始播放節目。. (1) SynDocInfo:記錄整個複合式文件中所有 複合物件的資訊,包括每個複合物件中媒 體的個數、最小同步容錯度(min ST)、複 合物件的名稱等資訊。. 播放的執行緒分為三個部分,第一部分 WM_DXINITIAL 主要負責將媒體資料從緩衝 區中讀出,處理媒體資料的初始化設定,以及 設定媒體播放狀態為 PLAYING,在視訊與音 訊 方 面 透 過 OpenStream 函 式 呼 叫 DirectX Media 的 DirectShow 播放,在圖片方面透過 VC++的 Cpalette 類別將圖片資料處理後呈現 在使用者的螢幕畫面上,在文字方面直接從緩 衝區將文字資料取出顯示在使用者螢幕畫面 的文字框內。第二部分 WM_DXMONITOR 負 責監督媒體資料的接收速度與播放速度,也就 是緩衝區的流量控制機制,避免緩衝區內媒體 資 料 overflow 或 underflow 。 第 三 部 分 WM_DXEND 負責結束媒體資料流的播放,例 如視訊與音訊結束需要關閉 DirectShow 播 放,並設定狀態為 CLOSE。播放執行緒由播 放排程機制啟動計時器,在媒體節目資料劇本 安 排 的 播 放 時 間 到 達 時 , 呼 叫 PostThreadMessage()函式執行相關媒體的播放 執行緒。. (2) ComObjInfo:依照複合物件的次序,記錄 每個複合物件中所有媒體資料的資訊,包 括媒體資料與 master media 的同步播放時 間、資料流編號、傳輸速率與媒體名稱等 資訊。 (3) LocationStript:記錄複合物件之間的驅動 時間,包括複合物件與 master 複合物件之 間的同步點、複合物件的編號、複合物件 的名稱等資訊。. (三) 媒體節目播放子系統實作 在客戶端的媒體節目播放子系統中,使用 多執行緒(Multi-thread)來執行接收節目媒體資 料與播放媒體資料的工作,多執行緒可以在系 統接收網路的資料時,同時執行其它程式,且 程式之間不會相互影響。在本例中包含五道資 料流,因此使用五個 thread 來控制從網路端接 收媒體資料,另外使用五個 thread 來控制播放 媒體資料,媒體節目播放子系統中各個模組的 關係如圖 19 所示。. (四) 媒體節目播放子系統播放畫面 媒體節目播放的介面如圖 20 所示,右邊 顯示目前管理者端預訂播放的節目表單,供使 用者下次選擇參考,左邊播放兩道視訊資料 流,分別是老師上課講解的影像(Video1)與課 程相關的影片(Video2),中間由上至下分別是 課程內容的簡述(Text)、課程相關的投影片 (Slide)與老師講解的聲音(Audio),聲音部分可 以選擇開啟【Open】或關閉【Close】 ,Video1、 Video2 與 Audio 屬於動態媒體,它們右邊的黑 色框框中出現的數字代表目前每個緩衝區內 的資料量,每單位代表 64KBytes,43 個單位 代表目前的資料量為 2752KBytes。最下面的 狀態欄顯示目前媒體資料流的狀態資訊,右下 角的【Connect】按鍵是連接到管理者端要求 連線並接收節目表單, 【Exit】按鍵是通知管理 者端結束連線並結束媒體節目播放子系統。. 在本系統中,我們依照節目媒體資料需要 的通道數目建立相對應個數的 data socket 與網 路執行緒,當每個 data socket 接收到伺服器端 傳 過 來 的 媒 體 資 料 時 , 即 呼 叫 PostThreadMessage()函式,執行相對應的網路 執行緒,首先設定每次接收 64KBytes 的網路 資料至暫存區,然後呼叫緩衝區管理的 PutIn 函式將暫存區內的資料寫入緩衝區陣列中。 緩衝區管理負責建立緩衝區與處理資料 的寫入與讀出,共建立 200 個單位的陣列 BufArray,每個陣列分為三個部份,NodeBody 主要放置媒體資料的部份,資料大小為 64KBytes,前端是 DataHead,負責記錄讀出 資料時此陣列 BufArray 尚未使用的資料啟始 點,後端是 DataTail,負責記錄寫入資料時此 陣列 BufArray 尚未使用的資料結尾點。緩衝 區管理中有兩個函數 PutIn 與 TakeOut,PutIn 函數負責將接收到的資料放入緩衝區陣列的 NodeBody 中;TakeOut 函數負責將資料從緩 衝區陣列的 NodeBody 中讀出來播放。. 五、 結論 在設計媒體伺服器時,為了要提升磁碟機 的效能,常使用資料輪置的技術來存取資料, 而導致相當長的啟始延遲,為了達到媒體間的 時序同步,節省暫存區資源,我們提出時空映 射機制,以圖形化的方式來分析複合式文件中 媒體之間的同步關係,將可以合併儲存的媒體 合併為複合物件儲存,最後將分析完的資訊以. 當媒體節目播放子系統收到媒體節目管 理子系統傳送過來的客戶編號時,媒體節目播 放子系統的 data socket 同樣收到管理者端傳送 過來的節目媒體同步資訊,內容包括:欲播放 的節目中媒體類型、媒體發生的事件為媒體啟 6.
(7) Communications of the ACM, Vol. 34, no. 4, pp. 46-58, April 1991.. 空間語言表示,傳送至媒體伺服器進行實際媒 體資料的擺放,透過時空映射機制的分析結 果,從伺服器中存取媒體資料時,共享的媒體 可以被重複啟動來節省磁碟空間,同時在暫存 區與磁碟機效率間達成平衡,並且達到媒體間 同步的目標。. [5]. D. J. Gemmell, H. M. Vin, D. D. Kandlur, P. V. Rangan, L. A. Rowe, “Multimedia Storage Servers: A Tutorial”, IEEE Computer, pp.40-50, May 1995. [6]. S. Ghandeharizadeh, S. H. Kim, and C. Shahabi, “Continuous Display of Video Objects Using Multi-Zone Disks”, Technical Report, UCLA, April 12, 1995.. 在系統實作部分,將本研究提出的時空映 射機制運用在複合式文件的隨選視訊系統 上,除了修改原有的媒體伺服器之外,另外設 計了媒體節目管理子系統與媒體節目播放子 系統,主要功能就是在播放複合式文件時達到 媒體協奏的同步。我們將時空映射機制實作在 媒體節目管理子系統中,預先根據節目劇本將 媒體之間的時序關係依時序語言描述,然後進 行時空映射機制,達到媒體間的同步,簡化媒 體伺服器在讀取資料時處理同步問題的時 間。媒體伺服器依照時空映射機制的分析結果 擺放媒體資料,讀取時依照媒體之間的時序關 係讀出,媒體節目播放子系統除了接收與播放 媒體資料外,另外設計播放排程機制,再進行 一次媒體間細微的同步(fine-grained sync.),讓 媒體在客戶端的播放更加順暢,播放品質更能 讓使用者所接受。. [7]. Chung-Ming Huang and Hsu-Yang Kung , “Mcast: A Multicast Multimedia Communication Software Development Platform”, Accepted by Lecture Notes in Computer Science, June, 2000. [8]. C.L.Liu, H.C. Du, M. Lin, “Performance of a Storage System for Supporting Different Video Types and Qualities”, IEEE JSAC, special issue of distributed multimedia systems and technology, 1996. [9]. McManus J and Ross K, “Video-on-Demand Over ATM: Constant-Rate Transmission and Transport”, IEEE Journal on Selection Areas in Communications, Vol. 14, no. 6, pp. 1087-1098, 1996.. 六、 誌謝. [10]. Minglu Li, Yongquang Sun, and Huanye Sheng, “Temporal Relations In Multimedia Systems, Comput. & Graphics”, Vol. 21, no. 3, pp. 315-320, 1997.. 本論文為行政院國家科學委員會補助之 專題研究計劃 NSC 89-2219-E-020-001 的部分 成果,僅此誌謝。. [11]. N.U. Qazi, M. Woo, and A. Ghafoor, “A Synchronization and Communication Model for Distributed Multimedia Objects”, Proc. First ACM Conf. On Multimedia, ACM Press, New York, pp. 147-156, Aug. 1993.. 七、 參考文獻 Sheau-Ru Tong, Liu-Yih Lin, "Design of Media Servers: A Storage/Channel Management Mechanism for Supporting Media Orchestration in Synthetic Documents", Workshop on the 21st Century Digital Life and Internet Technologies, Taiwan, 2001.. [12]. Lixic Zhang, Stephen Deering, Deborah Estrin, Scott Shenker, and Daniel Zappala, “RSVP: A New Resource ReSerVation Protocol”, IEEE Network, pp. 8-18, September 1993.. [1]. 童曉儒, 林柳義, “媒體伺服器之設計─ 支援複合式文件中媒體協奏的儲存 / 頻 道管理機制”, 二十一世紀數位生活與網 際網路科技研討會, 2001.. 八、 相關圖表. [2]. 童曉儒, 賴文蘋, “媒體伺服器之設計─ 支援複合式文件中媒體協奏的同步管理 機制”, 二十一世紀數位生活與網際網路 科技研討會, 2001. 互動式 多媒體節目. [3]. 賴文蘋, “媒體伺服器之設計與製作─支 援複合式文件中媒體協奏的同步管理機 制”, 國立屏東科技大學資訊管理系碩士 班, 碩士論文, 2001.. 產生 多媒體內容. 多媒體資料 壓縮. 媒體 伺服器. 組成 多媒體節目. 多媒體資料 解壓縮. 通訊 通訊 網路 網路. 圖 1:多媒體的產生、壓縮、儲存、傳送與播 放之流程. [4]. Gall D., “MPEG: A Video Compression Standard For Multimedia Applications”, 7.
(8) Sync. Control at Retrieval. Sync. Control at Transmission. Sync. Control at Display. Network Network. 圖 2:分散式環境下各子系統的同步控制. SCSI bus. Zone 1. x1. x5. x9. Zone 2. x2. x6. x10. Zone 3. x3. x7. x11. Zone 4. x4. x8. x12. Disk 1. Disk 2. Disk 3. 圖 3:資料輪置磁碟機組架構. Media A Media B. d. 0. t. t-d. Time. 圖 4:啟始延遲與暫存區關係圖. trequest. t’request. Media A buffer Media B ST. Media B’ 0. buffer. t-d t-d+s. t. 圖 5:暫存區與同步容錯度關係圖. 8. Time.
(9) Media A Media B. Zone No.. 1. 2. 3. 4. 5. 6. Media A. a0. a1. a2. a3. a4. a5. b0. b1. b2. Media B Compound Object. 讀寫頭. 圖 6:複合物件儲存位址關係圖. 同步關係建立 (時序關係 同步關係圖) 時空映射機制 (Temporal / Spacial Projection Mechanism). 複合物件最佳化 (同步關係圖 複合同步關係圖) 媒體配置 (複合同步關係圖 子伺服器資源配置). 圖 7:時空映射機制的層次架構. MD1. MD2. VOD System. 隨選視訊 系統. Network. Network Server. Server. Client 1/10. Client 4/10. time A1. time A2. …….. …….. Fine-grained Sync.. V1 Coarse-grained Sync.. S1. V2 Coarse-grained Sync.. S2. S3. 圖 8:兩個複合式文件的資料流與其間彼此的同步關係. A1. A2. ST=1. ST=1. V1. V2 ST=3. ST=3. ST=5. ST=5. ST=5. S1. S2. ST=5. S3. 圖 9:對應圖 8 之同步關係圖. 9. 7. 8. b3. b4.
(10) A2 ,V2. A1 ,V1. ST=3. ST=5. ST=3 ST=5. ST=5. S3. S2. S1. ST=5. 圖 10: 自圖 9 所簡化之複合同步關係圖. ST. c i ≤ST. c i >ST. buffer. C0 = 4. C1 = 7. C 2 = 10. S1. S2. A 1, V 1. ST. S3. tim e. ci. t request. t sync.. A 2, V 2. 0. 1. 2. 圖 11:子伺服器媒體配置圖. Program Presentation System Schedule Inquiry. Reserve. Unicast. Multicast. Program Manager System. Location Oriented Mechanism. Channel Oriented Mechanism. SZRR Physical Server data placement. Media Server. 圖 12:複合式文件隨選系統子系統關係圖. Client. Program Manager. Server. 播放介面. 時空映射機制. 檔案系統. 節目排程機制. 播放程式. Location Oriented 機制. Channel oriented 機制. Admission Control 播放排程機制. 資源預留. 網路傳送協定. 網路傳送協定. 網路機制. 網路傳送協定. 圖 13:複合式文件隨選系統子系統功能圖. 10.
(11) Client ClientSystem System. f. e. Admission Control. Program Maker. c. Policy Control. Synchronization Relationship Creation. Temporal Projection mechanism. Compound Media Optimization. Media Layout. f. Media Storage. Client Resource Reservation. Media Storage. Network Resource Reservation. Media Storage. Server Resource Reservation. f. d. Unicast / Multicast. g. Channel ChannelOriented OrientedMechanism Mechanism. Location LocationOriented OrientedMechanism Mechanism. 圖 14:媒體節目管理系統架構圖. User Interface h Playback Process Audio Process. Video Process. g Actor. Image Process. Text Process. f Network Transmission Protocol. d. e. 1. Program Manager. Channel Oriented Mechanism. 圖 15:媒體播放管理機制架構圖. Audio. public : A11. Video1. master : V11. Video2. V21. Image. I11. Text. T11. 0. V23. V22. I13. I12. T12. T14. T13. T15. 60. 240. 圖 16:媒體資料之間的同步關係圖. 載入時序語言(TS) 時空映射機制. 同步關係建立. Temporal / Spacial Projection Mechanism. 複合媒體最佳化 媒體配置 時空轉換. 輸出空間語言(LS). 圖 17:媒體節目製作各模組關係圖 11. T16. time (sec.).
(12) . SynDocInfo : Compound Media Number. . LocationStript :. . Min ST. Compound Obj. Name. Min Time. Compound Obj. ID. Compound Obj. Name. 13. 1. CO1. 0. 1. CO1. 1. 1. CO2. 0. 2. CO2. ComObjInfo :. Sync. Position. Channel ID. Bandwidth (Mbps). Compound Media Name. 0 blocks. 1. 1.5. V11. 0 blocks. 2. 1.5. V21. 18090 blocks. 2. 1.5. V22. :. :. :. :. 0 blocks. 3. 0.128. A11. 圖 18:空間語言資料結構. 客戶端播放介面. 播放 視訊資料. 播放執行緒 播放執行緒 播放 播放 音訊資料 圖片資料. 播放 文字資料. 播放排程機制 播放排程機制 緩衝區管理 緩衝區管理. Video Buffer. Audio Buffer. Image Buffer. Text Buffer. 網路執行緒 網路執行緒 系統初始化 系統初始化. 網路傳送協定. 圖 19:媒體節目播放子系統各模組關係圖. 圖 20:媒體節目播放子系統播放介面. 12.
(13)
數據
相關文件
• 先定義一個 struct/class Node ,作為 linked list 的節點,裡面存資 訊和一個指向下一個 Node 的指標. • 使用時只用一個變數 head 記錄 linked
• 先定義一個struct/class Node,作為linked list的節點,裡面存資 訊和一個指向下一個Node的指標. •
為降低藥品安全性與有效性試驗的成本與其耗費的時間, 合併第一期
塑合板並配合五金配件製成建築用之門、窗、框及 1 至 3 階之樓梯 或其相關結合體等。試題分別由 2 至 3
學習動機與態度 完全 符合 大部分 符合 大部分 不符合 不符合 完全. 1.我覺得上課是一件有趣的事
是所有正向指標中最低者;其次是「製造業與營造業合計之固定資 本形成之變動率」與「製造業與營造業合計之 GDP 成長率」,二者 的平均值分別為 5.10 分與 5.13
為降低藥品安全性與有效性試驗的成本與其耗費的時間,
(1) 能依工件形狀及精度 要求,並配合機械設備 規劃與安排適當之工 作程序,且能估算加工 工時。. (2)