JP7098427B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP7098427B2
JP7098427B2 JP2018110666A JP2018110666A JP7098427B2 JP 7098427 B2 JP7098427 B2 JP 7098427B2 JP 2018110666 A JP2018110666 A JP 2018110666A JP 2018110666 A JP2018110666 A JP 2018110666A JP 7098427 B2 JP7098427 B2 JP 7098427B2
Authority
JP
Japan
Prior art keywords
application
setting data
information
version
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018110666A
Other languages
English (en)
Other versions
JP2019212242A (ja
Inventor
岳史 木暮
篤 池田
宏明 小池
直人 笹川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018110666A priority Critical patent/JP7098427B2/ja
Priority to US16/425,765 priority patent/US11140291B2/en
Publication of JP2019212242A publication Critical patent/JP2019212242A/ja
Application granted granted Critical
Publication of JP7098427B2 publication Critical patent/JP7098427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00965Input arrangements for operating instructions or parameters, e.g. updating internal software using a plug-in memory module, e.g. memory card, memory stick
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

本発明は、アプリケーションをインストールして実行可能な情報処理装置、情報処理装置の制御方法及びプログラムに関する。
従来から、画像形成装置に拡張プログラムをアドインし、画像形成装置の機能を拡張できるシステムが普及している。こうしたシステムにおいては、画像形成装置の制御プログラムとは別に、拡張プログラムを動かす実行環境を持つ。
拡張プログラムには、設定データやリソースデータ等が付随しており、これらをまとめて拡張アプリケーションが構成される。
特開2013-69077号公報
ところで、拡張アプリケーションでは、機能の追加や向上、不具合の修正等のため、バージョンが更新されることがある。例えば、以前のバージョンには存在していなかった機能を新しいバージョンで採用したり、以前のバージョンに存在していた機能を新しいバージョンで廃止したりすることなどがある。このような場合、拡張アプリケーションの設定データには、新たに採用された機能に関する設定データや、既に廃止された機能に関する設定データを含むものや含まないものが存在することになる。このため、バージョンの異なる拡張アプリケーションの設定データをインポートすると、拡張アプリケーションが不正に動作してしまう可能性がある。この課題は画像形成装置に限定されるものではなく、アプリケーションプログラムをインストールして実行可能な情報処理装置に共通の課題である。
本発明は、上記の課題を解決するためになされたものである。本発明は、バージョンの異なるアプリケーション間であっても設定データのインポートを安全に行うことができる仕組みを提供することを目的とするものである。
本発明は、アプリケーションをインストールして実行可能な情報処理装置であって、前記アプリケーションの情報として、アプリケーションごとに、該アプリケーションの設定データバージョンを示す第1バージョン情報と、該アプリケーションに互換性のある設定データバージョンを特定可能な第2バージョン情報を記憶可能な記憶手段と、前記アプリケーションの設定データをインポートする場合、インポート対象の設定データのインポートの可否を、該インポート対象の設定データのバージョンと、該インポート対象の設定データに対応するアプリケーションの情報として前記記憶手段に記憶される情報を用いて判定し、該判定の結果に基づいて該設定データのインポートを行うか否かを制御する制御手段と、を有することを特徴とする。
本発明によれば、バージョンの異なるアプリケーション間であっても設定データのインポートを安全に行うことができる。この結果、バージョンの異なる拡張アプリケーションの設定データをインポートすることに起因する拡張アプリケーションの不正動作を防止することが可能となる。
本実施形態の画像形成装置のハードウェア構成図。 本実施形態の画像形成装置の拡張アプリケーションの実行環境を示す図。 本実施形態の画像形成装置で動作するソフトウェアモジュールの構成図。 本実施形態の画像形成装置を含む印刷システムの構成図。 拡張アプリケーションの設定処理を例示するフローチャート。 拡張アプリケーションの設定データを例示する図。 画像形成装置の操作部に表示される操作画面を例示する図。 拡張アプリケーションを起動する際の処理を例示するフローチャート。 拡張アプリケーション実行処理の詳細を例示するフローチャート。 画像形成装置に記憶される拡張アプリケーションの情報を例示する図。 拡張アプリケーションの静的な情報を例示する図。 metaファイルの構成を例示する図。 設定データのエクスポート及びインポート処理を説明する図。 機能が追加された拡張アプリケーションの処理を例示するフローチャート。 機能が追加された拡張アプリケーションの設定データを例示する図。 機能が追加され拡張アプリケーションのmetaファイルの情報を例示する図。 本実施形態のエクスポート処理を例示するフローチャート。 本実施形態のエクスポート処理で生成された設定情報の構成図。 本実施形態のインポート処理を例示するフローチャート。 本実施形態における設定データのインポート処理の可否を説明する図。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明の情報処理装置の一実施形態を示す画像形成装置の主要なハードウェア構成の一例を示すブロック図である。なお、本実施形態では、一例として画像形成装置を用いて説明するが、本発明はこれに限定されるものではなく、アプリケーションプログラムをインストールして実行可能な情報処理装置であれば適用可能である。
図1に示すように、本実施形態の画像形成装置1は、コントローラユニット100を含む。
コントローラユニット100には、画像入力デバイスであるスキャナ170と、画像出力デバイスであるプリンタ195が接続されるとともに、操作部112が接続される。
コントローラユニット100は、スキャナ170で読み取られた画像データを、プリンタ195により印刷出力するコピー機能等の各種機能を実現するための制御を行う。
コントローラユニット100は、CPU101を有する。CPU101は、ROM103に格納されているブートプログラムにより、オペレーティングシステム(OS)を立ち上げる。そして、CPU101は、OS上で、ストレージ104等に格納されているプログラムを実行し、これにより各種の処理を実行する。
CPU101の作業領域としては、RAM102が用いられる。RAM102は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。
ストレージ104は、プログラムや画像データ、その他各種データを格納する。
CPU101には、システムバス107を介して、各種デバイスが接続される。例えば、CPU101には、RAM102とROM103とストレージ104が接続される。また、CPU101には、操作部I/F(操作部インターフェース)106、ネットワークI/F(ネットワークインターフェース)110、USBホストI/F(USBホストインターフェース)113が接続される。さらに、CPU101には、画像バスI/F(画像バスインターフェース)105も接続される。
操作部I/F106は、タッチパネルを有する操作部112とのインターフェースであり、操作部112に表示すべき画像データを操作部112に対して出力する。また、操作部I/F106は、操作部112においてユーザーにより入力された情報をCPU101に送出する。
ネットワークI/F110は、画像形成装置をLANに接続するためのインターフェースである。
USBホストI/F113は、USBストレージ114と通信するインターフェースである。USBホストI/F113は、ストレージ104に格納されているデータをUSBストレージ114に記憶させるための出力部でもある。また、USBホストI/F113は、USBストレージ114に格納されているデータを入力し、CPU101にそれを送信する。
USBストレージ114は、データを格納する外部記憶装置であり、USBホストI/F113に対して着脱可能である。USBホストI/F113には、USBストレージ114を含む複数のUSBデバイスが接続可能である。
画像バスI/F105は、システムバス107と、画像データを高速で転送する画像バス108とを接続し、データ形式を変換するためのバスブリッジである。
画像バス108は、例えばPCIバスまたはIEEE1394などによって構成される。画像バス108上には、デバイスI/F120、スキャナ画像処理部180、プリンタ画像処理部190が設けられる。
デバイスI/F120には、スキャナ170およびプリンタ195が接続される。デバイスI/F120は、画像データの同期系/非同期系の変換を行う。
スキャナ画像処理部180は、入力画像データに対し補正、加工、編集を行う。
プリンタ画像処理部190は、プリント出力画像データに対して、プリンタ195に応じた補正、解像度変換などを行う。
図2は、本実施形態の画像形成装置1の拡張アプリケーションの実行環境の一例を示すソフトウェア・ブロック図である。図2に示す各モジュールは、ストレージ104等に記憶されているプログラムを、CPU101がRAM102にロードし、実行することにより実現される。
オペレーティングシステムであるOS201上では、プリンタ、FAX、スキャナなどのような、画像処理ユニットを制御するためのネイティブプログラム210が動作している。OS201上では、さらに、仮想マシン(Virtual Machine;VM)230が動作している。VM230は、拡張アプリケーションの実行環境として機能する。
VM230は、拡張アプリケーション240を制御するプログラムを理解し実行するモジュールである。拡張アプリケーション240は、必ずVM230上で動作する。VM230で動作するプログラムは、CPU101で動作する命令とは異なり、VM230専用の命令で動作する。この命令をバイトコードと呼ぶ。一方、CPU専用の命令をネイティブコードと呼ぶ。
CPU101上ではネイティブコードが動作する。一方、VM230では、VM230がバイトコードを逐次解釈し処理することで、バイトコードが動作する。VMには、バイトコードをそのまま逐次解釈して処理するタイプと、バイトコードをネイティブコードに変換してから処理するタイプとがある。図2におけるVM230は前者のタイプ(逐次解釈処理するタイプ)であるが、後者のタイプ(バイトコードをネイティブコードに変換後処理するタイプ)であってもよい。
一般的に、CPUで動作する命令には互換性がないように、VMで動作する命令にも互換性がない。すなわち、あるVMで動作する命令であっても、種別の異なるVMでは動作しない。
また、図2におけるVM230は、CPU101上で動作するソフトウェアモジュールであるが、ハードウェアモジュールであってもよい。
ネイティブプログラム210内では、プリンタ、FAX、スキャナのような画像処理ユニットを制御するためのネイティブスレッド214と、VM230を動かすためのVMスレッド215が生成される。VMスレッド215は、VM230の数に対応する数だけ生成される。図2の例では、VMスレッドA-1(211)、VMスレッドA-2(212),VMスレッドB-1(213)の3つのVMスレッドが生成されている。
VMシステムサービス220は、拡張アプリケーションから共通利用されるユーティリティライブラリである。拡張アプリケーション240からVMシステムサービス220の機能を呼び出すことにより、画像形成装置の各モジュールへアクセスすること等が可能となる。なお、VMシステムサービス220を利用することにより、拡張アプリケーションを開発する手間を省くことが可能である。
VMシステムサービス220には、VMとして最低限動作させる標準VMシステムサービス221と、画像形成装置の各モジュールへのアクセスやOSの機能を提供する拡張VMシステムサービス222がある。
標準VMシステムサービス221は、拡張アプリケーションをロードする機能も含む。VM230が拡張アプリケーション240内のバイトコードで指示されているAPI(Application Program Interface)を実行することにより、APIに関連付けられているVMシステムサービス220が呼び出される。
VM230は、拡張アプリケーション240を実行する。VM230は、拡張アプリケーションのスレッド毎に生成される。図2に示す例では、拡張アプリケーションA241の2つのスレッド、VMスレッドA-1(211)、VMスレッドA-2(212)に対応してVM A-1(231)、VM A-2(232)が生成されている。また、拡張アプリケーションB242の1つのスレッド、VMスレッドB-1(213)に対応してVM B-1(233)が生成されている。
また、画像形成装置1の操作部112に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。
操作部I/F106は、操作部112を介して、ユーザーがアイコンを選択したことを検知すると、その旨をCPU101に送信する。その旨を受信したCPU101は、ユーザーにより選択されたアイコンに対応するプログラム(例えば拡張アプリケーション)を起動する。
図3は、本実施形態の画像形成装置1のCPU101上で動作するソフトウェアモジュールの構成の一例を示す図である。図3に示す各モジュール301~306は、図2のネイティブプログラム210に対応する。
標準機能制御部301は、画像形成装置1の標準機能であるコピーやFAXの制御や、その他の画像形成装置1に必要な制御(例えば、USBホストI/F113の制御)を行うモジュールである。
アプリケーション管理部302は、拡張アプリケーションのインストールやインストールされている拡張アプリケーションの起動などの管理を行うモジュールである。
UI制御部303は、操作部112に画面を表示するとともに、ユーザーからの操作を受け付けて、標準機能制御部301とアプリケーション管理部302とのいずれかの適切なモジュールにその操作情報を通知するモジュールである。
サーブレットサービス304は、画像形成装置がネットワークI/F110を介してリクエストを受け付けた際に、そのリクエストを標準機能制御部301かアプリケーション管理部302かのいずれかに振り分けるモジュールである。このリクエストの振り分けは、HTTPアクセスされたURLに応じて行われる。
アプリケーション実行制御部305は、アプリケーション管理部302により起動された拡張アプリケーションの実行制御を行うモジュールである。具体的には、アプリケーション実行制御部305は、VMスレッド215、VMシステムサービス220、VM230、拡張アプリケーション240を制御する。
ストレージ制御部306は、画像形成装置1の設定情報の記録・管理をするモジュールである。上記の各モジュールは、ストレージ制御部306にアクセスし、設定値の参照、設定を行う。
図4は、本実施形態の画像形成装置を含む印刷システムの構成の一例を示す図である。
本実施形態の印刷システムは、複数の画像形成装置(ここではMFP401、MFP404)と、情報処理装置(PC)402とを含む。MFPは、Multifunction Peripheralの略称である。なお、MFP401、MFP404は、図1~図3で示した画像形成装置1と同様の構成を備える。
MFP401、404には、画像形成装置の機能を拡張するプログラムである拡張アプリケーション(アプリケーションA、アプリケーションB)がインストールされている。
PC402は、MFP401、404にアクセスし、これらにインストールされている拡張アプリケーションの設定を行うことが可能である。PC402は、例えばパーソナルコンピュータや、タブレット型コンピュータ、スマートフォン等である。
アプリケーションA431、434は、同じアプリケーションであるが、バージョンが異なり、機能に差異がある。アプリケーションA431は、設定データ441を用いて動作する。また、アプリケーションA434は、設定データ444を用いて動作する。この設定データにもバージョンがあり、設定データ441と設定データ444とは異なるバージョンである。
アプリケーションB411、414も、同じアプリケーションであるが、バージョンが異なり、機能に差異がある。また、アプリケーションB411の設定データ421と、アプリケーションB414の設定データ424にもバージョンがあり、設定データ421と設定データ424は異なるバージョンである。
図5は、本実施形態の画像形成装置にインストールされている拡張アプリケーションの設定を行う際の処理の一例を示すフローチャートである。
また、以下では、拡張アプリケーションの例として、ユーザーが登録した印刷フォームで画像データを印刷するフォーム印刷アプリケーションを用いる。なお、拡張アプリケーションの設定処理は、拡張アプリケーションに応じて細かい処理内容は異なるが、基本的な処理はここで示す処理と同様である。
拡張アプリケーションの設定を行う際には、ユーザーは、PC402上で動作するWebブラウザから、設定対象の画像形成装置(MFP401や404、以下単に「画像形成装置」という)に接続して、Webブラウザを介してアプリケーションの設定を行う。PC402のWebブラウザは、PC402の図示しないCPUが記憶装置に格納されるプログラムを実行することにより実現される。また、画像形成装置側の各処理は、画像形成装置のCPU101がROM103やストレージ104に格納されてプログラムを必要に応じてRAM102にロードして実行することにより実現される。
まず、ユーザーは、PC402上のWebブラウザから画像形成装置のサーブレットサービス304に対して、拡張アプリケーションの設定を行うための設定用URLをリクエストする操作を行う。この操作に応じて、PC402のWebブラウザがMFP401のサーブレットサービス304に対して設定用URLをリクエストする(S501)。
すると、サーブレットサービス304は、リクエストを受け取ると、リクエストに応じた処理を、アプリケーション管理部302に依頼する(S502)。
アプリケーション管理部302は、処理の依頼を受けると、リクエストされているURLから該当する拡張アプリケーション(ここではフォーム印刷アプリケーション)を特定する。そして、フォーム印刷アプリケーションのアプリケーションサーブレットを起動する(S503)。フォーム印刷アプリケーションのアプリケーションサーブレットは、フォーム印刷アプリケーションの一部であり、フォーム印刷アプリケーション内のサーブレット処理を担当する。ここでは詳細は省略するが、フォーム印刷アプリケーションのアプリケーションサーブレットの起動は、後述する図8に示すフォーム印刷アプリケーションの起動手順と同様の手順で行われる。
フォーム印刷アプリケーションは、要求されたURLのリクエストに対するレスポンス処理を行う(S504)。ここでは、設定用URLに対するHTMLリソースを返信する準備を行う。HTMLリソースには、図6に示すようなフォーム印刷アプリケーションの処理に必要な情報(設定データ)を参照・設定するためのHTML FORMが記述されている。
そして、フォーム印刷アプリケーションは、上記S504で準備したHTMLリソースをアプリケーション管理部302に返信する(S505)。
アプリケーション管理部302は、フォーム印刷アプリケーションからレスポンスを受信すると、フォーム印刷アプリケーションから受信したレスポンスをそのままサーブレットサービス304に送信する(S506)。
さらに、サーブレットサービス304は、アプリケーション管理部302からレスポンスを受信すると、アプリケーション管理部302から受信したレスポンスをそのままWebブラウザに送信する(S507)。
Webブラウザは、サーブレットサービス304からレスポンス(フォーム印刷アプリケーションが準備したHTMLリソース)を受信すると、HTMLリソースに基づく表示を行う。フォーム印刷アプリケーションが準備したHTMLリソースに基づく画面がWebブラウザに表示されると、ユーザーは、Webブラウザに表示された画面を編集操作し、アプリケーションの設定を変更する(S508)。ここでは、ユーザーが、新しい印刷フォームを登録する操作を行ったとする。
Webブラウザは、ユーザーの操作にしたがい、設定情報登録リクエストをサーブレットサービス304に要求する(S509)。
サーブレットサービス304は、Webブラウザから設定情報登録リクエストを受信すると、該リクエストに対応する処理を、アプリケーション管理部302に依頼する(S510)。
アプリケーション管理部302は、処理の依頼を受けると、要求されたURLから該当する拡張アプリケーション(ここではフォーム印刷アプリケーション)を特定する。そして、フォーム印刷アプリケーションのアプリケーションサーブレットを起動する(S511)。
フォーム印刷アプリケーションは、Webブラウザから送信された設定情報登録リクエストに基づく登録処理を行う(S512)。この登録処理では、フォーム印刷アプリケーションは、例えば図6に示すような設定情報を追加する。そして、フォーム印刷アプリケーションは、登録処理の結果をレスポンスとしてアプリケーション管理部302に返信する(S513)。
アプリケーション管理部302は、フォーム印刷アプリケーションからレスポンスを受信したら、フォーム印刷アプリケーションから受信したレスポンスをそのままサーブレットサービス304に送信する(S514)。
さらに、サーブレットサービス304は、アプリケーション管理部302からレスポンスを受信したら、アプリケーション管理部302から受信したレスポンスをそのままWebブラウザに送信する(S515)。
なお、フォーム印刷アプリケーションは、ユーザーが設定した設定情報(ここでは印刷フォーム)に対応するアイコンを登録するために、アプリケーション管理部302にアイコン情報更新通知を送信する(S506)。
アプリケーション管理部302は、フォーム印刷アプリケーションから受信したアイコン情報更新通知に基づいて、アイコン更新処理を行う(S517)。この処理により、後述する図7のような操作画面が構成される。
以上、図5に示した一連の処理によって、フォーム印刷アプリケーションは、ユーザーのリクエストに応じて設定データを変更することができる。
図6は、拡張アプリケーションの設定データの一例を示す図である。
図6ではJSON(JavaScript(登録商標) Object Notation)のフォーマットで示しているが、設定データのフォーマットは拡張アプリケーションが自由に決めてよい。例えば、独自のバイナリ形式でもよいし、XMLのフォーマットでもよい。
なお、拡張アプリケーションの設定データは、図5のフローチャートにおけるS512の処理によって更新される。
図6の例では、設定データとして2つの印刷フォームが登録されている。フォーム印刷アプリケーションは、この設定に応じてフォーム印刷処理を行う。
601~604は、1つ目の印刷フォームの登録情報を示している。ここでは、一例として、score(五線譜)の印刷を行うための印刷フォームの登録情報が記載されている。
601は、アイコンを識別するボタンIDを示しており、押下されたボタンを識別する際に使用する。
602は、印刷フォームの内容を示すフォーム名を示しており、ユーザーが登録する。
603は、フォーム印刷で印刷する対象の画像ファイルを示しており、ユーザーが登録する。
604は、フォーム印刷する際のカラーモードや部数などをまとめた印刷設定を示しており、ユーザーが登録する。
611~614は、2つ目の印刷フォームの登録情報を示しており、それらが示す内容は601~604と同様である。この例では、form1という印刷フォームを印刷するための登録情報が記載されている。
図7は、本実施形態の画像形成装置の操作部112に表示される操作画面の一例を示す図である。
ここでは、標準機能であるコピー702、FAX703、Send704の各種アイコンに加えて、拡張アプリケーションに対応するPrint Scoreアイコン701、Print Form1アイコン705が表示されている。Print Scoreアイコン701は、フォーム印刷アプリケーションの設定情報(図6の601~604)に対応する。Print Form1アイコン705は、フォーム印刷アプリケーションの設定情報(図6の611~614)に対応する。ユーザーがこれらのアイコンを押下することで、それぞれに対応するアプリケーションが起動する。
図8は、本実施形態の画像形成装置において拡張アプリケーションを起動する際の処理の一例を示すフローチャートである。このフローチャートの処理は、画像形成装置のCPU101がROM103やストレージ104に格納されてプログラムを必要に応じてRAM102にロードして実行することにより実現される。
ユーザーが、操作部112に表示されるアイコン(例えば図7の701や705)を押下して、拡張アプリケーションの起動を要求する。すると、その操作をUI制御部303が検知して、該押下されたアイコンの情報(押下されたボタンのアプリケーション識別情報とボタンIDを含む)をアプリケーション管理部302に通知する。そして、アプリケーション管理部302からネイティブスレッド214に拡張アプリケーションの起動の要求が通知される(S801)。この通知には、押下されたボタンのアプリケーション識別情報と、ボタンIDが含まれる。
ネイティブスレッド214は、拡張アプリケーションの起動を要求する通知を受信すると、VMスレッド215を生成する処理を行う(S802)。この処理において、ネイティブスレッド214は、OS201に対してスレッドの生成を要求する。この要求には、アプリケーション識別情報とボタンIDが含まれる。
スレッドの生成要求を受けたOS201は、VMスレッド215の生成を行う(S803)。この際、VMスレッド215に、アプリケーション識別情報とボタンIDが渡される。
生成されたVMスレッド215は、スレッドの初期化を行う(S804)。
続いて、VMスレッド215は、VM230を生成する(S805)。この際、VM230に、アプリケーション識別情報とボタンIDが渡される。
生成されたVM230は、拡張アプリケーションの読み込み処理を行う(S806)。VM230は、この拡張アプリケーションの読み込み処理において、標準VMシステムサービス221に対して読み込み要求を出す。この読み込み要求には、どのアプリケーションを読み込むのかを指示するための情報として、アプリケーション識別情報が含まれる。
読み込み要求を受信した標準VMシステムサービス221は、指示された拡張アプリケーションのデータをVM230に読み込む(S807)。この処理により、指示されたアプリケーション識別情報に対応する拡張アプリケーションがVM230にロードされる。なお、この時に読み込まれる拡張アプリケーションのデータ名は、拡張アプリケーション毎に共通する固定の名前となる。各拡張アプリケーションは、データとして、必ず固有の名前を有する。
続いて、VM230は、上記S806、S807により読み込んだ拡張アプリケーションを実行する(S808)。該S808において実行される内容は、拡張アプリケーションのプログラムに応じて異なる。この時、VM230は、どのボタンIDが押下されたのかを拡張アプリケーションに通知する。拡張アプリケーションは、通知されたボタンIDの情報に基づいて、押下されたアイコンを判断し、処理内容を決定する。詳細は図9に示す。
図9は、図8のS808に示した拡張アプリケーション実行処理の詳細を例示するフローチャートである。
ここでは、図7の操作画面において、フォーム印刷アプリケーションのボタン(Print Scoreアイコン701)が押下された際の例について説明する。
フォーム印刷アプリケーションは、VM230から通知されたボタンIDに対応する設定データを読み込み、アプリケーションにどのような設定がされているかを認識する(S901)。設定データとしては、例えば、図6で示したような内容が記録されている。フォーム印刷アプリケーションは、通知されているボタンIDに基づいて、ボタンIDに対応する設定データ(上述の例では図6の601~604に示した設定データ)が抽出される。
続いてフォーム印刷アプリケーションは、抽出した設定データに基づいてフォーム印刷を行うために、ジョブを投入する(S902)。上述の例では、フォーム印刷アプリケーションが、図6の603に示す画像ファイル”score.bin”を、図6の604に示す印刷設定”setting1.js”で印刷する印刷ジョブを投入する。
以上の処理により、フォーム印刷アプリケーションは、登録されている印刷フォームを印刷することができる。例えば画像ファイル”score.bin”を印刷設定”setting1.js”で印刷することができる。
図10は、本実施形態の画像形成装置のストレージ104に格納されている拡張アプリケーションの情報の一例を示す図である。
ストレージ104は、ファイルシステムで管理され、ディレクトリ構造でデータを格納する。拡張アプリケーションのデータは、アプリケーションごとにディレクトリに分けて管理されている。アプリケーションAのデータは、ディレクトリ1001~1003に格納されている。
ディレクトリ1001は、アプリケーションAのデータを管理するルートディレクトリである。
各アプリケーションのルートディレクトリには、dataディレクトリ1002と、packageディレクトリ1003がある。
dataディレクトリ1002は、アプリケーションの設定データなど動的に生成される情報を保持するディレクトリである。dataディレクトリにどのような情報を書き込むか、また、どのようなデータフォーマットで書き込むかはアプリケーションによって異なる。
packageディレクトリ1003は、アプリケーションの動作を記述するスクリプトファイルや、画面に表示する画像データのリソースファイルなど、静的な情報を保持するディレクトリである。スクリプトファイルや、リソースファイルなどは、packageディレクトリ1003内のpackage.bin1004の一つのファイルにアーカイブされる。
アプリケーションBのデータは、同様に、ディレクトリ1011~1013に格納されている。
図11は、図10に示した拡張アプリケーションの静的な情報を保持するファイルであるpackage.bin内の構成の一例を示す図である。
package.bin1101は、アプリケーションの静的な情報を保持するアーカイブであり、図10に示したpackage.bin1004や1014に対応する。package.bin1101には、アプリケーションの識別情報やバージョンを示すmetaファイル1102が含まれる。さらに、package.bin1101には、アプリケーションの動作を記述するスクリプトファイル1103、1104、及び、画像データや表示メッセージを格納するリソースファイル1105、1106が含まれる。
図12は、図11に示したmetaファイル1102の構成の一例を示す図である。
1201は、アプリケーションを識別するためのIDを示す。
1202は、アプリケーション名を示す。
1203は、アプリケーションのバージョン情報(アプリケーションバージョン)を示す。アプリケーションバージョンは、アプリケーションの機能を追加する際や、不具合を修正する際などに、更新される。
1204は、アプリケーションの設定データのバージョン情報(設定データバージョン)を示す。設定データバージョンは、設定データの項目の追加やフォーマット変更などにより、データの互換を行う際に何らかの処理が必要な場合に更新する。
なお、1203のアプリケーションバージョンと、1204のアプリケーションの設定データバージョンとは、同期することなく更新される。例えば、アプリケーションの不具合を修正した際に、1203が更新されたとしても、設定データが変わらない場合には、1204は更新されない。
1205は、インポート可能な設定データバージョンを特定可能な情報(設定データ互換バージョン)を示す。なお、インポートについては後述する。
なお、metaファイルには、上記1201~1205に示した情報を記憶可能であるが、設定データバージョン1204や設定データ互換バージョン1205が含まれていない場合もある。
図13は、MFP404にインストールされている拡張アプリケーションの設定データをMFP401に反映する処理の概要を説明する図である。
まず、MFP404のアプリケーション管理部302が、MFP404に設定されているアプリケーション設定データ444、424から、設定情報1301を生成する。
設定情報1301には、アプリケーションAの設定データ444を復元するための設定データ1302と、アプリケーションBの設定データ424を復元するための設定データ1303が含まれる。
具体的には、アプリケーション管理部302は、図10に示したアプリケーションのdataディレクトリ1002、1012に保持されている情報に基づいて、設定データ1302、1303を生成する。ここで、アプリケーション管理部302は、ファイルの種別(設定データであるか、リソースデータであるか)を識別せずに処理する。
次に、MFP401のアプリケーション管理部302が、設定情報1301をMFP401に反映させる。これにより、MFP401の設定データは、アプリケーションAについては設定データ441から設定データ1304に書き換えられる。同様に、アプリケーションBについては設定データ421から設定データ1305に書き換えられる。
なお、これは、反映元の設定情報1301に含まれるアプリケーション設定データ1302、1303と、反映先の設定データ441、421との設定データバージョンに互換性がある場合の処理である。互換性がないアプリケーション設定データは、書き換えられずに、元の設定データのままとなる。
なお、MFP404の設定データ444、424から設定情報1301を生成することをエクスポートと言う。また、設定情報1301をMFP401の設定データ441、421に反映することをインポートと言う。エクスポートやインポートの指示は、ユーザーが操作部112又はPC402のWebブラウザから行うことができる。
図14は、パスワード認証機能が追加された拡張アプリケーションの処理の一例を示すフローチャートである。
ここでは、拡張アプリケーションとしてフォーム印刷アプリケーションを用いて説明する。パスワード認証機能は、印刷フォームを登録する際にフォーム情報と一緒にパスワードを登録することにより、フォーム印刷の使用をパスワードを知るユーザーに限定することを目的とする。なお、本フローチャートの処理は、フォーム印刷アプリケーションにより実行制御される。すなわち、このフローチャートの処理は、画像形成装置のCPU101がROM103やストレージ104に格納されてプログラムを必要に応じてRAM102にロードして実行することにより実現される。
まず、S1401において、フォーム印刷アプリケーションは、設定データを読み込む。
次に、S1402において、フォーム印刷アプリケーションは、上記S1401で読み込んだ設定データにパスワードが指定されているか否かを判定する。設定データにパスワードが指定されていないと判定した場合(S1402でNoの場合)、フォーム印刷アプリケーションは、S1405に処理を進める。
一方、設定情報にパスワードが指定されていると判定した場合(S1402でYesの場合)、フォーム印刷アプリケーションは、S1403に処理を進める。
S1403において、フォーム印刷アプリケーションは、ユーザーからのパスワードの入力を受け付け、パスワードの入力があると、S1404に処理を進める。
S1404において、フォーム印刷アプリケーションは、入力されたパスワードが設定されているパスワードと一致するか否かを判定する。入力されたパスワードが設定されているパスワードと一致すると判定した場合(S1404でYesの場合)、フォーム印刷アプリケーションは、S1405に処理を進める。
S1405において、アプリケーション管理部302は、登録されているフォームの印刷ジョブを投入し、本フローチャートの処理を終了する。
一方、入力されたパスワードが設定されているパスワードと一致しないと判定した場合(S1404でNoの場合)、フォーム印刷アプリケーションは、ジョブの投入を行うことなく、本フローチャートの処理を終了する。
図15は、パスワード認証機能を追加した後のフォーム印刷アプリケーションの設定データの一例を示す図である。
図15に示す設定データと、パスワード認証機能を追加する前のフォーム印刷アプリケーションの設定データである図6とを比較すると、1501に示す情報が追加されている。1501は、ボタンIDが”2”に登録されている印刷フォームにパスワードが設定されていることを示している。前述した図14のフローチャートのS1402では、この設定の有無が判定される。
図16は、パスワード認証機能を追加した後のフォーム印刷アプリケーションのmetaファイル1102の情報の一例を示す図である。
図16において、1601は、フォーム印刷アプリケーションのバージョン(アプリケーションバージョン)を示している。ここでは、パスワード認証機能が追加されたため「2」に更新されている。
1602は、設定データのバージョン(設定データバージョン)を示している。パスワードが登録されている設定データを、パスワード認証機能を追加する前の古いアプリケーションにインポートすると、パスワード認証されずに印刷されてしまい、セキュリティ上の問題がある。そのため、設定データバージョンが「2」に更新されている。
1603は、設定データの互換性のバージョン(設定データ互換バージョン)を示している。ここでは、パスワード認証機能を追加する前の古いバージョンのアプリケーションの設定データを読み込むことが可能であるため、設定データ互換バージョンが「1」に設定されている。
図17は、本実施形態の画像形成装置における設定情報のエクスポート処理の一例を示すフローチャートである。この処理は、アプリケーション管理部302により実行される。すなわち、このフローチャートの処理は、画像形成装置のCPU101がROM103やストレージ104に格納されてプログラムを必要に応じてRAM102にロードして実行することにより実現される。
ユーザーが操作部112又はPC402のWebブラウザからエクスポートの指示を行うと、その旨がアプリケーション管理部302に通知され、本フローチャートの処理が開始される。なお、エクスポートの指示には、エクスポート先の指定が含まれているものとする。また、エクスポート先としては、例えばUSBストレージ114やPC、クラウド等のネットワーク上の記憶領域などが指定可能である。
まず、S1701において、アプリケーション管理部302は、まだ処理されていないアプリケーションの有無を判定する。まだ処理していないアプリケーションがあると判定した場合(S1701でYesの場合)、アプリケーション管理部302は、S1702に処理を進める。
S1702において、アプリケーション管理部302は、未処理のアプリケーションを1つエクスポート対象として選択し、該アプリケーションのmetaファイル1102から、設定データバージョン(図12の1204に対応)を取得する。上記エクスポート対象として選択したアプリケーションを以下「現在のアプリケーション」という。
次にS1703において、アプリケーション管理部302は、上記S1702で取得した設定データバージョンにバージョン指定がされている否かを判定する。設定データバージョンにバージョン指定がされていると判定した場合(S1702でYesの場合)、アプリケーション管理部302は、S1704に処理を進める。
S1704において、アプリケーション管理部302は、上記S1702で取得した設定データバージョンの値が「0」であるか否かを判定する。設定データバージョンの値が「0」であると判定した場合(S1704でYesの場合)、アプリケーション管理部302は、エクスポート処理が禁止されていると判断し、エクスポート処理をすることなく、S1701に処理を戻す。
一方、上記S1704において、設定データバージョンの値が「0」以外であると判定した場合(S1704でNoの場合)の場合、アプリケーション管理部302は、S1706に処理を進める。
また、上記S1703において、設定データバージョンにバージョンの指定がないと判定した場合(S1703でNoの場合)、アプリケーション管理部302は、S1705において、設定データバージョンを「1」とし、S1706に処理を進める。設定データバージョンが指定されていない場合は、エクスポート機能に対応する前に開発されていたアプリケーションのバージョンであると考えられる。そこで、本実施形態では、そのようなバージョンのアプリケーションでもエクスポート処理できるように、設定データバージョンを「1」とする。
S1706において、アプリケーション管理部302は、現在のアプリケーションのdataディレクトリ(例えば図10の1002や1012)内に存在するすべてのファイルと、上記設定データバージョン、アプリケーションの識別IDをアーカイブする。ここでアーカイブした結果は、図13に示したアプリケーションの設定データ1302(あるいは1303)に対応する。即ち、現在のアプリケーションのエクスポートデータが生成される。なお、すべてのアプリケーションに対して処理を行うことで、設定情報1301が生成される。
上記S1706の処理の後、アプリケーション管理部302は、S1701に処理を戻す。
そして、上記S1701において、アプリケーション管理部302が、アプリケーションがすべてエクスポート処理済みと判定した場合(S1701でNoの場合)、本フローチャートの処理を終了する。なお、上記S1706でアプリケーションごとにアーカイブされた各エクスポートを逐次エクスポート先に出力してもよいし、全てのアプリケーションについての処理が完了した時点で全てのエクスポートデータをエクスポート先に出力してもよい。
図18は、図17に示したエクスポート処理により生成された図13の設定情報1301の構成の一例を示す図である。
設定情報1301には、アプリケーションAの設定データを復元するための情報1302が含まれる。情報1302のアーカイブ内部には、アプリケーション識別ID1810、設定データのバージョン1811と、dataディレクトリ内のファイル1812(アプリケーションの設定データを含む)が格納されている。
同様に、設定情報1301には、アプリケーションBの設定データを復元するための情報1303があり、その内部には各情報1820~1822が格納されている。
このように、エクスポート処理では、エクスポート対象のアプリケーションの設定データ(1812、1822に含まれる)に、該アプリケーションの情報として記憶される設定データバージョン(1811、1821)を付加してエクスポートできる。
図19は、本実施形態の画像形成装置における設定情報のインポート処理の一例を示すフローチャートである。このフローチャートの処理は、アプリケーション管理部302の制御により実行される。すなわち、このフローチャートの処理は、画像形成装置のCPU101がROM103やストレージ104に格納されてプログラムを必要に応じてRAM102にロードして実行することにより実現される。なお、ここでは、設定情報として1301を用いて説明する。
ユーザーが操作部112又はPC402のWebブラウザからインポートの指示を行うと、その旨がアプリケーション管理部302に通知され、本フローチャートの処理が開始される。なお、インポートの指示には、インポート対象の設定情報の指定が含まれているものとする。また、インポート対象の設定情報としては、例えばUSBストレージ114やPC、クラウド等のネットワーク上の記憶領域などに記憶されている設定情報(例えば図18の設定情報1301)が指定可能である。
まず、S1901において、アプリケーション管理部302は、インポート対象として指定された設定情報1301をアプリケーションごとのインポートデータ(図18の情報1302、1303)に分割する。そして、アプリケーション管理部302は、まだ処理していないインポートデータがあるか否かを判定する。まだ処理していないインポートデータがあると判定した場合(S1901でYesの場合)、アプリケーション管理部302は、未処理のインポートデータの1つをインポート対象として選択し(以下「現在のインポートデータ」)、S1902に処理を進める。
S1902において、アプリケーション管理部302は、現在のインポートデータを読み出し、該インポートデータからアプリケーション識別IDを取得する。
次にS1903において、アプリケーション管理部302は、上記S1902で取得したアプリケーション識別ID(図18の例では1810や1820)に該当する拡張アプリケーションを特定する(以下「現在の拡張アプリケーション」という)。さらに、アプリケーション管理部302は、現在の拡張アプリケーションの情報として、ストレージ104に記憶される情報からmeta情報(図11の1102に対応)を取得する。
次にS1904において、アプリケーション管理部302は、上記S1903で取得したmeta情報に設定データバージョン指定(図12の1204に対応)があるか否かを判定する。meta情報に設定データバージョン指定がないと判定した場合(S1904でNoの場合)、アプリケーション管理部302は、S1905に処理を進める。
S1905において、アプリケーション管理部302は、設定データバージョンを「1」とし、S1906に処理を進める。
一方、上記S1904において、meta情報に設定データバージョン指定があると判定した場合(S1904でYesの場合)、アプリケーション管理部302は、そのままS1906に処理を進める。
S1906において、アプリケーション管理部302は、現在のアプリケーションの設定データバージョンを、meta情報で指定されたバージョン又は上記S1905で指定したバージョンに確定する。以下、この設定データバージョンを「X」という。
次にS1907において、アプリケーション管理部302は、上記meta情報に設定データ互換バージョン指定(図12の1205に対応)があるか否かを判定する。設定データ互換バージョン指定がないと判定した場合(S1907でNoの場合)、アプリケーション管理部302は、S1908に処理を進める。
S1908において、アプリケーション管理部302は、設定データ互換バージョンを「1」とし、S1909に処理を進める。
一方、S1907において、設定データ互換バージョン指定があると判定した場合(S1907でYesの場合)、アプリケーション管理部302は、S1909に処理を進める。
S1909において、アプリケーション管理部302は、現在のアプリケーションの設定データ互換バージョンをmeta情報で指定されたバージョン又は上記S1908で指定したバージョンに確定する。以下、この設定データ互換バージョンを「Z」という。
次にS1910において、アプリケーション管理部302は、現在の設定データの設定データバージョンが、以下の式を満たすか否かを判定する(設定データ互換バージョンチェック)。
X ≧ 設定データバージョン1811 ≧ Z
すなわち、アプリケーション管理部302は、現在の設定データの設定データバージョンが、上記S1906で確定した設定データバージョン「X」と、上記S1909で確定した設定データ互換バージョン「Z」に基づく範囲内にあるか否かを判定する。
上記式の条件を満たす場合(現在の設定データの設定データバージョンがXとZに基づく範囲内にある場合)、アプリケーション管理部302は、現在の設定データが反映先に対して互換性があるとみなし、インポートを許可し、S1911に処理を進める。
S1911において、アプリケーション管理部302は、現在の設定データをインポート処理するため、現在の拡張アプリケーションのdataディレクトリ(アプリケーションAの場合図10の1002)内のファイルをすべて削除する。さらに、アプリケーション管理部302は、現在の設定データ内のdataディレクトリ内のファイルを展開して、現在の拡張アプリケーションのdataディレクトリ内のファイルを更新する(インポート)。そして、アプリケーション管理部302は、S1901に戻り、設定情報1301内の残りの設定データについても同様の処理を行う。
一方、上記S1910において、上記式の条件を満たさない場合(現在の設定データの設定データバージョンがXとZに基づく範囲外と判定した場合)、アプリケーション管理部302は、現在の設定データが反映先に対して互換性がないとみなす。この場合、アプリケーション管理部302は、インポートを禁止し、現在の設定データを現在のアプリケーションに反映させることなく、S1901に処理を戻す。
そして、上記S1901において、アプリケーション管理部302が、既にすべてのインポートデータを処理したと判定した場合(S1901でNoの場合)、本フローチャートの処理を終了する。
図20は、本実施形態において設定データのインポート処理の可否について説明する図である。なお、ここでは、フォーム印刷アプリケーションのパスワード認証機能を追加する前と、追加した後のバージョンとの間での、設定データのインポート処理の可否を例に説明する。
MFP401、404には、それぞれフォーム印刷アプリケーションである「アプリケーションA」がインストールされているものとする。そして、パスワード認証機能が追加される前のバージョン(Ver.1)をアプリケーションA2001とする。また、パスワード認証機能を追加された後のバージョン(Ver.2)をアプリケーションA2011とする。
また、各アプリケーションA2001、2011には、それぞれ印刷フォームの情報として設定データ2002、2012が登録されているものとする。設定データ2002、2012の具体的な登録内容は、それぞれ2003、2013に示されるとおりである。設定情報2004、2014は、それぞれ、アプリケーションA2001、2011からエクスポートされた設定情報であり、それぞれのデータを復元するためのアプリケーション設定データ2005、2015が含まれる。
矢印2020は、パスワード認証機能を追加した後のバージョン(Ver.2)のアプリケーションA2011の設定情報2014は、MFP401にインポートができないことを意味している。これは、設定情報2014に保持されている設定データ2015のバージョンが、MFP401にインストールされているアプリケーションA2001と互換性のある設定データバージョンの範囲外である(すなわち互換性がない)ためである。
一方、矢印2021は、パスワード認証機能を追加する前のバージョン(Ver.1)のアプリケーションA2001の設定情報2004は、MFP404にインポート可能であることを意味している。これは、設定情報2004に保持されている設定データの2005バージョンが、MFP404にインストールされているアプリケーションA2011と互換性のある設定データバージョンの範囲内であるためである。
また、矢印2022は、アプリケーションA2011の設定データ2012(具体的には2013)が、設定データ2005(具体的には2003)のインポート処理によって、設定データ2023のように書き換えられる(更新される)ことを示している。
以上のように、本実施形態の画像形成装置では、システム側で、アプリケーションの情報として、アプリケーションごとに、metaファイル1102(設定データバージョン1204、設定データ互換バージョン1205を含む)等を記憶する。またインポートの際、インポート対象の設定データの互換性を、該設定データのバージョンと、インポート対象の設定データに対応するアプリケーションの情報(設定データバージョン1204及び設定データ互換バージョン1205)を用いて判定する。すなわち、インポートの可否を判定する。そして、判定結果に応じて、インポート対象の設定データのインポートを行う(許可する)、又は、行わない(禁止する)ように制御する。この構成により、例えば、パスワード認証機能を追加する前の設定データ2003を、互換性のあるパスワード認証機能を追加した後のフォーム印刷アプリケーション(アプリケーションA2011)へインポートすることを可能にする。一方、パスワード認証機能を追加した後の設定データ2013を、互換性のないパスワード認証機能を追加する前のフォーム印刷アプリケーション(アプリケーションA2001)へインポートすることを禁止できる。このように、本実施形態によれば、バージョンの異なる拡張アプリケーション間で設定データをインポートする場合、安全にインポートすることができるもの(互換性のあるもの)のみをインポートすることができる。したがって、バージョンの異なる拡張アプリケーションの設定データをインポートすることに起因する拡張アプリケーションの不正動作を防止することができる。よって、複数の装置間でアプリケーションの設定データを安全にインポートすることが可能となる。
さらに、本実施形態の画像形成装置等の情報処理装置では、以下のような使用も可能である。例えば、情報処理装置内のOSやアプリケーションの設定データを、USBストレージやPC、クラウド等のネットワーク上の記憶領域等にバックアップしておき、OSやアプリケーションの更新後に、バックアップデータをインポートする場合にも使用できる。この場合、更新後、インポート可能な設定データのみを安全にインポートすることができ、OSやアプリケーションの不正動作を防止することができる。
なお、本実施形態の画像形成装置では、アプリケーションの設定データのインポート/エクスポート機能を画像形成装置のシステムが備えるため、アプリケーション自体にインポート/エクスポート機能を作成する必要がない。このため、アプリケーションの開発の負担を軽減することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
240 拡張アプリケーション
302 アプリケーション管理部
401,404 画像形成装置(MFP)

Claims (11)

  1. アプリケーションをインストールして実行可能な情報処理装置であって、
    前記アプリケーションの情報として、アプリケーションごとに、該アプリケーションの設定データバージョンを示す第1バージョン情報と、該アプリケーションに互換性のある設定データバージョンを特定可能な第2バージョン情報を記憶可能な記憶手段と、
    前記アプリケーションの設定データをインポートする場合、インポート対象の設定データのインポートの可否を、該インポート対象の設定データのバージョンと、該インポート対象の設定データに対応するアプリケーションの情報として前記記憶手段に記憶される情報を用いて判定し、該判定の結果に基づいて該設定データのインポートを行うか否かを制御する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記制御手段は、前記アプリケーションの設定データをインポートする場合、前記インポート対象の設定データのバージョンが、該インポート対象の設定データに対応するアプリケーションの情報として前記記憶手段に記憶される前記第1バージョン情報と前記第2バージョン情報により特定されるバージョンの範囲に含まれる場合には、該設定データのインポートが可能と判定し、前記範囲に含まれない場合には該設定データのインポートが可能でないと判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記アプリケーションの設定データをインポートする場合、前記記憶手段に、前記インポート対象の設定データに対応するアプリケーションの情報として前記第1バージョン情報が記憶されていない場合、前記判定に用いる前記第1バージョン情報を予め決められたバージョンとすることを特徴とする請求項1又は2のいずれか1項に記載の情報処理装置。
  4. 前記制御手段は、前記アプリケーションの設定データをインポートする場合、前記記憶手段に、前記インポート対象の設定データに対応するアプリケーションの情報として前記第2バージョン情報が記憶されていない場合、前記判定に用いる前記第2バージョン情報を予め決められたバージョンとすることを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
  5. 前記制御手段は、前記アプリケーションの設定データをエクスポートする場合、エクスポート対象のアプリケーションの設定データに、該アプリケーションの情報として前記記憶手段に記憶される前記第1バージョン情報を付加してエクスポートすることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
  6. 前記制御手段は、前記アプリケーションの設定データをエクスポートする場合、前記記憶手段に、前記エクスポート対象のアプリケーションの情報として前記第1バージョン情報が記憶されていない場合、前記エクスポートで付加する前記第1バージョン情報を予め決められたバージョンとすることを特徴とする請求項5に記載の情報処理装置。
  7. 前記制御手段は、前記アプリケーションの設定データをエクスポートする場合、エクスポート対象のアプリケーションの情報として前記記憶手段に記憶されている前記第1バージョン情報が特定のバージョンを示す場合には、前記エクスポートを禁止することを特徴とする請求項5又は6に記載の情報処理装置。
  8. 前記記憶手段は、前記アプリケーションの情報として、アプリケーションごとに、該アプリケーションの識別情報を記憶可能であり、
    前記制御手段は、前記アプリケーションの設定データをエクスポートする場合、エクスポート対象のアプリケーションの設定データに、該アプリケーションの情報として前記記憶手段に記憶される前記アプリケーションの識別情報を付加し、
    さらに、前記制御手段は、前記アプリケーションの設定データをインポートする場合、インポート対象の設定データに付加されているアプリケーションの識別情報に基づいて、該インポート対象の設定データに対応するアプリケーションを特定することを特徴とする請求項5~7のいずれか1項に記載の情報処理装置。
  9. 画像形成装置であることを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
  10. アプリケーションをインストールして実行可能であり、前記アプリケーションの情報として、アプリケーションごとに、該アプリケーションの設定データバージョンを示す第1バージョン情報と、該アプリケーションに互換性のある設定データバージョンを特定可能な第2バージョン情報を記憶可能な記憶手段を有する情報処理装置の制御方法であって、
    前記アプリケーションの設定データをインポートする場合、インポート対象の設定データのインポートの可否を、該インポート対象の設定データのバージョンと、該インポート対象の設定データに対応するアプリケーションの情報として前記記憶手段に記憶される情報を用いて判定する判定ステップと、
    前記判定ステップでの判定の結果に基づいて該設定データのインポートを行うか否かを制御する制御ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  11. コンピュータを、請求項1~9のいずれか1項に記載の制御手段として機能させるためのプログラム。
JP2018110666A 2018-06-08 2018-06-08 情報処理装置、情報処理装置の制御方法及びプログラム Active JP7098427B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018110666A JP7098427B2 (ja) 2018-06-08 2018-06-08 情報処理装置、情報処理装置の制御方法及びプログラム
US16/425,765 US11140291B2 (en) 2018-06-08 2019-05-29 Information processing apparatus, control method thereof, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018110666A JP7098427B2 (ja) 2018-06-08 2018-06-08 情報処理装置、情報処理装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019212242A JP2019212242A (ja) 2019-12-12
JP7098427B2 true JP7098427B2 (ja) 2022-07-11

Family

ID=68764337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018110666A Active JP7098427B2 (ja) 2018-06-08 2018-06-08 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (2)

Country Link
US (1) US11140291B2 (ja)
JP (1) JP7098427B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7278165B2 (ja) * 2019-07-16 2023-05-19 シャープ株式会社 画像形成装置、その設定システム、設定方法及びプログラム
CN114143375A (zh) * 2020-08-13 2022-03-04 支付宝实验室(新加坡)有限公司 一种分发数据的方法和系统
JP2022181335A (ja) 2021-05-26 2022-12-08 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム
JP2022181334A (ja) 2021-05-26 2022-12-08 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム
JP2023059509A (ja) * 2021-10-15 2023-04-27 シャープ株式会社 情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075088A (ja) 2012-10-05 2014-04-24 Canon Inc 画像形成装置、制御方法、およびそのプログラム。
JP2017191512A (ja) 2016-04-14 2017-10-19 キヤノン株式会社 更新システム、サーバ装置、画像形成装置及びそれら制御方法、並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758342A (en) * 1995-01-23 1998-05-26 International Business Machines Corporation Client server based multi-processor file system wherein client files written to by a client processor are invisible to the server
US6657743B1 (en) * 1997-11-26 2003-12-02 Brother Kogyo Kabushiki Kaisha Communication terminal and storage medium
JP2013069077A (ja) 2011-09-21 2013-04-18 Canon Inc システム、情報処理装置およびその制御方法、画像形成装置およびその制御方法、並びにプログラム
KR101919777B1 (ko) * 2012-01-09 2018-11-19 엘지전자 주식회사 이동 단말기 및 그 제어방법
JP2015222872A (ja) * 2014-05-22 2015-12-10 キヤノン株式会社 画像処理装置とその制御方法、及びプログラム
US10394500B2 (en) * 2016-08-05 2019-08-27 Ricoh Company, Ltd. Information processing system and application installation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075088A (ja) 2012-10-05 2014-04-24 Canon Inc 画像形成装置、制御方法、およびそのプログラム。
JP2017191512A (ja) 2016-04-14 2017-10-19 キヤノン株式会社 更新システム、サーバ装置、画像形成装置及びそれら制御方法、並びにプログラム

Also Published As

Publication number Publication date
US20190379800A1 (en) 2019-12-12
JP2019212242A (ja) 2019-12-12
US11140291B2 (en) 2021-10-05

Similar Documents

Publication Publication Date Title
JP7098427B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5293344B2 (ja) 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6442976B2 (ja) 画像形成装置、ブラウザの制御方法およびプログラム
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
JP7000013B2 (ja) 情報処理装置、該装置の制御方法、該方法を実行する制御プログラム
US11397569B2 (en) Deploying micro frontends to different clusters from a single repository
CN109660688B (zh) 信息处理装置及其控制方法
JP2015205499A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
US11720390B2 (en) Information processing apparatus that determines whether an extended application can reuse a virtual machine, method of controlling the same, and storage medium
US20210064300A1 (en) Application and information processing apparatus
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP2022069899A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US20210042131A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP4500326B2 (ja) プロセス間通信プログラムおよび画像情報処理装置
JP7080061B2 (ja) 画像処理装置
JP6614318B2 (ja) 画像形成装置、ブラウザの制御方法およびプログラム
JP2010218469A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP2016018508A (ja) 画像形成装置及びその制御方法
JP2017103521A (ja) 情報処理装置及びその制御方法、プログラム
JP2021016183A (ja) 情報処理装置、データ処理方法、プログラム
JP2022051794A (ja) 画像形成装置およびその制御方法
JP2014170366A (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2021098314A (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP2020004273A (ja) 印刷制御プログラムと、印刷制御プログラムのプリンタ記述ファイルの更新方法、情報処理装置、および記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220629

R151 Written notification of patent or utility model registration

Ref document number: 7098427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151