專利名稱:延遲鎖定服務(wù)器文檔編輯的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文件管理領(lǐng)域,尤其涉及延遲鎖定正被用戶訪問的服務(wù)器文檔的方法與系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)服務(wù)器一類的服務(wù)器計算機可以起雙重作用。在用戶能訪問內(nèi)容的場合,服務(wù)器可用作出版地點,在兩個或更多用戶共同研究某個文檔時,服務(wù)器也可當(dāng)作一個合作環(huán)境,各用戶都可修改或編輯該文檔。當(dāng)服務(wù)器被用作出版地點時,它可以向?qū)υ撐臋n提出請求的任一用戶提供單獨的文檔復(fù)制件,而版本保持在服務(wù)器上不變。服務(wù)器用作合作環(huán)境時,則允許想編輯該文檔的用戶訪問最新的復(fù)制件。然而,服務(wù)器往往同時用于這兩種目的,支持出版和合作兩種功能。
這種雙重使用產(chǎn)生一個問題。例如,若服務(wù)器是網(wǎng)絡(luò)服務(wù)器,則在網(wǎng)絡(luò)服務(wù)器上訪問文檔(后接超文本鏈接)的缺省機理只起到兩種作用中的一種。根據(jù)超文本鏈接與網(wǎng)絡(luò)服務(wù)器,或是點擊超文本鏈接,生成用戶能讀的文檔的拷貝而不改動原文檔,或是點擊超文本鏈接,打開服務(wù)器上的文檔讓用戶編輯。在打開文檔作編輯時,文檔被鎖定,不讓其它用戶編輯該文檔。
通常,文檔在授與打開文檔用戶的各不相同的許可情況下被打開。在打開文檔閱讀時,文檔被只讀地打開,允許用戶閱讀/瀏覽或者檢查或使用文檔中的數(shù)據(jù),只要不改變該數(shù)據(jù)。在打開編輯時,文檔被打開讀/寫,給用戶同樣的特權(quán),還允許用戶修改數(shù)據(jù)或進行增補。當(dāng)文本被打開讀/寫時,文檔被鎖定,確保一次只有一個用戶正在修改該文檔,防止兩個或更多的用戶有沖突的修改。
當(dāng)缺省作用不是用戶希望的作用時,就造成了該問題。例如若用戶想編輯文檔,而缺省正在打開復(fù)制件供閱讀,就不提供用戶希望的功能。同樣地,若缺省正打開文檔供編輯,但用戶只想閱讀,該文檔被鎖定,想編輯該文檔的另一用戶將被關(guān)在門外不能編輯該文檔。打開文檔閱讀再想編輯該文檔的用戶,則必須先退出該文檔,然后重新打開編輯。
發(fā)明概述對服務(wù)器實施一種經(jīng)修改的文檔打開操作,在用戶執(zhí)行修改的打開時,先把文檔打開而不鎖定。當(dāng)用戶指明(明確地或含蓄地)試圖或打算打開文檔時,再鎖定文檔作編輯。這樣,缺省操作在用戶請求文檔時打開該文檔,不拒絕其它用戶訪問該文檔。然后,當(dāng)用戶指明要編輯時,就鎖定該文檔。
附圖簡介在結(jié)合附圖閱讀時,可更好地理解上述的發(fā)明內(nèi)容和下面對較佳實施例的詳述。為了說明本發(fā)明,附圖示出了本發(fā)明的示例性實施例,但本發(fā)明并不限于揭示的特定方法和手段。附圖中
圖1是表示可實施本發(fā)明諸方面的示例計算環(huán)境的框圖;圖2是一功能圖,示出一例服務(wù)器計算機、網(wǎng)絡(luò)、用戶計算機與其它計算機之間的關(guān)系;圖3是一流程圖,表示本發(fā)明一個實施例的延遲的鎖定作用;和圖4是一流程圖,表示本發(fā)明實施例的延遲的鎖定作用。
示例實施例的詳細描述概述可讓用戶在共用的服務(wù)器上打開文件有靈活性,實行一種修正型打開法。在用修正型打開法打開文檔時,該文檔被打開只讀。只在用修正型打開法打開了該文檔的用戶指明要對文檔編輯時,才鎖定該文檔,使用戶讀/寫該文檔,而其它用戶被關(guān)出門外,得不到該文檔的編輯特權(quán)。
示例的計算設(shè)備圖1和以下討論旨在對可以實施本發(fā)明的一合適的計算環(huán)境作一概述,但應(yīng)理解,如上所述,手持式、便攜式和其它計算設(shè)備與各類計算物件可結(jié)合本發(fā)明使用。因此,雖然下面描述了通用計算機,但這是一個例子,本發(fā)明可用其它計算設(shè)備實施,諸如具備網(wǎng)絡(luò)/總線互操作性與交互作用的薄弱客戶(thin client)。這樣,本發(fā)明可實施于涉及極少或最少客戶資源的網(wǎng)絡(luò)主控服務(wù)環(huán)境,例如客戶設(shè)備只用作網(wǎng)絡(luò)/總線接口的聯(lián)網(wǎng)環(huán)境,諸如客戶設(shè)置在家用電器里的物件或其它計算設(shè)備與物件。實際上,可存貯數(shù)據(jù)或從中檢索數(shù)據(jù)的任何地方都是一種期望的或合適的按本發(fā)明操作的環(huán)境。
盡管并不要求,但是本發(fā)明可通過操作系統(tǒng)實施,供服務(wù)開發(fā)者用于某一設(shè)備或物件,和/或者包含在按本發(fā)明操作的應(yīng)用軟件內(nèi)。軟件一般按計算機可執(zhí)行的指令描述,諸如由一臺或多臺計算機像客戶工作站、服務(wù)器或其它設(shè)備執(zhí)行的程序模塊。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例行程序、程序、物件、元件、數(shù)據(jù)結(jié)構(gòu)等。在各種實施例中,通??梢园葱枰M合或分配諸程序模塊的功能,而且,本領(lǐng)域的技術(shù)人員將明白,本發(fā)明可用其它計算機配置方法來實現(xiàn)。適用本發(fā)明的其它已知的計算系統(tǒng)、環(huán)境和/或配置,包括但不限于個人計算機(PC)、自動化播音機、服務(wù)器計算機、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費類電子設(shè)備、網(wǎng)絡(luò)PC、家用電器、照明、環(huán)境管理元件、小型計算機、主計算機等。本發(fā)明還適用于分布型計算環(huán)境,由通過通信網(wǎng)/總線或其它數(shù)據(jù)傳輸媒介聯(lián)接的遠程處理設(shè)備執(zhí)行諸任務(wù)。在分布型計算環(huán)境中,程序模塊可設(shè)置于本地與遠程兩種計算機存貯媒體中,包括存儲器存貯設(shè)備,客戶節(jié)點反過來作為服務(wù)器節(jié)點。
因此,圖1示出一例可實施本發(fā)明的合適的計算系統(tǒng)環(huán)境100,盡管以上已清楚地說明,但是該計算系統(tǒng)環(huán)境100只是一例合適的計算環(huán)境,并不對本發(fā)明的使用或功能范圍作出任何限制。相對于示例操作環(huán)境100示出的任一元件或元件的組合,不應(yīng)把計算環(huán)境100解釋為具有任何相依性或要求。
參照圖1,實施本發(fā)明的示例系統(tǒng)包括以計算機系統(tǒng)110形式的通用計算設(shè)備。計算系統(tǒng)110的元件包括但不限于處理單元120、系統(tǒng)存儲器130和系統(tǒng)總線121。系統(tǒng)總線121將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)元件耦合至處理單元120。系統(tǒng)總線121可以是若干類總線結(jié)構(gòu)中的任一類,包括存儲器總線或存儲器控制器、外設(shè)總線和應(yīng)用任一種總線結(jié)構(gòu)的局部總線。舉例說(但不限制),這類結(jié)構(gòu)包括工業(yè)標準結(jié)構(gòu)(ISA)總線、精密通道結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子學(xué)標準協(xié)會(VESA)局部總線和外圍元件互連(PCI)總線(也稱為Mezzanine總線)。
計算機系統(tǒng)110一般包括各種計算機可讀媒體,而計算機可讀媒體可以是能被計算機系統(tǒng)110訪問的任一現(xiàn)有媒體,包括易失與非易失和可卸與不可卸兩種媒體。舉例說(但不限制),計算機可讀媒體可以包括計算機存貯媒體與通信媒體。計算機存貯媒體包括以任何方法或技術(shù)構(gòu)成的易失與非易失、可卸與不可卸媒體,用于存貯計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。計算機存貯媒體包括但不限于隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦可編程只讀存儲(EEPROM)、閃存或其它存儲器技術(shù)、密盤只讀存儲器(CDROM)、數(shù)字多用途盤(DVD)或其它光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或其它磁性存儲設(shè)備,或者能存貯所需信息并被計算機系統(tǒng)110訪問的任何其它媒體。通信媒體一般包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或以調(diào)制的數(shù)據(jù)信號諸如載波或其它傳輸機制形式的其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“調(diào)制的數(shù)據(jù)信號”指具有以設(shè)置或改變其一或多個特征的這種方式對信號中的信息進行編碼的信號。作為實例,但不是限制,通信媒體包括有線網(wǎng)或直接布線連接的有線媒體和聲學(xué)、射頻、紅外等無線媒體與其它無線媒體。上述任一種組合也包括在計算機可讀媒體的范圍內(nèi)。
系統(tǒng)存儲器130包括易失和/或非易失存儲器形式的計算機存貯媒體,如只讀存儲器(ROM)131與隨機存取存儲器(RAM)132。包含基本例行程序的基本輸入/輸出系統(tǒng)133(BIOS)一般存貯在ROM131中,例行程序有助于在計算機系統(tǒng)110內(nèi)諸元件之間傳遞信息,諸如在啟動期間。RAM132一般含有被處理單元120即時訪問和/或操作的數(shù)據(jù)和/或程序模塊。舉例說(但不限制),圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機系統(tǒng)110還可包括其它可卸/不可卸、易失/非易失計算機存貯媒體。僅舉個例說,圖1示出了對不可卸、非易失磁性媒體作讀或?qū)懙挠脖P驅(qū)動器141,對可卸、非易失磁盤152作讀或?qū)懙拇疟P驅(qū)動器151,以及對可卸、非易失光盤156諸如CD ROM或其它光學(xué)媒體作讀或?qū)懙墓獗P驅(qū)動器155。能用于示例操作環(huán)境的其它可卸/不可卸、易失/非易失計算機存貯媒體,包括但不限于盒式磁帶、閃存卡、數(shù)字多用盤、數(shù)字像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器141通常通過不可卸存儲器接口如接口140接系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155一般用可卸存儲器接口如接口150接系統(tǒng)總線121。
上述討論的和圖1所示的驅(qū)動器及其有關(guān)計算機存貯媒體,為計算機系統(tǒng)110存貯計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)。如圖1中的硬盤驅(qū)動器141用于存貯操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些元件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給以不同的編號,至少表明它們是不同的復(fù)制件。用戶通過輸入設(shè)備如鍵盤162與指點器161(常稱為鼠標、跟蹤球或觸板)把命令和信息送入計算機系統(tǒng)110。其它輸入設(shè)備(未示出)包括話筒、搖桿、游戲板、衛(wèi)星天線、掃描儀等。此類輸入設(shè)備通常經(jīng)耦合至系統(tǒng)總線121的用戶輸入接口160接至處理單元120,但也可用其它接口和總線結(jié)構(gòu)連接,諸如平行端口、游戲端口或多用途串行總線(USB)。圖形接口182(如Northbridge)也可接至系統(tǒng)總線121。Northbridge是與CPU或主處理單元120聯(lián)系的芯片組(chipset),負責(zé)加速的圖形端口(AGP)通信。一個或多個圖形處理單元(GPU)184與圖形接口182聯(lián)系。這方面,GPU184一般包括片上存儲器存貯,如寄存器存貯,GPU184與視頻存儲器186聯(lián)系。但GPU184不過是一例處理器,計算機系統(tǒng)110可以包含各種處理設(shè)備。監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)接口,諸如與視頻存儲器186聯(lián)系的視頻接口190接至系統(tǒng)總線121。除了監(jiān)視器191,計算機計算機系統(tǒng)還可包括其它外圍輸出設(shè)備,如通過輸出外圍接口195連接的揚聲器197與打印機196。
計算機系統(tǒng)110可工作于對一臺或多臺遠程計算機如遠程計算機180應(yīng)用邏輯連接的聯(lián)網(wǎng)或分布型環(huán)境。遠程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、同等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點,一般包括許多或所有以上對計算機系統(tǒng)110描述的元件,雖然圖1只示出一個存儲器設(shè)備181。圖1所示的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)/總線。在家庭、辦公室、企業(yè)計算機網(wǎng)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中,這類聯(lián)網(wǎng)環(huán)境很常見。
在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機系統(tǒng)110經(jīng)網(wǎng)絡(luò)接口或適配器170接LAN171。在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機系統(tǒng)110一般包括調(diào)制解調(diào)器172或其它在WAN173如因特網(wǎng)上建立通信的裝置。內(nèi)部或外接的調(diào)制解調(diào)器172,經(jīng)用戶輸入接口162或其它適當(dāng)機構(gòu)接系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,對計算機系統(tǒng)110描述的程序模塊或其一部分可存貯在遠程存儲器存貯設(shè)備里。舉例說(不限制),圖1把遠程應(yīng)用程序185示為駐留在存儲器設(shè)備181上。顯然,圖示網(wǎng)絡(luò)連接只是個示例,可以使用在計算機之間建立通信鏈路的其它裝置。
鑒于對個人計算與因特網(wǎng)的關(guān)注,已經(jīng)并且正在開發(fā)各種分布型計算結(jié)構(gòu)。對個人和商業(yè)用戶提供用于各種應(yīng)用與計算設(shè)備的無縫隙協(xié)作的Web使能型(Web-enabled)接口,使計算活動越來越多地定向Web瀏覽器或網(wǎng)絡(luò)。
例如,MICROSOFT的.NET平臺包括服務(wù)器、積木塊服務(wù)、諸如基于Web的數(shù)據(jù)存儲器與可下載的設(shè)備軟件。雖然結(jié)合駐留在計算設(shè)備上的軟件來描述這里的示例實施例,但是本發(fā)明的一部分或多個部分也可通過操作系統(tǒng)、應(yīng)用程序接口(API)或任一共處理器、顯示設(shè)備與請求目標之間的“中間人”目標來實施,使本發(fā)明執(zhí)行的操作通過所有.NET的語言與服務(wù)得到支持或被訪問,而且也適用于其它分布型計算框架。
延遲鎖定參照圖2,文檔210駐留在服務(wù)器計算機200上。有許可權(quán)的用戶請求打開該文檔。用戶以多種方式連接服務(wù)器計算機,如用戶可以通過局域網(wǎng)(LAN)直接連接,或通過因特網(wǎng)等網(wǎng)絡(luò)遠程連接。在示例的圖2中,用戶計算機220經(jīng)網(wǎng)絡(luò)230接服務(wù)器計算機200。
用戶請求打開文檔。提出請求的一種方法是在服務(wù)器計算機200提供的網(wǎng)頁上選擇超文本鏈接。服務(wù)器收到請求時,就允許用戶計算機220打開該文檔。應(yīng)用程序240在用戶計算機上打開文檔。例如,該應(yīng)用程序可以是文字處理應(yīng)用程序、空白表格應(yīng)用程序、放音機應(yīng)用程序或用戶可以用來下載數(shù)據(jù)的任一應(yīng)用程序。在一實施例中,用戶在用戶計算機220上在用網(wǎng)上瀏覽應(yīng)用程序觀看的網(wǎng)頁中選擇超文本鏈接。
打開文檔時,在一實施例中,在用戶計算機230的高速緩沖存儲器里復(fù)制該文檔。這就是服務(wù)器計算機200上用戶瀏覽或閱讀的復(fù)制件(或文檔包含音頻數(shù)據(jù),就在放音機中播放而與之互作用)。在起初打開文檔時,該文檔用“只讀”許可被打開,這種方法可讓不止一個用戶訪問和使用該文檔。
在另一實施例中,不在用戶計算機230中作本機復(fù)制,具有只讀許可的所有用戶都在服務(wù)器上觀看該文檔。
文檔鎖定只按用戶要編輯文檔的指示發(fā)生。鎖定將允許用戶擁有文檔的“讀/寫”許可,然后用戶就能修改或增補文檔數(shù)據(jù)。
這一編輯意圖指示是若干不同事項之一。在一實施例中,修改文檔的用戶以任何方法表明編輯意圖。在另一實施例中,用戶指明編輯意圖,這可以通過配入應(yīng)用程序的專用“編輯”命令來實現(xiàn),或在用戶請求已保留的變化時實現(xiàn)。在又一實施例中,編輯意圖判斷是一種用戶擁有所述文檔打開已達預(yù)定時段的判斷。例如,若用戶以只讀模式擁有文檔打開已達10分鐘,就可推測用戶要編輯該文檔。
在一實施例中,在鎖定時,要判斷用戶計算機230的高速緩沖存儲器里的文檔復(fù)制件是否是與服務(wù)器上的當(dāng)前版本一樣,以確保其時不發(fā)生編輯。例如,用戶A打開文檔第一版本,但不表示編輯意圖(因而不能觸發(fā)鎖定)。若用戶A接著通過示明編輯意圖而觸發(fā)鎖定,則必須保證服務(wù)器上的當(dāng)前文檔版本與用戶A正在觀看并要編輯的版本相同。若用戶B在用戶A的打開文檔與用戶A示明編輯意圖之間的某一點打開了服務(wù)器計算機200上的文檔并作修改,就會發(fā)生沖突,應(yīng)該向用戶呈現(xiàn)沖突解決選項。
例如,用戶A可對文檔作大量改變,而且決定這一改變將取代在此其間出現(xiàn)的任何改變。然后,把用戶計算機230上的版本寫到服務(wù)器計算機200作為文檔210并將其鎖定,使用戶A擁有讀/寫特權(quán)。或者,用戶A可以決定保留其正在本地加工的版本作為另一文檔,重新打開服務(wù)器計算機200上的文檔210作編輯。還可向用戶提出其它沖突解決選項。
為了判斷用戶計算機230中的文檔復(fù)制件是否與服務(wù)器上當(dāng)前的文檔210同一版本,可以存貯和比較版本信息,包括版本號、保留的時間與日期信息或其它版本數(shù)據(jù)?;蛘撸蓪嶋H文檔210與用戶計算機230中超高速緩存的版本作一全面比較,判斷文檔內(nèi)容是否相同。
在另一實施例中,用戶不把文檔210復(fù)制到用戶計算機230,而是直接從服務(wù)器計算機200打開該文檔,在出現(xiàn)編輯觸發(fā)事項意圖時,對用戶鎖定編輯文檔210。
如圖3所示,在步驟300,接收打開文檔的請求。在步驟310,打開文檔。在一實施例中,以只讀模式從服務(wù)器里直接打開文檔;在另一實施例中,制作文檔復(fù)制件并打開。在步驟320,判斷是否出現(xiàn)編輯觸發(fā)事項。該編輯觸發(fā)事項可以是對文檔本機復(fù)制件已經(jīng)作出的用戶保留的變化;也可能是在文檔服務(wù)器復(fù)制件被打開只讀的情況下的用戶試圖改變該文檔;還可能是預(yù)定時段已過、接收自用戶的“編輯”指示,或者任何其它必須鎖定服務(wù)器文檔以作編輯的事項。
在步驟330,鎖定文檔,這樣就鎖定了文檔的服務(wù)器復(fù)制件供用戶修改,不存在沖突修改的幾率。
如圖4所示,在一實施例中實施沖突解決方案。與圖3中一樣,第一步驟410是接收打開文檔請求的時候。在第二步驟420,制作文檔的本機復(fù)制件,并將該本機復(fù)制件打開作編輯。在第三步驟430,判定出現(xiàn)了編輯觸發(fā)事項。然后經(jīng)比較(440),判斷服務(wù)器上的文檔版本與步驟420復(fù)制的版本是否一樣。若為同一版本,就在步驟450鎖定該文檔;若用戶改變了文檔的本機復(fù)制件,可更新文檔的服務(wù)器復(fù)制件以反映這些變化;若版本變了,則在步驟460向用戶提出沖突解決選項。然而,這在步驟450會導(dǎo)致鎖定該文檔,還會導(dǎo)致其它沖突解決選項。
這樣,文檔可同時被若干用戶打開,他們都能使用文檔的內(nèi)容。但當(dāng)某個用戶希望修改文檔時,就對該用戶作鎖定,而該用戶將擁有該文檔的讀/寫特權(quán)。
結(jié)論如上所述,雖然已結(jié)合各種計算設(shè)備與網(wǎng)絡(luò)結(jié)構(gòu)描述了本發(fā)明諸示例性實施例,但是基本理念適用于希望實施修正型文檔打開的任何計算設(shè)備或系統(tǒng),因而本發(fā)明的方法與系統(tǒng)適用于各種應(yīng)用場合與設(shè)備。盡管示例的編程語言、名稱與實例在這里被選作代表各種選擇,但是它們并不用來限制。本領(lǐng)域的技術(shù)人員將明白,許多提供目標代碼的方法可實現(xiàn)與本發(fā)明實現(xiàn)的同樣、類似或等效的系統(tǒng)與方法。
這里描述的各種技術(shù)可結(jié)合硬件或軟件或者合適時可以二者的組合來實施,因而本發(fā)明的方法與設(shè)備或其某些方面或部分可采取包含在有形媒體內(nèi)的程序代碼(即指令)的形式,有形媒體諸如有軟盤、CD-ROM、硬驅(qū)動器或任何其它機器可讀存貯媒體等,其中將程序代碼裝入并由機器執(zhí)行時,譬如計算機,該機器就成了實施本發(fā)明的設(shè)備。在可編程計算機上執(zhí)行程序代碼時,計算設(shè)備一般包括處理器、處理器可讀的存貯媒體(包括易失與非易失存儲器和/存貯元件)、至少一臺輸入設(shè)備和至少一臺輸出設(shè)備。例如通過使用數(shù)據(jù)處理API等可利用本發(fā)明的信號處理服務(wù)的一條或多條程序,較佳地以高級程序性的或目標定向的編輯語言實施成與計算機通信,但需要時,可用匯編或機器語言執(zhí)行程序。在任何情況下,語言都是一種組合了硬件實施的編譯或解釋語言。
本發(fā)明的方法與設(shè)備還可通過程序代碼形式的通信來實施,程序代碼在電氣布線或電纜等某種傳輸媒體上通過光纖或經(jīng)由其它任何傳輸形式被發(fā)送,其中,當(dāng)諸如EPROM、門陣列、可編程邏輯裝置(PLD)、客戶計算機、錄像機等機器或者具有上面諸示例實施例所述信號處理功能的接收機器接收、裝載并執(zhí)行程序代碼時,就成了實施本發(fā)明的設(shè)備。在通用處理器上實施時,程序代碼連同該處理器就提供一種運行成行使本發(fā)明功能的專用設(shè)備。另外,結(jié)合本發(fā)明使用的任何存貯技術(shù)必定是硬件與軟件的組合。
雖已結(jié)合各附圖的較佳實施例描述了本發(fā)明,但應(yīng)明白,可使用其它類似實施例或?qū)γ枋龅膶嵤├餍拚c增添,以執(zhí)行本發(fā)明同樣的功能而不偏離本發(fā)明。另應(yīng)強調(diào),尤其隨著無線聯(lián)網(wǎng)設(shè)備數(shù)量的不斷增加,可以設(shè)想出各種計算機平臺,包括手持設(shè)備操作系統(tǒng)與其它專用操作系統(tǒng)。因此,本發(fā)明不限于任一實施例,而是受所附如權(quán)利要求提出的范圍的約束。
權(quán)利要求
1.一種延遲鎖定正被打開文檔的方法,其特征在于,所述方法包括接收打開所述文檔的請求;打開所述文檔閱讀;判斷出現(xiàn)了編輯觸發(fā)事項;和鎖定所述文檔。
2.如權(quán)利要求1所述的方法,其特征在于,所述打開所述文檔包括以只讀模式打開文檔,而實現(xiàn)鎖定包括對所述用戶將模式改為讀/寫。
3.如權(quán)利要求1所述的方法,其特征在于,所述判斷出現(xiàn)了編輯觸發(fā)事項,包括接收所述文檔的改變。
4.如權(quán)利要求1所述的方法,其特征在于,所述判斷出現(xiàn)了編輯觸發(fā)事項,包括接收來自用戶的編輯所述文檔的請求。
5.如權(quán)利要求1所述的方法,其特征在于,所述判斷出現(xiàn)了編輯觸發(fā)事項,包括判斷用戶擁有所述文檔打開已達預(yù)定的時段。
6.如權(quán)利要求1所述的方法,其特征在于,所述打開所述文檔的步驟包括產(chǎn)生所述文檔的用戶復(fù)制件。
7.如權(quán)利要求6所述的方法,其特征在于,所述文檔位于服務(wù)器計算機上,用戶正在使用用戶計算機,所述服務(wù)器計算機與所述用戶計算機可操作地相連,所述文檔的所述用戶復(fù)制件對所述用戶計算機是本機的。
8.如權(quán)利要求6所述的方法,其特征在于,所述鎖定所述文檔的步驟包括判斷所述文檔自從作出所述用戶復(fù)制件以來有無變化;和若所述文檔不變,鎖定所述文檔。
9.如權(quán)利要求8所述的方法,其特征在于,所述判斷所述文檔有無變化的步驟,包括將所述服務(wù)器計算機上所述文檔當(dāng)前版本的版本信息與所述用戶復(fù)制件的版本信息作一比較。
10.如權(quán)利要求9所述的方法,其特征在于,所述文檔規(guī)定版本的所述版本信息包括有關(guān)所述規(guī)定版本最后變化時間的信息。
11.如權(quán)利要求8所述的方法,其特征在于,所述鎖定所述文檔的步驟還包括若所述文檔已變化,對所述用戶提供一個或多個沖突解決選項。
12.如權(quán)利要求8所述的方法,其特征在于,所述沖突解決選項包括保留所述文檔用戶復(fù)制件的選項。
13.如權(quán)利要求8所述的方法,其特征在于,所述沖突解決選項包括在所述服務(wù)器計算機上檢索所述文檔所述當(dāng)前版本的選項。
14.操作系統(tǒng)、其上存貯了多條計算機可執(zhí)行指令的計算機可讀媒體、協(xié)同處理設(shè)備、計算設(shè)備和載有計算機可執(zhí)行指令的經(jīng)調(diào)制的數(shù)據(jù)信號中至少一種執(zhí)行執(zhí)行權(quán)利要求1的方法。
15.一種向服務(wù)器請求文檔的計算機系統(tǒng),所述服務(wù)器可操作地與所述計算機系統(tǒng)相連,其特征在于,所述系統(tǒng)包括接收在服務(wù)器計算機上打開文檔請求的輸入模塊;以只讀模式打開所述文檔的只讀模式打開模塊,可操作地與所述用戶輸入模塊相連;判斷是否出現(xiàn)編輯觸發(fā)的編輯觸發(fā)指示模塊;以讀寫模式打開所述文檔的讀寫模式打開模塊,可操作地與所述編輯意圖指示模塊相連;和使用所述文檔的文檔使用模塊,可操作地與所述只讀模式打開模塊和所述讀寫模式打開模塊相連。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述可操作地相連包括網(wǎng)絡(luò)連接。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述編輯觸發(fā)指示模塊判斷所述用戶是否請求改變所述文檔。
18.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述編輯觸發(fā)指示模塊判斷所述用戶是否請求所述文檔用來作編輯。
19.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述編輯觸發(fā)指示模塊判斷所述用戶是否已擁有所述文檔打開已達預(yù)定時段。
20.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括存貯所述文檔用戶復(fù)制件的存儲器。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括變化檢測模塊,用來檢測所述文檔的所述用戶復(fù)制件是否是所述服務(wù)器上所述文檔的當(dāng)前版本復(fù)制件,可操作地與所述讀寫模式打開模塊相連。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,若所述變化檢測模塊檢不出所述服務(wù)器上所述文檔所述當(dāng)前版本的變化,所述讀寫模式打開模塊就以讀寫模式對所述用戶打開所述文檔。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括變化解決模塊,在檢測出所述服務(wù)器上所述文檔的當(dāng)版本有變化時,向所述用戶提出至少一個變化解決選項。
24.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述沖突解決選項包括保留所述文檔用戶復(fù)制件的選項。
25.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述沖突解決選項包括在所述服務(wù)器計算機上檢索所述文檔所述當(dāng)前版本的選項。
26.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述變化檢測模塊把所述服務(wù)器計算機上所述文檔的當(dāng)前版本的版本信息與所述用戶復(fù)制件版本信息進行比較。
27.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述文檔規(guī)定版本的所述版本信息包括有關(guān)所述規(guī)定版本最后變化時間的信息。
28.一種在遠程服務(wù)器上使用遠程文檔的方法,其特征在于,所述方法包括在用戶指示請求打開所述遠程文檔時,從所述遠程服務(wù)器接收所述遠程文檔的當(dāng)前版本復(fù)制件;運用適用于與所述遠程文檔同類型文檔的軟件應(yīng)用程序,向所述用戶顯示所述復(fù)制件;在所述用戶指明其編輯所述遠程文檔的意圖時,請求鎖定所述遠程服務(wù)器上的所述文檔,不讓其它用戶寫。
29.如權(quán)利要求28所述的方法,其特征在于,所述來自用戶的請求打開所述遠程文檔的指示,包括所述用戶點擊超文本鏈接。
30.如權(quán)利要求28所述的方法,其特征在于,所述用戶編輯所述遠程文檔意圖的指示,包括接收在所述應(yīng)用中對所述復(fù)制件的變化。
31.如權(quán)利要求28所述的方法,其特征在于,所述用戶編輯所述遠程文檔意圖的指示,包括接收在所述應(yīng)用中所述用戶編輯所述復(fù)制件的請求。
32.如權(quán)利要求28所述的方法,其特征在于,所述用戶編輯所述遠程文檔意圖的指示,包括判斷所述用戶擁有所述復(fù)制件打開已達預(yù)定時段。
33.如權(quán)利要求28所述的方法,其特征在于,請求鎖定所述遠程服務(wù)器上所述文檔而不讓其它用戶寫的所述步驟,包括判斷所述遠程文檔自從制出所述復(fù)制件以來有無變化;和若所述遠程文檔不變,請求鎖定所述遠程服務(wù)器上的所述遠程文檔,不讓其它用戶寫。
34.如權(quán)利要求32所述的方法,其特征在于,判斷所述文檔有無變化的所述步驟,包括把所述遠程服務(wù)器上所述遠程的版本信息與所述復(fù)制件版本信息進行比較。
35.如權(quán)利要求33所述的方法,其特征在于,對所述用戶實現(xiàn)鎖定的所述步驟還包括若所述遠程文檔變了,向所述用戶提供一個或多個沖突解決選項。
36.操作系統(tǒng),其上存貯了多條計算機可執(zhí)行指令的計算機可讀媒體、協(xié)同處理設(shè)備、計算設(shè)備和載有計算機可執(zhí)行指令的經(jīng)調(diào)制的數(shù)據(jù)信號中的至少一種執(zhí)行權(quán)利要求28的方法。
全文摘要
構(gòu)制的服務(wù)器具有修正型文檔打開操作,在用戶執(zhí)行修正型打開時,先打開文檔而不將文檔鎖定。當(dāng)用戶指示(明確地或含蓄地)正試圖或要想打開該文檔時,就能鎖定該文檔作編輯。這樣,在用戶請求文檔時,缺省操作就打開該文檔而不拒絕其它用戶訪問該文檔。然后,當(dāng)用戶指明要編輯時,就鎖定該文檔。
文檔編號G06F17/21GK1525324SQ200410008289
公開日2004年9月1日 申請日期2004年2月27日 優(yōu)先權(quán)日2003年2月28日
發(fā)明者N·埃德爾斯泰恩, H·劉, H·薩里巴, N 埃德爾斯泰恩, 鋨 申請人:微軟公司