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

圖像形成設(shè)備、打包方法及程序的制作方法

文檔序號:7925551閱讀:148來源:國知局
專利名稱:圖像形成設(shè)備、打包方法及程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖像形成設(shè)備,其提供關(guān)于圖像形成的用戶服務(wù),諸如復(fù)印、打印、掃描、傳真等。本發(fā)明尤其涉及一種圖像形成設(shè)備,其可以吸收應(yīng)用程序與應(yīng)用程序所使用的服務(wù)之間的版本差異。
背景技術(shù)
近來,包括機(jī)柜中的打印機(jī)、復(fù)印機(jī)、傳真機(jī)、掃描儀等的功能的圖像形成設(shè)備(在下文中稱為復(fù)合機(jī))是眾所周知的。復(fù)合機(jī)包括機(jī)柜中的顯示部分、打印部分、圖像拾取部分等。在復(fù)合機(jī)中,提供分別相應(yīng)于打印機(jī)、復(fù)印機(jī)和傳真機(jī)的3個軟件,從而通過轉(zhuǎn)換軟件,使復(fù)合機(jī)分別起打印機(jī)、復(fù)印機(jī)、掃描儀和傳真機(jī)的作用。
根據(jù)這種傳統(tǒng)的復(fù)合機(jī),運(yùn)行應(yīng)用程序,用于每個功能單元,諸如打印機(jī)、復(fù)印機(jī)、傳真機(jī)和掃描儀,且每個應(yīng)用程序有訪問硬件資源的函數(shù)。這時,假設(shè)作為應(yīng)用程序的基礎(chǔ)的操作系統(tǒng)(OS)的版本與復(fù)合機(jī)中實際使用的OS版本相同。然而,例如,如果升級OS而使OS之間的版本不同,就會出現(xiàn)迄今為止應(yīng)用程序曾使用的函數(shù)變得無法使用的情況,或者應(yīng)用程序本身變得無法使用。
這樣,根據(jù)傳統(tǒng)的復(fù)合機(jī),如果在復(fù)合機(jī)中升級OS,就要求把應(yīng)用程序重新編譯,從而在升級的OS上操作應(yīng)用程序。
由于傳統(tǒng)的復(fù)合機(jī)設(shè)有單獨(dú)用于打印機(jī)、復(fù)印機(jī)、掃描儀和傳真機(jī)的各個軟件,所以,開發(fā)軟件需要很多時間。因而,申請人已經(jīng)開發(fā)出了一種圖像形成設(shè)備(復(fù)合機(jī)),該設(shè)備包括硬件資源、多個應(yīng)用程序、以及包括設(shè)在應(yīng)用程序和硬件資源之間的多種控制服務(wù)的平臺。硬件資源用于顯示部分、打印部分和圖像拾取部分中的圖像形成處理。應(yīng)用程序執(zhí)行打印機(jī)、復(fù)印機(jī)和傳真機(jī)等的用戶服務(wù)所固有的處理。平臺包括多種控制服務(wù),所述服務(wù)在執(zhí)行用戶服務(wù)時,進(jìn)行至少兩個應(yīng)用程序所共同需要的硬件資源的管理、進(jìn)行應(yīng)用程序的執(zhí)行控制、以及圖像形成處理。
根據(jù)這種新的復(fù)合機(jī),分離提供了應(yīng)用程序和控制服務(wù)。這樣,在運(yùn)送復(fù)合機(jī)之后,用戶或第三方供應(yīng)商可以開發(fā)新的應(yīng)用程序,以安裝在復(fù)合機(jī)上。這樣,可以提供多種功能。
由于新的復(fù)合機(jī)設(shè)有與應(yīng)用程序分離的、用來提供至少兩個應(yīng)用程序所共同要求的服務(wù)的控制服務(wù),所以,需要在開發(fā)應(yīng)用程序時,為應(yīng)用程序和多種控制服務(wù)之間的工序間通信編寫源代碼。
在開發(fā)新的應(yīng)用程序時,需要準(zhǔn)確地掌握由每個控制服務(wù)所提供的應(yīng)用程序接口(API包括函數(shù)和事件),并根據(jù)預(yù)定的過程編寫源代碼。然而,如果因排除錯誤或添加函數(shù)等而重復(fù)升級API,則由于不清楚應(yīng)用程序是遵照哪個API版本的,供應(yīng)商就難以開發(fā)出應(yīng)用程序來。這樣,有可能難以開發(fā)出應(yīng)用程序來。另外,有可能為控制服務(wù)所開發(fā)的應(yīng)用程序所使用的API版本與復(fù)合機(jī)中實際使用的控制服務(wù)的API版本是不同的。如果在復(fù)合機(jī)上執(zhí)行該應(yīng)用程序,就會發(fā)生差錯,且應(yīng)用程序會影響復(fù)合機(jī)。
這是一個包括固定功能的傳統(tǒng)復(fù)合機(jī)所沒有的新問題。
另外,從程序的隱蔽性和系統(tǒng)安全性來看,把控制服務(wù)和應(yīng)用程序之間的所有API都公開給諸如開發(fā)新應(yīng)用程序的第三方供應(yīng)商的第三方是不合適的。

發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種圖像形成設(shè)備,其中,即使由于控制服務(wù)的升級而在應(yīng)用程序所使用的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間出現(xiàn)差別,該應(yīng)用程序也可以執(zhí)行函數(shù)調(diào)用而不用重寫應(yīng)用程序的源代碼。另外,本發(fā)明的一個目的是提供一種圖像形成設(shè)備,其能隱藏由控制服務(wù)所發(fā)送的預(yù)定消息。
上述目的由圖像形成設(shè)備來實現(xiàn),該圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),該圖像形成設(shè)備包括打包(wrapping)部分,用于轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù),并通過使用轉(zhuǎn)換后的函數(shù),進(jìn)行控制服務(wù)的函數(shù)調(diào)用。
根據(jù)本發(fā)明,由于轉(zhuǎn)換了從應(yīng)用程序調(diào)用的函數(shù),并把轉(zhuǎn)換后的函數(shù)用于函數(shù)調(diào)用,所以,即使在應(yīng)用程序所使用的函數(shù)與控制服務(wù)中的實際函數(shù)不同時,也可以從應(yīng)用程序來執(zhí)行函數(shù)調(diào)用,而不用重寫應(yīng)用程序的源程序。
上述目的也由以下圖像形成設(shè)備來實現(xiàn),其包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),圖像形成設(shè)備包括打包部分,用于從控制服務(wù)所發(fā)送的消息中選擇要發(fā)送到應(yīng)用程序的消息。
根據(jù)本發(fā)明,可以對第三方隱藏用于訪問控制服務(wù)的接口。


結(jié)合附圖來閱讀,從下文的詳細(xì)描述中,本發(fā)明的其它目的、特點(diǎn)和優(yōu)點(diǎn)將更明了,其中圖1是根據(jù)本發(fā)明第一實施例的復(fù)合機(jī)的框圖;圖2顯示了根據(jù)本發(fā)明第一實施例的復(fù)合機(jī)100的硬件構(gòu)成的實例;圖3顯示了第一實施例的復(fù)合機(jī)100中VAS 140的構(gòu)成,以及VAS 140、應(yīng)用程序、控制服務(wù)層150和通用OS 121之間的關(guān)系;圖4是用來顯示根據(jù)本發(fā)明的第一實施例,在HD 200中存儲的打包信息文件201的實例的圖;圖5顯示了根據(jù)本發(fā)明第一實施例的版本管理表210的實例;圖6顯示了一個流程圖,該流程圖顯示了根據(jù)本發(fā)明第一實施例并在其中吸收了版本差異的打包過程;圖7顯示了一個表格,其包括表示升級或未升級的信息以及根據(jù)本發(fā)明第一實施例的升級類型;圖8顯示了根據(jù)本發(fā)明第一實施例,描述用于填充啞變量的VAS 140的實例;圖9是一個流程圖,其顯示了根據(jù)本發(fā)明第一實施例由VAS 140進(jìn)行的打包過程;圖10是一個流程圖,其顯示了根據(jù)本發(fā)明第一實施例檢查整個版本的過程;圖11是一個流程圖,其顯示了根據(jù)本發(fā)明第一實施例,逐函數(shù)地檢查版本的過程;圖12是本發(fā)明第二實施例的復(fù)合機(jī)的框圖;
圖13是顯示第二實施例的復(fù)合機(jī)800的VAS 841-848的構(gòu)成,以及顯示根據(jù)本發(fā)明的第二實施例的VAS 841-848、每個應(yīng)用程序、控制服務(wù)層150與通用OS 121之間的關(guān)系的圖;圖14A-14C顯示了VAS的構(gòu)成的實例。
具體實施例方式
在下文中,描述實施例的圖像形成設(shè)備。
(第一實施例)圖1是根據(jù)本發(fā)明第一實施例的圖像形成設(shè)備(下文中稱為復(fù)合機(jī),圖像形成設(shè)備也可以稱為合成機(jī)、多功能機(jī)等)的框圖。如圖1所示,復(fù)合機(jī)100包括硬件資源和軟件組110。硬件資源包括黑白激光打印機(jī)(B&W LP)101、彩色激光打印機(jī)102、和諸如掃描儀、傳真機(jī)、硬盤、存儲器(RAM、NV-RAM、ROM等)和網(wǎng)絡(luò)接口的硬件資源103。軟件組110包括平臺120、應(yīng)用程序130、和虛擬應(yīng)用服務(wù)140(下文中稱為VAS)。
VAS 140設(shè)在應(yīng)用程序130和平臺120之間。從應(yīng)用程序的觀點(diǎn)來看,VAS 140被認(rèn)為是平臺120中的服務(wù)層,而從服務(wù)層的觀點(diǎn)來看,被認(rèn)為是應(yīng)用程序。另外,VAS 140作為應(yīng)用程序的服務(wù)器進(jìn)程來操作,和作為每個控制服務(wù)的客戶端進(jìn)程來操作。
VAS 140的第一基本性能是吸收由應(yīng)用程序用來利用控制服務(wù)的性能的函數(shù)(可稱為API)與控制服務(wù)所提供的相應(yīng)函數(shù)之間的版本差異。通過使用該性能,即使有版本差異,應(yīng)用程序也能執(zhí)行函數(shù)調(diào)用而不對應(yīng)用程序重新編譯。另外,VAS可以通過選擇來自控制服務(wù)的消息有意地隱藏平臺120。上述性能可稱為打包性能。
作為第二基本性能,VAS 140檢測應(yīng)用程序所使用的用于VAS 140的函數(shù)的版本與VAS 140中相應(yīng)函數(shù)之間的版本差異,確定每個版本差異是否在VAS 140所支持的范圍內(nèi)。然后,VAS 140把確定結(jié)果發(fā)送到應(yīng)用程序,使得應(yīng)用程序能在應(yīng)用程序?qū)嶋H操作之前,確定應(yīng)用程序與VAS之間的版本是否彼此相符。該性能稱為版本管理性能。
VAS程序可以存儲在例如SD(安全數(shù)字)卡中,使得能從SD卡運(yùn)行VAS程序。另外,可以從包括VAS程序的服務(wù)器安裝或運(yùn)行VAS程序。
平臺120包括控制服務(wù),用于解釋來自應(yīng)用程序的處理請求,以發(fā)布對硬件資源的獲取請求;系統(tǒng)資源管理器(SRM)123,用于管理一個或多個硬件資源和仲裁來自控制服務(wù)的獲取請求;和通用OS 121。
控制服務(wù)包括多個服務(wù)模塊,即,系統(tǒng)控制服務(wù)(SCS)122、引擎控制服務(wù)(ECS)124、存儲控制服務(wù)(MCS)125、操作面板控制服務(wù)(OCS)126、傳真控制服務(wù)(FCS)127、和網(wǎng)絡(luò)控制服務(wù)(NCS)128。另外,平臺120有應(yīng)用程序接口(API),該應(yīng)用程序接口可通過使用預(yù)定的函數(shù)從應(yīng)用程序130接收處理請求。
通用的OS 121是諸如UNIX的通用操作系統(tǒng),能同時執(zhí)行平臺120的每一個軟件和應(yīng)用程序130,作為一個進(jìn)程。
SRM 123的進(jìn)程用來執(zhí)行系統(tǒng)的控制和用SCS 122來執(zhí)行資源的管理。SRM 123的進(jìn)程對來自上層的使用硬件資源的請求進(jìn)行仲裁和執(zhí)行控制,所述硬件資源包括諸如掃描儀部分和打印機(jī)部分的引擎、存儲器、HDD文件、主I/O(核心(Centronics)I/F、網(wǎng)絡(luò)I/F IEEE 1394 I/F、RS232C I/F等)。
更具體地說,SRM 123確定所請求的硬件資源是否可用(是否其它請求未使用該資源),且在所請求的硬件資源可用時,通知上層所請求的硬件資源可用。另外,SRM 123對來自上層的使用硬件資源的請求進(jìn)行調(diào)度,并直接進(jìn)行相應(yīng)于請求的處理(例如,打印機(jī)引擎進(jìn)行的紙件傳送和圖像形成、分配存儲區(qū)域、文件生成等)。
SCS 122的進(jìn)程進(jìn)行應(yīng)用程序管理、操作部分的控制、系統(tǒng)屏幕的顯示、LED顯示、資源管理、和中斷應(yīng)用程序控制。
ECS 124的進(jìn)程控制硬件資源的引擎,所述硬件資源包括黑白激光打印機(jī)(B&W LP)101、彩色激光打印機(jī)(彩色LP)102、掃描儀、和傳真機(jī)等。MCS 125的進(jìn)程獲得和釋放圖像存儲的區(qū)域,使用硬盤設(shè)備(HDD),并壓縮和擴(kuò)展圖像數(shù)據(jù)。
FCS 127的進(jìn)程提供API,該API用于通過使用PSTN/ISDN網(wǎng)絡(luò)從系統(tǒng)控制器的每個應(yīng)用層發(fā)送和接收傳真,登記/引用由BKM(備份SRAM)所管理的各種傳真數(shù)據(jù)、傳真讀取、傳真接收和打印、以及混合的發(fā)送和接收。
NCS 128是提供通常用于需要網(wǎng)絡(luò)I/O的應(yīng)用程序的服務(wù)的進(jìn)程。NCS128把通過協(xié)議從網(wǎng)絡(luò)接收到的數(shù)據(jù)分發(fā)到相應(yīng)的應(yīng)用程序,并且在把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)時起應(yīng)用程序和網(wǎng)絡(luò)之間的調(diào)解作用。更具體地說,NCS 128的過程包括諸如ftpd、httpd、1pd、snmpd、telnetd、smtpd的服務(wù)器端口監(jiān)控程序(daemon),和協(xié)議的客戶端函數(shù)。
OCS 126的進(jìn)程控制操作面板,操作面板是用來在操作員(用戶)和機(jī)器的控制部分之間傳送信息的裝置。在本實施例的復(fù)合機(jī)100中,OCS 126包括OCS處理部分和OCS函數(shù)庫部分。OCS處理部分從操作面板獲得表示按鍵被按下的按鍵事件,把相應(yīng)于按鍵事件的按鍵事件函數(shù)發(fā)送到SCS 122。OCS函數(shù)庫登記繪圖函數(shù)和用來控制操作面板的其它函數(shù),其中繪圖函數(shù)用于根據(jù)來自有控制權(quán)的應(yīng)用程序或控制服務(wù)的請求把各種圖像輸出到操作面板上。在開發(fā)了應(yīng)用程序時,OCS函數(shù)庫中的函數(shù)與通過編譯應(yīng)用程序的源代碼文件而產(chǎn)生的目標(biāo)程序相鏈接,從而產(chǎn)生應(yīng)用程序的可執(zhí)行文件。
應(yīng)用程序130包括打印機(jī)應(yīng)用程序111,其是用于有頁面描述語言(PDL)和PCL和附錄(PS)的打印機(jī)的應(yīng)用程序;復(fù)印應(yīng)用程序112;傳真應(yīng)用程序113,其是用于傳真的應(yīng)用程序;掃描儀應(yīng)用程序114,其是用于掃描儀的應(yīng)用程序;網(wǎng)絡(luò)文件應(yīng)用程序115;和過程檢查應(yīng)用程序116。在運(yùn)行每個應(yīng)用程序時,應(yīng)用程序把具有其進(jìn)程的進(jìn)程ID的應(yīng)用程序登記請求消息發(fā)送到VAS 140。接收應(yīng)用程序登記請求消息的VAS 140為運(yùn)行的應(yīng)用程序進(jìn)行登記處理。
在應(yīng)用程序130的進(jìn)程和控制服務(wù)的進(jìn)程之間執(zhí)行工序間通信,其中,調(diào)用函數(shù)、發(fā)送返回值、發(fā)送和接收消息。通過使用工序間通信,可實現(xiàn)用于圖像形成處理的用戶服務(wù),諸如復(fù)印、打印、掃描和發(fā)送傳真。
如上所述,第一實施例的復(fù)合機(jī)100包括多個應(yīng)用程序130和多個控制服務(wù),它們均作為進(jìn)程來操作。在每個進(jìn)程中,產(chǎn)生一個或多個線程,并行執(zhí)行線程??刂品?wù)為應(yīng)用程序130提供公共服務(wù)。提供關(guān)于圖像形成的用戶服務(wù),諸如復(fù)印、打印、掃描和發(fā)送傳真,同時并行執(zhí)行多個進(jìn)程,并行執(zhí)行線程,執(zhí)行工序間通信。第三方供應(yīng)商可以為復(fù)合機(jī)100開發(fā)應(yīng)用程序117、118,并可以在復(fù)合機(jī)100中的控制服務(wù)層上在應(yīng)用層中執(zhí)行應(yīng)用程序。圖1顯示了包括新應(yīng)用程序117和118的實例。
在第一實施例的復(fù)合機(jī)中,雖然操作應(yīng)用程序130的多個進(jìn)程和控制服務(wù)的多個進(jìn)程,但是,每個應(yīng)用程序和控制服務(wù)可以是單獨(dú)的進(jìn)程。可以一個一個地添加或刪除應(yīng)用程序130中的應(yīng)用程序。在第一實施例的復(fù)合機(jī)100中,除了VAS 140之外,可以采用動態(tài)鏈接庫(DLL)。
圖2顯示了復(fù)合機(jī)100的硬件構(gòu)成的實例。
復(fù)合機(jī)包括控制器160、操作面板175、傳真控制單元(FCU)176、和引擎部分177,引擎部分177是硬件資源,諸如專門用于圖像形成處理的打印機(jī)。控制器160包括CPU 161、系統(tǒng)存儲器162、北橋(NB)163、南橋(SB)164、ASIC 166、局部存儲器167、HDD 168、網(wǎng)絡(luò)接口卡(NIC)169、SD卡槽170、USB裝置171、IEEE 1394裝置172和核心173。存儲器162、167可以包括例如RAM和/或ROM。FCU 176和引擎部分177經(jīng)PCI總線178與控制器中的ASIC 166相連接。CPU 161通過從RAM中讀取,來執(zhí)行安裝在復(fù)合機(jī)100中的應(yīng)用程序的程序和控制服務(wù)等。
圖3顯示了第一實施例的復(fù)合機(jī)100中VAS 140的構(gòu)成,以及VAS 140、應(yīng)用程序、控制服務(wù)層150和通用OS 121之間的關(guān)系。雖然圖3顯示了打印機(jī)應(yīng)用程序111、復(fù)印應(yīng)用程序112、新應(yīng)用程序117和118作為應(yīng)用程序130的實例,但是,可以以相同的方式提供其它應(yīng)用程序。
在虛擬應(yīng)用服務(wù)(VAS)140的進(jìn)程中,分配器144、控制線程143、打包線程141、和版本管理線程142進(jìn)行工作。
分配器144監(jiān)控從應(yīng)用程序和控制服務(wù)接收消息,根據(jù)收到的消息,把處理請求發(fā)送到控制線程143、打包線程141或版本管理線程142。在第一實施例的復(fù)合機(jī)100中,當(dāng)分配器144在應(yīng)用程序運(yùn)行時接收應(yīng)用程序登記請求消息的時候,分配器144把應(yīng)用程序登記請求消息發(fā)送到控制線程143。
控制線程143在從分配器144接收應(yīng)用程序登記請求消息時執(zhí)行應(yīng)用程序登記處理。在應(yīng)用程序登記處理中,控制線程143在RAM 210中產(chǎn)生應(yīng)用程序表,并把應(yīng)用程序ID存儲在應(yīng)用程序登記表中,其中,應(yīng)用程序ID是發(fā)送軟件登記請求消息的應(yīng)用程序的標(biāo)識符。另外,控制線程143參考存儲在HD 200中的打包信息文件201,檢查是否為登記的應(yīng)用程序存儲了打包信息。
打包線程141的性能大致如下。
即使在升級控制服務(wù)(例如在相應(yīng)的函數(shù)(API)中添加變量)之后不升級在應(yīng)用程序一側(cè)使用的用于控制服務(wù)的函數(shù)(API),打包線程141也可以通過轉(zhuǎn)換從應(yīng)用程序調(diào)用的函數(shù)來吸收函數(shù)之間的差。
而且,打包線程141能通過參考打包信息文件201,選擇從控制服務(wù)層150發(fā)送到應(yīng)用程序的消息。因此,可以對第三方供應(yīng)商隱藏能夠大大影響復(fù)合機(jī)100的系統(tǒng)的接口,從而可以防止直接訪問控制服務(wù)。這樣,可以改善復(fù)合機(jī)的安全性,可以防止發(fā)生故障。
版本管理線程142從控制線程143接收處理請求。另外,版本管理線程142檢測應(yīng)用程序所使用的用于VAS 140的函數(shù)的版本和VAS 140中相應(yīng)的實際函數(shù)的版本之間的差異。然后,版本管理線程142通過參考版本管理表211,確定版本差異是否在VAS 140能涵蓋的范圍之內(nèi)。
圖4是用來顯示存儲在HD 200中的打包信息文件201的實例的圖。如圖4所示,打包信息文件201是一個在其中為從控制服務(wù)層150發(fā)送到應(yīng)用程序的消息(事件)設(shè)定不通知設(shè)定的信息文件。可以一個消息一個消息地設(shè)定不通知設(shè)定,從而對第三方隱藏能大大影響系統(tǒng)的接口。由于如圖4所示為事件A和C設(shè)定了不通知設(shè)定,所以,不把事件發(fā)送到應(yīng)用程序。對于事件B,由于沒有設(shè)定不通知設(shè)定,所以,正常地把事件發(fā)送到應(yīng)用程序。
圖5顯示了版本管理表210的實例。該表格可以包含在VAS 140的執(zhí)行文件中,當(dāng)執(zhí)行VAS 140時,把該表格存儲在例如RAM 210中。為了把表格包括在執(zhí)行文件中,例如,將包括該表格的信息的包含文件包括在VAS 140的程序中,并編譯該程序。另外,可以把該表格準(zhǔn)備成文件,和把文件存儲在復(fù)合機(jī)中,從而VAS 140能參考該文件。
如圖5所示,版本管理表211包括VAS 140的整個版本號和VAS 140可以支持的應(yīng)用程序的整個版本范圍。例如,VAS 140能涵蓋的范圍是從當(dāng)前VAS的版本到預(yù)定范圍的老版本。
VAS 140的整個版本是指VAS 140所提供的一組函數(shù)的版本,應(yīng)用程序的整個版本是應(yīng)用程序使用的用于VAS 140的一組函數(shù)的版本。應(yīng)用程序所使用的用于VAS 140的一組函數(shù)的版本與在開發(fā)應(yīng)用程序時VAS 140中的那組函數(shù)的版本相同。
另外,如圖5所示,版本管理表211包括,逐個函數(shù)的,VAS 140中的函數(shù)的版本和應(yīng)用程序可以用于VAS 140的函數(shù)的版本范圍。雖然VAS 140通過使用上述線程執(zhí)行上述的性能,但是,VAS 140也可以用一個進(jìn)程來代替多個線程,從而進(jìn)行上述性能。
在下文中,描述通過復(fù)合機(jī)100的VAS 140的打包處理和版本管理。先描述打包處理。
圖6顯示了一個流程圖,該流程圖顯示在其中吸收了版本差異的打包過程。如果在控制服務(wù)中升級函數(shù),該函數(shù)會因版本不同而與應(yīng)用程序一側(cè)的相應(yīng)函數(shù)不同。圖6顯示的過程用于吸收版本差異。
VAS 140有用于每個控制服務(wù)的每個函數(shù)的信息,表示是否已經(jīng)升級了函數(shù),如果升級了函數(shù),就表示升級的類型。當(dāng)產(chǎn)生VAS 140的程序時,該信息可被包括為如圖7所示的表格。升級的類型可以是例如函數(shù)添加、函數(shù)分割、函數(shù)刪除、函數(shù)改變、函數(shù)積分、變量添加、變量分割、變量刪除等。
在步驟S601,VAS 140通過參考圖7所示的信息,檢查是否在控制服務(wù)中升級了相應(yīng)于從應(yīng)用程序調(diào)用的函數(shù)的函數(shù)。如果還沒有升級函數(shù),就在步驟S604執(zhí)行常規(guī)處理。如果已經(jīng)升級了函數(shù),VAS 140就檢查升級的類型是不是在步驟S602中的函數(shù)分割或變量添加。
如果升級的類型既不是函數(shù)分割也不是變量添加,則該類型就是函數(shù)刪除、函數(shù)改變、函數(shù)積分等。這種情況下,在控制服務(wù)中不存在相應(yīng)于從應(yīng)用程序調(diào)用的函數(shù)的函數(shù),所以無法執(zhí)行該函數(shù)的處理。這樣,VAS 140在步驟S605把NG發(fā)送到應(yīng)用程序,并在步驟S606結(jié)束該過程。
在步驟S602,如果升級的類型是函數(shù)分割或變量添加,就增加控制服務(wù)中的函數(shù)數(shù)量或變量數(shù)量。這樣,在步驟S603,為增加的函數(shù)或增加的變量填充啞函數(shù)或啞變量。然后,在步驟S604繼續(xù)常規(guī)處理。圖8顯示了在其中填充啞變量的VAS描述的實例。如圖8所示,把從應(yīng)用程序接收請求的函數(shù)“API_for_Apli_No1(int arg1,int arg2)”轉(zhuǎn)換為包括啞變量“dummy”的函數(shù)“API_fir_XCS_No1(arg1,arg2,dummy)”。
即使升級了在其中添加了函數(shù)的控制服務(wù),也不改變現(xiàn)有函數(shù)。這樣,雖然應(yīng)用程序不能使用添加的函數(shù),但是,該升級不影響應(yīng)用程序。
下面,描述用來隱藏控制服務(wù)的預(yù)定的接口的過程。如果把來自控制服務(wù)的每個消息(例如事件)發(fā)送到應(yīng)用程序,就可能直接訪問大大影響復(fù)合機(jī)100的系統(tǒng)的控制服務(wù),這對保持復(fù)合機(jī)的安全性和防止出現(xiàn)故障是不利的。為了解決這一問題,可以預(yù)先在打包信息文件201中設(shè)定不發(fā)送到應(yīng)用程序的事件。可以以任何方式進(jìn)行設(shè)定。例如,在復(fù)合機(jī)100之外產(chǎn)生打包信息文件201,然后可以把文件201存儲在復(fù)合機(jī)100中。另外,VAS 140可以顯示用來在文件201中設(shè)定信息的屏幕,也可以從屏幕設(shè)定信息。另外,該信息可以包括在VAS 140的執(zhí)行文件中。
圖9是顯示VAS 140的打包過程的流程圖。
當(dāng)從控制服務(wù)向應(yīng)用程序通知消息時,打包線程141在步驟S701參考打包信息文件201,并且打包線程141在步驟S702檢查是否為該消息設(shè)定了不通知。如果為該消息設(shè)定了不通知,則在步驟S703不把該消息發(fā)送到應(yīng)用程序。
如果對該消息的設(shè)定不包括在打包信息文件201中或者在步驟S701中沒有設(shè)定不通知,則在步驟S704把該消息如常發(fā)送到應(yīng)用程序。
如上所述,可以預(yù)先設(shè)定是否把一個事件發(fā)送到應(yīng)用程序,有可能改善復(fù)合機(jī)的安全性并預(yù)先防止出現(xiàn)故障。另外,由于預(yù)定的接口需要公開給諸如開發(fā)新應(yīng)用程序的第三方供應(yīng)商的第三方,所以,能夠選擇要公開的接口是非常重要的。
下面,描述用于檢查由應(yīng)用程序所使用的用于VAS 140的函數(shù)(API)與VAS 140中的相應(yīng)函數(shù)之間的版本差異的過程。如上所述,VAS 140可以吸收應(yīng)用程序與控制服務(wù)之間的版本差異。然而,由于升級了VAS 140本身等等,所以,應(yīng)用程序所使用的用于VAS 140的函數(shù)的版本可以與VAS 140中的相應(yīng)函數(shù)的版本不同。在下面的方法中,VAS 140檢查版本差異,如果VAS 140可以支持版本差異,則應(yīng)用程序就可以繼續(xù)常規(guī)處理。
對于每個函數(shù)來說,應(yīng)用程序有用于VAS 140的整個版本信息和函數(shù)的多個版本。運(yùn)行應(yīng)用程序時,用工序間通信把版本信息發(fā)送到VAS 140。版本信息可以在產(chǎn)生程序時,被包括在應(yīng)用程序的執(zhí)行程序中。
可以在執(zhí)行應(yīng)用程序之前的任何時間執(zhí)行版本檢查。在本實施例中,雖然在登記應(yīng)用程序時執(zhí)行了版本檢查,但是,執(zhí)行版本檢查的時間不限于此。例如,可以通過試驗性的運(yùn)行應(yīng)用程序來執(zhí)行版本檢查。應(yīng)用程序的試驗性運(yùn)行是運(yùn)行只用來執(zhí)行與VAS 140的工序間通信的應(yīng)用程序,從而VAS 140能獲得應(yīng)用程序的信息。這種情況下,應(yīng)用程序配置成可進(jìn)行試驗性運(yùn)行。
在登記應(yīng)用程序時,執(zhí)行下面的處理。
當(dāng)分配器144從運(yùn)行的應(yīng)用程序接收軟件登記請求消息時,分配器144把應(yīng)用程序登記請求消息和進(jìn)程ID發(fā)送到控制線程143。當(dāng)控制線程143從分配器144收到應(yīng)用程序登記請求消息和進(jìn)程ID時,控制線程143確定應(yīng)用程序ID,用來識別應(yīng)用程序,并把應(yīng)用程序ID存儲在RAM中的應(yīng)用程序登記表中,以便進(jìn)行應(yīng)用程序登記。預(yù)先確定已有應(yīng)用程序(例如復(fù)印應(yīng)用程序112,打印機(jī)應(yīng)用程序)的應(yīng)用程序ID,且VAS在內(nèi)部保留每個應(yīng)用程序ID。對于第三方供應(yīng)商等新開發(fā)的應(yīng)用程序,在應(yīng)用程序第一次運(yùn)行登記時,確定應(yīng)用程序ID。
下文中,描述在檢查整個版本的情況下和為每個函數(shù)檢查版本的情況下的版本檢查過程??梢灾辉谡麄€版本的差異不在VAS 140所能支持的范圍內(nèi)時,逐函數(shù)地執(zhí)行版本檢查,以代替對每種情況單獨(dú)執(zhí)行過程。
首先,參考圖10,描述用于整個版本檢查的過程。
當(dāng)VAS 140在步驟S801接收對應(yīng)用程序登記的請求時,VAS 140在步驟S802從應(yīng)用程序獲得應(yīng)用程序的整個版本號。VAS 140把應(yīng)用程序的整個版本號與版本管理表211中的版本支持范圍進(jìn)行比較,并在步驟S803確定應(yīng)用程序的整個版本是否在支持范圍內(nèi)。例如,假設(shè)目前使用的VAS 140可以支持的版本范圍為1.0-1.6。這種情況下,如果應(yīng)用程序的整個版本在1.0-1.6的范圍內(nèi),則VAS 140就確定整個版本在范圍之內(nèi)。這種情況下,在步驟S804把“OK”發(fā)送到應(yīng)用程序,在步驟S805正確地登記應(yīng)用程序,并在步驟S806,在復(fù)合機(jī)100中執(zhí)行常規(guī)處理。如果VAS 140確定應(yīng)用程序的整個版本在范圍之外,則VAS 140就在步驟S807把“NG”發(fā)送到應(yīng)用程序,且該過程在步驟S808結(jié)束。
下面,參考圖11,描述逐函數(shù)地檢查版本的程序。
以與圖10相同的方式,可以在執(zhí)行應(yīng)用程序之前的任何時候執(zhí)行版本檢查。在本實施例中,在登記應(yīng)用程序時執(zhí)行版本檢查。
當(dāng)在步驟S901有對應(yīng)用程序登記的請求時,VAS 140在步驟S902,從應(yīng)用程序逐函數(shù)地獲得應(yīng)用程序所使用的用于VAS 140的函數(shù)的版本信息。然后,VAS 140參考版本管理表211。對于應(yīng)用程序所使用的用于VAS 140的每個函數(shù),VAS 140將應(yīng)用程序所使用的函數(shù)的版本與相應(yīng)于該函數(shù)的支持范圍進(jìn)行比較,從而使VAS 140在步驟S903確定函數(shù)的版本是否在支持范圍之內(nèi)。例如,如果應(yīng)用程序所使用的函數(shù)是“2”和“3”,且如果函數(shù)的版本分別是“1.1”和“2.0”,則如圖5所示,每個函數(shù)都在支持范圍之內(nèi)。
在圖11所示的處理中,當(dāng)VAS 140確定每個函數(shù)都在支持范圍之內(nèi)時,之后的過程與圖10中的步驟S804-S806相同。當(dāng)VAS確定至少有一個函數(shù)不在支持范圍之內(nèi)時,之后的過程與圖10中的步驟S807-S808相同。當(dāng)結(jié)果是NG時,VAS 140會在操作面板上顯示支持范圍之外的函數(shù)名。
如果在VAS 140中升級了應(yīng)用程序不使用的函數(shù),則改變了VAS 140的整個版本。這樣,如果只進(jìn)行整個版本檢查,則存在由于整個版本差異而無法執(zhí)行應(yīng)用程序的情形。另一方面,如果對應(yīng)用程序所使用的每個函數(shù)進(jìn)行版本檢查,VAS 140就能確定可以執(zhí)行應(yīng)用程序,而沒有上述情況中的問題。另外,通過逐函數(shù)地檢查,可以容易地指定VAS 140無法支持的函數(shù)。
如上所述,根據(jù)第一實施例的復(fù)合機(jī)100,VAS 140的打包線程141吸收了版本差異。這樣,即使升級了控制服務(wù),也不必重新編譯應(yīng)用程序。另外,VAS 140可以選擇要從控制服務(wù)發(fā)送到應(yīng)用程序的消息。這樣,可以對第三方隱藏會大大影響復(fù)合機(jī)100的系統(tǒng)的接口。
另外,根據(jù)第一實施例的復(fù)合機(jī)100,VAS 140可以通過使用從應(yīng)用程序獲得的版本信息來檢查函數(shù)的版本。因此,可以安全地執(zhí)行應(yīng)用程序。另外,根據(jù)第一實施例的復(fù)合機(jī)100,除VAS 140外可采用動態(tài)鏈接庫(DLL)。在這種情況下,可以更有效地吸收應(yīng)用程序和控制服務(wù)之間的版本差異,和可以隱藏接口。這樣,可以更確切地隱藏所述接口。
(第二實施例)第一實施例的復(fù)合機(jī)100包括一個用于所有應(yīng)用程序的VAS。根據(jù)第二實施例的復(fù)合機(jī),為每個應(yīng)用程序運(yùn)行多個VAS,其中,每個VAS進(jìn)行版本管理和打包。
圖12是第二實施例的復(fù)合機(jī)的框圖。如圖12所示,復(fù)合機(jī)800與第一實施例的復(fù)合機(jī)的不同之處在于為每個應(yīng)用程序操作多個虛擬應(yīng)用服務(wù)。
VAS 841-848進(jìn)行打印機(jī)應(yīng)用程序111、復(fù)印應(yīng)用程序112、傳真應(yīng)用程序113、掃描儀應(yīng)用程序114、網(wǎng)絡(luò)文件應(yīng)用程序115、和過程檢查應(yīng)用程序116、以及新應(yīng)用程序117和118的版本管理和打包。
圖13是顯示第二實施例的復(fù)合機(jī)800的VAS 841-848的構(gòu)成的圖,還顯示了VAS 841-848、每個應(yīng)用程序、控制服務(wù)層150和通用OS 121之間的關(guān)系。雖然圖13顯示打印機(jī)應(yīng)用程序111、復(fù)印應(yīng)用程序112、新應(yīng)用程序117和118作為應(yīng)用程序,且以相應(yīng)的VAS 841、842、847和848作為實例,但是,可以為其它應(yīng)用程序采用相同的構(gòu)成。
根據(jù)第二實施例的復(fù)合機(jī)800,與第一實施例的復(fù)合機(jī)100不同,如圖13所示,VAS控制端口監(jiān)控程序801在VAS和應(yīng)用程序之間操作。VAS控制進(jìn)程(端口監(jiān)控程序)801從每個應(yīng)用程序接收應(yīng)用程序登記請求消息,以便進(jìn)行應(yīng)用程序登記。另外,VAS控制進(jìn)程(端口監(jiān)控程序)801產(chǎn)生請求應(yīng)用程序登記的VAS 841-848的相應(yīng)應(yīng)用程序。另外,VAS控制過程(端口監(jiān)控程序)801把指令發(fā)送到每個線程。
虛擬應(yīng)用服務(wù)(VAS)的每個進(jìn)程包括分配器144、打包線程141、和版本管理線程142。
分配器144監(jiān)控來自應(yīng)用程序和控制服務(wù)的消息,根據(jù)收到的消息把處理請求發(fā)送到打包線程141或版本管理線程142。在第二實施例的復(fù)合機(jī)800中,分配器144從VAS控制進(jìn)程801接收具有應(yīng)用程序的應(yīng)用程序ID和進(jìn)程ID的版本管理請求消息或打包請求消息。當(dāng)分配器144接收版本管理請求消息時,分配器144把版本管理請求消息、應(yīng)用程序ID、和進(jìn)程ID發(fā)送到版本管理線程142。當(dāng)分配器144接收打包請求消息時,分配器144把打包請求消息、應(yīng)用程序ID、和進(jìn)程ID發(fā)送到打包線程141。
每個版本管理線程142和打包線程141的性能與第一實施例中的那些相同。
根據(jù)第二實施例的復(fù)合機(jī)800,可以獲得與第一實施例相同的效果。另外,根據(jù)第二實施例的復(fù)合機(jī)800,為每個應(yīng)用程序運(yùn)行VAS。這樣,可以用相應(yīng)的VAS并行進(jìn)行多個應(yīng)用程序的確定。因此,可以更有效地進(jìn)行確定。另外,由于可以并行進(jìn)行用于每個應(yīng)用程序的版本管理和打包,所以,即使添加或改變了應(yīng)用程序,也可以有效地進(jìn)行版本管理和打包。
作為VAS的構(gòu)成,也可以采用圖14A-14C所示的構(gòu)成。圖14A顯示了父VAS的子進(jìn)程用于每個應(yīng)用程序的情況,其中,父VAS沒有屏幕控制權(quán)(沒有用戶界面)。圖14B顯示了父VAS有屏幕控制權(quán)的情況。圖14C顯示了通過使用線程為每個應(yīng)用程序提供VAS的函數(shù)的情況。
如上所述,根據(jù)本發(fā)明,提供了一種圖像形成設(shè)備,該圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),其中,圖像形成設(shè)備包括打包部分,該打包部分用于轉(zhuǎn)換由應(yīng)用程序所調(diào)用的函數(shù),和通過使用轉(zhuǎn)換后的函數(shù)進(jìn)行對控制服務(wù)的函數(shù)調(diào)用。
根據(jù)圖像形成設(shè)備,由于轉(zhuǎn)換了從應(yīng)用程序調(diào)用的函數(shù),并把轉(zhuǎn)換后的函數(shù)用于函數(shù)調(diào)用,所以,即使在應(yīng)用程序所使用的函數(shù)和控制服務(wù)中的實際函數(shù)不同時,也可以從應(yīng)用程序進(jìn)行函數(shù)調(diào)用而不重寫應(yīng)用程序的源程序。
在圖像形成設(shè)備中,其中,如果由應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)與控制服務(wù)中的相應(yīng)函數(shù)之間有版本差異,則打包部分轉(zhuǎn)換函數(shù)。這樣,例如,若升級了控制服務(wù)一側(cè)的函數(shù),并出現(xiàn)了版本差異,就轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù)。相應(yīng)地,可以防止版本不符所致的故障。
在圖像形成設(shè)備中,打包部分參考表示已經(jīng)改變了控制服務(wù)中相應(yīng)函數(shù)的版本的信息,確定是否有版本差異。這樣,可以正確地確定是否有版本差異。
在圖像形成設(shè)備中,其中,如果應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間在函數(shù)號或變量的數(shù)量上有所不同,則打包部分通過添加至少一個啞函數(shù)或至少一個變量來轉(zhuǎn)換函數(shù)。
通常,如果應(yīng)用程序所使用的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間在函數(shù)號或變量的數(shù)量上有所不同,則應(yīng)用程序就無法進(jìn)行函數(shù)調(diào)用。另一方面,根據(jù)本發(fā)明,通過在相應(yīng)于增加的函數(shù)或增加的變量的位置添加啞函數(shù)或啞變量,應(yīng)用程序可以執(zhí)行函數(shù)調(diào)用。
另外,提供了一種包括打包部分的圖像形成設(shè)備,所述打包部分用于在控制服務(wù)發(fā)送的消息中選擇要發(fā)送到應(yīng)用程序的消息。
根據(jù)本發(fā)明,可以對第三方隱藏用來訪問控制服務(wù)的接口。
在圖像形成設(shè)備中,打包部分參考表示不應(yīng)發(fā)送到應(yīng)用程序的預(yù)定消息的信息,選擇消息。
根據(jù)該構(gòu)成,由于打包部分參考表示不應(yīng)發(fā)送到應(yīng)用程序的預(yù)定消息的信息,所以,可以通過在信息中存儲預(yù)期的消息,容易地選擇必需的消息。
圖像形成設(shè)備可以包括虛擬應(yīng)用服務(wù),該服務(wù)作為控制服務(wù)的客戶進(jìn)程來操作,以及作為應(yīng)用程序的服務(wù)器進(jìn)程來操作,其中,打包部分包括在虛擬應(yīng)用服務(wù)中。
另外,圖像形成設(shè)備可以包括版本檢查部分,用于確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的一組函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定范圍內(nèi)。這樣,版本檢查部分可以確定該組的版本是否在虛擬應(yīng)用服務(wù)所支持的范圍內(nèi)。因而,例如通過在實際使用該應(yīng)用程序之前進(jìn)行確定,可以確定應(yīng)用程序是否可以用在虛擬應(yīng)用服務(wù)上,從而可以防止出現(xiàn)故障。
在上述圖像形成設(shè)備中,版本檢查部分從應(yīng)用程序獲得該組函數(shù)的版本,并通過參考包括預(yù)定范圍的信息來確定該版本是否在預(yù)定的范圍內(nèi)。這樣,可以容易地進(jìn)行所述該版本是否在預(yù)定的范圍之內(nèi)的確定。
圖像形成設(shè)備可以包括版本檢查部分,用于逐函數(shù)地確定由應(yīng)用程序所使用用于虛擬應(yīng)用服務(wù)的函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定的范圍之內(nèi)。因此,由于逐函數(shù)地檢查了版本,所以,如果升級了應(yīng)用程序不使用的函數(shù),就可以正確地確定該升級沒有影響應(yīng)用程序的操作。另外,可以容易地指出在支持范圍之外的函數(shù)。
在上述圖像形成設(shè)備中,版本檢查部分從應(yīng)用程序獲得函數(shù)的版本,通過參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。這樣,可以容易地執(zhí)行確定。
本發(fā)明不限于具體公開的實施例,可以不背離本發(fā)明的范圍而進(jìn)行變化和修改。
權(quán)利要求
1.一種圖像形成設(shè)備,其包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),圖像形成設(shè)備包含打包部分,用于轉(zhuǎn)換由應(yīng)用程序所調(diào)用的函數(shù),并通過使用轉(zhuǎn)換后的函數(shù),對控制服務(wù)進(jìn)行函數(shù)調(diào)用。
2.根據(jù)權(quán)利要求1所述的圖像形成設(shè)備,其中,如果在應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間有版本差異,則打包部分轉(zhuǎn)換該函數(shù)。
3.根據(jù)權(quán)利要求2所述的圖像形成設(shè)備,其中,打包部分參考表示已經(jīng)改變了控制服務(wù)中相應(yīng)函數(shù)的版本的信息,確定是否有版本差異。
4.根據(jù)權(quán)利要求1所述的圖像形成設(shè)備,其中,如果應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間在函數(shù)數(shù)量或變量的數(shù)量上有所不同,則打包部分通過添加至少一個啞函數(shù)或者至少一個變量來轉(zhuǎn)換函數(shù)。
5.一種圖像形成設(shè)備,其包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),圖像形成設(shè)備包含打包部分,用于從控制服務(wù)所發(fā)送的消息中選擇要發(fā)送到應(yīng)用程序的消息。
6.根據(jù)權(quán)利要求5所述的圖像形成設(shè)備,其中,打包部分參考表示不應(yīng)發(fā)送到應(yīng)用程序的預(yù)定消息的信息,選擇消息。
7.根據(jù)權(quán)利要求1所述的圖像形成設(shè)備,圖像形成設(shè)備還包含虛擬應(yīng)用服務(wù),該服務(wù)作為控制服務(wù)的客戶進(jìn)程來操作,還作為應(yīng)用程序的服務(wù)器進(jìn)程來操作,其中,打包部分包括在虛擬應(yīng)用服務(wù)中。
8.根據(jù)權(quán)利要求7所述的圖像形成設(shè)備,該圖像形成設(shè)備包含版本檢查部分,用于確定由應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的一組函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定范圍之內(nèi)。
9.根據(jù)權(quán)利要求8所述的圖像形成設(shè)備,其中,版本檢查部分從應(yīng)用程序獲得該組函數(shù)的版本,并通過參考包括預(yù)定的范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。
10.根據(jù)權(quán)利要求7所述的圖像形成設(shè)備,該圖像形成設(shè)備包含版本檢查部分,用于逐函數(shù)地確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定的范圍之內(nèi)。
11.根據(jù)權(quán)利要求10所述的圖像形成設(shè)備,其中,版本檢查部分從應(yīng)用程序獲得函數(shù)的版本,并通過參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。
12.一種由圖像形成設(shè)備所進(jìn)行的方法,所述圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),所述方法包含打包步驟,轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù),并通過使用轉(zhuǎn)換后的函數(shù)進(jìn)行控制服務(wù)的函數(shù)調(diào)用。
13.根據(jù)權(quán)利要求12所述的方法,其中,如果在應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間有版本差異,則圖像形成設(shè)備轉(zhuǎn)換函數(shù)。
14.根據(jù)權(quán)利要求13所述的方法,其中,圖像形成設(shè)備參考表示已經(jīng)改變了控制服務(wù)中相應(yīng)函數(shù)的版本的信息,確定是否有版本差異。
15.根據(jù)權(quán)利要求12所述的方法,其中,如果應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間在函數(shù)的數(shù)量或變量的數(shù)量上有所不同,則打包部分通過添加至少一個啞函數(shù)或者至少一個變量來轉(zhuǎn)換函數(shù)。
16.一種由圖像形成設(shè)備所進(jìn)行的方法,所述圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),所述方法包含打包步驟,從控制服務(wù)發(fā)送的消息中選擇要發(fā)送到應(yīng)用程序的消息。
17.根據(jù)權(quán)利要求16所述的方法,其中,圖像形成設(shè)備通過參考表示不應(yīng)發(fā)送到應(yīng)用程序的預(yù)定消息的信息,選擇消息。
18.根據(jù)權(quán)利要求12所述的方法,圖像形成設(shè)備還包含虛擬應(yīng)用服務(wù),該服務(wù)作為控制服務(wù)的客戶進(jìn)程來操作,還作為應(yīng)用程序的服務(wù)器進(jìn)程來操作,其中,由虛擬應(yīng)用服務(wù)進(jìn)行打包步驟。
19.根據(jù)權(quán)利要求18所述的方法,該方法還包含版本檢查步驟,確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的一組函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的范圍之內(nèi)。
20.根據(jù)權(quán)利要求19所述的方法,其中,虛擬應(yīng)用服務(wù)從應(yīng)用程序獲得該組函數(shù)的版本,并通過參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。
21.根據(jù)權(quán)利要求18所述的方法,所述方法還包含版本檢查步驟,用于逐函數(shù)地確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定范圍之內(nèi)。
22.根據(jù)權(quán)利要求21所述的方法,其中,虛擬應(yīng)用服務(wù)從應(yīng)用程序獲得該函數(shù)的版本,并通過參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。
23.一種使圖像形成設(shè)備執(zhí)行打包處理的計算機(jī)程序,其中,圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),所述計算機(jī)程序包含打包程序代碼部件,用于轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù),并通過使用轉(zhuǎn)換后的函數(shù)執(zhí)行控制服務(wù)的函數(shù)調(diào)用。
24.根據(jù)權(quán)利要求23所述的計算機(jī)程序,其中,如果在應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間有版本差異,則打包程序代碼部件轉(zhuǎn)換應(yīng)用程序所使用的函數(shù)。
25.根據(jù)權(quán)利要求24所述的計算機(jī)程序,其中,打包程序代碼部件參考表示已經(jīng)改變了控制服務(wù)中的相應(yīng)函數(shù)的版本的信息,確定是否有版本差異。
26.根據(jù)權(quán)利要求23所述的計算機(jī)程序,其中,如果應(yīng)用程序所使用的用于控制服務(wù)的函數(shù)和控制服務(wù)中的相應(yīng)函數(shù)之間在函數(shù)的數(shù)量或變量的數(shù)量上有所不同,則打包程序代碼部件通過添加至少一個啞函數(shù)或者至少一個變量來轉(zhuǎn)換函數(shù)。
27.一種使圖像形成設(shè)備執(zhí)行打包處理的計算機(jī)程序,其中,圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),所述計算機(jī)程序包含打包程序代碼部件,用于從控制服務(wù)所發(fā)送的消息中選擇要發(fā)送到應(yīng)用程序的消息。
28.根據(jù)權(quán)利要求27所述的計算機(jī)程序,其中,打包程序代碼部件參考表示不應(yīng)發(fā)送到應(yīng)用程序的預(yù)定消息的信息,選擇消息。
29.根據(jù)權(quán)利要求23所述的計算機(jī)程序,其中,計算機(jī)程序包括在虛擬應(yīng)用服務(wù)中,所述虛擬應(yīng)用服務(wù)作為控制服務(wù)的客戶進(jìn)程來操作,還作為應(yīng)用程序的服務(wù)器進(jìn)程來操作。
30.根據(jù)權(quán)利要求29所述的計算機(jī)程序,計算機(jī)程序還包含版本檢查程序代碼部件,用于確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的一組函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定范圍之內(nèi)。
31.根據(jù)權(quán)利要求30所述的計算機(jī)程序,其中,版本檢查程序代碼部件從應(yīng)用程序獲得該組函數(shù)的版本,并參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍之內(nèi)。
32.根據(jù)權(quán)利要求29所述的計算機(jī)程序,所述計算機(jī)程序還包含版本檢查程序代碼部件,逐函數(shù)地確定應(yīng)用程序所使用的用于虛擬應(yīng)用服務(wù)的函數(shù)的版本是否在虛擬應(yīng)用服務(wù)所能支持的預(yù)定范圍之內(nèi)。
33.根據(jù)權(quán)利要求32所述的計算機(jī)程序,其中,版本檢查程序代碼部件從應(yīng)用程序獲得該函數(shù)的版本,并參考包括預(yù)定范圍的信息,確定該版本是否在預(yù)定的范圍內(nèi)。
34.一種存儲有使圖像形成設(shè)備執(zhí)行打包處理的程序代碼的計算機(jī)可讀介質(zhì),其中,所述圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),所述計算機(jī)可讀介質(zhì)包含打包程序代碼部件,用于轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù),并通過使用轉(zhuǎn)換后的函數(shù)進(jìn)行控制服務(wù)的函數(shù)調(diào)用。
全文摘要
提供了一種圖像形成設(shè)備,該圖像形成設(shè)備包括用于進(jìn)行圖像形成的處理的應(yīng)用程序,和用于根據(jù)來自應(yīng)用程序的函數(shù)調(diào)用來進(jìn)行系統(tǒng)一側(cè)的處理的控制服務(wù),其中,圖像形成設(shè)備包括打包(wrapping)部分,其用于轉(zhuǎn)換應(yīng)用程序所調(diào)用的函數(shù),并用轉(zhuǎn)換后的函數(shù)進(jìn)行控制服務(wù)的函數(shù)調(diào)用。
文檔編號H04N1/00GK1487378SQ0315564
公開日2004年4月7日 申請日期2003年7月19日 優(yōu)先權(quán)日2002年7月19日
發(fā)明者大石勉, 秋吉邦洋, 田中浩行, 中川克彥, 彥, 洋, 行 申請人:株式會社理光
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
田东县| 蒙山县| 普陀区| 青神县| 河南省| 沙田区| 萝北县| 新密市| 资溪县| 平原县| 房山区| 西乡县| 勃利县| 靖宇县| 肥乡县| 武威市| 法库县| 中卫市| 营山县| 涿鹿县| 工布江达县| 安阳市| 昆山市| 海原县| 昌宁县| 桦甸市| 息烽县| 榕江县| 卢湾区| 西和县| 津市市| 嘉义县| 抚远县| 茌平县| 余江县| 武城县| 荆州市| 仁怀市| 长寿区| 石家庄市| 防城港市|