(57)【要約】【課題】円滑かつ高速にバッチ処理を実行することが可能なプロキシバッチ処理方法、および、プロキシバッチ処理装置を実現する。【解決手段】プロキシアプリケーションおよび待機機能を実行する動作アプリケーションの単一のインスタンスを起動することによって、プロキシバッチ処理のための方法を実現する。また、プロキシアプリケーションに加えて、中間アプリケーションが起動されてもよい。中間アプリケーションは、待機時間が経過した後に、動作アプリケーションの単一のインスタンスを起動する。あるいは、中間アプリケーションは、動作アプリケーションが複数のオブジェクトの入力を受信しない、あるいは、複数のオブジェクトを１つのバッチ出力にまとめない場合には、動作アプリケーションの複数のインスタンスを起動してもよい。【選択図】図６
2008152765.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のオブジェクトのバッチであって、上記バッチをサポートする動作アプリケーションに関連付けられているバッチを受信するステップと、
プロキシアプリケーションの、上記バッチのオブジェクトに関連付けられているインスタンスを、オブジェクトごとに別々に起動するステップと、
上記プロキシアプリケーションの別々のインスタンスに基づいて、上記動作アプリケーションが実行中であるか否かを判定するステップと、
上記動作アプリケーションが実行中でない場合に、上記動作アプリケーションのインスタンスを起動して、上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを、上記動作アプリケーションに渡すステップと、
上記動作アプリケーションが実行中の場合に、上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを、上記動作アプリケーションに渡すステップとを含み、
上記動作アプリケーションは、
待機時間を有し、当該動作アプリケーションが、自身宛てに渡されるオブジェクトを何も受け取らないうちに上記待機時間が経過したときに、終了することを特徴とするプロキシバッチ処理方法。
【請求項２】
状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、
上記動作の選択肢は、上記動作アプリケーションに関連付けられていることを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項３】
上記動作アプリケーションは、
上記動作アプリケーションに渡された複数のオブジェクトの各々を処理する前後に待機することを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項４】
上記プロキシアプリケーションの別々の各インスタンスのいくつかは、上記動作アプリケーションが上記動作アプリケーションに渡された複数のオブジェクトのうちのいずれかを処理中であるときに起動されることを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項５】
上記プロキシアプリケーションの、起動された上記別々のインスタンスのうち、少なくとも２つは、一定の間隔を空けて起動され、
上記少なくとも２つの起動された別々のインスタンスのうちの１つが起動された後に、
上記動作アプリケーションの上記待機時間より短い時間間隔で、上記別々のインスタンスのうちの他の１つが起動されるようになることを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項６】
プロキシアプリケーションの、上記別々のインスタンスを起動するステップは、１または複数のシェルコマンド経由で行われることを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項７】
上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを上記動作アプリケーションに渡すステップは、定義済みの位置にあるオブジェクトによって指示されることを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項８】
さらに、上記動作アプリケーションによってバッチ出力を生成するステップを含むことを特徴とする請求項１に記載のプロキシバッチ処理方法。
【請求項９】
上記バッチ出力は、プリンタによって処理されることを特徴とする請求項８に記載のプロキシバッチ処理方法。
【請求項１０】
１または複数のオブジェクトの選択を可能にする選択モジュールと、
選択された１または複数のオブジェクトに対応する状況依存メニューを、入力に応じて表示するとともに、動作の選択肢を受け付けて、該動作の選択肢を動作アプリケーションに関連付ける状況依存メニューモジュールと、
待機時間が関連付けられている待機機能を実行し、選ばれた動作の選択肢に基づいて選択された１または複数のオブジェクトを処理し、渡されるオブジェクトを１つも受信しないうちに、上記待機機能が時間切れになると終了する動作アプリケーションと、
プロキシアプリケーションの１または複数のインスタンスを起動するプロキシバッチモジュールであって、
起動された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちのいずれかに関連付けられており、
上記起動されたプロキシアプリケーションの各々は、
上記動作アプリケーションが実行中でない場合に、上記動作アプリケーションのインスタンスを起動して、上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを、上記動作アプリケーションに渡し、
上記動作アプリケーションが実行中の場合に、上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを、上記動作アプリケーションに渡す、プロキシバッチモジュールと、
を備えていることを特徴とするプロキシバッチ処理装置。
【請求項１１】
上記プロキシバッチモジュールは、さらに、上記動作アプリケーションの上記待機時間よりも短い間隔で、プロキシアプリケーションの、少なくともいくつかのインスタンスを起動することを特徴とする請求項１０に記載のプロキシバッチ処理装置。
【請求項１２】
上記プロキシバッチモジュールは、さらに、１または複数のシェルコマンドを経由してプロキシアプリケーションの１または複数のインスタンスを起動することを特徴とする請求項１０に記載のプロキシバッチ処理装置。
【請求項１３】
上記動作アプリケーションは、さらに、選択された１または複数のオブジェクトを、上記動作の選択肢に基づいて、バッチ出力を生成することによって処理することを特徴とする請求項１０に記載のプロキシバッチ処理装置。
【請求項１４】
上記バッチ出力は、周辺装置によって１度の伝送を経由してファクシミリ送信されることを特徴とする請求項１３に記載のプロキシバッチ処理装置。
【請求項１５】
上記バッチ出力は、周辺装置によって印刷されることを特徴とする請求項１３に記載のプロキシバッチ処理装置。
【請求項１６】
１または複数のオブジェクトのバッチであって、上記バッチをサポートする動作アプリケーションに関連付けられているバッチを受信するステップと、
プロキシアプリケーションの、上記バッチのオブジェクトに関連付けられているインスタンスを、オブジェクトごとに別々に起動するステップと、
中間アプリケーションを起動するステップと、
待機時間経過後に、中間アプリケーションによって、１または複数のオブジェクトの上記バッチをサポートする動作アプリケーションを起動するステップと、
１つの集合としての１または複数のオブジェクトのバッチを、上記起動された動作アプリケーションに渡すステップとを含むことを特徴とするプロキシバッチ処理方法。
【請求項１７】
上記中間アプリケーションを起動するステップは、
プロキシアプリケーションの起動された別々のインスタンスのうちの、第１のプロキシアプリケーションによって実行されることを特徴とする請求項１６に記載のプロキシバッチ処理方法。
【請求項１８】
状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、
上記動作の選択肢は、上記動作アプリケーションに関連付けられていることを特徴とする請求項１６に記載のプロキシバッチ処理方法。
【請求項１９】
１または複数のオブジェクトの選択を可能にする選択モジュールと、
選択された１または複数のオブジェクトに対応する状況依存メニューを、入力に応じて表示するとともに、動作の選択肢を受け付けて、該動作の選択肢を動作アプリケーションに関連付ける状況依存メニューモジュールと、
選ばれた動作の選択肢に基づいて選択された１または複数のオブジェクトを処理する動作アプリケーションと、
プロキシアプリケーションの１または複数のインスタンスを起動するプロキシバッチモジュールであって、
起動された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちのいずれかに関連付けられており、
上記起動されたプロキシアプリケーションの各々は、
上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを中間アプリケーションに渡す、プロキシバッチモジュールと、
待機時間が経過した後に上記動作アプリケーションを起動して、上記プロキシアプリケーションから受信した１または複数のオブジェクトを上記動作アプリケーションに渡す中間アプリケーションとを備えていることを特徴とするプロキシバッチ処理装置。
【請求項２０】
１または複数のオブジェクトのバッチであって、上記バッチをサポートする動作アプリケーションに関連付けられているバッチを受信するステップと、
プロキシアプリケーションの、上記バッチのオブジェクトに関連付けられているインスタンスを、オブジェクトごとに別々に起動するステップと、
待機機能を実行する中間アプリケーションを起動するステップと、
待機時間が経過した後に、上記中間アプリケーションが、上記動作アプリケーションの別々のインスタンスを、上記バッチのオブジェクトごとに起動するステップと、
上記動作アプリケーションの別々のインスタンスごとの出力結果を上記中間アプリケーションに渡すステップと、
上記動作アプリケーションの別々のインスタンスごとの出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力にまとめるステップとを含むことを特徴とするプロキシバッチ処理方法。
【請求項２１】
上記中間アプリケーションを起動するステップは、
プロキシアプリケーションの起動された別々のインスタンスのうちの、第１のプロキシアプリケーションによって実行されることを特徴とする請求項２０に記載のプロキシバッチ処理方法。
【請求項２２】
状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、
上記動作の選択肢は、上記動作アプリケーションに関連付けられていることを特徴とする請求項２０に記載のプロキシバッチ処理方法。
【請求項２３】
１または複数のオブジェクトの選択を可能にする選択モジュールと、
選択された１または複数のオブジェクトに対応する状況依存メニューを、入力に応じて表示するとともに、動作の選択肢を受け付けて、該動作の選択肢を動作アプリケーションに関連付ける状況依存メニューモジュールと、
選ばれた動作の選択肢に基づいて選択された１または複数のオブジェクトを処理して、出力結果を生成するとともに、該出力結果を中間アプリケーションに送信する動作アプリケーションと、
プロキシアプリケーションの１または複数のインスタンスを起動するプロキシバッチモジュールであって、
起動された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちのいずれかに関連付けられており、
上記起動されたプロキシアプリケーションの各々は、
上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを中間アプリケーションに渡す、プロキシバッチモジュールと、
待機時間が経過した後に、上記バッチのオブジェクトごとに、該オブジェクトに関連付けられた、上記動作アプリケーションの１または複数の別々のインスタンスを起動して、上記動作アプリケーションの上記別々のインスタンスの出力結果を受信し、受信された上記動作アプリケーションの別々のインスタンスごとの出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力にまとめる中間アプリケーションと、
を備えていることを特徴とするプロキシバッチ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックグラウンドバッチ処理に関し、特に、複数のファイルが選択された場合のバッチ処理に関するものである。
【背景技術】
【０００２】
バッチ処理は、例えばユーザによって選択された複数のファイルに対する、類似の動作の実行を支援することによってユーザ操作を改善する。ユーザによって選択された複数のファイルを、１つのバッチジョブとして処理することが強く求められている。
【０００３】
特許文献１には、多対多のクライアント−サーバ型分散オブジェクトシステムにおいて、クライアントアプリケーションとサーバアプリケーションとの間に中間アプリケーションを置き、クライアントからの呼び出しを中間アプリケーションに仲介させることが記載されている。これにより、中間アプリケーションによる、サーバ呼び出しの順序制御やアクセスコントロールの一括制御などの一元管理が行われる。
【０００４】
さらに、関連付けられているアプリケーションがそれぞれ異なる複数のファイルに対しても、複数のアプリケーションをまたいで、１つの印刷データにラスタライズする方法が開示されている。
【０００５】
例えば、特許文献２には、複数のアプリケーションデータのラスタライズ方法およびプリンタドライバが開示されている。具体的には、プリンタドライバにおいて、印刷データをラスタライズし、かつ既存のイメージファイルに追加する手段を設けることによって、複数のアプリケーションで作成されるデータを１つのイメージデータファイルとしてまとめることが記載されている。
【特許文献１】特開２０００−０３９９９１（２０００年０２月０８日公開）
【特許文献２】特開２００１−３１８７７４（２００１年１１月１６日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に記載の方法では、ユーザ操作が繁雑であり、円滑かつ高速に処理を実行できないという問題が生じる。
【０００７】
具体的には、複数のファイルを１つの印刷ジョブにまとめたい場合に、印刷対象のファイルを通常どおり指定するのに加えて、そのファイルが１つの印刷ジョブにまとめたいファイルであることを指示する操作を、ファイルを指定する度に別途行わなければならない。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザに繁雑な操作を強いることなく、円滑かつ高速にバッチ処理を実行することが可能なプロキシバッチ処理方法、および、プロキシバッチ処理装置を実現することにある。
【課題を解決するための手段】
【０００９】
本発明は、プロキシバッチ処理方法を提供する。本発明のプロキシバッチ処理方法は、１または複数のオブジェクトをサポートするよう動作アプリケーションに関連付けられている上記１または複数のオブジェクトのバッチを受信するステップと、それぞれが、上記バッチのオブジェクトに関連付けられた、プロキシアプリケーションの別々のインスタンスを、上記バッチ内で、個々のオブジェクトごとに起動するステップと、上記プロキシアプリケーションの別々の上記インスタンスごとに、動作アプリケーションが実行中か否かを判定するステップと、上記動作アプリケーションが実行中でない場合に、上記動作アプリケーションのインスタンスを呼び出して、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡すステップと、上記動作アプリケーションが実行中である場合に、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡すステップとを含み、上記動作アプリケーションは、待機時間を有し、上記動作アプリケーションに渡されるいずれのオブジェクトも受信しないうちに上記待機時間が経過した場合は、終了することを特徴としている。
【００１０】
上記方法によれば、１または複数のオブジェクトがユーザによって選択され、選択されたオブジェクト（群）がプロキシバッチ処理装置に入力されると、選択された個々のオブジェクトごとに、プロキシアプリケーションのインスタンスが別々に起動される。
【００１１】
各プロキシアプリケーションには、動作アプリケーションが対応付けられており、上記起動されたプロキシアプリケーションインスタンスごとに、該インスタンスが対応する動作アプリケーションが実行中か否かが判定される。
【００１２】
上記インスタンスに対応する動作アプリケーションが実行中の場合は、その実行中の動作アプリケーションに、上記インスタンスが関連付けられているオブジェクトが渡される。一方、動作アプリケーションが実行中でなければ、まず、上記動作アプリケーションが起動されて、関連のオブジェクトが渡される。
【００１３】
上記動作アプリケーションは、オブジェクトを処理していない間でも、終了せずに所定期間待機するようになっており、後続のオブジェクトをそのまま受け入れることができる。
【００１４】
これにより、動作アプリケーションが終了せずに待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）を、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００１５】
プロキシバッチ処理方法は、状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、上記動作の選択肢は、上記動作アプリケーションに関連付けられていることが好ましい。
【００１６】
上記方法によれば、プロキシバッチ処理装置は、状況依存メニューを表示して、ユーザがプロキシバッチ処理装置に行わせたい動作を選択できるようにする。状況依存メニューには、選択されたオブジェクト（群）に対して適用できる動作の選択肢が、ユーザが選択可能なように表示されている。
【００１７】
ユーザが所望の動作を選択すると、当該動作の選択肢がプロキシバッチ処理装置に入力される。各動作の選択肢には、動作アプリケーションが関連付けられており、したがって、プロキシバッチ処理装置は、ユーザが所望する動作アプリケーションをプロキシバッチ処理するアプリケーションとして起動することができる。
【００１８】
上記動作アプリケーションは、上記動作アプリケーションに渡された複数のオブジェクトの各々を処理する前後に待機することが好ましい。
【００１９】
上記方法によれば、動作アプリケーションは、１つのオブジェクトを受け入れても（処理しても）、終了せずに、後続のオブジェクトを受け入れることができるので、複数のオブジェクトを処理して1つにまとめて出力することが可能となる。
【００２０】
上記プロキシアプリケーションの別々の各インスタンスのいくつかは、上記動作アプリケーションが上記動作アプリケーションに渡された複数のオブジェクトのうちのいずれかを処理中であるときに起動されてもよい。
【００２１】
上記方法によれば、プロキシアプリケーションのインスタンスが実行中の上記動作アプリケーションと別の動作アプリケーションを起動することを防ぐことができるので、上記動作アプリケーションは、複数のオブジェクトを受信して処理し、1つにまとめて出力することが可能となる。
【００２２】
上記プロキシアプリケーションの、起動された上記別々のインスタンスのうち、少なくとも２つは、一定の間隔を空けて起動され、上記少なくとも２つの起動された別々のインスタンスのうちの１つが起動された後に、上記動作アプリケーションの上記待機時間より短い時間間隔で、上記別々のインスタンスのうちの他の１つが起動されるようになってもよい。
【００２３】
上記方法によれば、動作アプリケーションの待機時間が時間切れにならないように、順次、プロキシアプリケーションの各インスタンスに関連するオブジェクトが動作アプリケーションに渡される。よって、上記動作アプリケーションは、複数のオブジェクトを受信して処理し、1つにまとめて出力することが可能となる。
【００２４】
プロキシアプリケーションの、上記別々のインスタンスを起動するステップは、１または複数のシェルコマンド経由で行われてもよい。
【００２５】
上記プロキシアプリケーションのインスタンスが関連付けられているオブジェクトを上記動作アプリケーションに渡すステップは、定義済みの位置にあるオブジェクトによって指示されていてもよい。
【００２６】
さらに、上記動作アプリケーションによってバッチ出力を生成するステップを含むことが好ましい。
【００２７】
上記方法によれば、上記動作アプリケーションは、受け付けた複数のオブジェクトを処理して、出力結果を1つにまとめて出力する。例えば、複数のオブジェクトが、複数の文書ファイルである場合に、動作アプリケーションは、複数の文書ファイルを処理して1つの印刷ジョブを生成し、当該１つの印刷ジョブを、プリンタに出力することができる。
【００２８】
本発明のプロキシバッチ処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、および、プロキシバッチモジュールを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択を動作アプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、待機時間に関連付けられた待機機能を実行するものであり、動作選択に基づく、上記選択された１または複数のオブジェクトを処理するものである。そして、上記動作アプリケーションは、渡されたオブジェクトのいずれも受信しないうちに、上記待機機能が期限切れになった場合に終了する。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。さらに、上記呼び出されたプロキシアプリケーションの各々は、上記動作アプリケーションが実行中でない場合には、上記動作アプリケーションのインスタンスを呼び出してから、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡す。また、上記動作アプリケーションが実行中の場合には、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡す。
【００２９】
上記構成によれば、選択モジュールは、ユーザによって選択された、１または複数のオブジェクトの入力を受け付ける。ユーザによって選択されたオブジェクト（群）がプロキシバッチ処理装置に入力されると、プロキシバッチモジュールは、選択された個々のオブジェクトごとに、該オブジェクトに対応するプロキシアプリケーションのインスタンスが別々に起動する。
【００３０】
各プロキシアプリケーションには、動作アプリケーションが対応付けられている。プロキシバッチモジュールは、上記起動したプロキシアプリケーションインスタンスごとに、該インスタンスに対応する動作アプリケーションが実行中か否かを判定する。
【００３１】
上記インスタンスに対応する動作アプリケーションが実行中の場合は、プロキシバッチモジュールは、その実行中の動作アプリケーションに、上記インスタンスが関連付けられているオブジェクトを渡す。一方、動作アプリケーションが実行中でなければ、プロキシバッチモジュールは、まず、上記インスタンスに対応する上記動作アプリケーションを起動してから、関連のオブジェクトを渡す。
【００３２】
上記動作アプリケーションは、オブジェクトを処理していない間でも、終了せずに所定期間待機するようになっており、後続のオブジェクトをそのまま受け入れることができる。
【００３３】
これにより、動作アプリケーションが終了せずに待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）を、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択し、そのオブジェクトに適用する処理を選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００３４】
上記プロキシバッチモジュールは、さらに、上記動作アプリケーションの上記待機時間よりも短い間隔で、プロキシアプリケーションの、少なくともいくつかのインスタンスを起動することが好ましい。
【００３５】
上記構成によれば、動作アプリケーションの実行が途切れる（終了する）ことなく、順次、上記プロキシアプリケーションインスタンスに対応する複数のオブジェクトを受け付けることができるので、複数のオブジェクトを１つにまとめて処理することが可能となる。
【００３６】
上記プロキシバッチモジュールは、さらに、１または複数のシェルコマンドを経由してプロキシアプリケーションの１または複数のインスタンスを起動してもよい。
【００３７】
上記動作アプリケーションは、さらに、選択された１または複数のオブジェクトを、上記動作の選択肢に基づいて、バッチ出力を生成することによって処理することが好ましい。
【００３８】
上記構成によれば、上記動作アプリケーションは、ユーザによって選択されたオブジェクト（群）に対し、ユーザによって選択された動作に対応する処理を施して、その結果のデータを１つにまとめて出力する（バッチ出力）。
【００３９】
上記バッチ出力は、周辺装置によって１度の伝送を経由してファクシミリ送信されるものであってもよい。あるいは、上記バッチ出力は、周辺装置によって１つのデータとして印刷されるものであってもよい。
【００４０】
あるいは、本発明は、他のプロキシバッチ処理方法を提供する。本発明のプロキシバッチ処理方法は、１または複数のオブジェクトのバッチをサポートする動作アプリケーションに関連付けられているバッチを受信するステップと、上記バッチにおいてオブジェクトに関連付けられている、プロキシアプリケーションの別々のインスタンスを、上記バッチ内で個々のオブジェクトごとに呼び出すステップと、中間アプリケーションを呼び出すステップと、上記中間アプリケーションによって、待機時間が経過した後に、１または複数のオブジェクトの上記バッチをサポートする動作アプリケーションを呼び出すステップと、１または複数のオブジェクトのバッチを１つの集合として、上記呼び出された動作アプリケーションに渡すステップとを含むことを特徴としている。
【００４１】
上記方法によれば、選択されたオブジェクトごとに対応するプロキシアプリケーションのインスタンスが起動されるのに加えて、中間アプリケーションが起動される。中間アプリケーションは、起動されてから定められた待機時間にしたがって、一定時間待機する。待機時間が経過すると、中間アプリケーションは、上記選択されたオブジェクト群をサポートする動作アプリケーションを起動する。そして、中間アプリケーションは、起動した動作アプリケーションに、上記選択されたオブジェクト群を１つのまとまり（バッチ）として引き渡す。
【００４２】
これにより、中間アプリケーションが待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）を、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００４３】
上記中間アプリケーションを起動するステップは、プロキシアプリケーションの起動された別々のインスタンスのうちの、第１のプロキシアプリケーションによって実行されてもよい。
【００４４】
状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、上記動作の選択肢は、上記動作アプリケーションに関連付けられていることが好ましい。
【００４５】
上記方法によれば、プロキシバッチ処理装置は、状況依存メニューを表示して、ユーザがプロキシバッチ処理装置に行わせたい動作を選択できるようにする。状況依存メニューには、選択されたオブジェクト（群）に対して適用できる動作の選択肢が、ユーザが選択可能なように表示されている。
【００４６】
ユーザが所望の動作を選択すると、当該動作の選択肢がプロキシバッチ処理装置に入力される。各動作の選択肢には、動作アプリケーションが関連付けられており、したがって、プロキシバッチ処理装置は、ユーザが所望する動作アプリケーションをプロキシバッチ処理するアプリケーションとして起動することができる。
【００４７】
あるいは、本発明は、他のプロキシバッチ処理装置を提供する。本発明の情報処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、プロキシバッチモジュール、および、中間アプリケーションを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択を動作アプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、上記動作の選択肢に基づく、上記選択された１または複数のオブジェクトを処理するものである。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。そして、呼び出された各々のプロキシアプリケーションは、上記プロキシアプリケーションの上記インスタンスの上記関連オブジェクトを中間アプリケーションに渡す。上記中間アプリケーションは、待機時間が経過した後に、上記動作アプリケーションを呼び出し、上記動作アプリケーションに、プロキシアプリケーションから受信した１または複数のオブジェクトを渡すものである。
【００４８】
上記構成によれば、上記選択モジュールが、ユーザによって選択されたオブジェクトの入力を受け付ける。プロキシバッチモジュールは、選択されたオブジェクトごとに対応するプロキシアプリケーションのインスタンスを起動する。加えて、プロキシバッチモジュールは、中間アプリケーションを起動する。プロキシバッチモジュールは、プロキシアプリケーションの各々を介して、プロキシアプリケーションに関連するオブジェクトを中間アプリケーションに渡す。
【００４９】
中間アプリケーションは、起動されてから定められた待機時間にしたがって、一定時間待機する。待機時間が経過すると、中間アプリケーションは、上記選択されたオブジェクト群をサポートする動作アプリケーションを起動する。そして、中間アプリケーションは、起動した動作アプリケーションに、各プロキシアプリケーションから受け付けた上記選択されたオブジェクト群を１つのまとまり（バッチ）として引き渡す。
【００５０】
これにより、中間アプリケーションが待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）を、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００５１】
あるいは、本発明は、他のプロキシバッチ処理方法を提供する。本発明のプロキシバッチ処理方法は、１または複数のオブジェクトのバッチをサポートする動作アプリケーションに関連付けられているバッチを受信するステップと、上記バッチにおいてオブジェクトに関連付けられている、プロキシアプリケーションの別々のインスタンスを、上記バッチ内で個々のオブジェクトごとに呼び出すステップと、待機時間機能を実行する中間アプリケーションを呼び出すステップと、上記中間アプリケーションによって、待機時間が経過した後に、上記バッチ内の個々のオブジェクトごとに上記動作アプリケーションの別々のインスタンスを呼び出すステップと、上記動作アプリケーションの上記別々のインスタンスの出力結果を上記中間アプリケーションに渡すステップと、上記動作アプリケーションの別々のインスタンスの出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力になるよう結合するステップとを含むことを特徴としている。
【００５２】
上記方法によれば、上記中間アプリケーションは、各プロキシアプリケーションを介して、プロキシバッチモジュールより受け付けた個々のオブジェクトを、オブジェクトごとに対応する動作アプリケーションを起動して、各動作アプリケーションに渡す。
【００５３】
起動された各動作アプリケーションは、渡されたオブジェクトを各々処理して、その処理結果を上記中間アプリケーションに返す。
【００５４】
上記中間アプリケーションは、各動作アプリケーションから受け取った個々の処理結果を、１つのバッチとして融合して、それをバッチ出力結果として出力する。
【００５５】
これにより、中間アプリケーションが待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）については、個々に処理されるが、その処理結果をすべて受け取って、最終的に、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００５６】
上記中間アプリケーションを起動するステップは、プロキシアプリケーションの起動された別々のインスタンスのうちの、第１のプロキシアプリケーションによって実行されてもよい。
【００５７】
状況依存メニューを介して、上記バッチに関連付けられている動作の選択肢を受け付けるステップを含み、上記動作の選択肢は、上記動作アプリケーションに関連付けられていることが好ましい。
【００５８】
あるいは、本発明は、他のプロキシバッチ処理装置を提供する。本発明の情報処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、プロキシバッチモジュール、および、中間アプリケーションを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択をアプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、出力を行う上記動作選択に基づく、上記選択された１または複数のオブジェクトを処理するものであり、上記出力の結果を上記中間アプリケーションに送信するものである。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。そして、呼び出された各々のプロキシアプリケーションは、上記プロキシアプリケーションの上記インスタンスの上記関連オブジェクトを中間アプリケーションに渡す。上記中間アプリケーションは、待機時間が経過した後に、上記バッチ内のオブジェクトごとに、上記動作アプリケーションの１または複数のインスタンスを呼び出すものである。上記動作アプリケーションの別々のインスタンスは、上記バッチにおいてオブジェクトに関連付けられている。また、上記中間アプリケーションは、上記動作アプリケーションの、別々のインスタンスごとの出力結果を受信するとともに、上記動作アプリケーションの別々のインスタンスの、該受信した出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力に結合することを特徴としている。
【００５９】
上記構成によれば、選択モジュールは、ユーザにより選択されたオブジェクト（群）を受け付ける。状況依存メニューモジュールは、選択モジュールが受け付けたオブジェクト（群）に適用できる動作の選択肢をユーザが選択できるように表示する。ユーザが所望の選択肢を選択すると、状況依存メニューモジュールは、ユーザが選択した動作の選択肢を受け付けて、適切な動作アプリケーションが起動され、選択された動作を実行する。
【００６０】
より具体的には、プロキシバッチモジュールは、選択されたオブジェクトに対応する各プロキシアプリケーションを介して中間アプリケーションを起動する。
【００６１】
上記中間アプリケーションは、各プロキシアプリケーションを介して、プロキシバッチモジュールより受け付けた個々のオブジェクトを、オブジェクトごとに対応する動作アプリケーションを起動して、各動作アプリケーションに渡す。
【００６２】
起動された各動作アプリケーションは、渡されたオブジェクトを各々処理して、その処理結果を上記中間アプリケーションに返す。
【００６３】
上記中間アプリケーションは、各動作アプリケーションから受け取った個々の処理結果を、１つのバッチとして融合して、それをバッチ出力結果として出力する。
【００６４】
これにより、中間アプリケーションが待機中に受け入れたオブジェクト（ユーザによって選択されたすべてのオブジェクト）については、個々に処理されるが、中間アプリケーションが、その処理結果をすべて受け取って、最終的に、バッチ処理で一つにまとめることができる。ユーザは、別途操作を行う必要はなく、従来と同様の方法で複数のオブジェクトを選択するだけで、プロキシバッチ処理装置に複数のオブジェクトを1つにまとめて処理させることができる。結果として、円滑かつ高速にバッチ処理を実行することが可能となる。
【００６５】
なお、上記プロキシバッチ処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段、上記各モジュールとして動作させることにより上記プロキシバッチ処理装置をコンピュータにて実現させるプロキシバッチ処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００６６】
本発明のプロキシバッチ処理方法は、１または複数のオブジェクトを支援するよう動作アプリケーションに関連付けられている上記１または複数のオブジェクトのバッチを受信するステップと、それぞれが、上記バッチのオブジェクトに関連付けられた、プロキシアプリケーションの別々のインスタンスを、上記バッチ内で、個々のオブジェクトごとに呼び出すステップと、上記プロキシアプリケーションの個々の分離した上記インスタンスごとに、動作アプリケーションが実行中か否かを判定するステップと、上記動作アプリケーションが実行中でない場合に、上記動作アプリケーションのインスタンスを呼び出して、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡すステップと、上記動作アプリケーションが実行中である場合に、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡すステップとを含み、上記動作アプリケーションは、待機時間を有し、上記動作アプリケーションに渡されるいずれのオブジェクトも受信しないうちに上記待機時間が経過した場合は、終了することを特徴としている。
【００６７】
本発明のプロキシバッチ処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、および、プロキシバッチモジュールを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択を動作アプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、待機時間に関連付けられた待機機能を実行するものであり、動作選択に基づく、上記選択された１または複数のオブジェクトを処理するものである。そして、上記動作アプリケーションは、渡されたオブジェクトのいずれも受信しないうちに、上記待機機能が期限切れになった場合に終了する。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。さらに、上記呼び出されたプロキシアプリケーションの各々は、上記動作アプリケーションが実行中でない場合には、上記動作アプリケーションのインスタンスを呼び出してから、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡す。また、上記動作アプリケーションが実行中の場合には、上記プロキシアプリケーションの上記インスタンスの関連オブジェクトを上記動作アプリケーションに渡す。
【００６８】
本発明のプロキシバッチ処理方法は、１または複数のオブジェクトのバッチを支援する動作アプリケーションに関連付けられているバッチを受信するステップと、上記バッチにおいてオブジェクトに関連付けられている、プロキシアプリケーションの分離したインスタンスを、上記バッチ内で個々のオブジェクトごとに呼び出すステップと、中間アプリケーションを呼び出すステップと、上記中間アプリケーションによって、待機時間が経過した後に、１または複数のオブジェクトの上記バッチを支援する動作アプリケーションを呼び出すステップと、１または複数のオブジェクトのバッチを１つの集合として、上記呼び出された動作アプリケーションに渡すステップとを含むことを特徴としている。
【００６９】
本発明のプロキシバッチ処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、プロキシバッチモジュール、および、中間アプリケーションを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択を動作アプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、上記動作選択に基づく、上記選択された１または複数のオブジェクトを処理するものである。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。そして、呼び出された各々のプロキシアプリケーションは、上記プロキシアプリケーションの上記インスタンスの上記関連オブジェクトを中間アプリケーションに渡す。上記中間アプリケーションは、待機時間が経過した後に、上記動作アプリケーションを呼び出し、上記動作アプリケーションに、プロキシアプリケーションから受信した１または複数のオブジェクトを渡すものである。
【００７０】
本発明のプロキシバッチ処理方法は、１または複数のオブジェクトのバッチを支援する動作アプリケーションに関連付けられているバッチを受信するステップと、上記バッチにおいてオブジェクトに関連付けられている、プロキシアプリケーションの分離したインスタンスを、上記バッチ内で個々のオブジェクトごとに呼び出すステップと、待機時間機能を実行する中間アプリケーションを呼び出すステップと、上記中間アプリケーションによって、待機時間が経過した後に、上記バッチ内の個々のオブジェクトごとに上記動作アプリケーションの分離したインスタンスを呼び出すステップと、上記動作アプリケーションの上記別々のインスタンスの出力結果を上記中間アプリケーションに渡すステップと、上記動作アプリケーションの別々のインスタンスの出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力になるよう結合するステップとを含むことを特徴としている。
【００７１】
本発明のプロキシバッチ処理装置は、選択モジュール、状況依存メニューモジュール、動作アプリケーション、プロキシバッチモジュール、および、中間アプリケーションを備えていることを特徴としている。上記選択モジュールは、１または複数のオブジェクトを選択するものである。上記状況依存メニューモジュールは、入力に応じて状況依存メニューを提示するものであり、また、動作選択を受信し、上記動作選択をアプリケーションに関連付けるものである。上記状況依存メニューは、上記選択された１または複数のオブジェクトに基づいている。上記動作アプリケーションは、出力を行う上記動作選択に基づく、上記選択された１または複数のオブジェクトを処理するものであり、上記出力の結果を上記中間アプリケーションに送信するものである。プロキシバッチモジュールは、プロキシアプリケーションの１または複数のインスタンスを呼び出すものである。呼び出された各プロキシアプリケーションは、上記選択された１または複数のオブジェクトのうちの１つのオブジェクトに関連付けられている。そして、呼び出された各々のプロキシアプリケーションは、上記プロキシアプリケーションの上記インスタンスの上記関連オブジェクトを中間アプリケーションに渡す。上記中間アプリケーションは、待機時間が経過した後に、上記バッチ内のオブジェクトごとに、上記動作アプリケーションの１または複数のインスタンスを呼び出すものである。上記動作アプリケーションの別々のインスタンスは、上記バッチにおいてオブジェクトに関連付けられている。また、上記中間アプリケーションは、上記動作アプリケーションの、別々のインスタンスごとの出力結果を受信するとともに、上記動作アプリケーションの別々のインスタンスの、該受信した出力結果を、上記バッチの各オブジェクトのデータを含む１つのバッチ出力に結合することを特徴としている。
【００７２】
したがって、円滑かつ高速にバッチ処理を実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００７３】
本発明を添付の図面が示す例に基づき説明すると以下のとおりである。ただし、図面が示す内容は本発明を限定するものではない。
【００７４】
図面を見やすくするために、百の位が１の符号（１１２、１１４、１１６など）は、図１に使用されている。百の位が２の符号（２１２、２１６など）は、図２に使用されている。こういった具合に、３桁の符号の百の位を図番に一致させた。したがって、百の位が９の符号（９１４、９２４など）は、図９に使用されている。
【００７５】
本発明の実施形態は、状況依存メニュー、特に、状況依存メニューを介して起動されるプロキシバッチ処理に関するものである。本発明の実施形態において、状況依存メニューにおいて適切な動作オプションを選択することによって、複数のオブジェクトを１つのグループとしてまとめて選択したり、１つのバッチとして処理したりすることが可能である。選択されたオブジェクトは、通常１つのアプリケーションインスタンス内で処理されるため、結果は、複数のバッチが連続して出力されるのではなく、１つのバッチで出力される。本発明の一実施形態によれば、複数のアプリケーションインスタンスが起動され、中間アプリケーションによって処理されて、１つのバッチ出力の結果を返すようにしてもよい。
【００７６】
図１は、本発明の実施形態における典型例のシステム１００を示すブロック図である。システム１００は、通常、情報処理装置１１０（汎用コンピュータなど）を備える構成となっている。一実施形態において、情報処理装置１１０には、周辺機器１８４が直接接続されている。周辺機器１８４は、例えば、プリンタおよび／またはファクシミリ機などで実現され、ユーザは、情報処理装置を介して、例えば、印刷指示および／またはファックス指示を周辺機器に出力することができる。情報処理装置１１０は、オペレーティングシステム（ＯＳ）１０２、および、プロキシバッチ（ＰＢ）処理モジュール１０６を有している。データ記憶部１２０は、オブジェクト１１２、１１４、１１６、１１８、１１９を記憶するものである。オブジェクトは、例えば、ファイル、文書、画像、音楽ファイル、プログラム命令（例；ソフトウェア、ビデオシーケンス）などであるがこれに限定されない。情報処理装置１１０は、ローカルエリアネットワーク１８０の一部を構成していてもよい。これにより、情報処理装置１１０は、他の装置やアプリケーションと通信を行えるようになる。情報処理装置１１０は、例えば、サーバ（印刷サーバ、ファックスサーバなど）１７０、他の情報処理装置、ネットワーク周辺装置１５０、ネットワークプリンタ１６０、および、ローカルエリアネットワーク１８０などと組合せて動作可能な他の装置などと通信を行えるようになる。ローカルエリアネットワーク１８０は、有線、無線のいずれで実現されてもよいし、あるいは、有線／無線のネットワークセグメントの両方で実現されてもよい。また、情報処理装置１１０は、プロキシバッチ出力を１または複数の接続実施可能な装置に送信することができる。例えば、ローカルエリアネットワーク１８０を介して、情報処理装置１１０は、他の周辺装置１６０や他の情報処理装置などに送信することができる。また、情報処理装置１１０は、ローカルエリアネットワーク１８０および適切なゲートウェイおよび／またはルータなど、当業者において既知の技術を用いて、インターネットなどの広域エリアネットワーク（図示せず）に接続することが可能である。
【００７７】
情報処理装置１１０は、適切に構成されれば、ローカルエリアネットワークからのオブジェクトまたは他のインターネットなどの通信網からのオブジェクトに処理を行うためにアクセスできるようになる。この処理の例としては、ファックス処理、印刷処理、読み取り、開く、および、編集などが挙げられる。本発明の一実施形態によれば、ネットワークを介して遠隔地にあるオブジェクトが、プロキシバッチ処理のために選択されてもよい。ここでは、本発明を、一例としてMICROSOFT（MS）WINDOWS（登録商標）（ウィンドウズ（登録商標））ファミリーのオペレーティングシステムにて実現した場合について述べているが、本発明は他のオペレーティングシステムにおいても実施することが可能である。例えば、ただしこれには限定されないが、APPLE MACINTOSH（登録商標）OS、Linux OS、System Ｖ Unix（登録商標） OS、BSD Unix（登録商標） OS、および、OSF Unix（登録商標） OSなどのオペレーティングシステムにおいて実施することが可能である。
【００７８】
今日、従来のバッチ処理は、例えば、MS WINDOWS（登録商標）環境にサポートされている。従来のバッチ処理と、本発明によるバッチ処理とを明確に区別するために、本発明にかかるバッチ処理環境を、ここでは、「プロキシバッチ（ＰＢ）処理」と呼ぶか、または、ここで開示する文書において説明された処理と記載することにする。
【００７９】
〔Ａ．ＤｒａｇＮ’Ｄｒｏｐ従来のバッチ処理〕
図２は、MS WINDOWS（登録商標）のＯＳなどの、ドラッグ−アンド−ドロップ特性を利用可能なＯＳにおける、従来のバッチ処理方法２００を示すブロック図である。ドラッグ−アンド−ドロップを用いれば、ユーザは、複数のオブジェクト２１０を選択することが可能となる。例えば、オブジェクト２１２、２１４、２１６のそれぞれをクリックして、そして、シフトキーまたはコントロールキーを押下して、処理するのに適切なバッチ処理アプリケーションアイコン２２０へと選択されたオブジェクトをドラッグすることができる。図に分かりやすく示すために、ここでは、選択されたオブジェクトは、ADOBE（登録商標）のポータブルドキュメントフォーマット（ＰＤＦ）形式の文書であるものとする。次に、選択されたオブジェクトは、ドラッグ（２３０）されて、バッチ処理アプリケーションアイコン２２０（例えば、ＰＤＦファイルを印刷するバッチを要求する印刷動作を表すアプリケーションアイコン）上にドロップされる。そして、ＯＳは、アイコン２２０に関連付けされたバッチ処理アプリケーションを起動して、選択されたオブジェクト２１２、２１４、２１６をバッチ処理アプリケーション２５０に渡す。この例では、引数またはパラメータのリスト２４０であるＰＤＦのバッチ印刷指示が、アプリケーションのコマンドラインインターフェースを介してバッチ処理アプリケーション２５０に渡される。従来の一般的なバッチ処理環境下では、ＯＳは、単一のバッチ処理アプリケーションインスタンス（例えば、ＰＤＦのバッチ印刷の１つのインスタンス）２５０を起動する。そして、各オブジェクトは、引数リストとして、従来のバッチ処理を実行する単一のアプリケーションインスタンス２５０に渡される（２４０）。選択されたオブジェクトは、１つのバッチ出力２６０（つまり、１つの文書−例えば、オブジェクトＡのデータ２１２、オブジェクトＢのデータ２１４、および、オブジェクトＣのデータ２１６を含む文書）として一緒に印刷される。この従来の方法では、状況依存メニューが採用されていない。この従来のバッチ処理方法２００においては、バッチ動作アプリケーションの１つのインスタンス、または、アプリケーションアイコン２２０に関連付けされた１つのバッチアプリケーションのみが起動される。選択された各オブジェクトは、一般に、全部同じタイプである、および／または、同じ動作アプリケーション（例えば、ＰＤＦバッチ印刷／処理アプリケーション）によってサポートされている。あるいは、他の例では、バッチ処理アプリケーションは、異なるタイプのオブジェクトバッチ処理を指示している場合もある。
【００８０】
〔Ｂ．状況依存メニューを用いた従来のバッチ処理〕
図３は、状況依存メニューを用いた従来のバッチ処理方法３００の他の先行技術を示すブロック図である。この従来のバッチ処理方法では、ユーザは、例えば選択ボックス領域を介して、または、適切なオブジェクトをクリックすることにより、１または複数のオブジェクト３１２、３１４、３１６を選択する。一般に、各オブジェクトは、ファイルタイプで識別される。そして、各ファイルタイプには、１または複数の動作が関連付けられている。ユーザは、オブジェクト（群）３１０を選択した後、例えば、マウスの右クリックなどによって、状況依存メニュー３２０を起動する。状況依存メニュー３２０における各々の動作オプション３２６は、一般にシェルコマンドに関連付けられている。シェルコマンドは、MS WORDなどの動作アプリケーションを起動するものであり、要求された動作をサポートしているものである。次に、ユーザは、選択したオブジェクト（群）に実行すべき動作オプション３２６を選択することができる。単一のオブジェクトを選択する場合、シェルコマンドは、バックグラウンド処理として、選択された動作オプションに関連付けられた動作アプリケーションの単一のインスタンス起動する。複数のオブジェクト３１２、３１４、３１６を選択し、続いて、適切な動作オプションとしての1つのオプション３２６を選択することによって、従来のバッチ処理３００は実行される。複数のオブジェクト３１２、３１４、３１６が選択されると、ＯＳは、単一のシェルコマンドではなく、いくつかのシェルコマンド（選択されたオブジェクトごとに分離したシェルコマンド）を出す。そして、その分離したシェルコマンドによって、それぞれの関連アプリケーションが別々に起動する。したがって、オブジェクト３１２、３１４、３１６ごとに、ＯＳは、別々のアプリケーションインスタンス３５０、３５２、３５４をそれぞれ起動する。よって、ＯＳは、複数の選択されたオブジェクトを処理するために、単一のアプリケーションを起動するのではなく、動作アプリケーションの複数のインスタンスを起動する。したがって、選択されたオブジェクト３１２、３１４、３１６は、単一に出力されるバッチジョブとしては処理されず、いくつかに分離したバッチジョブとして処理され、図３の３６０、３６２、３６４に示すように、そのジョブごとに分離した結果が出力される。選択されたオブジェクトは、通常、すべて同じオブジェクトタイプであるか、および／または、同じ動作アプリケーション（例えば、MS WORDアプリケーションなど）によってサポートされている。他の例では、各オブジェクトが、異なるタイプのオブジェクトである場合は、ＯＳは、オブジェクトタイプに応じて対応する、異なる動作アプリケーションのインスタンスを起動こともある。
【００８１】
〔Ｃ．状況依存メニューおよびバックグラウンド動作アプリケーション実行による従来のバッチ処理〕
図４は、状況依存メニュー４２０および実行中のバックグラウンドアプリケーション４６２を用いた、従来のバッチ処理方法４００の他の先行技術を示すブロック図である。例えば、従来のバッチ処理４１０のために、オブジェクト４１２、４１４、４１６が、選択ボックスを介して選択されると、ユーザは、状況依存メニュー４２０を立ち上げて、選択されたオブジェクト４１２、４１４、４１６に実行するべき動作４２６を選択する。この従来の方法４００では、動作オプションに関連付けられた動作アプリケーション４６２（MS POWERPOINTなど）が、すでに、デーモン処理などのようなバックグラウンド処理として実行中ある。動作オプション４２６が、ポップアップ状況依存メニュー４２０から選択された場合には、その動作オプションに関連付けられたシェルコマンドが、関連アプリケーションを起動する代わりに、プロキシアプリケーション４５０、４５２、４５４のインスタンスを、それぞれ選択されたオブジェクト４１２、４１４、４１６ごとに起動する。プロキシアプリケーション４５０、４５２、４５４のそれぞれは、渡すという動作を行う。つまり、各プロキシアプリケーションがその関連オブジェクトを単一の実行中のアプリケーション４６２のインスタンスに渡すという動作を行う。例えば、ユーザが、３つのオブジェクト４１２、４１４、４１６を選択した場合、３つのプロキシアプリケーション４５０、４５２、４５４が起動される。つまり、オブジェクトごとに１つ起動される。アプリケーション４６２の実行中のインスタンスは、プロキシインスタンス４５０、４５２、４５４が生成されるよりも先に、すでに起動されている。オブジェクトＡ４１２からのデータ、オブジェクトＢ４１４からのデータ、オブジェクトＣ４１６からのデータを含む単一のバッチ出力結果が生成される４６０。
【００８２】
しかしながら、アプリケーション４６２は、通常、連続で実行され続けているので、バックグラウンドでは、バックグラウンドアプリケーション４６２を区別することができない。つまり、プロキシアプリケーションによって渡されたオブジェクトが、同じグループまたは選択されたオブジェクトのバッチからのものか、もしくは、他のグループまたはバッチからのものかを、区別することができない。ある実施例では、異なるグループまたはバッチから選択されたオブジェクトが同一の出力に混合されてもよい。バックグラウンドアプリケーション４６２は、例えば、システムのブートアップまたはスタートアップの時点では、アプリケーション４６２が起動されていることを考慮して実行を続ける。そして、アプリケーション４６２は、通常、システムがシャットダウンされたときに終了する。ある実施例では、ユーザの割り込みまたはエラーイベントが、アプリケーションインスタンスの実行を終了することがある。従来のバッチ処理方法４００は、各バッチジョブを処理した後にアプリケーションインスタンス４６２を終了させるようにはなっていない。
【００８３】
〔プロキシバッチ処理〕
本発明の実施形態において、複数のオブジェクトがプロキシバッチ処理のための１つのバッチジョブとして選択された場合には、複数のオブジェクトは、バッチジョブにつき、１つのバッチ出力結果が出力される。例えば、ユーザが、印刷プロキシバッチ処理のために複数のMS WORD文書を選択したとすると、プロキシバッチ処理は、複数の出力結果を生成するのではなく、すべての選択されたMS WORD文書を統合して、１つの出力結果を印刷する。プリンタが、例えばステープリングやバインダリングなどの文書綴じ機能などを備えている場合には、プリンタは、単一のバッチとして出力する処理を行う。したがって、プリンタは、複数に分けられた文書ではなく、１つの文書としての単一のバッチ出力に対してステープル機能を実行することができる。プロキシバッチ処理がファクシミリ送信動作の場合は、選択された複数の文書は、1つのバッチ文書としてファクシミリ送信あるいは出力され、分離した文書の各々がファクシミリ送信されるわけではない。他のプロキシバッチ処理動作としては、例えばこれに限定されないが、コピー、アーカイブ管理、圧縮、解凍などの動作にも、本発明の実施形態を適用することができる。
【００８４】
図５は、本発明の実施形態における、例えばMS WINDOWS（登録商標）環境下のグラフィカルユーザインターフェース（ＧＵＩｓ）５００の例を示す図である。ユーザは、プロキシバッチ処理するいくつかのオブジェクトを状況依存メニューを介して選択することができる。オブジェクトは、ここでは、さまざまなファイルタイプおよび／またはファイル形式のファイルを含んでおり、各ファイルは、言語処理ファイル、画像ファイル、ウェブブラウザファイル、メールファイル、アーカイブファイル、音声ファイル、映像ファイル、あるいは、ＯＳが認識可能な他のあらゆるファイルであってもよい。このようなファイルは、ストリーミングデータを含んでおり、例えば、これらのデータは、ビデオなどの情報処理装置にストリーミング配信される。
【００８５】
一実施形態においては、処理環境の一例は、MS WINDOWS（登録商標）ファミリーのオペレーティングシステムなどのように、ウィンドウを表示するタイプのオペレーティングシステムを備えた情報処理装置１１０によって構成される。ここで例に挙げたＯＳ１０２の範囲内で、ユーザは、複数のオブジェクトを選択することができる。複数のオブジェクトは、情報処理装置１１０内において、あるいは、情報処理装置１１０によってアクセス可能な範囲において、オブジェクト１１２、１１４、１１６、１１８、１１９のうち、利用可能なオブジェクトの部分集合である。これらのオブジェクトは、ローカルに保存されるオブジェクトであってもよいし、または、遠隔地に保存されるオブジェクトであってもよい。一実施形態においては、これらのオブジェクトは、MS WINDOWS（登録商標）ＯＳのEXPLOREアプリケーションなどのような、ＯＳ環境下で利用可能なファイルエクスプローラやブラウザのアプリケーション５０２を介して、選択可能である。選択可能なオブジェクトは、例えば、アイコンとして、もしくは、デスクトップまたはフォルダ内にファイル名として、表示される。複数のオブジェクトを選択する方法としては、例えば、シフトまたはコントロールキーを押したまま、１つのオブジェクトにカーソルを当てた状態で、マウスのボタンをクリックし、選択ボックスのオブジェクトを含む領域を横切るようにドラッグする方法が挙げられる。あるいは、ファイルフォルダまたはアプリケーションの範囲内で処理要求を選択する方法が挙げられる。具体的には、フォルダ内のオブジェクトをすべて選択するための『すべて選択』の項目を選択する方法が挙げられる。オブジェクトのグループを選択する方法については、当業者にとって既知の他のあらゆる方法がある。
【００８６】
オブジェクトの集合５１０を選択すると、ユーザは、例えば、マウスを右クリックすることによって状況依存メニュー５３０を起動する。これにしたがって、ＯＳ１０２は、動作オプション５４２、５４４、５６０、５６４、５５２、５５０の一覧を含む状況依存メニュー５３０を表示する。一実施形態では、例えば、情報処理装置がＯＳ（MS WINDOWS（登録商標）、Mac OS X、または、X Window System 上のUNIX（登録商標）など）を実行中に、右ボタンなどのマウスの第２ボタンが押下されることによって、状況依存メニューが起動されてもよい。単一のボタンのマウスを備えた情報処理装置では、キーボードのクリックとの組合せを介して状況依存メニューにアクセスできるようにしてもよい。例えば、Macintosh（登録商標） OSにおけるコントロールクリックなどが挙げられる。MS WINDOWS（登録商標）キーを備えたキーボードは、MS WINDOWS（登録商標）アプリケーションにおいてポップアップの状況依存メニューを起動するための、追加のメニューキーを有している。一実施形態では、状況依存メニューは階層構造化されていてもよく、これにより、ユーザは、例えば、右矢印が付いた動作オプションを選択することによって、異なるレベルのメニュー構造を通じて目的の項目にたどり着くことができる。ＯＳの違いによって、さまざまな他のタイプの状況依存メニューを利用することが可能である。
【００８７】
ポップアップ状況依存メニュー５３０の動作オプション５４２、５４４、５６０、５６４、５５２、５５０の一覧は、動作、実行中のアプリケーション、選択されたオブジェクトおよび／またはそのファイルタイプに依存してさまざまに変化し得る。例えば、MS WINDOWS（登録商標）オペレーティングシステムにおいて、ファイルタイプ−例えば、「.doc」の拡張子が付いたファイルタイプには、１または複数の動作が関連付けられている。例えば、「.doc」の拡張子が付いたオブジェクト、および、「.pdf」の拡張子が付いたオブジェクトは、それぞれ、MS WORDアプリケーション、および、ADOBE（登録商標） Acrobatアプリケーションによってそれぞれサポートされている。「.html」の拡張子が付いたファイルは、さまざまなアプリケーションによってサポートされている。例えば、MS Internet ExplorerやMozilla FIREFOX（登録商標）などのウェブブラウザアプリケーションが挙げられる。そして、一実施形態では、「.html」の拡張子が付いたファイルは、MS WORDなどの文書処理アプリケーションによってもサポートされている。ここに例示したアプリケーションは、例えば、開く、印刷、送信、切り取り、コピー、削除などの動作をサポートしている。これらのアプリケーションにサポートされている各種動作は、状況依存メニュー５３０において、動作オプション５４２、５４４、５６０、５６４、５５２、５５０として表示されている。
【００８８】
一実施形態において、状況依存メニュー５３０は、従来の処理動作５４２、５４４、５６０、５６４、だけではなく、プロキシバッチ処理に関連付けられたオプション５５２、５５０も含んでいる。このようなタイプの状況依存メニューによって、ユーザは、単一のオブジェクトを選択して、従来の動作処理５４２、５４４、５６０、５６４を利用できる上に、複数のオブジェクトを選択して、本発明の選択プロキシバッチ処理動作５５２、５５０と同様に、上述した従来のバッチ処理（図２〜４参照）を利用することができる。他の実施形態において、ＯＳおよび／または適切な動作アプリケーションは、状況依存メニューを用いた従来のバッチ処理方法（図３参照）が、上述したとおり、デーモン処理を行わずに、ここに記載するプロキシバッチ処理の特徴に置き換えられるように、変更されてもよい。例えば、複数のオブジェクトが選択されて、状況依存メニューから動作オプションが選択されると、図３の状況依存メニューを介して従来のバッチ処理が起動されるのではなく、本発明のプロキシバッチ処理が起動される。このように、複数のオブジェクトが選択されると、一般的にバッチ処理に一致した方法がユーザに提供される。すなわち、１つのバッチにおいて選択された複数のオブジェクトは、１つのバッチとして処理され、出力される場合には、複数に分離した結果が出力されるのではなく、１つの出力結果が出力される。
【００８９】
状況依存メニューが、プロキシバッチ動作オプションを含むように、あるいは、置き換えられるように、さまざまなＯＳにおいて現在利用可能な状況依存メニューを変更してもよい。例えば、MS WINDOWS（登録商標）ＯＳにおいて利用可能な状況依存メニューハンドラを、特定の状況依存メニューに動作オプションを挿入するために用いてもよい。状況依存メニューハンドラを、固定動作オプションを扱うのに加えて、動作オプションを状況依存メニューに動的に追加するのに用いてもよい。動作オプションは、例えば、MS WINDOWS（登録商標）のREGEDITアプリケーションなどのレジストリにおけるハードコーディング情報によって、状況依存メニュー上で利用可能になる。追加の動作オプションを提供する他の手段、および、状況依存メニューの動作オプションを変更・削除する他の手段は、当業者にとって公知の技術として存在する。
【００９０】
この例では、プロキシバッチ動作５５２、５５０は、図示するとおり、動作オプションのラベルに「（バッチ）」の文字を付け足すことによって、識別可能である。ここでは２つのプロキシ動作５５２、５５０が示されており、例えば、ユーザが、印刷プロキシバッチ動作５５０を、クリックによって選択することができる。他の方法にてプロキシバッチ処理が実施されてもよい。例えば、カラー表示、ツールの情報表示、ヘルプ機能、ラベルまたはテキスト、および／または、サブメニューオプションなどが実施されてもよい。
【００９１】
バッチは、動作オプションの同じインスタンス、または、１つの単位として処理されるべき選択動作に関連付けられた、選択されたオブジェクトのグループとして識別される。ここに示す例では、第１、第２、第３のオブジェクトは、同じバッチ５１０に属するものとして考えられる。これらのオブジェクトは、ユーザがプロキシバッチ動作オプション５５０を選択するときには、すでに選択されている。よって、状況依存メニューにおける動作５５０の選択によって、１つのバッチが識別、または、描画される。ユーザが、図示しない他のオブジェクト（第４、第５のオブジェクト）を選択し、状況依存メニューを起動し、他のプロキシバッチ動作を選択した場合、第４、第５のオブジェクトは、この２つのオブジェクトを含む他のバッチと見なされる。
【００９２】
図６は、本発明の実施形態における、プロキシバッチ処理の一例を示す上位レベルのブロック図である。本発明の本実施形態では、ユーザが１つのバッチの処理を別の処理に分離するのと同じようにして、プロキシバッチ処理のために複数のファイルを選択することが可能なプロキシバッチ処理の例について説明する。図５の説明に引き続き、ユーザは、３つのオブジェクト−第１オブジェクト１１２、第２オブジェクト１１４、第３オブジェクト１１６を、プロキシバッチ処理のために選択する例について説明する。ユーザは、状況依存メニュー５３０を起動して、適切なプロキシバッチ動作５５０を選択する。状況依存メニューにおける動作オプションは、選択されたオブジェクト１１２、１１４、１１６のバッチ（ファイルのまとまり）に対してどのような動作を実行することができるかを示している。ユーザは、動作オプション５５０を、カーソル６４０などのマウスインターフェースを介してクリックすることによって適切な動作を選択することができる。選択されたオブジェクト１１２、１１４、１１６は、同じバッチ５１０に属するものと見なされる。
【００９３】
一実施形態において、各動作５４２、５４４、５６０、５６４、５５２、５５０は、例えば、シェルコマンドなどのコマンド命令の集合に関連付けられている。ここに示す例では、ＯＳは、従来の動作オプション５４２、５４４、５６０、５６４およびプロキシバッチ動作オプション５５２、５５０を含む状況依存メニューを提供するものとする。例えば、MS WORDオブジェクトが処理のために選択された場合には、例えば、図示されているとおりの動作オプションが表示される。他の動作が表示されてもよい。ユーザが従来の動作５４２、５４４、５６０、５６４を選択した場合には、これらの動作に関連付けられた、例えばシェルコマンドなどの従来のコマンドを実行する。一実施形態において、複数のオブジェクトが選択された場合に、上述したとおり、従来のバッチ処理が実行されてもよい。
【００９４】
ユーザがプロキシバッチオプション５５２、５５０、例えば、印刷プロキシバッチ動作５５０を選択した場合、ＯＳ１０２は、例えば、シェルコマンド−具体的には、RUN(PB_PROCESS)６９０を介して、プロキシバッチ処理モジュール１０６を他のアプリケーションとして起動する。他のプロキシバッチ処理の起動方法は、例えば、ウェブサービス（ＷＳ；Web Service）として実行されることを特徴としている。アプリケーションとして実現されるプロキシバッチ処理モジュールは、バッチ５１０におけるオブジェクトごとのプロキシアプリケーションのインスタンスを別々に立ち上げる（６９２）。この例では、プロキシアプリケーション６５２、６５４、６５６の３つの別々のインスタンスが起動される。上記各プロキシアプリケーションは、各オブジェクトにそれぞれ関連付けられている。つまり、第１プロキシアプリケーション６５２、第２プロキシアプリケーション６５４、第３プロキシアプリケーション６５６のそれぞれは、第１オブジェクト１１２、第２オブジェクト１１４、第３オブジェクト１１６に関連付けられている。プロキシアプリケーションは、適切な動作アプリケーションに関連付けられているか、あるいは、起動すべき適切な動作アプリケーションを知っている。この情報は、プロキシバッチ処理モジュール１０６によって、例えば、シェルコマンド６９０に含まれる図示しない引数として、プロキシアプリケーション６５２、６５４、６５６の各インスタンスに渡される。
【００９５】
一実施形態において、動作５５０が選択されることによって、例えば、１または複数のシェルコマンド（図示せず）を介して、プロキシアプリケーション６５２、６５４、６５６（例えば、各プロキシアプリケーションのための１つのシェルコマンド）のさまざまなインスタンスが直接起動される。本実施形態において、プロキシバッチ処理モジュール１０６は、１または複数のシェルコマンドの集合として実現される。本実施形態では、ＯＳは、適切なプロキシアプリケーションを起動する。
【００９６】
例えばMS WORDのオブジェクト６６０に関連付けられた動作アプリケーションの単一のインスタンスについて、具体的に説明する。この具体例では、第１プロキシアプリケーション６５２を要求した場合について説明する。各バッチにおけるオブジェクトは、同じ動作アプリケーション６６０によってサポートされている。すべてのオブジェクトが同じオブジェクトタイプであれば、動作アプリケーションは、１つのオブジェクトタイプのバッチ処理（例えば、ＰＤＦオブジェクトのバッチ処理）をサポートすればよい。そうでなければ、動作アプリケーションは、バッチにおける各オブジェクトのオブジェクトタイプをサポートする。つまり、複数のオブジェクトタイプ−例えば、プレーンテキストオブジェクトタイプとMS WORDオブジェクトタイプとをサポートする。他の実施形態では、異なるオブジェクトタイプには、異なる動作アプリケーションが関連付けられていてもよい。このような例では、出力結果は、プロキシアプリケーションによってキャプチャされて、単一の出力結果として融合される。
【００９７】
さらに、アプリケーションインスタンス６６０は、待機または各オブジェクトを処理した後も一時的に残存する。しかし、特定の条件に基づいて終了する。特定の条件とは、例えば、処理のためのオブジェクトを何も受け取らないうちに、待機または残存時間が経過して時間切れになった場合などが挙げられる。選択されたオブジェクト１１２、１１４、１１６は、関連する動作アプリケーション６６０によって処理されて、選択された第１オブジェクト１１２、第２オブジェクト１１４、第３オブジェクト１１６からのデータを含むバッチ出力６７０が、生成または処理される。一実施形態において、プロキシバッチ処理モジュールによって、印刷などの外部出力がなされないこともあるが、選択されたオブジェクトは、本発明の実施形態にしたがって、プロキシバッチ処理がなされる。
【００９８】
動作アプリケーション６６０の単一のインスタンスを呼び出している間、または、実行中の動作アプリケーション６６０に情報を渡している間、プロキシアプリケーションは、動作アプリケーションに対して、プロキシバッチ処理モードに入るよう指示または信号を伝送する。これは、プロキシアプリケーションが引数を渡し、動作アプリケーション６６０によってプロキシバッチモードになって処理することを示すものとして認識されることにより実現する。他の実施形態では、動作アプリケーションによって監視されるフラグを設けてもよい。プロキシバッチモードになることを動作アプリケーションに指示する方法は、当業者にとて既知の方法でいろいろ考えられる。プロキシバッチモードになることによって、動作アプリケーションは、各オブジェクト処理する前後の一定時間残存するようになる。あるいは、例えば、一定期間待機中に、あるいは、動作アプリケーションがまだ実行中のある一定期間に、オブジェクト処理要求が生成されたら、次に続くオブジェクトの処理要求を、その前のオブジェクト要求に結合または追加するようになる。一実施形態において、待機時間は、オブジェクトの処理実行期間内であってもよい。
【００９９】
待機する特性は、いくつかの方法に組み込まれて用いられる。一実施形態において、プロキシアプリケーション６５２、６５４、６５６は、例えば、待機またはスリープコマンド、もしくは、アプリケーションに待機／残存状態を実施せよと通知する利用可能な他のコマンドを介して、待機をいつ行えばよいのかを定義してもよい。これらのコマンドは、ＯＳ環境、アプリケーションを立ち上げるのに用いるプログラミング言語、採用するソフトウェアエンジニアリング技術、および／または、そのＯＳまたはその動作アプリケーションで使えるアプリケーションプログラミングインターフェース（ＡＰＩｓ）に依存する。一実施形態において、プロキシアプリケーションは、アプリケーションインスタンス６６０を立ち上げて、待機時間情報の引数を渡す。さらに、動作アプリケーションは変更されてもよい。その結果、動作アプリケーションがプロキシバッチ処理モードにおいて起動された場合に、待機または残存処理を実行するようになる。例えば、待機または残存処理は、動作アプリケーション６６０内において実施されてもよい。例えば、従来のMS WORDアプリケーションを変更し、その結果、プロキシバッチ処理モードが起動されると待機状態になるようにしてもよい。したがって、動作アプリケーション６６０は、いくつかのプロキシバッチ機能を実行する。例えば、複数のオブジェクトまたはファイルを入力として受け付けて、複数のオブジェクトをプロキシバッチ処理のための複合ジョブにまとめる。そして、一定時間待機／残存する。待機処理についての他の実施形態は、図９Ａに基づいて後述する。
【０１００】
本発明の実施形態では、たとえバッチジョブがすべて、同一の動作アプリケーションに関連付けられていたとしても、１つのバッチ処理を他と区別することが可能である。単一のアプリケーションインスタンス６６０が、特定の条件に基づいて終了することを考慮すれば、たとえ第１のバッチに適用されたアプリケーションインスタンスが、第２のバッチに適用または採用されたアプリケーションと同一であったとしても、新規のバッチジョブを他のバッチジョブと区別することが可能である。具体的に分かりやすく説明するために、ここでは、アプリケーションインスタンスがMS WORDであるとし、アプリケーションインスタンス６６０は、第１のバッチジョブから選択されたすべてのオブジェクト（第１、第２、第３オブジェクト）が処理され、待機時間が経過したら、MS WORDアプリケーションインスタンス６６０は、終了するものとする。したがって、ユーザは、プロキシバッチ処理のための新しいバッチを、例えば、第４および第５オブジェクト（図示せず）を選択することにより選択することができる。MS WORDを用いて具体的に説明するが、したがって、MS WORDは、第４および第５オブジェクトを異なるバッチとして処理する。
【０１０１】
ある実施形態において、残存／待機時間が経過すると、動作アプリケーション６６０は、次に、あるモードに入る。そのモードとは、動作アプリケーションが、例えば、現在のバッチに関連付けられているプロキシアプリケーションのいずれからも新しいオブジェクトを受け付けないようにするモードである。本実施形態では、次のバッチの第１プロキシアプリケーションが、動作アプリケーション６６０の新しいインスタンスを開始する。つまり、第２のバッチは、第１のバッチと一時的に平行して実行される。
【０１０２】
図７は、本発明の実施形態における、一例としてのプロキシアプリケーション６５２、６５４、６５６による、動作アプリケーション６６０呼び出し処理７００の一例を示す上位レベルのフローチャートである。上述したとおり、プロキシバッチ動作５５０において選択が行われた後、選択されたプロキシバッチ動作オプションに関連付けられた、例えば、シェルコマンド、アプリケーションとして実現されるプロキシバッチモジュール、または、複数のシェルコマンドとして実現されるプロキシバッチモジュールなどによって、第１プロキシアプリケーション６５２の第１インスタンスが起動される。このプロキシアプリケーションは、起動すべき動作アプリケーションに関連付けられているか、あるいは、起動すべき動作アプリケーションを認識している。起動すべきアプリケーションが何であるかを示す情報は、ファイルタイプなどのオブジェクト情報、あるいは、コンピュータ環境内に定義されたものに基づいている。上記情報は、また、プロキシバッチ処理モジュール１０６のパラメータとして、プロキシアプリケーション６５２に渡される。プロキシバッチ処理モジュール１０６（プロキシアプリケーション６５２）は、プロキシアプリケーションに関連付けられている動作アプリケーションが実行中であるか否かをチェックする。つまり、選択されたオブジェクトをサポートする動作アプリケーション６６０が実行中であるか否かをチェックする（ステップ７０２）。
【０１０３】
動作アプリケーションが実行中であるか否かを判定する処理は、いろいろな方法で実施される。例えば、プロキシアプリケーションが、現在実行中のタスクまたはアプリケーションを判定するための、ＯＳ依存の利用可能なクラスまたはプロセスを介して、現在実行中のタスクをＯＳに問合せてもよい。例えば、MSの．NET frameworkにおいて、System.Diagnostics.Processクラスが利用可能であり、これによって、ユーザおよびアプリケーションは、システムにおいて現在実行中のWin32プロセスのリストを手に入れることができる。当業者において既知の技術である、上記処理を実行する他のコマンドを用いてもよい。他の実施形態では、例えば、プロキシアプリケーションは、さまざまなタスクおよびプロセスを検査して、インタープロセスセマフォ、ある特別なファイルへのアクセスロック、または、ある特定のファイルが存在するか否かなどによって、動作アプリケーションが実行中であること証拠を見つける判定を行う。これらの証拠は、動作アプリケーションによってさまざまである。セマフォは、共有資源へのアクセス制御に用いられることもある。例えば、動作アプリケーション６６０が起動されたときに、動作アプリケーション６６０は、ＯＳに対して、指名された、すべてのプロセスに対してグローバルなセマフォをセットするように要求してもよい。動作アプリケーションが終了したときに、ＯＳは、上記セマフォを解放する。プロキシアプリケーションは、ＯＳに対して、同様の指名されたセマフォをセットするように要求することによって、動作アプリケーション６６０のプレゼンスをチェックしてもよい。動作アプリケーションが実行中の場合、つまり、セマフォがセットされている場合は、プロキシアプリケーションのセマフォをセットするよう要求する要求は失敗し、したがって、そのことが、動作アプリケーションが現在実行中であることを示すことになる。
【０１０４】
一実施形態では、動作アプリケーション６６０を、アプリケーション実行中には、ファイルがロックされたりアクセスを制限されたりするように設計してもよい。他の実施形態では、アプリケーションは、実行中に、ファイルを生成したり維持したりしてもよい。本発明のプロキシアプリケーションは、符号化されてもよい。その結果、動作アプリケーションが実行であるか否かを明らかにする証拠を見つけることが可能となる。
【０１０５】
関連する動作アプリケーション６６０が実行中でない場合（ステップ７０６においてＮＯ）、プロキシアプリケーションの第１のインスタンス−例えば、第１プロキシアプリケーション６５２（プロキシバッチ処理モジュール１０６）は、関連する動作アプリケーション６６０をバックグラウンド処理として（例えば、ウィンドウを開けない処理として）起動して、オブジェクトを起動した動作アプリケーションに渡す（ステップ７１０）。一実施形態では、動作アプリケーションの呼び出しは、コマンドラインインターフェース−例えば、プロキシアプリケーションをＣ＃（Ｃシャープ）を用いてコーディングする場合には、Ｍａｉｎ（）コマンド−を介して行われる呼び出しである。他のソフトウェアエンジニアリング技術を、動作アプリケーションの起動に使うことも可能である。しかしながら、関連アプリケーションが実行中の場合は（ステップ７０６においてＹＥＳ）、プロキシアプリケーションは、適切なオブジェクトを、処理のために実行中の動作アプリケーションに渡す（ステップ７２０）。上記処理は、第２のあるいはその後のプロキシアプリケーション６５４、６５６のインスタンスによっても実行される。プロキシアプリケーションは、いくつかの方法によって、オブジェクト情報を、例示された動作アプリケーションに渡す。例えば、オブジェクト情報は、コマンドライン呼び出しの引数として、所定のフォルダまたは定義済みの位置にあるファイルに、オブジェクト情報を配置することによって、渡される。そして、オブジェクト情報は、動作アプリケーションによって、および／または、受信するために動作アプリケーションが登録されるというイベントをトリガにして監視される。ここに例示した処理７００は、各プロキシアプリケーションによって実行される。
【０１０６】
図６に示すとおり、関連動作アプリケーション６６０が、第１プロキシアプリケーション６５２の第１インスタンスによって起動されたとき、動作アプリケーションは、ある一定の期間（例えば、第１オブジェクト１１２の処理を完了してから一定の期間）、残存または待機する（６８４）。一実施形態において、待機時間などの引数リストを含むシェルコマンドが、動作アプリケーションの起動に用いられてもよい。待機時間が経過すると、アプリケーションインスタンスは終了する。待機または残存時間はあらかじめ定められていてもよいし、動的に決定されてもよいし、あるいは、他の条件に基づいて決定されてもよい。
【０１０７】
プロキシアプリケーションの第１インスタンスの後は、次のインスタンス６５４、例えば、同じグループまたはバッチの第２プロキシアプリケーションが、６８２の期間内に起動される。６８２の期間は、残存または待機時間６８４よりも短い。その結果、この次のプロキシアプリケーション６５４が動作アプリケーション６６０がまだ実行されている間に起動される。これにより、アプリケーションインスタンス６６０が終了したことによって、他から呼び出されることを防止することができる。一実施形態において、待機時間６８４、６８８、６９２は、ＯＳが２つのプロキシアプリケーションのインスタンスをそれぞれ引き続き起動するのに要する時間６８２、６８６をそれぞれカバーするのに十分な長さである。しかし、ユーザによって誤って新しいバッチの呼び出しが行われた場合はこの限りではない。
【０１０８】
本発明における残存または待機時間は、コンピュータ処理時間と人間の操作時間との違いを前提としている。本発明の実施形態においては、プロキシバッチ処理の要求は、ユーザの手動操作によって開始されることを前提または考慮している。ユーザは、第１のプロキシバッチ処理の要求を起こしたら、次に第２のプロキシバッチ処理を要求するために、ユーザインターフェース装置を用いて−例えば、カーソルの位置を変えたり、マウスおよび／またはキーボードを操作したりして要求を行う。人間が、上記の手動操作あるいは２つのプロキシバッチ要求を切り換えるユーザ入力を実行するには、例えば、０．５秒足らずである。しかし、汎用コンピュータとしての情報処理装置は、たいていタイムシェアリングのＣＰＵを備えており、タスクを次から次へと切り換えることが可能である。例えば、１００万分の１秒のごく短時間に、順次オブジェクト処理要求を発信する合間にタスクを切り換えることが可能である。したがって、コンピュータ−ドリブンの並行処理が実行可能なように、残存／待機時間は十分な長さが確保される。しかし、ヒューマン−ドリブンの並行処理としての順次要求が誤ってなされた場合は、この限りではない。
【０１０９】
一実施形態において、待機時間は約２分の１秒かそれより短い。続いて起こるプロキシアプリケーション６５４は、動作アプリケーション６６０の実行中（例えば、待機時間６８４の期間内）に起動されるので、実行中のアプリケーションインスタンス６６０を検出することができる。そして、同動作アプリケーションの他のインスタンスは起動せずに、オブジェクトを実行中のアプリケーション６６０に渡す。インスタンスアプリケーション６６０は、同バッチ内において、例えば、処理すべき第２オブジェクト１１４を追加で受け取ると、そのオブジェクトを処理して、一定期間６８８の間残存または待機し、他のプロキシアプリケーションインスタンスから受信すべき次のオブジェクトを待つ。次の第３プロキシアプリケーション６５６は、動作アプリケーション６６０が待機時間６８８において実行中の間に起動される。そして、第３プロキシアプリケーションは、動作アプリケーションの新しいインスタンスを起動せずに、オブジェクトをインスタンスアプリケーションに渡す。上記処理は、同一バッチ内において順次続いて起こるプロキシアプリケーションによる同種のやり方で繰り返し実行される。待機時間は、各オブジェクトの処理時間に応じて確保される。
【０１１０】
インスタンスアプリケーションが、バッチ内の最後のオブジェクト１１６を処理し終えると、アプリケーションインスタンス６６０は待機する。そして、他のオブジェクトを受信することなく待機時間６９２が経過すると、動作アプリケーション６６０が終了し、これにより、一般に動作アプリケーションインスタンスをエンドまたはクローズすることにより、そのジョブのプロキシバッチ処理が終了する。これにしたがって、別のプロキシバッチ処理が起動されてもよい。一実施形態において、プロキシアプリケーションは、オブジェクト（群）を動作アプリケーションに渡すことのみ行ってすぐに終了したり、あるいは、動作アプリケーションの終了時に終了したりしてもよい。
【０１１１】
図８は、引き続き起こるプロキシアプリケーションが起動されるときのタイミングの一例８００を示すブロック図である。この例では、２つのオブジェクト（第１、第２オブジェクト）がプロキシバッチ処理の１つのバッチとして選択されるものとし、第１、第２オブジェクトは、動作アプリケーションＸ８１０によって処理されるものとする。プロキシバッチ動作オプションを介して複数のオブジェクトが選択された後、プロキシアプリケーション８１４の第１インスタンスが起動される。プロキシアプリケーションは、どのオブジェクトが関連付けられているか、および、どの動作アプリケーションを起動すべきかを認識している。第１プロキシアプリケーション８１４は、動作アプリケーションを起動して、第１オブジェクト情報８１６を渡す。起動されると、動作アプリケーションＸは、上述したとおり待機時間８１８とともに動作する。図示しないが、１つのバッチに５つのオブジェクトが選択された場合は、動作アプリケーションは、各オブジェクトを受信する度に待機時間をリセットして、５回待機する。あるいは、１回一定の期間待機してもよい。動作アプリケーションの実行または処理中に待機時間が発生するタイミングは、実施形態に依存してさまざまである。例えば、一実施形態では、プロキシバッチモードの動作アプリケーション６６０は、現在のオブジェクトの処理を、残存または待機時間８１８が経過するまで延期する。例えば、第１オブジェクトは、該オブジェクトに関連付けられた第１の待機時間の経過後に処理される。ここでは、待機時間は、アプリケーションＸが実際に第１オブジェクトを処理するのに先行して発生する。他の実施形態では、アプリケーションＸは、渡されたオブジェクトを部分的に処理して、その部分的な処理の間に、処理すべきさらなるオブジェクトを受け付ける。これらの追加のオブジェクトは、動作アプリケーションＸが実行中の間に、起動されたプロキシアプリケーションから渡される。本実施形態では、第２プロキシアプリケーションがアプリケーションＸと別のインスタンスを起動しないように、第２プロキシアプリケーション８２４は、アプリケーションＸの実行中に起動される。後に続いて起こるプロキシアプリケーション（第１でないプロキシアプリケーション）は、アプリケーションインスタンス６６０がまだ実行されている間であればいつでも起動することができる。アプリケーションインスタンス６６０の実行中とは、動作アプリケーションが待機中（つまり待機期間内）、または、動作アプリケーションがオブジェクトを処理中であるかのいずれかである。同様に、そのバッチにおいて選択された別のオブジェクトがある場合は、図示しないが、例えば、第３プロキシアプリケーションが、動作アプリケーションが実行中の間（動作アプリケーションがオブジェクトを処理中の間、または、待機期間内）に起動される。
【０１１２】
図９Ａは、本発明の他の実施形態における、待機処理を中間アプリケーション９９０に持たせた場合のプロキシバッチ処理９００Ａを示すブロック図である。図６と同様に、プロキシバッチ処理９００Ａによって、ユーザは、状況依存メニュー９３０を介して１つのプロキシバッチとして複数のオブジェクトを選択できる。ここでは、プロキシバッチオプション「印刷」９５０が選択された例を示している。本実施形態では、アプリケーションインスタンス９９２は、残存も待機もしない。アプリケーションインスタンス９９２が、いずれのプロキシバッチ機能（例えば、複数の入力オブジェクトまたはファイルを入力として受け付けたり、複数のオブジェクトをプロキシバッチ処理用の１つの複合ジョブに束ねたり、または、適切な残存／待機期間に待機したりする機能）もサポートしていない場合は、中間アプリケーション９９０が、アプリケーションインスタンス９９２をサポートしている。中間アプリケーション９９０を用いた他のプロキシバッチ処理の実施形態９００Ａは、例えば、事前終了アプリケーション（pre-existing end application）を採用してもよい。
【０１１３】
プロキシバッチ動作９５０が、状況依存メニューからの選択によって選択されると、プロキシバッチ処理モジュール１０６は、選択されたオブジェクト９１２、９１４、９１６ごとに、プロキシアプリケーション９５２、９５４、９５６を起動する。図６と同様に、各プロキシアプリケーションは、対応するオブジェクトにそれぞれ関連付けられている。続いて、プロキシアプリケーション９５２、９５４、９５６のそれぞれは、オブジェクト情報９１２、９１４、９１６を、例えば引数リストにして、中間アプリケーション９９０に送信する。続いて、中間アプリケーション９９０は、動作アプリケーションインスタンス９９２の開始／起動を残存期間まで遅らせる。図６の説明で述べたとおり、ユーザによって新しいバッチが誤って新規に呼び出された場合には、残存期間はなくなる。残存／待機時間が経過した後、中間アプリケーション９９０は、受信したオブジェクトの集合を、プロキシアプリケーションを介して、１つのインスタンスバッチコールとして、動作アプリケーションに送信する。このバッチコールは、全てのオブジェクトを集合（例えば、１つの引数リスト）として渡すシェルコマンドとして実現される。アプリケーションインスタンス９９２は、組み合わされた、あるいは、束ねられた複数のオブジェクトの入力が１つの複合／バッチとして出力されるように、入力として複数のファイルを受け取る。しかし、待機または残存はしない。
【０１１４】
本実施形態では、１つのアプリケーションインスタンス９９２のみが起動され、プロキシバッチにおけるオブジェクトの集合は、アプリケーションインスタンス９９２によって、１つのものとして処理されるので、結果として、１つのバッチ出力９７０が出力される。図６の説明で述べたとおり、例えばプリンタにおいて、事後処理を行わなければならない場合は、１つのバッチ出力が、１つのものとして処理される。
【０１１５】
図１０は、本発明の実施形態におけるプロキシバッチ処理１０００の流れを示すフローチャートである。本実施形態では、例えば、プロキシバッチ処理モジュール１０６は、選択されたオブジェクトの数に応じて適切な数のプロキシアプリケーションを開始または起動する（ステップ１００２）。各プロキシアプリケーションは、それぞれの関連オブジェクト／オブジェクト情報を中間アプリケーションに渡す（ステップ１００４）。
【０１１６】
一実施形態では、図示しないが、中間アプリケーション９９０は、第１プロキシアプリケーション９５２、すなわち、プロキシバッチ処理モジュール１０６によって起動されてもよい。例えば、各プロキシアプリケーションは、中間アプリケーション９９０が既に実行中であるか否かをチェックする。具体的には、図７に示す例のように、動作アプリケーションのインスタンスが実行中か否かを、プロキシアプリケーションがチェックするのと同様の方法でチェックしてもよい。この場合、インスタンスアプリケーションが実行中か否かをチェックする代わりに、プロキシアプリケーションが、中間アプリケーションが実行中か否かをチェックする。中間アプリケーションが実行中でない場合は、プロキシアプリケーションは、中間アプリケーションを起動して、関連オブジェクト／オブジェクト情報を渡す。中間アプリケーションが実行中の場合は、プロキシアプリケーションは、中間アプリケーション９９０の別のインスタンスを起動せずに、関連オブジェクト／オブジェクト情報を中間アプリケーションに渡すことだけを行う。
【０１１７】
一実施形態において、中間アプリケーション９９０は、プロキシバッチ処理モジュール１０６によって起動されてもよい。プロキシバッチ動作の選択がなされたときに、プロキシアプリケーションのさまざまなインスタンスの起動に加えて、例えば、第１プロキシアプリケーションに先行して中間アプリケーションが開始される。例えば、第１のシェルコマンドは、中間アプリケーション９９０を起動して、第２のシェルコマンドは、第１プロキシアプリケーション９５２を起動する。
【０１１８】
システムで定義された残存時間が経過すると、例えば、中間アプリケーション９９０は、１または複数の選択されたオブジェクトをサポートするのに適切なアプリケーション９９２を起動する（ステップ１００８）。動作アプリケーション９９２の呼び出しは、バッチコールである。
【０１１９】
図９Ｂを参照すると、本実施形態では、アプリケーションインスタンス９９２は、複数の入力オブジェクトを受け入れていないし、複数の入力オブジェクトを、１つのものとして出力されるよう全てのオブジェクトを組み合わせることによって、プロキシバッチジョブにして、結果を１つに組み合わせることは行っていない。本発明の実施形態によれば、図９Ｂは、いくつかの変形部分の除いて図９Ａと同様である。図９Ａと同様に、プロキシバッチ処理９００Ｂによって、ユーザは、状況依存メニュー９３０を介して、複数のオブジェクトを１つのプロキシバッチとして選択することができる。この例では、プロキシバッチオプション「印刷」９５０が選択されている状態を示している。プロキシバッチ動作９５０が、状況依存メニューの選択によって選択されると、例えば、プロキシバッチ処理モジュール１０６が、選択された各オブジェクト９１２、９１４、９１６に対応するプロキシアプリケーション９５２、９５４、９５６を起動する。図６および図９Ａと同様に、各プロキシアプリケーションは、対応するオブジェクトに関連付けられている。プロキシアプリケーション９５２、９５４、９５６のそれぞれは、オブジェクト／オブジェクト情報９１２、９１４、９１６を、例えば、引数リストにして中間アプリケーション９９０に送信する。続いて、中間アプリケーション９９０は、動作アプリケーションインスタンス９９２の開始／起動を、残存時間が経過するまで遅らせる。ただし、上述したとおり、ユーザによって新規のバッチの新規呼び出しが誤って行われた場合には、この限りではない。本実施形態では、各オブジェクト９１２、９１４、９１６をサポートしているアプリケーションインスタンスは、複数の入力オブジェクトを受け入れるのでもなければ、複数の入力オブジェクトの出力結果を、１つのバッチ出力を生成するための１つのプロキシバッチジョブへと組み合わせるのでもない。本実施形態では、中間アプリケーションは、選択された各オブジェクトの各アプリケーションインスタンスをそれぞれ呼び出す。例えば、第１アプリケーションインスタンス９３２には、第１オブジェクト９１２が渡され、第２アプリケーションインスタンス９３４には、第２オブジェクト９１４が渡され、第３アプリケーションインスタンス９３６には、第３オブジェクト９１６が渡される。いくつかのアプリケーションインスタンス９３２、９３４、９３６は、すべて同時に起動されてもよいし、各々順次起動されてもよいし、あるいは、当業者にとって既知の他の方法によって起動されてもよい。アプリケーションインスタンス９４２、９４４、９４６のそれぞれの出力結果は、中間アプリケーション９９０によって受信される。そして、複数のオブジェクトが融合あるいは組み合わされて、１つのバッチ出力９７０が出力される。このバッチ出力９７０は、第１、第２、および、第３オブジェクトを含んでいる。アプリケーションインスタンスの呼び出しは、シェルコマンドによって実現されてもよい。
【０１２０】
図１１は、プロキシバッチ処理１１００のタイミングを示すブロック図である。プロキシバッチ処理モジュール１０６、１１１０は、プロキシアプリケーションの各々（１１１４、１１１８）を順次起動する。プロキシアプリケーション１１１４、１１１８のいずれかが（例えば、バッチにおける第１のプロキシアプリケーション１１１４が）、中間アプリケーション１１２０を起動する。一実施形態では、プロキシアプリケーションではなく、プロキシバッチ処理モジュール１１１０が中間アプリケーション１１２０を起動する。中間アプリケーションは、残存時間１１２０が経過するまで待機し、それから、動作アプリケーションを起動して、選択されたオブジェクト１１２４（例えば、第１、第２オブジェクト）を渡す。例えば、１つのアプリケーションインスタンス（例えば、アプリケーションＸ（図９Ａ参照））だけを呼び出してもよいし、または、複数のアプリケーションインスタンスを呼び出してもよい（図９Ｂ参照）。これは、アプリケーションによってサポートされているプロキシバッチ機能に依存している。本発明の中間アプリケーション９９０は、アプリケーションインスタンスによってサポートされているプロキシバッチ特徴を認識しており、その結果、起動するアプリケーションインスタンスは単数でよいのか、あるいは、複数なのかを判定することができる。
【０１２１】
図１２は、本発明の実施形態におけるバッチ印刷出力の結果１２００を表す上位レベルのブロック図である。印刷出力は、ヘッダ情報１２１０を含んでおり、ヘッダ情報１２１０は、当該文書に関する情報を含んでいてもよい。ヘッダ情報は、また、ジョブ制御コマンド、文書ファイルタイプ、形式情報、ジョブアカウントとアクセス制御情報、非処理対象情報（コメントなど）を含んでいてもよい。例えば、第１オブジェクト１２１２、第２オブジェクト１２１４、および、第３オブジェクト１２１８などの選択されたオブジェクトの各データは、図示のとおり、互いに連結している。ジョブ終了表示１２３０は、ジョブまたは出力の最後を示している。本発明の状況依存メニューオプションを介して選択されたオブジェクトを印刷するときには、選択されたオブジェクトは、図示のとおり、１つのジョブ１２４０として扱われる。本発明のプロキシバッチ処理によって、選択された各オブジェクトを、１つのものとして扱うことが可能になる。オブジェクトに、ステープル機能が定義されている場合には、本発明のプリンタは、１つの文書として１つのバッチ（文書の束）をホチキス止めする。出力結果１２００が、ファクシミリ送信される場合には、出力結果は、１つの送信データとして転送される。
【０１２２】
図１３は、本発明の実施形態における情報処理装置１３００を示す上位レベルのブロック図である。情報処理装置１３００は、通信インターフェース１３１０、オペレーティングシステム１３３０、プロキシバッチ処理モジュール１３４０、データ記憶部１３２０、および、１または複数の動作アプリケーション１３５０を備える構成となっている。動作アプリケーション１３５０は、プロキシバッチ処理のための動作オプションをサポートしている。一実施形態では、通信インターフェース１３１０は、情報処理装置が通信網を介して通信を行うためのモジュールであり、例えば、ネットワークインターフェースカードなどで実現される。一実施形態では、情報処理装置は、通信網と接続する機能を有していなくてもよい。データ記憶部１３２０は、オブジェクトを記憶するものであり、オペレーティングシステム１３３０、動作アプリケーション１３５０、および／または、プロキシバッチ処理モジュール１３４０を含んでいてもよい。オペレーティングシステム１３３０は、プログラム命令の集合であり、情報処理装置の動作（プロセスを起動するなどの処理を含む）を制御、管理するものである。動作アプリケーション１３５０は、プログラム命令の集合であり、例えば、状況依存メニューを介してユーザによって選択された動作オプションを実行するものである。動作アプリケーションの例としては、文書処理プログラム、図形描画プログラム、ファクシミリ送信プログラム、印刷プログラム、閲覧プログラムなどが挙げられる。また、動作アプリケーション１３５０は、MS OFFICE（登録商標）製品、ADOBE（登録商標）製品（例えば、ADOBE（登録商標）、READER（登録商標）など）、および、ＯＳがサポートするいずれのアプリケーションであってもよいが、上記に限定されるものではない。プロキシバッチ処理モジュールの実施形態に応じて、例えば、シェルコマンドとして、パッケージアプリケーションとして、さまざまなモジュール断片、特徴をさまざまな所に導入することができる。そして、導入する場所は、状況依存メニューヘッダ、レジストリ変更、ファイルロック、および、ファイル作成に加えて、ＯＳや動作アプリケーションにによってもさまざまである。他の実施形態では、本発明のプロキシバッチ処理特徴または機能の一部またはすべてが、動作アプリケーション、あるいは、中間アプリケーションに導入されてもよい。本発明の実施形態において、情報処理装置１３００のさまざまなモジュールが、単一径路もしくは１または複数のチャネル１３９０のバスを介して、互いに通信および仲介を行ってもよい。
【０１２３】
図１４は、本発明の他の実施形態における情報処理装置１４００を示す上位レベルのブロック図である。図１４に示すとおり、情報処理装置は、オブジェクト選択モジュール１４１０、状況依存メニューモジュール１４２０、１または複数の動作アプリケーション１４３０、および／または、プロキシバッチモジュール１４４０を備える構成となっている。オブジェクト選択モジュール１４１０は、ユーザに１または複数の、プロキシバッチ処理用のオブジェクトを選択させるものである。状況依存メニューモジュール１４２０は、右クリックなどの入力応じて、状況依存メニューを表示するものである。表示された状況依存メニューは、ユーザによって選択されたオブジェクトによりさまざまである。状況依存メニューモジュール１４２０は、また、動作の選択を受け付けて、選択された動作と適切な動作アプリケーション１４３０とを関連付けるものである。動作アプリケーション１４３０は、上述した待機機能を実行するものであり、上記選択された１または複数のオブジェクトを処理するものである。また、動作アプリケーション１４３０は、条件に基づいてその処理を終了する。選択されたオブジェクトの処理は、状況依存メニューから選択された動作に基づいている。プロキシバッチモジュール１４４０は、プロキシアプリケーションの１または複数のインスタンスを起動するものである。起動された各々のプロキシアプリケーションは、選択されたオブジェクトのうちの１つと関連付けられている。起動された各々のプロキシアプリケーションは、動作アプリケーションのインスタンスを起動し、および／または、起動されたプロキシアプリケーションの関連オブジェクトを動作アプリケーションに渡す。一実施形態では、中間アプリケーションは、単一のまたは複数のアプリケーションインスタンス呼び出しを起動する。
【０１２４】
情報処理装置１３００、１４００の機能に応じて、他の機能を備えたモジュールが追加されたり、削除されたりしてもよい。さらに、ここで記載されたモジュールは、ここに記載した機能や処理を実行可能なモジュールの範囲内で、さらに細分化されたり、あるいは、他の機能を持つモジュールと組み合わされたりしてもよい。上記情報処理装置に記載したさまざまなモジュールは、プログラム命令の集合として実現されてもよい。例えば、ソフトウェア、ハードウェア、または、その両方、つまり、ファームウェアとして実現されてもよい。
【０１２５】
本発明の実施形態は、ネットワークに接続されたシステムおよび装置に適用することができる。また、特に、状況依存メニューを介してバッチ処理を実行するシステムおよび装置に好適に用いられる。また、本発明を具体的な実施形態および具体例を用いて説明してきたが、本発明を、特にここに開示した実施形態を越えて、他の代替の実施形態および／または本発明の利用方法、自明な変形例、同等の実施例にまで拡張できることについては、当業者において理解されたい。さらに、本発明のいくつかの変形例について詳細に開示してきたが、本発明の範囲内で、当業者によって当該開示に基づいてなされるその他の変形例も本発明に含まれる。本発明の特徴および実施形態の局面のさまざまな組合せまたは一部の組合せも本発明の範疇に入る。したがって、さまざまな特徴およびここに開示した実施形態の局面を適宜組み合わせて、ここに開示した発明の変形例とすることができる。以上のことから、ここに開示する本発明の範疇は、ここに開示した上述の実施形態によってのみ限定的に解釈されるべきでない。
【産業上の利用可能性】
【０１２６】
本発明は、ネットワークに接続されたシステムおよび装置に適用することができる。また、特に、状況依存メニューを介してバッチ処理を実行するシステムおよび装置に好適に用いられる。
【図面の簡単な説明】
【０１２７】
【図１】本発明の実施形態におけるシステムの一例を示す上位レベルのブロック図である。
【図２】MICROSOFT WINDOWS（登録商標）のドラッグ−アンド−ドロップ操作を用いた、従来のバッチ処理方法を示すブロック図である。
【図３】MICROSOFT WINDOWS（登録商標）の状況依存メニューを用いた、従来のバッチ処理方法を示すブロック図である。
【図４】状況依存メニューおよび実行中のバックグラウンドアプリケーションを用いた、従来のバッチ処理方法を示すブロック図である。
【図５】本発明の実施形態における、ファイルブラウザアプリケーションおよび状況依存メニューを提示するグラフィカルユーザインターフェース（ＧＵＩ）を示す図である。
【図６】本発明の実施形態における、待機または残存する動作アプリケーションを含むプロキシバッチ処理の一例を示す上位レベルのブロック図である。
【図７】本発明の実施形態の典型例のプロキシアプリケーションによる、動作アプリケーション呼び出し処理の一例を示す上位レベルのフローチャートである。
【図８】本発明の実施形態における、典型例の実行中の動作アプリケーションに関連する典型例のプロキシアプリケーションを示す上位レベルのブロック図である。
【図９Ａ】本発明の他の実施形態における、待機処理を中間アプリケーションに持たせた場合のプロキシバッチ処理を示す上位レベルのブロック図である。
【図９Ｂ】本発明のさらに他の実施形態における、待機処理を中間アプリケーションに持たせた場合のプロキシバッチ処理を示す上位レベルのブロック図である。
【図１０】本発明の実施形態における典型例のプロキシバッチ処理の流れを示す上位レベルのフローチャートである。
【図１１】本発明の実施形態における典型例のプロキシアプリケーション、典型例の中間アプリケーション、および、動作アプリケーションのタイミングを示す上位レベルのブロック図である。
【図１２】本発明の実施形態における典型例のプロキシバッチアプリケーションを用いた、典型例のバッチ印刷出力の結果を表す上位レベルのブロック図である。
【図１３】本発明の実施形態における典型例の情報処理装置を示す上位レベルのブロック図である。
【図１４】本発明の他の実施形態における典型例の情報処理装置を示す上位レベルのブロック図である。
【符号の説明】
【０１２８】
１０２  オペレーティングシステム
１０６  プロキシバッチ処理モジュール
１１０  情報処理装置
１１２  オブジェクト
１１４  オブジェクト
１１６  オブジェクト
１２０  データ記憶部
１５０  ネットワーク周辺装置（周辺装置）
１６０  ネットワークプリンタ（周辺装置／プリンタ）
１７０  サーバ（周辺装置）
１８０  ローカルエリアネットワーク
１８４  周辺機器（周辺装置）
６５２  プロキシアプリケーション
６５４  プロキシアプリケーション
６５６  プロキシアプリケーション
６６０  動作アプリケーション
６７０  バッチ出力
６９０  シェルコマンド
９１２  オブジェクト
９１４  オブジェクト
９１６  オブジェクト
９３０  状況依存メニュー
９３２  アプリケーションインスタンス（動作アプリケーション）
９３４  アプリケーションインスタンス（動作アプリケーション）
９３６  アプリケーションインスタンス（動作アプリケーション）
９５０  プロキシバッチ動作（選択肢）
９５２  プロキシアプリケーション
９５４  プロキシアプリケーション
９５６  プロキシアプリケーション
９７０  バッチ出力
９９０  中間アプリケーション
９９２  動作アプリケーション
１２００  出力結果（バッチ出力）
１３００  情報処理装置（プロキシバッチ処理装置）
１３１０  通信インターフェース
１３２０  データ記憶部
１３３０  オペレーティングシステム
１３４０  プロキシバッチ処理モジュール（プロキシバッチモジュール）
１３５０  動作アプリケーション
１３９０  チャネル
１４００  情報処理装置（プロキシバッチ処理装置）
１４１０  オブジェクト選択モジュール（選択モジュール）
１４２０  状況依存メニューモジュール（状況依存メニューモジュール）
１４３０  動作アプリケーション
１４４０  プロキシバッチモジュール
【図１】
2008152765.tif 000003
【図２】
2008152765.tif 000004
【図３】
2008152765.tif 000005
【図４】
2008152765.tif 000006
【図５】
2008152765.tif 000007
【図６】
2008152765.tif 000008
【図７】
2008152765.tif 000009
【図８】
2008152765.tif 000010
【図９Ａ】
2008152765.tif 000011
【図９Ｂ】
2008152765.tif 000012
【図１０】
2008152765.tif 000013
【図１１】
2008152765.tif 000014
【図１２】
2008152765.tif 000015
【図１３】
2008152765.tif 000016
【図１４】
2008152765.tif 000017