欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用分布式桌面包恢復(fù)桌面組件的系統(tǒng)和方法

文檔序號(hào):6422619閱讀:247來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):使用分布式桌面包恢復(fù)桌面組件的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于恢復(fù)桌面組件的系統(tǒng)和方法。具體地,本發(fā)明涉及使用自包含(self-contained)包數(shù)據(jù)從分布式計(jì)算機(jī)恢復(fù)桌面組件的系統(tǒng)和方法。
背景技術(shù)
現(xiàn)今的現(xiàn)代計(jì)算機(jī)軟件系統(tǒng)常常是以分布式方式組織于整個(gè)組織之內(nèi)的企業(yè)系統(tǒng)。該組織中的各人員使用依賴(lài)于該用戶的職位描述的計(jì)算機(jī)系統(tǒng)擔(dān)當(dāng)不同的角色。在銀行業(yè)例子中,一位用戶可能是出納員,并因此需要出納員應(yīng)用,以便為銀行客戶提供服務(wù)。另一位用戶可能是信貸員,并需要訪問(wèn)信貸員應(yīng)用,以為申請(qǐng)貸款的客戶提供服務(wù)。第三位用戶可能是分支管理人員,并需要訪問(wèn)用于管理該銀行分支的計(jì)算機(jī)功能。各組織常常期望有集中管理它們的分布式共享系統(tǒng)的能力。
傳統(tǒng)的計(jì)算機(jī)系統(tǒng)通常被設(shè)計(jì)為或者通過(guò)每臺(tái)計(jì)算機(jī)而提供了所有必需的功能例如通過(guò)使用計(jì)算機(jī)網(wǎng)絡(luò)訪問(wèn)所需的功能,或者該系統(tǒng)設(shè)計(jì)為各工作站擔(dān)當(dāng)特定的角色并因而由特定用戶或用戶組使用。這在多個(gè)用戶使用同一客戶端計(jì)算機(jī)系統(tǒng)的組織中引起了挑戰(zhàn)。在該銀行業(yè)例子中,可能有若干出納員共享同一客戶端計(jì)算機(jī)系統(tǒng),這取決于班次、星期幾、或哪個(gè)出納員恰好被指派到特定工作站。
如果所有的組織功能從同一工作站提供,則未被授權(quán)執(zhí)行特定功能的用戶可能無(wú)意地或故意地執(zhí)行他們未被授權(quán)的功能。例如,一位出納員可能無(wú)意地或故意地執(zhí)行信貸員或分支管理人員功能,如果該功能從該出納員的工作站可用的話。傳統(tǒng)系統(tǒng)處理授權(quán)的一種方式是通過(guò)安裝軟件組件來(lái)處理每一個(gè)工作站上的每一個(gè)職位角色,但根據(jù)用戶注冊(cè)(login)來(lái)限制訪問(wèn)。然而,該方案的挑戰(zhàn)在于每個(gè)工作站需要接收任何新的或改進(jìn)的軟件組件,以便對(duì)于任何可能從任何給定工作站需要這樣的功能的用戶可用。該方案的另一個(gè)挑戰(zhàn)是每一臺(tái)工作站都必須更改。
用戶所執(zhí)行的某些功能可能是客戶端-服務(wù)器功能,而其他功能可能涉及使用該用戶的工作站上已安裝的軟件系統(tǒng)。該用戶的工作站上已安裝的軟件系統(tǒng)可包括遺留軟件應(yīng)用和為特定操作系統(tǒng)環(huán)境而編寫(xiě)的其他軟件。
提供對(duì)包括執(zhí)行特定功能所需的組件的自包含桌面包的集中管理的系統(tǒng)和方法在對(duì)整個(gè)組織之中執(zhí)行的計(jì)算功能的組織和管理方面是有用的。使用集中創(chuàng)建和管理的組件的挑戰(zhàn)是由中央管理員所創(chuàng)建的角色的增加的價(jià)值和在中央管理員所維護(hù)的文件遭到損壞時(shí)對(duì)該組織的潛在損失。
因此,需要一種允許中央管理員恢復(fù)先前發(fā)送到位于整個(gè)組織內(nèi)的服務(wù)器和客戶端的組件文件的系統(tǒng)和方法。另外,需要一種唯一標(biāo)識(shí)組件文件,以便標(biāo)識(shí)各組件以及這些組件的多個(gè)版本的系統(tǒng)和方法。

發(fā)明內(nèi)容
已發(fā)現(xiàn),使用集中管理桌面包的系統(tǒng)和方法解決了上述挑戰(zhàn)。該系統(tǒng)允許恢復(fù)先前發(fā)送到位于整個(gè)組織的服務(wù)器和客戶端的組件文件。
管理員將應(yīng)用指派給用戶和工作站。管理員選擇特定職位角色所需的桌面組件,并將這些組件打包到自包含桌面包文件中。自包含桌面包被發(fā)送給正使用特定工作站的用戶。系統(tǒng)識(shí)別已指派給用戶的一個(gè)或多個(gè)角色,并將識(shí)別出的角色與已指派給工作站的一個(gè)或多個(gè)角色匹配。對(duì)于該工作站和用戶均允許的角色能夠由正使用該工作站的用戶所使用。
在一個(gè)實(shí)施例中,將組件打包到不同組自包含桌面包中,每一個(gè)包對(duì)應(yīng)于不同的角色。在銀行例子中,將對(duì)用戶所擔(dān)當(dāng)?shù)拿恳粋€(gè)銀行角色(諸如出納員、信貸員和分支管理人員)創(chuàng)建不同的桌面包。這些自包含桌面包中的每一個(gè)包括執(zhí)行相應(yīng)功能所需的組件。例如,用于操作收款機(jī)的桌面組件應(yīng)包括在出納員包中,而用于訪問(wèn)銀行的信貸應(yīng)用軟件的桌面組件應(yīng)包括在信貸員包中。將共用于多個(gè)角色的組件包括在需要它們的每一個(gè)包中。例如,用于訪問(wèn)客戶帳戶的組件可包括在出納員和信貸員包中。
將自包含桌面包傳送或“發(fā)布”到服務(wù)器。服務(wù)器又向客戶端提供這些自包含桌面包。這些包和包括在這些包中的組件包括用于標(biāo)識(shí)這些包和組件的唯一標(biāo)識(shí)符。此外,維護(hù)一個(gè)詳述包括在每一個(gè)自包含桌面文件中的各個(gè)組件的清單(manifest)。
當(dāng)在管理員的計(jì)算機(jī)系統(tǒng)發(fā)生諸如火災(zāi)或驅(qū)動(dòng)器故障的災(zāi)難事件時(shí),管理員從包先前所傳送到的服務(wù)器檢索自包含桌面文件。管理員將從自包含桌面文件中拆出的組件重新增加到組件庫(kù)中。管理員使用清單確定是否需要向其他服務(wù)器檢索其他的自包含包文件。
上面的描述是概述,因此包含必要的簡(jiǎn)化、一般化和省略的細(xì)節(jié);因此,本領(lǐng)域的技術(shù)人員將理解,該概述只是示例性的,而不是要以任何方式進(jìn)行限制。僅由權(quán)利要求所定義的本發(fā)明的其他方面、創(chuàng)造性特征和優(yōu)點(diǎn)將在下面列出的非限制性詳細(xì)描述中變得顯而易見(jiàn)。


通過(guò)參照附圖,可更好地理解本發(fā)明,且其眾多目的、特征和優(yōu)點(diǎn)對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)是顯而易見(jiàn)的。不同附圖中的相同參考標(biāo)號(hào)的使用表示近似或等同的項(xiàng)目。
圖1是使用自包含桌面的計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)圖;圖2是在提供自包含桌面中所包括的組件的方框圖;圖3是示出為提供自包含桌面而采取的管理員步驟的高級(jí)流程圖;圖4是示出為建立特定地點(diǎn)而采取的管理員步驟的流程圖;圖5是示出為建立用戶而采取的管理員步驟的流程圖;圖6是示出為建立工作站而采取的管理員步驟的流程圖;圖7是示出為建立應(yīng)用擴(kuò)展而采取的管理員步驟的流程圖;圖8是示出為建立應(yīng)用引用而采取的管理員步驟的流程圖;圖9是示出為建立自包含桌面而采取的管理員步驟的流程圖;
圖10是示出服務(wù)器為向客戶端傳遞自包含桌面而采取的步驟的流程圖;圖11是管理員為建立新的地點(diǎn)而使用的屏幕的屏幕布局;圖12是管理員為管理給定地點(diǎn)的桌面和機(jī)器而使用的屏幕的屏幕布局;圖13是管理員為建立新用戶而使用的屏幕的屏幕布局;圖14是管理員為建立可用作一個(gè)或多個(gè)自包含桌面內(nèi)的組件的應(yīng)用而使用的屏幕的屏幕布局;圖15是管理員為建立本地應(yīng)用而使用的屏幕的屏幕布局;圖16是管理員為管理工作站而使用的屏幕的屏幕布局;圖17是示出為向服務(wù)器分發(fā)自包含桌面而采取的步驟的流程圖;圖18是示出為從服務(wù)器向客戶端分發(fā)自包含桌面而采取的步驟的流程圖;圖19是示出為創(chuàng)建定制應(yīng)用擴(kuò)展而采取的步驟的流程圖;圖20是示出應(yīng)用擴(kuò)展生命周期的流程圖;圖21A是示出從管理員向多個(gè)客戶端分發(fā)的組件和資源的方框圖;圖21B是示出在管理員出現(xiàn)數(shù)據(jù)丟失之后管理員從服務(wù)器恢復(fù)組件和資源的方框圖;圖22是示出管理員在分發(fā)自包含桌面及隨后在災(zāi)難事件之后從服務(wù)器恢復(fù)自包含桌面時(shí)所采取的步驟的流程圖;圖23是示出客戶端接收及顯示桌面而采取的步驟的流程圖;圖24是示出服務(wù)器為根據(jù)用戶的角色和工作站的角色向客戶端提供桌面信息而采取的步驟的流程圖;圖25是示出服務(wù)器所執(zhí)行的處理及服務(wù)器、客戶端和管理員之間的交互作用的方框圖;圖26是示出客戶端在初始化和顯示自包含桌面時(shí)所采取的步驟的流程圖;圖27是顯示于客戶端工作站之上的樣本桌面以及該客戶端可用的其他自包含桌面的彈出菜單的屏幕布局;圖28A是客戶端外殼在顯示和管理桌面時(shí)所使用的目錄的層次圖;圖28B是包括在外殼配置文件中的各部分的層次圖;圖28C是包括在自包含桌面文件中的各對(duì)象的層次圖;圖29是示出初始化客戶端以使用自包含桌面而采取的步驟的流程圖;圖30是示出在客戶端初始化期間所采取的步驟的流程圖;圖31是示出在本地操作系統(tǒng)注冊(cè)期間所采取的步驟的流程圖;圖32是示出當(dāng)調(diào)用Java外殼啟動(dòng)程序時(shí)所采取的步驟的流程圖;圖33A是示出智能圖形組件的示例的屏幕布局;圖33B是示出智能圖形組件的第二示例的屏幕布局;圖34是示出各種桌面對(duì)象的層次圖;圖35是示出在初始化智能圖形組件時(shí)所采取的步驟的流程圖;圖36是示出在處理智能圖形組件的顯示屬性時(shí)所采取的步驟的流程圖;圖37是示出在處理智能圖形組件的行為屬性時(shí)所采取的步驟的流程圖;以及圖38是能夠?qū)崿F(xiàn)本發(fā)明的信息處理系統(tǒng)的方框圖。
具體實(shí)施例方式
以下旨在提供本發(fā)明的示例的詳細(xì)描述,其不應(yīng)被認(rèn)為是對(duì)本發(fā)明自身的限制。而是,眾多變體都可能落入說(shuō)明書(shū)之后的權(quán)利要求中定義的本發(fā)明的范圍內(nèi)。
圖1是使用自包含桌面的網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)圖。管理員100通過(guò)結(jié)合圖像115、應(yīng)用擴(kuò)展120、國(guó)家語(yǔ)言轉(zhuǎn)換125、客戶端配置文件130、服務(wù)器配置文件135、及桌面簡(jiǎn)檔信息140來(lái)創(chuàng)建自包含桌面110。自包含桌面110包括客戶端使用指定了客戶端特定角色的客戶端工作站上的組件所需的所有信息。
自包含桌面110被傳送到一個(gè)或多個(gè)服務(wù)器150,以便向客戶端分發(fā)。服務(wù)器150將用戶角色155與工作站角色160結(jié)合,以確定將哪一個(gè)自包含桌面發(fā)送到客戶端??蛻舳?65執(zhí)行注冊(cè)功能170,在此期間收集用戶ID和口令并將其傳送到服務(wù)器150,以完成注冊(cè)??蛻舳?65執(zhí)行注冊(cè)功能1 70,在此期間收集用戶ID和機(jī)器ID并將其傳送到服務(wù)器150,以接收允許的桌面列表。
服務(wù)器150從客戶端接收用戶ID、口令和機(jī)器ID,并根據(jù)對(duì)應(yīng)于該特定用戶ID和正被該客戶端使用的特定工作站的用戶角色155和工作站角色160確定將哪個(gè)自包含桌面發(fā)送到客戶端。所確定的自包含桌面被分別從服務(wù)器150傳送到客戶端165。
客戶端165執(zhí)行加載外殼進(jìn)程175,以將外殼應(yīng)用180加載到客戶端工作站上。外殼進(jìn)程是被加載到諸如Java虛擬機(jī)(JVM)的中間件應(yīng)用之上的應(yīng)用。這樣,不管客戶端工作站正使用的操作系統(tǒng)平臺(tái)為何,外殼應(yīng)用都呈現(xiàn)為是一致的并基本相似。外殼應(yīng)用180適于檢索和顯示自包含桌面190。客戶端165根據(jù)用戶和工作站標(biāo)識(shí)符的交集來(lái)接收自包含桌面。使用過(guò)程185來(lái)接收和顯示自包含桌面。因此,給定客戶端能使用多個(gè)自包含桌面。這些自包含桌面包括工具欄、菜單和其他用于與用戶通信的圖形用戶接口項(xiàng)目。這些用戶接口中的一部分包括與服務(wù)器150所擁有的服務(wù)器應(yīng)用通信的功能。其他的用戶接口包括映射到基于客戶端的應(yīng)用的擴(kuò)展。當(dāng)用戶點(diǎn)擊映射到基于客戶端的應(yīng)用的桌面組件時(shí),存在于該自包含桌面中的功能調(diào)用、或以其他方式使用該基于客戶端的應(yīng)用。如果客戶端具有任意使用的多個(gè)自包含桌面,則用戶可通過(guò)使用外殼應(yīng)用180所提供的菜單在各自包含桌面之間進(jìn)行切換。例如,在銀行環(huán)境中,如果一個(gè)用戶既是信貸員又是分支管理人員,則如果該工作站能夠執(zhí)行這兩個(gè)角色,則將這些角色的相應(yīng)自包含桌面都加載到外殼180中。為執(zhí)行信貸員功能,用戶從外殼應(yīng)用180選擇信貸員桌面。同樣地,為執(zhí)行分支管理人員功能,用戶從外殼應(yīng)用180選擇分支管理人員桌面。此外,可提供缺省角色,以便初始顯示的桌面符合用戶的基本或缺省角色。
圖2是在提供自包含桌面中所包括的組件的方框圖。管理員200定義了拓?fù)洹⒂脩舳x、地點(diǎn)定義和桌面定義。管理員200通過(guò)提供工作站定義205來(lái)定義拓?fù)?。工作站定義205包括工作站地址210和定義哪些角色或桌面允許在各工作站上使用的允許的桌面215。例如,在銀行環(huán)境中,位于出納窗口的工作站可能具有諸如出納箱的特殊配備,以便該工作站能夠或被允許執(zhí)行出納員功能。另一個(gè)可能在遠(yuǎn)離出納員區(qū)域的辦公桌處的工作站可能不能執(zhí)行出納員功能。
用戶定義220用于定義系統(tǒng)的用戶和這種用戶所擔(dān)當(dāng)?shù)慕巧S脩舳x220包括用戶數(shù)據(jù)225和所指派的組數(shù)據(jù)230。用戶數(shù)據(jù)225包括用戶標(biāo)識(shí)符和用戶口令。所指派的組數(shù)據(jù)230包括特定用戶被允許擔(dān)當(dāng)?shù)慕巧?。例如,分支管理人員可被允許執(zhí)行分支管理人員、信貸員和出納員的功能,而出納員可能僅被允許執(zhí)行出納員功能。
地點(diǎn)定義235包括關(guān)于特定地點(diǎn)的信息。在銀行環(huán)境中,地點(diǎn)可能是該銀行的分支。地點(diǎn)定義235包括提供用于特定地點(diǎn)處的用戶的公共桌面的組桌面映射240以及提供關(guān)于該地點(diǎn)的詳情的地點(diǎn)信息245。
桌面定義250包括用于創(chuàng)建客戶端所使用的自包含桌面的組件。桌面定義250包括顯示于自包含桌面上的圖像252和提供有關(guān)從自包含桌面可訪問(wèn)的基于客戶端的應(yīng)用的詳情的應(yīng)用擴(kuò)展254。桌面定義250還包括諸如國(guó)家語(yǔ)言轉(zhuǎn)換256的資源,以便用戶能夠選擇最適合他們的需要的諸如語(yǔ)言偏好的資源。桌面定義250還包括客戶端配置258和服務(wù)器配置260。這些配置包括有關(guān)包括在特定自包含桌面中的組件的信息。
管理員200創(chuàng)建自包含桌面,并將該自包含桌面發(fā)布于客戶端可訪問(wèn)的一個(gè)或多個(gè)服務(wù)器265上。服務(wù)器265包括永久性存儲(chǔ)器270和認(rèn)證功能280。永久性存儲(chǔ)器270包括用戶數(shù)據(jù)272、拓?fù)湫畔?74和自包含桌面276。用戶數(shù)據(jù)和拓?fù)鋽?shù)據(jù)用于確定哪一個(gè)自包含桌面276允許由使用給定工作站的給定客戶端來(lái)使用。服務(wù)器265向客戶端290提供對(duì)于特定用戶/工作站授權(quán)了的桌面。客戶端接收該自包含桌面,并將其顯示在獨(dú)立于平臺(tái)的外殼295上。這樣,服務(wù)器265向客戶端290發(fā)送識(shí)別出的桌面,而無(wú)需考慮該客戶端正使用的特定操作系統(tǒng)平臺(tái)。
圖3是示出管理員為提供自包含桌面而采取的步驟的高級(jí)流程圖。管理員處理開(kāi)始于300,其中管理員定義用戶(預(yù)定過(guò)程310,參見(jiàn)圖5的進(jìn)一步詳情)。管理員還定義該系統(tǒng)的用戶所使用的工作站(預(yù)定過(guò)程320,參見(jiàn)圖6的進(jìn)一步詳情)。
建立客戶端所需的諸如國(guó)家語(yǔ)言轉(zhuǎn)換的資源,以便這些資源可包括在自包含桌面中(預(yù)定過(guò)程330)。定義對(duì)應(yīng)于可從工作站獲得的應(yīng)用的應(yīng)用擴(kuò)展(預(yù)定過(guò)程340,參見(jiàn)圖7的進(jìn)一步詳情)。對(duì)自包含桌面進(jìn)行打包,其包括了擔(dān)當(dāng)特定職位角色所需的所有組件(預(yù)定過(guò)程350,參見(jiàn)圖8的處理詳情)。
對(duì)于是否增加新地點(diǎn)進(jìn)行判斷(判定360)。如果正增加一個(gè)新地點(diǎn),則判定360轉(zhuǎn)到“是”分支365,其中定義新地點(diǎn)(預(yù)定過(guò)程370,參見(jiàn)圖4的處理詳情)。另一方面,如果沒(méi)在增加新地點(diǎn),則判定360跳過(guò)步驟370而轉(zhuǎn)到“否”分支375。
將所定義的桌面映射到一個(gè)或多個(gè)地點(diǎn)及一個(gè)或多個(gè)角色(預(yù)定過(guò)程380)。這樣,可在多個(gè)地點(diǎn)上為多個(gè)角色使用一單個(gè)桌面。反過(guò)來(lái),可在每個(gè)地點(diǎn)上并對(duì)于每個(gè)角色定義和使用不同的桌面。將桌面組件打包成自包含桌面,并將該自包含桌面發(fā)布到一個(gè)或多個(gè)服務(wù)器上,以供對(duì)各客戶端的分發(fā)(預(yù)定過(guò)程390,參見(jiàn)圖9的處理詳情)。管理員處理在395結(jié)束。
圖4是示出為建立特定地點(diǎn)而采取的管理員步驟的流程圖。處理開(kāi)始于400,其中將唯一標(biāo)識(shí)符指派給該地點(diǎn)(步驟405)。為該地點(diǎn)識(shí)別父地點(diǎn)(步驟410)。例如,分支可能具有作為父地點(diǎn)的地區(qū)辦公室。這樣,新地點(diǎn)可從父地點(diǎn)繼承特征和屬性,從而該些特征和屬性是一致的而不必對(duì)每個(gè)地點(diǎn)重新加入。對(duì)于是否識(shí)別出父地點(diǎn)進(jìn)行判斷(判定415)。如果識(shí)別出父地點(diǎn),則判定415轉(zhuǎn)到“是”分支418,其中檢索父地點(diǎn)的策略和桌面(步驟420)。另一方面,如果父地點(diǎn)未被識(shí)別出,則判定415轉(zhuǎn)到“否”分支422,其中管理員將策略和桌面設(shè)置為該地點(diǎn)的缺省值(步驟425)。
可根據(jù)特定地點(diǎn)的需要,對(duì)該特定地點(diǎn)的檢索到的或所設(shè)置的策略進(jìn)行修改(步驟430)。這樣,一個(gè)地點(diǎn)可具有與父地點(diǎn)稍微不同的策略。各地點(diǎn)具有工作在該地點(diǎn)的用戶所擔(dān)當(dāng)?shù)囊粋€(gè)或多個(gè)角色。在銀行環(huán)境中,分支地點(diǎn)可能具有諸如出納員、信貸員和分支管理人員的角色。選擇該地點(diǎn)的第一個(gè)角色(步驟435)。對(duì)該角色是否需要改變進(jìn)行判斷(判定440)。如果該角色需要改變,則判定440轉(zhuǎn)到“是”分支445,其中為該角色選擇自包含桌面(步驟450)。另一方面,如果該桌面不必為該角色進(jìn)行改變,則判定440跳過(guò)步驟450而轉(zhuǎn)到“否”分支455。這樣,子地點(diǎn)為特定角色使用與父地點(diǎn)相同的桌面,然而管理員具有向子地點(diǎn)為給定角色指派不同桌面的靈活性。
對(duì)該地點(diǎn)是否存在更多角色進(jìn)行判斷(判定460)。如果存在更多角色,則判定460轉(zhuǎn)到“是”分支465,其中選擇該地點(diǎn)的下一個(gè)角色(步驟470),且處理循環(huán)返回以處理這下一個(gè)角色。該循環(huán)持續(xù)到該地點(diǎn)不再有角色時(shí)為止,此時(shí)判定460轉(zhuǎn)到“否”分支475,其中對(duì)為該地點(diǎn)選擇的桌面和其他數(shù)據(jù)進(jìn)行存儲(chǔ)(步驟480)。然后,處理在495返回。
圖5是示出管理員為定義新用戶而采取的步驟的流程圖。處理開(kāi)始于500,其中向該用戶指派一個(gè)諸如用戶ID的唯一用戶標(biāo)識(shí)符給(步驟505)。還向該用戶指派一個(gè)初始口令(步驟510)。還為該用戶輸入用戶名和/或描述(步驟515)。為該用戶選擇國(guó)家語(yǔ)言偏好(步驟520)。
從管理員所創(chuàng)建的并存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器530中的角色列表中為該用戶選擇一個(gè)角色(步驟525)。對(duì)所選擇的角色是否是該用戶的缺省角色進(jìn)行判斷(判定540)。如果所選擇的角色是該用戶的缺省角色,則判定540轉(zhuǎn)到“是”分支545,其中將所選擇的角色指派為該用戶的缺省角色(步驟550)。另一方面,如果所選擇的角色不是缺省角色,則判定540跳過(guò)步驟550而轉(zhuǎn)到“否”分支555。
對(duì)是否存在更多角色要指派給該用戶進(jìn)行判斷(判定560)。如果存在更多角色要指派給該用戶,則判定560轉(zhuǎn)到“是”分支565,其循環(huán)返回以選擇并處理該用戶的下一個(gè)角色。該循環(huán)持續(xù)到不再有角色指派給用戶時(shí)為止,此時(shí)判定560轉(zhuǎn)到“否”分支570,其中對(duì)指派給該用戶的角色進(jìn)行存儲(chǔ)(步驟580)。然后,操作在595返回。
圖6是示出管理員為建立工作站而采取的步驟的流程圖。處理開(kāi)始于600,于是為工作站輸入諸如MAC地址的標(biāo)識(shí)符(步驟610)。MAC地址是媒體訪問(wèn)控制(Media Access Control)地址,其是唯一標(biāo)識(shí)計(jì)算機(jī)網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)的硬件地址。向該工作站指派主機(jī)或服務(wù)器(步驟620)。為該工作站指派或檢索一個(gè)IP地址(步驟630)。還為該工作站輸入工作站描述(步驟640)。工作站描述可包括諸如該工作站是否包括銀行出納箱的工作站能力的描述。
從管理員創(chuàng)建并存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器660中的角色列表中為該工作站選擇第一個(gè)角色(步驟650)。例如,在銀行環(huán)境中,角色可能包括出納員、信貸員和分支管理人員。一個(gè)工作站可能能夠擔(dān)當(dāng)所有這三種角色,而另一個(gè)僅能夠擔(dān)當(dāng)這些角色中的一種或兩種。此外,即使其他的工作站可能物理上能夠執(zhí)行機(jī)密或敏感的功能,但這樣的功能也可能被限制到特定工作站上。對(duì)是否存在更多角色要指派給該工作站進(jìn)行判斷(判定670)。如果存在更多角色要指派給該工作站,則判定670轉(zhuǎn)到“是”分支675,其中選擇該工作站的下一個(gè)角色(步驟680)。該循環(huán)持續(xù)到不再有角色指派給該工作站時(shí)為止,此時(shí)判定670轉(zhuǎn)到“否”分支685。將所指派的角色和工作站數(shù)據(jù)存儲(chǔ)(步驟690)在非易失性存儲(chǔ)區(qū)中。然后,處理在695返回。
圖7是示出管理員為建立應(yīng)用擴(kuò)展而采取的步驟的流程圖。應(yīng)用擴(kuò)展是提供對(duì)諸如基于客戶端的遺留應(yīng)用的應(yīng)用程序的訪問(wèn)的桌面組件。處理開(kāi)始于700,其中向特定應(yīng)用擴(kuò)展指派擴(kuò)展標(biāo)識(shí)符(步驟705)。輸入描述相應(yīng)應(yīng)用的應(yīng)用描述(步驟710)。還輸入該應(yīng)用擴(kuò)展的客戶端類(lèi)(步驟715)。
對(duì)該擴(kuò)展是由系統(tǒng)提供還是由用戶來(lái)提供進(jìn)行判斷(判定720)。如果該擴(kuò)展由用戶來(lái)提供,則判定720轉(zhuǎn)到用戶分支725,其中輸入對(duì)應(yīng)于該擴(kuò)展的Java存檔(JAR)文件名(步驟730)。另一方面,如果該擴(kuò)展由系統(tǒng)來(lái)提供,則判定720跳過(guò)步驟730而轉(zhuǎn)到系統(tǒng)分支735。
對(duì)是否需要管理員面向?qū)ο箢?lèi)進(jìn)行判斷(判定740)。如果需要管理員類(lèi),則判定740轉(zhuǎn)到“是”分支745,其中輸入管理員類(lèi)名(步驟750)。另一方面,如果不需要管理員類(lèi),則判定740跳過(guò)步驟750而轉(zhuǎn)到“否”分支755。
使用所提供的信息創(chuàng)建應(yīng)用擴(kuò)展(步驟760)。對(duì)是否存在該應(yīng)用擴(kuò)展的任何缺省屬性進(jìn)行判斷(判定770)。如果存在缺省屬性,則判定770轉(zhuǎn)到“是”分支775,其中為該應(yīng)用擴(kuò)展輸入缺省屬性(步驟780)。另一方面,如果不存在該應(yīng)用擴(kuò)展的缺省屬性,則判定770跳過(guò)步驟780而轉(zhuǎn)到“否”分支785。
將該應(yīng)用擴(kuò)展與任何缺省屬性一起存儲(chǔ)(步驟790)于非易失性存儲(chǔ)區(qū)中。然后,處理在795返回。
圖8是示出為建立應(yīng)用引用而采取的管理員步驟的流程圖。處理開(kāi)始于800,其中選擇對(duì)應(yīng)于該應(yīng)用引用的引用類(lèi)型(即擴(kuò)展類(lèi)型)(步驟81 0)。向該應(yīng)用引用指派唯一的應(yīng)用引用標(biāo)識(shí)符(步驟820)。還為該應(yīng)用引用提供應(yīng)用描述(步驟830)。還提供諸如圖標(biāo)標(biāo)題和圖標(biāo)文件名的圖標(biāo)屬性(步驟840)。還輸入特定于該應(yīng)用擴(kuò)展類(lèi)型的屬性(步驟850)。然后,將該應(yīng)用引用存儲(chǔ)于非易失性存儲(chǔ)區(qū)中(步驟860),且處理在895返回。
圖9是示出管理員為創(chuàng)建自包含桌面而采取的步驟的流程圖。處理開(kāi)始于步驟900,其中向該自包含桌面指派唯一的桌面標(biāo)識(shí)符(步驟905)。為該桌面輸入桌面標(biāo)題和/或描述(步驟910)。為該桌面輸入屏幕和圖標(biāo)外觀(步驟915)。然后,管理員選擇要呈現(xiàn)在該桌面上的諸如圖標(biāo)、背景等的圖像(步驟920)。這些圖像選自于桌面組件庫(kù)925中。桌面組件庫(kù)925包括背景和其他圖像930、圖標(biāo)935、應(yīng)用引用945及資源955。
從包括在桌面組件庫(kù)925中的應(yīng)用引用945選擇(步驟940)從該桌面可用的應(yīng)用引用。在銀行環(huán)境中,出納員的桌面可包括查看客戶銀行余額及操作出納員的收銀機(jī)的應(yīng)用引用,而信貸員的桌面可包括提供對(duì)銀行的放款核準(zhǔn)軟件應(yīng)用的訪問(wèn)的應(yīng)用引用。為每個(gè)所支持的區(qū)域提供諸如文本和資源的國(guó)家語(yǔ)言數(shù)據(jù)(步驟950)。這些資源選自于包括在桌面組件庫(kù)925中的資源955。
對(duì)詳述桌面所包括的文件和資源的桌面配置進(jìn)行存儲(chǔ)(步驟960)。創(chuàng)建描述該桌面的客戶端配置文件,并對(duì)桌面數(shù)據(jù)進(jìn)行打包(步驟970),從而得到自包含桌面975。通過(guò)將該桌面?zhèn)魉徒o服務(wù)器990而將所得到的自包含桌面發(fā)布到客戶端可訪問(wèn)的服務(wù)器(步驟980)。然后,處理在995返回。
圖10是服務(wù)器為向客戶端呈遞自包含桌面而采取的步驟的流程圖。處理開(kāi)始于1000,其中服務(wù)器接收用戶注冊(cè)和工作站標(biāo)識(shí)符(步驟1005)。用戶注冊(cè)包括用于對(duì)用戶進(jìn)行認(rèn)證的用戶標(biāo)識(shí)符和用戶口令。在用戶目錄數(shù)據(jù)存儲(chǔ)器1015中檢索已指派給該用戶的角色(步驟1010)。在拓?fù)淠夸?025中檢索已指派給該工作站的角色(步驟1020)。
對(duì)指派給該用戶的任何角色是否與指派給該工作站的任何角色匹配進(jìn)行判斷(判定1030)。如果不存在共有的角色,則判定1030轉(zhuǎn)到“否”分支1035,其中向客戶端返回出錯(cuò)消息(步驟1038),且處理在1095返回。另一方面,如果存在一個(gè)或多個(gè)共有的角色,則判定1030轉(zhuǎn)到“是”分支1040,其中從桌面/角色映射1050中檢索所選擇的角色的第一桌面,并在數(shù)據(jù)存儲(chǔ)器1055中檢索相應(yīng)的自包含桌面。對(duì)用戶和工作站之間是否還存在共有的角色進(jìn)行判斷(判定1060)。如果存在更多共有的角色,則判定1060轉(zhuǎn)到“是”分支1070,其中選擇下一個(gè)共有的角色(步驟1080),且處理循環(huán)返回以檢索相應(yīng)的自包含桌面。該循環(huán)持續(xù)到用戶和工作站之間不再有共有的角色時(shí)為止,此時(shí)判定1060轉(zhuǎn)到“否”分支1065,其中將檢索到的桌面標(biāo)識(shí)符(即那些用戶和工作站共有的標(biāo)識(shí)符)發(fā)送給客戶端(步驟1090)。然后,處理在1095返回。
圖11是管理員為建立新地點(diǎn)而使用的屏幕的屏幕布局。管理員使用屏幕布局1100來(lái)定義新地點(diǎn)。管理員在文本框1150中輸入唯一的地點(diǎn)標(biāo)識(shí)符。如果該新地點(diǎn)是已創(chuàng)建的地點(diǎn)的子地點(diǎn),則從列表框1105中選擇父地點(diǎn)。列表框1105包括先前定義的地點(diǎn)標(biāo)識(shí)符列表??蚣?110包括用于該地點(diǎn)的策略信息。策略信息包括策略名稱(chēng)1115、策略值1120及繼承數(shù)據(jù)1125。繼承數(shù)據(jù)1125包括繼承值1130和繼承祖先1135。在所示出的例子中,策略名稱(chēng)是“newbDC”,且策略值是從父地點(diǎn)繼承的。繼承值是“允許”,且繼承祖先是“根”或地點(diǎn)層次中的最高地點(diǎn)。
桌面框架1140包括關(guān)于在該地點(diǎn)上可用的角色和桌面的信息。桌面框架1140包括角色數(shù)據(jù)1155、桌面數(shù)據(jù)1160和繼承數(shù)據(jù)1170。繼承數(shù)據(jù)包括所繼承的桌面的名稱(chēng)1175和該桌面從其被繼承的祖先的名稱(chēng)1180。在該示例中,包括在該地點(diǎn)上的角色包括管理員、分支管理人員、客戶、信貸員和出納員。這些桌面中的每一個(gè)都是從父地點(diǎn)繼承的,如桌面字段的“[繼承的]”值所示的那樣。管理員、分支管理人員和信貸員桌面是從“分支A”地點(diǎn)繼承的,而客戶和出納員桌面是從“根”地點(diǎn)繼承的。這樣,可從各父地點(diǎn)選擇自包含桌面,或可為子地點(diǎn)專(zhuān)門(mén)配置自包含桌面。
當(dāng)已輸入了新地點(diǎn)數(shù)據(jù)時(shí),管理員選擇創(chuàng)建新地點(diǎn)的“創(chuàng)建地點(diǎn)”命令按鈕1190。如果管理員出錯(cuò)并希望重置各值,則管理員可選擇“重置值”命令按鈕1195。
圖12是管理員為管理給定地點(diǎn)的桌面和機(jī)器而使用的屏幕的屏幕布局。管理員使用屏幕布局1200來(lái)管理給定地點(diǎn)的桌面和機(jī)器,以及添加和管理對(duì)應(yīng)于該地點(diǎn)的工作站。屏幕布局1200的頂部類(lèi)似于圖11中示出的新地點(diǎn)布局。列表框1205用于選擇要指派給該地點(diǎn)的父地點(diǎn)??筛淖兏傅攸c(diǎn)以適應(yīng)組織內(nèi)的變化。策略框架1210包括策略名稱(chēng)1212、策略值1214和繼承數(shù)據(jù)1216。繼承數(shù)據(jù)包括繼承值1218和祖先值1220。在所示出的例子中,策略名稱(chēng)是從“根”祖先繼承的“newbDC”。
桌面框架1225包括角色數(shù)據(jù)1230、桌面數(shù)據(jù)1235和桌面繼承數(shù)據(jù)1240。在圖12中所示的銀行例子中,為該地點(diǎn)包括的角色包括管理員、分支管理人員、客戶、信貸員和出納員。桌面要由管理員、分支管理人員、客戶、信貸員和出納員使用。這些角色中的每個(gè)顯示于桌面數(shù)據(jù)1235中。這些值中的一些從父地點(diǎn)繼承而來(lái),而其他的則被指定作為特定的自包含桌面。桌面繼承數(shù)據(jù)包括桌面繼承1242和祖先數(shù)據(jù)1244。在所示出的例子中,管理員、分支管理人員和信貸員中的每一個(gè)從“分支A“繼承桌面數(shù)據(jù),而客戶和出納員中的每一個(gè)從“根”父地點(diǎn)繼承桌面數(shù)據(jù)。
如果管理員更改地點(diǎn)數(shù)據(jù)并希望存儲(chǔ)更改后的地點(diǎn)信息,則管理員選擇““提交更改”命令按鈕1245。如果管理員希望重置各地點(diǎn)值,則管理員選擇“重置值”命令按鈕1250。如果管理員希望刪除該地點(diǎn),則選擇“刪除地點(diǎn)”命令按鈕1255。
當(dāng)管理員準(zhǔn)備將該地點(diǎn)發(fā)布到服務(wù)器上時(shí),管理員選擇“發(fā)布”命令按鈕1260。如果管理員希望連同該地點(diǎn)的任何子地點(diǎn)一起發(fā)布該地點(diǎn),則該管理員選擇“與子地點(diǎn)一起發(fā)布”命令按鈕1265。
子地點(diǎn)框架1270包括有關(guān)該地點(diǎn)的任何子地點(diǎn)的數(shù)據(jù)。子地點(diǎn)數(shù)據(jù)包括地點(diǎn)名稱(chēng)1272和地點(diǎn)策略1278。為創(chuàng)建新的子地點(diǎn),管理員可選擇允許該管理員識(shí)別新的子地點(diǎn)的“<新地點(diǎn)>”超鏈接1275。
機(jī)器框架1280包括關(guān)于在該地點(diǎn)處所包括的工作站的數(shù)據(jù)。工作站數(shù)據(jù)包括工作站標(biāo)識(shí)符1282、工作站的主機(jī)名1284、工作站類(lèi)型1286、工作站所提供的角色1288、工作站的IP地址1290和工作站描述1292。為向該地點(diǎn)增加新的機(jī)器(工作站),管理員選擇“<新機(jī)器>”超鏈接1295。
圖13是管理員為建立新用戶而使用的屏幕的屏幕布局。屏幕布局1300包括用于輸入新用戶的唯一標(biāo)識(shí)符的文本框1305。在文本框1310中輸入用戶的全名。另外,在文本框1315中可輸入用戶的描述。例如,可將用戶ID建立為諸如客戶或出納員的通用標(biāo)識(shí)符,其可由某人使用而不必為這種偶然的或非全日的用戶建立新的用戶標(biāo)識(shí)符。可使用描述文本框字段1315進(jìn)一步描述用于這種通用目的的用戶標(biāo)識(shí)符。
在文本框1320中為用戶輸入新的初始口令。管理員通過(guò)在文本框1325中再次輸入該口令來(lái)確認(rèn)該新的初始口令。管理員使用列表框1330為用戶選擇缺省區(qū)域。在所示出的例子中,已為說(shuō)美式英語(yǔ)的用戶選擇了美國(guó)區(qū)域。但是,如果用戶的基本語(yǔ)言是西班牙語(yǔ)或其他語(yǔ)言,則從文本框1330中提供的列表中選擇適當(dāng)?shù)膮^(qū)域。
框架1332由管理員使用,以選擇符合該用戶的角色。缺省角色1335包括若干對(duì)應(yīng)于每個(gè)可用角色的單選按鈕。使用這些單選按鈕,從而管理員僅為該用戶選擇一個(gè)缺省角色。選擇列1340包括若干對(duì)應(yīng)于每個(gè)可用角色的復(fù)選框。管理員選擇對(duì)應(yīng)于由該用戶擔(dān)當(dāng)?shù)拿恳粋€(gè)角色的復(fù)選框。名稱(chēng)列1345包括每個(gè)可用角色的名稱(chēng)。在所示出的例子中,可用角色包括管理員、分支管理人員、客戶、信貸員和出納員。管理員可通過(guò)選擇列1340中的相應(yīng)復(fù)選框來(lái)選擇這些角色中的一個(gè)或多個(gè)。另外,管理員可通過(guò)選擇“<新角色>”超鏈接1350來(lái)建立新的角色。
當(dāng)管理員完成輸入用戶數(shù)據(jù)及向用戶指派角色時(shí),管理員選擇“創(chuàng)建用戶”命令框1355來(lái)創(chuàng)建和存儲(chǔ)用戶數(shù)據(jù)和所指派的角色。如果管理員出錯(cuò)并希望重置這些值,則選擇“重置值”命令按鈕1360。
圖14是管理員為建立可用作一個(gè)或多個(gè)自包含桌面內(nèi)的組件的應(yīng)用而使用的屏幕的屏幕布局。屏幕布局1400用于定義可包括在自包含桌面中的新應(yīng)用。管理員使用應(yīng)用標(biāo)識(shí)符文本框1405來(lái)輸入對(duì)應(yīng)于正被定義的應(yīng)用的唯一應(yīng)用標(biāo)識(shí)符。在圖14中示出的例子中,正被定義的應(yīng)用的類(lèi)型是“本地”應(yīng)用,換句話說(shuō),其是其中至少該應(yīng)用的某些可執(zhí)行文件位于客戶端工作站上的應(yīng)用。
在描述文本框1410中輸入正被定義的應(yīng)用的描述。圖標(biāo)屬性框架1415用于定義與將呈現(xiàn)于桌面上并由用戶使用以選擇該應(yīng)用的圖標(biāo)相對(duì)應(yīng)的屬性。圖標(biāo)屬性包括在文本框1420中輸入的標(biāo)題和在文本框1425中輸入的圖標(biāo)文件名。
平臺(tái)屬性框架1430包括該應(yīng)用可從其被調(diào)用的每個(gè)所支持的操作系統(tǒng)平臺(tái)的數(shù)據(jù)。Win32框架1435包括用于從Microsoft Windows操作系統(tǒng)平臺(tái)調(diào)用和執(zhí)行該應(yīng)用的數(shù)據(jù)。Win32數(shù)據(jù)包括標(biāo)識(shí)該應(yīng)用在Win32環(huán)境中的可執(zhí)行形式的路徑和文件名。在文本框1440中輸入該路徑和文件名。在參數(shù)文本框1445中提供該應(yīng)用所需的任何參數(shù)。如果需要,在文本框1455中輸入對(duì)應(yīng)于該應(yīng)用的工作目錄。
平臺(tái)屬性框架1430還包括用于OS/2操作系統(tǒng)平臺(tái)的數(shù)據(jù),用于OS/2操作系統(tǒng)平臺(tái)的字段位于框架1460中。OS/2字段對(duì)應(yīng)于上面描述的Win32字段。這些包括路徑和文件名文本框1465、參數(shù)文本框1470和工作目錄文本框1475。同樣,在包括路徑和文件名文本框1482、參數(shù)文本框1484和工作目錄文本框1486的框架1480中提供Linux字段組。
當(dāng)管理員已輸入了應(yīng)用信息時(shí),管理員可通過(guò)選擇“創(chuàng)建應(yīng)用”命令按鈕1490來(lái)創(chuàng)建該應(yīng)用。如果管理員出錯(cuò),則可通過(guò)選擇“重置值”命令按鈕1495來(lái)重置新的應(yīng)用值。
圖15是管理員為建立自包含桌面而使用的屏幕的屏幕布局。屏幕布局1500包括用于定義自包含桌面的外觀和功能的各字段。將先前定義的桌面標(biāo)識(shí)符顯示在屏幕上。在所示出的例子中,桌面標(biāo)識(shí)符是“bda-管理員”。管理員在文本框1505中輸入自包含桌面的標(biāo)題。在所示出的例子中,該標(biāo)題為“管理員”。在文本框1510中輸入自包含桌面的描述。在所示出的例子中,所輸入的描述是″BDA管理員的桌面″。
管理員使用列表框1515選擇自包含桌面的啟動(dòng)模式。啟動(dòng)模式指從桌面激活組件所需的鼠標(biāo)點(diǎn)擊次數(shù)。在所示出的例子中,所選擇的啟動(dòng)模式為“2” (即雙擊)。在框架1520中輸入圖標(biāo)屬性。管理員在適當(dāng)?shù)奈谋究蛑休斎胱畲笤试S和可顯示圖標(biāo)標(biāo)題長(zhǎng)度。
管理員在框架1525中輸入背景外觀信息。管理員為自包含桌面的背景提供顏色、圖像文件和圖像顯示模式。例如,桌面背景數(shù)據(jù)可包括該組織的名稱(chēng)和標(biāo)志。管理員將圖標(biāo)外觀信息輸入到框架1530中。圖標(biāo)外觀數(shù)據(jù)包括圖標(biāo)的文本顏色、與圖標(biāo)一起使用的字體、與圖標(biāo)一起使用的字號(hào)、用于圖標(biāo)的字形、圖標(biāo)流、圖標(biāo)流的起始點(diǎn)和圖標(biāo)文本的文本位置。
當(dāng)管理員已完成建立自包含桌面時(shí),管理員選擇“提交更改”命令按鈕1540來(lái)保存桌面設(shè)置。如果管理員出錯(cuò)并希望重置這些值,則選擇“重置值”命令按鈕1545。如果管理員希望刪除該自包含桌面定義,則選擇“刪除桌面”命令按鈕1550。
超鏈接1560用于添加、修改或刪除從自包含桌面可用的引用。這些可用的引用包括應(yīng)用1570、文件夾1580和工具欄1590。在所示出的例子中,所包括的應(yīng)用由“acroread”、“計(jì)算器”和““瀏覽器”組成。所包括的文件夾由應(yīng)用文件夾和兩個(gè)管理員文件夾組成。還包括一個(gè)工具欄,即管理員工具欄。
圖16是管理員為管理工作站而使用的屏幕的屏幕布局。管理員使用屏幕布局1600來(lái)管理在整個(gè)網(wǎng)絡(luò)中使用的工作站或計(jì)算機(jī)系統(tǒng)。為每個(gè)工作站所維持的數(shù)據(jù)包括在列1610中列出的工作站標(biāo)識(shí)符、在列1620中列出的工作站所屬的地點(diǎn)、在列1630中列出的指派給工作站的主機(jī)(或服務(wù)器)、在列1640中列出的工作站所執(zhí)行的功能的類(lèi)型、在列1650中列出的允許工作站擔(dān)當(dāng)?shù)慕巧?、在?660中列出的工作站的IP地址、以及在列1670中列出的工作站的描述。
列1610中示出的標(biāo)識(shí)符對(duì)于每一個(gè)工作站是唯一的。在圖16中示出的例子中,該標(biāo)識(shí)符是對(duì)應(yīng)于工作站的MAC地址。圖16中示出的地點(diǎn)為“根”地址、分支“A”或分支“B”。這些地點(diǎn)可代表該組織內(nèi)的物理或邏輯區(qū)域。主機(jī)名稱(chēng)是工作站所使用的服務(wù)器的名稱(chēng)。工作站所執(zhí)行的功能的類(lèi)型包括管理功能、服務(wù)器功能、和客戶端功能。以“A”結(jié)尾的類(lèi)型用于管理功能、以“S”結(jié)尾的類(lèi)型用于服務(wù)器功能、而以“C”結(jié)尾的類(lèi)型用于客戶端功能。如可以在圖16中看出的,某些工作站執(zhí)行多種類(lèi)型的功能。例如,所列出的第一個(gè)工作站作用于管理員和服務(wù)器功能二者。角色指在工作站上允許執(zhí)行的功能。角色通常涉及客戶端功能,因此不具有客戶端類(lèi)型的工作站沒(méi)有被指派角色。具有所指派的角色的工作站常常具有多個(gè)角色。例如,所列出的第三個(gè)工作站具有允許在該工作站上擔(dān)當(dāng)?shù)乃膫€(gè)角色(出納員、信貸員、分支管理人員和客戶)。然而,所示出的第四個(gè)和第五個(gè)工作站僅具有允許在每一個(gè)工作站上擔(dān)當(dāng)?shù)囊粋€(gè)角色。IP地址是指派給工作站的網(wǎng)絡(luò)地址。在某些環(huán)境中,IP地址是靜態(tài)地址,而在其他環(huán)境中,IP地址是動(dòng)態(tài)指派的。每一個(gè)工作站的描述是可選的,但它有助于管理員更好地標(biāo)識(shí)特定工作站以及這種工作站所扮演的角色。
圖17是示出將自包含桌面分發(fā)到服務(wù)器所采取的步驟的流程圖。管理員桌面分發(fā)處理開(kāi)始于1700,其中選擇供分發(fā)的第一個(gè)桌面(步驟1705)。利用桌面名稱(chēng)和諸如CRC值的唯一簽名創(chuàng)建請(qǐng)求(步驟1710)。將所創(chuàng)建的桌面請(qǐng)求發(fā)送到一個(gè)或多個(gè)服務(wù)器(步驟1715)。對(duì)是否存在更多桌面要分發(fā)進(jìn)行判斷(判定1720)。如果存在更多桌面要分發(fā),則判定1720轉(zhuǎn)到“是”分支1722,其中處理選擇下一個(gè)供分發(fā)的桌面(步驟1725),且循環(huán)返回以創(chuàng)建請(qǐng)求,并將請(qǐng)求發(fā)送到服務(wù)器。該循環(huán)持續(xù)到不再有桌面要分發(fā)時(shí)為止,此時(shí)判定1720轉(zhuǎn)到“否”分支1728。
管理員接收產(chǎn)生于先前發(fā)送的桌面請(qǐng)求的服務(wù)器響應(yīng)(步驟1730)。根據(jù)該響應(yīng),對(duì)該桌面是否已存在于服務(wù)器上進(jìn)行判斷(判定1735)。如果該桌面還未存在于服務(wù)器上,則判定1735轉(zhuǎn)到“否”分支1738,其中將所識(shí)別的桌面以數(shù)據(jù)流發(fā)送給服務(wù)器(步驟1740)。另一方面,如果該桌面已存在于服務(wù)器上,則判定1735跳過(guò)步驟1740而轉(zhuǎn)到“是”分支1742。
對(duì)是否存在要從服務(wù)器接收的對(duì)于桌面請(qǐng)求的更多響應(yīng)進(jìn)行判斷(判定1745)。如果存在更多響應(yīng),則判定1745轉(zhuǎn)到“是”分支1746,循環(huán)返回并處理該響應(yīng)。該循環(huán)持續(xù)到不再有響應(yīng)要處理時(shí)為止,此時(shí)判定1745轉(zhuǎn)到“否”分支1748,且管理員桌面分發(fā)處理在1750結(jié)束。
服務(wù)器桌面收集處理開(kāi)始于1755,其中服務(wù)器接收由管理員發(fā)送的桌面分發(fā)請(qǐng)求(步驟1760)。將包括在管理員的請(qǐng)求中的桌面的唯一標(biāo)識(shí)符與服務(wù)器上當(dāng)前現(xiàn)有的桌面數(shù)據(jù)1768進(jìn)行比較(步驟1765)。根據(jù)該比較,對(duì)服務(wù)器是否需要該桌面進(jìn)行判斷(判定1770)。如果該桌面不必要(即該桌面已存在于服務(wù)器上),則判定1770轉(zhuǎn)到“否”分支1772,其中向管理員發(fā)送一個(gè)消息,指示服務(wù)器已經(jīng)具有該桌面(步驟1775),且服務(wù)器處理在1795結(jié)束。
另一方面,如果服務(wù)器還不具有該桌面,則判定1770轉(zhuǎn)到“是”分支1778,其中服務(wù)器請(qǐng)求該桌面(步驟1780)。響應(yīng)該請(qǐng)求,服務(wù)器接收該桌面數(shù)據(jù)流(步驟1785)。然后,服務(wù)器根據(jù)所接收的數(shù)據(jù)流創(chuàng)建自包含桌面文件,并將該桌面文件存儲(chǔ)于桌面數(shù)據(jù)存儲(chǔ)區(qū)1768中(步驟1790)。然后,服務(wù)器桌面收集處理在1798結(jié)束。
圖18是示出將自包含桌面從服務(wù)器分發(fā)到客戶端所采取的步驟的流程圖??蛻舳俗烂娼邮臻_(kāi)始于1800,其中客戶端向服務(wù)器發(fā)送桌面列表請(qǐng)求(步驟1805)。桌面列表請(qǐng)求包括客戶端的機(jī)器(工作站)標(biāo)識(shí)符和客戶端的用戶標(biāo)識(shí)符。
服務(wù)器桌面分發(fā)處理開(kāi)始于1840,其中服務(wù)器從客戶端接收桌面列表請(qǐng)求(步驟1845)。服務(wù)器通過(guò)搜索用戶角色數(shù)據(jù)存儲(chǔ)1852而查找已指派給用戶的角色(步驟1850)。服務(wù)器還通過(guò)搜索機(jī)器角色數(shù)據(jù)存儲(chǔ)1858而查找已指派給正由該用戶使用的工作站的角色(步驟1855)。
服務(wù)器根據(jù)用戶角色與機(jī)器角色之間的交集或重疊來(lái)檢索桌面信息(步驟1860),并在桌面數(shù)據(jù)存儲(chǔ)1862中定位對(duì)應(yīng)于該重疊角色的桌面。檢索到的桌面信息包括用于唯一標(biāo)識(shí)桌面的桌面標(biāo)識(shí)符和桌面簽名,諸如CRC。用戶可具有缺省角色及對(duì)應(yīng)于該角色的缺省桌面。如果用戶具有缺省角色,則服務(wù)器確定該缺省角色(步驟1865)。
服務(wù)器創(chuàng)建有效角色、桌面簽名、缺省桌面標(biāo)識(shí)符(如果可應(yīng)用)和缺省角色(如果可應(yīng)用的話)的響應(yīng)串(步驟1870)。然后,服務(wù)器將該響應(yīng)串返回給客戶端(步驟1875)。
客戶端從服務(wù)器接收包括已指派給用戶和該工作站的角色以及任何缺省角色和缺省桌面信息的桌面列表(步驟1810)??蛻舳藢ㄔ谠撟烂媪斜碇械淖烂媾c已緩存在該客戶端工作站上的桌面進(jìn)行比較(步驟1815)。這樣的實(shí)現(xiàn)使得客戶端僅需要請(qǐng)求那些先前未傳送給該客戶端工作站并緩存在該工作站易失性或非易失性存儲(chǔ)區(qū)中的桌面。
客戶端通過(guò)識(shí)別其他尚未緩存在該客戶端工作站上的桌面或組件來(lái)確定是否需要來(lái)自服務(wù)器的這種其他組件或桌面(判定1820)。如果客戶端確定不需要其他的桌面組件,則判定1820轉(zhuǎn)到“否”分支1832(跳過(guò)用于請(qǐng)求和檢索其他桌面信息的步驟),且客戶端處理在1835結(jié)束。
另一方面,如果客戶端需要其他的組件或桌面,則判定1820轉(zhuǎn)到“是”分支1822,其中向服務(wù)器請(qǐng)求所需的桌面(步驟1825)。服務(wù)器在服務(wù)器步驟1885接收該請(qǐng)求。服務(wù)器通過(guò)從桌面數(shù)據(jù)存儲(chǔ)1862檢索該請(qǐng)求桌面信息并將其返回至客戶端工作站來(lái)進(jìn)行響應(yīng)(步驟1890)。然后,服務(wù)器桌面分發(fā)處理在1895結(jié)束。
返回到客戶端處理,客戶端在步驟1830接收并緩存所請(qǐng)求的桌面信息,且客戶端桌面接收處理在1835結(jié)束。
圖19是示出為創(chuàng)建定制應(yīng)用擴(kuò)展而采用的步驟的流程圖。定制應(yīng)用擴(kuò)展允許第三方擴(kuò)展先前存在的面向?qū)ο箢?lèi),以修改服務(wù)器類(lèi)對(duì)象的行為或?qū)傩?,從而更好地滿足特定組織的需要。定制應(yīng)用擴(kuò)展創(chuàng)建處理開(kāi)始于1900,其中提供實(shí)現(xiàn)特定組件接口的客戶端面向?qū)ο箢?lèi)(步驟1910)。對(duì)是否擴(kuò)展該服務(wù)器抽象類(lèi)進(jìn)行判斷(判定1920)。如果該抽象類(lèi)未在被擴(kuò)展,則判定1920轉(zhuǎn)到“否”分支1925,其中將缺省服務(wù)器組件用于該組件接口(步驟1930)。另一方面,如果該抽象類(lèi)正在被擴(kuò)展,則判定1920轉(zhuǎn)到“是”分支1935,其中提供擴(kuò)展該服務(wù)器組件抽象類(lèi)的服務(wù)器類(lèi)(步驟1940)。
對(duì)該定制應(yīng)用擴(kuò)展是否需要其他的資源進(jìn)行判斷(判定1950)。如果需要其他的資源,則判定1950轉(zhuǎn)到“是”分支1955,其中提供該應(yīng)用擴(kuò)展所使用的這些其他資源(步驟1960)。這些其他資源可包括圖像、屬性文件和該應(yīng)用擴(kuò)展所使用的其他類(lèi)文件。另一方面,如果不需要其他的資源,則判定1950跳過(guò)步驟1960而轉(zhuǎn)到“否”分支1965。
將客戶端類(lèi)、服務(wù)器類(lèi)和任何其他資源打包到Java存檔(JAR)文件中(步驟1970)。將打包后的定制擴(kuò)展存儲(chǔ)于定制擴(kuò)展庫(kù)1980中。定制應(yīng)用擴(kuò)展的創(chuàng)建過(guò)程在1995結(jié)束。
圖20是示出應(yīng)用擴(kuò)展生命周期的流程圖。該應(yīng)用擴(kuò)展生命周期開(kāi)始于步驟2000。在應(yīng)用擴(kuò)展生命周期的第一階段期間,應(yīng)用擴(kuò)展使用無(wú)參數(shù)構(gòu)造器(步驟2025)。通過(guò)加載應(yīng)用擴(kuò)展組件的Java實(shí)現(xiàn)類(lèi)并調(diào)用無(wú)參數(shù)構(gòu)造器,來(lái)使用該無(wú)參數(shù)構(gòu)造器創(chuàng)建該應(yīng)用擴(kuò)展組件。此時(shí),該應(yīng)用擴(kuò)展組件不具有對(duì)客戶端桌面的引用,且不能與該桌面環(huán)境進(jìn)行交互。在此階段期間,對(duì)實(shí)例變量和缺省設(shè)置進(jìn)行初始化。
在該應(yīng)用擴(kuò)展生命周期的下一階段期間,應(yīng)用擴(kuò)展進(jìn)行初始化(步驟2050)。在初始化階段期間,在組件接口中定義對(duì)應(yīng)于該應(yīng)用擴(kuò)展的初始化的方法。還提供對(duì)組件配置項(xiàng)、初始區(qū)域信息和桌面引用的引用。優(yōu)選地,在該階段期間將桌面引用作為實(shí)例變量保存。
在該應(yīng)用擴(kuò)展生命周期的最后階段期間,調(diào)用對(duì)應(yīng)于該應(yīng)用擴(kuò)展的啟動(dòng)方法(步驟2075)。該啟動(dòng)方法由桌面來(lái)調(diào)用。例如,當(dāng)用戶選擇了對(duì)應(yīng)于該應(yīng)用擴(kuò)展的圖標(biāo)時(shí),可調(diào)用該啟動(dòng)方法。在此階段期間,應(yīng)用擴(kuò)展可使用桌面引用以及對(duì)其他桌面組件的引用。另外,該應(yīng)用擴(kuò)展可在此時(shí)啟動(dòng)各線程,并執(zhí)行I/O操作。
圖21A是示出從管理員向多個(gè)客戶端分發(fā)的組件和資源的方框圖。管理員2100通過(guò)將組件和資源庫(kù)2105所打包成的各桌面包2110發(fā)送到各服務(wù)器來(lái)發(fā)布組件和資源庫(kù)2105。
在圖21A中示出的例子中,存在三個(gè)從管理員接收桌面包的服務(wù)器。這些服務(wù)器包括服務(wù)器2120、服務(wù)器2140和服務(wù)器2160。這些服務(wù)器中的每個(gè)包括用于存儲(chǔ)從管理員接收的桌面包的非易失性存儲(chǔ)區(qū)。服務(wù)器2120使用非易失性存儲(chǔ)區(qū)2125存儲(chǔ)桌面包,服務(wù)器2140使用非易失性存儲(chǔ)區(qū)2145,而服務(wù)器2160使用非易失性存儲(chǔ)區(qū)2165。在圖17中所描述的過(guò)程中,從管理員向服務(wù)器分發(fā)桌面包。該服務(wù)器用于向各客戶端提供桌面包。
在圖21A中示出的例子中,存在兩個(gè)從這些服務(wù)器中的每個(gè)接收桌面包的客戶端??蛻舳?130和2135從服務(wù)器2120接收桌面,客戶端2150和2155從服務(wù)器2140接收桌面,而客戶端2170和2175從服務(wù)器2160接收桌面。使用圖18中所描述的過(guò)程從服務(wù)器向客戶端分發(fā)桌面。以這樣的方式,從整個(gè)系統(tǒng)的管理員向服務(wù)器且最終向各客戶端分發(fā)在各自包含桌面中使用的組件和資源。
圖21B是示出在管理員出現(xiàn)數(shù)據(jù)丟失之后管理員從服務(wù)器恢復(fù)組件和資源的方框圖。當(dāng)發(fā)生諸如計(jì)算機(jī)崩潰、著火或水災(zāi)的災(zāi)難事件時(shí),管理員可能丟失了用于創(chuàng)建各自包含桌面的組件和資源。為了恢復(fù)這些文件,管理員2100向各服務(wù)器請(qǐng)求這些桌面包,其中包括組成這些桌面包的組件。使用圖21A中描述的拓樸,管理員向服務(wù)器2120、2140和2160請(qǐng)求包。這些服務(wù)器分別從存儲(chǔ)區(qū)2125、2145和2165檢索包括桌面組件的自包含桌面包。桌面信息被從各服務(wù)器傳送回給管理員。管理員將所接收的自包含桌面包存儲(chǔ)在恢復(fù)的包庫(kù)2180中。從桌面文件中提取出包括在這些自包含桌面中的組件和資源,并將其存儲(chǔ)在恢復(fù)的組件和資源庫(kù)2190中。以這種方式,管理員能夠恢復(fù)先前已發(fā)布到各服務(wù)器的組件和資源。進(jìn)行此恢復(fù),而不必使管理員產(chǎn)生這些組件和資源的單獨(dú)副本。因?yàn)楦鹘M件和資源包括唯一的標(biāo)識(shí)符,所以也能夠恢復(fù)各組件和資源的多個(gè)版本或級(jí)別。圖22中示出了管理員為恢復(fù)桌面數(shù)據(jù)而采取的步驟的流程圖。
圖22是示出管理員在分發(fā)自包含桌面及隨后在災(zāi)難事件之后恢復(fù)自包含桌面時(shí)所采取的步驟的流程圖。管理員處理開(kāi)始于2200,其中管理員創(chuàng)建將在自包含桌面中使用的組件和資源(步驟2205)。將這些組件和資源存儲(chǔ)于在非易失性存儲(chǔ)區(qū)2210中存儲(chǔ)的庫(kù)中。
將這些組件和資源打包(步驟2215)成各自包含桌面,供各用戶根據(jù)該用戶的角色來(lái)使用。將各自包含桌面存儲(chǔ)于自包含桌面庫(kù)2225中。將各自包含桌面分發(fā)(步驟2220)給各服務(wù)器。管理員分發(fā)處理在2230結(jié)束。關(guān)于自包含桌面的分發(fā)的進(jìn)一步細(xì)節(jié)可在圖17中獲得。
自包含桌面的服務(wù)器接收開(kāi)始于2235,其中服務(wù)器接收自包含桌面包(步驟2240),并將接收到的包存儲(chǔ)于非易失性存儲(chǔ)區(qū)2245中。然后,服務(wù)器將各自包含桌面分發(fā)給需要的客戶端(步驟2250)。關(guān)于自包含桌面的分發(fā)的進(jìn)一步細(xì)節(jié)可在圖18中獲得。
在某一時(shí)刻,發(fā)生災(zāi)難事件,毀壞了管理員所使用的計(jì)算機(jī)系統(tǒng)和存儲(chǔ)設(shè)備中的包、資源和組件(步驟2255)。然后,管理員使用開(kāi)始于步驟2260的恢復(fù)過(guò)程恢復(fù)各自包含桌面信息。管理員識(shí)別出已被毀壞且不再存儲(chǔ)于管理員計(jì)算機(jī)系統(tǒng)上的特殊包(步驟2265)。向各服務(wù)器請(qǐng)求識(shí)別出的包(步驟2270)。
服務(wù)器從管理員接收桌面包請(qǐng)求(步驟2275)。從服務(wù)器的非易失性存儲(chǔ)區(qū)2245檢索所請(qǐng)求的桌面包,并將其傳送給管理員的計(jì)算機(jī)系統(tǒng)(步驟2280),且服務(wù)器恢復(fù)處理在2295結(jié)束。
管理員計(jì)算機(jī)系統(tǒng)接收服務(wù)器發(fā)送的自包含桌面包,并將所接收的桌面包存儲(chǔ)于包庫(kù)2225中(步驟2285)。將這些自包含桌面包拆開(kāi),且將包括在各自包含桌面包中的組件和資源用于重新填充到組件和資源庫(kù)2210中(步驟2290)。此時(shí),所有管理員先前分發(fā)的包、組件和資源均得以恢復(fù),并存儲(chǔ)在適當(dāng)?shù)膸?kù)中。然后,管理員恢復(fù)處理在2298結(jié)束。
圖23是示出客戶端為根據(jù)該客戶端在該組織內(nèi)的角色接收和顯示桌面所采取的步驟的流程圖。處理開(kāi)始于2300,其中該客戶端機(jī)器從服務(wù)器接收第一個(gè)桌面(步驟2305)。將所接收的桌面存儲(chǔ)于客戶端的易失性或非易失性存儲(chǔ)區(qū)中的本地存儲(chǔ)器2315中(步驟2310)。
對(duì)所接收的桌面是否為該客戶端的缺省桌面進(jìn)行判斷(判定2320)。如果接收桌面是缺省桌面,則判定2320轉(zhuǎn)到“是”分支2325,其中將所接收的桌面顯示于客戶端的顯示設(shè)備上(步驟2330)。另一方面,如果所接收的桌面不是缺省桌面,則判定2320跳過(guò)步驟2330而轉(zhuǎn)到“否”分支2335。
對(duì)是否存在更多客戶端要從服務(wù)器接收的桌面進(jìn)行判斷(判定2340)。如果存在更多桌面要接收,則判定2340轉(zhuǎn)到“是”分支2345,其中處理循環(huán)返回以接收下一個(gè)桌面(步驟2350),并判斷該下一個(gè)桌面是否為缺省桌面。該循環(huán)持續(xù)到所有所需桌面均已從服務(wù)器接收到時(shí)為止,此時(shí)判定2340轉(zhuǎn)到“否”分支2355。
對(duì)該客戶端是否可訪問(wèn)不止一個(gè)桌面進(jìn)行判斷(判定2380)。如果可訪問(wèn)不止一個(gè)桌面,則判定2380轉(zhuǎn)到“是”分支2385,其中將可用桌面描述插入為可由該客戶端訪問(wèn)的彈出選擇窗口內(nèi)的項(xiàng)(步驟2390)。例如,用戶可使用諸如鼠標(biāo)的定點(diǎn)設(shè)備在桌面區(qū)域中“右”擊,其會(huì)使彈出菜單顯示出。然后,用戶可從彈出菜單中提供的列表中選擇所需的桌面(參見(jiàn)圖27的示例桌面屏幕和彈出菜單)。例如,如果分支管理人員還具有所指派的信貸員的角色,則該分支管理人員可從彈出菜單中選擇信貸員桌面。在選擇了信貸員桌面之后,會(huì)顯示用于信貸員功能的桌面組件,且其可從桌面區(qū)域中訪問(wèn)。另一方面,如果僅存在一個(gè)該客戶端可訪問(wèn)的桌面,則判定2380跳過(guò)步驟2390而轉(zhuǎn)到“否”分支2392。然后,顯示桌面處理在2395結(jié)束。
圖24是示出服務(wù)器為根據(jù)用戶的角色和工作站的角色向客戶端提供桌面信息所采取的步驟的流程圖。處理開(kāi)始于2400,其中服務(wù)器從客戶端2410接收桌面請(qǐng)求(步驟2405)。該請(qǐng)求包括客戶端的用戶ID、口令和客戶端工作站的MAC地址。
服務(wù)器從包括允許在各工作站上擔(dān)當(dāng)?shù)慕巧墓ぷ髡颈?420中查找該客戶端的MAC地址(步驟2415)。在所示出的例子中,具有MAC地址“123”的工作站被允許執(zhí)行出納員和信貸員功能,而具有MAC地址“456”的工作站僅被允許執(zhí)行分支管理人員功能。
對(duì)是否在工作站表中發(fā)現(xiàn)該客戶端的MAC地址進(jìn)行判斷(判定2425)。如果未發(fā)現(xiàn)MAC地址,則判定2425轉(zhuǎn)到“否”分支2428,其中對(duì)系統(tǒng)是否需要客戶端工作站注冊(cè)進(jìn)行判斷(判定2430)。如果需要工作站注冊(cè),則判定2430轉(zhuǎn)到“是”分支2432,其中向客戶端返回出錯(cuò)消息(步驟2435),指示該客戶端的工作站未注冊(cè),且服務(wù)器處理在2440結(jié)束。另一方面,如果不需要工作站注冊(cè),則判定2430轉(zhuǎn)到“否”分支2442,且處理繼續(xù)。返回到判定2425,如果在工作站表中發(fā)現(xiàn)該客戶端的MAC地址,則判定2425轉(zhuǎn)到“是”分支,且處理繼續(xù)。
從用戶桌面表2455中檢索指派給該用戶的標(biāo)識(shí)符(用戶ID)的第一個(gè)桌面(步驟2450)。在所示出的例子中,用戶ID“Able”指派給了“出納員”角色,而用戶ID“Jones”指派給了“出納員”、“信貸員”和“分支管理人員”角色。對(duì)檢索出的指派給該用戶的桌面是否允許在該用戶正使用的工作站上使用進(jìn)行判斷(判定2460)。如果該桌面允許用于該工作站,則判定2460轉(zhuǎn)到“是”分支2465,其中將該桌面發(fā)送給該客戶端(步驟2470)。另一方面,如果檢索出的桌面不允許在該工作站上使用,則判定2460跳過(guò)步驟2470而轉(zhuǎn)到“否”分支2472。
對(duì)是否存在更多指派給該用戶的角色或桌面進(jìn)行判斷(判定2475)。如果存在更多指派給該用戶的角色,則判定2475轉(zhuǎn)到“是”分支2480,其中選擇指派給該用戶的下一個(gè)桌面(步驟2485),且處理循環(huán)返回以確定該下一個(gè)桌面是否應(yīng)設(shè)置給客戶端。該循環(huán)持續(xù)到對(duì)指派給該用戶的所有桌面均已進(jìn)行處理時(shí)為止,此時(shí)判定2475轉(zhuǎn)到“否”分支2490,且服務(wù)器處理在2495結(jié)束。
圖25是示出服務(wù)器所執(zhí)行的處理及服務(wù)器、客戶端和管理員之間的交互的方框圖。服務(wù)器2500通過(guò)從管理員2575接收角色指派,而執(zhí)行角色識(shí)別功能2570。角色指派包括指派給用戶的角色以及指派給位于整個(gè)網(wǎng)絡(luò)中的工作站的角色。工作站角色存儲(chǔ)于工作站角色數(shù)據(jù)存儲(chǔ)2560中。用戶角色存儲(chǔ)于用戶角色數(shù)據(jù)存儲(chǔ)2555中。
服務(wù)器2500還通過(guò)從管理員2575接收桌面信息,而執(zhí)行桌面收集處理2580。桌面信息存儲(chǔ)于桌面定義數(shù)據(jù)存儲(chǔ)2590中。桌面信息包括自包含桌面,而自包含桌面包括由客戶端2525使用的桌面組件和資源。
服務(wù)器2500從客戶端2525接收用于對(duì)該客戶端進(jìn)行認(rèn)證的認(rèn)證信息,諸如用戶ID和口令。服務(wù)器2500通過(guò)檢查該客戶端的具有位于認(rèn)證數(shù)據(jù)存儲(chǔ)2520中的認(rèn)證數(shù)據(jù)的認(rèn)證信息,而執(zhí)行認(rèn)證處理2510。一旦該客戶端被認(rèn)證,該客戶端接收對(duì)存儲(chǔ)于服務(wù)器2500上的該客戶端的數(shù)據(jù)存儲(chǔ)區(qū)2540的訪問(wèn)。服務(wù)器通過(guò)執(zhí)行主目錄訪問(wèn)過(guò)程2530,提供對(duì)該客戶端的數(shù)據(jù)存儲(chǔ)的訪問(wèn)。以這種方式,不管用戶正使用哪一個(gè)工作站,該用戶都可以訪問(wèn)他或她的數(shù)據(jù)。
服務(wù)器2500執(zhí)行桌面分發(fā)過(guò)程2550,來(lái)確定向客戶端2525發(fā)送哪一個(gè)自包含桌面。桌面分發(fā)過(guò)程2550通過(guò)將存儲(chǔ)在用戶角色數(shù)據(jù)存儲(chǔ)2555中的用戶角色與存儲(chǔ)在工作站角色數(shù)據(jù)存儲(chǔ)2560中的工作站角色進(jìn)行比較來(lái)執(zhí)行。將指派給用戶和工作站二者的桌面或角色分發(fā)給該客戶端。服務(wù)器2500從桌面數(shù)據(jù)存儲(chǔ)2590中檢索桌面信息,并將該桌面信息傳送給客戶端2525。
圖26是示出客戶端在初始化和顯示自包含桌面時(shí)所采取的步驟的流程圖。客戶端2600通過(guò)向服務(wù)器發(fā)送相應(yīng)的信息,來(lái)執(zhí)行認(rèn)證請(qǐng)求、主目錄請(qǐng)求、和口令更新??蛻舳?600使用基礎(chǔ)操作系統(tǒng)平臺(tái)2610執(zhí)行本地操作。JSLLIB 2680是包括用于執(zhí)行本地操作的本地命令和程序的本地庫(kù)。
外殼2605是適于運(yùn)行在該系統(tǒng)中所使用的任何操作系統(tǒng)平臺(tái)(例如,Windows XPTM、OS/2TM、或LinuxTM)上的基于Java的應(yīng)用。該外殼判斷該客戶端注冊(cè)是通過(guò)服務(wù)器遠(yuǎn)程執(zhí)行還是本地執(zhí)行(判定2620)。如果該注冊(cè)遠(yuǎn)程執(zhí)行,則判定2620轉(zhuǎn)到“是”分支2622,其中該客戶端從服務(wù)器接收桌面(步驟2625)。在一個(gè)實(shí)施例中,通過(guò)首先接收桌面列表,然后從該列表檢索各個(gè)桌面,來(lái)接收桌面。
將桌面的列表或映射緩存到位于客戶端機(jī)器上的本地存儲(chǔ)器中(步驟2630)。還將所接收的桌面緩存到本地存儲(chǔ)器中(步驟2635)。返回到判定2620,如果未遠(yuǎn)程接收到桌面,則判定2620跳過(guò)步驟2625、2630和2635而轉(zhuǎn)到“否”分支2638。
從本地存儲(chǔ)器中檢索指派給用戶和工作站二者的桌面(步驟2640)。本地存儲(chǔ)器用于存儲(chǔ)用戶桌面映射2660和桌面2670。桌面是包括顯示和執(zhí)行該桌面所需的桌面組件和資源的自包含包。將檢索出的桌面信息用于創(chuàng)建桌面對(duì)象(步驟2645)。桌面類(lèi)加載程序2650用于創(chuàng)建桌面對(duì)象。從桌面信息中加載諸如國(guó)家語(yǔ)言轉(zhuǎn)換的資源(步驟2655)。桌面類(lèi)加載程序2650還用于加載所需的資源。
此時(shí),已檢索出指派給該工作站中的用戶的桌面,并已使其對(duì)用戶在外殼2605內(nèi)可用。已從自包含桌面中提取出桌面對(duì)象和資源,并已使其對(duì)用戶在外殼2605之上可用。
圖27是顯示于客戶端工作站之上的樣本桌面以及該客戶端可用的其他自包含桌面的彈出菜單的屏幕布局。桌面屏幕布局2700包括若干對(duì)象2750。對(duì)象2750包括可從該桌面訪問(wèn)的桌面組件。每一個(gè)桌面組件對(duì)應(yīng)于可由用戶使用諸如鼠標(biāo)的定點(diǎn)設(shè)備選擇的圖形圖像,諸如圖標(biāo)。
彈出菜單2710包括兩項(xiàng),其允許用戶或改變?cè)撟烂婊蝻@示外殼版本。選擇“改變桌面”項(xiàng)引起桌面選擇菜單2720的顯示。用戶通過(guò)在所需桌面旁邊的框中設(shè)置復(fù)選標(biāo)記,來(lái)選擇所需桌面。在所示出的例子中,在客戶端顯示器上正顯示“管理員”桌面,如桌面選擇菜單2720中示出的復(fù)選標(biāo)記所表明的那樣。如果用戶希望將桌面改變到例如分支管理人員桌面,則該用戶僅使用諸如鼠標(biāo)的定點(diǎn)設(shè)備,并在“分支管理人員”菜單項(xiàng)旁邊的框中設(shè)置復(fù)選標(biāo)記即可。
可根據(jù)已選擇的桌面改變組件2750。例如,因?yàn)椤肮芾韱T”桌面已被選擇,而顯示“分支桌面管理員”桌面組件。但是,如果選擇了諸如“出納員”桌面的另一桌面,則將不再呈現(xiàn)“分支桌面管理員”,且其不能從該顯示器訪問(wèn)。以這種方式,顯示出并可訪問(wèn)用于所選擇的角色的組件,而不顯示或不能訪問(wèn)由不同角色所使用的組件。此外,由多個(gè)角色使用的組件其每一個(gè)都可從對(duì)應(yīng)于這些角色的各桌面獲得。
圖28A是客戶端外殼在顯示和管理桌面時(shí)所使用的目錄的層次圖。外殼主目錄2800包括若干由該客戶端執(zhí)行桌面功能所使用的子目錄。在一個(gè)實(shí)施例中,外殼主目錄及其子目錄存儲(chǔ)于可由該客戶端訪問(wèn)的服務(wù)器之上。在另一個(gè)實(shí)施例中,外殼主目錄及其子目錄存儲(chǔ)于該客戶端機(jī)器本地的非易失性存儲(chǔ)設(shè)備之上。本地庫(kù)2805是用于存儲(chǔ)用于與客戶端的操作系統(tǒng)平臺(tái)接口的程序的子目錄。在一個(gè)實(shí)施例中,本地庫(kù)信息存儲(chǔ)于Java存檔(JAR)文件中。屬性子目錄2810是用于存儲(chǔ)外殼程序所使用的屬性的子目錄。這些屬性可包括顯示屬性和外殼程序所使用的其他配置項(xiàng)。
桌面子目錄2815是自包含桌面文件存儲(chǔ)于其中的目錄。在一個(gè)實(shí)施例中,將自包含桌面文件打包到Java存檔(JAR)文件中。以這種方式,特定桌面所使用的所有組件和資源均被打包,且包括在自包含桌面JAR文件中。日志目錄2820是用于存儲(chǔ)詳述客戶端所采取的行為的基于客戶端的日志?!癈onf”子目錄2825用于存儲(chǔ)外殼應(yīng)用所使用的初始化信息?!癇in”子目錄2830用于存儲(chǔ)用于啟動(dòng)外殼應(yīng)用的可執(zhí)行文件,諸如程序文件。
圖28B是包括在外殼配置文件中的各部分的層次圖。外殼配置文件包括若干部分。這些部分的每一個(gè)包括關(guān)于外殼的特定方面的信息。在一個(gè)實(shí)施例中,外殼配置文件是包括若干部分的XML文件。這些部分包括區(qū)域部分2840,其包括關(guān)于外殼應(yīng)用所使用的區(qū)域的信息,諸如國(guó)家語(yǔ)言轉(zhuǎn)換。組件部分2845包括關(guān)于包括在自包含桌面中的組件的信息。組件包括在用戶選擇適當(dāng)?shù)膱D標(biāo)或其他命令時(shí)可從桌面訪問(wèn)的應(yīng)用和其他程序。文件夾部分2850包括關(guān)于可從桌面訪問(wèn)的各文件夾的信息。工具欄部分2855包括關(guān)于所顯示的和可從桌面訪問(wèn)的各工具欄的信息。桌面部分2860包括關(guān)于桌面的信息,諸如外觀數(shù)據(jù)和策略信息。
圖28C是包括在自包含桌面文件中的對(duì)象的層次圖。在一個(gè)實(shí)施例中,該自包含桌面是Java存檔(JAR)文件。自包含桌面文件2865包括若干組件。組件包括詳述包括在該自包含桌面文件中的對(duì)象的清單2870。組件還包括外殼文檔類(lèi)型定義(DTD)對(duì)象2875。外殼DTD對(duì)象說(shuō)明哪些種屬性用于描述外殼XML文檔中的內(nèi)容、每一個(gè)標(biāo)簽在哪里被允許、及哪些標(biāo)簽可以呈現(xiàn)在其他標(biāo)簽之內(nèi)。類(lèi)對(duì)象2880包括桌面所使用的Java類(lèi)。資源2885包括桌面所使用的資源信息,諸如國(guó)家語(yǔ)言轉(zhuǎn)換信息。JAR對(duì)象2890包括打包為其他JAR文件的桌面所需的其他對(duì)象。XML對(duì)象2895包括用于描述自包含桌面的XML文檔。
圖29是示出為初始化客戶端的工作站以使用自包含桌面而采取的步驟的流程圖。處理開(kāi)始于2900,其中提示用戶2920輸入用戶ID和口令(步驟2910)。從用戶處接收用戶ID和口令(步驟2925)。當(dāng)通過(guò)認(rèn)證時(shí),JSL將諸如Java虛擬機(jī)(JVM)的虛擬機(jī)加載到客戶端操作系統(tǒng)平臺(tái)上(步驟2930)。將該虛擬機(jī)器設(shè)計(jì)為執(zhí)行諸如Java應(yīng)用的平臺(tái)無(wú)關(guān)代碼。以這種方式,可以諸如Java的獨(dú)立于平臺(tái)的語(yǔ)言編寫(xiě)相同的桌面,并將其執(zhí)行于已實(shí)現(xiàn)了所需的虛擬機(jī)的各種平臺(tái)上。
調(diào)用基于Java的鎖定外殼(步驟2940),以提供桌面環(huán)境并防止用戶訪問(wèn)客戶端機(jī)器所使用的基礎(chǔ)操作系統(tǒng)。向服務(wù)器請(qǐng)求指派給工作站和用戶二者的桌面(步驟2945)。服務(wù)器2950接收請(qǐng)求,并通過(guò)向客戶端發(fā)送自包含桌面進(jìn)行響應(yīng)。客戶端從服務(wù)器接收響應(yīng)(步驟2955)。該響應(yīng)可能是出錯(cuò)消息或是桌面列表。
對(duì)是否從服務(wù)器接收了出錯(cuò)消息進(jìn)行判斷(判定2960)。如果接收到了出錯(cuò)消息,則判定2960轉(zhuǎn)到“是”分支2962,其中在客戶端的顯示設(shè)備上顯示出錯(cuò)消息(步驟2965),且處理在2995結(jié)束。另一方面,如果未接收到出錯(cuò)消息,則判定2960轉(zhuǎn)到“否”分支2968,其中對(duì)是否存在任何桌面以顯示在該客戶端的顯示設(shè)備上進(jìn)行判斷(判定2970)。如果在該客戶端的顯示設(shè)備上沒(méi)有桌面顯示,則判定2970轉(zhuǎn)到“是”分支2972,通知用戶沒(méi)有桌面可顯示(步驟2975),且處理在2995結(jié)束。另一方面,如果存在指派給該用戶和工作站的桌面,則判定2970轉(zhuǎn)到“否”分支2978,其中將該桌面顯示在該客戶端的顯示設(shè)備上(預(yù)定過(guò)程2980),且處理在2995結(jié)束。
圖30是示出在客戶端初始化期間所采取的步驟的流程圖。處理開(kāi)始于3000,其中執(zhí)行本地注冊(cè)代碼(步驟3005)。從用戶處收集注冊(cè)數(shù)據(jù),并將其發(fā)送給服務(wù)器,以供處理(步驟3010)。服務(wù)器向客戶端發(fā)回響應(yīng),該響應(yīng)在步驟3015被接收。
對(duì)用戶是否通過(guò)認(rèn)證進(jìn)行判斷(判定3020)。如果該用戶未通過(guò)認(rèn)證,則判定3020轉(zhuǎn)到“否”分支3025,其中處理在3030結(jié)束。另一方面,如果用戶通過(guò)認(rèn)證,則判定3020轉(zhuǎn)到“是”分支3035,繼續(xù)進(jìn)行初始化。
在客戶端工作站上調(diào)用諸如Java虛擬機(jī)的虛擬機(jī)應(yīng)用(步驟3040)。在Java環(huán)境中啟動(dòng)鎖定進(jìn)程,以便鎖定外殼并防止用戶在未使用外殼環(huán)境的情況下使用基礎(chǔ)操作系統(tǒng)(步驟3045)。向服務(wù)器查詢已指派給用戶/工作站的桌面(步驟3050)??蛻舳私邮湛捎米烂媪斜恚⑺谐龅淖烂嫘畔⑴c已緩存在該客戶端工作站上的桌面數(shù)據(jù)進(jìn)行比較(步驟3060)。從服務(wù)器檢索包括在列表中但還未緩存在該客戶端工作站上的桌面,并將其緩存在該客戶端工作站上(步驟3070)。將接收到的桌面存儲(chǔ)于客戶機(jī)可訪問(wèn)的緩沖存儲(chǔ)器3075中。從可用桌面列表中選擇初始或缺省的桌面(步驟3080)。然后,將構(gòu)成缺省桌面的組件顯示于客戶端顯示設(shè)備上,而使其他可用桌面通過(guò)彈出窗口對(duì)用戶可用(預(yù)定過(guò)程3090,參見(jiàn)圖27桌面顯示的例子)。然后,客戶端初始化處理在3095結(jié)束。
圖31是示出在本地操作系統(tǒng)注冊(cè)期間采取的步驟的流程圖。本地操作系統(tǒng)注冊(cè)處理開(kāi)始于3100,其中向用戶顯示可用網(wǎng)絡(luò)域的列表(步驟3110)。用戶從該列表選擇一個(gè)域(步驟3120)。對(duì)是本地還是遠(yuǎn)端認(rèn)證該客戶端進(jìn)行判斷(判定3130)。如果本地認(rèn)證該客戶端,則判定3130轉(zhuǎn)到“是”分支3135,其中在本地機(jī)器處對(duì)用戶進(jìn)行認(rèn)證(步驟3140)。另一方面,如果不在本地認(rèn)證用戶,則判定3130轉(zhuǎn)到“否”分支3145,其中在該客戶端所連接的服務(wù)器上對(duì)用戶進(jìn)行認(rèn)證(步驟3150)。
對(duì)該客戶端是否通過(guò)認(rèn)證進(jìn)行判斷(判定3160)。如果用戶未通過(guò)認(rèn)證,則判定3160轉(zhuǎn)到“否”分支3165,其中在該客戶端的顯示設(shè)備上顯示出錯(cuò)消息(步驟3170),且處理在3195結(jié)束。另一方面,如果用戶通過(guò)認(rèn)證,則判定3160轉(zhuǎn)到“是”分支3175,其中調(diào)用Java外殼啟動(dòng)程序(預(yù)定過(guò)程3180,參見(jiàn)圖32的處理細(xì)節(jié)),且處理在3195結(jié)束。
圖32是示出當(dāng)調(diào)用Java外殼啟動(dòng)程序時(shí)所采取的步驟的流程圖。Java外殼啟動(dòng)程序執(zhí)行開(kāi)始于3200,其中對(duì)類(lèi)路徑、或目錄進(jìn)行設(shè)置(步驟3210)。將Java虛擬機(jī)(JVM)加載到客戶端計(jì)算設(shè)備上(步驟3220)。
對(duì)是本地還是遠(yuǎn)程啟動(dòng)Jshell應(yīng)用進(jìn)行判斷(判定3230)。如果本地啟動(dòng)該Jshell應(yīng)用,則判定3230轉(zhuǎn)到“本地”分支3235,其中以用戶的用戶ID作為參數(shù)啟動(dòng)該Jshell應(yīng)用(步驟3240)。另一方面,如果遠(yuǎn)程啟動(dòng)該Jshell應(yīng)用,則判定3230轉(zhuǎn)到“遠(yuǎn)程”分支3245,其中通過(guò)將服務(wù)器主機(jī)名、用戶ID、和平臺(tái)ID提供為參數(shù)而遠(yuǎn)程啟動(dòng)該Jshell應(yīng)用(步驟3250)。
在啟動(dòng)了Jshell應(yīng)用之后,JSL列舉OS窗口列表,以找到對(duì)應(yīng)于該Java外殼的窗口(步驟3260)。將該Java外殼窗口固定到操作系統(tǒng)窗口的Z順序列表的底部,以便該Java外殼窗口將總保留在前臺(tái)(步驟3270)。最大化該Java外殼窗口,以適應(yīng)顯示屏,并從該Java外殼窗口移除諸如最小化和調(diào)整大小按鈕的所有框架控件(步驟3280)。以這種方式,外殼應(yīng)用作為前臺(tái)頁(yè)呈現(xiàn)于顯示屏上,并防止用戶使用本地操作系統(tǒng)平臺(tái)所提供的外殼頁(yè)。Java外殼啟動(dòng)處理在3295結(jié)束。
圖33A是示出智能圖形組件的示例的屏幕布局。實(shí)際的容器類(lèi)型對(duì)應(yīng)于諸如C++和Java中的類(lèi)或C中的結(jié)構(gòu)的實(shí)現(xiàn)結(jié)構(gòu)。該實(shí)現(xiàn)結(jié)構(gòu)稱(chēng)為類(lèi)類(lèi)型。該智能組件在運(yùn)行時(shí)試圖確定其父組件(例如,容器)的類(lèi)類(lèi)型。如果所識(shí)別出的類(lèi)類(lèi)型是該組件所認(rèn)識(shí)的類(lèi)型,則該組件根據(jù)所識(shí)別出的類(lèi)類(lèi)型更改其行為和外觀。此行為和外觀更改可以編程方式合并到智能組件中,或從配置文件中讀出。如果不認(rèn)識(shí)父組件的類(lèi)類(lèi)型,則可將該組件編程為沿其父層次上升,直到發(fā)現(xiàn)所認(rèn)識(shí)的容器為止。以這種方式,可將該組件置于具有未知類(lèi)類(lèi)型的容器中,但如果父容器其自身處于另一個(gè)具有已知類(lèi)類(lèi)型的容器中,則該組件可將其自身配置為好像其已直接被置于該已知類(lèi)類(lèi)型的容器中。
該智能組件的外觀和行為由其父容器的類(lèi)類(lèi)型確定。例如,如果智能圖標(biāo)的父類(lèi)類(lèi)型是桌面,則其將顯示文本描述。然而,如果同一智能圖標(biāo)的父類(lèi)類(lèi)型是工具欄,則其將不顯示文本描述。此外,智能圖標(biāo)行為可根據(jù)父容器的類(lèi)型而不同。例如,如果圖標(biāo)置于工具欄中,則其可被設(shè)計(jì)為當(dāng)用戶將鼠標(biāo)指針置于其上時(shí)其突出自身邊界。但是,如果同樣的圖標(biāo)置于桌面上,則其可被設(shè)計(jì)為當(dāng)指針掠過(guò)它時(shí)不顯示邊界。另外,智能圖標(biāo)可被設(shè)計(jì)為當(dāng)被激活時(shí)執(zhí)行不同的與依賴(lài)于其所屬容器類(lèi)型的組件相關(guān)的代碼。
屏幕圖像3300包括時(shí)鐘形式的智能圖形組件的兩個(gè)例子。時(shí)鐘3305是已置于工具欄容器中的組件。時(shí)鐘3330是同一組件,但此時(shí)該時(shí)鐘已置于桌面容器中。對(duì)象的外觀和行為根據(jù)該對(duì)象所屬的父對(duì)象或容器的類(lèi)型而改變。在所示出的例子中,時(shí)鐘3305因?yàn)楦腹ぞ邫谌萜髦械妮^小可用區(qū)域而被顯示為數(shù)字時(shí)間。相反,時(shí)鐘3330因?yàn)樽烂嫒萜髦休^大的可用區(qū)域而顯示模擬時(shí)間。此外,時(shí)鐘3330在模擬時(shí)鐘圖像下面顯示諸如數(shù)字時(shí)間和日期的附加信息。此外,時(shí)鐘3330在對(duì)象下面顯示對(duì)象名稱(chēng)(如“時(shí)鐘”)。
當(dāng)用戶選擇位于工具欄中的時(shí)鐘3305時(shí),彈出窗口3320便顯示出。彈出窗口3320顯示星期幾、日期,并具有調(diào)整時(shí)間/日期和設(shè)置通知的菜單項(xiàng)。
圖33B是示出智能圖形組件的第二示例的屏幕布局。屏幕圖像3350類(lèi)似于圖33A中示出的屏幕圖像,然而圖33B中的時(shí)鐘3330已被選擇,且彈出菜單3390被顯示出。圖33B中示出的所顯示的彈出菜單的行為不同于圖33A中示出的同一時(shí)鐘組件的行為。具體地,在圖33B中,用戶具有關(guān)于數(shù)字時(shí)鐘、星期幾、以及顯示日期是否應(yīng)與模擬時(shí)鐘一起示出的顯示選項(xiàng)。因?yàn)樵谧烂嫒萜鞫皇窃诠ぞ邫谌萜髦休^大的用于示出圖標(biāo)的區(qū)域,而使得這些附加顯示選項(xiàng)可用。
圖34是示出各種桌面對(duì)象的層次圖。桌面對(duì)象3400位于該層次圖的頂端,且其包括組件對(duì)象3410和容器對(duì)象3470。組件對(duì)象3410包括可視組件3420和不可視組件3440??梢暯M件對(duì)象包括圖標(biāo)3425、文件夾3430和工具欄3435。不可視組件對(duì)象包括應(yīng)用擴(kuò)展代碼3445和應(yīng)用定義3450。
如名稱(chēng)所暗示的,容器對(duì)象3470包括的對(duì)象可包括或持有其他對(duì)象。容器對(duì)象包括文件夾3480和工具欄3490。諸如圖標(biāo)的可視組件可包括在容器對(duì)象中。
圖35是示出初始化智能圖形組件時(shí)所采取的步驟的流程圖。智能圖形組件初始化處理開(kāi)始于3500,其中為組件選擇一個(gè)面向?qū)ο蟮母笇?duì)象(步驟3510)。檢索選擇出的父對(duì)象的面向?qū)ο箢?lèi)類(lèi)型(步驟3520)。對(duì)檢索出的類(lèi)類(lèi)型是否是認(rèn)識(shí)的類(lèi)類(lèi)型(諸如文件夾或工具欄)進(jìn)行判斷(判定3525)。如果檢索出的類(lèi)類(lèi)型不認(rèn)識(shí),則判定3525轉(zhuǎn)到“否”分支3545,其中對(duì)在對(duì)象層次中是否存在更多父對(duì)象進(jìn)行判斷(判定3550)。如果在對(duì)象層次中存在更多父對(duì)象,則選擇最后選擇出的對(duì)象的父對(duì)象(即最后的父對(duì)象的父對(duì)象,或本對(duì)象的祖父對(duì)象)(步驟3560),且處理循環(huán)返回,以確定最近選出的對(duì)象是否是認(rèn)識(shí)的類(lèi)類(lèi)型。該循環(huán)持續(xù)到或者發(fā)現(xiàn)所認(rèn)識(shí)的類(lèi)類(lèi)型,或者在對(duì)象層次中不再有父對(duì)象時(shí)為止。如果發(fā)現(xiàn)了認(rèn)識(shí)的類(lèi)類(lèi)型,則判定3525轉(zhuǎn)到“是”分支3530,其中選擇所認(rèn)識(shí)的類(lèi)類(lèi)型(步驟3540)。另一方面,如果在對(duì)象層次中不再有父對(duì)象,則判定3550轉(zhuǎn)到“否”分支3565,其中對(duì)該對(duì)象選擇缺省類(lèi)類(lèi)型(步驟3570)。
檢索對(duì)應(yīng)于所選擇的類(lèi)類(lèi)型的組件外觀數(shù)據(jù)(諸如圖標(biāo)大小和其他顯示特性)和對(duì)象行為特性(步驟3575)。例如,如果檢索出的類(lèi)類(lèi)型為工具欄,則該圖標(biāo)大小和顯示特性應(yīng)依據(jù)顯示在工具欄中的圖標(biāo)可用的較小區(qū)域。但是,如果檢索出的類(lèi)類(lèi)型為桌面,則該圖標(biāo)大小和顯示特性則依據(jù)該桌面中可用的較大區(qū)域。
使用檢索出的對(duì)應(yīng)于該類(lèi)類(lèi)型的外觀數(shù)據(jù)顯示該組件。系統(tǒng)等待該組件被調(diào)用(步驟3585,即直到該組件被用戶選擇)。當(dāng)該組件被調(diào)用時(shí),使用對(duì)應(yīng)于該類(lèi)類(lèi)型的行為屬性來(lái)執(zhí)行該組件(步驟3590)。
圖36是示出在處理智能圖形組件的顯示屬性時(shí)所采取的步驟的流程圖。智能桌面處理開(kāi)始于3600,其中對(duì)類(lèi)類(lèi)型是否是工具欄進(jìn)行判斷(判定3605)。如果該類(lèi)類(lèi)型是工具欄,則判定3605轉(zhuǎn)到“是”分支3610,其中檢索該組件的工具欄圖標(biāo),并將其顯示在工具欄中(步驟3615),在該工具欄中繪制圍繞該圖標(biāo)的邊界(步驟3620),且處理在3625結(jié)束。
如果該類(lèi)類(lèi)型不是工具欄,則判定3605轉(zhuǎn)到“否”分支3630,其中對(duì)該類(lèi)類(lèi)型是否是文件夾進(jìn)行判斷(判定3635)。如果該類(lèi)類(lèi)型是文件夾,則判定3635轉(zhuǎn)到“是”分支3640,其中檢索該組件的文件夾圖標(biāo),并將其顯示在文件夾中(步驟3645),在該圖標(biāo)下面顯示簡(jiǎn)短組件描述(步驟3650),且處理在3655結(jié)束。
如果該類(lèi)類(lèi)型不是工具欄或文件夾,則判定3635轉(zhuǎn)到“否”分支3660,其中對(duì)該類(lèi)類(lèi)型是否是桌面進(jìn)行判斷(判定3665)。如果該類(lèi)類(lèi)型是桌面,則判定3665轉(zhuǎn)到“是”分支3668,其中檢索顯示在桌面上的較大圖標(biāo)(步驟3670),在該圖標(biāo)下面顯示較長(zhǎng)組件描述(步驟3675),且處理在3680結(jié)束。
如果該類(lèi)類(lèi)型不是工具欄、文件夾、或桌面,則判定3665轉(zhuǎn)到“否”分支3682,其中檢索并顯示缺省圖標(biāo)(步驟3685),檢索其他缺省顯示特性,并將其應(yīng)用于該圖標(biāo)(步驟3690),且處理在3695結(jié)束。
圖37是示出在處理智能圖形組件的行為屬性時(shí)所采取的步驟的流程圖。智能桌面處理開(kāi)始于3700,其中對(duì)所調(diào)用的組件是否具有工具欄類(lèi)類(lèi)型的父組件進(jìn)行判斷(判定3705)。如果所調(diào)用的組件具有工具欄父類(lèi)類(lèi)型,則判定3705轉(zhuǎn)到“是”分支3710,其中檢索該組件的工具欄行為(步驟3715),執(zhí)行檢索出的工具欄行為(步驟3720),且處理在3725結(jié)束。
如果所調(diào)用的組件不具有工具欄類(lèi)類(lèi)型的父組件,則判定3705轉(zhuǎn)到“否”分支3730,其中對(duì)所調(diào)用的組件是否具有文件夾類(lèi)類(lèi)型的父組件進(jìn)行判斷(判定3735)。如果所調(diào)用的組件具有文件夾父類(lèi)類(lèi)型,則判定3735轉(zhuǎn)到“是”分支3740,其中檢索該組件的文件夾行為(步驟3745),并執(zhí)行(3750),且處理在3755結(jié)束。
如果所調(diào)用的組件不具有任何工具欄或文件夾類(lèi)類(lèi)型的父組件,則判定3735轉(zhuǎn)到“否”分支3760,其中對(duì)所調(diào)用的組件是否具有桌面類(lèi)類(lèi)型的父組件進(jìn)行判斷(判定3765)。如果所調(diào)用的組件具有桌面父類(lèi)類(lèi)型,則判定3765轉(zhuǎn)到“是”分支3768,其中檢索該組件的桌面行為(步驟3770),執(zhí)行(步驟3775),且處理在3780結(jié)束。
如果所調(diào)用的組件不具有工具欄、文件夾或桌面類(lèi)類(lèi)型的父組件,則判定3765轉(zhuǎn)到“否”分支3782,其中檢索該組件缺省行為(步驟3785),執(zhí)行(步驟3790)、且處理在步驟3795結(jié)束。
圖38示出信息處理系統(tǒng)3801,其是能夠?qū)崿F(xiàn)這里所描述的操作的計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化示例。計(jì)算機(jī)系統(tǒng)3801包括處理器3800,其與主機(jī)總線3805相連。二級(jí)(L2)高速緩存3810也與主機(jī)總線3805相連。主機(jī)-PCI橋3815與主存儲(chǔ)器3820相連,其包括高速緩沖存儲(chǔ)器和主存儲(chǔ)器控制功能,并提供總線控制以處理PCI總線3825、處理器3800、L2高速緩存3810、主存儲(chǔ)器3820和主機(jī)總線3805之間的轉(zhuǎn)換。PCI總線3825提供對(duì)于包括例如LAN卡3830的各種設(shè)備的接口。PCI-ISA橋3835提供總線控制,以處理PCI總線3825與ISA總線3840、通用串行總線(USB)功能3845、IDE設(shè)備功能3850、電源管理功能3855之間的轉(zhuǎn)換,且可包括其他未示出的功能組件,諸如實(shí)時(shí)時(shí)鐘(RTC)、DMA控制、中斷支持、和系統(tǒng)管理總線支持。外圍設(shè)備和輸入/輸出(I/O)設(shè)備可連接到各接口3860(例如,連接到ISA總線3840的并行接口3862、串行接口3864、紅外(IR)接口3866、鍵盤(pán)接口3868、鼠標(biāo)接口3870、固定盤(pán)(HDD)3872)??蛇x地,連接到ISA總線3840的超級(jí)I/O控制器(未示出)可協(xié)調(diào)多個(gè)I/O設(shè)備。
BIOS 3880連接到ISA總線3840,且包括各種低級(jí)系統(tǒng)功能和系統(tǒng)引導(dǎo)功能的必要的處理器可執(zhí)行代碼。BIOS 3880可存儲(chǔ)于任何計(jì)算機(jī)可讀介質(zhì)中,包括磁存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、快閃存儲(chǔ)器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器和傳送對(duì)指令進(jìn)行編碼的信號(hào)(例如,來(lái)自網(wǎng)絡(luò)的信號(hào))的通信介質(zhì)。為了將計(jì)算機(jī)系統(tǒng)3801連接到另一臺(tái)計(jì)算機(jī)系統(tǒng),以通過(guò)網(wǎng)絡(luò)復(fù)制文件,將LAN卡3830連接到PCT總線3825并連接到PCI-ISA橋3835。類(lèi)似地,為使計(jì)算機(jī)系統(tǒng)3801使用電話線連接而連接到ISP,從而連接到互聯(lián)網(wǎng),將調(diào)制解調(diào)器3875連接到串行端口3864和PCI-ISA橋3835。
盡管圖38中描述的計(jì)算機(jī)系統(tǒng)能夠?qū)崿F(xiàn)這里所描述的本發(fā)明,但該計(jì)算機(jī)系統(tǒng)僅是計(jì)算機(jī)系統(tǒng)的一個(gè)示例。本領(lǐng)域的技術(shù)人員將理解,多種其他計(jì)算機(jī)系統(tǒng)設(shè)計(jì)都能夠?qū)崿F(xiàn)這里描述的本發(fā)明。
本發(fā)明的一個(gè)優(yōu)選實(shí)現(xiàn)是以代碼模塊的應(yīng)用,即一組指令(程序代碼),其可例如駐留于該計(jì)算機(jī)的隨機(jī)存儲(chǔ)器中。在計(jì)算機(jī)需要時(shí),可將該組指令存儲(chǔ)于另一計(jì)算機(jī)存儲(chǔ)器中,例如在硬盤(pán)驅(qū)動(dòng)器上、或在諸如光盤(pán)(供最終在CD ROM中使用)或軟盤(pán)(供最終在軟盤(pán)驅(qū)動(dòng)器中使用)的可移動(dòng)存儲(chǔ)器,或通過(guò)互聯(lián)網(wǎng)或其他計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行下載。這樣,本發(fā)明可實(shí)現(xiàn)為在該計(jì)算機(jī)中使用的計(jì)算機(jī)程序產(chǎn)品。此外,盡管所示出的各種方法選擇性地由軟件激活或重新配置而便利地實(shí)現(xiàn)于通用計(jì)算機(jī)中,本領(lǐng)域的普通技術(shù)人員還應(yīng)該認(rèn)識(shí)到,這樣的方法可以構(gòu)造為執(zhí)行所需方法步驟的硬件、固件、或更多的專(zhuān)用裝置來(lái)實(shí)現(xiàn)。
盡管已示出和描述了本發(fā)明的特定實(shí)施例,但對(duì)于本領(lǐng)域的技術(shù)人員顯而易見(jiàn)地,根據(jù)這里的教導(dǎo)可以作出變換和修改,而不背離本發(fā)明及其更寬泛方面,因此,所附權(quán)利要求旨在將所有這樣的處在本發(fā)明的真正實(shí)質(zhì)和范圍中的變換和修改包括在其范圍之內(nèi)。此外,應(yīng)該理解,本發(fā)明僅由所附權(quán)利要求定義。
本領(lǐng)域的技術(shù)人員應(yīng)該理解,如果意欲特定數(shù)量的所引入的權(quán)利要求要素,則這種意欲將明確陳述在該權(quán)利要求中,當(dāng)不存在這種陳述時(shí),則不存在這種限制。對(duì)于作為有助于理解的非限制性示例,下面的所附權(quán)利要求包含引入權(quán)利要求要素的引入性語(yǔ)句“至少一個(gè)”和“一個(gè)或多個(gè)”的使用。但是,這種短語(yǔ)的使用也不應(yīng)被認(rèn)為暗示由不定冠詞“一”引入的權(quán)利要求要素將包含這樣引入的權(quán)利要求要素的任何特定權(quán)利要求限制為僅包含一個(gè)這樣的要素的發(fā)明,即使當(dāng)同一權(quán)利要求包括引入性短語(yǔ)“一個(gè)或多個(gè)”或“至少一個(gè)”和諸如“一”的不定冠詞時(shí)也是如此;對(duì)于權(quán)利要求中定冠詞的使用也是如此。
權(quán)利要求
1.一種用于第一計(jì)算機(jī)系統(tǒng)恢復(fù)組件文件的方法,所述方法包括將一個(gè)或多個(gè)組件文件打包到一個(gè)或多個(gè)自包含包文件中;將上述自包含包文件通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)傳送給一個(gè)或多個(gè)第二計(jì)算機(jī)系統(tǒng);識(shí)別在其期間一個(gè)或多個(gè)上述組件文件變得從第一計(jì)算機(jī)系統(tǒng)不再可用的災(zāi)難事件;響應(yīng)識(shí)別出的災(zāi)難事件,向一個(gè)或多個(gè)上述第二計(jì)算機(jī)系統(tǒng)請(qǐng)求一個(gè)或多個(gè)上述自包含包文件;響應(yīng)該請(qǐng)求,從一個(gè)或多個(gè)上述第二計(jì)算機(jī)系統(tǒng)接收自包含包文件;從所接收的自包含包文件中拆出組件;以及將上述組件存儲(chǔ)在第一計(jì)算機(jī)系統(tǒng)可訪問(wèn)的非易失性存儲(chǔ)設(shè)備上。
2.如權(quán)利要求1中所述的方法,進(jìn)一步包括創(chuàng)建詳述包括在每個(gè)自包含包文件中的組件文件的清單文件;將包括在該清單文件中的組件文件與在災(zāi)難事件之后存在的組件文件進(jìn)行比較;以及根據(jù)上述比較識(shí)別要向第二計(jì)算機(jī)系統(tǒng)請(qǐng)求的自包含包文件。
3.如權(quán)利要求1中所述的方法,進(jìn)一步包括為每個(gè)自包含包文件創(chuàng)建清單文件,該清單文件詳述包括在該自包含包文件中的組件文件;以及將該清單文件與組件文件一起打包到自包含包文件中。
4.如權(quán)利要求1中所述的方法,進(jìn)一步包括向每個(gè)組件文件和每個(gè)自包含包文件指派唯一標(biāo)識(shí)符。
5.如權(quán)利要求4中所述的方法,進(jìn)一步包括從上述第二計(jì)算機(jī)系統(tǒng)接收唯一標(biāo)識(shí)符的列表;將所接收的唯一標(biāo)識(shí)符列表與在災(zāi)難事件之后存在于第一計(jì)算機(jī)系統(tǒng)上的自包含包文件進(jìn)行比較;以及根據(jù)上述比較識(shí)別要向上述第二計(jì)算機(jī)系統(tǒng)請(qǐng)求的自包含包文件。
6.如權(quán)利要求1中所述的方法,其中管理員使用第一計(jì)算機(jī)系統(tǒng)創(chuàng)建自包含包文件,其中每個(gè)自包含包文件對(duì)應(yīng)于組織中的用戶所擔(dān)當(dāng)?shù)囊唤巧?br> 7.如權(quán)利要求1中所述的方法,其中上述第二計(jì)算機(jī)系統(tǒng)是根據(jù)一個(gè)或多個(gè)客戶端計(jì)算機(jī)系統(tǒng)的用戶所擔(dān)當(dāng)?shù)慕巧蛟撘粋€(gè)或多個(gè)客戶端計(jì)算機(jī)系統(tǒng)提供自包含包文件的服務(wù)器計(jì)算機(jī)系統(tǒng)。
8.如權(quán)利要求1中所述的方法,進(jìn)一步包括選擇要包括在自包含包文件中的組件文件,其中至少一個(gè)組件文件包括適于從桌面外殼啟動(dòng)的程序代碼,而該桌面外殼適于運(yùn)行在多種操作系統(tǒng)上;以及將上述自包含包文件存儲(chǔ)在包文件庫(kù)中,其中每個(gè)包文件適于被傳送到客戶端計(jì)算機(jī)系統(tǒng)。
9.如權(quán)利要求1種所述的方法,其中至少一個(gè)組件文件選自于包括圖標(biāo)文件、圖像文件、應(yīng)用擴(kuò)展文件、屏幕外觀文件、國(guó)家語(yǔ)言轉(zhuǎn)換文件、客戶端配置文件和服務(wù)器配置文件的組。
10.如權(quán)利要求1中所述的方法,其中上述災(zāi)難事件選自于包括非易失性存儲(chǔ)設(shè)備故障、一個(gè)或多個(gè)組件文件的刪除、一個(gè)或多個(gè)自包含包文件的刪除、計(jì)算機(jī)系統(tǒng)故障、自然災(zāi)害、火災(zāi)、和水災(zāi)的組。
11.一種信息處理系統(tǒng),包括一個(gè)或多個(gè)處理器;上述處理器可訪問(wèn)的存儲(chǔ)區(qū);上述處理器可訪問(wèn)的非易失性存儲(chǔ)設(shè)備;上述處理器執(zhí)行的用于管理該信息處理系統(tǒng)的操作系統(tǒng);上述處理器可訪問(wèn)的用于將該信息處理系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)相連的網(wǎng)絡(luò)接口;以及用于恢復(fù)組件文件的恢復(fù)工具,該恢復(fù)工具包括用于將一個(gè)或多個(gè)組件文件打包到存儲(chǔ)于上述非易失性存儲(chǔ)設(shè)備上的一個(gè)或多個(gè)自包含包文件中的裝置;用于將上述自包含包文件通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)傳送給一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)的裝置;用于響應(yīng)識(shí)別出的災(zāi)難事件,向一個(gè)或多個(gè)上述計(jì)算機(jī)系統(tǒng)請(qǐng)求一個(gè)或多個(gè)上述自包含包文件的裝置;用于響應(yīng)該請(qǐng)求,從一個(gè)或多個(gè)上述計(jì)算機(jī)系統(tǒng)接收自包含包文件的裝置;用于從所接收的自包含包文件中拆出組件的裝置;以及用于將上述組件存儲(chǔ)在上述非易失性存儲(chǔ)設(shè)備上的裝置。
12.如權(quán)利要求11中所述的信息處理系統(tǒng),進(jìn)一步包括用于創(chuàng)建詳述包括在每個(gè)自包含包文件中的組件文件的清單文件的裝置;用于將包括在該清單文件中的組件文件與在災(zāi)難事件之后存在的組件文件進(jìn)行比較的裝置;以及用于根據(jù)上述比較識(shí)別要向第二計(jì)算機(jī)系統(tǒng)請(qǐng)求的自包含包文件的裝置。
13.如權(quán)利要求11中所述的信息處理系統(tǒng),進(jìn)一步包括用于為每個(gè)自包含包文件創(chuàng)建清單文件的裝置,該清單文件詳述包括在該自包含包文件中的組件文件;以及用于將該清單文件與組件文件一起打包到該自包含包文件中的裝置。
14.如權(quán)利要求11中所述的信息處理系統(tǒng),進(jìn)一步包括用于向每個(gè)組件文件和每個(gè)自包含包文件指派唯一標(biāo)識(shí)符的裝置。
15.如權(quán)利要求14中所述的信息處理系統(tǒng),進(jìn)一步包括用于從上述第二計(jì)算機(jī)系統(tǒng)接收唯一標(biāo)識(shí)符列表的裝置;用于將所接收的唯一標(biāo)識(shí)符列表與在災(zāi)難事件之后存在于第一計(jì)算機(jī)系統(tǒng)上的自包含包文件進(jìn)行比較的裝置;以及用于根據(jù)上述比較識(shí)別要向上述第二計(jì)算機(jī)系統(tǒng)請(qǐng)求的自包含包文件的裝置。
16.如權(quán)利要求11中所述的信息處理系統(tǒng),其中管理員使用第一計(jì)算機(jī)系統(tǒng)創(chuàng)建自包含包文件,其中每個(gè)自包含包文件對(duì)應(yīng)于組織中的用戶所擔(dān)當(dāng)?shù)囊唤巧?br> 17.如權(quán)利要求11中所述的信息處理系統(tǒng),其中上述第二計(jì)算機(jī)系統(tǒng)是根據(jù)一個(gè)或多個(gè)客戶端計(jì)算機(jī)系統(tǒng)的用戶所擔(dān)當(dāng)?shù)慕巧蛟撘粋€(gè)或多個(gè)客戶端計(jì)算機(jī)系統(tǒng)提供自包含包文件的服務(wù)器計(jì)算機(jī)系統(tǒng)。
18.如權(quán)利要求11中所述的信息處理系統(tǒng),進(jìn)一步包括用于選擇要包括在自包含包文件中的組件文件的裝置,其中至少一個(gè)組件文件包括適于從桌面外殼啟動(dòng)的程序代碼,而該桌面外殼適于運(yùn)行在多種操作系統(tǒng)上;以及用于將上述自包含包文件存儲(chǔ)在上述非易失性存儲(chǔ)設(shè)備上存儲(chǔ)的包文件庫(kù)中的裝置,其中每個(gè)包文件適于被傳送到客戶端計(jì)算機(jī)系統(tǒng)。
19.如權(quán)利要求11中所述的信息處理系統(tǒng),其中至少一個(gè)組件文件選自于包括圖標(biāo)文件、圖像文件、應(yīng)用擴(kuò)展文件、屏幕外觀文件、國(guó)家語(yǔ)言轉(zhuǎn)換文件、客戶端配置文件和服務(wù)器配置文件的組。
20.如權(quán)利要求11中所述的信息處理系統(tǒng),其中上述災(zāi)難事件選自于包括非易失性存儲(chǔ)設(shè)備故障、一個(gè)或多個(gè)組件文件的刪除、一個(gè)或多個(gè)自包含包文件的刪除、計(jì)算機(jī)系統(tǒng)故障、自然災(zāi)害、火災(zāi)、和水災(zāi)的組。
21.具有程序代碼手段的計(jì)算機(jī)程序,當(dāng)該程序在計(jì)算機(jī)系統(tǒng)中執(zhí)行時(shí)該程序代碼手段實(shí)現(xiàn)根據(jù)權(quán)利要求1至20中任一項(xiàng)的方法步驟。
22.根據(jù)權(quán)利要求21的存儲(chǔ)于計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序。
全文摘要
本發(fā)明提供了一種集中管理桌面包的系統(tǒng)和方法,允許管理員恢復(fù)先前發(fā)送到位于整個(gè)組織中的服務(wù)器的組件文件。將應(yīng)用指派給用戶和工作站。將自包含桌面包傳送給服務(wù)器。服務(wù)器又向客戶端提供這些桌面包。這些包和包括在這些包中的組件包括用于標(biāo)識(shí)該包和組件的唯一標(biāo)識(shí)符。維護(hù)一個(gè)詳述了包括在每個(gè)自包含桌面文件中的各個(gè)組件的清單。當(dāng)在管理員的計(jì)算機(jī)系統(tǒng)發(fā)生災(zāi)難事件時(shí),管理員從包先前所傳送到的服務(wù)器檢索自包含桌面文件。管理員將從自包含桌面文件中拆出的組件重新填充到組件庫(kù)中。管理員使用清單確定是否需要從其他服務(wù)器檢索其他的自包含包文件。
文檔編號(hào)G06F9/50GK1726462SQ200380105975
公開(kāi)日2006年1月25日 申請(qǐng)日期2003年12月10日 優(yōu)先權(quán)日2002年12月17日
發(fā)明者B·布羅克韋, M·R·庫(kù)柏, J·L·斯塔施拉克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泸西县| 巫山县| 沽源县| 城固县| 福贡县| 礼泉县| 开鲁县| 青神县| 玉龙| 文水县| 台中市| 建宁县| 泸定县| 长葛市| 德格县| 沙河市| 山阳县| 从化市| 武夷山市| 武乡县| 濮阳县| 聂荣县| 洛隆县| 宝丰县| 浪卡子县| 崇明县| 都江堰市| 临潭县| 皮山县| 东城区| 东丽区| 四川省| 宁陵县| 延吉市| 福建省| 西昌市| 仁化县| 济宁市| 大姚县| 神木县| 孝感市|