(57)【特許請求の範囲】
【請求項１】
クライアント端末がネットワーク経由でファイルサーバから取得した更新ファイルに基づいてクライアントプログラムと更新プログラムとを実行するとき、当該クライアントプログラムを自動更新する機能を持つクライアントプログラム自動更新システムであって、
前記ファイルサーバ内に保有されると共に、前記クライアント端末の使用対象となる前記クライアントプログラムの全てに対して更新するインストールファイルを前記更新ファイルとして階層構造で格納した更新ファイル格納ディレクトリと、前記クライアントプログラムの実行により前記クライアント端末内に構築されると共に、前記更新ファイルについての前記インストールファイルを確認するインストーラ確認処理部と、前記更新プログラムの実行により前記クライアント端末内に構築されると共に、前記インストールファイルをダウンロードするダウンロード処理部と、前記更新プログラムの実行により前記クライアント端末内に構築されると共に、前記ダウンロード処理部によるダウンロード後の前記インストールファイルをインストールして前記クライアントプログラムを段階別に更新する更新処理部と、前記クライアント端末内に保有されると共に、前記クライアントプログラムに対して更新する前記インストールファイルを階層構造で格納したインストールファイル格納ディレクトリと、を備え、
前記インストーラ確認処理部は、前記クライアントプログラムの更新日時を前記インストールファイルの反映日時で指定するようにして前記更新ファイルについてのインストーラ確認処理を行う際、インストールが必要な当該インストールファイルの存在有無のチェックを前記インストールファイル格納ディレクトリ、及び前記ネットワーク経由で前記更新ファイル格納ディレクトリに対して行い、前記ダウンロード処理部は、前記インストーラ確認処理部による前記存在有無のチェックの結果が存在するときに、前記更新ファイル格納ディレクトリのインストールが必要な前記インストールファイルを前記ネットワーク経由で前記インストールファイル格納ディレクトリへダウンロードしてコピーし、前記更新処理部は、前記ダウンロード処理部による前記コピー後の前記インストールファイル格納ディレクトリに存在する前記インストールファイルのインストールを行うことを特徴とするクライアントプログラム自動更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルサーバからネットワーク経由で取得した更新ファイルに基づいてクライアント端末が段階的にクライアントプログラムを自動更新するクライアントプログラム自動更新システムに関する。
【背景技術】
【０００２】
従来、プログラムの自動更新に係る周知技術としては、例えば携帯端末装置の利用者がインストールの操作を知らなくても、最新のバージョンのプログラムを利用することができるようにした「プログラム自動更新システム」（特許文献１参照）が挙げられる。
【０００３】
このプログラム自動更新システムは、携帯端末装置内に保持したアプリケーションのバージョン情報とインターネットサービスプロバイダのサーバに保持した最新アプリケーションのバージョン情報とを比較した結果、携帯端末装置側のアプリケーションのバージョンが古ければ、最新バージョンのプログラムをダウンロードし、携帯端末装置側のアプリケーションのプログラムを自動的に更新するものである。
【特許文献１】特開２０００−２７６３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１に係るプログラム自動更新システムは、アプリケーションのバージョン情報のみを比較するものであるため、更新対象となるプログラムに関連するプログラムやマスタデータを更新する場合には、更新時間に合わせて最新バージョンのプログラムをセットする必要があり、プログラムの自動更新が簡易に行われ難い場合があるという問題がある。
【０００５】
また、プログラムを自動更新する場合に一度対象のアプリケーションを起動する必要があるため、複数のプログラムを更新しようとした場合には、アプリケーション起動後に再度アプリケーションを起動する必要があり、複数のプログラムの更新には手間がかかってしまうという問題もある。
【０００６】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、クライアント端末側で複数のプログラムを対象にしても自動更新が簡易に行われるクライアントプログラム自動更新システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記技術的課題を解決するため、本発明は、クライアント端末がネットワーク経由でファイルサーバから取得した更新ファイルに基づいてクライアントプログラムと更新プログラムとを実行するとき、当該クライアントプログラムを自動更新する機能を持つクライアントプログラム自動更新システムであって、ファイルサーバ内に保有されると共に、クライアント端末の使用対象となるクライアントプログラムの全てに対して更新するインストールファイルを更新ファイルとして階層構造で格納した更新ファイル格納ディレクトリと、クライアントプログラムの実行によりクライアント端末内に構築されると共に、更新ファイルについてのインストールファイルを確認するインストーラ確認処理部と、更新プログラムの実行によりクライアント端末内に構築されると共に、インストールファイルをダウンロードするダウンロード処理部と、更新プログラムの実行によりクライアント端末内に構築されると共に、ダウンロード処理部によるダウンロード後のインストールファイルをインストールしてクライアントプログラムを段階別に更新する更新処理部と、クライアント端末内に保有されると共に、クライアントプログラムに対して更新するインストールファイルを階層構造で格納したインストールファイル格納ディレクトリと、を備え、インストーラ確認処理部は、クライアントプログラムの更新日時をインストールファイルの反映日時で指定するようにして更新ファイルについてのインストーラ確認処理を行う際、インストールが必要な当該インストールファイルの存在有無のチェックをインストールファイル格納ディレクトリ、及びネットワーク経由で更新ファイル格納ディレクトリに対して行い、ダウンロード処理部は、インストーラ確認処理部による存在有無のチェックの結果が存在するときに、更新ファイル格納ディレクトリのインストールが必要なインストールファイルをネットワーク経由でインストールファイル格納ディレクトリへダウンロードしてコピーし、更新処理部は、ダウンロード処理部によるコピー後のインストールファイル格納ディレクトリに存在するインストールファイルのインストールを行うことを特徴とする。
【発明の効果】
【０００９】
本発明のクライアントプログラム自動更新システムによれば、クライアント端末側で複数のプログラムを対象にしても自動更新が簡易に行われ、特にクライアントプログラムの更新日時をインストールファイルの反映日時で指定するようにして更新ファイルについてのインストーラ確認を行うため、業務時間や業務運用ルールに特化したクライアントプログラムの自動更新が行われる結果、関連する他システムについてのプログラムの更新やマスタデータの更新が発生する日時に合わせてインストールファイルのファイル名に反映日時を指定し、インストールファイルを格納するようにしてクライアントプログラムを自動更新することが可能となり、システム管理者の工数を低減することができるようになる他、業務に関連するプログラム修正に対するクライアントプログラムを複数更新する場合にも、業務時間終了後の時間をインストールファイルの反映日時に指定すれば、業務時間を待つことなく事前にインストールファイルを格納するようにして同様に各クライアントプログラムを自動更新することが可能となり、システム管理者の工数を低減することができるため、産業上有益となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１に係るクライアントプログラム自動更新システムを含むネットワークで接続されたファイルサーバ及びクライアント端末の運用環境全体を示した概略構成図である。
【図２】図１に示すクライアント端末内でクライアントプログラムの実行により構築されるインストーラ確認処理部の動作処理を示したフローチャートである。
【図３】図１に示すクライアント端末内で更新プログラムの実行により構築されるダウンロード処理部の動作処理を示したフローチャートである。
【図４】図１に示すクライアント端末内で更新プログラムの実行により構築される更新処理部の動作処理を示したフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明のクライアントプログラム自動更新システムについて、図面を参照して詳細に説明する。
【実施例１】
【００１２】
図１は、本発明の実施例１に係るクライアントプログラム自動更新システム１１１を含むネットワーク１０８で接続されたファイルサーバ１０９及びクライアント端末（以下、クライアントＰＣとする）１０１の運用環境全体を示した概略構成図である。
【００１３】
このクライアントプログラム自動更新システム１１１は、クライアントＰＣ１０１がネットワーク１０８経由でファイルサーバ１０９から取得した更新ファイルに基づいてクライアントプログラム１０２と更新プログラム１０４とを実行するとき、クライアントプログラム１０２を自動更新する機能を持つものである。
【００１４】
因みに、ここでのクライアントＰＣ１０１及びファイルサーバ１０９は、よく知られているように、略図するＣＰＵ、主メモリ、補助記憶部（ＨＤＤ）等による記憶装置、表示装置、及びキーボード・マウス等の入出力装置を備えた情報処理装置として構成される。また、クライアントＰＣ１０１におけるクライアントプログラム１０２及び更新プログラム１０４は、主メモリ等に記憶され、ＣＰＵが読み出して実行するものである。
【００１５】
クライアントプログラム自動更新システム１１１は、機能構成上、クライアントプログラム１０２の実行によりクライアントＰＣ１０１内に構築されると共に、更新ファイルについてのインストールファイルを確認するインストーラ確認処理部１０３と、更新プログラム１０４の実行によりクライアントＰＣ１０１内に構築されると共に、インストールファイルをダウンロードするダウンロード処理部１０５と、更新プログラム１０４の実行によりクライアントＰＣ１０１内に構築されると共に、ダウンロード処理部１０５によるダウンロード後のインストールファイルをインストールしてクライアントプログラムを段階別に更新する更新処理部１０６と、ファイルサーバ１０９内に保有されると共に、クライアントＰＣ１０１の使用対象となるクライアントプログラム１０２の全て（クライアントＰＣ１０１が複数台存在する場合等を示す）に対して更新するインストールファイルを更新ファイルとして階層構造で格納した更新ファイル格納ディレクトリ１１０と、クライアントＰＣ１０１内に保有されると共に、クライアントプログラム１０２に対して更新するインストールファイルを階層構造で格納したインストールファイル格納ディレクトリ１０７と、を備える。
【００１６】
また、インストーラ確認処理部１０３がクライアントプログラム１０２の更新日時をインストールファイルの反映日時で指定するようにして更新ファイルについてのインストーラ確認処理を行う。これにより、クライアントプログラム１０２の実行時にインストーラ確認処理部１０３がインストールファイルを格納するインストールファイル格納ディレクトリ１０７、及び更新ファイル格納ディレクトリ１１０に存在するインストールファイルのファイル名の反映日時を参照し、更新プログラム１０４の実行時に対象となるインストールファイルについてのダウンロード処理部１０５によるダウンロードや更新処理部１０６によるダウンロード後のインストールを実施する。因みに、インストールファイルのファイル名は、「（更新対象のｅｘｅファイル名）＋″_Ｖ″＋（バージョン）＋″Ｒ″+（リビジョン）＋″_″＋（反映日時[ＹＹＹＹＭＭＤＤｈｈｍｍｓｓ]）．ｃａｂ」を前提とする場合を例示できる。
【００１７】
各部の動作を説明すれば、インストーラ確認処理部１０３は、クライアントプログラム１０２の実行時に起動してインストールが必要なインストールファイルの存在有無のチェックをインストールファイル格納ディレクトリ１０７、及びネットワーク１０８経由で更新ファイル格納ディレクトリ１１０に対して行う。ダウンロード処理部１０５は、更新プログラム１０４の実行時に起動してインストーラ確認処理部１０３による存在有無のチェックの結果が存在するとき（この場合には更新プログラム１０４が起動し、クライアントプログラム１０２は終了する）に、更新ファイル格納ディレクトリ１１０のインストールが必要なインストールファイルをネットワーク１０８経由でインストールファイル格納ディレクトリ１０７へダウンロードしてコピーする。更新処理部１０６は、同様に更新プログラム１０４の実行時に起動してダウンロード処理部１０５によるコピー後のインストールファイル格納ディレクトリ１０７に存在するインストールファイルのインストールを行う。
【００１８】
図２は、クライアントＰＣ１０１内でクライアントプログラム１０２の実行により構築されるインストーラ確認処理部１０３の動作処理を示したフローチャートである。尚、以下に示す各図のフローチャートでも同様であるが、図示される反映日時は、インストールファイルのファイル名の反映日時を示している。
【００１９】
インストーラ確認処理部１０３の動作処理では、最初にクライアントＰＣ１０１がクライアントプログラム１０２を実行し、クライアントＰＣ１０１のインストールファイル格納ディレクトリ１０７の未インストールファイルの件数分処理を繰り返す（ステップＳ２０１）処理の設定を行った後、インストールファイル格納ディレクトリ１０７のインストール済みファイルの反映日時が存在するか否かをチェックし、反映日時（インストール済みファイル）＝ｎｕｌｌ（長さ０の文字列等、何のデータも含まれない状態）であるか否かの判定（ステップＳ２０２）を行う。
【００２０】
この判定の結果、反映日時（インストール済みファイル）＝ｎｕｌｌであれば（反映日時が存在しなければ）、反映日時（未インストールファイル）がシステム日時以前であるか否かを反映日時（未インストールファイル）≦システム日時であるか否かの判定（ステップＳ２０３）により行い、反映日時（インストール済みファイル）＝ｎｕｌｌでなければ（反映日時が存在すれば）、反映日時（未インストールファイル）がインストール済みファイルの反映日時より未来日であり、反映日時（未インストールファイル）がシステム日時以前であるか否かについて、反映日時（未インストールファイル）＞反映日時（インストール済みファイル）、且つ反映日時（未インストールファイル）≦システム日時であるか否かの判定（ステップＳ２０４）を行う。
【００２１】
上述の反映日時（未インストールファイル）≦システム日時であるか否かの判定（ステップＳ２０３）の結果、反映日時（未インストールファイル）がシステム日時以前であれば、更新プログラム１０４起動（ステップＳ２１１）の処理を行った後にクライアントプログラム１０２終了の処理（ステップＳ２１２）に移行してから動作処理を終了するようにするが、反映日時（未インストールファイル）がシステム日時より未来日であれば、最初の未インストールファイルの件数分処理を繰り返す（ステップＳ２０１）処理の設定にリターンして動作処理を繰り返す。
【００２２】
また、反映日時（未インストールファイル）＞反映日時（インストール済みファイル）、且つ反映日時（未インストールファイル）≦システム日時であるか否かの判定（ステップＳ２０４）の結果、未インストールファイルの反映日時がインストール済みファイルの反映日時より未来日で、且つ未インストールファイルの反映日時がシステム日時以前であれば、更新プログラム１０４起動（ステップＳ２１１）の処理を行った後にクライアントプログラム１０２終了の処理（ステップＳ２１２）に移行してから動作処理を終了するようにするが、それ以外であれば、最初の未インストールファイルの件数分処理を繰り返す（ステップＳ２０１）処理の設定にリターンして動作処理を繰り返す。
【００２３】
この後、クライアントＰＣ１０１のインストーラ確認処理部１０３では、ファイルサーバ１０９における更新ファイル格納ディレクトリ１１０に対してインストール対象の更新ファイルが存在するか否かをチェックし、更新ファイル（更新ファイル格納ディレクトリ１１０）≧１であるか否かの判定（ステップＳ２０５）を行う。
【００２４】
この判定の結果、更新ファイル（更新ファイル格納ディレクトリ１１０）≧１でなければ（更新ファイルが存在しなければ）、動作処理を終了するが、更新ファイル（更新ファイル格納ディレクトリ１１０）≧１であれば（更新ファイルが存在すれば）、ファイルサーバ１０９の更新ファイル格納ディレクトリ１１０の更新ファイルの件数分繰り返す（ステップＳ２０６）処理の設定を行った後、クライアントＰＣ１０１のインストールファイル格納ディレクトリ１０７のインストール済みファイルの反映日時が存在するか否かをチェックし、反映日時（インストール済みファイル）＝ｎｕｌｌであるか否かの判定（ステップＳ２０７）を行う。
【００２５】
この判定の結果、反映日時（インストール済みファイル）＝ｎｕｌｌであれば（反映日時が存在しなければ）、更新プログラム１０４起動（ステップＳ２１１）の処理を行った後にクライアントプログラム１０２終了の処理（ステップＳ２１２）に移行してから動作処理を終了するようにするが、反映日時（インストール済みファイル）＝ｎｕｌｌでなければ（反映日時が存在すれば）、引き続いて更新ファイルの反映日時がインストール済みファイルの反映日時以前であるか否かを、反映日時（更新ファイル）≦反映日時（インストール済みファイル）であるか否かの判定（ステップＳ２０８）により行う。
【００２６】
この判定の結果、更新ファイルの反映日時がインストール済みファイルの反映日時以前であれば、更新プログラム１０４起動（ステップＳ２１１）の処理を行った後にクライアントプログラム１０２終了の処理（ステップＳ２１２）に移行してから動作処理を終了するようにするが、更新ファイルの反映日時がインストール済みファイルの反映日時より未来日であれば、引き続いて更新ファイルの反映日時がシステム日時以前であるか否かを、反映日時（更新ファイル）≦システム日時であるか否かの判定（ステップＳ２０９）により行う。
【００２７】
この判定の結果、更新ファイルの反映日時がシステム日時以前であれば、ファイルサーバ１０９の更新ファイル格納ディレクトリ１１０の更新ファイルの件数分繰り返す（ステップＳ２０６）処理の設定にリターンして動作処理を繰り返すが、更新ファイルの反映日時がシステム日時より未来日であれば、引き続いて更新ファイルの反映日時がシステム日時より未来日であるか否かを、反映日時（更新ファイル）＞システム日時であるか否かの判定（ステップＳ２１０）により行う。
【００２８】
この判定の結果、更新ファイルの反映日時がシステム日時より未来日であれば、更新プログラム１０４起動（ステップＳ２１１）の処理を行った後にクライアントプログラム１０２終了の処理（ステップＳ２１２）に移行してから動作処理を終了するようにするが、更新ファイルの反映日時がシステム日時以前であれば、ファイルサーバ１０９の更新ファイル格納ディレクトリ１１０の更新ファイルの件数分繰り返す（ステップＳ２０６）処理の設定にリターンして動作処理を繰り返す。
【００２９】
因みに、上述した更新プログラム１０４起動（ステップＳ２１１）の処理により更新プログラム１０４が実行されると、ダウンロード処理部１０５と更新処理部１０６とが機能動作するが、これについては後文で図３及び図４を参照して詳述する。また、更新プログラム１０４起動（ステップＳ２１１）の処理後には、上述したようにクライアントプログラム１０２終了（ステップＳ２１２）の処理を行うようにする。
【００３０】
要するに、インストーラ確認処理部１０３は、上述した動作処理の結果、クライアントプログラム１０２の更新日時をインストールファイルの反映日時で指定するようにして更新ファイルについてのインストーラ確認処理を行うことを前提とし、クライアントＰＣ１０１内のインストールファイル格納ディレクトリ１０７とファイルサーバ１０９内の更新ファイル格納ディレクトリ１１０とを対象として、インストールファイルの存在有無のチェックするものである。
【００３１】
図３は、クライアントＰＣ１０１内で更新プログラム１０４の実行により構築されるダウンロード処理部１０５の動作処理を示したフローチャートである。
【００３２】
ダウンロード処理部１０５の動作処理では、最初に更新ファイル格納ディレクトリ１１０のダウンロード対象ファイルが、インストール済みファイルの反映日時以降、且つダウンロード対象ファイルの反映日時がシステム日時以前の件数分繰り返す（ステップＳ３０１）処理の設定を行った後、クライアントＰＣ１０１のインストールファイル格納ディレクトリ１０７にファイル名が同一のファイルが存在するか否かの判定（ステップＳ３０２）を行う。
【００３３】
この判定の結果、同一のファイルが存在すれば、更新ファイル格納ディレクトリ１１０のダウンロード対象ファイルが、インストール済みファイルの反映日時以降、且つダウンロード対象ファイルの反映日時がシステム日時以前の件数分繰り返す（ステップＳ３０１）処理の設定にリターンして動作処理を繰り返すが、同一のファイルが存在しなければ、引き続いて更新ファイル格納ディレクトリ１１０に存在するダウンロード対象ファイルをインストールファイル格納ディレクトリ１０７にファイルコピー（ステップＳ３０３）してダウンロードする処理を経てから動作処理を終了する。
【００３４】
要するに、ダウンロード処理部１０５は、上述した動作処理の結果、インストーラ確認処理部１０３による存在有無のチェックの結果が存在するときに、更新ファイル格納ディレクトリ１１０のインストールが必要なインストールファイルをネットワーク１０８経由でインストールファイル格納ディレクトリ１０７へダウンロードしてコピーするものである。
【００３５】
図４は、クライアントＰＣ１０１内で更新プログラム１０４の実行により構築される更新処理部１０６の動作処理を示したフローチャートである。
【００３６】
更新処理部１０６の動作処理では、最初にインストールファイル格納ディレクトリ１０７のインストール対象ファイルが、インストール済みファイルの反映日時以前、且つシステム日付以前の件数分、反映日時の古い順に繰り返す（ステップＳ４０１）処理の設定を行った後、インストール対象ファイルのインストール（ステップＳ４０２）を行う。
【００３７】
インストール（ステップＳ４０２）の処理の結果、インストールに成功すれば（ＯＫであれば）、成功したインストールファイルをインストール済みにリネーム（ステップＳ４０３）する処理を行い、インストールに失敗すれば（ＮＧであれば）、失敗したインストールファイルのファイル名をイベントログ出力（ステップＳ４０４）する処理を行い、何れの場合もその後はインストール対象ファイルが、インストール済みファイルの反映日時以前、且つシステム日付以前の件数分、反映日時の古い順に繰り返す（ステップＳ４０１）処理の設定にリターンして動作処理を繰り返すようにして、繰り返しの処理が済み次第、動作処理を終了する。例えば、インストール前のファイル名を（更新対象のｅｘｅファイル名）＋″_Ｖ″＋（バージョン）＋″Ｒ″ +（リビジョン）＋″_″＋（反映日時[ＹＹＹＹＭＭＤＤｈｈｍｍｓｓ]）．ｃａｂ、インストール済みファイル名を（更新対象のｅｘｅファイル名）＋″_Ｖ″＋（バージョン）＋″Ｒ″ ＋（リビジョン）＋″_″＋（反映日時[ＹＹＹＹＭＭＤＤｈｈｍｍｓｓ]）．ｃａｂ．ｂａｋとした場合を例示できる。
【００３８】
要するに、更新処理部１０６は、上述した動作処理の結果、ダウンロード処理部１０５によるコピー後のインストールファイル格納ディレクトリ１０７に存在するインストールファイルのインストールを行い、クライアントプログラム１０２を段階別に更新するものである。
【００３９】
以上に説明した実施例１に係るクライアントプログラム自動更新システム１１１によれば、クライアントＰＣ１０１側で複数のクライアントプログラム１０２を対象にしても自動更新が簡易に行われ、特にクライアントプログラム１０２の更新日時をインストールファイルの反映日時で指定するようにして更新ファイルについてのインストーラ確認を行うため、業務時間や業務運用ルールに特化したクライアントプログラム１０２の自動更新が行われるようになる。この結果、関連する他システムについてのプログラムの更新やマスタデータの更新が発生する日時に合わせてインストールファイルのファイル名に反映日時を指定し、インストールファイルを格納するようにしてクライアントプログラム１０２を自動更新することが可能となり、システム管理者の工数を低減することができる。また、業務に関連するプログラム修正に対するクライアントプログラム１０２を複数更新する場合にも、業務時間終了後の時間をインストールファイルの反映日時に指定すれば、業務時間を待つことなく事前にインストールファイルを格納するようにして同様に各クライアントプログラム１０２を自動更新することが可能となり、システム管理者の工数を低減することができる。
【符号の説明】
【００４０】
１０１  クライアントＰＣ（クライアント端末）
１０２  クライアントプログラム
１０３  インストーラ確認処理部
１０４  更新プログラム
１０５  ダウンロード処理部
１０６  更新処理部
１０７  インストールファイル格納ディレクトリ
１０８  ネットワーク
１０９  ファイルサーバ
１１０  更新ファイル格納ディレクトリ
１１１  クライアントプログラム自動更新システム
【図１】
0005689659.tif 000002
【図２】
0005689659.tif 000003
【図３】
0005689659.tif 000004
【図４】
0005689659.tif 000005