專利名稱:為多功能外設(shè)開發(fā)定制應(yīng)用軟件的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多功能外設(shè)(MFP)。更具體地說(shuō),本發(fā)明涉及使多功能外設(shè) 的定制應(yīng)用軟件的開發(fā)變得方便。
背景技術(shù):
隨著商家不斷編制它們商務(wù)進(jìn)程的MFP部件,MFP設(shè)備的定制可以變成 基本要求。例如,定制應(yīng)用軟件的范圍從在每頁(yè)插入條形碼的打印應(yīng)用軟件 到在后端數(shù)據(jù)庫(kù)上在歸檔之前處理表單和提取數(shù)據(jù)的掃描應(yīng)用軟件。
MFP銷售商為提供MFP定制采取了不同的方向,包括嵌入式和基于主機(jī) 的解決方案。 一般說(shuō)來(lái),嵌入式解決方案像在MFP設(shè)備本身中實(shí)現(xiàn)那樣提供 定制。 一般說(shuō)來(lái),基于主機(jī)的解決方案在與MFP數(shù)據(jù)通信中在主計(jì)算機(jī)上提 供定制,從而訪問(wèn)MFP設(shè)備的本機(jī)功能。
在嵌入式平臺(tái)中,經(jīng)由提供應(yīng)用軟件編程界面(API )和軟件開發(fā)工具包 (SDK)構(gòu)建應(yīng)用軟件的MFP設(shè)備計(jì)算環(huán)境進(jìn)行定制。API為用戶界面(UI) 定制提供對(duì)MFP設(shè)備的用戶界面的訪問(wèn)。使API適用于掃描、打印和其它本 機(jī)設(shè)備功能。在硬盤以及存儲(chǔ)器上分配安裝和執(zhí)行定制應(yīng)用軟件的空間。定 制解決方案可以完全包含在MFP設(shè)備內(nèi)。
在基于主機(jī)的平臺(tái)中,大多數(shù)定制都在主計(jì)算機(jī)上進(jìn)行?;谥鳈C(jī)的解 決方案也可以提供擴(kuò)充API和基礎(chǔ)結(jié)構(gòu)支持。對(duì)于基于主機(jī)的解決方案,需 要的是在訪問(wèn)定制UI和其它本機(jī)功能的位置上的基礎(chǔ)結(jié)構(gòu)。
在像工作組分段那樣的一些目標(biāo)市場(chǎng)中,用戶不要求擴(kuò)充定制能力。而 且,對(duì)于一些市場(chǎng),MFP設(shè)備不準(zhǔn)備提供擴(kuò)充支持。在這樣的情況下,擴(kuò)充 API和基礎(chǔ)結(jié)構(gòu)支持可能是多余的或可能是不可行的。
因此,需要提供對(duì)MFP設(shè)備本身的影響最小的MFP設(shè)備定制。
發(fā)明內(nèi)容
一般說(shuō)來(lái),本發(fā)明的各個(gè)方面都涉及多功能外設(shè)(MFP)。具體地說(shuō),本發(fā)明的實(shí)施例涉及使多功能設(shè)備的定制變得方便。
一個(gè)方面是定制MFP的方法,包含通過(guò)軟件界面向寄宿在遠(yuǎn)離MFP設(shè)備 的一個(gè)或多個(gè)設(shè)備上的一個(gè)或多個(gè)定制應(yīng)用軟件揭示MFP設(shè)備的功能;和提 供代理設(shè)備以便登記供MFP設(shè)備的用戶使用的一個(gè)或多個(gè)定制應(yīng)用軟件。
另一個(gè)方面是在MFP上執(zhí)行定制應(yīng)用軟件的方法,包含將定制應(yīng)用軟件 登記在與MFP數(shù)據(jù)通信的代理設(shè)備上;根據(jù)MFP和代理設(shè)備之間的通信使登 記定制應(yīng)用軟件適用于MFP用戶;經(jīng)由MFP接收來(lái)自MFP用戶的數(shù)據(jù);和通 過(guò)代理設(shè)備將來(lái)自MFP的數(shù)據(jù)路由到寄宿定制應(yīng)用軟件的主設(shè)備。
又一個(gè)方面是在MFP上提供定制應(yīng)用軟件的系統(tǒng),包含MFP,其中通過(guò) 軟件界面向寄宿在其它設(shè)備上的一個(gè)或多個(gè)定制應(yīng)用軟件揭示MFP功能;和 代理設(shè)備,該代理設(shè)備被配置成登記供MFP的用戶使用的一個(gè)或多個(gè)定制應(yīng) 用軟件。
又一個(gè)方面是支持定制應(yīng)用軟件的MFP,包含MFP設(shè)備,該MFP設(shè)備被 配置成與在其它設(shè)備上執(zhí)行的一個(gè)或多個(gè)定制應(yīng)用軟件交接,和該MFP設(shè)備 被進(jìn)一步配置成在從代理設(shè)備接收到指示代理設(shè)備已經(jīng)登記了用在MFP設(shè)備 上的一個(gè)或多個(gè)定制應(yīng)用軟件的更新之后,使一個(gè)或多個(gè)定制應(yīng)用軟件適用 于MFP設(shè)備的用戶。
又一個(gè)方面是在MFP上提供定制應(yīng)用軟件的方法,包含為MFP上的用戶 輸入定義模板,該模板包含一組可配置用戶界面特征;接收源自在除了 MFP 之外的設(shè)備上運(yùn)行的定制應(yīng)用軟件的機(jī)器可讀指令,該機(jī)器可讀指令指定用 戶界面設(shè)置;確定接收的指令是否對(duì)應(yīng)于定義的模板;和如果存在對(duì)應(yīng)關(guān)系, 根據(jù)指定的用戶界面設(shè)置配置MFP的用戶界面。
又一個(gè)方面是含有用于MFP應(yīng)用軟件定制的機(jī)器可裝載軟件的計(jì)算機(jī)可 讀媒體,其中,該機(jī)器可裝載軟件被配置成執(zhí)行包含如下的方法為MFP上 的用戶輸入定義模板,該模板包含一組可配置用戶界面特征;接收源自在除 了 MFP之外的設(shè)備上運(yùn)行的定制應(yīng)用軟件的機(jī)器可讀指令,該機(jī)器可讀指令 指定用戶界面設(shè)置確定接收的指令是否對(duì)應(yīng)于定義的模板;和如果存在對(duì) 應(yīng)關(guān)系,根據(jù)指定的用戶界面設(shè)置配置MFP的用戶界面。
又一個(gè)方面是支持定制應(yīng)用軟件的MFP,包含MFP設(shè)備,該MFP設(shè)備被 配置成與在其它設(shè)備上執(zhí)行的一個(gè)或多個(gè)定制應(yīng)用軟件交接,和該MFP設(shè)備 被進(jìn)一步配置成根據(jù)與一個(gè)或多個(gè)預(yù)定模板相對(duì)應(yīng)的基于XML (可擴(kuò)展標(biāo)記語(yǔ)言)指令安排它的用戶界面顯示,該MFP設(shè)備接收來(lái)自一個(gè)或多個(gè)定制應(yīng) 用軟件的基于XML的指令。
圖U和IB是例示用于MFP設(shè)備的定制應(yīng)用軟件的登記的系統(tǒng)級(jí)(system level )圖形;
圖1C是定制MFP的一個(gè)實(shí)施例的流程圖2是例示在MFP設(shè)備、代理設(shè)備和主站上運(yùn)行的定制應(yīng)用軟件之間的 消息交換的 一 個(gè)實(shí)施例的方塊圖3是在MFP設(shè)備、代理設(shè)備和定制應(yīng)用軟件上的定制操作的一個(gè)實(shí)施 例的流程圖4是登記對(duì)話窗的一個(gè)實(shí)施例;
圖5例示了適用用戶界面(UI )模板的一個(gè)實(shí)施例;和
圖6A、 6B、 6C、 6D和6E例示了用于特定定制應(yīng)用軟件的對(duì)話窗的實(shí)施例。
具體實(shí)施例方式
從結(jié)合附圖的如下描述和所附權(quán)利要求書中可以清楚地看出本發(fā)明的各 個(gè)方面和優(yōu)點(diǎn)。在附圖中,相同的標(biāo)識(shí)指示相同或功能相似的單元。提供附 圖、相關(guān)描述、和特定實(shí)現(xiàn)是為了例示本發(fā)明的實(shí)施例,而不是限制本公開 的范圍。
一般說(shuō)來(lái),本發(fā)明涉及實(shí)現(xiàn)多功能外設(shè)(MFP)定制的方法、系統(tǒng)、和軟 件。本發(fā)明的實(shí)施例旨在利用基于主機(jī)萬(wàn)維網(wǎng)服務(wù)和最小嵌入式基礎(chǔ)結(jié)構(gòu)支 持來(lái)創(chuàng)建定制應(yīng)用軟件。本文公開的實(shí)施例使第三方應(yīng)用軟件提供者能夠編 制它們適用在MFP設(shè)備上的掃描相關(guān)應(yīng)用軟件,并且可以從該設(shè)備啟動(dòng)應(yīng)用 軟件,以及任何隨后的用戶交互。
一般說(shuō)來(lái),多功能外設(shè)(MFP)設(shè)備是配置成執(zhí)行兩種或多種功能,包括, 但不局限于掃描、復(fù)印、打印、傳真、它們的組合等的單個(gè)集成設(shè)備。MFP 設(shè)備的功能可以通過(guò)包括諸如因特網(wǎng)或LAN (局域網(wǎng))之類的網(wǎng)絡(luò)訪問(wèn),或 在設(shè)備本身上訪問(wèn)。MFP設(shè)備可以配有足夠的存儲(chǔ)器來(lái)排隊(duì)等待處理的作業(yè)。 應(yīng)該懂得,MFP設(shè)備可以配置成在各種各樣不同的聯(lián)網(wǎng)和獨(dú)立計(jì)算環(huán)境下執(zhí)行。
為了使第三方能夠?yàn)镸FP設(shè)備開發(fā)應(yīng)用軟件,在那個(gè)設(shè)備已經(jīng)釋放之后, 該設(shè)備可以提供允許第三方將它們的應(yīng)用軟件與該設(shè)備鏈接的基礎(chǔ)結(jié)構(gòu)。這 些應(yīng)用軟件一般被稱為定制應(yīng)用軟件。 一般說(shuō)來(lái),定制應(yīng)用軟件可以是向MFP 提供附加和/或補(bǔ)充功能的任何適用編程應(yīng)用軟件。
在一個(gè)實(shí)施例中,第三方應(yīng)用軟件使用MFP設(shè)備UI,以便收集包括任何 元數(shù)據(jù)的用戶相關(guān)信息。然后,將這個(gè)數(shù)據(jù)傳送到寄宿第三方應(yīng)用軟件的站 點(diǎn),并且在主機(jī)上處理該數(shù)據(jù)。因此,在MFP設(shè)備與第三方應(yīng)用軟件之間存 在信息交換。在一個(gè)實(shí)施例中,典型的交換如下用戶在MFP設(shè)備上選擇特 定應(yīng)用軟件;該設(shè)備本身不能處理應(yīng)用軟件;該設(shè)備向主機(jī)側(cè)應(yīng)用軟件請(qǐng)求 下一個(gè)操作;該應(yīng)用軟件通過(guò)提供包括需要向用戶顯示的任何UI屏幕的下一 個(gè)步驟作出響應(yīng);該設(shè)備接著向用戶示出任何必要屏幕;該用戶接著在屏幕 上填入任何適當(dāng)值并選擇下一個(gè);和該設(shè)備將用戶數(shù)據(jù)發(fā)送到應(yīng)用軟件。這 個(gè)序列(請(qǐng)求、用戶數(shù)據(jù)、和UI屏幕的交換) 一起繼續(xù)到應(yīng)用軟件接收到所 有所期望數(shù)據(jù)。在一個(gè)實(shí)施例中、 一旦收集到所有數(shù)據(jù),則用戶訪問(wèn)MFP設(shè) 備的本機(jī)功能,并且,在主站上運(yùn)行的定制應(yīng)用軟件根據(jù)用戶事先提供的指 令處理例如掃描數(shù)據(jù)。例如,定制應(yīng)用軟件可以取出掃描的文檔,利用光學(xué) 字符識(shí)別(OCR)軟件檢查文檔中的數(shù)據(jù),并且將任何相關(guān)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù) 中。
在一個(gè)實(shí)施例中,MFP設(shè)備和第三方應(yīng)用軟件之間的來(lái)回交換可以叫做 按鈕響應(yīng)系統(tǒng)。在一個(gè)實(shí)施例中,具有萬(wàn)維網(wǎng)服務(wù)能力的MFP設(shè)備可以直接 與主站上的第三方應(yīng)用軟件直接交接。在另一個(gè)實(shí)施例中,代理設(shè)備可以用 作求助器。代理設(shè)備可以實(shí)現(xiàn)與第三方應(yīng)用軟件交互的萬(wàn)維網(wǎng)服務(wù)。使用代 理設(shè)備可以減輕否則需要處理萬(wàn)維網(wǎng)服務(wù)的MFP設(shè)備的一些處理負(fù)擔(dān)。在一 個(gè)實(shí)施例中,代理設(shè)備將來(lái)自MFP設(shè)備的請(qǐng)求發(fā)送到各自第三方應(yīng)用軟件或 反之。
在一個(gè)實(shí)施例中,MFP設(shè)備定制可以通過(guò)提供設(shè)備UI定制實(shí)現(xiàn)。在一個(gè) 實(shí)施例中,將在MFP設(shè)備上定制UI屏幕的一組模板提供給第三方應(yīng)用軟件。 這些模板,例如,使第三方應(yīng)用軟件編寫者可以利用按鈕、標(biāo)記、下拉菜單、 文本框等創(chuàng)建UI屏幕。在一個(gè)實(shí)施例中,MFP設(shè)備可以包括根據(jù)從第三方應(yīng) 用軟件接收的模板譯碼和顯示UI屏幕的UI組件。在一個(gè)實(shí)施例中,UI組件可以以硬件和/或軟件形式實(shí)現(xiàn)。配備UI模板可以提供不用將高性能HTML(超 文本標(biāo)記語(yǔ)言)瀏覽器嵌入該設(shè)備中那個(gè)水平的定制。但是,本發(fā)明的某些 實(shí)施例可以實(shí)現(xiàn)包括HTML瀏覽器能力的更高定制。在一個(gè)實(shí)施例中,UI組 件是XML分析器和UI模板是基于XML的。本領(lǐng)域的普通技術(shù)人員應(yīng)該懂得, 某些實(shí)施例可以使用可以由設(shè)備譯碼和第三方應(yīng)用軟件可以理解的其它適用 格式。
在一個(gè)實(shí)施例中,第三方應(yīng)用軟件開發(fā)者提供支持按鈕響應(yīng)系統(tǒng)的萬(wàn)維 網(wǎng)服務(wù)。應(yīng)用軟件編寫者也可以根據(jù)提供的屏幕模板創(chuàng)建UI屏幕,和應(yīng)用軟 件編寫者也可以提供屏幕序列。
圖1A和IB例示了 MFP設(shè)備上的定制應(yīng)用軟件的登記。可定制MFP系統(tǒng) 100包括能夠執(zhí)行本機(jī)功能102和應(yīng)用軟件專用功能103的MFP設(shè)備101。MFP 設(shè)備101與代理設(shè)備104進(jìn)行數(shù)據(jù)通信,代理設(shè)備104與在主服務(wù)器106上 運(yùn)行的定制應(yīng)用軟件通信。在一個(gè)實(shí)施例中,管理者可以通過(guò)客戶設(shè)備108 訪問(wèn)代理設(shè)備104。盡管未例示,但MFP設(shè)備10i、代理設(shè)備1(M、主服務(wù)器 106、和客戶設(shè)備108可以通過(guò)各種各樣網(wǎng)絡(luò),包括因特網(wǎng)、局部互聯(lián)網(wǎng)、無(wú) 線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、它們的組合等互連。而 且,盡管在例示的實(shí)施例中,每個(gè)定制應(yīng)用軟件被例示成在各自主服務(wù)器106 上運(yùn)行,但在其它實(shí)施例中,多個(gè)定制應(yīng)用軟件可以在給定主服務(wù)器106上 運(yùn)行。此外,定制應(yīng)用軟件可以在通過(guò)計(jì)算設(shè)備的分布式網(wǎng)絡(luò)上提供定制應(yīng) 用軟件的幾個(gè)主服務(wù)器106上運(yùn)行。定制應(yīng)用軟件可以是萬(wàn)維網(wǎng)服務(wù)模塊。 在一些實(shí)施例中,MFP設(shè)備lOl、代理設(shè)備104、和定制應(yīng)用軟件之間的界面 可以通過(guò)萬(wàn)維網(wǎng)服務(wù)描述語(yǔ)言(WSDL)定義。盡管在例示的實(shí)施例中,可定 制MFP系統(tǒng)100包含代理設(shè)備104,但在一些實(shí)施例中,代理設(shè)備的功能可 以由RFP設(shè)備101和/或定制應(yīng)用軟件提供。
MFP設(shè)備lOl、代理設(shè)備104、主服務(wù)器106、和客戶設(shè)備108可以分別 包含由各自設(shè)備/服務(wù)器的一個(gè)或多個(gè)處理器執(zhí)行的一個(gè)或多個(gè)軟件程序。這 樣的處理器可以具有基于像奔騰系列那樣的因特爾公司微處理器系列的配 置。另外和/或可替代地,MFP設(shè)備lOl、代理設(shè)備104、主服務(wù)器106、和客 戶設(shè)備108可以分別包含嵌入在硬件或固件中的邏輯或軟件指令。應(yīng)該進(jìn)一 步懂得,硬件可以由像門和觸發(fā)器那樣的相連邏輯單元組成,和/或可以由像 EPROM (電可編程只讀存儲(chǔ)器)、EEPROM (電可擦除可編程只讀存儲(chǔ)器)、可編程門陣列或處理器那樣的可編程單元組成。并且,硬件可以包含獨(dú)立專用設(shè) 備或帶有可執(zhí)行軟件的通用計(jì)算機(jī)。
在圖1A中,MFP設(shè)備101具有利用設(shè)備登記的兩種定制應(yīng)用功能103。 這兩種應(yīng)用軟件APP1和APP2分別對(duì)應(yīng)于在兩個(gè)最高例示性主服務(wù)器106上 運(yùn)行的定制應(yīng)用軟件。因?yàn)檫@些定制應(yīng)用軟件是利用MFP設(shè)備登記的(因此, 用戶可訪問(wèn)),各自主服務(wù)器106與代理設(shè)備104之間的連接用實(shí)線箭頭表示。 用將其與代理設(shè)備104連接的虛線例示的主服務(wù)器106代表用MFP設(shè)備101 登記的定制應(yīng)用軟件。在一個(gè)實(shí)施例中,管理者可以登錄到客戶設(shè)備108中, 請(qǐng)求代理設(shè)備104啟動(dòng)登記過(guò)程,以便登記在,例如,最低主服務(wù)器106上 運(yùn)行的定制應(yīng)用軟件。登記進(jìn)程將在下面參照?qǐng)D4作更詳細(xì)討論。圖1B例示 了在最低主服務(wù)器106上運(yùn)行的定制應(yīng)用軟件被登記之后的可定制MFP系統(tǒng) 100。在登記之后,用戶可在MFP設(shè)備101上看到和獲得三種定制應(yīng)用功能 103,和實(shí)線現(xiàn)在將最低主服務(wù)器106與代理設(shè)備104連接。
圖1C例示了定制MFP的一個(gè)實(shí)施例的流程圖。定制流程圖12Q示出了與 定制應(yīng)用軟件的登記、執(zhí)行、和取消登記相對(duì)應(yīng)的系統(tǒng)狀態(tài)。在狀態(tài)122, 登記定制應(yīng)用軟件。在一些實(shí)施例中,這種登記可以在像代理設(shè)備104那樣 的代理設(shè)備上執(zhí)行。在一些實(shí)施例中,像管理者那樣的MFP用戶可以通過(guò)、 例如,像客戶設(shè)備108那樣的客戶設(shè)備訪問(wèn)代理設(shè)備。通過(guò)代理設(shè)備提供的 界面,用戶可以登記使之適用于像MFP設(shè)備101那樣的MFP的一個(gè)或多個(gè)定 制應(yīng)用軟件。圖4和所附文本例示了將定制應(yīng)用軟件登記在MFP上的萬(wàn)維網(wǎng) 客戶機(jī)界面的對(duì)話窗的一個(gè)實(shí)施例。另外和/或可替代地,像管理者那樣的用 戶可以利用代理設(shè)備本機(jī)的用戶界面直接與像代理設(shè)備104那樣的代理設(shè)備 交接。此外,在一些實(shí)施例中,可以利用MFP設(shè)備直接登記定制應(yīng)用軟件, 省卻了通過(guò)代理設(shè)備的登記。
在狀態(tài)124,使登記的定制應(yīng)用軟件適用于像MFP設(shè)備101的用戶那樣 的相關(guān)MFP用戶。像MFP設(shè)備101那樣的相關(guān)MFP被更新成反映定制應(yīng)用軟 件的登記。在狀態(tài)126,用戶請(qǐng)求啟動(dòng)相關(guān)MFP和相關(guān)定制應(yīng)用軟件之間的 交換的適用定制應(yīng)用軟件。這種交換可以叫估文按鈕響應(yīng)系統(tǒng)。響應(yīng)用戶對(duì)應(yīng) 用軟件的用戶請(qǐng)求,相關(guān)MFP請(qǐng)求定制應(yīng)用軟件的服務(wù)。在一些實(shí)施例中, 可以使定制應(yīng)用軟件適用于在除了 MFP之外的設(shè)備上運(yùn)行的萬(wàn)維網(wǎng)服務(wù)程 序。這種交換將在下面參照?qǐng)D2和3作更詳細(xì)描述。在狀態(tài)128,取消定制應(yīng)用軟件的登記。在一些實(shí)施例中,像管理者那 樣的用戶可以憑借通過(guò)像客戶設(shè)備108那樣的客戶設(shè)備與像代理設(shè)備104那 樣的代理設(shè)備的交接取消定制應(yīng)用軟件的登記。在其它實(shí)施例中,取消登記 (以及登記)可以自動(dòng)地、周期性地或根據(jù)靜態(tài)或動(dòng)態(tài)條件進(jìn)行。在狀態(tài)130, 將相關(guān)MFP更新成反映取消了登記的定制應(yīng)用軟件。相關(guān)應(yīng)用軟件不再適用 于相關(guān)MFP的用戶,直到例如應(yīng)用軟件被重新登記。
圖2例示了 MFP設(shè)備101、代理設(shè)備104、主服務(wù)器106和客戶設(shè)備108 之間的消息交換。圖2中的陰影按鈕指示用戶選擇了各自陰影按鈕。在狀態(tài) 2 02,像管理者那樣的用戶通過(guò)在客戶設(shè)備108上運(yùn)行的萬(wàn)維網(wǎng)客戶程序登記 定制應(yīng)用軟件。登記進(jìn)程將在下面參照?qǐng)D4作更詳細(xì)討論。在狀態(tài)202之后, 利用代理設(shè)備104登記定制應(yīng)用軟件。代理設(shè)備104管理定制應(yīng)用軟件的登 記,并且進(jìn)一步將消息與登記的定制應(yīng)用軟件一起路由到MFP設(shè)備101和與 登記的定制應(yīng)用軟件一起路由來(lái)自MFP設(shè)備lOl的消息。在狀態(tài)204, MFP設(shè) 備101向代理設(shè)備104詢問(wèn)意味著任何新登記定制應(yīng)用軟件的任何更新。在 狀態(tài)206,代理設(shè)備104向MFP設(shè)備101發(fā)送指示新定制應(yīng)用軟件已經(jīng)登記 在代理設(shè)備104上的消息。將新定制應(yīng)用軟件標(biāo)識(shí)成APP1應(yīng)用軟件。如圖所 示,在來(lái)自代理設(shè)備104的更新之后,MFP設(shè)備101使APP1定制應(yīng)用軟件適 用于MFP用戶。在一個(gè)實(shí)施例中,MFP設(shè)備101和APP1應(yīng)用軟件之間的界面 通過(guò)萬(wàn)維網(wǎng)服務(wù)描述語(yǔ)言(WSDL)定義。如上所述,盡管在例示的實(shí)施例中, 登記操作是在代理設(shè)備104上執(zhí)行的,但在其它實(shí)施例中,也可以在像MFP 設(shè)備101那樣的MFP上進(jìn)行登記。
一旦MFP設(shè)備101使APP1定制應(yīng)用軟件適用于用戶之后,用戶可以選擇 啟動(dòng)APP1應(yīng)用軟件的按鈕響應(yīng)系統(tǒng)的APP1定制應(yīng)用軟件。在狀態(tài)208,用 戶請(qǐng)求APP1定制應(yīng)用軟件和MFP設(shè)備101向代理設(shè)備104發(fā)送請(qǐng)求來(lái)自API 定制應(yīng)用軟件的指令的消息。代理設(shè)備104將該消息發(fā)送到適當(dāng)?shù)闹鞣?wù)器 106,在這種情況下,主服務(wù)器106與APP1定制應(yīng)用軟件相對(duì)應(yīng)。在狀態(tài)2]0, 在各自主服務(wù)器106上運(yùn)行的APP1定制應(yīng)用軟件發(fā)送帶有用于要顯示在MFP 設(shè)備101上的UI屏幕的指令的消息。在例示的實(shí)施例中,UI指令遵從MFP 設(shè)備IOI已經(jīng)配置成識(shí)別的基于XML模板。在一個(gè)實(shí)施例中,可以向第三方 應(yīng)用軟件開發(fā)者公開模板要求,第三方應(yīng)用軟件開發(fā)者隨后可以編寫遵從MFP 設(shè)備IOI已經(jīng)編程成識(shí)別的定義模板的UI指令。在一個(gè)實(shí)施例中,定制應(yīng)用軟件可以遞送傳遞給MFP設(shè)備101的參數(shù)列表中的模板參數(shù)。另外和/或可替 代地,定制應(yīng)用軟件可以通過(guò)MFP設(shè)備101遞送與識(shí)別格式相對(duì)應(yīng)的文件中 的模板參數(shù)。
代理設(shè)備104將指令傳送到MFP設(shè)備101。 MFP設(shè)備101分析UI指令, 并且向用戶顯示適當(dāng)屏幕。在MFP設(shè)備101顯示了各自UI指令之后,用戶可 以通過(guò)MFP設(shè)備lOl的輸入能力輸入數(shù)據(jù)。例如,用戶可以在鍵盤或數(shù)字小 鍵盤上打字,可以選擇屏幕界面上的按鈕,使用鐵筆寫入數(shù)字、字符、和/ 或符號(hào)或選擇電子顯示選項(xiàng),或輸入數(shù)據(jù)的任何其它適當(dāng)手段。然后,與在 狀態(tài)208發(fā)送的消息類似,將這個(gè)信息傳送到代理設(shè)備104,并接著傳送到 各自主服務(wù)器106。對(duì)此作出響應(yīng),與在狀態(tài)210發(fā)送的消息類似,主服務(wù) 器106通過(guò)代理設(shè)備104將附加UI指令發(fā)送到MFP設(shè)備101。盡管在例示的 實(shí)施例中,MFP設(shè)備l.Ol和定制應(yīng)用軟件分別交換UI指令和用戶輸入數(shù)據(jù), 但在其它實(shí)施例中,MFP設(shè)備和定制應(yīng)用軟件可以通過(guò)代理設(shè)備交換其它信 息。例如,定制應(yīng)用軟件可以發(fā)送從專用數(shù)據(jù)庫(kù)中提取的數(shù)據(jù),可以省略UI 指令,可以動(dòng)態(tài)地生成數(shù)據(jù)等。此外,MFP設(shè)備可以處理用戶數(shù)據(jù)和所得產(chǎn) 物,可以省略用戶數(shù)據(jù)的發(fā)送,可以發(fā)送與用戶輸入數(shù)據(jù)無(wú)關(guān)的靜態(tài)和/或動(dòng) 態(tài)生成數(shù)據(jù)等。
這個(gè)進(jìn)程可以被重復(fù)直到主服務(wù)器106接收到所有用戶數(shù)據(jù)。當(dāng)定制應(yīng) 用軟件接收到所有用戶數(shù)據(jù)時(shí),定制應(yīng)用軟件引導(dǎo)MFP設(shè)備101使各自本機(jī) 功能適用于用戶。例如,定制應(yīng)用軟件可以引導(dǎo)MFP設(shè)備101向用戶請(qǐng)求掃 描圖像。在接收到掃描圖像之后,定制應(yīng)用軟件處理用戶提交數(shù)據(jù),包括掃 描圖像和響應(yīng)UI屏幕輸入的數(shù)據(jù)。定制應(yīng)用軟件可以,例如,利用光學(xué)字符 識(shí)別(OCR )軟件從掃描圖像中提取數(shù)據(jù),然后將提取的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。 在一些實(shí)施例中,某些慣用軟件可以與MFP設(shè)備的本機(jī)功能獨(dú)立地運(yùn)行,不 執(zhí)行像復(fù)印、打印、掃描、和/或傳真那樣的MFP本機(jī)功能地通過(guò)用戶界面顯 示接收數(shù)據(jù)。
在處理了用戶提交數(shù)據(jù)之后,主服務(wù)器在狀態(tài)212發(fā)送返回主屏幕消息, 返回主屏幕消息被發(fā)送到代理設(shè)備104,然后發(fā)送到MFP設(shè)備104。在某個(gè)點(diǎn), 如狀態(tài)214所示,管理者可以決定取消APP1定制應(yīng)用軟件的登記。在取消 APP1定制應(yīng)用軟件的登記之后,MFP設(shè)備101可以將常規(guī)更新詢問(wèn)發(fā)送到代 理設(shè)備104。 一旦接收到更新詢問(wèn),代理設(shè)備104向MFP設(shè)備101發(fā)送通知MFP設(shè)備101該APP1定制應(yīng)用軟件不再適用的消息。
圖3更詳細(xì)地例示了按鈕響應(yīng)系統(tǒng)。在狀態(tài)302, MFP設(shè)備101從設(shè)備用 戶接收啟動(dòng)各自定制應(yīng)用軟件的指示。在狀態(tài)304,代理設(shè)備104接收和發(fā) 送用于下一操作(或UI屏幕)的請(qǐng)求。在狀態(tài)306,在主服務(wù)器106上運(yùn)行 的定制應(yīng)用軟件接收下一操作的請(qǐng)求。在狀態(tài)308 ,定制應(yīng)用軟件發(fā)送下一 屏幕。在一個(gè)實(shí)施例中,屏幕指令是基于XML的UI模板。在狀態(tài)310,代理 設(shè)備104從主服務(wù)器106接收屏幕指令,并且將它們發(fā)送到MFP設(shè)備101。 在狀態(tài)312, MFP設(shè)備101接收下一屏幕指令,并且向MFP設(shè)備101的用戶顯 示下一屏幕。在狀態(tài)314,用戶經(jīng)由當(dāng)前顯示屏幕輸入數(shù)據(jù),和MFP設(shè)備lOl 接收該數(shù)據(jù),并且將它發(fā)送到代理設(shè)備104。在狀態(tài)316,代理設(shè)備從MFP設(shè) 備101接收用戶提交的數(shù)據(jù),并且將它發(fā)送到主服務(wù)器106。在狀態(tài)318,主 服務(wù)器106接收用戶提交的數(shù)據(jù),和各自定制應(yīng)用軟件處理主服務(wù)器106上 的數(shù)據(jù)。如果像在狀態(tài)320中確定的那樣,所有屏幕都已經(jīng)完成,則定制應(yīng) 用軟件轉(zhuǎn)到狀態(tài)322 。如果所有屏幕還沒有完成,定制應(yīng)用軟件返回到狀態(tài) 308,發(fā)送下一屏幕,和作為替換等待用戶提交數(shù)據(jù)。
在狀態(tài)322,在接收到用戶提交數(shù)據(jù)之后,定制應(yīng)用軟件發(fā)送從MFP設(shè) 備的本機(jī)功能接收數(shù)據(jù)的指令。例如,定制應(yīng)用軟件可以發(fā)送從MFP設(shè)備101 接收掃描數(shù)據(jù)的指令。在狀態(tài)324,代理設(shè)備104從主服務(wù)器106接收指令, 并且將它們發(fā)送到MFP設(shè)備101。在狀態(tài)326 , MFP設(shè)備101接收指令。在狀 態(tài)328 , MFP設(shè)備向用戶請(qǐng)求掃描的圖像,并且將掃描圖像發(fā)送到代理設(shè)備 104。在狀態(tài)330,代理設(shè)備104從MFP設(shè)備101接收掃描數(shù)據(jù),并且將它發(fā) 送到主服務(wù)器106。在狀態(tài)332 ,主服務(wù)器106接收掃描圖像。在狀態(tài)334, 定制應(yīng)用軟件處理掃描圖像,并且向MFP設(shè)備101發(fā)送返回到主屏幕(home screen)的指令。在狀態(tài)336,代理設(shè)備104將來(lái)自主服務(wù)器106的指令發(fā) 送到MFP設(shè)備lOl。在狀態(tài)338, MFP設(shè)備101接收返回到主屏幕的指令,和 MFP設(shè)備101在狀態(tài)340返回到主屏幕。
圖4例示了登記對(duì)話窗400的一個(gè)實(shí)施例。如圖所示,各自MFP設(shè)備 "Device Name —1"含有分別叫4故ePRO和Status Report的兩個(gè)登記應(yīng)用彭: 件。登記對(duì)話窗包括登記新應(yīng)用軟件的登記按鈕404。登記對(duì)話窗400還包 括登記數(shù)據(jù)字段406。在登記數(shù)據(jù)字段406中,像管理者那樣的用戶可以輸 入應(yīng)用軟件名稱、描述定制應(yīng)用軟件的位置(萬(wàn)維網(wǎng)服務(wù)模塊地址)的URL、和像"Device Name —1"那樣的相關(guān)設(shè)備。當(dāng)用戶選擇"Apply"按鈕時(shí),登
記服務(wù)模塊登記新定制應(yīng)用軟件。在例示的實(shí)施例中,新定制應(yīng)用軟件被叫 做"Patent Process"和新應(yīng)用軟件處在'7/PatentWebService"。登記對(duì)話 窗400還包括取消登記數(shù)據(jù)字段408。為了取消設(shè)備的登記,管理者可以輸 入登記設(shè)備的應(yīng)用軟件ID和點(diǎn)擊取消登記按鈕。
圖5例示了可能UI模板的一個(gè)實(shí)施例。叫做Screenl 5 02的UI.模板包 括如下圖形用戶界面特征TextBoxl、 TextBox2、 ComboBoxl、 OkBuUon、和 CancelButton。叫做Screen2 504的UI模板包括如下圖形用戶界面組件 TextBoxl、 ComboBoxl、 0kButton和CancelButton。叫做Screen3 506的UI 才莫板包括如下圖形用戶界面組件Buttonl、 Button2、 Button3、和Cancel-Button。叫做Screen4 508的UI模板包括如下圖形用戶界面組件:TextBoxl、 TextBox2、 TextBox3、 TextBox4、 OkBuUon和CancelBut ton。 口葉估支ScanScreen 510的UI沖莫才反包括如下圖形用戶界面組件PaperSize、 Orientation, Scan-Side、 Resolution、 ScanMode、 Darkness、 EraseBackground、 EraseEdge、 Collate、 Fi leFormat、 FileQuality、 Scalling、 OkBuUon、 CancelBut ton、 ImageData、 NumOfPages、 TimeStamp、 和Status。
圖6A、 6B、 6C、 6D和6E例示了與例示在圖5中的UI模板相對(duì)應(yīng)的對(duì)話 窗的可能實(shí)施例。在一個(gè)實(shí)施例中,對(duì)話窗通過(guò),例如,設(shè)備顯示屏幕出現(xiàn) 在MFP設(shè)備101上。圖6A例示了例示工作流602和適用定制應(yīng)用軟件604的 列表的應(yīng)用軟件對(duì)話窗600的一個(gè)實(shí)施例。圖6B、6C、6D和6E對(duì)應(yīng)于"Patent Process"定制應(yīng)用軟件的對(duì)話窗。初始對(duì)話窗620提示用盧選擇輸入新公開 文本還是現(xiàn)有公開文本。初始對(duì)話窗620對(duì)應(yīng)于Screen2 504模板。類型對(duì) 話窗640提示用戶輸入新公開文本與軟件有關(guān),與硬件有關(guān),還是未知(是 否與軟件或硬件有關(guān))。類型對(duì)話窗640對(duì)應(yīng)于Screen3 5Q6模板。掃描對(duì)話 窗660例示了與定制應(yīng)用軟件"Patent Process"相對(duì)應(yīng)的許多數(shù)據(jù)輸入。 現(xiàn)有公開文本對(duì)話窗680例示了一組已經(jīng)存在的公開文本。這個(gè)對(duì)話窗出現(xiàn) 在用戶在初始對(duì)話窗620中選擇了 "現(xiàn)有公開文本"選項(xiàng)的時(shí)候?,F(xiàn)有公開 文本對(duì)話窗680對(duì)應(yīng)于Screen2 504模板。
盡管借助于某些實(shí)施例對(duì)本發(fā)明作了描述,但對(duì)于本領(lǐng)域的普通技術(shù)人 員來(lái)說(shuō)顯而易見、包括未提供本文所述的所有好處和特征的其它實(shí)施例也在 本發(fā)明的范圍之內(nèi)。于是,本發(fā)明的范圍只由所附權(quán)利要求書限定。
權(quán)利要求
1.一種定制多功能外設(shè)的方法,該方法包含通過(guò)軟件界面向寄宿在遠(yuǎn)離多功能外設(shè)設(shè)備的一個(gè)或多個(gè)主設(shè)備上的一個(gè)或多個(gè)定制應(yīng)用軟件揭示多功能外設(shè)設(shè)備的功能;和經(jīng)由與一個(gè)或多個(gè)主設(shè)備通信的代理設(shè)備登記由多功能外設(shè)設(shè)備的用戶使用的一個(gè)或多個(gè)定制應(yīng)用軟件。
2. 根據(jù)權(quán)利要求1所述的方法,其中,軟件界面是利用萬(wàn)維網(wǎng)服務(wù)描述 語(yǔ)言描述的,和其中一個(gè)或多個(gè)定制應(yīng)用軟件是萬(wàn)維網(wǎng)服務(wù)模塊。
3. 根據(jù)權(quán)利要求1所述的方法,其中,軟件界面包含對(duì)適用于一個(gè)或多 個(gè)定制應(yīng)用軟件的基于XML的用戶界面模板的定義。
4. 一種在多功能外設(shè)上執(zhí)行定制應(yīng)用軟件的方法,該方法包含 將定制應(yīng)用軟件登記在與多功能外設(shè)數(shù)據(jù)通信的代理設(shè)備上;根據(jù)多功能外設(shè)和代理設(shè)備之間的通信使登記的定制應(yīng)用軟件適用于多 功能外設(shè)用戶;經(jīng)由多功能外設(shè)接收來(lái)自多功能外設(shè)用戶的數(shù)據(jù);和 通過(guò)代理設(shè)備將來(lái)自多功能外設(shè)的數(shù)據(jù)路由到寄宿定制應(yīng)用軟件的主設(shè)備。
5. 根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包含通過(guò)由萬(wàn)維網(wǎng)服務(wù)描述語(yǔ)言 描述的軟件界面向定制應(yīng)用軟件揭示多功能外設(shè)的功能,其中定制應(yīng)用軟件 是適用于多功能外設(shè)用戶的萬(wàn)維網(wǎng)服務(wù)模塊。
6. 根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包含接收通過(guò)代理設(shè)備從主設(shè)備 路由到多功能外設(shè)的多功能外設(shè)用戶界面信息,其中,用戶界面信息包含用 于在多功能外設(shè)上配置用戶界面屏幕的來(lái)自定制應(yīng)用軟件的基于XML的指 令,和其中,用戶界面屏幕被配置成接收與定制應(yīng)用軟件相關(guān)的用戶數(shù)據(jù)。
7. —種在多功能外設(shè)上提供定制應(yīng)用軟件的系統(tǒng),該系統(tǒng)包含 代理設(shè)備,該代理設(shè)備被配置成登記由多功能外設(shè)的用戶使用的一個(gè)或多個(gè)定制應(yīng)用軟件,其中通過(guò)軟件界面向寄宿在其它設(shè)備上的一個(gè)或多個(gè)定 制應(yīng)用軟件揭示多功能外設(shè)功能。
8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中,軟件界面是利用萬(wàn)維網(wǎng)服務(wù)描述 語(yǔ)言描述的。
9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中,軟件界面定義一個(gè)或多個(gè)定制應(yīng) 用軟件可以用于配置多功能外設(shè)的用戶界面顯示的基于XMLd 用戶界面模 板。
10. —種支持定制應(yīng)用軟件的多功能外設(shè),該多功能外設(shè)包含 具有在其它設(shè)備上執(zhí)行的一個(gè)或多個(gè)定制應(yīng)用軟件的界面,該界面被配置成在從代理設(shè)備接收到指示代理設(shè)備已經(jīng)登記了用在多功能外設(shè)設(shè)備上的 一個(gè)或多個(gè)定制應(yīng)用軟件的更新之后,使一個(gè)或多個(gè)定制應(yīng)用軟件適用于多 功能外設(shè)的用戶。
11. 根據(jù)權(quán)利要求10所述的多功能外設(shè),其中,該界面使用萬(wàn)維網(wǎng)服務(wù) 描述語(yǔ)言,和其中定制應(yīng)用軟件是萬(wàn)維網(wǎng)服務(wù)模塊。
12. 根據(jù)權(quán)利要求10所述的多功能外設(shè),其中該界面被配置成接收安排 多功能外設(shè)的用戶界面顯示的基于XML的指令,該基于XML的指令是從一個(gè) 或多個(gè)定制應(yīng)用軟件接收的。
13. —種在多功能外設(shè)上提供定制應(yīng)用軟件的方法,該方法包含 為多功能外設(shè)上的用戶輸入定義模板,該模板包含一組可配置用戶界面特征;接收源自在除了多功能外設(shè)之外的設(shè)備上運(yùn)行的定制應(yīng)用軟件的機(jī)器可 讀指令,該機(jī)器可讀指令指定用戶界面設(shè)置; 確定接收的指令是否對(duì)應(yīng)于定義的模板;和如果存在對(duì)應(yīng)關(guān)系,則根據(jù)指定的用戶界面設(shè)置配置多功能外設(shè)的用戶 界面。
14. 根據(jù)權(quán)利要求13所述的方法,其中,該模板是利用萬(wàn)維網(wǎng)服務(wù)描述 語(yǔ)言定義的。
15. 根據(jù)權(quán)利要求13所述的方法,其中,該機(jī)器可讀指令是基于XML的。
16. 根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包含將用戶通過(guò)用戶界面提供 的數(shù)據(jù)發(fā)送到定制應(yīng)用軟件,其中,該數(shù)據(jù)是通過(guò)登記了定制應(yīng)用軟件的代 理設(shè)備路由的。
17. —種含有用于多功能外設(shè)應(yīng)用軟件定制的機(jī)器可裝載軟件的計(jì)算機(jī) 可讀媒體,其中,該機(jī)器可裝載軟件被配置成執(zhí)行包含如下的方法為多功能外設(shè)上的用戶輸入定義模板,該模板包含一組可配置用戶界面 特征;接收源自在除了多功能外設(shè)之外的設(shè)備上運(yùn)行的定制應(yīng)用軟件的機(jī)器可讀指令,該機(jī)器可讀指令指定用戶界面設(shè)置; 確定接收的指令是否對(duì)應(yīng)于定義的模板;和如果存在對(duì)應(yīng)關(guān)系,則根據(jù)指定的用戶界面設(shè)置配置多功能外設(shè)的用戶 界面。
18. —種支持定制應(yīng)用軟件的多功能外設(shè),該多功能外設(shè)包含 具有在其它設(shè)備上執(zhí)行的一個(gè)或多個(gè)定制應(yīng)用軟件的界面,該界面被配置成處理與安排多功能外設(shè)的用戶界面顯示的一個(gè)或多個(gè)預(yù)定模板相對(duì)應(yīng)的 基于XML的指令,該基于XML的指令是從一個(gè)或多個(gè)定制應(yīng)用軟件接收的。
19. 根據(jù)權(quán)利要求18所述的多功能外設(shè),其中,該界面利用萬(wàn)維網(wǎng)服務(wù) 描述語(yǔ)言,和其中該定制應(yīng)用軟件是萬(wàn)維網(wǎng)服務(wù)模塊。
20. 根據(jù)權(quán)利要求18所述的多功能外設(shè),其中,該界面被配置成通過(guò)配 置成登記一個(gè)或多個(gè)定制應(yīng)用軟件和路由多功能外設(shè)與一個(gè)或多個(gè)定制應(yīng)用 軟件之間的通信的代理設(shè)備,將用戶通過(guò)用戶界面顯示提供的數(shù)據(jù)發(fā)送到一 個(gè)或多個(gè)定制應(yīng)用軟件。
全文摘要
本發(fā)明涉及為多功能外設(shè)開發(fā)定制應(yīng)用軟件的系統(tǒng)和方法,將定制應(yīng)用軟件加入多功能外設(shè)(MFP)設(shè)備中。在一些實(shí)施例中,代理設(shè)備用于將登記和路由功能提供給在主站上運(yùn)行的第三方應(yīng)用軟件。因此,代理設(shè)備減輕了與應(yīng)用軟件登記和多個(gè)定制應(yīng)用軟件與MFP設(shè)備之間的消息路由相聯(lián)系的MFP設(shè)備的處理負(fù)擔(dān)。在一些實(shí)施例中,用戶界面(UI)模板用于定制MFP設(shè)備上的應(yīng)用顯示。通過(guò)使用像基于XML的模板那樣的標(biāo)準(zhǔn)模板,MFP設(shè)備可以包括分析模板的最小支持,從而減小了施加在設(shè)備上的負(fù)擔(dān),以適應(yīng)定制應(yīng)用軟件。
文檔編號(hào)H04N1/00GK101296285SQ20081009331
公開日2008年10月29日 申請(qǐng)日期2008年4月18日 優(yōu)先權(quán)日2007年4月24日
發(fā)明者內(nèi)哈爾·丹特瓦拉, 沙扎德·巴蒂 申請(qǐng)人:三星電子株式會(huì)社