(57)【要約】【課題】サーバ装置から、クライアント装置にインストールされているアプリケーションを容易に削除することができ、ひいてはシステム管理者またはユーザに掛かる手間を軽減することができるリモートアンインストールシステムを提供する。【解決手段】サーバコンピュータ２０１からクライアントＰＣ２０６に対してアプリケーションの使用頻度を要求するコマンド１０３が発行される。サーバコンピュータ２０１がクライアントＰＣ２０６からレスポンス１０４によりアプリケーションの使用頻度「低」が通知されると、クライアントＰＣ２０６に対して、使用頻度が「低」のアプリケーションのアンインストールを要求するコマンド１０８が発行され、クライアントＰＣ２０６においては、コマンド１０８で要求されたアプリケーションのアンインストールが実行される。【選択図】      図２
2005044000.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置とネットワークを介して接続されるサーバ装置から、前記クライアント装置にインストールされているプログラムをアンインストールするためのリモートアンインストールシステムであって、
前記サーバ装置は、
前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求手段と、
前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出手段と、
前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求手段と
を備え、
前記クライアント装置は、
前記インストールされている複数のプログラム毎にその使用状況を監視する監視手段と、
前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知手段と、
前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムの全てのアンインストールを行うアンインストール手段と
を備えることを特徴とするアンインストールシステム。
【請求項２】
クライアント装置とネットワークを介して接続されるサーバ装置であって、
前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求手段と、
前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出手段と、
前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求手段と
を備えることを特徴とするサーバ装置。
【請求項３】
前記クライアント装置から通知される前記複数のプログラムの使用状況は、前記複数のプログラム毎の使用時間に基づいて算出された使用頻度であり、前記検出手段は、前記複数のプログラムのうち、使用頻度が所定頻度以下のプログラムを、アンインストールするプログラムとして検出することを特徴とする請求項２記載のサーバ装置。
【請求項４】
前記クライアント装置から通知される前記複数のプログラムの使用状況は、前記複数のプログラム毎の使用回数に基づいて算出された使用頻度であり、前記検出手段は、前記複数のプログラムのうち、使用頻度が所定頻度以下のプログラムを、アンインストールするプログラムとして検出することを特徴とする請求項２記載のサーバ装置。
【請求項５】
前記クライアント装置から通知された前記複数のプログラムの使用状況を予め設定された文書作成、表計算、プリンタドライバを含むプログラムの属性毎に分類し、管理者が指定した属性を持つプログラムの使用頻度を比較し、使用頻度が所定頻度以下のプログラムを、アンインストールするプログラムとして検出することを特徴とする請求項２ないし４のいずれか１つに記載のサーバ装置。
【請求項６】
サーバ装置とネットワークを介して接続され、複数のプログラムがインストールされているクライアント装置であって、
前記インストールされている複数のプログラム毎にその使用状況を監視する監視手段と、
前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知手段と、
前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストール手段と
を備えることを特徴とするクライアント装置。
【請求項７】
前記監視手段は、前記複数のプログラム毎にその使用時間を監視し、前記複数のプログラム毎にその使用時間に応じた使用頻度を使用状況とすることを特徴とする請求項６記載のクライアント装置。
【請求項８】
前記監視手段は、前記複数のプログラム毎にその使用回数を監視し、前記複数のプログラム毎にその使用回数に応じた使用頻度を使用状況とすることを特徴とする請求項６記載のサーバ装置。
【請求項９】
前記アンインストールが要求されたプログラムのアンインストールが完了したことを前記サーバ装置に通知するアンインストール完了通知手段を備えることを特徴とする請求項６記載のクライアント装置。
【請求項１０】
クライアント装置とネットワークを介して接続されるサーバ装置から、前記クライアント装置にインストールされているアプリケーションをアンインストールするためのリモートアンインストール方法であって、
前記サーバ装置は
前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求工程と、
前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出工程と、
前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求工程と
を有し、
前記クライアント装置は、
前記インストールされている複数のプログラム毎にその使用状況を監視する監視工程と、
前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知工程と、
前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストール工程と
を有することを特徴とするリモートアンインストール方法。
【請求項１１】
前記クライアント装置の監視工程では、前記複数のプログラム毎にその使用時間を監視し、前記複数のプログラム毎にその使用時間に応じた使用頻度を使用状況とし、前記サーバ装置の前記検出工程では、前記複数のプログラムのうち、使用頻度が所定頻度以下のプログラムを、アンインストールするプログラムとして検出することを特徴とする請求項１０記載のリモートアンインストール方法。
【請求項１２】
前記クライアント装置の監視工程では、前記複数のプログラム毎にその使用回数を監視し、前記複数のプログラム毎にその使用回数に応じた使用頻度を使用状況とし、前記サーバ装置の前記検出工程では、前記複数のプログラムのうち、使用頻度が所定頻度以下のプログラムを、アンインストールするプログラムとして検出することを特徴とする請求項１０記載のリモートアンインストール方法。
【請求項１３】
前記クライアント装置は、前記アンインストールが要求されたプログラムのアンインストールが完了したことを前記サーバ装置に通知するアンインストール完了通知工程を有することを特徴とする請求項１０記載のリモートアンインストール方法。
【請求項１４】
クライアント装置とネットワークを介して接続されるサーバ装置上で実行されるプログラムであって、
前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求モジュールと、
前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出モジュールと、
前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求モジュールと
を備えることを特徴とするプログラム。
【請求項１５】
サーバ装置とネットワークを介して接続され、複数のプログラムがインストールされているクライアント装置上で実行されるプログラムであって、
前記インストールされている複数のプログラム毎にその使用状況を監視する監視モジュールと、
前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知モジュールと、
前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストールモジュールと
を備えることを特徴とするプログラム。
【請求項１６】
サーバ装置からネットワークを介してクライアント装置にプリンタドライバをインストールするためのリモートインストールシステムであって、
前記サーバ装置は、
複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段と、
前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求手段と、
前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記記憶手段に記憶されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出手段と、
前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択手段と、
前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理手段と
を備え、
前記クライアント装置は、
前記サーバ装置からの前記プリンタ能力通知要求に応答して前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力を前記サーバ装置に通知するプリンタ能力通知手段
を備えることを特徴とするリモートインストールシステム。
【請求項１７】
クライアント装置とネットワークを介して接続されるサーバ装置であって、
複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段と、
前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求手段と、
前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記記憶手段に記憶されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出手段と、
前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択手段と、
前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理手段と
を備えることを特徴とするサーバ装置。
【請求項１８】
前記ネットワークには、前記サーバ装置の管理下にあり、かつ少なくとも１つ以上のクライアント装置を含むクライアント装置群が収容され、
前記サーバ装置は、前記クライアント装置郡内にあるクライアント装置を探索する探索手段と、前記探索されたクライアント装置の中から、前記管理者により指定されクライアント装置を、前記選択されたプリンタに対応するプリンタドライバデータのインストール先となるクライアント装置として選択するインストール先選択手段とを備えることを特徴とする請求項１７記載のサーバ装置。
【請求項１９】
前記サーバ装置は、前記検出されたプリンタの全ておよび前記探索されたクライアント装置の全てを操作画面上に一覧表示する表示手段を備え、前記操作画面は、前記管理者によるプリンタの指定および前記クライアント装置の指定に用いられることを特徴とする請求項１８記載のサーバ装置。
【請求項２０】
複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段を有するサーバ装置からネットワークを介してクライアント装置にプリンタドライバをインストールするためのリモートインストール方法であって、
前記サーバ装置は、
前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求工程と、
前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記保持手段に保持されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出工程と、
前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択工程と、
前記選択されたプリンタに対応するプリンタドライバデータを前記憶手段から読み出し、該読み出されたドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理工程と
を有し、
前記クライアント装置は、
前記サーバ装置からの前記プリンタ能力通知要求に応答して前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力を前記サーバ装置に通知するプリンタ能力通知工程
を有することを特徴とするリモートインストール方法。
【請求項２１】
前記ネットワークには、前記サーバ装置の管理下にあり、かつ少なくとも１つ以上のクライアント装置を含むクライアント装置群が収容され、
前記サーバ装置は、前記クライアント装置郡内にあるクライアント装置を探索する探索工程と、前記探索されたクライアント装置の中から、前記管理者により指定されクライアント装置を、前記選択されたプリンタに対応するプリンタドライバのインストール先となるクライアント装置として選択するインストール先選択工程とを有することを特徴とする請求項２０記載のリモートインストール方法。
【請求項２２】
前記サーバ装置は、前記検出されたプリンタの全ておよび前記探索されたクライアント装置の全てを操作画面上に一覧表示する表示工程を有し、前記操作画面は、前記管理者によるプリンタの指定および前記クライアント装置の指定に用いられることを特徴とする請求項２０記載のリモートインストール方法。
【請求項２３】
前記クライアント装置は、前記プリンタドライバデータのインストールが完了したことを前記サーバ装置に通知するインストール完了通知工程を有することを特徴とする請求項２０記載のリモートインストール方法。
【請求項２４】
クライアント装置とネットワークを介して接続され、複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段を有するサーバ装置上で実行されるプログラムであって、
前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求モジュールと、
前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記記憶手段に記憶されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出モジュールと、
前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択モジュールと、
前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理モジュールとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーバ装置からネットワークを介してクライアント装置にインストールされているプログラムをアンインストールするためのリモートアンインストール、およびサーバ装置からネットワークを介してクライアント装置にプリンタドライバをインストールするためのリモートインストールに関する。
【０００２】
【従来の技術】
現在、ネットワークを介して複数のコンピュータが互いに通信可能に接続され、各種機能を提供するネットワークシステムが広く実用化されている。このようなネットワークシステムの多くにおいては、サーバ／クライアント方式によって管理者がサーバコンピュータを介して各クライアントコンピュータ（以下、クライアントＰＣという）を管理するという方法が採用されている。
【０００３】
サーバ／クライアント方式で管理されたネットワークシステムでは、クライアントＰＣにアプリケーションをインストールする場合、一般的にリモートインストールと呼ばれる方式が用いられる（例えば特許文献１を参照）。これは、サーバコンピュータがネットワークを介してインストール情報をクライアントＰＣに送り、クライアントＰＣ上でインストーラを起動するというものである。
【０００４】
これにより、管理者は、クライアントＰＣ毎にインストーラを起動し、必要なアプリケーションをインストールするといった煩雑な作業に煩わされることなく、管理下のクライアントＰＣへのアプリケーションのインストールを実現することができる。
【０００５】
上記リモートインストール方式によりインストールされたアプリケーションを削除する場合は、従来通り、管理者が各クライアントＰＣ上でアンインストーラを起動し、アプリケーションを削除するという方式が採られている。その結果、各クライアントＰＣが保持するアプリケーションを削除する場合は、アプリケーションをインストールする場合に比して非常に手間が掛かる。
【０００６】
また、サーバコンピュータからクライアントＰＣのアプリケーションを削除する方式として、クライアントＰＣからサーバコンピュータに対してアンインストール対象のプログラムを指定すると、サーバがクライアントＰＣで指定されたアンインストール対象のプログラムの削除要求コマンドをクライアントＰＣに送信し、クライアントＰＣが上記削除要求コマンドに基づいて指定されたプログラムをアンインストールするものがある（例えば特許文献２を参照）。
【０００７】
【特許文献１】
特開２００３−１４０８５２号公報
【特許文献２】
特開２００３−５８７６４号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、サーバコンピュータからクライアントＰＣのアプリケーションを削除する方式では、クライアントＰＣのアプリケーションを削除する際には、その都度クライアントＰＣからサーバコンピュータに対してアンインストール対象のプログラムを指定する必要があり、面倒である。
【０００９】
また、従来のリモートインストール方式を用いてクライアントＰＣ上のプリンタドライバをインストールする場合、インストールするプリンタドライバに対応するプリンタの能力を考慮せずに、このプリンタドライバをインストールすることができる。例えば、クライアントＰＣに、処理速度が速いプリンタに対応するプリンタドライバが既にインストールされている場合でも、処理速度が遅いプリンタに対応するプリンタドライバをインストールすることが可能である。すなわち、適正でないプリンタドライバがインストールされることを未然に防止することはできない。
【００１０】
本発明の第１の目的は、増えつづけるクライアントに搭載されるプログラムの構成又は再構成を容易にし、システムを管理する管理者の負荷を大幅に軽減することにある。
【００１１】
本発明の別の第２の目的は、サーバ装置からクライアント装置にインストールされているプログラムを容易に削除することができ、ひいてはシステム管理者またはユーザに掛かる手間を軽減することができるリモートアンインストールシステム、サーバ装置、クライアント装置、リモートアンインストール方法およびプログラムを提供することにある。
【００１２】
本発明のさらに別の第３の目的は、サーバ装置からクライアント装置にプリンタドライバをインストールする際に、クライアント装置に適正でないプリンタドライバがインストールされることを未然に防止することができ、ひいてはシステム管理者またはユーザに掛かる手間を軽減することができるリモートインストールシステム、サーバ装置、リモートインストール方法およびプログラムを提供することにある。
【００１３】
【課題を解決するための手段】
本発明は、上記第１または第２の目的を達成するため、クライアント装置とネットワークを介して接続されるサーバ装置から、前記クライアント装置にインストールされているプログラムをアンインストールするためのリモートアンインストールシステムであって、前記サーバ装置は、前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求手段と、前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出手段と、前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求手段とを備え、前記クライアント装置は、前記インストールされている複数のプログラム毎にその使用状況を監視する監視手段と、前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知手段と、前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムの全てのアンインストールを行うアンインストール手段とを備えることを特徴とする。
【００１４】
本発明は、上記第１または第２の目的を達成するため、クライアント装置とネットワークを介して接続されるサーバ装置であって、前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求手段と、前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出手段と、前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求手段とを備えることを特徴とする。
【００１５】
本発明は、上記第１または第２の目的を達成するため、サーバ装置とネットワークを介して接続され、複数のプログラムがインストールされているクライアント装置であって、前記インストールされている複数のプログラム毎にその使用状況を監視する監視手段と、前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知手段と、前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストール手段とを備えることを特徴とする。
【００１６】
本発明は、上記第１または第２の目的を達成するため、クライアント装置とネットワークを介して接続されるサーバ装置から、前記クライアント装置にインストールされているアプリケーションをアンインストールするためのリモートアンインストール方法であって、前記サーバ装置は、前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求工程と、
前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出工程と、前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求工程とを有し、前記クライアント装置は、前記インストールされている複数のプログラム毎にその使用状況を監視する監視工程と、前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知工程と、前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストール工程とを有することを特徴とする。
【００１７】
本発明は、上記第１または第２の目的を達成するため、クライアント装置とネットワークを介して接続されるサーバ装置上で実行されるプログラムであって、前記クライアント装置にインストールされている複数のプログラムの使用状況の通知を要求するための使用状況通知要求を前記クライアント装置に対して発行する使用状況通知要求モジュールと、前記使用状況通知要求に応答して前記クライアント装置から通知された使用状況に基づいて前記クライアント装置にインストールされている複数のプログラムのうち、アンインストールするプログラムを検出する検出モジュールと、前記アンインストールするプログラムとして検出されたプログラムの全てを前記クライアント装置からアンインストールするためのアンインストール要求を前記クライアント装置に対して発行するアンインストール要求モジュールとを備えることを特徴とする。
【００１８】
本発明は、上記第１または第２の目的を達成するため、サーバ装置とネットワークを介して接続され、複数のプログラムがインストールされているクライアント装置上で実行されるプログラムであって、前記インストールされている複数のプログラム毎にその使用状況を監視する監視モジュールと、前記サーバ装置からの使用状況通知要求に応答して前記複数のプログラム毎の使用状況を前記サーバ装置に通知する使用状況通知モジュールと、前記サーバ装置からのアンインストール要求によりアンインストールが要求されたプログラムのアンインストールを行うアンインストールモジュールとを備えることを特徴とする。
【００１９】
本発明は、上記第１または第３の目的を達成するため、サーバ装置からネットワークを介してクライアント装置にプリンタドライバをインストールするためのリモートインストールシステムであって、前記サーバ装置は、複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを保持する保持手段と、前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求手段と、前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記保持手段に保持されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出手段と、前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択手段と、前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理手段とを備え、前記クライアント装置は、前記サーバ装置からの前記プリンタ能力通知要求に応答して前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力を前記サーバ装置に通知するプリンタ能力通知手段を備えることを特徴とする。
【００２０】
本発明は、上記第第１または第３の目的を達成するため、クライアント装置とネットワークを介して接続されるサーバ装置であって、複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段と、前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求手段と、前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記記憶手段に記憶されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出手段と、前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択手段と、前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理手段とを備えることを特徴とする。
【００２１】
本発明は、上記第１または第３の目的を達成するため、複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段を有するサーバ装置からネットワークを介してクライアント装置にプリンタドライバをインストールするためのリモートインストール方法であって、前記サーバ装置は、前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求工程と、前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記保持手段に保持されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出工程と、前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択工程と、前記選択されたプリンタに対応するプリンタドライバデータを前記憶手段から読み出し、該読み出されたドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理工程とを有し、前記クライアント装置は、前記サーバ装置からの前記プリンタ能力通知要求に応答して前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力を前記サーバ装置に通知するプリンタ能力通知工程を有することを特徴とする。
【００２２】
本発明は、上記第第１または第３の目的を達成するため、クライアント装置とネットワークを介して接続され、複数のプリンタ毎にその能力とそれぞれに対応するプリンタドライバデータとを記憶する記憶手段を有するサーバ装置上で実行されるプログラムであって、前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力の通知を前記クライアント装置に対して要求するためのプリンタ能力通知要求を発行するプリンタ能力通知要求モジュールと、前記プリンタ能力通知要求に応答して前記クライアント装置から通知されたプリンタの能力と前記記憶手段に記憶されている複数のプリンタの能力とを比較し、該比較結果に基づいて前記クライアント装置にインストールされているプリンタドライバが対応するプリンタの能力と同等以上の能力を有するプリンタを検出する検出モジュールと、前記検出されたプリンタの中から、管理者により指定されたプリンタを選択するプリンタ選択モジュールと、前記選択されたプリンタに対応するプリンタドライバデータを前記記憶手段から読み出し、該読み出されたプリンタドライバデータを前記クライアント装置にインストールするためのインストール処理を行うインストール処理モジュールとを備えることを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００２４】
（第１実施の形態）
図１は本発明の第１実施の形態に係るリモートアンインストールシステムが構築されているネットワークシステムの構成を示すブロック図である。
【００２５】
本実施の形態のネットワークシステムにおいては、図１に示すように、サーバコンピュータ２０１、複数のクライアントＰＣ２０４，２０６，２０８およびプリンタなどの複数のデバイス（図示せず）がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）２００を介して接続されている。サーバコンピュータ２０１には、ＬＡＮ２００上の各クライアントＰＣ２０４，２０６，２０８および各デバイス（図示せず）を管理するためのサーバプログラム２０２がインストールされているとともに、データベース２０３が接続されている。また、クライアントＰＣ２０４には、クライアントプログラムＡ２０５が、クライアントＰＣ２０６には、クライアントプログラムＢ２０７が、クライアントＰＣ２０８には、クライアントプログラムＣ２０９がそれぞれインストールされている。
【００２６】
サーバコンピュータ２０１のサーバプログラム２０２には、各クライアント２０４，２０６，２０８に対してプログラムの一例であるアプリケーションをインストールするためのリモートインストールモジュールと、各クライアント２０４，２０６，２０８にインストールされているアプリケーションをアンインストールするためのリモートアンインストールモジュールとが含まれる。データベース２０３には、サーバコンピュータ２０１の管理下にあるクライアントＰＣのネットワークアドレスや、アプリケーションの使用頻度などが記憶される。
【００２７】
各クライアントＰＣ２０４，２０６，２０８のクライアントプログラム２０５，２０７，２０９は、サーバコンピュータ２０１（サーバプログラム２０２）にアプリケーションの使用頻度を通知し、また指定されたアプリケーションのアンインストールを行うためのモジュールを含む。
【００２８】
次に、本実施の形態においては、サーバコンピュータ２０１（サーバプログラム２０２）から、サーバコンピュータ２０１の管理下にある複数のクライアントＰＣ２０４，２０６，２０８（クライアントプログラム２０５，２０７，２０９）にインストールされているアプリケーションをアンインストールするいわゆるリモートアンインストールが可能である。このリモートアンインストールについて図２を参照しながら説明する。図２は図１のサーバコンピュータ２０１（サーバプログラム２０２）と、サーバコンピュータ２０１の管理下にある複数のクライアントＰＣ２０４，２０６，２０８（クライアントプログラム２０５，２０７，２０９）間の通信手順を示すシーケンス図である。
【００２９】
ここでは、既に、サーバコンピュータ２０１により、後述するクライアントＰＣの探索手順を経て、ＬＡＮ２００上の各クライアントＰＣ２０４，２０６，２０８が検出されているものとする。また、サーバコンピュータ２０１とクライアントＰＣ２０４，２０６，２０８間の通信プロトコルとしては、特段のプロトコルを用いる必要はなく、周知のプロトコルが用いられる。
【００３０】
サーバコンピュータ２０１（サーバプログラム２０２）は、図２に示すように、データベース２０３に記憶されているネットワークアドレスに基づいてクライアントＰＣ２０４，２０６，２０８のそれぞれに対して、各クライアントＰＣ２０４，２０６，２０８上のアプリケーションの使用頻度を要求するコマンド１０１，１０３，１０５を発行する。
【００３１】
コマンド１０１を受けたクライアントＰＣ２０４（クライアントプログラムＡ２０５）は、コマンド１０１に対するレスポンス１０２により、既存の全てのアプリケーションの使用頻度をサーバコンピュータ２０１に通知する。ここでは、説明を簡単化するために、クライアントＰＣ２０４にインストールされているアプリケーションの数を１つとし、そのアプリケーションは頻繁に使用されているものとする。この場合、アプリケーションの使用頻度は「高」となり、その使用頻度がサーバコンピュータ２０１に通知されることになる。
【００３２】
同様に、コマンド１０３を受けたクライアントＰＣ２０６（クライアントプログラムＢ２０７）は、コマンド１０３に対するレスポンス１０４により、既存の全てのアプリケーションの使用頻度をサーバコンピュータ２０１に通知する。ここでは、同様に、クライアントＰＣ２０６にインストールされているアプリケーションの数を１つとし、そのアプリケーションはほとんどに使用されていないものとする。この場合、アプリケーションの使用頻度は「低」となり、その使用頻度がサーバコンピュータ２０１に通知されることになる。
【００３３】
同様に、コマンド１０５を受けたクライアントＰＣ２０８（クライアントプログラムＣ２０９）は、コマンド１０５に対するレスポンス１０６により、既存の全てのアプリケーションの使用頻度をサーバコンピュータ２０１に通知する。ここでは、同様に、クライアントＰＣ２０８にインストールされているアプリケーションの数を１つとし、そのアプリケーションの使用頻度は「中」とする。この場合、アプリケーションの使用頻度は「中」としてサーバコンピュータ２０１に通知されることになる。
【００３４】
各クライアントＰＣ２０４，２０６，２０８からアプリケーションの使用頻度の通知を受けたサーバコンピュータ２０１は、各クライアントＰＣ２０４，２０６，２０８のそれぞれのアプリケーションの使用頻度を一旦データベース２０３に格納する。その後、サーバコンピュータ２０１は、検出処理１０７により、各クライアントＰＣ２０４，２０６，２０８におけるアプリケーションの使用頻度をデータベース２０３から読み出し、使用頻度が「低」であるアプリケーションおよびそのインストールされているクライアントＰＣを検出する。ここでは、使用頻度が「低」であるアプリケーションを有するクライアントＰＣとして、クライアントＰＣ２０６が検出されることになる。
【００３５】
次いで、サーバコンピュータ２０１は、クライアントＰＣ２０６に対して、使用頻度が「低」であるアプリケーションのアンインストールを要求するコマンド１０８を発行する。このコマンド１０８を受けたクライアントＰＣ２０６は、アンインストール処理１０９により、コマンド１０８で要求されたアプリケーション（使用頻度が低いアプリケーション）のアンインストールを実行する。そして、クライアントＰＣ２０６は、アプリケーションのアンインストールが完了すると、アンインストールの完了を通知するためのレスポンス１１０をサーバコンピュータ２０１に返す。
【００３６】
ここで、上記アプリケーションの使用頻度は、例えば使用回数、使用時間などに基づいて「高」、「中」、「低」の３段階に分けられたものである。なお、アプリケーションの使用頻度をさらに細かく分類してもよいし、また、数値で表すようにしてもよい。使用頻度を数値で表す場合、所定の閾値を設定し、使用頻度の値が所定の閾値より小さいアプリケーションをアンインストール対象と見なすようにしてもよい。
【００３７】
また、クライアントＰＣから通知された複数のアプリケーションの使用状況を予め設定された文書作成、表計算、プリンタドライバを含むプログラムの属性毎に分類し、管理者が指定した属性を持つプログラムの使用頻度を比較し、使用頻度が所定頻度以下のアプリケーションを、アンインストールするプログラムとして検出するようにしてもよい。
【００３８】
以上の手順により、サーバコンピュータ２０１から、クライアントＰＣ２０４，２０６，２０８にインストールされているアプリケーションのうち、使用頻度が低いアプリケーションのアンインストールを効率よくかつ容易に行うことが可能となる。
【００３９】
次に、上記リモートアンインストールにおいて、サーバコンピュータ２０１が各クライアントＰＣの情報を取得し、それをデータベース２０３に格納するまでの処理について図３を参照しながら説明する。図３は図１のサーバコンピュータ２０１が各クライアントＰＣの情報を取得し、それをデータベース２０３に格納するまでの処理の手順を示すフローチャートである。この図３に示す手順は、サーバプログラム２０２により実行されるものである。
【００４０】
サーバコンピュータ２０１においては、図３に示すように、まずステップＳ３０１で、検出したクライアントＰＣの数をカウントするための変数ｉの値が０に初期化され、続くステップＳ３０２で、管理下のクライアントＰＣを検出するために、ブロードキャストパケットが送信される。
【００４１】
次いで、ステップＳ３０３において、上記ステップＳ３０２で送信されたブロードキャストパケットに対するレスポンスが受信されたか否かの判定が行われる。ここで、上記レスポンスが受信された場合は、ステップＳ３０４において、上記受信されたレスポンスが管理下のクライアントＰＣからのものであるか否かの判定が行われ、該レスポンスが管理下のクライアントＰＣからのものである場合、ステップＳ３０５において、上記レスポンスの発行元のクライアントＰＣに対して、アプリケーションの使用頻度などを含む情報の通知が要求される。
【００４２】
次いで、ステップＳ３０６において、上記ステップＳ３０５で通知を要求したクライアントＰＣからの上記要求した情報を含むレスポンスを受信するのが待たれ、レスポンスが受信されると、ステップＳ３０７に進む。ステップＳ３０７においては、上記ステップＳ３０６で受信されたレスポンスに含まれるアプリケーションの使用頻度を含む情報がデータベース２０３に保存される。そして、ステップＳ３０８において、変数ｉの値が１インクリメントされ、処理が上記ステップＳ３０３に戻る。
【００４３】
また、上記ステップＳ３０４において受信されたレスポンスが管理下のクライアントＰＣからのものでないと判定された場合、処理は上記ステップＳ３０３に戻る。
【００４４】
上記ステップＳ３０３において上記ステップＳ３０２で送信されたブロードキャストパケットに対するレスポンスが受信されなかったと判定された場合、ステップＳ３０９において、上記変数ｉの値（検出したクライアントＰＣの数を示す）がデータベース２０３に保存され、本処理は終了する。
【００４５】
次に、サーバコンピュータ２０１がクライアントＰＣに対してアプリケーションのアンインストール要求を出す場合の動作について図４を参照しながら説明する。図４は図１のサーバコンピュータ２０１がクライアントＰＣに対してアプリケーションのアンインストール要求を出す場合の動作の手順を示すフローチャートである。この図４に示す手順は、サーバプログラム２０２により実行されるものである。
【００４６】
図４に示すように、まず、ステップＳ４０１において、データベース２０３に格納されたクライアントＰＣの情報の数をカウントするための変数ｊが初期化され、続くステップＳ４０２で、図３のステップＳ３０７でデータベース２０３に格納されたｊ番目のクライアントＰＣの情報が取得される。そして、ステップＳ４０３において、変数ｊとデータベース２０３に格納されているクライアントＰＣの情報の数ｉが比較され、変数ｊがｉ未満の場合、処理はステップＳ４０４に進む。
【００４７】
ステップＳ４０４においては、ｊ番目のクライアントＰＣの情報から使用頻度が低いアプリケーションの抽出が行われる。そして、ステップＳ４０５において、上記ステップＳ４０４の抽出結果に基づいて使用頻度が低いアプリケーションがあるか否かの判定が行われる。ここで、使用頻度が低いアプリケーションがある場合、ステップＳ４０６において、抽出された使用頻度が低いアプリケーションの全てをアンインストールすることが対応するクライアントＰＣに対して要求される。
【００４８】
次いで、ステップＳ４０７において、上記ステップＳ４０６でアプリケーションのアンインストールが要求されたクライアントＰＣでの使用頻度が低いアプリケーションのアンインストール完了の通知が待たれ、このアンインストール完了通知が受信されると、ステップＳ４０８において、変数ｊの値が１インクリメントされ、処理はステップＳ４０２に戻る。
【００４９】
上記ステップＳ４０５で使用頻度が低いアプリケーションがないと判定された場合、上記ステップＳ４０６および４０７がスキップされ、ステップＳ４０８において、変数ｊの値が１インクリメントされ、その後、処理はステップＳ４０２に戻る。
【００５０】
上記ステップＳ４０３において変数ｊがｉ以上であると判定された場合、本処理は終了する。
【００５１】
次に、クライアントＰＣ２０４，２０６，２０８がサーバコンピュータ２０１からのアプリケーションのアンインストール要求を受けて、アプリケーションを削除する場合の動作について図５を参照しながら説明する。図５は図１のクライアントＰＣ２０４，２０６，２０８がサーバコンピュータ２０１からのアプリケーションのアンインストール要求を受けて、アプリケーションを削除する場合の動作の手順を示すフローチャートである。図５に示す手順は、クライアントＰＣ２０４，２０６，２０８のクライアントプログラム２０５，２０７，２０９により実行されるものである。
【００５２】
クライアントＰＣ２０４，２０６，２０８においては、図５に示すように、まずステップＳ５０１で、サーバコンピュータ２０１からのコマンドの受信待ちが行われ、サーバコンピュータ２０１からのコマンドが受信されると、ステップＳ５０２において、受信されたコマンドの解析が行われる。そして、ステップＳ５０３において、上記ステップＳ５０２の解析結果に基づいて、受信されたコマンドがアンインストール要求であるか否かの判定が行われる。ここで、上記コマンドがアンインストール要求である場合、ステップＳ５０４に進む。
【００５３】
ステップＳ５０４においては、受信されたコマンドすなわちアンインストール要求により指定されたアプリケーションのアンインストールが行われる。ここで、上記アンインストール要求によりアンインストール対象として複数のアプリケーションが指定されている場合、指定された複数のアプリケーションが任意の順番でアンインストールされる。そして、ステップＳ５０５において、上記アプリケーションのアンインストールの完了が待たれ、このアプリケーションのインストールが完了すると、ステップＳ５０６において、指定されたアプリケーションのアンインストールの完了がサーバコンピュータ２０１に通知され、本処理は終了する。
【００５４】
上記ステップＳ５０３で受信されたコマンドがアンインストール要求でないと判定された場合、ステップＳ５０７において、受信されたコマンドで指定された処理が実行され、本処理は終了する。
【００５５】
ここで、上記処理においては、上記ステップＳ５０４でアンインストールが正常に終了しなかった場合を想定していないが、このような場合は、アンインストール失敗を示す通知をサーバコンピュータ２０１に送り、アンインストール失敗を管理者に通知するようにすればよい。その際、アンインストールに失敗したアプリケーション名も合わせて通知するようにしてもよい。
【００５６】
次に、サーバコンピュータ２０１にサーバプログラム２０２を、クライアントＰＣ２０４，２０６，２０８にクライアントプログラム２０５，２０７，２０９をそれぞれインストールするために提供されるＣＤ−ＲＯＭについて図６を参照しながら説明する。図６は図１のサーバプログラム２０２またはクライアントプログラム２０５，２０７，２０９を提供するためのＣＤ−ＲＯＭのメモリマップを示す図である。
【００５７】
このようなＣＤ−ＲＯＭは、図６に示すように、ディレクトリ情報が記憶されている領域９９９と、インストールプログラムが記憶されている領域９９８と、サーバプログラム２０２が記憶されている領域９９７と、クライアントプログラム２０５，２０７，２０９が記憶されている領域９９６とを有し、領域９９９に記憶されているディレクトリ情報は、各領域の位置を示す。
【００５８】
サーバプログラム２０２をインストールする際には、まず領域９９８に記憶されているインストールプログラムがシステムにロードされ、サーバコンピュータ２０１上で実行される。次に、インストールプログラムが、領域９９７からサーバプログラム２０２が読み出されて、サーバコンピュータ２０１のハードディスクに格納される。
【００５９】
クライアントプログラム２０５，２０７，２０９をインストールする際には、まず、領域９９８に記憶されているインストールプログラムがシステムにロードされ、クライアントＰＣ２０４，２０６，２０８上で実行される。次に、インストールプログラムが、領域９９９６からクライアントプログラム２０５，２０７，２０９が読み出されて、クライアントＰＣ２０４，２０６，２０８のハードディスクに格納される。
【００６０】
また、本実施の形態においては、管理者がサーバコンピュータ２０１を介してクライアントプログラムのインストーラを各クライアントＰＣに配布するか、各クライアントＰＣのユーザがクライアントプログラムのインストーラをダウンロードして起動するものとしている。
【００６１】
このように、本実施の形態によれば、サーバコンピュータ２０１の管理下にある複数のクライアントＰＣ２０４，２０６，２０８にインストールされたアプリケーションを容易に削除することができ、システム管理者またはユーザに掛かる手間を軽減することができる。
【００６２】
（第２実施の形態）
次に、本発明の第２実施の形態について図７〜図１３を参照しながら説明する。図７は本発明の第２実施の形態に係るリモートインストールシステムが構築されているネットワークシステムの構成を示すブロック図である。
【００６３】
本実施の形態のネットワークシステムにおいては、図７に示すように、サーバコンピュータ２５１、複数のクライアントＰＣ２５４，２５６，２５８，２６０および複数のプリンタ２６２，２６３，２６４，２６５がＬＡＮ２５０を介して接続されている。サーバコンピュータ２５１には、ＬＡＮ２５０上の各クライアントＰＣ２５４，２５６，２５８，２６０および各プリンタ２６２，２６３，２６４，２６５を管理するためのサーバプログラム２５２がインストールされているとともに、データベース２５３が接続されている。また、各クライアントＰＣ２５４，２５６，２５８，２６０には、クライアントプログラム２５５，２５７，２５９，２６１がそれぞれインストールされている。
【００６４】
サーバコンピュータ２５１のサーバプログラム２５２には、ＬＡＮ２５０を介して、各クライアント２５４，２５６，２５８，２６０に対してプリンタドライバをインストールするリモートインストールを実行するためのモジュールが含まれる。データベース２５３には、サーバコンピュータ２５１の管理下にあるクライアントＰＣのネットワークアドレス、および管理下のプリンタの名前、そのネットワークアドレス、ドライバインストールモジュールなどが記憶される。
【００６５】
各クライアントＰＣ２５４，２５６，２５８，２６０のクライアントプログラム２５５，２５７，２５９，２６１は、サーバコンピュータ２５１（サーバプログラム２５２）に既存のプリンタドライバに関する情報を通知し、また指定されたプリンタドライバのインストールを行うためのモジュールを含む。
【００６６】
次に、本実施の形態においては、サーバコンピュータ２５１（サーバプログラム２５２）から、サーバコンピュータ２５１の管理下にある複数のクライアントＰＣ２５４，２５６，２５８，２６０（クライアントプログラム２５５，２５７，２５９，２６１）にプリンタドライバをインストールするいわゆるリモートインストールが可能である。このリモートインストールについて図８を参照しながら説明する。図８は図７のサーバコンピュータ２５１（サーバプログラム２５２）と、サーバコンピュータ２５１の管理下にある複数のクライアントＰＣ２５４，２５６，２５８，２６０（クライアントプログラム２５５，２５７，２５９，２６１）間の通信手順を示すシーケンス図である。
【００６７】
ここでは、既に、サーバコンピュータ２５１により、後述するクライアントＰＣの探索手順を経て、ＬＡＮ２５０上の各クライアントＰＣ２５４，２５６，２５８，２６０が検出されているものとする。また、サーバコンピュータ２５１とクライアントＰＣ２５４，２５６，２５８，２６０間の通信プロトコルとしては、特段のプロトコルを用いる必要はなく、周知のプロトコルが用いられる。
【００６８】
図８に示すように、まず、サーバコンピュータ２５１（サーバプログラム２５２）は、データベース２５３に記憶された情報に基づいて、クライアントＰＣ２５４に対して、既存のプリンタドライバの有無を通知するよう要求するコマンド１５１を発行する。コマンド１５１を受けたクライアントＰＣ２５４（クライアントプログラム２５５）は、既存のプリンタドライバの有無を検出し、レスポンス１５３により、その結果をサーバコンピュータ２５１に通知する。ここでは、クライアントＰＣ２５１には、既にプリンタドライバがインストールされており、サーバコンピュータ２５１に対してプリンタドライバ有が通知されるものとする。
【００６９】
上記通知を受けたサーバコンピュータ２５１は、クライアントＰＣ２５４に対して、コマンド１５３を発行し、既存のプリンタの能力（既存のプリンタドライバの能力）を通知するよう要求する。ここで、上記プリンタの能力とは、印刷速度、カラー印刷機能、解像度、およびソータ、フィーダなどのオプションの装着状況などを示すものである。このコマンド１５３を受けたクライアントＰＣ２５４は、レスポンス１５４により、既存のプリンタの能力をサーバコンピュータ２５１に通知する。
【００７０】
上記通知を受けたサーバコンピュータ２５１は、コマンド１５５により、データベース２５３に対して、プリンタ情報リストを要求する。ここで、データベース２５３には、インストール可能なプリンタの能力、対応するプリンタドライバのインストールモジュール、ネットワークアドレスなどの情報が格納されているものとする。データベース２５３からは、このコマンド１５５に対するレスポンス１５６により、記憶されているプリンタ情報リストがサーバコンピュータ２５１に通知される。
【００７１】
上記通知を受けたサーバコンピュータ２５１は、処理１５７を実行し、レスポンス１５４により通知された既存のプリンタの能力とレスポンス１５６により通知されたプリンタ情報リストから、既存のプリンタと同等以上の能力を有するプリンタのリストを作成する。そして、このプリンタのリストから、所望のプリンタが管理者により選択される。この管理者によるプリンタの選択は、クライアントＰＣ２５４にインストールするプリンタドライバを選択すること同じである。プリンタが選択されると、サーバコンピュータ２５１は、コマンド１５８により、上記処理１５７で選択されたプリンタに対応するプリンタドライバのインストールモジュールをクライアントＰＣ２５４にダウンロードする。
【００７２】
コマンド１５８を受けたクライアントＰＣ２５４においては、ダウンロードされたプリンタドライバのインストールモジュールが起動され、選択されたプリンタドライバをインストールするための処理１５７が実行される。そして、このプリンタドライバのインストールが完了すると、クライアントＰＣ２５４は、レスポンス１６０により、プリンタドライバのインストールの完了をサーバコンピュータ２５１に通知する。
【００７３】
ここでは、クライアントＰＣ２５４にプリンタドライバをインストール際のクライアントＰＣ２５４とサーバコンピュータ２５１間で行われる通信手順を説明したが、他のクライアントＰＣ２５６，２５８，２６０とサーバコンピュータ２５１間でも、同様の通信手順が行われる。
【００７４】
以上の手順により、各クライアントＰＣ２５４，２５６，２５８，２６０が利用する既存のプリンタの能力を考慮したプリンタドライバすなわち適正なプリンタドライバのインストールを行うことができる。
【００７５】
次に、クライアントＰＣ２５４，２５６，２５８，２６０におけるコマンド受信に伴う動作について図９を参照しながら説明する。図９は図１の各クライアントＰＣ２５４，２５６，２５８，２６０のコマンド受信に伴う動作の手順を示すフローチャートである。この図９に示す手順は、各クライアントＰＣ２５４，２５６，２５８，２６０で動作するクライアントプログラム２５５，２５７，２５９，２６１により実行されるものである。
【００７６】
クライアントＰＣ２５４，２５６，２５８，２６０においては、図９に示すように、ステップＳ１３０１で、サーバコンピュータ２５１からのコマンドの受信待ちが行われ、サーバコンピュータ２５１からのコマンドを受信すると、ステップＳ１３０２において、受信されたコマンドの解析が行われる。そして、ステップＳ１３０３において、受信されたコマンドが既存のプリンタドライバの有無の通知要求であるか否かの判定が行われる。ここで、受信されたコマンドが既存のプリンタドライバの有無の通知要求である場合、ステップＳ１３０４に進む。
【００７７】
ステップＳ１３０４においては、クライアントＰＣ上に既にプリンタドライバがインストールされているか否かの解析が行われ、続くステップＳ１３０５において、上記ステップＳ１３０４の解析結果に基づいて、サーバコンピュータ２５１に既存のプリンタドライバの有無を通知する。そして、本処理は終了する。
【００７８】
上記ステップＳ１３０３で受信されたコマンドが既存のプリンタドライバの有無の通知要求でないと判定された場合、ステップＳ１３０６において、受信されたコマンドが既存のプリンタ能力を要求するものであるか否かの判定が行われる。ここで、上記コマンドが既存のプリンタ能力の通知要求である場合、ステップＳ１３０７において、既存のプリンタ能力の解析が行われる。この能力解析は、例えばプリンタドライバから直接情報を取得し、また、クライアントＰＣ（クライアントプログラム）がプリンタと通信してプリンタのオプションの装着状況や、印刷可能な用紙サイズなどの情報を取得し、これらの取得された情報に基づいて行われる。さらに、印刷履歴からどのようなタイプの印刷を行ったかなどの情報を取得し、この情報を能力解析に用いるようにしてもよい。そして、ステップＳ１３０８において、上記ステップＳ１３０７の解析結果に基づいて、既存のプリンタ能力がサーバコンピュータ２５０１に通知され、本処理は終了する。
【００７９】
上記ステップＳ１３０６で受信されたコマンドが既存のプリンタ能力を要求するものでないと判定された場合、ステップＳ１３０９において、受信されたコマンドがプリンタドライバのインストール要求であるか否かの判定が行われる。ここで、受信されたコマンドがプリンタドライバのインストール要求である場合、ステップＳ１３１０において、プリンタドライバのインストールモジュールが起動され、プリンタドライバのインストールが行われる。そして、ステップＳ１３１１において、プリンタドライバのインストールの完了がサーバコンピュータ２５０１に通知され、本処理は終了する。
【００８０】
上記ステップＳ１３０９で受信されたコマンドがプリンタドライバのインストール要求でないと判定された場合、ステップＳ１３１２において、受信されたコマンドにより要求された処理が実行され、そして、本処理は終了する。
【００８１】
次に、サーバコンピュータ２５１によるクライアントＰＣの探索処理について図１０を参照しながら説明する。図１０は図７のサーバコンピュータ２５１によるクライアントＰＣの探索処理の手順を示すフローチャートである。この図１０に示す手順は、サーバプログラム２５２によって実行されるものである。
【００８２】
サーバコンピュータ２５１においては、図１０に示すように、まずステップＳ１４０１で、検出したクライアントＰＣの数をカウントするための変数ｉの値を０に初期化し、続くステップＳ１４０２で、管理下のクライアントＰＣを検出するために、ブロードキャストパケットを送信する。
【００８３】
次いで、ステップＳ１４０３において、上記ステップＳ１４０２で送信されたブロードキャストパケットのレスポンスを受信したか否かの判定が行われる。ここで、上記ブロードキャストパケットのレスポンスが受信された場合、ステップＳ１４０４において、受信されたレスポンスが管理下のクライアントＰＣからのものであるか否かの判定が行われ、このレスポンスがクライアントＰＣからのものである場合は、ステップＳ１４０５に進む。
【００８４】
ステップＳ１４０５においては、上記受信されたレスポンスの発行元であるクライアントコンピュータに関する情報がデータベース２５３に保存され、続くステップＳ１４０６において、変数ｉの値が１インクリメントされる。そして、処理が上記ステップＳ１４０３に戻る。
【００８５】
上記ステップＳ１４０４で上記受信されたレスポンスが管理下のクライアントＰＣからのものでないと判定された場合、処理が上記ステップＳ１４０３に戻る。
【００８６】
上記ステップＳ１４０３で上記ブロードキャストパケットのレスポンスが受信されなかったと判定された場合、ステップＳ１４０７において、上記変数ｉの値（検出したクライアントＰＣの数を示す）をデータベース２５３に保存し、処理は終了する。
【００８７】
このようにして、サーバコンピュータ２５１は、ＬＡＮ２５０上のクライアントＰＣを探索する。
【００８８】
次に、サーバコンピュータ２５１がクライアントＰＣに対してプリンタドライバのインストール要求を出す場合の動作について図１１を参照しながら説明する。図１１は図７のサーバコンピュータ２５１がクライアントＰＣに対してプリンタドライバのインストール要求を出す場合の動作の手順を示すフローチャートである。ここで、図１１に示す手順は、サーバプログラム２５２により実行されるものである。
【００８９】
サーバコンピュータ２５１においては、図１１に示すように、まずステップＳ１５０１で、データベース２５３に記憶されているプリンタの情報（既存のプリンタドライバの有無、プリンタ能力など）が取得され、続くステップＳ１５０２で、データベース２５３に記憶されているクライアントＰＣの情報（上記探索処理で検出されたクライアントＰＣに関する情報）が取得される。そして、ステップＳ１５０３において、上記ステップＳ１５０２で取得されたクライアントＰＣの情報からクライアントＰＣのリストが生成される。このリストは、後述する操作画面上に表示される。
【００９０】
次いで、ステップＳ１５０４において、上記操作画面上に表示されたクライアントＰＣのリストから、プリンタドライバのインストールターゲットとなるクライアントＰＣを選択するための管理者の操作に基づいて、インストールターゲットとなるクライアントＰＣが選択される。そして、ステップＳ１５０５において、上記ステップＳ１５０１で取得されたプリンタ情報に基づいて、上記ステップＳ１５０４で選択されたクライアントＰＣに既にプリンタドライバがインストールされているか否かの判定が行われる。ここで、選択されたクライアントＰＣに既にプリンタドライバがインストールされている場合、処理はステップＳ１５０６に進む。これに対し、選択されたクライアントＰＣにプリンタドライバがインストールされていない場合、処理はステップＳ１５０７に進む。
【００９１】
ステップＳ１５０６においては、上記ステップＳ１５０４で選択されたクライアントＰＣの既存のプリンタドライバが対応するプリンタと同等以上の能力を有するプリンタの一覧を表すプリンタリストが操作画面上に表示される。そして、処理はステップＳ１５０８に進む。
【００９２】
ステップＳ１５０７においては、上記ステップＳ１５０１で取得されたプリンタの情報に基づいて、全てのプリンタの一覧を表すプリンタリストが操作画面に表示され、処理はステップＳ１５０８に進む。
【００９３】
ステップＳ１５０８においては、上記ステップ１５０６またはステップＳ１５０７で操作画面上に表示されたプリンタリストから、クライアントＰＣにインストールするプリンタドライバに対応するプリンタを選択するための管理者の操作に基づいて、プリンタが選択される。そして、ステップＳ１５０９において、上記ステップＳ１５０４で選択されたクライアントＰＣに対してプリンタドライバのインストール要求が行われ、上記ステップ１Ｓ５０８で選択されたプリンタのドライバインストールモジュールがクライアントＰＣに対してダウンロードされる。
【００９４】
次いで、ステップＳ１５１０において、プリンタドライバのインストール先のクライアントＰＣからのインストール完了通知を受信するのが待たれ、このインストール完了通知が受信されると、本処理は終了する。
【００９５】
ここでは、サーバコンピュータ２５１が１つのクライアントＰＣに対してプリンタドライバのインストール要求を出す場合を説明したが、複数のクライアントＰＣに対して、同じプリンタドライバのインストールを行う場合、上記処理をクライアントＰＣ毎に繰り返せばよいことは明らかである。
【００９６】
このように、サーバコンピュータ２５１の管理下にある複数のクライアントＰＣ２５４，２５６，２５８，２６０に、適正でないプリンタドライバが誤ってインストールされることを未然に防止することができる。
【００９７】
次に、上記処理において、クライアントＰＣの選択およびその選択されたＰＣにインストールするプリンタドライバの選択に用いられる操作画面について図１２を参照しながら説明する。図１２は図１１の処理におけるクライアントＰＣの選択およびその選択されたクライアントＰＣにインストールするプリンタドライバの選択に用いられる操作画面の一例を示す図である。ここでは、クライアントＰＣの既存のプリンタと同等以上の能力を有するプリンタのリストが表示された操作画面を示す。
【００９８】
上記処理における操作画面には、図１２に示すように、クライアントＰＣのリスト６０１と、クライアントＰＣの既存のプリンタと同等以上の能力を有するプリンタのリスト６０２とが表示される。ここで、クライアントＰＣのリスト６０１は、図１１のステップＳ１５０３で操作画面上の右側に表示されるものでありプリンタのリスト６０２は、図１１のステップＳ１５０６で、操作画面上の左側に表示されるものである。
【００９９】
管理者は、リスト６０１を参照してプリンタドライバのインストールを行うクライアントＰＣを選択し、そして、プリンタリスト６０２から適当なプリンタを選択する。この選択は、操作画面上でのキーボードまたはマウスなどを用いた操作により行われる。このようにしてクライアントＰＣ、プリンタを選択することによって、選択されたクライアントＰＣに、選択されたプリンタに対応するプリンタドライバのインストールを行うことが指定されることになる。また、ここで、例えば同一のプリンタドライバを複数のクライアントＰＣにインストールする場合、上記操作画面上で、複数のクライアントＰＣを選択すればよい。
【０１００】
次に、サーバコンピュータ２５１にサーバプログラム２５２を、クライアントＰＣ２５４，２５６，２５８，２６０にクライアントプログラム２５５，２５７，２５９，２６１をそれぞれインストールするために提供されるＣＤ−ＲＯＭについて図１３を参照しながら説明する。図１３は図７のサーバプログラム２５２またはクライアントプログラム２５５，２５７，２５９，２６１を提供するためのＣＤ−ＲＯＭのメモリマップを示す図である。
【０１０１】
このようなＣＤ−ＲＯＭは、図１３に示すように、ディレクトリ情報が記憶されている領域９９９９と、インストールプログラムが記憶されている領域９９９８と、サーバプログラム２５２が記憶されている領域９９９７と、データベース管理プログラムが記憶されている領域９９９６と、クライアントプログラム２５５，２５７，２５９，２６１が記憶されている領域９９９５とを有し、領域９９９に記憶されているディレクトリ情報は、各領域の位置を示す。
【０１０２】
サーバプログラム２５２をインストールする際には、まず領域９９９８に記憶されているインストールプログラムがシステムにロードされ、サーバコンピュータ２５１上で実行される。次に、インストールプログラムが、領域９９９７からサーバプログラム２５２を、領域９９９６からデータベース管理プログラムをそれぞれ読み出し、サーバコンピュータ２５１のハードディスクに格納する。
【０１０３】
クライアントプログラム２５５，２５７，２５９をインストールする際には、まず、領域９９９８に記憶されているインストールプログラムがシステムにロードされ、クライアントＰＣ２５４，２５６，２５８，２６０上で実行される。次に、インストールプログラムが、領域９９９５からクライアントプログラム２５５，２５７，２５９，２６１を読み出して、クライアントＰＣ２５４，２５６，２５８，２６０のハードディスクに格納する。
【０１０４】
また、本実施の形態においては、管理者がサーバコンピュータ２５１を介してクライアントプログラムのインストーラを各クライアントＰＣに配布するか、各クライアントＰＣのユーザがクライアントプログラムのインストーラをダウンロードして起動するものとしている。
【０１０５】
なお、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０１０６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０１０７】
【発明の効果】
以上説明したように、本発明の第１の側面によれば、増えつづけるクライアントに搭載されるプログラムの構成または再構成を容易にし、システムを管理する管理者の負荷を大幅に軽減することができる。
【０１０８】
さらに、本願発明の別の側面によれば、サーバ装置から、クライアント装置にインストールされているプログラムを容易に削除することができ、ひいてはシステム管理者またはユーザに掛かる手間を軽減することができるリモートアンインストールシステム、サーバ装置、クライアント装置、リモートアンインストール方法およびプログラムを提供することができる。
【０１０９】
また、本発明のさらに別の側面によれば、サーバ装置からクライアント装置にプリンタドライバをインストールする際に、クライアント装置に適正でないプリンタドライバがインストールされることを未然に防止することができ、ひいてはシステム管理者またはユーザに掛かる手間を軽減することができるリモートインストールシステム、サーバ装置、リモートインストール方法およびプログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１実施の形態に係るリモートアンインストールシステムが構築されているネットワークシステムの構成を示すブロック図である。
【図２】図１のサーバコンピュータ２０１（サーバプログラム２０２）と、サーバコンピュータ２０１の管理下にある複数のクライアントＰＣ２０４，２０６，２０８（クライアントプログラム２０５，２０７，２０９）間の通信手順を示すシーケンス図である。
【図３】図１のサーバコンピュータ２０１が各クライアントＰＣの情報を取得し、それをデータベース２０３に格納するまでの処理の手順を示すフローチャートである。
【図４】図１のサーバコンピュータ２０１がクライアントＰＣに対してアプリケーションのアンインストール要求を出す場合の動作の手順を示すフローチャートである。
【図５】図１のクライアントＰＣ２０４，２０６，２０８がサーバコンピュータ２０１からのアプリケーションのアンインストール要求を受けて、アプリケーションを削除する場合の動作の手順を示すフローチャートである。
【図６】図１のサーバプログラム２０２またはクライアントプログラム２０５，２０７，２０９を提供するためのＣＤ−ＲＯＭのメモリマップを示す図である。
【図７】本発明の第２実施の形態に係るリモートインストールシステムが構築されているネットワークシステムの構成を示すブロック図である。
【図８】図７のサーバコンピュータ２５１（サーバプログラム２５２）と、サーバコンピュータ２５１の管理下にある複数のクライアントＰＣ２５４，２５６，２５８，２６０（クライアントプログラム２５５，２５７，２５９，２６１）間の通信手順を示すシーケンス図である。
【図９】図１の各クライアントＰＣ２５４，２５６，２５８，２６０のコマンド受信に伴う動作の手順を示すフローチャートである。
【図１０】図７のサーバコンピュータ２５１によるクライアントＰＣの探索処理の手順を示すフローチャートである。
【図１１】図７のサーバコンピュータ２５１がクライアントＰＣに対してプリンタドライバのインストール要求を出す場合の動作の手順を示すフローチャートである。
【図１２】図１１の処理におけるクライアントＰＣの選択およびその選択されたクライアントＰＣにインストールするプリンタドライバの選択に用いられる操作画面の一例を示す図である。
【図１３】図７のサーバプログラム２５２またはクライアントプログラム２５５，２５７，２５９，２６１を提供するためのＣＤ−ＲＯＭのメモリマップを示す図である。
【符号の説明】
２００，２５０  ＬＡＮ
２０１，２５１  サーバコンピュータ
２０２，２５２  サーバプログラム
２０３，２５３  データベース
２０４，２０６，２０８，２５４，２５６，２５８，２６０  クライアントＰＣ
２０５，２０７，２０９，２５５，２５７，２５９，２６１  クライアントプログラム
２６２，２６３，２６４，２６５  プリンタ
【図１】
2005044000.tif 000003
【図２】
2005044000.tif 000004
【図３】
2005044000.tif 000005
【図４】
2005044000.tif 000006
【図５】
2005044000.tif 000007
【図６】
2005044000.tif 000008
【図７】
2005044000.tif 000009
【図８】
2005044000.tif 000010
【図９】
2005044000.tif 000011
【図１０】
2005044000.tif 000012
【図１１】
2005044000.tif 000013
【図１２】
2005044000.tif 000014
【図１３】
2005044000.tif 000015