管理服務(wù)器成員資格的制作方法
【專利摘要】示例裝置和方法管理參與提供服務(wù)的服務(wù)器集合中的成員資格。一示例設(shè)備可提供用戶接口,該用戶接口提供該服務(wù)器集合的成員的服務(wù)中狀態(tài)(例如,服務(wù)中、退出服務(wù))的單個相干視圖。該示例設(shè)備還可提供請求監(jiān)視器,該請求監(jiān)視器在對目標(biāo)設(shè)備的成員資格請求將致使功能集被暫停時(shí)選擇性地阻止該成員資格請求。如果服務(wù)管理者嘗試使得唯一的服務(wù)中服務(wù)器退出服務(wù),則該動作可被選擇性地阻止并且服務(wù)管理者可接收該動作的潛在結(jié)果的通知。使得服務(wù)器退出服務(wù)包括停止消息流動到服務(wù)器。
【專利說明】管理服務(wù)器成員資格
[0001 ]
[0002]大的互聯(lián)網(wǎng)范圍服務(wù)可在服務(wù)端點(diǎn)側(cè)上具有很大的拓?fù)浣Y(jié)構(gòu)復(fù)雜性并可在服務(wù)管理側(cè)上具有很大的服務(wù)管理者扇出。例如,在服務(wù)端點(diǎn)側(cè)(例如,前端)上,大的互聯(lián)網(wǎng)范圍服務(wù)可使用數(shù)百或數(shù)千個服務(wù)器將其服務(wù)提供到數(shù)千萬個消費(fèi)者。服務(wù)器可被組織成服務(wù)器池。服務(wù)器池可以是虛擬服務(wù)器的成員。消費(fèi)者可能不能直接訪問服務(wù)器池的成員,但是反而可訪問虛擬服務(wù)器。虛擬服務(wù)器可接收來自消費(fèi)者的請求并接著將請求路由到服務(wù)器池中的服務(wù)器。負(fù)載平衡器可以是通過虛擬服務(wù)器將話務(wù)路由到適當(dāng)?shù)某夭⒆罱K到成員服務(wù)器的設(shè)備或進(jìn)程。前端拓?fù)浣Y(jié)構(gòu)可在以下情況下變得越來越復(fù)雜:當(dāng)服務(wù)器出現(xiàn)在多于一個的池中時(shí)、當(dāng)負(fù)載平衡器將請求分發(fā)到重疊的服務(wù)器集時(shí)、當(dāng)負(fù)載平衡器被安排在多層拓?fù)浣Y(jié)構(gòu)中時(shí)、當(dāng)服務(wù)器被安排在多層拓?fù)浣Y(jié)構(gòu)中時(shí)、當(dāng)由不同的供應(yīng)商提供的服務(wù)器具有不同的能力時(shí)、當(dāng)由不同的供應(yīng)商提供的負(fù)載平衡器具有不同的能力時(shí)、當(dāng)服務(wù)器或負(fù)載平衡器被添加或移除時(shí)、或出于其它原因。
[0003]傳統(tǒng)上,管理(各)服務(wù)器池中的服務(wù)器成員資格已經(jīng)是一種挑戰(zhàn)。類似地,管理單個服務(wù)器、虛擬服務(wù)器、服務(wù)器池或負(fù)載平衡器可能已經(jīng)是一種挑戰(zhàn)。更一般地,管理服務(wù)端點(diǎn)設(shè)備已經(jīng)是一種挑戰(zhàn)。這些挑戰(zhàn)可由服務(wù)器管理側(cè)上的扇出而變得加劇。例如,為了提供24/7/365(—年365天,一星期7天,一天24小時(shí))服務(wù),大的互聯(lián)網(wǎng)規(guī)模服務(wù)提供者可具有照看服務(wù)端點(diǎn)設(shè)備(例如,服務(wù)器、加載平衡器)的多個人類服務(wù)管理者團(tuán)隊(duì)以及自動化服務(wù)管理應(yīng)用的多個實(shí)例。不是所有服務(wù)管理者都可即時(shí)地知曉由所有其它服務(wù)管理者做出的決策。另外,不是所有的服務(wù)管理者可具有相同的信息。例如,第一位置中的第一服務(wù)管理者可具有關(guān)于服務(wù)器或服務(wù)器池的第一信息集,而第二位置中的第二服務(wù)管理者可具有關(guān)于該服務(wù)器或服務(wù)器池的第二不同的信息集。該第一信息集可不同意第二信息集。因此,兩個服務(wù)管理者可就如何管理服務(wù)器池中的某一服務(wù)器同時(shí)地做出不同的決策。
[0004]挺述
[0005]提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。
[0006]各示例方法和裝置涉及提供可管理的服務(wù)端點(diǎn)設(shè)備(例如,真實(shí)服務(wù)器、虛擬服務(wù)器、負(fù)載平衡器)的單個、簡化的、統(tǒng)一的視圖來促進(jìn)對管理設(shè)備做出更好的決策。管理類似真實(shí)服務(wù)器之類的服務(wù)端點(diǎn)設(shè)備可包括將服務(wù)器置于服務(wù)中或使得服務(wù)器退出服務(wù)。示例方法和裝置可串行化來自多個服務(wù)管理者的改變請求(例如,置于服務(wù)中、退出服務(wù))并接著監(jiān)視請求來緩解不理想的結(jié)果可被產(chǎn)生的可能性。例如,改變請求可被監(jiān)視以確保服務(wù)器池中最后一個服務(wù)中的或健康的服務(wù)器不被無意地退出服務(wù)。另外,在改變請求被提交之前,關(guān)于服務(wù)器的信息可在逐漸靠近設(shè)備的各層處被分析以確保服務(wù)管理者對最新的信息米取動作。
[0007]示例方法和裝置可包括用戶接口層、作業(yè)隊(duì)列處理層以及通信層。用戶接口層可向服務(wù)管理者呈現(xiàn)信息并可接收來自服務(wù)管理者的改變請求(例如,置于服務(wù)中、退出服務(wù))。作業(yè)隊(duì)列處理層可串行化來自多個服務(wù)管理者的改變請求以緩減與并發(fā)或時(shí)間上接近的沖突請求相關(guān)聯(lián)的問題。盡管提到了隊(duì)列,但是其它數(shù)據(jù)結(jié)構(gòu)可被使用在作業(yè)處理層處。作業(yè)隊(duì)列處理層還可監(jiān)視改變請求以防止可基于過時(shí)信息的不理想的結(jié)果(例如,由于最后一個服務(wù)器被使得退出服務(wù)而造成的服務(wù)丟失)。通信層提供關(guān)于目標(biāo)設(shè)備狀態(tài)(例如,服務(wù)中、退出服務(wù))的信息并將改變請求或其它信息傳送到目標(biāo)設(shè)備或控制目標(biāo)設(shè)備的設(shè)備。通信層還可提供關(guān)于目標(biāo)健康(例如,健康、已故障、正在發(fā)生故障)的信息。
[0008]附圖簡述
[0009]附圖示出本文所述的各種示例裝置、方法和其他實(shí)施例。將理解到附圖中所示的元素邊界(如框、框組、或其他形狀)表示邊界的一個示例。在某些示例中,一個元素可被設(shè)計(jì)成多個元素,或者多個元素可被設(shè)計(jì)成一個元素。在某些示例中,示為另一元素的內(nèi)部組件的某一元素可被實(shí)現(xiàn)為外部組件,且反之亦然。此外,元素可不被按比例繪制。
[0010]圖1示出具有服務(wù)端點(diǎn)設(shè)備的示例因特網(wǎng)范圍服務(wù)拓?fù)浣Y(jié)構(gòu)。
[0011]圖2示出用于管理服務(wù)器成員資格的示例系統(tǒng)。
[0012]圖3示出與管理服務(wù)器成員資格相關(guān)聯(lián)的示例方法。
[0013]圖4示出與管理服務(wù)器成員資格相關(guān)聯(lián)的示例方法。
[0014]圖5示出與管理服務(wù)器成員資格相關(guān)聯(lián)的示例裝置。
[0015]圖6示出與管理服務(wù)器成員資格相關(guān)聯(lián)的示例裝置。
[0016]圖7示出了服務(wù)器成員資格服務(wù)可以在其中操作的示例云操作環(huán)境。
[0017]圖8是描繪配備有用于管理服務(wù)器成員資格的邏輯的示例移動通信設(shè)備的系統(tǒng)圖。
[0018]詳細(xì)描述
[0019]示例裝置和方法將關(guān)于服務(wù)端點(diǎn)設(shè)備(例如,服務(wù)器、虛擬服務(wù)器、負(fù)載平衡器)的信息聚集到針對服務(wù)管理者的單個統(tǒng)一視圖中。單個統(tǒng)一視圖可隱藏多層拓?fù)浣Y(jié)構(gòu)的復(fù)雜性來提供服務(wù)端點(diǎn)以及它們的成員服務(wù)器的簡化的視圖,該多層拓?fù)浣Y(jié)構(gòu)包括負(fù)載平衡器層以及服務(wù)器池或?qū)?。單個統(tǒng)一視圖可提供關(guān)于服務(wù)器的狀態(tài)(例如,服務(wù)中、退出服務(wù))或健康(例如,向上、向下、發(fā)生故障)的信息。服務(wù)器健康可在其中服務(wù)器是成員的不同池的上下文中被查看。單個統(tǒng)一視圖還可提供關(guān)于服務(wù)器池的健康的信息。
[0020]圖1示出具有服務(wù)端點(diǎn)設(shè)備的示例因特網(wǎng)范圍服務(wù)拓?fù)浣Y(jié)構(gòu)100。拓?fù)浣Y(jié)構(gòu)100包括訪問服務(wù)的多個消費(fèi)者(例如,Cl到CS)。該服務(wù)以及提供該服務(wù)的裝置和進(jìn)程可被多個服務(wù)管理者(例如,102、104……108)管理。來自消費(fèi)者的請求可針對真實(shí)服務(wù)器但被虛擬服務(wù)器(例如,132、134……136)攔截。虛擬服務(wù)器可將來自消費(fèi)者的請求發(fā)送到負(fù)載平衡器(例如,142、144)。負(fù)載平衡器可將請求分發(fā)到被安排在不同的服務(wù)器池(例如,池I110……池2 120)中的不同的真實(shí)服務(wù)器。池I 110包括真實(shí)服務(wù)器111、112、113和114。池2120包括真實(shí)服務(wù)器131、132、133和114。注意,真實(shí)服務(wù)器114出現(xiàn)在兩個不同的池中。
[0021]示例裝置和方法可提供控制對各個服務(wù)管理者的訪問以及對各個服務(wù)管理者可用的功能的基于角色的認(rèn)證。例如,第一服務(wù)管理者可被認(rèn)證以供只讀查看,而第二服務(wù)管理者可被認(rèn)證以供讀和更新查看。
[0022]服務(wù)管理者執(zhí)行包括將服務(wù)器置于服務(wù)中以及使得服務(wù)器退出服務(wù)在內(nèi)的任務(wù)。采用可能存在的復(fù)雜的服務(wù)端點(diǎn)拓?fù)浣Y(jié)構(gòu),將服務(wù)器置于服務(wù)中或使得服務(wù)器退出服務(wù)可能是復(fù)雜的任務(wù)。當(dāng)多個服務(wù)管理者在相同時(shí)間或近乎相同時(shí)間基于沖突的或可能過時(shí)的信息來嘗試使得服務(wù)器退出服務(wù)或?qū)⒎?wù)器置于服務(wù)中時(shí),任務(wù)可能更加復(fù)雜。因此,示例裝置和方法提供將服務(wù)管理者請求串行化的作業(yè)處理隊(duì)列。將服務(wù)管理者請求串行化在作業(yè)處理隊(duì)列中促進(jìn)解決并發(fā)請求或近乎一起發(fā)生的請求。由于使用作業(yè)處理隊(duì)列或其它數(shù)據(jù)結(jié)構(gòu)來串行化服務(wù)管理者請求,可能存在監(jiān)視改變請求(例如,退出服務(wù)請求)以防止不理想的結(jié)果的機(jī)會。例如,針對支持服務(wù)端點(diǎn)或用作服務(wù)端點(diǎn)的服務(wù)器池中的最后一個健康的服務(wù)器或最后一個服務(wù)中的服務(wù)器的退出服務(wù)請求可具有使得服務(wù)對一組消費(fèi)者不可用的不理想的效果。因此,示例裝置和方法可監(jiān)視改變請求以防止服務(wù)器池?zé)o意地變?yōu)榭铡T谝粋€實(shí)施例中,可創(chuàng)建空的服務(wù)器池的請求可引起服務(wù)管理者的注意。服務(wù)管理者可隨后決定迫使服務(wù)器池變空或可作出不同的請求。
[0023]一示例系統(tǒng)可包括用戶接口層、作業(yè)隊(duì)列層以及通信層。圖2示出用于管理針對協(xié)同操作來提供服務(wù)的服務(wù)器集合的服務(wù)器成員資格的示例系統(tǒng)。該系統(tǒng)包括從服務(wù)管理者102接收請求的用戶接口 200。用戶接口 200還可提供在提供服務(wù)中所涉及的設(shè)備的相干簡化視圖。該系統(tǒng)還包括與用戶接口200進(jìn)行通信并與在提供服務(wù)中所涉及的設(shè)備和進(jìn)程進(jìn)行通信的請求監(jiān)視器210。注意,服務(wù)管理者102具有其自己的本地存儲104。類似地,用戶接口 200具有其自己的本地存儲204并且請求監(jiān)視器210具有其自己的本地存儲214。另外,虛擬服務(wù)器132可具有其自己的本地存儲133,負(fù)載平衡器142可具有其自己的本地存儲146并且負(fù)載平衡器144可具有其自己的本地存儲145。另外,真實(shí)服務(wù)器111可具有其自己的本地存儲111m。在多個設(shè)備或進(jìn)程具有它們自己的本地存儲的情況下,關(guān)于哪些服務(wù)器在服務(wù)中以及哪些服務(wù)器退出服務(wù)的數(shù)據(jù)可能是不一致的。
[0024]通信層可與服務(wù)端點(diǎn)設(shè)備(例如,負(fù)載平衡器、真實(shí)服務(wù)器、虛擬服務(wù)器)進(jìn)行通信。用戶接口層可呈現(xiàn)單個統(tǒng)一視圖并可從服務(wù)管理者接收請求。例如,用戶接口層可接收置于服務(wù)中和退出服務(wù)請求。用戶接口層還可提供針對服務(wù)管理者的當(dāng)其它層提供指示服務(wù)管理者可能不明智地行動或可能對可能過時(shí)或其它方式不準(zhǔn)確的數(shù)據(jù)采取行動的信息時(shí)改變請求或迫使請求發(fā)生的機(jī)會。
[0025]作業(yè)隊(duì)列處理層可串行化請求并對經(jīng)串行化的請求執(zhí)行監(jiān)視。在一個實(shí)施例中,作業(yè)隊(duì)列處理層還可執(zhí)行窺孔(peephole)類型的優(yōu)化,其中多個相同的請求被折疊到單個請求中。例如,如果5個服務(wù)管理者在相同時(shí)間全部請求某個服務(wù)器被使得退出服務(wù),則5個請求可被折疊到被串行化在作業(yè)處理隊(duì)列中的單個請求中。
[0026]監(jiān)視作業(yè)隊(duì)列處理層中經(jīng)串行化的請求可致使請求被提交或暫停。當(dāng)請求被提供到目標(biāo)設(shè)備或提供到控制目標(biāo)設(shè)備的另一設(shè)備(例如,消息傳遞者)時(shí),該請求可被提交。例如,退出服務(wù)消息可被提供到真實(shí)服務(wù)器、被提供到與真實(shí)服務(wù)器相關(guān)聯(lián)的虛擬服務(wù)器、被提供到向服務(wù)器提供消費(fèi)者請求的負(fù)載平衡器(例如,消息傳遞者)、或被提供到可控制或參與控制目標(biāo)設(shè)備的其它設(shè)備。使得服務(wù)器退出服務(wù)可涉及停止消息到服務(wù)器的流動、關(guān)閉到服務(wù)器的通信路徑、關(guān)閉服務(wù)器或其它動作。將服務(wù)器置于服務(wù)中可涉及開始消息到服務(wù)器的流動、打開到服務(wù)器的通信路徑、開啟服務(wù)器或其它動作。停止或開始消息到服務(wù)器的流動可在負(fù)載平衡器處來實(shí)現(xiàn),而無需直接用消息通知或更改服務(wù)器的狀態(tài)。
[0027]關(guān)于是提交請求還是暫停或返回請求的判定可取決于具有關(guān)于目標(biāo)設(shè)備以及目標(biāo)設(shè)備是其成員的(各)池的準(zhǔn)確信息。關(guān)于目標(biāo)設(shè)備或其(各)池的信息可被存儲在服務(wù)管理者位置處、在用戶接口層中、在作業(yè)隊(duì)列處理層中、在目標(biāo)設(shè)備中、在控制目標(biāo)設(shè)備的設(shè)備中、在與目標(biāo)設(shè)備進(jìn)行交互的設(shè)備中或在其它位置中。通信層促進(jìn)在提交請求前獲得關(guān)于目標(biāo)設(shè)備或其(各)池的最新信息并將該信息傳播回靠近后端。由此,在一個實(shí)施例中,請求可僅在關(guān)于目標(biāo)設(shè)備或其(各)池的實(shí)際信息匹配服務(wù)管理者基于其做出它們的決定的信息時(shí)才被提交。
[0028]回憶作業(yè)隊(duì)列處理層可監(jiān)視請求以當(dāng)某一服務(wù)器是池中對負(fù)載平衡器、對虛擬服務(wù)器或在其它情況中可用的唯一剩余的服務(wù)器時(shí)確保該服務(wù)器不被使得退出服務(wù)。當(dāng)接收到退出服務(wù)請求時(shí),該請求可首先通過檢查服務(wù)管理者的本地?cái)?shù)據(jù)集來被驗(yàn)證。如果本地?cái)?shù)據(jù)集指示移除服務(wù)器會具有不理想的效果(例如,從池中移除唯一剩余的服務(wù)器),則該請求可不被自動地提交并可轉(zhuǎn)而被呈現(xiàn)給做出請求的服務(wù)管理者或其它服務(wù)管理者以用于確認(rèn)或取消。如果本地?cái)?shù)據(jù)集指示移除服務(wù)器不會產(chǎn)生不理想的情況,則該請求可根據(jù)更靠近目標(biāo)設(shè)備的數(shù)據(jù)集被驗(yàn)證。作為說明,作業(yè)隊(duì)列處理層中的數(shù)據(jù)集可指示該服務(wù)器是最后一個服務(wù)中的或健康的服務(wù)器。在這種情況下,該請求可被阻擋并且來自作業(yè)隊(duì)列處理層的數(shù)據(jù)可被用于更新對服務(wù)管理者可用的數(shù)據(jù)。例如,對服務(wù)管理者可用的本地高速緩存可被更新。服務(wù)管理者可接著選擇迫使該請求被執(zhí)行或取消該請求。作為進(jìn)一步的說明,服務(wù)端點(diǎn)設(shè)備(例如,負(fù)載平衡器、虛擬服務(wù)器、真實(shí)服務(wù)器)中的數(shù)據(jù)集可指示該服務(wù)器是最后一個服務(wù)中的或健康的服務(wù)器。在這種情況下,該請求可被阻擋并且來自服務(wù)端點(diǎn)設(shè)備的數(shù)據(jù)也可被用于更新作業(yè)隊(duì)列處理層并可被用于更新對服務(wù)管理者可用的數(shù)據(jù)。再一次,服務(wù)管理者可接著選擇迫使該請求被執(zhí)行或取消該請求。
[0029]在一個實(shí)施例中,示例裝置和方法與其交互的貫穿拓?fù)浣Y(jié)構(gòu)所維護(hù)的數(shù)據(jù)集可不僅僅包括服務(wù)狀態(tài)(例如,服務(wù)中/退出服務(wù))信息,還包括健康狀態(tài)(例如,健康、已故障、發(fā)生故障)信息。健康狀態(tài)信息可將健康報(bào)告為如被進(jìn)行報(bào)告的設(shè)備(例如,負(fù)載平衡器、作為目標(biāo)設(shè)備的真實(shí)服務(wù)器)所了解的那樣。由此,服務(wù)管理者可不僅僅具有關(guān)于哪些設(shè)備在服務(wù)中以及退出服務(wù),還具有關(guān)于在做出改變請求時(shí)設(shè)備的健康狀態(tài)的了解。
[0030]為了促進(jìn)在理想的閾值時(shí)間量內(nèi)將響應(yīng)提供到服務(wù)管理者,在一個實(shí)施例中,對服務(wù)器狀態(tài)或健康數(shù)據(jù)的驗(yàn)證的范圍可被限制到作為針對改變請求的目標(biāo)設(shè)備的服務(wù)器而非整個可用的數(shù)據(jù)集。在一個實(shí)施例中,作業(yè)隊(duì)列處理層被配置成在15秒內(nèi)同步地處理改變請求(例如,置于服務(wù)中、退出服務(wù))。在不同的實(shí)施例中,其它服務(wù)水平(例如,12秒、10秒、5秒)可被配置。
[0031]下文的詳細(xì)描述的某些部分是按照算法和對存儲器內(nèi)的數(shù)據(jù)位的運(yùn)算的符號表示來給出的。這些算法描述和表示被本領(lǐng)域技術(shù)人員使用來將其作品的實(shí)質(zhì)傳達(dá)給其他人。算法被認(rèn)為是產(chǎn)生結(jié)果的運(yùn)算序列。運(yùn)算可包括創(chuàng)建和操縱采用電子值的形式的物理量。創(chuàng)建或操縱采用電子值形式的物理量產(chǎn)生了具體的、有形的、有用的、真實(shí)世界結(jié)果。
[0032]原則上出于常見用法的原因?qū)⑦@些信號稱作位、值、元素、符號、字符、項(xiàng)、數(shù)字以及其它術(shù)語被證明有時(shí)是方便的。然而,應(yīng)當(dāng)記住,這些和類似術(shù)語都應(yīng)與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅僅是應(yīng)用于這些量的方便標(biāo)簽。除非另外具體聲明,否則應(yīng)理解貫穿本說明書,包括處理、計(jì)算以及確定在內(nèi)的術(shù)語指的是計(jì)算機(jī)系統(tǒng)、邏輯、處理器或操縱和變換被表示為物理量的數(shù)據(jù)(如電子值)的類似電子設(shè)備的動作和過程。
[0033]參考流程圖可更好地理解示例方法。出于簡化,所示的方法被示出并描述為一系列框。然而,方法可不受框的順序的限制,因?yàn)樵谀承?shí)施例中,框可以與所示和所描述的不同順序出現(xiàn)。而且,為了實(shí)現(xiàn)某一示例方法,可能要求比全部所示框少的框??蚩杀唤M合或分成多個組件。此外,附加的或替代的方法可采用附加的、未示出的框。
[0034]圖3示出示例方法300。方法300包括,在310,接收關(guān)于服務(wù)端點(diǎn)設(shè)備的服務(wù)管理請求。服務(wù)端點(diǎn)設(shè)備可以是例如,作為協(xié)同操作來提供服務(wù)的服務(wù)器集合的成員的服務(wù)器。其它設(shè)備可使用方法300來管理。服務(wù)可以是例如通過通信網(wǎng)絡(luò)提供的功能集。通信網(wǎng)絡(luò)可以例如是計(jì)算機(jī)網(wǎng)絡(luò)、蜂窩電話網(wǎng)絡(luò)、衛(wèi)星電話網(wǎng)絡(luò)或其它網(wǎng)絡(luò)。服務(wù)管理請求可以例如是旨在停止到服務(wù)端點(diǎn)設(shè)備的消息流動的停用服務(wù)請求。服務(wù)管理請求可以是任選的或強(qiáng)制性的。當(dāng)請求是任選的時(shí),方法300可檢查服務(wù)中數(shù)據(jù)來確定在該服務(wù)端點(diǎn)設(shè)備被事實(shí)上退出服務(wù)的情況下是否會發(fā)生不理想的結(jié)果。不理想的結(jié)果可以例如是移除最后一個健康的服務(wù)器并由此中斷服務(wù)、在所有其它服務(wù)器處于或接近滿負(fù)荷時(shí)移除具有可用容量的服務(wù)器導(dǎo)致服務(wù)減緩、或其它不理想的效果。在不同的實(shí)施例中,服務(wù)管理請求可接收自人類服務(wù)管理者或接收自自動化的服務(wù)管理者。
[0035]方法300包括,在320,控制串行化邏輯來針對關(guān)于該集合中其它成員的其它待決服務(wù)管理請求來串行化該服務(wù)管理請求。串行化邏輯可位于通信網(wǎng)絡(luò)中的處于服務(wù)管理者與控制設(shè)備之間的通信路徑中。串行化請求促進(jìn)避免競爭條件并緩解與由于不同的服務(wù)管理者的可變遞送時(shí)間相關(guān)聯(lián)的問題。在一個實(shí)施例中,方法300可包括控制串行化邏輯來對待決服務(wù)管理請求執(zhí)行窺孔優(yōu)化。執(zhí)行窺孔優(yōu)化促進(jìn)降低需要被處理的請求的數(shù)量。
[0036]一旦請求已經(jīng)被串行化到其正確的位置內(nèi),方法300就可通過相對于其它待決服務(wù)管理請求來按序處理該服務(wù)管理請求來繼續(xù)。如果該請求是用于使得服務(wù)端點(diǎn)設(shè)備退出服務(wù)的任選的嘗試,則方法300可在330通過訪問服務(wù)中數(shù)據(jù)來行進(jìn),根據(jù)該服務(wù)中數(shù)據(jù),可在335做出關(guān)于該服務(wù)端點(diǎn)設(shè)備是否是該集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備的判定。在一個實(shí)施例中,服務(wù)中數(shù)據(jù)還描述服務(wù)端點(diǎn)設(shè)備的健康。可通過按照從位于最靠近服務(wù)管理者的數(shù)據(jù)到位于最靠近控制到服務(wù)端點(diǎn)設(shè)備的消息流動的控制設(shè)備(例如,負(fù)載平衡器)的數(shù)據(jù)的順序訪問和評估服務(wù)中數(shù)據(jù)來以遞增方式在335做出該判定。在一個實(shí)施例中,服務(wù)中數(shù)據(jù)還可描述服務(wù)端點(diǎn)的容量或服務(wù)端點(diǎn)與其相關(guān)聯(lián)的池的其它成員的容量。如果最靠近服務(wù)管理者的數(shù)據(jù)指示請求可產(chǎn)生不理想的條件(例如,最后一個服務(wù)中服務(wù)器被使得退出服務(wù)、最后一個負(fù)載平衡器被使得退出服務(wù)、最后一個具有可用容量的服務(wù)器被使得退出服務(wù)),則該請求可被阻止而不必咨詢更靠近該設(shè)備的數(shù)據(jù)。但是如果最靠近服務(wù)管理者的數(shù)據(jù)沒有指示該請求可產(chǎn)生不理想的結(jié)果,則更靠近負(fù)載平衡器的數(shù)據(jù)可被考慮。
[0037]在一個實(shí)施例中,在該請求被處理之前,方法300可包括從該集合的一個或多個成員或從控制設(shè)備獲得服務(wù)中數(shù)據(jù)。為了幫助服務(wù)管理者做出更有見地的決定,服務(wù)中數(shù)據(jù)可被提供給服務(wù)管理者。在一個實(shí)施例中,服務(wù)中數(shù)據(jù)可通過用戶接口被提供到服務(wù)管理者,該用戶接口提供服務(wù)端點(diǎn)設(shè)備的集合的服務(wù)中狀態(tài)的單個相干視圖。
[0038]在330處訪問服務(wù)中數(shù)據(jù)可通過訪問對于服務(wù)管理者而言本地的數(shù)據(jù)來開始。在此時(shí),可僅根據(jù)對于服務(wù)管理者而言本地的數(shù)據(jù)來做出該判定。如果對于服務(wù)管理者而言本地的數(shù)據(jù)指示該服務(wù)可不通過使得服務(wù)端點(diǎn)設(shè)備退出服務(wù)而受到損害,則該請求可被提供到串行化邏輯,其中在330處訪問服務(wù)中數(shù)據(jù)可通過訪問對于串行化邏輯而言本地的數(shù)據(jù)來繼續(xù)。在一個實(shí)施例中,消息可實(shí)際上不被提供到串行化邏輯,而是該請求可被保持在原地并且串行化邏輯可被通知該請求并被控制來訪問在串行化邏輯處可用的服務(wù)中數(shù)據(jù)。通知串行化邏輯或另一設(shè)備或進(jìn)程可包括發(fā)送消息、生成中斷、向共享存儲器位置寫入值、生成信號、做出遠(yuǎn)程過程調(diào)用或其它動作。該判定可接著根據(jù)對于串行化邏輯而言本地的數(shù)據(jù)。如果對于串行化邏輯而言本地的數(shù)據(jù)指示該服務(wù)可不通過使得服務(wù)端點(diǎn)設(shè)備退出服務(wù)而受到損害,則該請求可被提供到控制設(shè)備,并且在330處訪問服務(wù)中數(shù)據(jù)可包括訪問對于控制設(shè)備而言本地的數(shù)據(jù)。再一次,該請求可實(shí)際上不被提供到控制設(shè)備,而是只有在控制設(shè)備處的服務(wù)中數(shù)據(jù)才可被訪問??刂圃O(shè)備可位于通信網(wǎng)絡(luò)中的處于串行化邏輯與服務(wù)端點(diǎn)設(shè)備之間的通信路徑中。在此時(shí),可根據(jù)對于控制設(shè)備而言本地的數(shù)據(jù)來做出該判定。
[0039]在330處服務(wù)中數(shù)據(jù)已經(jīng)被訪問后,可在335做出關(guān)于是阻止該請求還是提交該請求的判定。基于在335處做出的判定,方法330可行進(jìn)到340或350。方法300包括在340,當(dāng)判定是該服務(wù)端點(diǎn)設(shè)備是該集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備時(shí)或當(dāng)另一預(yù)先確定的不理想效果可被產(chǎn)生時(shí),選擇性地阻止該請求。當(dāng)該請求被阻止時(shí),方法300還可用通知選擇性地將服務(wù)管理請求提供回服務(wù)管理者或可通知服務(wù)管理者而不返回該請求。
[0040]方法300包括在350,當(dāng)判定是該服務(wù)端點(diǎn)設(shè)備不是該集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備時(shí)或當(dāng)另一預(yù)先確定的不理想效果可被產(chǎn)生時(shí),將該請求提供到控制設(shè)備。在一個實(shí)施例中,該請求可不被提供,但是控制設(shè)備可被指令或控制來使得目標(biāo)服務(wù)器退出服務(wù)。
[0041]無論該請求是在350處被提供到控制設(shè)備還是在340處被阻止,方法300都可包括在360處選擇性地更新通信網(wǎng)絡(luò)中一個或多個位置中的服務(wù)中數(shù)據(jù)。例如,串行化邏輯中的數(shù)據(jù)可用來自負(fù)載平衡器的數(shù)據(jù)來被更新。
[0042]在一個實(shí)施例中,在處理來自服務(wù)管理者的請求之前,服務(wù)管理者可首先被認(rèn)證。當(dāng)認(rèn)證被采用時(shí),方法300可根據(jù)認(rèn)證服務(wù)管理者來提供針對服務(wù)管理者的基于角色的服務(wù)水平。例如,服務(wù)管理者可被允許查看服務(wù)中數(shù)據(jù)但不能做出請求,或者服務(wù)管理者可被允許做出請求。
[0043]通過使用結(jié)合方法300描述的遞增、經(jīng)串行化的方法,在一個實(shí)施例中,可在少于15秒內(nèi)產(chǎn)生異步結(jié)果。異步結(jié)果可以是在少于15秒內(nèi)服務(wù)端點(diǎn)設(shè)備被使得退出服務(wù)或服務(wù)管理者被提供通知。在另一實(shí)施例中,異步結(jié)果可在少于10秒內(nèi)被獲取??稍谄渌鼘?shí)施例中實(shí)現(xiàn)其它響應(yīng)時(shí)間。
[0044]圖4示出執(zhí)行遞增決策制定過程的示例方法400的一部分。在410,對于服務(wù)管理者而言本地的數(shù)據(jù)被訪問。對于設(shè)備而言本地的可包括被存儲在作為該設(shè)備的一部分的數(shù)據(jù)存儲中或被存儲在對該設(shè)備可用而不必通過網(wǎng)絡(luò)的數(shù)據(jù)存儲中。例如,被存儲在被服務(wù)管理者使用的膝上型計(jì)算機(jī)的存儲器中的數(shù)據(jù)是對于該服務(wù)管理者而言本地的,這是因?yàn)槠涫潜淮鎯υ谶B接到服務(wù)管理者的膝上型計(jì)算機(jī)的外部硬盤驅(qū)動器的數(shù)據(jù)??蓛H僅基于對于服務(wù)管理者而言本地的數(shù)據(jù)來在412做出關(guān)于是否阻止退出服務(wù)請求的決策。如果對于服務(wù)管理者而言本地的數(shù)據(jù)指示該請求可在不破壞服務(wù)的情況下被完成,則部分400可在420處繼續(xù)以訪問存儲在用戶接口中的數(shù)據(jù)。對于服務(wù)管理者而言本地的存儲的數(shù)據(jù)可不與用戶接口處的數(shù)據(jù)一致。由此,對于服務(wù)管理者而言本地的存儲的數(shù)據(jù)可指示用退出服務(wù)請求來行進(jìn)是安全的,但是用戶接口處的數(shù)據(jù)可不這么指示。由此,可僅僅基于對于用戶接口而言本地的數(shù)據(jù)來在422處做出關(guān)于是否阻止退出服務(wù)請求的決策。遞增方式可在430處通過訪問對于監(jiān)視器邏輯而言本地的數(shù)據(jù)并接著在432處僅僅基于對于監(jiān)視器邏輯而言本地的數(shù)據(jù)來做出判定來繼續(xù)。遞增方式可接著在440處通過訪問對于負(fù)載平衡器而言本地的數(shù)據(jù)來繼續(xù),該負(fù)載平衡器控制到作為停用服務(wù)請求的目標(biāo)的服務(wù)器的消息流動。在442處的決策可僅僅基于對于負(fù)載平衡器而言本地的存儲的數(shù)據(jù)。只有所有被考慮的數(shù)據(jù)指示行進(jìn)是安全的,才在460處通過停止到服務(wù)器的消息流動來使得目標(biāo)服務(wù)器退出服務(wù)。如果被考慮的數(shù)據(jù)中的任意數(shù)據(jù)指示行進(jìn)是不安全的,則請求將在450處被阻止。在任一情況下,關(guān)于目標(biāo)服務(wù)器的狀態(tài)中狀態(tài)的數(shù)據(jù)可在470處被饋送回位于更靠近服務(wù)管理者的數(shù)據(jù)存儲。圖4中示出的遞增方式促進(jìn)盡可能快地到達(dá)阻止決策。
[0045]盡管圖3和4示出了串行地發(fā)生的各種動作,但是,應(yīng)該理解,圖3和4中所示出的各種動作可以基本上并行地發(fā)生。作為說明,第一進(jìn)程可訪問和顯示服務(wù)中數(shù)據(jù),第二進(jìn)程可串行化成員資格請求,而第三進(jìn)程可阻止或提交成員資格請求。盡管描述了三個進(jìn)程,但是要理解可采用更多或更少數(shù)量的進(jìn)程,以及可采用輕量進(jìn)程、常規(guī)進(jìn)程、線程以及其他方法。
[0046]在一個示例中,方法可被實(shí)現(xiàn)為計(jì)算機(jī)可執(zhí)行指令。從而,在一個示例中,計(jì)算機(jī)可讀存儲介質(zhì)可存儲計(jì)算機(jī)可執(zhí)行指令,如果機(jī)器(如計(jì)算機(jī))執(zhí)行,計(jì)算機(jī)可執(zhí)行指令使得機(jī)器執(zhí)行本文所述或要求保護(hù)的方法,如方法300或部分400。盡管與所列方法相關(guān)聯(lián)的可執(zhí)行指令被描述為存儲在計(jì)算機(jī)可讀存儲介質(zhì)上,但是要理解與本文所述或要求保護(hù)的其他示例方法相關(guān)聯(lián)的可執(zhí)行指令也可被存儲在計(jì)算機(jī)可讀存儲介質(zhì)上。在不同實(shí)施例中,本文所述的示例方法可以不同方式被觸發(fā)。在一個實(shí)施例中,一種方法可由用戶手動觸發(fā)。在另一不例中,一種方法可被自動觸發(fā)。
[0047]圖5示出示例裝置500。在一個示例中,裝置500包括被配置用于連接處理器510、存儲器520以及邏輯集合530的接口 540。裝置500的各元素可被配置來與相互通信,但為了說明的簡要而未示出所有連接。在一個實(shí)施例中,裝置500可以是已通過包含邏輯集合530而被轉(zhuǎn)換成專用計(jì)算機(jī)的通用計(jì)算機(jī)。裝置500可通過例如計(jì)算機(jī)網(wǎng)絡(luò)與其他裝置、過程和服務(wù)交互。
[0048]邏輯集合530可被配置成管理提供服務(wù)的服務(wù)器集合中的成員資格。提供該服務(wù)可包括使得服務(wù)器個別地和共同地參與通過計(jì)算機(jī)網(wǎng)絡(luò)來提供功能集。
[0049]邏輯集合530可包括被配置成提供用戶接口的第一邏輯532。用戶接口可被配置成提供該服務(wù)器集合的服務(wù)中狀態(tài)的單個相干視圖。在一個實(shí)施例中,單個相干視圖可折疊服務(wù)器的分層結(jié)構(gòu)中的各層。折疊各層可促進(jìn)隱藏經(jīng)多層負(fù)載平衡的/網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的復(fù)雜度以提供服務(wù)端點(diǎn)以及它們的成員服務(wù)器的簡單視圖。在一個實(shí)施例中,用戶接口可將跨多個負(fù)載平衡的設(shè)備的服務(wù)器或服務(wù)器池聚集到一個統(tǒng)一視圖中。在一個實(shí)施例中,第一邏輯532可被配置成從該服務(wù)器集合和計(jì)算機(jī)網(wǎng)絡(luò)的所選元素中收集狀態(tài)數(shù)據(jù)。第一邏輯532還可被配置成接收成員資格請求并向成員資格請求提供響應(yīng)。成員資格請求可以例如是會將目標(biāo)服務(wù)器添加到當(dāng)前正參與提供服務(wù)的服務(wù)器集合的成員資格的放入服務(wù)中請求。成員資格請求還可以例如是會將目標(biāo)服務(wù)器從當(dāng)前正參與提供服務(wù)的服務(wù)器集合的成員資格中移除的退出服務(wù)請求。
[0050]邏輯集合530還可包括被配置成提供請求監(jiān)視器的第二邏輯534,該請求監(jiān)視器被配置成當(dāng)對該服務(wù)器集合中的目標(biāo)服務(wù)器的成員資格請求將破壞對功能集的訪問時(shí),選擇性地阻止該成員資格請求。當(dāng)例如最后一個可用的目標(biāo)服務(wù)器被使得退出服務(wù)、最健康的可用目標(biāo)服務(wù)器被使得退出服務(wù)、當(dāng)其它服務(wù)器是健康的但被壓垮時(shí)具有可用容量的目標(biāo)服務(wù)器被使得退出服務(wù)、或其它條件下時(shí),對功能集的訪問可被破壞。請求監(jiān)視器可被配置以遞增方式來操作,其中最遠(yuǎn)離目標(biāo)設(shè)備的數(shù)據(jù)被首先考慮,而最靠近目標(biāo)設(shè)備的數(shù)據(jù)被最后考慮。對于阻止的決策可隨著不同的數(shù)據(jù)集被分析而在不同的時(shí)間處被做出,而對于行進(jìn)的決策可涉及分析多個可用數(shù)據(jù)集。在一個實(shí)施例中,請求監(jiān)視器被配置成當(dāng)做出成員資格請求的實(shí)體(例如,服務(wù)管理者)所存儲的數(shù)據(jù)指示該成員資格請求會破壞對功能集的訪問時(shí)阻止該成員資格請求。當(dāng)用戶接口所存儲的數(shù)據(jù)指示該成員資格請求會破壞對功能集的訪問時(shí),請求監(jiān)視器可阻止該請求。然而,如果該實(shí)體所存儲的或?qū)τ谠搶?shí)體而言本地的數(shù)據(jù)指示該成員資格請求不會破壞對功能集的訪問,則可僅考慮用戶接口所存儲的或?qū)τ谟脩艚涌诙员镜氐臄?shù)據(jù)。當(dāng)請求監(jiān)視器所存儲的數(shù)據(jù)指示該成員資格請求會破壞對功能集的訪問時(shí),請求監(jiān)視器可阻止該請求。然而,如果用戶接口所存儲的數(shù)據(jù)指示該成員資格請求不會破壞對功能集的訪問,則可僅考慮請求監(jiān)視器所存儲的或?qū)τ谡埱蟊O(jiān)視器而言本地的數(shù)據(jù)。當(dāng)計(jì)算機(jī)網(wǎng)絡(luò)中的控制設(shè)備所存儲的數(shù)據(jù)或?qū)τ谠摽刂圃O(shè)備而言本地的數(shù)據(jù)指示該成員資格請求會破壞對功能集的訪問時(shí),請求監(jiān)視器可阻止該請求。然而,如果請求監(jiān)視器所存儲的或?qū)τ谡埱蟊O(jiān)視器而言本地的數(shù)據(jù)指示該成員資格請求不會破壞對功能集的訪問,則可僅考慮控制設(shè)備所存儲的或?qū)τ诳刂圃O(shè)備而言本地的數(shù)據(jù)?;貞?,控制設(shè)備(例如,負(fù)載平衡器)控制到目標(biāo)服務(wù)器的消息流動并可被考慮為消息傳遞者。
[0051]從非阻止觀點(diǎn)來看,請求監(jiān)視器被配置成僅在以下情況下向控制設(shè)備提供成員資格請求或指令控制設(shè)備:做出成員資格請求的實(shí)體所存儲的或?qū)υ搶?shí)體而言本地的數(shù)據(jù)指示該成員資格請求不會破壞對功能集的訪問,用戶接口所存儲的或?qū)τ谟脩艚涌诙员镜氐臄?shù)據(jù)也指示該成員資格請求不會破壞對功能集的訪問,請求監(jiān)視器所存儲的或?qū)τ谡埱蟊O(jiān)視器而言本地的數(shù)據(jù)也指示該成員資格請求不會破壞對功能集的訪問,并且控制設(shè)備所存儲的或?qū)τ诳刂圃O(shè)備而言本地的數(shù)據(jù)也指示該成員資格請求不會破壞對功能結(jié)合的訪問。在一個實(shí)施例中,“提供成員資格請求”指控制設(shè)備(例如,消息傳遞者)來致使到目標(biāo)服務(wù)器的消息流動被停止。實(shí)際成員資格請求可不被提供到控制設(shè)備。
[0052]邏輯集合530還可包括被配置成提供通信的第三邏輯536。第三邏輯536可提供一組互操作服務(wù),其提供針對用戶接口、請求監(jiān)視器、服務(wù)器集合的成員、目標(biāo)服務(wù)器以及控制到服務(wù)器集合的成員的消息流動的負(fù)載平衡設(shè)備的通信。
[0053]處理器510可以是,例如,信號處理器、微處理器、專用集成電路(ASIC)、或用于執(zhí)行包括信號編碼、數(shù)據(jù)處理、輸入/輸出處理、電力控制、或其它功能的任務(wù)的其它控制和處理邏輯電路。處理器510可被配置成與處理成員資格請求的邏輯530交互。
[0054]存儲器520可包括不可移動存儲器或可移動存儲器。不可移動存儲器可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(R0M)、閃存、硬盤、或其它存儲器存儲技術(shù)。可移動存儲器可包括閃存,或其它存儲器存儲技術(shù),諸如“智能卡”。存儲器520可被配置成存儲成員資格請求、服務(wù)中數(shù)據(jù)、健康數(shù)據(jù)或其它信息。
[0055]圖6示出裝置500的另一實(shí)施例。裝置500的這個實(shí)施例包括第四邏輯538。第四邏輯538可被配置成響應(yīng)于經(jīng)阻止的成員資格請求或響應(yīng)于使得服務(wù)器退出服務(wù)來選擇性地更新被存儲在各個位置中的數(shù)據(jù)??杀桓碌臄?shù)據(jù)可包括做出成員資格請求的實(shí)體所存儲的數(shù)據(jù)、用戶接口所存儲的數(shù)據(jù)、請求監(jiān)視器所存儲的數(shù)據(jù)或控制設(shè)備所存儲的數(shù)據(jù)。
[0056]圖7示出示例云操作環(huán)境700。云操作環(huán)境700支持將計(jì)算、處理、存儲、數(shù)據(jù)管理、應(yīng)用、以及其他功能作為抽象服務(wù)而不是作為獨(dú)立產(chǎn)品來提供。服務(wù)可由可被實(shí)現(xiàn)為一個或多個計(jì)算設(shè)備上的一個或多個進(jìn)程的虛擬服務(wù)器來提供。在某些實(shí)施例中,進(jìn)程可在服務(wù)器之間迀移而不中斷云服務(wù)。在云中,共享資源(如計(jì)算、存儲)可通過網(wǎng)絡(luò)被提供給包括服務(wù)器、客戶機(jī)、以及移動設(shè)備的計(jì)算機(jī)。不同的網(wǎng)絡(luò)(如以太網(wǎng)、W1-F1、802.x、蜂窩)可被用于訪問云服務(wù)。與云交互的用戶可能不需要知道實(shí)際上正在提供服務(wù)(如計(jì)算、存儲)的設(shè)備的細(xì)節(jié)(如位置、名稱、服務(wù)器、數(shù)據(jù)庫)。用戶可經(jīng)例如web瀏覽器、瘦客戶端、移動應(yīng)用、或以其他方式來訪問云服務(wù)。
[0057]圖7示出駐留在云中的示例成員資格服務(wù)760。成員資格服務(wù)760可依賴于服務(wù)器702或服務(wù)704來執(zhí)行處理,且可依賴于數(shù)據(jù)存儲706或數(shù)據(jù)庫708來存儲數(shù)據(jù)。盡管解說單個服務(wù)器702、單個服務(wù)704、單個數(shù)據(jù)存儲706以及單個數(shù)據(jù)庫708,但是服務(wù)器、服務(wù)、數(shù)據(jù)存儲以及數(shù)據(jù)庫的多個實(shí)例可駐留在云中,并可因此被成員資格服務(wù)760所使用。
[0058]圖7解說訪問云中的成員資格服務(wù)760的各種設(shè)備。設(shè)備包括計(jì)算機(jī)710、平板720、膝上型計(jì)算機(jī)730、個人數(shù)字助理740、以及移動設(shè)備(如蜂窩電話、衛(wèi)星電話)750。不同位置處使用不同設(shè)備的不同用戶就可能通過不同的網(wǎng)絡(luò)或接口來訪問成員資格服務(wù)760。在一個示例中,成員資格服務(wù)760可由移動設(shè)備750訪問。在另一示例中,成員資格服務(wù)760的各部分可駐留在移動設(shè)備750上。成員資格服務(wù)760可執(zhí)行各動作,包括例如,通過用戶接口來提供服務(wù)器成員資格和狀態(tài)的單個全面視圖,選擇性地阻止可導(dǎo)致服務(wù)變得至少部分不可用的退出服務(wù)請求,致使到服務(wù)器的消息流動被暫停,更新成員資格服務(wù)760與其進(jìn)行交互的拓?fù)浣Y(jié)構(gòu)中的數(shù)據(jù)存儲或其它動作。在一個實(shí)施例中,成員資格服務(wù)760可以執(zhí)行本文所描述的方法的各部分(例如,方法300、方法400)。
[0059]圖8是描繪示例性移動設(shè)備800的系統(tǒng)圖,該移動設(shè)備包括各種可選的硬件和軟件組件,總地示于802處。移動設(shè)備800中的組件802可與其它組件通信,但出于容易例示的目的而未示出所有連接。該移動設(shè)備800可以是各種計(jì)算設(shè)備(例如,蜂窩電話、智能電話、手持式計(jì)算機(jī)、個人數(shù)字助理(PDA)等),并且可允許與諸如蜂窩或衛(wèi)星網(wǎng)絡(luò)的一個或多個移動通信網(wǎng)絡(luò)804進(jìn)行無線雙向通信。
[0060]移動設(shè)備800可包括用于執(zhí)行各任務(wù)的控制器或處理器810(例如,信號處理器、微處理器、應(yīng)用專用集成電路(ASIC)或其它控制和處理邏輯電路系統(tǒng)),各任務(wù)包括通過用戶接口來提供服務(wù)器成員資格和狀態(tài)的單個全面視圖,選擇性地阻止可導(dǎo)致服務(wù)變得至少部分不可用的退出服務(wù)請求,致使到服務(wù)器的消息流動被暫停,更新用戶接口中的數(shù)據(jù)存儲或其它功能。操作系統(tǒng)812可控制對組件802的分配和使用,并支持應(yīng)用程序814。應(yīng)用程序814可包括移動計(jì)算應(yīng)用(例如,電子郵件應(yīng)用、日歷、聯(lián)系人管理者、web瀏覽器、消息收發(fā)應(yīng)用)、或其他計(jì)算應(yīng)用。
[0061 ] 移動設(shè)備800可包括存儲器820。存儲器820可包括不可移動存儲器822或可移動存儲器824。不可移動存儲器822可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(R0M)、閃存、硬盤、或其它存儲器存儲技術(shù)??梢苿哟鎯ζ?24可包括閃存或訂戶身份模塊(SHO卡,其在GSM通信系統(tǒng)中是公知的,或者其它存儲器存儲技術(shù),諸如“智能卡”。存儲器820可被用于存儲數(shù)據(jù)或用于運(yùn)行操作系統(tǒng)812和應(yīng)用814的代碼。示例數(shù)據(jù)可包括描述服務(wù)是在服務(wù)中還是退出服務(wù)的數(shù)據(jù)、描述服務(wù)器集合中處于服務(wù)中的服務(wù)器的數(shù)量的數(shù)據(jù)、描述服務(wù)器的健康的數(shù)據(jù)、網(wǎng)頁、文本、圖像、聲音文件、視頻數(shù)據(jù)或可經(jīng)由一個或多個有線或無線網(wǎng)絡(luò)被發(fā)送到或接收自一個或多個網(wǎng)絡(luò)服務(wù)器或其它設(shè)備的數(shù)據(jù)集合。存儲器820可存儲諸如國際移動訂戶身份(IMSI)等訂戶標(biāo)識符,以及諸如國際移動設(shè)備標(biāo)識符(IMEI)等設(shè)備標(biāo)識符??蓪⑺鰳?biāo)識符傳送給網(wǎng)絡(luò)服務(wù)器以標(biāo)識用戶或設(shè)備。
[0062]移動設(shè)備800可以支持一個或多個輸入設(shè)備830,包括,但不僅限于,觸摸敏感或懸停敏感的屏幕832、話筒834、相機(jī)836、物理鍵盤838,或軌跡球840。移動設(shè)備800還可支持輸出設(shè)備850,包括但不限于:揚(yáng)聲器852以及顯示器854。其它可能的輸入設(shè)備(未示出)包括加速度計(jì)(例如,一維、二維、三維)。其他可能的輸出設(shè)備(未示出)可以包括壓電或其他觸覺輸出設(shè)備。一些設(shè)備可以用于多于一個輸入/輸出功能。輸入設(shè)備830可以包括自然用戶界面(NUI)t3NUI是使得用戶能夠以“自然”方式與設(shè)備交互而不受由諸如鼠標(biāo)、鍵盤、遙控器及其它等輸入設(shè)備強(qiáng)加的人為約束的接口技術(shù)。NUI方法的示例包括依賴于語音識別、觸摸和指示筆識別、(屏幕上和屏幕附近的)姿勢識別、空中姿勢、頭部和眼睛跟蹤、嗓音和語音、視覺、觸摸、姿勢、以及機(jī)器智能的那些方法。NUI的其它示例包括使用加速計(jì)/陀螺儀、臉部識別、三維(3D)顯示、頭、眼以及凝視跟蹤、身臨其境的增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng)的運(yùn)動姿勢檢測(所有這些都提供更為自然的接口),以及用于通過使用電場感測電極(腦電波圖(EEG)和相關(guān)方法)感測腦部活動的技術(shù)。由此,在一特定示例中,操作系統(tǒng)812或應(yīng)用814可包括作為允許用戶經(jīng)由語音命令來操作設(shè)備800的語音用戶界面的一部分的語音識別軟件。此外,設(shè)備800可包括允許經(jīng)由用戶的空間姿勢進(jìn)行用戶交互(諸如檢測和解釋姿勢以向應(yīng)用提供輸入)的輸入設(shè)備和軟件。
[0063]無線調(diào)制解調(diào)器860可耦合至天線891。在一些示例中,射頻(RF)濾波器被使用且處理器810不需要針對所選頻帶選擇天線配置。無線調(diào)制解調(diào)器860可支持處理器810和外部設(shè)備之間的雙向通信。調(diào)制解調(diào)器860被一般示出,并且可以包括用于與移動通信網(wǎng)絡(luò)804通信的蜂窩調(diào)制解調(diào)器和/或其他基于無線電的調(diào)制解調(diào)器(例如,藍(lán)牙864或W1-Fi862)。無線調(diào)制解調(diào)器860可被配置用于與一個或多個蜂窩網(wǎng)絡(luò)(諸如,用于在單個蜂窩網(wǎng)絡(luò)內(nèi)、蜂窩網(wǎng)絡(luò)之間、或移動設(shè)備與公共交換電話網(wǎng)絡(luò)(PSTN)之間的數(shù)據(jù)和語音通信的全球移動通信系統(tǒng)(GSM)網(wǎng)絡(luò))進(jìn)行通信。移動設(shè)備800還可使用例如近場通信(NFC)元素892來本地地通信。
[0064]移動設(shè)備800可包括至少一個輸入/輸出端口 880、電源882、諸如全球定位系統(tǒng)(GPS)接收機(jī)之類的衛(wèi)星導(dǎo)航系統(tǒng)接收機(jī)884、加速度計(jì)886、或物理連接器890,該物理連接器可以是通用串行總線(USB)端口、IEEE 1394(火線)端口、RS-232端口、或其它端口。所示組件802不是必需的或窮舉的,因?yàn)槠渌M件可被刪除或添加。
[0065]移動設(shè)備800可包括配置成為移動設(shè)備800提供功能的服務(wù)端點(diǎn)管理邏輯899。例如,服務(wù)端點(diǎn)管理邏輯899可提供用于與服務(wù)(例如服務(wù)760,圖7)交互的客戶端。本文描述的示例方法的各部分可由服務(wù)端點(diǎn)管理邏輯899執(zhí)行。類似地,服務(wù)端點(diǎn)管理邏輯899可實(shí)現(xiàn)本文描述的裝置的各部分。
[0066]下文包括本文所采用的所選項(xiàng)目的定義。這些定義包括落在某一術(shù)語的范圍內(nèi)且可被用于實(shí)現(xiàn)的組件的各種示例或形式。示例不旨在是限制性的。單數(shù)和復(fù)數(shù)形式的術(shù)語兩者可都在定義的范圍內(nèi)。
[0067]對“一個實(shí)施例”、“一實(shí)施例”、“一個示例”、“一示例”的引用指示出如此所述的實(shí)施例或示例可包括某一特征、結(jié)構(gòu)、特性、屬性、元素或限制,但并非每一個實(shí)施例或示例必然包括該特征、結(jié)構(gòu)、特性、屬性、元素或限制。此外,對短語“在一個實(shí)施例中”的重復(fù)使用不必涉及同一實(shí)施例,但是它可涉及同一實(shí)施例。
[0068]如本文所使用的,“計(jì)算機(jī)可讀存儲介質(zhì)”指的是存儲指令或數(shù)據(jù)的介質(zhì)?!坝?jì)算機(jī)可讀存儲介質(zhì)”不指代傳播信號。計(jì)算機(jī)可讀存儲介質(zhì)可以采取包括但不限于非易失性介質(zhì)以及易失性的形式。非易失性介質(zhì)可包括例如磁盤、磁帶、以及其他介質(zhì)。易失性介質(zhì)可包括例如半導(dǎo)體存儲器、動態(tài)存儲器、以及其他介質(zhì)。常規(guī)形式的計(jì)算機(jī)可讀存儲介質(zhì)可包括但不限于軟盤(floppy disk)、軟磁盤(flexible disk)、硬盤、磁帶、其他磁介質(zhì)、專用集成電路(ASIC)、緊致盤(CD)、其他光學(xué)介質(zhì)、隨機(jī)存儲存儲器(RAM)、只讀存儲器(ROM)、存儲器芯片或卡、存儲棒、以及計(jì)算機(jī)、處理器或其他電子設(shè)備可以讀取的其他介質(zhì)。
[0069]如本文所使用的“數(shù)據(jù)存儲”指的是可存儲數(shù)據(jù)的物理或邏輯實(shí)體。數(shù)據(jù)存儲可以是例如數(shù)據(jù)庫、表、文件、列表、隊(duì)列、堆、存儲器、寄存器、或其他物理儲存庫。在不同示例中,數(shù)據(jù)存儲可駐留在一個邏輯或物理實(shí)體中,或可分布在兩個或更多個邏輯或物理實(shí)體之間。
[0070]如本文所使用的“邏輯”包括但不限于機(jī)器上執(zhí)行的硬件、固件、軟件,或各自的組合來執(zhí)行功能或動作或引起來自另一邏輯、方法或系統(tǒng)的功能或動作。邏輯可包括軟件控制的微處理器、分立邏輯(如ASIC)、模擬電路、數(shù)字電路、編程的邏輯設(shè)備、包含指令的存儲器設(shè)備、以及其他類型的物理設(shè)備。邏輯可包括一個或多個門、門的組合、或其他電路組件。在描述多個邏輯邏輯時(shí),可能的是將該多個邏輯邏輯合并成一個物理邏輯。類似地,在描述單個邏輯邏輯的情況下,可能的是將該單個邏輯化的邏輯分布在多個物理對象之間。
[0071]就在詳細(xì)描述或權(quán)利要求書中使用術(shù)語“包括”而言,這一術(shù)語旨在以與術(shù)語“包含”在被用作權(quán)利要求書中的過渡詞時(shí)所解釋的相似的方式為包含性的。
[0072]就在詳細(xì)描述或權(quán)利要求書中使用術(shù)語“或”而言(如A或B),意圖意味著“A或B或兩者” ο當(dāng)
【申請人】意圖執(zhí)行“只有A或B而不是兩者”時(shí),于是將采用術(shù)語“只有A或B而不是兩者”。從而,本文對術(shù)語“或”的使用是包含性的而非排他性的使用。見Bryan A.Garner現(xiàn)代法律用途字典624(A Dict1nary of Modern Legal Usage 624) (1995年第2版)。
[0073]盡管用對結(jié)構(gòu)特征或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開的。
【主權(quán)項(xiàng)】
1.一種方法,包括: 從服務(wù)管理者接收關(guān)于服務(wù)端點(diǎn)設(shè)備的服務(wù)管理請求,其中所述服務(wù)端點(diǎn)設(shè)備是協(xié)同操作來提供服務(wù)的服務(wù)端點(diǎn)設(shè)備的集合的成員,其中所述服務(wù)是通過通信網(wǎng)絡(luò)提供的功能集; 控制串行化邏輯以相對于關(guān)于所述集合的成員的其它待決服務(wù)管理請求來串行化所述服務(wù)管理請求,其中所述串行化邏輯位于所述通信網(wǎng)絡(luò)的處于所述服務(wù)管理者和所述控制設(shè)備之間的通信路徑中; 相對于所述其它待決服務(wù)管理請求來按序處理所述服務(wù)管理請求; 在確定所述服務(wù)管理請求是使得所述服務(wù)端點(diǎn)設(shè)備退出服務(wù)的任選嘗試之際: 訪問服務(wù)中數(shù)據(jù),根據(jù)所述服務(wù)中數(shù)據(jù)能做出關(guān)于所述服務(wù)端點(diǎn)設(shè)備是否是所述集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備的判定; 至少部分地基于所述服務(wù)中數(shù)據(jù)來做出所述判定;以及 當(dāng)所述判定是所述服務(wù)端點(diǎn)設(shè)備不是所述集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備時(shí),向參與控制所述服務(wù)端點(diǎn)設(shè)備的控制設(shè)備通知所述服務(wù)端點(diǎn)設(shè)備要被使得退出服務(wù);以及當(dāng)所述判定是所述服務(wù)端點(diǎn)設(shè)備是所述集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備時(shí),用信號通知所述服務(wù)管理者所述成員資格請求沒有被執(zhí)行并且選擇性地更新所述通信網(wǎng)絡(luò)中一個或多個位置中的所述服務(wù)中數(shù)據(jù), 其中將所述服務(wù)端點(diǎn)設(shè)備保持在服務(wù)中通過減少或消除重啟被無意終止的服務(wù)端點(diǎn)所需的處理來而提高針對所述集合的計(jì)算效率。2.如權(quán)利要求1所述的方法,其特征在于,包括: 獲取來自所述集合的一個或多個成員以及來自所述控制設(shè)備的所述服務(wù)中數(shù)據(jù),以及將所述服務(wù)中數(shù)據(jù)提供到所述服務(wù)管理者,其中所述服務(wù)中數(shù)據(jù)提供服務(wù)端點(diǎn)設(shè)備的結(jié)合的單個相干視圖。3.如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端點(diǎn)設(shè)備是服務(wù)器。4.如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)管理者是自動化的進(jìn)程。5.如權(quán)利要求1所述的方法,其特征在于, 其中訪問所述服務(wù)中數(shù)據(jù)包括訪問對于所述服務(wù)管理者而言本地的數(shù)據(jù), 其中做出所述判定是根據(jù)所述對于所述服務(wù)管理者而言本地的數(shù)據(jù),以及 其中通知所述控制設(shè)備包括通知所述串行化邏輯。6.如權(quán)利要求5所述的方法,其特征在于, 其中訪問所述服務(wù)中數(shù)據(jù)包括訪問對于所述串行化邏輯而言本地的數(shù)據(jù), 其中做出所述判定是根據(jù)所述對于所述串行化邏輯而言本地的數(shù)據(jù),以及其中通知所述控制設(shè)備包括通知控制到所述服務(wù)端點(diǎn)設(shè)備的消息流動的消息傳遞者,其中所述消息傳遞者位于所述通信網(wǎng)絡(luò)中的處于所述串行化邏輯和所述服務(wù)端點(diǎn)設(shè)備之間的通信路徑中。7.如權(quán)利要求6所述的方法,其特征在于,所述消息傳遞者是負(fù)載平衡器。8.如權(quán)利要求6所述的方法,其特征在于, 其中訪問所述服務(wù)中數(shù)據(jù)包括訪問對于所述消息傳遞者而言本地的數(shù)據(jù), 其中做出所述判定是根據(jù)所述對于所述消息傳遞者而言本地的數(shù)據(jù),以及 當(dāng)所述判定是所述服務(wù)端點(diǎn)設(shè)備不是所述集合中唯一的服務(wù)中服務(wù)端點(diǎn)設(shè)備時(shí),控制所述消息傳遞者以使得所述服務(wù)端點(diǎn)設(shè)備退出服務(wù)。9.如權(quán)利要求8所述的方法,其特征在于,使得所述服務(wù)端點(diǎn)設(shè)備退出服務(wù)包括停止到所述服務(wù)端點(diǎn)設(shè)備的消息流動。10.如權(quán)利要求9所述的方法,其特征在于,所述消息傳遞者是位于所述通信網(wǎng)絡(luò)中的處于所述服務(wù)的用戶和所述服務(wù)端點(diǎn)設(shè)備之間的通信路徑上的負(fù)載平衡器。 當(dāng)所述判定是所述服務(wù)器不是所述集合中唯一的服務(wù)中服務(wù)器時(shí),向所述通信網(wǎng)絡(luò)中的所述負(fù)載平衡器提供所述退出服務(wù)請求;以及 當(dāng)所述判定是所述服務(wù)器是所述集合中唯一的服務(wù)中服務(wù)器時(shí),選擇性地用通知將所述退出服務(wù)請求提供回所述服務(wù)管理者并選擇性地更新所述通信網(wǎng)絡(luò)中一個或多個位置中的所述服務(wù)中數(shù)據(jù), 其中在自接收所述退出服務(wù)請求起少于15秒內(nèi),所述服務(wù)器被使得退出服務(wù)或所述服務(wù)管理者被提供所述通知。11.一種裝置,包括: 處理器; 存儲器; 邏輯集合,所述邏輯集合被配置成管理參與通過計(jì)算機(jī)網(wǎng)絡(luò)將服務(wù)作為功能集來提供的服務(wù)器集合中的成員資格,以及 連接所述處理器、所述存儲器和所述邏輯集合的接口, 所述邏輯集合包括: 被配置成提供用戶接口的第一邏輯,所述用戶接口被配置成提供服務(wù)器集合的服務(wù)中狀態(tài)的單個相干視圖; 被配置成提供請求監(jiān)視器的第二邏輯,所述請求監(jiān)視器被配置成當(dāng)對所述服務(wù)器集合中的目標(biāo)服務(wù)器的成員資格請求將破壞對所述功能集的訪問時(shí)選擇性地阻擋所述成員資格請求,以及 第三邏輯,所述第三邏輯被配置成提供針對所述用戶接口、所述請求監(jiān)視器、所述服務(wù)器集合的成員、所述目標(biāo)服務(wù)器以及控制到所述目標(biāo)服務(wù)器的消息流動的負(fù)載平衡設(shè)備的通信。12.如權(quán)利要求11所述的裝置,其特征在于,所述第一邏輯被配置成收集來自所述服務(wù)器集合以及所述計(jì)算機(jī)網(wǎng)絡(luò)的所選元素的狀態(tài)數(shù)據(jù)、接收所述成員資格請求以及提供對所述成員資格請求的響應(yīng)。13.如權(quán)利要求12所述的裝置,其特征在于,所述請求監(jiān)視器被配置成當(dāng)以下情況時(shí)阻止所述成員資格請求: 做出所述成員資格請求的實(shí)體所存儲的或?qū)λ鰧?shí)體而言本地的數(shù)據(jù)指示所述成員資格請求會破壞對所述服務(wù)的訪問, 所述用戶接口所存儲的或?qū)τ谒鲇脩艚涌诙员镜氐臄?shù)據(jù)指示所述成員資格請求會破壞對所述服務(wù)的訪問, 所述請求監(jiān)視器所存儲的或?qū)τ谒稣埱蟊O(jiān)視器而言本地的數(shù)據(jù)指示所述成員資格請求會破壞對所述服務(wù)的訪問,或 所述計(jì)算機(jī)網(wǎng)絡(luò)中的控制設(shè)備所存儲的或?qū)τ谒隹刂圃O(shè)備而言本地的數(shù)據(jù)指示所述成員資格請求會破壞對所述服務(wù)的訪問,其中所述控制設(shè)備控制到所述目標(biāo)服務(wù)器的消息流動, 其中所述實(shí)體所存儲的或?qū)τ谒鰧?shí)體而言本地的數(shù)據(jù)被首先考慮, 其中如果所述實(shí)體所存儲的或?qū)τ谒鰧?shí)體而言本地的數(shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問,則僅考慮所述用戶接口所存儲的或?qū)τ谒鲇脩艚涌诙员镜氐臄?shù)據(jù), 其中如果所述用戶接口所存儲的或?qū)τ谒鲇脩艚涌诙员镜氐臄?shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問,則僅考慮所述請求監(jiān)視器所存儲的或?qū)τ谒稣埱蟊O(jiān)視器而言本地的數(shù)據(jù),以及 其中如果所述請求監(jiān)視器所存儲的或?qū)τ谒稣埱蟊O(jiān)視器而言本地的數(shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問,則僅考慮所述控制設(shè)備所存儲的或?qū)τ谒隹刂圃O(shè)備而言本地的數(shù)據(jù)。14.如權(quán)利要求13所述的裝置,其特征在于,所述請求監(jiān)視器被配置成在以下情況時(shí)請求所述控制設(shè)備使得所述目標(biāo)服務(wù)器退出服務(wù): 做出所述成員資格請求的實(shí)體所存儲的或?qū)λ鰧?shí)體而言本地的數(shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問, 所述用戶接口所存儲的或?qū)τ谒鲇脩艚涌诙员镜氐臄?shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問, 所述請求監(jiān)視器所存儲的或?qū)τ谒稣埱蟊O(jiān)視器而言本地的數(shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問,以及 所述控制設(shè)備所存儲的或?qū)τ谒隹刂圃O(shè)備而言本地的數(shù)據(jù)指示所述成員資格請求不會破壞對所述服務(wù)的訪問,以及 其中使得所述目標(biāo)服務(wù)器退出服務(wù)將致使到所述目標(biāo)服務(wù)器的消息流動被停止。15.如權(quán)利要求14所述的裝置,其特征在于,包括第四邏輯,所述第四邏輯被配置成,響應(yīng)于被阻止的成員資格請求或響應(yīng)于使得服務(wù)器退出服務(wù),選擇性地更新做出所述成員資格請求的實(shí)體所存儲的或?qū)τ谒鰧?shí)體而言本地的數(shù)據(jù)、所述用戶接口所存儲的或?qū)τ谒鲇脩艚涌诙员镜氐臄?shù)據(jù)、所述請求監(jiān)視器所存儲的或?qū)τ谒稣埱蟊O(jiān)視器而言本地的數(shù)據(jù)或所述控制設(shè)備所存儲的或?qū)τ谒隹刂圃O(shè)備而言本地的數(shù)據(jù)。
【文檔編號】G06F9/50GK105830032SQ201480060844
【公開日】2016年8月3日
【申請日】2014年10月30日
【發(fā)明人】S·貝克, D·韋爾斯, K·梅爾-馬格魯?shù)? C·麥克丹尼爾斯, D·道森, G·林格, D·殷加斯
【申請人】微軟技術(shù)許可有限責(zé)任公司