路由決策上下文對(duì)象的制作方法
【專利摘要】各種示例性實(shí)施例涉及一種方法和相關(guān)的網(wǎng)絡(luò)節(jié)點(diǎn),所述方法包括一個(gè)或多個(gè)如下操作:在DRA上從源設(shè)備接收Diameter消息;響應(yīng)接收所述Diameter消息建立路由決策上下文對(duì)象,其中所述路由決策上下文對(duì)象與選擇為接收先前消息的目標(biāo)設(shè)備相關(guān)聯(lián);評(píng)估包括上下文對(duì)象引用的規(guī)則,其中所述評(píng)估包括基于上下文對(duì)象引用訪問路由決策上下文對(duì)象;并且基于該規(guī)則的評(píng)估發(fā)送消息。
【專利說明】路由決策上下文對(duì)象
[0001] 相關(guān)申請(qǐng)的交叉參考
[0002] 本申請(qǐng)涉及以下共同未決的申請(qǐng),該申請(qǐng)?jiān)诖艘胱鳛閰⒖迹荷暾?qǐng)?zhí)枮?13/482, 597,律師事務(wù)所案卷號(hào)為ALC 3809,發(fā)明名稱為"Organization of Diameter routing agent rule sets,'。
【技術(shù)領(lǐng)域】
[0003] 本文所公開的各種典型實(shí)施例一般涉及計(jì)算機(jī)網(wǎng)絡(luò)。
【背景技術(shù)】
[0004] 從互聯(lián)網(wǎng)工程任務(wù)組(IETF)征求意見文檔(RFC) 3588的建議開始起,Diameter 協(xié)議已經(jīng)越來越多地被大量網(wǎng)絡(luò)應(yīng)用采用。例如,第三代合作伙伴項(xiàng)目(3GPP)已經(jīng)針對(duì) 各種策略和計(jì)費(fèi)控制(PCC)、移動(dòng)性管理、以及IP多媒體子系統(tǒng)(MS)的應(yīng)用程序采用了 Diameter為。由于基于IP的網(wǎng)絡(luò)代替電路交換網(wǎng)絡(luò),Diameter甚至要取代SS7作為密鑰 通信信令協(xié)議。隨著網(wǎng)絡(luò)的發(fā)展,Diameter將成為無線和有線通信網(wǎng)絡(luò)中廣泛使用的協(xié)議
[0005] Diameter協(xié)議的一個(gè)顯著方面是Diameter分組路由。被稱為Diameter路由代理 (DRA)的實(shí)體促進(jìn)網(wǎng)絡(luò)中的數(shù)據(jù)分組的移動(dòng)。在各種部署中,DRA可以執(zhí)行如簡單的路由、 代理和重定向的基本的功能。
【發(fā)明內(nèi)容】
[0006] 各種實(shí)施例的簡要總結(jié)如下。在下面的
【發(fā)明內(nèi)容】
中可以做一些簡化和省略,其意 在突出和介紹各種示例性實(shí)施方式的一些方面,而不是限制本發(fā)明的范圍。后面的章節(jié)中 將呈現(xiàn)足以使本領(lǐng)域普通技術(shù)人員的技術(shù)人員能夠制造和使用本發(fā)明概念優(yōu)選的示例性 實(shí)施例的詳細(xì)說明。
[0007] 各種示例性實(shí)施例涉及由Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消 息的方法,所述方法包括:識(shí)別上下文工件,其中,所述上下文工件定義了由DRA使用的上 下文對(duì)象類型;在DRA上從源設(shè)備接收Diameter消息;建立由上下文工件定義的上下文對(duì) 象類型的上下文對(duì)象;評(píng)估包括上下文對(duì)象的引用的規(guī)則,其中,所述評(píng)估包括基于上下文 對(duì)象引用訪問所述上下文對(duì)象;并且基于該規(guī)則的評(píng)估發(fā)送消息。
[0008] 各種典型實(shí)施例涉及用于處理Diameter消息的Diameter路由代理(DRA),所述 DRA包括:上下文工件存儲(chǔ)器,被配置為存儲(chǔ)定義了上下文對(duì)象類型的上下文工件;規(guī)則存 儲(chǔ)器,被配置為存儲(chǔ)包括上下文對(duì)象引用的規(guī)則;Diameter堆棧,被配置為從源設(shè)備接收 Diameter消息;上下文創(chuàng)建器,被配置為建立由所述上下文工件定義的上下文對(duì)象類型的 上下文對(duì)象;規(guī)則引擎,被配置為評(píng)估規(guī)則,其中,所述評(píng)估包括基于所述上下文對(duì)象引用 訪問所述上下文對(duì)象;以及消息處理器,被配置為基于規(guī)則的評(píng)估經(jīng)由所述Diameter堆棧 發(fā)送消息。
[0009] 各種示例性實(shí)施例涉及一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上編碼有用于由 Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消息的指令,所述介質(zhì)包括:用于識(shí) 別上下文工件的指令,其中,所述上下文工件定義了由DRA使用的上下文對(duì)象類型;用于在 DRA上從源設(shè)備接收Diameter消息的指令;用于建立由上下文工件定義的上下文對(duì)象類型 的上下文對(duì)象的指令;用于評(píng)估包括上下文對(duì)象引用的規(guī)則的指令,其中,所述評(píng)估包括基 于上下文對(duì)象引用訪問所述上下文對(duì)象;并且用于基于該規(guī)則的評(píng)估發(fā)送消息的指令。
[0010] 描述了各種實(shí)施例,其中上下文工件(context artifact)是定義上下文對(duì)象的類 的運(yùn)行時(shí)庫(runtime library)。
[0011] 描述了各種實(shí)施例,其中訪問上下文對(duì)象包括檢索由上下文工件定義的屬性。
[0012] 描述了各種實(shí)施例,其中訪問上下文對(duì)象包括調(diào)用由上下文工件定義的動(dòng)作。
[0013] 各種實(shí)施例進(jìn)一步包括,在識(shí)別上下文工件之前,通過DRA的用戶接口接收上下 文的工件。
[0014] 各種實(shí)施例進(jìn)一步包括在所述上下文工件中定位注釋;并基于所述注釋生成上下 文對(duì)象類型的組件名稱,其中組分名稱指的是上下文對(duì)象類型的屬性和動(dòng)作的至少一個(gè)。
[0015] 各種實(shí)施例進(jìn)一步包括:經(jīng)由用戶接口接收對(duì)應(yīng)于該規(guī)則的規(guī)則定義,其中,所述 規(guī)則定義包括對(duì)組件名稱的引用以及對(duì)與上下文對(duì)象引用對(duì)應(yīng)的組件名稱的引用。
[0016] 各種示例性實(shí)施例涉及由Diameter路由代理(DRA)執(zhí)行的用于處理Diameter 消息的方法,所述方法包括:在DRA上從源設(shè)備接收Diameter消息;響應(yīng)接收到所述 Diameter消息,建立路由決策上下文對(duì)象,其中所述路由決策上下文對(duì)象與選擇要接收先 前消息的目標(biāo)設(shè)備相關(guān)聯(lián);評(píng)估包括上下文對(duì)象引用的規(guī)則,其中,所述評(píng)估包括基于上下 文對(duì)象引用訪問路由決策上下文對(duì)象;并且基于該規(guī)則的評(píng)估發(fā)送消息。
[0017] 各種典型實(shí)施例涉及用于處理Diameter消息的Diameter路由代理(DRA),所述 DRA包括:規(guī)則存儲(chǔ)器,被配置為存儲(chǔ)包括上下文對(duì)象引用的規(guī)則;路由決策數(shù)據(jù)庫,被配 置為存儲(chǔ)先前路由決策,其中,所述先前路由決策,包括為先前消息所選擇的的目標(biāo)設(shè)備的 標(biāo)識(shí);Diameter堆棧,被配置為從源設(shè)備接收Diameter消息;上下文創(chuàng)建器,被配置為基 于接收Diameter消息,建立路由決策上下文對(duì)象,其中所述路由決策上下文對(duì)象與先前路 由決策相關(guān)聯(lián);規(guī)則引擎,被配置為評(píng)估該規(guī)則,其中,所述評(píng)估包括:基于所述上下文對(duì) 象引用訪問路由決策上下文對(duì)象;以及消息處理器,被配置為基于該規(guī)則的評(píng)估經(jīng)由所述 Diameter堆棧發(fā)送消息。
[0018] 各種示例性實(shí)施例涉及一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上編碼有用于由 Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消息的指令,所述介質(zhì)包括:用于在 DRA上從源設(shè)備接收Diameter消息的指令;用于響應(yīng)接收到所述Diameter消息,建立路由 決策上下文對(duì)象的指令,其中所述路由決策上下文對(duì)象與選擇要接收先前消息的目標(biāo)設(shè)備 相關(guān)聯(lián);用于評(píng)估包括上下文對(duì)象引用的規(guī)則的指令,其中,所述評(píng)估包括基于上下文對(duì)象 引用訪問路由決策上下文對(duì)象;以及用于基于該規(guī)則的評(píng)估發(fā)送消息的指令。
[0019] 描述了各種實(shí)施例,其中,基于該規(guī)則的評(píng)估發(fā)送消息包括向目標(biāo)設(shè)備發(fā)送 Diameter 消息。
[0020] 描述了各種實(shí)施例,其中所述Diameter消息與第一Diameter應(yīng)用相關(guān),先前消息 與第二Diameter應(yīng)用相關(guān)。
[0021] 各種實(shí)施例進(jìn)一步包括,在接收Diameter消息之前:在DRA接收先前消息;確定 先前消息應(yīng)該被路由到目標(biāo)設(shè)備;發(fā)送先前消息至目標(biāo)設(shè)備;并存儲(chǔ)先前消息的標(biāo)識(shí)的與 所述目標(biāo)設(shè)備作為路由決策。
[0022] 描述了各種實(shí)施例,其中訪問所述路由決策上下文對(duì)象包括更新與所述路由決策 相關(guān)聯(lián)的時(shí)間戳。
[0023] 各種實(shí)施例進(jìn)一步包括:基于與所述路由決策相關(guān)聯(lián)的時(shí)間戳,確定所述路由決 策應(yīng)該被刪除;以及,從DRA的存儲(chǔ)器中刪除所述路由決策。
[0024] 描述了各種實(shí)施例,其中建立路由決策上下文對(duì)象以及訪問路由決策上下文對(duì)象 的至少一個(gè)包括:從Diameter消息提取至少一條標(biāo)識(shí)信息;以及確定所述至少一條標(biāo)識(shí)信 息對(duì)應(yīng)于先前消息。
[0025] 各種示例性實(shí)施例涉及由Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消 息的方法,所述方法包括:在DRA從源裝置接收Diameter消息,所述Diameter消息與訂戶 相關(guān)聯(lián);響應(yīng)接收到所述Diameter消息,建立訂戶記錄上下文對(duì)象,其中所述訂戶記錄上 下文對(duì)象與所述訂戶的訂戶記錄相關(guān)聯(lián);評(píng)估包括上下文對(duì)象引用的規(guī)則,其中,所述評(píng)估 包括根據(jù)上下文對(duì)象引用訪問訂戶記錄上下文對(duì)象;并且基于該規(guī)則的評(píng)估發(fā)送消息。
[0026] 各種典型實(shí)施例涉及用于處理Diameter消息的Diameter路由代理(DRA),所 述DRA包括:規(guī)則存儲(chǔ)器,被被配置為存儲(chǔ)包括上下文對(duì)象引用的規(guī)則;Diameter堆棧,被 配置為從源設(shè)備接收Diameter消息,其中,所述Diameter消息與訂戶相關(guān);上下文創(chuàng)建 器,被配置為建立訂戶記錄上下文對(duì)象,其中,所述訂戶記錄上下文對(duì)象與所述訂戶的訂 戶記錄相關(guān)聯(lián);規(guī)則引擎,被配置為評(píng)估該規(guī)則,其中,所述評(píng)估包括:基于所述上下文對(duì) 象引用訪問訂戶記錄上下文對(duì)象;以及消息處理器,被配置為基于該規(guī)則的評(píng)估經(jīng)由所述 Diameter堆棧發(fā)送消息。
[0027] 各種示例性實(shí)施例涉及一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上編碼有用于由 Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消息的指令,所述介質(zhì)包括:用于在 DRA從源裝置接收Diameter消息的指令,所述Diameter消息與訂戶相關(guān)聯(lián);用于響應(yīng)接收 到所述Diameter消息,建立訂戶記錄上下文對(duì)象的指令,其中所述訂戶記錄上下文對(duì)象與 所述訂戶的訂戶記錄相關(guān)聯(lián);用于評(píng)估包括上下文對(duì)象引用的規(guī)則的指令,其中,包括根據(jù) 上下文對(duì)象引用訪問訂戶記錄上下文對(duì)象進(jìn)行評(píng)估的指令;以及用于基于該規(guī)則的評(píng)估發(fā) 送消息的指令。
[0028] 描述了各種實(shí)施例,其中建立訂戶記錄上下文對(duì)象以及訪問訂戶記錄上下文對(duì)象 中的至少一個(gè)包括:確定與所述Diameter消息相關(guān)聯(lián)的至少一個(gè)訂戶標(biāo)識(shí)符;以及檢索與 所述至少一個(gè)訂戶標(biāo)識(shí)符相關(guān)聯(lián)的訂戶記錄。
[0029] 描述了各種實(shí)施例,其中檢索所述訂戶記錄包括發(fā)送消息到訂戶簡檔庫(SPR)。
[0030] 描述了各種實(shí)施例,其中訪問所述訂戶記錄上下文對(duì)象包括讀取訂戶記錄的字 段。
[0031] 描述了各種實(shí)施例,其中訪問所述訂戶記錄上下文對(duì)象包括將值寫入用戶記錄, 該方法進(jìn)一步包括存儲(chǔ)修改的訂戶記錄。
[0032] 描述了各種實(shí)施例,其中訪問所述訂戶記錄上下文對(duì)象包括調(diào)用訂戶記錄上下文 對(duì)象的動(dòng)作,以及所述訂戶記錄上下文對(duì)象的動(dòng)作調(diào)用除了上下文對(duì)象的功能以外的DRA 的功能。
[0033] 描述了各種實(shí)施例,其中DRA的功能從訂戶簡檔儲(chǔ)存庫中檢索訂戶記錄。
【專利附圖】
【附圖說明】
[0034] 為了更好地理解各種示例性實(shí)施例,參考下面的附圖進(jìn)行說明,其中:
[0035] 圖1示出Diameter路由代理的示例性網(wǎng)絡(luò)環(huán)境;
[0036] 圖2示出示例性Diameter路由代理;
[0037] 圖3示出用于處理Diameter消息的示例性方法;
[0038] 圖4示出用于使用上下文工件的示例性方法;
[0039] 圖5示出用于生成上下文對(duì)象的元數(shù)據(jù)的示例性方法;
[0040] 圖6示出了用于路由決策的上下文對(duì)象的示例性類圖;
[0041] 圖7示出用于檢索先前路由決策的示范方法;
[0042] 圖8示出訂戶記錄上下文對(duì)象的示例類圖;
[0043] 圖9示出用于檢索訂戶記錄的示例性方法;和
[0044] 圖10示出示例性規(guī)則組。
【具體實(shí)施方式】
[0045] 本說明書和附圖僅僅示出本發(fā)明的原理。因此,可以理解的是,盡管這里沒有明確 地描述或示出,本領(lǐng)域的技術(shù)人員能夠設(shè)計(jì)體現(xiàn)本發(fā)明的原理并包括在其范圍之內(nèi)的各種 布局。此外,本文描述的所有實(shí)施例原則上是僅用于示范的目的,以幫助讀者理解本發(fā)明的 原理和發(fā)明人提供的深化本領(lǐng)域的概念,并且應(yīng)當(dāng)被解釋為不限于這些具體引用的示例和 條件。另外,如本文中所使用的術(shù)語"或"是指非排他性的或(即,和/或),除非另有說明 (例如,"否則"或"或在替代方案中")。另外,本文所描述的各種實(shí)施例并不一定是相互排 斥的,因?yàn)橐恍?shí)施例可以與一個(gè)或多個(gè)其他實(shí)施例結(jié)合,以形成新的實(shí)施方案。本文所用 的,術(shù)語"上下文"和"上下文對(duì)象"將被理解為是同義的,除非另有說明。
[0046] 現(xiàn)在可用的Diameter路由代理(DRA)只提供典型地在硬編碼或腳本中定義的基 本功能。因此,用戶可能通常不能被輕松授權(quán)并不能靈活地為DRA定義更復(fù)雜的行為模式。 鑒于上述情況,希望提供一種便于用戶定義和擴(kuò)展DRA消息處理行為的方法和系統(tǒng)。
[0047] 圖1示出用于Diameter路由代理(DRA) 142的示例性網(wǎng)絡(luò)環(huán)境100。示例性網(wǎng)絡(luò) 環(huán)境100可以是用于提供各種服務(wù)的訂戶網(wǎng)絡(luò)。在各種實(shí)施例中,訂戶網(wǎng)絡(luò)100可以是公 共陸地移動(dòng)網(wǎng)(PLMN)。示例性的訂戶網(wǎng)絡(luò)100可以是用于提供對(duì)各種服務(wù)進(jìn)行訪問的電 信網(wǎng)絡(luò)或其他網(wǎng)絡(luò)。示例性訂戶網(wǎng)絡(luò)100可以包括用戶設(shè)備110、基站120、演進(jìn)分組核心 (EPC) 130、分組數(shù)據(jù)網(wǎng)絡(luò)150和應(yīng)用功能(AF) 160。
[0048] 用戶設(shè)備110可以是與分組數(shù)據(jù)網(wǎng)絡(luò)150進(jìn)行通信,用于向末端用戶提供提供數(shù) 據(jù)服務(wù)的設(shè)備。這樣的數(shù)據(jù)服務(wù)可以包括例如語音通信、文本消息傳送、多媒體流、和互聯(lián) 網(wǎng)接入。更具體地,在各種示例性實(shí)施例中,用戶設(shè)備110是個(gè)人計(jì)算機(jī)或膝上型計(jì)算機(jī)、 無線電子消息設(shè)備、蜂窩電話、平板電腦、電視機(jī)頂盒、或能夠經(jīng)由EPC130與其他設(shè)備進(jìn)行 通信的任何其他設(shè)備。
[0049] 基站120可以是實(shí)現(xiàn)用戶設(shè)備110和EPC130之間通信的設(shè)備。例如,基站120可 以是諸如由相關(guān)的3GPP標(biāo)準(zhǔn)所定義的演進(jìn)節(jié)點(diǎn)B(e節(jié)點(diǎn)B)的基站收發(fā)信臺(tái)。因此,基站 120可以與用戶設(shè)備110經(jīng)由諸如無線電波的第一介質(zhì)通信,并經(jīng)由諸如以太網(wǎng)電纜的第 二介質(zhì)與EPC130進(jìn)行通信?;?20可以與EPC130直接通信或經(jīng)由多個(gè)中間節(jié)點(diǎn)進(jìn)行通 信(未示出)。在各種實(shí)施例中,可以存在多個(gè)基站(未示出)以向用戶設(shè)備110提供移動(dòng) 性。注意,在各種替代實(shí)施例中,用戶設(shè)備110可以直接與EPC130進(jìn)行通信。在這種實(shí)施 例中,基站120可以不存在。
[0050] 演進(jìn)分組核心(EPC) 130可以是向用戶設(shè)備110提供到分組數(shù)據(jù)網(wǎng)絡(luò)140的網(wǎng)關(guān) 接入的一個(gè)設(shè)備或多個(gè)設(shè)備的網(wǎng)絡(luò)。EPC 130還可以向訂戶收取使用提供的數(shù)據(jù)服務(wù)的費(fèi) 用,并確保滿足特定的質(zhì)量體驗(yàn)(QoE)標(biāo)準(zhǔn)。因此,EPC130可以至少部分地根據(jù)相關(guān)3GPP 標(biāo)準(zhǔn)來實(shí)現(xiàn)。EPC130可以包括服務(wù)網(wǎng)關(guān)(SGW) 132、分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān)(PGW) 134、以及會(huì)話 控制設(shè)備140。
[0051] 服務(wù)網(wǎng)關(guān)(SGW)132可以是提供到EPC130網(wǎng)關(guān)接入的設(shè)備。SGW132可以是在 EPC 130內(nèi)接收由用戶設(shè)備110發(fā)送的數(shù)據(jù)包的第一設(shè)備之一。各種實(shí)施例還可以包括在 SGW132之前接收分組的移動(dòng)性管理實(shí)體(MME)(未示出)。SGW132可以向PGW134轉(zhuǎn)發(fā)這些 分組。SGW 132可以執(zhí)行許多功能,例如管理多個(gè)基站(未示出)之間的用戶設(shè)備110的移 動(dòng)性以及為每個(gè)被服務(wù)的流執(zhí)行特定服務(wù)質(zhì)量(QoS)特性。在諸如實(shí)施代理移動(dòng)IP標(biāo)準(zhǔn) 的各種實(shí)現(xiàn)中,SGW132可以包括承載綁定和事件報(bào)告功能(BBERF)。在各種示例性實(shí)施例 中,EPC130可以包括多個(gè)SGW(未示出),并且每個(gè)SGW可以與多個(gè)基站通信(未示出)。
[0052] 分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān)(PGW) 134可以是向分組數(shù)據(jù)網(wǎng)絡(luò)140提供網(wǎng)關(guān)接入的設(shè)備。 PGW 134可以是EPC 130內(nèi)接收分組的最后設(shè)備,所述分組由用戶設(shè)備110經(jīng)SGW 132向 分組數(shù)據(jù)網(wǎng)絡(luò)140發(fā)送。PGW 134可以包括對(duì)每個(gè)服務(wù)數(shù)據(jù)流(SDF)執(zhí)行策略和計(jì)費(fèi)控 制(PCC)規(guī)則的策略和計(jì)費(fèi)執(zhí)行功能(PCEF)。因此,PGW 134可以是策略和計(jì)費(fèi)執(zhí)行節(jié)點(diǎn) (PCEN)。PGW134可以包括許多附加的功能,例如分組過濾、深度分組檢測以及用戶計(jì)費(fèi)支 持。PGW134也可以為未知應(yīng)用服務(wù)負(fù)責(zé)請(qǐng)求資源分配。
[0053] 會(huì)議控制設(shè)備140可以是在EPC 130內(nèi)提供各種管理或其他功能的設(shè)備。例如,會(huì) 話控制設(shè)備140可提供策略和計(jì)費(fèi)規(guī)則功能(PCRF)。在各種實(shí)施例中,會(huì)議控制設(shè)備140 可以包括阿爾卡特朗訊5780動(dòng)態(tài)服務(wù)控制器(DSC)。會(huì)議控制設(shè)備140可以包括DRA142、 多個(gè)策略和計(jì)費(fèi)規(guī)則刀片(PCRB) 144、146,以及訂戶簡檔庫。
[0054] 如將在下文中更詳細(xì)描述的,DRA 142可以是智能的Diameter路由代理。由此, DRA 142可以接收、處理和發(fā)送各種Diameter消息。DRA 142可以包括若干用戶定義的規(guī) 貝丨J,這些規(guī)則就DRA 142可能會(huì)遇到的各種Diameter消息來支配DRA 142的行為。根據(jù)這 樣的規(guī)則,DRA142可以操作為中繼代理、委托代理、或重定向代理。例如,DRA 142可以中繼 接收到的消息至合適的接收設(shè)備。這樣的路由可以相對(duì)于傳入和傳出消息以及對(duì)會(huì)話控制 設(shè)備來說的內(nèi)部消息來執(zhí)行。
[0055] 策略和計(jì)費(fèi)規(guī)則刀片(PCRB) 144、146的每一個(gè)可以是設(shè)備或設(shè)備組,其接收對(duì)應(yīng) 用服務(wù)的請(qǐng)求,生成PCC規(guī)則,并向PGWl34或其他PCEN (未示出)提供PCC規(guī)則。PCRB 144、 146可以經(jīng)由Rx接口與AF160通信。如下面進(jìn)一步關(guān)于AF 160要詳細(xì)描述的,PCRB 144、 146可以從AF 160接收認(rèn)證和授權(quán)請(qǐng)求(AAR)形式的應(yīng)用請(qǐng)求。在接收到AAR時(shí),PCRB 144、146可以生成至少一個(gè)新PCC規(guī)則用于履行應(yīng)用要求。
[0056] PCRB 144、146 也可以分別經(jīng)由 Gxx 和 Gx 接口與 SGW 132 和 PGW134 通信。PCRB 144、146可以從SGW 132或PGW 134接收信用控制請(qǐng)求(CCR)形式的應(yīng)用請(qǐng)求。至于與 AAR,在接收到CCR時(shí),PCRB 144、146可以生成至少一個(gè)新PCC規(guī)則用于履行應(yīng)用請(qǐng)求。在 各種實(shí)施例中,AAR和CCR可以代表被單獨(dú)處理的兩個(gè)獨(dú)立應(yīng)用請(qǐng)求,而在其他實(shí)施例中, AAR和CCR可以攜帶關(guān)于單個(gè)應(yīng)用請(qǐng)求的信息,并且PCRB 144、146可以基于AAR和CCR的 組合創(chuàng)建至少一個(gè)PCC規(guī)則。在各種實(shí)施例中,PCRB 144、146可以能夠處理單個(gè)消息和配 對(duì)消息的應(yīng)用請(qǐng)求。
[0057] 當(dāng)創(chuàng)建新PCC規(guī)則時(shí)或者當(dāng)PGW134發(fā)出請(qǐng)求時(shí),PCRB 144、146可以通過Gx接口 向PGW134提供PCC規(guī)則。在各種實(shí)施例中,例如那些在代理移動(dòng)IP (PMIP)標(biāo)準(zhǔn)的實(shí)施例 中,PCRB 144、146還可以生成QoS規(guī)則。當(dāng)創(chuàng)建新的QoS規(guī)則或者當(dāng)SGW 132發(fā)出請(qǐng)求時(shí), PCRB 144、146可以經(jīng)由Gxx接口向SGW132提供QoS規(guī)則。
[0058] 訂戶簡檔庫(SPR) 148可以是向訂戶網(wǎng)絡(luò)100存儲(chǔ)與訂戶相關(guān)的信息的設(shè)備。這 樣,SPR 148可以包括機(jī)器可讀存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁 盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備、和/或類似的存儲(chǔ)介質(zhì)。SPR 148可以是PCRB144、146 之一的組成部分,或者可以構(gòu)成EPC130或者會(huì)話控制設(shè)備140內(nèi)的獨(dú)立節(jié)點(diǎn)。SPR138存儲(chǔ) 的數(shù)據(jù)可以包括訂戶信息140,例如每個(gè)訂戶的標(biāo)識(shí)符、帶寬限制、收費(fèi)參數(shù)、和訂戶的優(yōu)先 級(jí)。
[0059] 分組數(shù)據(jù)網(wǎng)絡(luò)150可以是用于提供用戶設(shè)備110與諸如AF 160的連接到分組數(shù) 據(jù)網(wǎng)絡(luò)150的其他設(shè)備之間的數(shù)據(jù)通信的任何網(wǎng)絡(luò)。分組數(shù)據(jù)網(wǎng)絡(luò)150還可以提供例如電 話和/或互聯(lián)網(wǎng)服務(wù)至與分組數(shù)據(jù)網(wǎng)絡(luò)150進(jìn)行通信的各個(gè)用戶設(shè)備。
[0060] 應(yīng)用功能(AF) 160可以是向用戶設(shè)備110提供已知應(yīng)用服務(wù)的設(shè)備。因此,AF 160 可以是服務(wù)器或例如向用戶設(shè)備110提供視頻流或語音通信服務(wù)的其他設(shè)備。AF 160還 可以經(jīng)由Rx接口與EPC 130的PCRB144U46通信。當(dāng)AF 160開始向用戶設(shè)備110提供已 知應(yīng)用服務(wù)時(shí),AF 160可以根據(jù)Diameter協(xié)議生成諸如驗(yàn)證和授權(quán)請(qǐng)求(AAR)的應(yīng)用請(qǐng) 求消息,以通知PCRB 144U46資源應(yīng)分配至該應(yīng)用服務(wù)。應(yīng)用請(qǐng)求消息可以包括這樣的信 息,例如使用應(yīng)用服務(wù)的訂戶的標(biāo)識(shí)、訂戶的IP地址、相關(guān)聯(lián)的IP-CAN會(huì)話的APN,或者必 須被建立以提供所請(qǐng)求的服務(wù)的特定服務(wù)數(shù)據(jù)流的標(biāo)識(shí)。
[0061] 可以理解,各種Diameter應(yīng)用可以在訂戶網(wǎng)絡(luò)100內(nèi)建立并被DRA142支持。例 如,Rx應(yīng)用可以在AF 160和各PCRB 144、146的每一個(gè)之間建立。作為另一個(gè)例子,Sp應(yīng) 用可以SPR 148和PCRB 144、146每一個(gè)之間建立。作為又一個(gè)例子,S9應(yīng)用可以在PCRB 144、146的一個(gè)或更多以及執(zhí)行另一個(gè)PCRF(未示出)的遠(yuǎn)程設(shè)備之間建立??梢岳斫獾?是,許多其他Diameter應(yīng)用可以在訂戶網(wǎng)絡(luò)100內(nèi)建立。正如將要理解的,各種Diameter 應(yīng)用可以被內(nèi)訂戶網(wǎng)絡(luò)100建立與例如,一個(gè)接收應(yīng)用程序可自動(dòng)對(duì)160和各PCRB 144、 146之間建立所支持的DRA 142。作為另一個(gè)例子,Sp應(yīng)用可以在SPR 148和各PCRB 144、 146之間被建立。作為另一個(gè)例子,Sp應(yīng)用可以在一個(gè)或更多PCRB144、146和執(zhí)行另一個(gè) PCRF遠(yuǎn)程設(shè)備之間建立(未示出)。如將理解的,許多其他的Diameter應(yīng)用可以內(nèi)訂戶網(wǎng) 絡(luò)100建立。
[0062] 在支持各種可能的Diameter應(yīng)用中,DRA 142可以接收Diameter消息、處理該消 息,并基于處理進(jìn)行操作。例如,DRA 142可以從PGW 134接收Gx CCR、識(shí)別適當(dāng)?shù)腜CRB144、 146來處理Gx CCR、并轉(zhuǎn)發(fā)Gx CCR到識(shí)別的PCRB 144、146。DRA 142還可以通過修改由 PCRB 144、146發(fā)送的后續(xù)Gx CCA來充當(dāng)代理以攜帶指向DRA 142而不是PCRB144、146的 源主機(jī)標(biāo)識(shí)。另外或可選地,DRA 142可作為重定向代理或者通過形成適當(dāng)應(yīng)答消息并發(fā) 送該應(yīng)答消息到適當(dāng)?shù)恼?qǐng)求設(shè)備的方式來直接響應(yīng)請(qǐng)求消息。
[0063] 圖2示出示例性Diameter路由代理(DRA) 200。DRA 200可以是獨(dú)立設(shè)備或另一 系統(tǒng)的組成部分。例如,DRA 200可以對(duì)應(yīng)于示例性環(huán)境100的DRA 142。在這樣的實(shí)施例 中,0狀142可以支持由36--所定義的各種0丨&!^七61'的應(yīng)用,例如61、6乂乂、1^、或5?。應(yīng) 當(dāng)理解的是,DRA 200可以部署在各種支持附加或替代應(yīng)用的替代實(shí)施例中。因此,顯而易 見的是,本文所描述的方法和系統(tǒng)可以一般性地適用于支持任何Diameter應(yīng)用。
[0064] DRA 200可以包括若干組件,例如Diameter堆棧205、消息處理器210、規(guī)則引擎 215、規(guī)則存儲(chǔ)器220、用戶接口 225、上下文創(chuàng)建器230、上下文工件存儲(chǔ)器240、消息詞典 245、路由決策數(shù)據(jù)庫250、清理模塊255、或訂戶記錄檢索器260。
[0065] Diameter堆棧205可以包括硬件和機(jī)器可讀存儲(chǔ)介質(zhì)上被配置為根據(jù)Diameter 協(xié)議與其他設(shè)備交換信息的或可執(zhí)行指令。Diameter堆棧205可以包括接口,所述接口包 括硬件和編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上被配置為與其他設(shè)備進(jìn)行通信的可執(zhí)行指令。例如, Diameter堆棧205可以包括以太網(wǎng)或TCP/IP接口。在各種實(shí)施例中,Diameter堆棧205 可以包括多個(gè)物理端口。
[0066] Diameter堆棧205也可以被配置為讀取并根據(jù)Diameter協(xié)議構(gòu)造消息。例如, Diameter堆??梢员慌渲脼樽x取和構(gòu)造 CCR、CCA、AAR、AAA、RAR和RAA消息。Diameter堆 棧205可以提供的應(yīng)用程序編程接口(API),使得DRA 200的其他組件可以調(diào)用Diameter 堆棧功能。例如,規(guī)則引擎215能夠利用API從接收的CCR讀取屬性值對(duì)(AVP)或者修改 新CCA的AVP。各種附加的功能從下列描述中將變得顯而易見。
[0067] 消息處理器210可以包括硬件或機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令,所述可執(zhí)行 指令被配置為解釋接收的消息,并適當(dāng)?shù)卣{(diào)用規(guī)則引擎215。在各種實(shí)施例中,消息處理器 210可以提取Diameter堆棧205接收的消息的消息類型以及使用規(guī)則組調(diào)用適合于所提取 的消息類型的規(guī)則引擎。例如,該消息類型可以通過接收的消息的應(yīng)用和指令來定義。在 規(guī)則引擎215評(píng)估完一個(gè)或多個(gè)規(guī)則后,消息處理器210可以基于由規(guī)則引擎215調(diào)用一 個(gè)或多個(gè)上下文對(duì)象動(dòng)作經(jīng)由Diameter堆棧發(fā)送一個(gè)或多個(gè)消息。
[0068] 規(guī)則引擎215可以包括硬件或機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令,所述可執(zhí)行指 令被配置為通過評(píng)估一個(gè)或存儲(chǔ)在規(guī)則存儲(chǔ)器220的規(guī)則,處理接收到的消息。因此,規(guī)則 引擎215可以是處理引擎的類型。規(guī)則引擎215可以檢索一個(gè)或多個(gè)規(guī)則、評(píng)估規(guī)則的標(biāo) 準(zhǔn)來確定該規(guī)則是否適用、以及指定任何適用規(guī)則的一個(gè)或多個(gè)結(jié)果。例如,規(guī)則引擎215 可以確定當(dāng)收到的Gx CCR包括標(biāo)識(shí)DRA 200的目標(biāo)主機(jī)AVP時(shí),規(guī)則適用。規(guī)則可以指定 消息在被轉(zhuǎn)發(fā)之前,目標(biāo)主機(jī)AVP應(yīng)改為標(biāo)識(shí)PCRB。
[0069] 規(guī)則存儲(chǔ)器220可以是能夠存儲(chǔ)由規(guī)則引擎215評(píng)估的一個(gè)或多個(gè)規(guī)則的任何計(jì) 算機(jī)可讀介質(zhì)。因此,規(guī)則存儲(chǔ)器220可以包括機(jī)器可讀存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM)、隨 機(jī)存取存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備、和/或類似的存儲(chǔ)介質(zhì)。在各 種實(shí)施例中,規(guī)則存儲(chǔ)器220可以將一個(gè)或多個(gè)規(guī)則組存儲(chǔ)為二元判定樹數(shù)據(jù)結(jié)構(gòu)。各種 用于存儲(chǔ)規(guī)則組的其他數(shù)據(jù)結(jié)構(gòu),將是顯而易見的。
[0070] 應(yīng)當(dāng)理解的是,盡管各種組件被描述為被配置為執(zhí)行諸如評(píng)估規(guī)則或基于規(guī)則訪 問上下文對(duì)象各種功能,這樣的配置可以不要求任何規(guī)則存在于規(guī)則存儲(chǔ)器中。例如,規(guī)則 引擎215可以被配置為評(píng)估包括上下文對(duì)象引用的規(guī)則,即使沒有這樣的規(guī)則存儲(chǔ)在規(guī)則 存儲(chǔ)器220中。此后,如果用戶向規(guī)則存儲(chǔ)器增加了這樣的規(guī)則,規(guī)則引擎215可以如本文 所述地處理該規(guī)則。換言之,如本文所使用的,當(dāng)相對(duì)于與規(guī)則有關(guān)的功能的進(jìn)行使用時(shí)短 語"配置為"將被理解為是指該組件能夠執(zhí)行的適當(dāng)功能相應(yīng),而不管請(qǐng)求這樣功能的規(guī)則 是否實(shí)際存在。
[0071] 用戶接口 225可以包括硬件或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上被配置為能夠與用戶通信 的可執(zhí)行指令。這樣,用戶接口 225可以包括網(wǎng)絡(luò)接口(如包括在Diameter堆棧205中的 網(wǎng)絡(luò)接口)、顯示器、鍵盤、鼠標(biāo)、或觸敏顯示器。用戶接口 225還可以提供用于促進(jìn)用戶交 互的圖形用戶接口(⑶I)。用戶接口 225可以使用戶能夠定制的DRA 200的行為。例如,用 戶接口 225使得用戶能夠定義在規(guī)則存儲(chǔ)器220中的存儲(chǔ)規(guī)則并通過規(guī)則引擎215進(jìn)行評(píng) 估。對(duì)于本領(lǐng)域技術(shù)人員來說,讓用戶通過用戶接口 225各種其他方法定制DRA200的行為 的將是顯而易見的。
[0072] 根據(jù)各種實(shí)施例,規(guī)則存儲(chǔ)器220可以包括引用一個(gè)或多個(gè)"上下文"或"上下文 對(duì)象"的規(guī)則。在這樣的實(shí)施例中,上下文創(chuàng)建器230可以包括硬件和機(jī)器可讀存儲(chǔ)介質(zhì)上 被配置為實(shí)例化上下文中的對(duì)象并向發(fā)出請(qǐng)求的組件提供上下文對(duì)象的元數(shù)據(jù)的可執(zhí)行 指令。上下文對(duì)象可以在運(yùn)行時(shí)被上下文創(chuàng)建器230實(shí)例化,并且可以包括用于支撐規(guī)則 引擎215和使用戶能夠通過用戶接口 225定義復(fù)雜規(guī)則的屬性或動(dòng)作。例如,上下文創(chuàng)建 器230可以提供表示各種Diameter消息的上下文對(duì)象、先前的路由決策、或用戶簡檔。
[0073] 當(dāng)DRA 200接收Diameter消息進(jìn)行處理時(shí),消息處理器210可以向上下文創(chuàng)建器 230發(fā)送指示,以表明適當(dāng)?shù)纳舷挛膶?duì)象要被實(shí)例化。接著,上下文創(chuàng)建器230可以實(shí)例化 該上下文對(duì)象。在一些實(shí)施例中,上下文創(chuàng)建器230可以實(shí)例化所有已知的上下文對(duì)象或 者可以只實(shí)例化那些要由規(guī)則存儲(chǔ)器220應(yīng)用的規(guī)則組實(shí)際使用的上下文對(duì)象。在其他實(shí) 施例中,上下文創(chuàng)建器230可以不實(shí)例化上下文對(duì)象,直到它被規(guī)則引擎215實(shí)際上要求。
[0074] 上下文創(chuàng)建器230可以通過向用戶接口 225提供上下文元數(shù)據(jù)額外地促進(jìn)規(guī)則創(chuàng) 建。在各種實(shí)施例中,上下文創(chuàng)建器230可以向用戶接口 225指示哪些上下文對(duì)象對(duì)于被 修改的規(guī)則組可用以及每個(gè)上下文對(duì)象可能擁有什么屬性或動(dòng)作。利用這些信息,用戶接 口 225可以呈現(xiàn)出指向和點(diǎn)擊界面(point-and-click interface),用于創(chuàng)建復(fù)雜規(guī)則。例 如,用戶接口 225可以使用戶能夠從包含在正在建造或修改的規(guī)則的列表中選擇上下文對(duì) 象的所需屬性或者動(dòng)作。
[0075] 上下文創(chuàng)建器230可以依賴于在建立上下文中的對(duì)象在上下文工件存儲(chǔ)器240中 存儲(chǔ)一個(gè)或多個(gè)上下文工件。因此,上下文工件存儲(chǔ)器240可以是能夠存儲(chǔ)一個(gè)或多個(gè)上 下文工件的任何計(jì)算機(jī)可讀介質(zhì)。因此,上下文工件存儲(chǔ)240可包括機(jī)器可讀存儲(chǔ)介質(zhì), 如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備、和/ 或類似存儲(chǔ)介質(zhì)。上下文工件存儲(chǔ)240可以用各種形式存儲(chǔ)工件,例如,運(yùn)行庫(run-time libraries)。在各種實(shí)施例中,這樣的運(yùn)行庫可以被存儲(chǔ)為Java歸檔(.jar)文件。
[0076] 每個(gè)上下文工件可以限定可用于上下文對(duì)象的屬性或動(dòng)作。在各種實(shí)施例中,上 下文工件可以定義屬性或動(dòng)作被訪問時(shí)要執(zhí)行的一個(gè)或多個(gè)功能。這樣的功能可以利用 DRA 200的其他功能,如訪問Diameter堆棧的API,或可以將值返回調(diào)用該屬性或動(dòng)作的 部件。上下文工件還可以包括標(biāo)簽或上下文創(chuàng)建器230的其他元數(shù)據(jù),以提供至用戶接口 225,用于描述上下文對(duì)象的行為和屬性。在示例性DRA 200中,上下文工件存儲(chǔ)器240可 以存儲(chǔ)限定消息上下文的上下文工件、路由決策上下文、或訂戶記錄上下文。這些上下文工 件可以在運(yùn)行時(shí)由上下文創(chuàng)建器230使用來實(shí)例化不同類型的上下文對(duì)象。因此,上下文 創(chuàng)建器230可以被視為包括消息上下文模塊232、路由決策上下文模塊236、和訂戶記錄上 下文模塊238。在各種實(shí)施例中,用戶能夠例如通過指定現(xiàn)有文件(如.jar文件)或通過 使用用戶接口 225的文本編輯器定義新的上下文工件的方式,經(jīng)由用戶接口 225來定義新 的上下文工件以存儲(chǔ)在上下文工件存儲(chǔ)器中。
[0077] 消息上下文模塊232可以表示上下文創(chuàng)建器230的生成上下文對(duì)象代表并提供訪 問Diameter消息的能力。例如,消息上下文模塊232可以生成表示所接收的消息的上下文 對(duì)象。在各種實(shí)施例中,適當(dāng)?shù)?,消息上下文模塊232還可以被配置為生成表示請(qǐng)求消息或 與接收到的Diameter消息相關(guān)的應(yīng)答消息的上下文對(duì)象。這樣,消息上下文模塊232可以 被視為包括接收的消息子模塊233、相關(guān)請(qǐng)求子模塊234、和相關(guān)的應(yīng)答子模塊235。
[0078] Diameter消息的內(nèi)容可以取決于應(yīng)用和命令類型而有所不同。例如,RX RAA消息 可以包括與GX CCR消息不同的數(shù)據(jù)。這種差異可以通過管理相關(guān)Diameter應(yīng)用的各種標(biāo) 準(zhǔn)來定義。此外,一些廠商可以包括各種消息的所有權(quán)或其他非標(biāo)準(zhǔn)定義。消息上下文模 塊232可以依賴于存儲(chǔ)在消息詞典245中的消息定義,生成不同類型Diameter消息的消息 上下文。例如,當(dāng)接收Diameter消息時(shí),消息處理器210可以遞送應(yīng)用程序和指令類型至 上下文創(chuàng)建器230。消息上下文模塊232然后可以在消息詞典245中定位(locate)匹配 定義。這一定義可以指示可能存在于指定類型的消息中的AVP。然后,消息上下文模塊232 可以實(shí)例化具有與信息定義中識(shí)別的AVP匹配的屬性和行動(dòng)的消息上下文對(duì)象。
[0079] 消息詞典245可以是能夠存儲(chǔ)一個(gè)或多個(gè)上下文工件的任何計(jì)算機(jī)可讀介質(zhì)。 因此,消息詞典245可以包括機(jī)器可讀存儲(chǔ)介質(zhì),例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器 (RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備、和/或類似的存儲(chǔ)媒體。消息詞典245可以 包括例如XML文件的適當(dāng)形式的各種消息定義。消息詞典245可以包括多個(gè)包含在供應(yīng)商 提供的DRA 200中的預(yù)定的定義。在各種實(shí)施例中,用戶能夠經(jīng)由用戶接口 225提供新的、 用戶定義的消息定義。例如,如果用戶希望支持還未由預(yù)定的定義限定的應(yīng)用程序,用戶可 以生成或以其他方式獲得定義文件以存儲(chǔ)在消息詞典245中。在各種實(shí)施方式的定義文件 中,用戶定義的定義可以與預(yù)定的定義存儲(chǔ)在消息詞典245的不同部分,例如不同的目錄 中。
[0080] 在各種實(shí)施例中,用戶還可以能夠經(jīng)由用戶接口 225擴(kuò)展預(yù)定的定義。用戶可以 能夠提供擴(kuò)展定義,所述擴(kuò)展定義新AVP或指定發(fā)生在特定消息類型中的附加 AVP。例如, 用戶可能希望在Rx AAR內(nèi)支持專有AVP。為了提供這樣的支持,用戶可以提供定義專有AVP 和指示該專有AVP可以存在于Rx AAR中的定義文件,如XML文件。這種擴(kuò)展定義也可以存 儲(chǔ)在消息詞典245中與預(yù)定的定義不同的區(qū)域。消息上下文模塊232可以被配置為在實(shí) 例化新的消息上下文對(duì)象或提供上下文元數(shù)據(jù)至用戶接口 225時(shí),應(yīng)用任何適用的擴(kuò)展定 義。
[0081] 如上所述,在接收Diameter消息時(shí),消息處理器210可以提取應(yīng)用和指令類型并 將此信息傳遞到上下文創(chuàng)建器230,上下文創(chuàng)建器230隨后可以定位任何適用的定義,以實(shí) 例化新接收的消息上下文對(duì)象。接收的消息子模塊233還可以被配置為將新的上下文對(duì)象 與接收的Diameter消息本身相關(guān)聯(lián)。例如,接收的消息子模塊233可以從Diameter堆棧 205復(fù)制接收的Diameter消息成私有或受保護(hù)變量??商鎿Q地,接收的消息子模塊233可 以存儲(chǔ)對(duì)實(shí)現(xiàn)經(jīng)由Diameter消息堆棧205的API訪問Diameter消息時(shí)有用的Diameter 標(biāo)識(shí)。
[0082] 在各種實(shí)施例中,DRA 200可以支持使用逆消息上下文。在這樣的實(shí)施例中,在從 接收的Diameter消息提取命令類型時(shí),消息處理器210也可以識(shí)別逆指令類型。在一些這 樣的實(shí)施例中,消息處理器210可以實(shí)現(xiàn)識(shí)別每個(gè)消息命令的逆的查找表。例如,在確定接 收的Diameter消息是Gx CCR時(shí),消息處理器可以確定逆消息會(huì)是Gx CCA。消息處理器210 也可以將此信息傳遞到上下文創(chuàng)建器230。
[0083] 在接收到逆消息類型時(shí),消息上下文模塊232可以用類似于上面描述的方式關(guān)于 接收到的消息上下文對(duì)象來實(shí)例化逆消息上下文對(duì)象。相關(guān)的請(qǐng)求子模塊234或相關(guān)的應(yīng) 答子模塊235,適當(dāng)時(shí),也可以將新的上下文對(duì)象與消息數(shù)據(jù)相關(guān)聯(lián)。如果逆消息是請(qǐng)求消 息,相關(guān)的請(qǐng)求模塊234可以識(shí)別存儲(chǔ)在Diameter堆棧205中的先前處理的請(qǐng)求并且將該 消息以類似于上面描述的方式與新的上下文對(duì)象關(guān)聯(lián)。在各種實(shí)施例中,當(dāng)接收應(yīng)答消息 時(shí),Diameter堆棧205可以定位先前處理和轉(zhuǎn)發(fā)的對(duì)應(yīng)于應(yīng)答消息的請(qǐng)求消息。Diameter 堆棧205可以通過上下文創(chuàng)建器230或DRA 200的其他組件使用的API來呈現(xiàn)該相關(guān)的請(qǐng) 求消息。通過將先前的請(qǐng)求消息與相關(guān)請(qǐng)求上下文對(duì)象相關(guān)聯(lián),規(guī)則引擎215可以被提供 能夠訪問由請(qǐng)求消息攜帶的AVP的屬性,其中所述請(qǐng)求消息促進(jìn)了正被處理的應(yīng)答消息的 發(fā)送。
[0084] 當(dāng)所述逆消息是應(yīng)答消息時(shí),一方面,相關(guān)的應(yīng)答模塊235可以通過例如經(jīng)由 Diameter堆棧205構(gòu)造應(yīng)答消息的API發(fā)起請(qǐng)求來構(gòu)造新的應(yīng)答消息。新應(yīng)答消息可以是 完全空白的,或者可以包括從接收的Diameter請(qǐng)求消息復(fù)制過來的至少一些值。相關(guān)的應(yīng) 答模塊235可以用類似于上面描述的方式對(duì)接收的消息的模塊233將新的上下文對(duì)象中于 新的應(yīng)答消息相關(guān)聯(lián)。然后,相關(guān)的應(yīng)答上下文對(duì)象可以向規(guī)則引擎215提供到能夠修改 新的應(yīng)答消息的各種動(dòng)作的訪問。例如,規(guī)則引擎可以利用相關(guān)應(yīng)答上下文對(duì)象的動(dòng)作來 設(shè)定應(yīng)答消息的結(jié)果碼AVP,由此向消息處理器210表明應(yīng)答應(yīng)發(fā)送回發(fā)送接收的請(qǐng)求的 裝置。然后,消息處理器210還可以避免轉(zhuǎn)發(fā)所接收的請(qǐng)求消息到任何其他裝置。
[0085] 如上文所述,上下文創(chuàng)建器230可以能夠確定不表示Diameter消息的其他上下文 對(duì)象。這樣的上下文對(duì)象可以被稱為"計(jì)算上下文"(computational context),并且也可 以通過上下文工件存儲(chǔ)240中的上下文工件來定義。例如,路由決策上下文模塊236可以 被配置為實(shí)例化路由決策上下文對(duì)象。這樣的路由決策上下文可以為每個(gè)接收的Diameter 消息識(shí)別可能適用于接收到的消息的先前作出的路由決策。這種先前作出的路由決策可以 被會(huì)話標(biāo)識(shí)符一起存儲(chǔ)在路由決策數(shù)據(jù)庫250,用于將接收的消息與先前處理的消息相互 關(guān)聯(lián)。路由決策數(shù)據(jù)庫250可以是能夠存儲(chǔ)這樣的路由決策的任何計(jì)算機(jī)可讀介質(zhì)。因此, 路由決策數(shù)據(jù)庫250可以包括機(jī)器可讀存儲(chǔ)介質(zhì),例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器 (RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存設(shè)備、和/或類似存儲(chǔ)介質(zhì)。
[0086] 計(jì)算上下文可通過其他DPA 200功能支持。例如,DPA200可以包括周期性地從路 由決策數(shù)據(jù)庫250移除陳舊條目的清理模塊255。在一些實(shí)施方案中,所述路由決策的上下 文對(duì)象可以不直接與清理模塊255交互。相反,清理模塊255可以獨(dú)立地操作,同時(shí)通過修 改路由決策數(shù)據(jù)庫250中的內(nèi)容間接地影響路由決策上下文對(duì)象的行為。
[0087] 作為計(jì)算上下文的另一示例,訂戶記錄上下文模塊238可以生成訂戶記錄上下文 對(duì)象。訂戶記錄上下文對(duì)象可以利用其他的DRA 200功能,例如訂戶記錄檢索器260,對(duì)接 收的Diameter消息檢索訂戶記錄。訂戶記錄檢索器260可以包括硬件或者機(jī)器可讀存儲(chǔ) 介質(zhì)上被配置為經(jīng)由Diameter堆棧205與訂戶簡檔庫(SPR)進(jìn)行通信以對(duì)Diameter消息 檢索訂戶記錄的可執(zhí)行指令。這樣的通信可以例如根據(jù)Sp應(yīng)用進(jìn)行。執(zhí)行訂戶記錄檢索 器260的各種方法將是顯而易見的。通過該訂戶記錄的檢索,訂戶記錄上下文對(duì)象可以向 規(guī)則引擎215可以提供對(duì)訂戶記錄的訪問。
[0088] 應(yīng)當(dāng)指出的是,雖然規(guī)則存儲(chǔ)器220、上下文工件存儲(chǔ)240、消息詞典245、和路由 決策數(shù)據(jù)庫250被示為單獨(dú)設(shè)備,其中的一個(gè)或多個(gè)組件可以駐留在多個(gè)存儲(chǔ)設(shè)備上。此 夕卜,這些組件中的一個(gè)或多個(gè)可以共享存儲(chǔ)裝置。例如,規(guī)則存儲(chǔ)器、上下文工件存儲(chǔ)器 240、消息詞典245和路由決策數(shù)據(jù)庫250可以全部指代相同硬盤或快閃存儲(chǔ)器裝置的多個(gè) 部分。
[0089] 圖3示出用于處理Diameter消息的示例性方法300。方法300可通過諸如 Diameter堆棧205、消息處理器210、規(guī)則引擎215、或上下文創(chuàng)建器230的DRA 200的組件 來執(zhí)行。
[0090] 方法300可開始于步驟305并繼續(xù)進(jìn)行到步驟310,在步驟310中,DRA200可以接 收要被處理的Diameter消息。接著,在步驟315中,DRA200可以從接收到的Diameter消 息提取消息類型。在各種實(shí)施例中,該消息類型可以通過應(yīng)用和消息的指令的類型來定義。 然后,在步驟320中,DRA可以使用所提取的消息類型建立消息上下文對(duì)象以包裹(wrap)接 收的Diameter消息。以類似的方式,DRA 200可以在步驟325中為Diameter消息的逆建 立消息上下文對(duì)象。例如,DRA 200可以使用查找表來識(shí)別所提取的消息類型的逆消息類 型以及基于逆消息類型請(qǐng)求新的消息上下文。
[0091] 然后,DRA 200在步驟330中著手建立其他任何計(jì)算上下文對(duì)象,DRA 200對(duì)該計(jì) 算上下文對(duì)象存儲(chǔ)上下文工件或者規(guī)則引擎可以請(qǐng)求該計(jì)算上下文對(duì)象。例如,DRA 200可 以建立路由決策上下文對(duì)象和訂戶記錄上下文對(duì)象。在至少適當(dāng)?shù)纳舷挛膶?duì)象已經(jīng)被實(shí)例 化之后,方法300可以進(jìn)行到步驟335,在步驟335,DRA 200可以選擇一個(gè)或多個(gè)適當(dāng)?shù)囊?guī) 則組以在處理接收到的Diameter消息時(shí)評(píng)估。在各種實(shí)施例中,DRA 200可以為每個(gè)消息 類型存儲(chǔ)一個(gè)規(guī)則組。在一些實(shí)施方案中,DRA 200可以另外或替代地存儲(chǔ)普遍適用于所 有Diameter消息、特定應(yīng)用的所有Diameter消息、或者Diameter消息的另一個(gè)子組的規(guī) 則組。
[0092] 識(shí)別適當(dāng)?shù)囊?guī)則組后,DRA 200可以針對(duì)在步驟340中實(shí)例化的上下文評(píng)估所選 擇的規(guī)則組或表。各個(gè)規(guī)則可以包括對(duì)上下文對(duì)象的各種組分引用,在本文中稱為"上下文 對(duì)象引用"。這樣的組分可以構(gòu)成上下文對(duì)象的屬性或動(dòng)作。為了評(píng)估包括這類引用的規(guī) 貝IJ,DRA可以訪問引用的組分。例如,可以在比較中使用上下文對(duì)象的屬性,以確定規(guī)則是 否適用,或者上下文對(duì)象的動(dòng)作是否可以在應(yīng)用規(guī)則的結(jié)果時(shí)使用。對(duì)上下文對(duì)象的引用 的各種附加用途將是顯而易見的。在應(yīng)用適當(dāng)?shù)囊?guī)則組后,DRA 200可以在步驟345中例 如發(fā)送一個(gè)或多個(gè)消息發(fā)送到其他設(shè)備。例如,DRA可以轉(zhuǎn)發(fā)可以被修改的Diameter消息 到另一個(gè)設(shè)備,或者可以向接收的消息的設(shè)備回送應(yīng)答。方法300可以進(jìn)行到步驟350結(jié) 束。
[0093] 圖4示出用于使用上下文工件的示例性方法400。例如,在系統(tǒng)啟動(dòng)時(shí)、經(jīng)用戶接 口請(qǐng)求、或者在接收Diameter消息時(shí),方法400可以通過DRA 200的部件,例如,用戶接口 225或上下文創(chuàng)建器230的來執(zhí)行。應(yīng)當(dāng)理解的是,上下文工件可以被用來定義計(jì)算上下文 以及消息上下文。
[0094] 方法400可以開始在步驟405,進(jìn)入步驟410,其中DRA可以掃描一個(gè)或多個(gè)上下 文工件的目錄來處理。在各種實(shí)施例中,DRA可以處理位于存儲(chǔ)設(shè)備或在特定目錄中的所 有上下文工件,或者可以只處理要處理的工件列表中指定的上下文工件。定位上下文工件 之后,方法400可以前進(jìn)到步驟415,其中DRA可以向系統(tǒng)添加上下文對(duì)象類型以由規(guī)則引 擎、用戶接口或上下文創(chuàng)建器使用。在各種實(shí)施例中,例如上下文工件限定一個(gè)或多個(gè)Java 類的實(shí)施例,步驟415可以包括解釋上下文工件,以實(shí)現(xiàn)具有由類定義的上下文對(duì)象類型 上下文對(duì)象的實(shí)例化。用于利用上下文工件以便能夠使用新的上下文對(duì)象類型放入各種其 他方法將是顯而易見的。
[0095] 接下來,在步驟420中,DRA可以提取上下文對(duì)象的上下文對(duì)象類型的任何元數(shù) 據(jù)。例如,如將要參照?qǐng)D5更詳細(xì)地描述的,上下文工件可以包括為上下文對(duì)象類型、屬性、 或動(dòng)作指定用戶友好名稱的注釋或標(biāo)記。DRA可以存儲(chǔ)該元數(shù)據(jù)以供用戶接口或規(guī)則引擎 使用。接著,在步驟425中,DRA可以確定附加上下文工件是否留待處理。如果附加上下文 工件遺留,方法400可循環(huán)返回到步驟410,否則,方法400可進(jìn)行到結(jié)束步驟430。
[0096] 如上文所述,上下文工件可以包括指定各種元數(shù)據(jù)的注釋或標(biāo)記用于通過由DRA 使用。例如,對(duì)于的上下文對(duì)象"Floober"的上下文工件可以部分地如下讀出:
[0097]
【權(quán)利要求】
1. 一種由Diameter路由代理(DRA)執(zhí)行的用于處理Diameter消息的方法: 在DRA上從源設(shè)備接收(310) Diameter消息; 響應(yīng)于接收所述Diameter消息,建立(330, 700)路由決策上下文對(duì)象,其中所述路由 決策上下文對(duì)象與選擇要接收先前消息的目標(biāo)設(shè)備相關(guān)聯(lián); 評(píng)估(340)包括上下文對(duì)象引用的規(guī)則,其中,所述評(píng)估包括基于上下文對(duì)象引用來 訪問路由決策上下文對(duì)象;以及 基于規(guī)則的評(píng)估發(fā)送(345)消息。
2. 如權(quán)利要求1所述的方法,其中,基于規(guī)則的評(píng)估發(fā)送(345)消息包括:發(fā)送所述 Diameter消息至所述目標(biāo)設(shè)備。
3. 如權(quán)利要求1-2任一項(xiàng)所述的方法,其中,所述Diameter消息與第一 Diameter應(yīng)用 相關(guān)聯(lián),并且所述先前消息與第二Diameter應(yīng)用相關(guān)聯(lián)。
4. 如權(quán)利要求1-3任一項(xiàng)所述的方法,進(jìn)一步包括,在接收所述Diameter消息之前: 在DRA上接收(310)所述先前消息; 確定(340)所述先前消息應(yīng)該被路由到所述目標(biāo)設(shè)備; 發(fā)送(345)所述先前消息到所述目標(biāo)設(shè)備;以及 將所述先前消息的標(biāo)識(shí)和所述目標(biāo)設(shè)備作為路由決策存儲(chǔ)。
5. 如權(quán)利要求4所述的方法,其中訪問所述路由決策上下文對(duì)象包括:更新與所述路 由決策相關(guān)聯(lián)的時(shí)間戳。
6. 如權(quán)利要求4-5任一項(xiàng)所述的方法,進(jìn)一步包括: 基于與所述路由決策相關(guān)聯(lián)的時(shí)間戳,確定所述路由決策應(yīng)該被刪除;和 從所述DRA的存儲(chǔ)器中刪除所述路由決策。
7. 如權(quán)利要求1-6任一項(xiàng)所述的方法,其中,建立路由決策上下文對(duì)象以及訪問路由 決策上下文對(duì)象的至少一個(gè)包括: 從所述Diameter消息提?。?10)至少一條標(biāo)識(shí)信息;以及 確定(720)所述至少一條標(biāo)識(shí)信息對(duì)應(yīng)于所述先前消息。
8. 一種用于處理Diameter消息的Diameter路由代理(DRA),所述DRA包括: 規(guī)則存儲(chǔ)器(220),被配置為存儲(chǔ)包括上下文對(duì)象引用的規(guī)則; 路由決策數(shù)據(jù)庫(250),被配置為存儲(chǔ)先前路由決策,其中所述先前路由決策包括為先 前消息所選擇的目標(biāo)設(shè)備的標(biāo)識(shí); Diameter堆棧(205),被配置為從源設(shè)備Diameter接收消息; 上下文創(chuàng)建器(230),被配置為基于接收Diameter消息建立路由決策上下文對(duì)象,其 中所述路由決策上下文對(duì)象與所述先前路由決策相關(guān)聯(lián); 規(guī)則引擎(215),被配置為評(píng)估該規(guī)則,其中,所述評(píng)估包括基于所述上下文對(duì)象引用 訪問所述路由決策上下文對(duì)象;以及 消息處理器(210),被配置為基于該規(guī)則的評(píng)估經(jīng)由所述Diameter堆棧發(fā)送消息。
9. 如權(quán)利要求8所述的DRA,其中,在基于該規(guī)則的評(píng)估發(fā)送消息時(shí),所述消息處理器 (210)被配置為發(fā)送所述Diameter消息至所述目標(biāo)設(shè)備。
10. 如權(quán)利要求8-9任一項(xiàng)所述的DRA,其中所述Diameter消息與第一 Diameter應(yīng)用 相關(guān)聯(lián),所述先前消息與第二Diameter應(yīng)用相關(guān)聯(lián)。
11. 如權(quán)利要求8-10任一項(xiàng)所述的DRA,其中: 所述Diameter堆棧(205)進(jìn)一步被配置為在接收所述Diameter消息之前接收所述先 前消息; 所述規(guī)則引擎(215)還被配置為確定所述先前消息應(yīng)該被路由到所述目標(biāo)設(shè)備;以及 路由決策上下文對(duì)象(620)被配置為,基于所述規(guī)則引擎的訪問,存儲(chǔ)所述先前消息 的標(biāo)識(shí)和所述目標(biāo)設(shè)備作為路由決策。
12. 如權(quán)利要求11所述的DRA,其中所述路由決策上下文對(duì)象(620)被配置為,基于所 述規(guī)則引擎的訪問,更新與所述路由決策相關(guān)聯(lián)的時(shí)間戳。
13. 如權(quán)利要求11-12任一項(xiàng)所述的DRA,進(jìn)一步包括清理模塊(255),所述清理模塊 (255)被配置為: 基于與所述路由決策相關(guān)聯(lián)的時(shí)間戳確定所述路由決策應(yīng)被刪除;以及 從DRA的存儲(chǔ)器中刪除所述路由決策。
14. 如權(quán)利要求8-13任一項(xiàng)所述的DRA,其中,所述路由決策上下文對(duì)象¢20)被配置 為: 從所述Diameter消息提取至少一條標(biāo)識(shí)信息;以及 確定所述至少一條標(biāo)識(shí)信息對(duì)應(yīng)于所述先前消息。
【文檔編號(hào)】H04L12/701GK104350713SQ201380028275
【公開日】2015年2月11日 申請(qǐng)日期:2013年5月28日 優(yōu)先權(quán)日:2012年5月29日
【發(fā)明者】P·K·喬根森, R·A·曼 申請(qǐng)人:阿爾卡特朗訊公司