JP2018041400A - Job processing system, job processing device, job processing method, and program - Google Patents

Job processing system, job processing device, job processing method, and program Download PDF

Info

Publication number
JP2018041400A
JP2018041400A JP2016176813A JP2016176813A JP2018041400A JP 2018041400 A JP2018041400 A JP 2018041400A JP 2016176813 A JP2016176813 A JP 2016176813A JP 2016176813 A JP2016176813 A JP 2016176813A JP 2018041400 A JP2018041400 A JP 2018041400A
Authority
JP
Japan
Prior art keywords
job
information
processing
processing apparatus
execution
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.)
Granted
Application number
JP2016176813A
Other languages
Japanese (ja)
Other versions
JP6786975B2 (en
Inventor
遼一 馬場
Ryoichi Baba
遼一 馬場
和行 滝澤
Kazuyuki Takizawa
和行 滝澤
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016176813A priority Critical patent/JP6786975B2/en
Publication of JP2018041400A publication Critical patent/JP2018041400A/en
Application granted granted Critical
Publication of JP6786975B2 publication Critical patent/JP6786975B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable performing distributed processing of a plurality of pieces of workflow processing efficiently in a total job processing system, in the job processing system in which workflow processing is performed based on a workflow.SOLUTION: In a job processing system comprising a plurality of job processing devices, the job processing device comprises a job information management unit that stores job information of a first job received by the job processing device and job information of a second job received by other job processing device in a job information storage unit to manage them, a notification unit that notifies the other job processing device of the job information of the first job, and a job execution unit that, when the job information of the first job, in which processing has not been started, is stored in the job information storage unit, executes the first job, and that, when the job information of the first job, in which processing has not been started, is not stored in the job information storage unit, executes the second job based on the job information of the second job.SELECTED DRAWING: Figure 4

Description

本発明は、ジョブ処理システム、ジョブ処理装置、ジョブ処理方法、及びプログラム
に関する。
The present invention relates to a job processing system, a job processing apparatus, a job processing method, and a program.

例えば、画像形成装置によって文書からスキャンされた画像データや、他の手段によって入力されたデータ等に関して、予め定義されたワークフローに基づいてワークフロー処理(以下、ジョブと呼ぶ)を実行可能なジョブ処理システムが知られている。   For example, a job processing system capable of executing workflow processing (hereinafter referred to as a job) based on a predefined workflow regarding image data scanned from a document by an image forming apparatus, data input by other means, and the like It has been known.

また、ジョブを複数のジョブ処理装置へ振り分ける負荷分散装置を有し、実行が要求された複数のジョブをジョブ単位で複数のジョブ処理装置に振り分けて処理するジョブ処理システムが知られている(例えば、特許文献1参照)。   There is also known a job processing system that has a load distribution device that distributes jobs to a plurality of job processing devices and distributes and processes a plurality of jobs requested to be executed to a plurality of job processing devices in units of jobs (for example, , See Patent Document 1).

特許文献1に開示されたジョブ処理システムでは、複数の処理を組合せたワークフロー処理は、ワークフローの定義によって、処理に要する時間が異なるため、負荷分散装置がジョブ単位でワークフロー処理をジョブ処理装置へ振り分けることでは、ジョブ処理システム全体の負荷を効率良く分散することは困難である。   In the job processing system disclosed in Patent Document 1, the time required for processing of workflow processing combining a plurality of processing differs depending on the definition of the workflow. Therefore, the load distribution device distributes the workflow processing to the job processing device in units of jobs. Therefore, it is difficult to efficiently distribute the load of the entire job processing system.

本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。   The embodiments of the present invention have been made in view of the above problems, and in a job processing system that executes workflow processing based on a workflow, a plurality of workflow processes are efficiently distributed in the entire job processing system. To be able to.

上記課題を解決するため、本発明の一実施形態に係るジョブ処理システムは、1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、前記ジョブ処理装置は、前記ジョブを受け付けるジョブ受付部と、当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、を有する。   In order to solve the above-described problem, a job processing system according to an embodiment of the present invention includes a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, via a network. The job processing apparatus includes: a job receiving unit that receives the job; job information relating to execution of a first job that is the job received by the job processing apparatus; and the job Job information transmitted from another job processing apparatus different from the processing apparatus and stored in the job information storage unit for management of job information related to the execution of the second job that is the job received by the other job processing apparatus In response to reception of the first job by the management unit, the job information of the first job is changed to the other job. If the job information of the first job that has not been processed is stored in the notification unit that notifies the job processing device and the job information storage unit, the first job is executed, and the job information If the job information of the first job that has not been processed is not stored in the storage unit, the job information of the second job that has not been started and is stored in the job information storage unit And a job execution unit that executes the second job.

本発明の一実施形態によれば、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようになる。   According to an embodiment of the present invention, in a job processing system that executes a workflow process based on a workflow, a plurality of workflow processes can be efficiently distributed in the entire job processing system.

一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration of a job processing system according to an embodiment. 一実施形態に係るコンピュータのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the computer which concerns on one Embodiment. 一実施形態に係る画像形成装置のハードウェア構成例を示す図である。1 is a diagram illustrating a hardware configuration example of an image forming apparatus according to an embodiment. 一実施形態に係るジョブ処理システムの機能構成図である。1 is a functional configuration diagram of a job processing system according to an embodiment. FIG. 一実施形態に係るジョブ処理装置が管理する情報の例を示す図(1)である。It is a figure (1) which shows the example of the information which the job processing apparatus which concerns on one Embodiment manages. 一実施形態に係るジョブ処理装置が管理する情報の例を示す図(2)である。It is a figure (2) which shows the example of the information which the job processing apparatus concerning one embodiment manages. 第1の実施形態に係るジョブの実行処理の例を示すフローチャートである。6 is a flowchart illustrating an example of job execution processing according to the first embodiment. 第1の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。6 is a flowchart illustrating an example of job data providing processing according to the first embodiment. 第1の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図(1)である。It is a sequence diagram (1) which shows the example of a process of the job processing system which concerns on 1st Embodiment. 第1の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図(2)である。It is a sequence diagram (2) which shows the example of a process of the job processing system which concerns on 1st Embodiment. 第1の実施形態に係る各ジョブ処理装置のジョブキューのイメージを示す図である。It is a figure which shows the image of the job queue of each job processing apparatus which concerns on 1st Embodiment. 第2の実施形態に係るジョブの実行処理の例を示すフローチャートである。12 is a flowchart illustrating an example of job execution processing according to the second embodiment. 第2の実施形態に係る処理コストの計算処理の例を示すフローチャートである。It is a flowchart which shows the example of the calculation process of the processing cost which concerns on 2nd Embodiment. その他の実施形態に係るジョブ処理システムの機能構成図である。It is a function block diagram of the job processing system which concerns on other embodiment.

以下に、本発明の実施の形態について、添付の図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the accompanying drawings.

<システムの構成>
図1は、一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。ジョブ処理システム100は、例えば、インターネット等のネットワーク107に接続される複数のジョブ処理装置であるジョブ処理装置A101−1、ジョブ処理装置B101−2、及びジョブ処理装置C101−3を含む。なお、以下の説明の中で、複数のジョブ処理装置のうち、任意のジョブ処理装置を示す場合、「ジョブ処理装置101」を用いる。また、図1に示すジョブ処理装置101の数は一例である。ジョブ処理装置101の数は、2つ以上の他の数であっても良い。
<System configuration>
FIG. 1 is a diagram illustrating an example of a system configuration of a job processing system according to an embodiment. The job processing system 100 includes, for example, a job processing device A 101-1, job processing device B 101-2, and job processing device C 101-3, which are a plurality of job processing devices connected to a network 107 such as the Internet. In the following description, “job processing apparatus 101” is used to indicate an arbitrary job processing apparatus among a plurality of job processing apparatuses. The number of job processing apparatuses 101 shown in FIG. 1 is an example. The number of job processing apparatuses 101 may be two or more other numbers.

図1の例では、ジョブ処理装置A101−1は、地域A104に設けられており、地域A104内のLAN(Local Area Network)103Aを介して、複数の画像形成装置A102−1、及び画像形成装置B102−2と接続されている。なお、地域Aは、ジョブ処理装置A101−1を含むグループの一例である。ジョブ処理装置A101−1を含むグループは、例えば、拠点、ビル、フロア、部署等であっても良い。   In the example of FIG. 1, the job processing apparatus A 101-1 is provided in an area A 104, and a plurality of image forming apparatuses A 102-1 and image forming apparatuses via a LAN (Local Area Network) 103 A in the area A 104. B102-2 is connected. The area A is an example of a group including the job processing apparatus A 101-1. The group including the job processing apparatus A 101-1 may be, for example, a base, a building, a floor, a department, or the like.

また、ジョブ処理装置B101−2は、地域B105に設けられており、地域B105内のLAN103Bを介して、複数の画像形成装置C102−3、及び画像形成装置D102−4接続されている。なお、地域Bは、ジョブ処理装置B101−2を含むグループの一例である。   The job processing apparatus B 101-2 is provided in the area B 105, and is connected to a plurality of image forming apparatuses C 102-3 and an image forming apparatus D 102-4 via the LAN 103B in the area B 105. Area B is an example of a group that includes job processing apparatus B 101-2.

さらに、ジョブ処理装置C101−3は、地域C106に設けられており、地域C106内のLAN103Cを介して、複数の画像形成装置E102−5、及び画像形成装置F102−6接続されている。なお、地域Cは、ジョブ処理装置C101−3を含むグループの一例である。   Further, the job processing apparatus C101-3 is provided in the area C106, and is connected to a plurality of image forming apparatuses E102-5 and F102-6 via the LAN 103C in the area C106. The area C is an example of a group including the job processing apparatus C101-3.

図1の例では、地域CのLAN103には、例えば、PC(Personal Computer)、タブレット端末、又はスマートフォン等の情報端末108が接続されている。このように、各地域のLANには、画像形成装置102に加えて(又は代えて)情報端末108が接続されていても良い。   In the example of FIG. 1, an information terminal 108 such as a PC (Personal Computer), a tablet terminal, or a smartphone is connected to the LAN 103 in the region C. As described above, the information terminal 108 may be connected to the LAN in each area in addition to (or instead of) the image forming apparatus 102.

上記の構成において、ジョブ処理システム100は、例えば、画像形成装置102によって入力された画像データに対して、利用者が作成(又は選択)したワークフローに基づいて処理を行う。   In the above configuration, for example, the job processing system 100 processes the image data input by the image forming apparatus 102 based on a workflow created (or selected) by the user.

ワークフローとは、例えば、画像データに対する、入力処理、画像変換処理、出力処理等の各処理(プラグイン)を組合せて、所定の処理を定義したものである。なお、以下の説明の中で、ワークフローで指定された所定の処理の実行単位をジョブと呼ぶ。   For example, a workflow defines a predetermined process by combining each process (plug-in) such as an input process, an image conversion process, and an output process for image data. In the following description, an execution unit of a predetermined process designated in the workflow is called a job.

例えば、各画像形成装置102は、画像形成装置102に入力された画像データ(ジョブのデータ)と、実行するワークフローの情報(ジョブの情報)とを、同じ地域内のジョブ処理装置101に送信する。   For example, each image forming apparatus 102 transmits image data (job data) input to the image forming apparatus 102 and information on a workflow to be executed (job information) to the job processing apparatus 101 in the same region. .

ジョブ処理システム100は、複数の画像形成装置102から、各地域のジョブ処理装置101に送信された複数のジョブを、複数のジョブ処理装置101で分散して処理を実行する。例えば、ジョブ処理装置A101−1は、ジョブAを実行中に、画像形成装置A102−1から他のジョブBを受付すると、受付したジョブBの情報を自装置のジョブキュー(待ち行列)に記憶し、ジョブBのデータを記憶部に記憶する。   The job processing system 100 executes processing by distributing a plurality of jobs transmitted from the plurality of image forming apparatuses 102 to the job processing apparatus 101 in each region by the plurality of job processing apparatuses 101. For example, when the job processing apparatus A 101-1 receives another job B from the image forming apparatus A 102-1 while executing the job A, the information of the received job B is stored in the job queue (queue) of the own apparatus. The data of job B is stored in the storage unit.

また、ジョブ処理装置A101−1は、ジョブ処理装置A101−1が受付したジョブBの情報を、他のジョブ処理装置B101−2、及びジョブ処理装置C101−3に通知する。   Further, the job processing apparatus A 101-1 notifies the other job processing apparatus B 101-2 and the job processing apparatus C 101-3 of the information on the job B accepted by the job processing apparatus A 101-1.

通知を受けた他のジョブ処理装置B101−2、及びジョブ処理装置C101−3は、ジョブ処理装置A101−1が受付したジョブBの情報を、それぞれ、自装置のジョブキューに記憶する。   The other job processing apparatus B 101-2 and job processing apparatus C 101-3 that have received the notification store the information of the job B accepted by the job processing apparatus A 101-1, respectively, in the job queue of the own apparatus.

このように、各ジョブ処理装置101は、自装置で受付した処理待ちのジョブの情報を自装置のジョブキューに記憶して管理すると共に、自装置で受付した処理待ちのジョブの状態が変化すると、変化したジョブの情報を他のジョブ処理装置101に通知する。   As described above, each job processing apparatus 101 stores and manages information on a job waiting for processing accepted by the own apparatus in the job queue of the own apparatus, and changes in the status of the job waiting for processing accepted by the own apparatus. The changed job information is notified to the other job processing apparatus 101.

これにより、ジョブ処理システム100の各ジョブ処理装置101は、ジョブ処理システム100全体で処理待ちとなっているジョブの情報を、ジョブキューに記憶して管理することができる。   Accordingly, each job processing apparatus 101 of the job processing system 100 can store and manage information on jobs waiting for processing in the entire job processing system 100 in the job queue.

また、各ジョブ処理装置101は、ジョブキューに記憶されているジョブのうち、自装置で受付し、自装置でジョブのデータを記憶しているジョブを優先的に実行する。また、各ジョブ処理装置101は、ジョブキューに、自装置で受付したジョブがない場合、ジョブキューに記憶された、他のジョブ処理装置で受付したジョブを取得し、実行する。   Each job processing apparatus 101 receives a job stored in the job queue by its own apparatus and preferentially executes a job storing job data in its own apparatus. Further, each job processing apparatus 101 acquires and executes a job received by another job processing apparatus stored in the job queue when there is no job received by the own apparatus in the job queue.

これにより、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム全体で効率良く複数のジョブを分散処理することができるようになる。   As a result, according to the present embodiment, in the job processing system 100 in which a plurality of job processing apparatuses 101 are connected via a network, a plurality of jobs can be efficiently distributed and processed in the entire job processing system. .

なお、ジョブ処理システム100が実行するジョブは、画像形成装置102から受付した画像データに対する処理に限られず、例えば、情報端末108から受付した文書データに対する処理等であっても良い。   The job executed by the job processing system 100 is not limited to the process for the image data received from the image forming apparatus 102, and may be a process for the document data received from the information terminal 108, for example.

<ハードウェア構成>
(ジョブ処理装置、及び情報端末のハードウェア構成)
図1に示すジョブ処理装置101、及び情報端末108は、一般的なコンピュータの構成を有しているので、ここでは、一般的なコンピュータのハードウェア構成について説明する。
<Hardware configuration>
(Hardware configuration of job processing device and information terminal)
Since the job processing apparatus 101 and the information terminal 108 illustrated in FIG. 1 have a general computer configuration, a general computer hardware configuration will be described here.

図2は、一実施形態に係るコンピュータのハードウェア構成例を示す図である。コンピュータ200は、例えば、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、ストレージ装置204、ネットワークI/F205、入力装置206、表示装置207、外部I/F208、及びバス209等を有する。   FIG. 2 is a diagram illustrating a hardware configuration example of a computer according to an embodiment. The computer 200 includes, for example, a central processing unit (CPU) 201, a random access memory (RAM) 202, a read only memory (ROM) 203, a storage device 204, a network I / F 205, an input device 206, a display device 207, an external I / O. F208, bus 209, and the like.

CPU201は、ROM203やストレージ装置204等に格納されたプログラムやデータをRAM202上に読み出し、処理を実行することで、コンピュータ200の各機能を実現する演算装置である。RAM202は、CPU201のワークエリア等として用いられる揮発性のメモリである。ROM203は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。   The CPU 201 is an arithmetic device that implements each function of the computer 200 by reading a program or data stored in the ROM 203 or the storage device 204 onto the RAM 202 and executing the processing. The RAM 202 is a volatile memory used as a work area for the CPU 201. The ROM 203 is a non-volatile memory that can retain programs and data even when the power is turned off.

ストレージ装置204は、例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)等の大容量の記憶装置であり、OS、アプリケーションプログラム、各種のデータ等を記憶する。ネットワークI/F205は、コンピュータ200をネットワーク107等に接続するための通信インタフェースである。   The storage device 204 is a large-capacity storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and stores an OS, application programs, various data, and the like. A network I / F 205 is a communication interface for connecting the computer 200 to the network 107 or the like.

入力装置206は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ200に各操作信号を入力するために用いられる。表示装置207はディスプレイ等の表示デバイスであり、コンピュータ200による処理結果等を表示する。   The input device 206 is, for example, a pointing device such as a mouse or an input device such as a keyboard, and is used to input each operation signal to the computer 200. The display device 207 is a display device such as a display, and displays a processing result by the computer 200 and the like.

外部I/F208は、外部装置とのインタフェースである。外部装置には、記録媒体210等が含まれる。   The external I / F 208 is an interface with an external device. The external device includes a recording medium 210 and the like.

バス209は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。   A bus 209 is connected to each of the above-described components, and transmits an address signal, a data signal, various control signals, and the like.

(画像形成装置のハードウェア構成)
図3は、一実施形態に係る画像形成装置102のハードウェア構成例を示す図である。
(Hardware configuration of image forming apparatus)
FIG. 3 is a diagram illustrating a hardware configuration example of the image forming apparatus 102 according to the embodiment.

画像形成装置102は、コントローラ310、操作パネル320、通信I/F330、プロッタ340、スキャナ350、及びファクスコントロールユニット(以下、FCUと呼ぶ)360等を有する。   The image forming apparatus 102 includes a controller 310, an operation panel 320, a communication I / F 330, a plotter 340, a scanner 350, a fax control unit (hereinafter referred to as FCU) 360, and the like.

コントローラ310は、CPU311、RAM312、ROM313、NVRAM(Non-Volatile RAM)314、及びHDD315等を含む。   The controller 310 includes a CPU 311, a RAM 312, a ROM 313, an NVRAM (Non-Volatile RAM) 314, an HDD 315, and the like.

ROM313は、各種プログラムやデータを格納している不揮発性の記憶装置である。RAM312は、プログラムやデータを一時保持する揮発性の記憶装置である。NVRAM314は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。HDD315は、各種プログラムやデータを格納している大容量の記憶装置である。   The ROM 313 is a non-volatile storage device that stores various programs and data. The RAM 312 is a volatile storage device that temporarily stores programs and data. The NVRAM 314 is a writable nonvolatile storage device that stores setting information and the like, for example. The HDD 315 is a large-capacity storage device that stores various programs and data.

CPU311は、ROM313、NVRAM314、HDD315等からプログラムやデータ、設定情報等をRAM312上に読み出し、処理を実行することで、画像形成装置102の全体の制御や機能を実現する演算装置である。   The CPU 311 is an arithmetic unit that realizes overall control and functions of the image forming apparatus 102 by reading programs, data, setting information, and the like from the ROM 313, the NVRAM 314, the HDD 315, and the like onto the RAM 312 and executing processing.

操作パネル320は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信I/F330は、画像形成装置102をLAN130等のネットワークに接続するインタフェースである。これにより、画像形成装置102は、ジョブ処理装置101等と通信を行うことができる。   The operation panel 320 includes an input unit that receives input from a user and a display unit that performs display. The communication I / F 330 is an interface that connects the image forming apparatus 102 to a network such as the LAN 130. As a result, the image forming apparatus 102 can communicate with the job processing apparatus 101 and the like.

プロッタ340は、印刷データを印刷する印刷装置である。スキャナ350は、原稿等を読み取る読取装置である。FCU360は、ファクスデータの送受信を行う。   The plotter 340 is a printing device that prints print data. The scanner 350 is a reading device that reads a document or the like. The FCU 360 transmits and receives fax data.

<機能構成>
図4は、一実施形態に係るジョブ処理システムの機能構成図である。ジョブ処理システム100は、ネットワーク107を介して互いに通信可能に接続されるジョブ処理装置A101−1、ジョブ処理装置B101−2、及びジョブ処理装置C101−3を含む。
<Functional configuration>
FIG. 4 is a functional configuration diagram of the job processing system according to the embodiment. The job processing system 100 includes a job processing apparatus A 101-1, a job processing apparatus B 101-2, and a job processing apparatus C 101-3 that are communicably connected to each other via a network 107.

なお、図4において、ジョブ処理装置B101−2、及びジョブ処理装置C101−3は、ジョブ処理装置A101−1と同様の機能構成を有しているものとする。また、図4に示すジョブ処理装置101の数は一例であり、ジョブ処理システム100に含まれる複数のジョブ処理装置101の数は、2台以上の他の数であっても良い。   In FIG. 4, it is assumed that the job processing apparatus B 101-2 and the job processing apparatus C 101-3 have the same functional configuration as the job processing apparatus A 101-1. Further, the number of job processing apparatuses 101 illustrated in FIG. 4 is an example, and the number of the plurality of job processing apparatuses 101 included in the job processing system 100 may be another number of two or more.

ジョブ処理装置101は、通信部401、ジョブ受付部402、ジョブデータ管理部403、ジョブ情報管理部404、更新情報通知部405、ジョブ実行部406、実行ジョブ決定部407、及び処理コスト算出部408等を有する。また、ジョブ処理装置101は、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415を有する。   The job processing apparatus 101 includes a communication unit 401, a job reception unit 402, a job data management unit 403, a job information management unit 404, an update information notification unit 405, a job execution unit 406, an execution job determination unit 407, and a processing cost calculation unit 408. Etc. The job processing apparatus 101 also includes a job data storage unit 411, a job information storage unit 412, a workflow information storage unit 413, a cost information storage unit 414, and a communication speed information storage unit 415.

通信部401は、ネットワーク107を介して、他のジョブ処理装置101と通信する手段であり、例えば、図2のネットワークI/F205、及び図2のCPU201で実行されるプログラム等によって実現される。   The communication unit 401 is means for communicating with another job processing apparatus 101 via the network 107, and is realized by, for example, a program executed by the network I / F 205 in FIG. 2 and the CPU 201 in FIG.

ジョブ受付部402は、画像形成装置102、又は情報端末108等の端末装置から、処理対象となるデータに、指定された1つ以上の処理を実行するジョブを受付する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。ジョブ受付部402が受付するジョブには、例えば、画像形成装置102に入力された画像データ(ジョブのデータ)、及び実行するワークフローの情報(ジョブの情報)等が含まれる。   The job reception unit 402 is a unit that receives a job for executing one or more designated processes on data to be processed from a terminal device such as the image forming apparatus 102 or the information terminal 108. This is realized by a program executed by the second CPU 201. The job received by the job receiving unit 402 includes, for example, image data (job data) input to the image forming apparatus 102, information on a workflow to be executed (job information), and the like.

ジョブデータ管理部403は、ジョブ受付部402が受付したジョブのデータ(例えば、画像データ、文書データ等)を、ジョブデータ記憶部411に記憶して、管理する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。また、ジョブデータ管理部403は、他のジョブ処理装置101からのジョブのデータの取得要求に応じて、ジョブデータ記憶部411に記憶したジョブのデータを提供する処理も行う。   The job data management unit 403 is a means for storing and managing job data (for example, image data, document data, etc.) received by the job reception unit 402 in the job data storage unit 411. For example, FIG. This is realized by a program executed by the CPU 201. The job data management unit 403 also performs processing for providing job data stored in the job data storage unit 411 in response to a job data acquisition request from another job processing apparatus 101.

ジョブ情報管理部404は、ジョブ処理装置101が受け付けたジョブである第1のジョブの実行に関するジョブ情報と、他のジョブ処理装置101から送信され、他のジョブ処理装置が受け付けたジョブである第2のジョブの実行に関するジョブ情報とを、ジョブ情報記憶部412に記憶して、管理する。ジョブ情報管理部404は、例えば、図2のCPU201で実行されるプログラムによって実現される。   The job information management unit 404 transmits job information related to the execution of the first job, which is a job accepted by the job processing apparatus 101, and the job that is transmitted from the other job processing apparatus 101 and accepted by the other job processing apparatus 101. The job information related to the execution of the second job is stored in the job information storage unit 412 and managed. The job information management unit 404 is realized by, for example, a program executed by the CPU 201 in FIG.

なお、以下の説明の中で、ジョブ処理装置101が、自装置でジョブのデータを受け付けて管理するジョブを「第1のジョブ」と呼び、他のジョブ処理装置101が、ジョブのデータを受け付けて管理するジョブを「第2のジョブ」と呼ぶ。   In the following description, a job that the job processing apparatus 101 receives and manages job data on itself is referred to as a “first job”, and other job processing apparatuses 101 receive job data. The job managed in this way is called a “second job”.

ジョブ情報管理部404が、ジョブ情報記憶部412に記憶して、管理するジョブキューの一例のイメージを図5(a)に示す。   An example of a job queue stored and managed by the job information management unit 404 in the job information storage unit 412 is shown in FIG.

図5(a)の例では、ジョブキュー501には、「ジョブID」、「ジョブの要求元」、「ジョブデータのサイズ」、「実行するワークフロー」、「ジョブを処理するジョブ処理装置」、「ジョブの状態」、「ジョブの開始日時」等の情報が含まれる。   In the example of FIG. 5A, the job queue 501 includes “job ID”, “job request source”, “job data size”, “executed workflow”, “job processing apparatus that processes a job”, Information such as “job status” and “job start date and time” is included.

「ジョブID」の情報は、ジョブを識別するための識別情報であり、例えば、ジョブを受付したジョブ処理装置101のジョブ情報管理部404がユニークな値を付与する。図5(a)の例では、ジョブIDの先頭の文字は、ジョブを受付したジョブ処理装置101に対応している。例えば、「A」は、ジョブ処理装置A101−1が受付したジョブであり、「C」は、ジョブ処理装置C101−3が受付したジョブである。   The “job ID” information is identification information for identifying a job. For example, the job information management unit 404 of the job processing apparatus 101 that has received the job assigns a unique value. In the example of FIG. 5A, the first character of the job ID corresponds to the job processing apparatus 101 that received the job. For example, “A” is a job accepted by the job processing apparatus A 101-1, and “C” is a job accepted by the job processing apparatus C 101-3.

ジョブIDは、例えば、ジョブデータ管理部403が管理するジョブデータと、ジョブ情報管理部404が管理するジョブ情報とを対応付けるキーとして用いられる。この場合、ジョブ情報管理部404は、ジョブIDを用いて、ジョブデータ管理部403が管理するジョブデータの中から、ジョブ情報に対応するジョブデータを特定し、取得することができる。   The job ID is used as a key for associating job data managed by the job data management unit 403 with job information managed by the job information management unit 404, for example. In this case, the job information management unit 404 can specify and acquire job data corresponding to the job information from the job data managed by the job data management unit 403 using the job ID.

或いは、第1のジョブを受け付けて管理するジョブ処理装置101のジョブ情報管理部404は、第1のジョブのジョブIDと、当該第1のジョブのジョブデータの保存先とを対応付けて管理しておくものであっても良い。   Alternatively, the job information management unit 404 of the job processing apparatus 101 that receives and manages the first job manages the job ID of the first job and the storage destination of the job data of the first job in association with each other. You may keep it.

「ジョブの要求元」の情報は、ジョブの要求元の装置(例えば、画像形成装置102、情報端末108等)の名前や、識別情報等、ジョブを要求した装置を特定するための情報である。   The “job request source” information is information for identifying the device that requested the job, such as the name of the job request source device (for example, the image forming apparatus 102, the information terminal 108, etc.), identification information, and the like. .

「ジョブを管理するジョブ処理装置」の情報は、ジョブを受付し、ジョブのデータをジョブデータ記憶部411に記憶して、管理しているジョブ処理装置101を特定するための情報(名前、識別情報等)である。この情報により、ジョブ処理装置101は、各ジョブが、自装置でジョブのデータを管理する第1のジョブであるか、他のジョブ処理装置101がジョブのデータを管理する第2のジョブであるかを判断することができる。   The information “job processing apparatus that manages a job” is information (name, identification) for receiving a job, storing job data in the job data storage unit 411, and specifying the job processing apparatus 101 that is managing the job. Information). Based on this information, the job processing apparatus 101 is a first job in which each job manages job data by itself, or another job processing apparatus 101 is a second job in which job data is managed. Can be determined.

「ジョブデータのサイズ」の情報は、ジョブのデータ(例えば、画像データ)の大きさを示す情報である。   The “job data size” information is information indicating the size of job data (for example, image data).

「実行するワークフロー」の情報は、実行するワークフローを特定するための情報(例えば、ワークフローの名前、識別情報等)である。   The “executed workflow” information is information (for example, workflow name, identification information, etc.) for specifying the workflow to be executed.

「ジョブを処理するジョブ処理装置」の情報は、ジョブキュー501に記憶されているジョブを処理するジョブ処理装置101が決定されたときに、決定されたジョブ処理装置101を特定するための情報(名前、識別情報等)が記憶される。   The information of “job processing apparatus that processes a job” is information for specifying the determined job processing apparatus 101 when the job processing apparatus 101 that processes a job stored in the job queue 501 is determined ( Name, identification information, etc.) are stored.

「ジョブの状態」は、ジョブの状態を示す情報であり、例えば、まだジョブを処理するジョブ処理装置が決まっていない「処理待ち」の状態や、既にジョブを処理するジョブ処理装置101が決定した「処理中」の状態等の情報が記憶される。   “Job status” is information indicating the status of the job. For example, a “processing waiting” status in which a job processing device that processes a job has not yet been determined, or a job processing device 101 that has already processed a job has been determined. Information such as “processing in progress” is stored.

「ジョブの開始日時」の情報は、例えば、「ジョブの状態」が、「処理待ち」から「処理中」に更新された日時等の情報である。   The “job start date / time” information is, for example, information such as the date / time when the “job status” is updated from “waiting for processing” to “processing”.

例えば、図5(a)に示すジョブキュー501において、ジョブID「A3」のジョブを処理するジョブ処理装置101が、ジョブ処理装置C101−3に決定されると、ジョブキュー501は、例えば、図5(b)に示すように更新される。   For example, in the job queue 501 shown in FIG. 5A, when the job processing apparatus 101 that processes the job with the job ID “A3” is determined to be the job processing apparatus C101-3, the job queue 501 Updated as shown in 5 (b).

図5(b)の例では、「ジョブを処理するジョブ処理装置」にジョブを処理するジョブ処理装置C101−3の情報が記憶されて、「ジョブの状態」が処理中となり、「ジョブの開始日時」が記録されている。   In the example of FIG. 5B, the information of the job processing device C101-3 that processes the job is stored in the “job processing device that processes the job”, the “job state” is being processed, and “job start” "Date and time" is recorded.

ジョブ情報管理部404は、ジョブ処理装置101がジョブのデータを管理する第1のジョブの情報、及び他のジョブ処理装置101から通知される第2のジョブの情報を、例えば、図5(a)、(b)に示すようなジョブキュー501に記憶して、管理する。   The job information management unit 404 displays the first job information managed by the job processing apparatus 101 and the second job information notified from the other job processing apparatus 101, for example, as shown in FIG. ) And stored in a job queue 501 as shown in FIG.

なお、ジョブキュー501は、待ち行列となっており、新たに受付されたジョブは、例えば、ジョブキュー501の下側に順次に追加される。また、ジョブキュー501では、基本的に、先にジョブキュー501に記憶されたジョブ、すなわち、ジョブキュー501の上側に記憶されたジョブから順に実行される。ジョブの実行が完了したジョブは、ジョブキュー501から削除される。   The job queue 501 is a queue, and newly received jobs are sequentially added to the lower side of the job queue 501, for example. Further, in the job queue 501, basically, the job stored in the job queue 501 first, that is, the job stored in the upper side of the job queue 501 is executed in order. Jobs that have been executed are deleted from the job queue 501.

また、ジョブデータ管理部403は、他のジョブ処理装置101から、ジョブキュー501に記憶した第2のジョブの情報が変更されたことを示す変更情報を受付すると、ジョブキュー501に記憶した第2のジョブの情報を更新する。   When the job data management unit 403 receives change information indicating that the information of the second job stored in the job queue 501 has been changed from another job processing apparatus 101, the job data management unit 403 stores the second data stored in the job queue 501. Update the job information.

さらに、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理待ちである場合、実行を許可する許可情報を要求元に返信する。   Furthermore, when the job processing apparatus 101 receives an execution request for requesting execution of the first job for managing job data, the job data management unit 403 displays the “job status” of the received first job. When waiting for processing, permission information permitting execution is returned to the request source.

さらにまた、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理中である場合、実行を拒否する拒否情報を要求元に返信する。   Furthermore, when the job processing apparatus 101 receives an execution request for requesting execution of the first job for managing job data, the job data management unit 403 receives the “job status” of the received first job. Is being processed, a rejection information for rejecting the execution is returned to the request source.

図4に戻り、ジョブ処理装置101の機能構成の説明を続ける。   Returning to FIG. 4, the description of the functional configuration of the job processing apparatus 101 will be continued.

更新情報通知部405は、ジョブ情報管理部404が管理する第1のジョブの情報が変更された場合、変更された第1のジョブの情報を、他のジョブ処理装置101に通知する。更新情報通知部405は、例えば、図2のCPU201で実行されるプログラムによって実現される。   When the information on the first job managed by the job information management unit 404 is changed, the update information notification unit 405 notifies the other job processing apparatus 101 of the changed information on the first job. The update information notification unit 405 is realized by, for example, a program executed by the CPU 201 in FIG.

例えば、更新情報通知部405は、ジョブ情報管理部404が管理するジョブキュー501に第1のジョブの情報が追加された場合、追加された第1のジョブの情報を含む第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。また、更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が変更された場合、変更された第1のジョブの情報を含む第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。さらに、また、更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が削除された場合、第1のジョブの情報が削除されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。   For example, when the information on the first job is added to the job queue 501 managed by the job information management unit 404, the update information notification unit 405 updates the first job including the information on the added first job. Information is notified to each of the other job processing apparatuses 101. In addition, when the information on the first job stored in the job queue 501 is changed, the update information notification unit 405 transmits the update information on the first job including the changed information on the first job to the other information. Notify each job processing apparatus 101. Further, the update information notification unit 405, when the information of the first job stored in the job queue 501 is deleted, the update information of the first job indicating that the information of the first job is deleted. Is notified to each of the other job processing apparatuses 101.

ジョブ実行部406は、処理対象となるデータに、ワークフローで指定された1つ以上の処理を含むジョブを実行する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。   The job execution unit 406 is means for executing a job including one or more processes designated by the workflow in the data to be processed, and is realized, for example, by a program executed by the CPU 201 in FIG.

ジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理が開始されていない処理待ち状態の第1のジョブのジョブ情報が記憶されている場合、処理待ち状態の第1のジョブを、順次に実行する。   If the job queue 501 stored in the job information storage unit 412 stores the job information of the first job waiting to be processed, the job execution unit 406 stores the first job waiting state. The jobs are executed sequentially.

また、ジョブ実行部406は、ジョブキュー501に、処理待ち状態の第1のジョブのジョブ情報が記憶されていない場合、ジョブキュー501に記憶されている、処理待ち状態の第2のジョブのジョブ情報に基づいて、第2のジョブのデータを取得し、実行する。   If the job queue 501 does not store job information of the first job waiting for processing in the job queue 501, the job execution unit 406 stores the job of the second job waiting for processing stored in the job queue 501. Based on the information, the data of the second job is acquired and executed.

例えば、ジョブ実行部406は、ジョブキュー501に記憶されている第2のジョブの情報に基づいて、第2のジョブのデータを管理している他のジョブ処理装置101に、第2のジョブの実行を要求する実行要求を送信する。   For example, based on the information on the second job stored in the job queue 501, the job execution unit 406 transmits the second job to another job processing apparatus 101 that manages the data of the second job. Send an execution request to request execution.

また、ジョブ実行部406は、実行要求を送信した他のジョブ処理装置から、第2のジョブの実行を許可する許可情報を受信した場合、他のジョブ処理装置から、第2のジョブのデータを取得し、実行する。さらに、ジョブ実行部406は、第2のジョブの実行が完了すると、第2のジョブの実行が完了したことを示す完了通知を、第2のジョブのデータを取得した他のジョブ処理装置101に通知する。   In addition, when the job execution unit 406 receives permission information permitting execution of the second job from another job processing apparatus that has transmitted the execution request, the job execution unit 406 receives data of the second job from the other job processing apparatus. Get and execute. Further, when the execution of the second job is completed, the job execution unit 406 sends a completion notification indicating that the execution of the second job is completed to the other job processing apparatus 101 that has acquired the data of the second job. Notice.

なお、ジョブ実行部406は、例えば、図5(a)、(b)に示すジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報記憶部413に記憶されたワークフロー情報とに基づいて、各ジョブの処理内容を特定することができる。ワークフロー情報記憶部413に記憶されたワークフロー情報の一例のイメージを図5(c)に示す。   Note that the job execution unit 406, for example, based on the “execution workflow” information in the job queue 501 shown in FIGS. 5A and 5B and the workflow information stored in the workflow information storage unit 413. The processing contents of each job can be specified. An example of workflow information stored in the workflow information storage unit 413 is shown in FIG.

図5(c)の例では、ワークフロー情報502には、「ワークフロー」の情報と、「ワークフローの内容」の情報とが含まれる。「ワークフロー」の情報は、ワークフローを特定するための情報(名前、識別情報等)である。「ワークフローの内容」の情報は、各ワークフローで実行される1つ以上の処理の実行順序が記憶されている。   In the example of FIG. 5C, the workflow information 502 includes “workflow” information and “workflow content” information. The “workflow” information is information (name, identification information, etc.) for specifying the workflow. The “workflow content” information stores the execution order of one or more processes executed in each workflow.

例えば、ジョブ実行部406は、図5(a)に示すジョブキュー501において、ジョブID「A3」のジョブを実行する場合、実行するワークフロー「3」の内容を、ワークフロー情報502から取得する。また、ジョブ実行部406は、取得したワークフロー「3」の内容に基づいて、ジョブのデータに、画像変換プラグイン、OCR(Optical Character Recognition)プラグイン、及びメール送信プラグイン(処理の別の一例)を実行する。なお、以下の説明の中で、ワークフローを構成する各処理をプラグインと呼ぶ場合がある。   For example, when executing the job with the job ID “A3” in the job queue 501 illustrated in FIG. 5A, the job execution unit 406 acquires the content of the workflow “3” to be executed from the workflow information 502. Further, the job execution unit 406 adds, to the job data, an image conversion plug-in, an OCR (Optical Character Recognition) plug-in, and a mail transmission plug-in (another example of processing) based on the acquired workflow “3”. ). In the following description, each process constituting the workflow may be referred to as a plug-in.

実行ジョブ決定部407は、ジョブキュー501に複数の第2のジョブの情報が記憶されている場合、複数の第2のジョブの中から、ジョブ実行部406が実行するジョブを決定する。実行ジョブ決定部407は、例えば、図2のCPU201で実行されるプログラムによって実現される。   The execution job determination unit 407 determines a job to be executed by the job execution unit 406 from the plurality of second jobs when the job queue 501 stores information on the plurality of second jobs. The execution job determination unit 407 is realized by, for example, a program executed by the CPU 201 in FIG.

一例として、実行ジョブ決定部407は、ジョブキュー501に記憶された複数の第2のジョブのうち、他のジョブよりも先にジョブキュー501に記憶された一のジョブを、ジョブ実行部406が実行するジョブを決定する。   As an example, the job execution unit 407 causes the job execution unit 406 to select one job stored in the job queue 501 before other jobs among the plurality of second jobs stored in the job queue 501. Determine the job to be executed.

別の一例として、実行ジョブ決定部407は、処理コスト算出部408が算出した、複数の第2のジョブの処理コストに基づいて、ジョブ実行部406が実行するジョブを決定するものであっても良い。なお、この場合の具体的な決定方法については、第2の実施形態で後述する。   As another example, the execution job determination unit 407 may determine a job to be executed by the job execution unit 406 based on the processing costs of a plurality of second jobs calculated by the processing cost calculation unit 408. good. Note that a specific determination method in this case will be described later in the second embodiment.

処理コスト算出部408は、コスト情報記憶部414に記憶されたプラグインのコスト情報や、通信速度情報記憶部415に記憶された他のジョブ処理装置101との間の通信速度情報等に基づいて、第2のジョブの処理コストを算出する。なお、処理コストの具体的な算出方法については、第2の実施形態で後述する。   The processing cost calculation unit 408 is based on plug-in cost information stored in the cost information storage unit 414, communication speed information with another job processing apparatus 101 stored in the communication speed information storage unit 415, and the like. The processing cost of the second job is calculated. A specific method for calculating the processing cost will be described later in the second embodiment.

図6(a)は、コスト情報記憶部414に予め記憶されたプラグインのコスト情報のイメージを示している。図6(a)に示すように、プラグインのコスト情報601には、各プラグイン(処理)が、どのくらいの処理コストを要するのか、その重みを予め登録し、記憶した情報である。   FIG. 6A shows an image of plug-in cost information stored in advance in the cost information storage unit 414. As shown in FIG. 6A, the plug-in cost information 601 is information in which each plug-in (processing) requires a processing cost and its weight is registered and stored in advance.

例えば、画像変換プラグインは、画像変換の処理に、他の処理よりも処理時間を要するため、他のプラグインよりも処理コストが高い「100」が設定されている。一方、メール送信プラグインは、メールの送信処理は、他の処理よりも短い時間で完了するため、他のプラグインよりも処理コストが低い「10」が設定されている。   For example, the image conversion plug-in requires more processing time than the other processes for the image conversion process, so “100”, which has a higher processing cost than the other plug-ins, is set. On the other hand, since the mail transmission plug-in completes the mail transmission process in a shorter time than the other processes, “10” is set, which has a lower processing cost than the other plug-ins.

図6(b)は、通信速度情報記憶部415に予め記憶されたジョブ処理装置101間の通信速度情報602のイメージを示している。図6(b)に示すように、ジョブ処理装置101間の通信速度情報602には、各ジョブ処理装置101間の通信速度を、予め登録し、記憶した情報である。   FIG. 6B shows an image of the communication speed information 602 between the job processing apparatuses 101 stored in advance in the communication speed information storage unit 415. As shown in FIG. 6B, the communication speed information 602 between the job processing apparatuses 101 is information in which the communication speed between the job processing apparatuses 101 is registered and stored in advance.

なお、ジョブ処理装置101間の通信速度情報602は、例えば、通信部401で計測した実際の通信速度を利用するものであっても良い。   Note that the communication speed information 602 between the job processing apparatuses 101 may use an actual communication speed measured by the communication unit 401, for example.

なお、プラグインのコスト情報601、及びジョブ処理装置101間の通信速度情報602の利用方法については、第2の実施形態で後述する。   Note that a method for using the plug-in cost information 601 and the communication speed information 602 between the job processing apparatuses 101 will be described later in the second embodiment.

なお、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415は、例えば、図2のストレージ装置204、RAM202等によって実現される記憶手段である。   Note that the job data storage unit 411, the job information storage unit 412, the workflow information storage unit 413, the cost information storage unit 414, and the communication speed information storage unit 415 are realized by, for example, the storage device 204 and the RAM 202 in FIG. It is a storage means.

[第1の実施形態]
<処理の流れ>
続いて、第1の実施形態に係るジョブ処理方法の処理の流れについて説明する。
[First Embodiment]
<Process flow>
Subsequently, a processing flow of the job processing method according to the first embodiment will be described.

(ジョブの実行処理)
図7は、第1の実施形態に係るジョブの実行処理の例を示すフローチャートである。この処理は、各ジョブ処理装置101におけるジョブの実行処理の例を示している。
(Job execution processing)
FIG. 7 is a flowchart illustrating an example of job execution processing according to the first embodiment. This processing shows an example of job execution processing in each job processing apparatus 101.

ステップS701において、ジョブ処理装置101のジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理待ちの第1のジョブ(第1のジョブの情報)があるか否かを判断する。   In step S701, the job execution unit 406 of the job processing apparatus 101 determines whether or not the job queue 501 stored in the job information storage unit 412 includes a first job waiting to be processed (first job information). to decide.

ジョブキュー501に処理待ちの第1のジョブがない場合、ジョブ実行部406は、処理をステップS708に移行させる。一方、ジョブキュー501に処理待ちの第1のジョブがある場合、ジョブ実行部406は、処理をステップS702に移行させる。   If there is no first job waiting to be processed in the job queue 501, the job execution unit 406 shifts the processing to step S708. On the other hand, when there is a first job waiting for processing in the job queue 501, the job execution unit 406 shifts the processing to step S702.

ここでは、ジョブキュー501に記憶されている第1のジョブが1つであるものとして以下の説明を行う。ジョブキュー501に複数の第1のジョブが記憶されている場合は、他の第1のジョブより先にジョブキュー501に記憶された1つの第1のジョブに対して、以下の処理を実行すれば良い。   Here, the following description will be given assuming that there is one first job stored in the job queue 501. When a plurality of first jobs are stored in the job queue 501, the following processing is executed for one first job stored in the job queue 501 prior to the other first jobs. It ’s fine.

ステップS702に移行すると、ジョブ情報管理部404は、ジョブキュー501において、処理待ちとなっている第1のジョブの「ジョブの状態」を、「処理待ち」から「処理中」に変更(更新)する。   In step S702, the job information management unit 404 changes (updates) the “job state” of the first job waiting for processing from “waiting for processing” to “processing” in the job queue 501. To do.

ステップS703において、ジョブ処理装置101の更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が更新されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。   In step S703, the update information notification unit 405 of the job processing apparatus 101 transmits the first job update information indicating that the information of the first job stored in the job queue 501 has been updated to another job processing apparatus. 101 is notified.

このとき、他のジョブ処理装置101のジョブ情報管理部404は、通知されたジョブの更新情報を用いて、自装置のジョブキュー501の情報を更新する。   At this time, the job information management unit 404 of the other job processing apparatus 101 updates the information of the job queue 501 of the own apparatus using the notified update information of the job.

ステップS704において、ジョブ実行部406は、第1のジョブを実行する。例えば、ジョブ実行部406は、図5に示すようなジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報502の「ワークフローの内容」に従って、ジョブデータ記憶部411に記憶された第1のジョブのデータを処理する。   In step S704, the job execution unit 406 executes the first job. For example, the job execution unit 406 stores the first job data stored in the job data storage unit 411 according to the “execution workflow” information in the job queue 501 and the “workflow content” in the workflow information 502 as illustrated in FIG. Process job data.

ステップS705において、ジョブ情報管理部404は、ジョブ実行部406により実行された第1のジョブの情報をジョブキュー501から削除し、ジョブデータ管理部403は、第1のジョブのデータをジョブデータ記憶部411から削除する。   In step S705, the job information management unit 404 deletes the information of the first job executed by the job execution unit 406 from the job queue 501, and the job data management unit 403 stores the data of the first job in the job data storage. It is deleted from the part 411.

ステップS706において、更新情報通知部405は、ジョブキュー501から第1のジョブが削除されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。   In step S <b> 706, the update information notification unit 405 notifies the update information of the first job indicating that the first job has been deleted from the job queue 501 to each of the other job processing apparatuses 101.

ステップS707において、ジョブ受付部402(又はジョブ実行部406)は、第1のジョブの要求元(例えば、画像形成装置102)に、第1のジョブが完了したことを通知する。   In step S707, the job reception unit 402 (or job execution unit 406) notifies the request source of the first job (for example, the image forming apparatus 102) that the first job has been completed.

一方、ステップS708に移行すると、ジョブ実行部406は、ジョブキュー501に処理待ちの第2のジョブ(第2のジョブの情報)があるか否かを判断する。   On the other hand, in step S708, the job execution unit 406 determines whether the job queue 501 includes a second job waiting for processing (second job information).

ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS709に移行させる。   If there is no second job waiting for processing in the job queue 501, the job execution unit 406 ends the processing. On the other hand, when there is a second job waiting for processing in the job queue 501, the job execution unit 406 shifts the processing to step S709.

ステップS709に移行すると、ジョブ実行部406は、ジョブキュー501に記憶された第2のジョブのデータを管理している他のジョブ処理装置に、第2のジョブの実行を要求する実行要求(要求情報)を送信する。   In step S709, the job execution unit 406 requests another job processing apparatus that manages the data of the second job stored in the job queue 501 to execute the second job. Information).

なお、ここでは、ジョブキュー501に記憶されている第2のジョブが1つであるものとして以下の説明を行う。第1の実施形態では、ジョブキュー501に複数の第2のジョブが記憶されている場合、例えば、他の第2のジョブより先にジョブキュー501に記憶された1つの第2のジョブに対して、以下の処理を実行する。   Here, the following description will be given on the assumption that there is one second job stored in the job queue 501. In the first embodiment, when a plurality of second jobs are stored in the job queue 501, for example, for one second job stored in the job queue 501 prior to other second jobs. The following processing is executed.

ステップS710において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から、例えば、所定の時間内に第2のジョブの実行を許可する許可情報を受信したかを判断する。   In step S710, the job execution unit 406 determines, for example, whether permission information permitting execution of the second job has been received within a predetermined time from another job processing apparatus 101 that manages the data of the second job. to decide.

所定の時間内に第2のジョブの実行を許可する許可情報を受信しない場合、例えば、第2のジョブ実行を拒否する拒否情報を受信した場合、或いは許可情報も拒否情報も受信できなかった場合、ジョブ実行部406は処理を終了させる。   When permission information for permitting execution of the second job is not received within a predetermined time, for example, when reject information for rejecting execution of the second job is received, or when neither permission information nor reject information is received The job execution unit 406 ends the process.

一方、所定の時間内に第2のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部406は、処理をステップS711に移行させる。   On the other hand, when the permission information permitting the execution of the second job is received within a predetermined time, the job execution unit 406 shifts the processing to step S711.

ステップS711において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から通知される第2のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部404は、第2のジョブの更新情報が受信された後、受信された第2のジョブの更新情報に従って、ジョブキュー501に記憶した第2のジョブの情報を更新する。   In step S <b> 711, the job execution unit 406 waits for reception of update information of the second job notified from another job processing apparatus 101 that manages the data of the second job. Further, after receiving the update information of the second job, the job information management unit 404 updates the information of the second job stored in the job queue 501 according to the received update information of the second job.

ステップS712において、ジョブ実行部406は、第2のジョブのデータを管理している他のジョブ処理装置101から、第2のジョブのデータを取得する。   In step S <b> 712, the job execution unit 406 acquires the second job data from the other job processing apparatus 101 that manages the second job data.

ステップS713において、ジョブ実行部406は、第2のジョブを実行する。例えば、ジョブ実行部406は、図5に示すようなジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報502の「ワークフローの内容」に従って、ステップS712で取得した第2のジョブのデータを処理する。   In step S713, the job execution unit 406 executes the second job. For example, the job execution unit 406 receives the data of the second job acquired in step S712 according to the “execution workflow” information in the job queue 501 and the “workflow content” in the workflow information 502 as shown in FIG. To process.

ステップS714において、ジョブ実行部406は、第2のジョブが完了したことを示す完了情報を、第2のジョブを管理している他のジョブ処理装置101に通知する。   In step S714, the job execution unit 406 notifies completion information indicating that the second job is completed to the other job processing apparatus 101 that manages the second job.

ステップS715において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から通知される第2のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部404は、第2のジョブの更新情報が受信された後、受信された第2のジョブの更新情報に従って、ジョブキュー501に記憶した第2のジョブの情報、及びステップS712で取得した第2のジョブのデータを削除する。   In step S715, the job execution unit 406 waits for reception of update information of the second job notified from the other job processing apparatus 101 that manages the data of the second job. In addition, the job information management unit 404 receives the second job update information and then stores the second job information stored in the job queue 501 according to the received second job update information, and step S712. Delete the data of the second job acquired in step (1).

上記の処理に示すように、ジョブ処理装置101のジョブ実行部406は、ジョブキュー501に、ジョブ処理装置101でジョブのデータを管理する第1のジョブの情報が記憶されている場合、第1のジョブを実行する。また、ジョブ実行部406は、ジョブキュー501に第1のジョブのデータが記憶されていない場合、ジョブキュー501に記憶されている第2のジョブの情報に基づいて、第2のジョブを実行する。   As shown in the above processing, when the job execution unit 406 of the job processing apparatus 101 stores information on the first job for managing job data in the job processing apparatus 101 in the job queue 501, the first is executed. Execute the job. In addition, when the data of the first job is not stored in the job queue 501, the job execution unit 406 executes the second job based on the information of the second job stored in the job queue 501. .

また、ジョブ処理装置101の更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が更新(追加、変更、削除等)された場合、第1のジョブが更新されたことを示す更新情報を、他のジョブ処理装置に通知する。   Further, the update information notification unit 405 of the job processing apparatus 101 indicates that the first job has been updated when the information of the first job stored in the job queue 501 is updated (added, changed, deleted, etc.). Is sent to other job processing apparatuses.

(ジョブデータの提供処理)
図8は、第1の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。この処理は、ジョブ処理装置101が、ジョブのデータを管理している第1のジョブのデータを、他のジョブ処理装置101からの実行要求に応じて提供する処理の例を示している。
(Job data provision processing)
FIG. 8 is a flowchart illustrating an example of job data providing processing according to the first embodiment. This processing is an example of processing in which the job processing apparatus 101 provides the first job data managing the job data in response to an execution request from another job processing apparatus 101.

ステップS801において、ジョブ処理装置101は、他のジョブ処理装置101から、ジョブ処理装置101がジョブのデータを管理する第1のジョブの実行を要求する実行要求を受信すると、ステップS802以降の処理を実行する。   In step S <b> 801, when the job processing apparatus 101 receives an execution request from another job processing apparatus 101 that requests execution of the first job for which the job processing apparatus 101 manages job data, the processing from step S <b> 802 is performed. Run.

ステップS802において、ジョブ処理装置101のジョブ情報管理部404は、第1のジョブの実行を要求する実行要求を受付すると、ジョブキュー501に記憶された第1のジョブの「ジョブの状態」の情報が、処理待ちであるかを判断する。   In step S <b> 802, when the job information management unit 404 of the job processing apparatus 101 receives an execution request for requesting execution of the first job, the “job status” information of the first job stored in the job queue 501. Determines whether it is waiting for processing.

第1のジョブの「ジョブの状態」の情報が、処理待ちでない場合(例えば、処理中である場合)、ジョブ情報管理部404は、処理をステップS810に移行させる。ステップS810に移行すると、ジョブ情報管理部404は、第1のジョブの実行を拒否する拒否情報を、実行要求を送信した要求元の他のジョブ処理装置101に通知する。   If the “job state” information of the first job is not waiting for processing (for example, when processing is in progress), the job information management unit 404 shifts the processing to step S810. In step S810, the job information management unit 404 notifies rejection information for rejecting the execution of the first job to the other job processing apparatus 101 that has transmitted the execution request.

一方、第1のジョブの「ジョブの状態」の情報が、処理待ちである場合、ジョブ情報管理部404は、処理をステップS803に移行させる。   On the other hand, when the “job status” information of the first job is waiting for processing, the job information management unit 404 shifts the processing to step S803.

ステップS803に移行すると、ジョブ情報管理部404は、第1のジョブの実行を許可する許可情報を、実行要求の要求元の他のジョブ処理装置101に通知する。   In step S803, the job information management unit 404 notifies permission information for permitting execution of the first job to the other job processing apparatus 101 that requested the execution request.

ステップS804において、ジョブ情報管理部404は、ジョブキュー501に記憶されている第1のジョブの「ジョブの状態」の情報を、例えば、処理中に変更する。   In step S804, the job information management unit 404 changes the “job state” information of the first job stored in the job queue 501 during processing, for example.

また、ジョブ情報管理部404は、ジョブキュー501に記憶されている第1のジョブの「ジョブを処理するジョブ処理装置」の情報に、要求元の他のジョブ処理装置101の情報を記憶し、「ジョブの開始日時」の情報を記憶する。   Further, the job information management unit 404 stores the information of the other job processing apparatus 101 of the request source in the information of “job processing apparatus that processes the job” of the first job stored in the job queue 501. Information of “job start date and time” is stored.

ステップS805において、更新情報通知部405は、第1のジョブの情報が更新されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。この更新情報には、更新された第1のジョブの情報が含まれる。   In step S805, the update information notification unit 405 notifies each of the other job processing apparatuses 101 of the update information of the first job indicating that the information of the first job has been updated. This update information includes the updated first job information.

ステップS806において、ジョブデータ管理部403は、第1のジョブのデータを、前述したジョブID、又はジョブIDに対応するジョブデータの保存先に基づいて取得し、要求元の他のジョブ処理装置101に送信する。   In step S806, the job data management unit 403 acquires the data of the first job based on the above-described job ID or the storage destination of the job data corresponding to the job ID, and the other job processing apparatus 101 of the request source. Send to.

ステップS807において、ジョブ情報管理部404は、要求元の他のジョブ処理装置101から送信される第1のジョブの完了通知が受信されるのを待つ。また、第1のジョブの完了通知を受信した後、ジョブ情報管理部404は、第1のジョブの情報をジョブキュー501から削除し、ジョブデータ管理部403は、ジョブデータ記憶部411に記憶された第1のジョブのデータを削除する。   In step S <b> 807, the job information management unit 404 waits for reception of a first job completion notification transmitted from the other job processing apparatus 101 of the request source. Also, after receiving the completion notification of the first job, the job information management unit 404 deletes the first job information from the job queue 501, and the job data management unit 403 is stored in the job data storage unit 411. Delete the first job data.

ステップS808において、更新情報通知部405は、第1のジョブの情報がジョブキュー501から削除されたことを示す更新情報を、他のジョブ処理装置101の各々に通知する。   In step S808, the update information notification unit 405 notifies each of the other job processing apparatuses 101 of update information indicating that the information of the first job has been deleted from the job queue 501.

ステップS809において、ジョブ受付部402は、第1のジョブの要求元(例えば、画像形成装置102)に、第1の情報が完了したことを通知する。   In step S809, the job reception unit 402 notifies the request source (for example, the image forming apparatus 102) of the first job that the first information has been completed.

上記の処理に示すように、ジョブ処理装置101は、他のジョブ処理装置101から、第1のジョブの実行を要求する実行要求を受信したときに、要求された第1のジョブの状態が処理待ちの状態である場合、ジョブの実行を許可し、ジョブのデータを提供する。   As shown in the above processing, when the job processing apparatus 101 receives an execution request for requesting execution of the first job from another job processing apparatus 101, the status of the requested first job is processed. If the job is in the waiting state, the job execution is permitted and the job data is provided.

(ジョブ処理システムの処理)
続いて、ジョブ処理システム100の処理の例について、シーケンス図を用いて説明する。
(Job processing system processing)
Next, an example of processing of the job processing system 100 will be described using a sequence diagram.

図9、10は、第1の実施形態に係るジョブ処理システムの例を示すシーケンス図である。また、図11は、第1の実施形態に係る各ジョブ処理装置のジョブキューのイメージを示す図である。   9 and 10 are sequence diagrams illustrating an example of the job processing system according to the first embodiment. FIG. 11 is a diagram illustrating an image of a job queue of each job processing apparatus according to the first embodiment.

図9に示す処理の開始時点における各ジョブ処理装置101のジョブキューのイメージを図11(a)に示す。   FIG. 11A shows an image of the job queue of each job processing apparatus 101 at the start of the processing shown in FIG.

図11において、ジョブ処理装置A101−1のジョブキュー1101、ジョブ処理装置B101−2のジョブキュー1102、ジョブ処理装置C101−3のジョブキュー1103は、図5のジョブキュー501から、説明に必要な情報を抜粋したものである。   In FIG. 11, the job queue 1101 of the job processing apparatus A 101-1, the job queue 1102 of the job processing apparatus B 101-2, and the job queue 1103 of the job processing apparatus C 101-3 are necessary for explanation from the job queue 501 of FIG. An excerpt of information.

なお、図11において、表中の「−」は、情報が格納されていないことを示すものとする。また、図11の「管理する装置」は、図5のジョブキュー501の「ジョブを管理するジョブ処理装置」に対応しており、図11の「処理する装置」は、図5のジョブキュー501の「ジョブを処理するジョブ処理装置」に対応しているものとする。   In FIG. 11, “-” in the table indicates that no information is stored. 11 corresponds to the “job processing apparatus for managing jobs” in the job queue 501 in FIG. 5. The “processing apparatus” in FIG. 11 corresponds to the job queue 501 in FIG. It is assumed that the “job processing apparatus that processes a job” in FIG.

図11(a)に示すように、図9に示す処理の開始時点において、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブの情報が記憶されていないものとする。   As shown in FIG. 11A, it is assumed that job information is not stored in the job queues 1101, 1102, and 1103 of each job processing apparatus 101 at the start of the processing shown in FIG.

図9のステップS901において、例えば、画像形成装置A102−1から、ジョブ処理装置A101−1に対して、ジョブの実行要求が送信される。   In step S901 of FIG. 9, for example, a job execution request is transmitted from the image forming apparatus A 102-1 to the job processing apparatus A 101-1.

ステップS902において、ジョブ処理装置A101−1は、画像形成装置A102−1から受付けたジョブを、例えば、ジョブID「A1」として管理する。このとき、ジョブ処理装置A101−1は、他のジョブを実行していないので、受付したジョブID「A1」のジョブを、ジョブキュー1101に記憶せずに、すぐに実行する。   In step S902, the job processing apparatus A 101-1 manages the job received from the image forming apparatus A 102-1 as, for example, the job ID “A1”. At this time, since the job processing apparatus A 101-1 does not execute another job, the received job with the job ID “A 1” is immediately executed without being stored in the job queue 1101.

同様に、ステップS903において、例えば、画像形成装置C102−3から、ジョブ処理装置B101−2に対して、ジョブの実行要求が送信される。   Similarly, in step S903, for example, a job execution request is transmitted from the image forming apparatus C102-3 to the job processing apparatus B101-2.

ステップS904において、ジョブ処理装置B101−2は、画像形成装置A102−3から受付けたジョブを、例えば、ジョブID「C1」として管理する。このとき、ジョブ処理装置B101−2は、他のジョブを実行していないので、受付したジョブID「C1」のジョブを、ジョブキュー1102に記憶せずに、すぐに実行する。   In step S904, the job processing apparatus B 101-2 manages the job received from the image forming apparatus A 102-3, for example, as the job ID “C1”. At this time, since the job processing apparatus B 101-2 does not execute another job, the job processing apparatus B 101-2 executes the received job ID “C 1” immediately without storing it in the job queue 1102.

ステップS905において、例えば、画像形成装置B102−2から、ジョブ処理装置A101−1に対して、ジョブの実行要求が送信される。   In step S905, for example, a job execution request is transmitted from the image forming apparatus B 102-2 to the job processing apparatus A 101-1.

ステップS906において、ジョブ処理装置A101−1は、画像形成装置B102−2から受付けたジョブを、例えば、ジョブID「B1」として管理する。このとき、ジョブ処理装置A101−1は、他のジョブ(ジョブID「A1」)を実行しているので、受付したジョブID「B1」のジョブをすぐに実行することができない。   In step S906, the job processing apparatus A 101-1 manages the job received from the image forming apparatus B 102-2, for example, as the job ID “B1”. At this time, since the job processing apparatus A 101-1 is executing another job (job ID “A1”), the received job ID “B1” cannot be immediately executed.

この場合、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブID「B1」のジョブの情報を、ジョブキュー1101に記憶し、ジョブデータ管理部403は、ジョブID「B1」のジョブのデータを、ジョブデータ記憶部411に記憶する。   In this case, the job information management unit 404 of the job processing apparatus A 101-1 stores the job information of the job ID “B1” in the job queue 1101, and the job data management unit 403 stores the job ID “B1” job information. The data is stored in the job data storage unit 411.

このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101に第1のジョブが追加されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。   At this time, the update information notification unit 405 of the job processing apparatus A 101-1 adds the first job update information to the job queue 1101 by the job information management unit 404. Notify each of the devices 101.

ステップS907において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ処理装置A101−1のジョブキュー1101に、ジョブID「B1」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。   In step S907, the update information notification unit 405 of the job processing apparatus A 101-1 receives job update information indicating that the job with the job ID “B1” has been added to the job queue 1101 of the job processing apparatus A 101-1. The job processing apparatus B 101-2 is notified.

ステップS908において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブID「B1」のジョブの情報を、ジョブキュー1102に記憶する。   In step S <b> 908, the job information management unit 404 of the job processing apparatus B 101-2 displays the job information of the job ID “B1” on the job queue 1102 based on the job update information transmitted from the job processing apparatus A 101-1. To remember.

ステップS909において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ処理装置A101−1のジョブキュー1101に、ジョブID「B1」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。   In step S909, the update information notification unit 405 of the job processing apparatus A 101-1 receives job update information indicating that the job with the job ID “B1” has been added to the job queue 1101 of the job processing apparatus A 101-1. Notify the job processing apparatus C101-3.

ステップS910において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブID「B1」のジョブの情報を、ジョブキュー1103に記憶する。   In step S <b> 910, the job information management unit 404 of the job processing apparatus C <b> 101-3 stores the job information of the job ID “B1” on the job queue 1103 based on the job update information transmitted from the job processing apparatus A 101-1. To remember.

ステップS910における各ジョブ処理装置101のジョブキューのイメージを図11(b)に示す。図11(b)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(b)において、「管理する装置」に記憶されている「A」は、ジョブ処理装置A101−1を示すものとする。   FIG. 11B shows an image of the job queue of each job processing apparatus 101 in step S910. As shown in FIG. 11B, the job queues 1101, 1102, and 1103 of the job processing apparatuses 101 store information on the job with the job ID “B1” in common. In FIG. 11B, “A” stored in “Managed Device” indicates the job processing device A 101-1.

ステップS911において、他のジョブを実行していないジョブ処理装置C101−3は、例えば、図7に示すジョブの実行処理を実行する。ここでは、ジョブ処理装置C101−3のジョブキュー1103には、処理待ちの第1のジョブの情報は記憶されておらず、処理待ちの第2のジョブの情報(ジョブID「B1」のジョブの情報)が記憶されている。したがって、ジョブ処理装置C101−3のジョブ実行部406は、ジョブID「B1」のジョブのデータを管理するジョブ処理装置A101−1に、ジョブID「B1」のジョブの実行を要求する実行要求を送信する。   In step S911, the job processing apparatus C101-3 that is not executing another job executes, for example, the job execution process illustrated in FIG. In this case, the job queue 1103 of the job processing apparatus C101-3 does not store information on the first job waiting for processing, and does not store information on the second job waiting for processing (the job ID “B1”). Information) is stored. Accordingly, the job execution unit 406 of the job processing apparatus C101-3 sends an execution request for requesting execution of the job with the job ID “B1” to the job processing apparatus A101-1 that manages the data of the job with the job ID “B1”. Send.

ステップS912において、ジョブ処理装置A101−1は、自装置でジョブのデータを管理するジョブID「B1」のジョブ(第1のジョブ)の実行要求を受付けると、例えば、図8に示すジョブデータの提供処理を実行する。   In step S912, when the job processing apparatus A 101-1 receives an execution request for the job (first job) with the job ID “B1” that manages the job data in the own apparatus, for example, the job processing apparatus A 101-1 receives the job data shown in FIG. Execute the provision process.

ステップS912において、ジョブ処理装置A101−1のジョブ情報管理部404は、実行要求を受付したジョブID「B1」のジョブの状態を確認する。ここでは、図11(b)に示すように、ジョブID「B1」のジョブの状態は「処理待ち」である。   In step S <b> 912, the job information management unit 404 of the job processing apparatus A 101-1 confirms the status of the job with the job ID “B1” that has received the execution request. Here, as shown in FIG. 11B, the job status of the job ID “B1” is “waiting for processing”.

ステップS913において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブID「B1」のジョブの実行を許可する許可情報を、実行要求のジョブ処理装置C101−3に通知する。   In step S913, the job information management unit 404 of the job processing apparatus A 101-1 notifies the execution request job processing apparatus C 101-3 of permission information for permitting execution of the job with the job ID “B1”.

ステップS914において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報を更新する。例えば、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブキュー1101に記憶されたジョブID「B1」の情報のうち、「処理する装置」の情報に「C」(ジョブ処理装置C101−3)を記憶し、「ジョブの状態」の情報を「処理中」に変更する。   In step S <b> 914, the job information management unit 404 of the job processing apparatus A 101-1 updates the job information of the job ID “B1” stored in the job queue 1101. For example, the job information management unit 404 of the job processing apparatus A 101-1 sets “C” (job processing apparatus C 101-) as the “processing apparatus” information among the information of the job ID “B 1” stored in the job queue 1101. 3) is stored, and the “job status” information is changed to “processing”.

このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101記憶された第1のジョブの情報が変更されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。   At this time, the update information notification unit 405 of the job processing apparatus A 101-1 has changed the first job information stored in the job queue 1101 by the job information management unit 404. Notify each of the other job processing apparatuses 101.

ステップS915において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。   In step S <b> 915, the update information notification unit 405 of the job processing apparatus A 101-1 displays job update information indicating that the information of the job with the job ID “B1” stored in the job queue 1101 has been changed. B101-2 is notified.

ステップS916において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1102に記憶されたジョブID「B1」のジョブの情報を更新する。   In step S916, the job information management unit 404 of the job processing apparatus B 101-2 determines the job with the job ID “B1” stored in the job queue 1102 based on the job update information transmitted from the job processing apparatus A 101-1. Update the information.

ステップS917において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。   In step S <b> 917, the update information notification unit 405 of the job processing apparatus A 101-1 displays job update information indicating that the job information of the job ID “B1” stored in the job queue 1101 has been changed. C101-3 is notified.

ステップS918において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1103に記憶されたジョブID「B1」のジョブの情報を更新する。   In step S918, the job information management unit 404 of the job processing apparatus C101-3 executes the job with the job ID “B1” stored in the job queue 1103 based on the job update information transmitted from the job processing apparatus A 101-1. Update the information.

ステップS918における各ジョブ処理装置101のジョブキューのイメージを図11(c)に示す。図11(c)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(c)において、「処理する装置」に記憶されている「C」は、ジョブ処理装置C101−3を示すものとする。   FIG. 11C shows an image of the job queue of each job processing apparatus 101 in step S918. As shown in FIG. 11C, the job queues 1101, 1102, and 1103 of the job processing apparatuses 101 store information on the job with the job ID “B1” in common. In FIG. 11C, “C” stored in “Processing device” indicates the job processing device C101-3.

ステップS919において、ジョブ処理装置A101−1のジョブデータ管理部403は、例えば、ジョブ処理装置C101−1からの要求に応じて、ジョブID「B1」のジョブのデータを、例えば、ジョブIDに対応するジョブデータの保存先から取得する。また、ジョブ処理装置A101−1のジョブデータ管理部403は、取得したジョブID「B1」のジョブのデータをジョブ処理装置C101−1に送信する。   In step S919, the job data management unit 403 of the job processing apparatus A 101-1, for example, responds to the job ID “B1” job data corresponding to, for example, the job ID in response to a request from the job processing apparatus C 101-1. Acquired from the job data storage location. In addition, the job data management unit 403 of the job processing apparatus A 101-1 transmits the acquired job data of the job ID “B1” to the job processing apparatus C 101-1.

ステップS920において、ジョブ処理装置C101−3のジョブ実行部406は、ジョブ処理装置A101−1から取得したジョブID「B1」のジョブを実行する。   In step S920, the job execution unit 406 of the job processing apparatus C101-3 executes the job with the job ID “B1” acquired from the job processing apparatus A 101-1.

ステップS920のジョブの実行が完了すると、図10のステップS921において、ジョブ処理装置C101−3のジョブ実行部406は、ジョブ処理装置A101−1に、ジョブの実行が完了したことを示す完了通知を通知する。   When the execution of the job in step S920 is completed, in step S921 in FIG. 10, the job execution unit 406 of the job processing apparatus C101-3 sends a completion notification indicating that the execution of the job has been completed to the job processing apparatus A 101-1. Notice.

ステップS922において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブ処理装置C101−3からジョブID「B1」のジョブの完了通知を受付すると、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報を削除する。また、ジョブ処理装置A101−1のジョブデータ管理部403は、ジョブデータ記憶部411に記憶したジョブID「B1」のジョブのデータを削除する。   In step S922, when the job information management unit 404 of the job processing apparatus A 101-1 receives the completion notification of the job with the job ID “B1” from the job processing apparatus C 101-3, the job ID “B1” stored in the job queue 1101 is received. The job information for "" is deleted. Further, the job data management unit 403 of the job processing apparatus A 101-1 deletes the job data of the job ID “B1” stored in the job data storage unit 411.

このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101記憶された第1のジョブの情報が変更(削除)されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。   At this time, the update information notification unit 405 of the job processing apparatus A 101-1 has changed (deleted) the information of the first job stored in the job queue 1101 by the job information management unit 404. Update information is notified to each of the other job processing apparatuses 101.

ステップS923において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されていたジョブID「B1」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。   In step S923, the update information notification unit 405 of the job processing apparatus A 101-1 receives job update information indicating that the job ID “B1” stored in the job queue 1101 has been deleted. Notify device B101-2.

ステップS924において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1102に記憶されたジョブID「B1」のジョブの情報を削除する。   In step S924, the job information management unit 404 of the job processing apparatus B 101-2 determines the job with the job ID “B1” stored in the job queue 1102 based on the job update information transmitted from the job processing apparatus A 101-1. Delete the information.

ステップS925において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されていたジョブID「B1」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。   In step S925, the update information notification unit 405 of the job processing apparatus A 101-1 receives job update information indicating that the job ID “B1” stored in the job queue 1101 has been deleted. Notify device C101-3.

ステップS926において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1103に記憶されたジョブID「B1」のジョブの情報を削除する。また、ジョブ処理装置C101−3のジョブデータ管理部403は、ジョブID「B1」のジョブのデータを削除する。   In step S926, the job information management unit 404 of the job processing apparatus C101-3 executes the job with the job ID “B1” stored in the job queue 1103 based on the job update information transmitted from the job processing apparatus A 101-1. Delete the information. In addition, the job data management unit 403 of the job processing apparatus C101-3 deletes the job data with the job ID “B1”.

ステップS926における各ジョブ処理装置101のジョブキューのイメージを図11(d)に示す。図11(d)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103から、ジョブID「B1」のジョブの情報が、共通に削除されている。   FIG. 11D shows an image of the job queue of each job processing apparatus 101 in step S926. As shown in FIG. 11D, the job information of the job ID “B1” is deleted in common from the job queues 1101, 1102, and 1103 of the job processing apparatuses 101.

ステップS927において、ジョブ処理装置A101−1のジョブ受付部402は、ジョブID「B1」のジョブの要求元の画像形成装置B102−2に、ジョブが完了したことを示す完了通知を送信する。   In step S927, the job reception unit 402 of the job processing apparatus A 101-1 transmits a completion notification indicating that the job has been completed to the image forming apparatus B 102-2 that has requested the job with the job ID “B1”.

このように、本実施形態に係るジョブ処理システム100では、各ジョブ処理装置101は、ジョブ処理システム100で処理待ちとなっているジョブの情報を、ジョブキューに共通に記憶して、管理する。   As described above, in the job processing system 100 according to the present embodiment, each job processing apparatus 101 commonly stores and manages information on jobs waiting to be processed in the job processing system 100 in the job queue.

また、各ジョブ処理装置101は、ジョブキューに、自装置でジョブのデータを管理している第1のジョブの情報がある場合、第1のジョブを実行する。   Further, each job processing apparatus 101 executes the first job when there is information on the first job managing the job data in the job queue in the job queue.

さらに、各ジョブ処理装置101は、ジョブキューに、第1のジョブの情報がない場合、ジョブキューに記憶された第2のジョブを取得し、実行する。   Further, each job processing apparatus 101 acquires and executes the second job stored in the job queue when there is no information on the first job in the job queue.

上記の処理により、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム100全体で効率良く複数のジョブを分散処理することができるようになる。   With the above processing, according to the present embodiment, in the job processing system 100 in which a plurality of job processing apparatuses 101 are connected via a network, a plurality of jobs can be efficiently distributed and processed throughout the job processing system 100. It becomes like this.

[第2の実施形態]
第2の実施形態では、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、ジョブ処理装置101が、第2のジョブの処理コストに基づいて、実行する1つのジョブを決定する処理の例について説明する。
[Second Embodiment]
In the second embodiment, when there is no first job waiting for processing in the job queue and there are a plurality of second jobs waiting for processing in the job queue, the job processing apparatus 101 performs processing costs for the second job. An example of processing for determining one job to be executed will be described based on FIG.

<機能構成>
第2の実施形態に係るジョブ処理システムの機能構成は、図4に示す一実施形態に係るジョブ処理システムの構成と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
<Functional configuration>
Since the functional configuration of the job processing system according to the second embodiment is the same as the configuration of the job processing system according to the embodiment shown in FIG. 4, here, the description will focus on differences from the first embodiment. Do.

処理コスト算出部408は、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、複数の第2のジョブの処理コストを算出する。処理コスト算出部408は、例えば、図6(a)に示すようなプラグインのコスト情報601と、例えば、図6(b)に示すような通信速度情報602とを用いて、第2のジョブ毎の処理コストを算出する。   The processing cost calculation unit 408 calculates processing costs for a plurality of second jobs when there is no first job waiting for processing in the job queue and there are a plurality of second jobs waiting for processing in the job queue. For example, the processing cost calculation unit 408 uses the plug-in cost information 601 as illustrated in FIG. 6A and the communication speed information 602 as illustrated in FIG. Each processing cost is calculated.

例えば、処理コスト算出部408は、次の式を用いて、第2のジョブの処理コストを計算する。   For example, the processing cost calculation unit 408 calculates the processing cost of the second job using the following equation.

(ジョブの処理コスト)=(実行するプラグインのコストの総和)×(通信コスト)
=Σプラグインのコスト×(ジョブデータサイズ[MB]×8/通信速度[Mbps])
なお、上記の式では、ジョブデータサイズに8を乗算することにより、byteを、bitに変換している。
(Job processing cost) = (Total cost of plug-ins to be executed) x (Communication cost)
= Σ plug-in cost × (job data size [MB] × 8 / communication speed [Mbps])
In the above formula, byte is converted into bit by multiplying the job data size by 8.

例えば、ジョブ処理装置C101−3のジョブキューに、図5(a)に示すように2つの第2のジョブが記憶されている場合、ジョブ処理装置C101−3の処理コスト算出部408は、2つの第2のジョブの処理コストを、以下のように計算する。   For example, when two second jobs are stored in the job queue of the job processing apparatus C101-3 as shown in FIG. 5A, the processing cost calculation unit 408 of the job processing apparatus C101-3 has 2 The processing cost of one second job is calculated as follows.

(ジョブID「A3」の処理コスト)
=(100+80+10)×((4×10^6×8)/(50×10^6))=121.6
(ジョブID「C5」の処理コスト)
=(100+10)×((5×10^6×8)/(20×10^6))=220
実行ジョブ決定部407は、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、処理コスト算出部408が算出した第2のジョブ毎の処理コストを用いて、実行する1つの第2のジョブを決定する。
(Processing cost of job ID “A3”)
= (100 + 80 + 10) * ((4 * 10 ^ 6 * 8) / (50 * 10 ^ 6)) = 121.6
(Processing cost of job ID “C5”)
= (100 + 10) * ((5 * 10 ^ 6 * 8) / (20 * 10 ^ 6)) = 220
The execution job determination unit 407 performs processing for each second job calculated by the processing cost calculation unit 408 when there is no first job waiting for processing in the job queue and there are a plurality of second jobs waiting for processing in the job queue. Is used to determine one second job to be executed.

例えば、実行ジョブ決定部407は、処理コスト算出部408が算出した第2のジョブ毎の処理コストの値が低い方から順に、実行する1つの第2のジョブを決定する。   For example, the execution job determination unit 407 determines one second job to be executed in order from the lowest processing cost value for each second job calculated by the processing cost calculation unit 408.

上記の例では、ジョブID「A3」のコストが、ジョブID「C5」の処理コストより低いので、実行ジョブ決定部407は、ジョブID「A3」のジョブを、実行する第2のジョブに決定する。   In the above example, since the cost of the job ID “A3” is lower than the processing cost of the job ID “C5”, the execution job determination unit 407 determines the job with the job ID “A3” as the second job to be executed. To do.

<処理の流れ>
続いて、第2の実施形態に係るジョブ処理方法の処理の流れについて説明する。
<Process flow>
Subsequently, a processing flow of the job processing method according to the second embodiment will be described.

(ジョブの実行処理)
図12は、第2の実施形態に係るジョブの実行処理の例を示すフローチャートである。なお、基本的な処理は、図7に示す第1の実施形態に係るジョブ実行処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
(Job execution processing)
FIG. 12 is a flowchart illustrating an example of job execution processing according to the second embodiment. Since the basic process is the same as the job execution process according to the first embodiment shown in FIG. 7, here, the description will focus on the differences from the first embodiment.

ステップS701において、ジョブ処理装置101のジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理待ちの第1のジョブがあるか否かを判断する。   In step S <b> 701, the job execution unit 406 of the job processing apparatus 101 determines whether there is a first job waiting for processing in the job queue 501 stored in the job information storage unit 412.

ジョブキュー501に処理待ちの第1のジョブがない場合、ジョブ実行部406は、処理をステップS708に移行させる。   If there is no first job waiting to be processed in the job queue 501, the job execution unit 406 shifts the processing to step S708.

一方、ジョブキュー501に処理待ちの第1のジョブがある場合、ジョブ実行部406は、ステップS1201において、図7のステップS702〜S707に示す第1のジョブの実行処理を実行する。   On the other hand, if there is a first job waiting for processing in the job queue 501, the job execution unit 406 executes the first job execution processing shown in steps S702 to S707 of FIG. 7 in step S1201.

ステップS708に移行すると、ジョブ実行部406は、ジョブキュー501に処理待ちの第2のジョブがあるか否かを判断する。   In step S708, the job execution unit 406 determines whether there is a second job waiting to be processed in the job queue 501.

ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS1202に移行させる。   If there is no second job waiting for processing in the job queue 501, the job execution unit 406 ends the processing. On the other hand, when there is a second job waiting for processing in the job queue 501, the job execution unit 406 shifts the processing to step S1202.

ステップS1202に移行すると、処理コスト算出部408は、ジョブキューに記憶されている第2のジョブ毎の処理コストを算出する。   In step S1202, the processing cost calculation unit 408 calculates a processing cost for each second job stored in the job queue.

ステップS1203において、実行ジョブ決定部407は、候補となる第2のジョブの中から、ジョブの処理コストが最も低い1つの第2のジョブを特定する。   In step S1203, the execution job determination unit 407 identifies one second job having the lowest job processing cost from the candidate second jobs.

ステップS1204において、実行ジョブ決定部407は、特定した第2のジョブのデータを管理している他のジョブ処理装置101に、特定した第2のジョブの実行を要求する実行要求を送信する。   In step S1204, the execution job determination unit 407 transmits an execution request for requesting execution of the specified second job to another job processing apparatus 101 that manages the data of the specified second job.

ステップS1205において、実行ジョブ決定部407は、例えば、所定の時間内に要求した第2のジョブの実行を許可する許可情報を受信したかを判断する。   In step S1205, the execution job determination unit 407 determines, for example, whether permission information permitting execution of the requested second job has been received within a predetermined time.

所定の時間内に第2のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部406は、ステップS1208において、例えば、図7のステップS711〜S715に示す第2のジョブの実行処理を実行する。   When the permission information permitting the execution of the second job is received within a predetermined time, the job execution unit 406 performs the second job execution process shown in steps S711 to S715 of FIG. 7 in step S1208, for example. Run.

一方、所定の時間内に第2のジョブの実行を許可する許可情報を受信しない場合、実行ジョブ決定部407は、処理をステップS1206に移行させる。   On the other hand, when the permission information for permitting the execution of the second job is not received within the predetermined time, the execution job determining unit 407 shifts the processing to step S1206.

ステップS1206において、実行ジョブ決定部407は、他に候補となる第2のジョブがあるかを判断する。   In step S1206, the execution job determination unit 407 determines whether there is another candidate second job.

他に候補となる第2のジョブがない場合、実行ジョブ決定部407は、処理を終了させる。一方、他に候補となる第2のジョブがある場合、実行ジョブ決定部407は、処理をステップS1207に移行させる。   If there is no other candidate second job, the execution job determination unit 407 ends the process. On the other hand, if there is another candidate second job, the execution job determination unit 407 shifts the processing to step S1207.

ステップS1207に移行すると、実行ジョブ決定部407は、実行が許可されなかった第2のジョブを、候補から除外して、ステップS1203以降の処理を再度実行する。   When the process proceeds to step S1207, the execution job determination unit 407 excludes the second job that is not permitted to be executed from the candidates, and executes the processes after step S1203 again.

(処理コストの算出処理)
図13は、第2の実施形態係る処理コストの算出処理の例を示すフローチャートである。
(Processing cost calculation process)
FIG. 13 is a flowchart illustrating an example of processing cost calculation processing according to the second embodiment.

ステップS1301において、処理コスト算出部408は、例えば、図6(a)に示すようなプラグインのコスト情報601と、例えば、図5(c)に示すようなワークフロー情報502とを用いて、ジョブに含まれるプラグインの総コストを算出する。   In step S1301, the processing cost calculation unit 408 uses, for example, plug-in cost information 601 as illustrated in FIG. 6A and workflow information 502 as illustrated in FIG. Calculate the total cost of plug-ins included in.

ステップS1302において、処理コスト算出部408は、ジョブのデータサイズと、例えば、図6に示すような通信速度情報602とを用いて、ジョブの通信速度を算出する。   In step S1302, the processing cost calculation unit 408 calculates the job communication speed using the job data size and, for example, the communication speed information 602 as shown in FIG.

ステップS1303において、処理コスト算出部408は、ステップS1301で算出したプラグインの総コストと、ステップS1302で算出した通信コストとの積を、ジョブの処理コストとする。   In step S1303, the processing cost calculation unit 408 sets the product of the total plug-in cost calculated in step S1301 and the communication cost calculated in step S1302 as the job processing cost.

以上、本実施形態によれば、各ジョブ処理装置101は、他のジョブ処理装置101がジョブのデータを管理している第2のジョブを実行する際に、他のジョブ処理装置101との間の通信速度や、ジョブのデータサイズを考慮して実行するジョブを決定する。   As described above, according to the present embodiment, each job processing apparatus 101 communicates with another job processing apparatus 101 when the other job processing apparatus 101 executes the second job managing the job data. The job to be executed is determined in consideration of the communication speed and the data size of the job.

これにより、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム全体で、さらに効率良く複数のジョブを分散処理することができるようになる。   Thus, according to the present embodiment, in the job processing system 100 in which a plurality of job processing apparatuses 101 are connected via a network, a plurality of jobs can be distributed and processed more efficiently in the entire job processing system. become.

<その他の実施形態>
図1に示すジョブ処理システム100のシステム構成、及び図4に示すジョブ処理システム100の機能構成は一例であり、本実施形態に係るジョブ処理システム100は、様々なシステム構成が可能である。
<Other embodiments>
The system configuration of the job processing system 100 illustrated in FIG. 1 and the functional configuration of the job processing system 100 illustrated in FIG. 4 are examples, and the job processing system 100 according to the present embodiment can have various system configurations.

例えば、本実施形態に係るジョブ処理装置101は、特許文献1に示されるような負荷分散装置を利用したジョブ処理システムにも、好適に適用することができる。   For example, the job processing apparatus 101 according to the present embodiment can be suitably applied to a job processing system using a load distribution apparatus as disclosed in Patent Document 1.

図14は、その他の実施形態に係るジョブ処理システムの機能構成図である。図14に示すジョブ処理システム1400は、複数のジョブ処理装置101と、ネットワーク107を介して接続される負荷分散装置(情報処理装置)1401を有している。   FIG. 14 is a functional configuration diagram of a job processing system according to another embodiment. A job processing system 1400 illustrated in FIG. 14 includes a plurality of job processing apparatuses 101 and a load distribution apparatus (information processing apparatus) 1401 connected via a network 107.

負荷分散装置1401は、例えば、特許文献1と同様に、ジョブを複数のジョブ処理装置101に振り分けるものとする。   For example, the load distribution apparatus 1401 distributes jobs to a plurality of job processing apparatuses 101 as in Patent Document 1.

各ジョブ処理装置101は、負荷分散装置1401から受付けたジョブの情報を、図4の画像形成装置102から受付けたジョブと同様にジョブキューに記憶して、管理する。   Each job processing apparatus 101 stores and manages job information received from the load distribution apparatus 1401 in the job queue in the same manner as the job received from the image forming apparatus 102 in FIG.

また、各ジョブ処理装置101は、自装置でジョブのデータを管理している第1のジョブの情報を、他のジョブ処理装置101に通知することにより、ジョブキューの情報を共有する。   In addition, each job processing apparatus 101 shares the information of the job queue by notifying the other job processing apparatus 101 of the information of the first job that manages the job data in its own apparatus.

さらに、各ジョブ処理装置101は、ジョブキューに処理待ちの第1のジョブがある場合、第1のジョブを実行し、ジョブキューに処理待ちの第1のジョブがない場合、ジョブキューに記憶された第2のジョブの情報に基づいて、第2のジョブを取得し、実行する。   Further, each job processing apparatus 101 executes the first job when there is a first job waiting for processing in the job queue, and stores the job in the job queue when there is no first job waiting for processing in the job queue. The second job is acquired and executed based on the second job information.

このようなシステム構成においても、各ジョブ処理装置101は、自装置で受付けた第1のジョブがなくなると、他のジョブ処理装置101が受付けた第2のジョブを自律的に取得して、実行することができる。したがって、ジョブ処理システム1400においても、ジョブ処理システム1400全体で効率良く複数のジョブを分散処理することができる。   Even in such a system configuration, each job processing apparatus 101 autonomously obtains and executes the second job received by another job processing apparatus 101 when the first job received by the own apparatus disappears. can do. Therefore, also in the job processing system 1400, a plurality of jobs can be distributed and processed efficiently throughout the job processing system 1400.

また、図4に示すジョブ処理装置101に含まれる機能構成の少なくとも一部は、画像形成装置102に含まれていても良い。さらに、図4に示すジョブ処理装置101に含まれる各記憶部は、ネットワーク107を介して接続されるストレージサーバ等に含まれていても良い。   Further, at least a part of the functional configuration included in the job processing apparatus 101 illustrated in FIG. 4 may be included in the image forming apparatus 102. Furthermore, each storage unit included in the job processing apparatus 101 illustrated in FIG. 4 may be included in a storage server or the like connected via the network 107.

100 ジョブ処理システム
101 ジョブ処理装置
102 画像形成装置
107 ネットワーク
402 ジョブ受付部
404 ジョブ情報管理部
405 更新情報通知部
406 ジョブ実行部
407 実行ジョブ決定部
408 処理コスト算出部
411 ジョブデータ記憶部
412 ジョブ情報記憶部
1401 負荷分散装置(情報処理装置)
DESCRIPTION OF SYMBOLS 100 Job processing system 101 Job processing apparatus 102 Image forming apparatus 107 Network 402 Job reception part 404 Job information management part 405 Update information notification part 406 Job execution part 407 Execution job determination part 408 Processing cost calculation part 411 Job data storage part 412 Job information Storage unit 1401 Load distribution device (information processing device)

特開2013−105237号公報JP 2013-105237 A

Claims (13)

1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、
前記ジョブ処理装置は、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理システム。
A job processing system in which a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, are connected via a network,
The job processing device includes:
A job reception unit for receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus A job information management unit that stores and manages job information related to execution of a second job in a job information storage unit;
A notification unit for notifying the other job processing apparatus of job information of the first job in response to reception of the first job;
If the job information of the first job that has not been processed is stored in the job information storage unit, the first job is executed,
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A job execution unit that executes the second job based on the job information;
Having a job processing system.
前記ジョブ実行部は、
前記第1のジョブの実行を開始したことに応じて、当該第1のジョブのジョブ情報を変更し、
前記通知部は、
前記第1のジョブのジョブ情報が変更された場合、当該ジョブ情報を前記他のジョブ処理装置に通知する請求項1に記載のジョブ処理システム。
The job execution unit
In response to starting execution of the first job, the job information of the first job is changed,
The notification unit
The job processing system according to claim 1, wherein when the job information of the first job is changed, the job information is notified to the other job processing apparatus.
前記ジョブ実行部は、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを受け付けた前記他のジョブ処理装置に対して、当該ジョブ処理装置によって当該第2のジョブを実行することを要求する要求情報を送信し、当該他のジョブ処理装置から当該第2のジョブの実行を許可する許可情報を受信した場合、当該他のジョブ処理装置から、当該第2のジョブにおける処理対象のデータを取得する請求項1又は2に記載のジョブ処理システム。
The job execution unit
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing Based on the job information, the request information requesting that the second job processing apparatus accepts the second job is executed by the job processing apparatus. The processing target data in the second job is acquired from the other job processing device when the permission information permitting the execution of the second job is received from the other job processing device. Job processing system.
前記ジョブ実行部は、
当該ジョブ処理装置において前記第2のジョブの実行が完了したとき、当該第2のジョブの実行が完了したことを示す完了通知を、当該第2のジョブの前記処理対象のデータを取得した前記他のジョブ処理装置に通知する請求項3に記載のジョブ処理システム。
The job execution unit
When the execution of the second job is completed in the job processing apparatus, a completion notification indicating that the execution of the second job has been completed is sent to the other that has acquired the processing target data of the second job. The job processing system according to claim 3, wherein the job processing device is notified to the job processing apparatus.
前記ジョブ情報管理部は、
前記他のジョブ処理装置から、前記ジョブ情報記憶部に記憶されている前記第1のジョブを前記他のジョブ処理装置によって実行することを要求する要求情報を受信したときに、前記第1のジョブが処理待ちの状態である場合、
当該要求情報を送信した前記他のジョブ処理装置に、前記第1のジョブの実行を許可する許可情報を送信し、前記ジョブ情報記憶部に記憶されている前記第1のジョブのジョブ情報に、前記第1のジョブの処理が開始されたことを示す情報を記憶する請求項1乃至4のいずれか一項に記載のジョブ処理システム。
The job information management unit
When the request information requesting that the other job processing device execute the first job stored in the job information storage unit is received from the other job processing device, the first job Is waiting to be processed,
The permission information for permitting the execution of the first job is transmitted to the other job processing apparatus that has transmitted the request information, and the job information of the first job stored in the job information storage unit includes: The job processing system according to claim 1, wherein information indicating that processing of the first job is started is stored.
前記ジョブ処理装置は、
前記許可情報を送信した前記他のジョブ処理装置から、前記第1のジョブの実行が完了したことを示す完了情報の通知を受付した場合、
前記ジョブ情報記憶部に記憶した前記第1のジョブのジョブ情報を削除し、
前記第1のジョブの要求元に、前記第1のジョブが完了したことを通知する請求項5に記載のジョブ処理システム。
The job processing device includes:
When a notification of completion information indicating that the execution of the first job has been completed is received from the other job processing apparatus that has transmitted the permission information,
Deleting the job information of the first job stored in the job information storage unit;
The job processing system according to claim 5, wherein a request source of the first job is notified that the first job is completed.
前記ジョブ処理装置は、
前記ジョブ情報記憶部に記憶されている前記第2のジョブの処理コストを算出する処理コスト算出部と、
前記ジョブ情報記憶部に処理が開始されていない複数の前記第2のジョブが記憶されている場合、前記処理コスト算出部が算出した前記処理コストを用いて、前記ジョブ実行部で実行する一の前記第2のジョブを決定する実行ジョブ決定部と、
を有する請求項1乃至6のいずれか一項に記載のジョブ処理システム。
The job processing device includes:
A processing cost calculation unit for calculating a processing cost of the second job stored in the job information storage unit;
When a plurality of second jobs that have not been processed are stored in the job information storage unit, the job execution unit uses the processing cost calculated by the processing cost calculation unit. An execution job determination unit for determining the second job;
The job processing system according to claim 1, further comprising:
前記ジョブ処理装置の前記処理コスト算出部は、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報を用いて、前記第2のジョブの処理コストを算出する請求項7に記載のジョブ処理システム。
The processing cost calculation unit of the job processing device includes:
The job processing system according to claim 7, wherein the processing cost of the second job is calculated using information on a communication speed between the job processing apparatus and another job processing apparatus.
前記ジョブ処理装置の前記処理コスト算出部は、
前記第2のジョブに応じた前記ワークフローに定義された前記1つ以上の処理コストの総コストを算出し、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報と、前記第2のジョブのデータサイズとを用いて通信コストを算出し、
前記算出された前記総コストと、前記通信コストの積を用いて、前記第2のジョブの処理コストを算出する請求項7又は8に記載のジョブ処理システム。
The processing cost calculation unit of the job processing device includes:
Calculating a total cost of the one or more processing costs defined in the workflow according to the second job;
A communication cost is calculated using information on a communication speed between the job processing apparatus and another job processing apparatus and a data size of the second job;
The job processing system according to claim 7, wherein a processing cost of the second job is calculated using a product of the calculated total cost and the communication cost.
前記実行ジョブ決定部は、
前記ジョブ情報記憶部に記憶されている処理を開始していない前記複数の前記第2のジョブの中から、前記処理コスト算出部が算出した前記第2のジョブの処理コストが低い順に前記ジョブ実行部で実行する前記一のジョブを決定する請求項7乃至9のいずれか一項に記載のジョブ処理システム。
The execution job determination unit
The job execution is performed in ascending order of the processing cost of the second job calculated by the processing cost calculation unit from among the plurality of the second jobs that have not started processing stored in the job information storage unit. The job processing system according to claim 7, wherein the one job to be executed by a unit is determined.
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置であって、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理装置。
A job processing apparatus of a job processing system in which a plurality of job processing apparatuses that execute a job as a process execution unit based on a workflow in which one or more processes are defined is connected via a network,
A job reception unit for receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus A job information management unit that stores and manages job information related to execution of a second job in a job information storage unit;
A notification unit for notifying the other job processing apparatus of job information of the first job in response to reception of the first job;
If the job information of the first job that has not been processed is stored in the job information storage unit, the first job is executed,
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A job execution unit that executes the second job based on the job information;
A job processing apparatus.
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置に、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するステップと、
を実行させるためのプログラム。
A plurality of job processing apparatuses that execute jobs as processing execution units based on a workflow in which one or more processes are defined are connected to the job processing apparatus of a job processing system connected via a network.
Receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus Storing and managing job information related to execution of a second job in a job information storage unit;
Notifying the other job processing device of job information of the first job in response to the reception of the first job;
When job information of the first job that has not been processed is stored in the job information storage unit, the step of executing the first job;
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A step of executing the second job based on the job information of
A program for running
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムにおけるジョブ処理方法であって、
前記ジョブ処理装置が、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するステップと、
を含むジョブ処理方法。
A job processing method in a job processing system in which a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, are connected via a network,
The job processing device is
Receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus Storing and managing job information related to execution of a second job in a job information storage unit;
Notifying the other job processing device of job information of the first job in response to the reception of the first job;
When job information of the first job that has not been processed is stored in the job information storage unit, the step of executing the first job;
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A step of executing the second job based on the job information of
A job processing method including:
JP2016176813A 2016-09-09 2016-09-09 Job processing system, job processing device, job processing method, and program Active JP6786975B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016176813A JP6786975B2 (en) 2016-09-09 2016-09-09 Job processing system, job processing device, job processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016176813A JP6786975B2 (en) 2016-09-09 2016-09-09 Job processing system, job processing device, job processing method, and program

Publications (2)

Publication Number Publication Date
JP2018041400A true JP2018041400A (en) 2018-03-15
JP6786975B2 JP6786975B2 (en) 2020-11-18

Family

ID=61626174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016176813A Active JP6786975B2 (en) 2016-09-09 2016-09-09 Job processing system, job processing device, job processing method, and program

Country Status (1)

Country Link
JP (1) JP6786975B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098257A (en) * 2019-02-12 2020-08-20 한전케이디엔주식회사 Real-Time Work Flow Management System using Distributed Processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312149A (en) * 1998-04-28 1999-11-09 Hitachi Ltd Load distribution control system and its device
JP2004206298A (en) * 2002-12-24 2004-07-22 Casio Soft Co Ltd Job processing system and program
JP2008077266A (en) * 2006-09-20 2008-04-03 Nec Corp Service control unit, distributed service control system, service control method, and program
JP2008186197A (en) * 2007-01-29 2008-08-14 Konica Minolta Business Technologies Inc Image processing system, image processor, job processing method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312149A (en) * 1998-04-28 1999-11-09 Hitachi Ltd Load distribution control system and its device
JP2004206298A (en) * 2002-12-24 2004-07-22 Casio Soft Co Ltd Job processing system and program
JP2008077266A (en) * 2006-09-20 2008-04-03 Nec Corp Service control unit, distributed service control system, service control method, and program
JP2008186197A (en) * 2007-01-29 2008-08-14 Konica Minolta Business Technologies Inc Image processing system, image processor, job processing method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098257A (en) * 2019-02-12 2020-08-20 한전케이디엔주식회사 Real-Time Work Flow Management System using Distributed Processing
KR102227204B1 (en) * 2019-02-12 2021-03-11 한전케이디엔주식회사 Real-Time Work Flow Management System using Distributed Processing

Also Published As

Publication number Publication date
JP6786975B2 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
CN104917922B (en) Image forming apparatus, system and data managing method
JP6064800B2 (en) Information processing apparatus and program
US20150178030A1 (en) Network device, control method for network device, and storage medium thereof
JP6303505B2 (en) Information processing system, information processing method, device, and program
JP2017192110A (en) System, server, method, and program for storing data
JP6565391B2 (en) Information processing apparatus and information processing program
JP6786975B2 (en) Job processing system, job processing device, job processing method, and program
JP6060573B2 (en) OUTPUT SYSTEM, OUTPUT CONTROL DEVICE, OUTPUT DEVICE, AND PROGRAM
JP6500668B2 (en) Job processing system, job processing apparatus and job processing program
KR20170092100A (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP6727775B2 (en) Server device, control system, control method, and program
JP7047504B2 (en) Job system, job execution method, information processing device, program
JP2017111581A (en) Information processing system, and control method
US20130250349A1 (en) Information processing system, non-transitory computer readable medium storing program, and information processing method
US20220394089A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
JP6051260B2 (en) Information processing device
KR102561995B1 (en) Management system, method, and program storage medium
JP6481666B2 (en) Image processing device
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus
JP2016058827A (en) Information processing system, information processor, information processing method, and information processing program
JP6957847B2 (en) Information processing equipment and programs
JP5952253B2 (en) Image forming system and image forming apparatus
JP2009134413A (en) Image processing system and image processing program
JP2016189145A (en) Management device and management method
JP6504759B2 (en) APPARATUS, COMPUTER PROGRAM, AND METHOD

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201012

R151 Written notification of patent or utility model registration

Ref document number: 6786975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151