JP2014075048A - 配信システム、情報処理方法及びプログラム - Google Patents
配信システム、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2014075048A JP2014075048A JP2012222441A JP2012222441A JP2014075048A JP 2014075048 A JP2014075048 A JP 2014075048A JP 2012222441 A JP2012222441 A JP 2012222441A JP 2012222441 A JP2012222441 A JP 2012222441A JP 2014075048 A JP2014075048 A JP 2014075048A
- Authority
- JP
- Japan
- Prior art keywords
- distribution
- firmware
- image forming
- time
- forming apparatus
- 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
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】予約時間内にファームウェアのアップデートを完了する。
【解決手段】画像形成装置にファームウェアを配信する際の配信スケジュールを登録し、ファームウェアのサイズと、ネットワーク環境情報とに基づき、画像形成装置にファームウェアを配信するのに要すると想定される配信想定時間を取得し、ファームウェアを配信した際の配信時間と、配信想定時間との差が閾値以内であるか否かを判断し、閾値以内であると判断した場合、画像形成装置からの配信情報要求に対して登録している配信スケジュールを応答し、ファームウェアの配信要求に対してファームウェアについての情報を応答し、閾値以内でないと判断した場合、ファームウェアを配信した際の配信時間に基づいて再スケジュールした配信スケジュールと、画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示とを応答することで課題を解決する。
【選択図】図17
【解決手段】画像形成装置にファームウェアを配信する際の配信スケジュールを登録し、ファームウェアのサイズと、ネットワーク環境情報とに基づき、画像形成装置にファームウェアを配信するのに要すると想定される配信想定時間を取得し、ファームウェアを配信した際の配信時間と、配信想定時間との差が閾値以内であるか否かを判断し、閾値以内であると判断した場合、画像形成装置からの配信情報要求に対して登録している配信スケジュールを応答し、ファームウェアの配信要求に対してファームウェアについての情報を応答し、閾値以内でないと判断した場合、ファームウェアを配信した際の配信時間に基づいて再スケジュールした配信スケジュールと、画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示とを応答することで課題を解決する。
【選択図】図17
Description
本発明は、配信システム、情報処理方法及びプログラムに関する。
従来、画像形成装置のファームウェアのアップデートは、機能アップ又は障害等の理由により更新する必要が生じた場合に行われる。アップデート方法として、ユーザは、インターネット経由で配信サーバからファームウェアを配信しアップデートを行うか、USB経由/イントラネット経由のアップデートツールを使用することでアップデートを行う。
配信サーバで画像形成装置のファームウェアのアップデートを行う場合、ユーザは、Web画面で配信対象の画像形成装置を指定し、配信日時を設定して、インターネット経由で配信を行う。
最近では、配信サーバにおいて、データ配信時間に許容時間を設けて配信を行うシステムが提案されている(特許文献1)。特許文献1の技術は、データ配信スケジュールの管理を行う管理サーバと、管理サーバからの指示によりデータ配信を行い、データ配信が完了すると配信結果を管理サーバに返す配信サーバとから構成されるサーバシステムを有している。
前記管理サーバは、配信開始、終了の時刻と共に指定時刻前後の配信の許容時間に関する情報(配信開始遅延許容時間、配信終了遅延許容時間、先行配信許容時間)を事前に設定し、データ配信時には、指定時刻前の先行配信を許容する。前記管理サーバは、直前のデータ配信が長引いた場合には、データ配信開始の遅延を許容することにより、データ配信時間の変動に対して柔軟な配信スケジュール管理を実現する。
配信サーバで画像形成装置のファームウェアのアップデートを行う場合、ユーザは、Web画面で配信対象の画像形成装置を指定し、配信日時を設定して、インターネット経由で配信を行う。
最近では、配信サーバにおいて、データ配信時間に許容時間を設けて配信を行うシステムが提案されている(特許文献1)。特許文献1の技術は、データ配信スケジュールの管理を行う管理サーバと、管理サーバからの指示によりデータ配信を行い、データ配信が完了すると配信結果を管理サーバに返す配信サーバとから構成されるサーバシステムを有している。
前記管理サーバは、配信開始、終了の時刻と共に指定時刻前後の配信の許容時間に関する情報(配信開始遅延許容時間、配信終了遅延許容時間、先行配信許容時間)を事前に設定し、データ配信時には、指定時刻前の先行配信を許容する。前記管理サーバは、直前のデータ配信が長引いた場合には、データ配信開始の遅延を許容することにより、データ配信時間の変動に対して柔軟な配信スケジュール管理を実現する。
配信サーバによるインターネットでのファームウェア配信では、ユーザは、配信予約時間を配信サーバのWeb画面から設定可能である。その際、配信サーバは、顧客の業務時間や、ネットワーク環境を考慮することなく、配信予約を受け付けている。そのため、配信サーバを使用して、ファームウェアの大量配信を行った場合、想定時間内にファームウェアのアップデートが完了せず、顧客の業務時間にアップデートを行ってしまう場合がある。大手顧客の場合、配信サーバから数万台の画像形成装置に対して一括で大量配信するケースがあるため、顧客の業務時間にアップデートされることを防ぎたいという要望がある。また、ネットワーク回線の弱い地域の場合、ファームウェアのダウンロードに時間を要するため、その間に顧客のネットワーク帯域を占有してしまうという課題がある。例えば、アジア地域の場合、数百MBのファームウェアのダウンロードに数日を要する顧客が存在する。
以上、配信予約時間内にファームウェアのアップデートを完了することができない場合があることが課題である。
以上、配信予約時間内にファームウェアのアップデートを完了することができない場合があることが課題である。
そこで、本発明は、ネットワークを介して通信可能な少なくとも1台以上の画像形成装置にファームウェアを配信する際の配信スケジュールを登録する登録手段と、前記ファームウェアのサイズと、ネットワーク環境情報とに基づいて、配信対象の前記画像形成装置に対して前記ファームウェアを配信するのに要すると想定される配信想定時間を取得する取得手段と、前記ファームウェアを配信した際の配信時間と、前記取得手段により取得された前記配信想定時間との差が、閾値以内であるか否かを判断する判断手段と、前記判断手段により閾値以内であると判断された場合、前記画像形成装置からの配信情報要求に対して、前記登録手段により登録されている配信スケジュールを応答する第1の応答手段と、前記画像形成装置からのファームウェアの配信要求に対して、ファームウェアについての情報を応答する第2の応答手段と、を有し、前記第1の応答手段は、前記判断手段により閾値以内でないと判断された場合、前記画像形成装置からの要求に対して、前記ファームウェアを配信した際の配信時間に基づいて再スケジュールされた配信スケジュールと、前記画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示とを応答することを特徴とする。
本発明によれば、配信予約時間内にファームウェアのアップデートを完了することができる。
以下、本発明の実施形態について図面に基づき説明する。
<実施形態1>
図1は、本実施形態におけるファームウェア配信システムのシステム構成の一例を示す図である。
図1において、本システムは、操作システム101を始めとするネットワークを介して通信可能な複数のシステムを含む。
操作システム101は、ホスト102と、データベース103と、データベース103へのデータ登録や修正等の制御を行なうPC104とを含む。なお、本実施形態を含む以下の実施形態では、複数のデータのみならず、複数のデータを記憶するHDD等の記憶装置のことを含めてデータベースという。
PC104は、監視センタホスト111及び配信サーバ133が提供するWebサイトへアクセスしてデータの閲覧及びファームウェアの配信予約等を行う。
ホスト102、データベース103及びPC104は、LAN105で接続されている。なお、本実施形態における操作システム101は、複数の装置から構成されているが、後述する各機能を達成すれば他の構成でもよい。例えば、データベース103は、物理的にホスト102内に存在してもよい。また、データベース103は、ホスト102からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。つまり、操作システム101は、複数の装置から構成されるようにしてもよいし、1つの装置から構成されるようにしてもよい。
外部システム106は、LAN109で接続されているホスト107(以後、外部サーバ107という)と、データベース108とを含む。外部システム106は、配信サーバのファームウェアを高速に配信するためサービス機能を持つ。
図1は、本実施形態におけるファームウェア配信システムのシステム構成の一例を示す図である。
図1において、本システムは、操作システム101を始めとするネットワークを介して通信可能な複数のシステムを含む。
操作システム101は、ホスト102と、データベース103と、データベース103へのデータ登録や修正等の制御を行なうPC104とを含む。なお、本実施形態を含む以下の実施形態では、複数のデータのみならず、複数のデータを記憶するHDD等の記憶装置のことを含めてデータベースという。
PC104は、監視センタホスト111及び配信サーバ133が提供するWebサイトへアクセスしてデータの閲覧及びファームウェアの配信予約等を行う。
ホスト102、データベース103及びPC104は、LAN105で接続されている。なお、本実施形態における操作システム101は、複数の装置から構成されているが、後述する各機能を達成すれば他の構成でもよい。例えば、データベース103は、物理的にホスト102内に存在してもよい。また、データベース103は、ホスト102からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。つまり、操作システム101は、複数の装置から構成されるようにしてもよいし、1つの装置から構成されるようにしてもよい。
外部システム106は、LAN109で接続されているホスト107(以後、外部サーバ107という)と、データベース108とを含む。外部システム106は、配信サーバのファームウェアを高速に配信するためサービス機能を持つ。
次に、監視センタホスト111について説明する。
データベース112は、監視のための情報や、少なくとも1台以上の画像形成装置の稼働状態等の情報を蓄積する。
監視センタホスト111と、データベース112とは、インターネットに接続可能なLAN113で接続されている。なお、データベース112は、物理的に監視センタホスト111内に存在してもよい。また、データベース112は、監視センタホスト111からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。
監視センタホスト111は、監視装置117、122、123及び131から監視対象としての画像形成装置の情報や稼働状態等の情報を収集、蓄積、加工し、警告等を外部に提供する機能を有する。
データベース112は、監視のための情報や、少なくとも1台以上の画像形成装置の稼働状態等の情報を蓄積する。
監視センタホスト111と、データベース112とは、インターネットに接続可能なLAN113で接続されている。なお、データベース112は、物理的に監視センタホスト111内に存在してもよい。また、データベース112は、監視センタホスト111からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。
監視センタホスト111は、監視装置117、122、123及び131から監視対象としての画像形成装置の情報や稼働状態等の情報を収集、蓄積、加工し、警告等を外部に提供する機能を有する。
次に、配信サーバ133について説明する。
データベース134は、画像形成装置に適用するためのファームウェアを蓄積する。
配信サーバ133と、データベース134とは、インターネットに接続可能なLAN135で接続されている。なお、データベース134は、物理的に配信サーバ133内に存在してもよい。また、データベース134は、配信サーバ133からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。なお、LAN113と、LAN135とは、同一のLANであってもよい。また、データベース134と、データベース112とは、データを共有してもよい。
図1は、監視センタホスト111、データベース112、配信サーバ133及びデータベース134を、1つずつ示している。しかし、実際には、操作システム101は、多くの画像形成装置及び監視装置からの情報収集や、ファームウェア配信の負荷分散を行なうため、複数の監視センタホスト、データベースに分散処理をさせるシステムとしてもよい。
データベース134は、画像形成装置に適用するためのファームウェアを蓄積する。
配信サーバ133と、データベース134とは、インターネットに接続可能なLAN135で接続されている。なお、データベース134は、物理的に配信サーバ133内に存在してもよい。また、データベース134は、配信サーバ133からアクセス可能であれば、インターネットを経由した別の場所に存在してもよい。なお、LAN113と、LAN135とは、同一のLANであってもよい。また、データベース134と、データベース112とは、データを共有してもよい。
図1は、監視センタホスト111、データベース112、配信サーバ133及びデータベース134を、1つずつ示している。しかし、実際には、操作システム101は、多くの画像形成装置及び監視装置からの情報収集や、ファームウェア配信の負荷分散を行なうため、複数の監視センタホスト、データベースに分散処理をさせるシステムとしてもよい。
次に、顧客側のシステム構成について説明する。
顧客側の環境は、異なる複数のシステムを含む。
図1では、顧客システム114、119、129を示している。
顧客システム114(A社X事業所)では、監視装置117が、インターネットに接続されたLAN118に接続されている画像形成装置115及び116を管理している。なお、監視装置117は、インターネット経由で監視センタホスト111と通信している。
顧客システム119(A社Y事業所)では、監視装置122及び123が、インターネットに接続されたLAN128上の画像形成装置を管理している。なお、監視装置122は、画像形成装置120、121、124及び125を管理している。一方、監視装置123は、画像形成装置126及び127を管理している。
顧客システム129(B社)では、インターネットに接続されたLAN130上の画像形成装置131自身が、直接インターネット経由で監視センタホスト111と通信している。画像形成装置131は、監視装置117、122及び123と同等の機能を有しており、自身の稼働情報を監視センタホスト111に送信する。
顧客側の環境は、異なる複数のシステムを含む。
図1では、顧客システム114、119、129を示している。
顧客システム114(A社X事業所)では、監視装置117が、インターネットに接続されたLAN118に接続されている画像形成装置115及び116を管理している。なお、監視装置117は、インターネット経由で監視センタホスト111と通信している。
顧客システム119(A社Y事業所)では、監視装置122及び123が、インターネットに接続されたLAN128上の画像形成装置を管理している。なお、監視装置122は、画像形成装置120、121、124及び125を管理している。一方、監視装置123は、画像形成装置126及び127を管理している。
顧客システム129(B社)では、インターネットに接続されたLAN130上の画像形成装置131自身が、直接インターネット経由で監視センタホスト111と通信している。画像形成装置131は、監視装置117、122及び123と同等の機能を有しており、自身の稼働情報を監視センタホスト111に送信する。
<ハードウェア構成>
図2は、監視センタホスト111及び配信サーバ133のハードウェア構成の一例を示す図である。なお、図2は、ホスト102、監視装置117、122、123及びPC104のハードウェア構成図にも該当する。
CPU201は、HDD204等に格納されているプログラムに基づいて処理を実行することにより、後述する配信サーバ133の機能(ソフトウェアの機能)及び配信サーバ133に関するフローチャートに係る処理を実現する。なお、上記のCPU201による処理については、監視センタホスト111、ホスト102、監視装置117、122、123及びPC104の場合においても同様である。
書換え不可能なROM202は、本装置の各処理に関するプログラム、データを記憶する。
RAM203は、本装置の各処理に関する一時的なデータを電気的に記憶でき、かつ、書き換え可能なメモリである。
HDD204は、本装置の各処理に関するプログラムやデータ、一時的なデータ、監視対象の画像形成装置に関する情報及び画像形成装置から収集した情報等を記憶する。例えば、HDD204は、稼働情報等を記憶する。
操作部205は、本装置への指示入力を受け付けるキーボード等である。
表示部206は、本装置の動作状況や、CPU201が本装置上で動作する各プログラムを実行することにより出力する情報等を表示する。
外部機器I/F207は、本装置と、外部記憶機器等とを接続するインターフェースである。
以上の各構成要素は、システムバス209により相互に接続され、データのやりとりをする。
NetworkI/F208は、本装置をネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行う。
図2は、監視センタホスト111及び配信サーバ133のハードウェア構成の一例を示す図である。なお、図2は、ホスト102、監視装置117、122、123及びPC104のハードウェア構成図にも該当する。
CPU201は、HDD204等に格納されているプログラムに基づいて処理を実行することにより、後述する配信サーバ133の機能(ソフトウェアの機能)及び配信サーバ133に関するフローチャートに係る処理を実現する。なお、上記のCPU201による処理については、監視センタホスト111、ホスト102、監視装置117、122、123及びPC104の場合においても同様である。
書換え不可能なROM202は、本装置の各処理に関するプログラム、データを記憶する。
RAM203は、本装置の各処理に関する一時的なデータを電気的に記憶でき、かつ、書き換え可能なメモリである。
HDD204は、本装置の各処理に関するプログラムやデータ、一時的なデータ、監視対象の画像形成装置に関する情報及び画像形成装置から収集した情報等を記憶する。例えば、HDD204は、稼働情報等を記憶する。
操作部205は、本装置への指示入力を受け付けるキーボード等である。
表示部206は、本装置の動作状況や、CPU201が本装置上で動作する各プログラムを実行することにより出力する情報等を表示する。
外部機器I/F207は、本装置と、外部記憶機器等とを接続するインターフェースである。
以上の各構成要素は、システムバス209により相互に接続され、データのやりとりをする。
NetworkI/F208は、本装置をネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行う。
図3は、画像形成装置115、116、120、121、124、125、126、127及び131におけるハードウェア構成の一例を示す図である。
より具体的には、画像形成装置の一例として、プリンタ及びファクシミリ機能が統合的に設けられた複合機、PC等からデータを受信し印刷するプリンタ(電子写真方式及びインクジェット方式を含む)、スキャナー、ファクシミリ等が挙げられる。図3では、画像形成装置の一例である複合機の構成を示している。
CPU306は、HDD309等に格納されているプログラムに基づいて処理を実行することにより、後述する画像形成装置の機能(ソフトウェアの機能)及び画像形成装置に関するフローチャートに係る処理を実現する。また、CPU306は、画像形成装置の動作状態を監視し、障害等の特定のイベントが発生した場合には、その状態を示す状態情報を、予め定めた宛先へ送信する。宛先とは、例えば、監視センタホスト111や監視装置等である。
イメージリーダ302は、原稿給送部301で原稿を読み込む。
画像形成部303は、イメージリーダ302で読み込んだ原稿やネットワーク経由で受信したデータを印刷画像に変換及び印刷出力する。
排紙部304は、印刷出力した紙を排出し、ソートやステイプルといった処理をする。
NetworkI/F305は、ネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行う。
ROM307は、本装置の各処理に関するプログラムやデータを記憶する。
書き換え可能なRAM308は、本装置の各処理に関する一時的なデータを電気的に記憶する。
HDD309は、本装置の各処理に関するプログラムやデータ、一時的なデータ及び本装置へ送信されてきたユーザデータ等を記憶する。
操作部310は、本装置への指示入力を受け付ける。
表示部311は、本装置の動作状況及び操作部310に対する操作に関する情報を表示する。
以上の各構成要素は、システムバス312により相互に接続され、データのやりとりをする。
なお、画像形成装置自身が監視のための情報を送信する機能を持つ画像形成装置131は、ROM307又はHDD309内に監視データ送信処理に関するプログラムやデータ等を保持している。
図4に示されるクライアントモジュール313は、画像形成装置内のモジュールである。クライアントモジュール313は、配信サーバ133からファームウェアをダウンロードし、画像形成装置にインストールする。また、CPU306が、HDD309に記憶されたクライアントモジュール313のプログラムを実行することによって、クライアントモジュール313が実現される。
より具体的には、画像形成装置の一例として、プリンタ及びファクシミリ機能が統合的に設けられた複合機、PC等からデータを受信し印刷するプリンタ(電子写真方式及びインクジェット方式を含む)、スキャナー、ファクシミリ等が挙げられる。図3では、画像形成装置の一例である複合機の構成を示している。
CPU306は、HDD309等に格納されているプログラムに基づいて処理を実行することにより、後述する画像形成装置の機能(ソフトウェアの機能)及び画像形成装置に関するフローチャートに係る処理を実現する。また、CPU306は、画像形成装置の動作状態を監視し、障害等の特定のイベントが発生した場合には、その状態を示す状態情報を、予め定めた宛先へ送信する。宛先とは、例えば、監視センタホスト111や監視装置等である。
イメージリーダ302は、原稿給送部301で原稿を読み込む。
画像形成部303は、イメージリーダ302で読み込んだ原稿やネットワーク経由で受信したデータを印刷画像に変換及び印刷出力する。
排紙部304は、印刷出力した紙を排出し、ソートやステイプルといった処理をする。
NetworkI/F305は、ネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行う。
ROM307は、本装置の各処理に関するプログラムやデータを記憶する。
書き換え可能なRAM308は、本装置の各処理に関する一時的なデータを電気的に記憶する。
HDD309は、本装置の各処理に関するプログラムやデータ、一時的なデータ及び本装置へ送信されてきたユーザデータ等を記憶する。
操作部310は、本装置への指示入力を受け付ける。
表示部311は、本装置の動作状況及び操作部310に対する操作に関する情報を表示する。
以上の各構成要素は、システムバス312により相互に接続され、データのやりとりをする。
なお、画像形成装置自身が監視のための情報を送信する機能を持つ画像形成装置131は、ROM307又はHDD309内に監視データ送信処理に関するプログラムやデータ等を保持している。
図4に示されるクライアントモジュール313は、画像形成装置内のモジュールである。クライアントモジュール313は、配信サーバ133からファームウェアをダウンロードし、画像形成装置にインストールする。また、CPU306が、HDD309に記憶されたクライアントモジュール313のプログラムを実行することによって、クライアントモジュール313が実現される。
図5は、監視センタホスト111及び配信サーバ133における通信部分のソフトウェア構成の一例を示す図である。
SOAP通信部401は、監視装置117、122、123又は画像形成装置131よりNetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部402に送信する。また、SOAP通信部401は、SOAPメッセージ作成部403で作成されたSOAPデータをNetworkI/F208を介して監視装置117、122、123又は画像形成装置131に送信する。
収集情報処理部404は、監視装置117、122、123又は画像形成装置131から受信した情報を、そのまま又は加工した状態で、データベースアクセス部406を介してデータベース112又はデータベース134に格納する。
監視センタホスト111における監視制御部405は、監視装置117、122、123又は画像形成装置131のスケジュール管理等の制御を行なう。配信サーバ133における監視制御部405は、監視装置117、122、123又は画像形成装置131のポーリング処理等の制御を行う。
SOAP通信部401は、監視装置117、122、123又は画像形成装置131よりNetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部402に送信する。また、SOAP通信部401は、SOAPメッセージ作成部403で作成されたSOAPデータをNetworkI/F208を介して監視装置117、122、123又は画像形成装置131に送信する。
収集情報処理部404は、監視装置117、122、123又は画像形成装置131から受信した情報を、そのまま又は加工した状態で、データベースアクセス部406を介してデータベース112又はデータベース134に格納する。
監視センタホスト111における監視制御部405は、監視装置117、122、123又は画像形成装置131のスケジュール管理等の制御を行なう。配信サーバ133における監視制御部405は、監視装置117、122、123又は画像形成装置131のポーリング処理等の制御を行う。
図6は、監視装置117、122、123又は画像形成装置131における通信部分のソフトウェア構成の一例を示す図である。
SOAP通信部501は、監視センタホスト111又は配信サーバ133からNetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部503に送信する。また、SOAP通信部501は、SOAPメッセージ作成部502で作成されたSOAPデータをNetworkI/F208を介して監視センタホスト111又は配信サーバ133に送信する。
監視制御部504は、情報蓄積部で保持されている監視画像形成装置の情報の更新や、画像形成装置115、116の情報取得等を行なう。
デバイス情報処理部505は、画像形成装置の稼働情報を情報蓄積部506に蓄積する。
情報蓄積部506は、蓄積したデータを、デバイス情報処理部505を介してそのままSOAPメッセージ作成部502に送信する。また、SOAPメッセージ作成部502は、デバイス情報処理部505を介して情報蓄積部506から受信したデータをSOAP通信部501と、NetworkI/F208とを介して監視センタホスト111、配信サーバ133へ送信する。
SOAP通信部501は、監視センタホスト111又は配信サーバ133からNetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部503に送信する。また、SOAP通信部501は、SOAPメッセージ作成部502で作成されたSOAPデータをNetworkI/F208を介して監視センタホスト111又は配信サーバ133に送信する。
監視制御部504は、情報蓄積部で保持されている監視画像形成装置の情報の更新や、画像形成装置115、116の情報取得等を行なう。
デバイス情報処理部505は、画像形成装置の稼働情報を情報蓄積部506に蓄積する。
情報蓄積部506は、蓄積したデータを、デバイス情報処理部505を介してそのままSOAPメッセージ作成部502に送信する。また、SOAPメッセージ作成部502は、デバイス情報処理部505を介して情報蓄積部506から受信したデータをSOAP通信部501と、NetworkI/F208とを介して監視センタホスト111、配信サーバ133へ送信する。
図7は、監視センタホスト111、配信サーバ133、監視装置117、122、123又は各画像形成装置におけるメモリマップの構造の一例を示す図である。
より具体的には、図7は、監視センタホスト111、配信サーバ133、監視装置117、122、123のCPU201がプログラムを実行する際に、RAM203上にプログラムをロードしたメモリマップの構造の一例を示す図である。また、同様に、図7は、各画像形成装置のCPU306がプログラムを実行する際に、RAM308上にプログラムをロードしたメモリマップの構造の一例を示す図である。
本実施形態におけるメモリマップは、基本I/Oプログラム601、システム・プログラム602、本実施形態のプログラムを初めとする各種処理プログラム603、関連データを格納するエリア604及びプログラムのワークエリア605を含む。
基本I/Oプログラム601は、本装置上の入出力を司る。
システム・プログラム602は、各処理プログラムに動作環境を提供する。
より具体的には、図7は、監視センタホスト111、配信サーバ133、監視装置117、122、123のCPU201がプログラムを実行する際に、RAM203上にプログラムをロードしたメモリマップの構造の一例を示す図である。また、同様に、図7は、各画像形成装置のCPU306がプログラムを実行する際に、RAM308上にプログラムをロードしたメモリマップの構造の一例を示す図である。
本実施形態におけるメモリマップは、基本I/Oプログラム601、システム・プログラム602、本実施形態のプログラムを初めとする各種処理プログラム603、関連データを格納するエリア604及びプログラムのワークエリア605を含む。
基本I/Oプログラム601は、本装置上の入出力を司る。
システム・プログラム602は、各処理プログラムに動作環境を提供する。
図8は、配信サーバ133によるファームウェアの配信概念の一例を示す図である。
前提として、配信サーバ133で画像形成装置のファームウェアのアップデートを行う場合、ユーザは、図9A、9Bに示される配信サーバ133のWeb画面から予約設定する。より具体的には、ユーザは、配信対象の画像形成装置を指定し、配信日時、配信予約時間等を予約設定して、インターネット経由で配信を行う。
図9Aは、配信サーバ133の配信予約画面の一例を示す図である。
1401は、配信サーバのWeb画面であり、配信予約画面の一例である。
1402は、画像形成装置IDである。
1403は、画像形成装置の現在のファームウェアバージョンである。
1404は、配信予約における配信日である。
1405は、配信可能な曜日である。
1406は、配信時刻(From)であり、配信開始時刻である。
1407は、配信時刻(To)であり、配信終了時刻である。なお、配信予約時間とは、配信開始時刻である配信時刻1406と、配信終了時刻である配信時刻1407とを含む。
1408は、配信するファームウェアのバージョンである。
1409は、OKボタンである。ユーザは、OKボタンを押下することで配信予約を登録する。
1410は、キャンセルボタンである。ユーザは、キャンセルボタンを押下することで配信予約をキャンセルする。
前提として、配信サーバ133で画像形成装置のファームウェアのアップデートを行う場合、ユーザは、図9A、9Bに示される配信サーバ133のWeb画面から予約設定する。より具体的には、ユーザは、配信対象の画像形成装置を指定し、配信日時、配信予約時間等を予約設定して、インターネット経由で配信を行う。
図9Aは、配信サーバ133の配信予約画面の一例を示す図である。
1401は、配信サーバのWeb画面であり、配信予約画面の一例である。
1402は、画像形成装置IDである。
1403は、画像形成装置の現在のファームウェアバージョンである。
1404は、配信予約における配信日である。
1405は、配信可能な曜日である。
1406は、配信時刻(From)であり、配信開始時刻である。
1407は、配信時刻(To)であり、配信終了時刻である。なお、配信予約時間とは、配信開始時刻である配信時刻1406と、配信終了時刻である配信時刻1407とを含む。
1408は、配信するファームウェアのバージョンである。
1409は、OKボタンである。ユーザは、OKボタンを押下することで配信予約を登録する。
1410は、キャンセルボタンである。ユーザは、キャンセルボタンを押下することで配信予約をキャンセルする。
図9Bは、図9Aとは別の内容の配信サーバ133の配信予約画面の一例を示す図である。より具体的には、図9Aは配信日1404が設定されているのに対し、図9Bは配信可能曜日1505が設定されている点が異なる。
1501は、配信サーバのWeb画面であり、配信予約画面の一例である。
1502は、画像形成装置IDである。
1503は、画像形成装置の現在のファームウェアバージョンである。
1504は、配信予約における配信日である。
1505は、配信可能な曜日である。
1506は、配信時刻(From)であり、配信開始時刻である。
1507は、配信時刻(To)であり、配信終了時刻である。
1508は、配信するファームウェアのバージョンである。
1509は、OKボタンである。ユーザは、OKボタンを押下することで配信予約を登録する。
1510は、キャンセルボタンである。ユーザは、キャンセルボタンを押下することで配信予約をキャンセルする。
1501は、配信サーバのWeb画面であり、配信予約画面の一例である。
1502は、画像形成装置IDである。
1503は、画像形成装置の現在のファームウェアバージョンである。
1504は、配信予約における配信日である。
1505は、配信可能な曜日である。
1506は、配信時刻(From)であり、配信開始時刻である。
1507は、配信時刻(To)であり、配信終了時刻である。
1508は、配信するファームウェアのバージョンである。
1509は、OKボタンである。ユーザは、OKボタンを押下することで配信予約を登録する。
1510は、キャンセルボタンである。ユーザは、キャンセルボタンを押下することで配信予約をキャンセルする。
701、702及び703は、顧客に設置された画像形成装置の台数及びネットワーク環境を示す。
133は、配信サーバを示す。
132は、インターネットを示す。
704、705及び706は、画像形成装置に対する配信サーバ133のファームウェアの配信方法を示している。
704の場合、顧客701の配信台数は100台であり、通信速度は100Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、通常の配信で問題なしと判断する。なお、通信速度は、ネットワーク環境情報に含まれる情報の一例である。
705の場合、顧客702の配信台数は200台であり、通信速度は50Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、通常の配信で問題なしと判断する。
706の場合、顧客703の配信台数は700台であり、通信速度は10Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、配信台数が大量であるにもかかわらず、通信速度が遅いため、通常の配信では行えないと判断する。そこで、配信サーバ133は、再スケジュール及び動的配信への切り替え処理を行う。ここで、動的配信とは、画像形成装置と配信サーバ133との間においてポーリングを伴う配信のことである。詳細については、後述の図15等で説明する。
133は、配信サーバを示す。
132は、インターネットを示す。
704、705及び706は、画像形成装置に対する配信サーバ133のファームウェアの配信方法を示している。
704の場合、顧客701の配信台数は100台であり、通信速度は100Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、通常の配信で問題なしと判断する。なお、通信速度は、ネットワーク環境情報に含まれる情報の一例である。
705の場合、顧客702の配信台数は200台であり、通信速度は50Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、通常の配信で問題なしと判断する。
706の場合、顧客703の配信台数は700台であり、通信速度は10Mbpsである。この場合、配信サーバ133は、通信速度と、配信予約時間とを検証し、配信台数が大量であるにもかかわらず、通信速度が遅いため、通常の配信では行えないと判断する。そこで、配信サーバ133は、再スケジュール及び動的配信への切り替え処理を行う。ここで、動的配信とは、画像形成装置と配信サーバ133との間においてポーリングを伴う配信のことである。詳細については、後述の図15等で説明する。
図10は、本実施形態におけるファームウェアの配信予約内容、ファームウェア配信の前倒し処理及び後ろ倒し処理の一例を示す図である。
配信予約内容801は、配信サーバ133による配信予約内容が毎週土日の0:00−6:00に1画像形成装置当たり400秒間隔で予約されていることを示している。この場合、ユーザは、図9A、9Bに示される予約内容で、配信サーバ133のWeb画面を使用して予約を登録する。
配信サーバ133は、1画像形成装置当たり400秒間隔で予約する判断を図11に示される通信テストのログ情報から求める。
図11は、配信サーバ133のデータベース134に登録されている通信テストのログの一例である。
1702は、通像形成装置IDである。
1703は、画像形成装置の機種名である。
1704は、画像形成装置の現在のファームウェアのバージョンである。
1705は、通信速度である。
1706は、グローバルIPアドレスである。配信サーバ133のCPU201は、グローバルIPアドレスを、TCP/IPのリクエスト元からのヘッダ情報より、取得する。なお、グローバルIPアドレスは、ネットワーク上での画像形成装置のアドレス情報であり、画像形成装置を識別する識別情報の一例である。
配信予約内容801は、配信サーバ133による配信予約内容が毎週土日の0:00−6:00に1画像形成装置当たり400秒間隔で予約されていることを示している。この場合、ユーザは、図9A、9Bに示される予約内容で、配信サーバ133のWeb画面を使用して予約を登録する。
配信サーバ133は、1画像形成装置当たり400秒間隔で予約する判断を図11に示される通信テストのログ情報から求める。
図11は、配信サーバ133のデータベース134に登録されている通信テストのログの一例である。
1702は、通像形成装置IDである。
1703は、画像形成装置の機種名である。
1704は、画像形成装置の現在のファームウェアのバージョンである。
1705は、通信速度である。
1706は、グローバルIPアドレスである。配信サーバ133のCPU201は、グローバルIPアドレスを、TCP/IPのリクエスト元からのヘッダ情報より、取得する。なお、グローバルIPアドレスは、ネットワーク上での画像形成装置のアドレス情報であり、画像形成装置を識別する識別情報の一例である。
本実施形態では、配信サーバ133は、ファームウェアのファイルサイズをMB(MegaByte)で計算する。また、配信サーバ133は、通信速度をMbps(Megabitpersecond)で計算する。また、配信サーバ133は、Mbps(Megabitpersecond)をMB/Sec(MegaBytepersecond)に変換する際に以下の式1を使用する。
<式1>
1Mbps=0.125MB/Sec
1画像形成装置に要するファームウェアのダウンロード時間は以下の式2となる。
<式2>
1画像形成装置に要するファームウェアダウンロード時間(Sec)=ファイルサイズ(MB)/(0.125×通信速度(Mbps))
例えば、500MBのファームウェアを、10Mbpsの通信速度で転送する場合、式2を使用すると、以下のように400秒となる。
400(Sec)=500(MB)/(0.125×10(Mbps))
本実施形態では、配信サーバ133は、同一グローバルIPアドレス上の画像形成装置で、かつ、同一機種について配信予約を行う。
<式1>
1Mbps=0.125MB/Sec
1画像形成装置に要するファームウェアのダウンロード時間は以下の式2となる。
<式2>
1画像形成装置に要するファームウェアダウンロード時間(Sec)=ファイルサイズ(MB)/(0.125×通信速度(Mbps))
例えば、500MBのファームウェアを、10Mbpsの通信速度で転送する場合、式2を使用すると、以下のように400秒となる。
400(Sec)=500(MB)/(0.125×10(Mbps))
本実施形態では、配信サーバ133は、同一グローバルIPアドレス上の画像形成装置で、かつ、同一機種について配信予約を行う。
配信サーバ133は、図11に示される通信テストのログに登録されている通信速度1705を使用して、以下の式3より同一グローバルIPアドレス上の画像形成装置で平均通信速度を求める。
<式3>
平均通信速度(Mbps)=全画像形成装置の通信速度(Mbps)の合計値/画像形成装置の台数(台)
配信サーバ133は、式3において、同一グローバルIPアドレス上の画像形成装置の判断を図11に示されるグローバルIPアドレス1706から判断する。また、配信サーバ133は、同一機種の判断を図11の機種名1703から判断する。
次に、配信サーバ133は、式3で求めた平均通信速度を、以下の式4に代入してダウンロード平均時間を求める。
<式4>
ダウンロード平均時間(Sec)=配信するファームウェアのサイズ(MB)/(0.125×平均通信速度(Mbps))
<式3>
平均通信速度(Mbps)=全画像形成装置の通信速度(Mbps)の合計値/画像形成装置の台数(台)
配信サーバ133は、式3において、同一グローバルIPアドレス上の画像形成装置の判断を図11に示されるグローバルIPアドレス1706から判断する。また、配信サーバ133は、同一機種の判断を図11の機種名1703から判断する。
次に、配信サーバ133は、式3で求めた平均通信速度を、以下の式4に代入してダウンロード平均時間を求める。
<式4>
ダウンロード平均時間(Sec)=配信するファームウェアのサイズ(MB)/(0.125×平均通信速度(Mbps))
配信サーバ133は、式4において、配信するファームウェアのサイズを図12Aに示される機種マスタのファイルサイズ1804から求める。
図12Aは、配信サーバ133のデータベース134に登録されている機種マスタの一例を示す図である。
1801は、機種マスタである。
1802は、画像形成装置の機種名である。
1803は、ファームウェアのバージョンである。
1804は、ファームウェアのファイルサイズである。
また、図12Bは、図12Aに示される機種名と、画像形成装置IDと、顧客名と、グローバルIPアドレスとを対応付けた顧客マスタの一例を示す図である。
1806は、画像形成装置IDである。
1807は、顧客名である。
1808は、グローバルIPアドレスである。
1809は、機種名である。
配信予約内容801の場合、配信サーバ133は、式4によりダウンロード平均時間を400秒と求めたので、400秒間隔で配信予約を行う。また、配信サーバ133は、後述する図15における配信予約において、以下の式5を用いて配信予約可能時間を計算する。
<式5>
配信予約可能時間(Sec)>ダウンロード平均時間(Sec)×配信予約台数(台)
図12Aは、配信サーバ133のデータベース134に登録されている機種マスタの一例を示す図である。
1801は、機種マスタである。
1802は、画像形成装置の機種名である。
1803は、ファームウェアのバージョンである。
1804は、ファームウェアのファイルサイズである。
また、図12Bは、図12Aに示される機種名と、画像形成装置IDと、顧客名と、グローバルIPアドレスとを対応付けた顧客マスタの一例を示す図である。
1806は、画像形成装置IDである。
1807は、顧客名である。
1808は、グローバルIPアドレスである。
1809は、機種名である。
配信予約内容801の場合、配信サーバ133は、式4によりダウンロード平均時間を400秒と求めたので、400秒間隔で配信予約を行う。また、配信サーバ133は、後述する図15における配信予約において、以下の式5を用いて配信予約可能時間を計算する。
<式5>
配信予約可能時間(Sec)>ダウンロード平均時間(Sec)×配信予約台数(台)
前倒し802は、配信サーバ133によるファームウェアの配信処理において、直近の一時間の配信で、平均200秒で処理できたことを示している。配信サーバ133は、計測方法として、ファームウェアの配信開始時間から終了時間までを計測し、その差分から上記の時間を求めている。
図13に示されるクライアントモジュール313と、配信サーバ133とのシーケンスにおいて、配信サーバ133は、クライアントモジュール313によるファーム配信情報要求905から受信完了通知907までの時間を配信の所要時間としている。なお、図13の詳細な説明については、後述する。
配信サーバ133は、図14A、図14Bに示される配信スケジュールの配信結果1607に示される各画像形成装置への配信に要した時間である配信結果をデータベース134に格納する。
図13に示されるクライアントモジュール313と、配信サーバ133とのシーケンスにおいて、配信サーバ133は、クライアントモジュール313によるファーム配信情報要求905から受信完了通知907までの時間を配信の所要時間としている。なお、図13の詳細な説明については、後述する。
配信サーバ133は、図14A、図14Bに示される配信スケジュールの配信結果1607に示される各画像形成装置への配信に要した時間である配信結果をデータベース134に格納する。
図14A、図14Bは、配信サーバ133のデータベース134に登録されている配信スケジュールの一例を示す図である。
1601は、配信スケジュールのマスタ(1)である。1602は、画像形成装置IDである。1603は、配信開始時刻である。1604は、予約IDである。1605は、ポーリング開始フラグである。1606は、配信中止フラグである。1607は、配信結果である。1608は、配信スケジュールのマスタ(2)である。なお、1608のマスタは、予約ID1604毎に保持される。1609は、配信終了時刻である。1610は、ポーリングを行う時間的な間隔を示すポーリング間隔である。なお、ポーリング間隔は、問い合わせ間隔を示す時間情報の一例である。1611は、閾値である。1612は、配信想定時間である。1613は、配信可能曜日である。
1601は、配信スケジュールのマスタ(1)である。1602は、画像形成装置IDである。1603は、配信開始時刻である。1604は、予約IDである。1605は、ポーリング開始フラグである。1606は、配信中止フラグである。1607は、配信結果である。1608は、配信スケジュールのマスタ(2)である。なお、1608のマスタは、予約ID1604毎に保持される。1609は、配信終了時刻である。1610は、ポーリングを行う時間的な間隔を示すポーリング間隔である。なお、ポーリング間隔は、問い合わせ間隔を示す時間情報の一例である。1611は、閾値である。1612は、配信想定時間である。1613は、配信可能曜日である。
配信サーバ133は、前倒し802の場合、配信予約内容が400秒間隔のままでは無駄が生じるので、配信間隔を200秒間隔で前倒しする。そして、配信サーバ133は、終了時刻804までに予約を入れる余裕があれば、次週にスケジューリングされている予約を詰め込む。つまり、配信サーバ133は、配信対象の画像形成装置の台数を最初の予約に追加して処理を行う。
後倒し803は、配信サーバ133によるファームウェアの配信処理において、直近の一時間の配信で、平均600秒で処理できたことを示している。この場合、配信サーバ133は、配信予約内容の400秒間隔のままでは終了時刻804までに配信を完了できないため、配信間隔を600秒間隔で後倒しする。そして、配信サーバ133は、終了時刻804までに完了できない予約は、次週にスライドさせるか、キャンセルする。つまり、配信サーバ133は、配信対象の画像形成装置の台数を最初の予約から削減して処理を行う。
なお、後倒し803の場合、配信サーバ133によるファームウェアの配信が重複する時間帯がある。ファームウェアの配信が重複すると、単独で実行するのと比べて転送に時間がかかる。そのため、配信サーバ133によるファームウェアの配信が、平均600秒であったとしても、単独のファームウェアダウンロード時間は600秒より短くなる。しかし、そのずれは、配信サーバ133により再スケジュールが繰り返される中で補正されるので、本実施形態では重複する時間帯は考慮しない。
以上、上述したように、配信サーバ133は、ファームウェアを配信した際の配信所要時間によって、前倒し802や後倒し803のようにファームウェアを配信するスケジュールを変動させる。
後倒し803は、配信サーバ133によるファームウェアの配信処理において、直近の一時間の配信で、平均600秒で処理できたことを示している。この場合、配信サーバ133は、配信予約内容の400秒間隔のままでは終了時刻804までに配信を完了できないため、配信間隔を600秒間隔で後倒しする。そして、配信サーバ133は、終了時刻804までに完了できない予約は、次週にスライドさせるか、キャンセルする。つまり、配信サーバ133は、配信対象の画像形成装置の台数を最初の予約から削減して処理を行う。
なお、後倒し803の場合、配信サーバ133によるファームウェアの配信が重複する時間帯がある。ファームウェアの配信が重複すると、単独で実行するのと比べて転送に時間がかかる。そのため、配信サーバ133によるファームウェアの配信が、平均600秒であったとしても、単独のファームウェアダウンロード時間は600秒より短くなる。しかし、そのずれは、配信サーバ133により再スケジュールが繰り返される中で補正されるので、本実施形態では重複する時間帯は考慮しない。
以上、上述したように、配信サーバ133は、ファームウェアを配信した際の配信所要時間によって、前倒し802や後倒し803のようにファームウェアを配信するスケジュールを変動させる。
図13は、クライアントモジュール313と、配信サーバ133との通信シーケンスの一例を示す図である。
外部サーバ107は、ファームウェアの配信を高速に行うためのサーバであり、Webコンテンツをインターネット経由で配信するために最適化されたネットワークを持つ。
クライアントモジュール313は、配信サーバ133のデータベース134に登録されている配信スケジュール(図14A、図14B)の確認のために配信情報要求903を行う。なお、クライアントモジュール313は、1日に1回の定期的なタイミングで配信サーバ133に配信情報要求903の問い合わせを行う。
配信サーバ133は、配信スケジュールがある場合、クライアントモジュール313からの配信情報要求903に対する応答として、配信開始時刻1603と、ポーリング開始フラグ1605との情報を返信する。なお、クライアントモジュール313が前記ファームウェアの配信スケジュールを受信する処理は、配信スケジュール受信処理の一例である。なお、配信開始時刻1603と、ポーリング開始フラグ1605とは、図14Aの配信スケジュールに含まれている。前記配信スケジュールの情報は、配信サーバ133のデータベース134に登録されている。
ポーリング開始フラグ1605がOFFの場合、クライアントモジュール313は、配信情報要求903の応答として指定された配信開始時刻1603になると、予約情報確認904を実行する。一方、ポーリング開始フラグ1605がONの場合、クライアントモジュール313は、予約情報確認904をデフォルトのポーリング間隔で実行する。なお、本実施形態におけるデフォルトのポーリング間隔は、3600秒とする。
上述のように、クライアントモジュール313は、配信サーバ133に対して予約情報確認904を行う。そして、配信サーバ133は、予約情報確認904の応答として、配信開始時刻1603、配信中止フラグ1606、及びポーリング間隔1610をクライアントモジュール313に返信する。
外部サーバ107は、ファームウェアの配信を高速に行うためのサーバであり、Webコンテンツをインターネット経由で配信するために最適化されたネットワークを持つ。
クライアントモジュール313は、配信サーバ133のデータベース134に登録されている配信スケジュール(図14A、図14B)の確認のために配信情報要求903を行う。なお、クライアントモジュール313は、1日に1回の定期的なタイミングで配信サーバ133に配信情報要求903の問い合わせを行う。
配信サーバ133は、配信スケジュールがある場合、クライアントモジュール313からの配信情報要求903に対する応答として、配信開始時刻1603と、ポーリング開始フラグ1605との情報を返信する。なお、クライアントモジュール313が前記ファームウェアの配信スケジュールを受信する処理は、配信スケジュール受信処理の一例である。なお、配信開始時刻1603と、ポーリング開始フラグ1605とは、図14Aの配信スケジュールに含まれている。前記配信スケジュールの情報は、配信サーバ133のデータベース134に登録されている。
ポーリング開始フラグ1605がOFFの場合、クライアントモジュール313は、配信情報要求903の応答として指定された配信開始時刻1603になると、予約情報確認904を実行する。一方、ポーリング開始フラグ1605がONの場合、クライアントモジュール313は、予約情報確認904をデフォルトのポーリング間隔で実行する。なお、本実施形態におけるデフォルトのポーリング間隔は、3600秒とする。
上述のように、クライアントモジュール313は、配信サーバ133に対して予約情報確認904を行う。そして、配信サーバ133は、予約情報確認904の応答として、配信開始時刻1603、配信中止フラグ1606、及びポーリング間隔1610をクライアントモジュール313に返信する。
クライアントモジュール313は、ファームウェアの配信を要求するためにファーム配信情報要求905を配信サーバ133に行う。なお、ポーリング開始フラグ1605がOFFの場合、クライアントモジュール313は、予約情報確認904の後にファーム配信情報要求905を実行する。一方、ポーリング開始フラグ1605がONの場合、クライアントモジュール313は、現在時刻が配信開始時刻1603になった場合にファーム配信情報要求905を実行する。
配信サーバ133は、ファーム配信情報要求905の応答として、ダウンロード先URLリストをクライアントモジュール313に返信する。ここで、ダウンロード先URLリストは、ファームウェアの格納場所情報の一例である。
クライアントモジュール313は、配信サーバ133よりダウンロード先URLリストを受信する。なお、本処理は、クライアントモジュール313による格納場所情報受信処理の一例である。クライアントモジュール313は、外部サーバ107と通信し、ダウンロード先URLリストに基づいたファーム配信要求906を行う。
外部サーバ107は、クライアントモジュール313からのファーム配信要求906に対する応答として、ダウンロード先URLリストに指定されているファームウェアを送信する。
クライアントモジュール313は、ファームウェアを受信すると、ファームウェア受信通知として受信完了通知907を配信サーバ133に送信する。
配信サーバ133は、ファーム配信情報要求905の応答として、ダウンロード先URLリストをクライアントモジュール313に返信する。ここで、ダウンロード先URLリストは、ファームウェアの格納場所情報の一例である。
クライアントモジュール313は、配信サーバ133よりダウンロード先URLリストを受信する。なお、本処理は、クライアントモジュール313による格納場所情報受信処理の一例である。クライアントモジュール313は、外部サーバ107と通信し、ダウンロード先URLリストに基づいたファーム配信要求906を行う。
外部サーバ107は、クライアントモジュール313からのファーム配信要求906に対する応答として、ダウンロード先URLリストに指定されているファームウェアを送信する。
クライアントモジュール313は、ファームウェアを受信すると、ファームウェア受信通知として受信完了通知907を配信サーバ133に送信する。
図15は、配信サーバ133のCPU201による配信予約受付処理の一例を示すフローチャートである。
S1001で、CPU201は、ファームウェアの配信予約を実行し、処理をS1002に進める。より具体的には、CPU201は、図9A、図9Bに示されるWeb画面上からのユーザの操作による配信予約を受け付ける。CPU201は、図16A、図16Bに示されるフォーマットで配信予約を配信サーバ133のHDD204に格納する。
図16A、図16Bは、配信データのデータフォーマットの一例を示す図である。
1901は、配信登録データのフォーマットである。
1902は、配信予約情報10001111である。
CPU201は、図16Aに示されたデータのうち、機種名、画像形成装置ID、グローバルIPアドレス、現在のバージョン及び通信速度の情報を、画像形成装置が配信サーバ133にアクセスした際の通信テストログ(図11)から取得する。なお、CPU201は、図16Aに示されるデータのうち上記以外のデータを、ユーザによる図9A、9Bに示される画面の入力操作から取得する。また、CPU201は、ユーザにより配信予約が入力されると、ユニークなIDである予約IDを生成し、配信予約に関わる情報を前記予約IDと関連づけて管理する。
S1002で、CPU201は、配信予約対象の画像形成装置のグローバルIPアドレスより、1顧客における画像形成装置の台数を割り出し、処理をS1003に進める。なお、顧客毎の画像形成装置の台数確認は、同一機種、同一グローバルIPアドレスの台数確認に等しい。CPU201は、S1001の処理において配信日、配信時刻(From)及び配信時刻(To)が入力された画像形成装置の数をカウントすることにより1顧客における画像形成装置の台数を割り出す。
S1001で、CPU201は、ファームウェアの配信予約を実行し、処理をS1002に進める。より具体的には、CPU201は、図9A、図9Bに示されるWeb画面上からのユーザの操作による配信予約を受け付ける。CPU201は、図16A、図16Bに示されるフォーマットで配信予約を配信サーバ133のHDD204に格納する。
図16A、図16Bは、配信データのデータフォーマットの一例を示す図である。
1901は、配信登録データのフォーマットである。
1902は、配信予約情報10001111である。
CPU201は、図16Aに示されたデータのうち、機種名、画像形成装置ID、グローバルIPアドレス、現在のバージョン及び通信速度の情報を、画像形成装置が配信サーバ133にアクセスした際の通信テストログ(図11)から取得する。なお、CPU201は、図16Aに示されるデータのうち上記以外のデータを、ユーザによる図9A、9Bに示される画面の入力操作から取得する。また、CPU201は、ユーザにより配信予約が入力されると、ユニークなIDである予約IDを生成し、配信予約に関わる情報を前記予約IDと関連づけて管理する。
S1002で、CPU201は、配信予約対象の画像形成装置のグローバルIPアドレスより、1顧客における画像形成装置の台数を割り出し、処理をS1003に進める。なお、顧客毎の画像形成装置の台数確認は、同一機種、同一グローバルIPアドレスの台数確認に等しい。CPU201は、S1001の処理において配信日、配信時刻(From)及び配信時刻(To)が入力された画像形成装置の数をカウントすることにより1顧客における画像形成装置の台数を割り出す。
S1003で、CPU201は、クライアントモジュール313と、配信サーバ133と間で実施した通信テストのログ(図11)から、顧客環境の通信速度を割り出し、処理をS1004に進める。なお、通信テストとは、画像形成装置と、配信サーバ133とを接続する際のテストである。CPU201は、図11に示されるような通信テストが行われた際のログをデータベース134に保持している。また、通信テストのログ情報は、上述したように図16Bに示されるようなフォーマットでCPU201によりHDD204に格納されている配信予約情報に含まれる。CPU201は、通信テストで1MBのファイルの授受を行うため、その通信時間から画像形成装置個別の通信速度を求めることができる。更に、CPU201は、S1001の処理において配信日、配信時刻(From)、配信時刻(To)が入力された画像形成装置に関連する同一ネットワーク内の通信速度を平均する。例えば、図16Bに示される配信予約情報の場合、配信対象の画像形成装置の各々の通信速度は、10.00MBps、11.00MBps、11.00MBpsなので、CPU201は、平均の通信速度を10.66MBpsと求める。
S1004で、CPU201は、S1001で配信予約された画像形成装置に対し、式5を用いて配信予約可能時間を計算し、処理をS1005に進める。例えば、CPU201は、1000台の画像形成装置を10Mbpsの顧客環境で配信予約する場合、1ファームセット(約500MB)の配信時間は400秒なので、配信予約可能時間を40万秒=111時間と計算する。ここで、配信予約可能時間は、配信対象の全画像形成装置に対する配信想定時間の一例である。
S1004で、CPU201は、S1001で配信予約された画像形成装置に対し、式5を用いて配信予約可能時間を計算し、処理をS1005に進める。例えば、CPU201は、1000台の画像形成装置を10Mbpsの顧客環境で配信予約する場合、1ファームセット(約500MB)の配信時間は400秒なので、配信予約可能時間を40万秒=111時間と計算する。ここで、配信予約可能時間は、配信対象の全画像形成装置に対する配信想定時間の一例である。
S1005で、CPU201は、配信予約時間以内にファームウェアを配信可能か否か判断し、配信可能と判断すれば処理をS1006に進め、配信不可能と判断すれば処理をS1007に進める。なお、本処理は、CPU201による配信可否判断処理の一例である。より具体的には、CPU201は、S1001で配信予約した配信予約時間が、S1004で計算した配信予約可能時間よりも長ければ配信可能と判断し、短ければ配信不可能と判断する。例えば、ユーザが、図9Aに示されるように配信日1404、配信時刻(From)1406及び配信時刻(To)1407を設定した場合、CPU201は、配信予約した時間(1406〜1407)が、配信予約可能時間よりも長いと判断する。一方、ユーザが、図9Bに示されるように配信可能曜日1505を設定した場合、CPU201は、単に配信可能と判断する。
S1007で、CPU201は、新たに配信可能な時間帯の入力を指示し、処理をS1008に進める。より具体的には、ユーザは、CPU201がS1004で計算した配信予約可能時間よりも長い時間で配信予約時間を入力設定する。
S1008で、CPU201は、ユーザから再入力された配信予約に対して配信予約可能時間を計算し、処理をS1009に進める。なお、CPU201による計算方法は、S1004と同様である。
S1007で、CPU201は、新たに配信可能な時間帯の入力を指示し、処理をS1008に進める。より具体的には、ユーザは、CPU201がS1004で計算した配信予約可能時間よりも長い時間で配信予約時間を入力設定する。
S1008で、CPU201は、ユーザから再入力された配信予約に対して配信予約可能時間を計算し、処理をS1009に進める。なお、CPU201による計算方法は、S1004と同様である。
S1009で、CPU201は、S1008で計算した時間で配信可能か否かを判断すし、配信可能と判断すれば処理をS1010に進め、配信不可能と判断すれば処理をS1007に進める。なお、ここでのCPU201による判断方法は、S1005と同様であるため説明を省略する。
S1010で、CPU201は、画像形成装置にポーリング指示をかけるため、ポーリングフラグ設定をONにし、処理をS1011に進める。クライアントモジュール313は、CPU201によりポーリング開始フラグの属性がONと通知されると、定期的に配信サーバ133とポーリングを行う。なお、ポーリングメソッドは、予約情報確認904であり、クライアントモジュール313と、配信サーバ133とは、このメソッドを定期的に通信させることで、スケジュール変更に柔軟に対応する。本実施形態では、ポーリングがONにされたファームウェア配信を動的配信とし、ポーリングがOFFにされたファームウェアの配信を通常配信とする。
S1011で、CPU201は、ポーリングを伴う配信なので、動的配信として処理を行い、処理を終了する。
一方、S1006で、CPU201は、ポーリングを伴わない配信なので、通信処理として処理を行い、処理を終了する。
なお、CPU201は、図15に示される処理で設定した配信予約を、図14A、図14Bに示される配信スケジュールに反映させる。
S1010で、CPU201は、画像形成装置にポーリング指示をかけるため、ポーリングフラグ設定をONにし、処理をS1011に進める。クライアントモジュール313は、CPU201によりポーリング開始フラグの属性がONと通知されると、定期的に配信サーバ133とポーリングを行う。なお、ポーリングメソッドは、予約情報確認904であり、クライアントモジュール313と、配信サーバ133とは、このメソッドを定期的に通信させることで、スケジュール変更に柔軟に対応する。本実施形態では、ポーリングがONにされたファームウェア配信を動的配信とし、ポーリングがOFFにされたファームウェアの配信を通常配信とする。
S1011で、CPU201は、ポーリングを伴う配信なので、動的配信として処理を行い、処理を終了する。
一方、S1006で、CPU201は、ポーリングを伴わない配信なので、通信処理として処理を行い、処理を終了する。
なお、CPU201は、図15に示される処理で設定した配信予約を、図14A、図14Bに示される配信スケジュールに反映させる。
画像形成装置ID1602は、図9A、図9Bに示される配信予約画面でユーザにより配信対象として選択された画像形成装置に対応する。
配信開始時刻1603は、図9A、図9Bに示される配信予約画面でユーザにより入力された配信時刻(From)から配信時刻(To)までの間に、配信想定時間1612の間隔でCPU201によりシーケンシャルに設定される。
予約ID1604は、S1001でCPU201により生成される。
ポーリング開始フラグ1605は、CPU201による通常配信(S1006)の場合、OFFであるとし、CPU201による動的配信(S1011)の場合、ONであるとする。
配信中止フラグ1606は、デフォルトでOFFである。
配信結果1607は、外部サーバ107から画像形成装置にファームウェアが配信され、画像形成装置から配信サーバ133に受信完了通知907が通知された際に、CPU201が時間を計測し反映させた値である。
配信終了時刻1609は、図9A、図9Bに示される配信予約画面でユーザにより入力された配信時刻(To)とする。
ポーリング間隔1610は、デフォルトで3600秒である。
閾値1611は、+−100秒とし、固定の値である。
配信想定時間1612は、1画像形成装置に要すると想定されるファームウェアダウンロード時間である。なお、CPU201は、S1003で顧客環境の通信速度を求める過程で、上述した式2に基づいた計算により配信想定時間1612を得る。
配信可能曜日1613は、図9A、図9Bに示される配信予約画面でユーザにより配信可能曜日が入力された場合、CPU201によりその曜日が設定される。
配信開始時刻1603は、図9A、図9Bに示される配信予約画面でユーザにより入力された配信時刻(From)から配信時刻(To)までの間に、配信想定時間1612の間隔でCPU201によりシーケンシャルに設定される。
予約ID1604は、S1001でCPU201により生成される。
ポーリング開始フラグ1605は、CPU201による通常配信(S1006)の場合、OFFであるとし、CPU201による動的配信(S1011)の場合、ONであるとする。
配信中止フラグ1606は、デフォルトでOFFである。
配信結果1607は、外部サーバ107から画像形成装置にファームウェアが配信され、画像形成装置から配信サーバ133に受信完了通知907が通知された際に、CPU201が時間を計測し反映させた値である。
配信終了時刻1609は、図9A、図9Bに示される配信予約画面でユーザにより入力された配信時刻(To)とする。
ポーリング間隔1610は、デフォルトで3600秒である。
閾値1611は、+−100秒とし、固定の値である。
配信想定時間1612は、1画像形成装置に要すると想定されるファームウェアダウンロード時間である。なお、CPU201は、S1003で顧客環境の通信速度を求める過程で、上述した式2に基づいた計算により配信想定時間1612を得る。
配信可能曜日1613は、図9A、図9Bに示される配信予約画面でユーザにより配信可能曜日が入力された場合、CPU201によりその曜日が設定される。
図17は、配信サーバ133のCPU201による配信処理における前倒し及び後ろ倒し処理の一例を示すフローチャートである。
S1101で、CPU201は、配信予約されている画像形成装置のクライアントモジュール313から配信情報要求を受け付け、処理をS1102に進める。
S1102で、CPU201は、配信予約されている画像形成装置のクライアントモジュール313に対して、配信開始時刻1603及びポーリング開始フラグ1605を返信し、処理をS1103に進める。
S1103で、CPU201は、配信予約されている画像形成装置に対して配信処理を行い、処理をS1104に進める。S1103の処理の詳細については、図18のフローチャートを用いて後述する。
S1104で、CPU201は、図14A、図14Bの配信スケジュールを参照し、同一予約IDでの、本日分の配信が終了したか否かを判断し、終了したと判断すれば処理をS1119に進め、終了していないと判断すれば処理をS1105に進める。なお、図14A、図14Bに示される予約IDとは、ユーザが配信予約をする際に配信予約ごとに割り当てられるIDである。図9Bに示されるように、ユーザにより毎週土日0:00−6:00で配信予約された場合、CPU201は、全ての画像形成装置に配信が完了するまで予約IDを保持する。また、上述した図16Bの1902に示される配信予約情報10001111も、予約IDの一例である。
S1101で、CPU201は、配信予約されている画像形成装置のクライアントモジュール313から配信情報要求を受け付け、処理をS1102に進める。
S1102で、CPU201は、配信予約されている画像形成装置のクライアントモジュール313に対して、配信開始時刻1603及びポーリング開始フラグ1605を返信し、処理をS1103に進める。
S1103で、CPU201は、配信予約されている画像形成装置に対して配信処理を行い、処理をS1104に進める。S1103の処理の詳細については、図18のフローチャートを用いて後述する。
S1104で、CPU201は、図14A、図14Bの配信スケジュールを参照し、同一予約IDでの、本日分の配信が終了したか否かを判断し、終了したと判断すれば処理をS1119に進め、終了していないと判断すれば処理をS1105に進める。なお、図14A、図14Bに示される予約IDとは、ユーザが配信予約をする際に配信予約ごとに割り当てられるIDである。図9Bに示されるように、ユーザにより毎週土日0:00−6:00で配信予約された場合、CPU201は、全ての画像形成装置に配信が完了するまで予約IDを保持する。また、上述した図16Bの1902に示される配信予約情報10001111も、予約IDの一例である。
S1105で、CPU201は、S1103での配信開始時刻1603又は再計算処理後(S1106以降の一連の処理)から一定時間が経過したか否かを判断し、経過したと判断すれば処理をS1106に進める。一方、S1105で、CPU201は、経過していないと判断すれば処理をS1103に進める。ここで、一定時間とは、ポーリング間隔1610を意味する。図14Bに示されるポーリング間隔1610は3600秒なので、CPU201は、S1103での配信開始時刻1603又は再計算処理後(S1106以降の一連の処理)から3600秒経過したか否かを判断する。CPU201は、3600秒経過したと判断した場合、処理をS1106に進め、経過していないと判断した場合、処理をS1103に進める。なお、本実施形態では一例として、ポーリング間隔1610を3600秒としたが、これに限る必要はない。
S1106で、CPU201は、現在時刻+ポーリング間隔1610以降の時間で、画像形成装置に対して、ファームウェアの配信結果の平均時間と、想定時間との差分を計算し、処理をS1107に進める。より具体的には、CPU201は、S1103での配信処理が想定する時間内で行われているかを判断するために、配信結果1607と、配信想定時間1612との差分を以下の式6を用いて計算する。
<式6>
差分=配信結果1607の平均時間−配信想定時間1612
CPU201は、図14Bに示される配信スケジュールに配信想定時間1612を記述する。なお、CPU201は、前述した式4から配信想定時間1612を求める。また、CPU201は、図9A、図9Bに示される配信予約画面でユーザの操作により配信予約がされると、配信予約された画像形成装置に対する配信処理を配信想定時間1612の間隔でスケジューリングする。
配信結果1607は、S1103でCPU201が画像形成装置に対して行った配信処理の所要時間である。
S1106で、CPU201は、現在時刻+ポーリング間隔1610以降の時間で、画像形成装置に対して、ファームウェアの配信結果の平均時間と、想定時間との差分を計算し、処理をS1107に進める。より具体的には、CPU201は、S1103での配信処理が想定する時間内で行われているかを判断するために、配信結果1607と、配信想定時間1612との差分を以下の式6を用いて計算する。
<式6>
差分=配信結果1607の平均時間−配信想定時間1612
CPU201は、図14Bに示される配信スケジュールに配信想定時間1612を記述する。なお、CPU201は、前述した式4から配信想定時間1612を求める。また、CPU201は、図9A、図9Bに示される配信予約画面でユーザの操作により配信予約がされると、配信予約された画像形成装置に対する配信処理を配信想定時間1612の間隔でスケジューリングする。
配信結果1607は、S1103でCPU201が画像形成装置に対して行った配信処理の所要時間である。
S1107で、CPU201は、S1106で計算した差分が閾値以内か否かを判断し、閾値以内であると判断すれば処理をS1103に進め、閾値以内でないと判断すれば処理をS1108に進める。
図14Bの1611は、閾値を示す。図14Bでは、閾値1611を+−100秒としているので、CPU201は、S1107での比較の結果、+−100秒以上の差異があれば、閾値以内でないと判断する。なお、閾値は、ユーザにより予め設定された値であり、他の配信スケジュールの情報と共にデータベース134に格納されている情報である。また、本実施形態では閾値を+−100秒としたが、これに限る必要はない。
S1108で、CPU201は、S1106で計算した差分が0未満であるか否かを判断する。CPU201は、0未満であると判断した場合、配信想定時間1612よりも早く配信処理が行われていることになるので、処理をS1109に進める。一方、CPU201は、0未満でないと判断した場合、配信想定時間1612よりも遅く配信処理が行われていることになるので、処理をS1113に進める。
S1109で、CPU201は、配信処理の前倒し処理を行い、処理をS1110に進める。より具体的には、CPU201は、前倒し処理として、図14Bに示される配信想定時間1612にS1106で計算した配信結果1607の平均値を設定する。次に、CPU201は、配信終了時刻1609を確認し、前倒し可能な画像形成装置の数を計算する。なお、本処理は、CPU201による配信可能台数確認処理の一例である。
図14Bの1611は、閾値を示す。図14Bでは、閾値1611を+−100秒としているので、CPU201は、S1107での比較の結果、+−100秒以上の差異があれば、閾値以内でないと判断する。なお、閾値は、ユーザにより予め設定された値であり、他の配信スケジュールの情報と共にデータベース134に格納されている情報である。また、本実施形態では閾値を+−100秒としたが、これに限る必要はない。
S1108で、CPU201は、S1106で計算した差分が0未満であるか否かを判断する。CPU201は、0未満であると判断した場合、配信想定時間1612よりも早く配信処理が行われていることになるので、処理をS1109に進める。一方、CPU201は、0未満でないと判断した場合、配信想定時間1612よりも遅く配信処理が行われていることになるので、処理をS1113に進める。
S1109で、CPU201は、配信処理の前倒し処理を行い、処理をS1110に進める。より具体的には、CPU201は、前倒し処理として、図14Bに示される配信想定時間1612にS1106で計算した配信結果1607の平均値を設定する。次に、CPU201は、配信終了時刻1609を確認し、前倒し可能な画像形成装置の数を計算する。なお、本処理は、CPU201による配信可能台数確認処理の一例である。
まず、CPU201は、計算方法として以下の式7を用いて配信設定可能な時間を計算する。なお、前提として、CPU201が未配信の全画像形成装置に対して設定を完了するためには、ポーリング間隔分の時間が必要となるため、配信設定可能な時間の計算方法は式7のようになる。
<式7>
配信設定可能な時間(Sec)=配信終了時刻(Sec)−(現在時刻(Sec)+ポーリング間隔(Sec))
次に、CPU201は、以下の式8のように、配信設定可能な時間をS1106で計算した配信想定時間1612で割ることで、前倒し可能な画像形成装置の数を計算する。
<式8>
前倒し可能な画像形成装置(台)=配信設定可能な時間(Sec)/配信想定時間(Sec)
<式7>
配信設定可能な時間(Sec)=配信終了時刻(Sec)−(現在時刻(Sec)+ポーリング間隔(Sec))
次に、CPU201は、以下の式8のように、配信設定可能な時間をS1106で計算した配信想定時間1612で割ることで、前倒し可能な画像形成装置の数を計算する。
<式8>
前倒し可能な画像形成装置(台)=配信設定可能な時間(Sec)/配信想定時間(Sec)
S1110で、CPU201は、前倒し対象の画像形成装置の全台に対し、配信想定時間1612の間隔で配信開始時刻1603を変更し、図14A、図14Bに示される配信スケジュールに反映させ、処理をS1111に進める。CPU201は、S1110の処理において、式8で計算した前倒し可能な画像形成装置の台数分ループさせて配信スケジュールに反映させる。
S1111で、CPU201は、式7を用いて計算した配信設定可能な時間が、ポーリング間隔1610以内か否かを判断する。図14Bの例では、ポーリング間隔1610が3600秒、配信終了時刻1609が6:00なので、CPU201は、現在時刻が5:00を過ぎたか否かを判断する。CPU201は、配信設定可能な時間がポーリング間隔1610以内であれば、処理をS1112に進め、ポーリング間隔1610以内でなければ、処理をS1103に進める。
S1112で、CPU201は、現在時刻+ポーリング間隔以降の時間で配信が予定されている画像形成装置に対してポーリング間隔を早めるように、図14Bに示される配信スケジュールに反映させ、処理をS1103に進める。CPU201は、S1106で計算した配信想定時間1612を新たなポーリング間隔1610とする。
S1111で、CPU201は、式7を用いて計算した配信設定可能な時間が、ポーリング間隔1610以内か否かを判断する。図14Bの例では、ポーリング間隔1610が3600秒、配信終了時刻1609が6:00なので、CPU201は、現在時刻が5:00を過ぎたか否かを判断する。CPU201は、配信設定可能な時間がポーリング間隔1610以内であれば、処理をS1112に進め、ポーリング間隔1610以内でなければ、処理をS1103に進める。
S1112で、CPU201は、現在時刻+ポーリング間隔以降の時間で配信が予定されている画像形成装置に対してポーリング間隔を早めるように、図14Bに示される配信スケジュールに反映させ、処理をS1103に進める。CPU201は、S1106で計算した配信想定時間1612を新たなポーリング間隔1610とする。
S1113で、CPU201は、配信処理の後ろ倒し処理を行い、処理をS1114に進める。CPU201は、後ろ倒し処理として、配信想定時間1612に、S1106で計算した配信結果1607の平均時間を設定する。次に、CPU201は、配信終了時刻1609を確認し、後ろ倒し可能な画像形成装置の数を計算する。なお、CPU201は、本処理において前述の式7、式8を用いて計算する。
S1114で、CPU201は、後ろ倒し対象の画像形成装置の全台に対し、新たな配信想定時間1612の間隔で配信開始時刻1603を変更し、図14A、図14Bに示される配信スケジュールに反映させると、処理をS1115に進める。CPU201は、S1114の処理において、式8で計算した前倒し可能な画像形成装置の台数分ループさせて配信スケジュールに反映させる。
S1115で、CPU201は、S1114で反映させたスケジュールで配信処理をした場合、配信終了時刻1609までに配信できない画像形成装置があるか否かを判断する。なお、CPU201は、配信終了時刻1609から、配信想定時間1612を引いた時刻よりも後に、配信開始時刻1603が設定されている画像形成装置を配信できない画像形成装置と判断する。CPU201は、配信終了時刻1609までに配信できない画像形成装置があると判断した場合、処理をS1116に進め、配信できない画像形成装置はないと判断した場合、処理をS1111に進める。
S1116で、CPU201は、配信終了時刻1609までに配信できない画像形成装置に対して、翌日以降の予約に再スケジュール可能か否かを判断し、可能と判断すれば処理をS1117に進め、不可能と判断すれば処理をS1118に進める。なお、CPU201は、判断方法として、図14Bに示される配信可能曜日1613が設定されていれば、再スケジュール可能と判断し、配信可能曜日1613が設定されていなければ、再スケジュール不可能と判断する。
S1117で、CPU201は、配信終了時刻1609までに配信できない画像形成装置に対して翌日以降の予約を再スケジュールし、図14A、14Bに示される配信スケジュールに反映させ、処理をS1111に進める。CPU201は、再スケジュール方法として、完了できなかった画像形成装置の配信処理を翌日以降の最初の配信処理1103にスライドさせるように、配信開始時刻1603を設定する。なお、CPU201は、再スケジュールする以前から翌日以降に配信予約されていた画像形成装置に対しては、順次スライドさせる(図示外)。
S1118で、CPU201は、配信できない画像形成装置の予約をキャンセルし、処理をS1111に進める。CPU201は、配信キャンセル処理として、対象となる画像形成装置において、図14Aに示される配信中止フラグ1606をONにする。
S1114で、CPU201は、後ろ倒し対象の画像形成装置の全台に対し、新たな配信想定時間1612の間隔で配信開始時刻1603を変更し、図14A、図14Bに示される配信スケジュールに反映させると、処理をS1115に進める。CPU201は、S1114の処理において、式8で計算した前倒し可能な画像形成装置の台数分ループさせて配信スケジュールに反映させる。
S1115で、CPU201は、S1114で反映させたスケジュールで配信処理をした場合、配信終了時刻1609までに配信できない画像形成装置があるか否かを判断する。なお、CPU201は、配信終了時刻1609から、配信想定時間1612を引いた時刻よりも後に、配信開始時刻1603が設定されている画像形成装置を配信できない画像形成装置と判断する。CPU201は、配信終了時刻1609までに配信できない画像形成装置があると判断した場合、処理をS1116に進め、配信できない画像形成装置はないと判断した場合、処理をS1111に進める。
S1116で、CPU201は、配信終了時刻1609までに配信できない画像形成装置に対して、翌日以降の予約に再スケジュール可能か否かを判断し、可能と判断すれば処理をS1117に進め、不可能と判断すれば処理をS1118に進める。なお、CPU201は、判断方法として、図14Bに示される配信可能曜日1613が設定されていれば、再スケジュール可能と判断し、配信可能曜日1613が設定されていなければ、再スケジュール不可能と判断する。
S1117で、CPU201は、配信終了時刻1609までに配信できない画像形成装置に対して翌日以降の予約を再スケジュールし、図14A、14Bに示される配信スケジュールに反映させ、処理をS1111に進める。CPU201は、再スケジュール方法として、完了できなかった画像形成装置の配信処理を翌日以降の最初の配信処理1103にスライドさせるように、配信開始時刻1603を設定する。なお、CPU201は、再スケジュールする以前から翌日以降に配信予約されていた画像形成装置に対しては、順次スライドさせる(図示外)。
S1118で、CPU201は、配信できない画像形成装置の予約をキャンセルし、処理をS1111に進める。CPU201は、配信キャンセル処理として、対象となる画像形成装置において、図14Aに示される配信中止フラグ1606をONにする。
以下、S1104で、CPU201が、本日分の配信が終了していないと判断した場合の処理について説明する。
S1119で、CPU201は、本日分の配信が終了したので、同一予約IDで、翌日以降に配信する予定のファームウェアがあるか否かを、図14Aに示される配信スケジュールから確認し、処理をS1120に進める。
S1120で、CPU201は、S1119で確認した配信スケジュールから明日以降に配信する予定のファームウェアがあるか否かを判断し、配信する予定のファームウェアがあると判断した場合、処理をS1121に進める。一方、S1120で、CPU201は、明日以降に配信する予定のファームウェアはないと判断した場合、処理を終了する。
S1121で、CPU201は、無駄なポーリング通信を防ぐため、次の画像形成装置の配信開始時刻の24時間前まで、ポーリング間隔を遅くするように、配信スケジュールのポーリング間隔1610を変更し、処理を終了する。配信開始時刻1603が24時間前を切った場合、CPU201は、ポーリング間隔1610をデフォルトに戻す(図示外)。なお、本実施形態におけるデフォルトのポーリング間隔は、3600秒とする。
S1119で、CPU201は、本日分の配信が終了したので、同一予約IDで、翌日以降に配信する予定のファームウェアがあるか否かを、図14Aに示される配信スケジュールから確認し、処理をS1120に進める。
S1120で、CPU201は、S1119で確認した配信スケジュールから明日以降に配信する予定のファームウェアがあるか否かを判断し、配信する予定のファームウェアがあると判断した場合、処理をS1121に進める。一方、S1120で、CPU201は、明日以降に配信する予定のファームウェアはないと判断した場合、処理を終了する。
S1121で、CPU201は、無駄なポーリング通信を防ぐため、次の画像形成装置の配信開始時刻の24時間前まで、ポーリング間隔を遅くするように、配信スケジュールのポーリング間隔1610を変更し、処理を終了する。配信開始時刻1603が24時間前を切った場合、CPU201は、ポーリング間隔1610をデフォルトに戻す(図示外)。なお、本実施形態におけるデフォルトのポーリング間隔は、3600秒とする。
図18は、配信サーバ133のCPU201による配信処理の一例を示すフローチャートである。なお、図18に示されるフローチャートは、図17のS1103の処理の詳細を示すフローチャートである。
S1201で、CPU201は、クライアントモジュール313からアクセスが来るまで待機し、アクセスが来れば処理をS1202に進める。
S1202で、CPU201は、クライアントモジュール313から予約情報確認904が通知されたか否かを判断し、通知されたと判断すれば処理をS1203に進め、通知されていないと判断すれば処理をS1205に進める。
S1203で、CPU201は、クライアントモジュール313から予約情報確認を受け付け、処理をS1204に進める。
S1204で、CPU201は、クライアントモジュール313に配信開始時刻1603、配信中止フラグ1606、及びポーリング間隔1610を返信し、処理をS1201に進める。なお、CPU201によるS1204の処理は、第1の応答手段の一例である。
S1201で、CPU201は、クライアントモジュール313からアクセスが来るまで待機し、アクセスが来れば処理をS1202に進める。
S1202で、CPU201は、クライアントモジュール313から予約情報確認904が通知されたか否かを判断し、通知されたと判断すれば処理をS1203に進め、通知されていないと判断すれば処理をS1205に進める。
S1203で、CPU201は、クライアントモジュール313から予約情報確認を受け付け、処理をS1204に進める。
S1204で、CPU201は、クライアントモジュール313に配信開始時刻1603、配信中止フラグ1606、及びポーリング間隔1610を返信し、処理をS1201に進める。なお、CPU201によるS1204の処理は、第1の応答手段の一例である。
S1205で、CPU201は、ファーム配信情報要求905がクライアントモジュール313から通知されたか否かを判断し、通知されたと判断すれば処理をS1206に進め、通知されていないと判断すれば処理をS1208に進める。
S1206で、CPU201は、クライアントモジュール313からファーム配信情報要求905を受け付け、処理をS1207に進める。
S1207で、CPU201は、クライアントモジュール313にダウンロード先URLを返信し、処理をS1201に進める。なお、CPU201によるS1207の処理は、第2の応答手段の一例である。
S1208で、CPU201は、受信完了通知907がクライアントモジュール313から通知されたかを判断し、通知されたと判断すれば処理をS1209に進め、通知されていないと判断すれば処理をS1201に進める。
S1209で、CPU201は、クライアントモジュール313から受信完了通知907を受け付け、処理を終了する。
S1206で、CPU201は、クライアントモジュール313からファーム配信情報要求905を受け付け、処理をS1207に進める。
S1207で、CPU201は、クライアントモジュール313にダウンロード先URLを返信し、処理をS1201に進める。なお、CPU201によるS1207の処理は、第2の応答手段の一例である。
S1208で、CPU201は、受信完了通知907がクライアントモジュール313から通知されたかを判断し、通知されたと判断すれば処理をS1209に進め、通知されていないと判断すれば処理をS1201に進める。
S1209で、CPU201は、クライアントモジュール313から受信完了通知907を受け付け、処理を終了する。
図19は、クライアントモジュール313のCPU306による処理の一例を示すフローチャートである。
S1301で、CPU306は、配信サーバ133に配信情報要求903を行い、配信サーバ133に自身の画像形成装置に対する配信情報があるか否かを問い合わせ、処理をS1302に進める。なお、CPU306は、配信予約確認ポーリングにより、配信サーバ133に1日1回、配信情報要求903の問い合わせを行う。また、CPU306は、S1301の処理を図13に示されるタイミングで実行する。
S1302で、CPU306は、配信情報要求903の返答として、配信サーバ133から配信開始時刻1603及びポーリング開始フラグ1605を受信し、処理をS1303に進める。
S1303で、CPU306は、S1302で配信サーバ133から受信したポーリング開始フラグ1605がONであるか又はOFFであるかを判断し、ONであると判断すれば処理をS1304に進め、OFFであると判断すれば処理を1305に進める。
S1304で、CPU306は、配信サーバ133に対して、デフォルトの間隔でポーリングを開始し、処理をS1305に進める。
S1301で、CPU306は、配信サーバ133に配信情報要求903を行い、配信サーバ133に自身の画像形成装置に対する配信情報があるか否かを問い合わせ、処理をS1302に進める。なお、CPU306は、配信予約確認ポーリングにより、配信サーバ133に1日1回、配信情報要求903の問い合わせを行う。また、CPU306は、S1301の処理を図13に示されるタイミングで実行する。
S1302で、CPU306は、配信情報要求903の返答として、配信サーバ133から配信開始時刻1603及びポーリング開始フラグ1605を受信し、処理をS1303に進める。
S1303で、CPU306は、S1302で配信サーバ133から受信したポーリング開始フラグ1605がONであるか又はOFFであるかを判断し、ONであると判断すれば処理をS1304に進め、OFFであると判断すれば処理を1305に進める。
S1304で、CPU306は、配信サーバ133に対して、デフォルトの間隔でポーリングを開始し、処理をS1305に進める。
S1305で、CPU306は、ポーリング用のメソッドである予約情報確認904で、配信サーバに問い合わせを行い、処理をS1306に進める。なお、CPU306は、S1305の処理を図13に示されるタイミングで実行する。
S1306で、CPU306は、予約情報確認904の返答として、配信サーバ133から配信開始時刻1603、配信中止フラグ1606及びポーリング間隔1610を受信すると、処理をS1307に進める。
S1307でCPU306は、配信スケジュールの配信開始時刻1603又はポーリング間隔に変更があるか否かを判断し、変更があると判断すれば処理をS1308に進め、変更がないと判断すれば処理をS1309に進める。より具体的には、CPU306は、S1306で配信サーバ133から受信した配信開始時刻1603及びポーリング間隔1610と、S1302で受信した配信開始時刻1603及びデフォルトのポーリング間隔とを比較する。S1307で、CPU306は、前記比較に基づいて、配信スケジュールの配信開始時刻1603又はポーリング間隔に変更があるか否かを判断する。
S1306で、CPU306は、予約情報確認904の返答として、配信サーバ133から配信開始時刻1603、配信中止フラグ1606及びポーリング間隔1610を受信すると、処理をS1307に進める。
S1307でCPU306は、配信スケジュールの配信開始時刻1603又はポーリング間隔に変更があるか否かを判断し、変更があると判断すれば処理をS1308に進め、変更がないと判断すれば処理をS1309に進める。より具体的には、CPU306は、S1306で配信サーバ133から受信した配信開始時刻1603及びポーリング間隔1610と、S1302で受信した配信開始時刻1603及びデフォルトのポーリング間隔とを比較する。S1307で、CPU306は、前記比較に基づいて、配信スケジュールの配信開始時刻1603又はポーリング間隔に変更があるか否かを判断する。
S1308で、CPU306は、S1302で配信サーバ133から受信した配信開始時刻1603及びデォルトのポーリング間隔1610を、S1306で受信した配信開始時刻1603及びポーリング間隔1610に変更する。S1308で、CPU306は、前記変更処理を実行すると、処理をS1309に進める。
S1309で、CPU306は、次のポーリング時間又は配信開始時刻まで待機し、処理をS1310に進める。
S1310で、CPU306は、次のポーリング時間になったか否かを判断し、次のポーリング時間になったと判断すれば処理をS1305に進め、次のポーリング時間になっていないと判断すれば処理をS1311に進める。より具体的には、CPU306は、S1308で変更したポーリング間隔1610と、経過時刻とを比較することで、次のポーリング時間になったか否かを判断する。
S1309で、CPU306は、次のポーリング時間又は配信開始時刻まで待機し、処理をS1310に進める。
S1310で、CPU306は、次のポーリング時間になったか否かを判断し、次のポーリング時間になったと判断すれば処理をS1305に進め、次のポーリング時間になっていないと判断すれば処理をS1311に進める。より具体的には、CPU306は、S1308で変更したポーリング間隔1610と、経過時刻とを比較することで、次のポーリング時間になったか否かを判断する。
S1311で、CPU306は、配信開始時刻になったか否かを判断し、配信開始時刻になったと判断すれば処理をS1312に進め、配信開始時刻になっていないと判断すれば処理をS1309に進める。より具体的には、CPU306は、S1308で変更した配信開始時刻1603と、経過時刻とを比較することで、配信開始時刻になったか否かを判断する。
S1312で、CPU306は、配信開始時刻になったので、ファーム配信情報要求905で、配信サーバ133にURLリスト取得のリクエストを発行し、処理をS1313に進める。なお、CPU306は、S1312の処理を図13に示されるタイミングで実行する。
S1313で、CPU306は、ファーム配信情報要求905の返答として、配信サーバ133からダウンロード先URLリストを受信し、処理をS1314に進める。
S1312で、CPU306は、配信開始時刻になったので、ファーム配信情報要求905で、配信サーバ133にURLリスト取得のリクエストを発行し、処理をS1313に進める。なお、CPU306は、S1312の処理を図13に示されるタイミングで実行する。
S1313で、CPU306は、ファーム配信情報要求905の返答として、配信サーバ133からダウンロード先URLリストを受信し、処理をS1314に進める。
S1314では、CPU306は、ファーム配信要求906で、ダウンロード先URLリストのアクセス先である外部サーバ107にファームウェア取得のリクエストを発行し、処理をS1315に進める。なお、CPU306は、S1314の処理を図13に示されるタイミングで実行する。
S1315で、CPU306は、ファーム配信要求906の返答として、外部サーバ107からファームウェアを受信し、処理をS1316に進める。
S1316で、CPU306は、受信完了通知907を配信サーバ133に送信し、処理をS1317に進める。なお、CPU306は、S1316の処理を図13に示されるタイミングで実行する。
S1317で、CPU306は、ファームウェアの配信が完了したので、ポーリングをOFFし、処理を終了する。
S1315で、CPU306は、ファーム配信要求906の返答として、外部サーバ107からファームウェアを受信し、処理をS1316に進める。
S1316で、CPU306は、受信完了通知907を配信サーバ133に送信し、処理をS1317に進める。なお、CPU306は、S1316の処理を図13に示されるタイミングで実行する。
S1317で、CPU306は、ファームウェアの配信が完了したので、ポーリングをOFFし、処理を終了する。
図20は、通信テストのシーケンスの一例を表した図である。
図20を用いて、通信テストのシーケンスと、そこでやりとりされるデータについて説明する。
ユーザにより画像形成装置の通信テストボタン(図示外)がクリックされると、画像形成装置のクライアントモジュール313は、通信テストデータリクエストを配信サーバ133に送信する(2001)。ここで、クライアントモジュール313は、データリクエストと共に画像形成装置の機種名、画像形成装置IDを送信する。また、クライアントモジュール313と、配信サーバ133との通信は、TCP/IPを用いて行われ、画像形成装置のIPアドレスはグローバルIPアドレスに変換されて送信される。なお、画像形成装置のIPアドレスからグローバルIPアドレスへの変換は、Proxyサーバ(図示外)で行われる。
配信サーバ133は、通信テストデータリクエストをクライアントモジュール313から受信すると、通信テストデータ計測用URLをクライアントモジュール313に返信する(2002)。また、配信サーバ133は、受信した機種名、画像形成装置ID、グローバルIPアドレスを配信サーバ133のデータベース134に記録する。配信サーバ133は、既に同一の画像形成装置IDのデータがデータベース134に存在する場合は上書きし、存在しない場合はデータを追加する。
図20を用いて、通信テストのシーケンスと、そこでやりとりされるデータについて説明する。
ユーザにより画像形成装置の通信テストボタン(図示外)がクリックされると、画像形成装置のクライアントモジュール313は、通信テストデータリクエストを配信サーバ133に送信する(2001)。ここで、クライアントモジュール313は、データリクエストと共に画像形成装置の機種名、画像形成装置IDを送信する。また、クライアントモジュール313と、配信サーバ133との通信は、TCP/IPを用いて行われ、画像形成装置のIPアドレスはグローバルIPアドレスに変換されて送信される。なお、画像形成装置のIPアドレスからグローバルIPアドレスへの変換は、Proxyサーバ(図示外)で行われる。
配信サーバ133は、通信テストデータリクエストをクライアントモジュール313から受信すると、通信テストデータ計測用URLをクライアントモジュール313に返信する(2002)。また、配信サーバ133は、受信した機種名、画像形成装置ID、グローバルIPアドレスを配信サーバ133のデータベース134に記録する。配信サーバ133は、既に同一の画像形成装置IDのデータがデータベース134に存在する場合は上書きし、存在しない場合はデータを追加する。
クライアントモジュール313は、配信サーバ133から受信した外部サーバのURLにアクセスし(2003)、外部サーバから通信テスト計測用のデータを受信する(2004)。この際、クライアントモジュール313は、受信開始時刻及び終了時刻をミリ秒で保持しておく。
クライアントモジュール313は、受信を終了すると、以下の式9を用いて通信速度を計算する(2005)。
<式9>
通信速度=1*1000/(受信開始時刻−受信終了時刻)
この式は、1MBのデータを何ミリ秒で受信したかを計算する式であり、秒単位に変換するために1000を乗じている。つまり、通信速度がMbps(1秒間に100万bitのデータを受信する速度)で計算される式である。
クライアントモジュール313は、通信速度を計算すると、配信サーバ133に通信テストの結果を送信する(2006)。より具体的には、クライアントモジュール313は、通信テストの成否と、成功した場合の通信速度とを配信サーバ133に送信する。
配信サーバ133は、クライアントモジュール313から受信した通信速度をデータベース134の通信速度に記憶する(2007)。なお、通信は同一セッションで行われるため、クライアントモジュール313は、2001で配信サーバ133に送信した画像形成装置ID等を再送しない。
配信サーバ133は、クライアントモジュール313から送信された通信速度結果(2006)に対する応答を返信する(2008)。ここでは、配信サーバ133は、データを受信したことのみをクライアントモジュール313に返信する。クライアントモジュール313が配信サーバ133からの返信(2008)を受信すると、通信テストは終了する。
クライアントモジュール313は、受信を終了すると、以下の式9を用いて通信速度を計算する(2005)。
<式9>
通信速度=1*1000/(受信開始時刻−受信終了時刻)
この式は、1MBのデータを何ミリ秒で受信したかを計算する式であり、秒単位に変換するために1000を乗じている。つまり、通信速度がMbps(1秒間に100万bitのデータを受信する速度)で計算される式である。
クライアントモジュール313は、通信速度を計算すると、配信サーバ133に通信テストの結果を送信する(2006)。より具体的には、クライアントモジュール313は、通信テストの成否と、成功した場合の通信速度とを配信サーバ133に送信する。
配信サーバ133は、クライアントモジュール313から受信した通信速度をデータベース134の通信速度に記憶する(2007)。なお、通信は同一セッションで行われるため、クライアントモジュール313は、2001で配信サーバ133に送信した画像形成装置ID等を再送しない。
配信サーバ133は、クライアントモジュール313から送信された通信速度結果(2006)に対する応答を返信する(2008)。ここでは、配信サーバ133は、データを受信したことのみをクライアントモジュール313に返信する。クライアントモジュール313が配信サーバ133からの返信(2008)を受信すると、通信テストは終了する。
<具体例>
以下に、上述した図15に示されるフローチャートにおける処理の具体例を示す。
まず、図15に示されるフローチャートにおける処理の具体例について説明する。
なお、図15は、配信サーバ133のCPU201による配信予約受付処理の一例を示すフローチャートである。
S1001で、CPU201は、1000台の配信予約を実行し、処理をS1002に進める。
<配信予約内容>
2012/4/28 0:00−6:00
S1002で、CPU201は、グローバルIPアドレスより、1顧客における画像形成装置の台数を割り出し、処理をS1003に進める。CPU201は、上述した図12Bの顧客マスタに示されるように、同一のグローバルIPアドレスを1顧客とみなす。
<1顧客における画像形成装置の台数>
顧客A:100台、顧客B:200台、顧客C:700台
以下に、上述した図15に示されるフローチャートにおける処理の具体例を示す。
まず、図15に示されるフローチャートにおける処理の具体例について説明する。
なお、図15は、配信サーバ133のCPU201による配信予約受付処理の一例を示すフローチャートである。
S1001で、CPU201は、1000台の配信予約を実行し、処理をS1002に進める。
<配信予約内容>
2012/4/28 0:00−6:00
S1002で、CPU201は、グローバルIPアドレスより、1顧客における画像形成装置の台数を割り出し、処理をS1003に進める。CPU201は、上述した図12Bの顧客マスタに示されるように、同一のグローバルIPアドレスを1顧客とみなす。
<1顧客における画像形成装置の台数>
顧客A:100台、顧客B:200台、顧客C:700台
S1003で、CPU201は、通信テストのログから顧客環境の通信速度を割り出し、処理をS1004に進める。なお、クライアントモジュール313と、配信サーバ133とは、通信テストとして1MBのファイルの転送テストを行っている。CPU201は、図11に示される通信テストのログより以下を求めることができる。なお、以下の計算は、S1004で、CPU201が計算する配信予約可能時間も含む。
<顧客環境の通信速度>
顧客A:100Mbps(12.5MB/sec)。1ファームセット(約500M)の配信時間は40秒なので、100台だと配信に66分かかる。
顧客B:50Mbps(6.25MB/sec)。1ファームセット(約500M)の配信時間は80秒なので、200台だと配信に4.4時間かかる。
顧客C:10Mbps(1.25MB/sec)。1ファームセット(約500M)の配信時間は400秒なので、700台だと配信に77時間かかる。
<顧客環境の通信速度>
顧客A:100Mbps(12.5MB/sec)。1ファームセット(約500M)の配信時間は40秒なので、100台だと配信に66分かかる。
顧客B:50Mbps(6.25MB/sec)。1ファームセット(約500M)の配信時間は80秒なので、200台だと配信に4.4時間かかる。
顧客C:10Mbps(1.25MB/sec)。1ファームセット(約500M)の配信時間は400秒なので、700台だと配信に77時間かかる。
S1005で、CPU201は、上記の顧客環境を参照して、S1001で実行した配信予約が設定した配信予約時間以内に配信可能か否かを判断し、配信可能と判断すれば処理をS1006に進め、配信不可能と判断すれば処理をS1007に進める。
・顧客A、Bの場合
配信予約時間の範囲内なので、CPU201は、予約をそのまま受け付け、処理をS1006に進める。
・顧客Cの場合
配信に77時間を要し、配信予約時間の範囲を大きく上回ってしまうので、CPU201は、処理をS1007に進め、配信可能な時間帯の再設定を指示する。CPU201は、S1007の処理終了後、処理をS1008に進める。
S1008で、CPU201は、ユーザからの配信予約の入力を再度受け付けると、S1004と同様の処理により配信予約可能時間を計算し、処理をS1009に進める。
<配信可能な時間帯>
顧客Cの場合、CPU201は、配信可能な時間帯を毎週土日の0:00−6:00に設定する。
顧客Cの環境では、1画像形成装置あたり配信に400秒を要する。そのため、CPU201は、1画像形成装置あたりの配信時間の計測を適切に行うために、例えば図10の801に示されるように400秒間隔でシーケンシャルに1画像形成装置ずつ予約する。
・顧客A、Bの場合
配信予約時間の範囲内なので、CPU201は、予約をそのまま受け付け、処理をS1006に進める。
・顧客Cの場合
配信に77時間を要し、配信予約時間の範囲を大きく上回ってしまうので、CPU201は、処理をS1007に進め、配信可能な時間帯の再設定を指示する。CPU201は、S1007の処理終了後、処理をS1008に進める。
S1008で、CPU201は、ユーザからの配信予約の入力を再度受け付けると、S1004と同様の処理により配信予約可能時間を計算し、処理をS1009に進める。
<配信可能な時間帯>
顧客Cの場合、CPU201は、配信可能な時間帯を毎週土日の0:00−6:00に設定する。
顧客Cの環境では、1画像形成装置あたり配信に400秒を要する。そのため、CPU201は、1画像形成装置あたりの配信時間の計測を適切に行うために、例えば図10の801に示されるように400秒間隔でシーケンシャルに1画像形成装置ずつ予約する。
S1009で、CPU201は、S1005と同様の処理による判断の結果、配信可能と判断し、処理をS1010に進める。
S1010で、CPU201は、予約の際に対象の画像形成装置にポーリングの開始指示を行い、処理をS1011に進める。なお、CPU201は、最初の予約において、直近の土曜日曜の0:00−6:00だと216台への配信処理が可能なので、残りの画像形成装置については次週に予約し、各画像形成装置にポーリング指示を行う。
S1011で、CPU201は、配信開始時間になり、ファームウェアの配信中に顧客Cの転送速度が想定速度(10Mbps(1.25MB/sec))を上回るならば、配信予約時間を前倒しして配信する(S1109)。逆に下回るならば、CPU201は、配信予約時間を後ろ倒しにして配信する(S1113)。
以上、本実施形態では、CPU201は、ファームウェアの配信を配信可能な時間帯である土日の0:00−6:00に行い、配信の終了時刻までに完了できるように、スケジューリングを行いつつ、アップデート処理を行う。
なお、CPU201は、前倒しの場合で次週の予約を実行できるならば、次週の予約を前倒しする。また、CPU201は、後ろ倒しの場合で終了時刻内に処理できなければ、処理できない予約を次週に再スケジュールするか、次週に持ち越せない場合はキャンセルする。以上により、CPU201は、指定された時間内でファームウェアの配信を完了することができる。
S1010で、CPU201は、予約の際に対象の画像形成装置にポーリングの開始指示を行い、処理をS1011に進める。なお、CPU201は、最初の予約において、直近の土曜日曜の0:00−6:00だと216台への配信処理が可能なので、残りの画像形成装置については次週に予約し、各画像形成装置にポーリング指示を行う。
S1011で、CPU201は、配信開始時間になり、ファームウェアの配信中に顧客Cの転送速度が想定速度(10Mbps(1.25MB/sec))を上回るならば、配信予約時間を前倒しして配信する(S1109)。逆に下回るならば、CPU201は、配信予約時間を後ろ倒しにして配信する(S1113)。
以上、本実施形態では、CPU201は、ファームウェアの配信を配信可能な時間帯である土日の0:00−6:00に行い、配信の終了時刻までに完了できるように、スケジューリングを行いつつ、アップデート処理を行う。
なお、CPU201は、前倒しの場合で次週の予約を実行できるならば、次週の予約を前倒しする。また、CPU201は、後ろ倒しの場合で終了時刻内に処理できなければ、処理できない予約を次週に再スケジュールするか、次週に持ち越せない場合はキャンセルする。以上により、CPU201は、指定された時間内でファームウェアの配信を完了することができる。
図21A、図21Bは、本実施形態の前倒し、後ろ倒しの再計算処理(S1106以降の一連の処理)におけるタイムスケジュールの一例を示す図である。
前提として、図9A、図9Bに示される配信サーバの予約画面で、ユーザにより設定される配信時刻(1406〜1407)は、0:00〜6:00であるとする。
図21Aのタイムスケジュール(1)は、1:00〜4:00の再計算処理の一例を示す図である。
図21Bのタイムスケジュール(2)は、5:00〜6:00の再計算処理の一例を示す図である。
前提として、図9A、図9Bに示される配信サーバの予約画面で、ユーザにより設定される配信時刻(1406〜1407)は、0:00〜6:00であるとする。
図21Aのタイムスケジュール(1)は、1:00〜4:00の再計算処理の一例を示す図である。
図21Bのタイムスケジュール(2)は、5:00〜6:00の再計算処理の一例を示す図である。
2101は、CPU201による1回目の再計算処理の一例を示す図である。
CPU201により予約ID1604で配信予約されている画像形成装置の中で、最初の配信開始時刻1603は0:00である。CPU201は、再計算処理を、配信開始時刻1603からポーリング間隔1610が経過したタイミングで実行するので、1:00に実行する。1:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、2:00〜6:00に配信予約されている画像形成装置となる。
2102は、CPU201による2回目の再計算処理の一例を示す図である。
CPU201は、2101で1:00に再計算処理を実行したので、次に再計算処理(S1106以降の一連の処理)を実行するのは、2101からポーリング間隔1610が経過したタイミングの2:00となる。2:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、3:00〜6:00に配信予約されている画像形成装置となる。
CPU201により予約ID1604で配信予約されている画像形成装置の中で、最初の配信開始時刻1603は0:00である。CPU201は、再計算処理を、配信開始時刻1603からポーリング間隔1610が経過したタイミングで実行するので、1:00に実行する。1:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、2:00〜6:00に配信予約されている画像形成装置となる。
2102は、CPU201による2回目の再計算処理の一例を示す図である。
CPU201は、2101で1:00に再計算処理を実行したので、次に再計算処理(S1106以降の一連の処理)を実行するのは、2101からポーリング間隔1610が経過したタイミングの2:00となる。2:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、3:00〜6:00に配信予約されている画像形成装置となる。
2103は、CPU201による3回目の再計算処理の一例を示す図である。
CPU201が3回目の再計算処理2103を実行するのは、2102からポーリング間隔1610が経過したタイミングの3:00となる。3:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、4:00〜6:00に配信予約されている画像形成装置となる。
2104は、CPU201による4回目の再計算処理の一例を示す図である。
CPU201が4回目の再計算処理2104を実行するのは、2103からポーリング間隔1610が経過したタイミングの4:00となる。4:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、5:00〜6:00に配信予約されている画像形成装置となる。
更に、CPU201は、4:00の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を配信想定時間1612と同じ値に変更し、ポーリング間隔を早める(S1112)。ポーリング間隔1610は、4:00の時点で400秒とする。
CPU201が3回目の再計算処理2103を実行するのは、2102からポーリング間隔1610が経過したタイミングの3:00となる。3:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、4:00〜6:00に配信予約されている画像形成装置となる。
2104は、CPU201による4回目の再計算処理の一例を示す図である。
CPU201が4回目の再計算処理2104を実行するのは、2103からポーリング間隔1610が経過したタイミングの4:00となる。4:00の時点の再計算処理で対象となる画像形成装置は、1時間以内に全画像形成装置の反映が終わるので、5:00〜6:00に配信予約されている画像形成装置となる。
更に、CPU201は、4:00の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を配信想定時間1612と同じ値に変更し、ポーリング間隔を早める(S1112)。ポーリング間隔1610は、4:00の時点で400秒とする。
2105は、CPU201による5回目の再計算処理の一例を示す図である。
CPU201が5回目の再計算処理2105を実行するのは、2104からポーリング間隔1610が経過したタイミングの5:00:00となる。5:00:00の時点の再計算処理で対象となる画像形成装置は、400秒以内に全画像形成装置の反映が終わるので、5:06:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:00:00の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:00:00の時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔(1610)は、5:00:00の時点で300秒とする。
2106は、CPU201による6回目の再計算処理の一例を示す図である。
CPU201が6回目の再計算処理2106を実行するのは、2105からポーリング間隔1610が経過したタイミングの5:06:40となる。5:06:40時点の再計算処理で対象となる画像形成装置は、300秒以内に全画像形成装置の反映が終わるので、5:11:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:06:40の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:06:40の時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔1610は、5:06:40の時点で300秒とする。
CPU201が5回目の再計算処理2105を実行するのは、2104からポーリング間隔1610が経過したタイミングの5:00:00となる。5:00:00の時点の再計算処理で対象となる画像形成装置は、400秒以内に全画像形成装置の反映が終わるので、5:06:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:00:00の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:00:00の時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔(1610)は、5:00:00の時点で300秒とする。
2106は、CPU201による6回目の再計算処理の一例を示す図である。
CPU201が6回目の再計算処理2106を実行するのは、2105からポーリング間隔1610が経過したタイミングの5:06:40となる。5:06:40時点の再計算処理で対象となる画像形成装置は、300秒以内に全画像形成装置の反映が終わるので、5:11:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:06:40の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:06:40の時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔1610は、5:06:40の時点で300秒とする。
2107は、CPU201による7回目の再計算処理の一例を示す図である。
CPU201が7回目の再計算処理2107を実行するのは、2106からポーリング間隔1610が経過したタイミングの5:11:40となる。5:11:40時点の再計算処理で対象となる画像形成装置は、300秒以内に全画像形成装置の反映が終わるので、5:16:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:11:40の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:11:40時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔1610は、5:11:40の時点で300秒とする。
以降、CPU201は、配信終了時刻1609の6:00:00まで、再計算処理を繰り返すことで、6:00:00までに全画像形成装置の配信を完了させる。
CPU201が7回目の再計算処理2107を実行するのは、2106からポーリング間隔1610が経過したタイミングの5:11:40となる。5:11:40時点の再計算処理で対象となる画像形成装置は、300秒以内に全画像形成装置の反映が終わるので、5:16:40〜6:00:00に配信予約されている画像形成装置となる。更に、CPU201は、5:11:40の再計算処理では、時間通り配信を完了させるため、ポーリング間隔1610を、5:11:40時点の再計算処理で計算された配信想定時間1612と同じ値に変更し、ポーリング間隔を変更する(S1112)。ポーリング間隔1610は、5:11:40の時点で300秒とする。
以降、CPU201は、配信終了時刻1609の6:00:00まで、再計算処理を繰り返すことで、6:00:00までに全画像形成装置の配信を完了させる。
<その他の実施形態>
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した実施形態の処理によれば、配信予約時間内にファームウェアのアップデートを完了することを可能とすることができる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
なお、上述した実施形態では、CPU201は、数式を用いて配信想定時間を算出するよう説明した。しかし、CPU201は、配信サーバのHDD204に予め格納されている、ファームウェアのサイズと、配信対象の画像形成装置の台数と、ネットワーク環境の通信速度と、配信想定時間とが対応付けられたテーブルに基づいて配信想定時間を取得してもよい。より具体的には、CPU201は、前記ファームウェアのサイズと、前記画像形成装置の台数と、前記通信速度とに基づいて前記テーブルを参照し、対応する配信想定時間を求め、取得するようにしてもよい。
Claims (9)
- ネットワークを介して通信可能な少なくとも1台以上の画像形成装置にファームウェアを配信する際の配信スケジュールを登録する登録手段と、
前記ファームウェアのサイズと、ネットワーク環境情報とに基づいて、配信対象の前記画像形成装置に対して前記ファームウェアを配信するのに要すると想定される配信想定時間を取得する取得手段と、
前記ファームウェアを配信した際の配信時間と、前記取得手段により取得された前記配信想定時間との差が、閾値以内であるか否かを判断する判断手段と、
前記判断手段により閾値以内であると判断された場合、前記画像形成装置からの配信情報要求に対して、前記登録手段により登録されている配信スケジュールを応答する第1の応答手段と、
前記画像形成装置からのファームウェアの配信要求に対して、ファームウェアについての情報を応答する第2の応答手段と、
を有し、
前記第1の応答手段は、前記判断手段により閾値以内でないと判断された場合、前記画像形成装置からの要求に対して、前記ファームウェアを配信した際の配信時間に基づいて再スケジュールされた配信スケジュールと、前記画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示とを応答することを特徴とする配信システム。 - 前記第2の応答手段は、前記ファームウェアを配信した際の配信時間が、前記取得手段により取得された前記配信想定時間よりも短い場合、前記登録手段により登録されている配信スケジュールにおける前記配信対象の画像形成装置の台数を、前記配信時間に基づいて配信可能な分だけ追加するよう前記配信スケジュールを再スケジュールして前記画像形成装置からの配信要求に応答することを特徴とする請求項1に記載の配信システム。
- 前記第2の応答手段は、前記ファームウェアを配信した際の配信時間が、前記取得手段により取得された前記配信想定時間よりも長い場合、前記登録手段により登録されている配信スケジュールにおける前記配信対象の画像形成装置の台数を、前記配信時間に基づいて配信不可能な分だけ削減し、削減した台数分に対する前記ファームウェアの配信を翌日以降で再スケジュールするか、又はキャンセルして前記画像形成装置からの配信要求に応答することを特徴とする請求項1に記載の配信システム。
- 前記ファームウェアについての情報には、前記ファームウェアの格納場所情報であるアドレス情報が含まれることを特徴とする請求項1乃至3の何れか1項に記載の配信システム。
- 前記定期的な問い合わせを行わせる指示には、問い合わせ間隔を示す時間情報が含まれることを特徴とする請求項1乃至4の何れか1項に記載の配信システム。
- 前記定期的な問い合わせを行わせる指示に従い、前記画像形成装置による前記問い合わせが、ファームウェアの配信終了時刻まで実行されることを特徴とする請求項1乃至5の何れか1項に記載の配信システム。
- 前記登録手段により登録されている前記配信スケジュールには、ユーザにより予約設定された前記ファームウェアの配信予約時間が含まれ、
前記配信予約時間と、前記取得手段により取得された前記配信想定時間との比較に基づいて、前記配信予約時間以内に前記ファームウェアの配信が完了するか否かを判断する配信可否判断手段を更に有し、
前記登録手段は、前記配信可否判断手段により配信不可能と判断された場合、ユーザにより再スケジュールされた配信スケジュールを新たな配信スケジュールとして登録する請求項1乃至6の何れか1項に記載の配信システム。 - ネットワークを介して通信可能な少なくとも1台以上の画像形成装置にファームウェアを配信する際の配信スケジュールを登録する登録ステップと、
前記ファームウェアのサイズと、ネットワーク環境情報とに基づいて、配信対象の前記画像形成装置に対して前記ファームウェアを配信するのに要すると想定される配信想定時間を取得する取得ステップと、
前記ファームウェアを配信した際の配信時間と、前記取得ステップにより取得された前記配信想定時間との差が、閾値以内であるか否かを判断する判断ステップと、
前記判断ステップにより閾値以内であると判断された場合、前記画像形成装置からの配信情報要求に対して、前記登録ステップにより登録されている配信スケジュールを応答する第1の応答ステップと、
前記画像形成装置からのファームウェアの配信要求に対して、ファームウェアについての情報を応答する第2の応答ステップと、
を含み、
前記第1の応答ステップでは、前記判断ステップにより閾値以内でないと判断された場合、前記画像形成装置からの要求に対して、前記ファームウェアを配信した際の配信時間に基づいて再スケジュールされた配信スケジュールと、前記画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示を応答することを特徴とする情報処理方法。 - コンピュータに、
ネットワークを介して通信可能な少なくとも1台以上の画像形成装置にファームウェアを配信する際の配信スケジュールを登録する登録ステップと、
前記ファームウェアのサイズと、ネットワーク環境情報とに基づいて、配信対象の前記画像形成装置に対して前記ファームウェアを配信するのに要すると想定される配信想定時間を取得する取得ステップと、
前記ファームウェアを配信した際の配信時間と、前記取得ステップにより取得された前記配信想定時間との差が、閾値以内であるか否かを判断する判断ステップと、
前記判断ステップにより閾値以内であると判断された場合、前記画像形成装置からの配信情報要求に対して、前記登録ステップにより登録されている配信スケジュールを応答する第1の応答ステップと、
前記画像形成装置からのファームウェアの配信要求に対して、ファームウェアについての情報を応答する第2の応答ステップと、
を実行させ、
前記第1の応答ステップでは、前記判断ステップにより閾値以内でないと判断された場合、前記画像形成装置からの要求に対して、前記ファームウェアを配信した際の配信時間に基づいて再スケジュールされた配信スケジュールと、前記画像形成装置に配信スケジュールの定期的な問い合わせを行わせる指示を応答することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012222441A JP2014075048A (ja) | 2012-10-04 | 2012-10-04 | 配信システム、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012222441A JP2014075048A (ja) | 2012-10-04 | 2012-10-04 | 配信システム、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014075048A true JP2014075048A (ja) | 2014-04-24 |
Family
ID=50749160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012222441A Pending JP2014075048A (ja) | 2012-10-04 | 2012-10-04 | 配信システム、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014075048A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017102802A (ja) * | 2015-12-04 | 2017-06-08 | キヤノン株式会社 | 配信システム、及び配信システムの制御方法 |
JP2017191512A (ja) * | 2016-04-14 | 2017-10-19 | キヤノン株式会社 | 更新システム、サーバ装置、画像形成装置及びそれら制御方法、並びにプログラム |
JP2019101706A (ja) * | 2017-11-30 | 2019-06-24 | 株式会社日立製作所 | 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法 |
JP2020166467A (ja) * | 2019-03-29 | 2020-10-08 | ブラザー工業株式会社 | 画像処理システム |
-
2012
- 2012-10-04 JP JP2012222441A patent/JP2014075048A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017102802A (ja) * | 2015-12-04 | 2017-06-08 | キヤノン株式会社 | 配信システム、及び配信システムの制御方法 |
JP2017191512A (ja) * | 2016-04-14 | 2017-10-19 | キヤノン株式会社 | 更新システム、サーバ装置、画像形成装置及びそれら制御方法、並びにプログラム |
JP2019101706A (ja) * | 2017-11-30 | 2019-06-24 | 株式会社日立製作所 | 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法 |
JP2020166467A (ja) * | 2019-03-29 | 2020-10-08 | ブラザー工業株式会社 | 画像処理システム |
JP7275760B2 (ja) | 2019-03-29 | 2023-05-18 | ブラザー工業株式会社 | 画像処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5677173B2 (ja) | 画像形成装置、ネットワークシステム、画像形成装置の制御方法、及びプログラム | |
JP5539129B2 (ja) | 画像形成装置、ファームェアのアップデート方法、及び、プログラム | |
CN102223392B (zh) | 打印服务器及打印装置、网络打印系统以及打印方法 | |
US20130159991A1 (en) | Image processing apparatus, server apparatus, information processing method and program therefor | |
CN102385490A (zh) | 打印作业管理系统及其控制方法 | |
JP2011248683A (ja) | クラウドコンピューティングシステム、サーバーコンピュータ、デバイス接続方法及びプログラム | |
CN103685460A (zh) | 信息处理系统和信息处理方法以及中继装置和中继方法 | |
US20080181648A1 (en) | Image forming apparatus and image forming process controlling method | |
JP2014232512A (ja) | 印刷システム、印刷サービス装置、画像形成装置、制御方法およびコンピュータプログラム | |
JP2014075048A (ja) | 配信システム、情報処理方法及びプログラム | |
JP5849639B2 (ja) | 文書管理装置及び文書管理システム | |
JP5596617B2 (ja) | ネットワークプリントシステムのクライアント装置、印刷データ生成サーバ、及び画像形成装置 | |
JP6381242B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2019045904A (ja) | 管理装置、制御方法、およびプログラム | |
JP2004005545A (ja) | ジョブ管理装置、ジョブ管理方法、制御プログラム、及びジョブ管理システム | |
JP2017191352A (ja) | システム、及び、システムの制御方法 | |
JP2020087222A (ja) | 情報処理端末、プログラム、リソース予約システム、制御方法 | |
JP6719978B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2014059688A (ja) | 情報処理装置、情報処理システム、およびプログラム | |
CN104052728A (zh) | 服务调度系统 | |
JP2019028599A (ja) | 情報処理システムおよび制御方法 | |
JP6896449B2 (ja) | ネットワーク機器とその方法 | |
JP2002230250A (ja) | ワークフロー連携処理装置、ワークフロー連携処理システム、ワークフローシステムの連携方法、そのためのプログラムおよび記録媒体 | |
JP6195352B2 (ja) | 配信制御装置、配信制御方法、プログラム、並びに、配信制御システム及びその制御方法 | |
JP2016081162A (ja) | 管理装置、情報処理装置、管理装置の制御方法、情報処理装置の制御方法、及びプログラム |