JP2014112901A - Information processing system, information processing apparatus, electronic apparatus, information processing method, information processing program, and recording medium - Google Patents

Information processing system, information processing apparatus, electronic apparatus, information processing method, information processing program, and recording medium Download PDF

Info

Publication number
JP2014112901A
JP2014112901A JP2014006154A JP2014006154A JP2014112901A JP 2014112901 A JP2014112901 A JP 2014112901A JP 2014006154 A JP2014006154 A JP 2014006154A JP 2014006154 A JP2014006154 A JP 2014006154A JP 2014112901 A JP2014112901 A JP 2014112901A
Authority
JP
Japan
Prior art keywords
interface
information
interface providing
application
function
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.)
Granted
Application number
JP2014006154A
Other languages
Japanese (ja)
Other versions
JP5713123B2 (en
Inventor
Kunihiro Akiyoshi
邦洋 秋吉
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014006154A priority Critical patent/JP5713123B2/en
Publication of JP2014112901A publication Critical patent/JP2014112901A/en
Application granted granted Critical
Publication of JP5713123B2 publication Critical patent/JP5713123B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow an application to use a suitable software module when there are a plurality of software modules which provides functions to be used by the application.SOLUTION: An electronic apparatus capable of executing applications comprises: a plurality of interface providing means for providing an application with an interface which enables the application to use a function of the electronic apparatus; and selecting means which selects the first interface providing means when it is determined that the interface to be used by the application is satisfied by the first interface providing means having a part of interfaces of another interface providing means, on the basis of information on use of the interface by the application.

Description

本発明は、電子機器、情報処理方法、及び情報処理プログラムに関し、特にアプリケーションを実行可能な電子機器、情報処理方法、及び情報処理プログラムに関する。   The present invention relates to an electronic device, an information processing method, and an information processing program, and particularly to an electronic device capable of executing an application, an information processing method, and an information processing program.

近年では、主に複合機又は融合機と呼ばれる画像形成装置において、当該画像形成装置の機能を利用させるためのAPI(Application Program Interface)を備え、当該APIを用いて開発されたアプリケーションを実行可能なものが存在する(例えば、特許文献1)。   In recent years, an image forming apparatus called a multifunction peripheral or a multifunction peripheral is provided with an API (Application Program Interface) for using the functions of the image forming apparatus, and an application developed using the API can be executed. There exist things (for example, patent document 1).

一般的に、画像形成装置の機能はその機種に応じて異なる。斯かる機能の相違がAPIにそのまま反映されてしまっては、アプリケーションの開発ベンダーは、機種ごとにアプリケーションを開発しなければならない。そこで、APIにおいて画像形成装置の機能を抽象化して表現することにより、APIの機種に対する依存度を低下させることができ、ひいては、当該APIを用いて開発されたアプリケーションの複数の機種への展開を容易にすることができる。   In general, the function of the image forming apparatus differs depending on the model. If such a difference in function is reflected in the API as it is, an application development vendor must develop an application for each model. Therefore, by expressing the function of the image forming apparatus in the API in an abstract manner, the dependency on the API model can be reduced, and as a result, the application developed using the API can be expanded to a plurality of models. Can be easily.

しかしながら。機能の相違がAPIによって吸収されたとしても、機種に応じてメモリリソースやCPUの性能が違ったり、また、同じ機種であってもインストールされているアプリケーションの数や増設メモリの有無の相違があったりといったように、機能とは別に実行環境に関する相違が存在する。   However. Even if the difference in function is absorbed by the API, memory resources and CPU performance differ depending on the model, and there are differences in the number of installed applications and the presence or absence of additional memory even for the same model. There are differences regarding the execution environment apart from the functions.

そこで、APIを介して呼び出される側(以下「サービスモジュール」という。)には、組み込み系という限られたリソースの中で最大限のパフォーマンスを実現するために実際の実行環境に対応したロジックの実装が求められる。パフォーマンスを上げるために、想定されるさまざまな実行環境に対応するロジックを同一のサービスモジュール内に実装することが考えられるが以下の点が問題となる。   Therefore, on the side called through the API (hereinafter referred to as “service module”), in order to achieve the maximum performance within the limited resources of the embedded system, the logic implementation corresponding to the actual execution environment is implemented. Is required. In order to improve performance, it may be possible to implement logic corresponding to various assumed execution environments in the same service module. However, the following points are problematic.

第一に、サービスモジュールのプログラムサイズが肥大化し、メモリ(RAM)上へのロード時の消費メモリが増大してしまう。   First, the program size of the service module is enlarged, and the consumption memory when loading on the memory (RAM) is increased.

第二に、実際には利用しないワーク領域(ヒープ領域等)をメモリ上に確保してしまい、メモリの消費量を増大させてしまう可能性が高くなる。   Secondly, there is a high possibility that a work area (such as a heap area) that is not actually used will be secured in the memory, resulting in an increase in memory consumption.

いずれについても、汎用的なコンピュータに比べてメモリの制限が厳しい組み込み系の画像形成装置にとっては、重大な問題である。したがって、同じAPIによって同じ機能を提供する複数のサービスモジュールが、実行環境に応じて提供されることが望ましい。但し、いずれのサービスモジュールがその画像形成装置の実行環境に適しているのかを操作者に選択させるのは、画像形成装置の操作性を劣化させ好ましくない。   Both of these are serious problems for an embedded image forming apparatus in which the memory limit is stricter than that of a general-purpose computer. Therefore, it is desirable to provide a plurality of service modules that provide the same function with the same API according to the execution environment. However, it is not preferable to let the operator select which service module is suitable for the execution environment of the image forming apparatus because the operability of the image forming apparatus is deteriorated.

本発明は、上記の点に鑑みてなされたものであって、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる電子機器、情報処理方法、及び情報処理プログラムの提供を目的とする。   The present invention has been made in view of the above points, and in the case where there are a plurality of software modules that provide functions used by an application, an electronic device and information that allow an application to use an appropriate software module An object is to provide a processing method and an information processing program.

そこで上記課題を解決するため、本発明は、アプリケーションを実行可能な電子機器であって、前記アプリケーションに対して当該電子機器の機能を利用させるためのインタフェースを提供する複数のインタフェース提供手段と、記憶装置に記録されている、前記アプリケーションによるインタフェースの利用に関する情報に基づいて、前記アプリケーションに利用させる前記インタフェース提供手段を、同一のインタフェースを提供する前記インタフェース提供手段の中から選択する選択手段とを有し、前記複数のインタフェース提供手段のうちの第一のインタフェース提供手段は、他のインタフェース提供手段の一部のインタフェースを有し、前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースが、前記第一のインタフェース提供手段が有するインタフェースによって満たされると判断した場合には、前記第一のインタフェース提供手段を選択することを特徴とする。   In order to solve the above-described problem, the present invention provides an electronic device capable of executing an application, and a plurality of interface providing means for providing an interface for allowing the application to use a function of the electronic device, and a storage Selection means for selecting, from the interface providing means for providing the same interface, the interface providing means to be used by the application based on information on the use of the interface by the application recorded in the device. The first interface providing means of the plurality of interface providing means has a partial interface of the other interface providing means, and the selecting means is used by the application based on the information. Interface Scan is, when it is determined to be satisfied by the interface with said first interface providing means, and selects the first interface providing means.

このような電子機器では、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる。   In such an electronic device, when there are a plurality of software modules that provide a function used by the application, an appropriate software module can be used by the application.

本発明によれば、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる電子機器、情報処理方法、及び情報処理プログラムを提供することができる。   According to the present invention, it is possible to provide an electronic device, an information processing method, and an information processing program that allow an application to use an appropriate software module when there are a plurality of software modules that provide a function used by the application. Can do.

本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。FIG. 3 is a diagram illustrating a software configuration example of an image forming apparatus according to an embodiment of the present invention. 提供機能情報の構成例を示す図である。It is a figure which shows the structural example of provision function information. 実行条件情報の構成例を示す図である。It is a figure which shows the structural example of execution condition information. コネクションマネージャの機能を説明するための図である。It is a figure for demonstrating the function of a connection manager. 本発明の実施の形態における画像形成装置の処理手順を説明するための図である。FIG. 5 is a diagram for explaining a processing procedure of the image forming apparatus in the embodiment of the present invention. コネクションマネージャによるサービスモジュールの選択処理を説明するためのフローチャートである。It is a flowchart for demonstrating the selection process of the service module by a connection manager. コネクションマネージャによるサービスモジュールの選択処理を説明するための第二のフローチャートである。It is a 2nd flowchart for demonstrating the selection process of the service module by a connection manager. コネクションマネージャによるメモリ不足時の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process at the time of the memory shortage by a connection manager. サービスモジュール情報の第一の例を示す図である。It is a figure which shows the 1st example of service module information. サービスモジュール情報の第二の例を示す図である。It is a figure which shows the 2nd example of service module information. サービスモジュール情報の第三の例を示す図である。It is a figure which shows the 3rd example of service module information. 利用機能情報の第二の例を示す図である。It is a figure which shows the 2nd example of utilization function information. 外部サーバによってサービスモジュールの選択処理が実行される場合の処理手順を示すシーケンス図である。It is a sequence diagram which shows the process sequence in case the selection process of a service module is performed by the external server.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は電子機器の一例であり、コントローラ101、スキャナ106、プリンタ107、モデム108、ネットワークインタフェース109、及び操作パネル110等のハードウェアを有する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of an image forming apparatus according to an embodiment of the present invention. In FIG. 1, an image forming apparatus 10 is an example of an electronic device, and includes hardware such as a controller 101, a scanner 106, a printer 107, a modem 108, a network interface 109, and an operation panel 110.

コントローラ101は、CPU102、RAM103、ROM104、及びHDD105等より構成される。ROM104には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM103は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU102は、RAM103にロードされたプログラムを処理することにより、後述される機能を実現する。HDD(Hard Disk Drive)105は、画像データ等、プログラムの実行により生成されるデータを保存するための記憶領域として用いられる。HDD105には、また、インストール及びアンインストール可能なプログラムやプログラムによって利用されるデータ等が保存される。   The controller 101 includes a CPU 102, a RAM 103, a ROM 104, an HDD 105, and the like. The ROM 104 stores various programs and data used by the programs. The RAM 103 is used as a storage area for loading a program, a work area for the loaded program, and the like. The CPU 102 realizes functions to be described later by processing a program loaded in the RAM 103. An HDD (Hard Disk Drive) 105 is used as a storage area for storing data generated by executing a program such as image data. The HDD 105 also stores programs that can be installed and uninstalled, data used by the programs, and the like.

スキャナ106は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム108は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース109は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル110は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。   The scanner 106 is hardware for reading image data from a document. The printer 13 is hardware for printing image data on printing paper. The modem 108 is hardware for connecting to a telephone line, and is used to execute transmission / reception of image data by FAX communication. The network interface 109 is hardware for connecting to a network (regardless of wired or wireless) such as a LAN (Local Area Network). The operation panel 110 is hardware including buttons, a liquid crystal panel, and the like for receiving input from the user and notifying the user of information.

図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図2において、画像形成装置10は、OSGiプラットフォーム11、サービスモジュール12、コネクションマネージャ13、及びアプリケーションモジュール14等のソフトウェア(プログラム)を有する。これらのソフトウェアは、CPU102によって処理されることにより画像形成装置10にその機能を実行させる。   FIG. 2 is a diagram illustrating a software configuration example of the image forming apparatus according to the embodiment of the present invention. In FIG. 2, the image forming apparatus 10 includes software (programs) such as an OSGi platform 11, a service module 12, a connection manager 13, and an application module 14. These software are processed by the CPU 102 to cause the image forming apparatus 10 to execute the function.

OSGi(Open Service Gateway initiative)プラットフォーム11は、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品(ソフトウェアモジュール)の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム11上において、Java(登録商標)言語のソフトウェアは「バンドル」と言うソフトウェア部品の形で実装される。一つのバンドルは、一つのJARファイルによって構成され、それぞれ独立してインストール可能である。   The OSGi (Open Service Gateway initiative) platform 11 is a standardized technology by the OSGi Alliance, and is an execution environment for software components (software modules) created based on open software componentization technology based on the Java (registered trademark) language. This is a software platform to be provided. On the OSGi platform 11, Java (registered trademark) language software is implemented in the form of software components called “bundles”. One bundle is composed of one JAR file and can be installed independently.

サービスモジュール12は、画像形成装置10の機能を抽象化したインタフェース(API(Application Program Interface))を提供し、当該インタフェースの呼び出しに応じて、当該機能を実行するといったサービスを提供するバンドルである。サービスモジュール12のインスタンス(実体)は、提供するサービスの内容、サービスのバージョン、適した実行環境(画像形成装置10の性能等)等に応じて複数存在する。例えば、インタフェース及びサービスの内容が重複又は共通するサービスモジュール12が複数存在し得る。各サービスモジュール12には、提供機能情報ファイル121及び実行条件ファイル122が添付されている(関連づけられている)。   The service module 12 is a bundle that provides an interface (API (Application Program Interface)) that abstracts the functions of the image forming apparatus 10 and provides a service that executes the functions in response to a call to the interface. There are a plurality of instances (substances) of the service module 12 depending on the contents of the service to be provided, the version of the service, a suitable execution environment (performance of the image forming apparatus 10, etc.). For example, there may be a plurality of service modules 12 in which the contents of the interface and service overlap or are common. Each service module 12 is attached (associated) with a provided function information file 121 and an execution condition file 122.

提供機能情報ファイル121は、当該サービスモジュール12が提供する機能を識別するための情報(提供機能情報)が格納されたファイルである。図3は、提供機能情報の構成例を示す図である。   The provided function information file 121 is a file in which information (provided function information) for identifying a function provided by the service module 12 is stored. FIG. 3 is a diagram illustrating a configuration example of the provided function information.

図3において、機能提供情報は、大分類、中分類、及び小分類といったように階層的に構成されている。大分類には、例えば、スキャン、印刷、又はFAX等、最も大きな単位で分類された機能の中で、当該サービスモジュール12が提供する機能の名前(識別情報)が指定される。中分類には、カラー対応の有無、又は対応可能な用紙サイズ等、大分類における機能の属性として位置付けられる機能において、当該サービスモジュール12が提供する機能の名前(識別情報)が指定される。中分類に指定可能な項目(機能)は、大分類に指定された値に応じて異なり得る。小分類には、解像度、両面印刷の可否等、大分類における機能のより詳細な属性として位置付けられる機能において、当該サービスモジュール12が提供する機能の名前(識別情報)が指定される。小分類に指定可能な項目(機能)は、大分類又は中分類に指定された値に応じて異なり得る。   In FIG. 3, the function provision information is structured hierarchically such as a large classification, a medium classification, and a small classification. For the major classification, for example, the function name (identification information) provided by the service module 12 among the functions classified in the largest unit such as scanning, printing, or FAX is designated. In the middle category, the name of the function (identification information) provided by the service module 12 is specified in the function that is positioned as an attribute of the function in the large category, such as the presence / absence of color correspondence or the corresponding paper size. Items (functions) that can be specified for the middle category may differ depending on the values specified for the major category. In the small category, the name of the function (identification information) provided by the service module 12 is specified in the function positioned as a more detailed attribute of the function in the large category, such as resolution and double-sided printing availability. The items (functions) that can be specified for the small category may differ depending on the values specified for the large category or the medium category.

実行条件ファイル122は、サービスモジュール12の実行条件を示す情報(実行条件情報)が格納されたファイルである。図4は、実行条件情報の構成例を示す図である。   The execution condition file 122 is a file in which information (execution condition information) indicating execution conditions of the service module 12 is stored. FIG. 4 is a diagram illustrating a configuration example of the execution condition information.

図4において、実行条件情報は、メモリ空き容量、同時に実行されることが予想されるサービス、CPUの性能、速度優先又はメモリ節約優先の別、及び置換対象のサービスモジュール等より構成される。   In FIG. 4, the execution condition information includes memory free capacity, services expected to be executed simultaneously, CPU performance, speed priority or memory saving priority, and a service module to be replaced.

メモリ空き容量には、当該サービスモジュール12を実行するために必要な又は推奨されるメモリの空き容量が指定される。同時に実行されることが予想されるサービスには、当該サービスモジュール12と同時に(並列して)実行される可能性の高いサービスモジュール12の名前又はIDが指定される。CPUの性能は、当該サービスモジュール12を実行する際に望ましい(例えば、最低限必要とされる又は推奨される)CPUの性能(クロック数等)が指定される。速度優先又はメモリ節約優先の別は、当該サービスモジュール12が、速度優先で作成されているか又はメモリ節約優先で作成されているかを識別するための情報が指定される。例えば、スキャン結果の圧縮画像の展開、編集、及び再圧縮を行うようなサービスモジュール12において、速度を優先させる場合は、ワークメモリを多量に確保し、1ページ分の画像を一括して処理する方式となる。一方、メモリ節約優先の場合は、1ページの画像を分割して処理する方式が望ましい。このように、速度を優先させるか又はメモリ節約を優先させるかによって、同じ機能を提供するサービスモジュール12であってもそのロジック(実体)は異なり得る。当該項目(速度優先又はメモリ節約優先の別)は、係る事情を考慮したものである。置換対象のサービスモジュールは、当該サービスモジュール12がインストールされた場合、強制的に当該サービスモジュール12によって置換される既存のサービスモジュール12の名前又はIDが指定される。   In the memory free space, a memory free space necessary or recommended for executing the service module 12 is designated. For a service that is expected to be executed at the same time, the name or ID of the service module 12 that is likely to be executed simultaneously (in parallel) with the service module 12 is specified. As the CPU performance, the CPU performance (the number of clocks or the like) that is desirable (for example, at least required or recommended) when the service module 12 is executed is designated. In addition to speed priority or memory saving priority, information for identifying whether the service module 12 is created with speed priority or memory saving priority is designated. For example, in the service module 12 that performs expansion, editing, and recompression of the compressed image of the scan result, when priority is given to speed, a large amount of work memory is secured and images for one page are processed in a batch. It becomes a method. On the other hand, when priority is given to memory saving, it is desirable to divide and process one page image. As described above, even if the service module 12 provides the same function, the logic (entity) may be different depending on whether priority is given to speed or memory saving. The item (separate speed priority or memory saving priority) takes this situation into consideration. When the service module 12 is installed, the name or ID of the existing service module 12 that is forcibly replaced by the service module 12 is specified as the service module to be replaced.

ところで、提供機能情報ファイル121及び実行条件ファイル122は、サービスモジュール12のインストールに伴ってHDD105に保存される。すなわち、提供機能情報ファイル121及び実行条件ファイル122は、サービスモジュール12の作成時等に作成され、サービスモジュール12に添付される。本実施の形態において、提供機能情報ファイル121及び実行条件ファイル122のファイル名は、当該サービスモジュール12に割り当てられた固有のID(以下、「サービスID」)を含むように構成されていることとする。すなわち、ファイル名に基づいて対応するサービスモジュール12が識別可能であるとする。サービスモジュール12とサービスIDとの関連付けは、別途HDD105に記録されている。   By the way, the provided function information file 121 and the execution condition file 122 are stored in the HDD 105 when the service module 12 is installed. That is, the provided function information file 121 and the execution condition file 122 are created when the service module 12 is created, and attached to the service module 12. In the present embodiment, the file names of the provided function information file 121 and the execution condition file 122 are configured to include a unique ID (hereinafter, “service ID”) assigned to the service module 12. To do. That is, it is assumed that the corresponding service module 12 can be identified based on the file name. The association between the service module 12 and the service ID is separately recorded in the HDD 105.

なお、提供機能情報や実行条件情報の記述形式は、所定の形式に限定されない。例えば、XML(eXtensible Markup Language)によって記述されてもよい。   The description format of the provided function information and the execution condition information is not limited to a predetermined format. For example, it may be described in XML (eXtensible Markup Language).

図2に戻る。アプリケーションモジュール14は、ユーザに直接利用されるアプリケーションを構成するバンドルである。アプリケーションモジュール14は、サービスモジュール12が提供するインタフェースを介して画像形成装置10の機能を利用することにより、ユーザからの要求を実現する。アプリケーションモジュール14のインスタンスは、アプリケーションの種類に応じて複数存在し得る。   Returning to FIG. The application module 14 is a bundle that constitutes an application that is directly used by the user. The application module 14 realizes the request from the user by using the function of the image forming apparatus 10 through the interface provided by the service module 12. There may be a plurality of instances of the application module 14 depending on the type of application.

各アプリケーションモジュール14には、利用機能情報ファイル141が添付されている(関連づけられている)。利用機能情報ファイル141は、当該アプリケーションモジュール14が、利用する機能を識別するための情報(利用機能情報)が格納されたファイルである。利用機能情報は、上述した提供機能情報と同様の構成によって(提供機能情報と対応するように)定義される。したがって、本実施の形態において利用機能情報の構成例は、図3のようになる。但し、通常、提供機能情報は、大分類において一つの機能が指定されている(すなわち、通常、一つのサービスモジュール12は、大分類における一つの機能を提供する)のに対し、利用機能情報は、大分類において複数の機能が指定され得る(すなわち、一つのアプリケーションモジュール14は、大分類における機能を複数利用し得る)。複数の大分類が指定された場合、大分類ごとに中分類が指定され、大分類又は中分類ごとに小分類が指定される。   A usage function information file 141 is attached to (associated with) each application module 14. The used function information file 141 is a file in which information (used function information) for identifying a function used by the application module 14 is stored. The utilization function information is defined by the same configuration as the provision function information described above (corresponding to the provision function information). Therefore, a configuration example of the usage function information in the present embodiment is as shown in FIG. However, normally, in the provided function information, one function is specified in the large classification (that is, one service module 12 usually provides one function in the large classification), whereas the used function information is A plurality of functions can be designated in the large classification (that is, one application module 14 can use a plurality of functions in the large classification). When a plurality of major classifications are designated, a middle classification is designated for each major classification, and a minor classification is designated for each major classification or middle classification.

コネクションマネージャ13は、アプリケーションモジュール14がサービスモジュール12を利用する際に、提供機能情報ファイル121、実行条件ファイル122、及び利用機能情報ファイル141等に基づいて当該アプリケーションモジュール14や当該画像形成装置10に係る実行環境に適したサービスモジュール12を選択し、選択されたサービスモジュール12をアプリケーションモジュール14に利用させるための処理を行う。より具体的には、アプリケーションモジュール14が利用したい機能に係るサービスモジュール12が複数存在する場合、コネクションマネージャ13によって複数のサービスモジュール12の中から適切なサービスモジュール12が選択される。   When the application module 14 uses the service module 12, the connection manager 13 sends the connection information to the application module 14 or the image forming apparatus 10 based on the provided function information file 121, the execution condition file 122, the used function information file 141, and the like. A service module 12 suitable for the execution environment is selected, and processing for causing the application module 14 to use the selected service module 12 is performed. More specifically, when there are a plurality of service modules 12 related to the function that the application module 14 wants to use, an appropriate service module 12 is selected from the plurality of service modules 12 by the connection manager 13.

図5は、コネクションマネージャの機能を説明するための図である。図5において、アプリケーションモジュール14aは、スキャン機能と印刷機能を利用するアプリケーションモジュール14であり、スキャン機能利用要求r1(スキャン機能を利用するためのサービスモジュール12のインタフェースの呼び出し)と印刷機能利用要求r2(印刷機能を利用するためのサービスモジュール12のインタフェースの呼び出し)を発行する。   FIG. 5 is a diagram for explaining the function of the connection manager. In FIG. 5, an application module 14a is an application module 14 that uses a scan function and a print function, and includes a scan function use request r1 (calling the interface of the service module 12 for using the scan function) and a print function use request r2. (Calling the interface of the service module 12 for using the print function) is issued.

図中では、コネクションマネージャが、スキャン機能利用要求r1に対してスキャンサービスA12a又はスキャンサービスB12bを選択し、印刷機能利用要求r2に対して印刷サービスC12c又は印刷サービスD12dを選択する様子が示されている。なお、スキャンサービスA12a及びスキャンサービスB12bは、それぞれ同一のインタフェースによってスキャン機能を提供するサービスモジュール12である。また、印刷サービスC12c及び印刷サービスD12dは、それぞれ同一のインタフェースによって印刷機能を提供するサービスモジュール12である。   In the figure, the connection manager selects the scan service A12a or the scan service B12b for the scan function use request r1 and the print service C12c or the print service D12d for the print function use request r2. Yes. The scan service A 12a and the scan service B 12b are service modules 12 that provide a scan function through the same interface. The print service C12c and the print service D12d are service modules 12 that provide a print function through the same interface.

以下、画像形成装置10の処理手順について説明する。図6は、本発明の実施の形態における画像形成装置の処理手順を説明するための図である。図6中、図5と同一部分には同一符号を付している。   Hereinafter, a processing procedure of the image forming apparatus 10 will be described. FIG. 6 is a diagram for explaining a processing procedure of the image forming apparatus according to the embodiment of the present invention. In FIG. 6, the same parts as those in FIG.

各サービスモジュール12は、予め(例えば、インストール時等)、当該サービスモジュール12の提供機能情報ファイル121に格納されている機能提供情報及び実行条件ファイル122に格納されている実行条件情報をコネクションマネージャ15に登録しておく(S11〜S14)。ここで、登録とは、コネクションマネージャ15が、提供機能情報及び実行条件情報を利用可能な状態にすることをいう。例えば、コネクションマネージャ15に、それぞれのファイル名を通知するようにしてよい。コネクションマネージャ15は、当該ファイル名に基づいて、提供機能情報及び実行条件情報を取得し、利用することができるからである。また、各サービスモジュール12の提供機能情報ファイル121及び実行条件ファイル122が保存される場所(例えば、フォルダ)をコネクションマネージャ15が予め認識している場合、当該場所に提供機能情報ファイル121及び実行条件ファイル122を保存する処理によってステップS11〜14の処理を代替させてもよい。すなわち、コネクションマネージャ15は、能動的に当該場所より提供機能情報ファイル121及び実行条件ファイル122を取得することができるからである。   Each service module 12 stores the function provision information stored in the provision function information file 121 of the service module 12 and the execution condition information stored in the execution condition file 122 in advance (for example, during installation). (S11 to S14). Here, registration means that the connection manager 15 makes available function information and execution condition information available. For example, each file name may be notified to the connection manager 15. This is because the connection manager 15 can acquire and use provided function information and execution condition information based on the file name. Further, when the connection manager 15 recognizes in advance the location (for example, folder) where the provided function information file 121 and the execution condition file 122 of each service module 12 are stored, the provided function information file 121 and the execution condition are stored in the location. You may substitute the process of step S11-14 with the process which preserve | saves the file 122. FIG. That is, the connection manager 15 can actively acquire the provided function information file 121 and the execution condition file 122 from the location.

例えば、操作パネル110を介した入力により、アプリケーションモジュール14aの実行が要求されると(S15)、アプリケーションモジュール14aは、添付されている利用機能情報ファイル141の保存位置(ファイル名)又は当該利用機能情報ファイル141に格納されている利用機能情報をコネクションマネージャ13に通知する。ここで、アプリケーションモジュール14aの利用機能情報には、大分類に係る利用機能としてスキャン機能と印刷機能とが含まれているとする。したがって、当該通知は、大分類におけるスキャン機能の利用要求(S16)と、印刷サービスの利用要求(S17)とに相当する。   For example, when execution of the application module 14a is requested by input through the operation panel 110 (S15), the application module 14a displays the storage location (file name) of the attached use function information file 141 or the use function. The function information stored in the information file 141 is notified to the connection manager 13. Here, it is assumed that the use function information of the application module 14a includes a scan function and a print function as the use functions related to the large classification. Therefore, the notification corresponds to a scan function use request (S16) and a print service use request (S17) in the large classification.

コネクションマネージャ15は、アプリケーションモジュール14aの利用機能情報と、各サービスモジュール12の提供機能情報及び実行条件情報とに基づいて、スキャン機能に関してスキャンサービスA12a又はスキャンサービスB12bのいずれか一方をロード対象(利用対象)として選択し、また、印刷機能に関して印刷サービスC12c又は印刷サービスD12dのいずれか一方をロード対象として選択する。選択されたサービスモジュール12は、RAM103にロードされ、その後、アプリケーションモジュール14aからの各種のメソッド呼び出しに応じて処理を実行する。   The connection manager 15 loads one of the scan service A12a and the scan service B12b with respect to the scan function based on the use function information of the application module 14a and the provided function information and execution condition information of each service module 12. And select one of the print service C12c and the print service D12d as a load target for the print function. The selected service module 12 is loaded into the RAM 103, and thereafter executes processing in response to various method calls from the application module 14a.

続いて、コネクションマネージャ15による、利用対象とするサービスモジュールの12の選択処理について詳細に説明する。図7は、コネクションマネージャによるサービスモジュールの選択処理を説明するためのフローチャートである。   Next, the process of selecting 12 service modules to be used by the connection manager 15 will be described in detail. FIG. 7 is a flowchart for explaining service module selection processing by the connection manager.

アプリケーションモジュール14より利用機能情報を受け付けると(S101)、利用機能情報における一つの大分類を処理対象とする(S102)。続いて、当該大分類に係る利用機能情報(当該大分類によって示される機能、当該大分類に属する中分類によって示される機能、及び当該大分類に属する小分類によって示される機能)と、各サービスモジュール12の提供機能情報とを比較(照合)することにより、当該大分類に係る利用機能情報を満たす提供機能情報に係るサービスモジュール12(すなわち、当該大分類に属する機能の全てを提供可能なサービスモジュール12)を検索する(S103)。なお、利用機能情報を満たす提供機能情報とは、大分類、中分類、小分類のすべての階層において、利用機能情報に指定されている機能を包含(完全一致も含む)するものをいう。   When used function information is received from the application module 14 (S101), one major classification in the used function information is set as a processing target (S102). Subsequently, use function information related to the major classification (function indicated by the major classification, function indicated by the middle classification belonging to the major classification, and function indicated by the minor classification belonging to the major classification), and each service module The service module 12 according to the provided function information satisfying the use function information according to the major classification (that is, the service module capable of providing all the functions belonging to the major classification by comparing (collating) with the provision function information of the major provision 12 12) is searched (S103). The provided function information that satisfies the used function information refers to information that includes the function specified in the used function information (including the exact match) in all the major classification, middle classification, and minor classification hierarchies.

続いて、検索されたサービスモジュール12は一つであるか否かを判定する(S104)。検索結果が一つである場合(S104でYes)、検索されたサービスモジュール12を利用対象としてRAM103上にロード(展開)させる(S105)。   Subsequently, it is determined whether or not the searched service module 12 is one (S104). When there is one search result (Yes in S104), the searched service module 12 is loaded (expanded) on the RAM 103 as a usage target (S105).

一方、検索結果が複数である場合(S104でNo)、現在の実行環境(空きメモリ容量、CPUの性能を示す情報)と、検索された各サービスモジュール12の実行条件情報(空きメモリ容量、CPUの性能)とを比較(照合)することにより、検索された中で現在の実行環境に最も適したサービスモジュール12を選択する(S106)。   On the other hand, when there are a plurality of search results (No in S104), the current execution environment (free memory capacity, information indicating CPU performance) and execution condition information (free memory capacity, CPU) of each searched service module 12 The service module 12 that is most suitable for the current execution environment is selected (S106).

なお、他のサービスモジュール12の実行条件情報の置換対象となるサービスモジュールに関する項目においてそのサービスIDが登録されているサービスモジュール12については、選択の対象から除外される。仮に選択されたとしても、当該サービスモジュール12は、当該他のサービスモジュール12によって置き換えられるべきものだからである。したがって、古いサービスモジュール12が明示的にアンインストールされなくても、新しいサービスモジュール12が自動的に利用対象とされる。   It should be noted that the service module 12 whose service ID is registered in the item related to the service module to be replaced with the execution condition information of the other service module 12 is excluded from the selection target. Even if selected, the service module 12 should be replaced by the other service module 12. Therefore, even if the old service module 12 is not explicitly uninstalled, the new service module 12 is automatically targeted for use.

また、実行条件情報における速度優先又はメモリ節約優先に関する項目については、空きメモリ容量が所定値より少ない場合はメモリ節約優先のものを選択対象として優先し、当該所定値以上の場合は速度優先のものを選択対象として優先するための基準として用いられる。但し、アプリケーションモジュール14より速度優先又はメモリ節約優先がコネクションマネージャ15に対して明示的に指定されている場合、アプリケーションモジュール14による指定に基づいて、当該項目との比較が行われる。   In addition, regarding items relating to speed priority or memory saving priority in the execution condition information, priority is given to memory saving priority if the free memory capacity is less than a predetermined value, and speed priority is given if it is greater than the predetermined value. Is used as a reference for giving priority to the selection target. However, when speed priority or memory saving priority is explicitly specified for the connection manager 15 rather than the application module 14, comparison with the item is performed based on the specification by the application module 14.

続いて、選択されたサービスモジュールを利用対象としてRAM103上にロードさせる(S106)。上記ステップS102からS107の処理が利用機能情報に含まれる全ての大分類について完了すると(S108でYes)処理は終了する。   Subsequently, the selected service module is loaded on the RAM 103 as a usage target (S106). When the processes in steps S102 to S107 are completed for all major classifications included in the used function information (Yes in S108), the process ends.

なお、図7の代わりに、図8に示される処理が実行されてもよい。図8は、コネクションマネージャによるサービスモジュールの選択処理を説明するための第二のフローチャートである。図8中、図7と同一ステップには同一符号を付し、その説明は省略する。   Note that the processing shown in FIG. 8 may be executed instead of FIG. FIG. 8 is a second flowchart for explaining service module selection processing by the connection manager. In FIG. 8, the same steps as those in FIG.

図8では、図7におけるステップS106がステップS106aに置き換えられている。ステップS106aにおいて、コネクションマネージャ15は、実行条件情報においてメモリ節約優先であることが示されているサービスモジュール12を優先的に選択する。
または、検索された各サービスモジュール12の実行条件情報における空きメモリ容量を比較することにより、検索された中で最もメモリ空き容量の値が小さいもの(すなわち、実行するために必要な又は推奨されるメモリの空き容量が小さいもの)を利用対象として選択してもよい。
In FIG. 8, step S106 in FIG. 7 is replaced with step S106a. In step S <b> 106 a, the connection manager 15 preferentially selects the service module 12 indicated in the execution condition information as having a memory saving priority.
Or, by comparing the free memory capacity in the execution condition information of each searched service module 12, the one with the smallest value of the free memory capacity searched (that is, necessary or recommended for execution). You may select as a utilization object the thing with a small free space of a memory.

図8では、また、破線によって囲まれたステップS111以降の処理がステップS108の後に追加されている。なお、図8では、図7におけるステップS107は削除されている。したがって、ステップS111の開始時点においては、いずれのサービスモジュール12もRAM103上にはロードされていない。   In FIG. 8, the process after step S111 surrounded by a broken line is added after step S108. In FIG. 8, step S107 in FIG. 7 is deleted. Therefore, none of the service modules 12 is loaded on the RAM 103 at the start of step S111.

ステップS111において、コネクションマネージャ15は、ステップS108までの処理において利用対象として選択された全てのサービスモジュール12の実行条件情報のメモリ空き容量の合計値を算出する。続いて、現在の実行環境におけるメモリの空き容量と、ステップS111において算出された合計値との差分(現在のメモリの空き容量−必要なメモリの空き容量の合計値)を算出する(S112)。続いて、当該差分と閾値とを比較する(S113)。当該差分が閾値より大きい場合(S113でYes)、アプリケーションモジュール14より速度優先である旨が指定されているか否かを判定する(S114)。速度優先である旨が指定されている場合(S114でYes)、速度優先のサービスモジュール12が存在する機能については、現在のメモリの空き容量の許容範囲内において、速度優先のサービスモジュール12によって利用対象を置換する。すなわち、既に選択されているサービスモジュール12を利用対象から除外し、速度優先のサービスモジュール12を利用対象として選択する。なお、現在のメモリの空き容量の許容範囲内であるかは、既に選択されているサービスモジュール12について順番に速度優先のものと置換する過程において、置換前に速度優先のサービスモジュール12の実行条件情報におけるメモリ空き容量と現在の実行環境におけるメモリ空き容量とを比較すればよい。   In step S111, the connection manager 15 calculates the total value of the memory free capacity of the execution condition information of all the service modules 12 selected as the use target in the processing up to step S108. Subsequently, the difference (current memory free capacity−total value of necessary memory free capacity) between the memory free capacity in the current execution environment and the total value calculated in step S111 is calculated (S112). Subsequently, the difference is compared with a threshold value (S113). If the difference is larger than the threshold (Yes in S113), it is determined whether or not the priority is given to the application module 14 (S114). When it is specified that the speed priority is specified (Yes in S114), the function having the speed priority service module 12 is used by the speed priority service module 12 within the allowable range of the current memory free capacity. Replace the target. That is, the service module 12 that has already been selected is excluded from the usage target, and the speed priority service module 12 is selected as the usage target. Whether or not the current free memory capacity is within the allowable range is determined in the process of replacing the already-selected service module 12 with the speed-priority one by one before the replacement. What is necessary is just to compare the memory free capacity in the information with the memory free capacity in the current execution environment.

置換が完了すると、この時点で利用対象として選択されている全てのサービスモジュール12をRAM103上にロードさせる。   When the replacement is completed, all the service modules 12 that are selected as usage targets at this time are loaded onto the RAM 103.

一方、ステップS113において、差分が閾値以下の場合(S113でNo)、コネクションマネージャ15は、メモリ不足時の処理を実行する(S117)。   On the other hand, when the difference is equal to or smaller than the threshold value in step S113 (No in S113), the connection manager 15 executes a process when the memory is insufficient (S117).

図9は、コネクションマネージャによるメモリ不足時の処理を説明するためのフローチャートである。   FIG. 9 is a flowchart for explaining processing when the connection manager runs out of memory.

ステップS201において、利用対象として選択されている各サービスモジュール12の実行条件情報における「同時に利用されることが予想されるサービスモジュール」を参照し(S201)、同時に利用されることが予想されるものごとにサービスモジュール12をグループ分けする(S202)。ここで「同時に」とは、「ほぼ同じタイミングで」又は「並列的に」ということを意味する。なお、同時に利用されることが予想されるサービスモジュールは、アプリケーションモジュール14がコネクションマネージャ15に通知するようにしてもよい(例えば、利用機能情報の一部として含まれていても良よい)。この場合、「同時に利用されることが予想されるサービスモジュール」は実行条件情報に含まれていなくてもよい。   In step S201, referring to "service module expected to be used simultaneously" in the execution condition information of each service module 12 selected as a usage target (S201), it is expected to be used simultaneously The service modules 12 are grouped every time (S202). Here, “simultaneously” means “at substantially the same timing” or “in parallel”. Note that the service module expected to be used at the same time may be notified by the application module 14 to the connection manager 15 (for example, it may be included as part of the used function information). In this case, the “service module expected to be used at the same time” may not be included in the execution condition information.

続いて、グループごとに、各サービスモジュール12の実行条件情報におけるメモリ空き容量の合計値を算出する(S203)。続いて、グループごとに算出された合計値を比較することにより、その中の最大値を判定する(S204)。   Subsequently, for each group, a total value of free memory capacity in the execution condition information of each service module 12 is calculated (S203). Subsequently, the maximum value is determined by comparing the total values calculated for each group (S204).

続いて、現在の実行環境におけるメモリの空き容量と、ステップS204において算出された最大値との差分(現在のメモリの空き容量−最大値)を算出する(S205)。続いて、当該差分と閾値とを比較する(S206)。当該差分が閾値より大きい場合(S206でYes)、アプリケーションモジュール14の処理の進行状況に応じて、グループごとにサービスモジュール12のRAM103上へのロード及びアンロードを行う(S207)。   Subsequently, a difference (current memory free capacity−maximum value) between the free capacity of the memory in the current execution environment and the maximum value calculated in step S204 is calculated (S205). Subsequently, the difference is compared with a threshold value (S206). When the difference is larger than the threshold (Yes in S206), loading and unloading on the RAM 103 of the service module 12 are performed for each group according to the progress of processing of the application module 14 (S207).

具体的には、コネクションマネージャ15は、アプリケーションモジュール14より利用要求が発行されたタイミングで、当該利用要求に係る機能に対応するサービスモジュール12及び当該サービスモジュール12と同じグループに属するサービスモジュール12をRAM103にロードする。ロードされた各サービスモジュール12は自分の実行する処理が終了し、アンロードが可能なタイミングになったら終了通知をコネクションマネージャ15に通知する。コネクションマネージャ15は、同じグループに属する全てのサービスモジュール12より終了通知を受けたタイミングで、当該グループに属する全てのサービスモジュール12をアンロードする。このような処理を繰り返すことにより、一度に消費されるメモリ量を削減しつつ、アプリケーションモジュール14の実行を可能とすることができる。なお、アンロードされたサービスモジュール12は、アプリケーションモジュール14より再度利用要求が発行された際に必要に応じてロードされる。   Specifically, the connection manager 15 stores the service module 12 corresponding to the function related to the use request and the service module 12 belonging to the same group as the service module 12 at the timing when the use request is issued from the application module 14. To load. Each loaded service module 12 notifies the connection manager 15 of an end notification when the processing to be executed by the service module 12 ends and when it is possible to unload. The connection manager 15 unloads all the service modules 12 belonging to the group at the timing when the end notification is received from all the service modules 12 belonging to the same group. By repeating such processing, the application module 14 can be executed while reducing the amount of memory consumed at one time. The unloaded service module 12 is loaded as necessary when a use request is issued again from the application module 14.

一方、ステップ206において、差分が閾値以下の場合(S206でNo)、コネクションマネージャ15は、当該アプリケーションモジュール14は実行不可能であると判定する。   On the other hand, if the difference is equal to or smaller than the threshold value in step 206 (No in S206), the connection manager 15 determines that the application module 14 is not executable.

ところで、図8のステップS113及び図9のステップS206において使用される閾値は、サービスモジュール12のメモリの使用量に対して必要とされるマージン又は余裕値としての意味を持つ。なお、当該閾値は常に一定でなくてもよい。すなわち、実際にアプリケーションモジュール14を実行する場合は、サービスモジュール12が使用するメモリの他にアプリケーションモジュール14自身が使用するメモリがある。したがって、サービスモジュール12の選択処理においては、アプリケーションモジュール14が使用するメモリ量も考慮されることが望ましい。但し、アプリケーションモジュール14が使用するメモリ量はアプリケーションモジュール14の仕様に依存すると共に、実際の使用状況にも左右される。具体的には、同じアプリケーションモジュール14でもA3の原稿を600dpiでスキャンする場合と、A4原稿を200dpiでスキャンする場合とではメモリの消費量が異なる。したがって、一義的な閾値ではアプリケーションモジュール14のパフォーマンスが十分に発揮できない場合が発生する可能性がある。   By the way, the threshold value used in step S113 of FIG. 8 and step S206 of FIG. 9 has a meaning as a margin or a margin value required for the memory usage of the service module 12. Note that the threshold may not always be constant. That is, when the application module 14 is actually executed, in addition to the memory used by the service module 12, there is a memory used by the application module 14 itself. Therefore, it is desirable to consider the amount of memory used by the application module 14 in the selection process of the service module 12. However, the amount of memory used by the application module 14 depends on the specification of the application module 14 and also depends on the actual use situation. Specifically, even in the same application module 14, the amount of memory consumption differs between when scanning an A3 document at 600 dpi and when scanning an A4 document at 200 dpi. Therefore, there is a possibility that the performance of the application module 14 cannot be sufficiently exhibited with the unambiguous threshold.

そこで、斯かる問題を解決するため、アプリケーションモジュール14の実行中に、コネクションマネージャ15がメモリの空き容量の計測を常時行い、当該閾値を動的に更新するようにしてもよい。また、閾値の更新は、当該閾値を用いるタイミングであってもよい。この場合、メモリの空き容量の計測を常時行わなくてもよく、当該閾値を用いるタイミングにおける空き容量に基づいて当該閾値を更新すればよい。   Therefore, in order to solve such a problem, during the execution of the application module 14, the connection manager 15 may constantly measure the free space of the memory and dynamically update the threshold value. Further, the threshold value may be updated at a timing when the threshold value is used. In this case, it is not necessary to always measure the free space of the memory, and the threshold value may be updated based on the free space at the timing of using the threshold value.

当該閾値を動的に更新可能とすることで、コネクションマネージャ15によって実行可能であると判断されたにも拘わらず、万が一メモリ不足のエラーが発生した場合に当該閾値の値を大きくすることができる。そうすることで、アプリケーションモジュール14の動作用のメモリのマージンを大きくし、再度のメモリ不足のエラーの発生を抑止することができる。   By making the threshold value dynamically updateable, it is possible to increase the threshold value in the event that a memory shortage error occurs even though it is determined that the connection manager 15 can execute the threshold value. . By doing so, the margin of the memory for operation of the application module 14 can be increased, and the occurrence of a memory shortage error again can be suppressed.

なお、既に一つ以上のアプリケーションモジュール14が実行中である状態において、他のアプリケーションモジュール14の起動が要求された場合、既に実行中のアプリケーションモジュール14(以下「実行中アプリ」という。)についても、新たに起動されるアプリケーションモジュール14(以下「新規起動アプリ」という。)によるリソース(メモリ等)の消費等を考慮して、改めて図7による処理を実行し、利用対象とするサービスモジュール12を動的に変更するようにしてもよい。具体的には、コネクションマネージャ13が、新規起動アプリに対するサービスモジュール12の検索中にいずれのサービスモジュール12によってもメモリの空き容量が不足していることが判定された場合に、よりメモリ消費量の少ない(すなわち、実行条件情報においてメモリ空き容量の値が小さい)サービスモジュール12や実行条件情報においてメモリ節約優先が指定されているサービスモジュール12であって、実行中アプリの利用機能の全てを満たすことのできるサービスモジュール12を、新たに実行中アプリの利用対象とすればよい。そうすることにより、複数のアプリケーションモジュール12を効率的に実行させることができる。   Note that, in a state where one or more application modules 14 are already being executed, when the activation of another application module 14 is requested, the application module 14 that is already being executed (hereinafter referred to as “running application”) is also used. In consideration of the consumption of resources (memory, etc.) by the newly started application module 14 (hereinafter referred to as “newly started application”), the processing shown in FIG. You may make it change dynamically. Specifically, when the connection manager 13 determines that the free space of the memory is insufficient by any service module 12 during the search of the service module 12 for the newly activated application, the memory consumption is further increased. The service modules 12 that are small (that is, the value of the memory free capacity is small in the execution condition information) and the service modules 12 in which the memory saving priority is specified in the execution condition information, satisfy all the functions used by the running application. The service module 12 that can be used may be newly used for the application being executed. By doing so, a plurality of application modules 12 can be efficiently executed.

ところで、機能提供情報及び実行条件情報、並びに利用機能情報は、上記において説明した形式(図3、図4等)に限られない。例えば、機能提供情報及び実行条件情報が一つの情報として(以下、斯かる情報を「サービスモジュール情報」という。)、以下の形式によって同じファイル内に格納されていてもよい。   By the way, the function provision information, the execution condition information, and the use function information are not limited to the formats described above (FIG. 3, FIG. 4, etc.). For example, the function provision information and the execution condition information may be stored in the same file as one piece of information (hereinafter, such information is referred to as “service module information”) in the following format.

図10は、サービスモジュール情報の第一の例を示す図である。同図において、サービスモジュール情報は、サービスID、機能提供情報、及び実行条件情報を含む。機能提供情報は、種類及び属性より構成される。種類は機能の種類を示し、図3の例における大分類に対応する。属性は、図3の例における中分類又は小分類に対応し、その構成は種類に応じて異なる。図10のサービスモジュール情報は、スキャン機能に対応するため、種類には「スキャン」が指定されている。また、属性は、スキャンにおける設定情報によって構成されている。   FIG. 10 is a diagram illustrating a first example of service module information. In the figure, service module information includes a service ID, function provision information, and execution condition information. The function provision information is composed of types and attributes. The type indicates the type of function and corresponds to the large classification in the example of FIG. The attribute corresponds to the middle classification or the small classification in the example of FIG. Since the service module information in FIG. 10 corresponds to the scan function, “scan” is designated as the type. The attribute is configured by setting information in scanning.

一方、実行条件情報は、使用メモリ及びパフォーマンスより構成される。使用メモリは、図4の例におけるメモリ空き容量に対応する。パフォーマンスは、当該機能(スキャン機能)の性能を示す指標であり、その単位は機能に応じて異なりうる。スキャン機能の場合は、1秒あたりのスキャン枚数が単位とされている。   On the other hand, the execution condition information is composed of used memory and performance. The used memory corresponds to the memory free capacity in the example of FIG. The performance is an index indicating the performance of the function (scan function), and the unit can be different depending on the function. In the case of the scan function, the number of scans per second is the unit.

同じスキャン機能について、属性及び性能が異なるサービスモジュール12に対するサービスモジュール情報は、例えば、次のようになる。図11は、サービスモジュール情報の第二の例を示す図である。同図のサービスモジュール情報は、図10と同様スキャン機能に係るサービスモジュール12に対するものであるが、図10のサービス情報と比較して属性の値及び実行条件情報の値が異なる。   The service module information for the service modules 12 having different attributes and performance for the same scan function is as follows, for example. FIG. 11 is a diagram illustrating a second example of service module information. The service module information in FIG. 10 is for the service module 12 related to the scan function as in FIG. 10, but the attribute value and the execution condition information value are different from those in FIG.

また、異なる機能(例えば、印刷機能)に対するサービスモジュールは、例えば、次のようになる。図12は、サービスモジュール情報の第三の例を示す図である。同図のサービスモジュール情報は、種類が「印刷」である。また、属性は印刷機能に対応した構成となっている。   In addition, service modules for different functions (for example, printing functions) are as follows, for example. FIG. 12 is a diagram illustrating a third example of service module information. The service module information shown in FIG. The attribute has a configuration corresponding to the print function.

上記のサービスモジュール情報に対応させて、アプリケーションモジュール14に関連付けられている利用機能情報は次のような構成にしてもよい。図13は、利用機能情報の第二の例を示す図である。   Corresponding to the above service module information, the used function information associated with the application module 14 may be configured as follows. FIG. 13 is a diagram illustrating a second example of use function information.

同図において、利用機能情報には、利用機能の一覧、利用機能ごとに属性項目の一覧、及び属性項目ごとに利用属性値が設定されている。利用機能の一覧によって、当該アプリケーションモジュール14が利用する機能の種類が示されている。利用属性値によって、当該アプリケーションモジュール14が利用する属性値が示されている。   In the figure, in the use function information, a list of use functions, a list of attribute items for each use function, and a use attribute value for each attribute item are set. The type of function used by the application module 14 is indicated by the list of used functions. The attribute value used by the application module 14 is indicated by the usage attribute value.

機能提供情報、実行条件情報、及び利用機能情報の構成が、図10〜図13に示されるように変更された場合であっても、処理手順は特に変更しなくてもよい。すなわち、図8又は図9のステップS102において、大分類ごとのループ処理は、図13の利用機能情報における利用機能ごとのループ処理とすればよい。また、ステップS103では、図13の利用機能情報に指定されている利用機能及び利用属性値に対応可能なサービスモジュール12を、図10等に示されるサービスモジュール情報の機能情報の種類及び属性に基づいて判定すればよい。また、図4における「メモリ空き容量」を使用しているステップでは、図10等における「使用メモリ」を利用すればよい。更に、図4における「速度優先」を使用しているステップでは、図10等における「パフォーマンス」を使用すればよい。   Even when the configuration of the function provision information, the execution condition information, and the use function information is changed as shown in FIGS. 10 to 13, the processing procedure does not need to be changed. That is, in step S102 of FIG. 8 or FIG. 9, the loop process for each major classification may be the loop process for each used function in the used function information of FIG. In step S103, the service module 12 that can correspond to the use function and use attribute value specified in the use function information of FIG. 13 is selected based on the type and attribute of the function information of the service module information shown in FIG. To determine. Further, in the step using the “free memory capacity” in FIG. 4, the “used memory” in FIG. 10 and the like may be used. Further, in the step using “speed priority” in FIG. 4, “performance” in FIG. 10 or the like may be used.

例えば、図10〜図13を利用して図8の処理が実行される場合、アプリケーションモジュール14が要求しているスキャン機能(図13)を満足するサービスモジュールは、ID=0x00010001(図10)とID=0x00010002(図11)のサービスモジュール12であるが(S103)、ステップS104では、メモリ使用量が少ないID=0x00010002のサービスモジュール12が選択される。但し、メモリに余裕があり、ステップS115の処理が実行される場合、パフォーマンスの良いID=0x00010001のサービスモジュール12が最終的に利用対象として選択される。   For example, when the process of FIG. 8 is executed using FIGS. 10 to 13, the service module that satisfies the scan function (FIG. 13) requested by the application module 14 is ID = 0x00010001 (FIG. 10). Although the service module 12 has ID = 0x00010002 (FIG. 11) (S103), in step S104, the service module 12 with ID = 0x00010002 having a small memory usage is selected. However, when there is a margin in the memory and the process of step S115 is executed, the service module 12 with ID = 0x00010001 having good performance is finally selected as the usage target.

上述したように、本実施の形態における画像形成装置10によれば、アプリケーションモジュール14に開示するインタフェースは同一であるが、想定される実行環境に特化した複数のサービスモジュール12を提供し、アプリケーションモジュール14からの要求とサービスモジュール12が提供する機能、及び実行環境の状況を判断することにより、適切なサービスモジュール12をアプリケーションモジュール14に関連付けける(利用させる)ことができる。この場合、利用されないサービスモジュール12については、メモリ(RAM103)上にロードされないため、メモリの消費量を低減させることができる。   As described above, according to the image forming apparatus 10 in the present embodiment, the interface disclosed in the application module 14 is the same, but a plurality of service modules 12 specialized for the assumed execution environment are provided, and the application By determining the request from the module 14, the function provided by the service module 12, and the status of the execution environment, the appropriate service module 12 can be associated (utilized) with the application module 14. In this case, since the service module 12 that is not used is not loaded onto the memory (RAM 103), the amount of memory consumption can be reduced.

また、セキュリティの観点からアプリケーションモジュール14のログを取得する必要が後から生じた場合に、ログを出力するようなサービスモジュール12に置き換えることで、アプリケーションモジュール14を変更することなくログの出力が可能となる。   In addition, when it becomes necessary to acquire the log of the application module 14 later from the viewpoint of security, it is possible to output the log without changing the application module 14 by replacing it with the service module 12 that outputs the log. It becomes.

なお、サービスモジュール12を選択するための判断基準として、サービスモジュール12が提供している機能の実際の利用状況を用いるようにしてもよい。具体的には、サービスモジュール12側は自分が提供する機能において実際にアプリケーションモジュール14から利用された機能(メソッド)の利用回数等を判定可能なログ(以下「利用状況ログ」という。)をHDD105等に記録しておく。利用状況ログに記録される情報としては、例えば、単純な利用回数の合計値でもよいし、時間軸を考慮した一定期間の平均値等であってもよい。   Note that the actual usage status of the functions provided by the service module 12 may be used as a criterion for selecting the service module 12. Specifically, the service module 12 side provides a log (hereinafter referred to as “usage status log”) that can determine the number of times of use of a function (method) actually used from the application module 14 in the function provided by the service module 12. Record in etc. The information recorded in the usage status log may be, for example, a simple total number of usages, an average value for a certain period in consideration of the time axis, or the like.

すなわち、特定の機種やアプリケーションモジュール14で、サービスモジュール12が提供している全ての機能を利用する可能性が非常に少ない場合に、多機能のサービスモジュール12をインストールしていることは、メモリリソースを無駄に使用していることになる。特定機能のみを実装した標準版のサービスモジュール12のサブセット版に相当するサービスモジュール12を実装し、その機能提供情報等をコネクションマネージャ15に登録することで、コネクションマネージャ15が利用状況ログに基づいてサービスモジュール12のメソッドの利用状況を判断しサブセット版で十分であると判断した場合(すなわち、サブセット版の提供機能情報に係る機能が、利用状況ログに基づいて導出される利用機能を満たす場合)、サブセット版への置換を行う。置換された標準的なサービスモジュール12(フルセット版)は、RAM103上には展開されないが、ROM103上又はHDD105には存在するので、万が一アプリケーションモジュール14がサブセット版に無い機能を利用する場合は、その時点で再度置換すればよい。   That is, when the possibility of using all functions provided by the service module 12 with a specific model or application module 14 is very low, the installation of the multi-function service module 12 indicates that the memory resource Will be uselessly. A service module 12 corresponding to a subset version of the standard version of the service module 12 in which only a specific function is mounted is mounted, and the function provision information and the like are registered in the connection manager 15 so that the connection manager 15 is based on the usage status log. When the usage status of the method of the service module 12 is determined and it is determined that the subset version is sufficient (that is, the function related to the provided function information of the subset version satisfies the usage function derived based on the usage status log) , Replace with subset version. The replaced standard service module 12 (full set version) is not expanded on the RAM 103, but exists on the ROM 103 or the HDD 105. Therefore, if the application module 14 uses a function that is not included in the subset version, At that time, replacement may be performed again.

なお、利用対象とするサービスモジュール12の選択処理は、画像形成装置10とネットワークを介して接続する外部のコンピュータ(外部サーバ)によって行われてもよい。   The selection process of the service module 12 to be used may be performed by an external computer (external server) connected to the image forming apparatus 10 via a network.

図14は、外部サーバによってサービスモジュールの選択処理が実行される場合の処理手順を示すシーケンス図である。同図において、外部サーバ20は、図7、又は図8及び図9の処理を実行するプログラムを有する(HDD等に記録されている)。また、各種サービスモジュール12の機能提供情報及び実行条件情報、並びに実体(プログラム)を有する(HDD等に記録されている)。   FIG. 14 is a sequence diagram illustrating a processing procedure when a service module selection process is executed by an external server. In this figure, the external server 20 has a program for executing the processing of FIG. 7 or FIG. 8 and FIG. 9 (recorded on an HDD or the like). In addition, it has function providing information and execution condition information of various service modules 12 and an entity (program) (recorded in an HDD or the like).

コネクションマネージャ15は、アプリケーションモジュール14より利用機能情報を受け付けると(S301)、外部サーバ10に対して、サービスモジュール12の選択処理に必要な情報(画像形成装置10のハードウェア資源(CPU、メモリ等)に関する情報(機器情報)、現在の画像形成装置10における実行環境の情報(メモリの空き容量等)、既にロードされているサービスモジュール12のサービスID等)を外部サーバ20に転送する(S302)。また、コネクションマネージャ15は、当該利用機能情報を外部サーバ20に転送する(S303)。   When the connection manager 15 receives the usage function information from the application module 14 (S301), the connection manager 15 sends information necessary for the selection process of the service module 12 to the external server 10 (hardware resources (CPU, memory, etc. of the image forming apparatus 10). ) Related information (device information), information on the execution environment in the current image forming apparatus 10 (free memory capacity, etc., service ID of the service module 12 already loaded, etc.) is transferred to the external server 20 (S302). . Further, the connection manager 15 transfers the usage function information to the external server 20 (S303).

外部サーバ20は、転送された情報に基づいて、サービスモジュール12の選択処理(図7、又は図8及び図9の処理)を実行する(S304)。続いて、外部サーバ20は、利用対象とするサービスモジュール12のサービスIDをコネクションマネージャ15に返信する(S305)。なお、外部サーバ20は、既にロードされているサービスモジュール12の中で、新たに利用対象とされるサービスモジュール12のロードにより不要となるものがあれば、そのサービスモジュール12のサービスIDも返信する。続いて、外部サーバ20は、利用対象として選択されたサービスモジュール12の実体をコネクションマネージャ15に返信する(S306)。コネクションマネージャ15は、返信されたサービスモジュール12の実体を、画像形成装置10にインストールし、HDD105に保存する。   The external server 20 executes the selection process of the service module 12 (the process of FIG. 7, or FIG. 8 and FIG. 9) based on the transferred information (S304). Subsequently, the external server 20 returns the service ID of the service module 12 to be used to the connection manager 15 (S305). The external server 20 also returns the service ID of the service module 12 if there is a service module 12 that has already been loaded and becomes unnecessary due to the loading of the service module 12 to be newly used. . Subsequently, the external server 20 returns the entity of the service module 12 selected as the usage target to the connection manager 15 (S306). The connection manager 15 installs the returned entity of the service module 12 in the image forming apparatus 10 and stores it in the HDD 105.

続いて、コネクションマネージャ15は、不要なものとして通知されたサービスIDに係るサービスモジュール12をアンロードし(S307)、利用対象として選択され、ステップS306においてその実体を受信したサービスモジュール12をRAM103上にロードする(S308)。   Subsequently, the connection manager 15 unloads the service module 12 related to the service ID notified as unnecessary (S307), selects the service module 12 selected as a use target, and receives the entity in step S306 on the RAM 103. (S308).

このような構成によれば、外部サーバ20より必要なサービスモジュール12が随時転送されるため、画像形成装置10には予め全てのサービスモジュール12がインストールされている必要はない。したがって、HDD105又はROM104の消費量を抑制することができる。また、不具合対応等で随時更新される最新のサービスモジュール12が使用可能になるという観点からも外部サーバ20と連携したサービスモジュールの選択、ロードは有効である。   According to such a configuration, the necessary service modules 12 are transferred from the external server 20 as needed, and therefore it is not necessary that all the service modules 12 are installed in the image forming apparatus 10 in advance. Therefore, the consumption of the HDD 105 or the ROM 104 can be suppressed. In addition, selection and loading of service modules in cooperation with the external server 20 is also effective from the viewpoint that the latest service module 12 that is updated as needed in response to defects can be used.

なお、コネクションマネージャ15は、アプリケーションモジュール14の終了後に、当該アプリケーションモジュール14に応じて転送を受けたサービスモジュール14の実体をHDD105より削除するようにしてもよい。   Note that the connection manager 15 may delete the entity of the service module 14 that has been transferred according to the application module 14 from the HDD 105 after the application module 14 ends.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 画像形成装置
11 OSGiプラットフォーム
12 サービスモジュール
13 コネクションマネージャ
14 アプリケーションモジュール
20 外部サーバ
101 コントローラ
102 CPU
103 RAM
104 ROM
105 HDD
106 スキャナ
107 プリンタ
108 モデム
109 ネットワークインタフェース
110 操作パネル
121 提供機能情報ファイル
122 実行条件ファイル
141 利用機能情報ファイル
DESCRIPTION OF SYMBOLS 10 Image forming apparatus 11 OSGi platform 12 Service module 13 Connection manager 14 Application module 20 External server 101 Controller 102 CPU
103 RAM
104 ROM
105 HDD
106 Scanner 107 Printer 108 Modem 109 Network Interface 110 Operation Panel 121 Provided Function Information File 122 Execution Condition File 141 Usage Function Information File

特開2005−269619号公報JP 2005-269619 A

本発明は、情報処理システム、情報処理装置、電子機器、情報処理方法、報処理プログラム、及び記録媒体に関する。 The present invention relates to an information processing system, an information processing apparatus, electronic apparatus, information processing method, information processing program, and a recording medium.

本発明は、上記の点に鑑みてなされたものであって、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる情報処理システム、情報処理装置、電子機器、情報処理方法、報処理プログラム、及び記録媒体の提供を目的とする。 The present invention has been made in view of the above points, and when there are a plurality of software modules that provide a function used by an application, an information processing system that allows an application to use an appropriate software module , the information processing apparatus, and to provide electronic equipment, information processing method, information processing program, and a recording medium.

そこで上記課題を解決するため、本発明は、電子機器と、前記電子機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、前記電子機器は、当該電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記情報処理装置に送信する送信手段を有し、前記情報処理装置は、前記送信手段によって送信される情報を受信する受信手段と、前記受信手段によって受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段において同一のインタフェースを提供するインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手段とを有し、前記複数のインタフェース提供手段のうちの第一のインタフェース提供手段は、他のインタフェース提供手段のインタフェースを含み、前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースが、前記第一のインタフェース提供手段が有するインタフェースによって満たされると判断した場合には、前記第一のインタフェース提供手段を選択する。 Therefore, in order to solve the above-described problem, the present invention provides an information processing system including an electronic device and an information processing device connected to the electronic device via a network. The electronic device performs processing on the electronic device. Information transmitted from the information processing apparatus to the information processing apparatus, and the information processing apparatus transmits information transmitted by the transmission means. Providing the interface to be used by the application from among the interface providing means for providing the same interface in the receiving means for receiving the information and the plurality of interface providing means for providing the interface based on the information received by the receiving means Selecting means for selecting means, the plurality of the plurality Of the interface providing means, the first interface providing means includes an interface of another interface providing means, and the selecting means is configured such that the interface used by the application is based on the information, the first interface providing means. If it is determined that the information is satisfied by the interface included in the means, the first interface providing means is selected.

このような情報処理システムでは、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる。 In such an information processing system , when there are a plurality of software modules that provide a function used by the application, an appropriate software module can be used by the application.

本発明によれば、アプリケーションが利用する機能を提供するソフトウェアモジュールが複数存在する場合に、適切なソフトウェアモジュールをアプリケーションに利用させることができる情報処理システム、情報処理装置、電子機器、情報処理方法、報処理プログラム、及び記録媒体を提供することができる。 According to the present invention, when there are a plurality of software modules that provide a function used by an application, an information processing system, an information processing apparatus, an electronic device, an information processing method, and an information processing system capable of causing an application to use an appropriate software module, it is possible to provide information processing program, and a recording medium.

Claims (15)

アプリケーションを実行可能な電子機器であって、
前記アプリケーションに対して当該電子機器の機能を利用させるためのインタフェースを提供する複数のインタフェース提供手段と、
記憶装置に記録されている、前記アプリケーションによるインタフェースの利用に関する情報に基づいて、前記アプリケーションに利用させる前記インタフェース提供手段を、同一のインタフェースを提供する前記インタフェース提供手段の中から選択する選択手段とを有し、
前記複数のインタフェース提供手段のうちの第一のインタフェース提供手段は、他のインタフェース提供手段の一部のインタフェースを有し、
前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースが、前記第一のインタフェース提供手段が有するインタフェースによって満たされると判断した場合には、前記第一のインタフェース提供手段を選択することを特徴とする電子機器。
An electronic device capable of executing an application,
A plurality of interface providing means for providing an interface for causing the application to use a function of the electronic device;
Selection means for selecting, from the interface providing means for providing the same interface, the interface providing means to be used by the application based on information on the use of the interface by the application recorded in a storage device; Have
The first interface providing means of the plurality of interface providing means has a partial interface of other interface providing means,
The selection unit selects the first interface providing unit when it is determined that the interface used by the application is satisfied by the interface of the first interface providing unit based on the information. An electronic device characterized by that.
前記各インタフェース提供手段は、前記アプリケーションによるインタフェースの利用に関する情報を前記記憶装置に記録することを特徴とする請求項1記載の電子機器。   The electronic device according to claim 1, wherein each of the interface providing units records information on use of the interface by the application in the storage device. 前記選択手段は、記憶装置に記録されている前記アプリケーションが利用する機能を示す利用機能情報と、記憶装置に記録されている複数の前記インタフェース提供手段が提供する機能を示す提供機能情報との比較結果に応じて前記アプリケーションに利用させる前記インタフェース提供手段を選択することを特徴とする請求項1又は2記載の電子機器。   The selection unit compares use function information indicating a function used by the application recorded in a storage device with provided function information indicating a function provided by the plurality of interface providing units recorded in the storage device. The electronic device according to claim 1, wherein the interface providing unit to be used by the application is selected according to a result. 前記選択手段は、前記利用機能情報と前記提供機能情報との比較に応じて前記インタフェース提供手段が複数選択されるときに前記インタフェース提供手段の実行環境を示す情報と当該電子機器における前記実行環境に関する情報との比較結果に応じて前記インタフェース提供手段を選択することを特徴とする請求項3記載の電子機器。   The selection means relates to information indicating an execution environment of the interface providing means when a plurality of the interface providing means are selected according to a comparison between the use function information and the provided function information, and the execution environment in the electronic device. 4. The electronic apparatus according to claim 3, wherein the interface providing unit is selected according to a comparison result with information. それぞれの前記インタフェース提供手段がメモリの消費量と処理性能とのいずれを優先させるかを示す優先情報が記憶装置に記録されており、
前記選択手段は、前記優先情報に基づいて前記インタフェース提供手段を選択することを特徴とする請求項1乃至4いずれか一項記載の電子機器。
Priority information indicating whether each of the interface providing units prioritizes memory consumption or processing performance is recorded in the storage device,
5. The electronic device according to claim 1, wherein the selecting unit selects the interface providing unit based on the priority information.
アプリケーションを実行可能な電子機器による情報処理方法であって、
前記アプリケーションに対して当該電子機器の機能を利用させるためのインタフェースを提供する複数のインタフェース提供手順と、
記憶装置に記録されている、前記アプリケーションによるインタフェースの利用に関する情報に基づいて、前記アプリケーションに利用させる前記インタフェース提供手順を、同一のインタフェースを提供する前記インタフェース提供手順の中から選択する選択手順とを有し、
前記複数のインタフェース提供手順のうちの第一のインタフェース提供手順は、他のインタフェース提供手順の一部のインタフェースを有し、
前記選択手順は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースが、前記第一のインタフェース提供手順が有するインタフェースによって満たされると判断した場合には、前記第一のインタフェース提供手順を選択することを特徴とする情報処理方法。
An information processing method using an electronic device capable of executing an application,
A plurality of interface providing procedures for providing an interface for causing the application to use the function of the electronic device;
A selection procedure for selecting, from the interface providing procedures for providing the same interface, the interface providing procedure to be used by the application based on the information on the use of the interface by the application recorded in the storage device; Have
The first interface providing procedure of the plurality of interface providing procedures includes a part of interfaces of other interface providing procedures,
The selection procedure selects the first interface providing procedure when it is determined that the interface used by the application is satisfied by the interface included in the first interface providing procedure based on the information. An information processing method characterized by the above.
前記各インタフェース提供手順は、前記アプリケーションによるインタフェースの利用に関する情報を前記記憶装置に記録することを特徴とする請求項6記載の電子機器。   The electronic device according to claim 6, wherein each of the interface providing procedures records information on use of the interface by the application in the storage device. 前記選択手順は、記憶装置に記録されている前記アプリケーションが利用する機能を示す利用機能情報と、記憶装置に記録されている複数の前記インタフェース提供手順が提供する機能を示す提供機能情報との比較結果に応じて前記アプリケーションに利用させる前記インタフェース提供手順を選択することを特徴とする請求項6又は7記載の情報処理方法。   The selection procedure is a comparison between use function information indicating a function used by the application recorded in the storage device and provided function information indicating a function provided by the plurality of interface providing procedures recorded in the storage device. 8. The information processing method according to claim 6, wherein the interface providing procedure to be used by the application is selected according to a result. 前記選択手順は、前記利用機能情報と前記提供機能情報との比較に応じて前記インタフェース提供手順が複数選択されるときに前記インタフェース提供手順の実行環境を示す情報と当該電子機器における前記実行環境に関する情報との比較結果に応じて前記インタフェース提供手順を選択することを特徴とする請求項8記載の情報処理方法。   The selection procedure relates to information indicating an execution environment of the interface providing procedure when a plurality of the interface providing procedures are selected according to a comparison between the use function information and the provided function information, and the execution environment in the electronic device. 9. The information processing method according to claim 8, wherein the interface providing procedure is selected according to a comparison result with information. それぞれの前記インタフェース提供手順がメモリの消費量と処理性能とのいずれを優先させるかを示す優先情報が記憶装置に記録されており、
前記選択手順は、前記優先情報に基づいて前記インタフェース提供手順を選択することを特徴とする請求項6乃至9いずれか一項記載の情報処理方法。
Priority information indicating whether each of the interface providing procedures gives priority to memory consumption or processing performance is recorded in the storage device,
The information processing method according to claim 6, wherein the selection procedure selects the interface provision procedure based on the priority information.
アプリケーションを実行可能な電子機器に、
前記アプリケーションに対して当該電子機器の機能を利用させるためのインタフェースを提供する複数のインタフェース提供手順と、
記憶装置に記録されている、前記アプリケーションによるインタフェースの利用に関する情報に基づいて、前記アプリケーションに利用させる前記インタフェース提供手順を、同一のインタフェースを提供する前記インタフェース提供手順の中から選択する選択手順とを実行させ、
前記複数のインタフェース提供手順のうちの第一のインタフェース提供手順は、他のインタフェース提供手順の一部のインタフェースを有し、
前記選択手順は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースが、前記第一のインタフェース提供手順が有するインタフェースによって満たされると判断した場合には、前記第一のインタフェース提供手順を選択する情報処理プログラム。
Electronic devices that can execute applications
A plurality of interface providing procedures for providing an interface for causing the application to use the function of the electronic device;
A selection procedure for selecting, from the interface providing procedures for providing the same interface, the interface providing procedure to be used by the application based on the information on the use of the interface by the application recorded in the storage device; Let it run
The first interface providing procedure of the plurality of interface providing procedures includes a part of interfaces of other interface providing procedures,
The selection procedure selects the first interface providing procedure when it is determined that the interface used by the application is satisfied by the interface included in the first interface providing procedure based on the information. Information processing program.
前記各インタフェース提供手順は、前記アプリケーションによるインタフェースの利用に関する情報を前記記憶装置に記録することを特徴とする請求項11記載の情報処理プログラム。   12. The information processing program according to claim 11, wherein each interface providing procedure records information on use of the interface by the application in the storage device. 前記選択手順は、記憶装置に記録されている前記アプリケーションが利用する機能を示す利用機能情報と、記憶装置に記録されている複数の前記インタフェース提供手順が提供する機能を示す提供機能情報との比較結果に応じて前記アプリケーションに利用させる前記インタフェース提供手順を選択することを特徴とする請求項11又は12記載の情報処理プログラム。   The selection procedure is a comparison between use function information indicating a function used by the application recorded in the storage device and provided function information indicating a function provided by the plurality of interface providing procedures recorded in the storage device. 13. The information processing program according to claim 11, wherein the interface providing procedure to be used by the application is selected according to a result. 前記選択手順は、前記利用機能情報と前記提供機能情報との比較に応じて前記インタフェース提供手順が複数選択されるときに前記インタフェース提供手順の実行環境を示す情報と当該電子機器における前記実行環境に関する情報との比較結果に応じて前記インタフェース提供手順を選択することを特徴とする請求項13記載の情報処理プログラム。   The selection procedure relates to information indicating an execution environment of the interface providing procedure when a plurality of the interface providing procedures are selected according to a comparison between the use function information and the provided function information, and the execution environment in the electronic device. 14. The information processing program according to claim 13, wherein the interface providing procedure is selected according to a comparison result with information. それぞれの前記インタフェース提供手順がメモリの消費量と処理性能とのいずれを優先させるかを示す優先情報が記憶装置に記録されており、
前記選択手順は、前記優先情報に基づいて前記インタフェース提供手順を選択することを特徴とする請求項11乃至14いずれか一項記載の情報処理プログラム。
Priority information indicating whether each of the interface providing procedures gives priority to memory consumption or processing performance is recorded in the storage device,
15. The information processing program according to claim 11, wherein the selection procedure selects the interface providing procedure based on the priority information.
JP2014006154A 2007-04-27 2014-01-16 Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium Expired - Fee Related JP5713123B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014006154A JP5713123B2 (en) 2007-04-27 2014-01-16 Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007120216 2007-04-27
JP2007120216 2007-04-27
JP2014006154A JP5713123B2 (en) 2007-04-27 2014-01-16 Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012241423A Division JP5459380B2 (en) 2007-04-27 2012-11-01 Electronic device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2014112901A true JP2014112901A (en) 2014-06-19
JP5713123B2 JP5713123B2 (en) 2015-05-07

Family

ID=40066279

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2008078312A Active JP5167897B2 (en) 2007-04-27 2008-03-25 Electronic device, information processing method, and information processing program
JP2012241423A Active JP5459380B2 (en) 2007-04-27 2012-11-01 Electronic device, information processing method, and information processing program
JP2014006154A Expired - Fee Related JP5713123B2 (en) 2007-04-27 2014-01-16 Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2008078312A Active JP5167897B2 (en) 2007-04-27 2008-03-25 Electronic device, information processing method, and information processing program
JP2012241423A Active JP5459380B2 (en) 2007-04-27 2012-11-01 Electronic device, information processing method, and information processing program

Country Status (2)

Country Link
JP (3) JP5167897B2 (en)
CN (1) CN101296289B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017001368A (en) * 2015-06-16 2017-01-05 キヤノン株式会社 Information processing device, method for controlling information processing device, and program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476752B2 (en) * 2009-03-13 2014-04-23 株式会社リコー Information processing apparatus, information processing method, and program
WO2010103877A1 (en) 2009-03-13 2010-09-16 Ricoh Company, Ltd. Information processing apparatus, information processing method, and image forming apparatus
JP5553533B2 (en) * 2009-06-08 2014-07-16 キヤノン株式会社 Image editing apparatus, control method thereof, and program
JP6156635B2 (en) * 2013-07-10 2017-07-05 富士ゼロックス株式会社 Image processing apparatus and control program
JP6171710B2 (en) * 2013-08-08 2017-08-02 コニカミノルタ株式会社 Image forming apparatus, program installation method, and program installation program
CN103634404B (en) * 2013-12-05 2017-02-08 用友网络科技股份有限公司 Multi-application processing method, device and system
JP6442864B2 (en) * 2014-05-07 2018-12-26 富士通株式会社 Software selection device, software selection method, and software selection program
JP6081026B2 (en) * 2015-02-23 2017-02-15 株式会社日立製作所 Management server and management method
CN108279971A (en) * 2018-01-26 2018-07-13 中国银行股份有限公司 A kind of timing executes the method and device of task
JP7186541B2 (en) * 2018-05-17 2022-12-09 キヤノン株式会社 IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282686A (en) * 1998-03-30 1999-10-15 Hitachi Ltd Network computer system
JP2002099430A (en) * 2000-09-26 2002-04-05 Minolta Co Ltd Apparatus and method of data processing
JP2005107590A (en) * 2003-09-26 2005-04-21 Nippon Telegraph & Telephone West Corp Method and system for accessing structured file, and program for accessing structured file
JP2005269619A (en) * 2004-02-17 2005-09-29 Ricoh Co Ltd Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
JP2006079294A (en) * 2004-09-08 2006-03-23 Fuji Xerox Co Ltd Information processing device, execution control method, and execution control program
JP2007026377A (en) * 2005-07-21 2007-02-01 Konica Minolta Business Technologies Inc Image processing system and control program thereof, and image processing device and control program thereof
JP2007102187A (en) * 2005-09-07 2007-04-19 Canon Inc Image forming apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222394A (en) * 2000-02-10 2001-08-17 Hitachi Koki Co Ltd Printer controller
JP4299228B2 (en) * 2004-12-10 2009-07-22 富士通株式会社 Library conversion program
CN1805522A (en) * 2005-01-14 2006-07-19 上海乐金广电电子有限公司 Duplication and video recording control device and method utilizing digital interface for connection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282686A (en) * 1998-03-30 1999-10-15 Hitachi Ltd Network computer system
JP2002099430A (en) * 2000-09-26 2002-04-05 Minolta Co Ltd Apparatus and method of data processing
JP2005107590A (en) * 2003-09-26 2005-04-21 Nippon Telegraph & Telephone West Corp Method and system for accessing structured file, and program for accessing structured file
JP2005269619A (en) * 2004-02-17 2005-09-29 Ricoh Co Ltd Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
JP2006079294A (en) * 2004-09-08 2006-03-23 Fuji Xerox Co Ltd Information processing device, execution control method, and execution control program
JP2007026377A (en) * 2005-07-21 2007-02-01 Konica Minolta Business Technologies Inc Image processing system and control program thereof, and image processing device and control program thereof
JP2007102187A (en) * 2005-09-07 2007-04-19 Canon Inc Image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017001368A (en) * 2015-06-16 2017-01-05 キヤノン株式会社 Information processing device, method for controlling information processing device, and program
US10425549B2 (en) 2015-06-16 2019-09-24 Canon Kabushiki Kaisha Information processing apparatus, method of controlling information processing apparatus, and program

Also Published As

Publication number Publication date
JP2013042545A (en) 2013-02-28
CN101296289A (en) 2008-10-29
JP5713123B2 (en) 2015-05-07
JP2008295027A (en) 2008-12-04
JP5167897B2 (en) 2013-03-21
JP5459380B2 (en) 2014-04-02
CN101296289B (en) 2011-10-05

Similar Documents

Publication Publication Date Title
JP5713123B2 (en) Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium
JP4971610B2 (en) Program and method for managing device driver and information processing apparatus
US9286141B2 (en) Image forming apparatus, program management system, program management method, and computer-readable storage medium
US9063810B2 (en) Information processing apparatus and information processing system
EP2534573B1 (en) Framework that supports driverless printing
US8730490B2 (en) Printer driver, information processing apparatus, and computer program product
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
US9645863B2 (en) Image forming device, information processing method, and information processing program
JP2008305004A (en) Image forming apparatus, application execution method, and application execution program
JP5371611B2 (en) Data processing system, server, server control method, and program
JP2011242891A (en) Distribution device, image processing device, distribution method and installation method
JP5381059B2 (en) Device, log recording control method, and program
JP2007043708A (en) Document processing system, method and program
US20090293015A1 (en) Application Platform
US11146707B2 (en) Method for installing application by image formation device, and image formation device using same method
US9692917B2 (en) Operating information storing system, operating information storing method, and non-transitory computer readable recording medium storing an operating information storing method for storing information from volatile memory to non-volatile memory
JP4174411B2 (en) Job management apparatus, job management method, and job management program
JP5821217B2 (en) Image forming apparatus, management method, management program, and recording medium
US20120062942A1 (en) Image processing apparatus and image processing system
JP2023166076A (en) Image processing apparatus, method for controlling image processing apparatus, and program
JP2013178635A (en) Server, and method, and program therefor
JP2020071572A (en) Network client and control method therefor
JP2020052586A (en) Information processor and program
JP2018010402A (en) Image processing device
KR20070027067A (en) Method and apparatus for storing favorite information

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150109

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: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R151 Written notification of patent or utility model registration

Ref document number: 5713123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees