JP5943761B2 - Peripheral device, information processing device, communication control method, and program - Google Patents

Peripheral device, information processing device, communication control method, and program Download PDF

Info

Publication number
JP5943761B2
JP5943761B2 JP2012167511A JP2012167511A JP5943761B2 JP 5943761 B2 JP5943761 B2 JP 5943761B2 JP 2012167511 A JP2012167511 A JP 2012167511A JP 2012167511 A JP2012167511 A JP 2012167511A JP 5943761 B2 JP5943761 B2 JP 5943761B2
Authority
JP
Japan
Prior art keywords
information
processing
preprocessing
job
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012167511A
Other languages
Japanese (ja)
Other versions
JP2013127771A (en
JP2013127771A5 (en
Inventor
安部 孝一
孝一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012167511A priority Critical patent/JP5943761B2/en
Publication of JP2013127771A publication Critical patent/JP2013127771A/en
Publication of JP2013127771A5 publication Critical patent/JP2013127771A5/ja
Application granted granted Critical
Publication of JP5943761B2 publication Critical patent/JP5943761B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、周辺装置、情報処理装置、通信制御方法、及びプログラムに関する。   The present invention relates to a peripheral device, an information processing device, a communication control method, and a program.

近年、USB、Ethernet(登録商標)、無線LAN等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅、オフィス等、様々な場面で有効に活用されている。周辺装置の例としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、これらの複合機等が挙げられる。
このような周辺装置のうちのプリンタや複合機に対して、Google社からGoogle Cloud Print(登録商標であり、以下、GCPと略す。)と呼ばれるクラウド印刷サービスが提供されている。クラウド印刷サービスを利用すると、ユーザは、パーソナルコンピュータ(以下、PCと略す。)やモバイルデバイスから文書作成用のアプリケーション等を起動(利用)し、インターネットを介して文書をプリンタや複合機で印刷することが可能である。GCPを利用した印刷の手順は、次のようなものである。
In recent years, peripheral device control systems in which peripheral devices are connected to information processing devices using various interfaces such as USB, Ethernet (registered trademark), and wireless LAN have been effectively used in various situations such as homes and offices. ing. Examples of the peripheral device include a printer, a copier, a facsimile machine, a scanner, a digital camera, and a complex machine of these.
A cloud printing service called Google Cloud Print (registered trademark, hereinafter abbreviated as GCP) is provided by Google Inc. for printers and multifunction peripherals of such peripheral devices. When using the cloud printing service, a user activates (uses) a document creation application from a personal computer (hereinafter abbreviated as a PC) or a mobile device, and prints the document with a printer or a multifunction device via the Internet. It is possible. The printing procedure using GCP is as follows.

(1)ユーザが、PCに設けられた文書作成用のアプリケーションを利用してある文書を開く操作を行う。
(2)ユーザが、その文書をあるプリンタで印刷するために、印刷ダイアログを開いてそのプリンタを選択し、印刷を実行する操作を行う。
(3)文書作成用のアプリケーションが印刷画像をPDFファイルとして生成する。
(4)GCPが印刷ダイアログで選択された印刷設定値と、前記PDFファイルから印刷ジョブを生成し、GCP内でそのプリンタに割り当られたプリントキューに印刷ジョブを格納し、プリンタに印刷ジョブ通知を送信する。
(5)プリンタは、前記印刷ジョブ通知を受信すると、前記印刷ジョブを取得して、前記印刷設定値に従って、前記PDFファイルの印刷画像を印刷する。
(1) A user performs an operation of opening a document using a document creation application provided in the PC.
(2) In order to print the document with a printer, the user opens a print dialog, selects the printer, and performs an operation to execute printing.
(3) A document creation application generates a print image as a PDF file.
(4) GCP generates a print job from the print setting value selected in the print dialog and the PDF file, stores the print job in a print queue assigned to the printer in GCP, and notifies the printer of the print job Send.
(5) Upon receiving the print job notification, the printer acquires the print job and prints the print image of the PDF file according to the print setting value.

例えば、PDFファイルをレンダリングすることができるプリンタや複合機である場合、プリンタや複合機は、前記手順に従ってGCPを利用して印刷することができる。しかしながら、PDFファイルをレンダリングすることができない廉価版のプリンタや複合機である場合、廉価版のプリンタや複合機は、(5)においてPDFファイルの印刷画像を印刷することができない。
このような廉価版のプリンタや複合機でGCPを利用して印刷するために、PDFファイルを、例えばJPEGファイル等の廉価版のプリンタや複合機で印刷できる画像フォーマットに変換するWebサービス(画像変換サービス)用のアプリケーションが存在する。そして、画像変換サービスアプリケーションを利用して、PDFファイルをJPEGファイルに変換し、廉価版のプリンタや複合機で印刷するような周辺装置制御システムが提案されている。
For example, in the case of a printer or multifunction device capable of rendering a PDF file, the printer or multifunction device can print using GCP according to the above procedure. However, in the case of a low-priced printer or multifunction peripheral that cannot render a PDF file, the low-priced printer or multifunction peripheral cannot print the print image of the PDF file in (5).
A web service (image conversion) that converts a PDF file into an image format that can be printed by a low-priced printer or multifunction device such as a JPEG file in order to print using GCP with such a low-priced printer or multifunction device. Service) exists. Then, a peripheral device control system has been proposed in which a PDF file is converted into a JPEG file using an image conversion service application and printed by an inexpensive printer or multifunction device.

また、プリントのWebサービスに関するその他の技術として特許文献1がある。特許文献1に記載のプリントサービスでは、以下の方法を用いて任意の場所に設置されたプリンタでの印刷を実現している。それは、各地に配備された印刷環境共用サービス間で印刷予約やデータ、印刷可能なアプリケーション情報を交換し、ユーザに印刷可能な印刷場所を提示する方法によって実現している。特許文献1により、ユーザは、遠隔地にある任意の場所に設置されたプリンタで印刷が可能となる。   Further, there is Patent Document 1 as another technique related to a print Web service. In the print service described in Patent Document 1, printing is performed by a printer installed at an arbitrary place using the following method. This is realized by a method in which print reservations, data, and printable application information are exchanged between print environment sharing services deployed in various locations, and a printable print location is presented to the user. According to Patent Literature 1, a user can print with a printer installed at an arbitrary place in a remote place.

特開2005−100340号公報JP 2005-100340 A

上述したような周辺装置制御システムでは、複数のプリンタを管理し、GCPに対応させるためのクラウド印刷プロキシサービスを提供するWebサービス(プロキシサービス)用のアプリケーションが必要となる。
そして、プロキシサービスアプリケーションと画像変換サービスアプリケーションとの間では、ポーリングによる画像変換処理の進捗状況の確認処理が行われている。また、廉価版のプリンタや複合機が自装置宛に発行されて印刷の準備が完了した印刷ジョブの有無を確認するために、そのプリンタや複合機とクラウド印刷プロキシサービスとの間では、ポーリングによる印刷ジョブの有無の確認処理が行われている。
上述の各サービス間のインタフェース、及び各サービスと廉価版のプリンタや複合機間のインタフェースは、WebサービスAPIで規定され、通常はSSL通信で暗号化されたHTTPSのPOSTメソッドやGETメソッドが利用されている。このように暗号化された通信により、セキュリティが確保されている。
この場合、情報の送信時の暗号化や情報の受信時の復号化に非常に時間を要することになり、また、通信処理の負荷が大きくなるので、クラウドを利用したときにシステムの構築やアプリケーションの実装に支障をきたすという問題がある。
また、性能の低い廉価版のプリンタや複合機のファームウェアの実装にも支障をきたす問題があり、更に、各処理に時間を要したりする等、ユーザの操作性も悪くなるという問題がある。
In the peripheral device control system as described above, an application for a Web service (proxy service) that manages a plurality of printers and provides a cloud print proxy service for supporting GCP is required.
Then, between the proxy service application and the image conversion service application, confirmation processing of the progress status of the image conversion processing by polling is performed. In addition, in order to check whether there is a print job for which a low-priced printer or multifunction device has been issued and is ready for printing, polling is required between the printer or multifunction device and the cloud print proxy service. Processing for confirming the presence or absence of a print job is performed.
The interface between the services described above, and the interface between each service and a low-priced printer or multifunction peripheral is defined by the Web service API, and usually uses the HTTPS POST method and GET method encrypted by SSL communication. ing. Security is ensured by such encrypted communication.
In this case, encryption at the time of information transmission and decryption at the time of information reception will take a lot of time, and the load of communication processing will increase, so when using the cloud system construction and application There is a problem that it will interfere with the implementation of.
In addition, there are problems that impede the implementation of firmware for low-priced low-performance printers and multi-function machines, and there is a problem that the operability of the user is also deteriorated, such as taking time for each process.

本発明はこのような問題点に鑑みなされたもので、装置間の通信をより適切に行うことを目的とする。   The present invention has been made in view of such problems, and an object thereof is to more appropriately perform communication between apparatuses.

そこで、本発明は、管理装置と通信可能に接続された周辺装置であって、記管理装置に前記周辺装置が取得すべき情報があるか否かを確認する際に用いる確認情報については暗号化を行わない通信方式で前記管理装置に送信し、前記確認情報とは異なる印刷ジョブを取得するための取得情報については暗号化を行う通信方式で前記管理装置に送信する通信手段を有することを特徴とする。 Accordingly, the present invention provides a communicably connected peripheral device and the management device, the confirmation information used in the peripheral device prior Symbol management apparatus confirms whether the information should be acquired Has a communication means for transmitting to the management apparatus using a communication method that does not perform encryption, and transmitting the acquired information for acquiring a print job different from the confirmation information to the management apparatus using a communication method that performs encryption. It is characterized by that.

また、本発明は、システム、記憶媒体などとしてもよい。   The present invention may be a system, a storage medium, and the like.

本発明によれば、装置間の通信をより適切に行うことができる。   According to the present invention, communication between devices can be performed more appropriately.

周辺装置制御システムの構成の一例を示す図である。It is a figure which shows an example of a structure of a peripheral device control system. PC及びMFPのハードウェアの構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a PC and an MFP. FIG. PCのソフトウェアの構成の一例を示す図である。It is a figure which shows an example of a structure of the software of PC. Webブラウザの一例を示す図である。It is a figure which shows an example of a web browser. 印刷ダイアログの一例を示す図である。It is a figure which shows an example of a print dialog. 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of the whole peripheral device control system. 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of the whole peripheral device control system. 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of the whole peripheral device control system. プロキシAPPの処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of proxy APP. 画像変換APPの処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of image conversion APP. 画像変換APPの処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of image conversion APP. 画像変換APPの処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of image conversion APP. コーリングシーケンスの一例を示す図である。It is a figure which shows an example of a calling sequence. 画面の一例を示す図である。It is a figure which shows an example of a screen. 画面の一例を示す図である。It is a figure which shows an example of a screen. プリンタを登録する処理に係るフローチャートの一例を示す図である。FIG. 6 is a diagram illustrating an example of a flowchart relating to processing for registering a printer. 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart which concerns on the process of the whole peripheral device control system.

以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiments do not limit the present invention, and all the configurations described in the embodiments are not necessarily essential to the means for solving the problems of the present invention.

以下において、WebサービスAPIにSSL通信で暗号化されたHTTPSのPOSTメソッド(通信方式の一例)を利用している場合があるが、このPOSTメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。
また、以下において、WebサービスAPIにHTTPのGETメソッド(通信方式の一例)を利用している場合があるが、このGETメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。
また、以下において、WebサービスAPIにSSL通信で暗号化されたHTTPSのGETメソッド(通信方式の一例)を利用している場合があるが、このGETメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。
また、HTTPは、Hyper Text Transfer Protocolの略であり、暗号化されていない公知の通信プロトコルであるので、ここではその詳細な説明を省略する。
In the following, there is a case where an HTTPS POST method (an example of a communication method) encrypted by SSL communication is used for the Web service API. However, since this POST method is publicly available information, here Then, the detailed description is abbreviate | omitted.
In the following, an HTTP GET method (an example of a communication method) may be used for the Web service API. Since this GET method is publicly available information, a detailed description thereof will be given here. Is omitted.
In the following, an HTTPS GET method (an example of a communication method) encrypted by SSL communication may be used for the Web service API. However, since this GET method is publicly available information. Detailed description thereof is omitted here.
HTTP is an abbreviation for Hyper Text Transfer Protocol and is a well-known unencrypted communication protocol, and therefore, detailed description thereof is omitted here.

また、HTTPSは、Hyper Text Transfer Protocol over Secure Socket Layerの略であり、暗号化された公知の通信プロトコルであるので、ここではその詳細な説明を省略する。
また、SSLは、Secure Socket Layerの略であり、インターネット上でデータを暗号化して送受信する公知の方法であるので、ここではその詳細な説明を省略する。
また、Google Cloud Print(GCP)に関する説明は、次に示すサ
イトで公開されているので、ここではその詳細な説明を省略する。
インターネットURL:http://code.google.com/apis/cloudprint/docs/overview.html
HTTPS is an abbreviation for Hyper Text Transfer Protocol over Secure Socket Layer, and is a well-known encrypted communication protocol, and therefore detailed description thereof is omitted here.
SSL is an abbreviation for Secure Socket Layer, and is a known method for encrypting and transmitting / receiving data on the Internet, and therefore detailed description thereof is omitted here.
In addition, since the description regarding Google Cloud Print (GCP) is disclosed on the following site, the detailed description thereof is omitted here.
Internet URL: http://code.google.com/apis/cloudprint/docs/overview.html

<第1の実施形態>
図1は、情報処理装置、及び周辺装置を含んで構成されるシステムの構成の一例(周辺装置制御システム)を示す図である。PC1、PC2、PC5、及びPC7の各々は、情報処理装置(コンピュータ)の一例であり、例えば、一般的なパーソナルコンピュータである。PC1、PC2、PC5、及びPC7の各々は、図2(A)に示すハードウェアを含んで構成される。
PC1には、Operating System(以下、OSと略す。)としてGoogle社製のChrome(登録商標)と同等のOSがインストールされている。また、PC2及びPC5の各々には、マイクロソフト社製のWindows(登録商標)のServer用のOSがインストールされ、PC7には、Linux(登録商標)と同等のOSがインストールされている。PC1、PC2、PC5、及びPC7は、それぞれEthernet等のインタフェース(I/F)で構成されるネットワーク4、8、10、6に接続され、インターネット12にも接続されている。
<First Embodiment>
FIG. 1 is a diagram illustrating an example (peripheral device control system) of a system including an information processing device and a peripheral device. Each of PC1, PC2, PC5, and PC7 is an example of an information processing apparatus (computer), and is, for example, a general personal computer. Each of PC1, PC2, PC5, and PC7 is configured to include the hardware shown in FIG.
An OS equivalent to Chrome (registered trademark) manufactured by Google Inc. is installed in the PC 1 as an operating system (hereinafter abbreviated as OS). In addition, Windows (registered trademark) Server OS made by Microsoft Corporation is installed in each of the PC 2 and PC 5, and an OS equivalent to Linux (registered trademark) is installed in the PC 7. The PC 1, PC 2, PC 5, and PC 7 are connected to networks 4, 8, 10, and 6, each of which includes an interface (I / F) such as Ethernet, and are also connected to the Internet 12.

マルチファンクションプリンタ(以下、MFPと略す。)3、103は、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を含んで構成され、周辺装置(コンピュータ)の一例である。MFP3、103は、ABC社製のKmmnというモデル名のMFPである。なお、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。
MFP3、及びMFP103の各々は、図2(B)に示すハードウェアを含んで構成される。また、MFP3は、Ethernetで構成されるネットワーク11に接続され、インターネット12にも接続されている。MFP103は、Ethernetで構成されるネットワーク104に接続され、インターネット12にも接続されている。
Multifunction printers (hereinafter abbreviated as MFPs) 3 and 103 are configured to include a color inkjet printer, a color facsimile, a color scanner, an external storage for flash memory, and the like, and are examples of peripheral devices (computers). MFPs 3 and 103 are MFPs having a model name of Kmmn manufactured by ABC. The peripheral device may be a printer, a copier, a facsimile machine, a scanner, a digital camera, a device having a composite function thereof, or the like.
Each of the MFP 3 and the MFP 103 is configured to include hardware shown in FIG. The MFP 3 is connected to a network 11 configured by Ethernet and is also connected to the Internet 12. The MFP 103 is connected to a network 104 configured by Ethernet, and is also connected to the Internet 12.

ルーター(Router)13は、Wi−Fi(登録商標)の無線LANを備えるブロードバンドルーター(Wi−Fi BB Router)等であり、インターネット12に接続されている。モバイルデバイス(MobileDevece)14は、携帯電話、携帯情報端末等である。モバイルデバイス14は、ルーター13と接続され、ルーター13を介してインターネット12にも接続されている。
PC1、PC2、PC5、PC7、モバイルデバイス14、MFP3、及びMFP103は、インターネット12を介して互いに双方向通信が可能である(通信可能に接続されている)。Webブラウザ(Web Browser)9は、PC1にインストールされ、Webブラウザ15は、モバイルデバイス14にインストールされている。
The router (Router) 13 is a broadband router (Wi-Fi BB Router) equipped with a Wi-Fi (registered trademark) wireless LAN, and is connected to the Internet 12. The mobile device (Mobile Device) 14 is a mobile phone, a mobile information terminal, or the like. The mobile device 14 is connected to the router 13 and is also connected to the Internet 12 via the router 13.
The PC 1, PC 2, PC 5, PC 7, mobile device 14, MFP 3, and MFP 103 are capable of bidirectional communication with each other via the Internet 12 (connected so as to be communicable). A Web browser (Web Browser) 9 is installed on the PC 1, and the Web browser 15 is installed on the mobile device 14.

アプリケーション(Application)145は、Webサービスを利用した文書作成用のアプリケーションであり、以下では、文書作成APP145と称する。アプリケーション(Application)146は、Webサービスを利用したクラウド印刷サービスを提供するアプリケーションであり、以下では、クラウド印刷APP146と称する。
クラウド印刷APP146は、例えば、Google社が提供するGCPと同等の機能を有する。このクラウド印刷サービスを利用することで、PC1内のWebブラウザ9やモバイルデバイス内のWebブラウザ15から、文書作成APP145を実行し、ある文書を開き、その文書をMFP3やMFP103で印刷することができるようになる。
The application (Application) 145 is an application for creating a document using a Web service, and is hereinafter referred to as a document creation APP 145. The application (Application) 146 is an application that provides a cloud print service using a Web service, and is hereinafter referred to as a cloud print APP 146.
The cloud printing APP 146 has a function equivalent to, for example, GCP provided by Google. By using this cloud printing service, the document creation APP 145 can be executed from the Web browser 9 in the PC 1 or the Web browser 15 in the mobile device, a certain document can be opened, and the document can be printed by the MFP 3 or the MFP 103. It becomes like this.

例えば、ユーザが、開いている文書を印刷する場合、図4に示す印刷メニュー401を選択すると、クラウド印刷APP146により図5に示す印刷ダイアログ142が表示される。ユーザが印刷ダイアログ142でプリンタを選択し、印刷ボタン534を押して印刷の実行を指示すると、文書作成APP145は、印刷画像をPDFファイルとして生成する。
そして、クラウド印刷APP146は、この印刷画像(PDFファイル)と印刷ダイアログ142で選択されている印刷設定値とから印刷ジョブを生成し、クラウド印刷サービス内の選択されたプリンタ用のプリントキューにその印刷ジョブを格納する。また、クラウド印刷APP146は、そのプリンタ(後述する本実施形態の例ではプロキシAPP143)に対して印刷ジョブ通知を送信する。
プリンタやMFPがPDFファイルをレンダリングする機能を備えている場合、プリンタやMFPは、プリントキューに格納されている印刷ジョブを印刷することができる。しかしながら、多くの廉価版のインクジェットプリンタやMFPにおいては、プリンタやMFPがPDFファイルをレンダリングする機能を備えていない。故に、このようなプリンタ等でプリントキューに格納されている印刷ジョブを印刷する場合、PDFファイルの印刷画像を、JPEGファイル等、廉価版のプリンタ等でレンダリングできるタイプの画像フォーマットに変換すること(前処理の一例)が必要となる。
For example, when the user prints an open document, when the print menu 401 shown in FIG. 4 is selected, the cloud printing APP 146 displays a print dialog 142 shown in FIG. When the user selects a printer in the print dialog 142 and presses the print button 534 to instruct execution of printing, the document creation APP 145 generates a print image as a PDF file.
The cloud print APP 146 generates a print job from the print image (PDF file) and the print setting value selected in the print dialog 142, and prints the print job in the print queue for the selected printer in the cloud print service. Store the job. Further, the cloud print APP 146 transmits a print job notification to the printer (in the example of the present embodiment described later, proxy APP 143).
When the printer or MFP has a function of rendering a PDF file, the printer or MFP can print a print job stored in the print queue. However, many inexpensive inkjet printers and MFPs do not have a function for rendering PDF files by the printer or MFP. Therefore, when printing a print job stored in the print queue with such a printer, the print image of the PDF file is converted into an image format of a type that can be rendered with a low-priced printer such as a JPEG file ( An example of pre-processing) is required.

アプリケーション(Application)143は、MFP3及びMFP103をクラウド印刷APP146が提供するクラウド印刷サービスに対応させるためのクラウド印刷プロキシサービスを提供するアプリケーションである。以下では、プロキシAPP143と称する。PC2にインストールされているプロキシAPP143は、5000台のプリンタやMFPを一度に管理し、それぞれのプリンタやMFPをクラウド印刷APP146が提供するクラウド印刷サービスに対応させることができる。
アプリケーション(Application)144は、PDFファイルをJPEGファイルに変換する画像変換サービスを提供するアプリケーションであり、以下では、画像変換APP144と称する。
The application (Application) 143 is an application that provides a cloud print proxy service for causing the MFP 3 and the MFP 103 to correspond to the cloud print service provided by the cloud print APP 146. Hereinafter, the proxy APP 143 is referred to. The proxy APP 143 installed on the PC 2 can manage 5000 printers and MFPs at a time, and can make each printer and MFP correspond to a cloud printing service provided by the cloud printing APP 146.
The application 144 is an application that provides an image conversion service for converting a PDF file into a JPEG file, and is hereinafter referred to as an image conversion APP 144.

ここで、クラウド印刷APP146が提供するクラウド印刷サービスを利用するために、ユーザアカウントとパスワードとを用いたログインが必要となる。そして、クラウド印刷APP146は、印刷に利用可能なプリンタやMFPをクラウド印刷サービスに登録する際に、まず、そのユーザアカウントとパスワードとを使って、クラウド印刷サービスを利用する際のアクセストークンを取得する。そして、クラウド印刷APP146は、取得したアクセストークンを利用し、そのユーザアカウントにプリンタやMFPを関連付けて登録する。
また、クラウド印刷APP146は、プリンタやMFPの登録の際に、各プリンタやMFPに対して一意の値で表わされるプリンタIDを発行して割り当て、プリンタIDを登録の対象のプリンタ等に通知する。なお、プリンタ等の登録に関する処理に関しては、その詳細な説明を省略する。
Here, in order to use the cloud printing service provided by the cloud printing APP 146, login using a user account and a password is required. Then, when registering a printer or MFP that can be used for printing in the cloud printing service, the cloud printing APP 146 first acquires an access token for using the cloud printing service by using the user account and password. . Then, the cloud printing APP 146 uses the acquired access token to register the printer or MFP in association with the user account.
In addition, when registering a printer or MFP, the cloud printing APP 146 issues and assigns a printer ID represented by a unique value to each printer or MFP, and notifies the printer or the like to be registered of the printer ID. A detailed description of the process related to registration of the printer or the like is omitted.

図2は、PC及びMFPのハードウェアの構成の一例を示す図である。PC1、PC2、PC5、及びPC7の各々は、図2(A)に示すハードウェアを含んで構成されている。図2(A)では、PC2を例に挙げて説明する。
PC2は、ランダムアクセスメモリ部(RAM201)、ハードディスクドライブ部(HDD202)、キーボード部(KBD203)、CPU204、表示用ディスプレイ(LCD205)、ネットワークボード(NB207)を有する。また、PC2は、上述の構成要素を互いに接続するバス206を有する。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the PC and the MFP. Each of PC1, PC2, PC5, and PC7 is configured to include the hardware shown in FIG. In FIG. 2A, description will be given by taking PC2 as an example.
The PC 2 includes a random access memory unit (RAM 201), a hard disk drive unit (HDD 202), a keyboard unit (KBD 203), a CPU 204, a display for display (LCD 205), and a network board (NB 207). The PC 2 includes a bus 206 that connects the above-described components to each other.

なお、HDD202は、記憶部の一例である。記憶部は、可搬性CD−ROMまたは内部に据付のROM等であってもよい。KBD203は、入力部の一例である。CPU204は、制御部の一例である。LCD205は、表示部の一例である。NB207は、通信制御部の一例である。
プロキシAPP143、図3に示す各モジュール(ソフトウェア)等のプログラムは、HDD202に記憶され、CPU204により必要に応じてRAM201に読み出されて実行される。これにより、プロキシAPP143の機能、図3に示す各モジュール(ソフトウェア)の機能などが実現される。また、各種のデータベース(DB)は、HDD202に設けられ、データベースの情報は、CPU204により必要に応じてRAM201に読み出される。
The HDD 202 is an example of a storage unit. The storage unit may be a portable CD-ROM or a ROM installed therein. The KBD 203 is an example of an input unit. The CPU 204 is an example of a control unit. The LCD 205 is an example of a display unit. The NB 207 is an example of a communication control unit.
Programs such as the proxy APP 143 and each module (software) shown in FIG. 3 are stored in the HDD 202, and are read into the RAM 201 and executed by the CPU 204 as necessary. Thereby, the function of the proxy APP 143, the function of each module (software) shown in FIG. 3, and the like are realized. Various databases (DB) are provided in the HDD 202, and database information is read by the CPU 204 to the RAM 201 as necessary.

MFP3及びMFP103の各々は、図2(B)に示すハードウェアを含んで構成されている。図2(B)では、MFP3を例に挙げて説明する。
CPU25は、マイクロプロセッサ等から構成される。CPU25は、MFP3の中央処理装置として、ROM16に記憶されているプログラムに従って、RAM17、通信部18、記録部19、操作部20、表示部21、読取り部22、ファクシミリ制御部23、及び外部ストレージ制御部24を制御する。
ROM16には、プリンタドライバ(図示は省略)による制御に従ってMFP3が行う記録(印刷)処理、印刷動作の状態をPCへ通知する処理などを実行するプログラムが記憶されている。また、ROM16には、FAXドライバ(図示は省略)による制御に従ってMFP3がファクシミリの送信処理または受信処理、ファクシミリ動作(送信または受信)の状態をPCへ通知する処理を実行するプログラムが記憶されている。更に、ROM16には、WIAドライバ(不図示)やTWAINドライバ(不図示)による制御に従ってMFP3が行う画像の読取り処理、読取り動作の状態をPCへ通知する処理を実行するプログラムが記憶されている。
Each of the MFP 3 and the MFP 103 is configured to include hardware shown in FIG. In FIG. 2B, the MFP 3 will be described as an example.
The CPU 25 is composed of a microprocessor or the like. As a central processing unit of the MFP 3, the CPU 25 is a RAM 17, a communication unit 18, a recording unit 19, an operation unit 20, a display unit 21, a reading unit 22, a facsimile control unit 23, and an external storage control according to a program stored in the ROM 16. The unit 24 is controlled.
The ROM 16 stores programs for executing recording (printing) processing performed by the MFP 3 in accordance with control by a printer driver (not shown), processing for notifying the PC of the status of the printing operation, and the like. The ROM 16 stores a program for executing processing for the MFP 3 to perform facsimile transmission processing or reception processing and processing for notifying the PC of the status of facsimile operation (transmission or reception) according to control by a FAX driver (not shown). . Further, the ROM 16 stores a program for executing an image reading process performed by the MFP 3 according to control by a WIA driver (not shown) or a TWAIN driver (not shown) and a process for notifying the PC of the state of the reading operation.

RAM17には、印字データが一時的に記憶される。印字データは、主にPCから送られ、印字データをもとに記録部19によって印刷される。また、RAM17には、読取り部22で読取られた画像データ、PCから送られてきたファクシミリの送信データ、ファクシミリ制御部23で受信されたファクシミリの受信データ等も一時的に記憶される。
通信部18には、ネットワーク4用の接続ポート、アナログ電話回線用の接続ポート等が含まれており、Ethernet、ファクシミリのアナログ通信を制御する。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、印字データをもとに記録ヘッドにて印字用パルスを発生させるためのASIC等から構成される電気回路とを含んで構成される。
The RAM 17 temporarily stores print data. The print data is mainly sent from the PC and printed by the recording unit 19 based on the print data. The RAM 17 also temporarily stores image data read by the reading unit 22, facsimile transmission data sent from the PC, facsimile reception data received by the facsimile control unit 23, and the like.
The communication unit 18 includes a connection port for the network 4, a connection port for an analog telephone line, and the like, and controls Ethernet and facsimile analog communication. The recording unit 19 includes an inkjet recording head, a recording unit including each color ink, a carriage, a recording paper conveyance mechanism, and the like, an ASIC for generating a printing pulse in the recording head based on the printing data, and the like. And an electric circuit composed of

例えば、印刷可能なアプリケーション上での印刷操作、又はファクシミリの送信操作によって、アプリケーションで開かれているファイルの表示内容(画像データ)が、EMF形式のスプールファイルとしてPC2のHDD202に一時的に格納される。そして、スプールファイルは、プリンタドライバ、又はFAXドライバを介してMFP3制御用コマンドを含む印字データ、又はファクシミリの送信データに変換された後、インターネットを介してMFP3に送られる。
MFP3にて受信された印字データは、記録部19で印字用パルスに変換され、記録紙上に印刷される。また、MFP3にて受信されたファクシミリの送信データは、ファクシミリ制御部23でファクシミリの通信プロトコルに変換され、アナログ電話回線を介して相手先のファクシミリ装置に送信される。
For example, the display contents (image data) of a file opened in the application by a printing operation on a printable application or a facsimile transmission operation are temporarily stored in the HDD 202 of the PC 2 as an EMF format spool file. The The spool file is converted into print data including an MFP3 control command or facsimile transmission data via a printer driver or FAX driver, and then sent to the MFP 3 via the Internet.
The print data received by the MFP 3 is converted into print pulses by the recording unit 19 and printed on the recording paper. The facsimile transmission data received by the MFP 3 is converted into a facsimile communication protocol by the facsimile control unit 23 and transmitted to the facsimile machine of the other party via an analog telephone line.

操作部20は、電源ボタン、リセットボタン等の各種ボタンから構成され、MFP3に対する操作を受け付ける。表示部21は、タッチパネルの液晶ディスプレイで構成され、MFP3の状態の表示、各種の設定情報や電話番号の表示、入力等を行うことができる。読取り部22は、カラーイメージセンサや画像処理用のASIC等から構成される電気回路を含んで構成され、スキャナ機能を制御する。
ファクシミリ制御部23は、ファクシミリ用のモデム、アナログ通信回路等から構成され、ファクシミリの通信プロトコルに従ってファクシミリの送信および受信を制御する。外部ストレージ制御部24は、フラッシュメモリの装着用のスロット、ストレージ用のインタフェース回路等から構成され、装着されたフラッシュメモリを制御する。
The operation unit 20 includes various buttons such as a power button and a reset button, and accepts operations on the MFP 3. The display unit 21 is configured by a liquid crystal display of a touch panel, and can display the status of the MFP 3, display various setting information and telephone numbers, input, and the like. The reading unit 22 includes an electric circuit including a color image sensor, an ASIC for image processing, and the like, and controls the scanner function.
The facsimile control unit 23 includes a facsimile modem, an analog communication circuit, and the like, and controls facsimile transmission and reception according to a facsimile communication protocol. The external storage control unit 24 includes a slot for installing a flash memory, an interface circuit for storage, and the like, and controls the installed flash memory.

図3は、PCのソフトウェアの構成の一例を示す図である。図3では、PC2を例に挙げて説明する。I/F92は、Ethernet等のI/Fを制御するI/F制御スタックである。IP Network91は、IP Networkを制御するIP Network制御スタックである。
Internet Information Services(IIS)90は、IISを制御するIIS制御部であり、アプリケーション150は、このIIS制御部のWebサーバ機能を利用してWebサービスを提供する。JAVA(登録商標) Virtual Machine(Java VM)89は、Javaバイトコードをプラットフォームのネイティブコードに変換して実行するソフトウェアであり、プロキシAPP143は、JAVA VM89上で実行される。
Applications82は、アプリケーション群であり、プロキシAPP143、アプリケーション150等から構成される。
FIG. 3 is a diagram illustrating an example of a software configuration of the PC. In FIG. 3, the description will be given by taking the PC 2 as an example. The I / F 92 is an I / F control stack that controls an I / F such as Ethernet. The IP network 91 is an IP network control stack that controls the IP network.
The Internet Information Services (IIS) 90 is an IIS control unit that controls IIS, and the application 150 provides a Web service by using the Web server function of the IIS control unit. JAVA (registered trademark) Virtual Machine (Java VM) 89 is software that converts Java bytecode into platform native code and executes it, and proxy APP143 is executed on JAVA VM89.
Applications 82 are an application group, and are composed of a proxy APP 143, an application 150, and the like.

図4は、PC1の文書作成APP145が提供するWebブラウザ9の一例を示す図である。図4は、ある文書を開いている状態を表す。
印刷メニュー401は、印刷に関する各種の操作を受け付ける。例えば、ユーザがKBD203等の入力部を操作(ユーザ操作)し、開いている文書を印刷するときに印刷メニュー401を押下すると、図5に示す印刷ダイアログ142が表示される。
FIG. 4 is a diagram illustrating an example of the Web browser 9 provided by the document creation APP 145 of the PC 1. FIG. 4 shows a state in which a certain document is opened.
A print menu 401 accepts various operations related to printing. For example, when the user operates the input unit such as KBD 203 (user operation) and presses the print menu 401 when printing an open document, a print dialog 142 shown in FIG. 5 is displayed.

図5は、印刷ダイアログ142の一例を示す図である。印刷ダイアログ142は、ユーザに対するMFP3、103用の印刷設定画面として、クラウド印刷APP146により制御される。また、印刷ダイアログ142は、Webブラウザ9、15を利用して、そのWebブラウザ上に表示される。
プリンタ選択肢535、536、537の各々は、選択可能なプリンタの選択肢である。プリンタ選択肢535、536、537は、それぞれ、GHI社製のAkbNmbというモデル名のプリンタ、ABC社製のKmmnというモデル名のMFP(MFP3)、DEF社製のXyzというモデル名のプリンタに該当する選択肢を表す。図5では、MFP3を表すプリンタ選択肢536が選択されている状態が示されている。
FIG. 5 is a diagram illustrating an example of the print dialog 142. The print dialog 142 is controlled by the cloud print APP 146 as a print setting screen for the MFPs 3 and 103 for the user. The print dialog 142 is displayed on the Web browser using the Web browsers 9 and 15.
Each of the printer options 535, 536, and 537 is a selectable printer option. The printer options 535, 536, and 537 are options corresponding to a printer having a model name of AkbNmb manufactured by GHI, an MFP (MFP3) having a model name of Kmmn manufactured by ABC, and a printer having a model name of Xyz manufactured by DEF, respectively. Represents. FIG. 5 shows a state where the printer option 536 representing the MFP 3 is selected.

用紙サイズ選択部530では、次に示す選択肢の中からMFP3で印刷する用紙のサイズがユーザ操作に応じて選択される。図5では、Letterが選択されている状態が示されている。
用紙サイズの選択肢:A5、A4、B5、Letter
用紙の種類選択部531では、次に示す選択肢の中からMFP3で印刷する用紙の種類がユーザ操作に応じて選択される。図5では、Plain Paperが選択されている状態が示されている。
用紙の種類の選択肢:Plain Paper、Photo Paper、Postcard
The paper size selection unit 530 selects a paper size to be printed by the MFP 3 from the following options according to a user operation. FIG. 5 shows a state in which Letter is selected.
Paper size options: A5, A4, B5, Letter
A paper type selection unit 531 selects a paper type to be printed by the MFP 3 from the following options according to a user operation. FIG. 5 shows a state in which Plain Paper is selected.
Paper type choices: Plain Paper, Photo Paper, Postcard

印刷品位選択部532では、次に示す選択肢の中からMFP3で印刷する印刷品位がユーザ操作に応じて選択される。図5では、Standardが選択されている状態が示されている。
印刷品位の選択肢:High、Standard、Fast
色/濃度選択部533では、次に示す選択肢の中からMFP3で印刷する色や濃度がユーザ操作に応じて選択される。図5では、Autoが選択されている状態が示されている。
印刷品位の選択肢:Auto、Manual
印刷ボタン534は、印刷の開始の指示を受け付ける。ユーザ操作により印刷ボタン534が押下されると、クラウド印刷APP146は、プリンタ選択肢536に関連付けられているMFP3用の印刷ジョブを生成する。クローズボタン538は、印刷ダイアログ142を閉じる指示を受け付ける。ユーザ操作によりクローズボタン538が押下されると、クラウド印刷APP146は、印刷ダイアログ142を閉じる。
The print quality selection unit 532 selects a print quality to be printed by the MFP 3 from the following options according to a user operation. FIG. 5 shows a state where Standard is selected.
Print quality options: High, Standard, Fast
A color / density selection unit 533 selects a color or density to be printed by the MFP 3 from the following options according to a user operation. FIG. 5 shows a state where Auto is selected.
Print quality options: Auto, Manual
The print button 534 receives an instruction to start printing. When the print button 534 is pressed by a user operation, the cloud print APP 146 generates a print job for the MFP 3 associated with the printer option 536. A close button 538 receives an instruction to close the print dialog 142. When the close button 538 is pressed by a user operation, the cloud print APP 146 closes the print dialog 142.

図6、図7、図8は、本周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。これらのフローチャートに係るプログラムは、PCまたはMFP内に組み込まれている。PC上で動作するアプリケーションのプログラムは、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。MFP上で動作するアプリケーションのプログラムは、ROM16に記憶されており、RAM17に読み出され、CPU25により実行される。
これらのフローチャートにおいて、縦の列が処理の実行元を表し、本実施形態では図面の左側から、ユーザ(Webブラウザ9)、文書作成APP145、クラウド印刷APP146、プロキシAPP143、画像変換APP144、MFP3を記す。以下では、ユーザがPC1を使ってドキュメントの印刷をMFP3で行うケース(ドキュメントの印刷に係る一連の処理)を例に挙げて通信制御方法について説明する。
6, 7, and 8 are diagrams illustrating examples of flowcharts related to processing of the entire peripheral device control system. The programs according to these flowcharts are incorporated in the PC or MFP. A program of an application operating on the PC is stored in the HDD 202, and is read out and executed by the CPU 204 in the RAM 201. A program of an application operating on the MFP is stored in the ROM 16, read out to the RAM 17, and executed by the CPU 25.
In these flowcharts, vertical columns represent processing execution sources, and in this embodiment, a user (Web browser 9), document creation APP 145, cloud printing APP 146, proxy APP 143, image conversion APP 144, and MFP 3 are described from the left side of the drawing. . Hereinafter, the communication control method will be described by taking as an example a case where a user prints a document with the MFP 3 using the PC 1 (a series of processes related to document printing).

まず、MFP3が印刷ジョブをポーリングする構成についてS617〜S621を用いて説明する。図6において、S617は、便宜的にMFP3側から見たドキュメントの印刷の開始を表すステップである。なお、このステップは、MFP3内の処理の実行には一切影響を与えるものではなく、単にこのフローチャートの開始を表すものである。
S618では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのCheckPrintJob関数をコールする。S618において、MFP3が、この関数をコールするときに、HTTPのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(確認情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・ランダムコード
また、CheckPrintJob関数をコールするタイミングは任意であり、定常的にコールするポーリングの形態とするが、この形態に限られるものではない。例えば、ユーザから指定されたときにコールする形態であってもよい。更に、クエリパラメータに含まれる確認情報もプリンタID、ランダムコードに限られるものではない。
First, a configuration in which the MFP 3 polls a print job will be described using S617 to S621. In FIG. 6, step S617 is a step representing the start of document printing as viewed from the MFP 3 for convenience. Note that this step does not affect the execution of processing in the MFP 3 at all, but merely represents the start of this flowchart.
In step S <b> 618, the MFP 3 calls the CheckPrintJob function of the Web service API exported by the proxy APP 143. Information (an example of confirmation information) that is passed to the proxy APP 143 as a query parameter of the HTTP GET request when the MFP 3 calls this function in S618 is the following information.
・ Printer ID issued by Cloud Print APP146
-Random code In addition, the timing of calling the CheckPrintJob function is arbitrary, and is a form of polling that calls regularly, but is not limited to this form. For example, it may be configured to call when specified by the user. Further, the confirmation information included in the query parameter is not limited to the printer ID and the random code.

ランダムコードは、MFP3が生成した任意の32ビットの値である。プロキシAPP143は、CheckPrintJob関数がコールされると、図9(A)で後述するCheckPrintJob関数の処理を実行し、そのレスポンス(応答情報の一例)をMFP3に返す(S619)。
続いて、MFP3は、プロキシAPP143からのCheckPrintJob関数のレスポンスを受信すると、レスポンス内の応答メッセージに含まれている情報(「印刷ジョブ有り応答」又は「印刷ジョブ無し応答」)を確認する(S620)。S620において、MFP3は、「印刷ジョブ有り応答」を受信したと判断した場合、図7のS708に処理を移し、他方、「印刷ジョブ無し応答」を受信したと判断した場合、S621に処理を移す。
S621では、MFP3は、一定の時間(本実施形態では1分間)待った後、S618に処理を移す。このように、MFP3は、プロキシAPP143がエクスポートしているCheckPrintJob関数を一定の時間間隔で(定期的に)ポーリングする。
The random code is an arbitrary 32-bit value generated by the MFP 3. When the CheckPrintJob function is called, the proxy APP 143 executes processing of the CheckPrintJob function described later with reference to FIG. 9A and returns a response (an example of response information) to the MFP 3 (S619).
Subsequently, when receiving the response of the CheckPrintJob function from the proxy APP 143, the MFP 3 confirms the information (“response with print job” or “response without print job”) included in the response message (S620). . In S620, if the MFP 3 determines that the “print job present response” has been received, the process proceeds to S708 in FIG. 7. On the other hand, if the MFP 3 determines that the “print job absent response” is received, the process proceeds to S621. .
In S621, the MFP 3 waits for a certain time (1 minute in the present embodiment), and then moves the process to S618. In this way, the MFP 3 polls the CheckPrintJob function exported by the proxy APP 143 at regular time intervals (periodically).

次に、ドキュメントの印刷処理について説明する。ここで、S601は、便宜的にユーザ側から見た場合のドキュメントの印刷の開始を表すステップである。なお、このステップは、ユーザ操作やアプリケーションの実行には一切影響を与えるものではなく、単にこのフローチャートの開始を表すものである。
まず、ユーザは、Webブラウザ9を起動して文書作成APP145のURLにアクセスしてログインする。そして、ユーザは、ある文書を指定してその文書を開く指示を行うと、Webブラウザ9は、その文書を入力パラメータとして、文書作成APP145がエクスポートしているWebサービスAPIのOpenDocument関数をコールする(S602)。
文書作成APP145は、OpenDocument関数がコールされると、入力パラメータで指定された文書を開いてその情報をWebブラウザ9に送信する(S603)。例えば、図4に示すように、Webブラウザ9上で文書作成APP145を介して当該文書が開かれた状態となる。
Next, document printing processing will be described. Here, step S601 is a step representing the start of document printing when viewed from the user side for convenience. This step does not affect the user operation or the execution of the application at all, but merely represents the start of this flowchart.
First, the user activates the Web browser 9, accesses the URL of the document creation APP 145, and logs in. When the user designates a certain document and gives an instruction to open the document, the Web browser 9 calls the OpenDocument function of the Web service API exported by the document creation APP 145 using the document as an input parameter ( S602).
When the OpenDocument function is called, the document creation APP 145 opens the document specified by the input parameter and transmits the information to the Web browser 9 (S603). For example, as shown in FIG. 4, the document is opened on the Web browser 9 via the document creation APP 145.

ユーザ操作により、当該文書を印刷するために印刷メニュー401が押下されると、Webブラウザ9を介してその情報が文書作成APP145に通知される(S604)。文書作成APP145は、この通知を受け取ると、クラウド印刷APP146がエクスポートしているWebサービスAPIのPrintDialog関数をコールする(S605)。
クラウド印刷APP146は、PrintDialog関数がコールされると、印刷ダイアログ142を開いて、その情報をWebブラウザ9に送信する(S606)。例えば、図5に示すように、Webブラウザ9上に印刷ダイアログ142が表示される。
When the user presses the print menu 401 to print the document, the information is notified to the document creation APP 145 via the Web browser 9 (S604). Upon receiving this notification, the document creation APP 145 calls the Print Dialog function of the Web service API exported by the cloud print APP 146 (S605).
When the Print Dialog function is called, the cloud print APP 146 opens the print dialog 142 and transmits the information to the Web browser 9 (S606). For example, as shown in FIG. 5, a print dialog 142 is displayed on the Web browser 9.

ユーザは、入力部を操作して、複数のプリンタ選択肢の中から印刷するプリンタ(図5の例ではMFP3に関連付けられているプリンタ選択肢536)を選択し、各印刷設定値の中から希望する設定値を選択し、印刷ボタン534を押下する。印刷ボタン534が押下されると、Webブラウザ9を介してそのユーザからの印刷開始要求を示す情報と印刷設定値に関する情報とが文書作成APP145に通知される(S607)。
印刷設定値に関する情報は、例えば、ユーザが選択した印刷設定値が記されている印刷設定ファイル(XMLファイル)が格納されているURLである。文書作成APP145は、この通知を受け取ると、印刷画像をPDFファイルとして生成する。そして、文書作成APP145は、生成したPDFファイル、印刷設定値に関する情報等を入力パラメータとして、クラウド印刷APP146がエクスポートしているWebサービスAPIのSubmitPrintJob関数をコールする(S608)。
The user operates the input unit to select a printer for printing from among a plurality of printer options (the printer option 536 associated with the MFP 3 in the example of FIG. 5), and the desired setting from each print setting value. A value is selected and the print button 534 is pressed. When the print button 534 is pressed, the document creation APP 145 is notified of information indicating a print start request from the user and information regarding the print setting value via the Web browser 9 (S607).
The information regarding the print setting value is, for example, a URL in which a print setting file (XML file) in which the print setting value selected by the user is written is stored. Upon receiving this notification, the document creation APP 145 generates a print image as a PDF file. Then, the document creation APP 145 calls the SubmitPrintJob function of the Web service API exported by the cloud print APP 146 using the generated PDF file, information on the print setting value, and the like as input parameters (S608).

クラウド印刷APP146は、SubmitPrintJob関数がコールされると、入力パラメータで指定されたPDFファイル、印刷設定値に関する情報等をもとに印刷ジョブを生成する。そして、クラウド印刷APP146は、選択されているプリンタ選択肢に関連付けられているプリンタ(本例では、画像フォーマットの変換が必要なMFP3であるのでプロキシAPP143)に印刷ジョブ通知を送信する(S609)。
また、印刷ジョブには、少なくとも次に示すような情報(以下では、印刷ジョブ情報と称する。)が含まれている。
When the SubmitPrintJob function is called, the cloud print APP 146 generates a print job based on the PDF file specified by the input parameter, information on the print setting value, and the like. Then, the cloud print APP 146 transmits a print job notification to the printer associated with the selected printer option (in this example, the proxy APP 143 because the MFP 3 requires image format conversion) (S609).
The print job includes at least the following information (hereinafter referred to as print job information).

・クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が提供するクラウド印刷サービスを利用するためのアクセストークン
・印刷設定値が記されている印刷設定ファイル(XMLファイル)が格納されているURL
・印刷画像(PDFファイル)の格納先のURL
・タイムスタンプ
-Print job ID issued by cloud print APP146
・ Printer ID issued by Cloud Print APP146
-Access token for using the cloud printing service provided by the cloud printing APP 146-URL where the print setting file (XML file) in which the print setting value is written is stored
-URL for storing the print image (PDF file)
·Time stamp

プロキシAPP143は、印刷ジョブ通知を受信すると、クラウド印刷APP146がエクスポートしているWebサービスAPIのFetchPrintJob関数をコールする(S610)。クラウド印刷APP146は、FetchPrintJob関数がコールされると、S609で生成した印刷ジョブに含まれている情報(印刷ジョブ情報)をプロキシAPP143に送信する(S611)。
プロキシAPP143は、印刷ジョブ情報を受信すると、印刷ジョブ情報の中から必要な情報を取得し、取得した情報とその他の制御で必要な情報とを印刷ジョブ管理データベースに保存する(S612)。そして、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIのCreatePrintJobSet関数をコールする(S612)。
When the proxy APP 143 receives the print job notification, the proxy APP 143 calls the FetchPrintJob function of the Web service API exported by the cloud print APP 146 (S610). When the FetchPrintJob function is called, the cloud print APP 146 transmits information (print job information) included in the print job generated in S609 to the proxy APP 143 (S611).
When the proxy APP 143 receives the print job information, the proxy APP 143 acquires necessary information from the print job information, and stores the acquired information and information necessary for other control in the print job management database (S612). Then, the proxy APP 143 calls the CreatePrintJobSet function of the Web service API exported by the image conversion APP 144 (S612).

S612において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(前処理情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷サービスを利用するためのアクセストークン
・印刷画像(PDFファイル)の格納先のURL
In S612, when the proxy APP 143 calls this function, information (an example of pre-processing information) to be passed to the image conversion APP 144 as an input parameter of the HTTPS POST request is the following information.
・ Printer ID issued by Cloud Print APP146
-Print job ID issued by cloud print APP146
-Access token for using the cloud printing service-URL for storing the print image (PDF file)

また、S612において、印刷ジョブ管理データベースには、次に示すような情報が保存される。
[印刷ジョブ管理データベース]
・検索キー:クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷サービスを利用するためのアクセストークン
・印刷設定ファイル(XMLファイル)の格納先のURL
・印刷画像(PDFファイル)の格納先のURL
・画像変換APP144へのアクセストークン
・印刷ジョブアクセスURL(JPEGファイルの格納先のURL)
・印刷画像(JPEGファイル)の総ページ数
・印刷ジョブ準備完了(PrintJobReady)(0:未完了、1:完了)
In S612, the following information is stored in the print job management database.
[Print Job Management Database]
Search key: Print job ID issued by cloud print APP 146
-Access token for using the cloud print service-URL for storing the print setting file (XML file)
-URL for storing the print image (PDF file)
Access token for image conversion APP 144 Print job access URL (URL of JPEG file storage destination)
-The total number of pages of the print image (JPEG file)-Print job preparation complete (PrintJobReady) (0: incomplete, 1: complete)

このとき、プロキシAPP143は、印刷ジョブ準備完了(PrintJobReady)に、印刷ジョブ準備が未完了であることを表す初期値として「0」をセットする。また、プロキシAPP143は、印刷画像(JPEGファイル)の総ページ数に初期値「0」をセットする。
画像変換APP144は、CreatePrintJobSet関数がコールされると、図10(A)で後述するCreatePrintJobSet関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S613)。このレスポンスには、画像変換APP144が発行したセッションIDが含まれている。
プロキシAPP143は、画像変換APP144からのCreatePrintJobSet関数のレスポンスを受信すると、画像変換APP144がエクスポートしているWebサービスAPIのConfirmProgress関数をコールする(S614)。S614において、プロキシAPP143が、この関数をコールするときに、HTTPのGET要求のクエリパラメータとして画像変換APP144に渡す情報(確認情報の一例)は、次に示すような情報である。
At this time, the proxy APP 143 sets “0” as an initial value indicating that the print job preparation is not completed in the print job preparation completion (PrintJobReady). Further, the proxy APP 143 sets an initial value “0” to the total number of pages of the print image (JPEG file).
When the CreatePrintJobSet function is called, the image conversion APP 144 executes the process of the CreatePrintJobSet function, which will be described later with reference to FIG. 10A, and returns the response to the proxy APP 143 (S613). This response includes the session ID issued by the image conversion APP 144.
When the proxy APP 143 receives the response of the CreatePrintJobSet function from the image conversion APP 144, the proxy APP 143 calls the Confirm Progress function of the Web service API exported by the image conversion APP 144 (S614). In S614, when the proxy APP 143 calls this function, information (an example of confirmation information) to be passed to the image conversion APP 144 as a query parameter of the HTTP GET request is the following information.

・セッションID
・シーケンス
セッションIDは、CreatePrintJobSet関数のレスポンスの中に含まれている情報であり、シーケンスは、プロキシAPP143が生成した任意の番号である。
・ Session ID
Sequence The session ID is information included in the response of the CreatePrintJobSet function, and the sequence is an arbitrary number generated by the proxy APP 143.

画像変換APP144は、ConfirmProgress関数がコールされると、図11(A)で後述するConfirmProgress関数の処理を実行し、そのレスポンス(応答情報の一例)をプロキシAPP143に返す(S615)。
プロキシAPP143は、画像変換APP144からのConfirmProgress関数のレスポンスを受信すると、そのレスポンス内の応答メッセージに含まれている内容(「処理中応答」、「処理完了応答」、又は「エラー応答」)を確認する(S616)。S616において、プロキシAPP143が「処理完了応答」を受信したと判断した場合、図7のS701に処理を移し、他方、「処理中応答」を受信したと判断した場合、S614に処理を移す。
When the ConfirmProgress function is called, the image conversion APP 144 executes the process of the ConfirmProgress function, which will be described later with reference to FIG. 11A, and returns a response (an example of response information) to the proxy APP 143 (S615).
When the proxy APP 143 receives the response of the ConfirmProgress function from the image conversion APP 144, the proxy APP 143 confirms the content (“processing response”, “processing completion response”, or “error response”) included in the response message in the response. (S616). If it is determined in S616 that the proxy APP 143 has received the “processing completion response”, the process proceeds to S701 in FIG. 7. If it is determined that the “response in process” has been received, the process proceeds to S614.

なお、図10(B)で後述する画像変換APP144のダウンロード・画像変換スレッドの処理でエラーが発生した場合、S616において、プロキシAPP143が「エラー応答」を受信して印刷処理をエラー終了する。
しかしながら、エラー終了するケースに関しては、本実施形態の本質から外れるので、その詳細な説明を省略する。よって、S616以降では、プロキシAPP143が「処理完了応答」または「処理中応答」を受信した場合を中心に説明する。
If an error has occurred in the download / image conversion thread processing of the image conversion APP 144, which will be described later with reference to FIG.
However, the case where the error ends is out of the essence of the present embodiment, and the detailed description thereof is omitted. Therefore, in and after S616, the case where the proxy APP 143 receives the “processing completion response” or the “processing response” will be mainly described.

図7に示すように、S701では、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIのCreatePrintJobResult関数をコールする。S701において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(所在取得情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
As shown in FIG. 7, in S701, the proxy APP 143 calls the CreatePrintJobResult function of the Web service API exported by the image conversion APP 144. In S701, when the proxy APP 143 calls this function, information (an example of location acquisition information) passed to the image conversion APP 144 as an input parameter of the HTTPS POST request is the following information.
・ Printer ID issued by Cloud Print APP146
-Print job ID issued by cloud print APP146

画像変換APP144は、CreatePrintJobResult関数がコールされると、図12で後述するCreatePrintJobResult関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S702)。
プロキシAPP143は、画像変換APP144からのCreatePrintJobResult関数のレスポンスを受信すると、PrintJobReadyに「1」をセットする(S703)。そして、プロキシAPP143は、印刷ジョブ管理データベースの印刷ジョブ準備完了(PrintJobReady)に、印刷ジョブ準備完了を表す「1」をセットする(S703)。これにより、MFP3における印刷待ち状態となる(S704)。
When the CreatePrintJobResult function is called, the image conversion APP 144 executes the process of the CreatePrintJobResult function described later with reference to FIG. 12, and returns the response to the proxy APP 143 (S702).
When the proxy APP 143 receives the CreatePrintJobResult function response from the image conversion APP 144, the proxy APP 143 sets “1” to PrintJobReady (S <b> 703). Then, the proxy APP 143 sets “1” representing the print job preparation completion to the print job preparation completion (PrintJobReady) of the print job management database (S703). As a result, the MFP 3 enters a print waiting state (S704).

図6のS618〜S621で前述したように、MFP3は、プロキシAPP143がエクスポートしているCheckPrintJob関数を、一定の時間間隔でポーリングし、S705は、S618と同等な処理を表す。
S704でMFP3における印刷待ち状態となっているとき、S705において、MFP3が、プロキシAPP143がエクスポートしているCheckPrintJob関数をコールした場合について説明する。プロキシAPP143は、CheckPrintJob関数がコールされると、図9(A)で後述するCheckPrintJob関数の処理を実行し、そのレスポンスをMFP3に返す(S706)。
As described above with reference to S618 to S621 in FIG. 6, the MFP 3 polls the CheckPrintJob function exported by the proxy APP 143 at regular intervals, and S705 represents processing equivalent to S618.
A case will be described in which when the MFP 3 is in a print waiting state in S704, the MFP 3 calls the CheckPrintJob function exported by the proxy APP 143 in S705. When the CheckPrintJob function is called, the proxy APP 143 executes processing of the CheckPrintJob function described later with reference to FIG. 9A, and returns a response to the MFP 3 (S706).

MFP3は、プロキシAPP143からのCheckPrintJob関数のレスポンスを受信すると、そのレスポンス内の応答メッセージに含まれている内容(「印刷ジョブ有り応答」又は「印刷ジョブ無し応答」)を確認する(S707)。S707において、MFP3が「印刷ジョブ有り応答」を受信したと判断した場合、S708に処理を移し、他方、「印刷ジョブ無し応答」を受信したと判断した場合、S621に処理を移す。
S708では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのGetPrintJob関数をコールする。S708において、MFP3が、この関数をコールするときに、HTTPSのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(取得情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
When the MFP 3 receives the response of the CheckPrintJob function from the proxy APP 143, the MFP 3 confirms the content (“response with print job” or “response without print job”) included in the response message (S707). If it is determined in S707 that the MFP 3 has received a “print job present response”, the process proceeds to S708. On the other hand, if it is determined that a “print job absent response” has been received, the process proceeds to S621.
In S708, the MFP 3 calls the GetPrintJob function of the Web service API exported by the proxy APP 143. In S708, when the MFP 3 calls this function, information (an example of acquired information) to be passed to the proxy APP 143 as a query parameter of the HTTPS GET request is the following information.
・ Printer ID issued by Cloud Print APP146

プロキシAPP143は、GetPrintJob関数がコールされると、図9(B)で後述するGetPrintJob関数の処理を実行し、そのレスポンスをMFP3に返す(S709)。
MFP3は、プロキシAPP143からのGetPrintJob関数のレスポンスを受信すると、レスポンス内の応答メッセージに含まれている内容をもとに、印刷画像取得要求を画像変換APP144に送信する(S710)。
ここで、レスポンス内の応答メッセージに含まれている内容は、印刷ジョブアクセスURL(印刷画像(JPEGファイル)の格納先のURL)、印刷画像(JPEGファイル)の総ページ数、及び画像変換APP144へのアクセストークンである。また、印刷画像取得要求は、画像変換APP144から各ページの印刷画像(JPEGファイル)を取得するための要求である。
本実施形態では、印刷ジョブアクセスURLは、画像変換App144を有するPC5の格納先URLとするが、それ以外のPCの格納先URLであってもよい。また、例えば、印刷ジョブアクセスURLについては、直接PC5から送信する形態であってもよい。また、例えば、指定されたページの印刷画像を、プロキシApp143を有するPC2がPC5から取得し、取得した印刷画像をPC2がMFP3に送信する形態であってもよい。また、例えば、PC2が、取得した印刷画像の格納先のURLをMFP3に送ってもよい。
When the GetPrintJob function is called, the proxy APP 143 executes processing of the GetPrintJob function described later with reference to FIG. 9B, and returns a response to the MFP 3 (S709).
Upon receiving the GetPrintJob function response from the proxy APP 143, the MFP 3 transmits a print image acquisition request to the image conversion APP 144 based on the content included in the response message in the response (S710).
Here, the contents included in the response message in the response include the print job access URL (the URL where the print image (JPEG file) is stored), the total number of pages of the print image (JPEG file), and the image conversion APP 144. Access token. The print image acquisition request is a request for acquiring a print image (JPEG file) of each page from the image conversion APP 144.
In this embodiment, the print job access URL is the storage destination URL of the PC 5 having the image conversion App 144, but may be the storage destination URL of other PCs. For example, the print job access URL may be transmitted directly from the PC 5. Further, for example, the PC 2 having the proxy App 143 may acquire the print image of the designated page from the PC 5, and the PC 2 may transmit the acquired print image to the MFP 3. Further, for example, the PC 2 may send the URL of the storage location of the acquired print image to the MFP 3.

画像変換APP144は、MFP3からの印刷画像取得要求を受信すると、指定されたページの印刷画像(JPEGファイル)に対するMFP3からのアクセスを許可し、その印刷画像をMFP3に送信する(S711)。
MFP3は、画像変換APP144から送信された印刷画像を受信すると、その印刷画像を印刷する(S712)。続いて、MFP3は、印刷画像(JPEGファイル)の総ページ数をもとに、次ページの有無を確認する(S713)。このとき、MFP3は、次ページが有ると判断した場合、S710に処理を移し、次ページの印刷画像を取得するための印刷画像取得要求を画像変換APP144に送信する。他方、MFP3は、次ページが無いと判断した場合、図8のS801に処理を移す。
S710〜S712における印刷画像(JPEGファイル)の取得処理に関しては、SSL通信で暗号化されたHTTPSのGETメソッドが利用される。
When the image conversion APP 144 receives the print image acquisition request from the MFP 3, the image conversion APP 144 permits access from the MFP 3 to the print image (JPEG file) of the specified page, and transmits the print image to the MFP 3 (S711).
Upon receiving the print image transmitted from the image conversion APP 144, the MFP 3 prints the print image (S712). Subsequently, the MFP 3 confirms the presence / absence of the next page based on the total number of pages of the print image (JPEG file) (S713). At this time, if the MFP 3 determines that there is a next page, the process proceeds to S710, and a print image acquisition request for acquiring the print image of the next page is transmitted to the image conversion APP 144. On the other hand, if the MFP 3 determines that there is no next page, the process proceeds to S801 in FIG.
For the print image (JPEG file) acquisition process in S710 to S712, an HTTPS GET method encrypted by SSL communication is used.

図8に示すように、S801では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのEndPrintJob関数をコールする。EndPrintJob関数のコールについては、SSL通信で暗号化されたHTTPSのGETメソッドが利用されている。S801において、MFP3が、この関数をコールするときに、HTTPSのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(終了情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
As shown in FIG. 8, in S801, the MFP 3 calls an EndPrintJob function of the Web service API exported by the proxy APP 143. For the call of the EndPrintJob function, an HTTPS GET method encrypted by SSL communication is used. In S801, when the MFP 3 calls this function, information (an example of end information) to be passed to the proxy APP 143 as a query parameter of the HTTPS GET request is the following information.
・ Printer ID issued by Cloud Print APP146
-Print job ID issued by cloud print APP146

プロキシAPP143は、EndPrintJob関数がコールされると(S802)、画像変換APP144がエクスポートしているWebサービスAPIのJobCompleted関数をコールする(S803)。
S803において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(ジョブ処理終了情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
When the EndPrintJob function is called (S802), the proxy APP 143 calls the JobCompleted function of the Web service API exported by the image conversion APP 144 (S803).
In S803, when the proxy APP 143 calls this function, information (an example of job processing end information) to be passed to the image conversion APP 144 as an input parameter of the HTTPS POST request is the following information.
・ Printer ID issued by Cloud Print APP146
-Print job ID issued by cloud print APP146

画像変換APP144は、JobCompleted関数がコールされると、図11(B)で後述するJobCompleted関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S804)。
プロキシAPP143は、画像変換APP144からのJobCompleted関数のレスポンスを受信すると、印刷ジョブ管理データベースからこの印刷ジョブに関する情報を削除して、印刷ジョブ管理データベースを更新する(S805)。そして、プロキシAPP143は、ドキュメントの印刷処理を終了する(S806)。
When the JobCompleted function is called, the image conversion APP 144 executes processing of the JobCompleted function described later with reference to FIG. 11B, and returns a response to the proxy APP 143 (S804).
When the proxy APP 143 receives the response of the JobCompleted function from the image conversion APP 144, the proxy APP 143 deletes information related to the print job from the print job management database, and updates the print job management database (S805). Then, the proxy APP 143 ends the document printing process (S806).

次に、プロキシAPP143がエクスポートするWebサービスAPIの処理について図9を用いて説明する。図9(A)は、CheckPrintJob関数の処理に係るフローチャートの一例を示す図である。図9(B)は、GetPrintJob関数の処理に係るフローチャートの一例を示す図である。
CheckPrintJob関数については、HTTPのGETメソッドが利用されている。GetPrintJob関数については、SSL通信で暗号化されたHTTPSのGETメソッドが利用されている。これらのフローチャートに係るプログラムは、PC2に組み込まれ、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。
Next, Web service API processing exported by the proxy APP 143 will be described with reference to FIG. FIG. 9A is a diagram illustrating an example of a flowchart relating to processing of the CheckPrintJob function. FIG. 9B is a diagram illustrating an example of a flowchart relating to the processing of the GetPrintJob function.
For the CheckPrintJob function, the HTTP GET method is used. As for the GetPrintJob function, an HTTPS GET method encrypted by SSL communication is used. The programs according to these flowcharts are incorporated in the PC 2, stored in the HDD 202, read out to the RAM 201 by the CPU 204 and executed.

図6のS618、図7のS705において、MFP3がCheckPrintJob関数をコールすると、プロキシAPP143が図9(A)に示すCheckPrintJob関数の処理を実行する。
図9(A)に示すように、プロキシAPP143は、CheckPrintJob関数の処理を開始すると(S901)、印刷ジョブ管理データベースの印刷ジョブ準備完了(PrintJobReady)を確認する(S902)。S901において、HTTPのGET要求のクエリパラメータとして、クラウド印刷APP146が発行したプリンタIDとランダムコードとがMFP3から渡される。
プロキシAPP143は、印刷ジョブ準備完了(PrintJobReady)に印刷ジョブ準備が完了していることを表す「1」がセットされている、即ちMFP3の印刷ジョブが存在すると判断した場合(S903でYESの場合)、S904に処理を移す。他方、プロキシAPP143は、印刷ジョブの準備が未完了であることを表す「0」がセットされている、即ちMFP3の印刷ジョブが存在しないと判断した場合(S903でNOの場合)、S905に処理を移す。
In S618 of FIG. 6 and S705 of FIG. 7, when the MFP 3 calls the CheckPrintJob function, the proxy APP 143 executes processing of the CheckPrintJob function shown in FIG.
As shown in FIG. 9A, when the proxy APP 143 starts the processing of the CheckPrintJob function (S901), the proxy APP143 confirms the completion of print job preparation (PrintJobReady) in the print job management database (S902). In step S <b> 901, the printer ID and random code issued by the cloud print APP 146 are passed from the MFP 3 as query parameters for the HTTP GET request.
When the proxy APP 143 determines that “1” indicating that the print job preparation is completed is set in the print job preparation completion (PrintJobReady), that is, the MFP 3 has a print job (YES in step S903). , The process is moved to S904. On the other hand, if the proxy APP 143 determines that “0” indicating that the print job preparation has not been completed is set, that is, the MFP 3 print job does not exist (NO in S903), the process proceeds to S905. Move.

S904では、プロキシAPP143は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「印刷ジョブ有り応答」をセットし、S906に処理を移す。S905では、プロキシAPP143は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「印刷ジョブ無し応答」をセットし、S906に処理を移す。
S906では、プロキシAPP143は、GET要求の発行元(本例ではMFP3)に対して応答メッセージを送信し、CheckPrintJob関数の処理を終了する(S907)。
In S904, the proxy APP 143 sets “response with print job” to the response message included in the BODY of the response to the HTTP GET request, and moves the process to S906. In step S905, the proxy APP 143 sets “no print job response” in the response message included in the BODY of the response to the HTTP GET request, and the process proceeds to step S906.
In step S906, the proxy APP 143 transmits a response message to the GET request issuer (MFP3 in this example), and ends the CheckPrintJob function processing (S907).

ここで、「印刷ジョブ有り応答」と「印刷ジョブ無し応答」との詳細を説明する。印刷ジョブ有りの状態を表す情報、及び印刷ジョブ無しの状態を表す情報は、それぞれ「10101010」、「01010101」である。
「印刷ジョブ有り応答」及び「印刷ジョブ無し応答」は、それぞれ、ランダムコードとこれらの状態を表す情報とを用いて演算された結果であり、例えば、次に示す情報を文字列に変換した文字列情報で構成される。
「印刷ジョブ有り応答」 = ランダムコード XOR 10101010
「印刷ジョブ無し応答」 = ランダムコード XOR 01010101
Details of the “print job presence response” and the “print job absence response” will be described here. The information indicating the presence of a print job and the information indicating the absence of a print job are “10101010” and “01010101”, respectively.
“Print job presence response” and “Print job absence response” are the results calculated using random codes and information indicating these states, respectively. For example, the following information is converted into a character string. Consists of column information.
“Response with print job” = Random code XOR 10101010
“No print job response” = Random code XOR 01010101

このように、HTTPのGET要求に対するレスポンスとしてXMLを使って定義した可視的な情報等ではなく一般には意味がわからない文字列情報を用いることで、WebサービスAPIに対する不正なアクセスによる誤動作や不正な制御を防止することができる。
なお、このような不正なアクセスを防止する構成は、この例に限られるものではなく、ハッシュ化等、より複雑な演算を組み合わせてもよい。
In this way, by using character string information that does not generally have a meaning rather than visible information defined using XML as a response to an HTTP GET request, malfunction or illegal control due to unauthorized access to the Web service API Can be prevented.
Note that the configuration for preventing such unauthorized access is not limited to this example, and more complicated operations such as hashing may be combined.

また、図7のS708において、MFP3がGetPrintJob関数をコールすると、プロキシAPP143は、図9(B)に示すGetPrintJob関数の処理を実行する。
図9(B)に示すように、プロキシAPP143は、GetPrintJob関数の処理を開始する(S911)。そして、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の格納先のURLをセットし(S912)、S913に処理を移す。
When the MFP 3 calls the GetPrintJob function in S708 of FIG. 7, the proxy APP 143 executes the process of the GetPrintJob function shown in FIG. 9B.
As shown in FIG. 9B, the proxy APP 143 starts processing of the GetPrintJob function (S911). Then, the proxy APP 143 sets the URL of the storage destination of the print image (JPEG file) in the response message included in the BODY of the response to the HTTPS GET request (S912), and moves the process to S913.

S913では、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の総ページ数をセットし、S914に処理を移す。S914では、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、画像変換APP144へのアクセストークンをセットし、S915に処理を移す。
S915では、プロキシAPP143は、GET要求の発行元(本例ではMFP3)に対して応答メッセージを送信し、GetPrintJob関数の処理を終了する(S916)。
In S913, the proxy APP 143 sets the total number of pages of the print image (JPEG file) in the response message included in the BODY of the response to the HTTPS GET request, and moves the process to S914. In S914, the proxy APP 143 sets the access token to the image conversion APP 144 in the response message included in the BODY of the response to the HTTPS GET request, and moves the process to S915.
In S915, the proxy APP 143 transmits a response message to the GET request issuer (MFP3 in this example), and ends the processing of the GetPrintJob function (S916).

次に、画像変換APP144がエクスポートするWebサービスAPIとスレッド関数の処理とについて図10を用いて説明する。図10(A)は、CreatePrintJobSet関数の処理に係るフローチャートの一例を示す図である。図10(B)は、ダウンロード・画像変換スレッド関数の処理に係るフローチャートの一例を示す図である。CreatePrintJobSet関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。
これらのフローチャートに係るプログラムは、PC5に組み込まれ、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。
Next, the Web service API exported by the image conversion APP 144 and the thread function processing will be described with reference to FIG. FIG. 10A is a diagram illustrating an example of a flowchart relating to processing of the CreatePrintJobSet function. FIG. 10B is a diagram illustrating an example of a flowchart relating to processing of the download / image conversion thread function. As for the CreatePrintJobSet function, an HTTPS POST method encrypted by SSL communication is used.
The programs according to these flowcharts are incorporated in the PC 5 and stored in the HDD 202, and are read into the RAM 201 by the CPU 204 and executed.

図6のS612において、プロキシAPP143がCreatePrintJobSet関数をコールすると、画像変換APP144は、図10(A)に示すCreatePrintJobSet関数の処理を実行する。
図10(A)に示すように、画像変換APP144は、CreatePrintJobSet関数の処理を開始する(S1001)。そして、画像変換APP144は、セッションIDを生成し、セッション管理データベースに保存し(S1002)、S1003に処理を移す。セッション管理データベースには、次に示すような情報が保存される。
When the proxy APP 143 calls the CreatePrintJobSet function in S612 of FIG. 6, the image conversion APP 144 executes the process of the CreatePrintJobSet function shown in FIG.
As shown in FIG. 10A, the image conversion APP 144 starts processing of the CreatePrintJobSet function (S1001). Then, the image conversion APP 144 generates a session ID, stores it in the session management database (S1002), and shifts the processing to S1003. The session management database stores the following information.

[セッション管理データベース]
・検索キー:画像変換APP144が発行したセッションID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷サービスを利用するためのアクセストークン
・印刷画像(PDFファイル)の格納先のURL
・画像変換APP144へのアクセストークン
・印刷ジョブアクセスURL(JPEGファイルの格納先のURL)
・処理の進捗を表す進捗状況(Progress)
[Session Management Database]
Search key: Session ID issued by the image conversion APP 144
・ Printer ID issued by Cloud Print APP146
-Print job ID issued by cloud print APP146
-Access token for using the cloud printing service-URL for storing the print image (PDF file)
Access token for image conversion APP 144 Print job access URL (URL of JPEG file storage destination)
・ Progress status indicating progress of processing (Progress)

ここで、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中からクラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとを取得する。そして、画像変換APP144は、クラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとをセッション管理データベースに保存する。
また、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中からクラウド印刷サービスを利用するためのアクセストークンを取得する。そして、画像変換APP144は、クラウド印刷サービスを利用するためのアクセストークンをセッション管理データベースに保存する。
さらに、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中から印刷画像(PDFファイル)の格納先のURLを取得し、印刷画像(PDFファイル)の格納先のURLをセッション管理データベースに保存する。
Here, the image conversion APP 144 acquires the printer ID and print job ID issued by the cloud print APP 146 from the input parameters of the CreatePrintJobSet function. Then, the image conversion APP 144 stores the printer ID and print job ID issued by the cloud print APP 146 in the session management database.
Also, the image conversion APP 144 acquires an access token for using the cloud print service from the input parameters of the CreatePrintJobSet function. Then, the image conversion APP 144 stores an access token for using the cloud printing service in the session management database.
Furthermore, the image conversion APP 144 acquires the URL of the storage location of the print image (PDF file) from the input parameters of the CreatePrintJobSet function, and stores the URL of the storage location of the print image (PDF file) in the session management database.

続いて、画像変換APP144は、セッション管理データベース内の処理の進捗を表す進捗状況(Progress)に処理中を表す「1」をセットし(S1003)、S1004に処理を移す。S1004では、画像変換APP144は、ダウンロード・画像変換スレッドを生成し、S1005に処理を移す。なお、ダウンロード・画像変換スレッドの処理に関しては、図10(B)で後述する。
続いて、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、この関数が成功して正常終了したことを表すSUCCESSとS1002で生成したセッションIDとをセットする(S1005)。そして、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する。そして、画像変換APP144は、CreatePrintJobSet関数の処理を終了する(S1006)。
Subsequently, the image conversion APP 144 sets “1” indicating that the process is in progress to the progress status (Progress) indicating the progress of the process in the session management database (S1003), and moves the process to S1004. In S1004, the image conversion APP 144 generates a download / image conversion thread, and the process proceeds to S1005. The processing of the download / image conversion thread will be described later with reference to FIG.
Subsequently, the image conversion APP 144 sets, in the response message included in the BODY of the response to the HTTPS POST request, SUCCESS indicating that this function has been successfully completed and the session ID generated in S1002 (S1005). Then, the image conversion APP 144 transmits a response message to the POST request issuer (the proxy APP 143 in this example). Then, the image conversion APP 144 ends the process of the CreatePrintJobSet function (S1006).

また、S1004において画像変換APP144がダウンロード・画像変換スレッドを生成すると、CreatePrintJobSet関数とは別のスレッドが起動される。そして、このスレッドの中で図10(B)に示すダウンロード・画像変換スレッドの処理が実行される。
図10(B)に示すように、画像変換APP144は、ダウンロード・画像変換スレッドの処理を開始する(S1011)。そして、画像変換APP144は、クラウド印刷サービスを利用するためのアクセストークンを利用し、SSL通信で暗号化されたHTTPSのGETメソッドにて印刷画像(PDFファイル)の格納先のURLにアクセスする。即ち、画像変換APP144は、クラウド印刷サービスから印刷画像(PDFファイル)をダウンロードして一時的にRAM201に保存する(S1012)。
When the image conversion APP 144 generates a download / image conversion thread in S1004, a thread different from the CreatePrintJobSet function is activated. In this thread, the download / image conversion thread process shown in FIG. 10B is executed.
As shown in FIG. 10B, the image conversion APP 144 starts the processing of the download / image conversion thread (S1011). Then, the image conversion APP 144 uses the access token for using the cloud print service, and accesses the URL of the storage location of the print image (PDF file) using the HTTPS GET method encrypted by SSL communication. That is, the image conversion APP 144 downloads a print image (PDF file) from the cloud print service and temporarily stores it in the RAM 201 (S1012).

また、画像変換APP144は、ダウンロードを完了した後、印刷画像(PDFファイル)をMFP3で印刷可能な形式であるJPEGファイルに変換する。なお、PC5のHDD202には、プリンタやMFP毎に、印刷可能な形式を示す設定情報が予め記憶されている。
そして、画像変換APP144は、クラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとから構成されるフォルダにそのJPEGファイルを保存する(S1013)。
また、S1013において、画像変換APP144は、セッション管理データベース内の画像変換APP144へのアクセストークンに、画像変換APP144へのアクセストークンをセットする。画像変換APP144へのアクセストークンは、クラウド印刷APP146が発行したプリンタIDが関連付けられているプリンタやMFP(本例ではMFP3)が印刷画像(JPEGファイル)にアクセスするためのアクセストークンである。さらに、S1013において、画像変換APP144は、セッション管理データベース内の印刷ジョブアクセスURLに、印刷画像(JPEGファイル)の格納先のURL(1ページ目)をセットする。
Further, after completing the download, the image conversion APP 144 converts the print image (PDF file) into a JPEG file that can be printed by the MFP 3. Note that setting information indicating a printable format is stored in advance in the HDD 202 of the PC 5 for each printer or MFP.
Then, the image conversion APP 144 stores the JPEG file in a folder composed of the printer ID issued by the cloud printing APP 146 and the print job ID (S1013).
In S1013, the image conversion APP 144 sets the access token to the image conversion APP 144 in the access token to the image conversion APP 144 in the session management database. The access token to the image conversion APP 144 is an access token for the printer or MFP (MFP 3 in this example) associated with the printer ID issued by the cloud print APP 146 to access the print image (JPEG file). In step S <b> 1013, the image conversion APP 144 sets the URL (first page) where the print image (JPEG file) is stored in the print job access URL in the session management database.

[例]
プリンタID:abcde
印刷ジョブID:1234
印刷画像(JPEGファイル)の総ページ数:3ページ
PC2内のデータストレージ:
C:\abcde1234\
p1.jpg
p2.jpg
p3.jpg
URL:http://www.abc.xxx/printdata/?pi=abcde&ji=1234&p=1
[Example]
Printer ID: abcde
Print job ID: 1234
Total number of pages of print image (JPEG file): 3 pages Data storage in PC2:
C: \ abcde1234 \
p1.jpg
p2.jpg
p3.jpg
URL: http://www.abc.xxx/printdata/?pi=abcde&ji=1234&p=1

このURLは、1ページ目のJPEGファイル(p1.jpg)を表すので、MFP3は、各ページの印刷画像を取得するときは、ページ番号を表すクエリパラエータ「p」に、取得するページ番号を指定する。S1013において、画像変換APP144は、印刷画像(PDFファイル)を変換し、全てのページの印刷画像(JPEGファイル)の変換が完了した後、S1012でダウンロードした印刷画像(PDFファイル)をRAM201から削除する。
続いて、画像変換APP144は、S1011〜S1013の何れかの処理においてエラーを検出したか否かを判断する(S1014)。このとき、画像変換APP144は、エラーを検出したと判断した場合、S1016に処理を移し、他方、エラーを検出しなかったと判断した場合、正常終了と判断してS1015に処理を移す。
Since this URL represents the JPEG file (p1.jpg) of the first page, the MFP 3 obtains the page number to be acquired in the query parameter “p” that represents the page number when acquiring the print image of each page. specify. In step S <b> 1013, the image conversion APP 144 converts the print image (PDF file) and deletes the print image (PDF file) downloaded in step S <b> 1012 from the RAM 201 after the conversion of the print image (JPEG file) of all pages is completed. .
Subsequently, the image conversion APP 144 determines whether an error has been detected in any of the processes of S1011 to S1013 (S1014). At this time, if it is determined that an error has been detected, the image conversion APP 144 proceeds to S1016. If it is determined that no error has been detected, the image conversion APP 144 determines that the error has ended normally and proceeds to S1015.

S1015では、画像変換APP144は、セッション管理データベース内の進捗状況(Progress)に正常終了を表す「0」をセットし、ダウンロード・画像変換スレッドの処理を終了する(S1017)。S1016では、画像変換APP144は、セッション管理データベース内の進捗状況(Progress)にエラー終了を表す「2」をセットし、ダウンロード・画像変換スレッドの処理を終了する(S1017)。
S1017において、画像変換APP144は、セッション管理データベースからこの印刷ジョブに関する情報を削除し、セッション管理データベースを更新する。
In S1015, the image conversion APP 144 sets “0” indicating normal end to the progress status (Progress) in the session management database, and ends the processing of the download / image conversion thread (S1017). In S1016, the image conversion APP 144 sets “2” indicating the end of error to the progress status (Progress) in the session management database, and ends the processing of the download / image conversion thread (S1017).
In step S1017, the image conversion APP 144 deletes information related to the print job from the session management database, and updates the session management database.

次に、画像変換APP144がエクスポートするWebサービスAPIの処理について図11を用いて説明する。図11(A)は、ConfirmProgress関数の処理に係るフローチャートの一例を示す図である。図11(B)は、JobCompleted関数の処理に係るフローチャートの一例を示す図である。
ここで、ConfirmProgress関数については、HTTPのGETメソッドが利用されている。JobCompleted関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。これらのフローチャートに係るプログラムは、PC5に組み込まれ、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。
Next, Web service API processing exported by the image conversion APP 144 will be described with reference to FIG. FIG. 11A is a diagram illustrating an example of a flowchart relating to the process of the ConfirmProgress function. FIG. 11B is a diagram illustrating an example of a flowchart relating to processing of the JobCompleted function.
Here, for the ConfirmProgress function, the HTTP GET method is used. For the JobCompleted function, the HTTPS POST method encrypted by SSL communication is used. The programs according to these flowcharts are incorporated in the PC 5 and stored in the HDD 202, and are read into the RAM 201 by the CPU 204 and executed.

図6のS614において、プロキシAPP143がConfirmProgress関数をコールすると、画像変換APP144が図11(A)に示すConfirmProgress関数の処理を実行する。
図11(A)に示すように、画像変換APP144は、ConfirmProgress関数の処理を開始する(S1101)。このとき、ConfirmProgress関数に対するHTTPのGET要求には、クエリパラメータとしてセッションIDとシーケンスとが含まれている。シーケンスは、GET要求の発行元(本例ではプロキシAPP143)が生成する任意の番号である。
続いて、画像変換APP144は、クエリパラメータに含まれているセッションIDを検索キーとして、セッション管理データベース内の進捗状況(Progress)を確認する(S1102)。続いて、画像変換APP144は、進捗状況(Progress)に正常終了を表す「0」がセットされていると判断した場合(S1103でYESの場合)、S1104に処理を移す。他方、画像変換APP144は、「0」以外(「1」または「2」)がセットされていると判断した場合(S1103でNOの場合)、S1105に処理を移す。
In S614 of FIG. 6, when the proxy APP 143 calls the Confirm Progress function, the image conversion APP 144 executes the process of the Confirm Progress function shown in FIG.
As shown in FIG. 11A, the image conversion APP 144 starts the process of the Confirm Progress function (S1101). At this time, the HTTP GET request for the ConfirmProgress function includes a session ID and a sequence as query parameters. The sequence is an arbitrary number generated by a GET request issuer (proxy APP 143 in this example).
Subsequently, the image conversion APP 144 confirms the progress (Progress) in the session management database using the session ID included in the query parameter as a search key (S1102). Subsequently, when the image conversion APP 144 determines that “0” indicating normal termination is set in the progress status (Progress) (YES in S1103), the image conversion APP 144 proceeds to S1104. On the other hand, if the image conversion APP 144 determines that anything other than “0” (“1” or “2”) is set (NO in S1103), the process proceeds to S1105.

S1104では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「処理完了応答」をセットし、S1108に処理を移す。S1105では、画像変換APP144は、進捗状況(Progress)を確認する。このとき、画像変換APP144は、進捗状況(Progress)に処理中を表す「1」がセットされていると判断した場合、S1106に処理を移し、他方、「1」以外(「2」)がセットされている判断した場合、S1107に処理を移す。
S1106では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「処理中応答」をセットし、S1108に処理を移す。S1107では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「エラー応答」をセットし、S1108に処理を移す。
S1108では、画像変換APP144は、GET要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信し、ConfirmProgress関数の処理を終了する(S1109)。
In step S1104, the image conversion APP 144 sets “processing completion response” in the response message included in the BODY of the response to the HTTP GET request, and the process proceeds to step S1108. In step S1105, the image conversion APP 144 confirms the progress status (Progress). At this time, if the image conversion APP 144 determines that “1” indicating that processing is being performed is set in the progress status (Progress), the process proceeds to S 1106, and other than “1” (“2”) is set. If it is determined, the process proceeds to S1107.
In step S1106, the image conversion APP 144 sets “response in process” in the response message included in the BODY of the response to the HTTP GET request, and the process proceeds to step S1108. In S1107, the image conversion APP 144 sets “error response” in the response message included in the BODY of the response to the HTTP GET request, and moves the process to S1108.
In step S1108, the image conversion APP 144 transmits a response message to the GET request issuer (proxy APP 143 in this example), and ends the process of the ConfirmProgress function (S1109).

ここで、「処理完了応答」、「処理中応答」、及び「エラー応答」の詳細について説明する。これらの応答は、それぞれ、S1101においてGET要求のクエリパラメータに含まれていたシーケンスを用いて演算された結果であり、例えば、次に示す情報を文字列に変換した文字列情報で構成される。
「処理完了応答」 = シーケンス
「処理中応答」 = シーケンス+1
「エラー応答」 = シーケンス+2
Here, details of the “processing completion response”, “processing response”, and “error response” will be described. Each of these responses is a result calculated using the sequence included in the query parameter of the GET request in S1101, and is composed of, for example, character string information obtained by converting the following information into a character string.
"Processing completion response" = Sequence "Processing response" = Sequence + 1
"Error response" = Sequence + 2

このように、HTTPのGET要求に対するレスポンスとしてXMLを使って定義した可視的な情報等ではなく一般には意味がわからない文字列情報を用いることで、WebサービスAPIに対する不正なアクセスによる誤動作や不正な制御を防止することができる。
なお、このような不正なアクセスを防止する構成は、この例に限られるものではなく、ハッシュ化等、より複雑な演算を組み合わせてもよい。
In this way, by using character string information that does not generally have a meaning rather than visible information defined using XML as a response to an HTTP GET request, malfunction or illegal control due to unauthorized access to the Web service API Can be prevented.
Note that the configuration for preventing such unauthorized access is not limited to this example, and more complicated operations such as hashing may be combined.

また、図8のS803において、プロキシAPP143がJobCompleted関数をコールすると、画像変換APP144が図11(B)に示すJobCompleted関数の処理を実行する。
図11(B)に示すように、画像変換APP144は、JobCompleted関数の処理を開始すると(S1121)、印刷画像(JPEGファイル)を削除し(S1122)、S1123に処理を移す。
S1123では、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、正常終了したことを表すSUCCESSをセットする。また、S1123では、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する。そして、画像変換APP144は、JobCompleted関数の処理を終了する(S1124)。
In S803 of FIG. 8, when the proxy APP 143 calls the JobCompleted function, the image conversion APP 144 executes the processing of the JobCompleted function shown in FIG.
As shown in FIG. 11B, when the image conversion APP 144 starts processing of the JobCompleted function (S1121), the image conversion APP 144 deletes the print image (JPEG file) (S1122), and moves the processing to S1123.
In step S <b> 1123, the image conversion APP 144 sets SUCCESS indicating the normal end in the response message included in the BODY of the response to the HTTPS POST request. In step S1123, the image conversion APP 144 transmits a response message to the POST request issuing source (the proxy APP 143 in this example). Then, the image conversion APP 144 ends the processing of the JobCompleted function (S1124).

次に、画像変換APP144がエクスポートするWebサービスAPIの処理について図12を用いて説明する。図12は、CreatePrintJobResult関数の処理に係るフローチャートの一例を示す図である。
CreatePrintJobResult関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。このフローチャートに係るプログラムは、PC5に組み込まれ、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。
Next, processing of the Web service API exported by the image conversion APP 144 will be described with reference to FIG. FIG. 12 is a diagram illustrating an example of a flowchart according to the process of the CreatePrintJobResult function.
As for the CreatePrintJobResult function, an HTTPS POST method encrypted by SSL communication is used. The program according to this flowchart is incorporated in the PC 5, stored in the HDD 202, read out to the RAM 201 by the CPU 204 and executed.

図7のS701において、プロキシAPP143がCreatePrintJobResult関数をコールすると、画像変換APP144が図12に示すCreatePrintJobResult関数の処理を実行する。
図12に示すように、画像変換APP144は、CreatePrintJobResult関数の処理を開始する(S1201)。続いて、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、画像変換APP144へのアクセストークンをセットし(S1202)、S1203に処理を移す。
In S701 of FIG. 7, when the proxy APP 143 calls the CreatePrintJobResult function, the image conversion APP 144 executes processing of the CreatePrintJobResult function shown in FIG.
As shown in FIG. 12, the image conversion APP 144 starts processing of the CreatePrintJobResult function (S1201). Subsequently, the image conversion APP 144 sets the access token to the image conversion APP 144 in the response message included in the BODY of the response to the POST request of HTTPS (S1202), and moves the process to S1203.

S1203では、画像変換APP144は、POST要求に対するレスポンスのBODYに含める応答メッセージに、印刷ジョブアクセスURL(JPEGファイルの格納先のURL)をセットし、S1204に処理を移す。
S1204では、画像変換APP144は、POST要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の総ページ数をセットし、S1205に処理を移す。S1205では、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信し、CreatePrintJobResult関数の処理を終了する(S1206)。
In step S1203, the image conversion APP 144 sets the print job access URL (URL of the storage location of the JPEG file) in the response message included in the BODY of the response to the POST request, and the process proceeds to step S1204.
In step S1204, the image conversion APP 144 sets the total number of pages of the print image (JPEG file) in the response message included in the BODY of the response to the POST request, and the process proceeds to step S1205. In step S1205, the image conversion APP 144 transmits a response message to the POST request issuer (proxy APP 143 in this example), and ends the process of the CreatePrintJobResult function (S1206).

図13は、WebサービスAPIのコーリングシーケンスの一例を示す図である。図13(A)は、プロキシAPP143とMFP3との間のコーリングシーケンスの一例を示す図である。図13(B)は、プロキシAPP143と画像変換APP144との間のコーリングシーケンスの一例を示す図である。
図13(A)に示すように、プロキシAPP143とMFP3との間では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIをコールしている。即ち、CheckPrintJob関数、GetPrintJob関数、EndPrintJob関数の順で、プロキシAPP143がエクスポートしているWebサービスAPIがコールされる。
FIG. 13 is a diagram illustrating an example of a calling sequence of the Web service API. FIG. 13A is a diagram illustrating an example of a calling sequence between the proxy APP 143 and the MFP 3. FIG. 13B is a diagram illustrating an example of a calling sequence between the proxy APP 143 and the image conversion APP 144.
As shown in FIG. 13A, between the proxy APP 143 and the MFP 3, the MFP 3 calls the Web service API exported by the proxy APP 143. That is, the Web service API exported by the proxy APP 143 is called in the order of CheckPrintJob function, GetPrintJob function, and EndPrintJob function.

ここで、CheckPrintJob関数については(ポーリング処理だけが)、暗号化されていないHPPTのGETメソッドが利用され、それ以外の関数については全てSSL通信で暗号化されたHTTPSのGETメソッドが利用されている。
このように、印刷ジョブの有無を確認するだけのためのポーリングに、暗号化されていないHTTPメソッドを利用することで、ポーリングに要する時間が低減され、ユーザの操作性に優れた周辺装置制御システムを実現することができる。また、ポーリングにかかる負荷を低減することができるので、例えば負荷に対応するための構成が必要なくなるので、システムの構築やプリンタやMFPのファームウェアの実装が容易となり、開発コストを削減できる。
Here, for the CheckPrintJob function (only the polling process), the unencrypted HPPT GET method is used, and for all other functions, the HTTPS GET method encrypted by SSL communication is used. .
In this way, by using an unencrypted HTTP method for polling only for confirming the presence or absence of a print job, the peripheral device control system that reduces the time required for polling and is excellent in user operability Can be realized. Further, since the load on polling can be reduced, for example, a configuration for dealing with the load is not required, so that the system construction and the firmware of the printer and MFP can be easily implemented, and the development cost can be reduced.

また、図13(B)に示すように、プロキシAPP143と画像変換APP144との間では、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIをコールしている。即ち、CreatePrintJobSet関数、ConfirmProgress関数、CreatePrintJobResult関数、JobCompleted関数の順で画像変換APP144がエクスポートしているWebサービスAPIがコールされる。
ここで、ConfirmProgress関数については(ポーリング処理だけが)、暗号化されていないHPPTのGETメソッドが利用され、それ以外の関数については全てSSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。
このように、処理の進捗状況を確認するだけのためのポーリングに、暗号化されていないHTTPメソッドを利用することで、ポーリングに要する時間が低減され、ユーザの操作性に優れた周辺装置制御システムを実現することができる。また、ポーリングにかかる負荷を低減することができるので、例えば負荷に対応するための構成が必要なくなるので、システムの構築やアプリケーションの実装が容易となり、開発や運用コストを削減できる。
As shown in FIG. 13B, between the proxy APP 143 and the image conversion APP 144, the proxy APP 143 calls a Web service API exported by the image conversion APP 144. That is, the Web service API exported by the image conversion APP 144 is called in the order of CreatePrintJobSet function, ConfirmProgress function, CreatePrintJobResult function, and JobCompleted function.
Here, for the ConfirmProgress function (only the polling process), the unencrypted HPPT GET method is used, and for all other functions, the HTTPS POST method encrypted by SSL communication is used. .
In this way, by using an unencrypted HTTP method for polling only for confirming the progress of processing, a peripheral device control system that reduces time required for polling and has excellent user operability. Can be realized. Further, since the load applied to polling can be reduced, for example, a configuration for dealing with the load is not required, so that the system construction and the application implementation are facilitated, and the development and operation costs can be reduced.

<第2の実施形態>
第1の実施形態では、あるMFPに対して1つのユーザアカウント及びそのパスワードが関連付けて登録され、ユーザアカウント及びパスワードによる認証を経て取得されたアクセストークンが用いられて利用される周辺装置制御システムの一例を説明した。本実施形態では、あるMFP(例えばMFP3)に対して複数のユーザアカウントを関連付けて登録することにより、当該MFPを複数のユーザで共有して利用することが可能な周辺装置制御システムの一例を説明する。なお、本実施形態では、第1の実施形態の構成と同一の構成には同一の符号を用いてその説明を適宜省略する。
図14は、MFP3の表示部21の画面の一例(クラウド印刷セットアップ画面1401)を示す図である。クラウド印刷セットアップ画面1401は、クラウド印刷サービスを利用するためのプリンタの登録などのセットアップに係る画面である。プリンタ登録操作部(1402、1405、1408、1411、1414)の各々は、ユーザ名入力部(1403、1406、1409、1412、1415)と、登録ボタン(1404、1407、1410、1413、1416)とを備えている。
<Second Embodiment>
In the first embodiment, a peripheral device control system is used in which one user account and its password are registered in association with a certain MFP, and an access token acquired through authentication using the user account and password is used. An example was described. In the present embodiment, an example of a peripheral device control system that can be shared and used by a plurality of users by registering a plurality of user accounts in association with a certain MFP (for example, MFP 3) will be described. To do. In the present embodiment, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof is omitted as appropriate.
FIG. 14 is a diagram showing an example of the screen of the display unit 21 of the MFP 3 (cloud print setup screen 1401). The cloud print setup screen 1401 is a screen related to setup such as printer registration for using the cloud print service. Each of the printer registration operation units (1402, 1405, 1408, 1411, 1414) includes a user name input unit (1403, 1406, 1409, 1412, 1415) and a registration button (1404, 1407, 1410, 1413, 1416). It has.

現時点では、MFP3については3人で共有されているので、ユーザ名入力部(1403、1406、1409)には、ユーザ名として「User A」、「User B」、「User C」がそれぞれセットされている。他方、ユーザ名入力部1412及びユーザ名入力部1415には、ユーザ名が何もセットされていない。
登録ボタン1404は、MFP3をユーザ名入力部1403のユーザ「User A」用として、クラウド印刷APP146が提供するクラウド印刷サービスに登録するときに操作されるユーザインタフェース(UI)である。登録ボタン1407は、MFP3をユーザ名入力部1406のユーザ「User B」用として、クラウド印刷APP146が提供するクラウド印刷サービスに登録するときに操作されるUIである。登録ボタン1410は、MFP3をユーザ名入力部1409のユーザ「User C」用として、クラウド印刷APP146が提供するクラウド印刷サービスに登録するときに操作されるUIである。
At present, since the MFP 3 is shared by three people, “User A”, “User B”, and “User C” are set as user names in the user name input sections (1403, 1406, 1409), respectively. ing. On the other hand, no user name is set in the user name input unit 1412 and the user name input unit 1415.
A registration button 1404 is a user interface (UI) that is operated when registering the MFP 3 in the cloud printing service provided by the cloud printing APP 146 for the user “User A” of the user name input unit 1403. A registration button 1407 is a UI that is operated when the MFP 3 is registered for the cloud printing service provided by the cloud printing APP 146 for the user “User B” of the user name input unit 1406. The registration button 1410 is a UI that is operated when the MFP 3 is registered for the cloud printing service provided by the cloud printing APP 146 for the user “User C” of the user name input unit 1409.

登録ボタン1413は、MFP3をユーザ名入力部1412のユーザ用として、クラウド印刷APP146が提供するクラウド印刷サービスに登録するときに操作されるUIである。登録ボタン1416は、MFP3をユーザ名入力部1415のユーザ用として、クラウド印刷APP146が提供するクラウド印刷サービスに登録するときに操作されるUIである。
なお、現時点では、ユーザ名入力部1412及びユーザ名入力部1415にはユーザ名が何もセットされていないので、登録ボタン1413及び登録ボタン1416は機能しない。
A registration button 1413 is a UI operated when registering the MFP 3 for the user of the user name input unit 1412 in the cloud print service provided by the cloud print APP 146. A registration button 1416 is a UI that is operated when registering the MFP 3 for the user of the user name input unit 1415 in the cloud print service provided by the cloud print APP 146.
At this time, since no user name is set in the user name input unit 1412 and the user name input unit 1415, the registration button 1413 and the registration button 1416 do not function.

図15は、PC1のLCD205の画面(Webブラウザ9)の一例(プリンタ登録ページ1501)を示す図である。プリンタ登録ページ1501は、クラウド印刷サービスにプリンタを登録する際のユーザ認証に係る画面である。ユーザは、プリンタ登録ページ1501を使って、クラウド印刷APP146が提供するクラウド印刷サービスを利用する際に必要なユーザ認証及びプリンタの仮登録を行う。
URL入力部1502は、URLの入力を受け付ける。URL入力部1502で入力されたURLのWebサイトのページがWebブラウザ9に表示される。ユーザアカウント入力部1503は、ユーザアカウントの入力を受け付ける。パスワード入力部1504は、パスワードの入力を受け付ける。ユーザは、クラウド印刷サービスを利用するために必要なユーザアカウントとパスワードとをここに入力する。
認証コード(トークン)入力部1505は、仮認証コード(トークン)の入力を受け付ける。ユーザは、クラウド印刷APP146で発行されたプリンタ登録用の仮認証コード(トークン)をここに入力する。登録ボタン1506は、プリンタの仮登録を受け付ける。ユーザにより登録ボタン1506が押下されると、クラウド印刷サービスにプリンタが仮登録される。キャンセルボタン1507は、プリンタの仮登録の中止を受け付ける。ユーザによりキャンセルボタン1507が押下されると、クラウド印刷サービスにプリンタを仮登録する処理がキャンセルされる。
FIG. 15 is a diagram showing an example (printer registration page 1501) of the screen (Web browser 9) of the LCD 205 of the PC1. A printer registration page 1501 is a screen related to user authentication when registering a printer in the cloud printing service. The user uses the printer registration page 1501 to perform user authentication and temporary registration of a printer necessary for using the cloud printing service provided by the cloud printing APP 146.
The URL input unit 1502 accepts input of a URL. The page of the Web site with the URL input by the URL input unit 1502 is displayed on the Web browser 9. A user account input unit 1503 receives an input of a user account. Password input unit 1504 accepts input of a password. The user inputs a user account and a password necessary for using the cloud printing service.
An authentication code (token) input unit 1505 receives an input of a temporary authentication code (token). The user inputs a temporary authentication code (token) for printer registration issued by the cloud printing APP 146 here. A registration button 1506 receives temporary registration of the printer. When the user presses a registration button 1506, the printer is provisionally registered in the cloud printing service. A cancel button 1507 accepts cancellation of temporary registration of the printer. When the user presses a cancel button 1507, the process of temporarily registering the printer in the cloud printing service is canceled.

図16は、クラウド印刷サービスにプリンタを登録する処理に係るフローチャートの一例を示す図である。このフローチャートに係るプログラムは、PCまたはMFP内に組み込まれている。PC上で動作するアプリケーションのプログラムは、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。MFP上で動作するアプリケーションのプログラムは、ROM16に記憶されており、RAM17に読み出され、CPU25により実行される。
このフローチャートにおいて、縦の列が処理の実行元を表し、本実施形態では図面の左側から、ユーザ(Webブラウザ9)、文書作成APP145、クラウド印刷APP146、プロキシAPP143、画像変換APP144、MFP3を記す。以下では、ユーザがMFP3とPC1を使って、クラウド印刷APP146が提供するクラウド印刷サービスにMFP3を登録するケースを例に挙げて、通信制御方法について説明する。
FIG. 16 is a diagram illustrating an example of a flowchart relating to processing for registering a printer in the cloud printing service. The program according to this flowchart is incorporated in the PC or MFP. A program of an application operating on the PC is stored in the HDD 202, and is read out and executed by the CPU 204 in the RAM 201. A program of an application operating on the MFP is stored in the ROM 16, read out to the RAM 17, and executed by the CPU 25.
In this flowchart, a vertical column represents a process execution source. In this embodiment, a user (Web browser 9), a document creation APP 145, a cloud print APP 146, a proxy APP 143, an image conversion APP 144, and an MFP 3 are described from the left side of the drawing. Hereinafter, the communication control method will be described by taking as an example a case where the user registers the MFP 3 in the cloud print service provided by the cloud print APP 146 using the MFP 3 and the PC 1.

ユーザがMFP3の表示部21を操作して、図14に示すクラウド印刷セットアップ画面1401を開き、ユーザ名入力部1403のユーザ「User A」用の登録ボタン1404を押下すると、図16において、プリンタの登録処理が開始される(S1601)。
プリンタの登録処理が開始されると、MFP3は、クラウド印刷APP146にプリンタの仮登録を要求する(S1602)。クラウド印刷APP146は、要求を受け取ると、プリンタ登録用の仮認証コード(トークン)と、プリンタ登録ページのURL(登録ページのURL)と、ポーリング用のURL(ポーリングURL)とを発行する(S1603)。MFP3は、クラウド印刷APP146から仮認証コード(トークン)とプリンタ登録ページのURLとポーリングURLとを受信すると、仮認証コード(トークン)及びプリンタ登録ページのURLを表示部21に表示し(S1604)、S1605に処理を移す。
次に、ユーザは、クラウド印刷APP146が提供するクラウド印刷サービスにMFP3を仮登録するためのユーザ認証処理を開始する(S1610)。より具体的には、ユーザは入力部を操作して、PC1内のWebブラウザ9を起動し、URL入力部1502にプリンタ登録ページのURLを入力すると、Webブラウザ9は、クラウド印刷APP146から指定されたプリンタ登録ページを開く(S1611)。
When the user operates the display unit 21 of the MFP 3 to open the cloud print setup screen 1401 shown in FIG. 14 and presses the registration button 1404 for the user “User A” in the user name input unit 1403, in FIG. Registration processing is started (S1601).
When the printer registration process is started, the MFP 3 requests the cloud print APP 146 to temporarily register the printer (S1602). Upon receiving the request, the cloud printing APP 146 issues a temporary registration code (token) for printer registration, a URL for the printer registration page (URL for the registration page), and a URL for polling (polling URL) (S1603). . Upon receiving the temporary authentication code (token), the printer registration page URL, and the polling URL from the cloud printing APP 146, the MFP 3 displays the temporary authentication code (token) and the printer registration page URL on the display unit 21 (S1604). The process moves to S1605.
Next, the user starts user authentication processing for temporarily registering the MFP 3 in the cloud print service provided by the cloud print APP 146 (S1610). More specifically, when the user operates the input unit to start the Web browser 9 in the PC 1 and inputs the URL of the printer registration page in the URL input unit 1502, the Web browser 9 is designated from the cloud print APP 146. The printer registration page is opened (S1611).

次に、ユーザは入力部を操作して、クラウド印刷サービスを利用するために事前に作成しておいたユーザアカウントとパスワードとを、ユーザアカウント入力部1503及びパスワード入力部1504にそれぞれ入力する。また、認証コード(トークン)入力部1505に仮認証コード(トークン)を入力する。ユーザが入力部を操作して登録ボタン1506を押下すると、Webブラウザ9は、このプリンタ登録ページ1501で入力されたユーザアカウント、パスワード、仮認証コード(トークン)をクラウド印刷APP146に送信する(S1612)。
クラウド印刷APP146は、Webブラウザ9から送信されたユーザアカウント、パスワード、仮認証コード(トークン)を受信すると、ユーザ認証を行う。更に、クラウド印刷APP146は、認証に成功した場合にはクラウド印刷サービスを利用する際に必要なアクセストークンを発行し、クラウド印刷サービスにMFP3を仮登録する(S1613)。これでユーザ認証処理が終了し、クラウド印刷サービスにMFP3が仮登録された状態となる(S1614)。
Next, the user operates the input unit to input the user account and password created in advance for using the cloud printing service to the user account input unit 1503 and the password input unit 1504, respectively. Also, a temporary authentication code (token) is input to the authentication code (token) input unit 1505. When the user operates the input unit and presses the registration button 1506, the Web browser 9 transmits the user account, password, and temporary authentication code (token) input on the printer registration page 1501 to the cloud print APP 146 (S1612). .
When the cloud print APP 146 receives the user account, password, and temporary authentication code (token) transmitted from the Web browser 9, the cloud print APP 146 performs user authentication. Furthermore, if the authentication is successful, the cloud printing APP 146 issues an access token necessary for using the cloud printing service, and temporarily registers the MFP 3 in the cloud printing service (S1613). This completes the user authentication process, and the MFP 3 is provisionally registered in the cloud printing service (S1614).

S1605では、MFP3は、ポーリングURLにアクセスし、クラウド印刷APP146にプリンタ(MFP3)の仮登録の状況(登録状況)を確認するための問合せを行う。クラウド印刷APP146は、問合せを受け付けると、プリンタ(MFP3)の仮登録の状況を確認する。
このとき、クラウド印刷APP146は、プリンタ(MFP3)の仮登録が完了していると判断した場合、プリンタ(MFP3)用のプリンタIDを発行して当該プリンタを本登録する。更に、クラウド印刷APP146は、このプリンタIDとアクセストークンとをMFP3に送信し、プリンタの本登録が完了した旨の結果をMFP3に返信する(S1606)。なお、プリンタIDは、ユーザ名入力部1403で指定されているユーザ「User A」専用としてクラウド印刷APP146がMFP3に割り当てた一意の値で表されたものである。
In step S <b> 1605, the MFP 3 accesses the polling URL and makes an inquiry to the cloud print APP 146 for confirming the temporary registration status (registration status) of the printer (MFP 3). When the cloud print APP 146 receives the inquiry, the cloud print APP 146 confirms the temporary registration status of the printer (MFP 3).
At this time, if the cloud printing APP 146 determines that provisional registration of the printer (MFP 3) has been completed, the cloud printing APP 146 issues a printer ID for the printer (MFP 3) and performs main registration of the printer. Further, the cloud printing APP 146 transmits the printer ID and the access token to the MFP 3, and returns a result indicating that the main registration of the printer is completed to the MFP 3 (S1606). The printer ID is represented by a unique value assigned to the MFP 3 by the cloud printing APP 146 exclusively for the user “User A” specified by the user name input unit 1403.

他方、クラウド印刷APP146は、プリンタ(MFP3)の仮登録が完了していないと判断した場合、プリンタの本登録が未完了である旨の結果をMFP3に返信する(S1606)。
MFP3は、プリンタ(MFP3)の本登録が完了した旨の結果を受信したと判断した場合(S1607でYESの場合)、S1608に処理を移し、他方、未完了である旨の結果を受信したと判断した場合(S1607でNOの場合)、S1605に処理を移す。S1608では、MFP3は、クラウド印刷サービスへのプリンタの本登録が完了した旨を表示部21に表示し(S1608)、プリンタの登録処理を終了する(S1609)。
On the other hand, when the cloud printing APP 146 determines that the temporary registration of the printer (MFP 3) has not been completed, the cloud printing APP 146 returns a result indicating that the main registration of the printer is not completed to the MFP 3 (S1606).
If the MFP 3 determines that it has received a result indicating that the main registration of the printer (MFP 3) has been completed (YES in S1607), it moves the process to S1608, and on the other hand, receives a result indicating that it has not been completed. If it is determined (NO in S1607), the process proceeds to S1605. In S1608, the MFP 3 displays on the display unit 21 that the main registration of the printer to the cloud printing service has been completed (S1608), and ends the printer registration processing (S1609).

また、ユーザがMFP3の表示部21を操作して、クラウド印刷セットアップ画面1401を開き、ユーザ名入力部1406のユーザ「User B」用の登録ボタン1407を押下すると、上述と同様にプリンタの登録処理とユーザ認証処理とが行われる。この際、S1606において、MFP3用のプリンタIDが発行されるが、このプリンタIDは、ユーザ名入力部1406で指定されているユーザ「User B」専用としてクラウド印刷APP146がMFP3に割り当てた一意の値で表されたものである。
また、ユーザがMFP3の表示部21を操作して、クラウド印刷セットアップ画面1401を開き、ユーザ名入力部1409のユーザ「User C」用の登録ボタン1410を押下すると、上述と同様にプリンタの登録処理とユーザ認証処理とが行われる。この際、S1606において、MFP3用のプリンタIDが発行されるが、このプリンタIDは、ユーザ名入力部1409で指定されているユーザ「User C」専用としてクラウド印刷APP146がMFP3に割り当てた一意の値で表されたものである。
このように、本実施形態では、クラウド印刷APP146が、1台のMFP(MFP3)に対して複数のユーザ(ユーザアカウント)毎にそれぞれ異なる一意の値のプリンタIDを発行する。これにより、1台のMFPを複数のユーザで共有して利用することができるので、MFPの利用目的や利用範囲が広がるとともに、操作性にも優れるなどの効果が得られる。なお、本実施形態においても、第1の実施形態の効果は得られる。
Further, when the user operates the display unit 21 of the MFP 3 to open the cloud print setup screen 1401 and presses the registration button 1407 for the user “User B” of the user name input unit 1406, the printer registration process is performed as described above. And user authentication processing. At this time, a printer ID for the MFP 3 is issued in S 1606, and this printer ID is a unique value assigned to the MFP 3 by the cloud printing APP 146 exclusively for the user “User B” specified in the user name input unit 1406. It is represented by.
When the user operates the display unit 21 of the MFP 3 to open the cloud print setup screen 1401 and presses the registration button 1410 for the user “User C” of the user name input unit 1409, the printer registration process is performed as described above. And user authentication processing. At this time, a printer ID for the MFP 3 is issued in S 1606, and this printer ID is a unique value assigned to the MFP 3 by the cloud print APP 146 exclusively for the user “User C” specified in the user name input unit 1409. It is represented by.
As described above, in this embodiment, the cloud printing APP 146 issues a unique printer ID value for each of a plurality of users (user accounts) to one MFP (MFP 3). As a result, since one MFP can be shared and used by a plurality of users, the purpose and range of use of the MFP can be expanded and the operability can be improved. In the present embodiment, the effects of the first embodiment can be obtained.

<第3の実施形態>
第1の実施形態では、クラウド印刷APP146が提供するクラウド印刷サービスにおける印刷ジョブ通知をプロキシAPP143が受信する構成を例に挙げて説明した。この例では、MFP3が、図6のS618〜S621において一定の時間間隔(この例では1分間隔)でポーリングすることにより、プロキシAPP143に対して印刷ジョブの有無の確認を行っている。
そのため、プロキシAPP143が印刷ジョブ通知を受信してから、必ずしも直ちにMFP3が印刷を開始することができず、最長でポーリングのインターバル分(この例では1分)の遅れが発生する事態が生じ得る。
そこで、本実施形態では、印刷の実行が指示されてから印刷が開始されるまでの時間(印刷開始時間)を短縮するとともに、印刷の実行が指示されてから印刷処理が終了するまでの時間(トータル印刷時間)を低減可能な周辺装置制御システムの一例を説明する。なお、本実施形態では、第1の実施形態の構成と同一の構成には同一の符号を用いてその説明を適宜省略する。
<Third Embodiment>
In the first embodiment, the configuration in which the proxy APP 143 receives a print job notification in the cloud print service provided by the cloud print APP 146 has been described as an example. In this example, the MFP 3 polls the proxy APP 143 for the presence of a print job by performing polling at regular time intervals (in this example, 1 minute intervals) in S618 to S621 in FIG.
For this reason, after the proxy APP 143 receives the print job notification, the MFP 3 cannot always start printing immediately, and there may occur a delay of a polling interval (1 minute in this example) at the longest.
Therefore, in the present embodiment, the time (print start time) from when the execution of printing is instructed until the start of printing (print start time) is shortened, and the time from when the execution of printing is instructed to when the printing process is completed ( An example of a peripheral device control system capable of reducing the total printing time) will be described. In the present embodiment, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof is omitted as appropriate.

図17は、本周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。このフローチャートに係るプログラムは、PCまたはMFP内に組み込まれている。PC上で動作するアプリケーションのプログラムは、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。MFP上で動作するアプリケーションのプログラムは、ROM16に記憶されており、RAM17に読み出され、CPU25により実行される。
このフローチャートにおいて、縦の列が処理の実行元を表し、本実施形態では図面の左側から、ユーザ(Webブラウザ9)、文書作成APP145、クラウド印刷APP146、プロキシAPP143、画像変換APP144、MFP3を記す。以下では、ユーザがPC1を使ってドキュメントの印刷をMFP3で行うケース(ドキュメントの印刷に係る一連の処理)を例に挙げて通信制御方法について説明する。
このフローチャートにおいて、図6、図7に示すステップ番号と同じステップ番号が付与されている処理は、基本的には図6、図7で説明した処理と同一であるので、その説明を省略する。また、特に説明がない部分に関しても図6、図7で説明した内容と同一であるものとする。
FIG. 17 is a diagram illustrating an example of a flowchart relating to processing of the entire peripheral device control system. The program according to this flowchart is incorporated in the PC or MFP. A program of an application operating on the PC is stored in the HDD 202, and is read out and executed by the CPU 204 in the RAM 201. A program of an application operating on the MFP is stored in the ROM 16, read out to the RAM 17, and executed by the CPU 25.
In this flowchart, a vertical column represents a process execution source. In this embodiment, a user (Web browser 9), a document creation APP 145, a cloud print APP 146, a proxy APP 143, an image conversion APP 144, and an MFP 3 are described from the left side of the drawing. Hereinafter, the communication control method will be described by taking as an example a case where a user prints a document with the MFP 3 using the PC 1 (a series of processes related to document printing).
In this flowchart, the process with the same step number as the step number shown in FIGS. 6 and 7 is basically the same as the process described with reference to FIGS. In addition, parts that are not particularly described are the same as those described with reference to FIGS.

図17において、S601でユーザ側から見たドキュメントの印刷が開始されると、S602〜S609の処理が順に行われる。S609において、クラウド印刷APP146は、選択されているプリンタ選択肢に関連付けられているプリンタ(MFP3)に印刷ジョブ通知(開始通知の一例)を送信する。
印刷ジョブ通知には、例えば、Extensible Messaging and Presence Protocol(略称:XMPP)というインスタントメッセンジャーで使用されているプロトコルを利用することができる。ステップS609において、クラウド印刷APP146がプリンタ(MFP3)に送信する印刷ジョブ通知は、暗号化されていないXMPPが利用されるものとする。
MFP3は、印刷ジョブ通知を受信すると(S1708)、S1709に処理を移す。S1709では、MFP3は、プロキシAPP143に印刷ジョブの取得を要求し、印刷ジョブの有無を確認する処理(S1701)を開始(起動)する。
プロキシAPP143は、MFP3からの印刷ジョブの取得の要求を受信すると、クラウド印刷APP146がエクスポートしているWebサービスAPIのFetchPrintJob関数をコールする(S1710)。そして、図6のS611に処理が移され、図6のS611以降の処理が行われる。
In FIG. 17, when printing of the document viewed from the user side is started in S601, the processing of S602 to S609 is performed in order. In step S609, the cloud print APP 146 transmits a print job notification (an example of a start notification) to the printer (MFP 3) associated with the selected printer option.
For the print job notification, for example, a protocol used in an instant messenger called Extensible Messaging and Presence Protocol (abbreviation: XMPP) can be used. Assume that unencrypted XMPP is used for the print job notification sent to the printer (MFP 3) by the cloud print APP 146 in step S609.
Upon receiving the print job notification (S1708), the MFP 3 moves the process to S1709. In step S <b> 1709, the MFP 3 requests the proxy APP 143 to acquire a print job, and starts (activates) processing (S <b> 1701) for confirming the presence or absence of the print job.
When the proxy APP 143 receives the print job acquisition request from the MFP 3, the proxy APP 143 calls the FetchPrintJob function of the Web service API exported by the cloud print APP 146 (S 1710). Then, the process proceeds to S611 in FIG. 6, and the processes after S611 in FIG. 6 are performed.

また、印刷ジョブの有無を確認する処理を開始すると(S1701)、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのCheckPrintJob関数をコールする(S1702)。S1702において、MFP3が、この関数をコールするときに、HTTPのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(確認情報の一例)は、図6のS618で説明した情報と同一である。
プロキシAPP143は、CheckPrintJob関数がコールされると、図9(A)に示すCheckPrintJob関数の処理を実行し、そのレスポンス(応答情報の一例)をMFP3に返す(S1703)。
続いて、MFP3は、プロキシAPP143からのCheckPrintJob関数のレスポンスを受信すると、レスポンス内の応答メッセージに含まれている情報(「印刷ジョブ有り応答」又は「印刷ジョブ無し応答」)を確認する(S1704)。S1704において、MFP3は、「印刷ジョブ有り応答」を受信したと判断した場合、図7のS708に処理を移し、他方、「印刷ジョブ無し応答」を受信したと判断した場合、S1705に処理を移す。
When the process for confirming the presence / absence of a print job is started (S1701), the MFP 3 calls the CheckPrintJob function of the Web service API exported by the proxy APP 143 (S1702). In S1702, when the MFP 3 calls this function, information (an example of confirmation information) passed to the proxy APP 143 as a query parameter of the HTTP GET request is the same as the information described in S618 of FIG.
When the CheckPrintJob function is called, the proxy APP 143 executes the processing of the CheckPrintJob function shown in FIG. 9A and returns a response (an example of response information) to the MFP 3 (S1703).
Subsequently, when receiving the response of the CheckPrintJob function from the proxy APP 143, the MFP 3 confirms the information (“response with print job” or “response without print job”) included in the response message (S1704). . In step S1704, if the MFP 3 determines that the “print job presence response” has been received, the process proceeds to step S708 in FIG. .

S1705では、MFP3は、S1701において印刷ジョブの有無を確認する処理が開始されてからの経過時間を確認し、S1706に処理を移す。S1706では、MFP3は、経過時間が最長待ち時間(例えば5分間)を経過していると判断した場合(YESの場合)、図6のS618に処理を移し、他方、経過していないと判断した場合(NOの場合)、S1707に処理を移す。
S1707では、MFP3は、一定の時間(例えば1秒間)待った後、S1702に処理を移す。このように、MFP3は、印刷ジョブが生成される際に、プロキシAPP143がエクスポートしているCheckPrintJob関数を一定の時間間隔で(定期的に)ポーリングする。
ここで、第1の実施形態の図6のS618〜S621におけるポーリングのインターバルが1分間であったのに対し、本実施形態ではポーリングのインターバルが1秒間である。この構成により、印刷開始時間を大幅に短縮することができ、トータル印刷時間も低減することができる。
In step S1705, the MFP 3 checks the elapsed time from the start of the processing for checking whether or not there is a print job in step S1701, and moves the processing to step S1706. In S1706, when the MFP 3 determines that the elapsed time has passed the longest waiting time (for example, 5 minutes) (in the case of YES), it moves the process to S618 in FIG. 6, and determines that it has not elapsed. If yes (NO), the process moves to S1707.
In S1707, the MFP 3 waits for a certain time (for example, 1 second), and then moves the process to S1702. As described above, when a print job is generated, the MFP 3 polls the CheckPrintJob function exported by the proxy APP 143 at regular intervals (periodically).
Here, the polling interval in S618 to S621 in FIG. 6 of the first embodiment is 1 minute, whereas in this embodiment, the polling interval is 1 second. With this configuration, the printing start time can be greatly shortened, and the total printing time can also be reduced.

また、第1の実施形態では、印刷ジョブの有無によらずポーリングが行われる。よって、膨大な数のプリンタからプロキシAPP143に対して頻繁にポーリングが行われると、プロキシAPP143の負荷が非常に大きくなり、大規模なシステムが必要になることによるクラウドシステム(周辺装置制御システムの一例)のコストアップに至る。また、場合によっては、クラウドシステムが機能しなくなるほど負荷がかかる可能性もあり、システム全体が不安定になってしまうという懸念もある。
しかしながら、本実施形態では、印刷ジョブが生成されるときに限ってポーリングが行われるため、全体からみた場合にごく少数のプリンタが対象となるので、ポーリングのインターバルを短くしてもシステムに与える負荷が少ない。したがって、本実施形態によれば、システムを大規模にする必要もなく、クラウドシステムの生産費、運用費などの費用を抑える(第1の実施形態のクラウドシステムの費用よりも下げる)ことができる。また、本実施形態によれば、システム全体を安定した状態で維持することも可能となる。
In the first embodiment, polling is performed regardless of the presence or absence of a print job. Therefore, if polling is frequently performed from a huge number of printers to the proxy APP 143, the load on the proxy APP 143 becomes very large, and a cloud system (an example of a peripheral device control system) is required because a large-scale system is required. ) Cost increase. Moreover, depending on the case, there is a possibility that a load may be applied so that the cloud system does not function, and there is a concern that the entire system becomes unstable.
However, in this embodiment, polling is performed only when a print job is generated. Therefore, since a very small number of printers are targeted as a whole, the load applied to the system even if the polling interval is shortened. Less is. Therefore, according to this embodiment, it is not necessary to make the system large-scale, and it is possible to suppress costs such as production cost and operation cost of the cloud system (lower than the cost of the cloud system of the first embodiment). . Further, according to the present embodiment, the entire system can be maintained in a stable state.

また、S1706では、印刷ジョブの有無を確認する処理が開始されてからの経過時間(或いは印刷ジョブ通知を受信した時点からの経過時間でもよい。)が最長待ち時間を超えた場合、クラウド印刷サービスに異常が発生した可能性があることを想定している。即ち、経過時間が最長待ち時間を超えた以降のポーリングのインターバルを十分に長くすることにより、長時間にわたって短いインターバルでのポーリングが続くことを防止し、システムを安定した状態で維持することができる。
このように、本実施形態では、MFP3は、クラウド印刷APP146からの印刷ジョブ通知を受信すると、その時点から極めて短いインターバルで印刷ジョブの有無を確認することができるので、印刷開始時間を短縮し、トータル印刷時間を低減することができる。なお、本実施形態においても、第1の実施形態の効果は得られる。
なお、ユーザが印刷を開始したときに、MFP3の電源がオフの場合、印刷ジョブ通知を受信できないケースが考えられる。このようなケースに対応するために、MFP3の電源がオンになったときに、ステップS1701の処理を少なくとも1回、或いは、ある一定時間の間だけ行うようにする。このことで、前記ユーザが開始した印刷ジョブをMFP3の電源投入時に確実に印刷することができる。
上述した実施形態をさらに改良する実施形態もある。クラウド印刷APP146がMFP3に印刷ジョブ通知を送信するということは、印刷ジョブが有るという前提で処理できると考えられる。したがって、ステップS1709において、MFP3が印刷ジョブの有無を確認する処理(S1701)を開始(起動)した後、ステップS1702の処理を実行せずにステップS1704に直接進む。そして、更にステップS1704の判定を無条件にYESで処理して、ステップS708へ進む。これにより、クラウド印刷APP146が、暗号化されていない印刷ジョブ通知をMFP3に送信する。MFP3は、この暗号化されていない印刷ジョブ通知を受信した後、プロキシAPP143がエクスポートしているGetPrintJob関数を、SSL通信で暗号化されたHTTPSのGETメソッドでコールする。このような改良実施形態においても、第1の実施形態の効果が得られる。
In S1706, if the elapsed time since the process of confirming the presence or absence of the print job is started (or the elapsed time from when the print job notification is received) exceeds the maximum waiting time, the cloud print service It is assumed that an abnormality may have occurred. That is, by making the polling interval after the elapsed time exceeds the maximum waiting time sufficiently long, it is possible to prevent polling at a short interval from continuing for a long time and maintain the system in a stable state. .
As described above, in the present embodiment, when the MFP 3 receives the print job notification from the cloud print APP 146, the MFP 3 can confirm the presence / absence of the print job at an extremely short interval from that point, thereby reducing the print start time. Total printing time can be reduced. In the present embodiment, the effects of the first embodiment can be obtained.
When the user starts printing, if the MFP 3 is turned off, a print job notification may not be received. In order to deal with such a case, when the power of the MFP 3 is turned on, the process of step S1701 is performed at least once or for a certain period of time. Thus, the print job started by the user can be reliably printed when the MFP 3 is turned on.
Some embodiments further improve the above-described embodiments. It can be considered that the cloud print APP 146 transmits a print job notification to the MFP 3 on the premise that there is a print job. Accordingly, in step S1709, after the MFP 3 starts (activates) the process (S1701) for confirming the presence or absence of a print job, the process directly proceeds to step S1704 without executing the process in step S1702. Further, the determination in step S1704 is processed unconditionally with YES, and the process proceeds to step S708. As a result, the cloud print APP 146 transmits an unencrypted print job notification to the MFP 3. After receiving the unencrypted print job notification, the MFP 3 calls the GetPrintJob function exported by the proxy APP 143 using the HTTPS GET method encrypted by SSL communication. Even in such an improved embodiment, the effect of the first embodiment can be obtained.

<第4の実施形態>
上述した実施形態では、情報処理装置としてパーソナルコンピュータを想定した。しかしながら、この例に限られるものではなく、例えばDVDプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置(端末)に対して適用することができ、有効である。
また、上述した実施形態では、周辺装置としてMFPを例示した。しかしながら、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
また、上述した実施形態では、OSに例としてWindowsと同等のOSを使用したが、このOSに限られるものではなく、任意のOSを使用することができる。
また、上述した実施形態では、ネットワーク4の構成例としてEthernetを用いたが、この例に限られるものではなく、他の任意のネットワーク構成であってもよい。
<Fourth Embodiment>
In the embodiment described above, a personal computer is assumed as the information processing apparatus. However, the present invention is not limited to this example, and can be applied to any information processing apparatus (terminal) that can be used in a similar manner, such as a DVD player, a game, a set-top box, and an Internet home appliance. It is.
In the above-described embodiment, the MFP is exemplified as the peripheral device. However, the peripheral device may be any one of a copying machine, a facsimile, a scanner, a digital camera, and a device having a composite function thereof.
In the above-described embodiment, an OS equivalent to Windows is used as an example of the OS. However, the present invention is not limited to this OS, and an arbitrary OS can be used.
In the above-described embodiment, Ethernet is used as a configuration example of the network 4. However, the configuration is not limited to this example, and any other network configuration may be used.

また、上述した実施形態では、PC1、PC2、PC5、PC7とMFP3、MFP103との間のインタフェースとして、Ethernetを採用した。しかしながら、このインタフェースに限られることなく、例えば、無線LAN、IEEE1394、Bluetooth(登録商標)、USB等の任意のインタフェースを用いるようにしてもよい。
また、各種のアプリケーション(ファームウェア)における機能、上述したフローチャートに係る処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
In the above-described embodiment, Ethernet is used as an interface between PC1, PC2, PC5, and PC7 and MFP3 and MFP103. However, the present invention is not limited to this interface, and any interface such as a wireless LAN, IEEE 1394, Bluetooth (registered trademark), USB, or the like may be used.
Moreover, you may comprise the function in various applications (firmware), a part of the process which concerns on the flowchart mentioned above, or all using dedicated hardware.

上述した本実施形態によれば、ポーリングによる画像変換処理の進捗状況の確認処理や、ポーリングによる印刷ジョブの有無の確認処理に時間を要することがなくなり、ユーザの操作性を向上することができる。
また、周辺装置制御システムにクラウドを利用した場合においても、システムの構築やアプリケーションの実装が容易で、開発や運用コストを削減できる。
さらに、MFP3のような性能の低い廉価版のプリンタや複合機のファームウェアの実装にも支障をきたすことなく、各処理に時間を要することもなくなるため、ユーザの操作性を向上することができる。
According to the above-described embodiment, time is not required for the confirmation process of the progress status of the image conversion process by polling and the confirmation process of the presence / absence of a print job by polling, and the user operability can be improved.
Moreover, even when the cloud is used for the peripheral device control system, it is easy to construct a system and mount an application, and to reduce development and operation costs.
Furthermore, since it does not hinder the implementation of firmware of a low-cost printer or multifunction machine having a low performance like the MFP 3 and each process does not take time, the operability for the user can be improved.

また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。   The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

上述した実施形態の構成によれば、装置間の通信をより適切に行うことができる。   According to the configuration of the above-described embodiment, communication between apparatuses can be performed more appropriately.

以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

Claims (22)

理装置と通信可能に接続された周辺装置であって、
記管理装置に前記周辺装置が取得すべき情報があるか否かを確認する際に用いる確認情報については暗号化を行わない通信方式で前記管理装置に送信し、前記確認情報とは異なる印刷ジョブを取得するための取得情報については暗号化を行う通信方式で前記管理装置に送信する通信手段を有することを特徴とする周辺装置。
A communicatively connected peripheral device and the management device,
Transmitted to the management apparatus communication method without encryption for confirmation information used for confirming whether the peripheral device prior Symbol management device is information to be acquisition, different printing and the confirmation information A peripheral device comprising: communication means for transmitting acquired information for acquiring a job to the management device by a communication method for performing encryption.
前記通信手段は、前記取得情報に応答して前記管理装置から送信された前記印刷ジョブの処理が終了すると、前印刷ジョブの処理が終了したことを示す終了情報について暗号化を行う通信方式で前記管理装置に送信することを特徴とする請求項1記載の周辺装置。 It said communication means, the processing of pre-Symbol the print job sent from the management device in response to obtained information is completed, the communication method of the processing of pre-Symbol print job to encrypt the end information indicating the end The peripheral device according to claim 1, wherein the peripheral device transmits the information to the management device. 前記通信手段は、定期的に、前記確認情報を前記管理装置に送信することを特徴とする請求項1又は2記載の周辺装置。   The peripheral device according to claim 1, wherein the communication unit periodically transmits the confirmation information to the management device. ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理を実行する周辺装置と通信可能に接続された情報処理装置であって、
前記サービスにおけるジョブの情報を記憶部に記憶する記憶手段と、
前記サービスでの一連の処理において、前記記憶部にジョブの情報が記憶されているか否かを確認する前記周辺装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記周辺装置に送信し、前記確認情報とは異なる前記周辺装置からの他の情報に対する応答情報については暗号化を行う通信方式で前記周辺装置に送信する通信手段と、を有することを特徴とする情報処理装置。
An information processing device communicably connected to a peripheral device that executes job processing in a service provided by a providing device via a network,
Storage means for storing job information in the service in a storage unit;
In a series of processing in the service, response information to the confirmation information from the peripheral device that confirms whether or not job information is stored in the storage unit is transmitted to the peripheral device using a communication method that does not perform encryption. An information processing apparatus comprising: communication means for transmitting and transmitting response information to other information from the peripheral device different from the confirmation information to the peripheral device using a communication method for performing encryption.
前記通信手段は、前記確認情報に対する応答情報については予め定められた演算を行い、演算した結果を暗号化しない通信方式で前記周辺装置に送信することを特徴とする請求項4記載の情報処理装置。   5. The information processing apparatus according to claim 4, wherein the communication unit performs a predetermined calculation on the response information with respect to the confirmation information, and transmits the calculation result to the peripheral apparatus using a communication method that does not encrypt the calculation result. . ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理の前処理を行う前処理装置と通信可能に接続された情報処理装置であって、
前記サービスでの一連の処理において、前記前処理装置が行う前処理の実行の状況を確認する際に用いる確認情報については暗号化を行わない通信方式で前記前処理装置に送信し、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記前処理装置に送信する通信手段を有することを特徴とする情報処理装置。
An information processing apparatus communicably connected to a preprocessing apparatus that performs preprocessing of job processing in a service provided by a providing apparatus via a network,
In the series of processes in the service, the confirmation information used when confirming the execution status of the preprocessing performed by the preprocessing device is transmitted to the preprocessing device using a communication method without encryption, and the confirmation information An information processing apparatus comprising communication means for transmitting other information different from the information to the preprocessing apparatus by a communication method for performing encryption.
前記ジョブの処理を実行する周辺装置と通信可能に接続され、
前記通信手段は、
前記提供装置から前記ジョブの情報を受信すると、前記ジョブの情報をもとに生成する前記他の情報である前記前処理で用いられる前処理情報について暗号化を行う通信方式で前記前処理装置に送信し、
前記ジョブの処理が終了したこと示す終了情報を前記周辺装置から受信すると、前記他の情報である前記終了情報をもとに生成するジョブ処理終了情報について暗号化を行う通信方式で前記前処理装置に送信することを特徴とする請求項6記載の情報処理装置。
It is connected so as to be able to communicate with a peripheral device that executes the processing of the job,
The communication means includes
When the job information is received from the providing device, the preprocessing device uses the communication method to encrypt the preprocessing information used in the preprocessing, which is the other information generated based on the job information. Send
When the end information indicating that the processing of the job is completed is received from the peripheral device, the preprocessing device is configured to encrypt the job processing end information generated based on the end information that is the other information. The information processing apparatus according to claim 6, wherein the information processing apparatus transmits the information to the information processing apparatus.
前記通信手段は、前記確認情報に対する前記前処理装置からの応答情報をもとに、前記前処理が終了したと判断した場合、前記他の情報である、前記前処理の結果の所在を示す情報の取得に用いる所在取得情報について暗号化を行う通信方式で前記前処理装置に送信することを特徴とする請求項6又は7記載の情報処理装置。   When the communication means determines that the preprocessing has been completed based on response information from the preprocessing device to the confirmation information, the other information is information indicating the location of the result of the preprocessing. The information processing apparatus according to claim 6 or 7, wherein the location acquisition information used for acquisition is transmitted to the preprocessing apparatus by a communication method for performing encryption. 前記通信手段は、前記前処理装置から前記前処理を開始したことを示す情報を受信してから前記確認情報に対する前記前処理装置からの応答情報をもとに前記前処理が終了したと判断するまでの間、前記確認情報を前記前処理装置に送信することを特徴とする請求項6乃至8の何れか1項記載の情報処理装置。   The communication means determines that the preprocessing has been completed based on response information from the preprocessing device to the confirmation information after receiving information indicating that the preprocessing has been started from the preprocessing device. The information processing apparatus according to any one of claims 6 to 8, wherein the confirmation information is transmitted to the preprocessing apparatus until a period of time. ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続された情報処理装置であって、
前記サービスにおけるジョブの処理の前処理を行う前処理手段と、
前記前処理の実行の状況を示す情報を記憶部に記憶する記憶手段と、
前記サービスでの一連の処理において、前記前処理の実行の状況を確認する前記管理装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記管理装置に送信し、前記管理装置からの前記確認情報とは異なる他の情報に対する応答情報については暗号化を行う通信方式で前記管理装置に送信する通信手段と、を有することを特徴とする情報処理装置。
An information processing apparatus communicably connected to a management apparatus that manages job information in a service provided by a providing apparatus via a network,
Preprocessing means for performing preprocessing of job processing in the service;
Storage means for storing information indicating the execution status of the preprocessing in a storage unit;
In a series of processes in the service, response information to the confirmation information from the management apparatus that confirms the execution status of the pre-process is transmitted to the management apparatus by a communication method that does not perform encryption. An information processing apparatus comprising: a communication unit configured to transmit response information to other information different from the confirmation information to the management apparatus using a communication method for performing encryption.
前記通信手段は、前記確認情報に対する応答情報については予め定められた演算を行い、演算した結果を暗号化しない通信方式で前記管理装置に送信することを特徴とする請求項10記載の情報処理装置。   11. The information processing apparatus according to claim 10, wherein the communication unit performs a predetermined calculation on the response information with respect to the confirmation information, and transmits the calculation result to the management apparatus using a communication method that does not encrypt the calculation result. . 理装置と通信可能に接続された周辺装置が実行する通信制御方法であって、
記管理装置に前記周辺装置が取得すべき情報があるか否かを確認する際に用いる確認情報については暗号化を行わない通信方式で前記管理装置に送信する工程と
記確認情報とは異なる印刷ジョブを取得するための取得情報については暗号化を行う通信方式で前記管理装置に送信する工程と、を含むことを特徴とする通信制御方法。
A communication control method communicatively connected peripheral device and the management device executes,
And transmitting to the management apparatus communication method without encryption for confirmation information used for confirming whether the peripheral device prior Symbol management device is information to be acquisition,
Communication control method which comprises a step of transmitting to the management apparatus communication method that encrypts and for acquiring information for acquiring the different print jobs from the previous SL confirmation information.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理を実行する周辺装置と通信可能に接続された情報処理装置が実行する通信制御方法であって、
前記サービスにおけるジョブの情報を記憶部に記憶する記憶工程と、
前記サービスでの一連の処理において、前記記憶部にジョブの情報が記憶されているか否かを確認する前記周辺装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記周辺装置に送信する工程と、
前記サービスでの一連の処理において、前記確認情報とは異なる前記周辺装置からの他の情報に対する応答情報については暗号化を行う通信方式で前記周辺装置に送信する工程と、を含むことを特徴とする通信制御方法。
A communication control method executed by an information processing apparatus that is communicably connected to a peripheral device that executes job processing in a service provided by a providing apparatus via a network,
A storage step of storing job information in the service in a storage unit;
In a series of processing in the service, response information to the confirmation information from the peripheral device that confirms whether or not job information is stored in the storage unit is transmitted to the peripheral device using a communication method that does not perform encryption. Sending, and
In a series of processing in the service, the response information for other information from the peripheral device different from the confirmation information includes a step of transmitting to the peripheral device by a communication method for performing encryption. Communication control method.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理の前処理を行う前処理装置と通信可能に接続された情報処理装置が実行する通信制御方法であって、
前記サービスでの一連の処理において、前記前処理装置が行う前処理の実行の状況を確認する際に用いる確認情報については暗号化を行わない通信方式で前記前処理装置に送信する工程と、
前記サービスでの一連の処理において、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記前処理装置に送信する工程と、を含むことを特徴とする通信制御方法。
A communication control method executed by an information processing apparatus communicably connected to a preprocessing apparatus that performs preprocessing of job processing in a service provided by a providing apparatus via a network,
In a series of processing in the service, the step of transmitting confirmation information used when confirming the execution status of the preprocessing performed by the preprocessing device to the preprocessing device using a communication method that does not perform encryption,
In a series of processing in the service communication control method for different other information with the confirmation information, characterized in that and a step of transmitting to the pretreatment device in the communication method of performing encryption.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続された情報処理装置が実行する通信制御方法であって、
前記サービスにおけるジョブの処理の前処理を行う前処理工程と、
前記前処理の実行の状況を示す情報を記憶部に記憶する記憶工程と、
前記サービスでの一連の処理において、前記前処理の実行の状況を確認する前記管理装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記管理装置に送信する工程と、
前記サービスでの一連の処理において、前記管理装置からの前記確認情報とは異なる他の情報に対する応答情報については暗号化を行う通信方式で前記管理装置に送信する工程と、を含むことを特徴とする通信制御方法。
A communication control method executed by an information processing apparatus communicably connected to a management apparatus that manages job information in a service provided by a providing apparatus via a network,
A pre-processing step of performing pre-processing of job processing in the service;
A storage step of storing information indicating a state of execution of the preprocessing in a storage unit;
In a series of processing in the service, a step of transmitting response information to the confirmation information from the management device that confirms the execution status of the preprocessing to the management device using a communication method that does not perform encryption;
In a series of processing in the service, the response information to different other information and the confirmation information from the management apparatus and comprising: the step of transmitting to the management apparatus communication method that encrypts and Communication control method.
理装置と通信可能に接続されたコンピュータを、
記管理装置に前記コンピュータが取得すべき情報があるか否かを確認する際に用いる確認情報については暗号化を行わない通信方式で前記管理装置に送信し、前記確認情報とは異なる印刷ジョブを取得するための取得情報については暗号化を行う通信方式で前記管理装置に送信する通信手段として機能させるためのプログラム。
The communicatively connected computers and management apparatus,
Transmitted to the management apparatus communication method without encryption for confirmation information used for confirming whether the computer before Symbol management apparatus there is information to be acquired, different print jobs to the confirmation information A program for functioning as communication means for transmitting the acquisition information for acquiring the information to the management apparatus using a communication method for performing encryption.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理を実行する周辺装置と通信可能に接続されたコンピュータを、
前記サービスにおけるジョブの情報を記憶部に記憶する記憶手段と、
前記サービスでの一連の処理において、前記記憶部にジョブの情報が記憶されているか否かを確認する前記周辺装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記周辺装置に送信し、前記確認情報とは異なる前記周辺装置からの他の情報に対する応答情報については暗号化を行う通信方式で前記周辺装置に送信する通信手段として機能させるためのプログラム。
A computer that is communicably connected to a peripheral device that executes job processing in a service provided by a providing device via a network;
Storage means for storing job information in the service in a storage unit;
In a series of processing in the service, response information to the confirmation information from the peripheral device that confirms whether or not job information is stored in the storage unit is transmitted to the peripheral device using a communication method that does not perform encryption. A program for transmitting and functioning as communication means for transmitting response information to the other information from the peripheral device different from the confirmation information to the peripheral device in a communication method in which encryption is performed.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの処理の前処理を行う前処理装置と通信可能に接続されたコンピュータを、
前記サービスでの一連の処理において、前記前処理装置が行う前処理の実行の状況を確認する際に用いる確認情報については暗号化を行わない通信方式で前記前処理装置に送信し、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記前処理装置に送信する通信手段として機能させるためのプログラム。
A computer that is communicably connected to a pre-processing device that performs pre-processing of job processing in a service provided by a providing device via a network;
In the series of processes in the service, the confirmation information used when confirming the execution status of the preprocessing performed by the preprocessing device is transmitted to the preprocessing device by a communication method without encryption, and the confirmation information A program for functioning as a communication means for transmitting other information different from the above information to the pre-processing device by a communication method for performing encryption.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続されたコンピュータを、
前記サービスにおけるジョブの処理の前処理を行う前処理手段と、
前記前処理の実行の状況を示す情報を記憶部に記憶する記憶手段と、
前記サービスでの一連の処理において、前記前処理の実行の状況を確認する前記管理装置からの確認情報に対する応答情報については暗号化を行わない通信方式で前記管理装置に送信し、前記管理装置からの前記確認情報とは異なる他の情報に対する応答情報については暗号化を行う通信方式で前記管理装置に送信する通信手段として機能させるためのプログラム。
A computer that is communicably connected to a management device that manages job information in a service provided by a providing device via a network;
Preprocessing means for performing preprocessing of job processing in the service;
Storage means for storing information indicating the execution status of the preprocessing in a storage unit;
In a series of processes in the service, response information to the confirmation information from the management apparatus that confirms the execution status of the pre-process is transmitted to the management apparatus by a communication method that does not perform encryption. program for for the confirmation information response information to different other information with the function as communication means for transmitting to said management apparatus by the communication method of performing encryption.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続され、前記ジョブの処理を実行する周辺装置であって、
前記サービスでの一連の処理において、前記提供装置から前記サービスの開始を指示する開始通知を受信すると、前記管理装置にジョブが存在するか否かを確認する際に用いる確認情報を、暗号化を行わない通信方式で前記管理装置に定期的に送信し、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記管理装置に送信する通信手段を有することを特徴とする周辺装置。
A peripheral device that is communicably connected to a management device that manages job information in a service provided by a providing device via a network, and executes processing of the job,
In a series of processing in the service, when receiving a start notification instructing the start of the service from the providing device, the confirmation information used when confirming whether or not a job exists in the management device is encrypted. Peripheral device characterized by comprising a communication means for periodically transmitting to the management device by a communication method that is not performed and transmitting to the management device by a communication method for encrypting other information different from the confirmation information .
ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続され、前記ジョブの処理を実行する周辺装置が実行する通信制御方法であって、
前記サービスでの一連の処理において、前記提供装置から前記サービスの開始を指示する開始通知を受信すると、前記管理装置にジョブが存在するか否かを確認する際に用いる確認情報を、暗号化を行わない通信方式で前記管理装置に定期的に送信する工程と、
前記サービスでの一連の処理において、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記管理装置に送信する工程と、を含むことを特徴とする通信制御方法。
A communication control method executed by a peripheral device that is communicably connected to a management device that manages job information in a service provided by a providing device via a network, and that executes the job processing,
In a series of processing in the service, when receiving a start notification instructing the start of the service from the providing device, the confirmation information used when confirming whether or not a job exists in the management device is encrypted. A step of periodically transmitting to the management device by a communication method not performed;
In a series of processing in the service communication control method for different other information with the confirmation information, which comprises the step of transmitting to the management apparatus communication method that encrypts and.
ネットワークを介して提供装置により提供されるサービスにおけるジョブの情報を管理する管理装置と通信可能に接続され、前記ジョブの処理を実行するコンピュータを、
前記サービスでの一連の処理において、前記提供装置から前記サービスの開始を指示する開始通知を受信すると、前記管理装置にジョブが存在するか否かを確認する際に用いる確認情報を、暗号化を行わない通信方式で前記管理装置に定期的に送信し、前記確認情報とは異なる他の情報については暗号化を行う通信方式で前記管理装置に送信する通信手段として機能させるためのプログラム。
A computer that is communicably connected to a management device that manages job information in a service provided by a providing device via a network, and that executes the job processing;
In a series of processing in the service, when receiving a start notification instructing the start of the service from the providing device, the confirmation information used when confirming whether or not a job exists in the management device is encrypted. A program for functioning as a communication unit that periodically transmits to the management device using a communication method that is not performed, and transmits other information different from the confirmation information to the management device using a communication method that performs encryption.
JP2012167511A 2011-08-19 2012-07-27 Peripheral device, information processing device, communication control method, and program Expired - Fee Related JP5943761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012167511A JP5943761B2 (en) 2011-08-19 2012-07-27 Peripheral device, information processing device, communication control method, and program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2011179798 2011-08-19
JP2011179798 2011-08-19
JP2011250609 2011-11-16
JP2011250609 2011-11-16
JP2012167511A JP5943761B2 (en) 2011-08-19 2012-07-27 Peripheral device, information processing device, communication control method, and program

Publications (3)

Publication Number Publication Date
JP2013127771A JP2013127771A (en) 2013-06-27
JP2013127771A5 JP2013127771A5 (en) 2015-08-20
JP5943761B2 true JP5943761B2 (en) 2016-07-05

Family

ID=48778250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012167511A Expired - Fee Related JP5943761B2 (en) 2011-08-19 2012-07-27 Peripheral device, information processing device, communication control method, and program

Country Status (1)

Country Link
JP (1) JP5943761B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015150706A (en) * 2014-02-10 2015-08-24 キヤノン株式会社 Image formation device, control method, program, and image formation system
JP6768279B2 (en) * 2015-10-08 2020-10-14 キヤノン株式会社 Printing equipment and programs

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005074004A (en) * 2003-09-01 2005-03-24 Konica Minolta Medical & Graphic Inc Medical image recorder
US20050198284A1 (en) * 2004-01-23 2005-09-08 Jeremy Bunn Method to enable secure cross firewall printing with minimal infrastructure impact
JP2008108195A (en) * 2006-10-27 2008-05-08 Canon Inc Device monitoring system, management server, monitoring device, device monitoring method, storage medium, program
JP4910655B2 (en) * 2006-11-20 2012-04-04 コニカミノルタビジネステクノロジーズ株式会社 Communications system
JP2009187535A (en) * 2008-01-09 2009-08-20 Ricoh Co Ltd Server, image forming apparatus, image processing system, image processing method, and image processing program
JP2011141739A (en) * 2010-01-07 2011-07-21 Seiko Epson Corp Processing device and printing system
JP5522095B2 (en) * 2011-03-11 2014-06-18 ブラザー工業株式会社 Printer

Also Published As

Publication number Publication date
JP2013127771A (en) 2013-06-27

Similar Documents

Publication Publication Date Title
JP5875351B2 (en) Information processing system, information processing apparatus, authentication method, and computer program
JP4819311B2 (en) Image processing apparatus, control method thereof, and program
JP5346059B2 (en) Multifunctional image forming device
JP5887860B2 (en) Image forming apparatus, image forming system, control method, and program.
JP5147383B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP5676859B2 (en) Image forming apparatus, image forming apparatus control method, and program
US9025172B2 (en) Printing setting apparatus, computer readable recording medium, and image forming system for generating printing setting information described in one data format included in plural types of data formats and submitting a printing job to an image forming apparatus capable of executing a printing job based on printing setting information described in the plural types of data formats
JP2013033437A (en) Print control device, print control method, information processing system, information processor, information processing method, and computer program
JP2009152847A (en) Image processing apparatus, control method thereof, program, and storage medium
JP5064994B2 (en) Image processing apparatus, control method therefor, and program
JP4615498B2 (en) Image processing apparatus, image processing apparatus control system, image processing apparatus control method, program, and computer-readable recording medium
JP6873642B2 (en) Image forming apparatus, its image communication method, and a program
JP2014115907A (en) Information processing system and control method for the same and program
JP2013033422A (en) Information processing system, information processor, button processing method and program
JP2011087120A (en) Image forming device, file transmission system, and processing method and program in image forming device
JP6478497B2 (en) Information processing system, information processing method, and program
CN101505348B (en) Image processing device, image processing system, and image processing method
JP2019213135A (en) Data transmission device capable of setting configuration data such as mail address, received from external device, on transmission configuration screen
JP5943761B2 (en) Peripheral device, information processing device, communication control method, and program
JP2008211747A (en) Image processing apparatus, server apparatus, task processing method, storage medium, and program
JP5676864B2 (en) System, user interface display control method in the system, server, information processing apparatus, and program
JP6395476B2 (en) Image processing system, image processing method, information processing apparatus, program, and image reading apparatus
JP6470636B2 (en) Information processing apparatus, control method thereof, and program
JP2015096295A (en) Image formation device, method and program for controlling the same
JP2015225479A (en) Information processing system, information processing apparatus, information processing method and computer program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R151 Written notification of patent or utility model registration

Ref document number: 5943761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees