JP2009134695A - Information processor, image processor, application execution method and application execution program - Google Patents

Information processor, image processor, application execution method and application execution program Download PDF

Info

Publication number
JP2009134695A
JP2009134695A JP2008222129A JP2008222129A JP2009134695A JP 2009134695 A JP2009134695 A JP 2009134695A JP 2008222129 A JP2008222129 A JP 2008222129A JP 2008222129 A JP2008222129 A JP 2008222129A JP 2009134695 A JP2009134695 A JP 2009134695A
Authority
JP
Japan
Prior art keywords
application
processing apparatus
unit
information processing
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
JP2008222129A
Other languages
Japanese (ja)
Inventor
Hiroyuki Matsushima
弘幸 松島
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 JP2008222129A priority Critical patent/JP2009134695A/en
Priority to US12/263,691 priority patent/US8438567B2/en
Publication of JP2009134695A publication Critical patent/JP2009134695A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor which can simply customize or expand an application and can provide an application execution environment having high robustness, an image processor, an application execution method and an application execution program therefor. <P>SOLUTION: An information processor 200 achieves a function of one application AP by cooperatively operating an input means 103a for inputting data, a processing means 103b for processing the data, and an output means 103c for outputting the data, wherein the information processor 200 includes: a first process 32a for operating application management software that manages activation, termination, or the like of the application AP; a second process 32b for operating basic application software 81 that achieves a basic function of the information processor; and a third process 32c for operating expansion application software 82 that achieves an expansion function to be added to the information processor. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、入力、加工、出力の各機能を連携し動作させることでアプリケーションが有する機能を実現する情報処理装置、画像処理装置、アプリケーション実行方法、及びアプリケーション実行プログラムに関するものである。   The present invention relates to an information processing apparatus, an image processing apparatus, an application execution method, and an application execution program that realize functions that an application has by linking and operating input, processing, and output functions.

近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機(MFP:Multifunction Peripheral)などの画像処理装置では、メモリなどの制限は厳しいものの、汎用的なコンピュータと同様にCPU(Central Processing Unit)を備え、各機能がアプリケーションの制御によって実現されるようになっている。   In recent years, image processing devices such as printers, copiers, scanners, facsimiles, or multifunction peripherals (MFPs) that realize these functions in a single housing are generally used, although memory restrictions are severe. Like a computer, it has a CPU (Central Processing Unit), and each function is realized by application control.

例えば、特許文献1に記載された画像処理装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのAPI(Application Program Interface)を利用してアプリケーションを実装することができる。係る画像処理装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。   For example, the image processing apparatus described in Patent Document 1 includes a function commonly used by each application as a platform, and an application can be implemented using an API (Application Program Interface) of the platform. it can. According to such an image processing apparatus, since a function that is commonly used is provided as a platform, it is possible to avoid the duplication of functions for each application, and to improve the development efficiency of the entire application.

その結果、係る画像処理装置では、システムにアプリケーションを追加・拡張することで、ユーザの所望する機能を提供する。   As a result, the image processing apparatus provides a function desired by the user by adding / extending an application to the system.

また、このような画像処理装置の中には、現在、実装する環境(実装機種)などに依存しないという特徴を生かし、携帯電話や家電製品などの開発にも用いられている、Sun Microsystems社が開発したJava(登録商標)言語によって機能開発されているものもある。また、実装する環境において、プロセスを複数に分割することでマルチプロセス化を行うことのできるプロセスベースのUNIX(登録商標)系OS(Operating System)を採用しているものもある。
特許3679349号公報
Among these image processing devices, Sun Microsystems, which is currently used for the development of mobile phones and home appliances, is taking advantage of the fact that it does not depend on the mounting environment (mounting model). Some functions have been developed using the developed Java (registered trademark) language. Some implementations employ a process-based UNIX (registered trademark) OS (Operating System) that can be multi-processed by dividing the process into a plurality of processes.
Japanese Patent No. 3679349

しかしながら、このような画像処理装置では、以下に挙げる点を考慮する必要がある。   However, in such an image processing apparatus, it is necessary to consider the following points.

まず、1つ目は、システムの堅牢性である。拡張性の高い画像処理装置では、システムの基本機能を実現する自社製アプリケーションや、後に導入され拡張機能を実現する他社(以下、「サードベンダ」という。)製アプリケーションなど、様々な環境化で開発されたアプリケーションが動作する。   The first is system robustness. Highly expandable image processing devices are developed in various environments such as in-house applications that realize the basic functions of the system and applications made by other companies (hereinafter referred to as “third-vendors”) that are introduced later to realize extended functions. Run the application.

しかし、このような環境化であっても、当該画像処理装置では、拡張機能の導入によって、システムの基本機能がそこなわれることがあってはならない。   However, even in such an environment, the basic functions of the system must not be impaired by the introduction of the extended function in the image processing apparatus.

プロセスベースのOSでは、システムの堅牢性を向上させるために、適切な粒度でプロセスを分割するのが一般的である。しかし、Java(登録商標)言語によって開発を行う場合、単一のプロセス(JVM:Java Virtual Machine)上で複数のアプリケーションを動作させることになり、細かい粒度でプロセス(JVM)を分割するのは現実的でなく、少なくとも自社とサードベンダのアプリケーションが動作するJVMを分離することが要件となる。   In process-based OSs, it is common to divide processes with the appropriate granularity to improve system robustness. However, when developing with the Java (registered trademark) language, multiple applications will run on a single process (JVM: Java Virtual Machine), and it is a reality to divide processes (JVM) at a fine granularity. The requirement is to separate the JVMs that run at least your company and third-party applications.

また、Java(登録商標)言語ベースシステムの堅牢性については、Nativeコードの実行とメモリ使用量を考慮すべきである。すなわち、悪意のあるNativeコードの実行によりシステム全体がクラッシュ(異常終了)する可能性があり、巨大なメモリを使用するアプリケーションによりJave(登録商標)のヒープが占有され、OutOfMemoryErrorが発生する可能性がある。   Also, the robustness of Java language-based systems should take into account native code execution and memory usage. In other words, the execution of malicious Native code may cause the entire system to crash (abnormal termination), and an application that uses huge memory may occupy the Jave (registered trademark) heap and cause an OutOfMemoryError. is there.

次に、アプリケーションに開発容易性である。システムを複数JVMに分散する場合、マルチプロセス化の影響をうけるコンポーネント(ソフトウェア部品)をなるべく少なくする必要がある。   Next is the ease of development into the application. When distributing a system to multiple JVMs, it is necessary to reduce the number of components (software parts) that are affected by multi-process.

カスタマイズ可能なシステムにおいて、SDK(Software Development Kit)によるアプリケーション開発が容易であることは必須であり、複数のJVM上で動作することを意識することなくアプリケーション開発が行えなければならない。   In a customizable system, it is essential that application development by SDK (Software Development Kit) is easy, and application development must be possible without being conscious of operating on multiple JVMs.

このように、マルチプロセス化の影響は、フレームワークに相当する限定されたコンポーネント(ソフトウェア部品)で行い、アプリケーションはマルチプロセス化を意識しなくてよい設計を検討する必要がある。   As described above, the influence of the multi-process is performed by a limited component (software part) corresponding to the framework, and the application needs to consider a design that does not need to be aware of the multi-process.

そこで、本発明では、上記従来技術の問題点に鑑み、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる情報処理装置、画像処理装置、アプリケーション実行方法、及びアプリケーション実行プログラムを提供することを目的とする。   Therefore, in the present invention, in view of the above-described problems of the prior art, the application can be easily customized or expanded without being conscious of multi-process, and the malfunction of the expanded function does not affect the basic function of the system. An object is to provide an information processing apparatus, an image processing apparatus, an application execution method, and an application execution program that can provide a system having high robustness.

上記目的を達成するため、本発明に係る情報処理装置は、データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェアを動作させる第1のプロセスと、当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第2のプロセスと、当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第3のプロセスとを有し、更に、前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセスを実行する実行手段を有することを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention includes input means for inputting data, processing means for processing data, and output means for outputting data, and the input means and the processing An information processing apparatus that realizes a function of one application by operating the output unit and the output unit in cooperation with each other, and operates first application management software that manages the activation and termination of the application A process, a second process for operating basic application software for realizing the basic functions of the information processing apparatus, and a third process for operating extended application software for realizing an extended function added to the information processing apparatus. In addition, the first process, the second process, and the third process It characterized in that it has an execution means for executing the process.

上記目的を達成するため、本発明に係る情報処理装置は、データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェア、及び当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第1のプロセスと、当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第2のプロセスとを有し、更に、前記第1のプロセス及び前記第2のプロセスを実行する実行手段を有することを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention includes input means for inputting data, processing means for processing data, and output means for outputting data, and the input means and the processing An information processing apparatus that realizes a function of one application by operating the means and the output means in cooperation with each other, and application management software for managing the activation and termination of the application, and the information processing apparatus A first process for operating basic application software that realizes the basic function of the information processing apparatus, and a second process for operating extended application software that realizes the extended function added to the information processing apparatus, And having execution means for executing the first process and the second process. That.

これによって、本発明に係る情報処理装置は、システムの基本機能を実現する基本アプリケーション(自社製アプリケーション)と、追加される拡張機能を実現する拡張アプリケーション(サードベンダ製アプリケーション)とを、異なるプロセス(JVM)で動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークに相当する限定されたコンポーネント(ソフトウェア部品)で行う(マルチプロセス化の影響を隠蔽する)ことにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。   As a result, the information processing apparatus according to the present invention uses a different process for a basic application (an in-house application) that realizes the basic function of the system and an extended application (an application made by a third vendor) that realizes an added extended function ( Multi-process by running on the JVM) and performing multi-process effects such as interprocess communication with limited components (software parts) corresponding to the framework (hiding the effects of multi-process) Therefore, it is possible to easily customize or extend an application without being aware of it, and to provide a system having high robustness in which a malfunction of the extended function does not affect the basic function of the system.

よって、本発明に係る情報処理装置は、開発者に対して簡便なアプリケーション開発を許可し、且つユーザに対して安定した機能を提供することができる。   Therefore, the information processing apparatus according to the present invention allows a developer to develop a simple application and can provide a stable function to a user.

また、上記目的を達成するため、本発明に係る情報処理装置は、所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段において、同一プロセスで動作することを特徴とする。また、前記所定のアプリケーションは、前記基本アプリケーションソフトウェアであることを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention operates in the same process in the input unit, the processing unit, and the output unit that operate to realize a function of a predetermined application. It is characterized by doing. Further, the predetermined application is the basic application software.

これによって、本発明に係る情報処理装置は、システムが有する機能のうち、比較的使用頻度の高い基本機能を安定してユーザに提供することができる。   Accordingly, the information processing apparatus according to the present invention can stably provide basic functions, which are relatively frequently used, among the functions of the system.

また、上記目的を達成するため、本発明に係る情報処理装置は、所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段において、それぞれが特定の単一プロセスで動作することを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention is characterized in that each of the input unit, the processing unit, and the output unit that operates to realize a function of a predetermined application is specified. It is characterized by operating in a single process.

これによって、本発明に係る情報処理装置は、当該装置が有するメモリ資源を効率的に使用し、基本機能をユーザに提供することができる。   Thus, the information processing apparatus according to the present invention can efficiently use the memory resources of the apparatus and provide basic functions to the user.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーションに対して、前記アプリケーション管理ソフトウェアと前記アプリケーションとの間で行うデータのやり取りと同じ振る舞いをするソフトウェア部品を有し、前記ソフトウェア部品が、前記アプリケーションと同じプロセスで動作することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention has a software component that behaves the same as the exchange of data performed between the application management software and the application for the application, The software component operates in the same process as the application.

これによって、本発明に係る情報処理装置は、マルチプロセス環境における各プロセス同士で行うプロセス間通信を、フレームワークに相当する限定されたコンポーネント(ソフトウェア部品)で行うことにより、マルチプロセス化の影響を隠蔽することができる。その結果、アプリケーションを、マルチプロセス環境を意識することなく設計・開発することができる。   As a result, the information processing apparatus according to the present invention performs multi-process communication between processes in a multi-process environment using limited components (software parts) corresponding to the framework, thereby reducing the influence of multi-process. Can be concealed. As a result, applications can be designed and developed without being conscious of the multi-process environment.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーションの動作設定要求を受け付けたときに、前記アプリケーションごとの前記動作設定要求に対応する前記ユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記画面要素識別情報から特定したプロセスに対して、前記動作設定要求を送信する動作設定要求送信手段を有することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention, when receiving an operation setting request for the application, includes a screen element constituting the user interface corresponding to the operation setting request for each application. Operation setting for transmitting the operation setting request to a process specified from the screen element identification information based on information associating screen element identification information to be identified with process identification information for identifying a process in which the application operates It has a request transmission means.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーションの動作設定要求を受け付けたときに、前記アプリケーションごとの前記動作設定要求に対応する前記ユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記画面要素識別情報から特定したプロセスに対して、前記動作設定要求を送信する動作設定要求送信手段を有することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention, when receiving an operation setting request for the application, includes a screen element constituting the user interface corresponding to the operation setting request for each application. Operation setting for transmitting the operation setting request to a process specified from the screen element identification information based on information associating screen element identification information to be identified with process identification information for identifying a process in which the application operates It has a request transmission means.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーションの実行要求を受け付けたときに、前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記実行要求識別情報から特定したプロセスに対して前記実行要求を送信し、前記アプリケーションに実行開始を指示する実行要求管理手段を有することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention, when receiving an execution request for the application, executes request identification information for identifying the execution request and the application to be executed. An execution request management means for transmitting the execution request to the process specified from the execution request identification information and instructing the application to start execution based on information associated with process identification information for identifying a process; Features.

これによって、本発明に係る情報処理装置は、マルチプロセス環境において、アプリケーションの選択・動作設定・機能実行などを安定して行うことができる。   Accordingly, the information processing apparatus according to the present invention can stably perform application selection, operation setting, function execution, and the like in a multi-process environment.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスが異常終了したことを検知する検知手段と、前記検知手段により検知されたプロセス異常終了を前記アプリケーション管理ソフトウェアが動作するプロセスに通知する通知手段とを有することを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention includes a detection unit that detects that a process other than the process in which the application management software operates is abnormally terminated, and a process abnormality detected by the detection unit. Notification means for notifying the process of the application management software of the termination.

これによって、本発明に係る情報処理装置は、異常終了したプロセスを、システム環境から切り離しことができ、例えば基本機能のみなどのような機能縮退した状態で、ユーザへの機能提供サービスを継続することができる。   As a result, the information processing apparatus according to the present invention can disconnect the abnormally terminated process from the system environment and, for example, continue the function providing service to the user in a function-degenerated state such as only the basic function. Can do.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記検知手段及び前記通知手段が、前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセス、又は、前記第1のプロセス及び前記第2のプロセスを生成した親プロセスで動作することを特徴とする。また、前記検知手段は、子プロセスにあたる前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセス終了によるシグナルを受信することで、プロセスの異常終了を検知することを特徴とする。   In order to achieve the above object, in the information processing apparatus according to the present invention, the detection unit and the notification unit include the first process, the second process, the third process, or the first process. It is characterized by operating in the parent process that created the first process and the second process. Further, the detection means detects abnormal termination of a process by receiving a signal due to process termination other than a process in which the application management software corresponding to a child process operates.

これによって、本発明に係る情報処理装置は、プロセスの異常終了を即座に検知することができる。   As a result, the information processing apparatus according to the present invention can immediately detect the abnormal end of the process.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記検知手段及び前記通知手段が、前記第1のプロセスで動作することを特徴とする。また、前記検知手段は、前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスに対して、プロセスの状態を示す状態情報の取得を要求し、要求への応答があるか否かに基づき、プロセスの異常終了を検知する、又は、前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスから送信されるプロセスの状態を示す状態情報を受信したか否かに基づき、プロセスの異常終了を検知することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention is characterized in that the detection means and the notification means operate in the first process. Further, the detection means requests a process other than the process in which the application management software operates to obtain status information indicating the status of the process, and determines whether there is a process abnormality based on whether there is a response to the request. An abnormal termination of a process is detected based on whether or not termination information is detected or status information indicating a status of a process transmitted from a process other than the process in which the application management software operates is received. .

これによって、本発明に係る情報処理装置は、簡単な機能構成によりプロセスの異常終了を検知することができる。   Thus, the information processing apparatus according to the present invention can detect abnormal termination of the process with a simple functional configuration.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで動作するアプリケーションのアプリケーション識別情報を削除することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention includes a component included in the application management software when the process in which the application management software operates receives a process abnormal termination notification from the notification unit. Deletes the application identification information of the application that operates in the abnormally terminated process from the information that associates the application identification information that identifies the application with the process identification information that identifies the process in which the application operates. .

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションごとの前記動作設定要求に対応するユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された画面要素の画面要素識別情報を削除することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention includes a component included in the application management software when the process in which the application management software operates receives a process abnormal termination notification from the notification unit. Has ended abnormally from information associating screen element identification information for identifying a screen element constituting a user interface corresponding to the operation setting request for each application and process identification information for identifying a process in which the application operates. The screen element identification information of the screen element generated in the process is deleted.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された実行要求の実行要求識別情報を削除することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention includes a component included in the application management software when the process in which the application management software operates receives a process abnormal termination notification from the notification unit. Is an execution request identification of an execution request generated by an abnormally terminated process from information associating execution request identification information for identifying the execution request with process identification information for identifying a process in which the application to be executed is operated. It is characterized by deleting information.

これによって、本発明に係る情報処理装置は、不要な情報を削除することで、記憶リソース資源を効率良く使用し、かつ、異常終了により動作不可能なアプリケーションの誤動作を防ぐことができる。   Accordingly, the information processing apparatus according to the present invention can delete unnecessary information, efficiently use storage resource resources, and prevent malfunction of an application that cannot be operated due to abnormal termination.

また、上記目的を達成するため、本発明に係る情報処理装置は、前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、異常終了したプロセスで動作していたアプリケーションのうち、プロセスが異常終了する直前に動作していたアプリケーションと、それ以外のアプリケーションとを、異なる態様で表示することを特徴とする。   In order to achieve the above object, the information processing apparatus according to the present invention operates in an abnormally terminated process when a process in which the application management software operates receives a process abnormal termination notification from the notification unit. Among the applications that were running, the application that was running immediately before the process ended abnormally and the other applications are displayed in different ways.

これによって、本発明に係る情報処理装置は、ユーザに対して異常終了の原因を推定又は特定するための情報を提示することができる。その結果、ユーザが原因を解決する手段を講じることで(例えば、原因となったソフトの無効化やアンインストールなど。)、システムを安定した状態に復帰させることができる。   Thereby, the information processing apparatus according to the present invention can present information for estimating or identifying the cause of abnormal termination to the user. As a result, the user can take measures to solve the cause (for example, invalidation or uninstallation of the software causing the cause), and the system can be returned to a stable state.

また、上記目的を達成するため、本発明に係る情報処理装置は、異常終了したプロセスの有効化/無効化を選択設定する画面を表示することを特徴とする。また、前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、異常終了したプロセスを無効に設定することを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention displays a screen for selecting and setting validation / invalidation of an abnormally terminated process. In addition, when the process in which the application management software operates receives a notification of abnormal process termination by the notification unit, the abnormally terminated process is set to be invalid.

また、上記目的を達成するため、本発明に係る画像処理装置は、原稿を画像データとして読み取る原稿読み取り装置と、画像データを紙に印刷する印刷装置と、上記に記載した、いずれかの特徴を有する情報処理装置とを有することを特徴とする。   In order to achieve the above object, an image processing apparatus according to the present invention includes a document reading device that reads a document as image data, a printing device that prints image data on paper, and any of the features described above. And an information processing apparatus.

これによって、本発明に係る画像処理装置は、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有する画像処理システムを、ユーザに提供することができる。   As a result, the image processing apparatus according to the present invention can easily customize or extend an application without being conscious of multi-process, and has high robustness that does not affect the basic function of the system due to an extended function failure. An image processing system having the above can be provided to the user.

よって、本発明に係る画像処理装置は、開発者に対して簡便なアプリケーション開発を許可し、且つユーザに対して安定した機能を提供することができる。   Therefore, the image processing apparatus according to the present invention permits a developer to develop a simple application and can provide a stable function to the user.

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行することを特徴とする。   In order to achieve the above object, an application execution method according to the present invention includes an input unit that inputs data, a processing unit that processes data, and an output unit that outputs data, the processing unit, and the output An application execution method in an information processing apparatus that realizes a function of one application by operating in cooperation with a unit, application management software for managing the activation and termination of the application, and the information processing apparatus The basic application software for realizing the basic functions and the extended application software for realizing the extended functions added to the information processing apparatus are executed in different processes.

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行することを特徴とする。   In order to achieve the above object, an application execution method according to the present invention includes an input unit that inputs data, a processing unit that processes data, and an output unit that outputs data, and the input unit and the processing An application execution method in an information processing apparatus for realizing a function of one application by operating the output unit and the output unit in cooperation with each other, and application management software for managing the start and end of the application, and the like Basic application software that realizes basic functions of the information processing apparatus is executed in a first process, and extended application software that realizes an extended function added to the information processing apparatus is executed in a second process. And

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行することを特徴とする。   In order to achieve the above object, an application execution method according to the present invention includes an input unit that inputs data, a processing unit that processes data, and an output unit that outputs data, the processing unit, and the output An application execution method in an information processing apparatus that realizes a function of one application by operating in cooperation with a unit, and a first process in which application management software that manages the start and end of the application operates The information processing apparatus previously executes a second process in which a component program that functions as the input unit, the processing unit, and / or the output unit operates, and the information processing is performed when the function is expanded. Components that are added to the apparatus and function as the input unit, the processing unit, and / or the output unit And executes a third process that whereof program operates.

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行することを特徴とする。   In order to achieve the above object, an application execution method according to the present invention includes an input unit that inputs data, a processing unit that processes data, and an output unit that outputs data, and the input unit and the processing An application execution method in an information processing apparatus for realizing a function of one application by operating the output unit and the output unit in cooperation with each other, and application management software for managing the start and end of the application, and the like A first process in which a component program that functions as the input unit, the processing unit, and / or the output unit of the information processing apparatus operates in advance is added to the information processing apparatus when the function is expanded. The component unit that functions as the input unit, the processing unit, and / or the output unit. And executes a second process which grams operates.

これによって、本発明に係るアプリケーション実行方法は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークに相当する限定されたコンポーネントで行うことにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。   As a result, the application execution method according to the present invention operates a basic application that realizes the basic function of the system and an extended application that realizes the added extended function in different processes, and further performs multi-process communication such as inter-process communication. By performing the impact of the process on a limited component equivalent to the framework, the application can be easily customized or expanded without being aware of the multi-process, and the malfunction of the expanded function affects the basic function of the system. It is possible to provide a system having high robustness that does not affect

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行する。   In order to achieve the above object, an application execution program according to the present invention includes an input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, the processing unit, and the output An application execution program in an information processing apparatus that realizes a function of one application by operating in cooperation with a unit, application management software for managing the start and end of the application on a computer, and the information The basic application software that realizes the basic function of the processing device and the extended application software that realizes the extended function added to the information processing device are executed in different processes.

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行する。   In order to achieve the above object, an application execution program according to the present invention includes an input unit that inputs data, a processing unit that processes data, and an output unit that outputs data, the input unit, and the processing Is an application execution program in an information processing apparatus that realizes a function of one application by operating the output unit and the output unit in cooperation with each other, and the application management for managing the activation and termination of the application by the computer Software and basic application software that realizes basic functions of the information processing apparatus are executed in a first process, and extended application software that realizes extended functions added to the information processing apparatus is executed in a second process .

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行する。   In order to achieve the above object, an application execution program according to the present invention includes an input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, the processing unit, and the output An application execution program in an information processing apparatus that realizes a function of one application by operating in cooperation with a unit, and application management software for managing the start and end of the application is operated on a computer. When the function is expanded by executing a second process in which the component program functioning as the input unit, the processing unit, and / or the output unit, which is included in the information processing apparatus in advance, operates. The input unit, the processing unit, and / or the front added to the information processing apparatus Performing a third process a component program which functions as an output unit is operated.

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プロセスであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行する。   In order to achieve the above object, an application execution program according to the present invention includes an input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, the processing unit, and the output An application execution process in an information processing apparatus that realizes a function of one application by operating in cooperation with a unit, application management software for managing the activation and termination of the application on a computer, The information processing device has a first process in which a component program that functions as the input unit, the processing unit, and / or the output unit operates, and is added to the information processing device at the time of function expansion. A computer that functions as the input unit, the processing unit, and / or the output unit. Over whereof program executes a second process running.

これによって、本発明に係るアプリケーション実行プログラムは、コンピュータを、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとが、異なるプロセスで動作するように実行させることができる。   Thus, the application execution program according to the present invention allows a computer to execute so that a basic application that realizes the basic function of the system and an extended application that realizes the added extended function operate in different processes. it can.

本発明によれば、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを備える情報処理装置、画像処理装置、アプリケーション実行方法、及びアプリケーション実行プログラムを提供することができる。   According to the present invention, it is possible to easily customize or extend an application without being conscious of multi-process, and information including a system having high robustness so that a malfunction of the extended function does not affect a basic function of the system. A processing apparatus, an image processing apparatus, an application execution method, and an application execution program can be provided.

以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention (hereinafter referred to as “embodiments”) will be described in detail with reference to the drawings.

[第1の実施形態]
<画像処理装置のハードウェア構成について>
まず、本実施形態に係る画像処理装置のハードウェア構成について、図1を用いて説明する。
[First Embodiment]
<Hardware configuration of image processing apparatus>
First, the hardware configuration of the image processing apparatus according to the present embodiment will be described with reference to FIG.

図1は、本発明の第1の実施形態に係る画像処理装置100のハードウェア構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a hardware configuration of an image processing apparatus 100 according to the first embodiment of the present invention.

図中に示すように、画像処理装置100は、制御部11、主記憶部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部装置I/F16、表示部(パネル表示)19、入力部(操作部)20、印刷部(プロッタ部)21及びスキャナ部(原稿読み取り部)22などにより構成されている。   As shown in the figure, the image processing apparatus 100 includes a control unit 11, a main storage unit 12, an auxiliary storage unit 13, a network I / F 14, an external storage device I / F 15, an external device I / F 16, a display unit (panel display). ) 19, an input unit (operation unit) 20, a printing unit (plotter unit) 21, a scanner unit (original reading unit) 22, and the like.

制御部(CPU)11は、コンピュータの中で、各装置の制御やデータの演算・加工を行う。制御部11は、主記憶部12に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算・加工した上で、出力装置や記憶装置に出力する。   The control unit (CPU) 11 controls each device and calculates / processes data in a computer. The control unit 11 is an arithmetic device that executes a program stored in the main storage unit 12. The control unit 11 receives data from the input device or the storage device, calculates and processes the data, and outputs the data to the output device or the storage device.

主記憶部(ROM:Read Only Memory、RAM:Random Access Memory)12は、制御部11が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保持する記憶装置である。   A main storage unit (ROM: Read Only Memory, RAM: Random Access Memory) 12 is a storage device that stores or temporarily stores programs and data such as an OS and application software that are basic software executed by the control unit 11.

補助記憶部(HD:Hard Disk)13は、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部13には、画像処理装置100が管理する各種情報(例えば、ユーザ情報など。)が格納され、データベース(DB:database)やファイルシステム(FS:File System)などの機能により管理される。   The auxiliary storage unit (HD: Hard Disk) 13 is a storage device that stores data related to application software and the like. The auxiliary storage unit 13 stores various information (for example, user information) managed by the image processing apparatus 100, and is managed by functions such as a database (DB) and a file system (FS: File System). Is done.

ネットワークI/F14は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と当該画像処理装置100とのインタフェースである。   The network I / F 14 includes peripheral devices having a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. This is an interface with the image processing apparatus 100.

外部記憶装置I/F15は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された外部記憶装置(例えば、記憶メディアドライブなど。)と当該画像処理装置100とのインタフェースである。   The external storage device I / F 15 is an interface between an external storage device (for example, a storage media drive) connected via a data transmission path such as USB (Universal Serial Bus) and the image processing apparatus 100.

外部装置I/F16は、USBなどのデータ伝送路を介して接続された外部装置(例えば、デジタルカメラなど。)と当該画像処理装置100とのインタフェースである。   The external device I / F 16 is an interface between the external device (for example, a digital camera) connected via a data transmission path such as USB and the image processing apparatus 100.

画像処理装置100は、これらのインタフェースを介して、外部と各種データ(例えば、画像データなど。)のやり取り(送受信や読み込み/書き込み)を行っている。   The image processing apparatus 100 exchanges (transmits / receives and reads / writes) various data (for example, image data, etc.) with the outside via these interfaces.

表示部(パネル表示)19及び入力部(操作部)20は、キースイッチ(ハードキー)とタッチパネル機能(GUI(Graphical User Interface)のソフトウェアキーを含む。)を備えたLCD(Liquid Crystal Display)とから構成され、画像処理装置100が有する機能を利用する際のUI(User Interface)として機能する表示及び/又は入力装置である。   The display unit (panel display) 19 and the input unit (operation unit) 20 are an LCD (Liquid Crystal Display) having a key switch (hard key) and a touch panel function (including software keys for GUI (Graphical User Interface)), and And a display and / or input device that functions as a UI (User Interface) when using the functions of the image processing apparatus 100.

印刷部(プロッタ部)21は、CMYKからなる画像データを受け取ると、レーザービームを用いた電子写真プロセス(露光、潜像、現像及び転写のプロセス)を用いて、受け取った画像データを転写紙(印刷用紙)に出力(印刷)するプロッタ装置である。   Upon receiving the image data composed of CMYK, the printing unit (plotter unit) 21 uses the electrophotographic process (exposure, latent image, development, and transfer process) using a laser beam to transfer the received image data to transfer paper ( This is a plotter device that outputs (prints) to (printing paper).

スキャナ部(原稿読み取り部)22は、CCD(Charge Coupled Devices)光電変換素子からなるラインセンサとA/Dコンバータとこれらを駆動する駆動回路を備え、原稿読み取り面(コンタクトガラス上)にセットされた原稿をスキャンすることでRGB各8ビットのデジタル画像データを生成(原稿から情報を読み取り電子化)する読み取り装置である。   The scanner unit (document reading unit) 22 includes a line sensor composed of a CCD (Charge Coupled Devices) photoelectric conversion element, an A / D converter, and a drive circuit for driving them, and is set on the document reading surface (on the contact glass). This is a reading device that generates RGB 8-bit digital image data (reads information from the original and digitizes it) by scanning the original.

このように、画像処理装置100は、主記憶部12や補助記憶部13などの記憶装置に格納されたプログラムを制御部11で実行し、制御信号(制御命令)を各装置へ送出すること(各装置を制御すること)で、画像処理装置100が有するコピー、ファックス、スキャナ、プリンタなどの機能を実現し、画像処理装置100で管理する情報、又は画像処理装置100が接続されたシステム内で管理する情報を処理することができる。   As described above, the image processing apparatus 100 executes a program stored in a storage device such as the main storage unit 12 or the auxiliary storage unit 13 in the control unit 11 and sends a control signal (control command) to each device ( By controlling each device), the functions of the image processing apparatus 100 such as copy, fax, scanner, and printer are realized, and the information managed by the image processing apparatus 100 or the system to which the image processing apparatus 100 is connected Information to be managed can be processed.

<画像処理装置100のソフトウェア構成及び基本処理手順について>
次に、本実施形態に係る画像処理装置100の機能を実現するためのソフトウェア構成及び基本処理手順について、図2〜5を用いて説明する。
<Software Configuration and Basic Processing Procedure of Image Processing Apparatus 100>
Next, a software configuration and a basic processing procedure for realizing the functions of the image processing apparatus 100 according to the present embodiment will be described with reference to FIGS.

図2は、本発明の第1の実施形態に係る画像処理装置100のソフトウェア構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a software configuration of the image processing apparatus 100 according to the first embodiment of the present invention.

図中に示すように、本実施形態に係るソフトウェアは、ユーザインタフェース層101、コントロール層102、アプリケーションロジック層103、デバイスサービス層104及びデバイス制御層105などにより構成されている。なお、図中における各層の上下関係は、基本的に上にある層が下の層を呼び出す関係に基づいている。   As shown in the figure, the software according to the present embodiment includes a user interface layer 101, a control layer 102, an application logic layer 103, a device service layer 104, a device control layer 105, and the like. In addition, the vertical relationship of each layer in the drawing is basically based on a relationship in which an upper layer calls a lower layer.

ユーザインタフェース層101は、機能(例えば、コピー、ファックス、スキャナ、プリンタなどのアプリケーション機能)の実行要求を受け付けるためのUI機能が実装されている部分であり、例えば、通信サーバ部301及びローカルUI部302などが含まれる。   The user interface layer 101 is a part on which a UI function for receiving an execution request for a function (for example, application functions such as copy, fax, scanner, printer, etc.) is implemented. For example, the communication server unit 301 and the local UI unit 302 and the like are included.

通信サーバ部301は、例えば、非図示の通信機器を有する周辺機器であるクライントPC(Personal Computer)などからネットワークを介して各種要求(例えば、印刷動作要求など。)を受け付ける。また、ローカルUI部302は、例えば、非図示のオペレーションパネルを介して入力される各種要求(例えば、コピー動作要求や動作設定など。)を受け付ける。   The communication server unit 301 receives various requests (for example, a printing operation request) from a client PC (Personal Computer) that is a peripheral device having a communication device (not shown) via a network. In addition, the local UI unit 302 receives various requests (for example, a copy operation request and an operation setting) input via an operation panel (not shown), for example.

ユーザインタフェース層101において受け付けられた要求は、コントロール層102に伝えられる。   A request accepted by the user interface layer 101 is transmitted to the control layer 102.

コントロール層102は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。例えば、コントロール部303などが含まれている。具体的には、コントロール部303において、要求された機能に応じて、後述するアプリケーションロジック層103における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施形態において「画像処理装置100の機能」とは、画像処理装置100がユーザに対して提供する1つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には1つのまとまった単位のサービスを提供するアプリケーションと同義である。   The control layer 102 is a part where a function for controlling processing for realizing a requested function is mounted. For example, a control unit 303 is included. Specifically, the control unit 303 connects each filter in the application logic layer 103 described later according to the requested function, and controls the execution of the function based on the connected filter. In the present embodiment, the “function of the image processing apparatus 100” refers to a service of one unit (from when a request is input to when a final output is obtained) provided to the user by the image processing apparatus 100. In terms of software, it is synonymous with an application that provides a single unit of service.

アプリケーションロジック層103は、それぞれが画像処理装置100において提供される機能の一部を実現する部品群(ソフトウェア部品群)が実装されている部分である。すなわち、アプリケーションロジック層103における部品を組み合わせることにより1つの機能が実現される。本実施形態では、各部品を「フィルタ」と呼ぶ。これは、画像処理装置100のソフトウェアアーキテクチャが「パイプ&フィルタ」と呼ばれる考え方に基づくものである。   The application logic layer 103 is a part on which a component group (software component group) that realizes a part of the functions provided in the image processing apparatus 100 is mounted. That is, one function is realized by combining components in the application logic layer 103. In the present embodiment, each component is referred to as a “filter”. This is based on the idea that the software architecture of the image processing apparatus 100 is called “pipe & filter”.

図3は、本発明の第1の実施形態に係るパイプ&フィルタの概念及びフィルタの構成要素の一例を示す図である。図3の(a)には、パイプ&フィルタの概念を示し、図3の(b)には、フィルタの構成要素の一例を示す。   FIG. 3 is a diagram illustrating an example of a pipe and filter concept and a filter component according to the first embodiment of the present invention. FIG. 3A shows the concept of the pipe and filter, and FIG. 3B shows an example of the components of the filter.

まず、パイプ&フィルタの概念について説明する。図3の(a)において、「F」はフィルタを示し、「P」はパイプを示す。図中に示すように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して所定の変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。すなわち、本実施形態に係る画像処理装置100では、各機能を、画像処理装置100内部で管理する情報(例えば、ユーザ情報や画像データなど。)に対する「変換」の連続として捉える。画像処理装置100の各機能は、画像処理装置100内部で取り扱う情報の入力、加工及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」及び「出力」を「変換」として捉え、1つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ(入力手段)」と言う。また、加工を実現するフィルタを特に「変換フィルタ(加工手段)」と言う。更に、出力を実現するフィルタを特に「出力フィルタ(出力手段)」と言う。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。従って、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。   First, the concept of pipe and filter will be described. In FIG. 3A, “F” indicates a filter, and “P” indicates a pipe. As shown in the figure, each filter is connected by a pipe. The filter performs predetermined conversion on the input data and outputs the result. The pipe transmits the data output from the filter to the next filter. That is, in the image processing apparatus 100 according to the present embodiment, each function is regarded as a series of “conversions” for information (for example, user information and image data) managed in the image processing apparatus 100. Each function of the image processing apparatus 100 can be generalized as being configured by input, processing, and output of information handled inside the image processing apparatus 100. Therefore, “input”, “processing”, and “output” are regarded as “conversion”, and a software component that realizes one “conversion” is configured as a filter. A filter that realizes input is particularly referred to as an “input filter (input means)”. A filter that realizes processing is particularly referred to as a “conversion filter (processing means)”. Further, a filter that realizes output is particularly referred to as “output filter (output means)”. Each filter is independent, and basically there is no dependency relationship (call relationship) between the filters. Therefore, it is possible to add (install) or delete (uninstall) in units of filters.

図2に戻り、アプリケーションロジック層103には、入力フィルタ103aとして、例えば、読み取りフィルタ304などが含まれている。   Returning to FIG. 2, the application logic layer 103 includes, for example, a reading filter 304 as the input filter 103a.

読み取りフィルタ304は、スキャナ部22による画像データの読み取りを制御し、読み取られた画像データを出力する。   The reading filter 304 controls reading of image data by the scanner unit 22 and outputs the read image data.

その他、入力フィルタ103aとして、補助記憶部13に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する保管文書読出フィルタ、電子メールの受信し、当該電子メールに含まれているデータを出力するメール受信フィルタ、FAX受信を制御し、受信されたデータを出力するFAX受信フィルタ、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力するPC文書受信フィルタ、画像処理装置100の設定情報や履歴情報などを、例えば表形式に整形されたデータとして出力するレポートフィルタなどが含まれている。   In addition, as the input filter 103a, the document data (image data) stored in the auxiliary storage unit 13 is read, the stored document read filter that outputs the read data, the e-mail is received, and is included in the e-mail E-mail reception filter that outputs received data, FAX reception filter that controls FAX reception and output received data, PC document reception that receives print data from a client PC (not shown) and outputs received print data A filter, a report filter that outputs setting information, history information, and the like of the image processing apparatus 100 as, for example, data formatted in a table format are included.

また、変換フィルタ103bとしては、例えば、文書加工フィルタ305などが含まれている。文書加工フィルタ305は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小など)を施し出力する。   The conversion filter 103b includes a document processing filter 305, for example. The document processing filter 305 performs predetermined image conversion processing (aggregation, enlargement, reduction, etc.) on the input data and outputs it.

その他、変換フィルタ103bとして、入力されたPostScriptデータをビットマップデータに変換して出力する(レンダリング処理を実行する)文書変換フィルタなどが含まれている。   In addition, the conversion filter 103b includes a document conversion filter that converts input PostScript data into bitmap data and outputs (executes rendering processing).

また、出力フィルタ103cとしては、例えば、印刷フィルタ306などが含まれている。印刷フィルタ306は、入力されたデータを印刷部21に出力(印刷)させる。   The output filter 103c includes a print filter 306, for example. The print filter 306 causes the printing unit 21 to output (print) the input data.

その他、出力フィルタ103cとして、入力されたデータを補助記憶部13に保存する保管文書登録フィルタ、入力されたデータを電子メールに添付して送信するメール送信フィルタ、入力されたデータをFAX送信するFAX送信フィルタ、入力されたデータを、非図示のクラインアントPCに送信するPC文書送信フィルタ、入力されたデータを表示部19にプレビュー表示させるプレビューフィルタなどが含まれている。   In addition, as the output filter 103c, a storage document registration filter that stores input data in the auxiliary storage unit 13, a mail transmission filter that transmits the input data attached to an e-mail, and a FAX that transmits the input data by FAX A transmission filter, a PC document transmission filter that transmits input data to a client PC (not shown), and a preview filter that displays the input data on the display unit 19 are included.

デバイスサービス層104は、アプリケーションロジック層103における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ307、データ管理部308などが含まれている。   The device service layer 104 is a part in which lower functions commonly used by each filter in the application logic layer 103 are mounted, and includes, for example, an image pipe 307 and a data management unit 308.

画像パイプ307は、或るフィルタからの出力データを次のフィルタに伝達するパイプの機能を実現する。また、データ管理部308は、ユーザ情報が登録されたデータベース(DB)や文書又は画像データなどが蓄積されるデータベースなどの各種のデータベースを表現する。   The image pipe 307 realizes a pipe function of transmitting output data from a certain filter to the next filter. The data management unit 308 represents various databases such as a database (DB) in which user information is registered and a database in which document or image data is stored.

デバイス制御層105は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部309、プロッタ制御部310、メモリ制御部311、及び操作デバイス制御部312などが含まれる。各制御部は、当該制御部の名前に付けられている各デバイスを制御する。   The device control layer 105 is a part on which a group of program modules called drivers that control devices (hardware) is mounted. For example, the scanner control unit 309, the plotter control unit 310, the memory control unit 311, and the operation device control Part 312 and the like. Each control unit controls each device attached to the name of the control unit.

アスペクト106は、例えば、アクセス制御、履歴、課金といった、システム全体に渡る横断的な情報を取り扱うプログラムモジュール群が実装されている部分である。   The aspect 106 is a portion in which a program module group that handles cross-sectional information over the entire system such as access control, history, and accounting is mounted.

ここから、フィルタについて更に詳しく説明する。図3の(b)は、フィルタの構成要素の一例を示す図である。図中に示すように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス及び永続記憶領域情報などにより構成されている。このうち、フィルタ設定用UI、フィルタ固有下位サービス及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。   From here, the filter will be described in more detail. FIG. 3B is a diagram illustrating an example of components of the filter. As shown in the figure, each filter includes a filter setting UI, filter logic, filter-specific lower services, permanent storage area information, and the like. Among these, the filter setting UI, the filter-specific lower service, and the permanent storage area information are not necessarily included in the components by the filter.

フィルタ設定用UIは、フィルタの実行条件などを設定させるための画面を表示部19などに表示させるプログラムである。例えば、読取フィルタ304であれば、解像度、濃度、画像種別などを設定させる画面(動作(条件)設定画面)が相当する。なお、表示部19の表示がHTML(HyperText Markup Language)データやスクリプトに基づいて行われることを考えると、フィルタ設定用UIは、HTMLデータやスクリプトであってもよい。   The filter setting UI is a program that causes the display unit 19 or the like to display a screen for setting filter execution conditions and the like. For example, the reading filter 304 corresponds to a screen (operation (condition) setting screen) for setting the resolution, density, image type, and the like. Considering that display on the display unit 19 is performed based on HTML (HyperText Markup Language) data or script, the filter setting UI may be HTML data or script.

フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスやデバイスサービス層104又はデバイス制御層105などを利用して、フィルタ設定用UIを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタ304であれば、スキャナ部22による原稿の読み取り制御のためのロジックが相当する。   The filter logic is a program in which logic is implemented to realize a filter function. That is, the filter function is realized according to the execution condition set via the filter setting UI by using the filter-specific lower-level service, the device service layer 104 or the device control layer 105 as a component of the filter. For example, in the case of the reading filter 304, the logic for controlling the reading of the document by the scanner unit 22 corresponds.

フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。すなわち、デバイスサービス層104又はデバイス制御層105に相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタ304であれば、スキャナ部22を制御するための機能が相当するが、本実施形態では、デバイス制御層105においてスキャナ制御部309として実装されている。従って、読取フィルタ304において、フィルタ固有下位サービスの実装は必ずしも必要ではない。   The filter-specific lower service is a lower function (library) necessary for realizing the filter logic. That is, the function is equivalent to the device service layer 104 or the device control layer 105, but those that are not used by other filters may be implemented as a part of the filter, and the part corresponds to the filter-specific lower service. To do. For example, the reading filter 304 corresponds to a function for controlling the scanner unit 22, but in the present embodiment, it is implemented as the scanner control unit 309 in the device control layer 105. Therefore, it is not always necessary to implement a filter-specific lower service in the read filter 304.

永続記憶領域情報は、フィルタに対する設定情報(例えば、実行条件のデフォルト値など。)など、不揮発メモリ(例えば、NVRAM(Non Volatile RAM)など。)に記憶する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタがインストールされるときにデータ管理部308に登録される。   The permanent storage area information corresponds to a schema definition of data that needs to be stored in a nonvolatile memory (for example, NVRAM (Non Volatile RAM), etc.), such as setting information for a filter (for example, default values of execution conditions). . The schema definition is registered in the data management unit 308 when the filter is installed.

ここで、本実施形態に係る画像処理装置100における各機能を実現するためのフィルタの組み合わせの一例について以下に説明する。   Here, an example of a combination of filters for realizing each function in the image processing apparatus 100 according to the present embodiment will be described below.

例えば、コピー機能の場合は、読取フィルタ304と印刷フィルタ306とを接続することにより実現される。読取フィルタ304によって原稿より読み取られた画像データを印刷フィルタ306によって印刷すればよいからである。なお、集約、拡大、又は縮小などの加工が要求された場合には、これらの加工を実現する文書加工フィルタ305が二つのフィルタの間に挿入されることにより実現される。   For example, the copy function is realized by connecting the reading filter 304 and the print filter 306. This is because the image data read from the original by the reading filter 304 may be printed by the print filter 306. When processing such as aggregation, enlargement, or reduction is required, this is realized by inserting a document processing filter 305 that realizes these processings between the two filters.

次に、本実施形態のソフトウェア構成により実行される基本処理手順について、図4及び5を用いて説明する。
図4及び5は、本発明の第1の実施形態に係る画像処理装置100の基本処理手順の一例を示すフローチャートである。ここで言う「基本処理手順」とは、画像処理装置100が1つの機能を実現する際の処理手順のことを意味する。
Next, a basic processing procedure executed by the software configuration of this embodiment will be described with reference to FIGS.
4 and 5 are flowcharts showing an example of a basic processing procedure of the image processing apparatus 100 according to the first embodiment of the present invention. The “basic processing procedure” here means a processing procedure when the image processing apparatus 100 realizes one function.

まず、ユーザによって入力フィルタ103aが選択され(S11)、選択された入力フィルタ103aの実行条件が設定される(S12)。同様に、変換フィルタ(加工手段)103b又は出力フィルタ103cについても選択が行われ(S13)、フィルタ間の接続が指定され(S14)、実行条件が設定される(S15)。   First, the input filter 103a is selected by the user (S11), and the execution condition of the selected input filter 103a is set (S12). Similarly, the conversion filter (processing means) 103b or the output filter 103c is also selected (S13), the connection between the filters is designated (S14), and the execution condition is set (S15).

上記の操作は、ユーザインタフェース層101のローカルUI部302の制御の基、例えば、図1において例に挙げたタッチパネル機能を有する表示部19や入力部20などを介して行われる。   The above operation is performed through the control of the local UI unit 302 of the user interface layer 101, for example, the display unit 19 or the input unit 20 having the touch panel function exemplified in FIG.

各フィルタの選択が完了し(S16がYESの場合)、スタートボタンが押下されると、ユーザインタフェース層101からコントロール層102に対して、要求内容(例えば、フィルタの種別と当該フィルタに対する動作設定情報など。)が通知される。   When the selection of each filter is completed (when S16 is YES) and the start button is pressed, the request contents (for example, the type of filter and the operation setting information for the filter) are sent from the user interface layer 101 to the control layer 102. Etc.) is notified.

コントロール層102は、ユーザインタフェース層101からの要求内容を受けて、選択された各フィルタ間をパイプによって接続する(S17)。パイプの実体はメモリ(補助記憶部13の格納領域も含む。)であるが、パイプの両端のフィルタに応じて利用するメモリの種類が異なり、その対応関係は、例えば、画像処理装置100の補助記憶部13内に予め定義されている。従って、コントロール層102は、定義された対応関係に基づいて、各フィルタ間を特定のパイプで接続する。   In response to the request content from the user interface layer 101, the control layer 102 connects the selected filters with a pipe (S17). The entity of the pipe is a memory (including the storage area of the auxiliary storage unit 13), but the type of memory used differs depending on the filters at both ends of the pipe, and the correspondence relationship is, for example, the auxiliary of the image processing apparatus 100 It is defined in advance in the storage unit 13. Therefore, the control layer 102 connects each filter with a specific pipe based on the defined correspondence.

続いて、コントロール層102は、各フィルタに対して並列的に実行要求を出力する(S18)。すなわち、フィルタの呼び出しはフィルタの接続順ではなく、全てのフィルタに対してほぼ同時に行われる。なぜならフィルタ間の同期はパイプによってとられるからである。すなわち、コントロール層102からの実行要求を受けて、各フィルタは自分の入力側のパイプにデータが入力されるまで待機する。但し、入力フィルタ103aには、入力側にパイプは存在しない。従って、入力フィルタ103aは実行要求に応じて処理を開始する。   Subsequently, the control layer 102 outputs an execution request to each filter in parallel (S18). That is, the filters are called almost simultaneously for all filters, not in the order of filter connection. This is because the synchronization between filters is taken by pipes. That is, in response to an execution request from the control layer 102, each filter waits until data is input to its own pipe on the input side. However, the input filter 103a has no pipe on the input side. Therefore, the input filter 103a starts processing in response to the execution request.

処理手順は図5に移り、まず、入力フィルタ103aは、入力デバイスよりデータを入力し(S21)、当該データを、出力側に接続されているパイプに出力する(S22)。なお、データが複数回に分けて入力される場合(複数枚の原稿がスキャンされる場合など)は、データの入力とパイプへの出力が繰り返される。全ての入力データについて処理が終了すると(S23がYESの場合)、入力フィルタ103aの処理は終了する。   The processing procedure moves to FIG. 5. First, the input filter 103a inputs data from the input device (S21), and outputs the data to a pipe connected to the output side (S22). When data is input in a plurality of times (for example, when a plurality of documents are scanned), data input and output to a pipe are repeated. When the processing is completed for all input data (when S23 is YES), the processing of the input filter 103a ends.

変換フィルタ103bは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S31)、データに対して画像処理を施す(S32)。続いて、処理結果としてのデータを出力側に接続されているパイプに出力する(S33)。入力側のパイプに入力された全てのデータについて処理が終了すると(S34がYESの場合)、変換フィルタ103bの処理は終了する。   The conversion filter 103b starts processing when it detects data input to a pipe connected to the input side. First, data is read from the pipe (S31), and image processing is performed on the data (S32). Subsequently, the data as the processing result is output to the pipe connected to the output side (S33). When the processing is completed for all data input to the input side pipe (when S34 is YES), the processing of the conversion filter 103b ends.

出力フィルタ103cは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S41)。続いて、読み込まれたデータを出力デバイスを利用して出力する(S42)。入力側のパイプに入力された全てのデータについて処理が終了すると(S43がYESの場合)、出力フィルタ103cの処理は終了する。   The output filter 103c starts processing when it detects data input to a pipe connected to the input side. First, data is read from the pipe (S41). Subsequently, the read data is output using an output device (S42). When the processing is completed for all data input to the input side pipe (when S43 is YES), the processing of the output filter 103c ends.

<「パイプ&フィルタ」によるアプリケーション機能について>
これまで説明した「パイプ&フィルタ」のソフトウェア構成及び基本処理手順を踏まえて、本実施形態に係るアプリケーション機能を実現する場合について考える。
<Application function by "Pipe &Filter">
Consider the case where the application function according to the present embodiment is realized based on the software configuration and the basic processing procedure of the “pipe & filter” described so far.

このように、これまで説明を行ってきた「パイプ&フィルタ」のソフトウェア構成上で動作するアプリケーションを実現するためには、画像処理装置100で行いたい処理の目的にあわせて、データを入力する入力フィルタ103aと、入力したデータを加工する変換フィルタ103bと、加工したデータを出力する出力フィルタ103cとを組み合わせ、入力・加工・出力の一連の作業工程(ワークフロー)を構成する。次に、これらの各フィルタ(入力・加工・出力の各手段)をパイプで接続する。   As described above, in order to realize an application that operates on the software configuration of the “pipe and filter” described so far, input for inputting data in accordance with the purpose of processing desired to be performed by the image processing apparatus 100 is performed. The filter 103a, the conversion filter 103b for processing the input data, and the output filter 103c for outputting the processed data are combined to constitute a series of input / processing / output work steps (workflow). Next, these filters (input / processing / output means) are connected by pipes.

これによって、アプリケーションは、入力フィルタ103aで入力したデータを、次工程の変換フィルタ103bへ伝達でき、変換フィルタ103bで加工したデータを、次工程の出力フィルタ103cへ伝達する。すなわち、画像処理装置100が有する入力・加工・出力機能コンポーネント(入力・加工・出力の各ソフトウェア部品)を連携し動作させることで機能を実現する。   Thereby, the application can transmit the data input by the input filter 103a to the conversion filter 103b of the next process, and transmit the data processed by the conversion filter 103b to the output filter 103c of the next process. That is, the function is realized by operating the input / processing / output function components (input / processing / output software components) of the image processing apparatus 100 in cooperation with each other.

このように、本実施形態に係る画像処理装置100には、アプリケーションが目的とする機能を実現する入力・加工・出力機能コンポーネントを、必要に応じてインストールすることで、アプリケーションがもつ機能そのものを実装できる。   As described above, the image processing apparatus 100 according to the present embodiment implements the function itself of the application by installing the input / processing / output function components that realize the target function of the application as necessary. it can.

<情報処理装置のハードウェア構成について>
図6は、本発明の第1の実施形態に係る情報処理装置200のハードウェア構成の一例を示す図である。
<Hardware configuration of information processing device>
FIG. 6 is a diagram illustrating an example of a hardware configuration of the information processing apparatus 200 according to the first embodiment of the present invention.

図中に示すように、本実施形態に係る情報処理装置200は、制御部11、主記憶部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部装置I/F16、出力装置I/F17、及び入力装置I/F18などにより構成されている。これらの構成要素は、図1を用いて説明した本実施形態に係る画像処理装置100で示した構成要素と一部同じ装置を有していることから、同じ構成要素については、図1と同じ参照符号を用いることで説明を省略し、異なる構成要素についてのみ以下に説明する。   As shown in the figure, the information processing apparatus 200 according to the present embodiment includes a control unit 11, a main storage unit 12, an auxiliary storage unit 13, a network I / F 14, an external storage device I / F 15, an external device I / F 16, An output device I / F 17 and an input device I / F 18 are configured. Since these components have the same apparatus as the components shown in the image processing apparatus 100 according to the present embodiment described with reference to FIG. 1, the same components are the same as those in FIG. The description will be omitted by using reference numerals, and only different components will be described below.

出力装置I/F17は、専用ケーブルなどのデータ伝送路を介して接続された出力装置(例えば、CRT(Cathode Ray Tube)やLCDなど。)と当該情報処理装置200とのインタフェースである。   The output device I / F 17 is an interface between an output device (for example, a CRT (Cathode Ray Tube) or an LCD) connected via a data transmission path such as a dedicated cable and the information processing device 200.

入力装置I/F18は、USBなどのデータ伝送路を介して接続された入力装置(例えば、キーボードやマウスなど。)と当該情報処理装置200とのインタフェースである。   The input device I / F 18 is an interface between the information processing device 200 and an input device (for example, a keyboard or a mouse) connected via a data transmission path such as USB.

このように、本実施形態に係る情報処理装置200は、主記憶部12や補助記憶部13などの記憶装置に格納されたプログラムを制御部11で実行し、制御信号を各装置へ送出することで、情報処理装置200が有する機能を実現している。画像処理装置100との違いは、装置に接続された入力/出力装置の特性が異なる点であって、制御部11によりプログラムを実行し、各装置を制御することで「情報処理装置200で管理する情報、又は情報処理装置200が接続されたシステム内で管理する情報を処理する」点において同じである。   As described above, the information processing apparatus 200 according to the present embodiment executes the program stored in the storage device such as the main storage unit 12 or the auxiliary storage unit 13 in the control unit 11 and sends a control signal to each device. Thus, the functions of the information processing apparatus 200 are realized. The difference from the image processing apparatus 100 is that the characteristics of the input / output devices connected to the apparatus are different. The control unit 11 executes a program and controls each apparatus to manage the information processing apparatus 200. Or information managed in the system to which the information processing apparatus 200 is connected ".

よって、本発明の「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」という目的を達成するために必要なハードウェアの最小構成要素は、画像処理装置100及び情報処理装置200ともに同じであることから、これまでに説明した画像処理装置100を、印刷部21、スキャナ部22、及び情報処理装置200を有する装置として解釈できる。このことから、以降、情報処理装置200として本発明の実施形態について説明を行う。   Therefore, the present invention provides a system having high robustness that can easily customize or extend an application without being aware of multi-process and does not affect the basic function of the system. The minimum hardware components necessary for achieving the purpose of the image processing apparatus 100 and the information processing apparatus 200 are the same as those of the image processing apparatus 100 described so far. It can be interpreted as a device having the unit 22 and the information processing device 200. Therefore, hereinafter, an embodiment of the present invention will be described as the information processing apparatus 200.

<マルチプロセス化について>
では、図2〜5を用いて説明した「パイプ&フィルタ」のソフトウェア構成におけるマルチプロセス化について、図7〜9を用いて説明する。
<About multi-process>
Now, multi-processing in the “pipe & filter” software configuration described with reference to FIGS. 2 to 5 will be described with reference to FIGS.

本実施形態に係る情報処理装置200では、「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」ために、以下の基本方針に従ってマルチプロセス化を行う。
(方針1)自社が提供する基本機能と、サードベンダが提供する拡張機能とを、異なるプロセスで動作させる。
(方針2)ユーザからの使用頻度が高い基本機能(基本アプリケーション)を、同じプロセス(同じJVM)で動作させる。
(方針3)アプリケーションロジック層103へのコンポーネント実装の影響を最小化する。
In the information processing apparatus 200 according to the present embodiment, “applications can be easily customized or expanded without being conscious of multi-processes, and high robustness that does not affect the basic functions of the system due to the malfunction of the expanded functions. In order to provide a system having "
(Policy 1) The basic function provided by the company and the extended function provided by the third vendor are operated in different processes.
(Policy 2) Basic functions (basic applications) frequently used by users are operated in the same process (same JVM).
(Policy 3) Minimize the effect of component implementation on the application logic layer 103.

<<プロセス構成>>
図7は、本発明の第1の実施形態に係るプロセス構成の一例を示す図である。
<< Process configuration >>
FIG. 7 is a diagram illustrating an example of a process configuration according to the first embodiment of the present invention.

図中に示すように、本実施形態に係る情報処理装置200は、先に示した(方針1)に従ってマルチプロセス化を実現するため、OS31(例えば、NetBSDなど。)から起動されるプロセス構成を、アプリケーション管理用JVMを動作させるプロセスA(第1のプロセス)32aと、自社製アプリケーション用(基本アプリケーション用)JVMを動作させるプロセスB(第2のプロセス)32bと、サードベンダ製アプリケーション用(拡張アプリケーション用)JVMを動作させるプロセスC(第3のプロセス)32cとする。   As shown in the figure, the information processing apparatus 200 according to the present embodiment has a process configuration activated from an OS 31 (for example, NetBSD) in order to realize multi-processing according to the above-described (policy 1). , Process A (first process) 32a for operating the application management JVM, process B (second process) 32b for operating the in-house application (for basic application) JVM, and third-party application (extended) It is assumed that a process C (third process) 32c for operating the JVM is executed.

ここで、JVMについて簡単に説明する。JVMはOS31上のプロセスの1つとして、メインメモリ上にアドレス空間を構築する。ここで言う「アドレス空間」とは、プロセス管理下のメモリ管理単位を意味する。OS31は、ハードディスクなどの補助記憶部13に格納されたプログラムをメモリ上に展開(ロード)することでプロセスを起動し、プロセスごとに物理メモリを割り振り(ディスパッチして)、使用状況を管理する。メモリ上に展開されたJVMのアドレス空間には、Javaアプリケーションを展開するための領域が確保される。   Here, JVM is explained briefly. The JVM constructs an address space on the main memory as one of the processes on the OS 31. Here, “address space” means a memory management unit under process management. The OS 31 starts a process by expanding (loading) a program stored in the auxiliary storage unit 13 such as a hard disk onto a memory, allocates (dispatches) physical memory for each process, and manages the usage status. An area for deploying the Java application is secured in the address space of the JVM deployed on the memory.

プロセスA32aでは、アプリケーションの起動や終了などの管理を行う「アプリケーション管理ソフトウェア(システム:自社開発した基盤ソフト)」を実行する。プロセスB32bでは、情報処理装置200が有する基本機能を実現する「基本アプリケーションソフトウェア」を実行する。プロセスC32cでは、情報処理装置200に追加される拡張機能を実現する「拡張アプリケーションソフトウェア」を実行する。   In the process A32a, “application management software (system: platform software developed in-house)” for managing the start and end of the application is executed. In the process B32b, “basic application software” that realizes basic functions of the information processing apparatus 200 is executed. In the process C32c, “extended application software” that realizes an extended function added to the information processing apparatus 200 is executed.

これによって、本実施形態に係る情報処理装置200は、拡張した機能(インストールした拡張アプリケーション)の不具合がシステムの基本機能に影響を及ぼす(例えば、システムがクラッシュ(異常終了)する。)ことがなく、また、拡張した機能が多くのメモリを使用した場合でも、アプリケーション管理ソフトウェアに影響を与えることなく、ユーザに対して安定した機能を提供することができる。   Thus, in the information processing apparatus 200 according to the present embodiment, the malfunction of the extended function (installed extended application) does not affect the basic function of the system (for example, the system crashes (abnormally ends)). In addition, even when the extended function uses a lot of memory, a stable function can be provided to the user without affecting the application management software.

<<各レイヤのプロセス配置>>
図8は、本発明の第1の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。
<< Process arrangement of each layer >>
FIG. 8 is a diagram showing an example of arranging each layer in the process according to the first embodiment of the present invention.

図7を用いて説明したように、適切な粒度で分割された3つのプロセス(3種類のJVM)に対して、各プロセスで動作させるレイヤのコンポーネントを、図8に示すように配置する。   As described with reference to FIG. 7, for the three processes (three types of JVMs) divided at an appropriate granularity, the components of the layers operated in each process are arranged as shown in FIG.

ユーザインタフェース層101は、全ての機能に対するUIのフレームワークとなるコンポーネントが含まれており、これらはシステムワイドな性質からアプリケーション管理ソフトウェアが動作するプロセスA32aに配置する。また、アプリケーション個別のUIについては、基本アプリケーション(自社製アプリケーション)や拡張アプリケーション(サードベンダ製アプリケーション)それぞれが動作するプロセスB32b及びプロセスC32cに配置する。   The user interface layer 101 includes components serving as a UI framework for all functions, and these are arranged in the process A 32a in which application management software operates because of the system-wide nature. In addition, the UI for each application is arranged in the process B32b and the process C32c in which the basic application (in-house application) and the extended application (third-vendor application) operate.

コントロール層102は、アプリケーションの動作を制御するコンポーネント(リクエスト管理、セッション管理などのソフトウェア部品)と、全てのコンポーネントに関連する機能を実現するコンポーネント(プラグイン管理、機内監視などのソフトウェア部品)が含まれており、いずれもシステムワイドな性質からアプリケーション管理ソフトウェアが動作するプロセスA32aに配置する。   The control layer 102 includes components that control application operations (software components such as request management and session management) and components that realize functions related to all components (software components such as plug-in management and in-flight monitoring). Both are arranged in the process A 32a in which the application management software operates because of the system-wide nature.

アプリケーションロジック層103は、情報処理装置200が有する機能を実現するためのコンポーネントが含まれており、機能追加・変更・削除などが簡便に行えるように、アプリケーション管理ソフトウェアが動作するプロセスA32aと異なる、基本アプリケーションが動作するプロセスB32b及び拡張アプリケーションが動作するプロセスC32cに配置する。   The application logic layer 103 includes components for realizing the functions of the information processing apparatus 200. The application logic layer 103 is different from the process A32a in which application management software operates so that functions can be easily added, changed, and deleted. The process B32b in which the basic application operates and the process C32c in which the extended application operate are arranged.

デバイスサービス層104は、アプリケーション層103から利用される共通のサービスを実現するコンポーネントが含まれており、アプリケーション層103のコンポーネントが、その動作単位でプロセスB32b及びプロセスC32cに配置されることを考慮し、必要なサービスも同一のプロセスB32b及びプロセスC32cに配置する。   The device service layer 104 includes components that realize common services used from the application layer 103, and considers that the components of the application layer 103 are arranged in the process B 32b and the process C 32c in the operation unit. Necessary services are also arranged in the same process B 32b and process C 32c.

デバイス制御層105は、システムで扱うデバイスに相当するコンポーネントが含まれており、情報処理装置200の性能に大きく影響するため、アプリケーション管理ソフトウェアが動作するプロセスA32a及び情報処理装置200が有する機能を実現する基本アプリケーションが動作するプロセスB32bに配置する。   The device control layer 105 includes components corresponding to devices handled by the system and greatly affects the performance of the information processing apparatus 200. Therefore, the process A32a in which the application management software operates and the functions of the information processing apparatus 200 are realized. It is arranged in the process B 32b where the basic application to be operated operates.

アスペクト106は、システム全体に渡る横断的な関心ごとを取り扱うコンポーネントが含まれており、いずれもシステムワイドな性質からアプリケーション管理ソフトウェアが動作するプロセスA32aに配置する。   The aspect 106 includes components for handling cross-sectional interests across the entire system, and all of them are arranged in the process A 32a in which application management software operates because of the system-wide nature.

このように、本実施形態に係る情報処理装置200は、各レイヤの特徴を考慮して、レイヤのコンポーネントを最適なプロセスに配置する。また、先に示した(方針2)に従って、「情報処理装置200が有する基本機能のうち、ユーザからの使用頻度の高いコピー機能などのアプリケーションが有する機能を実現するために用いる入力フィルタ103a、変換フィルタ103b、出力フィルタ103cなどの各コンポーネントを、同じプロセスで動作させること」とする。   As described above, the information processing apparatus 200 according to the present embodiment arranges layer components in an optimal process in consideration of the characteristics of each layer. Further, in accordance with the above-described (policy 2), “the input filter 103a used for realizing the functions of the application such as the copy function frequently used by the user among the basic functions of the information processing apparatus 200, conversion Each component such as the filter 103b and the output filter 103c is operated in the same process.

これによって、本実施形態に係る情報処理装置200は、システムが有する機能のうち、比較的使用頻度の高い基本機能を安定してユーザに提供することができる。   As a result, the information processing apparatus 200 according to the present embodiment can stably provide basic functions that are relatively frequently used among the functions of the system to the user.

<<アクティビティ及びフィルタのプロセス配置>>
図9は、本発明の第1の実施形態に係る各アクティビティ及びフィルタをプロセスに配置する一例を示す図である。
<< Process arrangement of activities and filters >>
FIG. 9 is a diagram showing an example of arranging each activity and filter according to the first embodiment of the present invention in a process.

図8では、各レイヤの特徴に基づいたマルチプロセス化における各レイヤのコンポーネントの配置について説明を行った。ここでは、更に細かい単位に視点を移し、「パイプ&フィルタ」における「フィルタ」と、一連のフィルタをつなぎ合わせることで実現される機能の「アクティビティ」それぞれの単位で、マルチプロセス化におけるコンポーネントの配置について、図9を用いて説明する。   In FIG. 8, the arrangement of components of each layer in the multi-process based on the characteristics of each layer has been described. Here, we move the viewpoint to finer units, and arrange components in multi-process in units of “activities” of functions realized by connecting “filters” in “pipe & filter” and a series of filters. Will be described with reference to FIG.

図9の(a)には、「アクティビティ」の単位でコンポーネントを配置する「アクティビティ集約型」の一例が示されている。また、図9の(b)には、「フィルタ」の単位でコンポーネントを配置する「フィルタ集約型」の一例が示されている。また、図9では、「フィルタA」Faと「フィルタB」Fbとを「パイプ」Pで接続して実現される「アクティビティ1」A1、また、「フィルタA」Faと「フィルタC」Fcとを「パイプ」Pで接続して実現される「アクティビティ2」A2が示されている。   FIG. 9A shows an example of an “activity intensive type” in which components are arranged in units of “activity”. FIG. 9B shows an example of “filter aggregation type” in which components are arranged in units of “filter”. In FIG. 9, “Activity 1” A1 realized by connecting “Filter A” Fa and “Filter B” Fb by “Pipe” P, and “Filter A” Fa and “Filter C” Fc “Activity 2” A2 realized by connecting “pipe” P to each other is shown.

「アクティビティ集約型」は、図9の(a)に示すように、アクティビティコンポーネントに必要な1つ又は複数のフィルタコンポーネントを、アクティビティコンポーネントと同じプロセスに配置し、アクティビティが単一プロセス(単一JVM)で実行するためのコンポーネント構成である。   As shown in (a) of FIG. 9, “activity intensive type” is a method in which one or more filter components required for an activity component are arranged in the same process as the activity component, and the activity is a single process (single JVM). ) Is a component configuration for execution.

それに対して、「フィルタ集約型」は、図9の(b)に示すように、単一プロセスに、1つのフィルタコンポーネントを配置し、アクティビティが複数のプロセス(複数のJVM)をまたいで各フィルタを利用するコンポーネント構成である。   On the other hand, as shown in Fig. 9 (b), the "filter aggregation type" arranges a single filter component in a single process, and each filter spans multiple processes (multiple JVMs). This is a component configuration that uses.

「アクティビティ集約型」のメリット及びデメリットは、以下の通りである。
[メリット]
・拡張アプリケーションのコンポーネントが不正な処理を行っても、他のアクティビティの実行に影響しない。
・機能選択、動作設定、アクティビティ実行まで、単一プロセスで動作するため、フィルタ間でのプロセス間通信が発生しないため、プロセス間通信を実装するコンポーネントが少なくてすみ、またプロセス間通信のオーバーヘッドにより生じる性能低下を抑えることができる。
・アクティビティ実行中に、プロセスを動的に終了するなどの後処理を容易に行うことができる。
[デメリット]
・複数のプロセスに同じコンポーネントが配置されるため、同じクラスのバイトコードが必要となる(但し、プロセス間でバイトコードを共有する対応策がある)。
・同じフィルタコンポーネントが複数のプロセスに存在するため、複数のプロセス間で、フィルタが使用するリソースのスケジューリング(排他制御)を行う必要がある。
The advantages and disadvantages of “activity-intensive” are as follows.
[merit]
-Even if an extended application component performs unauthorized processing, it does not affect the execution of other activities.
・ Since function selection, operation setting and activity execution are performed in a single process, no inter-process communication occurs between filters, so there are fewer components to implement inter-process communication, and due to the overhead of inter-process communication The resulting performance degradation can be suppressed.
-It is possible to easily perform post-processing such as dynamically ending the process during activity execution.
[Demerit]
-Since the same component is arranged in a plurality of processes, the byte code of the same class is required (however, there is a countermeasure for sharing the byte code between processes).
-Since the same filter component exists in a plurality of processes, it is necessary to perform scheduling (exclusive control) of resources used by the filter between the plurality of processes.

「フィルタ集約型」のメリット及びデメリットは、以下の通りである。
[メリット]
・同じフィルタコンポーネントが複数のプロセスに存在しないため、メモリ効率がよい。
・同じフィルタコンポーネントが複数のプロセスに存在しないため、フィルタで使用するリソースのスケジューリングが単一プロセス内で解決できる。
[デメリット]
・拡張アプリケーションが基本アプリケーション用のフィルタコンポーネントを利用する場合、基本アプリケーションの実行に影響を及ぼす。
・機能選択、動作設定、アクティビティ実行まで、複数のプロセスで動作するため、複数のフィルタコンポーネントにアクセスする必要があり、頻繁にフィルタ間でのプロセス間通信が発生する。
・フィルタコンポーネントごとにプロセスが割り当てられているため、アクティビティ実行中に、プロセスを動的に終了するなどの後処理が難しい。
The advantages and disadvantages of the “filter aggregation type” are as follows.
[merit]
-Memory efficiency is good because the same filter component does not exist in multiple processes.
-Since the same filter component does not exist in multiple processes, scheduling of resources used in the filter can be solved within a single process.
[Demerit]
-When the extended application uses the filter component for the basic application, the execution of the basic application is affected.
-Since it operates in a plurality of processes from function selection to operation setting to activity execution, it is necessary to access a plurality of filter components, and inter-process communication frequently occurs between filters.
-Since a process is assigned to each filter component, post-processing such as dynamically ending the process during activity execution is difficult.

これらのことを踏まえて総合的に判断すると、本実施形態に係る情報処理装置200の「パイプ&フィルタ」における最適なマルチプロセス化には、「拡張アプリケーションのコンポーネントが不正な処理を行っても、他のアクティビティの実行に影響しない」と「機能選択、動作設定、アクティビティ実行まで、単一プロセスで動作し、フィルタ間でのプロセス間通信が発生しないため、プロセス間通信を実装するコンポーネントが少なくてすみ、またプロセス間通信のオーバーヘッドにより生じる性能低下を抑えることができる。」の利点がある「アクティビティ集約型」を採用する。   Comprehensively based on these matters, the optimum multi-process in the “pipe & filter” of the information processing apparatus 200 according to the present embodiment is “even if the component of the extended application performs unauthorized processing, Does not affect the execution of other activities "and" Function selection, operation settings, activity execution, it operates in a single process, there is no inter-process communication between filters, so there are few components that implement inter-process communication "Activity intensive type" which has the advantage that "degradation of performance caused by overhead of inter-process communication can be suppressed" is adopted.

このように、本実施形態に係る情報処理装置200は、先に示した(方針3)に従って、「アクティビティコンポーネントで利用可能なフィルタコンポーネントを、アクティビティコンポーネントと同じプロセスに配置し、アクティビティが単一プロセスで実行するためのコンポーネント構成である「アクティビティ集約型」」を採用し、「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステム」を実現している。   As described above, the information processing apparatus 200 according to the present embodiment arranges the filter component that can be used in the activity component in the same process as the activity component in accordance with the above-described (policy 3), and the activity is a single process. “Activity-intensive”, which is a component configuration to be executed in the system, is adopted, and “customization or expansion of the application can be easily performed without being aware of multi-process, and the malfunction of the expanded function affects the basic function of the system. System with high robustness that does not affect

これによって、本実施形態に係る情報処理装置200は、マルチプロセス環境における各プロセス同士(各JVM同士)で行うプロセス間通信を、フレームワークに相当する限定されたコンポーネントで行えるように構成することにより、アプリケーションへのマルチプロセス化の影響を隠蔽することができる。その結果、アプリケーションを、マルチプロセス環境を意識することなく設計・開発することができる。   As a result, the information processing apparatus 200 according to the present embodiment is configured so that interprocess communication performed between processes (each JVM) in a multi-process environment can be performed with limited components corresponding to the framework. The effect of multi-process on the application can be hidden. As a result, applications can be designed and developed without being conscious of the multi-process environment.

<情報処理装置における主な機能構成について>
ここからは、図7〜9を用いて説明したプロセス構成及び各レイヤのプロセス配置において、本実施形態に係る情報処理装置200が有する基本機能及び拡張機能をどうのように動作させるのか、すなわち「マルチプロセス環境においてアプリケーションをどのような仕組みで実行させるのか」について、図10〜16を用いて説明する。
<Main functional configuration of information processing device>
From here, how to operate the basic function and the extended function of the information processing apparatus 200 according to the present embodiment in the process configuration and the process arrangement of each layer described with reference to FIGS. How the application is executed in the multi-process environment ”will be described with reference to FIGS.

図10は、本発明の第1の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。   FIG. 10 is a diagram illustrating an example of a main functional configuration of the information processing apparatus 200 according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、図7に示した3つのプロセス(3種類のJVM)を実行する実行手段51を有している。   The information processing apparatus 200 according to the present embodiment includes an execution unit 51 that executes the three processes (three types of JVMs) illustrated in FIG.

実行手段51は、図10に示すように、以下の3つのプロセスを実行する。実行手段51は、例えばOS31である。   The execution unit 51 executes the following three processes as shown in FIG. The execution means 51 is, for example, the OS 31.

[プロセスA]
プロセスA32aは、アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェアを動作させるプロセスである。また、プロセスA32aは、情報処理装置200の起動後、常駐する。
[Process A]
The process A32a is a process for operating application management software for managing application activation and termination. Further, the process A 32 a stays resident after the information processing apparatus 200 is activated.

[プロセスB]
プロセスB32bは、予め当該情報処理装置200が有する、入力フィルタ103a、変換フィルタ103b、及び/又は出力フィルタ103cとして機能するコンポーネント、すなわち情報処理装置200が有する標準的な機能を実現するコンポーネントを動作させるプロセスである。
[Process B]
The process B32b operates in advance components that function as the input filter 103a, the conversion filter 103b, and / or the output filter 103c that the information processing apparatus 200 has, that is, components that realize standard functions of the information processing apparatus 200. Is a process.

[プロセスC]
プロセスC32cは、機能拡張のときに当該情報処理装置200に追加される、入力フィルタ103a、変換フィルタ103b、及び/又は出力フィルタ103cとして機能するコンポーネントを動作させるプロセスである。
[Process C]
The process C32c is a process for operating components that function as the input filter 103a, the conversion filter 103b, and / or the output filter 103c, which are added to the information processing apparatus 200 when the function is expanded.

また、プロセスB32b及びプロセスC32cは、ユーザからの動作要求を受けたときなど、必要に応じて実行手段51により実行される。   Further, the process B 32b and the process C 32c are executed by the execution unit 51 as necessary, for example, when an operation request is received from the user.

このように、本実施形態に係る情報処理装置200は、システムと、基本機能を実現する基本アプリケーション81と、拡張機能を実現する拡張アプリケーション82とにおいて、それぞれが動作するメモリ空間を分離し、互いに影響を及ぼさないマルチプロセス化を実現している。   As described above, the information processing apparatus 200 according to the present embodiment separates the memory space in which the system, the basic application 81 that realizes the basic function, and the extended application 82 that realizes the extended function operate, and mutually A multi-process that has no effect is realized.

実行手段51によって実行された3つのプロセスでは、先に説明した(方針3)に従って、プロセス間通信が最小限となるコンポーネント構成としたが、アプリケーション管理ソフトウェアと基本アプリケーション81や、アプリケーション管理ソフトウェアと拡張アプリケーション82との間では、動作要求、動作設定、及び実行要求などのプロセス間通信を行わなければならない。   The three processes executed by the execution means 51 have component configurations that minimize inter-process communication according to the above-described (policy 3). However, the application management software and the basic application 81, and the application management software and the extension are used. Inter-process communication such as operation requests, operation settings, and execution requests must be performed with the application 82.

そこで、本実施形態に係る情報処理装置200では、アプリケーション管理ソフトウェアと、アプリケーション管理ソフトウェアが動作するプロセスA32aと異なるプロセスB32b又はプロセスC32cで動作する各アプリケーションとの間で、データのやり取りを行う代理コンポーネント71を有している。   Therefore, in the information processing apparatus 200 according to the present embodiment, the proxy component that exchanges data between the application management software and each application that operates in the process B32b or the process C32c different from the process A32a in which the application management software operates. 71.

図11は、本発明の第1の実施形態に係る代理コンポーネントの仕組みの一例を示す図である。   FIG. 11 is a diagram illustrating an example of a mechanism of a proxy component according to the first embodiment of the present invention.

図11の(a)には、アプリケーション管理ソフトウェアからアプリケーションAPを呼び出す例が示されている。また、図11の(b)には、アプリケーションAPからアプリケーション管理ソフトウェアを呼び出す例が示されている。   FIG. 11A shows an example of calling an application AP from the application management software. FIG. 11B shows an example of calling application management software from the application AP.

通常、アプリケーション管理ソフトウェアから各アプリケーションAP1及びAP2を呼び出す場合、呼び出しイベントは、システムワイドなフレームワークFWコンポーネントからプロセス間通信によってアプリケーションAPに送信される。また、各アプリケーションAP1及びAP2からアプリケーション管理ソフトウェアを呼び出す場合、呼び出しイベントは、アプリケーションAPからプロセス間通信によってシステムワイドなフレームワークFWコンポーネントに送信される。そのため、アプリケーションAPを開発するときに、プロセス間通信を考慮して開発を行わなければならない。   Normally, when calling each application AP1 and AP2 from the application management software, the call event is transmitted from the system-wide framework FW component to the application AP by inter-process communication. When the application management software is called from each application AP1 and AP2, the call event is transmitted from the application AP to the system-wide framework FW component by inter-process communication. Therefore, when developing an application AP, development must be performed in consideration of inter-process communication.

そこで、本実施形態では、アプリケーション管理用プロセスA32aとアプリケーション用プロセスB32b又はC32cとの間でプロセス間通信を行うことで、アプリケーションAPに対して、アプリケーション管理ソフトウェアとのデータのやり取りと同じ振る舞いをする代理コンポーネント71を、各アプリケーションAP1及びAP2が動作するプロセスB32b又はプロセスC32cに配置し、プロセス間通信(リモート呼び出し機能)を隠蔽する。   Therefore, in this embodiment, inter-process communication is performed between the application management process A 32a and the application process B 32b or C 32c, so that the application AP behaves in the same manner as data exchange with the application management software. The proxy component 71 is arranged in the process B32b or the process C32c in which each application AP1 and AP2 operates to hide interprocess communication (remote call function).

その結果、アプリケーションAPは、単一プロセスで動作しているときと同じように、ローカル呼び出しによって、アプリケーション管理ソフトウェアとのイベントのやり取りを行うことができる。   As a result, the application AP can exchange events with the application management software by a local call in the same manner as when operating in a single process.

このように、本実施形態に係る情報処理装置200は、マルチプロセス環境における各プロセス同士で行うプロセス間通信を、フレームワークFWに相当する限定されたコンポーネントで行うことにより、マルチプロセス化の影響を隠蔽することができる。その結果、アプリケーションAPを、アプリケーション管理ソフトウェアとのプロセス間通信を意識することなく(マルチプロセス環境を意識することなく)設計・開発することができる。   As described above, the information processing apparatus 200 according to the present embodiment performs the inter-process communication performed between the processes in the multi-process environment by using the limited component corresponding to the framework FW. Can be concealed. As a result, the application AP can be designed and developed without being aware of the interprocess communication with the application management software (without being aware of the multi-process environment).

図12は、本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。   FIG. 12 is a diagram showing an example (in the case of activity intensive type) in which components belonging to each layer according to the first embodiment of the present invention are arranged in a process.

アプリケーション管理ソフトウェアが動作するプロセスA32aと、基本プリケーション81が動作するプロセスB32b又は拡張プリケーション82が動作するプロセスC32cとの間でプロセス間通信を行う必要がある、システムワイドな性質をもつコンポーネントは、ユーザインタフェース層101のローカルUI部302、コントロール層102のコントロール部303、デバイスサービス層104のデータ管理部308、データ制御層105のスキャナ制御部309、プロッタ制御部310、及びメモリ制御部311である。   A component having a system-wide property that needs to perform inter-process communication between the process A 32a in which the application management software operates and the process B 32b in which the basic application 81 operates or the process C 32c in which the extended application 82 operates The local UI unit 302 of the user interface layer 101, the control unit 303 of the control layer 102, the data management unit 308 of the device service layer 104, the scanner control unit 309 of the data control layer 105, the plotter control unit 310, and the memory control unit 311 is there.

そこで、図中の破線枠に示すように、上記コンポーネントの代理コンポーネント71を、各アプリケーションが動作するプロセスB32b及びプロセスC32cに配置する。   Therefore, as shown by the broken line frame in the figure, the proxy component 71 of the above component is arranged in the process B32b and the process C32c in which each application operates.

次に、本実施形態に係る情報処理装置200は、マルチプロセス化においてアプリケーションAPを実行するときの「アプリケーションの動作要求」、「アプリケーションの動作設定要求」、及び「アプリケーションの実行要求」をどのように行うのかについて説明する。   Next, the information processing apparatus 200 according to the present embodiment performs “application operation request”, “application operation setting request”, and “application execution request” when executing an application AP in multi-process. I will explain what to do.

本実施形態に係る情報処理装置200において、ユーザが、UI画面を介してアプリケーションAPを実行するまでに行う操作は、「動作対象のアプリケーションAPの選択(動作要求の指示)」、「選択されたアプリケーションAPにおける入力・加工・出力の各フィルタの動作設定(動作設定の指示)」、「アプリケーションAPの実行指示(実行要求の指示)」の順で行われる。   In the information processing apparatus 200 according to the present embodiment, the operations performed by the user until the application AP is executed via the UI screen are “selection of application AP to be operated (operation request instruction)” and “selected It is performed in the order of “operation setting of each filter of input / processing / output in application AP (operation setting instruction)” and “execution instruction of application AP (execution request instruction)”

そのため、マルチプロセス化を行った場合には、アプリケーション管理ソフトウェアが、各操作段階において、次処理を行うコンポーネントにユーザの指示に従ったイベントを通知しなければならないため、次処理を行うコンポーネントが動作するプロセスを知る必要がある。   Therefore, when multi-processing is performed, the application management software must notify the event that follows the user's instruction to the component that performs the next process at each operation stage. Need to know the process to do.

そのため、本実施形態に係る情報処理装置200は、動作要求送信手段61、動作設定送信手段62、及び実行要求管理手段63を有している。   Therefore, the information processing apparatus 200 according to the present embodiment includes an operation request transmission unit 61, an operation setting transmission unit 62, and an execution request management unit 63.

動作要求送信手段61は、動作させるアプリケーションAPの選択指示を受け付けたときに、選択指示されたアプリケーションAPが動作するプロセスに対して、受け付けた動作要求を送信する。   When the operation request transmitting unit 61 receives an instruction to select an application AP to be operated, the operation request transmitting unit 61 transmits the received operation request to a process in which the application AP instructed to select is operated.

動作設定送信手段62は、アプリケーションAPの動作設定要求を受け付けたときに、動作設定を行うアプリケーションAPが動作するプロセスに対して、受け付けた動作設定要求を送信する。   When the operation setting transmission unit 62 receives an operation setting request for an application AP, the operation setting transmission unit 62 transmits the received operation setting request to a process in which the application AP that performs operation setting operates.

実行要求管理手段63は、受け付けた実行要求(リクエスト)をスケジューリングし、実行可能となったアプリケーションAPが動作するプロセスに対して、実行開始を指示する。   The execution request management means 63 schedules the received execution request (request), and instructs the process in which the application AP that has become executable operates to start execution.

では、動作要求送信手段61、動作設定送信手段62、及び実行要求管理手段63について、以降に詳しく説明する。   The operation request transmission unit 61, the operation setting transmission unit 62, and the execution request management unit 63 will be described in detail below.

まず、動作要求送信手段61について説明する。動作要求送信手段61は、アプリケーション管理ソフトウェアのローカルUI部302が有する機能であり、動作させるアプリケーションAPの選択指示を、UIを介してユーザから受け付けたときに、選択されたアプリケーションAPが動作するプロセスを特定可能な情報に基づいてプロセスを特定し、特定されたプロセスに受け付けた動作要求を送信する。   First, the operation request transmission unit 61 will be described. The operation request transmission unit 61 is a function of the local UI unit 302 of the application management software, and a process in which the selected application AP operates when an instruction to select the application AP to be operated is received from the user via the UI. The process is identified based on the information that can identify the process, and the accepted operation request is transmitted to the identified process.

そのため、アプリケーション管理ソフトウェアは、図13に示す方法によって、アプリケーションAPが動作するプロセスを特定できる情報を生成し、メモリに保持する。   Therefore, the application management software generates information that can identify the process in which the application AP operates by the method shown in FIG. 13, and stores the information in the memory.

図13は、本発明の第1の実施形態に係る動作するプロセスの判別方法(アクティビティ選択方法)の一例を示す図である。   FIG. 13 is a diagram showing an example of an operating process determination method (activity selection method) according to the first embodiment of the present invention.

図13には、各アプリケーションAPがインストールされたときに、「どのプロセスで動作するのか」を、アプリケーション管理ソフトウェアに登録するときの一例が示されている。   FIG. 13 shows an example in which “which process operates” is registered in the application management software when each application AP is installed.

図中に示すよう、アプリケーションAPは、自らがインストールされたときに、ローカルUI部302の代理コンポーネント71を介して、アプリケーションAPを識別するアプリケーション識別情報(例えば、アクティビティの名称。)と、アプリケーションAPが動作するプロセスを識別するプロセス識別情報(例えば、プロセスID。)とを、アプリケーション管理ソフトウェアに送信する。   As shown in the figure, when the application AP is installed, the application AP identifies the application AP (for example, the name of the activity) via the proxy component 71 of the local UI unit 302, and the application AP. Process identification information (for example, process ID) for identifying a process in which is operated is transmitted to the application management software.

例えば、コピーアプリケーションがインストールされた場合には、図中に示すように、コピーアプリケーションのコピーアクティビティUI(Copy Activity UI)401が、代理コンポーネント71を介して、「アクティビティ名前="Copy"」及び「プロセスID="プロセスB"」の情報を、登録情報としてアプリケーション管理ソフトウェアに送信する。また、ベンダアプリケーションがインストールされた場合には、図中に示すように、ベンダアプリケーションのベンダアクティビティUI(Vendor Activity UI)405が、代理コンポーネント71を介して、「アクティビティ名前="Vendor"」及び「プロセスID="プロセスC"」の情報を、登録情報としてアプリケーション管理ソフトウェアに送信する。   For example, when a copy application is installed, as shown in the figure, the copy activity UI (Copy Activity UI) 401 of the copy application passes through the proxy component 71 with “activity name =“ Copy ”” and “ Information of process ID = “process B” ”is transmitted as registration information to the application management software. Also, when the vendor application is installed, as shown in the figure, the vendor activity UI (Vendor Activity UI) 405 of the vendor application passes through the proxy component 71 with “activity name =“ Vendor ”” and “ Information of process ID = “process C” ”is transmitted as registration information to the application management software.

図14は、本発明の第1の実施形態に係るアクティビティとアクティビティが動作するプロセスとが対応付けられたデータ41の一例を示す図である。   FIG. 14 is a diagram illustrating an example of data 41 in which an activity according to the first embodiment of the present invention is associated with a process in which the activity operates.

その結果、アプリケーション管理ソフトウェアでは、代理コンポーネント71とのプロセス間通信によって、アプリケーションAPを識別するアプリケーション識別情報とアプリケーションAPが動作するプロセスを識別するプロセス識別情報とを各プロセスから収集し、収集したアプリケーション識別情報とプロセス識別情報とを、例えば、図14に示すようなデータ構造によって関連付けて、関連付けデータ41としてメモリ上に一時保持する。   As a result, the application management software collects application identification information for identifying the application AP and process identification information for identifying the process in which the application AP operates from each process through inter-process communication with the proxy component 71, and collects the collected application. For example, the identification information and the process identification information are associated with each other by a data structure as shown in FIG.

これによって、動作要求送信手段61は、アプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、選択指示されたアプリケーションAPのアプリケーション識別情報から特定したプロセスに対して、受け付けた動作要求を送信する。   Thereby, the operation request transmission means 61 transmits the received operation request to the process specified from the application identification information of the application AP instructed to select, based on the information 41 that associates the application identification information with the process identification information. To do.

図10に戻り、動作設定要求送信手段62について説明する。動作設定要求送信手段62は、アプリケーション管理ソフトウェアのローカルUI部302が有する機能であり、アプリケーションAPごとの動作設定要求を、UIを介してユーザから受け付けたときに、要求されたアプリケーションAPが動作するプロセスを特定可能な情報に基づいて特定し、特定されたプロセスに受け付けた動作設定要求を送信する。   Returning to FIG. 10, the operation setting request transmission means 62 will be described. The operation setting request transmission unit 62 is a function of the local UI unit 302 of the application management software, and the requested application AP operates when an operation setting request for each application AP is received from the user via the UI. The process is identified based on the identifiable information, and the accepted operation setting request is transmitted to the identified process.

「動作対象のアプリケーションAPの選択(動作要求の指示)」の次に、ユーザによって行われる操作は、「選択されたアプリケーションAPにおける入力・加工・出力の各フィルタの動作設定(動作設定の指示)」である。そのため、アプリケーション管理ソフトウェアは、アプリケーションAPの動作設定をユーザから受け付けるためのUI画面表示の生成を、UI要素(オブジェクト)を生成するコンポーネントである各アクティビティUIや各フィルタUIに通知しなければならない。また、生成されたUI画面表示を介して操作イベントを受け取るのは、アプリケーション管理ソフトウェアの操作デバイス制御部312であるため、受け取ったイベントを適切なプロセスに分配しなければならない。このことから、アプリケーション管理ソフトウェアは、各アクティビティUIや各フィルタUIが動作するプロセスを特定する必要がある。   After “Selection of application AP to be operated (instruction for operation request)”, the operation performed by the user is “Operation setting of each filter of input / processing / output in the selected application AP (instruction for operation setting)” It is. Therefore, the application management software must notify each activity UI or each filter UI, which is a component that generates UI elements (objects), of the generation of a UI screen display for accepting the operation setting of the application AP from the user. Further, since it is the operation device control unit 312 of the application management software that receives the operation event via the generated UI screen display, the received event must be distributed to an appropriate process. For this reason, the application management software needs to specify the process in which each activity UI or each filter UI operates.

そこで、アプリケーション管理ソフトウェア、アクティビティUIやフィルタUIが動作するプロセスを特定可能な情報として、例えば図15に示すようなデータをメモリに保持する。   Therefore, for example, data as shown in FIG. 15 is held in the memory as information that can identify the process in which the application management software, the activity UI, and the filter UI operate.

図15は、本発明の第1の実施形態に係るにUIとUIを生成するプロセスとが対応付けられたデータ42の一例を示す図である。   FIG. 15 is a diagram illustrating an example of data 42 in which a UI and a process for generating a UI are associated with each other according to the first embodiment of the present invention.

図中に示すように、アプリケーション管理ソフトウェアは、メモリ上に、各アクティビティUIや各フィルタUIを制御する(UI要素の生成を含む)コンポーネントを識別するUI制御コンポーネント識別情報と、UIを制御するコンポーネント(以下、「UI制御コンポーネント」という。)により生成され表示画面に表示されるアプリケーションAPのUI要素を識別する画面要素識別情報と、要求を分配する対象となる各アクティビティや各フィルタが動作するプロセスを識別するプロセス識別情報とを関連付けて保持する。   As shown in the figure, the application management software has UI control component identification information for identifying components (including generation of UI elements) that control each activity UI and each filter UI on the memory, and components that control the UI. (Hereinafter referred to as “UI control component”) and the screen element identification information for identifying the UI element of the application AP that is displayed on the display screen, and the process in which each activity and each filter to which the request is distributed operates Is stored in association with process identification information for identifying

上記画面要素識別情報は、アプリケーションAPがUIを介して選択されたときに、選択されたアプリケーションAPのUI制御コンポーネント(アクティビティUI又はフィルタUI)によってUI要素が生成され、生成されたUI要素に対して自動的に採番される。このとき、代理コンポーネント71を含むローカルUI部302が、採番された画面要素識別情報とプロセス識別情報とを関連付けてデータ42に追加する。   When the application AP is selected via the UI, the screen element identification information is generated by the UI control component (activity UI or filter UI) of the selected application AP. Is automatically numbered. At this time, the local UI unit 302 including the proxy component 71 associates the numbered screen element identification information with the process identification information and adds them to the data 42.

例えば、コピーアプリケーションがインストールされている場合には、図中に示すように、コピーアプリケーションのUI制御コンポーネント(コピーアクティビティUI401)により生成されたUI要素に対して画面要素ID'1'が採番され、ローカルUI部302とプロセスB32bで動作する代理コンポーネント71とによって、採番された画面要素ID'1'とコピーアクティビティUI401が動作するプロセスB32bとが関連付けられる。コピーアプリケーション機能を実現するために動作する読み取りフィルタUI(Scan Filter UI)402及び印刷フィルタUI(Print Filter UI)403についても同様の方法で関連付けられデータ42に追加される。また、ベンダアプリケーションがインストールされている場合には、ベンダアプリケーションのUI制御コンポーネント(ベンダアクティビティUI405)により生成されたUI要素に対して画面要素ID'4'が採番され、ローカルUI部302とプロセスC32cで動作する代理コンポーネント71とによって、採番された画面要素ID'4'とベンダアクティビティUI405とが動作するプロセスC32cとが関連付けられる。ベンダアプリケーション機能を実現するために動作するベンダフィルタUI(Vender Filter UI)406及び印刷フィルタUI403についても同様の方法で関連付けられデータ42に追加される。   For example, when the copy application is installed, as shown in the figure, the screen element ID “1” is assigned to the UI element generated by the UI control component (copy activity UI 401) of the copy application. The numbered screen element ID '1' and the process B 32b in which the copy activity UI 401 operates are associated by the local UI unit 302 and the proxy component 71 that operates in the process B 32b. A scan filter UI (Scan Filter UI) 402 and a print filter UI (Print Filter UI) 403 that operate to realize the copy application function are also associated with each other and added to the data 42 in the same manner. When the vendor application is installed, the screen element ID “4” is assigned to the UI element generated by the UI control component (vendor activity UI 405) of the vendor application, and the local UI unit 302 and the process are processed. The proxy component 71 operating in C32c associates the numbered screen element ID '4' with the process C32c in which the vendor activity UI 405 operates. A vendor filter UI (Vender Filter UI) 406 and a print filter UI 403 that operate to realize a vendor application function are also associated and added to the data 42 in the same manner.

このように、アプリケーション管理ソフトウェアでは、ローカルUI部302(代理コンポーネント71を含む)において、採番した画面要素識別情報とプロセス識別情報とを関連付けて、関連付けデータ42としてメモリ上に一時保持する。   As described above, in the application management software, the numbered screen element identification information and the process identification information are associated with each other in the local UI unit 302 (including the proxy component 71), and temporarily stored in the memory as the association data 42.

その結果、アプリケーション管理ソフトウェアは、例えば、本実施形態に係る情報処理装置200が有する出力装置I/F17を介して、タッチパネル機能を有する表示装置が接続されている場合、ユーザが表示装置に表示された表示画面をタッチすることでアプリケーションAPの動作設定を指示すると、表示画面でタッチされた画面要素(所定の画面表示領域)を認識し、認識した画面要素の画面要素識別番号を得る。   As a result, for example, when a display device having a touch panel function is connected to the application management software via the output device I / F 17 included in the information processing device 200 according to the present embodiment, the user is displayed on the display device. When the operation setting of the application AP is instructed by touching the displayed screen, the screen element touched on the display screen (predetermined screen display area) is recognized, and the screen element identification number of the recognized screen element is obtained.

これによって、動作設定要求送信手段62は、画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、画面要素識別情報から特定された、各アクティビティUI及び各フィルタUI(代理コンポーネント71を含む)が動作するプロセスに対して、操作デバイス制御部312で受け付けた動作設定要求を分配する。   Accordingly, the operation setting request transmission unit 62 includes each activity UI and each filter UI (including the proxy component 71) specified from the screen element identification information based on the information 42 that associates the screen element identification information with the process identification information. The operation setting request received by the operation device control unit 312 is distributed to the processes in which the operation device is operating.

図10に戻り、実行要求管理手段63ついて説明する。実行要求管理手段63は、主に2つの機能を有している。一つは、アプリケーション管理ソフトウェアのローカルUI部302(代理コンポーネント71を含む)により実現する「実行要求登録」機能であり、もう一つは、コントロール部303により実現する「実行開始指示」機能である。   Returning to FIG. 10, the execution request management means 63 will be described. The execution request management means 63 mainly has two functions. One is an “execution request registration” function realized by the local UI unit 302 (including the proxy component 71) of the application management software, and the other is an “execution start instruction” function realized by the control unit 303. .

・「実行要求登録機能について」
実行要求管理手段63は、ローカルUI部302により受け付けた実行要求(リクエスト)をコントローラ部303へ登録する実行要求登録機能を有している。より具体的には、アプリケーションAPの実行要求を受け付けたときに、要求されたアプリケーションAPが動作するプロセスを特定可能な情報に基づいてプロセスを特定し、特定されたプロセスに受け付けた実行要求を送信する。
・ About the execution request registration function
The execution request management unit 63 has an execution request registration function for registering an execution request (request) received by the local UI unit 302 in the controller unit 303. More specifically, when an execution request for an application AP is received, the process is identified based on information that can identify the process in which the requested application AP operates, and the received execution request is transmitted to the identified process. To do.

「選択されたアプリケーションAPにおける入力・加工・出力の各フィルタの動作設定(動作設定の指示)」の次に、ユーザによって行われる操作は、「アプリケーションAPの実行指示(実行要求の指示)」である。   The operation performed by the user after “Operation setting of each filter of input / processing / output in the selected application AP (operation setting instruction)” is “Application application execution instruction (execution request instruction)”. is there.

ユーザがアプリケーションAPの実行指示の操作(実行要求の指示)を行うと、操作デバイス制御部312は対象となる画面要素IDを含む操作イベントを受け取る。実行指示がハードキー(例えば、画像処理装置100の場合には「スタートキー」、また情報処理装置200の場合には「エンターキー」など。)でなされた場合は、現在表示画面の前面に表示されている画面要素が対象となる。   When the user performs an execution instruction (execution request instruction) for the application AP, the operation device control unit 312 receives an operation event including the target screen element ID. When the execution instruction is given by a hard key (for example, “start key” in the case of the image processing apparatus 100, “enter key” in the case of the information processing apparatus 200, etc.), it is displayed in front of the current display screen. Applicable screen elements.

実行要求管理手段63は、実行要求登録機能により、図15に示すデータ42を参照し、実行要求の送信対象となるコンポーネントとそのコンポーネントが動作するプロセスを特定する。その後、実行要求管理手段63は、プロセス間通信により操作イベントを代理コンポーネント71に転送し、代理コンポーネント71からUI制御コンポーネント(実行対象となるアプリケーションAPに対応するアクティビティUI)に通知する。その結果、UI制御コンポーネントが、通知された画面要素にて現在設定されている動作設定の情報を含む実行要求をコントロール部303に登録する。   The execution request management means 63 refers to the data 42 shown in FIG. 15 by the execution request registration function, and identifies the component that is the transmission target of the execution request and the process in which the component operates. Thereafter, the execution request management unit 63 transfers the operation event to the proxy component 71 by inter-process communication, and notifies the UI control component (activity UI corresponding to the application AP to be executed) from the proxy component 71. As a result, the UI control component registers an execution request including information on the operation setting currently set in the notified screen element in the control unit 303.

・「実行開始指示機能について」
次に、実行要求管理手段64は、登録された実行要求をスケジューリングし、要求が実行可能となったアプリケーションAPに実行開始を指示する実行開始指示機能を有している。より具体的には、アプリケーションAPの実行要求を受け付けたときに、受け付けたリクエストを所定の方法によってキューイングし、キューイングされた情報に基づいて、実行可能となったリクエストをアプリケーションAPに通知する。
・ About the execution start instruction function
Next, the execution request management means 64 has an execution start instruction function for scheduling a registered execution request and instructing the application AP that can execute the request to start execution. More specifically, when an application AP execution request is received, the received request is queued by a predetermined method, and the application AP is notified of an executable request based on the queued information. .

上記リクエストは、複数のプロセスで生成されるため、全てのプロセスで生成されたリクエストを一元的に管理(キューイング)する必要がある。よって、UI制御コンポーネントがコントロール部303に登録するリクエストは、代理コンポーネント71を介してアプリケーション管理用プロセスA32aに通知され、アプリケーション管理用プロセスA32aで動作するコントロール部303で一元的に管理される。また、実行可能となったリクエストをアプリケーションAPに通知する必要があるため、リクエストを生成したアプリケーションAPが動作するプロセスを特定可能な情報として、例えば図16に示すようなデータをメモリに保持する。   Since the request is generated by a plurality of processes, it is necessary to centrally manage (queue) the requests generated by all the processes. Therefore, the request that the UI control component registers in the control unit 303 is notified to the application management process A 32a via the proxy component 71, and is centrally managed by the control unit 303 that operates in the application management process A 32a. Further, since it is necessary to notify the application AP of the request that can be executed, for example, data as shown in FIG. 16 is held in the memory as information that can identify the process in which the application AP that generated the request operates.

図16は、本発明の第1の実施形態に係るにリクエストとリクエストを生成するプロセスとが対応付けられたデータ43の一例を示す図である。   FIG. 16 is a diagram illustrating an example of data 43 in which a request and a process for generating a request are associated with each other according to the first embodiment of the present invention.

図中に示すように、アプリケーション管理ソフトウェアは、メモリ上に、アプリケーションAPの実行要求を受け付けたときにコントロール部303へ登録する実行要求を識別する実行要求識別情報と、要求を分配する対象となるアプリケーションAPが動作するプロセスを識別するプロセス識別情報とを関連付けて保持する。   As shown in the figure, the application management software becomes execution target identification information for identifying an execution request to be registered in the control unit 303 when an application AP execution request is received, and a request distribution target. Process identification information for identifying the process in which the application AP operates is associated and held.

上記実行要求識別情報は、アプリケーションAPの実行要求を受け付けたときに、受け付け順などに従って自動的に発行される。このとき、コントロール部303が、発行された実行要求識別情報とプロセス識別情報とを関連付けてデータ43に追加する。   The execution request identification information is automatically issued according to the order of reception when an execution request of the application AP is received. At this time, the control unit 303 associates the issued execution request identification information with the process identification information and adds them to the data 43.

例えば、コピーアプリケーションの実行要求を受け付けた場合には、図中に示すように、コントロール部303とプロセスB32bで動作する代理コンポーネント71とによって、受け付けたときに発行された実行要求を識別するリクエストID'1'と、コピーアプリケーションが動作するプロセスB32bとが関連付けられデータ43に追加される。また、ベンダアプリケーションの実行要求を受け付けた場合には、コントロール部303とプロセスC32cで動作する代理コンポーネント71とによって、受け付けたときに発行された実行要求を識別するリクエストID'2'と、ベンダアプリケーションが動作するプロセスC32cとが関連付けられデータ43に追加される。   For example, when an execution request for a copy application is received, as shown in the figure, a request ID for identifying an execution request issued at the time of reception by the control unit 303 and the proxy component 71 operating in the process B 32b. '1' and the process B 32b in which the copy application operates are associated and added to the data 43. When the execution request for the vendor application is received, the request ID '2' for identifying the execution request issued when the request is received by the control unit 303 and the proxy component 71 operating in the process C32c, and the vendor application Is added to the data 43 in association with the process C32c that operates.

このように、アプリケーション管理ソフトウェアでは、コントロール部303(代理コンポーネント71を含む)において、発行された実行要求識別情報とプロセス識別情報とを関連付けて、関連付けデータ43としてメモリ上に一時保持する。   In this way, in the application management software, the control unit 303 (including the proxy component 71) associates the issued execution request identification information with the process identification information, and temporarily holds them in the memory as the association data 43.

実行要求管理手段63は、実行開始指示機能により、図16に示す実行要求識別情報とプロセス識別情報とを関連付ける情報43に基づいて、実行可能になった実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71にリクエスト実行開始の指示を送信し、代理コンポーネント71と同一プロセス上で動作するアプリケーションAPに対してこれを通知する。   The execution request management means 63 uses the execution start instruction function to identify the issuer identified from the execution request identification information that can be executed based on the information 43 associating the execution request identification information with the process identification information shown in FIG. A request execution start instruction is transmitted to the proxy component 71 operating on that process, and the application AP operating on the same process as the proxy component 71 is notified to the process operating the application AP.

このように、実行要求管理手段63は、上記2つの機能によって、ユーザから受け付けた実行要求に従って、要求されたアプリケーションAPの実行開始を指示する。   As described above, the execution request management unit 63 instructs the execution start of the requested application AP according to the execution request received from the user by the above two functions.

本実施形態に係る情報処理装置200は、マルチプロセス環境において、アプリケーションを実行するために、上記に説明した各手段を以下の手順に従って実施する。   In order to execute an application in a multi-process environment, the information processing apparatus 200 according to the present embodiment performs each unit described above according to the following procedure.

(手順1)動作対象アプリケーションAPの選択(アクティビティの選択)
本実施形態に係る情報処理装置200は、アプリケーション管理ソフトウェアのローカルUI部302によって、ユーザからの動作要求を受け付ける。
情報処理装置200は、動作させるアプリケーションAPの選択指示を受け付けたときに、ローカルUI部302が有する動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、アプリケーション識別情報から特定したプロセスに対して、受け付けた動作要求を送信する。
(Procedure 1) Selecting application target application AP (Activity selection)
The information processing apparatus 200 according to the present embodiment receives an operation request from the user by the local UI unit 302 of the application management software.
When the information processing apparatus 200 receives an instruction to select an application AP to be operated, the operation request transmitting unit 61 included in the local UI unit 302 associates the application identification information stored in the memory with the process identification information 41. The received operation request is transmitted to the process specified from the application identification information.

(手順2)アプリケーションAPの動作設定
本実施形態に係る情報処理装置200は、アプリケーション管理ソフトウェアのローカルUI部302によって、ユーザからの動作設定要求を受け付ける。
情報処理装置200は、アプリケーションAPの動作設定要求を受け付けたときに、ローカルUI部302が有する動作設定要求送信手段62によって、メモリ上に保持された画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、画面要素識別情報から特定したプロセスに対して、受け付けた動作設定要求を送信する。
(Procedure 2) Operation setting of application AP The information processing apparatus 200 according to the present embodiment receives an operation setting request from the user by the local UI unit 302 of the application management software.
When the information processing apparatus 200 receives an operation setting request for an application AP, the operation setting request transmission unit 62 included in the local UI unit 302 associates the screen element identification information and the process identification information held in the memory with each other. 42, the received operation setting request is transmitted to the process specified from the screen element identification information.

(手順3)アプリケーションAPの実行
本実施形態に係る情報処理装置200は、アプリケーション管理ソフトウェアのローカルUI部302によって、ユーザからの動作設定要求を受け付ける。
情報処理装置200は、アプリケーションAPの実行要求を受け付けたときに、実行要求管理手段63におけるローカルUI部302が有する実行要求転送機能によって、メモリ上に保持された画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行要求情報から特定したプロセスに対して、受け付けた実行要求を送信する。その後、情報処理装置200は、実行要求管理手段63におけるコントロール部303が有する実行開始指示機能によって、実行要求識別情報とプロセス識別情報とを関連付ける情報43に基づいて、実行要求識別情報から特定したプロセスに対して、実行可能となった実行要求を送信し、アプリケーションAPに実行開始を指示する。
(Procedure 3) Execution of Application AP The information processing apparatus 200 according to the present embodiment receives an operation setting request from the user by the local UI unit 302 of the application management software.
When the information processing apparatus 200 receives the execution request for the application AP, the screen request identification information and the process identification information held in the memory are executed by the execution request transfer function of the local UI unit 302 in the execution request management unit 63. The received execution request is transmitted to the process specified from the execution request information based on the information 42 for associating. Thereafter, the information processing apparatus 200 uses the execution start instruction function of the control unit 303 in the execution request management unit 63 to identify the process specified from the execution request identification information based on the information 43 that associates the execution request identification information with the process identification information. In response to this, the execution request that has become executable is transmitted to instruct the application AP to start execution.

このように、本実施形態に係る情報処理装置200では、上記に説明した(手順1)〜(手順3)により、「マルチプロセス環境において、アプリケーションAPの選択・動作設定・機能実行などを安定して行う」ことができる。すなわち、「ユーザに対し、安定した機能提供」を実現している。   As described above, in the information processing apparatus 200 according to the present embodiment, the above-described (Procedure 1) to (Procedure 3) “stable application AP selection / operation setting / function execution in a multi-process environment. Can be done. That is, "stable function provision for the user" is realized.

<アプリケーション実行の基本処理手順について(コピー機能の場合)>
これまでに説明した本実施形態に係る情報処理装置200におけるアプリケーション実行の具体的な処理手順について、基本アプリケーション81のコピー機能を例に図17〜19を用いて説明する。
<About the basic processing procedure of application execution (in the case of copy function)>
A specific processing procedure of application execution in the information processing apparatus 200 according to the present embodiment described so far will be described with reference to FIGS.

本実施形態に係る情報処理装置200は、例えば、情報処理装置200が有するハードディスクなどの補助記憶部13に格納されたアプリケーション管理ソフトウェアや基本アプリケーションプログラム(自社製アプリケーションプログラム)、また、インストールされた拡張アプリケーションプログラム(サードベンダ製アプリケーションプログラム)などを主記憶部12であるメモリ上に展開し、制御部11で実行する。このとき、以下の図17〜19に示す処理手順が、ユーザ操作段階に応じて実行される。ここで言う「操作段階」とは、UI画面を介してアプリケーションAPを実行するまでにユーザが行う、「動作対象のアプリケーションAPの選択(動作要求の指示)」、「選択されたアプリケーションAPにおける入力・加工・出力の各フィルタの動作設定(動作設定の指示)」、及び「アプリケーションAPの実行指示(実行要求の指示)」の操作を意味する。   The information processing apparatus 200 according to the present embodiment includes, for example, application management software and basic application programs (in-house application programs) stored in the auxiliary storage unit 13 such as a hard disk included in the information processing apparatus 200, and installed extensions An application program (application program made by a third vendor) or the like is expanded on a memory that is the main storage unit 12 and is executed by the control unit 11. At this time, the following processing procedures shown in FIGS. 17 to 19 are executed according to the user operation stage. The “operation stage” here refers to “selection of operation target application AP (operation request instruction)” and “input in selected application AP” performed by the user before executing the application AP via the UI screen. “Operation setting for each filter for processing / output (operation setting instruction)” and “application AP execution instruction (execution request instruction)”.

図17は、本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。   FIG. 17 is a diagram showing an example of a processing procedure (part 1: activity selection) when realizing the copy function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、動作させるアプリケーションAPの選択指示(コピー機能を選択)によるユーザからの動作要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作要求)をローカルUI部302へ通知する(S101)。   The information processing apparatus 200 according to the present embodiment accepts an operation request from a user according to an instruction to select an application AP to be operated (select a copy function) in the process A 32a executed by the execution unit 51 and in which the application management software operates. If it is detected, the UI event (operation request) received from the operation device control unit 312 is notified to the local UI unit 302 (S101).

ローカルUI部302は、動作要求送信手段61によって、メモリ上に保持されているアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、実行手段51によって実行された、コピー機能が動作するプロセスB32bを特定し、プロセス間通信によって、特定したプロセスB32bにUIイベント(動作要求)を送信する(S102)。   The local UI unit 302 uses the operation request transmission unit 61 based on the information 41 for associating the application identification information held in the memory with the process identification information, and the process executed by the execution unit 51 on which the copy function operates. B32b is specified, and a UI event (operation request) is transmitted to the specified process B32b by inter-process communication (S102).

プロセスB32bでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスB32bのローカルUI部)を介して、受信したUIイベント(動作要求)を、動作させるコピー機能のコピーアクティビティUI(Copy Activity UI)401に渡す(S103)。   In the process B32b, a copy activity UI (copy activity UI of a copy function that operates the received UI event (operation request) via the proxy component 71 of the local UI unit 302 (the local UI unit of the process B32b shown in the broken line in the drawing). Copy Activity UI) 401 (S103).

UIイベント(動作要求)を受け取ったコピーアクティビティUI401は、自らのUI要素を生成し、更に、コピーアプリケーションを実現するための読み取りフィルタUI402及び印刷フィルタUI403に受け取ったUIイベント(動作要求)を渡す(S104)。   Upon receiving the UI event (operation request), the copy activity UI 401 generates its own UI element, and further passes the received UI event (operation request) to the read filter UI 402 and the print filter UI 403 for realizing the copy application ( S104).

UIイベント(動作要求)を受け取った読み取りフィルタUI402及び印刷フィルタUI403は、それぞれが自らのUI要素を生成する。その後、生成された各UI要素は、ローカルUI部302の代理コンポーネント71に渡され、ローカルUI部302が、各UI要素に対して画面要素識別情報を採番し、画面要素識別情報とプロセス識別情報とを関連付けて、メモリ上の関連付け情報42に登録する。登録された各UI要素は、操作デバイス制御部312に渡され、操作デバイス制御部312によって表示される。   The read filter UI 402 and the print filter UI 403 that have received the UI event (operation request) each generate their own UI elements. Thereafter, each generated UI element is passed to the proxy component 71 of the local UI unit 302, and the local UI unit 302 assigns screen element identification information to each UI element, and screen element identification information and process identification are obtained. The information is associated and registered in the association information 42 on the memory. Each registered UI element is transferred to the operation device control unit 312 and displayed by the operation device control unit 312.

これによって、本実施形態に係る情報処理装置200では、ユーザの動作要求に応じて、動作させるアプリケーションAPの動作設定を行うUI画面を表示させることができる。   As a result, the information processing apparatus 200 according to the present embodiment can display a UI screen for setting the operation of the application AP to be operated in response to a user operation request.

図18は、本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。   FIG. 18 is a diagram showing an example of a processing procedure (part 2: setting change) when realizing the copy function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの動作設定によるユーザからの動作設定要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作設定要求)をローカルUI部302へ通知する(S201)。   When the information processing apparatus 200 according to the present embodiment receives an operation setting request from the user by the operation setting of the application AP in the process A32a executed by the execution unit 51 and in which the application management software operates, the operation device control unit The UI event (operation setting request) received from 312 is notified to the local UI unit 302 (S201).

ローカルUI部302は、動作設定要求送信手段62によって、メモリ上に保持されている画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、コピー機能が動作するプロセスB32bを特定し、プロセス間通信によって、特定したプロセスB32bにUIイベント(動作設定要求)を送信する(S202)。   The local UI unit 302 operates the copy function executed by the execution unit 51 based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the operation setting request transmission unit 62. The process B32b to be specified is specified, and a UI event (operation setting request) is transmitted to the specified process B32b by inter-process communication (S202).

プロセスB32bでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスB32bのローカルUI部)を介して、受信したUIイベント(動作設定要求)に含まれる画面要素識別情報を基に、各UI要素を生成したコンポーネント、すなわち、コピーアクティビティUI401、コピーアプリケーションを実現するための読み取りフィルタUI(Scan Filter UI)402、又は印刷フィルタUI(Print Filter UI)403を特定し、動作設定を転送する(S203)。   In the process B32b, based on the screen element identification information included in the UI event (operation setting request) received via the proxy component 71 of the local UI unit 302 (the local UI unit of the process B32b shown in the broken line in the drawing) The component that generated each UI element, that is, the copy activity UI 401, the scan filter UI (Scan Filter UI) 402 or the print filter UI (Print Filter UI) 403 for realizing the copy application, is specified, and the operation settings are transferred. (S203).

コピーアクティビティUI401、読み取りフィルタUI402及び印刷フィルタUI403は、それぞれの動作条件を、コピーアクティビティロジック(Copy Activity Logic)501、読み取りフィルタロジック(Scan Filter Logic)502及び印刷フィルタロジック(Print Filter Logic)503に設定する(S204)。   The copy activity UI 401, the read filter UI 402, and the print filter UI 403 set respective operation conditions in a copy activity logic (Copy Activity Logic) 501, a read filter logic (Scan Filter Logic) 502, and a print filter logic (Print Filter Logic) 503. (S204).

これによって、本実施形態に係る情報処理装置200では、ユーザから設定要求された動作条件を、動作させるアプリケーションAPが有する機能を実現するコンポーネントに設定できる。   Thereby, in the information processing apparatus 200 according to the present embodiment, the operation condition requested to be set by the user can be set in the component that realizes the function of the application AP to be operated.

図19は、本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。   FIG. 19 is a diagram illustrating an example of a processing procedure (part 3: request execution) when realizing the copy function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの実行指示によるユーザからの実行要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(実行要求)をローカルUI部302へ通知する(S301)。   When the information processing apparatus 200 according to the present embodiment receives an execution request from the user in response to the execution instruction of the application AP in the process A 32 a executed by the execution unit 51 and running the application management software, the operation device control unit 312. The UI event (execution request) received from is notified to the local UI unit 302 (S301).

ローカルUI部302は、受け取ったUIイベントを、実行要求管理手段63によって、メモリ上に保持されている画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、コピー機能が動作するプロセスB32bを特定し、プロセス間通信によって、特定したプロセスB32bにUIイベントを送信する(S302)。   The local UI unit 302 executes the received UI event by the execution unit 51 based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the execution request management unit 63. The process B32b in which the copy function operates is specified, and a UI event is transmitted to the specified process B32b by inter-process communication (S302).

プロセスB32bでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスB32bのローカルUI部)が、送信されたUIイベント(実行要求)を、実行するUI制御コンポーネントであるコピー機能のコピーアクティビティUI401に渡す(S303)。   In the process B32b, the proxy component 71 of the local UI unit 302 (the local UI unit of the process B32b shown in the broken line in the drawing) has a copy function that is a UI control component that executes the transmitted UI event (execution request). It is passed to the copy activity UI 401 (S303).

コピーアクティビティUI401は、受け取ったUIイベント(実行要求)を、コントロール部303の代理コンポーネント71(図中の破線枠に示すプロセスB32bのコントローラ部)に、受け付けたUIイベント(実行要求)を登録する(S304)。   The copy activity UI 401 registers the received UI event (execution request) in the proxy component 71 of the control unit 303 (the controller unit of the process B 32b indicated by the broken line in the figure) (the request UI). S304).

プロセスB32bで動作するコントロール部303の代理コンポーネント71は、コピーアプリケーション機能を実現するために動作する読み取りフィルタロジック502及び印刷フィルタロジック503を、画像パイプ307を介して接続する(S305)。このとき、コントロール部303の代理コンポーネント71は、受け取ったUIイベント(実行要求)に対して実行要求識別情報を発行する。コントロール部303の代理コンポーネント71は、S305の処理を行った後、プロセス間通信によりUIイベント(実行要求)を、プロセスA32aに送信する(S306)。   The proxy component 71 of the control unit 303 that operates in the process B32b connects the read filter logic 502 and the print filter logic 503 that operate to realize the copy application function via the image pipe 307 (S305). At this time, the proxy component 71 of the control unit 303 issues execution request identification information to the received UI event (execution request). After performing the processing of S305, the proxy component 71 of the control unit 303 transmits a UI event (execution request) to the process A 32a by inter-process communication (S306).

プロセスA32aでは、コントロール部303が、UIイベント(実行要求)(図19の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S401)。本実施形態では、コピー機能を例に説明を行っているため、コピー機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスB32bに実行要求(リクエスト)を送信し、コピーアプリケーションに実行開始を指示する。   In the process A32a, the control unit 303 queues a UI event (execution request) (referred to as “execution request (request)” in the following description of FIG. 19). The control unit 303 schedules the registered execution request (request), and is specified for the execution request identification information of the execution request (request) that can be executed. An instruction to start execution is transmitted to the proxy component 71 operating on the process (S401). In this embodiment, since the copy function is described as an example, if an execution request (request) of the copy function can be executed, the execution request (request) is transmitted to the specified process B32b, and the copy application To start execution.

プロセスB32bでは、コントロール部303が、受け取った実行要求(リクエスト)を、コピーアクティビティロジック501に渡す(S402)。コピーアクティビティロジック501は、更に、コピーアプリケーション機能を実現するために動作する読み取りフィルタロジック502及び印刷フィルタロジック503に、実行要求(リクエスト)を渡す(S403)。   In the process B32b, the control unit 303 passes the received execution request (request) to the copy activity logic 501 (S402). The copy activity logic 501 further passes an execution request (request) to the read filter logic 502 and the print filter logic 503 that operate to realize the copy application function (S403).

読み取りフィルタロジック502は、実行要求(リクエスト)を受けて、S305の処理において各フィルタを接続した画像パイプ307に、読み取った画像を記憶するメモリ領域の確保を指示する(S501)。画像パイプ307は、メモリ確保の指示に従って、メモリ制御部311に所定のメモリ領域の確保をさせる(S502)。   In response to the execution request (request), the reading filter logic 502 instructs the image pipe 307 to which each filter is connected in the process of S305 to secure a memory area for storing the read image (S501). The image pipe 307 causes the memory control unit 311 to secure a predetermined memory area in accordance with the memory securing instruction (S502).

次に、読み取りフィルタロジック502は、実行要求(リクエスト)を受けて、スキャナ制御部309に画像の読み取りを指示する(S503)。スキャナ制御部309は、読み取り指示に従って画像を読み取り(S504)、読み取った画像データを、確保しておいた所定のメモリ領域に書き込む(S505)。読み取りフィルタロジック502は、書き込まれた画像データの格納先情報(アドレス情報)の通知を画像パイプ307に指示する(S506)。   Next, in response to the execution request (request), the reading filter logic 502 instructs the scanner control unit 309 to read an image (S503). The scanner control unit 309 reads an image in accordance with a reading instruction (S504), and writes the read image data in a predetermined predetermined memory area (S505). The read filter logic 502 instructs the image pipe 307 to notify storage location information (address information) of the written image data (S506).

また、印刷フィルタロジック503は、実行要求(リクエスト)を受けて、画像パイプ307に、書き込まれた画像データが格納された格納先情報を要求し、S505の処理によってメモリ上に画像データが書き込まれていれば、画像パイプ307から機能先情報を取得する(S601)。   In response to the execution request (request), the print filter logic 503 requests the storage location information in which the written image data is stored to the image pipe 307, and the image data is written on the memory by the processing of S505. If so, the function destination information is acquired from the image pipe 307 (S601).

次に、印刷フィルタロジック503は、取得した格納先情報に基づいて、プロッタ制御部310に画像データの印刷(プロット)を指示する(S602)。プロッタ制御部310は、格納先情報に基づいて、メモリ制御部311を介して画像データを読み出し(S603)、読み出した画像データを用紙に印刷する(S604)。   Next, the print filter logic 503 instructs the plotter control unit 310 to print (plot) image data based on the acquired storage location information (S602). The plotter control unit 310 reads out image data via the memory control unit 311 based on the storage location information (S603), and prints the read image data on a sheet (S604).

その後、印刷フィルタロジック503は、格納先情報に基づいて、画像パイプ307に、S501の処理によって確保したメモリ領域の開放を指示する(S605)。   Thereafter, the print filter logic 503 instructs the image pipe 307 to release the memory area secured by the processing of S501 based on the storage location information (S605).

その結果、画像パイプ307は、メモリ制御部311に確保したメモリ領域の解放を指示する(S606)。   As a result, the image pipe 307 instructs the memory control unit 311 to release the secured memory area (S606).

これによって、本実施形態に係る情報処理装置200では、ユーザの実行要求に従って、アプリケーションAPの実行を行うことができる。   As a result, the information processing apparatus 200 according to the present embodiment can execute the application AP in accordance with the user's execution request.

<アプリケーション実行の基本処理手順について(ベンダ拡張機能の場合)>
次に、本実施形態に係る情報処理装置200におけるアプリケーション実行の具体的な処理手順について、拡張アプリケーション82のベンダ拡張機能を例に図20〜22を用いて説明する。図20〜22に説明するサードベンダ製アプリケーション82は、サードベンダが独自の開発した入力フィルタ103aと、情報処理装置200が標準的に搭載している出力フィルタ103cとを画像パイプ307で接続することで、1つの機能を実現する拡張機能の一例を示すものである。
<Basic procedure for application execution (in case of vendor extension function)>
Next, a specific processing procedure for executing an application in the information processing apparatus 200 according to the present embodiment will be described with reference to FIGS. A third vendor application 82 described with reference to FIGS. 20 to 22 connects an input filter 103 a originally developed by a third vendor and an output filter 103 c that is normally installed in the information processing apparatus 200 through an image pipe 307. This shows an example of an extended function that realizes one function.

図20は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。   FIG. 20 is a diagram illustrating an example of a processing procedure (part 1: activity selection) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、動作させるアプリケーションAPの選択指示(ベンダ機能を選択)によるユーザからの動作要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作要求)をローカルUI部302へ通知する(S701)。   The information processing apparatus 200 according to the present embodiment accepts an operation request from a user according to an instruction to select an application AP to be operated (select a vendor function) in the process A 32a executed by the execution unit 51 and in which the application management software operates. If it is detected, the UI event (operation request) received from the operation device control unit 312 is notified to the local UI unit 302 (S701).

ローカルUI部302は、動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(動作要求)を送信する(S702)。   The local UI unit 302 uses the operation request transmitting unit 61 based on the information 41 that associates the application identification information and the process identification information held in the memory, and the process C32c executed by the executing unit 51 and operating the vendor function. A UI event (operation request) is transmitted to the specified process C32c by inter-process communication (S702).

プロセスC(第3のプロセス)32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)を介して、受信したUIイベント(動作要求)を、動作させるベンダ機能のベンダアクティビティUI(Vendor Activity UI)405に渡す(S703)。   In the process C (third process) 32c, the received UI event (operation request) is operated via the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the broken line in the drawing). The data is transferred to a vendor activity UI (Vendor Activity UI) 405 of the vendor function (S703).

ベンダアクティビティUI405は、自らのUI要素を生成し、更に、ベンダアプリケーションを実現するためのベンダ(入力)フィルタUI(Vendor Filter UI)406(以下、「ベンダフィルタUI406」という。)及び印刷フィルタUI403に受け取ったUIイベント(動作要求)を渡す(S704)。   The vendor activity UI 405 generates its own UI elements, and further includes a vendor (input) filter UI (Vendor Filter UI) 406 (hereinafter referred to as “vendor filter UI 406”) and a print filter UI 403 for realizing a vendor application. The received UI event (operation request) is passed (S704).

UIイベント(動作要求)を受け取ったベンダフィルタUI406及び印刷フィルタUI403は、それぞれが自らのUI要素を生成する。その後、生成された各UI要素は、ローカルUI部302の代理コンポーネント71に渡され、代理コンポーネント71が、各UI要素に対して画面要素識別情報を採番し、画面要素識別情報とプロセス識別情報とを関連付けて、メモリ上の関連付け情報42に登録する。登録された各UI要素は、操作デバイス制御部312に渡され、操作デバイス制御部312によって表示される。   Upon receiving the UI event (operation request), the vendor filter UI 406 and the print filter UI 403 each generate its own UI element. Thereafter, each generated UI element is transferred to the proxy component 71 of the local UI unit 302, and the proxy component 71 assigns screen element identification information to each UI element, and the screen element identification information and the process identification information. Are registered in the association information 42 on the memory. Each registered UI element is transferred to the operation device control unit 312 and displayed by the operation device control unit 312.

図21は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。   FIG. 21 is a diagram illustrating an example of a processing procedure (part 2: setting change) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの動作(条件)設定によるユーザからの動作設定要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作設定要求)をローカルUI部302へ通知する(S801)。   In the process A32a executed by the execution unit 51 and in which the application management software operates, the information processing apparatus 200 according to the present embodiment receives an operation setting request from the user by setting the operation (condition) of the application AP. The UI event (operation setting request) received from the device control unit 312 is notified to the local UI unit 302 (S801).

ローカルUI部302は、動作設定要求送信手段62によって、メモリ上に保持された画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(動作設定要求)を送信する(S802)。   The local UI unit 302 operates the vendor function executed by the execution unit 51 based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the operation setting request transmission unit 62. The process C32c is specified, and a UI event (operation setting request) is transmitted to the specified process C32c by inter-process communication (S802).

プロセスC(第3のプロセス)32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)を介して受信した、UIイベント(動作設定要求)に含まれる画面要素識別情報を基に、各UI要素を生成したコンポーネント、すなわち、ベンダアクティビティUI405、ベンダアプリケーションを実現するためのベンダフィルタUI406、又は印刷フィルタUI403を特定し、動作設定を転送する(S803)。   The process C (third process) 32c is included in the UI event (operation setting request) received via the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the broken line in the drawing). Based on the screen element identification information, the component that generated each UI element, that is, the vendor activity UI 405, the vendor filter UI 406 for realizing the vendor application, or the print filter UI 403 is specified, and the operation setting is transferred (S803).

ベンダアクティビティUI405、ベンダフィルタUI406及び印刷フィルタUI403は、それぞれの動作条件を、ベンダアクティビティロジック(Vendor Activity Logic)505、ベンダ入力フィルタロジック(Vendor Filter Logic)506(以下、「ベンダフィルタロジック506」という。)及び印刷フィルタロジック503に設定する(S804)。   The vendor activity UI 405, the vendor filter UI 406, and the print filter UI 403 are respectively referred to as a vendor activity logic 505 and a vendor input filter logic 506 (hereinafter, “vendor filter logic 506”). ) And the print filter logic 503 (S804).

図22は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。   FIG. 22 is a diagram illustrating an example of a processing procedure (part 3: request execution) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの実行指示によるユーザからの実行要求(リクエスト)を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(実行要求)をローカルUI部302へ通知する(S901)。   When the information processing apparatus 200 according to the present embodiment receives an execution request (request) from the user according to the execution instruction of the application AP in the process A32a executed by the execution unit 51 and in which the application management software operates, the operation device The UI event (execution request) received from the control unit 312 is notified to the local UI unit 302 (S901).

ローカルUI部302は、受け取ったUIイベント(実行要求)を、実行要求管理手段63によって、メモリ上に保持されている画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(実行要求)を送信する(S902)。   The local UI unit 302 executes the received UI event (execution request) based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the execution request management unit 63. The process C32c in which the vendor function operates is identified, and a UI event (execution request) is transmitted to the identified process C32c by inter-process communication (S902).

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)が、送信されたUIイベント(実行要求)を、実行するUI制御コンポーネントであるベンダ機能のベンダアクティビティUI405に渡す(S903)。   In the process C32c, the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the dashed frame in the drawing) has a vendor function that is a UI control component that executes the transmitted UI event (execution request). The data is passed to the vendor activity UI 405 (S903).

ベンダアクティビティUI405は、受け取ったUIイベント(実行要求)を、コントロール部303の代理コンポーネント71(図中の破線枠に示すプロセスC32cのコントローラ部)に、受け付けたUIイベント(実行要求)を登録する(S904)。   The vendor activity UI 405 registers the received UI event (execution request) in the proxy component 71 of the control unit 303 (the controller unit of the process C32c shown in the broken line frame in the drawing). S904).

プロセスC32cで動作するコントロール部303の代理コンポーネント71は、ベンダアプリケーション機能を実現するために動作するベンダフィルタロジック506及び印刷フィルタロジック503を、画像パイプ307を介して接続する(S905)。このとき、コントロール部303の代理コンポーネント71は、受け取ったUIイベント(実行要求)に対して実行要求識別情報を発行する。コントロール部303の代理コンポーネント71は、S905の処理を行った後、プロセス間通信によりUIイベント(実行要求)を、プロセスA32aに送信する(S906)。   The proxy component 71 of the control unit 303 that operates in the process C32c connects the vendor filter logic 506 and the print filter logic 503 that operate to realize the vendor application function via the image pipe 307 (S905). At this time, the proxy component 71 of the control unit 303 issues execution request identification information to the received UI event (execution request). After performing the process of S905, the proxy component 71 of the control unit 303 transmits a UI event (execution request) to the process A 32a by inter-process communication (S906).

プロセスA32aでは、コントロール部303が、UIイベント(実行要求)(図22の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S1001)。本実施形態では、ベンダ機能を例に説明を行っているため、ベンダ機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスC32cに実行要求(リクエスト)を送信し、ベンダアプリケーションに実行開始を指示する。   In the process A32a, the control unit 303 queues a UI event (execution request) (referred to as “execution request (request)” in the following description of FIG. 22). The control unit 303 schedules the registered execution request (request), and is specified for the execution request identification information of the execution request (request) that can be executed. An instruction to start execution is transmitted to the proxy component 71 operating on the process (S1001). In this embodiment, the vendor function is described as an example. Therefore, if the execution request (request) of the vendor function can be executed, the execution request (request) is transmitted to the specified process C32c, and the vendor application To start execution.

プロセスC32cでは、コントロール部303が、受け取った実行要求(リクエスト)を、ベンダアクティビティロジック505に渡す(S1002)。ベンダアクティビティロジック505は、更に、ベンダアプリケーション機能を実現するために動作するベンダフィルタロジック506及び印刷フィルタロジック503に、実行要求(リクエスト)を渡す(S1003)。   In the process C32c, the control unit 303 passes the received execution request (request) to the vendor activity logic 505 (S1002). The vendor activity logic 505 further passes an execution request (request) to the vendor filter logic 506 and the print filter logic 503 that operate to realize the vendor application function (S1003).

ベンダフィルタロジック506は、実行要求(リクエスト)を受けて、S905の処理において各フィルタを接続した画像パイプ307に、読み取った画像を記憶するメモリ領域の確保を指示する(S1101)。画像パイプ307は、メモリ確保の指示に従って、メモリ制御部311の代理コンポーネント71(図中の破線枠に示すプロセスC32cのメモリ制御部)を介して、プロセスB32bで動作するメモリ制御部311に所定のメモリ領域の確保をさせる(S1102及びS1103)。   In response to the execution request (request), the vendor filter logic 506 instructs the image pipe 307 to which each filter is connected in the processing of S905 to secure a memory area for storing the read image (S1101). The image pipe 307 sends a predetermined value to the memory control unit 311 operating in the process B32b via the proxy component 71 of the memory control unit 311 (the memory control unit of the process C32c shown in the broken line frame in the drawing) in accordance with the memory reservation instruction. A memory area is secured (S1102 and S1103).

次に、ベンダフィルタロジック506は、実行要求(リクエスト)を受けて、例えば、情報処理装置200が有するネットワークI/F14を介した画像データの入力や、外部記憶装置I/F15を介してメモリカードなど記憶された画像データの入力など、所定の方法によって画像データを入力する(S1104)。ベンダフィルタロジック506は、入力した画像データを、確保しておいた所定のメモリ領域に、メモリ制御部311の代理コンポーネント71を介して書き込む(S1105)。ベンダフィルタロジック506は、書き込んだ画像データの格納先情報の通知を画像パイプ307に指示する(S1106)。   Next, the vendor filter logic 506 receives an execution request (request), for example, inputs image data via the network I / F 14 included in the information processing apparatus 200 or a memory card via the external storage device I / F 15. The image data is input by a predetermined method such as input of stored image data (S1104). The vendor filter logic 506 writes the input image data into the reserved predetermined memory area via the proxy component 71 of the memory control unit 311 (S1105). The vendor filter logic 506 instructs the image pipe 307 to notify the storage location information of the written image data (S1106).

また、印刷フィルタロジック503は、実行要求(リクエスト)を受けて、画像パイプ307に、書き込まれた画像データが格納された格納先情報を要求し、S1105の処理によってメモリ上に画像データが書き込まれていれば、画像パイプ307から機能先情報を取得する(S1201)。   In response to the execution request (request), the print filter logic 503 requests the storage location information in which the written image data is stored in the image pipe 307, and the image data is written on the memory by the process of S1105. If so, the function destination information is acquired from the image pipe 307 (S1201).

次に、印刷フィルタロジック503は、取得した格納先情報に基づいて、プロッタ制御部310の代理コンポーネント71(図中の破線枠に示すプロセスC32cのプロッタ制御部)を介して、プロセスB32bで動作するプロッタ制御部310に画像データの印刷を指示する(S1202及びS1203)。プロッタ制御部310は、格納先情報に基づいて、メモリ制御部311を介して画像データを読み出し(S1204)、読み出した画像データを用紙に印刷する(S1205)。   Next, the print filter logic 503 operates in the process B32b based on the acquired storage location information via the proxy component 71 of the plotter control unit 310 (the plotter control unit of the process C32c shown in the broken line frame in the drawing). The plotter control unit 310 is instructed to print image data (S1202 and S1203). The plotter control unit 310 reads out image data via the memory control unit 311 based on the storage location information (S1204), and prints the read image data on paper (S1205).

その後、印刷フィルタロジック503は、格納先情報に基づいて、画像パイプ307に、S1101の処理によって確保したメモリ領域の開放を指示する(S1206)。   Thereafter, the print filter logic 503 instructs the image pipe 307 to release the memory area secured by the processing of S1101 based on the storage location information (S1206).

その結果、画像パイプ307は、メモリ解放の指示に従って、メモリ制御部311の代理コンポーネント71(図中の破線枠に示すプロセスC32cのメモリ制御部)を介して、プロセスB32bで動作するメモリ制御部311に、確保していた所定のメモリ領域を解放させる(S1207及びS1208)。   As a result, the image pipe 307 operates in accordance with the memory release instruction via the proxy component 71 of the memory control unit 311 (the memory control unit of the process C32c indicated by the broken line in the drawing), and the memory control unit 311 that operates in the process B32b. The predetermined memory area that has been secured is released (S1207 and S1208).

<フィルタ集約型のコンポーネント配置について>
プロセスで動作するコンポーネントの適切な分散配置について図9を用いて説明を行った。その中で、フィルタ集約型よりアクティビティ集約型を採用する方が適切であるとの結果を示した。
<About filter-intensive component placement>
An appropriate distributed arrangement of components operating in the process has been described with reference to FIG. Among them, the results showed that it is more appropriate to adopt the activity intensive type than the filter intensive type.

図17〜22では、その点を踏まえて、アクティビティ集約型のコンポーネント配置におけるアプリケーション実行の処理手順について説明を行った。   In FIGS. 17 to 22, based on this point, the application execution processing procedure in the activity-intensive component arrangement has been described.

ここからは、フィルタ集約型を採用した場合のコンポーネント配置、及びアプリケーション実行の処理手順について、図23〜26を用いて説明する。   From here, the component arrangement | positioning at the time of employ | adopting a filter aggregation type | mold and the process sequence of application execution are demonstrated using FIGS.

図23は、本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。   FIG. 23 is a diagram illustrating an example (in the case of a filter aggregation type) in which components belonging to each layer according to the first embodiment of the present invention are arranged in a process.

フィルタ集約型を採用した場合と、アクティビティ集約型を採用した場合との違いは、フィルタ集約型の特徴である、フィルタ単位でプロセスを分割する点である。   The difference between the case where the filter aggregation type is adopted and the case where the activity aggregation type is adopted is that the process is divided in units of filters, which is a feature of the filter aggregation type.

そのため、アクティビティ集約型のコンポーネント配置を示す図12と図23とを比較すると、例えば、サードベンダ製アプリケーション82が、サードベンダが独自の開発した入力フィルタ103aと、情報処理装置200が標準的に搭載している出力フィルタ103cとを画像パイプ307で接続することで、1つの機能を実現する拡張機能の場合、図12に示すアクティビティ集約型では、情報処理装置200が標準的に搭載している出力フィルタ103cである印刷フィルタに関するコンポーネントが、プロセスB32b及びプロセスC32cの両方に配置されているが、図23に示すフィルタ集約型では、印刷フィルタに関するコンポーネントがプロセスC32cに配置されておらず、サードベンダが独自の開発した入力フィルタ103aに関するコンポーネントのみ配置されている。   Therefore, comparing FIG. 12 and FIG. 23 showing the activity-intensive component arrangement, for example, the third-vendor application 82 includes the input filter 103a originally developed by the third vendor and the information processing apparatus 200 as standard. In the case of an extended function that realizes one function by connecting the output filter 103c that is currently connected by the image pipe 307, in the activity-intensive type shown in FIG. The components related to the print filter which is the filter 103c are arranged in both the process B32b and the process C32c. However, in the filter aggregation type shown in FIG. 23, the component related to the print filter is not arranged in the process C32c. Regarding the input filter 103a developed originally Only the components that are required are placed.

このように、フィルタ集約型のコンポーネント配置では、基本アプリケーション81と拡張アプリケーション82とで共通して利用するフィルタを、拡張アプリケーション82が動作するプロセスに配置しない。すなわち、全てのプロセスにおいて、重複するフィルタコンポーネントは存在しない。   As described above, in the filter aggregation type component arrangement, a filter that is commonly used by the basic application 81 and the extended application 82 is not arranged in a process in which the extended application 82 operates. That is, there are no overlapping filter components in all processes.

<フィルタ集約型のコンポーネント配置におけるアプリケーション実行の基本処理手順について(ベンダ拡張機能の場合)>
図23を用いて説明したフィルタ集約型のコンポーネント配置におけるアプリケーション実行の処理手順について説明する。
<Basic processing procedure for application execution in filter-intensive component arrangement (for vendor extension function)>
A processing procedure for executing an application in the filter-intensive component arrangement described with reference to FIG. 23 will be described.

図24は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その4:アクティビティ選択)の一例を示す図である。   FIG. 24 is a diagram illustrating an example of a processing procedure (part 4: activity selection) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、動作させるアプリケーションAPの選択指示(ベンダ機能を選択)によるユーザからの動作要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作要求)をローカルUI部302へ通知する(S701)。   The information processing apparatus 200 according to the present embodiment accepts an operation request from a user according to an instruction to select an application AP to be operated (select a vendor function) in the process A 32a executed by the execution unit 51 and in which the application management software operates. If it is detected, the UI event (operation request) received from the operation device control unit 312 is notified to the local UI unit 302 (S701).

ローカルUI部302は、動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(動作要求)を送信する(S702)。   The local UI unit 302 uses the operation request transmitting unit 61 based on the information 41 that associates the application identification information and the process identification information held in the memory, and the process C32c executed by the executing unit 51 and operating the vendor function. A UI event (operation request) is transmitted to the specified process C32c by inter-process communication (S702).

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)を介して、受信したUIイベント(動作要求)を、動作させるベンダ機能のベンダアクティビティUI405に渡す(S703)。   In the process C32c, the UI event (operation request) received via the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the broken line in the figure) is sent to the vendor activity UI 405 of the vendor function to be operated. Pass (S703).

ベンダアクティビティUI405は、自らのUI要素を生成し、更に、ベンダアプリケーションを実現するためのベンダフィルタUI406に受け取ったUIイベント(動作要求)を渡す(S704)。UIイベント(動作要求)を受け取ったベンダフィルタUI406は、自らのUI要素を生成する。   The vendor activity UI 405 generates its own UI element and passes the received UI event (operation request) to the vendor filter UI 406 for realizing the vendor application (S704). The vendor filter UI 406 that has received the UI event (operation request) generates its own UI element.

また、ベンダアクティビティUI405は、プロセス間通信によって、受け取ったUIイベント(動作要求)を、プロセスC32cで動作するローカルUI部302の代理コンポーネント71から、プロセスB32bで動作するローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスB32bのローカルUI部)へ転送する(S705及びS706)。   Also, the vendor activity UI 405 transmits the received UI event (operation request) by inter-process communication from the proxy component 71 of the local UI unit 302 operating in the process C32c to the proxy component 71 of the local UI unit 302 operating in the process B32b. It transfers to (local UI part of process B32b shown in the broken line frame in the figure) (S705 and S706).

プロセスB32bでは、ローカルUI部302の代理コンポーネント71を介してUIイベント(動作要求)を受け取ると、印刷フィルタUI403が自らのUI要素を生成する(S707)。   In process B32b, when a UI event (operation request) is received via the proxy component 71 of the local UI unit 302, the print filter UI 403 generates its own UI element (S707).

その後、生成された各UI要素は、ローカルUI部302の代理コンポーネント71に渡され、代理コンポーネント71が、各UI要素に対して画面要素識別情報を採番し、画面要素識別情報とプロセス識別情報とを関連付けて、メモリ上の関連付け情報42に登録する。登録された各UI要素は、操作デバイス制御部312に渡され、操作デバイス制御部312によって表示される。   Thereafter, each generated UI element is transferred to the proxy component 71 of the local UI unit 302, and the proxy component 71 assigns screen element identification information to each UI element, and the screen element identification information and the process identification information. Are registered in the association information 42 on the memory. Each registered UI element is transferred to the operation device control unit 312 and displayed by the operation device control unit 312.

図25は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その5:設定変更)の一例を示す図である。   FIG. 25 is a diagram showing an example of a processing procedure (No. 5: setting change) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの動作設定によるユーザからの動作設定要求を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(動作設定要求)をローカルUI部302へ通知する(S801)。   When the information processing apparatus 200 according to the present embodiment receives an operation setting request from the user by the operation setting of the application AP in the process A32a executed by the execution unit 51 and in which the application management software operates, the operation device control unit The UI event (operation setting request) received from 312 is notified to the local UI unit 302 (S801).

ローカルUI部302は、動作設定要求送信手段62によって、メモリ上に保持された画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32c、又はプリンタ機能が動作するプロセスB32bを特定し、UIイベント(動作設定要求)を送信する。このとき、プリンタ機能が動作するプロセスB32bを特定した場合には、プロセス間通信によって、特定したプロセスB32bにUIイベント(動作設定要求)を送信する(S802)。   The local UI unit 302 operates the vendor function executed by the execution unit 51 based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the operation setting request transmission unit 62. The process C32c or the process B32b in which the printer function operates is specified, and a UI event (operation setting request) is transmitted. At this time, if the process B 32b in which the printer function operates is specified, a UI event (operation setting request) is transmitted to the specified process B 32b by inter-process communication (S802).

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)を介して受信した、UIイベント(動作設定要求)に含まれる画面要素識別情報を基に、各UI要素を生成したコンポーネント、すなわち、ベンダアクティビティUI405、又はベンダアプリケーションを実現するためのベンダフィルタUI406を特定し、UIイベントである動作設定を転送する(S803)。   In the process C32c, based on the screen element identification information included in the UI event (operation setting request) received via the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the broken frame in the drawing) The component that generated each UI element, that is, the vendor activity UI 405 or the vendor filter UI 406 for realizing the vendor application is specified, and the operation setting as the UI event is transferred (S803).

ベンダアクティビティUI405、ベンダフィルタUI406は、それぞれの動作条件を、ベンダアクティビティロジック505及びベンダフィルタロジック506に設定する(S804)。   The vendor activity UI 405 and the vendor filter UI 406 set the operating conditions in the vendor activity logic 505 and the vendor filter logic 506 (S804).

また、プロセスB32bでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスB32bのローカルUI部)を介して、受信したUIイベント(動作設定要求)を、印刷機能の印刷フィルタUI403に渡す(S803)。   Further, in the process B32b, the UI event (operation setting request) received via the proxy component 71 of the local UI unit 302 (the local UI unit of the process B32b shown in the broken line in the drawing) is sent to the print filter UI403 of the print function. (S803).

印刷フィルタUI403は、動作条件を印刷フィルタロジック503に設定する(S804)。   The print filter UI 403 sets operating conditions in the print filter logic 503 (S804).

図26は、本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その6:リクエスト実行)の一例を示す図である。   FIG. 26 is a diagram illustrating an example of a processing procedure (No. 6: request execution) when realizing the third-vendor application function according to the first embodiment of the present invention.

本実施形態に係る情報処理装置200は、実行手段51によって実行された、アプリケーション管理ソフトウェアが動作するプロセスA32aにおいて、アプリケーションAPの実行指示によるユーザからの実行要求(リクエスト)を受け付けた場合、操作デバイス制御部312から受け付けたUIイベント(実行要求)をローカルUI部302へ通知する(S901)。   When the information processing apparatus 200 according to the present embodiment receives an execution request (request) from the user according to the execution instruction of the application AP in the process A32a executed by the execution unit 51 and in which the application management software operates, the operation device The UI event (execution request) received from the control unit 312 is notified to the local UI unit 302 (S901).

ローカルUI部302は、受け取ったUIイベント(実行要求)を、実行要求管理手段63によって、メモリ上に保持されている画面要素識別情報とプロセス識別情報とを関連付ける情報42に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(実行要求)を送信する(S902)。   The local UI unit 302 executes the received UI event (execution request) based on the information 42 that associates the screen element identification information and the process identification information held in the memory by the execution request management unit 63. The process C32c in which the vendor function operates is identified, and a UI event (execution request) is transmitted to the identified process C32c by inter-process communication (S902).

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)が、送信されたUIイベント(実行要求)を、実行するUI制御コンポーネントであるベンダ機能のベンダアクティビティUI405に渡す(S903)。   In the process C32c, the proxy component 71 of the local UI unit 302 (the local UI unit of the process C32c shown in the dashed frame in the drawing) has a vendor function that is a UI control component that executes the transmitted UI event (execution request). The data is passed to the vendor activity UI 405 (S903).

ベンダアクティビティUI405は、受け取ったUIイベント(実行要求)を、コントロール部303の代理コンポーネント71(図中の破線枠に示すプロセスC32cのコントローラ部)に、受け付けたUIイベント(実行要求)を登録する(S904)。   The vendor activity UI 405 registers the received UI event (execution request) in the proxy component 71 of the control unit 303 (the controller unit of the process C32c shown in the broken line frame in the drawing). S904).

プロセスC32cで動作するコントロール部303の代理コンポーネント71は、プロセスB32bで動作する代理コンポーネント71(図中の破線枠に示すプロセスB32bのコントローラ部)とプロセス間通信により連携してベンダアプリケーション機能を実現するために動作するベンダフィルタロジック506及び印刷フィルタロジック503を、画像パイプ307を介して接続する(S905〜S907)。このとき、コントロール部303の代理コンポーネント71は、受け取った実行要求(リクエスト)に対して実行要求識別情報を発行する。また、コントロール部303の代理コンポーネント71は、S905〜S907の処理が行われた後に、プロセス間通信により実行要求(リクエスト)を、プロセスA32aに送信する(S908)。   The proxy component 71 of the control unit 303 that operates in the process C32c realizes a vendor application function in cooperation with the proxy component 71 that operates in the process B32b (the controller unit of the process B32b indicated by a broken line in the drawing) by inter-process communication. For this purpose, the vendor filter logic 506 and the print filter logic 503 are connected via the image pipe 307 (S905 to S907). At this time, the proxy component 71 of the control unit 303 issues execution request identification information to the received execution request (request). In addition, after the processing of S905 to S907 is performed, the proxy component 71 of the control unit 303 transmits an execution request (request) to the process A 32a by inter-process communication (S908).

プロセスA32aでは、コントロール部303が、実行要求(リクエスト)(図26の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S1001)。本実施形態では、ベンダ機能を例に説明を行っているため、ベンダ機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスC32cに実行要求(リクエスト)を送信し、ベンダアプリケーションに実行開始を指示する。   In the process A32a, the control unit 303 queues an execution request (request) (referred to as “execution request (request)” in the following description of FIG. 26). The control unit 303 schedules the registered execution request (request), and is specified for the execution request identification information of the execution request (request) that can be executed. An instruction to start execution is transmitted to the proxy component 71 operating on the process (S1001). In this embodiment, the vendor function is described as an example. Therefore, if the execution request (request) of the vendor function can be executed, the execution request (request) is transmitted to the specified process C32c, and the vendor application To start execution.

プロセスC32cでは、コントロール部303が、受け取った実行要求(リクエスト)を、ベンダアクティビティロジック505に渡す(S1002)。ベンダアクティビティロジック505は、更に、ベンダアプリケーション機能を実現するために動作するベンダフィルタロジック506に実行要求(リクエスト)を渡す(S1003)。   In the process C32c, the control unit 303 passes the received execution request (request) to the vendor activity logic 505 (S1002). The vendor activity logic 505 further passes an execution request (request) to the vendor filter logic 506 that operates to realize the vendor application function (S1003).

また、ベンダアクティビティロジック505は、プロセス間通信によって、受け取った実行要求(リクエスト)を、プロセスC32cで動作するコントロール部303の代理コンポーネント71から、プロセスB32bで動作するコントロール部303の代理コンポーネント71(図中の破線枠に示すプロセスB32bのコントロール部)へ転送する(S1004及びS1005)。   Further, the vendor activity logic 505 transmits the received execution request (request) by inter-process communication from the proxy component 71 of the control unit 303 operating in the process C32c to the proxy component 71 of the control unit 303 operating in the process B32b (see FIG. The process is transferred to the control part of the process B 32b shown in the middle broken line frame (S1004 and S1005).

プロセスB32bでは、コントロール部303の代理コンポーネント71を介して、印刷フィルタロジック503に実行要求(リクエスト)を渡す(S1006)。   In the process B32b, an execution request (request) is passed to the print filter logic 503 via the proxy component 71 of the control unit 303 (S1006).

次に、ベンダフィルタロジック506は、実行要求(リクエスト)を受けて、S905〜S907の処理において各フィルタを接続した画像パイプ307に、プロセスC32cで動作する画像パイプ307の代理コンポーネント71(図中の破線枠に示すプロセスC32cの画像パイプ)を介して、読み取った画像を記憶するメモリ領域の確保を指示する(S1101)。画像パイプ307は、画像パイプ307の代理コンポーネント71を介して受け取ったメモリ確保の指示に従って、メモリ制御部311の代理コンポーネント71(図中の破線枠に示すプロセスC32cのメモリ制御部)を介して、プロセスB32bで動作するメモリ制御部311に所定のメモリ領域の確保をさせる(S1102及びS1103)。   Next, the vendor filter logic 506 receives the execution request (request), and substitutes the image pipe 307 connected to each filter in the processing of S905 to S907 to the proxy component 71 (in the drawing) of the image pipe 307 operating in the process C32c. An instruction to secure a memory area for storing the read image is issued via the image pipe of the process C32c shown in the broken line frame (S1101). In accordance with the instruction for securing the memory received via the proxy component 71 of the image pipe 307, the image pipe 307 passes through the proxy component 71 of the memory control unit 311 (the memory control unit of the process C32c shown in the broken line frame in the drawing). The memory control unit 311 that operates in the process B 32b secures a predetermined memory area (S1102 and S1103).

次に、ベンダフィルタロジック506は、実行要求(リクエスト)に従って、例えば、情報処理装置200が有するネットワークI/F14を介した画像データの入力や、外部記憶装置I/F15を介してメモリカードなど記憶された画像データの入力など、所定の方法によって画像データを入力する(S1104)。ベンダフィルタロジック506は、入力した画像データを、確保しておいた所定のメモリ領域に、メモリ制御部311の代理コンポーネント71を介して書き込む(S1105)。ベンダフィルタロジック506は、書き込んだ画像データの格納先情報の通知を、画像パイプ307の代理コンポーネント71を介して画像パイプ307に指示する(S1106及びS1107)。   Next, according to the execution request (request), the vendor filter logic 506, for example, inputs image data via the network I / F 14 included in the information processing apparatus 200, or stores a memory card or the like via the external storage device I / F 15. The image data is input by a predetermined method such as input of the image data (S1104). The vendor filter logic 506 writes the input image data into the reserved predetermined memory area via the proxy component 71 of the memory control unit 311 (S1105). The vendor filter logic 506 instructs the image pipe 307 to notify the storage location information of the written image data via the proxy component 71 of the image pipe 307 (S1106 and S1107).

また、印刷フィルタロジック503は、S1006の処理による実行要求(リクエスト)に従って、画像パイプ307に、書き込まれた画像データが格納された格納先情報を要求し、S1105の処理によってメモリ上に画像データが書き込まれていれば、画像パイプ307から機能先情報を取得する(S1201)。   Also, the print filter logic 503 requests the storage location information in which the written image data is stored in the image pipe 307 according to the execution request (request) by the processing in S1006, and the image data is stored in the memory by the processing in S1105. If written, the function destination information is acquired from the image pipe 307 (S1201).

次に、印刷フィルタロジック503は、取得した格納先情報に基づいて、プロッタ制御部310に画像データの印刷を指示する(S1202)。プロッタ制御部310は、格納先情報に基づいて、メモリ制御部311を介して画像データを読み出し(S1203)、読み出した画像データを用紙に印刷する(S1204)。   Next, the print filter logic 503 instructs the plotter control unit 310 to print image data based on the acquired storage location information (S1202). The plotter control unit 310 reads image data via the memory control unit 311 based on the storage location information (S1203), and prints the read image data on paper (S1204).

その後、印刷フィルタロジック503は、格納先情報に基づいて、画像パイプ307に、S1102及びS1103の処理によって確保したメモリ領域の開放を指示する(S1205)。   Thereafter, the print filter logic 503 instructs the image pipe 307 to release the memory area secured by the processing of S1102 and S1103 based on the storage location information (S1205).

その結果、画像パイプ307は、メモリ制御部311に確保したメモリ領域の解放を指示する(S1206)。   As a result, the image pipe 307 instructs the memory control unit 311 to release the secured memory area (S1206).

<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る情報処理装置200は、システムの基本機能を実現する基本アプリケーション81と、追加される拡張機能を実現する拡張アプリケーション82とを、異なるプロセスで動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークFWに相当する限定されたコンポーネントで行う(マルチプロセス化の影響を隠蔽する)ことができる。
<Summary>
As described above, according to the first embodiment of the present invention, the information processing apparatus 200 according to this embodiment includes the basic application 81 that realizes the basic function of the system and the extended application that realizes the added extended function. 82 can be operated in different processes, and the influence of multi-process such as inter-process communication can be performed by a limited component corresponding to the framework FW (the influence of multi-process is concealed).

よって、本実施形態に係る情報処理装置200は、マルチプロセス化を意識することなくアプリケーションAPのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。   Therefore, the information processing apparatus 200 according to the present embodiment can easily customize or extend the application AP without being conscious of multi-process, and the malfunction of the extended function does not affect the basic function of the system. A system having robustness can be provided.

[第2の実施形態]
本実施形態は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させるマルチプロセス化において、アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行するプロセス構成にすることにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供するものである。
[Second Embodiment]
This embodiment is an application that manages the start and end of an application in multi-process where a basic application that realizes the basic function of the system and an extended application that realizes an added extended function are operated in different processes. Management software and basic application software that realizes basic functions of the information processing apparatus are executed in a first process, and extended application software that realizes an extended function added to the information processing apparatus is executed in a second process With this process configuration, it is possible to easily customize or extend an application without being conscious of multi-process, and a system with high robustness that does not affect the basic function of the system due to the failure of the extended function. It is intended to provide.

第1の実施形態と本実施形態と異なる点は、第1の実施形態では、アプリケーション管理ソフトウェアを第1のプロセスで実行し、基本アプリケーションソフトウェアを第2のプロセスで実行し、拡張アプリケーションソフトウェアを第3のプロセスで実行するという「3つのプロセス」で構成したのに対して、本実施形態では、アプリケーション管理ソフトウェアと基本アプリケーションソフトウェアとを第1のプロセスで実行し、拡張アプリケーションソフトウェアを第2のプロセスで実行するという「2つのプロセス」で構成する点である。   The difference between the first embodiment and this embodiment is that in the first embodiment, application management software is executed in the first process, basic application software is executed in the second process, and extended application software is executed in the first process. In this embodiment, the application management software and the basic application software are executed in the first process, and the extended application software is executed in the second process. It consists of “two processes” that are executed in

よって、以降に行う本実施形態の説明では、第1の実施形態と同じ事項について、同一の図面及び図中の参照符号をもってその説明を省略し、第1の実施形態と異なる点について、図27〜31を用いて説明する。   Therefore, in the following description of the present embodiment, the same matters as in the first embodiment will be omitted with the same drawings and reference numerals in the drawings, and the points different from the first embodiment will be described with reference to FIG. This will be described using ˜31.

<マルチプロセス化について>
本実施形態においても、図7〜9を用いて説明した「パイプ&フィルタ」のソフトウェア構成におけるマルチプロセス化については、「マルチプロセス化を意識することなくアプリケーションAPのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」ために、第1の実施形態と同様の基本方針(方針1)〜(方針3)に従ってマルチプロセス化を行う。
<About multi-process>
Also in this embodiment, regarding the multi-process in the “pipe & filter” software configuration described with reference to FIGS. 7 to 9, “application AP can be easily customized or expanded without being conscious of multi-process, In order to provide a system having high robustness in which the malfunction of the extended function does not affect the basic function of the system, "according to the basic policies (policy 1) to (policy 3) similar to those of the first embodiment Perform multi-process.

<<プロセス構成>>
図27は、本発明の第2の実施形態に係るプロセス構成の一例を示す図である。
<< Process configuration >>
FIG. 27 is a diagram showing an example of a process configuration according to the second embodiment of the present invention.

図中に示すように、本実施形態に係る情報処理装置200は、第1の実施形態で示した(方針1)に従ってマルチプロセス化を実現するため、OS31から起動されるプロセス構成を、アプリケーション管理及び自社製アプリケーション用に共通するJVMを動作させるプロセスA32aと、サードベンダ製アプリケーション用JVMを動作させるプロセスB32bとする。   As shown in the figure, the information processing apparatus 200 according to the present embodiment uses a process configuration activated from the OS 31 in order to realize multi-processing according to (Policy 1) shown in the first embodiment. And a process A 32a for operating a common JVM for in-house application and a process B 32b for operating a third-vendor application JVM.

プロセスA32aでは、アプリケーションAPの起動や終了などの管理を行う「アプリケーション管理ソフトウェア」を実行するとともに、情報処理装置200が有する基本機能を実現する「基本アプリケーションソフトウェア81」を実行する。すなわち、本実施形態では、自社開発した基盤ソフトであるシステムと基本機能を実現する基本アプリケーション81とを同一のメモリ空間で実行する。プロセスB32bでは、情報処理装置200に追加される拡張機能を実現する「拡張アプリケーションソフトウェア82」を実行する。   In the process A32a, “application management software” for managing the activation and termination of the application AP is executed, and “basic application software 81” for realizing the basic functions of the information processing apparatus 200 is executed. That is, in this embodiment, the system that is the base software developed in-house and the basic application 81 that realizes the basic function are executed in the same memory space. In the process B32b, “extended application software 82” that realizes an extended function added to the information processing apparatus 200 is executed.

これによって、本実施形態に係る情報処理装置200は、拡張した機能(インストールした拡張アプリケーション82)の不具合がシステムの基本機能(基本アプリケーション81)に影響を及ぼす(例えば、システムがクラッシュ(異常終了)する。)ことがなく、また、拡張した機能(インストールした拡張アプリケーション82)が多くのメモリを使用した場合でも、アプリケーション管理ソフトウェアに影響を与えることなく、ユーザに対して安定した機能を提供することができる。   Accordingly, in the information processing apparatus 200 according to the present embodiment, the malfunction of the extended function (installed extended application 82) affects the basic function (basic application 81) of the system (for example, the system crashes (abnormal termination)). In addition, even when the extended function (installed extended application 82) uses a lot of memory, the user can provide a stable function without affecting the application management software. Can do.

<<各レイヤのプロセス配置>>
図28は、本発明の第2の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。
<< Process arrangement of each layer >>
FIG. 28 is a diagram illustrating an example of arranging each layer according to the second exemplary embodiment of the present invention in a process.

図27を用いて説明したように、適切な粒度で分割された2つのプロセスに対して、各プロセスで動作させるレイヤのコンポーネントを、図28に示すように配置する。   As described with reference to FIG. 27, the components of the layers operated in each process are arranged as shown in FIG. 28 for the two processes divided at an appropriate granularity.

第1の実施形態と違う配置になるコンポーネントは、第1の実施形態において、基本アプリケーション81が動作するプロセスに配置されていたコンポーネントである。その対象となるレイヤについて、本実施形態におけるコンポーネントの配置について説明する。   Components that are arranged differently from the first embodiment are components that are arranged in a process in which the basic application 81 operates in the first embodiment. The arrangement of components in this embodiment will be described for the target layer.

ユーザインタフェース層101では、基本アプリケーション81のUI、また、アプリケーションロジック層103では、基本アプリケーション81のコンポーネントを、アプリケーション管理ソフトウェア及び基本アプリケーション81が動作するプロセスA32aに配置する。   In the user interface layer 101, the UI of the basic application 81 is arranged, and in the application logic layer 103, the components of the basic application 81 are arranged in the process A 32a in which the application management software and the basic application 81 operate.

このように、本実施形態に係る情報処理装置200は、各レイヤの特徴を考慮して、レイヤのコンポーネントを最適なプロセスに配置する。また、第1の実施形態に示した(方針2)に従って、「情報処理装置200が有する基本機能のうち、ユーザからの使用頻度の高いコピー機能などのアプリケーションAPが有する機能を実現するために動作する入力フィルタ103a、変換フィルタ103b、出力フィルタ103cなどの各コンポーネントを、同じプロセスで動作させること」とする。   As described above, the information processing apparatus 200 according to the present embodiment arranges layer components in an optimal process in consideration of the characteristics of each layer. Further, in accordance with (Policy 2) shown in the first embodiment, “operation among the basic functions of the information processing apparatus 200 is implemented to realize the functions of the application AP such as the copy function that is frequently used by the user. The components such as the input filter 103a, the conversion filter 103b, and the output filter 103c to be operated are operated in the same process.

これによって、本実施形態に係る情報処理装置200は、システムが有する機能のうち、比較的使用頻度の高い基本機能を安定してユーザに提供することができる。また、第1の実施形態に係る情報処理装置200では、アプリケーション管理ソフトウェアと基本アプリケーション81とが動作するプロセスが異なっていたため、プロセス間通信により互いのプロセス間のデータのやり取りを行っていたが、本実施形態に係る情報処理装置200では、同一プロセスで動作するため、プロセス間通信によるシステムやアーキテクチャへの影響がない。   As a result, the information processing apparatus 200 according to the present embodiment can stably provide basic functions that are relatively frequently used among the functions of the system to the user. Further, in the information processing apparatus 200 according to the first embodiment, since the processes in which the application management software and the basic application 81 operate are different, data is exchanged between processes by inter-process communication. Since the information processing apparatus 200 according to the present embodiment operates in the same process, there is no influence on the system and architecture due to inter-process communication.

<情報処理装置における主な機能構成について>
ここからは、図27及び図28を用いて説明したプロセス構成及び各レイヤのプロセス配置において、本実施形態に係る情報処理装置200が有する基本機能及び拡張機能をどうのように動作させるのか、すなわち「マルチプロセス環境においてアプリケーションAPをどのような仕組みで実行させるのか」について、図29を用いて説明する。
<Main functional configuration of information processing device>
From here, how to operate the basic function and the extended function of the information processing apparatus 200 according to the present embodiment in the process configuration and the process arrangement of each layer described with reference to FIGS. 27 and 28, that is, “How the application AP is executed in the multi-process environment” will be described with reference to FIG.

図29は、本発明の第2の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。   FIG. 29 is a diagram illustrating an example of a main functional configuration of the information processing apparatus 200 according to the second embodiment of the present invention.

第1の実施形態における機能構成との違いは、2つのプロセスを実行する実行手段51を有している点と、アプリケーション管理ソフトウェアと、基本アプリケーション81との間で、データのやり取りを行う代理コンポーネント71を有していない点である。以下にその点について説明する。   The difference from the functional configuration in the first embodiment is that it has an execution means 51 that executes two processes, and a proxy component that exchanges data between the application management software and the basic application 81. 71 is not included. This will be described below.

本実施形態に係る情報処理装置200は、図27に示した2つのプロセスを実行する実行手段51を有している。   The information processing apparatus 200 according to the present embodiment includes an execution unit 51 that executes the two processes illustrated in FIG.

実行手段51は、図29に示すように、以下の2つのプロセスを実行する。実行手段51は、例えばOS31である。   The execution unit 51 executes the following two processes as shown in FIG. The execution means 51 is, for example, the OS 31.

[プロセスA]
プロセスA32aは、アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェア、及び予め当該情報処理装置200が有する、入力フィルタ103a、変換フィルタ103b、及び/又は出力フィルタ103cとして機能するコンポーネント、すなわち情報処理装置200が有する標準的な機能を実現するコンポーネントを動作させるプロセスである。また、プロセスA32aは、情報処理装置200の起動後、常駐する。
[Process A]
The process A 32a includes application management software for managing application activation and termination, and components that function as the input filter 103a, the conversion filter 103b, and / or the output filter 103c of the information processing apparatus 200 in advance, that is, information processing This is a process of operating components that realize standard functions of the device 200. Further, the process A 32 a stays resident after the information processing apparatus 200 is activated.

[プロセスB]
プロセスB32bは、機能拡張のときに当該情報処理装置200に追加される、入力フィルタ(入力手段)103a、変換フィルタ103b、及び/又は出力フィルタ103cとして機能するコンポーネントを動作させるプロセスである。
[Process B]
The process B32b is a process for operating components that function as the input filter (input unit) 103a, the conversion filter 103b, and / or the output filter 103c, which are added to the information processing apparatus 200 when the function is expanded.

また、プロセスB32bは、ユーザからの動作要求を受けたときなど、必要に応じて実行手段51により実行される。   Further, the process B32b is executed by the execution unit 51 as necessary, for example, when an operation request is received from the user.

このように、本実施形態に係る情報処理装置200は、システム(自社開発した基盤ソフト)及び基本機能を実現する基本アプリケーション81と、拡張機能を実現する拡張アプリケーション82とにおいて、それぞれが動作するメモリ空間を分離し、互いに影響を及ぼさないマルチプロセス化を実現している。   As described above, the information processing apparatus 200 according to the present embodiment includes a memory that operates in the system (base software developed in-house) and the basic application 81 that realizes the basic function and the extended application 82 that realizes the extended function. The space is separated, and multi-processing that does not affect each other is realized.

実行手段51によって実行された2つのプロセスでは、第1の実施形態に説明した(方針3)に従って、図28に示すようなプロセス間通信が最小限となるコンポーネント構成としたが、アプリケーション管理ソフトウェアと拡張アプリケーション82との間では、動作要求、動作設定、及び実行要求などのプロセス間通信を行わなければならない。   In the two processes executed by the execution unit 51, the component configuration in which inter-process communication is minimized as shown in FIG. 28 in accordance with (Policy 3) described in the first embodiment is described. Inter-process communication such as operation requests, operation settings, and execution requests must be performed with the extended application 82.

そこで、本実施形態に係る情報処理装置200では、アプリケーション管理ソフトウェアが動作するプロセスA32aと、アプリケーション管理ソフトウェアが動作するプロセスA32aと異なるプロセスB32bで動作する拡張アプリケーション82との間でプロセス間通信を行うことによって、拡張アプリケーション82に対して、アプリケーション管理ソフトウェアとのデータのやり取りと同じ振る舞いをする代理コンポーネント71を有している。   Therefore, in the information processing apparatus 200 according to the present embodiment, inter-process communication is performed between the process A 32a in which the application management software operates and the extended application 82 that operates in the process B 32b different from the process A 32a in which the application management software operates. Accordingly, the extended application 82 has a proxy component 71 that behaves in the same manner as data exchange with the application management software.

また、基本アプリケーション81は、アプリケーション管理ソフトウェアと同一のプロセスA32aで動作するため、アプリケーション管理ソフトウェアと基本アプリケーション81との間では、動作要求、動作設定、及び実行要求などのプロセス間通信を行う必要がないため、代理コンポーネント71を有していない。   Further, since the basic application 81 operates in the same process A 32a as the application management software, it is necessary to perform inter-process communication such as operation requests, operation settings, and execution requests between the application management software and the basic application 81. Therefore, the proxy component 71 is not provided.

これ以外の点では、第1の実施形態の機能構成と同じであるため、本実施形態における動作要求送信手段61、動作設定要求送信手段62、及び実行要求管理手段63の各手段の技術的特徴及び各手段によるアプリケーションAPの実行手順などについての説明は省略する。   In other respects, the functional configuration is the same as that of the first embodiment. Therefore, the technical features of the respective units of the operation request transmission unit 61, the operation setting request transmission unit 62, and the execution request management unit 63 in the present embodiment. Description of the execution procedure of the application AP by each means is omitted.

<各レイヤに属するコンポーネントのプロセス配置について>
次に、本実施形態に係る情報処理装置200のプロセス構成において、アクティビティ集約型とフィルタ集約型のそれぞれのコンポーネント配置について、図30及び図31を用いて説明する。
<Process allocation of components belonging to each layer>
Next, in the process configuration of the information processing apparatus 200 according to the present embodiment, component placement of each of the activity intensive type and the filter intensive type will be described with reference to FIGS. 30 and 31.

<<アクティビティ集約型>>
図30は、本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。
<< Activity-intensive >>
FIG. 30 is a diagram showing an example (in the case of activity intensive type) in which components belonging to each layer according to the second embodiment of the present invention are arranged in a process.

第1の実施形態におけるコンポーネント配置との違いは、先の機能構成でも説明したように、アプリケーション管理ソフトウェアと基本アプリケーション81とが同一のプロセスA32aで動作するため、図12に示す第1の実施形態のような、基本アプリケーション81がアプリケーション管理ソフトウェアと異なるプロセスで動作するときに配置されていた、ローカルUI部302、コントロール部303、及びデータ管理部308それぞれの代理コンポーネント71が配置されていない。   The difference from the component arrangement in the first embodiment is that, as described in the previous functional configuration, the application management software and the basic application 81 operate in the same process A 32a. Therefore, the first embodiment shown in FIG. The proxy components 71 of the local UI unit 302, the control unit 303, and the data management unit 308, which are arranged when the basic application 81 operates in a process different from the application management software, are not arranged.

これ以外の点では、第1の実施形態の機能構成と同じであるため、本実施形態におけるコンポーネントの配置についての説明は省略する。   In other respects, the functional configuration is the same as that of the first embodiment, and a description of the arrangement of components in this embodiment is omitted.

<<フィルタ集約型>>
図31は、本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。
<< Filter aggregation type >>
FIG. 31 is a diagram illustrating an example (filter aggregation type) in which components belonging to each layer according to the second embodiment of the present invention are arranged in a process.

第1の実施形態におけるコンポーネント配置との違いは、先のアクティビティ集約型でも説明したように、アプリケーション管理ソフトウェアと基本アプリケーション81とが同一のプロセスA32aで動作するため、図23に示す第1の実施形態のような、基本アプリケーション81がアプリケーション管理ソフトウェアと異なるプロセスで動作するときに配置されていた、ローカルUI部302、コントロール部303、及びデータ管理部308それぞれの代理コンポーネント71が配置されていない。   The difference from the component arrangement in the first embodiment is that the application management software and the basic application 81 operate in the same process A 32a as described in the activity intensive type, and therefore the first implementation shown in FIG. As described above, the proxy components 71 of the local UI unit 302, the control unit 303, and the data management unit 308, which are arranged when the basic application 81 operates in a process different from the application management software, are not arranged.

これ以外の点では、第1の実施形態の機能構成と同じであるため、本実施形態におけるコンポーネントの配置についての説明は省略する。   In other respects, the functional configuration is the same as that of the first embodiment, and a description of the arrangement of components in this embodiment is omitted.

<アプリケーション実行の基本処理手順について>
第1の実施形態では、アクティビティ集約型のコンポーネント配置におけるアプリケーション実行の基本処理手順を、図17〜22を用いて説明し、フィルタ集約型のコンポーネント配置におけるアプリケーション実行の基本処理手順を、図24〜26を用いて説明した。
<Basic processing procedure for application execution>
In the first embodiment, a basic processing procedure of application execution in the activity-intensive component arrangement will be described with reference to FIGS. 17 to 22, and a basic processing procedure of application execution in the filter-intensive component arrangement will be described with reference to FIGS. 26.

アプリケーション実行の基本処理手順における、第1の実施形態と本実施形態との違いは、アプリケーション管理ソフトウェアと基本アプリケーション81との間のイベント・データなどのやり取りを、代理コンポーネントである代理コンポーネント71を介さず行う点である。そのため、本実施形態では、アプリケーション管理ソフトウェアのローカルUI部302及びコントローラ部303と、基本アプリケーション81のアクティビティUI及びアクティビティロジックやフィルタUI及びフィルタロジックとが、直接データのやり取りを行う。   The difference between the first embodiment and the present embodiment in the basic processing procedure of application execution is that exchange of event data and the like between the application management software and the basic application 81 is performed via the proxy component 71 which is a proxy component. It is a point to do. Therefore, in this embodiment, the local UI unit 302 and the controller unit 303 of the application management software directly exchange data with the activity UI and activity logic and the filter UI and filter logic of the basic application 81.

これ以外の点では、第1の実施形態のアプリケーション実行の基本処理手順と同じであるため、本実施形態におけるアプリケーション実行の基本処理手順についての説明は省略する。   In other respects, the procedure is the same as the basic processing procedure for executing an application according to the first embodiment.

<まとめ>
以上のように、本発明の第2の実施形態によれば、本実施形態に係る情報処理装置200は、システムの基本機能を実現する基本アプリケーション81と、追加される拡張機能を実現する拡張アプリケーション82とを、異なるプロセスで動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークFWに相当する限定されたコンポーネントで行う(マルチプロセス化の影響を隠蔽する)ことができる。
<Summary>
As described above, according to the second embodiment of the present invention, the information processing apparatus 200 according to this embodiment includes the basic application 81 that realizes the basic function of the system and the extended application that realizes the added extended function. 82 can be operated in different processes, and the influence of multi-process such as inter-process communication can be performed by a limited component corresponding to the framework FW (the influence of multi-process is concealed).

よって、本実施形態に係る情報処理装置200は、第1の実施形態と同じ効果を奏することができる。   Therefore, the information processing apparatus 200 according to the present embodiment can achieve the same effect as that of the first embodiment.

[第3の実施形態]
本実施形態は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させるマルチプロセス化において、拡張機能が動作するプロセスが異常終了した場合に、その後も基本機能の動作を可能とするために、システムから異常終了したプロセスを切り離すことにより、マルチプロセス化を意識することなく、アプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供するものである。
[Third Embodiment]
In the present embodiment, in a multi-process where the basic application that realizes the basic function of the system and the extended application that realizes the added extended function are operated in different processes, the process in which the extended function operates is abnormally terminated. In addition, in order to enable the operation of the basic functions after that, it is possible to easily customize or extend the application without considering the multi-process by separating the abnormally terminated process from the system. Provides a robust system that does not affect the basic functionality of the system.

第1及び第2の実施形態と本実施形態と異なる点は、拡張機能が動作するプロセスの異常終了を検知し、その旨をアプリケーション管理ソフトウェアが有する各コンポーネントへ通知する点(プロセス異常終了検知・通知機能を有する点)である。   The difference between the first and second embodiments and the present embodiment is that the abnormal end of the process in which the extended function operates is detected, and the fact is notified to each component of the application management software (process abnormal end detection / It has a notification function.

よって、以降に行う本実施形態の説明では、第1及び第2の実施形態と同じ事項について、同一の図面及び参照符号をもってその説明を省略し、第1及び第2の実施形態と異なる点について、図32〜38を用いて説明する。   Therefore, in the following description of the present embodiment, the same matters as in the first and second embodiments will be omitted with the same drawings and reference numerals, and different from the first and second embodiments. This will be described with reference to FIGS.

<情報処理装置における主な機能構成について>
では、本実施形態に係る情報処理装置200が、「どのようにして拡張機能が動作するプロセスの異常終了を検知し、その旨をアプリケーション管理ソフトウェアへ通知するのか」について、図32を用いて説明する。なお、以下の説明では、第1の実施形態において説明を行った「アプリケーション管理、基本機能、及び拡張機能が、それぞれ異なるプロセスで動作する構成」を、プロセス異常終了検知・通知機能が動作するマルチプロセス環境の一例として挙げる。
<Main functional configuration of information processing device>
Then, the information processing apparatus 200 according to the present embodiment will explain with reference to FIG. 32 how to detect the abnormal end of the process in which the extended function operates and notify the application management software accordingly. To do. In the following description, the “configuration in which the application management, basic function, and extended function operate in different processes” described in the first embodiment is referred to as a multi-function in which the process abnormal termination detection / notification function operates. Take as an example of a process environment.

図32は、本発明の第3の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。   FIG. 32 is a diagram illustrating an example of a main functional configuration of the information processing apparatus 200 according to the third embodiment of the present invention.

第1の実施形態における機能構成との違いは、アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスの異常終了を検知する検知手段91と、検知結果をアプリケーション管理ソフトウェアが有する各コンポーネントへ通知する通知手段92とを、更に有する点である。   The difference from the functional configuration in the first embodiment is that a detection unit 91 that detects abnormal termination of a process other than the process in which the application management software operates, and a notification unit 92 that notifies each component of the application management software of the detection result. It is the point which further has these.

マルチプロセス化における全てのプロセスは、あるプロセスをコピーして生成される。例えば本実施形態のようなUNIX環境では、新しいプロセスを生成するシステムコールであるforkを用いて行う。forkを用いて生成されるプロセスは、forkをコールする親プロセスの子プロセスであり、親プロセスのファイルハンドル、変数、環境変数など、親プロセスと全く同じ状態が引き継がれる。   All processes in multi-process are created by copying a certain process. For example, in the UNIX environment like this embodiment, it is performed using fork which is a system call for generating a new process. A process created using fork is a child process of the parent process that calls fork, and the same state as the parent process, such as the file handle, variable, and environment variable of the parent process, is inherited.

例えば、図32には、アプリケーション管理、基本機能、及び拡張機能のそれぞれが動作するプロセスA32a、プロセスB32b、及びプロセスC32cが、子プロセスとして親プロセスとして生成された場合の例が示されている。   For example, FIG. 32 shows an example in which a process A 32a, a process B 32b, and a process C 32c that operate application management, basic functions, and extended functions are generated as parent processes as child processes.

また、forkを用いて生成される子プロセスは、プロセスが異常終了した場合に、親プロセスへ、その旨を通知するシグナル(SIGCHLD)を送信する。これによって、親プロセスは、自身が生成した子プロセスの生存(正常動作しているか否か)を確認することができる。   Further, when the process is terminated abnormally, the child process generated using fork transmits a signal (SIGCHLD) for notifying the parent process. As a result, the parent process can confirm the survival of the child process generated by itself (whether it is operating normally).

そこで、本実施形態では、親プロセスが、プロセスの異常終了を検知する検知手段91と、アプリケーション管理ソフトウェアが動作するプロセスA32a(子プロセス)に異常終了した旨を通知する通知手段92aとを有し、親プロセスと子プロセスとのプロセス間通信により、プロセス異常終了検知・通知機能を実現している。   Therefore, in the present embodiment, the parent process has a detection unit 91 that detects abnormal termination of the process, and a notification unit 92a that notifies the process A 32a (child process) in which the application management software operates, of the abnormal termination. The process abnormal termination detection / notification function is realized by inter-process communication between the parent process and the child process.

さらに、本実施形態では、子プロセスであるプロセスA32aが、親プロセスからの通知を受けて、アプリケーション管理ソフトウェアが有する全てのコンポーネントに、異常終了した旨を通知する通知手段92bを有し、各コンポーネントが、正常に動作していないアプリケーションAPが、他のアプリケーションAPの動作に影響しないように、異常終了したプロセスで動作するアプリケーションAPに関する各種管理情報の整合をとる(異常終了したプロセスで動作するアプリケーションAPの関連データを削除する)。   Furthermore, in this embodiment, the process A 32a, which is a child process, has a notification means 92b for notifying that all components of the application management software have ended abnormally upon receiving notification from the parent process, However, to ensure that application APs that are not operating normally do not affect the operation of other application APs, align various management information related to application APs that operate in abnormally terminated processes (applications that operate in abnormally terminated processes) Delete AP related data).

<プロセス異常終了時の検知・通知の基本処理手順について>
これまでに説明した本実施形態に係る情報処理装置200におけるプロセス異常終了時の検知・通知の具体的な処理手順について、拡張アプリケーションソフトウェアが動作するプロセスC32cが異常終了した場合を例に図33を用いて説明する。
<Basic processing procedure for detection and notification at abnormal process termination>
FIG. 33 shows an example of a case where the process C32c in which the extended application software operates abnormally ends with respect to a specific processing procedure for detection and notification at the time of abnormal process end in the information processing apparatus 200 according to the present embodiment described so far. It explains using.

図33は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その1)の一例を示すシーケンス図である。   FIG. 33 is a sequence diagram showing an example of a processing procedure (part 1) when realizing the detection / notification function at the time of abnormal process end according to the third embodiment of the present invention.

本実施形態に係る情報処理装置200は、親プロセスで動作する検知手段91によって上記シグナル(SIGCHLD)を受け取り、他の子プロセスであるプロセスC32cの異常終了を検知し(S1301)、その検知結果を、同プロセスで動作する通知手段92aに送信する(S1302)。   The information processing apparatus 200 according to the present embodiment receives the signal (SIGCHLD) by the detection unit 91 operating in the parent process, detects the abnormal end of the process C32c, which is another child process (S1301), and displays the detection result. Then, it is transmitted to the notification means 92a operating in the same process (S1302).

通知手段92aは、受信した検知結果を基に、アプリケーション管理ソフトウェアが動作するプロセスA32a(子プロセス)に、異常終了した旨を、ソケットやメッセージキューなどのプロセス間通信により通知する(S1303)。   Based on the received detection result, the notification unit 92a notifies the process A 32a (child process) in which the application management software operates, that the process has ended abnormally by inter-process communication such as a socket or a message queue (S1303).

通知を受けたアプリケーション管理ソフトウェアは、内部の通知手段92bにより、異常終了した旨を、自身が有する全てのコンポーネント(コンポーネント数:N)に対して通知する(S1304〜S1304)。 Upon receiving the notification, the application management software notifies all the components (the number of components: N) that it has terminated abnormally by the internal notification unit 92b (S1304 1 to S1304 n ).

例えば、アプリケーション管理ソフトウェアが有するローカルUI部302が、通知手段92bから異常終了した旨の通知を受け取ると、異常終了したプロセスC32cのプロセス識別情報(例えば、プロセスID。)を基に、アクティビティとアクティビティを実行するプロセスとが対応付けられたデータ41を参照し、該当する関連データを削除する(S1305)。   For example, when the local UI unit 302 included in the application management software receives a notification of abnormal termination from the notification unit 92b, the activity and activity are based on the process identification information (for example, process ID) of the abnormally terminated process C32c. The relevant data is deleted by referring to the data 41 associated with the process for executing (S1305).

続いて、ローカルUI部302は、UIとUIを生成するプロセスとが対応付けられたデータ42を参照し、該当する関連データを削除する(S1306)。   Subsequently, the local UI unit 302 refers to the data 42 in which the UI and the process for generating the UI are associated with each other, and deletes the relevant data (S1306).

また、アプリケーション管理ソフトウェアが有するコントローラ部303が、通知手段92bから異常終了した旨の通知を受け取ると、異常終了したプロセスC32cのプロセス識別情報(例えば、プロセスID。)を基に、リクエストとリクエストを生成するプロセスとが対応付けられたデータ43を参照し、該当する関連データを削除する(S1307)。   In addition, when the controller unit 303 included in the application management software receives a notification that the process has ended abnormally from the notification unit 92b, a request and a request are sent based on the process identification information (for example, process ID) of the process C32c that has ended abnormally. The relevant data is deleted with reference to the data 43 associated with the process to be generated (S1307).

図34は、本発明の第3の実施形態に係るプロセス異常終了に対応して整合された各種データの一例を示す図である。   FIG. 34 is a diagram showing an example of various data matched in response to abnormal process termination according to the third embodiment of the present invention.

ここで、上記S1305〜S1307において行われる関連データの削除について、図34を用いて説明する。なお、以下の説明では、図33と同様に、拡張アプリケーションソフトウェアが動作するプロセスC32cが異常終了した場合を例に説明する。   Here, deletion of related data performed in S1305 to S1307 will be described with reference to FIG. In the following description, as in FIG. 33, a case where the process C32c in which the extended application software operates abnormally ends will be described as an example.

上記S1305では、ローカルUI部302が、異常終了したプロセスC32cのプロセスID"プロセスC"に基づいて、図34の(a)に示す、アクティビティとアクティビティを実行するプロセスとが対応付けられたデータ41を参照し、図中の破線枠に示す情報項目「アクティビティ名」の該当関連データを削除する。   In step S1305, the local UI unit 302 associates the activity 41 and the activity execution process shown in FIG. 34A based on the process ID “process C” of the abnormally terminated process C32c. , The relevant data of the information item “activity name” shown in the broken line frame in the figure is deleted.

更に、上記S1306では、プロセスID"プロセスC"に基づいて、図34の(b)に示す、UIとUIを生成するプロセスとが対応付けられたデータ42を参照し、図中の破線枠に示す情報項目「UI制御コンポーネントID」及び「画面要素ID」の該当関連データを削除する。   Further, in S1306, referring to the data 42 shown in FIG. 34 (b) in which the UI and the process for generating the UI are associated with each other based on the process ID “process C”, the broken line frame in the figure is displayed. Delete the relevant data of the indicated information items “UI control component ID” and “screen element ID”.

このとき、ローカルUI部302は、上記各データ41及び42から該当関連データを削除するとともに、データ42の情報項目である画面要素IDを基に、アプリケーションAPの選択画面であるメニューを構成する該当グラフィック部品(例えば、アイコン。)を削除、又は該当グラフィック部品の表示属性を半輝度(グレーダウン)に設定変更する。   At this time, the local UI unit 302 deletes the relevant data from each of the data 41 and 42 and, on the basis of the screen element ID that is an information item of the data 42, the corresponding menu that constitutes the selection screen of the application AP. The graphic part (for example, icon) is deleted, or the display attribute of the graphic part is set to half luminance (gray down).

また、上記S1307では、コントロール部303が、異常終了したプロセスC32cのプロセスID"プロセスC"に基づいて、図34の(c)に示す、リクエストとリクエストを生成するプロセスとが対応付けられたデータ43を参照し、図中の破線枠に示す情報項目「リクエストID」の該当関連データを削除する。   In step S1307, the control unit 303 associates the request and the process that generates the request shown in FIG. 34C based on the process ID “process C” of the abnormally terminated process C32c. 43, the relevant data of the information item “request ID” shown in the broken line frame in the figure is deleted.

このとき、コントロール部303は、削除したリクエストに関して、画面表示、ステータスレポート印刷、管理者宛メール送信、ジョブ要求者宛メール送信などのさまざまな通知方法によってその旨を知らせる。また、コントロール部303では、削除したリクエストに関する情報をハードディスクなどの補助記憶部13に格納し、永続化した後に、次回の正常起動時に、永続化情報を基に再実行する構成にしても良い。   At this time, the control unit 303 notifies the deletion request by various notification methods such as screen display, status report printing, email transmission to the administrator, and email transmission to the job requester. In addition, the control unit 303 may be configured to store information related to the deleted request in the auxiliary storage unit 13 such as a hard disk and make it re-executed based on the persistence information at the next normal startup after the persistence.

このようにして、本実施形態に係る情報処理装置200では、マルチプロセス化において、拡張機能が動作するプロセスが異常終了した場合に、その後も基本機能の動作を可能とするために、システムから異常終了したプロセスを切り離すことができる。   As described above, in the information processing apparatus 200 according to the present embodiment, when the process in which the extended function operates is abnormally terminated in the multi-process configuration, the system functions abnormally so that the basic function can be operated thereafter. A process that has ended can be disconnected.

<変形例>
上記に説明を行ったプロセス異常終了検知・通知機能では、親プロセスで検知・通知機能を実現する各手段91及び92aが動作する構成であった。このような構成の場合、シグナルによるプロセス間通信によって、異常終了を即座に検知することができる点がメリットとして挙げられる。その一方で、マルチプロセス環境における機能実装が複雑となると言うデメリットが挙げられる。
<Modification>
In the process abnormal end detection / notification function described above, each means 91 and 92a for realizing the detection / notification function in the parent process operates. In such a configuration, the advantage is that abnormal termination can be detected immediately by inter-process communication using signals. On the other hand, there is a demerit that function implementation in a multi-process environment becomes complicated.

そこで、以降に、上記機能構成より簡単な構成で機能実装を可能とする例について、図35を用いて説明する。   Therefore, hereinafter, an example in which the function can be implemented with a simpler configuration than the above functional configuration will be described with reference to FIG.

図35は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能の変形例を示す図である。   FIG. 35 is a diagram showing a modification of the detection / notification function at the time of abnormal process end according to the third embodiment of the present invention.

図35に示すように、本変形例では、アプリケーション管理ソフトウェアが動作するプロセスA32aが検知手段91及び通知手段92を有し、アプリケーション管理ソフトウェアが管理する各種アプリケーションAPが動作するプロセスB32b及びプロセスC32cそれぞれが、各プロセスの状態情報を送信する送信手段93を有する構成となっている。   As shown in FIG. 35, in the present modification, the process A 32a in which the application management software operates has a detection unit 91 and a notification unit 92, and each of the processes B 32b and C 32c in which various application APs managed by the application management software operate. However, it has the structure which has the transmission means 93 which transmits the status information of each process.

また、このような構成の場合、2つの検知・通知方法が考えられる。   In such a configuration, two detection / notification methods are conceivable.

1つ目は、プロセスA32aで動作する検知手段91が、他のプロセスに対してプロセスの状態情報の取得を定期的に要求し、各プロセスで動作する送信手段93が応答することで、他のプロセスの生存確認を行う方法、また2つ目は、他のプロセスで動作する送信手段93が、プロセスA32aに対してプロセスの状態情報(ハートビート)を定期的に送信し、プロセスA32aで動作する検知手段91が受信することで、他のプロセスの生存確認を行う方法である。   The first is that the detection means 91 operating in the process A 32a periodically requests acquisition of process status information from other processes, and the transmission means 93 operating in each process responds. A method for confirming the existence of a process, and second, a transmission means 93 operating in another process periodically transmits process state information (heartbeat) to the process A 32a and operates in the process A 32a. This is a method for confirming the existence of another process by receiving the detection means 91.

このように、本変形例では、子プロセス間のプロセス間通信により、プロセス異常終了検知・通知機能を実現している。   Thus, in this modification, the process abnormal end detection / notification function is realized by inter-process communication between child processes.

<プロセス異常終了時の検知・通知の基本処理手順について>
では、本変形例に係る情報処理装置200におけるプロセス異常終了時の検知・通知の具体的な処理手順について、拡張アプリケーションソフトウェアが動作するプロセスC32cが異常終了した場合を例に図36及び図37を用いて説明する。
<Basic processing procedure for detection and notification at abnormal process termination>
Now, with respect to a specific processing procedure for detection and notification at the time of abnormal process end in the information processing apparatus 200 according to the present modification, FIG. 36 and FIG. It explains using.

図36には、プロセスA32aが他のプロセスの状態情報を取得要求する検知・通知機能の処理手順の一例、また、図37には、他のプロセスが状態情報(ハートビート)をプロセスA32aに送信する検知・通知機能の処理手順の一例が示されている。   FIG. 36 shows an example of the processing procedure of the detection / notification function in which the process A 32a requests acquisition of status information of another process. FIG. 37 shows the status information (heartbeat) sent to the process A 32a by another process. An example of the processing procedure of the detection / notification function to be performed is shown.

<<プロセスAが他のプロセスの状態情報を取得要求する検知・通知機能の場合>>
図36は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その2)の一例を示すシーケンス図である。
<< When the process A is a detection / notification function that requests acquisition of status information of other processes >>
FIG. 36 is a sequence diagram illustrating an example of a processing procedure (part 2) for realizing the detection / notification function at the time of abnormal process end according to the third embodiment of the present invention.

本変形例に係る情報処理装置200は、プロセスA32aで動作する検知手段91によって、定期的に他のプロセスの生存確認を行う。より具体的には、検知手段91は、プロセスB32bに対して、プロセスの状態情報の取得を要求し、プロセスB32bで動作する送信手段93bが、要求に応じて状態情報を送信(応答)する(S1401b)。続いて、検知手段91は、プロセスC32cに対して、プロセスの状態情報の取得を要求し、プロセスC32cで動作する送信手段93cが、要求に応じて状態情報を送信(応答)する(S1401c)。   The information processing apparatus 200 according to the present modification periodically checks the existence of other processes by the detection unit 91 operating in the process A 32a. More specifically, the detection unit 91 requests the process B 32b to acquire process state information, and the transmission unit 93b operating in the process B 32b transmits (responds) the state information in response to the request ( S1401b). Subsequently, the detection unit 91 requests the process C32c to acquire process state information, and the transmission unit 93c operating in the process C32c transmits (responses) the state information in response to the request (S1401c).

上記状態情報取得要求の中で、検知手段91は、他のプロセスからの応答結果に基づいて、プロセスの異常終了を検知する(S1402)。例えば、プロセスC32cが異常終了している場合には、状態情報取得要求に対して応答ができないことから、検知手段91は、情報取得要求に対して応答のなかったプロセスを異常終了したものと判断し検知する。また子プロセス間のプロセス間通信エラーを基に検知しても良い。   In the status information acquisition request, the detection unit 91 detects the abnormal end of the process based on the response result from another process (S1402). For example, when the process C32c is abnormally terminated, it is impossible to respond to the status information acquisition request. Therefore, the detection unit 91 determines that the process that did not respond to the information acquisition request is abnormally terminated. Detect. Moreover, you may detect based on the communication error between processes between child processes.

以降のS1403〜S1406は、図33のS1302〜S1307の処理手順と同様であり、検知手段91からの検知結果を受けて、通知手段92が、アプリケーション管理ソフトウェアが有する全てのコンポーネントに、その旨を通知する。   Subsequent steps S1403 to S1406 are the same as the processing procedures of steps S1302 to S1307 in FIG. 33. Upon receiving the detection result from the detection unit 91, the notification unit 92 informs all the components included in the application management software to that effect. Notice.

<<他のプロセスが状態情報(ハートビート)をプロセスAに送信する検知・通知機能の場合>>
図37は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その3)の一例を示すシーケンス図である。
<< For the detection / notification function in which another process sends status information (heartbeat) to process A >>
FIG. 37 is a sequence diagram illustrating an example of a processing procedure (part 3) for realizing the detection / notification function at the time of abnormal process end according to the third embodiment of the present invention.

本変形例に係る情報処理装置200は、プロセスB32bで動作する送信手段93b及びプロセスC32cで動作する送信手段93cによって、定期的にプロセスの状態情報(ハートビート)がプロセスA32aに送信される。より具体的には、送信手段93は、一定間隔で自身が動作するプロセス(プロセスB32b及びプロセスC32c)の状態情報(ハートビート)を取得し(S1501b及びS1501c)、プロセスA32aに送信する(S1502b及びS1502c)。その結果、これらの状態情報(ハートビート)は、プロセスA32aで動作する検知手段91により受信される。   In the information processing apparatus 200 according to the present modification, process state information (heartbeat) is periodically transmitted to the process A 32a by the transmission unit 93b operating in the process B32b and the transmission unit 93c operating in the process C32c. More specifically, the transmission means 93 acquires the state information (heartbeat) of the processes (process B32b and process C32c) that it operates at regular intervals (S1501b and S1501c), and transmits it to the process A32a (S1502b and S1502c). As a result, the state information (heartbeat) is received by the detection unit 91 operating in the process A 32a.

上記状態情報送信の中で、検知手段91は、他のプロセスからの受信結果に基づいて、プロセスの異常終了を検知する(S1503)。例えば、プロセスC32cが異常終了している場合には、一定間隔で状態情報(ハートビート)が送信できないことから、検知手段91は、一定時間経過してもプロセスの状態情報(ハートビート)を受信できなかったプロセスを異常終了したものと判断し検知する。   During the transmission of the status information, the detection unit 91 detects the abnormal termination of the process based on the reception result from another process (S1503). For example, if the process C32c is abnormally terminated, the status information (heartbeat) cannot be transmitted at regular intervals, so the detection unit 91 receives the process status information (heartbeat) even after a certain period of time. A process that could not be performed is determined to have ended abnormally and detected.

以降のS1504〜S1507は、図33のS1302〜S1307の処理手順と同様であり、検知手段91からの検知結果を受けて、通知手段92が、アプリケーション管理ソフトウェアが有する全てのコンポーネントに、その旨を通知する。   Subsequent steps S1504 to S1507 are the same as the processing procedure of steps S1302 to S1307 in FIG. 33. Upon receiving the detection result from the detection unit 91, the notification unit 92 informs all the components included in the application management software to that effect. Notice.

<プロセス異常終了時の操作画面>
また、上記変形例を含む本実施形態では、ローカルUI部302が、通知手段92から異常終了を検知した旨の通知を受け取ると、例えば図38に示すような画面Wが、本実施形態に係る情報処理装置200が有する出力装置I/F17を介して接続される表示装置に表示される。
<Operation screen when process ends abnormally>
Further, in the present embodiment including the above-described modification, when the local UI unit 302 receives a notification that the abnormal end has been detected from the notification unit 92, for example, a screen W as illustrated in FIG. 38 is related to the present embodiment. The information is displayed on a display device connected via the output device I / F 17 included in the information processing device 200.

図38は、本発明の第3の実施形態に係るアプリケーション管理UIの表示画面Wの一例を示す図である。なお、図38でも、これまでの説明と同様にプロセスC32cが異常終了した場合の例が示されている。   FIG. 38 is a diagram showing an example of the display screen W of the application management UI according to the third embodiment of the present invention. FIG. 38 also shows an example in which the process C32c ends abnormally as in the above description.

図38に示す表示画面Wは、アプリケーション管理UIにより表示される。アプリケーション管理UIは、ローカルUI部302と同様、プロセスA32aのユーザインタフェース層101に配置される。プロセス異常終了を受け付けたローカルUI部302は、アプリケーション管理UIに画面生成要求を行い、アプリケーション管理UIが要求に応じてUI要素を生成し、生成したUI要素をローカルUI部302へ返す。このように、第1の実施形態において説明を行ったアプリケーションAPのUI表示と同様の手順により表示される。   A display screen W shown in FIG. 38 is displayed by the application management UI. Similar to the local UI unit 302, the application management UI is arranged in the user interface layer 101 of the process A 32a. The local UI unit 302 that has received the abnormal process end makes a screen generation request to the application management UI, the application management UI generates a UI element in response to the request, and returns the generated UI element to the local UI unit 302. In this way, the display is performed in the same procedure as the UI display of the application AP described in the first embodiment.

図38の(a)には、情報処理装置200にインストールされた各種アプリケーションAPの一覧表示画面Wが示されている。   FIG. 38A shows a list display screen W for various applications AP installed in the information processing apparatus 200.

各種アプリケーションAPの一覧表示には、アプリケーションの状態(有効:○/無効:−)、アプリケーションAPの名称、バージョン、更新日時、動作するプロセスなどの各種情報項目が含まれる。   The list display of the various application APs includes various information items such as the application status (valid: ○ / invalid:-), application AP name, version, update date and time, and operating process.

また、この一覧表示領域には、アプリケーションの有効化/無効化を選択設定するボタン、アプリケーションの更新(再インストール)を指示するボタン、及びアプリケーションの削除(アンインストール)を指示するボタンなどの複数種のアクションボタンが用意されており、ユーザは、これらアクションボタンを選択することにより、上記設定、更新、及び削除の動作を実行させることができる。   The list display area includes a plurality of types of buttons, such as a button for selecting / setting application validation / invalidation, a button for instructing application update (reinstallation), and a button for instructing application deletion (uninstallation). The action buttons are prepared, and the user can execute the setting, updating, and deletion operations by selecting these action buttons.

例えば、ユーザが、アプリケーション名「Print」のアクションボタン[有効化]を選択すると、「Print」の状態が、無効から有効へ変更される。   For example, when the user selects the action button [validate] with the application name “Print”, the status of “Print” is changed from invalid to valid.

更に、同画面Wでは、各種アプリケーションAPが動作するプロセスの有効化/無効化を選択設定する操作領域が用意されており、ユーザは、プロセス単位で有効/無効を設定することができる。   Further, on the screen W, an operation area for selectively enabling / disabling processes in which various application APs operate is prepared, and the user can set enable / disable for each process.

例えば、ユーザが、プロセス名「プロセスB」の有効ボタンを選択すると、「プロセスB」の状態が、無効から有効へと変更される。   For example, when the user selects a valid button with the process name “process B”, the state of “process B” is changed from invalid to valid.

また、各種アプリケーションAPの一覧表示の中で、表示される情報項目の「状態」には、プロセスの異常終了の直前に実行されたリクエストに対応するアプリケーションAPが分かるように表示される。   In the list display of various application APs, the “status” of the displayed information item is displayed so that the application AP corresponding to the request executed immediately before the abnormal termination of the process can be seen.

図中では、プロセスC32cが異常終了していることから、該当する複数のアプリケーションAPの状態[×]が表示されている。図中の[×]は、異常終了したプロセスで動作していたアプリケーションAPを示している。また、図中の[×××]は、異常終了の直前に実行していたアプリケーションAPを示している。   In the figure, since the process C32c has ended abnormally, the statuses [x] of the corresponding application APs are displayed. [X] in the figure indicates an application AP that was operating in a process that ended abnormally. [Xxx] in the figure indicates an application AP that was executed immediately before abnormal termination.

異常終了の直前に実行されたアプリケーションAPへのリクエストが、異常終了の原因である可能性が高い。そのため、異常終了したプロセスにおいて、直前に実行されたアプリケーションAPとそれ以外のアプリケーションAPとを異なる態様で表示することにより、原因の特定に役立てることができ、特定したアプリケーションAPを、アクションボタンを選択することで、無効化又は削除(アンインストール)することができる。   A request to the application AP executed just before the abnormal termination is likely to cause the abnormal termination. Therefore, by displaying the application AP executed immediately before and the other application AP in different modes in the abnormally terminated process, it can be useful for identifying the cause. Select the action button for the identified application AP By doing so, it can be invalidated or deleted (uninstalled).

以上のように、上記表示画面Wを介して、異常終了したプロセスへの対応を簡便に行うことができ、マルチプロセス環境を安定した状態に復帰することができる。   As described above, it is possible to easily deal with abnormally terminated processes via the display screen W, and it is possible to return the multi-process environment to a stable state.

図38の(b)には、検知したプロセス異常終了の通知と無効化を促す表示画面Wが示されている。このような、簡易な表示画面Wで、異常終了したプロセスを無効にするようにしても良い。   FIG. 38 (b) shows a display screen W prompting the notification and invalidation of the detected abnormal process. Such a simple display screen W may be used to invalidate a process that has ended abnormally.

また、上記表示画面Wを介して、異常終了したプロセスが無効にされたり、異常終了の原因となったアプリケーションAPがアンインストールされたりした場合には、マルチプロセス環境を自動的にリブート(再起動)するようにしても良い。   In addition, if a process that terminated abnormally is disabled or the application AP that caused the abnormal termination is uninstalled via the display screen W, the multi-process environment is automatically rebooted (restarted). ).

<まとめ>
以上のように、本発明の第3の実施形態によれば、本実施形態に係る情報処理装置200は、アプリケーション管理ソフトウェアで管理される各種アプリケーションAPが動作するプロセスの異常終了を検知し、その検知結果に基づき、アプリケーション管理ソフトウェアが、自身が有する全てのコンポーネントにその旨を通知し、各コンポーネントにより、正常に動作していないアプリケーションAPが、他のアプリケーションAPの動作に影響しないように、異常終了したプロセスで動作するアプリケーションAPに関する各種管理情報の整合をとり、アプリケーション管理を行う。
<Summary>
As described above, according to the third embodiment of the present invention, the information processing apparatus 200 according to the present embodiment detects abnormal termination of a process in which various application APs managed by application management software operate, and Based on the detection results, the application management software notifies all the components that it has, and each component is abnormal so that application APs that are not operating normally do not affect the operation of other application APs. Align various management information related to application APs that operate in the terminated process, and perform application management.

よって、本実施形態に係る情報処理装置200では、第1及び第2の実施形態と同じを奏することができるとともに、マルチプロセス化において、拡張機能が動作するプロセスが異常終了した場合に、その後も基本機能の動作を可能とするために、システムから異常終了したプロセスを切り離すことができる。   Therefore, in the information processing apparatus 200 according to the present embodiment, the same processing as in the first and second embodiments can be performed, and when the process in which the extended function operates is abnormally terminated in the multi-process, In order to enable basic functions to operate, processes that have terminated abnormally can be disconnected from the system.

なお、上記第3の実施形態では、アプリケーション管理、基本機能、及び拡張機能が、それぞれ異なる3つのプロセスで動作する構成を、プロセス異常終了検知・通知機能が動作するマルチプロセス環境の一例として挙げたが、第2の実施形態において説明を行った2つのプロセスで動作する構成においても本機能が適用可能であることは言うまでもない。   In the third embodiment, the configuration in which the application management, basic function, and extended function operate in three different processes is given as an example of a multi-process environment in which the process abnormal termination detection / notification function operates. However, it goes without saying that this function can also be applied to a configuration that operates in the two processes described in the second embodiment.

これまでに説明を行ってきた上記各実施形態に係る情報処理装置200が有する機能は、動作環境(プラットフォーム)にあったプログラミング言語で、図17〜22、図24〜26において説明した各処理手順をコード化したアプリケーション実行プログラムを、コンピュータで実行することにより実現する。よって、上記各実施形態に係るアプリケーション実行プログラムは、コンピュータが読み取り可能な記憶媒体に格納することができる。   The functions of the information processing apparatus 200 according to each of the embodiments described so far are programming languages suitable for the operating environment (platform), and each processing procedure described in FIGS. 17 to 22 and FIGS. This is realized by executing an application execution program that encodes the above in a computer. Therefore, the application execution program according to each of the above embodiments can be stored in a computer-readable storage medium.

また、第1の実施形態に係る画像処理装置100は、図1及び図6に示したように、原稿を画像データとして読み取るスキャナ部22と、画像データを紙に印刷する印刷部21と、第1及び第2の実施形態において説明を行った情報処理装置200とから構成されていることから、上記各実施形態において説明を行った情報処理装置200と同様の効果を奏することができる。   As shown in FIGS. 1 and 6, the image processing apparatus 100 according to the first embodiment includes a scanner unit 22 that reads a document as image data, a printing unit 21 that prints image data on paper, Since the information processing apparatus 200 described in the first and second embodiments is configured, the same effects as those of the information processing apparatus 200 described in each of the above embodiments can be obtained.

また、上記各実施形態において、実行手段51により実行されるプロセスについて説明を行ってきたが、本発明は、起動されるプロセスの数に限定されるものではない。すなわち、アプリケーション管理用プロセスA32aと、1つ以上のアプリケーション用プロセスとが実行される構成であれば良い。   In the above embodiments, the processes executed by the execution unit 51 have been described. However, the present invention is not limited to the number of processes to be started. That is, any configuration may be employed as long as the application management process A 32a and one or more application processes are executed.

最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。   Finally, the present invention is not limited to the requirements shown here, such as combinations of other elements with the shapes listed in the above embodiments. With respect to these points, the present invention can be changed within a range that does not detract from the gist of the present invention, and can be appropriately determined according to the application form.

本発明の第1の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the image processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る画像処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software configuration of the image processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るパイプ&フィルタの概念及びフィルタの構成要素の一例を示す図である。It is a figure which shows an example of the concept of the pipe & filter which concerns on the 1st Embodiment of this invention, and the component of a filter. 本発明の第1の実施形態に係る画像処理装置の基本処理手順(その1)の一例を示すフローチャートである。6 is a flowchart illustrating an example of a basic processing procedure (part 1) of the image processing apparatus according to the first embodiment of the present invention. 本発明の第1の実施形態に係る画像処理装置の基本処理手順(その2)の一例を示すフローチャートである。It is a flowchart which shows an example of the basic processing procedure (the 2) of the image processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るプロセス構成の一例を示す図である。It is a figure which shows an example of the process structure which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。It is a figure which shows an example which arrange | positions each layer which concerns on the 1st Embodiment of this invention in a process. 本発明の第1の実施形態に係る各アクティビティ及びフィルタをプロセスに配置する一例を示す図である。It is a figure which shows an example which arrange | positions each activity and filter which concern on the 1st Embodiment of this invention in a process. 本発明の第1の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。It is a figure which shows an example of the main function structures of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る代理コンポーネントの仕組みの一例を示す図である。It is a figure which shows an example of the mechanism of the proxy component which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。It is a figure which shows an example (in the case of activity intensive type) which arrange | positions the component which belongs to each layer which concerns on the 1st Embodiment of this invention to a process. 本発明の第1の実施形態に係る動作するプロセスの判別方法(アクティビティ選択方法)の一例を示す図である。It is a figure which shows an example of the determination method (activity selection method) of the process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るアクティビティとアクティビティを実行するプロセスとが対応付けられたデータの一例を示す図である。It is a figure which shows an example of the data with which the activity which concerns on the 1st Embodiment of this invention and the process which performs activity were matched. 本発明の第1の実施形態に係るUIとUIを生成するプロセスとが対応付けられたデータの一例を示す図である。It is a figure which shows an example of the data which matched UI which concerns on the 1st Embodiment of this invention, and the process which produces | generates UI. 本発明の第1の実施形態に係るリクエストとリクエストを生成するプロセスとが対応付けられたデータの一例を示す図である。It is a figure which shows an example of the data which matched the request which concerns on the 1st Embodiment of this invention, and the process which produces | generates a request. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。It is a figure which shows an example of the process sequence (the 1: activity selection) when implement | achieving the copy function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。It is a figure which shows an example of the process sequence (the 2: setting change) when implement | achieving the copy function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。It is a figure which shows an example of the process sequence (the 3: request execution) when implement | achieving the copy function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。It is a figure which shows an example of the process sequence (the 1: activity selection) when implement | achieving the 3rd vendor application function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。It is a figure which shows an example of the process sequence (the part 2: setting change) when implement | achieving the application function made by the third vendor concerning the 1st Embodiment of this invention. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。It is a figure which shows an example of the process sequence (the 3rd: request execution) when implement | achieving the 3rd vendor application function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。It is a figure which shows an example (in the case of filter aggregation type) which arrange | positions the component which belongs to each layer which concerns on the 1st Embodiment of this invention to a process. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その4:アクティビティ選択)の一例を示す図である。It is a figure which shows an example of the process sequence (the 4: activity selection) when implement | achieving the application function made by a 3rd vendor concerning the 1st Embodiment of this invention. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その5:設定変更)の一例を示す図である。It is a figure which shows an example of the process sequence (the 5: setting change) when implement | achieving the 3rd vendor application function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その6:リクエスト実行)の一例を示す図である。It is a figure which shows an example of the process sequence (the 6: request execution) when implement | achieving the 3rd vendor application function which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るプロセス構成の一例を示す図である。It is a figure which shows an example of the process structure which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。It is a figure which shows an example which arrange | positions each layer which concerns on the 2nd Embodiment of this invention to a process. 本発明の第2の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。It is a figure which shows an example of the main function structures of the information processing apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。It is a figure which shows an example (in the case of activity intensive type) which arrange | positions the component which belongs to each layer which concerns on the 2nd Embodiment of this invention to a process. 本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。It is a figure which shows an example (in the case of filter aggregation type) which arrange | positions the component which belongs to each layer which concerns on the 2nd Embodiment of this invention to a process. 本発明の第3の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。It is a figure which shows an example of the main function structures of the information processing apparatus which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その1)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence (the 1) when implement | achieving the detection and notification function at the time of abnormal process end which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るプロセス異常終了に対応して整合された各種データの一例を示す図である。It is a figure which shows an example of the various data matched corresponding to the process abnormal end which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能の変形例を示す図である。It is a figure which shows the modification of the detection and notification function at the time of process abnormal end which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その2)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence (the 2) when implement | achieving the detection and notification function at the time of the process abnormal end which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その3)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence (the 3) when implement | achieving the detection and notification function at the time of the process abnormal end which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るアプリケーション管理UIの表示画面の一例を示す図である。It is a figure which shows an example of the display screen of application management UI which concerns on the 3rd Embodiment of this invention.

符号の説明Explanation of symbols

11 制御部(CPU)
12 主記憶部(ROM,RAM)
13 補助記憶部(HD)
14 ネットワークI/F
15 外部記憶装置I/F
16 外部装置I/F
17 出力装置I/F
18 入力装置I/F
19 表示部(パネル表示)
20 入力部(操作部)
21 印刷部(プロッタ部)
22 スキャナ部(原稿読み取り部)
31 OS(基本ソフトウェア)
32a プロセスA(第1のプロセス)
32b プロセスB(第2のプロセス)
32c プロセスC(第3のプロセス)
41 アプリケーション識別情報とプロセス識別情報とを関連付ける情報
42 画面要素識別情報とプロセス識別情報とを関連付ける情報
43 実行要求識別情報とプロセス識別情報とを関連付ける情報
51 実行手段
61 動作要求送信手段
62 動作設定送信手段
63 実行要求管理手段
71 代理コンポーネント(ソフトウェア部品)
81 基本アプリケーション(自社製アプリケーション)
82 拡張アプリケーション(サードベンダ製アプリケーション)
91 検知手段
92 通知手段
93 送信手段
100 画像処理装置
101 ユーザインタフェース層
102 コントロール層
103 アプリケーションロジック層
103a 入力手段(入力フィルタ)
103b 加工手段(変換フィルタ)
103c 出力手段(出力フィルタ)
104 デバイスサービス層
105 デバイス制御層
106 アスペクト
200 情報処理装置
301 通信サーバ部
302 ローカルUI部
303 コントロール部
304 読取フィルタ
305 文書加工フィルタ
306 印刷フィルタ
307 画像パイプ
308 データ管理部
309 スキャナ制御部
310 プロッタ制御部
311 メモリ制御部
312 操作デバイス制御部
401 コピーアクティビティUI
402 読み取りフィルタUI
403 印刷フィルタUI
405 ベンダアクティビティUI
406 ベンダ(入力)フィルタUI
501 コピーアクティビティロジック
502 読み取りフィルタロジック
503 印刷フィルタロジック
505 ベンダアクティビティロジック
506 ベンダ(入力)フィルタロジック
A アクティビティ(1:アクティビティ1, 2:アクティビティ)
AP アプリケーション(1:アプリケーション1, 2:アプリケーション2)
F フィルタ(a:フィルタA, b:フィルタB, c:フィルタC)
FW フレームワーク
P パイプ
W 表示画面
11 Control unit (CPU)
12 Main memory (ROM, RAM)
13 Auxiliary memory (HD)
14 Network I / F
15 External storage device I / F
16 External device I / F
17 Output device I / F
18 Input device I / F
19 Display (panel display)
20 Input unit (operation unit)
21 Printing section (plotter section)
22 Scanner section (original reading section)
31 OS (basic software)
32a Process A (first process)
32b Process B (second process)
32c Process C (Third process)
41 Information for associating application identification information with process identification information 42 Information for associating screen element identification information with process identification information 43 Information for associating execution request identification information with process identification information 51 Execution means 61 Operation request transmission means 62 Operation setting transmission Means 63 Execution request management means 71 Proxy component (software component)
81 Basic application (in-house application)
82 Extended application (third-party vendor application)
91 Detection means 92 Notification means 93 Transmission means 100 Image processing apparatus 101 User interface layer 102 Control layer 103 Application logic layer 103a Input means (input filter)
103b Processing means (conversion filter)
103c Output means (output filter)
104 device service layer 105 device control layer 106 aspect 200 information processing apparatus 301 communication server unit 302 local UI unit 303 control unit 304 reading filter 305 document processing filter 306 print filter 307 image pipe 308 data management unit 309 scanner control unit 310 plotter control unit 311 Memory control unit 312 Operation device control unit 401 Copy activity UI
402 Read filter UI
403 Print Filter UI
405 Vendor Activity UI
406 Vendor (input) filter UI
501 Copy Activity Logic 502 Read Filter Logic 503 Print Filter Logic 505 Vendor Activity Logic 506 Vendor (Input) Filter Logic A Activity (1: Activity 1, 2: Activity)
AP application (1: application 1, 2: application 2)
F Filter (a: Filter A, b: Filter B, c: Filter C)
FW Framework P Pipe W Display screen

Claims (29)

データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、
前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェアを動作させる第1のプロセスと、
当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第2のプロセスと、
当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第3のプロセスとを有し、
更に、前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセスを実行する実行手段を有することを特徴とする情報処理装置。
An input unit that inputs data, a processing unit that processes data, and an output unit that outputs data; and by operating the input unit, the processing unit, and the output unit in cooperation with each other, An information processing apparatus that realizes a function of an application,
A first process for operating application management software for managing startup and termination of the application;
A second process for operating basic application software for realizing the basic functions of the information processing apparatus;
A third process for operating extended application software that realizes an extended function added to the information processing apparatus,
The information processing apparatus further comprises execution means for executing the first process, the second process, and the third process.
データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、
前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェア、及び当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第1のプロセスと、
当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第2のプロセスとを有し、
更に、前記第1のプロセス及び前記第2のプロセスを実行する実行手段を有することを特徴とする情報処理装置。
An input unit that inputs data, a processing unit that processes data, and an output unit that outputs data; and by operating the input unit, the processing unit, and the output unit in cooperation with each other, An information processing apparatus that realizes a function of an application,
Application management software for managing the activation and termination of the application, and a first process for operating basic application software for realizing basic functions of the information processing apparatus;
A second process for operating extended application software that realizes an extended function added to the information processing apparatus,
The information processing apparatus further comprises execution means for executing the first process and the second process.
所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段は、
同一プロセスで動作することを特徴とする請求項1又は2に記載の情報処理装置。
The input means, the processing means, and the output means that operate to realize a function of a predetermined application,
The information processing apparatus according to claim 1, wherein the information processing apparatus operates in the same process.
所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段は、
それぞれが特定の単一プロセスで動作することを特徴とする請求項1又は2に記載の情報処理装置。
The input means, the processing means, and the output means that operate to realize a function of a predetermined application,
The information processing apparatus according to claim 1, wherein each of the information processing apparatuses operates in a specific single process.
前記アプリケーションに対して、前記アプリケーション管理ソフトウェアと前記アプリケーションとの間で行うデータのやり取りと同じ振る舞いをするソフトウェア部品を有し、
前記ソフトウェア部品は、
前記アプリケーションと同じプロセスで動作することを特徴とする請求項1ないし4のいずれか一項に記載の情報処理装置。
For the application, having a software component that behaves the same as the exchange of data performed between the application management software and the application,
The software component is
5. The information processing apparatus according to claim 1, wherein the information processing apparatus operates in the same process as the application.
動作させる前記アプリケーションの選択指示を受け付けたときに、
前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記アプリケーション識別情報から特定したプロセスに対して、動作要求を送信する動作要求送信手段を有することを特徴とする請求項1ないし5のいずれか一項に記載の情報処理装置。
When receiving an instruction to select the application to be operated,
Operation request transmission for transmitting an operation request to a process specified from the application identification information based on information associating application identification information for identifying the application with process identification information for identifying a process in which the application operates 6. The information processing apparatus according to claim 1, further comprising: means.
前記アプリケーションの動作設定要求を受け付けたときに、
前記アプリケーションごとの前記動作設定要求に対応するユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記画面要素識別情報から特定したプロセスに対して、前記動作設定要求を送信する動作設定要求送信手段を有することを特徴とする請求項1ないし6のいずれか一項に記載の情報処理装置。
When receiving the operation setting request of the application,
The screen element based on information associating screen element identification information for identifying a screen element constituting a user interface corresponding to the operation setting request for each application and process identification information for identifying a process in which the application operates The information processing apparatus according to claim 1, further comprising an operation setting request transmission unit configured to transmit the operation setting request to a process specified from the identification information.
前記アプリケーションの実行要求を受け付けたときに、
前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記実行要求識別情報から特定したプロセスに対して前記実行要求を送信し、前記アプリケーションに実行開始を指示する実行要求管理手段を有することを特徴とする請求項1ないし7のいずれか一項に記載の情報処理装置。
When an execution request for the application is received,
Based on information associating execution request identification information for identifying the execution request with process identification information for identifying a process in which the application to be executed is executed, the execution for the process identified from the execution request identification information The information processing apparatus according to claim 1, further comprising an execution request management unit that transmits a request and instructs the application to start execution.
前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスが異常終了したことを検知する検知手段と、
前記検知手段により検知されたプロセス異常終了を前記アプリケーション管理ソフトウェアが動作するプロセスに通知する通知手段とを有することを特徴とする請求項1ないし8のいずれか一項に記載の情報処理装置。
Detection means for detecting that a process other than the process in which the application management software operates has ended abnormally;
The information processing apparatus according to claim 1, further comprising a notification unit configured to notify the process in which the application management software operates of the abnormal process detected by the detection unit.
前記検知手段及び前記通知手段は、
前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセス、又は、前記第1のプロセス及び前記第2のプロセスを生成した親プロセスで動作することを特徴とする請求項9に記載の情報処理装置。
The detection means and the notification means are:
The operation according to claim 9, wherein the first process, the second process, and the third process, or a parent process that generates the first process and the second process are operated. Information processing device.
前記検知手段は、
子プロセスにあたる前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセス終了によるシグナルを受信することで、プロセスの異常終了を検知することを特徴とする請求項10に記載の情報処理装置。
The detection means includes
The information processing apparatus according to claim 10, wherein an abnormal termination of a process is detected by receiving a signal due to termination of a process other than a process in which the application management software operating as a child process operates.
前記検知手段及び前記通知手段は、
前記第1のプロセスで動作することを特徴とする請求項9に記載の情報処理装置。
The detection means and the notification means are:
The information processing apparatus according to claim 9, wherein the information processing apparatus operates in the first process.
前記検知手段は、
前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスに対して、プロセスの状態を示す状態情報の取得を要求し、要求への応答があるか否かに基づき、プロセスの異常終了を検知することを特徴とする請求項12に記載の情報処理装置。
The detection means includes
A process other than the process in which the application management software operates is requested to acquire status information indicating the status of the process, and abnormal termination of the process is detected based on whether there is a response to the request. The information processing apparatus according to claim 12.
前記検知手段は、
前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスから送信されるプロセスの状態を示す状態情報を受信したか否かに基づき、プロセスの異常終了を検知することを特徴とする請求項12に記載の情報処理装置。
The detection means includes
13. The information according to claim 12, wherein abnormal termination of a process is detected based on whether or not status information indicating a status of a process transmitted from a process other than the process in which the application management software operates is received. Processing equipment.
前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、
前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで動作するアプリケーションのアプリケーション識別情報を削除することを特徴とする請求項9ないし14のいずれか一項に記載の情報処理装置。
When the process in which the application management software operates receives a process abnormal end notification by the notification unit,
The component included in the application management software includes application identification information of an application that operates in an abnormally terminated process, from information that associates application identification information that identifies the application with process identification information that identifies a process in which the application operates. The information processing apparatus according to claim 9, wherein the information processing apparatus is deleted.
前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、
前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションごとの前記動作設定要求に対応するユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された画面要素の画面要素識別情報を削除することを特徴とする請求項9ないし15のいずれか一項に記載の情報処理装置。
When the process in which the application management software operates receives a process abnormal end notification by the notification unit,
The component included in the application management software includes screen element identification information for identifying a screen element constituting a user interface corresponding to the operation setting request for each application, and process identification information for identifying a process in which the application operates. The information processing apparatus according to any one of claims 9 to 15, wherein the screen element identification information of the screen element generated by the abnormally terminated process is deleted from the associated information.
前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、
前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された実行要求の実行要求識別情報を削除することを特徴とする請求項9ないし16のいずれか一項に記載の情報処理装置。
When the process in which the application management software operates receives a process abnormal end notification by the notification unit,
A component included in the application management software is generated by an abnormally terminated process from information that associates execution request identification information that identifies the execution request and process identification information that identifies a process in which the application to be executed operates. The information processing apparatus according to claim 9, wherein the execution request identification information of the execution request is deleted.
前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、
異常終了したプロセスで動作していたアプリケーションのうち、
プロセスが異常終了する直前に動作していたアプリケーションと、それ以外のアプリケーションとを、異なる態様で表示することを特徴とする請求項9ないし17のいずれか一項に記載の情報処理装置。
When the process in which the application management software operates receives a process abnormal end notification by the notification unit,
Of the applications that were running in abnormally terminated processes,
The information processing apparatus according to any one of claims 9 to 17, wherein an application that has been operating immediately before the process ends abnormally and another application are displayed in different modes.
異常終了したプロセスの有効化/無効化を選択設定する画面を表示することを特徴とする請求項9ないし18のいずれか一項に記載の情報処理装置。   19. The information processing apparatus according to claim 9, wherein a screen for selecting and setting validation / invalidation of an abnormally terminated process is displayed. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、
異常終了したプロセスを無効に設定することを特徴とする請求項9ないし19のいずれか一項に記載の情報処理装置。
When the process in which the application management software operates receives a process abnormal end notification by the notification unit,
The information processing apparatus according to claim 9, wherein the abnormally terminated process is set to be invalid.
原稿を画像データとして読み取る原稿読み取り装置と、
画像データを紙に印刷する印刷装置と、
請求項1ないし20のいずれか一項に記載の情報処理装置とを有することを特徴とする画像処理装置。
An original reading device for reading an original as image data;
A printing device for printing image data on paper;
An image processing apparatus comprising the information processing apparatus according to claim 1.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、
前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、
前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行することを特徴とするアプリケーション実行方法。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution method in an information processing apparatus for realizing a function of an application,
Application management software for managing startup and termination of the application;
Basic application software for realizing the basic functions of the information processing apparatus;
An application execution method, wherein extended application software that realizes an extended function added to the information processing apparatus is executed by different processes.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、
前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行することを特徴とするアプリケーション実行方法。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution method in an information processing apparatus for realizing a function of an application,
The application management software for managing the start and end of the application and the basic application software for realizing the basic functions of the information processing apparatus are executed in a first process,
An application execution method, wherein extended application software for realizing an extended function added to the information processing apparatus is executed in a second process.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、
予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、
機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行することを特徴とするアプリケーション実行方法。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution method in an information processing apparatus for realizing a function of an application,
Executing a first process in which application management software for managing activation and termination of the application operates,
The information processing apparatus has a second process in which a component program that functions as the input unit, the processing unit, and / or the output unit operates,
An application execution characterized by executing a third process in which a component program that functions as the input unit, the processing unit, and / or the output unit is added to the information processing apparatus at the time of function expansion. Method.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、
機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行することを特徴とするアプリケーション実行方法。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution method in an information processing apparatus for realizing a function of an application,
Application management software for managing the activation and termination of the application, and a first process in which the information processing apparatus has a component program that functions as the input unit, the processing unit, and / or the output unit. Run
Application execution characterized by executing a second process in which a component program functioning as the input unit, the processing unit, and / or the output unit, which is added to the information processing apparatus at the time of function expansion, operates. Method.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、
コンピュータに、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、
前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、
前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行させるアプリケーション実行プログラム。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution program in an information processing apparatus that realizes a function of an application,
On the computer,
Application management software for managing startup and termination of the application;
Basic application software for realizing the basic functions of the information processing apparatus;
An application execution program that executes extended application software that realizes an extended function added to the information processing apparatus in different processes.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、
コンピュータに、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行させ、
前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行させるアプリケーション実行プログラム。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution program in an information processing apparatus that realizes a function of an application,
On the computer,
Application management software for managing the start and end of the application, and basic application software for realizing basic functions of the information processing apparatus are executed in a first process,
An application execution program for executing, in a second process, extended application software for realizing an extended function added to the information processing apparatus.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、
コンピュータに、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行させ、
予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行させ、
機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行させるアプリケーション実行プログラム。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution program in an information processing apparatus that realizes a function of an application,
On the computer,
Executing a first process in which application management software for performing management such as activation and termination of the application operates;
Causing the information processing apparatus to execute a second process in which a component program that functions as the input unit, the processing unit, and / or the output unit operates;
An application execution program that executes a third process in which a component program that functions as the input unit, the processing unit, and / or the output unit is added to the information processing apparatus when the function is expanded.
データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プロセスであって、
コンピュータに、
前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行させ、
機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行させるアプリケーション実行プログラム。
An input unit for inputting data, a processing unit for processing data, and an output unit for outputting data, and operating the input unit, the processing unit, and the output unit in cooperation with each other. An application execution process in an information processing apparatus that realizes a function of an application,
On the computer,
Application management software for managing the activation and termination of the application, and a first process in which the information processing apparatus has a component program that functions as the input unit, the processing unit, and / or the output unit. And execute
An application execution program that executes a second process in which a component program that functions as the input unit, the processing unit, and / or the output unit is added to the information processing apparatus during function expansion.
JP2008222129A 2007-11-07 2008-08-29 Information processor, image processor, application execution method and application execution program Pending JP2009134695A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008222129A JP2009134695A (en) 2007-11-07 2008-08-29 Information processor, image processor, application execution method and application execution program
US12/263,691 US8438567B2 (en) 2007-11-07 2008-11-03 Information processing device and image processing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007290214 2007-11-07
JP2008222129A JP2009134695A (en) 2007-11-07 2008-08-29 Information processor, image processor, application execution method and application execution program

Publications (1)

Publication Number Publication Date
JP2009134695A true JP2009134695A (en) 2009-06-18

Family

ID=40866487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008222129A Pending JP2009134695A (en) 2007-11-07 2008-08-29 Information processor, image processor, application execution method and application execution program

Country Status (1)

Country Link
JP (1) JP2009134695A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086141A (en) * 2009-10-16 2011-04-28 Ricoh Co Ltd Image forming apparatus and program operating method
JP2011197827A (en) * 2010-03-17 2011-10-06 Ricoh Co Ltd Information processor, information processing method, and information processing program
JP2012212348A (en) * 2011-03-31 2012-11-01 Brother Ind Ltd Image processing program, information processing terminal device and control method for information processing terminal device
US8745640B2 (en) 2009-09-10 2014-06-03 Ricoh Company, Ltd. Integration and management apparatus, integration and management system and computer readable information recording medium
US9019539B2 (en) 2012-09-03 2015-04-28 Konica Minolta, Inc. Image data transmission apparatus, image data transmission method, and computer-readable storage medium for computer program configured to send image data to a plurality of destinations using separate methods
JP2015125740A (en) * 2013-12-27 2015-07-06 キヤノン株式会社 Information processing device, information processing method, and computer program
US9383950B2 (en) 2013-01-11 2016-07-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and process execution method
JP2020205068A (en) * 2020-08-20 2020-12-24 株式会社リコー Information processing system, information processing apparatus, information processing method, and program
EP3767464A1 (en) 2019-07-19 2021-01-20 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164582A (en) * 2002-09-24 2004-06-10 Ricoh Co Ltd Information processing apparatus and program generation method
JP2005196414A (en) * 2004-01-06 2005-07-21 Fuji Xerox Co Ltd Information processor and information processing program
JP2006277115A (en) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd Abnormality detection program and abnormality detection method
JP2006338499A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processor, image processing method, and program
JP2007201957A (en) * 2006-01-27 2007-08-09 Kyocera Mita Corp Image forming apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164582A (en) * 2002-09-24 2004-06-10 Ricoh Co Ltd Information processing apparatus and program generation method
JP2005196414A (en) * 2004-01-06 2005-07-21 Fuji Xerox Co Ltd Information processor and information processing program
JP2006277115A (en) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd Abnormality detection program and abnormality detection method
JP2006338499A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processor, image processing method, and program
JP2007201957A (en) * 2006-01-27 2007-08-09 Kyocera Mita Corp Image forming apparatus

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745640B2 (en) 2009-09-10 2014-06-03 Ricoh Company, Ltd. Integration and management apparatus, integration and management system and computer readable information recording medium
US9489219B2 (en) 2009-09-10 2016-11-08 Ricoh Company, Ltd. Integration and management apparatus, integration and management system and computer readable information recording medium
JP2011086141A (en) * 2009-10-16 2011-04-28 Ricoh Co Ltd Image forming apparatus and program operating method
JP2011197827A (en) * 2010-03-17 2011-10-06 Ricoh Co Ltd Information processor, information processing method, and information processing program
JP2012212348A (en) * 2011-03-31 2012-11-01 Brother Ind Ltd Image processing program, information processing terminal device and control method for information processing terminal device
US9019539B2 (en) 2012-09-03 2015-04-28 Konica Minolta, Inc. Image data transmission apparatus, image data transmission method, and computer-readable storage medium for computer program configured to send image data to a plurality of destinations using separate methods
US9383950B2 (en) 2013-01-11 2016-07-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and process execution method
JP2015125740A (en) * 2013-12-27 2015-07-06 キヤノン株式会社 Information processing device, information processing method, and computer program
EP3767464A1 (en) 2019-07-19 2021-01-20 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and program
US11748173B2 (en) 2019-07-19 2023-09-05 Ricoh Company, Ltd. Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP2020205068A (en) * 2020-08-20 2020-12-24 株式会社リコー Information processing system, information processing apparatus, information processing method, and program
JP2022160695A (en) * 2020-08-20 2022-10-19 株式会社リコー Information processing system, information processing apparatus, information processing method, and program
JP7173106B2 (en) 2020-08-20 2022-11-16 株式会社リコー Information processing system, information processing device, information processing method, and program
JP7444208B2 (en) 2020-08-20 2024-03-06 株式会社リコー Information processing system, information processing device, information processing method, and program

Similar Documents

Publication Publication Date Title
US8438567B2 (en) Information processing device and image processing apparatus
JP4861883B2 (en) Image forming apparatus and application execution method
JP2009134695A (en) Information processor, image processor, application execution method and application execution program
JP5724344B2 (en) Image forming apparatus, customization control method, and customization control program
JP4625343B2 (en) Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
JP5975666B2 (en) Information processing apparatus, information processing method, and program
KR101337160B1 (en) Information processing apparatus, information processing method and storage medium
JP5310246B2 (en) Information processing apparatus, information processing system, and program
KR20170033785A (en) Image processing apparatus, display control method in the image processing apparatus, and storage medium
JP2008181237A (en) Image processor and digital copying machine
JP2011124956A (en) Information processing apparatus, control method of the same, program, and storage medium
EP3471388A1 (en) Image processing apparatus, method for controlling the same, and program
JP5488014B2 (en) Information processing apparatus, deactivation processing control method, program, and storage medium
JP2004127251A (en) Output management method and information processing apparatus
JP2011124957A (en) Information processor, method to control the same, program, and memory medium
JP2008305004A (en) Image forming apparatus, application execution method, and application execution program
JP5664692B2 (en) Electronic device, image forming apparatus, information processing method, information processing program, and recording medium
WO2014136429A1 (en) Information processing apparatus and method for the same
JP2022051794A (en) Image forming apparatus and control method thereof
JP2015108939A (en) Information processing system, information processing device, information processing method and program
JP2009177828A (en) Multifunction peripheral, and apparatus and method for configuring user interface
JP2011227739A (en) Information processing device, control method and program
JP2009205262A (en) Application program installation device, application program installation method, program, and recording medium
JP6287880B2 (en) Image forming apparatus, image forming method, and image forming program
JP2012165325A (en) Image processing apparatus, screen control program and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130326