(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】情報処理装置とその制御方法、及びプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20240112BHJP
B41J 29/38 20060101ALI20240112BHJP
B41J 29/42 20060101ALI20240112BHJP
G06F 3/12 20060101ALI20240112BHJP
【FI】
H04N1/00 127Z
B41J29/38
B41J29/42 F
G06F3/12 303
G06F3/12 325
(21)【出願番号】P 2019147964
(22)【出願日】2019-08-09
【審査請求日】2022-08-08
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】八木 優一
【審査官】橘 高志
(56)【参考文献】
【文献】特開2017-028618(JP,A)
【文献】特開2013-103411(JP,A)
【文献】特開2007-128493(JP,A)
【文献】特開2019-109750(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
B41J 29/38
B41J 29/42
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
各アプリケーションの設定データを記憶する記憶手段と、
他の機器のアプリケーションの設定データ
であって、当該他の機器の構成情報に対応する設定データを前記情報処理装置にインポートするインポート手段と、
前記
他の機器の設定データが前記情報処理装置にインポートされた状態で、前記情報処理装置が有す
る拡張アプリケーション
の起動
が指示されると、当該拡張アプリケーションに対応する仮想マシンを形成し、前記拡張アプリケーションのデータを前記仮想マシンにロードし前記仮想マシンで前記拡張アプリケーションを起動する起動手段と、
前記拡張アプリケーションを実行することで、前記インポート手段でインポートした設定データの設定項目の設定値と、前記情報処理装置の構成情報の対応する設定項目の設定範囲とを比較し、前記設定値が前記設定範囲内にない場合、前記インポートした設定データを前記情報処理装置の構成情報に対応する設定データに変換する変換手段と、
前記拡張アプリケーションの設定データを
、前記拡張アプリケーションの設定データを編集する編集画面を介し
た指示
に従って、前記変換手段により変換された設定データ
で書き換える書き換え手段と、を有し
前記インポート手段によ
り前記他の機器の設定データ
がインポート
される時点では、前記拡張アプリケーション
は起動されず、かつ前記拡張アプリケーションの設定データは前記インポートされた設定データで書き換えられないことを特徴とする情報処理装置。
【請求項2】
前記変換手段は、前記インポートされた前記設定データの設定値が、前記情報処理装置の構成情報に基づく設定範囲内でなく、かつ前記設定値が数値の場合、前記設定値が前記設定範囲の下限値よりも小さいか、或いは上限値よりも大きいかに応じて、前記インポートされた前記設定データの設定値を前記下限値、或いは前記上限値に変換す
ることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記変換手段は、前記設定データの設定値が、前記情報処理装置の構成情報に基づいて設定できる値でない場合は、前記インポートされた前記設定データの設定値をデフォルトの設定値に変換す
ることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記編
集画面は、前記変換
手段により変換された設定データを含むことを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記インポートされた前記設定データの設定値が、前記情報処理装置の構成情報に基づいて設定できる設定項目に含まれない場合、前記
編集画面は前記インポートされた前記設定データの設定値を含まない画面であることを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記情報処理装置は、ネイティブプログラムと、前記拡張アプリケーションを制御するプログラムを解釈し実行するモジュールである仮想マシーンとを有し、前記ネイティブプログラムと前記仮想マシーンはオペレーティングシステム(OS)上で動作することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
情報処理装置を制御する制御方法であって、
各アプリケーションの設定データを記憶する記憶工程と、
他の機器のアプリケーションの設定データ
であって、当該他の機器の構成情報に対応する設定データを前記情報処理装置にインポートするインポート工程と、
前記
他の機器の設定データが前記情報処理装置にインポートされた状態で、前記情報処理装置が有す
る拡張アプリケーション
の起動
が指示されると、当該拡張アプリケーションに対応する仮想マシンを形成し、前記拡張アプリケーションのデータを前記仮想マシンにロードし前記仮想マシンで前記拡張アプリケーションを起動する起動工程と、
前記拡張アプリケーションを実行することで、前記インポート工程でインポートした設定データの設定項目の設定値と、前記情報処理装置の構成情報の対応する設定項目の設定範囲とを比較し、前記設定値が前記設定範囲内にない場合、前記インポートした設定データを前記情報処理装置の構成情報に対応する設定データに変換する変換工程と、
前記拡張アプリケーションの設定データを
、前記拡張アプリケーションの設定データを編集する編集画面を介し
た指示
に従って、前記変換工程で変換された設定データ
で書き換える書き換え工程と、を有し
前記インポート工程によ
り前記他の機器の設定データ
がインポート
される時点では、前記拡張アプリケーション
は起動されず、かつ前記拡張アプリケーションの設定データは前記インポートされた設定データで書き換えられないことを特徴とする制御方法。
【請求項8】
前記変換工程は、前記インポートされた前記設定データの設定値が、前記情報処理装置の構成情報に基づく設定範囲内でなく、かつ前記設定値が数値の場合、前記設定値が前記設定範囲の下限値よりも小さいか、或いは上限値よりも大きいかに応じて、前記インポートされた前記設定データの設定値を前記下限値、或いは前記上限値に変換す
ることを特徴とする請求項7に記載の制御方法。
【請求項9】
前記変換工程は、前記設定データの設定値が、前記情報処理装置の構成情報に基づいて設定できる値でない場合は、前記インポートされた前記設定データの設定値をデフォルトの設定値に変換す
ることを特徴とする請求項7又は8に記載の制御方法。
【請求項10】
前記編
集画面は、前記変換
工程により変換された設定データを含むことを特徴とする請求項8又は9に記載の制御方法。
【請求項11】
前記インポートされた前記設定データの設定値が、前記情報処理装置の構成情報に基づいて設定できる設定項目に含まれない場合、前記
編集画面は前記インポートされた前記設定データの設定値を含まない画面であることを特徴とする請求項9に記載の制御方法。
【請求項12】
コンピュータを、請求項1乃至6のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【0002】
画像形成装置に拡張プログラムをアドインすることにより、その画像形成装置の機能を拡張できるシステムが普及している。このシステムは、画像形成装置の制御プログラムとは別に、拡張プログラムを動かす実行環境を持つ。拡張アプリケーションは、拡張プログラムと、画像データなどのリソースを含んでいる。
【0003】
特許文献1は、提供されたアプリケーションをインストールして実行可能な画像形成装置と、その画像形成装置が実行するアプリケーションの開発環境を提供する情報処理装置とを含むシステムを記載している。そして、その情報処理装置は、アプリケーションが提供する機能をテストするためのテスト用プログラムと、情報処理装置からの指示に応じてテスト用プログラムの実行を開始する命令を出すテストエージェント用プログラムとを含むアプリケーションを生成して画像形成装置に送信することが記載されている。
【0004】
また特許文献2には、他の機器から設定情報を取り込む際に、設定項目が相違していたり設定値の範囲が異なったりする場合は、ユーザ設定に基づく設定値を記憶する画像形成装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2013-69077号公報
【文献】特開2014-120824号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、設定項目が相違していたり、設定値の範囲が異なったりする他の画像形成装置の複数の拡張アプリケーションの設定データをインポートする場合、拡張アプリケーションごとに設定項目の相違、設定値の範囲が異なるか否かを判定し、必要に応じて設定値を変換して記憶する必要がある。そのためには、各拡張アプリケーションを起動させる必要があるため、複数の拡張アプリケーションのインポートが完了するまでの間、ユーザが拡張アプリケーションを使用できない期間が長くなるという課題があった。
【0007】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【0008】
本発明の目的は、拡張アプリケーションの設定データをインポートした場合でも、ユーザは、直ぐにアプリケーションを使用できる技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
情報処理装置であって、
各アプリケーションの設定データを記憶する記憶手段と、
他の機器のアプリケーションの設定データであって、当該他の機器の構成情報に対応する設定データを前記情報処理装置にインポートするインポート手段と、
前記他の機器の設定データが前記情報処理装置にインポートされた状態で、前記情報処理装置が有する拡張アプリケーションの起動が指示されると、当該拡張アプリケーションに対応する仮想マシンを形成し、前記拡張アプリケーションのデータを前記仮想マシンにロードし前記仮想マシンで前記拡張アプリケーションを起動する起動手段と、
前記拡張アプリケーションを実行することで、前記インポート手段でインポートした設定データの設定項目の設定値と、前記情報処理装置の構成情報の対応する設定項目の設定範囲とを比較し、前記設定値が前記設定範囲内にない場合、前記インポートした設定データを前記情報処理装置の構成情報に対応する設定データに変換する変換手段と、
前記拡張アプリケーションの設定データを、前記拡張アプリケーションの設定データを編集する編集画面を介した指示に従って、前記変換手段により変換された設定データで書き換える書き換え手段と、を有し
前記インポート手段により前記他の機器の設定データがインポートされる時点では、前記拡張アプリケーションは起動されず、かつ前記拡張アプリケーションの設定データは前記インポートされた設定データで書き換えられないことを特徴とする。
【発明の効果】
【0010】
本発明によれば、拡張アプリケーションを起動することなく設定データをインポートすることができ、拡張アプリケーションを起動した際に、設定項目の相違、設定値の範囲が異なるか否かを判定し変換するようにしたことで、設定値のインポートを行ってもユーザは即座にアプリケーションを使用することが可能となる。
【0011】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【0012】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【
図1】本発明の実施形態に係る画像形成装置の主要部の構成を説明するブロック図。
【
図2】実施形態に係る画像形成装置における拡張アプリケーションの実行環境の一例を示すブロック図。
【
図3】実施形態に係る画像形成装置のCPUが実行するソフトウェアモジュールの構成図。
【
図4】実施形態に係る画像形成装置を含む印刷システムの構成例を示す図。
【
図5】実施形態に係る画像形成装置のストレージに格納されている拡張アプリケーションの情報の一例を示す図。
【
図6】実施形態に係る画像形成装置におけるアプリケーションの設定処理の流れを説明するシーケンス図。
【
図7】実施形態に係るWebブラウザに表示されるフォーム印刷アプリケーションの設定画面の一例を示す図。
【
図8】実施形態に係る画像形成装置の操作部に表示される画面例を示す図。
【
図9】実施形態に係る画像形成装置において拡張アプリケーションを起動する際の処理を説明するシーケンス図。
【
図10】実施形態に係る画像形成装置404のアプリケーション設定情報を画像形成装置401に反映する処理の概要を説明する図。
【
図11】実施形態に拡張アプリケーションが拡張VMシステムサービス222を用いて取得する画像形成装置の構成情報の一例を示す図。
【
図12】実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態でアプリケーションの設定を実行した際に、HTMLフォームに記述する設定データを決定する処理を説明するフローチャート。
【
図13】実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態で、フォーム印刷アプリケーションがジョブを投入するときの処理を説明するフローチャート。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、以下に説明する実施形態では、本発明に係る情報処理装置の一例を、例えば複合機などの画像形成装置を例に説明するが、本発明はこのような画像形成装置に限定されるものではない。
【0014】
図1は、本発明の実施形態に係る画像形成装置の主要部の構成を説明するブロック図である。
【0015】
この画像形成装置は、コントローラユニット100を含み、コントローラユニット100には、スキャナ170やプリンタ195が接続され、更にはユーザインタフェースのための操作部112が接続される。コントローラユニット100は、スキャナ170で読み取られた画像データをプリンタ195により印刷するコピー機能を実現するように各部を制御することもできる。
【0016】
コントローラユニット100は、CPU101を有し、CPU101は、ROM103に格納されているブートプログラムを実行してストレージ104に格納されているオペレーティングシステム(OS)やプログラムをRAM102に展開する。CPU101は、RAM102に展開されたプログラムを実行することにより、後述する各種処理を実行する。このCPU101の作業領域としてはRAM102が用いられる。RAM102は、前述の作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ104は、プログラムや画像データを格納する。
【0017】
CPU101には、システムバス107を介して、ROM103及びRAM102、操作部I/F(操作部インターフェース)106、ネットワークI/F(ネットワークインターフェース)110、USBホストI/F113、画像バスI/F(画像バスインターフェース)105が接続される。操作部I/F106は、タッチパネルを有する操作部112とのインターフェースであり、システムバス107を介して受け取った操作部112に表示すべき画像データを操作部112に出力する。また、操作部I/F106は、操作部112においてユーザにより入力された情報をシステムバス107を介してCPU101に送出する。ネットワークI/F110は、画像形成装置をLANに接続するためのインターフェースである。USBホストI/F113は、USBストレージ114と通信し、CPU101の指示に従ってUSBストレージ114にデータを記憶させたり、USBストレージ114に格納されているデータを入力してシステムバス107に出力する。USBストレージ114は、データを格納する外部記憶装置であり、USBホストI/F113に対して着脱可能である。USBホストI/F113には、USBストレージ114を含む複数のUSBデバイスが接続可能である。
【0018】
画像バスI/F105は、システムバス107と、画像データを高速で転送する画像バス108とを接続し、データ形式を変換するためのバスブリッジとして機能している。画像バス108は、PCIバス又はIEEE1394等によって構成される。画像バス108上には、デバイスI/F120、スキャナ画像処理部180、プリンタ画像処理部190が設けられる。デバイスI/F120には、スキャナ170及びプリンタ195が接続され、デバイスI/F120は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部180は、スキャナ170から入力した画像データに対し補正、加工、編集を行う。プリンタ画像処理部190は、プリンタ195に出力する画像データに対してプリンタ195に応じた補正、解像度変換などを行う。
【0019】
図2は、実施形態に係る画像形成装置における拡張アプリケーションの実行環境の一例を示すブロック図である。尚、この
図2に示す各モジュールの機能は、CPU101がストレージ104に記憶されているプログラムをRAM102に展開して実行することにより実現される。
【0020】
この画像形成装置は、拡張アプリケーションをアドインして、その機能を拡張できる画像形成装置である。オペレーティングシステムであるOS201上では、プリンタやFAX、スキャナと言った画像処理ユニットを制御するためのネイティブプログラム210と、拡張アプリケーション240の実行環境である仮想マシン(Virtual Machine:VM)230が動作している。VM230は、拡張アプリケーション240を制御するプログラムを理解して実行するモジュールである。拡張アプリケーション240は、必ずVM230上で動作する。VM230で動作するプログラムは、CPU101で動作する命令とは異なり、VM230専用の命令で動作する。この命令をバイトコードと呼ぶ。一方でCPU専用命令をネイティブコードと呼ぶ。VM230がこのバイトコードを逐次解釈し処理することで、CPU101上ではネイティブコードと、VM230のバイトコードが動作する。VM230には、バイトコードをそのまま逐次解釈処理するタイプと、バイトコードをネイティブコードに変換して実行するタイプがある。実施形態に係るVM230は前者のタイプであるが、後者のタイプであってもよい。一般的にCPUの種別が異なると、CPUで動作する命令に互換性が無い様に、VMが異なるとVMで動作する命令も互換性が無い。またこの実施形態に係るVM230は、CPU101上で動作するソフトウェアモジュールであるが、ハードウェアモジュールであってもよい。
【0021】
ネイティブプログラム210には、プリンタやFAX、スキャナと言った画像処理ユニットを制御するためのネイティブスレッド214と、VM230を動かすためのVMスレッド215がある。VMスレッド215は、VM230の数に対応する数存在する。ここでは、VMスレッド211,212,213の3つのスレッドが生成されている。ここではVM A-1(231)と、VM A-2(232)及びVM B-1(233)に対応して3つのVMスレッド211,212,213が存在している。
【0022】
VMシステムサービス220は、拡張アプリケーション240から共通して利用されるユーティリティライブラリである。拡張アプリケーション240からVMシステムサービス220の機能を呼び出すことにより、拡張アプリケーションを開発する手間を省いて、画像形成装置の各モジュールへアクセスすることができる。VMシステムサービス220には、VMとして最低限動作させる標準VMシステムサービス221と、画像形成装置の各モジュールへのアクセスやOSの機能を提供する拡張VMシステムサービス222とが含まれる。また標準VMシステムサービス221は、拡張アプリケーションをロードする機能も含む。VM230が拡張アプリケーションのバイトコードで指示されているAPIを実行することで、そのAPIに関連づけられているVMシステムサービスが呼び出される。拡張アプリケーション240は、拡張VMシステムサービス222を用いて、画像形成装置の構成情報、例えば、印刷可能な用紙サイズのリストや、カラー印刷可能か否か、印刷データの色判定が可能か否か、印刷部数の範囲、などの構成情報を取得できる。また、それらに対応したデフォルト設定値も取得することができる。
【0023】
VM230は、拡張アプリケーション240を実行する。VM230は、拡張アプリケーションのスレッド毎に生成される。この図では拡張アプリケーションA241で2つのスレッドを動かすためのVM A-1(231)と、VM A-2(232)、拡張アプリケーションB242で1つのスレッドを動かすためのVM B-1(233)を生成している。
【0024】
また、画像形成装置の操作部112に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。このアイコンをユーザが選択したことを、操作部112を通じて操作部I/F106が検知すると、操作部I/F106はその旨をCPU101に通知する。その通知を受け取ったCPU101は、ユーザによって選択された拡張アプリケーションを起動する。
【0025】
図3は、実施形態に係る画像形成装置のCPU101が実行するソフトウェアモジュールの構成図である。
【0026】
サーブレットサービス304は、ネットワークI/F110を通してHTTPアクセスされた際に、そのリクエストを受け付け、アクセスされたURLによってモジュール(アプリケーション管理部302か標準機能制御部301)に処理を振り分ける。UI制御部303は、操作部112に画面を表示し、ユーザからの操作を受け付けて、その操作情報を適切なモジュール(アプリケーション管理部302か標準機能制御部301)に通知する。アプリケーション管理部302は、インストールされている拡張アプリケーションのアンインストールや、起動等の管理を行うモジュールである。アプリケーション実行制御部305は、アプリケーション管理部302により起動されたアプリケーションの実行制御を行うモジュールである。具体的には、アプリケーション実行制御部305は、VMスレッド215、VMシステムサービス220、VM230、拡張アプリケーション240を制御する。ストレージ制御部306は、画像成形装置の設定情報を記憶及び管理するモジュールである。各モジュールは、ストレージ制御部306にアクセスし、設定値の参照、設定を行う。標準機能制御部301は、画像形成装置の標準機能であるコピーやFAXの制御や、その他の画像成形装置に必要な制御(例えばUSBホストI/F113の制御)を行うモジュールである。
【0027】
図4は、実施形態に係る画像形成装置を含む印刷システムの構成例を示す図である。この印刷システムは、画像形成装置(MFP)401,404、PC402を含み、これらは、LAN等のネットワーク403を介して接続されている。
【0028】
画像形成装置401,404には、画像形成装置の機能を拡張する拡張プログラム(アプリケーションA、アプリケーションB)がインストールされている。PC402は、画像形成装置401,404にアクセスし、インストールされているアプリケーションの設定を行う。ここで画像形成装置401のアプリケーションA431と、画像形成装置404のアプリケーションA434は同じアプリケーションである。また、これらアプリケーションA431,434はそれぞれ設定データ441,444を有し、これら設定データの構成は画像形成装置の機能に違いに応じて互いに相違している。またアプリケーションB411,413も同じアプリケーションである。また画像形成装置401のアプリケーションB411と、画像形成装置404のアプリケーションB414は同じアプリケーションで、それぞれが保持する設定データ421,424も、設定データ441,444と同様に、各画像形成装置が有する機能に応じて互いに相違している。
【0029】
図5は、実施形態に係る画像形成装置のストレージ104に格納されている拡張アプリケーションの情報の一例を示す図である。
【0030】
ストレージ104は、ファイルシステムで管理され、ディレクトリ構造を持つ。アプリケーションのデータは、アプリケーションごとにディレクトリに分かれて管理される。アプリケーションAのデータは、501~503で示すディレクトリに格納される。
【0031】
「ApplicationA」のディレクトリ501は、アプリケーションAのデータを管理するルートディレクトリである。アプリケーションのルートディレクトリは、dataディレクトリ502と、packageディレクトリ503を有する。dataディレクトリ502は、アプリケーションの設定情報などを動的に生成する情報を保持するディレクトリである。このディレクトリにどのような情報を書き込むか、また、どのようなデータフォーマットで書き込むかは、アプリケーションによって異なる。実施形態では、アプリケーションの例として、ユーザが登録したフォーム画像データを印刷するフォーム印刷アプリケーションを用いて説明する。このフォーム印刷アプリケーションの設定データは、「setting.info」520,540に格納されている。
【0032】
設定データ520は、カラーと白黒印刷可能な画像形成装置の設定データ、設定データ540は、白黒印刷のみ可能な画像形成装置の設定データの例を示す。ここでは、設定データの一例をJSONフォーマットで示しているが、この設定情報のフォーマットはアプリケーションが自由に決めてよく、例えば独自のバイナリ形式でもよいし、XMLでも良い。
【0033】
また、この設定データ520,540には、操作部112にアイコン表示する際のボタンID521,529,541、フォーム名522,530,542、印刷ファイル523,531,543、印刷設定524,532,544が含まれる。ボタンID521,529,541は、アイコンを識別するIDであり、押下されたボタンを識別する際に使用される。フォーム名522,530,542は、フォームの内容を示す名称であり、ユーザにより登録される。ここではフォーム名522,542は「form1」であり、フォーム名530は「form2」に設定されている。このフォーム名の画像ファイルは、フォーム印刷で印刷する対象の画像ファイルであり、ユーザが登録する。
【0034】
印刷設定524,532,544には、用紙サイズ525,533,545、両面設定526,534,546、印刷カラー設定527,535,547、印刷部数設定528,536,548が含まれる。ここで印刷カラー設定527,535は、カラー及び白黒モードでの印刷設定、印刷カラー設定547は白黒での印刷設定である。
【0035】
packageディレクトリ503は、アプリケーションの動作を記述するスクリプトファイルや、画面に表示する画像データのリソースファイルなど、静的な情報を保持するディレクトリである。スクリプトファイルや、リソースファイルなどは、package.bin550の一つのファイルにアーカイブされる。このpackage.bin550には、アプリケーション情報551が含まれる。アプリケーション情報551には、アプリケーションを識別するためのアプリケーション識別ID552、アプリケーション名553、アプリケーションバージョン554、データバージョン555が含まれる。
【0036】
アプリケーションBのデータは、511~513で示すディレクトリに格納される。
【0037】
図6は、実施形態に係る画像形成装置におけるアプリケーションの設定処理の流れを説明するシーケンス図である。これ以降では、アプリケーションの一例として、ユーザが登録したフォーム画像データを印刷するフォーム印刷アプリケーションのアイコン情報の生成処理を例に説明する。アプリケーションによって細かい処理内容は異なるが、基本的な処理はここで示す処理と同じ処理になる。アプリケーションの設定は、PC402で動作するWebブラウザから画像形成装置401に接続し、Webブラウザを介して行う。
【0038】
まずS601で、Webブラウザから画像形成装置401のサーブレットサービス304に対してアプリケーションを設定するための設定用URLをリクエストする。これによりサーブレットサービス304はS602で、アプリケーション管理部302に処理を依頼する。これによりアプリケーション管理部302はS603で、リクエストされているURLから該当アプリケーションを特定し、そのアプリケーションのアプリケーションサーブレットを起動する。そしてアプリケーション(フォーム印刷アプリケーション)はS604で、要求されたURLのリクエストに対するレスポンス処理を行う。ここでは、設定用URLに対するHTMLリソースを返す準備を行う。このHTMLリソースには、フォーム印刷処理に必要な設定データ520,540を参照及び設定するためのHTMLフォームが記述されている。また、この中には、設定データ520,540の各項目の設定範囲情報が含まれる。この設定範囲情報は、拡張VMシステムサービス222を用いて、画像形成装置401の構成情報を取得して生成される。
【0039】
用紙サイズ525,533,545は、印刷可能な用紙サイズのリストから設定範囲が決定される。印刷カラー設定527,535,547は、カラー印刷可能か否か、印刷データの色判定が可能か否かの2つの情報から設定リストが決定される。カラー印刷ができない場合は参照及び設定の対象外とし、HTMLフォームには記述されない。印刷部数設定528,536,548は、印刷部数の範囲から上限値と下限値が決定される。
【0040】
次にフォーム印刷アプリケーションはS605で、S604で準備したHTMLリソースを応答する。これにより画像形成装置401のアプリケーション管理部302はS606で、その受けたレスポンスをそのままサーブレットサービス304にレスポンスする。またサーブレットサービス304はS607で、受けたレスポンスをそのままWebブラウザに応答する。
【0041】
これによりPC402のユーザはS608で、そのWebブラウザに表示された画面を編集し、フォーム印刷アプリケーションの設定を変更する。こうして表示される画面例を、後述する
図7に示す。ここでは、新しく印刷フォームを登録したとする。そしてS609でWebブラウザは、ユーザの操作に従って、新しく設定された設定情報の登録リクエストをサーブレットサービス304に送信する。これによりサーブレットサービス304はS610で、アプリケーション管理部302にその処理を依頼する。これによりアプリケーション管理部302はS611で、要求されたURLから該当するアプリケーションを特定し、そのアプリケーションのアプリケーションサーブレットを起動する。これによりアプリケーション(フォーム印刷アプリケーション)はS612で、Webブラウザから送られたリクエストに基づいて、フォーム印刷アプリケーションの設定の登録処理を実行する。このときフォーム印刷アプリケーションは、設定データ520,540に行を追加して登録する。次にS613でフォーム印刷アプリケーションは、その登録処理の結果をレスポンスとしてアプリケーション管理部302に返す。そしてアプリケーション管理部302はS614で、その受けたレスポンスをそのままサーブレットサービス304に返し、更にサーブレットサービス304はS615で、その受けたレスポンスをそのままWebブラウザに返す。
【0042】
更に、フォーム印刷アプリケーションはS616で、新たに登録したフォームのアイコンを登録するために、アプリケーション管理部302にアイコン情報の更新通知を送る。これによりアプリケーション管理部302はS617で、アイコンの更新処理を行う。
【0043】
図7は、実施形態に係るWebブラウザに表示されるフォーム印刷アプリケーションの設定画面の一例を示す図である。
【0044】
図7(A)は、A3サイズまでの用紙に印刷可能で、カラーと白黒印刷が可能な画像形成装置の設定画面の一例を示す。また
図7(B)は、A3サイズより小さいA4サイズまでの用紙に印刷可能で、白黒印刷のみが可能な画像形成装置の設定画面の一例を示す。
【0045】
この設定画面で、OKボタン701が押下されると、
図6のS609で示す設定情報の登録リクエストが画像形成装置401に送信される。一方、キャンセルボタン702が押下されると編集が中止され、この登録リクエストが送信されない。ここで
図7(A)は、
図5の設定データ520に対応しており、
図7(B)は、
図5の設定データ540に対応している。
【0046】
印刷可能な用紙サイズのリスト703は、印刷サイズを選択するためのリストである。この例では、最大A3サイズまでの用紙サイズがリストに含まれている。
図7(B)の用紙サイズのリスト753は、印刷サイズを選択するためのリストである。この例では、最大A4サイズまでの用紙サイズがリストに含まれている。印刷カラー設定リスト704は、印刷カラー設定のリストである。
図7(B)の設定画面は、白黒印刷が可能な画像形成装置の画面であるため、印刷カラー設定リストは表示されていない。印刷部数範囲705は、印刷部数設定の上限値と下限値である。
【0047】
図8は、実施形態に係る画像形成装置の操作部112に表示される画面例を示す図である。
【0048】
「form1」801は、フォーム印刷アプリケーションのボタンID521に対応するアイコンである。また「form2」802は、フォーム印刷アプリケーションのボタンID529に対応するアイコンである。またこの画面は、標準機能のコピー803、FAX804、Send805アイコンを含む。ユーザが、これらアイコンのいずれかを押下することで、それぞれ対応する機能が起動する。
【0049】
図9は、実施形態に係る画像形成装置において拡張アプリケーションを起動する際の処理を説明するシーケンス図である。
【0050】
図8に示す操作部112に表示される画面で、ユーザが、拡張アプリケーションに対応するアイコンを押下したことを検知すると、S901で、ネイティブスレッド214に拡張アプリケーションの起動要求が通知される。この通知には、押下されたボタンのアプリケーション識別情報と、ボタンIDが含まれる。この通知を受けたネイティブスレッド214は、S902でVMスレッド215の生成処理を行う。この処理では、OS201に対してスレッドの生成要求を出す。このスレッド生成要求を受けたOS201は、S903でVMスレッド215を生成する。
【0051】
こうして生成されたVMスレッド215はS904で、スレッドの初期化を行う。続いてS905でVM230を生成する。生成されたVM230はS906において、拡張アプリケーションの読み込み処理を実行する。ここでは、標準VMシステムサービス221に拡張アプリケーションの読み込み要求を出す。この読み込み要求には、アプリケーション識別情報が含まれており、どのアプリケーションを読み込むのかを指示する。この読み込み要求を受けた標準VMシステムサービス221は、S907で拡張アプリケーションデータをVM230に読み込む。このとき、読み込む拡張アプリケーションのデータは、拡張アプリケーション毎に共通の固定の名前であり、各拡張アプリケーションは必ずこの名前のデータを持つ。
【0052】
続いてVM230はS908で、読み込んだ拡張アプリケーションを実行する。S908の処理内容は、拡張アプリケーションのスクリプト内容によって異なる。この時、拡張アプリケーションには、どのボタンが押下されたかを示すボタンIDを通知する。拡張アプリケーションは、通知されたボタンIDの情報を基に、どのアイコンが押下されたのかを判定し、そのボタンに応じた処理を実行する。フォーム印刷アプリケーションは、S909で設定データ520,540を読み込み、アプリケーションにどのような設定がされているかを認識する。また、通知されているボタンIDに基づいて、そのボタンIDに関連する設定情報を抽出する。続いてS910で、抽出した設定情報をもとに、フォームの印刷を行うためにジョブを投入する。この処理によって、フォーム印刷アプリケーションは、登録されているフォームを印刷することができる。
【0053】
図10は、実施形態に係る画像形成装置404のアプリケーション設定情報を画像形成装置401に反映する処理の概要を説明する図である。
【0054】
まず画像形成装置404に設定されているアプリケーション設定データ424,444から設定情報1001を生成する。この設定情報1001には、アプリケーションAの設定データ444を復元するための設定データ1002と、アプリケーションBの設定データ424を復元するための設定データ1003が含まれる。この処理は、アプリケーションが行わず、アプリケーション管理部302が行う。
【0055】
具体的には、
図5で示すアプリケーションのデータディレクトリ502,512のファイルに基づいて、設定データ1002,1003を生成する。このときアプリケーション管理部302は、ファイルの種別(設定データか、リソースデータか)を識別せずに処理する。この設定データ1001を画像形成装置401にインポートして反映することで、画像形成装置401の設定データが、アプリケーションAの設定データ441から設定データ1002に書き換わり、アプリケーションBの設定データ421から設定データ1003に書き換えられる。この書き換える処理も、アプリケーション管理部302が行う。尚、対応するアプリケーションが存在しない場合は取り込みが実施されない。
【0056】
画像形成装置404の現在の設定データ424,444から設定情報1001を生成することをエクスポート、設定情報1001を基に、設定データを画像形成装置401に反映することをインポートとする。フォーム印刷アプリケーションの場合、設定データ444が
図5の設定データ520に、設定データ424が
図5の設定データ540に対応する。
【0057】
次に、このように構成情報が異なる設定データを画像形成装置401にインポートしたときの設定データの変換について、具体例を挙げて説明する。
【0058】
図11は、実施形態に拡張アプリケーションが拡張VMシステムサービス222を用いて取得する画像形成装置の構成情報の一例を示す図である。
【0059】
図11(A)は、A3サイズまでの用紙に印刷可能で、カラーと白黒印刷が可能な構成情報の一例を示し、
図11(B)は、A3サイズより小さいA4サイズまでの用紙に印刷可能で、白黒印刷のみ可能な構成情報の一例を示す図である。
図7(A)は
図5の設定データ520に、
図7(B)は、
図5の設定データ540に対応している。
【0060】
構成情報には、項目1101、設定タイプ1102、設定範囲1103、デフォルト設定1104が含まれる。設定タイプ1102は、設定範囲1103からリスト選択するタイプと、設定範囲1103から数値で設定するタイプがある。設定タイプ1102がリスト選択で選択肢が1つしかない項目、設定タイプ1102が数値で、上限値と下限値が同じ値になっている項目は固定設定となる。
【0061】
図12は、実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態でアプリケーションの設定を実行した際に、HTMLフォームに記述する設定データを決定する処理を説明するフローチャートである。このフローチャートで示す処理は、
図6のS604で、拡張アプリケーションが、アプリケーション管理部302から要求されたURLのリクエストに対するレスポンス処理を実行するときの処理である。各ステップで示す処理は、拡張アプリケーションを実行するCPU101によって実行される。
【0062】
先ずS1201でCPU101は、拡張VMシステムサービス222を用いて画像形成装置の構成情報を取得する。次にS1202に進みCPU101は、設定データ520,540を読み込む。次にS1203に進みCPU101は、設定データ520,540の全ての設定項目の確認が完了したかを判定する。確認が完了していない場合はS1204に進み、確認が完了した場合は、このフローチャートを終了する。
【0063】
S1204でCPU101は、この画像形成装置の構成情報に依存する設定か否かを判定する。実施形態では、画像形成装置の構成情報に依存する設定は、例えば
図5の印刷設定524,532,544とし、依存しない設定は、その他のボタンID521,529,541、フォーム名522,530,542、印刷ファイル523,531,543とする。S1204で構成情報に依存する設定と判定した場合はS1205に進み、そうでないときはS1203に戻る。S1205でCPU101は、設定項目に対応する構成情報の項目から固定設定か否かを判定する。ここで固定設定と判定した場合はS120
3に処理を進め、そうでないときはS120
6に
進む。
【0064】
S1206でCPU101は、設定項目に対応する構成情報の項目から設定項目は数値設定か否かを判定する。ここで数値と判定した場合はS1207に進み、数値でない、即ち、リストからの選択であると判定した場合はS1211に進む。S1207でCPU101は、設定項目の設定値と構成情報の設定範囲1103とを比較する。ここで設定値が、設定範囲の下限値より小さい場合はS1208に進み、設定値が設定範囲の上限値より大きい場合はS1209に進み、設定値が設定範囲内である場合はS1210に進む。S1208でCPU101は、HTMLフォームに記述する設定データを構成情報の設定範囲1103の下限値に設定してS1203に戻る。S1209でCPU101は、HTMLフォームに記述する設定データを構成情報の設定範囲1103の上限値に設定してS1203に戻る。またS1210でCPU101は、HTMLフォームに記述する設定データに、設定データ520,540をそのまま設定してS1203に戻る。
【0065】
一方、リストからの選択の場合はS1211でCPU101は、設定データ520,540が設定項目に対応する構成情報の設定範囲のリストに含まれているか否かを判定する。ここでリストに含まれていると判定した場合はS1210に進み、そうでないときはS1212に進む。S1212でCPU101は、HTMLフォームに記述する設定データを構成情報のデフォルト値に設定してS1203に戻る。
【0066】
以上説明したように実施形態によれば、構成情報に基づいて、HTMLフォームに記述する設定データを決定することで、構成情報が異なる設定データが画像形成装置にインポートされた状態であっても
図7の設定画面のように、画像形成装置の構成に応じた設定画面を生成して表示することができる。
【0067】
更に、拡張アプリケーションは、画像形成装置の構成に応じた設定画面で、OKボタン701が押下され、Webブラウザから送られたリクエストに基づいてS612で登録処理を行う際に、そのリクエストに基づいた設定値で、設定データ520,540を上書きする。そうすることで、構成情報が異なる設定データが画像形成装置にインポートされた状態から、画像形成装置の構成情報に合った設定データに変換されて反映されることになる。
【0068】
図13は、実施形態に係る画像形成装置において、構成情報が異なる設定データがインポートされた状態で、フォーム印刷アプリケーションがジョブを投入するときの処理を説明するフローチャートである。このフローチャートで示す処理は、拡張アプリケーションを実行するCPU101によって実行される。このフローチャートで示す処理は、
図9のS909で実行される。ここでは、拡張アプリケーションが、
図9のS909で設定データ520,540を読み込み、アプリケーションにどのような設定がされているかを認識する際に、
図12と同様のフローチャートで示すS1201~S1207,S1211の処理を実行する。従って、
図13では
図12の処理と同じ処理には同じ参照番号を付し、それらの説明を省略する。
【0069】
S1207でCPU101は、設定項目の設定値と構成情報の設定範囲1103とを比較する。ここで設定値が、設定範囲の下限値より小さい場合はS1301に進み、設定値が設定範囲の上限値より大きい場合はS1302に進み、設定値が設定範囲内にある場合はS1303に進む。S1301でCPU101は、ジョブを投入するための設定データを、構成情報の設定範囲1103の下限値に設定してS1203に戻る。またS1302でCPU101は、ジョブを投入するための設定データを、構成情報の設定範囲1103の上限値に設定してS1203に戻る。またS1303でCPU101は、ジョブを投入するための設定データに、設定データ520,540をそのまま設定してS1203に戻る。
【0070】
またS1211でCPU101は、設定データ520,540が設定項目に対応する構成情報の設定範囲のリストに含まれているか否かを判定する。ここでリストに含まれていると判定した場合はS1303に進み、そうでないときはS1304に進む。S1304でCPU101は、ジョブを投入するための設定データを、構成情報のデフォルト値に設定してS1203に戻る。
【0071】
つまり、ジョブを実行しただけでは設定データ520,540は上書きされず、構成情報が異なる設定データを画像形成装置にインポートされた状態が維持される。
【0072】
以上説明したように実施形態によれば、拡張アプリケーションを起動することなく設定データをインポートでき、拡張アプリケーションを起動した際に、設定項目の相違、設定値の範囲が異なるか否かを判定して設定データを変換する。これにより、設定値のインポートを行っても、ユーザは即座にアプリケーションを使用することが可能となった。
【0073】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0074】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【0075】
100…コントローラユニット、101…CPU、102…RAM、112…操作部、210…ネイティブプログラム、220…VMシステムサービス、230…仮想マシン(VM)、240…拡張アプリケーション、302…アプリケーション管理部、304…サーブレットサービス