(57)【要約】【課題】  複数の端末に対して、遠隔から修正プログラムを迅速に行うことが可能なメンテナンス性および信頼性の高いシステムを構築可能なソフト管理システムを提供する。【解決手段】  ホスト装置５は、各端末１について、プログラムの実行状態を監視する監視部５０と、端末１のプログラムを修正する修正プログラムを記憶する修正プログラム記憶部６０と、プログラムが起動中であり、かつその実行状態が待機中であると判断した端末１に対し、終了指示コマンドを送信する指示部５２と、プログラム起動中ではないと判断した端末１に対し、修正プログラムを導入するインストール部６４と、を含み、端末１は、プログラムを実行する実行部１０と、終了指示コマンドを受信する指示受信部２４と、終了指示コマンドに呼応して、実行部１０に起動中のプログラムを終了させる制御部１６と、プログラムを更新する更新部３６と、を含む。【選択図】      図２
2006163573.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続するホスト装置と、を備えたソフト管理システムであって、
前記ホスト装置は、
前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視する監視部と、
前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部と、
前記監視部が、前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示する終了指示部と、
前記監視部が、前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入する導入部と、
を含み、
前記端末は、
前記ホスト装置から前記プログラムの前記終了指示コマンドを受信する終了指示受信部と、
前記終了指示受信部が受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させる制御部と、
前記ホスト装置からの前記修正プログラムの導入により、前記実行プログラム記憶部の前記プログラムを更新する更新部と、
を含むことを特徴とするソフト管理システム。
【請求項２】
請求項１に記載のソフト管理システムにおいて、
前記ホスト装置の前記監視部は、
前記端末における前記プログラムの前記実行状態を問い合わせる応答指示を送信する応答指示部と、
前記端末からの応答を受信する応答受信部と、
前記応答受信部が受信した前記応答に基づいて、前記端末の前記実行状態を判断する判断部と、を含み、
前記端末は、
前記ホスト装置から前記応答指示を受信する指示受信部と、
前記応答指示を受信したとき、前記プログラムの前記実行状態を示す応答を送信する送信部と、を含むことを特徴とするソフト管理システム。
【請求項３】
請求項１または２に記載のソフト管理システムにおいて、
前記ホスト装置は、
前記修正プログラムを受け付ける受付部を含み、
前記受付部が受け付けた前記修正プログラムを前記修正プログラム記憶部に格納し、
前記受付部が前記修正プログラムを受け付けたとき、前記修正プログラムを前記複数の端末に導入するための処理を開始することを特徴とするソフト管理システム。
【請求項４】
請求項１乃至３いずれかに記載のソフト管理システムにおいて、
前記ホスト装置の前記導入部は、
前記端末に前記修正プログラムを送信するプログラム送信部と、
前記端末に前記修正プログラムの適用を指示する適用指示コマンドを送信する適用指示部と、
前記端末に再起動を指示する再起動指示コマンドを送信する再起動指示部と、
を含み、
前記端末は、
前記ホスト装置から前記修正プログラムを受信するプログラム受信部と、
前記プログラム受信部が受信した前記修正プログラムを記憶する修正プログラム記憶部と、
前記ホスト装置から前記適用指示または前記再起動指示を受信する指示受信部と、
前記指示受信部が前記適用指示を受信したとき、前記修正プログラムを適用するプログラム適用部と、
前記指示受信部が前記再起動指示を受信したとき、自装置を再起動する再起動部と、
を含むことを特徴とするソフト管理システム。
【請求項５】
プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続され、前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部を含むホスト装置と、を備えたシステムのソフト管理方法であって、
前記ホスト装置が、前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視するステップと、
前記ホスト装置が、前記監視するステップで前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示するステップと、
前記ホスト装置が、前記監視するステップで前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入するステップと、
前記端末が、前記ホスト装置から前記プログラムの前記終了指示コマンドを受信するステップと、
前記端末が、前記受信するステップで受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させるステップと、
前記端末が、前記ホスト装置からの前記修正プログラムの導入に伴い、前記実行プログラム記憶部の前記プログラムを更新するステップと、
を含むことを特徴とするソフト管理方法。
【請求項６】
プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続され、前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部を含むホスト装置と、を制御するソフト管理プログラムであって、
前記ホスト装置を、
前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視する手段と、
前記監視する手段で、前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示する手段と、
前記監視する手段で前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入する手段と、
として機能させるとともに、
前記端末を、
前記ホスト装置から前記プログラムの前記終了指示コマンドを受信する手段と、
前記受信する手段で受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させる手段と、
前記ホスト装置からの前記修正プログラムの導入に伴い、前記実行プログラム記憶部の前記プログラムを更新する手段と、
として機能させるためのソフト管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフト管理システムに関し、特に、複数の端末がネットワークを介して接続された大規模なシステムにおいて各端末にインストールされているソフトウェアの管理を行うソフト管理システムに関する。
【背景技術】
【０００２】
近年、コンピュータ技術の進歩に伴い、企業内などでは、ネットワークを介して互いに複数の端末が接続され、ローカルネットワークシステムが構築されている。各端末は、オペレーティングシステム（以下、「ＯＳ（Operating System）」と呼ぶ）やドライバなどの基本ソフトがインストールされており、さらに、各種の業務を実施するための多数のアプリケーションソフトが組み込まれている。
【０００３】
これらの基本ソフトおよびアプリケーションソフトは、頻繁に修正版や機能更新版がリリースされている。これは、たとえば、小規模な不具合の修正や、ハッカーなどによるコンピュータへの悪意のあるプログラムの進入を防ぐためのホットフィックスと呼ばれるセキュリティホールに対する修正、あるいは、新たな機能の追加などであったりする。
【０００４】
特許文献１には、企業内などの業務内容の変更に伴って、業務を実行しているネットワーク上の複数の端末に組み込まれたアプリケーションソフトを遠隔から更新するための技術が記載されている。
【特許文献１】特開２０００−２００１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記文献記載の従来技術は、以下の点で改善の余地を有していた。
【０００６】
業務停止期間中における修正プログラムの更新を想定したものであり、アプリケーションやＯＳ等が停止状態であることが適用の前提となっているが、停止状態を確認する方法は記載されていない。このように業務停止期間における適用が前提の場合、たとえば、セキュリティホールに対する修正のような緊急度の高い修正プログラムの適用が遅れてしまう危険性が考えられる。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、複数の端末に対して、遠隔から修正プログラムの適用やアプリケーションの更新を迅速に行うことが可能なメンテナンス性および信頼性の高いシステムを構築可能なソフト管理システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続するホスト装置と、を備えたソフト管理システムであって、
前記ホスト装置は、
前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視する監視部と、
前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部と、
前記監視部が、前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示する終了指示部と、
前記監視部が、前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入する導入部と、
を含み、
前記端末は、
前記ホスト装置から前記プログラムの前記終了指示コマンドを受信する終了指示受信部と、
前記終了指示受信部が受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させる制御部と、
前記ホスト装置からの前記修正プログラムの導入により、前記実行プログラム記憶部の前記プログラムを更新する更新部と、
を含むことを特徴とするソフト管理システムが提供される。
【０００９】
ここで、ホスト装置および端末とは、たとえば、パーソナルコンピュータ、ワークステーションなどであり、互いにＬＡＮなどのネットワークを介して接続され、ＯＳやドライバを含む基本ソフトおよび各種アプリケーションプログラムを記憶する記憶装置（記憶部）と、ＯＳの支配下でアプリケーションプログラムを実行するＣＰＵ（実行部）と、をそれぞれ含む。
【００１０】
端末におけるプログラムの実行状態とは、たとえば、プログラムを起動中か否か、あるいは、プログラムを起動中の場合、入力中か、実行中か、待機中か、のいずれかになる。さらに、プログラム実行中の場合、計算中か、応答待ちかのいずれかの状態がある。
【００１１】
また、修正プログラムとは、たとえば、プログラムの小規模な不具合の修正や変更を行うパッチ（差分）ファイルや、ホットフィックスと呼ばれるセキュリティホールに対する修正やその他の不具合を累積してまとめたサービスパックや、新機能などを追加した新しいバージョンにアプリケーションをアップグレードする更新プログラムを含む。導入部は、たとえば、修正プログラムを端末に送信した後、修正プログラムを適用させるようコマンドを送信して指示する。更新プログラムの場合は、導入部は、パッチをあてたり、必要に応じて旧バージョンのアプリケーションのプログラムをアンインストールした後に、新バージョンのプログラムをインストールする。
【００１２】
この発明によれば、ネットワークに接続された複数の端末におけるプログラムの実行状態を監視することにより、業務期間中であっても待機状態であれば端末に対して、遠隔から修正プログラムの適用やアプリケーションの更新を迅速に行うことが可能となる。これにより、複数の端末に対して遠隔から修正や更新などのメンテナンス作業が可能となるので、個々の端末毎にメンテナンス作業を行うのに比較して、作業効率が向上し、メンテナンス作業にかかるコストを削減できる。また、サービスベンダーなどから日々提供されるホットフィックスなども迅速に適用することができるので、システムの信頼性が向上する。
【００１３】
上記ソフト管理システムにおいて、前記ホスト装置の前記監視部は、前記端末における前記プログラムの前記実行状態を問い合わせる応答指示を送信する応答指示部と、前記端末からの応答を受信する応答受信部と、前記応答受信部が受信した前記応答に基づいて、前記端末の前記実行状態を判断する判断部と、を含み、前記端末は、前記ホスト装置から前記応答指示を受信する指示受信部と、前記応答指示を受信したとき、前記プログラムの前記実行状態を示す応答を送信する送信部と、を含むことができる。
【００１４】
具体的には、たとえば、起動中のプログラムがあるか否かを調べるコマンドをホスト装置から端末に送信すると、各端末から起動中のプログラムがあるか否かを示す応答が返信される。また、各端末のＯＳの機能として、ＣＰＵの発生割込時間間隔やＣＰＵの連続使用時間を有している。この情報を調べるコマンドをホスト装置から端末に送信すると、各端末から各情報が応答として返信される。なお、ＣＰＵの連続使用時間は、各端末のアプリケーション毎に保有しているので、端末はアプリケーション毎の値を合計して算出する。また、各端末のアプリケーションが他のコンピュータと通信中である場合、応答が必要な情報を送信したときセットする内部フラグを設け、応答が返信されたとき内部フラグをオフする応答状態記憶部を含むことができる。
【００１５】
この構成によれば、ホスト装置が遠隔から各端末におけるプログラムの実行状態を監視することができる。
【００１６】
上記ソフト管理システムにおいて、前記ホスト装置は、前記修正プログラムを受け付ける受付部を含むことができ、前記受付部が受け付けた前記修正プログラムを前記修正プログラム記憶部に格納し、前記受付部が前記修正プログラムを受け付けたとき、前記修正プログラムを前記複数の端末に導入するための処理を開始することができる。
【００１７】
ここで、修正プログラムは、通常、ソフトベンダーなどからリリースされ、ホームページで公開されたり、ＣＤ−ＲＯＭやＤＶＤなどの各種メディアに記録されたりして提供される。受付部は、たとえば、ネットワークを介して外部から修正プログラムをダウンロードするダウンロード部、あるいは、各種メディアに記録された修正プログラムを読み込む読込部を含むことができる。
【００１８】
この構成によれば、修正プログラムの入手をトリガとして各端末への導入処理を自動的に開始することができるので、迅速に修正プログラムを適用することができ、システムの信頼性が向上する。
【００１９】
上記ソフト管理システムにおいて、前記ホスト装置の前記導入部は、前記端末に前記修正プログラムを送信するプログラム送信部と、前記端末に前記修正プログラムの適用を指示する適用指示コマンドを送信する適用指示部と、前記端末に再起動を指示する再起動指示コマンドを送信する再起動指示部と、を含むことができ、前記端末は、前記ホスト装置から前記修正プログラムを受信するプログラム受信部と、前記プログラム受信部が受信した前記修正プログラムを記憶する修正プログラム記憶部と、前記ホスト装置から前記適用指示または前記再起動指示を受信する指示受信部と、前記指示受信部が前記適用指示を受信したとき、前記修正プログラムを適用するプログラム適用部と、
前記指示受信部が前記再起動指示を受信したとき、自装置を再起動する再起動部と、を含むことができる。
【００２０】
この構成によれば、遠隔のホスト装置から複数の端末に対して修正プログラムの導入処理を行うことができる。また、必要に応じて、端末の再起動を遠隔から行うことができる。
【００２１】
本発明によれば、プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続され、前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部を含むホスト装置と、を備えたシステムのソフト管理方法であって、
前記ホスト装置が、前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視するステップと、
前記ホスト装置が、前記監視するステップで、前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示するステップと、
前記ホスト装置が、前記監視するステップで前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入するステップと、
前記端末が、前記ホスト装置から前記プログラムの前記終了指示コマンドを受信するステップと、
前記端末が、前記受信するステップで受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させるステップと、
前記端末が、前記ホスト装置からの前記修正プログラムの導入に伴い、前記実行プログラム記憶部の前記プログラムを更新するステップと、
を含むことを特徴とするソフト管理方法が提供される。
【００２２】
本発明によれば、プログラムを記憶する実行プログラム記憶部および前記プログラムを実行する実行部を含む複数の端末と、前記複数の端末にネットワークを介して接続され、前記複数の端末の前記プログラムを修正する修正プログラムを記憶する修正プログラム記憶部を含むホスト装置と、を制御するソフト管理プログラムであって、
前記ホスト装置を、
前記複数の端末のそれぞれについて、前記プログラムの実行状態を監視する手段と、
前記監視する手段で、前記プログラムを起動中であり、かつそのプログラムの前記実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して前記端末に起動中の前記プログラムを終了指示する手段と、
前記監視する手段で前記プログラムを起動中ではないと判断した端末に対し、前記修正プログラム記憶部の前記修正プログラムを導入する手段と、
として機能させるとともに、
前記端末を、
前記ホスト装置から前記プログラムの前記終了指示コマンドを受信する手段と、
前記受信する手段で受信した前記終了指示コマンドに呼応して、前記実行部に起動中の前記プログラムを終了させる手段と、
前記ホスト装置からの前記修正プログラムの導入に伴い、前記実行プログラム記憶部の前記プログラムを更新する手段と、
として機能させるためのソフト管理プログラムが提供される。
【００２３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２４】
本発明によれば、複数の端末に対して、遠隔から修正プログラムの適用やアプリケーションの更新を迅速に行うことが可能なメンテナンス性および信頼性の高いシステムを構築可能なソフト管理システムが提供される。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２６】
図１は、本発明の実施の形態に係るソフト管理システムのネットワーク構成を示す構成図である。複数のクライアント端末１がネットワーク３を介してホスト装置５に接続されている。図１では、複数のクライアント端末１（図１では２台）およびホスト装置５は、パーソナルコンピュータやワークステーションなどであり、互いにＬＡＮなどのネットワークを介して接続され、ＯＳおよび各種アプリケーションプログラムを記憶する記憶装置（図１には図示無し）と、ＯＳの支配下でアプリケーションプログラムを実行するＣＰＵ（図示無し）と、をそれぞれ含む。図１において、クライアント端末１は、コンピュータＡ１およびコンピュータＡ２、ホスト装置５は、コンピュータＢと示す。
【００２７】
図２は、図１のシステムのクライアント端末１およびホスト装置５の機能を示す機能ブロック図である。
【００２８】
本発明に係る実施の形態のソフト管理システムは、プログラムを記憶する実行プログラム記憶部（プログラム記憶部１２）およびプログラムを実行する実行部（実行部１０）を含む複数の端末（クライアント端末１）と、複数の端末にネットワーク（ネットワーク３）を介して接続するホスト装置（ホスト装置５）と、を備えたソフト管理システムであって、ホスト装置は、複数の端末のそれぞれについて、プログラムの実行状態を監視する監視部（監視部５０）と、複数の端末のプログラムを修正する修正プログラムを記憶する修正プログラム記憶部（修正プログラム記憶部６０）と、監視部が、プログラムを起動中であり、かつそのプログラムの実行状態が待機中であると判断した端末に対し、終了指示コマンドを送信して端末に起動中のプログラムを終了指示する終了指示部（指示部５２およびインタフェース部５４）と、監視部が、プログラムを起動中ではないと判断した端末に対し、修正プログラム記憶部の修正プログラムを導入する導入部（インストール部６４およびインタフェース部５４）と、を含み、端末は、ホスト装置からプログラムの終了指示コマンドを受信する終了指示受信部（プログラム記憶部１２および指示受信部２４）と、終了指示受信部が受信した終了指示コマンドに呼応して、実行部に起動中のプログラムを終了させる制御部（制御部１６）と、ホスト装置からの修正プログラムの導入に伴い、実行プログラム記憶部のプログラムを更新する更新部（更新部３６）と、を含む。
【００２９】
なお、各図において、本発明の本質に関わらない部分の構成については省略してある。クライアント端末１およびホスト装置５の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
【００３０】
図２に示すように、ホスト装置５は、監視部５０と、指示部５２と、インタフェース部５４と、応答受信部５６と、修正プログラム記憶部６０と、インストール部６４と、を含む。
【００３１】
監視部５０は、ネットワーク３上の複数のクライアント端末１のそれぞれについて、プログラムの実行状態を監視する。詳細については、後述する。インタフェース部５４は、ネットワーク３を介して接続されたクライアント端末１との通信を行う。
【００３２】
指示部５２は、監視部５０が、プログラムを起動中であり、かつそのプログラムの実行状態が待機中であると判断したクライアント端末１に対し、終了指示コマンドを、インタフェース部５４を介して送信して当該クライアント端末１に起動中のプログラムの終了を指示する。さらに、指示部５２は、監視部５０からの指示に従い、クライアント端末１におけるプログラムの実行状態を問い合わせるコマンドをインタフェース部５４を介して送信する。
【００３３】
応答受信部５６は、クライアント端末１からの応答をインタフェース部５４を介して受信する。インストール部６４は、監視部５０がプログラムを起動中ではないと判断したクライアント端末１に対し、修正プログラム記憶部６０の修正プログラムを導入する。ここで、修正プログラムとは、たとえば、プログラムの小規模な不具合の修正や変更を行うパッチ（差分）ファイルや、ホットフィックスと呼ばれるセキュリティホールに対する修正やその他の不具合を累積してまとめたサービスパックや、新機能などを追加した新しいバージョンにアプリケーションをアップグレードする更新プログラムを含む。インストール部６４は、たとえば、修正プログラムをクライアント端末１に送信した後、修正プログラムを適用させるようコマンドを送信して指示する。更新プログラムの場合は、クライアント端末１では、後述するように、パッチをあてたり、必要に応じて旧バージョンのアプリケーションのプログラムをアンインストールした後に、新バージョンのプログラムをインストールする。
【００３４】
クライアント端末１は、実行部１０と、プログラム記憶部１２と、インタフェース部１４と、制御部１６と、状態検知部２０と、状態保持部２２と、指示受信部２４と、応答部２６と、プログラム受信部３０と、修正プログラム記憶部３２と、更新部３６と、を含む。
【００３５】
実行部１０は、たとえば、ＣＰＵであり、プログラムを実行する。プログラム記憶部１２は、ＯＳおよびアプリケーションソフトに含まれる各種プログラムを記憶し、実行部１０はプログラム記憶部１２に記憶されたアプリケーションソフトのプログラムを実行する。アプリケーションが起動されると、コンピュータ内部で実行プログラムが起動する。アプリケーションと実行プログラムの関係は、図３に示す通りであり、アプリケーション７０の作り方によっては、１つのアプリケーション７０に対して、実行プログラム７２は、１つとは限らず、複数の場合も存在する。図３に示すように、たとえば、アプリケーションＡに対する実行プログラム７２は実行プログラムＡの１つであるが、アプリケーションＢに対する実行プログラム７２は、実行プログラムＢ〜実行プログラムＥの４つである。これらの各実行プログラム７２は、画面表示機能、入力機能、印刷出力機能、計算機能、通信機能などを有し、内部処理を行う。
【００３６】
図２に戻り、インタフェース部１４は、ネットワーク３を介してホスト装置５および他のクライアント端末１との通信を行う。制御部１６は、クライアント端末１の各要素とともに装置全体を制御する。制御部１６の詳細については、後述する。
【００３７】
状態検知部２０は、クライアント端末１におけるプログラムの実行状態を検知する。実行プログラムは、上述したようにプログラム毎に有する機能が異なるが、たとえば、入力機能を有する実行プログラムでは、キーボード入力操作を受け付けている状態や逆に何も入力操作がなく入力待ちの状態など、プログラム状態は遷移する。想定される実行プログラムの状態遷移を図４に示す。
【００３８】
図４に示すように、実行プログラムは、起動中（Ｓ１１）か、起動していない（Ｓ１７）か、あるいは、プログラムを起動中（Ｓ１１）の場合、入力中（Ｓ１２）か、実行中（Ｓ１３）か、待機中（Ｓ１６）か、のいずれかの状態となる。さらに、プログラム実行中（Ｓ１３）の場合、計算中（Ｓ１４）か、応答待ち（Ｓ１５）かのいずれかの状態とある。これらの実行状態の検知は、状態検知部２０によって行われるが、詳細については後述する。
【００３９】
図２に戻り、状態保持部２２は、クライアント端末１におけるプログラムの実行状態に関する情報を保持する。この情報の詳細についても後述する。指示受信部２４は、ホスト装置５からインタフェース部１４を介して各種指示コマンドを受信する。たとえば、クライアント端末１におけるプログラムの実行状態を問い合わせる応答指示コマンドを受信し、状態検知部２０に通知する。また、クライアント端末１に実行部１０が起動中のプログラムを終了させる終了指示コマンドを受信し、制御部１６に通知する。さらに、指示受信部２４は、クライアント端末１に修正プログラムを適用させる適用指示コマンドを受信し、制御部１６に通知する。また、指示受信部２４は、クライアント端末１を再起動させる再起動指示コマンドを受信し、制御部１６に通知する。
【００４０】
応答部２６は、応答指示コマンドを指示受信部２４が受信したとき、プログラムの実行状態を示す応答をインタフェース部１４を介してホスト装置５に送信する。プログラム受信部３０は、ホスト装置５からインタフェース部１４を介して修正プログラムを受信する。修正プログラム記憶部３２は、プログラム受信部３０が受信した修正プログラムを格納する。更新部３６は、修正プログラム記憶部３２に格納されている修正プログラムを適用して、プログラム記憶部１２のプログラムを更新する。
【００４１】
次に、ホスト装置５の監視部５０におけるクライアント端末１のプログラムの実行状態の監視方法ついて、説明する。
【００４２】
上述したように、各クライアント端末１におけるプログラムの実行状態は、図４に示すように複数の状態が想定される。これらのいずれの状態にクライアント端末１があるか否かの判断は、ホスト装置５において、監視部５０が、指示部５２に指示して、プログラムの実行状態を問い合わせるコマンドをホスト装置５からクライアント端末１に送信することにより行うことができる。この問い合わせコマンドに呼応して、各クライアント端末１からプログラムの実行状態を示す応答が返信される。ホスト装置５において、この応答を応答受信部５６が受信して、監視部５０が応答を調べて各クライアント端末１のプログラムの実行状態を判断する。
【００４３】
各状態の判断方法の一例について、具体的に説明する。
【００４４】
はじめに、プログラムが起動中（Ｓ１１）か非起動（Ｓ１７）かの判断について説明する。
【００４５】
各クライアント端末１は、ＯＳの機能として、プログラムが起動中か否かの状態を示す起動情報を有している。クライアント端末１において、ホスト装置５からの問い合わせコマンドを指示受信部２４が受信し、状態検知部２０が、ＯＳに起動情報を問い合わせ、取得した起動情報を応答部２６にホスト装置５への応答として返信させる。ホスト装置５において、この応答を応答受信部５６が受信して、監視部５０が応答に含まれる起動情報を調べて各クライアント端末１のプログラムが起動中（Ｓ１１）か否（Ｓ１７）かを判断する。
【００４６】
次に、入力中（Ｓ１２）か否かの判断について説明する。
【００４７】
ここで、入力中（Ｓ１２）とは、たとえば、コンピュータのユーザが入力画面からキーボードやマウス、タブレット、バーコードリーダなどの入力機器から入力操作を行っている状態を意味する。各クライアント端末１は、ＯＳの機能として、ＣＰＵの割込発生時間間隔の情報を有している。状態検知部２０は、入力機器からのコンピュータのＣＰＵに対する割り込み処理が発生する割込発生時間間隔を監視し、一定時間以上割り込みが発生しないか否かを示す割込発生状態フラグを状態保持部２２に記憶する。
【００４８】
クライアント端末１において、ホスト装置５からの問い合わせコマンドを指示受信部２４が受信し、状態検知部２０が状態保持部２２にアクセスし、取得した割込発生状態フラグを応答部２６にホスト装置５への応答として返信させる。ホスト装置５において、この応答を応答受信部５６が受信して、監視部５０が応答に含まれる割込発生状態フラグを調べて、各クライアント端末１の起動中のプログラムが入力中（Ｓ１２）か否かを判断する。
【００４９】
次に、実行中（Ｓ１３）か否かの判断について説明する。
【００５０】
ここで、実行中（Ｓ１３）には、計算中（Ｓ１４）および応答待ち（Ｓ１５）の２つの状態が想定される。計算中（Ｓ１４）とは、必要な情報をもとに、ＣＰＵで計算処理を行っている状態を意味する。なお、「計算」とは、算術計算の意味だけでなく、プリンタでの印刷処理や、グラフ表示処理などの内部演算処理を含む。
【００５１】
各クライアント端末１は、ＯＳの機能として、ＣＰＵの連続使用時間をアプリケーション毎に有している。状態検知部２０は、このアプリケーション毎の連続使用時間の合計を算出し、ＣＰＵ使用時間として状態保持部２２に記憶する。この合計が増加中は、プログラムは計算中（Ｓ１４）であると判断され、合計に一定時間間隔で変化がない場合、計算中でないと判断される。
【００５２】
また、応答待ち（Ｓ１５）とは、入力された内容や与えられた条件をもとに、ネットワーク上の別のコンピュータに処理を引き渡し、その計算結果の応答を待っている状態を意味する。状態検知部２０は、アプリケーションが他のコンピュータと通信中である場合、応答が必要な情報を送信したとき内部フラグをオンして、状態保持部２２に記憶する。そして状態検知部２０は、他のコンピュータから応答が返信されたとき状態保持部２２の内部フラグをオフする。すなわち、内部フラグがオンの場合、応答待ち（Ｓ１５）、オフの場合、応答待ちでないと判断される。
【００５３】
クライアント端末１において、ホスト装置５からの問い合わせにコマンドを指示受信部２４が受信し、状態検知部２０が状態保持部２２にアクセスし、取得したＣＰＵ使用時間および内部フラグを応答部２６にホスト装置５への応答として返信させる。ホスト装置５において、この応答を応答受信部５６が受信して、監視部５０が応答に含まれるＣＰＵ使用時間および内部フラグを調べて、各クライアント端末１の起動中のプログラムが計算中（Ｓ１４）または応答待ち（Ｓ１５）の何れか否かを判断する。ここで、計算中（Ｓ１４）または応答待ち（Ｓ１５）の場合、実行中（Ｓ１３）と判断され、何れでもない場合、待機中（Ｓ１６）であると判断される。
【００５４】
図５は、図２のクライアント端末１の部分構成を示す機能ブロック図である。クライアント端末１は、表示部８０と、操作部８２と、通知部８４と、ロック部８６と、受付部８８と、判定部９０と、を含む。表示部８０、操作部８２、通知部８４、ロック部８６、受付部８８、および判定部９０は、図２の制御部１６によって制御される。なお、図中、制御部１６から各構成要素への制御ラインは省略してある。
【００５５】
表示部８０は、たとえば、ＣＲＴモニタ、液晶ディスプレイなどである。操作部８２は、たとえば、キーボード、マウス、タブレット、バーコードリーダなどの入力機器であり、ユーザからの各種設定や入力などの操作指示を受け付ける。操作部８２を介して受け付けた設定や入力などの指示は、受付部８８によって受け付けられる。
【００５６】
本実施形態において、通知部８４は、制御部１６からの指示に基づいて、たとえば、表示部８０に修正プログラムを適用する旨を通知するメッセージを表示させる。たとえば、「これから修正プログラムを適用します。よろしいでしょうか？」などのメッセージとともに、「適用しない」などの操作ボタンを設け、ユーザからの操作指示を待つ。受付部８８は、ユーザが操作部８２を操作して、操作ボタンを押下することによって行った指示を受け付け、判定部９０に通知する。たとえば、修正プログラムを適用するメッセージの応答として、「適用しない」の操作ボタンが押下されたことによって行った不適用の指示は受付部８８が受け付け、判定部９０に通知する。
【００５７】
判定部９０が、一定時間、受付部８８からの通知を監視し、不適用の指示が通知されなかった場合、適用指示をロック部８６に通知する。判定部９０が、不適用の指示の通知を受けた場合、適用処理を行わない旨を制御部１６に通知する。ロック部８６は、判定部９０からの適用指示に呼応して、表示部８０の画面表示をロックし、操作部８２からの入力操作を禁止するとともに、更新部３６に、修正プログラムの適用処理を開始するよう通知する。
【００５８】
このように構成された本実施形態のソフト管理システムの動作について、以下に説明する。図６は、図２のソフト管理システムの動作の一例を示すフローチャートである。
【００５９】
まず、ホスト装置５において、ソフトベンダーなどから提供された修正プログラムが修正プログラム記憶部６０に格納され、準備される（ステップＳ１０１）。つづいて、監視部５０がネットワーク３上の複数のクライアント端末１のそれぞれについて、プログラムの実行状態を監視する（ステップＳ１０３）。上述したように、監視部５０によって各クライアント端末１のプログラムの実行状態は監視される。
【００６０】
クライアント端末１でプログラムが起動中でない（図４のＳ１７）または起動中のプログラムが待機中（図４のＳ１６）の場合（ステップＳ１０３の「起動なし」または「待ち」）、修正プログラムの適用準備処理に入る（ステップＳ１１０）。一方、クライアント端末１の起動中のプログラムが入力中（図４のＳ１２）、計算中（図４のＳ１４）、または応答待ち（図４のＳ１５）の場合（ステップＳ１０３の「入力中」、「計算中」、または「応答待ち」）、ステップＳ１０３に戻り、監視を続ける。
【００６１】
ステップＳ１１０の適用準備処理において、まず、ホスト装置５の監視部５０がインストール部６４にクライアント端末１への修正プログラムの導入を指示する。インストール部６４は、指示部５２に、クライアント端末１に対して修正プログラムの導入開始指示を指示する。指示部５２は、インタフェース部５４を介してクライアント端末１に対して修正プログラムの導入開始指示を送信する。
【００６２】
ネットワーク３を介して修正プログラムの導入開始指示がクライアント端末１に伝達され、クライアント端末１において、指示受信部２４がインタフェース部１４を介して受信する。導入開始指示に呼応して、図５の通知部８４は、表示部８０に修正プログラムの適用する旨を通知するメッセージを表示させる（ステップＳ１１１）。判定部９０は、ユーザからの操作指示を待ち、一定時間経過後、適用拒否がなされなかったと判定した場合（ステップＳ１１３のＮＯ）、ロック部８６に通知し、ロック部８６が表示部８０の画面をロックし、操作部８２からの入力操作を禁止する（ステップＳ１１５）。
【００６３】
一方、判定部９０が適用拒否を受け付けたと判定した場合（ステップＳ１１３のＹＥＳ）、制御部１６に通知し、本処理を終了する。
【００６４】
ステップＳ１１０の適用準備処理が終了すると、指示部５２は、監視部５０が、プログラムを起動中であり、かつそのプログラムの実行状態が待機中（Ｓ１６）であると判断したクライアント端末１に対し、終了指示コマンドを、インタフェース部５４を介して送信して、当該クライアント端末１に起動中のプログラムの終了を指示する（ステップＳ１２１）。各クライアント端末１では、ホスト装置５から終了指示コマンドをインタフェース部１４を介して指示受信部２４が受信し、制御部１６が実行部１０に対して、起動中のプログラムを終了させる。このように、クライアント端末１において待機中のプログラムを遠隔のホスト装置５から自動的に終了させることにより、修正プログラムの適用が可能となる。
【００６５】
つづいて、ホスト装置５の修正プログラム記憶部６０に格納されている修正プログラムをインストール部６４がインタフェース部５４を介して適用準備が完了したクライアント端末１に対して送信する（ステップＳ１２３）。クライアント端末１では、ホスト装置５から送信された修正プログラムをインタフェース部１４を介してプログラム受信部３０が受信し、修正プログラム記憶部３２に格納する。
【００６６】
つづいて、クライアント端末１の更新部３６が修正プログラム記憶部３２に格納されている修正プログラムを適用して、プログラム記憶部１２のプログラムを更新する（ステップＳ１２５）。具体的には、修正プログラムが、たとえば、パッチファイルであった場合、プログラム記憶部１２のプログラムにパッチを当てて、プログラムの修正を行う。あるいは、修正プログラムがアプリケーションを新しいバージョンにアップグレードする更新プログラムであった場合、必要に応じて旧バージョンのアプリケーションのプログラムをプログラム記憶部１２からアンインストール処理した後、新しいバージョンのプログラムをインストールする。
【００６７】
修正プログラムの適用が終了すると、制御部１６は、クライアント端末１を再起動する（ステップＳ１２７）。再起動後は、ユーザが必要に応じてコンピュータの利用を開始する。また、ステップＳ１０１において、複数の修正プログラムが存在する場合、ステップＳ１０３に戻り、処理を繰り返すこともできる。
【００６８】
以上説明したように、本発明の実施の形態のシステムによれば、ネットワーク３に接続された複数のクライアント端末１におけるプログラムの実行状態を監視することにより、業務期間中であっても待機状態であればクライアント端末１に対して、遠隔のホスト装置５からネットワーク３を介して修正プログラムの適用やアプリケーションの更新を迅速に行うことが可能となる。これにより、複数のクライアント端末１に対して遠隔のホスト装置５から修正や更新などのメンテナンス作業が可能となるので、個々のクライアント端末１毎にメンテナンス作業を行うのに比較して、作業効率が向上し、メンテナンス作業にかかるコストを削減できる。また、ソフトベンダーなどから日々提供されるホットフィックスなども迅速に適用することができるので、システムの信頼性が向上する。
【００６９】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００７０】
たとえば、図７に示すようにホスト装置５は、図２の上記実施の形態の構成に加え、プログラム受付部９２と、プログラム登録部９４と、メディア読取部９６と、を含むことができる。
【００７１】
プログラム受付部９２は、インタフェース部５４を介してソフトベンダーなどから提供させる修正プログラムなどをダウンロードして受け付ける。あるいは、メディア読取部９６によってメディアから読み取られた修正プログラムを受け付ける。
【００７２】
プログラム登録部９４は、プログラム受付部９２が受け付けた修正プログラムを修正プログラム記憶部６０に格納するとともに、監視部５０に新しい修正プログラムがリリースされたことを通知する。監視部５０は、この通知を受け、ネットワーク３上の各クライアント端末１に対して、修正プログラムを導入するための処理を開始させる準備を開始する。すなわち図６のフローチャートのステップＳ１０３に進む。メディア読取部９６は、各種記録媒体、たとえば、ＤＶＤ、ＣＤ−ＲＯＭ、ＭＯ、ＳＤカード、またはＣＦなどに記録されて提供された修正プログラムを読み取り、プログラム受付部９２に受け渡す。
【００７３】
この構成によれば、新たな修正プログラムがリリースされ、登録されると同時に、ネットワーク３上の複数のクライアント端末１に対して、修正プログラムの適用処理を行うことができるので、ソフトベンダーなどから日々提供されるホットフィックスなども迅速に適用することができるので、システムの信頼性が向上する。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態に係るシステムのネットワーク構成を示した構成図である。
【図２】図１のシステムのホスト装置およびクライアント端末の機能を示す機能ブロック図である。
【図３】図１のシステムのクライアント端末が実行する実行プログラムとアプリケーションと関係を説明するための図である。
【図４】図３の実行プログラムの状態遷移を説明するための状態遷移図である。
【図５】図２のクライアント端末の部分構成を示す機能ブロック図である。
【図６】図２のシステムの動作の一例を示すフローチャートである。
【図７】本発明の他の実施の形態に係るシステムの要部構成を示す機能ブロック図である。
【符号の説明】
【００７５】
１  クライアント端末
３  ネットワーク
５  ホスト装置
１０  実行部
１２  プログラム記憶部
１４  インタフェース部
１６  制御部
２０  状態検知部
２２  状態保持部
２４  指示受信部
２６  応答部
３０  プログラム受信部
３２  修正プログラム記憶部
３６  更新部
５０  監視部
５２  指示部
５４  インタフェース部
５６  応答受信部
６０  修正プログラム記憶部
６４  インストール部
７０  アプリケーション
７２  実行プログラム
８０  表示部
８２  操作部
８４  通知部
８６  ロック部
８８  受付部
９０  判定部
【図１】
2006163573.tif 000003
【図２】
2006163573.tif 000004
【図３】
2006163573.tif 000005
【図４】
2006163573.tif 000006
【図５】
2006163573.tif 000007
【図６】
2006163573.tif 000008
【図７】
2006163573.tif 000009