管理web服務(wù)的狀態(tài)信息的技術(shù)的制作方法
【專利說明】管理web服務(wù)的狀態(tài)信息的技術(shù)
[0001 ]WS
[0002] ^的計算能力、接近無限的存儲容量、以及高帶寬通信信道的發(fā)展已經(jīng)刺激了 網(wǎng)絡(luò)服務(wù)(有時稱為"基于云的"服務(wù))的迀移。web服務(wù)是基于云的存儲的示例。web服務(wù)是 可以通過諸如萬維網(wǎng)(WWW)的網(wǎng)絡(luò)在網(wǎng)絡(luò)地址處訪問的軟件功能。服務(wù)請求者可通過經(jīng)網(wǎng) 絡(luò)向web服務(wù)提供方發(fā)送對web資源的請求來訪問web服務(wù)。在許多情況中,使用無狀態(tài)通信 協(xié)議(諸如代表性狀態(tài)轉(zhuǎn)移REST協(xié)議等)將web服務(wù)設(shè)計成用于"無狀態(tài)"操作。無狀態(tài)設(shè)計 的優(yōu)點是其簡化了服務(wù)器設(shè)計,因為不需要在服務(wù)器處管理和存儲狀態(tài)信息。無狀態(tài)設(shè)計 的缺點是一旦給定通信會話終止則對web服務(wù)web資源的改變可能丟失。
【發(fā)明內(nèi)容】
[0003]下面提供了簡明的概述,以便提供對本文所描述的一些新穎實施例的基本理解。 本概述不是廣泛的概覽,并且它不旨在標(biāo)識關(guān)鍵/重要元素或描繪本發(fā)明的范圍。其唯一目 的是以簡化形式呈現(xiàn)一些概念,作為稍后呈現(xiàn)的更詳細(xì)說明的序言。
[0004]各個實施例一般涉及管理由網(wǎng)絡(luò)提供的服務(wù)的狀態(tài)信息的技術(shù)。某些實施例特別 涉及通過在客戶端設(shè)備處存儲由web服務(wù)提供的web資源的狀態(tài)信息來管理web服務(wù)的狀態(tài) 信息的技術(shù)。
[0005] 在一個實施例中,例如,一種裝置可包括處理器電路,以及用于由處理器電路執(zhí)行 以提供用于修改web資源的狀態(tài)的一組操作的應(yīng)用程序。該應(yīng)用程序可包括狀態(tài)管理器組 件,該狀態(tài)管理器組件被安排用于,在第一通信會話期間隨著對由諸如web服務(wù)的網(wǎng)絡(luò)服務(wù) 提供的web資源的狀態(tài)改變的發(fā)生,監(jiān)視并收集web資源的狀態(tài)信息。狀態(tài)管理器組件可將 web資源的web資源標(biāo)識符和相關(guān)聯(lián)的狀態(tài)信息存儲在狀態(tài)數(shù)據(jù)庫中供將來使用。
[0006]該狀態(tài)管理器組件可隨后在第二通信會話期間檢測對web資源的訪問,并檢索所 訪問的web資源的web資源標(biāo)識符。該狀態(tài)管理器組件可搜索狀態(tài)數(shù)據(jù)庫以尋找與所訪問的 web資源的web資源標(biāo)識符相匹配的web資源,并從狀態(tài)數(shù)據(jù)庫檢索先前存儲的與所訪問的 web資源相關(guān)聯(lián)的狀態(tài)信息。應(yīng)用程序可將狀態(tài)信息發(fā)送到網(wǎng)絡(luò)服務(wù),其可根據(jù)檢索到的狀 態(tài)信息來修改web資源,并以與在第一通信會話終止時基本上相同的狀態(tài)返回經(jīng)修改的web 資源。對其他實施例也予以描述并要求保護(hù)。
[0007]為了實現(xiàn)上述及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面。 這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在 落入所要求保護(hù)的主題的范圍內(nèi)。結(jié)合附圖閱讀下面的詳細(xì)描述,其他優(yōu)點和新穎特征將 變得顯而易見。
[0008] 附圖簡述
[0009]圖1示出管理狀態(tài)信息的裝置的實施例。
[0010]圖2示出了裝置的集中式系統(tǒng)的實施例。
[0011]圖3示出了裝置的分布式系統(tǒng)的實施例。
[0012]圖4示出了裝置的第一邏輯流程的一實施例。
[0013]圖5示出了裝置的第二邏輯流程的一實施例。
[0014]圖6示出了裝置的第三邏輯流程的一實施例。
[0015]圖7示出了第一圖形用戶界面(GUI)視圖的實施例。
[0016]圖8示出了第二⑶I視圖的實施例。
[0017]圖9示出了第三GUI視圖的實施例。
[0018]圖10示出了裝置的網(wǎng)絡(luò)的實施例。
[0019]圖11示出計算體系結(jié)構(gòu)的一實施例。
[0020]圖12示出通信體系結(jié)構(gòu)的一實施例。
[0021 ] 詳細(xì)描述
[0022]各個實施例一般涉及管理由網(wǎng)絡(luò)提供的服務(wù)的狀態(tài)信息的技術(shù)。這例如對于使用 無狀態(tài)設(shè)計的基于網(wǎng)絡(luò)的服務(wù)(諸如web服務(wù))特別有用。盡管各實施例參考web服務(wù)和web 資源以示例地方式描述,可以理解各實施例可用任何類型的網(wǎng)絡(luò)服務(wù)或網(wǎng)絡(luò)資源來實現(xiàn)。 各實施例不限于該上下文。
[0023]在通過web控件(例如,web服務(wù))與內(nèi)容進(jìn)行交互時,本機(jī)應(yīng)用通常不知曉內(nèi)容的 當(dāng)前狀態(tài)。作為結(jié)果,本機(jī)應(yīng)用不能示出在該應(yīng)用內(nèi)但在web控件外的相關(guān)內(nèi)容或指示符。 各實施例允許應(yīng)用對在web控件中呈現(xiàn)的內(nèi)容作出反應(yīng)。隨后,當(dāng)應(yīng)用對web控件呈現(xiàn)的內(nèi) 容作出反應(yīng)時,它能夠捕捉那些動作、應(yīng)用的狀態(tài)和web服務(wù)的狀態(tài)。所捕捉的狀態(tài)允許應(yīng) 用返回先前狀態(tài)(故障恢復(fù)、或web服務(wù)的狀態(tài),例如排序和過濾狀態(tài))而不涉及任何服務(wù)器 側(cè)持久保存。
[0024]除了進(jìn)行交互之外,用戶現(xiàn)在想要共享、發(fā)布、或返回他們正在查看的內(nèi)容的狀 態(tài)。以前,共享的方法通過進(jìn)行截屏并簡單地共享圖像來完成。各實施例允許用戶與其他用 戶共享他們的內(nèi)容的狀態(tài)并允許其它本機(jī)應(yīng)用使接收方用戶沉浸在相同體驗中。
[0025]例如,在示例操作中,用戶可查看客戶端軟件(諸如web控件)內(nèi)的內(nèi)容。用戶可與web服務(wù)進(jìn)行交互,其中web控件嵌入本機(jī)應(yīng)用內(nèi)。用戶可利用任何人類界面設(shè)備通過某個 模式的交互來改變web控件視圖的狀態(tài)。替換地,可從應(yīng)用、機(jī)器到機(jī)器交互或其它自動化 源接收各命令。在發(fā)出成功的調(diào)用且接收響應(yīng)之后,應(yīng)用捕捉并本地地存儲此交互的狀態(tài)。 如果需要,應(yīng)用改變本機(jī)地呈現(xiàn)的UI的狀態(tài)。當(dāng)用戶想要共享應(yīng)用和內(nèi)容的確切狀態(tài)時,他 們可以通過在應(yīng)用內(nèi)共享功能性來這樣做。接收共享內(nèi)容的用戶能夠打開該應(yīng)用并進(jìn)入共 享狀態(tài),歸因于作為共享動作的一部分被傳輸?shù)臓顟B(tài)信息。如果用戶要導(dǎo)航離開web控件并 返回,該應(yīng)用可進(jìn)入最后所見狀態(tài)(例如,本機(jī)和web控件內(nèi)容)。當(dāng)應(yīng)用崩潰時,從容恢復(fù)允 許該應(yīng)用返回到最后所見的狀態(tài)(例如,本機(jī)和web控件內(nèi)容)。在全部這些情況中,沒有狀 態(tài)數(shù)據(jù)需要由web服務(wù)來保存,即使web內(nèi)容正被呈現(xiàn)。應(yīng)用本地地或在遠(yuǎn)程存儲設(shè)備上存 儲這個狀態(tài)。
[0026]更具體地,各實施例可在客戶端設(shè)備處存儲web服務(wù)提供的web資源的狀態(tài)信息。 更具體地,在客戶端設(shè)備上執(zhí)行的應(yīng)用程序可存儲并管理該狀態(tài)信息。在一個實施例中,應(yīng) 用程序可包括生產(chǎn)力應(yīng)用程序。在另一個實施例中,應(yīng)用程序可包括任何非基于瀏覽器的 應(yīng)用程序。
[0027]所存儲的狀態(tài)信息可代表在第一通信會話的終止處的web資源的狀態(tài)。所存儲的 狀態(tài)信息可被用于在第二通信會話期間將該web資源返回到同一或類似狀態(tài)。例如,所存儲 的狀態(tài)信息可被傳達(dá)到通過無狀態(tài)協(xié)議(諸如網(wǎng)際協(xié)議IP、超文本傳輸協(xié)議HTTP、REST協(xié)議 等)來管理web資源的web服務(wù)。在另一示例中,所存儲的狀態(tài)信息可使用在不同協(xié)議層中實 現(xiàn)的有狀態(tài)和無狀態(tài)協(xié)議的組合來被傳達(dá)到web服務(wù)。有狀態(tài)協(xié)議的示例可包括傳輸控制 協(xié)議(TCP)和邊界網(wǎng)關(guān)BC協(xié)議(BGP)等等。
[0028]在各種各樣的實施例中,所存儲的狀態(tài)信息可被共享以由用戶、客戶端設(shè)備、或應(yīng) 用程序的任何組合來使用。在一個實施例中,例如,所存儲的狀態(tài)信息可由在單個客戶端設(shè) 備上執(zhí)行的單個應(yīng)用程序來使用。在一個實施例中,例如,所存儲的狀態(tài)信息可由單個用戶 的不同客戶端設(shè)備來使用。在一個實施例中,例如,所存儲的狀態(tài)信息可由在單個客戶端設(shè) 備上執(zhí)行的不同應(yīng)用程序來使用。在一個實施例中,例如,所存儲的狀態(tài)信息可由在不同客 戶端設(shè)備上執(zhí)行的不同版本的同一應(yīng)用程序來使用。許多共享變換是可能的,且各實施例 不限于該上下文。
[0029]對狀態(tài)信息的選擇性捕捉可提供許多優(yōu)點和使用情形。例如,通過捕捉應(yīng)用和web 服務(wù)交互的狀態(tài),本機(jī)應(yīng)用能夠基于通過web控件與web服務(wù)交互所發(fā)出的命令來更新并示 出相關(guān)用戶界面(UI)視圖。本機(jī)應(yīng)用還能存儲此狀態(tài)信息,這使得能夠共享情形并從應(yīng)用 崩潰中恢復(fù)。各實施例還允許用戶體驗在本機(jī)應(yīng)用和web服務(wù)器之間的集成。各實施例還允 許本機(jī)應(yīng)用知曉web服務(wù)以及在web控件中被查看的內(nèi)容的狀態(tài)。各實施例允許應(yīng)用和web 服務(wù)的狀態(tài)信息的本地地捕捉和存儲。各實施例基于web控件中所示的內(nèi)容來示出應(yīng)用內(nèi) 的相關(guān)內(nèi)容。各實施例允許本機(jī)應(yīng)用將內(nèi)容呈現(xiàn)為先前狀態(tài)。各實施例允許用戶與其他用 戶或設(shè)備共享沉浸式內(nèi)容體驗。各實施例允許本機(jī)應(yīng)用從容地從故障或崩潰中恢復(fù)。還存 在其它優(yōu)點和使用情形。
[0030]結(jié)果,各實施例可提高操作者、設(shè)備或網(wǎng)絡(luò)的可承受性、可伸縮性、模塊性、可擴(kuò)展 性或互操作性。其它優(yōu)點和使用情形也適用。
[0031]大致參考此處所使用的概念和命名,之后的詳細(xì)描述可以按照在計算機(jī)或計算機(jī) 的網(wǎng)絡(luò)上執(zhí)行的程序過程來呈現(xiàn)。這些過程描述和表示被本領(lǐng)域的技術(shù)人員用來將其工作 的實質(zhì)最有效地傳達(dá)給本領(lǐng)域的其他技術(shù)人員。
[0032]過程在此處通常被認(rèn)為是導(dǎo)致所需結(jié)果的自相一致的操作序列。這些操作是需要 對物理量的物理操縱的那些操作。盡管并非必需,但這些物理量通常采用能夠被存儲、傳 輸、組合、比較、和/或以其它方式操縱的電、磁或光信號的形式。原則上出于常見用法的原 因?qū)⑦@些信號稱作位、值、元素、符號、字符、項、數(shù)字等被證明有時是方便的。然而,應(yīng)當(dāng)注 意,所有這些和類似術(shù)語都應(yīng)與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅僅是應(yīng)用于這些物理量的方便 的標(biāo)簽。
[0033]此外,所執(zhí)行的操縱經(jīng)常被稱為諸如添加或比較等術(shù)語,這些術(shù)語通暢與人類操 作員所執(zhí)行的心理操作相關(guān)聯(lián)。在大多數(shù)情況下,在此處描述的形成一個或多個實施例的 一部分的操作中的任一個中,人類操作員的這一能力并非必需或合乎需要。相反,操作是機(jī) 器操作。用于執(zhí)行各種實施例的操作的有用機(jī)器包括通用數(shù)字計算機(jī)或類似設(shè)備。
[0034]各種實施例還涉及用于執(zhí)行這些操作的裝置或系統(tǒng)。該裝置可以出于需要的目的 來專門構(gòu)造,或者它可包括如由存儲在計算機(jī)中的計算機(jī)程序選擇性地激活或重新配置的 通用計算機(jī)。此處所呈現(xiàn)的過程并非固有地相關(guān)于特定計算機(jī)或其它裝置。還可以將各種 通用機(jī)器與根據(jù)此處的教示來編寫的程序一起使用,或可以證明構(gòu)造更專用的裝置來實現(xiàn) 所需的方法步驟是便利的。用于各種這些機(jī)器的所需的結(jié)構(gòu)將從所給予的描述中出現(xiàn)。
[0035] 現(xiàn)在將參考附圖,全部附圖中相同的附圖標(biāo)記用于指代相同的元素。在下面的描 述中,為了進(jìn)行說明,闡述了很多具體細(xì)節(jié)以便提供對本發(fā)明的全面理解。然而,顯而易見, 可以沒有這些具體細(xì)節(jié)的情況下實施各新穎實施例。在其他情況下,以框圖形式示出了各 個公知的結(jié)構(gòu)和設(shè)備以便于描述本發(fā)明。本發(fā)明涵蓋與所要求保護(hù)的主題相一致的所有修 改、等效方案和替換方案。
[0036] 圖1示出了裝置100的框圖。在一個實施例中,裝置100可包括計算機(jī)實現(xiàn)的裝置 100,該計算機(jī)實現(xiàn)的裝置具有包括一個或多個組件122-a的軟件應(yīng)用程序120。盡管圖1中 示出的裝置1〇〇