IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162326
(43)【公開日】2024-11-21
(54)【発明の名称】画像形成装置、プログラム、制御方法
(51)【国際特許分類】
   H04N 1/00 20060101AFI20241114BHJP
   G03G 21/00 20060101ALI20241114BHJP
   B41J 29/38 20060101ALI20241114BHJP
   G06F 9/445 20180101ALI20241114BHJP
   G06Q 10/10 20230101ALI20241114BHJP
【FI】
H04N1/00 912
H04N1/00 127A
G03G21/00 396
B41J29/38 201
G06F9/445
G06Q10/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023077716
(22)【出願日】2023-05-10
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】鴨井 恵子
【テーマコード(参考)】
2C061
2H270
5B376
5C062
5L010
5L049
【Fターム(参考)】
2C061AP01
2C061AP07
2C061HK05
2C061HK19
2C061HN05
2C061HN15
2H270KA59
2H270KA61
2H270KA62
2H270LA70
2H270LA97
2H270NB22
2H270ND06
2H270ND21
2H270ND27
2H270ZC03
2H270ZC04
5B376AE25
5B376GA01
5C062AA05
5C062AA13
5C062AA25
5C062AA35
5C062AB02
5C062AB08
5C062AB20
5C062AB38
5C062AB41
5C062AB42
5C062AB43
5C062AB44
5C062AB46
5C062AC02
5C062AC04
5C062AF06
5C062AF12
5C062AF15
5L010AA20
5L049AA20
(57)【要約】
【課題】 指示書内で指定された予約時刻にコマンドを実行する画像形成装置では、当該画像形成装置が起動していない状態で当該指定された予約時刻を過ぎてしまうと、当該指示書の実行をキャンセルする。しかしながら、指示書の内容によっては、予約時刻を過ぎた場合でも当該指示書のコマンドを実行させたい場合がある。
【解決手段】 現在時刻が実行予約時刻を超過していたとしても、指示書内に契約に関連する所定のタグが含まれている場合は、当該指示書に含まれているコマンドを即時実行するように制御する。一方、現在時刻が実行予約時刻を超過し、かつ、指示書内に契約に関連する所定のタグが含まれていない場合は、エラー情報を通知する。
【選択図】 図11
【特許請求の範囲】
【請求項1】
指定された実行予約時刻に画像形成装置の構成を変更する処理を実行させるためのコマンドを含む指示書を受信する受信手段と、
前記実行予約時刻に基づいてタイマを設定する設定手段と、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれていない場合、エラー情報を通知するように制御する通知手段と、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれている場合、当該指示書に含まれている前記コマンドを即時実行するように制御する制御手段と、
を備えることを特徴とする画像形成装置。
【請求項2】
前記制御手段は、前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれている場合、当該指示書に含まれている前記コマンドが他のコマンドよりも優先して実行されるように制御する、ことを特徴とする請求項1に記載の画像形成装置。
【請求項3】
指定された実行予約時刻に画像形成装置の構成を変更する処理を実行させるためのコマンドを含む指示書を受信する受信手段と、
前記実行予約時刻に基づいてタイマを設定する設定手段と、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれていない場合、エラー情報を通知するように制御する通知手段と、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグとリトライポリシーとが含まれている場合は、前記指示書の実行予約時刻を前記リトライポリシーに基づいて変更する一方、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する前記所定のタグが含まれているが前記リトライポリシーが含まれていない場合は、当該指示書に含まれている前記コマンドを即時実行するように制御する制御手段と、
を備えることを特徴とする画像形成装置。
【請求項4】
画像形成装置のコンピュータを、請求項1乃至3のいずれか1項に記載の各手段として機能させるためのプログラム。
【請求項5】
画像形成装置を制御するための制御方法であって、
指定された実行予約時刻に前記画像形成装置の構成を変更する処理を実行させるためのコマンドを含む指示書を受信する受信ステップと、
前記実行予約時刻に基づいてタイマを設定する設定ステップと、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれていない場合、エラー情報を通知するように制御する通知ステップと、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれている場合、当該指示書に含まれている前記コマンドを即時実行するように制御する制御ステップと、
を備えることを特徴とする制御方法。
【請求項6】
前記制御ステップでは、前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれている場合、当該指示書に含まれている前記コマンドが他のコマンドよりも優先して実行されるように制御する、ことを特徴とする請求項5に記載の制御方法。
【請求項7】
画像形成装置を制御するための制御方法であって、
指定された実行予約時刻に画像形成装置の構成を変更する処理を実行させるためのコマンドを含む指示書を受信する受信ステップと、
前記実行予約時刻に基づいてタイマを設定する設定ステップと、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれていない場合、エラー情報を通知するように制御する通知ステップと、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグとリトライポリシーとが含まれている場合は、前記指示書の実行予約時刻を前記リトライポリシーに基づいて変更するステップと、
前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する前記所定のタグが含まれているが前記リトライポリシーが含まれていない場合は、当該指示書に含まれている前記コマンドを即時実行するように制御するステップと、
を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指示書に基づく処理を実行する画像形成装置、プログラム、制御方法に関する。
【背景技術】
【0002】
MFP(複合機)や画像形成装置などの装置(デバイス)をクラウドサービスに接続して、当該装置とクラウドサービス間で自動的に機器管理情報を送受信することで、当該装置の管理をしやすくしたり、メンテナンス性を向上させたりできる。クラウドサービスは、例えば、稼働している情報処理装置で発生した各種イベントの通知を受けエラー等を監視するサービスや、定期的に印刷枚数カウンタ情報や消耗品の状態に関する情報などを吸い上げて課金やメンテナンスに利用するサービス、などがある。これらのサービスを利用することで装置の管理効率化がなされている。
【0003】
特許文献1には、管理対象の装置が機器管理情報をサーバに送信する際に必要な初期設定を、サービスマンが管理対象の装置上に表示させた設定画面上で行う例に加え、ウェブブラウザを用いてリモートで行うことが開示されている。リモートで設定を行う場合、サービスマンは現場に出動する必要がなくなるので、現場出動コストを削減できるようになる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-144531号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
顧客がクラウドサービスを契約した場合、当該サービスの利用に必要なアプリケーション群を契約の開始日までに当該顧客の装置(以降、デバイスと呼ぶ)にインストールしたり、契約終了日には当該アプリケーションをアンインストールしたりする必要がある。しかしながら、オフィス環境のデバイスなどは、業務時間中は使用中である可能性が高いため、アプリケーションのインストールやアンインストールを伴うデバイスの構成変更を即時実行するようにリモートで指示することが難しい場合がある。このような場合に対応するため、構成変更タイミング(実行日時)を指定した指示書をデバイスに登録しておき、当該指定された実行日時(タイマ発火日時)に、当該指示書で指定された構成変更をデバイスに自動適用することが考えられる。また一方で、ファイアウォールに守られたデバイスの場合、外部サーバからリモートでデバイスにアクセスすることが難しいため、デバイス側から定期的に外部サーバにアクセスして、指示書を取得しておく必要がある。しかしながら、指示書を取得していたとしても、当該デバイスが起動していない等で、タイマ発火日時が過ぎてしまうと当該指示書の処理は実行されずにキャンセルされる。その場合、デバイスは定期的(例えば6時間ごと)に外部サーバにアクセスするので、次にアクセスしたときに新たな指示書を再取得して、構成変更の指示を受けることになる。そのため、指示書で指定日時にアプリのアンインストールを行うよう指示されていたとしても、デバイスが起動していない等で指定日時が過ぎ当該指示書がキャンセルされてしまった場合は、新たな指示書を再取得するまでアプリがアンインストールされない。このような場合、契約期間を超えて当該アプリを利用可能になってしまう可能性があった。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の画像形成装置は、指定された実行予約時刻に画像形成装置の構成を変更する処理を実行させるためのコマンドを含む指示書を受信する受信手段と、前記実行予約時刻に基づいてタイマを設定する設定手段と、前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグが含まれていない場合、エラー情報を通知するように制御する通知手段と、前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する所定のタグとリトライポリシーとが含まれている場合は、前記指示書の実行予約時刻を前記リトライポリシーに基づいて変更する一方、前記設定されたタイマが所定の状態になった際の現在時刻が前記実行予約時刻を超過しており、かつ、当該指示書内に契約に関連する前記所定のタグが含まれているが前記リトライポリシーが含まれていない場合は、当該指示書に含まれている前記コマンドを即時実行するように制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【0007】
指示書の実行予約時刻を過ぎてしまっていたとしても、指示書内に契約に関連する所定のタグ(所定の情報)が含まれている場合は、当該指示書はキャンセルはせずに、当該指示書内に記述されている各種コマンドを確実に実行できる。
【図面の簡単な説明】
【0008】
図1】画像形成装置のハードウェア構成図である。
図2】画像形成装置のソフトウェアモジュール階層図である。
図3】ソフトウェア配信サービスのモジュール構成を示すブロック図である。
図4】画像形成装置とソフトウェア配信サービスのネットワーク構成を示すブロック図である。
図5】ネットワークデバイス管理システム403を構成する各サーバーのハードウェア的な構成の一例を示す図である。
図6】ネットワークデバイス管理システム403、ソフトウェア配信サービスのモジュール構成を示すブロック図である。
図7】ソフトウェア配信サービスから画像形成装置への指示書の流れを示すブロック図である。
図8】指示書の具体例を示した図である
図9】契約関連の指示書とリトライポリシーを定義した指示書の具体例を示した図である。
図10A】ログイン画面。
図10B】デバイスリストタブを表示したデバイス管理画面。
図10C】タスク管理タブを表示したデバイス管理画面。
図10D】コンテンツ管理タブを表示したデバイス管理画面。
図10E】ライセンス管理タブを表示したデバイス管理画面。
図10F】FW管理タブを表示したデバイス管理画面。
図10G】デバイスと紐づけボタン1023が押下された際のデバイス管理画面。
図10H】その他設定タブを表示したデバイス管理画面。
図10I】タスク管理タブで新規作成ボタンが押下された場合のデバイス管理画面。
図10J】タスク・サービスを適用する対象となるデバイスを選択する際の画面。
図10K】ソフトウェア配信サービスの詳細設定を行う際の画面。
図10L】指示書が生成されたことを通知する画面。
図10M】タスクIDと指示書Noを一覧表示した画面。
図10N】指示書の実行状態の確認画面。
図10O】キャンセル実行確認画面。
図10P】キャンセル実行画面。
図11】本実施例1、2に係る画像形成装置のフローチャートである。
図12】本実施例1、2に係るソフトウェア配信サービスのフローチャートである。
図13】本実施例3に係る画像形成装置フローチャートである。
図14】本実施例3に係るソフトウェア配信サービスのフローチャートである。
図15】コマンドとパラメータの対応表。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものではなく、また、実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
【実施例0010】
図1は、プリント機能やスキャン機能、ネットワーク通信機能などを備える画像形成装置130のハードウェア構成図である。画像形成装置130は、スキャナ部113やプリンタ部114と電気的に接続され、また、LAN116等を介して外部デバイスと接続される。
【0011】
CPU101は、ROM102に記憶された制御プログラム等に基づいて接続中の各種ハードウェアとのアクセスを統括的に制御し、またコントローラ内部で行われる各種処理についても統括的に制御する。ROM102は、読み出し専用の不揮発性記憶領域であり、画像形成装置130のブートプログラム、ファームウェアなどが格納されている。RAM103は、CPU101が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。RAM103は、不揮発性のSRAM(Static RAM)、FRAM(登録商標)(Ferroelectric RAM)や、揮発性のDRAM(Dynamic RAM)などにより構成される。HDD104は不揮発性記憶領域であり、システムバンドルや後入れバンドルなどを格納する。画像形成装置のファームウェアは、HDD104に格納される。HDD104が故障により交換されても、RAM103に影響が及ぶことはない。
【0012】
操作部I/F105は、システムバス119と操作部118を接続するインターフェース部である。具体的には操作部118に表示するデータをシステムバス119から受取り表示すると共に、操作部118からの入力情報をシステムバス119へ出力する。画像形成装置130に対するユーザの指示や情報提示は、操作部118を介して行う。
【0013】
ネットワークI/F106はLAN116、WAN117及びシステムバス119に接続し、外部機器との情報の入出力を行う。スキャナI/F108は、スキャナ部113から受取った画像データに対して、補正、加工、及び編集を行う。画像形成部109は、画像データの方向変換、画像圧縮、伸張部などを行う。プリンタI/F110は、画像形成部109から送られた画像データを受取り、画像形成後にプリンタ部114にて印刷する。
【0014】
図2は、画像形成装置130のソフトウェアモジュール階層図200である。なお、図2以降に示す各ソフトウェアはROM102、もしくは、HDD104に保存され、CPU101にて実行される。また、実行時に使用する各種情報はRAM103もしくはHDD104に保持してソフトウェア機能間での各種情報のやりとりを行う。
【0015】
画像形成装置130のソフトウェアモジュールは、まず、オペレーティングシステム(OS)プラットフォーム201を含む。また、ファームウェア250は、画像形成装置130に組み込まれたハードウェアの基本的な制御を行う。このファームウェア250を更新することで、画像形成装置130に機能追加することが可能となる。
【0016】
UI202は、ユーザインタフェースモジュールであり、オペレータが画像形成装置130に対する各種操作・設定を行う際に、装置とユーザ操作との仲介を行うモジュールである。このモジュールは、オペレータの操作に従い、各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定変更等を行う。
【0017】
次に、JAVA(登録商標)側の構成について述べる。JAVA側のソフトウェアプラットフォームは、JavaVM207のランタイム環境として構成されており、インタプリタとしてのJavaVM207、ライブラリ208、フレームワーク群209で構成される。ライブラリ208は、標準のAPIライブラリを含んで構成される。フレームワーク群209は、OSGi210を含んで構成され、このOSGi210は、単一のJavaVM207において複数のバンドル(ソフトウェア部品)を動作させる。更に、OSGi拡張部211は、インターフェース仕様であるOSGi210に対する実装部分を担うモジュールである。OSGi拡張部211は、OSGi210の仕様を満たす範囲で必要に応じて機能を拡張可能であることを示す。このOSGi210、及びOSGi拡張部211は、バンドルのライフサイクルの管理やバンドル間通信機能などを提供する。このOSGi210上には、複数のシステムバンドル群212がある。システムバンドル212としては、コピー、スキャン、プリント等(不図示)の画像形成装置130の基本的な組み込み機能に関するソフトウェアがある。
【0018】
バンドル管理サービス214は、複数のバンドルの追加/更新インストール、アンインストール、開始、停止などバンドルのライフサイクルを管理するシステムバンドルである。
【0019】
ファームウェア更新サービス215は、ダウンロードしたファームウェア250をインストールするシステムバンドルである。
【0020】
指示書実行サービス216は、クラウドから受信した構成変更指示の指示書を解析し、指定された順番に処理を実行していくシステムバンドルである。この指示において、後入れバンドル219のインストールが指示された場合、バンドル管理サービス214にダウンロードしたバンドルインストールを依頼する。一方、この指示において、ファームウェア250の更新指示があった場合、ファームウェア更新サービス215にダウンロードしたファームウェア250更新を依頼する。
【0021】
ログインサービス217は、画像形成装置130の認証管理機能を担うサービスである。このログインサービスは、画像形成装置130を管理するうえで、同時には1つだけ動作できる仕組みとなっている。即ち、新たにログインサービスを利用するためには、一度元々動作していたログインバンドルを停止させ、新たに動作させたい他のログインバンドルを開始させる必要がある。
【0022】
システムバンドル群212に対して、後からインストールするタイプの後入れバンドル群218がある。後入れバンドル群218の代表として、バンドル219は、画像形成装置130において各種機能をユーザに提供する。機能としては、画像の加工機能、認証管理機能、印刷制限などの部門管理機能などさまざまな機能がある。例えば、認証管理機能において、独自の認証管理をするために、その管理機能を持つ後入れログインバンドルをインストールし、その新たにインストールしたログインバンドルにログインサービス217を切り替えて利用することができる。
【0023】
各種機能を実現する後入れバンドル219は、バンドル管理サービス214の管理下で動作する。バンドル管理サービス214は、追加されたバンドルのバンドルID、バンドルバージョンを含むバンドル情報を保持している。バンドルID、バンドルバージョンから一意にバンドルを特定できる。
【0024】
図3は、指示書実行サービス216のモジュール構成を示すブロック図である。指示受信部300は、複数のコマンドから成る指示書をクラウドから受信するモジュールである。コマンド解釈部301は、受信した指示書に記載されたコマンドを解釈するモジュールである。コマンドは、図7で示すコマンドごとに決められたパラメータが記載されているので、そのパラメータを取得し、コマンドごとにコマンドオブジェクトを生成していく。コマンドオブジェクトは、コマンドとコマンドに必要なパラメータをセットで保持するものとなる。シーケンス制御部302は、コマンド解釈部301によって、生成されたコマンドオブジェクトを、順次シーケンス的に実行していくモジュールである。
【0025】
動作履歴生成部303は、指示書に記載された全てのコマンドを実行後、動作履歴管理部304に記憶しておいた全てのコマンド実行結果を用いて動作履歴を生成する。動作履歴管理部304は、コマンドを実行毎に実行結果を保存し管理する管理するモジュールである。動作履歴管理部304に、指示書番号とコマンド番号で問い合わせれば、対応する実行結果を取得する機能を備える。
【0026】
図4は、画像形成装置とソフトウェア配信サービスのネットワーク構成を示すブロック図である。画像形成装置130は、インターネット401を通じて、クラウド402上にあるネットワークデバイス管理システム403、ソフトウェア配信サービス404、バックアップサービス405と通信をしている。
【0027】
ソフトウェア配信サービス404は、ソフトウェア配信サービス404の指示操作UIにおける指示に従って、ネットワークデバイス管理システム403を通して、画像形成装置130に指示書を送信し、画像形成装置130の構成を制御する。
【0028】
図5は、クラウド402を構成する各サーバーのハードウェア的な構成の一例を示す図である。ここでは、ソフトウェア配信サービス404を提供するサーバーを例にして説明する。
【0029】
ソフトウェア配信サービス404を提供するサーバーは、制御手段501に、記憶手段505、入力手段507、出力手段508、通信制御手段509、記憶媒体駆動手段710などがバスライン711を介して接続することにより構成されている。
【0030】
制御手段501は、CPU502、ROM504、RAM503などから構成されている。CPU502は、所定のプログラムを実行することにより、各種の演算・情報処理などを行う。ROM504は、読み込み専用の記憶装置であり、ソフトウェア配信サービス404を動作させるための基本的なプログラムやデータ、パラメータなどが格納されている。RAM503は、ランダムアクセス可能な記憶装置であり、例えば、CPU502がプログラムを実行する際のワーキングエリアを提供する。
【0031】
記憶手段505は、例えば、大容量のハードディスクなどで構成された読み書き可能な記憶媒体であり、プログラム格納部506などが設けられている。プログラム格納部506には、OS(713)、その他のプログラムが格納されている。
【0032】
入力手段507は、キーボードやマウスなどの入力装置から構成されている。出力手段508は、表示装置や印刷装置などの出力装置から構成されている。記憶媒体駆動手段710は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。通信制御手段509は、インターネットを介して、画像形成装置130やその他の端末、サーバー装置などと通信するための機能部である。
【0033】
図6は、ネットワークデバイス管理システム403と、ソフトウェア配信サービス404のモジュール構成を示すブロック図である。
【0034】
まず、ネットワークデバイス管理システム403のブロック図について説明する。ネットワークデバイス管理システム403上のプログラムは、WWWサーバープログラム上で動作し、タスクを操作するユーザは不図示のクライアントPC上のWWWブラウザプログラムを介してプログラムの制御をおこなうものとする。ネットワークデバイス管理システム403の全体制御部600は、システム全体を制御するモジュールであり、必要に応じてデバイス管理部601、デバイス探索部602、WEBサービス制御部603、顧客情報管理部604、タスク管理部605、および、その他のモジュールに制御を振り分ける。
【0035】
デバイス管理部601は、管理対象デバイス(管理対象の画像形成装置130)に対する情報の取得、および、設定を行う処理の実行を制御する機能モジュールである。デバイス探索部602は、ネットワークに接続された複合機能デバイス(画像形成装置など)を検出する処理の実行を制御する機能モジュールである。WEBサービス制御部603は、デバイス管理部601、デバイス探索部602の各モジュールの処理やその他の設定情報を管理対象デバイスとXML形式で各種の情報を送受信するための機能モジュールである。
【0036】
顧客情報管理部604は、管理対象デバイスとその顧客情報を管理、紐づけを行うための機能モジュールである。タスク管理部605は、ネットワークデバイス管理システム403上で動作する各種サービスの管理やその他タスクと、管理対象デバイスの紐づけを行うための機能モジュールである。コンテンツ管理部606は、ネットワークデバイス管理システム403上で動作する各種サービスの管理やその他タスクが扱うコンテンツの管理と、管理対象デバイスの紐づけを行うための機能モジュールである。
【0037】
データベース部607は、デバイス管理部601、デバイス探索部602、WEBサービス制御部603、顧客情報管理部604、タスク管理部605の各モジュールが使用する情報やその実行結果、および、各種の設定情報や履歴情報を格納するための機能モジュールである。
【0038】
ファームウェアプール608は、画像形成装置に適用可能なファームウェア一式が保存されている。主に、コンテンツ管理部606によって管理、制御される。
【0039】
バンドルプール609は、画像形成装置にインストール可能なバンドルの実体が保存されている。主に、コンテンツ管理部606によって管理、制御される。
【0040】
次に、図6のソフトウェア配信サービス404のモジュール構成を示すブロック図について説明する。
【0041】
指示操作UI部620は、画像形成装置130に送信する指示書を指定するUIである。指示送受信部621は、指示操作UI部620によって、指定された指示書を画像形成装置130に送信するモジュールである。また、画像形成装置130で実行された指示書の結果を受信する。
【0042】
実行履歴管理部622は、実行した指示書の結果を記憶し、管理しているモジュールである。実行履歴UI部623は、実行履歴管理部622で管理している指示書をUIに表示する。
【0043】
配信予約管理部624は、配信データの管理と、管理対象デバイスの紐づけを行うための機能モジュールである。管理対象デバイスの情報は、ネットワークデバイス管理システム403を介して、データベース部607にアクセスすることで取得する。また、契約期間や配信データの種別に基づいて、配信予約を登録することを可能とする機能を備える。なお、画像形成装置130からのファームウェアバージョンをインプットとした要求を受けた場合に、ネットワークデバイス管理システム403を介して、ファームウェアプール608にアクセスし、そのファームウェア250の実体を画像形成装置130に送信する機能を備える。バンドルプール609においても同様で、画像形成装置130からのバンドルIDとバージョンをインプットとした要求に応じて、ネットワークデバイス管理システム403を介して、バンドルプール609にアクセスし、そのバンドルの実体を画像形成装置130に送信する機能を備える。
【0044】
指示書生成部625は、配信予約管理部624にて保持されている情報を用いて、指示書構成をUIに表示する。キャンセル実行部626は、実行中ステータスの指示書のキャンセル実行を行う。
【0045】
図7は、ソフトウェア配信サービス404からネットワークデバイス管理システム403、画像形成装置130への指示書の流れを示すブロック図である。
【0046】
S700において、指示操作UI部620は、ユーザの指示に基づいて、指定された指示書を指示書生成部625で生成させ、当該生成された指示書を指示送受信部621に渡す。
【0047】
S701において、指示送受信部621は、ネットワークデバイス管理システム403のタスク管理部605およびデバイス管理部601を介して、画像形成装置130の指示受信部300に指示書を送信する。ここでは、ソフトウェア配信サービス404から画像形成装置130の指示受信部300へ指示書を送信する形式としているが、ファイアウォールの設定により、外部クラウドサービスから画像形成装置130に直接指示することが難しい環境もある。その場合、指示受信部300が、定期的にソフトウェア配信サービス404に指示書の有無を確認し、指示書がある場合にその指示書をダウンロードして受信する形式にしてもよい。
【0048】
S702において、指示書を受信した指示受信部300は、コマンド解釈部301に当該指示書のコマンド解釈を依頼する。
【0049】
S703において、指示書を受信したコマンド解釈部301は、コマンドオブジェクトを生成し、シーケンス制御部302に渡す。なお、ここで指示書の各コマンドの実行は、指示書に記載された指示書実行時刻に実行される。指示書実行時刻が即時実行指定の場合は、すぐに実行されるが、それ以外の場合は、その時刻がくると動き出すタイマを仕掛け、指定時刻になった時点で実行される。
【0050】
指示書に記載されたコマンドの内容によって挙動は異なるが、以下では、一例として、ファームウェアとバンドルをダウンロードし、ファームウェアを更新し、さらにバンドルをインストールする、という指示が為されている場合を用いて説明していく。
【0051】
S704において、指示書にファームウェアのダウンロードコマンド821が指定されていた場合、シーケンス制御部302は、コマンドで指定されたバージョンのファームウェアをファームウェアプール608に取得しにいき、HDD104の特定の置き場所にダウンロードする。また、指示書にバンドルのダウンロードコマンド823が指定されていた場合、シーケンス制御部302は、コマンドで指定されたバンドルID、バージョンのバンドルをバンドルプール609に取得しにいき、HDD104の特定の置き場所にダウンロードする。
【0052】
S705において、指示書にファームウェア更新コマンド822が指示されていた場合、シーケンス制御部302は、S704でダウンロードしてきたファームウェアをファームウェア更新サービス215に渡し、ファームウェアの更新を行わせる。
【0053】
また、S706において、指示書にバンドルインストールコマンド824が指示されていた場合、シーケンス制御部302は、S704でダウンロードしてきたバンドルをバンドル管理サービス214に渡し、バンドルのインストールを行わせる。
【0054】
なお、シーケンス制御部302は、S705およびS706で指示書に記載された各コマンドを実行した結果をログに記録しておく。
【0055】
S707において、指示書(例えば図8)に記載された全てのコマンドを実行後、シーケンス制御部302は、動作履歴生成部303に、指示書に対応した動作履歴の生成を依頼する。動作履歴生成部303は、動作履歴管理部304からログを読み出し、動作履歴を生成する。
【0056】
S708にて、指示書の全てのコマンドを実行後、シーケンス制御部302は、ソフトウェア配信サービス404の指示送受信部621にコマンド実行結果を送信する。そして、S709において、指示送受信部621は、実行履歴管理部622に、受信した実行結果を登録する。
【0057】
また、S710において、実行履歴UI部623は、実行履歴UIを表示する場合、実行履歴管理部622から実行結果を取得し、表示する。
【0058】
図15は、指示書で使用可能なコマンドとそのパラメータとを示す対応表である。本実施例で扱う、構成変更制御指示に関する複数の種類のコマンド(1500)とパラメータ(1501)を示している。それぞれのコマンドごとに各項目の説明を行う。
【0059】
(1)FirmwareDownloadは、ファームウェアダウンロード指示のコマンドである。パラメータは、ダウンロードするファームウェア250を指定するバージョンと、ダウンロード番号となる。
【0060】
(2)FirmwareUpdateは、ファームウェア更新指示のコマンドである。パラメータは、FirmwareDownloadでダウンロードしたダウンロード番号を指定する。即ち、FirmwareDownloadでダウンロードしたファームウェアでファームウェア更新を行う。
【0061】
(3)BundleDownloadは、バンドルダウンロード指示のコマンドである。パラメータは、ダウンロードするバンドルを指定するバンドルIDとバンドルバージョン、及び、ダウンロード番号となる。
【0062】
(4)BundleInstallは、バンドル新規インストール指示のコマンドである。パラメータは、BundleDownload(コマンド1)でダウンロードしたダウンロード番号と、バンドルをインストールするために必要なライセンス情報を指定する。即ち、BundleDownloadでダウンロードしたバンドルでバンドルの新規インストールを行う。
【0063】
(5)BundleUpdateは、バンドル更新インストール指示のコマンドである。パラメータは、BundleDownloadでダウンロードしたダウンロード番号と、バンドルをインストールするために必要なライセンス情報を指定する。即ち、BundleDownloadでダウンロードしたバンドルでバンドルの更新インストールを行う。
【0064】
(6)BundleStartは、バンドル開始指示のコマンドである。パラメータは、開始したいバンドルを指定するバンドルIDである。
【0065】
(7)BundleStopは、バンドル停止指示のコマンドである。パラメータは、停止したいバンドルを指定するバンドルIDである。
【0066】
(8)BundleUninstallは、バンドルアンインストール指示のコマンドである。アンインストールしたいバンドルを指定するバンドルIDである。
【0067】
(9)DeviceRebootは、画像形成装置を再起動するコマンドである。パラメータは、不要である。
【0068】
図8は、指示書の具体例を示した図である。
【0069】
まず、指示書800について説明する。指示書800は、2つのコマンドシーケンス810,820が定義されている例である。InstructionId801は、指示書の番号を示し、指示書毎にユニークな番号を割り当てる。
【0070】
指示書800に含まれるコマンドシーケンス810について説明する。ID811は、コマンドシーケンスの番号を示し、コマンドシーケンス毎にユニークな番号を割り当てる。時刻812は、コマンドシーケンス実行時刻であり、コマンドシーケンスを実行する日時を示す。コマンド813は、ファームウェアダウンロード指示を示すFirmwareDownloadコマンドである。また、order指定は、コマンド番号となり、1から順番に割り振る。ここでは、ダウンロード番号を1とし、ファームウェアバージョンは2.0を指定している。コマンド814は、ファームウェア更新指示を示すFirmwareUpdateコマンドである。ここでは、コマンド番号1のFirmwareDownloadでダウンロードしたファームウェアを適用するために、ダウンロード番号1を指定している。
【0071】
次に、指示書800に含まれるコマンドシーケンス820について説明する。ID821は、コマンドシーケンス番号であり、002が指定されている。時刻822は、コマンドシーケンス実行時刻であり、コマンドシーケンスを実行する日時を示す。時刻822は、すぐに実行するImmediateが指定されている例である。
【0072】
コマンド823は、バンドルダウンロード指示を示すBundleDownloadコマンドである。ここでは、ダウンロード番号を1とし、バンドルID1234567、バンドルバージョンは2.0を指定している。コマンド824は、バンドル新規インストール指示を示すBundleInstallコマンドである。ここでは、コマンド番号1のBundleDownloadでダウンロードしたバンドルを適用するために、ダウンロード番号1を指定している。また、バンドルインストールに必要なライセンス情報がある。コマンド825は、バンドル開始指示を示すBundleStartコマンドである。ここでは、コマンド番号2でインストールしたバンドルを開始するために、バンドルID1234567を指定している。
【0073】
次に、指示書802について説明する。指示書802は、1つのコマンドシーケンス830が定義されている例である。InstructionId803は、指示書の番号を示し、指示書毎にユニークな番号を割り当てる。
【0074】
指示書802に含まれるコマンドシーケンス830について説明する。ID831は、コマンドシーケンス番号であり、003が指定されている。時刻832は、指示コマンドシーケンス実行時刻であり、コマンドシーケンスを実行する時刻を示す。コマンド833は、バンドルダウンロード指示を示すBundleDownloadコマンドである。ここでは、ダウンロード番号を1とし、バンドルID9876543、バンドルバージョンは1.0を指定している。コマンド834は、バンドル新規インストール指示を示すBundleInstallコマンドである。ここでは、コマンド番号1のBundleDownloadでダウンロードしたバンドルを適用するために、ダウンロード番号1を指定している。また、バンドルインストールに必要なライセンス情報が記載されている。
【0075】
なお、この指示書800や指示書801は、手動で作成されるようにしてもよいし、また、ソフトウェア配信サービス404において、指示者に指示書作成UI(不図示)を示し、そこでの指示に基づきシステムが自動で作成する方式でもよい。本実施例においては、ユーザとの契約に連動して、システムが自動作成するものとする。本実施例に係る具体的なUIや詳細な処理フローについては、図10図11で説明する。
【0076】
なお、図8に示した指示書の例では、XML形式で記述されているが、記述形式はXML形式に限定されるものではない。
【0077】
図9は、契約関連の指示書とリトライポリシーを定義した指示書の具体例を示した図である。
【0078】
まず、指示書900について説明する。指示書900は、2つのコマンドシーケンス910,920が定義されている例である。InstructionId901は、指示書の番号を示し、指示書毎にユニークな番号を割り当てる。
【0079】
指示書900に含まれるコマンドシーケンス910について説明する。コマンド911~915は、図8のコマンド811~815と同様のコマンドであるため、詳細な説明は省略する。コマンド916は、契約関連のタグであり、契約開始時に適用するコマンドシーケンスである。該当するコマンドシーケンスのコマンド定義の中に、Agreementタグが定義される。ここでは契約開始時適用を意味するStartを指定している。
【0080】
次に、指示書900に含まれるコマンドシーケンス920について説明する。コマンド921~924は、図8のコマンド821~824と同様のコマンドであるため、詳細な説明は省略する。コマンド925は、契約関連のタグであり、契約終了時に適用するコマンドシーケンスである。該当するコマンドシーケンスのコマンド定義の中に、Agreementタグが定義される。ここでは契約終了時適用を意味するEndを指定している。
【0081】
次に、指示書902について説明する。InstructionId903およびコマンド931~936の説明は、指示書900のInstructionId901およびコマンド911~916と同様であるため詳細説明は省略する。RetryPolicy937は、ソフトウェア配信サービス404が、ネットワークデバイス管理システム403を通して、顧客情報管理部604から読みだしたコマンド種類毎にエラーリトライ時刻を定義し管理するテーブル(1032)の情報を指示書に反映した例である。このRetryPolicy903が含まれているコマンドシーケンスの場合、現在の時刻が実行予約時刻を超過していたとしても、指示書内に定義されたリトライポリシーに従い、次の配信予約を指示書実行サービス216が決める。コマンド毎に配信時刻、曜日を指定することができ、図9の指示書902のRetryPolicy937の例では、FirmwareDownloadとFirmwareUpdateのコマンドのリトライ日時として、夜中0:00-5:00の間であって、さらに日曜日が指定されている。その他コマンドは、リトライポリシーの定義がなされていない。指示書実行サービス216はエラーした指示書の内容を全てパースして、リトライポリシーの定義があるコマンドを含んでいる場合に、RetryPolicy903の内容に従い、指示書を再登録する。
【0082】
なお、この指示書900や指示書901は、本実施例においては、ユーザとの契約に連動して、システムが自動作成するものとする。本実施例に係る具体的なUIや詳細な処理フローについては、図10図11で説明する。また、図8同様、指示書900や901の例では、XML形式で記述されているが、記述形式はXML形式に限定されるものではない。
【0083】
図10A~10Pは、本実施例に係るネットワークデバイス管理システム403により提供されるUI画面の例である。
【0084】
図10Aにおいて、ユーザは、ネットワークデバイス管理システム403が提供するWebページのログイン画面1001にアクセスする。そして、ログイン画面において、例えば、「CompanyA」テナントの設定管理権限を有するユーザのアカウント「CompanyA」とログイン用のパスワードが入力されると、ネットワークデバイス管理システム403にログインする。ログインすると、図10Bの画面に遷移する。
【0085】
図10Bは、デバイス管理画面1002である。ログインしたユーザが属する「CompanyA」のテナントで管理されているデバイスの一覧(デバイスリストテーブル1009)が、デバイスリスト1003のタブ押下に応じて表示される。ネットワークデバイス管理システム403のデバイス管理部601を通してリストを取得する。
【0086】
また、1004はタスク管理画面への切り替えタブである。1005はコンテンツ管理画面への切り替えタブである。1006はその他の設定に関する画面への切り替えタブである。1007はログアウトボタンであり、押下するとログアウト処理が行われて、図10Aの画面に戻る。1008はラジオボタンであり、デバイスリストテーブル1009に表示されているデバイスを個々に選択することができる。一括選択ボタン1010を押下するとデバイスリストテーブル1009に表示されているデバイスすべてを一括で選択することができる。
【0087】
デバイスリストテーブル1009に表示されている各項目について説明する。顧客名は「CompanyA」のテナントで管理されている顧客名を示す。デバイスIDは、画像形成装置をシステム内で一意に識別するIDを示す。デバイス名は、画像形成装置のデバイス名を示す。IPアドレスは、画像形成装置のアドレスを示す。機種は、画像形成装置の機種を示す。個体識別子は、画像形成装置の個体識別子であり、各画像形成装置でユニークなIDを示す。状況は、画像形成装置のステータスを示す。upがオンライン状態、downがオフライン状態を示している。セキュリティレベルは、デバイスのセキュリティ状態である。例えば、セキュリティ設定をあるポリシーベースで監視していて異常がある場合はWarningが示される。1011は登録ボタンである。「CompanyA」のテナントに新規デバイスを登録することができる。1012は削除ボタンであり、「CompanyA」のテナントからラジオボタン1008で選択されたデバイスを削除することができる。1013は編集ボタンであり、ラジオボタン1008にて選択したデバイスの情報を書き換えることができる。
【0088】
なお、デバイスリストテーブル1009に表示する項目は、デバイスに関する項目であれば、これに限定されるものではない。
【0089】
図10Cは、デバイス管理画面1002のタスク管理1004のタブが選択された場合に表示される画面である。登録されているタスク・サービスのリストテーブルが1014に表示される。
【0090】
タスク・サービスのリストテーブル1014に表示されている各項目について説明する。Nameはタスク・サービスの名前である。タスクIDは、タスク・サービスを一意に識別するIDを示す。状態は、各種タスク・サービスのステータスを示す。Activeがオンライン状態、Deactiveがオフライン状態を示す。スケジュール(開始)スケジュール(終了)は、タスク・サービスの利用可能期間の開始日時と終了日時を示すものであり、すなわち、Activeの期間が示されている。なお、リストテーブル1014に表示する項目は、タスク・サービスに関する項目であれば、これに限定されるものではない。
【0091】
図10Dは、デバイス管理画面1002のコンテンツ管理1005のタブが選択された場合に表示される画面である。コンテンツ管理画面においては、さらに、バンドルアプリケーション管理1015とライセンス管理1016とFW管理1017の切り替えタブが表示され、タブを選択することで、該当するコンテンツを登録可能な画面が表示される。この画面を通して登録されたコンテンツは、ネットワークデバイス管理システム403のコンテンツ管理部605を通して、ファームウェアプール608、バンドルプール609に登録される。バンドルアプリケーション管理1015のタブが選択されている状態において、すでに登録済のコンテンツは、バンドルアプリの管理リストテーブル1019に表示される。ファイル(例えば、TestaApp.jar)を選択して、uploadボタン1018が押下されると、当該選択されたファイルをuploadすることができる。そして、当該ファイルがuploadされた状態において、1021の登録ボタンを押下すると、バンドルアプリの管理リストテーブル1019にjarを登録する。バンドルアプリの管理リストテーブル1019に表示されている各項目は、登録時に自動でシステムがjarファイルから抽出する項目である。
【0092】
1020はラジオボタンであり、バンドルアプリの管理リストテーブル1019に表示されているアプリを個別に選択することができる。1022は削除ボタンであり、バンドルアプリの管理リストテーブル1019から選択されたアプリを削除することができる。1023は、選択されたアプリとデバイスとを紐づけるためのボタンであり、押下すると、図10Gの画面に遷移する。
【0093】
図10Eは、ライセンス管理1016のタブが選択された場合に表示される画面である。すでにライセンスが登録済のコンテンツは、バンドルアプリの管理リストテーブル1019内にlicence Nameとして表示されている。バンドルアプリに紐づけてライセンスファイルを(licファイル)登録することが可能である。1020のラジオボタンで、紐づけるアプリを選択してある状態で、登録ボタンを押下すると、Uploadされた状態にあるライセンスをバンドルアプリと紐づけて管理リストテーブル1019にライセンスファイルを登録する。
【0094】
図10Fは、FW管理1017のタブ選択が選択された場合に表示される画面である。すでに登録済のファームウェア(FW)のコンテンツは、FWの管理リストテーブル1025に表示されている。FWの管理リストテーブル1025に表示されている各項目は、登録時に自動でシステムがFW構成ファイルから抽出する項目である。Firmware IDは、ファームウェアを一意に識別するIDを示し、システムが自動生成する。
【0095】
図10Gは、図10Dの画面においてデバイスと紐づけボタン1023が押下された際に表示される画面である。1026は、選択されたアプリケーション情報を表示している。1027の編集ボタンでアプリケーション名は、任意に編集が可能である。図10Gの例では、DeviceApplet1のアプリケーションに紐づけるデバイスを、図10Gのデバイスリストテーブル1009から、1020のボタンにて選択する。1028の登録ボタンを押下すると、選択したデバイスと当該選択されたバンドルアプリケーションとの紐づけが完了する。戻るボタン1029を押下することで図10Dへと戻る。
【0096】
なお、ライセンス管理1016のタブを選択したときの画面(図10E)、およびFW管理1017のタブを選択したときの画面(図10F)において、デバイスとの紐づけボタン1023が押された場合においても、同様にデバイスとの紐付けを行うことができる。デバイス選択時の操作フローは、図10Gと同様であり、説明は省略する。
【0097】
なお、この紐づけた情報は、ネットワークデバイス管理システム403のデータベース部607にて統合的に管理されており、ソフトウェア配信サービス404や各種サービスが必要に応じて参照することが可能である。
【0098】
図10Hは、デバイス管理画面1002のその他設定1006のタブが選択された場合に表示される画面である。この図10Hの画面においては、さらに、リトライポリシー1030とその他1031の切り替えタブを表示する。リトライポリシーは、顧客ごとに定義することが可能であり、図10Hの例では、CUSTOMER01の顧客のリトライポリシーを表示している例を示している。なお、ネットワークデバイス管理システム403の顧客情報管理部604を通して情報を取得し、複数の顧客情報の中から、顧客名でフィルターすることが可能である(1033)。顧客のリトライポリシー管理リスト1032が画面内に表示されているときに、編集ボタン1034が押下されると、当該表示されているリトライポリシーの編集が可能であり、登録ボタン1035が押下されると編集後のリトライポリシーが登録される。
【0099】
また、図10Hでは、コマンド毎に「配信時刻」や「曜日」を指定することができ、例えば、CUSTOMER01の顧客が管理するデバイスに対して、FirmwareDownloadとFirmwareUpdateコマンドを含む指示書を配信した場合には、日曜日で且つ、夜中の0:00-5:00の間のみ配信を限定することを意味している。その他のコマンドは、リトライポリシーの定義がなされていないため、デバイスが適用可能な時刻に配信データを適用することが許可される。
【0100】
図10Iは、デバイス管理画面1002のタスク管理1004のタブが選択されて表示される図10Cの画面において、新規作成ボタン1011が押下された場合に遷移する画面である。タスク管理1004のタブが選択された状態で、新規作成1040のタブが表示され、タスク・サービス一覧が1041に表示される。そして、ラジオボタンにて選択したタスク・サービスに対して、1042において任意に名前を指定することが可能である。その後、次へボタン1043が押下されると、図10Jの画面に遷移する。なお、戻るボタン1044が押下されると、図10Cの画面へと戻る。
【0101】
図10Jは、図10Iで選択されたタスク・サービスを適用する対象となるデバイスを選択するための画面である。デバイスリスト1045は、図10Gで各種コンテンツと紐づけた状態のデバイス一覧を表示している例である。なお、リストに表示する項目は、デバイスを識別可能な項目であれば、これに限定されるものではない。一括選択ボタン1046を押下するとデバイスリスト1045に表示されているデバイスを一括で選択することができる。一括解除ボタン1047を押下するとデバイスリスト1045で選択中のデバイスを一括で解除することができる。次へボタン1043が押下されると、図10Kの画面へと遷移する。一方、戻るボタン1044が押下されると、図10Iの画面に戻る。
【0102】
図10Kは、登録した<タスクID1 ソフトウェア配信サービス(契約A)>の詳細設定を行う画面である。ソフトウェア配信サービス1080のタブが表示され、ソフトウェア配信サービス404の配信予約管理部624や、操作UI部620、指示書生成部625が動作する。まず、利用開始の入力欄1050と利用停止の入力欄1051にて、契約期間を登録する。すなわち、本タスク・サービスの利用開始から利用停止の期間を登録する。また、1052は、配信タスク・サービスの種類を選択するラジオボタンである。契約開始、契約終了、契約延長、その他、カスタム設定から選択でき、当該選択された種類に応じて、画面1053の表示内容が切り替わる。
【0103】
ここでは、契約開始のラジオボタンが選択された状態の画面例を説明する。契約開始時に配信するコンテンツを登録するための画面が表示される。さらにタブ1015~1017のいずれかが選択されると、当該選択されたタブに応じて、図10D~Fと同様にアプリケーションやファームウェアのコンテンツの一覧が表示される。図10Kの例では、FW管理1017のタブが選択され、さらに、所望のFW1020がラジオボタンで選択され、さらに、当該選択されたFWの適用日時を1054にて指定する。FW適用日時は、自動設定であればシステムが1050の利用開始、1051の利用停止期間の内容をもとに、自動入力し、手動設定を選択すれば、手動で設定をすることも可能である。また、即時実行を選択することも可能である。
【0104】
1055のコマンド登録ボタンを押下すると、登録した内容が指示書に反映され、配信データの内容を1056に表示する。例えば、コマンドシーケンス1057が表示される。さらに、バンドルアプリケーションのアプリケーション適用日時を指定してコマンド登録した場合、コマンドシーケンス1058が表示される。なお、さらに別のコマンドが登録されたとすると、1059の部分に新たなコマンドシーケンスが追加・表示されることになる。図10Kの例では、利用開始日に、FWID1とバンドルアプリAppID1を配信することを指示した指示書の例であり、1057~1059のコマンドシーケンスはシステムによって自動生成される。配信データ登録ボタン1060が押下されると、指示書が確定する。基本的には自動生成だが、各コマンドにチェックボタンがあり必要に応じて1061の編集ボタンで指示書を編集することが可能とする(不図示)。配信データ登録ボタン1060が押下されると、図10Lのように、タスクID101の配信予約が完了して登録指示書001が生成されたことを通知する画面1062が表示される。図10Lの画面において、次へボタンが押下されると、ソフトウェア配信サービス404の指示書送受信部621を介して、配信データを指示書実行サービス216に対して送信し、図10Mの画面に遷移する。
【0105】
図10Mは、ソフトウェア配信サービスに関して生成したタスクIDと指示書Noをデバイスリストに並べた例を示している。削除ボタン1062が押下されると、デバイスリストから選択されたタスクIDと指示書Noの紐づけを解除することができる。また、状況確認ボタン1063が押下されると、タスク、指示書の実行状態を確認することができる。なお、ソフトウェア配信サービス以外のタスク・サービスが登録された場合は、別のタブが生成される。例えば、バックアップサービス1081のタブが表示されて、バックアップサービスに関するタスクはそちらのタブが選択された場合に表示される。
【0106】
図10Nは、タスク・指示書の実行状態を確認するための状況確認/実行履歴画面である。図10Nの例では、登録した<タスクID1 ソフトウェア配信サービス(契約A)>の状況確認/実行履歴画面が表示さえている。ソフトウェア配信サービス404の実行履歴管理部622、実行履歴UI部623、指示書生成部625、キャンセル実行部626が関連する。ここでは、デバイスリスト(CUSTOMER01 デバイスID:101 MFP001 192.168.10.20)に配信している。1070には、配信した指示書の実行ステータスが確認できるようになっており、「!」マークは失敗、「×」マークは未実行状態、「レ」マークは成功、のステータスを意味している。1071には、指示書001に関する情報として、指定時刻の処理実行に失敗したことが表示され、その失敗によって、1072に示されるように、指示書001が自動再生成されてエラーリトライ中であることを示している。この指示書は800である。また、キャンセル実行ボタン1073が押下されると、実行中ステータスである指示書のキャンセルを行うことが可能であり、図10Oの画面へと遷移し、キャンセル実行確認画面1075を表示する。図10Oの画面において、「はい」ボタンが押下されると、図10Pのキャンセル実行画面1076を表示し、「閉じる」ボタンが押下されると、図10Nの画面に戻るようになっている。
【0107】
なお、図10A図10Pで示した各画面の構成は一例であり、これらに限定されるものではない。
【0108】
図11は、本実施例1に係る、指示書実行サービス216の指示実行処理を示すフローチャートである。S1110において、指示書実行サービス216は、指示書の実行処理を開始する。S1111において、指示受信部300は、S701でソフトウェア配信サービス404から送信された指示書を受信する。なお、ここでは、S701で示したソフトウェア配信サービス404からの指示書送信をトリガーとして以下の処理を開始しているが、これに限るものではない。すなわち、指示受信部300が定期的にソフトウェア配信サービス404に指示書の有無を確認し、指示書がある場合にその指示書をダウンロードして受信する形式でもよい。S1112において、指示書に記載されているコマンドシーケンス実行時刻の指定が即時実行か否かを確認する。すぐに実行するImmediateが指定されている場合は、指定無し(即時実行)として、S1116へ進む。Immediateが指定されていない場合は、日時指定ありとしてS1113へと進む。
【0109】
S1113において、指示書内に記載されているコマンドシーケンスの時刻で実行予約されるようにタイマを設定する。当該設定したタイマがゼロ(所定の状態)になると、S1114において、現在の時刻と指示書内に記載されているコマンドシーケンスの実行予約時刻とを比較し、現在時刻が指示書内に記載されている実行予約時刻を超過していれば、S1115に進む。一方、現在時刻が指示書内に記載されている実行予約時刻に合致していればS1116に進む。
【0110】
S1115において、指示書内にagreementタグが含まれているか否かを確認する。含まれていなければ、S1117へと進む。含まれていれば、S1116へと進む。S1117において、当該指示書のコマンドについての実行結果として、実行予約時刻を超過していたため当該コマンドを実行できなかったことを示すエラー情報をログに記憶する。S1118において、実行結果のエラー情報をクラウドに通知するため実行結果リストに登録し、S1127へと進む。
【0111】
実施例1では、S1116とS1119の処理については、実施例1では行わずにスキップしてS1120に進む。S1116とS1119の処理については、実施例2にて説明をする。
【0112】
S1120において、一番先頭のコマンドシーケンスをキューに積んで処理実行のキックをかける。S1121において、コマンド解釈部301は、受信した指示書を基にコマンドオブジェクトを生成する。S1122において、シーケンス制御部302は、S1112において生成されたコマンドオブジェクト数分でループ処理を開始する。S1123において、シーケンス制御部302は、ファームウェアダウンロード、ファームウェア更新、バンドルダウンロード、バンドルインストールなどの各種コマンドを実行する。各コマンドの具体例については、図8で示した為、ここでは省略する。S1124において、シーケンス制御部302は、図8で示した実行コマンドに対応する実行結果を記憶しておく。S1125において、シーケンス制御部302は、コマンド実行結果を実行結果リストに登録しておく。S1126において、シーケンス制御部302は、S1121において生成された全てのコマンドオブジェクトを、S1122~S1126のループ処理で実行したならば、S1127に進む。まだ、コマンドオブジェクトが残っている場合、S1122に戻り、次のコマンドの実行を繰り返す。
【0113】
S1127において、シーケンス制御部302は、実行結果リストをソフトウェア配信サービス404に送信する。S1128において、指示書実行サービス216の処理を終了する。
【0114】
図12は、ソフトウェア配信サービス404が画像形成装置103に指示書の通知、実行結果の検知、エラーリトライ指示を行うときのフローチャートである。S1200において、ソフトウェア配信サービス404は、指示書送信処理を開始する。
【0115】
S1201において、ソフトウェア配信サービス404は、指示書を作成する。S1202において、契約に関する指示書の生成かを判断し、Yesであれば、agreementタグを指示書内に定義する。S1203において、ソフトウェア配信サービス404は、指示書実行サービス216に指示書を送信する。指示書番号とそのコマンド番号となる。指示書実行サービス216における詳細は、図11で示した。なお、ここでは、ソフトウェア配信サービス404から画像形成装置130へ指示書を送信する形式としているが、ファイアウォールの設定により、外部クラウドサービスから画像形成装置130に直接指示することが難しい環境もある。その場合、一度ソフトウェア配信サービス404で管理保持しておき、画像形成装置130から指示書取得を待つ形式であってもよい。
【0116】
S1205において、指示送受信部601は、指示書実行サービス216からの指示実行結果を受信する。S1206において、指示実行結果に基づきエラーがあったか判断する。エラー検知した場合は、S1207へと進む。検知しなかった場合は、S1212へと進む。
【0117】
S1207において、指示書の内容を確認し、S1208において、エラーリトライポリシー定義のあるコマンドを含んでいるかを確認する。含んでいる場合は、S1209へと進む。含んでいない場合は、S1210へと進む。S1209において、該当するコマンドシーケンスの実行時刻を自動でエラーリトライポリシーに沿って指定しなおす。S1210において、該当するコマンドシーケンスの実行時刻を自動で”即時”に指定しなおす。S1211において、指示書を再登録(再送信)し、S1212において、指示送受信部601は、実行履歴管理部602に、受信した実行結果を登録する。S1213において、実行履歴管理部602に、ステータスを更新する。S1214において、ソフトウェア配信サービス404の処理を終了する。
【0118】
以上、実施例1で示した方法により、具体的には以下に示すような効果を得ることができる。タイマ発火したときに実行予約時刻を過ぎてしまっていた指示書を検知した場合、当該指示書内に”agreementタグ”の有無を確認し、当該タグを含む指示書はキャンセルはせずに、当該指示書内に記述されている各種コマンドを確実に実行する。これにより、例えば、契約終了において、バンドルアプリのアンインストールや、ライセンスの無効化&削除などのコマンドを確実に実施することができる。また、契約延長において、指示書内に記述されているライセンスアップデートコマンドを即時実行し、ライセンスの期限の更新を確実に実施することができるようになる。
【実施例0119】
実施例2では、複数の指示書(時間指定あり/なしの指示書)が混在している場合に、タイマ発火時に実行予約時刻が過ぎている、かつ、契約関連の期限タグを含む指示書は、他の指示書よりも優先的に処理する指示書実行サービス216について述べる。
【0120】
実施例2では、図11において、S1116とS1119の処理も行うように構成する。S1110~S1115の処理は実施例1と同様である。
【0121】
S1116において、タイマがゼロとなって実行待ちのコマンドシーケンス(すなわち、タイマ発火したコマンドシーケンス)が複数滞留しているかを確認する。複数のコマンドシーケンスが滞留している場合は、S1119へと進む。滞留していない場合は、S1120へと進む。
【0122】
S1119においては、agreementタグを含む指示書内に定義されているコマンドシーケンスの実行を、一番先頭に配置する。S1120において、一番先頭のコマンドシーケンスをキューに積んで処理実行のキックをかける。すなわち、agreementタグを含む指示書内に定義されているコマンドシーケンスが、優先して実行されるように、実行順を示すキューの先頭にしてから、当該キューに含まれているコマンドを順に実行する。
【0123】
以降、S1121~S1128は実施例1のシーケンスと同様であり説明は省略する。
【0124】
以上、実施例2により、タイマ発火したときに実行予約時刻を過ぎてしまっており、かつ、契約関連の期限タグを含む指示書は、他の指示書よりも優先的に処理する。複数の指示書(時間指定あり/なしの指示書)が混在しており、処理受付順では処理が待たされてしまう場合であっても、契約関連の指示書内の各種コマンドは優先して実行することが可能になる。
【実施例0125】
実施例1,2では、共にクラウド側でリトライ用の指示書データを作成する例であった実施例3では、指示書内にポリシーを定義し、デバイスが当該ポリシーにしたがって処理するフローについて説明する。
【0126】
図13は、本実施例3に係る、指示書実行サービス216の指示実行処理を示すフローチャートである。S1310~S1318までのフローは、実施例1のS1110~S1118のフローと同様であるため説明を省略する。
【0127】
S1319において、指示書内に、コマンド種類毎にエラーリトライ時刻を定義し管理するテーブル(1032)の内容に沿ったリトライポリシーが含まれているかを判断する。含まれていない場合は、S1318へと進む。含まれている場合は、S1320へと進み、指示書処理内容を解析し、リトライポリシータグの定義(937)に基づいて、指示書の実行時刻を実行可能な時刻(例えば、その日の夜の所定時刻)に変更する。S1321において指示書を再登録しS1313へと処理を戻しタイマ発火を待つ。
【0128】
以降、S1322~S1331までのフローは、図11のS1119~S1127までのフローと同じあるため説明を省略する。
【0129】
図14は、本実施例3に係る、指示書実行サービス216の指示実行処理を示すフローチャートである。
【0130】
S1400~S1403までのフローは、実施例1のS1200~S1203までのフローと同じあるため説明を省略する。
【0131】
S1404にて、コマンド種類毎にエラーリトライ時刻を定義し管理するテーブル(1032)の内容に沿った、リトライポリシーのタグを入れてエラーリトライ定義の内容を指示書に反映する。
【0132】
S1405~S1409は、実施例1のS1204、S1205,S1212、S1213,S1214と同じであるため、説明を省略する。
【0133】
以上、実施例3では、エラーのリトライポリシーに基づき指示書の実行時刻を変更してリトライできるようにした。これにより、”agreementタグ”とリトライポリシーを含む指示書のキャンセルは行わずに、所望の時刻にずらして当該指示書内に記述されている各種コマンドを確実に実行することができる。例えば、即時実行させなくても構わないが、その日のうちには当該コマンドを実行させたい場合などは、エラーのリトライポリシーを設定しておくことにより、当初の実行予約時刻に実行できなかった場合でも、時間をずらして実行させることができる。
【0134】
(その他の実施例)
なお、上述した実施例で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らず、顧客環境に応じて適用する手段は適切なものを採用して構わない。
【0135】
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又はコンピュータ読取可能な記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを実行する、というものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図10C
図10D
図10E
図10F
図10G
図10H
図10I
図10J
図10K
図10L
図10M
図10N
図10O
図10P
図11
図12
図13
図14
図15