用戶專用漫游設置的制作方法
【專利摘要】在此公開了漫游設置服務,該漫游設置服務接收由根據第一應用模式供應的應用程序的實例發起的對于專用于用戶的漫游設置的更新。在接收到由根據第二應用模型供應的該應用程序的實例發起的對于專用于用戶的漫游設置的請求后,漫游設置服務檢索反映對漫游設置的更新的經更新的漫游設置。設置服務傳輸經更新的漫游設置以供遞送到根據第二應用模型供應的該應用程序的實例。
【專利說明】用戶專用漫游設置
[0001]直量
[0002]公開的各方面涉及計算機硬件和軟件,尤其涉及用戶專用漫游設置服務。
[0003]應用設置允許應用環境的偏好、狀態和其他特征被存儲并在用戶參與使用該應用環境時被應用。最近使用的文件、自定義詞典以及查看偏好列表是在啟動應用(諸如文字處理、電子表格、電子郵件、演示、社交聯網或游戲應用)之際可被應用的設置示例。
[0004]存在各種各樣的應用模型,用戶通過它們可體驗應用環境和內容。例如,應用可被本地地安裝和執行,被基于web的平臺主存或經由網絡流傳輸以供本地執行等技術。可使用數不盡類型的計算設備,諸如臺式和膝上型計算機、平板、上網本、超級本、電子閱讀器、移動電話、因特網瀏覽設備以及游戲控制臺。
[0005]可用各種方式來跨不同的應用體驗來管理設置。一些方案提供客戶端程序,其監視各應用程序和各操作系統元素之間的與設置相關的調用,并截取這些調用。通過這種方式,由用戶在一個設備上建立的設置可被傳遞到被該相同用戶訪問的其他設備。
[0006]對于一些共享文檔環境,設置可被全局地應用,使得共享文檔的每個版本都與每個其他版本一樣繼承相同的設置。例如,被任一用戶訪問的共享文檔的最后一頁能在打開該共享文檔之際被呈現給每一其他用戶。
[0007]概覽
[0008]在此提供了用于促進漫游設置服務的系統、方法和軟件。具體而言,用戶專用設置可在根據不同應用模型供應的各應用實例之間漫游。
[0009]在一個實現中,漫游設置服務接收由根據第一應用模型供應的應用程序的實例發起的對于專用于用戶的漫游設置的更新。在接收到由根據第二應用模型供應的該應用程序的實例發起的對于專用于用戶的漫游設置的請求后,漫游設置服務檢索反映對漫游設置的更新的經更新的漫游設置。設置服務傳輸經更新的漫游設置以供遞送到根據第二應用模型供應的該應用程序的實例。
[0010]提供本概覽以便以簡化形式介紹將在以下的技術公開中進一步描述的概念選擇。本概覽并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于限定所要求保護的主題的范圍。
【專利附圖】
【附圖說明】
[0011]參考以下附圖可以更好地理解本發明的許多方面。雖然結合這些附圖描述了幾種實現,但所述公開并不局限于在此所述的這些實現。相反,意圖是要覆蓋所有的替換方式、修改和等價物。
[0012]圖1示出了在一實現中漫游設置服務的操作。
[0013]圖2示出了在一實現中由設置服務器執行來提供漫游設置服務的過程。
[0014]圖3示出了在一實現中由應用實例執行來提供漫游設置服務的過程。
[0015]圖4示出了在一實現中用于提供漫游設置服務的計算環境。
[0016]圖5示出了在一實現中用于提供漫游設置服務的計算環境。
[0017]圖6是示出了當在一實現中提供漫游設置服務時,計算環境內的可操作交換的序列圖。
[0018]圖7是示出了當在一實現中提供漫游設置服務時,計算環境內的可操作交換的序列圖。
[0019]圖8是示出了當在一實現中提供漫游設置服務時,計算環境內的可操作交換的序列圖。
[0020]圖9是示出了當在一實現中提供漫游設置服務時,計算環境內的可操作交換的序列圖。
【具體實施方式】
[0021]在此描述的各實現通過在用戶專用基礎上促進漫游設置來提供改進的應用體驗。在參與使用根據一個應用模型供應的應用時所建立的漫游設置,可在參與使用根據不同的應用模型供應的相同應用時被享受。實際上,漫游設置還可被應用到不同的應用,而非僅僅是相同應用的不同實例。
[0022]在簡單的示例中,用戶可在參與使用本地地安裝在他或她的臺式或膝上型計算機上的生產力應用時建立設置。接著,在隨后通過被主存的應用模型或流應用模型的方式參與使用相同的應用時,相同的設置可被用戶享受。通過這個方式,用戶可跨應用的各個實例來享受共同的應用體驗,而不管應用通過其被遞送的供應模型。如所提到的,漫游設置還可被應用到不同的應用。例如,用戶可參與使用不同的生產力應用,諸如在應用套件中與其它生產力應用一起提供的一個生產力應用。專用于用戶的漫游設置的全部或部分可被檢索并被不同的應用來應用。
[0023]在一個實現中,設置服務用于實現以上提到的跨不同的應用模型和不同的應用的用戶專用設置的漫游。用戶專用設置可通過用各種方式供應的應用的各種實例被傳遞到設置服務。隨著用戶通過各種供應模型的方式參與使用應用,設置服務可傳遞針對該用戶的設置,從而允許應用的該實例呈現熟悉的應用體驗。隨著用戶遷移到應用的不同實例,與該用戶相關聯的設置可被更新到設置服務并與用戶一起遷移到應用的下一實例,而不管應用的下一實例如何被供應。
[0024]各種供應模型可被設置服務適應,而不應限于在此討論的那些。本地安裝的實例、被主存的實例以及流實例僅僅是供應模型的一些示例,包括它們的組合或變型。例如,應用的一些實例可首先以流方式來提供,但接著被本地地安裝并從中執行。在另一示例中,應用的一些實例可包括相對用戶所參與的本地設備而言遠程執行的組件,但還可包括在本地設備上執行的可能在另一本地應用(諸如瀏覽器)內的其它組件。
[0025]用戶通過其可參與應用的底層設備還可變化并可對設置服務所適應的各種供應模型做出貢獻。例如,用戶可使用臺式計算機、膝上型計算機、平板計算機、移動電話、媒體設備、音樂播放器、視頻設備以及因特網用具以及任意其它類型的能夠根據供應模型來提供應用的計算設備來參與使用應用。
[0026]各種應用程序還可被設置服務適應,而不應限于在此討論的那些。通信應用、生產力應用、游戲應用、娛樂應用、瀏覽應用和社交網絡應用以及它們的任意組合或變型僅僅是能根據各種供應模型來供應的應用的一些示例。生產力應用的示例包括但不限于,文字編輯應用、電子表格應用、演示應用以及數據庫應用。
[0027]在另一簡單的示例中,用戶可通過他或她的膝上型計算機的方式參與使用生產力應用的本地安裝的實例。在與應用的這個實例一起工作時,與用戶相關聯的設置可被跟蹤或以其它方式被應用確定。最近使用文檔列表、自定義字典以及文檔中用戶最后訪問的頁是設置的示例,但是應當理解,其它類型的設置、設置的組合或它們的變型是可能的。
[0028]隨著用戶參與使用生產力應用,設置可改變。例如,最近使用文檔列表可改變,單詞可被添加到自定義字典或文檔中被訪問的最后頁可改變。因此,在膝上型計算機上被本地地安裝并執行的應用的實例可將經更新的設置傳遞到設置服務。設置服務與用戶相關聯地存儲經更新的設置,使得經更新的設置可隨后被檢索并提供到應用的另一實例。
[0029]繼續這個示例,用戶可再次參與使用相同的生產力應用、但被不同地供應的它的實例(諸如應用的被主存的版本)。被主存的版本可通過在相同的膝上型計算機或完全不同的計算設備上運行的web瀏覽器應用的方式來訪問。在參與使用生產力應用的被主存的實例后,從設置服務檢索專用于用戶的經更新的設置,使得用戶可享受與在通過本地地安裝的實例的方式與應用交互時那樣熟悉的體驗。例如,當用戶打開文檔時,文檔可被打開到最后訪問的頁,諸如在膝上型計算機上最后訪問的頁。
[0030]所以上示例的變型中,所參考的文檔可以是共享生產力文檔,使得多個用戶能夠訪問文檔。在這種情況下,用戶可被返回到他或她最后訪問的特定頁,而其他用戶可被返回到他們最后訪問的其他頁,而不是將每個用戶返回到任意用戶訪問的最后頁。
[0031]現在參考附圖,圖1-3示出了漫游設置服務的操作以及用于實現該服務的計算環境和過程。具體而言,圖1示出了漫游設置服務的操作,而圖2和圖3示出了用于提供服務的過程。圖4示出了適合于實現漫游設置服務和過程的計算環境。圖5示出了在其中可實現漫游設置服務的另一計算環境,而圖6-9示出了在提供漫游設置服務的上下文中,在計算環境內的各個可操作交換。
[0032]現在轉向圖1,漫游環境100包括根據應用模型105供應的應用實例103、根據應用模型109供應的應用實例107以及根據應用模型113供應的應用實例111。漫游環境100還包括設置服務器121和設置存儲123,以及內容服務器131和內容存儲133。
[0033]在操作中,用戶101最初(Tl)參與根據應用模型105供應的應用實例103。例如,可由內容服務器131向內容存儲133檢索內容并將內容傳遞到應用實例103,從而允許用戶101對內容進行工作。應當理解,用戶101可參與應用實例103,而不從內容服務器131檢索內容。如在此使用的,內容可指代內容項,諸如照片、文檔、電子表格、演示、視頻等。然而,內容還可指代內容項集合,諸如若干個文檔、電子表格、演示等。
[0034]在參與應用實例103并與其一起工作后,設置更新被發起并被傳遞到設置服務器121。設置更新可包括代表用戶101對用戶專用設置作出的改變,可能指示用戶針對內容作出的交互。設置服務器121在設置存儲123中更新與用戶101相關聯的設置來反映改變。用戶與內容的交互是公知的并且對它的捕捉一般被大多數生產力應用所支持。例如,許多生產力應用能夠記錄、注釋或以其他方式存儲對應于用戶交互的信息,諸如在關閉文檔之前到達了文檔中的哪個頁或點。用戶交互一般通過用戶界面的方式所接收,包括用戶界面設備和對應的軟件。
[0035]在稍后的時間(T2),用戶101可參與根據應用模型109供應的應用實例107。在參與應用實例107后,專用于用戶101的設置被設置服務器121傳遞到應用實例107。設置可反映先前以通過應用實例103作出的設置更新的方式來作出的改變。也可通過內容服務器131從內容存儲133檢索內容并將內容提供到應用實例107。該內容可以是與先前由內容服務器131提供給應用實例103的一個項或多個項相同的一個項或多個項。在內容是與應用實例103所訪問的內容相同的內容的情況下,應用實例107獲得的設置的至少一部分可應用到該內容。換言之,無論是通過根據一個模型供應的應用實例103的方式訪問內容還是通過根據另一模型供應的應用實例107的方式訪問內容,用戶101可享受到應用到該內容的相同的設置。
[0036]在另一時間(T3),不同的用戶(用戶102)可參與根據應用模型113供應的應用實例111。在參與應用實例111后,專用于用戶102的設置被設置服務器121傳遞到應用實例111。也可通過內容服務器131從內容存儲133檢索內容并將內容提供到應用實例111。
[0037]實際上,內容可以是與先前由內容服務器131提供給應用實例103和應用實例105任一或兩者的一個項或多個項相同的一個項或多個項。例如,內容可以是共享內容。在這樣的情況下,專用于用戶102的設置可由應用實例111應用到共享內容,從而允許用戶102體驗與那些代表用戶101來應用到內容的設置不同的設置。
[0038]圖2示出了可由設置服務器121在漫游環境100內實現的用于提供漫游設置服務的至少一部分的服務器過程200。作為開始,設置服務器121接收來自應用實例的專用于用戶的設置更新(步驟201)。應當理解,更新所應用到的設置可先前在相同的應用實例、不同的應用實例或完全不同的應用的操作期間已經被建立。接著,設置服務器121接收來自另一應用實例的對專用于用戶的漫游設置的請求(步驟205)。設置服務器121檢索專用于用戶的漫游設置(步驟205)并將它們傳輸以供遞送到該另一應用實例(步驟207)。
[0039]圖3示出了可由應用實例103、107和111任一實現來提供用戶專用漫游設置服務的至少一部分的應用過程300。作為開始,應用實例生成對于用戶專用漫游設置的請求并將該請求傳送到設置服務121 (步驟301)。應用實例還可任選地從內容服務器131獲得內容。在接收到漫游設置(步驟303)后,應用實例在應用實例內應用用戶專用設置,包括將用戶專用設置任選地應用到涉及該內容的應用實例的內容或部分。
[0040]現在參考圖4,示出了適用于實現漫游設置服務的計算環境400。計算環境400包括計算系統410和計算系統420。計算系統410 —般表示在其上可合適地實現設置服務器121的任意一個或多個計算系統。計算系統420 —般表示在其上可分別根據應用模型105、109和113來合適地實現應用實例103、107和111的任意(諸)計算系統。應用模型105、109和113的各示例包括但不限于本地安裝模型、被主存應用模型以及流應用模型。
[0041]計算系統410的各示例包括服務器計算機、虛擬機和分布式計算系統以及它們的任意其他組合或變型。計算系統420的各示例包括個人計算機、服務器計算機、客戶端計算機、移動計算機、媒體設備、互聯網用具、臺式計算機、膝上計算機、平板計算機、筆記本電腦、移動電話、智能電話、游戲設備和個人數字助理,及其任何組合或變型。
[0042]計算系統410包括處理系統411、存儲系統413、軟件415和通信接口 417。處理系統411操作地與存儲系統413和通信接口 417耦合。處理系統411從存儲系統413加載并執行包括設置服務器421的軟件415。當概括而言被計算系統410執行時,軟件415引導計算系統410以如在此針對服務器過程200描述的那樣操作。
[0043]計算系統410可任選地包括附加的設備、特征或功能。例如,計算系統410可任選地具有輸入設備,諸如鍵盤、鼠標、語音輸入設備、觸摸輸入設備、手勢輸入設備或其它類似輸入設備。還可以包括輸出設備,諸如顯示器、揚聲器、打印機和其它類型的類似輸出設備。這些設備在本領域中公知且無需在此處詳細討論。
[0044]仍然參考圖4,處理系統411可以包括從存儲系統413中檢索并執行軟件415的微處理器以及其他電路。處理系統411可以在單個處理設備中實現,但也可以跨在執行程序指令中協作的多個處理設備或子系統分布。處理系統411的示例包括通用中央處理單元、專用處理器、和邏輯設備、以及任何其他類型的處理設備,處理設備的組合或其變型。
[0045]存儲系統413可以包括可由處理系統411讀取并能存儲軟件415和設置存儲123的任意存儲介質。存儲系統413可包括易失性和非易失性、可移動和不可移動介質,它們以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據這樣的信息的任意方法或技術來實現。存儲系統413可以被實現為單個存儲設備,但也可以跨多個存儲設備或子系統來實現。存儲系統413可以包括附加元件,諸如能夠與處理系統411通信的控制器。
[0046]存儲介質的示例包括隨機存取存儲器、只讀存儲器、磁盤、光盤、閃存、虛擬存儲器,和非虛擬存儲器、磁帶盒、磁帶、磁盤存儲或其它磁存儲設備、或可被用于存儲想要的信息并可被指令執行系統訪問的任何其他介質,以及它們的任何組合或變型,或任何其它類型的存儲介質。在一些實現中,存儲介質可以是非瞬態存儲介質。在一些實現中,所述存儲介質的至少一部分可以是瞬態的。應該理解,存儲介質決不是被傳播的信號。
[0047]軟件415包括設置服務器121,其實現服務器過程200。設置服務器121可被實現在服務器程序指令中并且其他功能當被計算系統410執行時,可引導計算系統410處理請求以標識與用戶相關聯的反映對漫游設置的更新的經更新的漫游設置,并傳輸經更新的漫游設置以供遞送到客戶端。
[0048]除了設置服務器121之外,軟件415還可包括附加的過程、程序或組件,諸如操作系統軟件或其他應用軟件。軟件415還可包括固件或能夠被處理系統411執行的某些其它形式的機器可讀處理指令。
[0049]—般而言,軟件415在被加載到處理系統411中并被執行時,可將處理系統411和計算系統410整體從通用計算系統變換成被定制以促進在此針對每個實現所描述的漫游設置服務的專用計算系統。事實上,存儲系統413上的編碼軟件415可變換存儲系統413的物理結構。在本說明書的不同實現中,物理結構的具體變換可取決于各種因素。這樣的各因素的示例可以包括,但不僅限于:用于實現存儲系統413的存儲介質以及計算機存儲介質是作為主存儲還是輔存儲的技術。
[0050]例如,如果計算機存儲介質被實現為基于半導體的存儲器,則當在其中編碼程序時,軟件415可以變換半導體存儲器的物理狀態。例如,軟件415可以變換構成半導體存儲器的晶體管、電容器或其它分立電路元件的狀態。一種類似的變換可以相對于磁性或光學介質發生。在沒有偏離本說明書的范圍的情況下,物理介質的其他變換也是可能的,前面提供的示例只是為了便于這一討論。
[0051]應當理解,計算系統410通常旨在表示設置服務器121可在其中部署并執行的計算環境400的元素。然而,計算系統410還可表示至少設置服務器121可在其上被分階段,并且設置組件121可從中傳輸、下載,或以其他方式提供給類似于計算系統410的另一計算系統以供執行的計算環境400中的其他元素(未顯示)。
[0052]再次參見圖1,通過采用軟件415且具體是設置服務器121的計算系統410的操作,可針對服務器過程200執行變換。作為一個示例,計算系統410可被認為通過對用戶專用設置更新的處理從一個狀態變換到另一狀態。在第一狀態中,用戶專用設置被存儲在存儲系統413上的設置存儲123中。在接收到設置更新后,用戶專用設置可被更新來反映在更新中表示的改變,從而將計算系統410改變到第二、不同的狀態。
[0053]再次參見圖4,通信接口 417可包括允許在計算系統410和計算系統420之間以及與其他計算系統(未示出)通過通信網絡405進行通信的通信連接和設備。加在一起允許系統間通信的連接和設備的示例包括網絡接口卡、天線、功率放大器、RF電路系統、收發機以及其它通信電路系統。上述網絡、連接和設備是公知的且無需在此處詳細討論。
[0054]關于計算系統420,所包括的若干個元素與在計算系統410中發現的那些元素類似并且不需要在此詳細討論,包括處理系統421、存儲系統423和通信接口 427。計算系統420還包括軟件425和用戶接口 429,這在以下詳細討論。處理系統421操作地與存儲系統423、通信接口 427和用戶接口 429耦合。處理系統421從存儲系統423加載并執行軟件425,包括表示應用實例403、407和111的應用實例426。當概括而言由計算系統420執行時,且具體而言由處理系統421執行時,軟件425引導計算系統420如本文針對應用過程300所描述的那樣操作。
[0055]軟件425包括應用實例426,其實現應用過程300。應用實例426可實現在應用程序指令中,并且其他功能當被計算系統420執行時,可引導計算系統420處理請求來請求、接收和應用用戶專用漫游設置。應用程序指令還可包括或被稱為客戶端程序指令。除了應用實例426之外,軟件425還可包括附加的過程、程序或組件,諸如操作系統軟件或其他應用軟件。軟件425還可包括固件或可被處理系統421執行的某些其它形式的機器可讀處理指令。
[0056]一般而言,軟件425在被加載到處理系統421中并被執行時,可將處理系統421和計算系統420整體從通用計算系統變換成被定制以促進在此針對每個實現所描述的漫游設置服務的專用計算系統。事實上,存儲系統423上的編碼軟件425可變換存儲系統423的物理結構。在本說明書的不同實現中,物理結構的具體變換可取決于各種因素。這樣的各因素的示例可以包括,但不僅限于:用于實現存儲系統423的存儲介質以及計算機存儲介質是作為主存儲還是輔存儲的技術。
[0057]例如,如果計算機存儲介質被實現為基于半導體的存儲器,則當在其中編碼程序時,軟件425可以變換半導體存儲器的物理狀態。例如,軟件425可以變換構成半導體存儲器的晶體管、電容器或其它分立電路元件的狀態。一種類似的變換可以相對于磁性或光學介質發生。在沒有偏離本說明書的范圍的情況下,物理介質的其他變換也是可能的,前面提供的示例只是為了便于這一討論。
[0058]應當理解,計算系統420通常旨在表示應用實例可在其中部署并執行的計算環境400的元素。然而,計算系統420還可表示至少應用實例可在其上被分階段,并且應用實例可從中傳輸、下載,或以其他方式提供給另一計算系統以供執行的計算環境400中的其他兀素(未顯不)。
[0059]再次參見圖1,通過采用軟件425且具體是應用實例426的計算系統420的操作,可針對漫游環境100執行變換。作為一個示例,計算系統420可被認為通過對用戶專用設置更新的處理從一個狀態變換到另一狀態。在第一狀態中,應用實例可在沒有用戶專用設置的情況下啟動。在請求并接收用戶專用設置后,應用實例可被改變來反映設置,從而將計算系統420改變到第二、不同的狀態。
[0060]用戶接口 429可包括,鼠標、聲音輸入設備,用于接收來自用戶的姿勢的觸摸輸入設備、用于檢測用戶的非接觸姿勢和其它運動的運動輸入設備,以及其它類似的輸入設備以及能夠接收來自用戶的用戶輸入的相關聯的處理元件。輸出設備,諸如顯示器、揚聲器、打印機、觸覺設備,和其它類型的輸出設備也可以被包括在用戶接口 429中。上述用戶輸入設備在本領域中公知且無需在此處詳細討論。
[0061]應用接口 431可由應用實例426生成并由用戶接口 429顯示。應用接口 431示出可被傳遞到應用實例426的若干個示例用戶專用漫游設置。應當理解,設置僅僅是示例性的并且不應當被限定為在此公開的那些。代表與用戶專用設置相關聯的用戶,設置包括最近使用文檔435列表、文檔437內的文本框439中的格式化樣式以及文檔中最近訪問的頁441。在操作中,應用實例426用于檢索與通過用戶登錄模塊433的方式所標識的用戶相關聯的用戶專用設置。登錄可被集成在應用實例426內,但可與在計算系統420上執行的其他元素(諸如其他應用或操作系統元素)進行集成。應當理解,除了用戶登錄模塊433之外或替代于用戶登錄模塊433,還可通過其他方式來標識用戶。
[0062]隨著用于與應用接口 431交互,設置可改變,由此觸發或以其他方式提示對設置服務器121的更新。例如,文檔437可被添加到最近使用文檔435列表或替代最近使用文檔435列表中的文檔A、B和C之一。隨著用戶導航通過文檔437到不同的頁,最近訪問頁可從頁X改變到不同的頁。類似地,用戶可決定改變文本框439的格式。應用實例426可將這些改變傳遞到設置服務器121以供與用戶相關聯的存儲。
[0063]接著,在參與也許在計算系統420或某個其他類似設備上實現的另一應用實例后,經更新的用戶設置可從設置服務器121中檢索并被加載或以其他方式被應用接口呈現給該另一應用實例。通過這種方式,同一用戶能夠享受與當先前參與使用應用實例426時相同的設置。例如,用戶可被呈現熟悉的最近使用文檔列表、被返回到文檔中訪問的最后頁以及被呈現熟悉的格式化。
[0064]圖5示出了可在其中實現漫游設置服務的計算環境500。計算環境500包括客戶端設備503、客戶端設備505以及客戶端設備507,出于說明性的目的,所有都與用戶501相關聯。計算環境500還包括客戶端設備509以及客戶端設備511,出于說明性的目的,兩者都與用戶502相關聯。諸如個人計算機、膝上型計算機、平板計算機、移動電話、媒體設備、音樂播放器以及視頻設備等的客戶端計算系統是客戶端設備503、505、507、509和511的示例。
[0065]客戶端設備503、505、507、509和511在各個時間可通過通信網絡518與設置服務520、內容服務530和被主存的應用服務540進行通信。設置服務520可在服務器計算系統(諸如圖4中示出的計算系統410)上實現。被主存的應用服務540可被實現在應用服務器上,其本身可以是類似于計算系統410和420的計算系統。
[0066]由用戶501操作的客戶端設備503、505和507中的每個包括根據各個供應模型供應的應用實例。具體而言,客戶端設備503包括所安裝的應用504。類似地,客戶端設備505包括所安裝的應用506。客戶端設備507包括被主存的應用508。
[0067]由用戶502操作的客戶端設備中的每個包括根據各個供應模型供應的應用實例。客戶端設備509包括所安裝的應用510,而客戶端設備511包括被主存的應用512。
[0068]應當理解,每個設備可具有要么類似于要么不同于在此討論的應用實例的其他附加的應用實例。附加地,應當理解,可根據類似模型供應其他應用實例,如在計算環境500中示出的應用實例。然而,可根據未示出的其他供應模型來供應應用實例,諸如流應用模型或在此構想的供應模型的任意組合或變型。
[0069]應當理解,盡管用戶專用設置可被應用到類似的應用實例,但是用戶專用設置還可被應用到不同類型的應用。附加地,每個應用實例可以是如每個其他應用實例那樣的相同應用的實例。例如,每個應用實例可以是生產力應用并且具體是文字處理應用。
[0070]然而,還有可能每個應用實例或應用實例的至少一個是與其他應用實例不同的應用的實例。例如,盡管一些應用實例可以是生產力應用的實例,但是另一應用實例可以是游戲應用的實例。在另一示例中,盡管一些應用可以是文字處理應用的實例,但是另一應用實例可以是電子表格應用的實例。
[0071]設置服務520包括設置521和設置522。設置521表示對應于用戶501的能夠被漫游到客戶端設備503、505和507以及任意其它可時不時地與用戶501相關聯的客戶端設備或從這些客戶端設備漫游的設置。設置522表示對應于用戶502的能夠被漫游到客戶端設備509和511以及任意其它可時不時地與用戶502相關聯的客戶端設備或從這些客戶端設備漫游的設置。
[0072]內容服務530包括文檔531和共享文檔532。內容服務530可以是能夠存儲可被應用程序(諸如生產力應用)加載或以其它方式被應用程序主存的內容的任意系統或服務。內容服務530可以是集成的服務,使得它可被操作設置服務520的同一實體操作。然而,內容服務530可被與操作設置服務520的實體不同的實體操作。換言之,內容服務530可以是允許對內容項的遠程或基于云的存儲的第三方存儲服務。然而,內容服務530還可以是由提供設置服務520的同一實體提供的集成的存儲服務。
[0073]在操作中,用戶501可參與在客戶端設備503、505和507上的任意應用實例。作為與應用實例交互的一部分,可向應用實例標識用戶501。例如,用戶501可登錄到應用實例。應用實例接著將用戶501的身份傳遞到設置服務520來獲得專用于用戶501的設置521。
[0074]隨著用戶501與應用實例一起工作,對設置521的更新被提供到設置服務520。接著,當用戶501在同一客戶端設備或不同客戶端設備上參與使用同一應用實例或另一應用實例時,用戶可再次被標識并且代表用戶521來檢索設置521。該另一應用實例由此可加載設置521并向用戶501呈現被配置在設置521的視圖中的如在參與使用初始應用實例時享受的類似的應用接口。
[0075]應用實例的類型可變化并且專用于用戶501的設置可依然被提供并被應用促進。例如,從本地安裝的應用中更新的設置可被漫游到應用的被主存的實例,諸如基于web的實例。由此,無論是與直接安裝在客戶端設備上的應用一起工作還是與被主存在遠程服務器上的應用的版本一起工作,用戶501都能體驗相同的設置。
[0076]應當注意,設置521的至少一部分可涉及被內容服務530存儲的特定內容項,諸如文檔531或共享文檔532。由此,由用戶501操作的客戶端設備可向設置服務520請求設置并向內容服務530請求內容。設置521接著可被應用到內容,而不管什么設備或應用實例或它們的組合正被用戶501用來訪問內容。
[0077]在設置被應用到共享文檔532的情況下,這樣的設置允許用戶501以相對用戶502而言自定義的方式來體驗共享文檔532。例如,設置521可標識用戶502在共享文檔532中所訪問的最后頁,而設置522可標識用戶502所訪問的最后頁。
[0078]進一步在操作中,用戶502可參與在客戶端設備509和511上的任意應用實例。作為與應用實例交互的一部分,可向應用實例標識用戶502。例如,用戶502可登錄到應用實例。應用實例接著將用戶502的身份傳遞到設置服務520來獲得專用于用戶502的設置522。
[0079]隨著用戶502與應用實例一起工作,對設置522的更新被提供到設置服務520。接著,當用戶502在同一客戶端設備或不同客戶端設備上參與使用另一應用實例時,用戶可再次被標識并且代表用戶502來檢索設置522。該另一應用實例由此可加載設置522并向用戶502呈現被配置在設置522的視圖中的如在參與使用初始應用實例時享受的類似的應用接口。
[0080]應當注意,設置522的至少一部分可涉及共享內容項,諸如共享文檔532。由此,由用戶502操作的客戶端設備可向設置服務520請求設置并向內容服務530請求內容。設置522接著可被應用到內容,而不管什么設備或應用實例或它們的組合正被用戶502用來訪問內容。
[0081]在設置被應用到共享文檔532的情況下,這樣的設置允許用戶502以相對用戶501而言自定義的方式來體驗共享文檔532。例如,設置522可標識用戶502在共享文檔532中所訪問的最后頁,而設置521可標識用戶501所訪問的最后頁。
[0082]現在參考圖6-9,示出了描述當在一實現中提供漫游設置時計算環境500內的可操作交換的若干個序列圖。
[0083]轉向圖6,可操作交換500示出了借此專用于用戶501的設置被在兩個不同的具有在其上運行的所安裝的應用實例的客戶端設備之間漫游的示例。初始地,用戶501登錄進入客戶端設備503上的所安裝的應用504或以其它方式向該應用標識用戶501。在用戶501被標識后,所安裝的應用504通過客戶端設備503的方式發起設置請求,該設置請求被傳輸以供通過通信網絡518遞送到設置服務520。設置請求標識用戶501,從而允許設置服務520檢索專用于用戶521的設置521。設置服務521向客戶端設備503返回設置521以供加載或配置在所安裝的應用504中。
[0084]在設置請求的同時、之前或之后,所安裝的應用504還發起從內容服務530的對文檔531的檢索。內容服務530將文檔531提供到客戶端設備503。所安裝的應用504接著可應用設置521的與文檔531相關的各部分。
[0085]隨著用戶501與所安裝的應用504 —起工作,可能作出對所安裝的應用504、文檔531或由所安裝的應用504生成的應用環境的其它方面的改變,對設置531的改變被監視并在設置更新中被提供給設置服務520。設置服務520接收改變并更新設置521的所存儲的副本來反映改變。
[0086]在稍后的時間,用戶501參與使用客戶端設備505上的所安裝的應用506。用戶501再次通過登錄的方式或一些其它標識機制來被標識。登錄可與所安裝的應用506、與所安裝的應用506相關聯的應用環境或甚至與所安裝的應用506相關聯的操作系統環境相關聯。替換地,登錄可與內容服務530相關聯。例如,用戶501可登錄到與內容服務530相關聯的客戶端應用以便獲取對內容服務530所存儲的文檔以及其它內容的訪問。該身份接著可被用于向設置服務520標識用戶501。
[0087]所安裝的應用506通過客戶端設備505的方式發起對設置的請求,該請求被傳輸以供通過通信網絡518遞送到設置服務520。設置服務520接收請求并響應地檢索設置521的經更新的版本并將設置521以它們的經更新的形式提供到所安裝的應用506。所安裝的應用506還可從內容服務530檢索文檔531。內容服務530將文檔531提供到客戶端設備505。所安裝的應用506接著可應用設置521的與文檔531有關的各部分,由此允許用戶501以與當通過客戶端設備503上的所安裝的應用504體驗時類似的方式來通過所安裝的應用506的方式體驗文檔531。
[0088]圖7示出了可操作交換700,借此專用于用戶501的設置被在兩個不同的具有在其上運行的不同類型的應用實例的客戶端設備之間漫游。即,設置521在應用的所安裝的實例和該應用的被主存的實例之間漫游。
[0089]初始地,用戶501登錄進入客戶端設備503上的所安裝的應用504或以其它方式向該應用標識用戶501。在用戶501被標識后,所安裝的應用504通過客戶端設備503的方式發起設置請求,該設置請求被傳輸以供通過通信網絡518遞送到設置服務520。設置請求標識用戶501,從而允許設置服務520檢索專用于用戶501的設置521。設置服務520向客戶端設備503返回設置521以供加載在所安裝的應用504中。
[0090]在設置請求的同時、之前或之后,所安裝的應用504還發起從內容服務530的對文檔531的檢索。內容服務530將文檔531提供到客戶端設備503。所安裝的應用504接著可應用設置521的與文檔531相關的各部分。
[0091]隨著用戶501與所安裝的應用504 —起工作,可能作出對所安裝的應用504、文檔531或由所安裝的應用504生成的應用環境的其它方面的改變,對設置521的改變被監視并在設置更新中被提供給設置服務520。設置服務520接收改變并更新設置521的所存儲的副本來反映改變。
[0092]在稍后的時間,用戶501參與使用客戶端設備507上的所主存的應用508。通過登錄的方式或一些其它標識機制向應用服務540標識用戶501,該應用服務540主存生產力應用543并將其實例提供到由被主存的應用508表示的客戶端設備507。登錄可與被主存的應用508、與被主存的應用508相關聯的應用環境或甚至與被主存的應用508相關聯的操作系統環境相關聯。替換地,登錄可與內容服務530相關聯。例如,用戶501可登錄到與內容服務530相關聯的客戶端應用以便獲取對內容服務530所存儲的文檔以及其它內容的訪問。該身份接著可被用于向設置服務520標識用戶501。
[0093]應用服務540接著發起對專用于用戶501的設置的請求,該請求被傳輸以供通過通信網絡518遞送到設置服務520。替換地,被主存的應用508而非應用服務540可作出這個請求。設置服務520接收請求并響應地檢索設置521的經更新的版本并將設置521以它們的經更新的形式提供到應用服務540或替換地到被主存的應用508。應用服務540接著將設置521應用到在由被主存的應用508表示的客戶端設備507上體驗的生產力應用543的實例。替換地,被主存的應用508可應用由應用服務540或設置服務520傳遞到其的設置本身。
[0094]被主存的應用508還可發起對通過應用服務540傳遞的文檔531的請求。應用服務540接收請求并將文檔請求傳遞到內容服務530以獲得所請求的文檔。內容服務530將文檔531提供到應用服務540,應用服務540應用設置521的與文檔531有關的各部分。應用服務540接著通過在客戶端設備507上運行的被主存的應用508的方式將文檔531呈現給用戶501,從而允許用戶501以與當通過所安裝的應用504體驗時類似的方式來通過被主存的應用508的方式體驗文檔531。在借此被主存的應用508與設置服務520通信來獲得用戶專用漫游設置的替換中,替代于被主存的應用服務540,被主存的應用508可將設置應用到文檔531。
[0095]在另一替換中,內容服務530可以能夠與設置服務520通信來獲得專用于用戶501或用戶502的漫游設置。在這個替換中,可通過應用登錄的方式、與內容服務530相關聯的登錄過程或一些其它方式向內容服務530標識用戶。在應用代表用戶來請求內容項后,內容服務530可與設置服務520通信來檢索漫游設置。內容服務530可接著將內容項和漫游設置兩者提供給發出請求的應用,而不管可根據其來提供應用的應用模型。例如,內容服務530可將漫游設置傳遞到本地地安裝在客戶端設備503、505、507、509和511上的、被流傳輸到客戶端設備503、505、507、509和511上的或以被主存的方式運行在客戶端設備503、505、507,509和511上的應用。附加地,內容服務530可將漫游設置傳遞到被主存的應用服務540。
[0096]應當理解,用戶502可在圖7中針對所安裝的應用510和被主存的應用512體驗與以上針對用戶501描述的類似的場景。
[0097]圖8示出了可操作交換800,借此專用于用戶501的設置和專用于用戶502的設置兩者均被應用到共享內容使得每個用戶可針對相同內容體驗自定義的設置。
[0098]初始地,用戶501登錄進入客戶端設備503上的所安裝的應用504或以其它方式向該應用標識用戶501。在用戶501被標識后,所安裝的應用504通過客戶端設備503的方式發起設置請求,該設置請求被傳輸以供通過通信網絡518遞送到設置服務520。設置請求標識用戶501,從而允許設置服務520檢索專用于用戶521的設置521。設置服務521向客戶端設備503返回設置521以供加載在所安裝的應用504中。
[0099]在設置請求的同時、之前或之后,所安裝的應用504還發起從內容服務530的對共享文檔532的檢索。內容服務530將文檔532提供到客戶端設備503。所安裝的應用504接著可應用設置521的與共享文檔532相關的各部分。在設置被應用到共享文檔532的示例中,這樣的設置允許用戶501以相對用戶502而言自定義的方式來體驗共享文檔532。例如,設置521可標識用戶532在共享文檔532中所訪問的最后頁(頁X),而設置522 (以下討論的)可標識用戶502在共享文檔532中所訪問的最后頁(頁Y)。
[0100]與此同時,用戶502可參與使用客戶端設備509上的所安裝的應用510。通過登錄的方式或一些其它標識機制標識用戶502。所安裝的應用510通過客戶端設備509的方式發起對設置的請求,該請求被傳輸以供通過通信網絡518遞送到設置服務520。設置服務520接收請求并響應地檢索專用于用戶502的設置522并將設置522提供到所安裝的應用510。
[0101]所安裝的應用510還可從內容服務530檢索共享文檔532。內容服務530將文檔532提供到客戶端設備509。所安裝的應用510接著可應用設置522的與共享文檔532相關的各部分。在設置被應用到共享文檔532的示例中,這樣的設置允許用戶502以相對用戶501而言自定義的方式來體驗共享文檔532。例如,設置522可標識用戶502在共享文檔532中所訪問的最后頁(頁Y),而設置521 (以上討論的)可標識用戶502在共享文檔532中所訪問的最后頁(頁X)。
[0102]圖9示出了涉及設置服務521的失敗的可操作交換900。在可操作交換900中,設置更新與被附加的或以其它方式與其包括的生成標識符一起被提供到設置服務521。例如,客戶端設備503在由所安裝的應用504發起更新之際向設置服務521提供生成標識符。類似地,客戶端設備505在由所安裝的應用506發起更新之際向設置服務521提供生成標識符。
[0103]在任意給定的時刻,可發生禁用設置服務520的全部或一部分的失敗。例如,專用于用戶501的設置521可被刪除、破壞或以其它方式呈現為不可用。響應于檢測到失敗情況,設置服務521能夠分析生成存儲來確定應該向哪個應用實例查詢與用戶501相關聯的設置521的最新版本,其中生成標識符可與應用實例相關聯地存儲在生成存儲中。
[0104]在這個示例中,出于說明性的目的,確定由客戶端設備503提供的生成標識符表示最新的生成標識符。因此,設置服務521向客戶端設備503上的所安裝的應用實例作出修復請求來提供設置521的完整的或近乎完整的副本。通過這種方式,設置服務520可獲得設置521并且向前移動允許設置521漫游到用戶501所參與的其它設備和應用實例。
[0105]在替換中,在客戶端設備503和505上運行的各個應用實例可簡單地跟蹤它們各自的設置更新,而非與設置更新一起提供生成標識符。接著響應于失敗,設置服務520可向客戶端設備503和505查詢它們各自的生成標識符。在那時,客戶端設備503和505可提供它們各自的生成標識符以供設置服務520分析來確定用其來對失敗進行響應的設置521的最新副本的位置。
[0106]在漫游設置服務的可操作示例中,服務接收對于專用于用戶的漫游設置的更新,該專用于用戶的漫游設置至少指示用戶在參與使用根據主存內容項的第一應用模型供應的應用程序的實例時與該內容項的交互。稍后,服務接收由根據主存內容項的第二應用模型供應的應用程序的實例發起的對專用于用戶的漫游設置的請求。響應于該請求,服務檢索經更新的漫游設置,該經更新的漫游設置反映對于至少指示用戶在參與使用根據第一應用模型供應的應用程序的實例時與該內容項的交互的漫游設置的更新。服務傳輸經更新的漫游設置以供遞送到根據第二應用模型供應的應用程序的實例。
[0107]在一個場景中,應用程序可以是生產力應用并且內容項可以是生產力文檔。附加地,用戶與內容項的交互可以是在生產力文檔中代表用戶最近訪問的位置。在變型中,生產力文檔可以是文字處理文檔、電子表格文檔或演示文檔中的至少一個以及任意其它類型的生產力文檔。
[0108]在另一場景中,生產力文檔可以是共享生產力文檔。在這種情況下,服務可接收對專用于另一用戶的漫游設置的另一請求,該專用于另一用戶的漫游設置指示該另一用戶在參與使用根據第二應用模型供應的應用程序的另一實例時與共享生產力文檔的交互。響應于該另一請求,服務檢索相關的漫游設置并傳輸漫游設置以供遞送到應用程序的該另一實例。該另一用戶與共享生產力文檔的交互對應于生產力文檔中代表該另一用戶最近訪問的位置。
[0109]在一些實現中,第一應用模型可以是本地安裝模型,其中更新被具有根據本地地安裝在其上的第一應用模型供應的應用程序的實例的客戶端設備傳遞。第二應用模型可以是被主存的應用模型并且更新可從具有根據被主存在其上的第一應用模型供應的應用程序的實例的應用服務器傳遞。
[0110]在一個場景中,服務能夠響應于失敗情況來生成并傳輸修復請求以供遞送到根據第一應用模型供應的應用程序的至少一個實例來獲得漫游設置的副本。
[0111]在還一個場景中,服務能夠傳遞可被不同類型的應用來應用的用戶專用漫游設置。例如,漫游設置可被文字處理應用以及電子表格應用來應用。在這樣的場景中,服務接收由主存文檔的生產力應用的實例發起的對專用于用戶的漫游設置的請求。響應于該請求,服務檢索經更新的漫游設置,該經更新的漫游設置反映對于至少指示用戶在參與使用不同的應用程序的實例時與內容項的交互的漫游設置的更新。服務傳輸經更新的漫游設置以供遞送到生產力應用的實例。可應用到不同類型的應用的設置的各示例包括自定義字典、宏、自定義剪貼畫和模板以及許多其它類型的設置。例如,用戶可作出對自定義字典的修改,諸如在參與使用文字處理文檔時將單詞添加到自定義字典。接著在參與使用演示應用時,自定義字典將具有包括在其中的那個單詞。
[0112]各圖中提供的功能框圖、操作序列和流程圖表示用于執行本公開的新穎方面的示例性架構、環境和方法。盡管出于解釋簡明的目的,此處包括的方法可以以功能圖、操作系列或流程圖形式示出并且可被描述為一系列動作,但是可以理解和領會,各方法不受動作的次序的限制,因為根據本發明,某些動作可以按與此處所示并描述的不同的次序和/或與其他動作并發地發生。例如,本領域的技術人員將明白并理解,方法可被替換地表示為一系列相互相關聯的狀態或事件,諸如以狀態圖的形式。此外,并非方法中所示出的所有動作都是新穎實現所必需的。
[0113]所包括的說明和附圖描述了用于教導本領域的技術人員如何做出和使用最佳模式的特定實現。出于教導創新性原則的目的,一些傳統的方面被簡化或忽略。本領域的技術人員將理解來自這些實現的變型也落入的本發明的范圍內。本領域的技術人員還將理解如上所述的特征可以以各種方式組合以形成多個實現。因此,本發明不局限于如上所述的特定實現,僅受限于權利要求和它們的等價物。
【權利要求】
1.一種用于操作漫游設置服務的方法,所述方法包括: 接收對于專用于用戶的漫游設置的更新,所述漫游設置至少指示所述用戶在參與使用根據主存內容項的第一應用模型供應的應用程序的一實例時與所述內容項的交互; 接收由根據主存所述內容項的第二應用模型供應的所述應用程序的一實例發起的對專用于所述用戶的所述漫游設置的請求; 響應于所述請求,檢索經更新的漫游設置,所述經更新的漫游設置反映對于至少指示所述用戶在參與使用根據所述第一應用模型供應的所述應用程序的所述實例時與所述內容項的交互的所述漫游設置的更新;以及 傳輸所述經更新的漫游設置以供遞送到根據所述第二應用模型供應的所述應用程序的所述實例。
2.如權利要求1所述的方法,其特征在于,所述應用程序包括生產力應用,其中所述內容項包括生產力文檔,并且其中所述用戶與所述內容項的交互包括在所述生產力文檔中代表所述用戶最近訪問的位置。
3.如權利要求2所述的方法,其特征在于,所述生產力文檔包括文字處理文檔、電子表格文檔以及演示文檔中的至少一個。
4.如權利要求2所述的方法,其特征在于,所述生產力文檔包括共享生產力文檔,并且其中所述方法進一步包括: 接收對于專用于第二用戶的第二漫游設置的第二請求,所述第二漫游設置至少指示所述第二用戶在參與使用根據所述第二應用模型供應的所述應用程序的第二實例時與所述共享生產力文檔的第二交互; 響應于所述第二請求,檢索所述第二漫游設置;以及 傳輸所述第二漫游設置以供遞送到所述應用程序的所述第二實例; 其中所述第二用戶與所述共享生產力文檔的所述第二交互包括所述生產力文檔中代表所述第二用戶最近訪問的第二位置。
5.如權利要求1所述的方法,其特征在于,所述第一應用模型包括本地安裝模型,并且其中接收所述更新包括從具有根據本地地安裝在其上的所述第一應用模型來供應的所述應用程序的所述實例的客戶端設備接收所述更新。
6.如權利要求5所述的方法,其特征在于,所述第二應用模型包括被主存應用模型并且其中接收所述更新包括從具有根據被主存在其上的所述第一應用模型來供應的所述應用程序的所述實例的應用服務器接收所述更新。
7.如權利要求6所述的方法,其特征在于,所述方法進一步包括響應于失敗情況來生成并傳輸修復請求以供遞送到根據所述第一應用模型供應的所述應用程序的至少一個實例來獲得所述漫游設置的副本。
8.如權利要求1所述的方法,其特征在于,所述應用程序包括第一生產力應用,其中所述內容項包括第一生產力文檔,并且其中所述方法進一步包括: 接收由主存第二生產力文檔的第二生產力應用的一實例發起的對于專用于所述用戶的所述漫游設置的第二請求; 響應于所述請求,檢索經更新的漫游設置,所述經更新的漫游設置反映對于至少指示所述用戶在參與使用根據所述第一應用模型供應的所述應用程序的所述實例時與所述內容項的交互的所述漫游設置的更新,并傳輸所述經更新的漫游設置以供遞送到所述第二生產力應用的所述實例; 其中專用于所述用戶的所述漫游設置包括自定義字典,并且其中所述用戶在參與使用根據所述第一應用模型供應的所述應用程序的所述實例時與所述內容項的交互包括對于所述自定義字典的修改。
9.一個或多個具有存儲在其上以提供漫游設置服務的程序指令的計算機可讀介質,當所述程序指令被計算系統執行時,引導所述計算系統來至少: 接收對于專用于用戶的漫游設置的更新,所述漫游設置至少指示所述用戶在參與使用根據主存內容項的第一應用模型供應的應用程序的一實例時與所述內容項的交互; 接收由根據主存所述內容項的第二應用模型供應的所述應用程序的一實例發起的對專用于所述用戶的所述漫游設置的請求;以及 響應于所述請求,檢索經更新的漫游設置,所述經更新的漫游設置反映對于至少指示所述用戶在參與使用根據所述第一應用模型供應的所述應用程序的所述實例時與所述內容項的交互的所述漫游設置的更新,并傳輸所述經更新的漫游設置以供遞送到根據所述第二應用模型供應的所述應用程序的所述實例。
10.如權利要求9所述的一個或多個計算機可讀介質,其特征在于,所述應用程序包括生產力應用,其中所述內容項包括生產力文檔,并且其中所述用戶與所述內容項的交互包括在所述生產力文檔中代表所述用戶最近訪問的位置,其中所述生產力文檔包括文字處理文檔、電子表格文檔和演示文檔中的至少一個。
【文檔編號】H04L29/08GK104396219SQ201380032654
【公開日】2015年3月4日 申請日期:2013年6月14日 優先權日:2012年6月21日
【發明者】D·H·特賴恩, I·克爾辛, K·里昂, S·康克林, M·薩恩茲, K·杰拉斯, J·米爾里, B·威利斯, B·科羅伯 申請人:微軟公司