用于個性化應用的啟發(fā)式高速緩存的制作方法
【專利說明】用于個性化應用的啟發(fā)式高速緩存
[0001]對相關申請的交叉引用
[0002]本申請要求2012年7月25日提交的標題為“HEURISTIC CACHING TOPERSONALIZE APPLICAT1NS, ”的美國專利申請N0.13/558,292 (代理結構卷號N0.88325-833858 (126400US))的優(yōu)先權,其全部內容通過引用合并于此以用于所有目的。
【背景技術】
[0003]用戶可以通過用戶界面與應用交互。用戶界面可以包括用于改變應用的狀態(tài)的各個組件。用戶界面可以例如提供用于導航界面和/或處理數(shù)據(jù)的許多選項。通常,用戶與用戶界面的交互使得界面改變狀態(tài)。例如,用戶選擇按鈕或其他元件可以使得用戶界面從當前顯示屏幕改變到具有用戶可用的不同選項的新顯示屏幕。
[0004]許多應用在到界面的狀態(tài)的改變可以引起非平凡使用計算資源的意義上是資源密集的。作為一個示例,許多應用利用基于網(wǎng)絡的技術。用戶可以與執(zhí)行在與服務器設備通信的客戶端設備上的瀏覽器或其他應用交互。服務器設備可以利用允許用戶的客戶端側應用適當?shù)馗碌男畔τ脩粽埱笞龀鲰憫?。服務器本身可以?lián)系諸如數(shù)據(jù)庫服務器之類的其他服務器,以獲得適當?shù)仨憫诳蛻舳苏埱笏枰男畔?。因而,資源密集的應用通常對各種相關的計算機系統(tǒng)加重負擔。從客戶端的視角,當在可以完成轉換到新用戶界面狀態(tài)之前客戶端必須等待服務器響應和/或客戶端需要處理數(shù)據(jù)時可以通知延遲。在各種環(huán)境中,諸如在多個客戶端同時與服務器交互的環(huán)境中,可以加劇延遲和其他問題。
【發(fā)明內容】
[0005]以下呈現(xiàn)本發(fā)明的某些實施例的便于的概要以便提供本發(fā)明的基本理解。此概要不是本發(fā)明的廣泛概述。不預期確認本發(fā)明的關鍵/主要元件或劃定本發(fā)明的范圍。它的唯一目的是以便于形式呈現(xiàn)本發(fā)明的某些實施例作為稍后呈現(xiàn)的更詳細描述的前奏。
[0006]這里公開了用于應用數(shù)據(jù)的啟發(fā)式高速緩存的技術。在實施例中,公開了啟發(fā)式高速緩存的計算機實現(xiàn)的方法。計算機實現(xiàn)的方法可以用來便于在電子環(huán)境中的導航。該方法可以包括:識別用戶可用的多個潛在用戶界面轉換;至少部分地基于特定于用戶的數(shù)據(jù)和關于多個其他用戶的數(shù)據(jù),選擇用戶可用的識別的潛在用戶界面轉換的子集;并且使得采取一個或多個動作,所述動作導致加速由用戶選擇的所選子集的一個或多個轉換。
[0007]在計算機實現(xiàn)的方法中,識別用戶可用的多個潛在用戶界面轉換可以包括從當前用戶界面狀態(tài)識別多個可選擇的用戶界面元件,其中每個元件可選擇以使得導航到對應用戶界面狀態(tài)。特定于用戶的數(shù)據(jù)可以是用戶類型并且關于多個其他用戶的數(shù)據(jù)可以包括至少部分地基于具有用戶類型的一個或多個用戶的過去導航行為聚集的數(shù)據(jù)。特定于用戶的數(shù)據(jù)也可以包括至少部分地基于用戶的過去導航行為確定的數(shù)據(jù)。在實施例中,選擇識別的潛在用戶界面轉換的子集包括:至少部分地基于特定于用戶的數(shù)據(jù)和關于多個其他用戶的數(shù)據(jù)整理多個用戶界面轉換;并且至少部分地基于子集的成員的整理的多個用戶界面轉換中的位置選擇子集。潛在用戶界面轉換可以是由機構使用的應用的轉換并且用戶和其他用戶可以參考機構的操作使用應用。
[0008]除上述之外,公開了用于便于導航的計算機系統(tǒng)。計算機系統(tǒng)可以包括一個或多個處理器和包括在由所述一個或多個處理器執(zhí)行時使得所述一個或多個處理器便于導航的指令的存儲器。計算機系統(tǒng)可以例如:識別從由用戶使用的用戶界面的特定狀態(tài)可用的潛在用戶界面轉換;至少部分地基于特定于用戶的數(shù)據(jù)和關于多個其他用戶的數(shù)據(jù),選擇識別的潛在用戶界面轉換的子集;并且使得加速由用戶選擇的所選子集的一個或多個轉換。
[0009]使得加速選擇的子集的所述一個或多個轉換可以包括,在由用戶選擇所述一個或多個轉換的特定轉換之前,使得用于特定轉換的數(shù)據(jù)被高速緩存。選擇識別的潛在用戶界面轉換的子集可以包括:識別用戶的特性;和將多個用戶識別為共享識別的特性的用戶;和至少部分地基于與用戶界面有關的多個用戶的導航行為,對識別的潛在用戶界面轉換評分以產(chǎn)生對應于識別的潛在用戶界面轉換的分數(shù)。選擇識別的潛在用戶界面轉換的子集可以至少部分地基于分數(shù)。在一些實施例中,用戶界面被配置為訪問基于網(wǎng)絡的應用。選擇識別的潛在用戶界面轉換的子集可以包括識別已經(jīng)將用戶界面導航到特定狀態(tài)的用戶集合。選擇識別的潛在用戶界面轉換的子集可以至少部分地基于已經(jīng)將用戶界面導航到特定狀態(tài)的識別的用戶集合的行為。選擇識別的潛在用戶界面轉換的子集可以包括至少部分地基于用戶的活動測量確定要高速緩存的用戶界面轉換的數(shù)目。識別潛在用戶界面轉換可以包括訪問由與用戶界面的用戶交互操作的應用的模型。
[0010]在實施例中,公開了在其上集體地存儲有由計算機系統(tǒng)的一個或多個處理器可執(zhí)行的指令的一個或多個非瞬時的計算機可讀存儲介質。指令可以包括用于識別可以從用戶界面的特定狀態(tài)獲得的潛在用戶界面轉換的指令;至少部分地基于特定于用戶界面的用戶的數(shù)據(jù)和關于多個其他用戶的數(shù)據(jù)選擇識別的潛在用戶界面轉換的子集的指令;和用于使得加速由用戶選擇的所選子集的一個或多個轉換的指令。
[0011]使得加速所選子集的一個或多個轉換包括在由用戶選擇之前高速緩存用于所述一個或多個轉換的數(shù)據(jù)。選擇識別的潛在用戶界面轉換的子集可以包括識別用戶的特性和將多個其他用戶識別為與用戶共享特性的用戶。在一些實施例中,特性是用戶在機構中的角色。所述一個或多個計算機可讀介質可以包括用于至少部分地基于與用戶界面相關的用戶的活動測量確定指定子集的大小的值的指令,所述子集根據(jù)所述值。所述值可以是要高速緩存的轉換的數(shù)目?;顒訙y量可以至少部分地基于通過用戶與用戶界面的交互引起的轉換的頻率。
[0012]為了更完全理解本發(fā)明的本質和優(yōu)點,應當參考保證的詳細描述和附圖。
【附圖說明】
[0013]圖1示出可以用來實施本發(fā)明的各種實施例的環(huán)境的說明性示例;
[0014]圖2示出根據(jù)至少一個實施例的應用的模型表示的說明性示例。
[0015]圖3示出根據(jù)至少一個實施例的在說明性狀態(tài)中的應用的用戶界面的說明性示例。
[0016]圖4示出用于根據(jù)至少一個實施例的啟發(fā)式高速緩存的處理的說明性示例。
[0017]圖5示出用于根據(jù)至少一個實施例的利用高速緩存的處理的說明性示例。
[0018]圖6示出用于根據(jù)至少一個實施例的啟發(fā)式高速緩存的處理的說明性示例。
[0019]圖7示出用于根據(jù)至少一個實施例的用戶活動表的說明性示例。
[0020]圖8示出用于根據(jù)至少一個實施例確定對于用戶要高速緩存的量的處理的說明性示例。
[0021]圖9示出用于根據(jù)至少一個實施例的利用其他用戶活動執(zhí)行啟發(fā)式高速緩存的處理的說明性示例。
[0022]圖10示出根據(jù)至少一個實施例的高速緩存啟發(fā)式數(shù)據(jù)的圖形表示的說明性示例。
[0023]圖11示出可以用來實施本發(fā)明的各個方面的計算機系統(tǒng)的圖形表示。
[0024]特定實施方式
[0025]在下面說明中,為了說明目的,闡述許多的細節(jié)以便提供對本發(fā)明的更徹底的理解。但是,顯然本發(fā)明可以在沒有這些細節(jié)的情況下實踐。
[0026]以下描述描述在網(wǎng)絡應用領域中的本發(fā)明的實施例。但是,本發(fā)明的范圍不局限于網(wǎng)絡應用,而是可以被應用于其他領域或應用。例如,其中高速緩存數(shù)據(jù)提供優(yōu)點的任何領域或應用可以利用本發(fā)明。其中可以使用本發(fā)明的實施例的領域的示例一般包括利用不立即訪問的數(shù)據(jù)的用戶界面,和因此高速緩存可以改善界面的使用性。
[0027]一般,本發(fā)明的實施例提供利用用于高速緩存數(shù)據(jù)的啟發(fā)式技術以改善諸如來自于網(wǎng)絡應用的用戶界面之類的用戶界面的使用性。一般地,這里描述的技術利用關于用戶界面的用戶和/或其他用戶的數(shù)據(jù)以做出關于要高速緩存哪一個數(shù)據(jù)的智能判定。此類技術可以增加必需數(shù)據(jù)容易可用的可能性,不管與用戶界面的操作有關地使用的計算資源的約束。
[0028]圖1示出可以用來實施本公開的各個實施例的環(huán)境100的說明性示例。在環(huán)境100中,一個或多個客戶端102用于使得對應用戶能夠使用應用??蛻舳丝梢员煌ㄟ^諸如內部網(wǎng)、互聯(lián)網(wǎng)、和/或通信網(wǎng)絡組合之類的適當通信網(wǎng)絡訪問應用服務器104的計算機系統(tǒng)實施??蛻舳?02可以是諸如個人計算機、筆記本計算機、平板計算設備、移動計算設備、和被配置為通過網(wǎng)絡通信并顯示應用內容的一般任何設備之類的任何適當類型的計算機系統(tǒng)??蛻舳丝梢允怯布O備或可以是虛擬客戶端。應用服務器104可以是被配置為執(zhí)行一個或多個應用并接收和響應與所述一個或多個應用的操作有關地提交的電子請求的服務器計算機系統(tǒng)。應用可以例如是基于網(wǎng)絡的應用。
[0029]在實施例中,客戶端102與應用服務器104經(jīng)由高速緩存代理106進行交互。高速緩存代理可以是被配置為根據(jù)這里描述的各個實施例高速緩存應用數(shù)據(jù)的計算機系統(tǒng)。如下面將更詳細描述的,高速緩存代理106可以預加載應用數(shù)據(jù)以使得當這樣的