JP2004102622A - プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体 - Google Patents

プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体 Download PDF

Info

Publication number
JP2004102622A
JP2004102622A JP2002263236A JP2002263236A JP2004102622A JP 2004102622 A JP2004102622 A JP 2004102622A JP 2002263236 A JP2002263236 A JP 2002263236A JP 2002263236 A JP2002263236 A JP 2002263236A JP 2004102622 A JP2004102622 A JP 2004102622A
Authority
JP
Japan
Prior art keywords
program
started
execution
recognized
recognition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002263236A
Other languages
English (en)
Other versions
JP4072405B2 (ja
Inventor
Kazuhisa Ebuchi
江渕 和久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002263236A priority Critical patent/JP4072405B2/ja
Publication of JP2004102622A publication Critical patent/JP2004102622A/ja
Application granted granted Critical
Publication of JP4072405B2 publication Critical patent/JP4072405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】プログラムの二重起動防止処理を効率的に行えるようにしたプロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体を提供する。
【解決手段】実行されたプログラムを検出し(ステップS401)、前記実行された複数のプログラムが互いに情報の授受を行い、伝達された情報を元に行うべきプログラム動作の判断を行う(ステップS408)ように制御する。
【選択図】   図4

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータにて所定の処理を行うプロセス管理方法及び装置及びこのプロセス管理装置を制御するための制御プログラム及びこの制御プログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】
コンピュータ上で任意の処理を行うプログラムにおいて、同一プログラムを同時に複数起動すること(以下、二重起動と記述する。)を許可するプログラムと、許可しないプログラムとがある。
【0003】
後者のプログラムは、例えば特定のデータファイルにアクセスし、これを変更する機能を持つアプリケーションプログラム等であり、このようなプログラムでは、二重起動した同一プログラムが各データファイルを非同期に変更し、整合性がとれなくなるケースを防ぐために、二重起動を許可しない。
【0004】
この場合、従来のコンピュータでは、アプリケーションプログラム等のプログラムが起動されると、これと同時にコンピュータのメモリ等に特定のファイルを生成し、そのファイル内に当該プログラムが動作中である旨の情報を格納する。そして、そのファイルが存在している場合には、その後に同一または他のプログラムの起動指示があっても、その起動を行わないようにする。その後、動作中のプログラムが終了した時点でファイルを消去することで、同一、または他のプログラムにも起動権限を与える。
【0005】
これにより、同一プログラムの同時起動がなくなり、且つ先行して起動されたプログラムが終了次第、別のプログラムの起動が可能となる。
【0006】
また、前記起動制御を行うプログラムが異常終了し、メモリ内に生成したファイルが残存してしまうケースでも、先行プログラム自体が終了していれば、後発プログラムの起動が可能となるようにした手法が提案されている(特許文献1参照)。
【0007】
【特許文献1】
特開平11−296383号
【0008】
【発明が解決しようとする課題】
しかしながら、上述した従来のプロセス管理方法は、いずれも先行して起動されたプログラムが存在した場合、後発プログラムの起動を許可しないという制御方法であったため、先行起動プログラムの動作が不完全で、後発プログラムの方がより良好な動作を行える場合でも、一様に後発プログラムが終了し、先行プログラムがそのまま存続するという欠点があった。
【0009】
例えば、アプリケーションプログラムによっては、起動時のコンディションにより何らかの機能の提供が不可能な場合でも、その他の機能の提供が可能な場合には、そのまま起動するケースがある。このとき、従来のプログラム起動制御方法では、この起動済みプログラムが提供不能であった機能を、後発プログラムが提供可能となった場合でも、その後発プログラムの起動が許可されないため、アプリケーションとして完全な機能提供をしないまま、プログラムの実行が続くことになる。
【0010】
本発明は、上述した従来技術の有する問題点を解消するためになされたもので、その目的は、プログラムの二重起動防止処理を効率的に行えるようにしたプロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体を提供することである。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明のプロセス管理方法は、所定の情報処理を行うために動作するプロセスの管理方法において、システム内において動作している既存のプロセスを認識する認識ステップと、新たにプロセスを起動させる起動ステップと、前記起動ステップにおいて起動されたプロセスが、前記認識ステップにおいて認識されたプロセスと排他性があるか否かを判定する判定ステップと、前記判定ステップで、前記認識ステップにおいて認識されたプロセスと、前記起動ステップにおいて起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識ステップにおいて認識されたプロセスに代えて、前記起動ステップにおいて起動されたプロセスの実行を継続する実行ステップと、を備えたことを特徴とする。
【0012】
また、上記目的を達成するために、本発明のプロセス管理装置は、所定の情報処理を行うために動作するプロセスの管理装置において、システム内において動作している既存のプロセスを認識する認識手段と、新たにプロセスを起動させる起動手段と、前記起動手段において起動されたプロセスが、前記認識手段において認識されたプロセスと排他性があるか否かを判定する判定手段と、前記判定手段で、前記認識手段において認識されたプロセスと、前記起動手段において起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識手段において認識されたプロセスに代えて、前記起動手段において起動されたプロセスの実行を継続する実行手段と、を備えたことを特徴とする。
【0013】
また、上記目的を達成するために、本発明のプロセス管理装置の制御プログラムは、所定の情報処理を行うために動作するプロセスの管理装置を制御するためのコンピュータ読み取り可能な制御プログラムにおいて、システム内において動作している既存のプロセスを認識する認識ステップと、新たにプロセスを起動させる起動ステップと、前記起動ステップにおいて起動されたプロセスが、前記認識ステップにおいて認識されたプロセスと排他性があるか否かを判定する判定ステップと、前記判定ステップで、前記認識ステップにおいて認識されたプロセスと、前記起動ステップにおいて起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識ステップにおいて認識されたプロセスに代えて、前記起動ステップにおいて起動されたプロセスの実行を継続する実行ステップとをコンピュータに実行させるためのプログラムコードを含むことを特徴とする。
【0014】
更に、上記目的を達成するために、本発明の記憶媒体は、前記プロセス管理装置の制御プログラムを格納したことを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明の各実施の形態を図面に基づき説明する。
【0016】
(第一実施の形態)
まず、本発明の第一実施の形態を、図1乃至図4を用いて説明する。
【0017】
図1は、本発明の第一実施の形態に係るプロセス管理装置を有する印刷システムの構成を示すブロック図であり、同図において、101はコンピュータで、プリンタ102が外部インタフェース103を介して接続されている。
【0018】
コンピュータ101は、入力インタフェース104、CPU(中央演算処理装置)105、ROM(リードオンリーメモリ)106、RAM(ランダムアクセスメモリ)107、外部記憶装置108、出力インタフェース109、表示部110、キーボード111、マウス112及び入出力インタフェース113を有している。
【0019】
入力インタフェース104は、後述するキーボード111及びマウス112から入力された情報を受け取るものである。CPU105は、コンピュータ101全体の制御を司るものである。ROM106には、初期設定プログラム(BIOS等を含む)がストアされている。RAM107には、データが記憶されるもので、図柄情報記憶部107a、印刷データ記憶部107b及びプログラムロード領域107cを有し、後述する外部記憶装置108にストアされている制御プログラムに従って各部を制御するものである。外部記憶装置108には、ステータスモニタプログラムやOSが記憶されている。出力インタフェース109は、出力データを後述する表示部110に送出するものである。表示部110は、データを表示するもので、CRT(陰極線管)或いは液晶表示器等から成るものである。キーボード111及びマウス112は、データを入力するものである。入出力インタフェース113は、コンピュータ101とプリンタ102との間でデータのやり取りを行うものである。
【0020】
尚、プリンタ102からのステータスは、例えば、米国セントロニクス社のインタフェース103を介して取得され、上述したステータスモニタプログラムが認識する。このステータスモニタプログラムは、OS(オペレーティング・システム)を制御して、図3に示すような画面をコンピュータ101の表示部110に表示する処理を制御する。
【0021】
本実施の形態においては、外部インタフェース103として、米国セントロニクス社のインタフェースを用いているが、USBインタフェースやSCSIインタフェース等を用いても良い。
【0022】
次に、各種のプログラムについて説明する。
【0023】
アプリケーションプログラムは、作画環境と印刷環境とを提供し、印刷開始を命令するためのプログラムである。また、データスプールプログラムは、生成された印刷データを受け取り、外部記憶装置108内に一旦蓄積するためのプログラムである。また、データ送信処理プログラムは、外部記憶装置108に蓄積された印刷データを任意のサイズの印刷データブロックに分割して、プリンタドライバに繰り返しデータ転送を要求するためのプログラムである。また、インタフェース制御プログラムは、セントロニクスパラレルインタフェースを通じてデータの書き込み及び読み込みを実際に行い、プリンタ102の受信バッファがフルになった等のデータ受信が即座に実行できない状況において、ビジー信号を発光する役割を担うプログラムである。また、印刷データ生成プログラムは、アプリケーションプログラムに従って作画された図柄情報をプリンタコマンドの変換するためのプログラムである。また、データ送信制御プログラムは、データ送信処理プログラムから来るデータ転送要求を受け付け、入力された印刷データブロックをパースしてプリンタコマンドに区切りを検出するためのプログラムである。ここで検出されたコマンドの区切り位置は、後に印刷がキャンセルされた場合にコマンドの区切りまで送信する処理のために必要となる。
【0024】
図2は、本発明の一実施の形態に係るプロセス管理装置の動作の流れを示すフローチャートであり、同図において、201は実行中のプログラム「アプリケーションプログラム(0)」、即ち、先行起動済みプログラムのメッセージループを示す。即ち、ユーザ、プログラム内の他のスレッド、または他のプログラム等からのメッセージが発行される毎に、ステップS202〜ステップS206を繰り返す処理を示す。
【0025】
また、図2において、211はプログラム起動時に行う処理「アプリケーションプログラム(1)の起動時処理」で、後発プログラムを示す。
【0026】
まず、先行起動済みプログラム201の処理動作について説明する。
【0027】
先行起動済みプログラム201が起動されると、まず、ステップS202で、後発プログラム211から受け取ったメッセージの内容を判断する。その判断の結果、動作状況の問い合わせのメッセージであれば、ステップS203にて動作状況を調べ、その調べた結果を後発プログラム211に対して通知する。また、後発プログラム211から受け取ったメッセージが終了要求のメッセージであれば、ステップS204にてプログラムの実行中断のために必要となる処理を行い、ステップS207にて先行起動済みプログラム201の処理動作を終了する。更に、後発プログラム211から受け取ったメッセージがその他のメッセージであれば、ステップS205にてその他の処理を行う。
【0028】
前記ステップS203乃至ステップS205の処理を終了後は、いずれもステップS206にてメッセージループがプログラム終了要求を処理したか否かを判断する。そして、プログラム終了要求を処理していないと判断された場合は、前記ステップS202へ戻る。また、前記ステップS206において、プログラム終了要求を処理したと判断された場合は、前記ステップS207にて先行起動済みプログラム201の処理動作を終了する。
【0029】
次に、後発プログラム211の処理動作について説明する。
【0030】
後発プログラム211が起動されると、まず、ステップS212で、先行起動済みプログラム201が有るか否かを判断する。この先行起動済みプログラム201が有るか否かの判断は、一般的なアプリケーションプログラムと同様に、ユニークな名前を持つミューテックスやセマフォ等のオブジェクトを作成することを前提とし、それがオープンできるか否かを判断する方法や、同一タイトルを持つウィンドウがあるか否かを判断する方法等、様々な排他的手法を用いて行うことができる。
【0031】
前記ステップS212において、先行起動済みプログラム201が無いと判断された場合は、ステップS216に進んで、後発プログラム211は起動を続行する。
【0032】
一方、前記ステップS212において、先行起動済みプログラム201が有ると判断された場合は、ステップS213に進んで、先行起動済みプログラム201に対する動作状況の問い合せを行う。この問い合せの方法としては、様々なプログラム間通信の手法が存在するが、ここでは、メッセージループを利用したメッセージによる通信を行う例を示す。
【0033】
次に、ステップS214で、先行起動済みプログラムの動作状況と自身(後発プログラム211)の動作状況とを比較する。ここで、先行起動済みプログラム201の動作状況が自身と同じか、自身よりも優れていると判断された場合は、ステップS217に進んで、自身の起動を中断し、後発プログラム211の処理動作を終了する。
【0034】
一方、前記ステップS214において、動作状況が、先行起動済みプログラム201よりも自身の方が優れていると判断された場合は、ステップS215に進んで、先行起動済みプログラム201に対して終了要求を出し、その後、ステップS216にて、自身の起動を続行する。
【0035】
上述したように、本実施の形態に係るプロセス管理装置によれば、二重起動発生時に、各プログラムの動作状況から判断して適切なプログラムを存続させるという手法を採ることにより、プログラムの二重起動の防止と共に、不完全動作状況にあるプログラムの起動存続を防ぐことが可能となる。
【0036】
次に、本発明を、印刷監視アプリケーションプログラムに応用した具体例について説明する。
【0037】
印刷監視アプリケーションは、一般的にステータスモニタ等と呼ばれ、ホストコンピュータに接続されたプリンタを使用して印刷を行う際、プリンタの動作状況や印刷用紙詰まり或いはインク切れやトナー切れ等のエラー情報をプリンタから受信すると共に、受信した情報等をホストコンピュータ101の表示部110等に表示する。
【0038】
また、ステータスモニタによっては、印刷ジョブの情報も取得し、そのジョブの一時停止や印刷中止といった機能を有するものもある。
【0039】
図3は、このステータスモニタの外観の一例を示す図であり、同図において、301は印刷中止ボタンである。
【0040】
図4は、このステータスモニタの一般的な処理動作の流れを示すフローチャートである。
【0041】
図4において、起動されたステータスモニタは、まず、ステップS401にて自身(ステータスモニタ)を起動したユーザを確認し、それをステータスモニタ使用者(プログラム実行元)として記憶する。続いてメッセージループ(スップS406〜ステップS413)を開始する。続いて、ステータス情報取得処理ループ(ステップS402〜ステップS405)も開始する。
【0042】
このステータス情報取得ループでは、まず、ステップS402にてプリンタとの双方向通信等によりプリンタの情報(プリンタステータス情報)を取得する。次に、ステップS403にてジョブの情報を取得する。これらの情報を元に、次のステップS404にて図1のコンピュータ101の表示部110への表示に必要な情報を整理して、その情報を表示部110に表示すると共に、メッセージループに対してメッセージを送信する。次に、ステップS405へ進んで、プログラム終了フラグが立っているか否かを判断する。そして、プログラム終了フラグが立っていないと判断された場合は、前記ステップS402へ戻る。また、前記ステップS405において、プログラム終了フラグが立っていると判断された場合は、本処理動作を終了する。
【0043】
一方、前記ステータス情報取得ループにおけるステップS404において送信されたメッセージを受け取ったメッセージループは、まず、ステップS406で、前記ステータス情報取得ループから受け取ったメッセージの内容を判断する。そして、前記ステータス情報取得ループから受け取ったメッセージが表示要求メッセージである場合は、ステップS407へ進んで、プリンタ102のステータスを表示し、続いて、ステップ411で、監視中のジョブの所有者が自身(ステータスモニタプログラム)を起動したユーザ名と一致するか否かを判断する。そして、一致した場合は、ステップS412へ進んで印刷中止を可能とする印刷中止ボタンをコンピュータ101の表示部110に表示した後、ステップS413へ進む。
【0044】
前記印刷中止ボタンは、例えば図3の表示画面内に301で示すように表示される。
【0045】
メッセージループは、後述するステップS412で表示される印刷中止ボタンの(ユーザによる)押下に応答してOSが生成するボタン押下メッセージを(OSから)受け取ると、ステップS408へ進んで印刷中のジョブを削除した後、ステップS413へ進む。また、ステータス情報取得ループからその他のメッセージを受け取ると、ステップS409へ進んでその他の処理を行った後、ステップS413へ進む。更に、ユーザ入力やその他のプログラム内部処理から終了メッセージを受け取ると、ステップS410へ進んで、プログラム終了フラグを立てた後、ステップS413へ進む。
【0046】
前記ステップS411において、ジョブ所有者とステータスモニタの使用者とが一致しない場合は、印刷中止ボタンをコンピュータ101の表示部110に表示することなくステップS413へ進む。また、前記ステップS411で、ジョブ所有者とステータスモニタの使用者とが一致する場合は、印刷中止ボタンを表示した後、ステップS413へ進む。
【0047】
ステップS413では、メッセージループが終了メッセージを処理したか否かを判断する。そして、終了メッセージを処理していないと判断された場合は、前記ステップS406へ戻る。また、前記ステップS413において、メッセージループが終了メッセージを処理したと判断された場合は、本処理動作を終了する。
【0048】
尚、前記ステップS411において、ジョブ所有者とステータスモニタの使用者とが一致しない場合に、印刷中止ボタンをコンピュータ101の表示部110に表示しないのは、ステータスモニタを利用して、他人が無断で印刷を中止してしまうのを防ぐためである。
【0049】
上記のような処理を行うステータスモニタは、以下のような様々な方法で起動することができる。
【0050】
例えば、予め、ステータスモニタ起動ボタンを用意しておき、そのボタンを押下することによって、ユーザから直接起動されるケースや、ユーザインタフェースモジュール等から印刷開始と同時に自動的に起動されるケース、或いは何らかのエラーが発生した際、システム構成要素から自動的に起動されるケース等がある。
【0051】
このうち、Microsoft社のコンピュータ基本システムであるWindows(登録商標)OSでは、一部のシステム構成要素がアプリケーションプログラムを実行する場合、該プログラムの実行元は、その時、そのセッションにログオンしているユーザではなく、“system”といった特殊な名前となってしまう制限(仕様)を持つ場合がある。
【0052】
このような制限を持つシステム構成要素からステータスモニタが起動された場合、監視中のジョブの所有者が自身の使用者(“system”)と一致することはないため、印刷中止ボタンは常に表示されないことになってしまう。
【0053】
しかし、ステータスモニタの主機能であるステータス監視は、ジョブ所有者とは無関係に行うことが可能であるため、ステータスモニタ自体を、そのまま存続させておくのが実用的な仕様となる。
【0054】
また、その後、使用者判別が可能となる条件でプログラムが起動されても、従来の二重起動防止方法では、上記制限下で起動した先行プログラムが存続するため、上記制限、即ち、印刷中止ボタンが使用できない状態も存続することになる。
【0055】
次に、プログラム終了フラグとフローチャートの開始条件について説明する。
【0056】
ここで、プログラム終了フラグとは、ステータスモニタが終了すべきか否かを判断することを認識するための内部フラグで、ユーザの入力に応じて立てられるものである。
【0057】
まず、本発明におけるステータスモニタには、以下の2つの動作パターンを取り得る。
【0058】
その第1は、印刷開始時に自動的に起動され、印刷が終了するか、ユーザが印刷終了を要求した場合に終了するパターンである。
【0059】
また、第2は、ドライバのユーザインタフェース上にあるステータスモニタ起動ボタンをユーザが押下することにより起動され、ユーザがプログラム終了を要求した場合に終了するパターンである。
【0060】
そして、この終了処理は、具体的には以下のようになる。
【0061】
まず、前記第1のパターンの印刷終了と共に終了する場合では、プリントキューにジョブが無くなったら、プログラム終了要求メッセージを出し、メッセージループにおいてプログラム終了フラグ(内部用独自フラグ)を立てる。メッセージループは、プログラム終了要求メッセージを処理すると自動的に処理を抜けるものとする。そして、情報取得ループは、毎回プログラム終了フラグ(内部用独自フラグ)を確認しており、このプログラム終了フラグが立っていた場合は、処理を抜ける。
【0062】
但し、ジョブの有無を確認してプログラム終了要求メッセージを出すのは、情報取得ループの中でも、メッセージループのどちらで行ってもよい。
【0063】
次に、第2のパターンでは、ユーザのプログラム終了要求で終了する場合、つまりユーザインタフェース要求が入力された場合には、それに応じてOSから自動的にプログラム終了要求メッセージが出され、メッセージループの終了要求メッセージ処理部において、プログラム終了フラグ(内部用独自フラグ)を立てることになる。
【0064】
次に、このステータスモニタプログラムが、従来のプログラム起動制御の代わりに、本発明によるプログラム起動制御を行った場合の動作について、図5のフローチャートを用いて説明する。
【0065】
図5において、まず、ステップS501で、起動ユーザを確認した後、次のステップS502で、先行起動済みプログラムを確認する。次に、ステップS503で、先行起動済みプログラム(起動済みのステータスモニタ)が有るか否かを判断する。そして、起動済みプログラムが無いと判断された場合は、ステップS507乃至ステップS519の処理に移る。ここで、ステップS503における処理の詳細について説明する。ステータスモニタは、自分と同じウィンドウキャプション(ウィンドウ名)を持つアプリケーションが存在するか否かをOSに問い合わせる。ステータスモニタは自分のウィンドウキャプションを、例えば「機種名 − ポート名」というように、機種名とポート名の組としている。同じプロセス名でも、プリンタ名やポート名が違えばウィンドウ名が異なる事になり、排他性は無いと判断できる。つまり、本実施の形態のステータスモニタを複数起動させても、異なる機種のプリンタは共存できることになる。このようにウィンドウキャプションに基づいて、排他性の有るプロセスが既に起動しているか否かの判断を行うものの他、二重起動防止の一般的な手法としては、クラスと呼ばれる識別単位で判断するもの、予めシステムから排他制御用に用意されたオブジェクトを用いるもの等もあるが、いずれも同様に、OSに問い合わせて上述のような排他制御の判断処理を行っている。
【0066】
尚、図5におけるステップS507乃至ステップS515及びステップS517乃至ステップS519は、上述した図4におけるステップS402乃至ステップS412と同一であるから、その説明は省略し、異なる点のみについて説明する。
【0067】
図5のステップS511において、ユーザ名問い合わせのメッセージであると判断された場合は、ステップS516へ進んで、ユーザ名を返答した後、本処理動作を終了する。
【0068】
一方、前記ステップS503において、起動済みプログラムが有ると判断された場合は、ステップS504へ進んで、先行起動済みプログラムに対して実行元ユーザ名を問い合わせる。次に、ステップS505で、先行起動済みプログラムが“system”によって起動されたものあり、且つ前記ステップS504において調べた自身の実行元ユーザが“system”であるか否かを判断する。そして、先行起動済みプログラムが“system”によって起動されたものであり、且つ前記ステップS504において調べた自身の実行元ユーザが“system”ではないと判断され場合は、ステップS506へ進んで、先行起動プログラムに対して終了要求を行った後、前記ステップS507乃至ステップS519の処理に移る。つまりステップS502で起動が認識されたプロセスが、新たに起動された、或いは、起動しようとするプロセスと排他性があるか否かを、実行元ユーザ名に基づいて、前記ステップS503で判断している。そして、前記ステップS505で排他性がないと判断された場合には、既に起動しているプロセスに代えて、新たに起動されるプロセスの実行を継続するのである。例えば、排他性があるか否かは、それぞれのプロセスが、同等の機能を有するアプリケーション(ここでは、プリンタのステータスモニタプログラム)に起因するものであることに基づき判断することもできる。
【0069】
一方、前記ステップS505における判断結果が否定(NO)の場合は、本処理動作を終了する。
【0070】
以上のように、本実施の形態に係るプロセス管理装置によれば、先行して起動したプログラムが何らかの制限の下で動作していても、後から同一プログラムが起動し、且つその後発プログラムが先行起動済みプログラムの抱える制限にとらわれていなければ、後から起動したプログラムが先行起動済みプログラムに代わって動作を行うため、ユーザが求めるタイミングで、より正常な動作を提供する可能性を広げることができる。
【0071】
また、本実施の形態に係るプロセス管理装置による制御を用いることで、既に実行中のプログラムを新しいバージョンにアップグレードさせる場合等に、予め実行中のプログラムをユーザが手動で終了させておく必要がなくなる。また、プログラム起動中に後発プログラムによる置き換えが可能という条件を加味することで、先行起動済みプログラムに何らかの制限がある場合でも、それをむやみに終了させず、一時的に、その制限下で動作させておく制御が、より実用的になる。即ち、むやみに起動を中止することによって与えるユーザへの不快感を軽減する効果も期待される。
【0072】
(第二実施の形態)
次に、本発明の第二実施の形態を説明する。
【0073】
特開2001−142600号等のように、ユーザが選択した、或いはコンピュータシステムから取得した表示言語情報の種別を判断し、該表示言語情報から利用すべき表示言語に対応したマッピング情報を選択し、該選択されたマッピング情報に対応する表示言語をロードしてユーザに表示するユーザインタフェースを持つソフトウェアにおいて、前記選択されたマッピング情報が自身のサポート外の言語を示すものであった場合や、何らかのトラブルにより選択されたマッピング情報に対応する言語をロードできない場合には、前記ソフトウェアが保持している(サポートしている)他の言語で代用する場合がある。
【0074】
このようなマルチ言語対応ソフトウェアが本発明の手法を実装していた場合、上記のような本来表示すべきものとは違う言語を表示しているケースにおいて、以後、選択されたマッピング情報が示す言語をサポート可能な新規モジュールがコンピュータにインストールされた、或いは選択されたマッピング情報に対応する言語をロードできない原因となっていた何らかのトラブルが解消された後、本ソフトウェアプログラムの起動が行われれば、既に先行起動済みプログラムが実行中であったとしても、その時点から正しい表示言語を表示することが可能となる。
【0075】
また、本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは言うまでもない。
【0076】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0077】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0078】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0080】
【発明の効果】
以上述べたように、本発明によれば、プログラムの二重起動防止処理を効率的に行うことができる。
【図面の簡単な説明】
【図1】本発明の第一実施の形態に係るプロセス管理装置を有する印刷システムの構成を示すブロック図である。
【図2】本発明の第一実施の形態に係るプロセス管理装置の基本処理動作の流れを示すフローチャートである。
【図3】本発明の第一実施の形態に係るプロセス管理装置におけるコンピュータの表示部の表示例を示す図である。
【図4】本発明の第一実施の形態に係るプロセス管理装置における一般的ステータスモニタプログラムの処理動作の流れを示すフローチャートである。
【図5】本発明の第一実施の形態に係るプロセス管理装置におけるステータスモニタプログラムの処理動作の流れを示すフローチャートである。
【符号の説明】
101  コンピュータ
102  プリンタ(印刷装置)
103  外部インタフェース
104  入力インタフェース
105  CPU(中央演算処理装置)
106  ROM(リードオンリーメモリ)
107  RAM(ランダムアクセスメモリ)
107a 図柄情報記憶部
107b 印刷データ記憶部
107c プログラムロード領域
108  外部記憶装置
109  出力インタフェース
110  表示部
111  キーボード
112  マウス
113  入出力インタフェース
301  印刷中止ボタン

Claims (12)

  1. 所定の情報処理を行うために動作するプロセスの管理方法において、
    システム内において動作している既存のプロセスを認識する認識ステップと、
    新たにプロセスを起動させる起動ステップと、
    前記起動ステップにおいて起動されたプロセスが、前記認識ステップにおいて認識されたプロセスと排他性があるか否かを判定する判定ステップと、
    前記判定ステップで、前記認識ステップにおいて認識されたプロセスと、前記起動ステップにおいて起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識ステップにおいて認識されたプロセスに代えて、前記起動ステップにおいて起動されたプロセスの実行を継続する実行ステップと、
    を備えたことを特徴とするプロセス管理方法。
  2. 前記起動ステップにおいて起動されたプロセスと、前記認識ステップにおいて認識されたプロセスのいずれのプロセスの動作状況が優れているか否かを判断する判断ステップを更に備え、
    前記実行ステップでは、前記判断ステップが前記起動ステップにおいて起動されたプロセスの動作状況がより優れていると判断した場合に、前記起動ステップにおいて起動されたプロセスの実行を継続することを特徴とする請求項1に記載のプロセス管理方法。
  3. 前記プロセスは、周辺装置のステータスを管理するべく動作するプロセスであり、前記実行ステップでは、前記判断ステップが前記起動ステップにおいて起動されたプロセスの動作状況がより優れていると判断した場合に、前記認識ステップにおいて認識されたプロセスを終了し、前記起動ステップにおいて起動されたプロセスの実行を継続することを特徴とする請求項2に記載のプロセス管理方法。
  4. 前記実行ステップにおけるプロセスの動作状況の優劣は、前記プロセスの所有者名によって判断されることを特徴とする請求項2又は3に記載のプロセス管理方法。
  5. 前記排他性があるとは、前記複数のプロセスが、同等の機能を有するアプリケーションに起因するものであることを特徴とする請求項1に記載のプロセス管理方法。
  6. 所定の情報処理を行うために動作するプロセスの管理装置において、
    システム内において動作している既存のプロセスを認識する認識手段と、
    新たにプロセスを起動させる起動手段と、
    前記起動手段において起動されたプロセスが、前記認識手段において認識されたプロセスと排他性があるか否かを判定する判定手段と、
    前記判定手段で、前記認識手段において認識されたプロセスと、前記起動手段において起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識手段において認識されたプロセスに代えて、前記起動手段において起動されたプロセスの実行を継続する実行手段と、
    を備えたことを特徴とするプロセス管理装置。
  7. 前記起動ステップにおいて起動されたプロセスと、前記認識ステップにおいて認識されたプロセスのいずれのプロセスの動作状況が優れているか否かを判断する判断手段を更に備え、
    前記実行手段では、前記判断手段が前記起動手段において起動されたプロセスの動作状況がより優れていると判断した場合に、前記起動手段において起動されたプロセスの実行を継続することを特徴とする請求項6に記載のプロセス管理装置。
  8. 前記プロセスは、周辺装置のステータスを管理するべく動作するプロセスであり、前記実行手段では、前記判断手段が前記起動手段において起動されたプロセスの動作状況がより優れていると判断した場合に、前記認識手段において認識されたプロセスを終了し、前記起動手段において起動されたプロセスの実行を継続することを特徴とする請求項7に記載のプロセス管理装置。
  9. 前記実行手段におけるプロセスの動作状況の優劣は、前記プロセスの所有者名によって判断されることを特徴とする請求項7又は8に記載のプロセス管理装置。
  10. 排他性があるとは、前記複数のプロセスが、同等の機能を有するアプリケーションに起因するものであることを特徴とする請求項6に記載のプロセス管理装置。
  11. 所定の情報処理を行うために動作するプロセスの管理装置を制御するためのコンピュータ読み取り可能な制御プログラムにおいて、
    システム内において動作している既存のプロセスを認識する認識ステップと、新たにプロセスを起動させる起動ステップと、前記起動ステップにおいて起動されたプロセスが、前記認識ステップにおいて認識されたプロセスと排他性があるか否かを判定する判定ステップと、前記判定ステップで、前記認識ステップにおいて認識されたプロセスと、前記起動ステップにおいて起動されたプロセスとが排他性のあるものであると判定された場合に、前記認識ステップにおいて認識されたプロセスに代えて、前記起動ステップにおいて起動されたプロセスの実行を継続する実行ステップとをコンピュータに実行させるためのプログラムコードを含むことを特徴とするプロセス管理装置の制御プログラム。
  12. 請求項11に記載の制御プログラムを格納したことを特徴とする記憶媒体。
JP2002263236A 2002-09-09 2002-09-09 プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体 Expired - Fee Related JP4072405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002263236A JP4072405B2 (ja) 2002-09-09 2002-09-09 プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002263236A JP4072405B2 (ja) 2002-09-09 2002-09-09 プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2004102622A true JP2004102622A (ja) 2004-04-02
JP4072405B2 JP4072405B2 (ja) 2008-04-09

Family

ID=32263049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002263236A Expired - Fee Related JP4072405B2 (ja) 2002-09-09 2002-09-09 プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4072405B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267705A (ja) * 2008-04-24 2009-11-12 Canon Inc 通信方法及び画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267705A (ja) * 2008-04-24 2009-11-12 Canon Inc 通信方法及び画像形成装置

Also Published As

Publication number Publication date
JP4072405B2 (ja) 2008-04-09

Similar Documents

Publication Publication Date Title
US9218150B2 (en) Image forming apparatus and method thereof
US8085425B2 (en) Information processing apparatus
US8587811B2 (en) Information processing apparatus and method thereof
US20110075207A1 (en) Information processing apparatus and method thereof
US8189221B2 (en) Image forming device for executing a designated process with priority without canceling a previously accepted process
US8112793B2 (en) Image forming apparatus and image forming system
JP2004326603A (ja) 印刷制御システム、印刷制御装置、機能提供装置、印刷機能表示方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JPH11327856A (ja) 印刷制御装置および印刷制御装置のデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
JP2005135389A (ja) プリンタコントローラの自動プリンタドライバ構成
JP2012086449A (ja) 画像形成装置、ジョブ管理方法、及びプログラム
JP4072405B2 (ja) プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体
JP3622670B2 (ja) 印刷ジョブ管理装置
JP2001243034A (ja) 処理装置
JP4854144B2 (ja) 印刷システム、管理方法、及び印刷装置
JPH10154121A (ja) 通信システム
JP2001075748A (ja) 印刷システム及び印刷制御プログラムを記録したコンピュータ読取り可能な記録媒体
JP2001125763A (ja) プリンタ装置および印刷システム
JP2004094493A (ja) 記憶媒体処理装置およびその制御方法
JP2008310419A (ja) 情報処理装置、情報処理方法、プログラム及び、記憶媒体
JP3817500B2 (ja) 情報処理装置、制御方法、制御プログラム
JP2013111799A (ja) 印刷装置及びその制御方法
JP4313998B2 (ja) ホストコンピュータ及びその制御方法、プログラム並びに記憶媒体
JP2005174225A (ja) 情報処理装置、印刷システム、情報処理方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記憶媒体
JP4776763B2 (ja) プリントサーバ装置及び情報処理装置及び印刷ジョブ保存管理方法、及び保存ジョブ生成方法および記憶媒体
JP2003300372A (ja) 印刷装置およびエラー処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040610

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061127

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees