(57)【要約】【課題】クライアントへのプログラムの配信を分散してネットワークの負荷を軽減し、さらに、クライアントでの業務処理を停止させることなくサーバからのプログラムの受信及び更新を行うシステムを提供することを目的とする。【解決手段】クライアントコンピュータ３で起動するクライアントプログラムを更新するための更新プログラム２１をサーバコンピュータ２に記憶し、クライアントコンピュータ３で、ネットワーク４の負荷を監視して、ネットワーク４の負荷に基づいて、更新プログラム２１をサーバコンピュータ３から受信をし、さらに、ジョブやプロセスなどの状態から、前記クライアントプログラムが起動中であるかや、起動予定があるかなどのクライアントプログラムの起動状態を監視して、前記クライアントプログラムの更新が可能か否かを判断して更新プログラム２１で更新を行う。【選択図】図１
2004206260.tif 000002
【特許請求の範囲】
【請求項１】
サーバコンピュータとクライアントコンピュータとがネットワークを介して接続され、前記クライアントコンピュータで起動するクライアントプログラムを更新するための更新プログラムを前記サーバコンピュータに記憶して、上記更新プログラムを前記クライアントコンピュータに配信するプログラム配信システムにおいて、
前記クライアントコンピュータには、
前記更新プログラムを前記サーバコンピュータから予め受信して記憶する更新プログラム記憶手段と、
ジョブやプロセスなどの状態から、前記クライアントプログラムが起動中であるかや、起動予定があるかなどのクライアントプログラムの起動状態を監視した監視情報を作成するプログラム監視手段と、
前記監視情報に基づき、前記クライアントプログラムの更新が可能か否かを判断して、前記更新プログラム記憶手段に記憶している更新プログラムで更新を行うプログラム更新手段と、を備えたプログラム配信システム。
【請求項２】
サーバコンピュータとクライアントコンピュータとがネットワークを介して接続され、前記クライアントコンピュータで起動するクライアントプログラムを更新するための更新プログラムを前記サーバコンピュータに記憶して、上記更新プログラムを前記クライアントコンピュータに配信するプログラム配信システムにおいて、
前記クライアントコンピュータには、
前記ネットワークの負荷を監視して、上記ネットワークの負荷に基づいて、前記更新プログラムを前記サーバコンピュータから受信するか否かを判断するプログラム受信手段と、
前記受信した更新プログラムを記憶する更新プログラム記憶手段と、
ジョブやプロセスなどの状態から、前記クライアントプログラムが起動中であるかや、起動予定があるかなどのクライアントプログラムの起動状態を監視した監視情報を作成するプログラム監視手段と、
前記監視情報に基づき、前記クライアントプログラムの更新が可能か否かを判断して、前記更新プログラム記憶手段に記憶している更新プログラムで更新を行うプログラム更新手段と、を備えたプログラム配信システム。
【請求項３】
請求項１または２記載のプログラム配信システムにおいて、
前記プログラム監視手段では、前記クライアントプログラムを起動する手順を記憶した定義情報に基づいて、前記ジョブやプロセスなどの状態を取得することを特徴とするプログラム配信システム。
【請求項４】
請求項２または３記載のプログラム配信システムにおいて、
前記クライアントコンピュータでは、前記更新プログラムの適用期限に関する情報を前記サーバコンピュータから受信し、前記プログラム受信手段では、上記適用期限に基づき更新プログラムを受信することを特徴とするプログラム配信システム。
【請求項５】
請求項１〜３いずれか記載のプログラム配信システムにおいて、
前記クライアントコンピュータでは、前記更新プログラムの適用期限に関する情報を前記サーバコンピュータから受信し、前記プログラム更新手段では、上記適用期限に基づきクライアントプログラムの更新を行うことを特徴とするプログラム配信システム。
【請求項６】
請求項２〜５いずれか記載のプログラム配信システムにおいて、
前記クライアントコンピュータでは、クライアントコンピュータ毎にクライアントプログラムを前記更新プログラムで更新する優先順位を決め、前記プログラム受信手段では、上記優先順位に基づいて更新プログラムを前記サーバコンピュータから受信することを特徴とするプログラム配信システム。
【請求項７】
請求項１〜５いずれか記載のプログラム配信システムにおいて、
前記クライアントコンピュータでは、クライアントコンピュータ毎にクライアントプログラムを前記更新プログラムで更新する優先順位を決め、前記プログラム更新手段では、上記優先順位に基づいてクライアントプログラムを更新することを特徴とするプログラム配信システム。
【請求項８】
請求項６または７記載のプログラム配信システムにおいて、
前記優先順位は、更新するクライアントプログラムの使用頻度に基づいて優先順位を設定することを特徴とするプログラム配信システム。
【請求項９】
請求項６〜８いずれか記載のプログラム配信システムにおいて、
前記クライアントコンピュータで長時間更新されないクライアントプログラムの優先順位を上げることを特徴とするプログラム配信システム。
【請求項１０】
請求項１〜９いずれか記載のプログラム配信システムにおいて、
前記プログラム更新手段では、同時に更新しなければならないクライアントプログラムに該当する前記更新プログラムを管理し、上記同時に更新しなければならないクライアントプログラムを該当する前記更新プログラムで一斉に更新することを特徴とするプログラム配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して接続されるサーバから、クライアントにプログラムやデータ等の情報を配信するシステムに関するものである。
【０００２】
【従来の技術】
従来、プログラム配信システムは、サーバコンピュータ側でプログラムを管理し、そのプログラムを必要とするクライアントコンピュータ側に配信する。このようなシステムで、複数のクライアントコンピュータで同時にプログラムを配信すると、ネットワークリソースを集中的に使用することになり、プログラムの受け取りに時間がかかっていた。
【０００３】
そこで、ネットワークの負荷を軽減するために、サーバコンピュータから更新情報（レビジョン）をクライアントコンピュータに送信し、その更新情報をチェックして、クライアントコンピュータ側で使用頻度の高い対象ファイルのみをサーバコンピュータに要求するようにして、サーバコンピュータ側の負担を軽減し、さらに、ネットワークや回線の負荷も減少させようとするものがあった（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特許第２８５９２００号公報
【０００５】
【発明が解決しようとする課題】しかしながら、このようなプログラム配信システムでは、クライアントコンピュータ側でプログラムを受信する時や、プログラム更新をおこなうときにはクライアントコンピュータで動作している業務プログラムを停止させて、受信や更新を行わなければならない。そのためクライアントコンピュータでは、受信や更新の間は業務プログラムを停止する必要がある。また、操作者はその間使用不可の状態となる。
【０００６】
一方、クライアントコンピュータのプログラムは必要な時期に適宜更新しなければ、他のクライアントコンピュータとの整合やプロセス間での整合が取れなくなり、様々な問題を引き起こす原因になり得る。
【０００７】
本発明は、このような事情に対処してなされたもので、クライアントへのプログラムの配信を分散してネットワークの負荷を軽減し、さらに、クライアントでの業務処理を停止させることなくサーバからのプログラムの受信及び更新を行うシステムを提供することを目的とする。
さらに、クライアントで適切な時期に更新され、クライアント間やクライアントのプロセス間での整合が計れるシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述の課題を考慮して、本発明は以下のような構成を採用する。
請求項１のプログラム配信システムでは、サーバコンピュータとクライアントコンピュータとがネットワークを介して接続され、前記クライアントコンピュータで起動するクライアントプログラムを更新するための更新プログラムを前記サーバコンピュータに記憶して、上記更新プログラムを前記クライアントコンピュータに配信するプログラム配信システムにおいて、前記クライアントコンピュータには、前記更新プログラムを前記サーバコンピュータから予め受信して記憶する更新プログラム記憶手段と、ジョブやプロセスなどの状態から、前記クライアントプログラムが起動中であるかや、起動予定があるかなどのクライアントプログラムの起動状態を監視した監視情報を作成するプログラム監視手段と、前記監視情報に基づき、前記クライアントプログラムの更新が可能か否かを判断して、前記更新プログラム記憶手段に記憶している更新プログラムで更新を行うプログラム更新手段と、を備える。
【０００９】
上記の構成では、起動中のジョブやプロセスからどのクライアントプログラムが起動中であるかや起動される予定を判断して、プログラムの更新を行うので、クライアントコンピュータで行っている業務処理などを中断することなくクライアントプログラムの更新を行うことができる。
【００１０】
請求項２のプログラム配信システムでは、サーバコンピュータとクライアントコンピュータとがネットワークを介して接続され、前記クライアントコンピュータで起動するクライアントプログラムを更新するための更新プログラムを前記サーバコンピュータに記憶して、上記更新プログラムを前記クライアントコンピュータに配信するプログラム配信システムにおいて、前記クライアントコンピュータには、前記ネットワークの負荷を監視して、上記ネットワークの負荷に基づいて、前記更新プログラムを前記サーバコンピュータから受信するか否かを判断するプログラム受信手段と、前記受信した更新プログラムを記憶する更新プログラム記憶手段と、ジョブやプロセスなどの状態から、前記クライアントプログラムが起動中であるかや、起動予定があるかなどのクライアントプログラムの起動状態を監視した監視情報を作成するプログラム監視手段と、前記監視情報に基づき、前記クライアントプログラムの更新が可能か否かを判断して、前記更新プログラム記憶手段に記憶している更新プログラムで更新を行うプログラム更新手段と、を備える。
【００１１】
上記の構成では、ネットワークの負荷状況に応じて、更新プログラムをサーバコンピュータから受信するのでネットワークの負荷を分散することができる。さらに、クライアントコンピュータにおける起動中のジョブやプロセスから、どのクライアントプログラムが起動中であるかや起動される予定のクライアントプログラムから判断して、予め受信していた更新プログラムでクライアントプログラムの更新を行うので、業務処理などを中断することなくクライアントプログラムの更新を行うことができる。
【００１２】
また、請求項３では、請求項１または２記載のプログラム配信システムにおいて、前記プログラム監視手段では、前記クライアントプログラムを起動する手順を記憶した定義情報に基づいて、前記ジョブやプロセスなどの状態を取得することを特徴とする。
【００１３】
上記の構成では、業務処理などに従ってクライアントプログラムを起動する手順を定義した定義情報から、起動中のクライアントプログラムや起動予定（タイムスケジュール等）などがわかる。また、定義情報が無い場合等は起動中のプログラムの外部との入出力を監視することにより次に動作が予定されるであろうプログラムを類推する（例えば、画面入出力が続けば続くプログラムも画面入出力と判断する）。
【００１４】
また、請求項４では、請求項２または３記載のプログラム配信システムにおいて、前記クライアントコンピュータでは、前記更新プログラムの適用期限に関する情報を前記サーバコンピュータから受信し、前記プログラム受信手段では、上記適用期限に基づき更新プログラムを受信することを特徴とする。
【００１５】
上記の構成では、更新プログラムの適用期限に基づいてプログラムを受信するので、適切な時期にプログラムの更新が行われ、更新プログラムの受信洩れが防止される。
【００１６】
また、請求項５では、請求項１〜３いずれか記載のプログラム配信システムにおいて、前記クライアントコンピュータでは、前記更新プログラムの適用期限に関する情報を前記サーバコンピュータから受信し、前記プログラム更新手段では、上記適用期限に基づきクライアントプログラムの更新を行うことを特徴とする。
【００１７】
上記の構成では、更新プログラムの適用期限に基づいてプログラムの更新をするので、適切な時期までにプログラムの更新が行われる。また、早急なプログラムの更新、データの配布などにも対応可能となる。
【００１８】
また、請求項６では、請求項２〜５いずれか記載のプログラム配信システムにおいて、前記クライアントコンピュータでは、クライアントコンピュータ毎にクライアントプログラムを前記更新プログラムで更新する優先順位を決め、前記プログラム受信手段では、上記優先順位に基づいて更新プログラムを前記サーバコンピュータから受信することを特徴とする。
【００１９】
上記構成では、各クライアントコンピュータにおいてクライアントプログラムを更新する優先順位を設定し、優先順位に従って更新プログラムを受信するので、適切な時期にクライアントコンピュータのプログラムの更新が行われる。
【００２０】
また、請求項７では、請求項１〜５いずれか記載のプログラム配信システムにおいて、前記クライアントコンピュータでは、クライアントコンピュータ毎にクライアントプログラムを前記更新プログラムで更新する優先順位を決め、前記プログラム更新手段では、上記優先順位に基づいてクライアントプログラムを更新することを特徴とする。
【００２１】
上記構成では、クライアントコンピュータ毎にクライアントプログラムを更新する優先順位を設定し、優先順位に従ってクライアントプログラムの更新をするので、適切な時期にクライアントコンピュータのプログラムの更新が行われる。
【００２２】
また、請求項８では、請求項６または７記載のプログラム配信システムにおいて、前記優先順位は、更新するクライアントプログラムの使用頻度に基づいて優先順位を設定することを特徴とする。
【００２３】
上記構成では、クライアントプログラムの使用頻度が高いものほど優先的に更新される。
【００２４】
また、請求項９では、請求項６〜８いずれか記載のプログラム配信システムにおいて、前記クライアントコンピュータで長時間更新されないクライアントプログラムの優先順位を上げることを特徴とする。
【００２５】
上記の構成では、特定のプログラムが長時間更新されないのを防ぐことができる。
【００２６】
また、請求項１０では、請求項１〜９いずれか記載のプログラム配信システムにおいて、前記プログラム更新手段では、同時に更新しなければならないクライアントプログラムに該当する前記更新プログラムを管理し、上記同時に更新しなければならないクライアントプログラムを該当する前記更新プログラムで一斉に更新することを特徴とする。
【００２７】
上記の構成では、同時に更新されなければならないプログラムを管理して、更新するクライアントプログラム間で不整合が起こらないようにするとともに、緊急時（ウイルス障害、システム障害等）のプログラム、データ等の一斉更新及び一斉対処が可能となる。
【００２８】
【発明の実施の形態】
図に基づき、本発明に係るプログラム配信システムの実施の形態を説明する。
【００２９】
プログラム配信システム１は、図１に示すように、サーバコンピュータ２とクライアントコンピュータ３とネットワーク４とで概略構成される。サーバコンピュータ２には、クライアントコンピュータ用の更新プログラム２１が記憶され、クライアントコンピュータ３では、ネットワーク４の負荷をみてサーバコンピュータ２から更新プログラム２１を受信して、ジョブやプロセスの状態からクライアントプログラムの更新が可能かを判断してクライアントプログラムの更新を行うものである。
【００３０】
ここで、クライアントプログラムとは、アプリケーションプログラム、ライブラリプログラム、システムプログラムやデータファイルやアイコンファイル などのデータやリソースファイルも含み、クライアントコンピュータのメモリ上にロードされて起動されるプログラム及びそれが使用するリソースである。
また、プロセスとは、プログラムを起動する単位であり、プログラムを主記憶上にロードし、オブジェクトモジュールや、ライブラリプログラムの入出力が準備されて起動された状態のものである。プロセスには、プロセスの一部（スレッド）や複数のプロセスの集合（タスク）なども含む。ジョブは、業務処理などを行うためにどのアプリケーションプログラムをどのような順番で起動するかなどまとまった処理の単位を指すものである。
【００３１】
サーバコンピュータ２は通信機能やハードディスク装置などの補助記憶装置を備え、プログラムなどのファイルを管理する機能を備えたものである。また、クライアントコンピュータ３は通信機能や制御部などを備え、様々なアプリケーションや業務処理の起動が可能なもので、パソコンや携帯型の端末でもよい。さらに、ネットワーク４は、ＬＡＮ、ＷＡＮ等のネットワークをはじめ、インターネットやイントラネット等も利用することが可能である。
【００３２】
図２に示すように、サーバコンピュータ２は、クライアントコンピュータ３の更新プログラム２１を記憶する配信プログラム記憶手段２２とクライアントコンピュータ３に更新プログラム２１を送信するためのプログラム配信手段２３とを備えている。
【００３３】
また、配信プログラム記憶手段２２には、クライアントコンピュータ３へ配信する更新プログラム２１を管理する更新情報一覧２４を記憶している。更新情報一覧２４は、図３に示すように、更新プログラムのファイル名２４１、同一タイミングで更新する必要のあるファイルの一群を管理するグループ名２４２、適用期限２４３、リビジョン２４４等が記録されている。
【００３４】
さらに、プログラム配信手段２３では、更新情報一覧２４をクライアントコンピュータ３に送信し、さらに、更新情報一覧２４に基づいてクライアントコンピュータ３から更新プログラム２１の送信要求があると、更新プログラム２１を該当するクライアントコンピュータ３に送信する。
【００３５】
また、クライアントコンピュータ３には、様々な業務処理を行うためにクライアントプログラム３０が記憶され、クライアントプログラム３０を起動する業務処理手段３１と、クライアントコンピュータ３のジョブやプロセスの状態に基づいて、クライアントプログラムの状態を監視するプログラム監視手段３２と、ネットワーク４のネットワーク負荷を監視するネットワーク監視手段３３と、ネットワーク負荷をみてサーバコンピュータ２から更新プログラム２１を受信するプログラム受信手段３４と、受信した更新プログラム２１を記憶する更新プログラム記憶手段３５と、クライアントプログラム３０が起動中であるかやクライアントプログラム３０の起動予定をみてプログラムが更新可能であるかを判断して、更新プログラム２１でクライアントプログラム３０を更新するプログラム更新手段３６などで構成される。
【００３６】
業務処理手段３１は業務処理など行うために、アプリケーションプログラムなどのクライアントプログラム３０を起動する手順を記憶した定義情報３１０に従って、ジョブを実行する機能を備える。
【００３７】
ここでは、プログラム監視手段３２、ネットワーク監視手段３３、プログラム受信手段３４、プログラム更新手段３６は、独立したプロセスとして実行され、相互にメッセージのやり取りを行うことにより、他のプロセスと情報の授受を行う場合について以下説明をする。
【００３８】
プログラム監視手段３２は、図４に示すように、プログラム更新手段３６などの他のプロセスから送信される情報提供依頼のメッセージを受信すると、ＯＳのプロセス一覧やジョブ制御を行っているプロセスが持つジョブ情報（ファイル）、または直接ジョブ制御プロセスに問い合わせを出し回答をもらうなどして起動されている現在のジョブ情報を取得したり、定義情報３１０から得られるクライアントプログラム３０が起動される順番（タイムスケジュール等）などから、起動中のジョブやプロセスや近時中に起動されるジョブやプロセスなどの情報を監視情報３２０として依頼元に通知する。
【００３９】
ネットワーク監視手段３３は、図５に示すように、随時、ネットワーク４の負荷を監視し、ネットワークの負荷情報３３１を負荷情報記憶部３３０に記憶していく機能を備える。例えば、イーサネット（登録商標）を利用したＬＡＮ接続の場合には、常に自分に宛てたパケット以外のパケットの全てネットワーク上を流れてくるので常時その通過するパケットをチェックしその負荷情報３３１を負荷情報記憶部３３０に記憶してネットワーク４の負荷を把握する。あるいは、ＰＩＮＧコマンドによるサーバコンピュータ２とクライアントコンピュータ３のパケット通信応答時間を見てネットワーク４の負荷を把握することもでき、その他には、他のセグメントにプローブ（センサ）を設置し、そこから別セグメントの負荷情報を提供してもらうように構成しても良い。また、他のプロセスから情報提供依頼メッセージがあると、ネットワーク負荷情報３３１を依頼元に通知する機能を備える。
【００４０】
プログラム受信手段３４は、サーバコンピュータ２から更新情報一覧２４を受信し、ネットワーク監視手段３３にネットワークの負荷情報３３０の情報提供を要求して、ネットワークの負荷情報３３１や更新情報一覧２４などに基づき、更新プログラム２１をサーバコンピュータ２より受信（以降、ダウンロードとする）するか否かの判断をする機能を備える。
【００４１】
また、クライアントプログラム３０を更新する優先順位を各クライアントコンピュータ３の条件に応じて、図６に示すように、優先順位情報３４０を設定し、この優先順位情報３４０を加味して更新プログラム２１をサーバコンピュータ２よりダウンロードするか否かの判断をするようにしても良い。この優先順位は、例えば、クライアントプログラム３０が起動された回数を記憶するようにして、更新対象のクライアントプログラム３０の使用頻度が高いものほど高くするというように、使用頻度で優先順位を設定する。あるいは、クライアントプログラム３０の重要度などで優先順位を設定しても良い。その他、更新期限の一番近い順に優先順位をつけたり、ファイルサイズが大きくてダウンロードに時間のかかるものを先に行う、または逆にファイルサイズの小さいものからダウンロードするといった優先順位をつけても良い。さらに、いつまでもダウンロードされないのを防ぐために、ダウンロードされなかったクライアントプログラム３０の優先順位を適宜上げるようにしてもよい。
【００４２】
あるいは、クライアントコンピュータのＣＰＵ使用量や補助記憶装置入出力量を監視してＣＰＵの使用量又は補助記憶装置入出力量が規定値以下である場合に更新プログラム２１のダウンロードを行うようにすることもできる。
【００４３】
プログラム更新手段３６は、監視情報３２０を取得するためにプログラム監視手段３２に情報提供要求依頼をし、この監視情報３２０に含まれる起動中のジョブやプロセス、あるいは、近時中に起動されるジョブやプロセスなどの情報から、クライアントプログラム３０が実行中であるかや近時中に実行する予定があるかなどから、クライアントプログラム３０が更新可能な状態であるかを把握する。さらに、サーバコンピュータ２から受信した更新情報一覧２４とから、どのクライアントプログラム３０から更新するかを判断して、更新プログラム記憶手段３５に記憶している更新プログラム２１でクライアントプログラム３０を更新する機能を備える。このとき、更新するクライアントプログラム３０を起動するジョブを排他ロックして更新を行う。
【００４４】
また、新たな更新プログラム２１があるかをサーバコンピュータ２に問い合わせたり、クライアントコンピュータ３内の他のプロセスからの更新の依頼を受けて更新する機能をも備える。例えば、サーバコンピュータ２に適宜接続して、新たな更新プログラム２１があるかを、ポーリングで問い合わせて更新をする。あるいは、タイマーで定期的に新たな更新プログラム２１があるかを問い合わせて更新をする。
【００４５】
さらに、クライアントコンピュータ３内の他のプロセスからクライアントプログラム３０の更新の依頼をプロセス間通信などで受け取ると、監視情報３２０や更新情報一覧２４に基づき更新が可能であるかを判断して更新する。例えば、更新可能（推奨）状態としてジョブ制御プロセスからジョブがアイドリング状態（昼休み等でユーザが操作してない状態）に通知を受け、更新を行う場合がある。
【００４６】
また、更新プログラム２１が予めダウンロードされていない場合には、サーバコンピュータ２から更新プログラム２１をダウンロードして更新を行うようにしても良い。さらに、更新時には、更新情報一覧２４の適用期限２４３や、優先順位情報３４０に基づいて更新していくようにすることが望ましい。
【００４７】
ここで、プログラム配信システム１の各機能の動作について図７〜図１０のフローチャートを用いて説明する。
【００４８】
まず、図７のフローチャートを用いて、プログラム監視手段３２の動作について説明する。
【００４９】
プログラム監視手段３２のプロセスが起動されると、まず、他のプロセスから情報提供依頼を受け取るまで待ち状態を保持する（Ｓ３００）。他のプロセスから情報提供依頼のメッセージを受け取ると（Ｓ３０１）、現在動作中のプロセスを調べる（Ｓ３０２）。さらに、定義情報３１０から現在のジョブの状態を取得する（Ｓ３０３）。動作中のプロセスとジョブの状態から、近時中に動作すると思われるジョブとプロセスの監視情報３２０を作成し（Ｓ３０４）、情報提供依頼元に監視情報３２０を通知して（Ｓ３０５）、再度、情報提供依頼待ちの状態に戻る（Ｓ３００）。
【００５０】
図８のフローチャートを用いて、ネットワーク監視手段３３の動作について説明する。
【００５１】
ネットワーク監視手段３３のプロセスは、起動直後から常時ネットワークの負荷割合を計測し、負荷情報記憶部３３０に負荷情報３３１を記憶する（Ｓ３１０）。他のプロセスから情報提供依頼のメッセージがあるかをみて（Ｓ３１１）、情報提供依頼があれば（Ｓ３１２）、負荷情報記憶部３３０に記憶している負荷情報３３１を情報提供依頼元へ通知し（Ｓ３１３）、再度、ネットワークの負荷割合を計測に戻る（Ｓ３１０）。
【００５２】
図９のフローチャートを用いて、プログラム受信手段３４の動作について説明する。
【００５３】
プログラム受信手段３４のプロセスは、起動直後にサーバコンピュータ２から更新情報一覧２４を取得し更新一覧記憶情報３４１に記録する（Ｓ３２０）。そこで、クライアントコンピュータ３のクライアントプログラム３０を更新する更新プログラム２１が存在しない場合には（Ｓ３２１）、一時的に休止した後、更新情報一覧２４の取得を行う（Ｓ３２０）。  更新プログラム２１が存在する場合には（Ｓ３２１）、クライアントプログラム３０の使用頻度などを参照にして更新プログラム２１をダウンロードする優先度を付加する（Ｓ３２２）。
【００５４】
そこで、ネットワーク監視手段３３に情報提供依頼のメッセージを通知して（Ｓ３２３）、負荷情報３３１を取得する（Ｓ３２４）。負荷情報３３１と更新情報一覧２４の適用期限２４３などを考慮して、更新プログラム２１のダウンロードを行うか否かの判定を行う（Ｓ３２５）。
【００５５】
ダウンロードを行うのに適切なタイミングであれば（Ｓ３２６）、更新プログラム２１をサーバコンピュータ２からダウンロードして、更新プログラム記憶手段３５に記憶する。ダウンロードが終わると、再度、始めの状態に戻り更新プログラム２１が有るかを確認する（Ｓ３２７）。ダウンロードを行わなかったときには、始めの状態に戻り更新プログラム２１が有るかを確認する（Ｓ３２０）。また、更新一覧記憶情報３４１には、更新プログラムがダウンロード済みであるかが記録される。
【００５６】
以上説明したように、ネットワークの負荷を監視して更新プログラムのダウンロードを行うのでネットワークの負荷を分散することができ、さらに、クライアントコンピュータのダウンロード時の負荷も軽減することができる。
【００５７】
図１０と図１１のフローチャートを用いて、プログラム更新手段３６の動作について説明する。
【００５８】
プログラム更新手段３６のプロセスは、起動直後（システム起動直後）に更新一覧記憶情報３４１をもとに更新プログラム２１の有り無しを確認し、適用期限２４３が来ているクライアントプログラム３０は、業務処理を開始する前に全て強制的に更新する（Ｓ３３０）。また、更新プログラム２１がダウンロードされていない場合には、プログラム受信手段３４に更新プログラム２１のダウンロードを依頼してクライアントプログラム３０を更新する。
【００５９】
次に、サーバコンピュータ２に新たな更新プログラム２１の更新依頼があるかプログラム受信手段３４がサーバコンピュータ２に確認する（Ｓ３３１）。あるいは、他のプロセスからの更新依頼、例えば、プロセスが混雑していたときやＬＡＮが混雑していたとき（フリーズや電源ダウン等）に、そのままプログラム更新が放置されるのを防ぐために、プロセスにメッセージを投げて、プロセスの正常の有無の確認やプログラム更新のダミーの依頼を出して、更新依頼があるかを確認して（Ｓ３３２）、更新する依頼があれば（Ｓ３３３）、更新一覧記憶情報３４１に追加する（Ｓ３３４）。
【００６０】
そこで、更新一覧記憶情報３４１を参照して、更新プログラム２１がない場合には（Ｓ３３５）、更新依頼確認の状態に戻る（Ｓ３３１）。更新プログラム２１がある場合には（Ｓ３３５）、プログラム監視手段３２に情報提供を依頼して（Ｓ３３６）、監視情報３２０を取得する（Ｓ３３７）。そこで、監視情報３２０からクライアントプログラム３０単位に更新の出来る状態であるか否かを判断し（Ｓ３３８）、更新可能なときには（Ｓ３３９）、更新するクライアントプログラム３０に関連するジョブを排他ロックして（Ｓ３４０）、更新する（Ｓ３４１）。更新する際には、同一タイミングで更新する必要のあるファイルの一群のグループ２４２を全て更新する。
【００６１】
更新がおわると、排他ロックを解除して（Ｓ３４２）、例えば、図１２に示すように、更新一覧記憶情報３４１から更新した更新プログラム（図１２の例ではabc）のデータを削除して、更新依頼確認の状態に戻る（Ｓ３３１）。また、プログラム更新手段３６は、プログラム受信手段３４と同様に、適用期限２４３、優先順位情報３４０等に従いプログラム更新を行う。
【００６２】
以上、説明したようにクライアントプログラムの更新を業務処理など実行しているクライアントプログラムの妨げとなることがないように、更新することができる。
【００６３】
以上、更新プログラムの更新情報一覧の受信や、各クライアントコンピュータのプログラムを更新する優先順位の設定をプログラム受信手段で行うように説明したが、クライアントコンピュータの起動直後など、更新プログラムのダウンロードの前に行われれば良い。あるいは、予め、取り決めて設定するようにしても良い。
【００６４】
【発明の効果】
以上詳細に説明したように、プロセスやジョブを管理してプログラムの更新を行うため、業務処理を妨げることがない。
【００６５】
また、クライアントコンピュータの空き時間にプログラムのダウンロードをするので、同じ時間帯にダウンロードが集中することがなくネットワークの負荷を分散することができる。さらに、ネットワークの負荷をみてダウンロードするためクライアントコンピュータのダウンロード負荷も軽減することができる。
【００６６】
また、適用期限や優先順位をみて、必要な時期までに必ず更新することが出来るので、システム全体の整合性が保てる。
【００６７】
さらに、関連するプログラムを同時に更新するように管理することで、整合性を保つようにプログラムの更新ができる。
【００６８】
さらに、プログラムを配布する側が時間やクライアント側の動作業務を気にすることなく配布指示を事前に出すことが出来る。
【図面の簡単な説明】
【図１】プログラム配信システムの概略図である。
【図２】プログラム配信システムのブロック図である。
【図３】更新情報一覧の一例である。
【図４】プログラム監視手段を説明するための図である。
【図５】ネットワークの負荷の監視を説明するための図である。
【図６】優先順位情報の一例である。
【図７】プログラム監視手段の動作を説明するためのフローチャートである。
【図８】ネットワーク監視手段の動作を説明するためのフローチャートである。
【図９】プログラム受信手段の動作を説明するためのフローチャートである。
【図１０】プログラム更新手段の動作を説明するためのフローチャートである（その１）。
【図１１】プログラム更新手段の動作を説明するためのフローチャートである（その２）。
【図１２】プログラムの更新と更新情報一覧の変更を説明するための図である。
【符号の説明】
１  プログラム配信システム
２  サーバコンピュータ
３  クライアントコンピュータ
４  ネットワーク
２１  更新プログラム
２２  配信プログラム記憶手段
２３  プログラム配信手段
２４  更新情報一覧
３０  クライアントプログラム
３１  業務処理手段
３２  プログラム監視手段
３３  ネットワーク監視手段
３４  プログラム受信手段
３５  更新プログラム記憶手段
３６  プログラム更新手段
２４１  ファイル名
２４２  グループ名
２４３  適用期限
２４４  リビジョン
３１０  定義情報
３２０  監視情報
３３０  負荷情報記憶部
３３１  負荷情報
３４０  優先順位情報
３４１  更新一覧記憶情報
【図１】
2004206260.tif 000003
【図２】
2004206260.tif 000004
【図３】
2004206260.tif 000005
【図４】
2004206260.tif 000006
【図５】
2004206260.tif 000007
【図６】
2004206260.tif 000008
【図７】
2004206260.tif 000009
【図８】
2004206260.tif 000010
【図９】
2004206260.tif 000011
【図１０】
2004206260.tif 000012
【図１１】
2004206260.tif 000013
【図１２】
2004206260.tif 000014