JP2007174315A - Apparatus and application management program - Google Patents

Apparatus and application management program Download PDF

Info

Publication number
JP2007174315A
JP2007174315A JP2005369870A JP2005369870A JP2007174315A JP 2007174315 A JP2007174315 A JP 2007174315A JP 2005369870 A JP2005369870 A JP 2005369870A JP 2005369870 A JP2005369870 A JP 2005369870A JP 2007174315 A JP2007174315 A JP 2007174315A
Authority
JP
Japan
Prior art keywords
application
state
management means
management
class
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
JP2005369870A
Other languages
Japanese (ja)
Other versions
JP4787614B2 (en
Inventor
Toru Sasaki
徹 佐々木
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 JP2005369870A priority Critical patent/JP4787614B2/en
Publication of JP2007174315A publication Critical patent/JP2007174315A/en
Application granted granted Critical
Publication of JP4787614B2 publication Critical patent/JP4787614B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an apparatus capable of easily performing function addition and repair, and efficiently attaining a mechanism of general-purpose application management. <P>SOLUTION: The apparatus capable of executing a plurality of applications has an apparatus state managing means for judging the acceptance or rejection of application usage on the basis of a state of the apparatus in response to an application execution request, an application configuration managing means for managing a configuration of applications, and an application state managing means for managing state information to be a factor of acceptance or rejection judgement to use a corresponding application for each application. The application configuration managing means has an application managing means for judging the acceptance or rejection to use an application on the basis of the state of the application and manages the configuration of applications having a plurality of functions by a hierarchical structure of the application managing means. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、機器及びアプリケーション管理プログラムに関し、特に、複数のアプリケーションを実行可能な機器及びアプリケーション管理プログラムに関するものである。   The present invention relates to a device and an application management program, and more particularly to a device and an application management program capable of executing a plurality of applications.

従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、UNIX(登録商標)などの汎用OS上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。   2. Description of the Related Art Conventionally, there has been known a multi-function machine in which a plurality of functions such as a printer, a copy, and a scanner are stored in a single casing. In such a multifunction device, a plurality of applications called a printer application, a copy application, and a scanner application are mounted on a general-purpose OS such as UNIX (registered trademark), and a plurality of functions are realized while switching execution processes of these applications. It was.

ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。   However, since the printer application, the copy application, and the scanner application perform engine control, memory control, system control, and the like separately, wasteful duplication processing has occurred.

このため、特許文献1では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分(プラットホーム)として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
特開2002−084383号公報
For this reason, in Patent Document 1, the applications such as engine control, memory control, and system control, which have been performed by a plurality of applications installed in the multifunction peripheral, are grouped from each application as a common processing part (platform). The development efficiency is improved.
JP 2002-084383 A

しかしながら、この特許文献1で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。   However, the invention disclosed in Patent Document 1 shares a processing part for controlling hardware, and does not share all internal processes of each application. For this reason, there is still room for improvement in the application on the multifunction peripheral in order to improve the development efficiency.

例えば、プリンタアプリやコピーアプリといった各アプリの動作設定を管理するアプリ管理処理では、設定画面の利用権取得や電力状態の変更といった処理をおこなったうえで各アプリに対する設定処理をおこなう必要があった。これらの処理は、複合機に搭載される各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。   For example, in the application management process that manages the operation settings of each application such as a printer application and a copy application, it is necessary to perform the setting process for each application after performing processing such as acquiring the usage rights of the setting screen and changing the power state . These processes are common to each application installed in the MFP, but are not directly controlled by the hardware, so they are implemented separately for each application and can be shared. It is.

また、近年の複合機では、ネットワークを介した端末装置から各アプリの設定処理をおこなうことが可能となっており、複合機を直接操作して設定処理をおこなう場合と、ネットワークを介して設定処理をおこなう場合とでは、設定対象となる項目を変更する場合も多い。さらに、設定処理をおこなう利用者には、一般利用者、保守要員(サービスパーソン)などがあり、これらの利用者ごとに設定対象となる項目を変更する必要がある。   Also, in recent multifunction devices, it is possible to perform setting processing of each application from a terminal device via a network. When performing setting processing by directly operating the multifunction device, setting processing via a network is possible. In many cases, the item to be set is changed. Furthermore, the users who perform the setting process include general users and maintenance personnel (service persons), and it is necessary to change items to be set for each of these users.

これらのことから、複合機に搭載されるアプリケーションのアプリ管理処理をいかにして汎用的に、かつ、効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、アプリケーションの管理処理をおこなうアプリ管理装置についても同様に生ずる課題である。   For these reasons, it has become a major issue how to implement application management processing of applications installed in multifunction peripherals in a versatile and efficient manner. Such a problem does not occur only for the multifunction peripheral, but also occurs for an application management apparatus that performs application management processing.

本発明は、上述した従来技術による問題点を解消するためになされたものであり、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができる機器及びアプリケーション管理プログラムを提供することを目的とする。   The present invention has been made to solve the above-described problems caused by the prior art, and can easily add or modify functions, and can efficiently realize a general-purpose application management mechanism. An object is to provide a device and application management program.

そこで上記課題を解決するため、本発明は、複数のアプリケーションを実行可能な機器であって、前記アプリケーションの実行要求に応じ当該機器の状態に基づいて前記アプリケーションの利用の可否判断を行う機器状態管理手段と、前記アプリケーションの構成を管理するアプリ構成管理手段と、前記アプリケーションごとに当該アプリケーションの利用の可否判断の要因となる状態情報を管理するアプリ状態管理手段とを有し、前記アプリ構成管理手段は、前記アプリケーションごとの状態に基づいて当該アプリケーションの利用の可否判断を行うアプリケーション管理手段を有し、当該アプリケーション管理手段の階層構造によって、複数の機能を有する前記アプリケーションの構成を管理することを特徴とする。   Therefore, in order to solve the above-described problem, the present invention provides a device status management device that can execute a plurality of applications, and determines whether the application can be used based on the status of the device in response to an execution request of the application. An application configuration management unit that manages the configuration of the application, and an application status management unit that manages status information that is a factor for determining whether or not the application can be used for each application. Has application management means for determining whether or not the application can be used based on the state of each application, and manages the configuration of the application having a plurality of functions by the hierarchical structure of the application management means. And

このような機器では、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができる。   In such a device, functions can be easily added and modified, and a general-purpose application management mechanism can be efficiently realized.

また、上記課題を解決するため、本発明は、上記機器を上記各手段として機能させるためのアプリケーション管理プログラムとしてもよい。   Moreover, in order to solve the said subject, this invention is good also as an application management program for functioning the said apparatus as said each means.

本発明によれば、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができる機器及びアプリケーション管理プログラムを提供することができる。   According to the present invention, it is possible to provide a device and an application management program that can easily add or modify functions and can efficiently realize a general-purpose application management mechanism.

以下、図面に基づいて本発明の実施の形態を説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、アプリ管理をおこなう各種装置に適用することができる。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the present embodiment, the case where the present invention is applied to an image forming apparatus will be described. However, the present invention is not limited to this, and can be applied to various apparatuses that perform application management.

まず、本実施の形態に係る画像形成装置(以下「複合機」と言う)1の概要について図1、図2、図3、図9および図10を用いて説明する。図1は、本実施の形態に係る複合機1を取り巻くネットワーク環境を説明するためのネットワーク図であり、図2は、図1に示した複合機1のハードウェア構成を示すブロック図であり、図3は、図1に示した複合機1のソフトウェアとハードウェアの関係を説明するための説明図である。また、図9は、複合機1に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図10は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。   First, an outline of an image forming apparatus (hereinafter referred to as “multifunction machine”) 1 according to the present embodiment will be described with reference to FIGS. 1, 2, 3, 9, and 10. FIG. 1 is a network diagram for explaining a network environment surrounding the MFP 1 according to the present embodiment, and FIG. 2 is a block diagram showing a hardware configuration of the MFP 1 shown in FIG. FIG. 3 is an explanatory diagram for explaining a relationship between software and hardware of the multifunction machine 1 shown in FIG. FIG. 9 is an explanatory diagram for explaining the transition of the software configuration installed in the multifunction device 1, and FIG. 10 is an explanatory diagram for explaining the relationship between software and hardware of a conventional multifunction device. is there.

図1に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ(PC)などの機器は、LAN(Local Area Network)などのネットワークに接続され、相互に通信することが通常となった。例えば、同図に示したように、かかるネットワークには、クライアントPC、SMTP(Simple Mail Transfer Protocol)サーバ、FTP(File Transfer Protocol)サーバ、サーバPCなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。   As shown in FIG. 1, with the recent progress of networking, devices such as personal computers (PCs) provided in offices are connected to a network such as a LAN (Local Area Network) and can communicate with each other. It became normal. For example, as shown in the figure, a client PC, an SMTP (Simple Mail Transfer Protocol) server, an FTP (File Transfer Protocol) server, a server PC, etc. are connected to such a network to send and receive e-mails and transfer files. The modem-connected delivery server can communicate with a fax machine outside the office.

このようなネットワーク化の進展に伴い、複合機1もネットワークに接続され、PC等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。   With the progress of such networking, the multifunction device 1 is also connected to the network and can communicate with a device such as a PC. By incorporating a storage device such as a hard disk, a so-called network multifunction device is achieved. It has evolved to meet the various needs of users.

例えば、複合機1は、通常のコピー機能に加えて、クライアントPCからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントPCからのファックス要求により文書データ等をサーバPCに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。   For example, in addition to the normal copy function, the multifunction device 1 includes a printer function for printing document data or the like in response to a print request from the client PC, and a modem connected to the server PC for document data or the like in response to a fax request from the client PC. It has a fax function that sends it to fax machines in other offices via the Internet, and a storage function that stores received fax documents and copy documents on a built-in hard disk.

こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機1に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。   In this way, in order to realize many functions required by the progress of compounding and networking, the software installed in the compound machine 1 is large and complicated. Along with this, the man-hours for developing and maintaining such software have also increased significantly.

図2は、かかる複合機1のハードウェア構成を示すブロック図である。同図に示すように、この複合機1は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ10は、複合機1全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。   FIG. 2 is a block diagram illustrating a hardware configuration of the multifunction machine 1. As shown in the figure, the multifunction machine 1 has a configuration in which a controller 10 and an engine unit (Engine) 60 are connected by a PCI (Peripheral Component Interconnect) bus. The controller 10 is a controller that controls the entire multifunction device 1 and controls drawing, communication, and input from an operation unit (not shown). The engine unit 60 is a printer engine that can be connected to a PCI bus, and is, for example, a monochrome plotter, a one-drum color plotter, a four-drum color plotter, a scanner, or a fax unit. The engine unit 60 includes an image processing part such as error diffusion and gamma conversion in addition to a so-called engine part such as a plotter.

コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)18とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bとをさらに有する。   The controller 10 includes a CPU 11, a north bridge (NB) 13, a system memory (MEM-P) 12, a south bridge (SB) 14, a local memory (MEM-C) 17, and an ASIC (Application Specific Integrated Circuit). 16 and a hard disk drive (HDD) 18, and the north bridge (NB) 13 and the ASIC 16 are connected by an AGP (Accelerated Graphics Port) bus 15. The MEM-P 12 further includes a ROM (Read Only Memory) 12a and a RAM (Random Access Memory) 12b.

CPU11は、複合機1の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。   The CPU 11 performs overall control of the multifunction machine 1 and includes a chip set including the NB 13, the MEM-P 12, and the SB 14, and is connected to other devices via the chip set.

NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。   The NB 13 is a bridge for connecting the CPU 11 to the MEM-P 12, SB 14, and AGP 15, and includes a memory controller that controls reading and writing to the MEM-P 12, a PCI master, and an AGP target.

MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。   The MEM-P 12 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, a memory for drawing a printer, and the like, and includes a ROM 12a and a RAM 12b. The ROM 12a is a read-only memory used as a memory for storing programs and data, and the RAM 12b is a writable and readable memory used as a program / data development memory, a printer drawing memory, and the like.

SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。   The SB 14 is a bridge for connecting the NB 13 to a PCI device and peripheral devices. The SB 14 is connected to the NB 13 via a PCI bus, and a network interface (I / F) unit and the like are also connected to the PCI bus.

ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD18およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Fax Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース50が接続される。   The ASIC 16 is an IC (Integrated Circuit) for image processing applications having hardware elements for image processing, and has a role of a bridge for connecting the AGP 15, PCI bus, HDD 18 and MEM-C 17. The ASIC 16 includes a PCI target and an AGP master, an arbiter (ARB) that is the core of the ASIC 16, a memory controller that controls the MEM-C 17, and a plurality of DMACs (Direct Memory) that perform rotation of image data by hardware logic. Access Controller) and a PCI unit that performs data transfer between the engine unit 60 via the PCI bus. An FCU (Fax Control Unit) 30, a USB (Universal Serial Bus) 40, and an IEEE 1394 (the Institute of Electrical and Electronics Engineers 1394) interface 50 are connected to the ASIC 16 via a PCI bus.

MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。   The MEM-C 17 is a local memory used as an image buffer for copying and a code buffer, and an HDD (Hard Disk Drive) 18 is a storage for storing image data, programs, font data, and forms. It is.

AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。   The AGP 15 is a bus interface for a graphics accelerator card proposed for speeding up graphics processing. The AGP 15 speeds up the graphics accelerator card by directly accessing the MEM-P 12 with high throughput. .

図3は、かかる複合機1のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分であるアプリ管理部111bを含む統合アプリケーション110と、ソフトウェア100およびハードウェア200の階層関係を示している。同図に示すように、ハードウェア200は、ハードウェアリソース201を有し、このハードウェアリソース201は、スキャナ201a、プロッタ201b、HDD(Hard Disk Drive)201c、ネットワーク201dおよびその他のリソース201eを有する。なお、その他のリソース201eは、201a〜201d以外のハードウェアリソース201のことであり、例えば、操作パネルなどの入出力デバイスを示す。   FIG. 3 is a conceptual diagram showing the hardware and software configurations of the multifunction machine 1, and specifically, an integrated application 110 including an application management unit 111b, which is a characteristic part of the present embodiment to be described later, A hierarchical relationship between the software 100 and the hardware 200 is shown. As shown in the figure, the hardware 200 includes a hardware resource 201. The hardware resource 201 includes a scanner 201a, a plotter 201b, an HDD (Hard Disk Drive) 201c, a network 201d, and other resources 201e. . The other resource 201e is a hardware resource 201 other than 201a to 201d, and indicates an input / output device such as an operation panel, for example.

また、かかるハードウェア200に搭載されるソフトウェア100は階層化されており、オペレーティングシステム103の上層にはサービス層102が構築され、このサービス層102の上層にはアプリケーション層103が構築されている。そして、サービス層102は、各ハードウェアリソース(201a〜201e)を制御するドライバーに相当する、スキャナ制御102部a、プロッタ制御部102b、蓄積制御部102c、配信/メール送受信制御部102d、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gを有する。   The software 100 installed in the hardware 200 is hierarchized, and a service layer 102 is constructed above the operating system 103, and an application layer 103 is constructed above the service layer 102. The service layer 102 corresponds to a driver that controls each hardware resource (201a to 201e). The scanner control unit 102a, plotter control unit 102b, storage control unit 102c, distribution / mail transmission / reception control unit 102d, FAX transmission / reception It has a control unit 102e, a network communication control unit 102f, and another control unit 102g.

ここで、図3に示したソフトウェア100が、かかる階層構造をとるに至った経緯について、図9および図10を用いて説明する。図9は、複合機1に搭載されるソフトウェア構成の変遷を示す説明図である。図9のサービス層分離前アプリケーション501に示すように、多機能化した複合機1に搭載されるソフトウェアは、コピーアプリケーション、FAXアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図3に示したオペレーティングシステム103上で動作していた。   Here, how the software 100 shown in FIG. 3 has taken such a hierarchical structure will be described with reference to FIGS. 9 and 10. FIG. FIG. 9 is an explanatory diagram showing the transition of the software configuration installed in the multifunction machine 1. As shown in the pre-service layer separation application 501 in FIG. 9, the software installed in the multifunctional multifunction device 1 is created as an independent application for each function such as a copy application, a FAX application, and a scanner application. It was operating on the operating system 103 shown.

しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー(サービス層102)を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。   However, since these applications include a driver (service layer 102) that controls hardware resources, duplicate processing exists in each application. As a result, the scale of each application has become large.

そこで、図9のサービス層分離後アプリケーション502に示すように、サービス層分離前アプリケーション501のサービス層102相当部分を括りだしサービス層102とするとともに、各アプリケーションは、このサービス層102の上層であるアプリケーション層101に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。   Therefore, as shown in the post-service layer separation application 502 in FIG. 9, the portion corresponding to the service layer 102 of the pre-service layer separation application 501 is defined as the service layer 102, and each application is an upper layer of the service layer 102. The application layer 101 is constructed. By adopting such a hierarchical structure, each application has been streamlined and development effort has been reduced.

しかしながら、複合機1のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層101の各アプリケーション、例えば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部102aや蓄積制御部102cといったドライバーと通信をおこなう処理などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。   However, as the networking and multi-functionalization of the multifunction machine 1 further advance, it has become a problem that a common processing part exists in each application. Specifically, each application in the application layer 101, for example, a copy application or a scanner application, internally has similar processing such as processing for communicating with a driver such as the scanner control unit 102a or the accumulation control unit 102c. It was. As described above, when each application has the same processing, the development scale of each application is increased, and the improvement scale of each application with respect to the specification change of the service layer is increased.

この問題を解決するため、図9の共通ルーチン分離アプリケーション503に示すように、かかる同様な処理(共通処理部分)を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、例えば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。   In order to solve this problem, as shown in the common routine separation application 503 in FIG. 9, it has been considered that such a similar process (common processing part) is bundled as a common routine. However, since such a common routine is intended to share slightly different processing in each application, the processing inside the common routine becomes complicated. For example, when adding a new application such as a printer application, it is necessary to modify the common routine in order to adapt to the new application.

しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。   However, since the internal processing of the common routine is complicated, it became difficult for repair personnel to grasp the processing, and there were concerns about the increase in the scale of repair and the impact on other applications due to repair mistakes.

そこで、図9のオブジェクト指向アプリケーション504に示すように、オブジェクト指向による設計手法(オブジェクトモデリング)により、かかる複数のアプリケーションを、統合アプリケーション110に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション110を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。   Therefore, as shown in the object-oriented application 504 in FIG. 9, the plurality of applications are integrated into the integrated application 110 by an object-oriented design method (object modeling). Specifically, a common processing part of each application is extracted as an object model, and the integrated application 110 is configured from the collection of object models. The functions such as the conventional copy function and scanner function are realized by the cooperative relationship of the object model.

このような構成をとることにより、例えばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。   By adopting such a configuration, for example, addition of a new function such as a printer function can be dealt with by subclassing a class belonging to the object model. For this reason, a repair part becomes clear and the influence on other functions by repair can be made small. In addition, the object modeling program is easier to grasp the process than the conventional procedural program, so it is easier for the repair staff to grasp the process, reducing the scale of the repair, and other applications due to mistakes in the repair. The influence on can be reduced.

図10は、図9に示したサービス層分離後アプリケーション502の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層102の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層101は、コピーアプリケーション120、スキャナアプリケーション130、ファックスアプリケーション140およびプリンタアプリケーション150を有する。   FIG. 10 is an explanatory diagram showing the configuration of a conventional application at the stage of the service layer separated application 502 shown in FIG. 9 and the relationship between the application and each driver of the service layer 102. As shown in the figure, the application layer 101 includes a copy application 120, a scanner application 130, a fax application 140, and a printer application 150.

例えば、コピーアプリケーション120は、コピー機能を実現するために、スキャナ制御部102a、プロッタ制御部102b、蓄積制御部102cおよびその他の制御部102gとデータの送受信をおこなう。また、ファックスアプリケーション140は、ファックス機能を実現するために、プロッタ制御部102b、蓄積制御部102c、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gとデータの送受信をおこなう。このように、アプリケーション層101の各アプリケーションとサービス層102の各ドライバー間の通信は、複雑なものとなっていた。   For example, the copy application 120 transmits / receives data to / from the scanner control unit 102a, the plotter control unit 102b, the accumulation control unit 102c, and the other control unit 102g in order to realize a copy function. In addition, the fax application 140 performs data transmission / reception with the plotter control unit 102b, the accumulation control unit 102c, the FAX transmission / reception control unit 102e, the network communication control unit 102f, and the other control unit 102g in order to realize the fax function. As described above, communication between each application in the application layer 101 and each driver in the service layer 102 is complicated.

図3の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層101に存在した複数のアプリケーションは、統合アプリケーション110に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション110を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層101のアプリケーションと、サービス層102の各ドライバー間の通信は、図10と比較して単純になっている。   Returning to the description of FIG. 3, a plurality of applications existing in the application layer 101 are integrated into the integrated application 110 by the object modeling described above. The communication processing with each driver, which has been performed by each application overlappingly, is configured to be performed by a predetermined object model that configures the integrated application 110, so that the application of the application layer 101 and the service layer 102 of Communication between the drivers is simpler than that shown in FIG.

次に、統合アプリケーション110の内部構成について説明する。図4は、統合アプリケーション110の内部構成を示すブロック図である。同図に示すように、統合アプリケーション110は、操作系サブシステム111と、管理系サブシステム112と、実行系サブシステム113とを有する。   Next, the internal configuration of the integrated application 110 will be described. FIG. 4 is a block diagram showing the internal configuration of the integrated application 110. As shown in the figure, the integrated application 110 has an operation subsystem 111, a management subsystem 112, and an execution subsystem 113.

操作系サブシステム111は、マンマシンインタフェースおよびアプリ管理を担当するソフトウェア群である。具体的には、この操作系サブシステム111は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。   The operation subsystem 111 is a software group in charge of man-machine interface and application management. Specifically, the operation subsystem 111 performs a process for accepting a user request, a process for instructing execution of the request, and a process for providing the user with information about the execution status and execution result of the request. .

管理系サブシステム112は、複合機1の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム112は、ハードウェアリソース201およびこのハードウェアリソース201が保持するデータ状態を管理するサービスをおこなう。   The management subsystem 112 is a software group that manages the resources of the multifunction machine 1. Specifically, the management subsystem 112 performs a service for managing the hardware resource 201 and the data state held by the hardware resource 201.

実行系サブシステム113は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム113は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。   The execution subsystem 113 is a software group in charge of executing a request from a user. Specifically, the execution subsystem 113 performs processing from reading a document to outputting a product when a copy request is made.

操作系サブシステム111、管理系サブシステム112および実行系サブシステム113は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション110全体として複合機1に必要とされるサービスの提供をおこなう。   The operation system subsystem 111, the management system subsystem 112, and the execution system subsystem 113 mutually request processing as necessary and send the results. In this way, the subsystems cooperate to provide services required for the multifunction device 1 as the integrated application 110 as a whole.

そして、操作系サブシステム111は、マンマシンインタフェースを担当する操作制御部111aと、本実施の形態の特徴部分であるアプリ管理部111bとをさらに有する。このアプリ管理部111bは、管理対象となるアプリの振る舞いを決定する状態を管理し、この状態の移行可否判定および移行にともなう処理をおこなう処理部である。   The operation subsystem 111 further includes an operation control unit 111a in charge of a man-machine interface and an application management unit 111b that is a characteristic part of the present embodiment. The application management unit 111b is a processing unit that manages a state for determining the behavior of an application to be managed, and determines whether or not to shift the state and performs a process associated with the transition.

図5は、図4に示した各サブシステムを、UML(Unified Modeling Language)のクラス図(UMLクラス図)に置き換えた図である。ここで、UMLとは、OMG(Object Management Group)が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。   FIG. 5 is a diagram in which each subsystem shown in FIG. 4 is replaced with a UML (Unified Modeling Language) class diagram (UML class diagram). Here, UML is a system modeling language for which specifications are formulated by OMG (Object Management Group), and defines a notation for describing the results of modeling. This UML is widely used in the design of object-oriented software.

図5に示すように、統合アプリケーション110は複数のパッケージを有し、また、この統合アプリケーション110自体もひとつのパッケージとなっている。ここで、パッケージとはUMLモデルの各構成要素(シンボル)をグループ化したものであり、左上にタブのついたフォルダの形をしたシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。   As shown in FIG. 5, the integrated application 110 has a plurality of packages, and the integrated application 110 itself is one package. Here, the package is a group of components (symbols) of the UML model, and is expressed by a symbol in the form of a folder with a tab on the upper left. A straight line connecting the packages indicates that there is a relationship such as a processing request between the packages.

図5に示したように、統合アプリケーション110は、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113の3つのパッケージを内部に有するパッケージである。さらに、操作系サブシステム111は、操作制御部111aと、本実施の形態の特徴部分であるアプリ管理部111bとを内部に有するパッケージである。   As shown in FIG. 5, the integrated application 110 is a package having three packages of an operation subsystem 111, a management subsystem 112, and an execution subsystem 113 inside. Furthermore, the operation system subsystem 111 is a package that includes an operation control unit 111a and an application management unit 111b that is a characteristic part of the present embodiment.

そして、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113を相互に結ぶ直線は、各パッケージ間に処理依頼(例えば、メッセージ送受信)などの関連があることを示している。なお、操作系サブシステム111、管理系サブシステム112および実行系サブシステム113のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すUMLのシンボルである。   A straight line connecting the operation subsystem 111, the management subsystem 112, and the execution subsystem 113 indicates that there is a relationship such as a processing request (for example, message transmission / reception) between the packages. A symbol written at the right end of the tabs of the operation subsystem 111, the management subsystem 112, and the execution subsystem 113 is a UML symbol indicating that the package is a subsystem.

次に、本実施の形態の特徴部分であるアプリ管理部111bについて詳細に説明する。なお、このアプリ管理部111bは、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。   Next, the application management unit 111b, which is a characteristic part of the present embodiment, will be described in detail. In addition, when designing based on object orientation, the application management unit 111b configures an object model so that existing processing is not simply converted into an object and functions can be added or modified more easily.

図6は、アプリ管理部111bのクラス構成を示すUMLクラス図である。   FIG. 6 is a UML class diagram showing a class configuration of the application management unit 111b.

まず、クラスとUMLクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理を定義するとともに、継承関係や集約関係といった、他のクラスとの関係を定義するものである。   First, the class description method in the class and UML class diagram will be described. A class is a concept that corresponds to a blueprint for the objects that make up an object-oriented system. It defines the attributes and processing that an object has and defines relationships with other classes, such as inheritance and aggregation relationships. It is.

UMLクラス図におけるクラスは、3段の区画を有する矩形として記述される。それぞれの区画は、上から、クラス名を示す名前区画、クラスが有するデータ(属性)を示す属性区画およびクラスが有する処理(操作)を示す操作区画と呼ばれる。例えば、機器クラス311を示す矩形の名前区画は、かかるクラスのクラス名が「機器」であることを示し、属性区画は、かかるクラスが有する属性が、「運用状態」であることを示し、操作区画は、かかるクラスが有する操作が、「設定開始()」であることを示している。   The class in the UML class diagram is described as a rectangle having three sections. From the top, each section is called a name section indicating a class name, an attribute section indicating data (attribute) included in the class, and an operation section indicating processing (operation) included in the class. For example, a rectangular name block indicating the device class 311 indicates that the class name of the class is “device”, and an attribute block indicates that the attribute of the class is “operating state”. The section indicates that the operation of the class is “setting start ()”.

このように、各クラスは、データ(属性)を保持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理(操作)を保持するための操作区画とを有している。これらのクラスは、プログラム(統合アプリケーション110)の一部として含まれるので、あらかじめROM12aに格納されたこのプログラムが実行されると、各クラスはRAM12bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM12b上に展開される。したがって、クラスを実体化したオブジェクトは、RAM12b上の各データ(属性)の書き込みおよび読み出しをすることが可能となる。   In this way, each class has an attribute section for holding data (attribute) and an operation section for holding processing (operation) for writing and reading such an attribute. Since these classes are included as a part of the program (integrated application 110), when this program stored in the ROM 12a in advance is executed, each class is materialized in a predetermined area of the RAM 12b and included in the attribute section. Each data (attribute) is expanded on the RAM 12b. Therefore, the object in which the class is materialized can write and read each data (attribute) on the RAM 12b.

なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「+」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「設定開始()」のように「()」記号を付することが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。   In addition, if a "-" symbol is attached to the left side of a class element such as attribute or operation, this indicates that the element is private to external classes, and if a "+" symbol is attached, this element Indicates that it is open to external classes. Also, for operations, it is customary to add a “()” symbol, such as “setting start ()”, and when describing an argument to be passed to the operation, such as “(argument 1, argument 2)” There is also.

次に、本実施の形態の特徴部分であるアプリ管理部111bのクラスの概要について説明する。図6に示されるように、アプリ管理部111bは、機器状態管理部310、アプリ構成管理部320、及びアプリ状態管理部330に大別される。   Next, an outline of the class of the application management unit 111b, which is a characteristic part of the present embodiment, will be described. As shown in FIG. 6, the application management unit 111 b is roughly divided into a device state management unit 310, an application configuration management unit 320, and an application state management unit 330.

機器状態管理部310は、複合機1全体に影響するような状態情報を管理し、機器クラス311及び省エネクラス312を含む。アプリ構成管理部320は、主にアプリケーションの構成を管理し、アプリクラス321、単一アプリクラス322及び複合アプリクラス323を含む。アプリ状態管理部330は、各アプリケーションの状態を管理し、設定情報クラス331、SP(Service Program)設定情報クラス332、UP(User Program)設定情報クラス333及び画面クラス334を含む。これら、各クラスについて以下に説明する。   The device status management unit 310 manages status information that affects the entire MFP 1, and includes a device class 311 and an energy saving class 312. The application configuration management unit 320 mainly manages the configuration of the application, and includes an application class 321, a single application class 322, and a composite application class 323. The application state management unit 330 manages the state of each application, and includes a setting information class 331, an SP (Service Program) setting information class 332, an UP (User Program) setting information class 333, and a screen class 334. Each of these classes will be described below.

機器クラス311は、一つのインスタンスが一台の機器(複合機1)に対応し、複合機1の利用制限に関する状態を管理するとともに、電力状態とアプリケーションの状態との調停を行うクラスである。機器クラス311は、属性として状態311aを有し、操作としてアプリ利用()312bを有する。   The device class 311 is a class in which one instance corresponds to one device (multifunction device 1), manages the state related to the use restriction of the multifunction device 1, and arbitrates between the power state and the application state. The device class 311 has a state 311a as an attribute and an application usage () 312b as an operation.

状態311aは、複合機1が機能を提供しているのか、又は複合機1に対する何らかの利用制限がかかっているのかといった複合機1に対する利用制限状態を保持する。   The state 311a holds a use restriction state for the multifunction device 1 such as whether the multifunction device 1 provides a function or whether some kind of use restriction is imposed on the multifunction device 1.

アプリ利用()312bは、アプリケーションの利用要求を受け付けるための操作であり、呼び出しに応じて、複合機1の全体的なレベルの粒度での利用可否を判定し、利用可能と判定した場合にアプリケーションの処理を実行させる。例えば、複合機1における電力状態等が利用可否の判定材料となる。   The application usage () 312b is an operation for accepting an application usage request, and determines whether or not the MFP 1 can be used at an overall level of granularity in response to a call. Execute the process. For example, the power state or the like in the multifunction device 1 is a material for determining availability.

省エネクラス312は、現在の機器の電力状態を知っており、その電力状態の切替要求に対する切替可否判断と切替処理を行うクラスである。省エネクラス312は、属性として状態312aを有し、操作として解除()312bを有する。   The energy saving class 312 is a class that knows the current power state of the device and performs switchability determination and switching processing in response to the power state switching request. The energy saving class 312 has a state 312a as an attribute and a release () 312b as an operation.

状態312aは、複合機1の現在の電力状態を保持する。電力状態には例えば、通常待機状態や省電力状態といった複数の段階があり、各段階において電力の供給状態が異なる。通常待機状態とは、複合機1がサービス提供可能な状態で待機している状態のことをいう。省電力状態とは、電力消費を抑えるために所定箇所への電力供給を停止したり抑制したりしている状態のことをいう。例えば、この省電力状態では操作パネルを非表示にすることが行われる。なお、この省電力状態にさらに複数の段階を設けることとしてもよい。   The state 312a holds the current power state of the multifunction device 1. The power state includes, for example, a plurality of stages such as a normal standby state and a power saving state, and the power supply state is different in each stage. The normal standby state refers to a state in which the multifunction device 1 is on standby in a state where service can be provided. The power saving state refers to a state where power supply to a predetermined location is stopped or suppressed in order to reduce power consumption. For example, in this power saving state, the operation panel is hidden. Note that a plurality of stages may be further provided in this power saving state.

解除()312bは、機器クラス311を実体化した機器オブジェクト311Aから呼び出され、省電力状態を解除して通常待機状態に戻す処理をおこなう。   Cancel () 312 b is called from the device object 311 A that materializes the device class 311, and performs processing to cancel the power saving state and return to the normal standby state.

アプリクラス321は、各アプリケーションの動作制限状態を管理すると共に、アプリケーションの利用要求がなされた際に当該アプリケーションの利用の可否判断等の処理を行うクラスである。アプリクラス321は、属性として状態321a及び種類321bを有し、操作として利用()321cを有する。   The application class 321 is a class that manages the operation restriction state of each application and performs processing such as determining whether or not the application can be used when an application use request is made. The application class 321 has a state 321a and a type 321b as attributes, and a use () 321c as an operation.

状態321aは、アプリケーションが提供できる動作に対する制限の有無を示す動作制限状態を保持する。状態321aの値が「無し」の場合は、アプリケーションが機能を縮退させることなく機能提供を行っている状態を示す。一方、状態321aの値が「有り」の場合は、アプリケーションが機能を縮退させて機能提供を行っている状態を示す。なお、動作制限状態は、設定情報の設定等の要因により変化する。   The state 321a holds an operation restriction state indicating whether or not there is a restriction on an operation that can be provided by the application. When the value of the state 321a is “none”, this indicates a state in which the application provides a function without degenerating the function. On the other hand, when the value of the state 321a is “present”, it indicates a state in which the application provides the function by degenerating the function. The operation restriction state changes depending on factors such as setting of setting information.

種類321bは、各アプリケーションの種類を識別するための情報を保持する。例えば、「コピーアプリ」、「送信アプリ」、「プリンタアプリ」又は「複合アプリ」等の値が保持される。   The type 321b holds information for identifying the type of each application. For example, values such as “copy application”, “transmission application”, “printer application”, or “composite application” are stored.

利用()321cは、アプリケーションが現在提供している機能を利用して、要求された機能を実行する。機能を実行するためには画面(操作パネル)と設定情報とを用いる必要があるため、機能の実行にあたり、画面クラス334及び設定情報クラス331とのメッセージのやりとりが発生する。   The use () 321 c executes the requested function using the function currently provided by the application. Since it is necessary to use a screen (operation panel) and setting information in order to execute the function, message exchange between the screen class 334 and the setting information class 331 occurs when the function is executed.

単一アプリクラス322は、アプリクラス321のサブクラスであり、単一機能のアプリケーション(以下「単一アプリ」という。)に対応する。   The single application class 322 is a subclass of the application class 321 and corresponds to an application having a single function (hereinafter referred to as “single application”).

複合アプリクラス323は、アプリクラス321のサブクラスであり、複数の機能が複合されたアプリケーション(例えば、上述における統合アプリケーション110のようなアプリケーション、以下「複合アプリ」という。)に対応する。   The composite application class 323 is a subclass of the application class 321 and corresponds to an application in which a plurality of functions are combined (for example, an application such as the integrated application 110 described above, hereinafter referred to as “composite application”).

設定情報クラス331は、アプリケーションの動作に必要とされる設定情報を表しており、現在の設定情報の利用状態を管理する。設定情報クラス331は、属性として状態331a及び参照数331bを有し、操作として参照()331cを有する。   The setting information class 331 represents setting information required for the operation of the application, and manages the current usage state of the setting information. The setting information class 331 has a state 331a and a reference number 331b as attributes, and a reference () 331c as an operation.

状態331aは、設定情報が、現在参照されているのか、編集されているのか、といった設定情報の編集状態を保持する。   The state 331a holds an editing state of the setting information such as whether the setting information is currently referenced or edited.

参照数331bは、現在設定情報を参照している利用者数を保持する。   The reference number 331b holds the number of users currently referring to the setting information.

参照()331cは、アプリケーションの設定情報を参照させるために必要な処理を行う。   The reference () 331 c performs processing necessary for referring to the setting information of the application.

SP設定情報クラス332は、設定情報クラス331のサブクラスであり、サービスパーソン用に特化した設定情報を管理する。   The SP setting information class 332 is a subclass of the setting information class 331, and manages setting information specialized for a service person.

UP設定情報クラス333は、設定情報クラス331のサブクラスであり、一般利用者用に特化した設定情報を管理する。   The UP setting information class 333 is a subclass of the setting information class 331, and manages setting information specialized for general users.

画面クラス334は、アプリケーションが利用者とやり取りをするための操作パネルを独占的に利用するための権利(操作部利用権)の保持状態を管理し、操作部利用権の保持状態の切替要求に対する切替可否判断と切替処理とを行うクラスである。画面クラス334は、属性として状態334aを有し、操作として獲得()334bを有する。   The screen class 334 manages the holding state of the right (operation unit usage right) for exclusive use of the operation panel for the application to communicate with the user, and responds to a request for switching the holding state of the operation unit usage right. This class performs switchability determination and switching processing. The screen class 334 has a state 334a as an attribute and an acquisition () 334b as an operation.

状態334aは、操作部利用権を取得しているか否かの利用権状態を保持する。利用権状態が「有り」とは、操作部利用権を取得した状態を表しており、利用権状態が「無し」とは、操作部利用権を取得する必要がなく操作部利用権を取得していない状態を表している。すなわち、利用者が複合機1を操作して任意の機能を利用する場合、当該機能を提供するアプリケーションは、操作部利用権を取得する必要がある。本実施の形態における複合機1には、一つの操作パネルが実装されているため、同時に二つ以上のアプリケーションが操作部利用権を取得することはできない。   The state 334a holds the usage right state indicating whether or not the operation unit usage right is acquired. The usage right status “Yes” indicates that the operation unit usage right has been acquired, and the usage right status “No” indicates that the operation unit usage right is acquired without the need to acquire the operation unit usage right. It represents a state that is not. That is, when a user operates the multifunction device 1 to use an arbitrary function, an application that provides the function needs to acquire an operation unit usage right. Since the multifunction device 1 according to the present embodiment is equipped with one operation panel, two or more applications cannot acquire the operation unit usage right at the same time.

獲得()334bは、操作部利用権を取得していない場合に、操作部利用権を取得するための処理を行う。   The acquisition () 334 b performs a process for acquiring the operation unit usage right when the operation unit usage right is not acquired.

次に、図6に示した各クラス間の関係について説明する。同図に示したように、UMLクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。この直線の両端付近の数字はクラスの多重度を表す。多重度とは、直線で結ばれた他方のクラスのオブジェクトと関連付けられて生成されるオブジェクトの数のことである。   Next, the relationship between the classes shown in FIG. 6 will be described. As shown in the figure, in the UML class diagram, when there is some relationship between classes, rectangles representing those classes are connected by a straight line. The numbers near the ends of this line represent the multiplicity of the class. Multiplicity is the number of objects generated in association with the other class of objects connected by a straight line.

例えば、図中において機器クラス311と省エネクラス312との関係において、機器クラス311の多重度は「1」であり、省エネクラス312の多重度は「1」である。これは、機器クラス311のインスタンスである機器オブジェクト311Aと、省エネクラス312のインスタンスである省エネオブジェクト312Aとは1対1に関連付けられることを意味する。   For example, in the relationship between the device class 311 and the energy saving class 312 in the figure, the multiplicity of the device class 311 is “1”, and the multiplicity of the energy saving class 312 is “1”. This means that the device object 311A that is an instance of the device class 311 and the energy saving object 312A that is an instance of the energy saving class 312 are associated one-to-one.

まず、機器クラス311と省エネクラス312とのクラス関係について説明する。省エネクラス312は、複合機1の電力状態を管理するクラスであるので、複合機1内に1個だけ存在する。また、上述したように機器クラス311も複合機1内に1個だけ存在する。したがって、一つの機器オブジェクト311Aは、一つの省エネオブジェクト312Aを集約する。   First, the class relationship between the device class 311 and the energy saving class 312 will be described. Since the energy saving class 312 is a class for managing the power state of the multifunction device 1, there is only one in the multifunction device 1. Further, as described above, only one device class 311 exists in the multifunction device 1. Therefore, one device object 311A aggregates one energy saving object 312A.

次に、機器クラス311とアプリクラス321とのクラス関係について説明する。アプリクラス321は複合機1内の各アプリケーションと1対1に対応している。また、機器クラス311のインスタンス(機器オブジェクト311A)は複合機1内に1個だけ存在しており、アプリクラス321のインスタンス(アプリオブジェクト321A)の全てを管理している。従って、一つの機器オブジェクト311Aは、0個以上n個以下のアプリオブジェクト321Aを集約する。   Next, the class relationship between the device class 311 and the application class 321 will be described. The application class 321 has a one-to-one correspondence with each application in the multifunction device 1. Further, only one instance of the device class 311 (device object 311A) exists in the multi-function peripheral 1, and all instances of the application class 321 (application object 321A) are managed. Accordingly, one device object 311A aggregates 0 to n application objects 321A.

ところで、アプリクラス321は、抽象クラスであるため、厳密にはアプリクラス321のインスタンスは生成されることはない。したがって、本実施の形態において、「アプリクラス321のインスタンス」、又は「アプリオブジェクト321A」というとき、アプリクラス321のサブクラス(単一アプリクラス322又は複合アプリクラス323)のインスタンスのことをいう。   By the way, since the application class 321 is an abstract class, strictly speaking, an instance of the application class 321 is not generated. Therefore, in the present embodiment, “instance of application class 321” or “application object 321A” refers to an instance of a subclass of application class 321 (single application class 322 or composite application class 323).

次に、アプリクラス321と画面クラス334とのクラス関係について説明する。各アプリケーションが獲得できる操作部利用権は一つのみである。したがって、一つのアプリオブジェクト321Aは、一つの画面オブジェクト334Aを集約する。   Next, the class relationship between the application class 321 and the screen class 334 will be described. Each application can acquire only one operation unit usage right. Therefore, one application object 321A aggregates one screen object 334A.

次に、アプリクラス321と設定情報クラス331とのクラス関係について説明する。一つのアプリケーションは、0以上の設定情報を必要とする。したがって、1個のアプリオブジェクト321Aは、0個以上n個以下の設定情報オブジェクト331Aを集約する。   Next, the class relationship between the application class 321 and the setting information class 331 will be described. One application requires zero or more setting information. Therefore, one application object 321A aggregates 0 to n setting information objects 331A.

ところで、設定情報クラス331は、抽象クラスであるため、厳密には設定情報クラス331のインスタンスは生成されることはない。したがって、本実施の形態において、「設定情報クラス331のインスタンス」、又は「設定情報オブジェクト331A」というとき、設定情報クラス331のサブクラス(SP設定情報クラス332又はUP設定情報クラス333)のインスタンスのことをいう。   By the way, since the setting information class 331 is an abstract class, strictly speaking, an instance of the setting information class 331 is not generated. Therefore, in the present embodiment, when “instance of setting information class 331” or “setting information object 331A” is referred to, it is an instance of a subclass (SP setting information class 332 or UP setting information class 333) of setting information class 331. Say.

なお、単一アプリクラス322及び複合アプリクラス323は、アプリクラス321のサブクラスであるため、アプリクラス321の性質(属性、操作、関連等)を継承する。また、SP設定情報クラス332及びUP設定情報クラス333は、設定情報クラス331のサブクラスであるため、設定情報クラス331の性質を継承する。   Since the single application class 322 and the composite application class 323 are subclasses of the application class 321, the properties (attributes, operations, associations, etc.) of the application class 321 are inherited. Further, the SP setting information class 332 and the UP setting information class 333 are subclasses of the setting information class 331, and therefore inherit the properties of the setting information class 331.

ところで、複合アプリクラス323は、アプリクラス321を継承しているだけでなく、関連r1によってアプリクラス321を集約している。関連r1の多重度によれば、一つの複合アプリオブジェクト323Aは、2個以上n個以下のアプリオブジェクト321を集約する。この関連r1によって複合アプリの階層構造が表現されている。ここでいう、階層構造とは、アプリケーションをその機能面から分類した場合に構成される階層構造をいう。   By the way, the composite application class 323 not only inherits the application class 321 but also aggregates the application classes 321 by the association r1. According to the multiplicity of the association r1, one composite application object 323A aggregates two or more and n or less application objects 321. The hierarchical structure of the composite application is expressed by this relation r1. As used herein, the hierarchical structure refers to a hierarchical structure configured when applications are classified according to their functional aspects.

図7は、複合機におけるアプリケーションの階層構造の例を説明するための図である。図7では、複合機1からみると統合アプリとプリンタアプリとの二つのアプリケーションが実装されていることが示されている。ここで、統合アプリは複合アプリであるため、二つ以上のアプリケーションを含む。図中では、コピーアプリと送信アプリとが統合アプリに含まれている。更に、送信アプリは複合アプリであるため、通常送信アプリとリモート送信アプリとを含む。   FIG. 7 is a diagram for explaining an example of a hierarchical structure of applications in the multifunction peripheral. FIG. 7 shows that two applications, an integrated application and a printer application, are installed when viewed from the multifunction machine 1. Here, since the integrated application is a composite application, it includes two or more applications. In the figure, the copy application and the transmission application are included in the integrated application. Furthermore, since the transmission application is a composite application, it includes a normal transmission application and a remote transmission application.

図7の階層構造を図6のクラス図に当てはめてみると、統合アプリは、複合アプリオブジェクト323Aとしてインスタンス化される。当該複合アプリオブジェクト323Aは、コピーアプリに対応する単一アプリオブジェクト322Aと、送信アプリに対応する複合アプリオブジェクト323Aとを集約する。更に、送信アプリに対応する複合アプリオブジェクト323Aは、通常送信アプリとリモート送信アプリとのそれぞれに対応する二つの単一アプリオブジェクト322を集約する。   When the hierarchical structure of FIG. 7 is applied to the class diagram of FIG. 6, the integrated application is instantiated as a composite application object 323A. The composite application object 323A aggregates a single application object 322A corresponding to the copy application and a composite application object 323A corresponding to the transmission application. Furthermore, the composite application object 323A corresponding to the transmission application aggregates two single application objects 322 corresponding to the normal transmission application and the remote transmission application, respectively.

このように、アプリ構成管理部320におけるクラス構成によって、複合機1におけるアプリケーションの階層構造をオブジェクトの関連によって適切に表現することができる。   As described above, the class structure in the application configuration management unit 320 can appropriately represent the hierarchical structure of the application in the multi-function device 1 by the association of objects.

次に、図6に示した各クラスの操作の実行手順について例をあげて説明する。図8は、アプリ管理部がアプリケーションの利用要求を受けた際の処理手順の一例を説明するためのUMLシーケンス図である。   Next, an example of the execution procedure of each class operation shown in FIG. 6 will be described. FIG. 8 is a UML sequence diagram for explaining an example of a processing procedure when the application management unit receives an application use request.

ここで、UMLシーケンス図について説明しておく。図8の上部に並んだ矩形は、それぞれがクラスのインスタンス(オブジェクト)を示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線(ライフライン)であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間(活性期間)を示す。そして、各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。   Here, the UML sequence diagram will be described. Each rectangle arranged in the upper part of FIG. 8 represents an instance (object) of a class. A line extending downward from each object is a line (lifeline) indicating that each object is alive, and time is considered to flow from the top to the bottom. An elongated rectangle present on this line indicates a period during which the object is actually active (active period). And the horizontal arrow which connects between each lifeline shows execution of operation contained in an object. Specifically, this arrow indicates that the original object of the arrow calls an operation included in the object at the end of the arrow.

機器オブジェクト311Aは、操作系サブシステム111の操作制御部111aよりアプリ利用()312bを呼び出されることにより、利用者のアプリケーションの利用要求を受け付ける(S101)。機器オブジェクト311Aは、アプリケーションの利用を開始するためには複合機1が利用制限中で無いことと、複合機1の電力状態を変えなければならないことを知っており、これらの条件を総合的にみて、複合機1全体のレベルの粒度としてアプリケーションの利用可否の判断を行う。   The device object 311A receives a user application use request by calling the application use () 312b from the operation control unit 111a of the operation subsystem 111 (S101). The device object 311A knows that in order to start using the application, the multifunction device 1 is not in use restriction, and the power state of the multifunction device 1 must be changed. Accordingly, it is determined whether or not the application can be used as the granularity of the entire multifunction device 1.

まず、機器オブジェクト311Aは状態311aを参照し、複合機1が現在利用制限中であるか否かを判断する。利用制限中でない場合、機器オブジェクト311Aは、省エネオブジェクト312Aの解除()312bを呼び出すことにより、省エネオブジェクト312Aに対して省電力状態の解除を要求する(S102)。   First, the device object 311A refers to the state 311a to determine whether or not the multifunction device 1 is currently restricted in use. If the usage is not restricted, the device object 311A requests the energy saving object 312A to cancel the power saving state by calling the energy saving object 312A cancellation () 312b (S102).

省エネオブジェクト312Aは、状態312aを参照し、省電力状態である場合は通常待機状態への復帰処理を行い、通常待機状態へ復帰できたか否かを機器オブジェクト311Aに返却する。なお、通常待機状態へ復帰できた場合、省エネオブジェクト312Aは、状態312aの値を通常待機状態に変更する。   The energy saving object 312A refers to the state 312a. If the energy saving object 312A is in the power saving state, the energy saving object 312A performs a return process to the normal standby state, and returns to the device object 311A whether the normal standby state has been restored. When the normal standby state can be restored, the energy saving object 312A changes the value of the state 312a to the normal standby state.

複合機1が利用制限中でなく、電力状態も通常待機状態となった場合、機器オブジェクト311Aは、複合機1のレベルでアプリケーションは利用可能と判断し、利用が要求されたアプリケーションに対応するアプリオブジェクト321Aの利用()321cを呼び出す(S103)。   When the multifunction device 1 is not being restricted in use and the power state is in the normal standby state, the device object 311A determines that the application is available at the level of the multifunction device 1, and the application corresponding to the application requested to be used. Use of the object 321A () 321c is called (S103).

利用()321cを呼び出されたアプリオブジェクト321Aが複合アプリクラス323のインスタンスである場合、当該アプリオブジェクト321Aは、自らが集約しているアプリオブジェクト321Aの利用321cを呼び出す(S104)。したがって、利用()321cに実装された以下の処理が、アプリケーションの階層構造に応じて階層的に実行される。   When the application object 321A for which the usage () 321c is called is an instance of the composite application class 323, the application object 321A calls the usage 321c of the application object 321A aggregated by itself (S104). Therefore, the following processing implemented in the usage () 321 c is executed hierarchically according to the hierarchical structure of the application.

利用()321c内において、アプリオブジェクト321Aは、アプリケーションレベルでの利用可否判断処理を実行する。   In the usage () 321 c, the application object 321 </ b> A executes usage availability determination processing at the application level.

まず、アプリオブジェクト321Aは、は自らの状態321aを参照し、現在動作制限中であるか否かを判断する。動作制限中でない場合、アプリオブジェクト321Aは、自らが有している画面オブジェクト334Aの獲得()334bを呼び出し、操作部利用権の獲得を要求する(S105)。   First, the application object 321A refers to its state 321a and determines whether or not the operation is currently restricted. If the operation is not limited, the application object 321A calls the acquisition () 334b of the screen object 334A that the application object 321A has and requests acquisition of the operation unit use right (S105).

画面オブジェクト334Aは、自らの状態334aを参照し、操作部利用権の有無を確認する。操作部利用権が無い場合、画面オブジェクト334Aは、操作部利用権を獲得するための処理を実行し、獲得の成否をアプリオブジェクト321Aに返却する。   The screen object 334A refers to its own state 334a and confirms whether or not the operation unit usage right is present. When there is no operation unit usage right, the screen object 334A executes processing for acquiring the operation unit usage right, and returns success or failure of acquisition to the application object 321A.

続いて、アプリオブジェクト321Aは、設定情報オブジェクト331Aの参照()331cを呼び出すことにより、当該アプリケーションに対する設定情報の参照を要求する(S106)。設定情報オブジェクト331Aは、自らの状態331aを参照し、編集中でなければ、設定情報を参照させるための処理を行い、その成否をアプリオブジェクト321Aに返却する。   Subsequently, the application object 321A requests the reference of the setting information for the application by calling the reference () 331c of the setting information object 331A (S106). The setting information object 331A refers to its own state 331a. If the setting information object 331A is not being edited, the setting information object 331A performs a process for referring to the setting information, and returns the success or failure to the application object 321A.

アプリオブジェクト321Aは、自らの状態321a、操作部利用権の獲得の成否、及び設定情報の参照の成否に基づいて、当該アプリケーションの利用の可否を判断し、その判断結果に応じて、アプリケーションを利用させるための処理を実行する。   The application object 321A determines whether or not the application can be used based on its own state 321a, success or failure of acquisition of the operation unit usage right, and reference or failure of reference to the setting information, and uses the application according to the determination result. Execute the process to make it.

上述したように、本実施の形態における複合機1においては、アプリケーションをその機能に基づいて階層的に分類し、かかる階層的な分類を適切に表現できるようなオブジェクト指向設計に基づくモデルによってアプリ管理部111bが実装されている。したがって、様々なアプリケーションの構成に柔軟に対応することができ、汎用的なアプリケーション管理の仕組みを効率よく実現することができる。   As described above, in the MFP 1 according to the present embodiment, applications are managed by a model based on an object-oriented design that can classify applications hierarchically based on their functions and appropriately express such hierarchical classification. Part 111b is mounted. Therefore, it is possible to flexibly cope with various application configurations, and a general-purpose application management mechanism can be efficiently realized.

したがって、アプリケーションの機能の追加・削除に対するメンテナンスも容易に行うことができ、開発作業や保守作業等の工数削減を期待することもできる。   Therefore, maintenance for addition / deletion of application functions can be easily performed, and reduction of man-hours such as development work and maintenance work can be expected.

なお、本実施の形態の複合機1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(CD Recordable)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、CPU11が上記記憶媒体から、当該プログラムを読み出してMEM−P12上にロードすることで、複合機に、上述した各ステップ、各手段または各部を実現させる。   The program executed by the multifunction machine 1 of the present embodiment is a file in an installable format or an executable format, and is a CD-ROM (Compact Disc Read Only Memory), a flexible disk (FD), a CD-R ( You may comprise so that it may record and provide on computer-readable recording media, such as CD Recordable (DVD Record) and DVD (Digital Versatile Disk). In this case, the CPU 11 reads the program from the storage medium and loads it on the MEM-P 12 to cause the multifunction device to realize each step, each unit, or each unit described above.

また、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、当該プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。   Further, the program may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Furthermore, the program may be provided or distributed via a network such as the Internet.

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

複合機をとりまくネットワーク環境を示すネットワーク図である。1 is a network diagram showing a network environment surrounding a multifunction peripheral. 複合機のハードウェアを説明するための説明図である。FIG. 3 is an explanatory diagram for explaining hardware of a multifunction peripheral. 複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining a hierarchical structure of hardware and software in a multifunction peripheral. 統合アプリケーションの構成を説明するための説明図である。It is explanatory drawing for demonstrating the structure of an integrated application. 統合アプリケーションの構成を表したUMLクラス図である。It is a UML class diagram showing the configuration of an integrated application. アプリ管理部のクラス構成を示すUMLクラス図である。It is a UML class diagram which shows the class structure of an application management part. 複合機におけるアプリケーションの階層構造の例を説明するための図である。FIG. 3 is a diagram for explaining an example of a hierarchical structure of applications in a multifunction peripheral. アプリ管理部がアプリケーションの利用要求を受けた際の処理手順の一例を説明するためのUMLシーケンス図である。It is a UML sequence diagram for demonstrating an example of the process sequence when an application management part receives the utilization request of an application. 複合機に搭載されるソフトウェア構成の変遷を示す説明図である。FIG. 6 is an explanatory diagram illustrating a transition of a software configuration installed in a multifunction peripheral. 従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。It is explanatory drawing for demonstrating the hierarchical structure of the hardware and software in the conventional multifunction machine.

符号の説明Explanation of symbols

1 画像形成装置(複合機)
10 コントローラ
11 CPU
12 MEM−P
12a ROM
12b RAM
13 NB
14 SB
15 AGP
16 ASIC
17 MEM−C
18 HDD
20 キーボード(オペレーションパネル)
30 FCU
40 USB
50 IEEE1394
60 エンジン部(Engine)
100 ソフトウェア
101 アプリケーション層
102 サービス層
102a スキャナ制御部
102b プロッタ制御部
102c 蓄積制御部
102d 配信/メール送受信制御部
102e FAX送受信制御部
102f ネットワーク通信制御部
102g その他の制御部
103 オペレーティングシステム
110 統合アプリケーション
111 操作系サブシステム
111a 操作制御部
111b アプリ管理部
112 管理系サブシステム
113 実行系サブシステム
120 コピーアプリケーション
130 スキャナアプリケーション
140 ファックスアプリケーション
150 プリンタアプリケーション
200 ハードウェア
201 ハードウェアリソース
201a スキャナ
201b プロッタ
201c HDD
201d ネットワーク
201e その他のリソース
310 機器状態管理部
311 機器クラス
311A 機器オブジェクト
311a 状態
311b アプリ利用()
312 省エネクラス
312A 省エネオブジェクト
312a 状態
312b 解除()
320 アプリ構成管理部
321 アプリクラス
321A アプリオブジェクト
321a 状態
321b 種類
321c 利用()
322 単一アプリクラス
322A 単一アプリオブジェクト
323 複合アプリクラス
323A 複合アプリオブジェクト
330 アプリ状態管理部
331 設定情報クラス
331A 設定情報オブジェクト
331a 状態
331b 参照数
331c 参照()
332 SP設定情報
333 UP設定情報
334 画面クラス
334A 画面オブジェクト
334a 状態
334b 獲得()
1 Image forming device (multifunction machine)
10 Controller 11 CPU
12 MEM-P
12a ROM
12b RAM
13 NB
14 SB
15 AGP
16 ASIC
17 MEM-C
18 HDD
20 Keyboard (Operation panel)
30 FCU
40 USB
50 IEEE1394
60 Engine
DESCRIPTION OF SYMBOLS 100 Software 101 Application layer 102 Service layer 102a Scanner control part 102b Plotter control part 102c Accumulation control part 102d Delivery / mail transmission / reception control part 102e FAX transmission / reception control part 102f Network communication control part 102g Other control part 103 Operating system 110 Integrated application 111 Operation System Subsystem 111a Operation Control Unit 111b Application Management Unit 112 Management System Subsystem 113 Execution Subsystem 120 Copy Application 130 Scanner Application 140 Fax Application 150 Printer Application 200 Hardware 201 Hardware Resource 201a Scanner 201b Plotter 201c HDD
201d network 201e other resources 310 device state management unit 311 device class 311A device object 311a state 311b application use ()
312 Energy saving class 312A Energy saving object 312a State 312b Canceled ()
320 Application configuration management unit 321 Application class 321A Application object 321a Status 321b Type 321c Use ()
322 single application class 322A single application object 323 composite application class 323A composite application object 330 application state management unit 331 setting information class 331A setting information object 331a state 331b reference number 331c reference ()
332 SP setting information 333 UP setting information 334 Screen class 334A Screen object 334a Status 334b Acquisition ()

Claims (8)

複数のアプリケーションを実行可能な機器であって、
前記アプリケーションの実行要求に応じ当該機器の状態に基づいて前記アプリケーションの利用の可否判断を行う機器状態管理手段と、
前記アプリケーションの構成を管理するアプリ構成管理手段と、
前記アプリケーションごとに当該アプリケーションの利用の可否判断の要因となる状態情報を管理するアプリ状態管理手段とを有し、
前記アプリ構成管理手段は、前記アプリケーションごとの状態に基づいて当該アプリケーションの利用の可否判断を行うアプリケーション管理手段を有し、当該アプリケーション管理手段の階層構造によって、複数の機能を有する前記アプリケーションの構成を管理することを特徴とする機器。
A device that can execute multiple applications,
Device status management means for determining whether or not to use the application based on the status of the device in response to the execution request of the application;
Application configuration management means for managing the configuration of the application;
Application status management means for managing status information that is a factor for determining whether or not the application can be used for each application;
The application configuration management unit includes an application management unit that determines whether or not the application can be used based on a state of each application, and the configuration of the application having a plurality of functions is determined by a hierarchical structure of the application management unit. Equipment characterized by management.
前記アプリケーション構成管理手段は、単一の機能を有する単一アプリケーションに対応する前記アプリケーション管理手段と、複数の機能を有する複合アプリケーションに対応する前記アプリケーション管理手段とを有し、
前記複合アプリケーションに対応する前記アプリケーション管理手段は、他の前記単一アプリケーション又は前記複合アプリケーションに対応する二つ以上の前記アプリケーション管理手段と関連付けられることを特徴とする請求項1記載の機器。
The application configuration management means includes the application management means corresponding to a single application having a single function, and the application management means corresponding to a composite application having a plurality of functions.
2. The apparatus according to claim 1, wherein the application management means corresponding to the composite application is associated with another single application or two or more application management means corresponding to the composite application.
前記機器状態管理手段は、
当該機器の利用制限に関する状態を管理する利用状態管理手段と、
当該機器の電力状態を管理する電力状態管理手段とを有し、
前記利用制限に関する状態と、前記電力状態とに基づいて前記アプリケーションの利用の可否判断を行うことを特徴とする請求項1又は2記載の機器。
The device state management means includes
Usage status management means for managing status related to usage restrictions of the device;
Power state management means for managing the power state of the device,
The device according to claim 1, wherein whether to use the application is determined based on a state related to the use restriction and the power state.
前記アプリ状態管理手段は、
前記アプリケーションが当該機器の操作パネルを利用する権利を有しているか否かを管理する操作部利用権管理手段と、
前記アプリケーションに対する設定情報の編集状態を管理する設定情報管理手段とを有することを特徴とする請求項1乃至3いずれか一項記載の機器。
The application state management means
Operation unit use right management means for managing whether the application has a right to use the operation panel of the device;
4. The device according to claim 1, further comprising setting information management means for managing an editing state of setting information for the application.
複数のアプリケーションを実行可能な機器を、
前記アプリケーションの実行要求に応じ当該機器の状態に基づいて前記アプリケーションの利用の可否判断を行う機器状態管理手段と、
前記アプリケーションの構成を管理するアプリ構成管理手段と、
前記アプリケーションごとに当該アプリケーションの利用の可否判断の要因となる状態情報を管理するアプリ状態管理手段として機能させるためのアプリケーション管理プログラムであって、
前記アプリ構成管理手段は、前記アプリケーションごとの状態に基づいて当該アプリケーションの利用の可否判断を行うアプリケーション管理手段を有し、当該アプリケーション管理手段の階層構造によって、複数の機能を有する前記アプリケーションの構成を管理することを特徴とするアプリケーション管理プログラム。
A device that can run multiple applications
Device status management means for determining whether or not to use the application based on the status of the device in response to the execution request of the application;
Application configuration management means for managing the configuration of the application;
An application management program for causing each application to function as application state management means for managing state information that is a factor in determining whether or not the application can be used.
The application configuration management unit includes an application management unit that determines whether or not the application can be used based on a state of each application, and the configuration of the application having a plurality of functions is determined by a hierarchical structure of the application management unit. An application management program characterized by management.
前記アプリケーション構成管理手段は、単一の機能を有する単一アプリケーションに対応する前記アプリケーション管理手段と、複数の機能を有する複合アプリケーションに対応する前記アプリケーション管理手段とを有し、
前記複合アプリケーションに対応する前記アプリケーション管理手段は、他の前記単一アプリケーション又は前記複合アプリケーションに対応する二つ以上の前記アプリケーション管理手段と関連付けられることを特徴とする請求項5記載のアプリケーション管理プログラム。
The application configuration management means includes the application management means corresponding to a single application having a single function, and the application management means corresponding to a composite application having a plurality of functions.
6. The application management program according to claim 5, wherein the application management unit corresponding to the composite application is associated with another single application or two or more of the application management units corresponding to the composite application.
前記機器状態管理手段は、
当該機器の利用制限に関する状態を管理する利用状態管理手段と、
当該機器の電力状態を管理する電力状態管理手段とを有し、
前記利用制限に関する状態と、前記電力状態とに基づいて前記アプリケーションの利用の可否判断を行うことを特徴とする請求項5又は6記載のアプリケーション管理プログラム。
The device state management means includes
Usage status management means for managing status related to usage restrictions of the device;
Power state management means for managing the power state of the device,
The application management program according to claim 5 or 6, wherein the application management program determines whether or not the application can be used based on the state related to the use restriction and the power state.
前記アプリ状態管理手段は、
前記アプリケーションが当該機器の操作パネルを利用する権利を有しているか否かを管理する操作部利用権管理手段と、
前記アプリケーションに対する設定情報の編集状態を管理する設定情報管理手段とを有することを特徴とする請求項5乃至7いずれか一項記載のアプリケーション管理プログラム。
The application state management means
Operation unit use right management means for managing whether the application has a right to use the operation panel of the device;
8. The application management program according to claim 5, further comprising setting information management means for managing an editing state of setting information for the application.
JP2005369870A 2005-12-22 2005-12-22 Image forming apparatus and application management program Expired - Fee Related JP4787614B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005369870A JP4787614B2 (en) 2005-12-22 2005-12-22 Image forming apparatus and application management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005369870A JP4787614B2 (en) 2005-12-22 2005-12-22 Image forming apparatus and application management program

Publications (2)

Publication Number Publication Date
JP2007174315A true JP2007174315A (en) 2007-07-05
JP4787614B2 JP4787614B2 (en) 2011-10-05

Family

ID=38300281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005369870A Expired - Fee Related JP4787614B2 (en) 2005-12-22 2005-12-22 Image forming apparatus and application management program

Country Status (1)

Country Link
JP (1) JP4787614B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227566A (en) * 2003-01-02 2004-08-12 Fisher Rosemount Syst Inc Application station(as) used in process control system, redundant manager used in as, method and system for establishing/maintaining redundant context in process control system(pcs) having first and second as, machine-accessible media with data stored inside, redundant as system, and configuration change method of as
JP2004536391A (en) * 2001-06-22 2004-12-02 ワンダーウェア コーポレイション Monitoring process control / manufacturing information system application with hierarchical architecture
JP2005342968A (en) * 2004-06-02 2005-12-15 Ricoh Co Ltd Image forming apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536391A (en) * 2001-06-22 2004-12-02 ワンダーウェア コーポレイション Monitoring process control / manufacturing information system application with hierarchical architecture
JP2004227566A (en) * 2003-01-02 2004-08-12 Fisher Rosemount Syst Inc Application station(as) used in process control system, redundant manager used in as, method and system for establishing/maintaining redundant context in process control system(pcs) having first and second as, machine-accessible media with data stored inside, redundant as system, and configuration change method of as
JP2005342968A (en) * 2004-06-02 2005-12-15 Ricoh Co Ltd Image forming apparatus

Also Published As

Publication number Publication date
JP4787614B2 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
JP4490841B2 (en) Document processing apparatus, image forming apparatus, document processing method, and document processing program
JP4690355B2 (en) Information processing apparatus and information processing program
JP2006115482A (en) Setting management device, setting management program and image forming apparatus
JP4474440B2 (en) Provision of services using multifunction peripherals (MFPs)
JP2007158929A (en) Setting management device and setting management program
JP4787614B2 (en) Image forming apparatus and application management program
JP2007094674A (en) Apparatus and use restriction program
JP2007251245A (en) Image forming apparatus, file management method, and file management program
JP2007094673A (en) Apparatus and use restriction program
JP2007336077A (en) Image forming apparatus, setting change reporting method, and setting change reporting program
JP2006221454A (en) Application management device, application management program and image forming apparatus
JP2007226391A (en) Image forming apparatus, image forming method, and image forming program
JP4450699B2 (en) Request management apparatus, image forming apparatus, job processing instruction method, and job processing instruction program
JP5217829B2 (en) Information processing apparatus, distribution system, processing control method, and program
JP2007082012A (en) Address management device, address management method and address management program
JP2006087028A (en) Address book management program and image forming apparatus
JP2007041968A (en) User interface device, user interface management method and user interface management program
JP4538381B2 (en) I / O management device, I / O management method, and I / O management program
JP4656897B2 (en) Stream control program and image forming apparatus
JP2006059337A (en) Document management device and image forming system
JP2005196334A (en) Service process execution management device and method
JP4490852B2 (en) Document processing apparatus, image forming apparatus, and document processing program
JP2006262375A (en) Document processing apparatus and image forming apparatus
JP2006252317A (en) Electronic file processor, image forming apparatus, electronic file processing method, and electronic file processing program
JP2007082003A (en) Image forming apparatus and device information management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4787614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees