在用戶與計算機(jī)系統(tǒng)交互時,對該系統(tǒng)而言,重要的是對用戶快速地作出響應(yīng)。如果系統(tǒng)沒有以及時的方式對用戶作出響應(yīng),用戶可能變得沮喪。用戶可能不知道為滿足用戶對系統(tǒng)的請求所需的操作的程度。此外,用戶可能不知道被執(zhí)行以滿足簡單用戶請求或操作的所有子系統(tǒng)操作。在計算機(jī)系統(tǒng)相對大(采用合作以滿足用戶請求的兩個或更多個服務(wù)器)時,尤其如此。因而,測量或以其他方式量化對計算機(jī)系統(tǒng)的用戶的系統(tǒng)響應(yīng)(盡管可能是有價值的)是相當(dāng)困難的。
在評估這樣的計算機(jī)系統(tǒng)的操作的現(xiàn)實世界性能時,可能存在可使性能問題的真實原因變得模糊的各種子系統(tǒng)的性能變化。例如,在評估表單的加載系統(tǒng)集合中的任一者的性能時,在表單性能中存在足夠變量使得難以理解該表單是否正不良地執(zhí)行。例如,如果該表單在存在對計算機(jī)系統(tǒng)的過度或異常的物理負(fù)載或影響時的次優(yōu)時間打開,甚至以其他方式良好地執(zhí)行的表單也可能不良地執(zhí)行。
提供以上討論僅用作一般的背景信息,并不旨在用作幫助來確定所要求保護(hù)的主題的范圍。
概述
在物理計算資源操作的上下文中測量并評估計算機(jī)系統(tǒng)對用戶請求的響應(yīng)的性能?;跍y量到的性能和物理計算資源操作來選擇性地提供與計算機(jī)系統(tǒng)性能相關(guān)的診斷信息。
提供本概述以便以簡化的形式介紹以下在詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并非旨在標(biāo)識出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非旨在用作輔助確定要求保護(hù)的主題的范圍。所要求保護(hù)的主題不限于解決在背景中提及的任何或所有缺點的實現(xiàn)。
附圖簡述
圖1示出其中本文中描述的各實施例是有用的一個計算環(huán)境的框圖。
圖2示出其中本文中描述的各實施例是有用的更具體計算環(huán)境的框圖。
圖3是評估給定用戶可請求操作的各子系統(tǒng)操作以及相關(guān)聯(lián)的物理計算資源的方法的流程圖。
圖4是評估用于表單打開操作的子系統(tǒng)操作的方法的流程圖。
圖5是表單打開操作的泳道圖。
圖6是評估響應(yīng)于用戶請求的計算機(jī)系統(tǒng)操作的方法的流程圖。
圖7是解說一個實施例中的基于表單復(fù)雜度(垂直軸)和表單數(shù)目(水平軸)來指派的權(quán)重的圖表。
圖8是計算系統(tǒng)中的表單診斷工具的用戶界面的圖解視圖。
圖9是示出在云計算架構(gòu)中圖2的系統(tǒng)的框圖。
圖10是可被用來與本文描述的各種計算系統(tǒng)交互的移動設(shè)備的框圖。
圖11是計算環(huán)境的一個實施例的框圖。
詳細(xì)描述
下文描述了用于對執(zhí)行響應(yīng)于用戶請求的操作的計算機(jī)系統(tǒng)執(zhí)行診斷分析的過程和結(jié)構(gòu)。所請求的操作可以是由計算機(jī)系統(tǒng)執(zhí)行的任何功能、子例程、方法或進(jìn)程。如在此定義的,操作是在計算機(jī)系統(tǒng)上使用多個子系統(tǒng)執(zhí)行的任何功能、方法、子例程或進(jìn)程。在用戶與計算機(jī)系統(tǒng)交互時,與計算機(jī)系統(tǒng)相關(guān)聯(lián)的資源被采用。例如,用戶可以請求計算機(jī)系統(tǒng)執(zhí)行特定操作,諸如創(chuàng)建賬單。該請求可以通過接口來接收,諸如網(wǎng)絡(luò)接口,并且被傳遞給計算機(jī)系統(tǒng)的微處理器以操作由用戶提供的信息。微處理器隨后可采用存儲器或硬件接口來獲得履行用戶請求所必需的信息。計算機(jī)系統(tǒng)的響應(yīng)隨后可通過該接口被傳達(dá)給用戶。通常,用戶只知曉他/她的請求以及接收計算機(jī)系統(tǒng)的響應(yīng)所花的時間。通常,用戶不知道滿足特定請求所需的各種子系統(tǒng)的操作。另外,如果任何特定子系統(tǒng)的操作過慢,則總體計算機(jī)系統(tǒng)響應(yīng)將被影響。此外,存在可影響子系統(tǒng)操作的多種因素。例如,所請求的操作可能非常復(fù)雜或需要很大的子系統(tǒng)操作序列。另選地,各子系統(tǒng)操作所需的物理計算資源可能負(fù)擔(dān)過重。
圖1示出其中本文中描述的各實施例是有用的計算環(huán)境的一個示例的框圖。計算環(huán)境1000包括用戶采用用戶設(shè)備104來與計算機(jī)系統(tǒng)100交互。用戶設(shè)備104可以是任何合適的計算設(shè)備,包括移動計算設(shè)備(諸如移動電話、平板、上網(wǎng)本或膝上型計算機(jī))、臺式計算系統(tǒng)、嵌入式計算系統(tǒng),等等。計算機(jī)系統(tǒng)100可以是被布置成向一個或多個用戶提供任何合適功能的一個或多個計算機(jī)、服務(wù)器、或核的任何合適的布置。在一個實施例中,將在業(yè)務(wù)計算系統(tǒng)的上下文中描述計算機(jī)系統(tǒng)100。然而,本文描述的各實施例不限于這樣的業(yè)務(wù)計算系統(tǒng)。
計算機(jī)系統(tǒng)100包括耦合到用戶界面組件110以向一個或多個用戶設(shè)備104供應(yīng)或以其他方式提供用戶界面對象或信息的一個或多個處理器108。計算機(jī)系統(tǒng)100還包括用于存儲信息的一個或多個數(shù)據(jù)存儲112。數(shù)據(jù)存儲112可包括一個或多個表或以任何合適的格式布置的其他數(shù)據(jù)結(jié)構(gòu)。
計算機(jī)系統(tǒng)100還包括或耦合到診斷組件114。診斷組件114提供與用戶對計算機(jī)系統(tǒng)100的體驗相關(guān)的可操作洞察。如本文所使用的,“可操作”洞察是基于補救動作是否有效以改進(jìn)性能來選擇性地存儲或傳達(dá)的洞察。另外,“洞察”是與其他診斷信息相比基于特定特性(諸如重要性)而被優(yōu)先化的診斷信息。向診斷組件114提供了計算機(jī)系統(tǒng)100將為其用戶提供的各種軟件操作的指示以及指示每一這樣的軟件操作將被如何分解成兩個或更多個子系統(tǒng)操作的資源映射。對于每一這樣的子系統(tǒng)操作,由該子系統(tǒng)操作占用的物理計算資源被確定并且這樣的關(guān)聯(lián)被存儲。隨后,在用戶通過UI組件110向計算機(jī)系統(tǒng)100請求特定操作時,診斷組件114確定在用戶請求與計算機(jī)系統(tǒng)100的響應(yīng)之間流逝的時間量。診斷組件114具有或耦合到指示各子系統(tǒng)操作的分解的數(shù)據(jù)以及針對每一子系統(tǒng)操作的相關(guān)聯(lián)的物理計算資源。相應(yīng)地,診斷組件114能夠在每一物理計算資源參與滿足用戶請求時確定這樣的物理計算資源的一個或多個性能參數(shù)。如本文中使用的,性能參數(shù)是可影響物理計算資源的性能的任何特性或狀態(tài)。性能參數(shù)包括但不限于負(fù)載、狀態(tài)、響應(yīng)性、工作溫度、可用帶寬或容量、誤碼率、功耗、頻率、以及占空比。
在一個實施例中,生成計算機(jī)系統(tǒng)100的性能遙測。如本文使用的,遙測指的是收集數(shù)據(jù)(諸如診斷數(shù)據(jù))并將該數(shù)據(jù)傳遞給系統(tǒng)(諸如診斷組件114)。
用戶設(shè)備104通信耦合到計算機(jī)系統(tǒng)100,如雙向箭頭116所示。這一耦合可以采取任何合適的形式,包括穿過任何合適的局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的硬連線連接或無線連接。用戶設(shè)備104提供用戶與其交互的用戶界面118。用戶界面118包括包含表單、控件、按鈕等的各種用戶界面元素。通過用戶界面118,用戶發(fā)起計算機(jī)系統(tǒng)100內(nèi)的數(shù)個操作。在用戶與系統(tǒng)100交互時,各種交互穿過計算機(jī)系統(tǒng)100的UI組件110。由于它耦合到UI組件110,所以診斷組件114能夠標(biāo)識由用戶請求的各種軟件操作以及計算機(jī)系統(tǒng)100的相關(guān)聯(lián)的響應(yīng)。
例如,在用戶請求打開表單的情況下,診斷組件114將測量計算機(jī)系統(tǒng)100花費多長時間來打開表單。如本文所使用的,表單是以特定格式向用戶呈現(xiàn)信息并從用戶接收信息的用戶界面元素。在一個實施例中,表單是在框架環(huán)境中與代碼組裝在一起的預(yù)制軟件組件的集合。此外,由于診斷組件114包含或耦合到將每一預(yù)測的軟件操作請求相關(guān)到各種子系統(tǒng)操作以及關(guān)聯(lián)于每一子系統(tǒng)操作的物理計算資源的先驗信息,因此當(dāng)一個或多個物理計算資源在相應(yīng)子系統(tǒng)操作期間負(fù)擔(dān)過重或飽和時,診斷組件114可忽視或忽略計算機(jī)系統(tǒng)100的響應(yīng)。以此方式,診斷組件114可以提供計算機(jī)系統(tǒng)100的響應(yīng)性的指示,而不管對計算機(jī)系統(tǒng)100的在軟件控制之外的數(shù)個影響。
圖2示出其中本文中描述的各實施例是尤其有用的業(yè)務(wù)系統(tǒng)環(huán)境2000的一個示例的框圖。業(yè)務(wù)系統(tǒng)200可以是企業(yè)資源規(guī)劃(ERP)系統(tǒng)、客戶關(guān)系管理(CRM)系統(tǒng)、業(yè)務(wù)線(LOB)系統(tǒng)等。業(yè)務(wù)系統(tǒng)200被示為生成可包括表單204的用戶界面顯示118。業(yè)務(wù)系統(tǒng)200可具有數(shù)千不同表單204,它們中的每一者可具有許多控件。用戶與用戶界面顯示118交互以與業(yè)務(wù)系統(tǒng)200交互并操縱業(yè)務(wù)系統(tǒng)。
在一個示例中,業(yè)務(wù)系統(tǒng)200包括處理器210、數(shù)據(jù)存儲212、應(yīng)用組件215、用戶界面組件216以及表單定義系統(tǒng)218。業(yè)務(wù)系統(tǒng)200還可包括其它組件232。業(yè)務(wù)系統(tǒng)200包括或耦合到診斷組件214,診斷組件214包括或耦合到表單資源組件220。表單資源組件220存儲與系統(tǒng)的各表單有關(guān)的診斷信息以及與操作表單的各子系統(tǒng)所需的物理計算資源有關(guān)的信息。
在一個實施例中,數(shù)據(jù)存儲212包括實體222、過程224、應(yīng)用226、工作流228以及其他的數(shù)據(jù)記錄230。在一個實施例中,實體組件222描述業(yè)務(wù)系統(tǒng)200內(nèi)的實體。例如,客戶實體描述并定義客戶。供應(yīng)商實體描述并定義供應(yīng)商。庫存項實體描述并定義庫存的項。訂單實體描述并定義購買訂單。以上闡明的列表是作為可在業(yè)務(wù)系統(tǒng)200內(nèi)定義的各實體的非限制性示例來提供的。
應(yīng)用226可以是業(yè)務(wù)應(yīng)用,諸如總帳應(yīng)用、其他會計應(yīng)用、庫存跟蹤應(yīng)用、跟蹤機(jī)會的應(yīng)用、以及其他業(yè)務(wù)應(yīng)用的主機(jī)。在一個示例中,應(yīng)用組件215運行應(yīng)用226,應(yīng)用226可包括業(yè)務(wù)過程224和工作流228。在一個示例中,過程224和工作流228操作業(yè)務(wù)數(shù)據(jù)實體222和其他業(yè)務(wù)記錄230以允許用戶在業(yè)務(wù)系統(tǒng)200內(nèi)執(zhí)行他或她的操作。在一個示例中,用戶界面組件216或者自行或者在業(yè)務(wù)系統(tǒng)200中的其他項的控制下生成用戶界面顯示118。
圖3是評估給定軟件操作的各子系統(tǒng)操作以及相關(guān)聯(lián)的物理計算資源的方法的流程圖。方法300始于框302,在此選擇特定操作。在框302選擇的操作可以是計算機(jī)系統(tǒng)被配置成提供給用戶的任何操作。接著,在框304,由診斷組件114(圖1中示出)標(biāo)識可以在該操作的執(zhí)行期間被使用或調(diào)用的子系統(tǒng)操作。在所示示例中,示出了子系統(tǒng)操作SUB1、SUB2——SUBn。在框306,由診斷組件114標(biāo)識在框304中標(biāo)識的每一子系統(tǒng)操作所需的物理計算資源。在該示例中,這樣的物理計算資源包括CPU 308、高速緩存310、系統(tǒng)總線312、通信資源314、存儲驅(qū)動器/系統(tǒng)316、和/或其他相關(guān)硬件318。在一個實施例中,如在框320所示,可為在框306中標(biāo)識的每一物理計算資源定義閾值。作為補充或替換,每一物理計算資源的權(quán)重可被指派,使得在子系統(tǒng)操作的執(zhí)行期間在特定物理計算資源中發(fā)生的約束可被給予比其他物理計算資源約束更大或更小的重要性。接著,在框322,診斷組件114在資源220中存儲在框304中標(biāo)識的子系統(tǒng)操作、與在框306標(biāo)識的物理計算資源有關(guān)的信息、以及在框320定義的與所選擇的操作相關(guān)聯(lián)的閾值/權(quán)重。
隨后,在用戶請求該操作時,該信息可被召回并且該操作的性能可在子系統(tǒng)操作以及相關(guān)聯(lián)的物理計算資源的狀態(tài)的上下文中被監(jiān)視。因此,如果特定用戶請求花費非常長的時間,但與所請求的功能無關(guān)的另一軟件系統(tǒng)操作或調(diào)用使得物理計算資源負(fù)擔(dān)過重,則計算機(jī)系統(tǒng)對用戶請求作出響應(yīng)時的不良性能可被認(rèn)為不可由診斷組件114或214操作。如果這樣的性能是“不可操作的”,則不需要技術(shù)人員關(guān)注來修正或改進(jìn)該操作的性能。相反,如果用于用戶請求的各子系統(tǒng)操作的物理計算資源沒有負(fù)擔(dān)過重,并且對用戶請求的系統(tǒng)響應(yīng)的性能不良,則這樣的性能可被認(rèn)為是可由診斷組件114或214操作的。利用在框320中定義的物理計算資源約束閾值幫助確定性能問題何時是可操作的以及何時它們是不可操作的。
圖4是示出評估用于業(yè)務(wù)系統(tǒng)中的表單打開操作的子系統(tǒng)操作的方法的流程圖。方法400始于框402,在此,選擇或調(diào)用針對特定表單的打開操作。接著,在框404,標(biāo)識用于表單打開操作的各種子系統(tǒng)或業(yè)務(wù)邏輯。具體而言,在表單被打開時,執(zhí)行數(shù)個子系統(tǒng)操作。這些子系統(tǒng)操作包括呈現(xiàn)406、串行化408、服務(wù)調(diào)用410、服務(wù)器動作412、表單創(chuàng)建414、元數(shù)據(jù)加載416、表單初始化418、表單運行420以及查詢422。這些子系統(tǒng)各自執(zhí)行表單打開操作的一部分。子系統(tǒng)中的每一者參與打開特定業(yè)務(wù)表單的操作。每一子系統(tǒng)將花費時間來執(zhí)行其打開表單的相應(yīng)部分。例如,一個子系統(tǒng)可檢索表單的描述,而另一子系統(tǒng)將檢索該表單的數(shù)據(jù),又一子系統(tǒng)可將這兩者組合且又一子系統(tǒng)可構(gòu)建網(wǎng)頁。每一子系統(tǒng)可返回獨立于業(yè)務(wù)系統(tǒng)的在子系統(tǒng)的操作期間存在的外部影響的診斷號。然而,如果元數(shù)據(jù)加載子系統(tǒng)416花費比查詢子系統(tǒng)422顯著更長的時間,則如果這兩者一般被預(yù)期花費相同時間量,則這就可指示存在問題。
在框424,由診斷組件214(圖2中示出)標(biāo)識在框404處標(biāo)識的每一子系統(tǒng)操作的物理計算資源。在所示示例中,標(biāo)識用于呈現(xiàn)子系統(tǒng)406的物理計算資源。因為呈現(xiàn)子系統(tǒng)406執(zhí)行存儲器內(nèi)過程,所以高速緩存310的影響變得更顯著,而存儲驅(qū)動器/系統(tǒng)316的影響是不存在的。這些影響由診斷組件214在框424處表征且在資源220中與呈現(xiàn)子系統(tǒng)406相關(guān)聯(lián)。在一個實施例中,框426被使用,其中可相對于被標(biāo)識為與特定子系統(tǒng)操作相關(guān)的每一物理計算資源評估權(quán)重和/或閾值信息。
在框428,由診斷組件214評估表單復(fù)雜度。表單復(fù)雜度是表單與業(yè)務(wù)系統(tǒng)中的其他表單相比的相對復(fù)雜度的指示。表單復(fù)雜度可以是影響表單的各方面的性能的函數(shù),諸如與該表單相關(guān)聯(lián)的數(shù)據(jù)源的數(shù)目,打開該表單所需的連接關(guān)系的數(shù)目,該表單內(nèi)提供的高、中以及低復(fù)雜度控件的數(shù)目,以及控件的總數(shù)。這些示例是出于解說來提供的并且可以想象到影響表單的性能的表單的任何方面可被用來定義表單復(fù)雜度。
在框430,在框404標(biāo)識的子系統(tǒng)信息、在框424標(biāo)識的物理計算資源、在框426提供的可任選的權(quán)重/閾值信息以及在框428提供的表單復(fù)雜度由診斷組件214存儲以在請求表單打開操作時參考。
圖5是相關(guān)于圖4描述的表單打開操作的泳道圖。打開表單所需的總時間量被示為表單打開框502下的垂直線500。一旦表單打開操作被請求,控制將傳遞到串行化器子系統(tǒng)408,它需要由垂直線503指示的時間量來將打開表單所需的數(shù)據(jù)打包,使得該數(shù)據(jù)可被傳送或以其他方式傳遞。一旦串行化器子系統(tǒng)完成其操作,控制就傳遞到服務(wù)調(diào)用子系統(tǒng)410,在此生成服務(wù)調(diào)用。然而,如圖所示,在括號504處所示的小量時間之后,控制傳遞回串行化器子系統(tǒng)408以執(zhí)行附加數(shù)據(jù)打包操作。串行化器408花費一些附加時間(在垂直線506處指示)來完成其操作并且隨后控制傳遞到服務(wù)器動作子系統(tǒng)412。服務(wù)器動作子系統(tǒng)需要時間508來完成其操作并且隨后控制傳遞到表單創(chuàng)建子系統(tǒng)414。表單創(chuàng)建子系統(tǒng)414需要時間510來完成其操作并且隨后控制傳遞到元數(shù)據(jù)加載系統(tǒng)416,它在垂直線512處指示的時間內(nèi)加載該表單的元數(shù)據(jù)。一旦元數(shù)據(jù)加載系統(tǒng)416完成其操作,控制就傳遞到表單初始化子系統(tǒng)418,它需要時間514來初始化表單。一旦表單被初始化,控制就傳遞到表單運行子系統(tǒng)420,它開始運行表單并且在時間516后將控制傳遞到查詢子系統(tǒng)422。查詢子系統(tǒng)422在時間518執(zhí)行查詢并將控制返回到表單運行子系統(tǒng)420??刂埔灶愃品绞綇谋韱芜\行子系統(tǒng)420返回到表單打開502。注意,控制在時間520返回到表單打開502。在時間522之后,控制傳遞到呈現(xiàn)子系統(tǒng)406,它需要時間524來執(zhí)行其操作。在其操作完成之際,呈現(xiàn)子系統(tǒng)406將控制返回到表單打開系統(tǒng)502并且表單打開操作完成。
因而,如圖所示,打開表單所需的各子系統(tǒng)花費不同時間量。此外,每一子系統(tǒng)執(zhí)行其操作所需的時間可受控制或軟件的范圍以外的因素的影響。另外,一些子系統(tǒng)可受不同的計算資源條件的比其他子系統(tǒng)更大的影響。因而,本文中描述的實施例能夠在各子系統(tǒng)執(zhí)行它們的操作的同時基于每一這樣的子系統(tǒng)操作的所定義的物理計算資源要求來監(jiān)視物理計算資源參數(shù)或條件并確定這樣的子系統(tǒng)操作的性能是否是可接受的。
圖6是評估響應(yīng)于用戶請求的計算機(jī)系統(tǒng)操作的方法的流程圖。方法600始于框602,在此,診斷組件114(圖1中示出)或214(圖2中示出)檢測接收到傳入的用戶操作請求。在框604,存儲與用戶操作請求相關(guān)的開始時間。接著,在框606,由診斷組件114或214標(biāo)識與所請求的操作相關(guān)聯(lián)的各種子系統(tǒng)操作和子系統(tǒng)。另外,確定每一這樣的子系統(tǒng)操作所需的物理計算資源。這一確定可以采取任何合適的形式,包括訪問定義與所請求的操作相關(guān)的所有子系統(tǒng)操作的資源以及相關(guān)聯(lián)的物理計算資源,如以上參考圖3和4描述的。在框608,在監(jiān)視映射到子系統(tǒng)操作的執(zhí)行或以其他方式與子系統(tǒng)操作的執(zhí)行相關(guān)聯(lián)的物理計算資源時,測量每一子系統(tǒng)操作所需的時間。在框610,確定用戶所請求的操作的性能是否是可操作的。這一確定可以通過在各子系統(tǒng)操作執(zhí)行時間以及在執(zhí)行子系統(tǒng)操作時發(fā)生的測量到的物理計算資源性能參數(shù)(諸如系統(tǒng)負(fù)載、溫度、誤碼率等等)的上下文中評估總執(zhí)行時間來完成。如果計算機(jī)系統(tǒng)的性能是可操作的(在物理計算資源一般沒有負(fù)擔(dān)過重時的不良執(zhí)行時間),則控制傳遞到框614。在框614,可操作信息:用戶請求的操作、子系統(tǒng)執(zhí)行性能、以及物理計算資源參數(shù)被存儲以用于稍后分析。然而,如果物理計算資源在一個或多個子系統(tǒng)操作的執(zhí)行期間負(fù)擔(dān)過重,則操作不良性能不被確定為是可操作的且方法600在框612結(jié)束。以此方式,基于監(jiān)視的物理計算資源來選擇性地存儲診斷信息。
圖7是解說基于使用頻率來指派給表單性能的不同權(quán)重的圖表。每一可操作表單性能的重要性不一定與其他可操作表單系統(tǒng)。例如,如果表單很少被使用,則與經(jīng)常使用的不良地執(zhí)行的表單相比,其性能可較不緊急。圖7解說了基于表單頻率(水平軸)和打開表單所需的時間量(垂直軸)的加權(quán)系統(tǒng)。
圖8是業(yè)務(wù)計算系統(tǒng)中的表單診斷工具的屏幕截圖的圖解視圖。屏幕截圖700具有表部分702,該表部分702具有用于時間704、表單名稱706、表單計數(shù)708、平均加載時間710、打開表單所需的最大時間712以及打開表單所需的最小時間量714的各列。各表單被示為列標(biāo)題下的各行,其中表單“FMRental”被首先列出。值得注意的是,F(xiàn)MRental具有3.18秒的平均加載時間和130的計數(shù)。因而,與其他表單相比,F(xiàn)MRental的加載性能是不良的。此外,表單性能的重要性由于以下事實而增加:FMRental比在表部分702中列出的其他表單打開得更多。屏幕截圖700還包括計數(shù)/時間/復(fù)雜度描繪716(在圖8中示為氣泡圖)。在氣泡圖716,給定表單的復(fù)雜度被描繪為氣泡的大小。平均加載時間被示為水平軸,而表單計數(shù)或頻率被示為垂直軸。當(dāng)以氣泡形式示出時,F(xiàn)MRental基于其平均加載時間而立于其他表單的右側(cè)并且因而需要附加優(yōu)化。
本討論提到了處理器和服務(wù)器。在一個實施例中,處理器和服務(wù)器包括具有相關(guān)聯(lián)的存儲器和時序電路系統(tǒng)(未分別示出)的計算機(jī)處理器。它們是它們所屬的系統(tǒng)或設(shè)備的功能部分,且由這些系統(tǒng)中的其他組件或項的功能來激活并促成這些功能。
同樣,討論了多個用戶界面顯示。它們可以采取各種各樣的不同形式且可具有布置于其上的各種各樣的不同用戶可致動輸入機(jī)制。例如,用戶可致動輸入機(jī)制可以是文本框、復(fù)選框、圖標(biāo)、鏈接、下拉菜單、搜索框,等等。例如,可使用點擊設(shè)備(諸如跟蹤球或鼠標(biāo))來致動它們。可使用硬件按鈕、開關(guān)、操縱桿或鍵盤、拇指開關(guān)或拇指墊等等來致動它們。還可使用虛擬鍵盤或其他虛擬致動器來致動它們。另外,在其上顯示它們的屏幕是觸敏屏的情況下,可以使用觸摸手勢來致動它們。同樣,在顯示它們的設(shè)備具有語音識別組件的情況下,可以使用語音命令來致動它們。
還討論了多個數(shù)據(jù)存儲。將注意,它們可各自被分解成多個數(shù)據(jù)存儲。它們?nèi)靠晌挥谠L問它們的系統(tǒng)的本地,全部可以是遠(yuǎn)程的,或一些可以在本地而其他在遠(yuǎn)程。本文構(gòu)想了所有這些配置。
同樣,附圖示出了具有歸屬于每一框的功能的多個框。將注意,可以使用更少的框,使得功能由更少的組件來執(zhí)行。同樣,可以使用更多框,其中功能被分布在更多組件之間。
圖9是圖2中所示的架構(gòu)200的框圖,不同之處在于其元件被通信聯(lián)網(wǎng)在云計算架構(gòu)500中。云計算提供了不要求終端用戶知曉交付服務(wù)的系統(tǒng)的物理位置或配置的計算、軟件、數(shù)據(jù)訪問和存儲服務(wù)。在各個實施例中,云計算通過諸如因特網(wǎng)之類的廣域網(wǎng)使用合適的協(xié)議來交付服務(wù)。例如,云計算提供者通過廣域網(wǎng)交付應(yīng)用,并且它們可以通過web瀏覽器或任何其他計算組件被訪問。架構(gòu)200的軟件或組件以及相對應(yīng)的數(shù)據(jù)可被存儲在遠(yuǎn)程位置處的服務(wù)器上。云計算環(huán)境中的計算資源可以被整合在遠(yuǎn)程數(shù)據(jù)中心位置處或者它們可以是分散的。云計算基礎(chǔ)結(jié)構(gòu)可以通過共享數(shù)據(jù)中心來交付服務(wù),即使在用戶看來它們是單個訪問點。因此,在此所述的組件和功能可以從使用云計算架構(gòu)的遠(yuǎn)程位置處的服務(wù)提供者來提供。替代地,它們可以從常規(guī)的服務(wù)器中提供,或者它們可以直接地或以其他方式安裝在客戶端設(shè)備上。
本說明書旨在包括公共云計算和私有云計算兩者。云計算(公共和私有兩者)提供了基本無縫的資源聯(lián)營以及對管理和配置底層硬件基礎(chǔ)結(jié)構(gòu)的降低的需求。
公共云由供應(yīng)商管理,并且通常支持使用同一基礎(chǔ)結(jié)構(gòu)的多個消費者。此外,與私有云相反,公共云能夠?qū)⒔K端用戶從管理硬件中釋放出來。私有云可由機(jī)構(gòu)本身管理,并且基礎(chǔ)結(jié)構(gòu)通常不與其他機(jī)構(gòu)共享。該機(jī)構(gòu)在某種程度上仍然維護(hù)著硬件,諸如安裝和維修等。
在圖9中所示的實施例中,一些項與圖2中所示的那些是類似的,并且它們被類似地編號。圖9具體地示出業(yè)務(wù)系統(tǒng)200位于云502(可以是公共的、私有的或者其中某些部分是公共的而其他部分是私有的組合)中。因此,用戶使用用戶設(shè)備504通過云502來訪問那些系統(tǒng)。
圖9還描繪了云架構(gòu)的另一實施例。圖9示出還構(gòu)想了業(yè)務(wù)系統(tǒng)200的某些元素可被實現(xiàn)在云502中而其他元素沒有被實現(xiàn)在云502中。作為示例,數(shù)據(jù)存儲112可位于云502的外部,并且通過云502來被訪問。
圖10是可被用作其中可部署本發(fā)明的系統(tǒng)(或其部分)的用戶或客戶的手持式設(shè)備16的手持式或移動計算設(shè)備的一個說明性實施例的簡化框圖。
圖10提供了客戶端設(shè)備16的組件的大體框圖,該客戶端設(shè)備16可以運行系統(tǒng)200的組件或者與系統(tǒng)200交互、或二者。在設(shè)備16中,提供了通信鏈路13,該通信鏈路允許手持設(shè)備與其它計算設(shè)備通信,并且在一些實施例中提供用于諸如通過掃描來自動接收信息的信道。通信鏈路13的示例包括:紅外端口、串行/USB端口、諸如以太網(wǎng)端口之類的電纜網(wǎng)絡(luò)端口、以及允許通過一個或多個通信協(xié)議的通信的無線網(wǎng)絡(luò)端口,所述通信協(xié)議包括作為用于提供對網(wǎng)絡(luò)的蜂窩接入的無線服務(wù)的通用分組無線服務(wù)(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G無線電協(xié)議、1Xrtt和短消息服務(wù),并包括提供對網(wǎng)絡(luò)的本地?zé)o線連接的802.11和802.11b(WiFi)協(xié)議、和藍(lán)牙協(xié)議。
根據(jù)其他實施例,應(yīng)用或系統(tǒng)被容納在連接到可移動安全數(shù)字(SD)卡接口15的SD卡上。SD卡接口15和通信鏈路13沿總線19與處理器17進(jìn)行通信,該總線19還連接到存儲器21和輸入/輸出(I/O)組件23、以及時鐘25和定位系統(tǒng)27。
在一個實施例中,提供了I/O組件23以促成輸入和輸出操作。針對設(shè)備16的各個實施例的I/O組件23可以包括:輸入組件,比如按鈕、觸摸傳感器、多點觸摸傳感器、光學(xué)或視頻傳感器、語音傳感器、觸摸屏、鄰近傳感器、話筒、傾斜傳感器以及重力開關(guān);以及輸出組件,比如顯示設(shè)備、揚聲器和或打印機(jī)端口。也可以使用其他I/O組件23。
在一個示例中,時鐘25包括輸出時間和日期的真實時間時鐘組件。時鐘還可以為處理器17提供定時功能。
在一個示例中,定位系統(tǒng)27包括輸出設(shè)備16的當(dāng)前地理位置的組件。這例如可以包括全球定位系統(tǒng)(GPS)接收機(jī)、LORAN系統(tǒng)、航位推算系統(tǒng)、蜂窩三角測量系統(tǒng)或者其他定位系統(tǒng)。這例如還可以包括生成所期望的地圖、導(dǎo)航線路和其它地理功能的測繪軟件或?qū)Ш杰浖?/p>
存儲器21存儲操作系統(tǒng)29、網(wǎng)絡(luò)設(shè)置31、應(yīng)用33、應(yīng)用配置設(shè)置35、數(shù)據(jù)存儲37、通信驅(qū)動程序39以及通信配置設(shè)置41。存儲器21可以包括所有類型的有形易失性和非易失性計算機(jī)可讀存儲器設(shè)備。其還可以包括計算機(jī)存儲介質(zhì)(下面描述)。存儲器21存儲計算機(jī)可讀指令,所述指令在被處理器17執(zhí)行時致使處理器根據(jù)所述指令執(zhí)行計算機(jī)實現(xiàn)的步驟或功能。處理器17可以也被其他組件激活以促成它們的功能。
網(wǎng)絡(luò)設(shè)置31的示例包括諸如代理信息、因特網(wǎng)連接信息以及測繪之類的事物。應(yīng)用配置設(shè)置35包括為特定企業(yè)或用戶定制應(yīng)用的設(shè)置。通信配置設(shè)置41提供了用于與其他計算機(jī)進(jìn)行通信的參數(shù),并且包括諸如GPRS參數(shù)、SMS參數(shù)、連接用戶名和口令之類的項目。
應(yīng)用33可以是之前已經(jīng)存儲在設(shè)備16上的應(yīng)用或是在使用期間安裝的應(yīng)用,但是這些應(yīng)用可以是操作系統(tǒng)29的一部分,或者也可以在設(shè)備16之外被托管。應(yīng)用33可包括將計算機(jī)系統(tǒng)100、200的可被請求的各種用戶功能存儲在數(shù)據(jù)存儲37內(nèi)的計算系統(tǒng)診斷應(yīng)用43。駐留在便攜式設(shè)備上的診斷應(yīng)用可與診斷組件114、214合作以接收與用戶請求相關(guān)的診斷信息。另外,因為用戶請求最終在用戶的設(shè)備上被滿足,所以附加診斷(諸如在用戶設(shè)備上的呈現(xiàn)時間和/或網(wǎng)絡(luò)通信特性(諸如帶寬和/或誤碼))可以補充由診斷組件114、214提供的可操作診斷信息。
圖11是其中可部署系統(tǒng)100、200或其一部分(作為示例)的計算環(huán)境的一個實施例。參考圖11,用于實現(xiàn)一些實施例的示例性系統(tǒng)包括計算機(jī)810形式的通用計算設(shè)備。計算機(jī)810的組件可以包括,但不限于,處理單元820(可以包括處理器210)、系統(tǒng)存儲器830和將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元820的系統(tǒng)總線821。系統(tǒng)總線821可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲器總線或存儲器控制器、外圍總線和使用各種總線架構(gòu)中的任一種的局部總線。作為示例而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線和外圍部件互連(PCI)總線(也稱為夾層(Mezzanine)總線)。參考圖2描述的存儲器和程序可被部署在圖11的對應(yīng)部分中。
計算機(jī)810通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是能由計算機(jī)810訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非限制,計算機(jī)可讀介質(zhì)可包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)不同于且不包括已調(diào)制數(shù)據(jù)信號或載波。計算機(jī)存儲介質(zhì)包括硬件存儲介質(zhì),該硬件存儲介質(zhì)包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的任何方法和技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或能用于存儲所需信息且可以由計算機(jī)810訪問的任何其它介質(zhì)。通信介質(zhì)通常具體化計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或傳輸機(jī)制中的其他數(shù)據(jù),并包括任何信息遞送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指使得以在信號中編碼信息的方式來設(shè)定或改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上述任何組合也應(yīng)該包括在計算機(jī)可讀的介質(zhì)范圍內(nèi)。
系統(tǒng)存儲器830包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM)831和隨機(jī)存取存儲器(RAM)832。包含諸如在啟動期間幫助在計算機(jī)810內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)833(BIOS)通常存儲在ROM 831中。RAM 832通常包含處理單元820可立即訪問和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖11例示出了操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836和程序數(shù)據(jù)837。
計算機(jī)810還可以包括其它可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作為示例,圖11示出了從不可移動、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動器841,從可移動、非易失性磁盤852中讀取或向其寫入的磁盤驅(qū)動器851,以及從諸如CD ROM或其他光學(xué)介質(zhì)等可移動、非易失性光盤856中讀取或向其寫入的光盤驅(qū)動器855??稍谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器841通常通過諸如接口840之類的不可移動存儲器接口連接到系統(tǒng)總線821,并且磁盤驅(qū)動器851和光盤驅(qū)動器855通常通過諸如接口850之類的可移動存儲器接口連接到系統(tǒng)總線821。
作為替換或補充,本文所述的功能可至少部分地由一個或多個硬件邏輯組件來執(zhí)行。例如、但非限制,可使用的硬件邏輯組件的說明性類型包括現(xiàn)場可編程門陣列(FPGA)、程序?qū)S玫募呻娐?例如,ASIC)、程序?qū)S玫臉?biāo)準(zhǔn)產(chǎn)品(例如,ASSP)、片上系統(tǒng)系統(tǒng)(SOC)、復(fù)雜可編程邏輯器件(CPLD)、等等。
上文討論并在圖11中示出的驅(qū)動器及其相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)810提供了對計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖11中,硬盤驅(qū)動器841被示為存儲操作系統(tǒng)844、應(yīng)用程序845、其它程序模塊846和程序數(shù)據(jù)847。注意,這些組件可與操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836和程序數(shù)據(jù)837相同,也可與它們不同。在此操作系統(tǒng)844、應(yīng)用程序845、其它程序模塊846以及程序數(shù)據(jù)847被給予了不同的編號,以至少說明它們是不同的副本。
用戶可以通過諸如鍵盤862、話筒863以及諸如鼠標(biāo)、跟蹤球或觸摸墊等定點設(shè)備861等輸入設(shè)備來將命令和信息輸入至計算機(jī)810中。其它輸入設(shè)備(未示出)可以包括操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些以及其它輸入設(shè)備通常通過耦合到系統(tǒng)總線的用戶輸入接口860連接到處理單元820,但也可通過諸如并行端口、游戲端口或通用串行總線(USB)之類的其它接口和總線結(jié)構(gòu)來連接。視覺顯示器891或其他類型的顯示設(shè)備也經(jīng)由諸如視頻接口890之類的接口連接至系統(tǒng)總線821。除了監(jiān)視器以外,計算機(jī)還可包括諸如揚聲器897和打印機(jī)896之類的其它外圍輸出設(shè)備,它們可通過輸出外圍接口895來連接。
計算機(jī)810使用到諸如遠(yuǎn)程計算機(jī)880等一個或多個遠(yuǎn)程計算機(jī)的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機(jī)880可以是個人計算機(jī)、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點,且一般包括以上關(guān)于計算機(jī)810描述的多個或所有的元件。圖11中所示的邏輯連接包括局域網(wǎng)(LAN)871和廣域網(wǎng)(WAN)873,但也可以包括其他網(wǎng)絡(luò)。此類聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)810通過網(wǎng)絡(luò)接口或適配器870連接到LAN 871。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)810通常包括調(diào)制解調(diào)器872或用于通過諸如因特網(wǎng)等WAN 873建立通信的其它手段。調(diào)制解調(diào)器872可以是內(nèi)置的或外置的,可經(jīng)由用戶輸入接口860或其它適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線821。在聯(lián)網(wǎng)環(huán)境中,相關(guān)于計算機(jī)810所示的程序模塊或其部分可被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖11示出了遠(yuǎn)程應(yīng)用程序885駐留在遠(yuǎn)程計算機(jī)880上。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計算機(jī)之間建立通信鏈路的其它手段。
還應(yīng)注意,本文描述的不同實施例可以按不同的方式來組合。即,一個或多個實施例的各部分可以與一個或多個其他實施例的各部分組合在一起。本文中構(gòu)想了所有這些。
盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實現(xiàn)權(quán)利要求的示例形式公開的。