JP2009032287A - Device and method for acquiring resource information - Google Patents

Device and method for acquiring resource information Download PDF

Info

Publication number
JP2009032287A
JP2009032287A JP2008265684A JP2008265684A JP2009032287A JP 2009032287 A JP2009032287 A JP 2009032287A JP 2008265684 A JP2008265684 A JP 2008265684A JP 2008265684 A JP2008265684 A JP 2008265684A JP 2009032287 A JP2009032287 A JP 2009032287A
Authority
JP
Japan
Prior art keywords
application
resource
information
memory
resource information
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
JP2008265684A
Other languages
Japanese (ja)
Other versions
JP4504447B2 (en
Inventor
Hiroyuki Tanaka
浩行 田中
Tsutomu Oishi
勉 大石
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 JP2008265684A priority Critical patent/JP4504447B2/en
Publication of JP2009032287A publication Critical patent/JP2009032287A/en
Application granted granted Critical
Publication of JP4504447B2 publication Critical patent/JP4504447B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To acquire information related to a resource used by an application. <P>SOLUTION: The device provided with the resource for executing the application has an acquisition means for acquiring memory resource information related to a memory use amount of the application, during the execution of the application, and for storing the memory resource information into a storage means, together with an ID of the application. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、アプリケーションが使用するリソースに関する情報を取得するための技術に関する。   The present invention relates to a technique for acquiring information related to resources used by an application.

近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。   In recent years, there has been known an image forming apparatus (hereinafter referred to as “multifunction machine”) in which functions of apparatuses such as a printer, a copy machine, a facsimile machine, and a scanner are housed in one casing. This multifunction device is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and is provided with three types of software respectively corresponding to a printer, a copy machine, and a facsimile machine, and by switching these software, Are operated as a printer, a copy, a scanner, or a facsimile machine.

このような従来の複合機では、メモリなどの限られたリソース(資源)の範囲内でプリンタ、コピー、ファクシミリ、スキャナなどの各機能単位ですべてのアプリケーションプログラムが起動される。言い換えれば、従来の複合機では、すべてのアプリケーションプログラムを起動できる程度のリソースを用意しており、アプリケーションプログラムが起動不可能になる状況が生じる場合は想定されていない。
特開平11−112701号公報
In such a conventional multi-function peripheral, all application programs are activated in units of functions such as a printer, a copy, a facsimile, and a scanner within a limited resource (resource) such as a memory. In other words, the conventional multi-function peripheral provides enough resources to start all the application programs, and it is not assumed that the application program cannot be started.
JP-A-11-112701

ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。   By the way, in such a conventional multi-function machine, software corresponding to a printer, a copy, a scanner, and a facsimile apparatus is provided separately, so that development of each software requires a lot of time. For this reason, the applicant has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit, and has an application that performs processing specific to each user service such as a printer, copy, or facsimile. When a user service is provided by interposing between these applications and hardware resources, hardware resource management, execution control, and image formation processing that are commonly required by at least two of the applications are provided. Invented an image forming apparatus (multifunction machine) equipped with a platform comprising various control services.

このような新規な複合機では、アプリケーションの少なくとも2つが共通的に必要とするサービスを提供するコントロールサービスをアプリケーションと別個に設けた構成となっているため、アプリケーションのサイズが従来の複合機で動作するアプリケーションプログラムのサイズに比べて小さなものとなっており、アプリケーションの起動および終了が頻繁に行われる。   In such a new multi-function peripheral, a control service that provides services commonly required by at least two of the applications is provided separately from the application. The application program is smaller than the size of the application program to be executed, and the application is frequently started and ended.

このため、複合機に搭載されているメモリなどのリソースの使用状況は頻繁に変化し、すべてのアプリケーションを起動した状態とすることができない場合も生じてくる。このような状況でアプリケーションを起動しても、アプリケーションが不正に終了してしまい、複合機の動作が不安定になるという問題がある。   For this reason, the usage status of resources such as memory installed in the multifunction peripheral frequently changes, and there are cases where all applications cannot be activated. Even if the application is activated in such a situation, there is a problem that the application is terminated improperly and the operation of the multifunction peripheral becomes unstable.

また、かかる新規な複合機は、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。このため、複合機には、その出荷時に搭載されるコピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるアプリケーションの他、従来の複合機と異なり、このようなユーザやサードベンダが開発した新規アプリケーションなど、アプリケーションが多数起動可能となっている。コピー、プリンタ、ファクシミリ、スキャナなどの複合機であらかじめ提供されるアプリケーションの場合、限りのあるリソースを意識した構造となっているが、第三者が開発する新規アプリケーションの場合には、開発するベンダによって必ずしもリソースを意識した構造となっていない場合も考えられる。このため、限りのあるリソースの範囲内で新規アプリケーションの起動を行うと複合機が不安定になる可能性が高いという従来の複合機では問題にならなかった新規な課題が生じてくる。   In addition, since this new multifunction device has a separate application and control service, users or third-party vendors can develop new applications and install them in the multifunction device after the multifunction device is shipped. It has a configuration. For this reason, multifunction devices include new applications developed by such users and third vendors, as opposed to conventional multifunction devices, in addition to applications related to image forming processing such as copying, printers, scanners, and facsimiles installed at the time of shipment. Many applications such as applications can be started. In the case of applications provided in advance by MFPs such as copiers, printers, facsimiles, and scanners, the structure is conscious of limited resources, but in the case of new applications developed by third parties, the vendors to be developed Depending on the situation, there may be cases where the structure is not necessarily resource conscious. For this reason, when a new application is activated within a limited resource range, there is a high possibility that the multifunction device becomes unstable, which is a new problem that has not been a problem in the conventional multifunction device.

このような課題を解決するには、アプリケーションが使用するリソースの種類や量と、複合機が実際に備えているリソースに基づき、必要に応じてアプリケーションの起動制限を行なうことが必要になる。このためには、アプリケーションが使用するリソースの種類や量を取得しておく必要がある。   In order to solve such a problem, it is necessary to restrict the activation of the application as necessary based on the type and amount of the resource used by the application and the resources actually provided in the multifunction peripheral. For this purpose, it is necessary to acquire the type and amount of resources used by the application.

この発明は上記に鑑みてなされたもので、アプリケーションが使用するリソースに関する情報を取得する技術を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a technique for acquiring information on resources used by an application.

上記の目的を達成するために、請求項1に記載の発明は、アプリケーションを実行させるためのリソースを備えた装置であって、前記アプリケーションの実行中に、当該アプリケーションのメモリ使用量に関するメモリリソース情報を取得し、当該メモリリソース情報を前記アプリケーションのIDとともに記憶手段に格納する取得手段を有することを特徴とする装置である。   In order to achieve the above object, the invention according to claim 1 is an apparatus comprising a resource for executing an application, and memory resource information relating to a memory usage of the application during execution of the application. And acquiring the memory resource information in a storage unit together with the ID of the application.

本発明によれば、アプリケーションが実行されている際に、そのアプリケーションが使用するメモリリソースに関する情報を取得するので、例えば、アプリケーションの起動判断のための的確な情報を取得することができる。   According to the present invention, when the application is being executed, the information regarding the memory resource used by the application is acquired. Therefore, for example, accurate information for determining whether to start the application can be acquired.

請求項2に記載の発明は、請求項1の記載において、前記取得手段は、前記メモリ使用量を定期的に取得し、定期的に取得したメモリ使用量に基づき前記メモリリソース情報を生成し、当該メモリリソース情報を格納するものである。   The invention according to claim 2 provides the memory resource information according to claim 1, wherein the acquisition unit periodically acquires the memory usage, and generates the memory resource information based on the periodically acquired memory usage. This memory resource information is stored.

請求項3に記載の発明は、請求項2の記載において、前記メモリリソース情報は、定期的に取得したメモリ使用量の平均値又は最大値であるとする。   According to a third aspect of the present invention, in the second aspect, the memory resource information is an average value or a maximum value of a memory usage amount acquired periodically.

また、請求項4に記載の発明は、請求項5の記載において、前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、前記メモリリソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いるものである。   According to a fourth aspect of the present invention, in the fifth aspect, the average value or the maximum value in a period from the start to the end of the application is recorded every time from the start to the end, and the memory resource As the information, an average value or maximum value of a plurality of average values recorded every time from activation to end, or an average value or maximum value of a plurality of maximum values recorded every time from activation to completion is used.

上記の発明によれば、定期的に取得した複数の値を用いるので、1回だけ取得した値に比べてリソースの使用量として妥当な値を取得することができる。   According to the above invention, since a plurality of values acquired periodically are used, it is possible to acquire a reasonable value as the resource usage compared to a value acquired only once.

請求項5に記載の発明は、請求項4ないし6のうちいずれか1項の記載において、前記取得手段は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションのメモリ使用量を取得するものである。本発明によれば、効率的にメモリリソース情報を取得できる。   According to a fifth aspect of the present invention, in the method according to any one of the fourth to sixth aspects, the acquisition unit uses the memory of the application from system information that holds information about resources used by processes in the device. Get the quantity. According to the present invention, memory resource information can be acquired efficiently.

請求項6に記載の発明は、請求項1ないし5のうちいずれか1項の記載において、前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、前記実行されるアプリケーションは、前記予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションであるとしたものである。   A sixth aspect of the present invention is the electronic device according to any one of the first to fifth aspects, wherein the device is a built-in device that provides a service using software that is pre-installed, and the application to be executed is: In addition to the pre-installed software, the application is installed in the device.

本発明によれば、リソース情報を用いることにより、組み込み装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。   According to the present invention, when resource information is used, when an application is added to an embedded device, it is possible to make a start determination according to the resource amount.

請求項7に記載の発明は、請求項1ないし6のうちいずれか1項の記載において、前記装置は画像形成装置であり、該画像形成装置は、画像形成処理におけるハードウェアリソースと、該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、仮想アプリケーションサービス部は、前記取得手段を有するものである。   According to a seventh aspect of the present invention, in any one of the first to sixth aspects, the apparatus is an image forming apparatus, and the image forming apparatus includes hardware resources in the image forming process, and the hardware. A control service unit that provides services related to the control of hardware resources to a plurality of applications, and a virtual application service unit that operates as a client process using the control service unit as a server and operates as a server process using the application as a client The virtual application service unit includes the acquisition unit.

本発明によれば、リソース情報を用いることにより、画像形成装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。   According to the present invention, when resource information is used, when an application is added to the image forming apparatus, it is possible to make a start determination according to the resource amount.

請求項8に記載の発明は、請求項1ないし7のうちいずれか1項の記載において、前記装置に取り付けられた各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納する手段を更に有することとするものである。本発明によれば、前記装置の機器構成情報を取得することが可能となる。   According to an eighth aspect of the present invention, in any one of the first to seventh aspects, the device configuration information is received from each device attached to the apparatus, and the device configuration information is stored in a memory. Is further included. According to the present invention, it is possible to acquire device configuration information of the device.

請求項9に記載の発明は、請求項8の記載において、前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信する手段を有するものである。   The invention described in claim 9 has means for transmitting a message for notifying that the device configuration information has been stored to a software module executed in the apparatus according to claim 8. .

本発明によれば、前記装置において実行されるソフトウエアモジュールが機器構成情報が格納されていることを認識できる。そして、ソフトウエアモジュールが上記記憶装置にアクセスすることにより機器構成情報を取得できる。   According to the present invention, it is possible to recognize that the software module executed in the apparatus stores device configuration information. The device configuration information can be acquired by the software module accessing the storage device.

請求項10〜18に記載の発明は上記装置の発明に対応する方法の発明である。   The invention described in claims 10 to 18 is a method invention corresponding to the invention of the apparatus.

上記のように本発明によれば、アプリケーションが使用するリソースに関する情報を取得することが可能となる。   As described above, according to the present invention, it is possible to acquire information related to resources used by an application.

以下に添付図面を参照して、本発明の実施の形態である画像形成装置について詳細に説明する。
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ(RAM、ROMなど)、ネットワークインタフェースなどのハードウェアリソース103を有するとともに、プラットホーム120とアプリケーション130と仮想アプリケーションサービス(VAS:Vertial Application Service)140から構成されるソフトウェア群110とを備えている。
Hereinafter, an image forming apparatus according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of an image forming apparatus (hereinafter referred to as “multifunction machine”) according to Embodiment 1 of the present invention. As shown in FIG. 1, a multifunction peripheral 100 includes a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, a scanner, a facsimile, a hard disk, a memory (RAM, ROM, etc.), a network interface, and the like. In addition to having a hardware resource 103, a software group 110 including a platform 120, an application 130, and a virtual application service (VAS) 140 is provided.

仮想アプリケーションサービス(VAS)140は、アプリケーション130とプラットホーム120の間に配置される。VAS140は、アプリケーション130の各アプリが初めて起動されたときに、各アプリが使用するリソースの使用状況を取得して、リソース使用情報ファイルをハードディスク(HD)に生成する。取得するリソースとしては、メモリに確保されるテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズである。ここで、テキストメモリ領域とは、アプリケーション130の各アプリのプログラムがロードされるメモリ領域である。ヒープ領域とは、各アプリが動的に確保するメモリ領域であり、各アプリが使用する作業領域を含む。スタック領域とは、各アプリが実行されるとき、または各アプリが内部のモジュールを呼び出すときに使用する引数などを格納するために確保される領域である。   A virtual application service (VAS) 140 is disposed between the application 130 and the platform 120. When each application of the application 130 is activated for the first time, the VAS 140 acquires the usage status of the resource used by each application and generates a resource usage information file on the hard disk (HD). The resources to be acquired are a text memory area size, a heap area size, and a stack area size secured in the memory. Here, the text memory area is a memory area into which a program of each application of the application 130 is loaded. The heap area is a memory area that is dynamically secured by each application, and includes a work area used by each application. The stack area is an area reserved for storing arguments used when each application is executed or when each application calls an internal module.

また、VAS140は、各アプリの起動が2回目以降の場合、リソース使用情報ファイルからアプリが必要とする各リソースの容量を取得するとともに、各リソースの残容量を取得して、両者を比較し、アプリの起動の可否を判断する。具体的には、リソースの残容量がアプリが必要とする各リソースの容量より小さい場合には、起動されたアプリに対して起動停止要求メッセージを送信する。   In addition, when each application is activated for the second time or later, the VAS 140 obtains the capacity of each resource required by the application from the resource usage information file, obtains the remaining capacity of each resource, compares them, Determine whether the app can be activated. Specifically, when the remaining capacity of the resource is smaller than the capacity of each resource required by the application, an activation stop request message is transmitted to the activated application.

なお、図1は、全てのアプリケーションに対してVAS140が配置される例を示しているが、図2に示すように、新規アプリケーションにのみに対してVAS140を配置するようにしてもよい。   Although FIG. 1 shows an example in which the VAS 140 is arranged for all applications, the VAS 140 may be arranged only for new applications as shown in FIG.

プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。   The platform 120 interprets a processing request from an application and generates a hardware resource acquisition request, and a system resource manager that manages one or a plurality of hardware resources and arbitrates the acquisition request from the control service. (SRM) 123 and a general-purpose OS 121.

コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。   The control service is formed of a plurality of service modules, and includes an SCS (system control service) 122, an ECS (engine control service) 124, an MCS (memory control service) 125, an OCS (operation panel control service) 126, and an FCS. (Fax Control Service) 127 and NCS (Network Control Service) 128. The platform 120 has an application program interface (API) that can receive a processing request from the application 130 by a predefined function.

汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。   The general-purpose OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the platform 120 and the application 130 in parallel as processes.

SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。   The process of the SRM 123 performs system control and resource management together with the SCS 122. The SRM123 process uses hardware resources such as engines such as a scanner unit and printer unit, memory, HDD file, and host I / O (Centro I / F, network I / F, IEEE 1394 I / F, RS232C I / F, etc.). Arbitration is performed according to the request from the upper layer to be used, and execution control is performed.

具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。   Specifically, the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is used. Tell the upper layer that it is possible. In addition, the SRM 123 performs use scheduling of hardware resources in response to a request from an upper layer, and directly executes request contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by a printer engine). .

SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。   The process of the SCS 122 performs application management, operation unit control, system screen display, LED display, resource management, interrupt application control, and the like.

ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。   The process of the ECS 124 controls the engine of the hardware resource 103 including a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, a scanner, a facsimile, and the like.

MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。   The MCS 125 process acquires and releases an image memory, uses a hard disk device (HDD), compresses and decompresses image data, and the like.

FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。   The process of FCS 127 includes facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. Provides an API to do.

NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。   The NCS 128 process is a process for providing a service that can be commonly used for applications that require network I / O. Data received from the network side according to each protocol is distributed to each application, and data from the application. Mediation when sending to the network side. Specifically, it has server daemons such as ftpd, httpd, lpd, snmpd, telnetd, and smtpd and client functions of the same protocol.

OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。   The process of the OCS 126 controls an operation panel (operation panel) serving as information transmission means between the operator (user) and the main body control. The OCS 126 acquires a key press from the operation panel as a key event, sends a key event function corresponding to the acquired key to the SCS 122, and displays various screens on the operation panel in response to a request from the application 130 or the control service. A drawing function for drawing output, a function for controlling the operation panel, and the like are composed of pre-registered OCS library portions. The OCS library is mounted by being linked to each module of the application 130 and the control service. The OCS 126 may be configured to operate as a process, or the OCS 126 may be configured as an OCS library.

アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。これらの各アプリは、その起動時にVAS140に対して自プロセスのプロセスIDとともにアプリ登録要求メッセージを送信し、アプリ登録要求メッセージを受信したVAS140によって、起動したアプリに対する登録処理が行われるようになっている。なお、図2に示す構成の場合には、VAS140が配置されていないアプリケーションは、アプリ登録要求メッセージをSCS122に対して送信する。   The application 130 includes a printer application 111 that is a printer application having a page description language (PDL), PCL, and postscript (PS), a copy application 112 that is a copy application, and a fax application 113 that is a facsimile application. A scanner application 114 as a scanner application, a network file application 115 as a network file application, and a process inspection application 116 as a process inspection application. Each of these applications transmits an application registration request message together with the process ID of its own process to the VAS 140 at the time of activation, and registration processing for the activated application is performed by the VAS 140 that has received the application registration request message. Yes. In the case of the configuration illustrated in FIG. 2, an application in which the VAS 140 is not arranged transmits an application registration request message to the SCS 122.

アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。   Each process of the application 130 and each process of the control service realize user services related to image forming processing such as copying, printers, scanners, and facsimiles while performing inter-process communication by calling functions, sending return values thereof, and sending and receiving messages. is doing.

このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117,118を開発して搭載することが可能となっている。図1、図2では、この新規アプリ117,118を搭載した例を示している。   As described above, the MFP 100 according to the first embodiment includes a plurality of applications 130 and a plurality of control services, all of which operate as processes. In each of these processes, one or a plurality of threads are generated and parallel execution is performed in units of threads. The control service provides a common service to the application 130. For this reason, a large number of these processes perform a parallel operation and a parallel operation of threads to perform inter-process communication with each other. User services related to image forming processing such as copying, printers, scanners, and facsimiles are provided. In addition, a third party such as a third vendor can develop and install new applications 117 and 118 in the application layer above the control service layer in the multifunction peripheral 100. 1 and 2 show an example in which the new applications 117 and 118 are installed.

なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。   In the MFP 100 according to the first embodiment, a plurality of application 130 processes and a plurality of control service processes operate. However, the application 130 and the control service process have a single configuration. Is also possible. Each application 130 can be added or deleted for each application.

図3は、実施の形態1にかかる複合機100のVAS140の構成と、VAS140と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図3では、アプリケーション130の例として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118を示しているが、他のアプリでも同様の構成である。   FIG. 3 is a block diagram illustrating the configuration of the VAS 140 of the multifunction peripheral 100 according to the first embodiment and the relationship between the VAS 140 and each application, the control service layer 150, and the general-purpose OS 121. In FIG. 3, the printer application 111, the copy application 112, and the new applications 117 and 118 are shown as examples of the application 130, but other applications have the same configuration.

仮想アプリケーションサービス(VAS)140のプロセスには、ディスパッチャ144と、制御スレッド143と、リソース使用情報取得スレッド141と、アプリ起動判断スレッド142とが動作している。   In the process of the virtual application service (VAS) 140, a dispatcher 144, a control thread 143, a resource usage information acquisition thread 141, and an application activation determination thread 142 are operating.

ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じて制御スレッド143、リソース使用情報取得スレッド141、アプリ起動判断スレッド142に処理要求を行うものである。実施の形態1の複合機100では、ディスパッチャ144は、各アプリが起動する際にアプリからアプリ登録要求メッセージを受信したとき、受信したアプリ登録要求メッセージを制御スレッド143に送信するようになっている。   The dispatcher 144 monitors message reception from the application 130 and the control service, and makes a processing request to the control thread 143, the resource usage information acquisition thread 141, and the application activation determination thread 142 according to the received message. In the MFP 100 according to the first embodiment, the dispatcher 144 transmits the received application registration request message to the control thread 143 when receiving the application registration request message from the application when each application is activated. .

制御スレッド143は、ディスパッチャ144からアプリ登録要求メッセージを受信してアプリ登録処理を行う。ここで、アプリ登録処理とは、RAM210にアプリ登録テーブル(図示せず)を生成し、アプリ登録要求メッセージを送信したアプリの識別情報であるアプリIDをアプリ登録テーブルに記録する処理をいう。   The control thread 143 receives the application registration request message from the dispatcher 144 and performs application registration processing. Here, the application registration process is a process of generating an application registration table (not shown) in the RAM 210 and recording an application ID, which is identification information of the application that transmitted the application registration request message, in the application registration table.

また、制御スレッド143は、HD200に格納されたリソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリについて、リソース使用情報が記録されているか否かをチェックすることにより、アプリの起動が初回の起動か2回目以降の起動かを判断する。そして、初回の起動である場合にはリソース使用情報取得スレッド141に対してアプリID、アプリのプロセスIDとともにリソース使用情報取得処理要求を行い、2回目以降の起動である場合には、アプリ起動判断スレッド142に対してアプリID、アプリのプロセスIDとともにアプリ起動判断処理要求を行う。   In addition, the control thread 143 refers to the resource usage information file 201 stored in the HD 200 and checks whether resource usage information is recorded for the application that has made the application registration request, thereby starting the application. Is the first activation or the second activation or later. If it is the first activation, a resource usage information acquisition process request is made to the resource usage information acquisition thread 141 together with the application ID and the process ID of the application. An application activation determination process request is made to the thread 142 together with the application ID and the process ID of the application.

リソース使用情報取得スレッド141は、制御スレッド143からの処理要求を受けると、汎用OS121が管理するRAM210上のproc構造体211(またはu領域212)を参照して、各アプリが使用するテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズ、CPU占有時間を取得して、リソース使用情報ファイル201としてハードディスクに生成する。かかるリソース使用情報はアプリごとのレコードとして記録される。なお、上記のCPU占有時間とは、例えば最近のCPU占有時間である。   When the resource usage information acquisition thread 141 receives a processing request from the control thread 143, the resource usage information acquisition thread 141 refers to the proc structure 211 (or u area 212) on the RAM 210 managed by the general-purpose OS 121, and the text memory area used by each application The size, heap area size, stack area size, and CPU occupation time are acquired and generated as a resource usage information file 201 on the hard disk. Such resource usage information is recorded as a record for each application. The CPU occupation time is, for example, the latest CPU occupation time.

上記VAS140のプログラムは、ソフトウェア開発キット(SDK:Software Development Kit)等の一部または全部として、CD−ROMまたはFD(フレキシブルディスク)などの記憶媒体に実行可能な形式またはインストール可能な形式のファイルで提供される。また、このような実行可能な形式またはインストール可能な形式のVAS140のプログラムファイルを、ネットワーク経由で取得可能な方法で提供するようにしても良い。なお、複合機100にインストールされるアプリケーションについてもCD−ROMまたはFD(フレキシブルディスク)などの記憶媒体に格納して提供できる。更に、ネットワーク経由で取得可能な方法で提供するようにしても良い。   The VAS 140 program is a file that can be executed or installed in a storage medium such as a CD-ROM or FD (flexible disk) as a part or all of a software development kit (SDK). Provided. Further, the program file of the VAS 140 in such an executable format or installable format may be provided by a method that can be acquired via a network. Note that applications installed in the multifunction peripheral 100 can also be provided by being stored in a storage medium such as a CD-ROM or FD (flexible disk). Furthermore, it may be provided by a method that can be acquired via a network.

図4は、HD200に格納されるリソース使用情報ファイル201の内容例を示す説明図である。図4に示すように、リソース使用情報ファイル201には、アプリIDごとに、テキストメモリサイズ、ヒープサイズ、スタックサイズ、CPU占有時間が記録されている。   FIG. 4 is an explanatory diagram showing an example of the contents of the resource usage information file 201 stored in the HD 200. As shown in FIG. 4, in the resource usage information file 201, a text memory size, a heap size, a stack size, and a CPU occupation time are recorded for each application ID.

図5は、リソース使用情報取得スレッド141が参照するproc構造体211の一例を示す説明図である。図5に示すように、proc構造体211には、各プロセスごとに、プロセスID(p_pid)、CPU占有時間、テキストメモリサイズ、ヒープメモリサイズ、スタックサイズなどが格納されている。このproc構造体211は、プロセス実行時、プロセス終了時、およびプロセスの状態が変化したときに汎用OS121によって更新される。proc構造体211の各情報は、VAS140からのシステムコールによってVAS140が取得することができる。   FIG. 5 is an explanatory diagram showing an example of the proc structure 211 referred to by the resource usage information acquisition thread 141. As shown in FIG. 5, the proc structure 211 stores a process ID (p_pid), CPU occupation time, text memory size, heap memory size, stack size, and the like for each process. The proc structure 211 is updated by the general-purpose OS 121 when the process is executed, when the process ends, and when the state of the process changes. Each information of the proc structure 211 can be acquired by the VAS 140 by a system call from the VAS 140.

アプリ起動判断スレッド142は、アプリの起動が2回目以降である場合に、リソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリが必要とする各リソースの容量を取得する。また、アプリ起動判断スレッド142は、汎用OS121のシステムコールあるいはコントロールサービスで提供されるサービス関数呼び出しにより、proc構造体211を参照することにより、画像メモリ領域の残容量、ヒープ領域の残容量、スタック領域の残容量を取得する。そして、両者を比較して、アプリ起動の可否を判断する。また、アプリ起動判断スレッド142は、汎用OS121のシステムコールあるいはコントロールサービスで提供されるサービス関数呼び出しにより、CPU稼働率を取得する。   When the application is activated for the second time or later, the application activation determination thread 142 refers to the resource usage information file 201 and acquires the capacity of each resource required by the application that has requested the application registration. Further, the application activation determination thread 142 refers to the proc structure 211 by a system function of the general-purpose OS 121 or a service function call provided by the control service, so that the remaining capacity of the image memory area, the remaining capacity of the heap area, the stack Get the remaining capacity of the area. Then, the two are compared to determine whether the application can be activated. Further, the application activation determination thread 142 acquires the CPU operation rate by a system call of the general-purpose OS 121 or a service function call provided by a control service.

そして、CPU稼働率が一定値を超えているか否か、およびCPU占有時間が一定時間を超えているか否かによってアプリ起動の可否を判断する。なお、CPU占有時間とCPU稼働率との関係、すなわち、CPU稼働率の値に応じてアプリ起動すべきと判断するCPU占有時間の関係は予め定めておくが、複合機100によって任意に定めることができる。   Then, whether or not the application can be activated is determined based on whether or not the CPU operation rate exceeds a certain value and whether or not the CPU occupation time exceeds a certain time. The relationship between the CPU occupation time and the CPU operation rate, that is, the relationship between the CPU occupation time for determining that the application should be activated in accordance with the value of the CPU operation rate is determined in advance, but may be arbitrarily determined by the multifunction device 100. Can do.

アプリ起動判断スレッド142は、アプリ起動が可能と判断した場合には、アプリ登録要求をしたアプリに対して起動可能メッセージを送信する。一方、アプリ起動を続行すべきでないと判断した場合には、アプリ登録要求をしたアプリに対して起動終了要求メッセージを送信する。   If the application activation determination thread 142 determines that the application activation is possible, the application activation determination thread 142 transmits an activation activation message to the application that has requested the application registration. On the other hand, when it is determined that the application activation should not be continued, an activation termination request message is transmitted to the application that has requested the application registration.

次に、このように構成された複合機100のVAS140によるアプリ起動判断処理について説明する。図6は、VAS140の制御スレッド143によるアプリ登録およびアプリ起動回数判断の処理手順を示すフローチャートである。   Next, an application activation determination process by the VAS 140 of the MFP 100 configured as described above will be described. FIG. 6 is a flowchart showing a processing procedure of application registration and application activation frequency determination by the control thread 143 of the VAS 140.

ディスパッチャ144が起動する際に、アプリからアプリ登録要求メッセージを受信すると、アプリ登録要求メッセージをそのアプリのプロセスIDとともに制御スレッド143に受け渡す。制御スレッド143は、アプリ登録要求メッセージとプロセスIDをディスパッチャ144から受信すると(ステップS501)、アプリを識別するアプリIDを決定し、アプリ登録テーブル(図示せず)にアプリIDを記録することにより、アプリ登録を行う(ステップS502)。なお、アプリIDは、コピーアプリ112、プリンタアプリ111など既存のアプリケーションについては、予め定められており、各アプリIDをVAS140が内部で保持している。また、サードベンダなどが開発した新規アプリ117,118については、最初の起動時におけるアプリ登録処理の中で決定される。   When the dispatcher 144 is activated and receives an application registration request message from an application, the application registration request message is transferred to the control thread 143 together with the process ID of the application. When the control thread 143 receives the application registration request message and the process ID from the dispatcher 144 (step S501), the control thread 143 determines an application ID for identifying the application, and records the application ID in an application registration table (not shown). Application registration is performed (step S502). Note that the application ID is determined in advance for existing applications such as the copy application 112 and the printer application 111, and the VAS 140 internally stores each application ID. Further, the new applications 117 and 118 developed by a third vendor or the like are determined in the application registration process at the first activation.

そして、制御スレッド143は、HD200に格納されているリソース使用情報ファイル201を参照し(ステップS503)、リソース使用情報ファイル201の中にアプリ登録処理で登録したアプリIDのリソース使用情報が格納されているか否かをチェックすることにより、アプリ登録要求を行ったアプリが最初の起動か、2回目以降の起動かを判断する(ステップS504)。   The control thread 143 refers to the resource usage information file 201 stored in the HD 200 (step S503), and the resource usage information of the application ID registered in the application registration process is stored in the resource usage information file 201. By checking whether there is an application, it is determined whether the application that requested the application registration is the first activation or the second or later activation (step S504).

そして、リソース使用情報ファイル201の中にアプリ登録要求を行ったアプリのアプリIDに対するリソース使用情報が格納されていない場合には(ステップS504:No)、初回の起動であると判断し、アプリが使用するリソースのリソース使用情報を取得するため、リソース使用情報取得スレッド141に対して、アプリIDおよびアプリのプロセスIDとともにリソース使用情報取得要求メッセージを送信する(ステップS505)。   If the resource usage information for the application ID of the application that has made the application registration request is not stored in the resource usage information file 201 (step S504: No), it is determined that the activation is the first time, and the application In order to acquire the resource usage information of the resource to be used, a resource usage information acquisition request message is transmitted to the resource usage information acquisition thread 141 together with the application ID and the application process ID (step S505).

一方、リソース使用情報ファイル201の中にアプリ登録要求を行ったアプリのアプリIDに対するリソース使用情報が格納されている場合には(ステップS504:Yes)、2回目以降の起動であると判断し、アプリ起動の可否を判断するため、アプリ起動判断スレッド142に対し、アプリIDおよびアプリのプロセスIDとともにアプリ起動判断要求メッセージを送信する(ステップS506)。   On the other hand, when the resource usage information for the application ID of the application that has made the application registration request is stored in the resource usage information file 201 (step S504: Yes), it is determined that it is the second or later activation, In order to determine whether or not the application can be activated, an application activation determination request message is transmitted to the application activation determination thread 142 together with the application ID and the process ID of the application (step S506).

図7は、リソース使用情報取得スレッド141によるリソース使用情報取得の処理手順を示すフローチャートである。リソース使用情報取得スレッド141では、アプリの最初の起動時に次の処理が実行される。   FIG. 7 is a flowchart showing a processing procedure for acquiring resource usage information by the resource usage information acquisition thread 141. In the resource usage information acquisition thread 141, the following processing is executed when the application is first activated.

リソース使用情報取得スレッド141は、アプリID、プロセスIDとリソース使用情報取得要求メッセージを制御スレッド143から受信すると(ステップS601)、proc構造体211を参照して該当するアプリIDのプロセスIDのブロックの位置を検索する(ステップS602)。そして、検索されたプロセスIDのブロックから、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズおよびCPU占有時間のリソース使用情報を取得する(ステップS603)。そして、取得したこれらのリソース使用情報を、アプリIDとともにリソース使用情報ファイル201に記録する(ステップS604)。これにより、アプリが起動時に必要となるリソースの情報がリソース使用情報ファイル201に格納されることになる。   When the resource usage information acquisition thread 141 receives the application ID, the process ID, and the resource usage information acquisition request message from the control thread 143 (step S601), the resource usage information acquisition thread 141 refers to the proc structure 211 and stores the process ID block of the corresponding application ID. The position is searched (step S602). Then, the resource usage information of the text memory area size, the heap area size, the stack area size, and the CPU occupation time is acquired from the retrieved block of the process ID (step S603). Then, the acquired resource usage information is recorded in the resource usage information file 201 together with the application ID (step S604). As a result, resource information required when the application is activated is stored in the resource usage information file 201.

図8は、アプリ起動判断スレッド142によるアプリ起動可否判断の処理手順を示すフローチャートである。アプリ起動判断スレッド142では、アプリの2回目以降の起動時に次の処理が実行される。   FIG. 8 is a flowchart showing a processing procedure for determining whether or not an application can be activated by the application activation determination thread 142. The application activation determination thread 142 executes the following processing when the application is activated for the second time or later.

アプリ起動判断スレッド142は、アプリID、プロセスIDとアプリ起動判断要求メッセージを制御スレッド143から受信すると(ステップS701)、HD200に格納されているリソース使用情報ファイル201から該当するアプリIDのリソース使用情報のレコードを検索し、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズおよびCPU占有時間を取得する(ステップS702)。次に、アプリ起動判断スレッド142は、システムコールあるいはコントロールサービス関数の呼び出しによって、proc構造体から各プロセスによるリソースの使用量を取得することにより、現在におけるメモリの残容量を得る(ステップS703)。このとき、取得される残容量は、テキストメモリ領域の残容量、ヒープ領域の残容量、スタック領域の残容量である。   When the application activation determination thread 142 receives the application ID, process ID, and application activation determination request message from the control thread 143 (step S701), the resource usage information of the corresponding application ID from the resource usage information file 201 stored in the HD 200 is displayed. The text memory area size, heap area size, stack area size, and CPU occupation time are acquired (step S702). Next, the application activation determination thread 142 obtains the remaining amount of memory at the current time by acquiring the resource usage amount by each process from the proc structure by calling a system call or a control service function (step S703). At this time, the remaining capacity acquired is the remaining capacity of the text memory area, the remaining capacity of the heap area, and the remaining capacity of the stack area.

そして、アプリ起動判断スレッド142は、リソース使用情報ファイル201から取得したアプリ起動に必要なテキストメモリ領域サイズとテキストメモリ領域の残容量とを比較する(ステップS704)。比較の結果、テキストメモリ領域サイズがテキストメモリ領域の残容量より大きい場合には(ステップS704:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。   Then, the application activation determination thread 142 compares the text memory area size necessary for application activation acquired from the resource usage information file 201 with the remaining capacity of the text memory area (step S704). As a result of the comparison, when the text memory area size is larger than the remaining capacity of the text memory area (step S704: No), it is determined that the application cannot be executed, and an application activation end request message is transmitted to the application. (Step S709).

一方、テキストメモリ領域サイズがテキストメモリ領域の残容量以下の場合には(ステップS704:Yes)、アプリ実行に必要なテキストメモリ領域を現在の状況で確保できると判断する。そして、次に、リソース使用情報ファイル201から取得したアプリの実行に必要なヒープ領域サイズとヒープ領域の残容量とを比較する(ステップS705)。比較の結果、ヒープ領域サイズがヒープ領域の残容量より大きい場合には(ステップS705:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。   On the other hand, when the text memory area size is equal to or smaller than the remaining capacity of the text memory area (step S704: Yes), it is determined that the text memory area necessary for executing the application can be secured in the current situation. Next, the heap area size necessary for executing the application acquired from the resource usage information file 201 is compared with the remaining capacity of the heap area (step S705). As a result of the comparison, if the heap area size is larger than the remaining capacity of the heap area (step S705: No), it is determined that the application cannot be executed, and an application activation end request message is transmitted to the application ( Step S709).

一方、ヒープ領域サイズがヒープ領域の残容量以下の場合には(ステップS705:Yes)、アプリ実行に必要なヒープ領域を現在の状況で確保できると判断する。そして、次に、リソース使用情報ファイル201から取得したアプリの実行に必要なスタック領域サイズとスタック領域の残容量とを比較する(ステッ
プS706)。比較の結果、スタック領域サイズがスタック領域の残容量より大きい場合には(ステップS706:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。
On the other hand, when the heap area size is equal to or smaller than the remaining capacity of the heap area (step S705: Yes), it is determined that the heap area necessary for executing the application can be secured in the current situation. Next, the stack area size necessary for executing the application acquired from the resource usage information file 201 is compared with the remaining capacity of the stack area (step S706). As a result of the comparison, if the stack area size is larger than the remaining capacity of the stack area (step S706: No), it is determined that the application cannot be executed, and an application activation end request message is transmitted to the application ( Step S709).

一方、スタック領域サイズがスタック領域の残容量以下の場合には(ステップS706:Yes)、アプリ実行に必要なスタック領域を現在の状況で確保できると判断する。そして、次に、システムコールの発行によって、現在のCPU稼働率を取得する(ステップS707)。そして、予め定めたCPU稼働率に対して許容された時間内にCPU占有時間が含まれるか否かを判断する(ステップS708)。そして、許容された時間外である場合(ステップS708:No)、例えば、CPU稼働率50〜60%のとき、CPU占有時間が60ms以下の場合にはアプリ起動を続行する対応関係を定めている場合において、CPU稼働率55%で、かつCPU占有時間が80msである場合には、かかる状態でアプリを実行するとシステム全体が不安定になると判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。   On the other hand, when the stack area size is equal to or smaller than the remaining capacity of the stack area (step S706: Yes), it is determined that the stack area necessary for executing the application can be secured in the current situation. Next, the current CPU operating rate is acquired by issuing a system call (step S707). Then, it is determined whether or not the CPU occupation time is included in the time allowed for the predetermined CPU operating rate (step S708). If it is outside the allowable time (step S708: No), for example, when the CPU operating rate is 50 to 60% and the CPU occupation time is 60 ms or less, a correspondence relationship for continuing the application activation is defined. In this case, if the CPU operating rate is 55% and the CPU occupation time is 80 ms, it is determined that if the application is executed in such a state, the entire system becomes unstable, and an application activation termination request message is sent to the application. Transmit (step S709).

一方、CPU占有時間が許容された時間内である場合(ステップS708:Yes)、たとえば上記例のCPU稼働率55%でCPU占有時間が40msの場合には、アプリ実行が安定動作すると判断する。これにより、すべてのリソースを確保できることがわかったので、次に、アプリ起動判断スレッド142は、アプリに対してアプリ起動可能通知メッセージを送信する(ステップS710)。   On the other hand, when the CPU occupation time is within the allowable time (step S708: Yes), for example, when the CPU occupation rate is 55% and the CPU occupation time is 40 ms in the above example, it is determined that the application execution is stable. Thus, since it has been found that all resources can be secured, the application activation determination thread 142 transmits an application activation possible notification message to the application (step S710).

なお、各アプリは、アプリ起動判断スレッド142からアプリ起動可能通知メッセージを受信すると、そのまま処理実行を継続する。一方、各アプリは、アプリ起動判断スレッド142からアプリ起動終了要求メッセージを受信すると、ただちにアプリの実行を終了する。また、アプリ起動終了要求メッセージを受信したアプリが、それまでに確保していたリソースを解放してから実行を停止するようにしてもよい。   In addition, when each application receives the application activation possibility notification message from the application activation determination thread 142, the application continues processing execution as it is. On the other hand, when each application receives the application activation end request message from the application activation determination thread 142, the application immediately ends the execution of the application. Further, the application that has received the application activation end request message may stop the execution after releasing the resources secured so far.

なお、アプリ起動判断スレッド142は、アプリの起動を停止すべきとの判断をした場合には、更に、MCS125などのコントロールサービスに対して、テキストメモリ領域、ヒープ領域あるいはスタック領域を増大して確保する旨の要求メッセージを送信して、アプリ起動に必要なサイズを確保してからアプリに対して起動可能通知メッセージを送信するように構成しても良い。この場合には、単にアプリ起動終了要求を行う場合に比べて、ユーザの利便性の向上を図ることができる。   If the application activation determination thread 142 determines that the application activation should be stopped, the application activation determination thread 142 further increases the text memory area, heap area, or stack area for the control service such as the MCS 125. It may be configured such that a request message indicating that the application is to be transmitted is transmitted, and a startable notification message is transmitted to the application after securing a size necessary for starting the application. In this case, the convenience of the user can be improved compared to a case where an application activation end request is simply made.

このように、実施の形態1にかかる複合機100では、仮想アプリケーションサービス140のリソース使用情報取得スレッド141によって、アプリケーション130が使用するリソースに関する情報を取得してリソース使用情報ファイル201を生成することが可能である。そして、アプリ起動判断スレッド142によって、アプリケーション130が起動されたときに、テキストメモリ領域残容量、ヒープ領域残容量、スタック領域残容量、CPU稼働率を取得し、取得したこれらのリソースの状態と、リソース使用情報ファイル201の中に記録されたアプリケーション130が使用するリソースの情報とに基づいてアプリケーション130の起動可否を判断することができる。これにより、リソースの状況によってアプリケーション130の実行ができなくなることを未然に回避して、複合機100のシステムの安定性を向上させることができる。また、サードベンダが開発した新規アプリ117,118がリソースの限界を意識した処理を行っていない場合でも、リソース不足に伴ってシステムが不安定になることを回避でき、複合機100のシステムの安定性を向上させることができる。   As described above, in the MFP 100 according to the first embodiment, the resource usage information acquisition thread 141 of the virtual application service 140 can acquire information about the resources used by the application 130 and generate the resource usage information file 201. Is possible. Then, when the application 130 is activated by the application activation determination thread 142, the text memory area remaining capacity, heap area remaining capacity, stack area remaining capacity, CPU operation rate are acquired, and the acquired state of these resources, Whether or not the application 130 can be activated can be determined based on the resource information used by the application 130 recorded in the resource usage information file 201. As a result, it is possible to prevent the execution of the application 130 depending on the state of the resource, and improve the system stability of the multifunction peripheral 100. Further, even when the new applications 117 and 118 developed by the third vendor are not performing processing in consideration of the resource limit, the system can be prevented from becoming unstable due to the shortage of resources, and the system of the MFP 100 can be stabilized. Can be improved.

なお、実施の形態1にかかる複合機100では、VAS140が全てのアプリケーション130に対してリソース使用情報取得処理、アプリ起動判断処理を行っているが、図2に示したように一部のアプリに対してのみかかる処理を行うように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリにのみリソース使用情報取得処理、アプリ起動判断処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成しても良い。   In the MFP 100 according to the first embodiment, the VAS 140 performs the resource usage information acquisition process and the application activation determination process for all the applications 130. However, as illustrated in FIG. However, such a process may be performed only for this. For example, resource use information acquisition processing and application activation determination processing are performed only for apps developed by third parties such as third vendors such as new apps 117 and 118, and for existing apps such as the printer app 111 and the copy app 112 You may comprise so that such a service may not be performed.

また、上記のように初回の起動時のリソースの使用量をリソース使用情報ファイル201に記録して後の起動判断に用いる他、アプリケーションが実行されているその実行期間(起動から終了まで)の中で定期的にproc構造体を参照することによりリソースの使用量を複数回取得し、その中の平均値をリソース使用情報ファイル201に記録するようにしてもよい。また、複数回取得した中での最大値をリソース使用情報ファイル201に記録するようにしてもよい。   Further, as described above, the resource usage amount at the time of initial startup is recorded in the resource usage information file 201 and used for subsequent startup determination, and during the execution period (from startup to end) during which the application is executed The resource usage amount may be acquired a plurality of times by periodically referring to the proc structure, and the average value among them may be recorded in the resource usage information file 201. Further, the maximum value obtained a plurality of times may be recorded in the resource usage information file 201.

また、上記の実施の形態のように、初回の実行時の値を求めて記録しておくことの他、アプリケーションの実行の度に上記の平均値を求め、その平均値が前回の平均値を超えた場合にリソース使用情報ファイル201を更新するようにしてもよい。また、アプリケーションの実行の度に上記の最大値を求め、その最大値が前回の最大値を超えた場合にリソース使用情報ファイル201を更新するようにしてもよい。更に、アプリケーションの実行毎の上記平均値を別に記録しておき、これらの中の平均値をリソース使用情報ファイル201に記録するようにしてもよい。また、アプリケーションの実行毎の上記最大値を別に記録しておき、これらの中の平均値又は最大値をリソース使用情報ファイル201に記録するようにしてもよい。   In addition to obtaining and recording the value at the first execution as in the above embodiment, the above average value is obtained each time the application is executed, and the average value is the previous average value. If it exceeds, the resource usage information file 201 may be updated. Alternatively, the maximum value may be obtained every time the application is executed, and the resource usage information file 201 may be updated when the maximum value exceeds the previous maximum value. Furthermore, the average value for each execution of the application may be recorded separately, and the average value among them may be recorded in the resource usage information file 201. Alternatively, the maximum value for each execution of the application may be recorded separately, and the average value or the maximum value among them may be recorded in the resource usage information file 201.

(実施の形態2)
次に本発明の実施の形態2について説明する。実施の形態1では、VAS140がアプリケーションの起動可否を判断していたが、実施の形態2では、VAS140からリソース量に関する判定メッセージをアプリケーションが受信することにより、アプリケーションが起動の可否等を判断することも可能な構成としている。また、メモリやCPUのみでなく、複合機に接続されているユニットなどのシステム機器構成情報も取得することが可能であり、これを起動の判断に使用することが可能となっている。
(Embodiment 2)
Next, a second embodiment of the present invention will be described. In the first embodiment, the VAS 140 determines whether or not the application can be started. However, in the second embodiment, the application receives a determination message regarding the resource amount from the VAS 140, thereby determining whether or not the application can be started. Is also possible. Further, not only the memory and the CPU but also system device configuration information such as a unit connected to the multifunction peripheral can be acquired, and this can be used for determination of activation.

実施の形態2の構成は、図1、もしくは図2に示した実施の形態1の構成と同様である。また、以下説明するVAS140による処理は、図3に示したようにスレッドとして実行してもよいし、VAS140のプロセスとして実行してもよい。   The configuration of the second embodiment is the same as the configuration of the first embodiment shown in FIG. 1 or FIG. Further, the processing by the VAS 140 described below may be executed as a thread as shown in FIG. 3 or may be executed as a process of the VAS 140.

実施の形態1では、アプリの起動実績を記録したリソース使用情報ファイルをアプリケーションが使用を予定するリソース量を格納したファイルとして使用しているが、実施の形態2では、CPU使用量のように使用量が動的に変動するリソースについては実績を記録したリソース使用情報ファイルを使用し、メモリ領域のようにアプリケーションが固定的に使用するリソースについては、アプリケーションから起動時に申告される使用リソース情報を使用する。なお、この使用リソース情報は、アプリケーションの初回の起動時にVAS140がアプリケーションから(より詳細には所定のメモリ領域から)取得し、アプリケーション管理ファイルとして複合機のハードディスクに記録されるものである。なお、固定的に使用するリソースとは、アプリケーションの実行の度における使用量の変化がないか、変化が少ないリソースのことである。   In the first embodiment, the resource usage information file that records the start-up results of the application is used as a file that stores the amount of resources that the application plans to use, but in the second embodiment, it is used like the CPU usage. Use resource usage information files that record actual results for resources whose amount fluctuates dynamically, and use resource information that is declared by the application at startup for resources that are fixedly used by the application, such as memory areas. To do. This used resource information is acquired by the VAS 140 from the application (more specifically, from a predetermined memory area) when the application is started for the first time, and is recorded on the hard disk of the multifunction device as an application management file. The fixedly used resource is a resource that has no change or little change in the amount of use every time an application is executed.

図9にアプリケーション管理ファイルの内容例を示す。同図に示すように、アプリケーション名、バージョンなどの情報と、メモリやシステム機器構成を含む使用リソース情報が記録されている。また、RAM(本実施の形態では複合機のNV−RAM(nonvolatile RAM)を使用する)にアプリケーション管理ファイルのHD200における場所を示す情報が格納される。   FIG. 9 shows an example of the contents of the application management file. As shown in the figure, information such as application name and version, and used resource information including memory and system device configuration are recorded. In addition, information indicating the location of the application management file in the HD 200 is stored in the RAM (in this embodiment, the NV-RAM (nonvolatile RAM) of the multifunction peripheral is used).

図10に、新規アプリケーションに係るNV−RAMの構成例とHDの構成例を示す。なお、ここでいう新規アプリケーションとは、図1、図2におけるアプリケーション117、118に対応するものである。   FIG. 10 shows a configuration example of NV-RAM and a configuration example of HD related to a new application. Note that the new application here corresponds to the applications 117 and 118 in FIGS.

同図に示すように、NV−RAMには登録済みの新規アプリケーション毎に、アプリケーションのプロダクトID、使用NV−RAMサイズ、NV−RAMにおける使用領域の開始アドレスを示すオフセットなどが記録される。また、NV−RAMに記録されたプロダクトIDに対応してHD200に当該アプリケーション用の領域が設けられる。   As shown in the figure, for each new application that has been registered, the NV-RAM records the product ID of the application, the NV-RAM size used, the offset indicating the start address of the used area in the NV-RAM, and the like. In addition, an area for the application is provided in the HD 200 corresponding to the product ID recorded in the NV-RAM.

例えば、アプリケーション1に対応して、HD200にディレクトリが設けられ、その中に、アプリケーション1に対してシステム(VAS140)が使用する領域とアプリケーション1自身が使用する領域が設けられる。図9に示したアプリケーション管理ファイルはシステム使用領域の中に格納される。   For example, a directory is provided in the HD 200 corresponding to the application 1, and an area used by the system (VAS 140) for the application 1 and an area used by the application 1 itself are provided therein. The application management file shown in FIG. 9 is stored in the system use area.

次に、アプリケーションの起動の際に、VAS140が実行する処理を図11のフローチャートを用いて説明する。   Next, processing executed by the VAS 140 when the application is activated will be described with reference to the flowchart of FIG.

実施の形態1と同様に、アプリケーションが起動する際に、VAS140がアプリ登録要求メッセージを受信すると(ステップS801)、当該アプリケーションに対応するアプリケーション管理ファイルがあるか否かをHD200にアクセスすることにより調べる(ステップS802)。アプリケーション管理ファイルがなければ、アプリケーションから申告される情報に基づきそれを作成する(ステップS803)。なお、アプリケーション管理ファイルがあるか否かはNV−RAMにアクセスすることにより判断してもよい。   As in the first embodiment, when the VAS 140 receives an application registration request message when the application is activated (step S801), it is checked by accessing the HD 200 whether there is an application management file corresponding to the application. (Step S802). If there is no application management file, it is created based on information reported from the application (step S803). Note that whether or not there is an application management file may be determined by accessing the NV-RAM.

アプリケーション管理ファイルがあればそこから当該アプリケーションが使用する予定のリソース情報を取得する(ステップS804)。なお、アプリケーション管理ファイルを用いる代わりにアプリケーションから申告されるリソース情報を用いてもよい。また、CPU使用量(実績値)に関しては、実施の形態1で説明したような方法でCPU使用量に関するリソース使用情報ファイルを作成しておき、そこから取得する。すなわち、CPU使用量に関しては初回の起動時には判断に用いず、2回目以降の起動時に判断に用いる。なお、CPU使用量を起動の判断に用いないようにしてもよい。また、リソース使用情報ファイルの内容を、アプリケーション管理ファイルに記録するようにしてもよい。   If there is an application management file, resource information to be used by the application is acquired from the application management file (step S804). Instead of using the application management file, resource information reported from the application may be used. Further, regarding the CPU usage (actual value), a resource usage information file relating to the CPU usage is created by the method described in the first embodiment, and obtained from there. That is, the CPU usage is not used for determination at the first startup, but is used for determination at the second and subsequent startups. Note that the CPU usage amount may not be used for determination of activation. Further, the contents of the resource usage information file may be recorded in the application management file.

次に、現在の複合機100におけるリソース情報を取得する(ステップS805)。そして、メモリ容量などのリソースに関しては現在の複合機100における残容量を求めておく。そして、ステップS804にて取得した使用予定リソース量と現在のリソース量とを、使用予定リソースにおける個々のリソース毎に比較することにより、使用予定リソース量が現在のシステムリソース量を超えているか否かを調べる(ステップS806)。また、システム機器構成についてのリソース(ユニット等)については、アプリケーションが使用する予定のリソースが現在のリソースの中にあるか否かを調べる(ステップS806)。   Next, resource information in the current multifunction device 100 is acquired (step S805). For resources such as memory capacity, the remaining capacity of the current multifunction device 100 is obtained. Then, by comparing the scheduled resource amount acquired in step S804 and the current resource amount for each resource in the scheduled resource, whether the scheduled resource amount exceeds the current system resource amount or not. (Step S806). For resources (units, etc.) regarding the system device configuration, it is checked whether or not the resource scheduled to be used by the application is in the current resource (step S806).

使用予定リソース量が現在のシステムリソース量を超えてらず、かつ、不足しているシステム機器構成リソースがない場合には、アプリケーションの起動を継続する(ステップS807)。使用予定リソース量が現在のシステムリソース量を超えているリソースがある場合、もしくは、不足しているシステム機器構成リソースがある場合、リソース判定結果通知メッセージをアプリケーションに対して送信する(ステップS808)。このメッセージの内容に基づき、アプリケーションは起動を継続するか否かの判断を行う。なお、本実施の形態ではリソース判定結果通知メッセージは、使用予定リソース毎に、アプリケーションが必要とするシステム機器構成(ユニットなど)上のリソースについては当該リソースの有無(有りの場合OK、無しの場合NG)、また、メモリ領域などのリソースについては使用予定リソース量が現在のシステムリソース量を超えていなければOK、超えていればNGを示す情報が含まれる。   If the scheduled resource amount does not exceed the current system resource amount and there is no insufficient system device configuration resource, the activation of the application is continued (step S807). If there is a resource whose scheduled resource amount exceeds the current system resource amount, or if there is an insufficient system device configuration resource, a resource determination result notification message is transmitted to the application (step S808). Based on the content of this message, the application determines whether to continue activation. In the present embodiment, the resource determination result notification message is displayed for each scheduled resource to be used for the resource on the system device configuration (unit, etc.) required by the application. NG), and for resources such as memory areas, information indicating OK is included if the scheduled resource amount does not exceed the current system resource amount, and NG is included if it exceeds.

次に、リソース判定結果通知メッセージを受信したアプリケーションの動作について図12を参照して説明する。   Next, the operation of the application that has received the resource determination result notification message will be described with reference to FIG.

VAS140からリソース判定結果通知メッセージを受信すると(ステップS901)、メッセージに含まれる最初のリソースについて、当該リソースがNG判定か否かをチェックする(ステップS902)。   When a resource determination result notification message is received from the VAS 140 (step S901), it is checked whether or not the resource is NG determination for the first resource included in the message (step S902).

NG判定でなければ次のリソースがあるか否かをチェックして(ステップS903)、あれば次のリソースについてのチェックを行う。ステップS902でNG判定であれば、当該リソースに関する制限モードがあれば当該リソースに関する使用不可フラグをアプリケーションに設定する(ステップS904のYES、ステップS905)。なお、制限モードとしては、一部のシステム機器構成における機器などを使用しないこと、もしくは、所定のメモリ領域の使用量を削減することなどがあるが、図12に示す例は、対象のリソースを使用しない場合について示している。   If it is not NG determination, it is checked whether or not there is a next resource (step S903). If there is, the next resource is checked. If it is NG determination in step S902, if there is a restriction mode related to the resource, an unusable flag related to the resource is set in the application (YES in step S904, step S905). Note that the restricted mode includes not using a device in a part of the system device configuration, or reducing the amount of use of a predetermined memory area, but the example shown in FIG. It shows the case when it is not used.

この場合、アプリケーションが操作パネル上に当該リソースがNG判定であることを表示し、制限モードでの動作を許容するか否かをユーザに問い合わせ、ユーザが制限モードでの動作を許容する場合のみ制限付きで起動を続行するようにしてもよい。   In this case, the application displays on the operation panel that the resource is NG judgment, asks the user whether to allow the operation in the restricted mode, and is restricted only when the user allows the operation in the restricted mode. You may be allowed to continue booting.

また、CPUパワーが不足しているとの判定結果に対しては、その旨を操作パネルに表示し、動作が遅くなることを許容するか否かをユーザに問い合わせ、許容する場合に起動を継続するといった処理も可能である。   In addition, for the determination result that the CPU power is insufficient, the fact is displayed on the operation panel, the user is inquired whether or not the operation is allowed to be delayed, and the activation is continued when the operation is allowed. It is also possible to perform such processing.

ステップS903において次のリソース情報がない場合には、アプリケーションの起動を継続するか、もしくは制限付き起動手続きを行う(ステップS906)。   If there is no next resource information in step S903, the activation of the application is continued or a restricted activation procedure is performed (step S906).

ステップS904において制限動作モードがない場合には、アプリケーション起動終了手続きを行う(ステップS907)。図13を用いてこの処理の手順について説明する。   If there is no restricted operation mode in step S904, an application activation end procedure is performed (step S907). The procedure of this process will be described with reference to FIG.

まず、操作部表示に関するリソースを開放する(ステップS1001)。そして、これまでに確保したメモリを開放し(ステップS1002)、VAS140に対してアプリケーション登録抹消要求を行う(ステップS1003)。次に、プロセス間通信の停止処理を行い(ステップS1004)、システムコールによる自プロセスの終了を行う(ステップS1005)。なお、必要に応じて上記の処理の前に、使用者への通知、スキャナ、プロッタの解放、ネットワークリソースの解放を行う。   First, resources related to the operation unit display are released (step S1001). Then, the memory secured so far is released (step S1002), and an application registration deletion request is made to the VAS 140 (step S1003). Next, inter-process communication stop processing is performed (step S1004), and the own process is terminated by a system call (step S1005). Note that notification to the user, release of the scanner and plotter, and release of network resources are performed before the above processing as necessary.

なお、図11に示したステップS806において、使用予定リソース量が現在のシステムリソース量を超えているリソースがある場合であって、当該リソースがアプリケーションにとって必須の固定的に使用するメモリ領域(テキストメモリ領域、ヒープ領域、スタック領域)である場合には、VAS140が当該アプリケーションは起動できないことを判断し、上記のリソース判定結果通知メッセージとして起動停止要求をアプリケーションに送信するようにしてもよい。この場合、アプリケーションはすぐに図13に示した処理を実行する。また、VAS140が、アプリケーションが制限付き起動をするかどうかを判断し、制限付き起動が可能と判断した場合には、その旨をアプリケーションに通知してもよい。この場合、VAS140がユーザに制限付き起動を問い合わせるようにすることができる。   Note that, in step S806 shown in FIG. 11, there is a resource in which the scheduled resource amount exceeds the current system resource amount, and the resource is a fixedly used memory area (text memory) that is essential for the application. Area, heap area, stack area), the VAS 140 may determine that the application cannot be started, and may send a start stop request to the application as the resource determination result notification message. In this case, the application immediately executes the process shown in FIG. In addition, when the VAS 140 determines whether or not the application is activated with a restriction, and determines that the restricted activation is possible, the VAS 140 may notify the application to that effect. In this case, the VAS 140 can ask the user for restricted activation.

上記のように起動の判断におけるリソース情報として、図9の「システム構成関連」として示したシステム機器構成に関する情報も用いることにより、例えば、パンチやステープル機能を有する機器が複合機100に実装されていなければ使用できないアプリケーションを、そのような機器が複合機に取り付けられていないないにもかかわらず起動するといった無駄な起動を抑制できる。   As described above, by using the information about the system device configuration shown as “system configuration related” in FIG. 9 as the resource information in the activation determination, for example, a device having a punching or stapling function is mounted on the multifunction device 100. It is possible to suppress useless activation such that an application that cannot be used without it is activated even if such a device is not attached to the multifunction peripheral.

また、起動の判断に上記の情報に加えて機種情報を用いても良い。これにより、機種、モデルによる機能の差異に起因する機能不全や動作不良を抑制することが可能となる。   In addition to the above information, model information may be used for determination of activation. This makes it possible to suppress malfunctions and malfunctions caused by functional differences between models and models.

なお、図11のフローにおいて、VAS140が、アプリケーションが使用を予定しているリソース情報の取得(ステップS804)を行わずに、アプリケーションに現状の機器構成情報と残存リソース量をそのままリソース判定結果通知メッセージとして送信し、アプリケーション側で必要リソースの判断を行うようにしてもよい。この場合、アプリケーションが保持する使用予定リソースを一つ一つリソース判定結果メッセージにおけるリソースと比較し、使用予定リソースの有無を判定し、起動の判断をアプリケーションが行う。   In the flow of FIG. 11, the VAS 140 does not acquire the resource information that the application is scheduled to use (step S804), and the current device configuration information and the remaining resource amount are directly sent to the application as a resource determination result notification message. And the necessary resource may be determined on the application side. In this case, the application-scheduled resources held by the application are compared with the resources in the resource determination result message one by one, the presence / absence of the use-scheduled resource is determined, and the application determines whether to start.

また、図11に示す処理は、アプリケーションの起動時毎に行ってもよいし、当該アプリケーションのインストール時のみに行う事もできる。   Further, the process shown in FIG. 11 may be performed every time the application is activated, or may be performed only when the application is installed.

次に、図11のステップS805におけるVAS140による現在のリソース情報の取得手順について説明する。   Next, the current resource information acquisition procedure by the VAS 140 in step S805 in FIG. 11 will be described.

現在の複合機100のリソース情報の取得においては、システム機器構成に関する情報とメモリ領域等のシステムリソース量を取得する。ステップS805の処理手順を説明する前にシステム機器構成情報取得について説明する。   In acquiring the current resource information of the multifunction peripheral 100, information on the system device configuration and the system resource amount such as a memory area are acquired. Prior to describing the processing procedure of step S805, acquisition of system device configuration information will be described.

システム機器構成情報は、コントロールサービス層のサービスモジュール(以下、例としてSCS122がシステム機器構成情報を取得する場合について説明する)が取得してシステム機器構成情報構造体に格納する。図14のフローチャートを参照してSCS122がシステム機器構成情報を取得する場合の手順について説明する。   The system device configuration information is acquired by the service module of the control service layer (hereinafter, the case where the SCS 122 acquires the system device configuration information will be described as an example) and stored in the system device configuration information structure. A procedure when the SCS 122 acquires system device configuration information will be described with reference to the flowchart of FIG.

複合機100の主電源が投入されると(ステップS1101)、SCS122は複合機100の各ユニット接続センサ及び各ユニットから機器構成情報の通知を受ける(ステップS1102)。SCS122は通知されたシステム機器構成情報をシステム機器構成情報構造体に格納する(ステップS1103)。システム機器構成情報構造体の構成例を図15に示す。すなわち、図15に示す項目の情報をSCS122が取得し、システム機器構成情報構造体に格納する。   When the main power supply of the multifunction device 100 is turned on (step S1101), the SCS 122 receives notification of device configuration information from each unit connection sensor and each unit of the multifunction device 100 (step S1102). The SCS 122 stores the notified system device configuration information in the system device configuration information structure (step S1103). A configuration example of the system device configuration information structure is shown in FIG. That is, the SCS 122 acquires information on items illustrated in FIG. 15 and stores the information in the system device configuration information structure.

その後、システム機器構成情報構造体を共有メモリ上(物理的にはRAM上)に配置し(ステップS1104)、SCS122に対して登録要求を行ったサービスモジュールやアプリケーションに対して、システム機器構成情報を取得したことを示すシステム機器構成情報通知メッセージを発行する(ステップS1105)。例えば、VAS140が起動されるときにシステム機器構成情報通知メッセージがSCS122からVAS140に通知される。   Thereafter, the system device configuration information structure is placed on the shared memory (physically on the RAM) (step S1104), and the system device configuration information is sent to the service module or application that has made a registration request to the SCS 122. A system device configuration information notification message indicating acquisition is issued (step S1105). For example, when the VAS 140 is activated, a system device configuration information notification message is notified from the SCS 122 to the VAS 140.

上記のようにしてシステム機器構成情報構造体が共有メモリ上に配置されることにより他のモジュール(VASなど)がシステム機器構成情報構造体にアクセスしてシステム機器構成情報を取得することが可能となる。   Since the system device configuration information structure is arranged on the shared memory as described above, other modules (such as VAS) can access the system device configuration information structure and acquire the system device configuration information. Become.

次に、図16を参照して、図11のステップS805におけるVAS140による現在のリソース情報の取得の処理手順について説明する。   Next, a processing procedure for acquiring current resource information by the VAS 140 in step S805 of FIG. 11 will be described with reference to FIG.

まず、VAS140はシステム機器構成情報通知メッセージを受信済みか否かをチェックする(ステップS1201)。受信済みでなければ所定の時間間隔で受信済みか否かのチェックを繰り返す。なお、所定の時間経過してもシステム機器構成情報通知受信を確認できない場合にはタイムアウトとなりシステムエラーとなる。   First, the VAS 140 checks whether or not the system device configuration information notification message has been received (step S1201). If not received, the check of whether or not it has been received is repeated at predetermined time intervals. If the system device configuration information notification reception cannot be confirmed even after a predetermined time has elapsed, a timeout occurs and a system error occurs.

システム機器構成情報通知メッセージを受信済みである場合には、システム機器構成情報構造体にアクセスすることによりシステム機器構成情報を取得する(ステップS1202)。続いて、proc構造体にアクセスすることによりシステムリソース量(メモリ領域など)を取得する(ステップS1203)。   If the system device configuration information notification message has been received, the system device configuration information is acquired by accessing the system device configuration information structure (step S1202). Subsequently, the system resource amount (memory area or the like) is acquired by accessing the proc structure (step S1203).

以上の処理により、使用予定リソースとの比較のために使用する現状のリソース情報を取得することが可能となる。   Through the above processing, it is possible to acquire current resource information used for comparison with the scheduled resource.

(実施の形態3)
実施の形態1、2においては使用予定リソースとの比較のために、メモリ領域などの現在のリソース使用量をproc構造体から取得していたが、実施の形態3では、現在のリソース使用量を取得せず、予め新規アプリケーション用にリソースを割り当てておく。そして、割り当てたリソース量と、新規アプリケーションが使用しようとするリソース量とを比較して起動の判断を行うようにする。なお、予め割り当てたリソース量は例えばアプリケーション管理ファイルに記録しておく。
(Embodiment 3)
In the first and second embodiments, the current resource usage such as a memory area is obtained from the proc structure for comparison with the scheduled resource, but in the third embodiment, the current resource usage is Instead of acquiring resources, resources are allocated for new applications in advance. The allocated resource amount is compared with the resource amount to be used by the new application, and the activation is determined. The resource amount allocated in advance is recorded in, for example, an application management file.

すなわち、例えば、実施の形態1の図8のフローにおいて、現状のリソース使用量を取得する(ステップS703)代わりに、予め割り当てておいたリソース量を例えばアプリケーション管理ファイルから取得する。そして、そのリソース量とアプリケーションが使用するリソース量とを比較して起動の判断を行う。   That is, for example, in the flow of FIG. 8 of the first embodiment, instead of acquiring the current resource usage (step S703), the previously allocated resource amount is acquired from, for example, the application management file. Then, the activation amount is determined by comparing the resource amount with the resource amount used by the application.

なお、複数の新規アプリケーションが起動される場合には、複数の新規アプリケーションに対してまとめて所定のリソース量を割り当ててもよいし、起動される可能性のある新規アプリケーション個々に対してそれぞれのリソース量を割り当ててもよい。   In addition, when a plurality of new applications are started, a predetermined resource amount may be allocated to the plurality of new applications at once, or each resource may be assigned to each new application that may be started. An amount may be assigned.

前者の場合、まず1つの新規アプリケーションが起動したら、割り当てられたリソース総量から当該新規アプリケーションが使用を予定しているリソース量を減じ、次に起動した新規アプリケーションについては減じた結果のリソース量と使用予定リソース量とを比較して起動に関する判断を行う。これ以降に起動する新規アプリケーションについても同様である。   In the former case, when one new application is started, the resource amount that the new application is scheduled to use is subtracted from the allocated total resource amount. Compare the scheduled resource amount and make a decision on startup. The same applies to new applications that are started thereafter.

また、後者の場合には、例えば新規アプリケーションが使用する予定のリソース量を調べてその量を割り当てる。また、複数の新規アプリケーションに対して等分に割り当ててもよい。   In the latter case, for example, the amount of resources scheduled to be used by the new application is checked and assigned. Moreover, you may allocate equally with respect to several new applications.

上記の方法は、メモリ領域のようにアプリケーションが固定的に必要とするリソースに対して有効である。CPU使用量等予め割り当てができないリソースについては、判断に用いないか、実施の形態1、2の方法を用いて判断を行う。   The above method is effective for a resource that is fixedly required by an application, such as a memory area. Resources that cannot be allocated in advance, such as CPU usage, are not used for determination, or are determined using the methods of the first and second embodiments.

(実施の形態4)
実施の形態1にかかる複合機100は、VAS140が全アプリケーションに対して1つのみ存在するものであったが、この実施の形態4にかかる複合機では、各アプリごとに一つのVASが起動し、各VASは対応するアプリに対してのみリソース使用情報取得およびアプリ起動判断を行うものである。また、実施の形態4では実施の形態1の動作を例にとり説明するが、実施の形態2、3についてもVASの構成を実施の形態4のような構成にすることができる。
(Embodiment 4)
The MFP 100 according to the first embodiment has only one VAS 140 for all applications. However, in the MFP according to the fourth embodiment, one VAS is activated for each application. Each VAS performs resource usage information acquisition and application activation determination only for the corresponding application. In the fourth embodiment, the operation of the first embodiment will be described as an example. However, the VAS can be configured as in the fourth embodiment also in the second and third embodiments.

図17は、実施の形態4にかかる複合機800の構成を示すブロック図である。図17に示すように、複合機800では、複数の仮想アプリケーションサービス(VAS)841〜848がアプリケーション130の各アプリごとに動作している点が、実施の形態1にかかる複合機100と異なっている。   FIG. 17 is a block diagram illustrating a configuration of a multifunction machine 800 according to the fourth embodiment. As illustrated in FIG. 17, the MFP 800 is different from the MFP 100 according to the first embodiment in that a plurality of virtual application services (VAS) 841 to 848 operate for each application of the application 130. Yes.

VAS841〜848は、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、新規アプリ117および118に対応して、リソース使用情報取得処理およびアプリ起動判断処理を行うようになっている。なお、図18に示すように、新規アプリケーションに対してのみVASを備えるようにしてもよい。   The VAS 841 to 848 correspond to the printer application 111, the copy application 112, the fax application 113, the scanner application 114, the net file application 115, the process inspection application 116, and the new applications 117 and 118, and resource use information acquisition processing and application activation determination. Processing is to be performed. In addition, as shown in FIG. 18, you may make it provide VAS only with respect to a new application.

図19は、実施の形態4にかかる複合機800のVAS841〜848の構成と、VAS841〜848と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図17では、アプリケーション130として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118の例を示し、更にこれら各アプリに対応したVAS841,842,847および848を例として示しているが、他のアプリの場合も同様の構成である。   FIG. 19 is a block diagram illustrating the configuration of the VASs 841 to 848 of the multi-function device 800 according to the fourth embodiment and the relationship between the VASs 841 to 848 and each application, the control service layer 150, and the general-purpose OS 121. In FIG. 17, examples of the application 130 include a printer application 111, a copy application 112, and new applications 117, 118, and VAS 841, 842, 847, and 848 corresponding to these applications. The configuration is the same for other apps.

また、実施の形態4にかかる複合機800では、実施の形態1の複合機100と異なり、図19に示すように、各VAS841〜848と各アプリとの間にはVAS制御プロセス(デーモン)801が動作している。   Further, in the multifunction device 800 according to the fourth embodiment, unlike the multifunction device 100 according to the first embodiment, as shown in FIG. 19, there is a VAS control process (daemon) 801 between each VAS 841 -848 and each application. Is working.

このVAS制御プロセス(デーモン)801は、各アプリからアプリ登録要求メッセージを受信してアプリ登録処理を行うとともに、アプリ登録要求を行ったアプリに対応したVAS841〜848を生成する。また、VAS制御プロセス801は、HD200に格納されたリソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリについて、リソース使用情報が記録されているか否かをチェックすることにより、アプリの起動が初回の起動か2回目以降の起動かを判断する。そして、初回の起動である場合にはアプリに対応するVAS841〜848に対してアプリID、アプリのプロセスIDとともにリソース使用情報取得処理要求を行い、2回目以降の起動である場合にはアプリに対応するVAS841〜848に対してアプリID、アプリのプロセスIDとともにアプリ起動判断処理要求を行うようになっている。   The VAS control process (daemon) 801 receives an application registration request message from each application, performs application registration processing, and generates VASs 841 to 848 corresponding to the application that has made the application registration request. In addition, the VAS control process 801 refers to the resource usage information file 201 stored in the HD 200 and checks whether or not the resource usage information is recorded for the application that has made the application registration request. It is determined whether the activation is the first activation or the second activation or later. If it is the first activation, a resource usage information acquisition process request is made to the VAS 841 to 848 corresponding to the application together with the application ID and the process ID of the application, and if it is the second activation or later, the application is supported. The application activation determination processing request is made to the VASs 841 to 848 to be performed together with the application ID and the application process ID.

仮想アプリケーションサービス(VAS)841〜848のプロセスには、ディスパッチャ144と、リソース使用情報取得スレッド141と、アプリ起動判断スレッド142とが動作している。   In the processes of the virtual application service (VAS) 841 to 848, a dispatcher 144, a resource usage information acquisition thread 141, and an application activation determination thread 142 are operating.

ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じてリソース使用情報取得スレッド141、アプリ起動判断スレッド142に処理要求を行うものである。実施の形態2の複合機800では、ディスパッチャ144は、VAS制御プロセス801から、アプリID、アプリのプロセスIDとともに、リソース使用情報取得処理要求メッセージまたはアプリ起動判断処理要求メッセージを受信するようになっている。ディスパッチャ144は、リソース使用情報取得処理要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したリソース使用情報取得処理要求メッセージをリソース使用情報取得スレッド141に送信し、アプリ起動判断要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したアプリ起動判断要求メッセージをアプリ起動判断スレッド142に送信するようになっている。   The dispatcher 144 monitors message reception from the application 130 and the control service, and makes a processing request to the resource usage information acquisition thread 141 and the application activation determination thread 142 according to the received message. In the MFP 800 according to the second embodiment, the dispatcher 144 receives a resource usage information acquisition process request message or an application activation determination process request message from the VAS control process 801 together with the application ID and the process ID of the application. Yes. When the dispatcher 144 receives the resource usage information acquisition processing request message, the dispatcher 144 transmits the received resource usage information acquisition processing request message together with the application ID and the process ID of the application to the resource usage information acquisition thread 141, and sends an application activation determination request message. When received, the application activation determination request message received together with the application ID and the process ID of the application is transmitted to the application activation determination thread 142.

リソース使用情報取得スレッド141は、ディスパッチャ144からのリソース使用情報取得要求メッセージを受信すると、実施の形態1におけるVAS140と同様に、アプリ起動に必要なリソースの情報を取得してリソース使用情報ファイル201をハードディスク(HD)200に生成する。   When the resource usage information acquisition thread 141 receives the resource usage information acquisition request message from the dispatcher 144, the resource usage information acquisition thread 141 acquires the resource usage information file 201 by acquiring the resource information necessary for starting the application, as in the VAS 140 in the first embodiment. It is generated in the hard disk (HD) 200.

アプリ起動判断スレッド142は、ディスパッチャ144からのアプリ起動判断要求メッセージを受信すると、実施の形態1におけるVAS140と同様に、リソース使用情報ファイル201を参照して、アプリ起動判断処理を行う。   When the application activation determination thread 142 receives the application activation determination request message from the dispatcher 144, the application activation determination thread 142 performs an application activation determination process with reference to the resource usage information file 201 as in the VAS 140 in the first embodiment.

実施の形態4の複合機800におけるVAS841〜848のリソース使用情報取得スレッド141によって実行されるリソース使用情報取得処理、およびアプリ起動判断スレッド142によって実行されるアプリ起動判断処理については、実施の形態1の複合機100におけるVAS140の各スレッドによる処理と同様である。   The resource usage information acquisition process executed by the resource usage information acquisition thread 141 of the VASs 841 to 848 and the application startup determination process executed by the application startup determination thread 142 in the MFP 800 of the fourth embodiment are described in the first embodiment. This is the same as the processing by each thread of the VAS 140 in the MFP 100.

このように実施の形態4にかかる複合機800によれば、実施の形態1にかかる複合機100と同様に、複合機800のシステムの安定性を向上させることができる。   As described above, according to the multi-function device 800 according to the fourth embodiment, the stability of the system of the multi-function device 800 can be improved similarly to the multi-function device 100 according to the first embodiment.

また、実施の形態4にかかる複合機800では、VAS841〜848は起動されるアプリケーション130ごとに別個に起動されるので、複数のアプリケーション130の起動判断処理を、各アプリケーション130に対応するVAS841〜848で並列に実行することができ、アプリケーションの起動判断処理を効率的に行うことができる。   In the multi-function device 800 according to the fourth embodiment, since the VASs 841 to 848 are activated separately for each activated application 130, the activation determination processing of the plurality of applications 130 is performed in accordance with the VAS 841 to 848 corresponding to each application 130. Can be executed in parallel, and application activation determination processing can be performed efficiently.

なお、実施の形態4にかかる複合機800では、全てのアプリごとに別個にVAS841〜848を起動していたが、図18に示したように一部のアプリに対してのみVASを起動するように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリに対してのみVAS847,848を起動してリソース使用情報の取得処理やアプリ起動判断処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成することができる。   In the MFP 800 according to the fourth embodiment, the VASs 841 to 848 are activated separately for all the applications. However, as shown in FIG. 18, only the limited applications are activated. You may comprise. For example, the VAS 847 and 848 are activated only for an application developed by a third party such as a third vendor such as the new applications 117 and 118, the resource usage information acquisition process and the application activation determination process are performed, and the printer application 111 and the copy application It can be configured not to perform such a service for existing applications such as 112.

また、実施の形態1および4にかかる複合機100,800では、リソースとして、テキストメモリ領域、ヒープ領域、スタック領域、CPU占有時間、CPU稼働率を利用してリソース使用情報取得およびアプリ起動判断を行っていたが、かかるリソースは一例であり、他のリソースを利用した構成としても良い。   Further, in the MFPs 100 and 800 according to the first and fourth embodiments, resource usage information acquisition and application activation determination are performed using the text memory area, heap area, stack area, CPU occupation time, and CPU operation rate as resources. However, such resources are merely examples, and other resources may be used.

また、VASに構成として上記の構成の他、図20(a)〜(c)に示す構成のようにすることもできる。   In addition to the above configuration, the VAS can be configured as shown in FIGS. 20 (a) to 20 (c).

図20(a)は、各アプリケーションに対して起動されるVASを、親VASの子プロセスとする場合であり、親VAS自体は画面制御権(ユーザインターフェース)を持たない。図20(b)は、親VAS自体は画面制御権(ユーザインターフェース)を持つ場合である。図20(c)は、各アプリケーションに対応するVASの機能をスレッドとして提供する場合を示している。   FIG. 20A shows a case where the VAS activated for each application is a child process of the parent VAS, and the parent VAS itself does not have a screen control right (user interface). FIG. 20B shows a case where the parent VAS itself has a screen control right (user interface). FIG. 20C shows a case where the VAS function corresponding to each application is provided as a thread.

なお、本明細書で説明した画像形成装置等の構成は例えば次のようにまとめることができる。   The configuration of the image forming apparatus and the like described in this specification can be summarized as follows, for example.

(構成1)
アプリケーションを実行させるためのリソースを備えた装置であって、
前記アプリケーションの実行中に、該アプリケーションが使用するリソースに関するリソース情報を取得し、該リソース情報を記憶装置に格納する取得手段を有することを特徴とする装置。
(Configuration 1)
A device with resources for running an application,
An apparatus comprising: an acquisition unit configured to acquire resource information about a resource used by the application during execution of the application and store the resource information in a storage device.

本構成によれば、アプリケーションが実行されている際に、そのアプリケーションが使用するリソースに関する情報を取得するので、例えば、アプリケーションの起動判断のための的確な情報を取得することができる。   According to this configuration, when the application is being executed, information on the resource used by the application is acquired, and therefore, for example, accurate information for determining whether to start the application can be acquired.

(構成2)
前記取得手段は、前記アプリケーションが使用するリソースの使用量を定期的に取得し、定期的に取得した使用量に基づき前記リソース情報を生成し、該リソース情報を格納する構成1に記載の装置。
(Configuration 2)
The apparatus according to configuration 1, wherein the acquisition unit periodically acquires a usage amount of a resource used by the application, generates the resource information based on the usage amount acquired periodically, and stores the resource information.

(構成3)
前記リソース情報は、定期的に取得した使用量の平均値又は最大値である構成2に記載の装置。
(Configuration 3)
The apparatus according to the second configuration, wherein the resource information is an average value or a maximum value of a usage amount acquired periodically.

(構成4)
前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記リソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる構成3に記載の装置。
(Configuration 4)
The average value or maximum value in the period from the start to the end of the application is recorded every time from the start to the end,
The configuration 3 uses an average value or a maximum value of a plurality of average values recorded every time from start to end, or an average value or a maximum value of a plurality of maximum values recorded every time from the start to the end as the resource information. Equipment.

上記の構成によれば、定期的に取得した複数の値を用いるので、1回だけ取得した値に比べてリソースの使用量として妥当な値を取得することができる。   According to said structure, since the several value acquired regularly is used, compared with the value acquired only once, a reasonable value can be acquired as a resource usage.

(構成5)
前記取得手段は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションが使用するリソースに関する情報を前記リソース情報として取得することを特徴とする構成1ないし4のうちいずれか1項に記載の装置。本構成によれば、効率的にリソース情報を取得できる。
(Configuration 5)
Any one of configurations 1 to 4, wherein the acquisition unit acquires, as the resource information, information related to a resource used by the application from system information holding information related to a resource used by a process in the device. The device according to item. According to this configuration, resource information can be acquired efficiently.

(構成6)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成1に記載の装置。
(Configuration 6)
The device is an embedded device that provides a service with pre-installed software,
The apparatus according to Configuration 1, wherein the application to be executed is an application installed in the apparatus separately from the preinstalled software.

本構成によれば、リソース情報を用いることにより、組み込み装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。   According to this configuration, by using the resource information, it is possible to make a start determination according to the resource amount when an application is added to the embedded device.

(構成7)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する構成6に記載の装置。
(Configuration 7)
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to control of the hardware resources to a plurality of applications in common;
A virtual application service unit that operates as a client process that uses the control service unit as a server and that operates as a server process that uses the application as a client;
The virtual application service unit is an apparatus according to Configuration 6, comprising the acquisition unit.

本構成によれば、リソース情報を用いることにより、画像形成装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。   According to this configuration, by using the resource information, it is possible to make a start determination according to the resource amount when an application is added to the image forming apparatus.

(構成8)
アプリケーションを実行させるためのリソースを備えた装置であって、
前記装置に取り付けられた前記リソースとしての各機器から機器構成情報を受信し、該機器構成情報を記憶装置に格納する手段を有することを特徴とする装置。
(Configuration 8)
A device with resources for running an application,
An apparatus comprising: means for receiving device configuration information from each device as the resource attached to the device and storing the device configuration information in a storage device.

本構成によれば、前記装置の機器構成情報を取得することが可能となる。   According to this configuration, it is possible to acquire device configuration information of the device.

(構成9)
前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信する手段を有する構成8に記載の装置。
(Configuration 9)
9. The device according to configuration 8, further comprising means for transmitting a message for notifying that the device configuration information has been stored to a software module executed in the device.

本構成によれば、前記装置において実行されるソフトウエアモジュールが機器構成情報が格納されていることを認識できる。そして、ソフトウエアモジュールが上記記憶装置にアクセスすることにより機器構成情報を取得できる。   According to this configuration, it is possible to recognize that the software module executed in the apparatus stores the device configuration information. The device configuration information can be acquired by the software module accessing the storage device.

(構成10)
アプリケーションを実行させるためのリソースを備えた装置であって、
アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルと、
該アプリケーションが起動する際に、該アプリケーションが使用する予定のリソースに関する情報を前記アプリケーション管理ファイルから取得する取得手段と
を有することを特徴とする装置。
(Configuration 10)
A device with resources for running an application,
An application management file containing information about the resources used by the application;
An acquisition unit configured to acquire, from the application management file, information related to a resource scheduled to be used by the application when the application is activated;

本構成によれば、アプリケーション管理ファイルにアクセスするだけでリソースに関する情報を取得できるようになる。   According to this configuration, it is possible to acquire information about resources simply by accessing the application management file.

(構成11)
前記アプリケーション管理ファイルは、メモリ関連の情報と、前記装置の機器構成に関する情報とを含む構成10に記載の装置。
(Configuration 11)
The device according to Configuration 10, wherein the application management file includes information related to memory and information related to a device configuration of the device.

本構成によれば、アプリケーション管理ファイルにアクセスするだけでメモリ関連の情報と、前記装置の機器構成に関する情報とを取得できるようになる。   According to this configuration, it is possible to acquire memory-related information and information related to the device configuration of the device simply by accessing the application management file.

(構成12)
アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを更に有し、
該アプリケーションが起動する際に、該アプリケーションが固定的に使用するリソースに関する情報を前記アプリケーション管理ファイルから取得する構成1に記載の装置。本構成によれば、アプリケーションが固定的に使用するリソースを効率的に取得できる。
(Configuration 12)
An application management file containing information about the resources used by the application;
The apparatus according to Configuration 1, wherein when the application is activated, information related to resources fixedly used by the application is acquired from the application management file. According to this configuration, it is possible to efficiently acquire resources that are used in a fixed manner by an application.

(構成13)
前記アプリケーション管理ファイルにおける前記リソースに関する情報は、前記アプリケーションの起動時に該アプリケーションから取得される情報である構成10に記載の装置。
(Configuration 13)
The apparatus according to configuration 10, wherein the information related to the resource in the application management file is information acquired from the application when the application is activated.

(構成14)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成10に記載の装置。
(Configuration 14)
The device is an embedded device that provides a service with pre-installed software,
The apparatus according to Configuration 10, wherein the application to be executed is an application installed in the apparatus separately from the preinstalled software.

(構成15)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する構成14に記載の装置。
(Configuration 15)
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to control of the hardware resources to a plurality of applications in common;
A virtual application service unit that operates as a client process that uses the control service unit as a server and that operates as a server process that uses the application as a client;
15. The apparatus according to configuration 14, wherein the virtual application service unit includes the acquisition unit.

(構成16)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記アプリケーションの実行中に、該アプリケーションが使用するリソースに関するリソース情報を取得し、該リソース情報を記憶装置に格納する取得ステップを有することを特徴とする方法。
(Configuration 16)
A processing method in an apparatus having resources for executing an application,
A method comprising: acquiring resource information about a resource used by the application during execution of the application, and storing the resource information in a storage device.

(構成17)
前記取得ステップにおいて、前記装置は、前記アプリケーションが使用するリソースの使用量を定期的に取得し、定期的に取得した使用量に基づき前記リソース情報を生成し、該リソース情報を格納する構成16に記載の方法。
(Configuration 17)
In the acquiring step, the device periodically acquires the usage amount of the resource used by the application, generates the resource information based on the periodically acquired usage amount, and stores the resource information. The method described.

(構成18)
前記リソース情報は、定期的に取得した使用量の平均値又は最大値である構成17に記載の方法。
(Configuration 18)
The method according to the configuration 17, wherein the resource information is an average value or a maximum value of a usage amount acquired periodically.

(構成19)
前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記リソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる構成18に記載の方法。
(Configuration 19)
The average value or maximum value in the period from the start to the end of the application is recorded every time from the start to the end,
The configuration 18 uses an average value or a maximum value of a plurality of average values recorded every time from start to end, or an average value or a maximum value of a plurality of maximum values recorded every time from the start to the end as the resource information. the method of.

(構成20)
前記取得ステップにおいて、前記装置は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションが使用するリソースに関する情報を前記リソース情報として取得することを特徴とする構成16ないし19のうちいずれか1項に記載の方法。
(Configuration 20)
In the obtaining step, the device obtains information on a resource used by the application as the resource information from system information holding information on a resource used by a process in the device. The method of any one of them.

(構成21)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成16に記載の方法。
(Configuration 21)
The device is an embedded device that provides a service with pre-installed software,
The method according to the configuration 16, wherein the application to be executed is an application installed in the device separately from the preinstalled software.

(構成22)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得ステップを実行する構成21に記載の方法。
(Configuration 22)
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to control of the hardware resources to a plurality of applications in common;
A virtual application service unit that operates as a client process using the control service unit as a server and operates as a server process using the application as a client;
The method according to configuration 21, wherein the virtual application service unit executes the acquisition step.

(構成23)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記装置に取り付けられた前記リソースとしての各機器から機器構成情報を受信し、該機器構成情報を記憶装置に格納するステップを有することを特徴とする方法。
(Configuration 23)
A processing method in an apparatus having resources for executing an application,
A method comprising: receiving device configuration information from each device as the resource attached to the device, and storing the device configuration information in a storage device.

(構成24)
前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信するステップを更に有する構成23に記載の方法。
(Configuration 24)
24. The method according to configuration 23, further comprising the step of transmitting a message for notifying that the device configuration information has been stored to a software module executed in the apparatus.

(構成25)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記装置は、アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを有し、
該アプリケーションが起動する際に、該アプリケーションが使用する予定のリソースに関する情報を前記アプリケーション管理ファイルから取得する取得ステップを有することを特徴とする方法。
(Configuration 25)
A processing method in an apparatus having resources for executing an application,
The device has an application management file containing information about resources used by the application,
A method comprising the step of obtaining, from the application management file, information related to a resource to be used by the application when the application is activated.

(構成26)
前記アプリケーション管理ファイルは、メモリ関連の情報と、前記装置の機器構成に関する情報とを含む構成25に記載の方法。
(Configuration 26)
26. The method of configuration 25, wherein the application management file includes memory related information and information related to a device configuration of the device.

(構成27)
前記装置はアプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを更に有し、
該アプリケーションが起動する際に、該アプリケーションが固定的に使用するリソースに関する情報を前記アプリケーション管理ファイルから取得する構成16に記載の方法。
(Configuration 27)
The apparatus further comprises an application management file that includes information about resources used by the application,
The method according to the configuration 16, wherein when the application is activated, information on a resource fixedly used by the application is acquired from the application management file.

(構成28)
前記アプリケーション管理ファイルにおける前記リソースに関する情報は、前記アプリケーションの起動時に該アプリケーションから取得される情報である構成25に記載の方法。
(Configuration 28)
26. The method according to configuration 25, wherein the information on the resource in the application management file is information acquired from the application when the application is activated.

(構成29)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成25に記載の方法。
(Configuration 29)
The device is an embedded device that provides a service with pre-installed software,
26. The method according to configuration 25, wherein the application to be executed is an application installed in the apparatus separately from the preinstalled software.

(構成30)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得ステップを実行する構成29に記載の方法。
(Configuration 30)
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to control of the hardware resources to a plurality of applications in common;
A virtual application service unit that operates as a client process using the control service unit as a server and operates as a server process using the application as a client;
The method according to configuration 29, wherein the virtual application service unit executes the obtaining step.

(効果)
上記の構成によれば、アプリケーションが使用するリソースに関する情報を取得することが可能となる。また、このようにリソースに関する情報を取得することができることにより、アプリケーションが使用するリソースの量と、複合機が実際に備えているリソースの状態に基づき、必要に応じてアプリケーションの起動制限を行うか否かの判断を行なうことが可能となる。
(effect)
According to said structure, it becomes possible to acquire the information regarding the resource which an application uses. In addition, by being able to acquire information about resources in this way, whether application startup is restricted as necessary based on the amount of resources used by the application and the status of the resources that the MFP actually has It is possible to determine whether or not.

なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.

実施の形態1にかかる複合機の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a multifunction machine according to a first embodiment. 実施の形態1にかかる複合機の構成の他の例を示すブロック図である。FIG. 6 is a block diagram illustrating another example of the configuration of the multifunction machine according to the first embodiment. 実施の形態1にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a VAS of the multifunction peripheral according to the first embodiment and a relationship among the VAS, each application, a control service layer, and a general-purpose OS. 実施の形態1にかかる複合機におけるリソース使用情報ファイルの内容例を示す説明図である。FIG. 3 is an explanatory diagram of an example of the contents of a resource usage information file in the multifunction machine according to the first embodiment. 実施の形態1にかかる複合機におけるVASのリソース使用情報取得スレッドが参照するproc構造体の一例を示す説明図である。4 is an explanatory diagram illustrating an example of a proc structure referred to by a VAS resource usage information acquisition thread in the multifunction peripheral according to the first embodiment; FIG. 実施の形態1にかかる複合機におけるVASの制御スレッドよるアプリ登録およびアプリ起動回数判断の処理手順を示すフローチャートである。4 is a flowchart illustrating a processing procedure of application registration and application activation frequency determination by a VAS control thread in the multifunction peripheral according to the first embodiment; 実施の形態1にかかる複合機におけるVASのリソース使用情報取得スレッドによるリソース使用情報取得の処理手順を示すフローチャートである。4 is a flowchart showing a processing procedure for acquiring resource usage information by a VAS resource usage information acquisition thread in the multifunction peripheral according to the first embodiment; 実施の形態1にかかる複合機におけるVASのアプリ起動判断スレッドによるアプリ起動可否判断の処理手順を示すフローチャートである。4 is a flowchart showing a processing procedure for determining whether or not an application can be activated by a VAS application activation determination thread in the multifunction peripheral according to the first embodiment; 実施の形態2にかかる複合機におけるアプリケーション管理ファイルの内容例を示す図である。FIG. 10 is a diagram illustrating an example of the contents of an application management file in a multifunction machine according to a second embodiment. 実施の形態2にかかる複合機におけるNV−RAMの構成例とHDの構成例を示す図である。5 is a diagram illustrating a configuration example of an NV-RAM and a configuration example of an HD in a multifunction machine according to a second embodiment; FIG. 実施の形態2にかかる複合機におけるアプリケーションの起動の際に、VASが実行する処理を示すフローチャートである。10 is a flowchart illustrating processing executed by the VAS when starting an application in the multifunction peripheral according to the second embodiment. リソース判定結果通知メッセージを受信したアプリケーションの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the application which received the resource determination result notification message. アプリケーション起動終了手続きを示すフローチャートである。It is a flowchart which shows an application starting completion procedure. 実施の形態2にかかる複合機においてシステム機器構成情報を取得する手順を示すフローチャートである。9 is a flowchart illustrating a procedure for acquiring system device configuration information in a multifunction peripheral according to a second embodiment; 実施の形態2にかかる複合機におけるシステム機器構成情報構造体の構成例を示す図である。FIG. 9 is a diagram illustrating a configuration example of a system device configuration information structure in a multifunction machine according to a second embodiment; 実施の形態2にかかる複合機における現在のリソース情報の取得の処理手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure for acquiring current resource information in a multifunction peripheral according to a second embodiment; 実施の形態4にかかる複合機の構成を示すブロック図である。FIG. 9 is a block diagram illustrating a configuration of a multifunction machine according to a fourth embodiment. 実施の形態4にかかる複合機の構成の他の例を示すブロック図である。FIG. 10 is a block diagram illustrating another example of the configuration of the multifunction machine according to the fourth embodiment. 実施の形態4にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。FIG. 9 is a block diagram illustrating a configuration of a VAS of a multifunction peripheral according to a fourth embodiment and a relationship between the VAS, each application, a control service layer, and a general-purpose OS. 複合機におけるVASの構成を示す図である。2 is a diagram illustrating a configuration of a VAS in a multifunction machine. FIG.

符号の説明Explanation of symbols

100 複合機
101 白黒ラインプリンタ
102 カラーラインプリンタ
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117,118 新規アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140,841〜848 仮想アプリケーションサービス(VAS)
141 リソース使用情報取得スレッド
142 アプリ起動判断スレッド
143 制御スレッド
144 ディスパッチャ
150 コントロールサービス層
200 ハードディスク(HD)
201 リソース使用情報ファイル
210 RAM
211 proc構造体
212 u領域
800 複合機
801 VAS制御プロセス
DESCRIPTION OF SYMBOLS 100 MFP 101 Monochrome line printer 102 Color line printer 103 Hardware resource 110 Software group 111 Printer application 112 Copy application 113 Fax application 114 Scanner application 115 Net file application 116 Process inspection application 117,118 New application 120 Platform 121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 Application 140, 841-848 Virtual Application Service (VAS)
141 Resource usage information acquisition thread 142 Application activation determination thread 143 Control thread 144 Dispatcher 150 Control service layer 200 Hard disk (HD)
201 Resource usage information file 210 RAM
211 proc structure 212 u region 800 MFP 801 VAS control process

Claims (18)

アプリケーションを実行させるためのリソースを備えた装置であって、
前記アプリケーションの実行中に、当該アプリケーションのメモリ使用量に関するメモリリソース情報を取得し、当該メモリリソース情報を前記アプリケーションのIDとともに記憶手段に格納する取得手段を有することを特徴とする装置。
A device with resources for running an application,
An apparatus comprising: an acquisition unit configured to acquire memory resource information related to a memory usage amount of the application during execution of the application and store the memory resource information in a storage unit together with an ID of the application.
前記取得手段は、前記メモリ使用量を定期的に取得し、定期的に取得したメモリ使用量に基づき前記メモリリソース情報を生成し、当該メモリリソース情報を格納する請求項1に記載の装置。   The apparatus according to claim 1, wherein the acquisition unit periodically acquires the memory usage, generates the memory resource information based on the periodically acquired memory usage, and stores the memory resource information. 前記メモリリソース情報は、定期的に取得したメモリ使用量の平均値又は最大値である請求項2に記載の装置。   The apparatus according to claim 2, wherein the memory resource information is an average value or a maximum value of a memory usage amount acquired periodically. 前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記メモリリソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる請求項3に記載の装置。
The average value or maximum value in the period from the start to the end of the application is recorded every time from the start to the end,
The average value or maximum value of a plurality of average values recorded every time from start to end or the average value or maximum value of a plurality of maximum values recorded every time from start to end is used as the memory resource information. The device described in 1.
前記取得手段は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションのメモリ使用量を取得する請求項1ないし4のうちいずれか1項に記載の装置。   The apparatus according to any one of claims 1 to 4, wherein the acquisition unit acquires the memory usage of the application from system information that holds information about resources used by processes in the apparatus. 前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、前記予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである請求項1ないし5のうちいずれか1項に記載の装置。
The device is an embedded device that provides a service with pre-installed software,
The apparatus according to claim 1, wherein the application to be executed is an application installed in the apparatus separately from the preinstalled software.
前記装置は画像形成装置であり、当該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
当該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する請求項1ないし6のうちいずれか1項に記載の装置。
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to the control of the hardware resource to a plurality of applications in common;
A virtual application service unit that operates as a client process using the control service unit as a server and operates as a server process using the application as a client;
7. The apparatus according to claim 1, wherein the virtual application service unit includes the acquisition unit.
前記装置に取り付けられた各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納する手段を更に有する請求項1ないし7のうちいずれか1項に記載の装置。   The apparatus according to claim 1, further comprising means for receiving device configuration information from each device attached to the device and storing the device configuration information in a memory. 前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信する手段を有する請求項8に記載の装置。   9. The apparatus according to claim 8, further comprising means for transmitting a message for notifying that the device configuration information has been stored to a software module executed in the apparatus. アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記装置における取得手段が、前記アプリケーションの実行中に、当該アプリケーションのメモリ使用量に関するメモリリソース情報を取得し、当該メモリリソース情報を前記アプリケーションのIDとともに記憶手段に格納するメモリリソース情報取得ステップを有することを特徴とする方法。
A processing method in an apparatus having resources for executing an application,
The acquisition unit in the apparatus includes a memory resource information acquisition step of acquiring memory resource information related to a memory usage amount of the application during execution of the application and storing the memory resource information in a storage unit together with the ID of the application. A method characterized by that.
前記メモリリソース情報取得ステップにおいて、前記取得手段は、前記メモリ使用量を定期的に取得し、定期的に取得したメモリ使用量に基づき前記メモリリソース情報を生成し、当該メモリリソース情報を格納する請求項10に記載の方法。   In the memory resource information acquisition step, the acquisition unit periodically acquires the memory usage, generates the memory resource information based on the periodically acquired memory usage, and stores the memory resource information. Item 11. The method according to Item 10. 前記メモリリソース情報は、定期的に取得したメモリ使用量の平均値又は最大値である請求項11に記載の方法。   The method according to claim 11, wherein the memory resource information is an average value or a maximum value of a memory usage amount acquired periodically. 前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記メモリリリソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる請求項12に記載の方法。
The average value or maximum value in the period from the start to the end of the application is recorded every time from the start to the end,
The average value or maximum value of a plurality of average values recorded every time from start to end, or the average value or maximum value of a plurality of maximum values recorded every time from start to end is used as the memory resource information. 12. The method according to 12.
前記メモリリソース情報取得ステップにおいて、前記取得手段は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションのメモリ使用量を取得する請求項10ないし13のうちいずれか1項に記載の方法。   14. The memory resource information acquisition step according to claim 10, wherein in the memory resource information acquisition step, the acquisition unit acquires the memory usage of the application from system information holding information on resources used by processes in the device. The method described. 前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、前記予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである請求項10ないし14のうちいずれか1項に記載の方法。
The device is an embedded device that provides a service with pre-installed software,
15. The method according to any one of claims 10 to 14, wherein the application to be executed is an application installed in the apparatus separately from the preinstalled software.
前記装置は画像形成装置であり、当該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
当該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する請求項10ないし15のうちいずれか1項に記載の方法。
The apparatus is an image forming apparatus, and the image forming apparatus includes:
Hardware resources in image formation processing;
A control service unit that provides services related to the control of the hardware resource to a plurality of applications in common;
A virtual application service unit that operates as a client process using the control service unit as a server and operates as a server process using the application as a client;
The method according to claim 10, wherein the virtual application service unit includes the acquisition unit.
前記装置における機器構成情報取得手段が、前記装置に取り付けられた各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納するステップを更に有する請求項10ないし16のうちいずれか1項に記載の方法。   17. The apparatus configuration information acquisition unit of the apparatus further includes a step of receiving apparatus configuration information from each apparatus attached to the apparatus and storing the apparatus configuration information in a memory. The method described in 1. 前記機器構成情報取得手段が、前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信するステップを更に有する請求項17に記載の方法。   18. The method according to claim 17, further comprising the step of the device configuration information acquisition means transmitting a message for notifying that the device configuration information has been stored to a software module executed in the device.
JP2008265684A 2002-04-26 2008-10-14 Image forming apparatus, application activation determination method, program, and recording medium Expired - Fee Related JP4504447B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008265684A JP4504447B2 (en) 2002-04-26 2008-10-14 Image forming apparatus, application activation determination method, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002127079 2002-04-26
JP2008265684A JP4504447B2 (en) 2002-04-26 2008-10-14 Image forming apparatus, application activation determination method, program, and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003120251A Division JP2004005612A (en) 2002-04-26 2003-04-24 System and method for obtaining resource information

Publications (2)

Publication Number Publication Date
JP2009032287A true JP2009032287A (en) 2009-02-12
JP4504447B2 JP4504447B2 (en) 2010-07-14

Family

ID=40402663

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008182850A Expired - Fee Related JP4565024B2 (en) 2002-04-26 2008-07-14 Application program, image forming apparatus, and application program execution method
JP2008265684A Expired - Fee Related JP4504447B2 (en) 2002-04-26 2008-10-14 Image forming apparatus, application activation determination method, program, and recording medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008182850A Expired - Fee Related JP4565024B2 (en) 2002-04-26 2008-07-14 Application program, image forming apparatus, and application program execution method

Country Status (1)

Country Link
JP (2) JP4565024B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075768A (en) * 2012-10-05 2014-04-24 Fuji Xerox Co Ltd Information processing apparatus, application program introduction device, and program
GB2525874A (en) * 2014-05-07 2015-11-11 Ibm Measurement of computer product usage

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6447959B2 (en) * 2016-03-25 2019-01-09 京セラドキュメントソリューションズ株式会社 Image forming apparatus and application activation management program
JP7343344B2 (en) 2019-09-25 2023-09-12 愛知時計電機株式会社 pressure sensor
JP7442775B2 (en) 2021-11-23 2024-03-05 合同会社on flow Line quality measurement method, line quality measurement device, and line quality measurement program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721063A (en) * 1993-06-30 1995-01-24 Mitsubishi Electric Corp Computer system monitoring device
JP2000010828A (en) * 1998-06-24 2000-01-14 Sharp Corp Application data processor and medium having stored the control program thereon
JP2001166969A (en) * 1999-12-10 2001-06-22 Toshiba Corp Program operation information display system and computer readable recording medium recording program
JP2001331348A (en) * 2000-05-24 2001-11-30 Nec Software Kobe Ltd System for detecting increase tendency in process memory consumption
WO2003025752A2 (en) * 2001-09-19 2003-03-27 Hewlett-Packard Company Monitoring in component-based systems at runtime

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0368044A (en) * 1989-08-07 1991-03-25 Nec Corp Dynamic memory control system
JP2000298591A (en) * 1999-04-14 2000-10-24 Nec Corp Program starting device and method and recording medium
US7028298B1 (en) * 1999-09-10 2006-04-11 Sun Microsystems, Inc. Apparatus and methods for managing resource usage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721063A (en) * 1993-06-30 1995-01-24 Mitsubishi Electric Corp Computer system monitoring device
JP2000010828A (en) * 1998-06-24 2000-01-14 Sharp Corp Application data processor and medium having stored the control program thereon
JP2001166969A (en) * 1999-12-10 2001-06-22 Toshiba Corp Program operation information display system and computer readable recording medium recording program
JP2001331348A (en) * 2000-05-24 2001-11-30 Nec Software Kobe Ltd System for detecting increase tendency in process memory consumption
WO2003025752A2 (en) * 2001-09-19 2003-03-27 Hewlett-Packard Company Monitoring in component-based systems at runtime

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075768A (en) * 2012-10-05 2014-04-24 Fuji Xerox Co Ltd Information processing apparatus, application program introduction device, and program
GB2525874A (en) * 2014-05-07 2015-11-11 Ibm Measurement of computer product usage
US10496513B2 (en) 2014-05-07 2019-12-03 International Business Machines Corporation Measurement of computer product usage

Also Published As

Publication number Publication date
JP2009037611A (en) 2009-02-19
JP4504447B2 (en) 2010-07-14
JP4565024B2 (en) 2010-10-20

Similar Documents

Publication Publication Date Title
JP4276909B2 (en) Image forming apparatus and application activation control method
US20030218765A1 (en) Apparatus for controlling launch of application and method
JP4344203B2 (en) Image forming apparatus and information display method
JP6066006B2 (en) Image forming apparatus
JP2004005612A (en) System and method for obtaining resource information
JP2004030601A (en) Device and method of making application start judgment by resource information
JP4373742B2 (en) Image forming apparatus and application activation restriction method
JP4504447B2 (en) Image forming apparatus, application activation determination method, program, and recording medium
JP4394740B2 (en) Image forming apparatus, method, and program
JP4128506B2 (en) Image forming apparatus and application information acquisition method
JP5262495B2 (en) Electronic device, remote management system, control method, program, and recording medium
JP4512565B2 (en) Image forming apparatus and application installation method
JP4001531B2 (en) Image forming apparatus
JP4676977B2 (en) Image forming apparatus, application information acquisition method, and program
JP4246560B2 (en) Information processing apparatus, information processing method, program, and recording medium
JP4253466B2 (en) Image forming apparatus and shared memory arbitration method
JP4677054B2 (en) Image forming apparatus, program, recording medium, and method
JP2006271005A (en) Image forming apparatus and method for installing application
JP4011423B2 (en) Image forming apparatus and application ID assigning method
JP2009065713A (en) Image forming apparatus, shared memory arbitrating method, program and recording medium
JP2005229270A (en) Image forming device and method of interface
JP2006027277A (en) Image forming apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100422

R150 Certificate of patent or registration of utility model

Ref document number: 4504447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees