專利名稱:基于訪問權(quán)限為項(xiàng)目生成使用權(quán)限的方法和計(jì)算機(jī)可讀介質(zhì)的制作方法
背景技術(shù):
文件和文檔管理系統(tǒng)對(duì)庫(kù)和庫(kù)中的項(xiàng)目授予訪問權(quán)限。訪問權(quán)限決定了用戶或用戶組是否能訪問包括在庫(kù)中的項(xiàng)目。例如,用戶可被定義為庫(kù)或庫(kù)中的項(xiàng)目的“閱讀者”。使用閱讀者權(quán)限,用戶能夠從庫(kù)中下載項(xiàng)目,但不能將項(xiàng)目的修改版本保存到庫(kù)中??梢韵蛴脩羰谟琛柏暙I(xiàn)者”權(quán)限,貢獻(xiàn)者權(quán)限允許用戶讀取或?qū)懭霂?kù)中的項(xiàng)目。此外,可以授予“擁有者”權(quán)限,它允許用戶讀取或?qū)懭霂?kù)中的項(xiàng)目并也允許用戶向其它用戶授予訪問權(quán)限。也可以向用戶授予其它類型的訪問權(quán)限。
訪問權(quán)限在禁止未授權(quán)的用戶訪問庫(kù)中的項(xiàng)目上做的很好。然而,一旦從庫(kù)中提取了項(xiàng)目的副本,訪問權(quán)限就無法組織對(duì)項(xiàng)目的后續(xù)分發(fā)和使用。例如,帶有閱讀者權(quán)限的用戶可從文檔管理系統(tǒng)的庫(kù)中下載項(xiàng)目。該用戶隨后可將項(xiàng)目的副本發(fā)送給第三方。第三方隨后可隨意閱讀、修改、并轉(zhuǎn)發(fā)該項(xiàng)目,即使該第三方?jīng)]有被授權(quán)訪問存儲(chǔ)在該文檔管理系統(tǒng)中的項(xiàng)目。
不同于訪問權(quán)限,數(shù)字權(quán)限管理(“DRM”)權(quán)限(也在此稱為“使用權(quán)限”)可被用于在項(xiàng)目離開文檔管理系統(tǒng)后對(duì)其進(jìn)行保護(hù)。使用DRM,庫(kù)中的項(xiàng)目可被提供為加密形式。為了使用項(xiàng)目,用戶需要獲得許可證以解密項(xiàng)目。此外,許可證指定了用戶可使用項(xiàng)目的范圍,并可禁止特定類型的行為,諸如打印、復(fù)制、或編輯。如果受DRM保護(hù)的項(xiàng)目被發(fā)送給另一個(gè)用戶,那些用戶需要獲得它們自己的許可證以使用該項(xiàng)目。如果用戶無法獲得許可證,則無法用任何方式來使用該項(xiàng)目。
雖然DRM權(quán)限在項(xiàng)目被從文檔管理系統(tǒng)移開后為項(xiàng)目提供了足夠的保護(hù),但結(jié)合文檔管理系統(tǒng)使用DRM帶來了許多缺點(diǎn)。尤其是,當(dāng)使用權(quán)限被用于同樣的使用訪問權(quán)限的文檔管理系統(tǒng)時(shí),必須為每個(gè)用戶或用戶組維護(hù)兩組權(quán)限。這是耗費(fèi)時(shí)間的,并且對(duì)負(fù)責(zé)維護(hù)兩組權(quán)限的網(wǎng)絡(luò)管理者而言是麻煩的。此外,在每個(gè)文件上為每個(gè)用戶維護(hù)DRM權(quán)限導(dǎo)致了為庫(kù)中的每個(gè)項(xiàng)目存儲(chǔ)大量的數(shù)據(jù)。這會(huì)很快地使庫(kù)的大小增大到無法管理的大小。此外,將項(xiàng)目維護(hù)為加密格式阻止了系統(tǒng)程序(諸如備份和檢索程序)直接訪問原始格式的項(xiàng)目。為了直接備份或檢索項(xiàng)目,就必須解密項(xiàng)目。這個(gè)處理極大地增加了執(zhí)行這些類型的操作所必須的處理開銷。
考慮到這些問題和其它問題,構(gòu)造了本發(fā)明的各種實(shí)施例。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,通過根據(jù)項(xiàng)目的訪問權(quán)限為存儲(chǔ)在庫(kù)中的項(xiàng)目生成使用權(quán)限的方法和設(shè)備解決了上述和其它問題。通過基于訪問權(quán)限生成使用權(quán)限,僅僅需要為每個(gè)項(xiàng)目存儲(chǔ)一組權(quán)限。此外,因?yàn)椴辉诿總€(gè)文件上為每個(gè)用戶存儲(chǔ)DRM權(quán)限,就不會(huì)增大庫(kù)的大小。此外,庫(kù)中的項(xiàng)目不加密地存儲(chǔ)在庫(kù)中,并僅僅當(dāng)接收到對(duì)于項(xiàng)目的請(qǐng)求使才被加密。因?yàn)轫?xiàng)目是不加密存儲(chǔ)的,系統(tǒng)程序(諸如備份和檢索程序)能以正常方式執(zhí)行操作,而不是首先對(duì)庫(kù)中的項(xiàng)目進(jìn)行解密。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種用于根據(jù)項(xiàng)目的訪問權(quán)限為存儲(chǔ)在庫(kù)中的項(xiàng)目生成使用權(quán)限的方法。根據(jù)該方法,在文檔管理系統(tǒng)中接收對(duì)于存儲(chǔ)在庫(kù)中的項(xiàng)目的請(qǐng)求。項(xiàng)目可包括電子文檔、電子郵件信息、或任何其它類型的電子文件,并以未加密形式存儲(chǔ)在庫(kù)中。
響應(yīng)對(duì)于存儲(chǔ)在庫(kù)中的項(xiàng)目的請(qǐng)求,確定用于請(qǐng)求者的項(xiàng)目訪問權(quán)限。一旦確定了訪問權(quán)限,就基于訪問權(quán)限生成使用權(quán)限。隨后創(chuàng)建包括項(xiàng)目以及項(xiàng)目的使用權(quán)限的加密文件。使用權(quán)限表現(xiàn)為許可證的形式。隨后響應(yīng)對(duì)項(xiàng)目的原始請(qǐng)求,返回受保護(hù)文件。
當(dāng)該請(qǐng)求計(jì)算機(jī)(稱為“客戶端計(jì)算機(jī)”)接收到項(xiàng)目時(shí),客戶端計(jì)算機(jī)從被保護(hù)的文件中提取許可證。隨后將許可證連同用于授權(quán)訪問文件的請(qǐng)求一起發(fā)送給權(quán)限管理服務(wù)器。如果從權(quán)限管理服務(wù)器處接收到授權(quán),客戶端計(jì)算機(jī)就解密該項(xiàng)目并打開該項(xiàng)目以編輯。請(qǐng)求者可隨后按照許可證指定的方法使用該項(xiàng)目。當(dāng)客戶端計(jì)算機(jī)完成對(duì)項(xiàng)目的使用后,它可將項(xiàng)目保存回文檔管理系統(tǒng)。為了達(dá)到該目的,客戶端計(jì)算機(jī)加密該項(xiàng)目并將受保護(hù)文件發(fā)送回文檔管理系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在發(fā)送給客戶端計(jì)算機(jī)時(shí),也可將庫(kù)中項(xiàng)目的位置包括在受保護(hù)文件中。當(dāng)試圖將項(xiàng)目存儲(chǔ)回庫(kù)中時(shí),對(duì)先前提取項(xiàng)目的位置(在項(xiàng)目中特定指明的)以及在庫(kù)中用于保存項(xiàng)目的請(qǐng)求位置之間做出比較。僅僅當(dāng)兩個(gè)位置匹配時(shí)才將項(xiàng)目保存在庫(kù)中。否則,將不會(huì)把項(xiàng)目保存在庫(kù)中。為了便于該處理,用于文檔管理系統(tǒng)的擁有者權(quán)限將被包括在原始發(fā)送的受保護(hù)文件中。這些權(quán)限允許文檔管理系統(tǒng)在被保護(hù)項(xiàng)目從客戶端計(jì)算機(jī)返回時(shí),解密該受保護(hù)項(xiàng)目。
本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)處理、計(jì)算機(jī)系統(tǒng)、或作為生產(chǎn)商品(諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì))。計(jì)算機(jī)程序產(chǎn)品可為計(jì)算機(jī)系統(tǒng)可讀的計(jì)算機(jī)存儲(chǔ)介質(zhì),并編碼有用于執(zhí)行計(jì)算機(jī)處理的指令的計(jì)算機(jī)程序。計(jì)算機(jī)程序產(chǎn)品也可為在計(jì)算機(jī)系統(tǒng)可讀的載波上的傳播信號(hào),并編碼有用于執(zhí)行計(jì)算機(jī)處理的指令的計(jì)算機(jī)程序。
本發(fā)明特定的這些和各種其它特征、以及優(yōu)點(diǎn)在閱讀下文項(xiàng)目描述并查看附圖后是顯而易見的
圖1是示出本發(fā)明的各種實(shí)施例所使用的并提供的多個(gè)計(jì)算機(jī)系統(tǒng)的情況的網(wǎng)絡(luò)體系結(jié)構(gòu)圖;圖2是示出本發(fā)明一則實(shí)施例所使用的客戶端計(jì)算機(jī)系統(tǒng)的情況的計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)圖;圖3-6是示出由本發(fā)明各種實(shí)施例所提供的用于基于項(xiàng)目的訪問權(quán)限生成項(xiàng)目的使用權(quán)限的方法的情況的流程圖。
具體實(shí)施例方式
現(xiàn)在參考附圖描述本發(fā)明的各種方面,附圖中相同的數(shù)字標(biāo)號(hào)表示相同的元件。尤其是,圖1-2以及相應(yīng)討論旨在提供一個(gè)對(duì)可實(shí)現(xiàn)本發(fā)明實(shí)施例的合適計(jì)算環(huán)境的簡(jiǎn)明的、通用的描述。雖然本發(fā)明將被描述為結(jié)合個(gè)人計(jì)算機(jī)的操作系統(tǒng)上運(yùn)行的程序模塊一起執(zhí)行的程序模塊的通常環(huán)境中,本領(lǐng)域普通技術(shù)人員可以理解本發(fā)明也可結(jié)合其它類型的計(jì)算機(jī)系統(tǒng)和程序模塊來執(zhí)行。
通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、和其它結(jié)構(gòu)類型。此外,本領(lǐng)域普通技術(shù)人員可以理解本發(fā)明也可結(jié)合其它計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn),配置包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)品電器、小型機(jī)、大型機(jī),等等。本發(fā)明也可實(shí)現(xiàn)于分布式計(jì)算環(huán)境,后者中的任務(wù)被由通信網(wǎng)絡(luò)連接在一起的遠(yuǎn)程處理設(shè)備所執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和/或遠(yuǎn)程存儲(chǔ)器設(shè)備中。
現(xiàn)在參考圖1,將描述示出本發(fā)明各種實(shí)施例所使用的并提供的多個(gè)計(jì)算機(jī)系統(tǒng)的情況的網(wǎng)絡(luò)體系結(jié)構(gòu)圖。尤其是,根據(jù)本發(fā)明一則實(shí)施例提供了文檔管理系統(tǒng)30,它用于基于項(xiàng)目的訪問權(quán)限生成項(xiàng)目的使用權(quán)限。文檔管理系統(tǒng)30包括文件倉(cāng)庫(kù)32,在此存儲(chǔ)了編制為庫(kù)34的項(xiàng)目。項(xiàng)目可包括電子文檔、電子郵件信息、圖像、或任何其它類型的電子文件。
文檔管理系統(tǒng)30也用于維護(hù)庫(kù)34和庫(kù)34中的單個(gè)項(xiàng)目的訪問權(quán)限36。訪問權(quán)限36決定用戶或用戶組是否能訪問特定庫(kù)或庫(kù)中包含的特定項(xiàng)目。例如,用戶可被定義為庫(kù)或庫(kù)中的項(xiàng)目的“閱讀者”。使用閱讀者權(quán)限,用戶能夠從庫(kù)中下載項(xiàng)目,但不能將項(xiàng)目的修改版本保存到庫(kù)中。可以向用戶授予“貢獻(xiàn)者”權(quán)限,貢獻(xiàn)者權(quán)限允許用戶讀取或?qū)懭霂?kù)中的項(xiàng)目。此外,可以授予“擁有者”權(quán)限,它允許用戶讀取或?qū)懭霂?kù)中的項(xiàng)目并也允許用戶向其它用戶授予訪問權(quán)限。也可以向用戶授予其它類型的訪問權(quán)限。將在下面更詳細(xì)的描述的是,文檔管理系統(tǒng)30用于基于項(xiàng)目的用戶訪問權(quán)限生成項(xiàng)目的使用權(quán)限。
結(jié)合文檔管理服務(wù)的規(guī)定,文檔管理系統(tǒng)30可使用一個(gè)或多個(gè)外部程序服務(wù)。尤其是,文檔管理系統(tǒng)30可使用備份應(yīng)用服務(wù),備份應(yīng)用服務(wù)用于將倉(cāng)庫(kù)32的內(nèi)容備份到備份設(shè)備。文檔管理系統(tǒng)30也可使用檢索應(yīng)用36,檢索應(yīng)用36用于檢索文件倉(cāng)庫(kù)32的內(nèi)容。根據(jù)本發(fā)明的各種實(shí)施例,文件倉(cāng)庫(kù)32的內(nèi)容被存儲(chǔ)為未加密格式,這樣備份和檢索應(yīng)用,以及其它授權(quán)應(yīng)用程序能在文件倉(cāng)庫(kù)32的內(nèi)容上執(zhí)行它們的功能而不對(duì)項(xiàng)目進(jìn)行解密。然而,對(duì)于文檔管理系統(tǒng)30的所有其它用戶(諸如客戶端計(jì)算機(jī)2的用戶)而言,文件倉(cāng)庫(kù)32的內(nèi)容是受保護(hù)的。下面提供了關(guān)于應(yīng)用到庫(kù)34中所包含的項(xiàng)目的保護(hù)的詳細(xì)描述。
文檔管理系統(tǒng)30也使用權(quán)限管理插件管理器(handler)38的服務(wù)。插件管理器38從文檔管理系統(tǒng)30上接管將DRM應(yīng)用到特定類型項(xiàng)目的任務(wù)。為了達(dá)到該目的,插件管理器38包括插件40A-40C(在此也被稱為“保護(hù)器”)可連接到的擴(kuò)展構(gòu)架。插件40A-40C中的每一個(gè)都負(fù)責(zé)將DRM應(yīng)用到倉(cāng)庫(kù)32中特定類型的項(xiàng)目。例如,插件40A可將DRM應(yīng)用到與字處理應(yīng)用程序相關(guān)的項(xiàng)目,插件40B可將DRM應(yīng)用到與圖像編輯應(yīng)用相關(guān)的項(xiàng)目,插件40C可將DRM應(yīng)用到另一個(gè)類型的項(xiàng)目。用于其它類型的項(xiàng)目的其它插件也可結(jié)合插件管理器38來使用。
為了將DRM應(yīng)用到特定項(xiàng)目,插件40A-40C可與權(quán)限管理服務(wù)器計(jì)算機(jī)42進(jìn)行通信。權(quán)限管理服務(wù)器計(jì)算機(jī)42管理受信賴實(shí)體的證明、權(quán)限保護(hù)項(xiàng)目的批準(zhǔn)、服務(wù)和用戶的登記、以及管理功能。關(guān)于權(quán)限管理服務(wù)器計(jì)算機(jī)42的其它詳細(xì)情況將在下文給出。
本發(fā)明的實(shí)施例也使用通過網(wǎng)絡(luò)18連接到文檔管理系統(tǒng)30和權(quán)限管理服務(wù)器計(jì)算機(jī)42的客戶端計(jì)算機(jī)2。客戶端計(jì)算機(jī)2包括能夠執(zhí)行權(quán)限管理激活的客戶端應(yīng)用24的標(biāo)準(zhǔn)膝上型、桌面型、或手持計(jì)算機(jī)。客戶端應(yīng)用24向文件倉(cāng)庫(kù)32請(qǐng)求項(xiàng)目。正如在下文將要更詳細(xì)描述的,響應(yīng)于該請(qǐng)求而提供的項(xiàng)目是使用DRM來保護(hù)的。因此,客戶端應(yīng)用24必須識(shí)別被DRM保護(hù)的項(xiàng)目并與權(quán)限管理服務(wù)器計(jì)算機(jī)42進(jìn)行通信,因?yàn)楸仨毥饷茼?xiàng)目以用于使用。如果客戶端應(yīng)用24希望將項(xiàng)目保存回倉(cāng)庫(kù)32,客戶端應(yīng)用24也必須與權(quán)限管理服務(wù)器計(jì)算機(jī)42進(jìn)行通信以在向文檔管理系統(tǒng)30傳輸之前對(duì)項(xiàng)目進(jìn)行加密。關(guān)于該處理的其它詳細(xì)情況將結(jié)合圖3-6在下文給出。
轉(zhuǎn)到圖2,將描述本發(fā)明各種實(shí)施例中使用的計(jì)算機(jī)2的示例性計(jì)算機(jī)體系結(jié)構(gòu)。圖2中所示的計(jì)算機(jī)體系結(jié)構(gòu)示出通用桌面型、膝上型、或手持計(jì)算機(jī),包括中央處理單元5(“CPU”)、包括隨機(jī)訪問存儲(chǔ)器9(“RAM”)和只讀存儲(chǔ)器(“ROM”)11的系統(tǒng)存儲(chǔ)器7、以及將存儲(chǔ)器連接到CPU 5的系統(tǒng)總線12。基本輸入/輸出系統(tǒng)存儲(chǔ)在ROM 11中,它包括諸如在起動(dòng)過程中有助于計(jì)算機(jī)內(nèi)基本元件間傳遞信息的基本例程。計(jì)算機(jī)2還包括大容量存儲(chǔ)設(shè)備14,用于存儲(chǔ)操作系統(tǒng)16、應(yīng)用程序、以及其它程序模塊,這些將在下文中更詳細(xì)地描述。
大容量存儲(chǔ)設(shè)備14通過連接到總線12的大容量存儲(chǔ)管理器(沒有示出)連接到CPU 5。大容量存儲(chǔ)設(shè)備14以及它的相關(guān)計(jì)算機(jī)可讀介質(zhì)提供用于計(jì)算機(jī)2的非易失性存儲(chǔ)。雖然在此包括的計(jì)算機(jī)可讀介質(zhì)的描述涉及大容量存儲(chǔ)設(shè)備,諸如硬盤或CD-ROM驅(qū)動(dòng)器,本領(lǐng)域普通技術(shù)人員可以理解的是計(jì)算機(jī)可讀介質(zhì)可為能由計(jì)算機(jī)2訪問的任何可用介質(zhì)。
通過示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括通過任何方法或技術(shù)實(shí)現(xiàn)的,用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的,易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EPROM、EEPROM、閃速存儲(chǔ)器或其他固態(tài)存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其他光盤存儲(chǔ)器、磁帶盒、磁帶、磁盤存儲(chǔ)器或其他磁存儲(chǔ)器設(shè)備、或任何其他可被用來存儲(chǔ)所需信息并能夠由計(jì)算機(jī)2訪問的介質(zhì)。
根據(jù)本發(fā)明的各種實(shí)施例,計(jì)算機(jī)2可工作在網(wǎng)絡(luò)環(huán)境下,該網(wǎng)絡(luò)環(huán)境通過網(wǎng)絡(luò)18(諸如,互聯(lián)網(wǎng))使用到遠(yuǎn)程計(jì)算機(jī)的邏輯連接。計(jì)算機(jī)2可通過連接到總線12的網(wǎng)絡(luò)接口單元20連接到網(wǎng)絡(luò)18??梢岳斫獾氖蔷W(wǎng)絡(luò)接口單元20也可被用于連接到其它類型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)2也可包括輸入/輸出控制器22,用于從許多其它設(shè)備(包括鍵盤、鼠標(biāo)、或電子筆(在圖2中沒有示出))接收并處理輸入。類似地,輸入/輸出控制器22可向顯示屏幕、打印機(jī)、或其它類型的輸出設(shè)備提供輸出。
如上所述,許多程序模塊和數(shù)據(jù)文件可被存儲(chǔ)在計(jì)算機(jī)2的大容量存儲(chǔ)設(shè)備14和RAM 9中,包括適合用于控制網(wǎng)絡(luò)化個(gè)人計(jì)算機(jī)操作的操作系統(tǒng)16,諸如由華盛頓雷德蒙的微軟公司出品的WINDOWS XP操作系統(tǒng)。大容量存儲(chǔ)設(shè)備14和RAM 9也可存儲(chǔ)一個(gè)或多個(gè)程序模塊。尤其是,大容量存儲(chǔ)設(shè)備14和RAM 9可存儲(chǔ)激活權(quán)限管理客戶端應(yīng)用24。如上所述,客戶端應(yīng)用24向文件倉(cāng)庫(kù)32請(qǐng)求項(xiàng)目??蛻舳藨?yīng)用24也與權(quán)限管理服務(wù)器計(jì)算機(jī)42進(jìn)行通信以加密和解密由DRM保護(hù)的項(xiàng)目。根據(jù)本發(fā)明的一則實(shí)施例,客戶端應(yīng)用24包括MICROSOFT OFFICE產(chǎn)品應(yīng)用套件。然而,可以理解的是其它類型的客戶端應(yīng)用程序可被用于在此提供的本發(fā)明的各種實(shí)施例。
還可以理解的是文檔管理系統(tǒng)30和權(quán)限管理服務(wù)器計(jì)算機(jī)42可使用圖2中所示的一些或全部的通用計(jì)算環(huán)境。尤其是,文檔管理系統(tǒng)30也可存儲(chǔ)許多提供文檔管理服務(wù)所需的程序模塊和數(shù)據(jù)文件。尤其是,文檔管理系統(tǒng)30可存儲(chǔ)并執(zhí)行適合用于網(wǎng)絡(luò)化服務(wù)器計(jì)算機(jī)的操作系統(tǒng)、用于提供文檔管理服務(wù)的程序模塊、以及用于根據(jù)項(xiàng)目的訪問權(quán)限生成項(xiàng)目的使用權(quán)限的程序模塊。在這點(diǎn)上,文檔管理系統(tǒng)30可存儲(chǔ)倉(cāng)庫(kù)32中安排在庫(kù)34中的項(xiàng)目。對(duì)于每個(gè)庫(kù)34和項(xiàng)目,文檔管理系統(tǒng)30也可維護(hù)庫(kù)或項(xiàng)目的訪問權(quán)限36。文檔管理系統(tǒng)30也可存儲(chǔ)插件管理器38、備份應(yīng)用33、以及檢索應(yīng)用36。
現(xiàn)在參考圖3,將描述示出用于配置文檔管理系統(tǒng)從訪問權(quán)限來創(chuàng)建使用權(quán)限的處理的示例性例程300。當(dāng)閱讀在此提出的關(guān)于例程的討論時(shí),可以理解本發(fā)明各種實(shí)施例的邏輯操作是實(shí)現(xiàn)為(1)作為實(shí)現(xiàn)運(yùn)行在計(jì)算系統(tǒng)上的動(dòng)作或程序模塊的計(jì)算機(jī)序列和/或(2)作為互相連接的機(jī)器邏輯電路或計(jì)算系統(tǒng)內(nèi)的電路模塊。該實(shí)現(xiàn)是基于實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)的性能要求而做出的選擇。因此,圖3-6中所示的邏輯操作,以及在此所述的本發(fā)明的實(shí)施例的構(gòu)成涉及不同的操作、結(jié)構(gòu)設(shè)備、動(dòng)作、或模塊。本領(lǐng)域普通技術(shù)人員可以理解的是這些操作、結(jié)構(gòu)設(shè)備、行為或模塊可以實(shí)現(xiàn)為軟件、固件、特殊功能數(shù)字邏輯、以及任何上述的組合,而不脫離在此提出的權(quán)利要求書中所指的本發(fā)明的精神和范圍。
例程300開始于操作302,在此文檔管理系統(tǒng)30配置為使用權(quán)限管理服務(wù)器計(jì)算機(jī)42。這可包括,例如,將用于權(quán)限管理服務(wù)器計(jì)算機(jī)42的網(wǎng)絡(luò)地址提供給文檔管理服務(wù)器30。這也可包括使用文檔管理系統(tǒng)30的權(quán)限管理插件管理器38注冊(cè)插件40A-40C。
例程300從操作302繼續(xù)到操作304,在此庫(kù)34配置為用于使用權(quán)限管理的應(yīng)用。尤其是,庫(kù)34和它們中的項(xiàng)目被識(shí)別為受保護(hù)或未受保護(hù)。對(duì)識(shí)別為受保護(hù)的庫(kù)中的項(xiàng)目的請(qǐng)求將按照在此所示的方法來處理。這樣,將響應(yīng)這些請(qǐng)求返回項(xiàng)目,該項(xiàng)目受到DRM保護(hù),并包括基于請(qǐng)求者對(duì)項(xiàng)目的訪問權(quán)限而生成的請(qǐng)求者使用權(quán)限。關(guān)于該處理的其它詳細(xì)情況將在下文給出。例程300從操作304繼續(xù)到操作306,在此例程結(jié)束。
參考圖4,將描述對(duì)文檔管理系統(tǒng)30的庫(kù)34中的項(xiàng)目的請(qǐng)求進(jìn)行處理的示例性例程400。例程400開始于操作402,在此文檔管理系統(tǒng)30從客戶端應(yīng)用24接收到對(duì)于倉(cāng)庫(kù)32中項(xiàng)目的請(qǐng)求。響應(yīng)于該請(qǐng)求,文檔管理系統(tǒng)30在操作404中從倉(cāng)庫(kù)32中提取出所請(qǐng)求的項(xiàng)目。例程400隨后繼續(xù)到操作406,在此文檔管理系統(tǒng)30確定是否對(duì)倉(cāng)庫(kù)32中的所有項(xiàng)目都激活了數(shù)據(jù)權(quán)限管理。如果權(quán)限管理全都被激活了,例程400就分支到下文所述的操作412。
如果,在操作406,文檔管理系統(tǒng)30確定DRM沒有被全部激活,例程400就從操作406繼續(xù)到操作408。在操作408,文檔管理系統(tǒng)30確定是否對(duì)包括所請(qǐng)求的項(xiàng)目的特定庫(kù)34激活了DRM。如果沒有對(duì)庫(kù)34激活DRM,例程就分支到操作410,在此將所請(qǐng)求的項(xiàng)目發(fā)送到客戶端應(yīng)用24而不進(jìn)行DRM的應(yīng)用。例程400隨后從操作410繼續(xù)到操作428,在此例程結(jié)束。如果對(duì)于包括所請(qǐng)求的項(xiàng)目的庫(kù)34激活了DRM,例程400就從操作408繼續(xù)到操作412。
在操作412,文檔管理系統(tǒng)30提取用于包括所請(qǐng)求的項(xiàng)目的庫(kù)34的訪問權(quán)限。例程400隨后繼續(xù)到操作414,在此,文檔管理系統(tǒng)30確定對(duì)于所請(qǐng)求的項(xiàng)目的類型是否存在插件40A-40C。如果不存在合適的插件40A-40C,例程400就分支到操作416,在此將所請(qǐng)求的項(xiàng)目發(fā)送到客戶端應(yīng)用24而不進(jìn)行DRM的應(yīng)用。例程400從操作416繼續(xù)到操作428,在此例程結(jié)束。
如果,在操作414,文檔管理系統(tǒng)30確定對(duì)于所請(qǐng)求的項(xiàng)目存在合適的插件40A-40C,例程400就繼續(xù)到操作418。在操作418,文檔管理系統(tǒng)30根據(jù)項(xiàng)目的訪問權(quán)限36生成所請(qǐng)求的項(xiàng)目的使用權(quán)限。使用權(quán)限大概地包括如下權(quán)限查看、編輯、保存、復(fù)制、打印、程序性的訪問內(nèi)容、內(nèi)容過期時(shí)間,以及給予其它用戶允許的權(quán)限。使用權(quán)限是基于請(qǐng)求用戶對(duì)于項(xiàng)目的訪問權(quán)限。這樣,例如,如果用戶被定義為包括所請(qǐng)求的項(xiàng)目的庫(kù)的“閱讀者”,使用權(quán)限可能僅僅包括查看使用權(quán)限。如果請(qǐng)求者被定義為庫(kù)的“貢獻(xiàn)者”,使用權(quán)限則可能包括查看、編輯、保存、復(fù)制,以及打印項(xiàng)目的使用權(quán)限。如果請(qǐng)求者被定義為“擁有者”,那么可授予所有可能的使用權(quán)限。由此,訪問權(quán)限被映射到項(xiàng)目的使用權(quán)限。
一旦生成了使用權(quán)限,例程400繼續(xù)到操作420,在此文檔管理系統(tǒng)30將帶有所生成的使用權(quán)限的所請(qǐng)求的項(xiàng)目提供給合適的插件。例程400隨后繼續(xù)到操作422,在此插件與權(quán)限管理服務(wù)器42進(jìn)行通信,并使用DRM對(duì)項(xiàng)目進(jìn)行加密,DRM包括指定項(xiàng)目使用權(quán)限的許可證。插件隨后在操作424將DRM加密文件返回給文檔管理系統(tǒng)30。在操作426,文檔管理系統(tǒng)30響應(yīng)對(duì)項(xiàng)目的原始請(qǐng)求,將受DRM保護(hù)的文件(包括包含有從訪問權(quán)限生成的使用權(quán)限的許可證)發(fā)送給客戶端應(yīng)用24。例程400隨后繼續(xù)到操作428,在此例程結(jié)束。
根據(jù)本發(fā)明的一則實(shí)施例,文檔管理系統(tǒng)30也將項(xiàng)目在庫(kù)34中的位置存儲(chǔ)在返回給客戶端應(yīng)用24的文件中。如下文將詳細(xì)描述的,當(dāng)接收到向庫(kù)保存文件的請(qǐng)求時(shí),文檔管理系統(tǒng)30可使用存儲(chǔ)位置來確定項(xiàng)目是否被存儲(chǔ)在與它所來自的相同的庫(kù)中。如果嘗試將項(xiàng)目保存在不同的庫(kù),請(qǐng)求就會(huì)被拒絕。這防止用戶將項(xiàng)目保存在用戶具有較大訪問權(quán)限的庫(kù)中而不是保存在項(xiàng)目原始提取的位置中。用于文檔管理系統(tǒng)30的擁有者權(quán)限也可被添加到許可證中,這樣文檔管理系統(tǒng)30可在項(xiàng)目從客戶端應(yīng)用24返回時(shí)就對(duì)其進(jìn)行解密。關(guān)于該處理的其它詳細(xì)情況將在下文參照?qǐng)D6描述。
參考圖5,將描述示出由客戶端應(yīng)用24執(zhí)行的用于從文檔管理系統(tǒng)30接收受DRM保護(hù)的項(xiàng)目并將項(xiàng)目的修改版本保存到文檔管理系統(tǒng)30的處理的示例性例程500。例程500開始于操作502,在此客戶端應(yīng)用24從文檔管理系統(tǒng)30接收到受DRM保護(hù)的文件。例程500隨后繼續(xù)到操作504,在此客戶端應(yīng)用24從所接收的文件中提取許可證??蛻舳藨?yīng)用24隨后將許可證連同訪問受DRM保護(hù)的項(xiàng)目的請(qǐng)求一起發(fā)送到權(quán)限管理服務(wù)器計(jì)算機(jī)42。在操作508,確定權(quán)限管理服務(wù)器計(jì)算機(jī)42是否以用于項(xiàng)目的解密密鑰作為響應(yīng)。如果權(quán)限管理服務(wù)器計(jì)算機(jī)42不以打開項(xiàng)目的授權(quán)作為響應(yīng),例程500就分支到操作510,在此顯示錯(cuò)誤。例程500隨后繼續(xù)到操作522,在此例程結(jié)束。
如果,在操作508,客戶端應(yīng)用24確定權(quán)限管理服務(wù)器計(jì)算機(jī)42已經(jīng)授權(quán)對(duì)項(xiàng)目的訪問,例程500就繼續(xù)到操作512,在此,客戶端應(yīng)用24對(duì)項(xiàng)目進(jìn)行解密并打開該項(xiàng)目以按照許可證中所指定進(jìn)行查看或編輯。例程500隨后繼續(xù)到操作514,在此,用戶可以自由地進(jìn)行編輯或按照許可證所指定的使用項(xiàng)目。例程500從操作514繼續(xù)到操作516,在此,由客戶端應(yīng)用24做出關(guān)于用戶是否請(qǐng)求保存文件的確定。如果沒有做出這樣的請(qǐng)求,例程500就返回到操作514。如果接收到保存請(qǐng)求,例程500就繼續(xù)到操作518。
在操作518,客戶端應(yīng)用24將DRM 24應(yīng)用到項(xiàng)目。客戶端應(yīng)用24可與權(quán)限管理服務(wù)器計(jì)算機(jī)42進(jìn)行通信以執(zhí)行該處理。例程500隨后繼續(xù)到操作520,在此客戶端應(yīng)用24將受DRM保護(hù)的文件發(fā)送回給文檔管理系統(tǒng)30。例程500隨后繼續(xù)到操作522,在此,例程結(jié)束。
參考圖6,將描述用于處理對(duì)文檔管理系統(tǒng)30處的庫(kù)34中的項(xiàng)目進(jìn)行保存的請(qǐng)求的示例性例程600。例程600開始于操作602,在此文檔管理系統(tǒng)30從客戶端應(yīng)用24接受到受DRM保護(hù)的文件。例程600隨后繼續(xù)到操作604,在此,文檔管理系統(tǒng)30確定是否存在插件40A-40C以從所接收的文件中移除DRM。如果沒有給出用于項(xiàng)目類型的插件40A-40C,例程600則分支到操作606,在此,以加密形式將文件存儲(chǔ)在庫(kù)中。例程從操作606繼續(xù)到操作620,在此例程結(jié)束。
如果,在操作604,文檔管理系統(tǒng)30確定存在用于項(xiàng)目類型的合適插件40A-40C,例程600則繼續(xù)到操作608,在此,文檔管理系統(tǒng)30將所接收的文件連同它的解密項(xiàng)目的信任證書一起轉(zhuǎn)發(fā)給合適的插件。在操作610,插件對(duì)項(xiàng)目進(jìn)行解密并將項(xiàng)目返回給文檔管理系統(tǒng)30。在操作612,文檔管理系統(tǒng)30從插件接收已解密的項(xiàng)目并確定先前提取項(xiàng)目的位置是否與庫(kù)中用于保存項(xiàng)目的所請(qǐng)求的位置是同一個(gè)位置。如果位置不一樣,例程600就從操作614分支到操作618,在此顯示錯(cuò)誤信息并且不將項(xiàng)目保存到庫(kù)。然而,如果位置一樣,例程600就繼續(xù)到操作616,在此將已解密的項(xiàng)目保存到庫(kù)中的合適位置。例程600從操作616和618繼續(xù)到操作620,在此例程結(jié)束。
由上所述,可以理解的是本發(fā)明的各種實(shí)施例包括用于根據(jù)訪問項(xiàng)目的權(quán)限生成項(xiàng)目的使用權(quán)限的方法、系統(tǒng)、設(shè)備、和計(jì)算機(jī)可讀介質(zhì)。上述說明書、示例和數(shù)據(jù)提供了對(duì)本發(fā)明的組成的制造和使用的完整說明。因?yàn)榭梢灾谱鞅景l(fā)明的許多實(shí)施例而不脫離本發(fā)明的精神和范圍,本發(fā)明屬于在此之后附加的權(quán)利要求書的范圍。
權(quán)利要求
1.一種用于為存儲(chǔ)在庫(kù)的項(xiàng)目生成使用權(quán)限的方法,包括接收訪問所述項(xiàng)目的請(qǐng)求;響應(yīng)所述請(qǐng)求,識(shí)別所述項(xiàng)目的訪問權(quán)限;根據(jù)所述訪問權(quán)限生成所述項(xiàng)目的使用權(quán)限;創(chuàng)建包括所述項(xiàng)目以及所述項(xiàng)目的使用權(quán)限的受保護(hù)文件;以及響應(yīng)于訪問所述項(xiàng)目的請(qǐng)求,返回所述受保護(hù)文件。
2.如權(quán)利要求1所述的方法,其特征在于,從請(qǐng)求者接收提取所述項(xiàng)目的請(qǐng)求,并且識(shí)別所述項(xiàng)目的訪問權(quán)限包括識(shí)別用于所述請(qǐng)求者的項(xiàng)目訪問權(quán)限。
3.如權(quán)利要求2所述的方法,其特征在于,創(chuàng)建受保護(hù)文件還包括將所述項(xiàng)目在所述庫(kù)中的位置包括在所述受保護(hù)文件中。
4.如權(quán)利要求3所述的方法,其特征在于,所述項(xiàng)目以未加密格式存儲(chǔ)在所述庫(kù)中。
5.如權(quán)利要求4所述的方法,其特征在于,生成使用權(quán)限還包括為接收訪問所述項(xiàng)目的請(qǐng)求的計(jì)算機(jī)生成所述項(xiàng)目的擁有者權(quán)限。
6.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)可讀指令,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),會(huì)使所述計(jì)算機(jī)接收檢索存儲(chǔ)在庫(kù)中的項(xiàng)目的請(qǐng)求;響應(yīng)所述請(qǐng)求,檢索所述項(xiàng)目的訪問權(quán)限;根據(jù)所述訪問權(quán)限生成所述項(xiàng)目的使用權(quán)限;將所述項(xiàng)目和所述使用權(quán)限加密在受保護(hù)文件中;以及響應(yīng)于從所述庫(kù)檢索所述項(xiàng)目的請(qǐng)求,返回所述受保護(hù)文件。
7.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,從請(qǐng)求者接收到檢索所述項(xiàng)目的請(qǐng)求,并且檢索所述項(xiàng)目的訪問權(quán)限包括檢索僅僅用于所述請(qǐng)求者的所述項(xiàng)目的訪問權(quán)限。
8.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括計(jì)算機(jī)可讀指令,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),會(huì)使所述計(jì)算機(jī)將所述項(xiàng)目在所述庫(kù)中的位置保存在所述受保護(hù)文件中。
9.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述項(xiàng)目未加密地存儲(chǔ)在所述庫(kù)中。
10.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括將用于訪問所述庫(kù)的計(jì)算機(jī)系統(tǒng)的擁有者使用權(quán)限包括在所述受保護(hù)文件中。
11.一種將項(xiàng)目存儲(chǔ)在庫(kù)的方法,包括接收將所述項(xiàng)目存儲(chǔ)在所述庫(kù)中一個(gè)位置的請(qǐng)求;解密所述項(xiàng)目;從已解密的項(xiàng)目中檢索先前檢索所述項(xiàng)目的位置特征;將所述先前檢索所述項(xiàng)目的位置與所述庫(kù)中用于保存所述項(xiàng)目的所述請(qǐng)求位置進(jìn)行比較;以及如果所述先前位置和所述請(qǐng)求位置相同,則將所述項(xiàng)目保存在所述請(qǐng)求位置。
12.如權(quán)利要求11所述的方法,其特征在于,還包括如果所述先前位置與所述請(qǐng)求位置不相同,則不將所述項(xiàng)目保存在所述請(qǐng)求位置。
13.如權(quán)利要求12所述的方法,其特征在于,所述項(xiàng)目還包括用于接收存儲(chǔ)所述項(xiàng)目的請(qǐng)求的計(jì)算機(jī)的所述項(xiàng)目的擁有者權(quán)限,并且解密所述項(xiàng)目包括使用所述擁有者權(quán)限解密所述項(xiàng)目。
14.如權(quán)利要求12所述的方法,其特征在于,將所述項(xiàng)目保存在所述請(qǐng)求位置包括將所述項(xiàng)目以未加密格式保存在所述請(qǐng)求位置。
15.如權(quán)利要求14所述的方法,其特征在于,還包括在解密所述項(xiàng)目之前,確定是否存在用于解密所述項(xiàng)目的保護(hù)器,并且響應(yīng)于確定保護(hù)器的存在,執(zhí)行所述解密、檢索、比較、以及保存操作。
16.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)可讀指令,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),會(huì)使所述計(jì)算機(jī)接收將項(xiàng)目存儲(chǔ)在庫(kù)中一個(gè)位置的請(qǐng)求;解密所述項(xiàng)目;從已解密的項(xiàng)目中檢索先前檢索所述項(xiàng)目的位置特征;將所述先前檢索所述項(xiàng)目的位置與所述庫(kù)中用于保存所述項(xiàng)目的所述請(qǐng)求位置進(jìn)行比較;以及如果所述先前位置和所述請(qǐng)求位置相同,則將所述項(xiàng)目保存在所述請(qǐng)求位置。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括計(jì)算機(jī)可讀指令,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),會(huì)使所述計(jì)算機(jī)當(dāng)如果所述先前位置與所述請(qǐng)求位置不相同時(shí),不將所述項(xiàng)目保存在所述請(qǐng)求位置。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述項(xiàng)目還包括用于接收存儲(chǔ)所述項(xiàng)目的請(qǐng)求的計(jì)算機(jī)的所述項(xiàng)目的擁有者權(quán)限,并且解密所述項(xiàng)目包括使用所述擁有者權(quán)限解密所述項(xiàng)目。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,將所述項(xiàng)目保存在所述請(qǐng)求位置包括將所述項(xiàng)目以未加密格式保存在所述請(qǐng)求位置。
20.如權(quán)利要求19所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括計(jì)算機(jī)可讀指令,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),會(huì)使所述計(jì)算機(jī)在解密所述項(xiàng)目之前確定是否存在用于解密所述項(xiàng)目的保護(hù)器,并且響應(yīng)于確定保護(hù)器的存在,執(zhí)行所述解密、檢索、比較、以及保存操作。
全文摘要
提供了一種基于訪問項(xiàng)目的權(quán)限生成項(xiàng)目的使用權(quán)限的方法和計(jì)算機(jī)可讀介質(zhì)。根據(jù)該方法,在文檔管理系統(tǒng)處接收到對(duì)于存儲(chǔ)在庫(kù)中的項(xiàng)目的請(qǐng)求。響應(yīng)于該請(qǐng)求,確定用于請(qǐng)求者的項(xiàng)目的訪問權(quán)限,并基于該訪問權(quán)限生成使用權(quán)限。隨后創(chuàng)建包含所述項(xiàng)目和項(xiàng)目的使用權(quán)限的加密文件。也可將項(xiàng)目在庫(kù)中的位置包括在受保護(hù)文件中。當(dāng)嘗試將項(xiàng)目保存回庫(kù)時(shí),將先前提取項(xiàng)目的位置(在項(xiàng)目中特別指定的)和庫(kù)中用于保存項(xiàng)目的所述請(qǐng)求位置進(jìn)行比較。僅僅當(dāng)如果兩個(gè)位置匹配時(shí)才將項(xiàng)目保存在庫(kù)中。
文檔編號(hào)G06F17/30GK1828624SQ200610004629
公開日2006年9月6日 申請(qǐng)日期2006年1月27日 優(yōu)先權(quán)日2005年3月1日
發(fā)明者K·L·布朗, J·M·卡希爾 申請(qǐng)人:微軟公司