專利名稱:工作站上打印機(jī)實例的基于網(wǎng)絡(luò)的創(chuàng)建的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在工作站打印機(jī)文件夾中創(chuàng)建打印機(jī)實例。更具體地說,本發(fā)明涉及通過訪問可以添加到工作站打印機(jī)文件夾中的打印機(jī)的網(wǎng)站列表和從網(wǎng)站列表中選擇打印機(jī),通過工作站和打印機(jī)之間的本地網(wǎng)絡(luò)在用于對等通信的工作站打印機(jī)文件夾中創(chuàng)建打印機(jī)實例,因而響應(yīng)于所述選擇,所選打印機(jī)的識別信息和指令信息通過互聯(lián)網(wǎng)傳輸?shù)焦ぷ髡?,從而打印機(jī)的打印機(jī)配置信息和打印驅(qū)動程序信息自動地獲得和安裝在工作站上,并且打印機(jī)實例在打印機(jī)文件夾中創(chuàng)建。
背景技術(shù):
通常,打印機(jī)實例通過用戶在工作站上執(zhí)行操作在視窗操作系統(tǒng)中創(chuàng)建。例如,Marbry等人的美國專利5,692,111(在下文中稱為“‘111專利”)描述了用戶通過瀏覽本地網(wǎng)絡(luò)和選擇他/她要添加的基于服務(wù)器的打印機(jī)在他們的工作站視窗注冊表中的本地網(wǎng)絡(luò)中添加新的基于服務(wù)器的打印機(jī)的方法。在選擇基于服務(wù)器的打印機(jī)基礎(chǔ)上,從網(wǎng)絡(luò)bindery檢索用于所選擇打印機(jī)的打印機(jī)配置文件和打印驅(qū)動程序文件并將它們安裝在用戶的工作站上,在此之后基于服務(wù)器的打印機(jī)實例在用戶的視窗注冊表中創(chuàng)建。此方法在用戶連接到局域網(wǎng)的情況下安裝作為打印服務(wù)器服務(wù)的局域網(wǎng)的一部分的打印機(jī)方面沒有問題。然而,這種技術(shù)需要用戶工作站具有安裝在工作站上的網(wǎng)絡(luò)客戶軟件并且在用戶能夠安裝打印機(jī)之前需要用戶登錄到網(wǎng)絡(luò)。結(jié)果,如果用戶工作站沒有安裝必要網(wǎng)絡(luò)客戶軟件,或者用戶不能登錄到網(wǎng)絡(luò),例如由于管理權(quán)的缺乏,則用戶不能安裝和/或打印到打印機(jī)。111專利方法另外的問題是因為打印機(jī)是基于服務(wù)器的打印系統(tǒng)的一部分,所以在用戶能夠在他們的工作站上安裝打印機(jī)和提交打印作業(yè)到打印機(jī)之前,打印機(jī)需要安裝到打印服務(wù)器上。因此,需要一種更容易的方法用于用戶在工作站上安裝打印機(jī)。
發(fā)明內(nèi)容
本發(fā)明提供了一種更容易的通過工作站和打印機(jī)之間的本地網(wǎng)絡(luò)在用于對等通信的客戶工作站打印機(jī)文件夾中安裝打印機(jī)的方法。根據(jù)本發(fā)明,用戶利用他們工作站上的瀏覽器訪問可以添加到工作站的打印機(jī)的網(wǎng)站,其中,將html網(wǎng)頁下載到瀏覽器以便顯示可以添加的打印機(jī)的列表。html網(wǎng)頁包括用于每個所列出打印機(jī)的超級鏈接,其中此超級鏈接包括打印機(jī)的識別信息。為了添加打印機(jī),用戶只需點(diǎn)擊用于他們想要添加到工作站的打印機(jī)的超級鏈接。此超級鏈接包括用于然后下載到瀏覽器的動態(tài)服務(wù)器主頁的參考。此動態(tài)服務(wù)器主頁包括用于從所述超級鏈接提取所選打印機(jī)的識別信息(參數(shù))的腳本,和用于執(zhí)行安裝程序以安裝打印機(jī)的腳本。工作站內(nèi)的安裝程序利用所提取的參數(shù)自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息,在工作站自動地配置打印機(jī)并在安裝打印驅(qū)動程序,并且最后在工作站上自動地創(chuàng)建打印機(jī)的本地管理實例。
結(jié)果,本發(fā)明簡化了在工作站上創(chuàng)建打印機(jī)實例的過程,因為不需要客戶網(wǎng)絡(luò)軟件并且用戶不需要登錄網(wǎng)絡(luò)。而且,即使所選打印機(jī)可能是局域網(wǎng)的一部分的打印機(jī),用戶也可以在不管是否登錄網(wǎng)絡(luò)的情況下在工作站上安裝打印機(jī)和提交打印作業(yè)到打印機(jī),因為所述打印機(jī)實例用于對等通信(即打印機(jī)實例是本地管理的實例)。此外,用戶只需從列表中選擇打印機(jī)而不必知道關(guān)于打印機(jī)、所選打印機(jī)所需的打印驅(qū)動程序、與打印機(jī)通信所需的端口名稱等等的任何進(jìn)一步的信息,因為所有必要過程的執(zhí)行對用戶都是透明的。
因此,在本發(fā)明的一個方面,在工作站上的打印機(jī)文件夾中基于網(wǎng)絡(luò)創(chuàng)建打印機(jī)用于工作站和打印機(jī)之間的網(wǎng)絡(luò)上的對等通信,包括下載打印機(jī)html網(wǎng)頁到工作站,此打印機(jī)html網(wǎng)頁提供了可以添加到工作站的打印機(jī)的超級鏈接,選擇用于要添加到工作站的打印機(jī)的超級鏈接,響應(yīng)于此選擇步驟,從所選超級鏈接提取所選打印機(jī)的識別信息和執(zhí)行組件對象以安裝打印機(jī),其中,組件對象調(diào)用一個功能(例如,DDI),此功能至少部分地基于所提取的識別信息自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息,基于獲得的打印機(jī)配置信息和打印驅(qū)動程序信息自動地配置打印機(jī)并安裝打印驅(qū)動程序,和在工作站上創(chuàng)建打印機(jī)的本地管理實例。
在一個相關(guān)的方面,如果要執(zhí)行的組件對象沒有安裝在工作站上,可執(zhí)行文件下載到工作站,其中,此可執(zhí)行文件包括組件對象和功能,所述功能例如可以是動態(tài)設(shè)備安裝程序(DDI)。
其他的方面涉及自動地從網(wǎng)絡(luò)上的遠(yuǎn)程設(shè)備例如FTP服務(wù)器獲得打印機(jī)配置信息和打印驅(qū)動程序信息,和自動地創(chuàng)建用于與打印機(jī)通信的端口。因此,打印機(jī)配置信息和打印驅(qū)動程序的數(shù)據(jù)庫可以保存在遠(yuǎn)程設(shè)備上以便在創(chuàng)建本地管理的打印機(jī)實例的任何時候容易地訪問它們。
另外,打印機(jī)的識別信息可以是打印機(jī)的網(wǎng)絡(luò)地址,例如IP地址,打印機(jī)名稱、DNS名稱或NetBios名稱。從這方面來說,網(wǎng)絡(luò)服務(wù)器僅僅提供打印機(jī)的IP地址或名稱給工作站,而工作站利用此IP地址或名稱從數(shù)據(jù)庫例如上面所述的數(shù)據(jù)庫獲得打印機(jī)配置和打印驅(qū)動程序信息。
此外,打印機(jī)不必是安裝在網(wǎng)絡(luò)上的真實打印機(jī),而可以是虛擬打印機(jī)。從這方面來說,用戶僅僅通過例如從網(wǎng)站列表中選擇虛擬打印機(jī)的超級鏈接而很容易地在工作站上創(chuàng)建虛擬打印機(jī)實例,從而虛擬打印機(jī)的標(biāo)識符傳輸給工作站。在這點(diǎn)上,打印機(jī)配置信息和打印驅(qū)動程序信息的數(shù)據(jù)庫可以包括用于各種虛擬打印機(jī)以及安裝在網(wǎng)絡(luò)上的打印機(jī)的需要信息。結(jié)果,用戶可以僅僅通過從網(wǎng)站列表中選擇虛擬打印機(jī)而很容易地在工作站上創(chuàng)建虛擬打印機(jī)實例。
此簡短概述使得可以很快地理解本發(fā)明的實質(zhì)。通過下列結(jié)合附圖的優(yōu)選實施例的詳細(xì)描述,將獲得本發(fā)明更加完整的理解。
圖1描述了本發(fā)明可以在其中使用的網(wǎng)絡(luò)環(huán)境的例子。
圖2描述了計算機(jī)工作站內(nèi)部結(jié)構(gòu)的例子。
圖3描述了局域網(wǎng)服務(wù)器內(nèi)部結(jié)構(gòu)的例子。
圖4描述了網(wǎng)絡(luò)服務(wù)器內(nèi)部結(jié)構(gòu)的例子。
圖5是用于通過互聯(lián)網(wǎng)訪問所安裝打印機(jī)的列表的網(wǎng)頁的例子。
圖6描述了列出打印機(jī)和相關(guān)超級鏈接用于選擇所安裝打印機(jī)的HTML網(wǎng)頁的顯示的例子。
圖7是用于動態(tài)設(shè)備安裝程序的通信和過程流程的例子。
圖8是根據(jù)本發(fā)明用于基于網(wǎng)絡(luò)安裝打印機(jī)的處理步驟的流程圖。
具體實施例方式
圖1描述了本發(fā)明可以在其中使用的網(wǎng)絡(luò)環(huán)境的例子。網(wǎng)絡(luò)1最好是局域網(wǎng)(LAN),但實際上也可以是其他類型網(wǎng)絡(luò)。網(wǎng)絡(luò)1可以包括各種計算元件,例如工作站、打印機(jī)、服務(wù)器等,這些元件在通常如基干10所示的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)上彼此通信?;?0可以包括各種通信設(shè)備,例如路由器和數(shù)據(jù)通信集線器(未示出),通信設(shè)備提供連接到網(wǎng)絡(luò)的各種元件之間的通信鏈路,以及與例如最好包括網(wǎng)絡(luò)服務(wù)器51的互聯(lián)網(wǎng)50之類的其他網(wǎng)絡(luò)通信。網(wǎng)絡(luò)1最好包括多個客戶工作站,例如工作站20和21;多個打印機(jī),例如打印機(jī)40至42;和至少一個網(wǎng)絡(luò)管理員終端15。網(wǎng)絡(luò)管理員終端15提供用于管理員管理網(wǎng)絡(luò)的方法,包括執(zhí)行添加新打印機(jī)到網(wǎng)絡(luò)上的打印機(jī)列表的操作,其中此列表可以保存在例如網(wǎng)絡(luò)服務(wù)器51的網(wǎng)頁中??蛻艄ぷ髡镜拿恳粋€最好能夠提交打印作業(yè)給打印機(jī)40至42的至少之一。打印作業(yè)可以在對等基礎(chǔ)上傳輸?shù)酱蛴C(jī),或者作為基于服務(wù)器的打印作業(yè)。在這點(diǎn)上,網(wǎng)絡(luò)1還可以包括至少一個本地服務(wù)器,例如服務(wù)器30,服務(wù)器30包括一個固定存儲盤,例如盤31。圖1中所示元件的每一個僅僅表示可以包括在網(wǎng)絡(luò)環(huán)境內(nèi)的一些設(shè)備,當(dāng)然,許多其他元件也可以連接到網(wǎng)絡(luò)。但是,為了簡潔,本發(fā)明的描述將限于使用圖1所示的那些元件。
客戶工作站20最好是使用視窗操作系統(tǒng)例如Microsoft Windows2000或者Window NT4.0的IBM或兼容個人計算機(jī)。工作站20最好包括一個大容量存儲器設(shè)備,例如用于存儲數(shù)據(jù)文件和應(yīng)用程序文件的硬盤。如上所述,工作站20最好使用視窗(Windows)操作系統(tǒng),此視窗操作系統(tǒng)存儲在所述硬盤上。用戶可以利用存儲在硬盤上的應(yīng)用程序從工作站20執(zhí)行各種操作,包括通過互聯(lián)網(wǎng)訪問網(wǎng)站和提交打印作業(yè)給連接到網(wǎng)絡(luò)1的打印機(jī)40至42的任何一個。也就是說,想要在打印機(jī)40至42之一上打印硬拷貝打印輸出的用戶執(zhí)行應(yīng)用程序內(nèi)的過程以提交打印作業(yè)給所選打印機(jī)。在此點(diǎn)上,在用戶能夠提交打印作業(yè)給打印機(jī)40至42之一之前,為了工作站20與所選打印機(jī)通信,需要在工作站20上安裝必要的打印驅(qū)動程序和配置文件。此過程將在下面更加詳細(xì)地描述,但是一旦必要文件被安裝并且工作站能夠與所選打印機(jī)通信,用戶就能夠選擇打印機(jī)和提交打印作業(yè)給打印機(jī)40至42之一。工作站20還能夠與網(wǎng)絡(luò)上的其他設(shè)備通信,例如服務(wù)器30和網(wǎng)絡(luò)服務(wù)器51,此過程也將在下面更加詳細(xì)地描述。
打印機(jī)40至42連接到網(wǎng)絡(luò)1用于用戶,例如工作站20處的用戶,使用戶能夠提交打印作業(yè)給它們用于打印。打印機(jī)40至42最好是網(wǎng)絡(luò)啟用打印機(jī),它包括用于通過基于10與工作站20通信的網(wǎng)絡(luò)接口。在此點(diǎn)上,打印機(jī)40至42可以是任何類型的網(wǎng)絡(luò)啟用打印機(jī),而不必是任何特殊類型的打印機(jī)。因為打印機(jī)40至42是網(wǎng)絡(luò)啟用打印機(jī),所以它們通常由網(wǎng)絡(luò)管理員連接和安裝用于在網(wǎng)絡(luò)上通信。管理員還可以添加打印機(jī)到保存在公知網(wǎng)站上的打印機(jī)列表,通過所述網(wǎng)站用戶能夠瀏覽列表和選擇添加到工作站的打印機(jī)。也就是說,一旦打印機(jī)已經(jīng)添加到網(wǎng)絡(luò),如上所述,在用戶能夠提交打印作業(yè)給打印機(jī)之前,此打印機(jī)必須先安裝在工作站上。本發(fā)明提供了用于用戶通過利用互聯(lián)網(wǎng)訪問保存在網(wǎng)絡(luò)服務(wù)器上的打印機(jī)列表安裝打印機(jī)的方法。此過程將在下面更加詳細(xì)地描述。
圖2是示出了工作站20的內(nèi)部結(jié)構(gòu)的例子的方框圖。在圖2中,工作站20包括中央處理單元(CPU)210,例如連接到計算機(jī)總線200的可編程微處理機(jī)。還連接到計算機(jī)總線200的是用于連接到鍵盤的鍵盤接口220、用于連接到鼠標(biāo)或其他指示設(shè)備的鼠標(biāo)接口230、用于連接到軟盤的軟盤接口240、用于連接到監(jiān)視器或其他顯示器的顯示器接口250,和用于連接到基干10的網(wǎng)絡(luò)接口260。
隨機(jī)存取存儲器(RAM)連接到計算機(jī)總線200以提供CPU210對記憶存儲器的訪問,從而充當(dāng)用于CPU210的主運(yùn)行存儲器。特別是,當(dāng)執(zhí)行存儲程序指令序列時,CPU210加載那些來自硬盤280(或其他存儲介質(zhì))的指令序列到RAM270和執(zhí)行那些來自RAM270的存儲程序指令序列。還應(yīng)注意到,在視窗操作系統(tǒng)下可利用的標(biāo)準(zhǔn)盤交換技術(shù)使存儲段從RAM270和硬盤280來回地交換。只讀存儲器(ROM)290存儲不變式指令序列,例如用于CPU210的啟動指令序列或者用于固定到工作站20的外圍設(shè)備的操作的基本輸入/輸出系統(tǒng)(BIOS)序列。
硬盤280是存儲CPU210可執(zhí)行的程序指令序列的計算機(jī)可讀介質(zhì)的一個例子。程序指令可以構(gòu)成視窗操作系統(tǒng)281、打印機(jī)驅(qū)動程序282、視窗操作系統(tǒng)注冊表283、其他驅(qū)動程序284、字處理程序285、其他程序286、FTP/HTTP客戶機(jī)287、其他文件288,和網(wǎng)絡(luò)瀏覽器289。如上所述,操作系統(tǒng)281最好是諸如Microsoft Windows 2000之類的視窗操作系統(tǒng),盡管其他類型的操作系統(tǒng)也可以用于本發(fā)明。打印機(jī)驅(qū)動程序282用于在至少一個圖形形成設(shè)備例如打印機(jī)40至42上準(zhǔn)備用于打印的圖形數(shù)據(jù)。視窗注冊表283在視窗操作系統(tǒng)中當(dāng)各種設(shè)備安裝在工作站20上時存儲用于注冊所述設(shè)備的信息。其他驅(qū)動程序284包括用于連接到計算機(jī)總線200的剩余接口每一個的驅(qū)動程序。
字處理程序285是用于創(chuàng)建文檔和圖像的典型字處理機(jī)程序,例如Microsoft Word或Corel WordPerfect文檔。其他程序286包括操作工作站20和運(yùn)行期望應(yīng)用程序所必需的其他程序。FTP/HTTP客戶機(jī)287提供用于工作站20的功能以通過FTP(文件傳輸協(xié)議)和HTTP(超文本傳輸協(xié)議)協(xié)議從連接到網(wǎng)絡(luò)的其他設(shè)備請求和接收數(shù)據(jù)和信息。其他文件288包括用于工作站20操作所必需的文件或由工作站20上的其他應(yīng)用程序創(chuàng)建和/或保存的文件任何之一。網(wǎng)絡(luò)瀏覽器應(yīng)用289最好是諸如Microsoft Internet Explorer或Netscape Navigator之類的互聯(lián)網(wǎng)瀏覽器應(yīng)用程序。
圖3和4分別描述了顯示服務(wù)器例如服務(wù)器30和51內(nèi)部結(jié)構(gòu)概觀的方框圖。在此點(diǎn)上,兩個服務(wù)器的內(nèi)部結(jié)構(gòu)可以相同。但是,每個服務(wù)器可以在軟件成分中包括不同功能。相應(yīng)地,除特別指出的情況外,內(nèi)部結(jié)構(gòu)的下列描述同等地適用于服務(wù)器30和51兩者,服務(wù)器30和51的相同元件具有相應(yīng)的數(shù)字標(biāo)號。在圖3中,服務(wù)器30包括中央處理單元(CPU)310,例如連接到計算機(jī)總線300的可編程微處理機(jī)。連接到計算機(jī)總線300的還有用于連接到基干10的網(wǎng)絡(luò)接口360。另外,隨即存取存儲器(RAM)370、硬盤320,和只讀存儲器(ROM)390也連接到計算機(jī)總線300。RAM370連接到計算機(jī)總線300以提供CPU310對記憶存儲器的訪問,從而充當(dāng)用于CPU310的主運(yùn)行存儲器。特別地,當(dāng)執(zhí)行存儲程序指令序列時,CPU310加載來自硬盤320(或其他存儲介質(zhì))的那些指令序列到RAM370并執(zhí)行來自RAM370的那些存儲程序指令序列。還應(yīng)注意到,標(biāo)準(zhǔn)盤交換技術(shù)使存儲段從RAM370和硬盤320來回地交換。ROM390存儲不變式指令序列,例如用于CPU310的啟動指令序列或者用于固定到服務(wù)器30(未示出)的外圍設(shè)備的操作的基本輸入/輸出系統(tǒng)(BIOS)序列。
硬盤320是存儲CPU310可執(zhí)行的程序指令序列的計算機(jī)可讀介質(zhì)的一個例子。在兩個服務(wù)器30和51中,程序指令序列可以包括操作系統(tǒng)311(411)、網(wǎng)絡(luò)接口驅(qū)動程序312(412)、打印機(jī)驅(qū)動程序文件313(413),和打印機(jī)配置文件314(414)。操作系統(tǒng)311可以是諸如Windows NT4.0(或它的后續(xù)改進(jìn)版本)、UNIX、Novell Netware或其他這種服務(wù)器操作系統(tǒng)之類的操作系統(tǒng)。網(wǎng)絡(luò)接口驅(qū)動程序312用于驅(qū)動用于連接服務(wù)器30到基干10的網(wǎng)絡(luò)接口360。打印機(jī)驅(qū)動程序文件313和打印配置文件314最好是存儲在服務(wù)器30或服務(wù)器51任何之一或兩者中的打印機(jī)信息的綜合數(shù)據(jù)庫的一部分。在此點(diǎn)上,數(shù)據(jù)庫最好包括用于和硬盤320中可以保存的打印機(jī)一樣多的打印機(jī)(包括虛擬打印機(jī))的信息以便用于幾乎任何打印機(jī)(包括虛擬打印機(jī))的打印機(jī)配置信息和打印驅(qū)動程序信息可以獲得和安裝在工作站20上。其他文件315包括操作服務(wù)器30和/或提供附加功能給服務(wù)器30所必需的其他文件或程序。
服務(wù)器30和服務(wù)器51之間的差別可能是服務(wù)器51是服務(wù)于局域網(wǎng)的本地服務(wù)器,而服務(wù)器51是網(wǎng)絡(luò)服務(wù)器。如上所述,當(dāng)新打印機(jī)安裝在網(wǎng)絡(luò)上時,網(wǎng)絡(luò)管理員通常添加打印機(jī)到保存在網(wǎng)絡(luò)服務(wù)器上的打印機(jī)列表。在此點(diǎn)上,服務(wù)器51可以包括FTP/HTTP客戶機(jī)機(jī)417以向服務(wù)器51提供在網(wǎng)絡(luò)上利用FTP和HTTP協(xié)議通過網(wǎng)絡(luò)接口460檢索和傳輸數(shù)據(jù)文件的能力;還包括在工作站例如工作站20內(nèi)的FTP/HTTP客戶機(jī)可以訪問的FTP/HTTP服務(wù)器418。服務(wù)器51還可以包括可以參考和從服務(wù)器51下載到工作站20的CAB文件。CAB文件用于簡化互聯(lián)網(wǎng)下載和以用于“.DLL”文件形式的包ActiveX控件。
現(xiàn)在更加詳細(xì)地描述通過互連網(wǎng)在工作站上安裝新打印機(jī)。在下列描述中,假定工作站20處的用戶想要打印到打印機(jī)40,但是首先必須在他們的工作站上安裝打印機(jī)。還假定利用本發(fā)明的基于網(wǎng)絡(luò)的安裝打印機(jī)已經(jīng)安裝在工作站20上。
為了開始安裝過程,工作站20處的用戶在他們的工作站上啟動網(wǎng)絡(luò)瀏覽器。用戶然后輸入例如保存打印機(jī)列表的企業(yè)的網(wǎng)站URL(標(biāo)準(zhǔn)資源地址)以便訪問網(wǎng)頁用于通過網(wǎng)絡(luò)選擇打印機(jī)來安裝。例如,圖5描述了當(dāng)用戶輸入圖5瀏覽器中示出的URL時可以顯示出的主網(wǎng)頁的例子。在圖5示出的主頁中,用于可以選擇選項500以安裝本地打印機(jī),或選擇選項501以安裝網(wǎng)絡(luò)打印機(jī)。在選擇,例如安裝本地打印機(jī)選項500基礎(chǔ)上,已發(fā)現(xiàn)打印機(jī)頁html網(wǎng)頁(DiscoveredPrintersPage html page)從網(wǎng)絡(luò)服務(wù)器下載到客戶工作站的瀏覽器上。下載的html網(wǎng)頁示出了可以安裝的打印機(jī)的列表,如圖6中所示。每個打印機(jī)都有其自己的超級鏈接關(guān)聯(lián)文件,例如超級鏈接510。在此html網(wǎng)頁中,用于超級鏈接的編碼包括用于動態(tài)服務(wù)器主頁(下面描述)的調(diào)用和與打印機(jī)相關(guān)的參數(shù),例如打印機(jī)名稱、IP地址和設(shè)備類型。從圖6中示出的列表中,用戶可以點(diǎn)擊用于他們想要安裝的打印機(jī)的超級鏈接。例如,用戶可以點(diǎn)擊用于打印機(jī)FW GP200的超級鏈接510。在點(diǎn)擊超級鏈接510的基礎(chǔ)上,安裝過程開始。用于已發(fā)現(xiàn)打印機(jī)頁html網(wǎng)頁的編碼的例子提供在附件A中。為了簡潔,抽樣編碼僅僅包括導(dǎo)致示出的圖6中所列出的最初兩個打印機(jī)(FWGP200和iR6000i)的兩個超級鏈接的編碼。
一旦用戶點(diǎn)擊超級鏈接,瀏覽器就尋找超級鏈接中參考的動態(tài)服務(wù)器主頁(ASP)。在這種情況下,如附件A的html網(wǎng)頁文本中所示,瀏覽器尋找標(biāo)識為InstallPrinter.asp的動態(tài)服務(wù)器主頁。如果工作站上沒有此ASP,則此ASP從網(wǎng)絡(luò)服務(wù)器下載到瀏覽器。此ASP包含執(zhí)行各種操作的腳本。一個腳本是從已發(fā)現(xiàn)打印機(jī)頁html網(wǎng)頁內(nèi)的超級鏈接中提取打印機(jī)信息(打印機(jī)名稱、IP地址和設(shè)備類型)。另一個腳本是識別與將在用戶工作站上運(yùn)行的COM(組件對象模型)對象相關(guān)的GUID(全局唯一標(biāo)識符),其中COM對象可以是例如ActiveX組件。另外,“.cab”文件在腳本中作了標(biāo)識,其中“.cab”文件包括COM對象和DDI(動態(tài)設(shè)備安裝程序) SDK文件。ASP還包括另外的腳本,如果用戶工作站上不存在COM對象,則此腳本通過下載和執(zhí)行“.cab”文件創(chuàng)建COM對象。執(zhí)行“.cab”文件導(dǎo)致DDISDK的安裝和COM對象的執(zhí)行。在執(zhí)行COM對象過程中,執(zhí)行DDISDK的功能調(diào)用產(chǎn)生,同時打印機(jī)信息作為功能調(diào)用中的參數(shù)發(fā)送。
現(xiàn)在參照圖7,在調(diào)用DDI功能和提供具有打印機(jī)識別信息和設(shè)備類型的DDI基礎(chǔ)上,DDI執(zhí)行用于相應(yīng)于設(shè)備類型的設(shè)備配置信息的公知數(shù)據(jù)庫702的查詢(601)查詢數(shù)據(jù)庫702可以包括執(zhí)行用于打印機(jī)配置文件414的服務(wù)器51的FTP或HTTP查詢。此查詢可以例如通過利用FTP客戶機(jī)417執(zhí)行。當(dāng)然,如果配置文件的數(shù)據(jù)庫包括在工作站20上、諸如軟盤或CD-ROM或任何其他存儲單元之類的可移動式記錄介質(zhì)上,則DDI替代地查詢那些位置。不管設(shè)備配置文件保存在哪里,打印機(jī)配置文件都在響應(yīng)602中提供給DDI。
在已經(jīng)獲得設(shè)備配置信息的基礎(chǔ)上,DDI自動地安裝設(shè)備配置文件(606)和自動地創(chuàng)建用于與打印機(jī)(603)通信的端口。即DDI通過確定用于與打印機(jī)通信的適合端口配置打印機(jī)作為本地打印機(jī)(即對等地與工作站通信的打印機(jī))和在不需要用戶輸入的情況下在工作站20的視窗操作系統(tǒng)內(nèi)配置所述端口。DDI通過手工地在對假脫機(jī)程序透明的注冊表中創(chuàng)建必要的數(shù)據(jù)結(jié)構(gòu)而自動地創(chuàng)建端口。DDI然后啟動和中止假脫機(jī)程序以便假脫機(jī)程序重新讀取所述數(shù)據(jù)結(jié)構(gòu),在此之后假脫機(jī)程序知道新打印機(jī)端口和知道所述數(shù)據(jù)結(jié)構(gòu)可用于發(fā)送數(shù)據(jù)。
DDI然后執(zhí)行用于所安裝打印機(jī)類型的打印驅(qū)動程序文件的查詢(604)。執(zhí)行用于打印驅(qū)動程序文件的數(shù)據(jù)庫703的查詢,此打印驅(qū)動程序文件最好保存在作為數(shù)據(jù)庫702的同一位置內(nèi)。適當(dāng)?shù)拇蛴◎?qū)動程序文件從數(shù)據(jù)庫確定并通過響應(yīng)(605)返回到DDI,從而DDI自動地安裝驅(qū)動程序文件用于打印機(jī)(606)。一旦打印機(jī)已經(jīng)配置、用于通信的端口已經(jīng)創(chuàng)建,和驅(qū)動程序文件已經(jīng)安裝,則DDI在視窗注冊表中注冊新打印機(jī)和創(chuàng)建打印機(jī)(607)的實例。然后用戶能夠直接從工作站向打印機(jī)提交打印作業(yè)。
圖8是根據(jù)本發(fā)明用于添加新打印機(jī)到工作站的處理步驟的流程圖。在步驟S800中,用戶輸入用于打印機(jī)安裝網(wǎng)站的URL。即,用戶輸入用于提供可以安裝在用戶工作站上的打印機(jī)的列表的網(wǎng)站的URL,如圖5中所示。在步驟S801中,用戶選擇選項以從網(wǎng)頁安裝本地打印機(jī),響應(yīng)于此,網(wǎng)絡(luò)服務(wù)器下載已發(fā)現(xiàn)打印機(jī)頁html網(wǎng)頁到顯示打印機(jī)列表和超級鏈接的瀏覽器。用戶選擇用于他們想要安裝的打印機(jī)的超級鏈接(步驟S802),響應(yīng)于此,注意超級鏈接中的參考的瀏覽器從網(wǎng)絡(luò)服務(wù)器請求動態(tài)服務(wù)器主頁(InstallPrinter.asp)(步驟S803)。網(wǎng)絡(luò)服務(wù)器下載動態(tài)服務(wù)器主頁到瀏覽器(S804),其中包括在動態(tài)服務(wù)器主頁內(nèi)執(zhí)行的腳本。一個腳本從用于打印機(jī)的超級鏈接提取打印機(jī)參數(shù)(名稱、IP地址和設(shè)備類型)(步驟S805)。另一個腳本執(zhí)行編碼以在用戶工作站上創(chuàng)建COM對象和調(diào)用DDI(步驟S806)。在執(zhí)行此腳本過程中,瀏覽器確定COM對象是否已經(jīng)在工作站中注冊(步驟S807)。如果沒有,然后瀏覽器利用動態(tài)服務(wù)器主頁中的編碼參考請求“.cab”文件(在附件B中稱為webddi.cab)的下載(步驟S808)。在執(zhí)行“.cab”文件過程中,COM對象在工作站中注冊并且DDI安裝。一個調(diào)用然后產(chǎn)生以在步驟S811中執(zhí)行COM對象。在步驟S811中,DDI功能被調(diào)用并且打印機(jī)參數(shù)在此功能調(diào)用中發(fā)送給DDI。
DDI然后執(zhí)行上面參照圖7所述的過程。簡短地,DDI利用打印機(jī)信息獲得用于打印機(jī)的配置文件和將此配置文件安裝在工作站上(步驟S812和S813),創(chuàng)建用于與打印機(jī)通信的端口(步驟S815),在工作站上安裝打印驅(qū)動程序文件(步驟S816),和最后在工作站的視窗注冊表中創(chuàng)建新打印機(jī)實例(步驟S817)。
盡管上述內(nèi)容提供了將真實打印機(jī)(即物理地連接到網(wǎng)絡(luò)的打印機(jī))添加到視窗注冊表的描述,但圖8的處理步驟也可以用于安裝虛擬打印機(jī)。虛擬打印機(jī)不是輸出打印作業(yè)硬拷貝的真實打印機(jī),但仍然是在應(yīng)用程序中選擇的打印機(jī),只不過打印作業(yè)以特殊格式提交并且提交的作業(yè)被打印到用戶工作站的文件。圖8可以用于用戶從替代列表中選擇虛擬打印機(jī),而不是從圖6網(wǎng)頁中示出的列表中選擇真實打印機(jī)。此過程同上述過程相同,在其中執(zhí)行COM對象以便DDI從數(shù)據(jù)庫中獲得設(shè)備配置信息和驅(qū)動程序文件并將虛擬打印機(jī)安裝在用戶工作站上。
本發(fā)明已經(jīng)參照示出的特殊實施例得到了描述。應(yīng)理解的是,本發(fā)明不限于上述實施例,本領(lǐng)域內(nèi)的普通技術(shù)人員可以在不背離本發(fā)明精神和范圍的情況下做出各種更改和修改。
附件A<pre listing-type="program-listing"><![CDATA[<html><head><META NAME=@GENERATOR@ Content=@Microsoft Developer Studio@><META HTTP-EQUIV=@Content-Type@ content=@text/html;charset=iso-8859-1@><TITLE>Install Printer</TITLE><meta http-equiv=@content-type@ content=@text/html;charset=iso-8859-1@></head><!- - NoteThe following code displays two printers with hyper links to install them (via InstallPrinter.asp).The arguments are passed as part of the query.- -><a href=@InstallPrinter.asp?NAME=FW GP200&IP=146.184.23.243&TYPE=CanonGP200-216&MAC=303030303835@>FW_GP200</a><br><a href=@InstallPrinter.asp?NAME=iR6000i&IP=146.184.23.204&TYPE=Canon imageRUNNER5000-6000&MAC=00008507759C@>iR6000i</a></body></html>CA_MAIN61162v1]]></pre>
附件B<pre listing-type="program-listing"><![CDATA[<HTML><HEAD><META NAME=″GENERATOR″Content=″Microsoft Developer Studio″><META HTTP-EQUIV=″Content-Type″content=″text/html;charset=iso-8859-1″><TITLE>Document Title</TITLE><SCRIPT ID=clientEventHandlersJS LANGUAGE=j(luò)avascript></SCRIPT></HEAD><BODY bgColor=white><!--NoteThis Script extracts the parameters that were passed(from Discovered Printers Page.html)to this pagehere. They are used later.--><%@ LANGUAGE=″JavaScript″%><% Response.Buffer=true; printerName=Request.QueryString(″NAME″); printerIP=Request.QueryString(″IP″); printerType=Request. QueryString(″TYPE″);%><!--NoteThis script connects the′PrinterInstallation. InstallPrinter′interface to the CLSID and codebase(where to get the.cab file from if it′s not already locally installed)--><OBJECT classid=CLSID32196161-6A75-4F63-A5BF-B060E9A1A728 codebase=webddi.cab id=PrinterInstallation.InstallPrinter VIEWASTEXT></OBJECT><!--NoteNow that the parameters have been passed in,Create the object(which is identified in the<OBJECT>element and call InstallPrinterDevice(),passing in the arguments acquired above.--><SCRIPT LANGUAGE=″VBScript″> Dim obj PrinterInstallation Set objPrinterInstallation=CreateObject(″PrinterInstallation. InstallPrinter.l″) rtnval=objPrinterInstallation.InstallPrinterDevice(″<%=printerName%>″,″<%=printerIP%>″,″<%=printerType%>″) if(rtnval=″SUCCESS″)thenMsgBox ″Printer Successfully installed″,vbOKOnly&vbInformation,″Install Printer″else MsgBox ″Failed to install printer″, vbOKOnly&vbCritical,″Install Printer″ end if</SCRIPT></BODY></HTML>]]></pre>
權(quán)利要求
1.為在一個工作站與一個打印機(jī)之間的一個網(wǎng)絡(luò)上進(jìn)行對等通信,而在該工作站上的一個打印機(jī)文件夾中安裝該打印機(jī)的一種方法,此方法包括如下步驟下載一個打印機(jī)html網(wǎng)頁到工作站,該打印機(jī)html網(wǎng)頁提供了可被添加在工作站上的打印機(jī)的超級鏈接;選擇用于要被添加到工作站的一個打印機(jī)的一個超級鏈接;響應(yīng)于此選擇步驟,從所選超級鏈接提取所選打印機(jī)的識別信息和執(zhí)行用以安裝打印機(jī)的一個組件對象,其中,該組件調(diào)用一個功能,所述功能執(zhí)行如下步驟至少部分地根據(jù)所提取的識別信息而自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息;根據(jù)所獲得的打印機(jī)配置信息和打印驅(qū)動程序信息,自動地配置打印機(jī)并安裝打印驅(qū)動程序;和在所述工作站上創(chuàng)建所述打印機(jī)的本地管理實例。
2.根據(jù)權(quán)利要求1所述的方法,其中,打印機(jī)的識別信息是打印機(jī)的網(wǎng)絡(luò)地址。
3.根據(jù)權(quán)利要求2所述的方法,其中,網(wǎng)絡(luò)地址是打印機(jī)的IP地址。
4.根據(jù)權(quán)利要求1所述的方法,其中,識別信息是打印機(jī)的DNS名稱。
5.根據(jù)權(quán)利要求1所述的方法,其中,識別信息是打印機(jī)的NetBios名稱。
6.根據(jù)權(quán)利要求1所述的方法,其中,打印機(jī)是虛擬打印機(jī)。
7.根據(jù)權(quán)利要求1所述的方法,其中,功能包括動態(tài)設(shè)備安裝程序。
8.根據(jù)權(quán)利要求1所述的方法,其中,功能從遠(yuǎn)程設(shè)備獲得打印機(jī)配置信息和打印驅(qū)動程序信息。
9.根據(jù)權(quán)利要求8所述的方法,其中,遠(yuǎn)程設(shè)備是FTP服務(wù)器。
10.根據(jù)權(quán)利要求1所述的方法,其中,功能還執(zhí)行自動地創(chuàng)建與打印機(jī)通信的端口的步驟。
11.根據(jù)權(quán)利要求1所述的方法,還包括,在所述選擇步驟之后,下載動態(tài)服務(wù)器主頁到工作站,此動態(tài)服務(wù)器主頁包括用于執(zhí)行所述提取和執(zhí)行步驟的腳本。
12.根據(jù)權(quán)利要求1所述的方法,其中,在要執(zhí)行的組件對象沒有安裝在工作站的情況下,下載包括所述組件的可執(zhí)行文件。
13.根據(jù)權(quán)利要求12所述的方法,其中,可執(zhí)行文件是包括所述組件和所述功能的CAB文件,此可執(zhí)行文件在工作站上安裝功能,隨后執(zhí)行功能調(diào)用以便執(zhí)行功能。
14.計算機(jī)可執(zhí)行處理步驟,用來通過工作站和打印機(jī)之間的網(wǎng)絡(luò)在對等通信的工作站上的打印機(jī)文件夾中安裝打印機(jī),此處理步驟包括如下步驟下載打印機(jī)html網(wǎng)頁到工作站,打印機(jī)html網(wǎng)頁提供了用于可以添加在工作站上的打印機(jī)的超級鏈接;選擇用于要添加到工作站的打印機(jī)的超級鏈接;響應(yīng)于此選擇步驟,從所選超級鏈接提取所選打印機(jī)的識別信息和執(zhí)行組件對象以安裝打印機(jī),其中,此組件調(diào)用一個功能,此功能執(zhí)行如下步驟至少部分地基于所提取的識別信息自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息;基于所獲得的打印機(jī)配置信息和打印驅(qū)動程序信息自動地配置打印機(jī)并安裝打印驅(qū)動程序;和在工作站上創(chuàng)建打印機(jī)的本地管理實例。
15.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,打印機(jī)的識別信息是打印機(jī)的網(wǎng)絡(luò)地址。
16.根據(jù)權(quán)利要求15所述的計算機(jī)可執(zhí)行處理步驟,其中,網(wǎng)絡(luò)地址是打印機(jī)的IP地址。
17.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,識別信息是打印機(jī)的DNS名稱。
18.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,識別信息是打印機(jī)的NetBios名稱。
19.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,打印機(jī)是虛擬打印機(jī)。
20.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,功能包括動態(tài)設(shè)備安裝程序。
21.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,功能從遠(yuǎn)程設(shè)備獲得打印機(jī)配置信息和打印驅(qū)動程序信息。
22.根據(jù)權(quán)利要求21所述的計算機(jī)可執(zhí)行處理步驟,其中,遠(yuǎn)程設(shè)備是FTP服務(wù)器。
23.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,功能還執(zhí)行自動地創(chuàng)建與打印機(jī)通信的端口的步驟。
24.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,還包括,在所述選擇步驟之后,下載動態(tài)服務(wù)器主頁到工作站,此動態(tài)服務(wù)器主頁包括用于執(zhí)行所述提取和執(zhí)行步驟的腳本。
25.根據(jù)權(quán)利要求14所述的計算機(jī)可執(zhí)行處理步驟,其中,在要執(zhí)行的組件對象沒有安裝在工作站的情況下,下載包括所述組件的可執(zhí)行文件。
26.根據(jù)權(quán)利要求25所述的計算機(jī)可執(zhí)行處理步驟,其中,可執(zhí)行文件是包括所述組件和所述功能的CAB文件,此可執(zhí)行文件在工作站上安裝功能,隨后執(zhí)行功能調(diào)用以便執(zhí)行功能。
27.一種計算機(jī)可讀介質(zhì),在此介質(zhì)上存儲了計算機(jī)可執(zhí)行處理步驟,此處理步驟用來通過工作站和打印機(jī)之間的網(wǎng)絡(luò)在對等通信的工作站上的打印機(jī)文件夾中安裝打印機(jī),此處理步驟包括如下步驟下載打印機(jī)html網(wǎng)頁到工作站,打印機(jī)html網(wǎng)頁提供了用于可以添加在工作站上的打印機(jī)的超級鏈接;選擇用于要添加到工作站的打印機(jī)的超級鏈接;響應(yīng)于此選擇步驟,從所選超級鏈接提取所選打印機(jī)的識別信息和執(zhí)行組件對象以安裝打印機(jī),其中,此組件調(diào)用一個功能,此功能執(zhí)行如下步驟至少部分地基于所提取的識別信息自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息;基于所獲得的打印機(jī)配置信息和打印驅(qū)動程序信息自動地配置打印機(jī)并安裝打印驅(qū)動程序;和在工作站上創(chuàng)建打印機(jī)的本地管理實例。
28.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,打印機(jī)的識別信息是打印機(jī)的網(wǎng)絡(luò)地址。
29.根據(jù)權(quán)利要求28所述的計算機(jī)可讀介質(zhì),其中,網(wǎng)絡(luò)地址是打印機(jī)的IP地址。
30.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,識別信息是打印機(jī)的DNS名稱。
31.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,識別信息是打印機(jī)的NetBios名稱。
32.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,打印機(jī)是虛擬打印機(jī)。
33.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,功能包括動態(tài)設(shè)備安裝程序。
34.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,功能從遠(yuǎn)程設(shè)備獲得打印機(jī)配置信息和打印驅(qū)動程序信息。
35.根據(jù)權(quán)利要求34所述的計算機(jī)可讀介質(zhì),其中,遠(yuǎn)程設(shè)備是FTP服務(wù)器。
36.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,功能還執(zhí)行自動地創(chuàng)建與打印機(jī)通信的端口的步驟。
37.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),還包括,在所述選擇步驟之后,下載動態(tài)服務(wù)器主頁到工作站,此動態(tài)服務(wù)器主頁包括用于執(zhí)行所述提取和執(zhí)行步驟的腳本。
38.根據(jù)權(quán)利要求27所述的計算機(jī)可讀介質(zhì),其中,在要執(zhí)行的組件對象沒有安裝在工作站的情況下,下載包括所述組件的可執(zhí)行文件。
39.根據(jù)權(quán)利要求38所述的計算機(jī)可執(zhí)行處理步驟,其中,可執(zhí)行文件是包括所述組件和所述功能的CAB文件,此可執(zhí)行文件在工作站上安裝功能,隨后執(zhí)行功能調(diào)用以便執(zhí)行功能。
全文摘要
在工作站上的打印機(jī)文件夾中基于網(wǎng)絡(luò)創(chuàng)建打印機(jī),用于工作站和打印機(jī)之間的網(wǎng)絡(luò)上的對等通信,通過下載打印機(jī)html網(wǎng)頁到工作站,此打印機(jī)html網(wǎng)頁提供了可以添加到工作站的打印機(jī)的超級鏈接,選擇用于要添加到工作站的打印機(jī)的超級鏈接,響應(yīng)于此選擇步驟,從所選超級鏈接提取所選打印機(jī)的識別信息和執(zhí)行組件對象以安裝打印機(jī),其中,組件對象調(diào)用一個功能,此功能至少部分地基于所提取的識別信息自動地獲得打印機(jī)配置信息和打印驅(qū)動程序信息,基于獲得的打印機(jī)配置信息和打印驅(qū)動程序信息自動地配置打印機(jī)并安裝打印驅(qū)動程序,在工作站上創(chuàng)建打印機(jī)的本地管理實例。在組件對象沒有安裝在工作站上的情況下,包括組件對象和功能(DDI)的可執(zhí)行文件(CAB)被下載,以致在CAB執(zhí)行時,DDI被安裝并且組件對象被執(zhí)行。
文檔編號H04L29/08GK1480830SQ0312224
公開日2004年3月10日 申請日期2003年4月23日 優(yōu)先權(quán)日2002年4月23日
發(fā)明者戴文·J·凱普, 克里斯托夫·J·卡賽蘭諾, 戴文 J 凱普, 托夫 J 卡賽蘭諾 申請人:佳能株式會社