本申請要求2015年11月4日遞交的發(fā)明名稱為“服務(wù)器資源的自適應(yīng)分配(AdaptiveAllocationofServerResources)”的第14/532,507號美國非臨時專利申請案的在先申請優(yōu)先權(quán)和權(quán)益,該在先申請的內(nèi)容以引入的方式并入本文本中。
背景技術(shù):
::網(wǎng)絡(luò)瀏覽器(通常稱為瀏覽器)是一種獲取、呈現(xiàn)和遍歷萬維網(wǎng)上的信息資源的軟件應(yīng)用。一些網(wǎng)絡(luò)瀏覽器利用一種稱為網(wǎng)頁實時通信(webreal-timecommunications,WebRTC)的技術(shù)。WebRTC是一種由萬維網(wǎng)聯(lián)盟(WorldwideWebConsortium,W3C)起草的應(yīng)用編程接口(applicationprogramminginterface,API),該API支持瀏覽器到瀏覽器應(yīng)用以進(jìn)行視頻呼叫、視頻聊天、端對端(peer-to-peer,P2P)文件共享等,無需瀏覽器中的插件。許多移動設(shè)備(例如智能手機(jī)、平板電腦)不包括或不支持WebRTC技術(shù)。因此,移動設(shè)備不能與正在使用不包括或不支持WebRTC技術(shù)的個人計算機(jī)等的客戶端進(jìn)行瀏覽器到瀏覽器通信。由于瀏覽器能力不匹配,插件或其它附加軟件可能需要加載到移動設(shè)備上以支持瀏覽器到瀏覽器通信。另外,在現(xiàn)有WebRTC架構(gòu)中,使用多個信令服務(wù)器(亦稱信令主機(jī))和多個媒體服務(wù)器(亦稱媒體主機(jī))來促進(jìn)例如客戶端與目標(biāo)(例如移動設(shè)備的用戶)等之間的通信。在啟動時,每個媒體服務(wù)器綁定到一個信令服務(wù)器。換言之,每個信令服務(wù)器被手動配置為僅與一個媒體服務(wù)器通信。一個媒體服務(wù)器針對每個信令服務(wù)器的這種分配是靜態(tài)的。在媒體服務(wù)器發(fā)生故障的情況下,對應(yīng)信令服務(wù)可能不會意識到該故障。因此,信令服務(wù)器在對應(yīng)媒體服務(wù)器關(guān)閉時可繼續(xù)接受流量,這可能會產(chǎn)生不希望的服務(wù)問題。技術(shù)實現(xiàn)要素:在一項實施例中,本發(fā)明包括一種能夠動態(tài)分配媒體服務(wù)器資源的服務(wù)發(fā)現(xiàn)服務(wù)器。所述服務(wù)發(fā)現(xiàn)服務(wù)器包括可操作地耦合到存儲器的處理器以及存儲在所述存儲器中的服務(wù)發(fā)現(xiàn)模塊,所述服務(wù)發(fā)現(xiàn)模塊在由所述處理器執(zhí)行時用于:從信令服務(wù)器中的多個微服務(wù)之一接收媒體資源請求,所述媒體資源請求指示目標(biāo)不能與客戶端進(jìn)行瀏覽器到瀏覽器通信;響應(yīng)于所述媒體資源請求的接收,分配媒體服務(wù)器中的多個微服務(wù)中的至少一個,使得所述客戶端能夠與所述目標(biāo)進(jìn)行通信。在另一項實施例中,本發(fā)明包括一種動態(tài)分配媒體服務(wù)器資源的方法。所述方法包括:提供信令服務(wù)器中的多個微服務(wù),以及所述微服務(wù)中的第一個從能夠進(jìn)行瀏覽器到瀏覽器通信的客戶端接收呼叫消息。所述呼叫消息包括指定目標(biāo)的標(biāo)識符。所述方法包括所述微服務(wù)中的所述第一個使用一個針對所述目標(biāo)的能力信息的請求向緩存發(fā)送所述標(biāo)識符。所述緩存用于使用所述標(biāo)識符獲取所述目標(biāo)的所述能力信息。所述方法還包括:響應(yīng)于所述針對所述能力信息的請求,所述微服務(wù)中的所述第一個從所述緩存接收所述目標(biāo)的所述能力信息。所述方法包括:當(dāng)所述目標(biāo)的所述能力信息指示所述目標(biāo)不能進(jìn)行瀏覽器到瀏覽器通信時,所述微服務(wù)中的所述第一個向可操作地耦合到多個媒體服務(wù)器的服務(wù)目錄服務(wù)器發(fā)送媒體資源請求,以及當(dāng)所述目標(biāo)的所述能力信息指示所述目標(biāo)能夠進(jìn)行瀏覽器到瀏覽器通信時,所述微服務(wù)中的所述第一個發(fā)起所述客戶端與所述目標(biāo)之間的瀏覽器到瀏覽器通信。在又一項實施例中,本發(fā)明包括一種動態(tài)分配媒體服務(wù)器資源的方法。所述方法包括:提供信令服務(wù)器中的微服務(wù)池,以及所述微服務(wù)中的第一個從客戶端接收呼叫消息。所述呼叫消息包括客戶端標(biāo)識符和目標(biāo)標(biāo)識符。所述方法包括:所述微服務(wù)中的所述第一個使用一個針對所述客戶端標(biāo)識符對應(yīng)的客戶端的能力信息和針對所述目標(biāo)標(biāo)識符對應(yīng)的目標(biāo)的能力信息的請求向緩存發(fā)送所述客戶端標(biāo)識符和所述目標(biāo)標(biāo)識符,以及響應(yīng)于所述請求,所述微服務(wù)中的所述第一個從所述緩存接收所述客戶端的所述能力信息和所述目標(biāo)的所述能力信息。所述方法包括:當(dāng)所述客戶端的所述能力信息指示所述客戶端能夠進(jìn)行瀏覽器到瀏覽器通信并且所述目標(biāo)的所述能力信息指示所述目標(biāo)不能進(jìn)行瀏覽器到瀏覽器通信時,所述微服務(wù)中的所述第一個向可操作地耦合到多個媒體服務(wù)器的服務(wù)目錄服務(wù)器發(fā)送媒體資源請求。結(jié)合附圖和權(quán)利要求書可以從以下的詳細(xì)描述中更清楚地理解這些和其它特征。附圖說明為了更透徹地理解本發(fā)明,現(xiàn)參閱結(jié)合附圖和具體實施方式而描述的以下簡要說明,其中的相同參考標(biāo)號表示相同部分。圖1為WebRTC系統(tǒng)的示意圖。圖2為WebRTC系統(tǒng)中的通信的示意圖。圖3為WebRTC系統(tǒng)的一實施例的示意圖。圖4為用于通過圖3的WebRTC系統(tǒng)傳輸和處理數(shù)據(jù)流量或信息的服務(wù)器的一實施例的示意圖。圖5為圖3的WebRTC系統(tǒng)內(nèi)的注冊過程的一實施例的示意圖。圖6為圖3的WebRTC系統(tǒng)內(nèi)的呼叫過程的一實施例的示意圖。圖7為圖3的WebRTC系統(tǒng)內(nèi)的動態(tài)分配過程的一實施例的示意圖。圖8為利用圖3的WebRTC系統(tǒng)的動態(tài)分配方法的一實施例的流程圖。圖9為利用圖3的WebRTC系統(tǒng)的注冊方法的一實施例的流程圖。圖10為利用圖3的WebRTC系統(tǒng)的動態(tài)分配媒體服務(wù)器資源的方法的一實施例的流程圖。具體實施方式首先應(yīng)理解,盡管下文提供一項或多項實施例的說明性實施方案,但所公開的系統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來實施,無論該技術(shù)是當(dāng)前已知還是現(xiàn)有的。本發(fā)明決不應(yīng)限于下文所說明的說明性實施方案、附圖和技術(shù),包括本文所說明并描述的示例性設(shè)計和實施方案,而是可在所附權(quán)利要求書的范圍以及其等效物的完整范圍內(nèi)修改。本文公開了用于WebRTC環(huán)境或架構(gòu)中的服務(wù)器資源自適應(yīng)分配的各種實施例。如下文將更充分說明的一樣,本文公開的服務(wù)器資源自適應(yīng)分配使得基于實際流量有效地使用媒體服務(wù)器。自適應(yīng)分配還使得服務(wù)的數(shù)量基于WebRTC特定參數(shù)快速增加或減少。此外,信令網(wǎng)關(guān)和各種媒體服務(wù)器僅僅松散地耦合,而不是每個信令網(wǎng)關(guān)與對應(yīng)媒體服務(wù)器之間存在一對一關(guān)系。換言之,本發(fā)明中的信令服務(wù)器與媒體資源不存在靜態(tài)鏈路。另外,服務(wù)發(fā)現(xiàn)層管理池中的媒體服務(wù),這簡化了大規(guī)模服務(wù)器部署。由于服務(wù)發(fā)現(xiàn)層管理媒體服務(wù)器,所以信令服務(wù)器無需參與歸屬代理(homeagent,HA)過程。圖1為WebRTC系統(tǒng)100的示意圖。WebRTC在2013年9月發(fā)布的W3C工作草案10文檔WebRTC1.0:瀏覽器之間的實時通信(Real-timeCommunicationBetweenBrowser)以及2014年7月發(fā)布的W3C編輯草案01文檔WebRTC1.0:瀏覽器之間的實時通信(Real-timeCommunicationBetweenBrowser)中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。如圖1所示,WebRTC系統(tǒng)100包括一個或多個計算設(shè)備,為方便起見,這些設(shè)備在本文中將稱為客戶端102。在一些實施例中,一個或兩個客戶端102為個人計算機(jī)(personalcomputer,PC)、平板電腦或手機(jī)。在一些實施例中,每個客戶端102包括一個或多個用于處理網(wǎng)絡(luò)應(yīng)用106的W3CAPI104。例如,網(wǎng)絡(luò)應(yīng)用106是一個用于進(jìn)行視頻呼叫的網(wǎng)絡(luò)應(yīng)用(例如MicrosoftSkypeTM)或者用于促進(jìn)客戶端102之間或客戶端102與目標(biāo)108之間的通信的網(wǎng)絡(luò)應(yīng)用。每個客戶端102的網(wǎng)絡(luò)應(yīng)用106用于通過控制路徑114與服務(wù)提供商112的對應(yīng)網(wǎng)絡(luò)應(yīng)用110通信。因此,服務(wù)提供商112提供合適的信令以促進(jìn)客戶端102之間的視頻呼叫,等等。用于視頻呼叫的媒體通過媒體路徑116在客戶端102之間交換。每個客戶端102還包括瀏覽器118(例如MozillaGoogleMicrosoftInternet或Apple)。瀏覽器使得客戶端102的用戶與網(wǎng)絡(luò)應(yīng)用106交互。在一些情況下,客戶端102的瀏覽器118被配置為支持WebRTC通信。當(dāng)客戶端102的瀏覽器118支持WebRTC時,客戶端102能夠進(jìn)行瀏覽器到瀏覽器通信,無需插件。例如,當(dāng)一個客戶端102想要發(fā)起與其它客戶端102的視頻呼叫時,發(fā)起視頻呼叫的客戶端102的網(wǎng)絡(luò)應(yīng)用106聯(lián)系服務(wù)提供商112的網(wǎng)絡(luò)應(yīng)用110以請求服務(wù)提供商112提供信令來促進(jìn)呼叫。服務(wù)提供商112的網(wǎng)絡(luò)應(yīng)用110通過控制路徑114提供被請求信令,客戶端102通過媒體路徑116交換媒體。當(dāng)一個客戶端102的用戶想要結(jié)束視頻呼叫時,客戶端102的網(wǎng)絡(luò)應(yīng)用106通知服務(wù)提供商112的網(wǎng)絡(luò)應(yīng)用110想要結(jié)束該呼叫,用以促進(jìn)視頻呼叫的信令中止,通過媒體路徑116在客戶端102之間進(jìn)行的媒體交換結(jié)束。在一些情況下,目標(biāo)108是一個通過互聯(lián)網(wǎng)協(xié)議(InternetProtocol,IP)多媒體系統(tǒng)(IPmultimediasystem,IMS)120、電路交換機(jī)(circuitswitch,CS)或公共交換電話網(wǎng)絡(luò)(publicswitchedtelephonenetwork,PSTN)來通信且不支持WebRTC的移動設(shè)備(例如智能手機(jī)、平板電腦等)。由于目標(biāo)108不支持WebRTC,所以客戶端102不能與目標(biāo)108進(jìn)行瀏覽器到瀏覽器通信。事實上,用于編碼和解碼目標(biāo)108的數(shù)字?jǐn)?shù)據(jù)流或信號的編解碼器不同于用于編碼和解碼客戶端102的數(shù)字?jǐn)?shù)據(jù)流或信號的編解碼器。為了使目標(biāo)108與其中一個客戶端102通信,利用了一種WebRTC網(wǎng)關(guān)122。WebRTC網(wǎng)關(guān)122將IMS訂戶(例如目標(biāo)108)等擴(kuò)展到服務(wù)提供商112的網(wǎng)絡(luò)域并且使這些訂戶能夠享用現(xiàn)有服務(wù),例如融合通信服務(wù)(RichCommunicationServices,RCS)、會議即服務(wù)等等。WebRTC網(wǎng)關(guān)122用于將來自客戶端102的數(shù)字?jǐn)?shù)據(jù)流或信號轉(zhuǎn)換為目標(biāo)108能夠利用的格式,反之亦然。WebRTC網(wǎng)關(guān)122還用于提供促進(jìn)客戶端102與目標(biāo)108之間的通信所需的信令。在一些實施例中,WebRTC網(wǎng)關(guān)122包括信令服務(wù)器124和媒體服務(wù)器126。如本文所使用的信令服務(wù)器124可稱為信令網(wǎng)關(guān),媒體服務(wù)器126可稱為媒體網(wǎng)關(guān)。如圖所示,信令服務(wù)器124和媒體服務(wù)器126可操作地相互耦合。雖然信令服務(wù)器124和媒體服務(wù)器126在圖1示為相互接近,但是在一些實施例中,信令服務(wù)器124和媒體服務(wù)器126可相距較遠(yuǎn)。信令服務(wù)器124用于處理超文本傳輸協(xié)議(HypertextTransferProtocol,HTTP)會話和會話發(fā)起協(xié)議(sessioninitiationprotocol,SIP)會話。因此,信令服務(wù)器124能夠提供信令以通過控制路徑128在客戶端102與目標(biāo)108之間進(jìn)行通信。例如,當(dāng)其中一個客戶端102試圖與目標(biāo)108進(jìn)行視頻呼叫時,信令服務(wù)器124使用控制路徑128向目標(biāo)108發(fā)送電話呼叫通知。如圖1所示,媒體服務(wù)器126通過在WebRTC網(wǎng)關(guān)122與客戶端102之間以及在WebRTC網(wǎng)關(guān)122與目標(biāo)108之間擴(kuò)展的媒體路徑130向客戶端102和目標(biāo)108提供媒體。因此,來自其中一個客戶端102的媒體(例如來自視頻呼叫的數(shù)據(jù))通過媒體路徑130傳送給WebRTC網(wǎng)關(guān)122中的媒體服務(wù)器126,由媒體服務(wù)器126轉(zhuǎn)換為符合目標(biāo)108的格式,然后由媒體服務(wù)器126通過媒體路徑130傳送給目標(biāo)108。同樣地,來自目標(biāo)108的媒體通過媒體路徑130傳送給WebRTC網(wǎng)關(guān)122中的媒體服務(wù)器126,由媒體服務(wù)器126轉(zhuǎn)換為符合客戶端102的格式,然后由媒體服務(wù)器126通過媒體路徑130傳送給客戶端102。通過這種方式,客戶端102和目標(biāo)108能夠參與通信,例如視頻呼叫、視頻聊天、端對端文件共享,等等。圖2為WebRTC系統(tǒng)200中的通信的示意圖。如圖2所示,WebRTC系統(tǒng)200包括客戶端202。在一些實施例中,客戶端202被配置為類似于圖1所述的客戶端102。WebRTC系統(tǒng)200還包括信令主機(jī)204和媒體主機(jī)206。在一些實施例中,信令主機(jī)204和媒體主機(jī)206分別被配置為類似于圖1所述的信令服務(wù)器124和媒體服務(wù)器126。每個信令主機(jī)204由網(wǎng)絡(luò)操作員等手動配置為對應(yīng)其中一個媒體主機(jī)206。換言之,一個信令主機(jī)204與一個媒體主機(jī)206之間存在靜態(tài)的一對一關(guān)系。如圖2所示,當(dāng)客戶端202發(fā)起視頻呼叫等時,客戶端202向負(fù)載均衡器服務(wù)器(loadbalancerserver,LBS)208發(fā)送HTTP消息。LBS208基于網(wǎng)絡(luò)流量、?;顧z測機(jī)制、信令主機(jī)的流量負(fù)擔(dān)等確定利用哪個信令主機(jī)204(例如信令主機(jī)1、信令主機(jī)2、信令主機(jī)3等)進(jìn)行視頻呼叫。所選的信令主機(jī)204(例如信令主機(jī)1)接收HTTP消息并將該消息轉(zhuǎn)換為SIP格式。然后,信令主機(jī)204為分配給信令主機(jī)204的媒體主機(jī)206(例如媒體主機(jī)1)定位媒體服務(wù)器IP地址和用戶數(shù)據(jù)報協(xié)議(userdatagramprotocol,UDP)端口并向媒體主機(jī)206發(fā)送轉(zhuǎn)換后的消息。一旦媒體主機(jī)206已經(jīng)接收到該轉(zhuǎn)換后的消息,就使用安全實時傳輸協(xié)議(securerealtimetransportprotocol,sRTP)等在客戶端202與媒體主機(jī)206之間交換媒體流量。由于信令主機(jī)204(例如信令主機(jī)1)與媒體主機(jī)206(例如媒體主機(jī)1)之間存在靜態(tài)的一對一關(guān)系,所以,如果媒體主機(jī)206發(fā)生故障或遇到服務(wù)問題,則對應(yīng)信令主機(jī)204繼續(xù)接受流量。事實上,信令主機(jī)204可能不會意識到媒體主機(jī)206正在出問題。這可能會在WebRTC系統(tǒng)200中產(chǎn)生不希望的服務(wù)問題。另外,媒體主機(jī)206是一個資源高耗設(shè)備。通常,生產(chǎn)系統(tǒng)需要預(yù)測媒體流量并準(zhǔn)備多個媒體主機(jī)206以持續(xù)運轉(zhuǎn),為預(yù)期流量做準(zhǔn)備。因此,即使在媒體流量較少的情況下,也無法有效地利用媒體主機(jī)206。媒體主機(jī)206的動態(tài)分配不可行,因為媒體主機(jī)206的啟動時間相對較長(例如一分鐘或更長)。另外,資源控制粒度太粗。如果需要動態(tài)增加資源以進(jìn)行量產(chǎn),則媒體主機(jī)206不適合,因為啟動時間太長而且供應(yīng)復(fù)雜。此外,就量產(chǎn)系統(tǒng)網(wǎng)絡(luò)而言,信令主機(jī)204與媒體主機(jī)206之間需要復(fù)雜的配置。另外,很難實施媒體主機(jī)206故障方案。如果媒體主機(jī)206關(guān)閉,同時對應(yīng)信令主機(jī)204仍然運轉(zhuǎn),則來自客戶端202的流量不應(yīng)再路由至信令服務(wù)器204,因為信令服務(wù)器/媒體服務(wù)器對處于故障狀態(tài)。為了防止流量在對應(yīng)媒體服務(wù)器206已出現(xiàn)故障時路由至信令服務(wù)器204,需要一種能夠通知負(fù)載均衡器208跳過特定信令服務(wù)器204的反饋機(jī)制。然而,這種機(jī)制帶來更多的復(fù)雜實施。為了解決目標(biāo)108(例如移動設(shè)備)不能支持WebRTC的問題以及解決每個信令服務(wù)器204到其中一個媒體服務(wù)器206的靜態(tài)一對一關(guān)系的問題,提供了一種動態(tài)且自適應(yīng)的服務(wù)器資源分配方案。就此而言,圖3為解決上述問題的WebRTC系統(tǒng)300的一實施例的示意圖。WebRTC系統(tǒng)300用于與客戶端302和LBS304通信。在一些實施例中,客戶端302和LBS304被配置為類似于圖1至2所述的客戶端102和負(fù)載均衡器208。在一實施例中,LBS304功能稱為WebRTC路由器。WebRTC系統(tǒng)300還用于與駐留在緩存服務(wù)器308上或在緩存服務(wù)器308上操作的分布式緩存服務(wù)306通信。在緩存服務(wù)器308上操作的緩存服務(wù)306提供一種用于臨時存儲(緩存)各種數(shù)據(jù)和信息的機(jī)制。在一實施例中,緩存服務(wù)306存儲一列設(shè)備(例如客戶端和/或目標(biāo))和每個設(shè)備的能力,例如支持WebRTC或不支持WebRTC。在一些實施例中,緩存服務(wù)306以索引或表格存儲該列表,其中每個設(shè)備按照電話號碼等標(biāo)識符來存儲。因此,當(dāng)緩存服務(wù)器308接收特定設(shè)備的電話號碼時,緩存服務(wù)306能夠查找正在使用該電話號碼的設(shè)備的能力。在緩存服務(wù)器308上操作的緩存服務(wù)306隨后向請求實體報告該設(shè)備的設(shè)備能力信息。WebRTC系統(tǒng)300還用于與IMS310和目標(biāo)312通信。在一些實施例中,IMS310和目標(biāo)312被配置為類似于圖1所述的IMS120和目標(biāo)108。在一些實施例中,WebRTC系統(tǒng)300包括多個信令服務(wù)器314、多個媒體服務(wù)器316和一個服務(wù)發(fā)現(xiàn)服務(wù)器318。在一些實施例中,信令服務(wù)器314和媒體服務(wù)器316被配置為分別類似于圖1至圖2所述的信令服務(wù)器124、204和媒體服務(wù)器126、206。然而,如圖3所示,圖3中的信令服務(wù)器314和媒體服務(wù)器316都包括微服務(wù)320池和服務(wù)發(fā)現(xiàn)代理322。在信令服務(wù)器314和媒體服務(wù)器316中操作的微服務(wù)320為獨立可部署的服務(wù)套件。術(shù)語微服務(wù)考慮了軟件架構(gòu)設(shè)計模式,其中復(fù)雜應(yīng)用由小型、獨立的使用語言無關(guān)API相互通信的進(jìn)程組成。微服務(wù)320很小并且高度解耦,并且專注于執(zhí)行小任務(wù)。換言之,微服務(wù)架構(gòu)樣式是一種將單個應(yīng)用開發(fā)為一套小型服務(wù)的方法,每個小型服務(wù)運行在其自身進(jìn)程中并且與輕量機(jī)制(例如HTTP資源API)通信。相對于執(zhí)行所有或許多相同功能的單片服務(wù),微服務(wù)320容易替換。此外,每個微服務(wù)320可以在不對其它微服務(wù)320產(chǎn)生不利影響的情況下更新。相比之下,更新單片服務(wù)的一部分可能非預(yù)期地或無意地對單片服務(wù)的其它部分產(chǎn)生負(fù)面影響。微服務(wù)320可根據(jù)它們的能力有利地組織。微服務(wù)320的啟動時間比集體執(zhí)行微服務(wù)的所有服務(wù)的單個應(yīng)用的啟動時間少得多。在一些實施例中,每個微服務(wù)320的啟動時間相對于單個應(yīng)用的啟動時間大約為1秒或更短,單個應(yīng)用的啟動時間約為1分鐘、幾分鐘或更長。發(fā)現(xiàn)代理322用于,例如向服務(wù)發(fā)現(xiàn)服務(wù)器318發(fā)送消息并從其接收消息。在一些實施例中,發(fā)現(xiàn)代理322用于將消息從一個格式轉(zhuǎn)換為另一個格式。例如,信令服務(wù)器314中的發(fā)現(xiàn)代理322用于將從客戶端302接收的消息轉(zhuǎn)換為與服務(wù)發(fā)現(xiàn)服務(wù)器318兼容的格式。如圖3所示,服務(wù)發(fā)現(xiàn)服務(wù)器318對服務(wù)發(fā)現(xiàn)服務(wù)或模塊324進(jìn)行操作以實施服務(wù)發(fā)現(xiàn)服務(wù)器318的一些或所有功能。服務(wù)發(fā)現(xiàn)服務(wù)器318放在信令服務(wù)器314與媒體服務(wù)器316之間。如上所述,服務(wù)發(fā)現(xiàn)服務(wù)器318與信令服務(wù)器314和媒體服務(wù)器316均交換消息。如下文將更充分說明的,服務(wù)發(fā)現(xiàn)服務(wù)器318能夠動態(tài)分配媒體服務(wù)器316的資源。在一些實施例中,服務(wù)發(fā)現(xiàn)模塊324防止信令服務(wù)器314查看媒體服務(wù)器316中的微服務(wù)320的詳細(xì)內(nèi)容。在一些實施例中,服務(wù)發(fā)現(xiàn)模塊324防止信令服務(wù)器314查看有關(guān)媒體服務(wù)器316池的詳細(xì)內(nèi)容。服務(wù)發(fā)現(xiàn)服務(wù)器318用于在先前分配的微服務(wù)320發(fā)生故障時分配其中一個媒體服務(wù)器316中的新微服務(wù)320。在一些實施例中,新微服務(wù)320位于前述同一媒體服務(wù)器316中,或者位于尚未訪問的新媒體服務(wù)器316中。圖4為用于通過圖3所示的WebRTC系統(tǒng)300的至少一部分傳輸和處理數(shù)據(jù)流量或信息的服務(wù)器400的一實施例的示意圖。本發(fā)明中描述的至少一些特征/方法可在服務(wù)器400中實施。例如,本發(fā)明的特征/方法可在硬件、固件和/或安裝以運行于該硬件上的軟件中實施。服務(wù)器400為通過網(wǎng)絡(luò)、系統(tǒng)和/或域傳輸數(shù)據(jù)的任意設(shè)備。此外,術(shù)語服務(wù)器、計算機(jī)、邏輯設(shè)備和/或類似術(shù)語可互換地使用以概括性地描述服務(wù)器并且沒有特定或特殊意義,除非本發(fā)明內(nèi)另有特殊說明和/或要求。在一項實施例中,服務(wù)器400為用于動態(tài)且自適應(yīng)地分配圖3中的媒體服務(wù)器316的資源。另外,服務(wù)器400的組件或功能實施在和/或集成在如圖3所述的媒體服務(wù)器316、信令服務(wù)器314和服務(wù)發(fā)現(xiàn)服務(wù)器318中。服務(wù)器400包括耦合到收發(fā)器(transceiver,Tx/Rx)420的一個或多個下游端口410,收發(fā)器420可以是發(fā)射器、接收器或它們的組合。Tx/Rx420通過下游端口410傳輸和/或接收來自其它網(wǎng)絡(luò)設(shè)備(例如服務(wù)器等)的消息或信息。類似地,服務(wù)器400包括耦合到多個上游端口440的另一Tx/Rx420,其中Tx/Rx420通過上游端口440傳輸和/或接收來自其它網(wǎng)絡(luò)設(shè)備的消息或信息。下游端口410和/或上游端口440包括電和/或光傳輸和/或接收組件。處理器430耦合到Tx/Rx420并且用于處理消息或信息和/或確定向哪些服務(wù)器發(fā)送(例如傳輸)消息或信息。在一實施例中,處理器430包括一個或多個多核處理器和/或存儲器模塊450,一個或多個多核處理器和/或存儲器模塊450用作數(shù)據(jù)存儲器、緩沖器等。在一些實施例中,處理器430實施為通用處理器或為一個或多個專用集成電路(applicationspecificintegratedcircuit,ASIC)、現(xiàn)場可編程門陣列(field-programmablegatearray,F(xiàn)PGA)和/或數(shù)字信號處理器(digitalsignalprocessor,DSP)的一部分。盡管示為單個處理器,但處理器430不限于此并可包括多個處理器。處理器430用于本文所述的媒體資源的自適應(yīng)且動態(tài)的分配。圖4示出了存儲器450耦合到處理器430并且是用于存儲各種類型的數(shù)據(jù)的非瞬時性介質(zhì)。在一些實施例中,存儲器450包括存儲器設(shè)備,存儲器設(shè)備包括輔助存儲器、只讀存儲器(read-onlymemory,ROM)和隨機(jī)存取存儲器(random-accessmemory,RAM)。輔助存儲器通常包括一個或多個磁盤驅(qū)動器、光驅(qū)、固態(tài)驅(qū)動器(solid-statedrives,SSD)和/或磁帶驅(qū)動器,并且用于數(shù)據(jù)的非易失性存儲,而且如果RAM的容量不足以存儲所有工作數(shù)據(jù),輔助存儲器則用作溢流數(shù)據(jù)存儲設(shè)備。輔助存儲器可用于當(dāng)加載到RAM中程序被選擇執(zhí)行時存儲這類程序。ROM用于存儲指令,可能還存儲在程序執(zhí)行期間讀取的數(shù)據(jù)。ROM是非易失性存儲器設(shè)備,通常具有相對于輔助存儲器的大存儲容量來說較小的內(nèi)存容量。RAM用于存儲易失性數(shù)據(jù),可能還存儲指令。訪問ROM和RAM通常都快于訪問輔助存儲器。存儲器450用于存儲用于執(zhí)行本文所描述的各種示例實施例的指令。在一項示例實施例中,存儲器450包括模塊460,模塊460表示圖3所示的服務(wù)發(fā)現(xiàn)模塊324、發(fā)現(xiàn)代理322或微服務(wù)320。在一些實施例中,存儲器450存儲能夠?qū)嵤﹫D8的動態(tài)分配方法800、圖9的注冊方法900或圖10的動態(tài)分配媒體服務(wù)器資源方法1000的指令。應(yīng)理解,通過將可執(zhí)行指令編程和/或加載到服務(wù)器400上,處理器430、緩存和長期存儲器中的至少一個被改變,從而將服務(wù)器400的一部分轉(zhuǎn)換成特定機(jī)器或裝置,例如本發(fā)明宣揚的擁有新穎功能的多核轉(zhuǎn)發(fā)架構(gòu)。加載可執(zhí)行軟件至計算機(jī)所實現(xiàn)的功能可以通過現(xiàn)有技術(shù)中公知的設(shè)計規(guī)則轉(zhuǎn)換成硬件實施,這在電力工程和軟件工程領(lǐng)域是很基礎(chǔ)的。決定使用軟件還是硬件來實施一個概念通常取決于對設(shè)計穩(wěn)定性及待生產(chǎn)的單元數(shù)量的考慮,而不是從軟件領(lǐng)域轉(zhuǎn)換至硬件領(lǐng)域中所涉及的任何問題。通常,仍然頻繁改變的設(shè)計可優(yōu)選在軟件中實施,因為重新編寫硬件實施方式比重新編寫軟件設(shè)計更為昂貴。通常,穩(wěn)定及大規(guī)模生產(chǎn)的設(shè)計更適于在軟件中(例如,在ASIC中)實施,因為運行硬件實施的大規(guī)模生產(chǎn)比軟件實施更為便宜。設(shè)計通常可以以軟件形式進(jìn)行開發(fā)和測試,之后通過現(xiàn)有技術(shù)中公知的設(shè)計規(guī)則轉(zhuǎn)變成ASIC中等同的硬件實施,該ASIC硬線軟件指令。由新的ASIC控制的機(jī)器是一種特定機(jī)器或裝置,同樣地,編程和/或加載有可執(zhí)行指令的計算機(jī)可視為特定機(jī)器或裝置。本發(fā)明的任何處理可以通過使處理器(例如,通用多核處理器)執(zhí)行計算機(jī)程序來實施。在這種情況下,可以使用任何類型的非瞬時性計算機(jī)可讀介質(zhì)向計算機(jī)或網(wǎng)絡(luò)設(shè)備提供計算機(jī)程序產(chǎn)品。計算機(jī)程序產(chǎn)品可存儲在計算機(jī)或網(wǎng)絡(luò)設(shè)備中的非瞬時性計算機(jī)可讀介質(zhì)中。非瞬時性計算機(jī)可讀介質(zhì)包括任何類型的有形存儲介質(zhì)。非瞬時性計算機(jī)可讀介質(zhì)的示例包括磁性存儲介質(zhì)(例如,軟盤、磁盤、硬盤驅(qū)動器等)、光磁存儲介質(zhì)(例如,磁光盤)、只讀光盤(compactdiscread-onlymemory,CD-ROM)、可錄光碟(compactdiscrecordable,CD-R)、帶讀寫式光驅(qū)(compactdiscrewritable,CD-R/W)、數(shù)字多功能光盤(digitalversatiledisc,DVD)、藍(lán)(注冊商標(biāo))光(Blu-raydisc,BD),以及半導(dǎo)體存儲器(例如,掩蔽ROM、可編程ROM(programmableROM,PROM)、可擦除PROM、快閃ROM,以及RAM)。還可以使用任何類型的瞬時性計算機(jī)可讀介質(zhì)向計算機(jī)或網(wǎng)絡(luò)設(shè)備提供計算機(jī)程序產(chǎn)品。瞬時性計算機(jī)可讀介質(zhì)的示例包括電信號、光信號和電磁波。瞬時性計算機(jī)可讀介質(zhì)可以經(jīng)由有線通信線路(例如,電線或光纖)或無線通信線路將程序提供給計算機(jī)。圖5為WebRTC系統(tǒng)500內(nèi)的注冊過程的一實施例的示意圖。在一些實施例中,客戶端502、LBS504、緩存服務(wù)器508、信令服務(wù)器514、IMS510和目標(biāo)512被配置為類似于結(jié)合圖3中的WebRTC系統(tǒng)300描述的對應(yīng)設(shè)備??蛻舳?02向LBS504發(fā)送注冊命令(例如注冊消息)。在一些實施例中,向LBS504發(fā)送的注冊命令為SIPREGISTER請求。該REGISTER請求在2002年2月21日發(fā)布的互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)文檔—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月發(fā)布的請求注解(RequestforComment,RFC)文檔—RFC3261中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。在一些實施例中,注冊命令包括標(biāo)識客戶端502的標(biāo)識符和關(guān)于客戶端502的能力的信息。LBS504向信令服務(wù)器514中的其中一個微服務(wù)520轉(zhuǎn)發(fā)注冊命令。在接收到注冊命令后,微服務(wù)520向客戶端502發(fā)送SIPOK響應(yīng)以通知客戶端502消息成功接收。該OK響應(yīng)在2002年2月21日發(fā)布的互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)文檔—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月發(fā)布的請求注解(RequestforComment,RFC)文檔—RFC3261中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。接收注冊命令的微服務(wù)520向IMS510發(fā)送注冊命令(或其一部分)。注冊命令提示目標(biāo)512向在緩存服務(wù)器508中操作的緩存服務(wù)506注冊其標(biāo)識符(例如電話號碼)和設(shè)備能力。如果在緩存服務(wù)器508中沒有發(fā)現(xiàn)目標(biāo)512的標(biāo)識符,則緩存服務(wù)506將目標(biāo)512的標(biāo)識符和目標(biāo)512的能力一起存儲在索引中。如果在緩存服務(wù)器508中發(fā)現(xiàn)了標(biāo)識符,則緩存服務(wù)506將目標(biāo)512的所存儲能力與目標(biāo)512的當(dāng)前能力進(jìn)行比較。如果不匹配,則緩存服務(wù)506更新目標(biāo)512的所存儲能力以反映目標(biāo)512的當(dāng)前能力。從客戶端502接收注冊命令的微服務(wù)520解析注冊命令以獲得標(biāo)識客戶端502的標(biāo)識符以及確定客戶端502的能力。在一些實施例中,客戶端標(biāo)識符為一個電話號碼。本領(lǐng)域技術(shù)人員將認(rèn)識到,在考慮本發(fā)明之后可使用另一標(biāo)識符或號碼。在一些實施例中,客戶端502的能力揭示了客戶端502是支持WebRTC的設(shè)備還是不支持WebRTC的設(shè)備。換言之,能力指示客戶端502是否能夠進(jìn)行瀏覽器到瀏覽器通信(即支持WebRTC)或者客戶端502是否不能進(jìn)行瀏覽器到瀏覽器通信(即不支持WebRTC)。在解析注冊命令之后,如果需要,微服務(wù)520請求在緩存服務(wù)器508上操作的分布式緩存服務(wù)器506執(zhí)行更新。在接收到更新請求后,緩存服務(wù)確定客戶端502的標(biāo)識符是否存儲在緩存服務(wù)的索引中。如果在緩存服務(wù)器508中未發(fā)現(xiàn)客戶端502的標(biāo)識符,則緩存服務(wù)506將客戶端502的標(biāo)識符和客戶端502的能力一起存儲在索引中。如果在緩存服務(wù)器508中發(fā)現(xiàn)了標(biāo)識符,則緩存服務(wù)506將客戶端502的所存儲能力與客戶端502的當(dāng)前能力進(jìn)行比較。如果不匹配,則緩存服務(wù)更新客戶端502的所存儲能力以反映客戶端502的當(dāng)前能力。微服務(wù)520在向IMS510發(fā)送注冊命令的同時、之前或之后向緩存服務(wù)器508發(fā)送更新請求,該更新請求可被轉(zhuǎn)發(fā)給目標(biāo)512。圖6為WebRTC系統(tǒng)600內(nèi)的呼叫過程的一實施例的示意圖。在一些實施例中,客戶端602、LBS604、緩存服務(wù)器608、信令服務(wù)器614、IMS610和目標(biāo)612被配置為類似于結(jié)合圖5中的WebRTC系統(tǒng)500描述的對應(yīng)設(shè)備??蛻舳?02向LBS604發(fā)送呼叫消息。在一些實施例中,向LBS604發(fā)送的呼叫消息為SIPINVITE請求。該INVITE請求在2002年2月21日發(fā)布的互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)文檔—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月發(fā)布的請求注解(RequestforComment,RFC)文檔—RFC3261中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。在一些實施例中,呼叫消息包括標(biāo)識客戶端602的標(biāo)識符和標(biāo)識目標(biāo)612的標(biāo)識符。LBS604向信令服務(wù)器614中的其中一個微服務(wù)620轉(zhuǎn)發(fā)呼叫消息。在接收到呼叫消息后,微服務(wù)620向客戶端602發(fā)送SIPOK響應(yīng)以通知客戶端602消息成功接收。該OK響應(yīng)在2002年2月21日發(fā)布的互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)文檔—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月發(fā)布的請求注解(RequestforComment,RFC)文檔—RFC3261中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。接收呼叫消息的微服務(wù)620向IMS610發(fā)送呼叫消息(或其一部分)。向IMS610發(fā)送的呼叫消息請求與目標(biāo)612關(guān)聯(lián)的運營商網(wǎng)絡(luò)標(biāo)識目標(biāo)612的位置。在一些實施例中,呼叫消息還使振鈴音在目標(biāo)612上激活。換言之,呼叫消息提示目標(biāo)612響鈴以指示來自客戶端602的來電(例如視頻呼叫)。接收呼叫消息的微服務(wù)620解析呼叫消息以獲得標(biāo)識客戶端602的標(biāo)識符以及獲得標(biāo)識目標(biāo)612的標(biāo)識符。在一些實施例中,客戶端標(biāo)識符和目標(biāo)標(biāo)識符均為電話號碼。本領(lǐng)域技術(shù)人員將認(rèn)識到,在考慮本發(fā)明之后可使用其它標(biāo)識符或號碼。在解析呼叫消息之后,微服務(wù)620向緩存服務(wù)器608發(fā)送客戶端標(biāo)識符和目標(biāo)標(biāo)識符。微服務(wù)620在向IMS610發(fā)送呼叫消息的同時、之前或之后向緩存服務(wù)器608發(fā)送客戶端和目標(biāo)標(biāo)識符。在一些實施例中,微服務(wù)620從客戶端602接收呼叫消息,該呼叫消息指示微服務(wù)620知道客戶端602支持WebRTC。因此,微服務(wù)620僅向緩存服務(wù)器608發(fā)送目標(biāo)標(biāo)識符。在緩存服務(wù)器608中操作的緩存服務(wù)606在緩存服務(wù)器608中存儲的標(biāo)識符/能力索引中使用客戶端標(biāo)識符來查找客戶端602的能力、使用目標(biāo)標(biāo)識符查找目標(biāo)612的能力。然后,緩存服務(wù)606向信令服務(wù)器614中的微服務(wù)620發(fā)送響應(yīng)消息,該響應(yīng)消息指示客戶端602和目標(biāo)612是支持WebRTC還是不支持WebRTC。換言之,響應(yīng)消息指示客戶端602和目標(biāo)612是能夠進(jìn)行瀏覽器到瀏覽器通信(即支持WebRTC)還是不能進(jìn)行瀏覽器到瀏覽器通信(即不支持WebRTC)。通過響應(yīng)消息中的信息,微服務(wù)620確定客戶端602和目標(biāo)612是否能夠進(jìn)行瀏覽器到瀏覽器通信。如果客戶端602和目標(biāo)612均能夠進(jìn)行瀏覽器到瀏覽器通信,則微服務(wù)620發(fā)起瀏覽器到瀏覽器通信(例如視頻呼叫、視頻聊天等)。如果客戶端602或目標(biāo)612不能進(jìn)行瀏覽器到瀏覽器通信,則微服務(wù)620向服務(wù)發(fā)現(xiàn)服務(wù)器618發(fā)送媒體資源請求,以便請求足夠的媒體資源來促進(jìn)客戶端602與目標(biāo)612之間的通信。當(dāng)服務(wù)發(fā)現(xiàn)服務(wù)器618接收請求時,服務(wù)發(fā)現(xiàn)模塊624分配任意一個媒體服務(wù)器616中的一個或多個微服務(wù)620,所以客戶端602能夠與目標(biāo)612進(jìn)行通信(例如瀏覽器到手機(jī)通信)。服務(wù)發(fā)現(xiàn)模塊624用于在客戶端602與目標(biāo)612之間的通信開始之前確定是否需要附加微服務(wù)來支持客戶端602與目標(biāo)612之間的通信。在一些實施例中,服務(wù)發(fā)現(xiàn)模塊624確定支持客戶端602和與目標(biāo)612之間的通信所需的微服務(wù)620的數(shù)量是否小于預(yù)定閾值。如果是,則服務(wù)發(fā)現(xiàn)模塊624指示一個或多個媒體服務(wù)器616啟動它們的一個或多個微服務(wù)620。在一實施例中,被要求提供微服務(wù)620的一個或多個媒體服務(wù)器616向在服務(wù)發(fā)現(xiàn)服務(wù)器618中操作的服務(wù)發(fā)現(xiàn)模塊624發(fā)送消息,該消息指示微服務(wù)620可用、操作正常等等。一旦服務(wù)發(fā)現(xiàn)模塊624接收到該消息,服務(wù)發(fā)現(xiàn)模塊624就向信令服務(wù)器614中的一個或多個微服務(wù)620發(fā)送消息,該消息指示使用媒體服務(wù)器616中的已分配微服務(wù)的通信可在客戶端602與目標(biāo)612之間發(fā)起。在一實施例中,信令服務(wù)器614和/或媒體服務(wù)器616包括服務(wù)發(fā)現(xiàn)代理622,服務(wù)發(fā)現(xiàn)代理622用于將向服務(wù)發(fā)現(xiàn)模塊624發(fā)送的消息轉(zhuǎn)換成與服務(wù)發(fā)現(xiàn)模塊624兼容的格式以及將從服務(wù)發(fā)現(xiàn)模塊624接收的消息轉(zhuǎn)換成與信令服務(wù)器614或媒體服務(wù)器616兼容的格式。當(dāng)客戶端602或目標(biāo)612想要終止通信時,客戶端602或目標(biāo)612向信令服務(wù)器614中的微服務(wù)620發(fā)送終止請求消息。在一些實施例中,向信令服務(wù)器614發(fā)送的終止請求消息為SIPBYE請求。該BYE請求在2002年2月21日發(fā)布的互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)文檔—draft-ietf-sip-rfc2543bis-08.txt中以及2002年6月發(fā)布的請求注解(RequestforComment,RFC)文檔—RFC3261中進(jìn)行了更詳細(xì)地描述,這兩個文檔的全部內(nèi)容以引入的方式并入本文本中。信令服務(wù)器614將終止請求消息轉(zhuǎn)發(fā)給服務(wù)發(fā)現(xiàn)服務(wù)器618中的服務(wù)發(fā)現(xiàn)模塊624,服務(wù)發(fā)現(xiàn)服務(wù)器618隨后關(guān)閉媒體資源。圖7為WebRTC系統(tǒng)700內(nèi)的動態(tài)分配過程的一實施例的示意圖。在一些實施例中,客戶端702、路由器704、信令服務(wù)器714、服務(wù)發(fā)現(xiàn)服務(wù)器718和媒體服務(wù)器716被配置為類似于結(jié)合圖6中的WebRTC系統(tǒng)600描述的對應(yīng)設(shè)備。如圖所示,在其中一個媒體服務(wù)器716中的微服務(wù)720發(fā)生故障的情況下,服務(wù)發(fā)現(xiàn)服務(wù)器718的服務(wù)發(fā)現(xiàn)模塊724用于快速轉(zhuǎn)移到媒體服務(wù)器716中的另一微服務(wù)720(例如另一媒體資源)。在一些實施例中,在其中一個媒體服務(wù)器716中的微服務(wù)720發(fā)生故障的情況下,服務(wù)發(fā)現(xiàn)模塊724用于快速轉(zhuǎn)移到完全不同的媒體服務(wù)器716中的另一微服務(wù)(例如另一媒體資源)。如圖7所示,盡管從一個微服務(wù)720轉(zhuǎn)移到另一個,但是信令服務(wù)器714中的同一微服務(wù)720可繼續(xù)使用。圖8為利用圖3中的WebRTC系統(tǒng)300的動態(tài)分配方法800的一實施例的流程圖。方法800在例如客戶端想要確定目標(biāo)是否適合用于支持瀏覽器到瀏覽器通信時實施。在方框802中,客戶端發(fā)起呼叫。在一些實施例中,客戶端通過向如圖6所示的信令服務(wù)器中的微服務(wù)發(fā)送呼叫消息來發(fā)起呼叫。在方框804中,信令服務(wù)器使用緩存的緩存服務(wù)中的索引檢查客戶端和/或目標(biāo)的能力。在一些實施例中,客戶端的標(biāo)識符(例如電話號碼、IMS號碼等)將用來查找客戶端標(biāo)識符對應(yīng)的客戶端能力。同樣地,目標(biāo)的標(biāo)識符將用來查找目標(biāo)標(biāo)識符對應(yīng)的目標(biāo)能力。在方框806中,緩存檢查是否在緩存中找到了客戶端標(biāo)識符和/或目標(biāo)標(biāo)識符。如果否,則如方框808所示,更新緩存以包括客戶端標(biāo)識符和客戶端能力和/或更新緩存以包括目標(biāo)標(biāo)識符和目標(biāo)能力。如果是,則在方框810中,緩存將客戶端或目標(biāo)的當(dāng)前能力與該設(shè)備的所存儲能力進(jìn)行比較。如果當(dāng)前能力與所存儲能力之間存在不匹配,則如方框808所示,更新緩存以反映當(dāng)前能力。緩存在方框808中更新之后或者確定客戶端和/或目標(biāo)能力保持不變之后,在方框812中,信令服務(wù)器確定目標(biāo)和/或客戶端是否能夠進(jìn)行瀏覽器到瀏覽器通信(支持WebRTC)。如果是,則如方框814所示,不添加媒體服務(wù)器中的微服務(wù)。如果否,則如方框816所示,服務(wù)發(fā)現(xiàn)服務(wù)器確定一個媒體服務(wù)器(或多個媒體服務(wù)器)中是否有足夠的可用微服務(wù)來支持客戶端與目標(biāo)之間的通信。如果有足夠的當(dāng)前正在操作的微服務(wù),則如方框818所示,不添加媒體服務(wù)器中的微服務(wù)。如果沒有足夠的在媒體服務(wù)器中操作的微服務(wù)來支持通信,則如方框820所示,服務(wù)發(fā)現(xiàn)服務(wù)器采取步驟來啟動媒體服務(wù)器中的更多微服務(wù)。雖然未在圖8中示出,但是在方框814、方框818或方框820完成之后,在客戶端與目標(biāo)之間發(fā)起通信(例如視頻呼叫)。圖9為利用圖3中的WebRTC系統(tǒng)300的注冊方法900的一實施例的流程圖。方法900在例如客戶端想要向緩存服務(wù)器注冊或更新其服務(wù)能力時實施。在方框902中,客戶端向信令服務(wù)器中的微服務(wù)發(fā)送注冊命令。在一實施例中,注冊命令通過IMS轉(zhuǎn)發(fā)給目標(biāo)。在方框904中,信令服務(wù)器解析注冊命令以從注冊命令中提取客戶端標(biāo)識符(例如電話號碼、IMS號碼等)和關(guān)于客戶端能力的信息。在方框906中,信令服務(wù)器將客戶端標(biāo)識符和能力信息提供給緩存以使用分布式緩存服務(wù)進(jìn)行存儲。圖10為利用圖3中的WebRTC系統(tǒng)300的動態(tài)分配媒體服務(wù)器資源的方法1000的一實施例的流程圖。方法1000以信令服務(wù)器為角度。方法1000在例如能夠進(jìn)行瀏覽器到瀏覽器通信的客戶端支持信令服務(wù)器中的服務(wù)與可能支持或可能不支持瀏覽器到瀏覽器通信的目標(biāo)建立通信時實施。在方框1002中,在信令服務(wù)器中提供多個微服務(wù)。在方框1004中,微服務(wù)中的第一個從能夠進(jìn)行瀏覽器到瀏覽器通信的客戶端接收呼叫消息。該呼叫消息包括指定目標(biāo)的標(biāo)識符。在方框1006中,微服務(wù)中的第一個使用一個針對目標(biāo)的能力信息的請求向緩存發(fā)送該標(biāo)識符。該緩存用于使用標(biāo)識符獲取目標(biāo)的能力信息。在方框1008中,微服務(wù)中的第一個從該緩存接收目標(biāo)的能力信息以響應(yīng)對能力信息的請求,并且根據(jù)接收到的能力信息確定是否可能進(jìn)行瀏覽器到瀏覽器通信。在方框1010中,當(dāng)目標(biāo)的能力信息指示目標(biāo)不能進(jìn)行瀏覽器到瀏覽器通信時,微服務(wù)中的第一個向可操作地耦合到多個媒體服務(wù)器的服務(wù)目錄服務(wù)器發(fā)送媒體資源請求。在方框1012中,當(dāng)目標(biāo)的能力信息指示目標(biāo)能夠進(jìn)行瀏覽器到瀏覽器通信時,微服務(wù)中的第一個發(fā)起客戶端與目標(biāo)之間的瀏覽器到瀏覽器通信。雖然本發(fā)明中已提供若干實施例,但應(yīng)理解,在不脫離本發(fā)明的精神或范圍的情況下,本發(fā)明所公開的系統(tǒng)和方法可以以許多其他特定形式來體現(xiàn)。本發(fā)明的實例應(yīng)被視為說明性而非限制性的,且本發(fā)明并不限于本文本所給出的細(xì)節(jié)。例如,各種元件或部件可以在另一系統(tǒng)中組合或合并,或者某些特征可以省略或不實施。此外,在不脫離本發(fā)明的范圍的情況下,各種實施例中描述和說明為離散或單獨的技術(shù)、系統(tǒng)、子系統(tǒng)和方法可以與其它系統(tǒng)、模塊、技術(shù)或方法進(jìn)行組合或合并。展示或論述為彼此耦合或直接耦合或通信的其它項也可以采用電方式、機(jī)械方式或其它方式通過某一接口、設(shè)備或中間部件間接地耦合或通信。其他變化、替代和改變的示例可以由本領(lǐng)域的技術(shù)人員在不脫離本文精神和所公開的范圍的情況下確定。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3