專利名稱:對等組共享空間中進行文件共享的系統(tǒng)和方法
技術領域:
本發(fā)明涉及計算機網絡上的通訊和交互。更特別地,本發(fā)明涉及定義無服務器共享存儲器空間和在所述共享空間中的組成員之間共享文件的系統(tǒng)和方法。
背景技術:
因特網和其他網絡的流行導致了各種交互和任務從物理世界到數字世界的遷移。例如,在過去通過向組中的其他成員共享其物理拷貝進行共享的文檔和文件現在通常對其進行電子地處理并數字地通過網絡傳輸。在組成員之間這樣的交換中,很重要的是對各個組成員進行的訪問保持一定程度的控制,特別是當組互相之間進行合作時。
隨著數字時代的到來,一種沒有從物理世界大規(guī)模地遷移到數字世界的活動是組交互。在我們的日常生活中,我們經常性地和人們進行交互,并組成這樣的社會團體,我們參與其中隨著時間增長進行各種活動。社會團體中的每個人知道其他的每個人,并且這些組隨著時間增長并改變。存在于我們日常生活中的這個比喻尚未轉換至數字世界中。
雖然現今存在一些遠程方之間進行數字通訊的機制和論壇,沒有一個能提供強有力的帶來廣泛使用的解決方案。現有的通訊機制現今也不能提供直觀易用的用戶接口。例如,這些技術不提供在其中組成員可以訪問共享文件并參與其他組活動的真實組空間。相反,很多現有的技術傾向集中于單種活動或工作,如游戲或文件共享,而不是組及其活動和通訊。其他技術支持組聊天,但是沒有真實的組概念,每次嘗試組聊天時都需要設置組,且不提供用于轉換組到純粹聊天之外的活動而不需在下一個活動處再次手動地設置組的機制。
簡言之,現有的網絡交互機制不提供在期望的組用戶之間即刻處理共享數據和信息的機制。另外,現有機制沒有提供用于簡化這樣的共享數據的管理的用戶接口。
從而需要能夠幫助組交互,通過這樣的交互,期望的組用戶可以在安全的環(huán)境中互相交互,且通過這樣的交互,用戶可以訪問在它們互相的共享關系中共享的文件并保持對它們的控制。
發(fā)明內容
本發(fā)明涉及通過圖形接口向用戶提供的在無服務器的安全共享空間中共享文件的系統(tǒng)和方法。在一個實施例中,在對等網絡環(huán)境中實現本發(fā)明以幫助組成員之間的網絡通訊。
共享空間是作為文件系統(tǒng)中的條目提供的,以使得可以激活用戶可選擇的管理任務和項目。這樣的動作包括對空間內的共享文件執(zhí)行的各種操作。在創(chuàng)建共享空間后,其他用戶可以訪問并/或傳輸文件,并執(zhí)行其他文件管理操作,如拖放共享文件、移動、復制及其他文件系統(tǒng)管理任務。另外,可以將共享文件和目錄鏈接到共享空間。這提供可用于共享文件的用戶操作的清晰概念,從而創(chuàng)建易于使用的組空間。
本發(fā)明提供在共享空間中共享文件的系統(tǒng)和方法。共享空間的所有者可以邀請其他用戶進入該空間以共享文件,如圖片、視頻或其他內容。共享空間自身是安全的,以使得只有受到邀請的個人才能連接到該空間。一經創(chuàng)建,用戶就可以拖放文件到共享空間自身內并對共享文件和目錄執(zhí)行其他文件系統(tǒng)操作。根據本發(fā)明,共享文件包括傳播到共享空間其他成員的相關元數據。晚些連接到該組的成員仍然能夠訪問這樣的元數據并從而繼續(xù)在共享空間內操作。接收到元數據后,基于用戶設置的基礎架構現在可以處理根據需要共享文件,如通過在本地復制共享文件,也可以不這樣。在本地復制文件的情況下,用文件元數據的源建立連接,并將共享文件從源傳輸到本地計算機。只要只有該組的合法成員才能復制共享文件到其空間,此處理就是安全的。
通過使用文件系統(tǒng)接口,可以快速高效地管理共享空間內的文件。以此方式,其他應用可以即刻訪問由用戶定義的共享空間中的內容。
圖1為示意圖,展示可用于實現本發(fā)明實施例的范例計算機系統(tǒng);圖2為示意圖,展示用于本發(fā)明實施例中的通訊的范例網絡環(huán)境;圖3為示意圖,展示符合本發(fā)明實施例的對等網絡架構;
圖4為一些符合本發(fā)明實施例的可以提供用于幫助創(chuàng)建和處理共享組空間的用戶接口元素的屏幕表示;圖5為符合本發(fā)明實施例的提供文件系統(tǒng)表示的另一個組空間用戶接口元素的屏幕表示;圖6為符合本發(fā)明實施例的開始菜單顯示的屏幕表示;圖7為符合本發(fā)明實施例的共享空間目錄的屏幕表示;圖8為圖7的共享空間目錄在選擇了目錄圖標時的屏幕表示;圖9為有助于組管理和功能性的共享空間設置面板的屏幕表示;圖10為符合本發(fā)明實施例的共享空間任務視圖的屏幕表示;圖11為符合本發(fā)明實施例的共享空間目錄的列表視圖的屏幕表示;圖12為符合本發(fā)明實施例的創(chuàng)建或增加成員到共享空間的設置向導的屏幕表示;圖13為向已被邀請加入一個組的用戶顯示的邀請向導的屏幕表示;圖14為允許用戶改變組成員角色的設置向導的屏幕表示;圖15為符合本發(fā)明實施例的共享空間目錄的屏幕表示,展示有關位于共享空間中的共享文件的各種屬性;圖16為符合本發(fā)明實施例的屏幕表示,展示在復制共享文件的操作期間的用戶接口;圖17為符合本發(fā)明實施例的具有呈現顯示的下拉菜單;圖18為簡化的流程圖,展示執(zhí)行邀請新成員加入組的操作的各種方法步驟;圖19為簡化的流程圖,展示執(zhí)行符合本發(fā)明實施例的共享文件更新的各種方法步驟;及圖20為另一個簡化的流程圖,以另一個組成員的角度展示執(zhí)行圖19的共享文件更新的各種方法步驟。
具體實施例方式
總的來說,本發(fā)明涉及無服務器的共享組空間,所述共享組空間支持定義的組成員之間的安全交互。在一個方面,本發(fā)明提供和文件系統(tǒng)操作(如對放到共享空間中的文件進行的拖放操作)集成的用戶接口。本發(fā)明通過創(chuàng)建共享空間允許與一個或多個其他實體建立并維護安全的關系。
雖然這對實現本發(fā)明不是必需的,本發(fā)明在說明中是通過計算機可執(zhí)行指令(如由計算設備執(zhí)行的程序模塊)實現的。通常,程序模塊包括執(zhí)行特殊任務或實現特殊抽象數據類型的例程、程序、對象、組件、數據結構等等。
本發(fā)明可以在各種計算設備配置中實現。例如,本發(fā)明可以實現在手持設備、移動電話、多處理器系統(tǒng)、基于微處理器的或可編程的消費者電子設備、網絡PC、小型機、大型機及其類似、可佩戴的計算或通訊設備,及能夠進行可視顯示并與其他設備直接或間接通訊的任何其他設備中。本發(fā)明也可以實現在分布式計算環(huán)境中,在其中任務由通過通訊網絡連接的遠程處理設備執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備。因此應理解,本發(fā)明如上所示較佳地包括在很多類型的計算環(huán)境中。
在詳細說明本發(fā)明之前,連接圖1來說明在其中實現本發(fā)明的范例計算環(huán)境。計算設備20包括處理單元21、系統(tǒng)存儲器22及連接包括系統(tǒng)存儲器的各種系統(tǒng)組件到處理單元21的系統(tǒng)總線23。系統(tǒng)總線23可以為幾種類型的總線結構中的任何一種,包括存儲器總線或存儲器控制器、外圍設備總線,及使用多種總線結構中的任何一種的本地總線。系統(tǒng)存儲包括只讀存儲器(ROM)24和隨機訪問存儲器(RAM)25。包含基本的例程以幫助在計算設備20的元件之間傳輸信息,如在啟動過程中的基本輸入/輸出系統(tǒng)26(BIOS)存儲在ROM 24中。計算設備20進一步包括讀寫硬盤60的硬盤驅動器27、讀寫可移動磁盤29的磁盤驅動器28、讀寫如CD-ROM或其他光學媒體這樣的可移動光盤31的光盤驅動器30。
硬盤驅動器27、磁盤驅動器28和光盤驅動器30各自通過硬盤驅動器接口32、磁盤驅動器接口33,和光學驅動器接口34與系統(tǒng)總線23連接。驅動器及與它們關聯(lián)的計算機可讀媒體對個人計算機20提供計算機可執(zhí)行指令、數據結構、程序模塊或其他數據的非易失存儲。雖然在此說明的范例環(huán)境中使用硬盤60、可移動磁盤29,及可移動光盤31,熟悉技術的人應理解,也可以在例子操作環(huán)境中使用其他類型的可以用來存儲能夠由計算機訪問的數據的計算機可讀媒體,如盒式磁帶、閃存卡、數字視頻盤、伯努利盒式磁帶、隨機訪問存儲器、只讀存儲器等等。
可以在硬盤60、磁盤29、光盤31、ROM 24或RAM 25上存儲多個程序模塊,包括操作系統(tǒng)35、一個或多個應用程序36、其他程序模塊37,及程序數據38。用戶可以通過如鍵盤40和定點設備42這樣的輸入設備輸入命令和信息到設備20中。其他輸入設備(未標出)包括麥克風、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀或類似設備。這些和其他輸入設備通常通過連接到系統(tǒng)總線23的串行端口接口46連接到處理單元21,但也可以通過其他接口,如并行口、游戲口,或通用串行總線(USB)來連接。顯示設備47或其他顯示設備也通過接口,如視頻適配器48與系統(tǒng)總線23連接。除顯示器外,計算設備通常包括其他外圍輸出設備(未標出),如揚聲器和打印機。
設備20可以使用到一個或多個遠程計算設備(如遠程計算機49)的固定或暫時邏輯連接在連網環(huán)境中運行。遠程計算機49可以是其他類似的計算設備、服務器、路由器、網絡PC、對等設備或其他普通網絡節(jié)點,或任何其他設備類型,如在此說明的任何設備類型,雖然遠程計算機49通常包括多個或所有上述相對于計算設備20說明的元件,在圖1中只展示了存儲器存儲設備50。圖1中所示邏輯連接包括局域網(LAN)51和廣域網(WAN)52。這樣的連網環(huán)境在辦公室范圍或企業(yè)范圍的計算機網絡、企業(yè)內部互聯(lián)網和因特網中是很常見的。
當用在LAN連網環(huán)境中時,計算設備20通過網絡接口或適配器53與局域網51相連。當用在WAN連環(huán)境中時,計算設備20通常包括調制解調器54或其他在廣域網52上建立通訊的方法。調制解調器54,可以為內置的或外置的,通過串行端口接口46連接到系統(tǒng)總線23。在連網環(huán)境中,相對于計算設備20說明的程序模塊,或其部分,可以存儲在遠程存儲器存儲設備中。應理解所示的網絡連接是說明性的且可以使用在計算機之間建立通訊連接的其他方法。另外,本發(fā)明并不限于特殊的網絡類型。任何網絡類型,有線或無線、固定或暫時、回路交換、分組交換或其他網絡架構,均可用來實現本發(fā)明。
在下面的說明中,將引用由一個或多個計算設備執(zhí)行的操作的動作和符號表示對本發(fā)明進行說明,除非特別指出。這樣的動作和操作,稱為是計算機執(zhí)行的,它們包括計算設備的處理單元對以結構化的形式表示數據的電子信號的處理。此處理轉換數據或在計算設備的存儲器系統(tǒng)中的位置維護數據,這些數據以熟悉技術的人所理解的方式重新配置或更改計算設備的操作。數據結構是具有由數據格式定義的特殊屬性的存儲器物理位置。然而,雖然本方面在上述上下文中說明,這并不是限制性的。熟悉技術的人應理解,在此說明的各種動作和操作也可以在硬件中實現。
圖2為示意圖,展示在其中可以實現本發(fā)明實施例的網絡環(huán)境。特別地,多個用戶計算設備201、203、205和207如所示通過網絡209進行通訊鏈接。每個用戶設備通常由不同的用戶使用或與其關聯(lián)。這樣連接的用戶設備的具體數字對本發(fā)明并不重要,雖然網絡通訊通常至少包括兩個用戶。當應用于較小的組時,本發(fā)明能實現最大的好處。當需要避免侵犯和共享的音頻材料相關的版權時,應限制涉及共享音頻文件的組成員數量。此外,雖然網絡209的類型不重要,最好是允許在兩個或多個用戶機器之間直接或間接地進行信息交換的對等網絡。通過網絡209,可以將來自一個用戶的通訊發(fā)送到另一個用戶或多個用戶(通過他們各自的用戶設備)。雖然用戶機器201、203、205、207可以在地理上互相遠離,本發(fā)明對合作性質的組也很有用,這樣的組會出現在會議室或類似的地方之內。
用于實現本發(fā)明實施例的一個或多個用戶機器可以象相對于圖1的計算設備架構展示的那樣,雖然本方面并沒有這樣的內在限制。可以想到,本發(fā)明的實施例將附加地或可選地用于任何數量的其他通訊設備類型,包括但不局限于可佩戴的通訊設備、移動電話和PDA。
根據本發(fā)明,通過具有現有文件系統(tǒng)特征外觀的圖形用戶接口來提供共享空間。例如,本發(fā)明可以使用Windows資源管理器樣式的對話框,如打開對話框或類似。這樣的文件系統(tǒng)操作可通過創(chuàng)建的共享空間訪問。在一個實施例中,本發(fā)明實現為Windows資源管理器的名字空間擴展,它以和文件系統(tǒng)創(chuàng)建那些元素類似或相同的方式提供用戶接口元素,如提供顯示窗口、圖標和其他圖形表示來呈現文件系統(tǒng)的外觀。例如,本發(fā)明可以實現支持MicrosoftWindows資源管理器文件系統(tǒng)能力的名字空間擴展和基本目錄對象接口。應用類似地支持類似于對駐留在共享空間內的數據執(zhí)行的文件系統(tǒng)操作的各種操作。
另外,本發(fā)明可以實現為文件系統(tǒng)驅動器或駐留在文件系統(tǒng)之下并訪問由操作系統(tǒng)提供的文件系統(tǒng)服務的過濾驅動器。在此實施例中,文件系統(tǒng)顯示它通常顯示的文件包括組空間內的文件,以使得文件系統(tǒng)對文件共享進行擴展。
在兩個實施例中,本發(fā)明都最好能利用現有的對等基礎架構,此架構支持在分布式環(huán)境中分發(fā)較大數量的應用和/或情況。熟悉技術的人應理解,這樣的基礎架構可以提供的功能包括,而不限制于,NAT遍歷、名字解析、高效的多點通訊、安全組和分布式數據管理。
對組成員之間的數據傳輸和通訊,最好使用對等網絡架構。圖3展示符合本發(fā)明的一個實施例的對等網絡架構。對執(zhí)行各種對等搜索和管理操作,本發(fā)明使用的現有基礎架構如2001年8月29日提交、序列號為09/942,164、標題為“對等名字解析協(xié)議(PNRP)和對其使用的多級緩沖”的專利申請及2001年9月19日提交、序列號為09/955,923、標題為“對等組管理和維護對等圖的方法”的專利申請所述。這些申請的主題完整地包括在此作為參考。該架構包括在其上放置其他層和組件的核心操作系統(tǒng)(OS)層302。例如,WinSock層304位于核心OS層302之上。該層包括增加到應用標識符以幫助網絡通訊的套接字擴展。即,WinSock層是提供良好定義的數據結構和函數調用集合的Microsoft Windows網絡應用編程接口(API)。以此方式,將請求通用網絡服務的應用函數調用轉換為協(xié)議特定的請求。
為了執(zhí)行對網絡中其他對等實體的搜索,可以按如下使用架構中的各種組件。通過網絡服務協(xié)議組件(NSP)306暴露的發(fā)現層提供以分布式、無服務器的方式在網絡中解析名字的方法。圖形組件306提供組織用于高效信息交換的節(jié)點集合的方法。分組層316提供在圖形組件306之上安全層。圖形和分組組件兩者都對應用使用存儲310以發(fā)布散布到組/圖中的所有成員之間的數據。由層320表示的應用也可以通過使用搜索組件308在分組或圖形組件中搜索數據。
根據本發(fā)明,組共享空間由作為現有文件系統(tǒng)的部分包括或至少是現有文件系統(tǒng)操作的直觀擴展的圖形用戶接口表示和控件來表示。很象真實的世界,創(chuàng)建共享空間以在一個或多個實體間形成關系。由相同實體創(chuàng)建或使用的共享空間最好在單個外殼目錄中顯示。用于管理共享空間及其內容的控件作為外殼目錄中的任務窗格的部分提供。
在更詳細地對單個特性進行說明之前,參考圖4說明符合本發(fā)明實施例的一個總體用戶接口表示。符合本發(fā)明實施例的“我的文檔”目錄402的屏幕顯示包括設計用于幫助訪問、創(chuàng)建和管理組共享空間的能力的一個或多個元素。較佳地,組空間目錄對象404,在此情況為“我的共享空間”子目錄圖標,提供到組共享空間的鏈接。如所示,組空間圖標404包含在“我的文檔”目錄右窗格顯示區(qū)域406內。其他子目錄也包含在“我的文檔”目錄顯示區(qū)域406內,如“我的音樂”子目錄408、“我的圖片”子目錄410和“我的視頻”子目錄412。特定用戶可以有不止一個他或她所屬的組,且每個組成員可以屬于一個或多個其他成員不屬于的一個組或多個組。因此,雖然相關的組空間圖標404對每個組成員出現,并相同地在每個機器上出現,可能存在用戶的屏幕顯示的部分不和其他組成員共享。
我的文檔目錄402也包括左邊顯示區(qū)域中的窗格414。此窗格414包括任務窗格416,任務窗格416呈現可以連接共享空間執(zhí)行的各種用戶可選擇文件和目錄任務。這些任務包括創(chuàng)建新的共享空間目錄、發(fā)布共享空間到因特網上,及和其他實體共享此目錄。
除了任務窗格416,左邊的窗口還包括其他圖形特性,包括提供到一個或多個其他文件系統(tǒng)位置的鏈接的“其他位置”列表418。這些包括用戶可以即刻識別的“桌面”、“我的電腦”和“網上鄰居”。最后,該窗格還包括“細節(jié)”列表420,它在此情況是用于提供有關在“我的文檔”目錄中選擇的項目的細節(jié)的下拉列表。
通過將共享空間作為文件系統(tǒng)的“我的文檔”目錄中的鏈接包括進來,可以連接存儲在其中的共享文件使用各種窗口和普通對話框。以此方式,可以對這樣的內容執(zhí)行各種操作,如打開、保存、另存為等等。一個這樣的例子在圖5中展示。如標題欄502所示,呈現了打開窗口504。此窗口在左邊的窗格506中包括各種圖標式的快捷方式508、510、512、514和516,它們提供到文件系統(tǒng)內各個位置的鏈接。當選擇了“我的文檔”快捷方式512時,如由位置字段518中的條目所示,文件系統(tǒng)在右邊的窗口520中顯示子目錄的列表。此列表包括“我的共享空間”目錄圖標522,它是到共享空間目錄的鏈接。通過用雙擊或其他適當的用戶操作選擇此目錄,系統(tǒng)將顯示共享空間目錄的內容。
除了放置到“我的文檔”目錄中,“我的共享空間”鏈接可以包括在開始菜單表示600中,如在圖6中顯示的表示。開始菜單600包括到至少特定數量的可以由系統(tǒng)在圖形顯示的第一個窗格602中啟動的應用的鏈接的列表。此外,在下面的圖形顯示區(qū)域606提供任務欄托盤604和控件。最后,“我的共享空間”鏈接可以作為一般為如“我的文檔”、“我的圖片”和“我的音樂”這樣的類似鏈接保留的顯示區(qū)域中菜單右邊的列表的部分提供。另外,“我的共享空間”鏈接也可以作為子列表的部分包括,以使得用戶為了訪問“我的共享空間”目錄必須首先選擇“我的文檔”鏈接。
已說明了用于訪問“我的共享空間”窗口的圖形表示,現在說明處理共享空間自身的方式。根據本發(fā)明實施例的特性,共享空間顯示窗口以各種模式提供對特定任務的用戶訪問。在較佳實施例中,顯示窗口提供專門的任務窗格以允許按三種不同的操作模式訪問有關共享空間的操作,所述三種方式為(1)未選擇共享空間項;(2)選擇了共享空間項;及(3)選擇了成員目錄。
圖7為圖形共享空間的顯示外殼窗口702,展示未選擇共享空間項時的任務視圖。窗口的右邊窗格704顯示由登錄用戶創(chuàng)建或使用的所有共享空間,如果有的話。在所示窗口中,沒有出現任何項。左邊窗格706顯示專門任務窗格708,該窗格呈現用于對共享空間進行文件系統(tǒng)操作的可選擇菜單項。在所示例子中,當未選擇任何項時,專門任務窗格708呈現可選擇的“創(chuàng)建新共享空間“任務710。用戶選擇此項710通過在數據字段中按文件系統(tǒng)的定義命名該空間來創(chuàng)建共享空間。注冊該名字且創(chuàng)建描述性的名字空間圖標。當增加到組時,其他成員也將看到該名字。
除了專用任務窗格,左邊窗格706也可以包括“其他位置”列表712,它包含到其他文件系統(tǒng)位置的鏈接。最后,左邊窗格包括文件或目錄細節(jié)窗格714,它呈現有關共享空間文件目錄的細節(jié)。
當選擇了共享空間文件目錄圖標時,專用任務窗格改變?yōu)槌尸F可以由共享空間用戶執(zhí)行的任務。圖8展示這種操作模式中的“我的共享空間”窗口802。即,在用戶選擇現有共享空間目錄,如右邊窗格806中的目錄804時,在專用任務窗格808中呈現關聯(lián)的任務。圖8展示在任務窗格內選擇“重命名共享空間”任務。此選擇導致高亮顯示和共享空間目錄804關聯(lián)的名字字段810。重命名組的用戶接口因此和由文件系統(tǒng)提供用于編輯文件和目錄名字的接口相同。如對常規(guī)的文件系統(tǒng)編輯操作那樣,用戶可以通過使用高亮的原地編輯字段810來編輯共享空間的名字。此動作將導致名字對共享空間的所有其他組成員發(fā)生改變。根據一個實施例,所有者是唯一的具有名字編輯權限的成員。對其他組成員,不能編輯該名字。
除了重命名現有共享空間的任務,任務窗格808還提供用戶可選擇的“刪除此共享空間”任務。選擇此任務導致目錄圖標從“我的共享空間”目錄移除并刪除該用戶作為組成員的資格。用戶必須由共享空間所有者或有足夠權限邀請新成員進入組的另一個組成員重新邀請,才能在將來連接到此共享空間。由于刪除共享空間的動作是不可逆的,本發(fā)明的實施例提供對話框來通知用戶此動作的影響,對話框需要來自用戶的確認響應才能完成該任務。
由所有者刪除共享空間還將以其他方式影響組。因為在較佳實施例中共享空間用戶是具有該組私鑰的唯一實體,刪除會導致該私鑰丟失。這意味著組屬性(如友好名字及類似)將不再可以修改。由于成員證書的生命期實際上是無限的,其他成員可以繼續(xù)連接并共享該組中的信息。然而,當每個組成員均已刪除了該共享空間時,該組將不復存在。另外,除非組所有者具有對其他組成員的管理員權限,不可以再邀請新成員加入該共享空間。鑒于此,用戶通過需要確認響應才能完成刪除共享空間的任務的對話框得到通知。
作為刪除共享空間的替換,專用任務窗格808允許用戶用“隱藏此共享空間”任務隱藏共享空間。隱藏的共享空間是不可見的,除非用戶激活“顯示隱藏空間”任務。另外,也可以支持“顯示隱藏文件”目錄選項。應注意,隱藏的共享空間將消耗較少的資源,因為傳輸自其他組成員的共享空間數據庫和文件在該空間隱藏的時候將被移除。然而,由用戶共享的數據將保持可用。訪問或管理該空間所需的用戶證書將保持在用戶的計算系統(tǒng)上。使用這些證書,可以重建隱藏的共享空間。鑒于此,“隱藏共享空間”任務是可逆的任務,因此在較佳實施例中不顯示對話框。
在專用任務窗格808中顯示的另一個用戶可選擇任務是“改變設置”任務。選擇此任務將激活“共享空間設置”對話框,它的例子在圖9中展示。如所示,“共享空間設置”對話框900是允許用戶更改共享空間的行為或將共享空間的行為恢復為缺省設置的可選擇的設置選項的圖形表示。
不像現有的文件系統(tǒng),共享空間允許兩個或多個組成員提供相同名字的文件。為了允許用戶區(qū)分這些文件,用戶可以選擇在設置對話框900中提供的選項,在圖9中如文件/組名字選項902所示。通過選擇“對文件顯示提供者名字”設置,用戶可以將提供者名字視為文件名的部分。在較佳實施例中,缺省設置為“只顯示文件名”設置。
另一個用戶可選擇選項涉及“文件復制”設置904。在共享空間中使用的文件可以在它們被訪問時復制到本地機器,即,可以通過用戶選擇“根據需要本地復制文件”設置來基于需求復制它們。另外,也可以通過選擇“當增加到組時本地復制文件”設置,在增加它們到共享空間時將它們復制到用戶的計算機。類似地,“成員提供”設置906允許用戶在“成員可以提供”設置和“只有所有者可以提供文件”設置之間進行選擇。選擇后一設置使得組成員只能讀取。當選擇了此設置時,只有所有者可以向組提供內容。
最后,設置對話框包括“新內容”設置908,它用于允許用戶選擇確定“新”內容的準則。設置908包括選項的下拉列表,如1、7、14、30、60和90天。此字段可選地包括編輯字段以允許用戶指定任意值。
已說明了有關共享空間目錄位置和設置的特定細節(jié),下面說明成員任務視圖。圖10展示圖形表示的我的共享空間目錄1000的成員任務視圖。如所示,我的共享空間目錄包括顯示在目錄1000的右邊窗格中的子目錄,其中包括成員子目錄1002、共享圖片子目錄1004和共享視頻子目錄1006。此布局簡化了用戶對將增加到共享空間中的文件的處理,如通過拖放操作。即,共享圖片和共享視頻子目錄鏈接到甚至如果需要的話可以由組所有者刪除的常規(guī)目錄。
為了成為組成員,通過提交邀請,用戶被邀請加入該組空間。邀請可以使用任何帶外機制做出??梢允褂玫囊环N機制是特定于位置。例如,可以向位于同一會議室中的用戶提交邀請;可以提交給相同網絡中的用戶;可以提交給所有參與會議的用戶(無論他們是在本地會議室中或遠程參與)。一旦邀請由受邀請的用戶接收,他就可以加入該共享空間并參與共享文件。
根據本發(fā)明的一個實施例,在組內分配組成員的角色。組所有者是初始創(chuàng)建組空間的實體。所有者通過邀請其他實體增加成員,如下所述,并分配角色給這樣的其他組成員。角色定義對組成員訪問的級別。例如,一個這樣的角色可以是管理員,可以向他分配很多和所有者相同的權限,包括增加或產生其他組成員的權限。其他角色包括成員、提供者或其他分配了權限和不同程度特權的定制角色。另外,組成員具有“在場情況”,即,每個組成員在上線的時候發(fā)布他的在場情況,如下所述。最后,無論何時組空間出現活動時,每個組成員最好有相同的視圖。
為了執(zhí)行有關組成員的任務,成員子目錄1002具有指定的任務窗格。在較佳實施例中,當用戶打開成員子目錄1002時,新成員窗口激活。接下來在圖11中以窗口1100展示這樣的成員窗口。成員窗口1100包括共享空間當前成員列表1102和特定屬性。所示的組為“我的家庭成員”組,包括組所有者,USER1, 和其他三個家庭組成員,USER2、祖父和祖母。當組成員連接到對等網絡時,成員列表1102中的成員條目可由用戶選擇。否則,條目在列表1102中變灰失效。成員列表1102可以包括包含成員在共享空間中的在線狀態(tài)、成員的角色及成員連接該組的最后日期的字段。除了這些標準字段,成員列表1102可以進一步包括用于有關該成員的附加信息的注釋字段。
除了成員列表1102,窗口1100包括位于窗口左邊窗格的成員任務窗格1104。成員任務窗格1104用于管理成員列表。為了增加新成員到該組,選擇用戶可選擇的“增加新成員”任務。在較佳實施例中,用戶選擇此任務將激活增加新成員到共享空間的向導。然而,在可以創(chuàng)建共享空間證書之前,先獲取新成員的對等證書。
圖12和13展示用于增加新成員到共享空間的向導的圖形表示。雖然它必須通過可能相對復雜的操作定位適當的成員,向導從用戶獲取此數據角度的提供易于使用的機制。在這點上,圖18是展示實現增加新成員的方法時執(zhí)行的各個步驟的簡化流程圖。
為了獲取新成員的對等身份,新共享空間成員向導可以使用從現有消息通好友或電子郵件地址獲取的數據。如圖12和18聯(lián)合所示,在第一個方法步驟1802中,圖形接口提供請求名字選擇類型的對話框1202。接下來,在步驟1804中,邀請用戶選擇名字類型。在用戶在步驟1804中選擇電子郵件地址條目的情況下,受邀請的用戶將接收到電子郵件消息,該消息提供下列信息“[組所有者]已邀請他們加入[共享空間名字]共享空間。為了查看有關[共享空間名字]共享空間的更多信息,請打開附件文件”。
所附的文件包含純數據并已和邀請向導關聯(lián),該向導呈現如圖13所示的圖形接口。受邀請的用戶此后在步驟1808中打開所附的邀請文件。打開該文件將在步驟1810中啟動邀請向導并允許用戶響應對話框1302。在最后的步驟1812,受邀請的用戶通過接受此邀請(如通過選擇向該用戶呈現的完成控件)將他的對等身份發(fā)送回邀請者。如所示,邀請者僅接收和受邀請的用戶關聯(lián)的唯一數字標識符。
使用成員的對等身份,創(chuàng)建組證書??梢詣?chuàng)建附加的電子郵件并將其發(fā)送給用戶,通知他們現在他們已是該共享空間的成員。
已說明了增加新成員到組的方式,現將說明成員窗口中余下的任務。這些任務涉及組的現有成員。例如,用戶可選擇的“移除成員”任務僅在選擇了成員列表中的成員且該用戶是共享空間的管理員或組所有者時可見。否則,此任務不可用。選擇“移除成員”任務將移除選擇的成員對共享空間的訪問。為了在將來訪問共享空間,被移除的成員必須由組所有者或管理員重新邀請加入共享空間。除了移除成員,可以通過用戶選擇“更改成員名字”任務更改成員的名字。在較佳實施例中,此選擇僅在選擇了成員且當前用戶是該共享空間的管理員或組所有者時可見。此選項可選地通過右鍵單擊成員列表中的項并選擇重命名選項或通過單擊成員列表中的名字并激活原地編輯字段來激活。
成員任務窗格中最后一個用戶可選擇任務是“更改成員角色”選項。在較佳實施例中,此選項僅在選中了成員列表中的成員且當前用戶共享空間的是管理員或組所有者時可見。否則,“更改成員角色”選項不可用。在用戶選擇并激活此選項時,顯示接口最好作為如圖14的圖形窗口標題欄中所示的更改成員角色向導1400向用戶呈現。如所示,此圖形接口包括成員名字字段1402,它可以包括其他成員的下拉列表。另外,接口在新角色字段1404中呈現可能角色的下拉列表。接口進一步包括用于修改選擇的成員在組中的訪問和/或角色的控件,如完成按鈕1406。此外,用戶可以點擊進入包含在成員列表中的角色字段。此動作將導致呈現包含對成員可用的合法角色的組合框。從此列表中選擇角色將執(zhí)行與更改成員角色向導相同的動作集合。
根據本發(fā)明的另一個特性,訪問包含在共享空間中的文件和目錄的方式類似于在常規(guī)文件系統(tǒng)中訪問文件和目錄的方式。其區(qū)別在幾方面影響用戶體驗。因為不是所以文件都存在于本地,除非已如上所述激活適當的設置,所以向用戶通知這樣的“缺失”文件。
為了在組成員之間共享文件,當文件變得可用時發(fā)送元數據到所有成員,如圖19中的流程圖中的步驟1904和1906所示。這樣的元數據足以用來呈現共享文件的圖標并可以包括日期、時間、縮略圖信息、名字大小和(可選地包括)信息來源。這可以包括源計算設備的標識符和創(chuàng)建者身份。根據本發(fā)明的實施例,可以從多個源下載共享內容,即使有關可用的共享資源的元數據源于給定機器。即,可以從共享內容所駐留的任何機器下載共享內容,因此在某些情況下從多個對等實體逐段下載會更高效,因為那些對等實體已從源獲取了共享內容。組成員下載可用共享文件的方式可以可選地考慮以IP地址、最小路由時間和其他因素衡量的接近程度。
下表展示有關共享文件的所需和可選元數據的一個這樣的實現。
//所需
WCHAR*m_pwzFilename;//文件名WCHAR*m_pwzRealPath;//文件路徑WCHAR*m_pwzParentId;//用于文件容器的標識符是WCHAR*m_pwzCreatorMachineId;//文件所在的機器BOOL m_fIFolder;//是否文件實際上是文件夾LONG m_cbSize;//文件的大小是FILETIME m_ftModification;//修改時間//選擇WCHAR*m_pwzThumbnail;//文件縮略圖WCHAR*m_pwzUrlIconFile;//圖像文件的URL如所示,名字和到文件的路徑均包括在發(fā)送的共享文件的元數據中。另外,共享文件的容器的標識符也作為文件所駐留的機器的位置提供。也包括文件類型指示,文件大小和修改日期??蛇x地,發(fā)送的文件可以包括與共享文件關聯(lián)的圖標的縮略圖和統(tǒng)一資源定位符。
為了通知用戶組共享空間文件不在本地,向用戶呈現顯示圖標。圖15展示包含不在本地的文件的共享空間目錄的圖形接口1500。如所示,左邊窗格1502呈現顯示圖標1504以表示在另一系統(tǒng)上可用的“缺失”文件。此圖標是虛的或半透明的。如圖20中的流程圖所示,系統(tǒng)在接收到有關對等網絡中可用的共享文件的元數據時呈現這樣的顯示,如方法步驟2002所示。其他“缺失”的文件可能對用戶不可用,如當關注的文件所駐留的系統(tǒng)不在線時。在此情況,顯示圖標1506作為虛的圖標呈現,包括紅色“X”的小圖像或其他適合的文件對用戶不可用的可視指示。
另外,由于組目錄中的內容可能隨時間改變且內容的組織不支持用戶區(qū)分哪些內容是新的或最近已更改,可在新的或最近更改的目錄和文件上呈現“新”的符號。此符號提供新內容的可視指示。
當發(fā)生對包含在共享空間內的文件的修改時,向組中的其他成員進行通知(參見圖19中的步驟1902、1904和1906)。在較佳實施例中,當接收到這樣的通知時,原先已獲取共享文件拷貝的成員機器將移除過期文件的本地拷貝。當應用設置不自動更新文件時,這將更改文件的可視表示為共享空間目錄內的“缺失“文件,如圖20中的步驟2010所示。另一方面,如果支持共享文件的自動復制,本地機器獲取文件的更新版本,如圖20中的步驟2006所示。最后,向用戶呈現適當的可視指示,如步驟2008所示。
為了讓組空間成員訪問未本地存儲的更新的文件,該文件必須首先被傳輸至本地機器。圖16展示向用戶呈現以用于指示正在進行傳輸操作的文件復制對話框1600的圖形接口。當文件在本地機器上可用時,將更新提供到共享文件的快捷方式的圖標,以反映該文件傳輸。當通過打開對話框請求文件時,將在完成文件傳輸時在請求的應用中打開該文件。向用戶提供文件傳輸的可視指示,如圖形1602所示。圖16也展示用于終止文件傳輸的取消控件1604。
為了增加文件或目錄到共享空間中或從中移除它們,用戶可用右鍵單擊和關注的內容關聯(lián)的圖標來呈現圖形接口,如圖17所示的上下文菜單1700。所呈現的上下文菜單1700具有文件系統(tǒng)菜單的外觀,它具有各種用戶可選擇菜單選項,如瀏覽、打開、搜索等等。此外,該菜單包括“與...共享”菜單項1702。通過用戶選擇此項,呈現可用組的下拉列表。包含選擇的文件或目錄的每個共享空間都將包括如圖17所示的打勾符號1704這樣的圖形表示。選擇項的文件或目錄共享可通過去掉共享空間的打勾符號來終止。從“與...共享”菜單中去掉共享空間的打勾符號將從共享空間中移除提供者的文件或目錄拷貝。在其他組成員已傳輸共享文件至本地的事件中,該文件最好從包含該內容的每個機器移除。
除了使用上下文菜單,也可以將文件從另一個資源管理器窗口拖至共享空間目錄。剪切/復制和粘貼編輯操作也可用來將文件傳輸到共享空間目錄。以此方式,文件按用戶動作的指示復制和/或移動至本地共享空間目錄。
像對常規(guī)文件和目錄那樣,共享文件或目錄可以由共享成員即刻移動到共享空間層次內的其他位置。例如,共享成員可以將文件拖至不同目錄。成員可以創(chuàng)建在共享空間中新目錄以用于組織內容。根據一個特性,雖然任何成員都可以在出現在共享空間中的任何目錄中存儲內容,即使其他用戶提供該目錄,只有共享該內容的成員可以更改該內容在共享空間內的位置。
在較佳實施例中,應用維護連接到源機器所有對等實體的度量。這樣的度量指示對等機器的響應時間、對等機器的可用性和用于確定如何獲取共享數據的類似數據。因此,可以中斷和恢復下載會話,以使得如果已下載共享文件的部分然后中斷,則下一次該組成員連接到對等網絡或當他們恢復下載時,在最后復制的位置之后的下一個位置恢復下載。
本發(fā)明也處理安全性,因為共享空間用加密方式傳輸所有共享信息。因此,在實施例中,組管理員或所有者提供企業(yè)策略,如組創(chuàng)建、出現多少組成員、誰可以是成員,如X公司而不是Y公司的員工、域、是否可以共享內容。將組策略傳輸到該策略涉及的域中的所有機器。本發(fā)明的應用讀取并遵守這樣的策略。
因為共享文件有時是如視頻文件這樣的大文件,堵塞的問題可能發(fā)生。因此,本發(fā)明可以包括確定用于到其他機器的文件下載的總帶寬量的用戶選項。另外,用戶可以通過策略提高特定組的優(yōu)先級,以使得無論何時用戶不使用電子郵件或瀏覽時,組空間應用都可以使用額外的帶寬來分發(fā)文件。
在某些情況下,共享內容可能是權利受保護的材料,如有版權的材料,因而不能將它非法拷貝到每個組機器上。在此情況,應用可以用流播放內容,因此不創(chuàng)建拷貝并將其存儲在屬于組成員的其他機器上。相反,這樣其他的組成員可以聽、看或體驗受保護的內容。這樣的動作是用戶驅動的,或者應用可以自動地檢測特定材料受數字權利管理(DRM)保護。在傳輸期間,用戶可以停止和開始傳輸及通過已傳輸的百分比觀察傳輸的狀態(tài)。用戶可以可選地拒絕文件傳輸請求。因為組成員具有描述他們是誰、他們可以做什么和他們如何對其他組成員進行驗證的證書,這樣的動作即刻就能實現。如上所述,傳輸到其他組成員的內容在任何情況下都是加密的。
以此方式,本發(fā)明支持組成員之間符合真實世界情況的交換。例如,用戶可以拍攝大量他或她的孩子的照片和視頻。因為共享這樣的內容,特別是視頻內容,是很困難的,用戶可以簡單地創(chuàng)建家庭共享空間以用于和他或她的親屬交換這些和其他文件。在另一個真實世界例子中,用戶可以安排她的商務團隊幾個成員與一些她在交易會上認識的合作伙伴的會議。因為她計劃和其他與會者共享某些信息,用戶創(chuàng)建用于會議的組共享空間并使用“靠近”她的人的列表以將她的團隊成員和合作伙伴加至該組。用戶也可以根據需要預先用演示材料和其他材料填充共享空間。當與會者進入該會議并打開他們的計算系統(tǒng)以準備進行會議時,他們得到共享空間已創(chuàng)建的通知、加入共享空間并訪問這些文檔。另外,這樣的與會者可以即刻增加有關會議的其他材料。當會議結束時,用戶和/或其他與會者可以產生共享空間或保持它用于進一步的合作。
在組空間中可以進行各種活動。這樣的活動可以包括文件共享、通過文本和/音頻視頻聊天、游戲、白板、消息板、內容發(fā)布、軟件和補丁發(fā)布。事實上,本發(fā)明可以用于執(zhí)行分布式計算任務,例如一起工作來解決普通的任務,如天氣預報、像映射DNA這樣的復雜生物問題、天文處理分析,或在組內容中搜索基本的研究任務。
應理解已對通過網絡進行組交互的新應用和接口進行了說明??紤]到本發(fā)明的原理可以應用于很多可能的實施例,應認識到在此參考附圖所述的實施例是演示性的,且不應視為對本發(fā)明的范圍有任何限制。例如,熟悉技術的人應承認,所示實施例中以軟件展示的元素可以用硬件來實現,且反之亦然,或所示實施例可以在安排和細節(jié)上有所改動而不偏離本發(fā)明的精神。例如,雖然本發(fā)明主要是參考個人計算機及他們相關的顯示和桌面來說明的,應理解本發(fā)明不一定使用個人計算機或傳統(tǒng)桌面。相反,本發(fā)明也可以實現在支持可視顯示功能的其他設備上。因此,本發(fā)明如在此所述預期包含下述權利要求及其等價的范圍內的所有實施例。
權利要求
1.一種支持包括第一個用戶和至少一個其他用戶的組的成員之間通過計算機網絡進行文件共享的方法,其特征在于,所述方法包括通過第一個用戶接口顯示向第一個用戶顯示共享空間標志,所述共享空間標志包括和所述共享空間的第一個組關聯(lián)的第一個文件對象,所述第一個組包括第一個用戶和至少一個其他用戶;從所述第一個用戶接收對所述文件對象執(zhí)行文件系統(tǒng)操作的請求;及在執(zhí)行這樣的文件系統(tǒng)操作之后,通過網絡發(fā)送通訊到由至少一個其他用戶使用的計算設備以指示所述共享文件已由第一個用戶修改。
2.如權利要求1所述的方法,其特征在于,所述網絡是對等網絡。
3.如權利要求1所述的方法,其特征在于,進一步包括向第一個用戶呈現所述文件系統(tǒng)操作的圖形表示,以響應所述文件系統(tǒng)操作請求的接收。
4.如權利要求2所述的方法,其特征在于,在由所述至少一個其他用戶使用的計算設備上顯示所述共享文件修改的圖形表示。
5.更新計算機網絡中的共享文件的方法,所述計算機網絡包括對等網絡中的通訊計算設備的組,其特征在于,所述方法包括在第一個計算設備對和顯示在第一個共享空間顯示區(qū)域中的文件圖標關聯(lián)的共享文件執(zhí)行文件系統(tǒng)操作,以生成更新的共享文件;在第一個計算設備創(chuàng)建和更新的共享文件關聯(lián)的元數據;由第一個計算設備傳播和所述更新的共享文件關聯(lián)的元數據到其他組成員;由第二個計算設備獲取和所述更新的共享文件的元數據;由第二個計算設備確定所述更新的共享文件是否應在第二個計算設備上進行復制;當確定應復制所述更新的共享文件時,由第二個計算設備下載所述更新的共享文件;及在第二個計算設備的共享空間顯示區(qū)域中顯示第二個文件圖標,指示所述共享文件已更新。
6.如權利要求5所述的方法,其特征在于,進一步包括當所述更新的共享文件不應在第二個計算設備上進行復制時,由第二個計算設備在共享空間顯示區(qū)域中顯示第三個文件圖標,指示所述共享文件仍未更新的步驟。
7.如權利要求6所述的方法,其特征在于,所述第三個文件圖標提供存在對所述共享文件的更新的指示。
8.如權利要求7所述的方法,其特征在于,所述第一個共享空間顯示區(qū)域是目錄對象。
9.增加共享文件到共享空間的方法,所述共享空間由在計算機網絡中的計算設備上的顯示指示,所述計算機網絡包括組的第一個在線成員和該組的至少一個其他在線成員,其特征在于,所述方法包括步驟通過第一個用戶顯示向第一個用戶顯示組目錄對象;通過選擇第一個可選擇的可視標志激活文件系統(tǒng)操作,以將文件移動到所述組目錄對象中;創(chuàng)建有關被移動的文件的元數據;及傳輸所述元數據到所述該組的至少一個其他在線成員。
10.如權利要求9所述的方法,其特征在于,所述網絡是對等網絡。
11.用于幫助組的第一個在線成員和該組的至少一個其他在線成員之間通過計算機網絡進行線組交互的計算機程序產品,其特征在于,所述計算機程序產品包括圖形用戶接口,它包括充當第一個文件圖標的目標的第一個共享空間顯示區(qū)域,所述文件圖標在進入第一個顯示區(qū)域時也變得對所述該組的至少一個其他在線成員可見,且和共享文件關聯(lián)的所述第一個文件圖標具有第一個更新狀態(tài)和至少一個可視任務項,所述可視任務項可由第一個用戶選擇激活以對所述共享文件執(zhí)行操作從而改變所述第一個更新狀態(tài);及計算機代碼,它配置用于向所述該組的至少一個其他在線成員通知對所述第一個共享文件的更新狀態(tài)的改變。
全文摘要
一種計算機實現的方法和系統(tǒng)支持用戶在無服務器的共享空間中共享文件。通過經由可視表示來提供對這樣的空間的訪問,所述系統(tǒng)呈現可由其他組成員訪問的內容。有時通過向所有組成員傳播關聯(lián)于所述共享工具的元數據或其他唯一辨識標志來提供訪問。
文檔編號G06F13/00GK1609858SQ200410087708
公開日2005年4月27日 申請日期2004年10月25日 優(yōu)先權日2003年10月24日
發(fā)明者B·R·劉艾倫, J·L·米勒, M·E·沙佩爾, R·T·勞, S·A·森克萊斯蒂 申請人:微軟公司