專利名稱:一種分布式處理網關中Move命令的實現方法
技術領域:
本發明涉及通信領域,具體地說,涉及3GPP/3GPP組織定義的WCDMA/CDMA2000/TD系統中Mc接口的H.248協議的命令處理方法。
背景技術:
H.248協議被3GPP/3GPP2等組織采用,作為MSC服務器(MSC Server)和媒體網關(MGW)間的接口(即Mc接口)的協議標準,主要用于MSC Server和MGW之間的網關控制以及承載建立控制。
MSC Server與MGW之間通過H.248通信,H.248的消息從外向內嵌套依次是事務(Transaction)/動作(Action)/命令(Command)事務事務由若干動作組成,事務具有完整性,同一個事務中的動作和命令要求順序執行。
動作動作由若干命令組合而成,動作一般有具體的含義,特殊情況下,一個動作由一條命令組成。動作實際上是一組命令的標識。
命令命令是MSC Server和MGW實現交互信息的基本單位,命令中包括各種命令參數。
命令的操作對象是上下文(Context),上下文以上下文標識(Context ID)區分。上下文與呼叫對應,維護參與呼叫的終結點(Termination)狀態。一個終結點在任何時候只能位于確定的一個上下文中。終結點有兩種類型永久性(permanent)終結點和非永久性(ephemeral)終結點,在WCDMA/CDMA2000/TD網絡中,永久性終結點有TDM終結點,非永久性終結點有RTP終結點和AAL2終結點。
Move是H.248協議規定的八種命令中的一種,用于將終結點從當前所在上下文中的遷移到另一個上下文中,該命令用于呼叫等待等場合,不用于將終結點移入空上下文中或從空上下文中移出,也不用于已退出服務的終結點。
圖1和圖2是呼叫等待模型的Move前后的終結點-上下文關系示意圖。
在圖1中,T1與T2屬于上下文C1,此時,上下文C2中的T3要求與T1通話;在圖2中,MGW將T1從C1 Move到C2中,T1和T3通話,T2等待。
在Move命令所在的事務中,指示的是終結點移動的目的上下文(圖2中的C2),對于終結點當前所在的上下文沒有指示。
在移動網絡中,存在大容量MSC Server和大容量MGW的應用,在大容量的應用下,為提高可靠性以及處理能力,需要采用分布式處理方式。在中國專利申請(申請號03126453.0,專利申請名稱一種大容量H.248協議分布式處理系統和方法)中公開了一種分布式處理網關的系統結構,其結構如圖3所示,包括由多個H.248接口板、多個H.248分布式處理器和H.248集中維護處理器構成,各接口板、處理器之間通過內部通信網絡通信,其中H.248接口板負責接收外部H.248消息和對外發送H.248消息;所述H.248分布式處理器處理所述H.248接口板分發過來的本板H.248消息,生成呼叫相關的H.248消息并通過所述H.248接口板對外發送;所述H.248集中維護處理器處理錯誤消息和針對整個MGW的維護消息,并維護MGC/MGW之間的正常通信,維護二者之間資源和呼叫狀態的一致性。
在分布式處理環境下,存在多個H.248處理器,各處理器分別擁有網關上一部分終結點的信息,各處理器分別對一部分上下文進行處理,這樣各終結點和上下文的處理單元就可能處在不同的處理器中。
仍以圖1和圖2為例,假設C1和C2所在的處理器不同,要將T1從C1Move到C2,首先要找到T1當前所在的處理單元(即C1所在的處理單元),然后將T1的信息數據從當前處理單元轉移到目的單元(即C2所在的處理單元)。由于Move命令中沒有終結點當前所在的上下文的信息,而上下文所在處理單元的分配信息并不是全局的,因此,必須提出一種解決方法,使得Move命令可以根據終結點的信息找到該終結點當前所在的處理單元。
發明內容
有鑒于此,本發明要解決的技術問題是提供一種分布式處理網關中Move命令的實現方法,可以支持分布式處理網關中位于相同或不同處理器上的上下文之間的終結點Move操作。
為了解決上述技術問題,本發明提供了一種分布式處理網關中Move命令的實現方法,包括以下步驟(a)收到Move命令后,目的單元根據要移動的終結點的終結點標識找到該終結點對應的分配單元的編號;(b)所述目的單元向所述分配單元請求所述終結點當前處理單元的信息;(c)所述分配單元向所述目的單元返回所述終結點當前處理單元的信息;(d)目的單元根據得到的所述當前處理單元信息,向所述當前處理單元發出對所述終結點的轉移請求;(e)所述當前處理單元將所述終結點的信息數據轉移到所述目的單元;(f)所述目的單元接收到所述終結點的信息數據后,向所述分配單元發出更新請求,將所述分配單元上的所述終結點的當前處理單元更新為所述目的單元。
為了提高內部通訊的可靠性,在所述步驟(c)中,所述分配單元還可同時啟動了一個比較長的時鐘,在時鐘到時后,如果時鐘到時還沒有收到所述目的單元的更新請求,則向所述目的單元查詢所述終結點的使用情況,如果所述目的單元沒有回應,或者回應已經釋放了所述終結點的數據,則所述分配單元將這個終結點的狀態還原為初始狀態,清除原有的當前處理單元信息。
上述方法中,所述終結點對應的分配單元編號較佳采用直接編入該終結點的標識的方式,在所述步驟(a)中,目的單元可直接從終結點標識中讀取該終結點對應分配單元的編號,以提高效率。
上述方法中,所述分配單元中有其對應終結點的靜態信息,且在分配該終結點時須在所述分配單元中記錄該終結點當前處理單元的信息,在該終結點當前處理單元釋放了該終結點后,所述分配單元要將這個終結點的狀態設置為空閑。
由上可知,本發明方法除支持在一個處理器內部的上下文間執行Move操作外,完全可以支持分布式處理環境中,位于多個不同的處理器上的上下文之間的終結點Move操作,以及對同一個終端的任意次Move操作。
圖1為H.248呼叫等待模型的Move前的終結點-上下文關系示意圖;圖2為H.248呼叫等待模型的Move后的終結點-上下文關系示意圖;圖3為一種分布式處理網關的系統結構的示意圖;圖4為本發明分布式處理單元的模型示意圖;圖5為本發明實施例分布式環境下Move命令的處理流程圖;圖6為本發明實施例分布式環境下Move命令的操作流程圖。
具體實施例方式
本發明的基本思路是為每一終結點建立一個與Termination ID(終結點標識)關聯的分配單元(單元A),分配單元上有該終結點的靜態信息和該終結點當前處理單元的信息(如果有的話);所述當前處理單元(單元P)是指處理終結點當前所在的上下文的處理單元,當前處理單元上有這個終結點的動態信息;文中將Move操作的終結點要移動到的上下文所在的處理單元稱為目的單元(單元D),這樣,收到Move命令后,目的單元就可以根據要操作的終結點的Termination ID找到該終結點的分配單元,向該分配單元請求這個終結點當前處理單元的信息,然后向當前處理單元發出請求,將終結點的動態信息轉移到目的單元,完成操作過程。
上述分配單元、目的單元、當前處理單元的模型示意如圖4所示。這些邏輯單元均可理解成位于圖3所示系統的分布式處理器上,并具有用于相互訪問的唯一標識信息。各單元之間的通訊業內已有多種方式。
本實施例中,MGW先對各終結點對應的分配單元逐一編號,然后將該編號直接入編入對應終結點的Termination ID中,根據終結點類型,分為兩種情況對于永久性終結點,由于Termination ID對應一個具體的物理資源(對于TDM終結點就是一個時隙),這個Termination是MSC Server和MGW確定的,可以協商在Termination ID的組成中直接編入MGW上終結點的分配單元編號。
原二進制格式的TDM的Termination ID結構如下
其中PCM(Pulse Code Modulation,脈沖編碼調制)sytem部分有24bit,將其再進行分配為
unit為8bit,表示該終結點在MGW中對應分配單元的編號。Number為16bit,表示PCM系統的編號。
對于非永久性終結點,Termination ID是由MGW分配,MGW可以直接在Termination ID中加入該終結點對應分配單元的編號。
這樣,就在分配單元和Mc接口的Termination ID之間建立了一一對應關系,因為編號信息直接蘊藏在Termination ID中,因此這個對應關系是全局的,也就是每個處理單元上都有這個信息。
為了使分配單元中能夠記錄其對應終結點的當前處理單元信息,在第一次分配終結點時,要在分配單元記錄終結點的當前處理單元信息,如圖5開始部分所示,用ADD命令在單元2建立一個上下文后,要到其所包含的終結點對應的分配單元進行注冊,記錄下其當前處理單元即單元2的標識信息;而在當前處理單元釋放這個終結點之后,要向該終結點的分配模塊報告,分配單元將這個終結點的狀態設置為空閑,以便進行下一次的分配。
現在詳細介紹本發明實施例Move命令相關過程的流程圖,請參照圖5和圖6,包括以下步驟步驟110,收到Move命令后,目的單元從要移動的終結點的TerminationID中找到該終結點對應的分配單元的編號;步驟120,目的單元向上述分配單元請求該終結點當前處理單元的信息;步驟130,分配單元向目的單元返回該終結點當前處理單元的信息;步驟140,目的單元根據得到的當前處理單元信息,向當前處理單元發出對所述終結點的轉移請求;
步驟150,當前處理單元將該終結點的信息數據轉移到目的單元;步驟160,目的單元接收到該終結點的信息數據后,向分配單元發出更新請求,將分配單元上的該終結點的當前處理單元更新為目的單元。更新后,所述目的單元可作為下一次Move操作的該終結點的當前處理單元。
在上述實施例的基礎上,還可以作各種變換和改進,例如,在終結點被Move到一個和分配單元不同處理器的處理單元后,考慮單元間的通訊的不可靠因素,還可以在步驟130中,同時啟動了一個比較長的時鐘,如果時鐘到時還沒有收到目的單元的更新請求,則向目的單元查詢這個終結點的使用情況,如果目的單元沒有做回應,或者回應已經釋放了這個終結點的數據,則分配單元要設置告警,將這個終結點的狀態復位,還原為初始狀態,清除原有當前處理單元的信息。
又如,如果Termination ID中沒有分配模塊的編號信息,也可以采用表索引的方式來將一個Termination ID翻譯為其對應分配模塊的內部編號,不過這樣還需要訪問該索引表,實現的效率不高。
綜上所述,本發明方法完全可以支持分布式處理環境中,位于多個不同的處理器上的上下文之間的終結點Move操作,同時,上述方法中的目的單元、處理單元和分配單元也可以在一個處理器的內部,即在支持在一個處理器內部的上下文間執行Move操作。而對同一個終結點進行多次操作時,只要重復相應的步驟即可。
權利要求
1.一種分布式處理網關中Move命令的實現方法,包括以下步驟(a)收到Move命令后,目的單元根據要移動的終結點的終結點標識信息找到該終結點對應的分配單元的編號;(b)所述目的單元向所述分配單元請求所述終結點當前處理單元的信息;(c)所述分配單元向所述目的單元返回所述終結點當前處理單元的信息;(d)目的單元根據得到的所述當前處理單元信息,向所述當前處理單元發出對所述終結點的轉移請求;(e)所述當前處理單元將所述終結點的信息數據轉移到所述目的單元;(f)所述目的單元接收到所述終結點的信息數據后,向所述分配單元發出更新請求,將所述分配單元上的所述終結點的當前處理單元更新為所述目的單元。
2.如權利要求1所述的實現方法,其特征在于,在所述步驟(c)中,所述分配單元還同時啟動了一個比較長的時鐘,在時鐘到時后,如果時鐘到時還沒有收到所述目的單元的更新請求,則向所述目的單元查詢所述終結點的使用情況,如果所述目的單元沒有回應,或者回應已經釋放了所述終結點的數據,則所述分配單元將這個終結點的狀態還原為初始狀態,清除原有的當前處理單元信息。
3.如權利要求1或2所述的實現方法,其特征在于,所述終結點對應的分配單元編號直接編入該終結點的標識中。
4.如權利要求1或2所述的實現方法,其特征在于,所述分配單元有其對應終結點的靜態信息,且在分配該終結點時須在所述分配單元中記錄該終結點當前處理單元的信息,在該終結點當前處理單元釋放該終結點后,所述分配單元要將該終結點的狀態設置為空閑。
全文摘要
本發明公開了一種分布式處理網關中Move命令的實現方法,為每個終結點分配分配單元,根據Termination ID可以定位到這個分配單元,分配單元記錄終結點的當前處理單元,當對終結點進行Move操作時,MOVE的目的單元從分配單元獲取當前處理單元信息并且從當前處理單元將終結點的數據轉移到目的單元,并將分配單元上的當前處理單元更新為MOVE的目的單元。本發明方法除支持在處理器內部的上下文間執行Move操作,而且支持在位于多個不同的處理器上的上下文之間Move終結點。
文檔編號H04L12/66GK1545279SQ20031011342
公開日2004年11月10日 申請日期2003年11月10日 優先權日2003年11月10日
發明者林雪峰, 秦長鵬, 董俊賢, 李寧 申請人:中興通訊股份有限公司