JP2018041400A - Job processing system, job processing device, job processing method, and program - Google Patents
Job processing system, job processing device, job processing method, and program Download PDFInfo
- Publication number
- JP2018041400A JP2018041400A JP2016176813A JP2016176813A JP2018041400A JP 2018041400 A JP2018041400 A JP 2018041400A JP 2016176813 A JP2016176813 A JP 2016176813A JP 2016176813 A JP2016176813 A JP 2016176813A JP 2018041400 A JP2018041400 A JP 2018041400A
- Authority
- JP
- Japan
- Prior art keywords
- job
- information
- processing
- processing apparatus
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
Description
本発明は、ジョブ処理システム、ジョブ処理装置、ジョブ処理方法、及びプログラム
に関する。
The present invention relates to a job processing system, a job processing apparatus, a job processing method, and a program.
例えば、画像形成装置によって文書からスキャンされた画像データや、他の手段によって入力されたデータ等に関して、予め定義されたワークフローに基づいてワークフロー処理(以下、ジョブと呼ぶ)を実行可能なジョブ処理システムが知られている。 For example, a job processing system capable of executing workflow processing (hereinafter referred to as a job) based on a predefined workflow regarding image data scanned from a document by an image forming apparatus, data input by other means, and the like It has been known.
また、ジョブを複数のジョブ処理装置へ振り分ける負荷分散装置を有し、実行が要求された複数のジョブをジョブ単位で複数のジョブ処理装置に振り分けて処理するジョブ処理システムが知られている(例えば、特許文献1参照)。 There is also known a job processing system that has a load distribution device that distributes jobs to a plurality of job processing devices and distributes and processes a plurality of jobs requested to be executed to a plurality of job processing devices in units of jobs (for example, , See Patent Document 1).
特許文献1に開示されたジョブ処理システムでは、複数の処理を組合せたワークフロー処理は、ワークフローの定義によって、処理に要する時間が異なるため、負荷分散装置がジョブ単位でワークフロー処理をジョブ処理装置へ振り分けることでは、ジョブ処理システム全体の負荷を効率良く分散することは困難である。
In the job processing system disclosed in
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。 The embodiments of the present invention have been made in view of the above problems, and in a job processing system that executes workflow processing based on a workflow, a plurality of workflow processes are efficiently distributed in the entire job processing system. To be able to.
上記課題を解決するため、本発明の一実施形態に係るジョブ処理システムは、1以上の処理が定義されたワークフローに基づく処理の実行単位であるジョブを実行する複数のジョブ処理装置がネットワークを介して接続されるジョブ処理システムであって、前記ジョブ処理装置は、前記ジョブを受け付けるジョブ受付部と、当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、を有する。 In order to solve the above-described problem, a job processing system according to an embodiment of the present invention includes a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, via a network. The job processing apparatus includes: a job receiving unit that receives the job; job information relating to execution of a first job that is the job received by the job processing apparatus; and the job Job information transmitted from another job processing apparatus different from the processing apparatus and stored in the job information storage unit for management of job information related to the execution of the second job that is the job received by the other job processing apparatus In response to reception of the first job by the management unit, the job information of the first job is changed to the other job. If the job information of the first job that has not been processed is stored in the notification unit that notifies the job processing device and the job information storage unit, the first job is executed, and the job information If the job information of the first job that has not been processed is not stored in the storage unit, the job information of the second job that has not been started and is stored in the job information storage unit And a job execution unit that executes the second job.
本発明の一実施形態によれば、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようになる。 According to an embodiment of the present invention, in a job processing system that executes a workflow process based on a workflow, a plurality of workflow processes can be efficiently distributed in the entire job processing system.
以下に、本発明の実施の形態について、添付の図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the accompanying drawings.
<システムの構成>
図1は、一実施形態に係るジョブ処理システムのシステム構成の一例を示す図である。ジョブ処理システム100は、例えば、インターネット等のネットワーク107に接続される複数のジョブ処理装置であるジョブ処理装置A101−1、ジョブ処理装置B101−2、及びジョブ処理装置C101−3を含む。なお、以下の説明の中で、複数のジョブ処理装置のうち、任意のジョブ処理装置を示す場合、「ジョブ処理装置101」を用いる。また、図1に示すジョブ処理装置101の数は一例である。ジョブ処理装置101の数は、2つ以上の他の数であっても良い。
<System configuration>
FIG. 1 is a diagram illustrating an example of a system configuration of a job processing system according to an embodiment. The
図1の例では、ジョブ処理装置A101−1は、地域A104に設けられており、地域A104内のLAN(Local Area Network)103Aを介して、複数の画像形成装置A102−1、及び画像形成装置B102−2と接続されている。なお、地域Aは、ジョブ処理装置A101−1を含むグループの一例である。ジョブ処理装置A101−1を含むグループは、例えば、拠点、ビル、フロア、部署等であっても良い。
In the example of FIG. 1, the job processing apparatus A 101-1 is provided in an
また、ジョブ処理装置B101−2は、地域B105に設けられており、地域B105内のLAN103Bを介して、複数の画像形成装置C102−3、及び画像形成装置D102−4接続されている。なお、地域Bは、ジョブ処理装置B101−2を含むグループの一例である。
The job processing apparatus B 101-2 is provided in the
さらに、ジョブ処理装置C101−3は、地域C106に設けられており、地域C106内のLAN103Cを介して、複数の画像形成装置E102−5、及び画像形成装置F102−6接続されている。なお、地域Cは、ジョブ処理装置C101−3を含むグループの一例である。
Further, the job processing apparatus C101-3 is provided in the area C106, and is connected to a plurality of image forming apparatuses E102-5 and F102-6 via the
図1の例では、地域CのLAN103には、例えば、PC(Personal Computer)、タブレット端末、又はスマートフォン等の情報端末108が接続されている。このように、各地域のLANには、画像形成装置102に加えて(又は代えて)情報端末108が接続されていても良い。
In the example of FIG. 1, an
上記の構成において、ジョブ処理システム100は、例えば、画像形成装置102によって入力された画像データに対して、利用者が作成(又は選択)したワークフローに基づいて処理を行う。
In the above configuration, for example, the
ワークフローとは、例えば、画像データに対する、入力処理、画像変換処理、出力処理等の各処理(プラグイン)を組合せて、所定の処理を定義したものである。なお、以下の説明の中で、ワークフローで指定された所定の処理の実行単位をジョブと呼ぶ。 For example, a workflow defines a predetermined process by combining each process (plug-in) such as an input process, an image conversion process, and an output process for image data. In the following description, an execution unit of a predetermined process designated in the workflow is called a job.
例えば、各画像形成装置102は、画像形成装置102に入力された画像データ(ジョブのデータ)と、実行するワークフローの情報(ジョブの情報)とを、同じ地域内のジョブ処理装置101に送信する。
For example, each
ジョブ処理システム100は、複数の画像形成装置102から、各地域のジョブ処理装置101に送信された複数のジョブを、複数のジョブ処理装置101で分散して処理を実行する。例えば、ジョブ処理装置A101−1は、ジョブAを実行中に、画像形成装置A102−1から他のジョブBを受付すると、受付したジョブBの情報を自装置のジョブキュー(待ち行列)に記憶し、ジョブBのデータを記憶部に記憶する。
The
また、ジョブ処理装置A101−1は、ジョブ処理装置A101−1が受付したジョブBの情報を、他のジョブ処理装置B101−2、及びジョブ処理装置C101−3に通知する。 Further, the job processing apparatus A 101-1 notifies the other job processing apparatus B 101-2 and the job processing apparatus C 101-3 of the information on the job B accepted by the job processing apparatus A 101-1.
通知を受けた他のジョブ処理装置B101−2、及びジョブ処理装置C101−3は、ジョブ処理装置A101−1が受付したジョブBの情報を、それぞれ、自装置のジョブキューに記憶する。 The other job processing apparatus B 101-2 and job processing apparatus C 101-3 that have received the notification store the information of the job B accepted by the job processing apparatus A 101-1, respectively, in the job queue of the own apparatus.
このように、各ジョブ処理装置101は、自装置で受付した処理待ちのジョブの情報を自装置のジョブキューに記憶して管理すると共に、自装置で受付した処理待ちのジョブの状態が変化すると、変化したジョブの情報を他のジョブ処理装置101に通知する。 As described above, each job processing apparatus 101 stores and manages information on a job waiting for processing accepted by the own apparatus in the job queue of the own apparatus, and changes in the status of the job waiting for processing accepted by the own apparatus. The changed job information is notified to the other job processing apparatus 101.
これにより、ジョブ処理システム100の各ジョブ処理装置101は、ジョブ処理システム100全体で処理待ちとなっているジョブの情報を、ジョブキューに記憶して管理することができる。
Accordingly, each job processing apparatus 101 of the
また、各ジョブ処理装置101は、ジョブキューに記憶されているジョブのうち、自装置で受付し、自装置でジョブのデータを記憶しているジョブを優先的に実行する。また、各ジョブ処理装置101は、ジョブキューに、自装置で受付したジョブがない場合、ジョブキューに記憶された、他のジョブ処理装置で受付したジョブを取得し、実行する。 Each job processing apparatus 101 receives a job stored in the job queue by its own apparatus and preferentially executes a job storing job data in its own apparatus. Further, each job processing apparatus 101 acquires and executes a job received by another job processing apparatus stored in the job queue when there is no job received by the own apparatus in the job queue.
これにより、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム全体で効率良く複数のジョブを分散処理することができるようになる。
As a result, according to the present embodiment, in the
なお、ジョブ処理システム100が実行するジョブは、画像形成装置102から受付した画像データに対する処理に限られず、例えば、情報端末108から受付した文書データに対する処理等であっても良い。
The job executed by the
<ハードウェア構成>
(ジョブ処理装置、及び情報端末のハードウェア構成)
図1に示すジョブ処理装置101、及び情報端末108は、一般的なコンピュータの構成を有しているので、ここでは、一般的なコンピュータのハードウェア構成について説明する。
<Hardware configuration>
(Hardware configuration of job processing device and information terminal)
Since the job processing apparatus 101 and the
図2は、一実施形態に係るコンピュータのハードウェア構成例を示す図である。コンピュータ200は、例えば、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、ストレージ装置204、ネットワークI/F205、入力装置206、表示装置207、外部I/F208、及びバス209等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of a computer according to an embodiment. The
CPU201は、ROM203やストレージ装置204等に格納されたプログラムやデータをRAM202上に読み出し、処理を実行することで、コンピュータ200の各機能を実現する演算装置である。RAM202は、CPU201のワークエリア等として用いられる揮発性のメモリである。ROM203は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
The
ストレージ装置204は、例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)等の大容量の記憶装置であり、OS、アプリケーションプログラム、各種のデータ等を記憶する。ネットワークI/F205は、コンピュータ200をネットワーク107等に接続するための通信インタフェースである。
The
入力装置206は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、コンピュータ200に各操作信号を入力するために用いられる。表示装置207はディスプレイ等の表示デバイスであり、コンピュータ200による処理結果等を表示する。
The
外部I/F208は、外部装置とのインタフェースである。外部装置には、記録媒体210等が含まれる。
The external I /
バス209は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
A
(画像形成装置のハードウェア構成)
図3は、一実施形態に係る画像形成装置102のハードウェア構成例を示す図である。
(Hardware configuration of image forming apparatus)
FIG. 3 is a diagram illustrating a hardware configuration example of the
画像形成装置102は、コントローラ310、操作パネル320、通信I/F330、プロッタ340、スキャナ350、及びファクスコントロールユニット(以下、FCUと呼ぶ)360等を有する。
The
コントローラ310は、CPU311、RAM312、ROM313、NVRAM(Non-Volatile RAM)314、及びHDD315等を含む。
The
ROM313は、各種プログラムやデータを格納している不揮発性の記憶装置である。RAM312は、プログラムやデータを一時保持する揮発性の記憶装置である。NVRAM314は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。HDD315は、各種プログラムやデータを格納している大容量の記憶装置である。
The
CPU311は、ROM313、NVRAM314、HDD315等からプログラムやデータ、設定情報等をRAM312上に読み出し、処理を実行することで、画像形成装置102の全体の制御や機能を実現する演算装置である。
The
操作パネル320は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信I/F330は、画像形成装置102をLAN130等のネットワークに接続するインタフェースである。これにより、画像形成装置102は、ジョブ処理装置101等と通信を行うことができる。
The
プロッタ340は、印刷データを印刷する印刷装置である。スキャナ350は、原稿等を読み取る読取装置である。FCU360は、ファクスデータの送受信を行う。
The
<機能構成>
図4は、一実施形態に係るジョブ処理システムの機能構成図である。ジョブ処理システム100は、ネットワーク107を介して互いに通信可能に接続されるジョブ処理装置A101−1、ジョブ処理装置B101−2、及びジョブ処理装置C101−3を含む。
<Functional configuration>
FIG. 4 is a functional configuration diagram of the job processing system according to the embodiment. The
なお、図4において、ジョブ処理装置B101−2、及びジョブ処理装置C101−3は、ジョブ処理装置A101−1と同様の機能構成を有しているものとする。また、図4に示すジョブ処理装置101の数は一例であり、ジョブ処理システム100に含まれる複数のジョブ処理装置101の数は、2台以上の他の数であっても良い。
In FIG. 4, it is assumed that the job processing apparatus B 101-2 and the job processing apparatus C 101-3 have the same functional configuration as the job processing apparatus A 101-1. Further, the number of job processing apparatuses 101 illustrated in FIG. 4 is an example, and the number of the plurality of job processing apparatuses 101 included in the
ジョブ処理装置101は、通信部401、ジョブ受付部402、ジョブデータ管理部403、ジョブ情報管理部404、更新情報通知部405、ジョブ実行部406、実行ジョブ決定部407、及び処理コスト算出部408等を有する。また、ジョブ処理装置101は、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415を有する。
The job processing apparatus 101 includes a
通信部401は、ネットワーク107を介して、他のジョブ処理装置101と通信する手段であり、例えば、図2のネットワークI/F205、及び図2のCPU201で実行されるプログラム等によって実現される。
The
ジョブ受付部402は、画像形成装置102、又は情報端末108等の端末装置から、処理対象となるデータに、指定された1つ以上の処理を実行するジョブを受付する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。ジョブ受付部402が受付するジョブには、例えば、画像形成装置102に入力された画像データ(ジョブのデータ)、及び実行するワークフローの情報(ジョブの情報)等が含まれる。
The
ジョブデータ管理部403は、ジョブ受付部402が受付したジョブのデータ(例えば、画像データ、文書データ等)を、ジョブデータ記憶部411に記憶して、管理する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。また、ジョブデータ管理部403は、他のジョブ処理装置101からのジョブのデータの取得要求に応じて、ジョブデータ記憶部411に記憶したジョブのデータを提供する処理も行う。
The job
ジョブ情報管理部404は、ジョブ処理装置101が受け付けたジョブである第1のジョブの実行に関するジョブ情報と、他のジョブ処理装置101から送信され、他のジョブ処理装置が受け付けたジョブである第2のジョブの実行に関するジョブ情報とを、ジョブ情報記憶部412に記憶して、管理する。ジョブ情報管理部404は、例えば、図2のCPU201で実行されるプログラムによって実現される。
The job
なお、以下の説明の中で、ジョブ処理装置101が、自装置でジョブのデータを受け付けて管理するジョブを「第1のジョブ」と呼び、他のジョブ処理装置101が、ジョブのデータを受け付けて管理するジョブを「第2のジョブ」と呼ぶ。 In the following description, a job that the job processing apparatus 101 receives and manages job data on itself is referred to as a “first job”, and other job processing apparatuses 101 receive job data. The job managed in this way is called a “second job”.
ジョブ情報管理部404が、ジョブ情報記憶部412に記憶して、管理するジョブキューの一例のイメージを図5(a)に示す。
An example of a job queue stored and managed by the job
図5(a)の例では、ジョブキュー501には、「ジョブID」、「ジョブの要求元」、「ジョブデータのサイズ」、「実行するワークフロー」、「ジョブを処理するジョブ処理装置」、「ジョブの状態」、「ジョブの開始日時」等の情報が含まれる。
In the example of FIG. 5A, the
「ジョブID」の情報は、ジョブを識別するための識別情報であり、例えば、ジョブを受付したジョブ処理装置101のジョブ情報管理部404がユニークな値を付与する。図5(a)の例では、ジョブIDの先頭の文字は、ジョブを受付したジョブ処理装置101に対応している。例えば、「A」は、ジョブ処理装置A101−1が受付したジョブであり、「C」は、ジョブ処理装置C101−3が受付したジョブである。
The “job ID” information is identification information for identifying a job. For example, the job
ジョブIDは、例えば、ジョブデータ管理部403が管理するジョブデータと、ジョブ情報管理部404が管理するジョブ情報とを対応付けるキーとして用いられる。この場合、ジョブ情報管理部404は、ジョブIDを用いて、ジョブデータ管理部403が管理するジョブデータの中から、ジョブ情報に対応するジョブデータを特定し、取得することができる。
The job ID is used as a key for associating job data managed by the job
或いは、第1のジョブを受け付けて管理するジョブ処理装置101のジョブ情報管理部404は、第1のジョブのジョブIDと、当該第1のジョブのジョブデータの保存先とを対応付けて管理しておくものであっても良い。
Alternatively, the job
「ジョブの要求元」の情報は、ジョブの要求元の装置(例えば、画像形成装置102、情報端末108等)の名前や、識別情報等、ジョブを要求した装置を特定するための情報である。
The “job request source” information is information for identifying the device that requested the job, such as the name of the job request source device (for example, the
「ジョブを管理するジョブ処理装置」の情報は、ジョブを受付し、ジョブのデータをジョブデータ記憶部411に記憶して、管理しているジョブ処理装置101を特定するための情報(名前、識別情報等)である。この情報により、ジョブ処理装置101は、各ジョブが、自装置でジョブのデータを管理する第1のジョブであるか、他のジョブ処理装置101がジョブのデータを管理する第2のジョブであるかを判断することができる。
The information “job processing apparatus that manages a job” is information (name, identification) for receiving a job, storing job data in the job
「ジョブデータのサイズ」の情報は、ジョブのデータ(例えば、画像データ)の大きさを示す情報である。 The “job data size” information is information indicating the size of job data (for example, image data).
「実行するワークフロー」の情報は、実行するワークフローを特定するための情報(例えば、ワークフローの名前、識別情報等)である。 The “executed workflow” information is information (for example, workflow name, identification information, etc.) for specifying the workflow to be executed.
「ジョブを処理するジョブ処理装置」の情報は、ジョブキュー501に記憶されているジョブを処理するジョブ処理装置101が決定されたときに、決定されたジョブ処理装置101を特定するための情報(名前、識別情報等)が記憶される。
The information of “job processing apparatus that processes a job” is information for specifying the determined job processing apparatus 101 when the job processing apparatus 101 that processes a job stored in the
「ジョブの状態」は、ジョブの状態を示す情報であり、例えば、まだジョブを処理するジョブ処理装置が決まっていない「処理待ち」の状態や、既にジョブを処理するジョブ処理装置101が決定した「処理中」の状態等の情報が記憶される。 “Job status” is information indicating the status of the job. For example, a “processing waiting” status in which a job processing device that processes a job has not yet been determined, or a job processing device 101 that has already processed a job has been determined. Information such as “processing in progress” is stored.
「ジョブの開始日時」の情報は、例えば、「ジョブの状態」が、「処理待ち」から「処理中」に更新された日時等の情報である。 The “job start date / time” information is, for example, information such as the date / time when the “job status” is updated from “waiting for processing” to “processing”.
例えば、図5(a)に示すジョブキュー501において、ジョブID「A3」のジョブを処理するジョブ処理装置101が、ジョブ処理装置C101−3に決定されると、ジョブキュー501は、例えば、図5(b)に示すように更新される。
For example, in the
図5(b)の例では、「ジョブを処理するジョブ処理装置」にジョブを処理するジョブ処理装置C101−3の情報が記憶されて、「ジョブの状態」が処理中となり、「ジョブの開始日時」が記録されている。 In the example of FIG. 5B, the information of the job processing device C101-3 that processes the job is stored in the “job processing device that processes the job”, the “job state” is being processed, and “job start” "Date and time" is recorded.
ジョブ情報管理部404は、ジョブ処理装置101がジョブのデータを管理する第1のジョブの情報、及び他のジョブ処理装置101から通知される第2のジョブの情報を、例えば、図5(a)、(b)に示すようなジョブキュー501に記憶して、管理する。
The job
なお、ジョブキュー501は、待ち行列となっており、新たに受付されたジョブは、例えば、ジョブキュー501の下側に順次に追加される。また、ジョブキュー501では、基本的に、先にジョブキュー501に記憶されたジョブ、すなわち、ジョブキュー501の上側に記憶されたジョブから順に実行される。ジョブの実行が完了したジョブは、ジョブキュー501から削除される。
The
また、ジョブデータ管理部403は、他のジョブ処理装置101から、ジョブキュー501に記憶した第2のジョブの情報が変更されたことを示す変更情報を受付すると、ジョブキュー501に記憶した第2のジョブの情報を更新する。
When the job
さらに、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理待ちである場合、実行を許可する許可情報を要求元に返信する。
Furthermore, when the job processing apparatus 101 receives an execution request for requesting execution of the first job for managing job data, the job
さらにまた、ジョブデータ管理部403は、ジョブ処理装置101が、ジョブのデータを管理する第1のジョブの実行を要求する実行要求を受付したとき、受付した第1のジョブの「ジョブの状態」が処理中である場合、実行を拒否する拒否情報を要求元に返信する。
Furthermore, when the job processing apparatus 101 receives an execution request for requesting execution of the first job for managing job data, the job
図4に戻り、ジョブ処理装置101の機能構成の説明を続ける。 Returning to FIG. 4, the description of the functional configuration of the job processing apparatus 101 will be continued.
更新情報通知部405は、ジョブ情報管理部404が管理する第1のジョブの情報が変更された場合、変更された第1のジョブの情報を、他のジョブ処理装置101に通知する。更新情報通知部405は、例えば、図2のCPU201で実行されるプログラムによって実現される。
When the information on the first job managed by the job
例えば、更新情報通知部405は、ジョブ情報管理部404が管理するジョブキュー501に第1のジョブの情報が追加された場合、追加された第1のジョブの情報を含む第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。また、更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が変更された場合、変更された第1のジョブの情報を含む第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。さらに、また、更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が削除された場合、第1のジョブの情報が削除されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。
For example, when the information on the first job is added to the
ジョブ実行部406は、処理対象となるデータに、ワークフローで指定された1つ以上の処理を含むジョブを実行する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。
The
ジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理が開始されていない処理待ち状態の第1のジョブのジョブ情報が記憶されている場合、処理待ち状態の第1のジョブを、順次に実行する。
If the
また、ジョブ実行部406は、ジョブキュー501に、処理待ち状態の第1のジョブのジョブ情報が記憶されていない場合、ジョブキュー501に記憶されている、処理待ち状態の第2のジョブのジョブ情報に基づいて、第2のジョブのデータを取得し、実行する。
If the
例えば、ジョブ実行部406は、ジョブキュー501に記憶されている第2のジョブの情報に基づいて、第2のジョブのデータを管理している他のジョブ処理装置101に、第2のジョブの実行を要求する実行要求を送信する。
For example, based on the information on the second job stored in the
また、ジョブ実行部406は、実行要求を送信した他のジョブ処理装置から、第2のジョブの実行を許可する許可情報を受信した場合、他のジョブ処理装置から、第2のジョブのデータを取得し、実行する。さらに、ジョブ実行部406は、第2のジョブの実行が完了すると、第2のジョブの実行が完了したことを示す完了通知を、第2のジョブのデータを取得した他のジョブ処理装置101に通知する。
In addition, when the
なお、ジョブ実行部406は、例えば、図5(a)、(b)に示すジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報記憶部413に記憶されたワークフロー情報とに基づいて、各ジョブの処理内容を特定することができる。ワークフロー情報記憶部413に記憶されたワークフロー情報の一例のイメージを図5(c)に示す。
Note that the
図5(c)の例では、ワークフロー情報502には、「ワークフロー」の情報と、「ワークフローの内容」の情報とが含まれる。「ワークフロー」の情報は、ワークフローを特定するための情報(名前、識別情報等)である。「ワークフローの内容」の情報は、各ワークフローで実行される1つ以上の処理の実行順序が記憶されている。
In the example of FIG. 5C, the
例えば、ジョブ実行部406は、図5(a)に示すジョブキュー501において、ジョブID「A3」のジョブを実行する場合、実行するワークフロー「3」の内容を、ワークフロー情報502から取得する。また、ジョブ実行部406は、取得したワークフロー「3」の内容に基づいて、ジョブのデータに、画像変換プラグイン、OCR(Optical Character Recognition)プラグイン、及びメール送信プラグイン(処理の別の一例)を実行する。なお、以下の説明の中で、ワークフローを構成する各処理をプラグインと呼ぶ場合がある。
For example, when executing the job with the job ID “A3” in the
実行ジョブ決定部407は、ジョブキュー501に複数の第2のジョブの情報が記憶されている場合、複数の第2のジョブの中から、ジョブ実行部406が実行するジョブを決定する。実行ジョブ決定部407は、例えば、図2のCPU201で実行されるプログラムによって実現される。
The execution
一例として、実行ジョブ決定部407は、ジョブキュー501に記憶された複数の第2のジョブのうち、他のジョブよりも先にジョブキュー501に記憶された一のジョブを、ジョブ実行部406が実行するジョブを決定する。
As an example, the
別の一例として、実行ジョブ決定部407は、処理コスト算出部408が算出した、複数の第2のジョブの処理コストに基づいて、ジョブ実行部406が実行するジョブを決定するものであっても良い。なお、この場合の具体的な決定方法については、第2の実施形態で後述する。
As another example, the execution
処理コスト算出部408は、コスト情報記憶部414に記憶されたプラグインのコスト情報や、通信速度情報記憶部415に記憶された他のジョブ処理装置101との間の通信速度情報等に基づいて、第2のジョブの処理コストを算出する。なお、処理コストの具体的な算出方法については、第2の実施形態で後述する。
The processing
図6(a)は、コスト情報記憶部414に予め記憶されたプラグインのコスト情報のイメージを示している。図6(a)に示すように、プラグインのコスト情報601には、各プラグイン(処理)が、どのくらいの処理コストを要するのか、その重みを予め登録し、記憶した情報である。
FIG. 6A shows an image of plug-in cost information stored in advance in the cost
例えば、画像変換プラグインは、画像変換の処理に、他の処理よりも処理時間を要するため、他のプラグインよりも処理コストが高い「100」が設定されている。一方、メール送信プラグインは、メールの送信処理は、他の処理よりも短い時間で完了するため、他のプラグインよりも処理コストが低い「10」が設定されている。 For example, the image conversion plug-in requires more processing time than the other processes for the image conversion process, so “100”, which has a higher processing cost than the other plug-ins, is set. On the other hand, since the mail transmission plug-in completes the mail transmission process in a shorter time than the other processes, “10” is set, which has a lower processing cost than the other plug-ins.
図6(b)は、通信速度情報記憶部415に予め記憶されたジョブ処理装置101間の通信速度情報602のイメージを示している。図6(b)に示すように、ジョブ処理装置101間の通信速度情報602には、各ジョブ処理装置101間の通信速度を、予め登録し、記憶した情報である。
FIG. 6B shows an image of the
なお、ジョブ処理装置101間の通信速度情報602は、例えば、通信部401で計測した実際の通信速度を利用するものであっても良い。
Note that the
なお、プラグインのコスト情報601、及びジョブ処理装置101間の通信速度情報602の利用方法については、第2の実施形態で後述する。
Note that a method for using the plug-in
なお、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415は、例えば、図2のストレージ装置204、RAM202等によって実現される記憶手段である。
Note that the job
[第1の実施形態]
<処理の流れ>
続いて、第1の実施形態に係るジョブ処理方法の処理の流れについて説明する。
[First Embodiment]
<Process flow>
Subsequently, a processing flow of the job processing method according to the first embodiment will be described.
(ジョブの実行処理)
図7は、第1の実施形態に係るジョブの実行処理の例を示すフローチャートである。この処理は、各ジョブ処理装置101におけるジョブの実行処理の例を示している。
(Job execution processing)
FIG. 7 is a flowchart illustrating an example of job execution processing according to the first embodiment. This processing shows an example of job execution processing in each job processing apparatus 101.
ステップS701において、ジョブ処理装置101のジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理待ちの第1のジョブ(第1のジョブの情報)があるか否かを判断する。
In step S701, the
ジョブキュー501に処理待ちの第1のジョブがない場合、ジョブ実行部406は、処理をステップS708に移行させる。一方、ジョブキュー501に処理待ちの第1のジョブがある場合、ジョブ実行部406は、処理をステップS702に移行させる。
If there is no first job waiting to be processed in the
ここでは、ジョブキュー501に記憶されている第1のジョブが1つであるものとして以下の説明を行う。ジョブキュー501に複数の第1のジョブが記憶されている場合は、他の第1のジョブより先にジョブキュー501に記憶された1つの第1のジョブに対して、以下の処理を実行すれば良い。
Here, the following description will be given assuming that there is one first job stored in the
ステップS702に移行すると、ジョブ情報管理部404は、ジョブキュー501において、処理待ちとなっている第1のジョブの「ジョブの状態」を、「処理待ち」から「処理中」に変更(更新)する。
In step S702, the job
ステップS703において、ジョブ処理装置101の更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が更新されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。
In step S703, the update
このとき、他のジョブ処理装置101のジョブ情報管理部404は、通知されたジョブの更新情報を用いて、自装置のジョブキュー501の情報を更新する。
At this time, the job
ステップS704において、ジョブ実行部406は、第1のジョブを実行する。例えば、ジョブ実行部406は、図5に示すようなジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報502の「ワークフローの内容」に従って、ジョブデータ記憶部411に記憶された第1のジョブのデータを処理する。
In step S704, the
ステップS705において、ジョブ情報管理部404は、ジョブ実行部406により実行された第1のジョブの情報をジョブキュー501から削除し、ジョブデータ管理部403は、第1のジョブのデータをジョブデータ記憶部411から削除する。
In step S705, the job
ステップS706において、更新情報通知部405は、ジョブキュー501から第1のジョブが削除されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。
In step S <b> 706, the update
ステップS707において、ジョブ受付部402(又はジョブ実行部406)は、第1のジョブの要求元(例えば、画像形成装置102)に、第1のジョブが完了したことを通知する。 In step S707, the job reception unit 402 (or job execution unit 406) notifies the request source of the first job (for example, the image forming apparatus 102) that the first job has been completed.
一方、ステップS708に移行すると、ジョブ実行部406は、ジョブキュー501に処理待ちの第2のジョブ(第2のジョブの情報)があるか否かを判断する。
On the other hand, in step S708, the
ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS709に移行させる。
If there is no second job waiting for processing in the
ステップS709に移行すると、ジョブ実行部406は、ジョブキュー501に記憶された第2のジョブのデータを管理している他のジョブ処理装置に、第2のジョブの実行を要求する実行要求(要求情報)を送信する。
In step S709, the
なお、ここでは、ジョブキュー501に記憶されている第2のジョブが1つであるものとして以下の説明を行う。第1の実施形態では、ジョブキュー501に複数の第2のジョブが記憶されている場合、例えば、他の第2のジョブより先にジョブキュー501に記憶された1つの第2のジョブに対して、以下の処理を実行する。
Here, the following description will be given on the assumption that there is one second job stored in the
ステップS710において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から、例えば、所定の時間内に第2のジョブの実行を許可する許可情報を受信したかを判断する。
In step S710, the
所定の時間内に第2のジョブの実行を許可する許可情報を受信しない場合、例えば、第2のジョブ実行を拒否する拒否情報を受信した場合、或いは許可情報も拒否情報も受信できなかった場合、ジョブ実行部406は処理を終了させる。
When permission information for permitting execution of the second job is not received within a predetermined time, for example, when reject information for rejecting execution of the second job is received, or when neither permission information nor reject information is received The
一方、所定の時間内に第2のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部406は、処理をステップS711に移行させる。
On the other hand, when the permission information permitting the execution of the second job is received within a predetermined time, the
ステップS711において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から通知される第2のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部404は、第2のジョブの更新情報が受信された後、受信された第2のジョブの更新情報に従って、ジョブキュー501に記憶した第2のジョブの情報を更新する。
In step S <b> 711, the
ステップS712において、ジョブ実行部406は、第2のジョブのデータを管理している他のジョブ処理装置101から、第2のジョブのデータを取得する。
In step S <b> 712, the
ステップS713において、ジョブ実行部406は、第2のジョブを実行する。例えば、ジョブ実行部406は、図5に示すようなジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報502の「ワークフローの内容」に従って、ステップS712で取得した第2のジョブのデータを処理する。
In step S713, the
ステップS714において、ジョブ実行部406は、第2のジョブが完了したことを示す完了情報を、第2のジョブを管理している他のジョブ処理装置101に通知する。
In step S714, the
ステップS715において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から通知される第2のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部404は、第2のジョブの更新情報が受信された後、受信された第2のジョブの更新情報に従って、ジョブキュー501に記憶した第2のジョブの情報、及びステップS712で取得した第2のジョブのデータを削除する。
In step S715, the
上記の処理に示すように、ジョブ処理装置101のジョブ実行部406は、ジョブキュー501に、ジョブ処理装置101でジョブのデータを管理する第1のジョブの情報が記憶されている場合、第1のジョブを実行する。また、ジョブ実行部406は、ジョブキュー501に第1のジョブのデータが記憶されていない場合、ジョブキュー501に記憶されている第2のジョブの情報に基づいて、第2のジョブを実行する。
As shown in the above processing, when the
また、ジョブ処理装置101の更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が更新(追加、変更、削除等)された場合、第1のジョブが更新されたことを示す更新情報を、他のジョブ処理装置に通知する。
Further, the update
(ジョブデータの提供処理)
図8は、第1の実施形態に係るジョブデータの提供処理の例を示すフローチャートである。この処理は、ジョブ処理装置101が、ジョブのデータを管理している第1のジョブのデータを、他のジョブ処理装置101からの実行要求に応じて提供する処理の例を示している。
(Job data provision processing)
FIG. 8 is a flowchart illustrating an example of job data providing processing according to the first embodiment. This processing is an example of processing in which the job processing apparatus 101 provides the first job data managing the job data in response to an execution request from another job processing apparatus 101.
ステップS801において、ジョブ処理装置101は、他のジョブ処理装置101から、ジョブ処理装置101がジョブのデータを管理する第1のジョブの実行を要求する実行要求を受信すると、ステップS802以降の処理を実行する。 In step S <b> 801, when the job processing apparatus 101 receives an execution request from another job processing apparatus 101 that requests execution of the first job for which the job processing apparatus 101 manages job data, the processing from step S <b> 802 is performed. Run.
ステップS802において、ジョブ処理装置101のジョブ情報管理部404は、第1のジョブの実行を要求する実行要求を受付すると、ジョブキュー501に記憶された第1のジョブの「ジョブの状態」の情報が、処理待ちであるかを判断する。
In step S <b> 802, when the job
第1のジョブの「ジョブの状態」の情報が、処理待ちでない場合(例えば、処理中である場合)、ジョブ情報管理部404は、処理をステップS810に移行させる。ステップS810に移行すると、ジョブ情報管理部404は、第1のジョブの実行を拒否する拒否情報を、実行要求を送信した要求元の他のジョブ処理装置101に通知する。
If the “job state” information of the first job is not waiting for processing (for example, when processing is in progress), the job
一方、第1のジョブの「ジョブの状態」の情報が、処理待ちである場合、ジョブ情報管理部404は、処理をステップS803に移行させる。
On the other hand, when the “job status” information of the first job is waiting for processing, the job
ステップS803に移行すると、ジョブ情報管理部404は、第1のジョブの実行を許可する許可情報を、実行要求の要求元の他のジョブ処理装置101に通知する。
In step S803, the job
ステップS804において、ジョブ情報管理部404は、ジョブキュー501に記憶されている第1のジョブの「ジョブの状態」の情報を、例えば、処理中に変更する。
In step S804, the job
また、ジョブ情報管理部404は、ジョブキュー501に記憶されている第1のジョブの「ジョブを処理するジョブ処理装置」の情報に、要求元の他のジョブ処理装置101の情報を記憶し、「ジョブの開始日時」の情報を記憶する。
Further, the job
ステップS805において、更新情報通知部405は、第1のジョブの情報が更新されたことを示す第1のジョブの更新情報を、他のジョブ処理装置101の各々に通知する。この更新情報には、更新された第1のジョブの情報が含まれる。
In step S805, the update
ステップS806において、ジョブデータ管理部403は、第1のジョブのデータを、前述したジョブID、又はジョブIDに対応するジョブデータの保存先に基づいて取得し、要求元の他のジョブ処理装置101に送信する。
In step S806, the job
ステップS807において、ジョブ情報管理部404は、要求元の他のジョブ処理装置101から送信される第1のジョブの完了通知が受信されるのを待つ。また、第1のジョブの完了通知を受信した後、ジョブ情報管理部404は、第1のジョブの情報をジョブキュー501から削除し、ジョブデータ管理部403は、ジョブデータ記憶部411に記憶された第1のジョブのデータを削除する。
In step S <b> 807, the job
ステップS808において、更新情報通知部405は、第1のジョブの情報がジョブキュー501から削除されたことを示す更新情報を、他のジョブ処理装置101の各々に通知する。
In step S808, the update
ステップS809において、ジョブ受付部402は、第1のジョブの要求元(例えば、画像形成装置102)に、第1の情報が完了したことを通知する。
In step S809, the
上記の処理に示すように、ジョブ処理装置101は、他のジョブ処理装置101から、第1のジョブの実行を要求する実行要求を受信したときに、要求された第1のジョブの状態が処理待ちの状態である場合、ジョブの実行を許可し、ジョブのデータを提供する。 As shown in the above processing, when the job processing apparatus 101 receives an execution request for requesting execution of the first job from another job processing apparatus 101, the status of the requested first job is processed. If the job is in the waiting state, the job execution is permitted and the job data is provided.
(ジョブ処理システムの処理)
続いて、ジョブ処理システム100の処理の例について、シーケンス図を用いて説明する。
(Job processing system processing)
Next, an example of processing of the
図9、10は、第1の実施形態に係るジョブ処理システムの例を示すシーケンス図である。また、図11は、第1の実施形態に係る各ジョブ処理装置のジョブキューのイメージを示す図である。 9 and 10 are sequence diagrams illustrating an example of the job processing system according to the first embodiment. FIG. 11 is a diagram illustrating an image of a job queue of each job processing apparatus according to the first embodiment.
図9に示す処理の開始時点における各ジョブ処理装置101のジョブキューのイメージを図11(a)に示す。 FIG. 11A shows an image of the job queue of each job processing apparatus 101 at the start of the processing shown in FIG.
図11において、ジョブ処理装置A101−1のジョブキュー1101、ジョブ処理装置B101−2のジョブキュー1102、ジョブ処理装置C101−3のジョブキュー1103は、図5のジョブキュー501から、説明に必要な情報を抜粋したものである。
In FIG. 11, the
なお、図11において、表中の「−」は、情報が格納されていないことを示すものとする。また、図11の「管理する装置」は、図5のジョブキュー501の「ジョブを管理するジョブ処理装置」に対応しており、図11の「処理する装置」は、図5のジョブキュー501の「ジョブを処理するジョブ処理装置」に対応しているものとする。
In FIG. 11, “-” in the table indicates that no information is stored. 11 corresponds to the “job processing apparatus for managing jobs” in the
図11(a)に示すように、図9に示す処理の開始時点において、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブの情報が記憶されていないものとする。
As shown in FIG. 11A, it is assumed that job information is not stored in the
図9のステップS901において、例えば、画像形成装置A102−1から、ジョブ処理装置A101−1に対して、ジョブの実行要求が送信される。 In step S901 of FIG. 9, for example, a job execution request is transmitted from the image forming apparatus A 102-1 to the job processing apparatus A 101-1.
ステップS902において、ジョブ処理装置A101−1は、画像形成装置A102−1から受付けたジョブを、例えば、ジョブID「A1」として管理する。このとき、ジョブ処理装置A101−1は、他のジョブを実行していないので、受付したジョブID「A1」のジョブを、ジョブキュー1101に記憶せずに、すぐに実行する。
In step S902, the job processing apparatus A 101-1 manages the job received from the image forming apparatus A 102-1 as, for example, the job ID “A1”. At this time, since the job processing apparatus A 101-1 does not execute another job, the received job with the job ID “A 1” is immediately executed without being stored in the
同様に、ステップS903において、例えば、画像形成装置C102−3から、ジョブ処理装置B101−2に対して、ジョブの実行要求が送信される。 Similarly, in step S903, for example, a job execution request is transmitted from the image forming apparatus C102-3 to the job processing apparatus B101-2.
ステップS904において、ジョブ処理装置B101−2は、画像形成装置A102−3から受付けたジョブを、例えば、ジョブID「C1」として管理する。このとき、ジョブ処理装置B101−2は、他のジョブを実行していないので、受付したジョブID「C1」のジョブを、ジョブキュー1102に記憶せずに、すぐに実行する。
In step S904, the job processing apparatus B 101-2 manages the job received from the image forming apparatus A 102-3, for example, as the job ID “C1”. At this time, since the job processing apparatus B 101-2 does not execute another job, the job processing apparatus B 101-2 executes the received job ID “
ステップS905において、例えば、画像形成装置B102−2から、ジョブ処理装置A101−1に対して、ジョブの実行要求が送信される。 In step S905, for example, a job execution request is transmitted from the image forming apparatus B 102-2 to the job processing apparatus A 101-1.
ステップS906において、ジョブ処理装置A101−1は、画像形成装置B102−2から受付けたジョブを、例えば、ジョブID「B1」として管理する。このとき、ジョブ処理装置A101−1は、他のジョブ(ジョブID「A1」)を実行しているので、受付したジョブID「B1」のジョブをすぐに実行することができない。 In step S906, the job processing apparatus A 101-1 manages the job received from the image forming apparatus B 102-2, for example, as the job ID “B1”. At this time, since the job processing apparatus A 101-1 is executing another job (job ID “A1”), the received job ID “B1” cannot be immediately executed.
この場合、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブID「B1」のジョブの情報を、ジョブキュー1101に記憶し、ジョブデータ管理部403は、ジョブID「B1」のジョブのデータを、ジョブデータ記憶部411に記憶する。
In this case, the job
このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101に第1のジョブが追加されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。
At this time, the update
ステップS907において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ処理装置A101−1のジョブキュー1101に、ジョブID「B1」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。
In step S907, the update
ステップS908において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブID「B1」のジョブの情報を、ジョブキュー1102に記憶する。
In step S <b> 908, the job
ステップS909において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ処理装置A101−1のジョブキュー1101に、ジョブID「B1」のジョブが追加されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。
In step S909, the update
ステップS910において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブID「B1」のジョブの情報を、ジョブキュー1103に記憶する。
In step S <b> 910, the job
ステップS910における各ジョブ処理装置101のジョブキューのイメージを図11(b)に示す。図11(b)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(b)において、「管理する装置」に記憶されている「A」は、ジョブ処理装置A101−1を示すものとする。
FIG. 11B shows an image of the job queue of each job processing apparatus 101 in step S910. As shown in FIG. 11B, the
ステップS911において、他のジョブを実行していないジョブ処理装置C101−3は、例えば、図7に示すジョブの実行処理を実行する。ここでは、ジョブ処理装置C101−3のジョブキュー1103には、処理待ちの第1のジョブの情報は記憶されておらず、処理待ちの第2のジョブの情報(ジョブID「B1」のジョブの情報)が記憶されている。したがって、ジョブ処理装置C101−3のジョブ実行部406は、ジョブID「B1」のジョブのデータを管理するジョブ処理装置A101−1に、ジョブID「B1」のジョブの実行を要求する実行要求を送信する。
In step S911, the job processing apparatus C101-3 that is not executing another job executes, for example, the job execution process illustrated in FIG. In this case, the
ステップS912において、ジョブ処理装置A101−1は、自装置でジョブのデータを管理するジョブID「B1」のジョブ(第1のジョブ)の実行要求を受付けると、例えば、図8に示すジョブデータの提供処理を実行する。 In step S912, when the job processing apparatus A 101-1 receives an execution request for the job (first job) with the job ID “B1” that manages the job data in the own apparatus, for example, the job processing apparatus A 101-1 receives the job data shown in FIG. Execute the provision process.
ステップS912において、ジョブ処理装置A101−1のジョブ情報管理部404は、実行要求を受付したジョブID「B1」のジョブの状態を確認する。ここでは、図11(b)に示すように、ジョブID「B1」のジョブの状態は「処理待ち」である。
In step S <b> 912, the job
ステップS913において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブID「B1」のジョブの実行を許可する許可情報を、実行要求のジョブ処理装置C101−3に通知する。
In step S913, the job
ステップS914において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報を更新する。例えば、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブキュー1101に記憶されたジョブID「B1」の情報のうち、「処理する装置」の情報に「C」(ジョブ処理装置C101−3)を記憶し、「ジョブの状態」の情報を「処理中」に変更する。
In step S <b> 914, the job
このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101記憶された第1のジョブの情報が変更されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。
At this time, the update
ステップS915において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。
In step S <b> 915, the update
ステップS916において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1102に記憶されたジョブID「B1」のジョブの情報を更新する。
In step S916, the job
ステップS917において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報が変更されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。
In step S <b> 917, the update
ステップS918において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1103に記憶されたジョブID「B1」のジョブの情報を更新する。
In step S918, the job
ステップS918における各ジョブ処理装置101のジョブキューのイメージを図11(c)に示す。図11(c)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブID「B1」のジョブの情報が、共通に記憶されている。なお、図11(c)において、「処理する装置」に記憶されている「C」は、ジョブ処理装置C101−3を示すものとする。
FIG. 11C shows an image of the job queue of each job processing apparatus 101 in step S918. As shown in FIG. 11C, the
ステップS919において、ジョブ処理装置A101−1のジョブデータ管理部403は、例えば、ジョブ処理装置C101−1からの要求に応じて、ジョブID「B1」のジョブのデータを、例えば、ジョブIDに対応するジョブデータの保存先から取得する。また、ジョブ処理装置A101−1のジョブデータ管理部403は、取得したジョブID「B1」のジョブのデータをジョブ処理装置C101−1に送信する。
In step S919, the job
ステップS920において、ジョブ処理装置C101−3のジョブ実行部406は、ジョブ処理装置A101−1から取得したジョブID「B1」のジョブを実行する。
In step S920, the
ステップS920のジョブの実行が完了すると、図10のステップS921において、ジョブ処理装置C101−3のジョブ実行部406は、ジョブ処理装置A101−1に、ジョブの実行が完了したことを示す完了通知を通知する。
When the execution of the job in step S920 is completed, in step S921 in FIG. 10, the
ステップS922において、ジョブ処理装置A101−1のジョブ情報管理部404は、ジョブ処理装置C101−3からジョブID「B1」のジョブの完了通知を受付すると、ジョブキュー1101に記憶されたジョブID「B1」のジョブの情報を削除する。また、ジョブ処理装置A101−1のジョブデータ管理部403は、ジョブデータ記憶部411に記憶したジョブID「B1」のジョブのデータを削除する。
In step S922, when the job
このとき、ジョブ処理装置A101−1の更新情報通知部405は、ジョブ情報管理部404によって、ジョブキュー1101記憶された第1のジョブの情報が変更(削除)されたので、第1のジョブの更新情報を他のジョブ処理装置101の各々に通知する。
At this time, the update
ステップS923において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されていたジョブID「B1」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置B101−2に通知する。
In step S923, the update
ステップS924において、ジョブ処理装置B101−2のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1102に記憶されたジョブID「B1」のジョブの情報を削除する。
In step S924, the job
ステップS925において、ジョブ処理装置A101−1の更新情報通知部405は、ジョブキュー1101に記憶されていたジョブID「B1」のジョブの情報が削除されたことを示すジョブの更新情報を、ジョブ処理装置C101−3に通知する。
In step S925, the update
ステップS926において、ジョブ処理装置C101−3のジョブ情報管理部404は、ジョブ処理装置A101−1から送信されたジョブの更新情報に基づいて、ジョブキュー1103に記憶されたジョブID「B1」のジョブの情報を削除する。また、ジョブ処理装置C101−3のジョブデータ管理部403は、ジョブID「B1」のジョブのデータを削除する。
In step S926, the job
ステップS926における各ジョブ処理装置101のジョブキューのイメージを図11(d)に示す。図11(d)に示すように、各ジョブ処理装置101のジョブキュー1101、1102、1103から、ジョブID「B1」のジョブの情報が、共通に削除されている。
FIG. 11D shows an image of the job queue of each job processing apparatus 101 in step S926. As shown in FIG. 11D, the job information of the job ID “B1” is deleted in common from the
ステップS927において、ジョブ処理装置A101−1のジョブ受付部402は、ジョブID「B1」のジョブの要求元の画像形成装置B102−2に、ジョブが完了したことを示す完了通知を送信する。
In step S927, the
このように、本実施形態に係るジョブ処理システム100では、各ジョブ処理装置101は、ジョブ処理システム100で処理待ちとなっているジョブの情報を、ジョブキューに共通に記憶して、管理する。
As described above, in the
また、各ジョブ処理装置101は、ジョブキューに、自装置でジョブのデータを管理している第1のジョブの情報がある場合、第1のジョブを実行する。 Further, each job processing apparatus 101 executes the first job when there is information on the first job managing the job data in the job queue in the job queue.
さらに、各ジョブ処理装置101は、ジョブキューに、第1のジョブの情報がない場合、ジョブキューに記憶された第2のジョブを取得し、実行する。 Further, each job processing apparatus 101 acquires and executes the second job stored in the job queue when there is no information on the first job in the job queue.
上記の処理により、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム100全体で効率良く複数のジョブを分散処理することができるようになる。
With the above processing, according to the present embodiment, in the
[第2の実施形態]
第2の実施形態では、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、ジョブ処理装置101が、第2のジョブの処理コストに基づいて、実行する1つのジョブを決定する処理の例について説明する。
[Second Embodiment]
In the second embodiment, when there is no first job waiting for processing in the job queue and there are a plurality of second jobs waiting for processing in the job queue, the job processing apparatus 101 performs processing costs for the second job. An example of processing for determining one job to be executed will be described based on FIG.
<機能構成>
第2の実施形態に係るジョブ処理システムの機能構成は、図4に示す一実施形態に係るジョブ処理システムの構成と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
<Functional configuration>
Since the functional configuration of the job processing system according to the second embodiment is the same as the configuration of the job processing system according to the embodiment shown in FIG. 4, here, the description will focus on differences from the first embodiment. Do.
処理コスト算出部408は、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、複数の第2のジョブの処理コストを算出する。処理コスト算出部408は、例えば、図6(a)に示すようなプラグインのコスト情報601と、例えば、図6(b)に示すような通信速度情報602とを用いて、第2のジョブ毎の処理コストを算出する。
The processing
例えば、処理コスト算出部408は、次の式を用いて、第2のジョブの処理コストを計算する。
For example, the processing
(ジョブの処理コスト)=(実行するプラグインのコストの総和)×(通信コスト)
=Σプラグインのコスト×(ジョブデータサイズ[MB]×8/通信速度[Mbps])
なお、上記の式では、ジョブデータサイズに8を乗算することにより、byteを、bitに変換している。
(Job processing cost) = (Total cost of plug-ins to be executed) x (Communication cost)
= Σ plug-in cost × (job data size [MB] × 8 / communication speed [Mbps])
In the above formula, byte is converted into bit by multiplying the job data size by 8.
例えば、ジョブ処理装置C101−3のジョブキューに、図5(a)に示すように2つの第2のジョブが記憶されている場合、ジョブ処理装置C101−3の処理コスト算出部408は、2つの第2のジョブの処理コストを、以下のように計算する。
For example, when two second jobs are stored in the job queue of the job processing apparatus C101-3 as shown in FIG. 5A, the processing
(ジョブID「A3」の処理コスト)
=(100+80+10)×((4×10^6×8)/(50×10^6))=121.6
(ジョブID「C5」の処理コスト)
=(100+10)×((5×10^6×8)/(20×10^6))=220
実行ジョブ決定部407は、ジョブキューに処理待ちの第1のジョブがなく、ジョブキューに処理待ちの複数の第2のジョブがある場合に、処理コスト算出部408が算出した第2のジョブ毎の処理コストを用いて、実行する1つの第2のジョブを決定する。
(Processing cost of job ID “A3”)
= (100 + 80 + 10) * ((4 * 10 ^ 6 * 8) / (50 * 10 ^ 6)) = 121.6
(Processing cost of job ID “C5”)
= (100 + 10) * ((5 * 10 ^ 6 * 8) / (20 * 10 ^ 6)) = 220
The execution
例えば、実行ジョブ決定部407は、処理コスト算出部408が算出した第2のジョブ毎の処理コストの値が低い方から順に、実行する1つの第2のジョブを決定する。
For example, the execution
上記の例では、ジョブID「A3」のコストが、ジョブID「C5」の処理コストより低いので、実行ジョブ決定部407は、ジョブID「A3」のジョブを、実行する第2のジョブに決定する。
In the above example, since the cost of the job ID “A3” is lower than the processing cost of the job ID “C5”, the execution
<処理の流れ>
続いて、第2の実施形態に係るジョブ処理方法の処理の流れについて説明する。
<Process flow>
Subsequently, a processing flow of the job processing method according to the second embodiment will be described.
(ジョブの実行処理)
図12は、第2の実施形態に係るジョブの実行処理の例を示すフローチャートである。なお、基本的な処理は、図7に示す第1の実施形態に係るジョブ実行処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行う。
(Job execution processing)
FIG. 12 is a flowchart illustrating an example of job execution processing according to the second embodiment. Since the basic process is the same as the job execution process according to the first embodiment shown in FIG. 7, here, the description will focus on the differences from the first embodiment.
ステップS701において、ジョブ処理装置101のジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理待ちの第1のジョブがあるか否かを判断する。
In step S <b> 701, the
ジョブキュー501に処理待ちの第1のジョブがない場合、ジョブ実行部406は、処理をステップS708に移行させる。
If there is no first job waiting to be processed in the
一方、ジョブキュー501に処理待ちの第1のジョブがある場合、ジョブ実行部406は、ステップS1201において、図7のステップS702〜S707に示す第1のジョブの実行処理を実行する。
On the other hand, if there is a first job waiting for processing in the
ステップS708に移行すると、ジョブ実行部406は、ジョブキュー501に処理待ちの第2のジョブがあるか否かを判断する。
In step S708, the
ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS1202に移行させる。
If there is no second job waiting for processing in the
ステップS1202に移行すると、処理コスト算出部408は、ジョブキューに記憶されている第2のジョブ毎の処理コストを算出する。
In step S1202, the processing
ステップS1203において、実行ジョブ決定部407は、候補となる第2のジョブの中から、ジョブの処理コストが最も低い1つの第2のジョブを特定する。
In step S1203, the execution
ステップS1204において、実行ジョブ決定部407は、特定した第2のジョブのデータを管理している他のジョブ処理装置101に、特定した第2のジョブの実行を要求する実行要求を送信する。
In step S1204, the execution
ステップS1205において、実行ジョブ決定部407は、例えば、所定の時間内に要求した第2のジョブの実行を許可する許可情報を受信したかを判断する。
In step S1205, the execution
所定の時間内に第2のジョブの実行を許可する許可情報を受信した場合、ジョブ実行部406は、ステップS1208において、例えば、図7のステップS711〜S715に示す第2のジョブの実行処理を実行する。
When the permission information permitting the execution of the second job is received within a predetermined time, the
一方、所定の時間内に第2のジョブの実行を許可する許可情報を受信しない場合、実行ジョブ決定部407は、処理をステップS1206に移行させる。
On the other hand, when the permission information for permitting the execution of the second job is not received within the predetermined time, the execution
ステップS1206において、実行ジョブ決定部407は、他に候補となる第2のジョブがあるかを判断する。
In step S1206, the execution
他に候補となる第2のジョブがない場合、実行ジョブ決定部407は、処理を終了させる。一方、他に候補となる第2のジョブがある場合、実行ジョブ決定部407は、処理をステップS1207に移行させる。
If there is no other candidate second job, the execution
ステップS1207に移行すると、実行ジョブ決定部407は、実行が許可されなかった第2のジョブを、候補から除外して、ステップS1203以降の処理を再度実行する。
When the process proceeds to step S1207, the execution
(処理コストの算出処理)
図13は、第2の実施形態係る処理コストの算出処理の例を示すフローチャートである。
(Processing cost calculation process)
FIG. 13 is a flowchart illustrating an example of processing cost calculation processing according to the second embodiment.
ステップS1301において、処理コスト算出部408は、例えば、図6(a)に示すようなプラグインのコスト情報601と、例えば、図5(c)に示すようなワークフロー情報502とを用いて、ジョブに含まれるプラグインの総コストを算出する。
In step S1301, the processing
ステップS1302において、処理コスト算出部408は、ジョブのデータサイズと、例えば、図6に示すような通信速度情報602とを用いて、ジョブの通信速度を算出する。
In step S1302, the processing
ステップS1303において、処理コスト算出部408は、ステップS1301で算出したプラグインの総コストと、ステップS1302で算出した通信コストとの積を、ジョブの処理コストとする。
In step S1303, the processing
以上、本実施形態によれば、各ジョブ処理装置101は、他のジョブ処理装置101がジョブのデータを管理している第2のジョブを実行する際に、他のジョブ処理装置101との間の通信速度や、ジョブのデータサイズを考慮して実行するジョブを決定する。 As described above, according to the present embodiment, each job processing apparatus 101 communicates with another job processing apparatus 101 when the other job processing apparatus 101 executes the second job managing the job data. The job to be executed is determined in consideration of the communication speed and the data size of the job.
これにより、本実施形態によれば、複数のジョブ処理装置101がネットワークを介して接続されるジョブ処理システム100において、ジョブ処理システム全体で、さらに効率良く複数のジョブを分散処理することができるようになる。
Thus, according to the present embodiment, in the
<その他の実施形態>
図1に示すジョブ処理システム100のシステム構成、及び図4に示すジョブ処理システム100の機能構成は一例であり、本実施形態に係るジョブ処理システム100は、様々なシステム構成が可能である。
<Other embodiments>
The system configuration of the
例えば、本実施形態に係るジョブ処理装置101は、特許文献1に示されるような負荷分散装置を利用したジョブ処理システムにも、好適に適用することができる。
For example, the job processing apparatus 101 according to the present embodiment can be suitably applied to a job processing system using a load distribution apparatus as disclosed in
図14は、その他の実施形態に係るジョブ処理システムの機能構成図である。図14に示すジョブ処理システム1400は、複数のジョブ処理装置101と、ネットワーク107を介して接続される負荷分散装置(情報処理装置)1401を有している。
FIG. 14 is a functional configuration diagram of a job processing system according to another embodiment. A
負荷分散装置1401は、例えば、特許文献1と同様に、ジョブを複数のジョブ処理装置101に振り分けるものとする。
For example, the
各ジョブ処理装置101は、負荷分散装置1401から受付けたジョブの情報を、図4の画像形成装置102から受付けたジョブと同様にジョブキューに記憶して、管理する。
Each job processing apparatus 101 stores and manages job information received from the
また、各ジョブ処理装置101は、自装置でジョブのデータを管理している第1のジョブの情報を、他のジョブ処理装置101に通知することにより、ジョブキューの情報を共有する。 In addition, each job processing apparatus 101 shares the information of the job queue by notifying the other job processing apparatus 101 of the information of the first job that manages the job data in its own apparatus.
さらに、各ジョブ処理装置101は、ジョブキューに処理待ちの第1のジョブがある場合、第1のジョブを実行し、ジョブキューに処理待ちの第1のジョブがない場合、ジョブキューに記憶された第2のジョブの情報に基づいて、第2のジョブを取得し、実行する。 Further, each job processing apparatus 101 executes the first job when there is a first job waiting for processing in the job queue, and stores the job in the job queue when there is no first job waiting for processing in the job queue. The second job is acquired and executed based on the second job information.
このようなシステム構成においても、各ジョブ処理装置101は、自装置で受付けた第1のジョブがなくなると、他のジョブ処理装置101が受付けた第2のジョブを自律的に取得して、実行することができる。したがって、ジョブ処理システム1400においても、ジョブ処理システム1400全体で効率良く複数のジョブを分散処理することができる。
Even in such a system configuration, each job processing apparatus 101 autonomously obtains and executes the second job received by another job processing apparatus 101 when the first job received by the own apparatus disappears. can do. Therefore, also in the
また、図4に示すジョブ処理装置101に含まれる機能構成の少なくとも一部は、画像形成装置102に含まれていても良い。さらに、図4に示すジョブ処理装置101に含まれる各記憶部は、ネットワーク107を介して接続されるストレージサーバ等に含まれていても良い。
Further, at least a part of the functional configuration included in the job processing apparatus 101 illustrated in FIG. 4 may be included in the
100 ジョブ処理システム
101 ジョブ処理装置
102 画像形成装置
107 ネットワーク
402 ジョブ受付部
404 ジョブ情報管理部
405 更新情報通知部
406 ジョブ実行部
407 実行ジョブ決定部
408 処理コスト算出部
411 ジョブデータ記憶部
412 ジョブ情報記憶部
1401 負荷分散装置(情報処理装置)
DESCRIPTION OF
Claims (13)
前記ジョブ処理装置は、
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理システム。 A job processing system in which a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, are connected via a network,
The job processing device includes:
A job reception unit for receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus A job information management unit that stores and manages job information related to execution of a second job in a job information storage unit;
A notification unit for notifying the other job processing apparatus of job information of the first job in response to reception of the first job;
If the job information of the first job that has not been processed is stored in the job information storage unit, the first job is executed,
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A job execution unit that executes the second job based on the job information;
Having a job processing system.
前記第1のジョブの実行を開始したことに応じて、当該第1のジョブのジョブ情報を変更し、
前記通知部は、
前記第1のジョブのジョブ情報が変更された場合、当該ジョブ情報を前記他のジョブ処理装置に通知する請求項1に記載のジョブ処理システム。 The job execution unit
In response to starting execution of the first job, the job information of the first job is changed,
The notification unit
The job processing system according to claim 1, wherein when the job information of the first job is changed, the job information is notified to the other job processing apparatus.
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを受け付けた前記他のジョブ処理装置に対して、当該ジョブ処理装置によって当該第2のジョブを実行することを要求する要求情報を送信し、当該他のジョブ処理装置から当該第2のジョブの実行を許可する許可情報を受信した場合、当該他のジョブ処理装置から、当該第2のジョブにおける処理対象のデータを取得する請求項1又は2に記載のジョブ処理システム。 The job execution unit
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing Based on the job information, the request information requesting that the second job processing apparatus accepts the second job is executed by the job processing apparatus. The processing target data in the second job is acquired from the other job processing device when the permission information permitting the execution of the second job is received from the other job processing device. Job processing system.
当該ジョブ処理装置において前記第2のジョブの実行が完了したとき、当該第2のジョブの実行が完了したことを示す完了通知を、当該第2のジョブの前記処理対象のデータを取得した前記他のジョブ処理装置に通知する請求項3に記載のジョブ処理システム。 The job execution unit
When the execution of the second job is completed in the job processing apparatus, a completion notification indicating that the execution of the second job has been completed is sent to the other that has acquired the processing target data of the second job. The job processing system according to claim 3, wherein the job processing device is notified to the job processing apparatus.
前記他のジョブ処理装置から、前記ジョブ情報記憶部に記憶されている前記第1のジョブを前記他のジョブ処理装置によって実行することを要求する要求情報を受信したときに、前記第1のジョブが処理待ちの状態である場合、
当該要求情報を送信した前記他のジョブ処理装置に、前記第1のジョブの実行を許可する許可情報を送信し、前記ジョブ情報記憶部に記憶されている前記第1のジョブのジョブ情報に、前記第1のジョブの処理が開始されたことを示す情報を記憶する請求項1乃至4のいずれか一項に記載のジョブ処理システム。 The job information management unit
When the request information requesting that the other job processing device execute the first job stored in the job information storage unit is received from the other job processing device, the first job Is waiting to be processed,
The permission information for permitting the execution of the first job is transmitted to the other job processing apparatus that has transmitted the request information, and the job information of the first job stored in the job information storage unit includes: The job processing system according to claim 1, wherein information indicating that processing of the first job is started is stored.
前記許可情報を送信した前記他のジョブ処理装置から、前記第1のジョブの実行が完了したことを示す完了情報の通知を受付した場合、
前記ジョブ情報記憶部に記憶した前記第1のジョブのジョブ情報を削除し、
前記第1のジョブの要求元に、前記第1のジョブが完了したことを通知する請求項5に記載のジョブ処理システム。 The job processing device includes:
When a notification of completion information indicating that the execution of the first job has been completed is received from the other job processing apparatus that has transmitted the permission information,
Deleting the job information of the first job stored in the job information storage unit;
The job processing system according to claim 5, wherein a request source of the first job is notified that the first job is completed.
前記ジョブ情報記憶部に記憶されている前記第2のジョブの処理コストを算出する処理コスト算出部と、
前記ジョブ情報記憶部に処理が開始されていない複数の前記第2のジョブが記憶されている場合、前記処理コスト算出部が算出した前記処理コストを用いて、前記ジョブ実行部で実行する一の前記第2のジョブを決定する実行ジョブ決定部と、
を有する請求項1乃至6のいずれか一項に記載のジョブ処理システム。 The job processing device includes:
A processing cost calculation unit for calculating a processing cost of the second job stored in the job information storage unit;
When a plurality of second jobs that have not been processed are stored in the job information storage unit, the job execution unit uses the processing cost calculated by the processing cost calculation unit. An execution job determination unit for determining the second job;
The job processing system according to claim 1, further comprising:
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報を用いて、前記第2のジョブの処理コストを算出する請求項7に記載のジョブ処理システム。 The processing cost calculation unit of the job processing device includes:
The job processing system according to claim 7, wherein the processing cost of the second job is calculated using information on a communication speed between the job processing apparatus and another job processing apparatus.
前記第2のジョブに応じた前記ワークフローに定義された前記1つ以上の処理コストの総コストを算出し、
当該ジョブ処理装置と他のジョブ処理装置との間の通信速度の情報と、前記第2のジョブのデータサイズとを用いて通信コストを算出し、
前記算出された前記総コストと、前記通信コストの積を用いて、前記第2のジョブの処理コストを算出する請求項7又は8に記載のジョブ処理システム。 The processing cost calculation unit of the job processing device includes:
Calculating a total cost of the one or more processing costs defined in the workflow according to the second job;
A communication cost is calculated using information on a communication speed between the job processing apparatus and another job processing apparatus and a data size of the second job;
The job processing system according to claim 7, wherein a processing cost of the second job is calculated using a product of the calculated total cost and the communication cost.
前記ジョブ情報記憶部に記憶されている処理を開始していない前記複数の前記第2のジョブの中から、前記処理コスト算出部が算出した前記第2のジョブの処理コストが低い順に前記ジョブ実行部で実行する前記一のジョブを決定する請求項7乃至9のいずれか一項に記載のジョブ処理システム。 The execution job determination unit
The job execution is performed in ascending order of the processing cost of the second job calculated by the processing cost calculation unit from among the plurality of the second jobs that have not started processing stored in the job information storage unit. The job processing system according to claim 7, wherein the one job to be executed by a unit is determined.
前記ジョブを受け付けるジョブ受付部と、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するジョブ情報管理部と、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知する通知部と、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行し、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するジョブ実行部と、
を有するジョブ処理装置。 A job processing apparatus of a job processing system in which a plurality of job processing apparatuses that execute a job as a process execution unit based on a workflow in which one or more processes are defined is connected via a network,
A job reception unit for receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus A job information management unit that stores and manages job information related to execution of a second job in a job information storage unit;
A notification unit for notifying the other job processing apparatus of job information of the first job in response to reception of the first job;
If the job information of the first job that has not been processed is stored in the job information storage unit, the first job is executed,
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A job execution unit that executes the second job based on the job information;
A job processing apparatus.
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するステップと、
を実行させるためのプログラム。 A plurality of job processing apparatuses that execute jobs as processing execution units based on a workflow in which one or more processes are defined are connected to the job processing apparatus of a job processing system connected via a network.
Receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus Storing and managing job information related to execution of a second job in a job information storage unit;
Notifying the other job processing device of job information of the first job in response to the reception of the first job;
When job information of the first job that has not been processed is stored in the job information storage unit, the step of executing the first job;
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A step of executing the second job based on the job information of
A program for running
前記ジョブ処理装置が、
前記ジョブを受け付けるステップと、
当該ジョブ処理装置が受け付けた前記ジョブである第1のジョブの実行に関するジョブ情報と、当該ジョブ処理装置とは異なる他のジョブ処理装置から送信され、当該他のジョブ処理装置が受け付けた前記ジョブである第2のジョブの実行に関するジョブ情報とをジョブ情報記憶部に記憶して管理するステップと、
前記第1のジョブが受け付けられたことに応じて、前記第1のジョブのジョブ情報を前記他のジョブ処理装置に通知するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されている場合、当該第1のジョブを実行するステップと、
前記ジョブ情報記憶部に、処理が開始されていない前記第1のジョブのジョブ情報が記憶されていない場合、前記ジョブ情報記憶部に記憶されている、処理が開始されていない前記第2のジョブのジョブ情報に基づいて、当該第2のジョブを実行するステップと、
を含むジョブ処理方法。 A job processing method in a job processing system in which a plurality of job processing apparatuses that execute a job, which is a process execution unit based on a workflow in which one or more processes are defined, are connected via a network,
The job processing device is
Receiving the job;
The job information related to the execution of the first job, which is the job received by the job processing apparatus, and the job received from the other job processing apparatus different from the job processing apparatus and received by the other job processing apparatus Storing and managing job information related to execution of a second job in a job information storage unit;
Notifying the other job processing device of job information of the first job in response to the reception of the first job;
When job information of the first job that has not been processed is stored in the job information storage unit, the step of executing the first job;
If the job information of the first job that has not been processed is not stored in the job information storage unit, the second job that is stored in the job information storage unit and has not started processing A step of executing the second job based on the job information of
A job processing method including:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016176813A JP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016176813A JP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018041400A true JP2018041400A (en) | 2018-03-15 |
JP6786975B2 JP6786975B2 (en) | 2020-11-18 |
Family
ID=61626174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016176813A Active JP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6786975B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200098257A (en) * | 2019-02-12 | 2020-08-20 | 한전케이디엔주식회사 | Real-Time Work Flow Management System using Distributed Processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11312149A (en) * | 1998-04-28 | 1999-11-09 | Hitachi Ltd | Load distribution control system and its device |
JP2004206298A (en) * | 2002-12-24 | 2004-07-22 | Casio Soft Co Ltd | Job processing system and program |
JP2008077266A (en) * | 2006-09-20 | 2008-04-03 | Nec Corp | Service control unit, distributed service control system, service control method, and program |
JP2008186197A (en) * | 2007-01-29 | 2008-08-14 | Konica Minolta Business Technologies Inc | Image processing system, image processor, job processing method and program |
-
2016
- 2016-09-09 JP JP2016176813A patent/JP6786975B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11312149A (en) * | 1998-04-28 | 1999-11-09 | Hitachi Ltd | Load distribution control system and its device |
JP2004206298A (en) * | 2002-12-24 | 2004-07-22 | Casio Soft Co Ltd | Job processing system and program |
JP2008077266A (en) * | 2006-09-20 | 2008-04-03 | Nec Corp | Service control unit, distributed service control system, service control method, and program |
JP2008186197A (en) * | 2007-01-29 | 2008-08-14 | Konica Minolta Business Technologies Inc | Image processing system, image processor, job processing method and program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200098257A (en) * | 2019-02-12 | 2020-08-20 | 한전케이디엔주식회사 | Real-Time Work Flow Management System using Distributed Processing |
KR102227204B1 (en) * | 2019-02-12 | 2021-03-11 | 한전케이디엔주식회사 | Real-Time Work Flow Management System using Distributed Processing |
Also Published As
Publication number | Publication date |
---|---|
JP6786975B2 (en) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917922B (en) | Image forming apparatus, system and data managing method | |
JP6064800B2 (en) | Information processing apparatus and program | |
US20150178030A1 (en) | Network device, control method for network device, and storage medium thereof | |
JP6303505B2 (en) | Information processing system, information processing method, device, and program | |
JP2017192110A (en) | System, server, method, and program for storing data | |
JP6565391B2 (en) | Information processing apparatus and information processing program | |
JP6786975B2 (en) | Job processing system, job processing device, job processing method, and program | |
JP6060573B2 (en) | OUTPUT SYSTEM, OUTPUT CONTROL DEVICE, OUTPUT DEVICE, AND PROGRAM | |
JP6500668B2 (en) | Job processing system, job processing apparatus and job processing program | |
KR20170092100A (en) | Image forming apparatus, method for controlling image forming apparatus, and storage medium | |
JP6727775B2 (en) | Server device, control system, control method, and program | |
JP7047504B2 (en) | Job system, job execution method, information processing device, program | |
JP2017111581A (en) | Information processing system, and control method | |
US20130250349A1 (en) | Information processing system, non-transitory computer readable medium storing program, and information processing method | |
US20220394089A1 (en) | Information processing apparatus, non-transitory computer readable medium storing program, and information processing method | |
JP6051260B2 (en) | Information processing device | |
KR102561995B1 (en) | Management system, method, and program storage medium | |
JP6481666B2 (en) | Image processing device | |
US11200088B2 (en) | Information processing system, information processing method, and information processing apparatus | |
JP2016058827A (en) | Information processing system, information processor, information processing method, and information processing program | |
JP6957847B2 (en) | Information processing equipment and programs | |
JP5952253B2 (en) | Image forming system and image forming apparatus | |
JP2009134413A (en) | Image processing system and image processing program | |
JP2016189145A (en) | Management device and management method | |
JP6504759B2 (en) | APPARATUS, COMPUTER PROGRAM, AND METHOD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201012 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6786975 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |