背景技術:
隨著計算和網(wǎng)絡技術的增長,用戶在個人和職業(yè)生活中容易對文件進行共享和協(xié)作。將由多人共同創(chuàng)建、編輯、和保存的任何類型的文件不是不常見的。然而,經(jīng)協(xié)作的和其他相關文件可以位于(存儲在)各種地方。個體協(xié)作用戶的本地計算設備、企業(yè)網(wǎng)絡、公共網(wǎng)絡、社交網(wǎng)絡和職業(yè)社交網(wǎng)絡、云存儲僅僅是與特定的協(xié)作相關聯(lián)的文件可以駐留在其中的一些示例。
當用戶需要他們正在進行工作的項目的文件時,不管其是被協(xié)作地創(chuàng)建的文件還是包含相關信息的輔助文件,用戶可能必須搜索他們的本地數(shù)據(jù)存儲器、他們的組織的網(wǎng)絡存儲器、其他用戶的(協(xié)作者的)本地存儲器、公共數(shù)據(jù)存儲等。接著,他們可以存儲文件的本地副本,其可能永遠沒有被再次使用,或者其可能在一段時間之后不反應對其的最近的改變。此外,針對每個文件而執(zhí)行這些搜索并保存操作可能不僅是麻煩的,而且劇烈地降低個體和協(xié)作效率?,F(xiàn)有的系統(tǒng)通常限于已經(jīng)由用戶通過內容所有者發(fā)起的“推”操作而明確地共享的文件和文件夾。
技術實現(xiàn)要素:
提供了該發(fā)明內容以用簡化的形式引入在以下的具體實施方式中進一步描述的概念的選擇。該發(fā)明內容不旨在排他性地標識所要求保護主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
實施例針對不同位置中的被共享的文件的本地表示。根據(jù)一些實施例中,可以使得協(xié)作服務的訂閱者能夠共享與協(xié)作服務相關聯(lián)的云存儲的不同庫中的項目;在接收到由第一訂閱者向第二訂閱者共享項目的邀請之后,可以在對位于其原始存儲位置處的被共享的項目進行引用的云存儲的根庫處創(chuàng)建安裝點(mountpoint)項目,其中,被共享的項目包括文件夾和文件中的一個或多個;可以使得第二訂閱者能夠為安裝點項目選擇位置,以重命名所述安裝點項目,并且設置針對安裝點項目的內容的許可;并且可以使得能夠通過安裝點項目而以對于第二訂閱者透明的方式來對被共享的項目執(zhí)行文件操作。
通過閱讀以下詳細描述并回顧附圖,這些和其他特征和優(yōu)點將是顯而易見的。應當理解,前述簡要說明和以下的詳細描述兩者僅僅是說明性的,而不限制所要求保護的各種方面。
附圖說明
圖1包括示出了示例系統(tǒng)的概念圖,其中,可以實現(xiàn)不同位置中的被共享的文件的本地表示;
圖2a到圖2c包括不同位置中的被共享的文件的本地表示的示例用戶體驗呈現(xiàn);
圖3a和圖3b包括概念圖,該概念圖示出了文件的示例共享和安裝以用于不同位置中的被共享的文件的本地表示;
圖4示出了通過電子郵件的針對文件夾的示例共享邀請;
圖5示出了不同位置中的被共享的文件的本地表示以及本地文件的示例用戶體驗呈現(xiàn);
圖6示出了另一示例用戶體驗,其中可以選擇多個文件夾以用于通過不同位置中的被共享的文件的本地表示來共享;
圖7是示例通用計算設備的框圖,其可以用于實現(xiàn)不同位置中的被共享的文件的本地表示;以及
圖8示出了根據(jù)實施例的用于提供不同位置中的被共享的文件的本地表示的方法的邏輯流程圖。
術語
內容——與音頻、視頻、圖形、圖像、和文本相關聯(lián)的任何形式的結構化數(shù)據(jù)和流式數(shù)據(jù)。
用戶——待保存的內容與其相關聯(lián)的人。
訂閱者——能夠在協(xié)作服務處訪問應用和云存儲的賬戶的擁有者。
協(xié)作服務——由通過網(wǎng)絡瀏覽器或本地安裝的客戶端應用用戶體驗來向多個用戶提供對應用的功能的訪問和協(xié)作機會的多個服務所托管的協(xié)調應用和相關聯(lián)的云存儲的集合。所述協(xié)作服務可以向“客戶”或“租戶”提供其服務,所述“客戶”或“租戶”進而可以允許用戶或訂閱者訪問所提供的服務。
云存儲——能夠通過網(wǎng)絡訪問的一個或多個數(shù)據(jù)存儲。
許可等級——使得用戶能夠控制對數(shù)據(jù)存儲內的內容的訪問的安全性設置。
計算設備——至少包括存儲器和處理器的設備,其包括臺式計算機、膝上型計算機、平板計算機、智能電話、車載計算機、或者可穿戴計算機
存儲器——被配置為存儲將由一個或多個處理器執(zhí)行的一個或多個指令的計算設備的組件。
處理器——耦合至存儲器并且被配置為結合由所述存儲器所存儲的指令而執(zhí)行程序的計算設備的組件。
文件——與音頻、視頻、圖形、圖像、和文本相關聯(lián)的任何形式的結構化數(shù)據(jù)。
第三方服務——與由發(fā)起用戶和目標用戶、另一設備、或應用所使用的系統(tǒng)分離的獨立的服務。
操作系統(tǒng)——被配置為管理提供公共服務和應用的計算設備的硬件組件和軟件組件的系統(tǒng)。
集成模塊——集成在應用或服務內以使得應用或服務被配置為執(zhí)行組件的應用或服務的組件。
應用——當被執(zhí)行時使得用戶能夠傳送、創(chuàng)建、編輯、和共享內容的程序。
計算機可讀存儲設備——經(jīng)由以下中的一個或多個實現(xiàn)的計算機可讀存儲介質:包括存儲在其上的指令以自動地將內容保存至位置的易失性計算機存儲器、非易失性存儲器、硬盤驅動器、閃存驅動器、軟盤、或壓縮盤、以及類似的硬件介質。
用戶體驗——與用戶通過其與應用或服務進行交互的應用或服務相關聯(lián)的視覺顯示。
用戶動作——用戶與應用的用戶體驗或者由通信應用所提供的用戶體驗之間的交互,其包括以下中的一個:觸摸輸入、手勢輸入、語音命令、眼睛追蹤、陀螺儀輸入、筆輸入、鼠標輸入、和鍵盤輸入。
應用程序接口(api)——針對使得應用或服務能夠與由分離的實體所管理的一個或多其他應用和服務進行交互或通信的應用或服務的一組例程、協(xié)議、和工具。
具體實施方式
在根據(jù)實施例的系統(tǒng)中,用戶可以遍及組織(多個組織)瀏覽或搜索通過文件的寬泛的語料庫、文件、站點、和協(xié)作工作空間,并且安裝他/她選擇的任何項目,以使得原始對象被表示為用戶的協(xié)作空間中的經(jīng)安裝的文件和文件夾。為了實現(xiàn)表示,一旦被安裝,將對象類型的寬泛的范圍抽象和表示為文件和文件夾。例如,協(xié)作服務的團隊站點中的文檔庫可以被表示為經(jīng)安裝的文件夾。如在上文中簡要描述的,為了提供不同位置中的被共享的文件的本地表示,協(xié)作服務中的文件夾可以引用另一文件夾的內容。進行表示的文件夾可以被稱為安裝點文件夾,并且所引用的文件夾可以被稱為經(jīng)安裝的文件夾。經(jīng)安裝的文件夾可以駐留在可以通過聯(lián)網(wǎng)通信來訪問的任何位置處,并且可以通過安裝點文件夾來訪問經(jīng)安裝的文件夾內的文件,而不需要那些文件物理地駐留在本地數(shù)據(jù)存儲處或者協(xié)作服務的數(shù)據(jù)存儲處。在各種用戶體驗中,經(jīng)安裝的文件夾的內容可以看起來好像它們被包含在安裝點文件夾以及原始的經(jīng)安裝的文件夾中。因此,諸如創(chuàng)建、讀取、更新、和刪除操作之類的文件操作可以對可以實際上跨域活動的經(jīng)安裝的文件夾內的文件執(zhí)行。兩個文件夾的內容的語義可以是活動的副本的語義,這表示對任一文件夾的內容的改變可以出現(xiàn)在另一個文件夾中。在一些實施例中,安裝點文件夾可以在服務器上被表示為具有.url擴展名的文件,但是在客戶端用戶體驗中,其可以被表示為文件夾。安裝點文件夾可以在文檔庫的根處或者在文檔庫的任何其他文件夾內被創(chuàng)建。
在以下的詳細描述中,對形成了其一部分并且其中作為說明而示出了具體的實施例或示例的附圖進行了參考??梢越M合這些方面、可以利用其他方面、并且可以做出結構改變而不脫離本公開的精神或范圍。因此,以下的具體實施方式將不被看作是限制性意義,并且本發(fā)明的范圍是由所附權利要求及其等同物所限定的。
盡管將在結合在計算設備上的操作系統(tǒng)上運行的應用程序而執(zhí)行的程序模塊的一般上下文中描述實施例,但本領域的技術人員將理解的是,也可以結合其他程序模塊來實現(xiàn)這些方面。
通常而言,程序模塊包括例程、程序、組件、數(shù)據(jù)結構、以及執(zhí)行特定的任務或實現(xiàn)特定的抽象數(shù)據(jù)類型的其他類型的結構。此外,本領域技術人員將理解的是,可以利用包括手持設備、多處理器系統(tǒng)、基于微處理器的或可編程的消費性電子產(chǎn)品、微型計算機、大型計算機、以及類似的計算設備在內的其他計算機系統(tǒng)配置來實踐實施例。還可以在其中由通過通信網(wǎng)絡所鏈接的遠程處理設備來執(zhí)行任務的分布式計算環(huán)境中實現(xiàn)實施例。在分布式計算環(huán)境中,程序模塊既可以位于本地的存儲器存儲設備中,也可以位于遠程的存儲器存儲設備中。
可以將一些實施例實現(xiàn)為計算機實施的過程(方法)、計算系統(tǒng)、或者諸如計算機程序產(chǎn)品或計算機可讀介質之類的制品。計算機程序產(chǎn)品可以是這樣一種計算機存儲介質,其能夠由計算機系統(tǒng)讀取并且對包括用于使得計算機或計算機系統(tǒng)執(zhí)行示例過程的指令的計算機程序進行編碼。所述計算機可讀存儲介質是計算機可讀存儲器設備。計算機可讀存儲器設備可以例如是經(jīng)由以下中的一個或多個來實現(xiàn)的:易失性計算機存儲器、非易失性存儲器、硬盤驅動器、閃速存儲器、軟盤、或者壓縮盤、以及類似的硬件介質。
在該說明書通篇中,術語“平臺”可以是針對不同位置中的被共享的文件的本地表示的軟件和硬件組件的組合。平臺的示例包括但不限于:在多個服務器上執(zhí)行的托管服務、在最高優(yōu)先化的計算設備上執(zhí)行的應用、以及類似的系統(tǒng)。術語“服務器”通常是指通常在網(wǎng)絡化環(huán)境中執(zhí)行一個或多個軟件程序的計算設備。在下文中提供了關于這些技術和示例操作的更多的細節(jié)。
圖1包括示出了示例系統(tǒng)的概念圖100,其中,可以實現(xiàn)不同位置中的被共享的文件的本地表示;
在一個示例配置中,諸如膝上型計算機之類的計算設備102可以具有操作系統(tǒng)104。諸如應用106之類的多個應用可以在由操作系統(tǒng)104所提供的基礎結構內執(zhí)行。所述應用可以包括任何應用,例如文字處理應用、電子表格應用、演示應用、通信應用、成像應用、音頻/視頻處理應用、圖形處理應用、和類似的應用。應用106可以作為其操作(例如,打開、保存、加載、修改)的部分來對文件進行處理。應用106也可以使得用戶101能夠查看文件、編輯文件、共享文件、或者對文件執(zhí)行其他動作。由應用106所處理的文件可以被本地地存儲在計算設備102上,例如存儲在本地存儲108中。應用106還可以處理遠程地存儲(例如,共享存儲118)的文件,其可以通過諸如網(wǎng)絡120之類的一個或多個網(wǎng)絡(或云)來訪問。
應用106可以是實現(xiàn)對協(xié)作服務125和/或共享的云存儲126的訪問的瘦或厚(富)客戶端。其他用戶(用戶2、用戶3、等等)能夠訪問同一共享服務125或共享的云存儲126。除了共享的云存儲126之外,每個用戶都可以具有其自己的存儲(122、124)。根據(jù)實施例,協(xié)作服務庫中的安裝點文件夾可以引用駐留在其他地方的經(jīng)安裝的文件夾的內容,并且可以包括實際的文件??梢詫嶋H上可以跨域活動的經(jīng)安裝的文件夾內的文件執(zhí)行文件操作,并且對任一文件夾的內容的改變可以出現(xiàn)在另一個文件夾中。
在一些實施例中,當文件夾被添加至與協(xié)作服務相關聯(lián)的云存儲時,可以在云存儲文檔庫的根文件夾處創(chuàng)建安裝點。安裝點可以充當至原始文件夾或經(jīng)安裝的文件夾的快捷方式或鏈接。安裝點可以在云存儲中與原始的經(jīng)安裝的文件夾無關地重命名和移動。與云存儲相關聯(lián)的網(wǎng)絡或其他客戶端用戶體驗可以將安裝點識別為至經(jīng)安裝的文件夾的指針,并且顯示支持到經(jīng)安裝的文件夾的點擊前往(click-through)導航的鏈接。定期與云存儲同步的客戶端應用也可以將安裝點識別為至經(jīng)安裝的文件夾的指針,并且在客戶端啟動時執(zhí)行與包含經(jīng)安裝的文件夾的協(xié)作服務列表的選擇性同步。支持推送通知的客戶端應用可以在啟動時針對每個根在服務器上登記推送通知警報,而其他客戶端可以周期性地輪詢改變。當根內部的內容在服務器處改變時,服務器可以針對經(jīng)登記的客戶端中的每個客戶端而發(fā)送推送通知警報,這可以觸發(fā)客戶端重新同步該根。
根據(jù)其他實施例,可以提供讓用戶發(fā)送請求以添加安裝點的各種用戶體驗入口點(entrypoint)。示例輸入點可以包括但不限于經(jīng)由電子郵件共享、針對協(xié)作服務文檔庫和云存儲文檔庫中的文件夾的項目調出、“與我共享”頁面上的項目調出、用戶體驗上的控制元素(例如,按鈕)、最近的文檔、搜索結果調出、或者作為與協(xié)作服務相關聯(lián)的富客戶端應用中的額外的控件和/或菜單項目。
根據(jù)一些實施例,可以在改變、移動、或刪除的情形中給安裝點和經(jīng)安裝的文件夾分配不同的行為。例如,當經(jīng)安裝的文件夾被改變(例如:標題、修改人、和修改日期)時,安裝點文件夾可以不與改變同步。如果經(jīng)安裝的文件夾被刪除或移動以使得與安裝點相關聯(lián)的元組值改變,或者用戶不再具有許可,則安裝點可以仍然被顯示在云存儲中。對安裝點的點擊(導航)可以引起解決邏輯發(fā)生故障,并且用戶體驗可以在對話框中顯示錯誤消息,例如提示用戶未安裝。當經(jīng)安裝的文件夾被移動并且該移動不引起元組值改變時,可以對所顯示的安裝點文件夾沒有影響。超鏈接可以是空的。在被調出之后,url可能暫時是錯誤的,直到調用了解決應用程序接口(api)(作為取回被共享的信息的一部分)并且url是正確為止。引起元組值改變的移動可以與刪除情形一樣被對待?,F(xiàn)有的離線客戶端(下游)可以將安裝點列表項目解譯為普通文件。無論安裝點表示文件夾安裝點還是文件安裝點,這都可以發(fā)生。在一些實施例中,由第三方服務所托管的文件管理模塊127可以提供與通過安裝點項目本地表示不同位置中的被共享的文件相關聯(lián)的服務。
計算設備102可以包括臺式計算機、膝上型計算機、平板計算機、車載計算機、智能電話、或者可穿戴計算設備??梢允沟糜脩?01可以使能通過以下各項中的一個或多個來與用戶體驗進行交互:觸摸輸入、手勢輸入、語音命令、眼睛追蹤、陀螺儀輸入、筆輸入、鼠標輸入、和/或鍵盤輸入。
圖2a到圖2c包括不同位置中的被共享的文件的本地表示的示例用戶體驗呈現(xiàn)。
在圖2a中的圖200a中,文件管理用戶體驗202被示出為具有列在左側的可用庫204以及列在主要部分中的所選擇的庫(例如,我的文檔)中的文件夾和文件,其中可用的命令通過頂部的菜單來提供。所列出的項目可以被呈現(xiàn)有圖標206、名稱208、最后修改日期210、共享信息212、以及修改人信息214。圖標206可以表示不同的文件或文件夾類型。在列表中,兩個示例安裝點文件夾220是由不同的圖標來區(qū)分的。從用戶的角度而言,這兩個文件夾可以表現(xiàn)得像普通文件夾。在打開這些文件夾之后,用戶可以看到實際上位于另一用戶的庫、共享庫、或者甚至公共庫中的文件。用戶可以對這些文件執(zhí)行文件操作,而安裝點文件夾物理上不包含所述文件,僅僅是引用它們。
圖2b中的圖200b示出了具有對安裝點文件夾的稍微不同的表示的類似的用戶體驗。在圖200b的示例中,安裝點文件夾230是由較深的著色(或者填充顏色)來指示的。此外,安裝點文件夾230顯示額外的信息。如在上文中所提及的,可以在根處或者在另一文件夾內創(chuàng)建安裝點文件夾。通過使用縮進,圖200b中的文件的呈現(xiàn)示出安裝點文件夾中的一個是另一個的子文件夾。
在圖2c中的圖200c中,所列出的項目被表示為使得在安裝點文件夾230與其他文件夾之間不存在可見的區(qū)別。然而,在這些文件夾中的一個文件夾上方懸停或者選擇這些文件夾中的一個文件夾之后,可以顯示彈出菜單232以提供關于該安裝點文件夾的詳細信息并且顯示待對文件夾執(zhí)行的可選的動作,例如打開、共享等。進一步的彈出菜單234可以提供以下選項:查看文件夾屬性、編輯屬性、移動文件夾、刪除文件夾、或者其他類似動作。
圖2a到圖2c中的用戶體驗僅僅是出于說明的目的,并且可以使用具有任何配置的任何用戶體驗來呈現(xiàn)具有各種呈現(xiàn)方案的安裝點文件夾。方案可以包括以下各項中的一項或多項:文本方案、圖形方案、顏色方案、著色方案、或者類似的方法。
圖3a和圖3b包括概念圖,該概念圖示出了文件的示例共享和安裝以用于不同位置中的被共享的文件的本地表示。
可以利用額外的可用動作來移動安裝點文件夾(或文件)或者在用戶之間對其進行共享。圖3中的圖300a示出了一個示例場景,其中,第一用戶302miguel與第二用戶304diane共享被稱為“項目2”的文件夾310,以給予diana對文件夾及其內容的許可。盡管文件夾310位于miguel的庫的根處,但是diana將其移動到被稱為“花園項目”的頂層文件夾312中。因此,在diana的庫中被顯示為子文件夾的文件夾314現(xiàn)在是對實際上駐留在miguel的庫的根中的文件進行引用的安裝點文件夾。
接下來,diana決定與第三用戶306david共享她的“花園項目”文件夾,并且給予他對文件夾及其子文件夾的許可。david將“花園項目”文件夾移動到被稱為“工作項目”的他的頂層文件夾318中。因此,出現(xiàn)在被稱為“工作項目”的david的頂層文件夾318內的文件夾320和322現(xiàn)在分別是引用diana的“花園項目”文件夾中的文件的安裝點文件夾和引用miguel的“項目2”文件夾中的文件的安裝點文件夾。因為diana給了david許可,所以david可以對“項目2”文件夾中的文件執(zhí)行任何操作。
在其他實施例中,文件夾可以位于其他文件夾下或者是任何其他配置,它們可以被接收者重命名,并且可以根據(jù)其他規(guī)則來分配許可。例如,miguel可以定義diana可以具有什么具體的許可,以及她可以給下游接收者什么許可。在一個示例中,miguel可以允許diane讀取和刪除文件,但是不能移動文件。miguel也可以將diane可以給她可能與其共享文件夾的其他人的許可限制為只讀。因此,在該場景中,david可以接收針對miguel的文件的只讀許可,但是diane可以針對源自她的庫的文件而給david其他許可。
圖3b中的圖300b示出了與圖300a類似的場景,有兩個不同之處:diana可以將安裝點文件夾314重命名為“花”并且david還可以將安裝點文件夾320和322兩者重命名為“花園”和“多年生植物”。此外,miguel可以將刪除、移動、和編輯的許可僅僅限于diane。因此,david針對“多年生植物”安裝點文件322中的文件僅僅具有讀取許可。
用于限定/分配文件操作許可以及允許重新共享的規(guī)則可以在系統(tǒng)等級被定義為默認規(guī)則,或者它們能夠由個體用戶來配置。例如,某些用戶(例如,it員工)基于他們的證書可以對于他們能夠給予其他人什么許可具有默認限制,而其他用戶(例如,會計員工)可以具有可配置的限制。在其他實施例中,安裝點文件夾可以從它們的目的地繼承許可。
圖4示出了通過電子郵件的針對文件夾的共享邀請的示例。
如先前所提及的,可以以多種方式通過安裝點文件夾創(chuàng)建來共享文件夾。示例共享選項可以包括但不限于:經(jīng)由電子郵件共享、針對協(xié)作服務文檔庫和云存儲文檔庫中的文件夾的項目調出、“與我共享”頁面上的項目調出、用戶體驗上的控制元素(例如,按鈕)、最近的文檔、搜索結果調出、或者作為與協(xié)作服務相關聯(lián)的富客戶端應用中的額外的控件和/或菜單項目。
圖400示出了示例電子郵件邀請。電子郵件用戶體驗402包括電子郵件專用命令404和發(fā)送者的身份(例如,圖片)406,以及指示該電子郵件是共享文件夾的邀請的主題行408。電子郵件(或者用戶體驗上的另一位置)的正文可以包括具有關于被共享的文件夾的圖形表示412和摘要信息414的被共享的文件夾(或文件)的可操作表示410。在激活(例如,點擊了圖標或觸摸了表示)之后,彈出菜單可以給接收者呈現(xiàn)關于在哪里創(chuàng)建安裝點文件夾、設置什么許可、多頻繁地同步(在同步客戶端的情況下)的選項、或者其他選項。一旦被創(chuàng)建,安裝點文件夾就可以提供對原始(經(jīng)安裝的)文件的引用,并且允許接收者對文件進行操作,就如這些文件是在接收者自己的庫上一樣。
圖5示出了不同位置中的被共享的文件的本地表示以及本地文件的示例用戶體驗呈現(xiàn)。
圖500示出了具有可應用的命令504和以兩個分組表示的文件或文件夾的文件管理用戶體驗502。在第一分組中的是文件或文件夾506、508、514、和516,它們以網(wǎng)格格式顯示有摘要信息。在第二分組中的是以列表格式顯示的文件或文件夾512。所顯示的文件或文件夾中的任何一個都可以是不能與其他文件或文件夾區(qū)分或者通過圖形、顏色、著色、文本等方案區(qū)分的安裝點文件或文件夾??梢酝ㄟ^彈出菜單510來提供進一步的共享能力,彈出菜單510可以在懸停或選擇動作之后被顯示,并允許用戶與其他用戶共享所選擇的文件或文件夾,如先前所討論的。
圖6示出了另一示例用戶體驗,其中,多個文件夾可以被選擇以用于通過不同位置中的被共享的文件的本地表示來共享。
圖600中的文件管理用戶體驗602示出了用于列出來自用戶的個人庫的文件和文件夾606的可應用的命令604。根據(jù)一些實施例,用戶可以選擇多個文件或文件夾并且激活“共享”控制項目(例如,彈出菜單)610以與另一用戶共享所選擇的文件或文件夾。所述控制項目可以允許用戶選擇共享方法(例如,通過電子郵件發(fā)送邀請)、分配許可、并執(zhí)行其他相關動作。
在一些其他實施例中,關于對文件或文件夾的改變的元數(shù)據(jù)可以被推送至包含它的每個安裝點。因此,客戶端可以僅需要與單個根同步,這是因為對安裝點元數(shù)據(jù)的更新可以觸發(fā)包含的根中的改變通知。
在另外的實施例中,服務器側的同步選項可以在服務器上針對每個云存儲邏輯地運行一個同步客戶端以同步關于被添加至每個云存儲的內容的元數(shù)據(jù)。該方法可以具有與針對讀取操作的元數(shù)據(jù)推送方法相同的屬性,但是可以將寫從推送模式改變成拉取模式。在該方法中,讀取操作可以是高效的,因為它們是對單個列表的查詢。
在其他實施例中,服務器側的同步可以用于一些操作,例如搜索和扁平化文件夾查看,并且客戶端側同步可用于提供混合技術的降低的延遲。
在另外的實施例中,可以關于服務器上的安裝點而對元數(shù)據(jù)進行查詢,同時枚舉包含的云存儲(或者可選地,在枚舉開始后異步地進行)。因此,當必要時可以添加開銷(例如,與寫入最終從未讀取的元數(shù)據(jù)相反),并且可以降低或消除扇出寫入的復雜性和故障點。
已經(jīng)使用用于提供不同位置中的被共享的文件的本地表示的具體的網(wǎng)絡環(huán)境、系統(tǒng)、服務、應用、和過程來描述圖1到圖6的示例。用于實現(xiàn)對經(jīng)安裝的文件夾的安裝點文件夾進行引用的實施例不限于根據(jù)這些示例的具體的網(wǎng)絡環(huán)境、系統(tǒng)、服務、應用、和過程。
通過安裝點文件夾——經(jīng)安裝的文件夾對(如在以上的實施例中所描述的)本地表示不同位置中的被共享的文件可以通過使能與針對每個文件手動地訪問相比對文件的較快的訪問而幫助降低處理器負載,這可以涉及針對待處理的每個文件的多個操作。還可以通過防止個體的、手動文件搜索和本地存儲操作來降低網(wǎng)絡帶寬使用??梢酝ㄟ^允許用戶在它們的本地庫中看到不同位置中的文件而不需要記住或思考在哪里搜索來提高用戶效率。
圖7是示例通用計算設備的框圖,其可以用于實現(xiàn)不同位置中的被共享的文件的本地表示。
例如,計算設備700可以用作服務器、臺式機計算機、便攜式計算機、智能電話、專用計算機、或類似的設備。在示例基本配置702中,計算設備700可以包括一個或多個處理器704和系統(tǒng)存儲器706。存儲器總線708可用于在處理器704與系統(tǒng)存儲器706之間進行通信。在圖7中由內部的虛線內的那些組件示出了基本配置。
根據(jù)期望的配置,處理器704可以具有任何類型,包括但不限于:微處理器(μp)、微控制器(μc)、數(shù)字信號處理器(dsp)、或其任何組合。處理器704可以包括一個以上層級的高速緩存,例如層級高速緩存存儲器712、一個或多個處理器核心714、和寄存器716。處理器核心714可以(每個)包括算術邏輯單元(alu)、浮點單元(fpu)、數(shù)字信號處理核心(dsp核心)、或其任何組合。示例存儲器控制器718還可以與處理器704一起使用,或者在一些實現(xiàn)中,存儲器控制器718可以是處理器704的內部部件。
根據(jù)期望的配置,系統(tǒng)存儲器706可以具有任何類型,包括但不限于:易失性存儲器(例如,ram)、非易失性存儲器(例如,rom、閃速存儲器等)、或其任何組合。系統(tǒng)存儲器706可以包括操作系統(tǒng)720、文件管理應用和服務722、和程序數(shù)據(jù)724。文件管理應用和服務722可以包括共享模塊726,其可以是文件管理應用和服務722的集成部分或者是獨立的模塊。共享模塊726可以執(zhí)行與在本文中所描述的不同位置中的被共享的文件的本地表示相關聯(lián)的任務。如在本文中所描述的,程序數(shù)據(jù)724可以包括與被共享的文件的位置有關的處理數(shù)據(jù)728以及其他數(shù)據(jù)。
計算設備700可以具有額外的特征或功能,以及用于促進基本配置702與任何所期望設備和接口之間的通信的額外的接口。例如,總線/接口控制器730可用于促進基本配置702與一個或多個數(shù)據(jù)存儲設備732之間經(jīng)由存儲接口總線734的通信。數(shù)據(jù)存儲設備732可以是一個或多個可移動存儲設備736、一個或多個不可移動存儲設備738、或其組合??梢苿哟鎯υO備和不可移動存儲設備的示例可以包括:磁盤設備(例如,軟盤驅動器和硬盤驅動器(hdd))、光盤驅動器(例如,壓縮盤(cd)驅動器或數(shù)字通用盤(dvd)驅動器)、固態(tài)驅動器(ssd)、以及磁帶驅動器等。示例計算機存儲介質可以包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結構、程序模塊、或其他數(shù)據(jù)之類的信息的任何方法或技術來實現(xiàn)的易失性和非易失性、可移動和不可移動介質。
系統(tǒng)存儲器706、可移動存儲設備736、和不可移動存儲設備738可以是計算機存儲介質的示例。計算機存儲介質可以包括但不限于:ram、rom、eeprom、閃速存儲器或其他存儲器技術、cd-rom、數(shù)字通用盤(dvd)、固態(tài)驅動器、或其他光存儲、盒式磁帶、磁帶、磁盤存儲設備或其他磁存儲設備、或者可用于存儲期望的信息并且可以由計算設備700來訪問的任何其他介質。任何這樣的計算機存儲介質可以是計算設備700的一部分。
計算設備700還可以包括用于促進經(jīng)由總線/接口控制器730從各種接口設備(例如,一個或多個輸出設備742、一個或多個外圍接口744、以及一個或多個通信設備746)到基本配置702的通信的接口總線740。示例輸出設備742中的一些輸出設備可以包括圖形處理單元748和音頻處理單元750,它們可以被配置為經(jīng)由一個或多個a/v端口752而與諸如顯示器或揚聲器之類的各種外部設備進行通信。一個或多個示例外圍接口744可以包括串行接口控制器754或并行接口控制器756,它們可以被配置為經(jīng)由一個或多個i/o端口758而與諸如輸入設備(例如,鍵盤,鼠標、筆、語音輸入設備、觸摸輸入設備等)或其他外圍設備(例如,打印機、掃描儀等)之類的外圍設備進行通信。示例通信設備746可以包括網(wǎng)絡控制器760,其可以被布置為促進經(jīng)由一個或多個通信端口764在網(wǎng)絡通信鏈路上與一個或多個其他計算設備762的通信。一個或多個其他計算設備762可以包括服務器、客戶端裝置、和類似設備。
網(wǎng)絡通信鏈路可以是通信介質的一個示例。通信介質可以由計算機可讀指令、數(shù)據(jù)結構、程序模塊、或經(jīng)調制的數(shù)據(jù)信號(例如載波或其他傳輸機制)中的其他數(shù)據(jù)來實施,并且可以包括任何信息傳遞介質?!敖?jīng)調制的數(shù)據(jù)信號”可以是具有經(jīng)調制的數(shù)據(jù)信號的特征集合中的一個或多個特征的信號,或者以關于將信息在信號中進行編碼的方式而改變。作為示例而非限制,通信介質可以包括有線介質(例如,有線網(wǎng)絡或直接有線連接)和無線介質(例如,聲學、射頻(rf)、微波、紅外(ir)和其他無線介質)。如在本文中所使用的術語計算機可讀介質可以包括存儲介質和通信介質兩者。
可以將計算設備700實現(xiàn)為包括以上功能中的任何一種功能的通用或專用服務器、主機、或類似的計算機的一部分。還可以將計算設備700實現(xiàn)為個人計算機,其包括膝上型計算機和非膝上型計算機配置兩者。
示例實施例還可以包括用于提供不同的位置中的被共享的文件的本地表示的方法??梢砸园ㄔ诒疚闹兴枋龅慕Y構的任何數(shù)量的方式來實現(xiàn)這些方法。一種這樣的方式可以是通過使用在本公開中所描述的類型的設備的機器操作。另一種可選的方式可以是針對結合執(zhí)行一些操作的一個或多個人類操作者而將被執(zhí)行的方法的獨立操作中的一個或多個操作。這些人類操作者無需彼此處于同一位置,但每個操作者可以與執(zhí)行程序的一部分的機器在一起。在其他示例中,人類交互可以例如通過可以是機器自動化的預先選擇的標準而是自動化的。
圖8示出了根據(jù)實施例的用于提供不同位置中的被共享的文件的本地表示的方法的邏輯流程圖。
過程800從操作810開始,其中,可以使得協(xié)作服務的訂閱者能夠共享與協(xié)作服務相關聯(lián)的云存儲的不同庫中的項目。例如,可以允許他們發(fā)送邀請電子郵件來共享項目。
在操作820處,在接收到由第一訂閱者向第二訂閱者共享項目的邀請之后,可以在云存儲的根庫處創(chuàng)建對位于其原始存儲位置處的被共享的項目進行引用的安裝點項目。被共享的項目包括其內具有文件或其他文件夾的文件夾或者單個文件。
在操作830處,可以使得第二訂閱者能夠在他們的庫中選擇安裝點項目的位置。還可以使得第二訂閱者能夠重命名安裝點項目、重新共享安裝點項目、和/或設置針對安裝點項目的內容的許可。
在操作840處,可以使得能夠通過安裝點項目而以對于第二訂閱者透明的方式來對被共享的項目執(zhí)行文件操作。所述操作可以包括創(chuàng)建、讀取、更新、刪除、解決、和枚舉操作。
包括在過程800中的操作是出于說明的目的的。對通信模式的自動選擇可以由具有更少或額外的步驟的類似過程、以及以使用在本文中所描述的原理的操作的不同順序來實現(xiàn)。
根據(jù)一些實施例,描述了一種用于提供不同位置中的被共享的文件的本地表示的計算設備。所述計算設備包括:顯示設備;被配置為存儲指令的存儲器;耦合至所述顯示設備和所述存儲器的處理器。所述處理器被配置為:在接收到用以共享項目的邀請之后,在云存儲的根庫處創(chuàng)建對位于其原始存儲位置處的被共享的項目進行引用的安裝點項目;使得受邀者能夠選擇所述安裝點項目的位置;并且使得能夠通過所述安裝點項目而以對于所述受邀者透明的方式來對所述被共享的項目執(zhí)行文件操作。
根據(jù)其他實施例,所述原始存儲位置和所選擇的位置位于邀請者和所述受邀者的與所述云存儲相關聯(lián)的相應的個人庫中。所述原始存儲位置和所述所選擇的位置可以是區(qū)別的域。所述處理器還被配置為使能通過所述受邀者的文件管理應用的用戶體驗將所述安裝點項目渲染為文件的文件夾或者單個文件中的一個。所述處理器被配置為通過允許所述受邀者將所述安裝點項目置于以下中的一個中來使得所述受邀者能夠選擇所述安裝點項目的所述位置:個人根庫,或所述個人根庫內的文件夾。所述文件操作包括以下中的一個或多個:創(chuàng)建操作、讀取操作、更新操作、和刪除操作。
根據(jù)另外的實施例,所述計算計算設備是用于協(xié)作服務的管理服務器,并且所述云存儲與所述協(xié)作服務相關聯(lián)。所述安裝點項目可以在所述管理服務器處被表示為具有一個或多個.url擴展名的文件,每個擴展名引用包括在所述被共享的項目中的文件或文件夾。所述處理器可以被配置為支持針對與所述協(xié)作服務相關聯(lián)的網(wǎng)絡用戶體驗和同步客戶端應用的解決操作和枚舉操作。所述處理器還可以被配置為使得所述受邀者能夠重命名所述安裝點項目。所述處理器還可以被配置為使得所述受邀者能夠與所述協(xié)作服務的另一訂閱者重新共享所述安裝點項目。
根據(jù)其他實施例,描述了一種用于提供不同位置中的被共享的文件的本地表示的系統(tǒng)。所述系統(tǒng)可以包括:第一服務器,其被配置為作為協(xié)作服務的部分來提供對一個或多個應用的訪問;第二服務器,其被配置為管理與所述協(xié)作服務相關聯(lián)的云存儲;以及通信地耦合至所述第一服務器和所述第二服務器的第三服務器。所述第三服務器被配置為執(zhí)行文件管理模塊,所述文件管理模塊被配置為:使得所述協(xié)作服務的訂閱者能夠共享所述云存儲的不同庫中的項目;在接收到由第一訂閱者向第二訂閱者共享項目的邀請之后,在所述云存儲的根庫處創(chuàng)建對位于其原始存儲位置處的被共享的項目進行引用的安裝點項目;使得第二訂閱者能夠選擇所述安裝點項目的位置;并且使得能夠通過所述安裝點項目而以對于所述第二訂閱者透明的方式來對所述被共享的項目執(zhí)行文件操作。
根據(jù)另外的實施例,文件管理模塊還可以被配置為:使得所述第一訂閱者能夠指定與將由所述第二訂閱者對所述被共享的項目執(zhí)行的文件操作相關聯(lián)的一個或多個許可;以及使得所述第一訂閱者能夠指定在由所述第二訂閱者重新共享之后與將由其他訂閱者對所述被共享的項目執(zhí)行的文件操作相關聯(lián)的一個或多個許可。所述文件管理模塊可以是能夠由多個計算設備通過一個或多個網(wǎng)絡訪問的第三方服務的部分。
根據(jù)一些實施例,文件管理模塊可以被配置為使得所述協(xié)作服務的訂閱者能夠通過以下中的一個或多個來共享項目:經(jīng)由電子郵件共享、針對協(xié)作服務文檔庫和云存儲文檔庫中的文件夾的項目調出、“與我共享”頁面上的項目調出、用戶體驗上的控制元素(例如,按鈕)、最近的文檔、搜索結果調出、或者作為與協(xié)作服務相關聯(lián)的富客戶端應用中的額外的控件和/或菜單項目。所述文件管理模塊還可以被配置為響應于改變、移動、和刪除中的一個或多個而給所述安裝點和所述被共享的項目分配不同的行為;并且如果所述被共享的項目被刪除或者被移動以使得與所述安裝點相關聯(lián)的元組值發(fā)生改變,則繼續(xù)在所述云存儲中顯示所述安裝點。
根據(jù)其他實施例,描述了一種用于提供不同位置中的被共享的文件的本地表示的方法。所述方法可以包括:使得協(xié)作服務的訂閱者能夠共享與所述協(xié)作服務相關聯(lián)的云存儲的不同庫中的項目;在接收到由第一訂閱者向第二訂閱者共享項目的邀請之后,在所述云存儲的根庫處創(chuàng)建對位于其原始存儲位置處的被共享的項目進行引用的安裝點項目,其中,所述被共享的項目包括文件夾和文件中的一個或多個;使得所述第二訂閱者能夠選擇所述安裝點項目的位置、能夠重命名所述安裝點項目、以及能夠設置針對所述安裝點項目的內容的許可;以及使得能夠通過所述安裝點項目而以對于所述第二訂閱者透明的方式來對所述被共享的項目執(zhí)行文件操作。
根據(jù)其他實施例,所述方法還可以包括:使得與所述云存儲相關聯(lián)的網(wǎng)絡客戶端用戶體驗能夠將所述安裝點識別為至所述被共享的項目的指針,并且顯示支持到所述被共享的項目的點擊前往導航的鏈接;使得定期與所述云存儲進行同步的同步客戶端應用能夠在客戶端啟動時執(zhí)行與包含所述被共享的項目的協(xié)作服務列表的選擇性同步;以及使得支持推送通知的客戶端應用能夠在啟動時針對每個根而向所述協(xié)作服務登記推送通知警報。所述方法還可以包括:響應于位于所述原始存儲位置處的所述被共享的項目的內容的改變,向每個經(jīng)登記的客戶端應用發(fā)送推送通知警報,以便觸發(fā)所述客戶端應用重新同步所述被共享的項目。
以上說明書、示例和數(shù)據(jù)提供了對制造和使用實施例的組成部分的完整描述。盡管已經(jīng)用特定于結構特征和/或方法行為的語言描述了主題,但是應當理解的是,在所附權利要求中限定的主題并不必須限于上面所描述的具體特征或行為。相反,上面所描述的具體特征和行為被公開為實現(xiàn)權利要求和實施例的示例形式。