(57)【要約】      （修正有）【課題】プログラム間にて処理対象のファイルの受け渡しを可能としつつプログラムの二重起動を防止する。【解決手段】送信側の画像管理プログラムと受信側の画像編集アプリケーションとの間に仲介プログラムが介在し、画像編集アプリケーションが未起動の場合に限り、対象ファイルの画像データを処理対象として画像編集アプリケーションを起動させる。これにより、画像編集アプリケーションの二重起動を防止するとともに、ユーザーが所望する画像データを処理対象とすることができる。一方、画像編集アプリケーションが起動中である場合には、起動中の画像編集アプリケーションに対して対象ファイルの画像データを追加指定する。これにより、後発的にユーザーが所望した画像データについても画像編集アプリケーションの処理対象とすることができる。また、画像編集アプリケーションがビジー状態である場合には、待機する。【選択図】図２
2007102287.tif 000002
【特許請求の範囲】
【請求項１】
共通のファイルを処理対象とする送信側プログラムと受信側プログラムとの仲介をなすプログラム制御装置において、
上記送信側プログラムにおいて上記受信側プログラムにて処理させる対象ファイルの指定を受け付ける対象ファイル取得手段と、
上記対象ファイル取得手段が上記受信側プログラムにて処理させる上記対象ファイルの指定を受け付けたとき、同受信側プログラムの動作状態を取得する状態取得手段と、
上記状態取得手段にて上記受信側プログラムが未起動である旨の動作状態が取得されたとき、上記受信側プログラムを起動させ、同受信側プログラムに当該対象ファイルを処理対象として指定するとともに、
上記状態取得手段にて上記受信側プログラムが起動中である旨の動作状態が取得されたとき、上記受信側プログラムに当該対象ファイルを処理対象として追加指定する仲介手段とを具備することを特徴とするプログラム制御装置。
【請求項２】
上記仲介手段は、
上記状態取得手段にて上記受信側プログラムが初期化中である旨の動作状態が取得されたとき、同受信側プログラムの初期化が完了するまで待機し、同受信側プログラムの初期化完了後に上記受信側プログラムに当該対象ファイルを処理対象として追加指定することを特徴とする請求項１に記載のプログラム制御装置。
【請求項３】
上記仲介手段は、
上記状態取得手段にて上記受信側プログラムがビジー状態である旨の動作状態が取得されたとき、同受信側プログラムのビジー状態が解除されるまで待機し、同受信側プログラムのビジー状態が解除されたとき上記受信側プログラムに当該対象ファイルを処理対象として追加指定することを特徴とする請求項１または請求項２のいずれかに記載のプログラム制御装置。
【請求項４】
共通のファイルを処理対象とする送信側プログラムと受信側プログラムとの仲介を行うプログラム制御方法において、
上記送信側プログラムにおいて上記受信側プログラムにて処理させる対象ファイルの指定を受け付ける対象ファイル取得工程と、
上記対象ファイル取得工程にて上記受信側プログラムにて処理させる上記対象ファイルの指定を受け付けたとき、同受信側プログラムの動作状態を取得する状態取得工程と、
上記状態取得工程にて上記受信側プログラムが未起動である旨の動作状態が取得されたとき、上記受信側プログラムを起動させ、同受信側プログラムに当該対象ファイルを処理対象として指定するとともに、
上記状態取得工程にて上記受信側プログラムが起動中である旨の動作状態が取得されたとき、上記受信側プログラムに当該対象ファイルを処理対象として追加指定する仲介工程とを具備することを特徴とするプログラム制御方法。
【請求項５】
共通のファイルを処理対象とする送信側プログラムと受信側プログラムを仲介する機能をコンピュータにて実現させるプログラム制御プログラムにおいて、
上記送信側プログラムにおいて上記受信側プログラムにて処理させる対象ファイルの指定を受け付ける対象ファイル取得機能と、
上記対象ファイル取得機能が上記受信側プログラムにて処理させる上記対象ファイルの指定を受け付けたとき、同受信側プログラムの動作状態を取得する状態取得機能と、
上記状態取得機能にて上記受信側プログラムが未起動である旨の動作状態が取得されたとき、上記受信側プログラムを起動させ、同受信側プログラムに当該対象ファイルを処理対象として指定するとともに、
上記状態取得機能にて上記受信側プログラムが起動中である旨の動作状態が取得されたとき、上記受信側プログラムに当該対象ファイルを処理対象として追加指定する仲介機能とをコンピュータにて実現させるプログラム制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム制御装置、プログラム制御方法およびプログラム制御プログラムに関し、特に共通のファイルを処理対象とする送信側プログラムと受信側プログラムとの仲介をなすプログラム制御装置、プログラム制御方法およびプログラム制御プログラムに関する。
【背景技術】
【０００２】
従来よりプログラムの二重起動を防止する方法が提案されている（例えば、特許文献１，２、参照）。特許文献１においては、テーブルを設け、同テーブルにてプログラムの起動を許可するか否かを管理する技術が開示されている。特許文献２においては、先行して起動されたプログラムの動作状況を取得し、同動作状況に応じて後のプログラムの起動可否を決定するものが開示されている。
かかる構成によれば、同一のプログラムが複数回にわたって起動指示された場合でも、プログラムが複数重複して起動されることが防止でき、ＣＰＵやメモリが不必要に使用されることが防止できた。
【特許文献１】特開平１１−２９６３８３号公報
【特許文献２】特開２００４−１０２６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
プログラムの起動を処理対象のファイル指定と対応づけて行うことが一般的に行われている。例えば、一方のアプリケーションが処理していたファイルを他方のアプリケーションにて処理させるために、一方のアプリケーション上にて処理対象のファイルを指定しつつ他方のアプリケーションを起動させることが行われている。具体的な例を挙げると、画像データを一覧表示する画像管理アプリケーション上にて、レタッチ対象の画像データを指定しつつ、レタッチアプリケーションを起動させるようなことが一般的に行われている。上述した技術において、プログラムがすでに起動している場合、基本的には後に同一のプログラムが起動されることは許可されない。従って、先行してレタッチアプリケーションが起動されている場合には、後からレタッチアプリケーションが起動されることはないため、画像管理アプリケーション上にてレタッチ対象として新たに画像データを指定したにもかかわらず、当該画像データについてレタッチを行うことができないという課題があった。すなわち、上述した技術においては、プログラムの起動指示とともに、処理対象のファイル指定も無視されてしまうという課題があった。
本発明は、プログラム間にて処理対象のファイルの受け渡しを可能としつつプログラムの二重起動を防止するプログラム制御装置、プログラム制御方法およびプログラム制御プログラムの提供を目的とする。
【課題を解決するための手段および発明の効果】
【０００４】
上記課題を解決するため請求項１にかかる発明では、送信側プログラムと受信側プログラムは共通のファイルを処理対象とすることができる。プログラム制御装置は、このような送信側プログラムと受信側プログラムの仲介を行う。対象ファイル取得手段は、上記送信側プログラムにおいて上記受信側プログラムにて処理させる対象ファイルの指定を受け付ける。すなわち、上記送信側プログラムでは、上記受信側プログラムを起動させるとともに、起動後に同受信側プログラムにどのファイルを対象として処理を行わせるかを指定することができる。状態取得手段は、上記対象ファイル取得手段が上記受信側プログラムにて処理させる上記対象ファイルの指定を受け付けると、同受信側プログラムの動作状態を取得する。すなわち、上記受信側プログラムを起動させるにあたり、予め同受信側プログラムの動作状態を取得しておく。
【０００５】
そして、上記状態取得手段によって上記受信側プログラムの動作状態が未起動であると確認された場合には、上記仲介手段が新たに上記受信側プログラムを起動させる。それとともに、上記受信側プログラムに対して、上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを処理対象として指定する。これにより、上記対象ファイル取得手段が指定を受け付けた対象ファイルを処理対象としつつ上記受信側プログラムを起動させることができる。一方、上記状態取得手段によって上記受信側プログラムの動作状態が起動中であると確認された場合には、上記仲介手段が上記受信側プログラムに上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを処理対象として追加指定する。すなわち、上記受信側プログラムはいずれかのファイルを処理対象として起動されているため、その処理対象に上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを追加する。これにより、上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを上記受信側プログラムにて処理対象とすることができるとともに、同受信側プログラムが二重起動されることも防止できる。
【０００６】
また、請求項２にかかる発明では、上記状態取得手段にて上記受信側プログラムが起動中であるものの初期化中である旨の動作状態が取得された場合には、上記仲介手段は同受信側プログラムの初期化が完了するまで待機する。そして、上記受信側プログラムの初期化が完了した後に、上記受信側プログラムに上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを処理対象として指定する。すなわち、上記仲介手段は、上記受信側プログラムが初期化中である場合には、初期化が完了し動作が安定した後に、上記対象ファイルを処理対象として指定する。これにより、初期化中に動作が不安定になることが防止できる。
【０００７】
さらに、請求項３にかかる発明では、上記状態取得手段にて上記受信側プログラムが起動中であるもののビジー状態である旨の動作状態が取得された場合には、上記仲介手段は同受信側プログラムのビジー状態が解除されるまで待機する。そして、上記受信側プログラムのビジー状態が解除された後に、上記受信側プログラムに上記対象ファイル取得手段が指定を受け付けた当該対象ファイルを処理対象として指定する。すなわち、上記仲介手段は、上記受信側プログラムがビジー状態である場合には、ビジー状態が解除され動作が安定した後に、上記対象ファイルを処理対象として指定する。これにより、ビジー状態の間に動作が不安定になることが防止できる。なお、ビジー状態とは上記受信側プログラムが何らかの処理を現在行っており、別の処理要求に応えられない状況を意味し、例えばＣＰＵやＲＡＭの使用率が所定の閾値を越えた場合に、ビジー状態であると判断することができる。
【０００８】
むろん、以上の発明は、装置のみならず、請求項４のようなプログラム制御方法によって実現することも可能であるし、請求項５のように上記方法に従った処理を実行するプログラム制御プログラムによって実現することも可能である。また、本発明にかかる装置、方法、プログラムは単独で実施される場合もあるし、ある機器に組み込まれた状態で他の装置、方法、プログラムとともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであり、適宜、変更可能である。
【０００９】
さらに、本発明のプログラムを記録した記録媒体として提供することも可能である。このプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。また、必ずしも全部の機能を単独のプログラムで実現するのではなく、複数のプログラムにて実現させるようなものであっても良い。この場合、各機能を複数のコンピュータに実現させるものであればよい。
【発明を実施するための最良の形態】
【００１０】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）コンピュータの構成：
（２）プログラム制御処理の流れ：
（３）まとめ：
【００１１】
（１）コンピュータの構成：
図１は、本発明のプログラム制御装置としてのコンピュータの概略構成を示している。同図において、コンピュータ１０には、内部バス１０ａによって接続されたＣＰＵ１１とＲＡＭ１２とＨＤＤ１３とＵＳＢインターフェイス（Ｉ／Ｆ）１４と入力機器インターフェイス（Ｉ／Ｆ）１５とビデオインターフェイス（Ｉ／Ｆ）１６とが備えられており、ＨＤＤ１３には各種プログラムデータ１３ａと画像データ１３ｂが記憶されている。ＣＰＵ１１は、このプログラムデータ１３ａを読み出して、同プログラムデータ１３ａに基づいた処理をＲＡＭ１２をワークエリアとして利用しながら実行する。ＵＳＢインターフェイス（Ｉ／Ｆ）１４にはプリンタ２０が接続されており、入力機器インターフェイス１５にはマウス４０およびキーボード５０が接続されている。さらに、ビデオインターフェイス（Ｉ／Ｆ）１６にはディスプレイ６０が接続されている。
【００１２】
図２は、コンピュータ１０にて実行されるプログラムのソフトウェア構成を示している。同図において、コンピュータ１０においてはオペレーティングシステム（Ｏ／Ｓ）Ｐ１が実行されており、さらに同Ｏ／Ｓ Ｐ１上にて本発明の送信側プログラムに相当する画像管理アプリケーションＰ２と本発明の受信側プログラムに相当する画像編集アプリケーションＰ３とプリンタドライバＰ４と仲介プログラムＰ５が実行されている。Ｏ／Ｓ Ｐ１は、画像管理アプリケーションＰ２と画像編集アプリケーションＰ３とプリンタドライバＰ４との仲介をなすＡＰＩ［Application Program Interface］Ｐ１ａを提供している。ＡＰＩ Ｐ１ａは、各プログラムＰ２〜Ｐ４が共通して利用することできる関数で構成されており、Ｏ／Ｓ Ｐ１上にて実行される各プログラムＰ２〜Ｐ５は、ＡＰＩ Ｐ１ａの関数を呼び出して、同関数による機能を実現することができ、各プログラムＰ２〜Ｐ４間の連携させることが可能となっている。
【００１３】
さらに、Ｏ／Ｓ Ｐ１のモジュールとしてイベントモジュールＰ１ｂが実行されており、イベントモジュールＰ１ｂは各プログラムＰ２〜Ｐ４から送信されるイベントを取得し、同イベントから得られるイベント情報をまとめて管理する。そして、各プログラムＰ２〜Ｐ４から要求があった場合には、イベントモジュールＰ１ｂはイベント情報を要求元のプログラムＰ２〜Ｐ４に送信する。イベントモジュールＰ１ｂにて管理されるイベント情報は、各プログラムＰ２〜Ｐ４の動作状態が含まれており、各プログラムＰ２〜Ｐ４はイベントモジュールＰ１ｂを通じて他のプログラムＰ２〜Ｐ４の動作状態を取得することが可能となっている。画像管理アプリケーションＰ２は、ＨＤＤ１３から取得した画像データ１３ｂを管理するための機能を提供する画像管理部Ｐ２ａと、対象ファイル取得部Ｐ２ｂとから構成されている。
【００１４】
図３は、画像管理アプリケーションＰ２がディスプレイ６０に表示させるＵＩ画面の一例を示している。画像管理部Ｐ２ａは、ＨＤＤ１３から複数の画像データ１３ｂを取得し、各画像データ１３ｂに対応したサムネイルを作成する。そして、各画像データ１３ｂのヘッダから取得したファイル名や作成日時等の画像情報とともに、各サムネイルをＵＩ画面の閲覧領域Ａ１にて一覧表示する。また、画像管理部Ｐ２ａは、ユーザーによるマウス４０やキーボード５０の操作に応じて画像データ１３ｂのコピーや削除や移動や名前の変更等の画像管理を実現させている。対象ファイル取得部Ｐ２ｂは、マウス４０やキーボード５０の操作に応じて各サムネイルの選択を受け付けており、選択されたサムネイルについては表示態様を変更することにより、選択されたことを容易に認識させることが可能となっている。
【００１５】
サムネイルが表示された閲覧領域Ａ１の上部には、プリントボタンＡ２ａや送信ボタンＡ２ｂや編集ボタンＡ２ｃ等のランチャーボタンＡ２が設けられている。対象ファイル取得部Ｐ２ｂは、いずれかのサムネイルが選択された状態において、マウス４０やキーボード５０の操作によってランチャーボタンＡ２のクリックを受け付けている。そして、選択されたサムネイルに対応する画像データ１３ｂを処理対象の対象ファイルとしてランチャーボタンＡ２に対応するプログラムを起動させる。例えば、プリントボタンＡ２ａがクリックされた場合にはプリンタドライバＰ４が起動され、対応するサムネイルが選択された画像データ１３ｂをプリンタ２０にて印刷させるための条件指定やデータ変換が行われる。
【００１６】
編集ボタンＡ２ｃがクリックされた場合には仲介プログラムＰ５が起動される。仲介プログラムＰ５は状態取得部Ｐ５ａとコマンド生成部Ｐ５ｂとから構成されており、状態取得部Ｐ５ａは所定の対象プログラムについての動作状態を取得する。そして、当該対象プログラムが起動していなければ、コマンド生成部Ｐ５ｂは当該対象プログラムを起動させるための起動コマンドを生成する。この起動コマンドには、閲覧領域Ａ１にて対応するサムネイルが選択された画像データ１３ｂを当該対象プログラムにて処理対象とするためのパラメータが添付される。具体的には、閲覧領域Ａ１にて対応するサムネイルが選択された画像データ１３ｂのファイル名やパスを起動コマンドに添付する。これにより、当該対象プログラムを起動させるとともに、閲覧領域Ａ１にて対応するサムネイルが選択された画像データ１３ｂを当該対象プログラムにて処理対象とすることができる。
【００１７】
一方、状態取得部Ｐ５ａが対象プログラムが起動している旨の動作状態を取得した場合には、起動中の対象プログラムに対して、閲覧領域Ａ１にて対応するサムネイルが選択された画像データ１３ｂのファイル名やパスを処理対象とするコマンドを出力する。すなわち、現時点で何らかの画像データ１３ｂを処理対象として対象プログラムが起動されているため、処理対象として新たに閲覧領域Ａ１にて対応するサムネイルが選択された画像データ１３ｂを追加指定するコマンドをコマンド生成部Ｐ５ｂが生成する。これにより、重複して対象プログラムが起動されることが防止できるとともに、後発的に指定された画像データ１３ｂを対象プログラムの処理対象として追加することができる。なお、本実施形態において、状態取得部Ｐ５ａが動作状態を取得し、コマンド生成部Ｐ５ｂが起動コマンドを作成する対象プログラムを設定することが可能となっている。
【００１８】
図４は、仲介プログラムＰ５が起動させる対象プログラムを設定するための画面を示している。同図において、任意のプログラムのファイル名およびそのパスを指定するための入力ボックスＢ１が設けられており、画像編集アプリケーションＰ３が対象プログラムとして指定されている。画像データを編集するためのアプリケーションがコンピュータ１０に複数インストールされている場合があるため、編集ボタンＡ２ｃをクリックによって仲介プログラムＰ５が起動させる対象プログラムをユーザーが指定できるようにすることにより、ユーザーが最も使いやすい画像編集アプリケーションＰ３を画像管理アプリケーションＰ２上から起動させることが可能となる。
【００１９】
以下、画像編集アプリケーションＰ３が対象プログラムとして設定されているものとして説明する。画像編集アプリケーションＰ３は、画像編集部Ｐ３ａとイベント生成部Ｐ３ｂとから構成されている。画像編集部Ｐ３ａは、起動コマンドにおいて指定された画像データ１３ｂ、および、追加指定された画像データ１３ｂを取得し、当該画像データ１３ｂに対して編集を行う機能を提供する。例えば、画像データ１３ｂのサイズ変換や色補正やシャープネス等といった画像処理を実現させる。画像管理アプリケーションＰ２は画像データ１３ｂの管理を実現し、画像編集アプリケーションＰ３は画像データ１３ｂの画像処理を実現しており、画像管理アプリケーションＰ２と画像編集アプリケーションＰ３は共通のファイルを処理対象とするということができる。
【００２０】
イベント生成部Ｐ３ｂは、画像編集アプリケーションＰ３の動作状態を監視しており、動作状態に応じてイベントを生成し、同イベントをイベントモジュールＰ１ｂに送信する。具体的には、画像編集アプリケーションＰ３が起動を開始したイベントと、画像編集アプリケーションＰ３の初期化が完了したイベントと、画像編集アプリケーションＰ３がビジー状態となる処理を開始したイベントと、画像編集アプリケーションＰ３がビジー状態となる処理を終了したイベントと、画像編集アプリケーションＰ３が終了したイベントを生成する。すなわち、画像編集アプリケーションＰ３の動作状態が変動するごとに、イベント生成部Ｐ３ｂがイベントモジュールＰ１ｂにイベントを送信するため、Ｏ／Ｓ Ｐ１上にて動作する他のプログラムはイベントモジュールＰ１ｂを介して画像編集アプリケーションＰ３の動作状態を取得することが可能となっている。
【００２１】
（２）プログラム制御処理の流れ：
図５，６は画像管理アプリケーションＰ２と仲介プログラムＰ５によって実行される処理の流れを示し、図７，８は画像管理アプリケーションＰ２と仲介プログラムＰ５と画像編集アプリケーションＰ３が連携して行う処理のタイミングチャートを示している。図５において、画像管理アプリケーションＰ２の対象ファイル取得部Ｐ２ｂは、ステップＳ１００にて編集ボタンＡ２ｃがクリックされるまで待機する。上述したとおり編集ボタンＡ２ｃがクリックされたときには、いずれかの画像データ１３ｂがサムネイルを選択することにより処理対象として指定されており、対象ファイル取得部Ｐ２ｂは当該画像データ１３ｂのファイル名と保存パス等の情報についても取得する。編集ボタンＡ２ｃがクリックされると、ステップＡ１１０において、画像管理アプリケーションＰ２が仲介プログラムＰ５を起動させるための起動コマンドを生成する。
【００２２】
仲介プログラムＰ５を起動させるための起動コマンドにおいては、仲介プログラムＰ５にどのプログラムを対象プログラムとして動作させるかを指定するためのパラメータと、当該対象プログラムにて処理対象とする画像データ１３ｂを指定するためのパラメータを添付することができる。画像管理アプリケーションＰ２はステップＳ１２０において、起動させる対象プログラムがどの画像データ１３ｂを処理対象とするかを指定するためのパラメータを起動コマンドに添付する。具体的には、対応するサムネイルが指定された画像データ１３ｂのファイル名や保存パス等を添付する。
【００２３】
さらに、仲介プログラムＰ５を起動させるための起動コマンドにおいては、仲介プログラムＰ５が、どのプログラムを対象プログラムとして動作するべきかを指定するためのパラメータを添付することができる。ステップＳ１３０においては、対象プログラムを指定するためのパラメータを起動コマンドに添付する。上述したとおり、本実施形態において対象プログラムとして画像編集アプリケーションＰ３が設定されているため、画像編集アプリケーションＰ３の実行ファイルのファイル名や保存パス等が添付される。以上のようにして、起動コマンドの生成が完了すると、ステップＳ１４０にて生成した起動コマンドをＯ／Ｓ Ｐ１に出力する。
【００２４】
図６において、仲介プログラムＰ５は予め起動しておらず、Ｏ／Ｓ Ｐ１が起動コマンドを受け付けるとステップＳ２００にて起動を開始する。ステップＳ２０５において、仲介プログラムＰ５は、画像管理アプリケーションＰ２が起動コマンドに添付した指定情報から対象プログラムが処理対象とする画像データ１３ｂのファイル名と保存パスを取得する。ステップＳ２１０において、仲介プログラムＰ５は、画像管理アプリケーションＰ２が起動コマンドに添付した指定情報から対象プログラムがどのプログラムであるかを特定する。本実施形態では対象プログラムが画像編集アプリケーションＰ３であると指定されているため、画像編集アプリケーションＰ３が対象プログラムであると認識される。
【００２５】
ステップＳ２１５においては、状態取得部Ｐ５ａが対象プログラムとして指定された画像編集アプリケーションＰ３の動作状態を取得する。具体的には、画像編集アプリケーションＰ３の動作状態が変動するごとに、画像編集アプリケーションＰ３のイベント生成部Ｐ３ｂがイベントモジュールＰ１ｂにイベントを送信しているため、状態取得部Ｐ５ａはイベントモジュールＰ１ｂを介して画像編集アプリケーションＰ３の動作状態を取得する。図７に示すように、Ｏ／Ｓ Ｐ１が提供するイベントモジュールＰ１ｂは、常時起動しており、常に画像編集アプリケーションＰ３から通知されるイベントを受信し、管理することが可能となっている。
【００２６】
ステップＳ２２０において、画像編集アプリケーションＰ３の動作状態が未起動であると取得された場合には、ステップＳ２２５において画像編集アプリケーションＰ３の起動コマンドを生成するとともに、当該起動コマンドに対象ファイルである画像データ１３ｂを指定するための記述を添付する。ステップＳ２０５，Ｓ２１５において、仲介プログラムＰ５は、起動すべきプログラムが画像編集アプリケーションＰ３であり、同画像編集アプリケーションＰ３にて処理対象とすべき対象ファイルがどの画像データ１３ｂであるかを取得しているため、ステップＳ２２５にて対象ファイルの画像データ１３ｂを処理対象として画像編集アプリケーションＰ３を起動させるための起動コマンドを生成することができる。これにより、ユーザーが指定したサムネイルに対応する画像データ１３ｂを処理対象として画像編集アプリケーションＰ３を起動させることができる。言い換えれば、ユーザーが指定した画像データ１３ｂが画像管理アプリケーションＰ２から起動させた画像編集アプリケーションＰ３に受け渡されたこととなる。
【００２７】
図７に示すタイミングチャートの上段においては、以上説明したようにユーザーが指定したサムネイルに対応する画像データ１３ｂを処理対象として画像編集アプリケーションＰ３を起動させられる場合の処理の流れが示されている。同図において、イベントモジュールＰ１ｂは画像編集アプリケーションＰ３のイベント生成部Ｐ３ｂから同画像編集アプリケーションＰ３が起動した旨のイベントを受信しておらず、この場合には画像編集アプリケーションＰ３が未起動である旨の動作状態が取得される。このように、編集ボタンＡ２ｃがクリックされた時点で、画像編集アプリケーションＰ３が起動されていない場合には、新たに画像編集アプリケーションＰ３を起動させ、同画像編集アプリケーションＰ３にてユーザーが指定した対象ファイルとしての画像データ１３ｂを処理対象とすることができる。このようにすることにより、画像管理アプリケーションＰ２において一覧表示されたサムネイルを選択して、所望の画像データ１３ｂを処理対象の対象ファイルとして画像編集アプリケーションＰ３を起動することができる。
【００２８】
一方、ステップＳ２２０において、画像編集アプリケーションＰ３の動作状態が起動中であると判定された場合には、さらにステップＳ２３０にて動作状態の判定を行う。ここでは、起動中の画像編集アプリケーションＰ３が新たな画像データ１３ｂを処理対象として追加可能な状態となっているかどうかが判定される。上述したとおりイベントモジュールＰ１ｂには画像編集アプリケーションＰ３が起動を開始したイベントのほかに、画像編集アプリケーションＰ３の初期化が完了したイベントと、画像編集アプリケーションＰ３がビジー状態となる処理を開始したイベントと、画像編集アプリケーションＰ３がビジー状態となる処理を終了したイベントが送信されているため、これらのイベントに基づいて起動中の画像編集アプリケーションＰ３が新たな画像データ１３ｂを処理対象として受け入れ可能な状態となっているかどうかを判定することができる。
【００２９】
図８は、画像編集アプリケーションＰ３の各動作状態において、画像編集アプリケーションＰ３が新たな画像データ１３ｂが処理対象として受け入れることが許可するか否かを示している。同図において、起動を開始し初期化を終了するまでの初期化中においては、画像編集アプリケーションＰ３によるＣＰＵ１１の処理負担が増大するため、新たな画像データ１３ｂの受け入れが拒否される。同様に、ビジー状態となる処理を開始し終了するまでの期間においては、画像編集アプリケーションＰ３によるＣＰＵ１１の処理負担が増大するため、新たな画像データ１３ｂの受け入れが拒否される。
【００３０】
例えば、画像データ１３ｂに対してフィルターを用いた負荷の重い画像処理を実行中のイベントが取得された場合には、新たな画像データ１３ｂの受け入れが拒否するようにしてもよい。なお、画像編集アプリケーションＰ３の動作状態以外にも直接ＣＰＵ１１の使用率を取得し、新たな画像データ１３ｂの受け入れ拒否を判定するようにしてもよい。一方、画像編集アプリケーションＰ３が起動中であっても、画像編集アプリケーションＰ３が待機状態である場合には、新たな画像データ１３ｂの受け入れが許可される。図７，９では、画像編集アプリケーションＰ３が起動中であって、新たな画像データ１３ｂの受け入れが拒否されるタイミングが斜線によって塗りつぶされている。
【００３１】
起動中の画像編集アプリケーションＰ３が新たな画像データ１３ｂを処理対象として受け入れることが許可される状態となっている場合には、ステップＳ２４０にてコマンド生成部Ｐ５ｂが対象ファイルとされた画像データ１３ｂを画像編集アプリケーションＰ３の処理対象として追加指定するためのコマンドを生成する。具体的には、対象ファイルとして指定された画像データ１３ｂのファイル名や保存パス等が記述されたコマンドが生成される。これにより、同コマンドを受け取った画像編集アプリケーションＰ３に対して、同コマンドにて指定された画像データ１３ｂを処理対象として追加指定することができる。言い換えれば、ユーザーが指定した画像データ１３ｂが画像管理アプリケーションＰ２から起動中の画像編集アプリケーションＰ３に受け渡されたこととなる。これにより、ある画像データ１３ｂを対象として画像編集アプリケーションＰ３が起動され、その後、後発的に画像データ１３ｂが指定され編集ボタンＡ２ｃがクリックされた場合でも、後発の画像データ１３ｂを画像編集アプリケーションＰ３の処理対象とすることができる。
【００３２】
なお、画像編集アプリケーションＰ３が後発的に処理対象とされた画像データ１３ｂを処理対象として追加する際には、画像データ１３ｂを実行メモリのＲＡＭ１２に展開することとなるためＣＰＵ１１の処理負担は増大するが、ステップＳ２３０にてＣＰＵ１１の処理負担が大きくないことが確認されているため、ＣＰＵ１１に過剰な負担がかかることはない。一方、画像編集アプリケーションＰ３が初期化中であったりビジー状態であった場合には、ステップＳ２３５にて所定期間待機する。
【００３３】
図７の下段は画像編集アプリケーションＰ３がビジー状態である場合の処理の流れを示し、図９は画像編集アプリケーションＰ３が初期化中である場合の処理の流れを示している。いずれにおいても、起動中の画像編集アプリケーションＰ３が新たな画像データ１３ｂを処理対象として受け入れることが許可される状態となっていないため、仲介プログラムＰ５はそのまま待機する。待機中においては、仲介プログラムＰ５は、対象ファイルとして指定された画像データ１３ｂのファイル名や保存パス等をＲＡＭ１１やＨＤＤ１３に保持している。所定時間待機すると、再度、ステップＳ２１５において画像編集アプリケーションＰ３の動作状態を取得し、以降の処理を同様に実行する。
【００３４】
ここで、初期化が終了した旨のイベントが通知されるか、ビジー状態となる処理が終了した旨のイベントが通知され、画像編集アプリケーションＰ３が待機中である旨の動作状態が取得されると、新たな画像データ１３ｂを処理対象として受け入れることが許可される状態に移行する。従って、繰り返し実行されるステップＳ２４０にて、コマンド生成部Ｐ５ｂが対象ファイルとされた画像データ１３ｂを画像編集アプリケーションＰ３の処理対象として追加指定するためのコマンドを生成する。これにより、上述したようにユーザーが対象ファイルとして指定した画像データ１３ｂを追加的に画像編集アプリケーションＰ３にて処理させることができる。待機中、仲介プログラムＰ５は対象ファイルとして指定された画像データ１３ｂのファイル名や保存パス等をＲＡＭ１１やＨＤＤ１３に保持しているため、コマンド生成部Ｐ５ｂが対象ファイルを追加指定するためのコマンドを生成することができる。
【００３５】
このように、画像編集アプリケーションＰ３の初期化が完了するまで、および、画像編集アプリケーションＰ３のビジー状態が解除されるまで、対象ファイルとされた画像データ１３ｂを画像編集アプリケーションＰ３の処理対象として追加指定されないため、ＣＰＵ１１の過度な負担を回避することができる。従って、確実にユーザーが指定した画像データ１３ｂを画像管理アプリケーションＰ２から起動中の画像編集アプリケーションＰ３に受け渡すことができる。なお、ステップＳ２３５において待機する間に、画像編集アプリケーションＰ３が終了する場合も考えられる。この場合は、繰り返し実行されるステップＳ２２０にて、画像編集アプリケーションＰ３が未起動であると判定されるため、画像編集アプリケーションＰ３が新たに起動され、対象ファイルとして指定した画像データ１３ｂが処理対象となる。
【００３６】
（３）まとめ：
本発明において、送信側の画像管理プログラムＰ２と受信側の画像編集アプリケーションＰ３との間に仲介プログラムＰ５が介在し、画像編集アプリケーションＰ３が未起動の場合に限り、対象ファイルの画像データ１３ｂを処理対象として画像編集アプリケーションＰ３を起動させる。これにより、画像編集アプリケーションＰ３の二重起動を防止するとともに、ユーザーが所望する画像データ１３ｂを処理対象とすることができる。一方、画像編集アプリケーションＰ３が起動中である場合には、起動中の画像編集アプリケーションＰ３に対して対象ファイルの画像データ１３ｂを追加指定する。これにより、後発的にユーザーが所望した画像データ１３ｂについても画像編集アプリケーションＰ３の処理対象とすることができる。また、画像編集アプリケーションＰ３がビジー状態である場合には、待機することにより、確実に対象ファイルの画像データ１３ｂを追加指定が行われるようにする。
【図面の簡単な説明】
【００３７】
【図１】コンピュータのハードウェア構成図である。
【図２】各プログラムのハードウェア構成図である。
【図３】ＵＩ画面の一例を示す図である。
【図４】ＵＩ画面の一例を示す図である。
【図５】画像管理アプリケーションが実行する処理のフローチャートである。
【図６】仲介プログラムが実行する処理のフローチャートである。
【図７】各プログラムが実行する処理のタイミングチャートである。
【図８】画像管理アプリケーションの各動作状態に対する画像データの受け入れ可否を示す表である。
【図９】各プログラムが実行する処理のタイミングチャートである。
【符号の説明】
【００３８】
１０…コンピュータ，１０ａ…バス，１１…ＣＰＵ，１２…ＲＡＭ，１３…ＨＤＤ，１３ａ…プログラムデータ，１３ｂ…画像データ，１４…ＵＳＢＩ／Ｆ，１５…入力機器Ｉ／Ｆ，１６…ビデオＩ／Ｆ，２０…プリンタ，４０…マウス，５０…キーボード，６０…ディスプレイ，Ｐ１…Ｏ／Ｓ，Ｐ１ａ…ＡＰＩ，Ｐ１ｂ…イベントモジュール，Ｐ２…画像管理アプリケーション，Ｐ２ａ…画像管理部，Ｐ２ｂ…対象ファイル取得部，Ｐ３…画像編集アプリケーション，Ｐ３ａ…画像編集部，Ｐ３ｂ…イベント生成部，Ｐ４…プリンタドライバ，Ｐ５…仲介プログラム，Ｐ５ａ…状態取得部，Ｐ５ｂ…コマンド生成部
【図１】
2007102287.tif 000003
【図２】
2007102287.tif 000004
【図３】
2007102287.tif 000005
【図４】
2007102287.tif 000006
【図５】
2007102287.tif 000007
【図６】
2007102287.tif 000008
【図７】
2007102287.tif 000009
【図８】
2007102287.tif 000010
【図９】
2007102287.tif 000011