專(zhuān)利名稱:用于管理應(yīng)用程序中文件復(fù)制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于管理電子文檔的多種版本的方法,尤其涉及在同步事件期間使用有關(guān)應(yīng)用程序功能來(lái)協(xié)調(diào)文件版本的方法。
背景技術(shù):
網(wǎng)絡(luò)化計(jì)算機(jī)環(huán)境中的通常實(shí)踐是使一個(gè)計(jì)算機(jī)用戶與網(wǎng)絡(luò)上的另一用戶合作一電子文檔。這種網(wǎng)絡(luò)可以是局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)等等。在這種合作中,每個(gè)用戶可以通過(guò)使用軟件應(yīng)用程序來(lái)創(chuàng)建和編輯電子文檔,軟件應(yīng)用程序有普通應(yīng)用軟件、或者專(zhuān)門(mén)為合作對(duì)象的文件類(lèi)型設(shè)計(jì)的軟件、等等。
通過(guò)把電子文檔的主版本維持在將在文件上合作的所有用戶可訪問(wèn)的位置處,而使合作變得可能。在傳統(tǒng)的網(wǎng)絡(luò)化計(jì)算機(jī)環(huán)境中,可能存在一個(gè)服務(wù)器計(jì)算機(jī)以及一個(gè)或多個(gè)用戶計(jì)算機(jī)。服務(wù)器維持各個(gè)用戶計(jì)算機(jī)之間的通信鏈路,并且可以被各個(gè)用戶計(jì)算機(jī)訪問(wèn),因此可以存儲(chǔ)并控制由用戶合作的文件的主版本。當(dāng)合作一電子文檔時(shí),用戶首先訪問(wèn)服務(wù)器上文件的主版本,然后把該文件復(fù)制到用戶的計(jì)算機(jī)。然后,用戶可以應(yīng)用程序允許用戶可用的任何方式來(lái)改變?cè)撐募?,從而作用于該文件。例如,如果?yīng)用程序是一文字處理器、電子表格、數(shù)據(jù)庫(kù)和/或其他,應(yīng)用程序可以提供用于執(zhí)行像編輯、復(fù)制、刪除等任務(wù)的裝置。在任何改動(dòng)完成時(shí),如果用戶希望保留對(duì)文件的這些改動(dòng),那么用戶就可以保存對(duì)用戶計(jì)算機(jī)上存儲(chǔ)的文件版本的變化。在其他系統(tǒng)中,比如不存在服務(wù)器計(jì)算機(jī)的系統(tǒng),主版本可以被存儲(chǔ)在用戶計(jì)算機(jī)上。
為了通過(guò)服務(wù)器與其他用戶合作,有變化版本存儲(chǔ)在用戶計(jì)算機(jī)上的用戶必須把計(jì)算機(jī)上的文件版本與服務(wù)器上的文件主版本同步。同步同一個(gè)電子文件的多個(gè)版本的最簡(jiǎn)單的形式,就是確保一旦被同步,所有的版本就是相同的。這樣,執(zhí)行同步的用戶會(huì)使參與合作的其他用戶訪問(wèn)最近改動(dòng)的文件。按照慣例,同步由一同步工具(utility)來(lái)執(zhí)行。同步工具一般與應(yīng)用程序分開(kāi),并且在許多情況下是用戶計(jì)算機(jī)的操作系統(tǒng)的一部分。常規(guī)的同步工具在預(yù)定的時(shí)間、或者根據(jù)操作系統(tǒng)的請(qǐng)求而執(zhí)行同步。
在常規(guī)的同步中,同步工具會(huì)使用與工具能理解的拷貝有關(guān)的任何信息,把用戶文件版本與文件的主版本相比較。一般而言,這種信息限于每種版本的上一次更新的日期和/或時(shí)間。如果日期和/或時(shí)間是相同的,同步工具就確定兩種版本是相同的,因此是同步的,并且不需要進(jìn)一步的行為。然而,如果日期和/或時(shí)間之間存在差異,則同步工具向與驅(qū)動(dòng)同步事件的計(jì)算機(jī)相關(guān)聯(lián)的用戶提供一用戶界面。用戶界面通常向用戶提供一簡(jiǎn)要通知說(shuō)明存在差異,每個(gè)文件版本的這種上一次更新的日期和/或時(shí)間,以及對(duì)來(lái)自用戶的指令的請(qǐng)求,所述指令關(guān)于用戶希望保持文件的哪個(gè)拷貝。如果用戶選擇保持用戶版本,同步工具就用用戶版本覆蓋主版本,從而使用戶版本成為服務(wù)器上的主版本。如果用戶希望保持主版本,則不再采取任何動(dòng)作,或者用主版本覆蓋用戶版本。在某些用戶界面中,給予用戶一個(gè)選項(xiàng)來(lái)放棄同步,而不是選擇哪種版本成為主版本。
上述常規(guī)的同步具有顯著的缺點(diǎn)。由于常規(guī)的同步工具限制了關(guān)于電子文檔的功能,因此由常規(guī)工具所產(chǎn)生的用戶界面在提示用戶選擇動(dòng)作過(guò)程時(shí)僅僅向用戶給出有限的信息量。因此,這種有限的信息量會(huì)使這些用戶作出與要采取的動(dòng)作過(guò)程有關(guān)的無(wú)通知的且可能不正確的判決。例如,第一用戶可以改變前面被同步的用戶文件版本,然后常規(guī)的同步工具在某些點(diǎn)啟動(dòng)一同步事件。當(dāng)被常規(guī)的用戶界面通知時(shí),用戶可以看見(jiàn)用戶版本在主版本以后被更新,因此決定覆蓋主版本。然而,常規(guī)用戶界面給出的信息未通知用戶主版本是否在用戶開(kāi)始改變用戶版本后保持不變。這導(dǎo)致一種有問(wèn)題的情況,其中第二用戶可以對(duì)另一用戶版本作出改變,然后在第一用戶的同步之前把該用戶版本與主版本同步。第一用戶的版本比較近——在后面被更新——但是主版本已經(jīng)經(jīng)第二用戶的改變,該第二用戶在第一用戶最初從服務(wù)器拷貝文件時(shí)還不存在。結(jié)果,一旦第一用戶完成同步,第二用戶對(duì)主版本的改變就丟失。
上述情況因?yàn)槌R?guī)的同步工具缺乏與文件有關(guān)的應(yīng)用中固有功能的全部范圍而造成,因此工具不能在同步事件期間使用該功能。因此,工具只能向用戶提供與電子文檔的不同版本有關(guān)的非常有限的信息量,比如對(duì)上述每個(gè)文件版本的上一次更新的日期和/或時(shí)間。
由常規(guī)同步工具的有限功能所造成的另一個(gè)缺點(diǎn)是在同步期間缺乏用戶可用的多個(gè)行為過(guò)程。例如,在上述示例中,用戶界面僅給出三個(gè)選項(xiàng)用用戶拷貝來(lái)更新主拷貝、用主拷貝來(lái)更新用戶拷貝、或者放棄。
常規(guī)同步的還有一個(gè)缺點(diǎn)源于缺乏這種工具與這種應(yīng)用程序的集成。例如,如上所述,常規(guī)的同步工具是用戶或服務(wù)器計(jì)算機(jī)的操作系統(tǒng)的一部分。因此,同步進(jìn)程以及任何可應(yīng)用的用戶界面通常在應(yīng)用程序用戶體驗(yàn)以外實(shí)施。這會(huì)在對(duì)操作系統(tǒng)不熟悉得用戶中引起混淆,同樣也會(huì)在對(duì)應(yīng)用程序不熟悉的用戶中引起混淆。此外,由于缺乏集成,同步可能由同步工具在對(duì)于發(fā)生這種事件不是最佳的時(shí)刻啟動(dòng)。常規(guī)同步工具的附加缺點(diǎn)是這種工具不能被用作軟件應(yīng)用程序的組件。例如,通過(guò)使用常規(guī)方法,計(jì)算機(jī)編程者不能創(chuàng)建第一軟件應(yīng)用程序來(lái)協(xié)調(diào)電子文檔的多種版本,所述第一軟件應(yīng)用程序使用一同步工具,該同步工具能使用對(duì)于電子文檔適當(dāng)?shù)牡诙?yīng)用程序。因此,需要一種有效的裝置,使用有關(guān)軟件應(yīng)用程序功能來(lái)解決同步期間文件拷貝間的沖突。
發(fā)明內(nèi)容
考慮到上述內(nèi)容,本發(fā)明提供了把應(yīng)用程序接口與軟件應(yīng)用程序集成的方法,所述軟件應(yīng)用程序允許應(yīng)用程序請(qǐng)求并控制文件同步進(jìn)程,而同時(shí)保留在應(yīng)用程序用戶體驗(yàn)中。本發(fā)明提供了用于管理電子文檔的第一和第二版本的方法。在該方法中,識(shí)別電子文檔的第一和第二版本,并且用工作在第一計(jì)算機(jī)上的第一軟件應(yīng)用程序啟動(dòng)同步事件。應(yīng)用程序接口訪問(wèn)第一和第二版本,比較與各個(gè)版本相關(guān)聯(lián)的信息,產(chǎn)生一結(jié)果并把該結(jié)果報(bào)告給第一軟件應(yīng)用程序。第二軟件應(yīng)用程序按照第二軟件應(yīng)用程序的特性而產(chǎn)生一用戶界面,其中電子文檔與第二軟件應(yīng)用程序相關(guān)聯(lián),用戶界面顯示在顯示設(shè)備上。
本發(fā)明還提供了第二軟件應(yīng)用程序,用于產(chǎn)生同步選項(xiàng)并且通過(guò)用戶界面給出該選項(xiàng),并且把它顯示在顯示設(shè)備上。第二軟件應(yīng)用程序還可以接收一選項(xiàng)選擇,并且相應(yīng)地同步電子文檔的第一和第二版本。本發(fā)明還提供了第一軟件應(yīng)用程序和第二軟件應(yīng)用程序可以是相同的軟件應(yīng)用程序。應(yīng)用程序可以向用戶提供與第一和第二版本有關(guān)的任何信息量,用戶可以輸入任何數(shù)量或類(lèi)型的同步選擇。一實(shí)施例中,用戶可以創(chuàng)建第三版本,第三版本包括第一或第二版本的任何一個(gè)、或兩者的任何部分或不包含其中的任何部分。應(yīng)用程序可以在任何時(shí)間啟動(dòng)同步,比如在用戶請(qǐng)求時(shí)。在下面的描述中提出了本發(fā)明的附加特性和優(yōu)點(diǎn)。
結(jié)合附圖可以更好地理解上述發(fā)明內(nèi)容、以及下面的優(yōu)選實(shí)施例的詳細(xì)描述。為了說(shuō)明本發(fā)明,在圖中示出本發(fā)明的示例性實(shí)施例;然而,本發(fā)明不限于這里公開(kāi)的特定方法和工具。附圖中圖1是示出其中可實(shí)現(xiàn)本發(fā)明各方面的示例性計(jì)算環(huán)境的框圖;圖2是說(shuō)明第一計(jì)算機(jī)、網(wǎng)絡(luò)和第二計(jì)算機(jī)之間關(guān)系示例的功能圖;圖3是示出按照本發(fā)明一個(gè)實(shí)施例的同步進(jìn)程的流程圖;以及圖4是說(shuō)明按照本發(fā)明一個(gè)實(shí)施例啟動(dòng)同步進(jìn)程的方法的流程圖。
具體實(shí)施例方式
概述本發(fā)明提供了把應(yīng)用程序接口與軟件應(yīng)用程序集成的方法,所述軟件應(yīng)用程序允許應(yīng)用程序請(qǐng)求并控制文件同步進(jìn)程,而同時(shí)保留在應(yīng)用程序用戶體驗(yàn)中。本發(fā)明提供了用于管理電子文檔的第一和第二版本的方法。在該方法中,識(shí)別電子文檔的第一和第二版本,并且用工作在第一計(jì)算機(jī)上的第一軟件應(yīng)用程序啟動(dòng)同步事件,用于把第一計(jì)算機(jī)上的第一版本與第二版本同步。應(yīng)用程序接口訪問(wèn)第一和第二版本,比較與第一和第二版本中每一個(gè)相關(guān)聯(lián)的信息,并且產(chǎn)生一結(jié)果。比較結(jié)果被報(bào)告給第一軟件應(yīng)用程序。使第二軟件應(yīng)用程序按照第二軟件應(yīng)用程序的特性而產(chǎn)生一用戶界面,其中電子文檔與第二軟件應(yīng)用程序相關(guān)聯(lián),用戶界面顯示在顯示設(shè)備上。
本發(fā)明還提供了第二軟件應(yīng)用程序,用于產(chǎn)生同步選項(xiàng)并且要由用戶界面給出該同步選項(xiàng),并且把同步選項(xiàng)顯示在顯示設(shè)備上。第二軟件應(yīng)用程序還接收一選項(xiàng)選擇,并且按照該選項(xiàng)選擇同步電子文檔的第一和第二版本。本發(fā)明還提供了第一軟件應(yīng)用程序和第二軟件應(yīng)用程序可以是相同的軟件應(yīng)用程序,因此所有的步驟可由單個(gè)應(yīng)用程序來(lái)執(zhí)行。
應(yīng)用程序可以向用戶提供與第一和第二版本有關(guān)的任何信息量,用戶可以輸入任何數(shù)量或類(lèi)型的同步選擇。一實(shí)施例中,用戶可以創(chuàng)建第三版本,第三版本包括第一或第二版本的任何一個(gè)、或兩者的任何部分或不包含其中的任何部分。應(yīng)用程序可以在任何時(shí)間啟動(dòng)同步,比如在用戶請(qǐng)求時(shí)。
示例性計(jì)算環(huán)境圖1說(shuō)明了可實(shí)現(xiàn)本發(fā)明的適當(dāng)?shù)挠?jì)算系統(tǒng)環(huán)境100的一示例。計(jì)算系統(tǒng)環(huán)境100僅是適當(dāng)?shù)挠?jì)算環(huán)境的一例并且并非意圖限制本發(fā)明的使用范圍或功能。計(jì)算環(huán)境100不應(yīng)被解釋為具有與示例性操作環(huán)境100中所述的組件的任一或組合有關(guān)的從屬性或要求。
本發(fā)明可與許多其他通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置一起操作。適用于本發(fā)明的公知計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括、但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手提或便攜式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程用戶電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任一上述系統(tǒng)的分布式計(jì)算環(huán)境、及其他。
本發(fā)明可以用計(jì)算機(jī)可執(zhí)行指令的一般內(nèi)容來(lái)描述,比如由計(jì)算機(jī)執(zhí)行的程序模塊。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類(lèi)型。本發(fā)明還可以實(shí)際用于分布式計(jì)算環(huán)境中,其中由通過(guò)通信網(wǎng)絡(luò)或其他數(shù)據(jù)傳輸媒介連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊及其他數(shù)據(jù)可能位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程存儲(chǔ)媒介中。
參照?qǐng)D1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括形式為計(jì)算機(jī)110的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可以包括、但不限于處理單元120、系統(tǒng)存儲(chǔ)器130、及把包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可能是多種類(lèi)型總線結(jié)構(gòu)的任一種,包括存儲(chǔ)器總線或存儲(chǔ)控制器、外圍設(shè)備總線、及使用任一多種總線結(jié)構(gòu)的本地總線。通過(guò)示例但非限制,這種結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)聯(lián)盟(VESA)本地總線、及外圍組件互連(PCI)總線(也稱為Mezzanine總線)。
計(jì)算機(jī)110一般包括多種計(jì)算機(jī)可讀媒介。計(jì)算機(jī)可讀媒介可以是能由計(jì)算機(jī)110訪問(wèn)的任何可用媒介并且包括易失性和非易失性的媒介、可移動(dòng)和不可移動(dòng)媒介。通過(guò)示例但非限制,計(jì)算機(jī)可讀媒介可能包括計(jì)算機(jī)存儲(chǔ)媒介和通信媒介。計(jì)算機(jī)存儲(chǔ)媒介包括易失性和非易失性的、可移動(dòng)和不可移動(dòng)的媒介,它們以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)這樣的信息的任意方法或技術(shù)來(lái)實(shí)現(xiàn)。計(jì)算機(jī)存儲(chǔ)媒介包括、但不限于RAM、ROM、EEPROM、閃存或其他存儲(chǔ)器技術(shù)、CDROM、數(shù)字化通用光盤(pán)(DVD)或其他光盤(pán)存儲(chǔ)器、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)器或其他磁性存儲(chǔ)設(shè)備、或用于存儲(chǔ)期望信息并能由計(jì)算機(jī)110訪問(wèn)的任何其他媒介。通信媒介一般在諸如載波或其他傳輸機(jī)制這樣的已調(diào)數(shù)據(jù)信號(hào)中包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并且包括任何信息傳遞媒介。術(shù)語(yǔ)“已調(diào)數(shù)據(jù)信號(hào)”意指其一個(gè)或多個(gè)特性以對(duì)信號(hào)內(nèi)信息進(jìn)行編碼的方式被設(shè)置或被改變的信號(hào)。通過(guò)示例但非限制,通信媒介包括諸如有線網(wǎng)絡(luò)或直接線連接這樣的有線媒介、以及諸如聲音、RF、紅外這樣的無(wú)線媒介及其他無(wú)線媒介。上述的任意組合應(yīng)該包含在計(jì)算機(jī)可讀媒介的范圍內(nèi)。
系統(tǒng)存儲(chǔ)器130包括計(jì)算機(jī)存儲(chǔ)媒介,其形式為易失性和/或非易失性的存儲(chǔ)器,比如ROM 131和RAM 132?;据斎?輸出系統(tǒng)133(BIOS)一般存儲(chǔ)在ROM 131內(nèi),它包含在例如啟動(dòng)期間幫助在計(jì)算機(jī)110內(nèi)的組件間傳輸信息的基本例程。RAM132一般包含數(shù)據(jù)和/或程序模塊,它們可以被立即訪問(wèn)并且/或者當(dāng)前由處理單元120在其上操作。通過(guò)示例但非限制,圖1說(shuō)明了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110還可以包括其他可移動(dòng)/不可移動(dòng)的、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)媒介。僅僅通過(guò)示例,圖1說(shuō)明了對(duì)不可移動(dòng)、非易失性磁性媒介進(jìn)行讀寫(xiě)的硬盤(pán)驅(qū)動(dòng)器140、對(duì)可移動(dòng)、非易失性磁盤(pán)152進(jìn)行讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器151、以及對(duì)可移動(dòng)、非易失性光盤(pán)156進(jìn)行讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器155,比如CD RAM或其他光學(xué)媒介。示例性操作環(huán)境中可用的其他可移動(dòng)/不可移動(dòng)、易失性/非易失性的計(jì)算存儲(chǔ)媒介包括、但不限于磁帶盒、閃存卡、數(shù)字化視頻光盤(pán)、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM、及其他。硬盤(pán)驅(qū)動(dòng)器141一般通過(guò)如接口140這樣的不可移動(dòng)的存儲(chǔ)器接口與系統(tǒng)總線121相連,而磁盤(pán)驅(qū)動(dòng)器151和光盤(pán)驅(qū)動(dòng)器155一般通過(guò)如接口150這樣的可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線121相連。
上面討論并在圖1中說(shuō)明的驅(qū)動(dòng)器和它們的相關(guān)計(jì)算機(jī)存儲(chǔ)媒介為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲(chǔ)。在圖1中,例如,說(shuō)明硬盤(pán)驅(qū)動(dòng)器141用于存儲(chǔ)操作系統(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給出不同數(shù)字以說(shuō)明它們至少是不同的拷貝。用戶可以通過(guò)諸如鍵盤(pán)162和指示設(shè)備161這樣的輸入設(shè)備把命令和信息輸入到計(jì)算機(jī)110中,指示設(shè)備161通常稱為鼠標(biāo)、軌跡球或觸板。其他輸入設(shè)備(未示出)可以包括麥克風(fēng)、游戲桿、游戲板、衛(wèi)星式轉(zhuǎn)盤(pán)、掃描儀及其他。這些和其他輸入設(shè)備通常通過(guò)與系統(tǒng)總線耦合的用戶輸入接口160而與處理單元120相連,但也可能用其他接口和總線結(jié)構(gòu)連接,比如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其他類(lèi)型的顯示設(shè)備也通過(guò)諸如視頻接口190這樣的接口與系統(tǒng)總線121相連。除了監(jiān)視器之外,計(jì)算機(jī)還可以包括其他外圍設(shè)備,比如揚(yáng)聲器197和打印機(jī)196,它們可以通過(guò)輸出外設(shè)接口190連接。
計(jì)算機(jī)110可以工作在網(wǎng)絡(luò)化環(huán)境中,該環(huán)境使用到諸如遠(yuǎn)程計(jì)算機(jī)180這樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括上述相關(guān)于計(jì)算機(jī)110描述的許多或全部元件,盡管圖1中僅說(shuō)明了存儲(chǔ)器存儲(chǔ)設(shè)備181。所述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但還可以包括其他網(wǎng)絡(luò)。這種網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部網(wǎng)和互聯(lián)網(wǎng)中是常見(jiàn)的。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170與LAN 171相連。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)110一般包括用于在諸如因特網(wǎng)這樣的WAN 173上建立通信的調(diào)制解調(diào)器172或其他裝置。調(diào)制解調(diào)器172可以是內(nèi)部或外部的,它可以通過(guò)用戶輸入接口160或其他適當(dāng)機(jī)制與系統(tǒng)總線121相連。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)計(jì)算機(jī)110所述的程序模塊或其部分可以被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。通過(guò)示例但非限制,圖1說(shuō)明了駐留在存儲(chǔ)器設(shè)備181上的遠(yuǎn)程應(yīng)用程序185。可以理解,所示網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)間建立通信連接的其他裝置。
示例性的分布式計(jì)算框架或結(jié)構(gòu)考慮到個(gè)人計(jì)算和因特網(wǎng)的趨同現(xiàn)象,已經(jīng)且正在研發(fā)各種分布式計(jì)算框架。個(gè)人和商業(yè)用戶同樣都有用于應(yīng)用程序和計(jì)算設(shè)備的無(wú)縫可共同操作的和web使能的接口,使計(jì)算活動(dòng)日益變?yōu)槊嫦騱eb瀏覽器或面向網(wǎng)絡(luò)。
例如,微軟公司的.NET平臺(tái)包括服務(wù)器、如基于web的數(shù)據(jù)存儲(chǔ)這樣的構(gòu)件塊(building-block)服務(wù)、以及可下載的設(shè)備軟件。一般而言,.NET平臺(tái)提供了(1)使計(jì)算設(shè)備的全部范圍一起工作并且自動(dòng)地更新并同步在它們之上的用戶信息,(2)通過(guò)廣泛使用XML而非HTML而允許web站點(diǎn)增加交互性能,(3)聯(lián)機(jī)服務(wù),特征是為了管理諸如電子郵件等各種應(yīng)用程序或者諸如Office.NET等軟件,從中心起始點(diǎn)向用戶提供產(chǎn)品和服務(wù)的用戶化訪問(wèn)和傳遞,(4)集中的數(shù)據(jù)存儲(chǔ),這會(huì)提高訪問(wèn)信息的效率和容易性,以及信息在用戶和設(shè)備間的同步,(5)集成諸如電子郵件、傳真和電話等各種通信媒介的能力,(6)對(duì)于開(kāi)發(fā)商而言,能夠創(chuàng)建可重復(fù)使用的模塊,從而提高了生產(chǎn)率并且降低了編程差錯(cuò)數(shù),以及(7)許多其他的跨平臺(tái)集成特性。
雖然這里的示例性實(shí)施例是結(jié)合駐留在計(jì)算設(shè)備上的軟件而描述的,然而本發(fā)明的一個(gè)或多個(gè)部分也可以通過(guò)以下來(lái)實(shí)現(xiàn)操作系統(tǒng)、API、或者協(xié)同處理器和請(qǐng)求對(duì)象間的“中間人”對(duì)象,以便這些服務(wù)通過(guò)所有.NET的語(yǔ)言和服務(wù)來(lái)執(zhí)行、被支持并且被訪問(wèn),并且也在其他分布式計(jì)算框架中得以執(zhí)行、支持和訪問(wèn)。
示例性實(shí)施例當(dāng)把一個(gè)電子文檔形成為不止一個(gè)版本時(shí),按照本發(fā)明,應(yīng)用程序接口可以被配置成允許與文件相關(guān)聯(lián)的軟件應(yīng)用程序來(lái)控制同步多個(gè)版本的進(jìn)程。在一個(gè)實(shí)施例中,應(yīng)用程序可以自動(dòng)地啟動(dòng)同步,而在另一個(gè)實(shí)施例中,應(yīng)用程序可以根據(jù)用戶輸入而啟動(dòng)同步。在另一實(shí)施例中,應(yīng)用程序向用戶給出由應(yīng)用程序功能所提供的同步選項(xiàng),并且允許用戶選擇選項(xiàng)并且用應(yīng)用程序功能來(lái)執(zhí)行任務(wù)。在還有一實(shí)施例中,第一應(yīng)用程序啟動(dòng)同步,而第二應(yīng)用程序向用戶給出同步選項(xiàng)。
現(xiàn)在參照?qǐng)D2,第一計(jì)算機(jī)210包括與存儲(chǔ)設(shè)備218進(jìn)行有效通信的第一處理器220。第一計(jì)算機(jī)210可以是通用臺(tái)式機(jī)或便攜式計(jì)算機(jī)、工作站、專(zhuān)用計(jì)算設(shè)備以及/或者其他。類(lèi)似地,第一處理器220可以是通用計(jì)算機(jī)處理器、專(zhuān)用處理器、處理器的網(wǎng)絡(luò)及其他。顯示設(shè)備230與第一計(jì)算機(jī)210操作上相關(guān)聯(lián)。顯示設(shè)備230可以是向用戶給出選項(xiàng)及其他的任何裝置,例如監(jiān)視器、揚(yáng)聲器等等。顯示設(shè)備230與第一計(jì)算機(jī)210的這種操作管理可以由有線或無(wú)線的連接裝置作出。雖然圖2中示出顯示設(shè)備230在第一計(jì)算機(jī)210內(nèi),然而顯示設(shè)備230可以位于與第一處理器220有效通信的任何地方,以包括遠(yuǎn)程位置或其他。
存儲(chǔ)設(shè)備218可以是硬盤(pán)驅(qū)動(dòng)器、CD-ROM、磁盤(pán)、DVD、RAM和/或其他。類(lèi)似于顯示設(shè)備230,存儲(chǔ)設(shè)備218可以位于與第一處理器220有效通信的任何地方。這種情況下的有效通信可以是有線的、無(wú)線的、或者兩者的組合。存儲(chǔ)設(shè)備218內(nèi)包含電子文檔的第一版本212。這個(gè)第一版本212可以是任何類(lèi)型的電子文檔,比如字處理文檔、電子表格、數(shù)據(jù)庫(kù)和/或其他。
第一應(yīng)用程序208和第二應(yīng)用程序214可以存儲(chǔ)在存儲(chǔ)設(shè)備218中。第一應(yīng)用程序208和第二應(yīng)用程序214可以是任何類(lèi)型的計(jì)算機(jī)可執(zhí)行指令,比如字處理器、電子表格、編程的腳本、專(zhuān)用軟件或其他。在第一應(yīng)用程序208和第二應(yīng)用程序214都存在的實(shí)施例中,如下所述,僅僅第二應(yīng)用程序214需要與電子文檔兼容?;蛘?,如下面將討論的,第一應(yīng)用程序208和第二應(yīng)用程序214可以是相同的應(yīng)用程序。第一應(yīng)用程序208和第二應(yīng)用程序214中的一個(gè)或兩個(gè)也可以位于存儲(chǔ)設(shè)備218以外,因?yàn)槿我粦?yīng)用程序只需與第一計(jì)算機(jī)210有效通信。
應(yīng)用程序接口216是任何類(lèi)型的計(jì)算機(jī)可執(zhí)行指令,適用于為了同步而檢驗(yàn)并比較電子文檔的兩個(gè)或多個(gè)拷貝,并且可以是為同步電子文檔的兩個(gè)或多個(gè)拷貝而特別設(shè)計(jì)的單獨(dú)軟件、作為另一應(yīng)用程序的組件而工作的軟件工具、第一或第二應(yīng)用程序208、214等等的集成組件。應(yīng)用程序接口216還可以執(zhí)行與同步有關(guān)或無(wú)關(guān)的附加任務(wù)。第一版本212、第一應(yīng)用程序208、第二應(yīng)用程序214以及應(yīng)用程序接口216可以駐留在相同的存儲(chǔ)設(shè)備218中,或者在任何數(shù)量的不同存儲(chǔ)設(shè)備218內(nèi)。
第二計(jì)算機(jī)222包括第二處理器224和存儲(chǔ)設(shè)備228,后者包括上述電子文檔的第二版本226以及第一版本212。如上所述,存儲(chǔ)設(shè)備228可以位于與第二計(jì)算機(jī)222有效通信的任何位置,包括遠(yuǎn)程位置等等。同樣,在一實(shí)施例中,存儲(chǔ)設(shè)備228和存儲(chǔ)設(shè)備218可以是相同的存儲(chǔ)設(shè)備。操作上連接第一和第二計(jì)算機(jī)210、222的是網(wǎng)絡(luò)218。網(wǎng)絡(luò)218可以是適用于這種有效通信的任何通信網(wǎng)絡(luò),比如LAN、WAN、無(wú)線網(wǎng)絡(luò)等等。可以理解,可以把任何數(shù)量的第一計(jì)算機(jī)210和第二計(jì)算機(jī)222連接到網(wǎng)絡(luò)218。
現(xiàn)在參照?qǐng)D3,在步驟311中,同步進(jìn)程開(kāi)始。在一個(gè)實(shí)施例中,第一應(yīng)用程序208啟動(dòng)同步進(jìn)程,第二應(yīng)用程序214實(shí)現(xiàn)同步進(jìn)程。在另一實(shí)施例中,第一應(yīng)用程序208和第二應(yīng)用程序214是單個(gè)應(yīng)用程序,其中單個(gè)應(yīng)用程序既啟動(dòng)又實(shí)現(xiàn)同步。雖然下面圖3的討論描述了涉及第一應(yīng)用程序208和第二應(yīng)用程序214兩者的進(jìn)程,然而可以理解,單個(gè)應(yīng)用程序可以單獨(dú)執(zhí)行由第一應(yīng)用程序208和第二應(yīng)用程序214所執(zhí)行的所有步驟。
會(huì)使第一應(yīng)用程序208啟動(dòng)同步進(jìn)程的任何數(shù)量的情況比如第一版本212的打開(kāi)、關(guān)閉、保存等等;在識(shí)別電子文檔的第一和第二版本時(shí);根據(jù)用戶請(qǐng)求手動(dòng)地啟動(dòng);以定時(shí)間隔啟動(dòng);在用戶登錄到系統(tǒng)等等之上后。此外,第一應(yīng)用程序208可以利用附加條件或者可以使用代替條件,比如僅僅在存在某些數(shù)量的版本時(shí)才啟動(dòng)同步。下面結(jié)合圖4更詳細(xì)地說(shuō)明一個(gè)實(shí)施例中同步事件的啟動(dòng)。為了啟動(dòng)該進(jìn)程,第一應(yīng)用程序208使應(yīng)用程序接口216訪問(wèn)第一版本212和第二版本226。訪問(wèn)第一版本212和第二版本216可以用任何計(jì)算裝置來(lái)執(zhí)行,比如通過(guò)瀏覽與每個(gè)版本相關(guān)的信息、通過(guò)使用搜索功能找到每個(gè)版本、通過(guò)使用由第一應(yīng)用程序208所提供的標(biāo)識(shí)信息來(lái)定位每個(gè)版本,等等。
第一應(yīng)用程序208可以為接口216提供與第二版本206有關(guān)的任何數(shù)量的標(biāo)識(shí)信息,比如文件名、位置、地址和/或其他。接口216適用于活動(dòng)地定位第二版本226,或者具有僅允許觀看第一應(yīng)用程序208、第一版本212等所指定的位置的有限功能。同樣,接口216可以用于執(zhí)行任何數(shù)量的附加任務(wù),這些附加任務(wù)甚至與同步進(jìn)程無(wú)關(guān)。步驟313中,應(yīng)用程序接口216定位第二版本226,并且檢驗(yàn)同步狀態(tài)。應(yīng)用程序接口216通過(guò)比較第一版本212與第二版本226的信息來(lái)確定狀態(tài),比如上一次更新的時(shí)間和/或日期等等。同步狀態(tài)還可以用除上述信息之外或代替上述信息的標(biāo)準(zhǔn)來(lái)確定。如果所述信息與第一應(yīng)用程序208所指定的信息和/或標(biāo)準(zhǔn)相匹配,第一和第二版本212、226就具有同步的狀態(tài)。如果信息不一致,則第一和第二版本212、226沒(méi)有同步的狀態(tài),這樣的不一致性就說(shuō)明可能對(duì)這些版本212、226之一作出改變?;蛘?,如果應(yīng)用程序接口216檢測(cè)到一個(gè)錯(cuò)誤、未提供的條件、第一應(yīng)用程序208已經(jīng)指定為終止同步的原因的條件,則接口216就繼續(xù)到步驟330。在步驟330中,接口216把條件通知第一應(yīng)用程序208,第一應(yīng)用程序208相應(yīng)地進(jìn)行,可以包括任何類(lèi)型的動(dòng)作或不動(dòng)作。
步驟315中,應(yīng)用程序接口216可以根據(jù)步驟313的同步判決的結(jié)果采用兩種動(dòng)作過(guò)程之一。如果應(yīng)用程序接口216已確定第一版本212和第二版本226是同步的,那么接口216就繼續(xù)到步驟325。步驟325中,應(yīng)用程序接口向第一應(yīng)用程序208報(bào)告第一版本212和第二版本226是同步的。這種報(bào)告向第一應(yīng)用程序208指明目前不必要有任何進(jìn)一步的同步活動(dòng),因?yàn)榈谝话姹?12包括電子文檔最近的版本。該報(bào)告還指出用戶可以使用第一應(yīng)用程序208或第二應(yīng)用程序214來(lái)改變第一版本212。
步驟323中,同步進(jìn)程結(jié)束。在該步驟中,第一應(yīng)用程序208可以停止作用,比如如果這種同步進(jìn)程在第一應(yīng)用程序208正在關(guān)閉電子文檔的第一版本212時(shí)發(fā)生。因此在這種情況下,一旦發(fā)生同步,第一應(yīng)用程序208就不再執(zhí)行任何功能,并且可以由用戶手動(dòng)地終止或自動(dòng)地終止。在另一實(shí)施例中,第一應(yīng)用程序208在打開(kāi)第一版本212時(shí)啟動(dòng)同步進(jìn)程。在這種情況下,應(yīng)用程序不會(huì)在這種同步事件完成時(shí)終止,而是會(huì)允許用戶使用第一應(yīng)用程序208的功能開(kāi)始改變第一版本212,如果該功能可用。
然而在步驟315中,應(yīng)用程序接口216已經(jīng)確定第一版本212和第二版本226不同步,接口216繼續(xù)到步驟317。步驟317中,應(yīng)用程序接口216向第一應(yīng)用程序208和/或第二應(yīng)用程序215報(bào)告第一版本212和第二版本226不同步。該報(bào)告使第二應(yīng)用程序215根據(jù)用戶輸入開(kāi)始同步第一版本212和第二版本226,如下面結(jié)合步驟319和321所討論的。
步驟319中,第二應(yīng)用程序214通過(guò)把用戶界面顯示在顯示設(shè)備230上而向用戶給出一用戶界面。這種用戶界面的形式可以是文本和/或圖形窗口、音頻提示等等,用戶界面的任何這種配置都與本發(fā)明的實(shí)施例相一致。在給出這種用戶界面時(shí),第二應(yīng)用程序214可以用第二應(yīng)用程序214的功能等向用戶給出一個(gè)或多個(gè)選項(xiàng)。例如,如果第二應(yīng)用程序214是一個(gè)字處理器,那么第二應(yīng)用程序214就可以在第二應(yīng)用程序214的字處理用戶環(huán)境中向用戶給出同步選項(xiàng),比如在有這種第一版本212的頁(yè)面視圖的編輯窗口內(nèi)等等。同樣,第二應(yīng)用程序214可以用顏色、聲音、圖形等高亮表示出第一版本212和第二版本226之間的差異,使用戶能更好地作出同步判決。第二應(yīng)用程序214還可以提供附加信息,比如改變了任一版本212、226的各用戶的標(biāo)識(shí),并且可以僅允許一個(gè)用戶來(lái)改變版本212、226,如果用戶具有這么做的許可,比如以安全性許可等形式。第二應(yīng)用程序214使用戶能把版本212、226合并到第三拷貝中,以便結(jié)合兩種版本212、226中的變化。附加選項(xiàng)的形式還可以是從第二應(yīng)用程序214的功能導(dǎo)出的引導(dǎo),比如推薦的動(dòng)作過(guò)程等??梢岳斫猓x項(xiàng)可以是由第二應(yīng)用程序214使用應(yīng)用程序214的功能參照第一版本212和第二版本226而產(chǎn)生的任何選項(xiàng)。
步驟321中,第二應(yīng)用程序214結(jié)束并處理用戶輸入。這種用戶輸入可以包括關(guān)于這種同步的任何信息量。例如,用戶輸入可以選擇用戶希望保留的電子文檔的第一版本212或第二版本226的任何一個(gè)的特定改變。在另一個(gè)實(shí)施例中,用戶輸入可以包括用戶希望完全保留的任一第一版本212或第二版本226的選擇。在還有一個(gè)實(shí)施例中,用戶輸入可以包括用第二應(yīng)用程序214的功能對(duì)第一和/或第二版本212、226作出的編輯,在完成時(shí)使第一版本212和第二版本226同步??梢岳斫?,用戶輸入包括可由第二應(yīng)用程序214作出的任何輸入,用于選擇或用戶的使用,并且包括與本發(fā)明實(shí)施例相一致的任何輸入。
還可以理解,步驟319和321可以重復(fù),因?yàn)檫@種用戶界面可以取決于用戶輸入而被重新顯示和/或刷新。例如,用戶界面可以由第二應(yīng)用程序214根據(jù)用戶輸入而被重新配置。例如,如果用戶選擇選擇第一版本212和第二版本226之間多個(gè)差異之一,且第二應(yīng)用程序214向用戶重新顯示用戶界面以反映這種選擇,那么會(huì)發(fā)生這種重新配置。步驟319和321可以重復(fù)任意次數(shù),或者根本不重復(fù),任一情況都與本發(fā)明的實(shí)施例相一致。同樣,第二應(yīng)用程序214可以向第一應(yīng)用程序208或向接口216報(bào)告同步的任何結(jié)果。由第二應(yīng)用程序214所報(bào)告的結(jié)果可以是與同步相關(guān)的任何信息,比如選項(xiàng)選擇、同步結(jié)果等等。
當(dāng)觸發(fā)事件發(fā)生時(shí),第二應(yīng)用程序214可以繼續(xù)到步驟323,同步結(jié)束處。這種觸發(fā)事件可以在任何時(shí)間發(fā)生,比如在用戶已完成協(xié)調(diào)第一版本212和第二版本226之間的所有差異時(shí)、在用戶指示第二應(yīng)用程序214在預(yù)定時(shí)間放棄或終止同步進(jìn)程而不完成同步時(shí)、等等。步驟323中,同步結(jié)束。然后,如上結(jié)合步驟325所述,第一應(yīng)用程序208或第二應(yīng)用程序214可以在步驟323采取與其中發(fā)生同步的環(huán)境相一致的任何動(dòng)作。
現(xiàn)在參照?qǐng)D4,按照本發(fā)明的一個(gè)實(shí)施例示出步驟311的詳細(xì)圖。如上結(jié)合圖3所述,在步驟311中,第一應(yīng)用程序208啟動(dòng)同步進(jìn)程。圖4說(shuō)明了這種啟動(dòng)步驟的更詳細(xì)的實(shí)施例,其中第一應(yīng)用程序208在打開(kāi)電子文檔的第一版本212后啟動(dòng)這種同步進(jìn)程。如上所述,第一應(yīng)用程序208可以在任何時(shí)間啟動(dòng)這種同步進(jìn)程,比如在打開(kāi)、保存或關(guān)閉第一版本212時(shí)、在設(shè)定的或可變的間隔處、在用戶輸入后、等等。
步驟411中,第一應(yīng)用程序208打開(kāi)電子文檔的第一版本212。這種打開(kāi)最常見(jiàn)地發(fā)生在用戶輸入以打開(kāi)該第一版本212之后,但是用于啟動(dòng)第一版本212的這種打開(kāi)的任何裝置都與本發(fā)明的實(shí)施例相一致。步驟413中,第一應(yīng)用程序208確定第一版本212是否有相關(guān)的第二版本226。第一應(yīng)用程序208在步驟411中完全打開(kāi)第一版本212后繼續(xù)到步驟413,或者可以在這種打開(kāi)進(jìn)程期間的任何點(diǎn)處繼續(xù)到步驟413,例如包括在步驟411中打開(kāi)第一版本212之前。同樣,可以采用任何方法來(lái)使第一應(yīng)用程序208作出這種判決。例如,諸如電子標(biāo)志(stamp)等信息可以與第一版本212相關(guān)聯(lián),從而使第一應(yīng)用程序208作出這種判決。相反,第一應(yīng)用程序208為了這種判決可以搜索操作上耦合到網(wǎng)絡(luò)218的任何或全部計(jì)算設(shè)備,比如第二計(jì)算機(jī)222。可以理解,第一應(yīng)用程序208可以使用任何確定第二版本226存在的方法,而同時(shí)保持與本發(fā)明的實(shí)施例相一致。
如果在步驟413中第一應(yīng)用程序208未找到第二版本226,第一應(yīng)用程序208就確定第一版本212是該電子文檔的僅有拷貝,并且繼續(xù)到步驟417。步驟417中,第一應(yīng)用程序208正常地處理第一版本212。這種正常處理可以是第一應(yīng)用程序208一般對(duì)與第一版本212相同格式的電子文檔所執(zhí)行的任何類(lèi)型的處理,可能按照任何用戶輸入來(lái)執(zhí)行。例如,在圖4中,當(dāng)?shù)谝粦?yīng)用程序208按照步驟311啟動(dòng)這種同步進(jìn)程時(shí),第一應(yīng)用程序208正在打開(kāi)第一版本212。在發(fā)現(xiàn)不需要同步后—由于不存在第二版本226—第一應(yīng)用程序208完成第一版本212的打開(kāi)并且相應(yīng)地繼續(xù)。
如果在步驟413中,第一應(yīng)用程序208發(fā)現(xiàn)第二版本226,第一應(yīng)用程序208就繼續(xù)到步驟415。步驟415中,第一應(yīng)用程序208聯(lián)系應(yīng)用程序接口216以開(kāi)始同步第一版本212和第二版本226。在聯(lián)系了應(yīng)用程序接口216以后,這種同步進(jìn)程繼續(xù)到步驟313,如上結(jié)合圖3所討論的。
這樣,給出了用于管理應(yīng)用程序中的文件復(fù)制的方法和裝置。雖然已經(jīng)結(jié)合各圖的優(yōu)選實(shí)施例描述了本發(fā)明,然而應(yīng)該理解,可以使用其他類(lèi)似的實(shí)施例,并且可以對(duì)所述實(shí)施例作出修改或添加以執(zhí)行與本發(fā)明相同的功能而不背離本發(fā)明。例如,本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,在本申請(qǐng)中描述的發(fā)明可以應(yīng)用于任何計(jì)算設(shè)備或環(huán)境,無(wú)論有線或無(wú)線,并且可以應(yīng)用于通過(guò)通信網(wǎng)絡(luò)連接的任何數(shù)量的這種計(jì)算設(shè)備,并且在網(wǎng)絡(luò)上交互作用。而且,應(yīng)該強(qiáng)調(diào),構(gòu)想了多種計(jì)算機(jī)平臺(tái),包括手提設(shè)備操作系統(tǒng)和其他特定的操作系統(tǒng),尤其是在無(wú)線網(wǎng)絡(luò)化設(shè)備的數(shù)目繼續(xù)增加的情況下。更進(jìn)一步的是,本發(fā)明可以在多個(gè)處理芯片或設(shè)備中實(shí)現(xiàn),存儲(chǔ)可能在多個(gè)設(shè)備上受到影響。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,而應(yīng)被理解為符合所附權(quán)利要求最寬泛的范圍。
權(quán)利要求
1.一種用于管理電子文檔的第一和第二版本的方法,所述方法包括用工作在第一計(jì)算機(jī)上的第一軟件應(yīng)用程序啟動(dòng)一同步事件,從而把第一計(jì)算機(jī)上的第一版本與第二版本同步;使應(yīng)用程序接口訪問(wèn)所述的第一和第二版本;把與所述第一和第二版本的每一個(gè)相關(guān)的信息相比較并產(chǎn)生結(jié)果;把比較結(jié)果報(bào)告給第一軟件應(yīng)用程序;使第二軟件應(yīng)用程序按照第二軟件應(yīng)用程序的特性產(chǎn)生一用戶界面,其中所述電子文檔與第二軟件應(yīng)用程序相關(guān)聯(lián);以及把用戶界面顯示在顯示設(shè)備上。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一和第二軟件應(yīng)用程序是相同的應(yīng)用程序。
3.如權(quán)利要求1所述的方法,其特征在于,所述比較步驟的結(jié)果是第一和第二版本的同步狀態(tài)。
4.如權(quán)利要求1所述的方法,其特征在于,所述第二版本被存儲(chǔ)在第二計(jì)算機(jī)上,所述第一和第二計(jì)算機(jī)由通信網(wǎng)絡(luò)操作地連接。
5.如權(quán)利要求1所述的方法,其特征在于還包括以下步驟當(dāng)比較結(jié)果指示電子文檔的第一和第二版本不同步時(shí),所述產(chǎn)生步驟還包括用第二軟件應(yīng)用程序給出同步選項(xiàng)。
6.如權(quán)利要求4所述的方法,其特征在于,所述給出同步選項(xiàng)的步驟還包括通過(guò)第二軟件應(yīng)用程序產(chǎn)生同步選項(xiàng);使同步選項(xiàng)由用戶界面給出并被顯示在顯示設(shè)備上;接收一選項(xiàng)選擇;以及按照所述選項(xiàng)選擇同步電子文檔的第一和第二版本。
7.如權(quán)利要求6所述的方法,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第二版本覆蓋電子文檔的第二版本。
8.如權(quán)利要求6所述的方法,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第三版本覆蓋第一和第二版本,所述第三版本包括電子文檔的第一版本的一部分。
9.如權(quán)利要求6所述的方法,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第三版本覆蓋第一和第二版本,所述第三版本包括電子文檔的第二版本的一部分。
10.如權(quán)利要求6所述的方法,其特征在于,所述同步第一和第二版本的步驟包括按照從用戶界面接收到的輸入把所述第一和第二版本合并到第二版本中,并且用所述第三版本覆蓋所述第一和第二版本。
11.如權(quán)利要求1所述的方法,還包括用第二軟件應(yīng)用程序打開(kāi)第一和第二版本;用用戶界面給出同步選項(xiàng),所述同步選項(xiàng)由第二軟件應(yīng)用程序所產(chǎn)生;從用戶界面接收用戶輸入;用第二軟件應(yīng)用程序處理用戶輸入;以及按照用戶輸入同步第一和第二版本。
12.如權(quán)利要求11所述的方法,其特征在于,所述給出同步選項(xiàng)的步驟還包括在用戶界面內(nèi)顯示第一和第二拷貝。
13.如權(quán)利要求11所述的方法,其特征在于,所述同步第一和第二版本的步驟包括按照用戶輸入覆蓋所述第一和第二版本。
14.如權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序檢測(cè)到與電子文檔的第一版本相關(guān)的信息時(shí)發(fā)生,所述信息表示電子文檔的第二版本。
15.如權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序打開(kāi)電子文檔的第一版本時(shí)發(fā)生。
16.如權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序把電子文檔的第一版本保存到第一計(jì)算機(jī)的存儲(chǔ)設(shè)備時(shí)發(fā)生。
17.如權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序識(shí)別出第一版本和第二版本時(shí)發(fā)生。
18.一種用于管理電子文檔的第一和第二版本的方法,所述方法包括從第一軟件應(yīng)用程序接收一請(qǐng)求,以訪問(wèn)并比較所述第一和第二版本;訪問(wèn)所述第一和第二版本;比較與所述第一和第二版本的每一個(gè)相關(guān)聯(lián)的信息;確定所述第一和第二版本是否同步并且產(chǎn)生結(jié)果;以及把比較結(jié)果報(bào)告給第一軟件應(yīng)用程序。
19.如權(quán)利要求18所述的方法,其特征在于,所述接收請(qǐng)求的步驟還包括比較與所述第一和第二版本相對(duì)應(yīng)的標(biāo)識(shí)信息。
20.如權(quán)利要求18所述的方法,其特征在于,所述第二版本被存儲(chǔ)在第二計(jì)算機(jī)上,且所述第一和第二計(jì)算機(jī)由通信網(wǎng)絡(luò)操作地連接。
21.如權(quán)利要求18所述的方法,還包括從第一軟件應(yīng)用程序接收第二請(qǐng)求,所述第二請(qǐng)求用于訪問(wèn)所述第一和第二版本并且用于執(zhí)行與所述第一和第二版本有關(guān)的任務(wù);以及訪問(wèn)所述第一和第二版本并執(zhí)行所述任務(wù)。
22.如權(quán)利要求18所述的方法,還包括從第二軟件應(yīng)用程序接收一請(qǐng)求,所述第二軟件應(yīng)用程序與電子文檔相關(guān)聯(lián),用按照由第二軟件應(yīng)用程序所接收的用戶輸入來(lái)覆蓋所述第一和第二版本;以及覆蓋所述第一和第二版本。
23.如權(quán)利要求18所述的方法,其特征在于,所述第一和第二軟件應(yīng)用程序是相同的應(yīng)用程序。
24.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒介,所述指令用于執(zhí)行一方法,所述方法用于管理電子文檔的第一和第二版本,所述方法包括用工作在第一計(jì)算機(jī)上的第一軟件應(yīng)用程序啟動(dòng)一同步事件,從而把第一計(jì)算機(jī)上的第一版本與第二版本同步;使應(yīng)用程序接口訪問(wèn)所述第一和第二版本;比較與所述第一和第二版本的每一個(gè)相關(guān)聯(lián)的信息并且產(chǎn)生結(jié)果;把比較結(jié)果報(bào)告給第一軟件應(yīng)用程序;使第二軟件應(yīng)用程序按照第二軟件應(yīng)用程序的特性產(chǎn)生用戶界面,其中所述電子文檔與第二軟件應(yīng)用程序相關(guān)聯(lián);以及把用戶界面顯示在顯示設(shè)備上。
25.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述第一和第二軟件應(yīng)用程序是相同的應(yīng)用程序。
26.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述比較步驟的結(jié)果是第一和第二版本的同步狀態(tài)。
27.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述第二版本被存儲(chǔ)在第二計(jì)算機(jī)上,所述第一和第二計(jì)算機(jī)由通信網(wǎng)絡(luò)操作地連接。
28.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述方法還包括以下步驟當(dāng)比較結(jié)果指明電子文檔的第一和第二版本不同步時(shí),所述產(chǎn)生步驟還包括用第二軟件應(yīng)用程序給出同步選項(xiàng)。
29.如權(quán)利要求27所述的計(jì)算機(jī)可讀媒介,其中所述給出同步選項(xiàng)的步驟還包括通過(guò)第二軟件應(yīng)用程序產(chǎn)生同步選項(xiàng);使同步選項(xiàng)由用戶界面給出并且被顯示在顯示設(shè)備上;接收選項(xiàng)選擇;以及按照所述選項(xiàng)選擇同步電子文檔的第一和第二版本。
30.如權(quán)利要求29所述的計(jì)算機(jī)可讀媒介,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第二版本覆蓋電子文檔的第二版本。
31.如權(quán)利要求29所述的計(jì)算機(jī)可讀媒介,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第三版本覆蓋電子文檔的第一和第二版本,所述第三版本包括電子文檔的第一版本的一部分。
32.如權(quán)利要求29所述的計(jì)算機(jī)可讀媒介,其特征在于,所述同步第一和第二版本的步驟包括用電子文檔的第三版本覆蓋電子文檔的第一和第二版本,所述第三版本包括電子文檔的第二版本的一部分。
33.如權(quán)利要求29所述的計(jì)算機(jī)可讀媒介,其特征在于,所述同步第一和第二版本的步驟包括按照從用戶界面接收的輸入把第一和第二版本合并到第三版本中,用第三版本覆蓋第一和第二版本。
34.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其中所述方法還包括用第二軟件應(yīng)用程序打開(kāi)第一和第二版本;用用戶界面給出同步選項(xiàng),所述同步選項(xiàng)由第二軟件應(yīng)用程序所產(chǎn)生;從用戶界面接收用戶輸入;用第二軟件應(yīng)用程序處理用戶輸入;以及按照用戶輸入同步第一和第二版本。
35.如權(quán)利要求34所述的計(jì)算機(jī)可讀媒介,其特征在于,所述給出同步選項(xiàng)的步驟還包括在用戶界面內(nèi)顯示第一和第二拷貝。
36.如權(quán)利要求34所述的計(jì)算機(jī)可讀媒介,其特征在于,所述同步第一和第二版本的步驟包括按照用戶輸入覆蓋第一和第二版本。
37.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序檢測(cè)到與電子文檔的第一版本相關(guān)的信息時(shí)發(fā)生,所述信息表示電子文檔的第二版本。
38.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序打開(kāi)電子文檔的第一版本時(shí)發(fā)生。
39.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序把電子文檔的第一版本保存到第一計(jì)算機(jī)的存儲(chǔ)設(shè)備時(shí)發(fā)生。
40.如權(quán)利要求24所述的計(jì)算機(jī)可讀媒介,其特征在于,所述啟動(dòng)同步事件的步驟在第一軟件應(yīng)用程序識(shí)別出第一版本和第二版本時(shí)發(fā)生。
41.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒介,所述指令用于管理電子文檔的第一和第二版本,所述方法包括從第一軟件應(yīng)用程序接收一請(qǐng)求,以訪問(wèn)并比較所述第一和第二版本;訪問(wèn)所述第一和第二版本;比較與所述第一和第二版本的每一個(gè)相關(guān)聯(lián)的信息;確定所述第一和第二版本是否同步并且產(chǎn)生結(jié)果;以及把比較結(jié)果報(bào)告給第一軟件應(yīng)用程序。
42.如權(quán)利要求41所述的計(jì)算機(jī)可讀媒介,其特征在于,所述接收請(qǐng)求的步驟還包括比較與所述第一和第二版本相對(duì)應(yīng)的標(biāo)識(shí)信息。
43.如權(quán)利要求41所述的計(jì)算機(jī)可讀媒介,其特征在于,所述第二版本被存儲(chǔ)在第二計(jì)算機(jī)上,且所述第一和第二計(jì)算機(jī)由通信網(wǎng)絡(luò)操作地連接。
44.如權(quán)利要求41所述的計(jì)算機(jī)可讀媒介,其中所述方法還包括從第一軟件應(yīng)用程序接收第二請(qǐng)求,所述第二請(qǐng)求用于訪問(wèn)所述第一和第二版本并且用于執(zhí)行與所述第一和第二版本有關(guān)的任務(wù);以及訪問(wèn)所述第一和第二版本并執(zhí)行所述任務(wù)。
45.如權(quán)利要求41所述的計(jì)算機(jī)可讀媒介,其中所述方法還包括從第二軟件應(yīng)用程序接收一請(qǐng)求,所述第二軟件應(yīng)用程序與電子文檔相關(guān)聯(lián),用于按照由第二軟件應(yīng)用程序所接收的用戶輸入來(lái)覆蓋所述第一和第二版本;以及覆蓋所述第一和第二版本。
46.如權(quán)利要求41所述的計(jì)算機(jī)可讀媒介,其特征在于,所述第一和第二軟件應(yīng)用程序是相同的應(yīng)用程序。
全文摘要
公開(kāi)了一種用于管理電子文檔的第一和第二版本的方法。該方法中,識(shí)別電子文檔的第一和第二版本,并且啟動(dòng)同步事件。應(yīng)用程序接口訪問(wèn)所述第一和第二版本,比較與各版本相關(guān)的信息,產(chǎn)生結(jié)果并把結(jié)果報(bào)告給第一軟件應(yīng)用程序。第二軟件應(yīng)用程序按照第二軟件應(yīng)用程序的特性而產(chǎn)生用戶界面,其中電子文檔與第二軟件應(yīng)用程序相關(guān)聯(lián),且用戶界面被顯示在顯示設(shè)備上。
文檔編號(hào)G06Q10/10GK1525315SQ200410008218
公開(kāi)日2004年9月1日 申請(qǐng)日期2004年2月27日 優(yōu)先權(quán)日2003年2月28日
發(fā)明者N·艾德?tīng)査固苟? N 艾德?tīng)査固苟? H·沙利巴, 雷森, H·劉, S·J·雷森 申請(qǐng)人:微軟公司