將主題信息從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的制作方法
【專利摘要】本文描述了用于將主題定義從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的機(jī)構(gòu),從而主機(jī)應(yīng)用和主機(jī)擴(kuò)展視覺上一致??梢栽谥黝}改變事件發(fā)生之后,歸因于用戶與主機(jī)應(yīng)用的交互而更新主題定義。然后可以通過(guò)主機(jī)擴(kuò)展使用主題定義,以更新由主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素,以使得能夠視覺一致。
【專利說(shuō)明】
將主題信息從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展
【背景技術(shù)】
[0001]各種類型的軟件應(yīng)用提供允許使用主題的功能。例如,演示應(yīng)用可以允許用戶選擇主題。響應(yīng)于選擇主題,演示應(yīng)用可以基于所選的主題改變用戶界面(UI)元素。所述UI元素可以包括例如背景、前景、字體和其它類型的UI元素。改變后的UI元素可以包括通過(guò)演示應(yīng)用和/或在為了供演示應(yīng)用編輯而打開的文檔中的元件所顯示的UI元素。演示應(yīng)用還可以允許用戶以不同方式改變主題,包括創(chuàng)建定制主題。
[0002]—些應(yīng)用(這里稱作“主機(jī)應(yīng)用”)還可以允許使用以某種方式擴(kuò)展應(yīng)用的功能的擴(kuò)展(這里稱作“主機(jī)擴(kuò)展”)。例如,文字處理應(yīng)用可以使用詞典擴(kuò)展來(lái)允許用戶發(fā)現(xiàn)所選詞語(yǔ)的定義。主機(jī)擴(kuò)展還可以提供其自身的UI元素和/或修改包含于為了在主機(jī)應(yīng)用中編輯而打開的文檔內(nèi)的內(nèi)容。另外,主機(jī)擴(kuò)展可以是文檔的一部分內(nèi)容。然而,在主機(jī)應(yīng)用內(nèi)對(duì)主題的修改并不傳播到主機(jī)擴(kuò)展,并因此,由主機(jī)擴(kuò)展呈現(xiàn)的UI和/或?qū)ξ臋n的修改與主機(jī)應(yīng)用呈現(xiàn)的UI視覺上可能不一致。
[0003]針對(duì)這些和其它考量而在這里呈現(xiàn)了本公開。
【發(fā)明內(nèi)容】
[0004]本文描述的概念和技術(shù)用于將主題信息從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展。為了使能該功能,可以在發(fā)生主題改變事件之后,更新主題定義。主題定義可以包含默認(rèn)主題。當(dāng)更新默認(rèn)的主題時(shí),還可以更新主題定義。主題改變事件的例子可以是用戶改變文檔的主題。另夕卜,可以通過(guò)主題擴(kuò)展使用主題定義來(lái)更新由主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。這樣,由主機(jī)擴(kuò)展呈現(xiàn)的UI和其它元素可以視覺上與主機(jī)應(yīng)用呈現(xiàn)的UI和其它元素一致。
[0005]根據(jù)本文呈現(xiàn)的一個(gè)方面,提供一種用于將主題改變事件從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的計(jì)算機(jī)實(shí)現(xiàn)方法。在一個(gè)實(shí)現(xiàn)方式中,所述方法包括:將主題定義從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展。所述主機(jī)擴(kuò)展可以利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。所述方法還可以包括:通過(guò)所述主機(jī)應(yīng)用來(lái)檢測(cè)主題改變事件。響應(yīng)于檢測(cè)到所述主題改變事件,所述方法基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義。另外,響應(yīng)于檢測(cè)到主題改變事件,所述方法將所述主題改變事件的通知從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展。然后,所述主機(jī)擴(kuò)展可以利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。
[0006]根據(jù)另一方面,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有計(jì)算機(jī)可執(zhí)行指令,當(dāng)所述指令被計(jì)算機(jī)執(zhí)行時(shí)使得計(jì)算機(jī)用于:將主題定義從主機(jī)應(yīng)用提供給主機(jī)擴(kuò)展。所述主機(jī)擴(kuò)展利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。在檢測(cè)到主題改變事件之后,所述主機(jī)應(yīng)用基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義。另外,主機(jī)應(yīng)用響應(yīng)于檢測(cè)到主題改變事件而將所述主題改變事件的通知提供給所述主題擴(kuò)展。所述主機(jī)擴(kuò)展利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。
[0007]根據(jù)再一方面,提供了一種用于將主題改變事件從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的裝置。所述裝置包括:處理器以及存儲(chǔ)器,所述存儲(chǔ)器與所述處理器耦合且存儲(chǔ)主機(jī)應(yīng)用。所述主機(jī)應(yīng)用來(lái)自所述存儲(chǔ)器,在所述處理器中執(zhí)行。所述裝置向主機(jī)擴(kuò)展提供主題定義,其包括應(yīng)用級(jí)別主題和文檔級(jí)別主題。所述應(yīng)用級(jí)別主題定義由所述主機(jī)應(yīng)用提供的UI元素的主題。所述文檔級(jí)別主題定義由來(lái)自主機(jī)應(yīng)用的文檔提供的UI元素的主題。所述主機(jī)擴(kuò)展利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。
[0008]所述裝置還可以檢測(cè)主題改變事件。響應(yīng)于檢測(cè)到所述主題改變事件,所述裝置基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義。所述裝置還將所述主題改變事件的通知從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展。所述主機(jī)擴(kuò)展利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素,以使得由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素看起來(lái)與所述主機(jī)應(yīng)用和文檔一致。
[0009]可以理解的是,可以將上述主旨實(shí)現(xiàn)為計(jì)算機(jī)控制的裝置、計(jì)算機(jī)過(guò)程、計(jì)算系統(tǒng)或諸如計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的制品。根據(jù)閱讀下述【具體實(shí)施方式】并查看相關(guān)聯(lián)附圖,這些和各種其它特征將變得清晰。
[0010]提供該“
【發(fā)明內(nèi)容】
”來(lái)以簡(jiǎn)化形式引入將在下文“【具體實(shí)施方式】”中進(jìn)一步描述的概念選擇。該“
【發(fā)明內(nèi)容】
”并不意圖識(shí)別所要求保護(hù)主旨的關(guān)鍵特征或必要特征,并且該“
【發(fā)明內(nèi)容】
”也不意圖被用于限制所要求保護(hù)主旨的范圍。此外,所要求保護(hù)主旨并不限于解決在本公開的任意部分中記敘的任意或所有缺點(diǎn)的實(shí)現(xiàn)方式。
【附圖說(shuō)明】
[0011 ]圖1是提供本文呈現(xiàn)的實(shí)施例的方面的概觀的框圖;
[0012]圖2是根據(jù)一些實(shí)施例示出用于初始化主機(jī)擴(kuò)展的方法的方面的流程圖;
[0013]圖3是提供在本文中呈現(xiàn)的實(shí)施例的用于處理主題改變事件的方面的概觀的框圖;
[0014]圖4是根據(jù)一些實(shí)施例示出響應(yīng)于發(fā)生主題改變事件而更新主題定義的方法的方面的流程圖;
[0015]圖5是根據(jù)一些實(shí)施例示出用于更新主機(jī)擴(kuò)展UI來(lái)反映更新后的主題定義的方法的方面的流程圖;
[0016]圖6是示出對(duì)于能夠?qū)崿F(xiàn)本文呈現(xiàn)的實(shí)施例的方面的計(jì)算系統(tǒng)的說(shuō)明性計(jì)算機(jī)硬件和軟件架構(gòu)的計(jì)算機(jī)架構(gòu)圖;
[0017]圖7是示出能夠?qū)崿F(xiàn)本文呈現(xiàn)的實(shí)施例的方面的分布式計(jì)算環(huán)境的圖;以及
[0018]圖8是示出能夠?qū)崿F(xiàn)本文呈現(xiàn)的實(shí)施例的方面的計(jì)算設(shè)備架構(gòu)的計(jì)算機(jī)架構(gòu)圖。
【具體實(shí)施方式】
[0019]下述詳細(xì)描述指向用于將主題信息從主機(jī)應(yīng)用傳播到一個(gè)或多個(gè)主機(jī)擴(kuò)展的概念和技術(shù)。如上簡(jiǎn)述,主機(jī)應(yīng)用可以以主題定義所定義的方式呈現(xiàn)UI元素。主題定義還可以定義由主機(jī)應(yīng)用運(yùn)行的文檔所呈現(xiàn)的UI元素。類似地,配置為與主機(jī)應(yīng)用一起使用的一個(gè)或多個(gè)主機(jī)擴(kuò)展還可以呈現(xiàn)各種UI元素。主機(jī)應(yīng)用配置為向主機(jī)擴(kuò)展傳播主題定義。這允許主機(jī)擴(kuò)展更新其UI元素,從而主機(jī)擴(kuò)展和主機(jī)應(yīng)用呈現(xiàn)類似風(fēng)格的UI元素。另外,主機(jī)擴(kuò)展可以更新其UI元素,從而主機(jī)擴(kuò)展呈現(xiàn)類似風(fēng)格的UI元素,同時(shí)通過(guò)主機(jī)應(yīng)用呈現(xiàn)或在主機(jī)應(yīng)用中編輯文檔。下文將結(jié)合圖1-8提供關(guān)于該過(guò)程的額外細(xì)節(jié)。
[0020]雖然本文描述的主旨呈現(xiàn)于與操作系統(tǒng)和應(yīng)用程序在計(jì)算機(jī)系統(tǒng)上的執(zhí)行結(jié)合執(zhí)行的程序模塊的一般上下文中,但本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以結(jié)合其它類型的程序模塊組合執(zhí)行其它實(shí)現(xiàn)方式。一般而言,程序模塊包括例程、程序、部件、數(shù)據(jù)結(jié)構(gòu)和執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的其它類型的結(jié)構(gòu)。此外,本領(lǐng)域的技術(shù)人員將理解的是,可以通過(guò)其它計(jì)算機(jī)系統(tǒng)配置實(shí)踐本文描述的主旨,包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)者電子設(shè)備、微型計(jì)算機(jī)、大型計(jì)算機(jī)等。
[0021]在后續(xù)詳細(xì)描述中,參考形成其一部分的附圖,在附圖中示出了圖示具體實(shí)施例或例子?,F(xiàn)在參考附圖,其中貫穿多個(gè)附圖類似的數(shù)字表示類似的元件,將呈現(xiàn)用于將主題改變事件從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的計(jì)算機(jī)實(shí)現(xiàn)方法、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以及系統(tǒng)的方面。
[0022]圖1是提供本文呈現(xiàn)的各個(gè)部件的操作的概觀的框圖。根據(jù)各個(gè)實(shí)施例,系統(tǒng)包括主機(jī)應(yīng)用102,以及通過(guò)主機(jī)應(yīng)用102呈現(xiàn)的一個(gè)或多個(gè)文檔108。例如但不限于,主機(jī)應(yīng)用102可以是文字處理應(yīng)用,且文檔108可以是文字處理文檔。類似地,主機(jī)應(yīng)用102可以是演示應(yīng)用,且文檔108可以是演示。主機(jī)應(yīng)用102還可以是基于網(wǎng)絡(luò)的應(yīng)用,其提供用于查看和/或編輯文檔108的功能,并包括本文公開的功能。主機(jī)應(yīng)用還可以是電子表單應(yīng)用、電子郵件應(yīng)用、基于網(wǎng)絡(luò)的文檔管理和協(xié)作應(yīng)用、或利用主題并允許使用擴(kuò)展的其它類型應(yīng)用。對(duì)此,可以理解的是,本文公開的實(shí)施例并不局限于與特定類型的主機(jī)應(yīng)用102或文檔108一起使用。
[0023]在一個(gè)實(shí)施例中,主題定義104定義供主機(jī)應(yīng)用102和文檔108使用的主題信息。主題定義104定義供主機(jī)應(yīng)用102在呈現(xiàn)其UI時(shí)使用的視覺風(fēng)格,并還可以定義呈現(xiàn)文檔108的元素的視覺風(fēng)格。對(duì)此,主題定義104可以定義顏色、字體名稱、字體風(fēng)格和其它視覺元素。通過(guò)示例而非限制,定義的顏色可以包括背景顏色、前景顏色和字體顏色。這些視覺元素的組合在這里可以稱作“主題”。
[0024]在一些實(shí)施例中,主題定義104定義應(yīng)用級(jí)別主題114和文檔級(jí)別主題110。應(yīng)用級(jí)別主題114定義用于由主機(jī)應(yīng)用102呈現(xiàn)的UI元素的主題。例如,應(yīng)用級(jí)別主題114可以定義如何呈現(xiàn)包含用于控制主機(jī)應(yīng)用102的操作的UI元素的主機(jī)UI 116或者應(yīng)用本身的框架風(fēng)格。文檔級(jí)別主題110定義用于呈現(xiàn)文檔108內(nèi)容的主題。
[0025]還可以提供一個(gè)或多個(gè)主機(jī)擴(kuò)展106,其配置或安裝為與主機(jī)應(yīng)用102—起使用。主機(jī)擴(kuò)展106可以用于擴(kuò)展主機(jī)應(yīng)用102提供的功能。為了提供該功能,主機(jī)擴(kuò)展106可以配置為呈現(xiàn)主機(jī)擴(kuò)展UI 112。主機(jī)擴(kuò)展UI 112可以包括用于控制主機(jī)擴(kuò)展106的操作的UI元素。
[0026]當(dāng)主機(jī)擴(kuò)展106開始執(zhí)行時(shí),主機(jī)擴(kuò)展106可以獲得當(dāng)前由主機(jī)應(yīng)用102暴露的主題定義104。主機(jī)擴(kuò)展106可以利用主題定義104來(lái)呈現(xiàn)與應(yīng)用級(jí)別主題114和文檔級(jí)別主題110—致的主機(jī)擴(kuò)展UI 112。例如但不限于,主機(jī)擴(kuò)展106可以利用文檔級(jí)別主題110來(lái)示出與主機(jī)應(yīng)用102—致的背景顏色和字體類型。主機(jī)擴(kuò)展106還可以利用文檔級(jí)別主題110來(lái)呈現(xiàn)在文檔108中的UI元素。在下文中將結(jié)合圖2-8提供關(guān)于該過(guò)程的額外細(xì)節(jié)。
[0027]現(xiàn)在轉(zhuǎn)向圖2,將描述根據(jù)圖示實(shí)施例的示出用于初始化主機(jī)擴(kuò)展106的本文公開的一個(gè)機(jī)構(gòu)的方面的圖示流程200。應(yīng)該理解的是,結(jié)合圖2以及其它附圖在下文描述的操作不必以任意特定順序呈現(xiàn),并且可以且構(gòu)思以替代順序執(zhí)行一些或所有操作。以展示的順序呈現(xiàn)的操作是為了易于描述和圖示??梢蕴砑?、省略和/或同時(shí)或以與所描述不同的順序執(zhí)行操作,而不背離隨附權(quán)利要求的范圍。
[0028]還應(yīng)該理解的是,圖示例程200可以在任意時(shí)間結(jié)束,并不需要整體執(zhí)行。例程200的一些或所有操作和/或本質(zhì)等價(jià)的操作可以通過(guò)執(zhí)行包含于計(jì)算機(jī)存儲(chǔ)介質(zhì)中的計(jì)算機(jī)可讀指令而實(shí)施,如本文所定義的。為權(quán)利要求的目的,短語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”及其變型不包括波、光和/或其它瞬態(tài)和/或有形通信介質(zhì)本身。在說(shuō)明書和權(quán)利要求書中使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀指令”及其變型在本文中被廣泛使用以包括例程、應(yīng)用、應(yīng)用模塊、程序模塊、程序、部件、數(shù)據(jù)結(jié)構(gòu)、算法等。計(jì)算機(jī)可讀指令可以實(shí)現(xiàn)于各種系統(tǒng)配置上,包括單處理器或多處理器系統(tǒng)、迷你計(jì)算機(jī)、大型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器、可編程消費(fèi)者電子設(shè)備、其組合等。
[0029]因此,應(yīng)該理解的是,本文描述的邏輯操作實(shí)現(xiàn)為(I)計(jì)算機(jī)實(shí)現(xiàn)動(dòng)作或在計(jì)算系統(tǒng)上運(yùn)行的程序模塊的序列,和/或(2)在計(jì)算系統(tǒng)中的互連機(jī)器邏輯電路或電路模塊。實(shí)現(xiàn)方式的問(wèn)題在于取決于計(jì)算系統(tǒng)的性能和其它要求的選擇。因此,本文描述的邏輯操作被不同地稱作狀態(tài)、操作、結(jié)構(gòu)設(shè)備、動(dòng)作或模塊。這些操作、結(jié)構(gòu)設(shè)備、動(dòng)作和模塊能夠被實(shí)現(xiàn)為軟件、固件、專用數(shù)字邏輯和其任意組合。
[0030]例程200在操作202處開始,其中主機(jī)擴(kuò)展106開始執(zhí)行。作為前提條件步驟,假設(shè)主機(jī)應(yīng)用102是主動(dòng)的,且主機(jī)擴(kuò)展106要么已經(jīng)存在于文檔108中要么是被插入的。從操作202起,例程200繼續(xù)到操作204,其中主機(jī)應(yīng)用102開始初始化主機(jī)擴(kuò)展106。從操作204起,例程200繼續(xù)到操作206,其中主機(jī)擴(kuò)展106從主機(jī)應(yīng)用102接收包含于主題定義104中的主題信息。如前所述,主題定義104可以包含應(yīng)用級(jí)別主題114和文檔級(jí)別主題110。
[0031]在一些實(shí)施例中使用元數(shù)據(jù)(例如,層疊樣式表(“CSS”))定義主題定義104。主機(jī)應(yīng)用102可以在初始化期間向主機(jī)擴(kuò)展106提供CSS。其它類型的元數(shù)據(jù)還可以用于在初始化期間將主題定義104提供給主機(jī)擴(kuò)展106,例如可擴(kuò)展標(biāo)記語(yǔ)言(“XML”)。可以更新元數(shù)據(jù)以反映對(duì)應(yīng)用級(jí)別主題114和/或文檔級(jí)別主題110的改變。
[0032]替代地,主機(jī)應(yīng)用102可以經(jīng)由應(yīng)用程序接口(“API”)向主機(jī)擴(kuò)展106提供主題定義104。例如但不限于,主機(jī)應(yīng)用102可以暴露API,通過(guò)該API,主機(jī)擴(kuò)展106可以訂閱以接收特定類型事件的通知,例如導(dǎo)致主題定義104的改變的事件。這樣,主機(jī)擴(kuò)展106可以在初始化時(shí)間接收主題定義104,并還可以在每次主題定義104改變時(shí)接收通知。還可以使用其它機(jī)構(gòu)來(lái)將主題定義104提供給主機(jī)擴(kuò)展106。
[0033]從操作206期,例程200繼續(xù)到操作208。在操作208處,主機(jī)擴(kuò)展106更新主機(jī)擴(kuò)展UI 112以反映主題定義104。例如并不限于,主機(jī)擴(kuò)展106可以更新UI元素,用于控制主機(jī)擴(kuò)展106本身的操作。主機(jī)擴(kuò)展106還可以基于主題定義104更新包含于文檔108中的UI元素的表不。
[0034]通過(guò)示例而非限制,主機(jī)擴(kuò)展106可以配置為在文檔108中顯示表格。表格初始可以具有與文檔108的剩余部分不同的字體、字體顏色和字體大小。當(dāng)主機(jī)擴(kuò)展106接收主題定義104時(shí),主機(jī)擴(kuò)展UI 112可以利用包含于其中的文檔級(jí)別主題110,以更新表格中的字體、字體顏色、字體大小和其它風(fēng)格元素。通過(guò)以這種方式利用文檔級(jí)別主題110,通過(guò)主機(jī)擴(kuò)展106呈現(xiàn)的文檔內(nèi)容將顯得與文檔108的剩余部分一致。以類似的方式,主機(jī)擴(kuò)展106可以利用應(yīng)用級(jí)別主題114來(lái)呈現(xiàn)視覺上與主機(jī)應(yīng)用102呈現(xiàn)的UI元素一致的UI元素。另外,主機(jī)擴(kuò)展106可以在不同的主機(jī)應(yīng)用102中共享。例如但不限于,主機(jī)擴(kuò)展106可以提供插入到通過(guò)文字處理應(yīng)用創(chuàng)建的文檔中并還可能用于創(chuàng)建演示應(yīng)用的演示中的圖表或其它類型的圖。從操作208起,例程200繼續(xù)到操作210,在此結(jié)束。
[0035]現(xiàn)在轉(zhuǎn)向圖3,將提供關(guān)于本文公開的在發(fā)生主題改變事件302時(shí)通知主機(jī)擴(kuò)展106的一個(gè)機(jī)構(gòu)的額外細(xì)節(jié)。如圖3所示,主題改變事件302可以發(fā)生。主題改變事件302可以包括對(duì)應(yīng)用級(jí)別主題114、文檔級(jí)別主題110或者應(yīng)用級(jí)別主題114和文檔級(jí)別主題110兩者的改變。主題改變事件302可能歸因于與主機(jī)應(yīng)用102的一般用戶交互而發(fā)生。例如但不限于,當(dāng)用戶改變當(dāng)前應(yīng)用級(jí)別主題114和/或文檔級(jí)別主題110時(shí),可以發(fā)生主題改變事件302。另外,可能響應(yīng)于用戶選擇新的應(yīng)用級(jí)別主題114和/或新的文檔級(jí)別主題110,而發(fā)生主題改變事件302。應(yīng)用級(jí)別主題114和文檔級(jí)別主題110可以是預(yù)先定義的主題、用戶定義的主題或第三方創(chuàng)建的主題。
[0036]還可以響應(yīng)于改變利用每頁(yè)的不同主題的演示或幻燈放映中的幻燈片,或者使用撤消命令以撤消先前主題改變,而發(fā)生主題改變事件302。其它事件也可以改變當(dāng)前的應(yīng)用級(jí)別主題114或文檔級(jí)別主題110,并因此使得主題改變事件302發(fā)生。主題改變事件302還可以發(fā)生在主機(jī)應(yīng)用102內(nèi)的不同部件或特征之間用戶改變時(shí)。例如,在個(gè)人信息管理器應(yīng)用中的日歷和電子郵件消息(例如,微軟公司的OUTLOOK個(gè)人信息管理器)可能具有不同的主題。在這種主機(jī)應(yīng)用102中從電子郵件部件改變到日歷部件可以生成主題改變事件302。
[0037]響應(yīng)于主題改變事件302而更新主題定義104。另外,主機(jī)應(yīng)用102向主機(jī)擴(kuò)展106提供主題改變事件302的通知306。響應(yīng)于接收到主題改變事件302的通知306,主機(jī)擴(kuò)展106可以獲得更新后的主題定義304。主機(jī)擴(kuò)展106然后可以利用更新后的主題定義304來(lái)更新主機(jī)擴(kuò)展UI 112,從而反映更新后的主題定義304。通過(guò)進(jìn)行這種改變,主機(jī)擴(kuò)展UI 112將繼續(xù)顯得與主機(jī)應(yīng)用102和文檔108的內(nèi)容所提供的UI—致。
[0038]現(xiàn)在轉(zhuǎn)向圖4,將描述響應(yīng)于主題改變事件302更新主題定義104的例程400的方面。例程400開始于操作402,其中主機(jī)應(yīng)用102確定是否發(fā)生主題改變事件302。如果尚未發(fā)生主題改變事件302,則例程400返回到操作402,其中可以進(jìn)行另外的這種確定。
[0039]如果在操作402處發(fā)生了主題改變事件302,則例程400繼續(xù)到操作404,其中主機(jī)應(yīng)用102更新主題定義104以反映主題改變事件302。當(dāng)主題改變事件302影響應(yīng)用級(jí)別主題114、文檔級(jí)別主題110或者應(yīng)用級(jí)別主題114和文檔級(jí)別主題110兩者時(shí),更新主題定義104。
[0040]從操作404起,例程400繼續(xù)到操作406,其中主機(jī)應(yīng)用102向主機(jī)擴(kuò)展106提供主題改變事件302的通知306。如前所述,可以經(jīng)由CSS文件或通過(guò)使用API將主題定義104發(fā)送給主機(jī)擴(kuò)展106。類似地,還可以通過(guò)更新CSS文件的內(nèi)容或通過(guò)使用適當(dāng)?shù)腁PI而將更新后的主題定義304發(fā)送給主機(jī)擴(kuò)展106。還可以使用其它機(jī)構(gòu),以便向主機(jī)擴(kuò)展106提供更新后的主題定義304。從操作406起,例程400返回到操作402,在其中進(jìn)行關(guān)于是否發(fā)生主題改變事件302的另外的確定。
[0041]現(xiàn)在轉(zhuǎn)向圖5,將提供用于更新主機(jī)擴(kuò)展UI112以反映更新后的主題定義304的例程500的方面。例程500開始于操作502,其中主機(jī)擴(kuò)展106確定是否已經(jīng)接收到主題改變事件302的通知306。如果尚未接收到主題改變事件302的通知306,則例程500返回到進(jìn)行另外的這種確定的操作502。如果在操作502處已經(jīng)接收到主題改變事件302的通知306,則例程500繼續(xù)到操作504。
[0042]在操作504處,主機(jī)擴(kuò)展106獲得更新后的主題定義304。例程500然后從操作504繼續(xù)到操作506,其中主機(jī)擴(kuò)展106確定應(yīng)用級(jí)別主題114是否已經(jīng)改變。如果應(yīng)用級(jí)別主題114已經(jīng)改變,則例程500繼續(xù)到操作508。
[0043]在操作508處,主機(jī)擴(kuò)展106更新主機(jī)擴(kuò)展UI112以反映更新后的應(yīng)用級(jí)別主題114。例如,主機(jī)擴(kuò)展106可以利用更新后的應(yīng)用級(jí)別主題114來(lái)修改用于控制主機(jī)擴(kuò)展106的操作的UI元素的顯示。通過(guò)做出該改變,主機(jī)擴(kuò)展106呈現(xiàn)的UI將繼續(xù)顯得與主機(jī)應(yīng)用102呈現(xiàn)的UI—致。從操作508起,例程500繼續(xù)到操作510,將在下文描述。
[0044]如果在操作506處應(yīng)用級(jí)別主題114已經(jīng)改變,則例程500繼續(xù)到操作510。在操作510處,主機(jī)擴(kuò)展106確定文檔級(jí)別主題110是否已經(jīng)改變。如果文檔級(jí)別主題110尚未改變,則例程500返回操作502,在其中進(jìn)行關(guān)于是否已經(jīng)接收到主題改變事件302的通知306的另外確定。如果在操作510處文檔級(jí)別主題110已經(jīng)改變,則例程500繼續(xù)到操作512。
[0045]在操作512處,主機(jī)擴(kuò)展106更新主機(jī)擴(kuò)展UI112以反映更新后的文檔級(jí)別主題110。例如但不限于,主機(jī)擴(kuò)展106可以更新由文檔108呈現(xiàn)的元素的顯示,以反映更新后的文檔級(jí)別主題110。通過(guò)進(jìn)行該改變,由主機(jī)應(yīng)用102呈現(xiàn)的文檔元素將顯得與主機(jī)擴(kuò)展106呈現(xiàn)的文檔元素一致。從操作512起,例程500返回到操作502,其中進(jìn)行關(guān)于是否已經(jīng)接收主題改變事件302的通知306的另外確定。
[0046]圖6示出了針對(duì)設(shè)備的計(jì)算機(jī)架構(gòu)600的圖示,所述設(shè)備能夠執(zhí)行本文描述的軟件部件,用于將主題信息從主機(jī)應(yīng)用102傳播到一個(gè)或多個(gè)主機(jī)擴(kuò)展106。圖6中示出的計(jì)算機(jī)架構(gòu)600示出了服務(wù)器計(jì)算機(jī)、移動(dòng)電話、PDA、智能電話、臺(tái)式計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)、平板計(jì)算機(jī)和/或膝上型計(jì)算機(jī)的架構(gòu)。計(jì)算機(jī)架構(gòu)600可以用于執(zhí)行本文呈現(xiàn)的軟件部件的任意方面。
[0047]圖6中示出的計(jì)算機(jī)架構(gòu)600包括中央處理單元602(“CPU”);系統(tǒng)存儲(chǔ)器604,其包括隨機(jī)存取存儲(chǔ)器606( “RAM”)和只讀存儲(chǔ)器608( “ROM” );以及系統(tǒng)總線610,其將存儲(chǔ)器604耦合到CPU 602。在R0M608中存儲(chǔ)包含基本例程的基本輸入/輸出系統(tǒng),所述基本例程幫助在計(jì)算機(jī)架構(gòu)600內(nèi)的元件之間例如在啟動(dòng)期間轉(zhuǎn)移信息。計(jì)算機(jī)架構(gòu)600還包括大容量存儲(chǔ)設(shè)備612,用于存儲(chǔ)操作系統(tǒng)614( “OS”)和主機(jī)應(yīng)用102。大容量存儲(chǔ)設(shè)備612還可以用于存儲(chǔ)主機(jī)擴(kuò)展106和主題定義104。
[0048]大容量存儲(chǔ)設(shè)備612通過(guò)連接到總線610的大容量存儲(chǔ)控制器(未示出)連接到CPU602。大容量存儲(chǔ)設(shè)備612及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供了用于計(jì)算機(jī)架構(gòu)600的非易失性存儲(chǔ)設(shè)備。雖然本文包含的計(jì)算機(jī)可讀介質(zhì)的描述涉及大容量存儲(chǔ)設(shè)備,例如硬盤或CD-ROM驅(qū)動(dòng)器,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)架構(gòu)600可訪問(wèn)的任意可用的計(jì)算機(jī)存儲(chǔ)介質(zhì)或通信介質(zhì)。
[0049]通信介質(zhì)包括計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或在已調(diào)制數(shù)據(jù)信號(hào)(例如,載波或其它傳輸機(jī)構(gòu))中的其它數(shù)據(jù),并包括任意輸送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”表示其一個(gè)或多個(gè)特性改變或以在信號(hào)中編碼信息的方式設(shè)置的信號(hào)。通過(guò)示例而非限制,通信介質(zhì)包括有線介質(zhì),例如有線網(wǎng)絡(luò)或直接線連接;以及無(wú)線介質(zhì),例如聲、RF、紅外和其它無(wú)線介質(zhì)。上述任意的組合也應(yīng)該包含于計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0050]通過(guò)示例而非限制,計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括以用于存儲(chǔ)信息的任意方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除的介質(zhì),所述信息例如是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。例如,計(jì)算機(jī)介質(zhì)包括但不限于:RAM、ROM、EPROM、EEPROM、閃存或其它固態(tài)存儲(chǔ)器技術(shù),CD-ROM、數(shù)字通用盤(“DVD”)、HD-DVD、BLU-RAY或其它光存儲(chǔ)設(shè)備、磁帶盒、磁帶、磁盤存儲(chǔ)設(shè)備或其它磁存儲(chǔ)設(shè)備,或可以用于存儲(chǔ)期望的信息并能由計(jì)算機(jī)架構(gòu)600訪問(wèn)的任意其它介質(zhì)。出于權(quán)利要求的目的,短語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”及其變型并不包括波、信號(hào)和/或其它瞬態(tài)和/或無(wú)形通信介質(zhì)本身。
[0051]根據(jù)各個(gè)實(shí)施例,計(jì)算機(jī)架構(gòu)600可以利用通過(guò)諸如網(wǎng)絡(luò)620的網(wǎng)絡(luò)到遠(yuǎn)程計(jì)算機(jī)的邏輯連接,在聯(lián)網(wǎng)環(huán)境中操作。計(jì)算機(jī)架構(gòu)600可以通過(guò)連接到總線610的網(wǎng)絡(luò)接口單元618連接到網(wǎng)絡(luò)620。應(yīng)該理解的是,網(wǎng)絡(luò)接口單元618還可以用于連接到其它類型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)架構(gòu)600還可以包括輸入/輸出控制器616,用于接收并處理來(lái)自多個(gè)其它設(shè)備的輸入,包括鍵盤、鼠標(biāo)或電子鐵筆(圖6中未示出)。類似地,輸入/輸出控制器616可以向顯示屏、打印機(jī)或其它類型的輸出設(shè)備提供輸出(在圖6中也未示出)。
[0052]應(yīng)該理解的是,本文描述的軟件部件可以在加載到CPU602并執(zhí)行時(shí)將CPU 602和整體計(jì)算機(jī)架構(gòu)600從通用計(jì)算系統(tǒng)轉(zhuǎn)換為被定制用于促進(jìn)本文呈現(xiàn)的功能的專用計(jì)算系統(tǒng)??梢愿鶕?jù)任意數(shù)量的、單獨(dú)或統(tǒng)一呈現(xiàn)任意數(shù)量的狀態(tài)的晶體管或其它離散電路元件構(gòu)造CPU 602。更具體地,響應(yīng)于包含于本文公開的軟件模塊內(nèi)的可執(zhí)行指令,CPU 602可以用作有限狀態(tài)機(jī)。這些計(jì)算機(jī)可執(zhí)行指令可以通過(guò)指定CPU 602在狀態(tài)之間如何轉(zhuǎn)變而轉(zhuǎn)換CPU 602,由此轉(zhuǎn)換構(gòu)成CPU 602的晶體管或其它離散硬件元件。
[0053]對(duì)本文呈現(xiàn)的軟件模塊編碼也可以轉(zhuǎn)換在本文中呈現(xiàn)的計(jì)算機(jī)可讀介質(zhì)的物理結(jié)構(gòu)。在該說(shuō)明書的不同實(shí)現(xiàn)方式中,對(duì)物理結(jié)構(gòu)的具體轉(zhuǎn)換可以取決于各種因素。這種因素的例子可以包括但不限于用于實(shí)現(xiàn)計(jì)算機(jī)可讀介質(zhì)的技術(shù),無(wú)論計(jì)算機(jī)可讀介質(zhì)特征化為主要或次級(jí)存儲(chǔ)設(shè)備,等。例如,如果計(jì)算機(jī)可讀介質(zhì)實(shí)現(xiàn)為基于半導(dǎo)體的存儲(chǔ)器,則可以通過(guò)轉(zhuǎn)換半導(dǎo)體存儲(chǔ)器的物理狀態(tài)而在計(jì)算機(jī)可讀介質(zhì)上對(duì)本文公開的軟件進(jìn)行編碼。例如,軟件可以轉(zhuǎn)換構(gòu)成半導(dǎo)體存儲(chǔ)器的晶體管、電容器或其它離散電路元件的狀態(tài)。軟件還可以轉(zhuǎn)換這種部件的物理狀態(tài),以便在其上存儲(chǔ)數(shù)據(jù)。
[0054]又如,可以利用磁或光技術(shù)實(shí)現(xiàn)本文公開的計(jì)算機(jī)可讀介質(zhì)。在這種實(shí)現(xiàn)方式中,當(dāng)在其中編碼軟件時(shí),本文呈現(xiàn)的軟件可以轉(zhuǎn)換磁或光介質(zhì)的物理狀態(tài)。這些轉(zhuǎn)換可以包括改變?cè)诮o定磁介質(zhì)內(nèi)的特定位置的磁特性。這些轉(zhuǎn)換還可以包括改變?cè)诮o定光介質(zhì)內(nèi)的特定位置的物理特征或特性,以改變這些位置的光特性。物理介質(zhì)的其它轉(zhuǎn)換是可能的,而不背離本說(shuō)明書的范圍和精神,提供前述例子僅是為了促進(jìn)該討論。
[0055]根據(jù)上述,應(yīng)該理解的是,在計(jì)算機(jī)架構(gòu)600中發(fā)生多種類型的物理轉(zhuǎn)換,以便存儲(chǔ)和執(zhí)行在本文中呈現(xiàn)的軟件部件。還應(yīng)該理解的是,計(jì)算機(jī)架構(gòu)600可以包括其它類型的計(jì)算設(shè)備,包括手持計(jì)算機(jī)、嵌入式計(jì)算機(jī)系統(tǒng)、個(gè)人數(shù)字助理、以及本領(lǐng)域技術(shù)人員已知的其它類型的計(jì)算設(shè)備。還可以想到的是,計(jì)算機(jī)架構(gòu)600可以不包括圖6中示出的所有部件,可以包括在圖6中未明確示出的其它部件,或者可以利用與圖6中示出完全不同的架構(gòu)。
[0056]圖7示出了分布式計(jì)算環(huán)境700的圖示,在該環(huán)境中可以執(zhí)行用于將主題信息從主機(jī)應(yīng)用102傳播給主機(jī)擴(kuò)展106的在本文中描述的軟件部件。根據(jù)各種實(shí)現(xiàn)方式,分布式計(jì)算環(huán)境700包括計(jì)算環(huán)境702,其在網(wǎng)絡(luò)620上操作、與網(wǎng)絡(luò)620通信或作為網(wǎng)絡(luò)620的一部分。
[0057]一個(gè)或多個(gè)客戶端設(shè)備706A_706N(下文統(tǒng)稱作和/或一般稱作“客戶端706”)可以經(jīng)由網(wǎng)絡(luò)620和/或其它連接(圖7中未示出)與計(jì)算環(huán)境702進(jìn)行通信。在圖示的實(shí)施例中,客戶端706包括計(jì)算設(shè)備706A,例如膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)或其它計(jì)算設(shè)備、板式或平板式計(jì)算設(shè)備706B、移動(dòng)計(jì)算設(shè)備706C,例如移動(dòng)電話、智能電話或其它移動(dòng)計(jì)算設(shè)備、月艮務(wù)器計(jì)算機(jī)706D和/或其它設(shè)備706N。應(yīng)該理解的是,任意數(shù)量的客戶端706可以與計(jì)算環(huán)境702通信。結(jié)合圖6和8示出并描述了用于客戶端706的兩個(gè)示例性計(jì)算架構(gòu)。應(yīng)該理解的是,圖示的客戶端706和本文圖示和描述的計(jì)算架構(gòu)是說(shuō)明性的,并不應(yīng)該解釋為以任何方式進(jìn)行限制。
[0058]在圖示的實(shí)施例中,計(jì)算環(huán)境702包括應(yīng)用服務(wù)器708、數(shù)據(jù)存儲(chǔ)設(shè)備710以及一個(gè)或多個(gè)網(wǎng)絡(luò)接口 704。根據(jù)各種實(shí)現(xiàn)方式,可以通過(guò)一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)提供應(yīng)用服務(wù)器708的功能,其執(zhí)行為網(wǎng)絡(luò)620的一部分,或與網(wǎng)絡(luò)620進(jìn)行通信。應(yīng)用服務(wù)器708可以托管各種服務(wù)、虛擬機(jī)、門戶和/其它資源。
[0059]在圖示實(shí)施例中,應(yīng)用服務(wù)器708托管一個(gè)或多個(gè)虛擬機(jī)714,用于托管應(yīng)用或其它功能。根據(jù)各種實(shí)現(xiàn)方式,虛擬機(jī)714托管一個(gè)或多個(gè)應(yīng)用和/或用于提供本文描述的功能的軟件模塊。應(yīng)該理解的是,該實(shí)施例是說(shuō)明性的,并不應(yīng)該解釋為以任何方式進(jìn)行限制。應(yīng)用服務(wù)器708還托管或提供對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)門戶、鏈接頁(yè)、網(wǎng)站和/或其它信息(“網(wǎng)絡(luò)門戶”)716的訪問(wèn)。
[0060]根據(jù)各種實(shí)現(xiàn)方式,應(yīng)用服務(wù)器708還包括一個(gè)或多個(gè)郵箱服務(wù)718和一個(gè)或多個(gè)消息傳送服務(wù)720。郵箱服務(wù)718可以包括電子郵件(“email”)服務(wù)。郵箱服務(wù)718還可以包括各種個(gè)人信息管理(“PIM”)服務(wù),包括但不限于:日歷服務(wù)、聯(lián)系人管理服務(wù)、合作服務(wù)和/或其它服務(wù)。消息傳送服務(wù)720可以包括但不限于即時(shí)消息傳送服務(wù)、聊天服務(wù)、論壇服務(wù)和/或其它通信服務(wù)。
[0061]應(yīng)用服務(wù)器708還可以包括一個(gè)或多個(gè)社交網(wǎng)絡(luò)服務(wù)722。社交網(wǎng)絡(luò)服務(wù)722可以包括各種社交網(wǎng)絡(luò)服務(wù),包括但不限于:用于共享或發(fā)布狀態(tài)更新、即時(shí)消息、鏈接、照片、視頻和/或其它信息的服務(wù);用于評(píng)論或顯示對(duì)文章、產(chǎn)品、博客或其它資源的興趣的服務(wù);和/或其它服務(wù)。在一些實(shí)施例中,社交網(wǎng)絡(luò)服務(wù)722由以下提供或包括以下:FACEB00K社交網(wǎng)絡(luò)服務(wù)、LINKEDIN職業(yè)網(wǎng)絡(luò)服務(wù)、MYSPACE社交網(wǎng)絡(luò)服務(wù)、FOURSQUARE地理網(wǎng)絡(luò)服務(wù)、YAMMER辦公室同事網(wǎng)絡(luò)服務(wù),等等。
[0062]在其它實(shí)施例中,通過(guò)其它服務(wù)、站點(diǎn)和/或明確或不明確地已知為社交網(wǎng)絡(luò)供應(yīng)商的供應(yīng)商提供社交網(wǎng)絡(luò)服務(wù)722。例如,一些網(wǎng)站允許用戶經(jīng)由電子郵件、聊天服務(wù)和/或其它方式在各種活動(dòng)和/或上下文(例如,閱讀發(fā)表文章、評(píng)論商品或服務(wù)、發(fā)表、合作、游戲等)中彼此交互。這種服務(wù)的例子包括但不限于:Redmond ,Washington的微軟公司的WINDOWS LIVE服務(wù)和XBOX LIVE服務(wù)。其它服務(wù)是可能的并且可以想到的。
[0063]社交網(wǎng)絡(luò)服務(wù)722還可以包括評(píng)論、寫博客和/或發(fā)微博服務(wù)。這種服務(wù)的例子包括但不限于YELP評(píng)論服務(wù)、KUDZU查看服務(wù)、OFFICETALK企業(yè)微博服務(wù)、TWITTER消息傳送服務(wù)、GOOGLE BUZZ服務(wù)和/或其它服務(wù)。應(yīng)該理解的是,上述服務(wù)列表不是窮盡的,并且為了簡(jiǎn)潔起見未在此提及多個(gè)額外的和/或替代的社交網(wǎng)絡(luò)服務(wù)722。這樣,上述實(shí)施例是說(shuō)明性的,并不應(yīng)該解釋為以任何方式進(jìn)行限制。
[0064]如圖7所示,應(yīng)用服務(wù)器708還可以托管其它服務(wù)、應(yīng)用、門戶和/或其它資源(“其它資源”)724。因此,可以理解的是,計(jì)算環(huán)境702可以提供本文公開的概念和技術(shù)與各種郵箱、消息傳送、社交網(wǎng)絡(luò)和/或其它服務(wù)或資源的集成。
[0065]如上所述,計(jì)算環(huán)境702可以包括數(shù)據(jù)存儲(chǔ)設(shè)備710。根據(jù)各種實(shí)現(xiàn)方式,通過(guò)在網(wǎng)絡(luò)620上操作或與其通信的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)提供數(shù)據(jù)存儲(chǔ)設(shè)備710的功能。還可以通過(guò)一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)提供數(shù)據(jù)存儲(chǔ)設(shè)備710的功能,所述服務(wù)器計(jì)算機(jī)配置為托管計(jì)算環(huán)境702的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)設(shè)備710可以包括、托管或提供一個(gè)或多個(gè)真實(shí)的或虛擬的數(shù)據(jù)庫(kù)712A-712N(之后統(tǒng)稱作和/或一般稱作“數(shù)據(jù)庫(kù)712”)。數(shù)據(jù)庫(kù)712配置為托管用于應(yīng)用服務(wù)器708或由其創(chuàng)建的數(shù)據(jù)和/或其它數(shù)據(jù)。雖然在圖7中未示出,但是在期望時(shí)數(shù)據(jù)庫(kù)712還可以托管或存儲(chǔ)如圖6所示的主機(jī)應(yīng)用102、主題定義104和主機(jī)擴(kuò)展106。
[0066]計(jì)算環(huán)境702可以與網(wǎng)絡(luò)接口 704通信或由網(wǎng)絡(luò)接口 704訪問(wèn)。網(wǎng)絡(luò)接口 704可以包括各種類型的網(wǎng)絡(luò)硬件和軟件,用于支持在兩個(gè)或更多計(jì)算設(shè)備之間的通信,所述計(jì)算設(shè)備包括但不限于客戶端706和應(yīng)用服務(wù)器708。應(yīng)該理解的是,網(wǎng)絡(luò)接口 704還可以用于連接到其它類型的網(wǎng)絡(luò)和/或計(jì)算機(jī)系統(tǒng)。
[0067]應(yīng)該理解的是,本文描述的分布式計(jì)算環(huán)境700可以向本文描述的軟件元件的任意方面提供任意數(shù)量的虛擬計(jì)算資源和/或其它分布式計(jì)算功能,其可以配置為執(zhí)行在本文公開的軟件部件的任意方面。根據(jù)本文公開的概念和技術(shù)的各種實(shí)現(xiàn)方式,分布式計(jì)算環(huán)境700向客戶端706提供本文描述的軟件功能作為服務(wù)。應(yīng)該理解的是,客戶端706可以包括真實(shí)的或虛擬的機(jī)器,包括但不限于:服務(wù)器計(jì)算機(jī)、網(wǎng)絡(luò)服務(wù)器、個(gè)人計(jì)算機(jī)、移動(dòng)計(jì)算設(shè)備、智能電話和/或其它服務(wù)。這樣,本文公開的概念和技術(shù)的各種實(shí)施例可以使得任意設(shè)備配置為訪問(wèn)分布式計(jì)算環(huán)境700,以利用本文描述的功能用于將主題信息從主機(jī)應(yīng)用102傳播到主機(jī)擴(kuò)展106。
[0068]現(xiàn)在轉(zhuǎn)向圖8,針對(duì)計(jì)算設(shè)備示出計(jì)算設(shè)備架構(gòu)800的圖示,所述計(jì)算設(shè)備能夠執(zhí)行本文描述的各種軟件部件,用于將主題信息從主機(jī)應(yīng)用102傳播給主機(jī)擴(kuò)展106。計(jì)算設(shè)備架構(gòu)800能應(yīng)用于計(jì)算設(shè)備,其部分由于形狀因子、無(wú)線連接和/或電池供電操作而促進(jìn)移動(dòng)計(jì)算。在一些實(shí)施例中,計(jì)算設(shè)備包括但不限于:移動(dòng)電話、平板式設(shè)備、平板設(shè)備、便攜式視頻游戲設(shè)備等。此外,計(jì)算設(shè)備架構(gòu)800可應(yīng)用于圖7所示的任何客戶端706。此外,可以將計(jì)算設(shè)備架構(gòu)800的方面應(yīng)用于傳統(tǒng)的臺(tái)式計(jì)算機(jī)、便攜式計(jì)算機(jī)(例如,膝上型、筆記本、超級(jí)便攜和上網(wǎng)本)、服務(wù)器計(jì)算機(jī)以及其它計(jì)算機(jī)系統(tǒng),例如結(jié)合圖6在本文中所描述的。
[0069]圖8中示出的計(jì)算設(shè)備架構(gòu)800包括處理器802、存儲(chǔ)器部件804、網(wǎng)絡(luò)連接部件806、傳感器部件808、輸入/輸出部件810以及電源部件812。在圖示的實(shí)施例中,處理器802與存儲(chǔ)器部件804、網(wǎng)絡(luò)連接部件806、傳感器部件808、輸入/輸出(“I/O”)部件810以及電源部件812通信。雖然在圖8所示的個(gè)體部件之間未示出連接,但是所述部件可以交互以執(zhí)行設(shè)備功能。在一些實(shí)施例中,布置所述部件以使得經(jīng)由一個(gè)或多個(gè)總線(未示出)進(jìn)行通信。
[0070]處理器802包括一個(gè)或多個(gè)CPU,其配置為處理數(shù)據(jù)、執(zhí)行一個(gè)或多個(gè)應(yīng)用程序的計(jì)算機(jī)可執(zhí)行指令,并與計(jì)算設(shè)備架構(gòu)800的其它部件通信,以便執(zhí)行本文描述的各種功能。處理器802可被用于執(zhí)行本文呈現(xiàn)的軟件部件的方面,尤其是至少部分利用主題信息的那些。
[0071]在一些實(shí)施例中,處理器802包括圖形處理單元(“GPU”),其配置為加速由CPU執(zhí)行的操作,包括但不限于:通過(guò)執(zhí)行通用科學(xué)和工程計(jì)算應(yīng)用而執(zhí)行的操作,以及圖形密集計(jì)算應(yīng)用,例如高分辨率視頻(例如,720P、1080P以及更大)、視頻游戲、三維(“3D” )建模應(yīng)用等。在一些實(shí)施例中,處理器802配置為與離散GPU(未示出)通信。在任意情況下,可以根據(jù)協(xié)同處理CPU/GPU計(jì)算模型配置CPU和GPU,其中應(yīng)用的連續(xù)部分在CPU上執(zhí)行,并且通過(guò)GPU加速計(jì)算密集部分。
[0072]在一些實(shí)施例中,處理器802是或包含于片上系統(tǒng)(“SoC”),伴隨有一個(gè)或多個(gè)下文描述的其它部件。例如,SoC可以包括處理器802、GPU、一個(gè)或多個(gè)網(wǎng)絡(luò)連接部件806、以及一個(gè)或多個(gè)傳感器部件808。在一些實(shí)施例中,部分地利用堆疊式封裝(“PoP”)集成電路封裝技術(shù)制造處理器802。此外,處理器802可以是單核或多核處理器。
[0073]可以根據(jù)來(lái)自英國(guó)劍橋的ARM HOLDINGS許可的ARM架構(gòu)來(lái)創(chuàng)建處理器802。替代地,可以根據(jù)例如來(lái)自Mountain View ,California的英特爾公司以及其它的x86架構(gòu)來(lái)創(chuàng)建處理器802。在一些實(shí)施例中,處理器802是來(lái)自San Diego,California的QUALCOMM的SNAPDRAGON SoC,來(lái)自 Santa Clara ,California 的 NVIDIA 的 TEGRA SoC,來(lái)自韓國(guó)Seoul 的SAMSUNG的HUMMINGBIRD SoC,來(lái)自 Dallas,Texas的TEXAS INSTRUMENTS的開放式多媒體應(yīng)用平臺(tái)(“0ΜΑΡ”)SoC,上述任意SoC的定制版本,或?qū)S蠸oC。
[0074]存儲(chǔ)器部件804包括RAM 814,ROM 816、集成存儲(chǔ)存儲(chǔ)器(“集成存儲(chǔ)設(shè)備”)818以及可移除存儲(chǔ)存儲(chǔ)器(“可移除存儲(chǔ)設(shè)備”)820。在一些實(shí)施例中,RAM 814或其一部分、ROM816或其一部分和/SRAM 814和R0M816的一些組合集成到處理器802中。在一些實(shí)施例中,ROM 816配置為存儲(chǔ)固件、操作系統(tǒng)或其一部分(例如,操作系統(tǒng)內(nèi)核),和/或引導(dǎo)加載器,用于從集成存儲(chǔ)設(shè)備818或可移除存儲(chǔ)設(shè)備820加載操作系統(tǒng)內(nèi)核。
[0075]集成存儲(chǔ)設(shè)備818可以包括固態(tài)存儲(chǔ)器、硬盤或者固態(tài)存儲(chǔ)器和硬盤的組合。集成存儲(chǔ)設(shè)備818可以焊接或以其它方式連接到邏輯板,在其上還可以連接本文描述的處理器802和其它部件。這樣,集成存儲(chǔ)設(shè)備818集成到計(jì)算設(shè)備中。集成存儲(chǔ)設(shè)備818配置為存儲(chǔ)操作系統(tǒng)或其一部分、應(yīng)用程序、數(shù)據(jù)和本文描述的其它軟件部件。
[0076]可移除存儲(chǔ)設(shè)備820可以包括固態(tài)存儲(chǔ)器、硬盤或者固態(tài)存儲(chǔ)器和硬盤的組合。在一些實(shí)施例中,設(shè)置可移除存儲(chǔ)設(shè)備820,替代集成存儲(chǔ)設(shè)備818。在一些實(shí)施例中,可移除存儲(chǔ)設(shè)備820被提供為額外的可選存儲(chǔ)設(shè)備。在一些實(shí)施例中,所述可移除存儲(chǔ)設(shè)備820與集成存儲(chǔ)設(shè)備818邏輯地組合,從而全部可用存儲(chǔ)設(shè)備可用,并向用戶顯示為集成存儲(chǔ)設(shè)備818和可移除存儲(chǔ)設(shè)備820的全部組合容量。
[0077]可移除存儲(chǔ)設(shè)備820配置為插入到可移除存儲(chǔ)設(shè)備存儲(chǔ)器槽(未示出)或其它機(jī)構(gòu)中,通過(guò)該槽插入可移除存儲(chǔ)設(shè)備820并將其緊固,以促進(jìn)連接,可移除存儲(chǔ)設(shè)備820通過(guò)該連接可以與計(jì)算設(shè)備的其它部件(例如,處理器802)通信??梢瞥鎯?chǔ)設(shè)備820可以具體實(shí)現(xiàn)在各種存儲(chǔ)器卡格式中,其包括但不限于:PC卡、CompactFlash卡、記憶棒、安全數(shù)字(“SD”)迷你SD、微型SD、通用集成電路卡(“UICC”)(例如,用戶身份模塊(“SM”)或通用SM(“usnf))、專屬格式等。
[0078]可以理解的是,存儲(chǔ)器部件804中的一個(gè)或多個(gè)可以存儲(chǔ)操作系統(tǒng)。根據(jù)各個(gè)實(shí)施例,操作系統(tǒng)包括但不限于:來(lái)自SYMBIAN LIMITED的SYMBIAN OS,來(lái)自Redmond,Washington的微軟公司的WINDOWS MOBILE OS,來(lái)自微軟公司的WINDOWS PHONE OS,來(lái)自微軟公司的WINDOWS,來(lái)自的Palo Alto ,California的惠普公司的PALM WEB0S,來(lái)自加拿大Waterloo ,Ontar1的RESEARCH IN MOT1N LIMITED的BLACKBERRY OS,來(lái)自 Cupertino,California的APPLE,INC.的1S,以及來(lái)自Mountain View,California的GOOGLE,INC.的ANDROID OS??梢詷?gòu)思其它操作系統(tǒng)。
[0079]網(wǎng)絡(luò)連接部件806包括無(wú)線廣域網(wǎng)部件(“WWAN部件”)822,無(wú)線局域網(wǎng)部件(“WLAN部件”)824,以及無(wú)線個(gè)域網(wǎng)部件(“WPAN部件”)826。網(wǎng)絡(luò)連接部件806促進(jìn)去往與來(lái)自網(wǎng)絡(luò)620的通信,其可以是WWAN、WLAN或WPAN。雖然示出單個(gè)網(wǎng)絡(luò)620,但是網(wǎng)絡(luò)連接部件806可以促進(jìn)與多個(gè)網(wǎng)絡(luò)的同時(shí)通信。例如,網(wǎng)絡(luò)連接部件806可以促進(jìn)與多個(gè)網(wǎng)絡(luò)經(jīng)由WWAN、WLAN或WPAN中的一個(gè)或多個(gè)進(jìn)行的同時(shí)通信。
[0080]網(wǎng)絡(luò)620可以是WWAN,例如移動(dòng)電信網(wǎng)絡(luò),其利用一個(gè)或多個(gè)移動(dòng)電信技術(shù)來(lái)向利用計(jì)算設(shè)備架構(gòu)800的計(jì)算設(shè)備經(jīng)由WWAN部件822提供語(yǔ)音和/或數(shù)據(jù)服務(wù)。移動(dòng)電信技術(shù)可以包括但不限于:全球移動(dòng)通信系統(tǒng)(“GSM”)、碼分多址(“CDMA”)0NE、CDMA2000、通用移動(dòng)通信系統(tǒng)(“UMTS”)、長(zhǎng)期演進(jìn)(“LTE” )以及全球微波訪問(wèn)互操作性(“WiMAX” )。此外,網(wǎng)絡(luò)620可以利用各種信道訪問(wèn)方法(其可以由上述標(biāo)準(zhǔn)使用或不使用),包括但不限于時(shí)分多址(“TDMA” )、頻分多址(“FDMA” )、CDMA、寬帶CDMA( “W-CDMA”)、正交頻分復(fù)用(“0FDM”)、空分多址(“SDMA”)等??梢允褂猛ㄓ梅纸M無(wú)線業(yè)務(wù)(“GPRS”)、全球進(jìn)化的增強(qiáng)數(shù)據(jù)速率(“EDGE” )、高速分組訪問(wèn)(“HSPA” )協(xié)議組,其包括高速下行分組訪問(wèn)(“HSDPA” )、增強(qiáng)型上行(“EUL”)或其它表述的高速上行分組訪問(wèn)(“HSUPA”)、演進(jìn)的HSPA( “HSPA+” )、LTE以及各種其它當(dāng)前和將來(lái)的無(wú)線數(shù)據(jù)訪問(wèn)標(biāo)準(zhǔn),來(lái)提供數(shù)據(jù)通信。網(wǎng)絡(luò)620可以配置為提供具有上述技術(shù)的任意組合的語(yǔ)音和/或數(shù)據(jù)通信。網(wǎng)絡(luò)620可以配置為或適于根據(jù)將來(lái)生成技術(shù)提供語(yǔ)音和/或數(shù)據(jù)通信。
[0081 ] 在一些實(shí)施例中,WWAN部件822配置為向網(wǎng)絡(luò)620提供雙-多模式連接。例如,WWAN部件822可以配置為向網(wǎng)絡(luò)620提供連接,其中網(wǎng)絡(luò)620經(jīng)由GSM和UMTS技術(shù)或者經(jīng)由一些其它技術(shù)的組合提供服務(wù)。替代地,多個(gè)WWAN部件822可以用于執(zhí)行這種功能,和/或提供額外的功能以支持其它不兼容技術(shù)(即,不能由單個(gè)WWAN部件支持)C3WffAN部件822可以促進(jìn)對(duì)多個(gè)網(wǎng)絡(luò)(例如,UMTS網(wǎng)絡(luò)和LTE網(wǎng)絡(luò))類似的連接。
[0082]網(wǎng)絡(luò)620可以是WLAN,其根據(jù)一個(gè)或多個(gè)電氣和電子工程師協(xié)會(huì)(“IEEE”)802.11標(biāo)準(zhǔn)進(jìn)行操作,例如,IEEE 802.1 Ia、802.1 Ib、802.1 lg、802.1 In和/或未來(lái)802.11標(biāo)準(zhǔn)(本文中統(tǒng)稱為W1-FI)。還構(gòu)思草稿802.11標(biāo)準(zhǔn)。在一些實(shí)施例中,利用一個(gè)或多個(gè)無(wú)線W1-FI接入點(diǎn)實(shí)現(xiàn)WLAN。在一些實(shí)施例中,一個(gè)或多個(gè)無(wú)線W1-FI接入點(diǎn)是連接到作為W1-FI熱點(diǎn)工作的WWAN的另一計(jì)算設(shè)備。WLAN部件824配置為經(jīng)由W1-FI接入點(diǎn)連接到網(wǎng)絡(luò)620。可以經(jīng)由各種加密技術(shù)確保這種連接,包括但不限于:W1-FI保護(hù)存取(“WPA”)、WPA2、有線等效私密(“WEP”)等。
[0083]網(wǎng)絡(luò)620可以是根據(jù)紅外數(shù)據(jù)協(xié)會(huì)(“IrDA”)、藍(lán)牙、無(wú)線通用串行總線(“USB”)、Z_Wave、ZIGBEE或一些其它的短程無(wú)線技術(shù)操作的WPAN。在一些實(shí)施例中,WPAN部件826配置為促進(jìn)經(jīng)由WPAN與其它設(shè)備的通信,例如外圍部件、計(jì)算機(jī)或其它計(jì)算設(shè)備。
[0084]傳感器部件808包括磁力計(jì)828、環(huán)境光傳感器830、近距離傳感器832、加速度計(jì)834、陀螺儀836以及全球定位系統(tǒng)傳感器(“GPS傳感器”)838??梢詷?gòu)思其它傳感器,例如但不限于:溫度傳感器或沖擊檢測(cè)傳感器,還可以并入到計(jì)算設(shè)備架構(gòu)800中。
[0085]磁力計(jì)828配置為測(cè)量磁場(chǎng)的強(qiáng)度和方向。在一些實(shí)施例中,磁力計(jì)828向存儲(chǔ)于存儲(chǔ)器部件804之一內(nèi)的指南針應(yīng)用程序提供測(cè)量,以便向用戶提供包括基本方向(北、南、東和西)的參照系中的準(zhǔn)確方向??梢韵虬ㄖ改厢槻考膶?dǎo)航應(yīng)用程序提供類似的測(cè)量。構(gòu)思通過(guò)磁力計(jì)828獲得的測(cè)量的其它使用。
[0086]環(huán)境光傳感器830配置為測(cè)量環(huán)境光。在一些實(shí)施例中,環(huán)境光傳感器830向存儲(chǔ)于存儲(chǔ)器部件804之一內(nèi)的應(yīng)用程序提供測(cè)量,以便自動(dòng)調(diào)整顯示器的亮度(下文描述)來(lái)補(bǔ)償?shù)凸夂透吖猸h(huán)境。構(gòu)思通過(guò)環(huán)境光傳感器830獲得測(cè)量的其它使用。
[0087]近距離傳感器832配置為檢測(cè)在計(jì)算設(shè)備附近但不直接接觸的對(duì)象或物體的存在。在一些實(shí)施例中,近距離傳感器832檢測(cè)用戶身體(例如,用戶臉部)的存在,并向存儲(chǔ)于存儲(chǔ)器部件804之一內(nèi)的應(yīng)用程序提供該信息,所述應(yīng)用程序利用近距離信息以啟用或禁用計(jì)算設(shè)備的一些功能。例如,電話應(yīng)用程序可以響應(yīng)于接收近距離信息,而自動(dòng)禁用觸摸屏(在下文描述),從而用戶的臉部不是故意地結(jié)束通話或啟用/禁用在通話期間在電話應(yīng)用程序內(nèi)的其它功能。構(gòu)思通過(guò)近距離傳感器832檢測(cè)的近距離的其它使用。
[0088]加速度計(jì)834配置為測(cè)量固有加速度。在一些實(shí)施例中,應(yīng)用程序使用來(lái)自加速度計(jì)834的輸出作為輸入機(jī)制,以控制應(yīng)用程序的一些功能。例如,應(yīng)用程序可以是視頻游戲,在其中響應(yīng)于經(jīng)由加速度計(jì)834接收的輸入而移動(dòng)或以其它方式操縱字符或其一部分或?qū)ο蟆T谝恍?shí)施例中,將來(lái)自加速度計(jì)834的輸出提供給應(yīng)用程序,用于在風(fēng)景模式和肖像模式之間切換、計(jì)算協(xié)調(diào)加速度或檢測(cè)下降。構(gòu)思加速度計(jì)834的其它使用。
[0089]陀螺儀836配置為測(cè)量和維持方向。在一些實(shí)施例中,通過(guò)應(yīng)用程序使用來(lái)自陀螺儀836的輸出作為輸入機(jī)構(gòu),來(lái)控制應(yīng)用程序的一些功能。例如,陀螺儀836可以用于準(zhǔn)確識(shí)別視頻游戲應(yīng)用或一些其它應(yīng)用的3D環(huán)境中的移動(dòng)。在一些實(shí)施例中,應(yīng)用程序利用來(lái)自陀螺儀836和加速度計(jì)834的輸出,以增強(qiáng)對(duì)應(yīng)用程序的一些功能的控制。構(gòu)思陀螺儀836的其它使用。
[0090]GPS傳感器838配置為從GPS衛(wèi)星接收信號(hào)用于計(jì)算位置。由GPS傳感器838計(jì)算出的位置可以由要求或受益于位置信息的任意應(yīng)用程序使用。例如,由GPS傳感器838計(jì)算出的位置可以與導(dǎo)航應(yīng)用程序一起用于提供從位置到目的地的方向或從目的地到位置的方向。此外,GPS傳感器838可以用于將位置信息提供給基于外部位置的服務(wù),例如E911服務(wù)。GPS傳感器838可以獲得經(jīng)由W1-F1、W頂AX和/或蜂窩三角測(cè)量技術(shù)生成的位置信息,所述蜂窩三角測(cè)量技術(shù)利用一個(gè)或多個(gè)網(wǎng)絡(luò)連接部件806來(lái)幫助GPS傳感器838獲得位置固定。GPS傳感器838還可以用于輔助GPS( “A-GPS”)系統(tǒng)。
[0091]I/O部件810包括顯示器840、觸摸屏842、數(shù)據(jù)I/O接口部件(“數(shù)據(jù)I/O”)844、音頻I/o接口部件(“音頻I/O”)846、視頻I/O接口部件(“視頻I/O”)848和攝像機(jī)850。在一些實(shí)施例中,組合顯示器840和觸摸屏842。在一些實(shí)施例中,組合數(shù)據(jù)I/O部件844、音頻I/O部件846和視頻I/O部件848中的兩個(gè)或更多個(gè)。I/O部件810可以包括離散處理器,其配置為支持下文所述的各種接口,或可以包括嵌入到處理器802中的處理功能。
[0092]顯示器840是配置為呈現(xiàn)視覺形式的信息的輸出設(shè)備。特別地,顯示器840可以呈現(xiàn)圖形用戶界面(“GUI”)元素、文本、圖像、視頻、通知、虛擬按鈕、虛擬鍵盤、消息傳送數(shù)據(jù)、因特網(wǎng)內(nèi)容、設(shè)備狀態(tài)、時(shí)間、日期、日歷數(shù)據(jù)、偏好、地圖信息、位置信息、以及能夠以視覺形式呈現(xiàn)的任意其它信息。在一些實(shí)施例中,顯示器840是液晶顯示器(“LCD”),其利用任意主動(dòng)或被動(dòng)矩陣技術(shù)以及任意背光技術(shù)(如果使用的話)。在一些實(shí)施例中,顯示器840是有機(jī)發(fā)光二極管(“OLED” )顯示器。構(gòu)思其它顯示器類型。
[0093]觸摸屏842是輸入設(shè)備,其配置為檢測(cè)觸摸的存在和位置。觸摸屏842可以是電阻觸摸屏、電容觸摸屏、表面聲波觸摸屏、紅外觸摸屏、光成像觸摸屏、色散信號(hào)觸摸屏、聲脈沖識(shí)別觸摸屏,或可以利用任意其它觸摸屏技術(shù)。在一些實(shí)施例中,觸摸屏842并入到顯示器840的頂部作為透明層,以使得用戶能夠使用一個(gè)或多個(gè)觸摸來(lái)與顯示器840上呈現(xiàn)的對(duì)象或其它信息交互。在其它實(shí)施例中,觸摸屏842是并入到計(jì)算設(shè)備的表面上且不包括顯示器840的觸摸板。例如,計(jì)算設(shè)備可以具有并入到顯示器840的頂部上的觸摸屏,并且表面上的觸摸板與顯示器840相對(duì)。
[0094]在一些實(shí)施例中,觸摸屏842是單觸摸觸摸屏。在其它實(shí)施例中,觸摸屏842是多觸摸觸摸屏。在一些實(shí)施例中,觸摸屏842配置為檢測(cè)離散觸摸、單個(gè)觸摸手勢(shì)和/或多觸摸手勢(shì)。為了方便,這些在本文中統(tǒng)稱為手勢(shì)?,F(xiàn)在將描述若干手勢(shì)。應(yīng)該理解的是,這些手勢(shì)是說(shuō)明性的且不意圖限制隨附權(quán)利要求的范圍。此外,所描述的手勢(shì)、額外手勢(shì)和/或替代手勢(shì)可以實(shí)現(xiàn)于與觸摸屏842—起使用的軟件中。這樣,開發(fā)者可以創(chuàng)建專用于特定應(yīng)用程序的手勢(shì)。
[0095]在一些實(shí)施例中,觸摸屏842支持點(diǎn)擊手勢(shì),其中用戶對(duì)呈現(xiàn)在顯示器840上的項(xiàng)目點(diǎn)擊觸摸屏842—次。點(diǎn)擊手勢(shì)可以用于各種原因,包括但不限于打開或發(fā)動(dòng)用戶點(diǎn)擊的任何事務(wù)。在一些實(shí)施例中,觸摸屏842支持雙擊手勢(shì),其中用戶對(duì)呈現(xiàn)在顯示器840上的項(xiàng)目點(diǎn)擊觸摸屏842兩次。雙擊手勢(shì)可用于各種原因,包括但不限于階段性縮小或放大。在一些實(shí)施例中,觸摸屏842支持點(diǎn)擊和保持手勢(shì),其中用戶點(diǎn)擊觸摸屏842并維持接觸達(dá)至少預(yù)先定義的時(shí)間。點(diǎn)擊和保持手勢(shì)可以用于各種原因,包括但不限于打開上下文特有菜單。
[0096]雖然已經(jīng)結(jié)合使用一個(gè)或多個(gè)手勢(shì)執(zhí)行手勢(shì)而描述了上述手勢(shì),但其它附加物(例如,腳趾)或?qū)ο?例如,鐵筆)可以用于與觸摸屏842交互。這樣,上述手勢(shì)應(yīng)該被理解為說(shuō)明性的且不應(yīng)被解釋為以任何方式進(jìn)行限制。
[0097]數(shù)據(jù)I/O接口部件844配置為促進(jìn)將數(shù)據(jù)輸入到計(jì)算設(shè)備,并從計(jì)算設(shè)備輸出數(shù)據(jù)。在一些實(shí)施例中,數(shù)據(jù)I/O接口部件844包括連接器,其配置為提供在計(jì)算設(shè)備和計(jì)算機(jī)系統(tǒng)之間的有線連接,例如,用于同步操作的目的。連接器可以是專用連接器或標(biāo)準(zhǔn)連接器,例如,USB、微型USB、迷你USB等。在一些實(shí)施例中,連接器是基座連接器,用于對(duì)接計(jì)算設(shè)備與另一設(shè)備,例如,對(duì)接站、音頻設(shè)備(例如,數(shù)字音樂(lè)播放器)、或視頻設(shè)備。
[0098]音頻I/O接口部件846配置為向計(jì)算設(shè)備提供音頻輸入和/或輸出能力。在一些實(shí)施例中,音頻I/o接口部件846包括麥克風(fēng),其配置為收集音頻信號(hào)。在一些實(shí)施例中,音頻I/O接口部件846包括耳機(jī)插口,其配置為提供用于耳機(jī)或其它外部揚(yáng)聲器的連接。在一些實(shí)施例中,音頻接口部件846包括揚(yáng)聲器用于輸出音頻信號(hào)。在一些實(shí)施例中,音頻I/O接口部件846包括光音頻電纜出口。
[0099]視頻I/O接口部件848配置為向計(jì)算設(shè)備提供視頻輸入和/或輸出能力。在一些實(shí)施例中,視頻I/o接口部件848包括視頻連接器,其配置為接收視頻作為來(lái)自另一設(shè)備(例如,視頻媒體播放器,例如DVD或BLURAY播放器)的輸入,或發(fā)送視頻作為到另一設(shè)備(例如,監(jiān)視器、電視或一些其它外部顯示器)的輸出。在一些實(shí)施例中,視頻I/O接口部件848包括高清晰度多媒體接口( “HDMI” )、迷你HDM1、微型冊(cè)11、01叩1&7?0代、或到輸入/輸出視頻內(nèi)容的專用連接器。在一些實(shí)施例中,視頻I/O接口部件848或其一部分與音頻I/O接口部件846或其一部分組合。
[0100]攝像機(jī)850可以配置為捕捉靜止圖像和/或視頻。攝像機(jī)850可以利用電荷耦合設(shè)備(“CCD”)或互補(bǔ)金屬氧化物半導(dǎo)體(“CMOS”)圖像傳感器來(lái)捕捉圖像。在一些實(shí)施例中,攝像機(jī)850包括閃光來(lái)幫助在低光環(huán)境中拍照??梢詫?duì)攝像機(jī)850的設(shè)置實(shí)現(xiàn)為硬件或軟件按鈕。
[0101]雖然未示出,但一個(gè)或多個(gè)硬件按鈕還可以包含于計(jì)算設(shè)備架構(gòu)800。硬件按鈕可以用于控制計(jì)算設(shè)備的一些操作方面。硬件按鈕可以是專用按鈕或多用途按鈕。硬件按鈕可以是機(jī)械的或基于傳感器的。
[0102]圖示的電源部件812包括一個(gè)或多個(gè)電池852,其可以連接到電池量表854。電池852可以是可充電的或一次性的??沙潆姷碾姵仡愋桶ǖ幌抻阡嚲酆衔铩囯x子、鎳鎘電池以及鎳氫。每個(gè)電池852可以由一個(gè)或多個(gè)單元組成。
[0?03] 電池量表854可以配置為測(cè)量電池參數(shù),例如,電流、電壓和溫度。在一些實(shí)施例中,電池量表854配置為測(cè)量電池充電率、溫度、年齡和其它因素的效果,以在誤差的特定百分比內(nèi)預(yù)測(cè)剩余壽命。在一些實(shí)施例中,電池量表854對(duì)應(yīng)用程序提供測(cè)量,其配置為利用測(cè)量來(lái)向用戶呈現(xiàn)有用的電源管理數(shù)據(jù)。電源管理數(shù)據(jù)可以包括所使用的電池的百分比、剩余電池的百分比、電池狀況、剩余時(shí)間、剩余容量(例如,瓦特時(shí)間)、電流消耗和電壓中的一個(gè)或多個(gè)。
[0104]電源部件812還可以包括電源連接器,其可以與上述I/O部件810中的一個(gè)或多個(gè)組合。電源部件812可以經(jīng)由電源I/O部件(未示出)與外部電源系統(tǒng)或充電裝備接合。
[0105]基于上述內(nèi)容,應(yīng)該理解的是,已經(jīng)在本文中公開了將主題信息從主機(jī)應(yīng)用傳播到一個(gè)或多個(gè)主機(jī)擴(kuò)展的技術(shù)。雖然已經(jīng)以對(duì)計(jì)算機(jī)結(jié)構(gòu)特征、方法和轉(zhuǎn)化動(dòng)作、專用計(jì)算機(jī)器和計(jì)算機(jī)可讀介質(zhì)專用的語(yǔ)言描述了本文呈現(xiàn)的主題,但可以理解的是,在隨附權(quán)利要求中定義的發(fā)明不必局限于本文描述的具體特征、動(dòng)作或介質(zhì)。而是,將具體的特征、動(dòng)作和介質(zhì)公開為實(shí)現(xiàn)權(quán)利要求的示例性形式。
[0106]僅通過(guò)圖示提供上述主旨,而不應(yīng)該將其解釋為限制??梢詫?duì)本文描述的主旨進(jìn)行各種修改和改變,而不遵循所圖示和描述的示例性實(shí)施例和應(yīng)用,并且不會(huì)背離在后續(xù)權(quán)利要求中闡述的本公開的真實(shí)精神和范圍。
【主權(quán)項(xiàng)】
1.一種用于將主題改變事件從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的計(jì)算機(jī)實(shí)現(xiàn)方法,所述方法包括: 將主題定義從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展,由此所述主機(jī)擴(kuò)展利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)用戶界面(UI)元素; 通過(guò)所述主機(jī)應(yīng)用檢測(cè)主題改變事件;以及 響應(yīng)于檢測(cè)到所述主題改變事件, 基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義;以及 將所述主題改變事件的通知從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展, 由此所述主機(jī)擴(kuò)展利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,所述主題定義包括應(yīng)用級(jí)別主題,其定義由所述主機(jī)應(yīng)用提供的一個(gè)或多個(gè)UI元素的主題。3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,所述主題定義包括文檔級(jí)別主題,其定義通過(guò)文檔內(nèi)容定義的一個(gè)或多個(gè)UI元素的主題。4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,所述主題定義是利用元數(shù)據(jù)定義的。5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中,所述主題改變事件包括撤消命令、幻燈片改變操作和接收新主題選擇中的一個(gè)或多個(gè)。6.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,當(dāng)所述指令被執(zhí)行時(shí)使得計(jì)算機(jī)用于: 將主題定義從主機(jī)應(yīng)用提供給主機(jī)擴(kuò)展,由此所述主機(jī)擴(kuò)展利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)用戶界面(UI)元素; 通過(guò)所述主機(jī)應(yīng)用檢測(cè)主題改變事件;以及 響應(yīng)于檢測(cè)到所述主題改變事件, 基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義;以及 將所述主題改變事件的通知從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展, 由此所述主機(jī)擴(kuò)展利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素。7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述主題定義包括應(yīng)用級(jí)別主題,其定義由所述主機(jī)應(yīng)用提供的多個(gè)UI元素的主題。8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述主題定義還包括文檔級(jí)別主題,其定義通過(guò)文檔內(nèi)容提供的一個(gè)或多個(gè)UI元素的主題。9.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,由所述主機(jī)擴(kuò)展呈現(xiàn)的所述一個(gè)或多個(gè)UI元素包括由所述文檔內(nèi)容定義的UI元素。10.—種用于將主題改變事件從主機(jī)應(yīng)用傳播到主機(jī)擴(kuò)展的裝置,所述裝置包括: 處理器; 存儲(chǔ)器,其與所述處理器通信地耦合;以及 主機(jī)應(yīng)用,其來(lái)自所述存儲(chǔ)器在所述處理器中執(zhí)行,并且在由所述處理器執(zhí)行時(shí),使得所述裝置用于: 將主題定義從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展,所述主題定義包括:定義由所述主機(jī)應(yīng)用提供的多個(gè)用戶界面(UI)元素的主題的應(yīng)用級(jí)別主題和定義由文檔提供的多個(gè)UI元素的主題的文檔級(jí)別主題,由此所述主機(jī)擴(kuò)展利用所述主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的一個(gè)或多個(gè)UI元素,以使得由所述主機(jī)擴(kuò)展呈現(xiàn)的所述一個(gè)或多個(gè)UI元素看起來(lái)與所述主機(jī)應(yīng)用和所述文檔一致; 通過(guò)所述主機(jī)應(yīng)用檢測(cè)主題改變事件;以及 響應(yīng)于檢測(cè)到所述主題改變事件, 基于所述主題改變事件更新所述主題定義,以創(chuàng)建更新后的主題定義;以及 將所述主題改變事件的通知從所述主機(jī)應(yīng)用提供給所述主機(jī)擴(kuò)展, 由此所述主機(jī)擴(kuò)展利用更新后的主題定義來(lái)更新由所述主機(jī)擴(kuò)展呈現(xiàn)的所述一個(gè)或多個(gè)UI元素,以使得由所述主機(jī)擴(kuò)展呈現(xiàn)的所述一個(gè)或多個(gè)UI元素看起來(lái)與所述主機(jī)應(yīng)用和所述文檔一致。
【文檔編號(hào)】G06F9/44GK106062709SQ201580010219
【公開日】2016年10月26日
【申請(qǐng)日】2015年2月20日
【發(fā)明人】J·G·巴爾莫利拉布拉, R·N·坦達(dá)旺, J·華, D·M·桑德斯, A·莫辛德拉, A·薩拉馬托夫, H·萊薩馬瓜達(dá)拉馬, R·黃, R·G·布魯薩爾, P·G·吳, G·羅耶, M·J·桑德斯
【申請(qǐng)人】微軟技術(shù)許可有限責(zé)任公司