国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式會議系統(tǒng)的制作方法

      文檔序號:7958917閱讀:314來源:國知局
      專利名稱:分布式會議系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信領(lǐng)域,特別涉及一種分布式會議系統(tǒng)。
      背景技術(shù)
      隨著網(wǎng)絡(luò)的普及,人們對通信方式的要求不再僅僅是語音的交換,而是要求滿足視頻和數(shù)據(jù)的同步傳輸。而且網(wǎng)絡(luò)的發(fā)展也使分布式辦公成為普遍現(xiàn)象,在不同地點的人們通過網(wǎng)絡(luò)來交流,這促進了對視頻會議服務(wù)的需求?,F(xiàn)有視頻會議的方法主要有組播和混合兩種方式。組播雖然有不要求參加者之間密切合作,成員可以獨立加入或離開的優(yōu)點;但是由于網(wǎng)絡(luò)與路由器負擔(dān)重,安全性差,易受到攻擊等缺點,所以現(xiàn)有很多網(wǎng)絡(luò)都不支持組播?;旌系姆绞叫枰幸粋€中央的服務(wù)器來完成組織和混音等工作,并上傳給所有用戶,這種方式造成服務(wù)器的能力和帶寬成為瓶頸(圖1)。
      為解決以上問題,有人提出了全分布式的會議系統(tǒng)(圖2)。在該系統(tǒng)中,每個用戶都與其他所有用戶建立連接并收發(fā)數(shù)據(jù)。此方法的主要缺點是信令復(fù)雜,每個用戶加入和退出時都要與所有人交換信息;要求每個用戶都具有足夠的帶寬與所有參加者通信。另外Skype雖然支持分布式多方通信,但采用的是非公開的技術(shù)。
      與本發(fā)明相關(guān)的現(xiàn)有技術(shù)文獻I.Jonathan Lennox and Henning Schulzrinne.“A protocol for reliabledecentralized conferencing,”NOSSDAV 2003.
      II.R.Boivie et al.“Explicit multicast(xcast)basic specification,”Internetdraft,IETF,Jan.2003.Work in progress.
      III.O.Levin and P.K.Even.“High level requirements for tightly coupled SIPconferencing,”Internet draft,IETF,Mar.2003.Work in progress.

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的在于提供一種網(wǎng)絡(luò)穩(wěn)定、負載均衡的分布式會議系統(tǒng)。
      依照本發(fā)明的分布式會議系統(tǒng),包括MCU節(jié)點和MCU節(jié)點下屬的子節(jié)點,MCU節(jié)點為該分布式會議系統(tǒng)中的混音節(jié)點和信令控制節(jié)點,其中,MCU節(jié)點由用戶終端來擔(dān)任,MCU節(jié)點動態(tài)調(diào)節(jié)以使得網(wǎng)絡(luò)穩(wěn)定,負載均衡。
      在如上所述的分布式會議系統(tǒng)中,MCU節(jié)點的選擇以及MCU節(jié)點的數(shù)目根據(jù)會議參加者的數(shù)目和節(jié)點的負載能力動態(tài)確定。
      在如上所述的分布式會議系統(tǒng)中,每兩個MCU節(jié)點之間建立有信令連接,或信令連接和媒體連接,當(dāng)一個MCU節(jié)點與該分布式會議系統(tǒng)中的其它所有MCU節(jié)點建立了媒體連接時,該MCU節(jié)點建立了全連接,當(dāng)一個MCU節(jié)點沒有與該分布式會議系統(tǒng)中的其它所有MCU節(jié)點建立媒體連接時,該MCU節(jié)點非全連接。
      在如上所述的分布式會議系統(tǒng)中,每個MCU節(jié)點中保存有網(wǎng)絡(luò)拓撲。
      在如上所述的分布式會議系統(tǒng)中,每個MCU節(jié)點記錄其子節(jié)點中負載能力最大的節(jié)點作為備用MCU節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,每個子節(jié)點與其MCU節(jié)點之間建立有媒體連接和信令連接。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)新的節(jié)點加入該分布式會議系統(tǒng)時,根據(jù)該網(wǎng)絡(luò)當(dāng)前負載和新的節(jié)點的負載能力確定其是否作為新的MCU節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)新的節(jié)點加入該分布式會議系統(tǒng)且作為新的MCU節(jié)點時,該新的MCU節(jié)點從當(dāng)前MCU節(jié)點獲取網(wǎng)絡(luò)拓撲,并將當(dāng)前負載已接近閾值的MCU節(jié)點的部分子節(jié)點轉(zhuǎn)移作為該新的MCU節(jié)點的子節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)MCU節(jié)點離開該分布式會議系統(tǒng)時,指定備用MCU節(jié)點作為新的MCU節(jié)點,且將其部分或全部子節(jié)點轉(zhuǎn)移作為新的MCU節(jié)點的子節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)離開的MCU節(jié)點的子節(jié)點不能全部作為新的MCU節(jié)點的子節(jié)點時,將剩余的子節(jié)點轉(zhuǎn)移給該分布式會議系統(tǒng)中具有剩余資源的其它MCU節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)某一節(jié)點請求作為某一MCU節(jié)點的子節(jié)點時,該MCU節(jié)點根據(jù)其最大負載能力和最大子節(jié)點數(shù)目確定其是否作為其子節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)該請求的節(jié)點不能作為該MCU節(jié)點的子節(jié)點時,將該節(jié)點作為具有最低負載的其它MCU節(jié)點的子節(jié)點,或增加一MCU節(jié)點并將該節(jié)點作為該新的MCU節(jié)點的子節(jié)點,或?qū)⒃撜埱蟮墓?jié)點作為新的MCU節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)該分布式會議系統(tǒng)的結(jié)構(gòu)變更時,與該結(jié)構(gòu)變更相關(guān)的MCU節(jié)點更新網(wǎng)絡(luò)拓撲,且將該更新的網(wǎng)絡(luò)拓撲發(fā)送給該分布式會議系統(tǒng)中的其它MCU節(jié)點。
      在如上所述的分布式會議系統(tǒng)中,每個MCU節(jié)點在其建立全連接后設(shè)置第一調(diào)節(jié)時間。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)達到第一調(diào)節(jié)時間時,根據(jù)負載情況,調(diào)節(jié)網(wǎng)絡(luò)結(jié)構(gòu)。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)達到第一調(diào)節(jié)時間時,根據(jù)負載情況、調(diào)節(jié)效益和調(diào)節(jié)成本,調(diào)節(jié)網(wǎng)絡(luò)結(jié)構(gòu)。
      在如上所述的分布式會議系統(tǒng)中,尚未建立全連接的MCU節(jié)點,設(shè)置第二調(diào)節(jié)時間。
      在如上所述的分布式會議系統(tǒng)中,當(dāng)達到第二調(diào)節(jié)時間時,當(dāng)前MCU節(jié)點確定是否存在可與所有MCU節(jié)點建立全連接的子節(jié)點,當(dāng)確定存在這樣的子節(jié)點時,將該子節(jié)點作為MCU節(jié)點。
      依照本發(fā)明,通過分布式地動態(tài)選擇具有較強處理能力的節(jié)點作為MCU節(jié)點來完成集中處理的任務(wù),因此能夠使得該會議系統(tǒng)的負載均衡,且組網(wǎng)靈活,并避免了單一失敗點的弊端。


      圖1為現(xiàn)有技術(shù)的集中式會議系統(tǒng)的示意圖。
      圖2為現(xiàn)有技術(shù)的全分布式會議系統(tǒng)的示意圖。
      圖3為依照本發(fā)明的分布式會議系統(tǒng)的示意圖。
      圖4為發(fā)起會議時執(zhí)行的處理的流程圖。
      圖5為節(jié)點加入會議時執(zhí)行的處理的流程圖。
      圖6為節(jié)點加入會議時當(dāng)前MCU節(jié)點執(zhí)行的處理的流程圖。
      圖7為MCU節(jié)點離開會議時執(zhí)行的處理的流程圖。
      圖8為MCU節(jié)點離開會議時其它MCU節(jié)點執(zhí)行的處理的流程圖。
      圖9為MCU節(jié)點接收到來自其它MCU節(jié)點的信令消息時執(zhí)行的處理的流程圖。
      圖10為子節(jié)點在各種情況下執(zhí)行的處理的流程圖。
      圖11為第一調(diào)節(jié)時間到達時執(zhí)行的處理的流程圖。
      圖12為第二調(diào)節(jié)時間到達時執(zhí)行的處理的流程圖。
      具體實施例方式
      在依照本發(fā)明的分布式會議系統(tǒng)中,沒有固定的中央處理節(jié)點。所有參加者中處理能力較強和帶寬充足的用戶被動態(tài)地選為“MCU(多點控制單元)節(jié)點”,例如在如圖3所示的分布式會議系統(tǒng)中具有三個MCU節(jié)點。MCU節(jié)點主要工作是混音和分發(fā)數(shù)據(jù)包,MCU節(jié)點的數(shù)目是根據(jù)參加者的數(shù)目和具有較強能力節(jié)點的數(shù)目動態(tài)地確定的。如果用戶增加,某MCU節(jié)點負擔(dān)超過門限時,新的MCU節(jié)點被選出來分擔(dān)其工作量。如果用戶數(shù)減少,某些MCU節(jié)點轉(zhuǎn)換回普通節(jié)點,以保持負載均衡。如果MCU節(jié)點離開時,在已有用戶中選出新的MCU節(jié)點接替其工作。
      在依照本發(fā)明的分布式會議系統(tǒng)中,MCU節(jié)點既是混音節(jié)點也是信令控制點。所有MCU節(jié)點間保持有信令連接,但不一定有直接的媒體流傳輸。每個MCU節(jié)點將其下屬的所有子節(jié)點的數(shù)據(jù)流進行混音處理,并將混音的媒體流發(fā)送給其它MCU節(jié)點。當(dāng)兩個MCU節(jié)點之間不存在直接的媒體流傳輸時,需要在這兩個MCU節(jié)點之間傳輸?shù)拿襟w流通過其它MCU節(jié)點轉(zhuǎn)發(fā)。每個MCU節(jié)點將其下屬子節(jié)點發(fā)出的媒體數(shù)據(jù)混音并將混音的數(shù)據(jù)直接或間接地發(fā)送給其它MCU節(jié)點,以及將來自其它MCU節(jié)點的混音數(shù)據(jù)發(fā)送給其下屬的子節(jié)點。從圖3中可以看出,存在兩路或兩路以上信令或數(shù)據(jù)流傳輸?shù)墓?jié)點就是MCU節(jié)點。此外,當(dāng)發(fā)起會議時,會議的發(fā)起者是最初的MCU節(jié)點。
      每個MCU節(jié)點中存儲有該分布式會議系統(tǒng)的網(wǎng)絡(luò)拓撲,MCU節(jié)點根據(jù)該網(wǎng)絡(luò)拓撲可以確定與該MCU節(jié)點建立媒體連接的MCU節(jié)點、沒有建立媒體連接的MCU節(jié)點、混音的數(shù)據(jù)通過什么路徑傳輸?shù)?。此外,每個MCU節(jié)點收集其下屬的所有子節(jié)點能力信息。特別的,MCU節(jié)點存儲其下屬的所有子節(jié)點中能力最強的節(jié)點作為備用節(jié)點。此外,當(dāng)某些新加入子節(jié)點處理能力更強,MCU可以與該新加入的子節(jié)點進行角色互換。此外,在依照本發(fā)明的分布式會議系統(tǒng)中,MCU節(jié)點間可進行負載的分配。
      下面,參照附圖,詳細描述構(gòu)造該分布式會議系統(tǒng)的方法。
      如圖4所示,描述了發(fā)起會議時所執(zhí)行的處理的流程圖。當(dāng)會議發(fā)起者發(fā)起會議時,首先在步驟S401中,將會議發(fā)起者的節(jié)點作為MCU節(jié)點。
      接著,在步驟S402中,請求其它相應(yīng)的節(jié)點加入會議。
      接著,在步驟S403中,判斷在步驟S402中加入的節(jié)點是否具有更高的能力。如果確定該新加入的節(jié)點的能力比當(dāng)前的MCU節(jié)點的能力低時(步驟S403中的“否”),將該新加入的節(jié)點作為該MCU節(jié)點的子節(jié)點。如果確定該新加入的節(jié)點具有比當(dāng)前MCU節(jié)點更高的能力(步驟S403中的“是”),則在步驟S404中將該節(jié)點變?yōu)樾碌腗CU節(jié)點,而當(dāng)前的MCU節(jié)點變?yōu)樵撔碌腗CU節(jié)點的子節(jié)點。接著,在步驟S405中,設(shè)置結(jié)構(gòu)調(diào)節(jié)時間Tj。
      在如圖4所示的處理中,因為會議網(wǎng)路剛剛建立,因此僅存在一個MCU節(jié)點就可以滿足系統(tǒng)的要求。當(dāng)參加的會議者越來越多時,新加入的節(jié)點可以變?yōu)樾碌腗CU節(jié)點,且不會代替現(xiàn)存的MCU節(jié)點。這種情況將參照如圖5所示的流程圖進行詳細描述。
      如圖5所示,當(dāng)某一節(jié)點請求加入會議時,其首先在步驟S501中發(fā)送加入請求給會議網(wǎng)絡(luò)中的一節(jié)點。
      接著,在步驟S502中,判斷該請求是否被接受。如果在步驟S502中被拒絕該請求時,則直接結(jié)束,請求者不能加入會議。當(dāng)在步驟S502中該加入請求被接受時,進行至步驟S503,確定該新加入的節(jié)點是否被指定為MCU節(jié)點,即根據(jù)網(wǎng)絡(luò)當(dāng)前負載和該新加入的節(jié)點的的負載能力確定該節(jié)點是否作為MCU節(jié)點。
      當(dāng)在步驟S503中確定該新加入的節(jié)點沒有被指定為MCU節(jié)點時,進行至步驟S504,該節(jié)點與當(dāng)前MCU節(jié)點建立信令和媒體連接,作為該MCU節(jié)點下屬的一個子節(jié)點。
      當(dāng)在步驟S503中確定該新加入的節(jié)點被指定為MCU節(jié)點時,進行至步驟S505,該新加入的節(jié)點指定為MCU節(jié)點,且從當(dāng)前MCU節(jié)點獲取網(wǎng)絡(luò)拓撲。
      接著,在步驟S506中,根據(jù)步驟S505獲得的網(wǎng)絡(luò)拓撲,試圖和該網(wǎng)絡(luò)拓撲中的所有MCU節(jié)點建立信令和媒體連接。當(dāng)存在沒有和該新加入的節(jié)點建立媒體連接的MCU節(jié)點時,在步驟S507中,請求該MCU節(jié)點將其一子節(jié)點轉(zhuǎn)移至該新加入的節(jié)點之下,作為其一個子節(jié)點。然后在步驟S508中,再次請求與該MCU節(jié)點建立媒體連接。
      接著在步驟S509中,判斷該新加入的節(jié)點是否和所有MCU節(jié)點建立了媒體連接。當(dāng)確定和所有MCU節(jié)點建立了媒體連接時,進行至步驟S514,設(shè)置結(jié)構(gòu)調(diào)整時間Tj。當(dāng)確定沒有和所有MCU節(jié)點建立連接時,在步驟S510中進一步判斷當(dāng)前連接是否達到了自己的能力閾值。當(dāng)確定沒有達到自己的能力閾值時,返回步驟S506,重復(fù)執(zhí)行步驟S506-510。當(dāng)確定達到了自己的能力閾值時,進行至步驟S512,設(shè)置網(wǎng)絡(luò)結(jié)構(gòu)調(diào)節(jié)定時Ts,并進行至步驟S513。在步驟S513中,該新加入的節(jié)點請求與其連接的MCU節(jié)點轉(zhuǎn)送混音媒體給沒有與其媒體連接的MCU節(jié)點。
      當(dāng)然,在如圖5所示的處理中,當(dāng)新加入的節(jié)點被指定為MCU節(jié)點時,也可以使其代替網(wǎng)絡(luò)中現(xiàn)存的某一MCU節(jié)點。新加入的MCU節(jié)點是否代替現(xiàn)存的MCU節(jié)點可以根據(jù)整個網(wǎng)絡(luò)的負載和處理情況確定。
      當(dāng)現(xiàn)存MCU節(jié)點接收到來自新的節(jié)點的請求OK響應(yīng)(表示該新的節(jié)點接受MCU節(jié)點發(fā)出的會議請求),加入會議請求,或來自子節(jié)點轉(zhuǎn)發(fā)的加入會議請求,執(zhí)行如圖6所示的處理。
      首先,在步驟S602中,判斷其當(dāng)前MCU節(jié)點的負載和下屬子節(jié)點的數(shù)目是否沒有達到了Th1和Th2,Th1為MCU節(jié)點的最大負載閾值,Th2為MCU節(jié)點的最大子節(jié)點數(shù)目閾值,Th1和Th2對于不同的MCU節(jié)點其數(shù)值也各不相同,且Th2小于或等于Th1。
      當(dāng)確定其當(dāng)前負載和下屬子節(jié)點的數(shù)目沒有達到了Th1和Th2(步驟S602中的“是”)時,進行至步驟S610,接受該節(jié)點作為其子節(jié)點,并在步驟S609中更新網(wǎng)絡(luò)拓撲以及將網(wǎng)絡(luò)拓撲廣播給其它MCU節(jié)點。當(dāng)確定其當(dāng)前負載和下屬子節(jié)點的數(shù)目達到了Th1和Th2(步驟S602中的“否”)時,進行至步驟S603,檢查其它所有MCU節(jié)點中是否存在同時滿足這兩個閾值Th1和Th2的MCU節(jié)點。
      當(dāng)確定存在同時滿足這兩個閾值的其它MCU節(jié)點時,在步驟S604中將該請求轉(zhuǎn)送給這些MCU節(jié)點中具有最低相對負載的MCU節(jié)點。
      當(dāng)確定不存在同時滿足這兩個閾值的其它MCU節(jié)點時,通過步驟S605和S606的判斷,判斷是否存在僅滿足Th1的MCU節(jié)點。如果當(dāng)前MCU節(jié)點滿足Th1,則進行至步驟S610,如果當(dāng)前MCU節(jié)點不滿足Th1,但其它MCU節(jié)點滿足Th1時,進行至步驟S604。
      當(dāng)確定所有MCU節(jié)點中都不存在負載小于其最大負載的MCU節(jié)點時(步驟S606中的否),進行至步驟S607,指定備用MCU節(jié)點或該新加入的節(jié)點作為MCU節(jié)點。接著,在步驟S608中,當(dāng)前MCU節(jié)點與該新的MCU節(jié)點建立信令連接(如果該新的MCU節(jié)點之前是備用MCU節(jié)點,當(dāng)前MCU節(jié)點和備用MCU節(jié)點之間本來就存在信令連接,則沒有該步驟),并將網(wǎng)絡(luò)拓撲通知該新的MCU節(jié)點。然后,在步驟S609中,當(dāng)前MCU節(jié)點更新網(wǎng)絡(luò)拓撲,并將該更新的網(wǎng)絡(luò)拓撲通知該會議系統(tǒng)中的其它MCU節(jié)點。
      當(dāng)現(xiàn)有網(wǎng)絡(luò)中的一個節(jié)點離開該會議時,首先確定該節(jié)點是MCU節(jié)點還是普通節(jié)點(即子節(jié)點)。當(dāng)該離開的節(jié)點是子節(jié)點時,該子節(jié)點直接與其連接的MCU節(jié)點斷開。當(dāng)該離開的節(jié)點是MCU節(jié)點(下面,稱為離開MCU節(jié)點)時,其處理如圖7所示。同時,其它MCU節(jié)點(下面,稱為現(xiàn)存MCU節(jié)點)也進行相應(yīng)的處理,其處理如圖8所示。
      如圖7所示,首先,在步驟S701中指定備用MCU節(jié)點接管該離開MCU節(jié)點的任務(wù)。
      在步驟S702中,離開MCU節(jié)點發(fā)送混音媒體給備用MCU節(jié)點,并發(fā)送離開消息給其它所有MCU節(jié)點。
      在步驟S703中,確定該離開MCU節(jié)點下是否存在子節(jié)點。當(dāng)確定該離開MCU節(jié)點下沒有任何子節(jié)點時,進行至步驟710,按照預(yù)定次序終止與所有MCU節(jié)點的連接。否則,進行至步驟S704。
      在步驟S704中,判斷是否達到備用MCU節(jié)點的Th1。當(dāng)確定沒有達到了備用MCU節(jié)點的Th1時,在步驟S705中將離開MCU節(jié)點的一個子節(jié)點轉(zhuǎn)移至與備用MCU節(jié)點連接,并返回步驟S703。從而,通過步驟S703-805的循環(huán)操作,將離開MCU節(jié)點下的子節(jié)點一個一個地轉(zhuǎn)移至與備用MCU節(jié)點連接,直至達到了備用MCU節(jié)點的Th1。當(dāng)確定達到了備用MCU節(jié)點的Th1時,進行至步驟進行至步驟S706,將剩下的子節(jié)點轉(zhuǎn)移至其它具有足夠能力的其它MCU節(jié)點。
      類似于步驟S704,在步驟S707中,判斷是否達到所有MCU節(jié)點的Th1。
      當(dāng)確定所有MCU節(jié)點的Th1都已經(jīng)達到了且剩下了一些子節(jié)點時(即步驟S708的“是”),在步驟S709中該離開MCU節(jié)點終止與剩下子節(jié)點的連接,且進行至步驟710。當(dāng)確定該離開MCU節(jié)點下沒有了子節(jié)點時,或執(zhí)行了步驟S709之后,離開MCU節(jié)點在步驟710中按照預(yù)定次序終止與所有MCU節(jié)點的連接。
      圖8詳細描述了某一離開MCU節(jié)點離開會議時,現(xiàn)存MCU節(jié)點的處理。
      首先,在步驟S802中,現(xiàn)存MCU節(jié)點不會轉(zhuǎn)移任何節(jié)點給離開MCU節(jié)點,且現(xiàn)存MCU節(jié)點為新的MCU節(jié)點保存當(dāng)前使用帶寬,以用于和新的MCU節(jié)點連接。
      接著,在步驟S803中,確定是否接收到離開MCU節(jié)點發(fā)出的子節(jié)點轉(zhuǎn)移請求。如果沒有接收到子節(jié)點轉(zhuǎn)移請求,則在步驟S807中直接終止與離開MCU節(jié)點的連接。當(dāng)在步驟S803中接收到子節(jié)點轉(zhuǎn)移請求時,進行至步驟S804,該現(xiàn)存MCU節(jié)點確定其是否有足夠的剩余資源接受該子節(jié)點。如果資源不夠,則在步驟S808中拒絕該請求,然后在步驟S807中終止與離開MCU節(jié)點的連接。
      如果現(xiàn)存MCU節(jié)點確定其具有足夠的剩余資源接受該子節(jié)點,則在步驟S805中為該子節(jié)點保留帶寬,然后在步驟S806中與新的子節(jié)點建立信令連接和媒體連接,并更新網(wǎng)絡(luò)拓撲。然后,在步驟S807中終止與離開MCU節(jié)點的連接。
      在該分布式會議系統(tǒng)中,MCU節(jié)點從其它MCU節(jié)點接收的信令消息主要包括拓撲更新、子節(jié)點轉(zhuǎn)移或接收請求、以及與其它MCU節(jié)點建立媒體連接的請求。下面,參照圖9,詳細描述MCU接收到其它MCU節(jié)點發(fā)出的信令消息時的處理。
      當(dāng)在步驟S901中接收到拓撲更新的信令消息時,該MCU節(jié)點首先在步驟S902中將該接收到的拓撲與其自身存儲的拓撲進行比較。當(dāng)確定接收到的拓撲與其自身存儲的拓撲不同時,在步驟S903中更新其存儲的拓撲。
      當(dāng)在步驟S904中從請求MCU節(jié)點接收到請求其轉(zhuǎn)移或接收子節(jié)點的請求時,如果不同意(步驟S905中的“否”),則在步驟S908中發(fā)送拒絕消息給該請求MCU節(jié)點;如果同意(步驟S905中的“是”),則在步驟S906中將OK消息(請求接受消息)給請求MCU節(jié)點,指定子節(jié)點與請求的MCU節(jié)點建立信令連接和媒體連接(轉(zhuǎn)移子節(jié)點的情況),或為新的子節(jié)點保留帶寬并與該新的子節(jié)點建立信令連接和媒體連接(接收子節(jié)點的情況)。接著,在步驟S907中更新拓撲,并將更新的拓撲發(fā)送給該分布式會議系統(tǒng)中的所有MCU節(jié)點。步驟S905的判斷步驟在前面的描述進行了描述,在此不在描述。
      當(dāng)在步驟S910中接收到來自其它MCU節(jié)點的媒體連接請求時,該MCU節(jié)點首先在步驟S911中確定其是否有能力與該請求的MCU節(jié)點建立媒體連接。當(dāng)該MCU節(jié)點確定其沒有能力與該請求的MCU節(jié)點建立媒體連接時(步驟S911中的“否”),在步驟S914發(fā)送拒絕消息給該請求的MCU節(jié)點。當(dāng)該MCU節(jié)點確定其有能力與該請求的MCU節(jié)點建立媒體連接時(步驟S911中的“是”),在步驟S912與該請求的MCU節(jié)點建立媒體連接,并在步驟S913中更新拓撲,并將更新的拓撲發(fā)送給該分布式會議系統(tǒng)中的所有MCU節(jié)點。
      在該分布式會議系統(tǒng)中,子節(jié)點所執(zhí)行的處理主要有下面的三種情況指定為MCU節(jié)點、由于MCU節(jié)點的離開而與網(wǎng)絡(luò)斷開、和在MCU節(jié)點之間轉(zhuǎn)移。下面,參照圖10,詳細描述子節(jié)點在這三種情況下的處理。
      當(dāng)子節(jié)點在步驟S1001中指定為MCU節(jié)點時,其首先在步驟S1002中從主MCU節(jié)點獲取網(wǎng)絡(luò)拓撲。接著在步驟S1003中與拓撲中的所有MCU節(jié)點建立連接,并在步驟S1004中盡可能地與所有請求的子節(jié)點建立信令和媒體連接。
      當(dāng)子節(jié)點在步驟S1005中由于與其連接的MCU節(jié)點的離開而與網(wǎng)絡(luò)斷開時,其在步驟S1006中終止與該MCU節(jié)點的連接,且在步驟S1007中重新開始下次加入會議的定時器。在步驟S1005中的情況是指與其連接的MCU節(jié)點離開,且該子節(jié)點不能轉(zhuǎn)移給其它MCU節(jié)點的情況。
      當(dāng)子節(jié)點在步驟S1008中在MCU節(jié)點之間轉(zhuǎn)移時,其在步驟S1009中與目標(biāo)MCU節(jié)點建立信令和媒體連接,且與當(dāng)前連接的MCU節(jié)點斷開。步驟S1008可能是在當(dāng)前MCU節(jié)點離開、網(wǎng)絡(luò)結(jié)構(gòu)調(diào)節(jié)等情況下發(fā)生。
      在該分布式會議系統(tǒng)中,當(dāng)每個MCU節(jié)點建立全連接后,都會設(shè)置一第一網(wǎng)絡(luò)調(diào)節(jié)時間Tj。此外,沒有全連接的MCU節(jié)點,會設(shè)置一第二網(wǎng)絡(luò)調(diào)節(jié)時間Ts。當(dāng)這些網(wǎng)絡(luò)調(diào)節(jié)時間到達時,對網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)節(jié),如圖11和12所示。
      如圖11所示,當(dāng)?shù)谝痪W(wǎng)絡(luò)調(diào)節(jié)時間Tj時,首先在步驟S1101中確定自己是否還帶有子節(jié)點。如果由于網(wǎng)絡(luò)的調(diào)整或節(jié)點的離開使得該MCU節(jié)點已經(jīng)不帶有任何子節(jié)點,該MCU節(jié)點將轉(zhuǎn)換為一個普通子節(jié)點。當(dāng)在步驟S1101中確定不存在剩余子節(jié)點時,在步驟S1113中從所有MCU節(jié)點中選擇具有最小工作負載和媒體連接的MCU節(jié)點,變成為其子節(jié)點。接著在步驟S1114中請求其它MCU節(jié)點終止與該MCU節(jié)點的信令和媒體連接,且在步驟S1115中更新網(wǎng)絡(luò)拓撲。
      當(dāng)在步驟S1101中確定存在剩余子節(jié)點時,進行至步驟S1102,確定當(dāng)前MCU節(jié)點的相對負載是否小于Th2,Th2為該MCU節(jié)點可以連接的最大子節(jié)點數(shù)目。
      當(dāng)在步驟S1102中確定當(dāng)前MCU節(jié)點的相對負載小于Th2時,進行至步驟S1103,確定該MCU節(jié)點的相對負載是否為所有MCU節(jié)點中負載最小的節(jié)點。當(dāng)在步驟S1103中確定當(dāng)前MCU節(jié)點的相對負載不是所有MCU節(jié)點中負載最小的節(jié)點時,進行至步驟S1106,重新開始Tj的計時。當(dāng)在步驟S1103中確定當(dāng)前MCU節(jié)點的相對負載是所有MCU節(jié)點中負載最小的節(jié)點時,進行至步驟S1104,判斷從最大負載的MCU節(jié)點獲取一個子節(jié)點后當(dāng)前MCU節(jié)點的負載是否變?yōu)樽畲?。?dāng)在步驟S1104中的判斷為“是”時,進行至步驟S1106,重新開始Tj的計時。當(dāng)在步驟S1104中的判斷為“否”時,進行至步驟S1105,從該具有最大負載的MCU節(jié)點獲取一個子節(jié)點,作為當(dāng)前MCU節(jié)點的子節(jié)點,接著在步驟S1106中重新開始Tj的計時。
      當(dāng)在步驟S1102中確定當(dāng)前MCU節(jié)點的相對負載不小于Th2時,進行至步驟S1107,確定該MCU節(jié)點是否存在能力更高、能夠使得負載<Th2的子節(jié)點。如果存在這樣的子節(jié)點,則進一步在步驟S1108中確定調(diào)節(jié)效益Bj是否大于調(diào)節(jié)成本Cj。當(dāng)在步驟S1108中確定調(diào)節(jié)效益Bj大于調(diào)節(jié)成本Cj時,當(dāng)前MCU節(jié)點與該子節(jié)點角色互換。當(dāng)確定調(diào)節(jié)效益Bj不大于調(diào)節(jié)成本Cj時,結(jié)束處理,等待下一次調(diào)節(jié)時間Tj的到達。調(diào)節(jié)成本為MCU節(jié)點與子節(jié)點角色互換時所涉及的節(jié)點數(shù)目,傳輸時延,用戶接收信號質(zhì)量臨時下降和信令傳輸開銷等;調(diào)節(jié)效益是調(diào)整后用戶接收信號質(zhì)量和網(wǎng)絡(luò)穩(wěn)定性的提高等。
      當(dāng)在步驟S1107中確定該MCU節(jié)點不存在這樣的子節(jié)點時,進行至步驟S1109,確定其它MCU節(jié)點是否存在這樣的子節(jié)點。當(dāng)其它MCU節(jié)點存在這樣的子節(jié)點時,進一步在步驟S1110中判斷轉(zhuǎn)移該子節(jié)點的轉(zhuǎn)移成本和調(diào)節(jié)成本是否小于調(diào)節(jié)效益,即判斷是否有必要對該子節(jié)點進行調(diào)節(jié)。調(diào)節(jié)成本為MCU節(jié)點與子節(jié)點角色互換時所涉及的節(jié)點數(shù)目,傳輸時延,用戶接收信號質(zhì)量臨時下降和信令傳輸開銷等;調(diào)節(jié)效益是調(diào)整后用戶接收信號質(zhì)量和網(wǎng)絡(luò)穩(wěn)定性的提高等。轉(zhuǎn)移成本為子節(jié)點在MCU節(jié)點間轉(zhuǎn)移所引起的信令傳輸開銷,時延,信號質(zhì)量臨時下降等。轉(zhuǎn)移成本、調(diào)節(jié)成本和調(diào)節(jié)效益的具體實現(xiàn)可根據(jù)不同網(wǎng)絡(luò)的特點具體定義。當(dāng)步驟S1110中確定有必要調(diào)節(jié)該子節(jié)點時,該子節(jié)點在該子節(jié)點的MCU節(jié)點和當(dāng)前MCU節(jié)點之間切換,接著在步驟S1112中設(shè)置Tj。當(dāng)在步驟S1109中確定其它MCU節(jié)點不存在這樣的子節(jié)點,或者在步驟S1109中確定其它MCU節(jié)點存在這樣的子節(jié)點但是沒有必要調(diào)節(jié)該子節(jié)點時,執(zhí)行步驟S1112,設(shè)置Tj,并等待下一次調(diào)節(jié)時間Tj的到達。
      如圖12所示,當(dāng)?shù)诙W(wǎng)絡(luò)調(diào)節(jié)時限Ts到達時,首先在步驟1201中確定當(dāng)前沒有建立全連接的MCU節(jié)點是否存在一子節(jié)點,其能夠與其它所有MCU節(jié)點建立全連接。當(dāng)確定存在這樣的子節(jié)點時,該子節(jié)點與連接該子節(jié)點的當(dāng)前MCU節(jié)點角色互換,即該子節(jié)點變?yōu)樾碌腗CU節(jié)點,當(dāng)前MCU節(jié)點變?yōu)樵撔碌腗CU節(jié)點的子節(jié)點,且該新的MCU節(jié)點與其它所有MCU節(jié)點連接全連接。
      當(dāng)在步驟1201中確定當(dāng)前MCU節(jié)點不存在這樣的子節(jié)點時,在步驟S1202中確定其它MCU節(jié)點是否存在可以與其它所有MCU節(jié)點建立全連接的子節(jié)點。當(dāng)在步驟S1202中確定不存在這樣的子節(jié)點時,進行至步驟S1204,重新設(shè)置第二網(wǎng)絡(luò)調(diào)節(jié)時限Ts。當(dāng)在步驟S1202中確定存在這樣的子節(jié)點時,進行至步驟S1203,請求該子節(jié)點的MCU節(jié)點交換子節(jié)點,即當(dāng)前沒有建立全連接的MCU節(jié)點任意選擇一個子節(jié)點與這個滿足條件的子節(jié)點進行交換。接著,在步驟S1204中重新設(shè)置第二網(wǎng)絡(luò)調(diào)節(jié)時限Ts。
      依照本發(fā)明,通過分布式的動態(tài)選擇具有較強處理能力的節(jié)點作為MCU節(jié)點,來完成集中處理的任務(wù)。因此,具有負載均衡,組網(wǎng)靈活,并避免了單一失敗點的特點。
      雖然本發(fā)明已以具體的方式進行了表達,但并不是用以限定本發(fā)明,任何熟悉該技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可以做各種改動和潤飾,因此本發(fā)明的保護范圍當(dāng)視專利申請范圍所界定者為準(zhǔn)。
      權(quán)利要求
      1.一種分布式會議系統(tǒng),其包括MCU節(jié)點和MCU節(jié)點下屬的子節(jié)點,MCU節(jié)點為該分布式會議系統(tǒng)中的混音節(jié)點和信令控制節(jié)點,其中,MCU節(jié)點由用戶終端來擔(dān)任,MCU節(jié)點動態(tài)調(diào)節(jié)以使得網(wǎng)絡(luò)穩(wěn)定,負載均衡。
      2.如權(quán)利要求1所述的分布式會議系統(tǒng),其中,MCU節(jié)點的選擇以及MCU節(jié)點的數(shù)目根據(jù)會議參加者的數(shù)目和節(jié)點的負載能力動態(tài)確定。
      3.如權(quán)利要求2所述的分布式會議系統(tǒng),其中,每兩個MCU節(jié)點之間建立有信令連接,或信令連接和媒體連接,當(dāng)一個MCU節(jié)點與該分布式會議系統(tǒng)中的其它所有MCU節(jié)點建立了媒體連接時,該MCU節(jié)點建立了全連接,當(dāng)一個MCU節(jié)點沒有與該分布式會議系統(tǒng)中的其它所有MCU節(jié)點建立媒體連接時,該MCU節(jié)點非全連接。
      4.如權(quán)利要求2所述的分布式會議系統(tǒng),其中,每個MCU節(jié)點中保存有網(wǎng)絡(luò)拓撲。
      5.如權(quán)利要求3所述的分布式會議系統(tǒng),其中,每個MCU節(jié)點記錄其子節(jié)點中負載能力最大的節(jié)點作為備用MCU節(jié)點。
      6.如權(quán)利要求4所述的分布式會議系統(tǒng),其中,每個子節(jié)點與其MCU節(jié)點之間建立有媒體連接和信令連接。
      7.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,當(dāng)新的節(jié)點加入該分布式會議系統(tǒng)時,根據(jù)該網(wǎng)絡(luò)當(dāng)前負載和新的節(jié)點的負載能力確定其是否作為新的MCU節(jié)點。
      8.如權(quán)利要求7所述的分布式會議系統(tǒng),其中,當(dāng)新的節(jié)點加入該分布式會議系統(tǒng)且作為新的MCU節(jié)點時,該新的MCU節(jié)點從當(dāng)前MCU節(jié)點獲取網(wǎng)絡(luò)拓撲,并將當(dāng)前負載已接近閾值的MCU節(jié)點的部分子節(jié)點轉(zhuǎn)移作為該新的MCU節(jié)點的子節(jié)點。
      9.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,當(dāng)MCU節(jié)點離開該分布式會議系統(tǒng)時,指定備用MCU節(jié)點作為新的MCU節(jié)點,且將其部分或全部子節(jié)點轉(zhuǎn)移作為新的MCU節(jié)點的子節(jié)點。
      10.如權(quán)利要求9所述的分布式會議系統(tǒng),其中,當(dāng)離開的MCU節(jié)點的子節(jié)點不能全部作為新的MCU節(jié)點的子節(jié)點時,將剩余的子節(jié)點轉(zhuǎn)移給該分布式會議系統(tǒng)中具有剩余資源的其它MCU節(jié)點。
      11.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,當(dāng)某一節(jié)點請求作為某一MCU節(jié)點的子節(jié)點時,該MCU節(jié)點根據(jù)其最大負載能力和最大子節(jié)點數(shù)目確定其是否作為其子節(jié)點。
      12.如權(quán)利要求11所述的分布式會議系統(tǒng),其中,當(dāng)該請求的節(jié)點不能作為該MCU節(jié)點的子節(jié)點時,將該節(jié)點作為具有最低負載的其它MCU節(jié)點的子節(jié)點,或增加一MCU節(jié)點并將該節(jié)點作為該新的MCU節(jié)點的子節(jié)點,或?qū)⒃撜埱蟮墓?jié)點作為新的MCU節(jié)點。
      13.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,當(dāng)該分布式會議系統(tǒng)的結(jié)構(gòu)變更時,與該結(jié)構(gòu)變更相關(guān)的MCU節(jié)點更新網(wǎng)絡(luò)拓撲,且將該更新的網(wǎng)絡(luò)拓撲發(fā)送給該分布式會議系統(tǒng)中的其它MCU節(jié)點。
      14.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,每個MCU節(jié)點在其建立全連接后設(shè)置第一調(diào)節(jié)時間。
      15.如權(quán)利要求14所述的分布式會議系統(tǒng),其中,當(dāng)達到第一調(diào)節(jié)時間時,根據(jù)負載情況,調(diào)節(jié)網(wǎng)絡(luò)結(jié)構(gòu)。
      16.如權(quán)利要求14所述的分布式會議系統(tǒng),其中,當(dāng)達到第一調(diào)節(jié)時間時,根據(jù)負載情況、調(diào)節(jié)效益和調(diào)節(jié)成本,調(diào)節(jié)網(wǎng)絡(luò)結(jié)構(gòu)。
      17.如權(quán)利要求1-6任一項所述的分布式會議系統(tǒng),其中,沒有建立全連接的MCU節(jié)點設(shè)置第二調(diào)節(jié)時間。
      18.如權(quán)利要求17所述的分布式會議系統(tǒng),其中,當(dāng)達到第二調(diào)節(jié)時間時,當(dāng)前MCU節(jié)點確定是否存在可與所有MCU節(jié)點建立全連接的子節(jié)點,當(dāng)確定存在這樣的子節(jié)點時,將該子節(jié)點作為MCU節(jié)點。
      全文摘要
      本發(fā)明提供一種分布式會議系統(tǒng),其包括MCU節(jié)點和MCU節(jié)點下屬的子節(jié)點,MCU節(jié)點為該分布式會議系統(tǒng)中的混音節(jié)點和信令控制節(jié)點。其中,MCU節(jié)點由用戶終端來擔(dān)任,并且MCU節(jié)點動態(tài)調(diào)節(jié)以使得網(wǎng)絡(luò)穩(wěn)定,負載均衡。
      文檔編號H04N7/15GK101047531SQ200610067069
      公開日2007年10月3日 申請日期2006年3月31日 優(yōu)先權(quán)日2006年3月31日
      發(fā)明者馬文超, 于辰濤, 田日輝 申請人:聯(lián)想(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1