用于為在線文檔提供計算web服務(wù)的系統(tǒng)和方法
【專利摘要】本發(fā)明的各實施例提供一種向一個或多個在線文檔提供附加功能(包括web功能)的方法和系統(tǒng)。具體地,此處描述的各實施例包括接收對要在web擴展中使用的數(shù)據(jù)范圍的選擇,并且將對該數(shù)據(jù)范圍的選擇綁定到該web擴展。一旦該數(shù)據(jù)被綁定,綁定就被存儲在遠程計算設(shè)備中。響應(yīng)于檢測到與所綁定的數(shù)據(jù)范圍的交互,向該遠程計算設(shè)備發(fā)送所綁定的數(shù)據(jù)范圍,其中所綁定的數(shù)據(jù)范圍基于該交互來更新。隨后向該web擴展發(fā)送已更新數(shù)據(jù),以使該web擴展能夠用新接收到的數(shù)據(jù)來更新。
【專利說明】用于為在線文檔提供計算web服務(wù)的系統(tǒng)和方法
[0001]背景
[0002]電子表格及其他文檔用于各種用途,諸如分析、管理和共享信息。電子表格及其他文檔可被配置成呈現(xiàn)各種可視化工具,以幫助跟蹤和突出顯示重要數(shù)據(jù)和數(shù)據(jù)趨勢。有時,找到以特定方式呈現(xiàn)數(shù)據(jù)的適當(dāng)功能可能是困難的。由此,許多用戶和企業(yè)嘗試向電子表格應(yīng)用或其他文檔應(yīng)用添加自定義功能,但是對這些添加進行編程可能是困難的。
[0003]各實施例正是對于這些和其它一般考慮事項而做出的。而且,盡管討論了相對具體的問題,但是應(yīng)當(dāng)理解,各實施例不應(yīng)被限于解決本【背景技術(shù)】中所標(biāo)識的具體問題。
[0004]概述
[0005]提供本概述來以簡化形式介紹將在以下詳細描述部分中進一步描述的一些概念。本概述并不旨在標(biāo)識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0006]本發(fā)明的各實施例提供一種向一個或多個在線文檔提供附加功能(包括web功能)的方法和系統(tǒng)。具體地,此處描述的各實施例包括接收對要在web擴展中使用的數(shù)據(jù)范圍的選擇,并且將對該數(shù)據(jù)范圍的選擇綁定到該web擴展。一旦該數(shù)據(jù)被綁定,綁定就被存儲在遠程計算設(shè)備中。響應(yīng)于檢測到與所綁定的數(shù)據(jù)范圍的交互,向該遠程計算設(shè)備發(fā)送所綁定的數(shù)據(jù)范圍,其中所綁定的數(shù)據(jù)范圍基于該交互來更新。隨后向該web擴展發(fā)送已更新數(shù)據(jù),以使該web擴展能夠用新接收到的數(shù)據(jù)來更新。
[0007]各實施例可被實現(xiàn)為計算機進程、計算系統(tǒng)、或者諸如計算機程序產(chǎn)品或計算機可讀介質(zhì)等制品。計算機程序產(chǎn)品可以是計算機系統(tǒng)可讀的并編碼了用于執(zhí)行計算機進程的指令的計算機程序的計算機存儲介質(zhì)。計算機程序產(chǎn)品還可以是計算系統(tǒng)可讀并編碼了用于執(zhí)行計算機過程的指令的計算機程序的載體上的傳播信號。
[0008]附圖簡述
[0009]參考以下附圖描述非限制性和非窮盡的實施例,其中:
[0010]圖1示出根據(jù)一個或多個實施例的用于為一個或多個在線應(yīng)用提供計算web服務(wù)的系統(tǒng);
[0011]圖2示出根據(jù)一個或多個實施例的用于為在線文檔創(chuàng)建web擴展的方法;
[0012]圖3示出根據(jù)一個或多個實施例的用于創(chuàng)建并調(diào)用自定義函數(shù)的方法;
[0013]圖4示出根據(jù)此處公開的一個或多個實施例的執(zhí)行本發(fā)明的一個實施例的平板計算設(shè)備;
[0014]圖5示出適于實現(xiàn)此處公開的一個或多個實施例的計算環(huán)境的框圖;
[0015]圖6A示出執(zhí)行此處公開的一個或多個實施例的移動計算設(shè)備的一個實施例;
[0016]圖6B是適于實施此處公開的一個或多個實施例的示例性移動計算設(shè)備的簡化框圖;以及
[0017]圖7是適于實施此處公開的一個或多個實施例的示例性分布式計算系統(tǒng)的簡化框圖。
[0018]詳細描述
[0019]以下將參考形成本發(fā)明一部分并示出各具體示例性實施例的附圖更詳盡地描述各個實施例。然而,各實施例可以以許多不同的形式來實現(xiàn),并且不應(yīng)將其解釋為限制此處所闡述的各實施例;相反地,提供這些實施例以使得本公開變得透徹和完整,并且將這些實施例的范圍完全傳達給本領(lǐng)域普通技術(shù)人員。各實施例可按照方法、系統(tǒng)或設(shè)備來實施。因此,這些實施例可采用硬件實現(xiàn)形式、全軟件實現(xiàn)形式或者結(jié)合軟件和硬件方面的實現(xiàn)形式。因此,以下詳細描述并非是局限性的。
[0020]圖1示出根據(jù)一個或多個實施例的用于為一個或多個在線應(yīng)用提供計算web服務(wù)的系統(tǒng)100。如圖1所示,系統(tǒng)100包括可經(jīng)由網(wǎng)絡(luò)連接130訪問應(yīng)用服務(wù)120的計算設(shè)備110。在某些實施例中,計算設(shè)備110包括使用戶能夠創(chuàng)建內(nèi)容的一個或多個本地應(yīng)用。此類應(yīng)用的示例包括電子表格應(yīng)用、文字處理應(yīng)用、數(shù)據(jù)庫應(yīng)用等。盡管已提及具體的本地應(yīng)用,但還構(gòu)想了計算設(shè)備110可具有此處未具體提及的附加應(yīng)用。
[0021]計算設(shè)備110還可訪問由應(yīng)用服務(wù)120提供的各種在線應(yīng)用。這些在線應(yīng)用可以使用戶能夠創(chuàng)建在線文檔,諸如,在線電子表格文檔、在線文字處理文檔等等。盡管特別提及各在線文檔,但是構(gòu)想了此處描述的這些實施例可用于本地存儲的各文檔。在此類實施例中,web擴展(以下討論)即使不存在因特網(wǎng)連接(即,本地存儲的文檔處于“離線”)時還被本地存儲,并且也可應(yīng)用于該文檔。在某些實施例中,應(yīng)用服務(wù)120是被配置成提供與一個或多個在線應(yīng)用有關(guān)的服務(wù)的基于云的或基于企業(yè)的服務(wù)。如簡要討論的,這一服務(wù)可以使用戶能夠創(chuàng)建與由本地應(yīng)用創(chuàng)建的文檔類似的基于web的版本的文檔。
[0022]在某些實施例中,應(yīng)用服務(wù)120是向計算設(shè)備110以及其他計算設(shè)備(未示出)提供資源和服務(wù)的多承租人服務(wù)。在其中應(yīng)用服務(wù)120是基于云的服務(wù)的各實施例中,應(yīng)用服務(wù)120可要求每一承租人訂閱應(yīng)用服務(wù)120。
[0023]在某些實施例中,計算設(shè)備110可訪問的在線或基于web的應(yīng)用可以使用戶能夠定義并利用一個或多個web擴展或小配件。一般而言,web擴展被配置成快速顯示信息。例如,web擴展可被創(chuàng)建以顯示交互式條形圖,該條形圖可從在線電子表格獲取數(shù)據(jù)并且還可用于將數(shù)據(jù)放置在該在線電子表格內(nèi)。在某些實施例中,web擴展在該在線文檔中被顯示在指定web框架(例如,在特定文檔或在線文檔中呈現(xiàn)web內(nèi)容的框)中。在各實施例中,每一 web擴展或小配件按照與web上的其他內(nèi)容相同的方式向在線應(yīng)用創(chuàng)建的在線文檔提供web內(nèi)容。web擴展不僅能夠示出從在線電子表格獲取的內(nèi)容,web擴展還能使得在線電子表格的顯示改變。盡管特別提及在線電子表格web擴展,但是構(gòu)想了 web擴展可由各種在線應(yīng)用使用并且可被配置成執(zhí)行各種操作。
[0024]在某些實施例中,web擴展可使用不同的編程語言來構(gòu)建,諸如舉例而言,XML、HTML、JavaScript、ADOBE FLASH等等。另外,web擴展可在網(wǎng)絡(luò)站點上、在本地機器上被執(zhí)行,或者可被包含在在線電子表格文檔、本地電子表格文檔或與特定應(yīng)用(在線或本地的)相關(guān)聯(lián)的其他文檔內(nèi)。
[0025]如以下將解釋的,當(dāng)執(zhí)行web擴展的應(yīng)用是在線應(yīng)用(諸如舉例而言,在線電子表格應(yīng)用)時,與特定在線電子表格應(yīng)用相關(guān)聯(lián)的web擴展可被配置成與服務(wù)器140通信。該通信可包括發(fā)送和接收來自服務(wù)器140的數(shù)據(jù),該數(shù)據(jù)使web擴展按各種方式來呈現(xiàn)。例如,如果新數(shù)據(jù)被輸入到在線電子表格應(yīng)用所生成的在線電子表格文檔,則新數(shù)據(jù)可被傳送至服務(wù)器140。服務(wù)器隨后可對數(shù)據(jù)執(zhí)行一個或多個功能,并且將新數(shù)據(jù)傳送回web擴展。web擴展隨后基于從服務(wù)器接收到的數(shù)據(jù)來更新。在某些實施例中,從在線電子表格文檔接收到的新數(shù)據(jù)可被服務(wù)器140或關(guān)聯(lián)數(shù)據(jù)存儲150存儲。
[0026]如以下將詳細討論的,在線電子表格文檔或其他在線文檔中的數(shù)據(jù)可被綁定到特定web擴展。因此,當(dāng)綁定區(qū)域中的數(shù)據(jù)被改變和/交互時,服務(wù)器140檢測到改變和/或交互,將這些改變存儲在數(shù)據(jù)電子存儲150中,并且將已更新數(shù)據(jù)發(fā)送回在線電子表格文檔。一旦已更新數(shù)據(jù)被接收,web擴展就可被更新。
[0027]在某些實施例中,在線應(yīng)用(諸如,在線電子表格文檔)可包括一個或多個預(yù)定義函數(shù)。然而,用戶可能希望向一個或多個在線應(yīng)用添加附加的、用戶定義的函數(shù)。由此,本發(fā)明的各實施例還向用戶提供通過指定函數(shù)名以及與該函數(shù)相關(guān)聯(lián)的參數(shù)來創(chuàng)建并定義自定義函數(shù)的能力。一旦定義了函數(shù),如果函數(shù)被在線文檔調(diào)用,則服務(wù)器(諸如,服務(wù)器140)可對數(shù)據(jù)調(diào)用函數(shù)并且將結(jié)果返回給在線文檔。
[0028]例如,計算設(shè)備110可訪問應(yīng)用服務(wù)120并且采用許多在線文檔中例行使用的公共函數(shù)。用戶隨后可以定義未構(gòu)建到特定在線文檔中的一個或多個函數(shù)。該用戶定義的函數(shù)使用戶能夠通過調(diào)用定義的函數(shù)名來使用用戶定義的函數(shù)。如同web擴展那樣,函數(shù)可被服務(wù)器140存儲在數(shù)據(jù)存儲150中。當(dāng)用戶調(diào)用函數(shù)時,服務(wù)器140從在線文檔接收數(shù)據(jù),基于函數(shù)處理數(shù)據(jù),并且將結(jié)果返回給在線文檔。
[0029]圖2示出根據(jù)一個或多個實施例的用于為在線文檔創(chuàng)建并更新web擴展的方法200。方法200在操作210開始,其中在線文檔上的web擴展被創(chuàng)建/標(biāo)識。在某些實施例中,web擴展可基于包含一個或多個web框架的在線文檔來標(biāo)識。
[0030]在一個實施例中,可以在計算設(shè)備(諸如,計算設(shè)備110)的瀏覽器中呈現(xiàn)在線文檔。如以上討論的,在線文檔可以是在線電子表格文檔或使用戶能夠添加、編輯或顯示內(nèi)容的其他此類在線文檔。盡管特別提及在線文檔,但構(gòu)想了當(dāng)本地應(yīng)用創(chuàng)建本地文檔時下述一個或多個操作可由計算設(shè)備來實現(xiàn)。
[0031]一旦web擴展已創(chuàng)建/標(biāo)識,流程前進到操作220,其中接收對在線文檔中的數(shù)據(jù)范圍的選擇。在某些實施例中,所選數(shù)據(jù)范圍是web擴展要使用的數(shù)據(jù)范圍。另外,數(shù)據(jù)范圍是影響web擴展的呈現(xiàn)的特定數(shù)據(jù)。例如,如果web擴展是在線地圖,并且在線文檔是電子表格文檔,則所選數(shù)據(jù)范圍可包括該電子表格中的單元格范圍,這些單元格中的每一個在地圖上具有與感興趣的位置相關(guān)聯(lián)的特定坐標(biāo),這些感興趣的位置將在該在線地圖上被突出顯示或標(biāo)記。
[0032]在特定實施例中,對數(shù)據(jù)的選擇可以是用戶對在線電子表格或其他在線文檔內(nèi)的一個或多個單元格的選擇。例如,用戶可以使用(a)計算設(shè)備上的觸摸輸入、與在線電子表格相關(guān)聯(lián)的用戶界面、對象名稱、單元格范圍等來選擇在線電子表格的一個或多個單元格。
[0033]流程隨后前進到操作230,其中數(shù)據(jù)范圍被綁定到web擴展。在某些實施例中,將數(shù)據(jù)范圍綁定到web擴展可以包括指定web擴展的唯一名稱,指定該綁定的唯一名稱,以及指定與web擴展相關(guān)聯(lián)的在線文檔的單元格范圍。一旦發(fā)生了綁定,就存儲綁定信息。在某些實施例中,綁定信息被存儲在服務(wù)器(諸如舉例而言,服務(wù)器140(圖1))可訪問的存儲設(shè)備中。
[0034]流程前進到操作240,其中服務(wù)器將與該綁定相關(guān)聯(lián)的元數(shù)據(jù)發(fā)送給web擴展。之后,當(dāng)元數(shù)據(jù)被訪問時,與元數(shù)據(jù)有關(guān)的所有信息從存儲在服務(wù)器上的計算引擎被傳遞到呈現(xiàn)引擎,該呈現(xiàn)引擎將已更新的web擴展呈現(xiàn)在在線文檔中。例如,一旦數(shù)據(jù)被綁定到web擴展,用戶就可訪問在線文檔并且與數(shù)據(jù)交互。在其中在線文檔是在線電子表格的各實施例中,用戶可操縱綁定單元格中的一個或多個單元格中的數(shù)據(jù)。在用戶與數(shù)據(jù)交互時,web擴展注冊事件,并且新改變的數(shù)據(jù)由在線應(yīng)用發(fā)送給服務(wù)器(諸如舉例而言,服務(wù)器140)。服務(wù)器上的計算引擎處理這些改變,保存這些改變,并且已更新數(shù)據(jù)發(fā)送到呈現(xiàn)引擎以便將呈現(xiàn)在在線文檔中。另外,通知(諸如,事件通知)被發(fā)送到web擴展,從而向web擴展通知數(shù)據(jù)已改變。一旦被通知,web擴展可請求改變的數(shù)據(jù)。在各實施例中,服務(wù)器可被配置成跟蹤與在線文檔相關(guān)聯(lián)的所有綁定數(shù)據(jù)。結(jié)果,當(dāng)數(shù)據(jù)被改變時,服務(wù)器自動地發(fā)起將在線文檔數(shù)據(jù)和web擴展事件元數(shù)據(jù)(例如,指示綁定已改變的數(shù)據(jù))發(fā)送到關(guān)聯(lián)web擴展。在某些實施例中,服務(wù)器還可以為每一 web擴展存儲一個或多個設(shè)置(例如,用戶偏好的顯示設(shè)置等),并且在需要時重新加載這些設(shè)置。
[0035]圖3示出根據(jù)一個或多個實施例的用于創(chuàng)建并調(diào)用自定義函數(shù)的方法300。方法300在操作310開始,其中自定義函數(shù)被創(chuàng)建。如以上討論的,該自定義函數(shù)可以是對在線文檔(諸如舉例而言,在線電子表格文檔)中的數(shù)據(jù)執(zhí)行的函數(shù)。
[0036]一旦該自定義函數(shù)被創(chuàng)建,流程前進到操作320,其中該函數(shù)被注冊。在某些實施例中,注冊該函數(shù)包括將該函數(shù)綁定到一標(biāo)識符(諸如舉例而言,令牌)該令牌隨后可被嵌入顯示在線文檔的瀏覽器中或在線文檔本身中。當(dāng)該令牌被訪問時,對存儲在在線文檔中的數(shù)據(jù)調(diào)用與該令牌相關(guān)聯(lián)的特定在線函數(shù)。
[0037]流程隨后前進到操作330,其中該令牌被存儲在服務(wù)器上或與該服務(wù)器相關(guān)聯(lián)的數(shù)據(jù)存儲中。在某些實施例中,服務(wù)器可以是服務(wù)器140 (圖1)并且數(shù)據(jù)存儲可以是數(shù)據(jù)存儲150。
[0038]一旦該令牌已存儲,流程前進到操作340,其中在該令牌被訪問時調(diào)用已存儲函數(shù)。在某些實施例中,使用已存儲函數(shù)對數(shù)據(jù)進行計算可以同步或異步地執(zhí)行。例如,如果對在線電子表格文檔中的數(shù)據(jù)正在執(zhí)行一個或多個計算,并且該令牌被訪問,則在線文檔的狀態(tài)被維護,數(shù)據(jù)被發(fā)送到服務(wù)器,該服務(wù)器使用自定義函數(shù)執(zhí)行計算并且將結(jié)果返回給在線文檔。在另一實施例中,當(dāng)該令牌被訪問時,在線文檔的狀態(tài)不被維護。在這樣的情況下,服務(wù)器可接收該令牌,標(biāo)識需要調(diào)用的自定義函數(shù),并且將新計算出的數(shù)據(jù)傳送到在線應(yīng)用。
[0039]本文描述的實施例和功能可經(jīng)許多計算系統(tǒng)來操作,包括但不限于:有線和無線計算系統(tǒng)、移動計算系統(tǒng)(如移動電話、上網(wǎng)本、圖形輸入板或平板型計算機、以及膝上型計算機等)。圖4示出可用于訪問應(yīng)用服務(wù)120或可用于訪問一個或多個在線文檔的示例性平板計算設(shè)備400。此外,本文所述的實施例和功能可在分布式系統(tǒng)上操作(如基于云的計算系統(tǒng)),其中應(yīng)用功能、存儲器、數(shù)據(jù)存儲和檢索、以及各種處理功能可在諸如因特網(wǎng)或內(nèi)聯(lián)網(wǎng)之類的分布式計算網(wǎng)絡(luò)上彼此遠程地操作。各種類型的用戶界面和信息可經(jīng)板載計算設(shè)備顯示器或經(jīng)與一個或多個計算設(shè)備相關(guān)聯(lián)的遠程顯示單元被顯示。例如,各種類型的用戶界面和信息可在墻壁表面上被顯示和交互,各種類型的用戶界面和信息被投射在墻壁表面上。與可用于實施本發(fā)明的各實施例的許多計算系統(tǒng)的交互包括:鍵擊輸入、觸摸屏輸入、語音或其他音頻輸入、姿勢輸入(其中相關(guān)聯(lián)的計算設(shè)備配備有用于捕捉和解釋用于控制計算設(shè)備的功能的用戶姿勢的檢測(如相機)功能)等。圖6至8以及相關(guān)聯(lián)的描述提供了其中可實施本發(fā)明的實施例的各種操作環(huán)境的討論。然而,關(guān)于圖6-8所示出和討論的設(shè)備和系統(tǒng)是用于示例和說明的目的,而非對可被用于實施本文所述的本發(fā)明的各實施例的大量計算設(shè)備配置的限制。
[0040]圖5是示出可用來實施本發(fā)明的各實施例的計算設(shè)備500的示例物理組件的框圖。下面描述的計算設(shè)備組件可適用于上述的計算設(shè)備。在基本配置中,計算設(shè)備500可包括至少一個處理單元502和系統(tǒng)存儲器504。取決于計算設(shè)備的配置和類型,系統(tǒng)存儲器504可包括,但不限于,易失性存儲(例如,隨機存取存儲器)、非易失性存儲(例如,只讀存儲器)、閃存、或任何組合。系統(tǒng)存儲器504可包括操作系統(tǒng)505、適合于運行應(yīng)用520的一個或多個程序模塊506。操作系統(tǒng)505例如可適合于控制計算設(shè)備500的操作。此外,本發(fā)明的各實施例可以結(jié)合圖形庫、其他操作系統(tǒng)、或任何其他應(yīng)用程序來實踐,且不限于任何特定應(yīng)用或系統(tǒng)。該基本配置在圖5中由虛線508內(nèi)的這些組件示出。計算設(shè)備500可具有附加特征或功能。例如,計算設(shè)備500還可包括附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),諸如,例如磁盤、光盤或磁帶。這些附加存儲在圖5中由可移動存儲設(shè)備509和不可移動存儲設(shè)備510示出。
[0041]如上所述,可在系統(tǒng)存儲器504中存儲多個程序模塊和數(shù)據(jù)文件。當(dāng)在處理單元502上執(zhí)行時,程序模塊506可執(zhí)行各個過程,包括例如,本文描述的這些方法的各步驟中的一個或多個。上述過程是一示例,且處理單元502可執(zhí)行其他過程。根據(jù)本發(fā)明的實施例可使用的其他程序模塊可包括電子郵件和聯(lián)系人應(yīng)用、文字處理應(yīng)用、電子表格應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、繪圖或計算機輔助應(yīng)用程序等。
[0042]一般而言,根據(jù)本發(fā)明的各實施方式,程序模塊可以包括可以執(zhí)行特定任務(wù)或可以實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本發(fā)明的各實施例可用其他計算機系統(tǒng)配置來實踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費電子產(chǎn)品、小型計算機、大型計算機等。本發(fā)明的各實施例也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可位于本地和遠程存儲器存儲設(shè)備兩者中。
[0043]此外,本發(fā)明的各實施例可在包括分立電子元件的電路、包含邏輯門的封裝或集成電子芯片、利用微處理器的電路、或在包含電子元件或微處理器的單個芯片上實現(xiàn)。例如,可以通過片上系統(tǒng)(SOC)來實施本發(fā)明的各實施例,其中,可以將圖5中示出的每個或許多組件集成到單個集成電路上。這樣的SOC設(shè)備可包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各種應(yīng)用功能,所有這些都被集成到(或“燒錄到”)芯片基板上作為單個集成電路。當(dāng)通過SOC操作時,在此所述的功能可以通過與計算設(shè)備500的其他組件一起集成在單個集成電路(芯片)上的應(yīng)用專用邏輯來操作。本發(fā)明的各實施例還可使用能夠執(zhí)行諸如例如,AND(與)、OR(或)和NOT(非)的邏輯運算的其他技術(shù)來實踐,包括但不限于,機械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的各實施例可以在通用計算機或任何其他電路或系統(tǒng)中實施。
[0044]例如,本發(fā)明的各實施例可被實現(xiàn)為計算機進程(方法)、計算系統(tǒng)或諸如計算機程序產(chǎn)品或計算機可讀介質(zhì)等制品。計算機程序產(chǎn)品可以是計算機系統(tǒng)可讀并編碼了用于執(zhí)行計算機進程的指令的計算機程序的計算機存儲介質(zhì)。
[0045]如這里所使用的術(shù)語計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)。計算機存儲介質(zhì)可包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器504、可移動存儲設(shè)備509和不可移動存儲設(shè)備510都是計算機存儲介質(zhì)(即,存儲器存儲)的示例。計算機存儲介質(zhì)可以包括,但不限于,RAM、ROM、電可擦除只讀存儲器(EEPROM)、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或可用于存儲信息且可以由計算設(shè)備500訪問的任何其它介質(zhì)。任何這樣的計算機存儲介質(zhì)都可以是計算設(shè)備500的一部分。計算設(shè)備500也可具有一個或多個輸入設(shè)備512,如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等等。也可包括輸出設(shè)備514,如顯示器、揚聲器、打印機等等。上述設(shè)備是示例且可以使用其他設(shè)備。
[0046]如這里所使用的術(shù)語計算機可讀介質(zhì)還包括通信介質(zhì)。通信介質(zhì)由諸如載波或其他傳輸機制等已調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”可以描述以對該信號中的信息進行編碼的方式設(shè)定或者改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無線介質(zhì)等無線介質(zhì)。計算設(shè)備500可包括允許與其他計算設(shè)備518進行通信的一個或多個通信連接516。合適的通信連接516的示例包括但不限于RF發(fā)射機、接收機和/或收發(fā)機電路;通用串行總線(USB)、并行或串行端口、以及適用于與適用的計算機可讀介質(zhì)一起使用的其他連接。
[0047]圖6A和6B示出可用來實施本發(fā)明的各實施例的移動計算設(shè)備600,例如移動電話、智能電話、平板個人計算機、膝上型計算機等。參考圖6A,示出了用于實現(xiàn)各實施例的示例性移動計算設(shè)備600。在一基本配置中,移動計算設(shè)備600是具有輸入元件和輸出元件兩者的手持式計算機。移動計算設(shè)備600通常包括顯示器605以及允許用戶將信息輸入到移動計算設(shè)備600中的一個或多個輸入按鈕610。移動計算設(shè)備600的顯示器605也可充當(dāng)輸入設(shè)備(如觸摸屏顯示器)。如果包括,則可任選的側(cè)輸入元件615允許進一步的用戶輸入。側(cè)輸入元件615可以是旋轉(zhuǎn)開關(guān)、按鈕、或任何其他類型的手動輸入元件。在替代實施例中,移動計算設(shè)備600可結(jié)合更多或更少的輸入元件。例如,在某些實施例中,顯示器605可以不是觸摸屏。在又一替代實施例中,移動計算設(shè)備600是諸如蜂窩電話之類的便攜式電話系統(tǒng)。移動計算設(shè)備600還可包括可選的鍵區(qū)635??蛇x的鍵區(qū)635可以是物理鍵區(qū)或者在觸摸屏顯示器上生成的“軟”鍵區(qū)。在各種實施例中,輸出元件包括用于示出圖形用戶界面(GUI)的顯示器605、可視指示器620(如發(fā)光二極管)、和/或音頻換能器625 (如揚聲器)。在某些實施例中,移動計算設(shè)備600結(jié)合振動換能器來向用戶提供觸覺反饋。在又一實施例中,移動計算設(shè)備600結(jié)合諸如音頻輸入(如傳聲器插孔)、音頻輸出(如耳機插孔)、以及視頻輸出(如HDMI端口)之類的輸入和/或輸出端口,用于將信號發(fā)送到外部設(shè)備或從外部設(shè)備接收信號。
[0048]盡管此處組合移動計算設(shè)備600來描述,但在替代實施例中,本發(fā)明的特征還可組合任何數(shù)量的計算機系統(tǒng)來被使用,如在臺式環(huán)境中、膝上型或筆記本計算機系統(tǒng)、多處理器系統(tǒng)、基于微處理器或可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計算機、大型計算機等。本發(fā)明的各實施例也可在分布式計算環(huán)境中實踐,其中任務(wù)由分布式計算環(huán)境中通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備來執(zhí)行;程序可位于本機和遠程存儲器存儲設(shè)備中。總而言之,具有多個環(huán)境傳感器、向用戶提供通知的多個輸出元件和多個通知事件類型的任何計算機系統(tǒng)可結(jié)合本發(fā)明的各實施例。
[0049]圖6B是示出移動計算設(shè)備的一個實施例的架構(gòu)的框圖。S卩,移動計算設(shè)備600可結(jié)合系統(tǒng)(即架構(gòu))602以實現(xiàn)某些實施例。在一個實施例中,系統(tǒng)602被實現(xiàn)為能夠運行一個或多個應(yīng)用(如瀏覽器、電子郵件、日歷、聯(lián)系人管理器、消息收發(fā)客戶端、游戲、以及媒體客戶端/播放器)的“智能電話”。在某些實施例中,系統(tǒng)602被集成為計算設(shè)備,諸如集成的個人數(shù)字助理(PDA)和無線電話。
[0050]—個或多個應(yīng)用程序666可被加載到存儲器662中并在操作系統(tǒng)664上或與操作系統(tǒng)664相關(guān)聯(lián)地運行。應(yīng)用程序的示例包括電話撥號程序、電子郵件程序、個人信息管理(PM)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序、消息收發(fā)程序等等。系統(tǒng)602還包括存儲器662內(nèi)的非易失性存儲區(qū)668。非易失性存儲區(qū)668可被用于存儲在系統(tǒng)602斷電時不會丟失的持久信息。應(yīng)用程序666可使用信息并將信息存儲在非易失性存儲區(qū)668中,如電子郵件應(yīng)用使用的電子郵件或其他消息等。同步應(yīng)用(未示出)也駐留于系統(tǒng)602上且被編程為與駐留在主機計算機上的對應(yīng)的同步應(yīng)用交互,以保持非易失性存儲區(qū)668中存儲的信息與主機計算機處存儲的相應(yīng)信息同步。應(yīng)當(dāng)理解的,其他應(yīng)用也可被加載到存儲器662并在移動計算設(shè)備600上運行。
[0051]系統(tǒng)602具有可被實現(xiàn)為一個或多個電池的電源670。電源670還可包括外部功率源,如補充電池或?qū)﹄姵爻潆姷腁C適配器或加電對接托架。
[0052]系統(tǒng)602還可包括執(zhí)行發(fā)射和接收無線電頻率通信的功能的無線電672。無線電672通過通信運營商或服務(wù)供應(yīng)商方便了系統(tǒng)602與“外部世界”之間的無線連接。來往無線電672的傳輸是在操作系統(tǒng)664的控制下進行的。換言之,無線電672接收的通信可通過操作系統(tǒng)664傳播到應(yīng)用程序666,反之亦然。
[0053]無線電672允許系統(tǒng)602例如通過網(wǎng)絡(luò)與其他計算設(shè)備通信。無線電672是通信介質(zhì)的一個示例。通信介質(zhì)通常由諸如載波或其他傳輸機制之類的已調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)來體現(xiàn),并且包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指使得以在信號中編碼信息的方式來設(shè)定或改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。如此處所使用的術(shù)語“計算機可讀介質(zhì)”包括存儲介質(zhì)和通信介質(zhì)兩者。
[0054]系統(tǒng)602的該實施例使用可用于提供可視通知的可視指示器620和/或通過音頻換能器625來產(chǎn)生音頻通知的音頻接口 674來提供通知。在所示實施例中,可視指示器620是發(fā)光二極管(LED),而音頻換能器625是揚聲器。這些設(shè)備可直接耦合到電源670,使得當(dāng)被激活時,即使為了節(jié)省電池功率而可能關(guān)閉處理器660和其他組件,它們也保留一段由通知機制指示的保持通電時間。LED可被編程為無限地保持通電,直到用戶采取動作指示該設(shè)備的通電狀態(tài)。音頻接口 674用于向用戶提供聽覺信號并從用戶接收聽覺信號。例如,除了被耦合到音頻換能器625之外,音頻接口 674還可被耦合到話筒來接收可聽輸入,例如便于電話通話。根據(jù)各本發(fā)明的各實施例,話筒也可充當(dāng)音頻傳感器來便于對通知的控制,如下文將描述的。系統(tǒng)602可進一步包括允許板載相機630的操作來記錄靜止圖像、視頻流等的視頻接口 676。
[0055]實現(xiàn)系統(tǒng)602的移動計算設(shè)備600可具有附加特征或功能。例如,移動計算設(shè)備600還可包括附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),例如磁盤、光盤或磁帶。這種附加存儲設(shè)備在圖6B中用非易失性存儲區(qū)668示出。計算機存儲介質(zhì)可包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。
[0056]移動計算設(shè)備600生成或捕捉的且經(jīng)系統(tǒng)602存儲的數(shù)據(jù)/信息可如上所述本地存儲在移動計算設(shè)備600上,或數(shù)據(jù)可被存儲在可由設(shè)備通過無線電672或通過移動計算設(shè)備600和與移動計算設(shè)備600相關(guān)聯(lián)的一分開的計算設(shè)備之間的有線連接訪問的任何數(shù)量的存儲介質(zhì)上,該計算設(shè)備如例如因特網(wǎng)之類的分布式計算網(wǎng)絡(luò)中的服務(wù)器計算機。如應(yīng)理解的,此類數(shù)據(jù)/信息可經(jīng)移動計算設(shè)備600、經(jīng)無線電672或經(jīng)分布式計算網(wǎng)絡(luò)來被訪問。類似地,這些數(shù)據(jù)/信息可根據(jù)已知的數(shù)據(jù)/信息傳送和存儲手段來容易地在計算設(shè)備之間傳送以供存儲和使用,這些手段包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng)。
[0057]圖7示出用于如上所述向一個或多個客戶機設(shè)備提供已轉(zhuǎn)換文檔的系統(tǒng)的架構(gòu)的一個實施例。在某些實施例中,已轉(zhuǎn)換文檔可被存儲在不同的通信信道或其他存儲類型中。例如,各種文檔(包括已轉(zhuǎn)換文檔)可使用目錄服務(wù)722、web門戶724、郵箱服務(wù)726、即時消息收發(fā)存儲728或社交網(wǎng)站730來存儲。系統(tǒng)100的各個組件可使用用于實現(xiàn)數(shù)據(jù)利用的這些類型的系統(tǒng)等中的任一種系統(tǒng),如此處所描述的。服務(wù)器720可向客戶機提供已轉(zhuǎn)換段落。服務(wù)器720可通過網(wǎng)絡(luò)715在web上向客戶機提供已轉(zhuǎn)換段落和狀態(tài)更新。作為示例,客戶機計算設(shè)備718可被實現(xiàn)為計算設(shè)備700并被具體化在個人計算機718a、平板計算設(shè)備718b和/或移動計算設(shè)備718c (如智能電話)中??蛻魴C計算設(shè)備718的這些實施例中的任一個可從存儲716獲得內(nèi)容。在各種實施例中,用于在構(gòu)成本發(fā)明的計算設(shè)備之間進行通信的網(wǎng)絡(luò)的類型包括但不限于互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、以及虛擬專用網(wǎng)絡(luò)(VPN)。在本申請中,網(wǎng)絡(luò)包括企業(yè)網(wǎng)絡(luò)和客戶端計算設(shè)備用來訪問企業(yè)網(wǎng)絡(luò)的網(wǎng)絡(luò)(即客戶端網(wǎng)絡(luò))。在一個實施例中,客戶端網(wǎng)絡(luò)是企業(yè)網(wǎng)絡(luò)的一部分。在另一實施例中,客戶端網(wǎng)絡(luò)是通過外部可用的接入點(如網(wǎng)關(guān)、遠程訪問協(xié)議、或公共或?qū)S没ヂ?lián)網(wǎng)地址)來訪問企業(yè)網(wǎng)絡(luò)的一分開的網(wǎng)絡(luò)。
[0058]然而,相關(guān)領(lǐng)域內(nèi)技術(shù)人員可以理解各實施例可省去一個或多個特定細節(jié)而實現(xiàn),或通過其它方法、資源、材料等實現(xiàn)。在其它實例中,公知的結(jié)構(gòu)、資源或操作尚未被示出或詳細說明以僅避免對各實施例的某些方面產(chǎn)生混淆。
[0059]本申請中提供的一個或多個實施例的描述和說明不旨在以任何方式限制或約束如權(quán)利要求所要求保護的發(fā)明范圍。本申請中提供的實施例、示例和細節(jié)被認(rèn)為是足以傳達所有權(quán),且使得他人能夠制作并使用所要求保護的發(fā)明的最佳模式。所要求保護的發(fā)明不應(yīng)被理解為限制于本申請中所提供的任何實施例、示例或細節(jié)。不管是以組合的方式還是分開的方式示出和描述,各種特征(結(jié)構(gòu)上的和方法邏輯上的)旨在被選擇性地包括或忽略,以產(chǎn)生具有特定的特征集的實施例。在被提供本申請的描述和說明的情況下,本領(lǐng)域的技術(shù)人員能夠想象到落在所要求保護的發(fā)明的更寬泛方面以及本申請中所具體化的一般發(fā)明概念的精神內(nèi)的替代實施例并不背離該更寬泛的范圍。
【權(quán)利要求】
1.一種用于更新在線文檔的Web擴展的方法,所述方法包括: 接收對要在所述web擴展中使用的數(shù)據(jù)范圍的選擇; 將對所述數(shù)據(jù)范圍的選擇綁定到所述web擴展; 將綁定存儲在遠程計算設(shè)備中;以及 響應(yīng)于檢測到的、與所述數(shù)據(jù)范圍的交互: 將所述數(shù)據(jù)范圍發(fā)送到所述遠程計算設(shè)備; 從所述遠程計算設(shè)備接收已更新的數(shù)據(jù)范圍,其中所述已更新數(shù)據(jù)基于所檢測到的交互來更新;以及 使用所述已更新數(shù)據(jù)來更新所述web擴展。
2.如權(quán)利要求1所述的方法,其特征在于,所述在線文檔是在線電子表格文檔。
3.如權(quán)利要求1所述的方法,其特征在于,響應(yīng)于從所述遠程計算設(shè)備接收到的請求,所述數(shù)據(jù)范圍被發(fā)送到所述遠程計算設(shè)備。
4.如權(quán)利要求1所述的方法,其特征在于,還包括向所述計算設(shè)備發(fā)送與所述web擴展相關(guān)聯(lián)的一個或多個設(shè)置。
5.如權(quán)利要求1所述的方法,其特征在于,所述遠程計算設(shè)備是服務(wù)器。
6.如權(quán)利要求1所述的方法,其特征在于,還包括當(dāng)所述數(shù)據(jù)范圍被發(fā)送到所述遠程計算設(shè)備時暫停附加計算。
7.如權(quán)利要求1所述的方法,其特征在于,更新所述web擴展包括用與所述web擴展相關(guān)聯(lián)的一個或多個設(shè)置來更新所述web擴展。
8.一種用于為在線文檔創(chuàng)建用戶指定函數(shù)的方法,所述方法包括: 使得用戶指定函數(shù)能夠被創(chuàng)建; 注冊所述用戶指定函數(shù),其中注冊所述用戶指定函數(shù)包括將所述函數(shù)綁定到標(biāo)識符; 將所述標(biāo)識符存儲在遠程計算設(shè)備中;以及 響應(yīng)于所述標(biāo)識符被訪問: 將所述在線文檔中的數(shù)據(jù)發(fā)送到所述遠程計算設(shè)備; 從所述遠程計算設(shè)備接收已更新數(shù)據(jù),其中所述已更新數(shù)據(jù)至少部分地基于所述用戶指定函數(shù);以及 基于所述已更新數(shù)據(jù)來更新所述在線文檔。
9.如權(quán)利要求8所述的方法,其特征在于,所述遠程計算設(shè)備是服務(wù)器。
10.如權(quán)利要求8所述的方法,其特征在于,所述在線文檔是在線電子表格文檔。
11.如權(quán)利要求8所述的方法,其特征在于,還包括當(dāng)所述在線文檔中的數(shù)據(jù)被發(fā)送到所述遠程計算設(shè)備時暫停附加計算。
12.如權(quán)利要求8所述的方法,其特征在于,更新所述在線文檔包括用與所述用戶指定函數(shù)相關(guān)聯(lián)的一個或多個設(shè)置來更新所述在線文檔。
13.如權(quán)利要求8所述的方法,其特征在于,將所述函數(shù)綁定到標(biāo)識符包括將令牌與所述函數(shù)相關(guān)聯(lián)并且將所述令牌嵌入以下各項之一中:(i)顯示所述在線文檔的瀏覽器,或(ii)所述在線文檔。
14.一種編碼計算機可執(zhí)行指令的計算機可讀存儲介質(zhì),所述計算機可執(zhí)行指令在由一個或多個處理器執(zhí)行時執(zhí)行一種用于更新在線文檔的web擴展的方法,所述方法包括:接收對要在所述web擴展中使用的數(shù)據(jù)范圍的選擇; 將對所述數(shù)據(jù)范圍的選擇綁定到所述web擴展; 將所述綁定存儲在遠程計算設(shè)備中;以及 響應(yīng)于檢測到的、與所述數(shù)據(jù)范圍的交互: 將所述數(shù)據(jù)范圍發(fā)送到所述遠程計算設(shè)備; 從所述遠程計算設(shè)備接收已更新的數(shù)據(jù)范圍,其中所述已更新數(shù)據(jù)基于所檢測到的交互來更新;以及 使用所述已更新數(shù)據(jù)來更新所述web擴展。
15.如權(quán)利要求14所述的計算機可讀存儲介質(zhì),其特征在于,更新所述web擴展包括用與所述web擴展相關(guān) 聯(lián)的一個或多個設(shè)置來更新所述web擴展。
【文檔編號】G06F17/21GK104081384SQ201380007011
【公開日】2014年10月1日 申請日期:2013年1月24日 優(yōu)先權(quán)日:2012年1月26日
【發(fā)明者】S·普里什, L·沃爾德曼, D·巴塔金, J·G·西蒙斯 申請人:微軟公司