两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于多處理器服務(wù)器中的負載分配的方法和裝置的制作方法

文檔序號:7951420閱讀:265來源:國知局
專利名稱:用于多處理器服務(wù)器中的負載分配的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及用于在多處理器服務(wù)器中的處理器之間分配負 載的方法和裝置。特別是,本發(fā)明與在處理服務(wù)請求時降低延遲和復(fù) 雜度有關(guān)。
背景技術(shù)
現(xiàn)今,可利用能夠使用IP(因特網(wǎng)協(xié)議)進行基于分組的多力某體通 信的各種通信設(shè)備,包括固定或移動的計算機和電話。多媒體服務(wù)通 常需要以不同的格式和結(jié)合(包括音頻、視頻、圖象、文本、文檔、動 畫等)表示媒體的編碼數(shù)據(jù)的基于IP(因特網(wǎng)協(xié)議)的傳輸。稱作"IP多媒體子系統(tǒng)"(IMS)的網(wǎng)絡(luò)體系結(jié)構(gòu)已經(jīng)由第三代合 作伙伴計劃(3GPP)發(fā)展為用于處理分組域中的多媒體服務(wù)和通信會 話的開放的標準。IMS是實現(xiàn)基于IP傳輸?shù)姆?wù)的平臺,或多或少獨 立于所使用的接入技術(shù),并且基本上不限于任何特定的服務(wù)。因此, IMS網(wǎng)絡(luò)用于控制多媒體會話,但不用于通過接入網(wǎng)絡(luò)和任何中間傳 輸網(wǎng)絡(luò)(包括因特網(wǎng))路由的有效載荷數(shù)據(jù)的實際傳輸。圖1是通過IMS服務(wù)網(wǎng)絡(luò)的方式提供多媒體服務(wù)時的基本方案的 示范性圖解說明。移動終端A連接到無線接入網(wǎng)絡(luò)100,并且在包括 一個或多個多々某體服務(wù)的通信會話S中與連接到另一個接入網(wǎng)絡(luò)102 的固定計算機B進行J 某體通信。同樣也可以存在鏈接接入網(wǎng)絡(luò)100和 102的中間骨干網(wǎng)絡(luò)(未示出)。IMS網(wǎng)絡(luò)104連接到無線接入網(wǎng)絡(luò)100并且處理對于終端A的會 話,其中網(wǎng)絡(luò)100、 104通常由相同的運營商擁有。在這個例子中,相應(yīng)的IMS網(wǎng)絡(luò)106代表終端B處理會話,并且兩個IMS網(wǎng)絡(luò)104 和106可以由不同的運營商控制。作為備選的方案,兩個通信終端當(dāng) 然也可以連接到相同的接入網(wǎng)絡(luò)和/或可以屬于相同的IMS網(wǎng)絡(luò)。終 端A也可以改為與服務(wù)器通信,例如,用來從內(nèi)容提供商下載一些々某 體或信息。此外,如果終端正在^皮訪問的接入網(wǎng)絡(luò)內(nèi)漫游,那么多i某 體服務(wù)由終端的"歸屬"IMS網(wǎng)絡(luò)(即在其中該終端作為用戶而注冊的 網(wǎng)絡(luò))來處理。顯示在圖1中的會話由各個IMS網(wǎng)絡(luò)中的特定節(jié)點管理,在網(wǎng)絡(luò) 104中通常表示為"會話管理節(jié)點"108。這些節(jié)點通常包括S-CSCF(服 務(wù)呼叫會話控制功能),I-CSCF(問詢呼叫會話控制功能)和P-CSCF(代 理呼叫會話控制功能)。各個MS網(wǎng)絡(luò)104、 106還包括(或連接到)用 于實現(xiàn)不同的多媒體服務(wù)的應(yīng)用服務(wù)器110。此外,主數(shù)據(jù)庫單元 HSS(歸屬用戶服務(wù)器)112還存儲用戶和認證數(shù)據(jù)以及服務(wù)信息。IMS 網(wǎng)絡(luò)106基本類似于網(wǎng)絡(luò)104。當(dāng)然,IMS網(wǎng)絡(luò)104、 106包含i午多其 它的節(jié)點和功能(為了簡化的目的,這里沒有示出),這些節(jié)點和功能 與本發(fā)明沒有特殊關(guān)聯(lián)。稱作"SIP"(根據(jù)標準IETF RFC 3261:會話初始化協(xié)議)的規(guī)范用 于處理IMS網(wǎng)絡(luò)中的會話。SIP是用于信令的應(yīng)用層協(xié)議,可以用于 建立多媒體會話以及通常用于處理多々某體會話。因而SIP標準可以由 IMS網(wǎng)絡(luò)和終端用來建立和控制IP多^(某體通信。這樣,顯示在圖1中的應(yīng)用服務(wù)器110用于向用戶提供特定的多 i某體服務(wù),并且可以由IMS網(wǎng)絡(luò)104的運營商或外部"第三方"服務(wù)提 供商擁有或管理。許多服務(wù),例如所謂的"存在服務(wù)(presence service)", 可以包括不同的組和聯(lián)系人列表特征并且可以提供關(guān)于其它用戶的 信息,例如,關(guān)于他們當(dāng)前的位置或狀態(tài)的信息。任何這才羊的信息由 各自的應(yīng)用服務(wù)器110保存,這與預(yù)訂的應(yīng)用服務(wù)器的服務(wù)的用戶有 關(guān)。用戶還可以根據(jù)他/她的配置文件以及當(dāng)前的位置和狀態(tài)來接收消息和數(shù)據(jù)。用戶配置文件可以是個人的并且由優(yōu)先選擇、興趣和愛好 以及更多的臨時性因素(例如用戶的可用性以及當(dāng)前心情)來確定。應(yīng)當(dāng)很容易地理解這樣的服務(wù)要求在應(yīng)用服務(wù)器中處理相當(dāng)大 的數(shù)量的可檢索的用戶特定數(shù)據(jù),并且在本說明中,術(shù)語"用戶特定 數(shù)據(jù)"用于表示與預(yù)訂由應(yīng)用服務(wù)器提供的服務(wù)的用戶以某種方式關(guān)聯(lián)的任何信息。WO 2005/088949描述了如何獲得用戶特定數(shù)據(jù)以及用 戶特定數(shù)據(jù)如何提供給用戶。因此,在應(yīng)用服務(wù)器中,需要頻繁地檢 索和更新這樣的用戶特定數(shù)據(jù),例如,以響應(yīng)服務(wù)請求。因此,希望 服務(wù)提供商能夠有效地利用和控制包括在它們的應(yīng)用服務(wù)器中的硬 件和軟件工具的資源。此外,可能有必要不時地隨著來自服務(wù)請求改變的需求來重新配 置應(yīng)用服務(wù)器??梢蕴砑踊蛞瞥脩粢约翱梢砸?、修改或刪除月良務(wù)。 反映在引入請求的數(shù)量上的特定服務(wù)的普及性,同樣可以隨時間改 變。從而,在應(yīng)用服務(wù)器中同樣要求可擴縮性。為了應(yīng)付服務(wù)請求和大量的信息的需求,應(yīng)用服務(wù)器通常包括多 個具有基本相似的性能和功能性的處理器。于是,所謂的負載均衡器 通過根據(jù)某些調(diào)度算法對各個請求選擇處理器,用來在處理器中分配 引入請求的負載。為了有效地利用可用的計算和存儲資源,應(yīng)付熱點 和避免瓶頸,這樣做是必要的。然而,還有可能從一個或多個數(shù)據(jù)庫 中發(fā)現(xiàn)和檢索用戶特定數(shù)據(jù),這通常要求使用指針或參考。WO 2003/069474披露了用于在服務(wù)器系統(tǒng)中的多個服務(wù)器之間 分配來自用戶的引入服務(wù)請求的負載的解決方案,服務(wù)器系統(tǒng)中的多 個服務(wù)器分為適合于處理任務(wù)的主服務(wù)器和適合于存儲任務(wù)的次服 務(wù)器。在該上下文中,處理任務(wù)基本上是用戶獨立的,而存儲任務(wù)基 本上是用戶特定的。當(dāng)由服務(wù)器系統(tǒng)中的接入節(jié)點接收服務(wù)請求時, 通過使用第一調(diào)度算法(例如,輪詢算法)隨機地分配任何主服務(wù)器。 然后,在處理請求之后,所選擇的主服務(wù)器通過使用第二調(diào)度算法(例 如,使用用戶身份作為輸入的散列算法)分配用于存儲任務(wù)的特定的次服務(wù)器。以這樣的方式,處理負載將在主服務(wù)器之間均勻分配,用戶 特定存儲負載將僅被指? 1到保存有與請求用戶有關(guān)的信息的服務(wù)器。然而,具有高性能的應(yīng)用服務(wù)器通常包括多個相同的處理器(有時 被稱為"機群"),只要是在處理服務(wù)請求時,需要各個處理器從數(shù)據(jù)存 儲中檢索用戶特定信息。為了避免所存儲的用戶數(shù)據(jù)的復(fù)制,大的公 共數(shù)據(jù)庫通常由所有的處理器使用。圖2說明了在IMS網(wǎng)絡(luò)中提供一個或多個特定的多々某體服務(wù)的 SIP應(yīng)用服務(wù)器200的常規(guī)體系結(jié)構(gòu)。應(yīng)用服務(wù)器200包括負載均衡 器202,多個相互類似的處理器204,以及公共用戶數(shù)據(jù)庫206。數(shù)據(jù) 庫206為所有用戶或?qū)τ谟蓱?yīng)用服務(wù)器200提供的多々某體月l務(wù)注冊的 用戶存儲有關(guān)的用戶特定數(shù)據(jù)。這樣,為用戶A存儲的信息在某方面 與用戶A有關(guān),關(guān)于用戶他/她自己或包括在對那個用戶A定義的組 中的其它用戶。最初在負載均衡器202中接收來自用戶的引入服務(wù)請求,這應(yīng)用 了 一些適當(dāng)?shù)恼{(diào)度算法以便或多或少隨機地選擇處理器204用來處理 請求。在圖中,負載均衡器202中的調(diào)度算法恰巧將第一所示請求R1 指引到處理器1并且將第二所示請求R2指引到處理器3。例如,請求 Rl和R2可以涉及相同的訂戶/用戶。因為各個請求R1、 R2通常要求 一些用戶有關(guān)信息,所以處理器1和2必須從公共數(shù)據(jù)庫206中檢索 這樣的相關(guān)信息,如雙箭頭所示。以這種方式,處理器204的任何一 個可以通過訪問數(shù)據(jù)庫206來處理來自所有注冊的訂戶/用戶的請求。然而,由于所需的從數(shù)據(jù)庫中檢索信息的步驟,具有大的公共數(shù) 據(jù)庫的解決方案增加了對請求的響應(yīng)時間。而且,如果有必要重傳(當(dāng) UDP(用戶數(shù)據(jù)報協(xié)議)用于傳輸SIP消息時,可能會有這種情況),則 重傳的消息纟艮有可能^f皮指引到與第 一 次選出的不同的處理器。因此, 同樣有必要將用戶當(dāng)前的事務(wù)和/或?qū)υ捫畔⒋鎯υ诠矓?shù)據(jù)庫中,這 自然會在那個數(shù)據(jù)庫上產(chǎn)生更多的負載。發(fā)明內(nèi)容本發(fā)明的目的^Jf決上文列出的問題,并且對引入的服務(wù)請求提 供處理負載的有效的分配。這個目的和其它目的能夠通過提供根據(jù)所 附的獨立權(quán)利要求的方法和裝置來獲得。根據(jù)一個方面,提供了一種在具有多個處理器的應(yīng)用服務(wù)器中處 理對多媒體服務(wù)的引入請求的方法。首先在第 一處理器中從用戶接收 服務(wù)請求,所述服務(wù)請求要求用戶特定數(shù)據(jù)的處理。然后從接收到的 服務(wù)請求中提取用戶的身份或其它相容的用戶有關(guān)參數(shù)。其次,使用 提取的身份或其它用戶有關(guān)參數(shù)作為輸入來應(yīng)用調(diào)度算法,以便選擇 關(guān)聯(lián)該用戶并且為該用戶本地存儲用戶特定數(shù)據(jù)的第二處理器。月良務(wù) 請求最終傳送給所選的笫二處理器以便通過處理所述用戶特定數(shù)據(jù) 來對其進行處理。優(yōu)選地,在第一處理器的無狀態(tài)(stateless)前端部分中接收服務(wù)請 求,并且將該服務(wù)請求傳送給第二處理器的有狀態(tài)(statefiil)后端部分。 調(diào)度算法可以應(yīng)用于設(shè)置在第一處理器的前端部分和第一處理器的 有狀態(tài)后端部分之間的分配器。分配器可以是設(shè)置在應(yīng)用服務(wù)器中的 處理器的無狀態(tài)前端部分和有狀態(tài)后端部分之間的中央分配器,或者 是僅設(shè)置在第一處理器的前端和后端部分之間的本地分配器。當(dāng)信令協(xié)議用來處理請求時,無狀態(tài)前端部分可以在所述信令協(xié) 議的網(wǎng)絡(luò)層運行,而有狀態(tài)后端部分可以在信令協(xié)議的更高層運行。用戶特定數(shù)據(jù)的處理可以包括對這樣的數(shù)據(jù)的任何的檢索、修改 和/或存儲行為。應(yīng)用服務(wù)器可以連接到MS網(wǎng)絡(luò),并且SIP信令可以用于接收的 服務(wù)請求。然后,分配器可以相對于SIP堆棧設(shè)置在無狀態(tài)網(wǎng)絡(luò)層和 有狀態(tài)更高層(包括應(yīng)用層)之間。當(dāng)應(yīng)用服務(wù)器連接到IMS網(wǎng)絡(luò)時, HTTP信令同樣可以用于所接收的服務(wù)請求。根據(jù)另一個方面,在具有多個處理器的應(yīng)用^務(wù)器的第一處理器 中提供了一種裝置,用來處理對多媒體服務(wù)的引入請求。該裝置包括用于接收來自用戶的服務(wù)請求的部件,要求處理用戶特定數(shù)據(jù)的部 件,以及用來從接收到的服務(wù)請求中提取用戶A的身份或其它相容的 用戶有關(guān)參數(shù)的部件。該裝置還包括使用所提取的身份或其它用戶有 關(guān)參數(shù)作為輸入來應(yīng)用調(diào)度算法的部件,用來選擇關(guān)聯(lián)所述用戶并且 為那個用戶本地存儲用戶特定數(shù)據(jù)的第二處理器的部件,以及用來將 服務(wù)請求傳送給所選擇的第二處理器以便通過處理所述用戶特定數(shù) 據(jù)來處理服務(wù)請求的部件。接收、提取和傳送部件優(yōu)選地在適合于接收^務(wù)請求并將服務(wù)請 求傳送給所選擇的第二處理器的有狀態(tài)后端部分的第一處理器的無 狀態(tài)前端部分實現(xiàn)。應(yīng)用部件可以在分配器中實現(xiàn),分配器設(shè)置在第 一處理器的所述前端部分和第一處理器的有狀態(tài)后端部分之間。分配 器可以是中央分配器,設(shè)置在應(yīng)用服務(wù)器中的所述多個處理器的無狀 態(tài)前端部分和有狀態(tài)后端部分之間;或本地分配器,僅設(shè)置在第一處 理器的所述前端和后端部分之間。當(dāng)信令協(xié)議用來處理所述請求時, 所述無狀態(tài)前端部分可以在所述協(xié)議的網(wǎng)絡(luò)層運行,而所述有狀態(tài)后 端部分可以在協(xié)議的更高層運行。用戶特定數(shù)據(jù)的處理可以包括為對這樣的數(shù)據(jù)的任何檢索、修改 和/或存々者行為。應(yīng)用服務(wù)器可以連接到IMS網(wǎng)絡(luò),并且SIP信令可以用于接收的 服務(wù)請求。然后,分配器相對于SEP堆棧設(shè)置在無狀態(tài)網(wǎng)絡(luò)層和有狀 態(tài)更高的層(包括應(yīng)用層)之間。當(dāng)應(yīng)用服務(wù)器連接到IMS網(wǎng)絡(luò)時, HTTP信令同樣可以用于接收的服務(wù)請求。根據(jù)另一個方面,提供了具有多個處理器的應(yīng)用服務(wù)器,用來處 理對多媒體服務(wù)的引入請求。各個處理器包括適合于接收服務(wù)請求 的無狀態(tài)前端部分,適合于處理服務(wù)請求的有狀態(tài)后端部分,以及用 于本地存儲用戶特定數(shù)據(jù)的存儲單元。分配器還設(shè)置在前端和后端部 分之間,適合于對來自用戶的服務(wù)請求應(yīng)用調(diào)度算法,要求使用身份或其它的用戶有關(guān)參數(shù)作為輸入來處理用戶特定數(shù)據(jù),用來選擇關(guān)聯(lián) 所述用戶以及對那個用戶本地存儲用戶特定數(shù)據(jù)的另 一個處理器。分配器可以是設(shè)置在應(yīng)用服務(wù)器中處理器的無狀態(tài)前端部分和 有狀態(tài)后端部分之間的中央分配器,或僅設(shè)置在各個單個處理器的前 端和后端部分之間的本地分配器。本發(fā)明的更多可能的特征和優(yōu)勢將在下文的詳細描述中作解釋。


現(xiàn)在將更詳細地并參照附圖來描述本發(fā)明,其中 圖1是包括IMS網(wǎng)絡(luò)的通信方案的示意性縱覽,其中可以使用本 發(fā)明。圖2是根據(jù)現(xiàn)有技術(shù)的應(yīng)用服務(wù)器的框圖。圖3是根據(jù)一個實施例的應(yīng)用服務(wù)器的框圖。圖4是根據(jù)另一個實施例的應(yīng)用服務(wù)器的框圖。圖5是根據(jù)再一個實施例的應(yīng)用服務(wù)器的框圖。圖6是根據(jù)圖5的實施例的應(yīng)用服務(wù)器的備選框圖。圖7是根據(jù)再一個實施例的用來處理服務(wù)請求的過程的流程圖。
具體實施方式
簡單地說,本發(fā)明包括本地存儲用戶特定數(shù)據(jù)的一組處理器,以 及用于將關(guān)于特定用戶的服務(wù)請求指引到為那個用戶存儲數(shù)據(jù)的處 理器的機構(gòu)。圖3說明了根據(jù)一個實施例的應(yīng)用服務(wù)器300和用于處 理來自用戶A的服務(wù)請求的過程。應(yīng)用服務(wù)300可以連接到使用SIP 信令的MS網(wǎng)絡(luò),例如,如圖1中所示的。應(yīng)用服務(wù)器300包括充當(dāng)用于引入服務(wù)請求的接入節(jié)點的負載 均衡器302以及其中僅示出兩個處理器304、 306分別具有身份x和y 的多個相似的處理器。各個處理器304、 306等包括用于本地存儲用12戶特定數(shù)據(jù)的存儲單元或存儲器。這樣,存儲單元304m位于處理器 x中,存儲單元306m位于處理器y中。處理器中的各個本地存儲單元(例如,高速緩存型存儲器)可以在 容量上明顯小于容納所有用戶數(shù)據(jù)的大的公共數(shù)據(jù)庫,因為在各個本 地存儲單元中僅存儲用戶特定數(shù)據(jù)總量的一小部分。在這個例子中, 存儲單元304m為與處理器x相關(guān)聯(lián)的用戶的第一子集存儲數(shù)據(jù),以 及存儲單元306m為與處理器y相關(guān)聯(lián)的用戶的第二子集存儲數(shù)據(jù), 包括其中示出的用戶A。從而,相同的處理器將為特定的用戶本地處 理所有的用戶特定數(shù)據(jù)。在第一步驟3:1,從負載均衡器302中接收來自用戶A的服務(wù)請 求。在下一個步驟3:2,負栽均衡器302應(yīng)用第一調(diào)度算法,例如, 輪詢算法,用來或多或少隨機地選擇任何處理器來接收和處理服務(wù)請 求。在這個例子中,負載均衡器302恰巧選擇處理器x, 304,在步驟 3:4中將請求傳送到那個處理器。應(yīng)當(dāng)注意,負栽均4纖器302可按與 圖2的常規(guī)的負載均衡器202相同的方式很好地運行。如果接收處理器x然后檢測到所接收的請求要求關(guān)于用戶A的用 戶特定數(shù)據(jù)的檢索、更新和/或存儲,那么就首先確定所選擇的處理器 x是否實際關(guān)聯(lián)用戶A。很有可能,如果應(yīng)用服務(wù)器300包括多于兩 個或三個的處理器,則不會發(fā)生這種情況。因此,在下一個步驟3:5, 基于用戶A的身份或能夠從請求中提取的其它相容的參數(shù),處理器x 應(yīng)用第二調(diào)度算法來選擇一個與用戶A相關(guān)聯(lián)的處理器。第二調(diào)度算 法適合于始終^"各個特定的用戶提供相同的結(jié)果。例如,散列型算法 可使用用戶A的身份或其它的用戶有關(guān)參數(shù)作為輸入。在這個例子中,處理器x選擇與用戶A相關(guān)聯(lián)的處理器y306, 并且在步驟3:6中該請求4支進一步傳送到那里。作為對用戶A的正確 的處理器,現(xiàn)在可以通過為用戶A存儲在存儲單元306m中的用戶特 定數(shù)據(jù)來處理該請求,并且在最后的步驟3:7,根據(jù)請求和/或服務(wù)的 性質(zhì)任意地提供某類響應(yīng)或其它行為。以這樣的方式,不要求用戶特定數(shù)據(jù)的請求被均勻地分配在處理 器之間,而實際上要求用戶特定數(shù)據(jù)的請求轉(zhuǎn)發(fā)給與請求用戶相關(guān)聯(lián) 的處理器。應(yīng)當(dāng)注意,當(dāng)前的解決方案不排除公共數(shù)據(jù)庫306的附加 使用,如圖所示,例如,用來保存某些更持久和/或更重要類型的用戶 特定數(shù)據(jù)。例如, 一些種類的數(shù)據(jù)可以復(fù)制到本地存儲部件和公共數(shù) 據(jù)庫中,使得這些數(shù)據(jù)長期來講很容易地檢索并安全地存儲。在該上下文中,訪問本地存儲器306m要比訪問/厶共數(shù)據(jù)庫快得多。因此與 常規(guī)的解決方案相比,本解決方案提供了更大的靈活性,更短的延遲 并且降低了在公共數(shù)據(jù)庫中對存儲容量的需求(如果確實需要)。圖4更詳細地說明了包括多個處理器的基于SIP的應(yīng)用服務(wù)器 400(其中僅顯示了第一處理器400x和第二處理器400y),但是本發(fā)明 通常不限于SIP的使用。下文中,根據(jù)另一個實施例,將描述引乂UIl 務(wù)請求R如何能從處理器400x轉(zhuǎn)發(fā)到處理器400y。假定使用第一調(diào) 度算法的負載均衡器302最初恰巧將服務(wù)請求R從請求用戶指引到處 理器400x。這樣,負載均衡器302基本上具有與上述圖3描述的相同 的功能。在這個實施例中,各個處理器邏輯上分成SIP前端部分402x、 y 和SIP后端部分406x、 y,并且具有位于前端和后端部分之間的分配 器功能才莫塊404x、 y。處理器400x和400y還分別包括具有有限尺寸 的本地存儲單元408x和408y。SIP前端部分402x、 y和SIP后端部分406x、 y根據(jù)SIP協(xié)議堆 棧中不同的層來運行,使得前端部分402x、 y在協(xié)議中的網(wǎng)絡(luò)層中是 "無狀態(tài)"運行的,而后端部分406x、 y在協(xié)議中的更高層(通常包括事 務(wù)層、解析層、會話層和上下文層)中是"有狀態(tài)"運行的。這個技術(shù)意 味著無狀態(tài)前端部分402x、 y的運行不受用戶特定數(shù)據(jù)的改變影響, 同時有狀態(tài)后端部分406x、 y的運行可能也是如此。因此,SIP后端 部分主要處理SIP事務(wù)和^H舌。SIP堆棧的頂部^J良務(wù)器400中執(zhí)行一個或多個應(yīng)用程序的實際 的應(yīng)用層(未示出),可以認為它屬于后端部分406x、 y。在應(yīng)用層和其 余的SIP堆棧之間是應(yīng)用層接口 API,例如,SIP Servlet API或一些基 于JAVA的通信接口。 SEP結(jié)構(gòu)是技術(shù)中公知的,而沒有必要在本發(fā) 明中作進一步描述以便理解本發(fā)明。對于除了 SIP外的協(xié)議(例如 HTTP),處理器同樣有可能類似地分成無狀態(tài)前端部分和有狀態(tài)后端 部分。二調(diào)度算法,在各個處理器中的分配器功能模塊404x、 y適合于將請 求重定向到與請求用戶相關(guān)聯(lián)的正確的處理器。因此,當(dāng)顯示的引入 請求R到達處理器400x中的SIP前端部分402x時,檢測到該請求要 求用戶特定數(shù)據(jù)并且分配器404x應(yīng)用第二調(diào)度算法來為請求用戶找 到正確的處理器,即,在這個例子中是處理器400y。請求返回到前端 部分402x,然后前端部分402x將請求轉(zhuǎn)發(fā)到根據(jù)第二調(diào)度算法選擇 的處理器400y。從而,請求!U皮傳送給處理器400y,并且進入到在網(wǎng)絡(luò)層運行的 SIP前端部分402y,然后SIP前端部分402y最終將該請求傳送給SIP 后端部分406y以便通過存儲單元408y中的用戶特定數(shù)據(jù)才艮據(jù)更高的 協(xié)議層來進一步處理。另一方面,如果在第一處理器400x中檢測到 請求R不要求用戶特定數(shù)據(jù),則該請求將保留在處理器400x中并且 ^^直接傳送到后端部分406x用于處理,而無需應(yīng)用第二調(diào)度算法。圖5說明了根據(jù)另一個實施例基于SIP的應(yīng)用服務(wù)器500的備選 配置。與先前的實施例一樣,服務(wù)器500包括多個處理器,其中僅示 出了第一處理器500x和笫二處理器500y,使用第一調(diào)度算法的負載 均衡器302恰巧將服務(wù)請求R從請求用戶指引到處理器500x。與先前 圖4的實施例一樣,處理器包括在SIP協(xié)議堆棧中的不同的層運行的 無狀態(tài)SIP前端部分502x、 y和有狀態(tài)后端部分506x、 y,以及本地15存儲單元508x、 y。然而在這個實施例中,中央分配器504位于月良務(wù) 器中的多個前端部分和后端部分(包括部分502x、 y和504x、 y)之間。中央分配器504適合于將請求從任何處理器重定向到與請求用戶 相關(guān)聯(lián)的正確的處理器。這樣,當(dāng)引入請求R到達處理器500x中的 SIP前端部分502x時,檢測該請求要求用戶特定數(shù)據(jù)。所以請求;故轉(zhuǎn) 發(fā)到分配器504,在分配器504中應(yīng)用第二調(diào)度算法來為請求用戶找 到正確的處理器,即,在這個例子中的處理器500y。在這個實施例中, 此刻請求纟皮直接傳遞到處理器500y的SIP后端部分506y,用來通過 存儲單元508y中的用戶特定數(shù)據(jù)來作進一步處理。因此,在處理該請求之后,可以將響應(yīng)或其它的消息通過所選擇 的處理器500y中SIP前端部分502y來發(fā)送給例如請求用戶。雖然本 實施例已經(jīng)使用SIP信令作了描述,但是當(dāng)使用其它的信令協(xié)議時, 例如HTTP(超文本傳遞協(xié)議),同樣可以應(yīng)用本實施例。如果使用了 HTTP,則可能有必要從最初的接收處理器500x的前端部分502x發(fā) 送響應(yīng),如圖中虛線指示的。因此,在HTTP中要求保持最初由負栽 均衡器302響應(yīng)接收請求而給到請求用戶的通信地址。圖6是與上述圖5描述的實施例略有不同的圖解說明,其中中央 分配器600提供在應(yīng)用服務(wù)器中的多個處理器的所有的無狀態(tài)SIP前 端部分602與所有有狀態(tài)SIP后端部分604之間的請求分配鏈接。這 樣,來自任何處理器的SIP前端部分602的請求(要求存儲在與請求用 戶相關(guān)聯(lián)的特定處理器中的用戶特定數(shù)據(jù))可以通過中央分配器功能 ;f莫塊600按上述圖5描述的方式重定向到正確的處理器。在上迷圖4-6描述的實施例中,分配器404x、y和中央分配器504、 600還可以包括規(guī)定其中使用的調(diào)度算法的一組預(yù)定的規(guī)則(未示出)。算法的輸入,這可能取決于消息和/或協(xié)議類型等。上述實施例中的分配器404x、 y和中央分配器504、 600還可以 從中央管理員(未示出)等接收配置信息,例如,在應(yīng)用服務(wù)器中是否改變處理器配置或者一些用戶特定數(shù)據(jù)是否應(yīng)當(dāng)從本地存儲單元中 移動或刪除。用于選擇正確的處理器的散列算法還可由于改變的處理器的數(shù)量而改變。因此,分配器404x、 y和中央分配器504、 600將 一直保持到現(xiàn)在并對? 1 /Ul良務(wù)請求提供正確的結(jié)果。最后,現(xiàn)在將參考圖7中的流程圖來描述通常處理來自連接到多 媒體服務(wù)網(wǎng)絡(luò)的多處理器應(yīng)用服務(wù)器中的請求用戶的服務(wù)請求的過 程。與先前描述的實施例一樣,應(yīng)用服務(wù)器中的各個處理器包括本地 存儲單元,其中不同的處理器對不同的用戶存儲用戶特定數(shù)據(jù)。此外, 多々某體服務(wù)網(wǎng)絡(luò)可以是使用SIP信令的IMS網(wǎng)絡(luò),但是本發(fā)明通常不 限于此。在第一步驟700,在應(yīng)用服務(wù)器中(例如,通過輪詢調(diào)度算法)或多 或少隨機選擇的處理器中接收請求,即,不考慮請求用戶的身份。在 下一步驟702,確定對于處理該請求(即,包括對這樣的數(shù)據(jù)的任何檢 索、修改和/或存儲行為)是否要求用戶特定數(shù)據(jù)。如果要求,則在步 驟704中從該請求中提取請求用戶的身份或其它相容的用戶有關(guān)參 數(shù),并且在隨后的步驟706,基于所提取的用戶身份或其它用戶有關(guān) 參數(shù)來應(yīng)用調(diào)度算法,例如散列算法來找到正確的處理器。然后在步驟708,確定最初接收處理器是否實際上是與請求用戶 相關(guān)聯(lián)的處理器,即,所應(yīng)用的調(diào)度算法是否導(dǎo)致了那個處理器或另 一個處理器。如果接收處理器是正確的處理器,(雖然這是不太可能 的),則在步驟710中可以進一步處理請求,而不用將請求傳送給另一 個處理器。如果接收處理器不是正確的處理器,則在步驟712中,將 請求傳遞給在步驟706中通過所應(yīng)用的調(diào)度算法選擇的處理器。應(yīng)當(dāng) 注意,如果在步驟702確定實際上不要求用戶特定數(shù)據(jù)來處理該請求, 則可以由最初的接收處理器來處理該請求,如從步驟702指向到步驟 710的箭頭所指示的。本發(fā)明(例如,根據(jù)上述圖3-7的實施例)當(dāng)應(yīng)用在包括多個處理 器的機群的用于多i某體服務(wù)的應(yīng)用服務(wù)器中時,可以提供一些優(yōu)勢。通過使用處理器中的本地存儲單元而不依賴于公共數(shù)據(jù)庫,降低了響 應(yīng)或其它行為的延遲。在通用數(shù)據(jù)庫中對存儲容量的需求,如果確實 需要,也會降低。這個解決方案還提供了關(guān)于處理器配置以及處理器配置的改變 的靈活性,而不會危害到安全性和可靠性。因為一個處理器和相同的 處理器將對特定的用戶處理所有的用戶特定數(shù)據(jù),可以在處理器之間均勻地分配存儲和處理負載,同時保持一致性。而且,通過UDP的 SIP重傳將不是問題,因為它們總是到達相同的與請求用戶相關(guān)聯(lián)的 處理器。最后,可以提高多媒體服務(wù)的性能并且促進應(yīng)用服務(wù)器的管 理。雖然已經(jīng)針對特定示意性實施例描述了本發(fā)明,但是通常該描述制。例如,當(dāng)描述上述實施例時始終使用了 SIP信令協(xié)議和IMS的概 念,但是基本上可以使用用于實現(xiàn)多媒體通信的任何其它的標準和服 務(wù)網(wǎng)絡(luò)。此外,本發(fā)明不限于任何的特定服務(wù),而是可用于在請求時 執(zhí)行任何類型的服務(wù)。本發(fā)明由所附的權(quán)利要求定義。
權(quán)利要求
1.一種在具有多個處理器的應(yīng)用服務(wù)器中處理對多媒體服務(wù)的引入請求的方法,包括以下步驟-在所述處理器中的第一處理器中接收來自用戶的服務(wù)請求,所述服務(wù)請求要求用戶特定數(shù)據(jù)的處理;-從所接收的服務(wù)請求中提取所述用戶的身份或其它相容的用戶有關(guān)參數(shù);-應(yīng)用使用所提取的身份或其它用戶有關(guān)參數(shù)作為輸入的調(diào)度算法,以便選擇關(guān)聯(lián)所述用戶并且為那個用戶本地存儲用戶特定數(shù)據(jù)的所述處理器中的第二處理器;以及-將所述服務(wù)請求傳送給所選擇的第二處理器,以便通過處理所述用戶特定數(shù)據(jù)來處理所述服務(wù)請求。
2. 如權(quán)利要求1所述的方法,其中在第一處理器的無狀態(tài)前端部 分接收所述服務(wù)請求,并且將所述服務(wù)請求傳送給第二處理器的有狀 態(tài)后端部分。
3. 如權(quán)利要求2所述的方法,其中在設(shè)置在第一處理器的所述前 度算法。
4. 如權(quán)利要求3所述的方法,其中所述分配器是設(shè)置在應(yīng)用服務(wù) 器中的所述多個處理器的無狀態(tài)前端部分和有狀態(tài)后端部分之間的 中央分配器。
5. 如權(quán)利要求3所述的方法,其中所述分配器是僅設(shè)置在第一處 理器的所述前端和后端部分之間的本地分配器。
6. 如權(quán)利要求2-5中任一項所述的方法,其中信令協(xié)議用來處理 所述請求,并且所述無狀態(tài)前端部分在所述信令協(xié)議的網(wǎng)絡(luò)層中運 行,以及所述有狀態(tài)后端部分在信令協(xié)議的更高層中運行。
7. 如權(quán)利要求1-6中任一項所述的方法,其中所述用戶特定數(shù)據(jù) 的處理包括對這樣的數(shù)據(jù)的任何檢索、修改和/或存儲行為。
8. 如權(quán)利要求2-7中任一項所述的方法,其中所述應(yīng)用服務(wù)器連 接到IMS網(wǎng)絡(luò),并且SIP信令用于所接收的服務(wù)請求,所述分配器相 對于SIP堆棧設(shè)置在無狀態(tài)網(wǎng)絡(luò)層和包括應(yīng)用層的有狀態(tài)更高層之 間。
9. 如權(quán)利要求2-7中任一項所述的方法,其中所述應(yīng)用服務(wù)器連 接到IMS網(wǎng)絡(luò),并且HTTP信令用于所接收的服務(wù)請求。
10. —種用于處理對多々某體服務(wù)的引入請求的具有多個處理器的 應(yīng)用服務(wù)器的第一處理器中的裝置,包括-用于接收來自用戶的服務(wù)請求的部件,所述服務(wù)請求要求用戶 特定數(shù)據(jù)的處理;-用于從所接收的服務(wù)請求中提取所述用戶的身份或其它相容的 用戶有關(guān)參數(shù)的部件;的所述處理器的笫二處理器的部件;以及誦用于將所述服務(wù)請求傳送給所選擇的第二處理器以便通過處理 所述用戶特定數(shù)據(jù)來處理所述服務(wù)請求的部件。
11. 如權(quán)利要求10所述的裝置,其中所述接收、提取和傳送部件 在第一處理器的無狀態(tài)前端部分中實現(xiàn),所述前端部分適合于接收服 務(wù)請求并將所述服務(wù)請求傳送給所選擇的第二處理器的有狀態(tài)后端 部分。
12. 如權(quán)利要求11所述的裝置,其中所述應(yīng)用部件在設(shè)置在第一 處理器的所述前端部分和第一處理器的有狀態(tài)后端部分之間的分配 器中實現(xiàn)。
13. 如權(quán)利要求12所述的裝置,其中所述分配器是設(shè)置在所述應(yīng) 用服務(wù)器中的所述多個處理器的無狀態(tài)前端部分和有狀態(tài)后端部分 之間的中央分配器。
14. 如權(quán)利要求12所述的裝置,其中所述分配器是Y義設(shè)置在第一 處理器的所述前端和后端部分之間的本地分配器。
15. 如權(quán)利要求11-14中任一項所述的裝置,其中信令協(xié)議用于 處理所述請求,并且所述無狀態(tài)前端部分在所述協(xié)議的網(wǎng)絡(luò)層中運 行,以及所述有狀態(tài)后端部分在協(xié)議的更高層中運行。
16. 如權(quán)利要求10-15中任一項所述的裝置,其中所述用戶特定 數(shù)據(jù)的處理包括對這樣的數(shù)據(jù)的任何檢索、修改和/或存儲行為。
17. 如權(quán)利要求11-16中任一項所述的裝置,其中所述應(yīng)用服務(wù) 器連接到IMS網(wǎng)絡(luò),并且SIP信令用于所接收的服務(wù)請求,所述分配 器相對于SIP堆棧設(shè)置在無狀態(tài)網(wǎng)絡(luò)層和包括應(yīng)用層的有狀態(tài)更高層 之間。
18. 如權(quán)利要求11-16中任一項所述的裝置,其中所述應(yīng)用服務(wù) 器連接到IMS網(wǎng)絡(luò),并且HTTP信令用于所接收的服務(wù)請求。
19. 一種用于處理對多i某體服務(wù)的引入請求的具有多個處理器的 應(yīng)用服務(wù)器,各個處理器包括-適合于接收服務(wù)請求的無狀態(tài)前端部分, -適合于處理服務(wù)請求的有狀態(tài)后端部分,以及 用于本地存儲用戶特定數(shù)據(jù)的存儲單元, 其中,-分配器設(shè)置在所述前端和后端部分之間,所述分配器適合于對 來自用戶的服務(wù)請求應(yīng)用調(diào)度算法,要求使用身份或其它的用戶有關(guān) 參數(shù)作為輸入來處理用戶特定數(shù)據(jù),以選擇關(guān)聯(lián)所述用戶以及為那個 用戶本地存儲用戶特定數(shù)據(jù)的所述處理器的另 一個處理器。
20. 如權(quán)利要求19所述的裝置,其中所述分配器是設(shè)置在所述應(yīng) 用服務(wù)器中的所述多個處理器的無狀態(tài)前端部分和有狀態(tài)后端部分之間的中央分配器,或僅設(shè)置在各單個處理器的前端和后端部分之間 的本地分配器。
全文摘要
一種用于在具有多個處理器(304、306等)的應(yīng)用服務(wù)器(300)中處理對多媒體服務(wù)的引入請求的方法和裝置。從用戶(A)接收要求處理用戶特定數(shù)據(jù)的服務(wù)請求(R)。從所接收的服務(wù)請求中提取用戶的身份或其它相容的用戶有關(guān)參數(shù)。然后,應(yīng)用使用所提取的身份或其它用戶有關(guān)參數(shù)作為輸入的調(diào)度算法,來選擇關(guān)聯(lián)該用戶并且為該用戶本地存儲用戶特定數(shù)據(jù)(306m)的處理器(306)。然后,最終將該服務(wù)請求傳送給所選擇的處理器以便通過處理所述用戶特定數(shù)據(jù)來處理該服務(wù)請求。
文檔編號H04L29/06GK101326493SQ200580052291
公開日2008年12月17日 申請日期2005年12月15日 優(yōu)先權(quán)日2005年12月15日
發(fā)明者A·丹恩, C·博伯格, K·格羅諾夫斯基 申請人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
法库县| 永丰县| 孟州市| 玉环县| 六盘水市| 龙岩市| 渝北区| 三穗县| 彰化县| 日照市| 红桥区| 吕梁市| 大埔区| 灵川县| 偏关县| 莱西市| 宁蒗| 和林格尔县| 乌拉特后旗| 德庆县| 陕西省| 磴口县| 鹤峰县| 同德县| 沈阳市| 丹凤县| 女性| 额济纳旗| 洛扎县| 张家川| 板桥市| 禄劝| 都安| 泾源县| 乐都县| 绿春县| 喀什市| 嘉兴市| 海淀区| 宜兰县| 宝应县|