JP6198511B2 - Information processing apparatus, information processing apparatus control method, and program - Google Patents

Information processing apparatus, information processing apparatus control method, and program Download PDF

Info

Publication number
JP6198511B2
JP6198511B2 JP2013162800A JP2013162800A JP6198511B2 JP 6198511 B2 JP6198511 B2 JP 6198511B2 JP 2013162800 A JP2013162800 A JP 2013162800A JP 2013162800 A JP2013162800 A JP 2013162800A JP 6198511 B2 JP6198511 B2 JP 6198511B2
Authority
JP
Japan
Prior art keywords
request
information processing
processing apparatus
processing
web server
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.)
Active
Application number
JP2013162800A
Other languages
Japanese (ja)
Other versions
JP2015032225A (en
JP2015032225A5 (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 JP2013162800A priority Critical patent/JP6198511B2/en
Publication of JP2015032225A publication Critical patent/JP2015032225A/en
Publication of JP2015032225A5 publication Critical patent/JP2015032225A5/en
Application granted granted Critical
Publication of JP6198511B2 publication Critical patent/JP6198511B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた情報処理装置、情報処理装置の制御方法、及びプログラムに関する。 The present invention is connected to a Web server, an information processing apparatus having a Web browser for displaying an operation screen provided by the Web server, a method of controlling an information processing apparatus, and relates to a program.

PCなどの情報処理装置がネットワーク上のWebサーバと接続され、そのWebサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザで表示することが知られている。この場合、まず情報処理装置のWebブラウザが、Webサーバに対して操作画面を要求(リクエスト)する。そして、そのWebサーバのWebアプリケーションが情報処理装置からの要求に応えて、Webブラウザに操作画面を表示させるためのHTMLデータを情報処理装置に応答(レスポンス)する。これにより、その情報処理装置のWebブラウザは、受信したHTMLデータを解析し、そのHTMLデータの記述に基づいた操作画面を表示する。更に、Webブラウザで表示された操作画面を介してユーザが指示を入力すると、その入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバのWebアプリケーションは、その入力された指示に従って処理を実行する。   It is known that an information processing apparatus such as a PC is connected to a Web server on a network, and an operation screen provided by the Web server is displayed by a Web browser provided in the information processing apparatus. In this case, first, the Web browser of the information processing apparatus requests (requests) an operation screen from the Web server. In response to a request from the information processing apparatus, the Web application of the Web server responds to the information processing apparatus with HTML data for displaying an operation screen on the Web browser. Thereby, the Web browser of the information processing apparatus analyzes the received HTML data and displays an operation screen based on the description of the HTML data. Further, when the user inputs an instruction via the operation screen displayed on the Web browser, the Web browser notifies the Web server of the input instruction. Upon receiving this notification, the Web application of the Web server executes processing in accordance with the input instruction.

ところで、最近ではスキャナやプリンタを備えた複合機(MFP:Multi Function Peripheral)の中にも、上述したようなWebブラウザを備えているものがある。そのようなMFPでは、上述した手順を用いてWebサーバにより提供される操作画面をMFPのWebブラウザで操作パネルに表示し、その操作パネルを介してユーザからの各種指示を受け付けることができる。   Recently, some MFPs (Multi Function Peripherals) equipped with a scanner and a printer are also equipped with a Web browser as described above. In such an MFP, the operation screen provided by the Web server can be displayed on the operation panel by the Web browser of the MFP using the above-described procedure, and various instructions from the user can be received via the operation panel.

また更には、MFPが備える各機能を利用するための指示を入力する操作画面をWebサーバが提供し、MFPのWebブラウザで表示された操作画面を介して、MFPに対する指示を入力するシステムも考えられている。このシステムでは、Webサーバは、ユーザから入力された指示の内容に従って、MFPに対して各機能の実行を依頼し、この依頼を受けたMFPは、その依頼された処理を実行する。これにより、MFPを操作するための全ての操作画面をMFPに保持しておく必要がなくなり、また操作画面の変更もWebサーバで容易に行うことができるようになる。   Furthermore, a system in which an operation screen for inputting an instruction for using each function provided in the MFP is provided by a Web server, and an instruction for the MFP is input via the operation screen displayed on the Web browser of the MFP is also considered. It has been. In this system, the Web server requests the MFP to execute each function according to the content of the instruction input from the user, and the MFP that receives this request executes the requested processing. Accordingly, it is not necessary to hold all operation screens for operating the MFP in the MFP, and the operation screen can be easily changed on the Web server.

具体的には、MFPの各機能をRPC(Remote Procedure Call)に公開し、Webサーバから適宜、各機能を呼び出す方法が考えられている。この方法では、Webサーバに処理のメインロジックを持たせ、MFPの制御やユーザとの対話処理をWebサーバに実行させて、MFPによる処理の負荷を軽減できる。   Specifically, a method is conceivable in which each function of the MFP is disclosed to an RPC (Remote Procedure Call) and each function is appropriately called from a Web server. In this method, the Web server is provided with the main logic of processing, and control of the MFP and interaction processing with the user are executed by the Web server, thereby reducing the processing load on the MFP.

例えばWebサービスとしてMFPの機能を公開することで、Webサーバからローカルなサブルーチンを呼び出すようにMFPが提供する機能を実行できる。また、その呼び出しの応答を管理することで処理のメインロジックをWebサーバに持たせことができる。更には、生産性を高めるため、Webアプリケーションから複数のMFPにジョブを投入することで高速にジョブを処理する方法がある(特許文献1参照)。   For example, by exposing the MFP functions as a Web service, the functions provided by the MFP can be executed so as to call a local subroutine from the Web server. In addition, by managing the response of the call, the Web server can have the main logic of processing. Furthermore, there is a method of processing jobs at high speed by inputting jobs from a Web application to a plurality of MFPs in order to increase productivity (see Patent Document 1).

特開2011−95894号公報JP2011-95894A

RPCは、クライアントが要求メッセージをサーバに送信することで開始されるため、クライアントと、サービスを提供するサーバとの間で通信可能な状態にする必要がある。即ち、この方法では、情報処理装置やMFP等のデバイスがファイアウォールで守られている場合や、ネットワークアドレス変換を用いる環境にある場合、そのデバイスは外部ネットワークに存在するWebサーバからのRPC要求を受け付けることができない。これはファイアウォールは、一般的に内部から外部への接続は許可するが、外部から内部への接続は許可しないためである。また、デバイスがアドレス変換を用いる環境にある場合は、サーバ側からデバイスを特定できないためである。このため、Webサーバがインターネットなどの外部ネットワークにあり、複数のデバイスがLANなどの内部ネットワークにある場合は、Webサーバのリクエストは、通信できるデバイスに対してのみ有効となる。つまりは、上述した環境下において、生産性を向上させるために、Webサーバから複数のデバイスにリクエストを直接投入しようとしても、クライアント以外のデバイスにはリクエストを投入できないという問題がある。   Since the RPC is started when the client sends a request message to the server, it is necessary to make the communication state between the client and the server providing the service. That is, in this method, when a device such as an information processing apparatus or an MFP is protected by a firewall or in an environment using network address translation, the device accepts an RPC request from a Web server existing on an external network. I can't. This is because firewalls generally allow connections from the inside to the outside, but do not allow connections from the outside to the inside. In addition, when the device is in an environment using address translation, the device cannot be specified from the server side. Therefore, when the Web server is in an external network such as the Internet and a plurality of devices are in an internal network such as a LAN, the Web server request is valid only for devices that can communicate. In other words, in order to improve productivity in the above-described environment, there is a problem that even if an attempt is made to directly input a request from a Web server to a plurality of devices, the request cannot be input to a device other than the client.

本発明の目的は、上記従来技術の問題点を解決することにある。   An object of the present invention is to solve the above-mentioned problems of the prior art.

本発明の目的は、Webサーバからの処理要求を複数の情報処理装置で分担して処理する技術を提供することにある。   An object of the present invention is to provide a technique for processing a processing request from a Web server by sharing it with a plurality of information processing apparatuses.

上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Webサーバにより提供される操作画面を表示可能な情報処理装置であって、
前記操作画面を介して入力された指示に従って前記Webサーバにリクエストを送信するリクエスト手段と、
外部装置から処理要求を受信し、前記情報処理装置が備えている機能に、当該受信した処理要求に基づく処理を行わせるサービスプロバイダと、
前記Webサーバから、前記リクエスト手段によるリクエストに対するレスポンスとして処理要求を受信し、前記情報処理装置及び前記情報処理装置とは異なる他の情報処理装置に前記処理要求に基づく処理を行わせる制御手段と、を有し、
前記制御手段は、前記Webサーバから受信した処理要求に基づく処理を前記情報処理装置に行わせる際は、前記サービスプロバイダに対して処理要求を送信して前記処理を行わせ、前記処理要求に基づく処理を前記他の情報処理装置に行わせる際は、前記他の情報処理装置が備えるサービスプロバイダに対して処理要求を送信して前記他の情報処理装置に前記処理を行わせることを特徴とする。
In order to achieve the above object, an information processing apparatus according to an aspect of the present invention has the following arrangement. That is,
An information processing apparatus capable of displaying an operation screen provided by a Web server,
Request means for transmitting a request to the Web server according to an instruction input via the operation screen;
A service provider that receives a processing request from an external device and causes the function of the information processing device to perform processing based on the received processing request;
Control means for receiving a processing request as a response to the request by the request means from the Web server, and causing the information processing apparatus and another information processing apparatus different from the information processing apparatus to perform processing based on the processing request; Have
When the control unit causes the information processing apparatus to perform processing based on the processing request received from the Web server, the control unit transmits the processing request to the service provider to perform the processing, and based on the processing request When causing the other information processing apparatus to perform processing, the processing request is transmitted to a service provider included in the other information processing apparatus to cause the other information processing apparatus to perform the process. .

本発明によれば、Webサーバからの処理要求を複数の情報処理装置で分担して処理できるため、生産性が向上し、ユーザの利便性を高められるという効果がある。   According to the present invention, since processing requests from a Web server can be shared and processed by a plurality of information processing apparatuses, productivity can be improved and user convenience can be improved.

実施形態に係る情報処理装置を収容する情報処理システムの構成例を示す図。The figure which shows the structural example of the information processing system which accommodates the information processing apparatus which concerns on embodiment. 実施形態に係るデバイスのハードウェア構成を説明するブロック図。The block diagram explaining the hardware constitutions of the device concerning an embodiment. 本実施形態に係るサーバのハードウェア構成を説明するブロック図。The block diagram explaining the hardware constitutions of the server concerning this embodiment. 本実施形態に係る情報処理システム全体のソフトウェア構成を説明する図。The figure explaining the software configuration of the whole information processing system concerning this embodiment. 本発明の実施形態1に係る情報処理システムにおける一連の処理の流れを説明するシーケンス図。The sequence diagram explaining the flow of a series of processes in the information processing system which concerns on Embodiment 1 of this invention. 本実施形態1に係るデバイス101の重連アプリケーションが処理要求を受け付けて処理結果を応答するまでの処理を説明するフローチャート。6 is a flowchart for explaining processing until a redundant application of the device 101 according to the first embodiment receives a processing request and responds with a processing result. 本実施形態1においてWebアプリケーションがWebブラウザに返すHTTPレスポンスヘッダの一例を示す図。The figure which shows an example of the HTTP response header which a web application returns to a web browser in this Embodiment 1. FIG. 本発明の実施形態1に係る処理要求とその分割の例を説明する図。The figure explaining the example of the process request which concerns on Embodiment 1 of this invention, and its division | segmentation. 実施形態1に係る重連設定画面の一例を示す図(A)と、実施形態1に係るデバイス101のジョブID管理部が管理している親ジョブIDと子ジョブIDとの対応付けを記憶するテーブルの一例を示す図(B)。A diagram (A) illustrating an example of a duplicate setting screen according to the first embodiment and a correspondence between a parent job ID and a child job ID managed by the job ID management unit of the device 101 according to the first embodiment are stored. The figure which shows an example of a table (B). 実施形態1におけるデバイス101の重連アプリケーションの処理部で作成される処理結果の一例を説明する図。FIG. 6 is a diagram for explaining an example of a processing result created by a processing unit of the redundant application of the device 101 according to the first embodiment. 本実施形態2に係る重連アプリケーションが処理要求を受け付けてから、処理結果の応答までの処理を説明するフローチャート。9 is a flowchart for explaining processing from when a heavy chain application according to the second embodiment receives a processing request until a response to a processing result. 本発明の実施形態2に係るFax同報送信の処理要求とその分割の例を説明する図。The figure explaining the example of the processing request | requirement of Fax broadcast transmission which concerns on Embodiment 2 of this invention, and its division | segmentation.

以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、PCやMFPを総称してデバイスと呼び、このような複数のデバイスを用いて処理することの総称を重連処理と呼ぶことにする。また本実施形態では、本発明に係るWebサーバに接続され、当該Webサーバにより提供される操作画面を表示可能なWebブラウザを備えた情報処理装置をMFPを用いて説明するが、本発明はこれに限定されない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the present invention. . In the present embodiment, PCs and MFPs are collectively referred to as devices, and a general term for processing using such a plurality of devices is referred to as redundant processing. In this embodiment, an information processing apparatus connected to a Web server according to the present invention and provided with a Web browser capable of displaying an operation screen provided by the Web server will be described using an MFP. It is not limited to.

図1は、本発明の実施形態に係る情報処理装置を収容する情報処理システムの構成例を示す図である。   FIG. 1 is a diagram illustrating a configuration example of an information processing system that accommodates an information processing apparatus according to an embodiment of the present invention.

このシステムは、ネットワーク100を介して互いに接続されたデバイス101,102と、インターネット104を介して接続されたサーバ103を含む。ネットワーク100は、各デバイス間で通信を行うための基盤であって、インターネット104に接続されている。デバイス101,102は、Webブラウザ機能を有すれば、MFP等でもよい。更に、デバイス101,102は、ローカルなIPアドレスで管理されていても良い。その場合、ネットワーク100とデバイス101,102の間にゲートウェイ(不図示)が存在し、そのゲートウェイはアドレス変換を行う。例えばゲートウェイにはルータが含まれる。またゲートウェイや、デバイス101,102がファイアウォール機能を備えていても良い。サーバ103は、Webコンテンツをインターネット104、ネットワーク100を介して配信する機能を持っており、デバイス101,102からのリクエストに応じてWebコンテンツを返す。   This system includes devices 101 and 102 connected to each other via a network 100 and a server 103 connected via the Internet 104. The network 100 is a base for performing communication between devices, and is connected to the Internet 104. The devices 101 and 102 may be MFPs or the like as long as they have a Web browser function. Furthermore, the devices 101 and 102 may be managed with local IP addresses. In that case, a gateway (not shown) exists between the network 100 and the devices 101 and 102, and the gateway performs address conversion. For example, a gateway includes a router. Further, the gateway and the devices 101 and 102 may have a firewall function. The server 103 has a function of distributing Web content via the Internet 104 and the network 100, and returns Web content in response to requests from the devices 101 and 102.

図2は、実施形態に係るデバイス101のハードウェア構成を説明するブロック図である。   FIG. 2 is a block diagram illustrating a hardware configuration of the device 101 according to the embodiment.

このデバイス101は、CPU201、CPU201による処理の実行時にワークエリアを提供するRAM202、画像を読み取る読取部203、画像を印刷する印刷部204、プログラムや様々な設定を記憶する記憶部205(HDDやNVRAM等)を含む。更に、ユーザがコマンドの入力を行う入力部206、UI画面などを表示する表示部207、他機器とネットワークによる通信を行うネットワークI/F(インターフェース)208を含み、これらはメインバス200を介して相互に接続されている。尚、本実施形態では特に断らない限り、CPU201がメインバス200を介してRAM202、読取部203、印刷部204、記憶部205、入力部206、表示部207、ネットワークI/F208を制御する。また、タッチパネルディスプレイのように表示部207が入力部206を兼ねても良い。尚、CPU201が実行するプログラムは、不図示のROMに記憶されたブートプログラムにより記憶部205からRAM202に展開され、CPU201の制御の下に実行される。尚、デバイス102のハードウェア構成も同じであるため、その説明を省略する。   The device 101 includes a CPU 201, a RAM 202 that provides a work area when the CPU 201 executes processing, a reading unit 203 that reads an image, a printing unit 204 that prints an image, and a storage unit 205 that stores programs and various settings (an HDD or an NVRAM). Etc.). Furthermore, an input unit 206 for a user to input commands, a display unit 207 for displaying a UI screen, and a network I / F (interface) 208 for performing communication with other devices via a network are provided via the main bus 200. Are connected to each other. In the present embodiment, unless otherwise specified, the CPU 201 controls the RAM 202, the reading unit 203, the printing unit 204, the storage unit 205, the input unit 206, the display unit 207, and the network I / F 208 via the main bus 200. Further, the display unit 207 may also serve as the input unit 206 like a touch panel display. Note that a program executed by the CPU 201 is expanded from the storage unit 205 to the RAM 202 by a boot program stored in a ROM (not shown), and is executed under the control of the CPU 201. Since the hardware configuration of the device 102 is the same, the description thereof is omitted.

図3は、本実施形態に係るサーバ103のハードウェア構成を説明するブロック図である。   FIG. 3 is a block diagram illustrating the hardware configuration of the server 103 according to the present embodiment.

このサーバは、CPU301、CPU301のワークエリアを提供するRAM302、プログラムや各種設定情報等を記憶する記憶部303、他機器とネットワークによる通信を行うネットワークI/F304を有している。これら各部は、メインバス300を介して相互に接続されている。尚、本実施形態では特に断らない限り、CPU301がメインバス300を介してRAM302、記憶部303、ネットワークI/F304を制御する。   The server includes a CPU 301, a RAM 302 that provides a work area for the CPU 301, a storage unit 303 that stores programs, various setting information, and the like, and a network I / F 304 that communicates with other devices via a network. These units are connected to each other via the main bus 300. In the present embodiment, the CPU 301 controls the RAM 302, the storage unit 303, and the network I / F 304 via the main bus 300 unless otherwise specified.

図4は、本実施形態に係る情報処理システム全体のソフトウェア構成を説明する図である。図4に示す各機能部は、デバイス101,102、サーバ103のそれぞれが有しているCPU201,CPU301が制御プログラムを実行することにより実現される。尚、図4では、デバイス102ではサービスプロバイダ440のみを示し、他のソフトウェア構成を省略して示している。   FIG. 4 is a diagram illustrating a software configuration of the entire information processing system according to the present embodiment. Each functional unit illustrated in FIG. 4 is realized by the CPU 201 and the CPU 301 included in each of the devices 101 and 102 and the server 103 executing a control program. In FIG. 4, only the service provider 440 is shown in the device 102, and other software configurations are omitted.

サーバ103は、Webアプリケーション410、通信部401を有する。更に、Webアプリケーション410には、プレゼンテーション部411及びロジック部412が含まれる。   The server 103 includes a web application 410 and a communication unit 401. Further, the web application 410 includes a presentation unit 411 and a logic unit 412.

プレゼンテーション部411は、通信部401を介して、デバイス101からのリクエストに応えてデバイス101のWebブラウザ420で表示すべき操作画面、又はサービスプロバイダ440への処理要求をレスポンスとしてデバイス101に送信する。また、デバイス101のWebブラウザ420に表示された操作画面を介して入力されたユーザからの入力情報を、通信部401を介してデバイス101から受け取る。   The presentation unit 411 transmits an operation screen to be displayed on the Web browser 420 of the device 101 or a processing request to the service provider 440 to the device 101 as a response via the communication unit 401 in response to a request from the device 101. In addition, input information from the user input via the operation screen displayed on the Web browser 420 of the device 101 is received from the device 101 via the communication unit 401.

ロジック部412は、プレゼンテーション部411から渡されたデバイス101からの入力情報に対して処理を行う。例えば、ユーザからの入力に応じて、表示すべき画面の変更や、デバイスの機能を実行するための処理要求を作成する。通信部401は、ネットワークI/F304を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。   The logic unit 412 processes the input information from the device 101 passed from the presentation unit 411. For example, in response to an input from the user, a process request for changing a screen to be displayed or executing a device function is created. The communication unit 401 is a software module that controls the network I / F 304 and performs communication using the HTTP protocol.

デバイス101は、Webブラウザ420、重連アプリケーション430、サービスプロバイダ440を有している。Webブラウザ420、重連アプリケーション430、サービスプロバイダ440のそれぞれは、デバイス101が有しているCPU201が制御プログラムを実行することにより実現される。尚、Webブラウザ420は、サーバ103のコンテンツを表示するものに限定するものではない。同様に、サーバ103もHTTPプロトコルに従ってリクエスト/レスポンスを送受信するWebサーバに限定するものではない。即ち、Webブラウザ420は、任意のサーバと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するものであればよい。   The device 101 includes a web browser 420, a heavy continuous application 430, and a service provider 440. Each of the Web browser 420, the redundant application 430, and the service provider 440 is realized by the CPU 201 included in the device 101 executing a control program. The web browser 420 is not limited to the one that displays the contents of the server 103. Similarly, the server 103 is not limited to a Web server that transmits / receives a request / response according to the HTTP protocol. In other words, the Web browser 420 only needs to have a function of acquiring content by communicating with an arbitrary server and displaying the content on the screen.

Webブラウザ420は、通信部421、解析部422、画面表示部423、重連アプリ起動部424、及びアップロード処理部425を有する。通信部421は、HTTPプロトコルに従って、サーバ103の通信部401を介してWebアプリケーション410のプレゼンテーション部411と通信する。より具体的には、通信部421は、Webブラウザ420で表示した操作画面を介して入力される情報を、Webアプリケーション410に対するリクエストとして送信する。また通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。   The web browser 420 includes a communication unit 421, an analysis unit 422, a screen display unit 423, a duplicate application activation unit 424, and an upload processing unit 425. The communication unit 421 communicates with the presentation unit 411 of the Web application 410 via the communication unit 401 of the server 103 according to the HTTP protocol. More specifically, the communication unit 421 transmits information input via the operation screen displayed on the Web browser 420 as a request to the Web application 410. Further, the communication unit 421 receives a response transmitted from the Web application 410.

解析部422は、Webアプリケーション410から受信したレスポンスを解析する。このレスポンスには、Webブラウザ420に表示すべき操作画面の内容を示す記述であるHTMLデータや、サービスプロバイダ440への処理要求が記載されている。解析部422は、HTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.company.Webserviceと一致するかどうか確認する。一致する場合は、その受信したレスポンスに対する処理を重連アプリ起動部424に依頼する。   The analysis unit 422 analyzes the response received from the web application 410. In this response, HTML data that is a description indicating the content of the operation screen to be displayed on the Web browser 420 and a processing request to the service provider 440 are described. In the analysis unit 422, the Content-Type field of the HTTP response header is set to application / vnd. company. Check if it matches the Web service. If they match, the heavy chain application activation unit 424 is requested to process the received response.

画面表示部423は、解析部422による解析結果に基づいて、HTMLデータに基づく操作画面をを表示部207に表示する。重連アプリ起動部424は、解析部422による解析結果に基づいて、Webアプリケーション410から受信したレスポンスを処理要求とみなして、ジョブを処理するように重連アプリケーション430に依頼する。尚、レスポンスが、デバイス101への処理要求であるかどうかの判別が可能であれば、HTTPレスポンスのヘッダを参照する以外の方法で判別しても良い。アップロード処理部425は、デバイス101の要求に応じて、指定されたデータを、通信部421を介してサーバ103に送信する。本実施形態では、HTTP POSTコマンドを用いて指定のデータをアップロードするが、Webブラウザ420が処理可能なプロトコルであれば何でもよい。   The screen display unit 423 displays an operation screen based on the HTML data on the display unit 207 based on the analysis result by the analysis unit 422. Based on the analysis result by the analysis unit 422, the heavy chain application activation unit 424 regards the response received from the Web application 410 as a processing request and requests the heavy chain application 430 to process the job. Note that if it is possible to determine whether the response is a processing request to the device 101, the response may be determined by a method other than referring to the header of the HTTP response. The upload processing unit 425 transmits designated data to the server 103 via the communication unit 421 in response to a request from the device 101. In the present embodiment, specified data is uploaded using an HTTP POST command, but any protocol that can be processed by the Web browser 420 may be used.

次に重連アプリケーション430について説明する。重連アプリケーション430は、通信部431、判断部432、処理部433、ジョブID管理部434、分割部435、結合部436を有する。通信部431は、処理部433から依頼を受け、デバイス101又は102のサービスプロバイダ440の通信部441に処理要求を送信し、また、その処理要求に対する結果をサービスプロバイダ440から受信する。判断部432は、処理部433からの処理要求に従って、その処理要求を分割してデバイス102に処理させる必要があるかどうかを判断する。また通信部431を介して処理部433が処理結果を受信した際に、その処理部433の要求に従ってジョブのステータスを判断する。   Next, the heavy chain application 430 will be described. The heavy chain application 430 includes a communication unit 431, a determination unit 432, a processing unit 433, a job ID management unit 434, a division unit 435, and a combination unit 436. The communication unit 431 receives a request from the processing unit 433, transmits a processing request to the communication unit 441 of the service provider 440 of the device 101 or 102, and receives a result for the processing request from the service provider 440. The determination unit 432 determines whether it is necessary to divide the processing request and cause the device 102 to process in accordance with the processing request from the processing unit 433. Further, when the processing unit 433 receives the processing result via the communication unit 431, the job status is determined according to the request of the processing unit 433.

処理部433は、Webブラウザ420の重連アプリ起動部424からの依頼を受けると、判断部432での判断結果を基に、その処理要求を、分割部435で分割、或いは分割せずに、通信部431を介してサービスプロバイダ440に送信する。この場合の送信先は、デバイス101がネットワーク100に存在するデバイスを動的に取得した送信先、或いは静的に保持しておいた送信先としてもよい。また、Webアプリケーション410から受信したレスポンスのヘッダに記載されている重連処理先(後述する)を送信先に指定してもよい。また処理部433は、結合部436により生成された処理結果を、Webブラウザ420にアップロードするように要求する。   When the processing unit 433 receives a request from the duplicate application activation unit 424 of the web browser 420, the processing request is divided or not divided by the dividing unit 435 based on the determination result of the determining unit 432. The data is transmitted to the service provider 440 via the communication unit 431. The transmission destination in this case may be a transmission destination in which the device 101 dynamically acquires a device existing in the network 100 or a transmission destination that is statically held. Further, a duplicate processing destination (described later) described in the header of the response received from the Web application 410 may be designated as the transmission destination. Further, the processing unit 433 requests to upload the processing result generated by the combining unit 436 to the Web browser 420.

ジョブID管理部434は、Webアプリケーション410からの処理要求と、処理部433からのサービスプロバイダ440への要求によって得られたジョブを紐づけて管理する。重連処理を行う場合、Webアプリケーション410からの処理要求が複数のデバイスに分割されるため、1つの処理要求が複数のジョブに分割されることになる。つまりは、ジョブID管理部434は、この対応関係を管理していることになる。   The job ID management unit 434 manages the processing request from the Web application 410 and the job obtained by the request from the processing unit 433 to the service provider 440. In the case of performing the continuous processing, since the processing request from the Web application 410 is divided into a plurality of devices, one processing request is divided into a plurality of jobs. That is, the job ID management unit 434 manages this correspondence.

分割部435は、Webブラウザ420からの処理要求をデバイス101とデバイス102のサービスプロバイダ440で処理できるように分割する。結合部436は、デバイス101とデバイス102のサービスプロバイダ440からの処理結果を結合する。   The dividing unit 435 divides a processing request from the Web browser 420 so that the service provider 440 of the device 101 and the device 102 can process the request. The combining unit 436 combines the processing results from the service provider 440 of the device 101 and the device 102.

本実施形態では、重連アプリケーション430は、Webブラウザ420と独立して動作している。但し、処理要求の分割と結合を行う機能を有すれば、重連アプリケーション430はヘルパーアプリケーションではなく、プラグインや、Webブラウザ420の一機能、又は受信したレスポンス内に記載されたJavaScript(登録商標)として存在しても良い。   In this embodiment, the heavy chain application 430 operates independently of the web browser 420. However, if the processing request is divided and combined, the redundant application 430 is not a helper application, but is a plug-in, one function of the Web browser 420, or JavaScript (registered trademark) described in the received response. ) May be present.

次にデバイス101とデバイス102のサービスプロバイダ440について説明する。サービスプロバイダ440は、通信部441、ジョブ生成部442を有する。通信部441は、重連アプリケーション430から処理依頼を受け付ける。ジョブ生成部442は、通信部441が受け付けた処理依頼を受け取り、依頼された処理を実行するためのジョブを生成して実行する。
[実施形態1]
図5は、本発明の実施形態1に係る情報処理システムにおける一連の処理の流れを説明するシーケンス図である。このシーケンス図を参照して、このシステムで実施される処理を処理の順に詳しく説明する。尚、このシーケンス図で表される処理は、デバイス101,102を使用したプリントの重連処理である。尚、Webブラウザ420、重連アプリケーション430、サービスプロバイダ440で行われる処理は、RAM202及び記憶部205に存在するデータを、メインバス200を介してCPU201で実行される。また、Webアプリケーション410で行われる処理は、RAM302に展開されたプログラムをCPU301が実行することにより実現される。更に、デバイス101,102及びサーバ103間の通信処理は、ネットワークI/F208及びネットワークI/F304を介して行われる。
Next, the service provider 440 of the device 101 and the device 102 will be described. The service provider 440 includes a communication unit 441 and a job generation unit 442. The communication unit 441 receives a processing request from the heavy chain application 430. The job generation unit 442 receives the processing request received by the communication unit 441, and generates and executes a job for executing the requested processing.
[Embodiment 1]
FIG. 5 is a sequence diagram illustrating a flow of a series of processes in the information processing system according to the first embodiment of the present invention. With reference to this sequence diagram, processing executed in this system will be described in detail in the order of processing. Note that the processing shown in this sequence diagram is a continuous printing process using the devices 101 and 102. Note that the processing performed by the Web browser 420, the redundant application 430, and the service provider 440 is executed by the CPU 201 via the main bus 200 with data existing in the RAM 202 and the storage unit 205. Further, the processing performed by the Web application 410 is realized by the CPU 301 executing a program expanded in the RAM 302. Further, communication processing between the devices 101 and 102 and the server 103 is performed via the network I / F 208 and the network I / F 304.

まず、ユーザがデバイス101の入力部206から、Webブラウザ420を起動するためのボタン(不図示)の押下を受けると、Webブラウザ420を起動する。このボタンは、ハードウェアボタンに限ったものではなく、表示部207のタッチパネルに表示されたボタンでも良い。Webブラウザ420は起動すると、サーバ103のWebアプリケーション410に設定画面のリクエストを行う。この実施形態1では、設定画面のコンテンツを示すURLが予めデバイス101に設定されているものとする。   First, when the user receives a press of a button (not shown) for starting the Web browser 420 from the input unit 206 of the device 101, the Web browser 420 is started. This button is not limited to the hardware button, but may be a button displayed on the touch panel of the display unit 207. When the web browser 420 is activated, it makes a setting screen request to the web application 410 of the server 103. In the first embodiment, it is assumed that the URL indicating the content of the setting screen is set in the device 101 in advance.

まずS501で、Webブラウザ420は、URLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによるリクエストを行う。具体的には、Webブラウザ420が通信部421を介してHTTPプロトコルによりサーバ103の通信部401と通信を行う。これによりサーバ103の通信部401は、その受け取ったURLに応じて、適切なWebアプリケーションに、その受け取ったデータを渡す。これにより、Webブラウザ420からWebアプリケーション410へのリクエストが行われる。以下、通信部401と通信部421の動作は省略して説明する。   First, in step S501, the web browser 420 makes a request to the web application 410 holding the content indicated by the URL using an HTTP GET command. Specifically, the Web browser 420 communicates with the communication unit 401 of the server 103 via the communication unit 421 using the HTTP protocol. As a result, the communication unit 401 of the server 103 passes the received data to an appropriate Web application according to the received URL. Thereby, a request from the Web browser 420 to the Web application 410 is made. Hereinafter, the operations of the communication unit 401 and the communication unit 421 will be described.

次にS502で、Webアプリケーション410のプレゼンテーション部411が、S501のリクエストに応じて、設定画面のHTMLデータを作成し、HTTPのレスポンスとしてWebブラウザ420に送信する。これによりWebブラウザ420は、その受け取ったHTMLデータを解析し、表示部207に設定画面を表示する。   In step S <b> 502, the presentation unit 411 of the web application 410 creates HTML data for a setting screen in response to the request in step S <b> 501 and transmits the HTML data to the web browser 420 as an HTTP response. As a result, the Web browser 420 analyzes the received HTML data and displays a setting screen on the display unit 207.

図7は、本実施形態1においてWebアプリケーション410がWebブラウザ420に返すHTTPレスポンスヘッダの一例を示す図である。   FIG. 7 is a diagram illustrating an example of an HTTP response header returned from the web application 410 to the web browser 420 in the first embodiment.

このHTTPレスポンスヘッダは、宛先701、サービスコンテントタイプ702、アップロード宛先703、重連処理属性704、重連処理先705を有する。   The HTTP response header includes a destination 701, a service content type 702, an upload destination 703, a duplicate processing attribute 704, and a duplicate processing destination 705.

宛先701は、重連アプリケーション430が処理要求であるHTTPレスポンスボディを送信する際の宛先である。宛先701は複数のサービスプロバイダが公開するサービスの何れかを指し示す。サービスコンテントタイプ702は、重連アプリケーション430が、サービスプロバイダ440にHTTPレスポンスボディを転送する際にHTTPヘッダのContent−Typeフィールドに記載する内容である。HTTP Postコマンドを用いた処理要求送信の際に、処理先のサービスプロバイダ440が正しく理解できるContent−Typeを記載する必要があるためである。サービスコンテントタイプ702が省略されている場合は、重連アプリケーション430が送信時にデフォルトの値を設定するようにしても良い。アップロード宛先703は、Webブラウザ420が処理結果をWebアプリケーション410にアップロードする際の宛先である。重連処理属性704は、重連処理を行うかどうかの属性値である。重連処理先705は重連処理を行う場合に、どのデバイスで行うかを特定するための属性値であり、Webアプリケーション410により指定される。但し、重連処理先705が存在しない場合は、デバイス101がネットワーク100上に存在するデバイスを動的に取得、もしくは静的に保持しておいたものが自動的に指定してもよい。   A destination 701 is a destination when the heavy chain application 430 transmits an HTTP response body that is a processing request. A destination 701 indicates one of services disclosed by a plurality of service providers. The service content type 702 is a content described in the Content-Type field of the HTTP header when the heavy chain application 430 transfers the HTTP response body to the service provider 440. This is because it is necessary to describe a Content-Type that can be correctly understood by the service provider 440 at the time of processing when a processing request is transmitted using the HTTP Post command. When the service content type 702 is omitted, the duplicate application 430 may set a default value at the time of transmission. The upload destination 703 is a destination when the Web browser 420 uploads the processing result to the Web application 410. The repeated processing attribute 704 is an attribute value indicating whether to perform repeated processing. The repeated processing destination 705 is an attribute value for specifying which device to perform the repeated processing, and is specified by the Web application 410. However, when there is no redundant processing destination 705, the device 101 that has dynamically acquired or statically held a device that exists on the network 100 may be automatically specified.

再び図5に戻り、S503では、Webブラウザ420は、Webアプリケーション410に対して、処理の実行を指示する。ここではユーザにより、S502で表示された設定画面のボタンが押されると、Webブラウザ420は、その設定画面で設定されたパラメータをWebアプリケーション410に通知する。この通信には、HTTPプロトコルのPOSTコマンドを利用する。   Returning to FIG. 5 again, in step S503, the Web browser 420 instructs the Web application 410 to execute processing. Here, when the user presses the button on the setting screen displayed in S502, the Web browser 420 notifies the Web application 410 of the parameters set on the setting screen. For this communication, a POST command of the HTTP protocol is used.

次にS504では、Webアプリケーション410のロジック部412が、S503で送信された情報を基に、例えば図7に示すHTTPレスポンスヘッダと、HTTPレスポンスボディを含む処理要求(図8(A))を生成する。そして、HTTPレスポンスヘッダとHTTPレスポンスボディとを合わせてHTTPレスポンスとしてWebブラウザ420に送信する。これによりWebブラウザ420は、Webアプリケーション410が送信したHTTPレスポンスを受信する。このHTTPレスポンスには、図7に示すHTTPレスポンスヘッダと、後述の図8(A)に示す処理要求が含まれる。これらの詳細については後述する。   Next, in S504, the logic unit 412 of the Web application 410 generates a processing request (FIG. 8A) including, for example, the HTTP response header and the HTTP response body shown in FIG. 7 based on the information transmitted in S503. To do. Then, the HTTP response header and the HTTP response body are combined and transmitted to the Web browser 420 as an HTTP response. As a result, the web browser 420 receives the HTTP response transmitted by the web application 410. This HTTP response includes an HTTP response header shown in FIG. 7 and a processing request shown in FIG. Details of these will be described later.

S505では、Webブラウザ420の解析部422は、S504で受信したHTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.abc.Webserviceと一致するかを判定する。一致する場合は、重連アプリ起動部424が、重連アプリケーション430の処理部433に対して、S504で受信したHTTPレスポンスボディを送信する。このとき、重連処理に必要な情報として、S504で受信したHTTPレスポンスヘッダを重連アプリケーション430に渡す。尚、ここでContent−Typeフィールドがapplication/vnd.abc.Webserviceと一致しない場合は、解析部422は、HTMLデータの解析結果に基づいて、表示部207に操作画面を表示する。   In step S505, the analysis unit 422 of the Web browser 420 sets the Content-Type field of the HTTP response header received in step S504 to application / vnd. abc. It is determined whether or not it matches the Web service. If they match, the heavy chain application activation unit 424 transmits the HTTP response body received in S504 to the processing unit 433 of the heavy chain application 430. At this time, the HTTP response header received in S504 is passed to the heavy chain application 430 as information necessary for the heavy chain processing. Here, the Content-Type field is “application / vnd. abc. If the data does not match the Web service, the analysis unit 422 displays an operation screen on the display unit 207 based on the analysis result of the HTML data.

S506では、重連アプリケーション430の判断部432が、S505で受信した情報を基に重連処理を行うかどうかを判断する。本実施形態1では、判断部432は、S505で受信したHTTPレスポンスヘッダに記載されている重連処理属性704を参照し、その値が「true」であれば重連処理を行い、「false」であれば重連処理を行わない、と判断する。尚、重連処理属性704は、Webアプリケーション410が指定するものとは限らない。例えば、ユーザがWebブラウザ420を介して入力した情報や、又は、ユーザがデバイスの設定画面を介して予め入力した情報であってもよい。また重連アプリケーション430は、重連処理先のデバイスの性能に合わせて、S505で受信したHTTPレスポンスを書き換えても良い。   In S <b> 506, the determination unit 432 of the heavy chain application 430 determines whether or not to perform heavy chain processing based on the information received in S <b> 505. In the first embodiment, the determination unit 432 refers to the duplicate processing attribute 704 described in the HTTP response header received in S505, and performs a duplicate processing if the value is “true”. If so, it is determined that the repeated processing is not performed. Note that the repeated processing attribute 704 is not necessarily specified by the Web application 410. For example, information input by the user via the web browser 420 or information input in advance by the user via the device setting screen may be used. Further, the heavy chain application 430 may rewrite the HTTP response received in S505 in accordance with the performance of the heavy chain processing destination device.

例えば、図8を参照して後述するように、HTTPレスポンスに含まれる処理要求(図8(A))のプリント要求801には、プリントサイズ802が含まれるが、デバイスの性能によっては利用できるプリントサイズに制限がある。そこで、重連処理先のデバイスで動作させることが可能なプリントサイズの設定に書き換えることが考えられる。どのように情報を書き換えるかの条件とその値は、Webアプリケーション410から指示しても良く、或いは予めデバイス101に設定しておいてもよい。また、重連処理先のデバイス102から、その性能を取得して判断しても良い。   For example, as will be described later with reference to FIG. 8, the print request 801 of the processing request (FIG. 8A) included in the HTTP response includes the print size 802, but prints that can be used depending on the performance of the device. There is a size limit. In view of this, it is conceivable to rewrite the print size setting that can be operated by the device that is the multiple processing destination. The condition for how information is rewritten and its value may be instructed from the Web application 410 or may be set in the device 101 in advance. Further, the performance may be acquired from the device 102 that is the processing destination of the multiple processing and the determination may be made.

S507では、重連アプリケーション430の処理部433が、S506の重連判断を受けて、図9(A)に示す重連設定画面を表示部207に表示する。   In S507, the processing unit 433 of the continuous application 430 receives the multiple determination in S506, and displays the multiple setting screen shown in FIG. 9A on the display unit 207.

図9(A)は、実施形態1に係る重連設定画面の一例を示す図である。   FIG. 9A is a diagram illustrating an example of a multiple setting screen according to the first embodiment.

この重連設定画面は、重連処理先のデバイスの一覧と、そのデバイスが利用可能かどうかを示す情報の一覧が対となって構成されている。本実施形態1では、重連処理が実行できるデバイスBが選択された状態であることを示している。尚、重連処理先のデバイスの一覧と、そのデバイスが利用可能かどうかの情報は、デバイスが、SNMPなどを使って動的に取得して設定してもかまわないし、ユーザにより静的に設定されていても良い。また、Webアプリケーション410からの指示に含まれていても良い。   This heavy chain setting screen is composed of a pair of heavy processing target devices and a list of information indicating whether or not the devices can be used. In the first embodiment, it is indicated that the device B capable of executing the multiple continuous processing is selected. It should be noted that the list of devices to be processed repeatedly and information on whether or not the device can be used may be acquired and set dynamically by the device using SNMP or the like, or set statically by the user. May be. Further, it may be included in an instruction from the Web application 410.

図8(A)〜(C)は、本発明の実施形態1に係る処理要求とその分割の例を説明する図である。   8A to 8C are diagrams for explaining an example of a processing request and its division according to the first embodiment of the present invention.

図8(A)は、処理要求800の一例を示す。801はプリント要求を示し、802はプリントする用紙サイズ(プリントサイズ)で、図8(A)ではA4サイズが指定されている。803はプリント部数で図8(A)では20部が設定されている。804はレスポンス先を示し、ここではWebアプリケーション410を示す「Webapplication」となっている。尚、このレスポンス先804は、図7のアップロード宛先703と同一にしてもよい。   FIG. 8A shows an example of the processing request 800. Reference numeral 801 denotes a print request, reference numeral 802 denotes a paper size (print size) to be printed, and A4 size is designated in FIG. 8A. Reference numeral 803 denotes the number of print copies, and 20 copies are set in FIG. Reference numeral 804 denotes a response destination, which is “Web application” indicating the Web application 410 here. The response destination 804 may be the same as the upload destination 703 in FIG.

図8(B)(C)は、図8(A)の処理要求800を分割した例を示す。ここでは処理要求800が2つの処理要求810と820に分割され、それぞれ10部ずつのプリント部数となっている。更に、これらに処理要求810と820では、レスポンス先が「deviceAと」なっている。尚、プリント部数の分割比は、本実施形態1では均等にしているが、デバイスの処理能力から自動的に決定してもよい。また、デバイスに予め設定された比率を分割比としてもよい。更には、Webアプリケーション410からの要求に含めてもよい。次に、レスポンス先を「deviceA」としているのは、レスポンス先をWebアプリケーションのままにした場合、デバイス102のサービスプロバイダ440からWebアプリケーション410へ直接レスポンスが行われるため、それを防ぐためである。なぜならば、要求元のWebアプリケーション410としては、デバイス101への1つのプリントジョブに対し、デバイス101及びデバイス102からそれぞれレスポンスを受けることになり、ジョブの状況を監視することが難しくなるからである。このため、処理要求を分割するデバイスのアドレスをレスポンス先に設定している。尚、本実施形態1では、処理要求をSOAPメッセージに分割しているが、デバイスで処理可能な様態であればよく、これに限定されるものではない。以後、SOAPメッセージの送信をSOAPリクエスト、SOAPリクエストに対する応答をSOAPレスポンスと記す。   8B and 8C show an example in which the processing request 800 in FIG. 8A is divided. Here, the processing request 800 is divided into two processing requests 810 and 820, each having 10 copies. Further, in these processing requests 810 and 820, the response destination is “device A”. Although the division ratio of the number of print copies is made uniform in the first embodiment, it may be automatically determined from the processing capability of the device. Further, a ratio preset in the device may be used as the division ratio. Further, it may be included in a request from the Web application 410. Next, the reason why the response destination is “deviceA” is to prevent the response from being directly sent from the service provider 440 of the device 102 to the Web application 410 when the response destination is left as a Web application. This is because the requesting Web application 410 receives responses from the device 101 and the device 102 for a single print job to the device 101, making it difficult to monitor the job status. . For this reason, the address of the device that divides the processing request is set as the response destination. In the first embodiment, the processing request is divided into SOAP messages. However, the processing request is not limited to this as long as it can be processed by the device. Hereinafter, a SOAP message transmission is referred to as a SOAP request, and a response to the SOAP request is referred to as a SOAP response.

再び図5に戻り、S508では、重連アプリケーション430の処理部433がジョブIDを発行し、Webブラウザ420に通知する。このジョブID(以後、親ジョブID)は、プリント要求801に対応するプリントジョブの識別子である。そして、処理部433は、ジョブID管理部434に親ジョブIDを登録する。   Returning to FIG. 5 again, in step S <b> 508, the processing unit 433 of the redundant application 430 issues a job ID and notifies the web browser 420. This job ID (hereinafter referred to as parent job ID) is an identifier of a print job corresponding to the print request 801. Then, the processing unit 433 registers the parent job ID in the job ID management unit 434.

S509では、Webブラウザ420が、取得したジョブIDをHTTP Post リクエストにより、Webアプリケーション410に通知する。これにより、Webアプリケーション410は、このジョブIDを介して、デバイス101にジョブ状況を問い合わせられるようになる。   In step S509, the web browser 420 notifies the web application 410 of the acquired job ID through an HTTP Post request. As a result, the Web application 410 can inquire the job status to the device 101 via the job ID.

S510では、Webアプリケーション410が、S509のリクエストに対するレスポンスを行う。S511では、重連アプリケーション430の分割部435が処理要求800を分割する。具体的には、本実施形態1では、プリント要求801に、プリントサイズ802がA4、プリント部数803が20部、レスポンス先804がWebapplicationが設定されている。尚、レスポンス先804は、アップロード宛先703と同一にしてもよい。分割部435は、このプリント要求801を解析し、デバイス101及びデバイス102で処理できるように、図8(B)の処理要求810と図8(C)の処理要求820とに分割する。処理要求810と処理要求820はともにプリント部数が10部で、レスポンス先がdeviceAとなっている。   In S510, the Web application 410 makes a response to the request in S509. In step S511, the dividing unit 435 of the redundant application 430 divides the processing request 800. Specifically, in the first embodiment, the print request 801 is set with A4 as the print size 802, 20 as the number of copies 803, and Web application as the response destination 804. Note that the response destination 804 may be the same as the upload destination 703. The dividing unit 435 analyzes the print request 801 and divides the print request 801 into a process request 810 in FIG. 8B and a process request 820 in FIG. 8C so that the device 101 and the device 102 can process it. The processing request 810 and the processing request 820 both have 10 copies, and the response destination is deviceA.

S512では、重連アプリケーション430の処理部433は、分割して生成した処理要求810(SOAPメッセージ)を、SOAPリクエストとして通信部430から、デバイス101のサービスプロバイダ440の通信部441に送信する。尚、以降では、通信部431と通信部441の処理の説明は省略する。   In S <b> 512, the processing unit 433 of the redundant application 430 transmits the processing request 810 (SOAP message) generated by the division from the communication unit 430 to the communication unit 441 of the service provider 440 of the device 101 as a SOAP request. Hereinafter, the description of the processing of the communication unit 431 and the communication unit 441 is omitted.

S513では、デバイス101のサービスプロバイダ440はジョブID(以後、子ジョブID1002(図9(B)))を発行し、重連アプリケーション430に通知する。S514では、通知をうけた重連アプリケーション430は、この子ジョブID1002を、S508で通知した親ジョブIDと対応付けて、ジョブID管理部434に登録要求する。   In step S <b> 513, the service provider 440 of the device 101 issues a job ID (hereinafter, child job ID 1002 (FIG. 9B)) and notifies the redundant application 430. In S514, the duplicate application 430 that has received the notification associates the child job ID 1002 with the parent job ID notified in S508, and requests the job ID management unit 434 to register.

S515では、重連アプリケーション430の処理部433は、分割して生成した処理要求820(SOAPメッセージ)をSOAPリクエストとして、デバイス102のサービスプロバイダ440に送信する。S516で、デバイス102のサービスプロバイダ440は子ジョブID1003(図9(B))を発行し、デバイス101の重連アプリケーション430に通知する。S517で、通知をうけた重連アプリケーション430は、この子ジョブID1003をS508で通知した親ジョブIDと対応付けて、ジョブID管理部434に登録要求する。尚、S508,S514,S516で登録された親ジョブIDと、子ジョブID1002、子ジョブID1003は、図9(B)のジョブ関係対応表のようにジョブID管理部434によって管理されている。これにより、親ジョブID1001から対応する子ジョブIDを特定できる。   In S515, the processing unit 433 of the redundant application 430 transmits the processing request 820 (SOAP message) generated by the division as a SOAP request to the service provider 440 of the device 102. In step S <b> 516, the service provider 440 of the device 102 issues a child job ID 1003 (FIG. 9B) and notifies the redundant application 430 of the device 101. In S517, the duplicate application 430 that receives the notification associates the child job ID 1003 with the parent job ID notified in S508, and requests the job ID management unit 434 to register. Note that the parent job ID, the child job ID 1002, and the child job ID 1003 registered in S508, S514, and S516 are managed by the job ID management unit 434 as shown in the job relationship correspondence table of FIG. Thereby, the corresponding child job ID can be specified from the parent job ID 1001.

図9(B)は、実施形態1に係るデバイス101のジョブID管理部434が管理している親ジョブIDと子ジョブIDとの対応付けを記憶するテーブルの一例を示す図である。   FIG. 9B is a diagram illustrating an example of a table that stores associations between parent job IDs and child job IDs managed by the job ID management unit 434 of the device 101 according to the first embodiment.

次にS518,S519では、デバイス101及びデバイス102のサービスプロバイダ440によって印刷部204へのプリント要求が行われ、プリント処理が実行される。そしてS520で重連アプリケーション430の処理部433は、子ジョブID1002のステータスの取得をSOAPリクエストとしてデバイス101のサービスプロバイダ440に要求する。これによりS521でサービスプロバイダ440は、SOAPレスポンスとしてResultCode OKを含んだ処理結果を重連アプリケーション430に通知する。またS522でデバイス101の重連アプリケーション430の処理部433は、デバイス102で実行されている子ジョブID1003のステータスの取得をSOAPリクエストとしてデバイス102のサービスプロバイダ440に要求する。これによりS523で、デバイス102のサービスプロバイダ440は、SOAPレスポンスとしてResultCode OKを含んだ処理結果を重連アプリケーション430に通知する。   Next, in S518 and S519, the service provider 440 of the device 101 and the device 102 makes a print request to the printing unit 204, and print processing is executed. In step S520, the processing unit 433 of the redundant application 430 requests the service provider 440 of the device 101 to acquire the status of the child job ID 1002 as a SOAP request. Accordingly, in S521, the service provider 440 notifies the redundant application 430 of a processing result including ResultCode OK as a SOAP response. In S522, the processing unit 433 of the redundant application 430 of the device 101 requests the service provider 440 of the device 102 to acquire the status of the child job ID 1003 being executed by the device 102 as a SOAP request. As a result, in S523, the service provider 440 of the device 102 notifies the redundant application 430 of the processing result including the ResultCode OK as a SOAP response.

こうしてS524でデバイス101の重連アプリケーション430の結合部436は、子ジョブID1002と子ジョブID1003のステータスがともにOKであるため、親ジョブIDに対応するステータスとしてOKを含んだ処理結果を生成する。更に、この処理結果には、どのデバイスで処理されたかを表す対象デバイスに関する情報を含んでいてもよい。そしてS525で重連アプリケーション430の処理部433は、Webブラウザ420のアップロード処理部425に対して、処理結果をWebアプリケーション410に対してアップロードするように依頼する。この依頼に際して処理部433は、アップロード処理部425に対してアップロードの宛先として、レスポンス先804を指定する。このレスポンス先804は、図7のHTTPレスポンスヘッダに記載されており、重連アプリケーション430からアップロード処理部425に指定せず、Webブラウザ420がこの情報を記憶しておいてその情報を使用してもよい。また宛先を固定値とし、Webアプリケーション410から指定しないシステムとしても良い。その他、Webアプリケーション410が必要とする情報を記載しても良い。   Thus, in S524, since the statuses of the child job ID 1002 and the child job ID 1003 are both OK, the combining unit 436 of the redundant application 430 of the device 101 generates a processing result including OK as the status corresponding to the parent job ID. Further, the processing result may include information on the target device indicating which device has been processed. In step S525, the processing unit 433 of the redundant application 430 requests the upload processing unit 425 of the web browser 420 to upload the processing result to the web application 410. When making this request, the processing unit 433 designates the response destination 804 as an upload destination to the upload processing unit 425. This response destination 804 is described in the HTTP response header of FIG. 7 and is not designated by the heavy chain application 430 to the upload processing unit 425, and the web browser 420 stores this information and uses that information. Also good. Further, a system may be used in which the destination is a fixed value and is not specified from the Web application 410. In addition, information required by the Web application 410 may be described.

こうしてS526でアップロード処理部425は、通信部421を介してHTTP POSTコマンドで、処理部433からの依頼に従って処理結果をサーバ103にアップロードする。このとき、重連アプリケーション430の処理部433から依頼された宛先804に対してアップロードを行う。S527でWebアプリケーション410は、Webブラウザ420に対して、画面表示用のHTMLコンテンツをレスポンスする。このレスポンスを受け取ったWebブラウザ420は、解析部422によるHTMLデータの解析結果に基づいて、表示部207に操作画面を表示する。   In this way, in S526, the upload processing unit 425 uploads the processing result to the server 103 according to the request from the processing unit 433 using the HTTP POST command via the communication unit 421. At this time, the upload is performed to the destination 804 requested by the processing unit 433 of the redundant application 430. In step S527, the web application 410 responds to the web browser 420 with HTML content for screen display. Receiving this response, the Web browser 420 displays an operation screen on the display unit 207 based on the analysis result of the HTML data by the analysis unit 422.

図10(A)〜(C)は、本発明の実施形態1におけるデバイス101の重連アプリケーション430の処理部433で作成される処理結果の一例を説明する図である。   10A to 10C are diagrams illustrating an example of a processing result created by the processing unit 433 of the redundant application 430 of the device 101 according to the first embodiment of the present invention.

図10(A)は、図5のS521で、デバイス101のサービスプロバイダ440がSOAPレスポンスとして送信する処理結果を示す。ここではジョブID「1234」(図9(B)よりデバイス101のサービスプロバイダ440が実行したジョブ)のジョブの処理結果(ResultCode)が「OK」であることが記述されている。   FIG. 10A shows a processing result transmitted by the service provider 440 of the device 101 as a SOAP response in S521 of FIG. Here, it is described that the job processing result (ResultCode) of the job ID “1234” (the job executed by the service provider 440 of the device 101 from FIG. 9B) is “OK”.

図10(B)は、図5のS523で、デバイス102のサービスプロバイダ440がSOAPレスポンスとして送信する処理結果を示す。ここではジョブID「2345」(図9(B)よりデバイス102のサービスプロバイダ440が実行したジョブ)のジョブの処理結果(ResultCode)が「OK」であることが記述されている。   FIG. 10B shows a processing result transmitted by the service provider 440 of the device 102 as a SOAP response in S523 of FIG. Here, it is described that the job processing result (ResultCode) of the job ID “2345” (job executed by the service provider 440 of the device 102 from FIG. 9B) is “OK”.

図10(C)は、デバイス101の重連アプリケーション430の結合部436が生成した処理結果を示す図である。ここでは子ジョブID1002と子ジョブID1003のステータスがともに「OK」であるため、親ジョブID「12345」(図9(B)参照)に対応するステータスとしてOKを含む処理結果となっている。尚、図10(C)では、そのジョブが、どのデバイスで処理されたかを表す対象デバイス1021に関する情報も含まれている。   FIG. 10C is a diagram illustrating a processing result generated by the combining unit 436 of the redundant application 430 of the device 101. Here, since the statuses of the child job ID 1002 and the child job ID 1003 are both “OK”, the processing result includes OK as the status corresponding to the parent job ID “12345” (see FIG. 9B). Note that FIG. 10C also includes information regarding the target device 1021 that indicates which device has processed the job.

図6は、本実施形態1に係るデバイス101の重連アプリケーション430が処理要求を受け付けて処理結果を応答するまでの処理を説明するフローチャートである。尚、この処理を実行するプログラムは実行時に、デバイス101の記憶部205からRAM202に展開されCPU201の制御の下に実行されることにより、この処理が達成される。尚、このフローチャートで示す処理はデバイス101のCPU201により実行されるが、以下の説明では、デバイス101の重連アプリケーション430による処理として説明する。   FIG. 6 is a flowchart for explaining processing until the cascade application 430 of the device 101 according to the first embodiment receives a processing request and responds with a processing result. Note that a program for executing this process is developed from the storage unit 205 of the device 101 to the RAM 202 and executed under the control of the CPU 201 at the time of execution, thereby achieving this process. Note that the processing shown in this flowchart is executed by the CPU 201 of the device 101, but in the following description, the processing will be described as processing by the redundant application 430 of the device 101.

まずS601で重連アプリケーション430の処理部433が、Webブラウザ420からHTTPヘッダ、HTTPボディを含んだ処理要求800を受信する。次にS602に進み判断部432は、その処理要求800を解析し、そのHTTPヘッダに重連処理属性704が「true」かどうかを判定する。「true」であればS604へ、属性値が「true」でないとき、即ち、「false」であればS603へ処理を移す。S603では重連処理を行わないため、デバイス101のサービスプロバイダ440に、その処理要求に従った処理を要求して、この処理を終了する。   First, in step S <b> 601, the processing unit 433 of the redundant application 430 receives a processing request 800 including an HTTP header and an HTTP body from the web browser 420. In step S602, the determination unit 432 analyzes the processing request 800 and determines whether or not the duplicate processing attribute 704 is “true” in the HTTP header. If "true", the process proceeds to S604, and if the attribute value is not "true", that is, if "false", the process proceeds to S603. In S603, since the repeated processing is not performed, the service provider 440 of the device 101 is requested to perform processing according to the processing request, and this processing is terminated.

S604で処理部433は、図9(A)で説明した重連設定画面を表示部207に表示する。尚、本実施形態1では、この重連設定画面を重連アプリケーション430が生成、出力しているが、Webアプリケーション410が作成し、Webブラウザ420により表示してもかまわない。その場合は、処理部433による重連設定画面の表示処理は省略してもよい。そしてステップ605に進み処理部433は、重連処理の実行通知を受信するとS606に進む。S606で処理部433は、親ジョブIDを発行してWebブラウザ420にアップロードを依頼する。次にS607に進み処理部433は、処理要求800を解釈し、前述したように処理要求810と処理要求820に分割する。この場合の分割の仕方については、特に限定しない。そしてS608に進み処理部433は、デバイス101のサービスプロバイダ440に処理要求810をSOAPリクエストとして送信してS609に進む。S609で処理部433は、デバイス101のサービスプロバイダ440からSOAPレスポンスを受信する。このレスポンスには子ジョブID1002が含まれている。次にS610に進み処理部433は、デバイス102のサービスプロバイダ440に処理要求810をSOAPリクエストとして送信してS611に進む。S611で処理部433は、デバイス101のサービスプロバイダ440からSOAPレスポンスを受信する。このレスポンスには子ジョブID1003が含まれている。   In step S <b> 604, the processing unit 433 displays the duplicate setting screen described in FIG. 9A on the display unit 207. In the first embodiment, the heavy chain setting screen is generated and output by the heavy chain application 430. However, the web application 410 may be generated and displayed by the web browser 420. In that case, the display processing of the duplicate setting screen by the processing unit 433 may be omitted. Then, the processing unit 433 proceeds to step 605, and proceeds to step S606 upon receiving the execution notification of the multiple processing. In step S606, the processing unit 433 issues a parent job ID and requests the Web browser 420 to upload. In step S607, the processing unit 433 interprets the processing request 800 and divides the processing request 810 into the processing request 810 and the processing request 820 as described above. The way of division in this case is not particularly limited. In step S608, the processing unit 433 transmits the processing request 810 as a SOAP request to the service provider 440 of the device 101, and the processing proceeds to step S609. In step S <b> 609, the processing unit 433 receives a SOAP response from the service provider 440 of the device 101. This response includes a child job ID 1002. In step S610, the processing unit 433 transmits the processing request 810 as a SOAP request to the service provider 440 of the device 102, and the processing proceeds to step S611. In step S <b> 611, the processing unit 433 receives a SOAP response from the service provider 440 of the device 101. This response includes a child job ID 1003.

次にS612に進み処理部433は、親ジョブIDのジョブ状況の取得要求を受け付ける。尚、この要求元は、Webアプリケーション410からのポーリングによるものや、デバイス101で生成されたジョブ状況の監視スレッドによるもの等が挙げられるが、Webアプリケーション410がジョブ状況を取得できる様態であればよい。即ち、サーバ103がプッシュ型に対応していなければ、Webアプリケーション410からのポーリングによる要求であり、WebSocketなどのプッシュ型に対応していれば、デバイス101からの要求でも構わず、ジョブ状況の要求元は限定されない。   In step S612, the processing unit 433 receives a job status acquisition request for the parent job ID. Examples of the request source include polling from the Web application 410 and job status monitoring threads generated by the device 101. Any request source may be used as long as the Web application 410 can acquire the job status. . That is, if the server 103 does not support the push type, the request is a polling request from the Web application 410. If the server 103 supports the push type such as the WebSocket, the request from the device 101 may be used. The origin is not limited.

次にS613に進み処理部433は、親ジョブIDからジョブID管理部434に子ジョブID1002と子ジョブID1003を取得し、それぞれの子ジョブIDに対応するサービスプロバイダ440へステータスの問い合わせを行う。次にS614に進み判断部432は、デバイス101のサービスプロバイダ440からの処理結果(例えば図10(A))とデバイス102のサービスプロバイダ440からの処理結果(例えば図10(B)とを受け取って解析する。そして全ての処理結果のResultCodeがOKかどうかを判定し、OKであればS615へ、そうでなければS616へ処理を進める。S615で処理部433は、ResultCodeをOKにする。一方、S616で判断部432は、サービスプロバイダ440からのレスポンスがタイムアウトしていないかを判定する。タイムアウトしていなければS617へ、タイムアウトしていればS618へ処理を進める。S617で処理部433はResultCodeをジョブの実行中を表す「executing」にしてS619に処理を進める。一方S618で処理部433は、ResultCodeをジョブのタイムアウトを表す「timeout」にしてS619に進む。   In step S613, the processing unit 433 acquires the child job ID 1002 and the child job ID 1003 from the parent job ID to the job ID management unit 434, and makes a status inquiry to the service provider 440 corresponding to each child job ID. In step S614, the determination unit 432 receives the processing result (for example, FIG. 10A) from the service provider 440 of the device 101 and the processing result (for example, FIG. 10B) from the service provider 440 of the device 102. Then, it is determined whether the ResultCode of all the processing results is OK, and if OK, the process proceeds to S615, otherwise proceeds to S616, and the processing unit 433 sets the ResultCode to OK in S615. In S616, the determination unit 432 determines whether the response from the service provider 440 has timed out, the process proceeds to S617 if it has not timed out, or proceeds to S618 if it has timed out. "Exe" indicating job execution The uting "the processing advances to S619 in. Meanwhile S618 in the processing section 433 proceeds to S619 in the" timeout "representing the timeout job ResultCode.

S619で結合部436は、親ジョブIDとResultCodeとを付加して、例えばず10(C)に示すような処理結果を生成する。尚、この処理結果には、どのデバイスで処理されたかを表す対象デバイス1021を付加しても構わない。そしてS620に進み処理部433は、その処理結果をWebブラウザ420にアップロードするように依頼してS621に進む。S621で判断部432は、ResultCodeがOKもしくは、timeoutかどうかを確認し、そうであれば、この処理を終了する。一方、それ以外であればジョブは実行中であるためS612に戻り、ジョブのステータスの取得要求を待つ。   In S619, the combining unit 436 adds the parent job ID and the ResultCode, and generates a processing result as shown in, for example, 10 (C). Note that the target device 1021 indicating which device has been processed may be added to this processing result. In step S620, the processing unit 433 requests the web browser 420 to upload the processing result, and the processing proceeds to step S621. In S621, the determination unit 432 confirms whether the ResultCode is OK or timeout, and if so, ends this processing. On the other hand, the job is being executed otherwise, the process returns to S612 and waits for a job status acquisition request.

以上説明したように本実施形態1によれば、デバイスのWebブラウザを介して得られたWebサーバからのリクエスト(処理要求)を、そのデバイスが分割して内部ネットワークの他のデバイスに処理させることができる。これにより、ファイアウォールを超えて、Webサーバからのリクエストを受信して複数のデバイスで分担して処理できる。   As described above, according to the first embodiment, a request (processing request) from a Web server obtained through a Web browser of a device is divided by the device and processed by another device in the internal network. Can do. As a result, the request from the Web server can be received across the firewall and can be shared and processed by a plurality of devices.

また、複数のデバイスでの処理結果を統合して、WebブラウザからWebアプリケーションにアップロードする。これにより、例えば、インターネット環境下にあるWebアプリケーションからのプリント要求に基づいて、内部ネットワークの複数のデバイスが分担して、そのプリント要求に対応するプリントジョブを並行して実行できる。そして、複数のデバイスによるプリントジョブの処理結果を、サーバのWebアプリケーションが把握できるため、Webアプリケーションからユーザに対して重連処理の処理結果を通知できる。   In addition, processing results from a plurality of devices are integrated and uploaded from a web browser to a web application. Accordingly, for example, based on a print request from a Web application in the Internet environment, a plurality of devices in the internal network can share and execute print jobs corresponding to the print request in parallel. Since the Web application of the server can grasp the processing result of the print job by a plurality of devices, the processing result of the continuous processing can be notified from the Web application to the user.

こうして外部ネットワークに存在するWebサーバからのリクエストであっても、内部ネットワーク内の複数のデバイスを活用できるようになるため、生産性が向上する。更には、ユーザが、その処理要求に基づく処理が、どのデバイスで実行されたかを把握できるようになり、利便性が高まる。   Thus, even a request from a Web server existing in the external network can utilize a plurality of devices in the internal network, thereby improving productivity. Furthermore, the user can grasp on which device the processing based on the processing request is executed, and convenience is improved.

[実施形態2]
次に本発明の実施形態2について説明する。この実施形態2では、Webアプリケーション410の指示に従ってデバイス101の重連アプリケーション430がファクシミリの重連処理を行う例を説明する。尚、この実施形態2に係るシステム構成、及びデバイス101,102、サーバ103のハードウェア構成は前述の実施形態1と同様であるため、その説明を省略する。
[Embodiment 2]
Next, a second embodiment of the present invention will be described. In the second embodiment, an example will be described in which the redundant application 430 of the device 101 performs facsimile continuous processing in accordance with an instruction from the Web application 410. Note that the system configuration according to the second embodiment and the hardware configurations of the devices 101 and 102 and the server 103 are the same as those in the first embodiment, and a description thereof will be omitted.

図11は、本実施形態2に係る重連アプリケーション430が処理要求を受け付けてから、処理結果の応答までの処理を説明するフローチャートである。尚、この処理を実行するプログラムは実行時に、デバイス101の記憶部205からRAM202に展開されCPU201の制御の下に実行されることにより、この処理が達成される。   FIG. 11 is a flowchart for explaining processing from when the heavy chain application 430 according to the second embodiment receives a processing request until a response to the processing result. Note that a program for executing this process is developed from the storage unit 205 of the device 101 to the RAM 202 and executed under the control of the CPU 201 at the time of execution, thereby achieving this process.

図12は、本発明の実施形態2に係る処理要求とその分割の例を説明する図である。   FIG. 12 is a diagram for explaining an example of a processing request and its division according to Embodiment 2 of the present invention.

まずS1101で重連アプリケーション430の処理部433は、重連処理を含む処理要求1200(図12(A))を受信してS1102に進む。S1102で重連アプリケーション430の分割部435は、図12(A)で示す処理要求1200を分割する。具体的には、本実施形態2では、Fax同報送信要求1201に、Faxの送信データとしてFaxDataタグで「deviceA.box.01」が、送信宛先としてPhoneNumbersタグで複数の電話番号が設定されている。尚、本実施形態2では、Faxの送信データについては、デバイス101の読取部203を介して記憶部205に保存されたものが指定されている。但し、サーバ103の記憶部303に保存されているデータを、Webアプリケーション410からの処理要求に付加することで指定してもよい。尚、その場合には、サーバ103からのデータが、デバイス101の記憶部205に保存されるため、axDataタグの指定方法に違いはない。そして分割部435は、このFax同報送信要求1201を解析し、デバイス101及びデバイス102で処理できるように、図12(B)の処理要求1210と図12(C)の処理要求1220とに分割する。処理要求1210と処理要求1220は、送信宛先が分割され、レスポンス先がdeviceAとなっている。尚、この送信宛先の分割比は、均等でも良く、或いは、各デバイスの最大同報送信能力等の処理能力から自動的に決定してもよい。また、デバイスに予め設定された比率を分割比としてもよい。更には、Webアプリケーション410からの要求に含めてもよい。尚、本実施形態2では、処理要求1200をSOAPメッセージに分割しているが、デバイスで処理可能な様態であればよく、これに限定されるものではない。そしてS1103に進み、前述の図6のS608〜S621で説明したように、各デバイスでの処理結果を受け取って、その処理結果をサーバ103にアップロードする。   First, in step S1101, the processing unit 433 of the heavy chain application 430 receives the processing request 1200 (FIG. 12A) including the heavy chain processing, and proceeds to step S1102. In S1102, the dividing unit 435 of the redundant application 430 divides the processing request 1200 illustrated in FIG. Specifically, in the second embodiment, the Fax broadcast transmission request 1201 is set with “DeviceA.box.01” as the FaxData tag as the Fax transmission data, and a plurality of telephone numbers as the PhoneNumber tag as the transmission destination. Yes. In the second embodiment, the fax transmission data stored in the storage unit 205 via the reading unit 203 of the device 101 is designated. However, the data stored in the storage unit 303 of the server 103 may be specified by adding it to the processing request from the Web application 410. In this case, since the data from the server 103 is stored in the storage unit 205 of the device 101, there is no difference in the axData tag designation method. Then, the dividing unit 435 analyzes the fax broadcast transmission request 1201 and divides it into a processing request 1210 in FIG. 12B and a processing request 1220 in FIG. 12C so that the device 101 and the device 102 can process it. To do. In the processing request 1210 and the processing request 1220, the transmission destination is divided and the response destination is deviceA. Note that the transmission destination division ratio may be equal, or may be automatically determined from the processing capability such as the maximum broadcast transmission capability of each device. Further, a ratio preset in the device may be used as the division ratio. Further, it may be included in a request from the Web application 410. In the second embodiment, the processing request 1200 is divided into SOAP messages. However, the processing request 1200 is not limited to this as long as it can be processed by the device. Then, the processing proceeds to S1103, and as described in S608 to S621 of FIG. 6 described above, the processing result in each device is received and the processing result is uploaded to the server 103.

以上説明したように本実施形態2によれば、インターネット環境下にあるサーバのWebアプリケーションからの要求に基づいて、FAXの同報送信においても、複数のデバイスを活用することでより多くのジョブを並行して処理できる。   As described above, according to the second embodiment, more jobs can be executed by utilizing a plurality of devices even in FAX broadcast transmission based on a request from a Web application of a server in an Internet environment. Can be processed in parallel.

これにより、外部ネットワークに存在するWebサーバからのリクエストであっても、内部ネットワーク内の複数のデバイスを活用できるようになるため、生産性が向上し、ユーザの利便性を高められる。   As a result, even a request from a Web server existing in the external network can utilize a plurality of devices in the internal network, so that productivity is improved and user convenience is enhanced.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
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.

Claims (11)

Webサーバにより提供される操作画面を表示可能な情報処理装置であって、
前記操作画面を介して入力された指示に従って前記Webサーバにリクエストを送信するリクエスト手段と、
外部装置から処理要求を受信し、前記情報処理装置が備えている機能に、当該受信した処理要求に基づく処理を行わせるサービスプロバイダと、
前記Webサーバから、前記リクエスト手段によるリクエストに対するレスポンスとして処理要求を受信し、前記情報処理装置及び前記情報処理装置とは異なる他の情報処理装置に前記処理要求に基づく処理を行わせる制御手段と、を有し、
前記制御手段は、前記Webサーバから受信した処理要求に基づく処理を前記情報処理装置に行わせる際は、前記サービスプロバイダに対して処理要求を送信して前記処理を行わせ、前記処理要求に基づく処理を前記他の情報処理装置に行わせる際は、前記他の情報処理装置が備えるサービスプロバイダに対して処理要求を送信して前記他の情報処理装置に前記処理を行わせることを特徴とする情報処理装置。
An information processing apparatus capable of displaying an operation screen provided by a Web server,
Request means for transmitting a request to the Web server according to an instruction input via the operation screen;
A service provider that receives a processing request from an external device and causes the function of the information processing device to perform processing based on the received processing request;
Control means for receiving a processing request as a response to the request by the request means from the Web server, and causing the information processing apparatus and another information processing apparatus different from the information processing apparatus to perform processing based on the processing request; Have
When the control unit causes the information processing apparatus to perform processing based on the processing request received from the Web server, the control unit transmits the processing request to the service provider to perform the processing, and based on the processing request When causing the other information processing apparatus to perform processing, the processing request is transmitted to a service provider included in the other information processing apparatus to cause the other information processing apparatus to perform the process. Information processing device.
前記処理要求に含まれる属性に基づいて、前記情報処理装置及び前記他の情報処理装置に前記処理要求に基づく処理を行わせるか否かを判定する判定手段を更に有することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising: a determination unit configured to determine whether to cause the information processing apparatus and the other information processing apparatus to perform processing based on the processing request based on an attribute included in the processing request. The information processing apparatus according to 1. 前記情報処理装置による前記処理の結果と、前記他の情報処理装置による前記処理の結果を前記Webサーバに通知する通知手段を更に有することを特徴とする請求項1又は2に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising a notification unit configured to notify the Web server of a result of the processing by the information processing apparatus and a result of the processing by the other information processing apparatus. . 前記処理要求は、用紙に画像を印刷するプリント処理の要求であることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 Said processing request, the information processing apparatus according to any one of claims 1 to 3, characterized in that a request of a print process for printing an image on a sheet. 前記制御手段は、前記処理要求に含まれる印刷部数の設定に基づいて、前記情報処理装置に行わせるプリント処理の印刷部数と前記他の情報処理装置に行わせるプリント処理の印刷部数を制御することを特徴とする請求項に記載の情報処理装置。 The control means controls, based on the setting of the number of prints included in the processing request, the number of prints to be printed by the information processing apparatus and the number of prints to be printed by the other information processing apparatus. The information processing apparatus according to claim 4 . Webサーバにより提供される操作画面を表示するためのWebブラウザを更に有し、
前記Webブラウザは、HTTPのGETコマンドにより前記Webサーバに操作画面の情報を要求し、前記操作画面を介して入力された指示に従って前記WebサーバにHTTPのPOSTコマンドを送信し、前記HTTPのPOSTコマンドに対するHTTPレスポンスとして前記処理要求を受信することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
A web browser for displaying an operation screen provided by the web server;
The Web browser requests information on the operation screen from the Web server by an HTTP GET command, transmits an HTTP POST command to the Web server in accordance with an instruction input via the operation screen, and the HTTP POST command. the information processing apparatus according to any one of claims 1 to 5, characterized in that receiving the processing request as an HTTP response to.
前記情報処理装置と前記他の情報処理装置は同一のLAN内のネットワークに接続されており、前記Webサーバは、前記LAN内のネットワークとインターネットを介して通信可能なネットワークに接続されていることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 The information processing apparatus and the other information processing apparatus are connected to a network in the same LAN, and the Web server is connected to a network that can communicate with the network in the LAN via the Internet. the information processing apparatus according to any one of claims 1 to 6, wherein. Webサーバにより提供される操作画面を表示可能な情報処理装置を制御する制御方法であって、
記操作画面を介して入力された指示に従って前記Webサーバにリクエストを送信するリクエスト工程と、
外部装置から処理要求を受信し、前記情報処理装置が備えている機能に当該受信した処理要求に基づく処理を行わせるサービス提供工程と、
記Webサーバから、前記リクエスト工程によるリクエストに対するレスポンスとして処理要求を受信し、前記情報処理装置及び前記情報処理装置とは異なる他の情報処理装置に前記処理要求に基づく処理を行わせる制御工程と、を有し、
前記制御工程は、前記処理要求に基づく処理を前記情報処理装置に行わせる際は、前記サービス提供工程に対して処理要求を送信して前記処理を行わせ、前記処理要求に基づく処理を前記他の情報処理装置に行わせる際は、前記他の情報処理装置が備えるサービスプロバイダに対して処理要求を送信して前記他の情報処理装置に前記処理を行わせることを特徴とする情報処理装置の制御方法。
A control method for controlling an information processing apparatus capable of displaying an operation screen provided by a Web server,
A request step of transmitting a request to the Web server in accordance with an instruction input via the front Symbol operation screen,
A service providing step of receiving a processing request from an external device and causing the function of the information processing device to perform processing based on the received processing request;
Before Symbol Web server, it receives a processing request as a response to the request by the request step, and the information processing apparatus and the information processing apparatus and a control step of causing the processing based on the processing request to the other different information processing apparatus Have
When the control process causes the information processing apparatus to perform a process based on the process request, the control process transmits the process request to the service providing process to perform the process, and performs the process based on the process request. When the information processing apparatus performs the processing, the processing request is transmitted to a service provider included in the other information processing apparatus to cause the other information processing apparatus to perform the processing. Control method.
コンピュータを、請求項1乃至のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。 The program for functioning a computer as each means of the information processing apparatus of any one of Claims 1 thru | or 7 . 前記制御手段は、前記処理要求に当該処理を実行すべき他の情報処理装置を示す情報が含まれていることに従って、前記情報に基づいて特定した他の情報処理装置に前記処理要求に基づく処理を行わせることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。The control means performs processing based on the processing request to another information processing device specified based on the information according to the fact that the processing request includes information indicating another information processing device that should execute the processing. The information processing apparatus according to claim 1, wherein: 前記処理要求は、前記情報処理装置が有する画像形成機能を使用する画像形成処理の実行要求であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。The information processing apparatus according to claim 1, wherein the processing request is an execution request for an image forming process using an image forming function of the information processing apparatus.
JP2013162800A 2013-08-05 2013-08-05 Information processing apparatus, information processing apparatus control method, and program Active JP6198511B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013162800A JP6198511B2 (en) 2013-08-05 2013-08-05 Information processing apparatus, information processing apparatus control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013162800A JP6198511B2 (en) 2013-08-05 2013-08-05 Information processing apparatus, information processing apparatus control method, and program

Publications (3)

Publication Number Publication Date
JP2015032225A JP2015032225A (en) 2015-02-16
JP2015032225A5 JP2015032225A5 (en) 2016-09-15
JP6198511B2 true JP6198511B2 (en) 2017-09-20

Family

ID=52517467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013162800A Active JP6198511B2 (en) 2013-08-05 2013-08-05 Information processing apparatus, information processing apparatus control method, and program

Country Status (1)

Country Link
JP (1) JP6198511B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6668601B2 (en) * 2015-03-20 2020-03-18 株式会社リコー Apparatus, image forming apparatus, information processing method, information processing program, and information processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428250B2 (en) * 2005-02-17 2010-03-10 セイコーエプソン株式会社 Print progress monitoring control of printing devices connected to the network
JP2013038587A (en) * 2011-08-08 2013-02-21 Canon Inc Image processing system, image processing device, control method of the same, and program
JP2013050804A (en) * 2011-08-30 2013-03-14 Canon Inc Printing system, print control method, and computer program

Also Published As

Publication number Publication date
JP2015032225A (en) 2015-02-16

Similar Documents

Publication Publication Date Title
JP5539043B2 (en) Information transmitting apparatus, information transmitting apparatus control method, and computer program
JP6123394B2 (en) Definition information creation system, information processing device
JP5683205B2 (en) Information processing apparatus, control method for controlling information processing apparatus, and program thereof
JP5698557B2 (en) Printing system and control method in printing system
JP5995525B2 (en) System, image forming apparatus, server, and control method thereof
JP5791367B2 (en) Network system having image forming apparatus and proxy server, control method thereof, control program, and proxy server
JP5641921B2 (en) Image processing apparatus, system having image processing apparatus and external apparatus, system control method, and program
JP2008079293A (en) Method for generating metadata
JP6862191B2 (en) Information processing device, its control method, and program
JP5370439B2 (en) Apparatus, request processing method, program, and recording medium
JP2012008860A (en) Image forming apparatus, print control method, and program
JP2023171389A (en) Image formation device, control method, and program thereof
JP2018112895A (en) Information processing device, control method thereof, program, and information processing system
JP2008084312A (en) Method and system for third-party to control remote image processing job
US20120331175A1 (en) Image processing apparatus that communicates with server via relay device, method of controlling image processing apparatus, and storage medium
JP6198511B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP7341765B2 (en) Printing device, its control method and program
JP4635821B2 (en) Information processing apparatus, information processing method, and program
JP5619245B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2008102566A (en) Print processing system and print processing program
JP4533186B2 (en) Image forming apparatus and image forming method
JP2017126379A (en) Definition information creation system, and information processing device
JP2012015979A (en) Information processing system, information processing apparatus, control method thereof, and program
JP5729036B2 (en) Data processing system, printing control method, program, and recording medium
JP2019200493A (en) Communication device, control method thereof and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170711

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: 20170724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170822

R151 Written notification of patent or utility model registration

Ref document number: 6198511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151