JP2023130943A - 情報処理装置、分散処理システムおよびプログラム - Google Patents
情報処理装置、分散処理システムおよびプログラム Download PDFInfo
- Publication number
- JP2023130943A JP2023130943A JP2022035543A JP2022035543A JP2023130943A JP 2023130943 A JP2023130943 A JP 2023130943A JP 2022035543 A JP2022035543 A JP 2022035543A JP 2022035543 A JP2022035543 A JP 2022035543A JP 2023130943 A JP2023130943 A JP 2023130943A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- server
- distributed
- identification information
- servers
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 257
- 230000010365 information processing Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 description 21
- 238000012790 confirmation Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000015654 memory Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 108091008695 photoreceptors Proteins 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32609—Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
- H04N1/32646—Counter-measures
- H04N1/32678—Performing substitution, e.g. substitute reception or substituting a corrupted line of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00244—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
- H04N1/0097—Storage of instructions or parameters, e.g. customised instructions or different parameters for different user IDs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32609—Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
- H04N1/32646—Counter-measures
- H04N1/32651—Indicating or reporting
- H04N1/32662—Indicating or reporting remotely, e.g. to the transmitter from the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】複数のサーバにより分散処理が実行されるシステムにおいて、何れかのサーバで障害が発生した場合に、そのサーバに振り分けられた処理の処理結果を取得可能とする。【解決手段】情報処理装置100は、分散処理を実行するクラウドサーバ200に対して処理の実行指示を行い、個々のクラウドサーバ200から分散処理における当該クラウドサーバ200に振り分けられた処理の処理結果を取得し、分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、分散処理を実行する各クラウドサーバ200に対して処理結果を取得していないことを示す通知を行い、通知の後、分散処理を実行するクラウドサーバ200のうち、条件を満足した際に取得されなかった処理結果に係る処理が振り分けられたクラウドサーバ200とは異なるクラウドサーバ200から当該処理結果を取得する。【選択図】図5
Description
本発明は、情報処理装置、分散処理システムおよびプログラムに関する。
データ処理において、複数の外部サーバを用いた分散処理が行われる場合、分散して実行される処理を管理するための仕組みを用意する必要がある。分散処理を管理するためのサーバを用いない場合、例えば、サーバ間やサーバと端末装置との間で送受信されるデータにジョブの識別情報を付加し、この識別情報に基づいて端末装置において処理を管理すること等が行われる。
特許文献1には、複数のクライアントPCと印刷装置とを備えたシステムが開示されている。同システムにおいて、一のクライアントPCは、印刷データを複数の分割データに分割し、それに分割情報及びジョブ識別情報を付加して分散委託データを生成し他の複数のクライアントPCに分配する。他のクライアントPCは、受信した分散委託データに含まれる分割データをラスタライズし、ラスタライズ後の分割データと、分割情報と、ジョブ情報とを含む分割印刷ジョブを生成し印刷装置に送信する。印刷装置は、受信した分割印刷ジョブに対応付けて分割印刷ジョブレコードをスプールに登録し、スプールに登録されている分割印刷ジョブのうちで、印刷データに対応する全ての分割印刷ジョブが集まっている分割印刷ジョブを、分割情報に示される印刷データ内での順番で印刷する。
複数のサーバにより分散処理が実行されるシステムにおいて、何れかのサーバで障害が発生し、そのサーバによる処理結果が得られない場合、全体の処理を完了することができない。
本発明は、複数のサーバにより分散処理が実行されるシステムにおいて、何れかのサーバで障害が発生した場合に、そのサーバに振り分けられた処理の処理結果を取得可能とすることを目的とする。
請求項1に係る本発明は、
プロセッサを備え、
前記プロセッサは、
分散処理を実行するサーバに対して処理の実行指示を行い、
個々の前記サーバから前記分散処理における当該サーバに振り分けられた処理の処理結果を取得し、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行い、
前記通知の後、前記分散処理を実行するサーバのうち、前記条件を満足した際に取得されなかった前記処理結果に係る処理が振り分けられたサーバとは異なるサーバから当該処理結果を取得することを特徴とする、情報処理装置である。
請求項2に係る本発明は、
前記プロセッサは、
個々の前記サーバから前記処理結果の送信先を示す装置識別情報を取得し、
取得した前記装置識別情報が自装置の装置識別情報である場合に、当該装置識別情報の送信元であるサーバから前記処理結果を取得することを特徴とする、請求項1に記載の情報処理装置である。
請求項3に係る本発明は、
前記プロセッサは、
前記サーバとの間で前記処理結果を取得するための通信を開始する際に、各々の当該サーバから前記装置識別情報を取得して自装置の装置識別情報か否かを判断し、
各々の前記サーバから前記処理結果を取得する際に、再度、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項2に記載の情報処理装置である。
請求項4に係る本発明は、
前記プロセッサは、前記通知の後、前記異なるサーバから前記処理結果を取得する際に、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項3に記載の情報処理装置である。
請求項5に係る本発明は、
前記プロセッサは、分散処理を実行するサーバに対して前記処理の実行指示と共に自装置の装置識別情報を提供することを特徴とする、請求項2に記載の情報処理装置である。
請求項6に係る本発明は、
前記プロセッサは、前記分散処理における全ての処理結果を取得し、当該処理結果に基づく処理を実行することを特徴とする、請求項1に記載の情報処理装置である。
請求項7に係る本発明は、
前記プロセッサは、前記分散処理における処理結果のうち、一または複数の処理結果に関して、
前記通知を予め定められた回数行っても取得されない場合、前記分散処理の処理結果に基づく処理を実行せず、予め定められたエラー処理を実行することを特徴とする、請求項6に記載の情報処理装置である。
請求項8に係る本発明は、
端末装置からの指示に応じて複数のサーバによる分散処理を実行し、処理結果を当該端末装置に提供する分散処理システムにおいて、
前記複数のサーバにおける各サーバは、
前記端末装置から処理の実行指示を取得し、
前記実行指示に応じて前記分散処理における自サーバに振り分けられた処理を実行し、
実行した前記処理の識別情報と処理結果の送信先を示す装置識別情報とを前記端末装置に送信し、当該端末装置からの応答に応じて、当該端末装置へ処理結果を送信し、
前記端末装置から前記分散処理における個々の処理の何れかに関して処理結果を取得していないことを示す通知を受け付け、自サーバが当該通知に係る処理の少なくとも一つが振り分けられた場合に、新たに振り分けられた当該処理を実行し、当該端末装置へ処理結果を送信することを特徴とする、分散処理システムである。
請求項9に係る本発明は、
前記複数のサーバにおける各サーバは、
前記分散処理に係る全ての処理の対象データを予め保持し、
保持している前記対象データから自サーバに振り分けられた処理の対象データを用いて当該処理を実行することを特徴とする、請求項8に記載の分散処理システムである。
請求項10に係る本発明は、
前記サーバに対する前記分散処理の振り分けを管理する管理サーバをさらに備え、
前記管理サーバは、前記複数のサーバにおける各サーバが前記通知を受け付けた場合に、当該通知により特定される処理を、当該処理が振り分けられているサーバとは異なるサーバに振り分けることを特徴とする、請求項9に記載の分散処理システムである。
請求項11に係る本発明は、
前記複数のサーバにおける各サーバは、前記通知を受け付けると、他の前記サーバと通信を行って、当該通知により特定される処理を実行するサーバを決定することを特徴とする、請求項9に記載の分散処理システムである。
請求項12に係る本発明は、
前記複数のサーバにおける各サーバは
前記端末装置との間で前記処理結果を取得するための通信を開始する際に、前記装置識別情報を当該端末装置へ送信し、
前記端末装置へ前記処理結果を送信する際に、再度、前記装置識別情報を送信することを特徴とする、請求項8に記載の分散処理システムである。
請求項13に係る本発明は、
前記複数のサーバにおける各サーバは、前記処理結果を前記端末装置へ送信する際に、当該処理結果と共に前記装置識別情報を送信することを特徴とする、請求項12に記載の分散処理システムである。
請求項14に係る本発明は、
コンピュータに、
分散処理を実行するサーバに対して処理の実行指示および自装置の装置識別情報を提供する機能と、
個々の前記サーバから処理の識別情報および自装置の前記装置識別情報を受け付けて、当該装置識別情報の送信元であるサーバから当該装置識別情報と共に取得した当該処理の識別情報により識別される処理の処理結果を取得する機能と、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行う機能と、
前記通知の後、前記分散処理を実行するサーバのうち何れかのサーバから自装置の前記装置識別情報を受け付けて、前記条件を満足した際に取得されなかった前記処理結果を取得する機能と、
を実現させることを特徴とする、プログラムである。
プロセッサを備え、
前記プロセッサは、
分散処理を実行するサーバに対して処理の実行指示を行い、
個々の前記サーバから前記分散処理における当該サーバに振り分けられた処理の処理結果を取得し、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行い、
前記通知の後、前記分散処理を実行するサーバのうち、前記条件を満足した際に取得されなかった前記処理結果に係る処理が振り分けられたサーバとは異なるサーバから当該処理結果を取得することを特徴とする、情報処理装置である。
請求項2に係る本発明は、
前記プロセッサは、
個々の前記サーバから前記処理結果の送信先を示す装置識別情報を取得し、
取得した前記装置識別情報が自装置の装置識別情報である場合に、当該装置識別情報の送信元であるサーバから前記処理結果を取得することを特徴とする、請求項1に記載の情報処理装置である。
請求項3に係る本発明は、
前記プロセッサは、
前記サーバとの間で前記処理結果を取得するための通信を開始する際に、各々の当該サーバから前記装置識別情報を取得して自装置の装置識別情報か否かを判断し、
各々の前記サーバから前記処理結果を取得する際に、再度、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項2に記載の情報処理装置である。
請求項4に係る本発明は、
前記プロセッサは、前記通知の後、前記異なるサーバから前記処理結果を取得する際に、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項3に記載の情報処理装置である。
請求項5に係る本発明は、
前記プロセッサは、分散処理を実行するサーバに対して前記処理の実行指示と共に自装置の装置識別情報を提供することを特徴とする、請求項2に記載の情報処理装置である。
請求項6に係る本発明は、
前記プロセッサは、前記分散処理における全ての処理結果を取得し、当該処理結果に基づく処理を実行することを特徴とする、請求項1に記載の情報処理装置である。
請求項7に係る本発明は、
前記プロセッサは、前記分散処理における処理結果のうち、一または複数の処理結果に関して、
前記通知を予め定められた回数行っても取得されない場合、前記分散処理の処理結果に基づく処理を実行せず、予め定められたエラー処理を実行することを特徴とする、請求項6に記載の情報処理装置である。
請求項8に係る本発明は、
端末装置からの指示に応じて複数のサーバによる分散処理を実行し、処理結果を当該端末装置に提供する分散処理システムにおいて、
前記複数のサーバにおける各サーバは、
前記端末装置から処理の実行指示を取得し、
前記実行指示に応じて前記分散処理における自サーバに振り分けられた処理を実行し、
実行した前記処理の識別情報と処理結果の送信先を示す装置識別情報とを前記端末装置に送信し、当該端末装置からの応答に応じて、当該端末装置へ処理結果を送信し、
前記端末装置から前記分散処理における個々の処理の何れかに関して処理結果を取得していないことを示す通知を受け付け、自サーバが当該通知に係る処理の少なくとも一つが振り分けられた場合に、新たに振り分けられた当該処理を実行し、当該端末装置へ処理結果を送信することを特徴とする、分散処理システムである。
請求項9に係る本発明は、
前記複数のサーバにおける各サーバは、
前記分散処理に係る全ての処理の対象データを予め保持し、
保持している前記対象データから自サーバに振り分けられた処理の対象データを用いて当該処理を実行することを特徴とする、請求項8に記載の分散処理システムである。
請求項10に係る本発明は、
前記サーバに対する前記分散処理の振り分けを管理する管理サーバをさらに備え、
前記管理サーバは、前記複数のサーバにおける各サーバが前記通知を受け付けた場合に、当該通知により特定される処理を、当該処理が振り分けられているサーバとは異なるサーバに振り分けることを特徴とする、請求項9に記載の分散処理システムである。
請求項11に係る本発明は、
前記複数のサーバにおける各サーバは、前記通知を受け付けると、他の前記サーバと通信を行って、当該通知により特定される処理を実行するサーバを決定することを特徴とする、請求項9に記載の分散処理システムである。
請求項12に係る本発明は、
前記複数のサーバにおける各サーバは
前記端末装置との間で前記処理結果を取得するための通信を開始する際に、前記装置識別情報を当該端末装置へ送信し、
前記端末装置へ前記処理結果を送信する際に、再度、前記装置識別情報を送信することを特徴とする、請求項8に記載の分散処理システムである。
請求項13に係る本発明は、
前記複数のサーバにおける各サーバは、前記処理結果を前記端末装置へ送信する際に、当該処理結果と共に前記装置識別情報を送信することを特徴とする、請求項12に記載の分散処理システムである。
請求項14に係る本発明は、
コンピュータに、
分散処理を実行するサーバに対して処理の実行指示および自装置の装置識別情報を提供する機能と、
個々の前記サーバから処理の識別情報および自装置の前記装置識別情報を受け付けて、当該装置識別情報の送信元であるサーバから当該装置識別情報と共に取得した当該処理の識別情報により識別される処理の処理結果を取得する機能と、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行う機能と、
前記通知の後、前記分散処理を実行するサーバのうち何れかのサーバから自装置の前記装置識別情報を受け付けて、前記条件を満足した際に取得されなかった前記処理結果を取得する機能と、
を実現させることを特徴とする、プログラムである。
請求項1の発明によれば、処理結果の不取得時に通知を行わない構成と異なり、何れかのサーバで障害が発生した場合にも、そのサーバに振り分けられた処理の処理結果を取得することができる。
請求項2の発明によれば、処理結果のみを取得する構成と異なり、サーバによる処理結果の送信先が自装置か否かを確認することができる。
請求項3の発明によれば、通信開始時にのみ装置識別情報を取得する構成と異なり、サーバが複数の端末装置に係る分散処理を実行する場合に、処理結果ごとに送信先が自装置か否かを確認することができる。
請求項4の発明によれば、通信開始時にのみ装置識別情報を取得する構成と異なり、情報処理装置からの通知により取得する処理結果に関しても送信先が自装置か否かを確認することができる。
請求項5の発明によれば、自装置以外から装置識別情報を提供する構成と比較して、実行しようとする分散処理と処理結果の送信先との関連付けが容易になる。
請求項6の発明によれば、分散処理の処理結果の取得のみを行う構成と比較して、処理結果に基づいて他の処理を実行することができる。
請求項7の発明によれば、単に予め定められた規則や方針に基づいて画像を処理する構成と比較して、画像の各部の顕著性を反映させて画像における各小領域の重要性を特定することができる。
請求項8の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合にも、そのサーバに振り分けられた処理を実行することができる。
請求項9の発明によれば、各サーバが振り分けられた処理の対象データのみを保持する構成と異なり、通知後に振り分けられた処理を直ちに実行することができる。
請求項10の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合に、管理サーバにより該当の処理を他のサーバに振り分けることができる。
請求項11の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合に、各サーバ間の通信を経て該当の処理を他のサーバに振り分けることができる。
請求項12の発明によれば、通信開始時にのみ装置識別情報を送信する構成と異なり、クラウドサーバが複数の端末装置に係る分散処理を実行する場合に、処理結果ごとに送信先を確認することができる。
請求項13の発明によれば、装置識別情報を送信した後に処理結果を送信する構成と比較して、通信に要する時間を短縮することができる。
請求項14の発明によれば、本発明のプログラムをインストールしたコンピュータにおいて、処理結果の不取得時に通知を行わない構成と異なり、何れかのサーバで障害が発生した場合にも、そのサーバに振り分けられた処理の処理結果を取得することができる。
請求項2の発明によれば、処理結果のみを取得する構成と異なり、サーバによる処理結果の送信先が自装置か否かを確認することができる。
請求項3の発明によれば、通信開始時にのみ装置識別情報を取得する構成と異なり、サーバが複数の端末装置に係る分散処理を実行する場合に、処理結果ごとに送信先が自装置か否かを確認することができる。
請求項4の発明によれば、通信開始時にのみ装置識別情報を取得する構成と異なり、情報処理装置からの通知により取得する処理結果に関しても送信先が自装置か否かを確認することができる。
請求項5の発明によれば、自装置以外から装置識別情報を提供する構成と比較して、実行しようとする分散処理と処理結果の送信先との関連付けが容易になる。
請求項6の発明によれば、分散処理の処理結果の取得のみを行う構成と比較して、処理結果に基づいて他の処理を実行することができる。
請求項7の発明によれば、単に予め定められた規則や方針に基づいて画像を処理する構成と比較して、画像の各部の顕著性を反映させて画像における各小領域の重要性を特定することができる。
請求項8の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合にも、そのサーバに振り分けられた処理を実行することができる。
請求項9の発明によれば、各サーバが振り分けられた処理の対象データのみを保持する構成と異なり、通知後に振り分けられた処理を直ちに実行することができる。
請求項10の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合に、管理サーバにより該当の処理を他のサーバに振り分けることができる。
請求項11の発明によれば、各サーバが最初に振り分けられた処理のみを実行する構成と異なり、何れかのサーバで障害が発生した場合に、各サーバ間の通信を経て該当の処理を他のサーバに振り分けることができる。
請求項12の発明によれば、通信開始時にのみ装置識別情報を送信する構成と異なり、クラウドサーバが複数の端末装置に係る分散処理を実行する場合に、処理結果ごとに送信先を確認することができる。
請求項13の発明によれば、装置識別情報を送信した後に処理結果を送信する構成と比較して、通信に要する時間を短縮することができる。
請求項14の発明によれば、本発明のプログラムをインストールしたコンピュータにおいて、処理結果の不取得時に通知を行わない構成と異なり、何れかのサーバで障害が発生した場合にも、そのサーバに振り分けられた処理の処理結果を取得することができる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態が適用されるシステムの構成例を示す図である。本実施形態のシステムは、画像形成装置100と、クラウドサーバ200とを備える。図1には、2つの画像形成装置100と、3つのクラウドサーバ200とが示されているが、各々は、図示の数に限定されない。各画像形成装置100を区別する場合、図1に示すように、画像形成装置100A、100B等と添え字を付して記す。同様に、各クラウドサーバ200を区別する場合、図1に示すように、クラウドサーバ200A、200B、200C等と添え字を付して記す。
図1は、本実施形態が適用されるシステムの構成例を示す図である。本実施形態のシステムは、画像形成装置100と、クラウドサーバ200とを備える。図1には、2つの画像形成装置100と、3つのクラウドサーバ200とが示されているが、各々は、図示の数に限定されない。各画像形成装置100を区別する場合、図1に示すように、画像形成装置100A、100B等と添え字を付して記す。同様に、各クラウドサーバ200を区別する場合、図1に示すように、クラウドサーバ200A、200B、200C等と添え字を付して記す。
画像形成装置100は、クラウドサーバ200から処理対象の画像データを取得し、用紙等の媒体に対して画像形成処理を行い、出力する。画像形成装置100は、情報処理装置の一例である。クラウドサーバ200は、インターネット上のいわゆるクラウド環境に構築されたサーバであり、画像形成装置100により出力される画像データに対する画像処理を行う。クラウドサーバ200は、例えば、画像のラスタライズ、画像の圧縮、二値化等の処理を行う。
本実施形態では、図1に示すように、複数のクラウドサーバ200(図示の例では、クラウドサーバ200A、200B、200C)の分散処理により画像処理が行われる。画像形成装置100は、複数のクラウドサーバ200に分散して行われた画像処理の結果のデータを各クラウドサーバ200から取得し、統合して印刷出力する。また、図1に示すように、各クラウドサーバ200は、複数の画像形成装置100(図示の例では、画像形成装置100A、100B)において出力される画像データの画像処理を並行して行っても良い。
<画像形成装置100の構成>
図2は、本実施形態が適用される画像形成装置100の構成を示す図である。画像形成装置100は、制御部110と、記憶部120と、操作部130と、表示部140と、画像読み取り部150と、画像形成部160と、通信部170と、画像処理部180とを備える。これらの各機能部は、バス101に接続され、このバス101を介してデータの授受を行う。
図2は、本実施形態が適用される画像形成装置100の構成を示す図である。画像形成装置100は、制御部110と、記憶部120と、操作部130と、表示部140と、画像読み取り部150と、画像形成部160と、通信部170と、画像処理部180とを備える。これらの各機能部は、バス101に接続され、このバス101を介してデータの授受を行う。
制御部110は、画像形成装置100における上記の各機能部を制御する。また、制御部110は、各種のデータ処理を実行する機能部である。制御部110は、演算手段であるCPU(Central Processing Unit)111と、記憶手段であるRAM(Random Access Memory)112およびROM(Read Only Memory)113とを備える。RAM112は、主記憶装置(メイン・メモリ)であり、CPU111が演算処理を行う際の作業用メモリとして用いられる。ROM113にはプログラムや予め用意された設定値等のデータが保持されており、CPU111はROM113から直接プログラムやデータを読み込んで処理を実行する。また、プログラムやデータは、記憶部120にも記憶される。CPU111は記憶部120に格納されたプログラムをRAM112に読み込んで実行する。
本実施形態では、制御部110のCPU111がプログラムを読み込んで実行することにより、後述する各種の機能を実現する。本実施形態において実現される機能には、装置IDの送信、装置IDを含む各種IDの受信および確認、処理対象のデータの受信等が含まれる。
記憶部120は、上記のようにCPU111が実行するためのプログラムやデータを記憶する他、画像読み取り部150により読み取った画像のデータ等、各種の動作により生成された種々のデータを記憶する機能部である。記憶部120は、例えば、磁気ディスク装置やSSD(Solid State Drive)等の記憶装置により実現される。
操作部130は、ユーザの操作を受け付ける機能部である。操作部130は、例えば、ハードウェアキーや、指等で押圧または触れた位置に応じた制御信号を出力するタッチセンサ等により構成される。タッチセンサと表示部140を構成する液晶ディスプレイとを組み合わせたタッチパネルとして構成しても良い。
表示部140は、ユーザに各種の情報を提示する情報画像、読み取りや出力等の処理対象となる画像のプレビュー画像、ユーザが操作を行うための操作画像等を表示する機能部である。表示部140は、例えば、液晶ディスプレイにより構成される。上記の操作部130と表示部140とを組み合わせて、ユーザが画像形成装置100に対して情報の入出力を行うためのユーザインターフェイス手段として用い得る。
画像読み取り部150は、原稿上の画像を光学的に読み取る機能部である。画像の読み取り方式としては、例えば、光源から原稿に照射した光に対する反射光をレンズで縮小してCCD(Charge Coupled Devices)で受光するCCD方式や、LED(Light Emitting Diode)光源から原稿に順に照射した光に対する反射光をCIS(Contact Image Sensor)で受光するCIS方式等が用いられる。
画像形成部160は、用紙等の記録材に対して、画像形成材を用いて画像データに基づく画像を形成する機能部である。記録材に画像を形成する方式としては、例えば、画像形成材としてトナーを用い、感光体に付着させたトナーを記録材に転写して像を形成する電子写真方式が用いられる。
通信部170は、外部装置との間で命令やデータを送受信する機能部である。通信部170としては、外部装置との通信方式に応じたインターフェイスが用いられる。外部装置との接続は、ネットワークを介して行っても良いし、直接接続により行っても良い。通信回線は、有線回線であっても無線回線であっても良い。
画像処理部180は、演算手段であるプロセッサと作業用メモリとを備え、画像データが表す画像に色補正や階調補正等の画像処理を施す機能部である。なお、プロセッサとして制御部110のCPU111を、作業用メモリとして制御部110のRAM112を、それぞれ兼用しても良い。本実施形態では、画像データに対して行われる画像処理の少なくとも一部がクラウドサーバ200により行われる。画像処理部180は、クラウドサーバ200において行われない画像処理であって、画像形成装置100による出力の際に適用するか否かが決定される処理や設定の変更が行われ得る処理を実行する。
<画像データの送信手順>
図3は、クラウドサーバ200から画像形成装置100への画像データの送信手順を示す図である。図3には、一つの画像形成装置100が、二つのクラウドサーバ200A、200Bから画像データを取得する例が示されている。ここで、分散処理は、処理対象のデータを、予め定められたデータブロックごとに各クラウドサーバ200A、200Bに振り分けて行われる。データブロックは、処理対象のデータの種類や、クラウドサーバ200A、200Bおよび画像形成装置100の処理能力、通信速度等に応じて設定し得るが、本実施形態では、例えば、データブロックの単位を1ページ分の画像データとしても良い。図示の例では、3ページ分の画像データが送受信され、第1ページおよび第3ページの画像処理をクラウドサーバ200Aが行い、第2ページの画像処理をクラウドサーバ200Bが行うものとする。
図3は、クラウドサーバ200から画像形成装置100への画像データの送信手順を示す図である。図3には、一つの画像形成装置100が、二つのクラウドサーバ200A、200Bから画像データを取得する例が示されている。ここで、分散処理は、処理対象のデータを、予め定められたデータブロックごとに各クラウドサーバ200A、200Bに振り分けて行われる。データブロックは、処理対象のデータの種類や、クラウドサーバ200A、200Bおよび画像形成装置100の処理能力、通信速度等に応じて設定し得るが、本実施形態では、例えば、データブロックの単位を1ページ分の画像データとしても良い。図示の例では、3ページ分の画像データが送受信され、第1ページおよび第3ページの画像処理をクラウドサーバ200Aが行い、第2ページの画像処理をクラウドサーバ200Bが行うものとする。
事前の動作として、各クラウドサーバ200A、200Bには、画像形成装置100の出力処理の単位(以下、「ジョブ」と呼ぶ)における処理対象の画像データおよび画像処理における設定情報が予め与えられている。一方、各クラウドサーバ200A、200Bには、分散処理における処理対象の画像データの振り分けに関わらず、ジョブにおける画像データの全てが与えられるものとする。各クラウドサーバ200A、200Bは、取得したジョブに係る全ての画像データのうち、自サーバに割り当てられた画像データに対する画像処理を行うと共に、処理結果の画像データを画像形成装置100へ送信する。各クラウドサーバ200A、200Bに対する画像データや設定情報の提供、分散処理における画像データの振り分けは、例えば、クラウドサーバ200とは別に設けられた管理サーバ(図示せず)により行われる。
図3に示す例において、画像形成装置100は、ジョブの実行に際し、クラウドサーバ200A、200Bから画像処理の結果としてページごとの画像データを取得する。画像データの取得は、下記の手順で行われる。以下の説明で符号(a)~(k)は、図3においてクラウドサーバ200A、200Bと画像形成装置100との間で行われるデータ交換を表す矢印に付された符号(a)~(k)に対応している。
画像形成装置100は、まず、ジョブの実行指示および装置IDをクラウドサーバ200Aへ送信する(a)。ここで、ジョブの実行指示は、画像形成装置100が印刷処理を開始するために、クラウドサーバ200に画像処理および処理された画像データの送信を実行させるための命令である。装置IDは、画像形成装置100を識別するための識別情報である。
クラウドサーバ200Aは、画像形成装置100からジョブの実行指示および装置IDを受け取ると、実行指示に係るジョブに対してジョブIDを設定し、ジョブの対象である画像データに対する画像処理を実行する。そして、クラウドサーバ200Aは、設定したジョブIDと画像形成装置100から取得した装置IDとを、装置IDにより特定される画像形成装置100へ送信する(b)。ジョブIDは、実行指示に係るジョブを識別するための識別情報である。また、クラウドサーバ200Aは、受け取ったジョブの実行指示、装置IDおよび設定したジョブIDを、分散処理を分担するクラウドサーバ200Bへ転送する。
画像形成装置100は、クラウドサーバ200AからジョブIDおよび装置IDを取得し、取得した装置IDが自装置の装置IDか否かを確認する。取得した装置IDが自装置の装置IDと一致した場合、画像形成装置100は、クラウドサーバ200Aに、装置IDが正しいことを示す通知(以下、「確認通知」と呼ぶ)を行う(c)。また、画像形成装置100は、取得したジョブIDを保持し、この後クラウドサーバ200Aから受信する画像データが実行指示に係るジョブのデータであることを判断するために用いる。
クラウドサーバ200Aは、画像形成装置100から確認通知を受け取ると、画像データの送信を開始する。画像データの送信は、ページごとに行われる。クラウドサーバ200Aには第1ページと第3ページとが割り当てられているので、クラウドサーバ200Aは、まず、第1ページの画像データ、ジョブID、装置IDおよびページIDを画像形成装置100へ送信する(d)。
画像形成装置100は、クラウドサーバ200Aから受信した各IDを確認する。具体的には、例えば、ジョブIDが上記(b)でクラウドサーバ200Aから受信したジョブIDか否か、装置IDが自装置の装置IDか否か、既に受信したページのページIDと重複していないか等が確認される。各IDに問題がなければ、画像形成装置100は、受信した第1ページの画像データを保存し、クラウドサーバ200Aに、画像データを受け取った旨の通知(以下、「取得通知」と呼ぶ)を行う(e)。
クラウドサーバ200Aは、次に、第3ページの画像データ、ジョブID、装置IDおよびページIDを画像形成装置100へ送信する(f)。画像形成装置100は、クラウドサーバ200Aから受信した各IDを確認する。そして、各IDに問題がなければ、画像形成装置100は、受信した第3ページの画像データを保存し、クラウドサーバ200Aに取得通知を行う(g)。以下、未送信の画像データがあれば、クラウドサーバ200Aおよび画像形成装置100は、上記の処理を繰り返す。
図3に示す例では、以上で振り分けられた全ての画像データの送信を完了したので、クラウドサーバ200Aは、終了処理を行って、このジョブに関する処理を終了する。終了処理としては、例えば、クラウドサーバ200Aにおける該当ジョブの画像データの送信終了を示す通知を画像形成装置100へ送信すること等が挙げられる。
次に、クラウドサーバ200Bの動作を説明する。クラウドサーバ200Bは、クラウドサーバ200Aからジョブの実行指示、装置IDおよびジョブIDを受け取ると、ジョブの対象である画像データに対する画像処理を実行する。そして、クラウドサーバ200Bは、クラウドサーバ200Aから受け取った装置IDおよびジョブIDを、装置IDにより特定される画像形成装置100へ送信する(h)。画像形成装置100は、クラウドサーバ200BからジョブIDおよび装置IDを取得し、取得した装置IDが自装置の装置IDか否かを確認する。取得した装置IDが自装置の装置IDと一致した場合、画像形成装置100は、クラウドサーバ200Bに、装置IDが正しいことを示す確認通知を行う(i)。
クラウドサーバ200Bは、画像形成装置100から確認通知を受け取ると、画像データの送信を開始する。画像データの送信はページごとに行われ、クラウドサーバ200Bには第2ページが割り当てられている。したがって、クラウドサーバ200Bは、第2ページの画像データ、ジョブID、装置IDおよびページIDを画像形成装置100へ送信する(j)。
画像形成装置100は、クラウドサーバ200Bから受信した各IDを確認する。そして、各IDに問題がなければ、画像形成装置100は、受信した第2ページの画像データを保存し、クラウドサーバ200Bに取得通知を行う(k)。以下、未送信の画像データがあれば、クラウドサーバ200Bおよび画像形成装置100は、上記の処理を繰り返す。図3に示す例では、クラウドサーバ200Bに割り当てられたページは第2ページのみなので、クラウドサーバ200Bは、終了処理を行って、このジョブに関する処理を終了する。
上記の動作例では、画像形成装置100からのジョブの実行指示に応じてクラウドサーバ200AがジョブIDを設定した。これに対し、ジョブIDを予め設定して分散処理を行う各クラウドサーバ200A、200B間で共有しておいても良い。また、画像形成装置100がジョブIDを設定し、分散処理を行う各クラウドサーバ200A、200Bに送っても良い。また、上記の動作例では、クラウドサーバ200Aが、分散処理を行う他のクラウドサーバ200Bへ画像形成装置100から取得した実行指示および装置IDを転送した。これに対し、画像形成装置100が分散処理を行う各クラウドサーバ200A、200Bに実行指示および装置IDを送っても良い。
上記の動作例において、クラウドサーバ200A、200Bは、通信開始時に装置IDを送信し、画像形成装置100による確認通知を受信した。これにより、クラウドサーバ200A、200Bと画像形成装置100との間で、ジョブにおける画像データの送信先が正しいことが確認される。また、クラウドサーバ200A、200Bは、ページごとの画像データを送信する際に、再度、装置IDを送信し、画像形成装置100による確認通知を受信した。これにより、クラウドサーバ200A、200Bと画像形成装置100との間で、ページごとに送信先が正しいことが改めて確認される。
上記の動作例では一の画像形成装置100が画像データを取得する動作を説明したが、一のクラウドサーバ200が複数の画像形成装置100A、100Bに対して画像データを送信する場合、画像形成装置100Aおよび画像形成装置100Bへのページごとの送信が交互に行われることが起こり得る。このような場合、ページごとに送信先を確認することで、ページ単位で誤送信の発生を防止し得る。なお、上記の動作例では、ページごとの画像データと共に装置IDを送ることとしたが、この手順は例示に過ぎない。クラウドサーバ200は、画像データを送る際に、まず装置IDを送信し、画像形成装置100からの確認通知を取得して画像データを送るようにしても良い。
<障害発生時の対応動作>
図4は、画像データの送信中に一のクラウドサーバ200において障害が発生し、画像データの送信が中断した様子を示す図である。クラウドサーバ200において障害が発生した場合、画像形成装置100は、障害が発生したクラウドサーバ200からそのクラウドサーバ200に割り当てられたデータを得ることができない。そこで、本実施形態では、一のクラウドサーバ200で障害が発生した場合に他のクラウドサーバ200から必要なデータを取得する。
図4は、画像データの送信中に一のクラウドサーバ200において障害が発生し、画像データの送信が中断した様子を示す図である。クラウドサーバ200において障害が発生した場合、画像形成装置100は、障害が発生したクラウドサーバ200からそのクラウドサーバ200に割り当てられたデータを得ることができない。そこで、本実施形態では、一のクラウドサーバ200で障害が発生した場合に他のクラウドサーバ200から必要なデータを取得する。
図4に示す例では、三つのクラウドサーバ200A、200B、200Cから画像形成装置100へ画像データが送信される。クラウドサーバ200Aには第1ページが割り当てられ、クラウドサーバ200Bには第3ページおよび第4ページが割り当てられ、クラウドサーバ200Cには第2ページが割り当てられているものとする。
クラウドサーバ200A、200B、200Cから画像形成装置100へ画像データを送信する動作の実行中に、クラウドサーバ200Bにおいて障害が発生したものとする。障害は、クラウドサーバ200Bが第3ページの画像データを送信した後、第4ページの画像データを送信する前に発生したものとする。クラウドサーバ200A、200Cによる画像データは正常に送信された。この場合、画像形成装置100は、第1ページから第3ページまでの画像データを取得し、第4ページの画像データを取得できない。本実施形態では、次のようにして、障害の発生していないクラウドサーバ200A、200Cが第4ページの画像データを画像形成装置100へ送る。
図5は、クラウドサーバ200に障害が発生した後の画像形成装置100およびクラウドサーバ200の動作を示す図である。画像形成装置100は、第4ページの画像データが得られない状態で予め定められた条件を満足すると、第4ページの画像データを取得していないことを示す通知(以下、「未受信通知」と呼ぶ)を各クラウドサーバ200に行う。予め定められた条件は様々に設定し得るが、例えば、予め設定された時間が経過したこと等としても良い。未受信通知は、分散処理の実行対象である全てのクラウドサーバ200(200A、200B、200C)に対して行われる。画像形成装置100において、何れのクラウドサーバ200に障害が発生したかわからないためである。
障害の発生していないクラウドサーバ200A、200Cは、通知を受け取ると、送信されていない第4ページの追加割り当てを受け付ける。これにより、障害が発生したクラウドサーバ200Bに割り当てられていたページが、障害の発生していない他のクラウドサーバ200(クラウドサーバ200Aまたはクラウドサーバ200C)に割り当てられる。追加割り当ては、例えば、管理サーバ300により行われる。管理サーバ300は、ジョブの実行を管理するサーバであり、各クラウドサーバ200に対してジョブにおける処理対象の画像データや設定情報の提供、分散処理における画像データの振り分け等を行うサーバである。ここでは、クラウドサーバ200Cに第4ページが割り当てられたものとする。
第4ページが割り当てられたクラウドサーバ200Cは、第4ページに対する画像処理を実行する。そして、クラウドサーバ200Cは、図3を参照して説明した手順で第4ページの画像データを送信する。すなわち、送信開始時のジョブIDおよび装置IDの確認を経た後、第4ページの画像データ、ジョブID、装置IDおよびページIDを画像形成装置100へ送信する。
画像形成装置100は、分散処理を実行する各クラウドサーバ200へ未受信通知を送った後、通信開始時にクラウドサーバ200CからジョブIDと共に受信した装置IDが自装置の装置IDか否かを確認し、自装置の装置IDであれば確認通知を返す。また、画像形成装置100は、第4ページの画像データの受信時に、クラウドサーバ200Cから画像データと共に受信した各IDを確認する。そして、問題が無ければ、画像形成装置100は、受信した第4ページの画像データを保存し、クラウドサーバ200Cに、取得通知を行う。
なお、クラウドサーバ200Cにおいて、追加割り当てされたデータと同じジョブによるデータ送信処理が継続中である場合、送信開始時の確認は省略しても良い。例えば、ジョブに係る画像データの総ページ数が10ページであり、第3、第6、第9ページがクラウドサーバ200Cに振り分けられている場合を考える。クラウドサーバ200において、第6ページまで送信完了し、第9ページが未送信のときに第8ページが追加で割り当てられたものとする。この場合、クラウドサーバ200Cは、このジョブによる送信処理が継続中(第9ページが未送信)であるため、かかる送信処理の一部として第8ページの送信を行っても良い。
上記の動作例において、障害の発生したクラウドサーバ200Bにおいて画像形成装置100に送信できなかった画像データに対する処理の追加割り当てを管理サーバ300が行うこととしたが、これは例示に過ぎない。例えば、障害が発生していないクラウドサーバ200どうしで情報をやり取りし、追加の画像処理および送信を行うクラウドサーバ200を決定しても良い。この場合、クラウドサーバ200間の情報のやり取りにおいて、例えば、各クラウドサーバ200の負荷の状態等を比較し、現状の負荷が最も軽いクラウドサーバ200に対して追加割り当てを行っても良い。
<クラウドサーバ200の動作>
図6は、クラウドサーバ200の動作を示すフローチャートである。クラウドサーバ200は、画像形成装置100からジョブの実行指示および装置IDを受信すると(S601)、ジョブIDを設定し、受信した実行指示にしたがって画像処理を実行する(S602)。そして、クラウドサーバ200は、画像形成装置100へジョブIDおよび装置IDを送信する(S603)。
図6は、クラウドサーバ200の動作を示すフローチャートである。クラウドサーバ200は、画像形成装置100からジョブの実行指示および装置IDを受信すると(S601)、ジョブIDを設定し、受信した実行指示にしたがって画像処理を実行する(S602)。そして、クラウドサーバ200は、画像形成装置100へジョブIDおよび装置IDを送信する(S603)。
次に、クラウドサーバ200は、規定時間内に画像形成装置100から確認通知を受信すると(S604でYES)、S602で処理した画像データを、予め定められたデータブロックごと(例えばページごと)に画像形成装置100へ送信する。また、クラウドサーバ200は、画像データと共に各ID(ジョブID、ページIDおよび装置ID)を画像形成装置100へ送信する(S605)。規定時間内に確認通知を受信しなかった場合(S604でNO)、クラウドサーバ200は、ジョブがエラーにより終了したことを示す通知を画像形成装置100へ送信する(S611)。
クラウドサーバ200は、送信したページの画像データの取得通知を画像形成装置100から規定時間内に受信すると(S606でYES)、ジョブに係る全ての画像データ(全ページ)の送信を完了したか否かを判断する。完了していない場合(S607でNO)、S605に戻り、クラウドサーバ200は、未送信の画像データおよび各IDを画像形成装置100へ送信する。一方、ジョブに係る全ての画像データの送信を完了したならば(S607でYES)、クラウドサーバ200は、画像形成装置100から未受信通知を受信したか否かを判断する。また、規定時間内に取得通知を受信しなかった場合(S606でNO)、クラウドサーバ200は、ジョブがエラーにより終了したことを示す通知を画像形成装置100へ送信する(S611)。
未受信通知を受信していない場合(S608でNO)、クラウドサーバ200は、このジョブにおける自サーバの処理が終了したことを示す通知を画像形成装置100へ送信する(S609)。分散処理に係る他のクラウドサーバ200で障害が発生し、画像形成装置100から未受信通知を受信した場合(S608でYES)、次にクラウドサーバ200は、このジョブにおける処理対象の画像データの追加割り当てを受けたか否かを判断する。
追加割り当てを受けていない場合(S610でNO)、クラウドサーバ200は、このジョブにおける自サーバの処理が終了したことを示す通知を画像形成装置100へ送信する(S609)。一方、画像データの追加割り当てを受けた場合(S610でYES)、S602に戻り、クラウドサーバ200は、追加割り当てされた画像データに対する画像処理を行う。そして、クラウドサーバ200は、新たに画像処理を行った画像データに関して、画像形成装置100へのジョブIDおよび装置IDの送信(S603)以降の処理を実行する。
上記の動作例において、クラウドサーバ200は、ジョブに係る全ての画像データの送信を完了した後に、画像形成装置100から未受信通知を受信したか否かを判断することとした。これに対し、ジョブに係る全ての画像データの送信を完了する前であっても、未受信通知を受信し、画像データの追加割り当てを受け付けた場合は、当初の振り分けで自サーバに割り当てられた画像データと同様に追加割り当てによる画像データの処理を行っても良い。
<画像形成装置100の動作>
図7は、画像形成装置100の動作を示すフローチャートである。画像形成装置100は、ジョブを開始する場合、まず、分散処理による画像処理を実行するクラウドサーバ200へジョブの実行指示および装置IDを送信し(S701)、クラウドサーバ200からの応答を待つ。そして、画像形成装置100は、クラウドサーバ200からジョブIDおよび装置IDを受信すると(S702)、受信した装置IDが正しいか否か(自装置の装置IDと一致しているか否か)を判断する。
図7は、画像形成装置100の動作を示すフローチャートである。画像形成装置100は、ジョブを開始する場合、まず、分散処理による画像処理を実行するクラウドサーバ200へジョブの実行指示および装置IDを送信し(S701)、クラウドサーバ200からの応答を待つ。そして、画像形成装置100は、クラウドサーバ200からジョブIDおよび装置IDを受信すると(S702)、受信した装置IDが正しいか否か(自装置の装置IDと一致しているか否か)を判断する。
受信した装置IDが正しい場合(S703でYES)、画像形成装置100は、クラウドサーバ200へ確認通知を送信する(S704)。受信した装置IDが正しくない場合(S703でNO)、画像形成装置100は、ジョブをエラー終了する(S713)。エラー終了では、例えば、画像形成装置100の表示部140(図2参照)に表示されたUI画面において、エラー終了したことを示すメッセージの表示等が行われる。表示されるメッセージには、例えば、エラーにより終了したこと、エラーの種類、対応手段等の情報を含んでも良い。
画像形成装置100は、確認通知を送信した後、規定時間内に画像データを受信したか否かを判断する。規定時間内に受信した場合(S705でYES)、画像形成装置100は、画像データと共に受信した各IDに問題がないかを判断する。受信した各IDが正しい場合(S706でYES)、画像形成装置100は、受信した画像データを保存し、クラウドサーバ200へ取得通知を返す(S707)。一方、受信した各IDの何れかが正しくない場合(S706でNO)、画像形成装置100は、ジョブをエラー終了する(S713)。
取得通知をクラウドサーバ200へ送信した後、画像形成装置100は、保存した画像データをページ順に出力する(S708)。画像形成装置100は、S705~S708の動作をジョブに係る全ての画像データ(全ページ)について出力するまで繰り返す(S709でNO)。全ての画像データの出力が完了したならば(S709でYES)、画像形成装置100は、ジョブを正常終了する(S710)。正常終了では、例えば、画像形成装置100の表示部140に表示されたUI画面において、正常終了したことを示すメッセージの表示等が行われる。
確認通知を送信した後、規定時間内に画像データを受信しなかった場合(S705でNO)、画像形成装置100は、クラウドサーバ200へ未受信通知を送信し(S711)、クラウドサーバ200からの応答を待つ。画像形成装置100は、規定回数に至るまでは(S712でNO)、例えばS705で述べた規定時間ごとに、未受信通知を繰り返す。そして、未受信通知が規定回数に達するまでに画像データおよび各IDを受信したならば(S705でYES)、画像形成装置100は、各IDの確認(S706)以降の処理を実行する。一方、未受信通知が規定回数に達した場合(S712でYES)、画像形成装置100は、ジョブをエラー終了する(S713)。
上記の動作において、画像形成装置100は、全ての画像データを取得してから印刷出力を行っても良いし、画像データを受信しながら並行して出力処理を行っても良い。ここで、複数のクラウドサーバ200からの画像データの受信が、必ずしもページ順となるとは限らない。例えば、図4、5を参照して説明した例において、クラウドサーバ200Cから第2ページの画像データを受信する前に、クラウドサーバ200Bから第3ページの画像データを受信することが起こり得る。このような場合、後者の例では、例えば、画像形成装置100において十分なデータ容量(例えば、数ページ分のデータ量に相当する容量)のバッファメモリを用意しておき、ページ順が前後して受信された画像データをバッファしてページ順に出力することにより対応しても良い。
<他の適用例>
上記の実施形態では、情報処理装置を画像形成装置100とし、複数のクラウドサーバ200の分散処理による画像処理が行われた画像データを取得して印刷出力するジョブを実行する場合を例として説明したが、本実施形態は上記の実施形態以外にも、複数のクラウドサーバ200の分散処理を経たデータを取得してジョブを実行する種々のシステムに対して適用し得る。例えば、情報処理装置を動画再生装置とし、複数のクラウドサーバ200の分散処理により編集された動画データを取得して再生するジョブを実行するシステムに適用しても良い。
上記の実施形態では、情報処理装置を画像形成装置100とし、複数のクラウドサーバ200の分散処理による画像処理が行われた画像データを取得して印刷出力するジョブを実行する場合を例として説明したが、本実施形態は上記の実施形態以外にも、複数のクラウドサーバ200の分散処理を経たデータを取得してジョブを実行する種々のシステムに対して適用し得る。例えば、情報処理装置を動画再生装置とし、複数のクラウドサーバ200の分散処理により編集された動画データを取得して再生するジョブを実行するシステムに適用しても良い。
この場合、各クラウドサーバ200における処理および情報処理装置(動画再生装置)への送信の単位であるデータブロックは、例えば、フレーム単位の動画データ等としても良い。この適用例では、分散処理を行う各クラウドサーバ200は、情報処理装置からジョブの実行指示および装置IDを取得し、処理対象の動画データを処理する(言い換えれば、処理済みの動画データを生成する)。そして、クラウドサーバ200は、ジョブIDと装置IDとを情報処理装置に送信し、確認通知を待つ。クラウドサーバ200は、確認通知を受け取ると、フレーム単位の処理済みの動画データ、ジョブID、装置IDおよびフレームの識別情報としてのフレームIDを情報処理装置へ送信する。
情報処理装置は、ジョブの実行に際し、まず、ジョブの実行指示および装置IDをクラウドサーバ200へ送信する。情報処理装置は、クラウドサーバ200からジョブIDおよび装置IDを取得すると、装置IDを確認して確認通知を行い、データが送られるのを待つ。情報処理装置は、クラウドサーバ200からフレーム単位の処理済みの動画データ、ジョブID、装置IDおよびフレームIDを受信すると、各IDを確認し、動画データを保存して取得通知を行う。そして、情報処理装置は、取得した動画データを時系列にしたがって再生する。
また、上記の実施形態では、情報処理装置の一例である画像形成装置100とクラウドサーバ200とが直接、命令やデータのやり取りを行う構成としたが、かかる命令やデータのやり取りを、管理サーバ300による中継を経て行う構成としても良い。例えば、図3に示した構成例では、画像形成装置100が、分散処理を実行するクラウドサーバ200の一つ(図3の例ではクラウドサーバ200A)に対し、ジョブの実行指示および装置IDを送信する構成とした。また、一つのクラウドサーバ200だけではなく、分散処理を実行する各クラウドサーバ200に対して画像形成装置100が実行指示および装置IDを送信しても良いことを述べた。
これに対し、画像形成装置100は管理サーバ300に対して実行指示および装置IDを送信し、管理サーバ300がこれらの実行指示および装置IDを、分散処理を実行するクラウドサーバ200へ送信するようにしても良い。管理サーバ300は、分散処理を実行するクラウドサーバ200に対し分散処理に係るデータの振り分けを行って管理しているので、ジョブごとに、実行指示および装置IDの送信先のクラウドサーバ200を特定し得る。これにより、画像形成装置100が分散処理を実行するクラウドサーバ200の情報を事前に有している必要がなくなる。同様に、クラウドサーバ200に障害が発生した場合の未受信通知についても、画像形成装置100から管理サーバ300を経由して障害の発生していないクラウドサーバ200へ送信するようにしても良い。
以上、本発明の実施形態について説明したが、本発明の技術的範囲は上記実施形態には限定されない。例えば、上記の実施形態では、情報処理装置の一例である画像形成装置100が、複数のクラウドサーバ200から取得した画像データをページ順に出力するためにバッファリングを行う構成を取り得ることについて述べた。これに対し、対象データである画像データや動画データのバッファリングを管理サーバ300が行い、情報処理装置は管理サーバ300からページ順や時系列順に整列された画像データや動画データを取得するようにしても良い。また、上記の実施形態では、画像処理を行うサーバとしてクラウドサーバ200を用いる構成を例として説明したが、サーバは上記クラウドサーバ200には限定されない。例えば、LAN(Local Area Network)やインターネット等のネットワークを介して画像形成装置100の外部に接続されたサーバマシンやネットワーク上に仮想的に構築されたサーバ等を用いて構成しても良い。その他、本発明の技術思想の範囲から逸脱しない様々な変更や構成の代替は、本発明に含まれる。
100…画像形成装置、110…制御部、111…CPU、112…RAM、113…ROM、120…記憶部、130…操作部、140…表示部、150…画像読み取り部、160…画像形成部、170…通信部、180…画像処理部、200…クラウドサーバ、300…管理サーバ
Claims (14)
- プロセッサを備え、
前記プロセッサは、
分散処理を実行するサーバに対して処理の実行指示を行い、
個々の前記サーバから前記分散処理における当該サーバに振り分けられた処理の処理結果を取得し、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行い、
前記通知の後、前記分散処理を実行するサーバのうち、前記条件を満足した際に取得されなかった前記処理結果に係る処理が振り分けられたサーバとは異なるサーバから当該処理結果を取得することを特徴とする、情報処理装置。 - 前記プロセッサは、
個々の前記サーバから前記処理結果の送信先を示す装置識別情報を取得し、
取得した前記装置識別情報が自装置の装置識別情報である場合に、当該装置識別情報の送信元であるサーバから前記処理結果を取得することを特徴とする、請求項1に記載の情報処理装置。 - 前記プロセッサは、
前記サーバとの間で前記処理結果を取得するための通信を開始する際に、各々の当該サーバから前記装置識別情報を取得して自装置の装置識別情報か否かを判断し、
各々の前記サーバから前記処理結果を取得する際に、再度、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項2に記載の情報処理装置。 - 前記プロセッサは、前記通知の後、前記異なるサーバから前記処理結果を取得する際に、前記装置識別情報を取得して自装置の装置識別情報か否かを判断することを特徴とする、請求項3に記載の情報処理装置。
- 前記プロセッサは、分散処理を実行するサーバに対して前記処理の実行指示と共に自装置の装置識別情報を提供することを特徴とする、請求項2に記載の情報処理装置。
- 前記プロセッサは、前記分散処理における全ての処理結果を取得し、当該処理結果に基づく処理を実行することを特徴とする、請求項1に記載の情報処理装置。
- 前記プロセッサは、前記分散処理における処理結果のうち、一または複数の処理結果に関して、
前記通知を予め定められた回数行っても取得されない場合、前記分散処理の処理結果に基づく処理を実行せず、予め定められたエラー処理を実行することを特徴とする、請求項6に記載の情報処理装置。 - 端末装置からの指示に応じて複数のサーバによる分散処理を実行し、処理結果を当該端末装置に提供する分散処理システムにおいて、
前記複数のサーバにおける各サーバは、
前記端末装置から処理の実行指示を取得し、
前記実行指示に応じて前記分散処理における自サーバに振り分けられた処理を実行し、
実行した前記処理の識別情報と処理結果の送信先を示す装置識別情報とを前記端末装置に送信し、当該端末装置からの応答に応じて、当該端末装置へ処理結果を送信し、
前記端末装置から前記分散処理における個々の処理の何れかに関して処理結果を取得していないことを示す通知を受け付け、自サーバが当該通知に係る処理の少なくとも一つが振り分けられた場合に、新たに振り分けられた当該処理を実行し、当該端末装置へ処理結果を送信することを特徴とする、分散処理システム。 - 前記複数のサーバにおける各サーバは、
前記分散処理に係る全ての処理の対象データを予め保持し、
保持している前記対象データから自サーバに振り分けられた処理の対象データを用いて当該処理を実行することを特徴とする、請求項8に記載の分散処理システム。 - 前記サーバに対する前記分散処理の振り分けを管理する管理サーバをさらに備え、
前記管理サーバは、前記複数のサーバにおける各サーバが前記通知を受け付けた場合に、当該通知により特定される処理を、当該処理が振り分けられているサーバとは異なるサーバに振り分けることを特徴とする、請求項9に記載の分散処理システム。 - 前記複数のサーバにおける各サーバは、前記通知を受け付けると、他の前記サーバと通信を行って、当該通知により特定される処理を実行するサーバを決定することを特徴とする、請求項9に記載の分散処理システム。
- 前記複数のサーバにおける各サーバは
前記端末装置との間で前記処理結果を取得するための通信を開始する際に、前記装置識別情報を当該端末装置へ送信し、
前記端末装置へ前記処理結果を送信する際に、再度、前記装置識別情報を送信することを特徴とする、請求項8に記載の分散処理システム。 - 前記複数のサーバにおける各サーバは、前記処理結果を前記端末装置へ送信する際に、当該処理結果と共に前記装置識別情報を送信することを特徴とする、請求項12に記載の分散処理システム。
- コンピュータに、
分散処理を実行するサーバに対して処理の実行指示および自装置の装置識別情報を提供する機能と、
個々の前記サーバから処理の識別情報および自装置の前記装置識別情報を受け付けて、当該装置識別情報の送信元であるサーバから当該装置識別情報と共に取得した当該処理の識別情報により識別される処理の処理結果を取得する機能と、
前記分散処理に係る個々の処理に関して、処理結果が取得されずに予め定められた条件を満足した場合、当該分散処理を実行する各サーバに対して当該処理結果を取得していないことを示す通知を行う機能と、
前記通知の後、前記分散処理を実行するサーバのうち何れかのサーバから自装置の前記装置識別情報を受け付けて、前記条件を満足した際に取得されなかった前記処理結果を取得する機能と、
を実現させることを特徴とする、プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022035543A JP2023130943A (ja) | 2022-03-08 | 2022-03-08 | 情報処理装置、分散処理システムおよびプログラム |
US17/873,163 US20230291859A1 (en) | 2022-03-08 | 2022-07-26 | Information processing apparatus, distributed processing system, non-transitory computer readable medium storing program, and distributed processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022035543A JP2023130943A (ja) | 2022-03-08 | 2022-03-08 | 情報処理装置、分散処理システムおよびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023130943A true JP2023130943A (ja) | 2023-09-21 |
Family
ID=87931362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022035543A Pending JP2023130943A (ja) | 2022-03-08 | 2022-03-08 | 情報処理装置、分散処理システムおよびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230291859A1 (ja) |
JP (1) | JP2023130943A (ja) |
-
2022
- 2022-03-08 JP JP2022035543A patent/JP2023130943A/ja active Pending
- 2022-07-26 US US17/873,163 patent/US20230291859A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230291859A1 (en) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102469229B (zh) | 图像形成系统、图像形成方法、服务器以及图像形成装置 | |
EP2249555B1 (en) | Method of and apparatus for image formation and computer product | |
US9160621B2 (en) | Network system, server, information processing apparatus, log registration method, and program | |
US8935378B2 (en) | Device management system, device management method, and computer program product | |
US20140078541A1 (en) | Information processing system, print server, information processing apparatus, control method of information processing system, and content printing system | |
JP2014021830A (ja) | 画像形成装置、情報処理装置及びその制御方法 | |
JP5441426B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
KR20140074826A (ko) | 화상 처리 장치와 그 제어 방법, 및 기억 매체 | |
JP2019040528A (ja) | サーバ装置及びその制御方法、プログラム、並びに印刷システム | |
CN102591163A (zh) | 图像形成装置及作业管理方法 | |
JP5104122B2 (ja) | 画像形成装置、及びプログラム | |
US9250841B2 (en) | Print server, control method of print server, and storage medium | |
JP2015108857A (ja) | システム、その制御方法、情報処理装置、その制御方法及びプログラム | |
JP2023130943A (ja) | 情報処理装置、分散処理システムおよびプログラム | |
JP2023130942A (ja) | 情報処理装置、分散処理システムおよびプログラム | |
US11632482B1 (en) | Information processing system capable of enabling cooperation of processing when connection with external apparatus being disconnected, information processing apparatus therefor, and non-transitory computer readable medium storing program therefor | |
US11150833B2 (en) | Backup apparatus | |
US11625204B2 (en) | Information processing apparatus and image processing apparatus | |
EP4152156A1 (en) | Information processing system, information processing apparatus, and program | |
US20240053934A1 (en) | Printing apparatus, control method, and storage medium therefor | |
JP7175668B2 (ja) | 情報処理システム、情報処理システムの制御方法、およびプログラム | |
JP2023142107A (ja) | 画像処理装置およびプログラム | |
JP2024037518A (ja) | 情報処理システム、画像形成装置及び管理サーバー | |
JP2017196781A (ja) | 画像形成装置、方法およびプログラム | |
JP2016066161A (ja) | 情報処理装置、情報処理システム及びプログラム |