JP6848377B2 - 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム - Google Patents

情報処理システム、サーバー、データ配信方法およびデータ配信プログラム Download PDF

Info

Publication number
JP6848377B2
JP6848377B2 JP2016222452A JP2016222452A JP6848377B2 JP 6848377 B2 JP6848377 B2 JP 6848377B2 JP 2016222452 A JP2016222452 A JP 2016222452A JP 2016222452 A JP2016222452 A JP 2016222452A JP 6848377 B2 JP6848377 B2 JP 6848377B2
Authority
JP
Japan
Prior art keywords
information processing
server
devices
information
candidate
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.)
Active
Application number
JP2016222452A
Other languages
English (en)
Other versions
JP2018081441A (ja
Inventor
佑介 篠崎
佑介 篠崎
洋彰 杉本
洋彰 杉本
和弘 冨安
和弘 冨安
一晃 金井
一晃 金井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2016222452A priority Critical patent/JP6848377B2/ja
Priority to US15/813,271 priority patent/US10592174B2/en
Publication of JP2018081441A publication Critical patent/JP2018081441A/ja
Application granted granted Critical
Publication of JP6848377B2 publication Critical patent/JP6848377B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection 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/00344Connection 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 management, maintenance, service or repair apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

この発明は、情報処理システム、サーバー、データ配信方法およびデータ配信プログラムに関し、特に、1つのサーバーから複数の情報処理装置に同一のデータを配信する情報処理システム、そのサーバー、その情報処理システムで実行されるデータ配信方法およびサーバーを制御するコンピューターで実行されるデータ配信プログラムに関する。
近年、画像形成装置で代表される複合機(以下「MFP」という)は、LAN(ローカルエリアネットワーク)に接続される場合が多い。複数のMFPをLANに接続する場合に複数のMFPを効率的に使用する技術が知られている。例えば、特開2014−106727号公報には、複数の画像形成装置と、情報処理装置と通信するサーバー装置において、情報処理装置よりいずれかの画像形成装置で処理すべきジョブの構成情報を取得し、当該取得した構成情報に従い、前記ジョブの各ページに対するデータ処理中に、各ページを印刷する電力負荷で消費される待機電力量と、各ページの印刷処理で消費される消費電力量とを各画像形成装置について積算し、積算した消費電力量が少ない画像形成装置を特定する装置情報を前記情報処理装置に通知することが記載されている。
しかしながら、複数の画像形成装置の中には、別のジョブを実行中の状態の装置もあれば、誰にも使用されずに電力消費の少ない状態の装置もあり、複数の画像形成装置それぞれの状態に対応した電力量を複数の画像形成装置のすべてから取得しなければならず、サーバー装置の負荷およびネットワークの負荷が増大するといった問題がある。
特開2014−106727号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減した情報処理システムを提供することである。
この発明の他の目的は、同一のデータを複数の送信先に送信する処理の負荷を低減したサーバーを提供することである。
この発明のさらに他の目的は、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減したデータ配信方法を提供することである。
この発明のさらに他の目的は、同一のデータを複数の送信先に送信する処理の負荷を低減したデータ配信プログラムを提供することである。
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、サーバーと、サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムであって、サーバーは、対象データを複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定手段と、配信処理の実行可否を1以上の候補装置に問合せる問合せ手段と、1以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、代理装置に配信処理の実行を依頼する依頼手段と、を備え、複数の情報処理装置それぞれは、サーバーからの実行可否の問合せに応じて、ハードウェア資源の余力に基づいて、実行可否を判断する判断手段と、判断手段により実行可と判断される場合に、実行可否の問合せに応答する応答手段と、を備える。
この局面に従えば、サーバーが、配信処理の実行可否を1以上の候補装置に問合せ、1以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定し、代理装置に配信処理の実行を依頼する。このため、サーバーは、配信処理の実行を代理装置に依頼するので、サーバーの負荷を低減することができる。複数の情報処理装置それぞれは、サーバーからの実行可否の問合せに応じて、ハードウェア資源の余力に基づいて、実行可否を判断し、実行可と判断される場合に、実行可否の問合せに応答する。このため、複数の情報処理装置それぞれが、ハードウェア資源の余力に基づいて配信処理の実行可否を判断するので、サーバーの負荷を低減することができる。その結果、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減した情報処理システムを提供することができる。
好ましくは、サーバーは、さらに、配信処理を実行するために要求されるハードウェア資源の負荷の下限を示す要件情報を複数の情報処理装置に送信する要件情報送信手段を、備え、複数の情報処理装置それぞれが備える判断手段は、ハードウェア資源の余力が要件情報で示される負荷の下限以上の場合に実行可と判断する。
この局面に従えば、複数の情報処理装置それぞれは、ハードウェア資源の余力が、対象データを送信する処理を実行するために要求されるハードウェア資源の負荷の下限以上の場合に実行可と判断するので、複数の情報処理装置それぞれにおいて、ハードウェア資源の余力の変動に対応して配信処理の実行可否を判断することができる。また、サーバーにおいて、複数の情報処理装置それぞれのハードウェア資源の余力を取得する必要がないので、ネットワーク資源を有効に利用することができるとともに、サーバーの負荷を低減することができる。
好ましくは、サーバーは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、候補装置決定手段は、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから1以上の候補装置を決定する。
この局面に従えば、サーバーは、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから1以上の候補装置を決定するので、配信処理を実行するのに適した性能のハードウェア資源を有する情報処理装置を候補装置に決定することができる。
好ましくは、サーバーは、複数の情報処理装置から発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、候補装置決定手段は、複数の情報処理装置のうち回復不可能なエラーが発生している装置を1以上の候補装置に決定しない。
この局面に従えば、サーバーは、回復不可能なエラーが発生している情報処理装置を候補装置に決定しないので、配信処理を実行可能と判断する確率の高い情報処理装置に配信処理の実行可否を問合せることができる。
好ましくは、複数の情報処理装置それぞれは、代理装置として機能する場合、さらに、エラーの発生を検出するエラー検出手段と、エラー検出手段により配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断する継続判断手段と、を備え、サーバーは、さらに、代理装置から継続しないことが通知されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定手段を備える。
この局面に従えば、代理装置は、配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断し、サーバーは、さらに、代理装置から継続しないことが通知されることに応じて、新たな代理装置を決定する。このため、1以上の送信先装置の全てに対象データを送信することができる。
好ましくは、複数の情報処理装置それぞれは、さらに、ハードウェア資源を用いてジョブを実行するジョブ実行手段を、さらに備え、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼された後に、対象データを送信している間は、予め定められた種類のジョブの実行を禁止するジョブ禁止手段を備える。
この局面に従えば、代理装置は、サーバーにより配信処理の実行が依頼された後に対象データを送信している間は、予め定められた種類のジョブの実行を禁止するので、対象データの送信をジョブの実行より優先して、対象データをできるだけ早く送信することができる。
好ましくは、複数の情報処理装置それぞれは、さらに、ハードウェア資源を制御するために用いられる設定値を設定する設定値設定手段を備え、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼された後に、設定値設定手段による対象データを送信不可能になる設定値への変更を禁止する変更禁止手段を、備える。
この局面に従えば、代理装置は、配信処理の実行が依頼された後は、対象データを送信不可能になる設定値への変更を禁止するので、対象データを送信可能な状態を維持することができる。
好ましくは、複数の情報処理装置それぞれは、第1のネットワークに接続され、第1のネットワークを介して複数の情報処理装置のうち他の情報処理装置と通信可能であり、サーバーは、第1のネットワークとは別の第2のネットワークに接続され、第1のネットワークおよび第2のネットワークを介して複数の情報処理装置それぞれと通信可能である。
この局面に従えば、対象データが第1のネットワークを介して代理装置から送信先装置に送信されるので、第2のネットワークを用いないので、第2のネットワークを有効に利用することができる。
好ましくは、サーバーは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、位置情報を1以上の送信先装置それぞれに通知する位置通知手段と、を備え、複数の情報処理装置それぞれは、送信先装置として機能する場合、位置情報で特定される対象データを代理装置からダウンロードするダウンロード手段を、さらに備える。
この局面に従えば、送信先装置は、サーバーから位置情報が通知され、位置情報で特定される対象データを代理装置からダウンロードするので、サーバーは送信先装置に対象データを送信する必要がないので、サーバーの負荷を低減することができる。
好ましくは、複数の情報処理装置それぞれは、代理装置として機能する場合、さらに、サーバーにより配信処理の実行が依頼される場合、サーバーから送信される対象データを外部からアクセス可能な領域に記憶する記憶制御手段と、対象データが記憶された位置を示す位置情報をサーバーに送信する位置情報送信手段と、位置情報を含むダウンロード要求を1以上の送信先装置のいずれかから受信することに応じて、対象データを送信する送信手段と、を備える。
この局面に従えば、代理装置は、対象データの送信先である1以上の送信先装置を知る必要がないので、代理装置における処理を簡略にすることができる。
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
好ましくは、余力はハードウェア資源の空き状況に対応する。
この発明の他の局面によれば、サーバーは、複数の情報処理装置と通信可能に接続されたサーバーであって、対象データを複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定手段と、配信処理の実行可否を、1以上の候補装置に問合せ、1以上の候補装置それぞれに配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断させる問合せ手段と、1以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、代理装置に配信処理の実行を依頼する依頼手段と、を備える。
この局面に従えば、同一のデータを複数の送信先に送信する処理の負荷を低減したサーバーを提供することができる。
好ましくは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、候補装置決定手段は、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから1以上の候補装置を決定する。
この局面に従えば、配信処理を実行するのに適した性能のハードウェア資源を有する情報処理装置を候補装置に決定することができる。
好ましくは、複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、候補装置決定手段は、複数の情報処理装置のうち回復不可能なエラーが発生している装置を1以上の候補装置に決定しない。
この局面に従えば、問合せに応答する確率の高い情報処理装置に配信処理の実行可否を問合せることができる。
好ましくは、代理装置により配信処理の実行を継続しないと判断されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定手段をさらに備える。
この局面に従えば、1以上の送信先装置の全てに対象データを送信することができる。
好ましくは、サーバーは、複数の情報処理装置それぞれが接続される第1のネットワークとは別の第2のネットワークに接続され、第1のネットワークおよび第2のネットワークを介して複数の情報処理装置それぞれと通信可能である。
この局面に従えば、第2のネットワークを有効に利用することができる。
好ましくは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、1以上の送信先装置それぞれに位置情報を通知し、1以上の送信先装置それぞれに位置情報で特定される対象データを代理装置からダウンロードさせるダウンロード指示手段と、をさらに備える。
この局面に従えば、サーバーは送信先装置に対象データを送信する必要がないので、サーバーの負荷を低減することができる。
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
好ましくは、余力はハードウェア資源の空き状況に対応する。
この発明のさらに他の局面によれば、データ配信方法は、サーバーと、サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムで実行されるデータ配信方法であって、サーバーに、対象データを複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定ステップと、配信処理の実行可否を1以上の候補装置に問合せる問合せステップと、1以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、代理装置に配信処理の実行を依頼する依頼ステップと、を実行させ、複数の情報処理装置それぞれに、サーバーからの実行可否の問合せに応じて、対象データを送信する処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断する判断ステップと、判断ステップにおいて実行可と判断される場合に、実行可否の問合せに応答する応答ステップと、を実行させる。
この局面に従えば、同一のデータを複数の送信先に送信する場合のサーバーの負荷を低減したデータ配信方法を提供することができる。
この発明のさらに他の局面によれば、データ配信プログラムは、複数の情報処理装置と通信可能に接続されたサーバーを制御するコンピューターで実行されるデータ配信プログラムであって、対象データを複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定ステップと、配信処理の実行可否を、1以上の候補装置に問合せ、1以上の候補装置それぞれに配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断させる問合せステップと、1以上の候補装置のうち実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、代理装置に配信処理の実行を依頼する依頼ステップと、をコンピューターに実行させる。
この局面に従えば、同一のデータを複数の送信先に送信する処理の負荷を低減したデータ配信プログラムを提供することができる。
好ましくは、複数の情報処理装置それぞれからハードウェア資源の性能を示す性能情報を取得する性能情報取得ステップを、さらにコンピューターに実行させ、候補装置決定ステップは、複数の情報処理装置それぞれから取得された性能情報に基づいて、複数の情報処理装置のうちから1以上の候補装置を決定するステップを含む。
好ましくは、複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得ステップを、さらにコンピューターに実行させ、候補装置決定ステップは、複数の情報処理装置のうち回復不可能なエラーが発生している装置を1以上の候補装置に決定しないステップを含む。
好ましくは、代理装置により配信処理の実行を継続しないと判断されることに応じて、複数の情報処理装置のうちから代理装置とは異なる新たな代理装置を決定する新代理装置決定ステップをさらにコンピューターに実行させる。
好ましくは、サーバーは、複数の情報処理装置それぞれが接続される第1のネットワークとは別の第2のネットワークに接続され、第1のネットワークおよび第2のネットワークを介して複数の情報処理装置それぞれと通信可能である。
好ましくは、代理装置に対象データを送信し、代理装置から対象データが記憶された位置を示す位置情報を取得する位置情報取得ステップと、1以上の送信先装置それぞれに位置情報を通知し、1以上の送信先装置それぞれに位置情報で特定される対象データを代理装置からダウンロードさせるダウンロード指示ステップと、をさらにコンピューターに実行させる。
好ましくは、余力は各情報処理装置のジョブの実行状況に対応する。
好ましくは、余力はハードウェア資源の空き状況に対応する。
本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。 本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。 MFPのハードウェア構成の概要の一例を示すブロック図である。 配信システムにおけるデータの流れの概要を示す図である。 サーバーが備えるCPUの機能の一例を示すブロック図である。 本実施の形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。 継続判断で参照する回復不可能なエラーを定めた第1のエラーテーブルの一例を示す図である。 継続判断で参照する回復可能なエラーを定めた第2のエラーテーブルの一例を示す図である。 データ配信処理の流れの一例を示すフローチャートである。 候補装置決定処理の流れの一例を示すフローチャートである。 受信指示処理の流れの一例を示す図である。 代理配信処理の流れの一例を示すフローチャートである。 問合せ応答処理の流れの一例を示すフローチャートである。 依頼受付処理の流れの一例を示すフローチャートである。 ジョブ制御処理の流れの一例を示すフローチャートである。 ダウンロード処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、サーバー200と、複合機であるMFP(Multi Function Peripheral)100,100A〜100Dと、を含む。サーバー200は、インターネット5に接続されており、MFP100,100A〜100Dそれぞれはローカルエリアネットワーク(LAN)3と接続されている、インターネット5とLAN3とは、ゲートウェイ(G/W)300で接続されている。このため、MFP100,100A〜100DはLAN3を介して互いに通信可能である。また、サーバー200は、インターネット5およびLAN3を介して、MFP100,100A〜100Dそれぞれと通信可能である。
MFP100,100A〜100Dそれぞれの基本的なハードウェア構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
図2は、本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、サーバー200は、サーバー200の全体を制御するための中央演算装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をインターネット5に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
ROM202は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM203は、CPU201がプログラムを実行する際の作業領域として用いられる。
表示部206は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部207は、複数のキーからなるハードキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部207は、表示部206上に設けられたタッチパネルを含んでもよい。
通信部205は、CPU201をインターネット5に接続するためのインターフェースである。CPU201は、通信部205を介して、インターネット5に接続されたコンピューターとの間で通信し、データを送受信する。さらに、通信部205は、ゲートウェイ装置300を介して、LAN3に接続されたMFP100,100A〜100Dと通信が可能である。
外部記憶装置208は、CD−ROM209が装着される。CPU201は、外部記憶装置208を介してCD−ROM209にアクセス可能である。CPU201は、外部記憶装置208に装着されたCD−ROM209に記録されたプログラムをRAM203にロードして実行する。なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209に限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU201が実行するプログラムは、CD−ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、サーバー200のHDD204に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー200が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、MFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステップル針を打ち込むステップル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネル165をさらに含む。
通信I/F部112は、MFP100をLAN3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、LAN3に接続された装置との間で通信し、データを送受信する。さらに、通信I/F部112は、ゲートウェイ装置300を介して、インターネット5に接続されたコンピューター、例えば、サーバー200と通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117は、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU111は、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、LAN3またはインターネット5に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、LAN3またはインターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
本実施の形態におけるデータ配信システムにおいては、サーバー200に、管理対象としてMFP100,100A〜100Dが予め登録されている。例えば、サーバー200は、MFP100,100A〜100Dそれぞれにインストールされているプログラムを管理する。サーバー200は、MFP100,100A〜100Dそれぞれに新規なプログラムをインストールさせたり、新バージョンのプログラムに更新させたりするために、インストールまたは更新の対象となるプログラムと、インストールするためのインストールコマンドまたは更新するための更新コマンドと、を含むデータをMFP100,100A〜100Dに送信する。
また、サーバー200は、管理対象となるMFP100,100A〜100Dで共通で記憶される共通データを管理する。共通データは、例えば、データを送信する宛先の情報のリストであるアドレス帳を含む。サーバー200は、新たな宛先の情報の追加、既存の宛先の情報の変更または削除などが発生する場合、MFP100,100A〜100Dそれぞれに記憶されるアドレス帳を更新させるために、宛先の情報と、追加、変更または削除を指示するコマンドとを含むデータを、MFP100,100A〜100Dそれぞれに送信する。
また、共通のデータは、MFP100,100A〜100Dそれぞれで設定される設定値を含む。共通データに含まれる設定値は、限定するものではないが、例えば、データを送受信するプロトコルを定める設定値、送受信されるデータのデータ形式を定める設定値、所定のサービスを提供するサービス提供サーバーにログインするためのアカウントおよびパスワードを含む。本実施の形態におけるサーバーは、共通データに含まれる設定値が変更される場合、MFP100,100A〜100Dそれぞれに設定値を変更させるために、変更後の設定値と設定値の変更を指示するコマンドとを含むデータを、MFP100,100A〜100Dそれぞれに送信する。
本実施の形態におけるデータ配信システムにおいては、サーバー200からMFP100,100A〜100Dにデータを送信する処理を、MFP100,100A〜100Dが接続されるLANに接続された装置、例えば、MFP100,100A〜100Dのいずれかに依頼する。以下、サーバー200からMFP100,100A〜100Dにデータを送信する処理を「配信処理」といい、送信の対象となるデータを「対象データ」という。
図4は、配信システムにおけるデータの流れの概要を示す図である。図4では、上から下に向かって時間の経過を示す直線で、サーバー200、MFP100、MFP100A〜MFP100Dそれぞれがデータを送受信するタイミングを示し、送受信されるデータを、データを送信する装置からデータを受信する装置に向かう矢印で示している。
サーバー200は、MFP100,100A〜100Dに性能情報を要求し、MFP100,100A〜100Dそれぞれから性能情報を受信する。なお、MFP100,100A〜100Dそれぞれが、サーバー200からの要求を受信することなく、性能情報をサーバー200に送信するようにしてもよい。また、MFP100,100A〜100Dが性能情報を送信する順番は図に示した順番に限られない。
サーバー200は、MFP100,100A〜100Dそれぞれの性能情報に基づいて、候補装置を決定し、候補装置に配信処理が可能か否かを問合わせる。問合わせは、対象データを送信するための要件を示す要件情報を含む。ここでは、MFP100,100A〜100Dすべてを候補装置に決定する場合を示している。このため、サーバー200は、MFP100,100A〜100Dそれぞれに問合せをする。要件情報は、HDD115に新たに記憶可能なデータのデータ量の下限値、RAM114の未使用領域の下限値、単位時間当たりのCPUの空き時間の割合の下限値を含む。したがって、要件情報は、対象データのサイズによって異なる。
問合せを受ける候補装置であるMFP100,100A〜100Dそれぞれは、自装置の状態が要件情報で定められる要件を満たす場合に応答するが、要件を満たさない場合に応答しない。ここでは、MFP100が応答し、MFP100A〜100D,100Aが応答しない場合を示している。
サーバー200は、問合せに対して応答するMFP100を代理装置に決定し、配信処理の実行を依頼する。サーバー200は、配信処理の実行を依頼する際に、対象データを送信する。代理装置であるMFP100は、サーバー200から送信される対象データをHDD115に記憶し、HDD115に記憶された対象データのネットワークアドレスを位置情報としてサーバー200に送信する。ネットワークアドレスは、例えば、URL(Uniform Resource Locator)である。
サーバー200は、位置情報を、対象データの送信先である送信先装置に送信する。ここでは、送信先装置を、MFP100,100A〜100Dとしている。MFP100,100A〜100Dは、サーバー200から送信される位置情報を一時記憶する。
サーバー200は、ダウンロード指示を送信先装置に送信する。送信先装置であるMFP100は、ダウンロード指示を受信する場合、先に一時記憶された位置情報で特定される対象データが自装置に記憶されているので、対象データをHDD115から読み出して、HDD115の所定の位置に記憶する。送信先装置であるMFP100A〜100Dそれぞれは、サーバー200からダウンロード指示を受信すると、先に一時記憶された位置情報を含む送信要求をMFP100に送信し、位置情報で特定される対象データをMFP100からダウンロードし、HDD115の所定の位置に記憶する。
MFP100,100A〜100Dそれぞれは、対象データがコマンドを含んでいる場合は、そのコマンドに従って対象データを処理する。例えば、対象データが、インストールを指示するコマンドとプログラムとを含んでいる場合、プログラムをインストールする。対象データが共通データを更新するコマンドと、共通データとを含む場合、コマンドを実行して共通データを更新する。共通データが、宛先の情報の場合は、アドレス帳を更新し、共通データが設定値の場合、設定値を更新する。
図5は、サーバーが備えるCPUの機能の一例を示すブロック図である。図5に示す機能は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたデータ配信プログラムを実行することにより、CPU201に形成される機能である。図5を参照して、サーバー200が備えるCPU201は、性能情報取得部251と、エラー発生情報取得部253と、候補装置決定部255と、問合せ部257と、代理装置決定部259と、依頼部261と、送信先決定部263と、受信指示部265と、を含む。
性能情報取得部251は、管理対象として登録されたMFP100,100A〜100Dそれぞれから性能情報を取得する。具体的には、性能情報取得部251は、通信部205を制御して、MFP100,100A〜100Dに性能情報を要求し、通信部205がMFP100,100A〜100Dそれぞれから受信する性能情報を取得する。性能情報は、MFP100,100A〜100Dそれぞれについて、その装置が有するハードウェア資源の性能を示す。性能情報は、例えば、CPU111の処理速度、RAM114のサイズを含む。性能情報取得部251は、MFP100,100A〜100Dそれぞれの性能情報を取得する場合、性能情報を送信してきた装置の装置識別情報と性能情報との組を候補装置決定部255に出力する。
エラー発生情報取得部253は、管理対象として登録されたMFP100,100A〜100Dそれぞれからエラー発生情報を取得する。具体的には、エラー発生情報取得部253は、通信部205を制御して、MFP100,100A〜100Dにエラー発生情報を要求し、通信部205がMFP100,100A〜100Dいずれかから受信するエラー発生情報を取得する。MFP100,100A〜100Dそれぞれは、エラー発生情報の要求を受信する場合、その時点で発生しているエラーを識別するためのエラー識別情報を含むエラー発生情報を返信する。エラー発生情報取得部253は、エラー発生情報を取得する場合、エラー発生情報を送信してきた装置の装置識別情報と、エラー発生情報との組を候補装置決定部255に出力する。
候補装置決定部255は、管理対象として登録されたMFP100,100A〜100Dのうちから候補装置を決定する。候補装置決定部255は、MFP100,100A〜100Dそれぞれについて、性能情報を、配信処理を実行するために要求されるハードウェア資源要件と比較し、装置の性能が、ハードウェア資源要件を満たしている場合に候補装置に決定する。ハードウェア資源要件は、ハードウェア資源の性能の下限値を定める。例えば、ハードウェア資源要件は、CPUの処理速度の下限値、CPUが作業領域として用いるメモリのサイズの下限値である。ハードウェア資源要件は、対象データのサイズによって異なるのが好ましい。このため、候補装置決定部255は、対象データのサイズに応じて、ハードウェア資源要件を定める。複数のデータサイズごとに、ハードウェア資源要件を定めたテーブルを準備しておき、そのテーブルを参照してハードウェア資源要件を決定するようにすればよい。候補装置決定部255は、MFP100,100A〜100Dごとに、性能情報をハードウェア資源要件と比較し、性能情報に含まれるCPU111の処理速度およびRAM114のサイズが、ハードウェア資源要件でそれぞれ定める下限値以上ならば候補装置に決定する。候補装置決定部255は、候補装置を決定する場合、候補装置を識別するための装置識別情報を問合せ部257に出力する。
また、候補装置決定部255は、MFP100,100A〜100Dのうちで、性能情報がハードウェア資源要件を満たしている装置であっても、回復不可能なエラーが発生している装置は候補装置に決定しない。回復不可能なエラーが発生している装置は、配信処理を実行できない可能性が高いからである。エラーには、ソフトウェアの動作に起因するソフトウェエラーと、ハードウェア資源の動作に起因するハードウェアエラーと、がある。回復不可能なエラーは、ソフトウェアエラーの場合、オペレーティングシステムの不具合により継続した動作が不可能なエラーであり、例えば、LAN3を介したデータの送受信が継続して動作できないエラーを含む。回復不可能なエラーは、ハードウェアエラーの場合、ユーザーによる回復作業が困難なエラーであり、例えば、ハードウェア資源の交換が必要なエラーを含み、具体的には、センサー故障、電源の異常、感光体ドラムの故障、定着ローラーの故障、現像器の故障を含む。回復不可能なエラーの場合、ハードウェア資源を動作させることができず、メインスイッチがOFFにされる場合があるからである。なお、回復不可能なエラーは、これらに限定されるものではない。回復不可能なエラーは、サーバー200の管理者が決定するようにしてもよい。例えば、候補装置決定部255は、回復不可能なエラーを定めたテーブルを予め準備しておき、そのテーブルを参照して、装置から受信されるエラー識別情報で特定されるエラーが回復不可能なエラーか否かを判断する。
候補装置決定部255は、MFP100,100A〜100Dのうち回復可能なエラーが発生している装置を候補装置に決定する場合がある。回復可能なエラーが発生している装置は、配信処理の実行時にはそのエラーが回復している可能性が大きいからである。回復可能なエラーは、例えば、ソフトウェアエラーの場合、例えば、ユーザーによる設定ミスによるエラーであり、ハードウェアエラーの場合、例えば、用紙の詰まり、消耗品の寿命、本体のカバーが開くことによるエラーである。
以下の説明では、MFP100,100A〜100Dの全てを候補装置に決定する場合を例に説明する。問合せ部257は、候補装置に配信処理の実行可否を問合せる。具体的には、問合せ部257は、通信部205を制御して、候補装置であるMFP100,100A〜100Dそれぞれに、配信処理の実行可否を問合せる信号を送信する。問合せ部257は、問合せをした候補装置であるMFP100,100A〜100Dそれぞれの装置識別情報を代理装置決定部259に出力する。
問合せ部257は、要件情報送信部271と、時間帯情報送信部273と、を含む。要件情報送信部271は、通信部205を制御して、候補装置であるMFP100,100A〜100Dそれぞれに、要件情報を送信する。要件情報は、配信処理を実行するために必要な負荷を示す。要件情報は、固定的に記憶可能なデータ量の下限値、CPUが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのCPUの空き時間の割合の下限値を含む。固定的に記憶可能なデータ量の下限値は、対象データのサイズと同じである。CPUが作業領域として用いるメモリの空き容量の下限値は、ここでは、単位時間当たりのメモリの空き容量の下限値としている。単位時間当たりのCPUの空き時間の割合の下限値は、単位時間当たりにジョブが実行されていない時間の割合である。要件情報は、対象データのサイズによって定まる。このため、複数のデータのサイズそれぞれに対応する要件情報を定めたテーブルを準備しておき、問合せ部257は、対象データのサイズに対応する要件情報を決定する。
時間帯情報送信部273は、通信部205を制御して、候補装置であるMFP100,100A〜100Dそれぞれに、時間帯情報を送信する。時間帯情報は、対象データを配信する期間としてユーザーにより定められた配信時間帯を示し、開始日時と終了日時とを含む。
代理装置決定部259は、通信部205を制御して、候補装置であるMFP100,100A〜100Dのいずれかから応答を受信する。問合せを受ける候補装置の詳細は後述するが、配信処理を実行可能な場合に応答信号を返信し、配信処理を実行不可能な場合に応答信号を返信しない。代理装置決定部259は、問合せ部257が1以上の候補装置に問合せしてから所定時間以内に、少なくとも1つの候補装置から応答信号を受信する場合、応答信号を送信してきた1以上の候補装置のいずれかを代理装置に決定する。具体的には、代理装置決定部259は、問合せ部257から装置識別情報が入力されてから所定時間以内に通信部205がその装置識別情報で特定される候補装置から応答信号を受信する場合、その候補装置を代理装置に決定する。代理装置決定部259は、代理装置に決定した装置の装置識別情報を依頼部261に出力する。
代理装置決定部259は、複数の候補装置から応答信号を受信する場合、応答信号を送信してきた複数の候補装置のうち1つを代理装置に決定する。複数の候補装置の任意の1つを代理装置に決定するようにしてもよいし、ハードウェア資源の性能が最高の候補装置を代理装置に決定するようにしてもよい。代理装置決定部259は、問合せ部257が問合せをした1以上の候補装置のいずれからも応答信号を受信しない場合、代理装置を決定しない。この場合は、代理装置決定部259は、エラーとして処理する。例えば、表示部206に代理装置を決定できないことを示すエラーメッセージを表示する。
依頼部261は、代理装置決定部259から代理装置の装置識別情報が入力される。依頼部261は、代理装置に対象データの配信処理の実行を依頼する。依頼部261は、中止検出部275と、データ送信部277と、位置情報受信部279と、を含む。以下の説明では、代理装置決定部259がMFP100を代理装置に決定する場合を例に説明する。
データ送信部277は、通信部205を制御して、代理装置であるMFP100に対象データを送信する。代理装置であるMFP100の詳細は後述するが、対象データを受信することに応じて、対象データのネットワークアドレスを示す位置情報を返信する。また、代理装置は、対象データの配信処理の実行を継続できなくなると中止信号をサーバー200に送信する。
位置情報受信部279は、通信部205を制御して、代理装置であるMFP100から位置情報を受信する。位置情報受信部279は、位置情報を受信指示部265に出力する。
中止検出部275は、通信部205を制御して代理装置であるMFP100から中止信号を受信する場合、候補装置決定部255に再決定指示を出力する。代理装置であるMFP100から中止信号を受信する場合におけるCPU201の動作については、後で詳細に説明するが、中止信号を送信しきたMFP100とは別の装置を新たな代理装置に決定し、新たな代理装置に対象データの配信処理を実行させるとともに、送信先装置に新たな代理装置から対象データをダウンロードさせる。
送信先決定部263は、対象データの送信先となる送信先装置を決定する。ここでは、MFP100,100A〜100Dを送信先装置に決定する場合を例に説明する。送信先決定部263は、サーバー200が管理対象とするMFP100,100A〜100Dの全てを送信先装置に決定する。なお、ユーザーが送信先装置を決定するようにしてもよいし、対象データの種類ごとに、送信先装置が定められていてもよい。例えば、対象データが更新プログラムを含む場合、プログラムの更新が必要な装置を送信先装置に決定する。また、対象データが、サービス提供サーバーにログインするための新たなパスワードを含む場合、そのサービス提供サーバーにログインするためのアカウントおよびパスワードを記憶する装置を送信先装置に決定する。送信先決定部263は、送信先装置の装置識別情報を、受信指示部265に出力する。
受信指示部265は、位置通知部281と、ダウンロード指示部283と、を含む。位置通知部281は、通信部205を制御して、位置情報受信部279から入力される位置情報を、送信先装置に送信する。送信先装置が複数の場合は、複数の送信先装置の全てに位置情報を送信する。ここでは、MFP100,100A〜100Dそれぞれに、位置情報を送信する。位置情報を受信する送信先装置の詳細は後述するが、位置情報をHDD115に一時記憶し、ダウンロード指示を受信することに応じて、位置情報で特定される対象データをダウンロードする。
ダウンロード指示部283は、現在時刻が対象データを配信するために定められた配信時間帯になると、通信部205を制御して、ダウンロード指示を送信装置に送信する。送信先装置が複数の場合は、複数の送信先装置の全てに位置情報を送信する。ここでは、MFP100,100A〜100Dそれぞれに、ダウンロード指示を送信する。これにより、送信先装置が対象データを代理装置からダウンロードするので、サーバー200は、複数の送信先装置が対象データをダウンロードするタイミングを同期させることができる。また、ダウンロード指示を、所定の時間間隔で複数の送信先装置に順に送信するようにしてもよい。これにより、代理装置が、対象データを複数の送信先装置に同時に送信する必要がないので、代理装置の負荷が一時的に増加しないようにして平準化することができる。また、ダウンロード指示を、所定の時間間隔で複数の送信先装置に順に送信するようにすれば、LAN3を通るデータ量が一時的に増加しないようにしてパケット衝突を低減することがき、データを効率的に送信することができる。対象データのサイズが大きい場合に有効である。
図6は、本実施の形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶された代理配信プログラムおよびダウンロードプログラムを実行することにより、CPU111に形成される機能である。代理配信プログラムおよびダウンロードプログラムは、データ配信プログラムの一部である。図6を参照して、CPU111は、候補装置の機能20と、代理装置の機能50と、送信先装置の機能80と、モード切換部91と、エラー検出部93と、エラー発生情報送信部95と、ジョブ実行部97と、設定値設定部99と、を含む。
モード切換部91は、MFP100の動作モードを、通常モードと、通常モードより消費電力の低い省電力モードとのいずれかに切り換え、動作モードを出力する。モード切換部91は、予め定められたスケジュールに従って動作モードを切り換える。スケジュールは、省電力モードの期間と、通常モードの期間とを定める。例えば、予め定められた夜の期間に省電力モードを割り当て、夜の期間以外の期間に通常モードを割り当てたスケジュールが定められている場合、モード切換部91は、夜の期間に省電力モードに切り換え、夜の期間以外の期間を通常モードに切り換える。また、モード切換部91は、夜の期間以外の期間は、通常モードの場合に省電力移行条件が成立すると動作モードを省電力モードに切り換え、省電力モードで復帰条件が成立すると動作モードを通常モードに切り換える。省電力移行条件は、限定するものではないが、操作パネル160がユーザーによる操作を受け付けることなく、かつ、通信I/F部112がジョブを受信しない期間が所定時間を超える成立する。復帰条件は、限定するものではないが、操作パネル160がユーザーによる操作を受け付ける場合、または、通信I/F部112がジョブを受信する場合に成立する。
エラー検出部93は、MFP100で発生するエラーを検出し、検出されたエラーを識別するためのエラー識別情報をエラー発生情報送信部95および後述する継続判断部75に出力する。
エラー発生情報送信部95は、通信I/F部112を制御して、サーバー200からの要求を受信した時点で、エラー検出部93からエラー識別情報が入力されている場合、エラー識別情報をサーバー200に送信する。
ジョブ実行部97は、ハードウェア資源を制御するために設定された設定値を用いてハードウェア資源を制御して、ジョブを実行する。ジョブは、MFP100が実行可能な処理である。ジョブは、限定するものではないが、データの画像を用紙に形成するプリントジョブ、原稿を読み取るスキャンジョブ、スキャンジョブとプリントジョブとを組み合わせたコピージョブ、データを送受信するデータ送受信ジョブを含む。ジョブ実行部96は、ジョブを実行するごとに、稼働実績情報をHDD115に記憶する。稼働実績情報は、ジョブの実行を開始した日時および終了した日時を含む。
設定値設定部99は、ジョブ実行部97がジョブを実行する場合に用いる設定値を設定する。設定値設定部99は、ユーザーが操作部163に入力する操作に基づいて設定値を設定する。
候補装置の機能20は、問合せ受付部21と、判断部23と、応答部25と、実績取得部27と、を含む。問合せ受付部21は、通信I/F部112を制御して、対象データを配信する配信処理の実行可否を問合せる信号をサーバー200から受信する。問合せ受付部21は、要件情報受信部31と、時間帯情報受信部33と、を含む。要件情報受信部31は、通信I/F部112を制御して、要件情報をサーバー200から受信し、受信された要件情報を判断部23に出力する。時間帯情報受信部33は、通信I/F部112を制御して、時間帯情報をサーバー200から受信し、受信された時間帯情報を判断部23に出力する。
実績取得部27は、MFP100の過去の稼働状況を示す稼働実績情報を取得する。稼働実績情報は、例えば、過去に実行されたジョブごとに、そのジョブが実行された日時を示す情報であり、ジョブ実行部96がジョブを実行するごとにHDD115に記憶する情報である。実績取得部27は、HDD115から稼働実績情報を読出し、判断部23に出力する。
判断部23は、配信処理の実行が可能か否かを判断する。判断部23は、負荷比較部41と、予測部43と、モード判断部45と、を含む。予測部43は、実績取得部27から稼働実績情報が入力される。予測部43は、稼働実績情報に基づいて、時間帯情報受信部33から入力される時間帯情報で定められる配信時間帯における余力を予測する。余力は、ジョブの実行状況に対応する。例えば、CPU111が過去の配信時間帯に対応する時間帯におけるジョブを実行していない時間の占める割合を余力とすることができる。具体的には、予測部43は、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯に実行されたジョブを特定し、その時間帯においてジョブが実行されていない時間の占める割合を、CPU111の空き時間を示す余力として算出する。また、余力はハードウェア資源の空き状況に対応する。例えば、過去の配信時間帯に対応する時間帯におけるハードウェア資源であるRAM114の空き容量を余力とすることができる。具体的には、予測部43は、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯におけるRAM114の空き領域のサイズの平均をRAM114の空き容量を示す余力として予測する。予測部43は、CPU111の空き時間を示す余力とRAM114の空き容量を示す余力を負荷比較部41に出力する。
負荷比較部41は、要件情報受信部31から入力される要件情報で定められる配信処理を実行するために必要な負荷を、余力と比較する。要件情報は、固定的に記憶可能なデータ量の下限値、CPUが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのCPUの空き時間の割合の下限値を含む。具体的には、負荷比較部41は、予測部43により予測されたCPU111の空き時間の割合が、要件情報に含まれるCPUの空き時間の下限値以上であれば余力が負荷以上と判断し、予測部43により予測されたCPU111の空き時間の割合が、要件情報に含まれる単位時間当たりのCPUの空き時間の割合の下限値より小さければ余力が負荷より小さいと判断する。また、負荷比較部41は、予測されたRAM114の空き容量が、要件情報に含まれるメモリの空き容量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれるメモリの空き容量の下限値より小さければ余力が負荷より小さいと判断する。さらに、負荷比較部41は、HDD115でデータを記憶可能な空き領域の容量が、要件情報に含まれる固定的に記憶可能なデータ量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれる固定的に記憶可能なデータ量の下限値より小さければ余力が負荷より小さいと判断する。
モード判断部45は、モード切換部91に設定されたスケジュールを参照して、時間帯情報受信部33から入力される時間帯情報で示される配信時間帯における動作モードを判断する。
判断部23は、負荷比較部41において余力が負荷より小さいと判断されることなく、かつ、モード判断部45において判断された動作モードが通常モードの場合に、配信処理を実行可能と判断する。判断部23は、負荷比較部41において余力が負荷より小さいと判断される場合、または、モード判断部45において判断された動作モードが省電力モードの場合に、配信処理を実行不可能と判断する。判断部23は、配信処理を実行可能と判断する場合、応答部25に応答指示を出力する。応答部25は、通信I/F部112を制御して、サーバー200に、配信処理を実行可能であることを示す応答信号を送信する。
代理装置の機能50は、依頼受付部51と、配信処理実行部53と、ジョブ禁止部55と、変更禁止部57と、を含む。依頼受付部51は、サーバー200から配信処理の実行の依頼を受け付ける。依頼受付部51は、位置情報送信部61と、データ記憶制御部63と、を含む。データ記憶制御部63は、通信I/F部112を制御して、サーバー200が送信する対象データを受信し、受信された対象データをHDD115に記憶する。データ記憶制御部63は、対象データを、他のコンピューターがアクセス可能なように公開された領域に記憶する。データを公開するプロトコルは、限定するものではないが、SMB(Server Message Block)、CIFS(Common Internet File System)、WebDAV(Distributed Authoring and Versioning protocol for the WWW)等を用いることができる。データ記憶制御部63は、対象データのファイル名を位置情報送信部61および配信処理実行部53に出力する。
位置情報送信部61は、データ記憶制御部63から入力されるファイル名を用いて、対象データのネットワークアドレスを位置情報として生成する。位置情報送信部61は、通信I/F部112を制御して、位置情報をサーバー200に送信する。
配信処理実行部53は、外部からのダウンロード要求に応じて、データ記憶制御部63から入力されるファイル名で特定される対象データを送信する。サーバー200は、MFP100,100A〜100Dにダウンロード指示を送信するので、MFP100A〜100Dがダウンロード要求を送信する。配信処理実行部53は、継続判断部75と、中止通知部77と、要求受信部71と、データ送信部73と、を含む。
要求受信部71は、通信I/F部112を制御して、MFP100A〜100Dのいずれかが送信するダウンロード要求を受信する。ダウンロード要求は、位置情報送信部61が送信した位置情報を含む。要求受信部71は、ダウンロード要求を受信すると、ダウンロード要求に含まれる位置情報と、ダウンロード要求を送信してきた装置の装置識別情報とを、データ送信部73に出力する。
データ送信部73は、要求受信部71から位置情報と装置識別情報とが入力されることに応じて、位置情報で特定される対象データをHDD115から読み出し、通信I/F部112を制御して、読み出した対象データを装置識別情報で特定される装置に送信する。このため、MFP100A〜100Dがダウンロード要求を送信する場合、MFP100A〜100Dそれぞれに対象データが送信される。
継続判断部75は、時間帯情報で示される配信時間帯に、エラー検出部93からエラー識別情報が入力されることに応じて、配信処理を継続するか否かを判断する。継続判断部75は、エラー識別情報で特定されるエラーが回復不可能なエラーの場合、中止指示を中止通知部77に出力する。回復不可能なエラーが発生する場合、MFP100の電源がOFFに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。回復不可能なエラーを定めたテーブルを予め準備するようにすればよい。また、発生する回復不可能なエラーがデータ通信に関するエラーの場合は、対象データを送信できなくなるからである。
継続判断部75は、エラー識別情報で特定されるエラーが回復可能なエラーの場合、そのエラーの発生からそのエラーに対して予め定められた猶予時間が経過してもエラーが回復しない場合、中止指示を中止通知部77に出力する。猶予時間は、エラーを回復するために必要な時間として予め定められた時間である。回復可能なエラーが回復しない場合、MFP100の電源がOFFに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。
図7は、回復不可能なエラーを定めた第1のエラーテーブルの一例を示す図である。図7を参照して、要因がCPU異常、転写ベルト異常、定着装置異常のエラーが回復不可能なエラーとして定められる。
図8は、回復可能なエラーを定めた第2のエラーテーブルの一例を示す図である。図8を参照して、回復可能なエラーとして、要因がサーバー200と通信不可であるエラーに猶予時間60秒が定められ、要因がパケット欠損のエラーに猶予時間200秒が定められ、要因がプロトコル異常のエラーに猶予時間15秒が定められ、要因がループ接続異常のエラーに猶予時間10秒が定められ、要因が異常送信のエラーに猶予時間300秒が定められる。
図6に戻って、中止通知部77は、継続判断部75から中止指示が入力されることに応じて、通信I/F部112を制御して、中止信号をサーバー200に送信する。サーバー200は、上述したように、依頼装置であるMFP100から中止信号を受信すると、MFP100とは別のMFP100A〜100Dのうちから新たな代理装置を決定し、新たな代理装置に配信処理の実行を依頼する。このため、新たな代理装置で配信処理が実行可能になると、その後に送信されるダウンロード要求は、新たな代理装置に記憶された対象データの位置情報を含むので、MFP100でダウンロード要求を受信することがなくなる。
ジョブ禁止部55は、データ送信部73が対象データを送信中の間に、ジョブ実行部97によるジョブの実行を中止する。ジョブ実行部97がジョブを実行することにより、CPU111の余力が低下し、RAM114の作業領域が小さくなるため、データ送信部73が対象データを送信できなくなる場合があるからである。
変更禁止部57は、依頼受付部51が配信処理の実行の依頼を受け付けた後、配信処理が実行される配信時間帯が終了するまでは、設定値設定部99が設定値を変更すると、変更後の設定値は、対象データを送信する処理を実行できなくなる場合、設定値設定部99による設定値の変更を禁止する。データ送信部73が対象データを送信できなくなり、配信処理を実行できなくなるからである。
送信先装置の機能80については、MFP100Aの機能として説明する。送信先装置の機能80は、ダウンロード指示受信部81と、ダウンロード部83と、位置情報受信部85と、位置情報記憶部87と、を含む。位置情報受信部85は、通信I/F部112を制御して、サーバー200が送信する位置情報を受信し、受信された位置情報を位置情報記憶部87に出力する。位置情報記憶部87は、位置情報受信部85から入力される位置情報をHDD115に記憶する。
ダウンロード指示受信部81は、通信I/F部112を制御して、サーバー200が送信するダウンロード指示を受信する。ダウンロード指示受信部81は、ダウンロード指示を受信することに応じて、ダウンロード指示をダウンロード部83に出力する。ダウンロード部83は、ダウンロード指示が入力されることに応じて、位置情報記憶部87により記憶された位置情報を読み出し、位置情報で特定される対象データをダウンロードする。具体的には、ダウンロード部83は、通信I/F部112を制御して、位置情報で特定されるMFP100に位置情報を含むダウンロード要求を送信する。上述したようにMFP100は対象データを送信するので、ダウンロード部83は、通信I/F部112を制御して、MFP100が送信する対象データを受信する。
ダウンロード部83は、対象データがコマンドを含む場合、対象データをジョブ実行部97および設定値設定部99に出力する。
ジョブ実行部97は、対象データがコマンドを含む場合、コマンドを実行する。例えば、対象データがプログラムと、そのプログラムをインストールするコマンドとを含む場合、ジョブ実行部97は、プログラムをインストールするジョブを実行する。
また、設定値設定部99は、対象データが設定値と設定値を設定するコマンドを含む場合、対象データに含まれる設定値を設定する。これにより、設定値が更新される。
MFP100が代理装置と送信先装置とを兼ねる場合がある。ここで、MFP100が代理装置かつ送信先装置の場合における送信先装置の機能について説明する。ダウンロード部83は、ダウンロード指示受信部81から入力される位置情報で特定される対象データはHDD115に記憶されているので、HDD115から対象データを読み出す。また、ダウンロード部83は、対象データがコマンドを含む場合に、対象データをジョブ実行部97または設定値設定部99に出力する。
この場合に、ジョブ実行部97は、対象データがプログラムと、そのプログラムをインストールするコマンドとを含む場合、プログラムをインストールするジョブを実行することになるが、データ送信部73が対象データを他の送信先装置に送信中の間は、ジョブの実行がジョブ禁止部55によって禁止される。
また、設定値設定部99は、対象データが設定値と、設定値を設定するコマンドを含む場合、対象データに含まれる設定値を設定するが、対象データに含まれる設定値ではデータ送信部73が対象データを送信できなくなる場合には、変更禁止部57によってその設定値の設定が禁止される。
図9は、データ配信処理の流れの一例を示すフローチャートである。データ配信処理は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたデータ配信プログラムを実行することにより、CPU201により実行される処理である。図9を参照して、CPU201は、対象データを特定する(ステップS01)。そして、対象データのサイズに対応する要件情報を決定する(ステップS02)。次のステップS03においては、対象データを配信する配信時間帯を決定する(ステップS03)。
次のステップS04においては、候補装置決定処理を実行し、処理をステップS05に進める。候補装置決定処理の詳細は後述するが、管理対象であるMFP100,100A〜100Dのうちから配信処理を依頼する候補となる装置を決定する処理である。ここでは、MFP100,100A〜100Dが候補装置として決定される場合を例に説明する。
ステップS05においては、候補装置決定処理により決定された1以上の候補装置のうちから処理対象となる1つの候補装置を選択し、処理をステップS06に進める。ステップS06においては、処理対象に選択された候補装置に配信処理の実行可否を問合せる。具体的には、通信I/F部112を制御して、ステップS02において決定された要件情報を候補装置に送信する。次のステップS07においては、候補装置、ここではMFP100,100A〜100Dのうちに、処理対象に選択されていない装置が存在するか否かを判断する。ステップS05において、処理対象に選択されていない候補装置が存在すれば処理をステップS05に戻すが、そのような候補装置が存在しなければ処理をステップS08に進める。
ステップS08においては、配信処理の実行を問合せた候補装置のいずれかから応答があったか否かを判断する。通信I/F部112を制御して、MFP100,100A〜100Dのいずれかから応答があれば、処理をステップS09に進めるが、そうでなければ処理をステップS10に進める。ステップS09においては、応答した候補装置を代理装置に設定し、処理をステップS10に進める。ステップS10においては、ステップS06における問合せの後、所定時間が経過したか否かを判断する。所定時間が経過したならば処理をステップS11に進めるが、そうでなければ処理をステップS08に戻す。
ステップS11においては、代理装置が存在するか否かを判断する。ステップS09において代理装置に設定された候補装置が存在するならば処理をステップS12に進めるが、そうでなければ処理をステップS19に進める。ステップS19においては、エラー表示し、処理を終了する。例えば、配信処理を実行する代理装置が存在しないことを示すメッセージを、表示部206に表示する。
ステップS12においては、代理装置が複数か否かを判断する。ステップS09において代理装置に設定された候補装置が複数ならば処理をステップS13に進めるが、1つならば処理をステップS14に進める。ステップS13においては、代理装置に設定された複数の候補装置のうちから任意の1つを代理装置として選択し、処理をステップS14に進める。なお、ハードウェア資源が最高の候補装置を代理装置として選択するようにしてもよい。また、最初に応答してきた候補装置を代理装置に設定するようにしてもよい。以下、MFP100を代理装置に設定する場合を例に説明する。
ステップS14においては、代理装置であるMFP100に配信処理の実行を依頼する。具体的には、通信I/F部112を制御して、ステップS01において特定された対象データを、MFP100に送信する。次のステップS15においては、位置情報を受信したか否かを判断する。通信I/F部112を制御して、MFP100から位置情報を受信したか否かを判断する。位置情報を受信するまで待機状態となり(ステップS15でNO)、位置情報を受信したならば(ステップS15でYES)、処理をステップS16に進める。
ステップS16においては、位置情報をHDD204に記憶し、処理をステップS17に進める。位置情報は、対象データと関連付けてHDD204に記憶する。そして、受信指示処理を実行し、処理をステップS18に進める。受信指示処理の詳細は後述するが、対象データの送信先である送信先装置に対象データを受信させる処理である。
ステップS18においては、受信指示処理を実行した結果、中止設定されたか否かを反する。中止設定されている場合には、処理をステップS05に戻すが、そうでなければ処理を終了する。後述するように、受信指示処理を実行した結果、中止設定される場合は、代理装置であるMFP100が配信処理を継続できないと判断した場合であり、この場合には、MFP100以外のMFP100A〜100Dのうちから新たな代理装置を決定し、対象データの配信処理を依頼する。
図10は、候補装置決定処理の流れの一例を示すフローチャートである。候補装置決定処理は、図9のステップS04において実行される処理である。図10を参照して、CPU201は、ハードウェア資源要件を決定する(ステップS21)。複数のデータサイズごとに、ハードウェア資源要件を定めたテーブルを参照して、対象データに対応するハードウェア資源要件を決定する。次のステップS22においては、管理対象となるMFP100,100A〜100Dのうちから処理対象とする1つを選択する。ここでは、MFP100を処理対象に選択した場合を例に説明する。次のステップS23においては、MFP100の性能情報を取得する。MFP100に性能情報の送信を要求し、MFP100から性能情報を受信する。なお、MFP100,100A〜100Dそれぞれの性能情報を定めたテーブルを準備しておき、そのテーブルを参照して性能情報を取得するようにしてもよい。
次のステップS24においては、性能情報で定めるMFP100のハードウェア資源の性能が、ハードウェア資源要件を満たしているか否かを判断する。MFP100のハードウェア資源の性能が、ハードウェア資源要件で定められる下限値上ならばハードウェア要件を満たしていると判断する。MFP100がハードウェア資源要件を見たいしているならば処理をステップS25に進めるが、そうでなければ処理をステップS28に進める。
ステップS25においては、MFP100からエラー発生情報を取得する。MFP100にエラー発生情報の送信を要求し、MFP100からエラー発生情報を取得する。そして、エラー発生情報で特定されるエラーが回復可能なエラーか否かを判断する(ステップS26)。回復可能なエラーならば処理をステップS27に進めるが、そうでなければ処理をステップS28に進める。
ステップS27においては、MFP100を候補装置に設定し、処理をステップS28に進める。ステップS28においては、管理対象となるMFP100,100A〜100Dのうちに処理対象に選択されていない装置が存在するか否かを判断する。処理対象に選択されていない装置が存在するならば処理をステップS22に戻すが、そうでなければ処理をデータ配信処理に戻す。処理がステップS22に戻る場合、管理対象となるMFP100A〜100Dのうちからいずれかが選択され、ステップS23〜ステップS27の処理が実行される。これにより、管理対象となるMFP100,100A〜100Dのうちから、ハードウェア資源要件を満たし、回復不可能なエラーが発生していない装置のすべてが候補装置に設定される。
図11は、受信指示処理の流れの一例を示す図である。受信指示処理は、図9のステップS17において実行される処理である。図11を参照して、CPU201は、管理対象となるMFP100,100A〜100Dのうちから送信先装置を決定する(ステップS31)。ここでは、MFP100,100A〜100Dを送信先装置に決定する場合を例に説明する。送信先装置は、対象データを送信する先の装置であり、対象データによって定まる。対象データと、対象データを送信する先の装置とを関連付けたテーブルを準備して置き、そのテーブルを参照して、送信先装置を決定する。次のステップS32においては、処理対象とする送信先装置を選択する。ここでは、MFP100Aを処理対象に選択する場合を例に説明する。
次のステップS33においては、通信部205を制御して、MFP100Aに位置情報を送信する。そして、ステップS32において処理対象に選択されていない送信先装置が存在するか否かを判断する(ステップS34)。処理対象に選択されていない送信先装置が存在するならば処理をステップS31に戻すが、存在しないならば処理をステップS35に進める。処理がステップS35に進む段階で、送信先装置であるMFP100,100A〜100Dそれぞれに位置情報が送信される。
ステップS35においては、現在時刻が配信時間帯になるまで待機し(ステップS35でNO)、現在時刻が配信時間帯になると(ステップS35でYES)、処理をステップS36に進める。ステップS36においては、処理対象とする送信先装置を選択する。ここでは、送信先装置であるMFP100Aを処理対象に選択する場合を例に説明する。
次のステップS37においては、通信部205を制御して、MFP100Aにダウンロード指示を送信する。そして、処理対象に選択されていない送信先装置が存在するか否かを判断する(ステップS38)。処理対象に選択されていない送信先装置が存在するならば処理をステップS39に進めるが、存在しないならば処理をデータ配信処理に戻す。
ステップS39においては、依頼装置から中止依頼があったか否かを判断する。ここでは、MFP100を依頼装置としているので、通信部205を制御して、MFP100から中止信号を受信したか否かを判断する。中止信号を受信したならば処理をステップS40に進めるが、そうでなければ処理をステップS41に進める。ステップS41においては、ダウンロード指示を送信してから所定時間が経過したか否かを判断する。ダウンロード指示を送信してから所定時間が経過したならば処理をステップS36に戻すが、そうでなければ処理をステップS38に戻す。ステップS36からステップS41が実行される間に、送信先装置であるMFP100,100A〜100Dに、ダウンロード指示が所定時間間隔で順に送信される。このため、対象データのダウンロードが同時に実行されるのを回避して依頼装置の負荷が増大するのを防止することができるとともに、パケット衝突を回避してLAN3を効率的に利用できる。また、受信指示処理の途中で、依頼装置であるMFP100から中止信号が受信される場合には、ダウンロード指示の送信を中止して受信指示処理を中止するので、データ配信処理が継続できなくなったことを検出できる。
図12は、代理配信処理の流れの一例を示すフローチャートである。代理配信処理は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶された代理配信プログラムを実行することにより、CPU111により実行される処理である。図12を参照して、MFP100が備えるCPU111は、問合せ応答処理を実行し(ステップS45)、依頼受付処理を実行する(ステップS46)。
図13は、問合せ応答処理の流れの一例を示すフローチャートである。問合せ応答処理は、図12のステップS45において実行される処理である。図13を参照して、CPU111は、サーバー200から問合せを受けたか否かを判断する(ステップS51)。具体的には、通信I/F部112を制御して、サーバー200から要件情報を受信する場合に、問合せを受けたと判断する。要件情報を受信するまで待機状態となり(ステップS51でNO)、要件情報を受信したならば(ステップS51でYES)、処理をステップS52に進める。要件情報は、要件情報で定められる対象データの配信処理を実行するために必要な負荷を定める。具体的には、要件情報は、固定的に記憶可能なデータ量の下限値、CPUが作業領域として用いるメモリの空き容量の下限値、単位時間当たりのCPUの空き時間の割合の下限値を含む。
ステップS52においては、配信時間帯を決定する。通信I/F部112を制御して、サーバー200から時間帯情報を受信し、時間帯情報で示される配信時間帯を決定する。そして、稼働実績情報を取得する(ステップS53)。HDD115に記憶されている稼働実績情報を読み出す。そして、配信時間帯の余力を予測する(ステップS54)。具体的には、稼働実績情報を参照して、配信時間帯と日付が異なるが時間が同じ時間帯に実行されたジョブを特定し、その時間帯においてジョブが実行されていない時間の占める割合を、CPUの空き時間を示す余力として算出する。また、時間帯情報で定められる配信時間帯と日付が異なるが時間が同じ時間帯におけるRAM114の空き領域のサイズの平均をRAM114の空き容量を示す余力として予測する。
ステップS55においては、ステップS54において予測された余力とステップS51において受信された要件情報で定まる負荷とを比較する。余力が負荷以上ならば処理をステップS56に進めるが、そうでなければ処理をステップS60に進める。具体的には、負荷比較部41は、余力として予測されたCPUの空き時間の割合が、要件情報に含まれるCPUの空き時間の下限値以上であれば余力が負荷以上と判断し、余力として予測されたCPUの空き時間が、要件情報に含まれる単位時間当たりのCPUの空き時間の割合の下限値より小さければ余力が負荷より小さいと判断する。また、余力として予測されたRAM114の空き容量が、要件情報に含まれるメモリの空き容量の下限値以上ならば余力が負荷以上と判断し、要件情報に含まれるメモリの空き容量の下限値より小さければ余力が負荷より小さいと判断する。余力として予測されたCPUの空き時間の割合および余力として予測されたRAM114の空き容量のいずれもが、要件情報で定められた負荷の下限値以上ならば余力が負荷以上と判断する。
ステップS56においては、HDD115の残量を負荷の容量と比較する。具体的には、HDD115でデータを記憶可能な空き領域の容量が、要件情報に含まれる固定的に記憶可能なデータ量の下限値以上ならば余力が負荷以上と判断し、処理をステップS57に進めるが、そうでなければ処理をステップS60に進める。
ステップS57においては、省電力モードの期間と、通常モードの期間とを定めるスケジュールを参照して、配信時間帯における動作モードを決定する。そして、決定された動作モードによって処理を分岐する(ステップS58)。配信時間帯における動作モードが通常モードならば処理をステップS59に進めるが、そうでなく省電力モードならば処理をステップS60に進める。ステップS59においては、サーバー200に配信処理を実行可能であることを示す応答をし、処理を代理配信処理に戻す。ステップS60においては、配信処理を実行不可に設定し、処理を代理配信処理に戻す。
図14は、依頼受付処理の流れの一例を示すフローチャートである。依頼受付処理は、図12のステップS42において実行される処理である。図12を参照して、CPU111は、配信処理の実行依頼を受け付けたか否かを判断する(ステップS71)。通信I/F部112が、サーバー200から対象データを受信すると、配信処理の実行依頼を受け付けたと判断する。対象データを受信したならば処理をステップS72に進めるが、そうでなければ処理を代理配信処理に戻す。
ステップS72においては、対象データをHDD115に記憶し、処理をステップS73に進める。ステップS73においては、サーバー200に、対象データのネットワークアドレスを示す位置情報を返信し、処理をステップS74に進める。
ステップS74においては、現在日時が配信時間帯になるまで待機状態となり(ステップS74でNO)、現在日時が配信時間帯の開始日時より後ならば(ステップS74でYES)、処理をステップS75に進める。ステップS75においては、送信要求を受信したか否かを判断する。通信I/F部112が、送信先装置であるMFP100A〜100Dのいずれかから送信要求を受信したならば処理をステップS76に進めるが、そうでなければ処理をステップS77に進める。ステップS76においては、送信要求に含まれる位置情報で特定される対象データを、送信要求を送信してきた送信先装置に送信し、処理をステップS77に進める。
ステップS77においては、配信時間帯が終了したか否かを判断する。現在日時が配信時間帯の終了日時より後ならば処理を代理配信処理に戻すが、そうでなければ処理をステップS78に進める。ステップS78においては、エラーが発生したか否かを判断する。エラーが発生したならば処理をステップS79に進めるが、そうでなければ処理をステップS84に進める。ステップS84においては、ジョブ制御処理を実行し、処理をステップS75に戻す。ジョブ制御処理の詳細は後述する。
ステップS79においては、発生したエラーが回復不可能なエラーか否かを判断する。回復不可能なエラーならば処理をステップS80に進めるが、回復可能なエラーならば処理をステップS81に進める。ステップS80においては、サーバー200に配信処理の中止を依頼し、処理を代理配信処理に戻す。具体的には、通信I/F部112を制御して、サーバー200に中止信号を送信する。
ステップS81においては、発生したエラーに対して予め定められた猶予時間Tを決定する。次のステップS82においては、エラーが発生してからの経過時間が猶予時間T以上か否かを判断する。経過時間が猶予時間T以上ならば処理をステップS80に進めるが、そうでなければ処理をステップS83に進める。ステップS83においては、エラーが回復したか否かを判断する。エラーが回復したならば処理をステップS75に戻すが、そうでなければ処理をステップS82に戻す。猶予時間T以上経過してもエラーが回復しなければ処理がステップS80に進む。ステップS80においては、サーバー200に配信処理の中止を依頼するので、回復可能なエラーが猶予時間を経過しても回復しない場合、MFP100の電源がOFFに切り換えられる場合があり、その場合には配信処理を実行することができなくなるからである。
図15は、ジョブ制御処理の流れの一例を示すフローチャートである。ジョブ制御処は、図14のステップS84において実行される処理である。図15を参照して、CPU111は、ジョブを受け付けたか否かを判断する(ステップS91)。ジョブを受け付けたならば処理をステップS92に進めるが、そうでなければ処理を依頼受付処理に戻す。ステップS92においては、設定値が変更される事象が発生したか否かを判断する。設定値が変更される事象は、設定値を変更するコマンドを含む対象データを受信する場合、ユーザーが操作部163に入力する操作が設定値を変更する操作の場合を含む。設定値が変更される事象が発生したならば処理をステップS93に進めるが、そうでなければ処理をステップS96に進める。
ステップS93においては、変更後の設定値で、配信処理の実行が可能か否かを判断する。配信処理を実行可能ならば処理をステップS94に進めるが、配信処理を実行不可能ならば処理をステップS95に進める。ステップS94においては、設定値を変更し、処理を依頼受付処理に戻す。ステップS95においては、設定値の変更を禁止し、処理を依頼受付処理に戻す。
ステップS96においては、対象データを送信中か否かを判断する。対象データを送信中ならば処理をステップS97に進めるが、そうでなければ処理をステップS98に進める。ステップS97においては、ジョブの実行を禁止し、処理を依頼受付処理に戻す。ステップS98においては、ジョブを実行し、処理を依頼受付処理に戻す。
図16は、ダウンロード処理の流れの一例を示すフローチャートである。ダウンロード処理は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶されたダウンロードプログラムを実行することにより、CPU111により実行される処理である。ダウンロードプログラムは、データ配信プログラムの一部である。図16を参照して、CPU111は、サーバー200から位置情報を受信したか否かを判断する(ステップS101)。通信I/F部112が、サーバー200から位置情報を受信するまで待機状態となり(ステップS101でNO)、位置情報を受信したならば(ステップS101でYES)、処理をステップS102に進める。
ステップS102においては、位置情報をHDD115に記憶し、処理をステップS103に進める。ステップS103においては、ダウンロード指示を受信したか否かを判断する。通信I/F部112が、サーバー200からダウンロード指示を受信するまで待機状態となり(ステップS103でNO)、位置情報を受信したならば(ステップS103でYES)、処理をステップS104に進める。
ステップS104においては、ダウンロード要求を送信し、処理をステップS105に進める。位置情報で定まる代理装置、ここではMFP100に、通信I/F部112を制御して、位置情報を含むダウンロード要求を送信する。依頼装置であるMFP100が、ダウンロード要求を受信することに応じて対象データを送信するので、ステップS105においては、通信I/F部112を制御して、依頼装置であるMFP100から対象データを受信する。そして、対象データをHDD115に記憶し(ステップS106)、処理をステップS107に進める。
ステップS107においては、対象データがコマンドを含むか否かを判断する。対象データがコマンドを含むならばジョブを生成して処理をステップS18に進めるが、そうでなければ処理を終了する。対象データがコマンドを含む場合、コマンドに従って対象データを処理するジョブを生成する。ステップS108においては、図15に示したジョブ制御処理を実行し、処理を終了する。
以上説明したように、本実施の形態における情報処理システム1は、サーバー200は、管理対象であるMFP100,100A〜100Dのうち1以上の送信先装置それぞれに対象データを送信する配信処理の実行可否を、MFP100,100A〜100Dのうち1以上の候補装置、例えば、MFP100,100A〜100Dそれぞれに問合せ、候補装置であるMFP100,100A〜100Dのうち実行可否の問合せに応答する装置を代理装置に決定し、代理装置に配信処理の実行を依頼する。このため、サーバー200は、配信処理の実行を代理装置に依頼するので、サーバー200の負荷を低減することができる。
候補装置であるMFP100,100A〜100Dそれぞれは、サーバー200からの実行可否の問合せに応じて、配信処理を実行するために用いられるハードウェア資源の余力に基づいて、実行可否を判断し、実行可と判断される場合に、実行可否の問合せに応答する。このため、MFP100,100A〜100Dそれぞれが、配信処理を実行するために用いられるハードウェア資源の余力に基づいて配信処理の実行可否を判断するので、サーバー200の負荷を低減することができる。
また、サーバー200は、配信処理を実行するために要求されるハードウェア資源の負荷の下限を示す要件情報を複数の情報処理装置に送信し、候補装置であるMFP100,100A〜100Dそれぞれは、ハードウェア資源の余力が、要件情報で定められる対象データを送信する処理を実行するために要求されるハードウェア資源の負荷の下限以上の場合に実行可と判断する。このため、候補装置であるMFP100,100A〜100Dそれぞれにおいて、ハードウェア資源の余力の変動に対応して配信処理の実行可否を判断することができる。また、サーバー200において、候補装置であるMFP100,100A〜100Dそれぞれのハードウェア資源の余力を取得する必要がないので、インターネット5に流れるデータ量を少なくすることができるとともに、サーバー200の負荷を低減することができる。
また、サーバー200は、管理対象であるMFP100,100A〜100Dそれぞれからハードウェア資源の性能を示す性能情報を取得し、取得された性能情報に基づいて、管理対象であるMFP100,100A〜100Dのうちから1以上の候補装置を決定する。このため、サーバー200は、管理対象であるMFP100,100A〜100Dのうち配信処理を実行するのに適した性能のハードウェア資源を有する装置を候補装置に決定することができる。
また、サーバー200は、管理対象であるMFP100,100A〜100Dそれぞれから、その装置で発生しているエラーに関するエラー発生情報を取得し、管理対象であるMFP100,100A〜100Dのうち回復不可能なエラーが発生している装置を候補装置に決定しない。回復不可能なエラーが発生している装置は、配信処理を実行できない場合があるので、配信処理を実行可能となる確率の高い装置を候補装置に決定することができる。
また、候補装置であるMFP100,100A〜100Dのうち代理装置に決定された装置、例えば、MFP100は、サーバー200から配信処理の実行が依頼された後に検出されたエラーに基づいて、配信処理を継続するか否かを判断し、サーバー200は、MFP100で配信処理を継続しないことが通知されることに応じて、管理対象である候補装置であるMFP100,100A〜100DのうちMFP100とは異なる装置を新たな代理装置に決定する。このため、1以上の送信先装置の全てに対象データを送信することができる。
また、代理装置であるMFP100は、サーバー200により配信処理の実行が依頼された後に、対象データを送信している間は、ジョブの実行を禁止する。このため、対象データの送信をジョブの実行より優先して、対象データをできるだけ早く送信することができる。
また、代理装置であるMFP100は、サーバー200により配信処理の実行が依頼された後に、対象データを送信不可能になる設定値への変更を禁止する。このため、MFP100において、対象データを送信可能な状態を維持することができる。
また、管理対象であるMFP100,100A〜100Dそれぞれは、LAN3に接続され、サーバー200はインターネット5に接続されるので、対象データが代理装置であるMFP100から送信先装置であるMFP100A〜100Dにそれぞれ送信されるので、インターネット5を用いる必要がない。このため、インターネット5を流れるデータ量を少なくすることができる。
また、サーバー200は、代理装置であるMFP100に対象データを送信し、MFP100から対象データのネットワークアドレスを示す位置情報を取得し、位置情報を1以上の送信先装置であるMFP100,100A〜100Dそれぞれに送信し、送信先装置であるMFP100A〜100Dそれぞれは、代理装置であるMFP100から対象データをダウンロードする。このため、サーバー200は送信先装置であるMFP100A〜100Dに対象データを送信する必要がないので、サーバー200の負荷を低減することができる。
また、代理装置であるMFP100は、配信処理の実行が依頼される場合、位置情報を含むダウンロード要求を送信先装置であるMFP100A〜100Dのいずれかから受信することに応じて、対象データを送信するので、代理装置であるMFP100は、対象データの送信先であるMFP100A〜100Dを知る必要がない。このため、代理装置であるMFP100で実行される処理を簡略にすることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1)前記要件情報は、固定的に記憶可能なデータ量の下限値、メモリの空き容量の下限値、および単位時間当たりにジョブが実行されない時間の割合の下限値の少なくとも1つを含む、請求項2に記載の情報処理システム。
(2) 前記問合せは、前記対象データを送信する時間帯を示す時間帯情報を含み、
前記判断手段は、前記ハードウェア資源の前記時間帯情報で示される時間帯における余力を予測する、請求項2または(1)に記載の情報処理システム。
(3) 前記複数の情報処理装置それぞれは、さらに、通常モードよりも消費電力の低い省電力モードとのいずれかに動作モードを切り換えるモード切換手段を、備え、
前記判断手段は、前記時間帯情報で示される時間帯における動作モードが省電力モードに予定されている場合、実行不可と判断する、(2)に記載の情報処理システム。
1 情報処理システム、3 LAN、5 インターネット、100,100〜100D MFP、200 サーバー、300 ゲートウェイ装置、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、118 CD−ROM、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、155 後処理部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部、201 CPU、202 ROM、203 RAM、204 HDD、205 通信部、206 表示部、207 操作部、208 外部記憶装置205、20 候補装置の機能、21 受付部、23 判断部、25 応答部、27 実績取得部、31 要件情報受信部、33 時間帯情報受信部、41 負荷比較部、43 予測部、45 モード判断部、50 代理装置の機能、51 依頼受付部、53 配信処理実行部、55 ジョブ禁止部、57 変更禁止部、61 位置情報送信部、63 データ記憶制御部、71 要求受信部、73 データ送信部、75 継続判断部、77 中止通知部、80 送信先装置の機能、81 ダウンロード指示受信部、83 ダウンロード部、85 位置情報受信部、87 位置情報記憶部、91 モード切換部、93 エラー検出部、95 エラー発生情報送信部、96 ジョブ実行部、97 ジョブ実行部、99 設定値設定部、251 性能情報取得部、253 エラー発生情報取得部、255 候補装置決定部、257 問合せ部、259 代理装置決定部、261 依頼部、263 送信先決定部、265 受信指示部、271 要件情報送信部、273 時間帯情報送信部、275 中止検出部、277 データ送信部、279 位置情報受信部、281 位置通知部、283 ダウンロード指示部。

Claims (29)

  1. サーバーと、前記サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムであって、
    前記サーバーは、
    対象データを前記複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定手段と、
    前記配信処理の実行可否を前記1以上の候補装置に問合せる問合せ手段と、
    前記1以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、
    前記代理装置に前記配信処理の実行を依頼する依頼手段と、を備え、
    前記複数の情報処理装置それぞれは、前記サーバーからの前記実行可否の問合せに応じて、前記ハードウェア資源の余力に基づいて、前記実行可否を判断する判断手段と、
    前記判断手段により実行可と判断される場合に、前記実行可否の問合せに応答する応答手段と、を備えた情報処理システム。
  2. 前記サーバーは、さらに、前記配信処理を実行するために要求される前記ハードウェア資源の負荷の下限を示す要件情報を前記複数の情報処理装置に送信する要件情報送信手段を、備え、
    前記複数の情報処理装置それぞれが備える前記判断手段は、前記ハードウェア資源の余力が前記要件情報で示される負荷の下限以上の場合に実行可と判断する、請求項1に記載の情報処理システム。
  3. 前記サーバーは、前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、
    前記候補装置決定手段は、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記1以上の候補装置を決定する、請求項1または2に記載の情報処理システム。
  4. 前記サーバーは、前記複数の情報処理装置から発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、
    前記候補装置決定手段は、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記1以上の候補装置に決定しない、請求項1〜3のいずれかに記載の情報処理システム。
  5. 前記複数の情報処理装置それぞれは、前記代理装置として機能する場合、さらに、エラーの発生を検出するエラー検出手段と、
    前記エラー検出手段により前記配信処理の実行が依頼された後に検出されたエラーに基づいて、前記配信処理を継続するか否かを判断する継続判断手段と、を備え、
    前記サーバーは、さらに、前記代理装置から継続しないことが通知されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定手段を備えた、請求項1〜4のいずれかに記載の情報処理システム。
  6. 前記複数の情報処理装置それぞれは、さらに、前記ハードウェア資源を用いてジョブを実行するジョブ実行手段を、さらに備え、
    前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼された後に、前記対象データを送信している間は、予め定められた種類のジョブの実行を禁止するジョブ禁止手段を備える、請求項1〜5のいずれかに記載の情報処理システム。
  7. 前記複数の情報処理装置それぞれは、さらに、前記ハードウェア資源を制御するために用いられる設定値を設定する設定値設定手段を備え、
    前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼された後に、前記設定値設定手段による前記対象データを送信不可能になる設定値への変更を禁止する変更禁止手段を、備える請求項1〜5のいずれかに記載の情報処理システム。
  8. 前記複数の情報処理装置それぞれは、第1のネットワークに接続され、前記第1のネットワークを介して前記複数の情報処理装置のうち他の情報処理装置と通信可能であり、
    前記サーバーは、前記第1のネットワークとは別の第2のネットワークに接続され、前記第1のネットワークおよび前記第2のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項1〜7のいずれかに記載の情報処理システム。
  9. 前記サーバーは、前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、
    前記位置情報を前記1以上の送信先装置それぞれに通知する位置通知手段と、を備え、
    前記複数の情報処理装置それぞれは、前記送信先装置として機能する場合、前記位置情報で特定される前記対象データを前記代理装置からダウンロードするダウンロード手段を、さらに備えた、請求項1〜8のいずれかに記載の情報処理システム。
  10. 前記複数の情報処理装置それぞれは、前記代理装置として機能する場合、さらに、前記サーバーにより前記配信処理の実行が依頼される場合、前記サーバーから送信される前記対象データを外部からアクセス可能な領域に記憶する記憶制御手段と、
    前記対象データが記憶された位置を示す位置情報を前記サーバーに送信する位置情報送信手段と、
    前記位置情報を含むダウンロード要求を前記1以上の送信先装置のいずれかから受信することに応じて、前記対象データを送信する送信手段と、を備える請求項9に記載の情報処理システム。
  11. 前記余力は各情報処理装置のジョブの実行状況に対応する、請求項1〜10のいずれかに記載の情報処理システム。
  12. 前記余力は前記ハードウェア資源の空き状況に対応する、請求項1〜11のいずれかに記載の情報処理システム。
  13. 複数の情報処理装置と通信可能に接続されたサーバーであって、
    対象データを前記複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定手段と、
    前記配信処理の実行可否を、前記1以上の候補装置に問合せ、前記1以上の候補装置それぞれに前記配信処理を実行するために用いられるハードウェア資源の余力に基づいて、
    前記実行可否を判断させる問合せ手段と、
    前記1以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定手段と、
    前記代理装置に前記配信処理の実行を依頼する依頼手段と、を備えたサーバー。
  14. 前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得手段をさらに備え、
    前記候補装置決定手段は、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記1以上の候補装置を決定する、請求項13に記載のサーバー。
  15. 前記複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得手段を、さらに備え、
    前記候補装置決定手段は、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記1以上の候補装置に決定しない、請求項13または14に記載のサーバー。
  16. 前記代理装置により前記配信処理の実行を継続しないと判断されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定手段をさらに備えた、請求項13〜15のいずれかに記載のサーバー。
  17. 前記サーバーは、前記複数の情報処理装置それぞれが接続される第1のネットワークとは別の第2のネットワークに接続され、前記第1のネットワークおよび前記第2のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項13〜16のいずれかに記載のサーバー。
  18. 前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得手段と、
    前記1以上の送信先装置それぞれに前記位置情報を通知し、前記1以上の送信先装置それぞれに前記位置情報で特定される前記対象データを前記代理装置からダウンロードさせるダウンロード指示手段と、をさらに備えた、請求項13〜17のいずれかに記載のサーバー。
  19. 前記余力は各情報処理装置のジョブの実行状況に対応する、請求項13〜18のいずれかに記載のサーバー。
  20. 前記余力は前記ハードウェア資源の空き状況に対応する、請求項13〜19のいずれかに記載のサーバー。
  21. サーバーと、前記サーバーと通信可能な複数の情報処理装置と、を含む情報処理システムで実行されるデータ配信方法であって、
    前記サーバーに、
    対象データを前記複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定ステップと、
    前記配信処理の実行可否を前記1以上の候補装置に問合せる問合せステップと、
    前記1以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、
    前記代理装置に前記配信処理の実行を依頼する依頼ステップと、を実行させ、
    前記複数の情報処理装置それぞれに、前記サーバーからの前記実行可否の問合せに応じて、前記対象データを送信する処理を実行するために用いられるハードウェア資源の余力に基づいて、前記実行可否を判断する判断ステップと、
    前記判断ステップにおいて実行可と判断される場合に、前記実行可否の問合せに応答する応答ステップと、を実行させるデータ配信方法。
  22. 複数の情報処理装置と通信可能に接続されたサーバーを制御するコンピューターで実行されるデータ配信プログラムであって、
    対象データを前記複数の情報処理装置のうち1以上の送信先装置それぞれに送信する配信処理に要する、ハードウェア資源の性能に基づき、前記配信処理を実行する情報処理装置の候補となる1以上の候補装置を決定する候補装置決定ステップと、
    前記配信処理の実行可否を、前記1以上の候補装置に問合せ、前記1以上の候補装置それぞれに前記配信処理を実行するために用いられるハードウェア資源の余力に基づいて、
    前記実行可否を判断させる問合せステップと、
    前記1以上の候補装置のうち前記実行可否の問合せに応答する装置を代理装置に決定する代理装置決定ステップと、
    前記代理装置に前記配信処理の実行を依頼する依頼ステップと、を前記コンピューターに実行させるデータ配信プログラム。
  23. 前記複数の情報処理装置それぞれから前記ハードウェア資源の性能を示す性能情報を取得する性能情報取得ステップを、さらに前記コンピューターに実行させ、
    前記候補装置決定ステップは、前記複数の情報処理装置それぞれから取得された性能情報に基づいて、前記複数の情報処理装置のうちから前記1以上の候補装置を決定するステップを含む、請求項22に記載のデータ配信プログラム。
  24. 前記複数の情報処理装置それぞれから発生しているエラーに関するエラー発生情報を取得するエラー発生情報取得ステップを、さらに前記コンピューターに実行させ、
    前記候補装置決定ステップは、前記複数の情報処理装置のうち回復不可能なエラーが発生している装置を前記1以上の候補装置に決定しないステップを含む、請求項22または23に記載のデータ配信プログラム。
  25. 前記代理装置により前記配信処理の実行を継続しないと判断されることに応じて、前記複数の情報処理装置のうちから前記代理装置とは異なる新たな代理装置を決定する新代理装置決定ステップをさらに前記コンピューターに実行させる、請求項22〜24のいずれかに記載のデータ配信プログラム。
  26. 前記サーバーは、前記複数の情報処理装置それぞれが接続される第1のネットワークとは別の第2のネットワークに接続され、前記第1のネットワークおよび前記第2のネットワークを介して前記複数の情報処理装置それぞれと通信可能である、請求項22〜25のいずれかに記載のデータ配信プログラム。
  27. 前記代理装置に前記対象データを送信し、前記代理装置から前記対象データが記憶された位置を示す位置情報を取得する位置情報取得ステップと、
    前記1以上の送信先装置それぞれに前記位置情報を通知し、前記1以上の送信先装置それぞれに前記位置情報で特定される前記対象データを前記代理装置からダウンロードさせるダウンロード指示ステップと、をさらに前記コンピューターに実行させる、請求項22〜26のいずれかに記載のデータ配信プログラム。
  28. 前記余力は各情報処理装置のジョブの実行状況に対応する、請求項22〜27のいずれかに記載のデータ配信プログラム。
  29. 前記余力は前記ハードウェア資源の空き状況に対応する、請求項22〜28のいずれかに記載のデータ配信プログラム。
JP2016222452A 2016-11-15 2016-11-15 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム Active JP6848377B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016222452A JP6848377B2 (ja) 2016-11-15 2016-11-15 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム
US15/813,271 US10592174B2 (en) 2016-11-15 2017-11-15 Information processing system, server and non-transitory computer-readable recording medium encoded with data distribution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016222452A JP6848377B2 (ja) 2016-11-15 2016-11-15 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム

Publications (2)

Publication Number Publication Date
JP2018081441A JP2018081441A (ja) 2018-05-24
JP6848377B2 true JP6848377B2 (ja) 2021-03-24

Family

ID=62108456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016222452A Active JP6848377B2 (ja) 2016-11-15 2016-11-15 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム

Country Status (2)

Country Link
US (1) US10592174B2 (ja)
JP (1) JP6848377B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7339600B2 (ja) * 2019-06-27 2023-09-06 京セラドキュメントソリューションズ株式会社 機器設定装置および機器設定プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004040142A (ja) 2002-06-28 2004-02-05 Canon Inc 画像処理システム
SE525748C2 (sv) * 2002-10-28 2005-04-19 Devlabs Ab Förfarande för direkta utskrifter i nätverk
EP1424627A3 (en) * 2002-11-29 2008-04-23 Seiko Epson Corporation Printing system for redistributing print jobs
JP2006309307A (ja) * 2005-04-26 2006-11-09 Seiko Epson Corp ネットワークに接続されたサーバからの情報のダウンロード制御
JP2008040918A (ja) * 2006-08-09 2008-02-21 Fuji Xerox Co Ltd 文書処理システム、文書配信管理サーバ装置、文書配信管理プログラム、処理装置、処理プログラム、デバイス装置および文書配信プログラム
JP4329825B2 (ja) * 2007-02-09 2009-09-09 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置、代行処理実行方法および代行処理実行プログラム
US8130399B2 (en) * 2007-03-27 2012-03-06 Kyocera Mita Corporation Print management apparatus and print management system with plural image forming apparatuses and a designating section that designates one of the image forming apparatuses for printing
JP2008242700A (ja) * 2007-03-27 2008-10-09 Kyocera Mita Corp 印刷管理装置、印刷管理システムおよび印刷管理プログラム
JP5180676B2 (ja) * 2008-05-14 2013-04-10 キヤノン株式会社 画像形成装置、その制御方法及びそのプログラム
JP2014106727A (ja) 2012-11-27 2014-06-09 Canon Inc 情報処理装置、サーバ装置、情報処理システム、情報処理装置の制御方法、サーバ装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US20180136882A1 (en) 2018-05-17
JP2018081441A (ja) 2018-05-24
US10592174B2 (en) 2020-03-17

Similar Documents

Publication Publication Date Title
JP5870990B2 (ja) 中継装置、画像形成装置、中継方法および中継プログラム
JP4239987B2 (ja) ネットワークシステム、デバイス、およびプログラム
US8705082B2 (en) Image forming apparatus monitoring system and method therefor
US8804162B2 (en) Information processing apparatus, printing system, monitoring method, program, and storage medium
US7640314B2 (en) Network system, device and program
US7979726B2 (en) Information processing apparatus using server copy of predetermined information when storing part is in power saving mode
JP7087685B2 (ja) 情報処理システムおよび情報処理方法
US10970023B2 (en) Printing system for directly transmitting a print job to printer when a server is unavailable and printer driver program
US7827220B2 (en) Image log recording system, control method therefor, and storage medium storing a control program therefor, that store image logs and control transfer settings for transmitting image logs to an image processing server
US20150169257A1 (en) Information processing apparatus, image processing apparatus, information processing method, and firmware upload method
CN104808955A (zh) 信息终端、印刷系统以及印刷系统的控制方法
US9386122B2 (en) Server selecting apparatus, information processing apparatus, and non-transitory computer-readable medium storing computer-executable program for server selecting apparatus
JP6848377B2 (ja) 情報処理システム、サーバー、データ配信方法およびデータ配信プログラム
US10104255B2 (en) Information processing apparatus, data sharing method, and data-sharing program
US10298719B2 (en) Network system, and control method for network system
JP2009069950A (ja) 画像処理装置、ジョブ処理方法及びプログラム
JP5258474B2 (ja) 電子機器及びアプリケーション実行方法
JP2008146181A (ja) 情報処理方法及び情報処理システム
JP2008210281A (ja) 画像形成システム及び中継装置
US20070153012A1 (en) Image processing apparatus and image processing system
JP4011006B2 (ja) 課金管理システム及び課金管理方法
JP2005128968A (ja) 印刷管理用サーバ及び印刷管理プログラム
JP7279568B2 (ja) 支援サーバー、トンネル接続支援方法およびトンネル接続支援プログラム
JP2005128966A (ja) 印刷管理用サーバ及び印刷管理プログラム
JP2009212974A (ja) 画像処理装置,画像処理方法,プログラム,および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6848377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150