JP2006146693A - Application management method and its control program - Google Patents
Application management method and its control program Download PDFInfo
- Publication number
- JP2006146693A JP2006146693A JP2004337698A JP2004337698A JP2006146693A JP 2006146693 A JP2006146693 A JP 2006146693A JP 2004337698 A JP2004337698 A JP 2004337698A JP 2004337698 A JP2004337698 A JP 2004337698A JP 2006146693 A JP2006146693 A JP 2006146693A
- Authority
- JP
- Japan
- Prior art keywords
- transition
- event
- application
- state
- application management
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、複数の機能を有するいわゆる多機能プリンター等のアプリケーション管理システムに関するものである。 The present invention relates to an application management system such as a so-called multifunction printer having a plurality of functions.
従来のPCプリンターにおける制御ソフトウエアは、機構制御機能を主眼において作成されているため、ユーザーインターフェースに関わる制御やプリントソースの違い(ワードプロッセサのドキュメント、デジタルカメラの写真、スキャナーからの取り込み画像など)に起因するシーケンス切り替えなどの高度な制御を全てPCのアプリケーションに任せていた(例えば、特許文献1参照)。 Since control software for conventional PC printers is created mainly for mechanism control functions, control related to the user interface and print source differences (word processor documents, digital camera photos, scanned images from scanners, etc.) ) All of the advanced control such as sequence switching caused by (2) is left to the PC application (see, for example, Patent Document 1).
しかしながら、近年、デジタルカメラなどの普及に伴い、その出力媒体としてのプリンターに対する高機能化のニーズが高まってきており、従来のようなPCからの印刷機能だけでなくデジタルカメラからのダイレクト印刷機能やコピー機能、或いはファックス機能など、あらゆるプリントニーズに対応できるマルチファンクションプリンターが市場に投入されてきている。このような複合機能を持ったマルチファンクションプリンターでは、従来のPCプリンターと異なり、高度なユーザーインターフェースを持ち、スタンドアローンで使用可能な機能が要求され、それに伴い従来PCアプリケーションに任せていた制御を全て独自に行わなければならなくなってきている。マルチファンクションプリンターに対して求められる機能は決して単一ではなく、市場ターゲットに依存して変化することが当然であると考えられるので、機能の付加・削除に対して柔軟性を持ったソフトウエア構造が不可欠であり、そのためには機能ごとにモジュール化された個別のアプリケーションを間便に接続できる構成が必要となる。 However, in recent years, with the widespread use of digital cameras and the like, there has been an increasing need for higher functionality for printers as output media. In addition to conventional printing functions from PCs, direct printing functions from digital cameras and Multifunction printers that can meet all printing needs, such as copy functions or fax functions, have been introduced to the market. Unlike conventional PC printers, multi-function printers with such complex functions require an advanced user interface and functions that can be used stand-alone. You have to do it yourself. The function required for a multi-function printer is by no means a single thing, and it is natural that it will change depending on the market target, so the software structure has the flexibility to add and delete functions. For this purpose, it is necessary to have a configuration in which individual applications modularized for each function can be connected to a flight.
アプリケーションのモジュール性を高めて拡張性を持たせるためには以下の要素が重要である。
1.異なるアプリケーションであっても、キーイベントなどの共通リソースから発生するイベントは一本化して共通のインターフェースでハンドリングできる構造を持つこと。(拡張性)
2.共通リソースから発生するイベントを効率的に扱う為に、イベントを受け取るべきアプリケーションが限定される管理機構を持っていること。(処理の効率性)
3.アプリケーションは各機能(カメラからの印刷、コピー印刷など)を実現するために必要な制御のみを行えば良いような構成となっていること。(保守性)
もし、上記1が満たされないとすると、イベントを投げるモジュールがアプリケーションに応じて制御を変えなければならず、拡張性が保たれなくなる。また1が満たされていても2が満足されないと、全てのアプリケーションがラウンドロビン的に起動され、制御にかかるオーバーヘッドが増加してしまう。また3が満たされないと、各機能で共通な要素(例えばエラー発生時の制御など)までアプリケーションが制御しなければならなくなってしまう。
1. Even in different applications, the events generated from common resources such as key events should be unified and handled by a common interface. (Scalability)
2. In order to handle events generated from common resources efficiently, the system must have a management mechanism that limits the applications that should receive the events. (Processing efficiency)
3. The application must be configured to perform only the control necessary to realize each function (printing from a camera, copy printing, etc.). (Maintenance)
If the above 1 is not satisfied, the module that throws the event must change the control according to the application, and the expandability cannot be maintained. If 1 is satisfied but 2 is not satisfied, all applications are started in a round robin manner, and the overhead for control increases. If 3 is not satisfied, the application must control elements common to each function (for example, control when an error occurs).
しかしながら、プリンターなどの組み込み機器で一般的に用いられているItronなどのRTOSはPC上のOSとは異なり、キーイベントなどUI系の共通イベントを、並列に動作するアプリケーションプロセスに対して効率的にハンドリングするウインドーシステム機構を持たないので、このままでは上述した1,2の要素を満たせないという欠点があった。
However, RTOS such as Itron, which is generally used in embedded devices such as printers, is different from OS on a PC, and UI-related common events such as key events are efficiently handled for application processes operating in parallel. Since there is no window system mechanism for handling, there is a disadvantage that the above-described
OS以外のサブシステムがプロセスを管理する技術の一例として例えば、特許文献2に開示されているように、OSとプロセスの間に「プロセス管理プロセス」と呼ばれるサブシステムを導入することで、動作プロセスを管理する手法が提案されている。この手法を応用すれば同文献に記述された「動作条件」を適切に設定することで上述した2の要素は実現できるが、1と3の要素はやはり満たすことが出来ない。
As an example of a technique for managing a process by a subsystem other than the OS, for example, as disclosed in
本発明は、上述した問題点を解決するためになされたものであり、以下のような特徴を持つ。 The present invention has been made to solve the above-described problems, and has the following features.
複数のアプリケーションモードを有するシステム、あるいは、多機能プリンターシステムにおけるアプリケーション管理方法であって、
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とする。
An application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
It is characterized by providing.
「アプリケーションモード」とは、制御対象が明確に異なる機能毎に定義された一つのモードを表す。例えば、「デジタルカメラからのダイレクト印刷機能」、「任意のI/Fに接続されたストレージデバイスからの印刷機能」、「PCドライバーを介した印刷機能」、「スキャナーから画像を読み取りながら直接印刷を行うコピー印刷機能」などは、一般的に異なる制御を必要とし、それぞれが一つのアプリケーションモードを形成すると考えられる。それに対して「システム状態」とは、各アプリケーションモードに対して共通の概念を定義できる状態であり、例えば「エラー状態」などが「システム状態」に相当する。(尚、全てのモードにおける共通の概念として「アイドル状態」を定義する。この状態は、モードにおける「基底状態」であり、原則としてアプリケーションモードを管理するプロセス自身が制御するものとする。)ここでは、各アプリケーションモードを管理するモジュール(タスク)を単に「アプリケーション」と呼び、各システム状態を管理するモジュール(タスク)を「システム状態管理モジュール」と呼ぶことにする。 The “application mode” represents one mode defined for each function whose control target is clearly different. For example, “Direct print function from digital camera”, “Print function from storage device connected to any I / F”, “Print function via PC driver”, “Direct printing while reading image from scanner” The “copy printing function to be performed” generally requires different controls, and each is considered to form one application mode. On the other hand, “system state” is a state in which a common concept can be defined for each application mode. For example, “error state” corresponds to “system state”. (Note that the “idle state” is defined as a common concept in all modes. This state is the “base state” in the mode, and in principle is controlled by the process managing the application mode.) The module (task) for managing each application mode is simply referred to as “application”, and the module (task) for managing each system state is referred to as “system state management module”.
本願により、複数の機能を有する多機能システムにおいて、アプリケーション管理システムを導入し、イベント伝達系のインターフェースを統一することで個別モジュールのモジュール性を高めることができるので、結果としてシステムの拡張性を高めることができるという効果がある。 According to the present application, the modularity of individual modules can be improved by introducing an application management system in a multi-function system having a plurality of functions and unifying the interface of the event transmission system. As a result, the expandability of the system is improved. There is an effect that can be.
また、複数のアプリケーションモードにまたがって共通に定義されるシステム状態の概念を導入し、あるシステム状態における制御を一つのモジュールでモード横断的に行うことにより、モジュールの再利用性が高まり、結果としてシステム設計の生産性を向上させるという効果がある。 In addition, by introducing the concept of system state that is defined in common across multiple application modes and performing control in one system state across modes in one module, the reusability of the module increases, and as a result This has the effect of improving system design productivity.
また、システム状態間の遷移は、単純なスタックのプッシュ・ポップ操作のみによって行われるため遷移にかかる負荷を最小限に抑えることが可能である。更に遷移要求が満たされなかった時は内部的なキューイング機構が働き、また状態が変わった時にはキューをサーチして自動的に再遷移を起動する仕組みを持つと同時に状態の変化を通知する仕組みも有するため、アプリケーション或いは状態管理モジュールが遷移処理にかける負荷を軽減できる。これらの要素により処理を高速化できる効果がある。 Further, since the transition between the system states is performed only by a simple stack push / pop operation, the load on the transition can be minimized. Furthermore, when the transition request is not satisfied, an internal queuing mechanism works, and when the state changes, it has a mechanism that searches the queue and automatically starts re-transition, and at the same time notifies the state change Therefore, the load applied to the transition process by the application or the state management module can be reduced. These elements have the effect of speeding up the processing.
また、システムが起動されると、各アプリケーションは「ID付与手段」を呼び出して、ユニークなIDを獲得する。システム起動処理が終了すると、「アプリケーションモード遷移制御手段」において任意の方法を用いて起動時モードが決定される。この時取得された情報は、「システム状態管理スタック」の最基底部に書き込まれて、現在のアプリケーションモードを保持すると共に、システム状態が「アイドル状態」であることを明示化させる。「アイドル状態」における「アプリケーション」に対する共通イベント(例えばキー操作など)が発生すると、外部ハンドラーは「アプリケーション管理システムが提供する共通のAPI」を用いて対応するイベントを管理システムへ発行し、このイベントを受け取った「イベントディスパッチャー」が「システム状態管理スタック」に保持されたイベント通知方法を用いて「アプリケーション」に対して直接通知を行える。また、あるシステム状態を管理するモジュールが該当する状態遷移要因を検出した場合は、(例えば「エラー状態」を管理するモジュールがエラー発生を検出した場合など)任意のタイミングで「システム状態遷移制御手段」へ状態遷移要求イベントを通知することが出来る。 Further, when the system is activated, each application calls “ID assigning means” to acquire a unique ID. When the system activation process ends, the “application mode transition control means” determines the activation mode using an arbitrary method. The information acquired at this time is written in the most base part of the “system state management stack”, holds the current application mode, and makes it clear that the system state is “idle state”. When a common event (for example, key operation) for the “application” in the “idle state” occurs, the external handler issues a corresponding event to the management system using the “common API provided by the application management system”. The “event dispatcher” that received the message can directly notify the “application” using the event notification method held in the “system state management stack”. In addition, when a module that manages a certain system state detects a corresponding state transition factor (for example, when a module that manages an “error state” detects an error occurrence), “system state transition control means” Can be notified of a state transition request event.
また、イベントを受け取った「システム状態遷移制御手段」は、あらかじめ定義された任意の方法を用いて遷移条件を判断し、遷移条件を満たした場合は状態遷移処理を行って「システム状態管理モジュール」へ通知すると共に「システム状態管理スタック」をプッシュしてカレント状態の上に「該当するシステム状態」を追加する。この時新しく追加された「システム状態」には、イベントの通知方法として「該当するシステム状態を管理するシステム状態管理モジュール」が定義したものが書き込まれる。従って、「アプリケーション」が何ら特別な制御を行うことなく、「該当するシステム状態」における共通イベントは、上述したのと同じ原理で、「該当するシステム状態管理モジュール」へ直接通知されることになる。 In addition, the “system state transition control unit” that receives the event determines the transition condition using an arbitrary method defined in advance, and performs the state transition process when the transition condition is satisfied, thereby performing the “system state management module”. And push the “system state management stack” to add “corresponding system state” on top of the current state. In the newly added “system state”, the event notification method defined by the “system state management module for managing the corresponding system state” is written. Therefore, the common event in the “corresponding system state” is directly notified to the “corresponding system state management module” on the same principle as described above, without any special control by the “application”. .
また、遷移条件を満たさなかった要求は「遷移要求イベントキューイングステップ」によりキューイングされて、適当なタイミングで再遷移を行うことが出来る。状態を復帰させる動作は、上述した「状態管理スタック」へのプッシュ処理をポップ処理にするのみで、全く対象的に行うことが出来る。 Requests that do not satisfy the transition condition are queued by the “transition request event queuing step” and can be re-transitioned at an appropriate timing. The operation of restoring the state can be performed completely in a target manner only by changing the above-described push processing to the “state management stack” to the pop processing.
また、モード遷移が必要になるような外部イベントを受け取った「アプリケーション」は、任意のタイミングでアプリケーションモード遷移要求イベントを「アプリケーションモード遷移制御手段」へ送ることが可能である。「アプリケーションモード遷移制御手段」はイベントを受け取ると、要求元の情報と「システム状態管理スタック」の情報を参照して、遷移条件を満たした場合に、モード遷移処理を行い、「システム状態管理スタック」の最基底部に新しいアプリケーションの情報を書き込んでモードを切替えることができる。 An “application” that has received an external event that requires mode transition can send an application mode transition request event to “application mode transition control means” at an arbitrary timing. When the “application mode transition control means” receives the event, it refers to the information of the request source and the information of the “system state management stack” and performs the mode transition processing when the transition condition is satisfied, and the “system state management stack” The mode can be switched by writing new application information in the most basic part of "."
また、遷移条件を満たさなかった要求は「遷移要求イベントキューイングステップ」によりキューイングされて、適当なタイミングで再遷移を行うことが出来る。 Requests that do not satisfy the transition condition are queued by the “transition request event queuing step” and can be re-transitioned at an appropriate timing.
以上、述べたように、「アプリケーション」は、「アプリケーション管理システム」が定める共通I/Fを用いてイベントハンドリングの共通化を行うことが出来ると共に、アプリケーションへイベントを送るためのI/Fも共通化されるので、モジュールの拡張性を高めることが出来る。 As described above, the “application” can share the event handling using the common I / F determined by the “application management system”, and the I / F for sending the event to the application is also common. Therefore, the extensibility of the module can be improved.
また、「アプリケーションモード遷移制御手段」は遷移要求元が送付したデータを元にモード遷移制御を行い、更に「システム状態遷移制御手段」は、あらかじめ定義された方法でシステム状態遷移制御を行い、共に管理情報を「状態管理スタック」に書き込むことでカレント情報が「状態管理スタック」で一元管理されるため、任意のモード・状態の組み合わせにおいて、イベント通知方法が一義的に決定される。 The “application mode transition control means” performs mode transition control based on the data sent by the transition request source, and the “system state transition control means” performs system state transition control by a predefined method. Since the current information is centrally managed by the “state management stack” by writing the management information to the “state management stack”, the event notification method is uniquely determined in any mode / state combination.
更に、「システム状態管理モージュール」及び「システム状態遷移制御手段」は、上述した方法で連係してシステム状態遷移と、その状態における制御を行うため、「アプリケーション」を自身の機能実現の為だけに特化させることが可能になる。 Furthermore, the “system state management module” and the “system state transition control means” cooperate with the above-described method to perform system state transition and control in that state. It becomes possible to specialize in.
(実施例1)
本発明の第1実施例について説明する。(本実施例は本発明を多機能プリンターに適用した場合のことを想定しているが、同じようなシステム構成をとる任意の装置に適用可能なことは言うまでも無い。)まず、本実施例における構成について図1を用いて説明する。同図において、100はアプリケーション管理システムである。101はアプリケーションモード遷移制御手段であり、特定のプロセスから発生するアプリケーションモード遷移要求イベントを受け取って、モード遷移を制御する。102は遷移要求イベントキューであり、アプリケーションモード遷移制御手段(101)或いはシステム状態遷移制御手段(103)での遷移処理において遷移条件が満たされなかった時に、要求イベントの履歴を保存するためのものである。103はシステム状態遷移制御手段であり、特定のプロセスから発生するシステム状態遷移要求イベントを受け取って、状態遷移を制御する。105はシステム状態管理スタックであり、モード遷移制御手段(101)または状態遷移制御手段(103)によってカレント状態がプッシュ或いはポップされる。113はイベントディスパッチャーであり、共通イベントをアプリケーション或いは状態管理モジュールへ通知する。114はID付与手段であり、制御対象となるモジュールに対してユニークなIDを割り振る機能を提供する。次に本実施例の動作について詳細に説明する。
Example 1
A first embodiment of the present invention will be described. (This embodiment assumes that the present invention is applied to a multi-function printer, but it goes without saying that it can be applied to any apparatus having a similar system configuration.) First, this embodiment A configuration in the example will be described with reference to FIG. In the figure,
始めにシステム起動時の処理について図20を用いて説明する。同図はシステム起動時の処理フローを表す。システムが起動されるとOSリソースなどの初期化後に、まずS2001においてID付与手段(114)の初期化が行われる。続いて各アプリケーションとシステム状態管理モジュールが起動されて、S2002〜S2004のループでID割付処理が行われる。S2003におけるID割付は、各モジュールがID付与手段(114)が提供するI/Fを呼び出して、ユニークなIDを獲得する処理である。(以降、便箋的に、アプリケーションに与えられるIDを特にアプリケーションIDと呼び、システム状態管理モジュールに与えられるIDをシステムIDと呼ぶことにする。)IDを獲得した各モジュールは、自身のIDを覚えておく。全てのアプリケーション及びシステム状態管理モジュールに対するID付与が終了したら、各モジュールはタスク間通信などの機能を用いて、制御の為に必要な他のモジュールのIDを取得する。次にS2005でアプリケーション管理システム100の初期化が行われ、続いてS2006でシステム状態管理スタック(105)へビルトインアプリの情報が設定される。(後述するように、このアプリケーションは、システムが状態遷移途中にあって有効なモードが確定するまでの間だけ、暫定的に起動されるアプリケーションである。)この後、アプリケーション管理システム100は、タスク遅延などの手段を用いて、アプリケーションに実行権を渡し、その間に、システム的にあらかじめ定められた「デフォルトモードアプリケーション」と、もし遷移要因が整っていれば任意のアプリケーションがモード遷移要求イベントを発行する。実行権を回復したアプリケーション管理システム100は、S2007でモード遷移シーケンスを起動して、初期化時のアプリケーションを立ち上げ、処理を終了する。(モード遷移に関しては、後述する。)ここでは、ID付与手段(114)が動的に各制御対象モジュールに対してIDを付与する方法について説明したが、これを静的に行う方法を用いても良い。即ち、システム設計時に抽出された動作モードとシステム状態に対して、マクロなどを用いて、あらかじめユニークなIDを静的に付与しておくことで、ここで述べた動的なID付与処理は省略することも可能である。以上で起動時処理の説明を終わる。
First, processing at the time of system startup will be described with reference to FIG. This figure shows the processing flow at the time of system startup. When the system is activated, after the OS resources and the like are initialized, first, the ID assigning means (114) is initialized in S2001. Subsequently, each application and the system state management module are activated, and ID assignment processing is performed in a loop of S2002 to S2004. The ID allocation in S2003 is a process in which each module calls an I / F provided by the ID assigning means (114) to acquire a unique ID. (Hereinafter, the ID given to the application is referred to as an application ID, and the ID given to the system state management module is called a system ID in the form of stationery.) Each module that has acquired the ID remembers its own ID. Keep it. When ID assignment to all applications and system state management modules is completed, each module acquires IDs of other modules necessary for control using functions such as inter-task communication. In step S2005, the
次にアプリケーションモード遷移制御処理について図5を用いて説明する。(ここでの説明はアプリケーションAからアプリケーションBへ遷移するものとして議論する。遷移前の状態は図21(A)のようになっているものとする。)同図は、アプリケーションモード遷移制御処理のフローを表している。S501〜S502における処理は、外部イベントハンドラーによる処理を表す。S503〜S505における処理は、モード遷移要求元であるプロセスによる処理を表す。(モード遷移イベント要求元となるプロセスは、必ずしもアプリケーションそのものである必要はないが、ここでは簡単の為にアプリケーションB自身が要求元であるものとする。)S506〜S520における処理は、アプリケーション管理システム100での処理を表す。また、S523〜S524における処理は一義的にコンテキストが定まらないものであり、システムに依存してアプリケーションAのコンテキストかアプリケーション管理システム100のコンテキストのどちらかに属する。同様にS521〜S522の処理は、アプリケーションBのコンテキストかアプリケーション管理システム100のコンテキストのどちらかに属する。今、イベントハンドラーがアプリケーションBの起動要因を検出したとすると(S501)、そのイベントが任意の方法を用いてアプリケーションBに伝えられる。(S502)(イベントハンドラー及び起動要因に関しては、システムに依存して任意の構成をとることが出来る。例えばアプリケーションBがデジタルカメラからの直接印刷機能を制御するものであるとすれば、イベントハンドラーはUSBなどのインターフェースを監視し、カメラ接続事象を起動要因として、アプリケーションBをキックするようなものが考えられる。)イベント待ち状態であったアプリケーションBは、S503においてハンドラーからの遷移要因検出イベントを受けて、続くS504で、アプリケーション遷移制御手段(101)が提供するインターフェース(API)を通じて、モード遷移要求イベントを発生させる。このインターフェースは、(1)遷移イベント要求元、(2)遷移イベントの種類、(3)付加情報の長さ、(4)付加情報へのポインター111、(5)優先順位181、(6)イベント通知手段182、をアプリケーションが設定して呼び出すものである。ここで(3)及び(4)は、呼び出し元とイベント種別に依存したデータである。(付加データとして明示的に定義された型を用いないのは、システム依存な部分をなるべく排除し、アプリケーション管理システム100の汎用性を確保するためである。)また(6)は、イベントを通知する為の方法として、定義された関数型であり、引数としてイベント種別と付加データへのポインター84が与えられる。APIでは、付加情報の長さ分のメモリー領域を確保して、(4)の内容をコピーした後、図18で示されるようなパケットを生成してアプリケーション管理システム100に送付する。S506でイベント待ち状態であったアプリケーション管理システム100は、モード遷移イベントがアプリケーションB(ID=2)から発生したことを受けて、遷移シーケンスに入る。遷移シーケンスが起動されると、まずS507においてモード遷移可能かどうかが判断される。モード遷移可能条件は、次の3つの条件のANDで判断される。
1.システム状態がアイドル状態である。(スタックポインターが最下段を指している。)
2.内部状態が遷移中ではない。
3.遷移先のモードの優先度が現在の優先度より高い。
Next, the application mode transition control process will be described with reference to FIG. (The description here will be discussed as a transition from application A to application B. Assume that the state before the transition is as shown in FIG. 21A.) FIG. Represents a flow. The processing in S501 to S502 represents processing by an external event handler. The processing in S503 to S505 represents processing by the process that is the mode transition request source. (The process that is the mode transition event request source is not necessarily the application itself, but for the sake of simplicity, it is assumed that the application B itself is the request source.) The processing in S506 to S520 is performed by the application management system. 100 represents processing. Further, the processing in S523 to S524 is not uniquely defined in context, and belongs to either the context of application A or the context of
1. The system state is idle. (The stack pointer points to the bottom.)
2. The internal state is not transitioning.
3. The priority of the mode at the transition destination is higher than the current priority.
上記判断のための情報を獲得するために、図21(A)に示されたスタックポインター213が指す状態管理スタック211から、システム状態34とカレント優先度33、及びイベント通知方法35(ここでは“FUNC_A”)が読み出される。同時に、S506で獲得したパケットにアクセスして、遷移先モードの優先度33とイベント通知方法35(ここでは“FUNC_B”)が読み出される。これらの情報を用いて、上記1と3の条件が満たされるかどうかが判断され、同時にアプリケーション管理システム100の内部情報である内部状態が2を満たすかどうかが判断される。全ての条件が満たされると遷移シーケンスが続行される。(条件が満たされなかった場合は、S509において要求イベントのキューイング処理が行われるが、これについては後述する。)続くS508で内部状態をモード遷移中に設定する。S511では、状態管理スタック211をポップした後、ビルトインアプリケーションの情報をプッシュする。(ビルトインアプリケーションとは、ID=0を割り振られた特殊なアプリケーションであり、起動時直後、或いはアプリケーション管理システム100が遷移処理状態にある時に暫定的なモード支配を行う様に設計されている。起動時アプリケーションが定義するイベント通知方法35(FUNC_SYS)は、起動要求、停止要求、状態遷移通知のみ受け付けるようになっており、他の共通イベントは全てFailする。従って起動時アプリケーションモードで発生した共通事象は全てシステムフックへ流されることになり、単純なUI系イベントなどへの応答はしない。これに関連して、アイドル状態におけるイベントディスパッチ機構については後述する。)続いてS512、S513では、S507において読み出しておいたそれぞれのイベント通知方法35(FUNC_A,FUNC_B)を用いてアプリケーションAには停止要求を、そしてアプリケーションBには起動要求をそれぞれ送付する。(この時、S506で受け取ったパケットの付加情報も一緒に送る。)これらの通知処理を行った後、アプリケーション管理システム100はS514でイベント待ち状態になる。一方、停止要求を受け取ったアプリケーションAは、S523において停止の為に必要な処理を行う。(ここでの処理内容は、システムに依存して様々なものが有り得るが、例えば内部状態を切り替えたり、表示系などに関連した不要なリソースを解放する処理などが考えられる。)S523での処理が終了したら、S524においてアプリケーション管理システム100へ停止処理が終了したことを伝える。(通知は、アプリケーション管理システム100が用意したAPIなどのインターフェースを用いて行う。)同様にしてアプリケーションBはS521で起動処理(表示リソースの確保、初期表示等)を行った後、S522で起動処理終了通知をアプリケーション管理システム100へ送る。(前述したように、これら2つの処理が行われるコンテキストは、アプリケーション側でも、アプリケーション管理システム側でも構わない。即ちS512において呼び出されたFUNC_Aの中でS523、S524の処理が完結できるのであれば実行コンテキストは管理システム側になるし、ここでイベント通知のみが行われるのであれば、実行コンテキストは、アプリケーション側になる。どちらの形態をとるかは処理負荷などに応じて実装依存で定まることであり、肝心な事は必ず処理終了通知によって同期をとることである。)S514でイベント待ち状態だったアプリケーション管理システム100は、停止終了通知と起動終了通知が両方とも揃ったことを確認したら、モード遷移シーケンスを継続させてS515に進み、システム状態管理スタック105にアプリケーションBの管理情報を書き込み、更にモード遷移中であった内部状態をクリアする。更にS516において遷移要求イベントキュー102が調べられて、保留イベントが存在したらS518でリストの先頭要素を取り出す。取り出された要素のイベント種別83がS519で調べられて、もしイベントが状態遷移要求であったら、S1007へ分岐して状態遷移制御シーケンスが起動され、モード遷移要求であったら、再びS507へ戻って新しいモード遷移シーケンスに入る。キューが空であったら、そこで処理を終了する。(S517でイベント待ちになる。)モード遷移処理が終了するとアプリケーション管理システム100内の状態は図21(B)のようになり、アプリケーションBが管理するモードとなる(尚、状態管理スタック211のデータ構造についても図21(C)に示しておく)。
In order to acquire the information for the determination, the
次にS509で行われるモード遷移要求イベント保留処理について図6を用いて説明する。処理が起動されるとモード遷移制御手段(101)は、S601で遷移要求イベントキュー(102)を検査してリストが空でないかどうか確認する。リストが空であった時には、S602においてリスト領域を確保し、必要な情報をリスト要素にコピーしてリストの先頭につなぐ。もしリストが空でなかった時は、S603でリストの検索処理を行う。検索処理は、(1)対象イベントのIDと等しい要素の検索、(2)対象イベントの優先度より低い(数値が小さいほうが優先度が高い)要素の検索、の順に行われ、(1)でヒットした場合は、S604で要素の入れ替え処理のみが行われ、(1)でヒットしなかった場合は、(2)で検索された要素の直前に、対象イベントの内容をコピーした新しいリスト要素を挿入する。(S605)(尚、(2)の検索処理において、リスト内の全ての要素の優先度が対象イベントの優先度以上であった場合は、リストの最後に接続される。)最後にS606において、対象イベントのイベント通知方法35を用いて、イベントが保留されたことと保留要因(優先度に起因するものか、システム状態に起因するものか)を通知する。ここで用いるキューイングリストの構造は、例えば図8に示したようなものである。同図(A)はリスト要素のデータ構造であり、previous81/next82はそれぞれ自分の前及び後に接続された要素へのポインターであり、ID43、優先度33、及びイベント通知方法35は、全てモード遷移要求発行元の情報である。またイベント種別83は、遷移シーケンス起動の要因となった遷移要求イベントである。リストは同図(B)に示されたように優先度順の1次元リンクリストとして保持される。(ここで示したリスト構造は、一般的に用いられている優先度付汎用リスト構造である。ここでは、構造を例示したのみであり、本発明の範囲がこの構造に限定される訳ではない。)以上が、モード遷移要求イベント保留処理のシーケンスであるが、保留されたイベントは後述するように、状態遷移のタイミングで必ずフックされてしまう。もし、保留解除を待っている間に、モード遷移条件が崩れてしまったり(例えば一度接続されたデジタルカメラがはずされた等)、システム仕様的に、そもそも保留する必要がなかったりする場合も考えられるので、モード遷移制御手段(101)は、保留された遷移要求イベントを解除するインターフェースも備えている。このインターフェースを通じて呼び出された処理は、図9に示したシーケンスフローにより保留イベントを解除する。以上で、モード遷移要求イベント保留処理の説明を終わる。
Next, the mode transition request event hold processing performed in S509 will be described with reference to FIG. When the process is started, the mode transition control means (101) checks the transition request event queue (102) in S601 to check whether the list is not empty. When the list is empty, a list area is secured in S602, and necessary information is copied to the list element and connected to the head of the list. If the list is not empty, a list search process is performed in S603. The search processing is performed in the order of (1) search for an element equal to the ID of the target event, and (2) search for an element lower than the priority of the target event (the smaller the numerical value, the higher the priority). If there is a hit, only the element replacement process is performed in S604. If no hit is found in (1), a new list element in which the content of the target event is copied immediately before the element searched in (2). insert. (S605) (In the search process of (2), if the priority of all elements in the list is equal to or higher than the priority of the target event, it is connected to the end of the list.) Finally, in S606 The
次にシステム状態遷移制御処理について、図10を用いて説明する。同図はシステム状態遷移制御処理のフローを表す。同図においてS1001〜S1002の処理は、外部イベントハンドラーによる処理を表す。S1003〜S1005の処理は、遷移要求元での処理を表す。また、S1006〜S1018の処理はアプリケーション管理システム100における処理を表す。今、イベントハンドラーが状態遷移要因を検出したとすると(S1001)、そのイベントが任意の方法を用いて、状態遷移要求元となるモジュールに通知される。ここから状態遷移要求元がアプリケーション管理システム100が提供するAPIをコールして、状態遷移要求イベントを通知するまでの処理過程は、モード遷移制御においてS503からS506で行われるそれと殆ど同じであるので詳細な説明は省く。結果として、図18で示された型のパケットがアプリケーション管理システム100へ送られて、状態遷移要求イベントの発生が認識される。
Next, the system state transition control process will be described with reference to FIG. This figure shows the flow of system state transition control processing. In the figure, the processing of S1001 to S1002 represents processing by an external event handler. The processing from S1003 to S1005 represents processing at the transition request source. Further, the processing of S1006 to S1018 represents processing in the
ここで状態遷移要求イベントに関してその定義を説明しておく。パケットのイベント種別83には、(1)アップスタックイベント、または(2)ダウンスタックイベント、のどちらかが格納されている。2つのイベントの定義は下記で与えられる。
(1)アップスタックイベント
新たな状態を状態管理スタックへ積み重ねる。
(2)ダウンスタックイベント
既に状態管理スタック211に入った状態を解除する。
Here, the definition of the state transition request event will be described. The
(1) Up stack event A new state is stacked on the state management stack.
(2) Down stack event The state that has already entered the state management stack 211 is released.
再び図10に戻ってシーケンスの説明を続ける。 Returning to FIG. 10 again, the description of the sequence will be continued.
イベントを受け取ったアプリケーション管理システム100は、S1006において状態遷移制御手段を呼び出して状態遷移シーケンスを起動する。同シーケンスは、まずS1007で受け取ったパケットの内容を解析し、遷移先のSystem IDとイベント通知方法35をパケットから取得する。ここで取得したイベント通知方法35がNULLだった場合は、この要求を無効であるものと見なし、イベントを捨てて処理を終了してしまう。イベント通知方法35が有効であった時は、遷移可能条件が満たされているかどうかが判断される。遷移が許可されるためには、イベント種別83に応じて下記の条件を満たす必要がある。
(1)アップスタックイベントの時
1.内部状態が遷移処理中ではなく、かつ
2.カレント状態管理モジュールが遷移を許可する。
(2)ダウンスタックイベントの時
1.内部状態が遷移処理中ではない。
In step S1006, the
(1) Up
(2) At a down stack event The internal state is not in transition processing.
アップスタックイベントの時は、2の条件を評価するために、カレント状態管理モジュールのイベント通知方法35に対して、状態遷移判断要求イベントが遷移先のSystem IDと共に送付される。アプリケーション管理システム100は、この関数の戻り値に応じて2の条件を評価する。ここで遷移が可能であると判断された場合は、遷移シーケンスを継続し、S1008へ進む。(遷移が不可能であった場合は、S1009で状態遷移要求イベントの保留処理が行われるが、この処理は図6の処理と同じである。ただし、モード遷移要求と異なり状態遷移要求は全て優先度0(優先度最大)の事象として扱われるので、必ずモード遷移要求より前につながれる。また、状態遷移要求同士の順位はFIFO型になる。)S1008ではアプリケーション管理システム100の内部状態を状態遷移処理中に設定する。続くS1011では、システム状態管理スタック105をビルトインアプリのものに設定する。(この処理は、S511と同じ処理である。)次にS1012でイベントの種別による分岐が行われて、アップスタック処理(S1014)またはダウンスタック処理(S1013)が起動される。これらの処理が終了すると、S1015〜S1018においてキューイングリストへの対応処理が行われる(S516〜S519での処理と同じ)。
In the case of an up-stack event, a state transition determination request event is sent together with the system ID of the transition destination to the
次に図12を用いてS1014におけるアップスタック処理について説明する。まずS1201において遷移先に起動要求イベントを発行した後、イベント待ち状態に入る。(S1204)遷移先が起動終了通知を返してきたら、シーケンスを継続し、S1205で状態管理スタック211を操作する。この処理は、まずスタックをポップしてビルトインアプリ状態を解除してから、遷移先状態をスタックにプッシュするものである。最後にS1207で現在の状態管理スタック211上にある全てのモジュールに対して、状態遷移通知イベントを発行する。この時、イベントと共に図14に示した構造をもつデータが各モジュールに送られる。同図において直前状態のID141及びカレント状態のID142は、それぞれ遷移前後でスタックの頂点にあった状態を表すSystem ID(アプリケーションの場合はアプリケーションID)であり、イベント種別83は遷移の起点となった遷移要求イベント(アップスタック要求、ダウンスタック要求、モード遷移要求)であり、付加情報は遷移要求元が要求イベント発行時に送ってきたものである。各モジュールは、通知イベントに同期して送られて来るこれらのデータを解析することで、必要な動作を行うことが出来る(例えば、状態遷移要求イベントを一度けられて、かつキューを削除した後で、遷移要求の再送タイミングを待っていたモジュールは、データを解析して遷移可能であると判断できる状態であれば、状態遷移要求を行うことが出来る)。
Next, the up stack process in S1014 will be described with reference to FIG. First, in S1201, an activation request event is issued to the transition destination, and then an event wait state is entered. (S1204) When the transition destination returns an activation end notification, the sequence is continued, and the state management stack 211 is operated in S1205. In this process, the stack is first popped to cancel the built-in app state, and then the transition destination state is pushed onto the stack. Finally, in step S1207, a state transition notification event is issued to all modules on the current state management stack 211. At this time, data having the structure shown in FIG. 14 is sent to each module together with the event. In the same figure, ID 141 in the previous state and
次に図13を用いてダウンスタック処理について説明する。まずS1301で状態管理スタック211を上から下へ検索して要求元のIDと等しい情報を取り出す。(取り出した後のスタックは詰めておく)次にS1302で対象のモジュールに対し、停止要求イベントを投げた後S1305でイベント待ち状態になる。停止要求イベントを受けたモジュールから停止終了通知を受け取ったら、シーケンスを継続してS1306で状態管理スタック211を操作し、ビルトインアプリ状態を解除する。その後、状態遷移通知イベント発行処理(S1308)を行ってシーケンスを終了する(これらの処理は、S1207におけるものと同じである)。 Next, the down stack process will be described with reference to FIG. First, in step S1301, the state management stack 211 is searched from top to bottom, and information equal to the request source ID is extracted. (The stack after removal is packed) Next, after a stop request event is thrown to the target module in S1302, an event wait state is entered in S1305. When the stop end notification is received from the module that has received the stop request event, the sequence is continued and the state management stack 211 is operated in S1306 to release the built-in app state. Thereafter, a state transition notification event issuing process (S1308) is performed to end the sequence (these processes are the same as those in S1207).
ここで状態のネストについて簡単に説明しておく。注意深く設計されたシステムでは、状態管理スタック211上に同じ状態が複数現れることは稀である。(逆にそのようにシステム設計すべきである。)しかし、場合によっては状態のネストが生じることが避けられないこともあり得る。例えば、あるエラーが発生してエラー状態151になった後で、エラー解除の為にAの状態152に入り、そこでまたエラーが発生して状態Aを管理するモジュールが対応処理を何も行わなかった場合、図15のようなスタック状態になることが考えられる。上述した様にダウンスタック処理ではS1301におけるスタック探索が上から下へ行われ、かつ対象が最上位にいなくても状態解除が可能なシーケンスとなっているため、仮にこの状態で最初に生じたエラーと2番目に生じたエラーが同時に解除されて、エラー状態管理モジュールが複雑なシーケンス管理を行わずに、ダウンスタックイベントを2回続けて投げるだけの操作を行ったとしても、状態の辻褄を合わせることが可能である。
Here is a brief description of state nesting. In a carefully designed system, multiple occurrences of the same state on the state management stack 211 are rare. (Conversely, the system should be designed in that way.) However, in some cases, it may be unavoidable that nesting of states occurs. For example, after an error occurs and the
次に本システムにおけるイベントディスパッチシーケンスについて図16を用いて説明する。このシーケンスは、発生したイベントが前述した遷移要求イベント以外である時に起動されるものである。S1601でイベント発生要因を検出した外部ハンドラーが、S1602でアプリケーション管理システム100が提供するAPIを用いてイベントを通知する動作は、図5または図10で説明したものと全く同じ処理内容である。(ただし、この場合図18で示したパケットデータのうち、有効なものはイベント種別83と付加情報へのポインターのみとなる。)S1603でイベント通知を受けたアプリケーション管理システム100は、イベントディスパッチ手段(113)を呼び出してディスパッチシーケンスを起動する。同シーケンスが起動されると、S1604においてシステム状態管理スタック105のスタックポインターが指す位置に格納されたモジュールのイベント通知方法35を使ってイベントが通知される。S1605では、呼び出したコールバックの戻り値を見て、処理が成功していたらS1606へ分岐してシーケンスを終了する。もし、コールバック関数が処理失敗を返してきたら、S1607のシステムディスパッチを行う。システムディスパッチャーは、あらかじめ定義された(或いは動的に登録された)ルーチンを用いて、主にシステムよりのイベントを処理するように実装されている。(例えば、動作中に電源キーが押された場合は、システムの電源を切る動作を統一的に行うことが一般的である。このようなイベントを処理するのがシステムディスパッチャーである。)
以上で、本実施例における全ての制御シーケンスの説明を終わる。
Next, an event dispatch sequence in this system will be described with reference to FIG. This sequence is activated when the generated event is other than the transition request event described above. The operation in which the external handler that detected the event occurrence factor in S1601 notifies the event using the API provided by the
Above, description of all the control sequences in a present Example is completed.
(実施例2)
本発明の第2実施例について説明する。(本実施例は本発明を多機能プリンターに適用した場合のことを想定しているが、同じようなシステム構成をとる任意の装置に適用可能なことは言うまでも無い。)まず、本実施例における構成について図17を用いて説明する。(同図において第一実施例の構成図面である図1における構成要素と同じ機能を有するものについては、同じ参照符号を記し、説明を省く。)
同図において、1700はアプリケーション管理システムである。1706はアプリケーション管理テーブルであり、そのコンテンツとしてアプリケーション登録テーブル(1707)及びシステム状態管理モジュール登録テーブル(1708〜1711)を含んでいる。1712はアプリケーション登録手段であり、アプリケーションがアプリケーション管理情報をアプリケーション管理テーブル(1706)へ登録したり、アプリケーション管理テーブル(1706)から削除したりするためのインターフェースを与える。113はイベントディスパッチャーであり、共通イベントをアプリケーション或いは状態管理モジュールへ通知する。1714は初期化同期手段であり、システム起動時にアプリケーションが登録動作を行う為に必要な同期機能を提供する。次に本実施例の動作について詳細に説明する。
(Example 2)
A second embodiment of the present invention will be described. (This embodiment assumes that the present invention is applied to a multi-function printer, but it goes without saying that it can be applied to any apparatus having a similar system configuration.) First, this embodiment A configuration in the example will be described with reference to FIG. (In the figure, components having the same functions as the components in FIG. 1, which is the configuration diagram of the first embodiment, are given the same reference numerals and will not be described).
In the figure,
始めにアプリケーションの登録・削除処理について説明する。 First, application registration / deletion processing will be described.
まずアプリケーションの登録処理について図2を用いて説明する。同図はシステム起動時に行われるアプリケーション登録処理のフローを表す。システムが起動されるとOSリソースなどの初期化後に、まず初期化同期手段(1714)の初期化が行われ、次に各アプリケーションタスクが起動されてS201〜S203のループで各アプリケーションが初期化同期のために必要なフラグを獲得する。この処理は各アプリケーションが初期化同期手段(1714)を呼び出して、ユニークなフラグを獲得する処理である。この時、初期化同期手段(1714)は、自分が与えたフラグを全て覚えておく。フラグを獲得したアプリケーションは、例えば初期値が0である共通のセマフォをゲットしにいくことで、待ち状態になる。全てのアプリケーションがフラグを獲得して待ち状態になると、S204においてアプリケーション管理システム1700が起動されて、自身を初期化する。この初期化では、アプリケーション管理テーブル(1706)やシステム状態管理スタック(105)などの動的リソースに対する初期化処理を加える。アプリケーション管理システム(1700)は、自身の初期化が終了すると初期化同期手段(1714)を呼び出して初期化終了を通知すると共に待ち状態に入る。初期化同期手段(1714)は例えば上述したセマフォをリリースすることで待ち行列に入っている先頭のアプリケーションを動作状態にする。初期化同期フラグ獲得後に待ち状態に入っていた各アプリケーションは、この事象に同期してS205〜S208のループでアプリケーション登録を行う。S206において行われるアプリケーション登録処理とは、自身のアプリケーション管理情報を、アプリケーション登録手段(1712)を用いてアプリケーション管理テーブル1706に記録する一連の手続きである。アプリケーション管理情報は図3に示した情報を含んでおり、図示されたように自身の優先度33とイベント通知方法35、及びあらかじめ定義されたシステム状態34におけるイベント通知方法35を指定する。(本実施例のシステムでは、システム状態34として「Print状態」、「Error状態」、「InkChange状態」が定義されているものとする。当然の事ながら、これらの定義はシステムに依存して定まるものであり、この例に限定されるものではない。)今、アプリケーション(A)から図3(A)で示された管理情報が、アプリケーション登録手段(1712)に送られたものとすると、アプリケーション登録手段(1712)はアプリケーション(A)に対してユニークなアプリケーションID=1を割り当てる。次にアプリケーション登録テーブル(1707)における“ID=1”の項に、送られて来た優先度33と、イベント通知方法35を書き込む。更にID=1にリンクされるシステム状態管理モジュール登録テーブル(1708)に、送られて来た各状態におけるイベント通知方法35を書き込む。この時、図3(A)の3行目(或いは4行目)で例示されているようにイベント通知方法35が“Default”指定されていた場合は、システムがあらかじめ用意したデフォルトの方法をシステム状態管理モジュール登録テーブル(1708)へ書き込む。また、図3(B)に例示したように、登録指定の無いシステム状態に関しては、システム状態管理モジュール登録テーブル(1708)の該当する要素に“NULL”を書き込んで、そのアプリケーションモードにおける無効なシステム状態を明示する。これら、アプリケーション管理テーブル1706への書き込み処理が終了すると、アプリケーション登録手段1712は、割り振ったアプリケーションIDを呼び出し元のアプリケーションへ返す。自身のIDを獲得したアプリケーションは、IDを記憶すると共に、S207において初期化同期手段(1714)へ自分の初期化同期フラグを通知して登録処理が終了したことを通知する。初期化同期フラグを返却された初期化同期手段(1714)は、該当フラグをクリアした後、例えば前述したセマフォを再びリリースすることで、次のアプリケーションへ登録権を与える。以上の動作を全ての初期化同期フラグがクリアされるまで繰り返すことで、S205〜S208のループが完結する。(尚、各モードにおける(即ち異なるアプリケーションIDを持つ)モード制御を行うアプリケーションの実体が必ずしも異なる必要はない。もしモードを分割した方が見通しが良いが、タスクを分けてリソースを消費するほどの価値が見出せない2つの近接したモードがあったら、同じモジュールが2つのモードを制御するような構成にすることも一案である。)アプリケーション登録処理によって生成されたアプリケーション管理テーブル(1706)の一例を図4に示した。ID=1を割り振られたアプリケーションは、優先度=128であり、イベント通知方法35は“FUNC_A”で与えられている。また「Print状態」、「Error状態」、「InkChange状態」を全てハンドリング可能であり、この内「Print状態」におけるイベント通知方法35には独自のメソッドを定義している。同様にしてID=2を持つアプリケーションは、優先度=64であり、イベント通知方法35は“FUNC_B”で与えられる。またシステム状態のうち、「Print状態」をとることは無い。ID=0のアプリケーションは、優先度が255であり、全てのシステム状態が無効である。(後述するように、このアプリケーションは、システムが状態遷移途中にあって有効なモードが確定するまでの間だけ、暫定的に起動される「ビルトインアプリケーション」である。)システム状態管理モジュール登録テーブル42には状態名として“System ID”が記述されているが、これはあらかじめ定義されたシステム状態をID番号で識別するためのものである(尚、この後、起動時の初期アプリケーション立ち上げ処理が行われるが、これに関しては第一実施例と同じであるので説明を省略する)。
First, application registration processing will be described with reference to FIG. This figure shows the flow of application registration processing performed at the time of system startup. When the system is activated, the initialization synchronization means (1714) is first initialized after the OS resources and the like are initialized, then each application task is activated, and each application is initialized and synchronized in the loop of S201 to S203. Get the flags you need for. This process is a process in which each application calls the initialization synchronization means (1714) to acquire a unique flag. At this time, the initialization synchronization means (1714) remembers all the flags given by itself. The application that has acquired the flag enters a waiting state by going to get a common semaphore whose initial value is 0, for example. When all the applications acquire the flag and enter a waiting state, the
次にアプリケーションの削除処理について説明する。削除を要求するアプリケーションは、自身のIDを引数にして、アプリケーション登録手段1712が提供するインターフェースをコールする。アプリケーション登録手段は、まず状態管理スタック211の最基底を調べて、削除対象のIDを持ったモードがアクティブである場合は失敗を返す。そうでなかった場合は、アプリケーション登録テーブル1707の該当項目における情報と、それに関連付けられたシステム状態管理モジュール登録テーブル42を削除して処理を終了する。 Next, application deletion processing will be described. The application requesting deletion calls an interface provided by the application registration unit 1712 with its own ID as an argument. The application registration means first checks the top base of the state management stack 211, and returns failure if the mode having the ID to be deleted is active. If not, the information in the corresponding item in the application registration table 1707 and the system state management module registration table 42 associated therewith are deleted, and the process ends.
以上で、アプリケーション登録・削除処理に関する動作説明を終えるが、ここで述べた初期化同期手段による同期管理のプロセスは、用いるOSの種類に依存して変化する可能性を持っており、説明した手法に限定されるものではない。即ちアプリケーション管理システム1700の初期化後にアプリケーション登録処理が行われる構成であることが重要であり、それを実現する手段がいかようであろうとも、それらは全て本発明の範囲に含まれるべきものである。(例えばシステム初期化処理以降に、動的な登録処理を行う場面も想定できるが、それに関しても上述した方法によって容易に実現できることは言うまでも無い。)逆に、アプリケーション登録処理をシステム初期化前に行うことは、アプリケーション管理テーブル1706や状態管理スタック211が不定である期間にこれらのリソースを制御しなければならないので、現実的に不可能である。
This completes the description of the operation related to the application registration / deletion processing. However, the synchronization management process by the initialization synchronization means described here has a possibility of changing depending on the type of OS used, and the method described above. It is not limited to. In other words, it is important that the application registration process is performed after the
次にアプリケーションモード遷移制御処理について図22を用いて説明する。尚、同図において図5と同じ処理内容を示している部分には同じ参照符号を付し、説明を省く。また本実施例でもアプリケーションAからアプリケーションBへ遷移するものとして議論する。(遷移前の状態は図7(A)のようになっている。)外部イベントハンドラーが遷移要因を受けて遷移要求元であるプロセスへ外部イベントを送った後、S2204ではアプリケーション遷移制御手段(101)が提供するインターフェース(API)を通じて、モード遷移要求イベントを発生させる。このAPI仕様は第一実施例とは異なり、(1)遷移イベント要求元、(2)遷移イベントの種類、(3)付加情報の長さ、(4)付加情報へのポインター、を引数とする。このAPIコールにより発生するパケットの構造は、図11で表され、このパケットを受け取ったアプリケーション管理システム1700は、第一実施例と同様にしてモード遷移シーケンスを起動する。S2207における遷移可否の判断ロジックは、第一実施例におけるものと全く同じである。ただし、遷移先モードの情報は、パケットから得るのではなく、アプリケーション登録テーブル1707にアクセスしてID=2に格納された遷移先モードの優先度33とイベント通知方法35(ここでは“FUNC_B”)が読み出される。後は、S2211に至るまで第一実施例と同じ処理を行い、S2211ではビルトインアプリの情報をシステム状態管理スタック105に設定すると同時に、状態管理モジュールテーブルも同アプリのものに入れ替える処理が付加される。同様にS2215においてもスタック操作に加えて、状態管理モジュールテーブルの入れ替え処理を行う。以降の処理に関しては、第一実施例と全く同じであるので、説明を省略する。モード遷移処理が終了すると、アプリケーション管理システム1700の状態は図7(B)のようになり、アプリケーションモードが切り替わる。
Next, the application mode transition control process will be described with reference to FIG. In the figure, the same reference numerals are given to the portions showing the same processing contents as in FIG. 5, and the description will be omitted. Also in this embodiment, the discussion will be made on the assumption that the application A changes to the application B. (The state before the transition is as shown in FIG. 7A.) After the external event handler receives the transition factor and sends the external event to the process that is the transition request source, in step S2204, the application transition control means (101 The mode transition request event is generated through the interface (API) provided by the (). Unlike the first embodiment, this API specification uses (1) transition event request source, (2) type of transition event, (3) length of additional information, and (4) pointer to additional information as arguments. . The structure of a packet generated by this API call is shown in FIG. 11, and the
次にシステム状態遷移制御処理について、図23を用いて説明する。尚、同図において図10と同じ処理内容を示している部分には同じ参照符号を付し、説明を省略する。S2304における状態遷移要求イベントの送付処理は、モード遷移制御と同様にアプリケーション管理システム1700が提供するAPI仕様と、APIが掃き出すパケットデータ構成が異なるのみである。S2307における処理は、データの収集先がパケットからシステム状態管理モジュール登録テーブルに変わるのみである。S2311における処理では、スタック操作に加えて、システム状態管理モジュール登録テーブルの変更処理が生じるのみである。以降の処理は全て第一実施例と同様である。
Next, the system state transition control process will be described with reference to FIG. In the figure, the same reference numerals are given to the portions showing the same processing contents as those in FIG. 10, and the description will be omitted. In the state transition request event sending process in S2304, the API specification provided by the
イベントディスパッチシーケンスは、第一実施例と全く同じであるので説明を省略する。 Since the event dispatch sequence is exactly the same as in the first embodiment, description thereof is omitted.
以上で、本実施例における全ての制御シーケンスの説明を終わる。尚、本実施例においても、起動要求処理、停止要求処理をアプリケーション管理システム1700のコンテキストで行う様にすることが可能である。また、本実施例に特有の事項として、アプリケーション管理テーブルを持つことで、そこに管理される様々な情報を他のプロセスが必要に応じて取り出すための統一されたインターフェースを提供することが可能となり、制御の柔軟性が増すという効果がある。
Above, description of all the control sequences in a present Example is completed. Also in this embodiment, it is possible to perform the start request process and the stop request process in the context of the
また、本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a storage medium (or recording medium) on which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium.
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) or the like running on the computer based on an instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing such as the CPU provided in the card or the function expansion unit and performing the processing.
また、上記プログラムは、上述した実施の形態の機能をコンピュータで実現することができればよく、その形態は、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給されるスクリプトデータ等の形態を有するものでもよい。 The above-described program only needs to be able to realize the functions of the above-described embodiments by a computer, and the form includes forms such as object code, a program executed by an interpreter, and script data supplied to the OS. But you can.
プログラムを供給する記録媒体としては、例えば、RAM、NV−RAM、フロッピー(登録商標)ディスク、光ディスク、光磁気ディスク、CD−ROM、MO、CD−R、CD−RW、DVD(DVD−ROM、DVD−RAM、DVD−RW、DVD+RW)、磁気テープ、不揮発性のメモリカード、他のROM等の上記プログラムを記憶できるものであればよい。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。 As a recording medium for supplying the program, for example, RAM, NV-RAM, floppy (registered trademark) disk, optical disk, magneto-optical disk, CD-ROM, MO, CD-R, CD-RW, DVD (DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), magnetic tape, non-volatile memory card, other ROM, etc. may be used as long as they can store the above programs. Alternatively, the program is supplied by downloading from another computer or database (not shown) connected to the Internet, a commercial network, a local area network, or the like.
100 アプリケーション管理システム
101 アプリケーションモード遷移制御手段
102 遷移要求イベントキュー
103 システム状態遷移制御手段
105 システム状態管理スタック
113 イベントディスパッチ手段
114 ID付与手段
1700 アプリケーション管理システム
1706 アプリケーション管理テーブル
1707 アプリケーション登録テーブル
1708 システム状態管理モジュール登録テーブル
1709 システム状態管理モジュール登録テーブル
1710 システム状態管理モジュール登録テーブル
1711 システム状態管理モジュール登録テーブル
1712 アプリケーション登録手段
1714 初期化同期手段
31 アプリケーション登録テーブルへの情報
32 システム状態管理モジュール登録テーブルへの情報
33 優先度
34 システム状態
35 イベント通知方法
41 アプリケーション登録テーブル
42 システム状態管理モジュール登録テーブル
43 ID
45 状態
81 previous
82 next
83 イベント種別
84 付加データへのポインター
111 付加情報へのポインター
141 直前状態のID
142 カレント状態のID
151 エラー状態
152 A状態
153 エラー状態
154 基底状態
181 優先順位
182 イベント通知手段
211 状態管理スタック
212 アプリケーション
213 スタックポインタ
DESCRIPTION OF
45
82 next
83 Event type 84 Pointer to
142 ID of current state
151 Error state 152 A
Claims (21)
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とするアプリケーション管理方法。 An application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
An application management method comprising:
アプリケーション登録・削除する登録・削除ステップと、アプリケーション管理テーブルと、システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、初期化同期する初期化同期ステップと、
を備えることを特徴とするアプリケーション管理方法。 An application management method in a system having a plurality of application modes or a multi-function printer system,
Registration / deletion step for application registration / deletion, application management table, system state management stack, event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an initialization synchronization step for performing initialization synchronization,
An application management method comprising:
前記システム状態管理スタックの最上位にある状態に対応したイベント通知方法を用いて、対応したモジュールへ送付する送付ステップと、
前記イベント通知方法が失敗した場合に、あらかじめ定義されたデフォルトのイベント処理方法を呼び出す呼び出しステップと
を備えることを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。 The event dispatch step for performing the event dispatch is to send the sent event,
Sending to the corresponding module using the event notification method corresponding to the state at the top of the system state management stack;
The application management method according to claim 1, further comprising a calling step of calling a predefined default event processing method when the event notification method fails.
システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法と優先順位を読み出す読み出しステップと、
送付されたアプリケーションモード遷移要求イベントに含まれた遷移先モードのIDとイベント通知方法と優先順位を取り出す取出しステップと、
前記カレント状態が特定の状態と等しいことを評価する第1の評価ステップと、
前記カレント状態の優先順位と、前記遷移先モードの優先順位を比較して前記遷移先モードの優先順位が前記カレント状態の優先順位より高いことを評価する第2の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第3の評価ステップとを含み、
第1の評価ステップ、第2の評価ステップ、第3の評価ステップの評価結果が全て真である場合には、モード遷移処理を行い、第1の評価ステップ、第2の評価ステップ、第3の評価ステップの評価結果の少なくとも一つが偽であるときには、モード遷移を行わずに遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて、前記アプリケーションモード遷移要求イベントをキューイングすることを特徴とする請求項1に記載のアプリケーション管理方法。 The transition control step for performing the application mode transition control includes:
A read step for reading the current state (ID), event notification method and priority at the top of the system state management stack;
A step of taking out the ID of the transition destination mode, the event notification method, and the priority included in the sent application mode transition request event;
A first evaluation step for evaluating that the current state is equal to a specific state;
A second evaluation step for comparing the priority of the current state with the priority of the transition destination mode and evaluating that the priority of the transition destination mode is higher than the priority of the current state;
And a third evaluation step for evaluating that the internal state of the application management system is not transitioning,
When the evaluation results of the first evaluation step, the second evaluation step, and the third evaluation step are all true, a mode transition process is performed, and the first evaluation step, the second evaluation step, and the third evaluation step are performed. When at least one of the evaluation results of the evaluation step is false, the application mode transition request event is queued by using an event queuing step for performing the transition request event queuing without performing the mode transition. The application management method according to claim 1.
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法と優先順位を読み出す読み出しステップと、
送付されたアプリケーションモード遷移要求イベントに含まれた遷移先モードのIDを取り出す取出しステップと、
前記遷移先モードIDに関連付けられて格納されている前記アプリケーション管理テーブル内の優先順位とイベント通知方法を読み込む読み込みステップと、
前記カレント状態が特定の状態と等しいことを評価する第4の評価ステップと、
前記カレント状態の優先順位と、前記遷移先モードの優先順位を比較して前記遷移先モードの優先順位が前記カレント状態の優先順位より高いことを評価する第5の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第6の評価ステップと、
第4の評価ステップ、第5の評価ステップ、第6の評価ステップの評価結果が全て真である場合には、モード遷移処理を行い、第4の評価ステップ、第5の評価ステップ、第6の評価ステップの評価結果の少なくとも一つが偽であるときには、モード遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記アプリケーションモード遷移要求イベントをキューイングすることを特徴とする請求項2に記載のアプリケーション管理方法。 The transition control step for performing the application mode transition control includes:
A read step of reading a current state (ID), an event notification method and a priority at the top of the system state management stack;
An extraction step of retrieving the ID of the transition destination mode included in the sent application mode transition request event;
A reading step of reading a priority order and an event notification method in the application management table stored in association with the transition destination mode ID;
A fourth evaluation step for evaluating that the current state is equal to a specific state;
A fifth evaluation step for comparing the priority of the current state with the priority of the transition destination mode and evaluating that the priority of the transition destination mode is higher than the priority of the current state;
A sixth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the fourth evaluation step, the fifth evaluation step, and the sixth evaluation step are all true, a mode transition process is performed, and the fourth evaluation step, the fifth evaluation step, and the sixth evaluation step are performed. When at least one of the evaluation results of the evaluation step is false, the application mode transition request event is queued using an event queuing step for performing the transition request event queuing without performing mode transition. The application management method according to claim 2.
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法を読み出す読み出しステップと、
送付された状態遷移要求イベントに含まれた遷移先モードのIDとイベント通知方法を取り出す取出しステップと、
前記カレント状態のイベント通知方法を用いて遷移可能条件を評価する第7の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第8の評価ステップと、
第7の評価ステップ、第8の評価ステップの評価結果が全て真である場合には、状態遷移処理を行い、第7の評価ステップ、第8の評価ステップの評価結果の少なくとも一つが偽であるときには、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項1記載のアプリケーション管理方法。 In the transition control step for performing the system state transition control, when the sent state transition request event is an up stack event,
A reading step of reading a current state (ID) at the top of the system state management stack and an event notification method;
An extraction step of retrieving the ID and event notification method of the transition destination mode included in the sent state transition request event;
A seventh evaluation step of evaluating a transition possible condition using the event notification method in the current state;
An eighth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the seventh evaluation step and the eighth evaluation step are all true, state transition processing is performed, and at least one of the evaluation results of the seventh evaluation step and the eighth evaluation step is false. 2. The application management method according to claim 1, wherein the state transition request event is queued by using an event queuing step for performing the transition request event queuing without performing a state transition.
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法を読み出す読み出しステップと、
送付された状態遷移要求イベントに含まれた遷移先モードのIDを取り出す取出しステップと、
前記遷移先モードIDに関連付けられて格納されている前記アプリケーション管理テーブル内のイベント通知方法を読み込む読み込みステップと、
前記カレント状態のイベント通知方法を用いて遷移可能条件を評価する第9の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第10の評価ステップと、
第9の評価ステップ、第10の評価ステップの評価結果が全て真である場合には、状態遷移処理を行い、第9の評価ステップ、第10の評価ステップの評価結果の少なくとも一つが偽である場合には、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項2に記載のアプリケーション管理方法。 In the transition control step for performing the system state transition control, when the sent state transition request event is an up stack event,
A reading step of reading a current state (ID) at the top of the system state management stack and an event notification method;
An extraction step of extracting the ID of the transition destination mode included in the sent state transition request event;
A reading step of reading an event notification method in the application management table stored in association with the transition destination mode ID;
A ninth evaluation step of evaluating a transition possible condition using the event notification method in the current state;
A tenth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the ninth evaluation step and the tenth evaluation step are all true, state transition processing is performed, and at least one of the evaluation results of the ninth evaluation step and the tenth evaluation step is false. 3. The application management method according to claim 2, wherein the state transition request event is queued by using an event queuing step for performing the transition request event queuing without performing a state transition.
送付された状態遷移要求イベントに含まれた解除対象モードのIDを取り出す取出しステップと、
前記システム状態管理スタックの最上位から状態IDを検索して前記解除対象モードのIDと最初に一致した位置にあるスタック情報を取り出す取出しステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第11の評価ステップと、
第11の評価ステップの評価結果が真である場合には、状態遷移処理を行い、偽であるときには、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。 In the transition control step for performing the system state transition control, when the sent state transition request event is a down stack event,
A step of taking out the ID of the cancellation target mode included in the sent state transition request event;
Retrieving a state ID from the top of the system state management stack and retrieving stack information at a position that first matches the ID of the release target mode;
An eleventh evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation result of the eleventh evaluation step is true, state transition processing is performed. When the evaluation result is false, the state is obtained using an event queuing step of performing the transition request event queuing without performing state transition. The application management method according to claim 1, wherein the transition request event is queued.
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とするアプリケーション管理方法の制御プログラム。 A control program for realizing an application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
An application management method control program comprising:
アプリケーション登録・削除する登録・削除ステップと、アプリケーション管理テーブルと、システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、初期化同期する初期化同期ステップと、
を備えることを特徴とするアプリケーション管理方法の制御プログラム。
A control program for realizing an application management method in a system having a plurality of application modes or a multi-function printer system,
Registration / deletion step for application registration / deletion, application management table, system state management stack, event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an initialization synchronization step for performing initialization synchronization,
An application management method control program comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337698A JP2006146693A (en) | 2004-11-22 | 2004-11-22 | Application management method and its control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337698A JP2006146693A (en) | 2004-11-22 | 2004-11-22 | Application management method and its control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006146693A true JP2006146693A (en) | 2006-06-08 |
Family
ID=36626285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004337698A Withdrawn JP2006146693A (en) | 2004-11-22 | 2004-11-22 | Application management method and its control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006146693A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012068874A (en) * | 2010-09-22 | 2012-04-05 | Canon Inc | Information processing unit, method for controlling the same, and program |
-
2004
- 2004-11-22 JP JP2004337698A patent/JP2006146693A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012068874A (en) * | 2010-09-22 | 2012-04-05 | Canon Inc | Information processing unit, method for controlling the same, and program |
US9300746B2 (en) | 2010-09-22 | 2016-03-29 | Canon Kabushiki Kaisha | Information processing apparatus and control method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4029711B2 (en) | Image forming apparatus | |
JP4979287B2 (en) | Image processing apparatus and program | |
JP5473267B2 (en) | Workflow execution system and workflow execution method | |
JP4891054B2 (en) | Image processing apparatus using license, control method thereof, and program | |
WO2010001555A1 (en) | Execution order decision device, execution order decision program, execution order decision circuit, and information processing device | |
JP5415750B2 (en) | Information processing apparatus, information processing method, program, and information processing system | |
JP5408353B2 (en) | Multithread processing apparatus, multithread processing system, multithread processing program, and multithread processing method | |
JP2009188762A (en) | Document processing system, method of controlling the same, program, and storage medium | |
JP2006163842A (en) | Search system, information processor, its control method, and program | |
JP2008009696A (en) | Image processor and program | |
CN111835930A (en) | Information processing apparatus, information processing system, recording medium, and information processing method | |
JP2004127251A (en) | Output management method and information processing apparatus | |
JP2000112706A (en) | System and method for printing log totalling management, and storage medium | |
JP2008090798A (en) | Backup-control device of data-processing system, and system therefor | |
JP5241520B2 (en) | Workflow management device, task cooperation processing system, workflow management method, and program | |
JP2009301538A (en) | Service flow processing apparatus and method | |
JP2006146693A (en) | Application management method and its control program | |
JPH08221372A (en) | Free resource management device in distributed processing system | |
WO2023051034A1 (en) | Terminal code incremental compilation method, system, apparatus, server, and storage medium | |
JP2007323393A (en) | Image processor and program | |
JP2004135323A (en) | Image processing apparatus, image processing system, control method of image processing apparatus, program and recording medium | |
JP2010020689A (en) | Image processing apparatus, image processing method, and computer program | |
JP4762865B2 (en) | Image processing apparatus and image processing program | |
JP2008166899A (en) | Image forming apparatus, control method and program | |
JP2004302630A (en) | Message processing method, execution device therefor and processing program therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080205 |