專利名稱:用于在層次數(shù)據(jù)結(jié)構(gòu)中保持應(yīng)用偏好的客戶/服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及個人計算和連網(wǎng)領(lǐng)域。它尤其涉及網(wǎng)絡(luò)計算的新發(fā)展的領(lǐng)域,在其中臺式計算機用戶利用同諸如公司內(nèi)聯(lián)網(wǎng)、因特網(wǎng)或者某網(wǎng)絡(luò)或因特網(wǎng)服務(wù)提供商(ISP)連接的個人計算機(可能是無盤的),得到對各種以后在該臺式計算機上執(zhí)行的應(yīng)用程序的訪問。更準確地說,本發(fā)明涉及一種用于從服務(wù)器檢索的并在臺式計算機上執(zhí)行的軟件的軟件偏好(配置數(shù)據(jù))的基于服務(wù)器的存儲。
網(wǎng)絡(luò)計算機領(lǐng)域目前處于其初級階段。然而,出于一些原因,預(yù)料它會迅速發(fā)展,尤其在公司環(huán)境下。該預(yù)料是當公司以及可能還有個人用戶達到硬件和軟件更新點時,進入該新領(lǐng)域會更有效和更省錢,而不是以傳統(tǒng)方式用裝有盤的計算機和在本地存儲并管理軟件應(yīng)用進行更新。例如,在公司環(huán)境下,用戶例如可利用TCP/IP和因特網(wǎng)的HTTP協(xié)議,與公司內(nèi)聯(lián)網(wǎng)連接,并根據(jù)他們的需要把軟件應(yīng)用直接從網(wǎng)絡(luò)服務(wù)器下載到臺式計算機。用戶按傳統(tǒng)方式在臺式機上執(zhí)行應(yīng)用以完成有用的工作。這種配置的優(yōu)點是與傳統(tǒng)裝著盤的計算機相比,網(wǎng)絡(luò)計算機要便宜得多。比起為每個用戶購買獨立的軟件拷貝,為用戶群購買所需的軟件許可證數(shù)量成本也為較低。無疑,大量公司用戶參與的軟件管理問題會明顯減小。當前,有盤的計算機或工作站的每個用戶通常自己充當系統(tǒng)管理員,由于缺少經(jīng)驗這常常消耗過分的資源。預(yù)計通過把該問題有效地轉(zhuǎn)移到少量服務(wù)器管理專家身上而不是讓許多用戶竭力于軟件安裝、更新和計算機管理問題,從而消除該問題會是很有好處的。
如前面所述,未來個人計算的這種設(shè)想目前處于早期階段。從而,現(xiàn)有系統(tǒng)目前存在許多問題和缺陷。
典型地,在網(wǎng)絡(luò)計算機系統(tǒng)中,管理人員建立存儲在網(wǎng)絡(luò)服務(wù)器上的用戶簡檔。簡檔可包含不同類型的信息,例如用戶桌面的偏好和用戶訪問駐留在服務(wù)器的不同軟件應(yīng)用的許可。當用戶登錄系統(tǒng)時,用戶向服務(wù)器標明自己,服務(wù)器找出該用戶的簡檔并把簡檔發(fā)送到用戶計算機以在那里配置計算機和生成桌面。該桌面可包括一些代表估計用戶會訪問的應(yīng)用的圖符。簡檔可能還包含計算機和桌面的其它屬性,例如,桌面的背景色彩,或桌面上使用的字型和點的尺寸,或數(shù)據(jù)文件搜索路徑,這些對于該用戶是唯一的。簡檔可能是用戶能修改的或不能修改的。
在用戶可以修改自己的簡檔的環(huán)境下,在注銷時修改的簡檔被上裝到服務(wù)器,并存儲在服務(wù)器中以供下次用戶登錄時檢索。盡我們所知,在一些現(xiàn)有技術(shù)系統(tǒng)中,用戶可在他們的桌面上生成他們希望的任何應(yīng)用圖符配置,不論這些應(yīng)用是否在服務(wù)器上存在,也不論用戶是否已得到訪問服務(wù)器上某應(yīng)用的許可。Lotus公司的WorkplaceDesktop(以前稱為Kona Desktop)系統(tǒng)是這種類型的操作的一個例子。在其它系統(tǒng)中,服務(wù)器向用戶展示其具有的所有應(yīng)用的一個列表,用戶可從中挑選。在該情況下,不能保證用戶具有從桌面上的包含表中選取的某應(yīng)用的訪問許可。Sun公司的Hot Java View系統(tǒng)是這種類型的系統(tǒng)的一個例子。換言之,現(xiàn)有技術(shù)系統(tǒng)不在用戶可對桌面應(yīng)用圖符組做出的配置和用戶實際上獲得訪問許可的應(yīng)用之間建立連系。在這樣的情況下,當用戶點擊某圖符以執(zhí)行某應(yīng)用時,若不存在訪問許可,則可能出現(xiàn)出錯消息(例如未批準訪問消息),或者在更壞情況下用戶的計算機可能發(fā)生故障。
現(xiàn)有技術(shù)的另一個限制是使用平面數(shù)據(jù)結(jié)構(gòu)對用戶、用戶組、終端和終端組建立模型。按照常用的管理用戶訪問計算機資源的方式建好的所謂的網(wǎng)絡(luò)計算機實現(xiàn)(例如Lotus公司的AdministrationFacility for Desktop、Microsoft公司的Windows NT Profiles andPolicies以及Sun公司的Hot Java Views),在服務(wù)器上實施一種平面“分組”結(jié)構(gòu),以管理不同語境下的軟件偏好(或?qū)傩?。本文中使用的術(shù)語“語境”指的是單個用戶、用戶組、終端或終端組。用于管理服務(wù)器上的軟件偏好的任何分組結(jié)構(gòu)允許管理員為不同的用戶組以及為各個用戶定義偏好屬性。然而在許多場合下,尤其在具有大量用戶的場合下,平面系統(tǒng)是不靈活的。需要提供一種支持把偏好信息組織到層次結(jié)構(gòu)中的管理工具。
現(xiàn)有系統(tǒng)的另一個限制是在管理員和用戶必須進行工作站桌面的用戶配置的方式上所受到的限制。例如,目前需要管理員利用與用戶應(yīng)用分離的但又相關(guān)的配置程序配置用戶偏好。最好是允許廠家只提供單個應(yīng)用。為了從廠家只得到最終用戶應(yīng)用,必須使中央管理設(shè)施能在一個用戶或用戶組的語境下執(zhí)行最初用戶應(yīng)用?,F(xiàn)有技術(shù)不允許管理操作的這樣的靈活性。換言之,盡我們所知,在現(xiàn)有技術(shù)中,管理人員不具有在一個用戶的語境下運行某用戶應(yīng)用以便為該用戶以及該應(yīng)用設(shè)定偏好的能力。此外,在技術(shù)上管理人員不能運行某用戶應(yīng)用以設(shè)定用戶組語境下的偏好。
本發(fā)明小組所知的現(xiàn)有技術(shù)中的再一個限制是現(xiàn)有技術(shù)劃分服務(wù)器永久存儲空間,以保證用于存儲和服務(wù)器上的各不同應(yīng)用相關(guān)的用戶偏好的唯一空間得到保留的方式。據(jù)發(fā)明人員所知,在面向?qū)ο蟮南到y(tǒng)中(其中可以用完全合格的類名查詢對象,該類名唯一標識該對象并使對象與其它類相區(qū)別),防止不同應(yīng)用的偏好信息存儲沖突問題是通過使第一中央主管分配一個應(yīng)用于某廠家的唯一標志并通過使該廠家處的第二主管為該廠家的每個應(yīng)用分配和第一標志相關(guān)的第二標志予以解決的。例如,可由第一主管向廠家A分配標志vendorA,并且確保在該第一主管生效的體系結(jié)構(gòu)內(nèi)該標志是唯一的。接著廠家A的第二主管為它的在該體系結(jié)構(gòu)內(nèi)的每個應(yīng)用分配第二標志。例如,廠家A的一個應(yīng)用可能標志成vendorA.App1;而另一個應(yīng)用標志成vendorA.App2。該技術(shù)把系統(tǒng)中的每個應(yīng)用的唯一標志變換到系統(tǒng)的永久存儲中的某單元以保持在存儲中不同應(yīng)用的偏好數(shù)據(jù)不發(fā)生沖突。應(yīng)用運行時向網(wǎng)絡(luò)計算機服務(wù)器通知它的唯一存儲單元,而該服務(wù)器負責根據(jù)語境(用戶、用戶組、終端或終端組)在該開始單元劃分一個用于存儲偏好信息的區(qū)域,從而不和不同語境下的偏好信息沖突。很明顯,管理存儲空間的這種方式是不方便的和不希望的。需要發(fā)明一種方法,以便在不要求中央主管出于防止偏好信息存儲中的沖突的目的而分配唯一標志情況下以及不必把存儲單元信息編碼到應(yīng)用情況下,自動地為存儲上述面向?qū)ο蟮膽?yīng)用的偏好信息而生成各唯一存儲單元。
技術(shù)中的另一個限制是不存在任何在不需要改變現(xiàn)有硬件和應(yīng)用下把現(xiàn)有應(yīng)用和硬件遷移到中央管理式網(wǎng)絡(luò)計算新世界中的設(shè)備。現(xiàn)有硬件(以終端為例)在連網(wǎng)環(huán)境下于引導(dǎo)時從設(shè)置在服務(wù)器上的某專用格式的文件中得到其配置信息。終端被編程成知道如何去訪問它的配置文件。終端利用一個唯一標識符從服務(wù)器訪問該文件。該唯一標識符通常是終端的介質(zhì)訪問控制(MAC)地址。然而,在涉及到不同于為終端所設(shè)計的協(xié)議和API的新型中央管理環(huán)境下,終端不能訪問該新環(huán)境下的偏好信息,終端只能按為其設(shè)計的方式訪問它的配置文件。這是一個嚴重的問題,因為存在大量的正在使用的這樣的已有設(shè)備。不能在新系統(tǒng)上使用它們,實質(zhì)上阻礙鼓勵用戶遷移到新系統(tǒng)中。
現(xiàn)有技術(shù)中的再一個限制涉及到管理員和配置管理系統(tǒng)之間的接口。當管理設(shè)施內(nèi)的配置軟件為各種用戶、用戶組、終端及終端組而配置偏好信息時,就在運行該設(shè)施的管理人員所設(shè)定的語境(用戶、用戶組、終端或終端組)下發(fā)動管理軟件。當該管理人員改變應(yīng)用運行的語境時,需要重新發(fā)動應(yīng)用以裝入用于新語境的配置信息。每次改變語境都重新發(fā)動軟件的處理是耗時的和對管理員是不方便的,尤其對于具有許多用戶的系統(tǒng)更是如此。在這樣的系統(tǒng)中,預(yù)計管理員在配置應(yīng)用時會多次改變語境。
依據(jù)一個方面,本發(fā)明在網(wǎng)絡(luò)系統(tǒng)中提供一種管理用于在用戶站上運行的各應(yīng)用的用戶配置偏好的方法,所述網(wǎng)絡(luò)系統(tǒng)由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,所述方法包括步驟在一個樹形層次中表示該系統(tǒng)的所有用戶,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組中的選定用戶,每個節(jié)點包含用于一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好;對每個是多個組的成員的用戶分配一個組優(yōu)先次序;對于任何請求執(zhí)行某選定應(yīng)用的給定用戶確定該用戶的組優(yōu)先次序;以及,通過從組優(yōu)先級表確定從中可為選定應(yīng)用導(dǎo)出一組偏好的第一組,通過從AllUsers組節(jié)點到該第一組在樹上移動把各偏好匯合到用于該選定應(yīng)用的一個集合中,通過收集用于該選定應(yīng)用的每個節(jié)點處的各偏好,以及通過隨著越過每個節(jié)點用該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好,修改所收集到的偏好,而從該樹建立一組配置偏好。
依據(jù)第二方面,本發(fā)明在網(wǎng)絡(luò)系統(tǒng)中提供一種管理用于在用戶站上運行的各應(yīng)用的用戶配置偏好的設(shè)備,所述網(wǎng)絡(luò)系統(tǒng)由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,所述設(shè)備包括用于在一個樹形層次中表示該系統(tǒng)的所有用戶的裝置,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組的選定用戶,每個節(jié)點包含用于一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好;用于對每個是多個組的成員的用戶分配一個組優(yōu)先次序的裝置;用于對任何請求執(zhí)行某選定應(yīng)用的給定用戶,確定該用戶的組優(yōu)先次序的裝置;用于通過從組優(yōu)先級表確定從中可為選定應(yīng)用導(dǎo)出一組偏好的第一組,通過從AllUsers組節(jié)點到該第一組在樹上移動把各偏好匯合到用于該選定應(yīng)用的一個集合中,通過收集用于該選定應(yīng)用的每個節(jié)點處的各偏好,以及通過隨著越過每個節(jié)點用該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好修改所收集到的偏好,從而為該樹建立一組偏置偏好的裝置。
依據(jù)第三方面,本發(fā)明提供一種存儲在計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品,當在計算機上運行時其用于在網(wǎng)絡(luò)系統(tǒng)中實現(xiàn)一種管理用于在用戶站上運行的各應(yīng)用的用戶配置偏好的方法,所述網(wǎng)絡(luò)系統(tǒng)由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,所述方法包括步驟在一個樹形層次中表示該系統(tǒng)的所有用戶,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組中的選定用戶,每個節(jié)點包含用于一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好;對每個是多個組的成員的用戶分配一個組優(yōu)先次序;對于任何請求執(zhí)行某選定應(yīng)用的給定用戶確定該用戶的組優(yōu)先次序;以及,通過從組優(yōu)先級表確定從中可為選定應(yīng)用導(dǎo)出一組偏好的第一組,通過從AllUsers組節(jié)點到該第一組在樹上移動把各偏好匯合到用于該選定應(yīng)用的一個集合中,通過收集用于該選定應(yīng)用的每個節(jié)點處的各偏好,以及通過隨著越過每個節(jié)點用該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好修改所收集到的偏好,而從該樹建立一組配置偏好。
本文中所說明的系統(tǒng)為客戶/服務(wù)器環(huán)境下的用戶和小應(yīng)用程序程序提供一個配置信息的公用儲存庫。這稱之為客戶簡檔管理。該系統(tǒng)允許用戶漫游,即在任何時候從系統(tǒng)中的任何計算機登錄并在運行時刻根據(jù)服務(wù)器處為該用戶存儲的偏好而自動進行配置。優(yōu)選實施方式是基于Java(Java是Sun公司的一個商標)的系統(tǒng)并且客戶計算機使用設(shè)置成執(zhí)行Java應(yīng)用的web瀏覽器接口。這樣,在該優(yōu)選實施方式下,假定用戶小程序以及桌面小程序是Java小程序。但是,沒有把本發(fā)明限制在Java環(huán)境的意圖。用于本地存儲的應(yīng)用的偏好可按傳統(tǒng)方式在本地存儲,而用于基于服務(wù)器的小程序的偏好可按本說明的方式處理。
本發(fā)明允許系統(tǒng)管理員按一種層次對系統(tǒng)的用戶或用戶組、終端及終端組建模,并允許分別對每個組和各個用戶設(shè)定桌面和用戶應(yīng)用偏好。對于選定的組語境,例如對于系統(tǒng)所有用戶的組或者包含一些選定用戶的某子組,為選定的用戶小程序確定缺省偏好集。然后根據(jù)在該選定組下專用規(guī)定的偏好,修改該缺省集。接著再用該用戶專用的偏好集,修改這些偏好。
在優(yōu)選實施例中,在一個樹形層次中表示該系統(tǒng)的所有用戶,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含屬于由該子組節(jié)點代表的組中的一組選定的用戶。每個節(jié)點還包含用于一些系統(tǒng)上可使用的選定應(yīng)用的配置偏好。管理員對每個是多個組的成員的用戶分配組優(yōu)先次序。當用戶執(zhí)行某應(yīng)用時,該應(yīng)用從服務(wù)器請求它的各偏好。首先確定該用戶的組優(yōu)先次序。接著通過從組優(yōu)先級表確定在其中可為選定的應(yīng)用導(dǎo)出一組偏好的第一組并且然后把這些偏好匯合到選定的應(yīng)用的偏好集合中,而從該樹建立一組配置偏好。通過從AllUsers組節(jié)點到該第一組在樹上移動,通過收集在該選定應(yīng)用的每個節(jié)點規(guī)定的各偏好,以及隨著越過每個節(jié)點通過在該節(jié)點處對選定應(yīng)用規(guī)定的各偏好修改收集到的偏好集,使該匯合得以實現(xiàn)。
和非層次結(jié)構(gòu)相比,本發(fā)明提供多得多的組織靈活性和管理能力。層次結(jié)構(gòu)可更準確地描述大多數(shù)企業(yè)的結(jié)構(gòu)。越宏大地對企業(yè)建模,按層次的組織的能力越重要。
圖1示出一個示意網(wǎng)絡(luò)和多個用戶站,其中包括在其上可實施本發(fā)明的一個管理員站;圖2是一個示意方塊圖,示出和服務(wù)器通信的管理員站以及管理員站的和提供中央簡檔管理和偏好管理的服務(wù)器的構(gòu)件;圖3示出系統(tǒng)的用戶組以及用戶的層次組織,該示意層次組織也可包括各個終端以及終端組;然而出于簡明,它們被略去;圖4示出一個示意的各個用戶以及組優(yōu)先次序表,其用于從圖3的層次組織確定一組可應(yīng)用于某用戶以及該用戶執(zhí)行的某具體應(yīng)用的偏好;圖5更詳細地描述圖2的管理員站和服務(wù)器;圖6示意示出用戶終端處的軟件對象,其中包括某用戶應(yīng)用以及在該應(yīng)用和其它構(gòu)件間的API,在用戶終端執(zhí)行該應(yīng)用期間它們合作以建立用戶偏好;圖7至8示出用戶終端和服務(wù)器處的操作,用于在用戶終端處的用戶登錄以及初始建立包含著桌面偏好的用戶桌面;圖9至11示出管理員終端和服務(wù)器的操作,用于管理員用戶登錄、建立管理員桌面以及示例的應(yīng)用及配置語境的選擇,該例子還示出配置用戶桌面期間的語境改變以及所引起的操作;以及圖12至24示出應(yīng)用管理的不同階段的管理員實際屏幕的各種瞬態(tài)圖,其中包括建立圖3的層次以代表建立和刪除用戶等的一個例子、為各應(yīng)用建立應(yīng)用偏好以及在偏好建立期間的語境改變。
本文中所說明的系統(tǒng)為客戶/服務(wù)器環(huán)境下的所有用戶和小應(yīng)用程序提供一個配置信息的公用儲存庫。這稱之為客戶簡檔管理。該系統(tǒng)允許用戶漫游,即在任何時候從系統(tǒng)中的任何計算機登錄并在運行時刻根據(jù)服務(wù)器處為該用戶存儲的偏好自動進行配置。優(yōu)選實施方式是基于Java(Java是Sun公司的一個商標)的系統(tǒng)并且客戶計算機使用一個被設(shè)置成執(zhí)行Java應(yīng)用的web瀏覽器接口。
術(shù)語“小應(yīng)用程序”和“小服務(wù)程序”是Java編程語言技術(shù)中的既定術(shù)語并用于本文中,因為業(yè)內(nèi)人士知道這些術(shù)語的含義?!靶?yīng)用程序”指的是在Java使能的web瀏覽器內(nèi)運行的獨立軟件模塊?!靶》?wù)程序”指的是駐留在Java使能web服務(wù)器上的軟件模塊。應(yīng)理解,在本文中使用術(shù)語“小應(yīng)用程序”和“小服務(wù)程序”沒有以任何方式限制本發(fā)明的意圖。為了簡明,本文中使用短語“配置小應(yīng)用程序”表示用來為最終用戶軟件應(yīng)用例如字處理程序、數(shù)據(jù)庫管理程序等配置偏好的軟件模塊。由于Java環(huán)境中軟件應(yīng)用也是“小應(yīng)用程序”,故本文中使用的短語“用戶小應(yīng)用程序”或僅僅“小應(yīng)用程序”表示某最終用戶應(yīng)用。
在優(yōu)選實施方式中,用戶小應(yīng)用程序和桌面小應(yīng)用程序被假定為Java小應(yīng)用程序。但是,應(yīng)理解本發(fā)明不限于Java環(huán)境。本發(fā)明可用于任何客戶/服務(wù)器系統(tǒng)。例如,若需要,則本系統(tǒng)可設(shè)計成使用專有通信協(xié)議的以及在任何需要的編程語言下書寫并編譯的應(yīng)用。另外,即使在優(yōu)選的基于Java的環(huán)境下,基于盤的計算機也可本地訪問一些應(yīng)用以及從服務(wù)器訪問其它小應(yīng)用程序。用于本地存儲的應(yīng)用的偏好可用傳統(tǒng)方式在本地存儲,同時按本文中說明的方式處理基于服務(wù)器的小應(yīng)用程序的偏好。
簡單的應(yīng)用程序接口(API)允許對API寫的小應(yīng)用程序在由用戶或管理員執(zhí)行該小程序時方便地存儲和檢索偏好數(shù)據(jù)??梢愿鶕?jù)組成員資格和個人身份定義小應(yīng)用程序許可和用戶偏好。
客戶簡檔管理包括下述服務(wù)登錄支持映射到用戶簡檔;用戶支持建立用戶標識并對用戶直接提供服務(wù)和偏好的管理能力;用戶組支持建立分級的用戶組并且根據(jù)組成員資格提供服務(wù)和偏好的管理能力;用戶小應(yīng)用程序語境透明性自動確定用戶小應(yīng)用程序的執(zhí)行語境,即,確定應(yīng)用于用戶小應(yīng)用程序執(zhí)行的用戶和/或組簡檔并且自動建立簡檔環(huán)境;用戶小應(yīng)用程序偏好儲存庫對語境敏感的用于用戶小應(yīng)用程序配置數(shù)據(jù)的服務(wù)器存儲;動態(tài)用戶小應(yīng)用程序偏好繼承通過繼承的面向?qū)ο蟮脑瓌t的用戶小應(yīng)用程序偏好的存入時間的分層匯合;以及用戶小應(yīng)用程序訪問控制根據(jù)缺省組成員資格特權(quán),控制用戶小應(yīng)用程序執(zhí)行,管理員可以越過缺省組特權(quán)并可以為各個用戶而許可或拒絕附加的訪問特權(quán)。
簡檔管理提供一個通過其進行這些任務(wù)的框架。簡檔管理直接支持一些任務(wù)例如用戶/組管理、小應(yīng)用程序列表、語境切換、偏好繼承等,而專用于各用戶小應(yīng)用程序的配置服務(wù)是由系統(tǒng)管理員在客戶簡檔管理環(huán)境下調(diào)用的各獨立配置小應(yīng)用程序支持的。一些最初用戶小應(yīng)用程序可能提供作為最終用戶小應(yīng)用程序的一部分的配置能力。若為這種情況,則管理員可在單個用戶和組的語境下執(zhí)行該最終用戶小應(yīng)用程序(與執(zhí)行獨立的配置小應(yīng)用程序不同)以便為這些用戶和這些組設(shè)定配置偏好。
圖1示出用于實現(xiàn)本發(fā)明的預(yù)期環(huán)境的高層圖。設(shè)置網(wǎng)絡(luò)以互連多個用戶站如臺式個人計算機102、移動式膝上計算機104、工作站106(例如RISC計算機)以及管理員站108和服務(wù)器110。在一種實施方式中,網(wǎng)絡(luò)100可以是局域網(wǎng)。在另一種實施方式中,網(wǎng)絡(luò)100可包括用于多個實體的廣域連網(wǎng),這些實體例如是具有地理上散布的多個點的但這些點仍包含在該系統(tǒng)內(nèi)的公司。不對可實現(xiàn)本發(fā)明的環(huán)境做出限制;實際上,可想象互連著許多類型的站的任何類型的網(wǎng)絡(luò)。
圖2中示出簡檔管理的管理運行環(huán)境的高層圖。在圖的左側(cè)表示管理員客戶網(wǎng)絡(luò)計算機200,而用于該系統(tǒng)的服務(wù)器位于右側(cè)。通過用203表示的網(wǎng)絡(luò),客戶機和服務(wù)器通信。圖2的具體例子假定客戶計算機是系統(tǒng)管理員的計算機。
客戶機側(cè)上的簡檔管理程序206允許管理員在用戶級和小組級上配置用戶小應(yīng)用程序偏好。管理員可建立新的用戶層和組層、把用戶添加到不同的組中和為每個組以及為每個用戶規(guī)定小應(yīng)用程序許可。并且管理員可以在單個用戶或一個組的語境下配置各小應(yīng)用程序。管理員可以為用戶添加、刪除和重置口令。簡檔管理支持對于普通用戶是透明的。管理員可以在用戶或組的任一語境下調(diào)用簡檔管理程序206。只有管理員才能改變語境以管理各客戶(用戶)和各小組。服務(wù)器不會允許不具有管理授權(quán)的用戶切換語境。當某請求進入服務(wù)器時,它會詢問試圖訪問該功能的用戶的確認ID。若該用戶不擁有管理授權(quán)(即,不是AllUsers管理員小組的一個成員),則簡檔管理程序小服務(wù)程序214會拒絕該請求。
如圖2中所示,簡檔管理程序206調(diào)用其它小應(yīng)用程序,例如小應(yīng)用程序1(208)。在該例中,小應(yīng)用程序1可能是用于配置與用戶桌面有關(guān)的偏好的管理小應(yīng)用程序。即,小應(yīng)用程序1可以是與最終用戶小應(yīng)用程序相關(guān)的配置公用程序,例如編輯程序、字處理程序、數(shù)據(jù)庫等。最好但不必必須是,諸如208的配置小應(yīng)用程序組以獨立于它們對應(yīng)的用戶小應(yīng)用程序的形式存在。在圖2的語境下,小應(yīng)用程序1典型地是一個用于某用戶小應(yīng)用程序的配置小應(yīng)用程序;管理員在小組語境下運行該配置小應(yīng)用程序以便設(shè)置組偏好和許可缺省,或在單個用戶語境下為個人定制用戶小應(yīng)用程序配置。通過把小應(yīng)用程序1實施成是一個獨立于其用戶小應(yīng)用程序的模塊,可提高性能,因為和該用戶小應(yīng)用程序相比,配置小應(yīng)用程序1有可能是小的。此外,分立的配置小應(yīng)用程序允許管理員具有控制最終用戶的能力以配置用戶小應(yīng)用程序。
傳統(tǒng)獨立計算機本地地與用戶小應(yīng)用程序關(guān)聯(lián)地存儲用戶小應(yīng)用程序配置信息。傳統(tǒng)的基于Java的獨立計算機利用通過java.util.Properties類提供的格式,存儲用戶小應(yīng)用程序配置信息。這二種方式都要求用戶小應(yīng)用程序規(guī)定在其中存儲和該用戶小應(yīng)用程序相關(guān)的配置信息的本地文件的名字。換言之,需要在計算機和其上裝入的用戶小應(yīng)用程序之間建立關(guān)系。本文中所說明的簡檔管理提供真正java.util.Properties對象的類似能力,并外加支持用戶漫游能力以及對強大管理框架(簡檔管理程序)的無縫可插入性的附加功能。
ProfileManagementProperties P 210是一個用于小應(yīng)用程序1的特性對象并提供小應(yīng)用程序1和服務(wù)器之間的API,該API允許服務(wù)器確定在用戶和小組的語境下在何處存儲用于小應(yīng)用程序1的配置信息。ProfileManagementProperties對象類提供java.util.properties類的所有功能,并且還對軟件從永久存儲提供建立、保存、檢索配置信息的能力。在中央位置存儲這樣的信息使管理用戶配置和小組配置成為可能。
當某用戶擔當管理員時,ProfileManagementProperties 210允許管理員配置和配置小應(yīng)用程序1對應(yīng)的用戶小應(yīng)用程序,或者當小應(yīng)用程序1是最終用戶小應(yīng)用程序時配置小應(yīng)用程序1,并把配置信息按適當語境存儲在服務(wù)器上的適當位置上。這允許建立在用戶小應(yīng)用程序和用戶之間的關(guān)系,而不是傳統(tǒng)系統(tǒng)中的在用戶小應(yīng)用程序和計算機之間的關(guān)系。ProfileManagementProperties 210是java.util.Properties類的一種擴充。該擴充允許把特性對象的偏好信息的關(guān)鍵字/值對和一個關(guān)鍵字相關(guān)聯(lián),這和利用java.util.Properties與流關(guān)聯(lián)不同。這進而允許應(yīng)用開發(fā)者利用該關(guān)鍵字規(guī)定和用于偏好信息的語境相關(guān)的唯一單元,而不是規(guī)定文件名和路徑。ProfileManagementProperties 210自動地確定該關(guān)鍵字。關(guān)鍵字的生成將連同圖8和9作更多的說明。通過在java.util.Properties類后建立ProfileManagementProperties 210模型,系統(tǒng)可利用通過遞歸類-缺省評定的偏好繼承。從而,這種擴充的類通過在如對圖3討論那樣從當前語境開始沿缺省的語境層次移動積累偏好而提供“組缺省”能力。
服務(wù)器202包括數(shù)據(jù)庫212,后者存儲用戶數(shù)據(jù)和組數(shù)據(jù),例如用戶偏好和組偏好以及用戶小應(yīng)用程序訪問許可。Web服務(wù)器218代表典型的具有對Java小服務(wù)程序支持的web服務(wù)器。簡檔管理器小應(yīng)用程序214把用戶標識和組標識變換成偏好數(shù)據(jù)。它還保持一個訪問控制表以管理用戶對服務(wù)器上的應(yīng)用的訪問。
如圖3中所示,按樹形層次存儲用戶偏好和組偏好。系統(tǒng)的所有用戶都自動地屬于頂端組AllUsers。所有的用戶都屬于AllUsers組;該組包含用于服務(wù)器上的一些或所有用戶小應(yīng)用程序的缺省偏好。在圖3中,假定服務(wù)器至少包含三個用戶小應(yīng)用程序,用App3、App4、App5標記。如在AllUsers組中所指示,App3的缺省背景(BG)為BG=蘭色。其它用x、y、z標記的示意偏好被示成分別具有缺省值1、2和3。術(shù)語x,y,z用于代表任何希望的偏好,而值1、2、3是任意的并僅僅用來示意這一點。x偏好例如可能是桌面的屏幕字形;值x=1可能為要求正體字的缺省字形。類似地,對所有用戶App4的缺省偏好為BG=灰色、x=2、y=2和z=2。
可以以任何希望的方式為其它語境,例如分別的用戶組和為別的單個用戶,修改AllUsers組中的缺省值。例如,除了圖3中的AllUsers語境外,還示出四個別的組(GroupX,GroupY GroupY1和GroupY2)。此外,示出二個個別用戶User1和UserN。用戶可以是多于一個組的成員。在圖3中,User1是AllUsers、GroupX和GroupY1的成員;UserN是AllUsers和GroupY2的成員。若用戶是多于一個組的成員(AllUsers之外的另一個組的成員),則出于為該用戶選擇某給定小應(yīng)用程序的偏好的目的對這些組排優(yōu)先級。管理員為用戶配置組的優(yōu)先級。在圖4中示出組的優(yōu)先級。在圖4中,User1以GroupX(用完整限定名AllUsers.GroupX標識)為其最高優(yōu)先級組。User1的次高優(yōu)先級組是Group Y1(AllUsers.GroupY.Group Y1)。User1的最低優(yōu)先級組是AllUsers組。當某用戶假如User1請求運行某小應(yīng)用程序例如App3時,根據(jù)該用戶屬于的組或多個組從圖3的樹匯合偏好,并相應(yīng)地在用戶桌面上配置該用戶小應(yīng)用程序。
為任何語境匯合偏好的第一步是得到各缺省。如果存在,則一個用戶的缺省集是來自可為該小應(yīng)用程序得到偏好信息的最高優(yōu)先級組的匯合后的偏好集。如果存在,則一個組的缺省集是來自組的父母(即,AllUsers組是AllUsers.GroupX的父母)的該小應(yīng)用程序的偏好匯合集。若一個組無父母(即,頂層AllUsers組),則該組不存在缺省。為了在某語境下為某小應(yīng)用程序匯合偏好,在該語境為該小應(yīng)用程序顯式存儲的各偏好,蓋寫該小應(yīng)用程序在該語境下的缺省偏好集。從而,為了在組的語境下為某小應(yīng)用程序把各偏好匯合到缺省集中,從各個組節(jié)點向上最后到達AllUsers組進行遞歸式調(diào)用以請求該小應(yīng)用程序的各級父女偏好集。請參照圖3以舉出下例。例如,若語境是AllUsers.GroupY.GroupY1,則調(diào)用GroupY1的父母即GroupY以請求其對該小應(yīng)用程序的缺省偏好集。GroupY1對它的父母AllUsers作出遞歸調(diào)用。AllUsers不具有父母,從而AllUsers對來自GroupY的調(diào)用回送它的用于該小應(yīng)用程序的偏好集。用GroupY處存儲的用于該小應(yīng)用程序的各偏好(若存在)修改該偏好集。這現(xiàn)在是該小應(yīng)用程序在GroupY1的語境下的缺省偏好集。作為從GroupY1到GroupY的遞歸調(diào)用的結(jié)果向GroupY1回送該缺省偏好集,并用GroupY1處用于該小應(yīng)用程序的各偏好(若存在)予以修改,以得到該情況下使用的實際偏好集。除了利用可從其得到該用戶的偏好信息的最高優(yōu)先級組以首先確立可從其得到缺省集的組的語境外,還以相同的方式為用戶建立該語境的偏好集。然后利用上面說明的遞歸過程為用戶和該用戶請求的該小應(yīng)用程序建立實際的偏好集。
下面的例子說明上面的偏好匯合并應(yīng)連帶圖3一并閱讀。
例1管理員運行用于App3的配置小應(yīng)用程序以便為組AllUsers.GroupX設(shè)定偏好。
為了對App3設(shè)定AllUsers.GroupX語境下的偏好集,必須確定現(xiàn)行偏好集。AllUsers.GroupX向它父母AllUsers請求缺省集。因為AllUsers為頂層組,故它向GroupX返回它的用于App3的各偏好。它們是GroupX語境下App3的缺省偏好集。由于GroupX不具有用于App3的偏好,故來自AllUsers的缺省集是被使用的實際偏好集。在該例中,這些來自AllUsers組的偏好是BG=Blue(蘭色),x=1,y=2,z=3。現(xiàn)在管理員可利用該配置小應(yīng)用程序以任何希望的方式修改匯合后的偏好集。
例2User1請求執(zhí)行com.ibm.App3。必須為com.ibm.App3匯合User1語境下的偏好。
圖4示出,User1的最高優(yōu)先級組是AllUsers.GroupX;首先為和App3有關(guān)的偏好信息檢查該分支的組層次。從此處起,除了利用匯合后的偏好集配置用戶工作站上的App3之外,本例基本上和上面的例1相同。User1的用于App3的各偏好是BG=Breen(綠色),x=1,y=2,z=3,這是因為存儲在User1的語境下的用于App3的BG=Breen偏好蓋寫了從偏好樹的AllUsers.GroupX分支得到的缺省BG=Blue偏好。
例3在User1的語境下為com.ibm.App6匯合偏好。
該例示出最高優(yōu)先級組不包含用于User1的語境的匯合偏好的情況。此外,User1的最高優(yōu)先級組是GroupX。該組以及它的父母AllUsers不包含用于App6的偏好。從而,搜索次高優(yōu)先級組。User1的次高優(yōu)先級組是GroupY1。從該組可以為App6得到一組偏好。如例1中所說明那樣著手偏好的匯合。從GroupY1沿著樹向上直到根AllUsers組進行遞歸調(diào)用,并向下對遞歸調(diào)用回送偏好集,并沿該方向進行修改以形成缺省集。然后用GroupY1中存儲的各偏好修改該缺省集以形成應(yīng)用于該語境的匯合偏好集。簡言之,AllUsers回送空的偏好集,因為它不具有用于App6的偏好。GroupY用值a=1和b=2修改該空集并按缺省集向GroupY1回送該集。GroupY1用a=33修改該缺省集。該集回送到User1語境,以用作其缺省集。由于在User1語境處不存儲用于App6的偏好,故從偏好樹的GroupY1得到的缺省集代表用于App6的完整的偏好匯合集。這樣用于該語境的實際偏好集變?yōu)閍=33,b=2。
上面的3個例子說明對某特定軟件段響應(yīng)load()收集偏好。當為某段軟件保留偏好信息時,任何已保存的顯式地在該語境寫入的偏好將寫到數(shù)據(jù)存儲(212)中,該寫入的單元是由該軟件目前運行的語境和正存儲其偏好的軟件的關(guān)鍵字的組合規(guī)定的。
類似地進行許可一個新組訪問該組自身允許的所有的小應(yīng)用程序名并且訪問其子組允許的所有小應(yīng)用程序。然而,正如Java允許程序員越過越類(Superclass)方法,簡檔管理允許系統(tǒng)管理員具有超過某繼承的許可的能力。這稱為越過某許可。
如同Java的繼承形式一樣,簡檔管理的偏好和許可繼承的形式稱為單繼承。單繼承意味著每個簡檔管理組只可具有一個超組(盡管任何給定超組可具有多個子組)。
簡檔管理用戶(葉節(jié)點)可能需要多個組中的成員資格,從而需要一種功能來限制對單層次組的偏好繼承,以便使因交叉組分支匯合所引入的不兼容可變子集造成的不可靠配置的可能為最小。通過允許用戶的組成員資格被優(yōu)先,簡檔管理在查找和某特定小應(yīng)用程序相關(guān)的各偏好時可遵循一個搜索次序。換言之,從具有最高優(yōu)先級的組開始,該搜索將停止在第一個找到的含有用于該試圖裝入它的各偏好的小應(yīng)用程序的配置數(shù)據(jù)的組上。
用戶從組的成員資格繼承軟件許可。借助仔細地對企業(yè)建模,管理員可以一次一個用戶地在無需通過屏面導(dǎo)航下向許多用戶分配軟件訪問。簡檔管理通過對web服務(wù)器編程以允許/拒絕對小應(yīng)用程序的訪問來控制訪問。web服務(wù)器執(zhí)行訪問控制。通過web服務(wù)器出于鑒別目的而要求用戶ID和口令方可進入web服務(wù)器,也對簡檔管理程序小服務(wù)程序施加保護。按要求向用戶提示口令是瀏覽器的標準功能。
圖5更詳細地示出圖2的系統(tǒng)。簡檔管理框架內(nèi)的管理員調(diào)用配置小應(yīng)用程序Applet1。為了緊密地結(jié)合到簡檔管理框架中,Applet1可備有用于詢問其操作環(huán)境信息(例如,詢問語境,詢問語境改變事件、詢問該語境的訪問控制表等)的應(yīng)用程序接口(API)515,但這不是對配置小應(yīng)用程序的一個要求。在任何場合下,Applet1的設(shè)計者除了用于得到進入和離開java.util.Properties對象的偏好信息的java.wtil.properties對象的基本方法外,只需要理解基本API方法enablepersistence()、load()和save()。此外API515還包括list()和get Context()方法。Applet1只需要與ProfileManagementPrProperties對象一起注冊和適當?shù)卣{(diào)用這些方法??烧{(diào)用load()方法以檢索正在由管理員選取的單用戶或小組的語境下被配置的用戶小應(yīng)用程序的偏好集的當前狀態(tài)。然后管理員可按需要修改偏好并利用小應(yīng)用程序提供的配置保持功能(該小應(yīng)用程序使用它的ProfileManagementProperties對象的save()方法)存儲它們。類似地,若Applet1需要準予用戶訪問的用戶小應(yīng)用程序列表,則可利用list()方法從服務(wù)器得到該表。小應(yīng)用程序可以利用getContext()方法以顯示它當前運行的語境名或者確保它只在某語境下運行(即,若某小應(yīng)用程序希望利用導(dǎo)出代理而在服務(wù)器上配置某服務(wù),則它可能只允許自己運行在AllUsers語境下,因為正被導(dǎo)出的配置是服務(wù)器專用的而不是用戶專用的)。對于在簡檔管理框架下運行的Applet1所需要的只是,與profileManagementProperties410一起注冊并且實現(xiàn)ProfileManagementProperties類(java.util.properties類的擴充)。
簡檔管理程序506還備有用于各配置小應(yīng)用程序的語境改變API516。Applet1可帶有一個語境改變事件監(jiān)聽程序512。API 516和事件監(jiān)聽程序512允許管理員在運行配置小應(yīng)用程序的同時改變語境(用戶或小組),而不必停止和復(fù)位配置小應(yīng)用程序。例如,當配置小應(yīng)用程序用戶偏好集時,管理員在配置期間可能多次改變語境。若配置小應(yīng)用程序以對這些事件的監(jiān)聽程序注冊,則簡檔管理程序506會通過API516向它通知語境改變。這允許Applet1為每個新語境從服務(wù)器更新它的偏好集。不具有事件監(jiān)聽程序API時,管理員必須終止Applet1并在選擇了新語境以查閱用于新語境的現(xiàn)有偏好信息并避免由簡檔管理小應(yīng)用程序停止和再啟動以后,重新啟動。為了注冊,Appletl調(diào)用其特性對象ProfileManagementProperties 510上的一種方法即addContextChangeListener(API516)進行注冊。當管理員設(shè)置新語境時,簡檔管理程序506進行對對象510的設(shè)置語境調(diào)用(API516),該調(diào)用隨之調(diào)用事件監(jiān)聽程序512上的再裝入方法(API516)。事件監(jiān)聽程序512接著對其特性對象510進行裝入特性調(diào)用以便從服務(wù)器為該新語境得到新偏好數(shù)據(jù),并且使Applet1更新其GUI和內(nèi)部變量組以反映該新偏好信息。
上述功能避免這樣的可能性網(wǎng)絡(luò)管理員從一種語境讀數(shù)據(jù)、改變語境并在該新語境下做出配置改變之前企圖load()時附帶地用save()蓋寫。
未被作為監(jiān)聽程序注冊的小應(yīng)用程序在管理員強行語境改變時被簡檔管理小應(yīng)用程序停止、破壞、重裝入和再啟動。
簡檔管理還提供“特性導(dǎo)出”服務(wù)以允許方便地把現(xiàn)有硬件和軟件翻新到該簡檔管理環(huán)境。該特性導(dǎo)出服務(wù)允許簡檔管理程序514支持用戶工作站(物理硬件)以及用戶、組和用戶應(yīng)用。由于現(xiàn)有工作站不知道ProfileManagementProperties 510,故該導(dǎo)出服務(wù)允許工作站廠家建立工作站配置小應(yīng)用程序,當廠家小應(yīng)用程序保存其偏好信息時,這種工作站配置小應(yīng)用程序規(guī)定服務(wù)器上的要調(diào)用的導(dǎo)出代理520。該導(dǎo)出標記造成建立一個廠家提供的類的實例(導(dǎo)出代理520對象)和調(diào)用該對象上的導(dǎo)出方法,以便規(guī)定在由被配置的工作站所要求的任何特性文件格式和/文件單元(組)下保存的工作站配置信息。
假定Applet1是某廠家為某種不和本簡檔管理系統(tǒng)兼容的現(xiàn)有終端提供的配置小應(yīng)用程序。該廠家還提供導(dǎo)出代理520。通過運行簡檔管理程序506,管理員就可配置該終端以在本系統(tǒng)中運行、對被配置的該終端設(shè)置語境、運行廠家提供的配置Applet1并配置該小應(yīng)用程序。當管理員保存該配置時,發(fā)送到服務(wù)器的信息中的一部分是標識該被配置終端的唯一標識符。典型地,它是該終端的介質(zhì)訪問控制(MAC)地址。簡檔管理器小服務(wù)程序514檢查某導(dǎo)出代理規(guī)定成保存。簡檔管理程序小服務(wù)程序514從一個被保存的說明需要該導(dǎo)出代理的偏好,對此進行檢查。該偏好用下述關(guān)鍵字值對XXXXEXPORT_AGENTXXXX={導(dǎo)出代理的全限定類名}的形式規(guī)定導(dǎo)出標記。
簡檔管理器小服務(wù)程序514調(diào)用導(dǎo)出代理的export(Contextcontext,config properties)方法以在服務(wù)器上從保存的偏好信息建立一個或多個文件。該專用的文件或多個文件是由包含在來自于Applet1的特性信息內(nèi)的終端的唯一標識符標識的。當以后引導(dǎo)該終端時,該終端利用它的唯一標識符以和簡檔管理系統(tǒng)無關(guān)的總是那樣做的方法,從服務(wù)器上的文件組522定位和檢索它的配置信息。
圖6示出在客戶計算機上運行的小應(yīng)用程序2。小應(yīng)用程序2可能是一個最終用戶小應(yīng)用程序,例如字處理程序。在任何事件下,小應(yīng)用程序2在需要時可訪問如在圖5的515處示出的API方法中的一些相同的方法。小應(yīng)用程序2利用裝入方法檢索偏好集,并利用保存方法保持可能由最終用戶改變的任何偏好。使能持久方法用和該用戶相等的語境初始化用于小應(yīng)用程序2的簡檔管理特性對象,并生成用于標識服務(wù)器上的偏好信息存儲單元的唯一關(guān)鍵字,如上面對管理員作出的說明那樣。
圖7示出用戶發(fā)出其桌面的情況。客戶機(700)上的用戶對其瀏覽器指點服務(wù)器上的桌面小應(yīng)用程序的URL并在步驟704發(fā)送報文http//Server/Desktop.html。由于Desktop.html是服務(wù)器保護的文件,故在706向客戶機上的web瀏覽器回送一個盤問。通過向用戶提問用戶ID和口令,客戶機上的web瀏覽器作出響應(yīng)。接著在708客戶機向服務(wù)器發(fā)送用戶ID和口令信息。在圖7的708處以黑體字示出用戶ID和口令以表示該信息是由web瀏覽器自己傳送的。本文其它處也利用命名法則以示意相同的含義。由于推測該用戶具有運行桌面小應(yīng)用程序的許可,故該請求會被承兌。
在從服務(wù)器向客戶機裝入桌面小應(yīng)用程序的代碼時,在客戶機和服務(wù)器之間存在一系列交互(未示出)。在712建立桌面對象并且開始執(zhí)行。該桌面對象需要它的偏好信息(即,配置信息)從而可為調(diào)用它的最終用戶裁剪桌面。為此,作為桌面對象的初始化處理的一部分,在714處該桌面建立一個“簡檔管理特性(profileManagementProperties)”對象P,該對象用于從服務(wù)器裝入、得到、高速緩存、設(shè)定和保存該桌面小應(yīng)用程序的用戶偏好信息的一份拷貝。該桌面對象接著在716進行API調(diào)用P.enablePersistence(desktopObject(applet))(P.使能永久(桌面對象(小應(yīng)用程序)),該調(diào)用在716的步驟1)用簡檔管理器小服務(wù)程序214的URL初始化“簡檔管理特性”對象P。該URL是從先前從服務(wù)器裝入的桌面小應(yīng)用程序的URL推出的?!昂啓n管理特性”對象P向簡檔管理器小服務(wù)程序214發(fā)送請求718以得到運行該桌面小應(yīng)用程序的用戶的語境。在該情況下,該語境由二部分組成,即語境名和語境類型,前者是該用戶的ID而后者在本情況下是“用戶”。簡檔管理器小應(yīng)用程序得到來自請求718的用戶ID并在719回送用戶語境。在716的步驟2,“簡檔管理特性”對象P被用運行桌面的用戶的語境初始化。在716的步驟3,“簡檔管理特性”對象P通過詢問該Java桌面對象P的全限定類名而為該桌面軟件生成一個唯一關(guān)鍵字。所有的Java對象都知道它們的類名。該唯一關(guān)鍵字和用戶語境信息組合,以提供一個數(shù)據(jù)庫212中的用于存儲該桌面小應(yīng)用程序的用戶專用偏好信息的唯一單元??梢允褂萌魏涡枰姆椒▉戆延扇薅惷陀脩粽Z境信息組成的串變換成數(shù)據(jù)存儲單元。接著,向簡檔管理器小服務(wù)程序214發(fā)送請求720,以得到為該用戶裁剪過的用于該桌面小應(yīng)用程序的偏好信息。語境和關(guān)鍵字作為請求720的一部分傳送,以標識被請求的偏好信息。在722,簡檔管理器小服務(wù)程序使用高速緩存在“簡檔管理特性”對象P604中的被請求的偏好信息,作出響應(yīng)。
在圖8中繼續(xù),在800桌面對象從它的“簡檔管理特性”對象P讀它的偏好信息,并開始相應(yīng)地更新桌面(即,它可能把屏幕色彩置成蘭色、得到有關(guān)圖符的位置的信息、等)。該桌面對象調(diào)用它的“簡檔管理特性”對象P上的某方法以得到用戶具有訪問許可的軟件的列表?!昂啓n管理特性”對象P在802請求該來自簡檔管理器小服務(wù)程序214的信息,在804該小服務(wù)程序用所請求的信息作為響應(yīng)。對于每個這樣的用戶能訪問的小應(yīng)用程序,該信息包括用戶便于使用的名、該小應(yīng)用程序的URL、用于該小應(yīng)用程序的圖符的URL等(桌面所需的用于在桌面上表示、裝入和發(fā)動該小應(yīng)用程序的信息)以及其它和本發(fā)明無關(guān)的供選用的材料。該信息存儲在“簡檔管理特性”對象P中,并回送到桌面對象。在806,該桌面對象利用該小應(yīng)用程序信息去建立用于這些小應(yīng)用程序的一個文件夾,并且生成一個為每個用戶可訪問的小應(yīng)用程序顯示各圖符以及用戶方便使用的名的窗口。
假定用戶在先前的桌面運行中,用戶拉出并去掉上面剛說明的文件夾中顯示的某些軟件的圖符。有可能從此刻起該用戶不再訪問這些從文件夾拉出的并在該桌面去掉的小應(yīng)用程序。然而,這些桌面對象通常是上一次運行期間保持下來的用戶偏好的一部分,并且仍應(yīng)在桌面上顯示。為了避免這種情況,桌面從它的“簡檔管理特性”對象P檢查它的偏好集以核查那些被配置成在窗口的外面出現(xiàn)的小應(yīng)用程序,其中該窗口是為了顯示用戶可以訪問的所有小應(yīng)用程序而生成的。圖8假定在所生成的小應(yīng)用程序窗口的外面只存在一個小應(yīng)用程序。若在小應(yīng)用程序窗口的外面存在多于一個的這樣的小應(yīng)用程序,則要對每個這樣的小應(yīng)用程序循環(huán)下述過程。在步驟810桌面對照來自服務(wù)器的用戶訪問的小應(yīng)用程序列表,核查每個在小應(yīng)用程序窗口外出現(xiàn)的小應(yīng)用程序。若該小應(yīng)用程序出現(xiàn)在該表中,則在810把該小應(yīng)用程序的圖符放在桌面上與以前相同的位置上。若該用戶不再訪問該小應(yīng)用程序,則在步驟814從桌面的偏好集中去掉該小應(yīng)用程序并且從“簡檔管理特性”對象P中去掉。若作為該處理的一部分去掉任何小應(yīng)用程序,則在步驟816桌面告訴“簡檔管理特性”對象P保存偏好集?!昂啓n管理特性”對象P向簡檔管理器小服務(wù)程序214發(fā)送帶著偏好、關(guān)鍵字和語境信息的請求818,以把新的偏好信息保存在數(shù)據(jù)庫212中。服務(wù)器把響應(yīng)820發(fā)送到“簡檔管理特性”對象P,把該請求已成功完成通知對象P。
圖9示出管理員運行配置小應(yīng)用程序以便為其它用戶或用戶組配置用于某小應(yīng)用程序的偏好集的情況。請理解這里討論的原則也廣泛地應(yīng)用于終端或終端組的配置??蛻魴C900上的管理員對其web瀏覽器指點要運行的服務(wù)器上的簡檔管理器小應(yīng)用程序214。在904向服務(wù)器發(fā)送該URL。由于ProfileManager.html是服務(wù)器保護的一個文件,就向該客戶機上的web瀏覽器回送一個盤問906。通過向管理員提問用戶ID和口令,web瀏覽器作出響應(yīng)。在報文中包含用戶ID和口令信息下,接著在908向服務(wù)器重復(fù)得到ProfileManager.html的請求。由于假定該管理員具有運行簡檔管理程序的權(quán)限,故該請求被承兌并在910向管理員終端下載簡檔管理器小應(yīng)用程序。在從服務(wù)器向該客戶機裝入簡檔管理器小應(yīng)用程序的代碼時,在客戶機和服務(wù)器之間存在一系列交互(未示出)。在步驟912建立簡檔管理程序?qū)ο蟛㈤_始執(zhí)行。
簡檔管理程序使用ProfileManagementProperties-nonContextFloating(“簡檔管理特性-無語境浮動”)代替常規(guī)的“簡檔管理特性”對象。它具有和“簡檔管理特性”對象相同的行為,但有一個例外當裝入和保存偏好集時,它們是對和從運行該簡檔管理程序的管理員的語境裝入和保存的,而不是對和從管理員正在配置的語境(即,單用戶或用戶小組)裝入和保存的。
簡檔管理程序?qū)ο笮枰钠眯畔?即配置信息)從而它可為調(diào)用它的管理員裁剪簡檔管理程序。為此,作為簡檔管理程序的初始化處理的一部分,簡檔管理程序在步驟914建立一個“簡檔管理特性-無語境浮動”對象P_NCF,該對象用于為該簡檔管理器小應(yīng)用程序從服務(wù)器裝入、得到、高速緩存、設(shè)定和保存管理員的偏好信息的一份拷貝。接著該簡檔管理程序?qū)ο笳{(diào)用P_NCF.enablePersistence(profileManagerbject(applet))(P_NCF.使能永久(簡檔管理程序?qū)ο?小應(yīng)用程序))),在916的步驟1該調(diào)用用簡檔管理器小服務(wù)程序214的URL來初始化“簡檔管理特性-無語境浮動”對象P_NCF。該URL是從簡要管理器小應(yīng)用程序的URL導(dǎo)出的。“簡檔管理特性-無語境浮動”對象P_NCF向簡檔管理器小服務(wù)程序214發(fā)送請求以得到管理員的語境名(ID)和語境類型(用戶)。簡檔管理器小服務(wù)程序從該請求(918)得到管理員的ID。web瀏覽器在報文中和由“簡檔管理特性-無語境浮動”對象P_NCF發(fā)送的信息一起傳送管理員ID和口令。在916的步驟2用運行該應(yīng)用的管理器的語境來初始化“簡檔管理特性-無語境浮動”對象P_NCF。在916的步驟3,通過詢問Java profileManagerObject對象(按使能永久調(diào)用中的一個參數(shù)傳送)的全限定類名(即,profileManagerObject.get Class().get Name()),“簡檔管理特性-無語境浮動”對象P_NCF為該簡檔管理器小應(yīng)用程序生成一個唯一關(guān)鍵字。和管理員的語境信息組合的該唯一關(guān)鍵字被變換,以便規(guī)定數(shù)據(jù)庫212中的用于該簡檔管理器小應(yīng)用程序的管理員專用偏好信息的唯一單元。
對簡檔管理器小應(yīng)用程序214發(fā)送請求(922)以得到為管理員配置的簡檔管理器小應(yīng)用程序剪裁的偏好信息。該請求(922)包括用于標識適當?shù)钠眯畔⒌倪m當語境名、類型和關(guān)鍵字信息。簡檔管理器小服務(wù)程序214用“簡檔管理特性-無語境浮動”對象P_NCF中高速緩存的所請求的偏好信息(924)應(yīng)答。簡檔管理程序從“簡檔管理特性-無語境浮動”讀出它的偏好信息并且相應(yīng)地更新它(即,例如把它的背景顏色設(shè)定為蘭色)。
操作在圖10繼續(xù)。在1002,簡檔管理程序從簡檔管理器小服務(wù)程序214請求有關(guān)現(xiàn)有的用戶、用戶組以及軟件的信息,并在簡檔管理程序配置窗口的左屏面建立樹。管理員的左屏面的例子請參見圖13至24。在此刻1004,管理員通過在左屏面樹上點擊某用戶或某組,選擇希望用來配置的語境。通過調(diào)用P_NCF.set Context(被選語境),簡檔管理程序為各“簡檔管理特性”對象設(shè)定語境。見圖13的為“用戶組”的選定語境,其代表所有的系統(tǒng)用戶的組,或者見圖18的選取的“開發(fā)”的組語境,或者圖21的選取的“colleend”用戶語境。接著,在步驟1006,管理員從服務(wù)器上的所有小應(yīng)用程序的列表中選擇一個要配置的小應(yīng)用程序。參見圖17的選擇某小應(yīng)用程序的一個例子。在步驟1008,管理員接著點擊“運行/定制”按鈕以運行該選來配置的小應(yīng)用程序。該小應(yīng)用程序可能是獨立于最終用戶小應(yīng)用程序的配置小應(yīng)用程序,或者可能是最終用戶小應(yīng)用程序本身。在1009和1011從服務(wù)器請求和裝入所選定的小應(yīng)用程序。在步驟1010,建立并開始執(zhí)行配置小應(yīng)用程序?qū)ο笠陨伤摹昂啓n管理特性”對象P。
如果假定該小應(yīng)用程序是獨立于最終用戶小應(yīng)用程序的配置小應(yīng)用程序,則在步驟1012該小應(yīng)用程序調(diào)用p.enablepersistence(configAppletObject,fullyQualifiedClassNameOfAppletBeingConfigured)(p.使能永久(配置小應(yīng)用程序?qū)ο?,被配置的小?yīng)用程序的全限定類名)。另一方面,若該小應(yīng)用程序是用戶小應(yīng)用程序,而不是獨立的配置小應(yīng)用程序,則該調(diào)用會是p.enablePersistence(endUserAppletObject)(p.使能永久(最終用戶小應(yīng)用程序?qū)ο?),因為它希望配置它自己的偏好信息而不是用于別的小應(yīng)用程序的偏好信息?!昂啓n管理特性”對象P已經(jīng)知道現(xiàn)行語境,因為后者已由管理員通過管理員的“簡檔管理特性-無語境浮動”對象PM_NCF事先設(shè)定。當在簡檔管理程序的“簡檔管理特性-無語境浮動”對象PM_NCF上調(diào)用enablePersistence時,先生成簡檔管理器小服務(wù)程序214的單元。在配置小應(yīng)用程序的情況下,不需要生成該小應(yīng)用程序的唯一關(guān)鍵字,因為它在enablePersistence調(diào)用時被該配置小應(yīng)用程序傳送給“簡檔管理特性”對象P。
在步驟1014,配置小應(yīng)用程序把帶有其“簡檔管理特性”對象P的自己注冊為語境改變監(jiān)聽程序。如前面所討論的那樣,若管理員做出語境改變,則這允許小應(yīng)用程序的“簡檔管理特性”對象通知該小應(yīng)用程序,從而在無需終止該小應(yīng)用程序和在該語境中重新發(fā)動下,該小應(yīng)用程序可為新語境裝入偏好信息并更新它的圖形用戶接口以反映新的配置信息。
操作在圖11中繼續(xù)。在步驟1104,該配置小應(yīng)用程序告訴“簡檔管理特性”對象P為正被配置的小應(yīng)用程序而從當前語境裝入偏好集。向簡檔管理器小服務(wù)程序214發(fā)送請求1105以便為正被配置的小應(yīng)用程序得到為管理員先前選擇的語境的語境裁剪的偏好信息。該請求1105包括適當?shù)恼Z境名(管理員已選擇的語境)、語境類型(用戶、用戶組或所有用戶組中適當者)和關(guān)鍵字信息以規(guī)定適當偏好信息的單元。在1106簡檔管理器小服務(wù)程序214用所請求的偏好信息應(yīng)答,該信息被高速緩存在“簡檔管理特性”對象P中。該配置小應(yīng)用程序從“簡檔管理特性”對象P得到偏好集并相應(yīng)地更新它的圖形用戶接口。
管理員在1107配置該小應(yīng)用程序,并且例如通過點擊該小應(yīng)用程序提供的“保存”按鈕,保存修改后的偏好集。作為該操作的結(jié)果,該配置小應(yīng)用程序調(diào)用其“簡檔管理特性”對象P上的save()方法?!昂啓n管理特性”對象P向簡檔管理器小服務(wù)程序214發(fā)送偏好集、正被配置的小應(yīng)用程序的唯一關(guān)鍵字以及規(guī)定現(xiàn)行語境的信息。簡檔管理器小服務(wù)程序在數(shù)據(jù)庫212中的由語境及關(guān)鍵字規(guī)定的單元上存儲偏好信息。
步驟1108是該配置小應(yīng)用程序仍在運行時管理員改變語境的一個例子。管理員通過點擊某用戶或某用戶組選擇新的語境(參見圖18的管理員左屏幕屏面中新語境的各種例子)。作為語境改變的結(jié)果,簡檔管理程序506通過調(diào)用P_NCF.setContext(selectedNEWcontext)(P_NCF.設(shè)定語境(被選的新語境))向“簡檔管理特性”對象P(510)發(fā)送一個設(shè)定語境消息,這進而導(dǎo)致對象P通過重裝入特性API515向事件監(jiān)聽程序512通知語境改變。在步驟1112,事件監(jiān)聽程序512進行l(wèi)oad()(裝入方法)調(diào)用以檢索用于該新語境的偏好集,并在步驟1118用該新的偏好集更新對象P?,F(xiàn)在管理員若需要就可著手修改用于該語境的新偏好集,并若需要就可保存它們,以及若需要就可如上面說明按新的語境改變繼續(xù)進行。
剩余的圖12至24示出在運行簡檔管理程序206的各部分時的管理員工作站的實際屏幕瞬態(tài)圖。
在圖12中示出主配置窗口1200。該窗口左側(cè)上的樹圖屏面1202描述作為服務(wù)器上幾種可使用的服務(wù)中的一種的簡檔管理1204。當如圖12中所示選擇該條目1204時,主窗口的右屏面1205顯示對簡檔管理服務(wù)的歡迎信息。利用諸如1208的展開圖符和收縮圖符控制左屏幕中某條目下的各子條目的出現(xiàn),若存在子條目的話。1208中的“十”稱為“展開圖符”,并表示在“簡檔管理”之下存在子條目。管理員通過點擊展開圖符1208可顯示這些子條目,然后該展開圖符變成“收縮圖符”(“-”)。
圖13示出圖12的簡檔管理條目1208的展開,這造成在圖13中顯示三個缺省子條目-“小應(yīng)用程序”1300、“用戶組”1302和“用戶”1304。展開圖符表明這些條目還可展開?!靶?yīng)用程序”1300允許管理員定義服務(wù)器202上可使用的用戶小應(yīng)用程序,“用戶組”1302允許管理員建立并擴充圖3的用戶組樹和設(shè)定組偏好集?!坝脩簟?304允許管理員建立新用戶和設(shè)定他們的偏好集或?qū)ΜF(xiàn)有用戶改變偏好集。在圖13的例子中,選擇“小應(yīng)用程序”1300。當選擇該條目時,窗口右側(cè)屏面1305顯示一個系統(tǒng)已定義過的用戶小應(yīng)用程序的列表1306。在1308處示出1306中選定的應(yīng)用的各屬性。通過選擇1306中的<新>,管理員定義一個新小應(yīng)用程序并且輸入1308中要求的名字和位置信息。如所示在1306中選擇一個已有的小應(yīng)用程序“數(shù)據(jù)庫資源管理程序”。在1308,“小應(yīng)用程序名”字段顯示該小應(yīng)用程序名?!癠RL”(統(tǒng)一資源定位符)字段顯示服務(wù)器202上的該小應(yīng)用程序的內(nèi)聯(lián)網(wǎng)或因特網(wǎng)web地址。字段“html文件的完整路徑”顯示服務(wù)器202的盤目錄結(jié)構(gòu)中的該小應(yīng)用程序的目錄路徑及文件名。字段“全限定類名”顯示該小應(yīng)用程序的全限定類名。字段“圖符URL”顯示用來為用戶桌面上的該小應(yīng)用程序生成一個圖符的圖象文件的web地址。其余字段用于選用信息,在調(diào)用時軟件可能需要選用信息。命令按鈕1310,“從文件輸入小應(yīng)用程序表”,允許管理員把小應(yīng)用程序的定義添加到來自某現(xiàn)有正文文件的現(xiàn)有表1306上。當點擊按鈕1310時,彈出圖14中示出的窗口,該窗口允許管理員輸入包含著要添加的小應(yīng)用程序定義的正文文件的路徑以及文件名。為了保存所有待決改變,管理員點擊“文件”1312并接著“點擊”保存(未示出)。
在左屏面中,“各用戶組”條目1302對應(yīng)于圖3的AllUsers組(這里可互換的使用“各用戶組”和“AllUsers”)。圖15示出在選擇“各用戶組”條目1302時管理員站的右屏面。在圖15中,示出右側(cè)的筆記本屏面,它包含三個標記-成員標記1514、子組標記1516和小應(yīng)用程序許可標記1518。在圖15中選擇成員標記。成員屏面包括一個已對系統(tǒng)定義的所有成員的登錄標識表1520。為了建立一個新用戶(他會自動地得到目前選定的組語境“用戶組”中的成員資格),管理員從表1520選擇<新>,向該表右邊的各項目字段1522輸入適當?shù)男畔?,并接著點擊“建立”按鈕1522。當從表1520中選擇某已有成員時,在1522顯示先前為該用戶存儲的屬性。這些屬性包括該選定成員的全名、該成員的系統(tǒng)ID、口令以及任何需要的注解。除了ID之外的這些屬性可通過點擊“修改”按鈕1524編輯和提出修改(但不被保存),或者通過點擊“刪除”按鈕1526徹底地從該系統(tǒng)中去掉該用戶。通過選擇表1520中的該項目并點擊“取消”按鈕1528可去掉任何待決的改變。
圖16示出當選擇“子組”標記1516時所顯示的管理員右屏面。子組表1620示出各個是在左屏面中選擇的條目(本例中為“用戶組”)的子組的組。從而,表1620顯示“AllUsers”組的所有直接子組。在左屏面中,展開“各用戶組”。表1620中示出的各子組也是左屏面中的“各用戶組”之下的展開條目。在表1620中,狀態(tài)字段示出各個子組的當前狀態(tài),例如“!刪除”、“!修改”和“!建立”。表1620中的空狀態(tài)字段表示該子組存在并且沒有要保存的待決行動。符號“!”表示該狀態(tài)是待決的(尚未保存)。在1622中出現(xiàn)表1620中被選子組的各屬性。這些屬性包括子組名和關(guān)于該子組的所需注解。為了建立一個新子組,管理員從表1620選擇<新>,在1622中輸入子組名和所需注解并點擊“建立按鈕”1628。接著在表1620中出現(xiàn)一個“!建立<子組名>”的條目,作為一個待決的行為。為了保持所有待決行為,管理員點擊頂菜單欄中的“文件”按鈕并接著點擊“保存”按鈕(未示出)。
圖17示出當選擇小應(yīng)用程序許可標記1518時所顯示的右屏面。表1720示出已對該系統(tǒng)定義的所有小應(yīng)用程序的所有名,并且示出分配給左屏面中所選擇的組或子組(當前“語境”)中的各個小應(yīng)用程序的許可狀態(tài)(允許或拒絕訪問)。如別的筆記本頁面所說明的那樣,驚嘆號表示所描繪的狀態(tài)是一個有待保存的改變。在圖17中,在左屏面中示出的樹中選擇組“各用戶組”,它對應(yīng)于圖3中所示的“AllUsers”組。由于系統(tǒng)的所有用戶都具有“各用戶組”組中的資格,故表1720為該系統(tǒng)中定義的每個小應(yīng)用程序示出所有系統(tǒng)用戶的全局缺省許可。例如,對于“AllUsers”組,小應(yīng)用程序“數(shù)據(jù)庫資源管理程序”的缺省許可狀態(tài)是“允許”(意味著準許訪問);類似地,所有用戶對小應(yīng)用程序TFTP的缺省許可狀態(tài)是“拒絕”(拒絕訪問)。通過在表1720中選擇某小應(yīng)用程序并點擊“準許組訪問”按鈕1730或者點擊“拒絕組訪問”按鈕1732,管理員可改變該小應(yīng)用程序的許可狀態(tài)。此外,和選定語境下的小應(yīng)用程序的許可狀態(tài)無關(guān),管理員可從1720選擇某小應(yīng)用程序并點擊“運行/定制”按鈕1734以便在該選定語境下執(zhí)行該用戶小應(yīng)用程序。接著先前示出用于該當前語境的筆記本的屏面部分變成由正執(zhí)行的該用戶小應(yīng)用程序所占據(jù)。若該用戶小應(yīng)用程序恰好是用于別的軟件的配置小應(yīng)用程序,則管理員可保持軟件偏好集(通過該配置小應(yīng)用程序?qū)υ摬僮魈峁┑奈ㄒ还δ?,該偏好集將按該軟件的用于該選定語境的缺省偏好集來保存。若該小應(yīng)用程序是一個最終用戶小應(yīng)用程序,則這些操作是相同的,不同之處只是該最終用戶小應(yīng)用程序裝入和保存它自己的而不是用于另一個軟件的偏好集。
圖18示出“各用戶組”之下的管理員左屏面子組樹的完全展開。直接在“各用戶組”的下面,存在二個子組,即,一個不能去掉的缺省子集“管理員小組”和一個由管理員定義的子組“IBM”?!癐BM”子集也已經(jīng)被展開并包含三個子組“硬件”、“服務(wù)”和“軟件”?!败浖弊咏M已被展開并至少包括一個稱為“開發(fā)”的子組?!伴_發(fā)”子組至少包括一個稱為“NCoD”的子組。子組“NCoD”包括一些子組,例如一個不具有子女的“ConfigFW58”。而且在該例子中,在展開樹上選擇子組“開發(fā)”。由于“開發(fā)”不處于樹形層次(“AllUsers”組)的頂部,右屏面中示出的簿式視窗和選擇“各用戶組”時的圖15的右屏面有些不同,因為所有用戶不自動地都是“開發(fā)”的成員,但他們都是“各用戶組”的成員。表1820顯示所有的系統(tǒng)成員的登錄系統(tǒng)ID。表1820中每個用戶ID旁邊的狀態(tài)示出該用戶是否擁有“開發(fā)”子組中的成員資格?!笆恰北硎驹撚脩羰恰伴_發(fā)”子組的成員,“否”表示該用戶不是“開發(fā)”子組的成員,而“繼承的”表示該用戶通過屬于該樹下方的“開發(fā)”的至少一個子組而繼承“開發(fā)”組內(nèi)的成員資格。通過選擇表1820中的用戶并接著點擊“添加到組中”按鈕1836或“從組中去掉”按鈕1838,管理員修改該用戶的在某子組內(nèi)的成員資格狀態(tài)。若管理員希望建立一個新的系統(tǒng)用戶或者修改或刪除某現(xiàn)有成員,則管理員點擊“建立/修改/刪除用戶”按鈕1840。該動作建立圖19中示出的簿視窗頁面。圖19的右屏面和圖15的右屏面類似,并允許管理員通過選擇表1920中的“新”和點擊“建立”按鈕建立新的系統(tǒng)用戶。類似地,通過選擇表1920中的適當用戶和點擊適當按鈕“修改”或“刪除”,管理員可修改或刪除現(xiàn)有的系統(tǒng)用戶。在任何子組語境(例如,“開發(fā)”)下建立的用戶不僅獲得“各用戶組”中所需的成員資格,還自動地是選定子組的成員。通過點擊右屏面頂菜單欄中的“文件”并接著點擊“保存”(未示出),保存系統(tǒng)用戶表的改變。
圖20示出一種直接,而不是通過圖19中示出的組和子組路由,得到系統(tǒng)用戶表以進行編輯的方式。為了得到圖20,管理員例如選擇圖13的左屏面中的“用戶”1304。然后在圖20的右屏面中,管理員可以不在組或子組的語境下,如已討論的那樣,建立新用戶和修改、刪除已有用戶。
在圖21中,管理員希望直接在與其ID為“colleend”的用戶對應(yīng)的信息上工作。為此管理員例如展開圖21的左屏面的“用戶”并接著選擇“colleend”,如所示。接著出現(xiàn)專用于colleend的系統(tǒng)信息的右屏面。該右屏面包括三個標記。第一標記“用戶信息”是由缺省選擇的。在該標記下,管理員可修改與colleend有關(guān)的名字、ID、口令和注解。
圖22示出當管理員選擇第二標記“組成員資格”時的右屏面。表2220示出colleend為其一員的所有子組。該表中示出的各子組是按對colleend的子組優(yōu)先級次序的。通過選擇某子組并根據(jù)需要利用表2220右方的向上或向下箭頭而在表中向上或向下移動該選定的子組,管理員可改變colleend的子組優(yōu)先級。若管理員點擊圖22中的“添加/去掉組成員資格”按鈕2242,則右屏面示出圖23的內(nèi)容。圖23的右屏面允許管理員修改colleend是其一員的各子組。通過點擊與某所希望的子組對應(yīng)的適當?shù)目?,管理員進行修改。若該框是空白的(意味colleend目前不是成員),則對該框添加選擇標記以把colleend包含到該子組中。相反,若某子組框已被選擇,則在框上點擊清除該選擇標記并從該子組去掉colleend。
圖24示出當管理員選擇圖22的小應(yīng)用程序許可標記時的右屏面。在該右屏面中,表2420顯示系統(tǒng)中定義的所有小應(yīng)用程序。管理員可通過選擇表2420中的某小應(yīng)用程序并接著點擊“準許用戶訪問”按鈕2430,允許colleend訪問該小應(yīng)用程序;或者可通過點擊“拒絕用戶訪問”按鈕2432,對colleend拒絕訪問。通過點擊“運行/定制”按鈕2434,管理員還可在colleend的語境下發(fā)動某小應(yīng)用程序。當這樣做時,表2420中被選中的小應(yīng)用程序被發(fā)射到右屏面。然后管理員可修改該小應(yīng)用程序允許的任何偏好,并以該小應(yīng)用程序提供的方式保存偏好集。這處的一種典型情況是管理員發(fā)動某配置小應(yīng)用程序,接著填寫各個偏好字段。然而,若不為某用戶小應(yīng)用程序提供獨立配置,則管理員可在一個用戶的語境下發(fā)動該用戶小應(yīng)用程序并從該用戶小應(yīng)用程序設(shè)定偏好集。此處的一種典型情況是管理員選擇某組或某用戶語境,接著如上面所述發(fā)動該用戶小應(yīng)用程序。接著管理員典型地從某選擇菜單修改偏好集并按該用戶提供的任何方式保存偏好集。例如,典型地,當關(guān)閉該選擇對話時保存用戶偏好值,或者該用戶小應(yīng)用程序可提供別的保存偏好集的方法。在任何情況下,由于本例中管理員在colleend的語境下運行該小應(yīng)用程序,所以仿佛colleend通過運行小應(yīng)用程序直接進入那樣,在服務(wù)器上保持管理員通過用戶小應(yīng)用程序建立的偏好集。
這些圖中未示出用戶可修改某些和某用戶小應(yīng)用程序有關(guān)的偏好的情況。例如,用戶小應(yīng)用程序可能允許用戶選擇背景顏色或者字形及字形大小,從而當該用戶小應(yīng)用程序在用戶桌面上執(zhí)行時每個系統(tǒng)用戶可在某種程度上個體化該小應(yīng)用程序。在這種情況下,以管理員運行該用戶小應(yīng)用程序時的相同方式保存用戶修改過的偏好。不過一種差異是,管理員可在組的語境下運行用戶小應(yīng)用程序以設(shè)定偏好集,而用戶只能為他們各自的語境而影響偏好集。
權(quán)利要求
1.在由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成的網(wǎng)絡(luò)系統(tǒng)中,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,一種管理用于在用戶站上執(zhí)行的各應(yīng)用的用戶配置偏好集的方法,所述方法包括步驟在一個樹形層次中表示該系統(tǒng)的所有用戶,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組中的選定用戶,每個節(jié)點包含一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好集;對每個是多個組的成員的用戶分配一個組優(yōu)先次序;對于任何請求執(zhí)行某選定應(yīng)用的給定用戶,確定該用戶的組優(yōu)先次序;以及通過以下步驟從該樹建立配置偏好集從組優(yōu)先級表確定可從其中為該選定應(yīng)用導(dǎo)出一組偏好的第一組;借助從AllUsers組節(jié)點到該第一組的在樹上移動,把各偏好匯合到用于該選定應(yīng)用的一個集合中;收集用于該選定應(yīng)用的每個節(jié)點處的各偏好;以及隨著越過每個節(jié)點,用在該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好,修改所收集到的偏好。
2.在由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成的網(wǎng)絡(luò)系統(tǒng)中,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,一種管理用于在用戶站上執(zhí)行的各應(yīng)用的用戶配置偏好集的裝置,所述設(shè)備包括用于在一個樹形層次中表示該系統(tǒng)的所有用戶的裝置,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組中的選定用戶,每個節(jié)點包含一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好集;用于對每個是多個組的成員的用戶分配一個組優(yōu)先次序的裝置;用于對任何請求執(zhí)行某選定應(yīng)用的給定用戶,確定該用戶的組優(yōu)先次序的裝置;以及用于通過以下步驟從該樹建立配置偏好集的裝置從組優(yōu)先級表確定可從其中為該選定應(yīng)用導(dǎo)出一組偏好的第一組;借助從AllUsers組節(jié)點到該第一組的在樹上移動,把各偏好匯合到用于該選定應(yīng)用的一個集合中;收集用于該選定應(yīng)用的每個節(jié)點處的各偏好;以及隨著越過每個節(jié)點,用在該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好,修改所收集到的偏好。
3.一種存儲在計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品,用于當在計算機上運行時,在網(wǎng)絡(luò)系統(tǒng)中實現(xiàn)一種管理用于在用戶站上執(zhí)行的各應(yīng)用的用戶配置偏好的方法,所述網(wǎng)絡(luò)系統(tǒng)由內(nèi)連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)構(gòu)成,其中該服務(wù)器存儲多個用于下載到用戶站的用戶應(yīng)用,所述方法包括步驟在一個樹形層次中表示該系統(tǒng)的所有用戶,該樹形層次由包含所有系統(tǒng)用戶的一個AllUsers組節(jié)點和多個子組節(jié)點組成,每個子組節(jié)點包含一些屬于由該子組節(jié)點代表的組中的選定用戶,每個節(jié)點包含一些系統(tǒng)上可得到的選定應(yīng)用的配置偏好集;對每個是多個組的成員的用戶分配一個組優(yōu)先次序;對于任何請求執(zhí)行某選定應(yīng)用的給定用戶,確定該用戶的組優(yōu)先次序;以及通過以下步驟從該樹建立配置偏好集;從組優(yōu)先級表確定可從其中為該選定應(yīng)用導(dǎo)出一組偏好的第一組;借助從AllUsers組節(jié)點到該第一組的在樹上移動,把各偏好匯合到用于該選定應(yīng)用的一個集合中,收集用于該選定應(yīng)用的每個節(jié)點處的各偏好;以及隨著越過每個節(jié)點,用在該節(jié)點處為該選定應(yīng)用規(guī)定的各偏好,修改所收集到的偏好。
全文摘要
在帶有一個互連著一個服務(wù)器和多個用戶站的網(wǎng)絡(luò)的系統(tǒng)中,系統(tǒng)管理員按一個層次來建立系統(tǒng)的各用戶或各用戶組、各終端和各終端組的模型,并且分別為每個組和每個用戶設(shè)定桌面和用戶應(yīng)用偏好集。對于選定的組語境,比方說該系統(tǒng)的所有用戶組或者代表所有用戶的組下面的某子組語境,為選定的用戶應(yīng)用而確定缺省偏好集。接著根據(jù)在該選定組下具體規(guī)定的各偏好,修改該缺省集。還可根據(jù)專屬于該用戶的一組偏好,再次修改這些偏好。
文檔編號H04L29/08GK1292965SQ9881401
公開日2001年4月25日 申請日期1998年12月21日 優(yōu)先權(quán)日1998年5月5日
發(fā)明者小明特·菲爾莫爾·海斯 申請人:國際商業(yè)機器公司