專利名稱:用于進(jìn)行項(xiàng)目共享的即時(shí)通信客戶機(jī)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及網(wǎng)絡(luò)通信技術(shù),更具體地說,本發(fā)明涉及在使用即時(shí)通信(Instant MessagingIM)軟件的客戶機(jī)之間進(jìn)行文件/文件夾共享的解決方案。
背景技術(shù):
眾所周知,在20世紀(jì)50、60年代網(wǎng)絡(luò)的發(fā)展初期,其只為某些專業(yè)技術(shù)人士所掌握,并主要服務(wù)于政治、軍事等目的。但是僅經(jīng)過短短半個(gè)世紀(jì),伴隨著計(jì)算機(jī)技術(shù)的快速發(fā)展、個(gè)人計(jì)算機(jī)的出現(xiàn)、TCP/IP協(xié)議的提出和流行以及Internet的誕生,網(wǎng)絡(luò)技術(shù)飛速演進(jìn),并且在20世紀(jì)90年代開始用于商業(yè)用途。Internet的商業(yè)化成為其發(fā)展的一劑催化劑,使得它以空前的速度迅速發(fā)展,并滲入到了政府、醫(yī)療、教育等各個(gè)社會部門,成為人們?nèi)粘I钪胁豢苫蛉钡囊粋€(gè)重要組成部分。
與網(wǎng)絡(luò)的日新月異的發(fā)展趨勢相適應(yīng)的是,網(wǎng)絡(luò)的功能也隨著消費(fèi)需求的提高而逐漸擴(kuò)展,網(wǎng)絡(luò)功能呈現(xiàn)多元化特點(diǎn)。在紛繁復(fù)雜的多種功能之中,即時(shí)通信是其中十分重要的一個(gè)方面。
即時(shí)通信自1996年面世以來,只經(jīng)歷短暫的市場認(rèn)知周期便被廣大使用者所青睞。即時(shí)通信開始于ICQ軟件,其最大的特點(diǎn)就是能夠通過網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)通信。即時(shí)通信作為使用頻率最高的網(wǎng)絡(luò)軟件,已經(jīng)突破了作為技術(shù)工具的極限,被認(rèn)為是現(xiàn)代交流方式的象征,并構(gòu)建起一種新的社會關(guān)系。它是迄今為止對人類社會生活改變最為深刻的一種網(wǎng)絡(luò)新形態(tài)。各種即時(shí)通信軟件也層出不窮,例如QQ、MSN、Yahoo Messenger、AOL Instant Messenger等。隨著應(yīng)用的發(fā)展,今天的即時(shí)通信產(chǎn)品已經(jīng)形成一種綜合的網(wǎng)絡(luò)通信工具。
即時(shí)通信很類似于電話服務(wù),只不過電話是以人的聲音來溝通,而即時(shí)通信則主要是透過文字來溝通。但是,隨著用戶使用需求的不斷變化,即時(shí)通信提供的服務(wù)越來越周全,應(yīng)用的范圍越來越廣闊,用戶已經(jīng)不能滿足只通過即時(shí)通信軟件來進(jìn)行文字溝通,還希望通過它來進(jìn)行文件共享。
然而,對于目前的即時(shí)通信軟件而言,進(jìn)行文件共享不是件容易的事。以下通過兩個(gè)例子來進(jìn)行說明。
例一假定用戶A擁有大量的音樂文件,并且希望和用戶B共享,但是用戶B只需要用戶A的一部分音樂,而不是所有音樂。
在這種情況下,目前即時(shí)通信軟件的一般做法是,用戶A和用戶B聊天,并將自己擁有的音樂文件告知用戶B。用戶B查看這些文件并告訴用戶A哪些是自己需要的。然后用戶A將用戶B需要的音樂文件發(fā)送給用戶B,來達(dá)到“共享”目的。
這種共享可以通過如下幾種方式實(shí)現(xiàn)1)“發(fā)送文件”功能大多數(shù)的即時(shí)通信軟件都支持這一功能;2)“共享文件”功能少數(shù)即時(shí)通信軟件(例如,AIM)支持這一功能,但只能共享指定的文件夾;3)通過電子郵件附件的形式;以及4)如果是在LAN中,還可以使用Windows的文件共享功能。
例二假定用戶A擁有大量的音樂文件,并且希望將其中的一些與用戶B共享,而將另外一些與用戶C共享,但是用戶B和C處于用戶A的聯(lián)系人列表(或伙伴列表)的不同組中。
如果使用支持“共享文件”功能的即時(shí)通信軟件(例如,AIM),用戶需要首先指定一個(gè)文件夾來與其他用戶進(jìn)行共享,并將其希望與用戶B共享的文件復(fù)制到該文件夾中。之后,用戶A將用戶B所在的組的權(quán)限設(shè)定為可以訪問該共享的文件夾,以便用戶B能夠訪問該共享的文件夾并獲得文件。在用戶B獲得了需要的文件后,用戶A從該共享的文件夾刪除所有文件,再將其希望與用戶C共享的文件復(fù)制到該文件夾中,并將用戶C所在的組的權(quán)限設(shè)定為可以訪問該共享的文件夾,以便用戶C能夠訪問該共享的文件夾并獲得文件。
可以看出,無論對于以上例一還是例二的情形,都不能在即時(shí)通信軟件用戶之間實(shí)現(xiàn)自動(dòng)、靈活的文件共享,都需要較多的人工操作和干預(yù)。
在2004年10月日授予I.Rosenblatt等人的題為“Techniques forfacilitating item sharing”的美國專利US2004/0199514A1中,描述了通過即時(shí)通信軟件進(jìn)行文件共享的技術(shù)方案。以上例一中第2)項(xiàng)的“共享文件”功能以及例二的情形類似于該專利所提出的方案。在該專利中,使用一個(gè)共享窗口來維護(hù)一個(gè)共享文件/文件夾的列表,用戶可以將希望與他人共享的文件或文件夾添加到共享窗口中,其他用戶能且僅能訪問該共享窗口中列出的文件和文件夾。
另外,在2004年4月8日授予A.Amir等人的題為“Peer-to-peerfile sharing”的美國專利US2004068524中公開了在多個(gè)用戶之間建立一個(gè)共享的文件夾,在所有這些用戶之間共享這個(gè)文件夾中的內(nèi)容。共享的文件夾中的文件可能存在于不同的用戶的計(jì)算機(jī)上。但是,在該專利中,并未特別涉及在即時(shí)通信軟件中進(jìn)行文件共享,而且其需要?jiǎng)?chuàng)建一個(gè)虛擬文件來實(shí)現(xiàn)所述共享。
由此可見,需要一種能夠便于在使用即時(shí)通信軟件的用戶之間進(jìn)行文件/文件夾共享的解決方案。
發(fā)明內(nèi)容
考慮到上述問題,提出了本發(fā)明的用于進(jìn)行項(xiàng)目共享的即時(shí)通信客戶機(jī)、服務(wù)器、系統(tǒng)和方法。通過使用本發(fā)明,一方面,使得擁有項(xiàng)目的用戶能夠容易地與其他用戶進(jìn)行共享;另一方面,希望共享他人項(xiàng)目的用戶也能夠容易地查看和/或獲取他人共享出的那些項(xiàng)目。這里,所說的“項(xiàng)目”可以是“文件和/或文件夾”。
根據(jù)本發(fā)明的第一方面,提供一個(gè)第一即時(shí)通信客戶機(jī),用于向一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)共享出項(xiàng)目,所述一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)是所述第一即時(shí)通信客戶機(jī)的聯(lián)系人/聯(lián)系人組,所述第一即時(shí)通信客戶機(jī)包括聯(lián)系人存儲裝置,用于存儲各聯(lián)系人/聯(lián)系人組的信息;項(xiàng)目存儲裝置,用于至少存儲將與所述各聯(lián)系人/聯(lián)系人組共享的項(xiàng)目;選擇裝置,用于分別從聯(lián)系人存儲裝置和項(xiàng)目存儲裝置中選擇要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目;訪問控制列表生成裝置,用于響應(yīng)于選擇裝置的選擇,生成訪問控制列表,所述訪問控制列表相關(guān)聯(lián)地存儲要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息。
根據(jù)本發(fā)明的第二方面,提供一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于向一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)共享出項(xiàng)目,所述一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)是所述第一即時(shí)通信客戶機(jī)的聯(lián)系人/聯(lián)系人組,所述方法包括選擇要與之進(jìn)行共享的特定聯(lián)系人/聯(lián)系人組;選擇要與所述特定聯(lián)系人/聯(lián)系人組共享的項(xiàng)目;響應(yīng)于上述兩個(gè)選擇步驟,生成一個(gè)訪問控制列表,所述訪問控制列表相關(guān)聯(lián)地存儲要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息。
根據(jù)本發(fā)明的三方面,提供一個(gè)第一即時(shí)通信客戶機(jī),用于從一個(gè)第二即時(shí)通信客戶機(jī)獲取在該第二即時(shí)通信客戶機(jī)上的共享項(xiàng)目信息,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括請求生成裝置,用于響應(yīng)第一即時(shí)通信客戶機(jī)的請求操作,生成一個(gè)獲取共享項(xiàng)目信息的請求,所述請求中包括所述第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目的指定信息;發(fā)送裝置,用于將所述請求發(fā)送給所述即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);
接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的對所述請求的響應(yīng)。
根據(jù)本發(fā)明第四方面,提供一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于從一第二即時(shí)通信客戶機(jī)獲取在該第二即時(shí)通信客戶機(jī)上的共享項(xiàng)目信息,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括響應(yīng)第一即時(shí)通信客戶機(jī)的請求操作,生成一個(gè)獲取共享項(xiàng)目信息的請求,所述請求中包括所述第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目的指定信息;將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的對所述請求的響應(yīng)。
根據(jù)本發(fā)明的第五方面,提供一個(gè)第一即時(shí)通信客戶機(jī),用于響應(yīng)來自一個(gè)第二即時(shí)通信客戶機(jī)的獲取共享項(xiàng)目信息的請求,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的所述請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、以及共享項(xiàng)目的指定信息;管理裝置,用于通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;發(fā)送裝置,用于根據(jù)請求是否是被授權(quán)的,將對請求的響應(yīng)發(fā)送給所述即時(shí)通信服務(wù)器,以便返回給所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第六方面,提供一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于響應(yīng)來自一個(gè)第二即時(shí)通信客戶機(jī)的獲取共享項(xiàng)目信息的請求,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括
從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的所述請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、以及共享項(xiàng)目的指定信息;通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;根據(jù)請求是否是被授權(quán)的,將對請求的響應(yīng)發(fā)送給所述即時(shí)通信服務(wù)器,以便返回給所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第七方面,提供一個(gè)即時(shí)通信服務(wù)器,其與多個(gè)即時(shí)通信客戶機(jī)相連,所述多個(gè)即時(shí)通信客戶機(jī)中的一個(gè)第一即時(shí)通信客戶機(jī)共享出項(xiàng)目,一個(gè)第二即時(shí)通信客戶機(jī)請求從所述第一即時(shí)通信客戶機(jī)獲取共享項(xiàng)目信息,所述即時(shí)通信服務(wù)器包括第一接收裝置,用于從第二即時(shí)通信客戶機(jī)接收對共享項(xiàng)目信息的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目指定信息;第一轉(zhuǎn)發(fā)裝置,用于根據(jù)所述第一即時(shí)通信客戶機(jī)的標(biāo)識信息將所述請求轉(zhuǎn)發(fā)給所述第一即時(shí)通信客戶機(jī);第二接收裝置,用于從所述第一即時(shí)通信客戶機(jī)接收對所述請求的響應(yīng);第二轉(zhuǎn)發(fā)裝置,用于將所述響應(yīng)轉(zhuǎn)發(fā)給所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第八方面,提供一種用于一個(gè)即時(shí)通信服務(wù)器的方法,所述即時(shí)通信服務(wù)器與多個(gè)即時(shí)通信客戶機(jī)相連,所述多個(gè)即時(shí)通信客戶機(jī)中的一個(gè)第一即時(shí)通信客戶機(jī)共享出項(xiàng)目,一個(gè)第二即時(shí)通信客戶機(jī)請求從所述第一即時(shí)通信客戶機(jī)獲取共享項(xiàng)目信息,所述方法包括從第二即時(shí)通信客戶機(jī)接收對共享項(xiàng)目信息的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目指定信息;根據(jù)所述第一即時(shí)通信客戶機(jī)的標(biāo)識信息將所述請求轉(zhuǎn)發(fā)給所述第一即時(shí)通信客戶機(jī);從所述第一即時(shí)通信客戶機(jī)接收對所述請求的響應(yīng);將所述響應(yīng)轉(zhuǎn)發(fā)給所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第九方面,提供一個(gè)第一即時(shí)通信客戶機(jī),用于請求開始從一個(gè)第二即時(shí)通信客戶機(jī)接收在該第二即時(shí)通信客戶機(jī)上共享出的項(xiàng)目,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括請求生成裝置,用于響應(yīng)用戶的請求操作,生成開始接收共享項(xiàng)目的請求,所述請求中包括第二即時(shí)通信客戶機(jī)的標(biāo)識符、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);發(fā)送裝置,用于將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);項(xiàng)目接收裝置,用于通過基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立的通信連接,從所述第二即時(shí)通信客戶機(jī)接收共享的項(xiàng)目。
根據(jù)本發(fā)明的第十方面,提供一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于請求開始從一個(gè)第二即時(shí)通信客戶機(jī)接收在該第二即時(shí)通信客戶機(jī)上共享出的項(xiàng)目,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括響應(yīng)用戶的請求開始接收共享項(xiàng)目的操作,生成請求開始接收共享項(xiàng)目的請求,所述請求中包括第二即時(shí)通信客戶機(jī)的標(biāo)識符、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);通過基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立的通信連接,從所述第二即時(shí)通信客戶機(jī)接收共享的項(xiàng)目。
根據(jù)本發(fā)明的第十一方面,提供一個(gè)第一即時(shí)通信客戶機(jī),用于根據(jù)來自一個(gè)第二即時(shí)通信客戶機(jī)的請求將共享項(xiàng)目傳送到該第二即時(shí)通信客戶機(jī),所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);管理裝置,用于通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;項(xiàng)目傳送裝置,用于響應(yīng)于管理裝置確定所述請求是被授權(quán)的,基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立通信連接,以將共享項(xiàng)目傳送到所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第十二方面,提供一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于根據(jù)來自一個(gè)第二即時(shí)通信客戶機(jī)的請求將共享項(xiàng)目傳送到該第二即時(shí)通信客戶機(jī),所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;響應(yīng)于確定所述請求是被授權(quán)的,基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立通信連接,將共享項(xiàng)目傳送到所述第二即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第十二方面,提供一種即時(shí)通信服務(wù)器,其與多個(gè)即時(shí)通信客戶機(jī)相連,所述多個(gè)即時(shí)通信客戶機(jī)中的一個(gè)第一即時(shí)通信客戶機(jī)共享出項(xiàng)目,一個(gè)第二即時(shí)通信客戶機(jī)請求開始從所述第一即時(shí)通信客戶機(jī)接收共享項(xiàng)目,所述即時(shí)通信服務(wù)器包括第一接收裝置,用于從第二即時(shí)通信客戶機(jī)接收開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目指定信息以及用于項(xiàng)目傳送的參數(shù);第一轉(zhuǎn)發(fā)裝置,用于根據(jù)所述第一即時(shí)通信客戶機(jī)的標(biāo)識信息將所述請求轉(zhuǎn)發(fā)給所述第一即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明的第十三方面,提供一種用于即時(shí)通信服務(wù)器的方法,所述即時(shí)通信服務(wù)器與多個(gè)即時(shí)通信客戶機(jī)相連,所述多個(gè)即時(shí)通信客戶機(jī)中的一個(gè)第一即時(shí)通信客戶機(jī)共享出項(xiàng)目,一個(gè)第二即時(shí)通信客戶機(jī)請求開始從所述第一即時(shí)通信客戶機(jī)接收共享項(xiàng)目,所述方法包括從第二即時(shí)通信客戶機(jī)接收開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目指定信息以及用于項(xiàng)目傳送的參數(shù);根據(jù)所述第一即時(shí)通信客戶機(jī)的標(biāo)識信息將所述請求轉(zhuǎn)發(fā)給所述第一即時(shí)通信客戶機(jī)。
根據(jù)本發(fā)明還提供了包括上述即時(shí)通信客戶機(jī)和服務(wù)器的即時(shí)通信系統(tǒng),以及用于所述即時(shí)通信系統(tǒng)的方法。
圖1是常規(guī)即時(shí)通信系統(tǒng)的構(gòu)成示意圖。
圖2A表示共享源客戶機(jī)從即時(shí)通信軟件中共享出文件和/或文件夾時(shí)的用戶界面。
圖2B表示共享源客戶機(jī)從Windows操作系統(tǒng)的資源管理器中共享出文件和/或文件夾時(shí)的用戶界面。
圖3表示了共享目標(biāo)客戶機(jī)查看某個(gè)共享源客戶機(jī)共享出哪些文件和/或文件夾時(shí)的用戶界面。
圖4示出了根據(jù)本發(fā)明的共享源客戶機(jī)在共享出文件/文件夾時(shí)的結(jié)構(gòu)示意圖。
圖5示出了共享源客戶機(jī)在共享出文件/文件夾時(shí)的操作流程圖。
圖6示出了共享目標(biāo)客戶機(jī)希望獲取共享項(xiàng)目信息時(shí),共享目標(biāo)客戶機(jī)的結(jié)構(gòu)示意圖。
圖7示出了共享目標(biāo)客戶機(jī)執(zhí)行的方法的流程圖。
圖8示出了共享源客戶機(jī)的結(jié)構(gòu)示意圖。
圖9示出了管理裝置的進(jìn)一步結(jié)構(gòu)。
圖10示出了共享源客戶機(jī)執(zhí)行的方法的流程圖。
圖11示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享源客戶機(jī)執(zhí)行的方法的流程圖。
圖12示出了即時(shí)通信服務(wù)器的結(jié)構(gòu)示意圖。
圖13是即時(shí)通信服務(wù)器執(zhí)行的方法的流程圖。
圖14示出了共享目標(biāo)客戶機(jī)從共享源客戶機(jī)請求開始項(xiàng)目接收時(shí),共享目標(biāo)客戶機(jī)的結(jié)構(gòu)示意圖。
圖15示出了共享目標(biāo)客戶機(jī)執(zhí)行的方法的流程圖。
圖16示出了共享源客戶機(jī)的結(jié)構(gòu)示意圖。
圖17示出了管理裝置的進(jìn)一步結(jié)構(gòu)。
圖18示出了共享源客戶機(jī)執(zhí)行的方法的流程圖。
圖19示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享源客戶機(jī)執(zhí)行的方法的流程圖。
圖20示出了即時(shí)通信服務(wù)器的結(jié)構(gòu)示意圖。
圖21是即時(shí)通信服務(wù)器執(zhí)行的方法的流程圖。
圖22示出了請求獲取項(xiàng)目操作的流程圖。
具體實(shí)施例方式
以下將參照附圖對本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行說明。
圖1示出了常規(guī)即時(shí)通信系統(tǒng)的構(gòu)成示意圖。所述即時(shí)通信系統(tǒng)100包括即時(shí)通信服務(wù)器110,并且包括若干即時(shí)通信客戶機(jī)與所述即時(shí)通信服務(wù)器110通信相連。這里為了清楚起見,只示出了即時(shí)通信客戶機(jī)120和130,但是應(yīng)當(dāng)理解,可以有任何數(shù)量的即時(shí)通信客戶機(jī)與所述即時(shí)通信服務(wù)器110相連。
如果即時(shí)通信客戶機(jī)(120或130)希望參與即時(shí)通信,需首先向服務(wù)器110進(jìn)行注冊,之后,方可與其他客戶機(jī)進(jìn)行即時(shí)通信(例如,聊天)。各即時(shí)通信客戶機(jī)之間的通信是對等的。對于某些即時(shí)通信軟件而言,在各客戶機(jī)之間的通信需要經(jīng)由服務(wù)器進(jìn)行傳送,對于另一些即時(shí)通信軟件,則可以直接在客戶機(jī)之間進(jìn)行通信,而無需經(jīng)由服務(wù)器。
本發(fā)明提供了在這些即時(shí)通信客戶機(jī)之間進(jìn)行文件共享的機(jī)制。以下為了便于說明本發(fā)明,將共享出文件/文件夾的即時(shí)通信客戶機(jī)稱為“共享源客戶機(jī)”,其用戶稱為“共享源用戶”,將獲取他人共享出的文件/文件夾的即時(shí)通信客戶機(jī)稱為“共享目標(biāo)客戶機(jī)”,其用戶稱為“共享目標(biāo)用戶”。
對用戶界面的改動(dòng)1.共享源客戶機(jī)根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享源客戶機(jī)可以通過如下三種方式,在用戶界面上共享出文件和/或文件夾。
第一種方式圖2A表示共享源客戶機(jī)從即時(shí)通信軟件(這里為“IBM LotusSametime”)中共享出文件和/或文件夾時(shí)的用戶界面。
如圖2A所示的用戶界面200包括借助電子郵件地址表示的共享源客戶機(jī)的多個(gè)聯(lián)系人。假定共享源客戶機(jī)希望將文件與其中的某個(gè)聯(lián)系人210進(jìn)行共享,則可以通過點(diǎn)擊鼠標(biāo)右鍵,顯示一個(gè)與環(huán)境相關(guān)的菜單220。所顯示的菜單220除包括現(xiàn)有的即時(shí)通信菜單項(xiàng)之外,還包括一個(gè)新的“share files”(共享文件)菜單項(xiàng)230。共享源用戶可通過點(diǎn)擊“share files”菜單項(xiàng)230,彈出一個(gè)對話框(未顯示),從中選擇希望共享給聯(lián)系人210的文件和/或文件夾。
第二種方式圖2B表示共享源客戶機(jī)從Windows操作系統(tǒng)的資源管理器中共享出文件和/或文件夾時(shí)的用戶界面。
如圖2B所示的用戶界面240包括兩個(gè)瀏覽器窗格250和260,左側(cè)窗格250表示了在系統(tǒng)桌面上的文件/文件夾目錄。如果共享源用戶希望將其中的“My Music”文件夾共享出來,那么可以點(diǎn)擊鼠標(biāo)右鍵,這一方面會為“My Music”文件夾顯示一個(gè)與環(huán)境相關(guān)的菜單270,另一方面會在右側(cè)窗格260中顯示了該文件夾的內(nèi)容。所述菜單270除包括資源管理器本身應(yīng)當(dāng)具有的其他菜單選項(xiàng)外,還包括一個(gè)新的“Sharing with buddies…”菜單項(xiàng)280。當(dāng)共享源用戶點(diǎn)擊“Sharingwith buddies…”菜單項(xiàng)280時(shí),便會彈出一個(gè)對話框(未顯示),以便從中選擇將與哪些用戶或用戶組共享“My Music”文件夾。
應(yīng)當(dāng)理解,盡管這里使用Windows操作系統(tǒng)為例進(jìn)行說明,但本發(fā)明并不局限于此,任何能夠在其中使用即時(shí)通信軟件的操作系統(tǒng)(如,Mac OS)都是可行的。
第三種方式在這種方式中,可以在當(dāng)前即時(shí)通信軟件的菜單欄中給出一個(gè)新的功能菜單項(xiàng),如“File Share”。當(dāng)用戶點(diǎn)擊這一菜單項(xiàng)時(shí)便會彈出對話框以允許用戶從中選擇將哪些文件/文件夾共享出去,并且還允許用戶從其聯(lián)系人列表中選擇與哪些用戶/用戶組進(jìn)行共享。
2.共享目標(biāo)客戶機(jī)圖3表示了共享目標(biāo)客戶機(jī)查看某個(gè)共享源客戶機(jī)共享出哪些文件和/或文件夾時(shí)的用戶界面。
如圖3所示的用戶界面300包括借助電子郵件地址表示的共享目標(biāo)客戶機(jī)的多個(gè)聯(lián)系人。假定共享目標(biāo)客戶機(jī)希望查看某個(gè)聯(lián)系人310共享出的文件/文件夾,則可以通過點(diǎn)擊鼠標(biāo)右鍵,顯示該聯(lián)系人310的與環(huán)境相關(guān)的菜單320。所顯示的菜單320除包括現(xiàn)有的即時(shí)通信菜單項(xiàng)之外,還包括一個(gè)新的“view shared files…”(查看共享文件)菜單項(xiàng)330。共享目標(biāo)用戶可通過點(diǎn)擊“view shared files…”菜單項(xiàng)330,彈出一個(gè)對話框(未顯示),在其中顯示出共享源用戶已經(jīng)共享出的文件和/或文件夾的列表(如果有的話)。
以上結(jié)合IBM Lotus Sametime即時(shí)通信軟件的用戶界面,描述了執(zhí)行本發(fā)明需要對用戶界面進(jìn)行哪些改動(dòng),并且給出了示例性的新菜單項(xiàng)(例如,“share files”,“view shared files…”)。但是應(yīng)當(dāng)理解,本發(fā)明不只適用于IBM Lotus Sametime,而是同樣適用于其他即時(shí)通信軟件,而且所給出的菜單項(xiàng)的文字可以根據(jù)需要進(jìn)行變化。
訪問控制列表在本發(fā)明中,共享源客戶機(jī)需要維護(hù)一個(gè)訪問控制列表,用于指明向誰共享文件和共享哪些文件。這可以看作對共享目標(biāo)用戶的一種授權(quán),從而如果一個(gè)共享目標(biāo)客戶機(jī)希望訪問共享源客戶機(jī)共享的文件/文件夾,其必須已經(jīng)在該共享源客戶機(jī)的訪問控制列表中,而且只能訪問共享給他的那些文件。表1示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式的訪問控制列表數(shù)據(jù)結(jié)構(gòu)。
表1
在表1中,ID字段用于表示每個(gè)共享目標(biāo)用戶的標(biāo)識符,共享目標(biāo)用戶可以是單個(gè)用戶,也可以是用戶組。
IDTYPE字段這是一個(gè)可選的字段,用于表示該共享目標(biāo)用戶的類型是單個(gè)用戶還是一個(gè)用戶組。在表1中,示例性地用“U”表示單個(gè)用戶,用“G”表示用戶組。
SHARENAME字段共享名字段,用于表示希望以怎樣的名稱將項(xiàng)目共享出去;在默認(rèn)情況下,為要共享的頂級文件/文件夾的名稱;例如,對于用戶1,由于共享的是My Music文件夾下的所有子文件夾和文件,因此共享名為頂級文件夾名My Music,對于用戶2,由于Sunset.jpeg是共享的頂級文件,因此共享名為Sunset.jpeg。
PATHNAME字段用于表示共享的文件/文件夾在共享源客戶機(jī)中的絕對路徑。
以上只列出了訪問控制列表的幾個(gè)示例性字段,但本領(lǐng)域技術(shù)人員能夠理解,還可以根據(jù)需要加入其他字段。
由表1的數(shù)據(jù)結(jié)構(gòu)可以看出,訪問控制列表相關(guān)聯(lián)地存儲標(biāo)識共享目標(biāo)用戶的信息和標(biāo)識共享項(xiàng)目的信息。
訪問控制列表的每一行代表一個(gè)共享目標(biāo)用戶。每當(dāng)針對某個(gè)共享目標(biāo)客戶機(jī)進(jìn)行了文件/文件夾共享,則在該表中添加一行。根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,當(dāng)對一個(gè)共享目標(biāo)用戶進(jìn)行了多次共享時(shí),可以針對每一次共享都建立新的一行。
這個(gè)訪問控制列表可以在每當(dāng)針對某個(gè)共享目標(biāo)用戶共享了文件或文件夾后,由共享源用戶手動(dòng)生成一行,也可以優(yōu)選地由即時(shí)通信軟件自動(dòng)生成一行。由即時(shí)通信軟件自動(dòng)生成列表行是容易實(shí)現(xiàn)的。如參照圖2-3的用戶界面所述,要與之進(jìn)行共享的目標(biāo)客戶機(jī)以及要共享哪些項(xiàng)目都是通過共享源客戶機(jī)進(jìn)行選擇或輸入的,在進(jìn)行這種選擇和輸入時(shí)軟件當(dāng)然可以容易地獲知這些信息,以填充到表格中。
所述訪問控制列表可以存儲在共享源客戶機(jī)本地的一個(gè)數(shù)據(jù)庫或文件中。另外,考慮到安全性因素,最好對此列表進(jìn)行加密。
通過使用這一訪問控制列表,使得共享源客戶機(jī)能夠針對不同的用戶共享不同的文件或文件夾,從而與現(xiàn)有技術(shù)相比,顯著地提高了共享的靈活性。
共享源客戶機(jī)共享出文件/文件夾時(shí)的配置和操作共享源用戶可以采用“對用戶界面的改動(dòng)”一節(jié)中提到的三種方式之一來對共享目標(biāo)用戶設(shè)定共享文件/文件夾。在共享源用戶設(shè)定共享時(shí),不要求對應(yīng)的共享目標(biāo)用戶在線。
圖4示出了根據(jù)本發(fā)明的共享源客戶機(jī)在共享出文件/文件夾時(shí)的結(jié)構(gòu)示意圖。如圖4所示,所述共享源客戶機(jī)400包括聯(lián)系人存儲裝置410,項(xiàng)目存儲裝置420,選擇裝置430,以及訪問控制列表生成裝置440。
所述聯(lián)系人存儲裝置410存儲著共享源客戶機(jī)400的聯(lián)系人及其標(biāo)識信息。對于不同的即時(shí)通信軟件,所述標(biāo)識信息可以是聯(lián)系人的電子郵件地址(如圖1中Lotus Sametime軟件的用戶界面100所示),可以是聯(lián)系人的QQ號碼(例如,對于騰訊QQ)或者其他可以標(biāo)識出各個(gè)聯(lián)系人的信息。在本說明書中,如果沒有特別指出,“聯(lián)系人”既表示單個(gè)用戶的聯(lián)系人,也表示以用戶組形式出現(xiàn)的聯(lián)系人(即,聯(lián)系人組)。
所述項(xiàng)目存儲裝置420可以是用于存儲所述共享源客戶機(jī)的文件/文件夾的存儲器,包括硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器或其他能進(jìn)行文件存儲的介質(zhì),所述項(xiàng)目存儲裝置420存儲的文件中至少有一些是要與其他聯(lián)系人共享的。
所述選擇裝置430為共享源用戶從聯(lián)系人存儲裝置410中選擇要與之共享的聯(lián)系人,和從項(xiàng)目存儲裝置420中選擇要共享的文件/文件夾提供了機(jī)制。所述選擇裝置430可以有多種實(shí)現(xiàn)方式,如果使用如圖2A、2B所示的在其中已經(jīng)列出了可選的聯(lián)系人/文件的用戶界面,所述選擇裝置430可以是硬件輸入裝置,如鍵盤、鼠標(biāo)、手寫筆、觸摸板、麥克風(fēng)等,以便用戶能夠直接進(jìn)行選擇;如果用戶界面并未列出可選的聯(lián)系人和/或文件,那么所述選擇裝置430還可以包括相應(yīng)的軟件輸入裝置,如文本框,以便用戶能夠使用鍵盤等在其中輸入要選擇的內(nèi)容。
所述訪問控制列表生成裝置440用于響應(yīng)所述選擇裝置430從聯(lián)系人存儲裝置410和項(xiàng)目存儲裝置420中的選擇,生成訪問控制列表。所述訪問控制列表生成裝置440可以通過如下方式之一生成訪問控制列表。
當(dāng)用戶例如通過在“對用戶界面的改動(dòng)”一節(jié)中提到的三種方式之一,選擇了特定的聯(lián)系人以及要與該聯(lián)系人共享的文件/文件夾后,可以手動(dòng)將與訪問控制列表的各字段對應(yīng)的信息填充到所述訪問控制列表中,以手動(dòng)方式生成所述列表行。
或者,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,所述共享源客戶機(jī)400能夠在用戶選擇了特定的聯(lián)系人以及要與該聯(lián)系人共享的文件/文件夾后,自動(dòng)提取與訪問控制列表的各字段對應(yīng)的信息,以便填充到訪問控制列表的數(shù)據(jù)結(jié)構(gòu)中。這樣可以免去由用戶人工填寫帶來的不便,提高共享的自動(dòng)化程度。
在這種情況下,訪問控制列表生成裝置440可以進(jìn)一步包括提取裝置(未示出),用于響應(yīng)于共項(xiàng)目標(biāo)用戶和共享項(xiàng)目的選擇,提取與訪問控制列表的各字段對應(yīng)的信息;填充裝置(未示出),用于將提取的信息填充到所述訪問控制列表的數(shù)據(jù)結(jié)構(gòu)中。由于聯(lián)系人以及要與之共享的文件/文件夾是由用戶選定或輸入的,共享源客戶機(jī)400的提取裝置能夠獲得這一信息是容易理解的。
實(shí)際上,本發(fā)明只是需要一個(gè)訪問控制列表,以便將必需的信息存儲在其中,從而控制共享目標(biāo)客戶機(jī)的訪問。因此,只要能夠?qū)⒈匦璧男畔⒋鎯Φ竭@個(gè)列表中,具體通過何種方式存儲(或者說,通過何種方式生成這個(gè)表)不會對本發(fā)明的實(shí)施帶來影響。
圖5示出了所述共享源客戶機(jī)400的操作流程圖。
所述操作從步驟500開始,隨后進(jìn)入步驟510。在步驟510中,共享源用戶從聯(lián)系人列表中選擇要與之進(jìn)行共享的聯(lián)系人,并在步驟520中選擇共享給該聯(lián)系人的文件/文件夾。共享源用戶在完成了這兩個(gè)選擇操作后,在步驟530中,提取所述聯(lián)系人以及共享給該聯(lián)系人的項(xiàng)目的標(biāo)識信息,以生成訪問控制列表。隨后,該方法在步驟540中結(jié)束。
本領(lǐng)域技術(shù)人員能夠理解,圖5中步驟510和520的執(zhí)行順序可以互換,而不會影響本發(fā)明的實(shí)施。
另外,所述步驟530的操作可以由共享源用戶手動(dòng)完成,也可以由共享源客戶機(jī)400自動(dòng)執(zhí)行。
共享目標(biāo)客戶機(jī)希望獲取與共享源客戶機(jī)共享出的項(xiàng)目相關(guān)的信息時(shí)通信各方的配置和操作在共享源客戶機(jī)共享出項(xiàng)目后,共享目標(biāo)客戶機(jī)可以例如通過如圖3所示的用戶界面和操作,從共享源客戶機(jī)請求與共享源客戶機(jī)共享出的項(xiàng)目相關(guān)的信息(簡稱“共享項(xiàng)目信息”),這些信息包括但不限于項(xiàng)目(如,文件/文件夾)的屬性、大小、創(chuàng)建時(shí)間等。在獲得這些信息后,共享目標(biāo)客戶機(jī)可以基于它們來決定是否實(shí)際請求傳送文件/文件夾。
以下描述在這一過程中通信各方涉及結(jié)構(gòu)和操作。
1.共享目標(biāo)客戶機(jī)圖6示出了共享目標(biāo)客戶機(jī)600的結(jié)構(gòu)示意圖。所述客戶機(jī)600包括請求生成裝置610、發(fā)送裝置620和接收裝置630。
當(dāng)用戶如圖3所示那樣選擇了“view shared files…”菜單項(xiàng)時(shí),請求生成裝置610會生成一個(gè)共享項(xiàng)目信息請求,并在請求中附加一些參數(shù),這些參數(shù)包括但不限于共享源客戶機(jī)的ID以及共享出的項(xiàng)目的指定信息。
在請求中發(fā)送共享源客戶機(jī)的ID,是為了即時(shí)通信服務(wù)器能夠知道是向哪個(gè)共享源客戶機(jī)請求信息,從而能夠?qū)⒄埱筠D(zhuǎn)發(fā)給它。
共享項(xiàng)目的指定信息用于指定共享目標(biāo)客戶機(jī)600希望獲得有關(guān)哪些共享項(xiàng)目的信息。共享項(xiàng)目的指定信息可以是以下三種類型1)如果共享目標(biāo)用戶希望請求針對自己共享的所有項(xiàng)目的信息,則可以用諸如“\”之類的標(biāo)識符,作為共享項(xiàng)目的指定信息,這通常是在用戶首次進(jìn)行請求,或者不知道共享名時(shí)的做法。
2)如果希望請求針對某個(gè)共享名的項(xiàng)目信息,則可以發(fā)送該共享名,作為共享項(xiàng)目的指定信息。
3)如果用戶希望獲得的共享項(xiàng)目信息是某個(gè)共享名之下的特定文件或子文件夾的信息,則可以在給出共享名的同時(shí),指定特定文件或子文件夾到所述共享名的相對路徑,作為共享項(xiàng)目的指定信息。
對于第2、3種類型而言,共享目標(biāo)客戶機(jī)600可能先前已經(jīng)請求并從共享源客戶機(jī)獲得了共享項(xiàng)目信息。從共享源客戶機(jī)獲得的共享項(xiàng)目信息可以存儲在共享目標(biāo)客戶機(jī)600的本地或其它適當(dāng)?shù)奈恢?,以便在需要的時(shí)候使用。
另外,根據(jù)本發(fā)明的一種優(yōu)選實(shí)施方式,所述請求的參數(shù)還可以包括共享目標(biāo)客戶機(jī)600本身的標(biāo)識符。
請求生成裝置610生成的請求通過發(fā)送裝置620發(fā)送到即時(shí)通信服務(wù)器。
即時(shí)通信服務(wù)器在收到來自共享目標(biāo)客戶機(jī)600的請求后,如果所述請求沒有共享目標(biāo)客戶機(jī)600本身的標(biāo)識符,則由服務(wù)器自動(dòng)從請求中提取該標(biāo)識符,并與請求一同轉(zhuǎn)發(fā)給共享源客戶機(jī)?;蛘?,如果請求的參數(shù)中已經(jīng)包括了共享目標(biāo)客戶機(jī)600本身的標(biāo)識符,則服務(wù)器直接將請求轉(zhuǎn)發(fā)給共享源客戶機(jī)。收到請求后,共享源客戶機(jī)將根據(jù)所述請求是否被授權(quán),來給出相應(yīng)的響應(yīng),再經(jīng)由即時(shí)通信服務(wù)器返回共享目標(biāo)客戶機(jī)600(如下文詳述)。
因此,共享目標(biāo)客戶機(jī)600的接收裝置620用于從所述即時(shí)通信服務(wù)器接收來自所述共享源客戶機(jī)的響應(yīng)。
共享目標(biāo)客戶機(jī)600執(zhí)行的方法的流程圖如圖7所示。
該方法從步驟700開始并進(jìn)入步驟710。在步驟710中,共享目標(biāo)客戶機(jī)600響應(yīng)于用戶的請求操作,生成一個(gè)共享項(xiàng)目信息請求,所述請求如前所述包括一些參數(shù)。在步驟720中,將該請求發(fā)送給即時(shí)通信服務(wù)器。在步驟730中,共享目標(biāo)客戶機(jī)600經(jīng)由服務(wù)器接收來自所述共享源客戶機(jī)的對所述請求的響應(yīng)。該方法在步驟740中結(jié)束。
2.共享源客戶機(jī)圖8示出了共享源客戶機(jī)800的結(jié)構(gòu)示意圖。所述客戶機(jī)800包括接收裝置810、管理裝置820和發(fā)送裝置830。
所述接收裝置810用于從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)600的對共享項(xiàng)目信息的請求。如前所述,這個(gè)請求包括若干參數(shù)。
接收裝置810將收到的請求傳遞給管理裝置820。所述管理裝置820可以實(shí)現(xiàn)為一個(gè)管理線程,用于通過查閱訪問控制列表,根據(jù)所述請求中附加的參數(shù),來確定所述請求是否是被授權(quán)的,并取決于請求是否是被授權(quán)而輸出不同的響應(yīng)結(jié)果。
在請求被授權(quán)時(shí),響應(yīng)結(jié)果為共享目標(biāo)客戶機(jī)600請求的共享項(xiàng)目信息;在請求未被授權(quán)時(shí),響應(yīng)結(jié)果可以是一個(gè)錯(cuò)誤信息。
發(fā)送裝置830用于將所述管理裝置820輸出的結(jié)果傳送給即時(shí)通信服務(wù)器,以便進(jìn)一步返回給共享目標(biāo)客戶機(jī)600。
根據(jù)本發(fā)明,管理裝置820可以通過兩種方式來確定所述請求是否是被授權(quán)的。
在第一種方式中,管理裝置820先將共享目標(biāo)客戶機(jī)600的標(biāo)識符與共享源客戶機(jī)800的聯(lián)系人列表進(jìn)行比較,如果共享目標(biāo)客戶機(jī)600是聯(lián)系人之一,再將共享目標(biāo)客戶機(jī)600的標(biāo)識符以及共享項(xiàng)目的指定信息與訪問控制列表進(jìn)行對比,以確定是否存在匹配。如果存在匹配,則確定請求是被授權(quán)的,否則,則返回錯(cuò)誤信息。
第二種方式與第一種方式類似,區(qū)別在于,管理裝置820直接將共享目標(biāo)客戶機(jī)600的標(biāo)識符與共享源客戶機(jī)800的訪問控制列表(而不是聯(lián)系人列表)進(jìn)行對比,如果共享目標(biāo)客戶機(jī)600的標(biāo)識符存在于訪問列表中,則后續(xù)操作與第一種方式基本相同,否則,將返回錯(cuò)誤信息。
圖9示出了管理裝置820的進(jìn)一步結(jié)構(gòu),包括ID判定裝置821,共享名判定裝置822,查找裝置823和輸出裝置824。
在第一種方式中,所述ID判定裝置821通過訪問圖4所示的聯(lián)系人存儲裝置410,用于將所述共享目標(biāo)客戶機(jī)600的標(biāo)識符與聯(lián)系人存儲裝置中的聯(lián)系人標(biāo)識符進(jìn)行比較,以判定共享目標(biāo)客戶機(jī)600的標(biāo)識符是否在聯(lián)系人列表中;或者在第二種方式中,所述ID判定裝置821通過訪問控制列表,將所述共享目標(biāo)客戶機(jī)600的標(biāo)識符與訪問控制列表中的用戶ID進(jìn)行比較,以判定共享目標(biāo)客戶機(jī)600的標(biāo)識符是否在訪問控制列表中。共享名判定裝置822通過查閱訪問控制列表,判定共享目標(biāo)客戶機(jī)600的標(biāo)識符、所述請求中提供的共享名是否在訪問控制列表中有匹配。
共享名判定裝置822通過查閱訪問控制列表,判定共享目標(biāo)客戶機(jī)600的標(biāo)識符、所述請求中提供的共享名是否在訪問控制列表中有匹配。
查找裝置823用于在共享名判定裝置822判定匹配時(shí),從共享源客戶機(jī)700的本地文件系統(tǒng)中查找與所述請求中提供的共享名(可能還結(jié)合其相對路徑)相對應(yīng)的文件/文件夾的信息,這里的信息可以包括但不限于文件/文件夾的屬性、大小、創(chuàng)建時(shí)間等。
輸出裝置824一方面,在ID比較裝置821或共享名判定裝置822判定不匹配時(shí),輸出錯(cuò)誤信息,另一方面,在這二者均匹配時(shí),輸出查找裝置823查找到的信息。
以下將對查找裝置823的操作做進(jìn)一步說明。
響應(yīng)于共享名判定裝置822找到匹配,查找裝置823在訪問控制列表中查找共享名對應(yīng)的絕對路徑,根據(jù)共享名對應(yīng)的絕對路徑(如果請求中提供的相對路徑不為空,則還根據(jù)提供的相對路徑),找到請求的項(xiàng)目的絕對路徑,從文件系統(tǒng)中獲取共享項(xiàng)目的信息,以便由輸出裝置824輸出。
以前述表1中的情形為例,假定共享目標(biāo)用戶“用戶1”僅提供了共享名“My Music”,那么能夠從訪問控制列表中為用戶1找到與之對應(yīng)的“My Music”文件夾的絕對路徑為“C\Documents andSettings\peter\My Documents\My Music”共享,系統(tǒng)從本地文件系統(tǒng)中獲取文件夾My Music及其子文件夾的信息返回。假定用戶1不僅提供了共享名“My Music”還提供了一個(gè)相對路徑,例如“FayeWong\track01”,則表明用戶1希望獲得與My Music文件夾的子文件夾Faye Wong中的track01文件相關(guān)的信息。系統(tǒng)根據(jù)共享名對應(yīng)的絕對路徑再加上相對路徑,得到用戶請求的文件的絕對路徑為“C\Documents and Settings\peter\My Documents\My Music\FayeWong\track01”,系統(tǒng)再從本地文件系統(tǒng)中獲取該文件信息返回。
圖10示出了共享源客戶機(jī)800執(zhí)行的方法的流程圖。
該方法從步驟1000開始并進(jìn)入步驟1010。在步驟1010中,共享源客戶機(jī)800從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)600的對共享項(xiàng)目信息的請求,如前所述,所述請求包括若干參數(shù)。在收到請求后,該方法在步驟1020中查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的參數(shù),來確定所述共享目標(biāo)客戶機(jī)600的請求是否是被授權(quán)的。響應(yīng)于確定所述請求是被授權(quán)的,則在步驟1030中,將所請求的項(xiàng)目信息發(fā)送給所述即時(shí)通信服務(wù)器,或者響應(yīng)于確定所述請求是未被授權(quán)的,則在步驟1030中,將一個(gè)錯(cuò)誤信息傳送給所述即時(shí)通信服務(wù)器,以便最終轉(zhuǎn)發(fā)給所述共享目標(biāo)客戶機(jī)600。該方法在步驟1040中結(jié)束。
圖11示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享源客戶機(jī)800執(zhí)行的方法的流程圖。
該方法在步驟1100中開始,隨后進(jìn)入步驟1110。在步驟1110中,如前所述,共享源客戶機(jī)800從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)600的對共享項(xiàng)目信息的請求,所述請求包括若干參數(shù)。
在步驟1120中,共享源客戶機(jī)800判斷該共享目標(biāo)用戶是否在聯(lián)系人列表中,如果判定結(jié)果為“是”,則該方法進(jìn)入步驟1130。
在步驟1130中,進(jìn)一步判定請求中所包括的共享名是否為“\”。共享目標(biāo)用戶提供“\”作為共享名表明希望獲得共享給自己的所有共享項(xiàng)目信息,在用戶首次請求共享項(xiàng)目信息時(shí)通常是這種情況。或者如果用戶不知道共享的項(xiàng)目在共享源客戶機(jī)800上的共享名,也可以使用“\”作為共享名。應(yīng)當(dāng)理解,使用“\”只是示例性的,也可以采用其他表達(dá)式來表明請求所有項(xiàng)目信息。
如果在步驟1130中的判斷為“是”,則該方法進(jìn)入步驟1140,通過查閱訪問控制列表,共享源客戶機(jī)800找出對該共享目標(biāo)用戶共享出的所有項(xiàng)目的絕對路徑,這里可能包括對該用戶本身共享出的項(xiàng)目和/或針對該用戶所在的用戶組共享出的項(xiàng)目的絕對路徑。
接下來,在步驟1150中,共享源客戶機(jī)800根據(jù)找到的絕對路徑,從本地文件系統(tǒng)中獲取共享項(xiàng)目的信息,包括但不限于共享項(xiàng)目的創(chuàng)建時(shí)間、大小和屬性,以便傳送給即時(shí)通信服務(wù)器,從而最終返回給共享目標(biāo)客戶機(jī)600。
如果在步驟1130中的判斷為“否”,即共享名不等于“\”,而是某個(gè)特定的共享名,則該方法進(jìn)入步驟1160。在這種情況下,共享目標(biāo)客戶機(jī)通常已經(jīng)知道了共享源客戶機(jī)800對自己共享了哪些項(xiàng)目,因此希望知道特定文件或文件夾的信息。在步驟1160中,根據(jù)請求中提供的共享名查找匹配。
接下來,在步驟1170中,判定是否能在訪問控制列表中為該共享源客戶機(jī)800提供的共享名找到匹配。
如果能找到匹配,則方法進(jìn)入步驟1180,在訪問控制列表中查找共享名對應(yīng)的絕對路徑,根據(jù)共享名對應(yīng)的絕對路徑(如果請求中提供的相對路徑不為空,則再根據(jù)提供的相對路徑),找到請求的項(xiàng)目的絕對路徑,從文件系統(tǒng)中獲取共享項(xiàng)目的信息,以便傳送給即時(shí)通信服務(wù)器,從而最終返回給共享目標(biāo)客戶機(jī)600。如果在步驟1170中判斷沒有找到匹配,則方法進(jìn)入步驟1190,以便將錯(cuò)誤信息傳送給即時(shí)通信服務(wù)器,從而最終返回給共享目標(biāo)客戶機(jī)600。
如果在步驟1120中的判斷為否,即向共享源客戶機(jī)800發(fā)出共享項(xiàng)目信息請求的用戶根本不在共享源客戶機(jī)800的聯(lián)系人列表中,則方法直接進(jìn)入步驟1190,通過返回錯(cuò)誤信息而結(jié)束該方法。
另外,如果在步驟1150、1180的查找操作過程中發(fā)現(xiàn)先前共享出的項(xiàng)目在共享源客戶機(jī)800的本地因被刪除、移動(dòng)等原因而不存在了,也會向共享目標(biāo)客戶機(jī)600返回錯(cuò)誤信息。
應(yīng)當(dāng)指出,在圖11所示的方法中,在步驟1120中判斷該共享目標(biāo)客戶機(jī)600是否在共享源客戶機(jī)800的聯(lián)系人列表中。但是,在步驟1120中也可以直接判斷該提出請求的用戶是否在共享源客戶機(jī)800的訪問控制列表中,從而在最初便將進(jìn)行請求的用戶限制在存在于訪問控制列表中的用戶。
3.即時(shí)通信服務(wù)器圖12示出了即時(shí)通信服務(wù)器1200的結(jié)構(gòu)示意圖。
所述即時(shí)通信服務(wù)器1200與多個(gè)即時(shí)通信客戶機(jī)相連,但是這里為了便于說明本發(fā)明的原理,只示出了兩個(gè),即共享目標(biāo)客戶機(jī)800和共享源客戶機(jī)600。但是應(yīng)當(dāng)理解,即時(shí)通信服務(wù)器1200可以與任意數(shù)量的即時(shí)通信客戶機(jī)相連。
為了執(zhí)行本發(fā)明,所述即時(shí)通信服務(wù)器1200包括第一接收裝置1210第一轉(zhuǎn)發(fā)裝置1220,第二接收裝置1230以及第二轉(zhuǎn)發(fā)裝置1240,用虛線表示的參數(shù)附加裝置1250為即時(shí)通信服務(wù)器1200的一個(gè)優(yōu)選組件。
第一接收裝置1210用于從共享目標(biāo)客戶機(jī)600接收對共享項(xiàng)目信息的請求。
從第一接收裝置1210接收的請求將經(jīng)由第一轉(zhuǎn)發(fā)裝置1220轉(zhuǎn)發(fā)給共享源客戶機(jī)800。
在共享源客戶機(jī)800執(zhí)行了以上參照圖11描述的操作后,將響應(yīng)傳送給即時(shí)通信服務(wù)器1200,這一響應(yīng)由第二接收裝置1230進(jìn)行接收。
第二轉(zhuǎn)發(fā)裝置1240再將第二接收裝置1230接收的響應(yīng)轉(zhuǎn)發(fā)給共享目標(biāo)客戶機(jī)600。
根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,所述即時(shí)通信服務(wù)器1200還可以包括一個(gè)參數(shù)附加裝置1250。這個(gè)參數(shù)附加裝置1250的作用是在當(dāng)來自共享目標(biāo)客戶機(jī)600的共享項(xiàng)目信息請求沒有給出共享目標(biāo)客戶機(jī)600的標(biāo)識符時(shí),由即時(shí)通信服務(wù)器1200自動(dòng)提取該標(biāo)識符并將其附加到請求中,一并由第一轉(zhuǎn)發(fā)裝置1220進(jìn)行轉(zhuǎn)發(fā)。
應(yīng)當(dāng)理解,即時(shí)通信服務(wù)器1200獲得與之通信的即時(shí)通信客戶機(jī)的標(biāo)識符的操作是本領(lǐng)域中的已知操作,有成熟的技術(shù)可以實(shí)現(xiàn),因此這里不再詳細(xì)描述。
圖13是即時(shí)通信服務(wù)器1200執(zhí)行的方法的流程圖。
該方法在步驟1300中開始,隨后進(jìn)入1310。在步驟1310中,即時(shí)通信服務(wù)器1200從共享目標(biāo)客戶機(jī)600接收對與共享出的項(xiàng)目相關(guān)的信息的請求。接下來,在步驟1320中,將所述請求轉(zhuǎn)發(fā)給共享源客戶機(jī)800。并且在共享源客戶機(jī)800執(zhí)行了以上參照圖11描述的操作后,在步驟1330中,接收響應(yīng)。然后,在步驟1340中,將響應(yīng)轉(zhuǎn)發(fā)給共享目標(biāo)客戶機(jī)600。這一方法在步驟1350中結(jié)束。
另外,步驟1320還可以包括在請求中附加共享目標(biāo)客戶機(jī)標(biāo)識符參數(shù)的操作。
共享目標(biāo)客戶機(jī)向共享源客戶機(jī)請求開始接收共享項(xiàng)目時(shí)的配置和操作共享目標(biāo)客戶機(jī)在請求并查看了共享項(xiàng)目信息后,決定開始接收共享源客戶機(jī)共享出來的項(xiàng)目。
以下將描述這一過程中通信各方涉及的結(jié)構(gòu)和操作1.共享目標(biāo)客戶機(jī)圖14示出了共享目標(biāo)客戶機(jī)1400的結(jié)構(gòu)示意圖。所述客戶機(jī)1400包括請求生成裝置1410、發(fā)送裝置1420、項(xiàng)目接收裝置1430,用虛線表示的響應(yīng)接收裝置1440是本發(fā)明的優(yōu)選組件。
例如當(dāng)共享目標(biāo)用戶從即時(shí)通信軟件用戶界面(未示出)上選擇了開始接收共享項(xiàng)目的操作時(shí),請求生成裝置1410會生成一個(gè)開始接收共享項(xiàng)目請求,并在請求中附加一些參數(shù),這些參數(shù)包括但不限于共享源客戶機(jī)的ID以及共享出的項(xiàng)目的指定信息。
共享源客戶機(jī)的ID,是為了即時(shí)通信服務(wù)器能夠知道是向哪個(gè)共享源客戶機(jī)請求開始項(xiàng)目接收,從而能夠?qū)⒄埱筠D(zhuǎn)發(fā)給它。
共享項(xiàng)目的指定信息,用于表示共享目標(biāo)客戶機(jī)1400希望獲得哪些共享項(xiàng)目。共享項(xiàng)目的指定信息可以有以下三種類型1)如果共享目標(biāo)用戶希望請求針對自己共享的所有項(xiàng)目,則可以用諸如“\”之類的標(biāo)識符,作為共享項(xiàng)目的指定信息。
2)如果希望請求某個(gè)共享名的項(xiàng)目,則可以發(fā)送該共享名,作為共享項(xiàng)目的指定信息。
3)如果用戶希望獲得的共享項(xiàng)目是某個(gè)共享名之下的特定文件或子文件夾,則可以在給出共享名的同時(shí),指定特定文件或子文件夾到所述共享名的相對路徑,作為共享項(xiàng)目的指定信息。
另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,所述請求還可以包括如下參數(shù)a.共享目標(biāo)客戶機(jī)1400本身的標(biāo)識符;以及b.用于項(xiàng)目傳送的諸參數(shù)b1.將用于項(xiàng)目傳送的共享目標(biāo)客戶機(jī)1400的IP地址;b2.將用于項(xiàng)目傳送的端口地址;b3.將用于項(xiàng)目傳送驗(yàn)證和/或項(xiàng)目傳送加密的項(xiàng)目傳送會話ID,這一ID可以是由共享目標(biāo)客戶機(jī)1400隨機(jī)產(chǎn)生的ID。
用于項(xiàng)目傳送的參數(shù)是由共享目標(biāo)客戶機(jī)1400決定或產(chǎn)生的。這些參數(shù)既可以在請求生成時(shí)由共享目標(biāo)客戶機(jī)1400附加到請求中,也可以在請求發(fā)送到即時(shí)通信服務(wù)器后,由即時(shí)通信服務(wù)器來附加到請求中。
由請求生成裝置1410生成的請求將通過發(fā)送裝置1420,發(fā)送給一個(gè)即時(shí)通信服務(wù)器。
如果即時(shí)通信服務(wù)器收到的請求不包括參數(shù)a、b1、b2、b3,則服務(wù)器會在請求中附加這些參數(shù),然后將請求轉(zhuǎn)發(fā)到共享源客戶機(jī)。
收到請求后,共享源客戶機(jī)將判斷該開始項(xiàng)目接收的請求是否被授權(quán),如果是,則會根據(jù)請求中包括的用于項(xiàng)目傳送的參數(shù)與共享目標(biāo)客戶機(jī)1400建立通信連接(如下文詳述)。
因此,共享目標(biāo)客戶機(jī)1400的項(xiàng)目接收裝置1430經(jīng)過基于在請求中包括的參數(shù)建立的通信連接與共享源客戶機(jī)相連,以接收請求的項(xiàng)目。
根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享目標(biāo)客戶機(jī)1400還包括響應(yīng)接收裝置1440,用于通過即時(shí)通信服務(wù)器從共享源客戶機(jī)接收有關(guān)請求是否被授權(quán)的響應(yīng)。
具體而言,一方面,當(dāng)共享源客戶機(jī)判斷請求被授權(quán)時(shí),其除與共享目標(biāo)客戶機(jī)1400建立通信連接,還可以將請求被授權(quán)的響應(yīng)傳送給即時(shí)通信服務(wù)器,再轉(zhuǎn)發(fā)給共享目標(biāo)客戶機(jī)1400。另一方面,當(dāng)共享源客戶機(jī)判斷請求未被授權(quán)時(shí),可以將表示錯(cuò)誤的信息通過即時(shí)通信服務(wù)器轉(zhuǎn)發(fā)給共享目標(biāo)客戶機(jī)1400。
共享目標(biāo)客戶機(jī)1400執(zhí)行的方法的流程圖如圖15所示。
該方法從步驟1500開始并進(jìn)入步驟1510。在步驟1510中,共享目標(biāo)客戶機(jī)1400生成開始項(xiàng)目接收的請求,并在其中至少附加共享源客戶機(jī)的ID以及共享出的項(xiàng)目的指定信息作為參數(shù)。在步驟1520中,將開始項(xiàng)目接收的請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到共享源客戶機(jī),到達(dá)共享源客戶機(jī)的請求進(jìn)一步附加有共享目標(biāo)客戶機(jī)1400的標(biāo)識符以及用于項(xiàng)目傳送的參數(shù)。在步驟1530中,在該請求被授權(quán)的情況下,共享目標(biāo)客戶機(jī)1400經(jīng)過基于在請求中包括的參數(shù)建立的通信連接與共享源客戶機(jī)相連,接收請求的項(xiàng)目。根據(jù)本發(fā)明的這一方法在步驟1540中結(jié)束。
2.共享源客戶機(jī)圖16示出了共享源客戶機(jī)1600的結(jié)構(gòu)示意圖。所述客戶機(jī)1600包括接收裝置1610、管理裝置1620、項(xiàng)目傳送裝置1630,用虛線表示的響應(yīng)發(fā)送裝置1640是本發(fā)明的優(yōu)選組件。
所述接收裝置1610用于從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)1400的開始接收共享項(xiàng)目的請求。如前所述,這個(gè)請求包括若干參數(shù)。
接收裝置1610將收到的請求傳遞給管理裝置1620。所述管理裝置1620可以實(shí)現(xiàn)為一個(gè)管理線程,用于通過查閱訪問控制列表,根據(jù)請求中包括的參數(shù),來確定所述請求是否是被授權(quán)的,并取決于請求是否是被授權(quán)而決定項(xiàng)目傳送。
項(xiàng)目傳送裝置1630根據(jù)所述請求中發(fā)送的用于建立通信連接的參數(shù),與共享目標(biāo)客戶機(jī)1400建立通信連接,并向其傳送所請求的文件/文件夾。
根據(jù)本發(fā)明,管理裝置1620可以通過如下兩種方式來確定所述請求是否是被授權(quán)的。
在第一種方式中,在收到請求后,管理裝置1620首先判斷用戶是否在共享源客戶機(jī)1600的聯(lián)系人列表中,如果在,則進(jìn)一步根據(jù)該共享目標(biāo)客戶機(jī)1400的標(biāo)識符和共享名等信息,在訪問控制列表中查找是否有匹配的路徑名。如果有,則表明請求是被授權(quán)的。如果沒有,則再獲得該用戶所在用戶組的名稱,并根據(jù)該組的名稱和共享名等信息,在訪問控制列表中查找是否有匹配的路徑名。如果有,也表明請求是被授權(quán)的。
在第二種方式中,在收到請求后,管理裝置1620首先判斷用戶是否在共享源客戶機(jī)1600的訪問控制列表中,如果在,則后續(xù)操作與第一種方式類似,如果不在,則表明請求未被授權(quán)。這樣可以在最初便將進(jìn)行請求的用戶限制在存在于訪問控制列表中的那些用戶。
圖17示出了管理裝置1620的進(jìn)一步結(jié)構(gòu),包括聯(lián)系人判定裝置1621,路徑名判定裝置1622,絕對路徑獲得裝置1623和輸出裝置1624。
在第一種方式中,所述聯(lián)系人判定裝置1621通過圖4所示的聯(lián)系人存儲裝置410,用于將所述共享目標(biāo)客戶機(jī)1400的標(biāo)識符與聯(lián)系人存儲裝置中的聯(lián)系人標(biāo)識符或者用戶組標(biāo)識符進(jìn)行比較,以判定共享目標(biāo)客戶機(jī)1400是否是共享源客戶機(jī)1600的聯(lián)系人;或者在第二種方式中,所述聯(lián)系人判定裝置1621通過訪問控制列表,用于將所述共享目標(biāo)客戶機(jī)1400的標(biāo)識符與訪問控制列表中的用戶ID進(jìn)行比較,以判定共享目標(biāo)客戶機(jī)1400的標(biāo)識符是否在訪問控制列表中。
路徑名判定裝置1622通過查閱訪問控制列表,判定共享目標(biāo)客戶機(jī)1400的標(biāo)識符或其所在用戶組的標(biāo)識符、所述請求中提供的共享名是否在訪問控制列表中有匹配。
絕對路徑獲得裝置1623用于在路徑名判定裝置1622判定匹配時(shí),獲取所述請求項(xiàng)目的絕對路徑。絕對路徑獲得裝置1623獲得絕對路徑的方式與圖9中查找裝置823獲得絕對路徑的方式類似。
輸出裝置1624,一方面,在聯(lián)系人判定裝置1621或路徑名判定裝置1622判定不匹配時(shí),輸出錯(cuò)誤信息,另一方面,在這二者均匹配時(shí),將這一事實(shí)告知項(xiàng)目傳送裝置1630,以觸發(fā)建立通信連接,并且輸出表明請求被接受的信息。
另外,所述管理裝置還優(yōu)選地包括判斷所請求的文件是否存在的存在判定裝置1625,用于根據(jù)找到的絕對路徑判定共享目標(biāo)客戶機(jī)1400所請求的文件/文件夾是否存在。如果在共享目標(biāo)客戶機(jī)請求查看了共享項(xiàng)目信息后,共享源客戶機(jī)在本地文件系統(tǒng)中刪除了先前共享出來的項(xiàng)目,則進(jìn)行這樣的判定是有必要的。如果存在判定裝置1625判定請求的項(xiàng)目已經(jīng)不存在了,則可以通過輸出裝置1624輸出錯(cuò)誤信息。
另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,所述共享源客戶機(jī)1600還包括響應(yīng)發(fā)送裝置1640,用于將所述輸出裝置1634輸出的結(jié)果傳送給即時(shí)通信服務(wù)器,以便進(jìn)一步返回給共享目標(biāo)客戶機(jī)1400。
共享源客戶機(jī)1600執(zhí)行的方法的流程圖如圖18所示。
該方法從步驟1800開始并進(jìn)入步驟1810。在步驟1810中,共享源客戶機(jī)1600從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)1400的對共享項(xiàng)目的請求,如前所述,所述請求包括若干參數(shù)。
在收到請求后,該方法在步驟1820中查閱一個(gè)訪問控制列表,來確定所述共享目標(biāo)客戶機(jī)1400的請求是否是被授權(quán)的。
如果在步驟1820中確定請求是被授權(quán)的,則該方法進(jìn)入步驟1840,在其中通過根據(jù)所述請求中發(fā)送的用于建立通信連接的參數(shù),與共享目標(biāo)客戶機(jī)1400建立通信連接,并向其傳送所請求的文件/文件夾。
接著,該方法在步驟1840中結(jié)束。
另外,根據(jù)本發(fā)明的一種優(yōu)選實(shí)施方式,還可以響應(yīng)于確定所述共享目標(biāo)客戶機(jī)1400有權(quán)進(jìn)行訪問時(shí),在確定請求是被授權(quán)的情況下,將一方面建立通信連接,另一方面將表明請求被接受的信息發(fā)送給所述即時(shí)通信服務(wù)器,或者響應(yīng)于確定所述共享目標(biāo)客戶機(jī)1400無權(quán)進(jìn)行訪問,則不建立通信連接,而是將一個(gè)錯(cuò)誤信息傳送給所述即時(shí)通信服務(wù)器,以便最終轉(zhuǎn)發(fā)給所述共享目標(biāo)客戶機(jī)1400。
圖19示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,共享源客戶機(jī)1600執(zhí)行的方法的流程圖。
該方法在步驟1900中開始,隨后進(jìn)入步驟1905。在步驟1905中,如前所述,共享源客戶機(jī)1600從即時(shí)通信服務(wù)器接收來自所述共享目標(biāo)客戶機(jī)1400的開始接收共享項(xiàng)目的請求,所述請求包括如前所述的若干參數(shù)。
在步驟1910中,共享源客戶機(jī)1600判斷該共享目標(biāo)用戶是否在聯(lián)系人列表中。
如果判定結(jié)果為“是”,則該方法進(jìn)入步驟1915。在步驟1915中,根據(jù)用戶ID和共享名等在訪問控制列表中查找路徑名。
在步驟1920中,判斷是否找到路徑名。如果找到路徑名(“是”分支),則該方法進(jìn)入步驟1925,以便獲取請求的文件/文件夾的絕對路徑名。
如果在步驟1920中判斷未找到路徑名,則方法進(jìn)入步驟1930,在其中獲取用戶ID所在組的名稱,并且在步驟1935中,根據(jù)該組名和共享名,在訪問控制列表中查找是否有匹配的路徑名。
在步驟1940中,判斷是否找到匹配的路徑名,如果是,則該方法轉(zhuǎn)至步驟1925,以便獲取請求的文件/文件夾的絕對路徑名。如果步驟1940的判斷為“否”,則該方法進(jìn)入步驟1945,以返回錯(cuò)誤信息,表明該獲取項(xiàng)目的請求是未被授權(quán)的。
另外,如果在步驟1910中的判定為“否”,則該方法直接進(jìn)入步驟1945,以便返回錯(cuò)誤信息而結(jié)束該方法。
在通過執(zhí)行步驟1925,獲取了請求文件的絕對路徑后,該方法進(jìn)入步驟1950,以確定請求的文件/文件夾在共享源客戶機(jī)上是否仍然存在。
如果在步驟1950中的判斷為“是”,則方法進(jìn)入步驟1955。
在步驟1955中,一方面,返回表明請求被接受的信息,另一方面,根據(jù)請求中包括的用于建立文件傳送連接的參數(shù),與共享目標(biāo)客戶機(jī)建立連接。
接下來,在步驟1960中,將所請求的文件傳送給共享目標(biāo)客戶機(jī)。隨后該方法在步驟1965中結(jié)束。
另外,如果在步驟1950中的判斷為“否”時(shí),本發(fā)明的方法同樣是轉(zhuǎn)到步驟1945,以便返回錯(cuò)誤消息而結(jié)束本方法。
應(yīng)當(dāng)指出,在圖19所示的方法中,在步驟1910中判斷該提出請求的用戶是否在共享源客戶機(jī)1600的聯(lián)系人列表中。但是,在步驟1910中,也可以判斷該提出請求的用戶是否在共享源客戶機(jī)1600的訪問控制列表中,在最初便將進(jìn)行請求的用戶限制在存在于訪問控制列表中的用戶。
3)即時(shí)通信服務(wù)器圖20示出了即時(shí)通信服務(wù)器2000的結(jié)構(gòu)示意圖。
所述即時(shí)通信服務(wù)器200與多個(gè)即時(shí)通信客戶機(jī)相連,但是這里為了便于說明本發(fā)明的原理,只示出了兩個(gè),即共享目標(biāo)客戶機(jī)1400和共享源客戶機(jī)1600。但是應(yīng)當(dāng)理解,即時(shí)通信服務(wù)器2000可以與任意數(shù)量的即時(shí)通信客戶機(jī)相連。
為了執(zhí)行本發(fā)明,所述即時(shí)通信服務(wù)器2000包括第一接收裝置2010、第一轉(zhuǎn)發(fā)裝置2020,用虛線表示的第二接收裝置2030、第二轉(zhuǎn)發(fā)裝置2040以及參數(shù)附加裝置2050為即時(shí)通信服務(wù)器2000的優(yōu)選組件。
第一接收裝置2010用于從共享目標(biāo)客戶機(jī)1400接收開始接收共享項(xiàng)目的請求。
從第一接收裝置2010接收的請求將經(jīng)由第一轉(zhuǎn)發(fā)裝置2020轉(zhuǎn)發(fā)給共享源客戶機(jī)1600。
根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,所述即時(shí)通信服務(wù)器1200還可以包括一個(gè)參數(shù)附加裝置2050。這個(gè)附加裝置2050的作用是在當(dāng)來自共享目標(biāo)客戶機(jī)600的共享項(xiàng)目信息請求沒有給出共享目標(biāo)客戶機(jī)600的標(biāo)識符或者沒有給出用于與共享源客戶機(jī)1600建立文件傳送連接所需的各項(xiàng)參數(shù)(如前所述)時(shí),由即時(shí)通信服務(wù)器1200自動(dòng)提取這些標(biāo)識符和參數(shù)并將它們附加到請求中,一并由第一轉(zhuǎn)發(fā)裝置2020進(jìn)行轉(zhuǎn)發(fā)。
另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,在共享源客戶機(jī)1600執(zhí)行以上參照圖18描述的操作時(shí),還可以將獲取文件的請求是否被接受的信息通過即時(shí)通信服務(wù)器2000返回給共享目標(biāo)客戶機(jī)1400。在這種情況下,這一信息可由第二接收裝置2030進(jìn)行接收。并由第二轉(zhuǎn)發(fā)裝置2040將第二接收裝置2030接收的響應(yīng)轉(zhuǎn)發(fā)給共享目標(biāo)客戶機(jī)1400。
圖21是即時(shí)通信服務(wù)器2000執(zhí)行的方法的流程圖。
該方法在步驟2100中開始,隨后進(jìn)入2110。在步驟2110中,即時(shí)通信服務(wù)器2000從共享目標(biāo)客戶機(jī)1400接收對與共享出的項(xiàng)目的請求。接下來,在步驟2120中,將所述請求轉(zhuǎn)發(fā)給共享源客戶機(jī)1600。這一方法在步驟1350中結(jié)束。
在開始項(xiàng)目接收之前執(zhí)行請求獲取項(xiàng)目的操作以上參照圖14-21描述了共享目標(biāo)客戶機(jī)1400開始接收共享項(xiàng)目時(shí)通信各方的結(jié)構(gòu)及操作。根據(jù)本發(fā)明,可以在執(zhí)行參照圖7-13描述的共享目標(biāo)客戶機(jī)請求共享項(xiàng)目信息的操作后,直接執(zhí)行開始接收共享項(xiàng)目的操作。
但是,如果在請求了共享項(xiàng)目信息后,經(jīng)過長時(shí)間未執(zhí)行開始接收共享項(xiàng)目的操作,那么共享源客戶機(jī)上共享出的項(xiàng)目或其信息可能發(fā)生變化(例如,被刪除、更新登),從而一旦開始接收共享項(xiàng)目時(shí),可能項(xiàng)目不存在或者項(xiàng)目已改變的結(jié)果。
因此,在上面描述的這種情況下,為了保險(xiǎn)起見,可以在開始接收共享項(xiàng)目(即,執(zhí)行圖18或19的操作)前,先執(zhí)行“請求獲取項(xiàng)目”的操作,以便確保要獲取的項(xiàng)目仍然存在并且讓共享源客戶機(jī)能夠作好項(xiàng)目傳送準(zhǔn)備。
圖22示出了請求獲取項(xiàng)目操作的流程圖。
可以看出,圖22的操作與圖19的操作類似,只存在兩方面的區(qū)別。
第一個(gè)區(qū)別是在步驟2205中經(jīng)由即時(shí)通信服務(wù)器接收的是來自共享目標(biāo)用戶的“請求獲取項(xiàng)目”的請求,而不是“開始項(xiàng)目接收”的請求。
第二個(gè)區(qū)別是在步驟2255中,在確定請求的文件存在時(shí),只執(zhí)行獲取并返回請求項(xiàng)目的信息的操作,而不是執(zhí)行建立通信連接以進(jìn)行項(xiàng)目傳送的操作。
之所以優(yōu)選地執(zhí)行圖22的操作,有以下幾方面的考慮。
第一,確保在開始接收文件時(shí),文件仍然存在且共享目標(biāo)客戶機(jī)知道最新的文件信息。
第二,圖22的操作發(fā)送的是“請求獲取項(xiàng)目”的請求,一旦共享源客戶機(jī)收到這個(gè)請求,在確認(rèn)請求是被授權(quán)的情況下,其將作好傳送文件的初始化準(zhǔn)備(例如,將共享文件復(fù)制到緩沖區(qū)等),等待“開始項(xiàng)目接收”的請求。相比之下,圖11的操作發(fā)送的是“獲取共享項(xiàng)目信息”的請求,在共享源客戶機(jī)收到“獲取共享項(xiàng)目信息”的請求時(shí),它只獲取相應(yīng)的文件信息。
第三,由于在圖22的操作中也要確認(rèn)請求是否被授權(quán),因此可以進(jìn)一步提高安全性。
在本發(fā)明中,即時(shí)通信客戶機(jī)和服務(wù)器之間的通信由即時(shí)通信軟件來保證。
本發(fā)明的文件共享與Windows操作系統(tǒng)中的文件共享的不同之處在于,它不需要啟動(dòng)文件共享守護(hù)程序。相反,它只是根據(jù)請求來共享文件,因此不會對即時(shí)通信客戶機(jī)造成網(wǎng)絡(luò)攻擊,從而提高了安全性。
盡管本發(fā)明最終的文件傳送是在兩個(gè)即時(shí)通信客戶機(jī)之間直接通信連接而進(jìn)行的,但是這種通信連接是經(jīng)過與服務(wù)器的通信而建立的,并且在建立這樣的連接之前,要對請求是否被授權(quán)進(jìn)行驗(yàn)證,因此能夠容易地保證兩個(gè)即時(shí)通信客戶機(jī)之間的安全文件傳送。
而且,本發(fā)明在兩個(gè)客戶機(jī)之間進(jìn)行的文件傳送是對等的,不會對服務(wù)器的性能造成影響。
以上主要以音樂文件/文件夾的共享為例來描述本發(fā)明,但本本領(lǐng)域技術(shù)人員能夠理解,本發(fā)明的實(shí)施與共享哪種類型的文件/文件夾無關(guān),任何類型的文件/文件夾均可使用本發(fā)明的方案來進(jìn)行共享,包括但不限于音頻、視頻、圖像或文本文件。
以上主要以企業(yè)級即時(shí)通信軟件IBM Lotus Sametime為例對本發(fā)明進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員能夠理解,本發(fā)明的實(shí)施與所使用的即時(shí)通信軟件無關(guān)。本發(fā)明同等地適用于各種即時(shí)通信軟件,這包括諸如QQ、MSN、Yahoo Messenger、AOL Instant Messenger等之類的個(gè)人即時(shí)通信軟件以及諸如AOL AIM企業(yè)網(wǎng)關(guān)、JabberMessenger等的企業(yè)級即時(shí)通信軟件。
本領(lǐng)域技術(shù)人員能夠理解,在即時(shí)通信服務(wù)器、客戶機(jī)中使用的各種裝置可通過對處理器進(jìn)行相應(yīng)的編程以軟件方式實(shí)現(xiàn)、以硬件邏輯元件的方式實(shí)現(xiàn)或者以這二者的結(jié)合實(shí)現(xiàn),并且用于實(shí)現(xiàn)發(fā)送、接收和轉(zhuǎn)發(fā)等在各裝置之間進(jìn)行通信的組件可以通過有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)接口等諸多方式實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員會認(rèn)識到,可以以方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品的形式提供本發(fā)明的實(shí)施例。因此,本發(fā)明可采取全硬件實(shí)施例、全軟件實(shí)施例,或者組合軟件和硬件的實(shí)施例的形式。硬件和軟件的典型的結(jié)合可以是帶有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),當(dāng)程序被加載并被執(zhí)行時(shí),控制計(jì)算機(jī)系統(tǒng),從而可以執(zhí)行上述的方法。
本發(fā)明可以嵌入在計(jì)算機(jī)程序產(chǎn)品中,它包括使此處描述的方法得以實(shí)施的所有特征。所述計(jì)算機(jī)程序產(chǎn)品被包含在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲介質(zhì)(包括,但不限于,磁盤存儲器、CD-ROM、光學(xué)存儲器等)中,所述計(jì)算機(jī)可讀存儲介質(zhì)具有包含于其中的計(jì)算機(jī)可讀程序代碼。
已參考根據(jù)本發(fā)明的方法、系統(tǒng)及計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖說明了本發(fā)明。流程圖和/或方框圖中的每個(gè)方框,以及流程圖和/或方框圖中的方框的組合顯然可由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可被提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理器或者其他可編程的數(shù)據(jù)處理設(shè)備的處理器,以產(chǎn)生一臺機(jī)器,從而指令(所述指令通過計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備的處理器)產(chǎn)生用于實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中規(guī)定的功能的裝置。
這些計(jì)算機(jī)程序指令也可保存在一個(gè)或多個(gè)計(jì)算機(jī)的讀存儲器中,每個(gè)這種存儲器能夠指揮計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備按照特定的方式發(fā)揮作用,從而保存在計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生一種制造產(chǎn)品,所述制造產(chǎn)品包括實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中規(guī)定的功能的指令裝置。
計(jì)算機(jī)程序指令也可被加載到一個(gè)或多個(gè)計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備上,使得在所述計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理設(shè)備上執(zhí)行一系列的操作步驟,從而在每個(gè)這樣的設(shè)備上產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,以致在該設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中規(guī)定的步驟。
以上結(jié)合本發(fā)明的優(yōu)選實(shí)施方式對本發(fā)明的原理進(jìn)行了說明,但這些說明只是示例性的,不應(yīng)理解為對本發(fā)明的任何限制。本領(lǐng)域技術(shù)人員可以對本發(fā)明進(jìn)行各種改變和變形,而不會背離由隨附權(quán)利要求所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一個(gè)第一即時(shí)通信客戶機(jī),用于向一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)共享項(xiàng)目,所述一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)是所述第一即時(shí)通信客戶機(jī)的聯(lián)系人/聯(lián)系人組,所述第一即時(shí)通信客戶機(jī)包括聯(lián)系人存儲裝置,用于存儲各聯(lián)系人/聯(lián)系人組的信息;項(xiàng)目存儲裝置,用于至少存儲將與所述各聯(lián)系人/聯(lián)系人組共享的項(xiàng)目;選擇裝置,用于分別從聯(lián)系人存儲裝置和項(xiàng)目存儲裝置中選擇要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目;訪問控制列表生成裝置,用于響應(yīng)于選擇裝置的選擇,生成訪問控制列表,所述訪問控制列表相關(guān)聯(lián)地存儲要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息。
2.根據(jù)權(quán)利要求1所述的客戶機(jī),所述訪問控制列表生成裝置還包括提取裝置,用于響應(yīng)于選擇裝置的選擇,自動(dòng)提取識別要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息;填充裝置,用于將提取的信息填充到所述訪問控制列表的數(shù)據(jù)結(jié)構(gòu)中。
3.一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于向一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)共享項(xiàng)目,所述一個(gè)或多個(gè)第二即時(shí)通信客戶機(jī)是所述第一即時(shí)通信客戶機(jī)的聯(lián)系人/聯(lián)系人組,所述方法包括選擇要與之進(jìn)行共享的特定聯(lián)系人/聯(lián)系人組;選擇要與所述特定聯(lián)系人/聯(lián)系人組共享的項(xiàng)目;響應(yīng)于上述兩個(gè)選擇步驟,生成一個(gè)訪問控制列表,所述訪問控制列表相關(guān)聯(lián)地存儲要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息。
4.根據(jù)權(quán)利要求3所述的方法,其中所述生成訪問控制列表的步驟還包括響應(yīng)兩個(gè)選擇步驟,自動(dòng)提取識別要與之進(jìn)行共享的聯(lián)系人/聯(lián)系人組和要與之共享的項(xiàng)目的標(biāo)識信息;將提取的信息填充到所述訪問控制列表的數(shù)據(jù)結(jié)構(gòu)中。
5.一個(gè)第一即時(shí)通信客戶機(jī),用于從一個(gè)第二即時(shí)通信客戶機(jī)獲取在該第二即時(shí)通信客戶機(jī)上的共享項(xiàng)目信息,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括請求生成裝置,用于響應(yīng)第一即時(shí)通信客戶機(jī)的請求操作,生成一個(gè)獲取共享項(xiàng)目信息的請求,所述請求中包括所述第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目的指定信息;發(fā)送裝置,用于將所述請求發(fā)送給所述即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的對所述請求的響應(yīng)。
6.根據(jù)權(quán)利要求5所述的客戶機(jī),所述共享項(xiàng)目的指定信息包括下列之一用于代表針對該第一即時(shí)通信客戶機(jī)共享的所有項(xiàng)目的標(biāo)記(“\”);共享名;共享名與相對路徑的組合。
7.一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于從一第二即時(shí)通信客戶機(jī)獲取在該第二即時(shí)通信客戶機(jī)上的共享項(xiàng)目信息,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括響應(yīng)第一即時(shí)通信客戶機(jī)的請求操作,生成一個(gè)獲取共享項(xiàng)目信息的請求,所述請求中包括所述第二即時(shí)通信客戶機(jī)的標(biāo)識信息和共享項(xiàng)目的指定信息;將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的對所述請求的響應(yīng)。
8.一個(gè)第一即時(shí)通信客戶機(jī),用于響應(yīng)來自一個(gè)第二即時(shí)通信客戶機(jī)的獲取共享項(xiàng)目信息的請求,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的所述請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、以及共享項(xiàng)目的指定信息;管理裝置,用于通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;發(fā)送裝置,用于根據(jù)請求是否是被授權(quán)的,將對請求的響應(yīng)發(fā)送給所述即時(shí)通信服務(wù)器,以便返回給所述第二即時(shí)通信客戶機(jī)。
9.根據(jù)權(quán)利要求8所述的客戶機(jī),所述管理裝置進(jìn)一步包括ID判定裝置,用于通過訪問一個(gè)聯(lián)系人存儲裝置,判定所述第一即時(shí)通信客戶機(jī)是否是聯(lián)系人/聯(lián)系人組,或者用于通過查閱訪問控制列表,判定所述第一即時(shí)通信客戶機(jī)是否在訪問控制列表中;共享名判定裝置,用于通過查閱訪問控制列表,判定所述第一即時(shí)通信客戶機(jī)的標(biāo)識符和共享項(xiàng)目指定信息是否在訪問控制列表中有匹配;查找裝置,用于在ID判定裝置和共享名判定裝置判定匹配時(shí),根據(jù)訪問控制列表提供的絕對路徑,或者根據(jù)訪問控制列表提供的絕對路徑與共享項(xiàng)目指定信息中提供的相對路徑這二者的組合,從所述第一即時(shí)通信客戶機(jī)的本地文件系統(tǒng)中查找共享項(xiàng)目信息;輸出裝置,用于在ID比較裝置或共享名判定裝置判定不匹配時(shí),將錯(cuò)誤信息輸出到發(fā)送裝置,以表明請求未被授權(quán),以及用于在這二者均判定匹配時(shí),將輸出查找裝置查找到的信息輸出到發(fā)送裝置,以表明請求被授權(quán)。
10.一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于響應(yīng)來自一個(gè)第二即時(shí)通信客戶機(jī)的獲取共享項(xiàng)目信息的請求,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的所述請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、以及共享項(xiàng)目的指定信息;通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;根據(jù)請求是否是被授權(quán)的,將對請求的響應(yīng)發(fā)送給所述即時(shí)通信服務(wù)器,以便返回給所述第二即時(shí)通信客戶機(jī)。
11.根據(jù)權(quán)利要求10所述的方法,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的步驟包括確定所述第二即時(shí)通信客戶機(jī)是否在所述第一即時(shí)通信客戶機(jī)的聯(lián)系人列表中或訪問控制列表中。
12.根據(jù)權(quán)利要求11所述的方法,還包括在所述確定步驟的結(jié)果為“是”時(shí),進(jìn)一步針對所述第一即時(shí)通信客戶機(jī)確定共享項(xiàng)目指定信息是否在訪問控制列表中有匹配。
13.根據(jù)權(quán)利要求12所述的方法,還包括在進(jìn)一步確定存在匹配時(shí),表明請求被授權(quán),根據(jù)訪問控制列表提供的絕對路徑,或者根據(jù)訪問控制列表提供的絕對路徑與共享項(xiàng)目指定信息中提供的相對路徑這二者的組合,從所述第一即時(shí)通信客戶機(jī)的本地文件系統(tǒng)中查找共享項(xiàng)目信息,以便返回給第二即時(shí)通信客戶機(jī)作為響應(yīng)。
14.根據(jù)權(quán)利要求11或12所述的方法,在任何一個(gè)確定步驟給出否定結(jié)果時(shí),表明未被授權(quán),并將錯(cuò)誤信息作為響應(yīng)返回給所述第二即時(shí)通信客戶機(jī)。
15.一個(gè)第一即時(shí)通信客戶機(jī),用于請求開始從一個(gè)第二即時(shí)通信客戶機(jī)接收在該第二即時(shí)通信客戶機(jī)上共享出的項(xiàng)目,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括請求生成裝置,用于響應(yīng)用戶的請求操作,生成開始接收共享項(xiàng)目的請求,所述請求中包括第二即時(shí)通信客戶機(jī)的標(biāo)識符、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);發(fā)送裝置,用于將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);項(xiàng)目接收裝置,用于通過基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立的通信連接,從所述第二即時(shí)通信客戶機(jī)接收共享的項(xiàng)目。
16.根據(jù)權(quán)利要求15所述的客戶機(jī),還包括響應(yīng)接收裝置,用于經(jīng)由即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的關(guān)于所述請求是否被授權(quán)的響應(yīng)。
17.根據(jù)權(quán)利要求15所述的客戶機(jī),所述共享項(xiàng)目的指定信息包括下列之一用于代表針對該第一即時(shí)通信客戶機(jī)共享的所有項(xiàng)目的標(biāo)記(“\”)、共享名、共享名與相對路徑的組合;所述用于項(xiàng)目傳送的參數(shù)包括用于項(xiàng)目傳送的第一即時(shí)通信客戶機(jī)的IP地址、用于項(xiàng)目傳送的第一即時(shí)通信客戶機(jī)的端口地址以及項(xiàng)目傳送會話ID。
18.一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于請求開始從一個(gè)第二即時(shí)通信客戶機(jī)接收在該第二即時(shí)通信客戶機(jī)上共享出的項(xiàng)目,所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括響應(yīng)用戶的請求開始接收共享項(xiàng)目的操作,生成請求開始接收共享項(xiàng)目的請求,所述請求中包括第二即時(shí)通信客戶機(jī)的標(biāo)識符、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);將所述請求發(fā)送給即時(shí)通信服務(wù)器,以便轉(zhuǎn)發(fā)到所述第二即時(shí)通信客戶機(jī);通過基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立的通信連接,從所述第二即時(shí)通信客戶機(jī)接收共享的項(xiàng)目。
19.根據(jù)權(quán)利要求18所述的方法,還包括經(jīng)由即時(shí)通信服務(wù)器,接收來自所述第二即時(shí)通信客戶機(jī)的關(guān)于所述請求是否被授權(quán)的響應(yīng)。
20.根據(jù)權(quán)利要求18所述的方法,所述共享項(xiàng)目的指定信息包括下列之一用于代表針對該第一即時(shí)通信客戶機(jī)共享的所有項(xiàng)目的標(biāo)記(“\”)、共享名、共享名與相對路徑的組合;所述用于項(xiàng)目傳送的參數(shù)包括用于項(xiàng)目傳送的第一即時(shí)通信客戶機(jī)的IP地址、用于項(xiàng)目傳送的第一即時(shí)通信客戶機(jī)的端口地址以及項(xiàng)目傳送會話ID。
21.根據(jù)權(quán)利要求18所述的方法,還包括在響應(yīng)用戶的請求開始接收共享項(xiàng)目的操作,生成請求開始接收共享項(xiàng)目的請求的步驟之前,執(zhí)行下列步驟響應(yīng)用戶的請求獲取項(xiàng)目的操作,生成請求獲取項(xiàng)目的請求,以獲得共享項(xiàng)目的信息;通過即時(shí)通信服務(wù)器將請求獲取項(xiàng)目的請求轉(zhuǎn)發(fā)給第二即時(shí)通信客戶機(jī);通過即時(shí)通信服務(wù)器從第二即時(shí)通信客戶機(jī)接收共享項(xiàng)目的信息或者錯(cuò)誤信息作為響應(yīng)。
22.一個(gè)第一即時(shí)通信客戶機(jī),用于根據(jù)來自一個(gè)第二即時(shí)通信客戶機(jī)的請求將共享項(xiàng)目傳送到該第二即時(shí)通信客戶機(jī),所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述第一即時(shí)通信客戶機(jī)包括接收裝置,用于從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);管理裝置,用于通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;項(xiàng)目傳送裝置,用于響應(yīng)于管理裝置確定所述請求是被授權(quán)的,基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立通信連接,以將共享項(xiàng)目傳送到所述第二即時(shí)通信客戶機(jī)。
23.根據(jù)權(quán)利要求22所述的客戶機(jī),還包括發(fā)送裝置,用于響應(yīng)管理裝置確定所述請求是被授權(quán)的,將表示請求被授權(quán)的信息經(jīng)由所述即時(shí)通信服務(wù)器返回給所述第二即時(shí)通信客戶機(jī),以及用于響應(yīng)管理裝置確定所述請求是未被授權(quán)的,將錯(cuò)誤代碼經(jīng)由所述即時(shí)通信服務(wù)器返回給所述第二即時(shí)通信客戶機(jī)。
24.根據(jù)權(quán)利要求25所述的客戶機(jī),所述管理裝置還包括聯(lián)系人判定裝置,用于通過訪問一個(gè)聯(lián)系人存儲裝置,判定所述第一即時(shí)通信客戶機(jī)是否是聯(lián)系人/聯(lián)系人組,或者用于通過查閱訪問控制列表,判定所述第一即時(shí)通信客戶機(jī)是否在訪問控制列表中;路徑名判定裝置,通過查閱訪問控制列表,判定所述第二共享目標(biāo)客戶機(jī)的標(biāo)識符或其所在用戶組的標(biāo)識符、所述請求中提供的共享名是否在訪問控制列表中有匹配;絕對路徑獲得裝置,用于在路徑名判定裝置判定匹配時(shí),獲取所述請求項(xiàng)目的絕對路徑;輸出裝置,用于在聯(lián)系人判定裝置或路徑名判定裝置判定不匹配時(shí),輸出錯(cuò)誤信息,以及用于在這二者均匹配時(shí),觸發(fā)項(xiàng)目傳送裝置建立通信連接,并輸出表明請求被接受的信息。
25.根據(jù)權(quán)利要求22所述的客戶機(jī),所述管理裝置還包括存在判定裝置,用于根據(jù)絕對路徑獲得裝置找到的絕對路徑,判定第二即時(shí)通信客戶機(jī)請求開始接收的項(xiàng)目是否存在。
26.一種用于一個(gè)第一即時(shí)通信客戶機(jī)的方法,用于根據(jù)來自一個(gè)第二即時(shí)通信客戶機(jī)的請求將共享項(xiàng)目傳送到該第二即時(shí)通信客戶機(jī),所述第一、第二即時(shí)通信客戶機(jī)通過即時(shí)通信服務(wù)器通信相連,所述方法包括從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的開始接收共享項(xiàng)目的請求,所述請求包括所述第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息、共享項(xiàng)目的指定信息以及用于項(xiàng)目傳送的參數(shù);通過查閱一個(gè)訪問控制列表,根據(jù)所述請求中包括的第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的;響應(yīng)于確定所述請求是被授權(quán)的,基于所述用于項(xiàng)目傳送的參數(shù)與所述第二即時(shí)通信客戶機(jī)之間建立通信連接,將共享項(xiàng)目傳送到所述第二即時(shí)通信客戶機(jī)。
27.根據(jù)權(quán)利要求26所述的方法,確定所述第二即時(shí)通信客戶機(jī)的請求是否是被授權(quán)的步驟包括確定所述第二即時(shí)通信客戶機(jī)或其所在聯(lián)系人組是否在所述第一即時(shí)通信客戶機(jī)的聯(lián)系人列表中或訪問控制列表中。
28.根據(jù)權(quán)利要求27所述的方法,還包括在所述確定步驟的結(jié)果為“是”時(shí),進(jìn)一步針對所述第二即時(shí)通信客戶機(jī)或其所在聯(lián)系人組確定共享項(xiàng)目指定信息是否在訪問控制列表中有匹配。
29.根據(jù)權(quán)利要求28所述的方法,還包括在進(jìn)一步確定存在匹配時(shí),根據(jù)訪問控制列表找到共享項(xiàng)目的絕對路徑,或者根據(jù)訪問控制列表提供的絕對路徑與共享項(xiàng)目指定信息中提供的相對路徑這二者的組合,找到共享項(xiàng)目的絕對路徑。
30.根據(jù)權(quán)利要求29所述的方法,還包括根據(jù)找到的絕對路徑確定請求開始接收的共享項(xiàng)目是否仍存在于第一即時(shí)通信客戶機(jī)中。
31.根據(jù)權(quán)利要求30所述的方法,用于在確定共享項(xiàng)目仍然存在時(shí),觸發(fā)項(xiàng)目傳送裝置建立通信連接,同時(shí)將請求被授權(quán)的響應(yīng)經(jīng)由即時(shí)通信服務(wù)器返回給第二通信客戶機(jī)。
32.根據(jù)權(quán)利要求27-30中任一項(xiàng)所述的方法,其中在任何一個(gè)確定步驟給出否定結(jié)果時(shí),表明請求未被授權(quán),并將錯(cuò)誤信息作為響應(yīng)經(jīng)由即時(shí)通信服務(wù)器返回給所述第二即時(shí)通信客戶機(jī)。
33.根據(jù)權(quán)利要求27所述的方法,還包括在從即時(shí)通信服務(wù)器接收來自所述第二即時(shí)通信客戶機(jī)的開始接收共享項(xiàng)目的請求之前,執(zhí)行下列步驟接收來自第二即時(shí)通信客戶機(jī)的請求獲取項(xiàng)目的請求,所述請求包括第一、第二即時(shí)通信客戶機(jī)的標(biāo)識信息以及共享項(xiàng)目的指定信息;第一即時(shí)通信客戶機(jī)根據(jù)訪問控制列表確定所述請求是否在訪問控制列表中存在匹配,在確定存在匹配時(shí),根據(jù)訪問控制列表中的絕對路徑,或者根據(jù)訪問控制列表中的絕對路徑與共享項(xiàng)目指定信息中的相對路徑,從本地文件系統(tǒng)中找到共享項(xiàng)目信息,以經(jīng)由即時(shí)通信服務(wù)器返回給第二即時(shí)通信客戶機(jī)。
全文摘要
本發(fā)明提供了在即時(shí)通信客戶機(jī)之間進(jìn)行文件/文件夾共享的系統(tǒng)和方法。在本發(fā)明中,在共享源客戶機(jī)對特定的聯(lián)系人/聯(lián)系人組共享出文件/文件夾時(shí),建立一個(gè)訪問控制列表,相關(guān)聯(lián)地存儲所述特定的聯(lián)系人/聯(lián)系人組和對其共享的文件/文件夾。在共享目標(biāo)客戶機(jī)請求訪問共享項(xiàng)目信息時(shí)、請求獲取項(xiàng)目、請求開始項(xiàng)目接收時(shí),共享源客戶機(jī)均會查閱此訪問控制列表,以確定請求是否被授權(quán)。僅當(dāng)請求被授權(quán)時(shí),共享源客戶機(jī)才能執(zhí)行請求的操作。通過使用本發(fā)明,可以在即時(shí)通信客戶機(jī)用戶之間實(shí)現(xiàn)自動(dòng)而靈活的文件/文件夾共享。
文檔編號G06Q10/00GK1928861SQ20051009885
公開日2007年3月14日 申請日期2005年9月9日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者馬嶽, 扈曉煒, 梁騫 申請人:國際商業(yè)機(jī)器公司