亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于服務處理的系統(tǒng)、方法和計算機程序產品的制作方法

文檔序號:10574066閱讀:231來源:國知局
用于服務處理的系統(tǒng)、方法和計算機程序產品的制作方法
【專利摘要】一種用于確定網(wǎng)絡上的服務的可用性的系統(tǒng),包括:至少一個存儲器,所述存儲器可操作為存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息;以及耦合至所述存儲器的處理器。在所述網(wǎng)絡上檢測不可用節(jié)點。識別與所述不可用節(jié)點相對應的一個或多個服務?;谒龉?jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務。在所述至少一個存儲器上,更新指示所述不可用服務和節(jié)點的可用性的所述信息。所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。
【專利說明】
用于服務處理的系統(tǒng)、方法和計算機程序產品
技術領域
[0001]本發(fā)明涉及服務處理,更具體地涉及用于依據(jù)服務、過程、和組件的可用性來管理服務請求的系統(tǒng)、方法、和計算機程序產品。
【背景技術】
[0002]在網(wǎng)絡上的服務處理領域中,通常通過利用網(wǎng)絡上的多個不同節(jié)點(例如系統(tǒng)或實體)來執(zhí)行服務(和/或包括該服務的過程)。例如,在移動商務環(huán)境中,一個系統(tǒng)可以負責管理通信中的安全,而另一個系統(tǒng)可以負責生成諸如報價的內容。通過使用跨網(wǎng)絡的多個節(jié)點,各自提供不同的服務,通??赡芴峁┛缇W(wǎng)絡的穩(wěn)健的服務集合。
[0003]然而,由于有計劃或無計劃的情況,在網(wǎng)絡上可以發(fā)生服務中斷。例如,由于有計劃的停運或故障,網(wǎng)絡上的節(jié)點可以在一段時間內變得不可用。由此,與該節(jié)點相關聯(lián)(例如由該節(jié)點執(zhí)行或實施)的任何服務也將變得不可用。
[0004]因此,一個技術挑戰(zhàn)涉及在發(fā)生服務中斷的情況下保持可靠的處理。具體的,不同于立即拒絕每個服務請求(或將該請求視為失敗),期望的是至少試圖等待一段時間來查看是否能夠提供服務。同時,需要控制對請求的處理,使得在這樣的服務中斷期間或其后系統(tǒng)不會無法承受。
[0005]此外,常規(guī)系統(tǒng)可以簡單地指示節(jié)點關閉或開啟,而沒有考慮該節(jié)點的不可用性的后果。因此,另一個技術挑戰(zhàn)涉及提供較穩(wěn)健地考慮網(wǎng)絡上“不可用”的場境。

【發(fā)明內容】

[0006]通過提供用于依據(jù)服務和/或系統(tǒng)可用性來對服務請求進行響應的系統(tǒng)、方法、和計算機程序產品,本文所介紹的示例實施例解決了以上指出的需求。
[0007]—種用于確定網(wǎng)絡上的服務的可用性的系統(tǒng),包括:至少一個存儲器,所述存儲器可操作為存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息;以及耦合至所述存儲器的處理器。在所述網(wǎng)絡上檢測不可用節(jié)點。識別與所述不可用節(jié)點相對應的一個或多個服務?;谒龉?jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務。在所述至少一個存儲器上,更新指示所述不可用服務和節(jié)點的可用性的所述信息。所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。
[0008]在另一實施例中,一種用于確定網(wǎng)絡上的服務的可用性的方法,包括:存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息;在所述網(wǎng)絡上檢測不可用節(jié)點;識別與所述不可用節(jié)點相對應的一個或多個服務;基于所述節(jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務;以及更新指示所述不可用服務和節(jié)點的可用性的所述信息。所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。
[0009]在另一實施例中,一種其上存儲有指令的非暫時性計算機可讀存儲介質,所述指令在由包括至少一個處理器和至少一個存儲器的系統(tǒng)來執(zhí)行時使得所述系統(tǒng)執(zhí)行以下步驟:存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息;在所述網(wǎng)絡上檢測不可用節(jié)點;識別與所述不可用節(jié)點相對應的一個或多個服務;基于所述節(jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務;以及更新指示所述不可用服務和節(jié)點的可用性的所述信息。所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。
【附圖說明】
[0010]本發(fā)明的特征和優(yōu)點在結合以下附圖時根據(jù)以下闡述的【具體實施方式】將變得更加顯而易見。
[0011]圖1是根據(jù)示例性實施例的用于依據(jù)服務可用性來對服務請求進行排隊以及對其進tx響應的移動商務系統(tǒng)的不意圖;
[0012]圖2是根據(jù)示例性實施例的圖示用于依據(jù)服務可用性來對服務請求進行排隊以及對其進行響應的步驟的流程圖;
[0013]圖3是根據(jù)示例實施例的圖示用于對服務請求進行排隊以及對其進行響應的框架的不意圖;
[0014]圖4是根據(jù)示例實施例的圖示服務可用性服務的操作的示意圖;
[0015]圖5是根據(jù)示例實施例的圖示用于依據(jù)服務可用性來對服務請求進行排隊以及對其進行響應的示例架構的示意圖;
[0016]圖6是通用或專用計算機的框圖。
【具體實施方式】
[0017]本文所介紹的示例實施例針對用于依據(jù)服務和/或系統(tǒng)可用性來對服務請求進行排隊以及對其進行響應的系統(tǒng)、方法、和計算機程序產品,本文在示例移動商務環(huán)境方面對其進行描述。本說明并不意圖限制本文所介紹的示例實施例的應用。事實上,在閱讀以下描述后,對于相關領域的技術人員顯而易見的是,如何以諸如web服務或基于web媒體的環(huán)境等的替選實施例來實現(xiàn)以下示例實施例。
[0018]依據(jù)本文所述的實施例,傳入的對于過程的請求(或者包括過程集合的服務)被排隊,以及進行關于網(wǎng)絡上的一個或多個節(jié)點是否可用于執(zhí)行所請求的過程的確定。該確定基于:檢測不可用節(jié)點,以及確定由該不可用節(jié)點執(zhí)行的服務或依賴于該不可用節(jié)點的節(jié)點的服務。在一個或多個節(jié)點可用于執(zhí)行所請求的過程的情況下,將該請求從所述隊列調度走。另一方面,如果一個或多個節(jié)點不可用于執(zhí)行所請求的過程,則基于該過程的類型來設置該請求的期滿值。
[0019]下面參照圖1至圖6來對以上所討論的特征進行詳細描述。
[0020]術語“錢包客戶端”、“移動錢包應用”、“移動錢包”和/或這些術語的復數(shù)形式在本文被可互換地使用以指代在移動設備上所部署、存儲和/或運行的移動錢包應用。
[0021]如本文所使用的,“服務”是代碼的集合或子集,所述服務當被(例如在移動設備、服務器等中的)一個或多個處理器執(zhí)行時,使得所述處理器執(zhí)行特定任務。服務可以包括一個或多個過程。例如,錢包客戶端應用可以包括若干服務,諸如“激活錢包”或“個性化錢包”,所述若干服務中的每個可以由一個或多個過程組成。
[0022]如本文所使用的,“過程”是指令的集合,執(zhí)行所述集合以執(zhí)行服務所需的功能。例如,一個或多個過程可以包括服務所需的步驟,或者可以包括被提供作為服務的一部分的各個功能。在一些實例中,客戶端可以從與過程相關聯(lián)的服務單獨請求該過程。
[0023]如本文所使用的,網(wǎng)絡上的“節(jié)點”是連接到網(wǎng)絡的系統(tǒng)、計算機、移動設備或者其他實體。
[0024]如本文所使用的,根據(jù)某些實施例,“請求”也可以被稱作“消息”或“請求/消息”,所述請求被以消息的格式來處理。
[0025]圖1是根據(jù)示例性實施例的用于提供資源的可用性的系統(tǒng)100的示意圖。如圖1中所示,系統(tǒng)100包括:移動設備120-1、120-2、…、120-n(統(tǒng)稱為“120”或“移動設備120”);移動錢包提供者平臺130,其包括企業(yè)服務總線(ESB) 135;服務提供者140-1、140-2、...、140_n(統(tǒng)稱為“140”或“服務提供者140”);以及通信網(wǎng)絡150。
[0026]例如,移動設備120可以是蜂窩電話、平板計算機等。移動設備120-1、120-2、…、120-n中的每一個包括處理器、存儲器、以及諸如顯示屏的輸出顯示器。安全元件(SE)可以被包括在每個移動設備中,以及可以被實現(xiàn)為通用集成電路卡(UICC)、嵌入式SE卡、安全微型安全數(shù)字(microSD)卡等。安全元件也可以被實現(xiàn)在與其相關聯(lián)的移動設備外部。例如,安全元件可以被實現(xiàn)在基于云的、遠程或虛擬的存儲等中。
[0027]移動設備120-1、120-2、…、120-n包括或具有存儲在其上的錢包客戶端應用125-
1、125-2、…、125-n(統(tǒng)稱為“125”或“錢包客戶端應用125” ),其包括指令,所述指令當被對應的移動設備120的處理器執(zhí)行時,使得該移動設備充當例如用于處理非接觸交易的裝置。
[0028]可以通過移動錢包提供者平臺130來存儲和管理交易期間所使用的報價。移動錢包提供者平臺130可以是獨立平臺,或者可以是移動錢包系統(tǒng)和/或移動錢包架構的一部分。該移動錢包系統(tǒng)和/或移動錢包架構可以包括各種系統(tǒng),諸如ESB 135。
[0029]ESB 135管理服務提供者系統(tǒng)與移動設備之間的交互,以及授予服務提供者系統(tǒng)有效率且安全地與移動設備進行通信的能力以便例如建立(例如安裝)服務賬戶或傳輸消息,而無需服務提供者與每個移動設備直接通信。在示例實施例中,ESB 135是被實現(xiàn)為充當服務提供者140-1、140-2、…、140-n(統(tǒng)稱為“140”)與移動設備120之間的媒介的硬件和/或軟件。ESB 101經由通信網(wǎng)絡150被通信地耦合到服務提供者140。
[0030]移動錢包提供者平臺130通過通信網(wǎng)絡150被通信地耦合到服務提供者140。諸如服務提供者140-1的服務提供者是由合作方和/或商戶(例如公司、零售商、銀行)管理的系統(tǒng)、平臺、計算機架構等。在一個示例中,服務提供者可以向移動設備120提供報價。
[0031]圖2是根據(jù)示例性實施例的圖示用于依據(jù)服務可用性來對服務請求進行排隊和對其進行響應的步驟的流程圖。在此方面,盡管圖2—般涉及對于特定服務的服務請求,但是應當理解,請求也可以針對與一個或多個服務相關聯(lián)的特定的一個或多個過程。
[0032]在步驟201中,接收請求以實施或執(zhí)行服務和/或與該服務相關聯(lián)的過程。具體的,客戶端(例如移動設備120-1)經由ESB 135來請求服務。例如,該客戶端可以提交激活錢包客戶端應用125-1的請求。
[0033]在步驟202中,該請求與該客戶端的其他請求一起被排隊。如以下所更充分地描述的,通過將請求存儲在隊列中,通常有可能通過以下方式來提供流控制:保持該請求并且在適當時候處理該請求,或者通過如果在預定時間段之后所請求的服務仍不可用,則允許所述請求期滿。
[0034]在步驟203中,基于所請求的服務的可用性來進行關于是否使該請求期滿或者對其進行調度的確定。具體的,通過與網(wǎng)絡上的節(jié)點(例如系統(tǒng)、實體等)進行通信,能夠檢測網(wǎng)絡上的節(jié)點的可用性或者不可用性,以及能夠基于節(jié)點的不可用性來確定一個或多個不可用服務。此外,由于某些服務之間的依賴,所述一個或多個不可用服務可以是由不可用節(jié)點執(zhí)行的任何服務以及由依賴于該不可用節(jié)點的其他節(jié)點執(zhí)行的任何服務。如以下參照圖5所更充分地描述的,與每個節(jié)點進行的通信可以是確定節(jié)點自身可用或不可用的“健康檢查”通信,或者是提供與可用服務或可用過程相關的更具體信息的服務監(jiān)控通信。如果所請求的服務在預定時間段中不可用,則可以確定使該請求期滿,通知用戶,并且結束該過程。另一方面,如果服務可用,則將請求調度到調用所請求的過程的代理(proxy)服務。
[0035]進而,在步驟204中,通過調用和/或執(zhí)行所述一個或多個所請求的過程來執(zhí)行該服務,并且由該過程生成響應。
[0036]在步驟205中,從該過程接收該響應,以及將該響應放入步驟206中的響應隊列內。與請求隊列一樣,響應隊列允許對存儲和轉發(fā)響應的更精細調節(jié)的流控制。
[0037]在步驟207中,該響應被調度到進行請求的客戶端。
[0038]圖3是根據(jù)示例實施例的用于解釋用于對服務和過程請求進行排隊以及對其進行響應的框架300的視圖。在一個實施例中,在圖1中所示的ESB 135中實現(xiàn)該框架。
[0039]簡單來說,如圖3中所示,請求和響應隊列被用于存儲來自客戶端301的請求以及對其的響應。對于過程(或包含過程集合的服務)接收請求,以及將該請求存儲在請求隊列中。對于每個類型的服務和/或過程存在相應的請求隊列。
[0040]進行關于網(wǎng)絡上的一個或多個節(jié)點是否可用于執(zhí)行所請求的服務和/或過程的確定。在一個示例實施例中,該確定基于在入站請求調度器308中的服務可用性服務308-a。具體的,服務可用性服務308-a存儲與網(wǎng)絡上的服務的可用性相關的信息,檢測網(wǎng)絡上的節(jié)點的不可用性,以及基于該節(jié)點的不可用性來確定一個或多個不可用服務。所述一個或多個不可用服務是由該不可用節(jié)點執(zhí)行的任何服務以及由依賴于該不可用節(jié)點的其他節(jié)點執(zhí)行的任何服務。節(jié)點可以因為例如其處于關閉狀態(tài)而不可用,或者當該節(jié)點不具有處理一個或多個傳入請求的容量時即使其處于開啟狀態(tài)仍可以不可用(例如因為超出容量限制而不可用)。這樣的確定可以發(fā)生在使用服務可用性服務308-a的調度處理期間。
[0041]在網(wǎng)絡上的一個或多個節(jié)點不可用于執(zhí)行所請求的過程的情況下,基于所請求的過程的類型來設置該請求的期滿時間。另一方面,在網(wǎng)絡上的一個或多個節(jié)點可用于執(zhí)行所請求的過程的情況下,將該請求調度到網(wǎng)絡上的一個或多個節(jié)點以在預定定時執(zhí)行所請求的過程。從所述一個或多個節(jié)點接收響應以及將該響應存儲在響應隊列中。從該響應隊列中調度該響應。
[0042]回到圖3,客戶端301可以對應于駐留在移動設備(例如移動設備120-1)上的錢包客戶端應用(例如錢包客戶端應用125-1),或者可以對應于另一客戶端應用。
[0043]入站請求攔截器302是實現(xiàn)Web服務描述語言(WSDL)接口的硬件和/或軟件,以及接受來自客戶端301的過程/服務請求。因此,客戶端301可以請求服務或者具體過程。入站請求攔截器302將請求傳送到請求策略服務303以確定請求期滿值和目的地過程請求隊列。入站請求攔截器302將該請求變換為Java消息服務(JMS)消息,(通過調用請求策略服務303)設置消息上的期滿值和客戶端ID,以及將該過程請求/消息發(fā)布到請求過程隊列304。即,入站請求攔截器302用期滿值和客戶端ID來修改該請求。如圖3中所示,在一些情況下,(例如在請求策略服務303中的)策略配置可以規(guī)定,立即將請求從入站請求攔截器302調度到代理服務309,從而繞開隊列。
[0044]請求策略服務303是提供用于確定對于給定客戶端和過程/服務的類型的請求期滿值的服務接口和實現(xiàn)的硬件和/或軟件??紤]到請求包含過程類型和客戶端ID,請求策略服務303返回請求期滿值和目的地過程請求隊列。請求期滿值限定在過程不可用的場景中保持該請求的時間。因此,期滿值指示,例如在用于該類型的過程的節(jié)點不可用之后對于該類型的過程的請求將被排隊的時長。不同的期滿值能夠與不同的客戶端相關聯(lián)。在一個示例實施例中,客戶端(例如客戶端301)可以輸入排隊和期滿參數(shù),諸如在例如建立或激活服務、過程、或節(jié)點期間的期滿值。在一個示例中,請求策略服務303可以在表中存儲策略,所述策略包括對于每個客戶端ID的期滿值(例如30分鐘)、服務狀況(例如如果先前已經獲得了這樣的信息則開啟或關閉)、以及隊列狀況(例如開啟或關閉)。如上面所提到的,請求策略服務303也可以規(guī)定立即將某些請求調度到代理服務309,從而繞開隊列。例如,請求策略服務303可以被配置為當用于該類型的請求的對應隊列關閉時立即對請求進行調度。
[0045]請求過程隊列304是例如提供過程/服務的請求/消息的持久存儲的硬件和/或軟件JMS隊列或其他隊列資源。每種類型的過程可以具有專用請求過程隊列304,或者說多個客戶端可以共享對于給定過程類型的共同請求過程隊列304。請求過程隊列304負責將已期滿的消息移到請求期滿隊列305。
[0046]請求期滿隊列305是另一個硬件和/或軟件隊列,例如提供已經期滿的過程請求/消息的持久存儲的JMS隊列或其他隊列資源。每個請求過程隊列304都具有其自己的請求期滿隊列305。
[0047]期滿調度器306是負責消費和處理已期滿的過程請求/消息的硬件和/或軟件。具體的,期滿調度器306負責對于請求(使用已期滿的消息)創(chuàng)建合適的響應并且將該響應路由至響應隊列集合312a、312b、…、312c(以下稱為“響應隊列集合312”)中的合適的隊列。在一個示例實施例中,基于與已期滿的過程請求/消息相關聯(lián)的客戶端ID來進行路由。盡管未示出,可以存在與每個請求期滿隊列305相關聯(lián)的(專用于該過程類型的)期滿調度器306。
[0048]調度控制器307是負責管理消息調度器例如入站請求調度器308的消費/處理的活動狀態(tài)和流速率的硬件和/或軟件。具體的,調度控制器307可以提供:活動狀態(tài)管理,例如將入站請求調度器308配置為開啟或關閉;以及流控制,例如配置入站請求調度器308的消費處理速率(諸如每分鐘特定數(shù)目的請求);或者這兩者。調度控制器307可以自動或手動操作。如能夠在圖3中看到的,調度控制器313和調度控制器315被分別連接到響應調度器314和響應調度器316,并且能夠提供與以上所討論的那些相似的服務。
[0049]在一個示例中,能夠使用工作管理器(未示出)來將流控制實現(xiàn)為與調度控制器相關聯(lián)的硬件和/或軟件,所述調度控制器結合經由例如Java調出被應用到調用請求的“等待”策略將與該調度控制器相關聯(lián)的并發(fā)線程的數(shù)目限制到最大數(shù)目。因此,在一個實施例中,通過限制從請求隊列調度的請求的數(shù)目來實現(xiàn)流控制。例如,依據(jù)已經從請求隊列調度的先前請求的數(shù)目來限制從請求隊列調度的請求的數(shù)目。在另一示例中,在與網(wǎng)絡上的請求相關聯(lián)的一個或多個節(jié)點不可用之后的預定量時間內限制從請求隊列調度的請求的數(shù)目。
[0050]入站請求調度器308是負責消費和執(zhí)行過程請求/消息的硬件和/或軟件。入站請求調度器308能夠處于開啟狀態(tài)或關閉狀態(tài)。在開啟狀態(tài)下,消息被消費、處理以及被遞送到網(wǎng)絡上的相關過程組件(以例如用于通過web服務指定過程內的動作的業(yè)務流程執(zhí)行語言(BPEL)標準可執(zhí)行語言來遞送)。在關閉狀態(tài)下,消息消費被禁用。入站請求調度器308可以與至少一個手動調度控制器307以及零個或多個自動調度控制器307相關聯(lián)。
[0051]服務可用性服務308-a是用于存儲與網(wǎng)絡上的服務的可用性相關的信息、檢測網(wǎng)絡上的節(jié)點的不可用性、以及基于節(jié)點的不可用性來確定一個或多個不可用服務的硬件和/或軟件。所述一個或多個不可用服務包括由不可用節(jié)點執(zhí)行的任何服務和由依賴于該不可用節(jié)點的其他節(jié)點執(zhí)行的任何服務。以下將參照圖4和圖5來更充分地描述服務可用性服務308-a。
[0052]代理服務309是用于充當用于每個服務和服務可用性服務308-a的代理的硬件和/或軟件,并且具體地說,用以提供不同過程和服務的服務可用性服務308-a的視圖,以及用以允許入站請求調度器308調用服務和/或相關聯(lián)的過程(例如過程310)。
[0053]過程310是表示由網(wǎng)絡上的一個或多個節(jié)點執(zhí)行的現(xiàn)有過程(例如BPEL過程)的硬件和/或軟件。過程310接收例如客戶端301的字母數(shù)字的客戶端標識(客戶端ID),以及在應答時將該客戶端ID與過程響應一起返回。例如,客戶端ID可以是被添加到跨BPEL過程傳播的現(xiàn)有消息報頭值的新元素。
[0054]出站請求攔截器311是實現(xiàn)與過程響應相關聯(lián)的回調接口的硬件和/或軟件。出站請求攔截器311通過傳遞客戶端ID來調用響應策略服務317,以及從響應策略服務317接收響應隊列目的地(例如響應隊列集合312中的響應隊列312a)。出站請求攔截器311將響應發(fā)布到目的地響應隊列。如圖3中所示,在一些情況下可以立即將響應從出站請求攔截器311調度到回調服務318,從而繞開隊列(例如基于用于該類型的響應的策略配置)。
[0055]響應隊列集合312是硬件和/或軟件隊列,例如提供過程響應消息的持久存儲的JMS隊列或其他隊列資源。起初,響應隊列集合將由所有符合條件的過程共享。即,隊列(例如響應隊列312a)將包含與所有過程類型相關聯(lián)的響應消息。例如,諸如錢包激活和建立服務賬戶的服務會將響應發(fā)布到相同隊列。然而,在響應隊列集合312內,每個客戶端可以具有專用(分布式)隊列。
[0056]響應調度器314和響應調度器316是負責消費和執(zhí)行過程響應消息的硬件和/或軟件。響應調度器314和響應調度器316處于(或者可以處于)開啟狀態(tài)或者關閉狀態(tài)。在開啟狀態(tài)下,消息被消費、處理以及被遞送到客戶端301。在關閉狀態(tài)下,消息消費被禁用。例如,當客戶端301由于有計劃或無計劃的停運而不可用,或者由于業(yè)務原因已經禁用了與客戶端301的交互時,響應調度器(例如響應調度器314)可以進入關閉狀態(tài)。響應調度器314和響應調度器316可以與至少一個手動調度控制器以及零個或多個自動調度控制器相關聯(lián)。
[0057]響應策略服務317是用于提供用于確定給定客戶端ID的響應隊列目的地的服務接口和實現(xiàn)的硬件和/或軟件??紤]到請求包含過程類型和客戶端ID,響應策略服務317返回響應隊列目的地(例如響應隊列集合312中的響應隊列312a)。在一個示例中,響應策略服務317可以在表中存儲策略,所述策略包括對于每個客戶端ID的期滿值(例如30分鐘)、和隊列狀況(例如開啟或關閉)。因此,在一些情況下,基于客戶端301不可達的假設,響應消息可以從響應隊列集合312期滿,盡管可以將其處理為沒有信道響應(例如使用電子郵件)。
[0058]回調服務318是用于將響應傳輸?shù)娇蛻舳?01的硬件和/或軟件。在此方面,在客戶端301對應于錢包客戶端應用(例如錢包客戶端應用125-1)的情況下,回調服務318可以是與該錢包客戶端應用相關聯(lián)的錢包服務器的代理。
[0059]將對圖3中所示的使用該系統(tǒng)來處理的示例場景進行描述。
[0060](I)完全可用性
[0061]在圖3中的組件可用(例如客戶端301和所需的過程310正在運行)的場景下,充當服務消費者的客戶端301將異步請求提交到與具體過程類型相關聯(lián)的入站代理服務(未示出)。例如,客戶端301可以提交對于與錢包客戶端應用125-1相關聯(lián)的服務或過程“激活錢包”的請求。與客戶端301相對應的客戶端ID被包括在該請求和/或消息報頭中,或者被包括在這兩者中,或者由該請求的接收方來添加該客戶端ID。
[0062]入站請求攔截器302使用過程類型和客戶端ID來調用請求策略服務303以獲得期滿值。
[0063]進而,入站請求攔截器302通過將客戶端ID和期滿值添加為JMS報頭來修改請求/消息,以及將該請求/消息路由至請求過程隊列304。
[0064]入站請求調度器308被配置為開啟并且進而消費該請求/消息。入站請求調度器308提取客戶端ID、填入消息報頭、以及將請求/消息變換為由對應的過程310限定的請求。
[0065]過程310接收和處理該請求,并且將響應發(fā)送到出站響應攔截器311。該響應包括客戶端ID。
[0066]出站響應攔截器311使用過程類型和客戶端ID來調用響應策略服務317以獲得響應隊列集合312中的具體客戶端隊列。出站響應攔截器311將請求變換為消息并且將其發(fā)布到指定客戶端隊列(例如客戶端隊列312a)。
[0067]進而,與客戶端隊列(例如響應調度器316)相關聯(lián)的響應調度器消費響應消息。基于響應類型,響應調度器將響應路由至用于回調服務318中的服務類型的響應處理機,該響應處理機將響應返回到客戶端301。
[0068](2)過程不可用
[0069]在此場景下,例如,由于有計劃或無計劃的停運或由于過程依賴的服務的不可用性,一個或多個過程310為不可用。由服務可用性服務308-a來進行與服務的不可用性相關的確定,并且參照圖4和圖5在以下進行更充分的描述。
[0070]在此場景下,充當服務消費者的客戶端301將異步請求提交到與具體過程類型相關聯(lián)的入站代理服務(未示出)。例如,客戶端301可以提交對于與錢包客戶端應用125-1相關聯(lián)的過程或服務“激活錢包”的請求。與客戶端301相對應的客戶端ID被包括在該請求和/或消息報頭中,或者被包括在這兩者中,或者由該請求的接收方來添加該客戶端ID。
[0071]入站請求攔截器302使用過程類型和客戶端ID來調用請求策略服務303以獲得期滿值。
[0072]入站請求攔截器302通過將客戶端ID和期滿值添加為JMS報頭來修改請求/消息,以及將該請求/消息路由至請求過程隊列304。
[0073]在此場景下,由于如服務可用性服務308-a所確定的一個或多個過程310的不可用性,入站請求調度器308被配置為關閉,并且所述請求/消息保持在請求過程隊列304上。
[0074]如果入站請求調度器308轉變?yōu)殚_啟(由于服務變?yōu)榭捎?,過程如上面所討論的完全可用性場景中那樣進行。因此,進而,入站請求調度器308消費所述請求/消息。入站請求調度器308提取客戶端ID、填入消息報頭、以及將請求/消息變換為由對應的過程310限定的請求。過程310接收該請求,處理響應并將該響應發(fā)送到出站響應攔截器311。該響應包括客戶端ID。出站響應攔截器311使用過程類型和客戶端ID來調用響應策略服務317以獲得響應隊列集合312中的具體客戶端隊列。進而,出站響應攔截器311將請求變換為消息并且將其發(fā)布到指定客戶端隊列(例如客戶端隊列312a)。與客戶端隊列(例如響應調度器316)相關聯(lián)的響應調度器消費響應消息。基于響應類型,響應調度器將響應路由至用于回調服務318中的服務類型的響應處理機,該響應處理機將響應返回到客戶端301。
[0075]另一方面,如果基于請求策略服務303中所限定的期滿,消息在未經處理的情況下期滿,則將該消息移到請求期滿隊列305。進而,期滿調度器306消費該請求/消息,以及創(chuàng)建針對期滿條件的有效服務響應。期滿調度器306使用客戶端ID來將服務響應消息發(fā)布到響應隊列集合312中的客戶端隊列。將基于與客戶端隊列相關聯(lián)的響應調度器(例如響應調度器314)的操作狀況來處理所述服務響應消息。
[0076](3)客戶端不可用
[0077]在此示例實施例中,客戶端301不可用于接收響應回調。這可以由于客戶端301上的有計劃或無計劃的停運。
[0078]此場景從完成將響應消息排隊到響應隊列集合312內的客戶端隊列開始。這能夠發(fā)生在以上所描述的完全可用性場景或過程不可用場景這兩者下。
[0079]響應于客戶端301的不可用性,與客戶端隊列相關聯(lián)的響應調度器(例如響應調度器316)被設置為關閉狀態(tài)。在響應調度器316關閉時,響應消息保持在響應隊列集合312中的隊列中。
[0080]如果響應調度器316轉變?yōu)殚_啟狀態(tài),則該消息被消費并且嘗試向客戶端301遞送該消息。即,該消息被正常遞送或在遞送失敗時,服從于被配置在客戶端隊列(例如隊列312a)上的重試策略。典型的重試策略能夠要求若干次重試將消息最終推送至死信目的地。在一個示例中,遞送失敗可能中止正常重試策略行為并且將響應調度器316轉變?yōu)殛P閉狀
??τ O
[0081 ] (4)不可用到可用
[0082]在此示例實施例中,過程不可用場景或客戶端不可用場景涉及從不可用轉變?yōu)榭捎谩?br>[0083]此場景從通過入站請求調度器308或與客戶端隊列相關聯(lián)的響應調度器(例如響應調度器316)發(fā)起消息處理開始。在此場景下,如上文所討論的,消息處理速率受與所述調度器相關聯(lián)的調度控制器(例如與入站請求調度器308相關聯(lián)的調度控制器307、與響應調度器316相關聯(lián)的調度控制器315)限制。調度控制器提供流速率策略執(zhí)行以防止消息接收系統(tǒng)飽和。
[0084]圖4是根據(jù)示例實施例的圖示服務可用性服務308-a的操作的示意圖。在一個實施例中,在圖1所示的ESB 135中實現(xiàn)服務可用性服務308-a。
[0085]如上文所提到的,服務可用性服務308-a可以是硬件和/或軟件,所述硬件和/或軟件除其他以外用于存儲與網(wǎng)絡上的服務的可用性相關的信息、檢測網(wǎng)絡上的節(jié)點的不可用性、以及基于所述節(jié)點的不可用性來確定一個或多個不可用服務。所述一個或多個不可用服務可以包括由所述不可用節(jié)點執(zhí)行的任何服務以及由依賴于所述不可用節(jié)點的其他節(jié)點執(zhí)行的任何服務。所存儲的信息被更新以反映所述一個或多個不可用服務。
[0086]更具體的,服務可用性服務308-a負責維護狀態(tài),例如系統(tǒng)100中的系統(tǒng)和元件(包括框架300中的那些系統(tǒng)和元件)和過程的操作狀況。服務可用性服務308-a提供用于更新服務和/或過程的操作狀況的接口,并且在系統(tǒng)100上的其他元件處的監(jiān)控代理(agent)可以使用該接口。響應于系統(tǒng)更新、有計劃或無計劃的停運、或者服務的不可用性的其他變化,服務可用性服務308-a負責確定哪些過程會受影響或者哪些客戶端系統(tǒng)受影響。
[0087]進而,服務可用性服務308-a將通知發(fā)布到控制器通知代理(未示出),所述控制器通知代理指示過程或客戶端系統(tǒng)的操作狀況的變化??刂破魍ㄖ硎秦撠熃邮蘸捅O(jiān)控由服務可用性服務308-a發(fā)布的系統(tǒng)和/或過程的狀態(tài)變化事件的硬件和/或軟件。響應于該事件,所述控制器通知代理負責將一個或多個調度控制器(例如調度控制器307)的狀態(tài)更新為開啟或關閉。因此,控制器通知代理能夠是調度控制器的子組件和/或相關組件。
[0088]服務可用性服務308-a更新服務可用性服務持久存儲308-b(SAS持久存儲308-b)以維護與系統(tǒng)、依賴過程和客戶端系統(tǒng)相關聯(lián)的操作狀況狀態(tài)。因此,在一個方面,SAS持久存儲308-b包括與網(wǎng)絡上的服務的可用性相關的所存儲的信息。在一個實施例中,服務可用性服務308-a可以直接響應于來自錢包客戶端應用的請求來提供SAS持久存儲308-b中的信息。
[0089]依賴性映射308-c是存儲過程和/或服務及其相依系統(tǒng)的列表的硬件和/或軟件,諸如數(shù)據(jù)庫。服務可用性服務308-a參考依賴性映射308-c以確定:哪些過程和/或服務受到網(wǎng)絡上的節(jié)點/系統(tǒng)(例如可信服務管理(TSM)系統(tǒng))的不可用性的影響,以及哪些過程或服務受到由第一停運所影響的那些系統(tǒng)的不可用性的影響。換一種說法,依賴性映射308-c允許服務可用性服務308-a來查看如何將系統(tǒng)、過程和服務互連,使得也能夠將一個節(jié)點處的停運或不可用性適當?shù)貍鞑ブ烈蕾囉谠摬豢捎霉?jié)點的那些節(jié)點(并且由此其自身也不可用)。因此,服務可用性服務308-a能夠使用依賴性映射308-c來確定:一個或多個不可用服務或者由不可用節(jié)點執(zhí)行的任何服務、以及由依賴于該不可用節(jié)點的其他節(jié)點所執(zhí)行的任何服務。因此,依賴性映射308-c包括依賴性規(guī)則,服務可用性服務308-a能夠應用所述依賴性規(guī)則來確定哪些服務是由依賴于不可用節(jié)點的其他節(jié)點來執(zhí)行的。
[0090]依賴性映射308-c也可以被用于確定服務是否能夠由其他節(jié)點來執(zhí)行。特別的,一個以上的節(jié)點可能提供所請求的服務或過程。因此,對于這樣的服務或過程,一個節(jié)點處的失敗或不可用性對所述服務或過程的執(zhí)行可能不會有致命影響。因此,在一個實施例中,月艮務可用性服務308-a能夠應用依賴性映射308-c中的依賴性規(guī)則來確定包括服務的一個或多個過程是否能夠由網(wǎng)絡上的其他節(jié)點來執(zhí)行。在這樣的實施例中,即在網(wǎng)絡上的其他節(jié)點能夠執(zhí)行不可用節(jié)點的服務的情況下,服務可用性服務308-a改變SAS持久存儲308-b中的信息以反映此情況。
[0091]服務可用性服務門戶(SAS門戶)308-d經由企業(yè)總線540向服務提供者140、內部系統(tǒng)560、和企業(yè)管理器550提供接口。例如,SAS門戶308_d提供查詢接口,所述查詢接口允許系統(tǒng)組件、服務提供者、客戶端等具有獲得過程的操作狀況的能力。在這方面,這些參與方/元件中的每個被提供有SAS門戶308-d的受控視圖,該SAS門戶308-d提供手動覆寫控制、有計劃的停運控制等。例如,服務提供者140-1可以使用SAS門戶308-d來利用相關聯(lián)的服務向服務可用性服務308-a通知即將到來的有計劃停運。SAS門戶308-d可以依據(jù)這樣的信息,使用諸如setSystemStatus( SystemIdentif ier,ON/OFF)的函數(shù),利用服務標識符將相關聯(lián)的服務的狀況設置為開啟或關閉;或者可以利用函數(shù)g e t S e r V i c e S t a t u s(ServiceIdentifier)來檢索服務提供者140、內部系統(tǒng)560、以及企業(yè)管理器550的服務狀況。
[0092]如上面所討論的,調度控制器(例如調度控制器307)維護例如消息調度器(例如入站請求調度器308)上的開啟或關閉的操作狀態(tài)。在此方面,可以使用“拉”模式或“推”模式來實現(xiàn)調度控制器。在拉模式下,請求被消費以及調度控制器查詢過程或客戶端系統(tǒng)的狀況以確定其操作狀況。如果不可用,則對應的請求被排隊。拉模式需要該服務可用性服務308-a在運行。在推模式中,經由控制器通知代理將調度控制器配置為開啟或關閉的狀態(tài)。在關閉狀態(tài)下,不消費來自隊列的消息。
[0093]如上面關于圖1也提到的,服務提供者140是由合作方和/或商戶(例如公司、零售商、銀行)管理的系統(tǒng)、平臺、計算機架構等,其向移動設備120提供服務,諸如與移動設備120上的錢包客戶端應用上的忠誠度計劃和報價相對應的服務。再參照圖4,對于與Serviceldentifier相對應的服務,服務提供者140可以通過經由服務可用性服務代理(SAS代理)541調用函數(shù)getServiceStatus( Service Identifier)來請求服務的狀況(例如可用、不可用)。
[0094]內部系統(tǒng)560包括除移動設備和服務提供者外的移動商務系統(tǒng)內部的元件,例如移動錢包提供者平臺130的元件。內部系統(tǒng)560可以通過調用函數(shù)“getServiceStatus(Service Identifier)”來確定與服務相關聯(lián)的網(wǎng)絡上的一個或多個系統(tǒng)的可用性,所述函數(shù)通過企業(yè)總線540,并且尤其通過服務可用性任務(SAS任務)542,來從服務可用性服務308-a請求與ServiceIdentifier相關聯(lián)的系統(tǒng)的狀況(例如可用性)。對于與ServiceIdentifier相對應的服務,內部系統(tǒng)560也可以通過經由服務可用性服務代理(SAS代理)541調用函數(shù)getServiceStatus( Service Identifier)來請求服務的狀況(例如可用、不可用)。
[0095]企業(yè)管理器550是負責監(jiān)控圖4中所示的服務可用性生態(tài)系統(tǒng)內的系統(tǒng)(合作方、外部提供者、內部提供者)的硬件和/或軟件。為此,企業(yè)管理器5 50調用函數(shù)“getSystemStatus(Serviceldentif ier)”,其以與內部系統(tǒng)560相同的方式來請求系統(tǒng)的狀況(例如可用性)。企業(yè)管理器550也負責使用“setSystemStatus”函數(shù)來向服務可用性服務308-a登記從所監(jiān)控的系統(tǒng)接收到的系統(tǒng)狀況事件(例如在線、離線)。
[0096]企業(yè)總線540是向服務可用性服務308-a提供具有不同視圖/特征的代理服務的硬件和/或軟件。例如,企業(yè)總線540包括:SAS代理541,其用于接收和處理GetServiceStatus請求;SAS任務542,其用于接收和處理GetSystemStatus請求;以及服務可用性服務事件代理(SAS事件代理)543,其用于接收和發(fā)布對來自服務可用性服務308-a的以上請求的響應。例如,SAS事件代理543可以將所述響應發(fā)布到JMS隊列520 AAS任務542也可以被用于使用由例如企業(yè)管理器550調用的setSystemStatus函數(shù)來將系統(tǒng)的狀況設置為開啟或關閉。如以下關于圖5所更充分描述的,企業(yè)總線540也充當用于某些服務的“健康檢查”工具的托管目標。
[0097]圖5是根據(jù)示例實施例的用于依據(jù)服務可用性來對服務請求進行排隊以及對其進行響應的示例架構的示意圖。
[0098]如圖5中所示,移動錢包提供者平臺130包括:服務可用性服務308-a、企業(yè)管理器550、企業(yè)總線540(包括:SAS代理541—此處也稱為“健康檢查工具”、SAS任務542以及SAS事件代理543)、以及內部系統(tǒng)560。在圖5中將SAS持久存儲308-b示出為在移動錢包提供者平臺130的外部,但是在其他實施例中所述SAS持久存儲308-b也可以在移動錢包提供者平臺130的內部。出于簡潔的目的,此處將不再重復上文已經討論過的那些元件的方面。在此方面,在一個實施例中,除內部系統(tǒng)560外的圖5的這些元件,可以具體位于ESB 135內。
[0099]發(fā)行者501-1、501-2、...、501-η(此后稱作“發(fā)行者501”)包括賬戶發(fā)放實體,諸如商戶、卡組織、銀行、營銷公司、以及交通機構。這些賬戶可以被綁定和/或關聯(lián)至移動設備120上的應用,諸如錢包客戶端應用125。
[0100]移動網(wǎng)絡運營商510-1、510-2、…、510-η(此后稱作“ΜΝ0 510”)使用諸如移動電話蜂窩網(wǎng)絡、無線電網(wǎng)絡等的移動網(wǎng)絡(例如圖1中的通信網(wǎng)絡150內的那些網(wǎng)絡)來向移動設備(例如圖1中的移動設備120)提供無線通信服務。每個MNO可以控制跨移動網(wǎng)絡的數(shù)據(jù)的訪問和限制。
[0101]TSM 141是可以通過向移動設備配備諸如與服務提供者相關聯(lián)的非接觸小應用的小應用來為MNO和賬戶發(fā)放服務提供者服務的硬件和/或軟件系統(tǒng)。操作管理器(0Μ)144是外部服務提供者,其包括用于向網(wǎng)絡上的客戶端配備諸如客戶服務145的客戶服務的硬件和/或軟件系統(tǒng)。
[0102]圖5也描繪了內部系統(tǒng)560的附加方面。具體的,錢包服務器561管理與錢包客戶端應用125的通信、跟蹤錢包客戶端應用125的狀態(tài)(例如通過將錢包客戶端應用125的狀態(tài)存儲在錢包數(shù)據(jù)庫中來跟蹤),以及提供用于與其他計算機系統(tǒng)通信的接口。移動商務平臺(MoCom)564是負責管理包括忠誠度賬戶和報價的消費者數(shù)據(jù)的硬件和/或軟件系統(tǒng)。此外,MoCom 564充當報價的活動管理器,所述活動管理器提供經由錢包客戶端應用125內的可用商戶門戶使得對消費者可用的報價的遠程數(shù)據(jù)存儲。照管門戶567是管理諸如錢包事件歷史、消費者簡檔等的與錢包客戶端應用125相關聯(lián)的信息的硬件和/或軟件系統(tǒng)。
[0103]圖5也描繪了“健康檢查工具(HealthCheck Utility)”(此后稱作“健康檢查工具”)和“服務監(jiān)控器(Service Monitor)”(此后稱為“服務監(jiān)控器”)的各種實例。具體地,發(fā)行者501-1包括健康檢查工具502-1和服務監(jiān)控器503-1,發(fā)行者501-n包括健康檢查工具502-n和服務監(jiān)控器503-n,移動網(wǎng)絡運營商(MN0)510-1包括健康檢查工具511-1和服務監(jiān)控器512-1,ΜΝ0 510-2包括健康檢查工具511-2和服務監(jiān)控器512-2,ΜΝ0 510_n包括健康檢查工具511-n和服務監(jiān)控器512-n,TSM 141包括健康檢查工具142和服務監(jiān)控器143,錢包服務器561包括服務監(jiān)控器563,移動商務平臺(MoCom)564包括服務監(jiān)控器566,以及顧客照管門戶(照管門戶)567包括服務監(jiān)控器569。
[0104]在此方面,每個健康檢查工具與服務相對應,所述服務提供用于例如服務提供者140-1、發(fā)行者501的系統(tǒng),以及不由企業(yè)管理器550直接監(jiān)控的其他系統(tǒng)或實體的輕量“監(jiān)控點”。具體的,每個健康檢查工具可以披露與對應系統(tǒng)的總體可用性相關的信息,例如返回“可用”或“不可用”狀態(tài)指示(或者開啟或關閉)。在一個示例實施例中,例如,可以將每個健康檢查工具實現(xiàn)為“ping”工具,所述“ping”工具將分組發(fā)送至目標并且之后等待響應。由于此信息較小,每個系統(tǒng)上的負擔是輕量的。如圖5所示,每個健康檢查工具經由移動錢包提供者平臺130,并且特別經由ESB 135,來向系統(tǒng)的其他元件披露此信息。此外,由于錢包服務器561、MoCom 564和照管門戶567受企業(yè)管理器550監(jiān)控,這些兀件分別包括企業(yè)管理器代理562、企業(yè)管理器代理565和企業(yè)管理器代理569,其用于傳送與由相應的健康檢查工具向企業(yè)管理器550提供的信息類似的信息。
[0105]另一方面,每個服務監(jiān)控器提供更具體的可用性信息。具體的,每個服務監(jiān)控器披露關于特定過程和/或服務的信息,例如:它們當前的和有計劃的可用性或不可用性、它們當前的容量和/或負載、所估計的等待時間等。因此,服務監(jiān)控器比健康檢查工具更為詳細。由此,能夠進行更細粒度(f ine-grained)的可用性的確定。例如,如上面所提到的,例如當節(jié)點由于其超出了容量限制而不具有處理一個多個傳入請求的容量時,即使該節(jié)點處于開啟狀態(tài),仍然可以將該節(jié)點視為不可用。
[0106]如圖5所示,每個服務監(jiān)控器經由移動錢包提供者平臺130,并且尤其經由ESB135,來將此信息披露至系統(tǒng)的其他元件。在一個示例實施例中,根據(jù)調度表計劃節(jié)點的不可用性,并且例如,使用來自每個服務監(jiān)控器的信息,服務可用性服務308-a能夠基于所述調度表來確定對于一個或多個不可用服務的可用性的所估計的等待時間。
[0107]根據(jù)上文由服務可用性服務380-a所收集的可用性事件(例如不可用的系統(tǒng)或過程的狀況)能夠被發(fā)布到例如JMS隊列520的隊列。在此示例實施例中,與服務的可用性相關的信息被發(fā)布到供網(wǎng)絡上的其他節(jié)點消費的隊列。進而,可用性事件消費者530消費來自該隊列的可用性事件信息。在一個示例實施例中,可用性事件消費者530可以對應于圖3中的入站請求調度器308。
[0108]示例計算機可讀介質的實施方式
[0109]例如,上面所描述的示例實施例諸如結合圖1至圖5所描繪或討論的系統(tǒng)和過程或其任何部分或功能可以通過使用硬件、軟件或這兩者的組合來實現(xiàn)。所述實施方式可以在一個或多個計算機或其他處理系統(tǒng)中。盡管可能已經以通常與由操作人員來執(zhí)行的思維操作相關聯(lián)的術語提到了通過這些示例實施例執(zhí)行的操縱,但是并不需要操作人員來執(zhí)行本文所述的任何操作。換言之,可以使用機器操作來完全實現(xiàn)所述操作。用于執(zhí)行本文所呈現(xiàn)的示例實施例的操作的有用的機器包括通用數(shù)字計算機或類似的設備。
[0110]圖6是依據(jù)本發(fā)明的示例實施例中的一些實施例的通用和/或專用計算機600的框圖,所述計算機600可以是通用和/或專用計算設備。例如,除其他設備以外,計算機600可以是用戶設備、用戶計算機、客戶端計算機、和/或服務器計算機。
[0111]計算機600可以包括但不限于處理器設備630、主存儲器635、和互連總線637。處理器設備630可以包括但不限于單個微處理器,或者可以包括多個微處理器以用于將計算機600配置為多處理器系統(tǒng)。除其他以外,主存儲器635存儲供處理器設備630執(zhí)行的指令和/或數(shù)據(jù)。主存儲器635可以包括動態(tài)隨機存取存儲器(DRAM)以及高速緩存存儲器的庫。
[0112]計算機600還可以包括大容量存儲設備640、外圍設備642、便攜式非暫時性存儲介質設備646、輸入控制設備644、圖形子系統(tǒng)648、和/或輸出顯示界面649。出于解釋的目的,在圖6中將計算機600中的所有組件示出為經由總線637來耦合。然而,計算機600并非局限于此。計算機600的設備可以經由一種或多種數(shù)據(jù)傳輸方式來耦合。例如,處理器設備630和/或主存儲器635可以經由本地微處理器總線來耦合。大容量存儲設備640、外圍設備642、便攜式存儲介質設備646、和/或圖形子系統(tǒng)648可以經由一個或多個輸入/輸出(I/O)總線來耦合。大容量存儲設備640可以是用于存儲供處理器設備630使用的數(shù)據(jù)和/或指令的非易失性存儲設備。例如,可以使用磁盤驅動器或光盤驅動器來實現(xiàn)大容量存儲設備640。在軟件實施例中,大容量存儲設備640被配置用于將大容量存儲設備640的內容加載到主存儲器635內。
[0113]便攜式存儲介質設備646結合諸如例如壓縮盤只讀存儲器(CD-ROM)的非易失性便攜式存儲介質來操作以將數(shù)據(jù)和代碼輸入至計算機600以及從計算機600輸出數(shù)據(jù)和代碼。在一些實施例中,用于存儲信息的軟件可以被存儲在便攜式存儲介質上,并且可以經由便攜式存儲介質設備646被輸入至計算機600內。外圍設備642可以包括任何類型的計算機支持設備,諸如例如被配置用于向計算機600添加附加功能的輸入/輸出(I/O)接口。例如,夕卜圍設備642可以包括用于將計算機600與網(wǎng)絡相接口的網(wǎng)絡接口卡。
[0114]輸入控制設備644為計算機600的用戶提供用戶接口的部分。輸入控制設備644可以包括小鍵盤和/或光標控制設備。小鍵盤可以被配置用于輸入字母數(shù)字字符和/或其他鍵信息。光標控制設備可以包括例如手持控制器或鼠標、軌跡球、觸控筆、和/或光標方向鍵。為了顯示文本和圖形信息,計算機600可以包括圖形子系統(tǒng)648和輸出顯示器649。輸出顯示器649可以包括陰極射線管(CRT)顯示器和/或液晶顯示器(IXD)。圖形子系統(tǒng)648接收文本和圖形信息,并且處理供輸出至輸出顯示器649的信息。
[0115]計算機600的每個組件可以表示廣泛類別的通用和/或專用計算機的計算機組件。計算機600的組件不限于此處所提供的特定實施方式。
[0116]本文所呈現(xiàn)的示例實施例的軟件實施例可以被提供為計算機程序產品或軟件,其可以包括在具有指令的機器可存取或機器可讀的介質上的制品。非暫時性的機器可存取機器可讀或計算機可讀的介質上的指令可以被用于對計算機系統(tǒng)或其他電子設備編程。機器可讀介質或計算機可讀介質可以包括但不限于軟盤、光盤、CD-ROM、及磁光盤或者適于存儲或傳輸電子指令的其他類型的介質/機器可讀介質。本文所描述的技術不限于任何特定的軟件配置。它們可以在任何計算或處理環(huán)境中找到適用性。本文所用的術語“計算機可讀”、“機器可存取介質”或“機器可讀介質”應當包括能夠存儲、編碼、或傳輸供機器執(zhí)行的指令序列并且使得機器執(zhí)行本文所述的方法中的任意一種方法的任何介質。此外,在本領域中通常以一種形式或另一形式(例如程序、流程、過程、應用、模塊、單元、邏輯等)將軟件表述為采取行動或導致結果。這樣的表達僅僅是陳述由處理系統(tǒng)執(zhí)行軟件使得處理器執(zhí)行動作以產生結果的簡短表達方式。
[0117]對于計算機領域的技術人員顯而易見的是,可以通過使用根據(jù)本公開的教導所編程的常規(guī)通用計算機、專用數(shù)字計算機、和/或微處理器來方便地實現(xiàn)本發(fā)明的示例實施例的部分??梢杂墒炀毜某绦騿T基于本公開的教導容易地準備合適的軟件編碼。
[0118]還可通過準備專用集成電路、現(xiàn)場可編程門陣列、或者通過互連常規(guī)組件電路的合適網(wǎng)絡來實現(xiàn)一些實施例。
[0119]—些實施例包括計算機程序產品。所述計算機程序產品可以是具有其上或其中所存儲的指令的存儲介質或媒介,所述指令能夠被用于控制或使得計算機執(zhí)行本發(fā)明的示例實施例的任何流程。所述存儲介質可以包括但不限于軟盤、迷你盤、光盤、藍光盤、DVD、CD或CD-ROM、微驅動器、磁光盤、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃速存儲器、閃存卡、磁卡、光卡、納米系統(tǒng)、分子存儲器集成電路、RAID、遠程數(shù)據(jù)存儲/存檔/倉庫存儲、和/或適于存儲指令和/或數(shù)據(jù)的任何其他類型的設備。
[0120]存儲在計算機可讀介質或媒介中的任何一個上的一些實施方式包括軟件,所述軟件用于控制通用和/或專用計算機或微處理器這兩者的硬件,以及用于使得計算機或微處理器能夠與人類用戶或利用本發(fā)明的示例實施例的結果的其他機構進行交互。這樣的軟件可以包括但不限于設備驅動器、操作系統(tǒng)、和用戶應用。最后,如上所述,這樣的計算機可讀媒介還包括用于執(zhí)行本發(fā)明的示例方面的軟件。
[0121]在通用和/或專用計算機或微處理器的程序和/或軟件中所包括的是用于實現(xiàn)以上所述的流程的軟件模塊。
[0122]盡管上面已經描述了本發(fā)明的各個示例實施例,但是應當理解,僅以示例而非限制的方式的對它們進行呈現(xiàn)。對于相關領域的技術人員顯而易見的是,能夠在其中做出形式和細節(jié)上的各種變化。因此,本發(fā)明不應當被任何上述的示例實施例所限制,而應當僅依據(jù)所附的權利要求書及其等同物來被限定。
[0123]此外,應當理解,僅出于示例目的呈現(xiàn)了附圖。本文所呈現(xiàn)的示例實施例的架構是充分靈活且可配置的,使得可以以除所附的附圖中示出的方式以外的方式來對其進行利用和導航。
[0124]此外,前述的摘要的目的在于使得美國專利商標局和一般公眾,尤其是不熟悉專利或法律術語或措辭的本領域的科學家、工程師和從業(yè)人員,來根據(jù)粗略的審查而快速確定本申請的技術公開的本質和精髓。本摘要并非旨在以任何方式來限制本文所呈現(xiàn)的示例實施例的范圍。還應當理解,不必以所呈現(xiàn)的順序來執(zhí)行權利要求書中所記載的流程。
【主權項】
1.一種用于確定網(wǎng)絡上的服務的可用性的系統(tǒng),包括: 至少一個存儲器,所述至少一個存儲器能夠操作為存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息;以及 耦合至所述存儲器的處理器,所述處理器能夠操作為: 在所述網(wǎng)絡上檢測不可用節(jié)點; 識別與所述不可用節(jié)點相對應的一個或多個服務; 基于所述節(jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務;以及 在所述至少一個存儲器中更新指示所述不可用服務和節(jié)點的可用性的所述信息, 其中,所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。2.根據(jù)權利要求1所述的系統(tǒng),其中,所述處理器能夠操作為應用依賴性規(guī)則以識別由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。3.根據(jù)權利要求2所述的系統(tǒng),其中,所述處理器能夠進一步操作為:應用所述依賴性規(guī)則以確定包括所述一個或多個不可用服務中的一個服務的一個或多個過程是否能夠被所述網(wǎng)絡上的其他節(jié)點所執(zhí)行。4.根據(jù)權利要求3所述的系統(tǒng),其中,所述處理器進一步能夠操作為:如果確定所述網(wǎng)絡上的其他節(jié)點能夠執(zhí)行包括所述一個或多個不可用服務中的一個服務的所述一個或多個過程,則更新指示所述不可用服務和節(jié)點的可用性的所述信息。5.根據(jù)權利要求1所述的系統(tǒng), 其中基于調度表來使不可用節(jié)點不可用,以及 其中所述處理器能夠進一步操作為:基于所述調度表來確定對于所述一個或多個不可用服務的可用性的所估計的等待時間。6.根據(jù)權利要求1所述的系統(tǒng),其中,將所述存儲器中所存儲的所述信息的至少一部分傳輸至供所述網(wǎng)絡上的其他節(jié)點消費的隊列。7.根據(jù)權利要求1所述的系統(tǒng),其中,所述處理器能夠進一步操作為: 接收來自移動設備上所存儲的錢包客戶端應用的對于信息的請求;以及 基于所述請求,將所述存儲器中所存儲的所述信息的至少一部分傳輸至所述錢包客戶端應用。8.—種用于確定網(wǎng)絡上的服務的可用性的方法,包括: 存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息; 在所述網(wǎng)絡上檢測不可用節(jié)點; 識別與所述不可用節(jié)點相對應的一個或多個服務; 基于所述節(jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務;以及 更新指示所述不可用服務和節(jié)點的可用性的所述信息, 其中所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。9.根據(jù)權利要求8所述的方法,其中,應用依賴性規(guī)則以識別由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。10.根據(jù)權利要求9所述的方法,進一步包括:應用所述依賴性規(guī)則以確定包括所述一個或多個不可用服務中的一個服務的一個或多個過程是否能夠被所述網(wǎng)絡上的其他節(jié)點所執(zhí)行。11.根據(jù)權利要求10所述的方法,進一步包括:如果確定所述網(wǎng)絡上的其他節(jié)點能夠執(zhí)行包括所述一個或多個不可用服務中的一個服務的所述一個或多個過程,則更新指示所述不可用服務和節(jié)點的可用性的所述信息。12.根據(jù)權利要求8所述的方法,其中基于調度表來使不可用節(jié)點不可用,以及其中所述方法進一步包括:基于所述調度表來確定對于所述一個或多個不可用服務的可用性的所估計的等待時間。13.根據(jù)權利要求8所述的方法,進一步包括:將所存儲的信息的至少一部分傳輸至供所述網(wǎng)絡上的其他節(jié)點消費的隊列。14.根據(jù)權利要求8所述的方法,進一步包括: 接收來自移動設備上所存儲的錢包客戶端應用的對于信息的請求;以及 基于所述請求,將所存儲的信息的至少一部分傳輸至所述錢包客戶端應用。15.—種其上存儲有指令的非暫時性計算機可讀存儲介質,所述指令在由包括至少一個處理器和至少一個存儲器的系統(tǒng)執(zhí)行時使得所述系統(tǒng)執(zhí)行以下步驟: 存儲指示所述網(wǎng)絡上的服務和節(jié)點的可用性的信息; 在所述網(wǎng)絡上檢測不可用節(jié)點; 識別與所述不可用節(jié)點相對應的一個或多個服務; 基于所述節(jié)點的不可用性,檢測來自與所述不可用節(jié)點相對應的所述一個或多個服務的一個或多個不可用服務;以及 更新指示所述不可用服務和節(jié)點的可用性的所述信息, 其中所述一個或多個不可用服務包括由所述不可用節(jié)點執(zhí)行的服務和由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。16.根據(jù)權利要求15所述的存儲介質,其中,應用依賴性規(guī)則以識別由與所述不可用節(jié)點相關聯(lián)的節(jié)點執(zhí)行的服務。17.根據(jù)權利要求16所述的存儲介質,其中,所述指令進一步使得所述系統(tǒng)應用所述依賴性規(guī)則以確定包括所述一個或多個不可用服務中的一個服務的一個或多個過程是否能夠被所述網(wǎng)絡上的其他節(jié)點所執(zhí)行。18.根據(jù)權利要求17所述的存儲介質,其中,所述指令進一步使得所述系統(tǒng):如果確定所述網(wǎng)絡上的其他節(jié)點能夠執(zhí)行包括所述一個或多個不可用服務中的一個服務的所述一個或多個過程,則更新指示所述不可用服務和節(jié)點的可用性的所述信息。19.根據(jù)權利要求15所述的存儲介質,其中,基于調度表來使不可用節(jié)點不可用,以及其中,所述指令進一步使得所述系統(tǒng)基于所述調度表來確定對于所述一個或多個不可用服務的可用性的所估計的等待時間。20.根據(jù)權利要求15所述的存儲介質,其中,不可用節(jié)點是:處于關閉狀態(tài)的節(jié)點,或者是處于開啟狀態(tài)但不具有處理額外傳入請求的容量的節(jié)點。
【文檔編號】H04L12/26GK105934914SQ201480074138
【公開日】2016年9月7日
【申請日】2014年12月15日
【發(fā)明人】蘭斯·C·拉普蘭特, 小塞繆爾·W·斯托瓦爾
【申請人】谷歌公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1