JP2011097365A - Image forming apparatus - Google Patents
Image forming apparatus Download PDFInfo
- Publication number
- JP2011097365A JP2011097365A JP2009249356A JP2009249356A JP2011097365A JP 2011097365 A JP2011097365 A JP 2011097365A JP 2009249356 A JP2009249356 A JP 2009249356A JP 2009249356 A JP2009249356 A JP 2009249356A JP 2011097365 A JP2011097365 A JP 2011097365A
- Authority
- JP
- Japan
- Prior art keywords
- api
- application
- image forming
- forming apparatus
- processing unit
- 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)
- Facsimiles In General (AREA)
Abstract
Description
画像形成装置において、API(Application Program Interface)の利用技術に関するものである。 The present invention relates to an application program interface (API) utilization technique in an image forming apparatus.
MFP(Multi Functional Peripheral;複合機)等の画像形成装置上でアプリケーションを動作させる際、MFPがアプリケーションに提供しているAPI(Application Program Interface)とアプリケーションが使用しているAPIとの整合がなければ、アプリケーションを実行することはできない。この場合に、例えばファームウェアのバージョンアップによるAPIセットの更新によってアプリケーションが利用可能なAPIがなくなってしまうとアプリケーションが起動しなくなるという問題が生じる。ユーザにとってはなぜ起動に失敗したのかわからず、なおかつ利用したいアプリケーションを利用できない、という不利益をこうむることになる。 When an application is operated on an image forming apparatus such as an MFP (Multi Functional Peripheral), there is no matching between an API (Application Program Interface) provided by the MFP and an API used by the application. , Can not run the application. In this case, for example, if there is no API that can be used by the application due to an update of the API set due to firmware upgrade, the application may not start. For the user, there is a disadvantage that the user does not know why the activation has failed and the user cannot use the desired application.
従来技術として、APIの利用可否によるアプリケーション利用の可否を容易に判断する目的で、あらかじめAPIの情報をMFP内部に格納し、アプリケーション側にも使用するAPIの情報を添付し、その適合性で持って、利用可否を判断する、という方法がある(特許文献1参照)。この方法では、ユーザ情報格納部、MFP情報格納部、API情報格納部等の内容を参照してAPIの利用可否を判定し、また、APIが利用できないことにより、実行することができないアプリケーションの機能を判定して、ディスプレイにアプリケーションの一覧表示を行う際の表示方法を切り替える。 As a prior art, in order to easily determine whether or not an application can be used depending on whether or not the API can be used, API information is stored in the MFP in advance, and API information to be used on the application side is attached, and the compatibility is maintained. Then, there is a method of determining whether or not it can be used (see Patent Document 1). In this method, whether or not the API can be used is determined by referring to the contents of the user information storage unit, the MFP information storage unit, the API information storage unit, and the like, and the function of the application that cannot be executed because the API cannot be used. And switching the display method when displaying a list of applications on the display.
しかし、この方法では、ファームウェアのバージョンアップでAPIセットの更新がされることにより、今まで使用できていたアプリケーションが使用できなくなる問題は解消されない。 However, this method does not solve the problem that an application that has been used so far cannot be used because the API set is updated by upgrading the firmware.
解決しようとする課題は、画像形成装置において、APIのバージョンの不整合等によって動作しないアプリケーションを動作させることである。 A problem to be solved is to run an application that does not operate due to an API version mismatch or the like in the image forming apparatus.
本発明の画像形成装置は、アプリケーション及び当該アプリケーションが使用するAPI(Application Program Interface)の同定情報を有するアプリケーションデータ格納部と、装置が提供するAPI及び当該APIのインタフェース情報を有する提供APIデータ格納部と、前記アプリケーションデータ格納部のAPIの同定情報と、前記提供APIデータ格納部のAPIのインタフェース情報に基づいて、前記アプリケーションが使用可能かどうかを判断するAPIチェック処理部と、前記APIチェック処理部により、使用不可能と判断されたアプリケーションについて、前記提供APIデータ格納部が提供するAPIにより動作可能なように当該アプリケーションを改変するAPIパッチあて処理部と、を有することを特徴とする。 An image forming apparatus according to the present invention includes an application data storage unit having identification information of an application and an API (Application Program Interface) used by the application, and an API data storage unit having an API provided by the apparatus and interface information of the API. An API check processing unit that determines whether the application can be used based on API identification information of the application data storage unit and API interface information of the provided API data storage unit, and the API check processing unit And an API patch processing unit that modifies the application so that the application can be operated by the API provided by the provided API data storage unit.
このため、アプリケーションが利用するAPIと画像形成装置が利用するAPIとの間での不整合により、アプリケーションが起動不可能であっても、前記改変されたアプリケーションが正しく動作を行うために、アプリケーションが起動可能となる。 For this reason, even if the application cannot be started due to a mismatch between the API used by the application and the API used by the image forming apparatus, the modified application operates correctly. It becomes possible to start.
本発明実施例に係る画像形成装置101について、以下に説明する。
The
[構成]
図1は、本発明実施例の画像形成装置101の機能ブロック図である。
[Constitution]
FIG. 1 is a functional block diagram of an
画像形成装置101は、アプリケーション起動受付部111、アプリケーション読み込み処理部113、アプリケーションデータ格納部115、APIチェック処理部117、提供APIデータ格納部119、APIパッチあて処理部121、アプリケーション起動処理部123の各機能ブロックを有する。
The
画像形成装置101には、図示しないCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)を有して、これらがコンピュータを構成し、上記のアプリケーション起動受付部111、アプリケーション読み込み処理部113、アプリケーションデータ格納部115、APIチェック処理部117、提供APIデータ格納部119、APIパッチあて処理部121、アプリケーション起動処理部123の各機能ブロックの機能は、前記コンピュータがプログラムを実行することにより、実現される。
The
以下に上記の各機能ブロックについて説明する。 Hereinafter, each functional block will be described.
アプリケーション起動受付部111は、ユーザからの操作パネルからの入力や接続された外部端末装置からの指示によって、画像形成装置の動作を実行させるためのプログラムであるアプリケーションを起動する(図1(1))。ここで言うアプリケーションとは、ファームウェアに含まれないインストール・アンインストール可能なプログラムである(ソフトウェアの構成については、詳細を後述)。例えばJava(登録商標)によるJava(登録商標)アプリケーションプログラム等である。そして、アプリケーション読み込み処理部113にアプリケーションの読み込みを指示する(図1(2))。
The application
アプリケーション読み込み処理部113は、前記アプリケーション起動受付部111からの指示を受けてアプリケーションデータ格納部115に格納されているアプリケーションを読み込み(図1(3))、起動前のアプリケーションの利用不可APIをチェックの指示(図1(4))と、起動可能な状態にアプリケーションを加工するための指示(図1(5))を行なう。
In response to an instruction from the application
アプリケーションデータ格納部115は、アプリケーション及び当該アプリケーションが使用するAPI(Application Program Interface)の同定情報を格納する。アプリケーション読み込み処理部113からの要求に基づいて、アプリケーション及びアプリケーションが使用するAPIの情報(インタフェース情報)を渡す。装置が提供するAPIとアプリケーションが使用するAPIのバージョンの不整合等のために、アプリケーションが実行不可能な場合がある。アプリケーションデータ格納部115は、インストールされるアプリケーションが使用しているAPIの同定情報を有し、提供APIデータ格納部119でそのAPIを同定し、APIがどのようなインタフェースのもとに作動するかについて調査可能とする。当該インタフェース情報に基づいて、後述の他機能部により、提供APIとの比較(インタフェースの整合性)が行なわれる。
The application
APIチェック処理部117は、画像形成装置101が保有してアプリケーションに提供するAPIとアプリケーションが利用しようとするAPIとの相互のインタフェース情報を比較し、アプリケーションが利用不可能なAPIを使用しているかどうかをチェック(図1(4))する。
Whether the API
提供APIデータ格納部119は、画像形成装置101が保有してアプリケーションに提供するAPIに関する情報(インタフェース情報)を格納する。APIチェック処理部117からの要求に基づいて、前記APIに関する情報を渡す(図1(5))。
The provided API
APIパッチあて処理部121は、APIチェック処理部117が判断した、利用不可能なAPIを有するアプリケーションについて、装置が提供するAPIを実行するために、アプリケーションのAPIのインタフェース部分についての置き換えが可能なものについては、置き換え可能な処理に動的に変更するようにアプリケーションを加工(改変処理、すなわちパッチあて処理)する(図1(6))。この置換動作については、使用時に動的に加工する方法以外に、画像形成装置の始動時にチェックを行なってあらかじめ加工しておく方法や、アプリケーションのインストール時にチェックを行なって加工するという方法をとってもよい。
The API
アプリケーション起動処理部123は、ユーザからのアプリケーション起動要求を受け付けて、アプリケーションの起動を実行する(図1(7))。
The application
アプリケーション起動処理部123は、アプリケーション読み込み処理部113によって、読み込まれたアプリケーションの最終イメージを使ってアプリケーションを起動する。アプリケーションの最終イメージとは、アプリケーションが加工によってイメージが変更されて最終的に出来上がったイメージのことを指す。
The application
[ソフトウェア構成]
図2に、本画像形成装置のソフトウェアの構成を表す階層図を示す。
Software configuration
FIG. 2 is a hierarchical diagram showing the software configuration of the image forming apparatus.
画像形成装置101のソフトウェアの最下層には、OS(Operating System)を含むファームウェアが存在し、画像形成装置の基本動作を管理するベースとして機能する。このファームウェアには、画像形成装置101の各種基本動作を行うための基本プログラムが含まれている。
Firmware including an OS (Operating System) exists in the lowest layer of the software of the
また、ソフトウェアの最上層には、画像形成装置101の機能操作(例えば複写機能やファックス送受信機能等)を実行するための各アプリケーション(アプリケーションAからアプリケーションDの4種;ここでは例として4種挙げたが、数は4種に限らない)が存在する。
In the uppermost layer of the software, four types of applications (application A to application D; for example, four types here) for executing functional operations (for example, a copy function and a fax transmission / reception function) of the
上記のファームウェアとアプリケーションとの間には、両者を仲介するミドルウェアが存在する。ミドルウェア中には、API(Application Program Interface)を有して、アプリケーションは、APIを呼ぶことにより、ファームウェア中の基本動作プログラムにアクセス可能となる。 There is middleware that mediates between the above firmware and application. The middleware has an API (Application Program Interface), and the application can access the basic operation program in the firmware by calling the API.
ここで、図1に示した画像形成装置101中の各機能ブロックは、図2に示すように(図2中の「API整合チェック、パッチあての各機能部」)ミドルウェアに属している。画像形成装置101のコンピュータが当該ミドルウェア中のプログラムを実行することにより、各機能ブロックの機能が実現する。
Here, each functional block in the
[フローチャート]
図3は、本発明実施例の画像形成装置101の動作の流れを示すフローチャートである。以下に動作の流れについて説明する。
[flowchart]
FIG. 3 is a flowchart showing the operation flow of the
S11:ユーザは、画像形成装置101のアプリ起動メニューなどから利用したいアプリケーションを起動する。
S11: The user activates an application to be used from an application activation menu of the
S13:アプリケーション起動受付部111が、ユーザから指定されたアプリケーションの読み込みをアプリケーション読み込み処理部113に指示する。
S13: The application
S15:アプリケーション読み込み処理部113は、指定されたアプリケーション及び関連APIの同定の情報を読み込む。 S15: The application read processing unit 113 reads the specified application and related API identification information.
S17:アプリケーション読み込み処理部113は、APIチェック処理部117を起動し、提供APIデータ格納部119からMFPで利用できるAPIの情報を参照する。
S17: The application read processing unit 113 activates the API
S19:S17で取得した情報に基づいて、APIチェック処理部117は、アプリケーションが利用しているAPIのなかで使用不可能なAPIをチェックする。
S19: Based on the information acquired in S17, the API
S21:利用不可なAPIの呼び出しのなかでMFPの中に代替可能なAPIが存在していれば、APIパッチ処理部において処理を置き換える。 S21: If a replaceable API exists in the MFP among the API calls that cannot be used, the API patch processing unit replaces the process.
S23:S21において、代替不可能なAPIが存在するならばS27に遷移する。存在しないならば、S25に遷移する。 S23: If there is an API that cannot be replaced in S21, the process proceeds to S27. If it does not exist, the process proceeds to S25.
S25:これまでの処理で加工されたアプリケーション実行イメージをアプリケーション起動処理部に渡してアプリケーションを起動する。 S25: The application execution image processed by the processing so far is passed to the application activation processing unit to activate the application.
S27:ユーザに対してアプリケーションが起動できない旨のメッセージを表示する。 S27: A message indicating that the application cannot be started is displayed to the user.
上記フローチャートでは、不整合であっても代替可能であればメッセージを発することなく代替処理を行ないアプリケーションを起動したが、不整合なAPIが存在した場合は、その旨をユーザに通知する機能(パネルでの表示やログの記録等)を提供するとしてもよい。 In the above flowchart, even if it is inconsistent, if it can be replaced, the replacement process is performed without issuing a message and the application is started. However, if there is an inconsistent API, a function (panel) that notifies the user to that effect Display, log recording, etc.).
[パッチあて処理]
次に、実際にAPIパッチあて処理部121で行なわれるパッチあて処理の具体的方法について説明する。
[Patch application processing]
Next, a specific method of patching processing actually performed by the API
提供APIデータ格納部119は、例えば以下の表1に示すデータを一つの記録単位(レコード)として、APIの情報を保持する。この情報は、過去に提供してきたAPIも含めたものが格納される必要がある。
The provided API
すなわち、装置側(ファームウェア側)には、アプリケーションからAPIが呼ばれていても、当該インタフェース(上記シグネチャ)が不整合等な場合には、代替として実行するAPIを同定する情報(代替可能処理)を埋め込んでおく。 That is, even if the API is called from the application on the device side (firmware side), if the interface (the signature) is inconsistent or the like, information for identifying the API to be executed as an alternative (substitutable process) Embed.
次に、アプリケーションデータ格納部115に保存されている、アプリケーションに付属するアプリケーションが利用するAPIの情報の書式の例について以下の表2に示す。すなわち利用APIの同定情報を埋め込んでおく。
Next, Table 2 below shows an example of an API information format stored in the application
このデータの書式の場合、例えば図3のフローチャートにおけるS17は、以下のような処理になる。 In the case of this data format, for example, S17 in the flowchart of FIG.
(1)アプリケーションが利用するAPIのすべてについて、そこに含まれる関数番号をキーにして、画像形成装置101が提供するAPIの情報を検索する。
(1) With respect to all APIs used by the application, API information provided by the
(2)該当レコードの利用可能・付加情報を見て、可能であれば何もしない。利用不可であれば、代替可能処理に示される処理に置き換える。具体的には、置き換え処理コードを動的に生成し、アプリケーションの実行処理に加えて呼び出し関数アドレスを書き換える、などの処理になる。 (2) Look at the availability / additional information of the record and do nothing if possible. If it cannot be used, it is replaced with the process shown in the substitutable process. Specifically, the replacement processing code is dynamically generated and the calling function address is rewritten in addition to the application execution processing.
(3)上記(2)の置き換え処理において、場合によっては置き換え不可能な処理も出てくる可能性もあるが、その場合は、置き換え失敗となる。 (3) In the replacement process of (2) above, there may be a process that cannot be replaced in some cases, but in this case, the replacement fails.
[実施例の効果]
ファームウェアの更新により、すでにインストールされているアプリケーションが使用するAPIとMFPが提供するAPIとの間で不整合が生じても、可能な限り実行することができる。
[Effect of Example]
Even if there is a mismatch between the API used by the already installed application and the API provided by the MFP due to the firmware update, it can be executed as much as possible.
画像形成装置の開発者にとっては、すでに提供しているAPIのうち、バージョンアップに伴い仕様変更が必要なAPIがある場合、アプリケーションの開発者にAPIの仕様変更を伝えた後で、そのAPIに合わせたアプリを作成してもらう必要がある。その過渡期においても、ユーザに古いアプリケーションを一定期間使用してもらうという選択肢をとることも可能にする。 For the developer of the image forming apparatus, if there is an API that needs to be changed due to version upgrade among the APIs already provided, after the API developer is notified of the API specification change, You need to create a customized app. Even during the transition period, the user can take the option of using an old application for a certain period of time.
本実施例の画像形成装置においては、アプリケーションの改変をアプリケーションの実行時に行なうこととしたため、起動時やインストール時にアプリケーションの改変を行なう方法に比べて、真に必要なアプリケーションについてのみ改変処理を行なうために、多数の無用のアプリケーションについて、改変処理のためにCPU時間を無駄にするという問題が無くなる。 In the image forming apparatus according to the present embodiment, the application is modified at the time of executing the application. Therefore, the modification process is performed only for a truly necessary application as compared with the method of modifying the application at the time of startup or installation. In addition, the problem of wasting CPU time for modification processing for many useless applications is eliminated.
[その他]
本実施例においては、代替APIを用いる例として、インタフェースの不整合を挙げたが、例えばインタフェースが同一であっても(受け渡し及び戻り値の数及び型が一致していても)処理内容が異なる(例えば、処理ルーチン内で新たな処理が付加されたり、戻り値が異なる結果をもたらす等)ために、当該APIでは、正しく処理されない場合等についても、もちろん、代替APIを使用する方法により問題解決可能である。
[Others]
In this embodiment, as an example of using an alternative API, an inconsistency of the interface is given. However, for example, even if the interface is the same (even if the number and type of delivery and return values are the same), the processing contents are different. (For example, new processing is added in the processing routine, or the result of the return value is different.) Therefore, even when the API is not processed correctly, of course, the problem can be solved by using the alternative API. Is possible.
101 画像形成装置
111 アプリケーション起動受付部
113 アプリケーション読み込み処理部
115 アプリケーションデータ格納部
117 APIチェック処理部
119 提供APIデータ格納部
121 APIパッチあて処理部
123 アプリケーション起動処理部
DESCRIPTION OF
Claims (3)
装置が提供するAPI及び当該APIのインタフェース情報を有する提供APIデータ格納部と、
前記アプリケーションデータ格納部のAPIの同定情報と、前記提供APIデータ格納部のAPIのインタフェース情報に基づいて、前記アプリケーションが使用可能かどうかを判断するAPIチェック処理部と、
前記APIチェック処理部により、使用不可能と判断されたアプリケーションについて、前記提供APIデータ格納部が提供するAPIにより動作可能なように当該アプリケーションを改変するAPIパッチあて処理部と、を有する
ことを特徴とする画像形成装置。 An application data storage unit having identification information of an application and API (Application Program Interface) used by the application;
An API provided by the device and a provided API data storage unit having interface information of the API;
An API check processing unit that determines whether or not the application can be used based on API identification information of the application data storage unit and API interface information of the provided API data storage unit;
An API patch processing unit that modifies the application so that the application is determined to be unusable by the API check processing unit so that the application can be operated by the API provided by the provided API data storage unit. An image forming apparatus.
前記APIチェック処理部は、APIの使用可能かどうかの判断をアプリケーション起動時に行い、
前記APIパッチあて処理部は、前記APIチェック処理部が起動時に使用不可能と判断されたアプリケーションについて、動的に改変する
ことを特徴とする画像形成装置。 The image forming apparatus according to claim 1,
The API check processing unit determines whether an API can be used when starting an application,
The API patch processing unit dynamically modifies an application that is determined to be unusable when the API check processing unit is activated.
前記APIパッチあて処理部は、前記使用不可能なAPIの代替可能なAPIを呼び出すようにアプリケーションの改変を行なう
ことを特徴とする画像形成装置。 The image forming apparatus according to claim 1, wherein:
The image forming apparatus, wherein the API patch processing unit modifies an application so as to call an API that can substitute for the unusable API.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009249356A JP2011097365A (en) | 2009-10-29 | 2009-10-29 | Image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009249356A JP2011097365A (en) | 2009-10-29 | 2009-10-29 | Image forming apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011097365A true JP2011097365A (en) | 2011-05-12 |
Family
ID=44113812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009249356A Pending JP2011097365A (en) | 2009-10-29 | 2009-10-29 | Image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011097365A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014160909A (en) * | 2013-02-19 | 2014-09-04 | Konica Minolta Inc | Image forming apparatus, control method of image forming apparatus, and control program |
JP2020017840A (en) * | 2018-07-25 | 2020-01-30 | コニカミノルタ株式会社 | Image forming apparatus and program |
-
2009
- 2009-10-29 JP JP2009249356A patent/JP2011097365A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014160909A (en) * | 2013-02-19 | 2014-09-04 | Konica Minolta Inc | Image forming apparatus, control method of image forming apparatus, and control program |
JP2020017840A (en) * | 2018-07-25 | 2020-01-30 | コニカミノルタ株式会社 | Image forming apparatus and program |
JP7147323B2 (en) | 2018-07-25 | 2022-10-05 | コニカミノルタ株式会社 | Image forming device and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5699500B2 (en) | Installation program, installation method, image forming apparatus, and recording medium | |
JP2014170515A (en) | Device, information storage program, and information storage method | |
JP5786535B2 (en) | Apparatus, information processing method, information processing program, and recording medium | |
JP4946141B2 (en) | Configuration change program and information processing apparatus | |
JP2019101866A (en) | Application update method and program | |
JP2018106410A (en) | Image formation device and function addition method and program | |
TWI450090B (en) | Method and system of changing a startup list of programs to determine whether computer system performance increases | |
US8839250B2 (en) | Image forming apparatus, storage medium, and program system determination | |
US8775785B2 (en) | Program management method for performing start-up process for programs during start-up of device based on the previous start-up status to prevent occurrence of an out of memory condition | |
JP2011138375A (en) | Operation inhibiting system, image forming device, operation inhibition information providing device, and operation inhibiting method | |
JP2016162022A (en) | Information processing device and memory management program | |
US9454386B2 (en) | Image forming apparatus and method that realize function by installed application | |
US9600751B2 (en) | Image forming apparatus and control method thereof with a determination whether an application relates to a dynamic update for reflecting change of the network setting without rebooting the apparatus | |
JP4983815B2 (en) | Information processing apparatus and control program | |
JP2013084153A (en) | Information processing device, information processing method, and program | |
JP2018081384A (en) | Information processing device and authority management method and program | |
JP5244743B2 (en) | Image forming apparatus and installation method | |
JP2011097365A (en) | Image forming apparatus | |
US10545704B2 (en) | Image forming apparatus and control method to update an application in an image forming apparatus | |
US20070277171A1 (en) | Program installation method and apparatus | |
JP6866788B2 (en) | Information processing equipment and programs | |
US11146707B2 (en) | Method for installing application by image formation device, and image formation device using same method | |
JP2011248692A (en) | Information processor and program | |
JP2015082139A (en) | Program for driving, device driving method, and information processor | |
JP2021114173A (en) | Information processing apparatus, processing method thereof, and program |