理器組件122-2還可監(jiān)視應用程序120的狀態(tài),并將應用程 序120的狀態(tài)信息用作用于重現(xiàn)由應用程序120呈現(xiàn)的網絡資源130的狀態(tài)的上下文。
[0053]狀態(tài)管理器組件122-2可在連續(xù)地、周期性地、非周期性地、或基于命令的基礎上 捕捉狀態(tài)信息140。捕捉間隔可以是如給定用戶、應用程序120、web服務、網絡資源130、通信 會話等期望地可配置參數。
[0054]一旦給定網絡資源130的狀態(tài)信息140被存儲在狀態(tài)數據庫124中,狀態(tài)管理器組 件122-2就可使用該狀態(tài)信息140以在未來的通信會話和/或應用程序120的實例化期間重 現(xiàn)網絡資源130的給定狀態(tài)。在一個實施例中,例如,狀態(tài)管理器組件122-2可通過重新發(fā)送 在先前通信會話和/或應用程序120的實例化期間用于創(chuàng)建網絡資源130的狀態(tài)的相同序列 的控制指示110來重現(xiàn)網絡資源130的狀態(tài)。用于以無狀態(tài)協(xié)議傳達狀態(tài)信息的其他技術也 可以被使用。各實施例不限于該上下文。
[0055]應用程序120可包括狀態(tài)共享組件122-3。狀態(tài)共享組件122-3可被一般地安排來 與其它應用程序、設備、系統(tǒng)、和/或用戶共享狀態(tài)信息140。這可允許其它應用程序、設備、 系統(tǒng)和/或用戶重現(xiàn)網絡資源130的給定狀態(tài)。
[0056]圖2示出了集中式系統(tǒng)200的框圖。集中式系統(tǒng)200可在單個計算實體(諸如完全在 單個設備220內)中實現(xiàn)裝置100的結構和/或操作的一些或全部。
[0057]設備220可包括能夠為裝置100接收、處理和發(fā)送信息的任何電子設備。電子設備 的示例可包括但不限于:超移動設備、移動設備、個人數字助理(PDA)、移動計算設備、智能 電話、電話、數字電話、蜂窩電話、電子書閱讀器、手機、單向尋呼機、雙向尋呼機、消息收發(fā) 設備、計算機、個人計算機(PC)、臺式計算機、膝上型計算機、筆記本計算機、上網本計算機、 手持式計算機、平板計算機、服務器、服務器陣列或服務器場、web服務器、網絡服務器、因特 網服務器、工作站、小型計算機、大型計算機、超級計算機、網絡設備、web設備、分布式計算 系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)、消費電子產品、可編程消費電子產品、游戲設備、 電視機、數字電視機、機頂盒、無線接入點、基站、用戶站、移動用戶中心、無線電網絡控制 器、路由器、集線器、網關、網橋、交換機、機器、或其組合。各實施例不限于該上下文。
[0058]設備220可使用處理組件230執(zhí)行裝置100的處理操作或邏輯。處理組件230可包括 各種硬件元件、軟件元件或兩者的組合。硬件元件的示例可以包括:設備、邏輯設備、組件、 處理器、微處理器、電路、處理器電路、電路元件(例如,晶體管、電阻器、電容器、電感器等)、 集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數字信號處理器(DSP)、現(xiàn)場可編 程門陣列(FPGA)、存儲器單元、邏輯門、寄存器、半導體器件、芯片、微芯片、芯片組等。軟件 元件的示例可以包括:軟件組件、程序、應用、計算機程序、應用程序、系統(tǒng)程序、軟件開發(fā)程 序、機器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數、方法、過程、軟件 接口、應用程序接口(API)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、字、值、 符號、或其任意組合。確定一實施例是否使用硬件元件和/或軟件元件來實現(xiàn)可根據如給定 實現(xiàn)所需的任何數量的因素而變化,這些因素諸如所需計算速率、功率級、耐熱性、處理周 期預算、輸入數據速率、輸出數據速率、存儲器web資源、數據總線速度以及其他設計或性能 約束。
[0059] 設備220可使用通信組件240來執(zhí)行裝置100的通信操作或邏輯。通信組件240可以 實現(xiàn)任何公知的通信技術和協(xié)議,如適用于與分組交換網絡(例如,諸如因特網等公共網 絡、諸如企業(yè)內聯(lián)網等專有網絡,等等)、電路交換網絡(例如,公共交換電話網)、或分組交 換網絡和電路交換網絡的組合(使用合適的網關和轉換器)一起使用的技術。通信組件240 可以包括各種類型的標準通信元件,如一個或多個通信接口、網絡接口、網絡接口卡(NIC)、 無線電、無線發(fā)射機/接收機(收發(fā)機)、有線和/或無線通信介質、物理連接器等。作為示例 而非限制,通信介質212、242包括有線通信介質和無線通信介質。有線通信介質的示例可以 包括導線、電纜、金屬線、印刷電路板(PCB)、背板、交換光纖、半導體材料、雙絞線、同軸電 纜、光纖、所傳播的信號等。無線通信介質的示例可以包括聲學、射頻(RF)頻譜、紅外和其他 無線介質。
[0060] 設備220可經由通信組件240使用通信信號214、244分別通過通信介質212、242與 其他設備210、250通信。按照給定實現(xiàn)的需要,設備210、250可以內置于或外置于設備220。
[0061] 如圖2所示,設備220可實現(xiàn)整個裝置100以訪問另一設備實現(xiàn)的web服務(諸如設 備250實現(xiàn)的web服務260)。裝置100還可與實現(xiàn)裝置100的部分或全部的另一設備(諸如設 備210)共享狀態(tài)信息140。狀態(tài)信息140可以任何數量的方式來被共享,諸如通過消息收發(fā) 接口(例如,電子郵件、短消息服務SMS、多媒體消息服務MMS、即時消息收發(fā)頂等)、共享網絡 存儲空間、對等通信,以及其它通信形態(tài)。設備210可接著使用裝置100來以類似于設備220 的方式與web服務260進行通信。設備220還可實現(xiàn)與計算和/或通信設備(諸如參考圖7描繪 的)共同的其它平臺組件。
[0062] 圖3示出了分布式系統(tǒng)300的框圖。分布式系統(tǒng)300可使裝置100的結構和/或操作 的各部分跨多個計算實體分布。分布式系統(tǒng)300的示例可包括但不限于,客戶端-服務器架 構、3層架構、N層架構、緊耦合或群集的架構、對等架構、主-從架構、共享數據庫架構、以及 其他類型的分布式系統(tǒng)。各實施例不限于該上下文。
[0063] 分布式系統(tǒng)300可包括客戶端設備310和服務器設備350。一般而言,客戶端設備 310和服務器設備350可以與參考圖2描述的客戶端設備220相同或類似。例如,客戶端系統(tǒng) 310和服務器系統(tǒng)350可各自包括分別與參考圖2描述的處理組件230和通信組件240相同或 類似的處理組件330和通信組件340。在另一示例中,設備310、350可經由通信組件340使用 通信信號314通過通信介質312通信。
[0064]客戶端設備310可包括或采用一個或多個客戶端程序,所述客戶端程序操作以執(zhí) 行根據所描述的各實施例的各方法。例如,在一個實施例中,客戶端設備310例如可實現(xiàn)諸 如生產力程序120的裝置100的一部分。
[0065]服務器設備350可包括或采用一個或多個服務器程序,所述服務器程序操作以執(zhí) 行根據所描述的各實施例的各方法。例如,在一個實施例中,服務器設備350例如可實現(xiàn)諸 如狀態(tài)數據庫124的裝置100的一部分。分布式模型可適于在多個設備或用戶之間共享狀態(tài) 信息140。
[0066]此處所包括的是一組表示用于執(zhí)行所公開的體系結構的新穎方面的示例性方法 的流程圖。盡管出于解釋簡明的目的,此處例如以流程圖或流程圖表形式示出的一個或多 個方法被示出并且描述為一系列動作,但是可以理解,各方法不受動作的次序的限制,因為 根據本發(fā)明,某些動作可以按與此處所示并描述的不同的次序和/或與其他動作同時發(fā)生。 例如,本領域的技術人員將明白并理解,方法可被替換地表示為一系列相互相關聯(lián)的狀態(tài) 或事件,諸如以狀態(tài)圖的形式。此外,并非方法中所示出的所有動作都是新穎實現(xiàn)所必需 的。
[0067]圖4示出邏輯流程400的一個實施例。邏輯流400可表示由在此描述的一個或多個 實施例所執(zhí)行的操作中的部分或全部。例如,邏輯流400可由裝置100來執(zhí)行。
[0068]在圖4所示的實施例中,在框402,邏輯流程400可以接收修改由web服務提供的web資源的控制指示。例如,應用程序120的網絡訪問組件122-1可接收修改由web服務260提供 的網絡資源130的控制指示110。該控制指示110-b可源自人類用戶控制的輸入設備。
[0069] 在框404,邏輯流400可將第一請求從應用程序發(fā)送到web服務以將web資源從第一 狀態(tài)修改為第二狀態(tài)。例如,網絡訪問組件122-1可將第一請求從應用程序120發(fā)送到web月艮 務260以將網絡資源130從第一狀態(tài)修改為第二狀態(tài)??墒褂肦EST和SOAP協(xié)議的組合來發(fā)送 第一請求。
[0070] 在框406,邏輯流400可從web服務接收帶有處于第二狀態(tài)的web資源的響應。例如, web服務260可接收第一請求以修改網絡資源130,并根據與第一請求一起提供的指令修改 網絡資源130web服務260可向應用程序120發(fā)送帶有經修改的網絡資源130的響應。網絡訪 問組件122-1可從web服務260接收帶有處于第二狀態(tài)的網絡資源130的響應,并利用由接收 方設備實現(xiàn)的UI和顯示來呈現(xiàn)經修改的網絡資源130。
[0071] 在框408,邏輯流400可存儲表示由應用程序將web資源從第一狀態(tài)轉換到第二狀 態(tài)的信息的狀態(tài)信息。例如,狀態(tài)管理器組件122-2可監(jiān)視并存儲表示由應用程序120將網 絡資源130從第一狀態(tài)轉換成第二狀態(tài)所需的信息的狀態(tài)信息140。這可在新會話中、應用 程序120的實例化中、(例如在不同設備上執(zhí)行的)應用程序120的不同版本中、來自應用程 序120的不同應用程序和其它情形中發(fā)生。狀態(tài)管理器組件122-2可將狀態(tài)信息140存儲在 實現(xiàn)在同一設備(例如,設備220)或與應用程序120的設備不同的設備(例如,服務器設備 350)中的狀態(tài)數據庫124中。
[0072]在框410,邏輯流400可將第二請求從應用程序發(fā)送到web服務以使用狀態(tài)信息將web資源從第一狀態(tài)修改到第二狀態(tài)。例如,在狀態(tài)信息140被存儲且所呈現(xiàn)的經修改的網 絡資源130不再對應用程序120可用(例如,終止會話、終止程序、通信錯誤、設備故障等)之 后某時,web控件122-1可將第二請求從應用程序120發(fā)送到web服務260以使用存儲在狀態(tài) 數據庫124中的狀態(tài)信息140來將網絡資源130從第一狀態(tài)修改為第二狀態(tài)。
[0073]圖5示出邏輯流500的一個實施例。邏輯流500可表示由在此描述的一個或多個實 施例所執(zhí)行的操作中的部分或全部。例如,邏輯流500可由裝置100執(zhí)行以生成網絡資源130 的狀態(tài)信息140。
[0074] 在圖5顯示的所示實施例中,在框502,邏輯流500可在客戶端設備和服務器設備之 間建立連接以用于第一通信會話,該服務器設備用于存儲網絡資源。例如,設備220可利用 通信組件240經由介質242和信號244建立與設備250的連接以用于第一通信會話。