亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

云計(jì)算系統(tǒng)及其控制方法

文檔序號(hào):7590227閱讀:132來(lái)源:國(guó)知局
專利名稱:云計(jì)算系統(tǒng)及其控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及打印系統(tǒng)、云計(jì)算系統(tǒng)及打印系統(tǒng)控制方法。
背景技術(shù)
使用互聯(lián)網(wǎng)通信方法的內(nèi)容管理系統(tǒng)已經(jīng)廣為運(yùn)用。在這種內(nèi)容管理系統(tǒng)中,用戶經(jīng)由互聯(lián)網(wǎng)從客戶計(jì)算機(jī)訪問(wèn)由服務(wù)器計(jì)算機(jī)提供的Web頁(yè)(網(wǎng)頁(yè))。另外,用戶在該 Web頁(yè)上選擇要查看的內(nèi)容。內(nèi)容管理系統(tǒng)將所選內(nèi)容發(fā)送給服務(wù)器計(jì)算機(jī)。服務(wù)器計(jì)算機(jī)執(zhí)行控制,以在由用戶操作的客戶計(jì)算機(jī)的畫(huà)面上顯示所接收到的內(nèi)容。日本專利特開(kāi)2002-304271號(hào)公報(bào)論述了一種通過(guò)使用打印機(jī)來(lái)打印用戶經(jīng)由客戶計(jì)算機(jī)的畫(huà)面讀取的內(nèi)容的方法。在該傳統(tǒng)方法中,服務(wù)器計(jì)算機(jī)將用戶查看的內(nèi)容轉(zhuǎn)換成能夠被打印機(jī)打印的數(shù)據(jù)。此外,服務(wù)器計(jì)算機(jī)將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送給打印機(jī)。打印機(jī)打印所接收到的數(shù)據(jù)。同時(shí),近些年來(lái),已經(jīng)利用了諸如云計(jì)算系統(tǒng)或軟件即服務(wù)(Software as a Service, SaaS)的各種方法,在所述方法中,服務(wù)器計(jì)算機(jī)執(zhí)行各種處理。在云計(jì)算系統(tǒng)中,利用大量的計(jì)算資源來(lái)分散地轉(zhuǎn)換并處理數(shù)據(jù)。在像這種云計(jì)算系統(tǒng)中,從多個(gè)不同客戶端輸入的多個(gè)請(qǐng)求能夠相互并行地進(jìn)行處理。另外,應(yīng)近來(lái)日益增長(zhǎng)的對(duì)開(kāi)放系統(tǒng)的需求,已經(jīng)使用了作為平臺(tái)開(kāi)發(fā)的并且執(zhí)行或協(xié)作操作其上的多個(gè)服務(wù)應(yīng)用的系統(tǒng)。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供一種云計(jì)算系統(tǒng),該云計(jì)算系統(tǒng)包括圖像處理裝置;平臺(tái)系統(tǒng),其被構(gòu)造為提供分布式環(huán)境;以及Web服務(wù)。在所述云計(jì)算系統(tǒng)中,所述圖像處理裝置包括發(fā)送單元,該發(fā)送單元被構(gòu)造為向所述平臺(tái)系統(tǒng)發(fā)送作業(yè)。所述平臺(tái)系統(tǒng)包括插入單元,其被構(gòu)造為在請(qǐng)求接收程序的控制下,將由所述發(fā)送單元發(fā)送的所述作業(yè)插入到隊(duì)列中;識(shí)別單元,其被構(gòu)造為在后端處理程序的控制下,獲取由所述插入單元插入到所述隊(duì)列中的所述作業(yè)并且識(shí)別所述作業(yè)的處理狀態(tài);以及選擇單元,其被構(gòu)造為在所述后端處理程序的控制下,基于由所述識(shí)別單元識(shí)別出的所述處理狀態(tài),從由所述Web服務(wù)提供的多個(gè)任務(wù)服務(wù)中選擇能夠用于執(zhí)行所述作業(yè)的任務(wù)處理的任務(wù)服務(wù)。由所述選擇單元選擇的所述任務(wù)服務(wù)包括執(zhí)行單元,該執(zhí)行單元被構(gòu)造為執(zhí)行所述作業(yè)的任務(wù)處理。所述平臺(tái)系統(tǒng)包括接收單元,該接收單元被構(gòu)造為在所述后端處理程序的控制下,從所述任務(wù)服務(wù)接收關(guān)于由所述執(zhí)行單元執(zhí)行的所述任務(wù)處理的結(jié)果的信息,以及在基于由所述接收單元接收到的信息確定所述作業(yè)的處理已經(jīng)完成的情況下,所述平臺(tái)系統(tǒng)在所述請(qǐng)求接收程序的控制下,將由所述圖像處理裝置用來(lái)獲取所述作業(yè)的處理的結(jié)果的信息發(fā)送給所述圖像處理裝置。根據(jù)以下參照附圖對(duì)示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其他特征和方面將變得清楚。


被并入說(shuō)明書(shū)并構(gòu)成說(shuō)明書(shū)的一部分的附圖,例示了本發(fā)明的示例性實(shí)施例、特征和方面,并與文字描述一起,用于說(shuō)明本發(fā)明的原理。圖1例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的打印系統(tǒng)的示例性結(jié)構(gòu)。圖2例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的圖像形成裝置的詳細(xì)示例性內(nèi)部結(jié)構(gòu)。圖3例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的信息處理裝置的詳細(xì)示例性內(nèi)部結(jié)構(gòu)。圖4例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的打印系統(tǒng)中包含的各個(gè)裝置的示例性功能結(jié)構(gòu)。圖5例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的平臺(tái)系統(tǒng)的示例性結(jié)構(gòu)。圖6例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的隊(duì)列消息的示例。圖7例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的作業(yè)表的示例。圖8例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的服務(wù)表的示例。圖9例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的服務(wù)序列表的示例。圖10(由圖10A、圖10B、圖IOC和圖IOD組成)例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的一系列處理的序列的示例性流程。圖11例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的由打印應(yīng)用顯示的打印數(shù)據(jù)選擇畫(huà)面的示例。圖12A、圖12B和圖12C例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的服務(wù)實(shí)現(xiàn)的接口的示例性結(jié)構(gòu)。圖13例示了根據(jù)本發(fā)明的第一示例性實(shí)施例的服務(wù)質(zhì)量統(tǒng)計(jì)表的示例。圖14例示了根據(jù)本發(fā)明的第二示例性實(shí)施例的一系列處理的序列的示例性流程。圖15是例示根據(jù)本發(fā)明的第二示例性實(shí)施例的服務(wù)質(zhì)量確定處理的示例性流程的流程圖。圖16A、圖16B和圖16C例示了根據(jù)本發(fā)明的變形例的服務(wù)實(shí)現(xiàn)的接口的示例性結(jié)構(gòu)。
具體實(shí)施例方式以下將參照附圖詳細(xì)描述本發(fā)明的各種示例性實(shí)施例、特征及方面。首先,以下將對(duì)本發(fā)明的各示例性實(shí)施例中使用的術(shù)語(yǔ)的定義進(jìn)行說(shuō)明。在本發(fā)明中,“打印數(shù)據(jù)處理”是指用于將用戶期望打印的內(nèi)容轉(zhuǎn)換成可在諸如多功能外圍設(shè)備 (MFP)或打印機(jī)的圖像形成裝置上打印的數(shù)據(jù)的處理?!皟?nèi)容”是指包括文檔數(shù)據(jù)(例如文本)和圖像數(shù)據(jù)(例如包括位圖(BMP)的光柵圖像)的組合的電子數(shù)據(jù)。另外,“打印數(shù)據(jù)”是指通過(guò)打印數(shù)據(jù)處理來(lái)轉(zhuǎn)換內(nèi)容而生成的數(shù)據(jù)。更具體地,打印數(shù)據(jù)包括頁(yè)面描述語(yǔ)言(PDL)數(shù)據(jù)、便攜式文檔格式(PDF)數(shù)據(jù)以及光柵圖像。
以下將參照?qǐng)D1來(lái)詳細(xì)描述根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000中包含的各個(gè)裝置。參照?qǐng)D1,網(wǎng)絡(luò)打印系統(tǒng)1000中包含的各個(gè)裝置經(jīng)由網(wǎng)絡(luò)100相互通信。網(wǎng)絡(luò)打印系統(tǒng)1000中包含的裝置有服務(wù)器計(jì)算機(jī)102、文檔服務(wù)器103、圖像形成裝置104、客戶計(jì)算機(jī)105、文檔提取服務(wù)器107、文檔轉(zhuǎn)換服務(wù)器108以及打印服務(wù)器109。在本示例性實(shí)施例中,網(wǎng)絡(luò)打印系統(tǒng)1000也稱作“云計(jì)算系統(tǒng)”。網(wǎng)絡(luò)100是用于在上述各個(gè)裝置之間進(jìn)行數(shù)據(jù)通信的通信線路?;ヂ?lián)網(wǎng)101是用于越過(guò)防火墻在上述各個(gè)裝置之間進(jìn)行數(shù)據(jù)通信的通信線路。經(jīng)由互聯(lián)網(wǎng)101,能夠越過(guò)防火墻從包括圖像形成裝置104和客戶計(jì)算機(jī)105的網(wǎng)絡(luò)100執(zhí)行與包括服務(wù)器計(jì)算機(jī)102 的網(wǎng)絡(luò)100的通信。網(wǎng)絡(luò)100和互聯(lián)網(wǎng)101是支持傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)的通信網(wǎng)絡(luò)。 經(jīng)由網(wǎng)絡(luò)100和互聯(lián)網(wǎng)101的通信可以是有線的或者無(wú)線的。在本發(fā)明的示例性實(shí)施例中, 在圖1所示的示例中,盡管服務(wù)器計(jì)算機(jī)102被例示為一臺(tái)服務(wù)器,但是假定服務(wù)器計(jì)算機(jī) 102包括多個(gè)服務(wù)器計(jì)算機(jī)。以下將詳細(xì)描述圖1所示的網(wǎng)絡(luò)打印系統(tǒng)1000中包含的各個(gè)裝置的示例性內(nèi)部結(jié)構(gòu)。首先,將在下面參照?qǐng)D2詳細(xì)描述圖像形成裝置104的示例性內(nèi)部結(jié)構(gòu)。圖2是例示圖像形成裝置104的示例性內(nèi)部結(jié)構(gòu)的框圖。圖像形成裝置104包括圖像處理單元201、打印單元202以及讀取單元203。圖像處理單元201包括中央處理單元(CPU) 204、直接存儲(chǔ)單元205、間接存儲(chǔ)單元206、用戶接口 207和外部接口 208。CPU 204是執(zhí)行預(yù)定程序并指示對(duì)圖像形成裝置104的各種控制操作的單元。直接存儲(chǔ)單元205是CPU 204在執(zhí)行程序時(shí)使用的工作存儲(chǔ)器。由CPU 204執(zhí)行的程序被加載到直接存儲(chǔ)單元205。直接存儲(chǔ)單元205由隨機(jī)存取存儲(chǔ)器(RAM)實(shí)現(xiàn)。間接存儲(chǔ)單元206存儲(chǔ)諸如應(yīng)用程序和平臺(tái)程序的各種程序。存儲(chǔ)在間接存儲(chǔ)單元206上的各種程序在CPU 204執(zhí)行該程序時(shí),被CPU 204移動(dòng)至直接存儲(chǔ)單元205。間接存儲(chǔ)單元206由固態(tài)驅(qū)動(dòng)器(SSD)或硬盤(pán)驅(qū)動(dòng)器(HDD)實(shí)現(xiàn)。多處理器也可以用作CPU 204。以下將詳細(xì)描述通過(guò)執(zhí)行平臺(tái)程序?qū)崿F(xiàn)的平臺(tái)。通過(guò)實(shí)現(xiàn)平臺(tái),能夠在圖像形成裝置104上執(zhí)行用戶獨(dú)創(chuàng)開(kāi)發(fā)的新應(yīng)用,并定制圖像形成裝置104的操作畫(huà)面。以下將詳細(xì)描述用于實(shí)現(xiàn)平臺(tái)的示例性方法。CPU 204將存儲(chǔ)在間接存儲(chǔ)單元 206上的平臺(tái)程序移動(dòng)至直接存儲(chǔ)單元205。當(dāng)平臺(tái)程序被完全移動(dòng)至直接存儲(chǔ)單元205 時(shí),CPU 204能夠執(zhí)行平臺(tái)程序。在本示例性實(shí)施例中,當(dāng)CPU 204執(zhí)行平臺(tái)程序時(shí),平臺(tái)被“起動(dòng)”。該平臺(tái)在圖像形成裝置104的固件上運(yùn)行。另外,平臺(tái)程序提供用于執(zhí)行通過(guò)使用面向?qū)ο笳Z(yǔ)言來(lái)描述的應(yīng)用程序的環(huán)境。以下將詳細(xì)描述用于在平臺(tái)上執(zhí)行應(yīng)用程序的方法。在本示例性實(shí)施例中,接收打印請(qǐng)求的打印軟件在平臺(tái)上運(yùn)行。該打印軟件通過(guò)使用諸如超文本傳輸協(xié)議(HTTP)的通信協(xié)議,能夠從經(jīng)由網(wǎng)絡(luò)連接的設(shè)備接收打印數(shù)據(jù)。打印軟件將接收到的打印數(shù)據(jù)發(fā)送給固件。在接收到打印數(shù)據(jù)后,固件開(kāi)始打印數(shù)據(jù)處理。如果打印數(shù)據(jù)具有在不執(zhí)行打印數(shù)據(jù)處理的情況下就能夠?qū)Υ蛴?shù)據(jù)進(jìn)行打印的格式,則固件省略打印數(shù)據(jù)處理。如上所述,本發(fā)明的示例性實(shí)施例能夠通過(guò)在平臺(tái)上執(zhí)行應(yīng)用程序,來(lái)實(shí)現(xiàn)對(duì)圖像形成裝置104的控制。以下將詳細(xì)描述用于執(zhí)行應(yīng)用程序的示例性方法。平臺(tái)在被起動(dòng)后,將存儲(chǔ)在間接存儲(chǔ)單元206上的應(yīng)用程序移動(dòng)至直接存儲(chǔ)單元205。在移動(dòng)應(yīng)用程序之后,平臺(tái)就能夠執(zhí)行應(yīng)用程序。然后,平臺(tái)執(zhí)行應(yīng)用程序。在本示例性實(shí)施例中,平臺(tái)的上述能夠提供用于在平臺(tái)上執(zhí)行應(yīng)用程序的服務(wù)的功能被稱作“平臺(tái)應(yīng)用”。另外,平臺(tái)能夠執(zhí)行本示例性實(shí)施例中記載的各個(gè)流程圖中例示的各個(gè)處理的一部分。用戶接口 207是用于接收用戶輸入的處理請(qǐng)求的單元。更具體地說(shuō),用戶接口 207 接收對(duì)應(yīng)于用戶經(jīng)由鍵盤(pán)或鼠標(biāo)輸入的指令的信號(hào)。外部接口 208能夠向外部裝置發(fā)送數(shù)據(jù)以及從外部裝置接收數(shù)據(jù)。另外,外部裝置可以包括諸如外部HDD或外部通用串行總線 (USB)存儲(chǔ)器的外部存儲(chǔ)設(shè)備,或者經(jīng)由網(wǎng)絡(luò)連接的單個(gè)主計(jì)算機(jī)或單個(gè)圖像形成裝置。圖像形成裝置104可以經(jīng)由網(wǎng)絡(luò)100及互聯(lián)網(wǎng)101與客戶計(jì)算機(jī)105及服務(wù)器計(jì)算機(jī)102通
fn °打印單元202具有用于將經(jīng)歷了打印數(shù)據(jù)處理的打印數(shù)據(jù)打印在記錄介質(zhì)上的功能。讀取單元203具有用于讀取放置在原稿臺(tái)上的文檔并生成文檔圖像的功能。在本示例性實(shí)施例中,讀取單元203是掃描器。其次,將在下面參照?qǐng)D3詳細(xì)描述信息處理裝置106的示例性內(nèi)部結(jié)構(gòu),該信息處理裝置106包括服務(wù)器計(jì)算機(jī)102、文檔服務(wù)器103、客戶計(jì)算機(jī)105、文檔提取服務(wù)器107、 文檔轉(zhuǎn)換服務(wù)器108以及打印服務(wù)器109。圖3是例示信息處理裝置106的示例性內(nèi)部結(jié)構(gòu)的框圖。信息處理裝置106包括CPU 301、直接存儲(chǔ)單元302、間接存儲(chǔ)單元303、用戶接口 304和外部接口 305。用戶接口 304是用于接收用戶輸入的處理請(qǐng)求的單元。更具體地說(shuō), 用戶接口 304接收對(duì)應(yīng)于用戶經(jīng)由鍵盤(pán)或鼠標(biāo)輸入的指令的信號(hào)。CPU 301執(zhí)行預(yù)定的程序,并輸入用于控制信息處理裝置106的各種指令。直接存儲(chǔ)單元302是CPU 301在執(zhí)行程序時(shí)使用的工作存儲(chǔ)器。由CPU 301執(zhí)行的程序被加載到直接存儲(chǔ)單元302上。直接存儲(chǔ)單元302由RAM實(shí)現(xiàn)。間接存儲(chǔ)單元303存儲(chǔ)諸如應(yīng)用程序和操作系統(tǒng)(OS)的各種程序。存儲(chǔ)在間接存儲(chǔ)單元303上的各個(gè)程序在CPU 301執(zhí)行該程序時(shí),被移動(dòng)至直接存儲(chǔ)單元302。間接存儲(chǔ)單元303包括只讀存儲(chǔ)器(ROM)或HDD。外部接口 305連接至網(wǎng)絡(luò)100。因此,信息處理裝置106能夠與網(wǎng)絡(luò)100上的其他裝置通信。以下將參照?qǐng)D4來(lái)詳細(xì)描述根據(jù)本示例性實(shí)施例的打印系統(tǒng)1000中包含的各個(gè)裝置的功能。圖4是例示打印系統(tǒng)1000中包含的各個(gè)裝置的功能的示例的框圖。首先,將詳細(xì)描述服務(wù)器計(jì)算機(jī)102的功能。在本示例性實(shí)施例中,服務(wù)器計(jì)算機(jī) 102包括諸如請(qǐng)求接收單元401、后端處理單元402、表存儲(chǔ)服務(wù)403、Blob (大型二進(jìn)制對(duì)象,Binary Large Object)存儲(chǔ)服務(wù)404以及隊(duì)列存儲(chǔ)服務(wù)405等的各種功能。在本示例性實(shí)施例中,存在具有請(qǐng)求接收單元401的至少一個(gè)服務(wù)器計(jì)算機(jī)。此外,存在具有后端處理單元402的至少一個(gè)服務(wù)器計(jì)算機(jī)。另外,存在具有表存儲(chǔ)服務(wù)403、Blob存儲(chǔ)服務(wù)404和隊(duì)列存儲(chǔ)服務(wù)405的功能的至少一個(gè)服務(wù)器計(jì)算機(jī)。上述功能可以被提供給相互不同的服務(wù)器計(jì)算機(jī)。請(qǐng)求接收單元401提供用于接收從客戶計(jì)算機(jī)105或圖像形成裝置104發(fā)送的處理請(qǐng)求的功能。后端處理單元402具有用于通過(guò)使用處理程序來(lái)對(duì)處理請(qǐng)求進(jìn)行處理的功能。在本示例性實(shí)施例中,“處理請(qǐng)求”是指由請(qǐng)求接收單元401接收到的處理請(qǐng)求。后端處理單元402將處理程序加載到當(dāng)前執(zhí)行后端處理單元402的服務(wù)器計(jì)算機(jī)的直接存儲(chǔ)單元302上并執(zhí)行。請(qǐng)求接收單元401和后端處理單元402通過(guò)CPU 301將存儲(chǔ)在間接存儲(chǔ)單元303(圖幻上的請(qǐng)求接收程序或后端處理程序加載到直接存儲(chǔ)單元302 上并執(zhí)行這種程序來(lái)實(shí)現(xiàn)。以下將詳細(xì)描述請(qǐng)求接收單元401和后端處理單元402。表存儲(chǔ)服務(wù)403提供用于存儲(chǔ)諸如由后端處理單元402執(zhí)行的處理的進(jìn)行狀態(tài)等的各種狀態(tài)信息的功能。表存儲(chǔ)服務(wù)403通過(guò)CPU 301將表存儲(chǔ)服務(wù)程序從間接存儲(chǔ)單元 303(圖幻加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。此外,數(shù)據(jù)被存儲(chǔ)在間接存儲(chǔ)單元303上。以下將詳細(xì)描述表存儲(chǔ)服務(wù)403。Blob存儲(chǔ)服務(wù)404提供用于存儲(chǔ)諸如由后端處理單元402執(zhí)行的處理的執(zhí)行結(jié)果數(shù)據(jù)等的各種數(shù)據(jù)的功能。Blob存儲(chǔ)服務(wù)404通過(guò)CPU 301將Blob存儲(chǔ)服務(wù)程序從間接存儲(chǔ)單元303(圖幻加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。數(shù)據(jù)被存儲(chǔ)在間接存儲(chǔ)單元303上。以下將詳細(xì)描述Blob存儲(chǔ)服務(wù)404。隊(duì)列存儲(chǔ)服務(wù)405提供以下兩種功能。第一,隊(duì)列存儲(chǔ)服務(wù)405具有用于在請(qǐng)求接收單元401和后端處理單元402之間建立異步數(shù)據(jù)通信的功能。第二,隊(duì)列存儲(chǔ)服務(wù)405 具有用于使添加到隊(duì)列中的隊(duì)列消息變得不可見(jiàn)或可見(jiàn)的功能?!瓣?duì)列”是指由隊(duì)列存儲(chǔ)服務(wù)405實(shí)現(xiàn)的存儲(chǔ)功能。另外,隊(duì)列通過(guò)列表結(jié)構(gòu)“先入先出(FIFO)”來(lái)實(shí)現(xiàn)。以下將詳細(xì)描述第一種功能。請(qǐng)求接收單元401和后端處理單元402通過(guò)以下方法相互通信。首先,請(qǐng)求接收單元401在接收到用戶輸入的處理請(qǐng)求之后,生成與來(lái)自用戶的處理請(qǐng)求對(duì)應(yīng)的票單(ticket) “隊(duì)列消息”。隊(duì)列消息600被請(qǐng)求接收單元401存儲(chǔ)在隊(duì)列中。在從隊(duì)列獲取隊(duì)列消息600后, 后端處理單元402參照隊(duì)列消息600并對(duì)來(lái)自用戶的處理請(qǐng)求進(jìn)行處理。以上述方式,后端處理單元402針對(duì)來(lái)自用戶的處理請(qǐng)求提供解決方案。通過(guò)利用隊(duì)列服務(wù)405,請(qǐng)求接收單元401和后端處理單元402能夠異步地相互通信。以下將更加詳細(xì)地描述第一種功能和第二種功能。隊(duì)列存儲(chǔ)服務(wù)405通過(guò)CPU 301將隊(duì)列存儲(chǔ)服務(wù)程序從間接存儲(chǔ)單元303 (圖3) 加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。數(shù)據(jù)被存儲(chǔ)在間接存儲(chǔ)單元303上。服務(wù)器計(jì)算機(jī)102具有上述功能。以下將更加詳細(xì)地描述服務(wù)器計(jì)算機(jī)102的功能。以下將更加詳細(xì)地描述文檔服務(wù)器103的示例性功能。文檔服務(wù)器103具有文檔倉(cāng)庫(kù)(r印oSitory)406的功能。文檔倉(cāng)庫(kù)406由圖3所示的間接存儲(chǔ)單元303實(shí)現(xiàn)。更具體地說(shuō),文檔倉(cāng)庫(kù)406存儲(chǔ)由用戶指示的要從客戶計(jì)算機(jī)105或圖像形成裝置104打印的內(nèi)容。存儲(chǔ)在文檔倉(cāng)庫(kù)406上的內(nèi)容包括預(yù)先存儲(chǔ)的內(nèi)容以及以下內(nèi)容。換句話說(shuō),文檔倉(cāng)庫(kù)406還存儲(chǔ)用戶經(jīng)由瀏覽器407或設(shè)備瀏覽器409 (以下將詳細(xì)描述)通過(guò)使用在服務(wù)器計(jì)算機(jī)102上運(yùn)行的應(yīng)用而生成的內(nèi)容。因此,如果通過(guò)使用服務(wù)器計(jì)算機(jī)102上的應(yīng)用來(lái)生成內(nèi)容,則無(wú)需在客戶計(jì)算機(jī)105上安裝應(yīng)用就能夠容易地打印該內(nèi)容。
在服務(wù)器計(jì)算機(jī)102上運(yùn)行的應(yīng)用是指各種應(yīng)用,諸如文檔生成應(yīng)用、圖像生成應(yīng)用和表單(form)管理應(yīng)用。應(yīng)用被存儲(chǔ)在圖3所示的間接存儲(chǔ)單元303上。當(dāng)輸入用于執(zhí)行應(yīng)用的指令時(shí),由CPU 301將應(yīng)用加載到直接存儲(chǔ)單元302上并執(zhí)行。以下將詳細(xì)描述圖像形成裝置104。圖像形成裝置104包括設(shè)備瀏覽器409和平臺(tái)應(yīng)用408的功能。設(shè)備瀏覽器409具有用于允許用戶對(duì)存儲(chǔ)在經(jīng)由網(wǎng)絡(luò)100連接的設(shè)備中的數(shù)據(jù)和信息進(jìn)行查看的功能。設(shè)備瀏覽器409通過(guò)CPU 204將設(shè)備瀏覽器程序從間接存儲(chǔ)單元206(圖2、加載至直接存儲(chǔ)單元205上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。此外,用戶能夠經(jīng)由設(shè)備瀏覽器409輸入用于打印內(nèi)容的指令。輸入的打印指令被發(fā)送至服務(wù)器計(jì)算機(jī)102的請(qǐng)求接收單元401。設(shè)備瀏覽器409例如是Web瀏覽器。平臺(tái)應(yīng)用408提供用于實(shí)現(xiàn)各種服務(wù)的功能。平臺(tái)應(yīng)用408通過(guò)平臺(tái)上運(yùn)行的應(yīng)用程序來(lái)實(shí)現(xiàn)。在本示例性實(shí)施例中,平臺(tái)應(yīng)用408提供打印軟件服務(wù)。如上所述,服務(wù)能夠?qū)⒔邮盏降拇蛴?shù)據(jù)發(fā)送至固件。此外,服務(wù)對(duì)請(qǐng)求接收單元401是否已完成用于生成打印數(shù)據(jù)的處理進(jìn)行驗(yàn)證。 更具體地說(shuō),服務(wù)基于請(qǐng)求接收單元401生成的作業(yè)標(biāo)識(shí)(ID),來(lái)確定請(qǐng)求接收單元401是否已完成用于生成打印數(shù)據(jù)的處理。以下將詳細(xì)描述客戶計(jì)算機(jī)105??蛻粲?jì)算機(jī)105提供瀏覽器407的功能。瀏覽器407提供用于允許用戶對(duì)存儲(chǔ)在經(jīng)由網(wǎng)絡(luò)100連接的設(shè)備中的數(shù)據(jù)和信息進(jìn)行查看的功能。瀏覽器407通過(guò)CPU 301將瀏覽器程序從間接存儲(chǔ)單元303 (圖幻加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。瀏覽器407例如是Web瀏覽器。以下將詳細(xì)描述文檔提取服務(wù)器107。文檔提取服務(wù)器107提供文檔提取服務(wù)410 的功能。文檔提取服務(wù)器410通過(guò)CPU 301將文檔提取程序從間接存儲(chǔ)單元303(圖3)加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。文檔提取服務(wù)410提供用于根據(jù)經(jīng)由外部接口 305接收到的文檔提取指令來(lái)訪問(wèn)文檔服務(wù)器103、以及用于獲取存儲(chǔ)在文檔倉(cāng)庫(kù)406 上的內(nèi)容的功能。如上所述,文檔提取服務(wù)410提供Web服務(wù)。以下將詳細(xì)描述文檔轉(zhuǎn)換服務(wù)器108。文檔轉(zhuǎn)換服務(wù)器108具有文檔轉(zhuǎn)換服務(wù)411 的功能。文檔轉(zhuǎn)換服務(wù)411通過(guò)CPU 301將文檔轉(zhuǎn)換程序從間接存儲(chǔ)單元303 (圖幻加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。文檔轉(zhuǎn)換服務(wù)411包括用于根據(jù)經(jīng)由外部接口 305接收到的文檔轉(zhuǎn)換指令、將指示的數(shù)據(jù)(內(nèi)容)轉(zhuǎn)換成預(yù)定數(shù)據(jù)格式的功能。更具體地說(shuō),在本示例性實(shí)施例中,文檔轉(zhuǎn)換服務(wù)411包括用于將內(nèi)容轉(zhuǎn)換成便攜式文檔格式(PDF)數(shù)據(jù)的功能。如上所述,文檔轉(zhuǎn)換服務(wù)411提供Web服務(wù)。最后進(jìn)行關(guān)于信息處理裝置106的組件的說(shuō)明,以下將詳細(xì)描述打印服務(wù)器109。 打印服務(wù)器109具有假脫機(jī)(spool)服務(wù)412的功能。假脫機(jī)服務(wù)412通過(guò)CPU 301將假脫機(jī)程序從間接存儲(chǔ)單元303(圖幻加載到直接存儲(chǔ)單元302上并執(zhí)行該程序來(lái)實(shí)現(xiàn)。假脫機(jī)服務(wù)412具有用于根據(jù)經(jīng)由外部接口 305接收到的指令來(lái)生成并分配對(duì)指示的數(shù)據(jù)進(jìn)行打印所需的屬性(即諸如打印優(yōu)先級(jí)的信息或色調(diào)(tint)信息)的功能。如上所述,打印服務(wù)器109提供Web服務(wù)。根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000中包括的各個(gè)裝置具有上述功能。以下將參照?qǐng)D5詳細(xì)描述服務(wù)器計(jì)算機(jī)102的平臺(tái)系統(tǒng)。圖5例示了平臺(tái)系統(tǒng)500的各種示例性功能。參照?qǐng)D5,服務(wù)器計(jì)算機(jī)102中存在的物理硬件資源用來(lái)實(shí)現(xiàn)平臺(tái)系統(tǒng)500,該平臺(tái)系統(tǒng)500包括兩個(gè)平臺(tái)設(shè)備。利用服務(wù)器計(jì)算機(jī)102的平臺(tái)系統(tǒng)500的人能夠使用服務(wù)器計(jì)算機(jī)102中包括的物理硬件資源作為計(jì)算資源。此外,平臺(tái)系統(tǒng)500是提供分布式(劃分式)環(huán)境的系統(tǒng)。服務(wù)器計(jì)算機(jī)102的平臺(tái)系統(tǒng)(操作系統(tǒng)(0S))500提供以下功能虛擬機(jī)501和502結(jié)構(gòu)控制器(fabriccontroller) 503負(fù)載均衡器504隊(duì)列存儲(chǔ)服務(wù)(“Queue”)505表存儲(chǔ)服務(wù)(“Tab 1 e ”)506Blob 存儲(chǔ)服務(wù)(“Blob”)507在服務(wù)器計(jì)算機(jī)102上實(shí)現(xiàn)的平臺(tái)系統(tǒng)500包括多個(gè)虛擬機(jī)501和502?!疤摂M機(jī)”是指通過(guò)使用虛擬化方法將服務(wù)器計(jì)算機(jī)102劃分成邏輯計(jì)算機(jī)、并且在所劃分的邏輯計(jì)算機(jī)中通過(guò)使用獨(dú)立OS來(lái)操作的邏輯計(jì)算機(jī)。以“例(instance) ”為單位對(duì)邏輯計(jì)算機(jī)進(jìn)行計(jì)數(shù)。在本示例性實(shí)施例中,將服務(wù)器計(jì)算機(jī)102中包含的一個(gè)服務(wù)器計(jì)算機(jī)分配給一例(即,一個(gè)虛擬機(jī))。虛擬機(jī)501包括請(qǐng)求接收單元(“Web角色例”)509和請(qǐng)求接收單元代理(“代理”)510。請(qǐng)求接收單元509經(jīng)由負(fù)載均衡器504(以下將詳細(xì)描述)接收來(lái)自用戶的處理請(qǐng)求。另外,請(qǐng)求接收單元509將處理請(qǐng)求經(jīng)由隊(duì)列存儲(chǔ)服務(wù)505發(fā)送至虛擬機(jī)502。為了確保請(qǐng)求接收單元509的高可用性,經(jīng)由在虛擬機(jī)501的外部提供的負(fù)載均衡器504來(lái)執(zhí)行來(lái)自外部網(wǎng)絡(luò)的請(qǐng)求(在本發(fā)明的示例性實(shí)施例中,是通過(guò)HTTP進(jìn)行的通信)。負(fù)載均衡器504集中管理通過(guò)外部網(wǎng)絡(luò)輸入的請(qǐng)求。此外,負(fù)載均衡器504選擇性地向具有與請(qǐng)求接收單元509類(lèi)似的請(qǐng)求接收功能的多個(gè)虛擬機(jī)傳送請(qǐng)求。請(qǐng)求接收單元代理510收集包括虛擬機(jī)501的使用狀態(tài)、請(qǐng)求接收單元509的運(yùn)行狀態(tài)、虛擬機(jī)501的資源使用狀態(tài)以及請(qǐng)求接收單元509上發(fā)生的錯(cuò)誤的各種信息。另外,請(qǐng)求接收單元代理510將收集的信息周期性地發(fā)送給結(jié)構(gòu)控制器503。虛擬機(jī)501等同于圖4所示的請(qǐng)求接收單元401。虛擬機(jī)501通過(guò)請(qǐng)求接收程序來(lái)實(shí)現(xiàn)。虛擬機(jī)501的各種功能在請(qǐng)求接收程序的控制下被執(zhí)行。請(qǐng)求接收單元509和后端處理單元511的各例由結(jié)構(gòu)控制器503來(lái)管理。因此, 各例的可擴(kuò)展性(scalability)和可用性得以確保。更具體地說(shuō),假定請(qǐng)求接收單元509 或后端處理單元511的特定例由于服務(wù)器中的故障而被暫停。在這種情況下,結(jié)構(gòu)控制器 503不能從請(qǐng)求接收單元代理510或后端處理單元代理512接收到周期性通知。如果結(jié)構(gòu)控制器503沒(méi)有接收到周期性通知,則結(jié)構(gòu)控制器503向虛擬機(jī)輸入指令,以委托新的例來(lái)執(zhí)行處理。換句話說(shuō),新的虛擬機(jī)用作由于故障或者相當(dāng)于故障的事件而不能被起動(dòng)的虛擬機(jī)的替代。結(jié)果,當(dāng)前執(zhí)行處理的例的數(shù)量能夠保持恒定。因此,能夠抑制處理的延遲。虛擬機(jī)502包括后端處理單元(“工人角色例”)511和后端處理單元代理(“代理”)512。后端處理單元511經(jīng)由隊(duì)列存儲(chǔ)服務(wù)505接收由請(qǐng)求接收單元509輸入的處理請(qǐng)求。后端處理單元511執(zhí)行經(jīng)由隊(duì)列存儲(chǔ)服務(wù)505從請(qǐng)求接收單元509接收到的處理請(qǐng)求。此外,后端處理單元511執(zhí)行標(biāo)出(scale out)?!皹?biāo)出”是指由于虛擬機(jī)502的數(shù)量增加而產(chǎn)生的后端處理單元511的例數(shù)量增加。當(dāng)后端處理單元511的例增加時(shí),分配給一個(gè)后端處理單元的數(shù)據(jù)處理的量減少。因此,在該情況下,用戶輸入的處理請(qǐng)求的執(zhí)行結(jié)果能夠被非常迅速地返回。請(qǐng)求接收單元 509接收標(biāo)出指令。虛擬機(jī)502等同于圖4所示的后端處理單元402。虛擬機(jī)502通過(guò)后端處理程序來(lái)實(shí)現(xiàn)。虛擬機(jī)502的各種功能在后端處理程序的控制下被執(zhí)行。隊(duì)列服務(wù)505提供用于在請(qǐng)求接收單元509與后端處理單元511之間實(shí)現(xiàn)異步數(shù)據(jù)通信的服務(wù)。請(qǐng)求接收單元509和后端處理單元511通過(guò)向隊(duì)列存儲(chǔ)服務(wù)505輸入各種指令來(lái)執(zhí)行異步數(shù)據(jù)通信。以下將詳細(xì)描述請(qǐng)求接收單元509與后端處理單元511之間的異步數(shù)據(jù)通信。請(qǐng)求接收單元509輸入給隊(duì)列存儲(chǔ)服務(wù)505的指令包括隊(duì)列消息添加指令。 后端處理單元511輸入給隊(duì)列存儲(chǔ)服務(wù)505的指令包括隊(duì)列消息獲取指令和隊(duì)列消息刪除指令。以下將詳細(xì)描述在請(qǐng)求接收單元509與后端處理單元511之間執(zhí)行的一系列異步數(shù)據(jù)通信操作。請(qǐng)求接收單元509根據(jù)用戶輸入的處理請(qǐng)求生成隊(duì)列消息600。此外,請(qǐng)求接收單元509將隊(duì)列添加指令發(fā)送給隊(duì)列存儲(chǔ)服務(wù)505,該隊(duì)列添加指令指示將隊(duì)列消息600添加到隊(duì)列。在接收到隊(duì)列添加指令后,隊(duì)列存儲(chǔ)服務(wù)505將隊(duì)列消息600添加到隊(duì)列。為了獲取隊(duì)列消息600,后端處理單元511將隊(duì)列消息獲取指令輸入給隊(duì)列存儲(chǔ)服務(wù)505。在接收到隊(duì)列消息獲取指令后,隊(duì)列存儲(chǔ)服務(wù)505響應(yīng)于該隊(duì)列消息獲取指令, 將隊(duì)列消息600以及對(duì)各隊(duì)列消息600唯一分配的消息ID和作業(yè)ID返回給后端處理單元 511。更具體地說(shuō),“消息ID”是指為了唯一定義隊(duì)列消息600而對(duì)各隊(duì)列消息600分配的唯一信息。在輸入用于刪除隊(duì)列消息600的指令時(shí),處理已經(jīng)完成的后端處理單元511 使用消息ID。作業(yè)ID是用于唯一定義實(shí)際處理的內(nèi)容的ID。在完成處理請(qǐng)求后,后端處理單元511將用于刪除對(duì)應(yīng)于消息ID的隊(duì)列消息的指令輸入給隊(duì)列存儲(chǔ)服務(wù)505。在接收到隊(duì)列消息刪除指令后,隊(duì)列存儲(chǔ)服務(wù)505刪除對(duì)應(yīng)于由后端處理單元511指示的消息ID的隊(duì)列消息。因此,能夠有效避免對(duì)同一隊(duì)列消息進(jìn)行處理的冗余處理,該冗余處理可能會(huì)被已經(jīng)輸出隊(duì)列消息刪除指令的后端處理單元511以外的其他后端處理單元511不利地執(zhí)行。另外,隊(duì)列存儲(chǔ)服務(wù)505具有用于使已被添加到隊(duì)列中的隊(duì)列消息600變得可見(jiàn)或不可見(jiàn)的功能。更具體地說(shuō),如果使隊(duì)列消息600“不可見(jiàn)”,則即使后端處理單元511已經(jīng)輸入用于獲取已被添加到隊(duì)列中的隊(duì)列消息600的請(qǐng)求,則隊(duì)列存儲(chǔ)服務(wù)505也不將隊(duì)列消息600傳送給后端處理單元511。在從隊(duì)列中獲取到隊(duì)列消息600之后,通過(guò)隊(duì)列存儲(chǔ)服務(wù)505使所獲取到的隊(duì)列消息變?yōu)榭梢?jiàn)。如果隊(duì)列消息要變?yōu)椤翱梢?jiàn)”,則在后端處理單元511已經(jīng)輸入用于獲取已被添加到隊(duì)列中的隊(duì)列消息600的請(qǐng)求的情況下,隊(duì)列存儲(chǔ)服務(wù)505將隊(duì)列消息傳送給后端處理單元511。通過(guò)隊(duì)列存儲(chǔ)服務(wù)405可以使已經(jīng)被后端處理單元511獲取并要成為可見(jiàn)的隊(duì)列消息變得可見(jiàn),除非在預(yù)定時(shí)間內(nèi)從當(dāng)前執(zhí)行處理的后端處理單元511返回處理結(jié)果。術(shù)語(yǔ)“可見(jiàn)”是指上述的相同狀態(tài)。因此,如果后端處理單元511已被異常終止并且不能繼續(xù)處理,則將自動(dòng)重試處理。表存儲(chǔ)服務(wù)506提供在存儲(chǔ)數(shù)據(jù)時(shí)利用的存儲(chǔ)器。表存儲(chǔ)服務(wù)506將數(shù)據(jù)以簡(jiǎn)單格式進(jìn)行存儲(chǔ),所述簡(jiǎn)單格式包括實(shí)體和類(lèi)型信息的屬性的組合。Blob存儲(chǔ)服務(wù)507提供在存儲(chǔ)數(shù)據(jù)時(shí)利用的存儲(chǔ)器。更具體地說(shuō),Blob存儲(chǔ)服務(wù) 507提供用于存儲(chǔ)二進(jìn)制數(shù)據(jù)的集合的功能。以下將詳細(xì)描述根據(jù)本示例性實(shí)施例的隊(duì)列消息600。圖6例示了隊(duì)列消息600 的示例。隊(duì)列消息600描述請(qǐng)求接收單元509請(qǐng)求后端處理單元511執(zhí)行的處理的內(nèi)容。參照?qǐng)D6,請(qǐng)求601表示隊(duì)列消息600要被添加至的隊(duì)列存儲(chǔ)服務(wù)505的統(tǒng)一資源定位符(URL)。請(qǐng)求接收單元509分析圖6所示的消息,并識(shí)別隊(duì)列存儲(chǔ)服務(wù)505的位置。 另外,請(qǐng)求接收單元509輸入圖6所示的消息中的頭602所包含的信息以及之后的信息。頭602存儲(chǔ)用于訪問(wèn)隊(duì)列存儲(chǔ)服務(wù)505的認(rèn)證信息。該認(rèn)證信息包括利用隊(duì)列存儲(chǔ)服務(wù)505所需的字符串的散列值(hash value) 0隊(duì)列存儲(chǔ)服務(wù)505讀取頭信息,并將所讀取的頭信息與預(yù)先存儲(chǔ)在隊(duì)列存儲(chǔ)服務(wù)505中的字符串進(jìn)行比較,以執(zhí)行認(rèn)證。另外,隊(duì)列存儲(chǔ)服務(wù)505確定包含頭602的隊(duì)列消息600是否能夠被接受。以下將詳細(xì)描述隊(duì)列消息600的消息數(shù)據(jù)內(nèi)容部分。根據(jù)用戶輸入的處理請(qǐng)求來(lái)確定該消息數(shù)據(jù)內(nèi)容部分。部分<MessageText>603表示作業(yè)ID。在圖6所示的示例中,作業(yè)ID "pkOl I jobOl”包含在部分<MessageText>603中。作業(yè)ID是根據(jù)用戶輸入的處理請(qǐng)求生成的唯一信息。換句話說(shuō),部分<MessageText>603中包含的作業(yè)ID等同于上述作業(yè) ID。以下將詳細(xì)描述根據(jù)本示例性實(shí)施例的作業(yè)表。作業(yè)表管理作為作業(yè)被后端處理單元402執(zhí)行的一系列處理,并存儲(chǔ)作業(yè)的內(nèi)容以及作業(yè)的處理的進(jìn)行狀態(tài)。作業(yè)表被存儲(chǔ)在表存儲(chǔ)服務(wù)506中。圖7例示了實(shí)際存儲(chǔ)的作業(yè)表700。參照?qǐng)D7,ETag字段701是由表存儲(chǔ)服務(wù)506 自動(dòng)設(shè)置的值。如果字符串?dāng)?shù)據(jù)被更新,則在ETag字段701中寫(xiě)入唯一值。在更新從表中獲取的數(shù)據(jù)時(shí),如果在獲取數(shù)據(jù)時(shí)ETag字段701的值與在更新數(shù)據(jù)時(shí)ETag字段701的值相互不同,則能夠識(shí)別出該表已被另一處理(后端處理)更新。劃分關(guān)鍵字(Partition Key)字段702和行關(guān)鍵字(Row Key)字段703表示用于唯一識(shí)別表的各行的ID。在作業(yè)表700中,這兩個(gè)關(guān)鍵字字段702和703的值識(shí)別作業(yè)。換句話說(shuō),這兩個(gè)值等同于作業(yè)ID。然而,作為替代方案,可以僅由行關(guān)鍵字來(lái)定義作業(yè)ID。對(duì)于開(kāi)始時(shí)間(Mart Time)字段704,登記由后端處理單元402處理的作業(yè)的處理開(kāi)始日期和時(shí)間。對(duì)于結(jié)束時(shí)間(End Time)字段705,登記作業(yè)的處理結(jié)束日期和時(shí)間。 在開(kāi)始作業(yè)前或開(kāi)始作業(yè)后,對(duì)開(kāi)始時(shí)間字段704和結(jié)束時(shí)間字段705設(shè)置初始值。狀態(tài)(Status)字段706存儲(chǔ)整個(gè)作業(yè)的狀態(tài)。作業(yè)的狀態(tài)包括“Ready”(準(zhǔn)備完成),“Processing”(處理當(dāng)前正在執(zhí)行中),“Success”(作業(yè)處理成功),以及 "Failure"(作業(yè)處理失敗)。準(zhǔn)備完成狀態(tài)(“Ready”)表示在請(qǐng)求接收單元401已經(jīng)將作業(yè)添加到作業(yè)表中之后、在后端處理單元402開(kāi)始處理作業(yè)以前的狀態(tài)。處理進(jìn)行中狀態(tài)(“ftOcessing”)對(duì)應(yīng)于在后端處理單元402已經(jīng)開(kāi)始作業(yè)的處理之后、并且在由作業(yè)定義的所有任務(wù)均已完成之前的狀態(tài),或者對(duì)應(yīng)于在作業(yè)中途處理失敗之前的狀態(tài)。作業(yè)處理成功(“Success”)表示后端處理單元402已經(jīng)對(duì)作業(yè)中定義的所有任務(wù)進(jìn)行了處理、并且所有任務(wù)的處理已被成功執(zhí)行的狀態(tài)。作業(yè)處理失敗(“failure”)表示作為后端處理單元402執(zhí)行任務(wù)的結(jié)果、任務(wù)未被成功處理的狀態(tài),或者確定服務(wù)質(zhì)量不滿足執(zhí)行任務(wù)前的預(yù)定參照條件的狀態(tài)。如上所述,一個(gè)作業(yè)包括一個(gè)或更多個(gè)任務(wù)。當(dāng)作業(yè)中包含的一個(gè)或更多個(gè)任務(wù)的全部被完全處理時(shí),一個(gè)作業(yè)的處理完成。數(shù)據(jù)ID字段707存儲(chǔ)分配給與作業(yè)相關(guān)聯(lián)的數(shù)據(jù)的ID。數(shù)據(jù)ID被存儲(chǔ)在Blob 存儲(chǔ)服務(wù)507中,并且是Blob存儲(chǔ)服務(wù)507中的唯一值。最后任務(wù)字段708記錄已完成的任務(wù)的任務(wù)編號(hào)。作業(yè)包括要被順次處理的多個(gè)任務(wù)。以下將詳細(xì)描述“任務(wù)”。假定存在包含兩個(gè)任務(wù)的作業(yè),并且該作業(yè)的名稱是“作業(yè) A”。作業(yè)A包括用于從文檔服務(wù)器103獲取文件的第一任務(wù)和用于向打印服務(wù)器109輸入數(shù)據(jù)的第二任務(wù)的組合。在本發(fā)明中,第一任務(wù)被定義為“任務(wù)1”,第二任務(wù)被定義為“任務(wù)3”。通過(guò)順次執(zhí)行這兩個(gè)任務(wù)來(lái)處理作業(yè)A。如果處理已經(jīng)進(jìn)行到用于從文檔服務(wù)器103獲取文件的任務(wù)完成時(shí),則在最后任務(wù)(Last Task)字段708中記錄值“ 1”。如果尚未有任務(wù)的執(zhí)行被完成,則在最后任務(wù)字段 708中記錄值“0”。另一方面,如果處理已經(jīng)進(jìn)行到用于向打印服務(wù)器109輸入數(shù)據(jù)的任務(wù)完成時(shí),則在最后任務(wù)字段708中記錄值“3”。盡管圖中未示出,但是在本示例性實(shí)施例中,可以存在以下任務(wù)。換句話說(shuō),存在用于將通過(guò)第一任務(wù)獲取的文件(內(nèi)容)輸入到文檔轉(zhuǎn)換服務(wù)器108、并且使文檔轉(zhuǎn)換服務(wù)器108轉(zhuǎn)換所輸入的內(nèi)容的任務(wù)。在本發(fā)明中,將上述類(lèi)型的任務(wù)定義為“任務(wù)2”。當(dāng)任務(wù)2的執(zhí)行完成時(shí),在最后任務(wù)字段708中記錄值“2”。通過(guò)參照最后任務(wù)字段708,能夠驗(yàn)證任務(wù)的處理的當(dāng)前進(jìn)行狀態(tài)。在本示例性實(shí)施例中,按照預(yù)定順序執(zhí)行任務(wù)。更具體地說(shuō),按照任務(wù)1、任務(wù)2和任務(wù)3的順序執(zhí)行作業(yè)A中包含的任務(wù)。在服務(wù)序列表900中定義任務(wù)的執(zhí)行順序。以下將詳細(xì)描述服務(wù)序列表900。最后任務(wù)結(jié)果(LastTask Result)字段709存儲(chǔ)最后執(zhí)行的任務(wù)的處理結(jié)果。通過(guò)使用各種參數(shù)來(lái)管理任務(wù)處理結(jié)果,所述參數(shù)為諸如“None”(表示任務(wù)的處理完成之前的狀態(tài))、“Success” (任務(wù)成功完成)、“hiIureRetry”(可以通過(guò)重試相同的處理來(lái)完成失敗任務(wù))以及“failure”(任務(wù)失敗)。針對(duì)各任務(wù)需要使用上述參數(shù)的任意一者來(lái)返回處理結(jié)果。如果任務(wù)的處理已被成功完成,則返回參數(shù)“Success”。更具體地說(shuō),在將打印數(shù)據(jù)登記到打印服務(wù)器109中時(shí),如果打印服務(wù)器109由于暫時(shí)的高處理負(fù)荷而不能完成處理或者如果暫時(shí)中斷用于傳送數(shù)據(jù)的通信,則任務(wù)返回以下值。更具體地說(shuō),任務(wù)針對(duì)未完成的或暫時(shí)中斷的處理返回值“i^ailureRetry”,如果該未完成的或暫時(shí)中斷的處理被再次執(zhí)行,則極有可能成功完成。另一方面,如果暫停或中斷的處理即使被再次執(zhí)行也不太可能成功完成,即如果打印服務(wù)器109不支持要登記的打印數(shù)據(jù)的格式或者如果要對(duì)打印數(shù)據(jù)進(jìn)行打印的圖像形成裝置104沒(méi)有被打印服務(wù)器109識(shí)別,則針對(duì)該處理返回值“Fai lure ”。
最后任務(wù)嘗試計(jì)數(shù)(LastTask TryCount)字段710記錄最后執(zhí)行的任務(wù)已被執(zhí)行了多少次。如果在處理結(jié)果具有值“hilureRetry”(可以通過(guò)重試相同的處理來(lái)完成失敗任務(wù))的情況下任務(wù)結(jié)束,則該任務(wù)要被再次執(zhí)行。在這種情況下,記錄最后執(zhí)行的任務(wù)的執(zhí)行次數(shù)。如果最后任務(wù)嘗試計(jì)數(shù)字段710的值變?yōu)榈扔诨虼笥陬A(yù)定次數(shù)的數(shù)值,即如果任務(wù)已被反復(fù)再次重試但是任務(wù)的處理仍未成功完成,則任務(wù)被控制作為錯(cuò)誤。最大任務(wù)(Max Task)字段711記錄了相應(yīng)作業(yè)中包含的任務(wù)的數(shù)量。在本示例性實(shí)施例中,一個(gè)作業(yè)中能夠包含一個(gè)至二十個(gè)任務(wù)。這些任務(wù)具有連續(xù)的任務(wù)編號(hào),諸如 “任務(wù)1”、“任務(wù)2”和“任務(wù)3”。在本示例性實(shí)施例中,按照上述方式來(lái)處理任務(wù)1、任務(wù)2 和任務(wù)3的各個(gè)。從任務(wù)1 服務(wù) ID (Taskl ServiceID) 712 至任務(wù) 20 參數(shù)(Task20Parameter) 717 的字段管理關(guān)于作業(yè)中包含的任務(wù)的信息。任務(wù)1服務(wù)ID 712存儲(chǔ)提供要第一個(gè)執(zhí)行的任務(wù)的服務(wù)的ID。任務(wù)1參數(shù)(TaSklParameter)713存儲(chǔ)當(dāng)執(zhí)行任務(wù)1時(shí)傳送給任務(wù)的參數(shù)。類(lèi)似地,任務(wù) 2 服務(wù) ID(Task2S ervicelD) 714 和任務(wù) 2 參數(shù)(Task2 Parameter) 715 存儲(chǔ)關(guān)于第二個(gè)要執(zhí)行的任務(wù)的信息。另外,任務(wù)20服務(wù)ID(Task20SerViceID)716和任務(wù)20參數(shù)717存儲(chǔ)關(guān)于要第二十個(gè)執(zhí)行的任務(wù)的信息。以上述方式來(lái)存儲(chǔ)關(guān)于20個(gè)任務(wù)的任務(wù)信息。在本示例性實(shí)施例中,一個(gè)作業(yè)包含20個(gè)任務(wù)。然而,在本示例性實(shí)施例中, 一個(gè)作業(yè)中能夠包含的任務(wù)的數(shù)量并不限于特定的最大值。以下將參照?qǐng)D8詳細(xì)描述根據(jù)本示例性實(shí)施例的服務(wù)表。參照?qǐng)D8,服務(wù)表800管理提供任務(wù)的服務(wù)。如上所述,作業(yè)表700包括關(guān)于要執(zhí)行的服務(wù)的信息。更具體地說(shuō),在作業(yè)表700中描述關(guān)于要執(zhí)行的服務(wù)的信息,以便在任務(wù)執(zhí)行時(shí)刻前后的時(shí)刻,寫(xiě)入作業(yè)處理以及任務(wù)的處理的進(jìn)行狀態(tài)。另一方面,對(duì)于服務(wù)表800,登記平臺(tái)系統(tǒng)500的提供者預(yù)先從服務(wù)的提供者接收到的服務(wù)的定義。換句話說(shuō),服務(wù)表800不管理狀態(tài)信息。在本示例性實(shí)施例中,術(shù)語(yǔ)“服務(wù)的提供者”(或者術(shù)語(yǔ)“服務(wù)提供者”)是指提供利用文檔提取服務(wù)器107、文檔轉(zhuǎn)換服務(wù)器108和打印服務(wù)器109的服務(wù)的用戶。對(duì)此解釋為,在本示例性實(shí)施例中,“服務(wù)的提供者”(或者術(shù)語(yǔ)“服務(wù)提供者”)是指提供任務(wù)1至任務(wù)3的用戶。服務(wù)表800存儲(chǔ)在表存儲(chǔ)服務(wù)506中。圖8例示了服務(wù)表800的示例。參照?qǐng)D8,ETag字段801類(lèi)似于圖7所示的ETag 字段701。劃分關(guān)鍵字字段802和行關(guān)鍵字字段803表示用于唯一識(shí)別表的各行的ID。在服務(wù)表800中,劃分關(guān)鍵字字段802具有固定值“服務(wù)”。行關(guān)鍵字字段803作為用于識(shí)別任務(wù)服務(wù)的ID被管理。以下將詳細(xì)描述任務(wù)服務(wù)。統(tǒng)一資源標(biāo)識(shí)符(URI)字段804存儲(chǔ)提供服務(wù)的Web服務(wù)的URL。用戶能夠通過(guò)訪問(wèn)具有URI字段804中管理的URI的地址來(lái)利用服務(wù)。更具體地說(shuō),從圖8所示的服務(wù)表800可知,行關(guān)鍵字字段803具有值“服務(wù)01”的任務(wù)基于URI字段804來(lái)利用由文檔提取服務(wù)器107提供的功能。類(lèi)型字段805存儲(chǔ)服務(wù)類(lèi)型。服務(wù)類(lèi)型包括“IN” (輸入服務(wù))、“PIPE” (處理服務(wù)(pipe service))以及“OUT”(輸出服務(wù))。輸入服務(wù)是用于執(zhí)行從文檔服務(wù)器103獲取數(shù)據(jù)的處理的服務(wù)。更具體地說(shuō),輸入服務(wù)是用于從外部系統(tǒng)輸入數(shù)據(jù)的服務(wù)。輸入服務(wù)通過(guò)執(zhí)行任務(wù)1來(lái)實(shí)現(xiàn)。PIPE服務(wù)是用于執(zhí)行將文檔數(shù)據(jù)轉(zhuǎn)換成打印數(shù)據(jù)的處理的服務(wù)。更具體地說(shuō),PIPE服務(wù)是用于處理數(shù)據(jù)的服務(wù)。PIPE服務(wù)通過(guò)執(zhí)行任務(wù)2來(lái)實(shí)現(xiàn)。輸出服務(wù)是用于執(zhí)行將數(shù)據(jù)輸入到打印服務(wù)器109以由此輸出數(shù)據(jù)的處理的服務(wù)。更具體地說(shuō),輸出服務(wù)是用于將數(shù)據(jù)輸出到外部系統(tǒng)的服務(wù)。輸出服務(wù)通過(guò)執(zhí)行任務(wù)3來(lái)實(shí)現(xiàn)。在本示例性實(shí)施例中,用于實(shí)現(xiàn)具有類(lèi)型“IN”、“PIPE”或“OUT”的各種服務(wù)的功能稱為“任務(wù)服務(wù)”。如上所述,各任務(wù)服務(wù)由行關(guān)鍵字字段803來(lái)識(shí)別。屬性字段806存儲(chǔ)關(guān)于任務(wù)服務(wù)的屬性信息。屬性信息被登記作為針對(duì)各任務(wù)服務(wù)唯一定義的信息。例如,在用于從文檔服務(wù)器103獲取數(shù)據(jù)的任務(wù)服務(wù)中,關(guān)于文檔服務(wù)器103的URI的信息被存儲(chǔ)在屬性字段806中。在用于向打印服務(wù)器109輸入作業(yè)的任務(wù)服務(wù)中,屬性字段806存儲(chǔ)關(guān)于打印服務(wù)器109的URI的信息。對(duì)于驗(yàn)證字段807,登記表示關(guān)于在將服務(wù)登記到表中以前服務(wù)質(zhì)量是否已被提供平臺(tái)的廠商驗(yàn)證的信息的標(biāo)記。如果標(biāo)記的值為“TRUE (真)”,則確定服務(wù)在登記到表中以前其質(zhì)量已被驗(yàn)證。換句話說(shuō),在這種情況下,確定針對(duì)服務(wù)確保了預(yù)定水平的質(zhì)量。 另一方面,如果標(biāo)記的值為“FALSE (假)”,則確定服務(wù)在登記到表中以前其質(zhì)量未被驗(yàn)證。 換句話說(shuō),在這種情況下,確定質(zhì)量水平未知。更具體地說(shuō),在圖8所示的示例中,由表可知,通過(guò)設(shè)置給驗(yàn)證字段807的值 “TRUE”所指示,行關(guān)鍵字字段803具有值“服務(wù)03”的任務(wù)服務(wù)的質(zhì)量已被確保。其他服務(wù)的質(zhì)量未被確保。換句話說(shuō),驗(yàn)證字段807具有值“TRUE”的服務(wù)的質(zhì)量已被確保。因此,在這種情況下,能夠有效利用平臺(tái)系統(tǒng)500。另一方面,驗(yàn)證字段807具有除值“TRUE”以外的值的服務(wù)可能無(wú)謂地消耗平臺(tái)系統(tǒng)500的資源,或者可能包含會(huì)攻擊平臺(tái)系統(tǒng)500的內(nèi)容或信息。以下將參照?qǐng)D9詳細(xì)描述根據(jù)本示例性實(shí)施例的服務(wù)序列表。參照?qǐng)D9,服務(wù)序列表900管理服務(wù)處理順序。出于以下目的,作業(yè)表700包含如上所述的服務(wù)處理順序。對(duì)此解釋為,服務(wù)處理順序也包含在作業(yè)表700中,從而如果后端處理單元402按照處理順序執(zhí)行了任務(wù),則在各任務(wù)的執(zhí)行時(shí)刻前后的時(shí)刻寫(xiě)入該任務(wù)的處理狀態(tài)以及接下來(lái)要執(zhí)行的任務(wù)的任務(wù)編號(hào),并且識(shí)別各任務(wù)的處理的進(jìn)行狀態(tài)。另一方面,服務(wù)序列表900存儲(chǔ)關(guān)于登記到服務(wù)表800的各種服務(wù)的組合的信息。 以下將參照?qǐng)D9詳細(xì)描述服務(wù)序列表900。更具體地說(shuō),由圖9可知,能夠被具有值“序列”、 "seqOl"的關(guān)鍵字字段902和903識(shí)別的作業(yè)包括三個(gè)任務(wù),如最大任務(wù)字段904所指示的。另外,在圖9所示的示例中,作業(yè)包括服務(wù)01、服務(wù)02以及服務(wù)03,如任務(wù)1字段905、 任務(wù)2字段906以及任務(wù)3字段907所指示的。針對(duì)由任務(wù)1字段905、任務(wù)2字段906和任務(wù)3字段907定義的各個(gè)任務(wù)服務(wù),能夠通過(guò)參照服務(wù)表800來(lái)識(shí)別各個(gè)任務(wù)服務(wù)的類(lèi)型。服務(wù)序列表900被存儲(chǔ)在表存儲(chǔ)服務(wù)506中。圖9例示了服務(wù)序列表900的示例。參照?qǐng)D9,ETag字段901與圖7所示的ETag 字段701類(lèi)似。劃分關(guān)鍵字字段902和行關(guān)鍵字字段903表示用于唯一識(shí)別表的各行的 ID。在服務(wù)序列表900中,劃分關(guān)鍵字字段902具有固定值“序列”。行關(guān)鍵字字段903被作為序列ID管理。序列ID與作業(yè)ID的不同之處如下。對(duì)于序列ID,對(duì)請(qǐng)求了相同服務(wù)的所有處理請(qǐng)求分配共同的序列ID。另一方面,對(duì)于作業(yè)ID,如果請(qǐng)求了相同的服務(wù),則對(duì)各個(gè)處理請(qǐng)求分配唯一的作業(yè)ID。作業(yè)ID用作識(shí)別處理請(qǐng)求的標(biāo)識(shí)符。因此,能夠識(shí)別登記到圖7所示的作業(yè)表的各個(gè)作業(yè)所需的任務(wù)服務(wù)。最大任務(wù)字段904存儲(chǔ)序列中包含的任務(wù)數(shù)量的定義。在本示例性實(shí)施例中,能夠在一個(gè)序列中識(shí)別一個(gè)至二十個(gè)任務(wù)。任務(wù)1字段905至任務(wù)20字段909管理關(guān)于序列中包含的各個(gè)任務(wù)的信息。任務(wù)1字段905存儲(chǔ)提供要第一個(gè)執(zhí)行的任務(wù)的服務(wù)(任務(wù)服務(wù))的ID。之后,類(lèi)似地,任務(wù) 2字段906存儲(chǔ)關(guān)于要被執(zhí)行的第二任務(wù)的信息。服務(wù)序列表900存儲(chǔ)關(guān)于直到要第二十個(gè)執(zhí)行的任務(wù)(其信息存儲(chǔ)在任務(wù)20字段909中)的二十個(gè)任務(wù)的信息。如上所述,在本示例性實(shí)施例中,任務(wù)的最大數(shù)量為二十。然而,除二十以外的其他值也可以被設(shè)置為任務(wù)的最大數(shù)量。以下將參照?qǐng)D12A至圖12C詳細(xì)描述根據(jù)本示例性實(shí)施例的、在登記到服務(wù)表800 中的任務(wù)服務(wù)(即文檔提取服務(wù)410、文檔轉(zhuǎn)換服務(wù)411和假脫機(jī)服務(wù)412)中實(shí)現(xiàn)的接口。任務(wù)服務(wù)大體上能夠被劃分為三種類(lèi)型,S卩“IN”、“PIPE”和“OUT”。預(yù)定接口是針對(duì)這三種類(lèi)型中的各種而實(shí)現(xiàn)的。要執(zhí)行的處理根據(jù)所實(shí)現(xiàn)的任務(wù)服務(wù)的類(lèi)型而不同。 IN型任務(wù)服務(wù)需要包含圖12A所示的接口。在本示例性實(shí)施例中,文檔提取服務(wù)410實(shí)現(xiàn)該接口。參照?qǐng)D12A,執(zhí)行指令接收單元1201從后端處理單元402接收任務(wù)執(zhí)行指令以及參數(shù)。更具體地說(shuō),由執(zhí)行指令接收單元1201接收到的參數(shù)是任務(wù)1參數(shù)713。在接收到任務(wù)執(zhí)行指令后,執(zhí)行指令接收單元1201執(zhí)行處理程序。在執(zhí)行處理程序1202后,作為應(yīng)答將任務(wù)結(jié)束通知發(fā)送給后端處理單元402。處理程序1202是被設(shè)計(jì)為執(zhí)行特定處理的處理程序。如果任務(wù)服務(wù)是IN型任務(wù)服務(wù),則處理程序1202執(zhí)行這樣一種處理,該處理用于在Web服務(wù)內(nèi)生成數(shù)據(jù),或者從諸如文檔服務(wù)器103的外部服務(wù)器獲取數(shù)據(jù)。處理程序1202將所生成的或所獲取的數(shù)據(jù)存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203中。此外,處理程序120將任務(wù)執(zhí)行結(jié)果(結(jié)果狀態(tài),諸如 “Success”或“Failure”)存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204中。輸出數(shù)據(jù)存儲(chǔ)單元1203是存儲(chǔ)作為執(zhí)行任務(wù)的結(jié)果被輸出的數(shù)據(jù)的區(qū)域。執(zhí)行結(jié)果存儲(chǔ)單元1204是存儲(chǔ)任務(wù)執(zhí)行結(jié)果(結(jié)果狀態(tài),諸如“Success”或“Failure”)的區(qū)域。結(jié)果獲取請(qǐng)求接收單元1205從后端處理單元402接收結(jié)果獲取請(qǐng)求。此外,結(jié)果獲取請(qǐng)求接收單元1205讀取存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203和執(zhí)行結(jié)果存儲(chǔ)單元1204中的信息。另外,結(jié)果獲取請(qǐng)求接收單元1205將數(shù)據(jù)返回給后端處理單元402。屬性獲取請(qǐng)求接收單元1206根據(jù)來(lái)自后端處理單元402的屬性獲取請(qǐng)求,從屬性信息存儲(chǔ)單元1207獲取適當(dāng)?shù)男畔ⅰ4送?,屬性獲取請(qǐng)求接收單元1206返回服務(wù)的屬性。 屬性獲取請(qǐng)求接收單元1207存儲(chǔ)諸如服務(wù)ID、服務(wù)類(lèi)型和開(kāi)發(fā)者ID等的信息。服務(wù)ID與在將服務(wù)登記到服務(wù)表800時(shí)分配的服務(wù)ID相同。換句話說(shuō),序列ID是用于唯一識(shí)別服務(wù)的信息。服務(wù)類(lèi)型是如上所述的關(guān)于任務(wù)服務(wù)的類(lèi)型(IN型、PIPE型或OUT型)的信息。 開(kāi)發(fā)者ID使得能夠識(shí)別任務(wù)服務(wù)的功能的開(kāi)發(fā)者。對(duì)此解釋為,開(kāi)發(fā)者ID對(duì)應(yīng)于開(kāi)發(fā)了任務(wù)服務(wù)的用戶。在本示例性實(shí)施例中,IN型任務(wù)服務(wù)稱為“獲取任務(wù)服務(wù)”。PIPE型任務(wù)服務(wù)需要包含圖12B所示的接口。在本示例性實(shí)施例中,文檔轉(zhuǎn)換服務(wù)411實(shí)現(xiàn)該接口。輸入數(shù)據(jù)接收單元1208將根據(jù)來(lái)自后端處理單元402的輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求而發(fā)送的數(shù)據(jù)存儲(chǔ)在輸入數(shù)據(jù)存儲(chǔ)單元1209中。輸入數(shù)據(jù)存儲(chǔ)單元1209是存儲(chǔ)輸入給任務(wù)服務(wù)的數(shù)據(jù)的區(qū)域。執(zhí)行指令接收單元1210從后端處理單元402接收任務(wù)執(zhí)行指令以及參數(shù)。在接收到任務(wù)執(zhí)行指令后,執(zhí)行指令接收單元1210執(zhí)行處理程序1211。在執(zhí)行處理程序1211后,作為應(yīng)答將任務(wù)結(jié)束通知發(fā)送給后端處理單元402。處理程序1211是被設(shè)計(jì)為執(zhí)行特定處理的處理程序。如果任務(wù)服務(wù)是PIPE型任務(wù)服務(wù),則處理程序1211從輸入數(shù)據(jù)存儲(chǔ)單元1209獲取數(shù)據(jù),并將處理后的數(shù)據(jù)存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203中。此外,處理程序1211將任務(wù)執(zhí)行結(jié)果(結(jié)果狀態(tài),諸如“Success”或“Failure”) 存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204中。結(jié)果獲取請(qǐng)求接收單元1205從后端處理單元402接收結(jié)果獲取請(qǐng)求。此外,結(jié)果獲取請(qǐng)求接收單元1205讀取存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203和執(zhí)行結(jié)果存儲(chǔ)單元1204中的信息。另外,結(jié)果獲取請(qǐng)求接收單元1205將數(shù)據(jù)返回給后端處理單元402。在本示例性實(shí)施例中,PIPE型服務(wù)稱為“處理任務(wù)服務(wù)”。OUT型任務(wù)服務(wù)需要包括圖12C所示的接口。在本示例性實(shí)施例中,假脫機(jī)服務(wù) 412實(shí)現(xiàn)該接口。輸入數(shù)據(jù)接收單元1208將根據(jù)來(lái)自后端處理單元402的輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求而發(fā)送的數(shù)據(jù),存儲(chǔ)在輸入數(shù)據(jù)存儲(chǔ)單元1209中。輸入數(shù)據(jù)存儲(chǔ)單元1209是存儲(chǔ)輸入給任務(wù)服務(wù)的數(shù)據(jù)的區(qū)域。執(zhí)行指令接收單元1212從后端處理單元402接收任務(wù)執(zhí)行指令及參數(shù)。在接收到任務(wù)執(zhí)行指令后,執(zhí)行指令接收單元1212執(zhí)行處理程序1213。在執(zhí)行處理程序1213后, 作為應(yīng)答將任務(wù)結(jié)束通知發(fā)送給后端處理單元402。處理程序1213是被設(shè)計(jì)為執(zhí)行特定處理的處理程序。如果任務(wù)服務(wù)是OUT型任務(wù)服務(wù),則處理程序1213從輸入數(shù)據(jù)存儲(chǔ)單元1209獲取數(shù)據(jù),并且將處理后的數(shù)據(jù)存儲(chǔ)在假脫機(jī)服務(wù)412內(nèi)并進(jìn)行管理。此外,處理程序1213將任務(wù)執(zhí)行結(jié)果(結(jié)果狀態(tài),諸如 “Success”或“hi lure”)存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204中。結(jié)果獲取請(qǐng)求接收單元1214從后端處理單元402接收結(jié)果獲取請(qǐng)求。此外,結(jié)果獲取請(qǐng)求接收單元1214讀取存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204中的信息。另外,結(jié)果獲取請(qǐng)求接收單元1214將數(shù)據(jù)返回給后端處理單元402。在本示例性實(shí)施例中,OUT型任務(wù)服務(wù)被稱為“發(fā)送任務(wù)服務(wù)”。上述各任務(wù)服務(wù)的各種功能通過(guò)CPU 301從間接存儲(chǔ)單元303加載程序并執(zhí)行程序來(lái)實(shí)現(xiàn)。輸出數(shù)據(jù)存儲(chǔ)單元1203、執(zhí)行結(jié)果存儲(chǔ)單元1204和屬性信息存儲(chǔ)單元1207全部被實(shí)現(xiàn)作為在直接存儲(chǔ)單元302或間接存儲(chǔ)單元303上確保的區(qū)域。類(lèi)似地,輸入數(shù)據(jù)存儲(chǔ)單元1209、輸出數(shù)據(jù)存儲(chǔ)單元1203、執(zhí)行結(jié)果存儲(chǔ)單元1204、屬性信息存儲(chǔ)單元1207 和輸入數(shù)據(jù)存儲(chǔ)單元1209也被實(shí)現(xiàn)作為在直接存儲(chǔ)單元302或間接存儲(chǔ)單元303上確保的區(qū)域?!癐N”、“PIPE”和“OUT”型的三種類(lèi)型的接口具有由平臺(tái)系統(tǒng)500的開(kāi)發(fā)者公開(kāi)的開(kāi)放型規(guī)格。開(kāi)發(fā)了利用這三種類(lèi)型接口的服務(wù)應(yīng)用的人請(qǐng)求平臺(tái)系統(tǒng)500的開(kāi)發(fā)者將關(guān)于服務(wù)應(yīng)用的信息登記到服務(wù)表800和序列表900。因此,本發(fā)明的示例性實(shí)施例能夠向圖像形成裝置104的用戶提供這樣一種服務(wù),其中圖像形成裝置104和服務(wù)應(yīng)用經(jīng)由平臺(tái)系統(tǒng) 500協(xié)作操作。換句話說(shuō),通過(guò)生成實(shí)現(xiàn)“IN”、“PIPE”和“OUT”型接口的Web服務(wù),使得平臺(tái)系統(tǒng)500可用,并且Web服務(wù)能夠被提供給圖像形成裝置104。結(jié)果,應(yīng)用的服務(wù)開(kāi)發(fā)者能夠使處理程序1202、1211及1213與圖像形成裝置104及平臺(tái)系統(tǒng)500協(xié)作操作,而不公開(kāi)其內(nèi)部結(jié)構(gòu)(專門(mén)知識(shí)以及特征技術(shù))。以下將詳細(xì)描述各類(lèi)型的任務(wù)服務(wù)。IN型任務(wù)服務(wù)生成服務(wù)內(nèi)的數(shù)據(jù),或從諸如文檔服務(wù)器103的外部服務(wù)器獲取數(shù)據(jù)。換句話說(shuō),IN型任務(wù)服務(wù)是不需要來(lái)自平臺(tái)系統(tǒng) 500的輸入信息的服務(wù)。PIPE型任務(wù)服務(wù)是基于對(duì)由平臺(tái)系統(tǒng)500明確指定的輸入數(shù)據(jù)進(jìn)行處理、并且將處理結(jié)果輸出到平臺(tái)系統(tǒng)500的前提而提供的服務(wù)。OUT型任務(wù)服務(wù)是基于從平臺(tái)系統(tǒng)500明確接收到輸入數(shù)據(jù)、并且輸入數(shù)據(jù)的處理結(jié)果要在服務(wù)內(nèi)完成或者要被發(fā)送至外部服務(wù)器(即,數(shù)據(jù)的處理結(jié)果不被輸出到平臺(tái)系統(tǒng)500)的前提而提供的服務(wù)的類(lèi)型。按照如上所述調(diào)整這三種類(lèi)型(“IN”、“PIPE”和“OUT”)的服務(wù)接口。由此能夠獲得以下效果。更具體地說(shuō),使得應(yīng)用提供者容易地設(shè)計(jì)從IN型任務(wù)服務(wù)開(kāi)始、然后繼續(xù)到PIPE型任務(wù)服務(wù)并且在OUT型任務(wù)服務(wù)結(jié)束的序列,并且容易地從應(yīng)用調(diào)用該序列。通過(guò)將任務(wù)服務(wù)分為三種類(lèi)型,能夠更容易地重新使用處理程序。根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000具有上述結(jié)構(gòu)。在以下說(shuō)明中,將描述根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000內(nèi)執(zhí)行的處理的示例性流程。圖10是例示根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000內(nèi)執(zhí)行的處理的示例性流程的序列圖。當(dāng)用戶經(jīng)由圖像形成裝置104的設(shè)備瀏覽器409開(kāi)始操作時(shí),一系列處理開(kāi)始。設(shè)備瀏覽器409與請(qǐng)求處理單元401上運(yùn)行的打印應(yīng)用通信以執(zhí)行打印。換句話說(shuō),作為請(qǐng)求接收單元401的其他功能,請(qǐng)求接收單元401執(zhí)行用于支持打印的各種功能。圖11例示了由設(shè)備瀏覽器409顯示的打印畫(huà)面的示例。圖11所示的畫(huà)面由在請(qǐng)求接收單元401上運(yùn)行的打印應(yīng)用生成。參照?qǐng)D11,打印目的地字段1101顯示唯一識(shí)別用戶當(dāng)前操作的圖像形成裝置104 的設(shè)備ID。文檔服務(wù)器字段1102顯示獲取數(shù)據(jù)的文檔服務(wù)器的URL。在本示例性實(shí)施例中,登記到服務(wù)表800的屬性字段806中的數(shù)據(jù)被顯示在文檔服務(wù)器字段1102中。打印目標(biāo)文檔字段1103顯示要實(shí)際打印的文檔的ID。文檔ID由用戶輸入。在圖 11所示的示例中,文檔“folder/file, pdf”要被打印。文檔存儲(chǔ)在文檔倉(cāng)庫(kù)406中。用戶能夠通過(guò)按壓打印按鈕1104輸入用于執(zhí)行預(yù)先定義的打印序列的指令。更具體地說(shuō),由服務(wù)序列表900(圖9)的行關(guān)鍵字字段903定義的序列ID被分配給打印按鈕1104。當(dāng)用戶按壓打印按鈕1104時(shí),序列ID被發(fā)送。例如,如果ID“seq01”已被分配作為序列ID,則執(zhí)行對(duì)應(yīng)于ID seqOl的任務(wù)。當(dāng)用戶按壓圖11所示的打印按鈕1104時(shí),則在步驟S1001中,設(shè)備瀏覽器409將打印指令請(qǐng)求輸入給請(qǐng)求接收單元401。當(dāng)打印指令請(qǐng)求被輸入時(shí),經(jīng)由打印目標(biāo)文檔字段1103輸入的文檔ID、顯示在打印目的地字段1101中的設(shè)備ID以及分配給打印按鈕1104的序列ID, 作為參數(shù)被傳送(作業(yè)接收處理)。在接收到請(qǐng)求后,在步驟S1002中,請(qǐng)求處理單元401將序列獲取請(qǐng)求輸入給表存儲(chǔ)服務(wù)403的服務(wù)序列表。序列獲取請(qǐng)求包括作為參數(shù)的序列ID。在步驟S1003中,表存儲(chǔ)服務(wù)403響應(yīng)于輸入的請(qǐng)求,將所請(qǐng)求的序列ID的序列數(shù)據(jù)發(fā)送給請(qǐng)求處理單元401。在本示例性實(shí)施例中,“序列數(shù)據(jù)”是指由服務(wù)序列表900定義的各種類(lèi)型的任務(wù)中包含的
fn息ο在步驟S1004中,請(qǐng)求處理單元401將作業(yè)添加請(qǐng)求輸入給由表存儲(chǔ)服務(wù)403存儲(chǔ)的作業(yè)表700。在輸入作業(yè)添加請(qǐng)求時(shí),請(qǐng)求接收單元401將作為參數(shù)的序列數(shù)據(jù)以及諸如文檔ID的參數(shù)數(shù)據(jù),發(fā)送給表存儲(chǔ)服務(wù)403。在步驟S1005中,表存儲(chǔ)服務(wù)403基于從請(qǐng)求接收單元401接收到的參數(shù),執(zhí)行作業(yè)生成和添加處理。另外,表存儲(chǔ)服務(wù)403將所生成作業(yè)的ID返回給請(qǐng)求接收單元401。 所生成作業(yè)的ID由劃分關(guān)鍵字字段702和行關(guān)鍵字字段703識(shí)別。在步驟S1006中,請(qǐng)求接收單元401將消息添加請(qǐng)求發(fā)送給隊(duì)列存儲(chǔ)服務(wù)405。更具體地說(shuō),通過(guò)輸入消息添加請(qǐng)求,請(qǐng)求接收單元401將在步驟S1005中獲取到的作業(yè)ID 作為參數(shù)進(jìn)行發(fā)送。隊(duì)列存儲(chǔ)服務(wù)405執(zhí)行消息添加處理。在本示例性實(shí)施例中,在步驟S1006中要添加的消息是隊(duì)列消息600。另外,作為參數(shù)發(fā)送的作業(yè)ID,更具體地說(shuō),是隊(duì)列消息600中包含的部分<QueueMessage>603的值。在步驟S1007中,響應(yīng)于在步驟S1001中輸入的請(qǐng)求,請(qǐng)求接收單元401經(jīng)由設(shè)備瀏覽器409獲取作業(yè)ID。通過(guò)執(zhí)行上述處理,完成用戶輸入的打印指示操作。以下將描述由平臺(tái)應(yīng)用408執(zhí)行的用于獲取打印數(shù)據(jù)的處理。在步驟S1007中獲取作業(yè)ID后,處理進(jìn)行到步驟S1050。在步驟S1050中,設(shè)備瀏覽器409將監(jiān)視指令輸入給平臺(tái)應(yīng)用408。在輸入監(jiān)視指令時(shí),設(shè)備瀏覽器409將作業(yè)ID 作為參數(shù)發(fā)送給平臺(tái)應(yīng)用408。在步驟S1051中,平臺(tái)應(yīng)用408請(qǐng)求請(qǐng)求接收單元401發(fā)送打印數(shù)據(jù)。在輸入打印數(shù)據(jù)發(fā)送請(qǐng)求時(shí),平臺(tái)應(yīng)用408將作業(yè)ID和設(shè)備ID作為參數(shù)發(fā)送給請(qǐng)求接收單元401。在步驟S1052中,請(qǐng)求接收單元401將作業(yè)信息獲取請(qǐng)求輸入給表存儲(chǔ)服務(wù)403。 在步驟S1052中的作業(yè)信息獲取請(qǐng)求處理中,請(qǐng)求接收單元401將在步驟S1051中已經(jīng)接收到的作業(yè)ID發(fā)送給表存儲(chǔ)服務(wù)403。表存儲(chǔ)服務(wù)403搜索對(duì)應(yīng)于已被請(qǐng)求獲取的作業(yè)ID的作業(yè)。另外,表存儲(chǔ)服務(wù) 403將搜索結(jié)果作為應(yīng)答發(fā)送給請(qǐng)求接收單元401。在接收到作業(yè)信息后,請(qǐng)求接收單元401通過(guò)參照指示作業(yè)的進(jìn)行狀態(tài)的狀態(tài)字段706,確定作業(yè)的處理是否已經(jīng)完成。在本示例性實(shí)施例中,在步驟S1053中接收到應(yīng)答時(shí),作業(yè)jobOl的處理正在進(jìn)行中。因此,在步驟SlOM中,請(qǐng)求接收單元401將表示不存在打印數(shù)據(jù)的應(yīng)答發(fā)送給平臺(tái)應(yīng)用 408。平臺(tái)應(yīng)用408重復(fù)用于請(qǐng)求發(fā)送打印數(shù)據(jù)的處理,直到獲取到打印數(shù)據(jù)。在步驟 S1055中,平臺(tái)應(yīng)用408執(zhí)行用于發(fā)送打印數(shù)據(jù)的重復(fù)請(qǐng)求。步驟S1055中的打印數(shù)據(jù)請(qǐng)求處理、步驟S1056中的作業(yè)信息請(qǐng)求處理以及步驟S1057中的作業(yè)信息獲取處理,分別對(duì)應(yīng)于步驟S1051、S1052和S1053中的處理。在本示例性實(shí)施例中,在步驟S1057中發(fā)送響應(yīng)時(shí),作業(yè)已經(jīng)被完全處理。因此, 在步驟S1058中,請(qǐng)求接收單元401將打印數(shù)據(jù)獲取請(qǐng)求輸入給假脫機(jī)服務(wù)412。在打印數(shù)據(jù)獲取請(qǐng)求中,請(qǐng)求接收單元401將作業(yè)ID和設(shè)備ID作為參數(shù)發(fā)送給假脫機(jī)服務(wù)412。假脫機(jī)服務(wù)412檢查是否存在對(duì)應(yīng)于所指定的作業(yè)ID和設(shè)備ID的數(shù)據(jù)。如果確定存在對(duì)應(yīng)于所指定的作業(yè)ID和設(shè)備ID的任意數(shù)據(jù),則處理進(jìn)行到步驟S1059。在步驟 S1059中,假脫機(jī)服務(wù)412將打印數(shù)據(jù)發(fā)送給請(qǐng)求接收單元401。在從假脫機(jī)服務(wù)412接收到應(yīng)答后,在步驟S1059A中,請(qǐng)求接收單元401將打印數(shù)據(jù)發(fā)送給平臺(tái)應(yīng)用408。平臺(tái)應(yīng)用408執(zhí)行控制,以通過(guò)使用圖像形成裝置104的打印單元來(lái)打印輸出打印數(shù)據(jù)。根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000執(zhí)行從用戶輸入打印請(qǐng)求到在圖像形成裝置104上輸出打印物的上述處理流程。在以下描述中,將詳細(xì)描述平臺(tái)系統(tǒng)500與各種Web服務(wù)之間的協(xié)作操作。在步驟S1010中,后端處理單元402周期性地將消息獲取請(qǐng)求輸入給隊(duì)列存儲(chǔ)服務(wù)405。在步驟 SlOll中從隊(duì)列獲取到消息之后,后端處理單元402從部分<MessageText>603中提取作業(yè) ID。在步驟S1012中,后端處理單元402將作業(yè)和服務(wù)信息獲取請(qǐng)求輸入給表存儲(chǔ)服務(wù)403。在接收到作業(yè)和服務(wù)信息獲取請(qǐng)求之后,表存儲(chǔ)服務(wù)403通過(guò)參照作業(yè)表700,獲取關(guān)于對(duì)應(yīng)于作業(yè)ID的作業(yè)的信息。在步驟S1013中,表存儲(chǔ)服務(wù)403從作業(yè)信息中獲取對(duì)應(yīng)于接下來(lái)要執(zhí)行的任務(wù)的任務(wù)服務(wù)的ID。此外,表存儲(chǔ)服務(wù)403基于所獲取的任務(wù)服務(wù)的ID,從服務(wù)表800中獲取對(duì)應(yīng)于任務(wù)服務(wù)的ID的服務(wù)信息。另外,表存儲(chǔ)服務(wù)403將作業(yè)和服務(wù)信息作為對(duì)步驟 S1012中輸入的請(qǐng)求的應(yīng)答,返回給后端處理單元402??梢酝ㄟ^(guò)參照關(guān)于最后執(zhí)行的任務(wù)的信息,來(lái)識(shí)別接下來(lái)要執(zhí)行的任務(wù)。在步驟S1014中,后端處理單元402基于所獲取的作業(yè)和服務(wù)信息,輸入任務(wù)執(zhí)行指令。在執(zhí)行任務(wù)時(shí),后端處理單元402將由作業(yè)表700管理的參數(shù)作為變?cè)?argument) 來(lái)進(jìn)行傳送。在本示例性實(shí)施例中,后端處理單元402將任務(wù)執(zhí)行指令輸入給文檔提取服務(wù)410的執(zhí)行指令接收單元1201。在接收到任務(wù)執(zhí)行指令后,執(zhí)行指令接收單元1201執(zhí)行處理程序1202。在步驟 S1015中,在通過(guò)使用處理程序1202執(zhí)行任務(wù)時(shí),將文檔獲取請(qǐng)求發(fā)送給文檔倉(cāng)庫(kù)406。在發(fā)送文檔獲取請(qǐng)求時(shí),文檔提取服務(wù)410將文檔ID作為參數(shù)傳送給文檔倉(cāng)庫(kù)406。文檔倉(cāng)庫(kù)406的URL和文檔ID是基于關(guān)于在步驟S1014中從后端處理單元402接收到的參數(shù)的
fn息ο在步驟S1015中文檔倉(cāng)庫(kù)406已接收到文檔獲取請(qǐng)求之后,處理進(jìn)行到步驟 SlOieo在步驟S1016中,文檔倉(cāng)庫(kù)406將對(duì)應(yīng)于所指定文檔ID的文檔數(shù)據(jù),傳送給文檔提取服務(wù)410的處理程序1202。處理程序1202將所接收到的文檔數(shù)據(jù)存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203上。此外, 處理程序1202將處理的執(zhí)行結(jié)果(執(zhí)行結(jié)果狀態(tài),諸如“Success”或“failure”)存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204上。然后,處理程序1202結(jié)束。當(dāng)處理程序1202結(jié)束時(shí),然后在步驟S1017中,執(zhí)行指令接收單元1201將任務(wù)結(jié)束通知作為對(duì)步驟S1014中輸入的指令的應(yīng)答,返回給后端處理單元402。在步驟S1018中,后端處理單元402將結(jié)果獲取請(qǐng)求發(fā)送給文檔提取服務(wù)410的結(jié)果獲取請(qǐng)求接收單元1205。結(jié)果獲取請(qǐng)求接收單元1205從輸出數(shù)據(jù)存儲(chǔ)單元1203讀取文檔數(shù)據(jù),并且從執(zhí)行結(jié)果存儲(chǔ)單元1204讀取結(jié)果狀態(tài)。在步驟S1019中,結(jié)果獲取請(qǐng)求接收單元1205將所讀取的文檔數(shù)據(jù)和結(jié)果狀態(tài)作為對(duì)步驟S1018中接收到的請(qǐng)求的應(yīng)答,返回給后端處理單元402。在接收到應(yīng)答后,在步驟S1020中,后端處理單元402執(zhí)行文檔存儲(chǔ)處理,以將文檔數(shù)據(jù)存儲(chǔ)在Blob存儲(chǔ)服務(wù)404 中。在步驟S1021中,后端處理單元402執(zhí)行作業(yè)信息更新處理。更具體地說(shuō),后端處理單元402將任務(wù)執(zhí)行結(jié)果應(yīng)用于表存儲(chǔ)服務(wù)403的作業(yè)表700。以上述方式,任務(wù)1被完全處理。在任務(wù)的一系列處理已經(jīng)完成后,后端處理單元402將消息添加給隊(duì)列存儲(chǔ)服務(wù) 405以及從隊(duì)列存儲(chǔ)服務(wù)405中刪除消息,以執(zhí)行下一個(gè)任務(wù)(即任務(wù)2)。更具體地說(shuō),首先,在步驟S1022 (消息添加請(qǐng)求處理)中,后端處理單元402將對(duì)應(yīng)于當(dāng)前執(zhí)行的作業(yè)的作業(yè)ID的消息添加到隊(duì)列存儲(chǔ)服務(wù)405。通過(guò)執(zhí)行步驟S1022中的處理,用于對(duì)待處理的任務(wù)進(jìn)行處理的請(qǐng)求已經(jīng)完全被輸入。在步驟S1023 (消息刪除請(qǐng)求處理)中,后端處理單元402從隊(duì)列存儲(chǔ)服務(wù)405中刪除當(dāng)前處理的消息。因此,從隊(duì)列中刪除指示執(zhí)行所處理任務(wù)的消息。之后,將不再對(duì)可能由于超時(shí)而被暫停的相同處理執(zhí)行再執(zhí)行處理。以下將參照?qǐng)D10詳細(xì)描述由任務(wù)2執(zhí)行的處理。步驟S1060至S1063的處理與步驟S1010至S1013的處理類(lèi)似。在步驟S1064中,后端處理單元402基于所獲取的作業(yè)信息和服務(wù)信息,從Blob 存儲(chǔ)服務(wù)404中獲取文檔數(shù)據(jù)。更具體地說(shuō),在本示例性實(shí)施例中,后端處理單元402獲取在步驟S1020中存儲(chǔ)的文檔。在步驟S1065中,后端處理單元402將輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求發(fā)送給文檔轉(zhuǎn)換服務(wù)411 的輸入數(shù)據(jù)接收單元1208。在發(fā)送輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求時(shí),后端處理單元402將在步驟S1064 中獲取到的文檔數(shù)據(jù)作為變?cè)M(jìn)行傳送。通過(guò)接收輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求,輸入數(shù)據(jù)接收單元1208接收作為變?cè)獋魉偷奈臋n數(shù)據(jù)。另外,輸入數(shù)據(jù)接收單元1208將所接收的文檔數(shù)據(jù)存儲(chǔ)在輸入數(shù)據(jù)存儲(chǔ)單元1209 中。在步驟S 1066中,后端處理單元402將任務(wù)執(zhí)行指令發(fā)送給文檔轉(zhuǎn)換服務(wù)411的執(zhí)行指令接收單元1210。在發(fā)送任務(wù)執(zhí)行指令時(shí),后端處理單元402將由作業(yè)表700管理的參數(shù)作為變?cè)l(fā)送給執(zhí)行指令接收單元1210。在接收到任務(wù)執(zhí)行指令后,執(zhí)行指令接收單元1210執(zhí)行處理程序1211。當(dāng)執(zhí)行處理程序1211時(shí),執(zhí)行指令接收單元1210對(duì)存儲(chǔ)在輸入數(shù)據(jù)存儲(chǔ)單元1209上的數(shù)據(jù)執(zhí)行預(yù)定的數(shù)據(jù)轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果存儲(chǔ)在輸出數(shù)據(jù)存儲(chǔ)單元1203上。在本示例性實(shí)施例中,假定在步驟S1015中獲取到的數(shù)據(jù)是通過(guò)使用諸如文字處理器的辦公應(yīng)用所生成的文檔。因此,通過(guò)執(zhí)行處理程序1211,將通過(guò)辦公應(yīng)用生成的文檔轉(zhuǎn)換成能夠被圖像形成裝置104處理的PDF數(shù)據(jù)。此外,處理程序1211將處理的執(zhí)行結(jié)果(執(zhí)行結(jié)果狀態(tài),諸如“Success”或 "Failure")存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204上。然后處理程序1211結(jié)束。當(dāng)處理程序1211結(jié)束時(shí),然后在步驟S1067中,執(zhí)行指令接收單元1201將任務(wù)結(jié)束通知作為對(duì)步驟S1066中輸入的指令的應(yīng)答,返回給后端處理單元402。在步驟S1068 中,后端處理單元402將結(jié)果獲取請(qǐng)求發(fā)送給文檔轉(zhuǎn)換服務(wù)411的結(jié)果獲取請(qǐng)求接收單元1205。在步驟S1069中,結(jié)果獲取請(qǐng)求接收單元1205將所讀取的文檔數(shù)據(jù)和結(jié)果狀態(tài)作為對(duì)步驟S1018中接收到的請(qǐng)求的應(yīng)答,返回給后端處理單元402。在接收到應(yīng)答后,在步驟S1070中,后端處理單元402將文檔數(shù)據(jù)存儲(chǔ)在Blob存儲(chǔ)服務(wù)404中。在步驟S1071中,在執(zhí)行作業(yè)信息更新處理時(shí),后端處理單元402將任務(wù)執(zhí)行結(jié)果存儲(chǔ)在表存儲(chǔ)服務(wù)403的作業(yè)表700中。通過(guò)執(zhí)行上述處理,任務(wù)2完全被處理。在任務(wù)的一系列處理已經(jīng)完成后,后端處理單元402將消息添加到隊(duì)列存儲(chǔ)服務(wù) 405以及從隊(duì)列存儲(chǔ)服務(wù)405中刪除消息,以執(zhí)行下一個(gè)任務(wù)(即任務(wù)幻。更具體地說(shuō),首先,在步驟S1072中,后端處理單元402將對(duì)應(yīng)于當(dāng)前執(zhí)行的作業(yè)的作業(yè)ID的消息添加到隊(duì)列存儲(chǔ)服務(wù)405。通過(guò)執(zhí)行步驟S1072中的處理,用于對(duì)要處理的任務(wù)進(jìn)行處理的請(qǐng)求已經(jīng)完全被輸入。在步驟S1073(消息刪除請(qǐng)求處理)中,后端處理單元402從隊(duì)列存儲(chǔ)服務(wù) 405中刪除當(dāng)前處理的消息。因此,從隊(duì)列中刪除指示執(zhí)行處理任務(wù)的消息。之后,將不再對(duì)可能由于超時(shí)而被暫停的相同處理執(zhí)行再執(zhí)行處理。繼續(xù)描述任務(wù)執(zhí)行序列。在上述處理之后,執(zhí)行任務(wù)3的處理。步驟S1030至 S1033的處理與步驟S1010至S1013的處理類(lèi)似。在步驟S1034中,后端處理單元402基于所獲取的作業(yè)信息和服務(wù)信息,從Blob 存儲(chǔ)服務(wù)404中獲取文檔數(shù)據(jù)。更具體地說(shuō),在本示例性實(shí)施例中,后端處理單元402獲取在步驟S1070中存儲(chǔ)的文檔。在步驟S1041中,后端處理單元402將輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求發(fā)送給假脫機(jī)服務(wù)412 的輸入數(shù)據(jù)接收單元1208。在發(fā)送輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求時(shí),后端處理單元402將在步驟S1034 中獲取到的文檔數(shù)據(jù)作為變?cè)M(jìn)行傳送。通過(guò)接收輸入數(shù)據(jù)存儲(chǔ)請(qǐng)求,輸入數(shù)據(jù)接收單元1208接收作為變?cè)獋魉偷奈臋n數(shù)據(jù)。另外,輸入數(shù)據(jù)接收單元1208將接收到的文檔數(shù)據(jù)存儲(chǔ)在輸入數(shù)據(jù)存儲(chǔ)單元1209 中。在步驟S1035中,后端處理單元402將任務(wù)執(zhí)行指令發(fā)送給假脫機(jī)服務(wù)412的執(zhí)行指令接收單元1212。在發(fā)送任務(wù)執(zhí)行指令時(shí),后端處理單元402將由作業(yè)表700管理的參數(shù)作為變?cè)l(fā)送給執(zhí)行指令接收單元1212。在步驟S1035中發(fā)送的任務(wù)執(zhí)行指令由假脫機(jī)服務(wù)412的執(zhí)行指令接收單元1212 接收。當(dāng)接收到任務(wù)執(zhí)行指令時(shí),則執(zhí)行處理程序1213。在執(zhí)行處理程序1213后,處理程序1213從輸入數(shù)據(jù)存儲(chǔ)單元1209獲取數(shù)據(jù)。另外,處理程序1213生成并分配在圖像形成裝置104上打印所指示的數(shù)據(jù)所需的屬性(即諸如打印優(yōu)先級(jí)的信息或色調(diào)信息)。在本示例性實(shí)施例中,假脫機(jī)服務(wù)412的處理程序1213接收打印目的地裝置的設(shè)備ID和作業(yè)ID作為參數(shù),并將打印數(shù)據(jù)與參數(shù)值相關(guān)聯(lián)地進(jìn)行管理。此外,處理程序1213 將處理執(zhí)行結(jié)果(執(zhí)行結(jié)果狀態(tài),諸如“Success”或“Failure”)存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元 1204中。然后,處理程序1213結(jié)束。在處理程序1213被完全執(zhí)行后,在步驟S1036中,執(zhí)行指令接收單元1212將任務(wù)結(jié)束通知作為對(duì)步驟S1035中輸入的指令的應(yīng)答,返回給后端處理單元402。在步驟S1037 中,后端處理單元402將結(jié)果獲取請(qǐng)求發(fā)送給假脫機(jī)服務(wù)412的結(jié)果獲取請(qǐng)求接收單元 1214。
結(jié)果獲取請(qǐng)求接收單元1214讀取存儲(chǔ)在執(zhí)行結(jié)果存儲(chǔ)單元1204上的結(jié)果狀態(tài)。 在步驟S1038中,結(jié)果獲取請(qǐng)求接收單元1214將結(jié)果狀態(tài)作為對(duì)步驟S1037中接收到的請(qǐng)求的應(yīng)答,返回給后端處理單元402。在接收到應(yīng)答后,在步驟S1039中,后端處理單元402通過(guò)執(zhí)行作業(yè)信息更新處理,將任務(wù)執(zhí)行結(jié)果存儲(chǔ)在表存儲(chǔ)服務(wù)403的作業(yè)表700中。通過(guò)執(zhí)行上述處理,任務(wù)3被完全處理。在本示例性實(shí)施例中,當(dāng)添加打印數(shù)據(jù)時(shí)作業(yè)的處理結(jié)束。因此,在任務(wù)的一系列處理已經(jīng)完成后,后端處理單元402從隊(duì)列存儲(chǔ)服務(wù)405中刪除消息。更具體地說(shuō),當(dāng)在步驟S1040中發(fā)送消息刪除請(qǐng)求時(shí),從隊(duì)列存儲(chǔ)服務(wù)405中刪除當(dāng)前處理的消息。因此,從隊(duì)列中刪除對(duì)應(yīng)于所處理的任務(wù)的消息。然后作業(yè)結(jié)束。根據(jù)本示例性實(shí)施例的網(wǎng)絡(luò)打印系統(tǒng)1000執(zhí)行上述處理。根據(jù)本示例性實(shí)施例,通過(guò)實(shí)現(xiàn)圖12A至圖12C所示的接口,能夠獲得以下效果。具有上述結(jié)構(gòu)的本示例性實(shí)施例能夠提供這樣一種服務(wù),即通過(guò)利用諸如平臺(tái)系統(tǒng)500的平臺(tái),與圖像形成裝置104協(xié)作,而不公開(kāi)處理程序1202、1211和1213的專門(mén)知識(shí)和特征技術(shù)。在本示例性實(shí)施例中,簡(jiǎn)單執(zhí)行被登記到作業(yè)表700的服務(wù)。然而,由于基于開(kāi)放型規(guī)格來(lái)生成服務(wù)應(yīng)用,因此服務(wù)應(yīng)用的質(zhì)量可能不均一。如果由服務(wù)提供裝置提供的服務(wù)不具有足夠高的質(zhì)量,則服務(wù)不僅無(wú)謂地消耗平臺(tái)系統(tǒng)500的資源,而且使圖像形成裝置104的用戶感到困擾。這是由于可能多次失敗的服務(wù)結(jié)果難以達(dá)到用戶期望的結(jié)果。因此,針對(duì)可能不滿足預(yù)定水平的質(zhì)量的服務(wù)應(yīng)用,以下解決方案可能是有用的。因?yàn)槿绻麍?zhí)行上述服務(wù),則上述服務(wù)有可能會(huì)失敗,所以不執(zhí)行具有不足以滿足質(zhì)量標(biāo)準(zhǔn)的質(zhì)量的服務(wù)應(yīng)用的任務(wù),而暫停作業(yè),以提高整個(gè)打印系統(tǒng)1000的質(zhì)量。因此, 對(duì)于用戶來(lái)說(shuō)執(zhí)行期望服務(wù)也變得更為容易。因此,能夠增加網(wǎng)絡(luò)打印系統(tǒng)1000的可靠性。在本發(fā)明的第二示例性實(shí)施例中,提供圖13所示的服務(wù)質(zhì)量統(tǒng)計(jì)表1300。基于服務(wù)質(zhì)量統(tǒng)計(jì)表1300中存儲(chǔ)的信息來(lái)確定是否執(zhí)行任務(wù)。首先,將在下面詳細(xì)描述根據(jù)本示例性實(shí)施例的服務(wù)質(zhì)量統(tǒng)計(jì)表1300。服務(wù)質(zhì)量統(tǒng)計(jì)表1300管理關(guān)于服務(wù)的執(zhí)行結(jié)果的統(tǒng)計(jì)信息。服務(wù)質(zhì)量統(tǒng)計(jì)表 1300由表存儲(chǔ)服務(wù)506來(lái)存儲(chǔ)。圖13例示了服務(wù)質(zhì)量統(tǒng)計(jì)表1300的示例。參照?qǐng)D13,ETag字段1301類(lèi)似于圖7所示的ETag字段701。劃分關(guān)鍵字字段 1302和行關(guān)鍵字字段1303表示用于唯一識(shí)別表中各行的ID。在服務(wù)質(zhì)量統(tǒng)計(jì)表1300中, 劃分關(guān)鍵字字段1302是能夠唯一識(shí)別服務(wù)的開(kāi)發(fā)者的開(kāi)發(fā)者ID。行關(guān)鍵字字段1303被管理作為用于唯一識(shí)別任務(wù)服務(wù)的服務(wù)ID。執(zhí)行計(jì)數(shù)字段1304存儲(chǔ)表示任務(wù)服務(wù)的執(zhí)行次數(shù)的數(shù)值。錯(cuò)誤計(jì)數(shù)字段1305存儲(chǔ)表示在執(zhí)行任務(wù)服務(wù)時(shí)發(fā)生了的錯(cuò)誤數(shù)量的數(shù)值。在本示例性實(shí)施例中,服務(wù)質(zhì)量統(tǒng)計(jì)表1300管理預(yù)先編譯的數(shù)據(jù)。然而,作為替代方案,可以在每次執(zhí)行作業(yè)時(shí)存儲(chǔ)執(zhí)行結(jié)果,以及可以在所存儲(chǔ)的信息變得必要時(shí)或者在所存儲(chǔ)的信息即將變得必要之前對(duì)該信息進(jìn)行編譯。
在本示例性實(shí)施例中,能夠在步驟S1021(圖10)中更新作業(yè)信息時(shí)更新統(tǒng)計(jì)信息。更具體地說(shuō),后端處理單元402將任務(wù)執(zhí)行指令作為要在步驟S1021中更新的作業(yè)信息的一部分,與該作業(yè)信息一起進(jìn)行發(fā)送。同時(shí),表存儲(chǔ)服務(wù)403也更新服務(wù)質(zhì)量統(tǒng)計(jì)表1300 中包含的信息。然而,可以在與用于更新作業(yè)信息不同的另一時(shí)刻來(lái)更新統(tǒng)計(jì)信息。換句話說(shuō),可以在執(zhí)行圖10所示的步驟S1071或S1039時(shí)更新統(tǒng)計(jì)信息。此外,在本示例性實(shí)施例中,如上所述,參照?qǐng)D7所示的作業(yè)表700來(lái)更新作業(yè)信息。對(duì)此解釋為,未被成功處理的任務(wù)和作業(yè)的計(jì)數(shù)值增加。以上未描述的網(wǎng)絡(luò)打印系統(tǒng)1000的結(jié)構(gòu)的其它部分與本發(fā)明的第一示例性實(shí)施例中上述描述的類(lèi)似。本示例性實(shí)施例執(zhí)行圖14的序列圖中所示的以下處理。步驟S1001至S1012中的處理與圖10中所示的處理類(lèi)似。在步驟S1012中,后端處理單元402將作業(yè)和服務(wù)信息獲取請(qǐng)求發(fā)送給表存儲(chǔ)服務(wù)403。更具體地說(shuō),后端處理單元402請(qǐng)求獲取服務(wù)質(zhì)量統(tǒng)計(jì)信息以及作業(yè)信息和任務(wù)服務(wù)信息。對(duì)此解釋為,后端處理單元402從服務(wù)質(zhì)量統(tǒng)計(jì)表1300中獲取對(duì)應(yīng)于任務(wù)服務(wù)的 ID的統(tǒng)計(jì)信息(執(zhí)行計(jì)數(shù)字段1304和錯(cuò)誤計(jì)數(shù)字段1305)。執(zhí)行計(jì)數(shù)字段1304表示任務(wù)的執(zhí)行次數(shù)。錯(cuò)誤計(jì)數(shù)字段1305表示執(zhí)行任務(wù)的失敗次數(shù)。作業(yè)信息和任務(wù)服務(wù)信息如上所述。在步驟S1401中,表存儲(chǔ)服務(wù)403將作業(yè)信息、服務(wù)信息和服務(wù)質(zhì)量統(tǒng)計(jì)信息作為對(duì)步驟S1012的應(yīng)答,返回給后端處理單元402。在獲取到服務(wù)質(zhì)量統(tǒng)計(jì)信息后,后端處理單元402確定所獲取到的質(zhì)量統(tǒng)計(jì)信息是否滿足預(yù)定的基準(zhǔn)值。圖15是由后端處理單元402執(zhí)行的邏輯的流程圖,所述邏輯用于基于服務(wù)質(zhì)量統(tǒng)計(jì)信息來(lái)確定要調(diào)用的服務(wù)是否滿足預(yù)定質(zhì)量。參照?qǐng)D15,在步驟S1500中,后端處理單元402檢測(cè)服務(wù)的類(lèi)型。此外,后端處理單元402確定要調(diào)用的服務(wù)是OUT型任務(wù)服務(wù)。通過(guò)以下方式來(lái)檢測(cè)服務(wù)類(lèi)型。更具體地說(shuō),后端處理單元402向?qū)傩垣@取請(qǐng)求接收單元1206發(fā)送請(qǐng)求。屬性獲取請(qǐng)求接收單元1206從屬性信息存儲(chǔ)單元1207中讀取服務(wù)類(lèi)型并發(fā)送應(yīng)答。如果作為服務(wù)類(lèi)型的確定結(jié)果,確定服務(wù)類(lèi)型是INPUT服務(wù)或PIPE服務(wù),則處理進(jìn)行到步驟S1501?!邦A(yù)定的基準(zhǔn)值”是指表示執(zhí)行作業(yè)的失敗次數(shù)相對(duì)于總次數(shù)的比率的失敗率。在步驟S1501中后端處理單元402計(jì)算失敗率。更具體地說(shuō),后端處理單元402 通過(guò)使用以下公式來(lái)計(jì)算失敗率失敗率=錯(cuò)誤計(jì)數(shù)(1305)/執(zhí)行計(jì)數(shù)(1304) XlOO在步驟S1502中,后端處理單元402確定失敗率是否小于預(yù)定的基準(zhǔn)值。在基準(zhǔn)值(閾值)為20%的情況下,如果失敗率小于20%,則在步驟S1503中認(rèn)為滿足條件。另一方面,如果在步驟S1502中確定失敗率為20%或者更大,則在步驟S1504中認(rèn)為不滿足條件。另一方面,在步驟S1500中,如果確定要調(diào)用的服務(wù)的類(lèi)型是OUT型任務(wù)服務(wù),則處理進(jìn)行到步驟S1505。在步驟S1505中,后端處理單元402檢測(cè)要調(diào)用的服務(wù)的開(kāi)發(fā)者。 為了檢測(cè)服務(wù)開(kāi)發(fā)者,后端處理單元402向?qū)傩垣@取請(qǐng)求接收單元1206輸入請(qǐng)求,并且屬性獲取請(qǐng)求接收單元1206從屬性信息存儲(chǔ)單元1207中讀取開(kāi)發(fā)者ID并將所讀取信息作為應(yīng)答進(jìn)行發(fā)送。在步驟S1506中,后端處理單元402基于檢測(cè)到的開(kāi)發(fā)者ID來(lái)確定廠商的可靠性是否高。按照如下來(lái)執(zhí)行步驟S1506中的確定。更具體地說(shuō),首先,后端處理單元402計(jì)算由開(kāi)發(fā)者開(kāi)發(fā)的所有服務(wù)的錯(cuò)誤計(jì)數(shù)(130 的總數(shù)(即錯(cuò)誤總數(shù))以及執(zhí)行計(jì)數(shù)1304的總數(shù)(即總執(zhí)行次數(shù))。然后,后端處理單元402通過(guò)使用以下公式來(lái)計(jì)算總失敗率總失敗率=總失敗次數(shù)/總執(zhí)行次數(shù)X 100在步驟S1506中,后端處理單元402確定通過(guò)使用上述公式計(jì)算出的總失敗率是否小于預(yù)定的基準(zhǔn)值。另外,基于確定的結(jié)果,后端處理單元402確定廠商的可靠性是否
尚ο例如,當(dāng)已經(jīng)設(shè)置基準(zhǔn)值為20%時(shí),如果失敗率小于20%,則在步驟S1506中后端處理單元402確定滿足條件。另一方面,如果失敗率為20%或更大,則后端處理單元402確定不滿足條件。如果確定不滿足確定基準(zhǔn)條件(步驟S1506中“否”),則在步驟S1507中,后端處理單元402確定服務(wù)是否已被驗(yàn)證。如果確定服務(wù)已被驗(yàn)證(步驟S1507中“是”),則處理進(jìn)行到步驟S1508,在步驟S1508中,后端處理單元402確定達(dá)到了預(yù)定水平的質(zhì)量。另一方面,如果確定服務(wù)尚未被驗(yàn)證(步驟S1507中“否”),則處理進(jìn)行到步驟S1509,在步驟 S1509中,后端處理單元402確定未達(dá)到預(yù)定質(zhì)量。如果滿足上述確定基準(zhǔn)條件,則執(zhí)行圖10所示的序列圖中的步驟S1014至S1019 中的處理。另一方面,如果不滿足確定基準(zhǔn)條件,則執(zhí)行圖14所示的序列圖中的步驟S1402 中的作業(yè)信息更新處理。更具體地說(shuō),通過(guò)在步驟S1402中更新作業(yè)信息并將作業(yè)表700中包含的狀態(tài)字段706的值改變?yōu)椤癋ailure”,后端處理單元402執(zhí)行控制,以清楚地表示作業(yè)已經(jīng)失敗。 換句話說(shuō),認(rèn)為作業(yè)已經(jīng)失敗。后端處理單元402根據(jù)在步驟S1403中接收到的消息刪除請(qǐng)求,從隊(duì)列存儲(chǔ)服務(wù) 405中刪除由當(dāng)前處理所處理的消息。通過(guò)執(zhí)行上述處理,以后不對(duì)作業(yè)進(jìn)行處理。執(zhí)行上述處理,以避免不利地執(zhí)行質(zhì)量未達(dá)到預(yù)定水平的服務(wù)。以下將參照?qǐng)D14描述由平臺(tái)應(yīng)用408執(zhí)行的用于獲取打印數(shù)據(jù)的處理。參照?qǐng)D 14,圖14所示的步驟S1050至S1053中的處理與圖10所示的處理類(lèi)似。請(qǐng)求接收單元401通過(guò)參照在步驟S1053中獲取到的狀態(tài)字段706,能夠確定處理已經(jīng)失敗。因此,在步驟S1404中,請(qǐng)求接收單元401將錯(cuò)誤通知發(fā)送給平臺(tái)應(yīng)用408。當(dāng)接收到錯(cuò)誤通知時(shí),平臺(tái)應(yīng)用408暫停處理。根據(jù)本示例性實(shí)施例,能夠暫停執(zhí)行質(zhì)量尚未達(dá)到預(yù)定質(zhì)量的服務(wù)。因此,本示例性實(shí)施例能夠有效地利用系統(tǒng)資源。如圖12A至圖12C所示,本發(fā)明的上述示例性實(shí)施例的各個(gè)包含請(qǐng)求接收單元,該請(qǐng)求接收單元針對(duì)IN、PIPE和OUT型服務(wù)的各個(gè)具有唯一功能。然而,可以以統(tǒng)一方式使用多個(gè)請(qǐng)求接收單元。更具體地說(shuō),在圖16A所示的示例中,執(zhí)行指令接收單元1201和結(jié)果獲取請(qǐng)求接收單元1205的功能被組合成請(qǐng)求接收單元1601。在本示例中,作為在步驟S1014中從后端處理單元402發(fā)送的任務(wù)執(zhí)行指令的結(jié)果,請(qǐng)求接收單元1601接收?qǐng)?zhí)行指令,執(zhí)行對(duì)應(yīng)于執(zhí)行指令接收單元1201的處理,然后執(zhí)行對(duì)應(yīng)于結(jié)果獲取請(qǐng)求接收單元1205的處理。后端處理單元402接收與在步驟S1019中發(fā)送的應(yīng)答等同的應(yīng)答,作為對(duì)步驟 S1014中發(fā)送的指令的應(yīng)答。換句話說(shuō),在這種情況下,不執(zhí)行等同于步驟S1017和S1018 的處理。在圖16B所示的示例中,輸入數(shù)據(jù)接收單元1208、執(zhí)行指令接收單元1210和結(jié)果獲取請(qǐng)求接收單元1205的功能被組合成請(qǐng)求接收單元1602。在這種情況下,當(dāng)后端處理單元402執(zhí)行步驟S1065中的處理時(shí),請(qǐng)求接收單元 1602依次執(zhí)行對(duì)應(yīng)于輸入數(shù)據(jù)接收單元1208、執(zhí)行指令接收單元1210和結(jié)果獲取請(qǐng)求接收單元1205的處理。后端處理單元402接收與在步驟S1069中發(fā)送的應(yīng)答等同的應(yīng)答,作為對(duì)步驟 S1065中發(fā)送的請(qǐng)求的應(yīng)答。換句話說(shuō),在這種情況下,不執(zhí)行等同于步驟S1066至S1068 的處理。類(lèi)似地,在圖16C所示的示例中,輸入數(shù)據(jù)接收單元1208、執(zhí)行指令接收單元1212 和結(jié)果獲取請(qǐng)求接收單元1214的功能被組合成請(qǐng)求接收單元1603。在這種情況下,當(dāng)后端處理單元402執(zhí)行步驟S1041中的處理時(shí),請(qǐng)求接收單元1603依次執(zhí)行對(duì)應(yīng)于輸入數(shù)據(jù)接收單元1208、執(zhí)行指令接收單元1212和結(jié)果獲取請(qǐng)求接收單元1214的處理。后端處理單元402接收與步驟S1038中發(fā)送的應(yīng)答等同的應(yīng)答,作為對(duì)步驟S1041 中發(fā)送的指令的應(yīng)答。換句話說(shuō),在這種情況下,不執(zhí)行等同于步驟S1035至S1037的處理。如上所述,圖12A至圖12C所示的三種IN、PIPE或OUT請(qǐng)求接收單元被整合提供為圖16A至圖16C中所示的示例中的一個(gè)單元。然而,作為替代方案,這三種請(qǐng)求接收單元的功能能夠被分割和整合提供給兩個(gè)請(qǐng)求接收單元。換句話說(shuō),如果滿足以下要求,則能夠采用上述替代結(jié)構(gòu)。首先,要求數(shù)據(jù)能夠從平臺(tái)系統(tǒng)500被發(fā)送給Web服務(wù)。其次,平臺(tái)系統(tǒng)500能夠從Web服務(wù)獲取數(shù)據(jù)。如果實(shí)現(xiàn)根據(jù)本發(fā)明的各示例性實(shí)施例的接口,則平臺(tái)系統(tǒng)500不能在滿足這兩個(gè)要求的同時(shí)直接訪問(wèn)Web服務(wù)。結(jié)果,允許服務(wù)應(yīng)用的開(kāi)發(fā)者使用平臺(tái)系統(tǒng)500,而不公開(kāi)其自身的專門(mén)知識(shí)及技術(shù)。此外,由于除非使用實(shí)現(xiàn)接口的服務(wù)應(yīng)用,否則不能利用平臺(tái)系統(tǒng)500,因此平臺(tái)系統(tǒng)500的廠商能夠?qū)⑵脚_(tái)系統(tǒng)500的質(zhì)量維持在恒定高的水平。在本發(fā)明的各示例性實(shí)施例中,在單個(gè)服務(wù)器計(jì)算機(jī)上運(yùn)行一例(一個(gè)虛擬機(jī))。 然而,本發(fā)明并不限于此。更具體地說(shuō),如果服務(wù)器計(jì)算機(jī)包括多核CPU,則能夠?qū)崿F(xiàn)針對(duì)一個(gè)核包含一例的結(jié)構(gòu)。如果服務(wù)器計(jì)算機(jī)遵照多線程(multi-threading),則一個(gè)CPU能夠?qū)崿F(xiàn)至少一個(gè)虛擬機(jī)(當(dāng)然也可以是兩個(gè)、三個(gè)或更多個(gè)虛擬機(jī))。如上所述,根據(jù)各示例性實(shí)施例,用于實(shí)現(xiàn)一例的方法并不限于特定方法。換句話說(shuō),可以適當(dāng)?shù)馗淖兏鶕?jù)各示例性實(shí)施例的用于實(shí)現(xiàn)一例的方法。根據(jù)本發(fā)明的各示例性實(shí)施例,文檔轉(zhuǎn)換服務(wù)411將內(nèi)容轉(zhuǎn)換成PDF數(shù)據(jù)。然而,文檔轉(zhuǎn)換服務(wù)411可以將內(nèi)容轉(zhuǎn)換為任何其他適當(dāng)?shù)母袷健8唧w地說(shuō),文檔轉(zhuǎn)換服務(wù)411 能夠具有將內(nèi)容轉(zhuǎn)換成以下多種格式中的至少一種格式的功能,即諸如Postkript (PS)、 打印機(jī)控制語(yǔ)言(PCL)和擴(kuò)展標(biāo)記語(yǔ)言(XML)文件規(guī)格(XPS)的頁(yè)面描述語(yǔ)言(PDL)。如上所述,文檔轉(zhuǎn)換服務(wù)411能夠?qū)?nèi)容轉(zhuǎn)換成除上述格式以外的任何適當(dāng)?shù)臄?shù)據(jù)格式。此外,包含任務(wù)1、任務(wù)2和任務(wù)3的三個(gè)任務(wù)被用作根據(jù)本發(fā)明的各示例性實(shí)施例的任務(wù)。然而,任務(wù)的數(shù)量并不限于此。更具體地說(shuō),通過(guò)增加PIPE型任務(wù)的數(shù)量,可以增加任務(wù)的數(shù)量。此外,如上所述,根據(jù)本發(fā)明的各示例性實(shí)施例的任務(wù)服務(wù)被劃分為三種服務(wù)類(lèi)型,因此這種結(jié)構(gòu)對(duì)于實(shí)現(xiàn)本發(fā)明尤其有用。更具體地說(shuō),這是由于服務(wù)應(yīng)用的開(kāi)發(fā)者能夠增加處理程序的多樣性。換句話說(shuō),開(kāi)發(fā)者在開(kāi)發(fā)另一服務(wù)應(yīng)用時(shí)能夠再利用該處理程序。 然而,如果本發(fā)明的目的并不在于該效果,則本發(fā)明不限于此。換句話說(shuō),不需要采用在一個(gè)作業(yè)中包含一個(gè)IN或OUT任務(wù)的結(jié)構(gòu)。對(duì)此解釋為, 在一個(gè)作業(yè)中可以包含多個(gè)IN或OUT任務(wù)。另外,在一個(gè)作業(yè)中可以只包含IN型任務(wù)。作為替代方案,在一個(gè)作業(yè)中可以包含IN型任務(wù)和OUT型任務(wù)二者。此外,代替提供三種服務(wù)類(lèi)型,可以只提供一種服務(wù)類(lèi)型。在這種情況下,IN、PIPE 和OUT型服務(wù)被整合成一種類(lèi)型。作為替代方案,代替使用三種服務(wù)類(lèi)型,即IN(輸入)、 PIPE(處理)以及OUT(輸出)型,通過(guò)進(jìn)一步劃分服務(wù)類(lèi)型,可以提供四種或更多種服務(wù)類(lèi)型。在各示例性實(shí)施例中,通過(guò)Web服務(wù)來(lái)提供服務(wù),并且通過(guò)URI來(lái)管理由此提供的地址。然而,可以通過(guò)任何其它方法來(lái)提供服務(wù)。更具體地說(shuō),代替Web服務(wù),可以通過(guò)表象化狀態(tài)轉(zhuǎn)變(REST,Representational State Transfer)的接口來(lái)提供服務(wù)。作為替代方案,可以通過(guò)諸如動(dòng)態(tài)鏈接庫(kù)(DLL)的模塊來(lái)提供服務(wù)。換句話說(shuō),如果文檔提取服務(wù)410被提供作為DLL,則后端處理單元402能夠執(zhí)行該DLL。如果后端處理單元402執(zhí)行該DLL,則后端處理單元402能夠用作文檔提取服務(wù)410。如果后端處理單元402已經(jīng)執(zhí)行了 IN型DLL,則文檔倉(cāng)庫(kù)406獲取文檔文件。因此,在這種情況下,任務(wù)服務(wù)的開(kāi)發(fā)者不需要構(gòu)建用于提供任務(wù)服務(wù)的服務(wù)提供裝置。然而,在這種情況下,服務(wù)的開(kāi)發(fā)者在必要時(shí)需要向平臺(tái)系統(tǒng)500的廠商公開(kāi)自身的專門(mén)知識(shí)和技術(shù)。諸如統(tǒng)一資源標(biāo)識(shí)符(URI)的地址是平臺(tái)系統(tǒng)500內(nèi)的地址。本發(fā)明的各方面還可以通過(guò)讀出并執(zhí)行記錄在存儲(chǔ)裝置上的用于執(zhí)行上述實(shí)施例的功能的程序的系統(tǒng)或設(shè)備的計(jì)算機(jī)(或諸如CPU或MPU的裝置)、以及由系統(tǒng)或設(shè)備的計(jì)算機(jī)例如讀出并執(zhí)行記錄在存儲(chǔ)裝置上的用于執(zhí)行上述實(shí)施例的功能的程序來(lái)執(zhí)行各步驟的方法來(lái)實(shí)現(xiàn)。鑒于此,例如經(jīng)由網(wǎng)絡(luò)或者從用作存儲(chǔ)裝置的各種類(lèi)型的記錄介質(zhì) (例如計(jì)算機(jī)可讀介質(zhì))向計(jì)算機(jī)提供程序。雖然參照示例性實(shí)施例對(duì)本發(fā)明進(jìn)行了說(shuō)明,但是應(yīng)當(dāng)理解,本發(fā)明不限于所公開(kāi)的示例性實(shí)施例。應(yīng)當(dāng)對(duì)所附權(quán)利要求的范圍給予最寬的解釋,以使其涵蓋所有這種變型、等同結(jié)構(gòu)及功能。
權(quán)利要求
1.一種云計(jì)算系統(tǒng),該云計(jì)算系統(tǒng)包括 圖像處理裝置;平臺(tái)系統(tǒng),其被構(gòu)造為提供分布式環(huán)境;以及 Web服務(wù),其中,所述圖像處理裝置包括發(fā)送單元,該發(fā)送單元被構(gòu)造為向所述平臺(tái)系統(tǒng)發(fā)送作業(yè),其中,所述平臺(tái)系統(tǒng)包括插入單元,其被構(gòu)造為在請(qǐng)求接收程序的控制下,將由所述發(fā)送單元發(fā)送的所述作業(yè)插入到隊(duì)列中;識(shí)別單元,其被構(gòu)造為在后端處理程序的控制下,獲取由所述插入單元插入到所述隊(duì)列中的所述作業(yè)并且識(shí)別所述作業(yè)的處理狀態(tài);以及選擇單元,其被構(gòu)造為在所述后端處理程序的控制下,基于由所述識(shí)別單元識(shí)別出的所述處理狀態(tài),從由所述Web服務(wù)提供的多個(gè)任務(wù)服務(wù)中選擇能夠用于執(zhí)行所述作業(yè)的任務(wù)處理的任務(wù)服務(wù),其中,由所述選擇單元選擇的所述任務(wù)服務(wù)包括執(zhí)行單元,該執(zhí)行單元被構(gòu)造為執(zhí)行所述作業(yè)的任務(wù)處理,其中,所述平臺(tái)系統(tǒng)包括接收單元,該接收單元被構(gòu)造為在所述后端處理程序的控制下,從所述任務(wù)服務(wù)接收關(guān)于由所述執(zhí)行單元執(zhí)行的所述任務(wù)處理的結(jié)果的信息,以及其中,在基于由所述接收單元接收到的信息確定所述作業(yè)的處理已經(jīng)完成的情況下, 所述平臺(tái)系統(tǒng)在所述請(qǐng)求接收程序的控制下,將由所述圖像處理裝置用來(lái)獲取所述作業(yè)的處理的結(jié)果的信息發(fā)送給所述圖像處理裝置。
2.根據(jù)權(quán)利要求1所述的云計(jì)算系統(tǒng),其中,所述任務(wù)服務(wù)包括獲取任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于獲取與所述作業(yè)相關(guān)的數(shù)據(jù)的任務(wù)處理; 處理任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于對(duì)所述數(shù)據(jù)執(zhí)行指定處理的任務(wù)處理;以及發(fā)送任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于發(fā)送由所述圖像處理裝置用來(lái)獲取所述指定處理的結(jié)果的信息的任務(wù)處理,其中,在由所述識(shí)別單元識(shí)別出所述作業(yè)尚未被處理的情況下,所述選擇單元選擇所述獲取任務(wù)服務(wù),其中,在由所述識(shí)別單元識(shí)別出所述作業(yè)的處理已經(jīng)開(kāi)始但所述指定處理尚未被執(zhí)行的情況下,所述選擇單元選擇所述處理任務(wù)服務(wù),以及其中,在由所述識(shí)別單元識(shí)別出所述指定處理已被執(zhí)行的情況下,所述選擇單元選擇所述發(fā)送任務(wù)服務(wù)。
3.一種圖像形成裝置和平臺(tái)系統(tǒng)的控制方法,所述平臺(tái)系統(tǒng)被構(gòu)造為提供能夠與Web 服務(wù)通信的分布式環(huán)境,該控制方法包括以下步驟在請(qǐng)求接收程序的控制下,通過(guò)作業(yè)接收單元從所述圖像形成裝置接收作業(yè); 在后端處理程序的控制下,通過(guò)識(shí)別單元識(shí)別由所述作業(yè)接收單元接收到的所述作業(yè)的處理狀態(tài);在所述后端處理程序的控制下,通過(guò)選擇單元基于由所述識(shí)別單元識(shí)別出的所述處理狀態(tài),從由所述Web服務(wù)提供的多個(gè)任務(wù)服務(wù)中選擇用于處理所述作業(yè)中包含的任務(wù)的任務(wù)服務(wù);在所述請(qǐng)求接收程序的控制下,通過(guò)接收單元從由所述選擇單元選擇的所述任務(wù)服務(wù)接收關(guān)于所述任務(wù)的處理的結(jié)果的信息;以及在基于由所述接收單元接收到的所述信息確定所述作業(yè)的處理已經(jīng)完成的情況下,將由所述圖像形成裝置用來(lái)獲取所述作業(yè)的處理的結(jié)果的信息發(fā)送給所述圖像形成裝置。
4.根據(jù)權(quán)利要求3所述的控制方法,其中,所述任務(wù)服務(wù)包括獲取任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于獲取與所述作業(yè)相關(guān)的數(shù)據(jù)的任務(wù)處理; 處理任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于對(duì)所述數(shù)據(jù)執(zhí)行指定處理的任務(wù)處理;以及發(fā)送任務(wù)服務(wù),其被構(gòu)造為執(zhí)行用于發(fā)送由所述圖像形成裝置用來(lái)獲取所述指定處理的結(jié)果的信息的任務(wù)處理,并且其中,所述控制方法還包括以下步驟在由所述識(shí)別單元識(shí)別出所述作業(yè)尚未被處理的情況下,選擇所述獲取任務(wù)服務(wù), 在由所述識(shí)別單元識(shí)別出所述作業(yè)的處理已經(jīng)開(kāi)始但所述指定處理尚未被執(zhí)行的情況下,選擇所述處理任務(wù)服務(wù),以及在由所述識(shí)別單元識(shí)別出所述指定處理已被執(zhí)行的情況下,選擇所述發(fā)送任務(wù)服務(wù)。
5.根據(jù)權(quán)利要求4所述的控制方法,所述控制方法還包括以下步驟在所述后端處理程序的控制下,通過(guò)計(jì)算單元基于由所述任務(wù)服務(wù)進(jìn)行的任務(wù)處理的執(zhí)行次數(shù)和由所述任務(wù)服務(wù)進(jìn)行的所述任務(wù)處理的失敗次數(shù),計(jì)算所述任務(wù)服務(wù)的失敗率;以及在所述請(qǐng)求接收程序的控制下,如果由所述計(jì)算單元計(jì)算出的所述任務(wù)服務(wù)的所述失敗率超出閾值,則通過(guò)錯(cuò)誤發(fā)送單元暫停所述作業(yè)的處理并且將表示所述作業(yè)的處理已經(jīng)失敗的消息發(fā)送給所述圖像形成裝置。
6.一種云計(jì)算系統(tǒng),該云計(jì)算系統(tǒng)包括請(qǐng)求接收單元,其通過(guò)執(zhí)行請(qǐng)求接收程序來(lái)實(shí)現(xiàn),并被構(gòu)造為響應(yīng)于由圖像形成裝置接收到的作業(yè)處理請(qǐng)求,將與由所述圖像形成裝置請(qǐng)求的待處理的作業(yè)對(duì)應(yīng)的消息存儲(chǔ)在存儲(chǔ)單元上;后端處理單元,其通過(guò)執(zhí)行后端處理程序來(lái)實(shí)現(xiàn),并被構(gòu)造為周期性地向所述存儲(chǔ)單元輸入獲取所述消息的請(qǐng)求,并且在從所述存儲(chǔ)單元獲取到所述消息的情況下執(zhí)行基于所述消息的處理;以及管理單元,其被構(gòu)造為管理所述后端處理單元的處理單元的數(shù)量, 其中,所述后端處理單元包括識(shí)別單元,其被構(gòu)造為識(shí)別與從所述存儲(chǔ)單元獲取到的所述消息對(duì)應(yīng)的作業(yè)的任務(wù)執(zhí)行狀態(tài);以及指示單元,其被構(gòu)造為從由服務(wù)提供裝置提供的多個(gè)任務(wù)服務(wù)中選擇與由所述識(shí)別單元識(shí)別出的所述任務(wù)執(zhí)行狀態(tài)對(duì)應(yīng)的任務(wù)服務(wù),并且指示所述服務(wù)提供裝置使所選擇的任務(wù)服務(wù)執(zhí)行任務(wù)執(zhí)行狀態(tài)被所述識(shí)別單元識(shí)別的所述作業(yè)的處理。
7.根據(jù)權(quán)利要求6所述的云計(jì)算系統(tǒng),其中,從所述圖像形成裝置發(fā)送的待處理的作業(yè)包括由所述服務(wù)提供裝置提供的所述多個(gè)任務(wù)服務(wù)中的任務(wù)服務(wù),以及所述任務(wù)服務(wù)的執(zhí)行順序的定義,并且其中,所述識(shí)別單元通過(guò)在預(yù)定的任務(wù)服務(wù)中驗(yàn)證所述作業(yè)對(duì)任務(wù)服務(wù)的利用程度來(lái)識(shí)別所述任務(wù)執(zhí)行狀態(tài)。
8.根據(jù)權(quán)利要求7所述的云計(jì)算系統(tǒng),其中,所述后端處理單元還包括確定單元,其被構(gòu)造為確定由所述指示單元指示執(zhí)行所述作業(yè)的處理的任務(wù)服務(wù)的質(zhì)量是否滿足基準(zhǔn)條件;以及刪除指示單元,其被構(gòu)造為在由所述確定單元確定所述任務(wù)服務(wù)的所述質(zhì)量不滿足所述基準(zhǔn)條件的情況下,指示所述存儲(chǔ)單元從所述存儲(chǔ)單元中刪除與由所述指示單元指示的所述作業(yè)對(duì)應(yīng)的消息。
9.根據(jù)權(quán)利要求8所述的云計(jì)算系統(tǒng),其中,所述質(zhì)量是由所述任務(wù)服務(wù)處理的所述作業(yè)的失敗率。
10.根據(jù)權(quán)利要求9所述的云計(jì)算系統(tǒng),其中,所述請(qǐng)求接收單元包括發(fā)送單元,所述發(fā)送單元被構(gòu)造為在所述消息被所述刪除指示單元?jiǎng)h除的情況下,將表示所述作業(yè)沒(méi)有被成功處理的通知發(fā)送給所述圖像形成裝置。
11.一種云計(jì)算系統(tǒng)的控制方法,該云計(jì)算系統(tǒng)包括請(qǐng)求接收單元,其通過(guò)執(zhí)行請(qǐng)求接收程序來(lái)實(shí)現(xiàn),并被構(gòu)造為響應(yīng)于由圖像形成裝置接收到的作業(yè)處理請(qǐng)求,將與由圖像形成裝置請(qǐng)求的待處理的作業(yè)對(duì)應(yīng)的消息存儲(chǔ)在存儲(chǔ)單元上;后端處理單元,其通過(guò)執(zhí)行后端處理程序來(lái)實(shí)現(xiàn),并被構(gòu)造為周期性地向所述存儲(chǔ)單元輸入獲取所述消息的請(qǐng)求,并且在從所述存儲(chǔ)單元獲取到所述消息的情況下執(zhí)行基于所述消息的處理;以及管理單元, 其被構(gòu)造為管理所述后端處理單元的處理單元的數(shù)量,所述控制方法包括以下步驟通過(guò)所述后端處理單元,識(shí)別與從所述存儲(chǔ)單元獲取到的所述消息對(duì)應(yīng)的作業(yè)的任務(wù)執(zhí)行狀態(tài);以及從由服務(wù)提供裝置提供的多個(gè)任務(wù)服務(wù)中選擇與所識(shí)別的任務(wù)執(zhí)行狀態(tài)對(duì)應(yīng)的任務(wù)服務(wù),并指示所述服務(wù)提供裝置使所選擇的任務(wù)服務(wù)執(zhí)行任務(wù)執(zhí)行狀態(tài)被識(shí)別的所述作業(yè)的處理。
全文摘要
本發(fā)明提供云計(jì)算系統(tǒng)及其控制方法。所述云計(jì)算系統(tǒng)包括輸入數(shù)據(jù)存儲(chǔ)單元、數(shù)據(jù)輸入單元、輸出數(shù)據(jù)存儲(chǔ)單元以及數(shù)據(jù)提取單元。當(dāng)從外部輸入執(zhí)行指令時(shí),所述云計(jì)算系統(tǒng)從所述輸入數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù)并處理所讀取的數(shù)據(jù)。然后,所述云計(jì)算系統(tǒng)將所述數(shù)據(jù)的處理結(jié)果存儲(chǔ)在所述輸出數(shù)據(jù)存儲(chǔ)單元上。
文檔編號(hào)H04L29/08GK102164169SQ20111004293
公開(kāi)日2011年8月24日 申請(qǐng)日期2011年2月22日 優(yōu)先權(quán)日2010年2月22日
發(fā)明者三原誠(chéng), 高橋武司 申請(qǐng)人:佳能株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1