同步中斷的防止的制作方法
【專利說明】同步中斷的防止
[0001]背景
[0002]基于云的計(jì)算已使跨多個(gè)設(shè)備復(fù)制用戶界面的多個(gè)方面成為可能。當(dāng)用戶具有與同一在線身份、應(yīng)用、服務(wù)、平臺(tái)等相關(guān)聯(lián)的多個(gè)計(jì)算設(shè)備時(shí),通常期望在那些設(shè)備間同步信息以便為附屬裝置提供一致或重復(fù)的狀態(tài)。特別是,可能期望用戶交互性的用戶界面的多個(gè)方面在用戶的多個(gè)設(shè)備間保持一致。由于大多數(shù)用戶界面是或者由用戶或者以其他方式可更改的和可定制的,因此這可能是一個(gè)問題。用戶可以添加用戶界面元素、移動(dòng)元素、改變用戶界面的行為或外觀特性等等。為了一致性,這種變化可以從它們始發(fā)的設(shè)備傳播至具有用戶界面的實(shí)例的其他設(shè)備。
[0003]例如,假定用戶具有兩個(gè)計(jì)算設(shè)備。每個(gè)設(shè)備上已安裝了具有用戶界面的應(yīng)用程序的實(shí)例。此外,假定存在一個(gè)同步機(jī)制以使對(duì)于任一設(shè)備上用戶界面的變化被傳播至另一個(gè)設(shè)備。這一機(jī)制可以是保持用戶界面的狀態(tài)(例如,哪些元素在用戶界面中、那些元素的布局、等等)的對(duì)等系統(tǒng)或基于網(wǎng)絡(luò)的服務(wù)(例如,云服務(wù))。無論通過哪一種機(jī)制,對(duì)一個(gè)設(shè)備上用戶界面的變化被復(fù)制到另一個(gè)設(shè)備。
[0004]然而,正如發(fā)明人唯一觀察到的,用戶界面更新可能是有問題的。正如發(fā)明人所觀察到的,由于用戶界面本質(zhì)是交互性的,因此在用戶界面可能中斷被指向所述用戶界面的用戶的活動(dòng)時(shí)接收到更新。用戶可能處在向用戶界面輸入以執(zhí)行活動(dòng)的過程中。如果突然應(yīng)用對(duì)正在使用的用戶界面的更新,則該活動(dòng)可能被中斷。例如,如果用戶正在拖拽諸如應(yīng)用圖標(biāo)這樣的圖形并且更新使得用戶界面中斷該拖拽,則該圖標(biāo)可能最終以非用戶想要的方式被操縱。
[0005]以下描述了與最小化這種用戶中斷有關(guān)的技術(shù)。
[0006]概述
[0007]包括以下概述僅僅是為了介紹在以下詳細(xì)描述中討論的一些概念。該概述不是完整性的并且不意圖劃定所要求保護(hù)的主題的范圍,所述范圍由結(jié)尾處呈現(xiàn)的權(quán)利要求書提出。
[0008]此處描述了由計(jì)算設(shè)備上執(zhí)行的應(yīng)用所執(zhí)行的技術(shù)。應(yīng)用可以是由計(jì)算設(shè)備的顯示器上顯示的圖形對(duì)象組成的圖形用戶界面(GUI)。應(yīng)用也可以具有由所述應(yīng)用管理和存儲(chǔ)的狀態(tài)數(shù)據(jù)。狀態(tài)數(shù)據(jù)可以指定GUI的特征和布局。圖形對(duì)象可以根據(jù)狀態(tài)數(shù)據(jù)來顯示。應(yīng)用可以通過監(jiān)控經(jīng)由輸入設(shè)備與⑶I的用戶交互、并且根據(jù)與⑶I的用戶交互來將閾值設(shè)為不同水平,來動(dòng)態(tài)地將閾值調(diào)節(jié)為不同水平。接收到來自外部源的指向GUI的操作。每個(gè)操作具有對(duì)所述操作專用的相應(yīng)優(yōu)先級(jí)。優(yōu)先級(jí)和閾值水平被比較以確定是否實(shí)現(xiàn)這些操作。
[0009]以下將參照結(jié)合附圖考慮的以下詳細(xì)描述來說明伴隨特征中的許多特征。
[0010]附圖簡(jiǎn)述
[0011]從結(jié)合附圖閱讀的以下詳細(xì)描述將更好地理解本發(fā)明的描述,其中相同的附圖標(biāo)記用戶指示所附描述中相同的部分。
[0012]圖1示出應(yīng)用以及顯示于顯示器上的用戶界面。
[0013]圖2示出使用與所述應(yīng)用或其主機(jī)計(jì)算設(shè)備的用戶交互來確定如何處理影響所述用戶界面的外部更新的實(shí)施例。
[0014]圖3示出用于處理提交操作的過程。
[0015]圖4示出用于閾值更新的過程。
[0016]圖5示出其上可實(shí)現(xiàn)此處描述的實(shí)施例的計(jì)算設(shè)備的示例。
[0017]詳細(xì)描述
[0018]以下討論的實(shí)施例涉及如何管理用戶界面更新,無論是通過與另一實(shí)例的同步或者無論這種更新是否本地始發(fā)。首先,將總體地討論用戶界面同步。然后討論著眼于規(guī)范如何且何時(shí)應(yīng)用更新的用戶活動(dòng)的體系結(jié)構(gòu)。說明這些實(shí)施例的細(xì)節(jié),然后討論替代的實(shí)施例和實(shí)現(xiàn)方式。
[0019]圖1示出應(yīng)用100以及顯示用戶界面104的顯示器102。顯示器102是稍后參照?qǐng)D5討論的任何任意計(jì)算設(shè)備的一部分。應(yīng)用100安裝于所述計(jì)算設(shè)備上并且由所述計(jì)算設(shè)備執(zhí)行。應(yīng)用100具有用戶界面(UI)狀態(tài)106,所述用戶界面狀態(tài)106控制用戶界面104的行為和外觀。UI狀態(tài)可能是簡(jiǎn)單的數(shù)據(jù)庫或標(biāo)記語言文件的形式。用戶界面104具有用戶界面元素108,諸如應(yīng)用瓦片或圖標(biāo)、菜單、可滾動(dòng)表面、可選項(xiàng)的列表、應(yīng)用加載元件、信息面板或者任何其他類型的用戶界面元素。
[0020]用戶界面元素108中的許多可以是交互式的。用戶可能經(jīng)由輸入設(shè)備提供輸入以致動(dòng)用戶界面元素108、以移動(dòng)用戶界面元素108、以將文本鍵入元素、以平移元素、以刪除用戶界面元素108、等等。在用戶改變諸如布局(哪些元素存在或者在哪里)、外觀、功能等用戶界面106的特征時(shí),可以相應(yīng)地更新UI狀態(tài)106以反映用戶界面108的狀態(tài)。例如,如果用戶添加用于加載應(yīng)用的圖標(biāo),或如果用戶改變用戶界面108的背景圖像,則更新UI狀態(tài)106以反映那些變化。如果應(yīng)用100被關(guān)閉,在稍后執(zhí)行之際,UI狀態(tài)可以被讀取以使應(yīng)用100重建(例如,實(shí)例化用戶界面元素108的對(duì)象)并且呈現(xiàn)用戶界面104。
[0021]如在背景中討論的,對(duì)用戶界面104的更新可能從應(yīng)用100外部的源被接收到。例如,客戶機(jī)110或云112可能正在異步地向應(yīng)用100提供UI更新??蛻魴C(jī)110可能是在與應(yīng)用100所在的相同計(jì)算設(shè)備上執(zhí)行的另一個(gè)應(yīng)用或過程,或者它可能是在具有應(yīng)用100的實(shí)例的另一個(gè)計(jì)算設(shè)備上執(zhí)行,在后一情況下經(jīng)由網(wǎng)絡(luò)接收到UI更新。類似地,云112可能經(jīng)由網(wǎng)絡(luò)向應(yīng)用100提供更新。
[0022]客戶機(jī)110、云112或其他源向應(yīng)用100提供更新,所述更新對(duì)應(yīng)于對(duì)用戶界面104的語義更改。這種更新可以是對(duì)應(yīng)用100的另一實(shí)例的用戶變化的結(jié)果,或者它們可以是其他發(fā)生事件的結(jié)果,所述其他發(fā)生事件諸如軟件開發(fā)者發(fā)布的軟件更新、來自內(nèi)容提供者的內(nèi)容更新、等等。幾乎任何類型的信息可以潛在地影響用戶界面104。
[0023]應(yīng)用100可以接收這種更新并且用控制器114來處理更新??刂破?14可以被設(shè)計(jì)成處理異步通信、更新UI狀態(tài)106、以及以其他方式提供直接的管理和同步任務(wù)。在一實(shí)施例中,控制器114可以處理來自應(yīng)用100的更新或指令116以及異步的遠(yuǎn)程更新。在另一實(shí)施例中,控制器114僅管理遠(yuǎn)程更新,而應(yīng)用100單獨(dú)地處理其自身的內(nèi)部UI更新;任一者或兩者可以按需寫至UI狀態(tài)106。
[0024]由此可見,在接收到外部影響UI的更新時(shí),應(yīng)用100在執(zhí)行且由用戶118操作時(shí)會(huì)受到用戶118活動(dòng)的中斷。例如,在用戶118正在用輸入設(shè)備操縱用戶界面元素或與用戶界面元素交互的同時(shí),如果接收到更新以刪除用戶界面元素,則用戶118的輸入可能變得誤導(dǎo)向(例如,針對(duì)已刪除元素的點(diǎn)擊可能最終被應(yīng)用于另一個(gè)元素)、有爭(zhēng)議的、等等。用戶118可能變得困惑或受挫。
[0025]圖2示出使用與應(yīng)用100或其主機(jī)計(jì)算設(shè)備的用戶交互來確定如何處理影響用戶界面104的外部更新的實(shí)施例。應(yīng)用100可具有用戶活動(dòng)監(jiān)視器130、定時(shí)器132、動(dòng)態(tài)變化的優(yōu)先級(jí)閾值134、輸入隊(duì)列136、應(yīng)用編程接口(API) 138、同步器140、應(yīng)用邏輯142、或者稍后要描述的其他組件、以及參照?qǐng)D1討論的組件。
[0026]外部源144通過API 138將UI更新或操作