Diameter代理的狀態(tài)信息卸載的制作方法
【專利說明】
【背景技術(shù)】
[0001]委托代理(proxy agent)是在信令網(wǎng)絡(luò)中提供增值服務(wù)的節(jié)點(diǎn)。它們?cè)谟趹?yīng)用層中使用Diameter基礎(chǔ)協(xié)議的網(wǎng)絡(luò)中是常見的。在基于diameter協(xié)議的網(wǎng)絡(luò)中,委托代理通常被稱作diameter委托代理或僅被稱作diameter代理。通過理解流過它們的消息的應(yīng)用級(jí)語(yǔ)義學(xué)并且可能地保持關(guān)于正在進(jìn)行的會(huì)話以及與這些會(huì)話有關(guān)的事務(wù)的狀態(tài)信息,委托代理可以修改遍歷它們的消息以及影響針對(duì)這些消息的對(duì)應(yīng)的路由判定。
[0002]會(huì)話包括多個(gè)事務(wù)。因此,在事務(wù)狀態(tài)和會(huì)話狀態(tài)之間存在有差異。事務(wù)狀態(tài)通過diameter代理來維持并且持續(xù)僅一個(gè)消息(例如請(qǐng)求和響應(yīng))交換。diameter代理發(fā)送請(qǐng)求并且接收對(duì)那個(gè)響應(yīng)的應(yīng)答。通過diameter代理為每個(gè)消息維持事務(wù)狀態(tài)。另一方面,會(huì)話狀態(tài)可以具有一個(gè)事務(wù)或多于一個(gè)事務(wù)的生存期。
[0003]會(huì)話被認(rèn)為由共享同一 diameter會(huì)話ID的事務(wù)組成。相關(guān)的事務(wù)被認(rèn)為是盡管它們不屬于同一顯式會(huì)話但是它們?nèi)匀恍纬蛇壿嬓蛄胁⑶乙虼耸请[式會(huì)話的一部分的那些。在后者的情形中,這些事務(wù)通常共享公用密鑰,例如用戶名屬性值對(duì)(AVP)的內(nèi)容。屬性值對(duì)是表示計(jì)算系統(tǒng)和應(yīng)用中的信息的數(shù)據(jù)結(jié)構(gòu)。從這點(diǎn)向前在使用術(shù)語(yǔ)“會(huì)話”時(shí),如上面所定義的那樣,顯式和隱式會(huì)話兩者均被考慮。而且,術(shù)語(yǔ)會(huì)話被用來描述通信會(huì)話。
[0004]術(shù)語(yǔ)狀態(tài)的(stateful)指當(dāng)前交互作用被先前交互作用的歷史影響。
[0005]探究更多細(xì)節(jié)并且參見圖1,我們考慮委托代理102,所述委托代理102被要求處理來自對(duì)等節(jié)點(diǎn)(它在圖1中是客戶機(jī)100)的第一會(huì)話發(fā)起請(qǐng)求1。會(huì)話發(fā)起請(qǐng)求是消息(例如請(qǐng)求消息)并且可以被稱作diameter消息?;诎赿iameter消息內(nèi)的信息、全節(jié)點(diǎn)狀態(tài)(node wide state)和可能的外部查詢/觸發(fā),委托代理做出關(guān)于消息操作和路由選擇的決定。隨后,它將消息轉(zhuǎn)發(fā)2至它的下一跳目的地,所述下一跳目的地可以是另一個(gè)diameter代理或最終目的地(如果直接連接的話)。在圖1中,下一跳目的地被示出為服務(wù)器104。如果這個(gè)消息的處理已經(jīng)導(dǎo)致需要跨事務(wù)來維持的一些狀態(tài)信息的創(chuàng)建,則代理102需要將這個(gè)信息存儲(chǔ)3在本地存儲(chǔ)系統(tǒng)106中。當(dāng)應(yīng)答消息被返回4時(shí),如果將要更新狀態(tài)信息,則需要再調(diào)用5和修改6先前創(chuàng)建的輸入項(xiàng)。將或者會(huì)話ID (顯式會(huì)話)或者已經(jīng)從消息內(nèi)的AVP中提取的數(shù)據(jù)(隱式會(huì)話)用作密鑰來提交這個(gè)狀態(tài)信息。
[0006]當(dāng)屬于同一會(huì)話的隨后的事務(wù)被代理102接收8時(shí),它為這個(gè)會(huì)話再調(diào)用9保存的狀態(tài)信息?;谶@個(gè)信息和diameter消息的內(nèi)容,委托代理再次做出關(guān)于消息的可能修改和它的隨后的路由選擇的決定。所述消息然后被轉(zhuǎn)發(fā)10到由圖1中的服務(wù)器104示出的它的下一跳目的地,就像上面一樣它可以是另一個(gè)diameter代理或最終目的地。
[0007]通常,為大量會(huì)話和相關(guān)的事務(wù)維持和使用狀態(tài)信息是資源消耗任務(wù)。狀態(tài)信息的維持在委托代理上具有隨著活動(dòng)的會(huì)話和相關(guān)的事務(wù)的數(shù)量線性增長(zhǎng)的內(nèi)存占用(memory footprint),同時(shí)當(dāng)要修改和/或再調(diào)用這個(gè)信息時(shí)涉及的查找可對(duì)委托代理的容量有影響。
[0008]更具體地,通過委托代理保持和修改狀態(tài)信息存在某些不利之處。在存儲(chǔ)方面,委托代理需要在本地存儲(chǔ)系統(tǒng)中保持關(guān)于在那個(gè)時(shí)候是活動(dòng)的所有會(huì)話的信息。對(duì)應(yīng)的內(nèi)存占用隨著會(huì)話的數(shù)量線性增長(zhǎng)。在處理器負(fù)載方面,查找和檢索狀態(tài)信息的動(dòng)作將附加的負(fù)載放置到委托代理的處理器上。此外,為了避免單點(diǎn)故障,通常以配成對(duì)的配置來部署Diameter代理。這意味著需要在可用的代理之間同步狀態(tài)信息,使得所有會(huì)話的最當(dāng)前的狀態(tài)信息在它們兩者中是可用的。這意味著存在有需要的附加信令以便實(shí)現(xiàn)狀態(tài)信息的這個(gè)同步。最后,由于需要追蹤活動(dòng)的會(huì)話,所以代理必須能夠辨別何時(shí)建立新的會(huì)話而且辨別何時(shí)終止會(huì)話這兩者(其中后者是兩者中更難的)。上面的不利之處使委托代理的開發(fā)是困難的并且將復(fù)雜化引入了其中部署了委托代理的系統(tǒng)中。
【發(fā)明內(nèi)容】
[0009]因此,存在克服上面提到的問題并且確信通過把這個(gè)任務(wù)委托給涉及會(huì)話的兩個(gè)端點(diǎn)(即客戶機(jī)和服務(wù)器)來避免將每會(huì)話的狀態(tài)信息保持在委托代理中的需要。
[0010]這個(gè)需要通過獨(dú)立權(quán)利要求的特征來滿足。在從屬權(quán)利要求中描述了進(jìn)一步的實(shí)施例。
[0011]根據(jù)本發(fā)明的第一方面,提供了用于在通信網(wǎng)絡(luò)中通過委托代理在第一和第二通信實(shí)體之間建立通信會(huì)話的方法。這個(gè)會(huì)話包括在第一通信實(shí)體和委托代理之間以及在委托代理和第二通信實(shí)體之間交換的多個(gè)消息。首先,委托代理將會(huì)話信息插入到由第一或第二通信實(shí)體接收的第一消息。在那之后,委托代理將第一消息發(fā)送至第一或第二通信實(shí)體。委托代理接著借助于第一或第二通信實(shí)體接收第二消息。這個(gè)第二消息包含然后被委托代理分析的會(huì)話信息?;谶@個(gè)會(huì)話信息,委托代理將第三消息發(fā)送至第一或第二通信實(shí)體。
[0012]根據(jù)本發(fā)明的另一個(gè)方面,提供了適于在通信網(wǎng)絡(luò)中于第一和第二通信實(shí)體之間建立通信會(huì)話的委托代理。所述會(huì)話包括在第一通信實(shí)體和委托代理之間以及在委托代理和第二通信實(shí)體之間交換的多個(gè)消息。委托代理包括用于從第一或第二通信實(shí)體接收第一和第二消息的接口。它還包括用于將會(huì)話信息插入到被第一或第二通信實(shí)體接收的第一消息的編碼器以及用于分析所述會(huì)話信息的解碼器。委托代理最后包括用于基于所述會(huì)話信息將第三消息發(fā)送至第一或第二通信實(shí)體的處理器。
【附圖說明】
[0013]將參考附圖來進(jìn)一步詳細(xì)描述本發(fā)明。
[0014]圖1示出了借助于委托代理的事務(wù)的狀態(tài)處理。
[0015]圖2示出了狀態(tài)信息正被委托給客戶機(jī)。
[0016]圖3示出了在正向方向上提取/重新注入狀態(tài)信息。
[0017]圖4示出了狀態(tài)信息正被委托給服務(wù)器。
[0018]圖5示出了在反向方向上提取/重新注入狀態(tài)信息。
[0019]圖6示出了根據(jù)本發(fā)明的委托代理。
【具體實(shí)施方式】
[0020]在下文中,將討論不同的實(shí)施例,所述實(shí)施例允許客戶機(jī)和服務(wù)器中維持會(huì)話狀態(tài)信息的委托。應(yīng)當(dāng)理解,下面討論的特征中的每一個(gè)可被用在所描述的上下文中。然而,還可以單獨(dú)使用它們或者與下面詳細(xì)的描述中所描述的任何其它特征結(jié)合來使用它們。
[0021]如已經(jīng)提到的,當(dāng)前的發(fā)明描述了用于避免Diameter委托代理中每會(huì)話的狀態(tài)信息的保持和維持而是將這個(gè)任務(wù)委托給涉及會(huì)話的兩個(gè)端點(diǎn)(即客戶機(jī)和服務(wù)器)的方法。由于委托代理駐留在兩個(gè)通信實(shí)體之間,所以它能夠在從源主機(jī)到目的地主機(jī)的途中修改Diameter消息的內(nèi)容。
[0022]圖2示出了如何將狀態(tài)信息委托給客戶機(jī)200。客戶機(jī)200可以被稱作第一通信實(shí)體。會(huì)話由通過客戶機(jī)200發(fā)送的并且在委托代理202處接收的請(qǐng)求消息11 (例如認(rèn)證信息請(qǐng)求)來發(fā)起。委托代理202然后檢查消息的內(nèi)容?;谶@些內(nèi)容并且可能結(jié)合全節(jié)點(diǎn)狀態(tài)信息和/或外部查詢來做出關(guān)于消息修改以及它的路由選擇的決定12。所述消息接著被轉(zhuǎn)發(fā)13到路由判定選擇的對(duì)等端。在這種情況下,這個(gè)對(duì)等端是服務(wù)器204。服務(wù)器204可以被稱作第二通信實(shí)體。
[0023]全節(jié)點(diǎn)狀態(tài)信息可以是路由選擇表,定義了某些請(qǐng)求不得不被路由到什么地方、連接到節(jié)點(diǎn)并且由節(jié)點(diǎn)提供服務(wù)的可能的端點(diǎn)/對(duì)等端、每個(gè)對(duì)等端可以處理的可能的負(fù)載等。外部查詢可以是由委托代理進(jìn)行的查詢,以便得到額外信息用于決定如何處理某個(gè)請(qǐng)求??梢詫?duì)不是會(huì)話的一部分的另一個(gè)服務(wù)器或者對(duì)包含關(guān)于某些對(duì)等端的信息的數(shù)據(jù)庫(kù)進(jìn)行這些查詢。通常進(jìn)行消息修改以便例如從消息中過濾信息元素。在那種情況下,可能存在有在它被進(jìn)一步轉(zhuǎn)發(fā)時(shí)不應(yīng)當(dāng)留在消息中的一些敏感信息。作為另一個(gè)示例,出于互用性原因可能不得不修改消息,也就是,為了能夠讀取消息,消息的接收器可能具有某些要求。作為第三示例,可存在有可以從消息中刪除以便使其更短的信息。
[0024]當(dāng)接收到對(duì)應(yīng)的應(yīng)答14時(shí),源主機(jī)AVP應(yīng)當(dāng)包含處理這個(gè)請(qǐng)求的實(shí)際服務(wù)器204的主機(jī)名稱。所述應(yīng)答可被認(rèn)為是第一消息。如圖2中所示出的,這個(gè)主機(jī)名稱是例如“hss.abc.com”。委托代理202知道存在有一些狀態(tài)信息將要被保存。代理服務(wù)器關(guān)于狀態(tài)信息將要被保存的認(rèn)識(shí)可以從消息內(nèi)容和/或節(jié)點(diǎn)配置中獲得。保存可以或者在委托代理中完成或者被委托給客戶機(jī)和/或服務(wù)器。將這個(gè)信息編碼為字符串,所述字符串可被用作FQDN的一部分并且被插在源主機(jī)地址前面15。具有攜帶源主機(jī)的狀態(tài)信息的消息接著被委托代理202朝向客戶機(jī)200轉(zhuǎn)發(fā)16。在這種情況下,主機(jī)名稱將是例如“r3e5g.hss.abc.com”。主機(jī)名稱的“r3e5g”部分是包含狀態(tài)信息的編碼的字符串。主機(jī)名稱還可以被稱作diameter身份。此外,diameter身份可以具有形式“r3e5ghss.abc.com”,意味著編碼的字符串不需要被“hss”部分分隔。將注意到,上面提到的編碼的字符串可以具有任何形式和長(zhǎng)度。
[0025]圖3示出了在正向方向上提取/重新注入狀態(tài)信息。正向方向的意思是在做出初始請(qǐng)求的相同方向上進(jìn)行狀態(tài)信息的提取和重新注入。在那種情況下,是客戶機(jī)做出初始請(qǐng)求并且也是客戶機(jī)具有狀態(tài)信息。委托代理提取狀態(tài)信息并且還重新注入它。
[0026]當(dāng)由客戶機(jī)200做出的來自同一會(huì)話的隨后的請(qǐng)求21在委托代理202處被接收時(shí)(例如通知請(qǐng)求),它應(yīng)當(dāng)包括目的地主機(jī)AVP,因?yàn)橐呀?jīng)利用第一事務(wù)發(fā)現(xiàn)了服務(wù)器的名稱。這個(gè)請(qǐng)求可被認(rèn)為是第二消息。這個(gè)AVP應(yīng)當(dāng)還包含之前已經(jīng)被保存的狀態(tài)信息。如所提到的,狀態(tài)信息被包括在被委托代理添加到服務(wù)器204的主機(jī)名稱的部分中。接收請(qǐng)求21的委托代理202可以提取狀態(tài)信息并且評(píng)估它。這個(gè)評(píng)估的結(jié)果連同消息內(nèi)容以及可能其它的標(biāo)準(zhǔn)被委托代理202使用