JP5713123B2 - Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium - Google Patents
Information processing system, information processing apparatus, electronic device, information processing method, information processing program, and recording medium Download PDFInfo
- Publication number
- JP5713123B2 JP5713123B2 JP2014006154A JP2014006154A JP5713123B2 JP 5713123 B2 JP5713123 B2 JP 5713123B2 JP 2014006154 A JP2014006154 A JP 2014006154A JP 2014006154 A JP2014006154 A JP 2014006154A JP 5713123 B2 JP5713123 B2 JP 5713123B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- interface
- information processing
- electronic device
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- Stored Programmes (AREA)
Description
本発明は、情報処理システム、情報処理装置、電子機器、情報処理方法、情報処理プログラム、及び記録媒体に関する。 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.
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、当該画像形成装置の機能を利用させるための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 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.
以下、図面に基づいて本発明の実施の形態を説明する。図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
コントローラ101は、CPU102、RAM103、ROM104、及びHDD105等より構成される。ROM104には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM103は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU102は、RAM103にロードされたプログラムを処理することにより、後述される機能を実現する。HDD(Hard Disk Drive)105は、画像データ等、プログラムの実行により生成されるデータを保存するための記憶領域として用いられる。HDD105には、また、インストール及びアンインストール可能なプログラムやプログラムによって利用されるデータ等が保存される。
The
スキャナ106は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム108は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース109は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル110は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
The
図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
OSGi(Open Service Gateway initiative)プラットフォーム11は、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品(ソフトウェアモジュール)の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム11上において、Java(登録商標)言語のソフトウェアは「バンドル」と言うソフトウェア部品の形で実装される。一つのバンドルは、一つのJARファイルによって構成され、それぞれ独立してインストール可能である。
The OSGi (Open Service Gateway initiative)
サービスモジュール12は、画像形成装置10の機能を抽象化したインタフェース(API(Application Program Interface))を提供し、当該インタフェースの呼び出しに応じて、当該機能を実行するといったサービスを提供するバンドルである。サービスモジュール12のインスタンス(実体)は、提供するサービスの内容、サービスのバージョン、適した実行環境(画像形成装置10の性能等)等に応じて複数存在する。例えば、インタフェース及びサービスの内容が重複又は共通するサービスモジュール12が複数存在し得る。各サービスモジュール12には、提供機能情報ファイル121及び実行条件ファイル122が添付されている(関連づけられている)。
The
提供機能情報ファイル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
図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
実行条件ファイル122は、サービスモジュール12の実行条件を示す情報(実行条件情報)が格納されたファイルである。図4は、実行条件情報の構成例を示す図である。
The
図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
ところで、提供機能情報ファイル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
なお、提供機能情報や実行条件情報の記述形式は、所定の形式に限定されない。例えば、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
各アプリケーションモジュール14には、利用機能情報ファイル141が添付されている(関連づけられている)。利用機能情報ファイル141は、当該アプリケーションモジュール14が、利用する機能を識別するための情報(利用機能情報)が格納されたファイルである。利用機能情報は、上述した提供機能情報と同様の構成によって(提供機能情報と対応するように)定義される。したがって、本実施の形態において利用機能情報の構成例は、図3のようになる。但し、通常、提供機能情報は、大分類において一つの機能が指定されている(すなわち、通常、一つのサービスモジュール12は、大分類における一つの機能を提供する)のに対し、利用機能情報は、大分類において複数の機能が指定され得る(すなわち、一つのアプリケーションモジュール14は、大分類における機能を複数利用し得る)。複数の大分類が指定された場合、大分類ごとに中分類が指定され、大分類又は中分類ごとに小分類が指定される。
A usage function information file 141 is attached to (associated with) each
コネクションマネージャ13は、アプリケーションモジュール14がサービスモジュール12を利用する際に、提供機能情報ファイル121、実行条件ファイル122、及び利用機能情報ファイル141等に基づいて当該アプリケーションモジュール14や当該画像形成装置10に係る実行環境に適したサービスモジュール12を選択し、選択されたサービスモジュール12をアプリケーションモジュール14に利用させるための処理を行う。より具体的には、アプリケーションモジュール14が利用したい機能に係るサービスモジュール12が複数存在する場合、コネクションマネージャ13によって複数のサービスモジュール12の中から適切なサービスモジュール12が選択される。
When the
図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
図中では、コネクションマネージャが、スキャン機能利用要求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
以下、画像形成装置10の処理手順について説明する。図6は、本発明の実施の形態における画像形成装置の処理手順を説明するための図である。図6中、図5と同一部分には同一符号を付している。
Hereinafter, a processing procedure of the
各サービスモジュール12は、予め(例えば、インストール時等)、当該サービスモジュール12の提供機能情報ファイル121に格納されている機能提供情報及び実行条件ファイル122に格納されている実行条件情報をコネクションマネージャ15に登録しておく(S11〜S14)。ここで、登録とは、コネクションマネージャ15が、提供機能情報及び実行条件情報を利用可能な状態にすることをいう。例えば、コネクションマネージャ15に、それぞれのファイル名を通知するようにしてよい。コネクションマネージャ15は、当該ファイル名に基づいて、提供機能情報及び実行条件情報を取得し、利用することができるからである。また、各サービスモジュール12の提供機能情報ファイル121及び実行条件ファイル122が保存される場所(例えば、フォルダ)をコネクションマネージャ15が予め認識している場合、当該場所に提供機能情報ファイル121及び実行条件ファイル122を保存する処理によってステップS11〜14の処理を代替させてもよい。すなわち、コネクションマネージャ15は、能動的に当該場所より提供機能情報ファイル121及び実行条件ファイル122を取得することができるからである。
Each
例えば、操作パネル110を介した入力により、アプリケーションモジュール14aの実行が要求されると(S15)、アプリケーションモジュール14aは、添付されている利用機能情報ファイル141の保存位置(ファイル名)又は当該利用機能情報ファイル141に格納されている利用機能情報をコネクションマネージャ13に通知する。ここで、アプリケーションモジュール14aの利用機能情報には、大分類に係る利用機能としてスキャン機能と印刷機能とが含まれているとする。したがって、当該通知は、大分類におけるスキャン機能の利用要求(S16)と、印刷サービスの利用要求(S17)とに相当する。
For example, when execution of the
コネクションマネージャ15は、アプリケーションモジュール14aの利用機能情報と、各サービスモジュール12の提供機能情報及び実行条件情報とに基づいて、スキャン機能に関してスキャンサービスA12a又はスキャンサービスB12bのいずれか一方をロード対象(利用対象)として選択し、また、印刷機能に関して印刷サービスC12c又は印刷サービスD12dのいずれか一方をロード対象として選択する。選択されたサービスモジュール12は、RAM103にロードされ、その後、アプリケーションモジュール14aからの各種のメソッド呼び出しに応じて処理を実行する。
The
続いて、コネクションマネージャ15による、利用対象とするサービスモジュールの12の選択処理について詳細に説明する。図7は、コネクションマネージャによるサービスモジュールの選択処理を説明するためのフローチャートである。
Next, the process of selecting 12 service modules to be used by the
アプリケーションモジュール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
続いて、検索されたサービスモジュール12は一つであるか否かを判定する(S104)。検索結果が一つである場合(S104でYes)、検索されたサービスモジュール12を利用対象としてRAM103上にロード(展開)させる(S105)。
Subsequently, it is determined whether or not the searched
一方、検索結果が複数である場合(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
なお、他のサービスモジュール12の実行条件情報の置換対象となるサービスモジュールに関する項目においてそのサービスIDが登録されているサービスモジュール12については、選択の対象から除外される。仮に選択されたとしても、当該サービスモジュール12は、当該他のサービスモジュール12によって置き換えられるべきものだからである。したがって、古いサービスモジュール12が明示的にアンインストールされなくても、新しいサービスモジュール12が自動的に利用対象とされる。
It should be noted that the
また、実行条件情報における速度優先又はメモリ節約優先に関する項目については、空きメモリ容量が所定値より少ない場合はメモリ節約優先のものを選択対象として優先し、当該所定値以上の場合は速度優先のものを選択対象として優先するための基準として用いられる。但し、アプリケーションモジュール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
続いて、選択されたサービスモジュールを利用対象としてRAM103上にロードさせる(S106)。上記ステップS102からS107の処理が利用機能情報に含まれる全ての大分類について完了すると(S108でYes)処理は終了する。
Subsequently, the selected service module is loaded on the
なお、図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
Or, by comparing the free memory capacity in the execution condition information of each searched
図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
ステップS111において、コネクションマネージャ15は、ステップS108までの処理において利用対象として選択された全てのサービスモジュール12の実行条件情報のメモリ空き容量の合計値を算出する。続いて、現在の実行環境におけるメモリの空き容量と、ステップS111において算出された合計値との差分(現在のメモリの空き容量−必要なメモリの空き容量の合計値)を算出する(S112)。続いて、当該差分と閾値とを比較する(S113)。当該差分が閾値より大きい場合(S113でYes)、アプリケーションモジュール14より速度優先である旨が指定されているか否かを判定する(S114)。速度優先である旨が指定されている場合(S114でYes)、速度優先のサービスモジュール12が存在する機能については、現在のメモリの空き容量の許容範囲内において、速度優先のサービスモジュール12によって利用対象を置換する。すなわち、既に選択されているサービスモジュール12を利用対象から除外し、速度優先のサービスモジュール12を利用対象として選択する。なお、現在のメモリの空き容量の許容範囲内であるかは、既に選択されているサービスモジュール12について順番に速度優先のものと置換する過程において、置換前に速度優先のサービスモジュール12の実行条件情報におけるメモリ空き容量と現在の実行環境におけるメモリ空き容量とを比較すればよい。
In step S111, the
置換が完了すると、この時点で利用対象として選択されている全てのサービスモジュール12をRAM103上にロードさせる。
When the replacement is completed, all the
一方、ステップ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
図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
続いて、グループごとに、各サービスモジュール12の実行条件情報におけるメモリ空き容量の合計値を算出する(S203)。続いて、グループごとに算出された合計値を比較することにより、その中の最大値を判定する(S204)。
Subsequently, for each group, a total value of free memory capacity in the execution condition information of each
続いて、現在の実行環境におけるメモリの空き容量と、ステップ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
具体的には、コネクションマネージャ15は、アプリケーションモジュール14より利用要求が発行されたタイミングで、当該利用要求に係る機能に対応するサービスモジュール12及び当該サービスモジュール12と同じグループに属するサービスモジュール12をRAM103にロードする。ロードされた各サービスモジュール12は自分の実行する処理が終了し、アンロードが可能なタイミングになったら終了通知をコネクションマネージャ15に通知する。コネクションマネージャ15は、同じグループに属する全てのサービスモジュール12より終了通知を受けたタイミングで、当該グループに属する全てのサービスモジュール12をアンロードする。このような処理を繰り返すことにより、一度に消費されるメモリ量を削減しつつ、アプリケーションモジュール14の実行を可能とすることができる。なお、アンロードされたサービスモジュール12は、アプリケーションモジュール14より再度利用要求が発行された際に必要に応じてロードされる。
Specifically, the
一方、ステップ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
ところで、図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
そこで、斯かる問題を解決するため、アプリケーションモジュール14の実行中に、コネクションマネージャ15がメモリの空き容量の計測を常時行い、当該閾値を動的に更新するようにしてもよい。また、閾値の更新は、当該閾値を用いるタイミングであってもよい。この場合、メモリの空き容量の計測を常時行わなくてもよく、当該閾値を用いるタイミングにおける空き容量に基づいて当該閾値を更新すればよい。
Therefore, in order to solve such a problem, during the execution of the
当該閾値を動的に更新可能とすることで、コネクションマネージャ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
なお、既に一つ以上のアプリケーションモジュール14が実行中である状態において、他のアプリケーションモジュール14の起動が要求された場合、既に実行中のアプリケーションモジュール14(以下「実行中アプリ」という。)についても、新たに起動されるアプリケーションモジュール14(以下「新規起動アプリ」という。)によるリソース(メモリ等)の消費等を考慮して、改めて図7による処理を実行し、利用対象とするサービスモジュール12を動的に変更するようにしてもよい。具体的には、コネクションマネージャ13が、新規起動アプリに対するサービスモジュール12の検索中にいずれのサービスモジュール12によってもメモリの空き容量が不足していることが判定された場合に、よりメモリ消費量の少ない(すなわち、実行条件情報においてメモリ空き容量の値が小さい)サービスモジュール12や実行条件情報においてメモリ節約優先が指定されているサービスモジュール12であって、実行中アプリの利用機能の全てを満たすことのできるサービスモジュール12を、新たに実行中アプリの利用対象とすればよい。そうすることにより、複数のアプリケーションモジュール12を効率的に実行させることができる。
Note that, in a state where one or
ところで、機能提供情報及び実行条件情報、並びに利用機能情報は、上記において説明した形式(図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 category or the minor category in the example of FIG. 3, and its configuration differs depending on the type. 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
また、異なる機能(例えば、印刷機能)に対するサービスモジュールは、例えば、次のようになる。図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
同図において、利用機能情報には、利用機能の一覧、利用機能ごとに属性項目の一覧、及び属性項目ごとに利用属性値が設定されている。利用機能の一覧によって、当該アプリケーションモジュール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
機能提供情報、実行条件情報、及び利用機能情報の構成が、図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
例えば、図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
上述したように、本実施の形態における画像形成装置10によれば、アプリケーションモジュール14に開示するインタフェースは同一であるが、想定される実行環境に特化した複数のサービスモジュール12を提供し、アプリケーションモジュール14からの要求とサービスモジュール12が提供する機能、及び実行環境の状況を判断することにより、適切なサービスモジュール12をアプリケーションモジュール14に関連付けける(利用させる)ことができる。この場合、利用されないサービスモジュール12については、メモリ(RAM103)上にロードされないため、メモリの消費量を低減させることができる。
As described above, according to the
また、セキュリティの観点からアプリケーションモジュール14のログを取得する必要が後から生じた場合に、ログを出力するようなサービスモジュール12に置き換えることで、アプリケーションモジュール14を変更することなくログの出力が可能となる。
In addition, when it becomes necessary to acquire the log of the
なお、サービスモジュール12を選択するための判断基準として、サービスモジュール12が提供している機能の実際の利用状況を用いるようにしてもよい。具体的には、サービスモジュール12側は自分が提供する機能において実際にアプリケーションモジュール14から利用された機能(メソッド)の利用回数等を判定可能なログ(以下「利用状況ログ」という。)をHDD105等に記録しておく。利用状況ログに記録される情報としては、例えば、単純な利用回数の合計値でもよいし、時間軸を考慮した一定期間の平均値等であってもよい。
Note that the actual usage status of the functions provided by the
すなわち、特定の機種やアプリケーションモジュール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
なお、利用対象とするサービスモジュール12の選択処理は、画像形成装置10とネットワークを介して接続する外部のコンピュータ(外部サーバ)によって行われてもよい。
The selection process of the
図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
コネクションマネージャ15は、アプリケーションモジュール14より利用機能情報を受け付けると(S301)、外部サーバ10に対して、サービスモジュール12の選択処理に必要な情報(画像形成装置10のハードウェア資源(CPU、メモリ等)に関する情報(機器情報)、現在の画像形成装置10における実行環境の情報(メモリの空き容量等)、既にロードされているサービスモジュール12のサービスID等)を外部サーバ20に転送する(S302)。また、コネクションマネージャ15は、当該利用機能情報を外部サーバ20に転送する(S303)。
When the
外部サーバ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
続いて、コネクションマネージャ15は、不要なものとして通知されたサービスIDに係るサービスモジュール12をアンロードし(S307)、利用対象として選択され、ステップS306においてその実体を受信したサービスモジュール12をRAM103上にロードする(S308)。
Subsequently, the
このような構成によれば、外部サーバ20より必要なサービスモジュール12が随時転送されるため、画像形成装置10には予め全てのサービスモジュール12がインストールされている必要はない。したがって、HDD105又はROM104の消費量を抑制することができる。また、不具合対応等で随時更新される最新のサービスモジュール12が使用可能になるという観点からも外部サーバ20と連携したサービスモジュールの選択、ロードは有効である。
According to such a configuration, the
なお、コネクションマネージャ15は、アプリケーションモジュール14の終了後に、当該アプリケーションモジュール14に応じて転送を受けたサービスモジュール14の実体をHDD105より削除するようにしてもよい。
Note that the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 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
103 RAM
104 ROM
105 HDD
106
Claims (10)
前記電子機器は、
当該電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記情報処理装置に送信する送信手段を有し、
前記情報処理装置は、
前記送信手段によって送信される情報を受信する受信手段と、
前記受信手段によって受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手段とを有し、
前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースを満たすと判断される前記インタフェース提供手段の中で、相対的に少ないインタフェースを提供するインタフェース提供手段を選択することを特徴とする情報処理システム。 An information processing system including an electronic device and an information processing device connected to the electronic device via a network,
The electronic device is
A transmission unit configured to transmit, to the information processing apparatus, information related to use of an interface for causing the electronic device to perform processing by using the function of the electronic device;
The information processing apparatus includes:
Receiving means for receiving information transmitted by the transmitting means;
Based on the information received by the receiving unit, from among a plurality of interface providing means for providing the interface and selection means for selecting an interface providing means for use in the application,
The selection unit selects an interface providing unit that provides relatively few interfaces from the interface providing units determined to satisfy an interface used by the application based on the information. Information processing system.
前記選択手段は、前記利用機能情報と、複数の前記インタフェース提供手段が提供する機能を示す提供機能情報との比較結果に応じて前記アプリケーションに利用させる前記インタフェース提供手段を選択することを特徴とする請求項1又は2記載の情報処理システム。 The transmission means transmits use function information indicating a function used by the application,
The selecting means selects the interface providing means to be used by the application according to a comparison result between the use function information and provided function information indicating functions provided by the plurality of interface providing means. The information processing system according to claim 1 or 2.
前記電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記電子機器から受信する受信手段と、
前記受信手段によって受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手段とを有し、
前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースを満たすと判断される前記インタフェース提供手段の中で、相対的に少ないインタフェースを提供するインタフェース提供手段を選択することを特徴とする情報処理装置。 An information processing apparatus connected to an electronic device via a network,
Receiving means for receiving, from the electronic device, information related to the use of an interface for causing the electronic device to use the function of the electronic device by an application that executes processing;
Based on the information received by the receiving unit, from among a plurality of interface providing means to provide the interface and selection means for selecting an interface providing means for use in the application,
The selection unit selects an interface providing unit that provides relatively few interfaces from the interface providing units determined to satisfy an interface used by the application based on the information. Information processing apparatus.
前記電子機器は、
当該電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記情報処理装置に送信する送信手段を有し、
前記情報処理装置は、
前記送信手段によって送信される情報を受信する受信手段と、
前記受信手段によって受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手段とを有し、
前記選択手段は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースを満たすと判断される前記インタフェース提供手段の中で、相対的に少ないインタフェースを提供するインタフェース提供手段を選択することを特徴とする電子機器。 An electronic device connected to an information processing apparatus via a network,
The electronic device is
A transmission unit configured to transmit, to the information processing apparatus, information related to use of an interface for causing the electronic device to perform processing by using the function of the electronic device;
The information processing apparatus includes:
Receiving means for receiving information transmitted by the transmitting means;
Based on the information received by the receiving unit, from among a plurality of interface providing means to provide the interface and selection means for selecting an interface providing means for use in the application,
The selection unit selects an interface providing unit that provides relatively few interfaces from the interface providing units determined to satisfy an interface used by the application based on the information. Electronic equipment.
前記電子機器が、
当該電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記情報処理装置に送信する送信手順を実行し、
前記情報処理装置が、
前記送信手順において送信される情報を受信する受信手順と、
前記受信手順において受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手順とを実行し、
前記選択手順は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースを満たすと判断される前記インタフェース提供手段の中で、相対的に少ないインタフェースを提供するインタフェース提供手段を選択することを特徴とする情報処理方法。 An information processing method executed by an electronic device and an information processing apparatus connected to the electronic device via a network,
The electronic device is
By executing the transmission procedure for transmitting to the information processing apparatus information related to the use of the interface for causing the electronic device to use the function of the electronic device by the application that causes the electronic device to execute processing.
The information processing apparatus is
A reception procedure for receiving information transmitted in the transmission procedure;
Based on the information received in the receiving procedure, from among a plurality of interface providing means to provide the interface to perform a selection procedure for selecting the interface providing means for use in the application,
The selection procedure selects, based on the information, an interface providing unit that provides a relatively few interfaces among the interface providing units determined to satisfy an interface used by the application. Information processing method.
前記電子機器に処理を実行させるアプリケーションによる、当該電子機器の機能を利用させるためのインタフェースの利用に関する情報を、前記電子機器から受信する受信手順と、
前記受信手順において受信される情報に基づいて、前記インタフェースを提供する複数のインタフェース提供手段の中から、前記アプリケーションに利用させるインタフェース提供手段を選択する選択手順とを実行させ、
前記選択手順は、前記情報に基づいて、前記アプリケーションによって利用されるインタフェースを満たすと判断される前記インタフェース提供手段の中で、相対的に少ないインタフェースを提供するインタフェース提供手段を選択することを特徴とする情報処理プログラム。 Information processing devices connected to electronic devices via a network
A reception procedure for receiving, from the electronic device, information related to use of an interface for causing the electronic device to use the function of the electronic device by an application that executes processing.
Based on the information received in the receiving procedure, from among a plurality of interface providing means to provide the interface to perform a selection procedure for selecting the interface providing means for use in the application,
The selection procedure selects, based on the information, an interface providing unit that provides a relatively few interfaces among the interface providing units determined to satisfy an interface used by the application. Information processing program.
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 JP2014112901A (en) | 2014-06-19 |
JP5713123B2 true JP5713123B2 (en) | 2015-05-07 |
Family
ID=40066279
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008078312A Expired - Fee Related 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 Expired - Fee Related 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) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI1009137A2 (en) | 2009-03-13 | 2016-03-08 | Ricoh Co Ltd | information processing apparatus, information processing method and imaging apparatus |
JP5476752B2 (en) * | 2009-03-13 | 2014-04-23 | 株式会社リコー | Information processing apparatus, information processing method, and program |
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 |
WO2016135803A1 (en) * | 2015-02-23 | 2016-09-01 | 株式会社日立製作所 | Playback program, terminal, management server, and management method |
JP6618280B2 (en) * | 2015-06-16 | 2019-12-11 | キヤノン株式会社 | Image forming apparatus, image forming apparatus control method, and storage medium |
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 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11282686A (en) * | 1998-03-30 | 1999-10-15 | Hitachi Ltd | Network computer system |
JP2001222394A (en) * | 2000-02-10 | 2001-08-17 | Hitachi Koki Co Ltd | Printer controller |
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 |
JP4625343B2 (en) * | 2004-02-17 | 2011-02-02 | 株式会社リコー | 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 |
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 |
JP4124216B2 (en) * | 2005-07-21 | 2008-07-23 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing system and control program therefor, and image processing apparatus and control program therefor |
JP4498325B2 (en) * | 2005-09-07 | 2010-07-07 | キヤノン株式会社 | Image forming apparatus |
-
2008
- 2008-03-25 JP JP2008078312A patent/JP5167897B2/en not_active Expired - Fee Related
- 2008-04-28 CN CN2008100948047A patent/CN101296289B/en not_active Expired - Fee Related
-
2012
- 2012-11-01 JP JP2012241423A patent/JP5459380B2/en active Active
-
2014
- 2014-01-16 JP JP2014006154A patent/JP5713123B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101296289A (en) | 2008-10-29 |
JP5167897B2 (en) | 2013-03-21 |
JP2014112901A (en) | 2014-06-19 |
JP5459380B2 (en) | 2014-04-02 |
JP2013042545A (en) | 2013-02-28 |
CN101296289B (en) | 2011-10-05 |
JP2008295027A (en) | 2008-12-04 |
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 | |
US7640314B2 (en) | Network system, device and program | |
US7673008B2 (en) | Network system and device | |
US20110041144A1 (en) | Image forming apparatus, program management system, program management method, and computer-readable storage medium | |
US8819464B2 (en) | Electronic apparatus and system for placing plurality of devices into corresponding power save modes according to priority level | |
US7827220B2 (en) | Image log recording system, control method therefor, and storage medium storing a control program therefor, that store image logs and control transfer settings for transmitting image logs to an image processing server | |
US7561291B2 (en) | Job management system, information processing apparatus, job management method, job management program and storage medium storing the problem | |
US8730490B2 (en) | Printer driver, information processing apparatus, and computer program product | |
US9645863B2 (en) | Image forming device, information processing method, and information processing program | |
US20120054758A1 (en) | Image forming apparatus, storage medium, and program state determination system | |
JP2008305004A (en) | Image forming apparatus, application execution method, and application execution program | |
JP2009237841A (en) | Output data management device, data output device, output data management system, output data management method, and its program | |
JP5371611B2 (en) | Data processing system, server, server control method, and program | |
JP2011242891A (en) | Distribution device, image processing device, distribution method and installation method | |
US11146707B2 (en) | Method for installing application by image formation device, and image formation device using same method | |
US11604615B2 (en) | Printing system for suppressing wasteful transmission of notification information | |
JP5258474B2 (en) | Electronic device and application execution 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 | |
US8780391B2 (en) | Image processing apparatus and image processing system with processability determining unit | |
JP6481666B2 (en) | Image processing device | |
JP2023166076A (en) | Image processing apparatus, method for controlling image processing apparatus, and program | |
JP2013178635A (en) | Server, and method, and program therefor |
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 |