













  本発明は、ジョブ処理システム、ジョブ処理装置、ジョブ処理方法、及びプログラム
に関する。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 in
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、ワークフローに基づいてワークフロー処理を実行するジョブ処理システムにおいて、ジョブ処理システム全体で効率良く複数のワークフロー処理を分散処理することができるようにする。 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.
以下に、本発明の実施の形態について、添付の図面を参照して説明する。 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. 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 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 the
  さらに、ジョブ処理装置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 the
  図1の例では、地域CのLAN103には、例えば、PC(Personal Computer)、タブレット端末、又はスマートフォン等の情報端末108が接続されている。このように、各地域のLANには、画像形成装置102に加えて(又は代えて)情報端末108が接続されていても良い。  In the example of FIG. 1, an
  上記の構成において、ジョブ処理システム100は、例えば、画像形成装置102によって入力された画像データに対して、利用者が作成(又は選択)したワークフローに基づいて処理を行う。  In the above configuration, the
ワークフローとは、例えば、画像データに対する、入力処理、画像変換処理、出力処理等の各処理(プラグイン)を組合せて、所定の処理を定義したものである。なお、以下の説明の中で、ワークフローで指定された所定の処理の実行単位をジョブと呼ぶ。 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, 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 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 the
また、各ジョブ処理装置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 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 device 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 showing an example of a computer hardware configuration 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は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。  The
  (画像形成装置のハードウェア構成)
  図3は、一実施形態に係る画像形成装置102のハードウェア構成例を示す図である。(Hardware configuration of image forming apparatus)
 FIG. 3 is a diagram showing 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 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 the
  ジョブ処理装置101は、通信部401、ジョブ受付部402、ジョブデータ管理部403、ジョブ情報管理部404、更新情報通知部405、ジョブ実行部406、実行ジョブ決定部407、及び処理コスト算出部408等を有する。また、ジョブ処理装置101は、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415を有する。  The job processing device 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 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 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 information of the "job ID" is identification information for identifying a job, and for example, the job
  ジョブIDは、例えば、ジョブデータ管理部403が管理するジョブデータと、ジョブ情報管理部404が管理するジョブ情報とを対応付けるキーとして用いられる。この場合、ジョブ情報管理部404は、ジョブIDを用いて、ジョブデータ管理部403が管理するジョブデータの中から、ジョブ情報に対応するジョブデータを特定し、取得することができる。  The job ID is used, for example, as a key for associating the 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 device requesting the job (for example, the
  「ジョブを管理するジョブ処理装置」の情報は、ジョブを受付し、ジョブのデータをジョブデータ記憶部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 job
「ジョブデータのサイズ」の情報は、ジョブのデータ(例えば、画像データ)の大きさを示す情報である。 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 the
「ジョブの状態」は、ジョブの状態を示す情報であり、例えば、まだジョブを処理するジョブ処理装置が決まっていない「処理待ち」の状態や、既にジョブを処理するジョブ処理装置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 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 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 job
  なお、ジョブキュー501は、待ち行列となっており、新たに受付されたジョブは、例えば、ジョブキュー501の下側に順次に追加される。また、ジョブキュー501では、基本的に、先にジョブキュー501に記憶されたジョブ、すなわち、ジョブキュー501の上側に記憶されたジョブから順に実行される。ジョブの実行が完了したジョブは、ジョブキュー501から削除される。  The
  また、ジョブデータ管理部403は、他のジョブ処理装置101から、ジョブキュー501に記憶した第2のジョブの情報が変更されたことを示す変更情報を受付すると、ジョブキュー501に記憶した第2のジョブの情報を更新する。  Further, when the job
  さらに、ジョブデータ管理部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 job
  さらにまた、ジョブデータ管理部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 job
図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 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 of the first job is added to the
  ジョブ実行部406は、処理対象となるデータに、ワークフローで指定された1つ以上の処理を含むジョブを実行する手段であり、例えば、図2のCPU201で実行されるプログラムによって実現される。  The
  ジョブ実行部406は、ジョブ情報記憶部412に記憶されたジョブキュー501に、処理が開始されていない処理待ち状態の第1のジョブのジョブ情報が記憶されている場合、処理待ち状態の第1のジョブを、順次に実行する。  When the
  また、ジョブ実行部406は、ジョブキュー501に、処理待ち状態の第1のジョブのジョブ情報が記憶されていない場合、ジョブキュー501に記憶されている、処理待ち状態の第2のジョブのジョブ情報に基づいて、第2のジョブのデータを取得し、実行する。  If the
  例えば、ジョブ実行部406は、ジョブキュー501に記憶されている第2のジョブの情報に基づいて、第2のジョブのデータを管理している他のジョブ処理装置101に、第2のジョブの実行を要求する実行要求を送信する。  For example, the
  また、ジョブ実行部406は、実行要求を送信した他のジョブ処理装置から、第2のジョブの実行を許可する許可情報を受信した場合、他のジョブ処理装置から、第2のジョブのデータを取得し、実行する。さらに、ジョブ実行部406は、第2のジョブの実行が完了すると、第2のジョブの実行が完了したことを示す完了通知を、第2のジョブのデータを取得した他のジョブ処理装置101に通知する。  Further, when the
  なお、ジョブ実行部406は、例えば、図5(a)、(b)に示すジョブキュー501の「実行するワークフロー」の情報と、ワークフロー情報記憶部413に記憶されたワークフロー情報とに基づいて、各ジョブの処理内容を特定することができる。ワークフロー情報記憶部413に記憶されたワークフロー情報の一例のイメージを図5(c)に示す。  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 the
  実行ジョブ決定部407は、ジョブキュー501に複数の第2のジョブの情報が記憶されている場合、複数の第2のジョブの中から、ジョブ実行部406が実行するジョブを決定する。実行ジョブ決定部407は、例えば、図2のCPU201で実行されるプログラムによって実現される。  When the information of a plurality of second jobs is stored in the
  一例として、実行ジョブ決定部407は、ジョブキュー501に記憶された複数の第2のジョブのうち、他のジョブよりも先にジョブキュー501に記憶された一のジョブを、ジョブ実行部406が実行するジョブを決定する。  As an example, the execution
  別の一例として、実行ジョブ決定部407は、処理コスト算出部408が算出した、複数の第2のジョブの処理コストに基づいて、ジョブ実行部406が実行するジョブを決定するものであっても良い。なお、この場合の具体的な決定方法については、第2の実施形態で後述する。  As another example, even if the execution
  処理コスト算出部408は、コスト情報記憶部414に記憶されたプラグインのコスト情報や、通信速度情報記憶部415に記憶された他のジョブ処理装置101との間の通信速度情報等に基づいて、第2のジョブの処理コストを算出する。なお、処理コストの具体的な算出方法については、第2の実施形態で後述する。  The processing
  図6(a)は、コスト情報記憶部414に予め記憶されたプラグインのコスト情報のイメージを示している。図6(a)に示すように、プラグインのコスト情報601には、各プラグイン(処理)が、どのくらいの処理コストを要するのか、その重みを予め登録し、記憶した情報である。  FIG. 6A shows an image of the cost information of the plug-in stored in advance in the cost
例えば、画像変換プラグインは、画像変換の処理に、他の処理よりも処理時間を要するため、他のプラグインよりも処理コストが高い「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 the
  なお、ジョブ処理装置101間の通信速度情報602は、例えば、通信部401で計測した実際の通信速度を利用するものであっても良い。  The
  なお、プラグインのコスト情報601、及びジョブ処理装置101間の通信速度情報602の利用方法については、第2の実施形態で後述する。  The method of using the plug-in
  なお、ジョブデータ記憶部411、ジョブ情報記憶部412、ワークフロー情報記憶部413、コスト情報記憶部414、及び通信速度情報記憶部415は、例えば、図2のストレージ装置204、RAM202等によって実現される記憶手段である。  The job
  [第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, 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 made assuming that there is only one first job stored in the
  ステップS702に移行すると、ジョブ情報管理部404は、ジョブキュー501において、処理待ちとなっている第1のジョブの「ジョブの状態」を、「処理待ち」から「処理中」に変更(更新)する。  When the process proceeds to 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 S706, the update
ステップ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, the
  ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS709に移行させる。  If there is no second job waiting to be processed in the
  ステップS709に移行すると、ジョブ実行部406は、ジョブキュー501に記憶された第2のジョブのデータを管理している他のジョブ処理装置に、第2のジョブの実行を要求する実行要求(要求情報)を送信する。  When the process proceeds to step S709, the
  なお、ここでは、ジョブキュー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 the
  ステップS710において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から、例えば、所定の時間内に第2のジョブの実行を許可する許可情報を受信したかを判断する。  In step S710, the
  所定の時間内に第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. , The
  一方、所定の時間内に第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, the
  ステップS711において、ジョブ実行部406は、第2のジョブのデータを管理する他のジョブ処理装置101から通知される第2のジョブの更新情報が受信されるのを待つ。また、ジョブ情報管理部404は、第2のジョブの更新情報が受信された後、受信された第2のジョブの更新情報に従って、ジョブキュー501に記憶した第2のジョブの情報を更新する。  In step S711, the
  ステップS712において、ジョブ実行部406は、第2のジョブのデータを管理している他のジョブ処理装置101から、第2のジョブのデータを取得する。  In step S712, 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, the
  また、ジョブ処理装置101の更新情報通知部405は、ジョブキュー501に記憶された第1のジョブの情報が更新(追加、変更、削除等)された場合、第1のジョブが更新されたことを示す更新情報を、他のジョブ処理装置に通知する。  Further, the update
  (ジョブデータの提供処理)
  図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 job
  第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 job
  一方、第1のジョブの「ジョブの状態」の情報が、処理待ちである場合、ジョブ情報管理部404は、処理をステップS803に移行させる。  On the other hand, when the information of the "job status" of the first job is waiting for processing, the job
  ステップS803に移行すると、ジョブ情報管理部404は、第1のジョブの実行を許可する許可情報を、実行要求の要求元の他のジョブ処理装置101に通知する。  When the process proceeds to 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 S807, 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 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 the
図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, the
  なお、図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 for
  図11(a)に示すように、図9に示す処理の開始時点において、各ジョブ処理装置101のジョブキュー1101、1102、1103には、ジョブの情報が記憶されていないものとする。  As shown in FIG. 11A, it is assumed that the job information is not stored in the
図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 the
同様に、ステップ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 the
ステップ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 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 S908, 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 S910, the job
  ステップ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 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 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 the
ステップ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 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 S914, 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 S915, 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 S917, 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を示すものとする。  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 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 of 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」のジョブの情報が、共通に削除されている。  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 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 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 the
  [第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 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 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 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) 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 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の実施形態に係るジョブ処理方法の処理の流れについて説明する。<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, 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, when there is a first job waiting to be processed in the
  ステップS708に移行すると、ジョブ実行部406は、ジョブキュー501に処理待ちの第2のジョブがあるか否かを判断する。  When the process proceeds to step S708, the
  ジョブキュー501に処理待ちの第2のジョブがない場合、ジョブ実行部406は処理を終了させる。一方、ジョブキュー501に処理待ちの第2のジョブがある場合、ジョブ実行部406は、処理をステップS1202に移行させる。  If there is no second job waiting to be processed in the
  ステップS1202に移行すると、処理コスト算出部408は、ジョブキューに記憶されている第2のジョブ毎の処理コストを算出する。  When the process proceeds to 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 for permitting the execution of the second job is received within the predetermined time, the
  一方、所定の時間内に第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 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 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 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 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 the
  <その他の実施形態>
  図1に示すジョブ処理システム100のシステム構成、及び図4に示すジョブ処理システム100の機能構成は一例であり、本実施形態に係るジョブ処理システム100は、様々なシステム構成が可能である。<Other Embodiments>
 The system configuration of the
  例えば、本実施形態に係るジョブ処理装置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 in
  図14は、その他の実施形態に係るジョブ処理システムの機能構成図である。図14に示すジョブ処理システム1400は、複数のジョブ処理装置101と、ネットワーク107を介して接続される負荷分散装置(情報処理装置)1401を有している。  FIG. 14 is a functional configuration diagram of a job processing system according to another embodiment. The
  負荷分散装置1401は、例えば、特許文献1と同様に、ジョブを複数のジョブ処理装置101に振り分けるものとする。  As in
  各ジョブ処理装置101は、負荷分散装置1401から受付けたジョブの情報を、図4の画像形成装置102から受付けたジョブと同様にジョブキューに記憶して、管理する。  Each job processing device 101 stores and manages the job information received from the
また、各ジョブ処理装置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 the
  また、図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 the
  100      ジョブ処理システム
  101      ジョブ処理装置
  102      画像形成装置
  107      ネットワーク
  402      ジョブ受付部
  404      ジョブ情報管理部
  405      更新情報通知部
  406      ジョブ実行部
  407      実行ジョブ決定部
  408      処理コスト算出部
  411      ジョブデータ記憶部
  412      ジョブ情報記憶部
  1401    負荷分散装置(情報処理装置)100 Job processing system 101
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2016176813AJP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2016176813AJP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program | 
| Publication Number | Publication Date | 
|---|---|
| JP2018041400A JP2018041400A (en) | 2018-03-15 | 
| JP6786975B2true JP6786975B2 (en) | 2020-11-18 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| JP2016176813AExpired - Fee RelatedJP6786975B2 (en) | 2016-09-09 | 2016-09-09 | Job processing system, job processing device, job processing method, and program | 
| Country | Link | 
|---|---|
| JP (1) | JP6786975B2 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR102227204B1 (en)* | 2019-02-12 | 2021-03-11 | 한전케이디엔주식회사 | Real-Time Work Flow Management System using Distributed Processing | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JPH11312149A (en)* | 1998-04-28 | 1999-11-09 | Hitachi Ltd | Load distribution control method and 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 | 
| JP4245055B2 (en)* | 2007-01-29 | 2009-03-25 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing system, image processing apparatus, job processing method, and program | 
| Publication number | Publication date | 
|---|---|
| JP2018041400A (en) | 2018-03-15 | 
| Publication | Publication Date | Title | 
|---|---|---|
| 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 | 
| 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 | |
| LAPS | Cancellation because of no payment of annual fees |