JP2009271726A - Electronic device, method of controlling program execution, and program - Google Patents

Electronic device, method of controlling program execution, and program Download PDF

Info

Publication number
JP2009271726A
JP2009271726A JP2008121566A JP2008121566A JP2009271726A JP 2009271726 A JP2009271726 A JP 2009271726A JP 2008121566 A JP2008121566 A JP 2008121566A JP 2008121566 A JP2008121566 A JP 2008121566A JP 2009271726 A JP2009271726 A JP 2009271726A
Authority
JP
Japan
Prior art keywords
program
data
creator
identifier
correspondence 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.)
Pending
Application number
JP2008121566A
Other languages
Japanese (ja)
Inventor
Hidehiko Watanabe
秀彦 渡辺
Toru Harada
亨 原田
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 JP2008121566A priority Critical patent/JP2009271726A/en
Priority to US12/410,539 priority patent/US20090249346A1/en
Publication of JP2009271726A publication Critical patent/JP2009271726A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an electronic device capable of appropriately restricting the execution of a program that allows another program to dynamically let a process interrupt, a method of controlling program execution, and a program. <P>SOLUTION: The electronic device has a determining means for determining whether or not a second program that allows a first program for application to dynamically let a process interrupt can be applied based on whether or not second data associated with the second program and first data associated with the first program conform to a predefined correspondence relationship, and an execution control means for applying the second program to the first program and executing the second program according to the result of determination by the determining means. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、電子機器、プログラム実行制御方法、及びプログラムに関し、特に他のプログラムに動的に処理を割り込ませることが可能なプログラムの実行を制御する電子機器、プログラム実行制御方法、及びプログラムに関する。   The present invention relates to an electronic device, a program execution control method, and a program, and more particularly, to an electronic device, a program execution control method, and a program that control execution of a program that can dynamically cause another program to interrupt processing.

従来、特に組み込み機器等において動作するプログラムの障害解析(デバッグ等)の代表的な作業として、プログラムが出力するログの解析が行われている。すなわち、プログラムのソースコードには、プログラムが用いている変数の値や、プログラムが動作しているハードウェアの状態を示す情報等をログファイルに出力するための命令(例えば、C言語におけるprintf関数)が予め各所に埋め込まれている。障害が発生した際、斯かる命令(以下、「ログ出力命令」という。)に従って出力されたログファイルを解析することにより、障害の原因が推測又は特定される。   Conventionally, analysis of a log output by a program has been performed as a typical operation for failure analysis (debugging and the like) of a program operating in an embedded device or the like. That is, the source code of the program includes an instruction (for example, a printf function in C language) for outputting a variable value used by the program, information indicating the status of the hardware on which the program is operating, etc. to a log file. ) Are embedded in advance. When a failure occurs, the cause of the failure is estimated or specified by analyzing a log file output according to such a command (hereinafter referred to as a “log output command”).

しかし、予め埋め込まれたログ出力命令に基づいて出力されるログファイル(最初に出力されるログファイル)では、詳細な解析を行うには情報として不十分な場合が多々ある。斯かる場合、最初に出力されるログファイルに基づいて、或る程度障害箇所が絞り込まれる。続いて、その障害箇所周辺について更に詳細なログを出力するように、プログラムのソースコードが修正され、コンパイル及びリンクが行われた上で、プログラムの置き換えが行われる。改めて出力されるログファイルによっても原因が特定できない場合は、更に、ソースコードにログ出力命令が埋め込まれ、上記作業が繰り返される。このように、ログに基づいて障害解析を行う場合、時として大変煩雑な作業が要求されていた。   However, in many cases, the log file output based on the log output command embedded in advance (the log file output first) is insufficient as information for performing detailed analysis. In such a case, the failure location is narrowed down to some extent based on the log file output first. Subsequently, the source code of the program is corrected, compiled and linked so that a more detailed log is output around the faulty part, and then the program is replaced. If the cause cannot be identified by the newly output log file, a log output command is further embedded in the source code, and the above operation is repeated. As described above, when performing failure analysis based on logs, sometimes very complicated work is required.

そこで、従来、動作中のプログラムの任意の箇所(診断位置)に当該プログラムの診断用プログラムの処理を動的に(実行時に)割り込ませる技術が存在する。診断用プログラムでは、診断対象となるプログラムの変数の値等を参照することができる。診断用プログラムの処理の終了後は、診断対象となるプログラムについて診断用プログラムによって割り込まれた位置に処理が復帰する。斯かる技術によれば、診断対象となるプログラムのソースコードを修正することなく、診断用プログラムによって診断対象となるプログラムのログの出力が可能となる。
特開2004−139572号公報
Therefore, conventionally, there is a technique for dynamically interrupting (at the time of execution) the processing of a diagnostic program for an arbitrary program (diagnostic position) of an operating program. In the diagnostic program, it is possible to refer to values of variables of the program to be diagnosed. After completion of the diagnostic program processing, the processing returns to the position interrupted by the diagnostic program for the program to be diagnosed. According to such a technique, it is possible to output a log of a program to be diagnosed by the diagnostic program without correcting the source code of the program to be diagnosed.
JP 2004-139572 A

しかしながら、斯かる診断用プログラムはあらゆるプログラムに適用可能であるため、適用対象のプログラム(アプリケーション)の開発者又は保守担当者でない者によって作成された診断用プログラムが安易に適用される可能性がある。その結果、適用されたプログラム又は機器全体の動作が不安定となる可能性があるばかりか、セキュリティが適切に確保されない可能性が生じる。また、排他的な関係にある複数の診断用プログラムが同時に実行された場合、それぞれの診断用プログラムで意図した動作が得られない可能性がある。   However, since such a diagnostic program can be applied to any program, a diagnostic program created by a person who is not a developer or a person in charge of maintenance of the program (application) to be applied may be easily applied. . As a result, the operation of the applied program or the entire device may become unstable, and security may not be appropriately ensured. In addition, when a plurality of diagnostic programs having an exclusive relationship are executed simultaneously, there is a possibility that the intended operation of each diagnostic program may not be obtained.

本発明は、上記の点に鑑みてなされたものであって、他のプログラムに動的に処理を割り込ませることが可能なプログラムの実行を適切に制限することのできる電子機器、プログラム実行制御方法、及びプログラムの提供を目的とする。   The present invention has been made in view of the above points, and an electronic apparatus and a program execution control method capable of appropriately restricting the execution of a program capable of dynamically interrupting another program. And to provide a program.

そこで上記課題を解決するため、本発明は、適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な第二のプログラムに関連付けられている第二のデータと、前記第一のプログラムに関連付けられている第一のデータとが予め定義された対応関係に合致するか否かに基づいて前記第二のプログラムの適用の可否を判定する判定手段と、前記判定手段の判定結果に応じて、前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手段とを有することを特徴とする。   Therefore, in order to solve the above-described problem, the present invention provides second data associated with a second program capable of dynamically interrupting processing to the first program to be applied; A determination unit that determines whether or not the second program can be applied based on whether or not the first data associated with the one program matches a predefined correspondence relationship; and a determination by the determination unit According to the result, it has execution control means for applying the second program to the first program and executing it.

このような電子機器では、他のプログラムに動的に処理を割り込ませることが可能なプログラムの実行を適切に制限することができる。   In such an electronic device, it is possible to appropriately limit the execution of a program capable of dynamically interrupting another program.

本発明によれば、他のプログラムに動的に処理を割り込ませることが可能なプログラムの実行を適切に制限することのできる電子機器、プログラム実行制御方法、及びプログラムを提供することができる。   According to the present invention, it is possible to provide an electronic device, a program execution control method, and a program that can appropriately limit the execution of a program that can dynamically interrupt the processing of another program.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムの構成例を示す図である。図1の機器管理システム1において、管理サーバ10と、機器20a、機器20b及び機器20c(以下、総称する場合「機器20」という。)とは、オフィスにおけるLAN(Local Area Network)等のネットワーク50(有線又は無線の別は問わない。)を介して接続されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of a device management system according to an embodiment of the present invention. In the device management system 1 of FIG. 1, the management server 10 and the devices 20a, 20b, and 20c (hereinafter collectively referred to as “device 20”) are a network 50 such as a LAN (Local Area Network) in the office. (It does not matter whether wired or wireless).

機器20は、コピー、ファクシミリ、プリンタ、及びスキャナ等の複数の機能を一台の筐体において実現する画像形成装置(複合機)である。機器20は、CPUやメモリを備え、メモリに記録されたプログラムに従ったCPUによる制御に基づいて各種の機能を実現する。なお、本実施の形態では、機器20が電子機器の一例に相当する。   The device 20 is an image forming apparatus (multifunction machine) that realizes a plurality of functions such as copying, facsimile, printer, and scanner in a single casing. The device 20 includes a CPU and a memory, and realizes various functions based on control by the CPU according to a program recorded in the memory. In the present embodiment, the device 20 corresponds to an example of an electronic device.

管理サーバ10は、機器20において利用されるプログラムに対して適用される追加プログラムの管理及び当該追加プログラムの機器20への転送等を行うコンピュータである。本実施の形態において、追加プログラムとは、適用対象とされるプログラムの任意の箇所において、当該追加プログラムに定義された処理を動的に割り込ませることのできるプログラムをいう。   The management server 10 is a computer that manages an additional program applied to a program used in the device 20 and transfers the additional program to the device 20. In the present embodiment, the additional program refers to a program that can dynamically interrupt processing defined in the additional program at an arbitrary location of the program to be applied.

図2は、追加プログラムの概要を説明するための図である。図2において、501は、追加プログラム505が適用されるプログラムにおける仮想メモリ上における命令の配列を示す。プログラム501は、追加プログラム501が適用される前(通常実行時)は、命令1、2、3の順で処理を実行する。501aは、プログラム501に追加プログラム501が適用された状態を示す。ここでは、命令1と命令2との間に追加プログラム505の処理を割り込ませる例が示されている。この場合、命令2がテーブル502への分岐命令に置き換えられる。テーブル502には、初期化処理、前処理(変数のスタックへの退避等)、追加プログラム505の呼び出し処理、後処理(スタックに退避されていた変数等の取り出し等)の後に命令2が実行され、プログラム501の命令3に戻るような定義がされている。   FIG. 2 is a diagram for explaining the outline of the additional program. In FIG. 2, reference numeral 501 denotes an instruction arrangement on the virtual memory in a program to which the additional program 505 is applied. The program 501 executes processing in the order of instructions 1, 2, and 3 before the additional program 501 is applied (during normal execution). Reference numeral 501a denotes a state in which the additional program 501 is applied to the program 501. Here, an example in which the processing of the additional program 505 is interrupted between the instruction 1 and the instruction 2 is shown. In this case, instruction 2 is replaced with a branch instruction to table 502. In the table 502, instruction 2 is executed after initialization processing, preprocessing (saving of variables to the stack, etc.), calling processing of the additional program 505, and postprocessing (extraction of variables saved in the stack, etc.). Definition to return to the instruction 3 of the program 501 is made.

すなわち、追加プログラムが適用される場合、適用対象とされたプログラムの実行ステップが予め指定された箇所(追加位置)に到達すると、追加プログラムの処理が実行される。当該追加プログラムの処理が終了すると、適用対象とされたプログラムに処理制御が復帰する。その後、適用対象とされたプログラムは、追加位置より処理を再開する。なお、追加プログラムには、適用対象のプログラムに割り込ませる処理の他、適用対象とするプログラム及び追加位置を識別するための情報が含まれている。   That is, when the additional program is applied, when the execution step of the program to be applied reaches a predetermined location (additional position), the processing of the additional program is executed. When the process of the additional program is completed, the process control returns to the application program. Thereafter, the program to be applied resumes processing from the additional position. Note that the additional program includes information for identifying a program to be applied and an additional position, in addition to processing to interrupt the program to be applied.

追加プログラムの中では、適用対象とされるプログラムの変数等を参照可能である。したがって、追加プログラムによって、適用対象とされるプログラムの任意の箇所における変数の値等を示すログ情報を出力させるための処理や、新たな機能を実現するための処理を適用対象とされるプログラムに割り込ませることができる。   In the additional program, it is possible to refer to variables of the program to be applied. Therefore, the program for which processing for outputting log information indicating the value of a variable or the like at an arbitrary position of the program to be applied by the additional program or processing for realizing a new function is applied to the program to be applied. Can be interrupted.

斯かる追加プログラムによれば、適用対象とされるプログラムについて、ソースコードの修正、コンパイル及びリンク、更に、再インストール等を行うことなく(すなわち、動的に)、ログ情報の出力や機能強化等を図ることができる。   According to such an additional program, the log information is output and the function is enhanced without modifying (ie, dynamically), re-installing, etc. the source code for the program to be applied. Can be achieved.

図3は、本発明の実施の形態における機器のハードウェア構成の一例を示す図である。同図において、機器20は、コントローラ601、オペレーションパネル602、ファクシミリコントロールユニット(FCU)603、撮像部604、及び印刷部605等より構成される。   FIG. 3 is a diagram illustrating an example of the hardware configuration of the device according to the embodiment of the present invention. In the figure, the device 20 includes a controller 601, an operation panel 602, a facsimile control unit (FCU) 603, an imaging unit 604, a printing unit 605, and the like.

コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。   The controller 601 includes a CPU 611, ASIC 612, NB621, SB622, MEM-P631, MEM-C632, HDD (hard disk drive) 633, memory card slot 634, NIC (network interface controller) 641, USB device 642, IEEE 1394 device 643, Centronics device. 644.

CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、機器20のシステムメモリである。MEM−C632は、機器20のローカルメモリである。HDD633は、機器20のストレージである。メモリカードスロット634は、メモリカード635をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが機器20に入力を行うためのハードウェア(操作部)であると共に、オペレータが機器20から出力を得るためのハードウェア(表示部)である。   The CPU 611 is an IC for various information processing. The ASIC 612 is an IC for various image processing. The NB 621 is a north bridge of the controller 601. The SB 622 is a south bridge of the controller 601. The MEM-P 631 is a system memory of the device 20. The MEM-C 632 is a local memory of the device 20. The HDD 633 is a storage of the device 20. The memory card slot 634 is a slot for setting a memory card 635. The NIC 641 is a controller for network communication using a MAC address. The USB device 642 is a device for providing a USB standard connection terminal. The IEEE 1394 device 643 is a device for providing a connection terminal of the IEEE 1394 standard. The Centronics device 644 is a device for providing connection terminals of Centronics specifications. The operation panel 602 is hardware (operation unit) for an operator to input to the device 20 and hardware (display unit) for an operator to obtain an output from the device 20.

図4は、本発明の実施の形態における機器のソフトウェア構成例を示す図である。図4において、機器20は、標準アプリケーション21と、SDKアプリケーション22と、サービス層23と、追加プログラム制御部24と、OS25と等を有する。これらのソフトウェアは、MEM−P631におけるRAM上にロードされ、CPU611に処理を実行させることによりその機能を実現させる。   FIG. 4 is a diagram illustrating a software configuration example of the device according to the embodiment of the present invention. 4, the device 20 includes a standard application 21, an SDK application 22, a service layer 23, an additional program control unit 24, an OS 25, and the like. These software are loaded on the RAM in the MEM-P 631, and the CPU 611 executes the processing to realize the function.

標準アプリケーション21は、機器20の出荷時より標準機能として組み込まれているアプリケーションである。同図では、標準アプリケーション21としてコピーアプリ21a、FAXアプリ21b、プリンタアプリ21c、及びスキャナアプリ21dが例示されている。   The standard application 21 is an application incorporated as a standard function from the time of shipment of the device 20. In the figure, as a standard application 21, a copy application 21a, a FAX application 21b, a printer application 21c, and a scanner application 21d are illustrated.

コピーアプリ21aは、コピー機能を実現するアプリケーションである。FAXアプリ21bは、FAX機能を実現するアプリケーションである。プリンタアプリ21cは、印刷機能を実現するアプリケーションである。スキャナアプリ21dは、スキャナ機能を実現するアプリケーションである。   The copy application 21a is an application that realizes a copy function. The FAX application 21b is an application that realizes a FAX function. The printer application 21c is an application that realizes a printing function. The scanner application 21d is an application that realizes a scanner function.

SDKアプリ22は、機器20に専用のSDK(ソフトウェア開発キット)を使用して作成されたアプリケーションである。より詳しくは、サービス層23の一部のAPI(Application Program Interface)が公開されており、SDKアプリ22は、当該APIを用いてサードベンダによって作成されたアプリケーションである。同図では、SDKアプリケーション22として、SDKアプリ22a及び22bが例示されている。なお、各SDKアプリケーション22には、証明書(電子証明書)が添付されている(又は関連付けられている)。例えば、SDKアプリ22aには証明書221aが、SDKアプリ22bには証明書221bが添付されている(以下、これらの証明書を総称する場合、「証明書221」という。)。証明書221には、所有者情報、公開鍵、認証局の署名、及びプログラムID等が含まれている。このうち、所有者情報は、当該証明書221が添付されたSDKアプリケーション22の作成者(開発ベンダ)の識別情報(例えば、ID)である。また、プログラムIDは、各SDKアプリケーション22を一意に識別可能なIDである。   The SDK application 22 is an application created for the device 20 using a dedicated SDK (software development kit). More specifically, a part of API (Application Program Interface) of the service layer 23 is disclosed, and the SDK application 22 is an application created by a third vendor using the API. In the figure, as the SDK application 22, SDK applications 22a and 22b are illustrated. Each SDK application 22 is attached (or associated) with a certificate (electronic certificate). For example, a certificate 221a is attached to the SDK application 22a, and a certificate 221b is attached to the SDK application 22b (hereinafter, these certificates are collectively referred to as “certificate 221”). The certificate 221 includes owner information, public key, certificate authority signature, program ID, and the like. Among these, the owner information is identification information (for example, ID) of the creator (development vendor) of the SDK application 22 to which the certificate 221 is attached. The program ID is an ID that can uniquely identify each SDK application 22.

サービス層23は、複数のアプリケーション21によって共通に必要とされるサービス(機能)をアプリケーション21に対して提供するプログラム群によって構成される。サービス層23には、例えば、ネットワーク通信の仲介を行うプログラム、撮像部604や印刷部605等のハードウェアの制御を行うプログラム、メモリやハードディスクドライブ等の記憶装置の管理を行うプログラム、オペレーションパネル602の制御を行うプログラム等が存在する。   The service layer 23 includes a group of programs that provide services (functions) that are commonly required by a plurality of applications 21 to the applications 21. The service layer 23 includes, for example, a program that mediates network communication, a program that controls hardware such as the imaging unit 604 and the printing unit 605, a program that manages storage devices such as a memory and a hard disk drive, and an operation panel 602. There are programs for controlling the above.

OS25は、いわゆるOS(Operating System)である。OS25は、所定のものに限定されない。   The OS 25 is a so-called OS (Operating System). The OS 25 is not limited to a predetermined one.

追加プログラム制御部24は、上述した追加プログラム(図中では、追加プログラム26として示されている。)の実行制御等を行うソフトウェアである。例えば、追加プログラム制御部24は、追加プログラム26のダウンロード、適用対象への適用(実行)等を行う。なお、図示されるように、本実施の形態において各追加プログラム26には証明書261が添付されている。証明書261は、電子証明書であり、例えば、所有者情報、公開鍵、認証局の署名、及びプログラムID等が含まれている。このうち、所有者情報は、当該証明書261が添付された追加プログラム26の作成者(開発ベンダ)の識別情報(例えば、ID)である。また、プログラムIDは、各追加プログラム26を一意に識別可能なIDである。なお、斯かる証明書261の構成は、SDKアプリケーション22に対する証明書221と同じであるが、両者は必ずしも同じ構成である必要はない。   The additional program control unit 24 is software that performs execution control of the above-described additional program (shown as an additional program 26 in the drawing). For example, the additional program control unit 24 downloads the additional program 26, applies (executes) it to the application target, and the like. As shown in the figure, a certificate 261 is attached to each additional program 26 in the present embodiment. The certificate 261 is an electronic certificate and includes, for example, owner information, a public key, a certificate authority signature, a program ID, and the like. Among these, the owner information is identification information (for example, ID) of the creator (development vendor) of the additional program 26 to which the certificate 261 is attached. The program ID is an ID that can uniquely identify each additional program 26. Note that the configuration of the certificate 261 is the same as the certificate 221 for the SDK application 22, but the two do not necessarily have the same configuration.

以下、機器20の処理手順について説明する。図5は、第一の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。なお、同図では、既にユーザの認証は行われていることとする。すなわち、機器20の各プログラムは、現在操作中のユーザ(カレントユーザ)を識別することが可能である。   Hereinafter, the processing procedure of the device 20 will be described. FIG. 5 is a flowchart for explaining the application process of the additional program in the first embodiment. In the figure, it is assumed that the user has already been authenticated. That is, each program of the device 20 can identify the user who is currently operating (current user).

オペレーションパネル602を介したユーザによる操作入力に応じ、追加プログラム制御部24は、管理サーバ10によって管理されている追加プログラム26の一覧情報を管理サーバ10より取得し、オペレーションパネル602に表示させる(S101)。   In response to an operation input by the user via the operation panel 602, the additional program control unit 24 acquires the list information of the additional program 26 managed by the management server 10 from the management server 10 and displays it on the operation panel 602 (S101). ).

ユーザによって、一覧情報の中から利用する追加プログラム26が選択されると(S102)、追加プログラム制御部24は、選択された追加プログラム26を管理サーバ10よりダウンロードし、当該追加プログラム26(以下「カレント追加プログラム26」という。)に対するカレントユーザの利用権限の有無を確認する(S103)。当該利用権限の確認の有無は、例えば、予め定義されている、追加プログラム26に対するアクセス制御情報等に基づいて行えばよい。当該アクセス制御情報には、追加プログラム26ごとに利用可能なユーザ名等が定義されていてもよいし、ユーザごとに利用可能な追加プログラム26のプログラム名(ファイル名)又はプログラムIDが定義されていてもよい。又は、単に、追加プログラム26を利用可能なユーザとそうでないユーザとを識別可能な情報であってもよい。また、当該アクセス制御情報は、機器20のHDD633に保存されていてもよいし、管理サーバ10に保存されていてもよい。   When the user selects an additional program 26 to be used from the list information (S102), the additional program control unit 24 downloads the selected additional program 26 from the management server 10, and the additional program 26 (hereinafter “ It is confirmed whether or not the current user has authority to use (referred to as “current addition program 26”) (S103). Whether or not the use authority is confirmed may be determined based on, for example, access control information for the additional program 26 defined in advance. In the access control information, a user name or the like that can be used for each additional program 26 may be defined, or a program name (file name) or a program ID of the additional program 26 that can be used for each user may be defined. May be. Or the information which can identify the user who can use the additional program 26, and the user who is not otherwise may be sufficient. Further, the access control information may be stored in the HDD 633 of the device 20 or may be stored in the management server 10.

カレントユーザに利用権限が有る場合(S103でYes)、追加プログラム制御部24は、カレント追加プログラム26が、当該機器20上で実行可能であるか否かを判定する(S104)。ここでの判定は、カレント追加プログラム26が当該機器20のプログラムの実行環境において実行可能であるか否かの判定に相当する。例えば、追加プログラム26の属性情報として、追加プログラム26が動作可能な機器20の機種、サービス層23のバージョン、OS25のバージョン等が含まれており、当該機器20における環境がそれらの情報(機種、バージョン等)に合致するか否かが判定される。なお、カレント追加プログラム26の属性情報は、カレント追加プログラム26と共に管理サーバ10よりダウンロードされる。   If the current user has usage authority (Yes in S103), the additional program control unit 24 determines whether or not the current additional program 26 can be executed on the device 20 (S104). The determination here corresponds to determination of whether or not the current additional program 26 can be executed in the program execution environment of the device 20. For example, the attribute information of the additional program 26 includes the model of the device 20 on which the additional program 26 can operate, the version of the service layer 23, the version of the OS 25, and the like. Version etc.) is determined. The attribute information of the current addition program 26 is downloaded from the management server 10 together with the current addition program 26.

カレント追加プログラム26が当該機器20上で実行可能である場合(S104でYes)、追加プログラム制御部24は、証明書261に基づいてカレント追加プログラム26の認証処理(正当性の検証)を行う(S105)。を電子証明書に基づくプログラムの認証は、一般的な方式に従えばよい。   When the current additional program 26 can be executed on the device 20 (Yes in S104), the additional program control unit 24 performs an authentication process (validity verification) of the current additional program 26 based on the certificate 261 ( S105). The authentication of the program based on the electronic certificate may follow a general method.

カレント追加プログラム26が認証されると(S105でYes)、追加プログラム制御部24は、カレント追加プログラム26の適用対象(適用先)のSDKアプリケーション22(ここでは、「SDKアプリ22a」であるとする。)の証明書221aより所有者情報を取得する(S106)。なお、カレント追加プログラム26の適用対象となるプログラムを識別するための情報は、追加プログラム制御部24が解釈可能な形式で追加プログラム26内に含まれている。したがって、斯かる情報に基づいて、追加プログラム制御部24は、適用対象がSDKアプリ22aであると判定することができる。   When the current addition program 26 is authenticated (Yes in S105), the additional program control unit 24 assumes that the SDK application 22 (here, “SDK application 22a”) to which the current addition program 26 is applied (application destination). .) Is obtained from the certificate 221a (S106). Information for identifying a program to which the current additional program 26 is applied is included in the additional program 26 in a format that can be interpreted by the additional program control unit 24. Therefore, based on such information, the additional program control unit 24 can determine that the application target is the SDK application 22a.

続いて、追加プログラム制御部24は、カレント追加プログラム26の証明書261より所有者情報を取得する(S107)。続いて、追加プログラム制御部24は、図6に示されるように、適用対象の所有者情報とカレント追加プログラム26の所有者情報とを照合する(S108)。二つの所有者情報が一致する場合(S108でYes)、追加プログラム制御部24は、カレント追加プログラム261を適用対象のSDKアプリ22aに適用する(S109)。具体的には、SDKアプリ22aの実行ステップがカレント追加プログラム26内に指定された箇所(追加位置)に到達すると、追加プログラム制御部24は、追加プログラム26の処理を実行させる(割り込ませる)。   Subsequently, the additional program control unit 24 acquires owner information from the certificate 261 of the current additional program 26 (S107). Subsequently, as shown in FIG. 6, the additional program control unit 24 collates the owner information to be applied with the owner information of the current additional program 26 (S108). If the two pieces of owner information match (Yes in S108), the additional program control unit 24 applies the current additional program 261 to the application SDK application 22a (S109). Specifically, when the execution step of the SDK application 22a reaches a location (additional position) designated in the current additional program 26, the additional program control unit 24 executes (interrupts) the processing of the additional program 26.

一方、カレントユーザにカレント追加プログラム26の利用権限が無い場合(S103でNo)、カレント追加プログラム26が機器20上で実行可能でない場合(S104でNo)、カレント追加プログラム26の認証に失敗した場合(S105でNo)、又は適用対象の所有者情報とカレント追加プログラム26の所有者情報とが一致しない場合(S108でNo)、追加プログラム制御部24は、カレント追加プログラム26の適用を行わず、例えば、カレント追加プログラム26が利用できない旨を示すメッセージをオペレーションパネル602に表示させる(S110)。   On the other hand, if the current user is not authorized to use the current additional program 26 (No in S103), the current additional program 26 is not executable on the device 20 (No in S104), or the authentication of the current additional program 26 fails (No in S105), or if the owner information to be applied and the owner information of the current additional program 26 do not match (No in S108), the additional program control unit 24 does not apply the current additional program 26, For example, a message indicating that the current additional program 26 cannot be used is displayed on the operation panel 602 (S110).

上述したように、第一の実施の形態によれば、適用対象の所有者情報と追加プログラム26の所有者情報とが一致しない場合は、追加プログラム26は実行されない。したがって、或る開発ベンダによって作成された追加プログラム26が、他の開発ベンダによって開発されたSDKアプリケーション22に対して安易に適用されることが防止される。   As described above, according to the first embodiment, when the owner information to be applied and the owner information of the additional program 26 do not match, the additional program 26 is not executed. Therefore, the additional program 26 created by a certain development vendor is prevented from being easily applied to the SDK application 22 developed by another development vendor.

続いて、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については第一の実施の形態と同様でよい。   Next, a second embodiment will be described. In the second embodiment, differences from the first embodiment will be described. Accordingly, the points not particularly mentioned may be the same as those in the first embodiment.

図7は、第二の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。図7中、図5と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。   FIG. 7 is a flowchart for explaining an additional program application process according to the second embodiment. In FIG. 7, the same steps as those in FIG. 5 are denoted by the same step numbers, and description thereof will be omitted as appropriate.

同図では、ステップS106がステップS106aに、ステップS108がS108aに置き換わっている。ステップS106aにおいて、追加プログラム制御部24は、カレント追加プログラム26の適用対象のSDKアプリ22aの証明書221aよりプログラムIDを取得する。続いて、追加プログラム制御部24は、カレント追加プログラム26の証明書261より所有者情報を取得する(S107)。続いて、追加プログラム制御部24は、適用可否判定テーブルを参照してカレント追加プログラム26の適用の可否を判定する(S108a)。   In the figure, step S106 is replaced with step S106a, and step S108 is replaced with S108a. In step S106a, the additional program control unit 24 acquires the program ID from the certificate 221a of the SDK application 22a to which the current additional program 26 is applied. Subsequently, the additional program control unit 24 acquires owner information from the certificate 261 of the current additional program 26 (S107). Subsequently, the additional program control unit 24 refers to the applicability determination table to determine whether the current additional program 26 is applicable (S108a).

図8は、適用可否判定テーブルの構成例を示す図である。同図において、適用可否判定テーブル31は、SDKアプリケーション22のプログラムIDごとに(すなわち、SDKアプリケーション22ごとに)、いずれの所有者に係る追加プログラム26が適用可能であるかが定義(登録)されている。例えば、同図では、プログラムIDが「SDK−0001」であるSDKアプリケーション22に対しては、所有者情報が「AAA」、「BBB」、又は「CCC」である追加プログラム26の適用が可能であることが定義されている。なお、適用可否判定テーブル31は、機器20のHDD633に保存されていてもよいし、管理サーバ10に保存されていてもよい。また、適用可否判定テーブル31は、管理者等、所定の者に限って編集可能とすればよい。   FIG. 8 is a diagram illustrating a configuration example of an applicability determination table. In the figure, an applicability determination table 31 is defined (registered) for each program ID of the SDK application 22 (that is, for each SDK application 22) which additional program 26 relating to the owner is applicable. ing. For example, in the figure, an additional program 26 whose owner information is “AAA”, “BBB”, or “CCC” can be applied to the SDK application 22 whose program ID is “SDK-0001”. It is defined that there is. The applicability determination table 31 may be stored in the HDD 633 of the device 20 or may be stored in the management server 10. The applicability determination table 31 may be editable only to a predetermined person such as an administrator.

したがって、追加プログラム制御部24は、ステップS106aにおいて取得されたプログラムID(適用対象のプログラムID)を適用可否判定テーブル31に当てはめることにより適用可能な所有者情報を判定し、当該所有者情報に、ステップS107において取得されたカレント追加プログラム26の所有者情報が含まれているか否かによって、適用の可否を判定する。適用可能な所有者情報にカレント追加プログラム26の所有者情報が含まれている場合(S108aでYes)、追加プログラム制御部24は、カレント追加プログラム261を適用対象のSDKアプリ22aに適用する(S109)。   Therefore, the additional program control unit 24 determines applicable owner information by applying the program ID (program ID to be applied) acquired in step S106a to the applicability determination table 31, and includes the owner information in the owner information. The applicability is determined based on whether the owner information of the current additional program 26 acquired in step S107 is included. When the owner information of the current additional program 26 is included in the applicable owner information (Yes in S108a), the additional program control unit 24 applies the current additional program 261 to the target SDK application 22a (S109). ).

適用可能な所有者情報にカレント追加プログラム26の所有者情報が含まれていない場合(S108aでNo)、追加プログラム制御部24は、カレント追加プログラム26の適用は行わない(S110)。   When the owner information of the current additional program 26 is not included in the applicable owner information (No in S108a), the additional program control unit 24 does not apply the current additional program 26 (S110).

上述したように、第二の実施の形態によれば、適用可否判定テーブル31に基づいて追加プログラム26の適用の可否が判定される。したがって、SDKアプリケーション22と追加プログラム26との所有者情報(開発ベンダ)が異なる場合であっても、追加プログラム26を適用させることができる。よって、第一の実施の形態に比べて、追加プログラム26の適用について柔軟性を向上させることができる。   As described above, according to the second embodiment, whether or not the additional program 26 can be applied is determined based on the applicability determination table 31. Therefore, even if the SDK application 22 and the additional program 26 have different owner information (development vendor), the additional program 26 can be applied. Therefore, the flexibility of application of the additional program 26 can be improved as compared with the first embodiment.

なお、適用可否判定テーブル31には、SDKアプリケーション22と追加プログラム26の所有者情報との対応関係ではなく、SDKアプリケーション22と追加プログラム26との対応関係を登録するようにしてもよい。具体的には、SDKアプリケーション22のプログラムIDごとに、適用可能な追加プログラム26のプログラムIDを登録するようにしてもよい。この場合、ステップS107では、カレント追加プログラム26のプログラムIDを証明書261より取得し、当該プログラムIDを用いてステップS108aにおける判定を行えばよい。但し、この場合、追加プログラム26が作成されるたびに適用可否判定テーブル31を更新する必要がある。したがって、適用可否判定テーブル31の安定性(保守作業の軽減)の観点からは、図8に示される形態の方が好ましい。   In addition, in the applicability determination table 31, not the correspondence relationship between the SDK application 22 and the owner information of the additional program 26, but the correspondence relationship between the SDK application 22 and the additional program 26 may be registered. Specifically, the program ID of the applicable additional program 26 may be registered for each program ID of the SDK application 22. In this case, in step S107, the program ID of the current additional program 26 may be obtained from the certificate 261, and the determination in step S108a may be performed using the program ID. However, in this case, it is necessary to update the applicability determination table 31 every time the additional program 26 is created. Therefore, from the viewpoint of the stability (reduction of maintenance work) of the applicability determination table 31, the form shown in FIG. 8 is preferable.

斯かる観点を更に追求すれば、適用可否判定テーブル31には、SDKアプリケーション22の所有者情報と追加プログラム26の所有者情報との対応関係を登録するようにしてもよい。この場合、新たな所有者(開発ベンダ)が追加されなければ、適用可否判定テーブル31を変更する必要性は低いため、適用可否判定テーブル31の安定性をより高めることができる。   If such a viewpoint is further pursued, the correspondence relationship between the owner information of the SDK application 22 and the owner information of the additional program 26 may be registered in the applicability determination table 31. In this case, if a new owner (development vendor) is not added, the necessity of changing the applicability determination table 31 is low, so that the stability of the applicability determination table 31 can be further improved.

続いて、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については第一の実施の形態と同様でよい。   Subsequently, a third embodiment will be described. In the third embodiment, differences from the first embodiment will be described. Accordingly, the points not particularly mentioned may be the same as those in the first embodiment.

図9は、第三の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。図9中、図5と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。   FIG. 9 is a flowchart for explaining an additional program application process according to the third embodiment. In FIG. 9, the same steps as those in FIG. 5 are denoted by the same step numbers, and the description thereof is omitted as appropriate.

同図では、ステップS106〜S108が、それぞれステップS106b、107b、S108bに置き換わっている。ステップS106bにおいて、追加プログラム制御部24は、現在適用中(既に適用中)の追加プログラム26のプログラムIDの一覧を生成する。なお、追加プログラム制御部24は、追加プログラム26の実行を制御するプログラムであるため、現在適用中である追加プログラム26のプログラムIDを把握している。   In the figure, steps S106 to S108 are replaced with steps S106b, 107b, and S108b, respectively. In step S106b, the additional program control unit 24 generates a list of program IDs of the additional program 26 that is currently being applied (already being applied). Since the additional program control unit 24 is a program that controls the execution of the additional program 26, the additional program control unit 24 grasps the program ID of the additional program 26 that is currently being applied.

続いて、追加プログラム制御部24は、これから適用されるカレント追加プログラム26の証明書261よりプログラムIDを取得する(S107b)。続いて、追加プログラム制御部24は、排他関係管理テーブルを参照してカレント追加プログラム26の適用の可否を判定する(S108b)。   Subsequently, the additional program control unit 24 acquires the program ID from the certificate 261 of the current additional program 26 to be applied (S107b). Subsequently, the additional program control unit 24 refers to the exclusive relationship management table and determines whether or not the current additional program 26 can be applied (S108b).

図10は、排他関係管理テーブルの構成例を示す図である。同図において、排他関係管理テーブル32は、追加プログラム26のプログラムIDごとに(すなわち、追加プログラム26ごとに)、実行時期について排他的な関係にある(すなわち、同時に実行させることのできない又は同時に実行させることが好ましくない)追加プログラムのプログラムIDが定義(登録)されている。例えば、同図では、プログラムIDが「P0001」である追加プログラム26は、プログラムIDが「P0002」、「C0001」、「C0002」、及び「F0001」の追加プログラム26とは排他的な関係にあることが定義されている。なお、排他関係管理テーブル32は、機器20のHDD633に保存されていてもよいし、管理サーバ10に保存されていてもよい。また、排他関係管理テーブル32は、管理者等、所定の者に限って編集可能とすればよい。   FIG. 10 is a diagram illustrating a configuration example of the exclusive relationship management table. In the figure, the exclusive relationship management table 32 has an exclusive relationship with respect to execution time for each program ID of the additional program 26 (that is, for each additional program 26) (that is, it cannot be executed simultaneously or is executed simultaneously). The program ID of the additional program is defined (registered). For example, in the figure, the additional program 26 whose program ID is “P0001” has an exclusive relationship with the additional programs 26 whose program IDs are “P0002”, “C0001”, “C0002”, and “F0001”. It is defined. The exclusive relationship management table 32 may be stored in the HDD 633 of the device 20 or may be stored in the management server 10. The exclusive relationship management table 32 may be editable only to a predetermined person such as an administrator.

したがって、追加プログラム制御部24は、ステップS107bにおいて取得されたカレント追加プログラム26のプログラムIDに対して排他的な関係にある追加プログラム26のプログラムIDを排他関係管理テーブル32より取得し、取得されたプログラムIDの少なくともいずれか一つが、ステップS106bにおいて生成された現在適用中(実行中)の追加プログラム26のプログラムIDの一覧に含まれているか否かによって適用の可否を判定する。排他的な関係にあるプログラムIDのいずれかが現在実行中のプログラムIDに含まれていない場合(S108bでYes)、追加プログラム制御部24は、カレント追加プログラム261を適用対象のSDKアプリ22aに適用する(S109)。   Therefore, the additional program control unit 24 acquires the program ID of the additional program 26 that has an exclusive relationship with the program ID of the current additional program 26 acquired in step S107b from the exclusive relationship management table 32, and is acquired. Whether or not the program ID can be applied is determined based on whether or not at least one of the program IDs is included in the list of program IDs of the additional program 26 that is currently being applied (executed) generated in step S106b. If any of the program IDs having an exclusive relationship is not included in the currently executed program ID (Yes in S108b), the additional program control unit 24 applies the current additional program 261 to the target SDK application 22a. (S109).

適排他的な関係にあるプログラムIDのいずれかが現在実行中のプログラムIDに含まれている場合(S108bでNo)、追加プログラム制御部24は、カレント追加プログラム26の適用は行わない(S110)。   If any of the program IDs having an appropriate exclusive relationship is included in the currently executing program ID (No in S108b), the additional program control unit 24 does not apply the current additional program 26 (S110). .

なお、上記では、排他関係管理テーブル32には排他的な関係を示す情報が管理されている例を示した。しかし、同時に実行可能な関係を示す情報を排他関係管理テーブル32において管理するようにしてもよい。この場合であっても排他的な関係を判定することが可能だからである。   In the above description, the exclusive relationship management table 32 shows an example in which information indicating an exclusive relationship is managed. However, information indicating relationships that can be executed simultaneously may be managed in the exclusive relationship management table 32. This is because even in this case, the exclusive relationship can be determined.

上述したように、第三の実施の形態によれば、排他的な関係にある追加プログラム26の並列的な実行(同時期の実行)を適切に回避することができる。したがって、排他的な関係にある追加プログラム26の並列的な実行による機器20の不正動作の発生を防止することができる。なお、排他的な関係とは、例えば、適用対象が同じである、機器20が備える同一のパラメータに対してアクセスする等の関係が挙げられる。但し、この条件が満たされることにより直ちに排他的な関係であると定義されることを意図するものではない。例えば、適用対象が同じであっても、お互いに干渉し合うことなく適用対象に処理を割り込ませることができるのであれば排他的な関係とはならない可能性もある。   As described above, according to the third embodiment, parallel execution (simultaneous execution) of the additional program 26 having an exclusive relationship can be appropriately avoided. Accordingly, it is possible to prevent the unauthorized operation of the device 20 due to the parallel execution of the additional program 26 having an exclusive relationship. The exclusive relationship includes, for example, a relationship such as accessing the same parameter of the device 20 that has the same application target. However, it is not intended to be immediately defined as an exclusive relationship when this condition is satisfied. For example, even if the application target is the same, there is a possibility that the exclusive relationship may not be established if the application target can be interrupted without interfering with each other.

なお、第三の実施の形態を、第一又は第二の実施の形態と組み合わせて実施してもよい。そうすることにより、適用対象のプログラムと追加プログラム26との関係と、追加プログラム26間の関係との組み合わせに基づいて、追加プログラム26の適用及び実行を制限することができる。   Note that the third embodiment may be implemented in combination with the first or second embodiment. By doing so, application and execution of the additional program 26 can be restricted based on the combination of the relationship between the program to be applied and the additional program 26 and the relationship between the additional programs 26.

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

本発明の実施の形態における機器管理システムの構成例を示す図である。It is a figure which shows the structural example of the apparatus management system in embodiment of this invention. 追加プログラムの概要を説明するための図である。It is a figure for demonstrating the outline | summary of an additional program. 本発明の実施の形態における機器のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the apparatus in embodiment of this invention. 本発明の実施の形態における機器のソフトウェア構成例を示す図である。It is a figure which shows the software structural example of the apparatus in embodiment of this invention. 第一の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。It is a flowchart for demonstrating the application process of the additional program in 1st embodiment. 所有者情報の照合を概念的に示す図である。It is a figure which shows the collation of owner information notionally. 第二の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。It is a flowchart for demonstrating the application process of the additional program in 2nd embodiment. 適用可否判定テーブルの構成例を示す図である。It is a figure which shows the structural example of an applicability determination table. 第三の実施の形態における追加プログラムの適用処理を説明するためのフローチャートである。It is a flowchart for demonstrating the application process of the additional program in 3rd embodiment. 排他関係管理テーブルの構成例を示す図である。It is a figure which shows the structural example of an exclusive relationship management table.

符号の説明Explanation of symbols

1、2 機器管理システム
10 管理サーバ
11 追加処理制御部
12 追加プログラム管理部
20 機器
21 標準アプリケーション
21a コピーアプリ
21b FAXアプリ
21c プリンタアプリ
21d スキャナアプリ
22 SDKアプリケーション
22a、22b SDKアプリ
23 サービス層
24 追加プログラム制御部
25 OS
26 追加プログラム
221a、221b、261 証明書
601 コントローラ
602 オペレーションパネル
603 ファクシミリコントロールユニット
604 撮像部
605 印刷部
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
635 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス
1, 2 Device management system 10 Management server 11 Additional processing control unit 12 Additional program management unit 20 Device 21 Standard application 21a Copy application 21b FAX application 21c Printer application 21d Scanner application 22 SDK application 22a, 22b SDK application 23 Service layer 24 Additional program Control unit 25 OS
26 Additional programs 221a, 221b, 261 Certificate 601 Controller 602 Operation panel 603 Facsimile control unit 604 Imaging unit 605 Printing unit 611 CPU
612 ASIC
621 NB
622 SB
631 MEM-P
632 MEM-C
633 HDD
634 Memory card slot 635 Memory card 641 NIC
642 USB device 643 IEEE 1394 device 644 Centronics device

Claims (18)

適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な第二のプログラムに関連付けられている第二のデータと、前記第一のプログラムに関連付けられている第一のデータとが予め定義された対応関係に合致するか否かに基づいて前記第二のプログラムの適用の可否を判定する判定手段と、
前記判定手段の判定結果に応じて、前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手段とを有することを特徴とする電子機器。
Second data associated with a second program capable of dynamically interrupting processing to the first program to be applied, and first data associated with the first program Determining means for determining whether or not the second program can be applied based on whether or not matches a predefined correspondence relationship;
An electronic apparatus comprising: an execution control unit that applies the second program to the first program and executes the second program according to a determination result of the determination unit.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記判定手段は、前記第一のデータと前記第二のデータとが一致する場合に前記第二のプログラムの適用は可能であると判定することを特徴とする請求項1記載の電子機器。
The first data and the second data are data indicating the creator of the program to which each is added,
The electronic device according to claim 1, wherein the determination unit determines that the application of the second program is possible when the first data matches the second data.
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは前記第二のプログラムの作成者を示すデータであり、
前記プログラム識別子と前記作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段を有し、
前記判定手段は、前記第一のデータと前記第二のデータと前記対応情報とに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項1記載の電子機器。
The first data is a program identifier for identifying each of the plurality of first programs, the second data is data indicating the creator of the second program,
Management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier and the creator;
The electronic device according to claim 1, wherein the determination unit determines whether the second program can be applied based on the first data, the second data, and the correspondence information.
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは複数の前記第二のプログラムのそれぞれを識別するプログラム識別子であり、
前記第一プログラムのプログラム識別子と前記第二のプログラムの識別子との適用可能な対応関係を判定可能な対応情報を管理する管理手段を有し、
前記判定手段は、前記第一のデータと前記第二のデータと前記対応情報とに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項1記載の電子機器。
The first data is a program identifier that identifies each of the plurality of first programs, and the second data is a program identifier that identifies each of the plurality of second programs,
Management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier of the first program and the identifier of the second program;
The electronic device according to claim 1, wherein the determination unit determines whether the second program can be applied based on the first data, the second data, and the correspondence information.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記第一プログラムの作成者と前記第二のプログラムの作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段を有し、
前記判定手段は、前記第一のデータと前記第二のデータと前記対応情報とに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項1記載の電子機器。
The first data and the second data are data indicating the creator of the program to which each is added,
Management means for managing correspondence information capable of determining an applicable correspondence relationship between the creator of the first program and the creator of the second program;
The electronic device according to claim 1, wherein the determination unit determines whether the second program can be applied based on the first data, the second data, and the correspondence information.
適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な複数の第二のプログラムについて実行時期の排他関係を判定可能な対応情報を管理する管理手段と、
既に適用中の前記第二のプログラムと、これから適用される前記第二のプログラムとが排他関係にあるか否かを前記対応情報に基づいて判定する判定手段と、
前記判定手段の判定結果に応じて、こらから適用される前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手段とを有することを特徴とする電子機器。
A management means for managing correspondence information capable of determining an exclusive relationship of execution times for a plurality of second programs capable of dynamically interrupting processing to the first program to be applied;
Determination means for determining whether or not the second program already applied and the second program to be applied are in an exclusive relationship based on the correspondence information;
An electronic apparatus comprising: an execution control unit that applies the second program applied from here to the first program according to a determination result of the determination unit.
電子機器が実行するプログラム実行制御方法であって、
適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な第二のプログラムに関連付けられている第二のデータと、前記第一のプログラムに関連付けられている第一のデータとが予め定義された対応関係に合致するか否かに基づいて前記第二のプログラムの適用の可否を判定する判定手順と、
前記判定手順の判定結果に応じて、前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手順とを有することを特徴とするプログラム実行制御方法。
A program execution control method executed by an electronic device,
Second data associated with a second program capable of dynamically interrupting processing to the first program to be applied, and first data associated with the first program A determination procedure for determining whether or not the second program can be applied based on whether or not matches a predefined correspondence relationship;
An execution control procedure for executing the second program by applying the second program to the first program according to a determination result of the determination procedure.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記判定手順は、前記第一のデータと前記第二のデータとが一致する場合に前記第二のプログラムの適用は可能であると判定することを特徴とする請求項7記載のプログラム実行制御方法。
The first data and the second data are data indicating the creator of the program to which each is added,
8. The program execution control method according to claim 7, wherein the determination procedure determines that the application of the second program is possible when the first data and the second data match. .
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは前記第二のプログラムの作成者を示すデータであり、
前記判定手順は、前記プログラム識別子と前記作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項7記載のプログラム実行制御方法。
The first data is a program identifier for identifying each of the plurality of first programs, the second data is data indicating the creator of the second program,
The determination procedure is based on management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier and the creator, and the second data based on the first data and the second data. 8. The program execution control method according to claim 7, wherein the applicability of the program is determined.
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは複数の前記第二のプログラムのそれぞれを識別するプログラム識別子であり、
前記判定手順は、前記第一プログラムのプログラム識別子と前記第二のプログラムの識別子との適用可能な対応関係を判定可能な対応情報を管理する管理手手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項7記載のプログラム実行制御方法。
The first data is a program identifier that identifies each of the plurality of first programs, and the second data is a program identifier that identifies each of the plurality of second programs,
The determination procedure includes management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier of the first program and the identifier of the second program, the first data, and the second data 8. The program execution control method according to claim 7, wherein whether or not the second program can be applied is determined on the basis of the data.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記判定手順は、前記第一プログラムの作成者と前記第二のプログラムの作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項7記載のプログラム実行制御方法。
The first data and the second data are data indicating the creator of the program to which each is added,
The determination procedure includes: management means for managing correspondence information capable of determining an applicable correspondence relationship between the creator of the first program and the creator of the second program; the first data; and the second data 8. The program execution control method according to claim 7, wherein whether or not the second program can be applied is determined on the basis of the data.
電子機器が実行するプログラム実行制御方法であって、
適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な複数の第二のプログラムについて実行時期の排他関係を判定可能な対応情報を管理する管理手段に基づいて、既に適用中の前記第二のプログラムと、これから適用される前記第二のプログラムとが排他関係にあるか否かを前記対応情報に基づいて判定する判定手順と、
前記判定手順の判定結果に応じて、こらから適用される前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手順とを有することを特徴とするプログラム実行制御方法。
A program execution control method executed by an electronic device,
Already applied based on the management means that manages the correspondence information that can determine the exclusive relationship of execution time for multiple second programs that can dynamically interrupt the processing of the first program to be applied A determination procedure for determining whether or not the second program in the second program to be applied is exclusive based on the correspondence information;
A program execution control method, comprising: an execution control procedure for applying the second program applied from here to the first program according to a determination result of the determination procedure.
電子機器に、
適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な第二のプログラムに関連付けられている第二のデータと、前記第一のプログラムに関連付けられている第一のデータとが予め定義された対応関係に合致するか否かに基づいて前記第二のプログラムの適用の可否を判定する判定手順と、
前記判定手順の判定結果に応じて、前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手順とを実行させるためのプログラム。
Electronic equipment,
Second data associated with a second program capable of dynamically interrupting processing to the first program to be applied, and first data associated with the first program A determination procedure for determining whether or not the second program can be applied based on whether or not matches a predefined correspondence relationship;
A program for executing an execution control procedure for applying the second program to the first program and executing the second program according to a determination result of the determination procedure.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記判定手順は、前記第一のデータと前記第二のデータとが一致する場合に前記第二のプログラムの適用は可能であると判定することを特徴とする請求項13記載のプログラム。
The first data and the second data are data indicating the creator of the program to which each is added,
14. The program according to claim 13, wherein the determination procedure determines that the application of the second program is possible when the first data matches the second data.
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは前記第二のプログラムの作成者を示すデータであり、
前記判定手順は、前記プログラム識別子と前記作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項13記載のプログラム。
The first data is a program identifier for identifying each of the plurality of first programs, the second data is data indicating the creator of the second program,
The determination procedure is based on management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier and the creator, and the second data based on the first data and the second data. 14. The program according to claim 13, wherein the applicability of the program is determined.
前記第一のデータは複数の前記第一のプログラムのそれぞれを識別するプログラム識別子であり、前記第二のデータは複数の前記第二のプログラムのそれぞれを識別するプログラム識別子であり、
前記判定手順は、前記第一プログラムのプログラム識別子と前記第二のプログラムの識別子との適用可能な対応関係を判定可能な対応情報を管理する管理手手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項13記載のプログラム。
The first data is a program identifier that identifies each of the plurality of first programs, and the second data is a program identifier that identifies each of the plurality of second programs,
The determination procedure includes management means for managing correspondence information capable of determining an applicable correspondence relationship between the program identifier of the first program and the identifier of the second program, the first data, and the second data 14. The program according to claim 13, wherein whether or not the second program is applicable is determined based on the data.
前記第一のデータ及び前記第二のデータはそれぞれが付加されているプログラムの作成者を示すデータであり、
前記判定手順は、前記第一プログラムの作成者と前記第二のプログラムの作成者との適用可能な対応関係を判定可能な対応情報を管理する管理手段と、前記第一のデータ及び前記第二のデータとに基づいて前記第二のプログラムの適用の可否を判定することを特徴とする請求項13記載のプログラム。
The first data and the second data are data indicating the creator of the program to which each is added,
The determination procedure includes: management means for managing correspondence information capable of determining an applicable correspondence relationship between the creator of the first program and the creator of the second program; the first data; and the second data 14. The program according to claim 13, wherein whether or not the second program is applicable is determined based on the data.
電子機器に、
適用対象とされた第一のプログラムに動的に処理を割り込ませることが可能な複数の第二のプログラムについて実行時期の排他関係を判定可能な対応情報を管理する管理手段に基づいて、既に適用中の前記第二のプログラムと、これから適用される前記第二のプログラムとが排他関係にあるか否かを前記対応情報に基づいて判定する判定手順と、
前記判定手順の判定結果に応じて、こらから適用される前記第二のプログラムを前記第一のプログラムに適用して実行させる実行制御手順とを実行させるためのプログラム。
Electronic equipment,
Already applied based on the management means that manages the correspondence information that can determine the exclusive relationship of execution time for multiple second programs that can dynamically interrupt the processing of the first program to be applied A determination procedure for determining whether or not the second program in the second program to be applied is in an exclusive relationship based on the correspondence information;
A program for executing an execution control procedure for causing the second program applied from here to be applied to the first program in accordance with a determination result of the determination procedure.
JP2008121566A 2008-03-27 2008-05-07 Electronic device, method of controlling program execution, and program Pending JP2009271726A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008121566A JP2009271726A (en) 2008-05-07 2008-05-07 Electronic device, method of controlling program execution, and program
US12/410,539 US20090249346A1 (en) 2008-03-27 2009-03-25 Image forming apparatus, information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008121566A JP2009271726A (en) 2008-05-07 2008-05-07 Electronic device, method of controlling program execution, and program

Publications (1)

Publication Number Publication Date
JP2009271726A true JP2009271726A (en) 2009-11-19

Family

ID=41438221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008121566A Pending JP2009271726A (en) 2008-03-27 2008-05-07 Electronic device, method of controlling program execution, and program

Country Status (1)

Country Link
JP (1) JP2009271726A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713570B2 (en) 2009-07-07 2014-04-29 Ricoh Company, Ltd. Electronic device, information processing method, and storage medium
JP2014170366A (en) * 2013-03-04 2014-09-18 Ricoh Co Ltd Apparatus, information processing system, information processing method, and program
JP2021105979A (en) * 2019-12-26 2021-07-26 グニテック コーポレーション Firmware updating method and firmware updating system therefor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546432A (en) * 1991-06-24 1993-02-26 Nec Corp Controller automatically incorporating program debugging function
JPH11327892A (en) * 1998-05-15 1999-11-30 Nec Corp Object access control system by designer information
JP2002244921A (en) * 2001-02-19 2002-08-30 Sony Corp Data processing device
JP2006011987A (en) * 2004-06-28 2006-01-12 Ricoh Co Ltd Debugging system and debugging method
JP2007140620A (en) * 2005-11-15 2007-06-07 Sophia Systems Co Ltd Microcomputer and debugging device connected to this microcomputer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546432A (en) * 1991-06-24 1993-02-26 Nec Corp Controller automatically incorporating program debugging function
JPH11327892A (en) * 1998-05-15 1999-11-30 Nec Corp Object access control system by designer information
JP2002244921A (en) * 2001-02-19 2002-08-30 Sony Corp Data processing device
JP2006011987A (en) * 2004-06-28 2006-01-12 Ricoh Co Ltd Debugging system and debugging method
JP2007140620A (en) * 2005-11-15 2007-06-07 Sophia Systems Co Ltd Microcomputer and debugging device connected to this microcomputer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713570B2 (en) 2009-07-07 2014-04-29 Ricoh Company, Ltd. Electronic device, information processing method, and storage medium
JP2014170366A (en) * 2013-03-04 2014-09-18 Ricoh Co Ltd Apparatus, information processing system, information processing method, and program
JP2021105979A (en) * 2019-12-26 2021-07-26 グニテック コーポレーション Firmware updating method and firmware updating system therefor

Similar Documents

Publication Publication Date Title
KR101752082B1 (en) Development-environment system, development-environment device, and development-environment provision method and computer readable medium recording program
US8006241B2 (en) Automatic software installation and cleanup
US8990561B2 (en) Pervasive package identifiers
US20130160126A1 (en) Malware remediation system and method for modern applications
JP4844102B2 (en) Subprogram and information processing apparatus for executing the subprogram
JP5091925B2 (en) How to install the license file
US10291620B2 (en) Information processing apparatus, terminal apparatus, program, and information processing system for collaborative use of authentication information between shared services
JP2015046075A (en) Information processor, control method therefor, and computer program
JP5631940B2 (en) Information processing apparatus, method, and program
US8401973B1 (en) Method and system for managing a license for an add-on software component
JP5463762B2 (en) Electronic device, information processing method, and program
JP2013239098A (en) System, device, and program for processing information
JP2006338554A (en) Service using method and terminal
US20090249346A1 (en) Image forming apparatus, information processing apparatus and information processing method
JP2009271726A (en) Electronic device, method of controlling program execution, and program
AU2014276026B2 (en) Information processing device, information processing method, and program
US20230161604A1 (en) Automatic machine deployment and configuration
JP5293462B2 (en) Electronic device, information processing method, and information processing program
JP5310324B2 (en) Information processing apparatus, information processing method, and program
JP2021077971A (en) Information processing apparatus, file ensuring method, and file ensuring program
JP2017183930A (en) Server management system, server device, server management method, and program
US20150169852A1 (en) Controlling Execution of a Software Application on an Execution Platform in a Local Network
CN111353150B (en) Trusted boot method, trusted boot device, electronic equipment and readable storage medium
JP2007041694A (en) Upgrade method of firmware
JP2007094673A (en) Apparatus and use restriction program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130305