專利名稱:用于自動配置的系統(tǒng)和方法
技術(shù)領域:
本發(fā)明涉及在安裝網(wǎng)絡裝置時配置系統(tǒng)的領域,并特別涉及在安裝網(wǎng)絡打印機時的自動配置。
(2)背景技術(shù)現(xiàn)在,安裝網(wǎng)絡打印機是一件費時又困難的任務。通常要求安裝網(wǎng)絡打印機的人執(zhí)行多個步驟來得取靜態(tài)網(wǎng)際協(xié)議(IP)地址,建立隊列,人工配置隊列,人工設置用于隊列的裝置配置,打印測試頁,并發(fā)送關于如何與新安裝的網(wǎng)絡打印機連接的指令的郵件給客戶。
可用于網(wǎng)絡打印機安裝的過程對于小的或大的機構(gòu)來說都很麻煩。在大機構(gòu)中,網(wǎng)絡打印機安裝的過程對于管理員來說是昂貴的,特別是當具有不同特征組的幾百臺裝置需要人工裝置配置時。小機構(gòu)通常不會有專門的管理員或?qū)<襾韺嵤┌惭b。
作為一個特定的例子,在安裝了一個具有雙向能力的裝置后,用當前可用的安裝技術(shù),用戶或管理員必須人工地進到用戶界面(UI),并且為了雙面打印,將雙向單元設置到“已安裝”。另外,在安裝之后,當管理員或用戶添加或去除諸如封裝盒或存儲器的可安裝選項,它們必須人工地進入到UI以顯示變化。
因此,網(wǎng)絡打印機的安裝需要改進的技術(shù)。特別需要去除人工配置的技術(shù)。自動配置能部分省為在安裝了大量網(wǎng)絡裝置后得到正確的特征組所需花費的精力。因此,用戶可以自動地對網(wǎng)絡裝置上的特征進行訪問,而不被任何用戶或管理員的干擾。
(3)發(fā)明內(nèi)容在一個方面,本發(fā)明包括用于在網(wǎng)絡打印機的安裝時自動配置的系統(tǒng),其中網(wǎng)絡打印機與打印機使用說明文件、驅(qū)動器、假脫機系統(tǒng)、和端口監(jiān)視器相關聯(lián)。該系統(tǒng)包括與假脫機系統(tǒng)關聯(lián)的雙向應用程序界面,用于使驅(qū)動器能生成雙向請求和雙向響應。該系統(tǒng)在打印機使用說明文件中另外包括語法,用于表示雙向請求和雙向響應并將它們與打印特征部件相關聯(lián)。該系統(tǒng)還包括存儲在驅(qū)動器中的用于使雙向值和打印機值聯(lián)系起來的擴展文件,和由端口監(jiān)視器控制的通知底層結(jié)構(gòu),用于為驅(qū)動器提供配置變化的雙向通知,和選定的應用程序。
在另外的方面,本發(fā)明包括用于在安裝網(wǎng)絡裝置時便于雙向信息的客戶檢索的系統(tǒng)。該系統(tǒng)包括在裝置使用說明文件中的一組雙向結(jié)構(gòu),用于接收雙向結(jié)構(gòu)的端口監(jiān)視器,以便根據(jù)雙向結(jié)構(gòu)從網(wǎng)絡裝置檢索數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成適合的格式,建立信道,并發(fā)送經(jīng)轉(zhuǎn)換的數(shù)據(jù)。該系統(tǒng)還包括具有通過建立的信道從端口監(jiān)視器接收安裝通知和將安裝通知路由到選定的應用程序的機構(gòu)的假脫機系統(tǒng)。
在另一方面,本發(fā)明包括用于在安裝網(wǎng)絡打印機時進行自動配置的方法,其中所述網(wǎng)絡打印機與打印機使用說明文件、驅(qū)動器、假脫機系統(tǒng)、和端口監(jiān)視器相關聯(lián)。該方法包括從打印機使用說明文件中得到可安裝特征和相應雙向請求的列表。該方法還包括從假脫機系統(tǒng)調(diào)用雙向應用程序界面,從而查詢可安裝功能部件的當前配置和將雙向模式映射到打印機專用協(xié)議。該方法還包括生成和路由雙向通知,將雙向響應映射到來自打印機使用說明文件的特征,和更新具有當前配置的應用程序。
(4)
下面參照附圖對本發(fā)明進行詳細的描述,其中圖1為示出包括網(wǎng)絡打印機的系統(tǒng)環(huán)境的部件的方框圖;圖2為用于實施本發(fā)明的客戶機的合適的計算系統(tǒng)環(huán)境的方框圖;圖3為示出根據(jù)本發(fā)明的一個實施例的用于自動配置的系統(tǒng)的方框圖;圖4為示出根據(jù)本發(fā)明的一個實施例的驅(qū)動器的方框圖;圖5為示出根據(jù)發(fā)明的一個實施例的假脫機系統(tǒng)方框圖;圖6為示出根據(jù)本發(fā)明的一個實施例的自動配置的方法的流程圖;和圖7為示出根據(jù)本發(fā)明的一個實施例的自動配置過程的方框圖。
(5)具體實施方式
圖1為示出可實施本發(fā)明的系統(tǒng)的環(huán)境的方框圖。多個客戶機200通過網(wǎng)絡500被連接到網(wǎng)絡打印機300??蛻魴C200和網(wǎng)絡500可以是類似于以上參照以下的附圖2進行描述的。也可以將打印機服務器400通過網(wǎng)絡500與客戶機200和打印機300連接。在顯示的環(huán)境中,打印機300可用于通過網(wǎng)絡500為客戶機200服務。除了網(wǎng)絡打印機300之外還可以包括諸如網(wǎng)絡掃描儀之類的附加的網(wǎng)絡裝置。
圖2示出可實施本發(fā)明的合適的計算系統(tǒng)環(huán)境100的例子。特別是,可以在該計算系統(tǒng)環(huán)境100中實施圖1所示的客戶機200。計算系統(tǒng)環(huán)境100只是合適的計算環(huán)境的一個例子,并不意味著對本發(fā)明的使用和功能性的范圍的限定。不應將計算環(huán)境100解釋成依賴于或需要示例性操作環(huán)境100中所示的功能部件中的任何一個或其組合。
可以在計算機可執(zhí)行指令(例如由計算機執(zhí)行的程序模塊)的總的背景下對本發(fā)明進行描述。程序模塊通常包括執(zhí)行特定任務或?qū)嵤┨囟ǖ某橄髷?shù)據(jù)類型的例行程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。另外,本領域的技術(shù)人員將會理解可以用其它計算機系統(tǒng)配置(包括手提裝置、多處理器系統(tǒng)、基于微處理器的或可編程的消費電子產(chǎn)品、小型機、大型主計算機等等)實施本發(fā)明。本發(fā)明也可以應用于由通信網(wǎng)絡鏈接的遠程處理裝置執(zhí)行任務的分布式計算環(huán)境。在分布式計算環(huán)境中,程序模塊可位于包括存儲器裝置在內(nèi)的本地的和遠程的計算機存儲媒體。
參見圖2,用于實施本發(fā)明的示例性系統(tǒng)100包括以計算機110形式的通用計算機裝置,包括處理單元120、系統(tǒng)存儲器130、和將包括系統(tǒng)存儲器在內(nèi)的多種系統(tǒng)功能部件耦合到處理器單元120的系統(tǒng)總線。
計算機110通常包括多種計算機可讀媒體。作為示例而非限定,計算機可讀媒體可包括計算機存儲器媒體和通信媒體。系統(tǒng)存儲器130包括以諸如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132之類的易失性和/或非易失性存儲器形式的計算機存儲器媒體?;据斎?輸出系統(tǒng)133(BIOS),包括如在啟動時,幫助在計算機110內(nèi)的元件之間傳送信息的基本程序,通常被存儲在ROM131中。RAM132通常包括可以立即由處理單元120訪問和/或當前由它操作的數(shù)據(jù)和/或程序模塊。作為示例而非限定,圖1示出操作系統(tǒng)134、應用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110還可包括其它可移除/不可移除的,易失性/非易失性的計算機存儲器媒體。僅作為示例,圖1示出硬盤驅(qū)動器141,從不可移除的非易失性磁媒體讀出或?qū)懭胄畔?,磁盤驅(qū)動器151,從可移除非易失性磁盤152讀出或?qū)懭肟梢瞥且资源疟P152,和光盤驅(qū)動器155,從可移除非易失光盤156讀出或信息(例如CDROM或其它光媒體)。其它可用于示例性操作環(huán)境的可移除/不可移除的,易失性/非易失性的計算機存儲器媒體包括,但不限定于,盒式磁帶、閃存卡、數(shù)字通用盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過諸如接口140之類的不可移除的存儲器接口連接到系統(tǒng)總線121,而磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過諸如接口150之類的可移除存儲器接口連接到系統(tǒng)總線121。
以上討論的及圖2示出的驅(qū)動器和與之相關聯(lián)的計算機存儲器媒體提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它用于計算機110的數(shù)據(jù)的存儲器。在圖2中,例如示出硬盤驅(qū)動器141存儲操作系統(tǒng)144、應用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意這些組件可以與操作系統(tǒng)134、應用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或與之不同。這里給操作系統(tǒng)144、應用程序145、其它程序模塊146和程序數(shù)據(jù)147標以不同的標號是為了說明它們至少是不同的副本。用戶可通過諸如鍵盤162和點擊裝置161(通常指鼠標、跟蹤球或觸摸輸入板)之類的輸入裝置將命令和信息輸入到計算機110。其它輸入裝置(未示出)可包括麥克風、操縱桿、游戲板、圓盤式衛(wèi)星電視天線、掃描儀等等。這些和其它輸入裝置通常由耦合至系統(tǒng)總線的用戶輸入接口160連接到處理單元120,但也可由諸如并行端口、游戲端口或通過通用串行總線(USB)連接。監(jiān)視器191或其它類型的顯示裝置也通過諸如視頻接口190之類的接口連接到系統(tǒng)總線121。除了監(jiān)視器之外,計算機還可包括其它外圍輸出設備,如揚聲器197和打印機196,它們可以通過輸出外圍接口195連接。
本發(fā)明中的計算機110可以使用到一個或多個如遠程計算機180那樣的遠程計算機邏輯連接,在聯(lián)網(wǎng)的環(huán)境中操作。該遠程計算機180可以是個人電腦,并通常包括上述與計算機110相關的全部或許多元件,盡管圖2僅示出了存儲器裝置181。圖2示出的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也能包括其它網(wǎng)絡。
當用于LAN的網(wǎng)絡環(huán)境中時,計算機110通過網(wǎng)絡接口和適配器170連接到LAN171。當用于WAN的網(wǎng)絡環(huán)境中時,計算機110通常包括調(diào)制解調(diào)器172和用于在WAN173(例如因特網(wǎng))上建立通信的其它裝置。該調(diào)制解調(diào)器172(是內(nèi)置的或外接的)可以通過用戶輸入接口160或其它合適的機構(gòu)連接到系統(tǒng)總線121。在聯(lián)網(wǎng)的環(huán)境中,相對所述的與計算機110畫出的程序模塊或其一部分可以存儲在遠程存儲器裝置。作為示例而非限定,圖2示出在存儲器裝置181上的遠程應用程序185。我們將會理解所示的網(wǎng)絡連接是示例性的,還可以用其它在計算機之間建立通信鏈路的方法。
盡管沒有示出計算機110其它的內(nèi)部功能部件,那些本領域的普通技術(shù)人員將理解這些部件和互連是公知的。因此,不需結(jié)合本發(fā)明公開有關計算機110的內(nèi)部結(jié)構(gòu)的另外細節(jié)。
圖3為示出本發(fā)明的系統(tǒng)的功能部件的方框圖。這些功能部件可以合并到上述參照圖1和圖2描述的環(huán)境中。所顯示的功能部件包括具有與UI20通信的驅(qū)動器30、應用程序10和打印機使用說明文件40。所述功能部件還包括獨立硬件賣主插件程序50(IHV)、打印假脫機系統(tǒng)60、端口監(jiān)視器70和打印裝置300,它們可以安裝在以上參照附圖1描述的功能部件之一中。所述打印機使用說明文件40通常在驅(qū)動器30中。所述驅(qū)動器30、UI20、應用程序110通常與圖1所示的客戶機200相關聯(lián)。在接收到打印請求時,驅(qū)動器30可以從打印機使用說明文件40檢索特征。所述打印假脫機系統(tǒng)60與驅(qū)動器30和端口監(jiān)視器70通信。所述端口監(jiān)視器70直接與打印裝置300通信。IHV插件程序50可以在驅(qū)動器30和打印假脫機系統(tǒng)60之間進行操作。下面將對上述所有的功能部件和在上述功能部件之間進行的通信作進一步的描述。
圖4示出包含在本發(fā)明的一個實施例中的驅(qū)動器30中的工具。驅(qū)動器30通常包括打印機使用說明文件40和驅(qū)動器映射擴展文件34。驅(qū)動器30通過UI20向用戶提供一可用打印性能的指示。驅(qū)動器映射擴展文件34提供在驅(qū)動器30和打印機300之間建立映射的機制,以下將對其進行更加詳細的描述。打印機使用說明文件40包括通用程序說明(GDP)和/或提供可用打印選項的說明的通用描述語言(GDL)文件。GDP是用于說明裝置性能的以文本為底層結(jié)構(gòu)的格式,且易于改變或更新。GDL是具有幫助描述打印機性能的帶有關鍵字的內(nèi)部開發(fā)的語言。打印機使用說明文件40包括用于向驅(qū)動器30描述需要何種信息向用戶通知有關打印裝置300性能的工具。打印機使用說明文件40可包括諸如雙工選項、輸入盒的個數(shù)、紙盒、顏色、存儲器的大小、訂書機及其它可能的選項。還可在購買后改變打印機選項,這樣就使更新變得重要了。保持對打印機300的正確配置的認識對優(yōu)化的性能是很重要的,對使用戶能利用打印機300的所有性能的優(yōu)點也很重要。
例如客戶機200也許知道網(wǎng)絡打印機300有雙工機,但并不一定知道怎樣在頁的兩面打印。為了在一頁的兩面打印,通常需要客戶機橫越多個層將雙工器從“未安裝”變?yōu)椤耙寻惭b”。在網(wǎng)絡環(huán)境中,通常將這一任務委托給管理器。本發(fā)明的功能部件使這一過程可以自動進行。
在公開實施例中,正如以下將描述的,驅(qū)動器30將在安裝諸如打印機300之類的網(wǎng)絡裝置時,搜索當前的配置。驅(qū)動器30可以連續(xù)地監(jiān)視打印機300,用于配置更新。驅(qū)動器30可在用戶機第一次使用打印機300時,和之后每一次啟動打印機300時搜索更新。因此,如果打印機300需要另外的功能特性,系統(tǒng)將自動進行更新。
為了自動配置性能,驅(qū)動器30需要自動將選項與客戶機200的問題連接的性能。假設客戶機200想知道雙工機是否是現(xiàn)有的。驅(qū)動器30需要解釋來自打印機300的響應。因此,打印機使用說明文件40包括用于描述雙向(雙向)信息的語法。該語法包括對先存在的GDL文件的擴展。該擴展使客戶機200能定義一個要問的問題,和如何解釋答案。
該語法至少包括兩個新的結(jié)構(gòu)。該新的結(jié)構(gòu)包括(1)雙向查詢和(2)雙向響應。它們都是用可用特性的知識預先確定的。雙向查詢封裝了查詢信息,雙向響應封裝了響應信息。包含在打印機使用說明文件40中的語法將雙向響應和雙向查詢與打印機使用說明文件40中的特性相關聯(lián)。
該語法還包括多個關鍵字。查詢串關鍵字是用于雙向查詢結(jié)構(gòu)的關鍵字,并將雙向模式串說明為查詢串。響應類型的關鍵字是用于雙向響應結(jié)構(gòu)的關鍵字,并說明對查詢的響應的類型。
響應數(shù)據(jù)關鍵字也是用于雙向響應結(jié)構(gòu)的關鍵字。該響應數(shù)據(jù)關鍵字說明響應的特性。該響應數(shù)據(jù)關鍵字可用來映射響應,它映射到其它特性而不是在其中啟動查詢的特性。作為使用響應數(shù)據(jù)關鍵字的例子,在“輸入盤”特性中的查詢能生成有關“紙尺寸”特性的響應。該響應數(shù)據(jù)關鍵字用作“輸入盤”特性和“紙尺寸”特性之間的關聯(lián)。
雙向值關鍵字是與可用選項相關聯(lián)的用于雙向響應結(jié)構(gòu)的關鍵字。它說明對每個選項的預計的雙向響應。雙向值關鍵字是代表預期響應的字符串,其中該響應被映射到特性選項中的一個。這個雙向值關鍵字可以結(jié)合響應數(shù)據(jù)關鍵字一起使用,以將響應映射回特性和選項的對。表1示出關鍵字類型的例子。
<pre listing-type="program-listing">*BidiQueryInstance { *QueryString““ *%The string is expected to be translated to Unicode } *BidiResponseInstance { *ResponseTypeBIDI_INT-Indicates bidi data is an integer BIDI_BOOL-Indicates that the bidi data is either TRUE or FALSE BIDI_STRING-Indicates that the bidi data is a Unicode string *ResponseDataENUM_OPTION(*Feature)) *%Feature represents the name of the feature for responses. }</pre>表1作為示例,打印機的一個特性是“輸入盒”?!靶欧馑图埰鳌贝砼c輸入盒相關聯(lián)的選項。另一特性是“紙尺寸”。與“紙尺寸”相關聯(lián)的選項可包括“信”和“合法的。因此,上述打印機使用說明文件40的結(jié)構(gòu)和關鍵字可用于GDL中的三個層次,包含(1)全局層;(2)功能部件層;或(3)選項層。
表2提供在全局層使用結(jié)構(gòu)和關鍵字的例子。
*BidiQueryManufacturer{*QueryString“\DeviceManufacturer”}*BidiResponseManufacturer{*ResponseTypeBIDI_STRING}表2通過這一查詢和響應過程,客戶機200能確定網(wǎng)絡打印裝置的生產(chǎn)商。
表3提供用于在功能部件層操作結(jié)構(gòu)和關鍵字的例子。
<pre listing-type="program-listing"> *FeatureDuplexUnit { *BidiQueryDuplexInstalled { *QueryString“\Printer.DuplexUnitCurrentValue” } *BidiResponseDuplexInstalled { *ResponseTypeBIDI_BOOL *ResponseDataENUM_OPTION(DuplexUnit) } *OptionNotInstalled { *BidiValueFALSE } *OptionInstalled { *BidiValueTRUE } }</pre>表3通過在以上顯示的例子中使用結(jié)構(gòu)和關鍵字,客戶機能保證雙工單元被安裝。
表4提供在選項層使用結(jié)構(gòu)和關鍵字的例子。
<pre listing-type="program-listing"> *FeatureInputBin { *OptionEnvelopeFeeder { *BidiQueryMediaSize { *QueryString“\Printer.Input.EnvelopeMediaSize” } *BidiResponseMediaSize { *ResponseTypeBIDI_STRING *ResponseDataENUM_OPTION(papersize) *BidiQueryMediaType { *QueryString“\Printer.Input.EnvelopeMediaType” } *BidiResponseMediaType { *ResponseTypeBIDI_STRING *ResponseDataENUM_OPTION(MediaType) } *BidiQueryMediaLevel { *QueryString“\Printer.Input.EnvelopeLevel” } *BidiResponseMediaLevel { *ResponseTypeBIDI_STRING *ResponseDataENUM_OPTION(MediaLevel) } }</pre>
表4通過使用上述結(jié)構(gòu),客戶計算機200能保證信封送紙器功能部件的請求的選項被安裝。
另外,IHV插件程序50可包含雙向查詢和雙向響應結(jié)構(gòu)的范例的擴展。例如*BidiQueryHPSuperStapling,*BidiResponseHPSuperstapling.上述查詢和響應描述了專用于由給定生產(chǎn)商提供的功能部件的功能部件。另外,IHV插件程序50可擴展雙向查詢和雙向響應結(jié)構(gòu)的屬性。例如BidiQuerySuperDuperFeature{*QueryString”“*HPSuperQuery””}.在此例子中,查詢字符串涉及搜索可用在由給定生產(chǎn)商提供的裝置上的專用功能部件組。
圖5示出圖3中介紹的假脫機系統(tǒng)60的更詳細的視圖。假脫機系統(tǒng)包括一組雙向應用程序界面(APIs)62和通知工具64。該通知工具64包括驅(qū)動器打印機事件機構(gòu)65和查找下一個的變化通知66。下面將進一步描述這些組件。
為了處理上述雙向查詢和響應,驅(qū)動器30通過雙向APIs62發(fā)送它的查詢字符串。打印機300和端口監(jiān)視器70接著在一個可能是真,假或其它字符串的響應中返回信息。每個新的雙向API62定義一個用于執(zhí)行雙向查詢的API功能,和一個基于可擴展的標記語言(XML)的方案。
由雙向APIs支持的動作包含“取得(Get)”、“枚舉(Enum)”和“設置(Set)”。該“取得”動作需要具有尋址屬性或值的模式字符串的變量。如果該變量尋址一屬性,雙向API將檢索在此屬性下的所有的值。所述“Enum”動作需要具有尋址特性或值的模式字符串的變量。對一屬性,雙向API檢索在這個屬性下的模式的列表?!霸O置”動作需要包含尋址一個值和一個新的數(shù)據(jù)值的模式字符串的兩個變量。
通過雙向API62的請求可由以下所示的代表。該請求包含一個諸如“設置(Set)”,“取得(Get)”“取得所有(GetAll)”和“枚舉模式(EnumSchema)”和一個或多個模式或查詢字符串之類的雙向動作。該請求是XML字符串,它定義一個動作以及將要處理的雙向模式的列表。
<?xml version-“1.0”?<bidiRequest xmlnsbidi=”bidi_ns”>
<Get schema=”\Printer.DuplexUnitInstalled’?>
<Get schema=”\Printer.InputBin.TopBin”/>
</bidiRequest>
表5在表5的例子中,客戶機200請求與雙工單元和輸入盒功能部件有關聯(lián)的可用選項。
表6中示出的XML字符串代表對請求的響應。該響應是一個XML字符串,它包含請求的動作的結(jié)果<pre listing-type="program-listing"> ?。??xml version=”1.0”?> ?。糱idiResponse xmlnsbidi=”bidi_ns”> <Get schema=”\Printer.duplexunitInstalled”status=“0”> <Schema name=”\Printer.duplexunit.installed”> <bidiBool value=”false’/> </schema> </Get> <Get schema=”\Printer.Inputbin.topbin”status=”0”> ?。約chema name=”\printer.inputbin.topbininstalled”> <bidibool value=”true”/> ?。?schema> ?。約chema name=”\printer.inputbin.topbinlevel> <bidiInt value=”45”/> ?。?schema> ?。約chema name=”\Priner.Inputbin.topbin.mediasize”> <bidistring value=”letter”/> </schema> ?。約chema name=”\Priner.Inputbin.topbin.mediatype”> <bidistring value=”stationery”/> </schema> </Get> </bidiResponse></pre>表6圖3所示的端口監(jiān)視器70通過從雙向模式映射到打印機專用協(xié)議提供裝置專用協(xié)議的摘要。為了能響應于雙向請求,端口監(jiān)視器70需要以下性能;(1)從打印機數(shù)據(jù)庫檢索需要的數(shù)據(jù),(2)計算和/或變換數(shù)據(jù)和(3)通過雙向APIs62返回數(shù)據(jù)。上述映射可以是專用于標準傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)端口監(jiān)視器(SPM)。SPM將簡單網(wǎng)絡管理協(xié)議(SNMP)作為打印機專用協(xié)議來檢索存儲在打印機的管理信息庫(MIB)內(nèi)的數(shù)據(jù)。
一些在標準雙向模式中定義的數(shù)據(jù)值并不直接與來自打印機的MIB的數(shù)據(jù)相關。在這一例子中,驅(qū)動器30利用描述雙向和MIB值之間的映射的相關聯(lián)的擴展文件34。以下在表7中所示的范例擴展文件中涉及MIB和雙向值。
<pre listing-type="program-listing"> ?。縳ml version=”1.0’?> <tcpbidi;Root xmlns;tcpbidi=”temporary Bidi namespace”. <Schema> <property name=`printer”> <property name=”layout”> ?。紁roperty name=”Inputbin”> <inputbin name=”manual bin”> mibname=”manualpaper”/> <inputbin name=”envelopemanual” mibname=”manualenvelope”/> <inputbin name=”bottombin” mibname=”tray1”/> </property> </propetry> <property name=”output”> <propertyname=”outputbin”> <outputbin name=”topbin”mibname=”standard bin”/> </property> ?。?property> </property> </schema> </tcpbidiRoot></pre>表7另外,擴展文件34可包含標準雙向模式的擴展。所述使用擴展文件34的數(shù)據(jù)值是驅(qū)動器專用的??蛻魴C可請求從擴展文件34來的IHV擴展,并當它們改變時接收通知。下面的表8示出這一概念。
<pre listing-type="program-listing"> ?。??xml version=”1.0”?> <tcpbidiRoot xmlnstcpbidi=”temporary bidi namespace”> <schema> ?。紁roperty name=”printer”> <property name=”system”> <value name=”name”oid=”1.3.6.1.2.1.1.5” type=”BIDI_TEXT”/> ?。紇alue name=”descr”oid=”1.3.6.1.2.1.1.1” type=”BIDI_TEXT”/> </property> </schema> ?。?tcpbidiRoot></pre>表8端口監(jiān)視器70包括一個利用假脫機系統(tǒng)通知機構(gòu)64建立異步通知信道的通知結(jié)構(gòu)。該端口監(jiān)視器70提供將數(shù)據(jù)從打印機300發(fā)送到驅(qū)動器30的機構(gòu)。該端口監(jiān)視器70按照上述的雙向模式將數(shù)據(jù)作為XML文件發(fā)送。這種通知是作為雙向通知全局唯一的標識符(BIDI_NOTIFICATION_GUID)公布的,因此任何應用程序都可以登錄偵聽它。當發(fā)生變化時,端口監(jiān)視器70按照公布的雙向通知模式建立通知報文。每個通知報文可包含一個或多個與端口相關的段,且每個端口段可包含一個或多個模式變化。端口段是通知信息的一部分,包括用于特定端口的雙向模式變化。端口監(jiān)視器70可以建立多個端口共用的一個通知報文。每個端口部分通過端口名尋址特定端口。通知路由器利用端口段信息來將模式變化路由至合適的打印機。
假脫機系統(tǒng)60在BIDI_NOTIFICATION_GUID信道的反面建立一個特殊的偵眾對象。該對象從端口監(jiān)視器70接收信息,并根據(jù)在每個模式變化中指定的標識在一個合適的方向路由它們。只有在模式變化指定了標識“drive printerevent(驅(qū)動打印機事件)”時,使用驅(qū)動器打印機事件機構(gòu)65將通知路由到驅(qū)動器30。不管模式變化中的標識是什么,假脫機系統(tǒng)60都會使用尋找下一個打印機變化通知機構(gòu)66將通知路由到任何登記了的的應用程序。
表9提供由通知工具64提供的示樣通知。
<pre listing-type="program-listing"> ?。??xml version=”1.0”?> ?。糱idiNotification xmlnsbidi=”bidi_ns”> ?。紁ort name=”port 1”> ?。約chema name=”\printer.duplexunitInstalled”drvprinterevent=”true”> ?。糱idiBool value=”true”/> </schema> ?。約chema name=”\printer.alerts.alert001.code”> ?。糱idistring value=”low toner”/> ?。?schema> ?。?port> ?。?bidiNotification></pre>表9這個通知將指示出現(xiàn)色粉不足的打印機警告信息提供給驅(qū)動器30。
如果端口監(jiān)視器70估計變化的數(shù)量是如此大,以至于一個一個的通知會難于負擔的,它將發(fā)送一個共同的通知信號,而不是模式變化。共同通知提供一指示幾個雙向模式改變了的信號。在以下的表10中提供了一個示樣通知報文。
<?xml version=”1.0”?>
<bidiNotification xmlnsbidi=”bidi_ns”>
<Port name=”port_1>
<Event/>
</port>
</bidiNotification>
表10圖6為示出在安裝網(wǎng)絡打印機時,或在添加打印機功能部件時自動更新系統(tǒng)配置的過程的流程圖。在打印機安裝時間,或當打印機配置改變時,驅(qū)動器30通過驅(qū)動器API(驅(qū)動器打印機事件(drvprinterevent))從假脫機系統(tǒng)/端口監(jiān)視器取得通知,以執(zhí)行一系列的自動配置的步驟。在步驟A中,驅(qū)動器30實施一個操作以從打印機使用說明文件32得到可安裝功能部件及相應的雙向請求的列表。在步驟B中,驅(qū)動器30從假脫機系統(tǒng)60調(diào)用雙向APIs62以查詢功能部件的當前配置。在步驟C中,端口監(jiān)視器70將雙向模式映射到一打印機專用協(xié)議。在步驟D中,端口監(jiān)視器70為那些改變了的模式生成一雙向通知。在步驟E中,使用通知工具64的端口監(jiān)視器70將雙向通知路由至使用驅(qū)動器打印機事件機構(gòu)65的驅(qū)動器30。在步驟F中,端口監(jiān)視器70將雙向通知路由至使用打印機改變通知機構(gòu)66的應用程序10。在步驟G中,驅(qū)動器30將雙向響應映射到使用雙向響應結(jié)構(gòu)的打印機使用說明文件40中的一個功能部件。驅(qū)動器30查看響應數(shù)據(jù)以尋找該功能部件,并對用于映射的相應的選項查看它的雙向值。在步驟H中,驅(qū)動器30用當前的配置對UI和系統(tǒng)進行更新。
圖7為示出在本發(fā)明的實施中的配置更新期間上述組件之間相互作用的方框圖。打印機300使用打印機專用協(xié)議與端口監(jiān)視器70通信。端口監(jiān)視器70建立一個雙向通知信道,且假脫機系統(tǒng)60用通知工具64將通知路由到應用程序10和驅(qū)動器30。端口監(jiān)視器70從存儲在與打印機300相連的MIB數(shù)據(jù)庫中的XML文件得到數(shù)據(jù)。端口監(jiān)視器70用雙向模式將MIB值轉(zhuǎn)換成期望的值,并建立一個響應。
總之,以下功能部件在這里是作為相互作用以提供網(wǎng)絡裝置性能的自動更新揭示的。本發(fā)明包括(1)用于表示雙向請求的響應并通過打印機使用說明文件40將其與一功能部件相關聯(lián)的語法(2)通過一組雙向APIs62提取裝置專用協(xié)議(3)在擴展文件34中用于雙向APIs的模式和(4)通知底層結(jié)構(gòu)64。
盡管為了充分利用打印性能,以上本發(fā)明是結(jié)合系統(tǒng)的自動配置進行描述的,本發(fā)明的特性也可以用于另外的目的。例如上述組件可以用于打印確認。如果作業(yè)通知單和打印機配置之間存在矛盾時,自動配置組件可通知用戶,或執(zhí)行自動方案以避免裝置處于錯誤狀態(tài)。
使用上述組件,出現(xiàn)打印驗證。在打印驗證后,假脫機系統(tǒng)60從APIs62組調(diào)用打印驗證API。如果IHV插件程序50阻止使用打印驗證API,IHV50可執(zhí)行一個當前配置和當前作業(yè)的打印驗證核查。無論哪一種情況下,假脫機系統(tǒng)60將結(jié)果返回給驅(qū)動器30,且驅(qū)動器30確保向用戶顯示正確的用戶界面20。用戶界面20應該指令用戶如何繼續(xù)驗證。用戶可作出推薦的變化或請求系統(tǒng)執(zhí)行自動配置。
另外,上述組件可用來促進資源管理。資源管理方案涉及打印時間查詢以便跟蹤可用于字體管理的資源或形成管理。在自動配置方案之前,驅(qū)動器30通常猜測哪些資源是可用的。當猜測錯誤時,打印機300超出內(nèi)存,并出現(xiàn)輸出錯誤。
這里描述的自動配置系統(tǒng)和方法有許多優(yōu)點。本發(fā)明消除了在裝置安裝后,為得到正確的功能部件組而人工進行的配置步驟。另外,上述的組件使配置變化得以自動更新。對UI20的改變也是自動進行的,并且系統(tǒng)自動響應以反映變化。因此,如果管理員增加和去除可安裝的選項時,UI自動察覺該變化。
結(jié)合特定實施對本發(fā)明進行了描述,無論從哪方面來看,它都旨在示例而非限定。另選的實施對那些本發(fā)明所屬領域的技術(shù)人員來說是顯而易見的,它們不偏離本發(fā)明的范圍。
從上文可以看出本發(fā)明非常適于得到以上枚舉的所有目標和對象,以及其它本系統(tǒng)和方法固有的,顯而易見的優(yōu)點??梢岳斫饽承┨匦院妥咏M合都是具有實用性的,并可在不參照其它功能特性和子組合的情況下被使用。這是考慮的并在權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.在安裝網(wǎng)絡打印機時用于自動配置的系統(tǒng),所述網(wǎng)絡打印機與打印機使用說明文件、驅(qū)動器、假脫機系統(tǒng)及端口監(jiān)視器相關聯(lián),其特征在于,該系統(tǒng)包括與假脫機系統(tǒng)相關聯(lián)的雙向應用程序界面,用于使驅(qū)動器能生成一雙向請求和一雙向響應;在打印機使用說明文件中的語法,用于表示和將雙向請求和雙向響應與打印功能部件相關聯(lián);存儲在驅(qū)動器中的擴展文件,用于將雙向值和打印機值相關聯(lián);由端口監(jiān)視器控制的通知底層結(jié)構(gòu),用于向驅(qū)動器和選擇的應用程序提供配置變化的雙向通知。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述通知底層結(jié)構(gòu)包括一用于通知驅(qū)動器配置變化的驅(qū)動打印機事件機構(gòu)。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述通知底層結(jié)構(gòu)包括一尋找下一個打印機變化通知,使應用程序能自動地監(jiān)視和接收配置變化。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述語法還包括多個關鍵字,包括用于指定雙向響應類型的響應類型關鍵字和用于在網(wǎng)絡打印機的功能部件間映射的響應數(shù)據(jù)關鍵字。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述語法提供用于提供在全局層,在選項層,和在功能部件層的更新的工具。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于枚舉由生產(chǎn)商提供的特定功能部件的獨立硬件賣主擴展。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述雙向應用程序界面提供用于支持取得動作、設置動作和枚舉動作的工具。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述端口監(jiān)視器包括用于從網(wǎng)絡打印機數(shù)據(jù)庫檢索數(shù)據(jù)及用于訪問擴展文件以轉(zhuǎn)換該數(shù)據(jù)的機構(gòu)。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述雙向應用程序界面提供一用于返回由端口監(jiān)視器檢索到的數(shù)據(jù)的機構(gòu)。
10.一種在安裝網(wǎng)絡裝置時用于便于雙向信息的客戶檢索的系統(tǒng),其特征在于,該系統(tǒng)包括在打印機使用說明文件中的一組雙向結(jié)構(gòu);端口監(jiān)視器,用于接收所述雙向結(jié)構(gòu)和用于根據(jù)所述雙向結(jié)構(gòu)從網(wǎng)絡裝置檢索數(shù)據(jù),將所述數(shù)據(jù)轉(zhuǎn)換成合適的格式,建立一條信道并發(fā)送轉(zhuǎn)換后的數(shù)據(jù);和包括用于通過建立的信道從所述端口監(jiān)視器接收安裝通知并將安裝通知路由到選定的應用程序的機構(gòu)的假脫機系統(tǒng)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述假脫機系統(tǒng)包括一用于向驅(qū)動器通知配置變化的驅(qū)動器打印機事件機制。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述假脫機系統(tǒng)包括一用于使應用程序能自動監(jiān)視和接收配置變化的尋找下一個打印機變化通知。
13.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述該組雙向結(jié)構(gòu)包括一雙向查詢結(jié)構(gòu)和一雙向響應結(jié)構(gòu)。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述打印機使用說明文件包括多個關鍵字,包括用于指定一個雙向響應類型的響應類型關鍵字,和用于在網(wǎng)絡打印機的功能部件之間映射的響應數(shù)據(jù)關鍵字。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述雙向結(jié)構(gòu)和關鍵字形成一提供用于進行在全局層,在選項層,和在功能部件層的自動更新的工具的語法。
16.如權(quán)利要求10所述的系統(tǒng),其特征在于,還包括用于枚舉由生產(chǎn)商提供的特定功能部件的單獨硬件賣主擴展。
17.如權(quán)利要求10所述的系統(tǒng),其特征在于,還包括在假脫機系統(tǒng)中的雙向應用程序界面,用于使雙向請求和雙向響應的傳送可以進行。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述雙向應用程序界面提供用于支持取得動作、設置動作和枚舉動作的工具。
19.如權(quán)利要求10所述的系統(tǒng),其特征在于,端口監(jiān)視器包括用于從網(wǎng)絡打印機數(shù)據(jù)庫檢索數(shù)據(jù)及用于訪問擴展文件以轉(zhuǎn)換該數(shù)據(jù)的機構(gòu)。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述雙向應用程序界面提供一用于返回由端口監(jiān)視器檢索到的數(shù)據(jù)的機構(gòu)。
21.一種用于在系統(tǒng)內(nèi)安裝網(wǎng)絡打印機時自動配置系統(tǒng)的方法,所述系統(tǒng)包括打印機使用說明文件、驅(qū)動器、假脫機系統(tǒng)及端口監(jiān)視器,其特征在于,該方法包括從打印機使用說明文件中取得可安裝功能部件和相應的雙向請求的列表;從假脫機系統(tǒng)中調(diào)用雙向應用程序界面以查詢可安裝功能部件的當前配置;將雙向模式映射到打印機專用協(xié)議;生成和路由雙向通知;將雙向響應映射到來自打印機使用說明文件的功能部件;并用當前的配置更新應用程序。
22.如權(quán)利要求21所述的方法,其特征在于,所述路由雙向通知包括將驅(qū)動器打印機事件通知路由至驅(qū)動器以向驅(qū)動器通知配置變化。
23.如權(quán)利要求21所述的方法,其特征在于,所述路由雙向通知包括將尋找下一個打印機變化通知路由到應用程序,以使應用程序能自動監(jiān)視和接收配置變化。
24.如權(quán)利要求21所述的方法,其特征在于,還包括實施多個關鍵字,包括用于指定一個雙向響應類型的響應類型關鍵字,和用于在網(wǎng)絡打印機的功能部件之間映射的響應數(shù)據(jù)關鍵字。
25.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括提供在全局層,在選項層,和在功能部件層的自動配置更新。
26.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括實施用于枚舉由生產(chǎn)商提供的特定功能部件的單獨的硬件賣主擴展。
27.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括實施雙向應用程序界面以提供用于支持取得動作、設置動作和枚舉動作的工具。
28.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括使用端口監(jiān)視器,用于從網(wǎng)絡打印機數(shù)據(jù)庫檢索數(shù)據(jù)及用于從打印機使用說明文件訪問擴展文件以轉(zhuǎn)換該數(shù)據(jù)。
29.如權(quán)利要求28所述的系統(tǒng),其特征在于,還包括使用雙向應用程序界面,用于返回由端口監(jiān)視器檢索到的數(shù)據(jù)。
30.一種具有用于執(zhí)行權(quán)利要求21所述的方法的計算機可執(zhí)行指令的計算機可讀媒體。
31.一種為端口監(jiān)視器提供擴展性的方法,其目的是使賣主能用現(xiàn)有的公共雙向模式和到現(xiàn)有模式的擴展定義新的映射,其特征在于,該方法包括允許使用能描述雙向值和裝置專用對象之間的映射的擴展文件;并使擴展文件能實施,以幫助端口監(jiān)視器響應雙向請求。
32.如權(quán)利要求31所述的方法,其特征在于,所述擴展文件是XML擴展文件。
33.如權(quán)利要求31所述的方法,其特征在于,所述擴展文件包括標準雙向模式的單獨的硬件賣主擴展。
全文摘要
公開一種在安裝網(wǎng)絡打印機時自動配置的系統(tǒng)和方法。本發(fā)明的技術(shù)避免了由用戶和系統(tǒng)管理員進行人工配置的負擔。所述網(wǎng)絡打印機與打印機使用說明文件、驅(qū)動器、假脫機系統(tǒng)及端口監(jiān)視器相關聯(lián)。該系統(tǒng)包括與假脫機系統(tǒng)相關聯(lián)的雙向應用程序用戶界面,用于使驅(qū)動器能生成雙向請求和接收雙向響應。該系統(tǒng)還包括在打印機使用說明文件中的雙向請求,用于代表和將雙向請求和雙向響應與打印功能部件相關聯(lián)。該系統(tǒng)還包括存儲在驅(qū)動器中的擴展文件,用于將雙向值、打印機值相關聯(lián),和由端口監(jiān)視器控制的通知底層結(jié)構(gòu),用于向驅(qū)動器和選擇的應用程序提供配置變化的雙向通知。
文檔編號G06F3/12GK1577242SQ200410063280
公開日2005年2月9日 申請日期2004年6月30日 優(yōu)先權(quán)日2003年6月30日
發(fā)明者A·G·T·恩古瑩, I·帕維切維奇, M·P·費雷倫 申請人:微軟公司