專利名稱:允許一般的web瀏覽器訪問多個不同協(xié)議類型的服務器的信息處理系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及具有多個聯(lián)網的信息處理系統(tǒng)的一個信息處理系統(tǒng),尤其涉及面向對象的技術,該技術使用類庫為大家所知道的全球通信網開發(fā)服務器。接下來的描述部分將進一步廣泛描述本發(fā)明的背景。
在過去的幾年中,全球計算機互連網絡,即大家所知道的因特網,的使用有著爆炸性的增長,尤其是全球通信網(WWW)的使用更是如此,WWW是在因特網上所提供的一個設施。WWW包括許多信息的網頁和文件,它們分布在許多不同的服務器計算機系統(tǒng)之上。存儲在這樣的網頁上的信息可能是,例如,一個公司的組織,通信數(shù)據,產品數(shù)據和公司新聞的詳細情況。可以使用文本,圖形,音頻數(shù)據和視頻數(shù)據的組合將這些信息呈現(xiàn)給用戶的計算機系統(tǒng)(客戶機計算機系統(tǒng))。通過一個統(tǒng)一資源定位器(URL)可以識別每一個網頁。URL指定服務器機器和該臺機器之上的特定的文件或網頁。在一臺服務器上能夠駐留多個網頁或URL。
為了使用WWW,客戶機計算機系統(tǒng)運行一個軟件,即圖形Web瀏覽器,例如WebExplorer(作為IBM公司的OS/2操作系統(tǒng)的一部分提供的),或Netscape通信公司提供的Navigator程序。“WebExplorer”,“OS/2”和“IBM”都是國際商用機器公司的商標,而“Navigator”和“Netscape”是Netscape通信公司的商標??蛻魴C計算機系統(tǒng)與瀏覽器交互以選擇一個特定的URL,它使瀏覽器向在URL中識別出的服務器發(fā)送一個對該URL或網頁的請求。典型的情況是,服務器通過檢索請求的網頁,并且將該網頁的數(shù)據發(fā)送回請求端的客戶機計算機系統(tǒng)(依據超文本傳輸協(xié)議(“HTTP”)來執(zhí)行客戶機/服務器之間的交互)來響應請求。該網頁然后在客戶機屏幕上顯示給用戶??蛻魴C也可以使服務器發(fā)送一個申請,例如搜索與特定主題相關的WWW網頁。
大多數(shù)WWW網頁是依據利用HTML(超文本標記語言)編寫的計算機程序來進行格式化的。該程序包括通過客戶機圖形瀏覽器顯示的數(shù)據,以及用來指示瀏覽器如何顯示數(shù)據的格式指令。因此一個典型的Web網頁包括文本,和嵌入的格式指令,格式指令被稱為標記,可以使用標記來控制字體大小,字體類型(例如,是否是斜體或加粗),如何排列文本,等等。Web瀏覽器對HTML腳本進行“語法分析”,目的是依據指定的格式顯示文本。HTML標記還被用來指示如何通過客戶機的瀏覽器將圖形,聲音和圖象顯示給用戶。
大多數(shù)Web頁還包括一個或多個關于其它Web頁的參數(shù),這些Web頁并不需要與起始網頁在同一個服務器上。這類參數(shù)通常由用戶在屏幕上選擇特定的位置來激活,比較典型的是(雙)擊一個鼠標控制按鈕。這些參數(shù)或位置被稱為超級鏈路,并且較為典型的是被瀏覽器以一個以特定方式加以標識(例如,任何與一個超級鏈路相關的文本可以用一種不同的顏色來表示)。如果一個用戶選擇該超級鏈路,那么將重新得到相關網頁并替換當前顯示頁。
有關HTML和WWW的進一步的信息可以在1994年12月的DrDobbs Journal雜志中Douglas McArthur發(fā)表的“全球通信網和HTML”一文的18-26頁,以及Ian Graham發(fā)表的“HTML資源書”(JohnWiley,紐約,1995)中找到。
顯示并接收HTML的一般Web瀏覽器為應用程序開發(fā)人員提供了另人吃驚的能力。使用一個瀏覽器來實現(xiàn)一個用戶界面有兩個很大的優(yōu)點通信協(xié)議(HTTP)為內置,以及用戶界面環(huán)境為內置。
通信和用戶界面是應用開發(fā)的兩個十分昴貴的方面,主要是因為它們特別依賴于平臺。許多應用由于這兩個問題根本就沒有滿足能夠使用它們的所有的用戶。
當前還沒有使用除HTTP TCP/IP通信協(xié)議之外通信協(xié)議進行發(fā)送的Web瀏覽器/服務器系統(tǒng)。然而,許多計算機安裝使用多種通信協(xié)議,例如NetBIOS,IPX,以及串行鏈路。這些安裝的用戶希望不要求使用TCP/IP協(xié)議來使用Web瀏覽器/服務器技術。這種技術受那種局限的限制。
這種技術特別重要的一個環(huán)境是系統(tǒng)管理。有效的系統(tǒng)管理無論對大規(guī)模還是小規(guī)模的計算機安裝操作都非常重要。為改進系統(tǒng)管理工作,開發(fā)了許多應用。這些應用都力圖抽象并核對計算機系統(tǒng)的復雜的依賴于硬件和操作系統(tǒng)的觀察和控制,以便為用戶或系統(tǒng)管理員在管理它們時提供更大的權限。
在今天的系統(tǒng)管理軟件中,觀察和控制通過圖形用戶界面(GUIS)來顯示和控制的。如與本發(fā)明相關的一樣,這種系統(tǒng)管理應用有如下兩個問題(1)GUIs只限于在特定系統(tǒng)中運行,并且通過有限的協(xié)議與基站系統(tǒng)管理對象通信,(2)系統(tǒng)管理應用向其它系統(tǒng)或協(xié)議的移動要求為新的平臺記錄該GUI。當前技術只為它所支持的系統(tǒng)提供系統(tǒng)管理數(shù)據。因此,在當前技術中,實現(xiàn)強大的靈活的系統(tǒng)管理界面存在障礙。
本發(fā)明提供一個信息處理系統(tǒng),用來使一個客戶機計算機設備能夠訪問位于一個服務器計算機設備中的信息,所述客戶機計算機設備包括使用超文本傳輸協(xié)議(HTTP)與所述服務器計算機設備進行通信的裝置,以及使用超文本標記語言(HTML)將從所述服務器計算機設備接收到的信息呈現(xiàn)給客戶機計算機設備中一個用戶的裝置,所述信息處理系統(tǒng)包括一個位于所述客戶機和服務器計算機設備之間的網絡,該所述網絡使用除HTTP以外的網絡傳輸協(xié)議和除HTML以外的網絡數(shù)據格式;以及一個傳輸協(xié)議轉換裝置,用來把所述客戶機計算機設備和所述服務器計算機設備發(fā)出的或接收的HTML/HTTP信息,經由所述網絡,轉換為所述網絡傳輸協(xié)議和所述網絡數(shù)據格式。
比較理想的是,本發(fā)明還包括上述系統(tǒng),其中所述的用于呈現(xiàn)信息的客戶機計算機設備使用一個特定類型的圖形用戶界面,其中所述客戶機計算機設備被連接到因特網并且所述網絡位于因特網和服務器計算機設備之間,并且其中所述傳輸協(xié)議轉換裝置運行面向對象的計算機軟件,該軟件包括一個HTMI對象,用來接受來自所述客戶機計算機設備的HTML請求數(shù)據并把接受的HTML請求數(shù)據轉換為網絡數(shù)據格式;以及一個HTTP對象,用來打開并保持所述客戶機和服務器計算機設備之間因特網通信,對從用戶計算裝置接收的HTML請求數(shù)據,進行語法分析,檢測所述客戶機算機裝置所用的特定圖形用戶界面的識別符,向HTML對象發(fā)送請求數(shù)據和所檢測的圖形用戶界面的識別符,經由所述網絡和因特網在所述HTML對象和所述客戶機計算機設備之間傳輸HTML數(shù)據。
從第二個方面來看,本發(fā)明為一個信息處理系統(tǒng)提供一個程序單元,該單元包括一個映射塊,當該映射塊在所述信息處理裝置上運行時,它在(a)HTML和HTTP以及(b)除HTML和HTTP之外的指令和協(xié)議之間映射數(shù)據,所述映射塊有一個HTML對象和一個HTTP對象;所述HTML對象接受URL和其它請求數(shù)據;把所接受的請求格式化為除HTML和HTTP之外的內部指令和協(xié)議;接受除HTML和HTTP之外的內部指令和協(xié)議中的應答;把所接受的應答轉換為HTML;并且把這種HTML發(fā)送給所述HTTP對象;所述HTTP對象打開并保持因特網通信;接受在因特網上的HTTP請求;對統(tǒng)一資源定位器(URL)和形成一個被接受請求的相關的數(shù)據進行語法分析;向所述HTML對象發(fā)送URL和相關數(shù)據和瀏覽器程序識別符;從所述HTML對象接受HTML資源;并將HTML資源作為HTTP應答返回給因特網。
本發(fā)明還允許連接到因特網任何地方的任何Web網絡瀏覽器做為一個圖形用戶界面,來瀏覽和控制一個系統(tǒng)管理協(xié)議的事件。
本發(fā)明的一部分目的已經說明,參考附圖,其它的目的將隨敘述的進行逐步說明,其中
圖1A為一個典型的個人計算機系統(tǒng)的透視圖;圖1B為根據本發(fā)明實現(xiàn)裝置和方法的一個信息處理網絡的附圖;圖2為圖1A計算機系統(tǒng)的一體化的平面板的概要框圖;圖3為圖1A計算機系統(tǒng)的一個可選平面板的概要框圖;圖4為與圖3可選平面板一起使用的處理器卡的概要框圖;圖5為根據本發(fā)明在圖1B信息處理網絡上進行傳輸系統(tǒng)配置信息所采用步驟的流程圖;圖6為圖5流程圖中所用的一些步驟的更為詳細的流程圖;圖7為一個示例框架機制的分類附圖;圖8到12為圖7示例框架機制的類圖;圖13為圖7到12示例框架機制的一個對象圖;圖14A和14B為通過圖1B的網絡實施本發(fā)明的系統(tǒng)管理的一種實施方式的附圖;以及圖15為圖14A和14B所示的映射塊單元的附下面是與本發(fā)明背景相關的技術的一個擴展描述。非常有經驗并且知識豐富的讀者可以選擇是簡單閱讀還是不讀這些背景信息,但這些信息對于理解本發(fā)明十分重要,因此建議讀者加以學習。
雖然本發(fā)明將在下面參照附圖更加詳細的加以描述,并且附圖表示了本發(fā)明的一個優(yōu)選實施方式,但是在下面描述之前應該明白,此類技術方面的人員可以對這里描述的發(fā)明進行修改并仍取得本發(fā)明的理想結果。因此,下面的描述可以做為一個較寬范圍的,對此類技術方面的人員做指導的教育說明,并且不只限于本發(fā)明。
個人計算機系統(tǒng)總的來講,尤其是IBM個人計算機,已經在為今天的社會諸多部門提供計算機功能方面取得了廣泛的應用。一個個人計算機系統(tǒng)通常被定義為一個臺式,落地式,或便攜式計算機,它包括具有一個系統(tǒng)處理器的系統(tǒng)單元,一個顯示器,一個鍵盤,一個或多個磁盤驅動器,一個固定磁盤存儲器,一個可選的點式裝置,例如一個“鼠標”,以及一個可選的打印機。這些系統(tǒng)主要設計用來為單個或小組用戶提供獨立的計算能力,以及以個人和商業(yè)購買都比較便宜。這種個人計算機系統(tǒng)的例子以如下商標進行出售IBM個人計算機,個人計算機XT,個人計算機AT和IBM個人系統(tǒng)/2(在下面分別被稱做IBM PC,XT,AT,和PS/2)型號25,30,50,55,57,60,65,70,80,90和95。
這些系統(tǒng)可被分為兩個通用的系列。第一個系列,通常被稱做系列1型,使用一個總線體系結構,如AT計算機和其它“IBM兼容”機。第二個系列,被稱做系列2型,使用IBM“微通道”總線體系結構,如IBM PS/2型50到95計算機。用于系列1和系列2型的總線體系結構在此類技術中廣為人知。
IBM PC和XT為IBM個人計算機生產線的第一種型號并且使用了Intel8088處理器。IBM個人計算機系統(tǒng)的下一個重要變化是使用Intel80286處理器的AT。PS/2生產線跨過了幾個Intel處理器。與IBM PC和XT相似的系統(tǒng)是使用一個Intel8086處理器的PS/2型30的一個版本。PS/2型50到60都使用Intel80286處理器。Intel80386處理器用在IBMPS/2型80和IBM PS/2型70的一些版本。IBM PS/2型70的其它版本,以及IBM PS/2型90 XP486和95 XP486,使用Intel80486處理器。所有這些系統(tǒng)中的相同點之一是使用一個Intel X86系列處理器。大量普通并且廣為人知的軟件操作系統(tǒng),例如DOS或OS/2操作系統(tǒng),可以在處理器IntelX86系列不同的機型上運行。
隨著系列1型的最早個人計算機系統(tǒng),例如IBM PC,在一開始,人們就認識到實現(xiàn)軟件-硬件兼容性的目標十分重要。為實現(xiàn)這一目標,在硬件和軟件之間建立了一個系統(tǒng)駐留代碼的隔離層,該隔離層也被稱做“微代碼”。這種代碼在用戶應用程序/操作系統(tǒng)和硬件裝置之間提供了一個可操作界面,從而使得用戶不用再去關心硬件裝置的特性。最終,該代碼演變?yōu)榛据斎?輸出系統(tǒng)(BIOS),允許將新的硬件裝置添加到系統(tǒng)中,而把應用程序/操作系統(tǒng)與硬件裝置的特性隔離開來。BIOS的重要性立即顯現(xiàn)出來,因為它使得裝置驅動器從依靠特定硬件裝置特性中解放出來,同時為裝置驅動器提供了對硬件裝置的中介界面。由于BIOS是計算機系統(tǒng)的一個整體部分,并且控制數(shù)據進出系統(tǒng)處理器的活動,因此它駐留在系統(tǒng)處理單元的一個系統(tǒng)平面板上并且通過只讀存儲器(ROM)或一個可擦寫編程式只讀存儲器(EPROM)提供給用戶。例如,在最初的具有8K字節(jié)(一千字節(jié)或“K字節(jié)”指1024字節(jié))的IBM PC中BIOS占駐留在平面板上。除ROM外,該平面板包括系統(tǒng)處理器,一個主隨機訪部存儲器(RAM),以及其它基本共面地固定在該板上的其它元件。ROM還包括一個加電自檢(POST)程序,該程序用來檢測并初始化計算機系統(tǒng)。駐留在計算機系統(tǒng)ROM中的代碼不斷增加,變?yōu)椤跋到y(tǒng)固件”,或簡稱“固件”。因此,固件包括POST部分和BIOS部分。有時,BIOS被定義為包括POST程序。
隨著個人計算機系列新型號的引入,固件不得不加以更新和擴展以支持新的硬件裝置,例如輸入/輸出(I/O)裝置??梢韵氲?,固件存儲空間開始增加。例如,隨著引進IBM個人計算機AT,固件開始需要32K字節(jié)ROM空間。隨著具有微通道體系結構的IBM個人系統(tǒng)/2計算機系統(tǒng)的引入,一個著名的新BIOS,名為高級BIOS或ABIOS被開發(fā)出來。然而,為保持軟件的兼容性,來自系列1型的BIOS不得不被包括在系列2型之中。系列1型BIOS成為了兼容性BIOS或CBIOS。因此,BIOS演變?yōu)榘ǘ嘤谝环N類型BIOS,例如兼容性基本輸入輸出系統(tǒng)(CBIOS)和高級基本輸入輸出系統(tǒng)(ABIOS)。當前個人計算機系統(tǒng)的體系定義允許為固件提供多達128K字節(jié)的系統(tǒng)地址空間(系統(tǒng)固件地址空間)。
今天,隨著新技術的發(fā)展,個人計算機系統(tǒng)變得越來越高級并且被改進得速度越來越快。由于技術變化非??觳⑶倚碌腎/O裝置被添加到個人計算機系統(tǒng)中,對固件進行有效的修改和擴展已經成為個人計算機系統(tǒng)發(fā)展周期中的重要問題。
隨著引入微通道體系結構,IBM提供了一種新的配置過程,名為可編程式選項選擇(POS)。POS的設計通過不再需要使用DIP開關,跨接線和集管配置系統(tǒng),使得系統(tǒng)升級的安裝和擴展變得更加容易和不再另人迷惑。使用低功率,電池封裝式CMOS存儲器PS/2系統(tǒng)可以記住其硬件配置。該配置包括擴展裝置的識別以及該擴展裝置是如何與系統(tǒng)其它部分相關共同工作的。每一個為微通道設計的擴展卡都有一個獨有的識別編號。當系統(tǒng)進行引導時,PS/2系統(tǒng)將所安裝的選項與在非易失性存儲器中的信息加以比較,以檢測變化,從而確保其設置的完整性。在配置步驟中使用參考磁盤,設置文件自動置入文件系統(tǒng)。在一些IBM PS/2型號中,例如型號70和80,參考盤包括一張隨機帶的存儲系統(tǒng)配置信息的軟盤。盡管PS/2系統(tǒng)的配置步驟較為簡單,而且比較容易執(zhí)行,但參考盤必須就在旁邊或存儲在附近。然而,在上一次系統(tǒng)配置一段時間之后,有可能丟失或放錯參考盤。因此,最好是在DASD上存儲一個參考盤的拷貝。
在Arnold等人的轉讓給本發(fā)明受讓人的美國專利5,128,995中,發(fā)布了一個裝置,用來從DASD的系統(tǒng)部分裝入一個系統(tǒng)參考盤映象,其中DASD有一個保護區(qū)用來存儲一個引導記錄,一個BIOS映象和一個系統(tǒng)參考盤。保護DASD一部分的原因是出于防止BIOS的污染和被破壞的需要。在一些系統(tǒng)操作過程中,例如當處理器在操作系統(tǒng)的控制下時或當它運行一個應用程序時,DASD控制器被配置以忽略該保護區(qū)。
越來越多地,個人計算機系統(tǒng)被連接到一起來提供一個信息處理網絡(即一個局域網或LAN),這樣許多信息處理系統(tǒng)可以交換信息,共享I/O裝置,并且作用一個特定直接訪問裝置(DASD),例如一個特定的硬文件或磁盤。典型的是,信息網絡包括許多被稱做“客戶機”的信息處理系統(tǒng),以及至少被稱做“服務器”的一個管理員處理系統(tǒng),所有這些經由通信媒體,例如銅線和/或光纖電纜。被連接或被聯(lián)網在一起。較為典型的是,通過子系統(tǒng)元件的網絡通信(即客戶機系統(tǒng)或服務器系統(tǒng))是經由通信適配器裝置來處理的,該通信適配器裝置服從一個或多個網絡通信協(xié)議,例如Token Ring或Ethernet。此外,已經開發(fā)出了使用不同無線頻率或紅外射頻協(xié)議連接到服務器的無線移動客戶機。所提到的有線LAN的問題也存在于無線LAN中。
很明顯,網絡化的信息處理系統(tǒng)的主要優(yōu)點是其在許多信息處理系統(tǒng)中提供不同信息類型通信的能力。在網絡內可以進行通信的信息之中包括與系統(tǒng)自身狀態(tài)和/或配置相關的信息。該配置信息可以用不同的方式進行處理,例如,進行確定或向其它網絡信息處理系統(tǒng)通知其它每個系統(tǒng)的配置和能力。
系統(tǒng)配置信息用來在大網絡系統(tǒng)內檢測錯誤條件。例如,IBM系統(tǒng)390被設計成實時地監(jiān)視網絡化的系統(tǒng)內的執(zhí)行情況。一旦檢測到錯誤條件,執(zhí)行一個診斷例程來把錯誤條件隔離至一個發(fā)生錯誤的系統(tǒng)元件。此后,與所檢測的錯誤條件和診斷結果相關的信息經由一個調制解調器通過電話線傳到一個中央站。
當前技術系統(tǒng)的實時錯誤監(jiān)視和錯誤通信能力通常被納入系統(tǒng)硬件體系結構和/或操作系統(tǒng)或應用軟件之中。但不幸的是,在大型計算機系統(tǒng)網絡中實現(xiàn)的實時錯誤檢測并不適合較小的信息處理系統(tǒng),例如那些包括個人計算機的處理系統(tǒng)。這部分是由于現(xiàn)存的標準操作系統(tǒng),例如DOS和WINDOWS,不支持在大系統(tǒng)中可以得到的錯誤分析和報告能力。更為重要的是,個人計算機系統(tǒng)的當前中央處理功能對執(zhí)行實時配置監(jiān)視,錯誤檢測和報告來說是不切合實際的。
然而,在一個包括小信息處理系統(tǒng),例如個人計算機,其操作系統(tǒng)和CPU功能不支持網絡上實時地進行系統(tǒng)配置信息通信,這樣的信息處理網絡上仍然有必要傳輸系統(tǒng)相關信息。
那種需要在具有許多信息處理系統(tǒng)的信息處理網絡中已經被提及,其中每個信息處理系統(tǒng)具有一個預定的系統(tǒng)配置,在相應數(shù)量操作系統(tǒng)的控制之下運行,處理系統(tǒng)包括檢測器,其在裝入操作系統(tǒng)之前的初始微代碼裝入(IML)期間,基于預定系統(tǒng)配置檢測系統(tǒng)配置中的變化。處理系統(tǒng)還包括通信元件,用來在網絡上,在裝入操作系統(tǒng)之前一旦檢測到系統(tǒng)配置中的變化,就傳輸系統(tǒng)配置信息。
信息處理網絡還可以包括一個管理員信息處理系統(tǒng),該系統(tǒng)具有一個監(jiān)視網絡上通信的監(jiān)視器和一個在網絡上通信時接收系統(tǒng)配置信息的接收器。
系統(tǒng)配置信息可以包括一個信息處理系統(tǒng)的識別符,在這里系統(tǒng)配置中的變化是由用戶激活的。管理員信息處理系統(tǒng)提供一個允許或不允許用戶初始化系統(tǒng)配置變化的權限信號。
現(xiàn)在參照附圖,特別是圖1A,所示為一個個人計算機系統(tǒng)100,它能運行在本發(fā)明的信息處理網絡150中。個人計算機系統(tǒng)100包括一個系統(tǒng)單元102,該單元具有一個合適的外殼或盒103,輸出裝置或監(jiān)視器104(例如一個傳統(tǒng)的圖象顯示器),輸入裝置,例如一個鍵盤110,一個可選鼠標112,以及一個可選輸出裝置,例如一個打印機114。最后,系統(tǒng)單元102可以包括一個或多個大容量存儲裝置,例如一個磁盤驅動器108(可以對磁盤進行操作-圖中沒有顯示)以及一個直接存儲裝置(DASD)106,也被稱做硬文件。
參照圖1B,所示為一個信息處理網絡150。該信息處理網絡150包括許多信息處理系統(tǒng)102和102B,其中的一個或多個可以與圖1A中個人計算機系統(tǒng)1OO相同。處理系統(tǒng)102是一個服務器,它做為信息處理網絡150內的一個管理員處理系統(tǒng)。處理系統(tǒng)102B包括客戶機系統(tǒng)。較為典型的是,除了可以不包括DASD 106以外,此時這種系統(tǒng)(102B)被稱做“無媒介客戶機”,客戶機系統(tǒng)(102B)與單元102相同。信息處理系統(tǒng)(102和102B)以一種廣為人知的方式互相連接成網絡并且經由電纜160在信息處理網絡150上傳輸信息信號。
操作中,信息處理系統(tǒng)102和102B在操作系統(tǒng),例如在初始微裝入(IML)期間正確地被裝入的IBM OS/2操作系統(tǒng)或DOS操作系統(tǒng)的控制下進行工作。操作系統(tǒng)很典型地使用在IML期間被裝入系統(tǒng)存儲器的BIOS。BIOS在硬件裝置和操作系統(tǒng)軟件之間提供了一個界面,從而使得程序員或用戶可以對其機器進行編程而無需深入了解一種特定硬件裝置的操作知識。例如,一個BIOS磁盤模塊可以允許程序員對磁盤裝置進行編程而無需深入了解磁盤驅驅動硬件的知識。這樣,不同公司設計和制造的許多磁盤驅動器都可以用在系統(tǒng)1OO內。同樣,進行系統(tǒng)硬件開機自檢的POST程序也在IML期間被裝入,以確定系統(tǒng)配置。POST在一個存儲裝置,例如一個NVRAM中存儲系統(tǒng)配置。這樣,POST通過將預定系統(tǒng)配置和當前系統(tǒng)配置相比較,可以檢測一個系統(tǒng)配置變化。在IBM個人系統(tǒng)/2和個人計算機BIOS界面技術參考1991中更為詳細的定義了BIOS和POST,在這里作為參考也將其列出來。
統(tǒng)一平面參照圖2,所示為信息處理系統(tǒng)102或102B的統(tǒng)一平面2OO的一個框圖。該平面2OO包括一個印刷電路板(PCB)201,該板上安有或聯(lián)有許多具有I/O槽的輸入/輸出總線連接器232,一個處理器202,它在一個總線控制單元214的控制下被一個高速CPU本地總線210連接到一個存儲器控制單元256。單元256還被連接到一個主存儲器,例如易失性隨機訪問存儲器(RAM)264。任何合適的處理器202都可以使用,例如Intel80386,Intel80486或相類似的。一個系統(tǒng)電源連接器205被安到PCB201上,用來連接一個為系統(tǒng)100提供必要電源的電源單元(沒有顯示)。
CPU本地總線210(包括地址,數(shù)據和控制元件)為處理器202的連接提供一個可選的數(shù)學協(xié)處理器204,一個可選的緩沖控制器206,以及一個可選的緩沖存儲器208。同樣耦合到CPU本地總線210的還有一個系統(tǒng)緩沖區(qū)212。系統(tǒng)緩沖區(qū)212自身被連接到一個系統(tǒng)總線216,系統(tǒng)總線包括地址,數(shù)據和控制元件。系統(tǒng)總線216在系統(tǒng)緩沖區(qū)212和一個I/O緩沖區(qū)228之間延伸。系統(tǒng)總線216還被連接到總線控制單元214和直接存儲器存儲(DMA)控制單元220。DMA控制單元220包括一個中央仲裁器224和一個DMA控制器222。I/O緩沖區(qū)228在系統(tǒng)總線216和一個I/O總線230之間提供一個界面。振蕩器207如圖所示被連接用來為計算機系統(tǒng)1OO提供合適的時鐘信號。熟悉此類技術的人員將會意識到當在IBM PS/2計算機系統(tǒng)的微通道總線上實現(xiàn)優(yōu)選實施方式時,這在此類技術中廣為人知,可選的總線體系結構也可以采用本發(fā)明。
連接到I/O總線230的是許多具有用于接收適配器卡所用槽的I/O總線連接器,這些總線連接器可以進一步被連接到I/O裝置或存儲器。為方便起見只顯示了兩個I/O連接器232,但可以很容易地增加附加的I/O連接器來滿足特定系統(tǒng)的需要。如所示,I/O連接器中的一個被連接到一個廣為人知的為信息處理系統(tǒng)(102或102B)提供網絡通信能力的TokenRing通信適配器卡231。一旦開始網絡通信,CPU202以一種廣為人知的方式激活Token Ring適配器卡231,允許在信息處理網絡150上傳輸輸入或輸出信息。這樣,通信適配器卡231就包括在網絡150上傳輸信息的發(fā)送器裝置和接收器裝置。一個仲裁總線226把DMA控制器222和中央仲裁器224耦合到I/O連接器232和一個磁盤適配器246。同樣連接到系統(tǒng)總線216上的是存儲器控制單元256,它包括一個存儲器控制器258,一個地址多路復用器260,以及一個數(shù)據緩沖器262。存儲器控制單元256還被連接到主存儲器,例如RAM模塊264所代表的隨機訪問存儲器。存儲器控制單元256包括處理器202和RAM264特定區(qū)域之間的地址映射。當系統(tǒng)1OO如所示有一個基本的1兆RAM模塊264時,可以理解附加存儲器可以通過可選的存儲器模塊266,268,270互相連接起來,如圖2所示。
一個緩沖區(qū)218被耦合在系統(tǒng)總線216和一個平面I/O總線234之間。平面I/O總線234包括地址,數(shù)據,以及控制元件。沿平面板I/P總線234耦合的是許多I/O適配器和其它外部元件,例如一個顯示器適配器236(用來驅動可選顯示器104),一個時鐘/CMOS RAM250,一個非易失性RAM248(這里在下面被稱做NVRAM),一個串行適配器240(其它用于“串行”的通用術語是“同步”和“RS232”),一個并行適配器238,多個定時器252,一個磁盤適配器246,一個鍵盤/鼠標控制器244,一個中斷控制器254,以及一個固件子系統(tǒng)242,固件子系統(tǒng)242典型地包括一個非易失性程序存儲器(即ROM),該存儲器包括POST和BIOS程序的一部分,被稱為狀態(tài)IPOST。如下面將要詳細說明的,狀態(tài)IPOST用于一個初始的限定的系統(tǒng)檢測,并且包括用于裝入一個狀態(tài)II POST的例程,狀態(tài)II POST也被認為是一個外部存儲裝置,例如一個軟驅108或硬文件106的初始微裝入(IML)映象。
時鐘/CMOS RAM250用來進行日期時間計算。NVRAM248用來存儲系統(tǒng)配置。即,NVRAM248將包括描述系統(tǒng)1OO當前配置的值。NVRAM248包括描述,例如,適配卡初始數(shù)據,硬盤或磁盤容量,主存儲器數(shù)目等的信息。而且,不論配置程序在何時執(zhí)行,這些數(shù)據都存儲在NVRAM248中。這一配置程序可以是一個包括在IBM PS/2計算機系統(tǒng)中的系統(tǒng)參考盤上提供的傳統(tǒng)集合配置程序。參考盤有時被稱做診斷盤,維護盤或服務盤。配置程序的目的是預定并向NVRAM248預存此系統(tǒng)1OO配置的特征值,此值在系統(tǒng)斷電時被加以保存。NVRAM可以是具有后備電池的一個低功率CMOS存儲器。
連接到鍵盤/鼠標控制器244的是一個端口A278和一個端口B280。這些端口A,B用來把鍵盤110和鼠標112連接到個人計算機系統(tǒng)1OO。耦合到串行適配器240的是一個串行連接器276。一個可選裝置例如一個調制解調器(沒有顯示)可以經由此連接器276被耦合到系統(tǒng)。耦合到并行適配器238的是一個并行連接器274,,該連接器上連有例如打印機114的裝置。連接到磁盤適配器246的是一個磁盤連接器282,用來連接一個或多個磁盤驅動器108。
替換平面板根據個人計算機系統(tǒng)1OO的一個可選實施方式,用一個平面板3OO和處理器卡4OO(圖3和4)來替換一體化的板200。處理器卡4OO以可拆裝方式安裝并且通過電路連接到平面板3OO。圖2中相同的元件編號與圖3和圖4中相同的元件相對應?,F(xiàn)在參照圖3,平面板3OO包括一個印刷電路板(PCB)301,該板上安裝有(即在表面安裝)不同元件,不同的元件之間是通過PCB中電線或電路互相連接的。這種元件包括一個合適的可以買到的電子連接器302,處理器卡4OO的一個邊界416被插入到連接器302,用來把處理器卡4OO可拆裝地安裝并且電氣連接到平面板3OO。許多存儲器模塊(SIAM)連接器306也被安裝到PCB301上,以連接構成系統(tǒng)主存儲器或RAM的存儲器邊緣308A,308B。一個或多個I/O總線或擴展連接器232也被安裝到PCB301上,用來連接可能被加入或置入個人計算機系統(tǒng)1OO的不同擴展適配器和選項。例如,硬盤驅動器106連接到一個具有小計算機系統(tǒng)界面(SCSI)磁盤控制器的適配器卡231。該適配器卡231連接到一個I/O總線或擴展連接器232。理想的是,每一個連接器232都是可以買到的針對上述微通道體系的類型的連接器。
安裝到平面板3OO的還有一個中斷控制器254和一個鍵盤/鼠標控制器244,它們被連接到鍵盤和鼠標連接器278,280,一個連接到磁盤連接器282的磁盤控制器或適配器246,以及串行和并行適配器240,238,它們與到允許不同I/O裝置被連接到系統(tǒng)中的串行和并行連接器276,274相連接。系統(tǒng)電源連接器205被安裝到PCB301上。用來連接一個為系統(tǒng)提供必要電源的電源單元(沒有顯示)。一個非易失性存儲器(NVRAM)248和一個時間日期時鐘/CMOS RAM250也被安裝到PCB301上,PCB301上還被安裝有不同的振蕩器(沒有顯示),它以一種廣為人知的方式為電路的隔離部分提供定時信號,以及緩沖區(qū)342,344(沒有顯示)。
PCB301的連線如附圖所示把不同的元件相互連接起來,它們被分為三組,一個存儲器總線310(包括線324-338),一個通道總線312(包括一個地址總線322,一個數(shù)據總線320和一個控制總線318),以及混合信號線,包括中斷線314,316,所有這些線都經由連接器302,416被連接到PCB401上相應的線。中間抽頭總線312的是一個平面功能總線319。
處理器卡參照圖4,顯示了可拆裝地安裝在平面板3OO上的處理器卡4OO。處理器卡4OO包括一個安裝有(即在表面安裝)印刷電路板(PCB)401,在PCB401上安有許多可以買到的元件,包括一個處理器202,一個可選的數(shù)學協(xié)處理器204,一個可選緩沖控制器206,一個可選緩沖存儲器208,一個直接存儲器訪問(DMA)控制單元220,一個總線控制單元214,一個存儲器控制單元256,一個固件子系統(tǒng)242,以及奇偶校檢單元402,404。處理器202最好是高性能類型,例如Intel80486,具有32位數(shù)據通路并且提供32位尋址能力。當然,Intel80386和相類似的處理器也可以使用。根據與處理器的兼容性,在傳統(tǒng)類型中選擇其它部件。許多緩沖區(qū)406,408,410,412,414如所圖示被連接起來。緩沖區(qū)提供電路之間的可選擇的/隔離或連接,使得不同部分可以相互配合工作,例如,在處理器202和緩沖存儲器208之間轉移數(shù)據,同時在I/O單元和主存儲器308A,308B之間傳輸其它數(shù)據。所有上述元件之間通過PCB401中的印刷電線電路正確地電氣相互連接,該線路在連接器416邊界終止。連接器416的邊緣是可以插到如圖3所示的平面板3OO上連接器302邊緣中的,這樣平面板3OO和處理器卡4OO就在電氣上和機械上都相互連接起來。因此,具有與之相關的處理器類型的處理器卡4OO的不同版本都可以插到平面板3OO中。
PCB401的布線電路包括一個本地總線418,該總線418分別包括數(shù)據,地址和控制線420,422,424,用來把處理器202和可選的數(shù)學協(xié)處理器204,可選的緩沖控制器206和可選的緩沖存儲器208連接起來,如圖4所示。其它電路線通常包括中斷線316,通道總線312和存儲器總線線310。通道總線312分別包括控制,數(shù)據和地址總線318,320,322。存儲器總線310包括多路復用存儲器地址線324,332,針對存儲器邊緣的行地址選通脈沖(RAS)線328,336,列地址選通脈沖(CAS)線338,數(shù)據總線A和B線326和334,以及一個用于奇偶檢驗或ECC檢驗的錯誤檢驗所用的線330。振蕩器207如所示被連接起來,為計算機系統(tǒng)1OO提供合適的時鐘信號。為簡單起見,某些混合線,例如重置,地線,電源等,在圖2,3,4中都予以省略。
在具有一個板300和一個卡400的個人計算機系統(tǒng)100的正常操作過程中,卡300和板400電氣并機械地連接,典型的情況是位于與板300完全垂直的一個平面內。
再說一下,系統(tǒng)固件包括加電自檢程序(POST)和基本輸入輸出系統(tǒng)程序(BIOS)。BIOS還包括兼容性BIOS或CBIOS以及高級BIOS或ABIOS。POST是在系統(tǒng)第一次加電時執(zhí)行的指令集合。當確定當前系統(tǒng)配置時,POST的執(zhí)行對于個人計算機系統(tǒng)1OO的初始化是十分重要的。BIOS是方便數(shù)據和控制指令在處理器202和I/O裝置之間傳送的指令集合。
在信息處理系統(tǒng)(例如,102B)沒有媒介(沒有DASD或軟盤驅動器)時,通過通信適配器卡231來執(zhí)行一個遠程初始化程序裝入(RIPL)。該卡被連接到,例如,連接器232中的一個并且以一種廣為人知的方式允許從一個網絡服務器102引導一個操作系統(tǒng)。
POST包括一個自舉程序,該程序力圖定位一個引導裝置并裝入一個引導記錄。典型的是,引導裝置是硬文件106或磁盤驅動器108或者在無媒介客戶機情況下,引導裝置是服務器120。磁盤驅動器108要求引尋或操作系統(tǒng)磁盤(媒介,沒有顯示)來運行。如果POST從一個引導裝置成功地裝入一個引導記錄,那么POST向引導記錄發(fā)送控制來完成POST自舉程序。如果引導啟示無法裝入一個引導記錄并且存在一個RPL程序,那么POST向RPL程序傳送控制。如果不存在RPL,那么POST提示用戶需要一個引導源。CBIOS對計算機的自舉操作是必需的。CBIOS提供許多服務,包括對硬文件106和磁盤驅動器108的訪問。
信息處理系統(tǒng)102,以及102B執(zhí)行一種廣為人知的初始微代碼裝入(IML)的兩階段POST,編號為5,128,995的美國專利中對其有詳細的描述,在這里將該專利作為參考文獻收入進來。根據IML,處理器在POST的階段I中,裝入固件子系統(tǒng)242的內容并執(zhí)行它的命令,其命令包括某些I/O裝置,例如顯示裝置和某些存儲器裝置地址的最小檢測。此后,在POST的階段II中,處理器使用IML映象完成系統(tǒng)檢測。IML映象包括完成POST和將處理器的控制轉交給操作系統(tǒng)的指令。在POST過程中,確定當前系統(tǒng)配置并將其與NVRAM248中的預先確定和存儲的系統(tǒng)配置信息進行比較。IML映象對于系統(tǒng)處理器是特定的,并被存儲在存儲裝置的系統(tǒng)部分。如果存儲裝置是軟盤驅動器108中的一個磁盤,則系統(tǒng)部分占據磁盤的一部分。存儲在系統(tǒng)部分的IML映象包括POST的一部分和包括用于建立和/或診斷系統(tǒng)硬件的例程的參考映象。當POST檢測到一個由配置改變導致的錯誤時,裝入并執(zhí)行參考映象。在響應一個預定鍵盤序列時也可以裝入參考映象。如果存儲器裝置是硬文件106,則系統(tǒng)部分被存儲在存儲媒介的一個保護部分以避免重要的IML映象被無意破壞。在IBM90型和95型中,保護系統(tǒng)部分被存儲在存儲媒介的非??亢蟮牟糠植⑶艺紦?兆存儲容量。
根據本發(fā)明信息處理網絡150的信息處理系統(tǒng)102和102B在IML期間一旦檢測到系統(tǒng)配置中的一個更改,就啟動通信適配器卡231,在裝入操作系統(tǒng)之前在網絡上廣播某些系統(tǒng)配置信息。
參照圖5,為達到本發(fā)明目的而采取的操作步驟通過流程圖5OO加以說明。當系統(tǒng)加電時,即框501,信息處理系統(tǒng)在IML期間執(zhí)行POST,如即框502。接著處理系統(tǒng)判斷是否曾力圖更改系統(tǒng)配置。當改變硬件配置時,例如增加或減少系統(tǒng)存儲器,系統(tǒng)配置會發(fā)生變化時。可選擇地是,當用戶通過鍵入預定鍵盤序列要求進行系統(tǒng)配置更改時,配置的更改可能會是由用戶所引起的。首先,信息處理系統(tǒng),在IML期間經由POST判斷是否存在硬件配置的改變,即框503。這種判斷是通過比較當前系統(tǒng)配置和存儲在NVRAM248中的預定系統(tǒng)配置來實現(xiàn)的。如果沒有,則進行關于是否進行了用戶所初始化的配置改變的判斷,即框504。這種判斷是以一種廣為人知的方式通過檢測用戶鍵入預定鍵序列來實現(xiàn)的。如果沒有,則操作系統(tǒng)被裝入,即框505。
然而,如果POST判斷出系統(tǒng)的硬件配置已經改變,則在裝入操作系統(tǒng)之前收集并在網上傳輸某些系統(tǒng)配置,即框506。除了其它信息以外,系統(tǒng)配置信息可以包括,適配器,以及NVRAM,CMOS,和BIOS數(shù)據區(qū)等中的一個或多個錯誤代碼,此外,參考映象從系統(tǒng)部分被裝入并執(zhí)行,以在NVRAM248中存儲當前系統(tǒng)配置。
如果POST判斷出由用戶初始化進行了系統(tǒng)配置更改,則進行關于是否允許對系統(tǒng)部分進行訪問的判斷,即框507。如果不能,則收集并在網絡上傳輸系統(tǒng)配置信息,即框508,并且接著裝入操作系統(tǒng),即框509。然而如果,允許訪問系統(tǒng)部分,則進行關于這種訪問是否需要來自管理員信息處理系統(tǒng),例如服務器102,進行權限的判斷,即框510。如果不需要,則裝入并執(zhí)行參考映象以允許用戶改變系統(tǒng)配置。如果對系統(tǒng)部分的訪問要求權限,則包括所要改變的系統(tǒng)配置的身分的系統(tǒng)配置信息更改請求經由網絡通信適配器卡231傳輸給服務器120,即框511。如果服務器120允許訪問系統(tǒng)部分,則裝入并執(zhí)行參考映象,即框512和513。如果服務器102不允許,則操作系統(tǒng)被裝入,即框512和505。
參考圖6,顯示了框506和508中所采取的步驟的一個更加詳細的流程圖6OO。一旦檢測到系統(tǒng)配置的改變(硬件的變化或由用戶初始化的配置更改),則網絡通信適配器卡231被激活,即框601。信息處理系統(tǒng)接著裝入一個驅動器,用于從NVRAM248收集預定系統(tǒng)配置,即框602。接著驅動器從不同裝置收集系統(tǒng)當前的硬件配置,即框603。接著收集錯誤相關信息,即,硬件配置更改的錯誤代碼或用戶訪問請求信息,即框604。接著在前面各步驟中收集的全部信息被進行格式化并經由通信適配器卡231在網絡中進行傳輸。
傳輸?shù)耐ㄐ畔到y(tǒng)配置信息經由通信適配器卡231被管理員處理器系統(tǒng)(例如服務器102)接收。管理員系統(tǒng)包括一個監(jiān)視裝置,最好是以軟件例程形式,來監(jiān)視網絡150上的通信。一旦檢測到系統(tǒng)配信息,管理員就接收到該信息并將其記錄到一個永久性存儲媒體中,例如DASD。所存儲的信息最好是經過格式化并且?guī)в袝r間以備今后進行處理。
根據本發(fā)明,系統(tǒng)內的每一個信息處理系統(tǒng)可以有接收傳輸?shù)南到y(tǒng)配置信息的能力。網絡系統(tǒng)所接收的信息通知它們網絡內其它系統(tǒng)的能力,這樣可以調整它們的硬件來充分利用網絡的能力。
本發(fā)明的理想之處在于在裝入操作系統(tǒng)或其它任何應用軟件之前提供系統(tǒng)配置信息通信能力。這樣,使得這種有價值的網絡特性可以為那些具有使用shelf操作系統(tǒng),例如IBM兼容個人計算機的信息處理系統(tǒng)的信息處理網絡所用。進而,一旦啟動并且在裝入操作系統(tǒng)之前,如果需要本發(fā)明就允許傳輸系統(tǒng)配置信息,這樣從執(zhí)行實時配置監(jiān)視任務來接收處理器。
軟件環(huán)境概述-面向對象技術本發(fā)明可以使用面向對象(OO)框架技術來實現(xiàn)。熟悉OO框架技術的人員會希望繼續(xù)執(zhí)行本說明的描述部分。然而,那些初次接觸框架技術的人員,或基本是初次接觸OO技術的人員,應該閱讀本概述部分,以便最清楚地理解一發(fā)明的益處和優(yōu)點。
面向對象技術及處理技術盡管本發(fā)明是關于一個特定OO的技術的,但讀者必須首先理解,總的來說,OO技術與傳統(tǒng)的基于過程的技術(通常被稱做過程化技術)是完全不同的。盡管兩種技術可以用來解決相同的問題,但解決問題的最終方案卻總是非常不同的。這種不同是源于過程技術的設計焦點是與OO技術的設計焦點完全不同這一事實?;谶^程設計的焦點總的來講是解決問題的過程,但是,OO設計的焦點是問題怎樣才能被分解為一組能夠共同工作以提供一種解決辦法的自主實體。OO技術的自主實體被稱做對象。換句話說,OO技術與過程技術完全不同,因為問題被分解成協(xié)同工作的對象組而不是網狀計算機程序或過程的集合。
“框架”概念對那些OO技術設計人員具有特定意義的術語和詞組經歷了一個發(fā)展過程。然而,讀者應該注意到OO技術中定義最寬松的一個詞是對“框架”的定義。框架對不同的人有不同的意思,因此,當比較兩個所謂的框架機制時,讀者應該注意確認該比較確實是“蘋果對蘋果”的比較。下面將要變得更清楚的,術語框架在本說明書中用來描述一個被設計為具有核心函數(shù)和擴展函數(shù)的OO機制,核心函數(shù)是框架機制中不能由框架使用者修改的那部分。擴展部分函數(shù),相反,是原本就是框架機制中被設計為適應并能夠由框架使用者進行擴展的那部分。
OO框架機制盡管在通常術語中OO框架機制可以被適當?shù)孛枋鰹镺O方法,但在一個框架機制和一個基本OO方法之間還是存在根本不同的。該不同是框架機制是以允許并鼓勵對方法的某些方面進行改變和擴展方式進行設計的。換句話說,框架機制相當于為問題提供多于一種的解決方法。該機制提供一種現(xiàn)存的解決方法,它可以根據隨時間變化的個人要求來加以改變和擴展。當然,框架機制的改變/擴展質量對使用者(這里被稱做框架使用者)是非常有價值的,因為改變或擴展一個框架的成本遠遠少于替換或重新使現(xiàn)有方法有效工作的成本。
因此,當框架設計者著手解決一個特定問題時,他們所做的要比只設計單個對象和那些對象之間是如何關聯(lián)的要多。他們還設計框架的核心函數(shù)(即,框架中不受框架使用者潛在的改變和擴展影響的那部分)和框架的擴展函數(shù)(即,框架中受潛在改變和擴展影響的那部分)。最終,框架機制的最終價值不僅取決于對象設計的質量,也取決于如何選擇框架的哪些方面代表核心函數(shù)以及哪些方面代表可擴展函數(shù)。
ZAF-框架機制示例盡管那些熟悉此技術的人員會認為框架設計必然是一個互相滲透互相作用的過程,但在下面的段落中將給出對于一個簡單的框架機制的示例設計選擇。應該理解,這只是本說明書中用來說明和更好地解釋框架機制,以使讀者可以理解和體會本發(fā)明特點和優(yōu)點的一個示例框架。
框架設計者通過從所謂的問題域選擇對象,來確定框架機制需要什么對象。問題域是手邊的特定問題的一個抽象的梗概。對于本圖解的框架機制所選擇的示例問題域是動物園管理的框架。該特定的問題是設計一個機制幫助動物園飼養(yǎng)員照顧和飼養(yǎng)動物園動物。在我們的一個動物園管理框架(ZAF)的例子中,一個OO框架設計者將考慮動物生活的問題域,并且確定任何一個機制都有必要包括一個代表動物園飼養(yǎng)員和動物之間關系的機制(即表示動物園飼養(yǎng)員是如何照顧動物)??蚣茉O計者有可能察覺到動物園動物經常住在籠子,畜舍,蓄水池或其它的圈養(yǎng)單元中。因此我們的框架設計者將首先從框架必須包括表示所有這些基本實體和關系的機制的想法開始。
為了開始設計過程,我們的框架設計者有可能從所謂的分類圖開始。分類圖被用于描述高層框架機制,以及這些機制彼此之間的關系如何。圖7是用于舉例框架ZAF的一個分類圖。在一個分類圖中的每一個機制表示執(zhí)行一個特定功能的對象的編組。為了說明問題,假定我們的框架設計者確定ZAF應由四個高層機制組成一個動物園管理機制,一個動物園飼養(yǎng)員機制,一個動物機制和一個圈養(yǎng)單元機制。
如圖7所示,動物園管理機制已經被設計為使用動物園飼養(yǎng)員機制管理該動物園。因此該動物園管理機制被稱為與動物園飼養(yǎng)員機制具有使用關系。
如討論的那樣,動物園管理機制已經被設計為負責ZAF的全部控制。因此,動物園管理機制負責安排動物園飼養(yǎng)員機制的操作時序。還應注意到我們的框架設計者將動物園管理機制設計成ZAF的核心函數(shù),這樣的設計意味著核心函數(shù)不會受到潛在的更改和擴展。在分類框中的C表示這一事實。請進一步注意,已經設計了動物園管理機制和動物園飼養(yǎng)員機制之間的使用關系,這樣框架的使用者就不能對其作最終的修改。
動物園管理者機制被設計為通常負責動物園中動物的照顧和飼養(yǎng)。因此,它使用動物和圈養(yǎng)單元機制來執(zhí)行它的任務,然而,與動物園管理機制的設計不同,我們的框架設計者將動物園飼養(yǎng)員機制設計成是可擴展的函數(shù),這再次意味著設計成框架的使用者可以對動物園飼養(yǎng)員機制進行修改和/或擴展,以滿足以后的照顧和飼養(yǎng)請求。這個事實是由在動物園飼養(yǎng)員機制分類框中的E所表示。
我們的框架設計者設計了該動物機制以表示在動物園動物和動物園飼養(yǎng)員之間相互作用的動物的一側。因為動物園的動物的數(shù)量在一個常規(guī)量的基礎上有時會變化,因此動物機制被相類似的設計成一個可擴展的函數(shù)。圈養(yǎng)單元機制與動物園飼養(yǎng)員機制通過表示各個圈養(yǎng)單元,例如籠子,畜舍,蓄水池來相互作用。象動物機制一樣,圈養(yǎng)單元機制已經被設計為一個可擴展函數(shù),因此它可以處理進一步的更改和擴展請求。然而請注意。雖然動物園飼養(yǎng)員,動物園動物和圈養(yǎng)單元的機制都被設計為擴展函數(shù),但在它們中兩個機制之間的關系被設計為ZAF的一個核心函數(shù)。換句話說,即使希望給予ZAF的使用者與動物園飼養(yǎng)員,動物園動物,和圈養(yǎng)單元機制的靈活性,然而也不希望允許ZAF的使用者改變這些機制是如何彼此相互相關的。
我們的框架設計者接下來將設計構成圖7中的機制的類和相互關系。一個類是對相同的對象的集合的一個定義。象這樣,類可以被認為是對象的一個抽象,或是一種類型對象的定義。從計算機系統(tǒng)的角度,一個單個的對象表示數(shù)據,和由計算機系統(tǒng)在該數(shù)據上所執(zhí)行的操作或一組操作的一個封裝的集合。事實上,在一個安全的計算機系統(tǒng)中由一個對象所控制的對信息的訪問是通過該通過該對象本身。這也是為什么包含在一個對象中的信息被稱為是由該對象封裝的。
每個類定義包括數(shù)據定義,它定義由該對象所控制的信息,和操作定義,它定義由該對象在每個對象控制的數(shù)據之上所執(zhí)行的一個操作或多個操作。換句話說,一個類定義是通過定義在所定義的數(shù)據之上執(zhí)行的一個操作或若干個操作的集合來定義一個對象是如何動作和與其它的對象相互作用(請注意操作有時被稱為方法,方法程序和/或成員功能。)當一起采用時,定義的操作(或多個操作)和數(shù)據被稱為該對象的行為。實質上,一個類定義定義了它的一個或多個成員對象的行為。
圖8是一個OO類圖,它表示了我們的框架設計者為ZAF所設計的基類。每個類的表示包括它與在圖7中所示的機制的關系。例如,我們能夠看到動物園飼養(yǎng)員類是動物園飼養(yǎng)員機制的表示。ZAF的基類包括動物園管理者類,它是動物園管理機制的一部分;動物園飼養(yǎng)員注冊類,它也動物園管理機制的一部分;動物注冊類,它是動物園飼養(yǎng)員機制的一部分;動物園飼養(yǎng)員類,它也是動物園飼養(yǎng)員機制的一部分;圈養(yǎng)單元注冊類,它也是動物園飼養(yǎng)員機制的一部分;動物類,它是動物機制的一部分;和圈養(yǎng)單元類,它是圈養(yǎng)單元機制的一部分。
請再次注意,兩個類之間的關系已經被設計為ZAF的核心函數(shù),因為它們不能被ZAF的使用者進行的最終的修改。
動物園管理者類是負責對ZAF的全局控制的對象的定義。再者,OO類全部都定義了相互作用以提供對問題的解決方法的那些對象。然而,通過探究類定義的特性,我們能夠理解框架機制的對象是怎么樣被設計成為提供一個現(xiàn)存的解決方法,該解決方法能夠被更改和/或擴展以滿足以后的請求。
動物園管理類被設計為與動物園飼養(yǎng)員注冊類之間具有使用關系。我們的框架設計者將動物園管理和動物園注冊類設計為ZAF的一個核心函數(shù),因為我們的設計者已經確定不允許ZAF的使用者修改這些類定義的成員對象的行為。動物園飼養(yǎng)員注冊,它被成為一個容器,與動物園飼養(yǎng)員類具有參考關系,僅僅是一個類,它定義一個對所有動物園飼養(yǎng)員對象都是一個容器的對象。因此,動物園飼養(yǎng)員注冊包括一個關于list_zoo_keeper()的定義。以后將對之進行描述,這個操作負責將動物園飼養(yǎng)員對象的列表提供給要求這樣一個列表的其它對象。
圖9表示動物園管理者類的一個低層的視圖。因為典型的動物園管理者對象負責ZAF全部的控制,所以動物園管理者類被設計為包括執(zhí)行面向動物園管理的任務的操作。類定義包括下面的5個操作5_minute_timer(),add_animal(),add_containment_unit(),add_zoo_keeper(),和start_zoo_admain()。
start_zoo_admain()操作負責開始ZAF。即是,一個用戶或系統(tǒng)管理者將與start_zoo_admain()操作相互作用以開始通過ZAF對一個動物園進行管理。一旦開始,我們的框架設計者已經設計了start_zoo_admain()操作來初始化5_minute_timer()操作。每5分鐘,5_minute_timer()操作命令動物園飼養(yǎng)員出去對動物進行檢查。add/delete_zoo_keeper()負責與ZAF的用戶相互作用以定義新增加的動物園飼養(yǎng)員(即追加的動物園飼養(yǎng)員類),以加上新增的動物園飼養(yǎng)員(即動物園飼養(yǎng)員對象),并且刪除動物園飼養(yǎng)員類和/或對象。將可以清晰發(fā)現(xiàn),每個動物園飼養(yǎng)員對象負責執(zhí)行一個特定的任務。因而,自然ZAF的用戶可能迫切需要增加一個動物園飼養(yǎng)員定義和對象以處理一個新增加的任務,或刪除一個不再需要的定義或對象。可以看到,這個靈活性是通過將動物園飼養(yǎng)員機制設計成一個可擴展的函數(shù)來實現(xiàn)的。
象add/delete_zoo_keeper()操作一樣,add/delete_zoo_animal()操作負責與用戶相互作用,以定義新增加的動物園動物類和對象,并刪除不再需要的類和對象。并且對于一個動物園需要增加和刪除動物是非常自然的事情。add/delete_containment_unit()操作負責定義新的圈養(yǎng)單元類和對象并且刪除不再必要的類和/或對象。并且,我們的框架設計者通過將動物和圈養(yǎng)單元機制設計為一個可擴展的函數(shù)來提供靈活性的設計ZAF。
回到圖8,動物園飼養(yǎng)員類定義與動物注冊,動物,圈養(yǎng)單元注冊和圈養(yǎng)單元類具有一個使用關系。因為ZAF的值通過允許ZAF的使用者更改和擴展動物園飼養(yǎng)員,動物,圈養(yǎng)單元類而得到增加,所以這些類被設計為可擴展函數(shù)。然而,改變動物和圈養(yǎng)單元注冊類的行為會破壞ZAF的基本操作。因而,這些類被設計為ZAF的核心函數(shù)。
圖10是動物園飼養(yǎng)員類的類圖。然而,在描述圖10的細節(jié)之前,有必要指出在圖10中所表示的類定義以一種非常簡單的稱為類體系的順序來排列的。一個類,象動物園飼養(yǎng)員類,它表示在類體系中最一般的/抽象的類,被稱為該體系中的基類。在一個類體系中類的排序是按著從最一般到最不一般的順序(即,從一般到特殊)。比較特殊的類(例如飼養(yǎng)員類)被稱為該一個或多個較一般類(在這個例子中為動物園飼養(yǎng)員類)的繼承類。象這樣,類定義飼養(yǎng)者,獸醫(yī)和溫度控制者被稱為動物園飼養(yǎng)員來類的子類。將在下面與圖11相關的討論中進一步詳細討論繼承機制。
如圖10中所示,動物園飼養(yǎng)員類定義包括一個單一操作定義,check_animal()操作定義。讀者應該注意到動物園管理者類定義被標記為是一個抽象類。抽象類不被設計為能夠生成對象作為它們的成員,而是用作為它們的子類定義一個通用的界面/協(xié)議。一個類在當它至少有一個操作定義是一個完全的虛操作定義時,將它稱為是一個抽象類。完全的虛操作定義是出于為該操作的子類定義一個通用界面的這一單一目的而設計的。換句話說,實際的行為(即數(shù)據和操作)的設計被留給子類本身。在動物園飼養(yǎng)員類定義的情況下,飼養(yǎng)者,獸醫(yī),和溫度控制者子類定義了包含在動物園管理者類中的完全的虛check_animal()操作定義的特定實現(xiàn)。一個操作當它被設置為等于0時,將其標記為一個完全的虛操作。
但是重要的是要一個完全的虛操作定義的通用界面必須被所有的子類所接受,從而請求對象(稱為客戶對象)能夠使用子類成員對象(稱為服務對象),而無需知道該服務對象的特定的子類。例如當由動物園管理者類所定義的對象需要一個執(zhí)行的特定動作時,它與一個動物園飼養(yǎng)員對象相互作用。因為這些對象的界面是抽象定義的,所以基類動物園飼養(yǎng)員和為check_animal()操作保存在子類定義中的動物園管理員對象無需知道任何關于服務對象子類的知識。利用抽象類的特性的設計(象ZAF設計)被稱為是多態(tài)性的。
對于OO框架多態(tài)性特別重要,因為它允許完成某件事(稱為實現(xiàn))的方式被改變或擴展,而不需要依據動作實際已經被完成的事實影響該機制。換句話說,客戶對象只需要理解某一對象執(zhí)行某一函數(shù),而無需理解這些函數(shù)實際是如何被實現(xiàn)的。
如上所述,我們的框架設計者已經設計了ZAF,這樣動物園飼養(yǎng)員對象與動物和圈養(yǎng)單元對象相互作用以執(zhí)行它們的任務。圖11對于抽象類動物的類體系的類圖。因為動物類定義負責表示動物園動物的特性和行為,框架的設計者設計了抽象的類動物,在某種意義上反映這種責任。如所示的那樣,示例的動物類定義包括數(shù)據定義feed_fred,location,和temp_range以及操作定義get_temp_range(),feed(),needs_food(),needs_vet_visit()和vet_visit()。
出于這個框架觀點的原因,沒有必要詳細探究每個定義。然而,temp_range數(shù)據定義和get_temp_range(),feed()操作定義是充分理解框架設計選擇的很好的例子。
feed()操作定義被設計為執(zhí)行實際的飼養(yǎng)動物(即通過圖中未顯示的喂養(yǎng)器具)。feed()操作是一個完全的虛操作。即,這意味著類的設計是執(zhí)行所需要的功能的具體的機制被留給子類來設計。在象這里被作為子類的成員生成的對象具有特定的需要的情況下,要求子類定義是一個好的設計選擇。在ZAF中,例如每個類型的動物可能需要特定的飼養(yǎng)器具,它不但使定義一個一般的feed()操作變的困難,而且沒有意義。
通過比較的方法,框架設計者已經明確的設計了get_temp_range()操作,它不是一個完全的虛操作定義。這意味著get_temp_range()已經被一般定義為一個缺省操作。象這樣,它被認為是一個虛操作。缺省操作被用來向子類提供一般的函數(shù)。子類可以僅僅使用默信操作或通過重定義,進行改變或擴展缺省操作。缺省操作2的重定義被稱做重置缺省操作。
哺乳動物是動物類的一個子類,因此哺乳動物繼承了動物類的全部特征。請注意哺乳動物類也被設計為一個抽象類,這又意味著它并沒有被設計為生成對象作為它的成員,而是被設計成為其子類提供通用界面。子類哺乳動物又被分為肉食動物和草食動物。
由于feed()操作的定義被留給了子類,因此食肉動物和食草動物也都有各自的feed()操作定義??梢钥吹?,這是一種非常好的設計選擇,因為吃肉的食肉動物與吃草的食草動物具有不同的需求。
Temp-range是對恰好與特定動物的天然習性相吻合的溫度范圍的一種數(shù)據定義,而且get-temp-range()操作定義被設計成重新獲取對特定動物的temp-range并把它返回請求的客戶對象。子類爬行動物包括它自身對temp-range的數(shù)據定義以及自身對get-temp-range()操作的定義。以這樣的方式來設計ZAF,指出數(shù)據定義可以象操作定義那樣被重新設置。由于許多爬行動物生活在沙漠地帶,那里夜晚非常冷,白天非常熱,因此在爬行動物類中重新設置溫度范圍,以包括時間和溫度信息(在圖11中沒有明確地顯示)。這又是另一種很好的設計選擇,因為它使得可以以不同于其它單元的方式來對待爬行動物圈養(yǎng)單元,以可以基于每天的時間和圈養(yǎng)單元自身當前溫度調節(jié)溫度。
圖12是在較低層角度上顯示圈養(yǎng)單元子類的一個類圖。單元類包括虛操作定義adjust-temp()。adjust-temp()定義定義了用來實際調節(jié)動物園圈養(yǎng)單元(即,通過圖中沒有顯示的冷熱調節(jié)機制)中溫度的界面和機制。
ZAF對象如何關聯(lián)除了設計對特定問題解決方法的對象外,我們的框架設計者發(fā)還必須設計單個對象之間是如何相互關聯(lián)。換句話說,對象必須利用設所設計的方式的方法相互關聯(lián)。正如所討論的,為于對象,在所定義的數(shù)據上進行對對象定義的操作被稱做該對象的行為。盡管對象可以被看做自主的實體,但在其與其它對象相互聯(lián)系時,每個對象表現(xiàn)出一種連續(xù)的行為仍然是十分重要的。連續(xù)行為非常重要是因為對象依靠其它對象的連續(xù)行為,所以它們本身也表現(xiàn)出連續(xù)性的行為。事實上,連續(xù)行為如此重要以致于對象的行為經常被稱做對象與其它對象的協(xié)約。當對象沒有表現(xiàn)出一個連續(xù)行為,就說違反了與其它對象的協(xié)約。
當一個對象的操作需要訪問由第二個對象所控制的數(shù)據時,它就被認為是第二個對象的一個客戶。為訪問第二個對象所控制的數(shù)據,客戶的一個操作將調用或喚起第二對象的操作以獲取對該對象所控制的數(shù)據的訪問。接著執(zhí)行調用對象的一個操作(即,在這種情況下是一個服務操作),來訪問和/或者控制所調用對象控制的數(shù)據。
圖13是一個表示ZAF中示例對象在操作動物園時如何相互作用以協(xié)助動物園人員的附圖。從概要的目的,沒有必要詳細分析全部ZAP對象中的相互作用。然而,讀者應該看一下下面簡單的控制流程圖以對對象之間如何相互作用來解決問題有一個初步的理解。
正如所提到的,生成一個對象使之成為特定子類的一個成員。因此,zelda動物園管理員[對象706]是動物園管理員類的一員(事實上是唯一的成員)。這樣,對象zelda負責對ZAF的全部控制。所有動物園飼養(yǎng)員對象都與動物園飼養(yǎng)員注冊對象[對象7OO]注冊。因此,對象Zelda通過調用動物園飼養(yǎng)員注冊對象的list-zoo-keeper()操作(步驟I)來獲取當前動物園飼養(yǎng)員的名單。動物園飼養(yǎng)員注冊對象已經被生成為動物園飼養(yǎng)員注冊子類的一個成員。為了說明問題,假設這種情況做為Zelda-minuet-timer()操作的一部分每五分鐘發(fā)生一次。接著動物園飼養(yǎng)員注冊者對象對動物園飼養(yǎng)員名單(步驟2)進行響應。動物園飼養(yǎng)員名單包括Tina溫度檢測員(對象714),Vince獸醫(yī)(對象740),以及Fred動物飼養(yǎng)員(對象752)。每個動物園飼養(yǎng)員被生成為動物園飼養(yǎng)員子類的一員。特別是,對象Tina溫度檢測員,Vince獸醫(yī),以及Fred動物飼養(yǎng)員分別是溫度控制人員,獸醫(yī),以及動物飼養(yǎng)員子類的成員。Temp()操作具有多態(tài)性。換句話說,對象Tina的check-animals()操作不要求有關每個adjust-temp()操作如何執(zhí)行各自任務的知識。Check-animals()操作只要求界面和調用adjust-temp()操作。在那之后,由單個調節(jié)溫度操作以正確的方式來執(zhí)行它們的任務。
在這一點上,同樣值得指出ZAP機制是一個最簡單的框架機制,用在這里幫助剛涉及的讀者理解一些基本的框架概念,以便最好地體會本發(fā)明的益處和優(yōu)點。參照本敘述下面的部分,將會更加清楚這些益處和優(yōu)點。
現(xiàn)在更加詳細地參考圖14A,14B以及15,圖14A和14B可以通過前面敘述的說明本發(fā)明框架的文字內容加以理解,圖15用來說明框架內所用的特定對象。圖14B為一個高層框圖。低層的細節(jié)在圖14A中表示。圖14A和14B的框架有如下幾個元素網絡瀏覽器映射塊服務層操作系統(tǒng)根據本實施方式,映射塊為因特網上使用任何瀏覽器的任何用戶提供系統(tǒng)管理協(xié)議的事件監(jiān)視和控制。映射塊把協(xié)議服務內部的數(shù)據翻譯為HTML,來在瀏覽器上觀看,并將用戶輸入,如HTML,翻譯成協(xié)議服務的控制。
本發(fā)明的用戶從Web瀏覽器監(jiān)視并且控制系統(tǒng),瀏覽器可以是今天可以獲得的任何類型。
映射塊在互聯(lián)網上以靜態(tài)格式(用HTML)或動態(tài)裝置(用,例如,Java)提供Web瀏覽器。這些形式或裝置提供來自系統(tǒng)管理協(xié)議的信息和/或提供進入系統(tǒng)管理協(xié)議中生成事件的方法。
用戶輸入到瀏覽器的輸入表明他希望監(jiān)視什么或他希望怎樣控制。用戶的輸入在形式或裝置給出的指令內,被瀏覽器發(fā)送回映射塊。映射塊和瀏覽器之間的數(shù)據以一種標準語言,如HTML,在互聯(lián)網上使用HTTP協(xié)議進行傳輸,這在今天已經十分普通了。
映射塊直接與系統(tǒng)管理協(xié)議的服務層通信。其結果是,映射塊變成了服務所用的GUI。服務器把在互聯(lián)網上接收的HTML翻譯為給定的服務層的命令,服務層經由操作系統(tǒng)執(zhí)行該請求。
本發(fā)明允許一個針對DMI,SNMP,CMIP以及CMOL系統(tǒng)管理協(xié)議的因特網上獨立平臺的瀏覽器。
映射塊可以被設計成一個HTTP服務器,用來為來自Web瀏覽器的HTTP請求服務,把它們轉換為對特定服務層的呼叫。從服務層返回的數(shù)據被翻譯成HTML,并被返回瀏覽器。這樣就可以進行對DMI,SNMP,CMIP,CMOL,或其它任何來自實質上是獨立于平臺的web瀏覽器的系統(tǒng)管理協(xié)議的管理。
做為另一種實施方式,圖14和14B的框架包括HTTP請求器映射塊傳輸層HTTP服務器本發(fā)明的這種實施方式提供了一種經由映射塊,把HTTP翻譯成協(xié)議獨立于傳輸層所使用的命令的框架。HTTP請求器和映射塊之間的通信可以是兩種類型中的一種。映射塊可以是一個入口HTTP服務器,它從TCP/IP接收HTTP請求并經由傳輸層用一個NetBIOS,IPX或串行協(xié)議為它設定路由。這種設置使得用一般的web瀏覽器達到一個沒有直接連接到TCP/IP的HTTP服務器。對那些沒有任何TCP/IP連接的計算機安裝而言,HTTP請求,或web瀏覽器必須與映射塊直接集成。HTTP服務器總是與它的映射塊相集成。
本發(fā)明可以通過重寫瀏覽器的后部,使其包括映射塊,或者通過開發(fā)映射塊使其做為瀏覽器發(fā)送的HTTP請求的一個入口。
作為一種進一步的實施方式,圖14A和圖14B的框架包括下面的單元Web瀏覽器映射塊傳輸層,和系統(tǒng)管理底層。
依據這種實施方式,映射塊能夠向在因特網上使用任何瀏覽器的用戶提供系統(tǒng)管理和控制。映射塊將系統(tǒng)管理軟件內部的數(shù)據翻譯為HTML,以便在瀏覽器上查看,并將用戶的輸入,如HTML,翻譯為對于系統(tǒng)管理軟件的控制。該框架在此處將被稱為一個管理框架。除了web瀏覽器之外,可以在服務器計算機設備上執(zhí)行該框架中的單元,本發(fā)明的一個用戶在任何普通的web瀏覽器的管理之下,監(jiān)視和控制系統(tǒng)。
通過經由傳輸層訪問系統(tǒng)管理底層,映射塊提供在因特網之上具有靜態(tài)格式(以HTML)或動態(tài)應用(例如以Java)的web瀏覽器。這些格式和應用提供在管理之下來自系統(tǒng)的監(jiān)視信息,和/或提供在管理之下系統(tǒng)控制的入口的方式。用戶向瀏覽器的輸入表明他希望監(jiān)視什么或他希望如何控制。用戶的輸入由該瀏覽器在由格式或應用程序中所給出的命令中送回至該映射塊。
在映射塊和web瀏覽器之間的數(shù)據交換,在今天,是以一種標準的語言例如HTML,使用HTTP協(xié)議在因特網之上發(fā)送的。
映射塊與系統(tǒng)經由一個傳輸層和一個系統(tǒng)管理底層在管理之下進行通信。實際上,映射塊在GUI-基本詞形變化表中變成了GUI。映射塊將在因特網之上接收到的HTML翻譯為對于給定的傳輸層獨立于協(xié)議的命令。
傳輸層通過NETBIOS,TCP/IP,IPX,或連續(xù)鏈路在系統(tǒng)之間傳輸這些命令。
系統(tǒng)管理底層從傳輸層接收命令。然后它執(zhí)行用戶的命令或從該計算機系統(tǒng)本身請求所希望的監(jiān)視。
本發(fā)明可以通過web控制,在系統(tǒng)管理底層可以得到的服務包括系統(tǒng)信息工具在系統(tǒng)的硬件和軟件配置之上提供綜合信息。
系統(tǒng)監(jiān)視服務允許對系統(tǒng)中可測量量的監(jiān)視。它們可以被查看,收集,并輸出到一個數(shù)據庫,此外,還可以在它們之上設定閾值以觸發(fā)警告。
系統(tǒng)隔離訪問服務允許查看并控制一個系統(tǒng)的系統(tǒng)隔離部分。
警告管理服務允許警告日志的查看,設定出現(xiàn)警告時所采取的措施,定義封裝警告類的配置文件,并且通過配置文件從警告收集器請求警告。
安全管理服務允許定義用戶以及口令以限制在服務層上的訪問。也允許在安全訪問上警告的設定。
ECC存儲器服務允許監(jiān)視ECC存儲器的錯誤和故障并對之發(fā)出警告。
可預測的故障分析服務允許監(jiān)視磁盤錯誤并對之發(fā)出警告。
系統(tǒng)簡檔服務允許定義并記入系統(tǒng)中重要的計數(shù)和目錄信息。
重要文件監(jiān)視允許監(jiān)視和警告文件,以檢測在這些文件中的變化。
NetFinity串行控制由內部協(xié)議允許定義并建立串行鏈路以進行通信。
RAID管理允許控制RAID驅動的控制并且監(jiān)視警告RAID的驅動錯誤和故障。
遠程對話服務;允許在遠程系統(tǒng)上的終端外殼能力。
文件傳送服務;允許在本地系統(tǒng)和遠程系統(tǒng)之間進行文件或目錄的傳送。
屏幕查看服務除實時捕獲和查看系統(tǒng)的輸入和輸出,還允許在本地或遠程系統(tǒng)上可視屏幕的捕獲和查看。
遠程系統(tǒng)管理服務允許定義并維護系統(tǒng)組。并就系統(tǒng)的狀態(tài)和存在發(fā)出警告。
服務器保護支持服務允許對服務器系統(tǒng)之上的硬件的狀態(tài)進行監(jiān)視和警告(電源,溫度等)。
事件調度服務允許定義并激活調度的服務或命令。
加電錯誤檢測允許警告并捕獲發(fā)生在一個系統(tǒng)的加電和引導之間的錯誤。
數(shù)據庫支持允許為服務數(shù)據的數(shù)據庫輸出設定并排列參數(shù)。
軟件目錄允許定義并監(jiān)視安裝在系統(tǒng)之上的軟件。
DMI瀏覽器允許DMI事件的查看和生成。
報告允許設計,生成和查看從不同的監(jiān)視服務所產生的報告。這個報告作為歷史數(shù)據的一個靜態(tài)基層服務,歷史數(shù)據可以補充由不同的服務所傳送的實時數(shù)據。此外,這些報告也有可能負責遠離系統(tǒng)管理的人們所使用。具有獨立于平臺的web界面對于那個用途來說特別有價值。
一個HTTP服務器被寫作是一個映射層,它在連接到因特網的一個端口上接受HTML。對于已經存在于已知的系統(tǒng)管理程序中的每一個服務來說,這個服務器大部分是圖形用戶界面的重寫,例如IBM所提供的已知的Netfinity(Netfinity是國際商業(yè)機器公司的一個商標)。關鍵的不同是,服務器不是與一個窗口系統(tǒng)交互,而是與HTML交互。
此外,許多強有力的系統(tǒng)管理都具有web/瀏覽器詞法分析的能力,更大的困難是專用的GUI。
在映射塊中所發(fā)現(xiàn)的對象將在圖15中更詳細的予以描述,圖15表示了映射塊的內部。從圖14可以看到,映射塊位于web瀏覽器與通過因特網觀察和控制的應用之間。映射塊由兩部分組成HTTP對象和HTML對象。
HTTP對象應負責以下的功能+打開并保持因特網的通信,+接受因特網上HTTP請求,+對統(tǒng)一資源定位器(URL)和其它任何形成該請求的數(shù)據進行語法分析,+向HTML對象發(fā)送URL,輸入數(shù)據和瀏覽器標識,+從HTML對象接受HTML資源,并將它返回到發(fā)出請求的瀏覽器,如圖15中所表示,通過瀏覽器類型可以進一步再分類HTTP對象。按這樣,HTTP對象可以作為一個HTML過濾器來使用,將HTML對象所返回的HTML資源變?yōu)樘囟g覽器能夠更好的使用資源。在圖15中給出了三個例子“瀏覽器”。當服務于一個全功能的瀏覽器,例如已知的商業(yè)上可用的產品NetScape的時候,可以根本無需改變HTML,HTTP對象,它從HTML對象轉化為瀏覽器,然而,當服務于一個具有較低能力的瀏覽器,例如在其上僅僅能夠正確處理HTML1.0之時,要求較高級服務的資源成分將被過濾為能在這樣的一個環(huán)境中有意義的顯示出來的資源。此外,HTTP瀏覽器能夠被再分類以處理一個命令行“瀏覽器”。在這種情況中,HTML必須被完全改變,去除所有的標記并插入適當?shù)目崭?,以在一個終端屏幕上將其有意義的顯示出來。
HTML對象應負責以下的功能
+接受URL和其它的請求數(shù)據,+理解這些請求并在應用的界面表示中將其格式化,+接受來自應用的應答,+將這些應答轉化為HTML,并且將該HTML發(fā)送到HTTP對象。
如圖15所示HTML對象也可以由瀏覽器類型進一步再分類。對于HTTP對象,這種再分類的目的是生成能夠被瀏覽器的具體類型最好理解的HTML,HTTP對象僅僅采用HTML作為輸入,并能夠僅僅作為一個HTML/HTML或HTML/ASCII過濾器發(fā)揮作用,對于由輸入HTML所代表的實際數(shù)據則沒有意義。相反,在HTML對象級,應用的界面設計者仍然知道數(shù)據實際代表什么。他可以在這個階段,將對瀏覽器的選擇作出應答,并且依據瀏覽器的識別,將數(shù)據格式化為HTML或ASCII。一個簡單的例子是一張圖的瀏覽器的請求。如果瀏覽器是一個NetScape瀏覽器,HTML可以產生作為一個GIF發(fā)送的一張圖;另一方面,如果該“瀏覽器”是一個命令行,那么該瀏覽器將產生該圖的一個ASCII近似值。
依據本發(fā)明的一種實施方式,涉及了兩個對象。
第一個對象是一個HTTP對象。這個對象封裝了HTTP連接。
它的組成是TCP/IP套接字請求的URL它的方法是獲取路徑;獲取服務;獲取用戶;獲取口令;獲取權利;獲取特定的理由。
第二個對象是一個HTML對象。該對象包括HTML/應用界面。
它的組成是HTML數(shù)據它的方法是
增加文本增加標記增加特定瀏覽器標記本發(fā)明的這種實施方式是通過HTTP對象和HTML對象作為類庫的一個集合來實現(xiàn)的。HTML對象將被再分類以提供對于特定瀏覽器特定的標記特性。本發(fā)明用于將由web服務器產生的HTML加工為特定的瀏覽器,例如MVS或VT1OO瀏覽器。
權利要求
1.一個信息處理系統(tǒng),用于使一個客戶機計算機設備能夠訪問位于一臺服務器計算機設備上的信息,所述的客戶機計算機設備包括使用超文本傳輸語言(HTTP)與所述的服務器計算機設備相通信的裝置,并且包括使用超文本標記語言(HTML)將從所述的服務器計算機設備接收到的語言呈現(xiàn)給客戶機計算機設備的用戶的裝置,所述的信息處理系統(tǒng)包括所述的客戶機和服務器計算機設備之間的一個網絡,所述的網絡除HTTP之外還使用一個網絡傳輸協(xié)議,并且除HTML之外還使用一種網絡數(shù)據格式;及一個傳輸協(xié)議轉換裝置,用于將所述的客戶機計算機設備和所述的服務器計算機設備發(fā)送或接收到的HTML/HTTP信息,通過所述的網絡轉換為所述的網絡傳輸協(xié)議和所述的網絡數(shù)據格式。
2.權利要求1中的系統(tǒng),其中所述的傳輸協(xié)議轉換裝置運行面向對象的計算機軟件。
3.權利要求1中的系統(tǒng),其中所述的客戶機計算機設備與因特網相連接,并且所述的網絡位于因特網和服務器計算機設備之間。
4.權利要求1的系統(tǒng)其中所述的客戶機計算機設備的用于呈現(xiàn)信息的裝置使用一個特定類型的圖形用戶界面。其中所述客戶機計算機設備與因特網相連接,并且所述的網絡位于因特網與服務器計算機設備之間,并且其中所述的傳輸協(xié)議轉換裝置運行面向對象的計算機軟件,它包括一個HTML對象,它接收來自所述的客戶機計算機設備的HTML請求數(shù)據,并將所接收的HTML請求數(shù)據轉換為該網絡的數(shù)據格式;及一個HTTP對象,它打開并且保持所述的客戶機和服務器計算機設備之間的因特網通信,對從客戶機計算裝置接收到的HTML請求數(shù)據進行語法分析,檢測所述的客戶機計算機設備使用的特定的圖形界面的識別,將請求數(shù)據和所檢測的圖形用戶界面的識別發(fā)送給HTML對象,通過所述的網絡和因特網在所述的HTML對象和所述的客戶機計算機設備之間傳送HTML數(shù)據。
5.權利要求3的系統(tǒng),其中所述的服務器計算機設備包括用于運行一個系統(tǒng)管理軟件程序的系統(tǒng)管理裝置,所述的網絡協(xié)議是一個系統(tǒng)管理協(xié)議,并且來自所述的客戶機計算機設備的HTML/HTTP數(shù)據包括命令以控制所述的系統(tǒng)管理程序。
6.權利要求5的系統(tǒng),其中所述的系統(tǒng)管理軟件處理與所述的客戶機和服務器計算機設備的硬件和軟件配置相關的數(shù)據。
7.一個用于信息處理系統(tǒng)的程序單元,包括一個映射塊,當它在所述的信息處理裝置上運行時,它在(a)HTML和HTTP與(b)除HTML和HTTP之外的命令和協(xié)議之間映射數(shù)據,所述的映射塊具有一個HTML對象和一個HTTP對象;所述的HTML對象接收URL和其它的請求數(shù)據;將接收到的數(shù)據組織為除HTML和HTTP之外的內部命令和協(xié)議;接收在除HTML和HTTP之外內部命令和協(xié)議中的應答;將接收的應答轉換為HTML;并且將這樣的HTML發(fā)送到所述的HTTP對象;所述的HTTP對象打開并保持因特網通信;接收在因特網之上的HTTP請求;對統(tǒng)一資源定位器(URL)和形成一個接收請求的相關數(shù)據進行語法分析;將URL和相關的數(shù)據和瀏覽器程序識別發(fā)送到所述的HTML對象;接收來自所述的HTML對象的HTML資源;并且將HTML資源作為HTTP響應回送到因特網。
8.權利要求7的程序單元,其中所述的HTML對象有它的成員TCP/IP套接字;和請求的URL;并且進一步有它的方法獲取路徑;獲取服務;獲取用戶;獲取口令;獲取權利;獲取特定的理由。
9.權利要求7的一個程序單元,其中所述的HTTP對象有它的成員HTML數(shù)據;并且進一步有它的方法增加文本;增加它的標記;并且增加特定瀏覽器的標記。
全文摘要
一個信息處理系統(tǒng),它能夠使一個客戶機計算機設備訪問位于客戶機和服務器計算機設備之間的網絡上的一個服務器計算機設備上的信息??蛻魴C計算機設備使用超文本傳輸協(xié)議(HTTP)訪問服務器計算機設備,并且使用超文本標記語言軟件將接收到的來自服務器計算機設備的信息呈現(xiàn)給客戶機計算機設備的一個用戶。該信息處理系統(tǒng)包括客戶機和服務器計算機設備之間的網絡,該網絡使用除HTTP之外的網絡傳輸協(xié)議和除HTML之外的網絡數(shù)據格式,并且該信息處理系統(tǒng)還包括一個傳輸協(xié)議轉換器,該轉換器將客戶機計算機設備和服務器計算機設備中的至少一個所發(fā)出的或接收到的HTML/HTTP信息,通過網絡轉換為網絡傳輸協(xié)議和網絡數(shù)據格式。
文檔編號H04L29/06GK1202291SQ9619832
公開日1998年12月16日 申請日期1996年9月20日 優(yōu)先權日1995年11月14日
發(fā)明者邁克爾·皮爾西, 邁克爾·普里姆, 本杰明·里德, 史蒂文·韋爾奇, 米切爾·梅德福 申請人:國際商業(yè)機器公司