(57)【要約】【課題】拡張機能のプラグイン後において、不要なソフトウェア（例えば、ドライバ）は残さず、ユーザビリティ性を向上させる。【解決手段】  クライアント・コンピュータ１０００は、拡張機能をプラグインする対象となる第１のソフトウェアの種類を判定し（ステップＳ１０５）、その判定結果に応じて、拡張機能を含む、第１のソフトウェアとは異なる第２のソフトウェアを生成し（ステップＳ１０６）、第１のソフトウェアを削除する（ステップＳ１０７）。【選択図】図２
2007156913.tif 000002
【特許請求の範囲】
【請求項１】
拡張機能をプラグインする対象となる第１のソフトウェアの種類を判定する判定手段と、
前記判定手段による判定結果に応じて、前記拡張機能を含む、前記第１のソフトウェアとは異なる第２のソフトウェアを生成する生成手段と、
前記生成手段により前記拡張機能を含む前記第２のソフトウェアが生成された場合、前記第１のソフトウェアを削除する削除手段とを有することを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記判定手段による判定結果に応じて、前記拡張機能を含む前記第１のソフトウェアを生成し、前記削除手段は、前記生成手段により前記拡張機能を含む前記第１のソフトウェアが生成された場合、前記第１のソフトウェアを削除しないことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記第１のソフトウェアがInboxドライバであるか、Outboxドライバであるかを判定し、前記生成手段は、前記第１のソフトウェアがInboxドライバである場合、前記拡張機能を含む前記第２のソフトウェアを生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記第１のソフトウェアがOutboxドライバである場合、前記拡張機能を含む前記第１のソフトウェアを生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
情報処理装置による情報処理方法であって、
拡張機能をプラグインする対象となる第１のソフトウェアの種類を判定する判定ステップと、
前記判定ステップによる判定結果に応じて、前記拡張機能を含む、前記第１のソフトウェアとは異なる第２のソフトウェアを生成する生成ステップと、
前記生成ステップにより前記拡張機能を含む前記第２のソフトウェアが生成された場合、前記第１のソフトウェアを削除する削除ステップとを含むことを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張機能をソフトウェアにプラグインすることが可能な情報処理装置及び情報処理方法に関するものである。
【背景技術】
【０００２】
従来のプラグイン制御に関して、図３乃至図５を用いて説明する。各図において、ドライバＡは、プラグイン対象のドライバである。機能Ｘは、ドライバＡに対してプラグインする拡張機能である。機能ＸをドライバＡに対してプラグインすると、図３に示されるように、ドライバＡがInboxドライバ及びOutboxドライバの何れかであっても機能Ｘが拡張されたドライバＡと成り得る。
【０００３】
ここで、Inboxドライバとは、オペレーティング・システムに同梱されているドライバを指し、Outboxドライバとは、Inboxドライバとは別に各ベンダーが提供する所謂モノリシックドライバを指す。つまり、デバイスによってはInboxドライバ及びOutboxドライバの双方が存在する場合がある。更に、プラグイン機能Ｘは、通常ベンダーから提供されるソフトウェアである。
【０００４】
このとき、ドライバＡがInboxドライバである場合には、図３の場合以外に、図４に示されるように、機能Ｘをプラグインすると、既存のInboxドライバであるドライバＡがドライバＡ´に置き換わって機能Ｘがプラグインされる形態がある。また、図５に示されるように、機能Ｘをプラグインすると、InboxドライバであるドライバＡとは別に、機能Ｘを伴ったドライバＢが生成される形態がある。
【０００５】
【特許文献１】特開２００１−３０６２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、図５に示すプラグイン形態では、機能Ｘをプラグインした場合に、機能Ｘを伴ったドライバＢと元のドライバＡの両方のドライバが存在することになる。このような場合、ドライバＡは通常不要なドライバとして位置付けられる。このように、図５に示すようなプラグイン形態には、ユーザビリティ性が欠如してしまうといった問題が生じていた。
【０００７】
そこで、本発明の目的は、拡張機能のプラグイン後において、不要なソフトウェア（例えば、ドライバ）は残さず、ユーザビリティ性を向上させることにある。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、拡張機能をプラグインする対象となる第１のソフトウェアの種類を判定する判定手段と、前記判定手段による判定結果に応じて、前記拡張機能を含む、前記第１のソフトウェアとは異なる第２のソフトウェアを生成する生成手段と、前記生成手段により前記拡張機能を含む前記第２のソフトウェアが生成された場合、前記第１のソフトウェアを削除する削除手段とを有することを特徴とする。
本発明の情報処理方法は、情報処理装置による情報処理方法であって、拡張機能をプラグインする対象となる第１のソフトウェアの種類を判定する判定ステップと、前記判定ステップによる判定結果に応じて、前記拡張機能を含む、前記第１のソフトウェアとは異なる第２のソフトウェアを生成する生成ステップと、前記生成ステップにより前記拡張機能を含む前記第２のソフトウェアが生成された場合、前記第１のソフトウェアを削除する削除ステップとを含むことを特徴とする。
本発明のプログラムは、前記情報処理方法をコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【０００９】
本発明においては、第１のソフトウェアの種類の判定結果に応じて拡張機能を含む第２のソフトウェアを敢えて生成し、これにより不要となった第１のソフトウェアを削除するように構成している。従って、本発明によれば、拡張機能のプラグインにより第２のソフトウェアが生成されてしまうような第１のソフトウェアがプラグイン対象となった場合、プラグイン後、不要な第１のソフトウェアは残らず、ユーザビリティ性を向上させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施形態に係るクライアント・コンピュータ１０００の構成を示す図である。本実施形態に係るクライアント・コンピュータ１０００は、プラグイン時において、不要なドライバを削除するプラグイン制御機能を備えている。
【００１２】
図１において、表示部１０１０は、ＣＲＴディスプレイ、液晶ディスプレイ等の表示デバイスである。入力部１０２０は、キーボードやマウス等のポインティング・デバイスである。記憶媒体読み取り部１０４０は、ＦＤ（フレキシブルディスク）、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ等の記録媒体に記録されたドライバ、ソフトキャリブレーション等のプログラムや画像データ等を読み取ることができる。
【００１３】
データ制御部１０６０はドライバである。ドライバは、クライアント・コンピュータ１０００上に常駐しているオペレーティング・システムと所定の印刷装置との間において、アプリケーション等で生成された印刷データをプリンタに応じて加工する。また、それとともに、ドライバは、印刷装置を制御するプログラムである。更に、データ制御部１０６０は、プラグインを制御するプラグイン制御部１０６１と情報管理ＤＢ１０６２を備え、内蔵する記憶部１０７０又は記憶媒体読み取り部１０４０で読み取られる外部記録媒体上に格納されている。
【００１４】
中央演算処理部１０８０は、コンピュータ１０００全体の動作を制御する。入出力データ制御部１０３０は、表示部１０１０及び入力部１０２０におけるデータの入出力を制御する。インタフェース制御部１０５０は、クライアント・コンピュータ１０００と他の装置とのＬＡＮ等の通信回線を介したデータの送受信を制御する。なお、上述した各構成は、システムバス１０９０によって互いに接続されている。
【００１５】
図３、図４及び図５は、プラグインの結果例として、ドライバＡに機能Ｘをプラグインした結果を示したものである。
【００１６】
図３は、プラグインの一例を示したものであり、ドライバＡに機能Ｘをプラグインした結果、ドライバＡを変更することなく、機能Ｘを有するドライバＡが生成されたことを示している。本来、プラグインはこの形態となるが、ドライバＡがInboxドライバである場合には、図４又は図５となりえる。これは、Inboxドライバは、プラグイン機能Ｘよりも早い時期に提供される。従って、Inboxドライバにおいて、機能Ｘを意識した構造にすることが難しいためである。一方、Outboxドライバに対するプラグインでは、Outboxドライバは、モノリシックドライバであり、プラグインを想定し構造にすることが容易である．従って、Outboxドライバに対するプラグインの結果は、図３となる場合が想定される。
【００１７】
図４は、プラグインの一例を示したものである。ドライバＡに機能Ｘをプラグインした結果、ドライバＡがドライバＡ´に置き換わることにより、機能Ｘを有するドライバＡ´が生成されたことを示している。これは、前述したように、ドライバＡがInboxドライバの場合には、その提供する段階では機能Ｘを意識することができないため、あたかもドライバＡに機能Ｘをプラグインしたように見せかけるためである。その結果、ドライバＡがドライバＡ´に内部的に置き換わってしまったことを意味する。
【００１８】
図５は、プラグインの一例を示したものである。ドライバＡに機能Ｘをプラグインした結果、ドライバＡとは別に、新たに機能Ｘを有するドライバＢが生成されたことを示している。これは、前述したように、ドライバＡがInboxドライバの場合には、その提供する段階では、機能Ｘを意識することができないため、あたかもドライバＡに機能Ｘをプラグインしたように見せかけるためである。その結果、ドライバＡが置き換わってしまうことではなく、ドライバＡとは別のドライバＢが機能Ｘと共に提供されてしまうことを意味する。従って、ドライバＡとドライバＢの両方がクライアント・コンピュータ１０００内に存在することになる。
【００１９】
以上のように、Inboxドライバに対するプラグインでは、図４又は図５の形態になることが想定される。
【００２０】
次に、本発明の実施形態の動作について、図２乃至図５を参照しながら説明する。図２は、本発明の実施形態に係るクライアント・コンピュータ１０００の動作を示すフローチャートである。
【００２１】
ここで、プラグインされるドライバは、ドライバＡであるものとし、更に、ドライバＡはInboxドライバとし、プラグインする機能は機能Ｘとする。また、プラグインの結果としては、図５に示す形態となるものとする。
【００２２】
まず、図１におけるクライアント・コンピュータ１０００の表示部１０１０及び入力部１０２０より、InboxドライバＡに対して、機能Ｘをプラグインする入力操作として、機能Ｘをプラグインするためのインストール指示を行う（ステップＳ１００）。
【００２３】
次に、プラグイン制御部１０６１は、当該クライアント・コンピュータ１０００において、プラグイン可能なドライバがインストールされているか否かを判定する（ステップＳ１０１）。
【００２４】
このとき、プラグイン可能なドライバか否かは、次のような方法により判定する。
・クライアント・コンピュータ１０００にインストールされているドライバを無条件に全てプラグイン可能なドライバと看做す。
・データ制御部１０６０内の情報管理ＤＢ１０６２に予めプラグイン可能なドライバの一覧を登録し、その登録情報を取得する。
・クライアント・コンピュータ１０００のレジストリ等のプリンタドライバが記憶されている情報源にアクセスし、該当するドライバ情報を取得する。このとき、ＯＳが提供するＡＰＩにより、この情報を取得できる場合があることは言うまでもない。
【００２５】
以上のような方法により、プラグイン制御部１０６１がプラグイン可能なドライバが存在すると判定された場合、処理はステップＳ１０２に移行し、一方、プラグイン可能なドライバが存在しないと判定された場合、処理は終了する。
【００２６】
ここでは、上述の２番目の方法によりプラグイン可能なドライバが存在すると判定されたものとする。入出力データ制御部１０３０は、取得されたドライバ一覧を表示部１０１０に表示させる（ステップＳ１０２）。
【００２７】
続いて、ユーザは、入力部１０２０を用いて、一覧表示されたプラグイン対象ドライバ一覧からプラグインするドライバを選択する（ステップＳ１０３）。ここでは、InboxドライバであるドライバＡが選択される。
【００２８】
次に、プラグイン制御部１０６１は、選択したドライバＡの属性として、このドライバ ＡがInboxドライバであるか、Outboxドライバであるかの情報を取得する（ステップＳ１０４）。ここで、Inboxドライバであるか、Outboxドライバであるかの判断方法は、Inboxドライバ、そのモジュール構成及びドライバ名称が明らかであるので、この情報をダイナミックに利用することによって可能である。又は、データ制御部１０６０内の情報管理ＤＢ１０６２に予めその機能Ｘに対するInboxドライバ候補を登録しておき、その情報を取得することによっても可能である。
【００２９】
続いて、プラグイン制御部１０６１は、先に取得したドライバ属性により、そのドライバがInboxドライバなのか、Outboxドライバなのかを判定する（ステップＳ１０５）。
【００３０】
このプラグイン可能ドライバ属性判定処理ステップ（ステップＳ１０５）において、Inboxドライバであると判定された場合、プラグイン制御部１０６１は、図５に示すような、機能Ｘを伴った新たなドライバＢを生成する（ステップＳ１０６）。
【００３１】
続いて、プラグイン制御部１０６１においては、前記機能Ｘを伴った新たなドライバＢが生成されたことにより、選択されたドライバＡは不要になったと判断し、ドライバ Ａをクライアント・コンピュータ１０００から削除する（ステップＳ１０７）。このとき、削除するか否かの判定を促すダイアログ等の情報を表示部１０１０に表示し、入力部１０２０を用いた操作により、その選択を促すことも可能である。
【００３２】
一方、先のプラグイン可能ドライバ属性判定処理ステップ（ステップＳ１０５）において、Outboxドライバであると判定された場合、プラグイン制御部１０６１は、プラグイン機能Ｘを選択したドライバＡに追加する（ステップＳ１０８）。すなわち、ここでは、図３又は図４に該当する形態となる。
【００３３】
他方、先のステップＳ１０１において、クライアント・コンピュータ１０００にプラグイン可能なドライバがインストールされていないと判定されたとき、又は、上記ステップＳ１０７又はステップＳ１０８の後に、図２に示す処理は終了となる。
【００３４】
なお、本発明の他の実施形態として、図１に示すようにクライアント・コンピュータ１０００に全ての構成を備える他に、クライアント／サーバ・システムにも適用することができる。すなわち、プラグイン制御部１０６１及び情報管理ＤＢ１０６２とをクライアント・コンピュータとサーバとの何れかに配置することも可能である。これにより、クライアント・コンピュータからサーバ、サーバからクライアント・コンピュータに存在するドライバに対してプラグインの際の上述した制御を実現することが可能となる。
【００３５】
以上のように、上述した実施形態においては、ドライバＡの種類の判定結果に応じて拡張機能を含むドライバＢを敢えて生成し、これにより不要となったドライバＡを削除するように構成している。従って、本発明の実施形態によれば、拡張機能のプラグインによりドライバＢが生成されてしまうようなドライバＡがプラグイン対象となった場合、プラグイン後、不要なドライバＡは残らず、ユーザビリティ性を向上させることができる。
【００３６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム等のコンピュータが記憶媒体からプログラムコードを読み出し実行することによっても達成される。
【００３７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００３９】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００４０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに接続された機能拡張ユニット等に備わるメモリに書込まれた後、そのプログラムコードの指示に基づきＣＰＵ等が実際の処理を行い、前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態に係るクライアント・コンピュータの構成を示す図である。
【図２】本発明の実施形態に係るクライアント・コンピュータの動作を示すフローチャートである。
【図３】プラグインの結果の一例として、ドライバＡに機能Ｘをプラグインした結果を示した図である。
【図４】プラグインの結果の一例として、ドライバＡに機能Ｘをプラグインした結果を示した図である。
【図５】プラグインの結果の一例として、ドライバＡに機能Ｘをプラグインした結果を示した図である。
【符号の説明】
【００４２】
１０００  クライアント・コンピュータ
１０１０  表示部
１０２０  入力部
１０３０  入出力データ制御部
１０４０  記憶媒体読み取り部
１０５０  インタフェース制御部
１０６０  データ制御部
１０６１  プラグイン制御部
１０６２  情報管理ＤＢ
１０７０  記憶部
１０８０  中央演算処理部
１０９０  システムバス
【図１】
2007156913.tif 000003
【図２】
2007156913.tif 000004
【図３】
2007156913.tif 000005
【図４】
2007156913.tif 000006
【図５】
2007156913.tif 000007