(57)【要約】      （修正有）【課題】サーバへのアクセス集中によるダウンロード時間の増加を防ぐ。【解決手段】クライアントにダウンロードさせるプログラムまたはデータを登録する登録検知手段１４と、自動または手動により前記クライアントへダウンロードさせる指示を行うダウンロード指示手段１７とを備え、サーバ１からの指示により、前記クライアント上のプログラムの更新、または前記クライアント上で設定可能な各種設定情報の更新を行う。【選択図】図２
2006344115.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のクライアントと接続可能なサーバにおいて、前記クライアントにダウンロードさせるプログラムまたはデータを登録する登録手段と、前記クライアントへダウンロードさせる指示を行うダウンロード指示手段を備え、前記サーバからの指示により、前記クライアント上のプログラムまたはデータの更新ができることを特徴としたサーバ。
【請求項２】
前記サーバから指示を出した１台以上のクライアントがプログラムまたはデータをダウンロード完了後に、別のクライアントにダウンロードの指示を出すダウンロード完了判定手段を備えた請求項１記載のサーバ。
【請求項３】
前記サーバから同時にダウンロードの指示を出すクライアント数を設定する同時接続数設定手段を備えた請求項２記載のサーバ。
【請求項４】
前記同時接続数設定手段で設定する設定値は、前記クライアントにダウンロードさせるデータサイズによって設定することを特徴とした請求項３記載のサーバ。
【請求項５】
タイマー手段を備え、前記サーバからダウンロードの指示を出した１台以上のクライアントで、プログラムまたはデータのダウンロードに指定時間内に完了しない場合に、別のクライアントにダウンロードの指示を出すことを特徴とした請求項２〜４のいずれか１項に記載のサーバ。
【請求項６】
前記タイマー手段でプログラムまたはデータのダウンロードを完了できなかったクライアントに対して、再度ダウンロードの指示を出すことを特徴とした請求項５記載のサーバ。
【請求項７】
クライアントにダウンロードさせるデータサイズを取得するデータサイズ取得手順と、前記データサイズからクライアントへ同時にダウンロードの指示を出すクライアント数を算出する同時接続数設定手順と、ダウンロードさせる指示を行うダウンロード指示手順と、指示を出した１台以上のクライアントでプログラムまたはデータのダウンロードに指定時間内に完了しない場合に別のクライアントに指示を出すタイマー手順と、前記タイマー手順でプログラムまたはデータのダウンロードを完了できなかったクライアントに対して、再度ダウンロードの指示を出す再指令手順を備えたサーバの情報処理方法。
【請求項８】
請求項１〜６のいずれか１項記載のサーバの手段の少なくとも一部をコンピュータにて実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、クライアントで構成されるシステムにおいて、クライアント上のプログラム及びデータの更新に関するサーバ、サーバの情報処理方法及びプログラムである。
【背景技術】
【０００２】
従来、この種のシステムとしては、例えば、クライアントは事前に分散情報が含まれた制御情報を取得して、プリンタドライバをダウンロードするというものがあった（特許文献１参照）。
【０００３】
特許文献１のような分散を設けなければ、クライアントからサーバに同時アクセスすることとなり、サーバの負荷が増大し、さらにサーバと接続されるネットワークのトラフィックも増大することで、クライアントはダウンロードに要する時間が延び、クライアントを利用するユーザに迷惑をかける。
【０００４】
図６は、特許文献１に記載された従来のクライアントサーバシステムのシステム概略構成図である。
【０００５】
図６に示すように、管理システム１０４は、サーバ１０１にアクセスし、プリンタドライバなどの更新データがあればダウンロードを行う。クライアント１０３は、プリンタドライバなどデータの更新をしたければ、管理システム１０４に要求を出し最新のデータをダウンロードする。
【０００６】
管理システム１０４は、サーバの負荷が大きい時に、サーバ１０１にアクセスすれば、プリンタドライバなどの更新データのダウンロードに非常に時間を要したり、取得失敗したりしてしまうことがある。
【０００７】
そこで、管理システム１０４は、サーバ１０１の負荷が高い時間を避けてサーバ１０１へアクセスを行う。
【０００８】
具体的には、管理システム１０４は、サーバ１０１から制御情報を取得して、その内容を解析し、アクセス分散情報があれば、動作設定情報を変更する。そのアクセス分散情報が含まれた動作設定情報の時刻をもとに定期的に、管理システム１０４はサーバ１０１へアクセスを行うというものである。
【０００９】
なお、アクセス分散情報とは、サーバ１０１へのアクセスの集中などによってサーバ１０１の負荷が高くなる傾向にあるタイミングのアクセスを他のタイミングにずらすための情報であり、サーバ１０１の負荷は時系列で調査できるので、負荷が高くなる傾向にあるタイミングを予測することが可能である。
【特許文献１】特開２００２−３０４３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記従来の構成では、管理システムが複数ある場合、管理システム毎にアクセス時刻を設定しないとサーバの負荷が低くても複数の管理システムから同時アクセスがあるとサーバやネットワークに負荷集中してしまう。
【００１１】
本発明は、前記従来の課題を解決するもので、クライアントと定期的な処理をする場合、クライアント側にアクセス分散値を設定してクライアントからアクセスするトリガを行うのではなく、サーバ側からクライアントにアクセスするトリガをかけるというものである。
【００１２】
また、サーバの性能を最大限に活用するため前記クライアントの同時接続数を指定することによりシステムの負荷軽減を図り、全てのクライアントにダウンロードを完了させるまでの時間を短く効率的に行うことを目的とする。
【００１３】
効率的にダウンロードをさせることにより、全クライアントにサーバのデータを同時配信したい場合、予め分散値をクライアント側に持たすよりも時差が少なくすむ。
【課題を解決するための手段】
【００１４】
前記従来の課題を解決するために、本発明のサーバは、ネットワークを介して複数のクライアントと接続可能なサーバにおいて、前記クライアントにダウンロードさせるプログラムまたはデータを登録する登録手段と、前記クライアントへダウンロードさせる指示を行うダウンロード指示手段を備え、前記サーバからの指示により、前記クライアント上のプログラムまたはデータの更新ができることを特徴としたサーバである。
【発明の効果】
【００１５】
本発明のサーバ、サーバの情報処理方法及びプログラムは、サーバ側で、クライアントへのダウンロード指示ができるため、クライアントから同時アクセスされてしまうというシステムの負荷分散を図ることができ、クライアント毎のダウンロードが完了する時間差が少なく、効率的に全てのクライアントにダウンロードを完了させることができる。
【００１６】
特に、サーバ処理性能が高くない場合や、ネットワーク性能が低速な場合に、本発明は絶大に効果を発揮する。
【発明を実施するための最良の形態】
【００１７】
第１の発明は、ネットワークを介して複数のクライアントと接続可能なサーバにおいて、前記クライアントにダウンロードさせるプログラムまたはデータを登録する登録手段と、前記クライアントへダウンロードさせる指示を行うダウンロード指示手段を備え、前記サーバからの指示により、前記クライアント上のプログラムまたはデータの更新ができることを特徴としたサーバである。
【００１８】
そして、サーバからの指示によりクライアントへプログラムまたはデータをダウンロードさせることができるため、クライアントから同時アクセスが集中することがないのでシステムの負荷分散を図ることができる。
【００１９】
第２の発明は、特に、第１の発明のサーバにおいて、前記サーバから指示を出した１台以上のクライアントがプログラムまたはデータをダウンロード完了後に、別のクライアントにダウンロードの指示を出すダウンロード完了判定手段を備えたものである。
【００２０】
そして、クライアント１台あたりのダウンロードに要する時間を短く効率的に行うことができる。
【００２１】
第３の発明は、特に、第２の発明のサーバにおいて、前記サーバから同時にダウンロードの指示を出すクライアント数を設定する同時接続数設定手段を備えることにより、クライアント１台あたりのダウンロードに要する時間を短く、さらに効率的に行うことができる。
【００２２】
第４の発明は、特に、第３の発明のサーバにおいて、前記同時接続数設定手段で設定する設定値は、前記クライアントにダウンロードさせるデータサイズによって設定することを特徴としたものであり、データサイズに応じて効率的に各クライアントへダウンロードをさせることができる。
【００２３】
第５の発明は、特に、第２〜４のいずれかの発明のサーバにおいて、タイマー手段を備え、前記サーバからダウンロードの指示を出した１台以上のクライアントで、プログラムまたはデータのダウンロードに指定時間内に完了しない場合に、別のクライアントにダウンロードの指示を出すことを特徴としたものであり、ネットワークあるいはクライアントが過負荷状態や障害発生などでダウンロードが正常にできなかったと判断し、次のクライアントへの指示を出すのでダウンロード完了待ち状態が続く非効率な状態を回避することができる。
【００２４】
第６の発明は、特に、第５の発明のサーバにおいて、前記タイマー手段でプログラムまたはデータのダウンロードを完了できなかったクライアントに対して、再度ダウンロードの指示を出すことを特徴としたものであり、ダウンロード完了できなかったクライアントに対してリカバリーすることができる。
【００２５】
第７の発明は、クライアントにダウンロードさせるデータサイズを取得するデータサイズ取得手順と、前記データサイズからクライアントへ同時にダウンロードの指示を出すクライアント数を算出する同時接続数設定手順と、ダウンロードさせる指示を行うダウンロード指示手順と、指示を出した１台以上のクライアントでプログラムまたはデータのダウンロードに指定時間内に完了しない場合に別のクライアントに指示を出すタイマー手順と、タイマー手順でプログラムまたはデータのダウンロードを完了できなかったクライアントに対して、再度ダウンロードの指示を出す再指令手順を備えたサーバの情報処理方法である。
【００２６】
そして、サーバからの指示によりクライアントへプログラムまたはデータをダウンロードさせることができるため、クライアントから同時アクセスが集中することがないのでシステムの負荷分散を図ることができる。
【００２７】
また、データサイズに応じて効率的に各クライアントへダウンロードをさせることができる。
【００２８】
また、ネットワークあるいはクライアントが過負荷状態や障害発生などでダウンロードが正常にできなかったとしても、次のクライアントへの指示を出すのでダウンロード完了待ち状態が続く非効率な状態を回避することができる。また、ダウンロード完了できなかったクライアントに対しては再度指示を出すので、リカバリーすることができる。
【００２９】
第８の発明は、特に、第１〜６のいずれか１つの発明のサーバの手段の少なくとも一部をコンピュータに実現させるためのプログラム。そして、プログラムであるので電気・情報機器、コンピュータ等のハードリソースを協働させて本発明のサーバーの少なくとも一部を容易に実現することができる。また記録媒体に記録したり通信回線を用いてプログラムを配信したりすることでプログラムの配布やインストール作業が簡単にできる。
【００３０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、この実施の形態によって本発明が限定されるものではない。
【００３１】
（実施の形態１）
図１は、本発明の第１の実施の形態におけるクライアントとサーバのシステムのシステム構成図、図２は、本発明の第１の実施の形態におけるサーバのブロック図を示すものである。
【００３２】
図１において、サーバ１は、インターネット網２を介して、複数のクライアント３（３ａ、３ｂ、３ｃ）と通信が可能である。また、図１では、クライアント３（３ａ、３ｂ、３ｃ）は、家屋（４ａ、４ｂ、４ｃ）毎に１台配置しているが、各家屋の設置数を限定しているわけではない。
【００３３】
ここでは、クライアント３は表示が可能な情報端末装置で、インターネットに常時接続されている環境と想定するが、パソコンなどの表示装置であれば構わない。
【００３４】
主なサービスとしては、ユーザーはクライアント３を操作して、サーバ１に用意されたニュース、天気予報、地域情報、食情報などのサービス情報を閲覧したり、サーバ１からクライアント３のプログラムや設定情報のアップデートを行うことができる。
【００３５】
なお、図示しないが、サーバ１やクライアント３は、お互いに宅内の上位通信装置（ＡＤＳＬルータ、ＣＡＴＶモデム、光ファイバーの回線終端装置、メディアコンバータ、ホームＰＮＡ装置、ゲートウェイ、ルータ、スイッチングハブなど）と接続し、インターネット網２に接続することになる。
【００３６】
図２において、運用管理端末１１は、インターネット網２を介してサーバ１にアクセスし、サービス情報やクライアント３のアップデート用のプログラムやデータをアップロードしたり、契約顧客の顧客登録をすることができる。なお、サーバ１へアクセスするには運用管理端末１１の画面から管理者用ＩＤ、パスワード入力による認証や、ＩＰアドレスの登録による認証などによりセキュリティを確保している。
【００３７】
サーバ１は、送受信部１２により、通信ネットワーク機能が実現される。制御手段２０は、受信した入力した情報やデータを演算処理したり、制御信号、データの生成や送出を行い、運用管理端末１１から登録手段２１を介して登録された情報は、データベース１３で管理される。登録手段２１は、運用管理端末１１からの操作により、クライアントにダウンロードさせるための更新されたデータやプログラムをデータベース１３へ格納することができる。
【００３８】
登録検知手段１４は、データベース１３が運用管理端末１１によって更新されたことを検知して、顧客情報のリストと、クライアント３へプログラムやデータをダウンロードさせる開始時刻を確認する。開始時刻になれば、データサイズ取得手段１５でダウンロードさせるプログラムまたはデータのデータサイズをチェックし、そのデータサイズに応じて、接続数設定手段１６において、同時にダウンロード指示を出す同時接続数を算出し、接続数設定手段１６は、ダウンロード指示手段１７にダウンロード指示を出す。詳細については後述する。
【００３９】
ダウンロード指示手段１７は、ダウンロード指示を受けるとタイマー手段１８に信号を出力し、データベース１３に登録された顧客に対して、接続数設定手段１６で算出された同時接続数台のクライアントにダウンロード要求を出す。
【００４０】
ダウンロード要求を受けたクライアント３は、データベース１３に登録されたプログラムやデータをダウンロードする。ダウンロード完了判定手段１９は、接続数設定手段１６とダウンロード指示手段１７とでダウンロード要求を出したクライアントが全てダウンロードを完了したかどうかを判定する。全てダウンロード完了しない場合は、タイマー手段
１８により強制的に完了と判断させることができる。
【００４１】
以上のような構成において、以下、具体例としてクライアント数が１００台としてプログラムをダウンロードさせるときの動作を説明する。
【００４２】
図３は、サーバからクライアントにプログラムまたはデータをダウンロードさせる場合の動作を示すフローチャート、図４は、データサイズと同時接続数を関連付けた管理テーブル、図５は、ダウンロード完了状況を管理する管理テーブルを示す図である。
【００４３】
図３において、たとえば、データサイズが８００ｋＢのアップデート用プログラムを運用管理端末１１からサーバ１のデータベース１３に登録したとする。
【００４４】
登録検知手段１４によりデータベース１３に登録されたことを検知すると（Ｓ５１）、登録された情報を確認する（Ｓ５２）。この確認では、登録された情報が何であるか、クライアントに配信が必要であれば、配信を開始する開始時刻はいつなのかをチェックする。
【００４５】
チェックの結果、クライアントに配信が必要なプログラムであり、配信の開始時刻になると（Ｓ５３）、データサイズ取得手段１５により、プログラムのデータサイズを取得する（Ｓ５４）。
【００４６】
続いて、接続数設定手段１６より、取得したデータサイズから同時にダウンロード指示を出す同時接続数を算出する（Ｓ５５）。算出方法は、例えば、図４に示すようなテーブルリストに対応させて抽出する。本実施の形態では、データサイズは８００ｋＢなので同時接続数は５台ということになる。勿論、同時接続数は、「データサイズ×同時接続数＝一定値」というような式を用いて算出する方法でも構わない。つまり、データサイズに応じて同時接続数が変えれるところがポイントである。
【００４７】
なお、同時にダウンロード指示を出す同時接続数といったが、インターネット網２に出力する回線は１回線で実現されることが多いので、厳密には非常に短い時間ずれて各クライアントへダウンロード指示が出されることになる。
【００４８】
次に、ダウンロード指示手段１７により、同時接続数のクライアント５台に対して、ダウンロード指示を出し（Ｓ５６）、ダウンロード完了までのタイムアウトＴ１を計測するためタイマーをスタートさせる（Ｓ５７）。なお、Ｔ１は、データサイズによって可変し、「データサイズ×Ｋ（係数）＝Ｔ１」で算出する。
【００４９】
本実施の形態では、Ｋ（係数）＝０．０７５とし、８００ｋＢのダウンロードでは、６０ｓｅｃを設定することとした。なお、Ｋ（係数）はサーバ性能やネットワーク性能等を考慮し決めていく。もちろんこの値は一例であって本発明を限定するものではない。
【００５０】
なお、クライント５台は、例えば、データベース１３から各クライアントを特定できる顧客ＩＤを抽出し、そのクライアントのＩＰアドレスと対応させた図５に示すようなリストで昇順に選択し、ダウンロード指示を出していく。具体的には、最初は、顧客ＩＤが０００００００１〜０００００００５までのクライアントに対してダウンロード指示が出される。
【００５１】
そして、各クライアントが所望のデータをダウンロード完了すると（Ｓ５８）、図５のダウンロード完了欄に完了チェックを入れる。
【００５２】
５台全てがダウンロード完了すると、タイマーをクリアし（Ｓ５９）、顧客ＩＤが０００００００６〜００００００１０の５台に対してダウンロード指示を出す（Ｓ６１）。
【００５３】
なお、（Ｓ６１）の前には、全て（例えば図５では１００台）のダウンロードが完了したかどうかのチェックも行う（Ｓ６０）。
【００５４】
この動作を繰り返すことによって、１００台全数のクライアント３に所望のデータをダウンロードさせるようにする。
【００５５】
また、図５に示すように顧客ＩＤ０００００００３が所定時間Ｔ１内にダウンロード完了しなかった場合は（Ｓ６２）、タイマーをクリアし（Ｓ５９）、顧客ＩＤが０００００００６〜００００００１０の５台に対してダウンロード指示を出す（Ｓ６１）。
【００５６】
また、もし、顧客ＩＤ０００００００３がダウンロード完了しなかった場合は、０００００１００まで順番にダウンロード指示が出された後に、再度、ダウンロード指示を出し、リカバリーを試みることになる。
【００５７】
以上のように、本実施の形態においては、サーバからの指示によりクライアントへプログラムまたはデータをダウンロードさせることができるため、クライアントから同時アクセスが集中することがないのでシステムの負荷分散を図ることができる。
【００５８】
さらに、データサイズに応じて同時接続数を設定することにより、ダウンロードを効率的に行うことができる。
【００５９】
さらに、ネットワークあるいはクライアントが過負荷状態や障害発生などでダウンロードが正常にできなかったとしても、次のクライアントへの指示を出すのでダウンロード完了待ち状態が続く非効率な状態を回避することができる。また、ダウンロード完了できなかったクライアントに対しては再度指示を出すので、リカバリーすることができる。
【００６０】
なお、図５のダウンロード完了状況を管理する管理テーブルでは、顧客ＩＤとＩＰアドレスを用いたが、各クライアントを特定できる識別情報があり、ダウンロード要求指示を出せるのであれば、その識別情報で管理しても構わない。
【００６１】
また、ダウンロード完了しなかったクライアントに対して、全てのクライアントにダウンロード要求を出した後に、リトライするようにしたが、タイムアウト後にリトライするなど、リトライのタイミングは限定されているわけではなく、リトライ回数も自由に設定して構わない。
【００６２】
また、タイマー手段１８のタイムアウト時間Ｔ１は、データサイズによって可変し、８００ｋＢのダウンロードでは、６０ｓｅｃを設定することとしたが、データサイズの上限制限を設けたりすれば、固定値であってもよい。
【００６３】
また、サーバ処理性能が高くない場合や、ネットワーク性能が低速な場合に、本発明は効果を発揮する。
【００６４】
なお、本実施の形態で説明した手段は、ＣＰＵ（またはマイコン）、ＲＡＭ、ＲＯＭ、記憶・記録装置、Ｉ／Ｏなどを備えた電気・情報機器、コンピュータ、サーバー等のハードリソースを協働させるプログラムの形態で実施してもよい。プログラムの形態であれば、磁気メディアや光メディアなどの記録媒体に記録したりインターネットなどの通信回線を用いて配信することで新しい機能の配布・更新やそのインストール作業が簡単にできる
。
【産業上の利用可能性】
【００６５】
以上のように、本発明にかかるサーバ、サーバの情報処理方法及びプログラムは、クライアントに情報端末装置を使用したが、他の用途の機器（例えば家電機器や設備機器）であっても、クライアントと接続でき通信できるシステムであれば、同様の方法で実現できる。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施の形態におけるクライアントとサーバのシステム構成図
【図２】本発明の第１の実施の形態におけるサーバのブロック図
【図３】サーバからクライアントにプログラムまたはデータをダウンロードさせる場合の動作を示すフローチャート
【図４】データサイズと同時接続数を関連付けた管理テーブルを示す図
【図５】ダウンロード完了状況を管理する管理テーブルを示す図
【図６】従来のクライアントサーバシステムの概略構成図
【符号の説明】
【００６７】
１  サーバ
２  インターネット網
３ａ、３ｂ、３ｃ  家屋
４ａ、４ｂ、４ｃ  クライアント
５  情報端末装置
１１  運用管理端末
１２  送受信手段
１３  データベース
１４  登録検知手段
１５  データサイズ取得手段
１６  接続数設定手段（同時接続数設定手段）
１７  ダウンロード指示手段
１８  タイマー手段
１９  ダウンロード完了判定手段
２０  制御手段
２１  登録手段
【図１】
2006344115.tif 000003
【図２】
2006344115.tif 000004
【図３】
2006344115.tif 000005
【図４】
2006344115.tif 000006
【図５】
2006344115.tif 000007
【図６】
2006344115.tif 000008