專(zhuān)利名稱(chēng):一種協(xié)作系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)之間和同一計(jì)算機(jī)上各個(gè)工具之間的信息交互,尤其涉及通過(guò)計(jì)算機(jī)進(jìn)行協(xié)作的系統(tǒng)和方法。
背景技術(shù):
在利用計(jì)算機(jī)進(jìn)行事務(wù)或文檔的處理時(shí),經(jīng)常涉及到在多臺(tái)計(jì)算機(jī)之間進(jìn)行協(xié)作,以便共同針對(duì)一個(gè)對(duì)象或文檔進(jìn)行處理。尤其經(jīng)常涉及到對(duì)遠(yuǎn)端服務(wù)的調(diào)用。已有技術(shù)在協(xié)作涉及對(duì)象時(shí),有時(shí)把對(duì)象作為普通文本來(lái)進(jìn)行處理,或者把對(duì)象及其內(nèi)容全部調(diào)用過(guò)來(lái)進(jìn)行處理。把對(duì)象作為普通文本來(lái)進(jìn)行處理,顯然會(huì)丟失對(duì)象的狀態(tài)和內(nèi)容等信息。此外,有時(shí)相應(yīng)的遠(yuǎn)端服務(wù)已經(jīng)被關(guān)閉或刪除,這使得處理工作變得毫無(wú)意義。而把對(duì)象及其內(nèi)容等信息全部調(diào)用過(guò)來(lái),在數(shù)據(jù)量大時(shí)系統(tǒng)變得很慢,而所需的內(nèi)容可能僅僅是對(duì)象的內(nèi)容等信息的一小部分。
例如,在協(xié)作涉及的許多文檔中含有人名。這些人名在已有的編輯工具中一般作為文本來(lái)進(jìn)行處理。在某些集成的環(huán)境中,有許多工具或應(yīng)用,如電子郵件(mail)、聊天(chat)或日歷工具(calendar),可以支持在線的協(xié)作。而有些工具或應(yīng)用并不支持在線協(xié)作,而且很多時(shí)候沒(méi)有必要要求用戶始終在線。因此,如果全部辦公軟件(工具或應(yīng)用)都可以直接調(diào)用文檔中的名字對(duì)象,將會(huì)提供協(xié)作的便利性。
與人名類(lèi)似,在已有的系統(tǒng)環(huán)境中還存在許多其它對(duì)象,如地址、日期、公司、事務(wù)等等。許多文檔或應(yīng)用都會(huì)引用這些對(duì)象。如果這些文檔或應(yīng)用能夠及時(shí)了解這些對(duì)象的狀態(tài)或內(nèi)容,將會(huì)為這些文檔或應(yīng)用之間的協(xié)作提供便利。
再者,已有技術(shù)中的許多應(yīng)用雖然能夠處理對(duì)象,但是一般局限于處理特定的一種(或幾種)對(duì)象。例如,即時(shí)消息(InstantMessaging,即IM)可以把人名作為對(duì)象來(lái)進(jìn)行處理,實(shí)時(shí)獲取每個(gè)人的狀態(tài),并提供多個(gè)人之間的交談。日歷(Calenda)工具可以調(diào)度關(guān)于一個(gè)人的信息并提供會(huì)議安排。
各種工具在提供協(xié)作功能時(shí),需要協(xié)作的對(duì)象的狀態(tài)。例如,電子郵件(Mail)工具在發(fā)送郵件時(shí),如果不考慮收件方郵箱的狀態(tài)。這可能會(huì)造成郵件投遞的失敗。此外,對(duì)于URL鏈接狀態(tài)的不了解,也可能造成與該URL有關(guān)的操作的失敗。
在已有技術(shù)中,如果某一應(yīng)用需要了解遠(yuǎn)端服務(wù)中對(duì)象的信息,一般需要進(jìn)行特別的編程來(lái)解決。例如,當(dāng)使用Instant Messaging工具進(jìn)行交談時(shí),需要與IM服務(wù)進(jìn)行通信以確定對(duì)方在線。
如果一個(gè)對(duì)象在一個(gè)工具中被引用,而該工具無(wú)法針對(duì)該對(duì)象與遠(yuǎn)端服務(wù)進(jìn)行通信,那么該工具只能把該對(duì)象作為文本串來(lái)對(duì)待。而其它工具如果需要針對(duì)該對(duì)象進(jìn)行協(xié)作,用戶只能重新輸入與該對(duì)象有關(guān)的信息。
為了解決不同工具利用相同的對(duì)象進(jìn)行協(xié)作的問(wèn)題,微軟公司提出了一種稱(chēng)為智能標(biāo)簽(Smart Tag)和智能文檔(Smart Document)的技術(shù)。其中使用詞匹配來(lái)確定(對(duì)象)鏈接。而該鏈接只能用于調(diào)用相應(yīng)編程指定的工具來(lái)進(jìn)行處理。然而,為了識(shí)別特定上下文中的鏈接,并調(diào)用其它工具來(lái)對(duì)該鏈接進(jìn)行相應(yīng)的處理,必須為每種工具進(jìn)行特定的編程。當(dāng)需要彼此協(xié)作的工具的數(shù)量增加時(shí),編程工作將會(huì)變得及其繁重,且造成效率低下。
美國(guó)專(zhuān)利申請(qǐng)US20030225789建議在應(yīng)用之間進(jìn)行對(duì)象轉(zhuǎn)換。這需要為轉(zhuǎn)換存儲(chǔ)元數(shù)據(jù),而且要求應(yīng)用之間必須彼此了解以便進(jìn)行對(duì)象的傳遞。如果對(duì)象是一個(gè)到遠(yuǎn)端服務(wù)中對(duì)象的鏈接,對(duì)象的元數(shù)據(jù)就必須從該遠(yuǎn)端服務(wù)獲取。如同上文提到的已有技術(shù)一樣,如果該應(yīng)用未被編程來(lái)進(jìn)行遠(yuǎn)端服務(wù)訪問(wèn),該對(duì)象或鏈接將被作為文本串來(lái)處理。
發(fā)明內(nèi)容
針對(duì)已有技術(shù)的不足,本發(fā)明的目的是提供一種在多個(gè)工具之間方便地進(jìn)行協(xié)作的系統(tǒng)和方法。
本發(fā)明的進(jìn)一步目的是提供一種在同一計(jì)算機(jī)的多個(gè)工具和不同計(jì)算機(jī)之間針對(duì)協(xié)作對(duì)象方便地進(jìn)行協(xié)作的系統(tǒng)和方法。
根據(jù)本發(fā)明的一方面,本發(fā)明提供了一種協(xié)作系統(tǒng),包括一計(jì)算平臺(tái),用于存儲(chǔ)至少一個(gè)對(duì)象的標(biāo)識(shí)、地址,以及與該對(duì)象相關(guān)的信息;至少一個(gè)服務(wù)連接器,用于利用所述至少一個(gè)對(duì)象的標(biāo)識(shí)和地址與服務(wù)相通信,以便與服務(wù)交互與所述對(duì)象相關(guān)的信息,并傳遞給所述計(jì)算平臺(tái);以及至少一個(gè)工具,用于與所述計(jì)算平臺(tái)相通信,以便交換與所述對(duì)象相關(guān)的信息。
根據(jù)本發(fā)明的另一方面,本發(fā)明還提供了一種協(xié)作方法,包括一工具識(shí)別至少一對(duì)象的標(biāo)識(shí)和地址,并傳送給一計(jì)算平臺(tái);所述計(jì)算平臺(tái)檢查該對(duì)象是否在其存儲(chǔ)器中,如果是,則從存儲(chǔ)器中取出與該對(duì)象相關(guān)的信息;如果該對(duì)象不在計(jì)算平臺(tái)的存儲(chǔ)器中,所述計(jì)算平臺(tái)通過(guò)一服務(wù)連接器,根據(jù)對(duì)象的標(biāo)識(shí)和地址,從相應(yīng)的服務(wù)獲取與該對(duì)象相關(guān)的信息;以及所述計(jì)算平臺(tái)將與所述對(duì)象相關(guān)的信息返回給所述工具。
根據(jù)本發(fā)明的一方面,與對(duì)象相關(guān)的信息包括對(duì)象的元數(shù)據(jù)、狀態(tài)和/或至少部分內(nèi)容。
通過(guò)本發(fā)明的協(xié)作系統(tǒng),多臺(tái)計(jì)算機(jī)上的相同或不同工具之間可以針對(duì)位于遠(yuǎn)端服務(wù)中的對(duì)象進(jìn)行方便地協(xié)作。該協(xié)作系統(tǒng)中包括計(jì)算平臺(tái)、服務(wù)連接器以及進(jìn)行協(xié)作的工具。其中的工具可以處理對(duì)象、顯示或處理對(duì)象的元數(shù)據(jù)、狀態(tài)內(nèi)容等。計(jì)算平臺(tái)從工具中接收對(duì)象的標(biāo)識(shí)和地址,服務(wù)連接器利用對(duì)象的標(biāo)識(shí)和地址與遠(yuǎn)端或本地服務(wù)進(jìn)行通信來(lái)獲取該對(duì)象的信息,并將這些信息返回給計(jì)算平臺(tái)。服務(wù)連接器還與遠(yuǎn)端服務(wù)進(jìn)行通信來(lái)及時(shí)更新該對(duì)象的信息。計(jì)算平臺(tái)將這些對(duì)象信息存儲(chǔ)起來(lái),以便提供給進(jìn)行協(xié)作的工具。這樣,對(duì)于工具可以專(zhuān)注于其本身的功能,其所需對(duì)象的信息由計(jì)算平臺(tái)和服務(wù)連接器來(lái)維護(hù)。每種工具還可以在計(jì)算平臺(tái)中注冊(cè)其所能處理的對(duì)象種類(lèi),而工具可以通過(guò)計(jì)算平臺(tái)來(lái)獲得這種信息。這樣一種工具就可以通過(guò)計(jì)算平臺(tái)來(lái)選擇調(diào)用或啟動(dòng)其它工具來(lái)處理某一對(duì)象。在此之前,用戶不必了解對(duì)于每種對(duì)象所能使用的工具,但仍然能根據(jù)所要處理對(duì)象的需要來(lái)靈活調(diào)用工具。
根據(jù)本發(fā)明,工具可以顯示遠(yuǎn)端對(duì)象的當(dāng)前信息,而不必具有與不同遠(yuǎn)端服務(wù)進(jìn)行通信的能力。例如,一文本編輯器根據(jù)其中的人名可以顯示一個(gè)人的在線/離線信息,而不必直接連接到MSN、ICQ、AOL等等遠(yuǎn)程服務(wù)。因此,工具的開(kāi)發(fā)者可以專(zhuān)注于對(duì)于特定對(duì)象的處理能力。而與各種遠(yuǎn)端服務(wù)中對(duì)象的通信由服務(wù)連接器來(lái)關(guān)注。
根據(jù)本發(fā)明,用戶可以專(zhuān)注于協(xié)作的對(duì)象(項(xiàng)目、人、文檔、事件等等)。對(duì)于某一特定的對(duì)象,系統(tǒng)可以列出可以選用的工具。用戶甚至不必了解其所在的計(jì)算機(jī)系統(tǒng)已經(jīng)安裝了哪些工具以及如何調(diào)用這些工具。這對(duì)于在公司內(nèi)進(jìn)行用戶的管理是非常有利的。
對(duì)于在本地計(jì)算機(jī)內(nèi)的對(duì)象和遠(yuǎn)端服務(wù)中的對(duì)象,本發(fā)明為需要協(xié)作的多個(gè)工具提供了統(tǒng)一的對(duì)象管理。當(dāng)需要加入一種新的對(duì)象時(shí),僅僅需要處理工具通過(guò)預(yù)先定義的標(biāo)準(zhǔn)接口在計(jì)算平臺(tái)中進(jìn)行注冊(cè)。然后,用戶就可以通過(guò)計(jì)算平臺(tái)調(diào)用適宜的工具來(lái)進(jìn)行處理,還可與其他人通過(guò)遠(yuǎn)端服務(wù)進(jìn)行協(xié)作。
圖1是根據(jù)本發(fā)明的協(xié)作系統(tǒng)的示意圖。
具體實(shí)施例方式
圖1是根據(jù)本發(fā)明的協(xié)作系統(tǒng)的示意圖。其中的協(xié)作系統(tǒng)包括計(jì)算平臺(tái)、多個(gè)工具和多個(gè)服務(wù)連接器。該協(xié)作系統(tǒng)可以(但不限于)在一臺(tái)個(gè)人計(jì)算機(jī)上實(shí)現(xiàn)。圖1中示出了兩個(gè)協(xié)作系統(tǒng),其中一個(gè)名字為Bull的人在協(xié)作系統(tǒng)10b上正在使用郵件工具300b,另一個(gè)名字為Hilton的人在協(xié)作系統(tǒng)10a上正在使用編輯器200a。
在Bull使用的協(xié)作系統(tǒng)10b包括計(jì)算平臺(tái)100b、編輯器200b、郵件工具300b、與個(gè)人服務(wù)相互通信的第二服務(wù)連接器425b和與郵件服務(wù)相互通信的第三服務(wù)連接器435b。計(jì)算平臺(tái)100b,用于存儲(chǔ)至少一個(gè)對(duì)象的標(biāo)識(shí)、地址,以及該對(duì)象的元數(shù)據(jù)、狀態(tài)、至少部分內(nèi)容或內(nèi)容等與對(duì)象相關(guān)的信息。服務(wù)連接器425b和435b,用于利用所述至少一個(gè)對(duì)象的標(biāo)識(shí)和地址與遠(yuǎn)端或本地服務(wù)相通信,以便從遠(yuǎn)端或本地對(duì)象服務(wù)獲取所述對(duì)象的狀態(tài)、元數(shù)據(jù)至少部分內(nèi)容或內(nèi)容等與對(duì)象相關(guān)的信息,并傳遞給所述計(jì)算平臺(tái)。服務(wù)連接器還可以將計(jì)算平臺(tái)中的與對(duì)象相關(guān)的上述信息傳遞給遠(yuǎn)端或本地服務(wù)。編輯器200b、郵件工具300b,可以與所述計(jì)算平臺(tái)相通信,以便交換所述對(duì)象的信息。
Hilton使用的協(xié)作系統(tǒng)10a與Bull使用的協(xié)作系統(tǒng)10b相似。協(xié)作系統(tǒng)10a包括計(jì)算平臺(tái)100a、多個(gè)工具以及與多種對(duì)象和服務(wù)相對(duì)應(yīng)的服務(wù)連接器415a、425a、435a和445a。工具包括編輯器200a、郵件工具300a和日歷工具500a。計(jì)算平臺(tái)100a,用于存儲(chǔ)至少一個(gè)對(duì)象(如圖中所示的對(duì)象房間A、人名對(duì)象Bull和文檔DocA中的標(biāo)題對(duì)象T-A1)的標(biāo)識(shí)、地址,以及該對(duì)象的元數(shù)據(jù)、狀態(tài)、至少部分內(nèi)容或內(nèi)容等與對(duì)象相關(guān)的信息。服務(wù)連接器415a、425a、435a和445a,用于利用所述至少一個(gè)對(duì)象的標(biāo)識(shí)和地址分別與遠(yuǎn)端或本地服務(wù)相通信,以便與遠(yuǎn)端或本地對(duì)象服務(wù)交互與所述對(duì)象元數(shù)據(jù)、狀態(tài)、至少部分內(nèi)容或內(nèi)容等與對(duì)象相關(guān)的信息,并傳遞給所述計(jì)算平臺(tái)。如第一服務(wù)連接器415a用于根據(jù)對(duì)象“房間A”的標(biāo)識(shí)和地址從遠(yuǎn)端的房間服務(wù)410獲取關(guān)于房間A的元數(shù)據(jù)、狀態(tài)或內(nèi)容。上述遠(yuǎn)端服務(wù)如圖中所示的房間服務(wù)410、個(gè)人服務(wù)420、郵件服務(wù)430和文檔服務(wù)440。這些服務(wù)的全部或部分也可以在本地。在協(xié)作系統(tǒng)10a中具有與這些遠(yuǎn)端服務(wù)相通信以交換信息的服務(wù)連接器415a、425a、435a和445a。編輯器200a、郵件工具300a,可以與所述計(jì)算平臺(tái)相通信,以便交換與所述對(duì)象相關(guān)的信息。Hilton可以根據(jù)對(duì)象的元數(shù)據(jù)等信息了解對(duì)象,確定進(jìn)一步的操作。
Hilton使用編輯器200a打開(kāi)一文檔Doc A,該文檔可以包含多個(gè)標(biāo)題及相應(yīng)的內(nèi)容。某些標(biāo)題所對(duì)應(yīng)的內(nèi)容可以存儲(chǔ)在文檔服務(wù)440中,這些標(biāo)題如T-A1在文檔Doc A中可以作為對(duì)象T-A1來(lái)存在。在文檔Doc A中,對(duì)象T-A1包括其所在文檔服務(wù)440的地址和對(duì)象標(biāo)識(shí)等。文檔Doc A中還包括人名對(duì)象Bull和對(duì)象房間A。文檔Doc A中的對(duì)象Bull包括其所在個(gè)人服務(wù)420的地址及其上的對(duì)象標(biāo)識(shí)及其電子郵件地址,對(duì)象房間A包括其所在房間服務(wù)410的地址及其上的對(duì)象標(biāo)識(shí)。
編輯器200a在文檔Doc A中利用預(yù)先定義的對(duì)象標(biāo)準(zhǔn),識(shí)別出文檔中的上述對(duì)象。并通過(guò)預(yù)先定義的接口或其它方式(如共享名字空間等技術(shù)),將這些對(duì)象注冊(cè)到計(jì)算平臺(tái)100a。然后,計(jì)算平臺(tái)100a將對(duì)象的標(biāo)識(shí)和地址傳給服務(wù)連接器。服務(wù)連接器與遠(yuǎn)端服務(wù)相通信來(lái)獲取對(duì)象的信息并返回給計(jì)算平臺(tái)。例如,編輯器200a將對(duì)象房間A、Bull和T-A1的標(biāo)識(shí)和地址注冊(cè)到計(jì)算平臺(tái)100a。然后,第一服務(wù)連接器415a根據(jù)對(duì)象房間A的標(biāo)識(shí)和地址與房間服務(wù)410相通信,以獲取房間A的元數(shù)據(jù)、狀態(tài)或內(nèi)容,并將這些信息返回給計(jì)算平臺(tái)100a。用戶也可以通過(guò)工具指定其所需的與對(duì)象相關(guān)的信息的部分或全部,這樣,服務(wù)連接器就可以僅僅與服務(wù)交互與對(duì)象相關(guān)的信息的部分或全部。計(jì)算平臺(tái)100a存儲(chǔ)這些信息,并根據(jù)編輯器200a等工具的需要提供給這些工具。
計(jì)算平臺(tái)100a可以將這些對(duì)象存儲(chǔ)在一用于存儲(chǔ)活動(dòng)對(duì)象的區(qū)域,并維護(hù)相應(yīng)的活動(dòng)對(duì)象列表,也可以同時(shí)維護(hù)一個(gè)不活動(dòng)對(duì)象的列表。當(dāng)接收到需要注冊(cè)的對(duì)象之后,計(jì)算平臺(tái)100a首先在其列表中檢索該對(duì)象是否已經(jīng)存在。如果在列表中未檢索到該對(duì)象,則將該對(duì)象添加到活動(dòng)對(duì)象列表中,并將該對(duì)象的標(biāo)識(shí)和地址發(fā)送給相應(yīng)的服務(wù)連接器。然后,由服務(wù)連接器與遠(yuǎn)端或本地的服務(wù)相通信以獲取該對(duì)象的元數(shù)據(jù)、狀態(tài)或內(nèi)容,并將對(duì)象的這些信息返回給計(jì)算平臺(tái),由計(jì)算平臺(tái)100a存儲(chǔ)以備編輯器200a等工具在需要時(shí)調(diào)用。
對(duì)于不活動(dòng)的對(duì)象,協(xié)調(diào)系統(tǒng)可以預(yù)先設(shè)定對(duì)其信息的存儲(chǔ)時(shí)間。對(duì)于超出預(yù)定存儲(chǔ)時(shí)間的不活動(dòng)對(duì)象,協(xié)作系統(tǒng)可以將其和/或其相關(guān)信息刪除。如果在不活動(dòng)對(duì)象列表中檢索到要注冊(cè)的對(duì)象,則系統(tǒng)將該對(duì)象設(shè)置為活動(dòng)對(duì)象,并添加到活動(dòng)對(duì)象列表。然后通過(guò)服務(wù)連接器更新該對(duì)象的相關(guān)信息,如該對(duì)象的元數(shù)據(jù)、狀態(tài)或內(nèi)容。如果服務(wù)連接器無(wú)法與遠(yuǎn)端服務(wù)相通信,例如網(wǎng)絡(luò)故障或遠(yuǎn)端服務(wù)暫時(shí)關(guān)閉,則將以前存儲(chǔ)的該對(duì)象的信息提供給上述編輯器200a等工具,并提示信息為已有的未更新信息。這種情況下,服務(wù)連接器可以間隔預(yù)定的時(shí)間后再與遠(yuǎn)端服務(wù)相通信來(lái)更新對(duì)象信息。在有些情況下,這些未更新的信息對(duì)用戶的幫助也是足夠的,如上文中房間對(duì)象A的信息中包括該房間所能容納的人數(shù)。對(duì)于遠(yuǎn)端服務(wù)中的信息,用戶可以選擇在其關(guān)機(jī)之前臨時(shí)存儲(chǔ)或者臨時(shí)存儲(chǔ)預(yù)定的時(shí)間。這種設(shè)置很多時(shí)候可以為用戶提供協(xié)作的便利。
在服務(wù)連接器與遠(yuǎn)端服務(wù)相通信來(lái)獲取對(duì)象的信息,尤其是更新對(duì)象的信息時(shí),可以預(yù)先設(shè)置為僅僅獲取對(duì)象的部分信息,如狀態(tài)。如在圖1實(shí)施例中的對(duì)象房間A,Hilton可能僅僅想了解房間A的狀態(tài),房間A是否可用或者房間服務(wù)是否可用等信息。而對(duì)于房間A的其它信息,如位置、大小、布局說(shuō)明等信息,可能已經(jīng)了解或者不感興趣。這時(shí)第一服務(wù)連接器415a在與房間服務(wù)410通信時(shí),僅僅需要傳遞需要的信息即可,如房間服務(wù)是否可用。
對(duì)于對(duì)象標(biāo)題T-A1,第四服務(wù)連接器445a在與文檔服務(wù)440通信時(shí),可以僅僅獲取文檔服務(wù)440是否可用,或者與對(duì)象標(biāo)題T-A1相關(guān)的文檔是否可用即可。而對(duì)于對(duì)象標(biāo)題T-A1相關(guān)的文檔,可以在編輯器200a需要調(diào)用時(shí),再由第四服務(wù)連接器445a去獲取。當(dāng)然,也可以由第四服務(wù)連接器445a在接到對(duì)象標(biāo)題T-A1的標(biāo)識(shí)和地址之后,直接將與其相關(guān)的全部信息從文件服務(wù)440獲取后,返回給計(jì)算平臺(tái)存儲(chǔ)。在編輯器200a需要時(shí),直接調(diào)用這些信息。
對(duì)于與對(duì)象Bull相關(guān)的信息,也可以采用與上述類(lèi)似的方式進(jìn)行處理。
Hilton在閱讀文檔Doc A之后,認(rèn)為需要與Bull在二月1日在房間A開(kāi)一次會(huì)議。Hilton可以直接利用協(xié)作系統(tǒng)了解與Bull、房間A有關(guān)的信息。例如,用戶用鼠標(biāo)選擇對(duì)象Bull之后,在編輯器200a的窗口之中顯示對(duì)象Bull的元數(shù)據(jù)、狀態(tài)或內(nèi)容,其中包括Bul1的有效的電子郵件地址。
在Hilton所在的計(jì)算機(jī)上安裝編輯器200a、郵件工具300a和日歷工具500a等工具時(shí),這些工具可以分別在計(jì)算平臺(tái)中注冊(cè)它們所能識(shí)別和處理的對(duì)象種類(lèi)。例如郵件工具300a和日歷工具500a在計(jì)算平臺(tái)100a中注冊(cè)了其可以識(shí)別并處理人名對(duì)象。則在編輯器200a中選中人名對(duì)象時(shí),編輯器200a的窗口中可以顯示通過(guò)計(jì)算平臺(tái)可以調(diào)用或啟動(dòng)的工具包括郵件工具。這樣,Hilton可以在閱讀文檔Doc A的編輯器中調(diào)用郵件工具300a或日歷工具500a與Bull約定開(kāi)會(huì)的具體事宜。由于計(jì)算平臺(tái)100a中存儲(chǔ)了Bull、房間A的最新信息,使得這種溝通可以實(shí)時(shí)和高效率地進(jìn)行。不會(huì)出現(xiàn)發(fā)給Bul1的郵件被退回或者房間A不可用的狀況。
根據(jù)本發(fā)明的協(xié)作系統(tǒng)10還可以進(jìn)一步包括對(duì)象信息指定裝置(圖中未示出),用于指定協(xié)作系統(tǒng)所需的與所述對(duì)象相關(guān)的信息;并且所述服務(wù)連接器與服務(wù)交互所指定的信息。該指定裝置可以在協(xié)作系統(tǒng)中單獨(dú)實(shí)現(xiàn),也可以在工具中實(shí)現(xiàn)。用戶可以在工具中選定一對(duì)象,然后確定其所需的對(duì)象的信息。
本發(fā)明中,服務(wù)連接器與服務(wù)交互對(duì)象的信息是指服務(wù)連接器可以從服務(wù)獲取對(duì)象信息,也可以(但非必須)將本地對(duì)象的信息傳給服務(wù)。
本發(fā)明中所說(shuō)的服務(wù)包括但不限于在各種計(jì)算裝置、服務(wù)器中實(shí)現(xiàn)的各種對(duì)象服務(wù)、服務(wù)系統(tǒng)或服務(wù)裝置等。
根據(jù)本發(fā)明的另一方面,可以為計(jì)算平臺(tái)、工具和服務(wù)連接器之間預(yù)先設(shè)置一種標(biāo)準(zhǔn)應(yīng)用編程接口(Application ProgrammingInterface,API)來(lái)完成協(xié)作。以下舉例說(shuō)明一種標(biāo)準(zhǔn)API。本領(lǐng)域的普通技術(shù)人員可以理解,這種方式僅僅是一種優(yōu)選方案,本領(lǐng)域技術(shù)人員根據(jù)已有接口技術(shù)還可以定義其它類(lèi)型的接口或者其它方式(如共享名字空間等技術(shù)),以在計(jì)算平臺(tái)、工具和服務(wù)連接器之間交互信息。
在標(biāo)準(zhǔn)API中,可以定義標(biāo)準(zhǔn)的函數(shù)調(diào)用、在部件之間傳遞或交換的接口數(shù)據(jù)。計(jì)算平臺(tái)與工具可以使用以下API進(jìn)行有關(guān)對(duì)象的操作。
RegisterObject(Object)返回對(duì)象的標(biāo)識(shí)(ID),由工具用于將一對(duì)象注冊(cè)到計(jì)算平臺(tái),返回的對(duì)象標(biāo)識(shí)由工具用于后續(xù)處理。
GetAvailableActions()返回針對(duì)某類(lèi)對(duì)象所能進(jìn)行的操作的列表。由工具用于獲取針對(duì)某種類(lèi)型對(duì)象的可用操作。如用鼠標(biāo)的輔助按鈕(一般為鼠標(biāo)的右鍵)點(diǎn)擊一對(duì)象,則顯示一下拉菜單,其中列出針對(duì)該對(duì)象所能進(jìn)行的操作。
InvokeAction(Action Id,Object Id)用于一個(gè)工具通過(guò)計(jì)算平臺(tái)調(diào)用或啟動(dòng)另一工具來(lái)對(duì)一特定對(duì)象進(jìn)行操作。
GetMetaData(ObjectId)用于一個(gè)工具獲取某一對(duì)象的元數(shù)據(jù)。
在計(jì)算平臺(tái)、工具和服務(wù)連接器之間還可以定義對(duì)象標(biāo)準(zhǔn)來(lái)進(jìn)行協(xié)作。以下是一個(gè)對(duì)象的定義舉例。
Class ActiveObject{String ObjectId;String serviceaddress;String Name;String Type;Integer Size;Object MetaData;Object Content;}當(dāng)一個(gè)工具第一次在計(jì)算平臺(tái)上運(yùn)行時(shí),該工具在計(jì)算平臺(tái)上注冊(cè)并使用RegisterObject()將其所能處理的對(duì)象種類(lèi)在計(jì)算平臺(tái)上注冊(cè)。
根據(jù)本發(fā)明的一方面,允許多個(gè)或多種工具/應(yīng)用動(dòng)態(tài)識(shí)別對(duì)象并進(jìn)行協(xié)作。本發(fā)明的計(jì)算平臺(tái)可用于管理活動(dòng)對(duì)象;多個(gè)工具對(duì)一些特定種類(lèi)的對(duì)象進(jìn)行操作,并處理其中包括的對(duì)象的內(nèi)容;而服務(wù)連接器用于針對(duì)特定對(duì)象獲取其元數(shù)據(jù)和內(nèi)容。在此之后,這些對(duì)象可以在其它工具中的處理環(huán)境中(例如編輯器中的文檔中)被引用。這些工具可以將其所需要處理的對(duì)象通知計(jì)算平臺(tái),并從計(jì)算平臺(tái)動(dòng)態(tài)獲取對(duì)象的元數(shù)據(jù)和內(nèi)容,或?qū)⑻幚砗蟮膶?duì)象的元數(shù)據(jù)和內(nèi)容返回給計(jì)算平臺(tái)。一種工具可以在其處理內(nèi)容中選定某一對(duì)象,然后通過(guò)計(jì)算平臺(tái)調(diào)用另一工具來(lái)對(duì)該對(duì)象進(jìn)行處理。
根據(jù)本發(fā)明的另一方面,對(duì)于本地工具之間針對(duì)對(duì)象的協(xié)作,可以通過(guò)工具與計(jì)算平臺(tái)之間的交互來(lái)實(shí)現(xiàn),也可以利用服務(wù)連接器在多個(gè)工具與計(jì)算平臺(tái)之間交互對(duì)象的信息。
根據(jù)本發(fā)明的另一方面,對(duì)于需要從遠(yuǎn)端服務(wù)獲取或更新特定對(duì)象的元數(shù)據(jù)和內(nèi)容并在不同計(jì)算機(jī)之間進(jìn)行協(xié)作的情況,服務(wù)連接器根據(jù)對(duì)象的標(biāo)識(shí)和地址與遠(yuǎn)端服務(wù)相通信,以便獲取活動(dòng)對(duì)象的元數(shù)據(jù)和內(nèi)容。具有對(duì)象識(shí)別和/或處理能力的工具可以在安裝時(shí)或提供處理服務(wù)(provision)時(shí),在計(jì)算平臺(tái)中注冊(cè)其識(shí)別和處理對(duì)象的能力。工具與計(jì)算平臺(tái)通信,通知計(jì)算平臺(tái)該工具正在處理的對(duì)象或正在處理的內(nèi)容中的對(duì)象。計(jì)算平臺(tái)將這些對(duì)象設(shè)為活動(dòng)對(duì)象,并從對(duì)象服務(wù)獲取對(duì)象的信息,然后將對(duì)象的信息返回給上述工具。工具可以用適當(dāng)?shù)姆绞斤@示這些對(duì)象的信息(包括狀態(tài))。例如用一種顏色顯示第一次獲取的對(duì)象的標(biāo)識(shí)、狀態(tài)或信息,而用另一種顏色表示對(duì)象的狀態(tài)或信息已被更新。
在活動(dòng)對(duì)象中,一個(gè)對(duì)象可以與其它對(duì)象相聯(lián)系,或者進(jìn)一步包括其它對(duì)象。當(dāng)工具打開(kāi)一個(gè)對(duì)象時(shí),可以識(shí)別出嵌入在該對(duì)象中的其它對(duì)象,在計(jì)算平臺(tái)中注冊(cè)嵌入的對(duì)象并從計(jì)算平臺(tái)獲取其狀態(tài)和信息。例如,編輯器打開(kāi)一個(gè)其中嵌有人名的文檔。編輯器可以基于嵌入對(duì)象的標(biāo)準(zhǔn)識(shí)別出這些人名對(duì)象。然后,編輯器將對(duì)象/鏈接的信息發(fā)送給計(jì)算平臺(tái),在計(jì)算平臺(tái)中建立一活動(dòng)對(duì)象。然后服務(wù)連接器從相應(yīng)的對(duì)象服務(wù)獲取該對(duì)象的元數(shù)據(jù)等信息。如果計(jì)算平臺(tái)中已經(jīng)存在該對(duì)象,則編輯器可以直接從計(jì)算平臺(tái)獲取該對(duì)象的元數(shù)據(jù)等信息。
計(jì)算平臺(tái)可以將對(duì)象的狀態(tài)/元數(shù)據(jù)以及針對(duì)該對(duì)象可以調(diào)用的工具(電子郵件、聊天工具或日歷工具等)等信息傳給工具。這樣,用戶就可以在工具中獲得其中對(duì)象的狀態(tài)并得知可以進(jìn)行的操作。例如,用戶可以發(fā)送一封電子郵件、開(kāi)始一個(gè)聊天對(duì)話或設(shè)定一個(gè)會(huì)議約定等等。
當(dāng)文本關(guān)閉時(shí),工具可以通知計(jì)算平臺(tái)從活動(dòng)對(duì)象的存儲(chǔ)中刪除僅由該文本使用的對(duì)象。也可以將活動(dòng)對(duì)象設(shè)為不活動(dòng)的對(duì)象,并將其信息保持預(yù)定的一段時(shí)間,以供該工具再次調(diào)用或其它工具調(diào)用。
以上結(jié)合優(yōu)選法方案對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但是可以理解,以上實(shí)施例僅用于說(shuō)明而非限定本發(fā)明。本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明的所示方案進(jìn)行修改而不脫離本發(fā)明精神。
權(quán)利要求
1.一種協(xié)作系統(tǒng),包括一計(jì)算平臺(tái),用于存儲(chǔ)至少一個(gè)對(duì)象的標(biāo)識(shí)、地址,以及與該對(duì)象相關(guān)的信息;至少一個(gè)服務(wù)連接器,用于利用所述至少一個(gè)對(duì)象的標(biāo)識(shí)和地址與服務(wù)相通信,以便與服務(wù)交互與所述對(duì)象相關(guān)的信息,并傳遞給所述計(jì)算平臺(tái);以及至少一個(gè)工具,用于與所述計(jì)算平臺(tái)相通信,以便交換與所述對(duì)象相關(guān)的信息。
2.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述協(xié)作系統(tǒng)在個(gè)人計(jì)算機(jī)上實(shí)現(xiàn),所述服務(wù)包括遠(yuǎn)端和/或本地服務(wù)。
3.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述工具在所述計(jì)算平臺(tái)中注冊(cè)其所能識(shí)別或處理的對(duì)象種類(lèi),并且一工具通過(guò)計(jì)算平臺(tái)啟動(dòng)其它工具來(lái)處理一對(duì)象。
4.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中進(jìn)一步包括與多種對(duì)象相對(duì)應(yīng)的多個(gè)服務(wù)連接器,與對(duì)象相關(guān)的信息包括對(duì)象的元數(shù)據(jù)、狀態(tài)和/或至少部分內(nèi)容。
5.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述服務(wù)連接器根據(jù)預(yù)先的設(shè)定與服務(wù)相通信,以便更新所述對(duì)象的信息;并且當(dāng)對(duì)象的信息被更新時(shí),以特定的顯示方式在所述工具內(nèi)顯示更新的信息。
6.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述多個(gè)工具包括文本編輯工具、電子郵件工具、日歷工具,所述計(jì)算平臺(tái)、服務(wù)連接器和工具之間通過(guò)預(yù)先定義的標(biāo)準(zhǔn)接口進(jìn)行通信。
7.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中進(jìn)一步包括對(duì)象信息指定裝置,用于指定協(xié)作系統(tǒng)所需的與所述對(duì)象相關(guān)的信息;并且所述服務(wù)連接器僅與服務(wù)交互所指定的信息。
8.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述工具從其處理的文本或事務(wù)中識(shí)別并提取對(duì)象,將對(duì)象的標(biāo)識(shí)和地址注冊(cè)到所述計(jì)算平臺(tái)。
9.根據(jù)權(quán)利要求1所述的協(xié)作系統(tǒng),其中,所述工具通過(guò)預(yù)先定義的標(biāo)準(zhǔn)接口在計(jì)算平臺(tái)中增加新型對(duì)象。
10.根據(jù)權(quán)利要求8所述的協(xié)作系統(tǒng),其中,所述計(jì)算平臺(tái)將所述注冊(cè)的對(duì)象設(shè)置為活動(dòng)對(duì)象,所述服務(wù)連接器定時(shí)更新該活動(dòng)對(duì)象的元數(shù)據(jù)、狀態(tài)和/或內(nèi)容。
11.一種協(xié)作方法,包括a)一工具識(shí)別至少一對(duì)象的標(biāo)識(shí)和地址,并傳送給一計(jì)算平臺(tái);b)所述計(jì)算平臺(tái)檢查該對(duì)象是否在其存儲(chǔ)器中,如果是,則從存儲(chǔ)器中取出與該對(duì)象相關(guān)的信息;c)如果該對(duì)象不在計(jì)算平臺(tái)的存儲(chǔ)器中,所述計(jì)算平臺(tái)通過(guò)一服務(wù)連接器,根據(jù)對(duì)象的標(biāo)識(shí)和地址,從相應(yīng)的服務(wù)獲取與該對(duì)象相關(guān)的信息;以及d)所述計(jì)算平臺(tái)將與所述對(duì)象相關(guān)的信息返回給所述工具。
12.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述協(xié)作方法在個(gè)人計(jì)算機(jī)上實(shí)現(xiàn),所述服務(wù)包括遠(yuǎn)端和/或本地服務(wù)。
13.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述工具在所述計(jì)算平臺(tái)中注冊(cè)其所能識(shí)別或處理的對(duì)象種類(lèi);并且一工具通過(guò)計(jì)算平臺(tái)啟動(dòng)其它工具來(lái)處理一對(duì)象。
14.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述計(jì)算平臺(tái)通過(guò)與多種對(duì)象相對(duì)應(yīng)的多個(gè)服務(wù)連接器從服務(wù)獲取與多個(gè)對(duì)象相關(guān)的信息,與對(duì)象相關(guān)的信息包括該對(duì)象的元數(shù)據(jù)、狀態(tài)和/或至少部分內(nèi)容。
15.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述服務(wù)連接器定時(shí)與服務(wù)相通信,以便更新所述對(duì)象的信息;并且當(dāng)對(duì)象的信息被更新時(shí),在所述工具內(nèi)以特定的顯示方式顯示更新的信息。
16.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述多個(gè)工具包括文本編輯工具、電子郵件工具、日歷工具,所述計(jì)算平臺(tái)、服務(wù)連接器和工具之間通過(guò)預(yù)先定義的標(biāo)準(zhǔn)接口進(jìn)行通信。
17.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中進(jìn)一步包括步驟指定進(jìn)行協(xié)作所需的與所述對(duì)象相關(guān)的信息;并且所述服務(wù)連接器僅與從服務(wù)交互所指定的信息。
18.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述工具從其處理的文本或事務(wù)中識(shí)別并提取對(duì)象,將對(duì)象的標(biāo)識(shí)和地址注冊(cè)到所述計(jì)算平臺(tái)。
19.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中,所述工具通過(guò)預(yù)先定義的標(biāo)準(zhǔn)接口在計(jì)算平臺(tái)中增加新型對(duì)象。
20.根據(jù)權(quán)利要求18所述的協(xié)作方法,其中,所述計(jì)算平臺(tái)將所述注冊(cè)的對(duì)象設(shè)置為活動(dòng)對(duì)象,所述服務(wù)連接器定時(shí)更新該活動(dòng)對(duì)象的元數(shù)據(jù)、狀態(tài)和/或內(nèi)容。
21.根據(jù)權(quán)利要求11所述的協(xié)作方法,其中進(jìn)一步包括步驟通過(guò)服務(wù)連接器將計(jì)算平臺(tái)中的與對(duì)象相關(guān)的信息傳遞給服務(wù)。
全文摘要
本發(fā)明提供了一種通過(guò)計(jì)算機(jī)進(jìn)行協(xié)作的系統(tǒng)和方法。根據(jù)本發(fā)明的協(xié)作系統(tǒng),包括一計(jì)算平臺(tái),用于存儲(chǔ)至少一個(gè)對(duì)象的標(biāo)識(shí)、地址,以及與該對(duì)象相關(guān)的信息;至少一個(gè)服務(wù)連接器,用于利用所述至少一個(gè)對(duì)象的標(biāo)識(shí)和地址與服務(wù)相通信,以便與服務(wù)交互與所述對(duì)象相關(guān)的信息,并傳遞給所述計(jì)算平臺(tái);以及至少一個(gè)工具,用于與所述計(jì)算平臺(tái)相通信,以便交換與所述對(duì)象相關(guān)的信息。根據(jù)本發(fā)明,工具可以顯示遠(yuǎn)端對(duì)象的當(dāng)前信息,而不必具有與不同遠(yuǎn)端服務(wù)進(jìn)行通信的能力。因此,用戶可以專(zhuān)注于協(xié)作的對(duì)象和工具。
文檔編號(hào)G06Q10/00GK1783117SQ20041009553
公開(kāi)日2006年6月7日 申請(qǐng)日期2004年11月29日 優(yōu)先權(quán)日2004年11月29日
發(fā)明者扈曉煒, 寇育新, 馬嶽 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司