Movatterモバイル変換


[0]ホーム

URL:


JP6786975B2 - 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
JP6786975B2
JP6786975B2JP2016176813AJP2016176813AJP6786975B2JP 6786975 B2JP6786975 B2JP 6786975B2JP 2016176813 AJP2016176813 AJP 2016176813AJP 2016176813 AJP2016176813 AJP 2016176813AJP 6786975 B2JP6786975 B2JP 6786975B2
Authority
JP
Japan
Prior art keywords
job
processing
information
processing device
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.)
Expired - Fee Related
Application number
JP2016176813A
Other languages
Japanese (ja)
Other versions
JP2018041400A (en
Inventor
遼一 馬場
遼一 馬場
和行 滝澤
和行 滝澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 LtdfiledCriticalRicoh Co Ltd
Priority to JP2016176813ApriorityCriticalpatent/JP6786975B2/en
Publication of JP2018041400ApublicationCriticalpatent/JP2018041400A/en
Application grantedgrantedCritical
Publication of JP6786975B2publicationCriticalpatent/JP6786975B2/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Description

Translated fromJapanese

本発明は、ジョブ処理システム、ジョブ処理装置、ジョブ処理方法、及びプログラム
に関する。
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 for image data scanned from a document by an image forming apparatus, data input by other means, and the like. It has been known.

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

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

本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。 An embodiment of the present invention has 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 problems, in the job processing system according to the embodiment of the present invention, a plurality of job processing devices that execute jobs, which are execution units of processing based on a workflow in which one or more processes are defined, are connected via a network. The job processing device is a job processing system connected to the job processing system, and the job processing device includes a job receiving unit that accepts the job, job information related to execution of the first job that is the job received by the job processing device, and the job. Job information that is sent from another job processing device different from the processing device and is stored and managed in the job information storage unit with job information related to the execution of the second job, which is the job received by the other job processing device. Processing is started in the management unit, the notification unit that notifies the other job processing device of the job information of the first job in response to the acceptance of the first job, and the job information storage unit. When the job information of the first job that has not been executed is stored, the first job is executed, and the job information of the first job whose processing has not been started is stored in the job information storage unit. If not, the job information storage unit has a job execution unit that executes the second job based on the job information of the second job whose processing has not been started.

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

一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。It is a figure which shows an example of the system structure of the job processing system which concerns on one Embodiment.一実施形態に係るコンピュータのハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the computer which concerns on one Embodiment.一実施形態に係る画像形成装置のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the image forming apparatus which concerns on one Embodiment.一実施形態に係るジョブ処理システムの機能構成図である。It is a functional block diagram of the job processing system which concerns on one Embodiment.一実施形態に係るジョブ処理装置が管理する情報の例を示す図(1)である。It is a figure (1) which shows the example of the information managed by the job processing apparatus which concerns on one Embodiment.一実施形態に係るジョブ処理装置が管理する情報の例を示す図(2)である。It is a figure (2) which shows the example of the information managed by the job processing apparatus which concerns on one Embodiment.第1の実施形態に係るジョブの実行処理の例を示すフローチャートである。It is a flowchart which shows the example of the execution process of the job which concerns on 1st Embodiment.第1の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。It is a flowchart which shows the example of the job data provision processing which concerns on 1st Embodiment.第1の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図(1)である。It is a sequence diagram (1) which shows the example of the processing of the job processing system which concerns on 1st Embodiment.第1の実施形態に係るジョブ処理システムの処理の例を示すシーケンス図(2)である。It is a sequence diagram (2) which shows the example of the processing 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の実施形態に係るジョブの実行処理の例を示すフローチャートである。It is a flowchart which shows the example of the execution process of the job which concerns on 2nd Embodiment.第2の実施形態に係る処理コストの計算処理の例を示すフローチャートである。It is a flowchart which shows the example of the calculation processing of the processing cost which concerns on 2nd Embodiment.その他の実施形態に係るジョブ処理システムの機能構成図である。It is a functional block diagram of the job processing system which concerns on other embodiments.

以下に、本発明の実施の形態について、添付の図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described 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 showing an example of a system configuration of a job processing system according to an embodiment. Thejob processing system 100 includes, for example, a job processing device A101-1, a job processing device B101-2, and a job processing device C101-3, which are a plurality of job processing devices connected to anetwork 107 such as the Internet. In the following description, when indicating an arbitrary job processing device among a plurality of job processing devices, the “job processing device 101” is used. The number of job processing devices 101 shown in FIG. 1 is an example. The number of job processing devices 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 device A101-1 is provided in the area A104, and the plurality of image forming devices A102-1 and the image forming device are provided via the LAN (Local Area Network) 103A in the area A104. It is connected to B102-2. The area A is an example of a group including the job processing device A101-1. The group including the job processing device A101-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を含むグループの一例である。 Further, the job processing device B101-2 is provided in the area B105, and is connected to the plurality of image forming devices C102-3 and the image forming device D102-4 via theLAN 103B in the area B105. The area B is an example of a group including the job processing device B101-2.

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

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

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

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

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

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

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

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

このように、各ジョブ処理装置101は、自装置で受付した処理待ちのジョブの情報を自装置のジョブキューに記憶して管理すると共に、自装置で受付した処理待ちのジョブの状態が変化すると、変化したジョブの情報を他のジョブ処理装置101に通知する。 In this way, each job processing device 101 stores and manages information on jobs waiting to be processed received by its own device in the job queue of its own device, and changes the state of jobs waiting to be processed received by its own device. , Notify the other job processing device 101 of the changed job information.

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

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

これにより、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム全体で効率良く複数のジョブを分散処理することができるようになる。 As a result, according to the present embodiment, in thejob processing system 100 in which a plurality of job processing devices 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 thejob processing system 100 is not limited to the processing for the image data received from theimage forming apparatus 102, and may be, for example, the processing for the document data received from theinformation terminal 108.

<ハードウェア構成>
(ジョブ処理装置、及び情報端末のハードウェア構成)
図1に示すジョブ処理装置101、及び情報端末108は、一般的なコンピュータの構成を有しているので、ここでは、一般的なコンピュータのハードウェア構成について説明する。
<Hardware configuration>
(Hardware configuration of job processing device and information terminal)
Since the job processing device 101 and theinformation terminal 108 shown 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 showing an example of a computer hardware configuration according to an embodiment. Thecomputer 200 includes, for example, a CPU (Central Processing Unit) 201, a RAM (Random Access Memory) 202, a ROM (Read Only Memory) 203, astorage device 204, a network I /F 205, aninput device 206, adisplay device 207, and an external I /. It has an F208, abus 209, and the like.

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

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

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

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

バス209は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。 Thebus 209 is connected to each of the above 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 showing a hardware configuration example of theimage forming apparatus 102 according to the embodiment.

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

コントローラ310は、CPU311、RAM312、ROM313、NVRAM(Non-Volatile RAM)314、及びHDD315等を含む。 Thecontroller 310 includes aCPU 311 and aRAM 312, aROM 313, an NVRAM (Non-Volatile RAM) 314, anHDD 315, and the like.

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

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

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

プロッタ340は、印刷データを印刷する印刷装置である。スキャナ350は、原稿等を読み取る読取装置である。FCU360は、ファクスデータの送受信を行う。 Theplotter 340 is a printing device that prints print data. Thescanner 350 is a scanning device that reads documents and the like. TheFCU 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. Thejob processing system 100 includes a job processing device A101-1, a job processing device B101-2, and a job processing device C101-3 that are communicably connected to each other via anetwork 107.

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

ジョブ処理装置101は、通信部401、ジョブ受付部402、ジョブデータ管理部403、ジョブ情報管理部404、更新情報通知部405、ジョブ実行部406、実行ジョブ決定部407、及び処理コスト算出部408等を有する。また、ジョブ処理装置101は、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415を有する。 The job processing device 101 includes acommunication unit 401, ajob reception unit 402, a jobdata management unit 403, a jobinformation management unit 404, an updateinformation notification unit 405, ajob execution unit 406, an executionjob determination unit 407, and a processingcost calculation unit 408. Etc. Further, the job processing device 101 includes a jobdata storage unit 411, a jobinformation storage unit 412, a workflowinformation storage unit 413, a costinformation storage unit 414, and a communication speedinformation storage unit 415.

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

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

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

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

なお、以下の説明の中で、ジョブ処理装置101が、自装置でジョブのデータを受け付けて管理するジョブを「第1のジョブ」と呼び、他のジョブ処理装置101が、ジョブのデータを受け付けて管理するジョブを「第2のジョブ」と呼ぶ。 In the following description, a job in which the job processing device 101 receives and manages job data in its own device is referred to as a "first job", and another job processing device 101 accepts job data. The job to be managed is called a "second job".

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

図5(a)の例では、ジョブキュー501には、「ジョブID」、「ジョブの要求元」、「ジョブデータのサイズ」、「実行するワークフロー」、「ジョブを処理するジョブ処理装置」、「ジョブの状態」、「ジョブの開始日時」等の情報が含まれる。 In the example of FIG. 5A, thejob queue 501 includes a "job ID", a "job requester", a "job data size", a "workflow to be executed", a "job processing device for processing a job", and the like. 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 information of the "job ID" is identification information for identifying a job, and for example, the jobinformation management unit 404 of the job processing device 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 device 101 that has received the job. For example, "A" is a job received by the job processing device A101-1, and "C" is a job received by the job processing device C101-3.

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

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

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

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

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

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

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

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

「ジョブの開始日時」の情報は、例えば、「ジョブの状態」が、「処理待ち」から「処理中」に更新された日時等の情報である。 The "job start date and time" information is, for example, information such as the date and 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 thejob queue 501 shown in FIG. 5A, when the job processing device 101 for processing the job with the job ID “A3” is determined by the job processing device C101-3, thejob queue 501 is, for example, FIG. It is 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 status" is being processed, and the "job start" is set. The date and time is recorded.

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

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

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

さらに、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理待ちである場合、実行を許可する許可情報を要求元に返信する。 Further, when the job processing device 101 receives an execution request requesting execution of the first job that manages the job data, the jobdata management unit 403 sets the "job status" of the received first job. If it is waiting for processing, the permission information that permits execution is returned to the requester.

さらにまた、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理中である場合、実行を拒否する拒否情報を要求元に返信する。 Furthermore, when the job processing device 101 receives an execution request requesting execution of the first job that manages the job data, the jobdata management unit 403 receives the "job status" of the first job. If is in the process of processing, it returns the refusal information to the requester.

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

更新情報通知部405は、ジョブ情報管理部404が管理する第1のジョブの情報が変更された場合、変更された第1のジョブの情報を、他のジョブ処理装置101に通知する。更新情報通知部405は、例えば、図2のCPU201で実行されるプログラムによって実現される。 When the information of the first job managed by the jobinformation management unit 404 is changed, the updateinformation notification unit 405 notifies the other job processing device 101 of the changed information of the first job. The updateinformation notification unit 405 is realized by, for example, a program executed by theCPU 201 of 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 of the first job is added to thejob queue 501 managed by the jobinformation management unit 404, the updateinformation notification unit 405 updates the first job including the information of the added first job. The information is notified to each of the other job processing devices 101. Further, when the information of the first job stored in thejob queue 501 is changed, the updateinformation notification unit 405 transfers the update information of the first job including the changed information of the first job to another job. Notify each of the job processing devices 101. Further, the updateinformation notification unit 405 indicates that when the information of the first job stored in thejob queue 501 is deleted, the update information of the first job indicating that the information of the first job has been deleted. Is notified to each of the other job processing devices 101.

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

ジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理が開始されていない処理待ち状態の第1のジョブのジョブ情報が記憶されている場合、処理待ち状態の第1のジョブを、順次に実行する。 When thejob queue 501 stored in the jobinformation storage unit 412 stores the job information of the first job in the processing waiting state in which the processing has not been started, thejob execution unit 406 is the first in the processing waiting state. Jobs are executed in sequence.

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

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

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

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

図5(c)の例では、ワークフロー情報502には、「ワークフロー」の情報と、「ワークフローの内容」の情報とが含まれる。「ワークフロー」の情報は、ワークフローを特定するための情報(名前、識別情報等)である。「ワークフローの内容」の情報は、各ワークフローで実行される1つ以上の処理の実行順序が記憶されている。 In the example of FIG. 5C, theworkflow information 502 includes "workflow" information and "workflow content" information. The "workflow" information is information (name, identification information, etc.) for identifying the workflow. The information of "workflow content" 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 thejob execution unit 406 executes a job with the job ID “A3” in thejob queue 501 shown in FIG. 5A, thejob execution unit 406 acquires the contents of the workflow “3” to be executed from theworkflow information 502. In addition, thejob execution unit 406 adds an image conversion plug-in, an OCR (Optical Character Recognition) plug-in, and an email transmission plug-in (another example of processing) to the job data based on the contents of the acquired workflow "3". ) Is executed. 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で実行されるプログラムによって実現される。 When the information of a plurality of second jobs is stored in thejob queue 501, the executionjob determination unit 407 determines a job to be executed by thejob execution unit 406 from the plurality of second jobs. The executionjob determination unit 407 is realized by, for example, a program executed by theCPU 201 of FIG.

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

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

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

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

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

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

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

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

なお、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415は、例えば、図2のストレージ装置204、RAM202等によって実現される記憶手段である。 The jobdata storage unit 411, the jobinformation storage unit 412, the workflowinformation storage unit 413, the costinformation storage unit 414, and the communication speedinformation storage unit 415 are realized by, for example, thestorage device 204, theRAM 202, and the like in FIG. It is a means of memory.

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

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

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

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

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

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

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

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

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

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

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

ステップS707において、ジョブ受付部402(又はジョブ実行部406)は、第1のジョブの要求元(例えば、画像形成装置102)に、第1のジョブが完了したことを通知する。 In step S707, the job receiving unit 402 (or the job executing unit 406) notifies the requester 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, when the process proceeds to step S708, thejob execution unit 406 determines whether or not there is a second job (information on the second job) waiting for processing in thejob queue 501.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ステップS801において、ジョブ処理装置101は、他のジョブ処理装置101から、ジョブ処理装置101がジョブのデータを管理する第1のジョブの実行を要求する実行要求を受信すると、ステップS802以降の処理を実行する。 In step S801, when the job processing device 101 receives an execution request from another job processing device 101 requesting the execution of the first job in which the job processing device 101 manages the job data, the job processing device 101 performs the processing after step S802. Run.

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

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

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

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

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

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

ステップS805において、更新情報通知部405は、第1のジョブの情報が更新されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。この更新情報には、更新された第1のジョブの情報が含まれる。 In step S805, the updateinformation notification unit 405 notifies each of the other job processing devices 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 information of the first job.

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

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

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

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

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

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

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

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

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

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

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

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

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

同様に、ステップS903において、例えば、画像形成装置C102−3から、ジョブ処理装置B101−2に対して、ジョブの実行要求が送信される。 Similarly, in step S903, for example, the image forming apparatus C102-3 transmits a job execution request 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 device B101-2 manages the job received from the image forming device A102-3 as, for example, the job ID “C1”. At this time, since the job processing device B101-2 has not executed another job, the received job with the job ID "C1" is immediately executed without being stored in thejob queue 1102.

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

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

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

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

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

ステップS908において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブID「B1」のジョブの情報を、ジョブキュー1102に記憶する。 In step S908, the jobinformation management unit 404 of the job processing device B101-2 transfers the job information of the job ID "B1" to thejob queue 1102 based on the update information of the job transmitted from the job processing device A101-1. Remember in.

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

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

ステップS910における各ジョブ処理装置101のジョブキューのイメージを図11(b)に示す。図11(b)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(b)において、「管理する装置」に記憶されている「A」は、ジョブ処理装置A101−1を示すものとする。 An image of the job queue of each job processing device 101 in step S910 is shown in FIG. 11B. As shown in FIG. 11B, the job information of the job ID “B1” is commonly stored in thejob queues 1101, 1102, 1103 of each job processing device 101. In FIG. 11B, "A" stored in the "managing device" indicates the job processing device A101-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 device C101-3, which has not executed another job, executes, for example, the job execution processing shown in FIG. 7. Here, the information of the first job waiting to be processed is not stored in thejob queue 1103 of the job processing device C101-3, and the information of the second job waiting to be processed (the job of the job ID "B1") is stored. Information) is stored. Therefore, thejob execution unit 406 of the job processing device C101-3 requests the job processing device A101-1 that manages the job data of the job ID "B1" to execute the job of the job ID "B1". Send.

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

ステップS912において、ジョブ処理装置A101−1のジョブ情報管理部404は、実行要求を受付したジョブID「B1」のジョブの状態を確認する。ここでは、図11(b)に示すように、ジョブID「B1」のジョブの状態は「処理待ち」である。 In step S912, the jobinformation management unit 404 of the job processing device A101-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 jobinformation management unit 404 of the job processing device A101-1 notifies the job processing device C101-3 of the execution request of the permission information for permitting the execution of the job of the job ID “B1”.

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

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

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

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

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

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

ステップS918における各ジョブ処理装置101のジョブキューのイメージを図11(c)に示す。図11(c)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(c)において、「処理する装置」に記憶されている「C」は、ジョブ処理装置C101−3を示すものとする。 An image of the job queue of each job processing device 101 in step S918 is shown in FIG. 11 (c). As shown in FIG. 11C, the job information of the job ID “B1” is commonly stored in thejob queues 1101, 1102, 1103 of each job processing device 101. In FIG. 11C, “C” stored in the “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 jobdata management unit 403 of the job processing device A101-1 corresponds to, for example, the job data of the job ID “B1” in response to a request from the job processing device C101-1. Obtain from the save destination of the job data to be executed. Further, the jobdata management unit 403 of the job processing device A101-1 transmits the acquired job data of the job ID “B1” to the job processing device C101-1.

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

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

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

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

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

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

ステップS925において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されていたジョブID「B1」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。 In step S925, the updateinformation notification unit 405 of the job processing device A101-1 processes the job update information indicating that the job information of the job ID "B1" stored in thejob 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 jobinformation management unit 404 of the job processing device C101-3 uses the job ID “B1” stored in thejob queue 1103 based on the update information of the job transmitted from the job processing device A101-1. Delete the information in. Further, the jobdata management unit 403 of the job processing device C101-3 deletes the job data of the job ID “B1”.

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

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

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

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

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

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

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

<機能構成>
第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 first embodiment shown in FIG. 4, the description will be focused on the differences from the first embodiment. Do.

処理コスト算出部408は、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、複数の第2のジョブの処理コストを算出する。処理コスト算出部408は、例えば、図6(a)に示すようなプラグインのコスト情報601と、例えば、図6(b)に示すような通信速度情報602とを用いて、第2のジョブ毎の処理コストを算出する。 The processingcost calculation unit 408 calculates the processing cost of the 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. The processingcost calculation unit 408 uses, for example, thecost information 601 of the plug-in as shown in FIG. 6 (a) and thecommunication speed information 602 as shown in FIG. 6 (b) to perform a second job. Calculate the processing cost for each.

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

(ジョブの処理コスト)=(実行するプラグインのコストの総和)×(通信コスト)
=Σプラグインのコスト×(ジョブデータサイズ[MB]×8/通信速度[Mbps])
なお、上記の式では、ジョブデータサイズに8を乗算することにより、byteを、bitに変換している。
(Job processing cost) = (Total cost of plug-ins to be executed) x (Communication cost)
= Σ plug-in cost x (job data size [MB] x 8 / communication speed [Mbps])
In the above formula, bytes are converted to bits 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 device C101-3 as shown in FIG. 5A, the processingcost calculation unit 408 of the job processing device C101-3 has 2 The processing cost of the second 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) x ((4 x 10 ^ 6 x 8) / (50 x 10 ^ 6)) = 121.6
(Processing cost of job ID "C5")
= (100 + 10) x ((5 x 10 ^ 6 x 8) / (20 x 10 ^ 6)) = 220
When the job queue does not have the first job waiting for processing and the job queue has a plurality of second jobs waiting for processing, the executionjob determination unit 407 calculates each second job by the processingcost calculation unit 408. The processing cost of is used to determine one second job to execute.

例えば、実行ジョブ決定部407は、処理コスト算出部408が算出した第2のジョブ毎の処理コストの値が低い方から順に、実行する1つの第2のジョブを決定する。 For example, the executionjob determination unit 407 determines one second job to be executed in order from the lowest value of the processing cost for each second job calculated by the processingcost 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 executionjob determination unit 407 determines the job of the job ID "A3" as the second job to be executed. To do.

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

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

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

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

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

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

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

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

ステップS1203において、実行ジョブ決定部407は、候補となる第2のジョブの中から、ジョブの処理コストが最も低い1つの第2のジョブを特定する。 In step S1203, the executionjob 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 executionjob determination unit 407 transmits an execution request requesting execution of the specified second job to another job processing device 101 that manages the data of the specified second job.

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

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

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

ステップS1206において、実行ジョブ決定部407は、他に候補となる第2のジョブがあるかを判断する。 In step S1206, the executionjob 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 executionjob determination unit 407 ends the process. On the other hand, when there is another candidate second job, the executionjob determination unit 407 shifts the process to step S1207.

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

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

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

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

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

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

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

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

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

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

負荷分散装置1401は、例えば、特許文献1と同様に、ジョブを複数のジョブ処理装置101に振り分けるものとする。 As inPatent Document 1, theload distribution device 1401 distributes jobs to a plurality of job processing devices 101, for example.

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

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

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

このようなシステム構成においても、各ジョブ処理装置101は、自装置で受付けた第1のジョブがなくなると、他のジョブ処理装置101が受付けた第2のジョブを自律的に取得して、実行することができる。したがって、ジョブ処理システム1400においても、ジョブ処理システム1400全体で効率良く複数のジョブを分散処理することができる。 Even in such a system configuration, each job processing device 101 autonomously acquires and executes a second job received by another job processing device 101 when the first job received by its own device disappears. can do. Therefore, even in thejob processing system 1400, a plurality of jobs can be efficiently distributed and processed in the entirejob 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 shown in FIG. 4 may be included in theimage forming apparatus 102. Further, each storage unit included in the job processing device 101 shown in FIG. 4 may be included in a storage server or the like connected via thenetwork 107.

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

特開2013−105237号公報Japanese Unexamined Patent Publication No. 2013-105237

Claims (13)

Translated fromJapanese
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、
前記ジョブ処理装置は、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理システム。
A job processing system in which a plurality of job processing devices that execute jobs, which are execution units of processing based on a workflow in which one or more processes are defined, are connected via a network.
The job processing device is
The job reception department that accepts the job and
The job information related to the execution of the first job, which is the job received by the job processing device, and the job sent from another job processing device different from the job processing device and received by the other job processing device. A job information management unit that stores and manages job information related to the execution of a second job in the job information storage unit, and
A notification unit that notifies the other job processing device of the job information of the first job in response to the acceptance of the first job.
When the job information of the first job whose processing has not been started is stored in the job information storage unit, the first job is executed.
When the job information of the first job whose processing has not been started is not stored in the job information storage unit, the second job which is stored in the job information storage unit and whose processing has not been started. The job execution unit that executes the second job based on the job information of
Job processing system with.
前記ジョブ実行部は、
前記第1のジョブの実行を開始したことに応じて、当該第1のジョブのジョブ情報を変更し、
前記通知部は、
前記第1のジョブのジョブ情報が変更された場合、当該ジョブ情報を前記他のジョブ処理装置に通知する請求項1に記載のジョブ処理システム。
The job execution unit
The job information of the first job is changed according to the start of execution of the first job.
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
When the job information of the first job whose processing has not been started is not stored in the job information storage unit, the second job which is stored in the job information storage unit and whose processing has not been started. Based on the job information of, the request information requesting that the second job be executed by the job processing device is transmitted to the other job processing device that has received the second job, and the other According to claim 1 or 2, when the permission information for permitting the execution of the second job is received from the job processing device of the second job, the data to be processed in the second job is acquired 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 device, a completion notification indicating that the execution of the second job is completed is given to the other person who has acquired the data of the processing target of the second job. The job processing system according to claim 3, which notifies the job processing apparatus of the above.
前記ジョブ情報管理部は、
前記他のジョブ処理装置から、前記ジョブ情報記憶部に記憶されている前記第1のジョブを前記他のジョブ処理装置によって実行することを要求する要求情報を受信したときに、前記第1のジョブが処理待ちの状態である場合、
当該要求情報を送信した前記他のジョブ処理装置に、前記第1のジョブの実行を許可する許可情報を送信し、前記ジョブ情報記憶部に記憶されている前記第1のジョブのジョブ情報に、前記第1のジョブの処理が開始されたことを示す情報を記憶する請求項1乃至4のいずれか一項に記載のジョブ処理システム。
The job information management department
When the request information requesting that the first job stored in the job information storage unit be executed by the other job processing device is received from the other job processing device, the first job Is waiting for processing
The permission information for permitting the execution of the first job is transmitted to the other job processing device that has transmitted the request information, and the job information of the first job stored in the job information storage unit is added to the job information. The job processing system according to any one of claims 1 to 4, which stores information indicating that the processing of the first job has been started.
前記ジョブ処理装置は、
前記許可情報を送信した前記他のジョブ処理装置から、前記第1のジョブの実行が完了したことを示す完了情報の通知を受付した場合、
前記ジョブ情報記憶部に記憶した前記第1のジョブのジョブ情報を削除し、
前記第1のジョブの要求元に、前記第1のジョブが完了したことを通知する請求項5に記載のジョブ処理システム。
The job processing device is
When the notification of the completion information indicating that the execution of the first job is completed is received from the other job processing device that has transmitted the permission information.
The job information of the first job stored in the job information storage unit is deleted.
The job processing system according to claim 5, which notifies the requester of the first job that the first job has been completed.
前記ジョブ処理装置は、
前記ジョブ情報記憶部に記憶されている前記第2のジョブの処理コストを算出する処理コスト算出部と、
前記ジョブ情報記憶部に処理が開始されていない複数の前記第2のジョブが記憶されている場合、前記処理コスト算出部が算出した前記処理コストを用いて、前記ジョブ実行部で実行する一の前記第2のジョブを決定する実行ジョブ決定部と、
を有する請求項1乃至6のいずれか一項に記載のジョブ処理システム。
The job processing device is
A processing cost calculation unit that calculates the processing cost of the second job stored in the job information storage unit, and a processing cost calculation unit.
When a plurality of the second jobs whose processing has not been started are stored in the job information storage unit, the processing cost calculated by the processing cost calculation unit is used to execute one in the job execution unit. The execution job determination unit that determines the second job, and
The job processing system according to any one of claims 1 to 6.
前記ジョブ処理装置の前記処理コスト算出部は、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報を用いて、前記第2のジョブの処理コストを算出する請求項7に記載のジョブ処理システム。
The processing cost calculation unit of the job processing device
The job processing system according to claim 7, wherein the processing cost of the second job is calculated by using the information of the communication speed between the job processing device and another job processing device.
前記ジョブ処理装置の前記処理コスト算出部は、
前記第2のジョブに応じた前記ワークフローに定義された前記1つ以上の処理コストの総コストを算出し、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報と、前記第2のジョブのデータサイズとを用いて通信コストを算出し、
前記算出された前記総コストと、前記通信コストの積を用いて、前記第2のジョブの処理コストを算出する請求項7又は8に記載のジョブ処理システム。
The processing cost calculation unit of the job processing device
The total cost of one or more of the processing costs defined in the workflow according to the second job is calculated.
The communication cost is calculated using the information on the communication speed between the job processing device and another job processing device and the data size of the second job.
The job processing system according to claim 7 or 8, wherein the processing cost of the second job is calculated by using the 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 the processing stored in the job information storage unit. The job processing system according to any one of claims 7 to 9, which determines the one job to be executed by the unit.
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置であって、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理装置。
The job processing device of a job processing system in which a plurality of job processing devices that execute jobs, which are execution units of processing based on a workflow in which one or more processes are defined, are connected via a network.
The job reception department that accepts the job and
The job information related to the execution of the first job, which is the job received by the job processing device, and the job sent from another job processing device different from the job processing device and received by the other job processing device. A job information management unit that stores and manages job information related to the execution of a second job in the job information storage unit, and
A notification unit that notifies the other job processing device of the job information of the first job in response to the acceptance of the first job.
When the job information of the first job whose processing has not been started is stored in the job information storage unit, the first job is executed.
When the job information of the first job whose processing has not been started is not stored in the job information storage unit, the second job which is stored in the job information storage unit and whose processing has not been started. The job execution unit that executes the second job based on the job information of
Job processing device with.
1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムの前記ジョブ処理装置に、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するステップと、
を実行させるためのプログラム。
To the job processing device of the job processing system in which a plurality of job processing devices that execute jobs, which are execution units of processing based on a workflow in which one or more processes are defined, are connected via a network.
The step of accepting the job and
The job information related to the execution of the first job, which is the job received by the job processing device, and the job sent from another job processing device different from the job processing device and received by the other job processing device. A step of storing and managing job information related to the execution of a second job in the job information storage unit, and
A step of notifying the other job processing device of the job information of the first job in response to the acceptance of the first job, and
When the job information of the first job whose processing has not been started is stored in the job information storage unit, the step of executing the first job and
When the job information of the first job whose processing has not been started is not stored in the job information storage unit, the second job which is stored in the job information storage unit and whose processing has not been started. Steps to execute the second job based on the job information of
A program to execute.
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 devices that execute jobs, which are execution units of processing based on a workflow in which one or more processes are defined, are connected via a network.
The job processing device
The step of accepting the job and
The job information related to the execution of the first job, which is the job received by the job processing device, and the job sent from another job processing device different from the job processing device and received by the other job processing device. A step of storing and managing job information related to the execution of a second job in the job information storage unit, and
A step of notifying the other job processing device of the job information of the first job in response to the acceptance of the first job, and
When the job information of the first job whose processing has not been started is stored in the job information storage unit, the step of executing the first job and
When the job information of the first job whose processing has not been started is not stored in the job information storage unit, the second job which is stored in the job information storage unit and whose processing has not been started. Steps to execute the second job based on the job information of
Job processing method including.
JP2016176813A2016-09-092016-09-09 Job processing system, job processing device, job processing method, and programExpired - Fee RelatedJP6786975B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2016176813AJP6786975B2 (en)2016-09-092016-09-09 Job processing system, job processing device, job processing method, and program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2016176813AJP6786975B2 (en)2016-09-092016-09-09 Job processing system, job processing device, job processing method, and program

Publications (2)

Publication NumberPublication Date
JP2018041400A JP2018041400A (en)2018-03-15
JP6786975B2true JP6786975B2 (en)2020-11-18

Family

ID=61626174

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2016176813AExpired - Fee RelatedJP6786975B2 (en)2016-09-092016-09-09 Job processing system, job processing device, job processing method, and program

Country Status (1)

CountryLink
JP (1)JP6786975B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR102227204B1 (en)*2019-02-122021-03-11한전케이디엔주식회사Real-Time Work Flow Management System using Distributed Processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH11312149A (en)*1998-04-281999-11-09Hitachi Ltd Load distribution control method and device
JP2004206298A (en)*2002-12-242004-07-22Casio Soft Co Ltd Job processing system and program
JP2008077266A (en)*2006-09-202008-04-03Nec CorpService control unit, distributed service control system, service control method, and program
JP4245055B2 (en)*2007-01-292009-03-25コニカミノルタビジネステクノロジーズ株式会社 Image processing system, image processing apparatus, job processing method, and program

Also Published As

Publication numberPublication date
JP2018041400A (en)2018-03-15

Similar Documents

PublicationPublication DateTitle
JP5383335B2 (en) Data transmission apparatus, transmission control method, and program
CN101043574B (en)Image forming apparatus and image forming method
US20130176592A1 (en)Output control system, output control method, and output control apparatus
JP6179083B2 (en) Information processing apparatus, output system, and program
JP6064800B2 (en) Information processing apparatus and program
CN104917922A (en)Image forming apparatus, data management method, and storage medium
JP2017192110A (en)System, server, method, and program for storing data
JP6303505B2 (en) Information processing system, information processing method, device, and program
CN110389727A (en) Image forming system and image forming method
US20120272188A1 (en)Information processing apparatus, information processing method, and non-transitory computer readable medium
JP6195340B2 (en) Content management system, server device, control method, and 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
KR102143411B1 (en)Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP6844197B2 (en) Information processing system, program, processing execution method
JP7047504B2 (en) Job system, job execution method, information processing device, program
JP5417043B2 (en) Image forming apparatus, image forming system, and image processing method
US9866721B2 (en)Information processing apparatus, image forming apparatus, and non-transitory computer readable medium for file distribution to servers
JP6727775B2 (en) Server device, control system, control method, and program
CN106371774A (en)Server apparatus that distributes print data, management method of print data
JP2021110992A (en)Color management apparatus, color management method, and program
JP5833605B2 (en) Image processing apparatus and image processing system
JP7346926B2 (en) Information processing device, information processing method, program and information processing system
JP2009134413A (en)Image processing system and image processing program
JP6481666B2 (en) Image processing device

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20190703

A977Report on retrieval

Free format text:JAPANESE INTERMEDIATE CODE: A971007

Effective date:20200806

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20200929

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20201012

R151Written notification of patent or utility model registration

Ref document number:6786975

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R151

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp