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
Grant status
Application
Patent type
Prior art keywords
process
application
processing apparatus
unit
information processing
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
弘幸 松島
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

Links

Images

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 includes an input, processing, information processing apparatus that realizes a function of an application has by causing cooperation of the functions of the output operation, the image processing apparatus, and a application execution method, and an application execution program.

近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機(MFP:Multifunction Peripheral)などの画像処理装置では、メモリなどの制限は厳しいものの、汎用的なコンピュータと同様にCPU(Central Processing Unit)を備え、各機能がアプリケーションの制御によって実現されるようになっている。 Printers, copiers, scanners, facsimile, or multifunction device for realizing these functions in a single housing in recent years: the image processing apparatus such as a (MFP Multifunction Peripheral), although restrictions such as memory tough, generic includes a similar computer CPU (Central Processing Unit), each function is to be realized by the control of the application.

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

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

また、このような画像処理装置の中には、現在、実装する環境(実装機種)などに依存しないという特徴を生かし、携帯電話や家電製品などの開発にも用いられている、Sun Microsystems社が開発したJava(登録商標)言語によって機能開発されているものもある。 In addition, some of such image processing apparatus, now, taking advantage of the features that it does not depends on the environment (implementation models) to implement, it has also been used in the development of mobile phones and consumer electronics products, Sun Microsystems, Inc. there are also those that are function developed by developed Java (registered trademark) language. また、実装する環境において、プロセスを複数に分割することでマルチプロセス化を行うことのできるプロセスベースのUNIX(登録商標)系OS(Operating System)を採用しているものもある。 Further, there is in the environment to implement, also employing a process-based which can perform multi-process of by dividing the process into multiple UNIX (registered trademark) OS (Operating System).
特許3679349号公報 Patent 3679349 No.

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

まず、1つ目は、システムの堅牢性である。 First of all, the first one is the robustness of the system. 拡張性の高い画像処理装置では、システムの基本機能を実現する自社製アプリケーションや、後に導入され拡張機能を実現する他社(以下、「サードベンダ」という。)製アプリケーションなど、様々な環境化で開発されたアプリケーションが動作する。 In scalable image processing apparatus, or house party applications to implement the basic functions of the system, introduced after other companies to implement the extension (hereinafter referred to as "third vendor".) Manufactured by applications such as the development in a variety of environments of application to work.

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

プロセスベースのOSでは、システムの堅牢性を向上させるために、適切な粒度でプロセスを分割するのが一般的である。 Process-based OS, in order to raise the robustness of the system, it is common to divide the process in a suitable granularity. しかし、Java(登録商標)言語によって開発を行う場合、単一のプロセス(JVM:Java Virtual Machine)上で複数のアプリケーションを動作させることになり、細かい粒度でプロセス(JVM)を分割するのは現実的でなく、少なくとも自社とサードベンダのアプリケーションが動作するJVMを分離することが要件となる。 However, when performing development by Java (registered trademark) language, a single process: will be operating a plurality of applications on (JVM Java Virtual Machine), the reality is to divide the process (JVM) in a fine granularity a rather specific, separating the JVM that at least its a third vendor application operates is a requirement.

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

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

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

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

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

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

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

これによって、本発明に係る情報処理装置は、システムの基本機能を実現する基本アプリケーション(自社製アプリケーション)と、追加される拡張機能を実現する拡張アプリケーション(サードベンダ製アプリケーション)とを、異なるプロセス(JVM)で動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークに相当する限定されたコンポーネント(ソフトウェア部品)で行う(マルチプロセス化の影響を隠蔽する)ことにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。 Thus, the information processing apparatus according to the present invention includes a base application to implement the basic functions of the system (-house application), and an extended application for implementing the additional Extensions (third vendors application), different processes ( is operated at JVM), further, the influence of multi-process of inter-process communication, by performing a limited component corresponding to the framework (software part) (to conceal the effects of multi-process of), multiprocessing the easily perform application customization or expansion of without awareness, defects were extensions can provide a system having the free high fastness affect basic functions of the system.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これによって、本発明に係る画像処理装置は、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有する画像処理システムを、ユーザに提供することができる。 Thus, the image processing apparatus according to the present invention, multi-process the easily perform application customization or expansion of without awareness, high defect was extensions without affecting the basic functions of the system robustness an image processing system having a, can be provided to the user.

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

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

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行することを特徴とする。 To achieve the above object, a method application execution in accordance with the present invention includes an input unit for inputting data includes a processing unit for processing the data, and an output unit for outputting data, and the input unit, the processing and parts, an application execution method in an information processing apparatus that realizes the function of one application by linking work and said output unit has the application starts the application management software to manage such termination and, characterized by performing the extended application software that a basic application software for realizing the basic function of the information processing apparatus has performed in the first process, to realize the extension to be added to the information processing apparatus in a second process to.

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポ To achieve the above object, a method application execution in accordance with the present invention includes an input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said processing unit, said output a method application execution in an information processing apparatus for realizing the parts and function of one application has by causing cooperation of the operation, the first process by the application management software operates to perform management such as starting and stopping the application is executed, the information processing apparatus has in advance, the input unit, the processing unit, and / or components program that functions as the output unit performs the second process to work, the information processing when the extension is added to the apparatus, the input unit, the processing unit, and / or component that functions as the output unit ネントプログラムが動作する第3のプロセスを実行することを特徴とする。 And executes a third process that whereof program operates.

上記目的を達成するため、本発明に係るアプリケーション実行方法は、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプ To achieve the above object, a method application execution in accordance with the present invention includes an input unit for inputting data includes a processing unit for processing the data, and an output unit for outputting data, and the input unit, the processing and parts, an application execution method in an information processing apparatus that realizes the function of one application by linking work and said output unit has the application starts the application management software to manage such termination and, the information processing apparatus has in advance, the input unit, the processing unit, and / or executing a first process in which the component program operates to function as the output unit, is added to the information processing device when the extension that, the input unit, the component-flop functioning as the processing unit, and / or the output section グラムが動作する第2のプロセスを実行することを特徴とする。 And executes a second process which grams operates.

これによって、本発明に係るアプリケーション実行方法は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させ、更に、プロセス間通信などのマルチプロセス化の影響を、フレームワークに相当する限定されたコンポーネントで行うことにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。 Thereby, the method application execution in accordance with the present invention includes a base application to implement the basic functions of the system, and an extended application for implementing the additional Extensions to operate in a different process, further, the multi such interprocess communication the influence of the process of, by performing a limited component corresponding to the framework, multi-process the easily perform application customization or expansion of without concern, impact failure of the extension to the basic functions of the system it is possible to provide a system with the free high fastness to exert.

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行する。 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 the data, and an output unit for outputting data, said processing unit, said output an application execution program in the information processing apparatus to realize the function of one application by which cooperation between part operation, a computer, and the application management software to manage such starting and stopping the application, the information basic application software for realizing the basic functions of the processing device has, and an expansion application software for realizing the extensions to be added to the information processing apparatus, each running in a different process.

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行する。 To achieve the above object, an application execution program according to the present invention includes an input unit for inputting data includes a processing unit for processing the data, and an output unit for outputting data, and the input unit, the processing parts and an application execution program in the information processing apparatus to realize the function of one application by linking work and said output unit, the application management on a computer, performs the management such as starting and stopping the application software, and the basic application software for realizing the basic function of the information processing apparatus has performed in the first process, performing an advanced application software for realizing the extensions to be added to the information processing apparatus in a second process .

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前 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 the data, and an output unit for outputting data, said processing unit, said output an application execution program in the information processing apparatus to realize the function of one application by which cooperation between part operation, the computer, the operating application management software to manage such starting and stopping of the application perform first process, the information processing apparatus has in advance, the input unit, the processing unit, and / or the running second process component programs that function as an output unit is operated, when the extension It is added to the information processing apparatus, the input unit, the processing unit, and / or before 出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行する。 Performing a third process a component program which functions as an output unit is operated.

上記目的を達成するため、本発明に係るアプリケーション実行プログラムは、データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プロセスであって、コンピュータで、前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコン 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 the data, and an output unit for outputting data, said processing unit, said output an application execution process in the information processing apparatus to realize the parts and function of one application has by causing cooperation operation, computer, the application starts the application management software for managing and end, as well as advance the the information processing apparatus has the input unit, the processing unit, and / or components program that functions as the output unit performs the first process to work, is added to the information processing device when the extension, the input unit, the processing unit, and / or composition that functions as the output unit ーネントプログラムが動作する第2のプロセスを実行する。 Over whereof program executes a second process running.

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

本発明によれば、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを備える情報処理装置、画像処理装置、アプリケーション実行方法、及びアプリケーション実行プログラムを提供することができる。 According to the present invention, multi-process the easily perform application customization or expansion of without concern, information defects were extensions comprise a system having a high fastness without affecting the basic functions of the system processing apparatus, image processing apparatus, it is possible to provide an application execution method, and an application execution program.

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

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

図1は、本発明の第1の実施形態に係る画像処理装置100のハードウェア構成の一例を示す図である。 Figure 1 is a diagram showing an example of a hardware configuration of the 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 / F14, the external storage device I / F15, the external device I / F16, the display unit (panel display ) 19, an input unit (operation unit) 20 is constituted by a printing unit (plotter) 21 and a scanner unit (document reading unit) 22.

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

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

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

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

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

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

画像処理装置100は、これらのインタフェースを介して、外部と各種データ(例えば、画像データなど。)のやり取り(送受信や読み込み/書き込み)を行っている。 The image processing apparatus 100 via these interfaces, is carried out outside and various data (e.g., image data.) Exchange (send and receive or read / write).

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

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

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

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

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

図2は、本発明の第1の実施形態に係る画像処理装置100のソフトウェア構成の一例を示す図である。 Figure 2 is a diagram showing 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, the user interface layer 101, a control layer 102, the application logic layer 103, and is configured of a device service layer 104 and a device control layer 105. なお、図中における各層の上下関係は、基本的に上にある層が下の層を呼び出す関係に基づいている。 Incidentally, the upper and lower relationship of the layers in the drawing, a layer is basically above is based on the relationship to call the layers below.

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

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

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

コントロール層102は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。 Control layer 102 is a part that functions to control the process for implementing the requested function is implemented. 例えば、コントロール部303などが含まれている。 For example, it is included such as a control unit 303. 具体的には、コントロール部303において、要求された機能に応じて、後述するアプリケーションロジック層103における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。 Specifically, the control unit 303, in response to the requested function, connecting each filter in the application logic layer 103 which will be described later, to control the execution of the function based on the connected filters. なお、本実施形態において「画像処理装置100の機能」とは、画像処理装置100がユーザに対して提供する1つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には1つのまとまった単位のサービスを提供するアプリケーションと同義である。 In the present embodiment the "function of the image processing apparatus 100" is a unit image processing apparatus 100 which together one to be provided to the user (requests until entered the final output is obtained) Service It has the same meaning as, for software is synonymous with an application that provides the service of one cohesive unit.

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

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

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

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

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

その他、入力フィルタ103aとして、補助記憶部13に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する保管文書読出フィルタ、電子メールの受信し、当該電子メールに含まれているデータを出力するメール受信フィルタ、FAX受信を制御し、受信されたデータを出力するFAX受信フィルタ、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力するPC文書受信フィルタ、画像処理装置100の設定情報や履歴情報などを、例えば表形式に整形されたデータとして出力するレポートフィルタなどが含まれている。 Other, as an input filter 103a, reads out the document data stored in the auxiliary storage unit 13 (image data), stored document reading filter for outputting the read data, received e-mail is included in the e-mail mail receiving filter for outputting it has data to control the FAX reception, FAX reception filter for outputting the received data, print data is received from the non-illustrated client PC, PC document reception for outputting the received print data filters, such as setting information and history information of the image processing apparatus 100, for example, are included, such as reports filter for outputting a formatted data into tabular form.

また、変換フィルタ103bとしては、例えば、文書加工フィルタ305などが含まれている。 As the conversion filter 103b, for example, it is included, such as the document processing filter 305. 文書加工フィルタ305は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小など)を施し出力する。 Document processing filter 305, a predetermined image conversion processing on input data (integration, expansion, or reduction, etc.) applied to the output.

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

また、出力フィルタ103cとしては、例えば、印刷フィルタ306などが含まれている。 As the output filter 103c, for example, it is included, such as printing filter 306. 印刷フィルタ306は、入力されたデータを印刷部21に出力(印刷)させる。 Print filter 306 causes the output of the input data to the printing section 21 (printing).

その他、出力フィルタ103cとして、入力されたデータを補助記憶部13に保存する保管文書登録フィルタ、入力されたデータを電子メールに添付して送信するメール送信フィルタ、入力されたデータをFAX送信するFAX送信フィルタ、入力されたデータを、非図示のクラインアントPCに送信するPC文書送信フィルタ、入力されたデータを表示部19にプレビュー表示させるプレビューフィルタなどが含まれている。 Other, as an output filter 103c, a stored document registering filter to store the input data in the auxiliary storage unit 13, the mail transmission filter that transmits the input data as an attachment to e-mail, FAX to FAX transmits the input data transmission filter, the input data, PC document transmission filter to be transmitted to the non-illustrated Klein Ant PC, contains such preview filter which preview display on the display unit 19 the input data.

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

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

デバイス制御層105は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部309、プロッタ制御部310、メモリ制御部311、及び操作デバイス制御部312などが含まれる。 The device control layer 105 is a portion program modules called drivers to control the device (hardware) is implemented, for example, a scanner control unit 309, the plotter control unit 310, a memory controller 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は、例えば、アクセス制御、履歴、課金といった、システム全体に渡る横断的な情報を取り扱うプログラムモジュール群が実装されている部分である。 Aspect 106, for example, access control, history, such as billing, a part program modules for handling cross-information throughout the system is implemented.

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

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

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

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

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

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

例えば、コピー機能の場合は、読取フィルタ304と印刷フィルタ306とを接続することにより実現される。 For example, in the case of the copy function is realized by connecting the the reading filter 304 the print filter 306. 読取フィルタ304によって原稿より読み取られた画像データを印刷フィルタ306によって印刷すればよいからである。 This is because it suffices printed by the printing filter 306 the image data read from the document by the reading filter 304. なお、集約、拡大、又は縮小などの加工が要求された場合には、これらの加工を実現する文書加工フィルタ305が二つのフィルタの間に挿入されることにより実現される。 Incidentally, integration, expansion, or when the processing such as reduction is requested, the document processing filter 305 to realize these processing is realized by being inserted between the two filters.

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

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

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

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

コントロール層102は、ユーザインタフェース層101からの要求内容を受けて、選択された各フィルタ間をパイプによって接続する(S17)。 Control layer 102 receives the request content from the user interface layer 101, connected by a pipe between the filter selected (S17). パイプの実体はメモリ(補助記憶部13の格納領域も含む。)であるが、パイプの両端のフィルタに応じて利用するメモリの種類が異なり、その対応関係は、例えば、画像処理装置100の補助記憶部13内に予め定義されている。 Pipe entities (including storage areas of the auxiliary storage unit 13.) Memory is but, different types of memory utilized in accordance with the ends of the filter pipe, the correspondence relationship is, for example, the aid of the image processing apparatus 100 predefined in the memory unit 13. 従って、コントロール層102は、定義された対応関係に基づいて、各フィルタ間を特定のパイプで接続する。 Accordingly, the control layer 102, based on the defined correspondence relationships, connects each filter in a particular pipe.

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

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

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

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

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

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

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

このように、本実施形態に係る画像処理装置100には、アプリケーションが目的とする機能を実現する入力・加工・出力機能コンポーネントを、必要に応じてインストールすることで、アプリケーションがもつ機能そのものを実装できる。 Thus, the image processing apparatus 100 according to this embodiment, the application is the input, processing, and output functional components to implement the functions of interest, by installing as needed, implement a function itself application has it can.

<情報処理装置のハードウェア構成について> <Hardware configuration of the information processing apparatus>
図6は、本発明の第1の実施形態に係る情報処理装置200のハードウェア構成の一例を示す図である。 Figure 6 is a diagram showing 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などにより構成されている。 As shown in the figure, the information processing apparatus 200 according to this embodiment, the control unit 11, a main storage unit 12, an auxiliary storage unit 13, a network I / F14, the external storage device I / F15, the external device I / F16, and it is made of such as an output device I / F17, and an input device I / F18. これらの構成要素は、図1を用いて説明した本実施形態に係る画像処理装置100で示した構成要素と一部同じ装置を有していることから、同じ構成要素については、図1と同じ参照符号を用いることで説明を省略し、異なる構成要素についてのみ以下に説明する。 These components, since it has a component and a part the same apparatus as 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 FIG. 1 not described by using the reference numerals will be described only to the following for the different components.

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

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

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

よって、本発明の「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」という目的を達成するために必要なハードウェアの最小構成要素は、画像処理装置100及び情報処理装置200ともに同じであることから、これまでに説明した画像処理装置100を、印刷部21、スキャナ部22、及び情報処理装置200を有する装置として解釈できる。 Therefore, simply perform the customization or expansion of the application without being aware of the "multi-process of the present invention, defects and extension to provide a system with the free high fastness affect the basic functions of the system minimum hardware components required to accomplish the goal of ", since both are the image processing apparatus 100 and the information processing apparatus 200 same, the image processing apparatus 100 so far described, the printing unit 21, a scanner part 22, and can be interpreted as a device having an information processing apparatus 200. このことから、以降、情報処理装置200として本発明の実施形態について説明を行う。 Therefore, since explanation is made on embodiments of the present invention as the information processing apparatus 200.

<マルチプロセス化について> <For multi-process of>
では、図2〜5を用いて説明した「パイプ&フィルタ」のソフトウェア構成におけるマルチプロセス化について、図7〜9を用いて説明する。 In, for multi-process of the software configuration of the "pipes and filters" described with reference to FIGS. 2-5, it will be described with reference to Figures 7-9.

本実施形態に係る情報処理装置200では、「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」ために、以下の基本方針に従ってマルチプロセス化を行う。 In the information processing apparatus 200 according to the present embodiment, "multi-process the easily perform application customization or expansion of without awareness, high defect was extensions without affecting the basic functions of the system robustness to provide a system "having, performs multi-process in accordance with the following basic policies.
(方針1)自社が提供する基本機能と、サードベンダが提供する拡張機能とを、異なるプロセスで動作させる。 (Policy 1) and basic functions it provides, and the extensions third vendor operates in a different process.
(方針2)ユーザからの使用頻度が高い基本機能(基本アプリケーション)を、同じプロセス(同じJVM)で動作させる。 (Policy 2) frequently used by the user is high basic functions (basic application) is operated in the same process (same JVM).
(方針3)アプリケーションロジック層103へのコンポーネント実装の影響を最小化する。 (Policy 3) to minimize the impact of component implementation of the application logic layer 103.

<<プロセス構成>> << process configuration >>
図7は、本発明の第1の実施形態に係るプロセス構成の一例を示す図である。 Figure 7 is a diagram showing an example of a process configuration according to a 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 this embodiment, in order to realize a multi-process in accordance with previously indicated (Policy 1), OS 31 (e.g., a. NetBSD) a process configuration started from , and process a (first process) 32a for operating the application management JVM, process B (second process) for operating the-house application (for the base application) JVM 32 b and, third vendors application (extended and process C (third process) 32c for operating the application for) JVM.

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

プロセスA32aでは、アプリケーションの起動や終了などの管理を行う「アプリケーション管理ソフトウェア(システム:自社開発した基盤ソフト)」を実行する。 In the process A32a, to manage, such as an application of the start or end: to run the "application management software (system infrastructure software, which was developed in-house)." プロセスB32bでは、情報処理装置200が有する基本機能を実現する「基本アプリケーションソフトウェア」を実行する。 In process B 32b, executes the "basic application software" for realizing the basic functions of the information processing apparatus 200 has. プロセスC32cでは、情報処理装置200に追加される拡張機能を実現する「拡張アプリケーションソフトウェア」を実行する。 In process C 32c, executes the "extended application software" to realize the extension to be added to the information processing apparatus 200.

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

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

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

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

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

アプリケーションロジック層103は、情報処理装置200が有する機能を実現するためのコンポーネントが含まれており、機能追加・変更・削除などが簡便に行えるように、アプリケーション管理ソフトウェアが動作するプロセスA32aと異なる、基本アプリケーションが動作するプロセスB32b及び拡張アプリケーションが動作するプロセスC32cに配置する。 Application logic layer 103 includes a component for realizing a function of the information processing apparatus 200 has, as such features add, change or delete can be performed conveniently, different from the processes A32a of the application management software operates, basic application placed into the process C32c the process B32b and extended application works to operate.

デバイスサービス層104は、アプリケーション層103から利用される共通のサービスを実現するコンポーネントが含まれており、アプリケーション層103のコンポーネントが、その動作単位でプロセスB32b及びプロセスC32cに配置されることを考慮し、必要なサービスも同一のプロセスB32b及びプロセスC32cに配置する。 Device service layer 104 includes a component for implementing a common service to be used from the application layer 103, components of the application layer 103, considering that it is arranged in its operating units process B32b and process C32c , required service also arranged in the same process B32b and process C 32c.

デバイス制御層105は、システムで扱うデバイスに相当するコンポーネントが含まれており、情報処理装置200の性能に大きく影響するため、アプリケーション管理ソフトウェアが動作するプロセスA32a及び情報処理装置200が有する機能を実現する基本アプリケーションが動作するプロセスB32bに配置する。 The device control layer 105 includes a component corresponding to the device that handles the system, greatly affects the performance of the information processing apparatus 200 realizes the function of process A32a and the information processing apparatus 200 by the application management software operates have placing the process B32b basic application that works.

アスペクト106は、システム全体に渡る横断的な関心ごとを取り扱うコンポーネントが含まれており、いずれもシステムワイドな性質からアプリケーション管理ソフトウェアが動作するプロセスA32aに配置する。 Aspect 106 includes a component for handling each cross interest throughout the system, both arranged from the system-wide properties in the process the application management software operates A 32a.

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

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

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

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

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

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

それに対して、「フィルタ集約型」は、図9の(b)に示すように、単一プロセスに、1つのフィルタコンポーネントを配置し、アクティビティが複数のプロセス(複数のJVM)をまたいで各フィルタを利用するコンポーネント構成である。 In contrast, a "filter-intensive" as shown in (b) of FIG. 9, a single process, one filter component on each filter across activity multiple processes (multiple JVM) is the use component configuration to the.

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

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

これらのことを踏まえて総合的に判断すると、本実施形態に係る情報処理装置200の「パイプ&フィルタ」における最適なマルチプロセス化には、「拡張アプリケーションのコンポーネントが不正な処理を行っても、他のアクティビティの実行に影響しない」と「機能選択、動作設定、アクティビティ実行まで、単一プロセスで動作し、フィルタ間でのプロセス間通信が発生しないため、プロセス間通信を実装するコンポーネントが少なくてすみ、またプロセス間通信のオーバーヘッドにより生じる性能低下を抑えることができる。」の利点がある「アクティビティ集約型」を採用する。 With comprehensive judgment in light of these things, the optimal multi-process of the "pipe and filter" of the information processing apparatus 200 according to this embodiment, the components of the "extended application even if an illegal operation, other not affect the execution of the activity "and" function selection, operation setting, until activity execution, operate in a single process, because the inter-process communication between the filter does not occur, with a small component that implements the inter-process communication corner, also it is possible to suppress performance degradation caused by the inter-process communication overhead. there are advantages "adopting" activity intensive ".

このように、本実施形態に係る情報処理装置200は、先に示した(方針3)に従って、「アクティビティコンポーネントで利用可能なフィルタコンポーネントを、アクティビティコンポーネントと同じプロセスに配置し、アクティビティが単一プロセスで実行するためのコンポーネント構成である「アクティビティ集約型」」を採用し、「マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステム」を実現している。 Thus, the information processing apparatus 200 according to this embodiment, in accordance with previously indicated (Policy 3), the filter components available in "activity component, placed in the same process as activity component, activity single process in adopted a component configuration for executing "activity-intensive," "," multi-process the easily done applications customize or an extension of without being conscious, impact on the failure of the extension is the basic functions of the system It is realized the system "with that no high fastness on the.

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

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

図10は、本発明の第1の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。 Figure 10 is a diagram showing 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 this embodiment has a running means 51 to perform three processes (three JVM) as shown in FIG.

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

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

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

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

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

このように、本実施形態に係る情報処理装置200は、システムと、基本機能を実現する基本アプリケーション81と、拡張機能を実現する拡張アプリケーション82とにおいて、それぞれが動作するメモリ空間を分離し、互いに影響を及ぼさないマルチプロセス化を実現している。 Thus, the information processing apparatus 200 according to this embodiment separates the system, the base application 81 to implement the basic functions, the extended application 82 to implement the extension, the memory space, each of which operates, together has achieved a multi-process of which does not affect.

実行手段51によって実行された3つのプロセスでは、先に説明した(方針3)に従って、プロセス間通信が最小限となるコンポーネント構成としたが、アプリケーション管理ソフトウェアと基本アプリケーション81や、アプリケーション管理ソフトウェアと拡張アプリケーション82との間では、動作要求、動作設定、及び実行要求などのプロセス間通信を行わなければならない。 In three processes executed by the execution unit 51, in accordance with the previously described (Policy 3), although inter-process communication is the component structure is minimized, and the application management software and the basic application 81, the application management software enhancements in between the application 82, the operation request, the operation setting, and not have to perform interprocess communication such as the execution request.

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

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

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

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

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

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

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

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

アプリケーション管理ソフトウェアが動作するプロセスA32aと、基本プリケーション81が動作するプロセスB32b又は拡張プリケーション82が動作するプロセスC32cとの間でプロセス間通信を行う必要がある、システムワイドな性質をもつコンポーネントは、ユーザインタフェース層101のローカルUI部302、コントロール層102のコントロール部303、デバイスサービス層104のデータ管理部308、データ制御層105のスキャナ制御部309、プロッタ制御部310、及びメモリ制御部311である。 And processes A32a of the application management software operates, the basic application 81 needs to perform inter-process communication between the process B32b or process C32c extended application 82 operates to operate, the components having a system-wide properties , 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 controller 311 is there.

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

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

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

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

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

動作要求送信手段61は、動作させるアプリケーションAPの選択指示を受け付けたときに、選択指示されたアプリケーションAPが動作するプロセスに対して、受け付けた動作要求を送信する。 Operation request transmission means 61, upon receiving a selection instruction of an application AP to be operated, for the process to operate the application AP that is selected instruction, it transmits the operation request accepted.

動作設定送信手段62は、アプリケーションAPの動作設定要求を受け付けたときに、動作設定を行うアプリケーションAPが動作するプロセスに対して、受け付けた動作設定要求を送信する。 Operation setting transmitting unit 62, upon receiving the operation setting request from the application AP, for processes application AP to perform the operation setting is operated, it transmits the operation setting request received.

実行要求管理手段63は、受け付けた実行要求(リクエスト)をスケジューリングし、実行可能となったアプリケーションAPが動作するプロセスに対して、実行開始を指示する。 Execution request management unit 63 schedules execution request (request) has been accepted, the application AP became feasible for the process to work, to instruct the start of execution.

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

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

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

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

図13には、各アプリケーションAPがインストールされたときに、「どのプロセスで動作するのか」を、アプリケーション管理ソフトウェアに登録するときの一例が示されている。 13, when the application AP is installed, the "how to work with any process", an example is shown of when registering the application management software.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

図中に示すように、アプリケーション管理ソフトウェアは、メモリ上に、アプリケーションAPの実行要求を受け付けたときにコントロール部303へ登録する実行要求を識別する実行要求識別情報と、要求を分配する対象となるアプリケーションAPが動作するプロセスを識別するプロセス識別情報とを関連付けて保持する。 As shown in the figure, the application management software on the memory, comprising the execution request identification information for identifying an execution request to register to the control unit 303 upon receiving an execution request from the application AP, an object of distributing the request application AP holds in association with the process identification information for identifying the process to work.

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

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

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

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

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

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

(手順1)動作対象アプリケーションAPの選択(アクティビティの選択) (Step 1) Selection of the operation target application AP (activity selection)
本実施形態に係る情報処理装置200は、アプリケーション管理ソフトウェアのローカルUI部302によって、ユーザからの動作要求を受け付ける。 The information processing apparatus 200 according to this embodiment, the local UI unit 302 of the application management software receives an operation request from a user.
情報処理装置200は、動作させるアプリケーションAPの選択指示を受け付けたときに、ローカルUI部302が有する動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、アプリケーション識別情報から特定したプロセスに対して、受け付けた動作要求を送信する。 The information processing apparatus 200, upon receiving a selection instruction of an application AP to be operated, the operation request transmission means 61 provided in the local UI unit 302, information associating the application identification information held in the memory and the process identification information 41 based on, for the process identified by the application identification information, and transmits the operation request accepted.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これによって、本実施形態に係る情報処理装置200では、ユーザから設定要求された動作条件を、動作させるアプリケーションAPが有する機能を実現するコンポーネントに設定できる。 Thus, the information processing apparatus 200 according to this embodiment can set the components to implement the functions of the set required operating conditions from the user, the application AP to be operated.

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

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

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

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

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

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

プロセスA32aでは、コントロール部303が、UIイベント(実行要求)(図19の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。 In process A 32a, the control unit 303 (in the following description of FIG. 19, "execution request (request)" hereinafter.) UI event (execution request) performs queuing. コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S401)。 Control unit 303, for processes that schedules a registered execution request (request), identified from the execution request identification information of the executable and became execution request (request), the publisher of the application AP is operated, It transmits an instruction to start execution to delegate component 71 that operates on the process (S401). 本実施形態では、コピー機能を例に説明を行っているため、コピー機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスB32bに実行要求(リクエスト)を送信し、コピーアプリケーションに実行開始を指示する。 In the present embodiment, because a description example a copy function, and transmits When execution request of a copy function (request) was feasible, execution request to the specified process B32b (the request), the copy application It instructs the execution start.

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

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

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

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

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

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

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

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

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

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

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

ローカルUI部302は、動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(動作要求)を送信する(S702)。 Local UI unit 302, the operation request transmission means 61, the process based on the information 41 associating the application identification information held in the memory and the process identification information, which is executed by the execution unit 51, the vendor function operates C32c identify by interprocess communication, it transmits a UI event (operation request) to the identified process C 32c (S702).

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

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

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

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

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

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

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

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

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

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

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

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)が、送信されたUIイベント(実行要求)を、実行するUI制御コンポーネントであるベンダ機能のベンダアクティビティUI405に渡す(S903)。 In process C 32c, delegate component 71 of the local UI unit 302 (local UI part of the process C 32c shown in a broken line frame in the figure), the transmitted UI event (execution request) is vendor features a UI control components that perform and passes to the vendor activity UI405 (S903).

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

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

プロセスA32aでは、コントロール部303が、UIイベント(実行要求)(図22の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。 In process A 32a, the control unit 303 (in the following description of FIG. 22, "execution request (request)" hereinafter.) UI event (execution request) performs queuing. コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S1001)。 Control unit 303, for processes that schedules a registered execution request (request), identified from the execution request identification information of the executable and became execution request (request), the publisher of the application AP is operated, It transmits an instruction to start execution to delegate component 71 that operates on the process (S1001). 本実施形態では、ベンダ機能を例に説明を行っているため、ベンダ機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスC32cに実行要求(リクエスト)を送信し、ベンダアプリケーションに実行開始を指示する。 In the present embodiment, because a description of the vendor function as an example, to send When execution request of the vendor function (request) was feasible, execution request to the specified process C32c (the request), the vendor application It instructs the execution start.

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

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

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

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

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

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

その結果、画像パイプ307は、メモリ解放の指示に従って、メモリ制御部311の代理コンポーネント71(図中の破線枠に示すプロセスC32cのメモリ制御部)を介して、プロセスB32bで動作するメモリ制御部311に、確保していた所定のメモリ領域を解放させる(S1207及びS1208)。 As a result, the image pipe 307, according to an instruction of the memory freed, the memory controller 311 via the proxy component 71 of the memory control unit 311 (memory controller processes C32c shown in a broken line frame in the figure), operating in the process B32b to, to release the predetermined memory area allocated (S1207 and S1208).

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

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

ここからは、フィルタ集約型を採用した場合のコンポーネント配置、及びアプリケーション実行の処理手順について、図23〜26を用いて説明する。 Here, the component arrangement in the case of adopting a filter-intensive, and the processing procedure of the application execution is described with reference to FIG. 23-26.

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

フィルタ集約型を採用した場合と、アクティビティ集約型を採用した場合との違いは、フィルタ集約型の特徴である、フィルタ単位でプロセスを分割する点である。 In the case of employing a filter-intensive, the difference between the case of adopting the activity intensive is characteristic of the filter-intensive, is that splitting the process in the filter unit.

そのため、アクティビティ集約型のコンポーネント配置を示す図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 component placement activity intensive, for example, a third vendor party application 82, an input filter 103a by a third vendor has its own development, the information processing apparatus 200 is standardly equipped to an output filter 103c is by connecting the image pipe 307, in the case of extensions to realize one function, the activity intensive shown in FIG. 12, the output of the information processing apparatus 200 is standardly equipped components related to the print filter is a filter 103c is are disposed on both the process B32b and process C 32c, the filter intensive shown in FIG. 23, components related to a print filter is not disposed in the process C 32c, the third vendor about the unique input filter 103a developed るコンポーネントのみ配置されている。 It is arranged only component that.

このように、フィルタ集約型のコンポーネント配置では、基本アプリケーション81と拡張アプリケーション82とで共通して利用するフィルタを、拡張アプリケーション82が動作するプロセスに配置しない。 Thus, in the component placement of the filter-intensive, the filter utilized in common a basic application 81 and the extended application 82, not arranged to process the extended application 82 operates. すなわち、全てのプロセスにおいて、重複するフィルタコンポーネントは存在しない。 That is, in all processes, the filter components that overlap does not exist.

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

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

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

ローカルUI部302は、動作要求送信手段61によって、メモリ上に保持されたアプリケーション識別情報とプロセス識別情報とを関連付ける情報41に基づいて、実行手段51によって実行された、ベンダ機能が動作するプロセスC32cを特定し、プロセス間通信によって、特定したプロセスC32cにUIイベント(動作要求)を送信する(S702)。 Local UI unit 302, the operation request transmission means 61, the process based on the information 41 associating the application identification information held in the memory and the process identification information, which is executed by the execution unit 51, the vendor function operates C32c identify by interprocess communication, it transmits a UI event (operation request) to the identified process C 32c (S702).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

プロセスC32cでは、ローカルUI部302の代理コンポーネント71(図中の破線枠に示すプロセスC32cのローカルUI部)が、送信されたUIイベント(実行要求)を、実行するUI制御コンポーネントであるベンダ機能のベンダアクティビティUI405に渡す(S903)。 In process C 32c, delegate component 71 of the local UI unit 302 (local UI part of the process C 32c shown in a broken line frame in the figure), the transmitted UI event (execution request) is vendor features a UI control components that perform and passes to the vendor activity UI405 (S903).

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

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

プロセスA32aでは、コントロール部303が、実行要求(リクエスト)(図26の以下の説明では、「実行要求(リクエスト)」という。)のキューイングを行う。 In process A 32a, the control unit 303 (in the following description of FIG. 26, "execution request (request)" hereinafter.) Execution request (request) for queuing the. コントロール部303は、登録された実行要求(リクエスト)をスケジューリングし、実行可能となった実行要求(リクエスト)の実行要求識別情報から特定された、発行元のアプリケーションAPが動作するプロセスに対して、そのプロセス上で動作する代理コンポーネント71に実行開始の指示を送信する(S1001)。 Control unit 303, for processes that schedules a registered execution request (request), identified from the execution request identification information of the executable and became execution request (request), the publisher of the application AP is operated, It transmits an instruction to start execution to delegate component 71 that operates on the process (S1001). 本実施形態では、ベンダ機能を例に説明を行っているため、ベンダ機能の実行要求(リクエスト)が実行可能であったとすると、特定されたプロセスC32cに実行要求(リクエスト)を送信し、ベンダアプリケーションに実行開始を指示する。 In the present embodiment, because a description of the vendor function as an example, to send When execution request of the vendor function (request) was feasible, execution request to the specified process C32c (the request), the vendor application It instructs the execution start.

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

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

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

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

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

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

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

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

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

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

よって、本実施形態に係る情報処理装置200は、マルチプロセス化を意識することなくアプリケーションAPのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供することができる。 Thus, the information processing apparatus 200 according to the present embodiment, multi-process the easily perform the customization or expansion of no application AP being aware, high defect was extensions without affecting the basic functions of the system it is possible to provide a system having robustness.

[第2の実施形態] Second Embodiment
本実施形態は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させるマルチプロセス化において、アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行するプロセス構成にすることにより、マルチプロセス化を意識することなくアプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを This embodiment is an application to perform a basic application for realizing the basic functions of the system, and an extended application for implementing the additional extension being in multi-process of operating in a different process, the management such as application launch and end management software, and run the extended application software that a basic application software for realizing the basic function of the information processing apparatus has performed in the first process, to realize the extension to be added to the information processing apparatus in a second process by the process configuration of a multi-process the easily perform application customization or expansion of without being aware, a system failure of the extension has to be free high fastness affect the basic functions of the system 供するものである。 It is intended to provide.

第1の実施形態と本実施形態と異なる点は、第1の実施形態では、アプリケーション管理ソフトウェアを第1のプロセスで実行し、基本アプリケーションソフトウェアを第2のプロセスで実行し、拡張アプリケーションソフトウェアを第3のプロセスで実行するという「3つのプロセス」で構成したのに対して、本実施形態では、アプリケーション管理ソフトウェアと基本アプリケーションソフトウェアとを第1のプロセスで実行し、拡張アプリケーションソフトウェアを第2のプロセスで実行するという「2つのプロセス」で構成する点である。 The difference from the first embodiment and the present embodiment, in the first embodiment, executes the application management software in the first process, to perform a basic application software in the second process, the extended application software first whereas it configured in "three process" that run in 3 processes, in the present embodiment, running an application management software and the basic application software in the first process, the extended application software a second process a point which constitutes the "two processes" of running in.

よって、以降に行う本実施形態の説明では、第1の実施形態と同じ事項について、同一の図面及び図中の参照符号をもってその説明を省略し、第1の実施形態と異なる点について、図27〜31を用いて説明する。 Therefore, in the description of this embodiment performed after, for the same items as the first embodiment, with reference numerals in the same figures and FIG explanation thereof is omitted, the difference from the first embodiment, FIG. 27 It will be described with reference to to 31.

<マルチプロセス化について> <For multi-process of>
本実施形態においても、図7〜9を用いて説明した「パイプ&フィルタ」のソフトウェア構成におけるマルチプロセス化については、「マルチプロセス化を意識することなくアプリケーションAPのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供する」ために、第1の実施形態と同様の基本方針(方針1)〜(方針3)に従ってマルチプロセス化を行う。 In this embodiment, for the multi-process of the software configuration of the "pipes and filters" described with reference to FIGS. 7-9, conveniently performed customization or expansion of no application AP being aware of the "multi-process of, for trouble expanded features provide a system with the free high fastness affect the basic functions of the system ", according to the same basic policy of the first embodiment (strategy 1) to (Policy 3) perform multi-process reduction.

<<プロセス構成>> << process configuration >>
図27は、本発明の第2の実施形態に係るプロセス構成の一例を示す図である。 Figure 27 is a diagram showing an example of a process configuration according to a 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 this embodiment, in order to realize a multi-process in accordance with described in the first embodiment (strategy 1), the process configuration started from OS 31, the application management and a process A32a operate the JVM common for-house applications, the process B32b to operate the JVM for third vendors application.

プロセスA32aでは、アプリケーションAPの起動や終了などの管理を行う「アプリケーション管理ソフトウェア」を実行するとともに、情報処理装置200が有する基本機能を実現する「基本アプリケーションソフトウェア81」を実行する。 In process A 32a, performs management such as application AP starts and ends with running "application management software", executes the "basic application software 81" for realizing the basic functions of the information processing apparatus 200 has. すなわち、本実施形態では、自社開発した基盤ソフトであるシステムと基本機能を実現する基本アプリケーション81とを同一のメモリ空間で実行する。 That is, in the present embodiment executes the basic application 81 to implement the system and the basic functions is a platform software self-developed in the same memory space. プロセスB32bでは、情報処理装置200に追加される拡張機能を実現する「拡張アプリケーションソフトウェア82」を実行する。 In process B 32b, executes the "extended application software 82" to realize the extension to be added to the information processing apparatus 200.

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

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

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

第1の実施形態と違う配置になるコンポーネントは、第1の実施形態において、基本アプリケーション81が動作するプロセスに配置されていたコンポーネントである。 Components to be arranged different from the first embodiment, in the first embodiment, a component that base application 81 has been placed into the process to work. その対象となるレイヤについて、本実施形態におけるコンポーネントの配置について説明する。 For the layer to be the subject, explaining the arrangement of the components in this embodiment.

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

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

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

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

図29は、本発明の第2の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。 Figure 29 is a diagram showing 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を有していない点である。 Delegate component difference between functional configuration in the first embodiment, to perform a point having an execution unit 51 for executing two processes, the application management software, with the base application 81, the exchange of data 71 is that the do not have. 以下にその点について説明する。 It describes the point below.

本実施形態に係る情報処理装置200は、図27に示した2つのプロセスを実行する実行手段51を有している。 The information processing apparatus 200 according to this embodiment has a running means 51 for executing two processes shown in FIG. 27.

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

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

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

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

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

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

そこで、本実施形態に係る情報処理装置200では、アプリケーション管理ソフトウェアが動作するプロセスA32aと、アプリケーション管理ソフトウェアが動作するプロセスA32aと異なるプロセスB32bで動作する拡張アプリケーション82との間でプロセス間通信を行うことによって、拡張アプリケーション82に対して、アプリケーション管理ソフトウェアとのデータのやり取りと同じ振る舞いをする代理コンポーネント71を有している。 Therefore, perform interprocess communication with the information processing apparatus 200 according to the present embodiment, the process A32a of the application management software operates, and expansion applications 82 operating in the process A32a different processes B32b the application management software operates by, for an extended application 82, and a proxy component 71 to the same behavior as exchange data with the application management software.

また、基本アプリケーション81は、アプリケーション管理ソフトウェアと同一のプロセスA32aで動作するため、アプリケーション管理ソフトウェアと基本アプリケーション81との間では、動作要求、動作設定、及び実行要求などのプロセス間通信を行う必要がないため、代理コンポーネント71を有していない。 The basic application 81 operate with the application management software in the same process A 32a, in between the application management software and the basic application 81, the operation request, the operation setting, and the need to perform interprocess communication such as the execution request there is no reason, do not have a proxy component 71.

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

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

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

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

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

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

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

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

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

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

これ以外の点では、第1の実施形態のアプリケーション実行の基本処理手順と同じであるため、本実施形態におけるアプリケーション実行の基本処理手順についての説明は省略する。 In terms of other, it is the same as basic processing procedure of the application execution of the first embodiment, explanation of the basic processing procedure of the application execution in this embodiment will be omitted.

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

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

[第3の実施形態] Third Embodiment
本実施形態は、システムの基本機能を実現する基本アプリケーションと、追加される拡張機能を実現する拡張アプリケーションとを、異なるプロセスで動作させるマルチプロセス化において、拡張機能が動作するプロセスが異常終了した場合に、その後も基本機能の動作を可能とするために、システムから異常終了したプロセスを切り離すことにより、マルチプロセス化を意識することなく、アプリケーションのカスタマイズ又は拡張を簡便に行え、拡張した機能の不具合がシステムの基本機能に影響を及ぼすことのない高い堅牢性を有するシステムを提供するものである。 This embodiment includes a base application to implement the basic functions of the system, and an extended application for implementing the additional extension being in multi-process of operating in a different process, if the process of extension operates abnormally terminated , in order thereafter to enable operation of the basic functions, by disconnecting the process in case of failure of the system, without being aware of the multi-process of, can conveniently application customization or expansion, defects and extensions There is to provide a system with the free high fastness affect basic functions of the system.

第1及び第2の実施形態と本実施形態と異なる点は、拡張機能が動作するプロセスの異常終了を検知し、その旨をアプリケーション管理ソフトウェアが有する各コンポーネントへ通知する点(プロセス異常終了検知・通知機能を有する点)である。 Differs from the first and second embodiments and the present embodiment detects the abnormal termination of the process the extension works, abnormal end detection-point notifies each component having that effect application management software (Process it is that it has a notification function).

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

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

図32は、本発明の第3の実施形態に係る情報処理装置200の主な機能構成の一例を示す図である。 Figure 32 is a diagram showing 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 between the functional configuration of the first embodiment, the detection means 91 for detecting an abnormal termination of the process other than the application management software operates, notifying means notifies each component having a detection result application management software 92 the door, in that further comprising.

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

例えば、図32には、アプリケーション管理、基本機能、及び拡張機能のそれぞれが動作するプロセスA32a、プロセスB32b、及びプロセスC32cが、子プロセスとして親プロセスとして生成された場合の例が示されている。 For example, in FIG. 32, the application management, basic functions, and processes A32a each extension to work, process B 32b, and process C32c is shown an example of a case where it is generated as a parent process as a child process.

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

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

さらに、本実施形態では、子プロセスであるプロセスA32aが、親プロセスからの通知を受けて、アプリケーション管理ソフトウェアが有する全てのコンポーネントに、異常終了した旨を通知する通知手段92bを有し、各コンポーネントが、正常に動作していないアプリケーションAPが、他のアプリケーションAPの動作に影響しないように、異常終了したプロセスで動作するアプリケーションAPに関する各種管理情報の整合をとる(異常終了したプロセスで動作するアプリケーションAPの関連データを削除する)。 Furthermore, in the present embodiment, the process A32a is a child process, receiving the notification from the parent process, all the components with the application management software has a notification unit 92b for notifying of abnormal termination, the components application but not working properly application AP is operating in another so as not to affect the behavior of the application AP, matching the various management information about the application AP that operates abnormally terminated process (abnormal terminated process to remove the AP of the relevant data).

<プロセス異常終了時の検知・通知の基本処理手順について> <For the basic procedure of the process abnormal termination detection and notification>
これまでに説明した本実施形態に係る情報処理装置200におけるプロセス異常終了時の検知・通知の具体的な処理手順について、拡張アプリケーションソフトウェアが動作するプロセスC32cが異常終了した場合を例に図33を用いて説明する。 For so far the process in the information processing apparatus 200 according to the present embodiment described abnormal termination detection and notification of a specific process procedure, Figure 33 if the process C32c the extended application software operates abnormally ended Examples used will be described.

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

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

通知手段92aは、受信した検知結果を基に、アプリケーション管理ソフトウェアが動作するプロセスA32a(子プロセス)に、異常終了した旨を、ソケットやメッセージキューなどのプロセス間通信により通知する(S1303)。 Notification means 92a, based on the detection result received, the process A 32a (child) to the application management software operates, the effect of abnormal termination is notified by interprocess communication such as sockets and message queue (S1303).

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

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

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

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

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

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

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

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

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

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

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

このようにして、本実施形態に係る情報処理装置200では、マルチプロセス化において、拡張機能が動作するプロセスが異常終了した場合に、その後も基本機能の動作を可能とするために、システムから異常終了したプロセスを切り離すことができる。 In this manner, the information processing apparatus 200 according to the present embodiment, in multi-process of, when the process of extension operates abnormally ended, in order to enable the operation of the basic functions Thereafter, the abnormality of the system it is possible to separate the terminated process.

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

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

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

図35に示すように、本変形例では、アプリケーション管理ソフトウェアが動作するプロセスA32aが検知手段91及び通知手段92を有し、アプリケーション管理ソフトウェアが管理する各種アプリケーションAPが動作するプロセスB32b及びプロセスC32cそれぞれが、各プロセスの状態情報を送信する送信手段93を有する構成となっている。 As shown in FIG. 35, according to the modified example has a process A32a is detecting means 91 and the notification unit 92 to the application management software operates, respectively process B32b and process C32c various applications AP that application management software manages to operate but it has a configuration having a transmitting means 93 for transmitting the status information of each process.

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

1つ目は、プロセスA32aで動作する検知手段91が、他のプロセスに対してプロセスの状態情報の取得を定期的に要求し、各プロセスで動作する送信手段93が応答することで、他のプロセスの生存確認を行う方法、また2つ目は、他のプロセスで動作する送信手段93が、プロセスA32aに対してプロセスの状態情報(ハートビート)を定期的に送信し、プロセスA32aで動作する検知手段91が受信することで、他のプロセスの生存確認を行う方法である。 First, detection means 91 which operates in the process A32a is periodically requests acquisition of the state information of the process to other processes, by transmission means 93 to operate in each process responds, the other the method performs alive process also second, the transmitting unit 93 to operate in another process, periodically send process state information (heartbeat) to the process a 32a, operates in the process a 32a by detecting means 91 receives a method of performing alive other processes.

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

<プロセス異常終了時の検知・通知の基本処理手順について> <For the basic procedure of the process abnormal termination detection and notification>
では、本変形例に係る情報処理装置200におけるプロセス異常終了時の検知・通知の具体的な処理手順について、拡張アプリケーションソフトウェアが動作するプロセスC32cが異常終了した場合を例に図36及び図37を用いて説明する。 In, specific procedure of the process abnormal termination detection and notification in the information processing apparatus 200 according to this modification, to FIGS. 36 and 37 if the process C32c the extended application software operates abnormally ended Examples used will be described.

図36には、プロセスA32aが他のプロセスの状態情報を取得要求する検知・通知機能の処理手順の一例、また、図37には、他のプロセスが状態情報(ハートビート)をプロセスA32aに送信する検知・通知機能の処理手順の一例が示されている。 Figure 36 is transmitted, an example of a processing procedure of the detection and notification function of process A32a obtains requesting the state information of another process, also in FIG. 37, other processes status information (heartbeat) to process A32a An example of a processing procedure of detection and notification function of is shown.

<<プロセスAが他のプロセスの状態情報を取得要求する検知・通知機能の場合>> << When Process A detection and notification function of acquiring request the state information of another process >>
図36は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その2)の一例を示すシーケンス図である。 Figure 36 is a sequence diagram showing an example of a processing procedure (No. 2) when implementing the third embodiment detection and notification function of the process abnormal termination according to the present invention.

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

上記状態情報取得要求の中で、検知手段91は、他のプロセスからの応答結果に基づいて、プロセスの異常終了を検知する(S1402)。 Among the state information acquisition request, the detection unit 91 on the basis of the response result from other processes, detects an abnormal termination of the process (S1402). 例えば、プロセスC32cが異常終了している場合には、状態情報取得要求に対して応答ができないことから、検知手段91は、情報取得要求に対して応答のなかったプロセスを異常終了したものと判断し検知する。 For example, determination if the process C32c is abnormally terminated, since it is not possible to respond to status information acquisition request, the detection unit 91, the process was not responding to the information acquisition request to that terminated abnormally to be detected. また子プロセス間のプロセス間通信エラーを基に検知しても良い。 Interprocess communication error between Matako process may be detected based.

以降のS1403〜S1406は、図33のS1302〜S1307の処理手順と同様であり、検知手段91からの検知結果を受けて、通知手段92が、アプリケーション管理ソフトウェアが有する全てのコンポーネントに、その旨を通知する。 Subsequent S1403~S1406 is similar to S1302~S1307 processing procedure of FIG. 33, receives the detection result from the detecting means 91, notifying means 92, to all the components with the application management software, to that effect Notice.

<<他のプロセスが状態情報(ハートビート)をプロセスAに送信する検知・通知機能の場合>> If << another process of detection and notification function to send the state information (heartbeat) to process A >>
図37は、本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その3)の一例を示すシーケンス図である。 Figure 37 is a sequence diagram showing an example of a processing procedure (3) when implementing the third embodiment the process terminates abnormally detection and notification function according to the present invention.

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

上記状態情報送信の中で、検知手段91は、他のプロセスからの受信結果に基づいて、プロセスの異常終了を検知する(S1503)。 Among the transmission the state information detecting means 91, based on the reception result from other processes, it detects an abnormal termination of the process (S1503). 例えば、プロセスC32cが異常終了している場合には、一定間隔で状態情報(ハートビート)が送信できないことから、検知手段91は、一定時間経過してもプロセスの状態情報(ハートビート)を受信できなかったプロセスを異常終了したものと判断し検知する。 For example, if the process C32c is abnormally terminated, since the status information at regular intervals (heartbeat) can not be sent, detecting means 91 receives the state information of the process even after the lapse of a predetermined time (heartbeat) It determined to detect a process that could not be assumed that the abnormally terminated.

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

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

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

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

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

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

また、この一覧表示領域には、アプリケーションの有効化/無効化を選択設定するボタン、アプリケーションの更新(再インストール)を指示するボタン、及びアプリケーションの削除(アンインストール)を指示するボタンなどの複数種のアクションボタンが用意されており、ユーザは、これらアクションボタンを選択することにより、上記設定、更新、及び削除の動作を実行させることができる。 In addition, this list display area, buttons for selecting and setting the enable / disable of the application, a button to instruct update of the application (re-installation), and a plurality of types, such as a button for instructing deletion of the application (uninstall) action button is available, which the user can select these action buttons, the setting, update, and it is possible to perform a deletion operation.

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

更に、同画面Wでは、各種アプリケーションAPが動作するプロセスの有効化/無効化を選択設定する操作領域が用意されており、ユーザは、プロセス単位で有効/無効を設定することができる。 Further, in the screen W, and the operation area to select to enable / disable the process is ready to various applications AP to work, the user can enable / disable the process units.

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

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

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

異常終了の直前に実行されたアプリケーションAPへのリクエストが、異常終了の原因である可能性が高い。 Abnormal termination requests to the application AP that is executed immediately before are likely the cause of the abnormal termination. そのため、異常終了したプロセスにおいて、直前に実行されたアプリケーションAPとそれ以外のアプリケーションAPとを異なる態様で表示することにより、原因の特定に役立てることができ、特定したアプリケーションAPを、アクションボタンを選択することで、無効化又は削除(アンインストール)することができる。 Selection Therefore, in the abnormality terminated process, by displaying the application AP that is executed just before and the other application AP in a different manner, can help identify the cause, the identified application AP, action buttons doing, it is possible to disable or remove (uninstall).

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

図38の(b)には、検知したプロセス異常終了の通知と無効化を促す表示画面Wが示されている。 In (b) of FIG. 38, the display screen W prompting the detected abnormal process termination notification and disabling is shown. このような、簡易な表示画面Wで、異常終了したプロセスを無効にするようにしても良い。 Such a simple display screen W, may be to disable the process in case of failure.

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

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

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

なお、上記第3の実施形態では、アプリケーション管理、基本機能、及び拡張機能が、それぞれ異なる3つのプロセスで動作する構成を、プロセス異常終了検知・通知機能が動作するマルチプロセス環境の一例として挙げたが、第2の実施形態において説明を行った2つのプロセスで動作する構成においても本機能が適用可能であることは言うまでもない。 In the above third embodiment, application management, basic function, and extension, the structure operating at respective three different processes, the process abnormally terminates detection and notification function is mentioned as an example of a multi-process environment operating but also we are needless to say that the present function is applicable in a configuration that operates in two processes has been described in the second embodiment.

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

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

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

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

本発明の第1の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。 Is a diagram illustrating an example of a hardware configuration of an image processing apparatus according to a first embodiment of the present invention. 本発明の第1の実施形態に係る画像処理装置のソフトウェア構成の一例を示す図である。 Is a diagram illustrating an example of a software configuration of the image processing apparatus according to a first embodiment of the present invention. 本発明の第1の実施形態に係るパイプ&フィルタの概念及びフィルタの構成要素の一例を示す図である。 Is a diagram showing an example of the concept and components of the filter of the pipe and filter according to the first embodiment of the present invention. 本発明の第1の実施形態に係る画像処理装置の基本処理手順(その1)の一例を示すフローチャートである。 Basic processing procedure of the image processing apparatus according to a first embodiment of the present invention is a flow chart illustrating an example (part 1). 本発明の第1の実施形態に係る画像処理装置の基本処理手順(その2)の一例を示すフローチャートである。 Basic processing procedure of the image processing apparatus according to a first embodiment of the present invention is a flow chart illustrating an example of a (part 2). 本発明の第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 An example of a hardware configuration of an information processing apparatus according to a first embodiment of the present invention. FIG. 本発明の第1の実施形態に係るプロセス構成の一例を示す図である。 An example of process configuration according to a first embodiment of the present invention. FIG. 本発明の第1の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。 Is a diagram illustrating an example of placing each layer according to a first embodiment of the present invention to process. 本発明の第1の実施形態に係る各アクティビティ及びフィルタをプロセスに配置する一例を示す図である。 It is a diagram illustrating an example of placing each activity and filter according to the first embodiment of the present invention to process. 本発明の第1の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。 Is a diagram illustrating an example of a main functional configuration of the information processing apparatus according to a first embodiment of the present invention. 本発明の第1の実施形態に係る代理コンポーネントの仕組みの一例を示す図である。 Is a diagram illustrating an example of a mechanism of a proxy component according to the first embodiment of the present invention. 本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。 One example place the components belonging to each layer according to a first embodiment of the present invention the process is a diagram showing (in the case of activities intensive). 本発明の第1の実施形態に係る動作するプロセスの判別方法(アクティビティ選択方法)の一例を示す図である。 Is a diagram illustrating an example of a determination method of a process operation that according to the first embodiment of the present invention (activity selection method). 本発明の第1の実施形態に係るアクティビティとアクティビティを実行するプロセスとが対応付けられたデータの一例を示す図である。 A process for performing an activity and activity according to the first embodiment of the present invention is a diagram showing an example of data associated with. 本発明の第1の実施形態に係るUIとUIを生成するプロセスとが対応付けられたデータの一例を示す図である。 A process of generating a UI and UI according to the first embodiment of the present invention is a diagram showing an example of data associated with. 本発明の第1の実施形態に係るリクエストとリクエストを生成するプロセスとが対応付けられたデータの一例を示す図である。 A process of generating a first embodiment requests and requests according to an embodiment of the present invention is a diagram showing an example of data associated with. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。 Processing procedure for realizing a copy function according to the first embodiment of the present invention (Part 1: Activity Selection) is a diagram showing an example of a. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。 Processing procedure for realizing a copy function according to the first embodiment of the present invention (Part 2: setting change) is a diagram showing an example of a. 本発明の第1の実施形態に係るコピー機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。 Processing procedure for realizing a copy function according to the first embodiment of the present invention (Part 3: request execution) is a diagram showing an example of a. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その1:アクティビティ選択)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 1: Activity Selection) is a diagram showing an example of a. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その2:設定変更)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 2: setting change) is a diagram showing an example of a. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その3:リクエスト実行)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 3: request execution) is a diagram showing an example of a. 本発明の第1の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。 One example place the components belonging to each layer according to a first embodiment of the present invention the process is a diagram showing (in the case of filter-intensive). 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その4:アクティビティ選択)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 4: Activity Selection) is a diagram showing an example of a. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その5:設定変更)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 5: setting change) is a diagram showing an example of a. 本発明の第1の実施形態に係るサードベンダ製アプリケーション機能を実現するときの処理手順(その6:リクエスト実行)の一例を示す図である。 Processing procedure for realizing the third vendors application function according to the first embodiment of the present invention (Part 6: request execution) is a diagram showing an example of a. 本発明の第2の実施形態に係るプロセス構成の一例を示す図である。 An example of process configuration according to a second embodiment of the present invention. FIG. 本発明の第2の実施形態に係る各レイヤをプロセスに配置する一例を示す図である。 Is a diagram illustrating an example of placing each layer according to a second embodiment of the present invention to process. 本発明の第2の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。 Is a diagram illustrating an example of a main functional configuration of the information processing apparatus according to a second embodiment of the present invention. 本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(アクティビティ集約型の場合)を示す図である。 Is a diagram showing an example (in the case of activities intensive) placing the components belonging to each layer according to a second embodiment of the present invention to process. 本発明の第2の実施形態に係る各レイヤに属するコンポーネントをプロセスに配置する一例(フィルタ集約型の場合)を示す図である。 Is a diagram showing an example (in the case of filter-intensive) placing the components belonging to each layer according to a second embodiment of the present invention to process. 本発明の第3の実施形態に係る情報処理装置の主な機能構成の一例を示す図である。 Is a diagram illustrating an example of a main functional configuration of the information processing apparatus according to a third embodiment of the present invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その1)の一例を示すシーケンス図である。 Processing procedure for realizing the third detection and notification function of the process abnormal termination according to an embodiment of the present invention is a sequence diagram showing an example (part 1). 本発明の第3の実施形態に係るプロセス異常終了に対応して整合された各種データの一例を示す図である。 The process terminates abnormally in accordance with a third embodiment of the present invention is a diagram showing an example of various data aligned correspondingly. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能の変形例を示す図である。 It is a diagram showing a modification of the third embodiment the process terminates abnormally detection and notification function according to the present invention. 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その2)の一例を示すシーケンス図である。 Processing procedure for realizing the third detection and notification function of the process abnormal termination according to an embodiment of the present invention is a sequence diagram showing an example (part 2). 本発明の第3の実施形態に係るプロセス異常終了時の検知・通知機能を実現するときの処理手順(その3)の一例を示すシーケンス図である。 Processing procedure for realizing the third detection and notification function of the process abnormal termination according to an embodiment of the present invention is a sequence diagram showing an example (part 3). 本発明の第3の実施形態に係るアプリケーション管理UIの表示画面の一例を示す図である。 Is a diagram illustrating an example of a third display screen of the application management UI according to an embodiment of the present invention.

符号の説明 DESCRIPTION OF SYMBOLS

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

Claims (29)

  1. データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、 Input means for inputting data, and processing means for processing the data, and an output means for outputting the data, said input means, said a processing unit, said output unit and one by which cooperation operation an information processing apparatus for realizing the functions which the application has,
    前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェアを動作させる第1のプロセスと、 A first process for operating the application management software to manage such as starting and termination of the application,
    当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第2のプロセスと、 A second process for operating a basic application software for realizing the basic function of the information processing apparatus has,
    当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第3のプロセスとを有し、 And a third process for operating the extended application software for realizing the extensions to be added to the information processing apparatus,
    更に、前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセスを実行する実行手段を有することを特徴とする情報処理装置。 Furthermore, the first process, the second process, and an information processing apparatus characterized by comprising an execution means for executing the third process.
  2. データを入力する入力手段と、データを加工する加工手段と、データを出力する出力手段とを有し、前記入力手段と、前記加工手段と、前記出力手段とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置であって、 Input means for inputting data, and processing means for processing the data, and an output means for outputting the data, said input means, said a processing unit, said output unit and one by which cooperation operation an information processing apparatus for realizing the functions which the application has,
    前記アプリケーションの起動や終了などの管理を行うアプリケーション管理ソフトウェア、及び当該情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを動作させる第1のプロセスと、 A first process for operating a basic application software for realizing the basic function the application is started or an application for managing and end management software, and the information processing apparatus having,
    当該情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを動作させる第2のプロセスとを有し、 And a second process for operating the extended application software for realizing the extensions to be added to the information processing apparatus,
    更に、前記第1のプロセス及び前記第2のプロセスを実行する実行手段を有することを特徴とする情報処理装置。 Furthermore, the information processing apparatus characterized by comprising an execution means for executing the first process and the second process.
  3. 所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段は、 Said input means operative to implement a function of a predetermined application it has, said processing means, said output means,
    同一プロセスで動作することを特徴とする請求項1又は2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, characterized in that to operate in the same process.
  4. 所定のアプリケーションが有する機能を実現するために動作する前記入力手段と、前記加工手段と、前記出力手段は、 Said input means operative to implement a function of a predetermined application it has, said processing means, said output means,
    それぞれが特定の単一プロセスで動作することを特徴とする請求項1又は2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, respectively, characterized in that to work with a particular single process.
  5. 前記アプリケーションに対して、前記アプリケーション管理ソフトウェアと前記アプリケーションとの間で行うデータのやり取りと同じ振る舞いをするソフトウェア部品を有し、 To the application, it has a software component for the same behavior data exchange performed with between the application management software with the application,
    前記ソフトウェア部品は、 The software component,
    前記アプリケーションと同じプロセスで動作することを特徴とする請求項1ないし4のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 4, characterized in that to operate in the same process as the application.
  6. 動作させる前記アプリケーションの選択指示を受け付けたときに、 When accepting a selection instruction of the application to be operated,
    前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記アプリケーション識別情報から特定したプロセスに対して、動作要求を送信する動作要求送信手段を有することを特徴とする請求項1ないし5のいずれか一項に記載の情報処理装置。 And application identification information for identifying the application, based on information associating the process identification information for identifying a process in which the application operates, to the process identified by the application identification information, operation request transmission for transmitting the operation request the information processing apparatus according to any one of claims 1, characterized in that it has means 5.
  7. 前記アプリケーションの動作設定要求を受け付けたときに、 Upon receiving the operation setting request for the application,
    前記アプリケーションごとの前記動作設定要求に対応するユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記画面要素識別情報から特定したプロセスに対して、前記動作設定要求を送信する動作設定要求送信手段を有することを特徴とする請求項1ないし6のいずれか一項に記載の情報処理装置。 A screen element identification information for identifying the screen elements of the user interface corresponding to the operation setting request for each of the applications, based on information associating the process identification information for identifying a process in which the application runs, the screen element for the process identified from the identification information, the operation setting information processing apparatus according to any one of claims 1 to 6, characterized in that it has an operation setting request transmission means for transmitting a request.
  8. 前記アプリケーションの実行要求を受け付けたときに、 Upon receiving the execution request of said application,
    前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報に基づいて、前記実行要求識別情報から特定したプロセスに対して前記実行要求を送信し、前記アプリケーションに実行開始を指示する実行要求管理手段を有することを特徴とする請求項1ないし7のいずれか一項に記載の情報処理装置。 Said execution a request execution request identification information identifying, based on information associating the process identification information for identifying a process in which the application operates to be executed, the execution for the process identified by the execution request identification information sending a request, the information processing apparatus according to any one of claims 1 to 7, characterized in that it has an execution request management unit configured to start execution to the application.
  9. 前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスが異常終了したことを検知する検知手段と、 A detecting means for detecting that the process other than the application management software operates abnormally terminated,
    前記検知手段により検知されたプロセス異常終了を前記アプリケーション管理ソフトウェアが動作するプロセスに通知する通知手段とを有することを特徴とする請求項1ないし8のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of the claims 1, characterized in that it has a notification means for notifying the detected process terminates abnormally the process the application management software operates by detecting means 8.
  10. 前記検知手段及び前記通知手段は、 It said sensing means and said notification means,
    前記第1のプロセス、前記第2のプロセス、及び前記第3のプロセス、又は、前記第1のプロセス及び前記第2のプロセスを生成した親プロセスで動作することを特徴とする請求項9に記載の情報処理装置。 Wherein the first process, the second process, and the third process, or, according to claim 9, characterized in that to operate in the first process and the parent process that generated the second process the information processing apparatus.
  11. 前記検知手段は、 It said detection means,
    子プロセスにあたる前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセス終了によるシグナルを受信することで、プロセスの異常終了を検知することを特徴とする請求項10に記載の情報処理装置。 By receiving the signal by the process ends other than the process of the application management software corresponding to the child process is operated, the information processing apparatus according to claim 10, characterized in that to detect the abnormal termination of the process.
  12. 前記検知手段及び前記通知手段は、 It said sensing means and said notification means,
    前記第1のプロセスで動作することを特徴とする請求項9に記載の情報処理装置。 The information processing apparatus according to claim 9, characterized in that to operate in the first process.
  13. 前記検知手段は、 It said detection means,
    前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスに対して、プロセスの状態を示す状態情報の取得を要求し、要求への応答があるか否かに基づき、プロセスの異常終了を検知することを特徴とする請求項12に記載の情報処理装置。 Characterized in that for the process other than the process of the application management software operates, and requests acquisition of the state information indicating the state of the process, based on whether there is a response to the request, to detect an abnormal termination of the process the information processing apparatus according to claim 12,.
  14. 前記検知手段は、 It said detection means,
    前記アプリケーション管理ソフトウェアが動作するプロセス以外のプロセスから送信されるプロセスの状態を示す状態情報を受信したか否かに基づき、プロセスの異常終了を検知することを特徴とする請求項12に記載の情報処理装置。 Information according to claim 12, wherein the basis from a process other than the process of the application management software operates on whether or not it has received the state information indicating the state of the process to be transmitted, to detect the abnormal termination of the process processing apparatus.
  15. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、 When the process of the application management software operation, having received the notification process abnormal end by said notification means,
    前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで動作するアプリケーションのアプリケーション識別情報を削除することを特徴とする請求項9ないし14のいずれか一項に記載の情報処理装置。 Said component having an application management software is, the application identification information for identifying the application, the information associating the process identification information for identifying a process in which the application runs, the application identification information of the applications running on abnormally terminated process the information processing apparatus according to any one of to 9 claims and deletes 14.
  16. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、 When the process of the application management software operation, having received the notification process abnormal end by said notification means,
    前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記アプリケーションごとの前記動作設定要求に対応するユーザインタフェースを構成する画面要素を識別する画面要素識別情報と、前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された画面要素の画面要素識別情報を削除することを特徴とする請求項9ないし15のいずれか一項に記載の情報処理装置。 It said component having an application management software is, the identifying screen element identification information screen elements of the user interface corresponding to the operation setting request for each of the applications, and a process identification information for identifying a process in which the application operates from information associating information processing apparatus according to any one of claims 9 to 15, wherein removing the screen element identification information aborted process the generated screen element.
  17. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、 When the process of the application management software operation, having received the notification process abnormal end by said notification means,
    前記アプリケーション管理ソフトウェアが有するコンポーネントが、前記実行要求を識別する実行要求識別情報と、実行対象となる前記アプリケーションが動作するプロセスを識別するプロセス識別情報とを関連付ける情報から、異常終了したプロセスで生成された実行要求の実行要求識別情報を削除することを特徴とする請求項9ないし16のいずれか一項に記載の情報処理装置。 Said component having an application management software is, the execution request identification information identifying the execution request from the information the application to be executed is to associate the process identification information for identifying the process to work, it is produced by abnormally terminated process the information processing apparatus according to any one of claims 9 to 16, characterized in that to remove the execution request identification information of the execution request.
  18. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、 When the process of the application management software operation, having received the notification process abnormal end by said notification means,
    異常終了したプロセスで動作していたアプリケーションのうち、 Among the applications that had been operating in the abnormally terminated process,
    プロセスが異常終了する直前に動作していたアプリケーションと、それ以外のアプリケーションとを、異なる態様で表示することを特徴とする請求項9ないし17のいずれか一項に記載の情報処理装置。 And process was running immediately prior to abnormal application termination, information processing apparatus according to any one of claims 9 to 17 and other applications, and displaying in a different manner.
  19. 異常終了したプロセスの有効化/無効化を選択設定する画面を表示することを特徴とする請求項9ないし18のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 9 to 18, characterized in that displaying a screen for selecting and setting the enable / disable abnormally terminated process.
  20. 前記アプリケーション管理ソフトウェアが動作するプロセスが、前記通知手段によるプロセス異常終了の通知を受け付けたときに、 When the process of the application management software operation, having received the notification process abnormal end by said notification means,
    異常終了したプロセスを無効に設定することを特徴とする請求項9ないし19のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 9 to 19, characterized in that to disable the abnormally terminated process.
  21. 原稿を画像データとして読み取る原稿読み取り装置と、 A document reader for reading an original as image data,
    画像データを紙に印刷する印刷装置と、 A printing apparatus for printing image data on paper,
    請求項1ないし20のいずれか一項に記載の情報処理装置とを有することを特徴とする画像処理装置。 It claims 1 image processing apparatus characterized by comprising an information processing apparatus according to any one of 20.
  22. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution method in an information processing apparatus that realizes a function of an application has,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、 And application management software to manage, such as start and stop of the application,
    前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、 Basic application software for realizing the basic function of the information processing apparatus has,
    前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行することを特徴とするアプリケーション実行方法。 How application execution, characterized in that the extended application software for realizing the extensions to be added to the information processing apparatus, each of which run in a different process.
  23. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution method in an information processing apparatus that realizes a function of an application has,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行し、 The basic application software for realizing the basic function of the application is started with the application management software for managing and end, and the information processing apparatus has performed in the first process,
    前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行することを特徴とするアプリケーション実行方法。 How the application execution and executes the extended application software for realizing the extensions to be added to the information processing apparatus in the second process.
  24. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution method in an information processing apparatus that realizes a function of an application has,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行し、 Executing a first process in which the application management software to manage such starting and stopping the application operates,
    予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行し、 The information processing apparatus has in advance, the input unit, and executes the second process the processing unit, and / or components program that functions as the output unit is operated,
    機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行することを特徴とするアプリケーション実行方法。 Wherein when enhancements are added to the information processing apparatus, the input unit, the processing unit, and / or application execution, wherein the component program that functions as the output unit performs the third process running Method.
  25. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行方法であって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution method in an information processing apparatus that realizes a function of an application has,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行し、 Startup and application management software for managing and end of the application, and the information processing apparatus has in advance, the input unit, the processing unit, and / or the first process component program operates to function as the output unit the execution,
    機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行することを特徴とするアプリケーション実行方法。 Wherein when enhancements are added to the information processing apparatus, the input unit, the processing unit, and / or application execution, wherein the component program that functions as the output unit performs the second process running Method.
  26. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution program in the information processing apparatus to realize the function that the application has,
    コンピュータに、 On the computer,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアと、 And application management software to manage, such as start and stop of the application,
    前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアと、 Basic application software for realizing the basic function of the information processing apparatus has,
    前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアとを、それぞれが異なるプロセスで実行させるアプリケーション実行プログラム。 The extended application software for realizing the extensions to be added to the information processing apparatus, an application execution program to be executed in each different process.
  27. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution program in the information processing apparatus to realize the function that the application has,
    コンピュータに、 On the computer,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、及び前記情報処理装置が有する基本機能を実現する基本アプリケーションソフトウェアを第1のプロセスで実行させ、 The basic application software for realizing the basic function of the application management software to manage such starting and stopping the application, and the information processing apparatus has to execute the first process,
    前記情報処理装置に追加される拡張機能を実現する拡張アプリケーションソフトウェアを第2のプロセスで実行させるアプリケーション実行プログラム。 Application execution program for executing the extended application software for realizing the extensions to be added to the information processing apparatus in the second process.
  28. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プログラムであって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution program in the information processing apparatus to realize the function that the application has,
    コンピュータに、 On the computer,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェアが動作する第1のプロセスを実行させ、 To execute the first process by the application management software to manage such starting and stopping the application operates,
    予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行させ、 Advance the information processing apparatus has the input unit, the processing unit, and / or to execute the second process component program operates to function as the output unit,
    機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第3のプロセスを実行させるアプリケーション実行プログラム。 Wherein when enhancements are added to the information processing apparatus, the input unit, the processing unit, and / or application execution program for executing the third process component programs to function as the output unit is operated.
  29. データを入力する入力部と、データを加工する加工部と、データを出力する出力部とを有し、前記入力部と、前記加工部と、前記出力部とを連携し動作させることで1つのアプリケーションが有する機能を実現する情報処理装置におけるアプリケーション実行プロセスであって、 An input unit for inputting data, a processing unit for processing the data, and an output unit for outputting data, said input unit, said a processing unit, one by linking work and said output portion an application execution process in the information processing apparatus to realize the function that the application has,
    コンピュータに、 On the computer,
    前記アプリケーションの起動と終了などの管理を行うアプリケーション管理ソフトウェア、ならびに予め前記情報処理装置が有する、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第1のプロセスを実行させ、 Startup and application management software for managing and end of the application, and the information processing apparatus has in advance, the input unit, the processing unit, and / or the first process component program operates to function as the output unit was executed,
    機能拡張のときに前記情報処理装置に追加される、前記入力部、前記加工部、及び/又は前記出力部として機能するコンポーネントプログラムが動作する第2のプロセスを実行させるアプリケーション実行プログラム。 Enhancements wherein is added to the information processing apparatus at the time of the input unit, the processing unit, and / or the application execution program component programs that function as an output unit to execute the second process running.
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
JP2007290214 2007-11-07
JP2008222129A JP2009134695A (en) 2007-11-07 2008-08-29 Information processor, image processor, application execution method and application execution program

Applications Claiming Priority (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
US12263691 US8438567B2 (en) 2007-11-07 2008-11-03 Information processing device and image processing apparatus

Publications (1)

Publication Number Publication Date
JP2009134695A true 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 (7)

* 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

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 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 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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

Similar Documents

Publication Publication Date Title
US8184311B2 (en) Image processing system
US20070038946A1 (en) Systems, methods and devices for controlling a multifunctional product using a scriptable user interface
US20040109188A1 (en) Image forming apparatus and methods used in the image forming apparatus
US20020054326A1 (en) Method of and apparatus for image formation, and computer product
US20080010600A1 (en) Configuring a graphical user interface on a multifunction peripheral
US20050226641A1 (en) Image forming apparatus, terminal apparatus, information processing method, information processing program and computer readable recording medium
US20060262349A1 (en) Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
US20070008583A1 (en) Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP2006352845A (en) Image handling apparatus, image processing system, image processing control method, and image processing control program program
US20070258098A1 (en) Image forming device and application execution method
JP2005269619A (en) Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
US20080055661A1 (en) Image forming apparatus, data processing method, and storage medium
US20060082801A1 (en) Image forming apparatus, information processing method, information processing program and recording medium
US20070091361A1 (en) Printer, print control method, and program for executing print control method
US20110231701A1 (en) Information processing system, management apparatus, information processing apparatus, and computer program product
JP2005050062A (en) Print processing system, method for processing information of system, information processor, method for processing information of processor, client apparatus, and information processing program
JP2005293407A (en) Information processor, input operation simplification method and program
JP2004005612A (en) System and method for obtaining resource information
US20110055736A1 (en) Image forming apparatus, method of providing UI user interface contents thereof, and host apparatus
US7325203B2 (en) Configuring a graphical user interface on a multifunction peripheral
US20110066960A1 (en) Program download system, program download method, image forming apparatus, program delivery server, and download program
US20060256366A1 (en) Intermediate stage emulation of firmware on connected host
US20080250430A1 (en) Method and corresponding apparatus for creation of print drivers in a network
JP2006079211A (en) Image formation apparatus, information processing method, information processing program and recording medium
US20090119553A1 (en) Information processing device and image processing apparatus

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