專利名稱:對主機發(fā)布的內容進行訪問控制的制作方法
技術領域:
本發(fā)明涉及共享信息的方法和系統的運用。特別地,本發(fā)明涉及為用戶提供對信息的簡易訪問,以及使用戶具有共享信息和服務的能力。
背景技術:
在這個信息時代,很多人使用諸如計算機、個人數字助理(PDA)、智能電話等多種設備來預備、審查、修訂、訪問以及共享信息。例如,個人可以具有諸如臺式電腦和膝上型電腦之類的多臺工作計算機,多臺家用計算機,諸如Apple的iPhone之類的智能電話,和/或其他設備。此外,此人可以與不同的人交際或共事。在一些情況中,人們只希望能與朋友和家人共享數字照片、音樂等等。在其他情況中,人們希望與其他那些必須審查和/或修訂該人創(chuàng)建或編輯的文檔和文件的人共享文件。人們可以采用多種方式來嘗試處理單個文檔或文件存在于一臺或多臺計算機類型的設備上的問題。例如,最簡單的解決方案可以是將文件拷貝到諸如閃存驅動器之類的便攜式存儲設備上,并且只對閃存驅動器上的文件版本進行工作。在后一種方式中,個人可以使用位于工作地點、家中及其他位置的幾乎任何計算機上的文件。但是,該“解決方案”并不是沒有問題的。一個潛在的問題有可能與性能相關聯,這是因為閃存驅動器受限于閃存驅動器的接口速度,例如,該接口有可能是USB接口。此外,要想對文件進行備份而不忘記所備份的版本以及備份所在的位置是很困難的。另外,由于閃存驅動器遠遠慢于現代的計算機網絡, 因此嘗試在商務環(huán)境中使用閃存驅動器來傳播文檔或文件以供審查和評論的處理是不切實際的。因此,這種審查被限制成每次針對一個人進行,而這很有可能不適合眾多項目的時間約束。另一種解決這個問題的常見嘗試是將文件置于可以從多個位置訪問的服務器上。 該“解決方案”非常靈活、易于建立并且可以在沒有等待時間的情況下工作,而且還可以與平臺整合。但是另一方面,這種“解決方案”有可能會難以使用,其他用戶有可能難以定位正確的文件,并且即便對一個人而言也有可能存在著處理多個身份的可能性的問題。例如, 某個人可能具有基于此人名字的一個標識以及基于昵稱的又一個標識。即使這兩個標識實際是相同的個人,但正常的系統也會將這兩個標識視為兩個單獨用戶。此外,連接有可能會很復雜,特別是在個人可以使用遠程訪問的時候(例如在服務器可能位于工作地點而用戶待在家中的時候)。一個或多個用戶有可能難以訪問文件。與使用文件服務器作為中心位置來存儲文件不同,不同的用戶僅僅使用電子郵件來往復郵寄文件。通常,電子郵件分發(fā)是免費的(如果用戶已經具有電子郵件訪問)。此外,由于用戶只需要知道如何將文件附著于電子郵件,因此電子郵件有可能是最易于使用的系統。電子郵件訪問基本上是通用的,并且包含了一個或多個文件的電子郵件是可以轉發(fā)的。但是,文件的電子郵件分發(fā)通常會因為保密性差而受到損害。此外,電子郵件用戶對 SPAM和網絡釣魚(某些人在其電子郵件并非來自合法來源時嘗試讓用戶相信其電子郵件
4來自合法來源)是很敏感的。借助于電子郵件的文件分發(fā)還有可能引發(fā)很多附加的問題。例如在很多情況中, 因特網服務供應商經常會將附件大小限制成特定大小,例如10MB。此外,在“過時”文件中可能存在著與發(fā)送文件和接收或查看文件之間的等待時間相關的問題。當整體大小變大時,例如當存在很多用戶、很多文件或是很大的文件時,這些問題甚至會變得更加尖銳。關于這些問題的更為近期的“解決方案”是使用因特網上的網站作為存儲位置。 該解決方案解決了與電子郵件解決方案相關的可升級性(scalability)的問題。此外,大小或文件類型通常是沒有限制的,并且存儲文件的網站通常會為用戶提供超出平均水平的安全性。在為文件提供了范圍廣泛的可訪問性的同時,文件能夠很容易被轉發(fā)至其他用戶 (或者至少注意到該文件可用)。但是,將web用于文件分發(fā)的用戶有可能會伴隨有其自身的一組問題和/或難題。 web實質上是一個沒有很好地與各種平臺整合的獨立系統。此外,對web解決方案來說,在使用服務器解決方案時遭遇的多個身份的問題同樣有可能出現。web解決方案還有可能會過于昂貴,同時為用戶提供了不一致的特征和體驗。最終并且有可能是最重要的則是與在 web上存儲文件的處理相關的隱私性和保密性問題。這些“解決方案”中沒有一種足以解決與共享大量的多個文件相關的問題。例如, 在因特網上的服務器上,訂閱了 Apple的“MobileMe”服務的用戶會被分配一定數量的存儲空間。然后,用戶能夠上傳該用戶希望與其他人共享的文件。盡管使用Apple的Macintosh 計算機較容易實施上傳處理和服務空間管理,但是空間的數量是受到限制的,并且由此需要附加的管理等級。此外,授權個體沒有一種簡單的方法來知道服務器上存儲的文件何時發(fā)生了變化。與這其中的任一“解決方案”相關聯的中心問題之一是安全性。一旦文件被共享, 那么無論采用怎樣的共享方法,安全性都會成為一個較大的問題。這個問題并不是簡單地封閉文件(lock down)而使其只能被選定個體訪問。由于安全性不應該成為實現共享文件僅作為其中一部分的任務的阻礙,因此這個問題是較為廣泛的。這樣一來,即便對授權用戶而言不是透明的,安全系統也必須易于為授權用戶所使用。安全性問題應該是靈活的,并且應該能與現有系統一起工作,以及能夠使用(但不局限于)諸如名稱和口令或個人身份證書(如)(509規(guī)范所述)之類的共同約定,以及使用訪問控制列表(ACL)。在處理多用戶環(huán)境時發(fā)生的一個附加問題涉及的是等級比用戶通常共享和/或修訂的數據和信息更高的數據和信息。例如,上述解決方案中沒有一種可被用于查看和操作那些諸如可能需要伴隨共享文件的元數據和/或應用設置之類的信息。因此,上下文會丟失,而在很多情況中,上下文有可能是很重要的。在沒有正確設置的情況下,不同的用戶有可能會以完全不同的角度來查看一個文件。本發(fā)明解決了這些問題以及其他問題,并且涉及同時提交的共同轉讓和共同未決
美國專利申請No._律師案卷號104677-0210-101 (P5784US1),以及同時提交的共
同轉讓和共同未決美國專利申請No._律師案卷號104677-0212-101 (P5786US1),
這其中的每一份申請都在這里全部引入作為參考。
發(fā)明內容
提供了一種使多個用戶得以訪問文件和通用信息(有時也被稱為元數據)的方法和設備。根據一個實施例,本發(fā)明能使一組用戶簡單透明地共享數據文件。該數據可以包括大量的事物集合,例如照片庫、歌曲庫、電影庫、設備原理圖、預算估算、項目文件等等,或者該數據也可以僅僅是單個文件。例如,具有共同的朋友并且一起旅行過的三個人有可能希望能夠查看和共享每個人在旅行中拍攝的照片。這些照片可以包括超出普通電子郵件環(huán)境的典型大小限制的單個文件。此外,每個人具有的庫的大小可以包括占用了數千兆字節(jié)空間的數千照片。在一些實施例中,本發(fā)明通過在總目錄中為每個項目創(chuàng)建“卡”來確定追蹤單個項目的方式。每個項目都可以具有多個表示,而在單個目錄內部則通過單獨的唯一卡來表述每個表示,由此很容易對其進行訪問。例如,單個照片可以用多個卡表示成“Skiing Trip”, "Trip withthe Gang”,“Skiing in Colorado", "Winter Vacation,,,“Bill,,,“Fred,,, “Steve”等等。這樣做能使系統在目錄內部具有數量近乎無限的分層組織結構。此外,代表同一張照片的每一個唯一卡可被放置在不同目錄中。因此,對“單個”照片而言,它可以被組織在數量近乎無限的目錄中。在一些實施例中,本發(fā)明的方法和設備提供了關聯或源于初級信息的次級信息的表示。例如,一些表示(與單個卡相關聯)各自可以與主圖像的縮略圖或低分辨率圖像相聯系。在其他情況中,用卡表示的電影文件有可能具有不同剪輯、腳本、相機租賃賬單等等, 并且所有這些都是與所述單個卡相關聯的。本發(fā)明的一個實施例既允許用多個卡表示單個 “文件”,同時也允許將多個文件組織成是單個卡的表示。在本發(fā)明的一些實施例中,卡目錄在大小方面明顯小于其代表的信息。此外,根據本發(fā)明的一些實施例,如果移動目錄并將其保存在本地,以便即使在其引用的數據未保存在本地的時候也能啟用高速查詢,那么將會是很有利的。例如,在處理照片庫、諸如用 Apple的iPhoto產品創(chuàng)建的大小為50GB且具有14,000個圖像的照片庫時,卡目錄可能約為2-10MB,這一點取決于每個圖像的不同表示的數量。由于來自用戶的查詢是在本地處理而沒有經由網絡去往“服務器”,因此,目錄具有的明顯較小的尺寸會使來自用戶的查詢看起來幾乎是被即時回答的。此外,根據用戶的需要,目錄有可能具有多個等級,從而提供更快的響應時間。如果用戶選擇了“search by subject-no source (按主題搜索-無來源)”, 那么系統甚至可以使用更小的子目錄,以使所述響應幾乎是即時的。另一方面,用戶可以選擇“search by subject-from ‘Fred,(按主題搜索-來自‘Fred,)”,而在本發(fā)明的一個實施例,該處理有可能會搜索整個目錄,最終為用戶呈現精制的縮略圖集合以供審查。根據本發(fā)明的一些實施例,無論用戶擁有怎樣的計算或移動設備,都可以讓用戶得以訪問該用戶的所有庫(或目錄)。例如,假設用戶具有iPhoto庫、iTimes庫以及用戶所屬的人員團體所從事的新建筑物的項目庫(該項目庫可以包括一系列數字藍圖、建筑物三維模型、在建筑物周圍行走的動畫視頻剪輯,涉及該項目的所有人員的聯系人列表等等)。用戶在家中使用臺式計算機,將膝上型計算機用于旅行,工作時則使用iWione、 AppleTV以及臺式計算機。但是,無論所使用的是哪個設備,都可以為該用戶提供針對所有這些庫的訪問。此外,該訪問應該以這樣一種方式提供給用戶,其中信息的確切位置實際上是不相關的。換言之,用戶體驗應該使得系統響應性可以使得用戶相信被尋找的所有文件和信息全都是本地保存在用戶具有的任一設備上的。如果用戶放下膝上計算機并拿起 iPhone來繼續(xù)進行任務,那么關于該活動的系統性能和用戶體驗應該是基本無縫的。在本發(fā)明的一些實施例中,為用戶提供了訪問不同等級的信息的系統和方法,這些信息可以像基于服務器的系統那樣是可升級的,并且可以像通過基于電子郵件的系統那樣是易于訪問的,同時還會像基于web的系統那樣是在幾乎任何地方都可以訪問的。以此方式,本發(fā)明的系統和方法提供了先前已知的每一個系統的最大益處,與此同時,即便沒有克服全部缺陷,它也克服了這其中的很多缺陷。在本發(fā)明的一些實施例中,系統和方法被配置成提供一個可以在現有系統的框架內部工作的安全系統,同時還提供分布式架構所需要的附加安全性。例如,可以使用常規(guī)的名稱/ 口令型安全性和/或證書,同時還啟用訪問控制列表(ACL)。ACL可被用于幫助建立可在不同等級設置和/或更新的用戶和群組許可,其中所述等級包括在用戶級本地,遠程或是經由在線服務。此外,更為理想的是,為接收方提供設置其身份的能力(以及借助雙親控制(parental control)來提供限制該特征的能力)。根據一些實施例,更為有利的是,為用戶提供合并(或鏈接)身份的能力來增強易用性。在本發(fā)明的一些實施例中,用戶應用可以定義用戶與其他人之間的共享等級。共享位置也可以由應用來設置,使得所述共享可以源于本地計算機、源于特定機器、或者經由聯機服務遠程進行。系統可以用于為ACL定義參數,然后該應用可以負責施加這些參數。此外,較為有利的是優(yōu)化常見事件的安全特征。例如,特定用戶集合可被“烙印”成默認值,使得在每次有來自該群組的用戶首次嘗試訪問該信息時,用戶不必“recreate the wheel (白費力氣做重復工作)”。然后,默認設置可被建立,以便在用戶不必重新配置系統的情況下覆蓋大多數情形。在本發(fā)明的一個實施例中,配置系統是一個改變選定數量的清楚理解的默認值的簡單任務。這與傳統的系統是相反的,在傳統系統中,配置有可能需要通過“一屏接一屏的”晦澀難解的配置選項和設置。根據本發(fā)明一些實施例的方法和設備,系統和/或應用可以自動產生授權用戶的抽象身份,由此發(fā)布者不必知道用戶是否改變其身份。因此,用戶可以并且很有可能會以多個身份為結束,這其中的一些身份是公知的,而其他身份則僅僅為系統內部所知。但是, 為了完成這種架構,應該存在一個可信的通信通道,從而存在一個處理身份鏈接的“調停人”。例如,雖然用戶有可能具有公眾身份harveyOmac. com,但是系統可以創(chuàng)建一個附加身份b7M86+hank@_harvey. members, mac. com。在這種情況下,根據這里描述的本發(fā)明的一些實施例,“b75486身份”有可能是系統產生的用于附加安全性的加密密鑰,但它并不是必需的。本領域普通技術人員將會想到,在不脫離本發(fā)明的精神的情況下,這里描述的不同實施例中的至少一些實施例是可以結合在一起的,或者它們也可以與其他實施例相結合。
通過考慮以下結合附圖給出的詳細描述,可以更清楚地了解本發(fā)明的上述和其他特征、本發(fā)明的特性以及各種益處,其中圖1是根據本發(fā)明一個實施例的網絡系統的簡化框圖;圖2是根據本發(fā)明實施例用于操作網絡系統以添加資產的處理總圖的說明性流程圖;圖3是根據本發(fā)明實施例用于操作網絡系統以查看資產的處理總圖的說明性流程圖;圖4是根據本發(fā)明實施例用于處理資產變化的處理總圖的說明性流程圖;圖5是根據本發(fā)明實施例用于創(chuàng)建規(guī)則并將其應用于具有多個用戶的項目的處理總圖的說明性流程圖;圖6是根據本發(fā)明一些實施例的網絡系統的樣本系統配置;圖7是根據本發(fā)明一些實施例創(chuàng)建抽象身份的示例說明;以及圖8是根據本發(fā)明一些實施例的處于工作的安全性系統的示意圖。
具體實施例方式圖1顯示是可以依照本發(fā)明的一些原理工作的網絡系統100的簡化圖示。網絡 100包括目錄110、接口框架120以及存儲設備130。目錄110包括一系列目錄單元,為了方便起見,這些單元被順序標記成目錄單元112、114、116和118。本領域普通技術人員將會想到,目錄110可以包括任意數量的目錄單元,這一點可以從以下論述中更清楚地了解。應該指出的是,舉例來說,如下文中更詳細描述的那樣,目錄單元112、114、116和118(以及目錄110內部的其他目錄單元)可以是存儲目錄卡信息的服務器,和/或對資產的授權用戶之間的通信、資產變化等等進行處理的服務器。接口框架120是通過操作來控制網絡100的不同方面的網絡組件的表示,其中所述網絡組件可以是硬件、軟件或軟硬件組合等等。這些組件可以包括目錄管理器122、資產管理器IM以及安全管理器126,整體框架等級應用程序接口(API)被用于管理器與網絡系統100的其他部分以及使用框架120的任意客戶機應用之間的互連操作。例如,目錄管理器122追蹤并幫助用戶管理駐留在目錄110上的目錄。資產管理器124同樣追蹤并幫助用戶管理駐留在存儲設備130上的資產。安全管理器1 管理各種安全問題,諸如為每一個用戶創(chuàng)建唯一系統ID,應用用戶請求的共享偏好,創(chuàng)建和管理與在系統上存儲和檢索的恰當數據元素相關聯的安全密鑰等等。以下更詳細地論述了其中每一個管理器的功能。存儲設備130包括多個獨立、不相關的數據存儲單元(這些單元本身可以包括多個互連的存儲單元)。例如,存儲設備130可以包括存儲單元132、134和136。舉例來說,每個存儲單元132、134和136可以是能被網絡系統100使用的大容量服務器,以便通過使用系統100來存儲用戶資產。但是,存儲單元也可以是分布式的,使得一些單元是網絡設備, 一些單元則不是(例如,存儲單元132和134可以是網絡設備,而單元136可以是本地設備)。舉例來說,所存儲的資產可以包括用戶照片庫中的實際數字照片,和/或用戶iTimes 庫中的所有音樂的實際數字版本,或是客戶機軟件從源中得到的數據的不同表示。圖2中顯示了根據本發(fā)明的一些實施例可以如何使用系統網絡100來存儲資產的概括性表示(在下文中對照其他附圖提供附加細節(jié))。當用戶在步驟202中創(chuàng)建資產時,這時可以啟動系統流程200。所述資產可以在本地創(chuàng)建,例如在iPhone上通過用內置相機拍攝照片來創(chuàng)建。該資產最終將會存入一個或多個存儲單元132、134和136(或是存儲設備 130中的其他任何存儲單元)。在步驟204中,對于所述資產,提取和/或創(chuàng)建多個參考信息(可能創(chuàng)建的參考信
8息之一是資產的非易失“數字指紋”)。例如,對于指定的數字照片資產,參考信息可以包括諸如處于不同分辨率的照片的一個或多個縮略圖(根據本發(fā)明的至少一個實施例,這些縮略圖可以作為單獨資產或是單個資產的單獨表示來保存,其中所述單獨表示是用目錄中的單個“卡”表述的)、一個或多個關鍵字、拍攝照片時的GPS坐標、與照片相關聯的事件名稱。 除了參考信息不應該包含數字資產本身之外,在任何指定的參考信息中都可以包括更多或更少的信息,因此代表資產的一個或多個卡的大小要遠遠小于資產的大小——例如,視頻資產的大小約為4GB,而該資產的參考信息則可以是大約1,000字節(jié)。提取/創(chuàng)建參考和/ 或元信息的處理通??梢栽诳蚣芙涌?120內部或是客戶機應用本身之中進行。特別地,目錄管理器122可以執(zhí)行提取/創(chuàng)建處理??蚣艿倪@個部分可以駐留在本地計算機上,或者也可以位于網絡100上的其他地方。接口框架120還可以執(zhí)行若干種處理。在步驟206,框架120可以通過目錄管理器 122與一個地址薄對接,以便確定應該將參考信息傳播到何處(如下文中更詳細描述的那樣,地址可被用作安全性基礎,以及用作存儲于何處的提示),并且它會相應地應用該地址信息。一旦應用了地址薄信息,那么可以在步驟208中執(zhí)行安全操作。安全操作208會根據本發(fā)明的一些實施例來應用一組指定的訪問規(guī)則,以及創(chuàng)建一組訪問密鑰,在下文中將會對其細節(jié)進行闡述。安全操作可以完全由安全管理器1 在本地執(zhí)行,或者也可以由網絡100上的安全組件來為其提供幫助。在步驟210中,通過將來自步驟204的參考信息與步驟206和208的地址薄及安全信息相結合,可以創(chuàng)建一個或多個虛擬卡。例如,用戶有可能選擇了可以訪問資產的個體和/或個體群組。目錄管理器122可以執(zhí)行創(chuàng)建卡的處理, 其中最終得到的卡將被置于目錄112、114、116或118。網絡100上運行的其他目錄管理器組件也可以為該步驟提供幫助。在步驟212,目錄管理器122向存儲卡的一個或多個目錄112、114、116和118發(fā)送卡。關于存在新卡(或是經過修改的卡)的通知是在步驟214中發(fā)出的,該步驟也可以由目錄管理器122或是網絡100上運行的其他目錄管理器執(zhí)行。在本發(fā)明的至少一個實施例中,該通知可以非常簡單(例如是在網絡100上運行的目錄管理器之間的“直接”通信),或者它也可以使用一個或多個可能具有不同等級的自治權的電子郵件消息而變得較為牢固。此外,通過優(yōu)化該處理,可以發(fā)送較少的更新拷貝,而這可以進一步實現快速更新 (該處理同樣需要現有用戶更新)。例如,在最高等級,通知步驟214可以僅僅標識可被電子郵件接收方訪問的資產。作為替換,通知步驟214可以提供一個邀請,如果該邀請被接受,那么將會使得接收方可以在其本地計算機上直接訪問相關卡(如下文中更詳細描述的那樣)。另一個替換方案可以是接收方預先設置一個接受來自發(fā)送用戶的所有卡的首選項 (preference),在這種情況下,卡管理器122可以在不與接收方進行任何交互的情況下自動提供針對新的/經過修改的卡的直接訪問(較為理想的仍舊是向接收方發(fā)送一個電子郵件,以便通知在本地機器中已經添加了針對新卡的訪問)。在步驟208,安全管理器1 還會執(zhí)行為資產本身創(chuàng)建安全信息的附加功能(諸如創(chuàng)建訪問和/或加密密鑰等等)。然后,資產管理器IM在步驟216中處理該安全信息,其中該管理器通過將該信息與步驟208中獲取的安全信息相結合來預備存儲該信息(在本發(fā)明的一個實施例中,該處理可以采用使用所提供的加密密鑰來加密資產的形式)。在步驟 218,資產管理器IM將資產存入存儲設備130內部的一個或多個存儲單元132、134和136。一旦完成了步驟214和218,授權用戶將可以訪問存入網絡系統100的新資產。圖3顯示的是用于獲取已被存入網絡存儲設備的資產的處理300的總圖的說明性流程圖。在步驟302,用戶選擇來自另一個用戶的目錄(假設該用戶的所有或大多數目錄都是保存在本地的;但是,如果未將其保存在本地,則取回該目錄)。例如,選擇目錄的處理可以僅僅是在Apple的iPhoto應用內部選擇另一個用戶的庫。所述庫可以包括任意數量的照片。在用戶對他或她的一個庫進行選擇的“正?!杯h(huán)境中,所有照片通常是本地保存在計算機的硬盤驅動器上(在大多數情況中都是如此,其中至少用戶自己的資產是保存在本地的)。根據本發(fā)明的實施例,用戶可以采用與選擇本地存儲的庫相同的方式來選擇另一個用戶的庫。所述選擇可以僅僅是從列表中選擇另一個用戶,而這將會導致顯示所述用戶的庫的列表,以便能夠選擇其中一個庫。當用戶選擇另一個用戶的庫時,網絡系統100將會執(zhí)行操作,使得在延遲情況下以少量延遲以及較高的等級來為用戶顯示所選擇的庫的信息和資產。此外,用戶還可以配備選擇和組織所使用的方法的能力。這種組織可以不同于庫的擁有者已經使用的組織。每一個用戶所做的組織變動沒有必要反映給庫(也被稱為目錄) 的所有用戶。在這種情況下,由于選擇了另一個用戶的庫,因此,網絡系統100會在步驟304中向用戶提供包含了庫的完整目錄,其中所述庫包含了與所選擇的庫相關聯的所有卡。目錄管理器122從其中一個目錄112、114、116和118中檢索目錄和卡,并且將其經由網絡系統 100提供給用戶計算機。由于目錄的大小相對較小,因此,所述卡可以在等待時間很短或者沒有等待時間的情況下(例如在用戶發(fā)現可接受的正常訪問等待時間以內)傳送至用戶, 并且顯示在用戶的計算機或手持移動計算設備上。舉例來說,在本發(fā)明的一個實施例中,在正常環(huán)境中,如果用戶選擇了照片庫,則顯示來自所述庫的一系列照片,如果這些照片在本地不存在,則從存儲設備132、134或136中檢索這些照片或是這些照片的縮略圖。根據本發(fā)明的實施例,另一個用戶的庫中的照片或照片縮略圖的顯示會在與選擇用戶自己的一個庫的時間大致相同的時間里被傳送到用戶的計算設備并在其上進行顯示(因此,在這種情況下,用戶實際上不知道照片來自何處)。然后,用戶在步驟306中選擇來自另一個用戶的庫的一張照片。同樣,如果用戶選擇了來自他的庫的照片,那么計算系統僅僅在本地檢索該資產(在本范例中是實際照片) 并對其進行顯示(作為替換,舉例來說,它也可以僅僅被存入本地緩存存儲器)。響應于對其他用戶照片所做的選擇,網絡系統100會在步驟308中執(zhí)行操作,以便從存儲照片的位置檢索照片。為了實施該檢索,資產管理器1 會通過操作來從存儲單元132、134和136之一中檢索所選擇的照片(根據本發(fā)明的另一個方面,該系統可以被配置成自動選擇與使用中的設備以及將要使用該資產的上下文相適合的一個或多個特定資產——在這種情況中, 舉例來說,該處理是通過僅僅檢索可以完全顯示在請求設備上的照片的分辨率來完成的)。 檢索到的照片可以先被存入資產管理器1 管理的本地緩存器,由此關于所述照片的后續(xù)請求可以從緩存器中得到滿足,并且將其經由框架120返回給用戶應用?!z索了照片,則計算設備會在步驟310中顯示該照片(該步驟還有可能需要解密檢索到的資產)。對用戶而言,檢索和顯示處理應該是相對透明的,由此用戶體驗與在用戶選擇了本地存儲的照片的情況下的用戶體驗相類似。一旦用戶結束使用該資產,那么可以在步驟312從用戶的本地計算設備的緩存器中擦除該資產(例如,所述擦除步驟可以是提供給用戶的一個選項)。舉例來說,如果用戶關閉單個圖片,或者如果用戶退出了使用該資產的應用,那么該情況有可能發(fā)生。但是,一旦將資產遞送給用戶的計算設備,并且用戶改變了所述資產,那么網絡系統100可以采用多種方式來執(zhí)行操作。圖4中顯示了這其中的一種情況,其中該圖顯示的是根據本發(fā)明的實施例,資產的非所有者如何對該資產實施網絡系統100的地址變更。如圖4所示,在步驟402,用戶修改并非為該用戶所擁有的資產——為了方便起見,該資產繼續(xù)被稱為照片,但它可以是任何資產,諸如曲目、鈴聲、數字視頻、電子表格文件等等。與實際修改資產本身不同,在步驟404,網絡系統100使用框架120和本地計算設備并且通過操作來記錄應用于資產的變動(這些修改可以作為元數據保存)。在這種情況下,由于所顯示的圖像顯示的是已經進行的所有變動,因此,即便與資產分開地記錄變動, 用戶也無法分辨其中的區(qū)別。例如,如果用戶訪問另一個用戶的照片并且修剪照片,那么系統將會記錄所述修剪的大小和位置,并且會在本地應用所述修剪處理,由此用戶將會即時看到所進行的變動,但是資產本身是不會改變的(修剪的大小和位置可以作為與另一個用戶的照片的單個用戶視圖相關聯的元數據來保存)。在另一個操作模式,本發(fā)明可以響應于用戶請求來實際修改資產數據本身。這些修改可以作為資產的替換版本來保存,但是仍舊關聯于與原始卡相同的“卡”。用戶可以繼續(xù)對“資產”進行附加變動,并且這些變動會以相似的方式記錄和顯示 (例如調整照片的白平衡)。一旦用戶完成了對文件的工作,那么用戶會在步驟406中指示其提交這些變動。該處理可以采用多種不同的機制來實行,諸如用戶只關閉照片本身(通過點擊CLOSE (關閉)框而不是退出應用,并且有可能對一個對話框做出回應,其中舉例來說,所述對話框有可能會問“Do you want to savechanges (希望保存變動么?)”)或者退出應用。在用戶提交了變動之后,框架120會在步驟408中更新卡,其中除了其他信息之外,該卡還包含對所述資產進行的所有變動(或者如上所述將經過修改的數據上傳至存儲設備134、136或138之一,以及將其關聯成初始資產的新版本。但是仍舊與卡相關聯)。例如,所述卡還可以包括做出這些變動的用戶的標識,進行這些變動的時間和日期,用于進行這些變動的應用(例如,Apple的iPhoto和Aperture程序均可用于修改數字照片)等等。 系統可以決定更新數字文件還是創(chuàng)建資產本身的“新”版本,而不是僅僅存儲所述變動的元數據記錄。一旦創(chuàng)建了卡,則可以執(zhí)行一個與安全性相關的可選步驟409(在圖4中將步驟 409顯示成是一個虛框,以便進一步指示它是以應用到指定用戶或用戶群組的安全設置為基礎的可選步驟)。如果需要附加安全措施(例如修改用戶需要對經過修改的資產進行附加等級的有限訪問或是加密),那么可以通過調用安全管理器1 來創(chuàng)建附加的安全密鑰, 從而在將所述卡于步驟410中上傳至其中一個目錄112、114、116和118之前將所述附加的安全密鑰附加于卡。在將卡置入目錄后,網絡系統100會在步驟412中創(chuàng)建并向資產的初始所有者以及其他任何授權用戶發(fā)送一個或多個消息,以使其知道該資產已經改變。例如, 經過更新的卡可以關聯于經過修訂的照片縮略圖(如果創(chuàng)建了 “新的”數字資產),和/或它也可以包含用于這些修訂的實際指令(即元數據)。用戶可以采用多種方式來選擇在卡中包含哪些信息的決策,或者該決策也可以由
11系統來確定。例如,可以為用戶提供一系列框體,以便選擇待包含信息的類型以及每個單元的大小。這樣做可以幫助用戶將系統操作精細調諧到可接受的性能等級。作為替換,也可以簡單地為用戶提供與圖形滑動條相似的東西,其中舉例來說,所述滑動條的標度可以是本地保存的信息相對于訪問時間的量。系統的另一個選項可以是基于估計的性能特性而在內部做出所有這些決定。例如,如果縮略圖大小顯著大于照片編輯指令大小,那么它有可能較為有效,并且可以為用戶提供改進的性能,以便實際發(fā)送所述變動。本發(fā)明的實施例可以應用于多種不同的環(huán)境。例如,以上描述特別涉及數字照片和照片集合(例如組織成事件)。本發(fā)明的實施例可以應用于任何資產集合,如iTimes音樂庫、數字視頻項目或一系列項目、和/或可以使用來自多個不同應用的資產的綜合項目, 諸如Apple的Keynote演示應用(在該應用中,視頻剪輯、數字照片、圖形和文本可以整合在一起)。在用于綜合項目時,本發(fā)明的實施例能使各種不同的個體更新并保持整個演示的不同部分(即資產)。由于這些部分是經過更新的,因此其在所有授權用戶的項目中實際上都是即時更新的。舉個例子,如果用戶使用Apple的iMovie或FinalCut應用來更新視頻剪輯,并且該電影位于一個Keynote幻燈片演示上,那么本發(fā)明的實施例將會創(chuàng)建一個如上所述包含了視頻剪輯變動的卡。一旦進行了修訂,那么由于這些修訂應用了封裝所進行的變動的元數據,因此所述卡將被傳送到能夠查看經過更新的視頻剪輯的所有授權用戶。如果應用元數據變動的處理失敗,那么可以為授權用戶提供資產本身的修改版本(該處理一定是一個較慢的處理)。此外,雖然本公開關注的是諸如數字照片、數字電影和數字音樂之類的實際資產, 但是本發(fā)明的實施例同樣可以在用于資產自身之外的信息的應用上執(zhí)行通用變動。舉個例子,如果有多個用戶從事的是對不同攝影師拍攝數千張照片的大型攝影進行編輯的工作, 那么通過使用本發(fā)明的實施例,可以控制和修改與所有圖片和/或項目本身相關聯的一些元數據。在常規(guī)系統中,雖然單個用戶可以選擇項目或庫中的所有照片,并且可以嘗試將元數據變動應用于所選擇的每個事物,但是這種技術易于出錯。舉例來說,如果用戶相信所有照片都已加載,并且由此將一個或多個全局元數據變動應用于庫中的所有照片。那么,添加到項目中的附加照片很有可能錯過這些全局變動。此外,如果多個人將照片添加到單個庫或項目中,那么該技術將不起作用。根據本發(fā)明的一些實施例,在多個用戶中可以共享和應用項目級元數據和/或規(guī)則。圖5顯示的是系統處理500的圖示,該圖示出的是多個用戶可以如何創(chuàng)建和使用項目, 其中在多個計算設備中可以設置和應用全局規(guī)則。處理500是在步驟502中主機(它也可以是用戶之一)創(chuàng)建項目的時候開始的。例如,該步驟可以通過使用Apple的Aperture照片管理應用建立名為“Annie Jr. ”的項目來進行,在該項目中,有五名攝影師為兒童電影院拍攝照片。在正常環(huán)境中,每一個攝影師會將其照片提供給某個人,以便進行編輯和處理。 這樣做將會導致演員及其家人在很長時間之后才能觀看和購買演出照片。根據本發(fā)明的一些實施例,主機創(chuàng)建一個群組列表,其中如上所述,該列表將會導致訪問并鏈接到包含了將要發(fā)送給群組列表上的每個用戶的一個或多個卡的目錄。在步驟 504,通知處理可以向用戶告知已經創(chuàng)建了一個或多個資產,和/或向用戶告知其已被授權添加和修改項目中的信息。在步驟506,主機可以具有要求肯定承諾的選項。在步驟508,主機和用戶可以設置與整個項目相關的規(guī)則。這些規(guī)則可以是應用于添加到項目中的每個資產的單個規(guī)則(例如項目名稱,或者在本范例中是演出名稱和日期)。作為替換,這些規(guī)則可以是應用于項目的高等級規(guī)則,諸如為附加于每個資產的元數據自動添加每個提交者的姓名的規(guī)則。如上文中對照圖2-4所述,每一個規(guī)則都有可能導致產生分發(fā)給所有授權用戶的變動,或者網絡系統100可以創(chuàng)建與任意和全部規(guī)則(或是其一些組合)相關的單個卡。然后,當用戶從事指定項目時,接口框架120可以恰當地修改相關應用的行為。在主機建立了群組列表之后,每一個授權用戶可以立即開始使用該項目。例如,在步驟510,每一個攝影師都可以直接從位于Armie Jr.的拍攝現場直接去往住宅或工作室, 并且將照片從其相機下載到項目中作為資產。這樣做會導致這些資產是用卡表示的,并且是與項目相關聯的,而這會將恰當的信息傳播給目錄等等。在步驟520,已經接收到了將用戶名稱附加于該用戶發(fā)布的每一個資產的規(guī)則的應用將會應用該規(guī)則,并且將附加元數據添加給先前添加到項目中的每個卡,以便包含在項目中添加照片的用戶的用戶名。一旦將照片加載到項目中,那么如圖4所示并且如上所述,無論授權用戶是否發(fā)布照片,每一個授權用戶都可以修改照片。本發(fā)明的這些實施例的一些優(yōu)點包括無論用戶添加到項目中的資產具有多大還是多小的百分比,每一個用戶都可以從事整個項目。此外,無論運行應用的計算設備的“容量”是怎樣的,通過使用這些技術,可以使得項目中的一切事物都以相同的方式進行。這樣一來,網絡系統100能使應用依靠系統而不是依靠每一個單獨用戶來完成與數據分發(fā)、數據協調、元數據、推導數據、替換表示、大量數據組織以及對這二者的改動相關的某些任務 (但是并不局限于此),從而提供更高的一致性和可靠性??梢詮谋景l(fā)明的這些實施例中獲取的附加優(yōu)點是新實現的效率所導致的高速傳送以及對多個用戶交互的響應性,其中所述效率可以在將資產管理和元數據管理這兩種技術作為分離和獨立的通道來建立的時候實現。網絡系統100在全局上可以是異步的,而元數據信息訪問則可以是本地同步的。本發(fā)明的一些實施例的其他優(yōu)點涉及的是這樣一個事實,即用戶可以“感覺”到他們在其計算設備上掌握的信息要遠遠多于其實際具有的信息。非常重要的是,網絡系統100 可以采用相對較快的方式來提供它們本地不具有的信息,由此用戶未必意識到在從另一個位置下載了信息之后執(zhí)行搜索。在查看Apple的當前產品8GB iPhone的時候可以發(fā)現本發(fā)明實施例的能力的一個示例。由于大多數的照片回看都是使用適合設備的卡和縮略圖完成的,而沒有使用實際的完整分辨率的資產,因此通過使用這里描述的技術,用戶能在8GB的計算設備上瀏覽 30或40GB的照片。舉例來說,iPhoto上具有大約14,000張圖片的樣本圖片庫具有大約 45,000個相關文件,并且有可能占用超出42GB的空間。在正常環(huán)境中,如果沒有本發(fā)明一些實施例的優(yōu)點,那么在iPhone上是無法查看所述庫的。但是,當iPhone是網絡系統 100的一部分時,這時可以通過使用占用了少于4MB空間的卡目錄而在iPhone上查看同一 iPhoto庫。因此,8GB的iPhone的用戶不但可以查看超出42GB的照片,該用戶還可以訪問實際與其在臺式機或膝上型計算設備的iTimes庫中一樣多的數字音樂(并且可以訪問大量視頻文件)。圖6顯示的是可以根據本發(fā)明的一些實施例操作的網絡系統100的示例系統架構。該系統架構600包括庫管理員服務602、商務辦公室604和606、離站存儲設備608以及小型用戶站點610和612。需要說明的是,本例證是為了顯示本發(fā)明的技術的某些方面的可升級性而給出的。包含服務器603的庫管理員服務602可以為網絡系統100提供具有位置、路線、安全和管理信息的集中式根部和仲裁器。商務辦公室604代表的是公司在指定城市中的信息技術中心,并且包括目錄服務器622 (該服務器保持和管理該營業(yè)中心用戶的目錄)以及通知服務器632(它會向授權用戶遞送可靠通知)。如圖6所示,商務辦公室604并未在本地存儲任何資產。另一方面,商務辦公室606包括目錄服務器624、通知服務器634以及現場存儲服務器644 (其保持目錄引用的所有資產)。架構600可以采用不同方式來使用包含存儲服務器646的離站存儲設備608。商務辦公室604可以將其所有資產存入存儲服務器646,而商務辦公室606則可以使用離站存儲設備608來處理溢出狀況,并且出于安全目的來離站保存?zhèn)浞輬D像。商務辦公室604和606可以是不同的部門或以不同方式配置的單個公司,或者它們也可以只代表兩個完全不同的公司。除了商務辦公室604和606之外,架構600還包括以另一種方式配置的小型企業(yè) 610和612。特別地,小型企業(yè)610和612中的每一個分別包括處理目錄和通知功能的單個服務器658和659。每一個小型企業(yè)還分別包括現場存儲服務器648和649,以便存儲相應企業(yè)的所有資產。所有這些組件全都借助接口框架120耦合在一起,其中該框架在圖6中被表示成虛線660。接口框架120可選地與庫管理員服務602—起工作,它可以有利地依靠直接通知和/或電子郵件來分發(fā)目錄的卡。在上文中指出并且對本發(fā)明的一些實施例而言非常重要的一個問題是安全性,安全性是由安全管理器1 執(zhí)行的。為了實施有效的操作,安全管理器1 可以為用戶提供與現有驗證系統(例如用戶名和口令系統)一起工作的安全等級。安全管理器1 還可以為用戶提供一種簡單的方式來管理訪問控制列表(ACL),其中該列表將會管理用戶、卡、規(guī)則以及資產之間的關系。這樣一來,資產的任何指定“所有者”都可以容易地控制哪些用戶和/或用戶群組可以查看資產以及哪些可以對其進行修改。在圖7的安全配置700中顯示了一種可以實施安全性的方式。配置700包括地址卡702和身份表示720。地址卡702可以是公共地址卡,它可以包括標識圖片704、名稱信息706、電子郵件信息708以及其他任何用于識別個體或群組的信息。地址卡702上的信息是“公眾”用以識別個體的信息。身份表示塊可以由安全管理器126、720維護,它可以包括網絡系統100能在屏幕后自動產生的一個或多個標識(由此用戶不需要知道對其進行識別的多種方法)。這些標識可以包括作為“錨點”的頂級電子郵件標識符722,并且其他用戶可以很容易使用該標識符來為指定實體設置ACL以及一系列系統生成的ID,諸如組1 ID 724、電子郵件ID 726(在大多數情況中,系統會使用電子郵件720或726,但是不會同時使用這二者),以及組2 ID 728。網絡系統100根據需要產生安全密鑰730所附著的ID (通常被顯示成密鑰,實際上,每一個密鑰都是唯一的)。在圖7顯示的示例中,系統生成的ID 7M包括用戶的名字和姓氏(其間沒有任何間隔),其后跟隨的是組標識符。此外,在該群組內部多半還具有附加用戶,這些用戶具有不同的名字以及可能不同的姓氏,但其具有相同擴展名(如圖7所示的JOE. GROUP 1. MAC. COM)。另一方面,標識符7 只包括附加了安全密鑰的用戶電子郵件地址。標識符728與標識符7M相似,但其對應的是不同的群組。圖8顯示的是依照本發(fā)明實施例安全管理器1 如何可以執(zhí)行操作的例證。安全管理器1 是在服務器802上運行的(該服務器至少部分類似于庫管理員服務602,或者可以在框架120中運行),它為用戶Sarah的電子郵件地址sarah@e-mail產生自動鎖定密鑰 (在本范例中是序列“B1234”)。如ID表示塊806所示,用戶Sarah 808當前只具有一個 ID表示810,其中該表示將自動鎖定密鑰804與用戶的電子郵件“sarahOe-mail”聯系在了一起?,F在,用戶“sarah@e-mail”許可訪問卡和/或涉及用戶“ JohnOemail. net”的目錄。 邀請814可以包括關于資產、項目等等的信息。安全管理器1 可以通過執(zhí)行檢查來了解 johniemail. net在系統中是否具有身份。如果沒有身份,則安全管理器1 通過生成一個與johnOemail. net地址816相聯系的自動鎖定密鑰818來創(chuàng)建一個身份。為了保持安全性,該處理應該在Sarah的控制之外執(zhí)行,由此她不會在任何環(huán)境中看到自動鎖定密鑰。相應地,該任務應該由庫管理員服務602執(zhí)行。庫管理員服務602 可以使用電子郵件地址john@email. com. net來將邀請從Sarah發(fā)送到John。作為web鏈接或其他某些其他傳統附件附著于電子郵件的應該是包含了 John的自動鎖定密鑰和相鏈接的電子郵件地址的John的具體身份塊816 (類似于Sarah的塊806)。John的系統接收這個塊,并且通過檢查來了解他以前是否從未使用過該系統,在這種情況下,系統將會使用這個塊作為其唯一身份。此外,系統還會使用密鑰來訪問Sarah 的共享信息。另一方面,如果John已經建立了帶有密鑰822的身份塊824(類似于Sarah 的806),那么系統(與庫管理員服務602 —起工作)將會改成將新的自動鎖定密鑰以及相鏈接的電子郵件添加到John的“身份”列表中。由此,庫管理員服務602將被更新,這樣一來,如果其他人許可johnOemai 1. net訪問某些事物,那么它不會產生新的密鑰,而是使用現有密鑰。在庫管理員602上運行的安全管理器126以及類似系統元件記錄為單個用戶傳播的所有不同ID,并且可以很容易就將一個ID鏈接到另一個ID。這樣一來,用戶不再需要記住每個人的不斷變化的ID。一旦John通過呈現其身份來嘗試訪問他從Sarah那里接收的卡信息,則允許其恰當訪問該信息。作為來自其他人的新密鑰信息的接收方,與John相關的操作是被自動控制的。當他接收到其他人,諸如Sarah的請求生成的新密鑰時,其安全管理器會將新密鑰與用于其所有其他密鑰的一個或多個現有身份記錄相聯系。與常規(guī)系統相比,這些技術可以提供很多益處。根據本發(fā)明的實施例,網絡系統 100能為指定用戶產生數量幾乎無限的唯一身份。單個用戶具有多個身份的一個益處是易于分組,并且由此可以管理ACL,這是因為ACL被視為處于用戶的“單個”身份之后(每一個都具有自己的視圖)。此外,該架構能使系統允許用戶改變或添加他的一個或多個ID,而不會對系統產生負面影響。舉例來說,如果用戶“電子郵件”將其ID改成用戶“Hank”,那么安全管理器1 可以只將電子郵件標識符722改成“Hank” (并且有可能而不是必要的將ID 表示7 從“email”改成“Hank”)。所有其他ID都可以保持不變。作為替換,系統可以在舊ID中添加新ID,由此用戶可以同時使用這二者。
本發(fā)明的上述實施例是出于例證而不是限制目的給出的。
權利要求
1.一種用于對主機發(fā)布的內容提供訪問控制的系統,包括 保存內容的內容存儲系統;安全管理器,所述安全管理器為主機和用戶創(chuàng)建抽象身份,并且在主機許可至少一個用戶的訪問權限時創(chuàng)建唯一的自動鎖定密鑰,所述安全管理器能夠根據主機的請求將自動鎖定密鑰耦合到特定內容;以及框架接口,所述框架接口在為至少一個用戶提供針對主機發(fā)布的內容的訪問的時候, 將受保護的消息從主機傳遞到所述至少一個用戶。
2.根據權利要求1所述的系統,還包括用戶接口,所述用戶接口從主機接收定義針對主機發(fā)布的至少一些內容的訪問權限的設置。
3.根據權利要求2所述的系統,其中框架接口根據所定義的訪問權限,使用自動鎖定密鑰來為所述至少一個用戶提供針對主機發(fā)布的內容的訪問。
4.根據權利要求1所述的系統,其中安全管理器包括庫管理員服務,所述庫管理員服務通過檢查了解是否新用戶在系統中具有身份,以及如果沒有則創(chuàng)建一個身份。
5.根據權利要求4所述的系統,其中庫管理員服務自動工作,并且免受個人用戶的損害,使得個人用戶被禁止訪問自動鎖定密鑰。
6.根據權利要求1所述的系統,還包括存儲管理電路,所述存儲管理電路基于達到閾值的存儲容量來為存儲內容系統自動添加存儲容量。
7.根據權利要求1所述的系統,其中內容存儲系統包括 至少一個便攜式存儲設備。根據權利要求7所述的系統,其中所述至少一個便攜式存儲設備包括 便攜式內存設備。
8.一種用于對主機發(fā)布的內容提供訪問控制的方法,包括 將內容保存在內容存儲系統上;為主機和用戶創(chuàng)建抽象身份,和在主機許可至少一個用戶的訪問權限時創(chuàng)建唯一的自動鎖定密鑰,使得能夠根據主機的請求將自動鎖定密鑰耦合到特定內容;以及在為至少一個用戶提供針對主機發(fā)布的內容的訪問的時候,將受保護的消息從主機傳遞到所述至少一個用戶。
9.根據權利要求8所述的方法,還包括從主機接收定義針對主機發(fā)布的至少一些內容的訪問權限的設置。
10.根據權利要求9所述的方法,其中創(chuàng)建抽象身份包括根據所定義的訪問權限,使用自動鎖定密鑰來為所述至少一個用戶提供針對主機發(fā)布的內容的訪問。
11.根據權利要求8所述的方法,其中傳遞包括通過檢查了解是否新用戶在系統中具有身份,以及如果沒有則創(chuàng)建一個身份。
12.根據權利要求11所述的方法,其中檢查是自動進行的,并且免受個人用戶的損害, 使得個人用戶被禁止訪問自動鎖定密鑰。
13.根據權利要求8所述的方法,還包括 基于達到閾值的存儲容量來自動添加存儲容量。
14.根據權利要求8所述的方法,其中存儲包括 將內容保存在至少一個便攜式存儲設備上。
15.根據權利要求14所述的方法,其中將內容保存在至少一個便攜式存儲設備上包括將內容保存在便攜式內存設備上。
全文摘要
本發(fā)明涉及對主機發(fā)布的內容進行訪問控制。提供了一種用于提供對信息進行簡易訪問和共享的方法和系統。本發(fā)明的實施例能使主機以這樣一種方式來許可一個或多個用戶對所發(fā)布內容的訪問,其中所述一個或多個用戶可以掃描信息的一小部分,以便決定哪些信息是希望的。例如,這里描述的實施例能使用戶查看比用戶使用的計算單元的存儲容量更大的內容庫。信息共享則是通過使用自動鎖定密鑰以及通過為主機和每一個用戶創(chuàng)建抽象標識來得到保護的。
文檔編號G06F17/30GK102165444SQ200980138052
公開日2011年8月24日 申請日期2009年9月3日 優(yōu)先權日2008年9月30日
發(fā)明者S·賴德 申請人:蘋果公司