<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

協作在線電子表格應用的制作方法

文檔序號:6454978閱讀:452來源:國知局
專利名稱:協作在線電子表格應用的制作方法
技術領域
本公開一般涉及電子表格應用,更具體地涉及基于網絡的協作電 子表格應用。
背景技術
電子表格應用在各個行業都得到了廣泛的應用,包括金融、商務 以及學術領域。電子表格應用典型地被用來產生通常是矩形表格(或 格柵)的數據和/或編程信息的電子表格。電子表格應用流行的一個原 因是它們可以幫助促進分析和/或數據庫應用的實現。
現有的電子表格應用趨向于是在單個用戶的計算機系統上本地執 行的軟件程序。這樣的系統所產生的電子表格可能很難分發,并且在 組環境中工作時很難在其上修改或協作。

發明內容
一個方面涉及包括在服務器計算裝置上接收來自客戶端計算裝置 的瀏覽器程序的對電子表格應用的請求的方法。該方法進一步包括響 應于所述請求將用于電子表格應用的第一部分的編程代碼傳送到客戶 端計算裝置的瀏覽器程序,所述電子表格應用的第一部分的編程代碼 被設計為本地處理來自客戶端計算裝置的用戶的請求,所述請求與對 電子表格應用的電子表格文檔進行導航或格式化有關。該方法進一步 包括在服務器計算裝置執行用于電子表格應用的第二部分的編程代 碼,所述電子表格應用的第二部分的編程代碼被設計為處理在電子表 格文檔中的函數的更新。
另一個方面涉及用于向多個用戶提供分布式電子表格應用的系
8統。該系統包括在客戶端計算裝置的瀏覽器程序中執行的客戶端引擎 邏輯。該系統進一步包括服務器邏輯,其被配置為當通過客戶端計算 裝置的瀏覽器程序請求時將客戶端引擎分發到電子表格應用的客戶端 計算裝置,該服務器邏輯將在多個客戶端計算裝置上同時打開的單個 電子表格文檔進行同步。
再另一個方面涉及一種方法,包括提供唯一地識別電子表格文 檔的鏈接;從正在處理網頁的web瀏覽器接收對該鏈接的請求,所述 網頁包括嵌入在該網頁中的該鏈接;以及響應于接收對該鏈接的請求, 傳送該電子表格文檔和被配置為向web瀏覽器的用戶提供該電子表格 文檔的電子表格應用的至少一部分。


被并入在內且構成本說明書的一部分的附解了本發明的實施 例,并且與本描述一起解釋本發明。在附圖中,
圖l是在其中可以實現與本發明的原理相一致的概念的示例系統
的圖2是圖1中所圖解的計算裝置的示例圖; 圖3是圖解了在線電子表格應用的示例實現的圖; 圖4是圖解了在示例電子表格會話中的在線電子表格應用的各種 組件的示例操作的流程圖5是圖解了可以向用戶展示的示例電子表格界面的圖6是圖解了可以向用戶展示的另一個示例電子表格界面的圖7是圖解了可以向用戶展示的另一個示例電子表格界面的以及
圖8是圖解了與本發明的一個方面相一致的嵌入在網頁中的電子 表格的圖。
具體實施例方式
下面的詳細描述參考附圖。該詳細描述不限制本發明。概覽
與本發明的原理一致的實現涉及在線電子表格應用。在線電子表 格應用可以提供標準電子表格應用所提供的許多或所有特征。在線電 子表格應用可以提供使潛在地位于相對于彼此物理遠離的位置的多個 用戶容易地對電子表格進行協作和修改的能力。此外,在線電子表格 應用可以允許用戶容易地發布他們所創建的電子表格。
系統描述
圖1是在其中可以實現與本發明的原理一致的概念的示例系統
100的圖。系統100可以包括能夠經由網絡140連接到諸如服務器120 的服務器的多個客戶端110。網絡140可以包括局域網(LAN)、廣域 網(WAN)、諸如公共交換電話網絡(PSTN)的電話網絡、內聯網、 因特網或網絡的組合。為簡便起見,三個客戶端IIO和一個服務器120 被圖解為連接到網絡140。在實踐中,可以有更多的客戶端和/或服務 器。而且,在一些情況下,客戶端可以執行服務器的一個或多個功能, 并且服務器可以執行客戶端的一個或多個功能。
客戶端110可以包括諸如個人計算機、膝上計算機、無線電話、 個人數字助理(PDA)或另一種計算或通信裝置的裝置。客戶端110 的用戶可以訪問或接收來自服務器120的信息。
在所示的實現中,服務器120通常可以與客戶端110交互,以使 得客戶端110與服務器120協力執行在線電子表格應用。服務器120 可以包括被標記為電子表格服務器組件125的軟件,以幫助實現該在 線電子表格應用。客戶端110的用戶所創建的在線電子表格應用可以 被服務器120存儲在例如諸如數據庫130的存儲介質中。雖然在圖1 中被圖解為單個裝置,但是服務器120可以被實現為例如單個計算裝 置或多個分布式計算裝置。本領域的普通技術人員將會認識到,裝置 是作為服務器還是客戶端起作用通常取決于所實現的特定應用。艮口,計算裝置是作為客戶端還是服務器運行可以取決于該計算裝置在該應 用中的角色的環境。基于運行在各自的計算機上的相互具有客戶端-服 務器關系的計算機程序,出現了客戶端和服務器的關系。
客戶端110與服務器120的交互可以通過在客戶端110處的瀏覽 器程序115進行。例如,在線電子表格應用可以是在瀏覽器115中運 行的web應用。這樣,客戶端110可以不需要安裝任何特定于電子表 格的軟件以在客戶端110使用在線電子表格。在本領域中瀏覽器程序 是公知的且到處可獲得的。在此討論到瀏覽器或瀏覽器程序時,這些 術語意在指下述的任何程序,該程序允許用戶瀏覽標記文檔(例如web 文檔),不管該瀏覽器程序是獨立程序或嵌入程序,諸如作為操作系 統的一部分被包括的瀏覽器程序。
示例計算裝置架構
圖2是計算裝置200的示例圖,諸如客戶端110或服務器120中 的一個。計算裝置200可以包括總線210、處理器220、主存儲器230、 只讀存儲器(ROM) 240、存儲裝置250、輸入裝置260、輸出裝置270 以及通信接口 280。總線210可以包括允許在計算裝置200的組件之間 進行通信的路徑。
處理器220可以包括任何類型的處理器、微處理器或解釋和執行 指令的處理邏輯。主存儲器230可以包括隨機存取存儲器(RAM)或 可以存儲信息和用于處理器220執行的指令的另一類型的動態存儲裝 置。ROM 240可以包括ROM裝置或可以存儲靜態信息和用于處理器 220使用的指令的另一類型的靜態存儲裝置。存儲裝置250可以包括磁 和/或光記錄介質和其相應的驅動。
輸入裝置260可以包括允許用戶向計算裝置200輸入信息的機制, 諸如鍵盤、鼠標、筆、語音識別和/或生物識別機制等。輸出裝置270 可以包括向用戶輸出信息的傳統機制,包括顯示器、打印機、揚聲器
11等。通信接口 280可以包括使計算裝置200能夠與其它裝置和/或系統 進行通信的任何類似收發器的機制。例如,通信接口 280可以包括用 于經由諸如網絡140的網絡與另一個裝置或系統進行通信的機制。
電子表格服務器組件125可以以軟件實現并存儲在諸如存儲器 230的計算機可讀介質中。計算機可讀介質可以被定義為一個或多個物 理或邏輯的存儲器裝置和/或載波。
定義電子表格服務器組件125的計算機指令可以被從另一個計算 機可讀介質諸如數據存儲裝置250或者經由通信接口 280從另一個裝 置讀入存儲器230。包含在存儲器230中的軟件指令使處理器220執行 后面將要描述的過程。可選地,硬連線電路可以被用來替代軟件指令 或與軟件指令結合來實現與本發明一致的過程。因此,與本發明的原 理相一致的實現沒有限制在硬連線電路和軟件的任何特定組合。
在線電子表格應用
如在此所描述的在線電子表格應用可以被實現為分布式web應用, 在其中應用的部分在一個或多個客戶端110處和在服務器120處執行。 更具體地,希望使用在線電子表格應用的客戶端IIO可以從服務器120 請求電子表格應用。作為響應,服務器120可以傳送電子表格應用的 部分用于在客戶端110處的本地執行。這樣在線電子表格應用可以作 為跨服務器120和一個或多個客戶端IIO的分布式應用來執行。
圖3是類似于圖1的圖,其更詳細地圖解了在線電子表格應用的 示例實現。電子表格服務器組件125可以包括前端組件326和后端組 件327。前端組件326可以包括與客戶端110接口連接的web和/或XML 服務器。例如,前端組件326可以從客戶端110接收HTTP請求并且 將XML數據傳送給客戶端110。后端組件327可以執行與電子表格應 用相關的更為實質性的處理,諸如需要用來更新電子表格的函數的計 算。在線電子表格應用的部分也可以在客戶端110內執行。例如,在 瀏覽器115中,在線電子表格應用可以被概念化為包括客戶端引擎316
和用戶界面317。可以使用例如當客戶端110需要時從服務器120下載 的Javascript來實現客戶端引擎316。用戶界面317可以基于例如提供 自客戶端引擎316的HTML(超文本標記語言)和CSS (層疊樣式表)數 據,提供顯示在瀏覽器115中的最終用戶界面。
用戶界面317和客戶端引擎316 —起起作用來降低傳統的基于瀏 覽器的web程序的啟動-停止啟動-停止的性質,因為客戶端引擎316 添加了能夠處理與用戶界面317的許多用戶交互的客戶端層。替代在 用戶會話的開始時加載網頁,瀏覽器115可以從服務器120 (或可選地 從本地緩存)加載客戶端引擎316。客戶端引擎316可以負責呈現用戶 看到的界面以及代表用戶與服務器120通信兩者。客戶端引擎316允 許與在線電子表格應用的用戶交互異步發生,即,獨立于與服務器120 的通信。
在一個實現中,可以使用已知的異步JavaScript和XML (AJAX) web開發技術來實現在線電子表格應用的客戶端側操作,雖然本領域的 普通技術人員將會認識到可以使用其它技術。
圖4是圖解了在示例電子表格會話中的在線電子表格應用的各種 組件的示例操作的流程圖。在一個客戶端110處的用戶可以啟動電子 表格應用會話(動作401)。例如,客戶端IIO的用戶可以使用瀏覽器 115接觸前端組件326。在一些實現中,可以要求用戶是預先已經登記 或創建賬戶并且登錄進電子表格服務器組件125中。
響應于用戶啟動電子表格會話,電子表格服務器組件125可以將 客戶端引擎316傳送到客戶端110 (動作402)。可以在客戶端110處 從前一個會話緩存客戶端引擎316的一些部分,在這種情況下這些部
13分不需要從服務器120重新下載。在一些實現中,可以以模塊化的方
式來實現包括客戶端引擎316的編程代碼。在這種情況下,可以在客 戶端110需要客戶端引擎316的這些部分的功能時,基于需要將客戶 端引擎316的部分傳送到客戶端110。例如,客戶端引擎316可以實現 多個"核心"功能,諸如總是被傳送到客戶端110的基本用戶交互和 顯示功能,而可以基于需要將諸如更專業化的電子表格功能的其它功 能傳送到客戶端110。此外,在線電子表格應用的一些功能可以總是由 后端組件327執行,因而從不被傳送到客戶端引擎316。
因為可以根據客戶端110的需要將客戶端引擎316傳送到客戶端 110,所以在線電子表格應用可以是純粹基于web的應用,在該應用中 客戶端無需預先安裝客戶端引擎316的任何部分。有利的是,用戶將 典型地能夠從包括兼容瀏覽器115并且連接到網絡140的任何計算裝 置使用在線電子表格應用。
一旦在客戶端110加載了客戶端引擎316,客戶端引擎316可以 經由用戶界面317向用戶展示電子表格的圖形用戶界面(動作403)。 在此處也被稱為電子表格文檔的電子表格是電子表格應用向用戶展示 的數據對象。展示給用戶的電子表格可以是用戶可從其開始新的電 子表格文檔的"空白"電子表格;從在線電子表格應用的先前會話檢 索的電子表格文檔;或者從傳統的電子表格文檔(例如,".xls"文檔、 ".cvs"文檔或其它類型的已知的電子表格文檔格式)導入的一種版本 的電子表格文檔。
圖5是圖解了可以向用戶展示的示例電子表格界面的圖。瀏覽器 可以基于從客戶端引擎316接收的HTML和CSS數據來顯示電子表格 界面510。電子表格界面可以包括控制行511、列標題行512、以及被 標記為一到八的多個數據行513。控制行511可以包括顯示當前活動的 單元格(例如圖5中所示的范例中的單元格D4)的域521以及用戶可 在其中輸入公式或其它電子表格操作的公式域522。列標題行511包括標記為"A"到"H"的列標題。用戶可以通過列標題和行標題的組合
來指定電子表格界面中的特定單元格。例如單元格D1包括值"$9.00"。
通過電子表格界面510,用戶能夠例如將值或公式輸入到電子表 格單元格中并且執行與電子表格相關的格式化操作。作為響應,客戶 端引擎316根據需要與電子表格服務器組件120相交互并且向其作出 請求(動作404)。如圖5所示,用戶已經將文本"Expensesforthe tip(小 費的開銷)"輸入到單元格Bl中并將美元值輸入到單元格Dl、 D2和 D3。單元格D4當前是活動的單元格(通過圍繞該單元格的粗線條來表 示)。用戶已經輸入了公式'^sum(Dl:D3)",其在公式域522中被顯示, 并且其引導電子表格將單元格D1到D3中的值相加并且將結果寫入到 單元格D4中。此外,如也在圖5中所示,用戶已經修改了列"F"和 "G"的寬度。用戶可以通過例如將列"F"和"G"之間的列分隔線 拖向所想要的方向來做到這 一 點。
在線電子表格應用所允許的上述功能和操作是示例性的。通過電 子表格界面510,在線電子表格應用可以允許用戶執行通常被認為與電 子表格應用相一致的多個操作。
在一個實現中,客戶端引擎316可以處理與對用戶動作作出響應 相關聯的絕大部分或所有功能,所述用戶動作與不需要接觸電子表格 服務器組件125而對電子表格界面進行導航和/或格式化有關。電子表 格應用的其它功能,諸如電子表格中的函數的計值,可以由后端組件 327中的邏輯來處理。通過在客戶端110本地處理格式化和數據輸入反 饋,在線電子表格應用能夠提供對傾向于頻繁發生且用戶對于其期待 立即反饋的用戶動作的高度的響應度。通過在后端組件327處理電子 表格公式的計值,能夠與其他用戶共享第一用戶創建的公式的結果, 而不必共享該公式的內部細節。以這種方式,用戶能夠共享或發布自
定義公式/操作而潛在地將內部細節保持為私有。
15本領域的普通技術人員將認識到,在可選實現中,在客戶端引擎
316和后端組件327執行的功能的分割可以被修改使得客戶端引擎316 處理更多或更少功能,并且類似地后端組件327也可以處理更多或更 少的功能。
定期地,或者在通過電子表格界面510的用戶的清楚指示下,包 括電子表格文檔的數據可以被保存(動作405)。在一個可能的實現中, 電子表格服務器組件125可以把電子表格文檔保存到數據庫130。以這 種方式,該用戶(或其他用戶)可以從連接到網絡140的任何計算裝 置訪問該電子表格文檔。
在線電子表格應用的附加功能
將在下面更為詳細地描述在線電子表格應用提供的附加功能。
在線電子表格應用可以提供在單個電子表格上工作的多個用戶之 間的協作。例如,多個用戶可以同時編輯電子表格和查看每一個用戶 的編輯。當一個用戶編輯電子表格的特定單元格時,可以將該編輯傳 送到電子表格服務器組件125,并且接著將其轉發到也在編輯或查看該 電子表格的其他協作用戶。為了該目的,電子表格服務器組件125可
以處理協作用戶之間的沖突,諸如當兩個用戶試圖同時編輯特定的單 元格時。例如,電子表格服務器組件125可以接受所收到的第一個編 輯或者以某種方式對協作用戶分優先級使得高優先級用戶的編輯覆蓋 低優先級用戶的編輯。如果電子表格服務器組件125拒絕了用戶的編 輯,則電子表格服務器組件125可以向用戶傳送告知該用戶拒絕了該 編輯的消息。以這種方式,多個用戶可以在單個電子表格上潛在地是 實時地(或接近實時)協作。
在一個實現中,電子表格的最初創建者可以指定可以在特定的電 子表格應用上査看和協作的各方。例如,可以向最初創建者給予"管 理員"權限,其允許創建者指定用于每一個其他協作者的權限。創建者可以指定其他協作者具有權限來做以下一個或多個編輯電子表格、 僅査看電子表格、編輯電子表格的指定部分、或將另外的用戶添加到 可能的協作者清單中。例如,某些用戶可以能夠編輯電子表格的某些 部分,而其他指定的單元格或單元格的區域將保持對那些用戶是"鎖 定的"使得這些用戶能夠査看但不能編輯鎖定的單元格。在一些實現 中,電子表格可以被指定為任何人都能夠查看和/或編輯的"公共"電 子表格。
圖6是圖解了可以向用戶展示的示例電子表格界面610的圖。除
了已經添加了被標示為條目640的四個額外條目之外,界面610類似 于界面510。假設所述條目是由不同于添加初始條目645的用戶的不同 的協作用戶添加的。條目640可以是與第一用戶添加初始條目645同 時添加的或在第一用戶已添加了條目645后添加的。可以把協作用戶 所作的每一個條目從該協作用戶的客戶端引擎316傳回到電子表格服 務器組件125,然后轉發至所有其他在線協作用戶。以這種方式,用戶 可以在文檔上同時協作。
在一些實現中,用戶能夠配置電子表格界面610的展示來以某種 方式說明哪些用戶作了哪些編輯。例如,可以對每個用戶以不同的字 體或不同的顏色來顯示不同的用戶所作的改變。可選地或額外地,當 用戶將鼠標移到單元格上或以某種方式選擇單元格,可以顯示最后編 輯了該單元格的協作者的指示。在圖6所示的示例中,以不同的字體 顯示了條目640和645。圖6中也顯示了文本框650。可以用編輯該當 前選定的單元格的最后用戶的名稱來填充文本框650。在該示例中,單 元格E4是當前選定的單元格(以黑體顯示)并且最后編輯該單元格的 人是用戶"Julie"。
除了用戶間的協作之外,在線電子表格應用可以允許協作者在他 們在電子表格上工作時相互交互地通信。
17圖7是圖解了可以向用戶展示的另一個示例電子表格界面710的 圖。界面710類似于界面510和610,不同的是界面710還額外包括消 息邊欄715,在其中電子表格的協作者可以互相通信。
邊欄715可以包括顯示當前在査看或編輯電子表格的用戶的區域 720。該用戶列表可以對應于為特定電子表格而登錄到電子表格服務器 組件125的用戶。邊欄715也可以包括顯示用戶間發送的過去消息的 消息區域725,以及在其中用戶可以輸入消息的輸入區域730。鍵入到 輸入區域730的消息可以在消息區域725中顯示給所有其他用戶或顯 示給選定數量的用戶。例如,可以將輸入的消息從發送該消息的用戶 的客戶端引擎316傳送到電子表格服務器組件125。在電子表格服務器 組件125處,可以將所輸入的消息再次傳送回所有其他在線協作者的 客戶端引擎316。以這種方式,在電子表格上的協作者可以在該電子表 格上工作時相互實時地通信。
本領域的普通技術人員將認識到如上所述的消息邊欄715是示例 性的,并且消息邊欄所提供的實際的可視布局和消息功能可以改變。 例如,消息邊欄可以包括允許用戶啟動相互經由網絡140的語音會話 的語音鏈接。
在一些實現中,通過允許在線電子表格應用的任何用戶打開電子 表格或通過允許用戶將所創建的電子表格嵌入到網頁中,在線電子表 格應用可以提供界面,通過該界面用戶能夠發布他們所創建的電子表 格。例如可以向希望在網頁中發布電子表格的用戶提供到電子表格服 務器組件125的鏈接,所述鏈接也包括用戶希望發布的特定的電子表 格文檔的識別。
圖8是圖解與本發明的一個方面一致的嵌入在網頁中的電子表格 的圖。在該示例中,假設用戶將內容805放到與第一個域(例如 "jimswebpage.org")相關聯的web服務器810上。客戶端可以使用
18瀏覽器815訪問第一個域并且作為網頁820從web服務器810接收內 容805。內容805可以在其內部包括指向電子表格服務器組件125的鏈 接825 (諸如HTML內嵌框(IFRAME)中的鏈接)。本領域的普通技 術人員將認識到可以使用不同于IFRAME的技術來實現鏈接825。鏈 接825可以包括URL,所述URL包括對客戶端將要從服務器120下載 的特定電子表格文檔的識別符。在圖8所示的示例中,電子表格服務 器組件125與域"spreadsheetserver.com"相關聯,并且通過字符串 "sheet=123456"識別要下載的特定電子表格文檔。在呈現該網頁時, 瀏覽器815將接觸電子表格服務器組件125、下載客戶端引擎316以及 在客戶端812處適當地顯示該電子表格。從客戶端812的用戶的觀點 看,電子表格響應于導航到第一個域而被加載。
在線電子表格應用可以允許用戶創建自定義功能或操作。自定義 用戶功能可以被創建為例如現有功能的組合。在線電子表格應用可以 提供更先進的工具,諸如以其它編程語言來創建自定義功能的能力, 諸如以JavaScript編寫的自定義功能或編譯為可執行代碼的自定義功 能,如DLL (動態鏈接庫)文件。在一個實現中,自定義功能的創建 者可以具有向其他用戶發布其自定義功能的能力。電子表格服務器組
件125可以通過提供例如用戶可以通過其提交功能的界面以及其他用 戶通過其能夠搜索、評估及選擇以將其它自定義功能導入到其應用中 的界面來促進用戶發布其自定義功能的能力。在一些實現中,電子表 格服務器組件125可以允許用戶對其自定義功能收費。
結論
在此描述了連網的電子表格應用,其在網絡上以分布式的方式執 行。該連網的電子表格應用通常不需要用戶在使用該應用前安裝任何 特定電子表格軟件就能被使用。而且,除了提供通常與電子表格應用 相關聯的許多或所有特征之外,通過為多個用戶提供編輯該電子表格 以及當在電子表格上工作時互相發送即時消息的能力,該連網的電子 表格應用可以允許多個用戶容易地在電子表格上協作。上述對本發明的示例實施例的描述提供了說明和描述,但是并不 意在窮舉或將本發明限制在所公開的精確形式。基于以上的教導可以 進行修改和變動,或者其可以從本發明的實踐中獲得。例如,雖然在 此描述的計算機系統被描述為用來實現在線電子表格,其也能夠被用 來創建其它協作性的文檔,諸如wiki或表。
而且,雖然已經參照圖4描述了一系列動作,但是在與本發明相 一致的其它實現中所述動作的順序可以被改變。而且,可以并行實現 非從屬性的動作。
對本領域的普通技術人員顯而易見的是,可以以附圖中所圖解的 實現中的軟件、固件和硬件的多種不同的形式來實現如以上所描述的 本發明的各個方面。用來實現與本發明的原理相一致的方面的實際的 軟件代碼或專用控制硬件不限制本發明。因此,沒有引用特定軟件代 碼來描述本發明的各個方面的操作和行為一一應理解,本領域的普通 技術人員將能夠基于此處的描述來設計軟件和控制硬件以實現上述方 面。
此外,本發明的某些部分可以被實現為執行一個或多個功能的"邏 輯"或"組件"。該邏輯可以包括硬件(諸如專用集成電路或現場可 編程門陣列)、軟件或硬件和軟件的組合。
本發明的描述中使用的任何要素、動作或指令都不應被解釋為對 于本發明是至關重要的或不可少的,除非明確地表示為此。并且,如 在此所使用的,不加數量限定的項用于指一個或多個項。在只想表示 一個項的地方,使用了術語"一個"或類似語言。此外,除非明確說 明并非如此,否則短語"基于"意為"至少部分地基于"。
權利要求
1. 一種方法,包括接收來自客戶端計算裝置的瀏覽器程序的對在服務器計算裝置處的電子表格應用的請求;響應于所述請求將用于所述電子表格應用的第一部分的編程代碼傳送到所述客戶端計算裝置的所述瀏覽器程序,用于所述電子表格應用的所述第一部分的所述編程代碼被設計為本地處理來自所述客戶端計算裝置的用戶的請求,所述請求與對所述電子表格應用的電子表格文檔進行導航或格式化有關;以及在所述服務器計算裝置執行用于所述電子表格應用的第二部分的編程代碼,用于所述電子表格應用的所述第二部分的所述編程代碼被編程為處理在所述電子表格文檔中的功能的更新。
2. 如權利要求l所述的方法,還包括將用于所述電子表格應用的所述第一部分的所述編程代碼傳送到多個客戶端計算裝置的瀏覽器程序;以及更新對所述電子表格文檔所作的改變,所述改變是在所述多個客 戶端計算裝置中的一個客戶端計算裝置上經由所述電子表格應用的所述第一部分對所述多個客戶端計算裝置中的其它客戶端計算裝置上的 電子表格文檔所作的。
3. 如權利要求2所述的方法,其中實時地對所述多個客戶端計算 裝置中的所述其它客戶端計算裝置進行更新。
4. 如權利要求2所述的方法,其中所述電子表格應用的所述第一 部分顯示消息區域以顯示來自所述多個客戶端計算裝置的用戶的消 息。
5. 如權利要求4所述的方法,其中在所述多個客戶端計算裝置的所述用戶之間實時地通信所述消息。
6. 如權利要求l所述的方法,還包括提供用于在所述電子表格文檔中使用的多個功能,所述多個功能 的至少一些是由其它客戶端計算裝置的用戶所創建的功能。
7. 如權利要求l所述的方法,還包括向所述客戶端計算裝置的用戶提供選項,以使所述電子表格文檔 對其它客戶端計算裝置的用戶可公共訪問。
8. —種包含編程指令的計算機可讀介質,當所述編程指令被計算裝置執行時使所述計算裝置接收來自客戶端計算裝置的瀏覽器程序的對電子表格應用的請求;響應于所述請求將用于所述電子表格應用的第一部分的編程代碼 傳送到所述客戶端計算裝置的所述瀏覽器程序,用于所述電子表格應 用的所述第一部分的所述編程代碼被設計為本地處理來自所述客戶端 計算裝置的用戶的請求,所述請求與對所述電子表格應用的電子表格 文檔進行導航或格式化有關;以及執行用于所述電子表格應用的第二部分的編程代碼,用于所述電 子表格應用的所述第二部分的所述編程代碼被設計為處理在所述電子 表格文檔中的功能的更新。
9. 一種裝置,包括 處理器;以及耦接到所述處理器的存儲器,所述存儲器存儲指令,當所述指令被所述處理器執行時,使所述處理器通過網絡將客戶端引擎分發到多個客戶端計算裝置,所述客戶端 引擎實現與電子表格應用相關聯的功能的第一部分并且響應于來自所 述多個客戶端計算裝置的對所述電子表格應用的請求被分發到所述多個客戶端計算裝置的每一個;以及執行電子表格服務器組件,所述電子表格服務器組件在所述裝置 處本地執行與所述電子表格應用相關聯的功能的第二部分,所述電子 表格服務器組件實時地或接近實時地更新在所述多個客戶端計算裝置 中的一個客戶端計算裝置處對所述多個客戶端計算裝置中的其它客戶 端計算裝置所作的改變;
10. 如權利要求9所述的裝置,其中響應于在所述多個客戶端計 算裝置中的一個客戶端計算裝置處執行的web瀏覽器對所述裝置所作 的HTTP請求,將所述客戶端引擎分發到所述多個客戶端計算裝置中 的至少一個。
11. 如權利要求9所述的裝置,其中在所述多個客戶端計算裝置 處的所述客戶端引擎提供用戶界面,所述用戶界面包括被配置為顯示 在所述多個客戶端計算裝置的用戶之間通信的消息的消息區域。
12. 如權利要求IO所述的裝置,其中所述消息在所述多個客戶端 計算裝置的所述用戶之間實時地通信。
13. 如權利要求9所述的裝置,其中所述客戶端引擎被配置為將 用于所述電子表格應用的用戶界面顯示為嵌入在瀏覽器窗口內的電子 表格用戶界面。
14. 如權利要求13所述的裝置,其中所述電子表格用戶界面嵌入 在網頁的框架中。
15. 如權利要求IO所述的裝置,其中與所述電子表格應用相關聯 的功能的所述第一部分被設計為本地處理來自所述客戶端計算裝置的 用戶的請求,所述請求與對所述電子表格應用的電子表格文檔進行導 航或格式化有關,以及與所述電子表格應用相關聯的所述功能的第二部分被設計為處理在所述電子表格中的功能的更新。
16. 如權利要求IO所述的裝置,還包括存儲裝置,用于存儲由所述多個客戶端計算裝置創建的電子表格 文檔。
17. —種方法,包括通過網絡將客戶端引擎分發到多個客戶端計算裝置,所述客戶端引擎實現與電子表格應用相關聯的功能的第一部分并且響應于來自所 述多個客戶端計算裝置的對所述電子表格應用的請求被分發到所述多個客戶端計算裝置的每一個;以及執行電子表格服務器組件,所述電子表格服務器組件在所述裝置處本地執行與所述電子表格應用相關聯的所述功能的第二部分,所述電子表格服務器組件實時地更新在所述多個客戶端計算裝置中的一個客戶端計算裝置處對所述多個客戶端計算裝置中的其它客戶端計算裝置所作的改變;
18. 如權利要求17所述的方法,還包括提供用戶界面,所述用戶 界面包括被配置為顯示在所述多個客戶端計算裝置的用戶之間通信的 消息的消息區域。
19. 一種用于向多個用戶提供分布式電子表格應用的系統,包括 在多個客戶端計算裝置的瀏覽器程序中執行的客戶端引擎邏輯;以及服務器邏輯,所述服務器邏輯被配置為當通過所述多個客戶端計 算裝置的每一個的所述瀏覽器程序被請求時將所述客戶端引擎分發到 所述電子表格應用的所述多個客戶端計算裝置,所述服務器邏輯對在 所述多個客戶端計算裝置處同時打開的單個電子表格文檔進行同步。
20. 如權利要求19所述的系統,其中所述客戶端引擎邏輯提供在與所述多個客戶端計算裝置中的一個相關聯的所述瀏覽器和所述服務 器邏輯之間的接口,所述客戶端引擎邏輯異步地處理來自所述瀏覽器 和所述服務器邏輯的通信。
21. 如權利要求19所述的系統,還包括向所述多個計算裝置的用戶提供消息邊欄的邏輯,所述消息邊欄 被實現在所述電子表格應用的電子表格文檔的界面中,通過所述消息 邊欄顯示在所述多個計算裝置的用戶之間發送的實時消息。
22. —種方法,包括提供唯一地識別電子表格文檔的鏈接;接收來自正在處理網頁的web瀏覽器的對所述鏈接的請求,所述 網頁包括嵌入在所述網頁中的所述鏈接;以及響應于接收對所述鏈接的所述請求,將所述電子表格文檔和被配 置為提供所述電子表格文檔的電子表格應用的至少一部分傳送給所述 web瀏覽器的用戶。
23. 如權利要求22所述的方法,其中所述鏈接作為超文本標記語 言(HTML)內嵌框的一部分而提供。
24. —種系統,包括在多個客戶端計算裝置的瀏覽器程序中執行的客戶端邏輯,所述 客戶端邏輯包括用戶界面組件,用于處理向所述客戶端計算裝置中 的一個的電子表格文檔的顯示;以及客戶端引擎組件,用于本地處理來自所述客戶端計算裝置中的所述一個的用戶的請求,所述請求與對 所述電子表格文檔進行導航或格式化有關;以及服務器邏輯,所述服務器邏輯被配置為當通過所述多個客戶端計 算裝置的每一個的瀏覽器程序被請求時將所述客戶端引擎分發到所述 多個客戶端計算裝置,所述服務器邏輯對在所述多個客戶端計算裝置 處同時打開的單個電子表格文檔進行同步,所述服務器邏輯包括被配置為向所述多個客戶端計算裝置提供web界面的前端服務器組件和被 配置為處理所述電子表格文檔中的功能的更新的后端組件。
全文摘要
一種分布式電子表格應用,在網絡中的服務器和客戶端處執行。通常不需要用戶在使用應用之前安裝任何特定的電子表格軟件就能夠使用連網的電子表格應用。在一個實現中,電子表格應用可以包括在多個客戶端計算裝置的瀏覽器程序中執行的客戶端引擎以及服務器邏輯。服務器邏輯可以被配置為當通過多個客戶端計算裝置中的每一個的瀏覽器程序被請求時將客戶端引擎分發給電子表格應用的多個客戶端計算裝置。服務器邏輯對在多個客戶端計算裝置處同時打開的單個電子表格文檔進行同步。
文檔編號G06F17/24GK101454774SQ200780019797
公開日2009年6月10日 申請日期2007年3月30日 優先權日2006年3月31日
發明者喬納森·羅謝勒, 法扎德·科斯羅沙西, 約翰·斯蒂芬·丹納赫爾, 邁卡·萊蒙尼克 申請人:谷歌公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影